From: Andrei Elkin Date: January 17 2012 10:40pm Subject: bzr push into mysql-5.5 branch (andrei.elkin:3691) List-Archive: http://lists.mysql.com/commits/142446 Message-Id: <201201172240.q0HMe0WC026120@mysql1000.dsl.inet.fi> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDM2OTEgQW5kcmVpIEVsa2luCTIwMTItMDEtMTggW21lcmdlXQogICAgICBtZXJnaW5nIGZyb20g dGhlIDUuNSByZXBvIHRvIGxvY2FsIGJyYW5jaC4KCiAgICBhZGRlZDoKICAgICAgbXlzcWwtdGVz dC9zdWl0ZS9zeXNfdmFycy9yL2lubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnX2Jhc2ljLnJl c3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3IvaW5ub2RiX3RyeF9yc2VnX25f c2xvdHNfZGVidWdfYmFzaWMucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMv dC9pbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Z19iYXNpYy50ZXN0CiAgICAgIG15c3FsLXRl c3Qvc3VpdGUvc3lzX3ZhcnMvdC9pbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1Z19iYXNpYy50 ZXN0CiAgICBtb2RpZmllZDoKICAgICAgaW5jbHVkZS9teV9nbG9iYWwuaAogICAgICBteXNxbC10 ZXN0L3N1aXRlL3N5c192YXJzL3IvYWxsX3ZhcnMucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3Vp dGUvc3lzX3ZhcnMvci9jaGFyYWN0ZXJfc2V0c19kaXJfYmFzaWMucmVzdWx0CiAgICAgIG15c3Fs LXRlc3Qvc3VpdGUvc3lzX3ZhcnMvci9wbHVnaW5fZGlyX2Jhc2ljLnJlc3VsdAogICAgICBteXNx bC10ZXN0L3N1aXRlL3N5c192YXJzL3QvYWxsX3ZhcnMudGVzdAogICAgICBteXNxbC10ZXN0L3N1 aXRlL3N5c192YXJzL3QvY2hhcmFjdGVyX3NldHNfZGlyX2Jhc2ljLnRlc3QKICAgICAgc2NyaXB0 cy9teXNxbGRfc2FmZS5zaAogICAgICBzcWwvbXlzcWxkLmNjCiAgICAgIHNxbC9zcWxfcGx1Z2lu LmNjCiAgICAgIHNxbC9zcWxfdWRmLmNjCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L2V4 dHJhL3JwbF90ZXN0cy9ycGxfc3RhcnRfc3RvcF9zbGF2ZS50ZXN0JwotLS0gYS9teXNxbC10ZXN0 L2V4dHJhL3JwbF90ZXN0cy9ycGxfc3RhcnRfc3RvcF9zbGF2ZS50ZXN0CTIwMTAtMTItMTkgMTc6 MTU6MTIgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9leHRyYS9ycGxfdGVzdHMvcnBsX3N0YXJ0X3N0 b3Bfc2xhdmUudGVzdAkyMDEyLTAxLTE3IDIyOjE2OjE5ICswMDAwCkBAIC0xNzcsMyArMTc3LDM2 IEBAIFVOTE9DSyBUQUJMRVM7CiAtLWNvbm5lY3Rpb24gbWFzdGVyCiBEUk9QIFRBQkxFIHQxOwog c3luY19zbGF2ZV93aXRoX21hc3RlcjsKKworIworIyBidWcjMzU5Mzg2OS02NDAzNSB1bmluaXRp YWxpemVkIGV2ZW50X2Nvb3JkaW5hdGVzIGluc3RhbmNlIGNyYXNoZXMgc2VydmVyCisjIFRlc3Rp bmcgaG93IG91dCBvZiB2YWxpZCByYW5nZSBwb3NpdGlvbiB2YWx1ZSBpcyBoYW5kbGVkIHdpdGgg YW4gZXJyb3IuCisjCisKKy0tY29ubmVjdGlvbiBtYXN0ZXIKK1JFU0VUIE1BU1RFUjsKK2xldCAk bWFzdGVyX3Bvcz0gcXVlcnlfZ2V0X3ZhbHVlKFNIT1cgTUFTVEVSIFNUQVRVUywgUG9zaXRpb24s IDEpOworbGV0ICRtYXN0ZXJfcG9zPSBgU0VMRUNUICRtYXN0ZXJfcG9zICsgMWA7CisKKy0tY29u bmVjdGlvbiBzbGF2ZQorLS1zb3VyY2UgaW5jbHVkZS9zdG9wX3NsYXZlLmluYworLS1yZXBsYWNl X3JlZ2V4IC9bMC05XSsvTUFTVEVSX1BPUy8KK2V2YWwgQ0hBTkdFIE1BU1RFUiBUTyBtYXN0ZXJf bG9nX3Bvcz0kbWFzdGVyX3BvczsKKworU1RBUlQgU0xBVkU7CisjIEVSX01BU1RFUl9GQVRBTF9F UlJPUl9SRUFESU5HX0JJTkxPRyAxMjM2CistLWxldCAkc2xhdmVfcGFyYW09TGFzdF9JT19FcnJu bworLS1sZXQgJHNsYXZlX3BhcmFtX3ZhbHVlPTEyMzYKKy0tc291cmNlIGluY2x1ZGUvd2FpdF9m b3Jfc2xhdmVfcGFyYW0uaW5jCisKKy0tbGV0ICRzbGF2ZV9pb19lcnJvcl9yZXBsYWNlPSAvIGF0 IFswLTldKi8gYXQgWFhYLyAvXC5cLyptYXN0ZXItYmluL21hc3Rlci1iaW4vCistLWxldCAkc3Rh dHVzX2l0ZW1zPSBMYXN0X0lPX0Vycm5vLCBMYXN0X0lPX0Vycm9yCistLXNvdXJjZSBpbmNsdWRl L3Nob3dfc2xhdmVfc3RhdHVzLmluYworCistLXNvdXJjZSBpbmNsdWRlL3N0b3Bfc2xhdmUuaW5j CitSRVNFVCBTTEFWRTsKKworLS1jb25uZWN0aW9uIG1hc3RlcgorUkVTRVQgTUFTVEVSOworCisj IFNsYXZlIGlzIHN0b3BwZWQgYnkgYnVnIzM1OTM4NjktNjQwMzUgdGVzdHMuCgo9PT0gbW9kaWZp ZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfY2FudF9yZWFkX2V2ZW50X2luY2lk ZW50LnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfY2FudF9yZWFkX2V2 ZW50X2luY2lkZW50LnJlc3VsdAkyMDExLTEwLTI3IDE0OjE0OjQxICswMDAwCisrKyBiL215c3Fs LXRlc3Qvc3VpdGUvcnBsL3IvcnBsX2NhbnRfcmVhZF9ldmVudF9pbmNpZGVudC5yZXN1bHQJMjAx Mi0wMS0xNyAyMjoxNjoxOSArMDAwMApAQCAtMTEsNyArMTEsNyBAQCByZXNldCBzbGF2ZTsKIHN0 YXJ0IHNsYXZlOwogaW5jbHVkZS93YWl0X2Zvcl9zbGF2ZV9wYXJhbS5pbmMgW0xhc3RfSU9fRXJy bm9dCiBMYXN0X0lPX0Vycm5vID0gJzEyMzYnCi1MYXN0X0lPX0Vycm9yID0gJ0dvdCBmYXRhbCBl cnJvciAxMjM2IGZyb20gbWFzdGVyIHdoZW4gcmVhZGluZyBkYXRhIGZyb20gYmluYXJ5IGxvZzog J2JpbmxvZyB0cnVuY2F0ZWQgaW4gdGhlIG1pZGRsZSBvZiBldmVudDsgY29uc2lkZXIgb3V0IG9m IGRpc2sgc3BhY2Ugb24gbWFzdGVyOyB0aGUgbGFzdCBldmVudCB3YXMgcmVhZCBmcm9tICcuL21h c3Rlci1iaW4uMDAwMDAxJyBhdCAzMTYsIHRoZSBsYXN0IGJ5dGUgcmVhZCB3YXMgcmVhZCBmcm9t ICcuL21hc3Rlci1iaW4uMDAwMDAxJyBhdCAzMzUuJycKK0xhc3RfSU9fRXJyb3IgPSAnR290IGZh dGFsIGVycm9yIDEyMzYgZnJvbSBtYXN0ZXIgd2hlbiByZWFkaW5nIGRhdGEgZnJvbSBiaW5hcnkg bG9nOiAnYmlubG9nIHRydW5jYXRlZCBpbiB0aGUgbWlkZGxlIG9mIGV2ZW50OyBjb25zaWRlciBv dXQgb2YgZGlzayBzcGFjZSBvbiBtYXN0ZXI7IHRoZSBzdGFydCBldmVudCBwb3NpdGlvbiBmcm9t ICcnIGF0IFhYWCwgdGhlIGxhc3QgZXZlbnQgd2FzIHJlYWQgZnJvbSAnbWFzdGVyLWJpbi4wMDAw MDEnIGF0IFhYWCwgdGhlIGxhc3QgYnl0ZSByZWFkIHdhcyByZWFkIGZyb20gJ21hc3Rlci1iaW4u MDAwMDAxJyBhdCBYWFguJycKIHJlc2V0IG1hc3RlcjsKIHN0b3Agc2xhdmU7CiByZXNldCBzbGF2 ZTsKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9sb2dfcG9z LnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfbG9nX3Bvcy5yZXN1bHQJ MjAxMi0wMS0wNCAxNToxNjoxNyArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL3JwbC9yL3Jw bF9sb2dfcG9zLnJlc3VsdAkyMDEyLTAxLTE3IDIyOjE2OjE5ICswMDAwCkBAIC05LDcgKzksNyBA QCBjaGFuZ2UgbWFzdGVyIHRvIG1hc3Rlcl9sb2dfcG9zPU1BU1RFUl9MCiBSZWFkX01hc3Rlcl9M b2dfUG9zID0gJzc1Jwogc3RhcnQgc2xhdmU7CiBpbmNsdWRlL3dhaXRfZm9yX3NsYXZlX2lvX2Vy cm9yLmluYyBbZXJybm89MTIzNl0KLUxhc3RfSU9fRXJyb3IgPSAnR290IGZhdGFsIGVycm9yIDEy MzYgZnJvbSBtYXN0ZXIgd2hlbiByZWFkaW5nIGRhdGEgZnJvbSBiaW5hcnkgbG9nOiAnbG9nIGV2 ZW50IGVudHJ5IGV4Y2VlZGVkIG1heF9hbGxvd2VkX3BhY2tldDsgSW5jcmVhc2UgbWF4X2FsbG93 ZWRfcGFja2V0IG9uIG1hc3RlcjsgdGhlIGxhc3QgZXZlbnQgd2FzIHJlYWQgZnJvbSAnbWFzdGVy LWJpbi4wMDAwMDEnIGF0IFhYWCwgdGhlIGxhc3QgYnl0ZSByZWFkIHdhcyByZWFkIGZyb20gJ21h c3Rlci1iaW4uMDAwMDAxJyBhdCBYWFguJycKK0xhc3RfSU9fRXJyb3IgPSAnR290IGZhdGFsIGVy cm9yIDEyMzYgZnJvbSBtYXN0ZXIgd2hlbiByZWFkaW5nIGRhdGEgZnJvbSBiaW5hcnkgbG9nOiAn bG9nIGV2ZW50IGVudHJ5IGV4Y2VlZGVkIG1heF9hbGxvd2VkX3BhY2tldDsgSW5jcmVhc2UgbWF4 X2FsbG93ZWRfcGFja2V0IG9uIG1hc3RlcjsgdGhlIHN0YXJ0IGV2ZW50IHBvc2l0aW9uIGZyb20g J21hc3Rlci1iaW4uMDAwMDAxJyBhdCBYWFgsIHRoZSBsYXN0IGV2ZW50IHdhcyByZWFkIGZyb20g J21hc3Rlci1iaW4uMDAwMDAxJyBhdCBYWFgsIHRoZSBsYXN0IGJ5dGUgcmVhZCB3YXMgcmVhZCBm cm9tICdtYXN0ZXItYmluLjAwMDAwMScgYXQgWFhYLicnCiBpbmNsdWRlL3N0b3Bfc2xhdmVfc3Fs LmluYwogc2hvdyBtYXN0ZXIgc3RhdHVzOwogRmlsZQlQb3NpdGlvbglCaW5sb2dfRG9fREIJQmlu bG9nX0lnbm9yZV9EQgoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvcnBsL3Iv cnBsX21hbnVhbF9jaGFuZ2VfaW5kZXhfZmlsZS5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvc3Vp dGUvcnBsL3IvcnBsX21hbnVhbF9jaGFuZ2VfaW5kZXhfZmlsZS5yZXN1bHQJMjAxMi0wMS0wNCAx NToxNjoxNyArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9tYW51YWxfY2hh bmdlX2luZGV4X2ZpbGUucmVzdWx0CTIwMTItMDEtMTcgMjI6MTY6MTkgKzAwMDAKQEAgLTUsNyAr NSw3IEBAIENSRUFURSBUQUJMRSB0MShjMSBJTlQpOwogRkxVU0ggTE9HUzsKIGNhbGwgbXRyLmFk ZF9zdXBwcmVzc2lvbignR290IGZhdGFsIGVycm9yIDEyMzYgZnJvbSBtYXN0ZXIgd2hlbiByZWFk aW5nIGRhdGEgZnJvbSBiaW5hcnkgbG9nOiAuKmNvdWxkIG5vdCBmaW5kIG5leHQgbG9nJyk7CiBp bmNsdWRlL3dhaXRfZm9yX3NsYXZlX2lvX2Vycm9yLmluYyBbZXJybm89MTIzNl0KLUxhc3RfSU9f RXJyb3IgPSAnR290IGZhdGFsIGVycm9yIDEyMzYgZnJvbSBtYXN0ZXIgd2hlbiByZWFkaW5nIGRh dGEgZnJvbSBiaW5hcnkgbG9nOiAnY291bGQgbm90IGZpbmQgbmV4dCBsb2c7IHRoZSBsYXN0IGV2 ZW50IHdhcyByZWFkIGZyb20gJ21hc3Rlci1iaW4uMDAwMDAyJyBhdCBYWFgsIHRoZSBsYXN0IGJ5 dGUgcmVhZCB3YXMgcmVhZCBmcm9tICdtYXN0ZXItYmluLjAwMDAwMicgYXQgWFhYLicnCitMYXN0 X0lPX0Vycm9yID0gJ0dvdCBmYXRhbCBlcnJvciAxMjM2IGZyb20gbWFzdGVyIHdoZW4gcmVhZGlu ZyBkYXRhIGZyb20gYmluYXJ5IGxvZzogJ2NvdWxkIG5vdCBmaW5kIG5leHQgbG9nOyB0aGUgc3Rh cnQgZXZlbnQgcG9zaXRpb24gZnJvbSAnbWFzdGVyLWJpbi4wMDAwMDEnIGF0IFhYWCwgdGhlIGxh c3QgZXZlbnQgd2FzIHJlYWQgZnJvbSAnbWFzdGVyLWJpbi4wMDAwMDInIGF0IFhYWCwgdGhlIGxh c3QgYnl0ZSByZWFkIHdhcyByZWFkIGZyb20gJ21hc3Rlci1iaW4uMDAwMDAyJyBhdCBYWFguJycK IENSRUFURSBUQUJMRSB0MihjMSBJTlQpOwogRkxVU0ggTE9HUzsKIENSRUFURSBUQUJMRSB0Myhj MSBJTlQpOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX3Bh Y2tldC5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX3BhY2tldC5yZXN1 bHQJMjAxMi0wMS0wNCAxNToxNjoxNyArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL3JwbC9y L3JwbF9wYWNrZXQucmVzdWx0CTIwMTItMDEtMTcgMjI6MTY6MTkgKzAwMDAKQEAgLTM3LDcgKzM3 LDcgQEAgRFJPUCBUQUJMRSB0MTsKIENSRUFURSBUQUJMRSB0MSAoZjEgaW50IFBSSU1BUlkgS0VZ LCBmMiBMT05HVEVYVCwgZjMgTE9OR1RFWFQpIEVOR0lORT1NeUlTQU07CiBJTlNFUlQgSU5UTyB0 MShmMSwgZjIsIGYzKSBWQUxVRVMoMSwgUkVQRUFUKCdhJywgQEBnbG9iYWwubWF4X2FsbG93ZWRf cGFja2V0KSwgUkVQRUFUKCdiJywgQEBnbG9iYWwubWF4X2FsbG93ZWRfcGFja2V0KSk7CiBpbmNs dWRlL3dhaXRfZm9yX3NsYXZlX2lvX2Vycm9yLmluYyBbZXJybm89MTIzNl0KLUxhc3RfSU9fRXJy b3IgPSAnR290IGZhdGFsIGVycm9yIDEyMzYgZnJvbSBtYXN0ZXIgd2hlbiByZWFkaW5nIGRhdGEg ZnJvbSBiaW5hcnkgbG9nOiAnbG9nIGV2ZW50IGVudHJ5IGV4Y2VlZGVkIG1heF9hbGxvd2VkX3Bh Y2tldDsgSW5jcmVhc2UgbWF4X2FsbG93ZWRfcGFja2V0IG9uIG1hc3RlcjsgdGhlIGxhc3QgZXZl bnQgd2FzIHJlYWQgZnJvbSAnbWFzdGVyLWJpbi4wMDAwMDEnIGF0IFhYWCwgdGhlIGxhc3QgYnl0 ZSByZWFkIHdhcyByZWFkIGZyb20gJ21hc3Rlci1iaW4uMDAwMDAxJyBhdCBYWFguJycKK0xhc3Rf SU9fRXJyb3IgPSAnR290IGZhdGFsIGVycm9yIDEyMzYgZnJvbSBtYXN0ZXIgd2hlbiByZWFkaW5n IGRhdGEgZnJvbSBiaW5hcnkgbG9nOiAnbG9nIGV2ZW50IGVudHJ5IGV4Y2VlZGVkIG1heF9hbGxv d2VkX3BhY2tldDsgSW5jcmVhc2UgbWF4X2FsbG93ZWRfcGFja2V0IG9uIG1hc3RlcjsgdGhlIHN0 YXJ0IGV2ZW50IHBvc2l0aW9uIGZyb20gJycgYXQgWFhYLCB0aGUgbGFzdCBldmVudCB3YXMgcmVh ZCBmcm9tICdtYXN0ZXItYmluLjAwMDAwMScgYXQgWFhYLCB0aGUgbGFzdCBieXRlIHJlYWQgd2Fz IHJlYWQgZnJvbSAnbWFzdGVyLWJpbi4wMDAwMDEnIGF0IFhYWC4nJwogU1RPUCBTTEFWRTsKIFJF U0VUIFNMQVZFOwogUkVTRVQgTUFTVEVSOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qv c3VpdGUvcnBsL3IvcnBsX3N0bV9zdGFydF9zdG9wX3NsYXZlLnJlc3VsdCcKLS0tIGEvbXlzcWwt dGVzdC9zdWl0ZS9ycGwvci9ycGxfc3RtX3N0YXJ0X3N0b3Bfc2xhdmUucmVzdWx0CTIwMTEtMDMt MTYgMTY6Mzg6MzAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfc3RtX3N0 YXJ0X3N0b3Bfc2xhdmUucmVzdWx0CTIwMTItMDEtMTcgMjI6MTY6MTkgKzAwMDAKQEAgLTY5LDYg KzY5LDE2IEBAIGluY2x1ZGUvd2FpdF9mb3Jfc2xhdmVfdG9fc3RvcC5pbmMKIGluY2x1ZGUvc3Rh cnRfc2xhdmUuaW5jCiAjIENsZWFuIHVwCiBEUk9QIFRBQkxFIHQxOworUkVTRVQgTUFTVEVSOwor aW5jbHVkZS9zdG9wX3NsYXZlLmluYworQ0hBTkdFIE1BU1RFUiBUTyBtYXN0ZXJfbG9nX3Bvcz1N QVNURVJfUE9TOworU1RBUlQgU0xBVkU7CitpbmNsdWRlL3dhaXRfZm9yX3NsYXZlX3BhcmFtLmlu YyBbTGFzdF9JT19FcnJub10KK0xhc3RfSU9fRXJybm8gPSAnMTIzNicKK0xhc3RfSU9fRXJyb3Ig PSAnR290IGZhdGFsIGVycm9yIDEyMzYgZnJvbSBtYXN0ZXIgd2hlbiByZWFkaW5nIGRhdGEgZnJv bSBiaW5hcnkgbG9nOiAnQ2xpZW50IHJlcXVlc3RlZCBtYXN0ZXIgdG8gc3RhcnQgcmVwbGljYXRp b24gZnJvbSBpbXBvc3NpYmxlIHBvc2l0aW9uOyB0aGUgc3RhcnQgZXZlbnQgcG9zaXRpb24gZnJv bSAnbWFzdGVyLWJpbi4wMDAwMDEnIGF0IFhYWCwgdGhlIGxhc3QgZXZlbnQgd2FzIHJlYWQgZnJv bSAnbWFzdGVyLWJpbi4wMDAwMDEnIGF0IFhYWCwgdGhlIGxhc3QgYnl0ZSByZWFkIHdhcyByZWFk IGZyb20gJ21hc3Rlci1iaW4uMDAwMDAxJyBhdCBYWFguJycKK2luY2x1ZGUvc3RvcF9zbGF2ZS5p bmMKK1JFU0VUIFNMQVZFOworUkVTRVQgTUFTVEVSOwogU0VUIEBAZ2xvYmFsLmlubm9kYl9mbHVz aF9sb2dfYXRfdHJ4X2NvbW1pdD0gQG9sZF9pbm5vZGJfZmx1c2hfbG9nX2F0X3RyeF9jb21taXQ7 CiBjYWxsIG10ci5hZGRfc3VwcHJlc3Npb24oIlNsYXZlIFNRTC4qUmVxdWVzdCB0byBzdG9wIHNs YXZlIFNRTCBUaHJlYWQgcmVjZWl2ZWQgd2hpbGUgYXBwbHlpbmcgYSBncm91cCB0aGF0IGhhcyBu b24tdHJhbnNhY3Rpb25hbCBjaGFuZ2VzOyB3YWl0aW5nIGZvciBjb21wbGV0aW9uIG9mIHRoZSBn cm91cCIpOwogU0VUIEBAZ2xvYmFsLmlubm9kYl9mbHVzaF9sb2dfYXRfdHJ4X2NvbW1pdD0gQG9s ZF9pbm5vZGJfZmx1c2hfbG9nX2F0X3RyeF9jb21taXQ7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlz cWwtdGVzdC9zdWl0ZS9ycGwvdC9ycGxfY2FudF9yZWFkX2V2ZW50X2luY2lkZW50LnRlc3QnCi0t LSBhL215c3FsLXRlc3Qvc3VpdGUvcnBsL3QvcnBsX2NhbnRfcmVhZF9ldmVudF9pbmNpZGVudC50 ZXN0CTIwMTEtMTAtMjcgMTQ6MTQ6NDEgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9ycGwv dC9ycGxfY2FudF9yZWFkX2V2ZW50X2luY2lkZW50LnRlc3QJMjAxMi0wMS0xNyAyMjoxNjoxOSAr MDAwMApAQCAtNTEsNiArNTEsNyBAQCBzdGFydCBzbGF2ZTsKIC0tbGV0ICRzbGF2ZV9wYXJhbV92 YWx1ZT0xMjM2CiAtLXNvdXJjZSBpbmNsdWRlL3dhaXRfZm9yX3NsYXZlX3BhcmFtLmluYwogCist LWxldCAkc2xhdmVfaW9fZXJyb3JfcmVwbGFjZT0gLyBhdCBbMC05XSovIGF0IFhYWC8gL1wuXC8q bWFzdGVyLWJpbi9tYXN0ZXItYmluLwogLS1sZXQgJHN0YXR1c19pdGVtcz0gTGFzdF9JT19FcnJu bywgTGFzdF9JT19FcnJvcgogLS1zb3VyY2UgaW5jbHVkZS9zaG93X3NsYXZlX3N0YXR1cy5pbmMK IAoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvcnBsL3QvcnBsX3N0bV9zdGFy dF9zdG9wX3NsYXZlLnRlc3QnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvcnBsL3QvcnBsX3N0bV9z dGFydF9zdG9wX3NsYXZlLnRlc3QJMjAxMS0wMy0xNiAxNjozODozMCArMDAwMAorKysgYi9teXNx bC10ZXN0L3N1aXRlL3JwbC90L3JwbF9zdG1fc3RhcnRfc3RvcF9zbGF2ZS50ZXN0CTIwMTItMDEt MTcgMjI6MTY6MTkgKzAwMDAKQEAgLTIyLDUgKzIyLDUgQEAgU0VUIEBAZ2xvYmFsLmlubm9kYl9m bHVzaF9sb2dfYXRfdHJ4X2NvbQogY2FsbCBtdHIuYWRkX3N1cHByZXNzaW9uKCJTbGF2ZSBTUUwu KlJlcXVlc3QgdG8gc3RvcCBzbGF2ZSBTUUwgVGhyZWFkIHJlY2VpdmVkIHdoaWxlIGFwcGx5aW5n IGEgZ3JvdXAgdGhhdCBoYXMgbm9uLXRyYW5zYWN0aW9uYWwgY2hhbmdlczsgd2FpdGluZyBmb3Ig Y29tcGxldGlvbiBvZiB0aGUgZ3JvdXAiKTsKIC0tY29ubmVjdGlvbiBtYXN0ZXIKIFNFVCBAQGds b2JhbC5pbm5vZGJfZmx1c2hfbG9nX2F0X3RyeF9jb21taXQ9IEBvbGRfaW5ub2RiX2ZsdXNoX2xv Z19hdF90cnhfY29tbWl0OwotCistLWxldCAkcnBsX29ubHlfcnVubmluZ190aHJlYWRzPSAxCiAt LXNvdXJjZSBpbmNsdWRlL3JwbF9lbmQuaW5jCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL2xvZ19l dmVudC5oJwotLS0gYS9zcWwvbG9nX2V2ZW50LmgJMjAxMS0xMS0xMSAxNzoyNjo1NiArMDAwMAor KysgYi9zcWwvbG9nX2V2ZW50LmgJMjAxMi0wMS0xNyAyMjoxNjoxOSArMDAwMApAQCAtNzE3LDEx ICs3MTcsMTEgQEAgdHlwZWRlZiBzdHJ1Y3Qgc3RfcHJpbnRfZXZlbnRfaW5mbwogICBTdWNoIGlk ZW50aWZpZXIgaXMgbm90IHlldCB1bmlxdWUgZ2VuZXJhbGx5IGFzIHRoZSBldmVudCBvcmlnaW5h dGluZyBtYXN0ZXIKICAgaXMgcmVzZXRhYmxlLiBBbHNvIHRoZSBjcmFzaGVkIG1hc3RlciBjYW4g YmUgcmVwbGFjZWQgd2l0aCBzb21lIG90aGVyLgogKi8KLXN0cnVjdCBldmVudF9jb29yZGluYXRl cwordHlwZWRlZiBzdHJ1Y3QgZXZlbnRfY29vcmRpbmF0ZXMKIHsKICAgY2hhciAqIGZpbGVfbmFt ZTsgLy8gYmlubG9nIGZpbGUgbmFtZSAoZGlyZWN0b3JpZXMgc3RyaXBwZWQpCiAgIG15X29mZl90 ICBwb3M7ICAgICAgIC8vIGV2ZW50J3MgcG9zaXRpb24gaW4gdGhlIGJpbmxvZyBmaWxlCi19Owor fSBMT0dfUE9TX0NPT1JEOwogCiAvKioKICAgQGNsYXNzIExvZ19ldmVudAoKPT09IG1vZGlmaWVk IGZpbGUgJ3NxbC9zaGFyZS9lcnJtc2ctdXRmOC50eHQnCi0tLSBhL3NxbC9zaGFyZS9lcnJtc2ct dXRmOC50eHQJMjAxMS0xMC0xMiAxMjowNzoxNSArMDAwMAorKysgYi9zcWwvc2hhcmUvZXJybXNn LXV0ZjgudHh0CTIwMTItMDEtMTcgMjI6MTY6MTkgKzAwMDAKQEAgLTQ3MDEsMTQgKzQ3MDEsMTQg QEAgRVJfTk9UX1NVUFBPUlRFRF9ZRVQgNDIwMDAgCiAgICAgICAgIHNwYSAiRXN0YSB2ZXJzacOz biBkZSBNeVNRTCBubyBzb3BvcnRhIHRvZGF2aWEgJyVzJyIKICAgICAgICAgc3dlICJEZW5uYSB2 ZXJzaW9uIGF2IE15U1FMIGthbiDDpG5udSBpbnRlIHV0ZsO2cmEgJyVzJyIKIEVSX01BU1RFUl9G QVRBTF9FUlJPUl9SRUFESU5HX0JJTkxPRyAgCi0gICAgICAgIG5sYSAiS3JlZWcgZmF0YWxlIGZv dXQgJWQ6ICclLS4yNTZzJyB2YW4gbWFzdGVyIHRpamRlbnMgbGV6ZW4gdmFuIGRhdGEgdWl0IGJp bmFpcmUgbG9nIgotICAgICAgICBlbmcgIkdvdCBmYXRhbCBlcnJvciAlZCBmcm9tIG1hc3RlciB3 aGVuIHJlYWRpbmcgZGF0YSBmcm9tIGJpbmFyeSBsb2c6ICclLS4yNTZzJyIKLSAgICAgICAgZ2Vy ICJTY2h3ZXJlciBGZWhsZXIgJWQ6ICclLS4yNTZzIHZvbSBNYXN0ZXIgYmVpbSBMZXNlbiBkZXMg Ymluw6RyZW4gTG9ncyIKLSAgICAgICAgaXRhICJFcnJvcmUgZmF0YWxlICVkOiAnJS0uMjU2cycg ZGFsIG1hc3RlciBsZWdnZW5kbyBpIGRhdGkgZGFsIGxvZyBiaW5hcmlvIgotICAgICAgICBwb3Ig Ik9idGV2ZSBmYXRhbCBlcnJvICVkOiAnJS0uMjU2cycgZG8gbWFzdGVyIHF1YW5kbyBsZW5kbyBk YWRvcyBkbyBiaW5hcnkgbG9nIgotICAgICAgICBydXMgItCf0L7Qu9GD0YfQtdC90LAg0L3QtdC4 0YHQv9GA0LDQstC40LzQsNGPINC+0YjQuNCx0LrQsCAlZDogJyUtLjI1NnMnINC+0YIg0LPQvtC7 0L7QstC90L7Qs9C+INGB0LXRgNCy0LXRgNCwINCyINC/0YDQvtGG0LXRgdGB0LUg0LLRi9Cx0L7R gNC60Lgg0LTQsNC90L3Ri9GFINC40Lcg0LTQstC+0LjRh9C90L7Qs9C+INC20YPRgNC90LDQu9Cw IgotICAgICAgICBzcGEgIlJlY2liacOzIGZhdGFsIGVycm9yICVkOiAnJS0uMjU2cycgZGVsIG1h c3RlciBjdWFuZG8gbGV5ZW5kbyBkYXRvcyBkZWwgYmluYXJ5IGxvZyIKLSAgICAgICAgc3dlICJG aWNrIGZhdGFsdCBmZWwgJWQ6ICclLS4yNTZzJyBmcsOlbiBtYXN0ZXIgdmlkIGzDpHNuaW5nIGF2 IGJpbsOkcmxvZ2dlbiIKKyAgICAgICAgbmxhICJLcmVlZyBmYXRhbGUgZm91dCAlZDogJyUtLjUx MnMnIHZhbiBtYXN0ZXIgdGlqZGVucyBsZXplbiB2YW4gZGF0YSB1aXQgYmluYWlyZSBsb2ciCisg ICAgICAgIGVuZyAiR290IGZhdGFsIGVycm9yICVkIGZyb20gbWFzdGVyIHdoZW4gcmVhZGluZyBk YXRhIGZyb20gYmluYXJ5IGxvZzogJyUtLjUxMnMnIgorICAgICAgICBnZXIgIlNjaHdlcmVyIEZl aGxlciAlZDogJyUtLjUxMnMgdm9tIE1hc3RlciBiZWltIExlc2VuIGRlcyBiaW7DpHJlbiBMb2dz IgorICAgICAgICBpdGEgIkVycm9yZSBmYXRhbGUgJWQ6ICclLS41MTJzJyBkYWwgbWFzdGVyIGxl Z2dlbmRvIGkgZGF0aSBkYWwgbG9nIGJpbmFyaW8iCisgICAgICAgIHBvciAiT2J0ZXZlIGZhdGFs IGVycm8gJWQ6ICclLS41MTJzJyBkbyBtYXN0ZXIgcXVhbmRvIGxlbmRvIGRhZG9zIGRvIGJpbmFy eSBsb2ciCisgICAgICAgIHJ1cyAi0J/QvtC70YPRh9C10L3QsCDQvdC10LjRgdC/0YDQsNCy0LjQ vNCw0Y8g0L7RiNC40LHQutCwICVkOiAnJS0uNTEycycg0L7RgiDQs9C+0LvQvtCy0L3QvtCz0L4g 0YHQtdGA0LLQtdGA0LAg0LIg0L/RgNC+0YbQtdGB0YHQtSDQstGL0LHQvtGA0LrQuCDQtNCw0L3Q vdGL0YUg0LjQtyDQtNCy0L7QuNGH0L3QvtCz0L4g0LbRg9GA0L3QsNC70LAiCisgICAgICAgIHNw YSAiUmVjaWJpw7MgZmF0YWwgZXJyb3IgJWQ6ICclLS41MTJzJyBkZWwgbWFzdGVyIGN1YW5kbyBs ZXllbmRvIGRhdG9zIGRlbCBiaW5hcnkgbG9nIgorICAgICAgICBzd2UgIkZpY2sgZmF0YWx0IGZl bCAlZDogJyUtLjUxMnMnIGZyw6VuIG1hc3RlciB2aWQgbMOkc25pbmcgYXYgYmluw6RybG9nZ2Vu IgogRVJfU0xBVkVfSUdOT1JFRF9UQUJMRSAgCiAgICAgICAgIGVuZyAiU2xhdmUgU1FMIHRocmVh ZCBpZ25vcmVkIHRoZSBxdWVyeSBiZWNhdXNlIG9mIHJlcGxpY2F0ZS0qLXRhYmxlIHJ1bGVzIgog ICAgICAgICBnZXIgIlNsYXZlLVNRTC1UaHJlYWQgaGF0IGRpZSBBYmZyYWdlIGF1ZmdydW5kIHZv biByZXBsaWNhdGUtKi10YWJsZS1SZWdlbG4gaWdub3JpZXJ0IgoKPT09IG1vZGlmaWVkIGZpbGUg J3NxbC9zcWxfcmVwbC5jYycKLS0tIGEvc3FsL3NxbF9yZXBsLmNjCTIwMTEtMTItMTQgMTM6MzM6 NDMgKzAwMDAKKysrIGIvc3FsL3NxbF9yZXBsLmNjCTIwMTItMDEtMTcgMjI6MTY6MTkgKzAwMDAK QEAgLTQ0Nyw4ICs0NDcsNyBAQCB2b2lkIG15c3FsX2JpbmxvZ19zZW5kKFRIRCogdGhkLCBjaGFy KiBsCiAgIFN0cmluZyogcGFja2V0ID0gJnRoZC0+cGFja2V0OwogICBpbnQgZXJyb3I7CiAgIGNv bnN0IGNoYXIgKmVycm1zZyA9ICJVbmtub3duIGVycm9yIjsKLSAgY29uc3QgY2hhciAqZm10PSAi JXM7IHRoZSBsYXN0IGV2ZW50IHdhcyByZWFkIGZyb20gJyVzJyBhdCAlcywgdGhlIGxhc3QgYnl0 ZSByZWFkIHdhcyByZWFkIGZyb20gJyVzJyBhdCAlcy4iOwotICBjaGFyIGxsYnVmZjFbMjJdLCBs bGJ1ZmYyWzIyXTsKKyAgY2hhciBsbGJ1ZmYwWzIyXSwgbGxidWZmMVsyMl0sIGxsYnVmZjJbMjJd OwogICBjaGFyIGVycm9yX3RleHRbTUFYX1NMQVZFX0VSUk1TR107IC8vIHRvIGJlIHNlbmQgdG8g c2xhdmUgdmlhIG15X21lc3NhZ2UoKQogICBORVQqIG5ldCA9ICZ0aGQtPm5ldDsKICAgbXlzcWxf bXV0ZXhfdCAqbG9nX2xvY2s7CkBAIC00NjgsMTYgKzQ2NywxNSBAQCB2b2lkIG15c3FsX2Jpbmxv Z19zZW5kKFRIRCogdGhkLCBjaGFyKiBsCiAgICovCiAgIHVsb25nbG9uZyBoZWFydGJlYXRfcGVy aW9kPSBnZXRfaGVhcnRiZWF0X3BlcmlvZCh0aGQpOwogICBzdHJ1Y3QgdGltZXNwZWMgaGVhcnRi ZWF0X2J1ZjsKLSAgc3RydWN0IGV2ZW50X2Nvb3JkaW5hdGVzIGNvb3JkX2J1ZjsKICAgc3RydWN0 IHRpbWVzcGVjICpoZWFydGJlYXRfdHM9IE5VTEw7Ci0gIHN0cnVjdCBldmVudF9jb29yZGluYXRl cyAqY29vcmQ9IE5VTEw7CisgIGNvbnN0IExPR19QT1NfQ09PUkQgc3RhcnRfY29vcmQ9IHsgbG9n X2lkZW50LCBwb3MgfSwKKyAgICAqcF9zdGFydF9jb29yZD0gJnN0YXJ0X2Nvb3JkOworICBMT0df UE9TX0NPT1JEIGNvb3JkX2J1Zj0geyBsb2dfZmlsZV9uYW1lLCBCSU5fTE9HX0hFQURFUl9TSVpF IH0sCisgICAgKnBfY29vcmQ9ICZjb29yZF9idWY7CiAgIGlmIChoZWFydGJlYXRfcGVyaW9kICE9 IExMKDApKQogICB7CiAgICAgaGVhcnRiZWF0X3RzPSAmaGVhcnRiZWF0X2J1ZjsKICAgICBzZXRf dGltZXNwZWNfbnNlYygqaGVhcnRiZWF0X3RzLCAwKTsKLSAgICBjb29yZD0gJmNvb3JkX2J1ZjsK LSAgICBjb29yZC0+ZmlsZV9uYW1lPSBsb2dfZmlsZV9uYW1lOyAvLyBpbml0aWFsaXphdGlvbiBi YXNpbmcgb24gd2hhdCBzbGF2ZSByZW1lbWJlcnMKLSAgICBjb29yZC0+cG9zPSBwb3M7CiAgIH0K ICAgc3FsX3ByaW50X2luZm9ybWF0aW9uKCJTdGFydCBiaW5sb2dfZHVtcCB0byBzbGF2ZV9zZXJ2 ZXIoJWQpLCBwb3MoJXMsICVsdSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgdGhkLT5zZXJ2 ZXJfaWQsIGxvZ19pZGVudCwgKHVsb25nKXBvcyk7CkBAIC01OTcsNiArNTk1LDcgQEAgaW1wb3Nz aWJsZSBwb3NpdGlvbiI7CiAgICAgbXlzcWxfYmluX2xvZywgYW5kIGl0J3MgYWxyZWFkeSBpbml0 ZWQsIGFuZCBpdCB3aWxsIGJlIGRlc3Ryb3llZAogICAgIG9ubHkgYXQgc2h1dGRvd24pLgogICAq LworICBwX2Nvb3JkLT5wb3M9IHBvczsgLy8gdGhlIGZpcnN0IGhiIG1hdGNoZXMgdGhlIHNsYXZl J3MgbGFzdCBzZWVuIHZhbHVlCiAgIGxvZ19sb2NrPSBteXNxbF9iaW5fbG9nLmdldF9sb2dfbG9j aygpOwogICBsb2dfY29uZD0gbXlzcWxfYmluX2xvZy5nZXRfbG9nX2NvbmQoKTsKICAgaWYgKHBv cyA+IEJJTl9MT0dfSEVBREVSX1NJWkUpCkBAIC02OTQsOCArNjkzLDcgQEAgaW1wb3NzaWJsZSBw b3NpdGlvbiI7CiAgICAgICAvKgogICAgICAgICBsb2cncyBmaWxlbmFtZSBkb2VzIG5vdCBjaGFu Z2Ugd2hpbGUgaXQncyBhY3RpdmUKICAgICAgICovCi0gICAgICBpZiAoY29vcmQpCi0gICAgICAg IGNvb3JkLT5wb3M9IHVpbnQ0a29ycihwYWNrZXQtPnB0cigpICsgZXZfb2Zmc2V0ICsgTE9HX1BP U19PRkZTRVQpOworICAgICAgcF9jb29yZC0+cG9zPSB1aW50NGtvcnIocGFja2V0LT5wdHIoKSAr IGV2X29mZnNldCArIExPR19QT1NfT0ZGU0VUKTsKIAogICAgICAgZXZlbnRfdHlwZT0gKExvZ19l dmVudF90eXBlKSgoKnBhY2tldClbTE9HX0VWRU5UX09GRlNFVCtldl9vZmZzZXRdKTsKICAgICAg IERCVUdfRVhFQ1VURV9JRigiZHVtcF90aHJlYWRfd2FpdF9iZWZvcmVfc2VuZF94aWQiLApAQCAt ODUxLDggKzg0OSw3IEBAIGltcG9zc2libGUgcG9zaXRpb24iOwogCSAgLyogd2UgcmVhZCBzdWNj ZXNzZnVsbHksIHNvIHdlJ2xsIG5lZWQgdG8gc2VuZCBpdCB0byB0aGUgc2xhdmUgKi8KICAgICAg ICAgICBteXNxbF9tdXRleF91bmxvY2sobG9nX2xvY2spOwogCSAgcmVhZF9wYWNrZXQgPSAxOwot ICAgICAgICAgIGlmIChjb29yZCkKLSAgICAgICAgICAgIGNvb3JkLT5wb3M9IHVpbnQ0a29ycihw YWNrZXQtPnB0cigpICsgZXZfb2Zmc2V0ICsgTE9HX1BPU19PRkZTRVQpOworICAgICAgICAgIHBf Y29vcmQtPnBvcz0gdWludDRrb3JyKHBhY2tldC0+cHRyKCkgKyBldl9vZmZzZXQgKyBMT0dfUE9T X09GRlNFVCk7CiAgICAgICAgICAgZXZlbnRfdHlwZT0gKExvZ19ldmVudF90eXBlKSgoKnBhY2tl dClbTE9HX0VWRU5UX09GRlNFVCtldl9vZmZzZXRdKTsKIAkgIGJyZWFrOwogCkBAIC04NzQsMTYg Kzg3MSwxNiBAQCBpbXBvc3NpYmxlIHBvc2l0aW9uIjsKICAgICAgICAgICBzaWduYWxfY250PSBt eXNxbF9iaW5fbG9nLnNpZ25hbF9jbnQ7CiAgICAgICAgICAgZG8gCiAgICAgICAgICAgewotICAg ICAgICAgICAgaWYgKGNvb3JkKQorICAgICAgICAgICAgaWYgKGhlYXJ0YmVhdF9wZXJpb2QgIT0g MCkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgREJVR19BU1NFUlQoaGVhcnRiZWF0X3Rz ICYmIGhlYXJ0YmVhdF9wZXJpb2QgIT0gMCk7CisgICAgICAgICAgICAgIERCVUdfQVNTRVJUKGhl YXJ0YmVhdF90cyk7CiAgICAgICAgICAgICAgIHNldF90aW1lc3BlY19uc2VjKCpoZWFydGJlYXRf dHMsIGhlYXJ0YmVhdF9wZXJpb2QpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgdGhkLT5l bnRlcl9jb25kKGxvZ19jb25kLCBsb2dfbG9jaywKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiTWFzdGVyIGhhcyBzZW50IGFsbCBiaW5sb2cgdG8gc2xhdmU7ICIKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAid2FpdGluZyBmb3IgYmlubG9nIHRvIGJlIHVwZGF0ZWQiKTsKICAgICAg ICAgICAgIHJldD0gbXlzcWxfYmluX2xvZy53YWl0X2Zvcl91cGRhdGVfYmluX2xvZyh0aGQsIGhl YXJ0YmVhdF90cyk7Ci0gICAgICAgICAgICBEQlVHX0FTU0VSVChyZXQgPT0gMCB8fCAoaGVhcnRi ZWF0X3BlcmlvZCAhPSAwICYmIGNvb3JkICE9IE5VTEwpKTsKKyAgICAgICAgICAgIERCVUdfQVNT RVJUKHJldCA9PSAwIHx8IChoZWFydGJlYXRfcGVyaW9kICE9IDApKTsKICAgICAgICAgICAgIGlm IChyZXQgPT0gRVRJTUVET1VUIHx8IHJldCA9PSBFVElNRSkKICAgICAgICAgICAgIHsKICNpZm5k ZWYgREJVR19PRkYKQEAgLTkwMSw3ICs4OTgsNyBAQCBpbXBvc3NpYmxlIHBvc2l0aW9uIjsKICAg ICAgICAgICAgICAgICB0aGQtPmV4aXRfY29uZChvbGRfbXNnKTsKICAgICAgICAgICAgICAgICBn b3RvIGVycjsKICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICBpZiAoc2VuZF9oZWFydGJl YXRfZXZlbnQobmV0LCBwYWNrZXQsIGNvb3JkKSkKKyAgICAgICAgICAgICAgaWYgKHNlbmRfaGVh cnRiZWF0X2V2ZW50KG5ldCwgcGFja2V0LCBwX2Nvb3JkKSkKICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgIGVycm1zZyA9ICJGYWlsZWQgb24gbXlfbmV0X3dyaXRlKCkiOwogICAgICAg ICAgICAgICAgIG15X2Vycm5vPSBFUl9VTktOT1dOX0VSUk9SOwpAQCAtMTAxMiw4ICsxMDA5LDcg QEAgaW1wb3NzaWJsZSBwb3NpdGlvbiI7CiAJZ290byBlcnI7CiAgICAgICB9CiAKLSAgICAgIGlm IChjb29yZCkKLSAgICAgICAgY29vcmQtPmZpbGVfbmFtZT0gbG9nX2ZpbGVfbmFtZTsgLy8gcmVz ZXQgdG8gdGhlIG5leHQKKyAgICAgIHBfY29vcmQtPmZpbGVfbmFtZT0gbG9nX2ZpbGVfbmFtZTsg Ly8gcmVzZXQgdG8gdGhlIG5leHQKICAgICB9CiAgIH0KIApAQCAtMTAzOCw5ICsxMDM0LDEyIEBA IGVycjoKICAgICAgICBkZXRhaWxpbmcgdGhlIGZhdGFsIGVycm9yIG1lc3NhZ2Ugd2l0aCBjb29y ZGluYXRlcyAKICAgICAgICBvZiB0aGUgbGFzdCBwb3NpdGlvbiByZWFkLgogICAgICovCisgICAg Y29uc3QgY2hhciAqZm10PSAiJXM7IHRoZSBzdGFydCBldmVudCBwb3NpdGlvbiBmcm9tICclcycg YXQgJXMsIHRoZSBsYXN0IGV2ZW50IHdhcyByZWFkIGZyb20gJyVzJyBhdCAlcywgdGhlIGxhc3Qg Ynl0ZSByZWFkIHdhcyByZWFkIGZyb20gJyVzJyBhdCAlcy4iOwogICAgIG15X3NucHJpbnRmKGVy cm9yX3RleHQsIHNpemVvZihlcnJvcl90ZXh0KSwgZm10LCBlcnJtc2csCi0gICAgICAgICAgICAg ICAgY29vcmQtPmZpbGVfbmFtZSwgKGxsc3RyKGNvb3JkLT5wb3MsIGxsYnVmZjEpLCBsbGJ1ZmYx KSwKLSAgICAgICAgICAgICAgICBsb2dfZmlsZV9uYW1lLCAobGxzdHIobXlfYl90ZWxsKCZsb2cp LCBsbGJ1ZmYyKSwgbGxidWZmMikpOworICAgICAgICAgICAgICAgIHBfc3RhcnRfY29vcmQtPmZp bGVfbmFtZSwKKyAgICAgICAgICAgICAgICAobGxzdHIocF9zdGFydF9jb29yZC0+cG9zLCBsbGJ1 ZmYwKSwgbGxidWZmMCksCisgICAgICAgICAgICAgICAgcF9jb29yZC0+ZmlsZV9uYW1lLCAobGxz dHIocF9jb29yZC0+cG9zLCBsbGJ1ZmYxKSwgbGxidWZmMSksCisgICAgICAgICAgICAgICAgbG9n X2ZpbGVfbmFtZSwgICAgKGxsc3RyKG15X2JfdGVsbCgmbG9nKSwgbGxidWZmMiksIGxsYnVmZjIp KTsKICAgfQogICBlbHNlCiAgICAgc3RyY3B5KGVycm9yX3RleHQsIGVycm1zZyk7CgpObyBidW5k bGUgKHJlYXNvbjogdXNlbGVzcyBmb3IgcHVzaCBlbWFpbHMpLg==