From: Date: December 22 2008 12:39pm Subject: bzr commit into mysql-6.0-bugteam branch (mattias.jonsson:2753) Bug#32430 List-Archive: http://lists.mysql.com/commits/62207 X-Bug: 32430 Message-Id: <20081222113924.411171A3944B@witty.localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: BASE64 I0F0IGZpbGU6Ly8vVXNlcnMvbWF0dGlhc2ovY2xvbmVzL2J6cnJvb3QvYjMyNDMw XzItNjAtYnVndGVhbS8gYmFzZWQgb24gcmV2aWQ6Y2hhZEBteXNxbC5jb20tMjAw ODA4MDgxNDQ0MjEtaGxwc3k0NDNiendteDNyNA0KDQogMjc1MyBNYXR0aWFzIEpv bnNzb24JMjAwOC0xMi0yMg0KICAgICAgQnVnIzMyNDMwOidzaG93IGlubm9kYiBz dGF0dXMnIGNhdXNlcyBlcnJvcnMgSW52YWxpZCAob2xkPykgdGFibGUNCiAgICAg IG9yIGRhdGFiYXNlIG5hbWUgaW4gbG9ncw0KICAgICAgDQogICAgICBQcm9ibGVt IHdhcyB0aGF0IElubm9EQiB1c2VkIGZpbGVuYW1lX3RvX3RhYmxlbmFtZSwNCiAg ICAgIHdoaWNoIGRvIG5vdCBoYW5kbGUgcGFydGl0aW9ucyAoZHVlIHRvIHRoZSAn IycgaW4NCiAgICAgIHRoZSBmaWxlbmFtZSkuDQogICAgICANCiAgICAgIFNvbHV0 aW9uIGlzIHRvIGFkZCBhIG5ldyBmdW5jdGlvbiBmb3IgZXhwbGFpbmluZw0KICAg ICAgd2hhdCB0aGUgZmlsZW5hbWUgbWVhbnM6IGV4cGxhaW5fZmlsZW5hbWUuDQog ICAgICBJdCBleHBhbmRzIHRoZSBkYXRhYmFzZSwgdGFibGUsIHBhcnRpdGlvbiBh bmQgc3VicGFydGl0aW9uDQogICAgICBwYXJ0cyBhbmQgdXNlcyBlcnJtc2cudHh0 IGZvciBsb2NhbGl6YXRpb24uDQogICAgICBJdCBhbHNvIGNvbnZlcnRzIGZyb20g bXlfY2hhcnNldF9maWxlbmFtZSB0byBzeXN0ZW1fY2hhcnNldF9pbmZvDQogICAg ICAoaS5lLiBodW1hbiByZWFkYWJsZSBmb3JtIGZvciBub24gYXNjaWkgY2hhcmFj dGVycykuDQogICAgICANCiAgICAgIEl0IGhhcyB0aHJlZSBkaWZmZXJlbnQgb3V0 cHV0IHN0eWxlcy4NCm1vZGlmaWVkOg0KICBteXNxbC10ZXN0L3IvcGFydGl0aW9u X2lubm9kYi5yZXN1bHQNCiAgbXlzcWwtdGVzdC90L3BhcnRpdGlvbl9pbm5vZGIu dGVzdA0KICBzcWwvbXlzcWxfcHJpdi5oDQogIHNxbC9zaGFyZS9lcnJtc2cudHh0 DQogIHNxbC9zcWxfdGFibGUuY2MNCiAgc3RvcmFnZS9pbm5vYmFzZS9kaWN0L2Rp Y3QwZGljdC5jDQogIHN0b3JhZ2UvaW5ub2Jhc2UvaGFuZGxlci9oYV9pbm5vZGIu Y2MNCiAgc3RvcmFnZS9pbm5vYmFzZS91dC91dDB1dC5jDQoNCnBlci1maWxlIG1l c3NhZ2VzOg0KICBteXNxbC10ZXN0L3IvcGFydGl0aW9uX2lubm9kYi5yZXN1bHQN CiAgICBCdWcjMzI0MzA6J3Nob3cgaW5ub2RiIHN0YXR1cycgY2F1c2VzIGVycm9y cyBJbnZhbGlkIChvbGQ/KSB0YWJsZQ0KICAgIG9yIGRhdGFiYXNlIG5hbWUgaW4g bG9ncw0KICAgIA0KICAgIFVwZGF0ZWQgdGVzdCByZXN1bHQNCiAgbXlzcWwtdGVz dC90L3BhcnRpdGlvbl9pbm5vZGIudGVzdA0KICAgIEJ1ZyMzMjQzMDonc2hvdyBp bm5vZGIgc3RhdHVzJyBjYXVzZXMgZXJyb3JzIEludmFsaWQgKG9sZD8pIHRhYmxl DQogICAgb3IgZGF0YWJhc2UgbmFtZSBpbiBsb2dzDQogICAgDQogICAgQWRkZWQg dGVzdCBjYXNlLg0KICAgIA0KICAgIE5vdGUgdGhhdCB0aGUgLS1yZXBsYWNlX3Jl Z2V4IGlzIHZlcnkgc2xvdyBpbiBtYXRjaCBjb3B5L3Bhc3RlDQogICAgb3BlcmF0 aW9uIG9uIGxvbmcgc3RyaW5ncywgc28gaW5zdGVhZCBpdCBvbmx5IHJlbW92ZXMg c3RyaW5ncw0KICAgIHBpZWNlIGJ5IHBpZWNlLg0KICBzcWwvbXlzcWxfcHJpdi5o DQogICAgQnVnIzMyNDMwOidzaG93IGlubm9kYiBzdGF0dXMnIGNhdXNlcyBlcnJv cnMgSW52YWxpZCAob2xkPykgdGFibGUNCiAgICBvciBkYXRhYmFzZSBuYW1lIGlu IGxvZ3MNCiAgICANCiAgICBBZGRlZCBFWFBMQUlOX0ZJTEVOQU1FX01BWF9FWFRS QV9MRU5HVEgsIGVudW1fZXhwbGFpbl9maWxlbmFtZV9tb2RlDQogICAgYW5kIGV4 cGxhaW5fZmlsZW5hbWUuDQogIHNxbC9zaGFyZS9lcnJtc2cudHh0DQogICAgQnVn IzMyNDMwOidzaG93IGlubm9kYiBzdGF0dXMnIGNhdXNlcyBlcnJvcnMgSW52YWxp ZCAob2xkPykgdGFibGUNCiAgICBvciBkYXRhYmFzZSBuYW1lIGluIGxvZ3MNCiAg ICANCiAgICBBZGRlZCBsb2NhbGl6YXRpb24gbmFtZXMgZm9yIERhdGFiYXNlLCBU YWJsZSwgUGFydGl0aW9uLCBTdWJwYXJ0aXRpb24sDQogICAgVGVtcG9yYXJ5IGFu ZCBSZW5hbWVkLg0KICBzcWwvc3FsX3RhYmxlLmNjDQogICAgQnVnIzMyNDMwOidz aG93IGlubm9kYiBzdGF0dXMnIGNhdXNlcyBlcnJvcnMgSW52YWxpZCAob2xkPykg dGFibGUNCiAgICBvciBkYXRhYmFzZSBuYW1lIGluIGxvZ3MNCiAgICANCiAgICBB ZGRlZCBleHBsYWluX2ZpbGVuYW1lIGZ1bmN0aW9uIGZvciBnaXZpbmcgYmV0dGVy IGluZm9ybWF0aW9uDQogICAgdG8gdGhlIHVzZXIgYWJvdXQgYSBzcGVjaWZpYyB0 YWJsZS9wYXJ0aXRpb25zIGZpbGUuDQogIHN0b3JhZ2UvaW5ub2Jhc2UvZGljdC9k aWN0MGRpY3QuYw0KICAgIEJ1ZyMzMjQzMDonc2hvdyBpbm5vZGIgc3RhdHVzJyBj YXVzZXMgZXJyb3JzIEludmFsaWQgKG9sZD8pIHRhYmxlDQogICAgb3IgZGF0YWJh c2UgbmFtZSBpbiBsb2dzDQogICAgDQogICAgUHJvcG9zZWQgY2hhbmdlIGZvciBT SE9XIEVOR0lORSBJTk5PREIgU1RBVFVTDQogIHN0b3JhZ2UvaW5ub2Jhc2UvaGFu ZGxlci9oYV9pbm5vZGIuY2MNCiAgICBCdWcjMzI0MzA6J3Nob3cgaW5ub2RiIHN0 YXR1cycgY2F1c2VzIGVycm9ycyBJbnZhbGlkIChvbGQ/KSB0YWJsZQ0KICAgIG9y IGRhdGFiYXNlIG5hbWUgaW4gbG9ncw0KICAgIA0KICAgIFByb3Bvc2VkIGNoYW5n ZSBmb3IgU0hPVyBFTkdJTkUgSU5OT0RCIFNUQVRVUy4NCiAgICBVc2VzIGV4cGxh aW5fZmlsZW5hbWUgaW5zdGVhZCBvZiBmaWxlbmFtZV90b190YWJsZW5hbWUuDQog IHN0b3JhZ2UvaW5ub2Jhc2UvdXQvdXQwdXQuYw0KICAgIEJ1ZyMzMjQzMDonc2hv dyBpbm5vZGIgc3RhdHVzJyBjYXVzZXMgZXJyb3JzIEludmFsaWQgKG9sZD8pIHRh YmxlDQogICAgb3IgZGF0YWJhc2UgbmFtZSBpbiBsb2dzDQogICAgDQogICAgUHJv cG9zZWQgY2hhbmdlIGZvciBTSE9XIEVOR0lORSBJTk5PREIgU1RBVFVTDQo9PT0g bW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9yL3BhcnRpdGlvbl9pbm5vZGIucmVz dWx0Jw0KLS0tIGEvbXlzcWwtdGVzdC9yL3BhcnRpdGlvbl9pbm5vZGIucmVzdWx0 CTIwMDgtMDYtMTIgMDA6MDg6MDcgKzAwMDANCisrKyBiL215c3FsLXRlc3Qvci9w YXJ0aXRpb25faW5ub2RiLnJlc3VsdAkyMDA4LTEyLTIyIDExOjM5OjExICswMDAw DQpAQCAtMSwzICsxLDM2IEBADQorU0VUIE5BTUVTIHV0Zjg7DQorQ1JFQVRFIFRB QkxFIHQxIChhIElOVCwgUFJJTUFSWSBLRVkgKGEpKQ0KK0VOR0lORT1Jbm5vREIN CitQQVJUSVRJT04gQlkgUkFOR0UgKGEpDQorU1VCUEFSVElUSU9OIEJZIEhBU0gg KGEpDQorKFBBUlRJVElPTiBwMCBWQUxVRVMgTEVTUyBUSEFOICgxMDApDQorKFNV QlBBUlRJVElPTiBzcDAsDQorU1VCUEFSVElUSU9OIHNwMSksDQorUEFSVElUSU9O IHAxIFZBTFVFUyBMRVNTIFRIQU4gKE1BWFZBTFVFKQ0KKyhTVUJQQVJUSVRJT04g c3AyLA0KK1NVQlBBUlRJVElPTiBzcDMpKTsNCitJTlNFUlQgSU5UTyB0MSBWQUxV RVMgKDApLCAoMiksICg2KSwgKDEwKSwgKDE0KSwgKDE4KSwgKDIyKTsNCitTVEFS VCBUUkFOU0FDVElPTjsNCisjIGNvbjENCitTRVQgTkFNRVMgdXRmODsNCitTVEFS VCBUUkFOU0FDVElPTjsNCisjIGRlZmF1bHQgY29ubmVjdGlvbg0KK1VQREFURSB0 MSBTRVQgYSA9IDE2IFdIRVJFIGEgPSAwOw0KKyMgY29uMQ0KK1VQREFURSB0MSBT RVQgYSA9IDggV0hFUkUgYSA9IDIyOw0KK1VQREFURSB0MSBTRVQgYSA9IDEyIFdI RVJFIGEgPSAwOw0KKyMgZGVmYXVsdCBjb25uZWN0aW9uDQorVVBEQVRFIHQxIFNF VCBhID0gNCBXSEVSRSBhID0gMjI7DQorRVJST1IgNDAwMDE6IERlYWRsb2NrIGZv dW5kIHdoZW4gdHJ5aW5nIHRvIGdldCBsb2NrOyB0cnkgcmVzdGFydGluZyB0cmFu c2FjdGlvbg0KKyMgRmlyc3QgdGFibGUgcmVwb3J0ZWQgaW4gJ1NIT1cgRU5HSU5F IElubm9EQiBTVEFUVVMnDQorU0hPVyBFTkdJTkUgSW5ub0RCIFNUQVRVUzsNCitU eXBlCU5hbWUJU3RhdHVzDQorSW5ub0RCCQlgdGVzdGAuYHQxYCBQYXJ0aXRpb24g YHAwYCwgU3VicGFydGl0aW9uIGBzcDBgDQorIyBjb24xDQorUk9MTEJBQ0s7DQor IyBkZWZhdWx0IGNvbm5lY3Rpb24NCitEUk9QIFRBQkxFIHQxOw0KK1NFVCBOQU1F UyBERUZBVUxUOw0KICMgQnVnIzMyOTQ4DQogQ1JFQVRFIFRBQkxFIHQxIChjMSBJ TlQsIFBSSU1BUlkgS0VZIChjMSkpIEVOR0lORT1JTk5PREI7DQogQ1JFQVRFIFRB QkxFIHQyIChjMSBJTlQsIFBSSU1BUlkgS0VZIChjMSksDQoNCj09PSBtb2RpZmll ZCBmaWxlICdteXNxbC10ZXN0L3QvcGFydGl0aW9uX2lubm9kYi50ZXN0Jw0KLS0t IGEvbXlzcWwtdGVzdC90L3BhcnRpdGlvbl9pbm5vZGIudGVzdAkyMDA4LTA2LTEy IDAwOjA4OjA3ICswMDAwDQorKysgYi9teXNxbC10ZXN0L3QvcGFydGl0aW9uX2lu bm9kYi50ZXN0CTIwMDgtMTItMjIgMTE6Mzk6MTEgKzAwMDANCkBAIC0xLDYgKzEs NjIgQEANCiAtLXNvdXJjZSBpbmNsdWRlL2hhdmVfcGFydGl0aW9uLmluYw0KIC0t c291cmNlIGluY2x1ZGUvaGF2ZV9pbm5vZGIuaW5jDQogDQorIyBCdWcjMzI0MzAg LSBzaG93IGVuZ2luZSBpbm5vZGIgc3RhdHVzIGNhdXNlcyBlcnJvcnMNCisjDQor U0VUIE5BTUVTIHV0Zjg7DQorQ1JFQVRFIFRBQkxFIHQxIChhIElOVCwgUFJJTUFS WSBLRVkgKGEpKQ0KK0VOR0lORT1Jbm5vREINCitQQVJUSVRJT04gQlkgUkFOR0Ug KGEpDQorU1VCUEFSVElUSU9OIEJZIEhBU0ggKGEpDQorKFBBUlRJVElPTiBwMCBW QUxVRVMgTEVTUyBUSEFOICgxMDApDQorIChTVUJQQVJUSVRJT04gc3AwLA0KKyAg U1VCUEFSVElUSU9OIHNwMSksDQorIFBBUlRJVElPTiBwMSBWQUxVRVMgTEVTUyBU SEFOIChNQVhWQUxVRSkNCisgKFNVQlBBUlRJVElPTiBzcDIsDQorICBTVUJQQVJU SVRJT04gc3AzKSk7DQorSU5TRVJUIElOVE8gdDEgVkFMVUVTICgwKSwgKDIpLCAo NiksICgxMCksICgxNCksICgxOCksICgyMik7DQorU1RBUlQgVFJBTlNBQ1RJT047 DQorLS1lY2hvICMgY29uMQ0KK2Nvbm5lY3QoY29uMSxsb2NhbGhvc3Qscm9vdCws KTsNCitTRVQgTkFNRVMgdXRmODsNCitTVEFSVCBUUkFOU0FDVElPTjsNCistLWVj aG8gIyBkZWZhdWx0IGNvbm5lY3Rpb24NCitjb25uZWN0aW9uIGRlZmF1bHQ7DQor VVBEQVRFIHQxIFNFVCBhID0gMTYgV0hFUkUgYSA9IDA7DQorLS1lY2hvICMgY29u MQ0KK2Nvbm5lY3Rpb24gY29uMTsNCitVUERBVEUgdDEgU0VUIGEgPSA4IFdIRVJF IGEgPSAyMjsNCitsZXQgJGlkXzE9IGBTRUxFQ1QgQ09OTkVDVElPTl9JRCgpYDsN CitTRU5EOw0KK1VQREFURSB0MSBTRVQgYSA9IDEyIFdIRVJFIGEgPSAwOw0KKy0t ZWNobyAjIGRlZmF1bHQgY29ubmVjdGlvbg0KK2Nvbm5lY3Rpb24gZGVmYXVsdDsN CitsZXQgJHdhaXRfdGltZW91dD0gMjsNCitsZXQgJHdhaXRfY29uZGl0aW9uPSBT RUxFQ1QgMSBGUk9NIElORk9STUFUSU9OX1NDSEVNQS5QUk9DRVNTTElTVA0KK1dI RVJFIElEID0gJGlkXzEgQU5EIFNUQVRFID0gJ1NlYXJjaGluZyByb3dzIGZvciB1 cGRhdGUnOw0KKy0tc291cmNlIGluY2x1ZGUvd2FpdF9jb25kaXRpb24uaW5jDQor Iy0tZWNobyAjIHRlc3RlZCB3YWl0IGNvbmRpdGlvbiAkd2FpdF9jb25kaXRpb25f cmVwcyB0aW1lcw0KKy0tZXJyb3IgRVJfTE9DS19ERUFETE9DSw0KK1VQREFURSB0 MSBTRVQgYSA9IDQgV0hFUkUgYSA9IDIyOw0KKy0tZWNobyAjIEZpcnN0IHRhYmxl IHJlcG9ydGVkIGluICdTSE9XIEVOR0lORSBJbm5vREIgU1RBVFVTJw0KKyMgUkVD T1JEIExPQ0tTIHNwYWNlIGlkIDAgcGFnZSBubyA1MCBuIGJpdHMgODAgaW5kZXgg YFBSSU1BUllgIGluIFwNCisjIERhdGFiYXNlIGB0ZXN0YCwgVGFibGUgYHQxYCwg UGFydGl0aW9uIGBwMGAsIFN1YnBhcnRpdGlvbiBgc3AwYCBcDQorIyB0cnggaWQg MCA3NzUNCisjIE5PVEU6IHJlcGxhY2VfcmVnZXggaXMgdmVyeSBzbG93IG9uIG1h dGNoIGNvcHkvcGFzdCAnKC4qKScgcmVnZXgncw0KKyMgb24gYmlnIHRleHRzLCBy ZW1vdmluZyBhIGxvdCBvZiB0ZXh0IGJlZm9yZSArIGFmdGVyIG1ha2VzIGl0IG11 Y2ggZmFzdGVyLg0KKyMvLippbiAoLiopIHRyeC4qL1wxLw0KKy0tcmVwbGFjZV9y ZWdleCAvLipSRUNPUkQgTE9DS1Mgc3BhY2UgaWQgWzAtOV0qIHBhZ2Ugbm8gWzAt OV0qIG4gYml0cyBbMC05XSogLy8gLyB0cnggaWQgLiovLyAvLippbmRleCAuKiBp biAvLw0KK1NIT1cgRU5HSU5FIElubm9EQiBTVEFUVVM7DQorLS1lY2hvICMgY29u MQ0KK2Nvbm5lY3Rpb24gY29uMTsNCitSRUFQOw0KK1JPTExCQUNLOw0KK2Rpc2Nv bm5lY3QgY29uMTsNCistLWVjaG8gIyBkZWZhdWx0IGNvbm5lY3Rpb24NCitjb25u ZWN0aW9uIGRlZmF1bHQ7DQorRFJPUCBUQUJMRSB0MTsNCitTRVQgTkFNRVMgREVG QVVMVDsNCisNCiAjIEJ1ZyMzMjk0OCAtIEZLcyBhbGxvd2VkIHRvIHJlZmVyZW5j ZSBwYXJ0aXRpb25lZCB0YWJsZQ0KICMNCiAtLSBlY2hvICMgQnVnIzMyOTQ4DQoN Cj09PSBtb2RpZmllZCBmaWxlICdzcWwvbXlzcWxfcHJpdi5oJw0KLS0tIGEvc3Fs L215c3FsX3ByaXYuaAkyMDA4LTA4LTA3IDAzOjA1OjMzICswMDAwDQorKysgYi9z cWwvbXlzcWxfcHJpdi5oCTIwMDgtMTItMjIgMTE6Mzk6MTEgKzAwMDANCkBAIC0y MzIyLDYgKzIzMjIsMTYgQEAgY2hhciAqZm5fcmV4dChjaGFyICpuYW1lKTsNCiAj aWYgZGVmaW5lZCBNWVNRTF9TRVJWRVIgfHwgZGVmaW5lZCBJTk5PREJfQ09NUEFU SUJJTElUWV9IT09LUw0KIHVpbnQgc3RyY29udmVydChDSEFSU0VUX0lORk8gKmZy b21fY3MsIGNvbnN0IGNoYXIgKmZyb20sDQogICAgICAgICAgICAgICAgIENIQVJT RVRfSU5GTyAqdG9fY3MsIGNoYXIgKnRvLCB1aW50IHRvX2xlbmd0aCwgdWludCAq ZXJyb3JzKTsNCisvKiBkZXBlbmRzIG9uIGVycm1zZy50eHQgRGF0YWJhc2UgYGRi YCwgVGFibGUgYHRgIC4uLiAqLw0KKyNkZWZpbmUgRVhQTEFJTl9GSUxFTkFNRV9N QVhfRVhUUkFfTEVOR1RIIDYzDQorZW51bSBlbnVtX2V4cGxhaW5fZmlsZW5hbWVf bW9kZQ0KK3sNCisgIEVYUExBSU5fQUxMX1ZFUkJPU0U9IDAsDQorICBFWFBMQUlO X1BBUlRJVElPTlNfVkVSQk9TRSwNCisgIEVYUExBSU5fUEFSVElUSU9OU19BU19D T01NRU5UDQorfTsNCit1aW50IGV4cGxhaW5fZmlsZW5hbWUoY29uc3QgY2hhciAq ZnJvbSwgY2hhciAqdG8sIHVpbnQgdG9fbGVuZ3RoLA0KKyAgICAgICAgICAgICAg ICAgICAgICBlbnVtX2V4cGxhaW5fZmlsZW5hbWVfbW9kZSBleHBsYWluX21vZGUp Ow0KIHVpbnQgZmlsZW5hbWVfdG9fdGFibGVuYW1lKGNvbnN0IGNoYXIgKmZyb20s IGNoYXIgKnRvLCB1aW50IHRvX2xlbmd0aCk7DQogdWludCB0YWJsZW5hbWVfdG9f ZmlsZW5hbWUoY29uc3QgY2hhciAqZnJvbSwgY2hhciAqdG8sIHVpbnQgdG9fbGVu Z3RoKTsNCiAjZW5kaWYgLyogTVlTUUxfU0VSVkVSIHx8IElOTk9EQl9DT01QQVRJ QklMSVRZX0hPT0tTICovDQoNCj09PSBtb2RpZmllZCBmaWxlICdzcWwvc2hhcmUv ZXJybXNnLnR4dCcNCi0tLSBhL3NxbC9zaGFyZS9lcnJtc2cudHh0CTIwMDgtMDgt MDYgMTQ6Mzk6MDMgKzAwMDANCisrKyBiL3NxbC9zaGFyZS9lcnJtc2cudHh0CTIw MDgtMTItMjIgMTE6Mzk6MTEgKzAwMDANCkBAIC02MzcyLDMgKzYzNzIsMjMgQEAg RVJfQkFDS1VQX09CVEFJTl9OQU1FX0xPQ0tfRkFJTEVEDQogICBlbmcgIlJlc3Rv cmUgZmFpbGVkIHRvIG9idGFpbiB0aGUgbmFtZSBsb2NrcyBvbiB0aGUgdGFibGVz LiINCiBFUl9CQUNLVVBfUkVMRUFTRV9OQU1FX0xPQ0tfRkFJTEVEDQogICBlbmcg IlJlc3RvcmUgZmFpbGVkIHRvIHJlbGVhc2UgdGhlIG5hbWUgbG9ja3Mgb24gdGhl IHRhYmxlcy4iDQorIyBXaGVuIHVwZGF0aW5nIHRoZXNlLCBwbGVhc2UgdXBkYXRl IEVYUExBSU5fRklMRU5BTUVfTUFYX0VYVFJBX0xFTkdUSCBpbg0KKyMgbXlzcWxf cHJpdi5oIHdpdGggdGhlIG5ldyBtYXhpbWFsIGFkZGl0aW9uYWwgbGVuZ3RoIGZv ciBleHBsYWluX2ZpbGVuYW1lLg0KK0VSX0RBVEFCQVNFX05BTUUNCisgIGVuZyAi RGF0YWJhc2UgYCVzYCINCisgIHN3ZSAiRGF0YWJhcyBgJXNgIg0KK0VSX1RBQkxF X05BTUUNCisgIGVuZyAiVGFibGUgYCVzYCINCisgIHN3ZSAiVGFiZWxsIGAlc2Ai DQorRVJfUEFSVElUSU9OX05BTUUNCisgIGVuZyAiUGFydGl0aW9uIGAlc2AiDQor ICBzd2UgIlBhcnRpdGlvbiBgJXNgIg0KK0VSX1NVQlBBUlRJVElPTl9OQU1FDQor ICBlbmcgIlN1YnBhcnRpdGlvbiBgJXNgIg0KKyAgc3dlICJTdWJwYXJ0aXRpb24g YCVzYCINCitFUl9URU1QT1JBUllfTkFNRQ0KKyAgZW5nICJUZW1wb3JhcnkiDQor ICBzd2UgIlRlbXBvcsOkciINCitFUl9SRU5BTUVEX05BTUUNCisgIGVuZyAiUmVu YW1lZCINCisgIHN3ZSAiTmFtbsOkbmRyYWQiDQoNCj09PSBtb2RpZmllZCBmaWxl ICdzcWwvc3FsX3RhYmxlLmNjJw0KLS0tIGEvc3FsL3NxbF90YWJsZS5jYwkyMDA4 LTA3LTI2IDE2OjM4OjIwICswMDAwDQorKysgYi9zcWwvc3FsX3RhYmxlLmNjCTIw MDgtMTItMjIgMTE6Mzk6MTEgKzAwMDANCkBAIC02OCw2ICs2OCwyMzQgQEAgc3Rh dGljIHZvaWQgd2FpdF9mb3Jfa2lsbF9zaWduYWwoVEhEICp0aA0KICNlbmRpZg0K IA0KIA0KKy8qKg0KKyAgQGJyaWVmIEhlbHBlciBmdW5jdGlvbiBmb3IgZXhwbGFp bl9maWxlbmFtZQ0KKyovDQorc3RhdGljIGNoYXIqIGFkZF9pZGVudGlmaWVyKGNo YXIgKnRvX3AsIGNvbnN0IGNoYXIgKiBlbmRfcCwNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBjaGFyKiBuYW1lLCB1aW50IG5hbWVfbGVuLCBpbnQg ZXJyY29kZSkNCit7DQorICB1aW50IHJlczsNCisgIHVpbnQgZXJyb3JzOw0KKyAg Y29uc3QgY2hhciAqY29udl9uYW1lOw0KKyAgY2hhciB0bXBfbmFtZVtGTl9SRUZM RU5dOw0KKyAgY2hhciBjb252X3N0cmluZ1tGTl9SRUZMRU5dOw0KKw0KKyAgREJV R19FTlRFUigiYWRkX2lkZW50aWZpZXIiKTsNCisgIGlmICghbmFtZVtuYW1lX2xl bl0pDQorICAgIGNvbnZfbmFtZT0gbmFtZTsNCisgIGVsc2UNCisgIHsNCisgICAg c3Rybm1vdih0bXBfbmFtZSwgbmFtZSwgbmFtZV9sZW4pOw0KKyAgICB0bXBfbmFt ZVtuYW1lX2xlbl09IDA7DQorICAgIGNvbnZfbmFtZT0gdG1wX25hbWU7DQorICB9 DQorICByZXM9IHN0cmNvbnZlcnQoJm15X2NoYXJzZXRfZmlsZW5hbWUsIGNvbnZf bmFtZSwgc3lzdGVtX2NoYXJzZXRfaW5mbywNCisgICAgICAgICAgICAgICAgICBj b252X3N0cmluZywgRk5fUkVGTEVOLCAmZXJyb3JzKTsNCisgIGlmICghcmVzIHx8 IGVycm9ycykNCisgICAgY29udl9uYW1lPSBuYW1lOw0KKyAgZWxzZQ0KKyAgew0K KyAgICBEQlVHX1BSSU5UKCJpbmZvIiwgKCJjb252ICclcycgLT4gJyVzJyIsIGNv bnZfbmFtZSwgY29udl9zdHJpbmcpKTsNCisgICAgY29udl9uYW1lPSBjb252X3N0 cmluZzsNCisgIH0NCisNCisgIGlmIChlcnJjb2RlKQ0KKyAgICB0b19wKz0gbXlf c25wcmludGYodG9fcCwgZW5kX3AgLSB0b19wLCBFUihlcnJjb2RlKSwgY29udl9u YW1lKTsNCisgIGVsc2UNCisgICAgdG9fcCs9IG15X3NucHJpbnRmKHRvX3AsIGVu ZF9wIC0gdG9fcCwgImAlc2AiLCBjb252X25hbWUpOw0KKyAgcmV0dXJuIHRvX3A7 DQorfQ0KKw0KKw0KKy8qKg0KKyAgQGJyaWVmIEV4cGxhaW4gYSBwYXRoIG5hbWUg Ynkgc3BsaXQgaXQgdG8gZGF0YWJhc2UsIHRhYmxlIGV0Yy4NCisgIA0KKyAgQGRl dGFpbHMgQnJlYWsgZG93biB0aGUgcGF0aCBuYW1lIHRvIGl0cyBsb2dpYyBwYXJ0 cw0KKyAgKGRhdGFiYXNlLCB0YWJsZSwgcGFydGl0aW9uLCBzdWJwYXJ0aXRpb24p Lg0KKyAgZmlsZW5hbWVfdG9fdGFibGVuYW1lIGNhbm5vdCBiZSB1c2VkIG9uIHBh cnRpdGlvbnMsIGR1ZSB0byB0aGUgI1AjIHBhcnQuDQorICBUaGVyZSBjYW4gYmUg dXAgdG8gNiAnIycsICNQIyBmb3IgcGFydGl0aW9uLCAjU1AjIGZvciBzdWJwYXJ0 aXRpb24NCisgIGFuZCAjVE1QIyBvciAjUkVOIyBmb3IgdGVtcG9yYXJ5IG9yIHJl bmFtZWQgcGFydGl0aW9ucy4NCisgIFRoaXMgc2hvdWxkIGJlIHVzZWQgd2hlbiBz b21ldGhpbmcgc2hvdWxkIGJlIHByZXNlbnRlZCB0byBhIHVzZXIgaW4gYQ0KKyAg ZGlhZ25vc3RpYywgZXJyb3IgZXRjLiB3aGVuIGl0IHdvdWxkIGJlIHVzZWZ1bCB0 byBrbm93IHdoYXQgYSBwYXJ0aWN1bGFyDQorICBmaWxlIFthbmQgZGlyZWN0b3J5 XSBtZWFucy4gU3VjaCBhcyBTSE9XIEVOR0lORSBTVEFUVVMsIGVycm9yIG1lc3Nh Z2VzIGV0Yy4NCisNCisgICBAcGFyYW0gICAgICBmcm9tICAgICAgICAgUGF0aCBu YW1lIGluIG15X2NoYXJzZXRfZmlsZW5hbWUNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTnVsbCB0ZXJtaW5hdGVkIGluIG15X2NoYXJzZXRfZmlsZW5hbWUs IG5vcm1hbGl6ZWQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gdXNl ICcvJyBhcyBkaXJlY3Rvcnkgc2VwYXJhdGlvbiBjaGFyYWN0ZXIuDQorICAgQHBh cmFtICAgICAgdG8gICAgICAgICAgIEV4cGxhaW5lZCBuYW1lIGluIHN5c3RlbV9j aGFyc2V0X2luZm8NCisgICBAcGFyYW0gICAgICB0b19sZW5ndGggICAgU2l6ZSBv ZiB0byBidWZmZXINCisgICBAcGFyYW0gICAgICBleHBsYWluX21vZGUgUmVxdWVz dGVkIG91dHB1dCBmb3JtYXQuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg IEVYUExBSU5fQUxMX1ZFUkJPU0UgLT4NCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgW0RhdGFiYXNlIGBkYmAsIF1UYWJsZSBgdGJsYFssWyBUZW1wb3Jhcnl8 IFJlbmFtZWRdDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRpdGlv biBgcGAgWywgU3VicGFydGl0aW9uIGBzcGBdXQ0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICBFWFBMQUlOX1BBUlRJVElPTlNfVkVSQk9TRSAtPiBgZGJgLmB0 YmxgDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtbIFRlbXBvcmFyeXwg UmVuYW1lZF0gUGFydGl0aW9uIGBwYA0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBbLCBTdWJwYXJ0aXRpb24gYHNwYF1dDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVYUExBSU5fUEFSVElUSU9OU19BU19DT01NRU5UIC0+IGBkYmAu YHRibGAgfCoNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyxbIFRlbXBv cmFyeXwgUmVuYW1lZF0gUGFydGl0aW9uIGBwYA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICBbLCBTdWJwYXJ0aXRpb24gYHNwYF1dICp8DQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICh8IGlzIHJlYWxseSBhIC8sIGFuZCBpdCBpcyBh bGwgaW4gb25lIGxpbmUpDQorDQorICAgQHJldHZhbCAgICAgTGVuZ3RoIG9mIHJl dHVybmVkIHN0cmluZw0KKyovDQorDQordWludCBleHBsYWluX2ZpbGVuYW1lKGNv bnN0IGNoYXIgKmZyb20sDQorICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKnRv LA0KKyAgICAgICAgICAgICAgICAgICAgICB1aW50IHRvX2xlbmd0aCwNCisgICAg ICAgICAgICAgICAgICAgICAgZW51bV9leHBsYWluX2ZpbGVuYW1lX21vZGUgZXhw bGFpbl9tb2RlKQ0KK3sNCisgIHVpbnQgcmVzPSAwOw0KKyAgY2hhciAqdG9fcD0g dG87DQorICBjaGFyICplbmRfcD0gdG9fcCArIHRvX2xlbmd0aDsNCisgIGNvbnN0 IGNoYXIgKmRiX25hbWU9IE5VTEw7DQorICBpbnQgIGRiX25hbWVfbGVuPSAwOw0K KyAgY29uc3QgY2hhciAqdGFibGVfbmFtZTsNCisgIGludCAgdGFibGVfbmFtZV9s ZW49IDA7DQorICBjb25zdCBjaGFyICpwYXJ0X25hbWU9IE5VTEw7DQorICBpbnQg IHBhcnRfbmFtZV9sZW49IDA7DQorICBjb25zdCBjaGFyICpzdWJwYXJ0X25hbWU9 IE5VTEw7DQorICBpbnQgIHN1YnBhcnRfbmFtZV9sZW49IDA7DQorICBlbnVtIGVu dW1fZmlsZV9uYW1lX3R5cGUge05PUk1BTCwgVEVNUCwgUkVOQU1FRH0gbmFtZV90 eXBlPSBOT1JNQUw7DQorICBjb25zdCBjaGFyICp0bXBfcDsNCisgIERCVUdfRU5U RVIoImV4cGxhaW5fZmlsZW5hbWUiKTsNCisgIERCVUdfUFJJTlQoImVudGVyIiwg KCJmcm9tICclcyciLCBmcm9tKSk7DQorICB0bXBfcD0gZnJvbTsNCisgIHRhYmxl X25hbWU9IGZyb207DQorICAvKg0KKyAgICBJZiAnLycgdGhlbiB0YWtlIGxhc3Qg ZGlyZWN0b3J5IHBhcnQgYXMgZGF0YWJhc2UuDQorICAgICcvJyBpcyB0aGUgZGly ZWN0b3J5IHNlcGFyYXRvciwgbm90IEZOX0xJQl9DSEFSDQorICAqLw0KKyAgd2hp bGUgKCh0bXBfcD0gc3RyY2hyKHRtcF9wLCAnLycpKSkNCisgIHsNCisgICAgZGJf bmFtZT0gdGFibGVfbmFtZTsNCisgICAgLyogY2FsY3VsYXRlIHRoZSBsZW5ndGgg Ki8NCisgICAgZGJfbmFtZV9sZW49IHRtcF9wIC0gZGJfbmFtZTsNCisgICAgdG1w X3ArKzsNCisgICAgdGFibGVfbmFtZT0gdG1wX3A7DQorICB9DQorICB0bXBfcD0g dGFibGVfbmFtZTsNCisgIHdoaWxlICghcmVzICYmICh0bXBfcD0gc3RyY2hyKHRt cF9wLCAnIycpKSkNCisgIHsNCisgICAgdG1wX3ArKzsNCisgICAgc3dpdGNoICh0 bXBfcFswXSkgew0KKyAgICBjYXNlICdQJzoNCisgICAgY2FzZSAncCc6DQorICAg ICAgaWYgKHRtcF9wWzFdID09ICcjJykNCisgICAgICAgIHBhcnRfbmFtZT0gdG1w X3AgKyAyOw0KKyAgICAgIGVsc2UNCisgICAgICAgIHJlcz0gMTsNCisgICAgICB0 bXBfcCs9IDI7DQorICAgICAgYnJlYWs7DQorICAgIGNhc2UgJ1MnOg0KKyAgICBj YXNlICdzJzoNCisgICAgICBpZiAoKHRtcF9wWzFdID09ICdQJyB8fCB0bXBfcFsx XSA9PSAncCcpICYmIHRtcF9wWzJdID09ICcjJykNCisgICAgICB7DQorICAgICAg ICBwYXJ0X25hbWVfbGVuPSB0bXBfcCAtIHBhcnRfbmFtZSAtIDE7DQorICAgICAg ICBzdWJwYXJ0X25hbWU9IHRtcF9wICsgMzsNCisgICAgICB9DQorICAgICAgZWxz ZQ0KKyAgICAgICAgcmVzPSAyOw0KKyAgICAgIHRtcF9wKz0gMzsNCisgICAgICBi cmVhazsNCisgICAgY2FzZSAnVCc6DQorICAgIGNhc2UgJ3QnOg0KKyAgICAgIGlm ICgodG1wX3BbMV0gPT0gJ00nIHx8IHRtcF9wWzFdID09ICdtJykgJiYNCisgICAg ICAgICAgKHRtcF9wWzJdID09ICdQJyB8fCB0bXBfcFsyXSA9PSAncCcpICYmDQor ICAgICAgICAgIHRtcF9wWzNdID09ICcjJyAmJiAhdG1wX3BbNF0pDQorICAgICAg ICBuYW1lX3R5cGU9IFRFTVA7DQorICAgICAgZWxzZQ0KKyAgICAgICAgcmVzPSAz Ow0KKyAgICAgIHRtcF9wKz0gNDsNCisgICAgICBicmVhazsNCisgICAgY2FzZSAn Uic6DQorICAgIGNhc2UgJ3InOg0KKyAgICAgIGlmICgodG1wX3BbMV0gPT0gJ0Un IHx8IHRtcF9wWzFdID09ICdlJykgJiYNCisgICAgICAgICAgKHRtcF9wWzJdID09 ICdOJyB8fCB0bXBfcFsyXSA9PSAnbicpICYmDQorICAgICAgICAgIHRtcF9wWzNd ID09ICcjJyAmJiAhdG1wX3BbNF0pDQorICAgICAgICBuYW1lX3R5cGU9IFJFTkFN RUQ7DQorICAgICAgZWxzZQ0KKyAgICAgICAgcmVzPSA0Ow0KKyAgICAgIHRtcF9w Kz0gNDsNCisgICAgICBicmVhazsNCisgICAgZGVmYXVsdDoNCisgICAgICByZXM9 IDU7DQorICAgIH0NCisgIH0NCisgIGlmIChyZXMpDQorICB7DQorICAgIC8qIEJl dHRlciB0byBnaXZlIHNvbWV0aGluZyBiYWNrIGlmIHdlIGZhaWwgcGFyc2luZywg dGhhbiBub3RoaW5nIGF0IGFsbCAqLw0KKyAgICBEQlVHX1BSSU5UKCJpbmZvIiwg KCJFcnJvciBpbiBleHBsYWluX2ZpbGVuYW1lOiAldSIsIHJlcykpOw0KKyAgICBz cWxfcHJpbnRfd2FybmluZygiSW52YWxpZCAob2xkPykgdGFibGUgb3IgZGF0YWJh c2UgbmFtZSAnJXMnIiwgZnJvbSk7DQorICAgIERCVUdfUkVUVVJOKG15X3NucHJp bnRmKHRvLCB0b19sZW5ndGgsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICI8cmVzdWx0ICV1IHdoZW4gZXhwbGFpbmluZyBmaWxlbmFtZSAnJXMnPiIsDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcywgZnJvbSkpOw0KKyAgfQ0K KyAgaWYgKHBhcnRfbmFtZSkNCisgIHsNCisgICAgdGFibGVfbmFtZV9sZW49IHBh cnRfbmFtZSAtIHRhYmxlX25hbWUgLSAzOw0KKyAgICBpZiAoc3VicGFydF9uYW1l KQ0KKyAgICAgIHN1YnBhcnRfbmFtZV9sZW49IHN0cmxlbihzdWJwYXJ0X25hbWUp Ow0KKyAgICBlbHNlDQorICAgICAgcGFydF9uYW1lX2xlbj0gc3RybGVuKHBhcnRf bmFtZSk7DQorICAgIGlmIChuYW1lX3R5cGUgIT0gTk9STUFMKQ0KKyAgICB7DQor ICAgICAgaWYgKHN1YnBhcnRfbmFtZSkNCisgICAgICAgIHN1YnBhcnRfbmFtZV9s ZW4tPSA1Ow0KKyAgICAgIGVsc2UNCisgICAgICAgIHBhcnRfbmFtZV9sZW4tPSA1 Ow0KKyAgICB9DQorICB9DQorICBpZiAoZGJfbmFtZSkNCisgIHsNCisgICAgaWYg KGV4cGxhaW5fbW9kZSA9PSBFWFBMQUlOX0FMTF9WRVJCT1NFKQ0KKyAgICB7DQor ICAgICAgdG9fcD0gYWRkX2lkZW50aWZpZXIodG9fcCwgZW5kX3AsIGRiX25hbWUs IGRiX25hbWVfbGVuLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEVSX0RB VEFCQVNFX05BTUUpOw0KKyAgICAgIHRvX3A9IHN0cm5tb3YodG9fcCwgIiwgIiwg ZW5kX3AgLSB0b19wKTsNCisgICAgfQ0KKyAgICBlbHNlDQorICAgIHsNCisgICAg ICB0b19wPSBhZGRfaWRlbnRpZmllcih0b19wLCBlbmRfcCwgZGJfbmFtZSwgZGJf bmFtZV9sZW4sIDApOw0KKyAgICAgIHRvX3A9IHN0cm5tb3YodG9fcCwgIi4iLCBl bmRfcCAtIHRvX3ApOw0KKyAgICB9DQorICB9DQorICBpZiAoZXhwbGFpbl9tb2Rl ID09IEVYUExBSU5fQUxMX1ZFUkJPU0UpDQorICAgIHRvX3A9IGFkZF9pZGVudGlm aWVyKHRvX3AsIGVuZF9wLCB0YWJsZV9uYW1lLCB0YWJsZV9uYW1lX2xlbiwNCisg ICAgICAgICAgICAgICAgICAgICAgICAgRVJfVEFCTEVfTkFNRSk7DQorICBlbHNl DQorICAgIHRvX3A9IGFkZF9pZGVudGlmaWVyKHRvX3AsIGVuZF9wLCB0YWJsZV9u YW1lLCB0YWJsZV9uYW1lX2xlbiwgMCk7DQorICBpZiAocGFydF9uYW1lKQ0KKyAg ew0KKyAgICBpZiAoZXhwbGFpbl9tb2RlID09IEVYUExBSU5fUEFSVElUSU9OU19B U19DT01NRU5UKQ0KKyAgICAgIHRvX3A9IHN0cm5tb3YodG9fcCwgIiAvKiAiLCBl bmRfcCAtIHRvX3ApOw0KKyAgICBlbHNlIGlmIChleHBsYWluX21vZGUgPT0gRVhQ TEFJTl9QQVJUSVRJT05TX1ZFUkJPU0UpDQorICAgICAgdG9fcD0gc3Rybm1vdih0 b19wLCAiICIsIGVuZF9wIC0gdG9fcCk7DQorICAgIGVsc2UNCisgICAgICB0b19w PSBzdHJubW92KHRvX3AsICIsICIsIGVuZF9wIC0gdG9fcCk7DQorICAgIGlmIChu YW1lX3R5cGUgIT0gTk9STUFMKQ0KKyAgICB7DQorICAgICAgaWYgKG5hbWVfdHlw ZSA9PSBURU1QKQ0KKyAgICAgICAgdG9fcD0gc3Rybm1vdih0b19wLCBFUihFUl9U RU1QT1JBUllfTkFNRSksIGVuZF9wIC0gdG9fcCk7DQorICAgICAgZWxzZQ0KKyAg ICAgICAgdG9fcD0gc3Rybm1vdih0b19wLCBFUihFUl9SRU5BTUVEX05BTUUpLCBl bmRfcCAtIHRvX3ApOw0KKyAgICAgIHRvX3A9IHN0cm5tb3YodG9fcCwgIiAiLCBl bmRfcCAtIHRvX3ApOw0KKyAgICB9DQorICAgIHRvX3A9IGFkZF9pZGVudGlmaWVy KHRvX3AsIGVuZF9wLCBwYXJ0X25hbWUsIHBhcnRfbmFtZV9sZW4sDQorICAgICAg ICAgICAgICAgICAgICAgICAgIEVSX1BBUlRJVElPTl9OQU1FKTsNCisgICAgaWYg KHN1YnBhcnRfbmFtZSkNCisgICAgew0KKyAgICAgIHRvX3A9IHN0cm5tb3YodG9f cCwgIiwgIiwgZW5kX3AgLSB0b19wKTsNCisgICAgICB0b19wPSBhZGRfaWRlbnRp Zmllcih0b19wLCBlbmRfcCwgc3VicGFydF9uYW1lLCBzdWJwYXJ0X25hbWVfbGVu LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEVSX1NVQlBBUlRJVElPTl9O QU1FKTsNCisgICAgfQ0KKyAgICBpZiAoZXhwbGFpbl9tb2RlID09IEVYUExBSU5f UEFSVElUSU9OU19BU19DT01NRU5UKQ0KKyAgICAgIHRvX3A9IHN0cm5tb3YodG9f cCwgIiAqLyIsIGVuZF9wIC0gdG9fcCk7DQorICB9DQorICBEQlVHX1BSSU5UKCJl eGl0IiwgKCJ0byAnJXMnIiwgdG8pKTsNCisgIERCVUdfUkVUVVJOKHRvX3AgLSB0 byk7DQorfQ0KKw0KKw0KIC8qDQogICBUcmFuc2xhdGUgYSBmaWxlIG5hbWUgdG8g YSB0YWJsZSBuYW1lIChXTCAjMTMyNCkuDQogDQoNCj09PSBtb2RpZmllZCBmaWxl ICdzdG9yYWdlL2lubm9iYXNlL2RpY3QvZGljdDBkaWN0LmMnDQotLS0gYS9zdG9y YWdlL2lubm9iYXNlL2RpY3QvZGljdDBkaWN0LmMJMjAwOC0wNi0xMiAwMDowODow NyArMDAwMA0KKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9kaWN0L2RpY3QwZGljdC5j CTIwMDgtMTItMjIgMTE6Mzk6MTEgKzAwMDANCkBAIC00MjEwLDYgKzQyMTAsNiBA QCBkaWN0X2luZGV4X25hbWVfcHJpbnQoDQogew0KIAlmcHV0cygiaW5kZXggIiwg ZmlsZSk7DQogCXV0X3ByaW50X25hbWUoZmlsZSwgdHJ4LCBGQUxTRSwgaW5kZXgt Pm5hbWUpOw0KLQlmcHV0cygiIG9mIHRhYmxlICIsIGZpbGUpOw0KKwlmcHV0cygi IGluICIsIGZpbGUpOw0KIAl1dF9wcmludF9uYW1lKGZpbGUsIHRyeCwgVFJVRSwg aW5kZXgtPnRhYmxlX25hbWUpOw0KIH0NCg0KPT09IG1vZGlmaWVkIGZpbGUgJ3N0 b3JhZ2UvaW5ub2Jhc2UvaGFuZGxlci9oYV9pbm5vZGIuY2MnDQotLS0gYS9zdG9y YWdlL2lubm9iYXNlL2hhbmRsZXIvaGFfaW5ub2RiLmNjCTIwMDgtMDYtMTIgMDA6 MDg6MDcgKzAwMDANCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvaGFuZGxlci9oYV9p bm5vZGIuY2MJMjAwOC0xMi0yMiAxMTozOToxMSArMDAwMA0KQEAgLTEyNzEsMTQg KzEyNzEsMTQgQEAgaW5ub2Jhc2VfcHJpbnRfaWRlbnRpZmllcigNCiAJaW50CQlx Ow0KIA0KIAlpZiAodGFibGVfaWQpIHsNCi0JCS8qIERlY29kZSB0aGUgdGFibGUg bmFtZS4gIFRoZSBmaWxlbmFtZV90b190YWJsZW5hbWUoKQ0KKwkJLyogRGVjb2Rl IHRoZSB0YWJsZSBuYW1lLiAgVGhlIGV4cGxhaW5fZmlsZW5hbWUoKQ0KIAkJZnVu Y3Rpb24gZXhwZWN0cyBhIE5VTC10ZXJtaW5hdGVkIHN0cmluZy4gIFRoZSBpbnB1 dCBhbmQNCiAJCW91dHB1dCBzdHJpbmdzIGJ1ZmZlcnMgbXVzdCBub3QgYmUgc2hh cmVkLiAgVGhlIGZ1bmN0aW9uDQogCQlvbmx5IHByb2R1Y2VzIG1vcmUgb3V0cHV0 IHdoZW4gdGhlIG5hbWUgY29udGFpbnMgb3RoZXINCiAJCWNoYXJhY3RlcnMgdGhh biBbMC05QS1aX2Etel0uICovDQogICAgICAgICAgIGNoYXIqCXRlbXBfbmFtZSA9 IChjaGFyKikgbXlfbWFsbG9jKCh1aW50KSBuYW1lbGVuICsgMSwgTVlGKE1ZX1dN RSkpOw0KICAgICAgICAgICB1aW50CXFuYW1lbGVuID0gKHVpbnQpIChuYW1lbGVu DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArICgxICsgc2l6 ZW9mIHNydl9teXNxbDUwX3RhYmxlX25hbWVfcHJlZml4KSk7DQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICArICgxICsgRVhQTEFJTl9GSUxFTkFN RV9NQVhfRVhUUkFfTEVOR1RIKSk7DQogDQogCQlpZiAodGVtcF9uYW1lKSB7DQog ICAgICAgICAgICAgICAgICAgcW5hbWUgPSAoY2hhciopIG15X21hbGxvYyhxbmFt ZWxlbiwgTVlGKE1ZX1dNRSkpOw0KQEAgLTEyODYsOCArMTI4Niw5IEBAIGlubm9i YXNlX3ByaW50X2lkZW50aWZpZXIoDQogCQkJCW1lbWNweSh0ZW1wX25hbWUsIG5h bWUsIG5hbWVsZW4pOw0KIAkJCQl0ZW1wX25hbWVbbmFtZWxlbl0gPSAwOw0KIAkJ CQlzID0gcW5hbWU7DQotCQkJCW5hbWVsZW4gPSBmaWxlbmFtZV90b190YWJsZW5h bWUodGVtcF9uYW1lLA0KLQkJCQkJCXFuYW1lLCBxbmFtZWxlbik7DQorCQkJCW5h bWVsZW4gPSBleHBsYWluX2ZpbGVuYW1lKHRlbXBfbmFtZSwNCisJCQkJCQlxbmFt ZSwgcW5hbWVsZW4sDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgRVhQTEFJTl9QQVJUSVRJT05TX1ZFUkJPU0UpOw0KIAkJ CX0NCiAJCQlteV9mcmVlKHRlbXBfbmFtZSwgTVlGKDApKTsNCiAJCX0NCkBAIC0x MzAxLDcgKzEzMDIsNyBAQCBpbm5vYmFzZV9wcmludF9pZGVudGlmaWVyKA0KIAkJ CQkJCXMsIChpbnQpIG5hbWVsZW4pOw0KIAl9DQogDQotCWlmIChxID09IEVPRikg ew0KKwlpZiAocSA9PSBFT0YgfHwgdGFibGVfaWQpIHsNCiAJCWZ3cml0ZShzLCAx LCBuYW1lbGVuLCBmKTsNCiAJfSBlbHNlIHsNCiAJCWNvbnN0IGNoYXIqCWUgPSBz ICsgbmFtZWxlbjsNCg0KPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jh c2UvdXQvdXQwdXQuYycNCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvdXQvdXQwdXQu YwkyMDA4LTA2LTEyIDAwOjA4OjA3ICswMDAwDQorKysgYi9zdG9yYWdlL2lubm9i YXNlL3V0L3V0MHV0LmMJMjAwOC0xMi0yMiAxMTozOToxMSArMDAwMA0KQEAgLTQ4 NywyMiArNDg3LDcgQEAgdXRfcHJpbnRfbmFtZWwoDQogI2lmZGVmIFVOSVZfSE9U QkFDS1VQDQogCWZ3cml0ZShuYW1lLCAxLCBuYW1lbGVuLCBmKTsNCiAjZWxzZQ0K LQlpZiAodGFibGVfaWQpIHsNCi0JCWNoYXIqCXNsYXNoID0gbWVtY2hyKG5hbWUs ICcvJywgbmFtZWxlbik7DQotCQlpZiAoIXNsYXNoKSB7DQotDQotCQkJZ290byBu b19kYl9uYW1lOw0KLQkJfQ0KLQ0KLQkJLyogUHJpbnQgdGhlIGRhdGFiYXNlIG5h bWUgYW5kIHRhYmxlIG5hbWUgc2VwYXJhdGVseS4gKi8NCi0JCWlubm9iYXNlX3By aW50X2lkZW50aWZpZXIoZiwgdHJ4LCBUUlVFLCBuYW1lLCBzbGFzaCAtIG5hbWUp Ow0KLQkJcHV0YygnLicsIGYpOw0KLQkJaW5ub2Jhc2VfcHJpbnRfaWRlbnRpZmll cihmLCB0cngsIFRSVUUsIHNsYXNoICsgMSwNCi0JCQkJCSAgbmFtZWxlbiAtIChz bGFzaCAtIG5hbWUpIC0gMSk7DQotCX0gZWxzZSB7DQotbm9fZGJfbmFtZToNCi0J CWlubm9iYXNlX3ByaW50X2lkZW50aWZpZXIoZiwgdHJ4LCB0YWJsZV9pZCwgbmFt ZSwgbmFtZWxlbik7DQotCX0NCisJaW5ub2Jhc2VfcHJpbnRfaWRlbnRpZmllcihm LCB0cngsIHRhYmxlX2lkLCBuYW1lLCBuYW1lbGVuKTsNCiAjZW5kaWYNCiB9DQog DQoNCg==