From: Date: January 13 2009 9:10pm Subject: bzr commit into mysql-5.1-bugteam branch (ramil:2737) Bug#33094 List-Archive: http://lists.mysql.com/commits/63171 X-Bug: 33094 Message-Id: <0KDF005QTEPHU850@fe-emea-09.sun.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: BASE64 I0F0IGZpbGU6Ly8vaG9tZS9yYW0vbXlzcWwvYjMzMDk0LTUuMS1idWd0ZWFtLyBi YXNlZCBvbiByZXZpZDpwYXRyaWNrLmNyZXdzQHN1bi5jb20tMjAwOTAxMTIyMzQ1 MzUtOGNyamd6aDR4cDhxejJ5MQ0KDQogMjczNyBSYW1pbCBLYWxpbXVsbGluCTIw MDktMDEtMTQNCiAgICAgIEZpeCBmb3INCiAgICAgIGJ1ZyMzMzA5NDogRXJyb3Ig aW4gdXBncmFkaW5nIGZyb20gNS4wIHRvIDUuMSB3aGVuIHRhYmxlIGNvbnRhaW5z DQogICAgICB0cmlnZ2Vycw0KICAgICAgYW5kDQogICAgICAjNDEzODU6IENyYXNo IHdoZW4gYXR0ZW1wdGluZyB0byByZXBhaXIgYSAjbXlzcWw1MCMgdXBncmFkZWQg dGFibGUNCiAgICAgICN3aXRoDQogICAgICB0cmlnZ2Vycy4NCiAgICAgIA0KICAg ICAgUHJvYmxlbToNCiAgICAgIDEuIHRyaWdnZXIgY29kZSBkaWRuJ3QgYXNzdW1l IGEgdGFibGUgbmFtZSBtYXkgaGF2ZQ0KICAgICAgYSAiI215c3FsNTAjIiBwcmVm aXgsIHRoYXQgbWF5IGxlYWQgdG8gYSBmYWlsaW5nIEFTU0VSVCgpLg0KICAgICAg Mi4gIkFMVEVSIERBVEFCQVNFIC4uLiBVUEdSQURFIERBVEEgRElSRUNUT1JZIE5B TUUiIGZhaWxlZA0KICAgICAgZm9yIGRhdGFiYXNlcyB3aXRoICIjbXlzcWw1MCMi IHByZWZpeCBpZiBhbnkgdHJpZ2dlci4NCiAgICAgIDMuIG15c3FsY2hlY2sgLS1m aXgtdGFibGUtbmFtZSBkaWRuJ3QgdXNlIFVURjggYXMgYSBkZWZhdWx0DQogICAg ICBjaGFyYWN0ZXIgc2V0IHRoYXQgcmVzdWx0ZWQgaW4gKHBhcnNpbmcpIGVycm9y cyBmb3IgdGFibGVzIHdpdGgNCiAgICAgIG5vbi1sYXRpbiBzeW1ib2xzIGluIHRo ZWlyIG5hbWVzIGFuZCBkZWZpbml0aW9ucyBvZiB0cmlnZ2Vycy4NCiAgICAgIA0K ICAgICAgRml4Og0KICAgICAgMS4gcHJvcGVybHkgaGFuZGxlIHRhYmxlL2RhdGFi YXNlIG5hbWVzIHdpdGggIiNteXNxbDUwIyIgcHJlZml4Lg0KICAgICAgMi4gaGFu ZGxlIC0tZGVmYXVsdC1jaGFyYWN0ZXItc2V0IG15c3FsY2hlY2sgb3B0aW9uOw0K ICAgICAgaWYgbXlzcWxjaGVjayBpcyBsYXVuY2hlZCB3aXRoIC0tZml4LXRhYmxl LW5hbWUgb3IgLS1maXgtZGItbmFtZQ0KICAgICAgc2V0IGRlZmF1bHQgY2hhcmFj dGVyIHNldCB0byBVVEY4IGlmIG5vIC0tZGVmYXVsdC1jaGFyYWN0ZXItc2V0DQog ICAgICBvcHRpb24gZ2l2ZW4uDQogICAgICANCiAgICAgIE5vdGU6IGlmIGdpdmVu IC0tZml4LXRhYmxlLW5hbWUgb3IgLS1maXgtZGItbmFtZSBvcHRpb24sDQogICAg ICB3aXRob3V0IC0tZGVmYXVsdC1jaGFyYWN0ZXItc2V0IG15c3FsY2hlY2sgb3B0 aW9uDQogICAgICBkZWZhdWx0IGNoYXJhY3RlciBzZXQgaXMgVVRGOC4NCm1vZGlm aWVkOg0KICBjbGllbnQvbXlzcWxjaGVjay5jDQogIG15c3FsLXRlc3Qvci9teXNx bGNoZWNrLnJlc3VsdA0KICBteXNxbC10ZXN0L3QvbXlzcWxjaGVjay50ZXN0DQog IHNxbC9zcWxfdHJpZ2dlci5jYw0KICBzcWwvc3FsX3RyaWdnZXIuaA0KDQpwZXIt ZmlsZSBtZXNzYWdlczoNCiAgY2xpZW50L215c3FsY2hlY2suYw0KICAgIEZpeCBm b3INCiAgICBidWcjMzMwOTQ6IEVycm9yIGluIHVwZ3JhZGluZyBmcm9tIDUuMCB0 byA1LjEgd2hlbiB0YWJsZSBjb250YWlucw0KICAgIHRyaWdnZXJzDQogICAgYW5k DQogICAgIzQxMzg1OiBDcmFzaCB3aGVuIGF0dGVtcHRpbmcgdG8gcmVwYWlyIGEg I215c3FsNTAjIHVwZ3JhZGVkIHRhYmxlIHdpdGgNCiAgICB0cmlnZ2Vycy4NCiAg ICAgIC0gY2hlY2sgYW5kIHNldCBkZWZhdWx0IGNoYXJzZXQgaWYgLS1kZWZhdWx0 LWNoYXJhY3Rlci1zZXQgb3B0aW9uDQogICAgZ2l2ZW4uDQogICAgICAtIHNldCBk ZWZhdWx0IGNoYXJzZXQgdG8gInV0ZjgiIGlmIHRoZXJlJ3MNCiAgICAtLWZpeC10 YWJsZS1uYW1lIG9yIC0tZml4LWRiLW5hbWUgYW5kIG5vIC0tZGVmYXVsdC1jaGFy YWN0ZXItc2V0Lg0KICBteXNxbC10ZXN0L3IvbXlzcWxjaGVjay5yZXN1bHQNCiAg ICBGaXggZm9yDQogICAgYnVnIzMzMDk0OiBFcnJvciBpbiB1cGdyYWRpbmcgZnJv bSA1LjAgdG8gNS4xIHdoZW4gdGFibGUgY29udGFpbnMNCiAgICB0cmlnZ2Vycw0K ICAgIGFuZA0KICAgICM0MTM4NTogQ3Jhc2ggd2hlbiBhdHRlbXB0aW5nIHRvIHJl cGFpciBhICNteXNxbDUwIyB1cGdyYWRlZCB0YWJsZQ0KICAgICN3aXRoDQogICAg dHJpZ2dlcnMuDQogICAgICAtIHRlc3QgcmVzdWx0Lg0KICBteXNxbC10ZXN0L3Qv bXlzcWxjaGVjay50ZXN0DQogICAgRml4IGZvcg0KICAgIGJ1ZyMzMzA5NDogRXJy b3IgaW4gdXBncmFkaW5nIGZyb20gNS4wIHRvIDUuMSB3aGVuIHRhYmxlIGNvbnRh aW5zDQogICAgdHJpZ2dlcnMNCiAgICBhbmQNCiAgICAjNDEzODU6IENyYXNoIHdo ZW4gYXR0ZW1wdGluZyB0byByZXBhaXIgYSAjbXlzcWw1MCMgdXBncmFkZWQgdGFi bGUNCiAgICAjd2l0aA0KICAgIHRyaWdnZXJzLg0KICAgICAgLSB0ZXN0IGNhc2Uu DQogIHNxbC9zcWxfdHJpZ2dlci5jYw0KICAgIEZpeCBmb3INCiAgICBidWcjMzMw OTQ6IEVycm9yIGluIHVwZ3JhZGluZyBmcm9tIDUuMCB0byA1LjEgd2hlbiB0YWJs ZSBjb250YWlucw0KICAgIHRyaWdnZXJzDQogICAgYW5kDQogICAgIzQxMzg1OiBD cmFzaCB3aGVuIGF0dGVtcHRpbmcgdG8gcmVwYWlyIGEgI215c3FsNTAjIHVwZ3Jh ZGVkIHRhYmxlDQogICAgI3dpdGgNCiAgICB0cmlnZ2Vycy4NCiAgICAgIC0gVGFi bGVfdHJpZ2dlcnNfbGlzdDo6Y2hlY2tfbl9sb2FkKCkgLSBjaGVja2luZyB0cmln Z2VycyBhc3N1bWUgDQogICAgICAgIGEgdGFibGUgbmFtZSBnaXZlbiBtYXkgaGF2 ZSAiI215c3FsNTAjIiBwcmVmaXggaW4gc29tZSBjYXNlcy4NCiAgICAgIC0gVGFi bGVfdHJpZ2dlcnNfbGlzdDo6Y2hhbmdlX3RhYmxlX25hbWVfaW5fdHJpZ2dlcnMo KSAtIA0KICAgICAgICBjcmVhdGUgLlRSRyBmaWxlIGluIG5ldyBkYXRhYmFzZSBk aXJlY3RvcnkgYW5kIGRlbGV0ZSBpdCBpbiBvbGQgb25lLA0KICAgICAgICBhcyB0 aGV5IG1heSBkaWZmZXIgaW4gY2FzZSBvZiANCiAgICAgICAgIkFMVEVSIERBVEFC QVNFIC4uLiBVUEdSQURFIERBVEEgRElSRUNUT1JZIE5BTUUiDQogICAgICAtIFRh YmxlX3RyaWdnZXJzX2xpc3Q6OnJlbW92ZV90YWJsZV90cmlnZ2VyX2ZpbGVzKCkg LSBpbnRyb2R1Y2VkDQogICAgICAgIHRvIGRlbGV0ZSBhbGwgdGFibGUgdHJpZ2dl cnMnIC5UUk4gZmlsZXMuDQogICAgICAtIFRhYmxlX3RyaWdnZXJzX2xpc3Q6OmNo YW5nZV90YWJsZV9uYW1lKCkgLSBhbGxvdyBjaGFuZ2luZyB0cmlnZ2VyJ3MNCiAg ICAgICAgZGF0YWJhc2UgaW4gY2FzZSBvZiBpdHMgdXBncmFkaW5nLA0KICAgICAg ICByZW1vdmUgc3RhbGUgLlRSTiBmaWxlcyBpbiAjbXlzcWw1MCNkYm5hbWUgZGly ZWN0b3J5IGFmdGVyIHN1Y2ggdXBncmFkZS4NCiAgc3FsL3NxbF90cmlnZ2VyLmgN CiAgICBGaXggZm9yDQogICAgYnVnIzMzMDk0OiBFcnJvciBpbiB1cGdyYWRpbmcg ZnJvbSA1LjAgdG8gNS4xIHdoZW4gdGFibGUgY29udGFpbnMNCiAgICB0cmlnZ2Vy cw0KICAgIGFuZA0KICAgICM0MTM4NTogQ3Jhc2ggd2hlbiBhdHRlbXB0aW5nIHRv IHJlcGFpciBhICNteXNxbDUwIyB1cGdyYWRlZCB0YWJsZQ0KICAgICN3aXRoDQog ICAgdHJpZ2dlcnMuDQogICAgICAtIFRhYmxlX3RyaWdnZXJzX2xpc3Q6OnJlbW92 ZV90YWJsZV90cmlnZ2VyX2ZpbGVzKCkgLSBpbnRyb2R1Y2VkLg0KICAgICAgLSBU YWJsZV90cmlnZ2Vyc19saXN0OjpjaGFuZ2VfdGFibGVfbmFtZV9pbl90cmlnZ2Vy cygpIC0gYWRkZWQNCiAgICAgICAgb2xkIGRhdGFiYXNlIG5hbWUgcGFyYW1ldGVy Lg0KPT09IG1vZGlmaWVkIGZpbGUgJ2NsaWVudC9teXNxbGNoZWNrLmMnDQotLS0g YS9jbGllbnQvbXlzcWxjaGVjay5jCTIwMDgtMTEtMTQgMDk6NDg6MDEgKzAwMDAN CisrKyBiL2NsaWVudC9teXNxbGNoZWNrLmMJMjAwOS0wMS0xMyAyMDoxMDoxNiAr MDAwMA0KQEAgLTQwLDE1ICs0MCwxMyBAQCBzdGF0aWMgdWludCB2ZXJib3NlID0g MCwgb3B0X215c3FsX3BvcnQ9DQogc3RhdGljIGludCBteV9lbmRfYXJnOw0KIHN0 YXRpYyBjaGFyICogb3B0X215c3FsX3VuaXhfcG9ydCA9IDA7DQogc3RhdGljIGNo YXIgKm9wdF9wYXNzd29yZCA9IDAsICpjdXJyZW50X3VzZXIgPSAwLCANCi0JICAg ICpkZWZhdWx0X2NoYXJzZXQgPSAoY2hhciAqKU1ZU1FMX0RFRkFVTFRfQ0hBUlNF VF9OQU1FLA0KLQkgICAgKmN1cnJlbnRfaG9zdCA9IDA7DQorCSAgICAqZGVmYXVs dF9jaGFyc2V0PSAwLCAqY3VycmVudF9ob3N0PSAwOw0KIHN0YXRpYyBpbnQgZmly c3RfZXJyb3IgPSAwOw0KIERZTkFNSUNfQVJSQVkgdGFibGVzNHJlcGFpcjsNCiAj aWZkZWYgSEFWRV9TTUVNDQogc3RhdGljIGNoYXIgKnNoYXJlZF9tZW1vcnlfYmFz ZV9uYW1lPTA7DQogI2VuZGlmDQogc3RhdGljIHVpbnQgb3B0X3Byb3RvY29sPTA7 DQotc3RhdGljIENIQVJTRVRfSU5GTyAqY2hhcnNldF9pbmZvPSAmbXlfY2hhcnNl dF9sYXRpbjE7DQogDQogZW51bSBvcGVyYXRpb25zIHsgRE9fQ0hFQ0ssIERPX1JF UEFJUiwgRE9fQU5BTFlaRSwgRE9fT1BUSU1JWkUsIERPX1VQR1JBREUgfTsNCiAN CkBAIC0yODIsMTIgKzI4MCwxMCBAQCBnZXRfb25lX29wdGlvbihpbnQgb3B0aWQs IGNvbnN0IHN0cnVjdCBtDQogICAgIGJyZWFrOw0KICAgY2FzZSBPUFRfRklYX0RC X05BTUVTOg0KICAgICB3aGF0X3RvX2RvPSBET19VUEdSQURFOw0KLSAgICBkZWZh dWx0X2NoYXJzZXQ9IChjaGFyKikgInV0ZjgiOw0KICAgICBvcHRfZGF0YWJhc2Vz PSAxOw0KICAgICBicmVhazsNCiAgIGNhc2UgT1BUX0ZJWF9UQUJMRV9OQU1FUzoN CiAgICAgd2hhdF90b19kbz0gRE9fVVBHUkFERTsNCi0gICAgZGVmYXVsdF9jaGFy c2V0PSAoY2hhciopICJ1dGY4IjsNCiAgICAgYnJlYWs7DQogICBjYXNlICdwJzoN CiAgICAgaWYgKGFyZ3VtZW50KQ0KQEAgLTM2NywxMSArMzYzLDIwIEBAIHN0YXRp YyBpbnQgZ2V0X29wdGlvbnMoaW50ICphcmdjLCBjaGFyICoNCiAgICAgICB3aGF0 X3RvX2RvID0gRE9fQ0hFQ0s7DQogICB9DQogDQotICAvKiBUT0RPOiBUaGlzIHZh cmlhYmxlIGlzIG5vdCB5ZXQgdXNlZCAqLw0KLSAgaWYgKHN0cmNtcChkZWZhdWx0 X2NoYXJzZXQsIGNoYXJzZXRfaW5mby0+Y3NuYW1lKSAmJg0KLSAgICAgICEoY2hh cnNldF9pbmZvPSBnZXRfY2hhcnNldF9ieV9jc25hbWUoZGVmYXVsdF9jaGFyc2V0 LCANCi0gIAkJCQkJICAgIE1ZX0NTX1BSSU1BUlksIE1ZRihNWV9XTUUpKSkpDQot ICAgICAgZXhpdCgxKTsNCisgIC8qDQorICAgIElmIHRoZXJlJ3Mgbm8gLS1kZWZh dWx0LWNoYXJhY3Rlci1zZXQgb3B0aW9uIGdpdmVuIHdpdGgNCisgICAgLS1maXgt dGFibGUtbmFtZSBvciAtLWZpeC1kYi1uYW1lIHNldCB0aGUgZGVmYXVsdCBjaGFy YWN0ZXIgc2V0IHRvICJ1dGY4Ii4NCisgICovDQorICBpZiAoIWRlZmF1bHRfY2hh cnNldCAmJiAob3B0X2ZpeF9kYl9uYW1lcyB8fCBvcHRfZml4X3RhYmxlX25hbWVz KSkNCisgIHsNCisgICAgZGVmYXVsdF9jaGFyc2V0PSAoY2hhciopICJ1dGY4IjsN CisgIH0NCisgIGlmIChkZWZhdWx0X2NoYXJzZXQgJiYgIWdldF9jaGFyc2V0X2J5 X2NzbmFtZShkZWZhdWx0X2NoYXJzZXQsIE1ZX0NTX1BSSU1BUlksDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTVlGKE1Z X1dNRSkpKQ0KKyAgew0KKyAgICBwcmludGYoIlVuc3VwcG9ydGVkIGNoYXJhY3Rl ciBzZXQ6ICVzXG4iLCBkZWZhdWx0X2NoYXJzZXQpOw0KKyAgICByZXR1cm4gMTsN CisgIH0NCiAgIGlmICgqYXJnYyA+IDAgJiYgb3B0X2FsbGRicykNCiAgIHsNCiAg ICAgcHJpbnRmKCJZb3Ugc2hvdWxkIGdpdmUgb25seSBvcHRpb25zLCBubyBhcmd1 bWVudHMgYXQgYWxsLCB3aXRoIG9wdGlvblxuIik7DQpAQCAtNzc5LDYgKzc4NCw4 IEBAIHN0YXRpYyBpbnQgZGJDb25uZWN0KGNoYXIgKmhvc3QsIGNoYXIgKnUNCiAg IGlmIChzaGFyZWRfbWVtb3J5X2Jhc2VfbmFtZSkNCiAgICAgbXlzcWxfb3B0aW9u cygmbXlzcWxfY29ubmVjdGlvbixNWVNRTF9TSEFSRURfTUVNT1JZX0JBU0VfTkFN RSxzaGFyZWRfbWVtb3J5X2Jhc2VfbmFtZSk7DQogI2VuZGlmDQorICBpZiAoZGVm YXVsdF9jaGFyc2V0KQ0KKyAgICBteXNxbF9vcHRpb25zKCZteXNxbF9jb25uZWN0 aW9uLCBNWVNRTF9TRVRfQ0hBUlNFVF9OQU1FLCBkZWZhdWx0X2NoYXJzZXQpOw0K ICAgaWYgKCEoc29jayA9IG15c3FsX3JlYWxfY29ubmVjdCgmbXlzcWxfY29ubmVj dGlvbiwgaG9zdCwgdXNlciwgcGFzc3dkLA0KICAgICAgICAgIE5VTEwsIG9wdF9t eXNxbF9wb3J0LCBvcHRfbXlzcWxfdW5peF9wb3J0LCAwKSkpDQogICB7DQoNCj09 PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3IvbXlzcWxjaGVjay5yZXN1bHQn DQotLS0gYS9teXNxbC10ZXN0L3IvbXlzcWxjaGVjay5yZXN1bHQJMjAwOC0xMS0x NCAwOTo0ODowMSArMDAwMA0KKysrIGIvbXlzcWwtdGVzdC9yL215c3FsY2hlY2su cmVzdWx0CTIwMDktMDEtMTMgMjA6MTA6MTYgKzAwMDANCkBAIC0xMzAsMyArMTMw LDQ2IEBAIHYxDQogdi0xDQogZHJvcCB2aWV3IHYxLCBgdi0xYDsNCiBkcm9wIHRh YmxlIHQxOw0KK1NFVCBOQU1FUyB1dGY4Ow0KK0NSRUFURSBUQUJMRSBgI215c3Fs NTAjQGAgKGEgSU5UKTsNCitTSE9XIFRBQkxFUzsNCitUYWJsZXNfaW5fdGVzdA0K KyNteXNxbDUwI0ANCitTRVQgTkFNRVMgREVGQVVMVDsNCitteXNxbGNoZWNrIC0t Zml4LXRhYmxlLW5hbWVzIC0tZGF0YWJhc2VzIHRlc3QNCitTRVQgTkFNRVMgdXRm ODsNCitTSE9XIFRBQkxFUzsNCitUYWJsZXNfaW5fdGVzdA0KK0ANCitEUk9QIFRB QkxFIGBAYDsNCitDUkVBVEUgVEFCTEUgYNGPYCAoYSBJTlQpOw0KK1NFVCBOQU1F UyBERUZBVUxUOw0KK215c3FsY2hlY2sgLS1kZWZhdWx0LWNoYXJhY3Rlci1zZXQ9 ImxhdGluMSIgLS1kYXRhYmFzZXMgdGVzdA0KK3Rlc3QuPw0KK0Vycm9yICAgIDog VGFibGUgJ3Rlc3QuPycgZG9lc24ndCBleGlzdA0KK2Vycm9yICAgIDogQ29ycnVw dA0KK215c3FsY2hlY2sgLS1kZWZhdWx0LWNoYXJhY3Rlci1zZXQ9InV0ZjgiIC0t ZGF0YWJhc2VzIHRlc3QNCit0ZXN0LtGPICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBPSw0KK1NFVCBOQU1FUyB1dGY4Ow0KK0RST1Ag VEFCTEUgYNGPYDsNCitTRVQgTkFNRVMgREVGQVVMVDsNCitDUkVBVEUgREFUQUJB U0UgYCNteXNxbDUwI2FAYmA7DQorVVNFIGAjbXlzcWw1MCNhQGJgOw0KK0NSRUFU RSBUQUJMRSBgI215c3FsNTAjY0BkYCAoYSBJTlQpOw0KK1NIT1cgVFJJR0dFUlM7 DQorVHJpZ2dlcglFdmVudAlUYWJsZQlTdGF0ZW1lbnQJVGltaW5nCUNyZWF0ZWQJ c3FsX21vZGUJRGVmaW5lcgljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25f Y29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24NCit0cjEJSU5TRVJUCSNteXNx bDUwI2NAZAlTRVQgTkVXLmEgPSAxMCAqIE5FVy5hCUJFRk9SRQlOVUxMCQlyb290 QGxvY2FsaG9zdAlsYXRpbjEJbGF0aW4xX3N3ZWRpc2hfY2kJbGF0aW4xX3N3ZWRp c2hfY2kNCitXYXJuaW5nczoNCitXYXJuaW5nCTE2MDMJVHJpZ2dlcnMgZm9yIHRh YmxlIGAjbXlzcWw1MCNhQGJgLmAjbXlzcWw1MCNjQGRgIGhhdmUgbm8gY3JlYXRp b24gY29udGV4dA0KK215c3FsY2hlY2sgLS1maXgtZGItbmFtZXMgLS1maXgtdGFi bGUtbmFtZXMgLS1hbGwtZGF0YWJhc2VzDQorVVNFIGBhQGJgOw0KK1NIT1cgVFJJ R0dFUlM7DQorVHJpZ2dlcglFdmVudAlUYWJsZQlTdGF0ZW1lbnQJVGltaW5nCUNy ZWF0ZWQJc3FsX21vZGUJRGVmaW5lcgljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xs YXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24NCit0cjEJSU5TRVJU CWNAZAlTRVQgTkVXLmEgPSAxMCAqIE5FVy5hCUJFRk9SRQlOVUxMCQlyb290QGxv Y2FsaG9zdAl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQlsYXRpbjFfc3dlZGlzaF9jaQ0K K0lOU0VSVCBJTlRPIGBjQGRgIFZBTFVFUyAoMiksICgxKTsNCitTRUxFQ1QgKiBG Uk9NIGBjQGRgOw0KK2ENCisyMA0KKzEwDQorVVNFIHRlc3Q7DQorRW5kIG9mIDUu MSB0ZXN0cw0KDQo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC90L215c3Fs Y2hlY2sudGVzdCcNCi0tLSBhL215c3FsLXRlc3QvdC9teXNxbGNoZWNrLnRlc3QJ MjAwOC0xMS0xNCAwOTo0ODowMSArMDAwMA0KKysrIGIvbXlzcWwtdGVzdC90L215 c3FsY2hlY2sudGVzdAkyMDA5LTAxLTEzIDIwOjEwOjE2ICswMDAwDQpAQCAtMTEy LDMgKzExMiw1OCBAQCBzaG93IHRhYmxlczsNCiBzaG93IHRhYmxlczsNCiBkcm9w IHZpZXcgdjEsIGB2LTFgOw0KIGRyb3AgdGFibGUgdDE7DQorDQorIw0KKyMgQnVn ICMzMzA5NDogRXJyb3IgaW4gdXBncmFkaW5nIGZyb20gNS4wIHRvIDUuMSB3aGVu IHRhYmxlIGNvbnRhaW5zIHRyaWdnZXJzDQorIyBCdWcgIzQxMzg1OiBDcmFzaCB3 aGVuIGF0dGVtcHRpbmcgdG8gcmVwYWlyIGEgI215c3FsNTAjIHVwZ3JhZGVkIHRh YmxlIHdpdGgNCisjICAgICAgICAgICAgIHRyaWdnZXJzDQorIw0KK1NFVCBOQU1F UyB1dGY4Ow0KK0NSRUFURSBUQUJMRSBgI215c3FsNTAjQGAgKGEgSU5UKTsNCitT SE9XIFRBQkxFUzsNCitTRVQgTkFNRVMgREVGQVVMVDsNCistLWVjaG8gbXlzcWxj aGVjayAtLWZpeC10YWJsZS1uYW1lcyAtLWRhdGFiYXNlcyB0ZXN0DQorLS1leGVj ICRNWVNRTF9DSEVDSyAtLWZpeC10YWJsZS1uYW1lcyAtLWRhdGFiYXNlcyB0ZXN0 DQorU0VUIE5BTUVTIHV0Zjg7DQorU0hPVyBUQUJMRVM7DQorRFJPUCBUQUJMRSBg QGA7DQorDQorQ1JFQVRFIFRBQkxFIGDRj2AgKGEgSU5UKTsNCitTRVQgTkFNRVMg REVGQVVMVDsNCistLWVjaG8gbXlzcWxjaGVjayAtLWRlZmF1bHQtY2hhcmFjdGVy LXNldD0ibGF0aW4xIiAtLWRhdGFiYXNlcyB0ZXN0DQorLS1leGVjICRNWVNRTF9D SEVDSyAtLWRlZmF1bHQtY2hhcmFjdGVyLXNldD0ibGF0aW4xIiAtLWRhdGFiYXNl cyB0ZXN0DQorLS1lY2hvIG15c3FsY2hlY2sgLS1kZWZhdWx0LWNoYXJhY3Rlci1z ZXQ9InV0ZjgiIC0tZGF0YWJhc2VzIHRlc3QNCistLWV4ZWMgJE1ZU1FMX0NIRUNL IC0tZGVmYXVsdC1jaGFyYWN0ZXItc2V0PSJ1dGY4IiAtLWRhdGFiYXNlcyB0ZXN0 DQorU0VUIE5BTUVTIHV0Zjg7DQorRFJPUCBUQUJMRSBg0Y9gOw0KK1NFVCBOQU1F UyBERUZBVUxUOw0KKw0KK0NSRUFURSBEQVRBQkFTRSBgI215c3FsNTAjYUBiYDsN CitVU0UgYCNteXNxbDUwI2FAYmA7DQorQ1JFQVRFIFRBQkxFIGAjbXlzcWw1MCNj QGRgIChhIElOVCk7DQorIyBDcmVhdGUgNS4wIGxpa2UgdHJpZ2dlcg0KKy0td3Jp dGVfZmlsZSAkTVlTUUxURVNUX1ZBUkRJUi9tYXN0ZXItZGF0YS9hQGIvY0BkLlRS Rw0KK1RZUEU9VFJJR0dFUlMNCit0cmlnZ2Vycz0nQ1JFQVRFIERFRklORVI9YHJv b3RgQGBsb2NhbGhvc3RgIFRSSUdHRVIgdHIxIEJFRk9SRSBJTlNFUlQgT04gYGNA ZGAgRk9SIEVBQ0ggUk9XIFNFVCBORVcuYSA9IDEwICogTkVXLmEnDQorc3FsX21v ZGVzPTANCitkZWZpbmVycz0ncm9vdEBsb2NhbGhvc3QnDQorRU9GDQorLS13cml0 ZV9maWxlICRNWVNRTFRFU1RfVkFSRElSL21hc3Rlci1kYXRhL2FAYi90cjEuVFJO DQorVFlQRT1UUklHR0VSTkFNRQ0KK3RyaWdnZXJfdGFibGU9Y0BkDQorRU9GDQor U0hPVyBUUklHR0VSUzsNCisNCistLWVjaG8gbXlzcWxjaGVjayAtLWZpeC1kYi1u YW1lcyAtLWZpeC10YWJsZS1uYW1lcyAtLWFsbC1kYXRhYmFzZXMNCistLWV4ZWMg JE1ZU1FMX0NIRUNLIC0tZml4LWRiLW5hbWVzIC0tZml4LXRhYmxlLW5hbWVzIC0t YWxsLWRhdGFiYXNlcw0KKw0KK1VTRSBgYUBiYDsNCitTSE9XIFRSSUdHRVJTOw0K Kw0KK0lOU0VSVCBJTlRPIGBjQGRgIFZBTFVFUyAoMiksICgxKTsNCitTRUxFQ1Qg KiBGUk9NIGBjQGRgOw0KKw0KKyNEUk9QIERBVEFCQVNFIGBhQGJgOw0KK1VTRSB0 ZXN0Ow0KKw0KKy0tZWNobyBFbmQgb2YgNS4xIHRlc3RzDQoNCj09PSBtb2RpZmll ZCBmaWxlICdzcWwvc3FsX3RyaWdnZXIuY2MnDQotLS0gYS9zcWwvc3FsX3RyaWdn ZXIuY2MJMjAwOC0xMS0xNCAxNzozNzoyNyArMDAwMA0KKysrIGIvc3FsL3NxbF90 cmlnZ2VyLmNjCTIwMDktMDEtMTMgMjA6MTA6MTYgKzAwMDANCkBAIC0xMzY4LDE1 ICsxMzY4LDI0IEBAIGJvb2wgVGFibGVfdHJpZ2dlcnNfbGlzdDo6Y2hlY2tfbl9s b2FkKFQNCiANCiAgICAgICAgIGlmICh0cmlnZ2Vycy0+b25fdGFibGVfbmFtZXNf bGlzdC5wdXNoX2JhY2sob25fdGFibGVfbmFtZSwgJnRhYmxlLT5tZW1fcm9vdCkp DQogICAgICAgICAgIGdvdG8gZXJyX3dpdGhfbGV4X2NsZWFudXA7DQotDQorI2lm bmRlZiBEQlVHX09GRg0KICAgICAgICAgLyoNCiAgICAgICAgICAgTGV0IHVzIGNo ZWNrIHRoYXQgd2UgY29ycmVjdGx5IHVwZGF0ZSB0cmlnZ2VyIGRlZmluaXRpb25z IHdoZW4gd2UNCiAgICAgICAgICAgcmVuYW1lIHRhYmxlcyB3aXRoIHRyaWdnZXJz Lg0KKyAgICAgICAgICANCisgICAgICAgICAgSW4gc3BlY2lhbCBjYXNlcyBsaWtl ICJSRU5BTUUgVEFCTEUgYCNteXNxbDUwI3NvbWVuYW1lYCBUTyBgc29tZW5hbWVg Ig0KKyAgICAgICAgICB3ZSBtaWdodCBiZSBnaXZlbiB0YWJsZSBuYW1lIHdpdGgg IiNteXNxbDUwIyIgcHJlZml4IChhbmQNCisgICAgICAgICAgdHJpZ2dlcidzIGRl ZmluaXRvbiBjb250YWlucyB1bi1wcmVmaXhlZCB2ZXJzaW9uIG9mIHRoZSBzYW1l IG5hbWUpLg0KKyAgICAgICAgICBUbyByZW1vdmUgdGhpcyBwcmVmaXggd2UgdXNl IHRhYmxlbmFtZV90b19maWxlbmFtZSgpLg0KICAgICAgICAgKi8NCi0gICAgICAg IERCVUdfQVNTRVJUKCFteV9zdHJjYXNlY21wKHRhYmxlX2FsaWFzX2NoYXJzZXQs IGxleC5xdWVyeV90YWJsZXMtPmRiLCBkYikgJiYNCi0gICAgICAgICAgICAgICAg ICAgICFteV9zdHJjYXNlY21wKHRhYmxlX2FsaWFzX2NoYXJzZXQsIGxleC5xdWVy eV90YWJsZXMtPnRhYmxlX25hbWUsDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB0YWJsZV9uYW1lKSk7DQogDQorICAgICAgICBjaGFyIGZuYW1l W05BTUVfTEVOICsgMV07DQorICAgICAgICBEQlVHX0FTU0VSVCghbXlfc3RyY2Fz ZWNtcCh0YWJsZV9hbGlhc19jaGFyc2V0LCBsZXgucXVlcnlfdGFibGVzLT5kYiwg ZGIpICYmDQorICAgICAgICAgICAgICAgICAgICAoIW15X3N0cmNhc2VjbXAodGFi bGVfYWxpYXNfY2hhcnNldCwgbGV4LnF1ZXJ5X3RhYmxlcy0+dGFibGVfbmFtZSwN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZV9uYW1l KSB8fA0KKyAgICAgICAgICAgICAgICAgICAgICh0YWJsZW5hbWVfdG9fZmlsZW5h bWUodGFibGVfbmFtZSwgZm5hbWUsIHNpemVvZihmbmFtZSkpICYmDQorICAgICAg ICAgICAgICAgICAgICAgICFteV9zdHJjYXNlY21wKHRhYmxlX2FsaWFzX2NoYXJz ZXQsIGxleC5xdWVyeV90YWJsZXMtPnRhYmxlX25hbWUsIGZuYW1lKSkpKTsNCisj ZW5kaWYNCiAgICAgICAgIGlmIChuYW1lc19vbmx5KQ0KICAgICAgICAgew0KICAg ICAgICAgICBsZXhfZW5kKCZsZXgpOw0KQEAgLTE2MjUsNiArMTYzNCw0MCBAQCBi b29sIGFkZF90YWJsZV9mb3JfdHJpZ2dlcihUSEQgKnRoZCwNCiANCiANCiAvKioN CisgIERlbGV0ZXMgYWxsIHRyaWdnZXJzJyAuVFJOIGZpbGVzIGZvciBhIHRhYmxl Lg0KKw0KKyAgQHBhcmFtIHBhdGggICAgIEZOX1JFRkxFTiBieXRlIGJ1ZmZlciB1 c2VkIGZvcg0KKyAgICAgICAgICAgICAgICAgIGNvbnN0cnVjdGluZyBwYXRoIHRv IC5UUk4gZmlsZXMNCisgIEBwYXJhbSBkYiAgICAgICB0YWJsZSdzIGRhdGFiYXNl IG5hbWUNCisNCisgIEByZXR2YWwNCisgICAgRkFMU0UgICBzdWNjZXNzDQorICBA cmV0dmFsDQorICAgIFRSVUUgICAgZXJyb3INCisqLw0KKw0KK2Jvb2wgVGFibGVf dHJpZ2dlcnNfbGlzdDo6cmVtb3ZlX3RhYmxlX3RyaWdnZXJfZmlsZXMoY2hhciAq cGF0aCwgY29uc3QgY2hhciAqZGIpDQorew0KKyAgYm9vbCByZXN1bHQ9IEZBTFNF Ow0KKyAgTEVYX1NUUklORyAqdHJpZ2dlcjsNCisgIExpc3RfaXRlcmF0b3JfZmFz dDxMRVhfU1RSSU5HPiBpdF9uYW1lKG5hbWVzX2xpc3QpOw0KKw0KKyAgd2hpbGUg KCh0cmlnZ2VyPSBpdF9uYW1lKyspKQ0KKyAgew0KKyAgICBpZiAocm1fdHJpZ25h bWVfZmlsZShwYXRoLCBkYiwgdHJpZ2dlci0+c3RyKSkNCisgICAgew0KKyAgICAg IC8qDQorICAgICAgICBJbnN0ZWFkIG9mIGltbWVkaWF0ZWx5IGJhaWxpbmcgb3V0 IHdpdGggZXJyb3IgaWYgd2Ugd2VyZSB1bmFibGUNCisgICAgICAgIHRvIHJlbW92 ZSAuVFJOIGZpbGUgd2Ugd2lsbCB0cnkgdG8gZHJvcCBvdGhlciBmaWxlcy4NCisg ICAgICAqLw0KKyAgICAgIHJlc3VsdD0gVFJVRTsNCisgICAgfQ0KKyAgfQ0KKyAg cmV0dXJuIHJlc3VsdDsNCit9DQorDQorDQorLyoqDQogICBEcm9wIGFsbCB0cmln Z2VycyBmb3IgdGFibGUuDQogDQogICBAcGFyYW0gdGhkICAgICAgY3VycmVudCB0 aHJlYWQgY29udGV4dA0KQEAgLTE2NDMsNyArMTY4Niw2IEBAIGJvb2wgYWRkX3Rh YmxlX2Zvcl90cmlnZ2VyKFRIRCAqdGhkLA0KIGJvb2wgVGFibGVfdHJpZ2dlcnNf bGlzdDo6ZHJvcF9hbGxfdHJpZ2dlcnMoVEhEICp0aGQsIGNoYXIgKmRiLCBjaGFy ICpuYW1lKQ0KIHsNCiAgIFRBQkxFIHRhYmxlOw0KLSAgY2hhciBwYXRoW0ZOX1JF RkxFTl07DQogICBib29sIHJlc3VsdD0gMDsNCiAgIERCVUdfRU5URVIoImRyb3Bf YWxsX3RyaWdnZXJzIik7DQogDQpAQCAtMTY1NywyOCArMTY5OSwxNCBAQCBib29s IFRhYmxlX3RyaWdnZXJzX2xpc3Q6OmRyb3BfYWxsX3RyaWdnDQogICB9DQogICBp ZiAodGFibGUudHJpZ2dlcnMpDQogICB7DQotICAgIExFWF9TVFJJTkcgKnRyaWdn ZXI7DQotICAgIExpc3RfaXRlcmF0b3JfZmFzdDxMRVhfU1RSSU5HPiBpdF9uYW1l KHRhYmxlLnRyaWdnZXJzLT5uYW1lc19saXN0KTsNCi0NCi0gICAgd2hpbGUgKCh0 cmlnZ2VyPSBpdF9uYW1lKyspKQ0KLSAgICB7DQotICAgICAgaWYgKHJtX3RyaWdu YW1lX2ZpbGUocGF0aCwgZGIsIHRyaWdnZXItPnN0cikpDQotICAgICAgew0KLSAg ICAgICAgLyoNCi0gICAgICAgICAgSW5zdGVhZCBvZiBpbW1lZGlhdGVseSBiYWls aW5nIG91dCB3aXRoIGVycm9yIGlmIHdlIHdlcmUgdW5hYmxlDQotICAgICAgICAg IHRvIHJlbW92ZSAuVFJOIGZpbGUgd2Ugd2lsbCB0cnkgdG8gZHJvcCBvdGhlciBm aWxlcy4NCi0gICAgICAgICovDQotICAgICAgICByZXN1bHQ9IDE7DQotICAgICAg ICBjb250aW51ZTsNCi0gICAgICB9DQotICAgIH0NCi0NCisgICAgY2hhciBwYXRo W0ZOX1JFRkxFTl07DQorICAgIC8qIFJlbW92ZSAuVFJOIGZpbGVzICovDQorICAg IHJlc3VsdD0gdGFibGUudHJpZ2dlcnMtPnJlbW92ZV90YWJsZV90cmlnZ2VyX2Zp bGVzKHBhdGgsIGRiKTsNCisgICAgLyogUmVtb3ZlIC5UUkcgZmlsZSAqLw0KICAg ICBpZiAocm1fdHJpZ2dlcl9maWxlKHBhdGgsIGRiLCBuYW1lKSkNCi0gICAgew0K LSAgICAgIHJlc3VsdD0gMTsNCi0gICAgICBnb3RvIGVuZDsNCi0gICAgfQ0KKyAg ICAgIHJlc3VsdD0gVFJVRTsNCiAgIH0NCisNCiBlbmQ6DQogICBpZiAodGFibGUu dHJpZ2dlcnMpDQogICAgIGRlbGV0ZSB0YWJsZS50cmlnZ2VyczsNCkBAIC0xNzA0 LDcgKzE3MzIsOCBAQCBlbmQ6DQogDQogYm9vbA0KIFRhYmxlX3RyaWdnZXJzX2xp c3Q6OmNoYW5nZV90YWJsZV9uYW1lX2luX3RyaWdnZXJzKFRIRCAqdGhkLA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IGNoYXIgKmRiX25hbWUsDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqb2xkX2RiX25h bWUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3QgY2hhciAqbmV3X2RiX25hbWUsDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTEVYX1NUUklO RyAqb2xkX3RhYmxlX25hbWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTEVYX1NUUklORyAqbmV3X3RhYmxlX25h bWUpDQogew0KQEAgLTE3NTcsMTEgKzE3ODYsMTEgQEAgVGFibGVfdHJpZ2dlcnNf bGlzdDo6Y2hhbmdlX3RhYmxlX25hbWVfaQ0KICAgaWYgKHRoZC0+aXNfZmF0YWxf ZXJyb3IpDQogICAgIHJldHVybiBUUlVFOyAvKiBPT00gKi8NCiANCi0gIGlmIChz YXZlX3RyaWdnZXJfZmlsZSh0aGlzLCBkYl9uYW1lLCBuZXdfdGFibGVfbmFtZS0+ c3RyKSkNCisgIGlmIChzYXZlX3RyaWdnZXJfZmlsZSh0aGlzLCBuZXdfZGJfbmFt ZSwgbmV3X3RhYmxlX25hbWUtPnN0cikpDQogICAgIHJldHVybiBUUlVFOw0KLSAg aWYgKHJtX3RyaWdnZXJfZmlsZShwYXRoX2J1ZmYsIGRiX25hbWUsIG9sZF90YWJs ZV9uYW1lLT5zdHIpKQ0KKyAgaWYgKHJtX3RyaWdnZXJfZmlsZShwYXRoX2J1ZmYs IG9sZF9kYl9uYW1lLCBvbGRfdGFibGVfbmFtZS0+c3RyKSkNCiAgIHsNCi0gICAg KHZvaWQpIHJtX3RyaWdnZXJfZmlsZShwYXRoX2J1ZmYsIGRiX25hbWUsIG5ld190 YWJsZV9uYW1lLT5zdHIpOw0KKyAgICAodm9pZCkgcm1fdHJpZ2dlcl9maWxlKHBh dGhfYnVmZiwgbmV3X2RiX25hbWUsIG5ld190YWJsZV9uYW1lLT5zdHIpOw0KICAg ICByZXR1cm4gVFJVRTsNCiAgIH0NCiAgIHJldHVybiBGQUxTRTsNCkBAIC0xODQw LDYgKzE4NjksNyBAQCBib29sIFRhYmxlX3RyaWdnZXJzX2xpc3Q6OmNoYW5nZV90 YWJsZV9uDQogew0KICAgVEFCTEUgdGFibGU7DQogICBib29sIHJlc3VsdD0gMDsN CisgIGJvb2wgdXBncmFkaW5nNTB0bzUxPSBGQUxTRTsgDQogICBMRVhfU1RSSU5H ICplcnJfdHJpZ25hbWU7DQogICBEQlVHX0VOVEVSKCJjaGFuZ2VfdGFibGVfbmFt ZSIpOw0KIA0KQEAgLTE4NzcsMTQgKzE5MDcsMjQgQEAgYm9vbCBUYWJsZV90cmln Z2Vyc19saXN0OjpjaGFuZ2VfdGFibGVfbg0KICAgICAgIG1vdmluZyB0YWJsZSB3 aXRoIHRoZW0gYmV0d2VlbiB0d28gc2NoZW1hcyByYWlzZXMgdG9vIG1hbnkgcXVl c3Rpb25zLg0KICAgICAgIChFLmcuIHdoYXQgc2hvdWxkIGhhcHBlbiBpZiBpbiBu ZXcgc2NoZW1hIHdlIGFscmVhZHkgaGF2ZSB0cmlnZ2VyDQogICAgICAgIHdpdGgg c2FtZSBuYW1lID8pLg0KKyAgICAgICANCisgICAgICBJbiBjYXNlIG9mICJBTFRF UiBEQVRBQkFTRSBgI215c3FsNTAjZGIxYCBVUEdSQURFIERBVEEgRElSRUNUT1JZ IE5BTUUiDQorICAgICAgd2Ugd2lsbCBiZSBnaXZlbiB0YWJsZSBuYW1lIHdpdGgg IiNteXNxbDUwIyIgcHJlZml4DQorICAgICAgVG8gcmVtb3ZlIHRoaXMgcHJlZml4 IHdlIHVzZSB0YWJsZW5hbWVfdG9fZmlsZW5hbWUoKS4NCiAgICAgKi8NCiAgICAg aWYgKG15X3N0cmNhc2VjbXAodGFibGVfYWxpYXNfY2hhcnNldCwgZGIsIG5ld19k YikpDQogICAgIHsNCi0gICAgICBteV9lcnJvcihFUl9UUkdfSU5fV1JPTkdfU0NI RU1BLCBNWUYoMCkpOw0KLSAgICAgIHJlc3VsdD0gMTsNCi0gICAgICBnb3RvIGVu ZDsNCisgICAgICBjaGFyIGRibmFtZVtOQU1FX0xFTiArIDFdOw0KKyAgICAgIHRh YmxlbmFtZV90b19maWxlbmFtZShkYiwgZGJuYW1lLCBzaXplb2YoZGJuYW1lKSk7 DQorICAgICAgaWYgKG15X3N0cmNhc2VjbXAodGFibGVfYWxpYXNfY2hhcnNldCwg ZGJuYW1lLCBuZXdfZGIpKQ0KKyAgICAgIHsNCisgICAgICAgIG15X2Vycm9yKEVS X1RSR19JTl9XUk9OR19TQ0hFTUEsIE1ZRigwKSk7DQorICAgICAgICByZXN1bHQ9 IDE7DQorICAgICAgICBnb3RvIGVuZDsNCisgICAgICB9DQorICAgICAgdXBncmFk aW5nNTB0bzUxPSBUUlVFOw0KICAgICB9DQotICAgIGlmICh0YWJsZS50cmlnZ2Vy cy0+Y2hhbmdlX3RhYmxlX25hbWVfaW5fdHJpZ2dlcnModGhkLCBkYiwNCisgICAg aWYgKHRhYmxlLnRyaWdnZXJzLT5jaGFuZ2VfdGFibGVfbmFtZV9pbl90cmlnZ2Vy cyh0aGQsIGRiLCBuZXdfZGIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJm9sZF90YWJsZV9uYW1lLA0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZuZXdfdGFibGVfbmFtZSkpDQogICAgIHsNCkBAIC0xODkyLDcgKzE5MzIs NyBAQCBib29sIFRhYmxlX3RyaWdnZXJzX2xpc3Q6OmNoYW5nZV90YWJsZV9uDQog ICAgICAgZ290byBlbmQ7DQogICAgIH0NCiAgICAgaWYgKChlcnJfdHJpZ25hbWU9 IHRhYmxlLnRyaWdnZXJzLT5jaGFuZ2VfdGFibGVfbmFtZV9pbl90cmlnbmFtZXMo DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYiwg Jm5ld190YWJsZV9uYW1lLCAwKSkpDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBuZXdfZGIsICZuZXdfdGFibGVfbmFtZSwgMCkpKQ0K ICAgICB7DQogICAgICAgLyoNCiAgICAgICAgIElmIHdlIHdlcmUgdW5hYmxlIHRv IHVwZGF0ZSBvbmUgb2YgLlRSTiBmaWxlcyBwcm9wZXJseSB3ZSB3aWxsDQpAQCAt MTkwMCwxNiArMTk0MCwyMyBAQCBib29sIFRhYmxlX3RyaWdnZXJzX2xpc3Q6OmNo YW5nZV90YWJsZV9uDQogICAgICAgICBXZSBhc3N1bWUgdGhhdCB3ZSB3aWxsIGJl IGFibGUgdG8gdW5kbyBvdXIgY2hhbmdlcyB3aXRob3V0IGVycm9ycw0KICAgICAg ICAgKHdlIGNhbid0IGRvIG11Y2ggaWYgdGhlcmUgd2lsbCBiZSBhbiBlcnJvciBh bnl3YXkpLg0KICAgICAgICovDQotICAgICAgKHZvaWQpIHRhYmxlLnRyaWdnZXJz LT5jaGFuZ2VfdGFibGVfbmFtZV9pbl90cmlnbmFtZXMoZGIsDQorICAgICAgKHZv aWQpIHRhYmxlLnRyaWdnZXJzLT5jaGFuZ2VfdGFibGVfbmFtZV9pbl90cmlnbmFt ZXMobmV3X2RiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZvbGRfdGFibGVfbmFtZSwNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBlcnJfdHJpZ25hbWUpOw0KLSAgICAgICh2b2lkKSB0YWJsZS50cmln Z2Vycy0+Y2hhbmdlX3RhYmxlX25hbWVfaW5fdHJpZ2dlcnModGhkLCBkYiwNCisg ICAgICAodm9pZCkgdGFibGUudHJpZ2dlcnMtPmNoYW5nZV90YWJsZV9uYW1lX2lu X3RyaWdnZXJzKHRoZCwgZGIsIG5ld19kYiwNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuZXdfdGFi bGVfbmFtZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZvbGRfdGFibGVfbmFtZSk7DQogICAgICAg cmVzdWx0PSAxOw0KICAgICAgIGdvdG8gZW5kOw0KICAgICB9DQorICAgIGlmICh1 cGdyYWRpbmc1MHRvNTEpDQorICAgIHsNCisgICAgICBjaGFyIHBhdGhbRk5fUkVG TEVOXTsNCisgICAgICAvKiBSZW1vdmUgLlRSTiBmaWxlcyBpbiBvbGQgZGF0YWJh c2UgKi8NCisgICAgICByZXN1bHQ9IHRhYmxlLnRyaWdnZXJzLT5yZW1vdmVfdGFi bGVfdHJpZ2dlcl9maWxlcyhwYXRoLCBkYik7DQorICAgIH0NCiAgIH0NCisgIA0K IGVuZDoNCiAgIGRlbGV0ZSB0YWJsZS50cmlnZ2VyczsNCiAgIGZyZWVfcm9vdCgm dGFibGUubWVtX3Jvb3QsIE1ZRigwKSk7DQoNCj09PSBtb2RpZmllZCBmaWxlICdz cWwvc3FsX3RyaWdnZXIuaCcNCi0tLSBhL3NxbC9zcWxfdHJpZ2dlci5oCTIwMDct MTAtMTYgMjA6MTE6NTAgKzAwMDANCisrKyBiL3NxbC9zcWxfdHJpZ2dlci5oCTIw MDktMDEtMTMgMjA6MTA6MTYgKzAwMDANCkBAIC0xNTAsOSArMTUwLDExIEBAIHBy aXZhdGU6DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTEVYX1NUUklORyAqbmV3X3RhYmxlX25hbWUsDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTEVYX1NUUklORyAqc3Rv cHBlcik7DQogICBib29sIGNoYW5nZV90YWJsZV9uYW1lX2luX3RyaWdnZXJzKFRI RCAqdGhkLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBjaGFyICpkYl9uYW1lLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBjaGFyICpvbGRfZGJfbmFtZSwNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbmV3X2RiX25h bWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExFWF9T VFJJTkcgKm9sZF90YWJsZV9uYW1lLA0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMRVhfU1RSSU5HICpuZXdfdGFibGVfbmFtZSk7DQorICBi b29sIHJlbW92ZV90YWJsZV90cmlnZ2VyX2ZpbGVzKGNoYXIgKnBhdGgsIGNvbnN0 IGNoYXIgKmRiKTsNCiB9Ow0KIA0KIGV4dGVybiBjb25zdCBMRVhfU1RSSU5HIHRy Z19hY3Rpb25fdGltZV90eXBlX25hbWVzW107DQoNCg==