From: marko.makela Date: June 15 2012 9:37am Subject: bzr push into mysql-trunk branch (marko.makela:4016 to 4017) Bug#14198766 List-Archive: http://lists.mysql.com/commits/144243 X-Bug: 14198766 Message-Id: <20120615093717.21110.97599.4017@x220> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDQwMTcgTWFya28gTcOka2Vsw6QJMjAxMi0wNi0xNQogICAgICBCdWcjMTQxOTg3NjYgcm93X2Ry b3BfdGFibGVfZm9yX215c3FsKCkgcmVsZWFzZXMgZGljdF9vcGVyYXRpb25fbG9jayBsYXRjaAog ICAgICB3aGlsZSBob2xkaW5nIHJlY29yZCBsb2NrcyBvbiBkYXRhIGRpY3Rpb25hcnkgdGFibGVz CiAgICAgIAogICAgICBUaGlzIGJ1ZyBtb3N0bHkgYWZmZWN0cyBhIHRhYmxlIHJlYnVpbGQsIHN1 Y2ggYXMgQUREIFBSSU1BUlkgS0VZLgogICAgICAKICAgICAgaGFfaW5ub2Jhc2U6OmNvbW1pdF9p bnBsYWNlX2FsdGVyX3RhYmxlKCk6IEludm9rZQogICAgICBkaWN0X3N0YXRzX3dhaXRfYmdfdG9f c3RvcF91c2luZ190YWJsZXMoKSBvbiBib3RoIHRhYmxlcyB1cGZyb250LgogICAgICAKICAgICAg cm93X2Ryb3BfdGFibGVfZm9yX215c3FsKCk6IERvIG5vdCBpbnZva2UKICAgICAgZGljdF9zdGF0 c193YWl0X2JnX3RvX3N0b3BfdXNpbmdfdGFibGVzKCkgaWYgZGF0YSBkaWN0aW9uYXJ5IGxvY2tz CiAgICAgIHdlcmUgYWxyZWFkeSBhY3F1aXJlZCBieSB0aGUgY2FsbGVyIChzaWduYWxsZWQgYnkg YSBuZXcgcGFyYW1ldGVyLAogICAgICBub25hdG9taWM9ZmFsc2UpLiBSZW1vdmUgdGhlIGNvZGUg dGhhdCB3YWl0cyBmb3IgdGhlIGZ1bGwtdGV4dC1zZWFyY2gKICAgICAgcmVsYXRlZCBiYWNrZ3Jv dW5kIHRocmVhZHMgdG8gZXhpdC4gQWNjb3JkaW5nIHRvIEppbW15LCB0aGlzIGlzIHN0YWxlCiAg ICAgIGNvZGUgdGhhdCBzaG91bGQgYmUgcmVtb3ZlZC4gQWRkIGEgZGVidWcgYXNzZXJ0aW9uIHRv IGVuZm9yY2UKICAgICAgIXRhYmxlLT5mdHMtPmFkZF93cS4KICAgICAgCiAgICAgIHJvd19tZXJn ZV9kcm9wX3RhYmxlKCk6IEFkZCB0aGUgcGFyYW1ldGVyIG5vbmF0b21pYy4KICAgICAgCiAgICAg IHJiOjExMTIgYXBwcm92ZWQgYnkgSmltbXkgWWFuZwoKICAgIG1vZGlmaWVkOgogICAgICBzdG9y YWdlL2lubm9iYXNlL2hhbmRsZXIvaGFuZGxlcjBhbHRlci5jYwogICAgICBzdG9yYWdlL2lubm9i YXNlL2luY2x1ZGUvcm93MG1lcmdlLmgKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL3Jv dzBteXNxbC5oCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzBtZXJnZS5jYwogICAgICBz dG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cwbXlzcWwuY2MKIDQwMTYgWWFzdWZ1bWkgS2lub3NoaXRh CTIwMTItMDYtMTUKICAgICAgcmVvcmRlciBzcWwvc2hhcmUvZXJybXNnLXV0ZjgudHh0IGFib3V0 IEphcGFuZXNlIHN1cHBvcnQKICAgICAgIHJlbW92ZWQgJ2pwcycgZW50cmllcyAoYmVjYXVzZSBu b3QgdXNlZCBhdCBhbGwpOwogICAgICAgdHJhbnNsYXRlZC9yZS10cmFuc2xhdGVkIG1ham9yICdq cG4nIGVudHJpZXMgYWNjdXJhdGVseTsKICAgICAgCiAgICAgICogcmV2aWV3ZWQgYW1vbmcgSmFw YW5lc2UtbmF0aXZlIHRlY2huaWNhbCBtZW1iZXJzLgoKICAgIG1vZGlmaWVkOgogICAgICBzcWwv c2hhcmUvZXJybXNnLXV0ZjgudHh0Cj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNl L2hhbmRsZXIvaGFuZGxlcjBhbHRlci5jYycKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9oYW5kbGVy L2hhbmRsZXIwYWx0ZXIuY2MJcmV2aWQ6eWFzdWZ1bWkua2lub3NoaXRhQG9yYWNsZS5jb20tMjAx MjA2MTUwNzU2MTctbXkzb2cwa2F1MTZxMHgwcAorKysgYi9zdG9yYWdlL2lubm9iYXNlL2hhbmRs ZXIvaGFuZGxlcjBhbHRlci5jYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDYx NTA5MzUwOS1hejR5MWtqY2ZlZTAzajFjCkBAIC0yMzY0LDcgKzIzNjQsNyBAQCBlcnJvcl9oYW5k bGVkOgogCWlmIChuZXdfY2x1c3RlcmVkKSB7CiAJCWlmIChpbmRleGVkX3RhYmxlICE9IHVzZXJf dGFibGUpIHsKIAkJCWRpY3RfdGFibGVfY2xvc2UoaW5kZXhlZF90YWJsZSwgVFJVRSwgRkFMU0Up OwotCQkJcm93X21lcmdlX2Ryb3BfdGFibGUodHJ4LCBpbmRleGVkX3RhYmxlKTsKKwkJCXJvd19t ZXJnZV9kcm9wX3RhYmxlKHRyeCwgaW5kZXhlZF90YWJsZSwgdHJ1ZSk7CiAJCX0KIAogCQl0cnhf Y29tbWl0X2Zvcl9teXNxbCh0cngpOwpAQCAtMzA5Myw3ICszMDkzLDggQEAgcm9sbGJhY2tfaW5w bGFjZV9hbHRlcl90YWJsZSgKIAlpZiAocHJlYnVpbHQtPnRhYmxlICE9IGN0eC0+aW5kZXhlZF90 YWJsZSkgewogCQkvKiBEcm9wIHRoZSB0YWJsZS4gKi8KIAkJZGljdF90YWJsZV9jbG9zZShjdHgt PmluZGV4ZWRfdGFibGUsIFRSVUUsIEZBTFNFKTsKLQkJc3dpdGNoIChyb3dfbWVyZ2VfZHJvcF90 YWJsZShjdHgtPnRyeCwgY3R4LT5pbmRleGVkX3RhYmxlKSkgeworCQlzd2l0Y2ggKHJvd19tZXJn ZV9kcm9wX3RhYmxlKGN0eC0+dHJ4LCBjdHgtPmluZGV4ZWRfdGFibGUsCisJCQkJCSAgICAgdHJ1 ZSkpIHsKIAkJY2FzZSBEQl9TVUNDRVNTOgogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CkBAIC0zNDUy LDExICszNDUzLDkgQEAgaGFfaW5ub2Jhc2U6OmNvbW1pdF9pbnBsYWNlX2FsdGVyX3RhYmxlKAog CiAJLyogV2FpdCBmb3IgYmFja2dyb3VuZCBzdGF0cyBwcm9jZXNzaW5nIHRvIHN0b3AgdXNpbmcg dGhlCiAJaW5kZXhlcyB0aGF0IHdlIGFyZSBnb2luZyB0byBkcm9wIChpZiBhbnkpLiAqLwotCWlm IChjdHggIT0gTlVMTCAmJiBjdHgtPm51bV90b19kcm9wID4gMCkgeworCWlmIChjdHgpIHsKIAkJ ZGljdF9zdGF0c193YWl0X2JnX3RvX3N0b3BfdXNpbmdfdGFibGVzKAotCQkJcHJlYnVpbHQtPnRh YmxlLAotCQkJY3R4LT5kcm9wWzBdLT50YWJsZSwKLQkJCXRyeCk7CisJCQlwcmVidWlsdC0+dGFi bGUsIGN0eC0+aW5kZXhlZF90YWJsZSwgdHJ4KTsKIAl9CiAKIAlpZiAobmV3X2NsdXN0ZXJlZCkg ewpAQCAtMzQ2Nyw2ICszNDY2LDIyIEBAIGhhX2lubm9iYXNlOjpjb21taXRfaW5wbGFjZV9hbHRl cl90YWJsZSgKIAkJcmVxdWVzdGVkIHRvIGJlIGRyb3BwZWQgd2VyZSBub3QgY3JlYXRlZCBpbiB0 aGUgY29weQogCQlvZiB0aGUgdGFibGUuICovCiAKKwkJaWYgKHByZWJ1aWx0LT50YWJsZS0+ZnRz IHx8IGN0eC0+aW5kZXhlZF90YWJsZS0+ZnRzKSB7CisJCQlyb3dfbXlzcWxfdW5sb2NrX2RhdGFf ZGljdGlvbmFyeSh0cngpOworCisJCQlpZiAocHJlYnVpbHQtPnRhYmxlLT5mdHMpIHsKKwkJCQl1 dF9hZCghcHJlYnVpbHQtPnRhYmxlLT5mdHMtPmFkZF93cSk7CisJCQkJZnRzX29wdGltaXplX3Jl bW92ZV90YWJsZShwcmVidWlsdC0+dGFibGUpOworCQkJfQorCisJCQlpZiAoY3R4LT5pbmRleGVk X3RhYmxlLT5mdHMpIHsKKwkJCQl1dF9hZCghY3R4LT5pbmRleGVkX3RhYmxlLT5mdHMtPmFkZF93 cSk7CisJCQkJZnRzX29wdGltaXplX3JlbW92ZV90YWJsZShjdHgtPmluZGV4ZWRfdGFibGUpOwor CQkJfQorCisJCQlyb3dfbXlzcWxfbG9ja19kYXRhX2RpY3Rpb25hcnkodHJ4KTsKKwkJfQorCiAJ CS8qIEEgbmV3IGNsdXN0ZXJlZCBpbmRleCB3YXMgZGVmaW5lZCBmb3IgdGhlIHRhYmxlCiAJCWFu ZCB0aGVyZSB3YXMgbm8gZXJyb3IgYXQgdGhpcyBwb2ludC4gV2UgY2FuCiAJCW5vdyByZW5hbWUg dGhlIG9sZCB0YWJsZSBhcyBhIHRlbXBvcmFyeSB0YWJsZSwKQEAgLTM0ODgsNyArMzUwMyw3IEBA IGhhX2lubm9iYXNlOjpjb21taXRfaW5wbGFjZV9hbHRlcl90YWJsZSgKIAkJCWRpY3RfdGFibGVf dCoJb2xkX3RhYmxlID0gcHJlYnVpbHQtPnRhYmxlOwogCQkJdHJ4X2NvbW1pdF9mb3JfbXlzcWwo cHJlYnVpbHQtPnRyeCk7CiAJCQlyb3dfcHJlYnVpbHRfZnJlZShwcmVidWlsdCwgVFJVRSk7Ci0J CQllcnJvciA9IHJvd19tZXJnZV9kcm9wX3RhYmxlKHRyeCwgb2xkX3RhYmxlKTsKKwkJCWVycm9y ID0gcm93X21lcmdlX2Ryb3BfdGFibGUodHJ4LCBvbGRfdGFibGUsIGZhbHNlKTsKIAkJCXByZWJ1 aWx0ID0gcm93X2NyZWF0ZV9wcmVidWlsdCgKIAkJCQljdHgtPmluZGV4ZWRfdGFibGUsIHRhYmxl LT5zLT5yZWNsZW5ndGgpOwogCQl9CkBAIC0zNTExLDcgKzM1MjYsNyBAQCBoYV9pbm5vYmFzZTo6 Y29tbWl0X2lucGxhY2VfYWx0ZXJfdGFibGUoCiAJCQllcnIgPSAtMTsKIAkJZHJvcF9uZXdfY2x1 c3RlcmVkOgogCQkJZGljdF90YWJsZV9jbG9zZShjdHgtPmluZGV4ZWRfdGFibGUsIFRSVUUsIEZB TFNFKTsKLQkJCXJvd19tZXJnZV9kcm9wX3RhYmxlKHRyeCwgY3R4LT5pbmRleGVkX3RhYmxlKTsK KwkJCXJvd19tZXJnZV9kcm9wX3RhYmxlKHRyeCwgY3R4LT5pbmRleGVkX3RhYmxlLCBmYWxzZSk7 CiAJCQljdHgtPmluZGV4ZWRfdGFibGUgPSBOVUxMOwogCQkJZ290byB0cnhfY29tbWl0OwogCQl9 CkBAIC0zODgzLDUgKzM4OTgsMTAgQEAgcmV0OgogCWlmIChlcnIgPT0gMCkgewogCQlNT05JVE9S X0FUT01JQ19ERUMoTU9OSVRPUl9QRU5ESU5HX0FMVEVSX1RBQkxFKTsKIAl9CisKKwlpZiAocHJl YnVpbHQtPnRhYmxlLT5mdHMpIHsKKwkJZnRzX29wdGltaXplX2FkZF90YWJsZShwcmVidWlsdC0+ dGFibGUpOworCX0KKwogCURCVUdfUkVUVVJOKGVyciAhPSAwKTsKIH0KCj09PSBtb2RpZmllZCBm aWxlICdzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvcm93MG1lcmdlLmgnCi0tLSBhL3N0b3JhZ2Uv aW5ub2Jhc2UvaW5jbHVkZS9yb3cwbWVyZ2UuaAlyZXZpZDp5YXN1ZnVtaS5raW5vc2hpdGFAb3Jh Y2xlLmNvbS0yMDEyMDYxNTA3NTYxNy1teTNvZzBrYXUxNnEweDBwCisrKyBiL3N0b3JhZ2UvaW5u b2Jhc2UvaW5jbHVkZS9yb3cwbWVyZ2UuaAlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0y MDEyMDYxNTA5MzUwOS1hejR5MWtqY2ZlZTAzajFjCkBAIC0yNjksNyArMjY5LDExIEBAIGRiZXJy X3QKIHJvd19tZXJnZV9kcm9wX3RhYmxlKAogLyo9PT09PT09PT09PT09PT09PSovCiAJdHJ4X3Qq CQl0cngsCQkvKiE8IGluOiB0cmFuc2FjdGlvbiAqLwotCWRpY3RfdGFibGVfdCoJdGFibGUpOwkJ LyohPCBpbjogdGFibGUgaW5zdGFuY2UgdG8gZHJvcCAqLworCWRpY3RfdGFibGVfdCoJdGFibGUs CQkvKiE8IGluOiB0YWJsZSBpbnN0YW5jZSB0byBkcm9wICovCisJYm9vbAkJbm9uYXRvbWljKQkv KiE8IGluOiB3aGV0aGVyIGl0IGlzIHBlcm1pdHRlZAorCQkJCQl0byByZWxlYXNlIGFuZCByZWFj cXVpcmUKKwkJCQkJZGljdF9vcGVyYXRpb25fbG9jayAqLworCV9fYXR0cmlidXRlX18oKG5vbm51 bGwpKTsKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKiovLyoqCiBCdWlsZCBpbmRleGVzIG9uIGEgdGFibGUgYnkgcmVh ZGluZyBhIGNsdXN0ZXJlZCBpbmRleCwKIGNyZWF0aW5nIGEgdGVtcG9yYXJ5IGZpbGUgY29udGFp bmluZyBpbmRleCBlbnRyaWVzLCBtZXJnZSBzb3J0aW5nCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3Rv cmFnZS9pbm5vYmFzZS9pbmNsdWRlL3JvdzBteXNxbC5oJwotLS0gYS9zdG9yYWdlL2lubm9iYXNl L2luY2x1ZGUvcm93MG15c3FsLmgJcmV2aWQ6eWFzdWZ1bWkua2lub3NoaXRhQG9yYWNsZS5jb20t MjAxMjA2MTUwNzU2MTctbXkzb2cwa2F1MTZxMHgwcAorKysgYi9zdG9yYWdlL2lubm9iYXNlL2lu Y2x1ZGUvcm93MG15c3FsLmgJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA2MTUw OTM1MDktYXo0eTFramNmZWUwM2oxYwpAQCAtNDczLDcgKzQ3MywxMCBAQCByb3dfZHJvcF90YWJs ZV9mb3JfbXlzcWwoCiAvKj09PT09PT09PT09PT09PT09PT09PSovCiAJY29uc3QgY2hhcioJbmFt ZSwJLyohPCBpbjogdGFibGUgbmFtZSAqLwogCXRyeF90KgkJdHJ4LAkvKiE8IGluOiBkaWN0aW9u YXJ5IHRyYW5zYWN0aW9uIGhhbmRsZSAqLwotCWJvb2wJCWRyb3BfZGIpLyohPCBpbjogdHJ1ZT1k cm9wcGluZyB3aG9sZSBkYXRhYmFzZSAqLworCWJvb2wJCWRyb3BfZGIsLyohPCBpbjogdHJ1ZT1k cm9wcGluZyB3aG9sZSBkYXRhYmFzZSAqLworCWJvb2wJCW5vbmF0b21pYyA9IHRydWUpCisJCQkJ LyohPCBpbjogd2hldGhlciBpdCBpcyBwZXJtaXR0ZWQKKwkJCQl0byByZWxlYXNlIGFuZCByZWFj cXVpcmUgZGljdF9vcGVyYXRpb25fbG9jayAqLwogCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKTsK IC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKiovLyoqCiBEcm9wIGFsbCB0ZW1wb3JhcnkgdGFibGVzIGR1cmluZyBjcmFz aCByZWNvdmVyeS4gKi8KCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL3Jvdy9y b3cwbWVyZ2UuY2MnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzBtZXJnZS5jYwlyZXZp ZDp5YXN1ZnVtaS5raW5vc2hpdGFAb3JhY2xlLmNvbS0yMDEyMDYxNTA3NTYxNy1teTNvZzBrYXUx NnEweDBwCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzBtZXJnZS5jYwlyZXZpZDptYXJr by5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDYxNTA5MzUwOS1hejR5MWtqY2ZlZTAzajFjCkBAIC0z MTIzLDEyICszMTIzLDE1IEBAIGRiZXJyX3QKIHJvd19tZXJnZV9kcm9wX3RhYmxlKAogLyo9PT09 PT09PT09PT09PT09PSovCiAJdHJ4X3QqCQl0cngsCQkvKiE8IGluOiB0cmFuc2FjdGlvbiAqLwot CWRpY3RfdGFibGVfdCoJdGFibGUpCQkvKiE8IGluOiB0YWJsZSB0byBkcm9wICovCisJZGljdF90 YWJsZV90Kgl0YWJsZSwJCS8qITwgaW46IHRhYmxlIHRvIGRyb3AgKi8KKwlib29sCQlub25hdG9t aWMpCS8qITwgaW46IHdoZXRoZXIgaXQgaXMgcGVybWl0dGVkCisJCQkJCXRvIHJlbGVhc2UgYW5k IHJlYWNxdWlyZQorCQkJCQlkaWN0X29wZXJhdGlvbl9sb2NrICovCiB7CiAJLyogVGhlcmUgbXVz dCBiZSBubyBvcGVuIHRyYW5zYWN0aW9ucyBvbiB0aGUgdGFibGUuICovCiAJdXRfYSh0YWJsZS0+ bl9yZWZfY291bnQgPT0gMCk7CiAKLQlyZXR1cm4ocm93X2Ryb3BfdGFibGVfZm9yX215c3FsKHRh YmxlLT5uYW1lLCB0cngsIEZBTFNFKSk7CisJcmV0dXJuKHJvd19kcm9wX3RhYmxlX2Zvcl9teXNx bCh0YWJsZS0+bmFtZSwgdHJ4LCBmYWxzZSwgbm9uYXRvbWljKSk7CiB9CiAKIAoKPT09IG1vZGlm aWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzBteXNxbC5jYycKLS0tIGEvc3RvcmFn ZS9pbm5vYmFzZS9yb3cvcm93MG15c3FsLmNjCXJldmlkOnlhc3VmdW1pLmtpbm9zaGl0YUBvcmFj bGUuY29tLTIwMTIwNjE1MDc1NjE3LW15M29nMGthdTE2cTB4MHAKKysrIGIvc3RvcmFnZS9pbm5v YmFzZS9yb3cvcm93MG15c3FsLmNjCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIw NjE1MDkzNTA5LWF6NHkxa2pjZmVlMDNqMWMKQEAgLTM1MjIsNyArMzUyMiwxMCBAQCByb3dfZHJv cF90YWJsZV9mb3JfbXlzcWwoCiAvKj09PT09PT09PT09PT09PT09PT09PSovCiAJY29uc3QgY2hh cioJbmFtZSwJLyohPCBpbjogdGFibGUgbmFtZSAqLwogCXRyeF90KgkJdHJ4LAkvKiE8IGluOiB0 cmFuc2FjdGlvbiBoYW5kbGUgKi8KLQlib29sCQlkcm9wX2RiKS8qITwgaW46IHRydWU9ZHJvcHBp bmcgd2hvbGUgZGF0YWJhc2UgKi8KKwlib29sCQlkcm9wX2RiLC8qITwgaW46IHRydWU9ZHJvcHBp bmcgd2hvbGUgZGF0YWJhc2UgKi8KKwlib29sCQlub25hdG9taWMpCisJCQkJLyohPCBpbjogd2hl dGhlciBpdCBpcyBwZXJtaXR0ZWQKKwkJCQl0byByZWxlYXNlIGFuZCByZWFjcXVpcmUgZGljdF9v cGVyYXRpb25fbG9jayAqLwogewogCWRiZXJyX3QJCWVycjsKIAlkaWN0X2ZvcmVpZ25fdCoJZm9y ZWlnbjsKQEAgLTM1MzIsOCArMzUzNSw3IEBAIHJvd19kcm9wX3RhYmxlX2Zvcl9teXNxbCgKIAlj b25zdCBjaGFyKgl0YWJsZV9uYW1lOwogCWJvb2wJCWliZF9maWxlX21pc3Npbmc7CiAJdWxpbnQJ CW5hbWVsZW47Ci0JaWJvb2wJCWxvY2tlZF9kaWN0aW9uYXJ5CT0gRkFMU0U7Ci0JaWJvb2wJCWZ0 c19iZ190aHJlYWRfZXhpdGVkCT0gRkFMU0U7CisJYm9vbAkJbG9ja2VkX2RpY3Rpb25hcnkJPSBm YWxzZTsKIAlwYXJzX2luZm9fdCoJaW5mbwkJCT0gTlVMTDsKIAltZW1faGVhcF90KgloZWFwCQkJ PSBOVUxMOwogCkBAIC0zNjAzLDEwICszNjA1LDEwIEBAIHJvd19kcm9wX3RhYmxlX2Zvcl9teXNx bCgKIAogCQlyb3dfbXlzcWxfbG9ja19kYXRhX2RpY3Rpb25hcnkodHJ4KTsKIAotCQlsb2NrZWRf ZGljdGlvbmFyeSA9IFRSVUU7CisJCWxvY2tlZF9kaWN0aW9uYXJ5ID0gdHJ1ZTsKKwkJbm9uYXRv bWljID0gdHJ1ZTsKIAl9CiAKLXJldHJ5OgogCXV0X2FkKG11dGV4X293bigmKGRpY3Rfc3lzLT5t dXRleCkpKTsKICNpZmRlZiBVTklWX1NZTkNfREVCVUcKIAl1dF9hZChyd19sb2NrX293bigmZGlj dF9vcGVyYXRpb25fbG9jaywgUldfTE9DS19FWCkpOwpAQCAtMzYzNiwzOSArMzYzOCwxOSBAQCBy ZXRyeToKIAkJZ290byBmdW5jdF9leGl0OwogCX0KIAotCWlmICh0YWJsZS0+ZnRzKSB7Ci0JCWZ0 c190KiAgICAgICAgICBmdHMgPSB0YWJsZS0+ZnRzOwotCi0JCS8qIEl0IGlzIHBvc3NpYmxlIHRo YXQgYmFja2dyb3VuZCAnQWRkJyB0aHJlYWQgZnRzX2FkZF90aHJlYWQoKQotCQlqdXN0IGdldHMg Y2FsbGVkIGFuZCB0aGUgZnRzX29wdGltaXplX3RocmVhZCgpCi0JCWlzIHByb2Nlc3NpbmcgZGVs ZXRlZCByZWNvcmRzLiBUaGVyZSBjb3VsZCBiZSB1bmRldGVjdGVkCi0JCWRlYWRsb2NrIGJldHdl ZW4gdGhyZWFkcyBzeW5jaHJvbml6YXRpb24gYW5kIGRpY3Rfc3lzX211dGV4Ci0JCXNpbmNlIGZ0 c19wYXJzZV9zcWwoKSByZXF1aXJlcyBkaWN0X3N5cy0+bXV0ZXguIEFzayB0aGUKLQkJYmFja2dy b3VuZCB0aHJlYWQgdG8gZXhpdCBiZWZvcmUgcHJvY2VlZHMgdG8gZHJvcCB0YWJsZSB0bwotCQlh dm9pZCB1bmRldGVjdGVkIGRlYWRsb2NrcyAqLwotCQlyb3dfbXlzcWxfdW5sb2NrX2RhdGFfZGlj dGlvbmFyeSh0cngpOwotCi0JCWlmIChmdHMtPmFkZF93cSAmJiAoIWZ0c19iZ190aHJlYWRfZXhp dGVkKSkgewotCQkJLyogV2FpdCBmb3IgYW55IGJhY2tncm91bmQgdGhyZWFkcyBhY2Nlc3Npbmcg dGhlIHRhYmxlCi0JCQl0byBleGl0LiAqLwotCQkJbXV0ZXhfZW50ZXIoJmZ0cy0+YmdfdGhyZWFk c19tdXRleCk7Ci0JCQlmdHMtPmZ0c19zdGF0dXMgfD0gQkdfVEhSRUFEX1NUT1A7Ci0KLQkJCWRp Y3RfdGFibGVfd2FpdF9mb3JfYmdfdGhyZWFkc190b19leGl0KHRhYmxlLCAyNTAwMDApOwotCi0J CQltdXRleF9leGl0KCZmdHMtPmJnX3RocmVhZHNfbXV0ZXgpOwotCi0JCQlyb3dfbXlzcWxfbG9j a19kYXRhX2RpY3Rpb25hcnkodHJ4KTsKLQkJCWZ0c19iZ190aHJlYWRfZXhpdGVkID0gVFJVRTsK LQkJCWdvdG8gcmV0cnk7Ci0JCX0gZWxzZSB7CisJaWYgKG5vbmF0b21pYykgeworCQkvKiBUaGlz IHRyeCBkaWQgbm90IGFjcXVpcmUgYW55IGxvY2tzIG9uIGRpY3Rpb25hcnkKKwkJdGFibGUgcmVj b3JkcyB5ZXQuIFRodXMgaXQgaXMgc2FmZSB0byByZWxlYXNlIGFuZAorCQlyZWFjcXVpcmUgdGhl IGRhdGEgZGljdGlvbmFyeSBsYXRjaGVzLiAqLworCQlpZiAodGFibGUtPmZ0cykgeworCQkJdXRf YWQoIXRhYmxlLT5mdHMtPmFkZF93cSk7CisJCQlyb3dfbXlzcWxfdW5sb2NrX2RhdGFfZGljdGlv bmFyeSh0cngpOwogCQkJZnRzX29wdGltaXplX3JlbW92ZV90YWJsZSh0YWJsZSk7CiAJCQlyb3df bXlzcWxfbG9ja19kYXRhX2RpY3Rpb25hcnkodHJ4KTsKIAkJfQorCQlkaWN0X3N0YXRzX3dhaXRf YmdfdG9fc3RvcF91c2luZ190YWJsZXModGFibGUsIE5VTEwsIHRyeCk7CiAJfQogCi0JZGljdF9z dGF0c193YWl0X2JnX3RvX3N0b3BfdXNpbmdfdGFibGVzKHRhYmxlLCBOVUxMLCB0cngpOwotCiAJ ZGljdF9zdGF0c19yZW1vdmVfdGFibGVfZnJvbV9hdXRvX3JlY2FsYyh0YWJsZSk7CiAKIAkvKiBS ZW1vdmUgc3RhdHMgZm9yIHRoaXMgdGFibGUgYW5kIGFsbCBvZiBpdHMgaW5kZXhlcyBmcm9tIHRo ZQoKTm8gYnVuZGxlIChyZWFzb246IHVzZWxlc3MgZm9yIHB1c2ggZW1haWxzKS4=