From: marko.makela Date: May 24 2010 11:58am Subject: bzr push into mysql-trunk-innodb branch (marko.makela:3113 to 3114) Bug#53578 List-Archive: http://lists.mysql.com/commits/109049 X-Bug: 53578 Message-Id: <201005241158.o4OBrj1c027241@rcsinet13.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0594534120==" --===============0594534120== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline IDMxMTQgTWFya28gTcOka2Vsw6QJMjAxMC0wNS0yNAogICAgICBNZXJnZSBhIGNoYW5nZSBmcm9t IG15c3FsLTUuMS1pbm5vZGI6CiAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICByZXZubzogMzQ3OQogICAgICByZXZp c2lvbi1pZDogbWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMDA1MjQxMTA0MzktZmF6aTcwcmxt dDA3dHpkOQogICAgICBwYXJlbnQ6IHZhc2lsLmRpbW92QG9yYWNsZS5jb20tMjAxMDA1MjAxMzMx NTctNDJ1azVxM3BwMHZzaW5hYwogICAgICBjb21taXR0ZXI6IE1hcmtvIE3DpGtlbMOkIDxtYXJr by5tYWtlbGFAb3JhY2xlLmNvbT4KICAgICAgYnJhbmNoIG5pY2s6IDUuMS1pbm5vZGIKICAgICAg dGltZXN0YW1wOiBNb24gMjAxMC0wNS0yNCAxNDowNDozOSArMDMwMAogICAgICBtZXNzYWdlOgog ICAgICAgIEJ1ZyM1MzU3ODogYXNzZXJ0IG9uIGludmFsaWQgcGFnZSBhY2Nlc3MsIGluIGZpbF9p bygpCiAgICAgIAogICAgICAgIFN0b3JlIHRoZSBtYXhfc3BhY2VfaWQgaW4gdGhlIGRhdGEgZGlj dGlvbmFyeSBoZWFkZXIgaW4gb3JkZXIgdG8gYXZvaWQKICAgICAgICBzcGFjZV9pZCByZXVzZS4K ICAgICAgCiAgICAgICAgRElDVF9IRFJfTUlYX0lEOiBSZW5hbWVkIHRvIERJQ1RfSERSX01BWF9T UEFDRV9JRCwgRElDVF9IRFJfTUlYX0lEX0xPVy4KICAgICAgCiAgICAgICAgZGljdF9oZHJfZ2V0 X25ld19pZCgpOiBSZXR1cm4gdGFibGVfaWQsIGluZGV4X2lkLCBzcGFjZV9pZCBvciBhIHN1YnNl dCBvZiB0aGVtLgogICAgICAKICAgICAgICBmaWxfc3lzdGVtX3Q6IEFkZCBpYm9vbCBzcGFjZV9p ZF9yZXVzZV93YXJuZWQuCiAgICAgIAogICAgICAgIGZpbF9jcmVhdGVfbmV3X3NpbmdsZV90YWJs ZV90YWJsZXNwYWNlKCk6IEdldCB0aGUgc3BhY2VfaWQgZnJvbSB0aGUgY2FsbGVyLgogICAgICAK ICAgICAgICBmaWxfc3BhY2VfY3JlYXRlKCk6IElzc3VlIGEgd2FybmluZyBpZiB0aGUgZmlsX3N5 c3RlbS0+bWF4X2Fzc2lnbmVkX2lkCiAgICAgICAgaXMgZXhjZWVkZWQuCiAgICAgIAogICAgICAg IGZpbF9hc3NpZ25fbmV3X3NwYWNlX2lkKCk6IFJldHVybiBUUlVFL0ZBTFNFIGFuZCB0YWtlIGEg cG9pbnRlciB0byB0aGUKICAgICAgICBzcGFjZV9pZCBhcyBhIHBhcmFtZXRlci4gTWFrZSB0aGUg ZnVuY3Rpb24gcHVibGljLgogICAgICAKICAgICAgICBmaWxfaW5pdCgpOiBJbml0aWFsaXplIGFs bCBmaWxfc3lzdGVtIGZpZWxkcyBieSBtZW1femFsbG9jKCkuIFJlbW92ZQogICAgICAgIGV4cGxp Y2l0IGluaXRpYWxpemF0aW9ucyBvZiBjZXJ0YWluIGZpZWxkcyB0byAwIG9yIE5VTEwuCgogICAg bW9kaWZpZWQ6CiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvZGljdC9kaWN0MGJvb3QuYwogICAgICBz dG9yYWdlL2lubm9iYXNlL2RpY3QvZGljdDBjcmVhLmMKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9m aWwvZmlsMGZpbC5jCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9kaWN0MGJvb3QuaAog ICAgICBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvZmlsMGZpbC5oCiAgICAgIHN0b3JhZ2UvaW5u b2Jhc2Uvcm93L3JvdzBteXNxbC5jCiAzMTEzIENhbHZpbiBTdW4JMjAxMC0wNS0yMQogICAgICBt eXNxbC10cnVuay1pbm5vZGI6IGZpeCBjb21waWxlIGVycm9ycyBvbiBXaW5kb3dzIHdpdGggVU5J Vl9ERUJVRyBkZWZpbmVkLgoKICAgIG1vZGlmaWVkOgogICAgICBzdG9yYWdlL2lubm9iYXNlL2J1 Zi9idWYwZmx1LmMKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9zeW5jL3N5bmMwcncuYwo9PT0gbW9k aWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9kaWN0L2RpY3QwYm9vdC5jJwotLS0gYS9zdG9y YWdlL2lubm9iYXNlL2RpY3QvZGljdDBib290LmMJcmV2aWQ6Y2FsdmluLnN1bkBvcmFjbGUuY29t LTIwMTAwNTIxMjEzMDA5LXkzNWFhN2V3aThzaTNzaXoKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9k aWN0L2RpY3QwYm9vdC5jCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTAwNTI0MTE0 NTI0LWdpaDN0eGZmMnA5cno0cnMKQEAgLTYyLDMyICs2Miw0NyBAQCBkaWN0X2hkcl9nZXQoCiB9 CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqLy8qKgotUmV0dXJucyBhIG5ldyB0YWJsZSwgaW5kZXgsIG9yIHRy ZWUgaWQuCi1AcmV0dXJuCXRoZSBuZXcgaWQgKi8KK1JldHVybnMgYSBuZXcgdGFibGUsIGluZGV4 LCBvciBzcGFjZSBpZC4gKi8KIFVOSVZfSU5URVJOCi1kdWxpbnQKK3ZvaWQKIGRpY3RfaGRyX2dl dF9uZXdfaWQoCiAvKj09PT09PT09PT09PT09PT0qLwotCXVsaW50CXR5cGUpCS8qITwgaW46IERJ Q1RfSERSX1JPV19JRCwgLi4uICovCisJZHVsaW50Kgl0YWJsZV9pZCwJLyohPCBvdXQ6IHRhYmxl IGlkIChub3QgYXNzaWduZWQgaWYgTlVMTCkgKi8KKwlkdWxpbnQqCWluZGV4X2lkLAkvKiE8IG91 dDogaW5kZXggaWQgKG5vdCBhc3NpZ25lZCBpZiBOVUxMKSAqLworCXVsaW50KglzcGFjZV9pZCkJ LyohPCBvdXQ6IHNwYWNlIGlkIChub3QgYXNzaWduZWQgaWYgTlVMTCkgKi8KIHsKIAlkaWN0X2hk cl90KglkaWN0X2hkcjsKIAlkdWxpbnQJCWlkOwogCW10cl90CQltdHI7CiAKLQl1dF9hZCgodHlw ZSA9PSBESUNUX0hEUl9UQUJMRV9JRCkgfHwgKHR5cGUgPT0gRElDVF9IRFJfSU5ERVhfSUQpKTsK LQogCW10cl9zdGFydCgmbXRyKTsKIAogCWRpY3RfaGRyID0gZGljdF9oZHJfZ2V0KCZtdHIpOwog Ci0JaWQgPSBtdHJfcmVhZF9kdWxpbnQoZGljdF9oZHIgKyB0eXBlLCAmbXRyKTsKLQlpZCA9IHV0 X2R1bGludF9hZGQoaWQsIDEpOwotCi0JbWxvZ193cml0ZV9kdWxpbnQoZGljdF9oZHIgKyB0eXBl LCBpZCwgJm10cik7CisJaWYgKHRhYmxlX2lkKSB7CisJCWlkID0gbXRyX3JlYWRfZHVsaW50KGRp Y3RfaGRyICsgRElDVF9IRFJfVEFCTEVfSUQsICZtdHIpOworCQlpZCA9IHV0X2R1bGludF9hZGQo aWQsIDEpOworCQltbG9nX3dyaXRlX2R1bGludChkaWN0X2hkciArIERJQ1RfSERSX1RBQkxFX0lE LCBpZCwgJm10cik7CisJCSp0YWJsZV9pZCA9IGlkOworCX0KKworCWlmIChpbmRleF9pZCkgewor CQlpZCA9IG10cl9yZWFkX2R1bGludChkaWN0X2hkciArIERJQ1RfSERSX0lOREVYX0lELCAmbXRy KTsKKwkJaWQgPSB1dF9kdWxpbnRfYWRkKGlkLCAxKTsKKwkJbWxvZ193cml0ZV9kdWxpbnQoZGlj dF9oZHIgKyBESUNUX0hEUl9JTkRFWF9JRCwgaWQsICZtdHIpOworCQkqaW5kZXhfaWQgPSBpZDsK Kwl9CisKKwlpZiAoc3BhY2VfaWQpIHsKKwkJKnNwYWNlX2lkID0gbXRyX3JlYWRfdWxpbnQoZGlj dF9oZHIgKyBESUNUX0hEUl9NQVhfU1BBQ0VfSUQsCisJCQkJCSAgIE1MT0dfNEJZVEVTLCAmbXRy KTsKKwkJaWYgKGZpbF9hc3NpZ25fbmV3X3NwYWNlX2lkKHNwYWNlX2lkKSkgeworCQkJbWxvZ193 cml0ZV91bGludChkaWN0X2hkciArIERJQ1RfSERSX01BWF9TUEFDRV9JRCwKKwkJCQkJICpzcGFj ZV9pZCwgTUxPR180QllURVMsICZtdHIpOworCQl9CisJfQogCiAJbXRyX2NvbW1pdCgmbXRyKTsK LQotCXJldHVybihpZCk7CiB9CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgpAQCAtMTUxLDkgKzE2Niwx MiBAQCBkaWN0X2hkcl9jcmVhdGUoCiAJbWxvZ193cml0ZV9kdWxpbnQoZGljdF9oZWFkZXIgKyBE SUNUX0hEUl9JTkRFWF9JRCwKIAkJCSAgdXRfZHVsaW50X2NyZWF0ZSgwLCBESUNUX0hEUl9GSVJT VF9JRCksIG10cik7CiAKLQkvKiBPYnNvbGV0ZSwgYnV0IHdlIG11c3QgaW5pdGlhbGl6ZSBpdCB0 byAwIGFueXdheS4gKi8KLQltbG9nX3dyaXRlX2R1bGludChkaWN0X2hlYWRlciArIERJQ1RfSERS X01JWF9JRCwKLQkJCSAgdXRfZHVsaW50X2NyZWF0ZSgwLCBESUNUX0hEUl9GSVJTVF9JRCksIG10 cik7CisJbWxvZ193cml0ZV91bGludChkaWN0X2hlYWRlciArIERJQ1RfSERSX01BWF9TUEFDRV9J RCwKKwkJCSAwLCBNTE9HXzRCWVRFUywgbXRyKTsKKworCS8qIE9ic29sZXRlLCBidXQgd2UgbXVz dCBpbml0aWFsaXplIGl0IGFueXdheS4gKi8KKwltbG9nX3dyaXRlX3VsaW50KGRpY3RfaGVhZGVy ICsgRElDVF9IRFJfTUlYX0lEX0xPVywKKwkJCSBESUNUX0hEUl9GSVJTVF9JRCwgTUxPR180QllU RVMsIG10cik7CiAKIAkvKiBDcmVhdGUgdGhlIEItdHJlZSByb290cyBmb3IgdGhlIGNsdXN0ZXJl ZCBpbmRleGVzIG9mIHRoZSBiYXNpYwogCXN5c3RlbSB0YWJsZXMgKi8KCj09PSBtb2RpZmllZCBm aWxlICdzdG9yYWdlL2lubm9iYXNlL2RpY3QvZGljdDBjcmVhLmMnCi0tLSBhL3N0b3JhZ2UvaW5u b2Jhc2UvZGljdC9kaWN0MGNyZWEuYwlyZXZpZDpjYWx2aW4uc3VuQG9yYWNsZS5jb20tMjAxMDA1 MjEyMTMwMDkteTM1YWE3ZXdpOHNpM3NpegorKysgYi9zdG9yYWdlL2lubm9iYXNlL2RpY3QvZGlj dDBjcmVhLmMJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMDA1MjQxMTQ1MjQtZ2lo M3R4ZmYycDlyejRycwpAQCAtMjM5LDE2ICsyMzksMjIgQEAgZGljdF9idWlsZF90YWJsZV9kZWZf c3RlcCgKIAljb25zdCBjaGFyKglwYXRoX29yX25hbWU7CiAJaWJvb2wJCWlzX3BhdGg7CiAJbXRy X3QJCW10cjsKKwl1bGludAkJc3BhY2UgPSAwOwogCiAJdXRfYWQobXV0ZXhfb3duKCYoZGljdF9z eXMtPm11dGV4KSkpOwogCiAJdGFibGUgPSBub2RlLT50YWJsZTsKIAotCXRhYmxlLT5pZCA9IGRp Y3RfaGRyX2dldF9uZXdfaWQoRElDVF9IRFJfVEFCTEVfSUQpOworCWRpY3RfaGRyX2dldF9uZXdf aWQoJnRhYmxlLT5pZCwgTlVMTCwKKwkJCSAgICBzcnZfZmlsZV9wZXJfdGFibGUgPyAmc3BhY2Ug OiBOVUxMKTsKIAogCXRocl9nZXRfdHJ4KHRociktPnRhYmxlX2lkID0gdGFibGUtPmlkOwogCiAJ aWYgKHNydl9maWxlX3Blcl90YWJsZSkgeworCQlpZiAoVU5JVl9VTkxJS0VMWShzcGFjZSA9PSBV TElOVF9VTkRFRklORUQpKSB7CisJCQlyZXR1cm4oREJfRVJST1IpOworCQl9CisKIAkJLyogV2Ug Y3JlYXRlIGEgbmV3IHNpbmdsZS10YWJsZSB0YWJsZXNwYWNlIGZvciB0aGUgdGFibGUuCiAJCVdl IGluaXRpYWxseSBsZXQgaXQgYmUgNCBwYWdlczoKIAkJLSBwYWdlIDAgaXMgdGhlIGZzcCBoZWFk ZXIgYW5kIGFuIGV4dGVudCBkZXNjcmlwdG9yIHBhZ2UsCkBAIC0yNTcsOCArMjYzLDYgQEAgZGlj dF9idWlsZF90YWJsZV9kZWZfc3RlcCgKIAkJLSBwYWdlIDMgd2lsbCBjb250YWluIHRoZSByb290 IG9mIHRoZSBjbHVzdGVyZWQgaW5kZXggb2YgdGhlCiAJCXRhYmxlIHdlIGNyZWF0ZSBoZXJlLiAq LwogCi0JCXVsaW50CXNwYWNlID0gMDsJLyogcmVzZXQgdG8gemVybyBmb3IgdGhlIGNhbGwgYmVs b3cgKi8KLQogCQlpZiAodGFibGUtPmRpcl9wYXRoX29mX3RlbXBfdGFibGUpIHsKIAkJCS8qIFdl IHBsYWNlIHRhYmxlcyBjcmVhdGVkIHdpdGggQ1JFQVRFIFRFTVBPUkFSWQogCQkJVEFCTEUgaW4g dGhlIHRtcCBkaXIgb2YgbXlzcWxkIHNlcnZlciAqLwpAQCAtMjc2LDcgKzI4MCw3IEBAIGRpY3Rf YnVpbGRfdGFibGVfZGVmX3N0ZXAoCiAKIAkJZmxhZ3MgPSB0YWJsZS0+ZmxhZ3MgJiB+KH4wIDw8 IERJQ1RfVEZfQklUUyk7CiAJCWVycm9yID0gZmlsX2NyZWF0ZV9uZXdfc2luZ2xlX3RhYmxlX3Rh Ymxlc3BhY2UoCi0JCQkmc3BhY2UsIHBhdGhfb3JfbmFtZSwgaXNfcGF0aCwKKwkJCXNwYWNlLCBw YXRoX29yX25hbWUsIGlzX3BhdGgsCiAJCQlmbGFncyA9PSBESUNUX1RGX0NPTVBBQ1QgPyAwIDog ZmxhZ3MsCiAJCQlGSUxfSUJEX0ZJTEVfSU5JVElBTF9TSVpFKTsKIAkJdGFibGUtPnNwYWNlID0g KHVuc2lnbmVkIGludCkgc3BhY2U7CkBAIC01NjEsNyArNTY1LDcgQEAgZGljdF9idWlsZF9pbmRl eF9kZWZfc3RlcCgKIAl1dF9hZCgoVVRfTElTVF9HRVRfTEVOKHRhYmxlLT5pbmRleGVzKSA+IDAp CiAJICAgICAgfHwgZGljdF9pbmRleF9pc19jbHVzdChpbmRleCkpOwogCi0JaW5kZXgtPmlkID0g ZGljdF9oZHJfZ2V0X25ld19pZChESUNUX0hEUl9JTkRFWF9JRCk7CisJZGljdF9oZHJfZ2V0X25l d19pZChOVUxMLCAmaW5kZXgtPmlkLCBOVUxMKTsKIAogCS8qIEluaGVyaXQgdGhlIHNwYWNlIGlk IGZyb20gdGhlIHRhYmxlOyB3ZSBzdG9yZSBhbGwgaW5kZXhlcyBvZiBhCiAJdGFibGUgaW4gdGhl IHNhbWUgdGFibGVzcGFjZSAqLwoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2Uv ZmlsL2ZpbDBmaWwuYycKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9maWwvZmlsMGZpbC5jCXJldmlk OmNhbHZpbi5zdW5Ab3JhY2xlLmNvbS0yMDEwMDUyMTIxMzAwOS15MzVhYTdld2k4c2kzc2l6Cisr KyBiL3N0b3JhZ2UvaW5ub2Jhc2UvZmlsL2ZpbDBmaWwuYwlyZXZpZDptYXJrby5tYWtlbGFAb3Jh Y2xlLmNvbS0yMDEwMDUyNDExNDUyNC1naWgzdHhmZjJwOXJ6NHJzCkBAIC0yODksNiArMjg5LDEw IEBAIHN0cnVjdCBmaWxfc3lzdGVtX3N0cnVjdCB7CiAJCQkJCXJlcXVlc3QgKi8KIAlVVF9MSVNU X0JBU0VfTk9ERV9UKGZpbF9zcGFjZV90KSBzcGFjZV9saXN0OwogCQkJCQkvKiE8IGxpc3Qgb2Yg YWxsIGZpbGUgc3BhY2VzICovCisJaWJvb2wJCXNwYWNlX2lkX3JldXNlX3dhcm5lZDsKKwkJCQkJ LyogITwgVFJVRSBpZiBmaWxfc3BhY2VfY3JlYXRlKCkKKwkJCQkJaGFzIGlzc3VlZCBhIHdhcm5p bmcgYWJvdXQKKwkJCQkJcG90ZW50aWFsIHNwYWNlX2lkIHJldXNlICovCiB9OwogCiAvKiogVGhl IHRhYmxlc3BhY2UgbWVtb3J5IGNhY2hlLiBUaGlzIHZhcmlhYmxlIGlzIE5VTEwgYmVmb3JlIHRo ZSBtb2R1bGUgaXMKQEAgLTEyMTAsNyArMTIxNCwxOSBAQCB0cnlfYWdhaW46CiAJc3BhY2UtPnRh Ymxlc3BhY2VfdmVyc2lvbiA9IGZpbF9zeXN0ZW0tPnRhYmxlc3BhY2VfdmVyc2lvbjsKIAlzcGFj ZS0+bWFyayA9IEZBTFNFOwogCi0JaWYgKHB1cnBvc2UgPT0gRklMX1RBQkxFU1BBQ0UgJiYgaWQg PiBmaWxfc3lzdGVtLT5tYXhfYXNzaWduZWRfaWQpIHsKKwlpZiAoVU5JVl9MSUtFTFkocHVycG9z ZSA9PSBGSUxfVEFCTEVTUEFDRSkKKwkgICAgJiYgVU5JVl9VTkxJS0VMWShpZCA+IGZpbF9zeXN0 ZW0tPm1heF9hc3NpZ25lZF9pZCkpIHsKKwkJaWYgKCFmaWxfc3lzdGVtLT5zcGFjZV9pZF9yZXVz ZV93YXJuZWQpIHsKKwkJCWZpbF9zeXN0ZW0tPnNwYWNlX2lkX3JldXNlX3dhcm5lZCA9IFRSVUU7 CisKKwkJCXV0X3ByaW50X3RpbWVzdGFtcChzdGRlcnIpOworCQkJZnByaW50ZihzdGRlcnIsCisJ CQkJIiAgSW5ub0RCOiBXYXJuaW5nOiBhbGxvY2F0ZWQgdGFibGVzcGFjZSAlbHUsIgorCQkJCSIg b2xkIG1heGltdW0gd2FzICVsdVxuIiwKKwkJCQkodWxvbmcpIGlkLAorCQkJCSh1bG9uZykgZmls X3N5c3RlbS0+bWF4X2Fzc2lnbmVkX2lkKTsKKwkJfQorCiAJCWZpbF9zeXN0ZW0tPm1heF9hc3Np Z25lZF9pZCA9IGlkOwogCX0KIApAQCAtMTI0OCwxOSArMTI2NCwyNSBAQCB0cnlfYWdhaW46CiBB c3NpZ25zIGEgbmV3IHNwYWNlIGlkIGZvciBhIG5ldyBzaW5nbGUtdGFibGUgdGFibGVzcGFjZS4g VGhpcyB3b3JrcyBzaW1wbHkgYnkKIGluY3JlbWVudGluZyB0aGUgZ2xvYmFsIGNvdW50ZXIuIElm IDQgYmlsbGlvbiBpZCdzIGlzIG5vdCBlbm91Z2gsIHdlIG1heSBuZWVkCiB0byByZWN5Y2xlIGlk J3MuCi1AcmV0dXJuCW5ldyB0YWJsZXNwYWNlIGlkOyBVTElOVF9VTkRFRklORUQgaWYgY291bGQg bm90IGFzc2lnbiBhbiBpZCAqLwotc3RhdGljCi11bGludAotZmlsX2Fzc2lnbl9uZXdfc3BhY2Vf aWQodm9pZCkKLS8qPT09PT09PT09PT09PT09PT09PT09PT09PSovCitAcmV0dXJuCVRSVUUgaWYg YXNzaWduZWQsIEZBTFNFIGlmIG5vdCAqLworVU5JVl9JTlRFUk4KK2lib29sCitmaWxfYXNzaWdu X25ld19zcGFjZV9pZCgKKy8qPT09PT09PT09PT09PT09PT09PT0qLworCXVsaW50KglzcGFjZV9p ZCkJLyohPCBpbi9vdXQ6IHNwYWNlIGlkICovCiB7Ci0JdWxpbnQJCWlkOworCXVsaW50CWlkOwor CWlib29sCXN1Y2Nlc3M7CiAKIAltdXRleF9lbnRlcigmZmlsX3N5c3RlbS0+bXV0ZXgpOwogCi0J ZmlsX3N5c3RlbS0+bWF4X2Fzc2lnbmVkX2lkKys7CisJaWQgPSAqc3BhY2VfaWQ7CiAKLQlpZCA9 IGZpbF9zeXN0ZW0tPm1heF9hc3NpZ25lZF9pZDsKKwlpZiAoaWQgPCBmaWxfc3lzdGVtLT5tYXhf YXNzaWduZWRfaWQpIHsKKwkJaWQgPSBmaWxfc3lzdGVtLT5tYXhfYXNzaWduZWRfaWQ7CisJfQor CisJaWQrKzsKIAogCWlmIChpZCA+IChTUlZfTE9HX1NQQUNFX0ZJUlNUX0lEIC8gMikgJiYgKGlk ICUgMTAwMDAwMFVMID09IDApKSB7CiAJCXV0X3ByaW50X3RpbWVzdGFtcChzdGRlcnIpOwpAQCAt MTI3Niw3ICsxMjk4LDExIEBAIGZpbF9hc3NpZ25fbmV3X3NwYWNlX2lkKHZvaWQpCiAJCQkodWxv bmcpIFNSVl9MT0dfU1BBQ0VfRklSU1RfSUQpOwogCX0KIAotCWlmIChpZCA+PSBTUlZfTE9HX1NQ QUNFX0ZJUlNUX0lEKSB7CisJc3VjY2VzcyA9IChpZCA8IFNSVl9MT0dfU1BBQ0VfRklSU1RfSUQp OworCisJaWYgKHN1Y2Nlc3MpIHsKKwkJKnNwYWNlX2lkID0gZmlsX3N5c3RlbS0+bWF4X2Fzc2ln bmVkX2lkID0gaWQ7CisJfSBlbHNlIHsKIAkJdXRfcHJpbnRfdGltZXN0YW1wKHN0ZGVycik7CiAJ CWZwcmludGYoc3RkZXJyLAogCQkJIklubm9EQjogWW91IGhhdmUgcnVuIG91dCBvZiBzaW5nbGUt dGFibGUiCkBAIC0xMjg2LDE0ICsxMzEyLDEyIEBAIGZpbF9hc3NpZ25fbmV3X3NwYWNlX2lkKHZv aWQpCiAJCQkiIGhhdmUgdG8gZHVtcCBhbGwgeW91ciB0YWJsZXMgYW5kXG4iCiAJCQkiSW5ub0RC OiByZWNyZWF0ZSB0aGUgd2hvbGUgSW5ub0RCIGluc3RhbGxhdGlvbi5cbiIsCiAJCQkodWxvbmcp IGlkKTsKLQkJZmlsX3N5c3RlbS0+bWF4X2Fzc2lnbmVkX2lkLS07Ci0KLQkJaWQgPSBVTElOVF9V TkRFRklORUQ7CisJCSpzcGFjZV9pZCA9IFVMSU5UX1VOREVGSU5FRDsKIAl9CiAKIAltdXRleF9l eGl0KCZmaWxfc3lzdGVtLT5tdXRleCk7CiAKLQlyZXR1cm4oaWQpOworCXJldHVybihzdWNjZXNz KTsKIH0KIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKiovLyoqCkBAIC0xNTI5LDcgKzE1NTMsNyBAQCBmaWxfaW5pdCgK IAl1dF9hKGhhc2hfc2l6ZSA+IDApOwogCXV0X2EobWF4X25fb3BlbiA+IDApOwogCi0JZmlsX3N5 c3RlbSA9IG1lbV9hbGxvYyhzaXplb2YoZmlsX3N5c3RlbV90KSk7CisJZmlsX3N5c3RlbSA9IG1l bV96YWxsb2Moc2l6ZW9mKGZpbF9zeXN0ZW1fdCkpOwogCiAJbXV0ZXhfY3JlYXRlKGZpbF9zeXN0 ZW1fbXV0ZXhfa2V5LAogCQkgICAgICZmaWxfc3lzdGVtLT5tdXRleCwgU1lOQ19BTllfTEFUQ0gp OwpAQCAtMTUzOSwxNiArMTU2Myw3IEBAIGZpbF9pbml0KAogCiAJVVRfTElTVF9JTklUKGZpbF9z eXN0ZW0tPkxSVSk7CiAKLQlmaWxfc3lzdGVtLT5uX29wZW4gPSAwOwogCWZpbF9zeXN0ZW0tPm1h eF9uX29wZW4gPSBtYXhfbl9vcGVuOwotCi0JZmlsX3N5c3RlbS0+bW9kaWZpY2F0aW9uX2NvdW50 ZXIgPSAwOwotCWZpbF9zeXN0ZW0tPm1heF9hc3NpZ25lZF9pZCA9IDA7Ci0KLQlmaWxfc3lzdGVt LT50YWJsZXNwYWNlX3ZlcnNpb24gPSAwOwotCi0JVVRfTElTVF9JTklUKGZpbF9zeXN0ZW0tPnVu Zmx1c2hlZF9zcGFjZXMpOwotCVVUX0xJU1RfSU5JVChmaWxfc3lzdGVtLT5zcGFjZV9saXN0KTsK IH0KIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKiovLyoqCkBAIC0yMTMzLDcgKzIxNDgsNyBAQCBmaWxfb3BfbG9nX3Bh cnNlX29yX3JlcGxheSgKIAkJCWZpbF9jcmVhdGVfZGlyZWN0b3J5X2Zvcl90YWJsZW5hbWUobmFt ZSk7CiAKIAkJCWlmIChmaWxfY3JlYXRlX25ld19zaW5nbGVfdGFibGVfdGFibGVzcGFjZSgKLQkJ CQkgICAgJnNwYWNlX2lkLCBuYW1lLCBGQUxTRSwgZmxhZ3MsCisJCQkJICAgIHNwYWNlX2lkLCBu YW1lLCBGQUxTRSwgZmxhZ3MsCiAJCQkJICAgIEZJTF9JQkRfRklMRV9JTklUSUFMX1NJWkUpICE9 IERCX1NVQ0NFU1MpIHsKIAkJCQl1dF9lcnJvcjsKIAkJCX0KQEAgLTI1ODAsOSArMjU5NSw3IEBA IFVOSVZfSU5URVJOCiB1bGludAogZmlsX2NyZWF0ZV9uZXdfc2luZ2xlX3RhYmxlX3RhYmxlc3Bh Y2UoCiAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KLQl1bGludCoJCXNw YWNlX2lkLAkvKiE8IGluL291dDogc3BhY2UgaWQ7IGlmIHRoaXMgaXMgIT0gMCwKLQkJCQkJdGhl biB0aGlzIGlzIGFuIGlucHV0IHBhcmFtZXRlciwKLQkJCQkJb3RoZXJ3aXNlIG91dHB1dCAqLwor CXVsaW50CQlzcGFjZV9pZCwJLyohPCBpbjogc3BhY2UgaWQgKi8KIAljb25zdCBjaGFyKgl0YWJs ZW5hbWUsCS8qITwgaW46IHRoZSB0YWJsZSBuYW1lIGluIHRoZSB1c3VhbAogCQkJCQlkYXRhYmFz ZW5hbWUvdGFibGVuYW1lIGZvcm1hdAogCQkJCQlvZiBJbm5vREIsIG9yIGEgZGlyIHBhdGggdG8g YSB0ZW1wCkBAIC0yNjAyLDYgKzI2MTUsOCBAQCBmaWxfY3JlYXRlX25ld19zaW5nbGVfdGFibGVf dGFibGVzcGFjZSgKIAlpYm9vbAkJc3VjY2VzczsKIAljaGFyKgkJcGF0aDsKIAorCXV0X2Eoc3Bh Y2VfaWQgPiAwKTsKKwl1dF9hKHNwYWNlX2lkIDwgU1JWX0xPR19TUEFDRV9GSVJTVF9JRCk7CiAJ dXRfYShzaXplID49IEZJTF9JQkRfRklMRV9JTklUSUFMX1NJWkUpOwogCS8qIFRoZSB0YWJsZXNw YWNlIGZsYWdzIChGU1BfU1BBQ0VfRkxBR1MpIHNob3VsZCBiZSAwIGZvcgogCVJPV19GT1JNQVQ9 Q09NUEFDVApAQCAtMjY1OSwzOCArMjY3NCwyMSBAQCBmaWxfY3JlYXRlX25ld19zaW5nbGVfdGFi bGVfdGFibGVzcGFjZSgKIAkJcmV0dXJuKERCX0VSUk9SKTsKIAl9CiAKLQlidWYyID0gdXRfbWFs bG9jKDMgKiBVTklWX1BBR0VfU0laRSk7Ci0JLyogQWxpZ24gdGhlIG1lbW9yeSBmb3IgZmlsZSBp L28gaWYgd2UgbWlnaHQgaGF2ZSBPX0RJUkVDVCBzZXQgKi8KLQlwYWdlID0gdXRfYWxpZ24oYnVm MiwgVU5JVl9QQUdFX1NJWkUpOwotCiAJcmV0ID0gb3NfZmlsZV9zZXRfc2l6ZShwYXRoLCBmaWxl LCBzaXplICogVU5JVl9QQUdFX1NJWkUsIDApOwogCiAJaWYgKCFyZXQpIHsKLQkJdXRfZnJlZShi dWYyKTsKLQkJb3NfZmlsZV9jbG9zZShmaWxlKTsKLQkJb3NfZmlsZV9kZWxldGUocGF0aCk7Ci0K LQkJbWVtX2ZyZWUocGF0aCk7Ci0JCXJldHVybihEQl9PVVRfT0ZfRklMRV9TUEFDRSk7Ci0JfQot Ci0JaWYgKCpzcGFjZV9pZCA9PSAwKSB7Ci0JCSpzcGFjZV9pZCA9IGZpbF9hc3NpZ25fbmV3X3Nw YWNlX2lkKCk7Ci0JfQotCi0JLyogcHJpbnRmKCJDcmVhdGluZyB0YWJsZXNwYWNlICVzIGlkICVs dVxuIiwgcGF0aCwgKnNwYWNlX2lkKTsgKi8KLQotCWlmICgqc3BhY2VfaWQgPT0gVUxJTlRfVU5E RUZJTkVEKSB7Ci0JCXV0X2ZyZWUoYnVmMik7CisJCWVyciA9IERCX09VVF9PRl9GSUxFX1NQQUNF OwogZXJyb3JfZXhpdDoKIAkJb3NfZmlsZV9jbG9zZShmaWxlKTsKIGVycm9yX2V4aXQyOgogCQlv c19maWxlX2RlbGV0ZShwYXRoKTsKIAogCQltZW1fZnJlZShwYXRoKTsKLQkJcmV0dXJuKERCX0VS Uk9SKTsKKwkJcmV0dXJuKGVycik7CiAJfQogCisJLyogcHJpbnRmKCJDcmVhdGluZyB0YWJsZXNw YWNlICVzIGlkICVsdVxuIiwgcGF0aCwgc3BhY2VfaWQpOyAqLworCiAJLyogV2UgaGF2ZSB0byB3 cml0ZSB0aGUgc3BhY2UgaWQgdG8gdGhlIGZpbGUgaW1tZWRpYXRlbHkgYW5kIGZsdXNoIHRoZQog CWZpbGUgdG8gZGlzay4gVGhpcyBpcyBiZWNhdXNlIGluIGNyYXNoIHJlY292ZXJ5IHdlIG11c3Qg YmUgYXdhcmUgd2hhdAogCXRhYmxlc3BhY2VzIGV4aXN0IGFuZCB3aGF0IGFyZSB0aGVpciBzcGFj ZSBpZCdzLCBzbyB0aGF0IHdlIGNhbiBhcHBseQpAQCAtMjcwMCwxMCArMjY5OCwxNCBAQCBlcnJv cl9leGl0MjoKIAl3aXRoIHplcm9zIGZyb20gdGhlIGNhbGwgb2Ygb3NfZmlsZV9zZXRfc2l6ZSgp LCB1bnRpbCBhIGJ1ZmZlciBwb29sCiAJZmx1c2ggd291bGQgd3JpdGUgdG8gaXQuICovCiAKKwli dWYyID0gdXRfbWFsbG9jKDMgKiBVTklWX1BBR0VfU0laRSk7CisJLyogQWxpZ24gdGhlIG1lbW9y eSBmb3IgZmlsZSBpL28gaWYgd2UgbWlnaHQgaGF2ZSBPX0RJUkVDVCBzZXQgKi8KKwlwYWdlID0g dXRfYWxpZ24oYnVmMiwgVU5JVl9QQUdFX1NJWkUpOworCiAJbWVtc2V0KHBhZ2UsICdcMCcsIFVO SVZfUEFHRV9TSVpFKTsKIAotCWZzcF9oZWFkZXJfaW5pdF9maWVsZHMocGFnZSwgKnNwYWNlX2lk LCBmbGFncyk7Ci0JbWFjaF93cml0ZV90b180KHBhZ2UgKyBGSUxfUEFHRV9BUkNIX0xPR19OT19P Ul9TUEFDRV9JRCwgKnNwYWNlX2lkKTsKKwlmc3BfaGVhZGVyX2luaXRfZmllbGRzKHBhZ2UsIHNw YWNlX2lkLCBmbGFncyk7CisJbWFjaF93cml0ZV90b180KHBhZ2UgKyBGSUxfUEFHRV9BUkNIX0xP R19OT19PUl9TUEFDRV9JRCwgc3BhY2VfaWQpOwogCiAJaWYgKCEoZmxhZ3MgJiBESUNUX1RGX1pT U0laRV9NQVNLKSkgewogCQlidWZfZmx1c2hfaW5pdF9mb3Jfd3JpdGluZyhwYWdlLCBOVUxMLCAw KTsKQEAgLTI3MzQsNiArMjczNiw3IEBAIGVycm9yX2V4aXQyOgogCQkgICAgICAiIHRvIHRhYmxl c3BhY2UgIiwgc3RkZXJyKTsKIAkJdXRfcHJpbnRfZmlsZW5hbWUoc3RkZXJyLCBwYXRoKTsKIAkJ cHV0YygnXG4nLCBzdGRlcnIpOworCQllcnIgPSBEQl9FUlJPUjsKIAkJZ290byBlcnJvcl9leGl0 OwogCX0KIApAQCAtMjc0MywyMiArMjc0NiwyMCBAQCBlcnJvcl9leGl0MjoKIAkJZnB1dHMoIklu bm9EQjogRXJyb3I6IGZpbGUgZmx1c2ggb2YgdGFibGVzcGFjZSAiLCBzdGRlcnIpOwogCQl1dF9w cmludF9maWxlbmFtZShzdGRlcnIsIHBhdGgpOwogCQlmcHV0cygiIGZhaWxlZFxuIiwgc3RkZXJy KTsKKwkJZXJyID0gREJfRVJST1I7CiAJCWdvdG8gZXJyb3JfZXhpdDsKIAl9CiAKIAlvc19maWxl X2Nsb3NlKGZpbGUpOwogCi0JaWYgKCpzcGFjZV9pZCA9PSBVTElOVF9VTkRFRklORUQpIHsKLQkJ Z290byBlcnJvcl9leGl0MjsKLQl9Ci0KLQlzdWNjZXNzID0gZmlsX3NwYWNlX2NyZWF0ZShwYXRo LCAqc3BhY2VfaWQsIGZsYWdzLCBGSUxfVEFCTEVTUEFDRSk7CisJc3VjY2VzcyA9IGZpbF9zcGFj ZV9jcmVhdGUocGF0aCwgc3BhY2VfaWQsIGZsYWdzLCBGSUxfVEFCTEVTUEFDRSk7CiAKIAlpZiAo IXN1Y2Nlc3MpIHsKKwkJZXJyID0gREJfRVJST1I7CiAJCWdvdG8gZXJyb3JfZXhpdDI7CiAJfQog Ci0JZmlsX25vZGVfY3JlYXRlKHBhdGgsIHNpemUsICpzcGFjZV9pZCwgRkFMU0UpOworCWZpbF9u b2RlX2NyZWF0ZShwYXRoLCBzaXplLCBzcGFjZV9pZCwgRkFMU0UpOwogCiAjaWZuZGVmIFVOSVZf SE9UQkFDS1VQCiAJewpAQCAtMjc2OSw3ICsyNzcwLDcgQEAgZXJyb3JfZXhpdDI6CiAJCWZpbF9v cF93cml0ZV9sb2coZmxhZ3MKIAkJCQkgPyBNTE9HX0ZJTEVfQ1JFQVRFMgogCQkJCSA6IE1MT0df RklMRV9DUkVBVEUsCi0JCQkJICpzcGFjZV9pZCwKKwkJCQkgc3BhY2VfaWQsCiAJCQkJIGlzX3Rl bXAgPyBNTE9HX0ZJTEVfRkxBR19URU1QIDogMCwKIAkJCQkgZmxhZ3MsCiAJCQkJIHRhYmxlbmFt ZSwgTlVMTCwgJm10cik7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9pbmNs dWRlL2RpY3QwYm9vdC5oJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvZGljdDBib290 LmgJcmV2aWQ6Y2FsdmluLnN1bkBvcmFjbGUuY29tLTIwMTAwNTIxMjEzMDA5LXkzNWFhN2V3aThz aTNzaXoKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL2RpY3QwYm9vdC5oCXJldmlkOm1h cmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTAwNTI0MTE0NTI0LWdpaDN0eGZmMnA5cno0cnMKQEAg LTQ2LDEzICs0NiwxNCBAQCBkaWN0X2hkcl9nZXQoCiAvKj09PT09PT09PSovCiAJbXRyX3QqCW10 cik7CS8qITwgaW46IG10ciAqLwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCi1SZXR1cm5zIGEgbmV3IHJv dywgdGFibGUsIGluZGV4LCBvciB0cmVlIGlkLgotQHJldHVybgl0aGUgbmV3IGlkICovCitSZXR1 cm5zIGEgbmV3IHRhYmxlLCBpbmRleCwgb3Igc3BhY2UgaWQuICovCiBVTklWX0lOVEVSTgotZHVs aW50Cit2b2lkCiBkaWN0X2hkcl9nZXRfbmV3X2lkKAogLyo9PT09PT09PT09PT09PT09Ki8KLQl1 bGludAl0eXBlKTsJLyohPCBpbjogRElDVF9IRFJfUk9XX0lELCAuLi4gKi8KKwlkdWxpbnQqCXRh YmxlX2lkLAkvKiE8IG91dDogdGFibGUgaWQgKG5vdCBhc3NpZ25lZCBpZiBOVUxMKSAqLworCWR1 bGludCoJaW5kZXhfaWQsCS8qITwgb3V0OiBpbmRleCBpZCAobm90IGFzc2lnbmVkIGlmIE5VTEwp ICovCisJdWxpbnQqCXNwYWNlX2lkKTsJLyohPCBvdXQ6IHNwYWNlIGlkIChub3QgYXNzaWduZWQg aWYgTlVMTCkgKi8KIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgogUmV0dXJucyBhIG5ldyByb3cgaWQuCiBA cmV0dXJuCXRoZSBuZXcgaWQgKi8KQEAgLTExOSw3ICsxMjAsOCBAQCBkaWN0X2NyZWF0ZSh2b2lk KTsKICNkZWZpbmUgRElDVF9IRFJfUk9XX0lECQkwCS8qIFRoZSBsYXRlc3QgYXNzaWduZWQgcm93 IGlkICovCiAjZGVmaW5lCURJQ1RfSERSX1RBQkxFX0lECTgJLyogVGhlIGxhdGVzdCBhc3NpZ25l ZCB0YWJsZSBpZCAqLwogI2RlZmluZQlESUNUX0hEUl9JTkRFWF9JRAkxNgkvKiBUaGUgbGF0ZXN0 IGFzc2lnbmVkIGluZGV4IGlkICovCi0jZGVmaW5lCURJQ1RfSERSX01JWF9JRAkJMjQJLyogT2Jz b2xldGUsIGFsd2F5cyAwLiAqLworI2RlZmluZSBESUNUX0hEUl9NQVhfU1BBQ0VfSUQJMjQJLyog VGhlIGxhdGVzdCBhc3NpZ25lZCBzcGFjZSBpZCwgb3IgMCovCisjZGVmaW5lCURJQ1RfSERSX01J WF9JRF9MT1cJMjgJLyogT2Jzb2xldGUsYWx3YXlzIERJQ1RfSERSX0ZJUlNUX0lEICovCiAjZGVm aW5lCURJQ1RfSERSX1RBQkxFUwkJMzIJLyogUm9vdCBvZiB0aGUgdGFibGUgaW5kZXggdHJlZSAq LwogI2RlZmluZQlESUNUX0hEUl9UQUJMRV9JRFMJMzYJLyogUm9vdCBvZiB0aGUgdGFibGUgaW5k ZXggdHJlZSAqLwogI2RlZmluZQlESUNUX0hEUl9DT0xVTU5TCTQwCS8qIFJvb3Qgb2YgdGhlIGNv bHVtbiBpbmRleCB0cmVlICovCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9p bmNsdWRlL2ZpbDBmaWwuaCcKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL2ZpbDBmaWwu aAlyZXZpZDpjYWx2aW4uc3VuQG9yYWNsZS5jb20tMjAxMDA1MjEyMTMwMDkteTM1YWE3ZXdpOHNp M3NpegorKysgYi9zdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvZmlsMGZpbC5oCXJldmlkOm1hcmtv Lm1ha2VsYUBvcmFjbGUuY29tLTIwMTAwNTI0MTE0NTI0LWdpaDN0eGZmMnA5cno0cnMKQEAgLTIy NSw2ICsyMjUsMTYgQEAgZmlsX3NwYWNlX2NyZWF0ZSgKIAkJCQkwIGZvciB1bmNvbXByZXNzZWQg dGFibGVzcGFjZXMgKi8KIAl1bGludAkJcHVycG9zZSk7LyohPCBpbjogRklMX1RBQkxFU1BBQ0Us IG9yIEZJTF9MT0cgaWYgbG9nICovCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKK0Fzc2lnbnMgYSBuZXcgc3Bh Y2UgaWQgZm9yIGEgbmV3IHNpbmdsZS10YWJsZSB0YWJsZXNwYWNlLiBUaGlzIHdvcmtzIHNpbXBs eSBieQoraW5jcmVtZW50aW5nIHRoZSBnbG9iYWwgY291bnRlci4gSWYgNCBiaWxsaW9uIGlkJ3Mg aXMgbm90IGVub3VnaCwgd2UgbWF5IG5lZWQKK3RvIHJlY3ljbGUgaWQncy4KK0ByZXR1cm4JVFJV RSBpZiBhc3NpZ25lZCwgRkFMU0UgaWYgbm90ICovCitVTklWX0lOVEVSTgoraWJvb2wKK2ZpbF9h c3NpZ25fbmV3X3NwYWNlX2lkKAorLyo9PT09PT09PT09PT09PT09PT09PSovCisJdWxpbnQqCXNw YWNlX2lkKTsJLyohPCBpbi9vdXQ6IHNwYWNlIGlkICovCisvKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKIFJldHVy bnMgdGhlIHNpemUgb2YgdGhlIHNwYWNlIGluIHBhZ2VzLiBUaGUgdGFibGVzcGFjZSBtdXN0IGJl IGNhY2hlZCBpbiB0aGUKIG1lbW9yeSBjYWNoZS4KIEByZXR1cm4Jc3BhY2Ugc2l6ZSwgMCBpZiBz cGFjZSBub3QgZm91bmQgKi8KQEAgLTQyNyw5ICs0MzcsNyBAQCBVTklWX0lOVEVSTgogdWxpbnQK IGZpbF9jcmVhdGVfbmV3X3NpbmdsZV90YWJsZV90YWJsZXNwYWNlKAogLyo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PSovCi0JdWxpbnQqCQlzcGFjZV9pZCwJLyohPCBpbi9vdXQ6 IHNwYWNlIGlkOyBpZiB0aGlzIGlzICE9IDAsCi0JCQkJCXRoZW4gdGhpcyBpcyBhbiBpbnB1dCBw YXJhbWV0ZXIsCi0JCQkJCW90aGVyd2lzZSBvdXRwdXQgKi8KKwl1bGludAkJc3BhY2VfaWQsCS8q ITwgaW46IHNwYWNlIGlkICovCiAJY29uc3QgY2hhcioJdGFibGVuYW1lLAkvKiE8IGluOiB0aGUg dGFibGUgbmFtZSBpbiB0aGUgdXN1YWwKIAkJCQkJZGF0YWJhc2VuYW1lL3RhYmxlbmFtZSBmb3Jt YXQKIAkJCQkJb2YgSW5ub0RCLCBvciBhIGRpciBwYXRoIHRvIGEgdGVtcAoKPT09IG1vZGlmaWVk IGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzBteXNxbC5jJwotLS0gYS9zdG9yYWdlL2lu bm9iYXNlL3Jvdy9yb3cwbXlzcWwuYwlyZXZpZDpjYWx2aW4uc3VuQG9yYWNsZS5jb20tMjAxMDA1 MjEyMTMwMDkteTM1YWE3ZXdpOHNpM3NpegorKysgYi9zdG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cw bXlzcWwuYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEwMDUyNDExNDUyNC1naWgz dHhmZjJwOXJ6NHJzCkBAIC0yNDI3LDcgKzI0MjcsNyBAQCByb3dfZGlzY2FyZF90YWJsZXNwYWNl X2Zvcl9teXNxbCgKIAkJZ290byBmdW5jdF9leGl0OwogCX0KIAotCW5ld19pZCA9IGRpY3RfaGRy X2dldF9uZXdfaWQoRElDVF9IRFJfVEFCTEVfSUQpOworCWRpY3RfaGRyX2dldF9uZXdfaWQoJm5l d19pZCwgTlVMTCwgTlVMTCk7CiAKIAkvKiBSZW1vdmUgYWxsIGxvY2tzIGV4Y2VwdCB0aGUgdGFi bGUtbGV2ZWwgUyBhbmQgWCBsb2Nrcy4gKi8KIAlsb2NrX3JlbW92ZV9hbGxfb25fdGFibGUodGFi bGUsIEZBTFNFKTsKQEAgLTI3ODksMTAgKzI3ODksMTEgQEAgcm93X3RydW5jYXRlX3RhYmxlX2Zv cl9teXNxbCgKIAogCQkJZGljdF9pbmRleF90KglpbmRleDsKIAotCQkJc3BhY2UgPSAwOworCQkJ ZGljdF9oZHJfZ2V0X25ld19pZChOVUxMLCBOVUxMLCAmc3BhY2UpOwogCi0JCQlpZiAoZmlsX2Ny ZWF0ZV9uZXdfc2luZ2xlX3RhYmxlX3RhYmxlc3BhY2UoCi0JCQkJICAgICZzcGFjZSwgdGFibGUt Pm5hbWUsIEZBTFNFLCBmbGFncywKKwkJCWlmIChzcGFjZSA9PSBVTElOVF9VTkRFRklORUQKKwkJ CSAgICB8fCBmaWxfY3JlYXRlX25ld19zaW5nbGVfdGFibGVfdGFibGVzcGFjZSgKKwkJCQkgICAg c3BhY2UsIHRhYmxlLT5uYW1lLCBGQUxTRSwgZmxhZ3MsCiAJCQkJICAgIEZJTF9JQkRfRklMRV9J TklUSUFMX1NJWkUpICE9IERCX1NVQ0NFU1MpIHsKIAkJCQl1dF9wcmludF90aW1lc3RhbXAoc3Rk ZXJyKTsKIAkJCQlmcHJpbnRmKHN0ZGVyciwKQEAgLTI4OTcsNyArMjg5OCw3IEBAIG5leHRfcmVj OgogCiAJbWVtX2hlYXBfZnJlZShoZWFwKTsKIAotCW5ld19pZCA9IGRpY3RfaGRyX2dldF9uZXdf aWQoRElDVF9IRFJfVEFCTEVfSUQpOworCWRpY3RfaGRyX2dldF9uZXdfaWQoJm5ld19pZCwgTlVM TCwgTlVMTCk7CiAKIAlpbmZvID0gcGFyc19pbmZvX2NyZWF0ZSgpOwogCgo= --===============0594534120== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/marko.makela@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: marko.makela@stripped # target_branch: file:///home/marko/innobase/dev/mysql2a/5.5-innodb/ # testament_sha1: f2c26bbbb11b6c40ee0c6b5d77aa44c709860073 # timestamp: 2010-05-24 14:58:11 +0300 # source_branch: file:///home/marko/innobase/dev/mysql2a/5.1-innodb/ # base_revision_id: calvin.sun@stripped\ # y35aa7ewi8si3siz # # Begin bundle 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 --===============0594534120==--