From: Narayanan Venkateswaran Date: June 7 2012 1:57pm Subject: bzr push into mysql-5.5 branch (v.narayanan:3863 to 3864) WL#6161 List-Archive: http://lists.mysql.com/commits/144137 Message-Id: <201206071357.q57Dvi9C023035@acsmt356.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDM4NjQgTmFyYXlhbmFuIFZlbmthdGVzd2FyYW4JMjAxMi0wNi0wNwogICAgICBXTCM2MTYxIElu dGVncmF0aW5nIHdpdGggSW5ub0RCIGNvZGViYXNlIGluIE15U1FMIDUuNQogICAgICAgICAgICAK ICAgICAgQ2hhbmdlcyBpbiB0aGUgSW5ub0RCIGNvZGViYXNlIHJlcXVpcmVkIHRvIGNvbXBpbGUg YW5kCiAgICAgIGludGVncmF0ZSB0aGUgTUVCIGNvZGViYXNlIHdpdGggTXlTUUwgNS41LgogICAg ICAKICAgICAgQCBzdG9yYWdlL2lubm9iYXNlL2J0ci9idHIwYnRyLmMKICAgICAgICBFeGNsdWRl ZCBidWZmZXIgcG9vbCB1c2FnZSBmcm9tIE1FQiBidWlsZC4KICAgICAgIAogICAgICAgIGJ1Zl9w b29sX2Zyb21fYnBhZ2UgY2FsbHMgYXJlIGluIGJ1ZjBidWYuaWMsIGFuZAogICAgICAgIHRoZSBi dWZmZXIgcG9vbCBmdW5jdGlvbnMgZnJvbSB0aGF0IGZpbGUgYXJlCiAgICAgICAgZGlzYWJsZWQg aW4gTUVCLgogICAgICBAIHN0b3JhZ2UvaW5ub2Jhc2UvYnVmL2J1ZjBidWYuYwogICAgICAgIERp c2FibGluZyBtb3JlIGJ1ZmZlciBwb29sIGZ1bmN0aW9ucyB1bnVzZWQgaW4gTUVCLgogICAgICBA IHN0b3JhZ2UvaW5ub2Jhc2UvZGljdC9kaWN0MGRpY3QuYwogICAgICAgIERpc2FibGluZyBkaWN0 X2luZF9mcmVlIHRoYXQgaXMgdW51c2VkIGluIE1FQi4KICAgICAgQCBzdG9yYWdlL2lubm9iYXNl L2RpY3QvZGljdDBtZW0uYwogICAgICAgIFRoZSBpbmNsdWRlCiAgICAgIAogICAgICAgICNpbmNs dWRlICJoYV9wcm90b3R5cGVzLmgiCiAgICAgIAogICAgICAgIFdhcyBjYXVzaW5nIGNvbmZsaWN0 cyB3aXRoIGRlZmluaXRpb25zIGluIG15X2dsb2JhbC5oCiAgICAgIAogICAgICAgIExpbmtpbmcg QyBleGVjdXRhYmxlIG15c3FsYmFja3VwCiAgICAgICAgbGliaW5ub2RiLmEoZGljdDBtZW0uYy5v KTogSW4gZnVuY3Rpb24gYGRpY3RfbWVtX2ZvcmVpZ25fdGFibGVfbmFtZV9sb29rdXBfc2V0JzoK ICAgICAgICBkaWN0MG1lbS5jOigudGV4dCsweDkxYyk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8g YGlubm9iYXNlX2dldF9sb3dlcl9jYXNlX3RhYmxlX25hbWVzJwogICAgICAgIGxpYmlubm9kYi5h KGRpY3QwbWVtLmMubyk6IEluIGZ1bmN0aW9uIGBkaWN0X21lbV9yZWZlcmVuY2VkX3RhYmxlX25h bWVfbG9va3VwX3NldCc6CiAgICAgICAgZGljdDBtZW0uYzooLnRleHQrMHg5ZmMpOiB1bmRlZmlu ZWQgcmVmZXJlbmNlIHRvIGBpbm5vYmFzZV9nZXRfbG93ZXJfY2FzZV90YWJsZV9uYW1lcycKICAg ICAgICBsaWJpbm5vZGIuYShkaWN0MG1lbS5jLm8pOiBJbiBmdW5jdGlvbiBgZGljdF9tZW1fZm9y ZWlnbl90YWJsZV9uYW1lX2xvb2t1cF9zZXQnOgogICAgICAgIGRpY3QwbWVtLmM6KC50ZXh0KzB4 OTZlKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgaW5ub2Jhc2VfY2FzZWRuX3N0cicKICAgICAg ICBsaWJpbm5vZGIuYShkaWN0MG1lbS5jLm8pOiBJbiBmdW5jdGlvbiBgZGljdF9tZW1fcmVmZXJl bmNlZF90YWJsZV9uYW1lX2xvb2t1cF9zZXQnOgogICAgICAgIGRpY3QwbWVtLmM6KC50ZXh0KzB4 YTRlKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgaW5ub2Jhc2VfY2FzZWRuX3N0cicKICAgICAg ICBjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwogICAgICAgIG1ha2VbMl06ICoq KiBbbXlzcWxiYWNrdXBdIEVycm9yIDEKICAgICAgCiAgICAgICAgaW5ub2Jhc2VfZ2V0X2xvd2Vy X2Nhc2VfdGFibGVfbmFtZXMKICAgICAgICBpbm5vYmFzZV9jYXNlZG5fc3RyCiAgICAgICAgYXJl IGZ1bmN0aW9ucyB0aGF0IGFyZSBwYXJ0IG9mIGhhX2lubm9kYi5jYyB0aGF0IGlzIG5vdCBwYXJ0 IG9mIHRoZSBidWlsZAogICAgICAgICAgICAgIAogICAgICAgIGRpY3RfbWVtX2ZvcmVpZ25fdGFi bGVfbmFtZV9sb29rdXBfc2V0CiAgICAgICAgZnVuY3Rpb24gaXMgbm90IHRoZXJlIGluIHRoZSBj dXJyZW50IGNvZGViYXNlLCBtZWFuaW5nIHdlIGRvIG5vdCB1c2UgaXQgaW4gTUVCLgogICAgICBA IHN0b3JhZ2UvaW5ub2Jhc2UvZmlsL2ZpbDBmaWwuYwogICAgICAgIFRoZSBzcnZfZmFzdF9zaHV0 ZG93biB2YXJpYWJsZSBpcyBkZWNsYXJlZCBpbgogICAgICAgIHNydjBzcnYuYyB0aGF0IGlzIG5v dCBjb21waWxlZCBpbiB0aGUKICAgICAgICBteXNxbGJhY2t1cCBjb2RlYmFzZS4KICAgICAgCiAg ICAgICAgVGhpcyB0aHJvd3MgYW4gdW5kZWNsYXJlZCBlcnJvci4KICAgICAgCiAgICAgICAgRnJv bSB0aGUgTWFudWFsCiAgICAgICAgLS0tLS0tLS0tLS0tLS0tCiAgICAgIAogICAgICAgIGlubm9k Yl9mYXN0X3NodXRkb3duCiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgCiAgICAg ICAgVGhlIElubm9EQiBzaHV0ZG93biBtb2RlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAxCiAgICAg ICAgYXMgb2YgTXlTUUwgMy4yMy41MCwgd2hpY2ggY2F1c2VzIGEgw4PCosOi4oCawqzDheKAnGZh c3TDg8Kiw6LigJrCrMOvwr/CvSBzaHV0ZG93bgogICAgICAgICh0aGUgbm9ybWFsIHR5cGUgb2Yg c2h1dGRvd24pLiBJZiB0aGUgdmFsdWUgaXMgMCwKICAgICAgICBJbm5vREIgZG9lcyBhIGZ1bGwg cHVyZ2UgYW5kIGFuIGluc2VydCBidWZmZXIgbWVyZ2UKICAgICAgICBiZWZvcmUgYSBzaHV0ZG93 bi4gVGhlc2Ugb3BlcmF0aW9ucyBjYW4gdGFrZSBtaW51dGVzLAogICAgICAgIG9yIGV2ZW4gaG91 cnMgaW4gZXh0cmVtZSBjYXNlcy4gSWYgdGhlIHZhbHVlIGlzIDEsCiAgICAgICAgSW5ub0RCIHNr aXBzIHRoZXNlIG9wZXJhdGlvbnMgYXQgc2h1dGRvd24uCiAgICAgIAogICAgICAgIFRoaXMgaWRl YWxseSBkb2VzIG5vdCBtYXR0ZXIgZnJvbSBteXNxbGJhY2t1cAogICAgICAgIEAgc3RvcmFnZS9p bm5vYmFzZS9oYS9oYTBoYS5jCiAgICAgICAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL25h cmF5YW5hbi9teXNxbC1zZXJ2ZXIvbXlzcWwtNS41LW1lYi1yZWwzLjgtaW5ub2RiLWludGVncmF0 aW9uLTEvc3RvcmFnZS9pbm5vYmFzZS9oYS9oYTBoYS5jOjM0OjA6CiAgICAgICAgL2hvbWUvbmFy YXlhbmFuL215c3FsLXNlcnZlci9teXNxbC01LjUtbWViLXJlbDMuOC1pbm5vZGItaW50ZWdyYXRp b24tMS9zdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvYnRyMHNlYS5oOjI4NjoxNzogZXJyb3I6IGV4 cGVjdGVkIMODwqLDouKAmsKsw4vFkz3Dg8Kiw6LigJrCrMOi4oCewqIsIMODwqLDouKAmsKsw4vF kyzDg8Kiw6LigJrCrMOi4oCewqIsIMODwqLDouKAmsKsw4vFkzvDg8Kiw6LigJrCrMOi4oCewqIs IMODwqLDouKAmsKsw4vFk2FzbcODwqLDouKAmsKsw6LigJ7CoiBvciDDg8Kiw6LigJrCrMOLxZNf X2F0dHJpYnV0ZV9fw4PCosOi4oCawqzDouKAnsKiIGJlZm9yZSDDg8Kiw6LigJrCrMOLxZMqw4PC osOi4oCawqzDouKAnsKiIHRva2VuCiAgICAgICAgbWFrZVsyXTogKioqIFtDTWFrZUZpbGVzL2lu bm9kYi5kaXIvaG9tZS9uYXJheWFuYW4vbXlzcWwtc2VydmVyL215c3FsLTUuNS1tZWItcmVsMy44 LWlubm9kYi1pbnRlZ3JhdGlvbi0xL3N0b3JhZ2UvaW5ub2Jhc2UvaGEvaGEwaGEuYy5vXSBFcnJv ciAxCiAgICAgICAgbWFrZVsxXTogKioqIFtDTWFrZUZpbGVzL2lubm9kYi5kaXIvYWxsXSBFcnJv ciAyCiAgICAgICAgbWFrZTogKioqIFthbGxdIEVycm9yIDIKICAgICAgCiAgICAgICAgIyBpbmNs dWRlICJzeW5jMHJ3LmgiIGlzIGV4Y2x1ZGVkIGZyb20gaG90YmFja3VwIGNvbXBpbGF0aW9uIGlu IGRpY3QwZGljdC5oCiAgICAgIAogICAgICAgIFRoaXMgY2F1c2VzIGV4dGVybiByd19sb2NrX3Qq CWJ0cl9zZWFyY2hfbGF0Y2hfdGVtcDsgdG8gdGhyb3cgYSBmYWlsdXJlIGJlY2F1c2UKICAgICAg ICB0aGUgZGVmaW5pdGlvbiBvZiByd19sb2NrX3QgaXMgbm90IGZvdW5kLgogICAgICBAIHN0b3Jh Z2UvaW5ub2Jhc2UvaW5jbHVkZS9idWYwYnVmLmgKICAgICAgICBFeGNsdWRpbmcgYnVmZmVyIHBv b2wgZnVuY3Rpb25zIHRoYXQgYXJlIHVudXNlZCBmcm9tIHRoZQogICAgICAgIE1FQiBjb2RlYmFz ZS4KICAgICAgQCBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvYnVmMGJ1Zi5pYwogICAgICAgIHJl cGxpY2F0ZWQgdGhlIGV4Y2x1c2lvbiBvZgogICAgICAKICAgICAgICAjaW5jbHVkZSAiYnVmMGZs dS5oIgogICAgICAgICNpbmNsdWRlICJidWYwbHJ1LmgiCiAgICAgICAgI2luY2x1ZGUgImJ1ZjBy ZWEuaCIKICAgICAgCiAgICAgICAgYnkgbG9va2luZyBhdCB0aGUgY3VycmVudCBjb2RlYmFzZSBp biA8bWViLXRydW5rPi9zcmMvaW5ub2RiCiAgICAgICAgQCBzdG9yYWdlL2lubm9iYXNlL2luY2x1 ZGUvZGljdDBkaWN0LmgKICAgICAgICBkaWN0X3RhYmxlX3hfbG9ja19pbmRleGVzLCBkaWN0X3Rh YmxlX3hfdW5sb2NrX2luZGV4ZXMsIGRpY3RfdGFibGVfaXNfY29ycnVwdGVkLAogICAgICAgIGRp Y3RfaW5kZXhfaXNfY29ycnVwdGVkLCBidWZfYmxvY2tfYnVmX2ZpeF9pbmNfZnVuYyBhcmUgdW51 c2VkIGluIE1FQiBhbmQgd2FzCiAgICAgICAgbGVhZGluZyB0byBjb21waWxhdGlvbiBlcnJvcnMg YW5kIGhlbmNlIGV4Y2x1ZGVkLgogICAgICBAIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9kaWN0 MGRpY3QuaWMKICAgICAgICBkaWN0X3RhYmxlX3hfbG9ja19pbmRleGVzLCBkaWN0X3RhYmxlX3hf dW5sb2NrX2luZGV4ZXMsIGRpY3RfdGFibGVfaXNfY29ycnVwdGVkLAogICAgICAgIGRpY3RfaW5k ZXhfaXNfY29ycnVwdGVkLCBidWZfYmxvY2tfYnVmX2ZpeF9pbmNfZnVuYyBhcmUgdW51c2VkIGlu IE1FQiBhbmQgd2FzCiAgICAgICAgbGVhZGluZyB0byBjb21waWxhdGlvbiBlcnJvcnMgYW5kIGhl bmNlIGV4Y2x1ZGVkLgogICAgICBAIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9sb2cwbG9nLmgK ICAgICAgICAvaG9tZS9uYXJheWFuYW4vbXlzcWwtc2VydmVyL215c3FsLTUuNS1tZWItcmVsMy44 LWlubm9kYi1pbnRlZ3JhdGlvbi0xL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9sb2cwbG9nLmg6 IEF0IHRvcCBsZXZlbDoKICAgICAgICAvaG9tZS9uYXJheWFuYW4vbXlzcWwtc2VydmVyL215c3Fs LTUuNS1tZWItcmVsMy44LWlubm9kYi1pbnRlZ3JhdGlvbi0xL3N0b3JhZ2UvaW5ub2Jhc2UvaW5j bHVkZS9sb2cwbG9nLmg6NzY3OjI6IGVycm9yOiBleHBlY3RlZCBzcGVjaWZpZXItcXVhbGlmaWVy LWxpc3QgYmVmb3JlIMODwqLDoiAg4oCawqzDi8WTbXV0ZXhfdMODwqLDouKAmsKsw6LigJ7Cogog ICAgICAKICAgICAgICBtdXRleF90IGRlZmluaXRpb25zIHdlcmUgZXhjbHVkZWQgYXMgc2VlbiBm cm9tIGFtYmllbnQgY29kZQogICAgICAgIGhlbmNlIGV4Y2x1ZGluZyBkZWZpbml0aW9uIGZvciBs b2dfZmx1c2hfb3JkZXJfbXV0ZXggYWxzby4KICAgICAgQCBzdG9yYWdlL2lubm9iYXNlL2luY2x1 ZGUvb3MwZmlsZS5oCiAgICAgICAgQnVnIGluIElubm9EQiBjb2RlLCBjcmVhdGVfbW9kZSBzaG91 bGQgaGF2ZSBiZWVuIGNyZWF0ZS4KICAgICAgQCBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvc3J2 MHNydi5oCiAgICAgICAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL25hcmF5YW5hbi9teXNx bC1zZXJ2ZXIvbXlzcWwtNS41LW1lYi1yZWwzLjgtaW5ub2RiLWludGVncmF0aW9uLTEvc3RvcmFn ZS9pbm5vYmFzZS9idWYvYnVmMGJ1Zi5jOjUwOjA6CiAgICAgICAgL2hvbWUvbmFyYXlhbmFuL215 c3FsLXNlcnZlci9teXNxbC01LjUtbWViLXJlbDMuOC1pbm5vZGItaW50ZWdyYXRpb24tMS9zdG9y YWdlL2lubm9iYXNlL2luY2x1ZGUvc3J2MHNydi5oOiBBdCB0b3AgbGV2ZWw6CiAgICAgICAgL2hv bWUvbmFyYXlhbmFuL215c3FsLXNlcnZlci9teXNxbC01LjUtbWViLXJlbDMuOC1pbm5vZGItaW50 ZWdyYXRpb24tMS9zdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvc3J2MHNydi5oOjEyMDoxNjogZXJy b3I6IGV4cGVjdGVkIMODwqLDouKAmsKsw4vFkz3Dg8Kiw6LigJrCrMOi4oCewqIsIMODwqLDouKA msKsw4vFkyzDg8Kiw6LigJrCrMOi4oCewqIsIMODwqLDouKAmsKsw4vFkzvDg8Kiw6LigJrCrMOi 4oCewqIsIMODwqLDouKAmsKsw4vFk2FzbcODwqLDouKAmsKsw6LigJ7CoiBvciDDg8Kiw6LigJrC rMOLxZNfX2F0dHJpYnV0ZV9fw4PCosOi4oCawqzDouKAnsKiIGJlZm9yZSDDg8Kiw6LigJrCrMOL xZNzcnZfdXNlX25hdGl2ZV9haW/Dg8Kiw6LigJrCrMOi4oCewqIKICAgICAgCiAgICAgICAgc3J2 X3VzZV9uYXRpdmVfYWlvIC0gd2UgZG8gbm90IHVzZSBuYXRpdmUgYWlvIG9mIHRoZSBPUyBhbnl3 YXkgZnJvbSBNRUIuIE1FQiBkb2VzIG5vdCBjb21waWxlCiAgICAgICAgSW5ub0RCIHdpdGggdGhp cyBvcHRpb24uIEhlbmNlIGRpc2FibGluZyBpdC4KICAgICAgQCBzdG9yYWdlL2lubm9iYXNlL2lu Y2x1ZGUvdHJ4MHN5cy5oCiAgICAgICAgWyA1NiVdIEJ1aWxkaW5nIEMgb2JqZWN0IENNYWtlRmls ZXMvaW5ub2RiLmRpci9ob21lL25hcmF5YW5hbi9teXNxbC1zZXJ2ZXIvbXlzcWwtNS41LW1lYi1y ZWwzLjgtaW5ub2RiLWludGVncmF0aW9uLTEvc3RvcmFnZS9pbm5vYmFzZS90cngvdHJ4MHN5cy5j Lm8KICAgICAgICAvaG9tZS9uYXJheWFuYW4vbXlzcWwtc2VydmVyL215c3FsLTUuNS1tZWItcmVs My44LWlubm9kYi1pbnRlZ3JhdGlvbi0xL3N0b3JhZ2UvaW5ub2Jhc2UvdHJ4L3RyeDBzeXMuYzog SW4gZnVuY3Rpb24gw4PCosOi4oCawqzDi8WTdHJ4X3N5c19yZWFkX2ZpbGVfZm9ybWF0X2lkw4PC osOi4oCawqzDouKAnsKiOgogICAgICAgIC9ob21lL25hcmF5YW5hbi9teXNxbC1zZXJ2ZXIvbXlz cWwtNS41LW1lYi1yZWwzLjgtaW5ub2RiLWludGVncmF0aW9uLTEvc3RvcmFnZS9pbm5vYmFzZS90 cngvdHJ4MHN5cy5jOjE0OTk6MjA6IGVycm9yOiDDg8Kiw6LigJrCrMOLxZNUUlhfU1lTX0ZJTEVf Rk9STUFUX1RBR19NQUdJQ19Ow4PCosOi4oCawqzDouKAnsKiICAgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgICAgL2hvbWUvbmFyYXlhbmFuL215c3FsLXNlcnZl ci9teXNxbC01LjUtbWViLXJlbDMuOC1pbm5vZGItaW50ZWdyYXRpb24tMS9zdG9yYWdlL2lubm9i YXNlL3RyeC90cngwc3lzLmM6MTQ5OToyMDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZp ZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciAgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGlu CiAgICAgICAgL2hvbWUvbmFyYXlhbmFuL215c3FsLXNlcnZlci9teXNxbC01LjUtbWViLXJlbDMu OC1pbm5vZGItaW50ZWdyYXRpb24tMS9zdG9yYWdlL2lubm9iYXNlL3RyeC90cngwc3lzLmM6IEF0 IHRvcCBsZXZlbDoKICAgICAgICAvaG9tZS9uYXJheWFuYW4vbXlzcWwtc2VydmVyL215c3FsLTUu NS1tZWItcmVsMy44LWlubm9kYi1pbnRlZ3JhdGlvbi0xL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVk ZS9idWYwYnVmLmg6NjA3OjE6IHdhcm5pbmc6IMODwqLDouKAmsKsw4vFk2J1Zl9ibG9ja19idWZf Zml4X2luY19mdW5jw4PCosOi4oCawqzDouKAnsKiIGRlY2xhcmVkIMODwqLDouKAmsKsw4vFk3N0 YXRpY8ODwqLDouKAmsKsw6LigJ7CoiBidXQgbmV2ZXIgZGVmaW5lZAogICAgICAgIG1ha2VbMl06 ICoqKiBbQ01ha2VGaWxlcy9pbm5vZGIuZGlyL2hvbWUvbmFyYXlhbmFuL215c3FsLXNlcnZlci9t eXNxbC01LjUtbWViLXJlbDMuOC1pbm5vZGItaW50ZWdyYXRpb24tMS9zdG9yYWdlL2lubm9iYXNl L3RyeC90cngwc3lzLmMub10gRXJyb3IgMQogICAgICAKICAgICAgICB1bnVzZWQgY2FsbHMgZXhj bHVkZWQgdG8gZW5hYmxlIGNvbXBpbGF0aW9uCiAgICAgIEAgc3RvcmFnZS9pbm5vYmFzZS9tZW0v bWVtMGRiZy5jCiAgICAgICAgICBleGNsdWRpbmcgI2luY2x1ZGUgImhhX3Byb3RvdHlwZXMuaCIg dGhhdCBsZWFkIHRvIGRlZmluaXRpb25zIGluIGhhX2lubm9kYi5jYwogICAgICBAIHN0b3JhZ2Uv aW5ub2Jhc2Uvb3Mvb3MwZmlsZS5jCiAgICAgICAgICBJbm5vREIgbm90IGNvbXBpbGVkIHdpdGgg YWlvIHN1cHBvcnQgZnJvbSBNRUIgYW55d2F5LiBIZW5jZSBleGNsdWRpbmcgdGhpcyBmcm9tCiAg ICAgICAgICB0aGUgY29tcGlsYXRpb24uCiAgICAgIEAgc3RvcmFnZS9pbm5vYmFzZS9wYWdlL3Bh Z2UwemlwLmMKICAgICAgICBwYWdlMHppcC5jOigudGV4dCsweDRlOWUpOiB1bmRlZmluZWQgcmVm ZXJlbmNlIHRvIGBidWZfcG9vbF9mcm9tX2Jsb2NrJwogICAgICAgIGNvbGxlY3QyOiBsZCByZXR1 cm5lZCAxIGV4aXQgc3RhdHVzCiAgICAgIAogICAgICAgIGJ1Zl9wb29sX2Zyb21fYmxvY2sgZGVm aW5lZCBpbiBidWYwYnVmLmljLCBtb3N0IG9mIHRoZSBmaWxlIGlzIGV4Y2x1ZGVkIGZvciBjb21w aWxhdGlvbiBvZiBNRUIKICAgICAgQCBzdG9yYWdlL2lubm9iYXNlL3V0L3V0MGRiZy5jCiAgICAg ICAgZXhjbHVkaW5nICNpbmNsdWRlICJoYV9wcm90b3R5cGVzLmgiIHNpbmNlIGl0IGxlYWRzIHRv IGRlZmluaXRpb25zIGluIGhhX2lubm9kYi5jYwogICAgICAgIGlubm9iYXNlX2Jhc2VuYW1lKGZp bGUpIGlzIGRlZmluZWQgaW4gaGFfaW5ub2RiLmNjLiBIZW5jZSBleGNsdWRpbmcgdGhhdCBhbHNv LgogICAgICBAIHN0b3JhZ2UvaW5ub2Jhc2UvdXQvdXQwdXQuYwogICAgICAgIGNhbF90bSB1bnVz ZWQgZnJvbSBNRUIsIHdhcyBsZWFkaW5nIHRvIGVhcm5pbmdzLCBoZW5jZSBkaXNhYmxpbmcgZm9y IE1FQi4KCiAgICBtb2RpZmllZDoKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9idHIvYnRyMGJ0ci5j CiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvYnVmL2J1ZjBidWYuYwogICAgICBzdG9yYWdlL2lubm9i YXNlL2RpY3QvZGljdDBkaWN0LmMKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9kaWN0L2RpY3QwbWVt LmMKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9maWwvZmlsMGZpbC5jCiAgICAgIHN0b3JhZ2UvaW5u b2Jhc2UvaGEvaGEwaGEuYwogICAgICBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvYnRyMGJ0ci5o CiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9idHIwdHlwZXMuaAogICAgICBzdG9yYWdl L2lubm9iYXNlL2luY2x1ZGUvYnVmMGJ1Zi5oCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVk ZS9idWYwYnVmLmljCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9kaWN0MGRpY3QuaAog ICAgICBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvZGljdDBkaWN0LmljCiAgICAgIHN0b3JhZ2Uv aW5ub2Jhc2UvaW5jbHVkZS9sb2cwbG9nLmgKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRl L29zMGZpbGUuaAogICAgICBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvc3J2MHNydi5oCiAgICAg IHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS90cngwc3lzLmgKICAgICAgc3RvcmFnZS9pbm5vYmFz ZS9tZW0vbWVtMGRiZy5jCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2Uvb3Mvb3MwZmlsZS5jCiAgICAg IHN0b3JhZ2UvaW5ub2Jhc2UvcGFnZS9wYWdlMHppcC5jCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2Uv dHJ4L3RyeDBzeXMuYwogICAgICBzdG9yYWdlL2lubm9iYXNlL3V0L3V0MGRiZy5jCiAgICAgIHN0 b3JhZ2UvaW5ub2Jhc2UvdXQvdXQwdXQuYwogMzg2MyBUb3IgRGlkcmlrc2VuCTIwMTItMDYtMDUg W21lcmdlXQogICAgICBtZXJnZSA1LjEgPT4gNS41CgogICAgbW9kaWZpZWQ6CiAgICAgIHNxbC9y ZWNvcmRzLmNjCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL2J0ci9idHIwYnRy LmMnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvYnRyL2J0cjBidHIuYwkyMDEyLTAyLTI4IDEyOjA0 OjIxICswMDAwCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvYnRyL2J0cjBidHIuYwkyMDEyLTA2LTA3 IDEzOjQ0OjI2ICswMDAwCkBAIC00Miw2ICs0Miw3IEBAIENyZWF0ZWQgNi8yLzE5OTQgSGVpa2tp IFR1dXJpCiAjaW5jbHVkZSAiaWJ1ZjBpYnVmLmgiCiAjaW5jbHVkZSAidHJ4MHRyeC5oIgogCisj ZW5kaWYgLyogVU5JVl9IT1RCQUNLVVAgKi8KIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKIFJlcG9ydCB0aGF0IGFuIGlu ZGV4IHBhZ2UgaXMgY29ycnVwdGVkLiAqLwogVU5JVl9JTlRFUk4KQEAgLTY0LDYgKzY1LDcgQEAg YnRyX2NvcnJ1cHRpb25fcmVwb3J0KAogCWJ1Zl9wYWdlX3ByaW50KGJ1Zl9ibG9ja19nZXRfZnJh bWUoYmxvY2spLCAwLCAwKTsKIH0KIAorI2lmbmRlZiBVTklWX0hPVEJBQ0tVUAogI2lmZGVmIFVO SVZfQkxPQl9ERUJVRwogIyBpbmNsdWRlICJzcnYwc3J2LmgiCiAjIGluY2x1ZGUgInV0MHJidC5o IgpAQCAtMTU3NSw3ICsxNTc3LDkgQEAgYnRyX3BhZ2VfcmVvcmdhbml6ZV9sb3coCiAJZGljdF9p bmRleF90KglpbmRleCwJLyohPCBpbjogcmVjb3JkIGRlc2NyaXB0b3IgKi8KIAltdHJfdCoJCW10 cikJLyohPCBpbjogbXRyICovCiB7CisjaWZuZGVmIFVOSVZfSE9UQkFDS1VQCiAJYnVmX3Bvb2xf dCoJYnVmX3Bvb2wJPSBidWZfcG9vbF9mcm9tX2JwYWdlKCZibG9jay0+cGFnZSk7CisjZW5kaWYg LyogIVVOSVZfSE9UQkFDS1VQICovCiAJcGFnZV90KgkJcGFnZQkJPSBidWZfYmxvY2tfZ2V0X2Zy YW1lKGJsb2NrKTsKIAlwYWdlX3ppcF9kZXNfdCoJcGFnZV96aXAJPSBidWZfYmxvY2tfZ2V0X3Bh Z2VfemlwKGJsb2NrKTsKIAlidWZfYmxvY2tfdCoJdGVtcF9ibG9jazsKCj09PSBtb2RpZmllZCBm aWxlICdzdG9yYWdlL2lubm9iYXNlL2J1Zi9idWYwYnVmLmMnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jh c2UvYnVmL2J1ZjBidWYuYwkyMDEyLTAzLTIxIDAzOjQ4OjEyICswMDAwCisrKyBiL3N0b3JhZ2Uv aW5ub2Jhc2UvYnVmL2J1ZjBidWYuYwkyMDEyLTA2LTA3IDEzOjQ0OjI2ICswMDAwCkBAIC0zMDIs NyArMzAyLDYgQEAgc3RydWN0IGJ1Zl9jaHVua19zdHJ1Y3R7CiAJCQkJCXdhcyBhbGxvY2F0ZWQg Zm9yIHRoZSBmcmFtZXMgKi8KIAlidWZfYmxvY2tfdCoJYmxvY2tzOwkJLyohPCBhcnJheSBvZiBi dWZmZXIgY29udHJvbCBibG9ja3MgKi8KIH07Ci0jZW5kaWYgLyogIVVOSVZfSE9UQkFDS1VQICov CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKi8vKioKIEdldHMgdGhlIHNtYWxsZXN0IG9sZGVzdF9tb2RpZmljYXRp b24gbHNuIGZvciBhbnkgcGFnZSBpbiB0aGUgcG9vbC4gUmV0dXJucwpAQCAtNDM4LDYgKzQzNyw3 IEBAIGJ1Zl9ibG9ja19hbGxvYygKIAogCXJldHVybihibG9jayk7CiB9CisjZW5kaWYgLyogIVVO SVZfSE9UQkFDS1VQICovCiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKIENhbGN1bGF0ZXMgYSBwYWdlIGNo ZWNrc3VtIHdoaWNoIGlzIHN0b3JlZCB0byB0aGUgcGFnZSB3aGVuIGl0IGlzIHdyaXR0ZW4KCj09 PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL2RpY3QvZGljdDBkaWN0LmMnCi0tLSBh L3N0b3JhZ2UvaW5ub2Jhc2UvZGljdC9kaWN0MGRpY3QuYwkyMDEyLTA1LTE1IDEyOjExOjM0ICsw MDAwCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvZGljdC9kaWN0MGRpY3QuYwkyMDEyLTA2LTA3IDEz OjQ0OjI2ICswMDAwCkBAIC0xNjksNiArMTY5LDcgQEAgdm9pZAogZGljdF9maWVsZF9wcmludF9s b3coCiAvKj09PT09PT09PT09PT09PT09Ki8KIAljb25zdCBkaWN0X2ZpZWxkX3QqCWZpZWxkKTsJ LyohPCBpbjogZmllbGQgKi8KKyNpZm5kZWYgVU5JVl9IT1RCQUNLVVAKIC8qKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiov LyoqCiBGcmVlcyBhIGZvcmVpZ24ga2V5IHN0cnVjdC4gKi8KIHN0YXRpYwpAQCAtMTgyLDcgKzE4 Myw3IEBAIGFuZCB1bmlxdWUga2V5IGVycm9ycyAqLwogVU5JVl9JTlRFUk4gRklMRSoJZGljdF9m b3JlaWduX2Vycl9maWxlCQk9IE5VTEw7CiAvKiBtdXRleCBwcm90ZWN0aW5nIHRoZSBmb3JlaWdu IGFuZCB1bmlxdWUgZXJyb3IgYnVmZmVycyAqLwogVU5JVl9JTlRFUk4gbXV0ZXhfdAlkaWN0X2Zv cmVpZ25fZXJyX211dGV4OwotCisjZW5kaWYgLyogIVVOSVZfSE9UQkFDS1VQICovCiAvKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqLy8qKgogTWFrZXMgYWxsIGNoYXJhY3RlcnMgaW4gYSBOVUwtdGVybWluYXRlZCBVVEYtOCBz dHJpbmcgbG93ZXIgY2FzZS4gKi8KIFVOSVZfSU5URVJOCkBAIC0yMjQ3LDYgKzIyNDgsNyBAQCBk aWN0X2luZGV4X2J1aWxkX2ludGVybmFsX25vbl9jbHVzdCgKIAlyZXR1cm4obmV3X2luZGV4KTsK IH0KIAorI2lmbmRlZiBVTklWX0hPVEJBQ0tVUAogLyo9PT09PT09PT09PT09PT09PT09PT09IEZP UkVJR04gS0VZIFBST0NFU1NJTkcgPT09PT09PT09PT09PT09PT09PT09PT09Ki8KIAogLyoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKi8vKioKQEAgLTI1MTEsNiArMjUxMyw3IEBAIGRpY3RfZm9yZWlnbl9maW5kX2VxdWl2 X2luZGV4KAogCQkgICAgICAgRkFMU0UvKiBhbGxvdyBjb2x1bW5zIHRvIGJlIE5VTEwgKi8pKTsK IH0KIAorI2VuZGlmIC8qICFVTklWX0hPVEJBQ0tVUCAqLwogLyoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCiBS ZXR1cm5zIGFuIGluZGV4IG9iamVjdCBieSBtYXRjaGluZyBvbiB0aGUgbmFtZSBhbmQgY29sdW1u IG5hbWVzIGFuZAogaWYgbW9yZSB0aGFuIG9uZSBpbmRleCBtYXRjaGVzIHJldHVybiB0aGUgaW5k ZXggd2l0aCB0aGUgbWF4IGlkCkBAIC0yNTcwLDYgKzI1NzMsNyBAQCBkaWN0X3RhYmxlX2dldF9p bmRleF9ieV9tYXhfaWQoCiAJcmV0dXJuKGZvdW5kKTsKIH0KIAorI2lmbmRlZiBVTklWX0hPVEJB Q0tVUAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKiovLyoqCiBSZXBvcnQgYW4gZXJyb3IgaW4gYSBmb3JlaWduIGtl eSBkZWZpbml0aW9uLiAqLwogc3RhdGljCkBAIC0yNzM1LDYgKzI3MzksNyBAQCBkaWN0X2ZvcmVp Z25fYWRkX3RvX2NhY2hlKAogCXJldHVybihEQl9TVUNDRVNTKTsKIH0KIAorI2VuZGlmIC8qICFV TklWX0hPVEJBQ0tVUCAqLwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKIFNjYW5zIGZyb20gcG9pbnRlciBv bndhcmRzLiBTdG9wcyBpZiBpcyBhdCB0aGUgc3RhcnQgb2YgYSBjb3B5IG9mCiAnc3RyaW5nJyB3 aGVyZSBjaGFyYWN0ZXJzIGFyZSBjb21wYXJlZCB3aXRob3V0IGNhc2Ugc2Vuc2l0aXZpdHksIGFu ZApAQCAtMzIxNCw2ICszMjE5LDcgQEAgZW5kX29mX3N0cmluZzoKIAl9CiB9CiAKKyNpZm5kZWYg VU5JVl9IT1RCQUNLVVAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCiBGaW5kcyB0aGUgaGlnaGVzdCBbbnVt YmVyXSBmb3IgZm9yZWlnbiBrZXkgY29uc3RyYWludHMgb2YgdGhlIHRhYmxlLiBMb29rcwogb25s eSBhdCB0aGUgPj0gNC4wLjE4LWZvcm1hdCBpZCdzLCB3aGljaCBhcmUgb2YgdGhlIGZvcm0KQEAg LTQwNTAsNyArNDA1Niw3IEBAIHN5bnRheF9lcnJvcjoKIH0KIAogLyo9PT09PT09PT09PT09PT09 PT09PSBFTkQgT0YgRk9SRUlHTiBLRVkgUFJPQ0VTU0lORyA9PT09PT09PT09PT09PT09PT09PSov Ci0KKyNlbmRpZiAvKiAhVU5JVl9IT1RCQUNLVVAgKi8KIC8qKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgogUmV0 dXJucyBhbiBpbmRleCBvYmplY3QgaWYgaXQgaXMgZm91bmQgaW4gdGhlIGRpY3Rpb25hcnkgY2Fj aGUuCiBBc3N1bWVzIHRoYXQgZGljdF9zeXMtPm11dGV4IGlzIGFscmVhZHkgYmVpbmcgaGVsZC4K QEAgLTQ0MTEsNiArNDQxNyw3IEBAIGZha2Vfc3RhdGlzdGljczoKIAlkaWN0X3RhYmxlX3N0YXRz X3VubG9jayh0YWJsZSwgUldfWF9MQVRDSCk7CiB9CiAKKyNpZm5kZWYgVU5JVl9IT1RCQUNLVVAK IC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqLy8qKgogUHJpbnRzIGluZm8gb2YgYSBmb3JlaWduIGtleSBjb25zdHJh aW50LiAqLwogc3RhdGljCkBAIC00NDQxLDYgKzQ0NDgsNyBAQCBkaWN0X2ZvcmVpZ25fcHJpbnRf bG93KAogCWZwdXRzKCIgKVxuIiwgc3RkZXJyKTsKIH0KIAorI2VuZGlmIC8qICFVTklWX0hPVEJB Q0tVUCAqLwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKiovLyoqCiBQcmludHMgYSB0YWJsZSBkYXRhLiAqLwogVU5J Vl9JTlRFUk4KQEAgLTQ2MjIsNiArNDYzMCw3IEBAIGRpY3RfZmllbGRfcHJpbnRfbG93KAogCX0K IH0KIAorI2lmbmRlZiBVTklWX0hPVEJBQ0tVUAogLyoqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCiBPdXRwdXRz IGluZm8gb24gYSBmb3JlaWduIGtleSBvZiBhIHRhYmxlIGluIGEgZm9ybWF0IHN1aXRhYmxlIGZv cgogQ1JFQVRFIFRBQkxFLiAqLwpAQCAtNDgxMCw2ICs0ODE5LDcgQEAgZGljdF9wcmludF9pbmZv X29uX2ZvcmVpZ25fa2V5cygKIAltdXRleF9leGl0KCYoZGljdF9zeXMtPm11dGV4KSk7CiB9CiAK KyNlbmRpZiAvKiAhVU5JVl9IT1RCQUNLVVAgKi8KIC8qKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKIERpc3BsYXlz IHRoZSBuYW1lcyBvZiB0aGUgaW5kZXggYW5kIHRoZSB0YWJsZS4gKi8KIFVOSVZfSU5URVJOCgo9 PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9kaWN0L2RpY3QwbWVtLmMnCi0tLSBh L3N0b3JhZ2UvaW5ub2Jhc2UvZGljdC9kaWN0MG1lbS5jCTIwMTEtMDUtMzEgMDk6MTI6MzIgKzAw MDAKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9kaWN0L2RpY3QwbWVtLmMJMjAxMi0wNi0wNyAxMzo0 NDoyNiArMDAwMApAQCAtMzMsOCArMzMsOCBAQCBDcmVhdGVkIDEvOC8xOTk2IEhlaWtraSBUdXVy aQogI2luY2x1ZGUgImRhdGEwdHlwZS5oIgogI2luY2x1ZGUgIm1hY2gwZGF0YS5oIgogI2luY2x1 ZGUgImRpY3QwZGljdC5oIgotI2luY2x1ZGUgImhhX3Byb3RvdHlwZXMuaCIgLyogaW5ub2Jhc2Vf Y2FzZWRuX3N0cigpKi8KICNpZm5kZWYgVU5JVl9IT1RCQUNLVVAKKyMgaW5jbHVkZSAiaGFfcHJv dG90eXBlcy5oIiAvKiBpbm5vYmFzZV9jYXNlZG5fc3RyKCkqLwogIyBpbmNsdWRlICJsb2NrMGxv Y2suaCIKICNlbmRpZiAvKiAhVU5JVl9IT1RCQUNLVVAgKi8KICNpZmRlZiBVTklWX0JMT0JfREVC VUcKQEAgLTI3Miw2ICsyNzIsNyBAQCBkaWN0X21lbV9pbmRleF9jcmVhdGUoCiAJcmV0dXJuKGlu ZGV4KTsKIH0KIAorI2lmbmRlZiBVTklWX0hPVEJBQ0tVUAogLyoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCiBD cmVhdGVzIGFuZCBpbml0aWFsaXplcyBhIGZvcmVpZ24gY29uc3RyYWludCBtZW1vcnkgb2JqZWN0 LgogQHJldHVybglvd246IGZvcmVpZ24gY29uc3RyYWludCBzdHJ1Y3QgKi8KQEAgLTM0Niw2ICsz NDcsNyBAQCBkaWN0X21lbV9yZWZlcmVuY2VkX3RhYmxlX25hbWVfbG9va3VwX3NlCiAJfQogfQog CisjZW5kaWYgLyogIVVOSVZfSE9UQkFDS1VQICovCiAvKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKIEFkZHMg YSBmaWVsZCBkZWZpbml0aW9uIHRvIGFuIGluZGV4LiBOT1RFOiBkb2VzIG5vdCB0YWtlIGEgY29w eQogb2YgdGhlIGNvbHVtbiBuYW1lIGlmIHRoZSBmaWVsZCBpcyBhIGNvbHVtbi4gVGhlIG1lbW9y eSBvY2N1cGllZAoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvZmlsL2ZpbDBm aWwuYycKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9maWwvZmlsMGZpbC5jCTIwMTItMDQtMjYgMTU6 MjE6MjUgKzAwMDAKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9maWwvZmlsMGZpbC5jCTIwMTItMDYt MDcgMTM6NDQ6MjYgKzAwMDAKQEAgLTg1Nyw4ICs4NTcsMTAgQEAgZmlsX25vZGVfY2xvc2VfZmls ZSgKIAl1dF9hKG5vZGUtPm9wZW4pOwogCXV0X2Eobm9kZS0+bl9wZW5kaW5nID09IDApOwogCXV0 X2Eobm9kZS0+bl9wZW5kaW5nX2ZsdXNoZXMgPT0gMCk7CisjaWZuZGVmIFVOSVZfSE9UQkFDS1VQ CiAJdXRfYShub2RlLT5tb2RpZmljYXRpb25fY291bnRlciA9PSBub2RlLT5mbHVzaF9jb3VudGVy CiAJICAgICB8fCBzcnZfZmFzdF9zaHV0ZG93biA9PSAyKTsKKyNlbmRpZiAvKiAhVU5JVl9IT1RC QUNLVVAgKi8KIAogCXJldCA9IG9zX2ZpbGVfY2xvc2Uobm9kZS0+aGFuZGxlKTsKIAl1dF9hKHJl dCk7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9oYS9oYTBoYS5jJwotLS0g YS9zdG9yYWdlL2lubm9iYXNlL2hhL2hhMGhhLmMJMjAxMS0xMC0xMiAwNjoyMTozMyArMDAwMAor KysgYi9zdG9yYWdlL2lubm9iYXNlL2hhL2hhMGhhLmMJMjAxMi0wNi0wNyAxMzo0NDoyNiArMDAw MApAQCAtMjgsNiArMjgsNyBAQCBDcmVhdGVkIDgvMjIvMTk5NCBIZWlra2kgVHV1cmkKICNpbmNs dWRlICJoYTBoYS5pYyIKICNlbmRpZgogCisjaWZuZGVmIFVOSVZfSE9UQkFDS1VQCiAjaWZkZWYg VU5JVl9ERUJVRwogIyBpbmNsdWRlICJidWYwYnVmLmgiCiAjZW5kaWYgLyogVU5JVl9ERUJVRyAq LwpAQCAtNTEsMTcgKzUyLDEzIEBAIGhhX2NyZWF0ZV9mdW5jKAogCQkJCWhhc2ggdGFibGU6IG11 c3QgYmUgYSBwb3dlciBvZiAyLCBvciAwICovCiB7CiAJaGFzaF90YWJsZV90Kgl0YWJsZTsKLSNp Zm5kZWYgVU5JVl9IT1RCQUNLVVAKIAl1bGludAkJaTsKLSNlbmRpZiAvKiAhVU5JVl9IT1RCQUNL VVAgKi8KIAogCXV0X2FkKHV0X2lzXzJwb3cobl9tdXRleGVzKSk7CiAJdGFibGUgPSBoYXNoX2Ny ZWF0ZShuKTsKIAogI2lmIGRlZmluZWQgVU5JVl9BSElfREVCVUcgfHwgZGVmaW5lZCBVTklWX0RF QlVHCi0jIGlmbmRlZiBVTklWX0hPVEJBQ0tVUAogCXRhYmxlLT5hZGFwdGl2ZSA9IFRSVUU7Ci0j IGVuZGlmIC8qICFVTklWX0hPVEJBQ0tVUCAqLwogI2VuZGlmIC8qIFVOSVZfQUhJX0RFQlVHIHx8 IFVOSVZfREVCVUcgKi8KIAkvKiBDcmVhdGluZyBNRU1fSEVBUF9CVFJfU0VBUkNIIHR5cGUgaGVh cHMgY2FuIHBvdGVudGlhbGx5IGZhaWwsCiAJYnV0IGluIHByYWN0aXNlIGl0IG5ldmVyIHNob3Vs ZCBpbiB0aGlzIGNhc2UsIGhlbmNlIHRoZSBhc3NlcnRzLiAqLwpAQCAtNzQsNyArNzEsNiBAQCBo YV9jcmVhdGVfZnVuYygKIAkJcmV0dXJuKHRhYmxlKTsKIAl9CiAKLSNpZm5kZWYgVU5JVl9IT1RC QUNLVVAKIAloYXNoX2NyZWF0ZV9tdXRleGVzKHRhYmxlLCBuX211dGV4ZXMsIG11dGV4X2xldmVs KTsKIAogCXRhYmxlLT5oZWFwcyA9IG1lbV9hbGxvYyhuX211dGV4ZXMgKiBzaXplb2Yodm9pZCop KTsKQEAgLTgzLDcgKzc5LDYgQEAgaGFfY3JlYXRlX2Z1bmMoCiAJCXRhYmxlLT5oZWFwc1tpXSA9 IG1lbV9oZWFwX2NyZWF0ZV9pbl9idHJfc2VhcmNoKDQwOTYpOwogCQl1dF9hKHRhYmxlLT5oZWFw c1tpXSk7CiAJfQotI2VuZGlmIC8qICFVTklWX0hPVEJBQ0tVUCAqLwogCiAJcmV0dXJuKHRhYmxl KTsKIH0KQEAgLTEzNCw3ICsxMjksNiBAQCBoYV9pbnNlcnRfZm9yX2ZvbGRfZnVuYygKIAl3aGls ZSAocHJldl9ub2RlICE9IE5VTEwpIHsKIAkJaWYgKHByZXZfbm9kZS0+Zm9sZCA9PSBmb2xkKSB7 CiAjaWYgZGVmaW5lZCBVTklWX0FISV9ERUJVRyB8fCBkZWZpbmVkIFVOSVZfREVCVUcKLSMgaWZu ZGVmIFVOSVZfSE9UQkFDS1VQCiAJCQlpZiAodGFibGUtPmFkYXB0aXZlKSB7CiAJCQkJYnVmX2Js b2NrX3QqIHByZXZfYmxvY2sgPSBwcmV2X25vZGUtPmJsb2NrOwogCQkJCXV0X2EocHJldl9ibG9j ay0+ZnJhbWUKQEAgLTE0Myw3ICsxMzcsNiBAQCBoYV9pbnNlcnRfZm9yX2ZvbGRfZnVuYygKIAkJ CQlwcmV2X2Jsb2NrLT5uX3BvaW50ZXJzLS07CiAJCQkJYmxvY2stPm5fcG9pbnRlcnMrKzsKIAkJ CX0KLSMgZW5kaWYgLyogIVVOSVZfSE9UQkFDS1VQICovCiAKIAkJCXByZXZfbm9kZS0+YmxvY2sg PSBibG9jazsKICNlbmRpZiAvKiBVTklWX0FISV9ERUJVRyB8fCBVTklWX0RFQlVHICovCkBAIC0x NzEsMTEgKzE2NCw5IEBAIGhhX2luc2VydF9mb3JfZm9sZF9mdW5jKAogCWhhX25vZGVfc2V0X2Rh dGEobm9kZSwgYmxvY2ssIGRhdGEpOwogCiAjaWYgZGVmaW5lZCBVTklWX0FISV9ERUJVRyB8fCBk ZWZpbmVkIFVOSVZfREVCVUcKLSMgaWZuZGVmIFVOSVZfSE9UQkFDS1VQCiAJaWYgKHRhYmxlLT5h ZGFwdGl2ZSkgewogCQlibG9jay0+bl9wb2ludGVycysrOwogCX0KLSMgZW5kaWYgLyogIVVOSVZf SE9UQkFDS1VQICovCiAjZW5kaWYgLyogVU5JVl9BSElfREVCVUcgfHwgVU5JVl9ERUJVRyAqLwog CiAJbm9kZS0+Zm9sZCA9IGZvbGQ7CkBAIC0yMTcsMTMgKzIwOCwxMSBAQCBoYV9kZWxldGVfaGFz aF9ub2RlKAogI2VuZGlmIC8qIFVOSVZfU1lOQ19ERUJVRyAqLwogCXV0X2FkKGJ0cl9zZWFyY2hf ZW5hYmxlZCk7CiAjaWYgZGVmaW5lZCBVTklWX0FISV9ERUJVRyB8fCBkZWZpbmVkIFVOSVZfREVC VUcKLSMgaWZuZGVmIFVOSVZfSE9UQkFDS1VQCiAJaWYgKHRhYmxlLT5hZGFwdGl2ZSkgewogCQl1 dF9hKGRlbF9ub2RlLT5ibG9jay0+ZnJhbWUgPSBwYWdlX2FsaWduKGRlbF9ub2RlLT5kYXRhKSk7 CiAJCXV0X2EoZGVsX25vZGUtPmJsb2NrLT5uX3BvaW50ZXJzID4gMCk7CiAJCWRlbF9ub2RlLT5i bG9jay0+bl9wb2ludGVycy0tOwogCX0KLSMgZW5kaWYgLyogIVVOSVZfSE9UQkFDS1VQICovCiAj ZW5kaWYgLyogVU5JVl9BSElfREVCVUcgfHwgVU5JVl9ERUJVRyAqLwogCiAJSEFTSF9ERUxFVEVf QU5EX0NPTVBBQ1QoaGFfbm9kZV90LCBuZXh0LCB0YWJsZSwgZGVsX25vZGUpOwpAQCAtMjY0LDEz ICsyNTMsMTEgQEAgaGFfc2VhcmNoX2FuZF91cGRhdGVfaWZfZm91bmRfZnVuYygKIAogCWlmIChu b2RlKSB7CiAjaWYgZGVmaW5lZCBVTklWX0FISV9ERUJVRyB8fCBkZWZpbmVkIFVOSVZfREVCVUcK LSMgaWZuZGVmIFVOSVZfSE9UQkFDS1VQCiAJCWlmICh0YWJsZS0+YWRhcHRpdmUpIHsKIAkJCXV0 X2Eobm9kZS0+YmxvY2stPm5fcG9pbnRlcnMgPiAwKTsKIAkJCW5vZGUtPmJsb2NrLT5uX3BvaW50 ZXJzLS07CiAJCQluZXdfYmxvY2stPm5fcG9pbnRlcnMrKzsKIAkJfQotIyBlbmRpZiAvKiAhVU5J Vl9IT1RCQUNLVVAgKi8KIAogCQlub2RlLT5ibG9jayA9IG5ld19ibG9jazsKICNlbmRpZiAvKiBV TklWX0FISV9ERUJVRyB8fCBVTklWX0RFQlVHICovCkBAIC0yNzgsNyArMjY1LDYgQEAgaGFfc2Vh cmNoX2FuZF91cGRhdGVfaWZfZm91bmRfZnVuYygKIAl9CiB9CiAKLSNpZm5kZWYgVU5JVl9IT1RC QUNLVVAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKi8vKioKIFJlbW92ZXMgZnJvbSB0aGUgY2hhaW4gZGV0ZXJtaW5lZCBi eSBmb2xkIGFsbCBub2RlcyB3aG9zZSBkYXRhIHBvaW50ZXIKIHBvaW50cyB0byB0aGUgcGFnZSBn aXZlbi4gKi8KCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvYnRy MGJ0ci5oJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvYnRyMGJ0ci5oCTIwMTItMDIt MjggMTI6MDQ6MjEgKzAwMDAKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL2J0cjBidHIu aAkyMDEyLTA2LTA3IDEzOjQ0OjI2ICswMDAwCkBAIC05Miw2ICs5Miw4IEBAIGluc2VydC9kZWxl dGUgYnVmZmVyIHdoZW4gdGhlIHJlY29yZCBpcwogYnVmZmVyIHdoZW4gdGhlIHJlY29yZCBpcyBu b3QgaW4gdGhlIGJ1ZmZlciBwb29sLiAqLwogI2RlZmluZSBCVFJfREVMRVRFCQk4MTkyCiAKKyNl bmRpZiAvKiBVTklWX0hPVEJBQ0tVUCAqLworCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCiBSZXBvcnQgdGhhdCBhbiBp bmRleCBwYWdlIGlzIGNvcnJ1cHRlZC4gKi8KIFVOSVZfSU5URVJOCkBAIC0xMTIsNiArMTE0LDcg QEAgYnRyX2NvcnJ1cHRpb25fcmVwb3J0KAogCQl1dF9lcnJvcjsJCQkJCVwKIAl9CiAKKyNpZm5k ZWYgVU5JVl9IT1RCQUNLVVAKICNpZmRlZiBVTklWX0JMT0JfREVCVUcKICMgaW5jbHVkZSAidXQw cmJ0LmgiCiAvKiogQW4gaW5kZXgtPmJsb2JzIGVudHJ5IGZvciBrZWVwaW5nIHRyYWNrIG9mIG9m Zi1wYWdlIGNvbHVtbiByZWZlcmVuY2VzICovCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9p bm5vYmFzZS9pbmNsdWRlL2J0cjB0eXBlcy5oJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL2luY2x1 ZGUvYnRyMHR5cGVzLmgJMjAxMS0xMC0xMiAwNjoyMTozMyArMDAwMAorKysgYi9zdG9yYWdlL2lu bm9iYXNlL2luY2x1ZGUvYnRyMHR5cGVzLmgJMjAxMi0wNi0wNyAxMzo0NDoyNiArMDAwMApAQCAt MzksNiArMzksOCBAQCB0eXBlZGVmIHN0cnVjdCBidHJfY3VyX3N0cnVjdAkJYnRyX2N1cl90CiAv KiogQi10cmVlIHNlYXJjaCBpbmZvcm1hdGlvbiBmb3IgdGhlIGFkYXB0aXZlIGhhc2ggaW5kZXgg Ki8KIHR5cGVkZWYgc3RydWN0IGJ0cl9zZWFyY2hfc3RydWN0CWJ0cl9zZWFyY2hfdDsKIAorI2lm bmRlZiBVTklWX0hPVEJBQ0tVUAorCiAvKiogQGJyaWVmIFRoZSBsYXRjaCBwcm90ZWN0aW5nIHRo ZSBhZGFwdGl2ZSBzZWFyY2ggc3lzdGVtCiAKIFRoaXMgbGF0Y2ggcHJvdGVjdHMgdGhlCkBAIC01 NCw2ICs1Niw4IEBAIEJlYXIgaW4gbWluZCAoMykgYW5kICg0KSB3aGVuIHVzaW5nIHRoZQogKi8K IGV4dGVybiByd19sb2NrX3QqCWJ0cl9zZWFyY2hfbGF0Y2hfdGVtcDsKIAorI2VuZGlmIC8qIFVO SVZfSE9UQkFDS1VQICovCisKIC8qKiBUaGUgbGF0Y2ggcHJvdGVjdGluZyB0aGUgYWRhcHRpdmUg c2VhcmNoIHN5c3RlbSAqLwogI2RlZmluZSBidHJfc2VhcmNoX2xhdGNoCSgqYnRyX3NlYXJjaF9s YXRjaF90ZW1wKQogCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRl L2J1ZjBidWYuaCcKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL2J1ZjBidWYuaAkyMDEy LTAzLTIxIDAzOjQ4OjEyICswMDAwCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9idWYw YnVmLmgJMjAxMi0wNi0wNyAxMzo0NDoyNiArMDAwMApAQCAtNTkzLDM0ICs1OTMsMzQgQEAgaWJf dWludDY0X3QKIGJ1Zl9ibG9ja19nZXRfbW9kaWZ5X2Nsb2NrKAogLyo9PT09PT09PT09PT09PT09 PT09PT09PSovCiAJYnVmX2Jsb2NrX3QqCWJsb2NrKTsJLyohPCBpbjogYmxvY2sgKi8KLSNlbHNl IC8qICFVTklWX0hPVEJBQ0tVUCAqLwotIyBkZWZpbmUgYnVmX2Jsb2NrX21vZGlmeV9jbG9ja19p bmMoYmxvY2spICgodm9pZCkgMCkKLSNlbmRpZiAvKiAhVU5JVl9IT1RCQUNLVVAgKi8KIC8qKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqLy8qKgogSW5jcmVtZW50cyB0aGUgYnVmZmVyZml4IGNvdW50LiAqLwogVU5JVl9JTkxJ TkUKIHZvaWQKIGJ1Zl9ibG9ja19idWZfZml4X2luY19mdW5jKAogLyo9PT09PT09PT09PT09PT09 PT09PT09PSovCi0jaWZkZWYgVU5JVl9TWU5DX0RFQlVHCisjIGlmZGVmIFVOSVZfU1lOQ19ERUJV RwogCWNvbnN0IGNoYXIqCWZpbGUsCS8qITwgaW46IGZpbGUgbmFtZSAqLwogCXVsaW50CQlsaW5l LAkvKiE8IGluOiBsaW5lICovCi0jZW5kaWYgLyogVU5JVl9TWU5DX0RFQlVHICovCisjIGVuZGlm IC8qIFVOSVZfU1lOQ19ERUJVRyAqLwogCWJ1Zl9ibG9ja190KglibG9jaykJLyohPCBpbi9vdXQ6 IGJsb2NrIHRvIGJ1ZmZlcmZpeCAqLwogCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKTsKLSNpZmRl ZiBVTklWX1NZTkNfREVCVUcKKyMgaWZkZWYgVU5JVl9TWU5DX0RFQlVHCiAvKiogSW5jcmVtZW50 cyB0aGUgYnVmZmVyZml4IGNvdW50LgogQHBhcmFtIGIJaW4vb3V0OiBibG9jayB0byBidWZmZXJm aXgKIEBwYXJhbSBmCWluOiBmaWxlIG5hbWUgd2hlcmUgcmVxdWVzdGVkCiBAcGFyYW0gbAlpbjog bGluZSBudW1iZXIgd2hlcmUgcmVxdWVzdGVkICovCiAjIGRlZmluZSBidWZfYmxvY2tfYnVmX2Zp eF9pbmMoYixmLGwpIGJ1Zl9ibG9ja19idWZfZml4X2luY19mdW5jKGYsbCxiKQotI2Vsc2UgLyog VU5JVl9TWU5DX0RFQlVHICovCisjIGVsc2UgLyogVU5JVl9TWU5DX0RFQlVHICovCiAvKiogSW5j cmVtZW50cyB0aGUgYnVmZmVyZml4IGNvdW50LgogQHBhcmFtIGIJaW4vb3V0OiBibG9jayB0byBi dWZmZXJmaXgKIEBwYXJhbSBmCWluOiBmaWxlIG5hbWUgd2hlcmUgcmVxdWVzdGVkCiBAcGFyYW0g bAlpbjogbGluZSBudW1iZXIgd2hlcmUgcmVxdWVzdGVkICovCiAjIGRlZmluZSBidWZfYmxvY2tf YnVmX2ZpeF9pbmMoYixmLGwpIGJ1Zl9ibG9ja19idWZfZml4X2luY19mdW5jKGIpCi0jZW5kaWYg LyogVU5JVl9TWU5DX0RFQlVHICovCisjIGVuZGlmIC8qIFVOSVZfU1lOQ19ERUJVRyAqLworI2Vs c2UgLyogIVVOSVZfSE9UQkFDS1VQICovCisjIGRlZmluZSBidWZfYmxvY2tfbW9kaWZ5X2Nsb2Nr X2luYyhibG9jaykgKCh2b2lkKSAwKQorI2VuZGlmIC8qICFVTklWX0hPVEJBQ0tVUCAqLwogLyoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqLy8qKgogQ2FsY3VsYXRlcyBhIHBhZ2UgY2hlY2tzdW0gd2hpY2ggaXMgc3RvcmVk IHRvIHRoZSBwYWdlIHdoZW4gaXQgaXMgd3JpdHRlbgogdG8gYSBmaWxlLiBOb3RlIHRoYXQgd2Ug bXVzdCBiZSBjYXJlZnVsIHRvIGNhbGN1bGF0ZSB0aGUgc2FtZSB2YWx1ZQoKPT09IG1vZGlmaWVk IGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9idWYwYnVmLmljJwotLS0gYS9zdG9yYWdl L2lubm9iYXNlL2luY2x1ZGUvYnVmMGJ1Zi5pYwkyMDEyLTAyLTE3IDA5OjUyOjUxICswMDAwCisr KyBiL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9idWYwYnVmLmljCTIwMTItMDYtMDcgMTM6NDQ6 MjYgKzAwMDAKQEAgLTMxLDYgKzMxLDcgQEAgQ3JlYXRlZCAxMS81LzE5OTUgSGVpa2tpIFR1dXJp CiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq LwogCiAjaW5jbHVkZSAibXRyMG10ci5oIgorI2lmbmRlZiBVTklWX0hPVEJBQ0tVUAogI2luY2x1 ZGUgImJ1ZjBmbHUuaCIKICNpbmNsdWRlICJidWYwbHJ1LmgiCiAjaW5jbHVkZSAiYnVmMHJlYS5o IgpAQCAtMTgwLDYgKzE4MSw3IEBAIGJ1Zl9wYWdlX3BlZWtfaWZfdG9vX29sZCgKIAkJcmV0dXJu KCFidWZfcGFnZV9wZWVrX2lmX3lvdW5nKGJwYWdlKSk7CiAJfQogfQorI2VuZGlmIC8qICFVTklW X0hPVEJBQ0tVUCAqLwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgogR2V0cyB0aGUgc3RhdGUgb2YgYSBi bG9jay4KCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvZGljdDBk aWN0LmgnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9kaWN0MGRpY3QuaAkyMDEyLTAy LTI4IDEyOjA0OjIxICswMDAwCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9kaWN0MGRp Y3QuaAkyMDEyLTA2LTA3IDEzOjQ0OjI2ICswMDAwCkBAIC03NTAsNiArNzUwLDcgQEAgdWxpbnQK IGRpY3RfdGFibGVfemlwX3NpemUoCiAvKj09PT09PT09PT09PT09PT0qLwogCWNvbnN0IGRpY3Rf dGFibGVfdCoJdGFibGUpOwkvKiE8IGluOiB0YWJsZSAqLworI2lmbmRlZiBVTklWX0hPVEJBQ0tV UAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKi8vKioKIE9idGFpbiBleGNsdXNpdmUgbG9ja3Mgb24gYWxsIGluZGV4 IHRyZWVzIG9mIHRoZSB0YWJsZS4gVGhpcyBpcyB0byBwcmV2ZW50CiBhY2Nlc3NpbmcgaW5kZXgg dHJlZXMgd2hpbGUgSW5ub0RCIGlzIHVwZGF0aW5nIGludGVybmFsIG1ldGFkYXRhIGZvcgpAQCAt NzY2LDYgKzc2Nyw3IEBAIHZvaWQKIGRpY3RfdGFibGVfeF91bmxvY2tfaW5kZXhlcygKIC8qPT09 PT09PT09PT09PT09PT09PT09PT09Ki8KIAlkaWN0X3RhYmxlX3QqCXRhYmxlKTsJLyohPCBpbjog dGFibGUgKi8KKyNlbmRpZiAvKiAhVU5JVl9IT1RCQUNLVVAgKi8KIC8qKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioK IENoZWNrcyBpZiBhIGNvbHVtbiBpcyBpbiB0aGUgb3JkZXJpbmcgY29sdW1ucyBvZiB0aGUgY2x1 c3RlcmVkIGluZGV4IG9mIGEKIHRhYmxlLiBDb2x1bW4gcHJlZml4ZXMgYXJlIHRyZWF0ZWQgbGlr ZSB3aG9sZSBjb2x1bW5zLgpAQCAtMTI1MSw3ICsxMjUzLDcgQEAgVU5JVl9JTlRFUk4KIHZvaWQK IGRpY3RfY2xvc2Uodm9pZCk7CiAvKj09PT09PT09PT09PSovCi0KKyNpZm5kZWYgVU5JVl9IT1RC QUNLVVAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqLy8qKgogQ2hlY2sgd2hldGhlciB0aGUgdGFibGUgaXMgY29y cnVwdGVkLgogQHJldHVybglub256ZXJvIGZvciBjb3JydXB0ZWQgdGFibGUsIHplcm8gZm9yIHZh bGlkIHRhYmxlcyAqLwpAQCAtMTI3Miw2ICsxMjc0LDcgQEAgZGljdF9pbmRleF9pc19jb3JydXB0 ZWQoCiAJY29uc3QgZGljdF9pbmRleF90KglpbmRleCkJLyohPCBpbjogaW5kZXggKi8KIAlfX2F0 dHJpYnV0ZV9fKChub25udWxsLCBwdXJlLCB3YXJuX3VudXNlZF9yZXN1bHQpKTsKIAorI2VuZGlm IC8qICFVTklWX0hPVEJBQ0tVUCAqLwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCiBGbGFncyBhbiBpbmRl eCBhbmQgdGFibGUgY29ycnVwdGVkIGJvdGggaW4gdGhlIGRhdGEgZGljdGlvbmFyeSBjYWNoZQog YW5kIGluIHRoZSBzeXN0ZW0gdGFibGUgU1lTX0lOREVYRVMuICovCgo9PT0gbW9kaWZpZWQgZmls ZSAnc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL2RpY3QwZGljdC5pYycKLS0tIGEvc3RvcmFnZS9p bm5vYmFzZS9pbmNsdWRlL2RpY3QwZGljdC5pYwkyMDEyLTAyLTI4IDEyOjA0OjIxICswMDAwCisr KyBiL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9kaWN0MGRpY3QuaWMJMjAxMi0wNi0wNyAxMzo0 NDoyNiArMDAwMApAQCAtNDkxLDYgKzQ5MSw3IEBAIGRpY3RfdGFibGVfemlwX3NpemUoCiAJcmV0 dXJuKGRpY3RfdGFibGVfZmxhZ3NfdG9femlwX3NpemUodGFibGUtPmZsYWdzKSk7CiB9CiAKKyNp Zm5kZWYgVU5JVl9IT1RCQUNLVVAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCiBPYnRhaW4gZXhjbHVzaXZl IGxvY2tzIG9uIGFsbCBpbmRleCB0cmVlcyBvZiB0aGUgdGFibGUuIFRoaXMgaXMgdG8gcHJldmVu dAogYWNjZXNzaW5nIGluZGV4IHRyZWVzIHdoaWxlIElubm9EQiBpcyB1cGRhdGluZyBpbnRlcm5h bCBtZXRhZGF0YSBmb3IKQEAgLTUzMyw2ICs1MzQsNyBAQCBkaWN0X3RhYmxlX3hfdW5sb2NrX2lu ZGV4ZXMoCiAJCXJ3X2xvY2tfeF91bmxvY2soZGljdF9pbmRleF9nZXRfbG9jayhpbmRleCkpOwog CX0KIH0KKyNlbmRpZiAvKiAhVU5JVl9IT1RCQUNLVVAgKi8KIC8qKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKIEdl dHMgdGhlIG51bWJlciBvZiBmaWVsZHMgaW4gdGhlIGludGVybmFsIHJlcHJlc2VudGF0aW9uIG9m IGFuIGluZGV4LAogaW5jbHVkaW5nIGZpZWxkcyBhZGRlZCBieSB0aGUgZGljdGlvbmFyeSBzeXN0 ZW0uCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL2xvZzBsb2cu aCcKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL2xvZzBsb2cuaAkyMDEyLTAyLTE2IDEw OjI4OjQ5ICswMDAwCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9sb2cwbG9nLmgJMjAx Mi0wNi0wNyAxMzo0NDoyNiArMDAwMApAQCAtNzYyLDcgKzc2Miw2IEBAIHN0cnVjdCBsb2dfc3Ry dWN0ewogCQkJCQlidWZmZXIgKi8KICNpZm5kZWYgVU5JVl9IT1RCQUNLVVAKIAltdXRleF90CQlt dXRleDsJCS8qITwgbXV0ZXggcHJvdGVjdGluZyB0aGUgbG9nICovCi0jZW5kaWYgLyogIVVOSVZf SE9UQkFDS1VQICovCiAKIAltdXRleF90CQlsb2dfZmx1c2hfb3JkZXJfbXV0ZXg7LyohPCBtdXRl eCB0byBzZXJpYWxpemUgYWNjZXNzIHRvCiAJCQkJCXRoZSBmbHVzaCBsaXN0IHdoZW4gd2UgYXJl IHB1dHRpbmcKQEAgLTc3Miw2ICs3NzEsNyBAQCBzdHJ1Y3QgbG9nX3N0cnVjdHsKIAkJCQkJbXRy X2NvbW1pdCBhbmQgc3RpbGwgZW5zdXJlIHRoYXQKIAkJCQkJaW5zZXJ0aW9ucyBpbiB0aGUgZmx1 c2hfbGlzdCBoYXBwZW4KIAkJCQkJaW4gdGhlIExTTiBvcmRlci4gKi8KKyNlbmRpZiAvKiAhVU5J Vl9IT1RCQUNLVVAgKi8KIAlieXRlKgkJYnVmX3B0cjsJLyogdW5hbGlnbmVkIGxvZyBidWZmZXIg Ki8KIAlieXRlKgkJYnVmOwkJLyohPCBsb2cgYnVmZmVyICovCiAJdWxpbnQJCWJ1Zl9zaXplOwkv KiE8IGxvZyBidWZmZXIgc2l6ZSBpbiBieXRlcyAqLwoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3Jh Z2UvaW5ub2Jhc2UvaW5jbHVkZS9vczBmaWxlLmgnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvaW5j bHVkZS9vczBmaWxlLmgJMjAxMC0xMi0wMSAwODo0MzozMyArMDAwMAorKysgYi9zdG9yYWdlL2lu bm9iYXNlL2luY2x1ZGUvb3MwZmlsZS5oCTIwMTItMDYtMDcgMTM6NDQ6MjYgKzAwMDAKQEAgLTMw OSw3ICszMDksNyBAQCB0byBvcmlnaW5hbCB1bi1pbnN0cnVtZW50ZWQgZmlsZSBJL08gQVBJCiAJ b3NfZmlsZV9jcmVhdGVfZnVuYyhuYW1lLCBjcmVhdGUsIHB1cnBvc2UsIHR5cGUsIHN1Y2Nlc3Mp CiAKICMgZGVmaW5lIG9zX2ZpbGVfY3JlYXRlX3NpbXBsZShrZXksIG5hbWUsIGNyZWF0ZSwgYWNj ZXNzLCBzdWNjZXNzKQlcCi0Jb3NfZmlsZV9jcmVhdGVfc2ltcGxlX2Z1bmMobmFtZSwgY3JlYXRl X21vZGUsIGFjY2Vzcywgc3VjY2VzcykKKwlvc19maWxlX2NyZWF0ZV9zaW1wbGVfZnVuYyhuYW1l LCBjcmVhdGUsIGFjY2Vzcywgc3VjY2VzcykKIAogIyBkZWZpbmUgb3NfZmlsZV9jcmVhdGVfc2lt cGxlX25vX2Vycm9yX2hhbmRsaW5nKAkJCVwKIAkJa2V5LCBuYW1lLCBjcmVhdGVfbW9kZSwgYWNj ZXNzLCBzdWNjZXNzKQkJXAoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvaW5j bHVkZS9zcnYwc3J2LmgnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9zcnYwc3J2LmgJ MjAxMi0wNC0yNyAxMDo0MDoxMiArMDAwMAorKysgYi9zdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUv c3J2MHNydi5oCTIwMTItMDYtMDcgMTM6NDQ6MjYgKzAwMDAKQEAgLTExMSwxMyArMTExLDEzIEBA IGV4dGVybiB1bGludAlzcnZfbWF4X2ZpbGVfZm9ybWF0X2F0X3N0YXIKIC8qKiBQbGFjZSBsb2Nr cyB0byByZWNvcmRzIG9ubHkgaS5lLiBkbyBub3QgdXNlIG5leHQta2V5IGxvY2tpbmcgZXhjZXB0 CiBvbiBkdXBsaWNhdGUga2V5IGNoZWNraW5nIGFuZCBmb3JlaWduIGtleSBjaGVja2luZyAqLwog ZXh0ZXJuIGlib29sCXNydl9sb2Nrc191bnNhZmVfZm9yX2JpbmxvZzsKLSNlbmRpZiAvKiAhVU5J Vl9IT1RCQUNLVVAgKi8KIAogLyogSWYgdGhpcyBmbGFnIGlzIFRSVUUsIHRoZW4gd2Ugd2lsbCB1 c2UgdGhlIG5hdGl2ZSBhaW8gb2YgdGhlCiBPUyAocHJvdmlkZWQgd2UgY29tcGlsZWQgSW5ub2Jh c2Ugd2l0aCBpdCBpbiksIG90aGVyd2lzZSB3ZSB3aWxsCiB1c2Ugc2ltdWxhdGVkIGFpbyB3ZSBi dWlsZCBiZWxvdyB3aXRoIHRocmVhZHMuCiBDdXJyZW50bHkgd2Ugc3VwcG9ydCBuYXRpdmUgYWlv IG9uIHdpbmRvd3MgYW5kIGxpbnV4ICovCiBleHRlcm4gbXlfYm9vbAlzcnZfdXNlX25hdGl2ZV9h aW87CisjZW5kaWYgLyogIVVOSVZfSE9UQkFDS1VQICovCiAjaWZkZWYgX19XSU5fXwogZXh0ZXJu IGlib29sCXNydl91c2VfbmF0aXZlX2NvbmRpdGlvbnM7CiAjZW5kaWYKCj09PSBtb2RpZmllZCBm aWxlICdzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvdHJ4MHN5cy5oJwotLS0gYS9zdG9yYWdlL2lu bm9iYXNlL2luY2x1ZGUvdHJ4MHN5cy5oCTIwMTItMDEtMTAgMDU6MjM6MjAgKzAwMDAKKysrIGIv c3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL3RyeDBzeXMuaAkyMDEyLTA2LTA3IDEzOjQ0OjI2ICsw MDAwCkBAIC0yMjIsNyArMjIyLDYgQEAgVU5JVl9JTkxJTkUKIHRyeF9pZF90CiB0cnhfc3lzX2dl dF9uZXdfdHJ4X2lkKHZvaWQpOwogLyo9PT09PT09PT09PT09PT09PT09PT09PT0qLwotI2VuZGlm IC8qICFVTklWX0hPVEJBQ0tVUCAqLwogCiAjaWZkZWYgVU5JVl9ERUJVRwogLyogRmxhZyB0byBj b250cm9sIFRSWF9SU0VHX05fU0xPVFMgYmVoYXZpb3IgZGVidWdnaW5nLiAqLwpAQCAtMjM5LDcg KzIzOCw2IEBAIHRyeF93cml0ZV90cnhfaWQoCiAvKj09PT09PT09PT09PT0qLwogCWJ5dGUqCQlw dHIsCS8qITwgaW46IHBvaW50ZXIgdG8gbWVtb3J5IHdoZXJlIHdyaXR0ZW4gKi8KIAl0cnhfaWRf dAlpZCk7CS8qITwgaW46IGlkICovCi0jaWZuZGVmIFVOSVZfSE9UQkFDS1VQCiAvKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiov LyoqCiBSZWFkcyBhIHRyeCBpZCBmcm9tIGFuIGluZGV4IHBhZ2UuIEluIGNhc2UgdGhhdCB0aGUg aWQgc2l6ZSBjaGFuZ2VzIGluCiBzb21lIGZ1dHVyZSB2ZXJzaW9uLCB0aGlzIGZ1bmN0aW9uIHNo b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YKQEAgLTU3Miw3ICs1NzAsNiBAQCBGSUxfUEFHRV9BUkNI X0xPR19OT19PUl9TUEFDRV9OTy4gKi8KICNkZWZpbmUgVFJYX1NZU19ET1VCTEVXUklURV9CTE9D S19TSVpFCUZTUF9FWFRFTlRfU0laRQogLyogQH0gKi8KIAotI2lmbmRlZiBVTklWX0hPVEJBQ0tV UAogLyoqIEZpbGUgZm9ybWF0IHRhZyAqLwogLyogQHsgKi8KIC8qKiBUaGUgb2Zmc2V0IG9mIHRo ZSBmaWxlIGZvcm1hdCB0YWcgb24gdGhlIHRyeCBzeXN0ZW0gaGVhZGVyIHBhZ2UKQEAgLTU5MSw2 ICs1ODgsNyBAQCBpZGVudGlmaWVyIGlzIGFkZGVkIHRvIHRoaXMgNjQtYml0IGNvbnN0CiAJIHwg VFJYX1NZU19GSUxFX0ZPUk1BVF9UQUdfTUFHSUNfTl9MT1cpCiAvKiBAfSAqLwogCisjaWZuZGVm IFVOSVZfSE9UQkFDS1VQCiAvKiogRG91Ymxld3JpdGUgY29udHJvbCBzdHJ1Y3QgKi8KIHN0cnVj dCB0cnhfZG91Ymxld3JpdGVfc3RydWN0ewogCW11dGV4X3QJbXV0ZXg7CQkvKiE8IG11dGV4IHBy b3RlY3RpbmcgdGhlIGZpcnN0X2ZyZWUgZmllbGQgYW5kCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3Rv cmFnZS9pbm5vYmFzZS9tZW0vbWVtMGRiZy5jJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL21lbS9t ZW0wZGJnLmMJMjAxMS0wMi0yNSAxMToyMTowMiArMDAwMAorKysgYi9zdG9yYWdlL2lubm9iYXNl L21lbS9tZW0wZGJnLmMJMjAxMi0wNi0wNyAxMzo0NDoyNiArMDAwMApAQCAtMjQsNyArMjQsOSBA QCBidXQgaXMgaW5jbHVkZWQgaW4gbWVtMG1lbS4qICEKIENyZWF0ZWQgNi85LzE5OTQgSGVpa2tp IFR1dXJpCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqLwogCi0jaW5jbHVkZSAiaGFfcHJvdG90eXBlcy5oIgor I2lmbmRlZiBVTklWX0hPVEJBQ0tVUAorIyBpbmNsdWRlICJoYV9wcm90b3R5cGVzLmgiCisjZW5k aWYgLyogIVVOSVZfSE9UQkFDS1VQICovCiAKICNpZmRlZiBVTklWX01FTV9ERUJVRwogIyBpZm5k ZWYgVU5JVl9IT1RCQUNLVVAKCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL29z L29zMGZpbGUuYycKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9vcy9vczBmaWxlLmMJMjAxMi0wMS0z MCAxNDoyNDowOSArMDAwMAorKysgYi9zdG9yYWdlL2lubm9iYXNlL29zL29zMGZpbGUuYwkyMDEy LTA2LTA3IDEzOjQ0OjI2ICswMDAwCkBAIC0zMDMsNiArMzAzLDcgQEAgVU5JVl9JTlRFUk4gdWxp bnQJb3Nfbl9wZW5kaW5nX3dyaXRlcyA9CiBVTklWX0lOVEVSTiB1bGludAlvc19uX3BlbmRpbmdf cmVhZHMgPSAwOwogCiAjaWZkZWYgVU5JVl9ERUJVRworIyBpZm5kZWYgVU5JVl9IT1RCQUNLVVAK IC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqLy8qKgogVmFsaWRhdGVzIHRoZSBjb25zaXN0ZW5jeSB0aGUgYWlvIHN5 c3RlbSBzb21lIG9mIHRoZSB0aW1lLgogQHJldHVybglUUlVFIGlmIG9rIG9yIHRoZSBjaGVjayB3 YXMgc2tpcHBlZCAqLwpAQCAtMzI5LDYgKzMzMCw3IEBAIG9zX2Fpb192YWxpZGF0ZV9za2lwKHZv aWQpCiAJb3NfYWlvX3ZhbGlkYXRlX2NvdW50ID0gT1NfQUlPX1ZBTElEQVRFX1NLSVA7CiAJcmV0 dXJuKG9zX2Fpb192YWxpZGF0ZSgpKTsKIH0KKyMgZW5kaWYgLyogIVVOSVZfSE9UQkFDS1VQICov CiAjZW5kaWYgLyogVU5JVl9ERUJVRyAqLwogCiAjaWZkZWYgX19XSU5fXwoKPT09IG1vZGlmaWVk IGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvcGFnZS9wYWdlMHppcC5jJwotLS0gYS9zdG9yYWdlL2lu bm9iYXNlL3BhZ2UvcGFnZTB6aXAuYwkyMDExLTA2LTI4IDA5OjAzOjU1ICswMDAwCisrKyBiL3N0 b3JhZ2UvaW5ub2Jhc2UvcGFnZS9wYWdlMHppcC5jCTIwMTItMDYtMDcgMTM6NDQ6MjYgKzAwMDAK QEAgLTQ0MzMsNyArNDQzMyw5IEBAIHBhZ2VfemlwX3Jlb3JnYW5pemUoCiAJZGljdF9pbmRleF90 KglpbmRleCwJLyohPCBpbjogaW5kZXggb2YgdGhlIEItdHJlZSBub2RlICovCiAJbXRyX3QqCQlt dHIpCS8qITwgaW46IG1pbmktdHJhbnNhY3Rpb24gKi8KIHsKKyNpZm5kZWYgVU5JVl9IT1RCQUNL VVAKIAlidWZfcG9vbF90KglidWZfcG9vbAk9IGJ1Zl9wb29sX2Zyb21fYmxvY2soYmxvY2spOwor I2VuZGlmIC8qICFVTklWX0hPVEJBQ0tVUCAqLwogCXBhZ2VfemlwX2Rlc190KglwYWdlX3ppcAk9 IGJ1Zl9ibG9ja19nZXRfcGFnZV96aXAoYmxvY2spOwogCXBhZ2VfdCoJCXBhZ2UJCT0gYnVmX2Js b2NrX2dldF9mcmFtZShibG9jayk7CiAJYnVmX2Jsb2NrX3QqCXRlbXBfYmxvY2s7Cgo9PT0gbW9k aWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS90cngvdHJ4MHN5cy5jJwotLS0gYS9zdG9yYWdl L2lubm9iYXNlL3RyeC90cngwc3lzLmMJMjAxMi0wMi0xNyAwOTo1Mjo1MSArMDAwMAorKysgYi9z dG9yYWdlL2lubm9iYXNlL3RyeC90cngwc3lzLmMJMjAxMi0wNi0wNyAxMzo0NDoyNiArMDAwMApA QCAtMTM0LDEyICsxMzQsMTIgQEAgVU5JVl9JTlRFUk4gbXlzcWxfcGZzX2tleV90CXRyeF9kb3Vi bGV3cgogVU5JVl9JTlRFUk4gbXlzcWxfcGZzX2tleV90CWZpbGVfZm9ybWF0X21heF9tdXRleF9r ZXk7CiAjZW5kaWYgLyogVU5JVl9QRlNfTVVURVggKi8KIAorI2lmbmRlZiBVTklWX0hPVEJBQ0tV UAogI2lmZGVmIFVOSVZfREVCVUcKIC8qIEZsYWcgdG8gY29udHJvbCBUUlhfUlNFR19OX1NMT1RT IGJlaGF2aW9yIGRlYnVnZ2luZy4gKi8KIHVpbnQJCXRyeF9yc2VnX25fc2xvdHNfZGVidWcgPSAw OwogI2VuZGlmCiAKLSNpZm5kZWYgVU5JVl9IT1RCQUNLVVAKIC8qKiBUaGlzIGlzIHVzZWQgdG8g dHJhY2sgdGhlIG1heGltdW0gZmlsZSBmb3JtYXQgaWQga25vd24gdG8gSW5ub0RCLiBJdCdzCiB1 cGRhdGVkIHZpYSBTRVQgR0xPQkFMIGlubm9kYl9maWxlX2Zvcm1hdF9tYXggPSAneCcgb3Igd2hl biB3ZSBvcGVuCiBvciBjcmVhdGUgYSB0YWJsZS4gKi8KCj09PSBtb2RpZmllZCBmaWxlICdzdG9y YWdlL2lubm9iYXNlL3V0L3V0MGRiZy5jJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL3V0L3V0MGRi Zy5jCTIwMTEtMDItMjUgMDg6MzM6MTMgKzAwMDAKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS91dC91 dDBkYmcuYwkyMDEyLTA2LTA3IDEzOjQ0OjI2ICswMDAwCkBAIC0yNSw3ICsyNSw5IEBAIENyZWF0 ZWQgMS8zMC8xOTk0IEhlaWtraSBUdXVyaQogCiAjaW5jbHVkZSAidW5pdi5pIgogI2luY2x1ZGUg InV0MGRiZy5oIgotI2luY2x1ZGUgImhhX3Byb3RvdHlwZXMuaCIKKyNpZm5kZWYgVU5JVl9IT1RC QUNLVVAKKyMgaW5jbHVkZSAiaGFfcHJvdG90eXBlcy5oIgorI2VuZGlmIC8qICFVTklWX0hPVEJB Q0tVUCAqLwogCiAjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgKF9fR05VQ19fID4gMikKICNlbHNl CkBAIC01Niw3ICs1OCw3IEBAIHV0X2RiZ19hc3NlcnRpb25fZmFpbGVkKAogCXV0X3ByaW50X3Rp bWVzdGFtcChzdGRlcnIpOwogI2lmZGVmIFVOSVZfSE9UQkFDS1VQCiAJZnByaW50ZihzdGRlcnIs ICIgIElubm9EQjogQXNzZXJ0aW9uIGZhaWx1cmUgaW4gZmlsZSAlcyBsaW5lICVsdVxuIiwKLQkJ aW5ub2Jhc2VfYmFzZW5hbWUoZmlsZSksIGxpbmUpOworCQlmaWxlLCBsaW5lKTsKICNlbHNlIC8q IFVOSVZfSE9UQkFDS1VQICovCiAJZnByaW50ZihzdGRlcnIsCiAJCSIgIElubm9EQjogQXNzZXJ0 aW9uIGZhaWx1cmUgaW4gdGhyZWFkICVsdSIKCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lu bm9iYXNlL3V0L3V0MHV0LmMnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvdXQvdXQwdXQuYwkyMDEy LTAyLTI3IDExOjUzOjU2ICswMDAwCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvdXQvdXQwdXQuYwky MDEyLTA2LTA3IDEzOjQ0OjI2ICswMDAwCkBAIC0yNDUsNyArMjQ1LDkgQEAgdXRfcHJpbnRfdGlt ZXN0YW1wKAogCQkoaW50KWNhbF90bS53TWludXRlLAogCQkoaW50KWNhbF90bS53U2Vjb25kKTsK ICNlbHNlCisjaWZkZWYgSEFWRV9MT0NBTFRJTUVfUgogCXN0cnVjdCB0bSAgY2FsX3RtOworI2Vu ZGlmCiAJc3RydWN0IHRtKiBjYWxfdG1fcHRyOwogCXRpbWVfdAkgICB0bTsKIApAQCAtMjg4LDcg KzI5MCw5IEBAIHV0X3NwcmludGZfdGltZXN0YW1wKAogCQkoaW50KWNhbF90bS53TWludXRlLAog CQkoaW50KWNhbF90bS53U2Vjb25kKTsKICNlbHNlCisjaWZkZWYgSEFWRV9MT0NBTFRJTUVfUgog CXN0cnVjdCB0bSAgY2FsX3RtOworI2VuZGlmCiAJc3RydWN0IHRtKiBjYWxfdG1fcHRyOwogCXRp bWVfdAkgICB0bTsKIApAQCAtMzMzLDcgKzMzNyw5IEBAIHV0X3NwcmludGZfdGltZXN0YW1wX3dp dGhvdXRfZXh0cmFfY2hhcnMKIAkJKGludCljYWxfdG0ud01pbnV0ZSwKIAkJKGludCljYWxfdG0u d1NlY29uZCk7CiAjZWxzZQorI2lmZGVmIEhBVkVfTE9DQUxUSU1FX1IKIAlzdHJ1Y3QgdG0gIGNh bF90bTsKKyNlbmRpZgogCXN0cnVjdCB0bSogY2FsX3RtX3B0cjsKIAl0aW1lX3QJICAgdG07CiAK QEAgLTM3NCw3ICszODAsOSBAQCB1dF9nZXRfeWVhcl9tb250aF9kYXkoCiAJKm1vbnRoID0gKHVs aW50KWNhbF90bS53TW9udGg7CiAJKmRheSA9ICh1bGludCljYWxfdG0ud0RheTsKICNlbHNlCisj aWZkZWYgSEFWRV9MT0NBTFRJTUVfUgogCXN0cnVjdCB0bSAgY2FsX3RtOworI2VuZGlmCiAJc3Ry dWN0IHRtKiBjYWxfdG1fcHRyOwogCXRpbWVfdAkgICB0bTsKIAoKTm8gYnVuZGxlIChyZWFzb246 IHVzZWxlc3MgZm9yIHB1c2ggZW1haWxzKS4=