From: marko.makela Date: June 28 2011 12:40pm Subject: bzr push into mysql-trunk branch (marko.makela:3238 to 3239) List-Archive: http://lists.mysql.com/commits/139959 Message-Id: <201106281240.p5SCeF60024206@acsmt356.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDMyMzkgTWFya28gTcOka2Vsw6QJMjAxMS0wNi0yOCBbbWVyZ2VdCiAgICAgIE1lcmdlIG15c3Fs LTUuNSB0byBteXNxbC10cnVuay4KCiAgICBtb2RpZmllZDoKICAgICAgbXlzcWwtdGVzdC9zdWl0 ZS9pbm5vZGIvci9pbm5vZGItdXNlLXN5cy1tYWxsb2MucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qv c3VpdGUvaW5ub2RiL3QvaW5ub2RiLXVzZS1zeXMtbWFsbG9jLW1hc3Rlci5vcHQKICAgICAgbXlz cWwtdGVzdC9zdWl0ZS9pbm5vZGIvdC9pbm5vZGItdXNlLXN5cy1tYWxsb2MudGVzdAogICAgICBz dG9yYWdlL2lubm9iYXNlL2hhbmRsZXIvaGFfaW5ub2RiLmNjCiAgICAgIHN0b3JhZ2UvaW5ub2Jh c2UvaW5jbHVkZS9kYjBlcnIuaAogICAgICBzdG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cwbXlzcWwu YwogICAgICBzdG9yYWdlL2lubm9iYXNlL3V0L3V0MHV0LmMKIDMyMzggTWFya28gTcOka2Vsw6QJ MjAxMS0wNi0yOCBbbWVyZ2VdCiAgICAgIE1lcmdlIG15c3FsLTUuNSB0byBteXNxbC10cnVuay4K CiAgICBtb2RpZmllZDoKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9wYWdlL3BhZ2UwemlwLmMKPT09 IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3IvaW5ub2RiLXVzZS1zeXMt bWFsbG9jLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGIvci9pbm5vZGItdXNl LXN5cy1tYWxsb2MucmVzdWx0CXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTEwNjI4 MDkzMDMyLWdxNWd3a2RxMnB5NmFhb3MKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGIvci9p bm5vZGItdXNlLXN5cy1tYWxsb2MucmVzdWx0CXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29t LTIwMTEwNjI4MTIzNjE0LWRpOWl4dmJqM2pybnp5Y2oKQEAgLTksNDAgKzksNDUgQEAgU0VMRUNU IEBAR0xPQkFMLmlubm9kYl91c2Vfc3lzX21hbGxvYzsKIEBAR0xPQkFMLmlubm9kYl91c2Vfc3lz X21hbGxvYwogMQogMSBFeHBlY3RlZAotZHJvcCB0YWJsZSBpZiBleGlzdHMgdDE7Ci1jcmVhdGUg dGFibGUgdDEoYSBpbnQgbm90IG51bGwpIGVuZ2luZT1pbm5vZGIgREVGQVVMVCBDSEFSU0VUPWxh dGluMTsKLWluc2VydCBpbnRvIHQxIHZhbHVlcyAoMSksKDIpLCgzKSwoNCksKDUpLCg2KSwoNyk7 CitjcmVhdGUgdGFibGUgdDEoYSBpbnQgbm90IG51bGwsa2V5KGEsYSkpIGVuZ2luZT1pbm5vZGIg REVGQVVMVCBDSEFSU0VUPWxhdGluMTsKK0VSUk9SIDQyUzIxOiBEdXBsaWNhdGUgY29sdW1uIG5h bWUgJ2EnCitjcmVhdGUgdGFibGUgdDEoYSBpbnQsYiB0ZXh0LGtleShiKDc2OCkpKSBlbmdpbmU9 aW5ub2RiIERFRkFVTFQgQ0hBUlNFVD1sYXRpbjE7CitFUlJPUiBIWTAwMDogSW5kZXggY29sdW1u IHNpemUgdG9vIGxhcmdlLiBUaGUgbWF4aW11bSBjb2x1bW4gc2l6ZSBpcyA3NjcgYnl0ZXMuCitj cmVhdGUgdGFibGUgdDEoYSBpbnQgbm90IG51bGwsYiB0ZXh0KSBlbmdpbmU9aW5ub2RiIERFRkFV TFQgQ0hBUlNFVD1sYXRpbjE7CitpbnNlcnQgaW50byB0MSB2YWx1ZXMgKDEsJycpLCgyLCcnKSwo MywnJyksKDQsJycpLCg1LCcnKSwoNiwnJyksKDcsJycpOworY3JlYXRlIGluZGV4IHQxYWEgb24g dDEoYSxhKTsKK0VSUk9SIDQyUzIxOiBEdXBsaWNhdGUgY29sdW1uIG5hbWUgJ2EnCitjcmVhdGUg aW5kZXggdDFiIG9uIHQxKGIoNzY4KSk7CitFUlJPUiBIWTAwMDogSW5kZXggY29sdW1uIHNpemUg dG9vIGxhcmdlLiBUaGUgbWF4aW11bSBjb2x1bW4gc2l6ZSBpcyA3NjcgYnl0ZXMuCitTSE9XIENS RUFURSBUQUJMRSB0MTsKK1RhYmxlCUNyZWF0ZSBUYWJsZQordDEJQ1JFQVRFIFRBQkxFIGB0MWAg KAorICBgYWAgaW50KDExKSBOT1QgTlVMTCwKKyAgYGJgIHRleHQKKykgRU5HSU5FPUlubm9EQiBE RUZBVUxUIENIQVJTRVQ9bGF0aW4xCiBzZWxlY3QgKiBmcm9tIHQxOwotYQotMQotMgotMwotNAot NQotNgotNwotZHJvcCB0YWJsZSB0MTsKLVNFTEVDVCBAQEdMT0JBTC5pbm5vZGJfdXNlX3N5c19t YWxsb2M7Ci1AQEdMT0JBTC5pbm5vZGJfdXNlX3N5c19tYWxsb2MKLTEKLTEgRXhwZWN0ZWQKLVNF VCBAQEdMT0JBTC5pbm5vZGJfdXNlX3N5c19tYWxsb2M9MDsKLUVSUk9SIEhZMDAwOiBWYXJpYWJs ZSAnaW5ub2RiX3VzZV9zeXNfbWFsbG9jJyBpcyBhIHJlYWQgb25seSB2YXJpYWJsZQotRXhwZWN0 ZWQgZXJyb3IgJ1JlYWQgb25seSB2YXJpYWJsZScKLVNFTEVDVCBAQEdMT0JBTC5pbm5vZGJfdXNl X3N5c19tYWxsb2M7Ci1AQEdMT0JBTC5pbm5vZGJfdXNlX3N5c19tYWxsb2MKLTEKLTEgRXhwZWN0 ZWQKLWRyb3AgdGFibGUgaWYgZXhpc3RzIHQxOwotY3JlYXRlIHRhYmxlIHQxKGEgaW50IG5vdCBu dWxsKSBlbmdpbmU9aW5ub2RiIERFRkFVTFQgQ0hBUlNFVD1sYXRpbjE7Ci1pbnNlcnQgaW50byB0 MSB2YWx1ZXMgKDEpLCgyKSwoMyksKDQpLCg1KSwoNiksKDcpOwotc2VsZWN0ICogZnJvbSB0MTsK LWEKLTEKLTIKLTMKLTQKLTUKLTYKLTcKK2EJYgorMQkKKzIJCiszCQorNAkKKzUJCis2CQorNwkK IGRyb3AgdGFibGUgdDE7CitDUkVBVEUgVEFCTEUgdDIoYSBpbnQgcHJpbWFyeSBrZXksIGIgdGV4 dCkgRU5HSU5FPUlubm9EQiBERUZBVUxUIENIQVJTRVQ9bGF0aW4xOworSU5TRVJUIElOVE8gdDIg VkFMVUVTICgxLCcnKSwoMiwnJyksKDMsJycpLCg0LCcnKSwoNSwnJyksKDYsJycpLCg3LCcnKTsK K0NSRUFURSBJTkRFWCB0MmFhIG9uIHQyKGEsYSk7CitFUlJPUiA0MlMyMTogRHVwbGljYXRlIGNv bHVtbiBuYW1lICdhJworQ1JFQVRFIElOREVYIHQyYiBvbiB0MihiKDc2OCkpOworRVJST1IgSFkw MDA6IEluZGV4IGNvbHVtbiBzaXplIHRvbyBsYXJnZS4gVGhlIG1heGltdW0gY29sdW1uIHNpemUg aXMgNzY3IGJ5dGVzLgorU0VMRUNUICogRlJPTSB0MjsKK2EJYgorMQkKKzIJCiszCQorNAkKKzUJ Cis2CQorNwkKK0RST1AgVEFCTEUgdDI7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9z dWl0ZS9pbm5vZGIvdC9pbm5vZGItdXNlLXN5cy1tYWxsb2MtbWFzdGVyLm9wdCcKLS0tIGEvbXlz cWwtdGVzdC9zdWl0ZS9pbm5vZGIvdC9pbm5vZGItdXNlLXN5cy1tYWxsb2MtbWFzdGVyLm9wdAly ZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDExMDYyODA5MzAzMi1ncTVnd2tkcTJweTZh YW9zCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3QvaW5ub2RiLXVzZS1zeXMtbWFsbG9j LW1hc3Rlci5vcHQJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMTA2MjgxMjM2MTQt ZGk5aXh2YmozanJuenljagpAQCAtMSwzICsxLDIgQEAKLS0tZGVmYXVsdC1zdG9yYWdlLWVuZ2lu ZT1NeUlTQU0KLS0tbG9vc2UtaW5ub2RiLXVzZS1zeXMtbWFsbG9jPXRydWUKLS0tbG9vc2UtaW5u b2RiLXVzZS1zeXMtbWFsbG9jPXRydWUKKy0taW5ub2RiLXVzZS1zeXMtbWFsbG9jPXRydWUKKy0t aW5ub2RiLWxhcmdlLXByZWZpeD10cnVlCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9z dWl0ZS9pbm5vZGIvdC9pbm5vZGItdXNlLXN5cy1tYWxsb2MudGVzdCcKLS0tIGEvbXlzcWwtdGVz dC9zdWl0ZS9pbm5vZGIvdC9pbm5vZGItdXNlLXN5cy1tYWxsb2MudGVzdAlyZXZpZDptYXJrby5t YWtlbGFAb3JhY2xlLmNvbS0yMDExMDYyODA5MzAzMi1ncTVnd2tkcTJweTZhYW9zCisrKyBiL215 c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3QvaW5ub2RiLXVzZS1zeXMtbWFsbG9jLnRlc3QJcmV2aWQ6 bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMTA2MjgxMjM2MTQtZGk5aXh2YmozanJuenljagpA QCAtMSw0ICsxLDQgQEAKLS0tc291cmNlIGluY2x1ZGUvaGF2ZV9pbm5vZGIuaW5jCistLSBzb3Vy Y2UgaW5jbHVkZS9oYXZlX2lubm9kYi5pbmMKIAogI2Rpc3BsYXkgY3VycmVudCB2YWx1ZSBvZiBp bm5vZGJfdXNlX3N5c19tYWxsb2MKIFNFTEVDVCBAQEdMT0JBTC5pbm5vZGJfdXNlX3N5c19tYWxs b2M7CkBAIC0xMywzNiArMTMsMzMgQEAgU0VMRUNUIEBAR0xPQkFMLmlubm9kYl91c2Vfc3lzX21h bGxvYzsKIC0tZWNobyAxIEV4cGVjdGVkCiAKIAotI2RvIHNvbWUgc3R1ZmYgdG8gc2VlIGlmIGl0 IHdvcmtzLgotLS1kaXNhYmxlX3dhcm5pbmdzCi1kcm9wIHRhYmxlIGlmIGV4aXN0cyB0MTsKLS0t ZW5hYmxlX3dhcm5pbmdzCi0KLWNyZWF0ZSB0YWJsZSB0MShhIGludCBub3QgbnVsbCkgZW5naW5l PWlubm9kYiBERUZBVUxUIENIQVJTRVQ9bGF0aW4xOwotaW5zZXJ0IGludG8gdDEgdmFsdWVzICgx KSwoMiksKDMpLCg0KSwoNSksKDYpLCg3KTsKKyMgRG8gc29tZSBzdHVmZiB0byBzZWUgaWYgaXQg d29ya3MuCisjIEFsc28sIHRlc3QgdGhlIGNvZGUgcGF0aHMgb2YKKyMgQnVnICMxMjY5OTUwNSBN RU1PUlkgTEVBSyBJTiBST1dfQ1JFQVRFX0lOREVYX0ZPUl9NWVNRTCgpCisjICh0aGUgbGVhayB3 b3VsZCBvbmx5IGJlIHRyaWdnZXJlZCBpZgorIyBoYV9pbm5vYmFzZTo6bWF4X3N1cHBvcnRlZF9r ZXlfcGFydF9sZW5ndGgoKSB3ZXJlIHNldAorIyBoaWdoZXIgdGhhbiB0aGUgbGltaXQgdXNlZCBp biByb3dfY3JlYXRlX2luZGV4X2Zvcl9teXNxbCgpKQorCistLWVycm9yIEVSX0RVUF9GSUVMRE5B TUUKK2NyZWF0ZSB0YWJsZSB0MShhIGludCBub3QgbnVsbCxrZXkoYSxhKSkgZW5naW5lPWlubm9k YiBERUZBVUxUIENIQVJTRVQ9bGF0aW4xOworIyB0aGFua3MgdG8gLS1pbm5vZGItbGFyZ2UtcHJl Zml4PTEgdGhpcyB3aWxsIG5vdCBiZSB0cnVuY2F0ZWQgdG8gYig3NjcpCistLSBlcnJvciBFUl9J TkRFWF9DT0xVTU5fVE9PX0xPTkcKK2NyZWF0ZSB0YWJsZSB0MShhIGludCxiIHRleHQsa2V5KGIo NzY4KSkpIGVuZ2luZT1pbm5vZGIgREVGQVVMVCBDSEFSU0VUPWxhdGluMTsKK2NyZWF0ZSB0YWJs ZSB0MShhIGludCBub3QgbnVsbCxiIHRleHQpIGVuZ2luZT1pbm5vZGIgREVGQVVMVCBDSEFSU0VU PWxhdGluMTsKK2luc2VydCBpbnRvIHQxIHZhbHVlcyAoMSwnJyksKDIsJycpLCgzLCcnKSwoNCwn JyksKDUsJycpLCg2LCcnKSwoNywnJyk7CistLWVycm9yIEVSX0RVUF9GSUVMRE5BTUUKK2NyZWF0 ZSBpbmRleCB0MWFhIG9uIHQxKGEsYSk7CistLSBlcnJvciBFUl9JTkRFWF9DT0xVTU5fVE9PX0xP TkcKK2NyZWF0ZSBpbmRleCB0MWIgb24gdDEoYig3NjgpKTsKK1NIT1cgQ1JFQVRFIFRBQkxFIHQx Owogc2VsZWN0ICogZnJvbSB0MTsKLWRyb3AgdGFibGUgdDE7Ci0tLXNvdXJjZSBpbmNsdWRlL2hh dmVfaW5ub2RiLmluYwogCi0jZGlzcGxheSBjdXJyZW50IHZhbHVlIG9mIGlubm9kYl91c2Vfc3lz X21hbGxvYwotU0VMRUNUIEBAR0xPQkFMLmlubm9kYl91c2Vfc3lzX21hbGxvYzsKLS0tZWNobyAx IEV4cGVjdGVkCi0KLSN0cnkgY2hhbmdpbmcgaXQuIFNob3VsZCBmYWlsLgotLS1lcnJvciBFUl9J TkNPUlJFQ1RfR0xPQkFMX0xPQ0FMX1ZBUgotU0VUIEBAR0xPQkFMLmlubm9kYl91c2Vfc3lzX21h bGxvYz0wOwotLS1lY2hvIEV4cGVjdGVkIGVycm9yICdSZWFkIG9ubHkgdmFyaWFibGUnCi0KLVNF TEVDVCBAQEdMT0JBTC5pbm5vZGJfdXNlX3N5c19tYWxsb2M7Ci0tLWVjaG8gMSBFeHBlY3RlZAot Ci0KLSNkbyBzb21lIHN0dWZmIHRvIHNlZSBpZiBpdCB3b3Jrcy4KLS0tZGlzYWJsZV93YXJuaW5n cwotZHJvcCB0YWJsZSBpZiBleGlzdHMgdDE7Ci0tLWVuYWJsZV93YXJuaW5ncwotCi1jcmVhdGUg dGFibGUgdDEoYSBpbnQgbm90IG51bGwpIGVuZ2luZT1pbm5vZGIgREVGQVVMVCBDSEFSU0VUPWxh dGluMTsKLWluc2VydCBpbnRvIHQxIHZhbHVlcyAoMSksKDIpLCgzKSwoNCksKDUpLCg2KSwoNyk7 Ci1zZWxlY3QgKiBmcm9tIHQxOwogZHJvcCB0YWJsZSB0MTsKK0NSRUFURSBUQUJMRSB0MihhIGlu dCBwcmltYXJ5IGtleSwgYiB0ZXh0KSBFTkdJTkU9SW5ub0RCIERFRkFVTFQgQ0hBUlNFVD1sYXRp bjE7CitJTlNFUlQgSU5UTyB0MiBWQUxVRVMgKDEsJycpLCgyLCcnKSwoMywnJyksKDQsJycpLCg1 LCcnKSwoNiwnJyksKDcsJycpOworLS1lcnJvciBFUl9EVVBfRklFTEROQU1FCitDUkVBVEUgSU5E RVggdDJhYSBvbiB0MihhLGEpOworLS0gZXJyb3IgRVJfSU5ERVhfQ09MVU1OX1RPT19MT05HCitD UkVBVEUgSU5ERVggdDJiIG9uIHQyKGIoNzY4KSk7CitTRUxFQ1QgKiBGUk9NIHQyOworRFJPUCBU QUJMRSB0MjsKCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL2hhbmRsZXIvaGFf aW5ub2RiLmNjJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL2hhbmRsZXIvaGFfaW5ub2RiLmNjCXJl dmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTEwNjI4MDkzMDMyLWdxNWd3a2RxMnB5NmFh b3MKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9oYW5kbGVyL2hhX2lubm9kYi5jYwlyZXZpZDptYXJr by5tYWtlbGFAb3JhY2xlLmNvbS0yMDExMDYyODEyMzYxNC1kaTlpeHZiajNqcm56eWNqCkBAIC0x MTU1LDcgKzExNTUsNiBAQCBjb252ZXJ0X2Vycm9yX2NvZGVfdG9fbXlzcWwoCiAJCQkJCQltaXNs ZWFkaW5nLCBhIG5ldyBNeVNRTCBlcnJvcgogCQkJCQkJY29kZSBzaG91bGQgYmUgaW50cm9kdWNl ZCAqLwogCi0JY2FzZSBEQl9DT0xfQVBQRUFSU19UV0lDRV9JTl9JTkRFWDoKIAljYXNlIERCX0NP UlJVUFRJT046CiAJCXJldHVybihIQV9FUlJfQ1JBU0hFRCk7CiAKCj09PSBtb2RpZmllZCBmaWxl ICdzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvZGIwZXJyLmgnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jh c2UvaW5jbHVkZS9kYjBlcnIuaAlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDExMDYy ODA5MzAzMi1ncTVnd2tkcTJweTZhYW9zCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9k YjBlcnIuaAlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDExMDYyODEyMzYxNC1kaTlp eHZiajNqcm56eWNqCkBAIC02NCw4ICs2NCw2IEBAIGVudW0gZGJfZXJyIHsKIAlEQl9DQU5OT1Rf QUREX0NPTlNUUkFJTlQsCS8qIGFkZGluZyBhIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQKIAkJCQkJ dG8gYSB0YWJsZSBmYWlsZWQgKi8KIAlEQl9DT1JSVVBUSU9OLAkJCS8qIGRhdGEgc3RydWN0dXJl IGNvcnJ1cHRpb24gbm90aWNlZCAqLwotCURCX0NPTF9BUFBFQVJTX1RXSUNFX0lOX0lOREVYLAkv KiBJbm5vREIgY2Fubm90IGhhbmRsZSBhbiBpbmRleAotCQkJCQl3aGVyZSBzYW1lIGNvbHVtbiBh cHBlYXJzIHR3aWNlICovCiAJREJfQ0FOTk9UX0RST1BfQ09OU1RSQUlOVCwJLyogZHJvcHBpbmcg YSBmb3JlaWduIGtleSBjb25zdHJhaW50CiAJCQkJCWZyb20gYSB0YWJsZSBmYWlsZWQgKi8KIAlE Ql9OT19TQVZFUE9JTlQsCQkvKiBubyBzYXZlcG9pbnQgZXhpc3RzIHdpdGggdGhlIGdpdmVuCgo9 PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93MG15c3FsLmMnCi0tLSBh L3N0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzBteXNxbC5jCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFj bGUuY29tLTIwMTEwNjI4MDkzMDMyLWdxNWd3a2RxMnB5NmFhb3MKKysrIGIvc3RvcmFnZS9pbm5v YmFzZS9yb3cvcm93MG15c3FsLmMJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMTA2 MjgxMjM2MTQtZGk5aXh2YmozanJuenljagpAQCAtMjAyOCw0MSArMjAyOCwxMyBAQCByb3dfY3Jl YXRlX2luZGV4X2Zvcl9teXNxbCgKIAogCXRyeF9zdGFydF9pZl9ub3Rfc3RhcnRlZF94YSh0cngp OwogCi0JLyogQ2hlY2sgdGhhdCB0aGUgc2FtZSBjb2x1bW4gZG9lcyBub3QgYXBwZWFyIHR3aWNl IGluIHRoZSBpbmRleC4KLQlTdGFydGluZyBmcm9tIDQuMC4xNCwgSW5ub0RCIHNob3VsZCBiZSBh YmxlIHRvIGNvcGUgd2l0aCB0aGF0LCBidXQKLQlzYWZlciBub3QgdG8gYWxsb3cgdGhlbS4gKi8K LQotCWZvciAoaSA9IDA7IGkgPCBkaWN0X2luZGV4X2dldF9uX2ZpZWxkcyhpbmRleCk7IGkrKykg ewotCQl1bGludAkJajsKLQotCQlmb3IgKGogPSAwOyBqIDwgaTsgaisrKSB7Ci0JCQlpZiAoMCA9 PSB1dF9zdHJjbXAoCi0JCQkJICAgIGRpY3RfaW5kZXhfZ2V0X250aF9maWVsZChpbmRleCwgaikt Pm5hbWUsCi0JCQkJICAgIGRpY3RfaW5kZXhfZ2V0X250aF9maWVsZChpbmRleCwgaSktPm5hbWUp KSB7Ci0JCQkJdXRfcHJpbnRfdGltZXN0YW1wKHN0ZGVycik7Ci0KLQkJCQlmcHV0cygiICBJbm5v REI6IEVycm9yOiBjb2x1bW4gIiwgc3RkZXJyKTsKLQkJCQl1dF9wcmludF9uYW1lKHN0ZGVyciwg dHJ4LCBGQUxTRSwKLQkJCQkJICAgICAgZGljdF9pbmRleF9nZXRfbnRoX2ZpZWxkKAotCQkJCQkJ ICAgICAgaW5kZXgsIGkpLT5uYW1lKTsKLQkJCQlmcHV0cygiIGFwcGVhcnMgdHdpY2UgaW4gIiwg c3RkZXJyKTsKLQkJCQlkaWN0X2luZGV4X25hbWVfcHJpbnQoc3RkZXJyLCB0cngsIGluZGV4KTsK LQkJCQlmcHV0cygiXG4iCi0JCQkJICAgICAgIklubm9EQjogVGhpcyBpcyBub3QgYWxsb3dlZCIK LQkJCQkgICAgICAiIGluIElubm9EQi5cbiIsIHN0ZGVycik7Ci0KLQkJCQllcnIgPSBEQl9DT0xf QVBQRUFSU19UV0lDRV9JTl9JTkRFWDsKLQotCQkJCWdvdG8gZXJyb3JfaGFuZGxpbmc7Ci0JCQl9 Ci0JCX0KLQotCQkvKiBDaGVjayBhbHNvIHRoYXQgcHJlZml4X2xlbiBhbmQgYWN0dWFsIGxlbmd0 aAotCQlpcyBsZXNzIHRoYW4gdGhhdCBmcm9tIERJQ1RfTUFYX0ZJRUxEX0xFTl9CWV9GT1JNQVQo KSAqLworCWZvciAoaSA9IDA7IGkgPCBpbmRleC0+bl9kZWY7IGkrKykgeworCQkvKiBDaGVjayB0 aGF0IHByZWZpeF9sZW4gYW5kIGFjdHVhbCBsZW5ndGgKKwkJPCBESUNUX01BWF9JTkRFWF9DT0xf TEVOICovCiAKIAkJbGVuID0gZGljdF9pbmRleF9nZXRfbnRoX2ZpZWxkKGluZGV4LCBpKS0+cHJl Zml4X2xlbjsKIAotCQlpZiAoZmllbGRfbGVuZ3RocykgeworCQlpZiAoZmllbGRfbGVuZ3RocyAm JiBmaWVsZF9sZW5ndGhzW2ldKSB7CiAJCQlsZW4gPSB1dF9tYXgobGVuLCBmaWVsZF9sZW5ndGhz W2ldKTsKIAkJfQogCkBAIC0yMDcwLDYgKzIwNDIsNyBAQCByb3dfY3JlYXRlX2luZGV4X2Zvcl9t eXNxbCgKIAkJaWYgKGxlbiA+ICh1bGludCkgRElDVF9NQVhfRklFTERfTEVOX0JZX0ZPUk1BVCh0 YWJsZSkpIHsKIAkJCWVyciA9IERCX1RPT19CSUdfSU5ERVhfQ09MOwogCisJCQlkaWN0X21lbV9p bmRleF9mcmVlKGluZGV4KTsKIAkJCWdvdG8gZXJyb3JfaGFuZGxpbmc7CiAJCX0KIAl9Cgo9PT0g bW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS91dC91dDB1dC5jJwotLS0gYS9zdG9yYWdl L2lubm9iYXNlL3V0L3V0MHV0LmMJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMTA2 MjgwOTMwMzItZ3E1Z3drZHEycHk2YWFvcworKysgYi9zdG9yYWdlL2lubm9iYXNlL3V0L3V0MHV0 LmMJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMTA2MjgxMjM2MTQtZGk5aXh2Ymoz anJuenljagpAQCAtNjc0LDggKzY3NCw2IEBAIHV0X3N0cmVycigKIAkJcmV0dXJuKCJDYW5ub3Qg YWRkIGNvbnN0cmFpbnQiKTsKIAljYXNlIERCX0NPUlJVUFRJT046CiAJCXJldHVybigiRGF0YSBz dHJ1Y3R1cmUgY29ycnVwdGlvbiIpOwotCWNhc2UgREJfQ09MX0FQUEVBUlNfVFdJQ0VfSU5fSU5E RVg6Ci0JCXJldHVybigiQ29sdW1uIGFwcGVhcnMgdHdpY2UgaW4gaW5kZXgiKTsKIAljYXNlIERC X0NBTk5PVF9EUk9QX0NPTlNUUkFJTlQ6CiAJCXJldHVybigiQ2Fubm90IGRyb3AgY29uc3RyYWlu dCIpOwogCWNhc2UgREJfTk9fU0FWRVBPSU5UOgoKTm8gYnVuZGxlIChyZWFzb246IHVzZWxlc3Mg Zm9yIHB1c2ggZW1haWxzKS4=