From: marko.makela Date: September 8 2011 1:37pm Subject: bzr push into mysql-5.1 branch (marko.makela:3603 to 3605) Bug#12948130 List-Archive: http://lists.mysql.com/commits/140968 X-Bug: 12948130 Message-Id: <201109081337.p88Dbx6k021046@acsmt356.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDM2MDUgTWFya28gTcOka2Vsw6QJMjAxMS0wOS0wOAogICAgICBCdWcjMTI5NDgxMzAgVU5ORUNF U1NBUlkgWC1MT0NLSU5HIE9GIEFEQVBUSVZFIEhBU0ggSU5ERVggKEJUUl9TRUFSQ0hfTEFUQ0gp CiAgICAgIAogICAgICBJbm5vREIgYWNxdWlyZXMgYW4geC1sYXRjaCBvbiBidHJfc2VhcmNoX2xh dGNoIGZvciBjZXJ0YWluIGluLXBsYWNlIHVwZGF0ZXMKICAgICAgdGhhdCBkbyBhZmZlY3QgdGhl IGFkYXB0aXZlIGhhc2ggaW5kZXguIFRoZXNlIG9wZXJhdGlvbnMgZG8gbm90IHJlYWxseSBuZWVk CiAgICAgIHRvIGJlIHByb3RlY3RlZCBieSB0aGUgYnRyX3NlYXJjaF9sYXRjaDoKICAgICAgCiAg ICAgICogdXBkYXRpbmcgREJfVFJYX0lECiAgICAgICogdXBkYXRpbmcgREJfUk9MTF9QVFIKICAg ICAgKiB1cGRhdGluZyBQQUdFX01BWF9UUlhfSUQKICAgICAgKiB1cGRhdGluZyB0aGUgZGVsZXRl LW1hcmsgZmxhZwogICAgICAKICAgICAgcmI6NzUwIGFwcHJvdmVkIGJ5IFN1bm55IEJhaW5zCgog ICAgbW9kaWZpZWQ6CiAgICAgIHN0b3JhZ2UvaW5ub2RiX3BsdWdpbi9DaGFuZ2VMb2cKICAgICAg c3RvcmFnZS9pbm5vZGJfcGx1Z2luL2J0ci9idHIwY3VyLmMKICAgICAgc3RvcmFnZS9pbm5vZGJf cGx1Z2luL2luY2x1ZGUvcGFnZTBwYWdlLmgKICAgICAgc3RvcmFnZS9pbm5vZGJfcGx1Z2luL2lu Y2x1ZGUvcm93MHVwZC5pYwogMzYwNCBNYXJrbyBNw6RrZWzDpAkyMDExLTA5LTA4CiAgICAgIEJ1 ZyMxMTc2NjU5MSA1OTczMzogUE9TU0lCTEUgREVBRExPQ0sgV0hFTiBCVUZGRVJFRCBDSEFOR0VT IEFSRSBESVNDQVJERUQKICAgICAgCiAgICAgIFR3ZWFrIHRoZSBmYXVsdHkgVU5JVl9TWU5DX0RF QlVHIGRpYWdub3N0aWNzIGEgbGl0dGxlIGJpdCBtb3JlLgogICAgICAKICAgICAgaWJ1Zl9hZGRf ZnJlZV9wYWdlKCk6IExvd2VyIHRoZSBsYXRjaGluZyBvcmRlciBvZiB0aGUgbmV3bHkgYWxsb2Nh dGVkIHBhZ2UKICAgICAgb25seSBhZnRlciBhY3F1aXJpbmcgdGhlIGlidWZfbXV0ZXguCgogICAg bW9kaWZpZWQ6CiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaWJ1Zi9pYnVmMGlidWYuYwogICAgICBz dG9yYWdlL2lubm9kYl9wbHVnaW4vaWJ1Zi9pYnVmMGlidWYuYwogMzYwMyBWYXNpbCBEaW1vdgky MDExLTA5LTA3CiAgICAgIFVzZSBjdXJzb3JzIGZvciBzZWVraW5nIHJlY29yZHMgaW4gU1lTX0ZP UkVJR04gYW5kIFNZU19JTkRFWEVTIGZyb20KICAgICAgRFJPUF9UQUJMRV9QUk9DKCkuCiAgICAg IAogICAgICBXaXRoIHRoaXMgY2hhbmdlIEkgb2JzZXJ2ZSBhIHNwZWVkdXAgZnJvbSA2LjJzIHRv IDAuMXMgd2hlbiBleGVjdXRpbmcKICAgICAgRFJPUF9UQUJMRV9QUk9DKCkgZHVyaW5nIERST1Ag VEFCTEUgd2l0aCA1MTIgZm9yZWlnbiBrZXlzLCBsaWtlIHdoYXQKICAgICAgaXMgYmVpbmcgZG9u ZSBpbiBpbm5vZGJfYnVnNTYxNDMudGVzdAogICAgICAKICAgICAgVGhpcyBmaXhlcyAiQnVnIzEx NzY1NDYwIERST1AgVEFCTEUgVVNFUyBJTkVGRklDSUVOVCBNRVRIT0RTIFRPIFJFTU9WRQogICAg ICBGS1MvSU5ERVhFUyBGUk9NIElOTk9EQiBTWVMgVEFCTEVTIgogICAgICAKICAgICAgUmV2aWV3 ZWQgYnk6CU1hcmtvCgogICAgbW9kaWZpZWQ6CiAgICAgIHN0b3JhZ2UvaW5ub2RiX3BsdWdpbi9y b3cvcm93MG15c3FsLmMKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvaWJ1Zi9p YnVmMGlidWYuYycKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9pYnVmL2lidWYwaWJ1Zi5jCXJldmlk OnZhc2lsLmRpbW92QG9yYWNsZS5jb20tMjAxMTA5MDcxNDU4MTAtdjk4a2xkbWhvMjN2aGhpYwor KysgYi9zdG9yYWdlL2lubm9iYXNlL2lidWYvaWJ1ZjBpYnVmLmMJcmV2aWQ6bWFya28ubWFrZWxh QG9yYWNsZS5jb20tMjAxMTA5MDgxMzEwMjQtNWJla2cyN3RxOGkwNTl3egpAQCAtMTY4MywxNCAr MTY4MywxNCBAQCBpYnVmX2FkZF9mcmVlX3BhZ2UoCiAKIAlwYWdlID0gYnVmX3BhZ2VfZ2V0KHNw YWNlLCBwYWdlX25vLCBSV19YX0xBVENILCAmbXRyKTsKIAotI2lmZGVmIFVOSVZfU1lOQ19ERUJV RwotCWJ1Zl9wYWdlX2RiZ19hZGRfbGV2ZWwocGFnZSwgU1lOQ19UUkVFX05PREVfTkVXKTsKLSNl bmRpZiAvKiBVTklWX1NZTkNfREVCVUcgKi8KLQogCWlidWZfZW50ZXIoKTsKIAogCW11dGV4X2Vu dGVyKCZpYnVmX211dGV4KTsKIAorI2lmZGVmIFVOSVZfU1lOQ19ERUJVRworCWJ1Zl9wYWdlX2Ri Z19hZGRfbGV2ZWwocGFnZSwgU1lOQ19UUkVFX05PREVfTkVXKTsKKyNlbmRpZiAvKiBVTklWX1NZ TkNfREVCVUcgKi8KKwogCXJvb3QgPSBpYnVmX3RyZWVfcm9vdF9nZXQoaWJ1Zl9kYXRhLCBzcGFj ZSwgJm10cik7CiAKIAkvKiBBZGQgdGhlIHBhZ2UgdG8gdGhlIGZyZWUgbGlzdCBhbmQgdXBkYXRl IHRoZSBpYnVmIHNpemUgZGF0YSAqLwoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Ri X3BsdWdpbi9DaGFuZ2VMb2cnCi0tLSBhL3N0b3JhZ2UvaW5ub2RiX3BsdWdpbi9DaGFuZ2VMb2cJ cmV2aWQ6dmFzaWwuZGltb3ZAb3JhY2xlLmNvbS0yMDExMDkwNzE0NTgxMC12OThrbGRtaG8yM3Zo aGljCisrKyBiL3N0b3JhZ2UvaW5ub2RiX3BsdWdpbi9DaGFuZ2VMb2cJcmV2aWQ6bWFya28ubWFr ZWxhQG9yYWNsZS5jb20tMjAxMTA5MDgxMzEwMjQtNWJla2cyN3RxOGkwNTl3egpAQCAtMSwzICsx LDggQEAKKzIwMTEtMDktMDgJVGhlIElubm9EQiBUZWFtCisKKwkqIGJ0ci9idHIwY3VyLmMsIGlu Y2x1ZGUvcGFnZTBwYWdlLmgsIGluY2x1ZGUvcm93MHVwZC5pYzoKKwlGaXggQnVnIzEyOTQ4MTMw IFVOTkVDRVNTQVJZIFgtTE9DS0lORyBPRiBBREFQVElWRSBIQVNIIElOREVYCisKIDIwMTEtMDkt MDYJVGhlIElubm9EQiBUZWFtCiAKIAkqIGJ1Zi9idWYwYnVkZHkuYzoKCj09PSBtb2RpZmllZCBm aWxlICdzdG9yYWdlL2lubm9kYl9wbHVnaW4vYnRyL2J0cjBjdXIuYycKLS0tIGEvc3RvcmFnZS9p bm5vZGJfcGx1Z2luL2J0ci9idHIwY3VyLmMJcmV2aWQ6dmFzaWwuZGltb3ZAb3JhY2xlLmNvbS0y MDExMDkwNzE0NTgxMC12OThrbGRtaG8yM3ZoaGljCisrKyBiL3N0b3JhZ2UvaW5ub2RiX3BsdWdp bi9idHIvYnRyMGN1ci5jCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTEwOTA4MTMx MDI0LTViZWtnMjd0cThpMDU5d3oKQEAgLTE3MjcsNiArMTcyNyw3IEBAIGJ0cl9jdXJfdXBkYXRl X2luX3BsYWNlKAogCXJvbGxfcHRyX3QJcm9sbF9wdHIJPSB1dF9kdWxpbnRfemVybzsKIAl0cnhf dCoJCXRyeDsKIAl1bGludAkJd2FzX2RlbGV0ZV9tYXJrZWQ7CisJaWJvb2wJCWlzX2hhc2hlZDsK IAltZW1faGVhcF90KgloZWFwCQk9IE5VTEw7CiAJdWxpbnQJCW9mZnNldHNfW1JFQ19PRkZTX05P Uk1BTF9TSVpFXTsKIAl1bGludCoJCW9mZnNldHMJCT0gb2Zmc2V0c187CkBAIC0xNzY4LDcgKzE3 NjksMjEgQEAgYnRyX2N1cl91cGRhdGVfaW5fcGxhY2UoCiAJCXJldHVybihlcnIpOwogCX0KIAot CWlmIChibG9jay0+aXNfaGFzaGVkKSB7CisJaWYgKCEoZmxhZ3MgJiBCVFJfS0VFUF9TWVNfRkxB RykpIHsKKwkJcm93X3VwZF9yZWNfc3lzX2ZpZWxkcyhyZWMsIE5VTEwsCisJCQkJICAgICAgIGlu ZGV4LCBvZmZzZXRzLCB0cngsIHJvbGxfcHRyKTsKKwl9CisKKwl3YXNfZGVsZXRlX21hcmtlZCA9 IHJlY19nZXRfZGVsZXRlZF9mbGFnKAorCQlyZWMsIHBhZ2VfaXNfY29tcChidWZfYmxvY2tfZ2V0 X2ZyYW1lKGJsb2NrKSkpOworCisJaXNfaGFzaGVkID0gYmxvY2stPmlzX2hhc2hlZDsKKworCWlm IChpc19oYXNoZWQpIHsKKwkJLyogVE8gRE86IENhbiB3ZSBza2lwIHRoaXMgaWYgbm9uZSBvZiB0 aGUgZmllbGRzCisJCWluZGV4LT5zZWFyY2hfaW5mby0+Y3Vycl9uX2ZpZWxkcworCQlhcmUgYmVp bmcgdXBkYXRlZD8gKi8KKwogCQkvKiBUaGUgZnVuY3Rpb24gcm93X3VwZF9jaGFuZ2VzX29yZF9m aWVsZF9iaW5hcnkgd29ya3Mgb25seQogCQlpZiB0aGUgdXBkYXRlIHZlY3RvciB3YXMgYnVpbHQg Zm9yIGEgY2x1c3RlcmVkIGluZGV4LCB3ZSBtdXN0CiAJCU5PVCBjYWxsIGl0IGlmIGluZGV4IGlz IHNlY29uZGFyeSAqLwpAQCAtMTc4NCwxNyArMTc5OSw5IEBAIGJ0cl9jdXJfdXBkYXRlX2luX3Bs YWNlKAogCQlyd19sb2NrX3hfbG9jaygmYnRyX3NlYXJjaF9sYXRjaCk7CiAJfQogCi0JaWYgKCEo ZmxhZ3MgJiBCVFJfS0VFUF9TWVNfRkxBRykpIHsKLQkJcm93X3VwZF9yZWNfc3lzX2ZpZWxkcyhy ZWMsIE5VTEwsCi0JCQkJICAgICAgIGluZGV4LCBvZmZzZXRzLCB0cngsIHJvbGxfcHRyKTsKLQl9 Ci0KLQl3YXNfZGVsZXRlX21hcmtlZCA9IHJlY19nZXRfZGVsZXRlZF9mbGFnKAotCQlyZWMsIHBh Z2VfaXNfY29tcChidWZfYmxvY2tfZ2V0X2ZyYW1lKGJsb2NrKSkpOwotCiAJcm93X3VwZF9yZWNf aW5fcGxhY2UocmVjLCBpbmRleCwgb2Zmc2V0cywgdXBkYXRlLCBwYWdlX3ppcCk7CiAKLQlpZiAo YmxvY2stPmlzX2hhc2hlZCkgeworCWlmIChpc19oYXNoZWQpIHsKIAkJcndfbG9ja194X3VubG9j aygmYnRyX3NlYXJjaF9sYXRjaCk7CiAJfQogCkBAIC0yNTIwLDcgKzI1MjcsOCBAQCBidHJfY3Vy X3BhcnNlX2RlbF9tYXJrX3NldF9jbHVzdF9yZWMoCiAKIAkJLyogV2UgZG8gbm90IG5lZWQgdG8g cmVzZXJ2ZSBidHJfc2VhcmNoX2xhdGNoLCBhcyB0aGUgcGFnZQogCQlpcyBvbmx5IGJlaW5nIHJl Y292ZXJlZCwgYW5kIHRoZXJlIGNhbm5vdCBiZSBhIGhhc2ggaW5kZXggdG8KLQkJaXQuICovCisJ CWl0LiBCZXNpZGVzLCB0aGVzZSBmaWVsZHMgYXJlIGJlaW5nIHVwZGF0ZWQgaW4gcGxhY2UKKwkJ YW5kIHRoZSBhZGFwdGl2ZSBoYXNoIGluZGV4IGRvZXMgbm90IGRlcGVuZCBvbiB0aGVtLiAqLwog CiAJCWJ0cl9yZWNfc2V0X2RlbGV0ZWRfZmxhZyhyZWMsIHBhZ2VfemlwLCB2YWwpOwogCkBAIC0y NjAwLDkgKzI2MDgsOSBAQCBidHJfY3VyX2RlbF9tYXJrX3NldF9jbHVzdF9yZWMoCiAJCXJldHVy bihlcnIpOwogCX0KIAotCWlmIChibG9jay0+aXNfaGFzaGVkKSB7Ci0JCXJ3X2xvY2tfeF9sb2Nr KCZidHJfc2VhcmNoX2xhdGNoKTsKLQl9CisJLyogVGhlIGJ0cl9zZWFyY2hfbGF0Y2ggaXMgbm90 IG5lZWRlZCBoZXJlLCBiZWNhdXNlCisJdGhlIGFkYXB0aXZlIGhhc2ggaW5kZXggZG9lcyBub3Qg ZGVwZW5kIG9uIHRoZSBkZWxldGUtbWFyaworCWFuZCB0aGUgZGVsZXRlLW1hcmsgaXMgYmVpbmcg dXBkYXRlZCBpbiBwbGFjZS4gKi8KIAogCXBhZ2VfemlwID0gYnVmX2Jsb2NrX2dldF9wYWdlX3pp cChibG9jayk7CiAKQEAgLTI2MTYsMTAgKzI2MjQsNiBAQCBidHJfY3VyX2RlbF9tYXJrX3NldF9j bHVzdF9yZWMoCiAJCQkJICAgICAgIGluZGV4LCBvZmZzZXRzLCB0cngsIHJvbGxfcHRyKTsKIAl9 CiAKLQlpZiAoYmxvY2stPmlzX2hhc2hlZCkgewotCQlyd19sb2NrX3hfdW5sb2NrKCZidHJfc2Vh cmNoX2xhdGNoKTsKLQl9Ci0KIAlidHJfY3VyX2RlbF9tYXJrX3NldF9jbHVzdF9yZWNfbG9nKGZs YWdzLCByZWMsIGluZGV4LCB2YWwsIHRyeCwKIAkJCQkJICAgcm9sbF9wdHIsIG10cik7CiAKQEAg LTI2OTUsNyArMjY5OSw4IEBAIGJ0cl9jdXJfcGFyc2VfZGVsX21hcmtfc2V0X3NlY19yZWMoCiAK IAkJLyogV2UgZG8gbm90IG5lZWQgdG8gcmVzZXJ2ZSBidHJfc2VhcmNoX2xhdGNoLCBhcyB0aGUg cGFnZQogCQlpcyBvbmx5IGJlaW5nIHJlY292ZXJlZCwgYW5kIHRoZXJlIGNhbm5vdCBiZSBhIGhh c2ggaW5kZXggdG8KLQkJaXQuICovCisJCWl0LiBCZXNpZGVzLCB0aGUgZGVsZXRlLW1hcmsgZmxh ZyBpcyBiZWluZyB1cGRhdGVkIGluIHBsYWNlCisJCWFuZCB0aGUgYWRhcHRpdmUgaGFzaCBpbmRl eCBkb2VzIG5vdCBkZXBlbmQgb24gaXQuICovCiAKIAkJYnRyX3JlY19zZXRfZGVsZXRlZF9mbGFn KHJlYywgcGFnZV96aXAsIHZhbCk7CiAJfQpAQCAtMjc0MywxNiArMjc0OCwxMSBAQCBidHJfY3Vy X2RlbF9tYXJrX3NldF9zZWNfcmVjKAogCXV0X2FkKCEhcGFnZV9yZWNfaXNfY29tcChyZWMpCiAJ ICAgICAgPT0gZGljdF90YWJsZV9pc19jb21wKGN1cnNvci0+aW5kZXgtPnRhYmxlKSk7CiAKLQlp ZiAoYmxvY2stPmlzX2hhc2hlZCkgewotCQlyd19sb2NrX3hfbG9jaygmYnRyX3NlYXJjaF9sYXRj aCk7Ci0JfQotCisJLyogV2UgZG8gbm90IG5lZWQgdG8gcmVzZXJ2ZSBidHJfc2VhcmNoX2xhdGNo LCBhcyB0aGUKKwlkZWxldGUtbWFyayBmbGFnIGlzIGJlaW5nIHVwZGF0ZWQgaW4gcGxhY2UgYW5k IHRoZSBhZGFwdGl2ZQorCWhhc2ggaW5kZXggZG9lcyBub3QgZGVwZW5kIG9uIGl0LiAqLwogCWJ0 cl9yZWNfc2V0X2RlbGV0ZWRfZmxhZyhyZWMsIGJ1Zl9ibG9ja19nZXRfcGFnZV96aXAoYmxvY2sp LCB2YWwpOwogCi0JaWYgKGJsb2NrLT5pc19oYXNoZWQpIHsKLQkJcndfbG9ja194X3VubG9jaygm YnRyX3NlYXJjaF9sYXRjaCk7Ci0JfQotCiAJYnRyX2N1cl9kZWxfbWFya19zZXRfc2VjX3JlY19s b2cocmVjLCB2YWwsIG10cik7CiAKIAlyZXR1cm4oREJfU1VDQ0VTUyk7CkBAIC0yNzcyLDggKzI3 NzIsMTEgQEAgYnRyX2N1cl9kZWxfdW5tYXJrX2Zvcl9pYnVmKAogCQkJCQl1bmNvbXByZXNzZWQg Ki8KIAltdHJfdCoJCW10cikJCS8qITwgaW46IG10ciAqLwogewotCS8qIFdlIGRvIG5vdCBuZWVk IHRvIHJlc2VydmUgYnRyX3NlYXJjaF9sYXRjaCwgYXMgdGhlIHBhZ2UgaGFzIGp1c3QKLQliZWVu IHJlYWQgdG8gdGhlIGJ1ZmZlciBwb29sIGFuZCB0aGVyZSBjYW5ub3QgYmUgYSBoYXNoIGluZGV4 IHRvIGl0LiAqLworCS8qIFdlIGRvIG5vdCBuZWVkIHRvIHJlc2VydmUgYnRyX3NlYXJjaF9sYXRj aCwgYXMgdGhlIHBhZ2UKKwloYXMganVzdCBiZWVuIHJlYWQgdG8gdGhlIGJ1ZmZlciBwb29sIGFu ZCB0aGVyZSBjYW5ub3QgYmUKKwlhIGhhc2ggaW5kZXggdG8gaXQuICBCZXNpZGVzLCB0aGUgZGVs ZXRlLW1hcmsgZmxhZyBpcyBiZWluZworCXVwZGF0ZWQgaW4gcGxhY2UgYW5kIHRoZSBhZGFwdGl2 ZSBoYXNoIGluZGV4IGRvZXMgbm90IGRlcGVuZAorCW9uIGl0LiAqLwogCiAJYnRyX3JlY19zZXRf ZGVsZXRlZF9mbGFnKHJlYywgcGFnZV96aXAsIEZBTFNFKTsKIAoKPT09IG1vZGlmaWVkIGZpbGUg J3N0b3JhZ2UvaW5ub2RiX3BsdWdpbi9pYnVmL2lidWYwaWJ1Zi5jJwotLS0gYS9zdG9yYWdlL2lu bm9kYl9wbHVnaW4vaWJ1Zi9pYnVmMGlidWYuYwlyZXZpZDp2YXNpbC5kaW1vdkBvcmFjbGUuY29t LTIwMTEwOTA3MTQ1ODEwLXY5OGtsZG1obzIzdmhoaWMKKysrIGIvc3RvcmFnZS9pbm5vZGJfcGx1 Z2luL2lidWYvaWJ1ZjBpYnVmLmMJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMTA5 MDgxMzEwMjQtNWJla2cyN3RxOGkwNTl3egpAQCAtMTc2NiwxNiArMTc2NiwxNSBAQCBpYnVmX2Fk ZF9mcmVlX3BhZ2Uodm9pZCkKIAkJYmxvY2sgPSBidWZfcGFnZV9nZXQoCiAJCQlJQlVGX1NQQUNF X0lELCAwLCBwYWdlX25vLCBSV19YX0xBVENILCAmbXRyKTsKIAotCQlidWZfYmxvY2tfZGJnX2Fk ZF9sZXZlbChibG9jaywgU1lOQ19JQlVGX1RSRUVfTk9ERV9ORVcpOworCQlpYnVmX2VudGVyKCk7 CisKKwkJbXV0ZXhfZW50ZXIoJmlidWZfbXV0ZXgpOwogCisJCWJ1Zl9ibG9ja19kYmdfYWRkX2xl dmVsKGJsb2NrLCBTWU5DX0lCVUZfVFJFRV9OT0RFX05FVyk7CiAKIAkJcGFnZSA9IGJ1Zl9ibG9j a19nZXRfZnJhbWUoYmxvY2spOwogCX0KIAotCWlidWZfZW50ZXIoKTsKLQotCW11dGV4X2VudGVy KCZpYnVmX211dGV4KTsKLQogCXJvb3QgPSBpYnVmX3RyZWVfcm9vdF9nZXQoJm10cik7CiAKIAkv KiBBZGQgdGhlIHBhZ2UgdG8gdGhlIGZyZWUgbGlzdCBhbmQgdXBkYXRlIHRoZSBpYnVmIHNpemUg ZGF0YSAqLwoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2RiX3BsdWdpbi9pbmNsdWRl L3BhZ2UwcGFnZS5oJwotLS0gYS9zdG9yYWdlL2lubm9kYl9wbHVnaW4vaW5jbHVkZS9wYWdlMHBh Z2UuaAlyZXZpZDp2YXNpbC5kaW1vdkBvcmFjbGUuY29tLTIwMTEwOTA3MTQ1ODEwLXY5OGtsZG1o bzIzdmhoaWMKKysrIGIvc3RvcmFnZS9pbm5vZGJfcGx1Z2luL2luY2x1ZGUvcGFnZTBwYWdlLmgJ cmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMTA5MDgxMzEwMjQtNWJla2cyN3RxOGkw NTl3egpAQCAtNjgsMTAgKzY4LDcgQEAgdHlwZWRlZglieXRlCQlwYWdlX2hlYWRlcl90OwogI2Rl ZmluZSBQQUdFX01BWF9UUlhfSUQJIDE4CS8qIGhpZ2hlc3QgaWQgb2YgYSB0cnggd2hpY2ggbWF5 IGhhdmUgbW9kaWZpZWQKIAkJCQlhIHJlY29yZCBvbiB0aGUgcGFnZTsgYSBkdWxpbnQ7IGRlZmlu ZWQgb25seQogCQkJCWluIHNlY29uZGFyeSBpbmRleGVzIGFuZCBpbiB0aGUgaW5zZXJ0IGJ1ZmZl cgotCQkJCXRyZWU7IE5PVEU6IHRoaXMgbWF5IGJlIG1vZGlmaWVkIG9ubHkKLQkJCQl3aGVuIHRo ZSB0aHJlYWQgaGFzIGFuIHgtbGF0Y2ggdG8gdGhlIHBhZ2UsCi0JCQkJYW5kIEFMU08gYW4geC1s YXRjaCB0byBidHJfc2VhcmNoX2xhdGNoCi0JCQkJaWYgdGhlcmUgaXMgYSBoYXNoIGluZGV4IHRv IHRoZSBwYWdlISAqLworCQkJCXRyZWUgKi8KICNkZWZpbmUgUEFHRV9IRUFERVJfUFJJVl9FTkQg MjYJLyogZW5kIG9mIHByaXZhdGUgZGF0YSBzdHJ1Y3R1cmUgb2YgdGhlIHBhZ2UKIAkJCQloZWFk ZXIgd2hpY2ggYXJlIHNldCBpbiBhIHBhZ2UgY3JlYXRlICovCiAvKi0tLS0qLwoKPT09IG1vZGlm aWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2RiX3BsdWdpbi9pbmNsdWRlL3JvdzB1cGQuaWMnCi0tLSBh L3N0b3JhZ2UvaW5ub2RiX3BsdWdpbi9pbmNsdWRlL3JvdzB1cGQuaWMJcmV2aWQ6dmFzaWwuZGlt b3ZAb3JhY2xlLmNvbS0yMDExMDkwNzE0NTgxMC12OThrbGRtaG8yM3ZoaGljCisrKyBiL3N0b3Jh Z2UvaW5ub2RiX3BsdWdpbi9pbmNsdWRlL3JvdzB1cGQuaWMJcmV2aWQ6bWFya28ubWFrZWxhQG9y YWNsZS5jb20tMjAxMTA5MDgxMzEwMjQtNWJla2cyN3RxOGkwNTl3egpAQCAtMTU3LDExICsxNTcs NiBAQCByb3dfdXBkX3JlY19zeXNfZmllbGRzKAogewogCXV0X2FkKGRpY3RfaW5kZXhfaXNfY2x1 c3QoaW5kZXgpKTsKIAl1dF9hZChyZWNfb2Zmc192YWxpZGF0ZShyZWMsIGluZGV4LCBvZmZzZXRz KSk7Ci0jaWZkZWYgVU5JVl9TWU5DX0RFQlVHCi0JaWYgKCFyd19sb2NrX293bigmYnRyX3NlYXJj aF9sYXRjaCwgUldfTE9DS19FWCkpIHsKLQkJdXRfYWQoIWJ1Zl9ibG9ja19hbGlnbihyZWMpLT5p c19oYXNoZWQpOwotCX0KLSNlbmRpZiAvKiBVTklWX1NZTkNfREVCVUcgKi8KIAogCWlmIChVTklW X0xJS0VMWV9OVUxMKHBhZ2VfemlwKSkgewogCQl1bGludAlwb3MgPSBkaWN0X2luZGV4X2dldF9z eXNfY29sX3BvcyhpbmRleCwgREFUQV9UUlhfSUQpOwoKTm8gYnVuZGxlIChyZWFzb246IHVzZWxl c3MgZm9yIHB1c2ggZW1haWxzKS4=