ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggYmNjMDcwMi4uZDE0ZGZlNSAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsNCArMSw0IEBACi1UaGlzIGlzIHJlbGVhc2UgMjAwMDEyMjIgb2YgV2luZSwgYSBmcmVlIGltcGxlbWVudGF0aW9uIG9mIFdpbmRvd3Mgb24KK1RoaXMgaXMgcmVsZWFzZSAyMDAxMDExMiBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgogVW5peC4gIFRoaXMgaXMgc3RpbGwgYSBkZXZlbG9wZXJzIG9ubHkgcmVsZWFzZS4gIFRoZXJlIGFyZSBtYW55IGJ1Z3MKIGFuZCB1bmltcGxlbWVudGVkIGZlYXR1cmVzLiAgTW9zdCBhcHBsaWNhdGlvbnMgc3RpbGwgZG8gbm90IHdvcmsKIGNvcnJlY3RseS4KQEAgLTYsMTEgKzYsMTEgQEAKIFBhdGNoZXMgc2hvdWxkIGJlIHN1Ym1pdHRlZCB0byAid2luZS1wYXRjaGVzQHdpbmVocS5jb20iLiAgUGxlYXNlIGRvbid0CiBmb3JnZXQgdG8gaW5jbHVkZSBhIENoYW5nZUxvZyBlbnRyeS4KIAotV0hBVCdTIE5FVyB3aXRoIFdpbmUtMjAwMDEyMjI6IChzZWUgQ2hhbmdlTG9nIGZvciBkZXRhaWxzKQotCS0gU2V2ZXJhbCBESUIgYml0Ymx0IG9wdGltaXphdGlvbnMuCi0JLSBOZXcgY29uZmlndXJhdGlvbiBmaWxlIGZvcm1hdCBhbmQgbG9jYXRpb24uCi0JLSBGYXN0ZXIgaW5pdGlhbCByZWdpc3RyeSBsb2FkaW5nLgotCS0gVW5pY29kZSBlZGl0IGNvbnRyb2wuCitXSEFUJ1MgTkVXIHdpdGggV2luZS0yMDAxMDExMjogKHNlZSBDaGFuZ2VMb2cgZm9yIGRldGFpbHMpCisJLSBNYW55IGZpeGVzIGZvciBXaW5lbGliIHN1cHBvcnQgb24gU3BhcmMuCisJLSBNYWpvciBEaXJlY3REcmF3IHJlc3RydWN0dXJhdGlvbi4KKwktIFVuaWNvZGUgY29tYm9ib3ggYW5kIGxpc3Rib3guCisJLSBOZXcgTVNWQ1JUIGRsbC4KIAktIExvdHMgb2YgYnVnIGZpeGVzLgogCiBTZWUgdGhlIFJFQURNRSBmaWxlIGluIHRoZSBkaXN0cmlidXRpb24gZm9yIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMuCkBAIC0xOSwxMCArMTksMTAgQEAKIHRoZSByZWxlYXNlIGlzIGF2YWlsYWJsZSBhdCB0aGUgZnRwIHNpdGVzLiAgVGhlIHNvdXJjZXMgd2lsbCBiZSBhdmFpbGFibGUKIGZyb20gdGhlIGZvbGxvd2luZyBsb2NhdGlvbnM6CiAKLSAgaHR0cDovL3d3dy5pYmlibGlvLm9yZy9wdWIvTGludXgvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDAxMjIyLnRhci5negotICBmdHA6Ly9mdHAuaW5mb21hZ2ljLmNvbS9wdWIvbWlycm9ycy9saW51eC9zdW5zaXRlL0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAwMTIyMi50YXIuZ3oKLSAgZnRwOi8vZnRwLmZ1LWJlcmxpbi5kZS91bml4L2xpbnV4L21pcnJvcnMvc3Vuc2l0ZS51bmMuZWR1L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAwMTIyMi50YXIuZ3oKLSAgZnRwOi8vb3JjdXMucHJvZ3NvYy51dHMuZWR1LmF1L3B1Yi9XaW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMDEyMjIudGFyLmd6CisgIGh0dHA6Ly93d3cuaWJpYmxpby5vcmcvcHViL0xpbnV4L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAxMDExMi50YXIuZ3oKKyAgZnRwOi8vZnRwLmluZm9tYWdpYy5jb20vcHViL21pcnJvcnMvbGludXgvc3Vuc2l0ZS9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMTAxMTIudGFyLmd6CisgIGZ0cDovL2Z0cC5mdS1iZXJsaW4uZGUvdW5peC9saW51eC9taXJyb3JzL3N1bnNpdGUudW5jLmVkdS9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMTAxMTIudGFyLmd6CisgIGZ0cDovL29yY3VzLnByb2dzb2MudXRzLmVkdS5hdS9wdWIvV2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDEwMTEyLnRhci5negogCiBJdCBzaG91bGQgYWxzbyBiZSBhdmFpbGFibGUgZnJvbSBhbnkgb3RoZXIgc2l0ZSB0aGF0IG1pcnJvcnMgaWJpYmxpby5vcmcuCiBGb3IgbW9yZSBkb3dubG9hZCBsb2NhdGlvbnMsIHNlZSBodHRwOi8vZnRwc2VhcmNoLmx5Y29zLmNvbS4KZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAxM2MwMzQ0Li5kZmI2ZmU4IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDQgKzEsOTEyIEBACiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisyMDAxLTAxLTEyICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2RkcmF3L2RkcmF3L3h2aWRtb2RlLmM6CisJQWRkZWQgbWlzc2luZyBXSU5fUmVsZWFzZVduZFB0ci4KKworCSogZGxscy93aW5tbS9NYWtlZmlsZS5pbiwgZGxscy93aW5tbS9tbXN5c3RlbS5zcGVjOgorCXdpbm1tLmRsbCBjYW4gbm93IGJlIHByb3Blcmx5IHNlcGFyYXRlZC4KKworCSogZGxscy9tc3ZpZGVvL21zdmlkZW9fbWFpbi5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVdhcm5pbmcgZml4LgorCisJKiBkbGxzL2Rzb3VuZC9kc291bmRfbWFpbi5jOgorCU92ZSBLYWF2ZW4gPG92ZWtAdHJhbnNnYW1pbmcuY29tPgorCUZpeGVzIGZvciB2YXJpb3VzIHVuZGVycnVuLXJlbGF0ZWQgcHJvYmxlbXMuIEFsc28gYWRkZWQgYSBtZWNoYW5pc20KKwlmb3IgdGhlIHNvdW5kIGRyaXZlciB0byByZXF1ZXN0IHRoYXQgYSBTdG9wIHNob3VsZCBjbG9zZSBhbmQgcmVvcGVuCisJdGhlIGRldmljZS4KKworCSogZGxscy93aW5tbS9tbXN5c3RlbS5jLCBkbGxzL3dpbm1tL3RpbWUuYywgZGxscy93aW5tbS93aW5lbW0uaDoKKwlPdmUgS2FhdmVuIDxvdmVrQHRyYW5zZ2FtaW5nLmNvbT4KKwlSZW1vdmUgbXVsdGltZWRpYSB0aW1lcnMgZnJvbSB0aGUgc2VydmljZSB0aHJlYWQsIHVzZSBhIHNlcGFyYXRlIHRocmVhZAorCWluc3RlYWQuCisKKwkqIGRsbHMvY29tY3RsMzIvc3RhdHVzLmM6CisJRnJhbudvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbiBTVEFUVVNCQVJfR2V0VGlwVGV4dHthLFcsIGFsd2F5cyBwdXQgYSB0ZXJtaW5hdGluZyAnXDAnIGluIHRoZQorCWJ1ZmZlci4KKwlQYXNzIGEgYnVmZmVyIG9mIHN1ZmZpY2llbnQgc2l6ZSB0byBUVE1fR0VUVEVYVEEuCisKKwkqIGRsbHMvZGRyYXcvZGRyYXcvbWFpbi5jLCBkbGxzL2RkcmF3L2RkcmF3L3RodW5rcy5jLCBkbGxzL2RkcmF3L2RkcmF3X3ByaXZhdGUuaCwgZGxscy9kZHJhdy9kZ2EyX3ByaXZhdGUuaCwgZGxscy9kZHJhdy9kZ2FfcHJpdmF0ZS5oLCBkbGxzL2RkcmF3L2RzdXJmYWNlL21haW4uYywgZGxscy9kZHJhdy9kc3VyZmFjZS90aHVua3MuYywgZGxscy9kZHJhdy9kc3VyZmFjZS91c2VyLmMsIGRsbHMvZGRyYXcvZHN1cmZhY2Uvd25kcHJvYy5jLCBkbGxzL2RkcmF3L21haW4uYzoKKwlHYXZyaWVsIFN0YXRlIDxnYXZAdHJhbnNnYW1pbmcuY29tPgorCVdhcm5pbmcgZml4ZXMuCisKKwkqIGRsbHMvd3NvY2szMi93c29jazMyLnNwZWMsIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvbnNwYXBpLmgsIGluY2x1ZGUvd3NoaXNvdHAuaCwgaW5jbHVkZS93c2lweC5oLCBkbGxzL01ha2VmaWxlLmluLCBkbGxzL3dzb2NrMzIvTWFrZWZpbGUuaW4sIGRsbHMvd3NvY2szMi9wcm90b2NvbC5jOgorCVN0ZWZhbiBMZWljaHRlciA8U3RlZmFuLkxlaWNodGVyQGNhbWxpbmUuY29tPgorCUltcGxlbWVudGVkIEVudW1Qcm90b2NvbEEvVy4KKworCSogY29uZmlndXJlLmluLCBpbmNsdWRlL2NvbmZpZy5oLmluLCBsaWJyYXJ5L3BvcnQuYywgY29uZmlndXJlOgorCUFuZHJlYXMgTW9ociA8YW1vaHJAY29kZXdlYXZlcnMuY29tPgorCU5ldEJTRCAxLjUgaXMgbGFja2luZyBlY3Z0LCBmY3Z0LCBnY3Z0IGZvciBjcnRkbGwuCisKKwkqIHNlcnZlci9maWxlLmM6CisJQW5kcmVhcyBNb2hyIDxhbW9ockBjb2Rld2VhdmVycy5jb20+CisJV29ya2Fyb3VuZCBmb3IgU3VTRSA3IDIuMi4xNiBrZXJuZWwgYnVnLgorCisJKiBjb250cm9scy9lZGl0LmM6CisJSmFtZXMgSGF0aGV3YXkgPGphbWVzQG1hY2FkYW1pYW4uY29tPgorCUd1YXJkIGFnYWluc3QgaW5jb21pbmcgc3RyaW5nIG9mIE5VTEwgaW4gV01fU0VUVEVYVC4KKworCSogZGxscy9NYWtlZmlsZS5pbiwgZGxscy9jcnRkbGwvTWFrZWZpbGUuaW4sIGRsbHMvY3J0ZGxsL2NvbnNvbGUuYywgZGxscy9jcnRkbGwvY3J0ZGxsLmgsIGRsbHMvY3J0ZGxsL2NydGRsbC5zcGVjLCBkbGxzL2NydGRsbC9jcnRkbGxfbWFpbi5jLCBkbGxzL2NydGRsbC9kaXIuYywgZGxscy9jcnRkbGwvZXhpdC5jLCBkbGxzL2NydGRsbC9maWxlLmMsIGRsbHMvY3J0ZGxsL2xvY2FsZS5jLCBkbGxzL2NydGRsbC9tYnN0cmluZy5jLCBkbGxzL2NydGRsbC9tZW1vcnkuYywgZGxscy9jcnRkbGwvc3Bhd24uYywgZGxscy9jcnRkbGwvc3RyaW5nLmMsIGRsbHMvY3J0ZGxsL3RpbWUuYywgZGxscy9jcnRkbGwvd2NzdHJpbmcuYzoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCVR1cm4gY3J0ZGxsIGludG8gZm9yd2FyZHMgdG8gbXN2Y3J0LgorCisJKiBkbGxzL21zdmNydC9leGNlcHQuYzoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCUFkZGVkIHNvbWUgZXhjZXB0aW9uIGhhbmRsaW5nIGZ1bmN0aW9ucy4KKworCSogZGxscy9tc3ZjcnQvbWF0aC5jOgorCUdlcmFsZCBQZmVpZmVyIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgorCUZpeGVkIG1pc3R5cGVkIHZhcmlhYmxlIG5hbWUgaW4gTVNWQ1JUX19mcGNsYXNzKCkuCisKKwkqIG1lbW9yeS92aXJ0dWFsLmM6CisJQWRkZWQgZmxhZyB0byBkaWZmZXJlbnRpYXRlIGZpbGUgbWFwcGluZ3MgYW5kIFZpcnR1YWxBbGxvYygpIGJsb2NrcywKKwlhbmQgcmVqZWN0IFZpcnR1YWxGcmVlKCkgY2FsbHMgb24gZmlsZSBtYXBwaW5ncy4KKworCSogaW5jbHVkZS9zZXJ2ZXIuaCwgc2NoZWR1bGVyL2NsaWVudC5jOgorCVJlbW92ZWQgb2Jzb2xldGUgZ2V0X3JlcV9idWZmZXIoKSBmdW5jdGlvbi4KKworCSogZmlsZXMvZmlsZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlX21jY29ybWFja0Bsb29rc21hcnQuY29tLmF1PgorCVN3YXAgbHBPdmVybGFwcGVkIHBhcmFtZXRlcnMgaW4gUmVhZEZpbGUgYW5kIFdyaXRlRmlsZS4KKwlUaGUgSW50ZXJuYWxIaWdoIG1lbWJlciBzaG91bGQgY29udGFpbiB0aGUgbnVtYmVyIG9mCisJYnl0ZXMgdHJhbnNmZXJyZWQuCisKKwkqIGRsbHMvbXN2Y3J0L2xvY2FsZS5jLCBkbGxzL21zdmNydC9tYXRoLmMsIGRsbHMvbXN2Y3J0L21iY3MuYzoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCUZpeGVzIGFzIGEgcmVzdWx0IG9mIHRlc3RpbmcgYnVpbHRpbiBjcnRkbGwgYWdhaW5zdCBidWlsdGluIG1zdmNydC4KKworCSogZmlsZXMvZGlyZWN0b3J5LmMsIGZpbGVzL2RyaXZlLmM6CisJQ2hyaXMgTW9yZ2FuIDxjbW9yZ2FuQGNvZGV3ZWF2ZXJzLmNvbT4KKwlVcGRhdGVkIG1lc3NhZ2VzIHdpdGggbmV3IGNvbmZpZyBmaWxlcyBpbiBtaW5kIHRvIGtlZXAgZnJvbSBjb25mdXNpbmcKKwl1c2Vycy4KKworCSogZGxscy9jb21jdGwzMi9wYWdlci5jOgorCVN1c2FuIEZhcmxleSA8c3VzYW5AY29kZXdlYXZlcnMuY29tPgorCUltcGxlbWVudGVkIG1vc3QgZnVuY3Rpb25hbGl0eS4gIFRPRE8gbGlzdHMgd2hhdHMgbGVmdC4KKworMjAwMS0wMS0xMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogTWFrZS5ydWxlcy5pbiwgY29uZmlndXJlLCBjb25maWd1cmUuaW4sIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvc2hkb2N2dy8uY3ZzaWdub3JlLCBkbGxzL3NoZG9jdncvTWFrZWZpbGUuaW4sIGRsbHMvc2hkb2N2dy9jbGFzc2luZm8uYywgZGxscy9zaGRvY3Z3L2V2ZW50cy5jLCBkbGxzL3NoZG9jdncvZmFjdG9yeS5jLCBkbGxzL3NoZG9jdncvbWlzYy5jLCBkbGxzL3NoZG9jdncvb2xlb2JqZWN0LmMsIGRsbHMvc2hkb2N2dy9wZXJzaXN0LmMsIGRsbHMvc2hkb2N2dy9zaGRvY3Z3LmgsIGRsbHMvc2hkb2N2dy9zaGRvY3Z3LnNwZWMsIGRsbHMvc2hkb2N2dy9zaGRvY3Z3X21haW4uYywgZGxscy9zaGRvY3Z3L3dlYmJyb3dzZXIuYywgZG9jdW1lbnRhdGlvbi9NYWtlZmlsZS5pbiwgaW5jbHVkZS93aW5lL29ial93ZWJicm93c2VyLmgsIHdpbmVkZWZhdWx0LnJlZzoKKwlKb2huIFIuIFNoZWV0cyA8ZHVza0ByYXZlbmR1c2sub3JnPgorCUltcGxlbWVudGVkIHN0dWJzIGZvciBJV2ViQnJvd3NlciBpbiBzaGRvY3Z3LmRsbC4KKworCSogdG9vbHMvd2luZWJ1aWxkL21haW4uYzoKKwlOYXRoYW4gTmV1bGluZ2VyIDxubmV1bEB1bXIuZWR1PgorCVJlbmFtZWQgc3RydWN0IG9wdGlvbiB0byBhdm9pZCBjb25mbGljdHMgd2l0aCBnZXRvcHQuaC4KKworCSogZGxscy9tc3ZjcnQvZXhjZXB0LmMsIGRsbHMvbXN2Y3J0L21zdmNydC5zcGVjOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJQWRkZWQgYmluYXJ5IGNvbXBhdGlibGUgX19FSF9wcm9sb2cuCisKKwkqIHNlcnZlci9tYWluLmM6CisJSm9zaCBEdUJvaXMgPGR1Ym9pc2pAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIGEgc2ltcGxlIHVzYWdlKCkgZnVuY3Rpb24uCisKKwkqIGRsbHMvZGRyYXcvZGdhLmMsIGRsbHMvZGRyYXcvZGdhMi5jOgorCU5vIGxvbmdlciB1c2VkLgorCisJKiBpbmNsdWRlL3dpbmUvb2JqX2NhY2hlLmgsIGluY2x1ZGUvd2luZS9vYmpfY29ubmVjdGlvbi5oLCBpbmNsdWRlL3dpbmUvb2JqX29sZW9iai5oLCBpbmNsdWRlL3dpbmUvb2JqX29sZXZpZXcuaDoKKwlKb2huIFIuIFNoZWV0cyA8ZHVza0ByYXZlbmR1c2sub3JnPgorCUNvcnJlY3Qgc29tZSBjdXQgJiBwYXN0ZSB0eXBvcy4KKworCSogdG9vbHMvd2luZWluc3RhbGw6CisJQ2hyaXMgTW9yZ2FuIDxjbW9yZ2FuQGNvZGV3ZWF2ZXJzLmNvbT4KKwlVcGRhdGUgZm9yIHRoZSBuZXcgY29uZmlnIGZvcm1hdCBhbmQgbG9jYXRpb24gb2YgdGhlIGRlZmF1bHQgY29uZmlnCisJZmlsZS4gIEFkZCBhIGNvbmZfcXVlc2lvbiB0byBjb252ZXJ0IGFuIG9sZCB1c2VyIGNvbmZpZyBmaWxlLCBvciB1c2UKKwl0aGUgZGVmYXVsdCBXaW5lIGNvbmZpZyBmaWxlLiAgUmVtb3ZlZCB0aGUgc2V0dGluZyBvZiBvYnNvbGV0ZQorCUVYVFJBX0xEX0xJQlJBUllfUEFUSC4gIEFkZGVkIGEgY29uZl9xdWVzdGlvbiB0byBnaXZlIHRoZSB1c2VyIHRoZQorCW9wdGlvbiB0byBpbnN0YWxsIGxvY2FsIGNvbmZpZyBhbmQgcmVnaXN0cnkgZmlsZXMgd2hlbiB0aGUgc2NyaXB0IGlzCisJYmVpbmcgcnVuIGJ5IHJvb3QuCisKKwkqIHRvb2xzL3dpbmVtYWtlcjoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUNyZWF0ZSB0aGUgbWFpbl90YXJnZXQgaW4gc2luZ2xlLXRhcmdldCBtb2RlLgorCVRoZSBkZWZpbmVkKEBhcnJheSkgY29uc3RydWN0IGlzIHNhaWQgdG8gYmUgZGVwcmVjYXRlZCwgYXZvaWQgaXQuCisJU2ltcGxpZnkgdGhlIHVzYWdlIHJlcG9ydGluZy4KKwlBZGQgYSB3b3JkIG9mIGNhdXRpb24gdG8gdGhlIHVzYWdlIG1lc3NhZ2UuCisKKwkqIGNvbnRyb2xzL2VkaXQuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUZpeCB0aGUgcmV0dXJuIHZhbHVlIG9mIFdNX0dFVFRFWFQgaW4gdGhlIGVkaXQgY29udHJvbC4KKworCSogY29udHJvbHMvY29tYm8uYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCVZhcmlvdXMgY29tYm9ib3ggZml4ZXMuCisKKwkqIGZpbGVzL01ha2VmaWxlLmluOgorCUNocmlzIE1vcmdhbiA8Y21vcmdhbkBjb2Rld2VhdmVycy5jb20+CisJUmVtb3ZlZCBzb21lIHVubmVjZXNzYXJ5IGRlZmluZXMgYWZ0ZXIgcHJvZmlsZS5jIGNsZWFudXAuCisKKwkqIHByb2dyYW1zL2F2aXRvb2xzL2F2aXBsYXkuYzoKKwlVbHJpY2ggV2VpZ2FuZCA8d2VpZ2FuZEBpbW1kMS5pbmZvcm1hdGlrLnVuaS1lcmxhbmdlbi5kZT4KKwlGaXhlZCB1bm5hbWVkIHVuaW9uIGR1bW15IG5hbWVzLgorCisJKiBjb25maWd1cmUuaW4sIGluY2x1ZGUvYWNjb25maWcuaCwgaW5jbHVkZS9jb25maWcuaC5pbiwgaW5jbHVkZS93aW5lL3BvcnQuaCwgaW5jbHVkZS93aW5udC5oLCBjb25maWd1cmU6CisJVWxyaWNoIFdlaWdhbmQgPHdlaWdhbmRAaW1tZDEuaW5mb3JtYXRpay51bmktZXJsYW5nZW4uZGU+CisJUmVwbGFjZWQgYXJjaGl0ZWN0dXJlLWRlcGVuZGVudCBjb25maWd1cmUgY2hlY2tzIGJ5IGhhcmRjb2RlZAorCWRlZmluaXRpb25zIGluIHdpbm50LmggKHRvIGF2b2lkIGNvbmZpZy5oIGRlcGVuZGVuY3kpLgorCisJKiBkbGxzL250ZGxsL2V4Y2VwdGlvbi5jOgorCVVscmljaCBXZWlnYW5kIDx3ZWlnYW5kQGltbWQxLmluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPgorCUFkZGVkIG1pc3NpbmcgcHJvdG90eXBlcyB0byBhdm9pZCBjb21waWxlIHdhcm5pbmdzIG9uIFNvbGFyaXMuCisKKwkqIGluY2x1ZGUvd2luc29jay5oOgorCVVscmljaCBXZWlnYW5kIDx3ZWlnYW5kQGltbWQxLmluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPgorCVdvcmsgYXJvdW5kIHByb2JsZW1zIG9uIFNvbGFyaXMgaWYgY29uZmlnLmggaXMgbm90IGluY2x1ZGVkLgorCisJKiB3aW5kb3dzL21lc3NhZ2UuYzoKKwlVbHJpY2ggV2VpZ2FuZCA8d2VpZ2FuZEBpbW1kMS5pbmZvcm1hdGlrLnVuaS1lcmxhbmdlbi5kZT4KKwlGaXhlZCBieXRlb3JkZXIgcHJvYmxlbXMgY2F1c2VkIGJ5IG5vbi1wb3J0YWJsZSBjb2RlLgorCisyMDAxLTAxLTEwICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL21zdmNydC9jcHAuYywgZGxscy9tc3ZjcnQvY3R5cGUuYywgZGxscy9tc3ZjcnQvZGF0YS5jLCBkbGxzL21zdmNydC9kaXIuYywgZGxscy9tc3ZjcnQvZW52aXJvbi5jLCBkbGxzL21zdmNydC9lcnJuby5jLCBkbGxzL21zdmNydC9leGNlcHQuYywgZGxscy9tc3ZjcnQvZXhpdC5jLCBkbGxzL21zdmNydC9maWxlLmMsIGRsbHMvbXN2Y3J0L2hlYXAuYywgZGxscy9tc3ZjcnQvbG9jYWxlLmMsIGRsbHMvbXN2Y3J0L21haW4uYywgZGxscy9tc3ZjcnQvbWF0aC5jLCBkbGxzL21zdmNydC9tYmNzLmMsIGRsbHMvbXN2Y3J0L21pc2MuYywgZGxscy9tc3ZjcnQvbXNfZXJybm8uaCwgZGxscy9tc3ZjcnQvbXN2Y3J0LmgsIGRsbHMvbXN2Y3J0L21zdmNydC5zcGVjLCBkbGxzL21zdmNydC9wcm9jZXNzLmMsIGRsbHMvbXN2Y3J0L3N0cmluZy5jLCBkbGxzL21zdmNydC90aHJlYWQuYywgZGxscy9tc3ZjcnQvdGltZS5jLCBkbGxzL21zdmNydC93Y3MuYywgZG9jdW1lbnRhdGlvbi9zYW1wbGVzL2NvbmZpZywgbG9hZGVyL2xvYWRvcmRlci5jLCBERVZFTE9QRVJTLUhJTlRTLCBNYWtlLnJ1bGVzLmluLCBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbiwgZGxscy9NYWtlZmlsZS5pbiwgZGxscy9tc3ZjcnQvLmN2c2lnbm9yZSwgZGxscy9tc3ZjcnQvTWFrZWZpbGUuaW4sIGRsbHMvbXN2Y3J0L2NvbnNvbGUuYzoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCS0gTWlncmF0ZSBDUlRETEwgdG8gTVNWQ1JULgorCS0gTWFueSBmaXhlcyBhbmQgYSBsb2FkIG9mIG5ldyBmdW5jdGlvbnMuCisKKwkqIGluY2x1ZGUvb3B0aW9ucy5oLCBtaXNjL29wdGlvbnMuYzoKKwlSZW1vdmVkIGFsbCB0cmFjZXMgb2YgdGhlIC0tY29uZmlnIG9wdGlvbi4KKworCSogZGxscy9kZHJhdy9kZHJhdy94dmlkbW9kZS5jOgorCUdhdnJpZWwgU3RhdGUgPGdhdkB0cmFuc2dhbWluZy5jb20+CisJUmVlbmFibGVkIERYR3JhYiBvcHRpb24uCisKKwkqIGNvbnRyb2xzL2VkaXQuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCVN5bmNocm9uaXplIHRoZSBzaXplcyBvZiB0aGUgZXh0ZXJuYWwgYW5kIGludGVybmFsIGJ1ZmZlcnMgYXQgc3RhcnQKKwlhbmQgZW5kIG9mIG1lc3NhZ2UgcHJvY2Vzc2luZyBpbiB0aGUgZWRpdCBjb250cm9sLgorCisJKiBjb250cm9scy9saXN0Ym94LmM6CisJR2VyYXJkIFBhdGVsIDxnZXJhcmQucGF0ZWxAYXNpLmZyPgorCUZpeGVkIHJldHVybmVkIGxlbmd0aCBmb3IgTEJfR0VUVEVYVC4KKworCSogZGxscy9rZXJuZWwvTWFrZWZpbGUuaW46CisJQWRkZWQgbmxzIHRvIEVYVFJBU1VCRElSUy4KKworCSogZmlsZXMvcHJvZmlsZS5jOgorCUNocmlzIE1vcmdhbiA8Y21vcmdhbkBjb2Rld2VhdmVycy5jb20+CisJUmVtb3ZlZCB1c2Ugb2Ygb3V0ZGF0ZWQgV0lORV9JTkkgZW52aXJvbm1lbnQgdmFyaWFibGUuICBSZW1vdmVkCisJb2Jzb2xldGUgLS1jb25maWcgb3B0aW9uLiAgUmVtb3ZlZCBsb2FkaW5nIG9mIGdsb2JhbCB3aW5lIGNvbmZpZyBmaWxlLgorCUNsZWFuZWQgdXAgc29tZSBtZXNzYWdlcy4KKworCSogY29udHJvbHMvZWRpdC5jOgorCUphbWVzIEhhdGhld2F5IDxqYW1lc0BtYWNhZGFtaWFuLmNvbT4KKwllcy0+YnVmZmVyX3NpemUgaXMgbm90IGFsd2F5cyB0aGUgbGVuZ3RoIG9mIHRoZSB0ZXh0IGN1cnJlbnRseSBpbiB0aGUKKwllZGl0Ym94LCBzbyB1c2UgLTEgaW5zdGVhZC4KKworCSogbG9hZGVyL21vZHVsZS5jLCBsb2FkZXIvbmUvbW9kdWxlLmMsIGRsbHMvbnRkbGwvbnRkbGwuc3BlYzoKKwlHZXJhcmQgUGF0ZWwgPGdlcmFyZC5wYXRlbEBhc2kuZnI+CisJQWRkZWQgYSBzcGVjaWZpYyBkZWJ1ZyBjaGFubmVsIGZvciBkbGwgbG9hZGluZyAoYnVpbHRpbi9uYXRpdmUpLgorCisJKiBvYmplY3RzL2RpYi5jLCBvYmplY3RzL2VuaG1ldGFmaWxlLmMsIG9iamVjdHMvbWV0YWZpbGUuYywgb2JqZWN0cy9wYWxldHRlLmMsIG9iamVjdHMvdGV4dC5jOgorCUpvZXJnIE1heWVyIDxqbWF5ZXJAbG9wbG9mLmRlPgorCUZpeGVkIHNvbWUgc2lnbmVkL3Vuc2lnbmVkIHdhcm5pbmdzLgorCisJKiBmaWxlcy9maWxlLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VfbWNjb3JtYWNrQGxvb2tzbWFydC5jb20uYXU+CisJSW1wbGVtZW50ZWQgYXN5bmNocm9ub3VzIFJlYWRGaWxlIGFuZCBXcml0ZUZpbGUuCisKKwkqIHRvb2xzL3dpbmVtYWtlcjoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCVJlcXVpcmUgdGhhdCB0aGUgdXNlciBzcGVjaWZ5IGEgd29yayBkaXJlY3RvcnkuIFRoaXMgcHJvdmlkZXMgYQorCXNhZmVndWFyZCBhZ2FpbnN0IGFjY2lkZW50YWwgaW52b2NhdGlvbnMuCisKKwkqIGRsbHMvY29tY3RsMzIvcHJvcHNoZWV0LmM6CisJRnJhbudvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlPbmx5IGNvcHkgdGhlIGR3U2l6ZSBieXRlcyByZWFsbHkgb2NjdXBpZWQgYnkgbHBQcm9wU2hlZXRQYWdlLgorCisJKiBpbmNsdWRlL3dpbmRvd3N4Lmg6CisJRXJpYyBQb3VlY2ggPEVyaWMuUG91ZWNoQHdhbmFkb28uZnI+CisJRm9yIHRoZSBHbG9iYWwqUHRyKiBzZXQgb2YgbWFjcm9zLCByZXBsYWNlIHRoZSAxNmJpdCB2ZXJzaW9uIHdpdGgKKwl0aGVpciAzMiBiaXQgZXF1aXYuCisKKwkqIGRsbHMvY29tY3RsMzIvdG9vbGJhci5jOgorCVVscmljaCBDemVrYWxsYSA8dWN6ZWthbGxhQGNvZGV3ZWF2ZXJzLmNvbT4KKwlPbmx5IGNhbGwgVE9PTEJBUl9DYWxjVG9vbGJhciB3aGVuIHBhcmFtZXRlcnMgY2hhbmdlLgorCisyMDAxLTAxLTA5ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBjb250cm9scy9jb21iby5jLCBjb250cm9scy9saXN0Ym94LmMsIGRsbHMvdXNlci9jb250cm9scy5oOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgdW5pY29kZSB3aW5kb3cgcHJvYyBmb3IgdGhlIGxpc3Rib3ggY29udHJvbC4KKwlSZXBsYWNlZCBhbGwgYW5zaSBjYWxscyBieSB0aGVpciB1bmljb2RlIGVxdWl2YWxlbnRzLgorCVJlbW92ZWQgdXNlIG9mIHRoZSBjdXN0b20gbG9jYWwgaGVhcC4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJVGVzdCBmb3IgTlVMTCBhbmQgTFBTVFJfVEVYVENBTExCQUNLIGJlZm9yZSB1c2luZyBscENvbHVtbi0+cHN6VGV4dC4KKworCSogZGxscy9kZHJhdy9kc3VyZmFjZS9tYWluLmM6CisJR2VyYWxkIFBmZWlmZXIgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CisJRml4ZWQgc29tZSBpbmNvcnJlY3QgZm9ybWF0IHN0cmluZ3MuCisKKwkqIGRlYnVnZ2VyL2RiZ21haW4uYzogUmVtb3ZlZCBvYnNvbGV0ZSBmaWxlLgorCisJKiBpbmNsdWRlL3dpbmRlZi5oLCBpbmNsdWRlL3dpbnVzZXIuaCwgd2luZG93cy91c2VyLmMsIGRsbHMvdXNlci9taXNjLmM6CisJRnJhbudvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlNb3ZlIEhEV1AgdG8gd2ludXNlci5oLgorCUNvbnZlcnQgSFdJTlNUQSB0byBTVFJJQ1QuCisKKwkqIGZpbGVzL2RyaXZlLmMsIG1pc2MvY2Ryb20uYzoKKwlSeWFuIEN1bW1pbmcgPGJvZG5hcjQyQGJvZG5hcjQyLmRocy5vcmc+CisJTWFrZSBDRFJPTV9HZXRMYWJlbCByZXR1cm4gMCBpbiB0aGUgZXZlbnQgb2YgZmFpbHVyZSwgYW5kIG1ha2UgdGhlCisJZGVmYXVsdCBsYWJlbCBmb3IgZHJpdmVzIGEgc3RyaW5nIG9mIDExIHNwYWNlcy4KKworCSogZGxscy93aW5hc3BpL2FzcGkuYzoKKwlEYXZpZCBFbGxpb3R0IDxkZmVAaW5maW5pdGUtaW50ZXJuZXQubmV0PgorCUZpeGVkIHVzYWdlIG9mIFJlZ0VudW1WYWx1ZUEuCisKKwkqIGRsbHMvd2luc3Bvb2wvaW5mby5jOgorCUh1dyBEIE0gRGF2aWVzIDxoZGF2aWVzQGNvZGV3ZWF2ZXJzLmNvbT4KKwlIYW5kbGUgdGhlIEVudW1QcmludGVycygpIGZsYWcgUFJJTlRFUl9FTlVNX0RFRkFVTFQgaW4gdGhlIHNhbWUgd2F5CisJdGhhdCBOVCBkb2VzIC0gdGhhdCBpcyBpZ25vcmUgaXQgYW5kIHJldHVybiBUUlVFLgorCisJKiBkbGxzL3dpbm1tL21jaWNkYS9tY2ljZGEuYzoKKwlIdXcgRCBNIERhdmllcyA8aGRhdmllc0Bjb2Rld2VhdmVycy5jb20+CisJQWN0dWFsbHkgY2FsbCBDRFJPTV9BdWRpb19HZXRUcmFja3NJbmZvIHdoZW4gcmV0cmlldmluZworCU1DSV9DREFfU1RBVFVTX1RSQUNLX1RZUEUuCisJV0lORV9DREFfT1BFTiBtYXBzIHRvIE1DSUVSUl9IQVJEV0FSRS4KKworCSogc2NoZWR1bGVyL3NlcnZpY2VzLmM6CisJRnJhbudvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlTRVJWSUNFX0FkZE9iamVjdCBjaGVjayBmb3IgTlVMTCBoYW5kbGVzIGluIGFkZGl0aW9uIHRvCisJSU5WQUxJRF9IQU5ETEVfVkFMVUUuCisKKwkqIGZpbGVzL2ZpbGUuYzoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCVRoZSBsYXN0IHBhcmFtZXRlciBvZiBDcmVhdGVGaWxlIHNob3VsZCBiZSAwIChha2EgTlVMTCksIG5vdCAtMS4KKwlDcmVhdGVGaWxlIHJldHVybnMgSU5WQUxJRF9IQU5ETEVfVkFMVUUgd2hlbiBpdCBmYWlscywgbm90CisJSEZJTEVfRVJST1IuCisJQWRkZWQgY29tbWVudHMuCisKKwkqIHdpbjMyL2NvbnNvbGUuYzoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCXB0eV9oYW5kbGUgaXMgYSBIQU5ETEUsIG5vdCBhbiBpbnQuCisKKwkqIHRvb2xzL3dpbmVtYWtlcjoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCShjb25maWd1cmUpIExvb2sgZm9yIHRoZSBoZWFkZXJzIGluICRXSU5FX1JPT1QvaW5jbHVkZS93aW5lIGFuZAorCS9vcHQvd2luZS9pbmNsdWRlL3dpbmUuCisKKwkqIGRsbHMvY29tY3RsMzIvY29tbWN0cmwuYzoKKwlHZXJhcmQgUGF0ZWwgPGdlcmFyZC5wYXRlbEBhc2kuZnI+CisJU2VuZCB0aGUgY3JlYXRpb24gbm90aWZpY2F0aW9uIHRvIHRoZSB0cnVlIG93bmVyIG9mIHRoZSB0b29sdGlwLgorCisJKiBjb250cm9scy9jb21iby5jOgorCVVscmljaCBDemVrYWxsYSA8dWN6ZWthbGxhQGNvZGV3ZWF2ZXJzLmNvbT4KKwlFbnN1cmUgdGhlcmUgaXMgYW4gZWRpdCBjb250cm9sIHdoZW4gd2UgcmVzZXQgY29udGVudHMuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzoKKwlVbHJpY2ggQ3pla2FsbGEgPHVjemVrYWxsYUBjb2Rld2VhdmVycy5jb20+CisJQWRqdXN0IGl0ZW0gcmVjdHMgYnkgaG9yaXpvbnRhbCBzY3JvbGxiYXIgb2Zmc2V0LgorCisJKiBkbGxzL2NvbWN0bDMyL3RhYi5jOgorCUdlcmFyZCBQYXRlbCA8Z2VyYXJkLnBhdGVsQGFzaS5mcj4KKwlGaXhlZCBUQ01fR2V0Um93Q291bnQuCisKKzIwMDEtMDEtMDcgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvdHR5ZHJ2L3R0eWRydi5zcGVjOgorCU5lZWQgdG8gaW1wb3J0IHVzZXIzMiBldmVuIHRob3VnaCB3ZSBkb24ndCB1c2Ugc3ltYm9scyBmcm9tIGl0IHlldC4KKworCSogdG9vbHMvc3BlY21ha2VyL01ha2VmaWxlLmluOgorCUxlb25hcmQgTm9ycmflcmQgPHZpbnNjaUBuaWMuZnVuZXQuZmk+CisJUmVmZXJlbmNlICQoU1JDRElSKSB3aGVuIGluc3RhbGxpbmcgdGhlIHBlcmwgc2NyaXB0IChpdCBkb2Vzbid0IGV4aXN0CisJaW4gdGhlIGJ1aWxkIGRpcmVjdG9yeSkuCisKKwkqIGRsbHMvY29tbWRsZy9maW5kZGxnMzIuYzoKKwlHZXJhcmQgUGF0ZWwgPGdlcmFyZC5wYXRlbEBhc2kuZnI+CisJQ2hhbmdlZCBzdHJpbmcgcG9pbnRlciBjYWxjdWxhdGlvbi4KKworCSogaW5jbHVkZS9zaGx3YXBpLmgsIGluY2x1ZGUvd2luZS91bmRvY3NoZWxsLmgsIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsIGRsbHMvc2hsd2FwaS9wYXRoLmMsIGRsbHMvc2hsd2FwaS9yZWcuYywgZGxscy9zaGVsbDMyL2NsaXBib2FyZC5jLCBkbGxzL3NoZWxsMzIvZW51bWlkbGlzdC5jLCBkbGxzL3NoZWxsMzIvcGlkbC5jLCBkbGxzL3NoZWxsMzIvc2hlbGxwYXRoLmMsIGRsbHMvc2hlbGwzMi9zaGxmaWxlb3AuYywgZGxscy9zaGVsbDMyL3NobG1lbnUuYzoKKwlIdXcgRCBNIERhdmllcyA8aGRhdmllc0Bjb2Rld2VhdmVycy5jb20+CisJTW92ZWQgYWxsIHRoZSBkb2N1bWVudGVkIHNobHdhcGkgZnVuY3Rpb25zIG91dCBvZiB1bmRvY3NoZWxsLmggaW50bworCXNobHdhcGkuaC4gIE5vdGhpbmcgYnV0IGZpbGVzIGluIGRsbHMvc2hlbGwzMiB3aWxsIG5vdyBpbmNsdWRlCisJdW5kb2NzaGVsbC5oLgorCisJKiBkbGxzL2RkcmF3L21haW4uYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlSZW1vdmVkIG9uZSAmLCBub3cgQ29DcmVhdGVJbnN0YW5jZSgpIG9mIGRkcmF3IG9iamVjdHMgd29ya3MgYWdhaW4uCisKKwkqIHNlcnZlci9hc3luYy5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlX21jY29ybWFja0Bsb29rc21hcnQuY29tLmF1PgorCUNhbGN1bGF0ZSB0aGUgdGltZW91dCB0aW1lIG9uY2Ugd2hlbiB0aGUgYXN5bmMgaXMgY3JlYXRlZC4KKworCSogaW5jbHVkZS93aW5iYXNlLmg6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VfbWNjb3JtYWNrQGxvb2tzbWFydC5jb20uYXU+CisJSW1wbGVtZW50ZWQgSGFzT3ZlcmxhcHBlZENvbXBsZXRlZCBtYWNyby4KKworCSogd2luZG93cy93aW5wcm9jLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgbWlzc2luZyBtYXBwaW5nIGZvciBMQl9GSU5EU1RSSU5HRVhBQ1QgbWVzc2FnZSAodGhhbmtzIHRvIEdlcmFyZAorCVBhdGVsIGZvciByZXBvcnRpbmcgdGhlIGJ1ZykuCisKKwkqIGNvbnRyb2xzL2NvbWJvLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlDb21ib2JveCBzaG91bGQgY2xlYXIgaXRzIGN1cnJlbnQgc2VsZWN0aW9uIG9uIHJlc3BvbnNlIHRvCisJQ0JfU0VUQ1VSU0VMKC0xKSBtZXNzYWdlLgorCisyMDAxLTAxLTA2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL3dpbmVkb3MvbW9kdWxlLmMsIGRsbHMvd2luZWRvcy93aW5lZG9zLnNwZWMsIGluY2x1ZGUvY2FsbGJhY2suaCwgaW5jbHVkZS9kb3NleGUuaCwgbG9hZGVyL25lL21vZHVsZS5jLCBtaXNjZW11L21haW4uYywgc2NoZWR1bGVyL3Byb2Nlc3MuYzoKKwlVc2UgdGhlIGV4ZSBuYW1lIGFuZCBmaWxlIGhhbmRsZSB3ZSBnb3QgZnJvbSB0aGUgc2VydmVyIGFsc28gd2hlbgorCXN0YXJ0aW5nIFdpbjE2IG9yIERPUyBwcm9ncmFtcywgdG8gYXZvaWQgZGVwZW5kaW5nIG9uIHRoZSBjb250ZW50cyBvZgorCXRoZSBjb21tYW5kLWxpbmUuCisKKwkqIHNlcnZlci9wcm9jZXNzLmMsIHNlcnZlci90aHJlYWQuYywgc2VydmVyL3RocmVhZC5oLCBzZXJ2ZXIvdGltZXIuYywgc2VydmVyL3RyYWNlLmMsIGluY2x1ZGUvc2VydmVyLmgsIHNjaGVkdWxlci9zeW5jaHJvLmMsIHNjaGVkdWxlci90aHJlYWQuYywgc2VydmVyL2FzeW5jLmMsIHNlcnZlci9kZWJ1Z2dlci5jOgorCUFkZGVkIHNlcGFyYXRlIHF1ZXVlIGZvciAic3lzdGVtIiBBUENzIHRoYXQgZ2V0IGNhbGxlZCBldmVuIHdoZW4gdGhlCisJdGhyZWFkIGlzIG5vdCBpbiBhbiBhbGVydGFibGUgc3RhdGUuCisJU3BlY2lmeSB0aGUgc2VsZWN0X3JlcXVlc3QgdGltZW91dCBhcyBhYnNvbHV0ZSB2YWx1ZSBzbyB0aGF0IHdlIGNhbgorCXJlc3RhcnQgdGhlIHJlcXVlc3Qgd2hlbiBpbnRlcnJ1cHRlZC4KKworCSogd2luZS5pbmk6IFJlbW92ZWQgb2xkIGZvcm1hdCBjb25maWcgZmlsZS4KKworCSogY29udHJvbHMvbWVudS5jOgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJTW9kaWZ5IHRoZSBsb29rIG9mIGJpdG1hcCBtZW51IGl0ZW1zIHRvIG1hdGNoIFdpbjk1IGFuZCBXaW45OAorCUZpeCB0aGUgc3Vua2VuIGVkZ2UvYml0bWFwIG92ZXJsYXAgaW4gdGhlIFdpbjk4IGxvb2sKKwlJbnRyb2R1Y2UgYW4gSVNfTUFHSUNfSVRFTSBtYWNybyB0byB0ZXN0IGlmIHRoZSBpdGVtIGlzICdtYWdpYycKKworCSogZ3JhcGhpY3MvZW5obWV0YWZpbGVkcnYvaW5pdC5jLCBncmFwaGljcy9tZXRhZmlsZWRydi9pbml0LmMsIGxvYWRlci9tb2R1bGUuYywgbG9hZGVyL25lL21vZHVsZS5jLCBsb2FkZXIvcGVfaW1hZ2UuYywgbWVtb3J5L3JlZ2lzdHJ5LmMsIG1zZG9zL2ludDIxLmMsIG9iamVjdHMvZW5obWV0YWZpbGUuYywgb2JqZWN0cy9tZXRhZmlsZS5jLCBzY2hlZHVsZXIvcHJvY2Vzcy5jLCBkbGxzL2FkdmFwaTMyL3JlZ2lzdHJ5LmMsIGRsbHMvY3J0ZGxsL2ZpbGUuYywgZGxscy9vbGVhdXQzMi90eXBlbGliLmMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX21haW4uYywgZGxscy91c2VyL2V4dGljb24uYywgZGxscy93aW5lZG9zL21vZHVsZS5jOgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJRml4ZWQgc29tZSBIRklMRSB2cy4gSEFORExFIG1pc21hdGNoZXMuCisJSWYgbm90IHVzZWQgdGhlIGxhc3QgcGFyYW1ldGVyIG9mIENyZWF0ZUZpbGUgbXVzdCBiZSAwLCBub3QgLTEuCisKKwkqIGRsbHMvbXNhY20vbXNhY20uc3BlYywgZGxscy9tc2FjbS9tc2FjbV9tYWluLmMsIGRvY3VtZW50YXRpb24vc2FtcGxlcy9jb25maWcsIGxvYWRlci9sb2Fkb3JkZXIuYzoKKwlFcmljIFBvdWVjaCA8RXJpYy5Qb3VlY2hAd2FuYWRvby5mcj4KKwlGb3JjZWQgbG9hZGluZyBvZiBtc2FjbTMyIHdoZW4gbXNhY20gaXMgbG9hZGVkLgorCUFkZGVkIG1zYWNtIERMTCBwYWlyIGluIGNvbmZpZyBmaWxlcy4KKwlBZGRlZCBzb21lIGR1bWIgY2FsbHMgZnJvbSAxNiB0byAzMi4KKworCSogZGxscy9NYWtlZmlsZS5pbiwgZGxscy93aW5pbmV0L2ludGVybmV0LmMsIGRsbHMvd2luaW5ldC93aW5pbmV0LnNwZWM6CisJSHV3IEQgTSBEYXZpZXMgPGhkYXZpZXNAY29kZXdlYXZlcnMuY29tPgorCUltcGxlbWVudCBJbnRlcm5ldENhbm9uaWNhbGl6ZVVybC4KKworCSogZGxscy9kc291bmQvZHNvdW5kX21haW4uYzoKKwlKb2hhbiBHaWxsIDxqb2hhbmVAbHlzYXRvci5saXUuc2U+CisJQWRkZWQgYSBtb3JlIHRydXRoZnVsIG1lc3NhZ2UgYWJvdXQgd2hhdCByZWFsbHkgaXMgd3JvbmcuCisKKwkqIGRsbHMvZ2RpL3ByaW50ZHJ2LmMsIGluY2x1ZGUvd2luZS93aW5nZGkxNi5oOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCURvbid0IGNhbGwgUXVlcnlBYm9ydDE2KCkgaW4gV3JpdGVTcG9vbDE2KCksIHNpbmNlIGl0IG1pZ2h0IGJlIGNhbGxlZAorCXdpdGggbG9ja3MgaGVsZCAoYW5kIHdlIGRvIG5vdCBuZWVkIHRvIGNhbGwgaXQgaGVyZSkuCisKKwkqIGNvbnRyb2xzL2xpc3Rib3guYzoKKwlBbmRyZWFzIE1vaHIgPGFtb2hyQGNvZGV3ZWF2ZXJzLmNvbT4KKwlUb29rIGEgc3RhYiBhdCBpbXBsZW1lbnRpbmcgTEJTX05PU0VMLgorCisyMDAxLTAxLTA1ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBpbmNsdWRlL3NlcnZlci5oLCBzY2hlZHVsZXIvcHJvY2Vzcy5jLCBzZXJ2ZXIvcHJvY2Vzcy5jLCBzZXJ2ZXIvdHJhY2UuYzoKKwlTZW5kIHRoZSBleGUgZmlsZSBoYW5kbGUgaW4gaW5pdF9wcm9jZXNzX2RvbmUgcmVxdWVzdC4KKworCSogZmlsZXMvcHJvZmlsZS5jOgorCUF2b2lkIGNyYXNoaW5nIG9uIGludmFsaWQgbGluZXMgZHVyaW5nIGNvbmZpZyBmaWxlIGNvbnZlcnNpb24uCisKKwkqIGRsbHMvc2hsd2FwaS9NYWtlZmlsZS5pbiwgZGxscy9zaGx3YXBpL29yZGluYWwuYywgZGxscy9zaGx3YXBpL3NobHdhcGkuc3BlYywgZGxscy9zaGx3YXBpL3VybC5jLCBpbmNsdWRlL3NobHdhcGkuaDoKKwlIdXcgRCBNIERhdmllcyA8aGRhdmllc0Bjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50ZWQgYSBmZXcgVXJsKiBmdW5jdGlvbnMuCisKKwkqIGNvbnRyb2xzL2NvbWJvLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGRlZCB1bmljb2RlIHdpbmRvdyBwcm9jIGZvciBjb21ib2JveCBjb250cm9sLgorCVJlcGxhY2VkIGFuc2kgY2FsbHMgYnkgdGhlaXIgdW5pY29kZSBlcXVpdmFsZW50cy4KKworCSogY29udHJvbHMvc3RhdGljLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGRlZCB1bmljb2RlIHdpbmRvdyBwcm9jIGZvciB0aGUgc3RhdGljIGNvbnRyb2wuCisJUmVwbGFjZWQgYW5zaSBjYWxscyBieSB0aGVpciB1bmljb2RlIGVxdWl2YWxlbnRzLgorCisJKiBkbGxzL3dzb2NrMzIvc29ja2V0LmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VfbWNjb3JtYWNrQGxvb2tzbWFydC5jb20uYXU+CisJUmV0dXJuaW5nIHN1Y2Nlc3MgZm9yIHVua25vd24gV1NDTlRMX1RDUElQX1FVRVJZX0lORk8gY29kZSBtYWtlcyB3aW45OAorCXdpbmlwY2ZnIHdvcmsuCisKKwkqIGRsbHMvZGlucHV0L21vdXNlL21haW4uYzoKKwlBbmRyZWFzIE1vaHIgPGFtb2hyQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNb3VzZSBldmVudHMgZml4LgorCisJKiB0b29scy9tYWtlX3JlcXVlc3RzLCB3aW4zMi9jb25zb2xlLmMsIHdpbjMyL2RldmljZS5jLCB3aW5kb3dzL3F1ZXVlLmMsIGxvYWRlci9uZS9tb2R1bGUuYywgbWVtb3J5L3ZpcnR1YWwuYywgbWlzYy9yZWdpc3RyeS5jLCByZWxheTMyL2J1aWx0aW4zMi5jLCBzY2hlZHVsZXIvY2xpZW50LmMsIHNjaGVkdWxlci9oYW5kbGUuYywgc2NoZWR1bGVyL3Byb2Nlc3MuYywgc2NoZWR1bGVyL3RocmVhZC5jLCBzY2hlZHVsZXIvdGltZXIuYywgc2VydmVyL2FzeW5jLmMsIHNlcnZlci9jaGFuZ2UuYywgc2VydmVyL2NvbnNvbGUuYywgc2VydmVyL2RlYnVnZ2VyLmMsIHNlcnZlci9kZXZpY2UuYywgc2VydmVyL2V2ZW50LmMsIHNlcnZlci9maWxlLmMsIHNlcnZlci9oYW5kbGUuYywgc2VydmVyL2hhbmRsZS5oLCBzZXJ2ZXIvbWFwcGluZy5jLCBzZXJ2ZXIvbXV0ZXguYywgc2VydmVyL29iamVjdC5oLCBzZXJ2ZXIvcGlwZS5jLCBzZXJ2ZXIvcHJvY2Vzcy5jLCBzZXJ2ZXIvcHJvY2Vzcy5oLCBzZXJ2ZXIvcXVldWUuYywgc2VydmVyL3JlZ2lzdHJ5LmMsIHNlcnZlci9yZXF1ZXN0LmMsIHNlcnZlci9yZXF1ZXN0LmgsIHNlcnZlci9zZW1hcGhvcmUuYywgc2VydmVyL3NlcmlhbC5jLCBzZXJ2ZXIvc25hcHNob3QuYywgc2VydmVyL3NvY2suYywgc2VydmVyL3RocmVhZC5jLCBzZXJ2ZXIvdGhyZWFkLmgsIHNlcnZlci90aW1lci5jLCBzZXJ2ZXIvdHJhY2UuYywgZGxscy9rZXJuZWwvc3luYy5jLCBkbGxzL2tlcm5lbC90b29saGVscC5jLCBkbGxzL250ZGxsL3JlZy5jLCBkbGxzL250ZGxsL3N5bmMuYywgZGxscy93aW5zb2NrL3NvY2tldC5jLCBmaWxlcy9kb3NfZnMuYywgZmlsZXMvZmlsZS5jLCBpbmNsdWRlL2ZpbGUuaCwgaW5jbHVkZS9tb2R1bGUuaCwgaW5jbHVkZS9zZXJ2ZXIuaCwgbG9hZGVyL2VsZi5jLCBsb2FkZXIvbW9kdWxlLmMsIGxvYWRlci9wZV9pbWFnZS5jOgorCUFkZGVkIGhhbmRsZV90IHR5cGUgdG8gc2VydmVyIGludGVyZmFjZSBzbyB0aGF0IHdlIGNhbiBtYWtlIGhhbmRsZXMKKwlwb2ludGVycyBsYXRlciBvbi4KKwlBbHdheXMgdXNlIDAgdG8gc2lnbmFsIGludmFsaWQgaGFuZGxlIGluIHNlcnZlciByZXF1ZXN0cy4KKworCSogaW5jbHVkZS9jb21tZGxnLmgsIHByb2dyYW1zL2NtZGxndHN0L2NtZGxndHN0LmM6CisJRnJhbudvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlJIHRyaXBsZSBjaGVja2VkIGJ1dCB5ZXMsIENIT09TRUNPTE9SLmhJbnN0YW5jZSBpcyBhbiBIV05ELi4uCisKKwkqIGRsbHMvd2lubW0vZHJpdmVyLmMsIG1zZG9zL3ZnYS5jOgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJV2UgbXVzdCBjYXN0IHRoZSByZXR1cm4gdmFsdWUgb2YgR2V0UHJvY0FkZHJlc3MuCisKKwkqIHByb2dyYW1zL3Byb2dtYW4vZGlhbG9nLmMsIHByb2dyYW1zL3Byb2dtYW4vZ3JvdXAuYywgcHJvZ3JhbXMvcHJvZ21hbi9tYWluLmMsIHByb2dyYW1zL3Byb2dtYW4vcHJvZ3JhbS5jOgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJVGhlIFduZFByb2MgZnVuY3Rpb24gd2FzIG1pc3NpbmcgdGhlIENBTExCQUNLIG1vZGlmaWVyLgorCisJKiBwcm9ncmFtcy9hdml0b29scy9hdmlpbmZvLmMsIHByb2dyYW1zL2F2aXRvb2xzL2F2aXBsYXkuYywgcHJvZ3JhbXMvYXZpdG9vbHMvaWNpbmZvLmM6CisJRnJhbudvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlUaGUgZmlyc3QgMiBwYXJhbWV0ZXJzIG9mIFdpbk1haW4gYXJlIEhJTlNUQU5DRXMsIG5vdCBIQU5ETEVzLgorCisJKiBjb250cm9scy9lZGl0LmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXhlZCBzb21lIHByb2JsZW1zIHdpdGggc2Nyb2xsaW5nIGluIHRoZSBlZGl0IGNvbnRyb2wuCisKKzIwMDEtMDEtMDQgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvb2xlMzIvY29tcG9iai5jLCBkbGxzL29sZTMyL2lmcy5jLCBkbGxzL29sZTMyL3N0b3JhZ2UuYywgaW5jbHVkZS93aW5lL29ial9iYXNlLmgsIGluY2x1ZGUvd2luZS9vYmpfY29udHJvbC5oLCBpbmNsdWRlL3dpbmUvb2JqX2lucGxhY2UuaCwgaW5jbHVkZS93aW5lL29ial9tb25pa2VyLmgsIGRsbHMvZGRyYXcvZDNkbWF0ZXJpYWwuYywgZGxscy9kZHJhdy9kM2R0ZXh0dXJlLmMsIGRsbHMvZGRyYXcvZGlyZWN0M2QvbWVzYS5jLCBkbGxzL2RpbnB1dC9kaW5wdXRfbWFpbi5jLCBkbGxzL2RpbnB1dC9qb3lzdGljay9saW51eC5jLCBkbGxzL2RpbnB1dC9qb3lzdGljay9saW51eGlucHV0LmMsIGRsbHMvZGlucHV0L2tleWJvYXJkL21haW4uYywgZGxscy9kaW5wdXQvbW91c2UvbWFpbi5jLCBkbGxzL2RwbGF5eC9kcGxheS5jLCBkbGxzL2RwbGF5eC9kcGxvYmJ5LmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJUmVtb3ZlZCB0aGUgJ2ZuJyBwcmVmaXggKGkuZS4gSUNPTV9GTikuCisKKwkqIGluY2x1ZGUvYWNjb25maWcuaCwgaW5jbHVkZS9jb25maWcuaC5pbiwgaW5jbHVkZS9kZHJhdy5oLCBtc2Rvcy92Z2EuYywgZGxscy9kZHJhdy9kM2RkZXZpY2UvbWVzYS5jLCBkbGxzL2RkcmF3L2RjbGlwcGVyL21haW4uYywgZGxscy9kZHJhdy9kY2xpcHBlci9tYWluLmgsIGRsbHMvZGRyYXcvZGRyYXcvZGdhLmMsIGRsbHMvZGRyYXcvZGRyYXcvZGdhMi5jLCBkbGxzL2RkcmF3L2RkcmF3L2RnYTIuaCwgZGxscy9kZHJhdy9kZHJhdy9tYWluLmMsIGRsbHMvZGRyYXcvZGRyYXcvbWFpbi5oLCBkbGxzL2RkcmF3L2RkcmF3L3RodW5rcy5jLCBkbGxzL2RkcmF3L2RkcmF3L3VzZXIuYywgZGxscy9kZHJhdy9kZHJhdy91c2VyLmgsIGRsbHMvZGRyYXcvZGRyYXcveDExLmMsIGRsbHMvZGRyYXcvZGRyYXcveHZpZG1vZGUuYywgZGxscy9kZHJhdy9kZHJhdy94dmlkbW9kZS5oLCBkbGxzL2RkcmF3L2RpcmVjdDNkL21lc2EuYywgZGxscy9kZHJhdy9kcGFsZXR0ZS9kZ2EuYywgZGxscy9kZHJhdy9kcGFsZXR0ZS9tYWluLmMsIGRsbHMvZGRyYXcvZHBhbGV0dGUvbWFpbi5oLCBkbGxzL2RkcmF3L2RwYWxldHRlL3gxMS5jLCBkbGxzL2RkcmF3L2RzdXJmYWNlL2RnYS5jLCBkbGxzL2RkcmF3L2RzdXJmYWNlL2RnYTIuYywgZGxscy9kZHJhdy9kc3VyZmFjZS9kZ2EyLmgsIGRsbHMvZGRyYXcvZHN1cmZhY2UvZGliLmMsIGRsbHMvZGRyYXcvZHN1cmZhY2UvZGliLmgsIGRsbHMvZGRyYXcvZHN1cmZhY2UvZGlidGV4dHVyZS5jLCBkbGxzL2RkcmF3L2RzdXJmYWNlL2RpYnRleHR1cmUuaCwgZGxscy9kZHJhdy9kc3VyZmFjZS9mYWtlemJ1ZmZlci5jLCBkbGxzL2RkcmF3L2RzdXJmYWNlL2Zha2V6YnVmZmVyLmgsIGRsbHMvZGRyYXcvZHN1cmZhY2UvbWFpbi5jLCBkbGxzL2RkcmF3L2RzdXJmYWNlL21haW4uaCwgZGxscy9kZHJhdy9kc3VyZmFjZS90aHVua3MuYywgZGxscy9kZHJhdy9kc3VyZmFjZS90aHVua3MuaCwgZGxscy9kZHJhdy9kc3VyZmFjZS91c2VyLmMsIGRsbHMvZGRyYXcvZHN1cmZhY2UvdXNlci5oLCBkbGxzL2RkcmF3L2RzdXJmYWNlL3duZHByb2MuYywgZGxscy9kZHJhdy9kc3VyZmFjZS93bmRwcm9jLmgsIGRsbHMvZGRyYXcvZHN1cmZhY2UveDExLmMsIGRvY3VtZW50YXRpb24vZGRyYXcudHh0LCBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbiwgZGxscy9kZHJhdy9NYWtlZmlsZS5pbiwgZGxscy9kZHJhdy9jb252ZXJ0LmMsIGRsbHMvZGRyYXcvZDNkX3ByaXZhdGUuaCwgZGxscy9kZHJhdy9kM2R0ZXh0dXJlLmMsIGRsbHMvZGRyYXcvZGRjb21pbXBsLmgsIGRsbHMvZGRyYXcvZGRyYXcuc3BlYywgZGxscy9kZHJhdy9kZHJhd19wcml2YXRlLmgsIGRsbHMvZGRyYXcvaGVscGVyLmMsIGRsbHMvZGRyYXcvbWFpbi5jLCBkbGxzL2RkcmF3L21lc2FfcHJpdmF0ZS5oLCBkbGxzL2RkcmF3L3N0cnVjdF9jb252ZXJ0LmMsIGRsbHMvZGRyYXcveDExLmMsIGRsbHMvZGRyYXcveDExX3ByaXZhdGUuaDoKKwlBbmRyZXcgTGV3eWNreSA8YW5kcmV3QHRyYW5zZ2FtaW5nLmNvbT4KKwlHYXZyaWVsIFN0YXRlIDxnYXZAdHJhbnNnYW1pbmcuY29tPgorCU92ZSBLYWF2ZW4gPG92ZWtAdHJhbnNnYW1pbmcuY29tPgorCU1ham9yIERpcmVjdERyYXcgcmVzdHJ1Y3R1cmUvcmVpbXBsZW1lbnRhdGlvbiwgdXNpbmcgYW4gaW1wcm92ZWQgY29tcG9uZW50CisJb2JqZWN0IG1vZGVsIGhpZXJhcmNoeS4gVGhlIGltcGxlbWVudGF0aW9uIGN1cnJlbnRseSBzdXBwb3J0czoKKwktIERpcmVjdERyYXcgb3ZlciBHREkvVVNFUiBpbiBhIHdpbmRvdyAodXNpbmcgRElCc2VjdGlvbnMgYW5kCisJICBhc3luY2hyb25vdXMgdXBkYXRlcykKKwktIFhWaWRNb2RlCisJLSBYRjg2REdBMgorCS0gQWxsIERpcmVjdERyYXcgaW50ZXJmYWNlcyBmcm9tIHZlcnNpb25zIDEgdG8gNyAoYXQgbGVhc3QgaW4gdGhlb3J5KQorCS0gSG9va3MgZm9yIERpcmVjdDNEIGludGVyZmFjZXMKKworCSogZGxscy9tc2FjbS93aW5lYWNtLmgsIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvbW1zeXN0ZW0uaCwgaW5jbHVkZS9tc2FjbS5oLCBpbmNsdWRlL21zYWNtZGxnLmg6CisJRXJpYyBQb3VlY2ggPEVyaWMuUG91ZWNoQHdhbmFkb28uZnI+CisJQWRkZWQgYSBmZXcgbWlzc2luZyBwYXJ0cy4KKworCSogY29udHJvbHMvbWVudS5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUZpeGVkIHRoZSBhbGlnbm1lbnQgb2YgdGhlIE1GX1JJR0hUSlVTVElGWSBtZW51IGl0ZW1zLgorCisJKiBtaXNjL21haW4uYzogUmVtb3ZlZCBvYnNvbGV0ZSBjb2RlLgorCisJKiBkbGxzL01ha2VmaWxlLmluOiBGaXhlZCBkbGwgZGVwZW5kZW5jaWVzLgorCisJKiBkbGxzL3dpbm1tL2xvbHZsZHJ2LmMsIGRsbHMvd2lubW0vd2luZW9zcy9hdWRpby5jLCBpbmNsdWRlL21tZGRrLmgsIGRsbHMvZHNvdW5kL2Rzb3VuZF9tYWluLmM6CisJRXJpYyBQb3VlY2ggPEVyaWMuUG91ZWNoQHdhbmFkb28uZnI+CisJTm93IHVzaW5nIG1hbmlmZXN0IGNvbnN0YW50IGluc3RlYWQgb2YgcmF3IHZhbHVlcyBmb3IgYWxsIHRoZQorCURSVl9RVUVSWT8/PyB2YWx1ZXMuCisKKwkqIGRsbHMva2VybmVsL3RodW5rLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VfbWNjb3JtYWNrQGxvb2tzbWFydC5jb20uYXU+CisJQWRkZWQgVWxyaWNoIFdlaWdhbmQncyBkZXNjcmlwdGlvbiBvZiBLRVJORUwzMl85OS4KKworCSogbWVtb3J5L2dsb2JhbC5jOgorCU1pa2UgTWNDb3JtYWNrICA8bWlrZV9tY2Nvcm1hY2tAbG9va3NtYXJ0LmNvbS5hdT4KKwlTb21lIGJvcmtlbiBtZW1vcnkgbW9uaXRvcmluZyBwcm9ncmFtcyBkaXZpZGUgYnkgZHdUb3RhbFBhZ2VGaWxlLAorCXdoaWNoIHByb2JhYmx5IGlzbid0IHplcm8gb24gd2luZG93cy4KKworCSogY29uZmlndXJlLmluLCB0b29scy9NYWtlZmlsZS5pbiwgdG9vbHMvc3BlY21ha2VyLy5jdnNpZ25vcmUsIHRvb2xzL3NwZWNtYWtlci9NYWtlZmlsZS5pbiwgdG9vbHMvc3BlY21ha2VyL1JFQURNRSwgdG9vbHMvc3BlY21ha2VyL2RsbC5jLCB0b29scy9zcGVjbWFrZXIvZnVuY3Rpb25fZ3JlcC5wbCwgdG9vbHMvc3BlY21ha2VyL21haW4uYywgdG9vbHMvc3BlY21ha2VyL21pc2MuYywgdG9vbHMvc3BlY21ha2VyL21zbWFuZ2xlLmMsIHRvb2xzL3NwZWNtYWtlci9vdXRwdXQuYywgdG9vbHMvc3BlY21ha2VyL3NlYXJjaC5jLCB0b29scy9zcGVjbWFrZXIvc3BlY21ha2VyLmgsIHRvb2xzL3NwZWNtYWtlci9zeW1ib2wuYywgY29uZmlndXJlOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJQWRkZWQgc3BlYyBnZW5lcmF0aW9uIHRvb2wgc3BlY21ha2VyLgorCisJKiBtaXNjL29wdGlvbnMuYzoKKwlHdXkgTC4gQWxiZXJ0ZWxsaSA8Z2FsYmVydGVAbmVvLmxydW4uY29tPgorCVJlaW1wbGVtZW50ZWQgInJlbGF5PSIgYW5kICJzbm9vcD0iIHN1Ym9wdGlvbnMuCisKKwkqIGluY2x1ZGUvbW1zeXN0ZW0uaCwgaW5jbHVkZS93aW5iYXNlLmgsIGluY2x1ZGUvd2luZGVmLmgsIGluY2x1ZGUvd2lubmxzLmgsIGluY2x1ZGUvd2ludXNlci5oOgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJTW92ZWQgdGhlIGZ1bmN0aW9uIHBvaW50ZXIgdHlwZXMgdG8gdGhlaXIgcmlnaHRmdWwgaGVhZGVycy4KKwlUaGUgZGVmaW5pdGlvbiBvZiB0aGUgZnVuY3Rpb24gcG9pbnRlciB0eXBlcyBtdXN0IGJlIGJhc2VkIG9uIFNUUklDVC4KKworCSogZ3JhcGhpY3MveDExZHJ2L2JpdGJsdC5jOgorCUFuZHJlYXMgTW9ociA8YW1vaHJAY29kZXdlYXZlcnMuY29tPgorCVN0YXJjcmFmdCB3YXMgY29uZnVzZWQgYnkgYSB3cm9uZyBGQUxTRSBCaXRCbHQgcmV0dXJuLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlTZXQgZnJhZ21lbnRzIGZvciB3YXZlIGlucHV0IHRvIDcgeCAxMDI0IGJ5dGUuCisKKwkqIGRsbHMvd2lubW0vbG9sdmxkcnYuYzoKKwlFcmljIFBvdWVjaCA8RXJpYy5Qb3VlY2hAd2FuYWRvby5mcj4KKwlGaXhlZCBsb2FkaW5nIG9mIDE2IGJpdCBkcml2ZXJzLgorCUJldHRlciBzdXBwb3J0IGZvciBuYXRpdmUgbWFwcGVycy4KKworCSogY29udHJvbHMvbGlzdGJveC5jOgorCUFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJRml4ZWQgYSBwcm9ibGVtIHdoZXJlIHdoZW4gZGVsZXRpbmcgYW4gaXRlbSB1c2luZyBpbmRleCAtMSBvbiBhbiBlbXB0eQorCWxpc3Rib3ggd2Ugd291bGQgcGFzcyB0aHJvdWdoIGFuIGlsbGVnYWwgbmVnYXRpdmUgaW5kZXggYW5kIGNhdXNlCisJcHJvYmxlbXMuCisKKzIwMDEtMDEtMDMgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHNjaGVkdWxlci9wcm9jZXNzLmM6CisJUGFzcyB0aGUgYXBwbGljYXRpb24gbmFtZSBhbHNvIHdoZW4gc3RhcnRpbmcgYSBVbml4IGFwcCwgYW5kIHVzZSBpdCB0bworCWxvYWQgdGhlIG1haW4gZXhlIC5zbyBmaWxlLgorCUZpeGVkIGJ1ZyBpbiBkaXJlY3RvcnkgaGFuZGxpbmcgaW4gUFJPQ0VTU19DcmVhdGUuCisKKwkqIGluY2x1ZGUvd2luYmFzZS5oOgorCUpvbiBHcmlmZml0aHMgPHRudGpwZ3JpZmZAdHNueHQuY28udWs+CisJQWRkZWQgSW5pdGlhbGl6ZUNyaXRpY2FsU2VjdGlvbkFuZFNwaW5Db3VudCBwcm90b3R5cGUuCisKKwkqIGluY2x1ZGUvd2luZGVmLmgsIHdpbmRvd3MvdXNlci5jOgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJQ29udmVydCBIREVTSyB0byBTVFJJQ1QuCisKKwkqIGRsbHMvd2lubW0vbWNpd2F2ZS9tY2l3YXZlLmM6CisJRXJpYyBQb3VlY2ggPEVyaWMuUG91ZWNoQHdhbmFkb28uZnI+CisJUmVtb3ZlZCBkdXBsaWNhdGUgZmllbGQgaW4gaW50ZXJuYWwgc3RydWN0dXJlLgorCVNpbGVuY2VkIHdhcm5pbmcgZm9yIE1DSV9DT05GSUdVUkUgbWVzc2FnZS4KKworCSogZGxscy93aW5tbS9sb2x2bGRydi5jOgorCUVyaWMgUG91ZWNoIDxFcmljLlBvdWVjaEB3YW5hZG9vLmZyPgorCUFkZGVkIHN1cHBvcnQgZm9yIHRoZSBEUlZNX01BUFBFUl9TVEFUVVMgbWVzc2FnZS4KKworCSogZGxscy93aW5tbS93YXZlbWFwL21zYWNtLmRydi5zcGVjLCBkbGxzL3dpbm1tL3dhdmVtYXAvd2F2ZW1hcC5jOgorCUVyaWMgUG91ZWNoIDxFcmljLlBvdWVjaEB3YW5hZG9vLmZyPgorCVJlcGxhY2VkIHBvaW50ZXJzIHRvIGV4dGVybmFsIGZ1bmN0aW9ucyBieSBhIERMTCBpbXBvcnQuCisKKwkqIGRsbHMvbXN2aWRlby9kcmF3ZGliLmM6CisJQW5kcmVhcyBNb2hyIDxhbW9ockBjb2Rld2VhdmVycy5jb20+CisJRml4ZWQgYml0bWFwIHNpemUgaGFuZGxpbmcuCisKKzIwMDEtMDEtMDIgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbiwgaW5jbHVkZS9hY2NvbmZpZy5oLCBpbmNsdWRlL2NvbmZpZy5oLmluLCB3aW5kb3dzL3gxMWRydi9rZXlib2FyZC5jLCBjb25maWd1cmU6CisJT3ZlIEthYXZlbiA8b3Zla0B0cmFuc2dhbWluZy5jb20+CisJVHVybiBvbiBkZXRlY3RhYmxlIGF1dG9yZXBlYXQgaWYgdGhlIFggS2V5Ym9hcmQgRXh0ZW5zaW9uIGlzCisJZGV0ZWN0ZWQuCisKKwkqIGluY2x1ZGUvd2luZGVmLmgsIGluY2x1ZGUvd3R5cGVzLmg6CisJRnJhbudvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlNb3ZlZCBITUVUQUZJTEVQSUNUIHRvIHd0eXBlcy5oLiBOb3RlLCBITUVUQUZJTEVQSUNUIGlzIGFsd2F5cyBhCisJJ3ZvaWQqJyB1bmxpa2UgcmVndWxhciBoYW5kbGVzLgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL2NvbW1kbGcvcHJpbnRkbGcuYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlJbXBsZW1lbnQgUHJpbnREbGcxNiBiZXR0ZXIgKGFkZGluZyBQcmludERsZ1Byb2MxNiBhbmQgc2V2ZXJhbCBvdGhlcgorCTE2Yml0IGRlcGVuZGVudCBmdW5jdGlvbnMpCisJSWYgd2UgYXJlIHVzaW5nIGEgdGVtcGxhdGUgd2UgbWlnaHQgbm90IGhhdmUgdGhlIGRlZmF1bHQgY29tYm9ib3ggZm9yCisJcHJpbnRlcnMsIHVzZSB0aGUgZGVmYXVsdCBwcmludGVyIGluIHRob3NlIGNhc2VzLgorCU1vcmUgZXJyb3IgbWVzc2FnZXMgYW5kIGNoZWNrcy4KKwlBZGRlZCBHbG9iYWxGbGFnczE2IGFuZCBHbG9iYWxSZUFsbG9jMTYgdG8ga2VybmVsMzIuc3BlYy4KKworCSogdG9vbHMvd2luZWJ1aWxkL2ltcG9ydC5jOgorCVVscmljaCBXZWlnYW5kIDx3ZWlnYW5kQGltbWQxLmluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPgorCURlbGF5ZWQgaW1wb3J0IHRodW5rcyBmb3IgU3BhcmMuCisKKwkqIGRsbHMvZHBsYXl4L2RwbGF5eF9tZXNzYWdlcy5jOgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJUmVtb3ZlZCBhbiAnI2lmZGVmIFNUUklDVCcuCisKKwkqIGRsbHMvZHNvdW5kL2Rzb3VuZF9tYWluLmM6CisJT3ZlIEthYXZlbiA8b3Zla0B0cmFuc2dhbWluZy5jb20+CisJQnVnZml4IGZvciBzb3VuZCBkcm9wcGluZyBvdXQsIGFuZCB3b3JrYXJvdW5kIGZvciBIYWxmLUxpZmUncworCWJyYWluZGVhZCBzZWNvbmRhcnkgc291bmQgYnVmZmVyIG1hbmFnZW1lbnQuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbG9sZS5jLCBpbmNsdWRlL3NoZWxsYXBpLmgsIGluY2x1ZGUvd2luZGVmLmgsIHdpbmRvd3MveDExZHJ2L2V2ZW50LmM6CisJRnJhbudvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlNb3ZlZCBIRFJPUCB0byBzaGVsbGFwaS5oLgorCisJKiBpbmNsdWRlL29iamJhc2UuaDoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCVNob3VsZCBpbmNsdWRlIGNndWlkLmguCisKKwkqIGluY2x1ZGUvb2xlMi5oOgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgdHdvIGVycm9yIGNvZGVzOiBFX0RSQVcgYW5kIERBVEFfRV9GT1JNQVRFVEMuCisKKwkqIGRsbHMvY29tbWRsZy9maWxlZGxnLmM6CisJQW5kcmVhcyBNb2hyIDxhbW9ockBjb2Rld2VhdmVycy5jb20+CisJUmV0dXJuIDguMyBmaWxlIG5hbWVzLgorCUZpeGVkIHNpemVvZihXQ0hBUikgYnVncy4KKworCSogdG9vbHMvd3JjL0NIQU5HRVMsIHRvb2xzL3dyYy9nZW5yZXMuYywgdG9vbHMvd3JjL25ld3N0cnVjLmMsIHRvb2xzL3dyYy9wYXJzZXIueSwgdG9vbHMvd3JjL3dyYy5oOgorCVVscmljaCBXZWlnYW5kIDx3ZWlnYW5kQGluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPgorCS0gRml4ZWQgYSBieXRlb3JkZXIgY29udmVyc2lvbiBwcm9ibGVtIHdpdGggbWVzc2FnZSB0YWJsZXMuCisJLSBDYXJlZnVsbHkgcmVhZCBhbmQgd3JpdGUgKHBvc3NpYmx5KSBtaXNhbGlnbmVkIGRhdGEgZWxlbWVudHMKKwkgIHRvIGF2b2lkIGNyYXNoZXMgb24gYXJjaGl0ZWN0dXJlcyB3aGVyZSB0aGlzIGlzIG5vdCBhbGxvd2VkLgorCisJKiBwcm9ncmFtcy92aWV3L3ZpZXcuYywgcHJvZ3JhbXMvbm90ZXBhZC9tYWluLmM6CisJRnJhbudvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZXBsYWNlZCBjYWxscyB0byBPcGVuRmlsZSB3aXRoIHRoZSBlcXVpdmFsZW50IGNhbGwgdG8KKwlDcmVhdGVGaWxlLiBSZW1vdmVzIHRoZSBuZWVkIHRvIGNhc3QgdGhlIHJlc3VsdCB0byBIQU5ETEUuCisKKwkqIHByb2dyYW1zL3djbWQvYmF0Y2guYywgcHJvZ3JhbXMvd2NtZC9idWlsdGlucy5jLCBwcm9ncmFtcy93Y21kL3djbWRtYWluLmM6CisJRnJhbudvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlUaGUgbGFzdCBwYXJhbWV0ZXIgb2YgQ3JlYXRlRmlsZSBpcyBhIEhBTkRMRSBhbmQgc2hvdWxkIHRodXMgYmUgTlVMTC4KKworCSogZGxscy93aW5zb2NrL3NvY2tldC5jOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCUEgc29ja2V0IGJlY29tZXMgcmVhZGFibGUgYWZ0ZXIgY29ubmVjdCBpbiBMaW51eCAyLjQgKGV2ZW4gZm9yCisJY29ubmVjdGlvbiByZWZ1c2VkKS4KKworCSogZGxscy93aW5tbS93aW5lb3NzL2F1ZGlvLmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJUmVhZCA0IGJ5dGVzIHRvIHdha2UgdXAgR0VUSVNQQUNFLgorCisJKiBkbGxzL3dpbmVwcy9hZm0uYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlBZGRlZCBvbmUgc2FmZXR5IGNoZWNrIHRvIEFGTSBwYXJzaW5nLgorCisJKiBkbGxzL3VzZXIvdXNlci5zcGVjOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCTE2Yml0IHVzZXIgR2V0UHJvcC9TZXRQcm9wIGdldCBzdHJpbmdzIG9yIGF0b21zLCBzbyB3ZSBjYW4gdXNlICdzdHInLgorCisJKiBkbGxzL2FkdmFwaTMyL3NlcnZpY2UuYzoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUZpeGVkIHNvbWUgMCB2cy4gRkFMU0UgbWlzbWF0Y2hlcy4KKwlGaXhlZCBhICcleCcgdnMuICclbHgnIG1pc21hdGNoLgorCUZpeGVkIHNvbWUgRFdPUkQgdnMuIFNDX0hBTkRMRSBtaXNtYXRjaGVzLgorCisJKiBpbmNsdWRlL3dpbnN2Yy5oOgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJU0NfSEFORExFIGlzIGEgSEFORExFLCBub3QgYSAnREVDTEFSRV9IQU5ETEUnCisJU0VSVklDRV9TVEFUVVNfSEFORExFIGlzIGEgRFdPUkQKKworCSogbWVtb3J5L2xvY2FsLmM6CisJVWxyaWNoIFdlaWdhbmQgPHdlaWdhbmRAaW1tZDEuaW5mb3JtYXRpay51bmktZXJsYW5nZW4uZGU+CisJQWxpZ24gbW92ZWFibGUgYmxvY2tzIGlmIHRoZSBhcmNoaXRlY3R1cmUgcmVxdWlyZXMgaXQuCisKKwkqIGluY2x1ZGUvd2luZXJyb3IuaDoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCVJlb3JkZXJlZCB0aGUgZGVmaW5pdGlvbnMgYWNjb3JkaW5nIHRvIHRoZWlyIHZhbHVlLgorCUluc2VydGVkIHRoZSAqX1NfKiBtYWNyb3MgcmlnaHQgYmVmb3JlIHRoZSBjb3JyZXNwb25kaW5nICpfRV8qIGJsb2NrCisJUmVpbmRlbnRlZCB0aGUgdmFsdWVzLgorCVJlbW92ZWQgdGhlIGR1cGxpY2F0ZSBzZXQgb2YgRV94eHggbWFjcm9zIHNpbmNlIHRoZXkgYXJlIG9ubHkgdXNlZCBvbgorCW5vbiBXSU4zMiBwbGF0Zm9ybXMuCisJVW5jb21tZW50ZWQgdGhlIENPX0VfSU5JVF8gc2V0IG9mIG1hY3Jvcy4KKwlSZW1vdmVkIHNvbWUgZHVwbGljYXRlIG1hY3JvIGRlZmluaXRpb25zIGFuZCBmaXhlZCB2YXJpb3VzIHR5cG9zLgorCUFkZGVkIHRoZSBkZWZpbml0aW9ucyBuZWVkZWQgYnkgdGhlIE1GQy4KKworCSogZGxscy9rZXJuZWwva2VybmVsLnNwZWMsIGRsbHMva2VybmVsL2tlcm5lbF9tYWluLmM6CisJQW5kcmVhcyBNb2hyIDxhbW9ockBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgUmVzZXJ2ZWQ1IC0+IGxzdHJjbXAxNi4KKworCSogZGxscy92ZXJzaW9uL2luc3RhbGwuYywgZGxscy92ZXJzaW9uL3Jlc291cmNlLmM6CisJQW5kcmVhcyBNb2hyIDxhbW9ockBjb2Rld2VhdmVycy5jb20+CisJQ29kZSB3YXMgY2hlY2tpbmcgZm9yIDAgb3IgSEZJTEVfRVJST1IgaW5zdGVhZCBvZiBuZWdhdGl2ZSBlcnJvcgorCXZhbHVlcy4KKworMjAwMC0xMi0yOSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogd2luZG93cy9pbnB1dC5jLCB3aW5kb3dzL2tleWJvYXJkLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwkiSW1wbGVtZW50IiBHZXRLQkNvZGVQYWdlIGFuZCBHZXRLQkNvZGVQYWdlMTYuCisKKwkqIGZpbGVzL2ZpbGUuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZV9tY2Nvcm1hY2tAbG9va3NtYXJ0LmNvbS5hdT4KKwlJbXBsZW1lbnRlZCBHZXRPdmVybGFwcGVkUmVzdWx0LgorCisJKiBvYmplY3RzL2ZvbnQuYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlDcmVhdGVGb250SW5kaXJlY3QoKSBjYW4gZ2V0IE5VTEwgcG9pbnRlcnMuCisKKwkqIGRsbHMva2VybmVsL2NvbW0uYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZV9tY2Nvcm1hY2tAbG9va3NtYXJ0LmNvbS5hdT4KKwlJbXByb3ZlIGFzeW5jIGkvbyBjb21wYXRhYmlsaXR5LiBscE92ZXJsYXBwZWQtPkludGVybmFsIHNob3VsZCBob2xkCisJdGhlIG92ZXJsYXBwZWQgdHJhbnNmZXIgc3RhdHVzLgorCisJKiB0b29scy93aW5lYnVpbGQvaW1wb3J0LmM6CisJVWxyaWNoIFdlaWdhbmQgPHdlaWdhbmRAaW1tZDEuaW5mb3JtYXRpay51bmktZXJsYW5nZW4uZGU+CisJRml4ZWQgYnVpbHRpbiBpbXBvcnRzIGJyb2tlbiBieSBsYXRlc3QgY2hhbmdlLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbjoKKwlFcmljIFBvdWVjaCA8RXJpYy5Qb3VlY2hAd2FuYWRvby5mcj4KKwlNYWRlIHVuYWxpZ25lZCBhY2Nlc3MgdGVzdCBlZmZlY3RpdmUuCisKKwkqIGluY2x1ZGUvd2luZS9wb3J0Lmg6CisJRXJpYyBQb3VlY2ggPEVyaWMuUG91ZWNoQHdhbmFkb28uZnI+CisJRml4ZWQgZXZpbGlzaCBjdXQgYW5kIHBhc3RlLgorCisJKiBkZWJ1Z2dlci9NYWtlZmlsZS5pbiwgZGVidWdnZXIvZGJnLnksIGRlYnVnZ2VyL2luZm8uYywgZGVidWdnZXIvbW9kdWxlLmMsIGRlYnVnZ2VyL21zYy5jLCBkZWJ1Z2dlci93aW5lZGJnLmM6CisJRnJhbudvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlDb21waWxlIHRoZSBkZWJ1Z2dlciB3aXRoIFNUUklDVCBvbi4KKworCSogZGxscy93aW5lcHMvZm9udC5jOgorCUlhbiBQaWxjaGVyIDxwaWxjaGVyQGNvbmNlbnRyaWMubmV0PgorCVVzZSBhIGNhc2UtaW5zZW5zaXRpdmUgY29tcGFyaXNvbiB0byBtYXRjaCBQb3N0U2NyaXB0IGZvbnQgbmFtZXMuCisKKwkqIGluY2x1ZGUvd2luZS9vYmpfYmFzZS5oOgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgYW4gSUNPTV9GTiB0aGF0IGdlbmVyYXRlcyBlaXRoZXIgZm4jI3hmbiBvciBzZm4gYXMgYXBwcm9wcmlhdGUuCisJVXNlIElDT01fRk4gdG8gYXZvaWQgZHVwbGljYXRpbmcgdGhlICdJQ09NX1Y/TUVUSE9ELionIGRlZmluaXRpb25zLgorCVJlbW92ZSB0aGUgb2Jzb2xldGUgSUNPTV9DVk1FVEhPRCBtYWNyb3MuCisJVXNlIHRoZSBJQ09NX1ZUQkwgbWFjcm8gdG8gYXZvaWQgZHVwbGljYXRpbmcgdGhlICdJQ09NX0NBTEwuKicKKwlkZWZpbml0aW9ucy4KKworCSogZGxscy93aW5pbmV0L2Z0cC5jLCBkbGxzL3dpbmluZXQvaW50ZXJuZXQuaDoKKwlBbmRyZWFzIE1vaHIgPGFtb2hyQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIGltcGxlbWVudGVkIHBhc3NpdmUgRlRQIHRyYW5zZmVycyAoUEFTViwgbmVlZGVkIGZvciBmaXJld2FsbHMpCisJLSBmaXhlZCBsc3RuU29ja2V0IGNsb3NpbmcKKworCSogaW5jbHVkZS9idWlsdGluMTYuaCwgaW5jbHVkZS93aW5udC5oLCB0b29scy93aW5lYnVpbGQvaW1wb3J0LmMsIHRvb2xzL3dpbmVidWlsZC9yZWxheS5jLCB0b29scy93aW5lYnVpbGQvcmVzMTYuYywgdG9vbHMvd2luZWJ1aWxkL3NwZWMxNi5jLCB0b29scy93aW5lYnVpbGQvc3BlYzMyLmM6CisJVWxyaWNoIFdlaWdhbmQgPHdlaWdhbmRAaW1tZDEuaW5mb3JtYXRpay51bmktZXJsYW5nZW4uZGU+CisJRml4ZWQgd2luZWJ1aWxkIHRvIHdvcmsgb24gbm9uLUludGVsIGFyY2hpdGVjdHVyZXMuCisKKwkqIGxvYWRlci9uZS9tb2R1bGUuYywgbG9hZGVyL25lL3Jlc291cmNlLmMsIGxvYWRlci9tb2R1bGUuYzoKKwlVbHJpY2ggV2VpZ2FuZCA8d2VpZ2FuZEBpbW1kMS5pbmZvcm1hdGlrLnVuaS1lcmxhbmdlbi5kZT4KKwlQcmV2ZW50IHVuYWxpZ25lZCBhY2Nlc3MgdG8gTkUgaW4tbWVtb3J5IG1vZHVsZSBkYXRhLgorCisJKiBtZW1vcnkvY29kZXBhZ2UuYywgdW5pY29kZS9NYWtlZmlsZS5pbiwgdW5pY29kZS9jb21wb3NlLmMsIHVuaWNvZGUvY3BtYXAucGwsIHVuaWNvZGUvbWJ0b3djLmMsIHVuaWNvZGUvd2N0b21iLmM6CisJQWRkZWQgc3VwcG9ydCBmb3IgY29tcG9zaXRlIFVuaWNvZGUgY2hhcmFjdGVycyBpbiBNdWx0aUJ5dGVUb1dpZGVDaGFyCisJYW5kIFdpZGVDaGFyVG9NdWx0aUJ5dGUuCisKKwkqIGluY2x1ZGUvd2luZ2RpLmg6CisJRnJhbudvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGRlZCBhIHByb3RvdHlwZSBmb3IgR2V0TG9nQ29sb3JTcGFjZS4KKworCSogaW5jbHVkZS93aW5kZWYuaDoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUNvbnZlcnQgSENPTE9SU1BBQ0UgdG8gU1RSSUNUIG1vZGUuCisKKwkqIGRvY3VtZW50YXRpb24vSE9XVE8td2luZWxpYjoKKwlXaWxidXIgTi4gRGFsZSA8d2lsYnVyLmRhbGVAbHVtaW4ubmw+CisJVXBkYXRlZCBmaXJzdCBleGFtcGxlIHVzaW5nIGxhdGVzdCB3aW5lYnVpbGQgZGxsL3NvIHByb2NlZHVyZS4KKworCSogZGxscy9udGRsbC9zaWduYWxfaTM4Ni5jOgorCU92ZSBLYWF2ZW4gPG92ZWtAYXJjdGljbmV0Lm5vPgorCUZpeGVkIHNtYWxsIHJhY2UgY29uZGl0aW9uIGJldHdlZW4gdm04Nl9lbnRlcigpIGFuZCBzaWduYWwgaGFuZGxpbmcuCisJTWFkZSBzZXBhcmF0ZSBzYXZlX3ZtODZfY29udGV4dCBhbmQgcmVzdG9yZV92bTg2X2NvbnRleHQgZnVuY3Rpb25zLgorCisJKiB0b29scy93aW5lYnVpbGQvc3BlYzMyLmM6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlBbGxvdyBzdHVicyBmb3IgZXhwb3J0cyB0aGF0IGFyZSBub3QgbGVnYWwgQyBpZGVudGlmaWVycy4KKworCSogZGxscy9rZXJuZWwvc3luYy5jOgorCVJlaW4gS2xhemVzIDxya2xhemVzQGNhc2VtYS5uZXQ+CisJVGVzdCBwb2ludGVyIGJlZm9yZSBpdCBpcyBkZXJlZmVyZW5jZWQgaW4gQ3JlYXRlRXZlbnRXKCkuCisKKzIwMDAtMTItMjcgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIG9sZS9NYWtlZmlsZS5pbiwgdG9vbHMvd2luZW1ha2VyLCBNYWtlLnJ1bGVzLmluLCBNYWtlZmlsZS5pbjoKKwlSZW5hbWVkIGxpYnV1aWQuYSB0byBsaWJ3aW5lX3V1aWQuYQorCisJKiBpbmNsdWRlL2NvbmZpZy5oLmluLCBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbiwgZGxscy9jcnRkbGwvY3J0ZGxsX21haW4uYzoKKwlVbHJpY2ggV2VpZ2FuZCA8d2VpZ2FuZEBpbW1kMS5pbmZvcm1hdGlrLnVuaS1lcmxhbmdlbi5kZT4KKwlEb24ndCBsaW5rIHdpdGggbGlidyBpZiBsaWJjIGFscmVhZHkgY29udGFpbnMgdyogcm91dGluZXMuCisJTGluayBldmVyeSBsaWJyYXJ5IHdpdGggbGlibnNsIGlmIHJlcXVpcmVkLgorCUluY2x1ZGUgaWVlZWZwLmggd2hlcmUgbmVjZXNzYXJ5LgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3Mvb3NzLmM6CisJVWxyaWNoIFdlaWdhbmQgPHdlaWdhbmRAaW1tZDEuaW5mb3JtYXRpay51bmktZXJsYW5nZW4uZGU+CisJQ29tcGlsZSBmaXggaWYgSEFWRV9PU1MgaXMgbm90IGRlZmluZWQuCisKKwkqIGlmMTYzMi9yZWxheS5jOgorCVVscmljaCBXZWlnYW5kIDx3ZWlnYW5kQGltbWQxLmluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPgorCUZpeGVkIGJyb2tlbiBwcm90b3R5cGVzLgorCisJKiBpZjE2MzIvc25vb3AuYywgcmVsYXkzMi9zbm9vcC5jOgorCVVscmljaCBXZWlnYW5kIDx3ZWlnYW5kQGltbWQxLmluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPgorCVNpbGVuY2Ugc2lsbHkgZXJyb3IgbWVzc2FnZXMuCisKKwkqIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvZGNpbWFuMzIvZGNpbWFuMzIuc3BlYywgZGxscy9vbGVkbGcvb2xlZGxnLnNwZWM6CisJVWxyaWNoIFdlaWdhbmQgPHdlaWdhbmRAaW1tZDEuaW5mb3JtYXRpay51bmktZXJsYW5nZW4uZGU+CisJSW1wb3J0IGtlcm5lbDMyIChmb3IgU2V0TGFzdEVycm9yKCkpLgorCisJKiBkbGxzL3ZlcnNpb24vcmVzb3VyY2UuYywgaW5jbHVkZS9hY2NvbmZpZy5oLCBpbmNsdWRlL2NvbmZpZy5oLmluLCBpbmNsdWRlL3dpbmRlZi5oLCBpbmNsdWRlL3dpbmUvcG9ydC5oLCBsb2FkZXIvcGVfcmVzb3VyY2UuYywgbG9hZGVyL3Rhc2suYywgbWVtb3J5L2Vudmlyb24uYywgbWVtb3J5L2hlYXAuYywgd2luZG93cy9jbGFzcy5jLCB3aW5kb3dzL2RpYWxvZy5jLCBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbiwgZGxscy9kcGxheXgvZHBsYXkuYywgZGxscy91c2VyL2V4dGljb24uYzoKKwlVbHJpY2ggV2VpZ2FuZCA8d2VpZ2FuZEBpbW1kMS5pbmZvcm1hdGlrLnVuaS1lcmxhbmdlbi5kZT4KKwlBZGRlZCBjaGVjayB3aGV0aGVyIHVuYWxpZ25lZCBtZW1vcnkgYWNjZXNzIGlzIGFsbG93ZWQuCisJQWRkZWQgbWFjcm9zIHRvIGFjY2VzcyB1bmFsaWduZWQgV09SRHMgLyBEV09SRHMuCisKKwkqIGRsbHMvY29tY3RsMzIvdGFiLmMsIGRsbHMva2VybmVsL2NvbW0uYywgZGxscy93aW5tbS9sb2x2bGRydi5jLCBmaWxlcy9kaXJlY3RvcnkuYywgZmlsZXMvZHJpdmUuYywgc2NoZWR1bGVyL2NsaWVudC5jLCBzY2hlZHVsZXIvcHJvY2Vzcy5jLCB3aW4zMi9jb25zb2xlLmMsIHdpbjMyL2V4Y2VwdC5jLCB3aW4zMi9maWxlLmMsIFJFQURNRSwgY29uc29sZS9nZW5lcmljLmMsIGNvbnRyb2xzL21lbnUuYywgZGxscy9jb21jdGwzMi9jb21tY3RybC5jLCBkbGxzL2NvbWN0bDMyL3Byb3BzaGVldC5jOgorCUFuZHJlYXMgTW9ociA8YW1vaHJAY29kZXdlYXZlcnMuY29tPgorCS0gY2xhcmlmeSBtYW55IGVycm9yIG1lc3NhZ2VzCisJLSBhZGQgZGF0YSBjb3JydXB0aW9uIHdhcm5pbmcgdG8gUkVBRE1FIGZpbGUKKworCSogd2luZG93cy94MTFkcnYva2V5Ym9hcmQuYzoKKwlPdmUgS2FhdmVuIDxvdmVrQGFyY3RpY25ldC5ubz4KKwlVc2UgdGhlIFggc3RhdGUgaW5zdGVhZCBvZiB0aGUgVksga2V5IHN0YXRlIHRvIGNoZWNrIGZvciBlYXRhYmxlCisJY2hhcmFjdGVycywgc2luY2UgdGhlIFZLIGtleSBzdGF0ZSBpc24ndCBhIGZhbiBvZiBBbHRHci4KKworCSogZmlsZXMvZG9zX2ZzLmM6CisJTGF3c29uIFdoaXRuZXkgPGxhd3Nvbl93aGl0bmV5QGp1bm8uY29tPgorCUFsbG93IGFuIGFwcGxpY2F0aW9uIHRvIG9wZW4gYSBkb3MgZGV2aWNlIGVuZGluZyB3aXRoICc6Jy4KKworCSogZGxscy93aW5lZG9zL21vZHVsZS5jOgorCU92ZSBLYWF2ZW4gPG92ZWtAYXJjdGljbmV0Lm5vPgorCVJlbGVhc2UgdGhlIFdpbjE2IGxvY2sgYmVmb3JlIHN0YXJ0aW5nIHRoZSBET1MgcHJvY2Vzcywgc2luY2UgaXQncyBub3QKKwlyZWFsbHkgYSBXaW4xNiBhcHAuCisKKwkqIGRsbHMvd2luZWRvcy9kb3N2bS5jOgorCU92ZSBLYWF2ZW4gPG92ZWtAYXJjdGljbmV0Lm5vPgorCVNpbmNlIERPU1ZNX1dhaXQoKSBibG9ja3MgdGhlIG5vcm1hbCBldmVudCBwcm9jZXNzaW5nLCBpdCBzaG91bGQKKwlkaXNwYXRjaCBwZW5kaW5nIGV2ZW50cyBpdHNlbGYuCisKKzIwMDAtMTItMjYgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRlYnVnZ2VyL3N0YWJzLmMsIGRlYnVnZ2VyL2V4cHIuYywgZGVidWdnZXIvbW9kdWxlLmMsIGRlYnVnZ2VyL21zYy5jOgorCUpvZXJnIE1heWVyIDxqbWF5ZXJAbG9wbG9mLmRlPgorCUZpeCB0aGUgdHJpdmlhbCBjb21waWxlciB3YXJuaW5ncyBpbiBkZWJ1Z2dlci8gd2hlbiBjb21waWxpbmcgd2l0aCAtVworCS0gbW92ZWQgaW5saW5lIHN0YXRlbWVudHMgdG8gZnJvbnQKKwktIGZpeGVkIHRoZSB0cml2aWFsIGNhc2VzIG9mIHNpZ25lZC91bnNpZ25lZCBjb21wYXJpc29ucworCisJKiBkbGxzL2NvbWN0bDMyL2FuaW1hdGUuYywgZGxscy9jb21jdGwzMi9jb21jdGwzMi5zcGVjOgorCUVyaWMgUG91ZWNoIDxFcmljLlBvdWVjaEB3YW5hZG9vLmZyPgorCU5vIGxvbmdlciB1c2luZyBmdW5jdGlvbiBwb2ludGVycyB0byB3aW5tbSBhbmQgbXN2ZnczMiwgYnV0IGRlbGF5CisJbG9hZGluZyBpbnN0ZWFkLgorCisJKiB0b29scy93aW5lYnVpbGQvUkVBRE1FLCB0b29scy93aW5lYnVpbGQvYnVpbGQuaCwgdG9vbHMvd2luZWJ1aWxkL2ltcG9ydC5jLCB0b29scy93aW5lYnVpbGQvcGFyc2VyLmM6CisJRXJpYyBQb3VlY2ggPEVyaWMuUG91ZWNoQHdhbmFkb28uZnI+CisJQWRkZWQgYWJpbGl0eSB0byBkZWxheSBsb2FkaW5nIG9mIGFuIGltcG9ydGVkIERMTCB1bnRpbCBpdCdzIG5lZWRlZAorCShuZXcgLWRlbGF5IG9wdGlvbiBmb3IgaW1wb3J0IGRpcmVjdGl2ZSBpbiBzcGVjIGZpbGUpLgorCisJKiBzZXJ2ZXIvcHJvY2Vzcy5jLCBzZXJ2ZXIvdGhyZWFkLmM6CisJRml4ZWQgZXJyb3IgcmVjb3ZlcnkgZHVyaW5nIHRocmVhZCBjcmVhdGlvbi4KKworCSogZGxscy93aW5lZG9zL01ha2VmaWxlLmluLCBkbGxzL3dpbmVkb3MvZG9zdm0uYywgZGxscy93aW5lZG9zL21vZHVsZS5jLCBkbGxzL3dpbmVkb3Mvd2luZWRvcy5zcGVjLCBpbmNsdWRlL2NhbGxiYWNrLmgsIGluY2x1ZGUvZG9zZXhlLmgsIGluY2x1ZGUvbWlzY2VtdS5oLCBsb2FkZXIvZG9zL01ha2VmaWxlLmluLCBsb2FkZXIvZG9zL2Rvc3ZtLmMsIGxvYWRlci9kb3MvbW9kdWxlLmMsIG1pc2NlbXUvbWFpbi5jLCBtc2Rvcy9kZXZpY2VzLmMsIG1zZG9zL2RwbWkuYywgbXNkb3MvaW50MDkuYywgbXNkb3MvaW50MTYuYywgbXNkb3MvaW50MjAuYywgbXNkb3MvaW50MjEuYywgbXNkb3MvaW50MzMuYywgbXNkb3MvaW9wb3J0cy5jLCBNYWtlLnJ1bGVzLmluLCBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbiwgZGxscy9NYWtlZmlsZS5pbiwgZGxscy9udGRsbC9NYWtlZmlsZS5pbiwgZGxscy93aW5lZG9zLy5jdnNpZ25vcmU6CisJT3ZlIEthYXZlbiA8b3Zla0BhcmN0aWNuZXQubm8+CisJU2VwYXJhdGVkIHRoZSBNWiBsb2FkZXIgYW5kIGNvcmUgRE9TIFZNIGludG8gZGxscy93aW5lZG9zLgorCisJKiBpbmNsdWRlL2RkZW1sLmgsIGluY2x1ZGUvdmZ3LmgsIGluY2x1ZGUvd2luZGVmLmgsIGluY2x1ZGUvd2lubnQuaCwgaW5jbHVkZS93aW5zdmMuaDoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCURlY2xhcmUgYWxsIGhhbmRsZXMgd2l0aCBERUNMQVJFX09MRF9IQU5ETEUgdG8gZWFzZSBjb252ZXJzaW9uIHRvCisJU1RSSUNULgorCisJKiBkbGxzL2dkaS9nZGkzMi5zcGVjLCBpbmNsdWRlL3dpbmdkaS5oOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFkZGVkIEdldERDQnJ1c2hDb2xvciBhbmQgR2V0RENQZW5Db2xvci4KKworMjAwMC0xMi0yNSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZG9jdW1lbnRhdGlvbi93aW5lLm1hbi5pbjoKKwlMYXdzb24gV2hpdG5leSA8bGF3c29uX3doaXRuZXlAanVuby5jb20+CisJUmVtb3ZlZCAtLWNvbmZpZyBmcm9tIG1hbiB3aW5lLgorCisJKiBkb2N1bWVudGF0aW9uL3NhbXBsZXMvY29uZmlnOgorCUxhd3NvbiBXaGl0bmV5IDxsYXdzb25fd2hpdG5leUBqdW5vLmNvbT4KKwlSZW1vdmVkIHRyYWlsaW5nIGdhcmJhZ2UgYWZ0ZXIgW3NlcmlhbHBvcnRzXSBkZXZpY2UgbmFtZS4KKworMjAwMC0xMi0yNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9yYXNhcGkzMi9yYXNhcGkuYywgaW5jbHVkZS9yYXMuaCwgaW5jbHVkZS93aW5kZWYuaDoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCU1vdmVkIEhSQVNDT05OIGZyb20gd2luZGVmLmguCisJQWRkZWQgbWlzc2luZyBVbmljb2RlIHR5cGUgYW5kIGZ1bmN0aW9uIGRlZmluaXRpb25zLgorCUFkZGVkIGEgZmV3IG1pc3NpbmcgbWFjcm8gZGVmaW5pdGlvbnMuCisJRW5jbG9zZSBpbiBhbiBleHRlcm4gIkMiIGZvciBDKysgV2luZWxpYiBhcHBsaWNhdGlvbnMuCisJQWRkZWQgdGhlIHN0cnVjdHVyZSBwYWNraW5nIHNwZWNpZmljYXRpb24uCisKKwkqIGZpbGVzL2NoYW5nZS5jLCBncmFwaGljcy9lbmhtZXRhZmlsZWRydi9vYmplY3RzLmMsIGluY2x1ZGUvd2ludXNlci5oLCBsb2FkZXIvcGVfcmVzb3VyY2UuYywgbG9hZGVyL3Jlc291cmNlLmMsIHNjaGVkdWxlci9oYW5kbGUuYzoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUZpeGVkIGEgZmV3IHR5cGUgY2xhc2hlcyBpbiBwcmVwYXJhdGlvbiBmb3IgdGhlIHN3aXRjaCB0byBTVFJJQ1QuCisKKwkqIGdyYXBoaWNzL3gxMWRydi9wZW4uYywgd2luZG93cy9wYWludGluZy5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVVwZGF0ZWQgdGhlIGxvb2sgb2YgZG90cyBhbmQgZGFzaGVzIHRvIG1hdGNoIHRoZSBXaW4zMiBsb29rLgorCUlzc3VlIGEgRklYTUUgYWJvdXQgUFNfVVNFUlNUWUxFLgorCisJKiBmaWxlcy9kaXJlY3RvcnkuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCURlZmluZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBUTVAgYXMgYW4gYWxpYXMgZm9yIFRFTVAuCisKKwkqIHByb2dyYW1zL3JlZ2FwaS9yZWdhcGkuYzoKKwlHZXJhbGQgUGZlaWZlciA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KKwk8bWFsbG9jLmg+IGlzIG5vdCBJU08gQywgPHN0ZGxpYi5oPiBpcy4KKworCSogd2luZG93cy9zcHkuYzoKKwlHdXkgTC4gQWxiZXJ0ZWxsaSA8Z2FsYmVydGVAbmVvLmxydW4uY29tPgorCUZpeGVkIGxvb3AgdGVzdCBmb3IgbmVnYXRpdmUgdmFsdWUuCisKKzIwMDAtMTItMjIgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGluY2x1ZGUvdmVyc2lvbi5oLCBBTk5PVU5DRSwgQ2hhbmdlTG9nOgorCVJlbGVhc2UgMjAwMDEyMjIuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDIwMDAtMTItMjIgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CiAKIAkqIHdpbmRvd3MvY2xpcGJvYXJkLmMsIHdpbmRvd3MveDExZHJ2L2NsaXBib2FyZC5jOgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS92ZXJzaW9uLmggYi9pbmNsdWRlL3ZlcnNpb24uaAppbmRleCAwZmY4OTQyLi5kNWUxN2IzIDEwMDY0NAotLS0gYS9pbmNsdWRlL3ZlcnNpb24uaAorKysgYi9pbmNsdWRlL3ZlcnNpb24uaApAQCAtMSArMSBAQAotI2RlZmluZSBXSU5FX1JFTEVBU0VfSU5GTyAiV2luZSByZWxlYXNlIDIwMDAxMjIyIgorI2RlZmluZSBXSU5FX1JFTEVBU0VfSU5GTyAiV2luZSByZWxlYXNlIDIwMDEwMTEyIgo=