From: Date: November 28 2008 4:45pm Subject: bzr commit into mysql-5.1 branch (Matthias.Leich:2713) Bug#40179 Bug#41098 List-Archive: http://lists.mysql.com/commits/60193 X-Bug: 40179,41098 Message-Id: <20081128154549.9FD3122281@five.local.lan> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 I0F0IGZpbGU6Ly8vd29yazIvNS4xL215c3FsLTUuMS1idWd0ZWFtLXdvcmsxLwoKIDI3MTMgTWF0 dGhpYXMgTGVpY2gJMjAwOC0xMS0yOAogICAgICAtIEZpeCBmb3IgQnVnIzQwMTc5IFRlc3QgbWFp bi5xdWVyeV9jYWNoZSBmYWlsaW5nIHJhbmRvbWx5IG9uIFB1c2hidWlsZCwgdGVzdCB3ZWFrbmVz cwogICAgICAtIGRpc2FibGUgdGhlIHRlc3Qgc3VmZmVyaW5nIGZyb20gQnVnIzQxMDk4IFF1ZXJ5 IENhY2hlIHJldHVybnMgd3JvbmcgcmVzdWx0IHdpdGgKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25jdXJyZW50IGluc2VydAogICAgICAtIGFkZGl0 aW9uYWwgaW1wcm92ZW1lbnRzCiAgICAgIAogICAgICBEZXRhaWxzOgogICAgICAtIE1vdmUgdGhl IHRlc3QgZm9yIHRoZSBoaXN0b3JpYyBidWcKICAgICAgICBCdWcgMjgyNDkgUXVlcnkgQ2FjaGUg cmV0dXJucyB3cm9uZyByZXN1bHQgd2l0aCBjb25jdXJyZW50IGluc2VydCAvIGNlcnRhaW4gbG9j awogICAgICAgIGludG8gaXRzIG93biB0ZXN0c2NyaXB0IHF1ZXJ5X2NhY2hlXzI4MjQ5LnRlc3Qu CiAgICAgIC0gcXVlcnlfY2FjaGUudGVzdDoKICAgICAgICAtIHJlcGxhY2UgZXJyb3IgbnVtYmVy cyB3aXRoIGVycm9yIG5hbWVzCiAgICAgICAgLSByZW1vdmUgdHJhaWxpbmcgc3BhY2VzLCByZXBs YWNlIHRhYnMgd2l0aCBzcGFjZXMKICAgICAgICAtIHJlc2V0IG9mIEBAZ2xvYmFsLmxvZ19iaW5f dHJ1c3RfZnVuY3Rpb25fY3JlYXRvcnMgdG8gaXRzIG9yaWdpbmFsIHZhbHVlCiAgICAgICAgICBh dCB0aGUgZW5kIG9mIHRoZSB0ZXN0CiAgICAgIC0gcXVlcnlfY2FjaGVfMjgyNDkudGVzdDoKICAg ICAgICAtIHJlcGxhY2Ugc2xlZXAgNSB3aXRoIHBvbGwgcm91dGluZQogICAgICAgIC0gYXZvaWQg cmFuZG9tIGRpZmZlcmVuY2VzIGNhdXNlZCBieSBjb25jdXJyZW50X2luc2VydHMgZWZmZWN0cwog ICAgICAgIC0gaW1wcm92ZWQgY29tbWVudHMgYW5kIGZvcm1hdHRpbmcKYWRkZWQ6CiAgbXlzcWwt dGVzdC9yL3F1ZXJ5X2NhY2hlXzI4MjQ5LnJlc3VsdAogIG15c3FsLXRlc3QvdC9xdWVyeV9jYWNo ZV8yODI0OS50ZXN0Cm1vZGlmaWVkOgogIG15c3FsLXRlc3Qvci9xdWVyeV9jYWNoZS5yZXN1bHQK ICBteXNxbC10ZXN0L3QvZGlzYWJsZWQuZGVmCiAgbXlzcWwtdGVzdC90L3F1ZXJ5X2NhY2hlLnRl c3QKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3IvcXVlcnlfY2FjaGUucmVzdWx0Jwot LS0gYS9teXNxbC10ZXN0L3IvcXVlcnlfY2FjaGUucmVzdWx0CTIwMDgtMDctMjQgMTM6NDE6NTUg KzAwMDAKKysrIGIvbXlzcWwtdGVzdC9yL3F1ZXJ5X2NhY2hlLnJlc3VsdAkyMDA4LTExLTI4IDE1 OjQ1OjM0ICswMDAwCkBAIC0xMTE2LDEyICsxMTE2LDEzIEBAIGNyZWF0ZSBwcm9jZWR1cmUgYHAx YCgpCiBiZWdpbgogc2VsZWN0IGEsIGYxKCkgZnJvbSB0MTsKIGVuZC8vCitTRVQgQGxvZ19iaW5f dHJ1c3RfZnVuY3Rpb25fY3JlYXRvcnMgPSBAQGdsb2JhbC5sb2dfYmluX3RydXN0X2Z1bmN0aW9u X2NyZWF0b3JzOwogU0VUIEdMT0JBTCBsb2dfYmluX3RydXN0X2Z1bmN0aW9uX2NyZWF0b3JzID0g MTsKIGNhbGwgcDEoKS8vCiBhCWYxKCkKIDEJMgogMgkyCi1TRVQgR0xPQkFMIGxvZ19iaW5fdHJ1 c3RfZnVuY3Rpb25fY3JlYXRvcnMgPSAwOworU0VUIEdMT0JBTCBsb2dfYmluX3RydXN0X2Z1bmN0 aW9uX2NyZWF0b3JzID0gQGxvZ19iaW5fdHJ1c3RfZnVuY3Rpb25fY3JlYXRvcnM7CiBkcm9wIHBy b2NlZHVyZSBwMS8vCiBkcm9wIGZ1bmN0aW9uIGYxLy8KIGRyb3AgdGFibGUgdDEvLwpAQCAtMTYx NSw0MSArMTYxNiw2IEBAIGlkCiBEUk9QIFBST0NFRFVSRSBwcm9jMjk4NTY7CiBEUk9QIFRBQkxF IHQxOwogU0VUIEdMT0JBTCBxdWVyeV9jYWNoZV9zaXplPSBkZWZhdWx0OwotQnVnIzI4MjQ5IFF1 ZXJ5IENhY2hlIHJldHVybnMgd3JvbmcgcmVzdWx0IHdpdGggY29uY3VycmVudCBpbnNlcnQvIGNl cnRhaW4gbG9jawotc2V0IEdMT0JBTCBxdWVyeV9jYWNoZV90eXBlPTE7Ci1zZXQgR0xPQkFMIHF1 ZXJ5X2NhY2hlX2xpbWl0PTEwMDAwOwotc2V0IEdMT0JBTCBxdWVyeV9jYWNoZV9taW5fcmVzX3Vu aXQ9MDsKLXNldCBHTE9CQUwgcXVlcnlfY2FjaGVfc2l6ZT0gMTAwMDAwOwotZmx1c2ggdGFibGVz OwotZHJvcCB0YWJsZSBpZiBleGlzdHMgdDEsIHQyOwotY3JlYXRlIHRhYmxlIHQxIChhIGludCk7 Ci1jcmVhdGUgdGFibGUgdDIgKGEgaW50KTsKLWluc2VydCBpbnRvIHQxIHZhbHVlcyAoMSksKDIp LCgzKTsKLUxvY2tpbmcgdGFibGUgVDIgd2l0aCBhIHdyaXRlIGxvY2suCi1sb2NrIHRhYmxlIHQy IHdyaXRlOwotU2VsZWN0IGJsb2NrZWQgYnkgd3JpdGUgbG9jay4KLXNlbGVjdCAqLCAoc2VsZWN0 IGNvdW50KCopIGZyb20gdDIpIGZyb20gdDE7OwotU2xlZWluZyBpcyBvaywgYmVjYXVzZSBzZWxl Y3Rpbmcgc2hvdWxkIGJlIGRvbmUgdmVyeSBmYXN0LgotSW5zZXJ0aW5nIGludG8gdGFibGUgVDEu Ci1pbnNlcnQgaW50byB0MSB2YWx1ZXMgKDQpOwotVW5sb2NraW5nIHRoZSB0YWJsZXMuCi11bmxv Y2sgdGFibGVzOwotQ29sbGVjdGluZyByZXN1bHQgZnJvbSBwcmV2aW91c2x5IGJsb2NrZWQgc2Vs ZWN0LgotTmV4dCBzZWxlY3Qgc2hvdWxkIGNvbnRhaW4gNCByb3dzLCBhcyB0aGUgaW5zZXJ0IGlz IGxvbmcgZmluaXNoZWQuCi1zZWxlY3QgKiwgKHNlbGVjdCBjb3VudCgqKSBmcm9tIHQyKSBmcm9t IHQxOwotYQkoc2VsZWN0IGNvdW50KCopIGZyb20gdDIpCi0xCTAKLTIJMAotMwkwCi00CTAKLXJl c2V0IHF1ZXJ5IGNhY2hlOwotc2VsZWN0ICosIChzZWxlY3QgY291bnQoKikgZnJvbSB0MikgZnJv bSB0MTsKLWEJKHNlbGVjdCBjb3VudCgqKSBmcm9tIHQyKQotMQkwCi0yCTAKLTMJMAotNAkwCi1k cm9wIHRhYmxlIHQxLHQyOwogIwogIyBCdWcjMjUxMzIgZGlzYWJsZWQgcXVlcnkgY2FjaGU6IFFj YWNoZV9mcmVlX2Jsb2NrcyA9IDEKICMKCj09PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0L3IvcXVl cnlfY2FjaGVfMjgyNDkucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3IvcXVlcnlfY2FjaGVfMjgy NDkucmVzdWx0CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9yL3F1 ZXJ5X2NhY2hlXzI4MjQ5LnJlc3VsdAkyMDA4LTExLTI4IDE1OjQ1OjM0ICswMDAwCkBAIC0wLDAg KzEsNjIgQEAKK1NFVCBAcXVlcnlfY2FjaGVfdHlwZT0gICAgICAgICBAQGdsb2JhbC5xdWVyeV9j YWNoZV90eXBlOworU0VUIEBxdWVyeV9jYWNoZV9saW1pdD0gICAgICAgIEBAZ2xvYmFsLnF1ZXJ5 X2NhY2hlX2xpbWl0OworU0VUIEBxdWVyeV9jYWNoZV9taW5fcmVzX3VuaXQ9IEBAZ2xvYmFsLnF1 ZXJ5X2NhY2hlX21pbl9yZXNfdW5pdDsKK1NFVCBAcXVlcnlfY2FjaGVfc2l6ZT0gICAgICAgICBA QGdsb2JhbC5xdWVyeV9jYWNoZV9zaXplOworIyBCdWcjMjgyNDkgUXVlcnkgQ2FjaGUgcmV0dXJu cyB3cm9uZyByZXN1bHQgd2l0aCBjb25jdXJyZW50IGluc2VydC8gY2VydGFpbiBsb2NrCisjIEVz dGFibGlzaCBjb25uZWN0aW9ucyB1c2VyMSx1c2VyMix1c2VyMyAodXNlcj1yb290KQorIyBTd2l0 Y2ggdG8gY29ubmVjdGlvbiB1c2VyMQorU0VUIEdMT0JBTCBxdWVyeV9jYWNoZV90eXBlPTE7CitT RVQgR0xPQkFMIHF1ZXJ5X2NhY2hlX2xpbWl0PTEwMDAwOworU0VUIEdMT0JBTCBxdWVyeV9jYWNo ZV9taW5fcmVzX3VuaXQ9MDsKK1NFVCBHTE9CQUwgcXVlcnlfY2FjaGVfc2l6ZT0gMTAwMDAwOwor RkxVU0ggVEFCTEVTOworRFJPUCBUQUJMRSBJRiBFWElTVFMgdDEsIHQyOworQ1JFQVRFIFRBQkxF IHQxIChhIElOVCk7CitDUkVBVEUgVEFCTEUgdDIgKGEgSU5UKTsKK0lOU0VSVCBJTlRPIHQxIFZB TFVFUyAoMSksKDIpLCgzKTsKKyMgU3dpdGNoIHRvIGNvbm5lY3Rpb24gdXNlcjIKK0xPQ0sgVEFC TEUgdDIgV1JJVEU7CisjIFN3aXRjaCB0byBjb25uZWN0aW9uIHVzZXIxCisjICJzZW5kIiB0aGUg bmV4dCBzZWxlY3QsICJyZWFwIiB0aGUgcmVzdWx0IGxhdGVyLgorIyBUaGUgc2VsZWN0IHdpbGwg YmUgYmxvY2tlZCBieSB0aGUgd3JpdGUgbG9jayBvbiB0aGUgdDEuCitTRUxFQ1QgKiwgKFNFTEVD VCBDT1VOVCgqKSBGUk9NIHQyKSBGUk9NIHQxOworIyBTd2l0Y2ggdG8gY29ubmVjdGlvbiB1c2Vy MworIyBQb2xsIHRpbGwgdGhlIHNlbGVjdCBvZiBjb25uZWN0aW9uIHVzZXIxIGlzIGJsb2NrZWQg YnkgdGhlIHdyaXRlIGxvY2sgb24gdDEuCitTRUxFQ1QgdXNlcixjb21tYW5kLHN0YXRlLGluZm8g RlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEucHJvY2Vzc2xpc3QKK1dIRVJFIHN0YXRlID0gJ0xvY2tl ZCcKKyAgQU5EIGluZm8gPSAnU0VMRUNUICosIChTRUxFQ1QgQ09VTlQoKikgRlJPTSB0MikgRlJP TSB0MSc7Cit1c2VyCWNvbW1hbmQJc3RhdGUJaW5mbworcm9vdAlRdWVyeQlMb2NrZWQJU0VMRUNU ICosIChTRUxFQ1QgQ09VTlQoKikgRlJPTSB0MikgRlJPTSB0MQorSU5TRVJUIElOVE8gdDEgVkFM VUVTICg0KTsKKyMgU3dpdGNoIHRvIGNvbm5lY3Rpb24gdXNlcjIKK1VOTE9DSyBUQUJMRVM7Cisj IFN3aXRjaCB0byBjb25uZWN0aW9uIHVzZXIxCisjIENvbGxlY3RpbmcgKCJyZWFwIikgdGhlIHJl c3VsdCBmcm9tIHRoZSBwcmV2aW91c2x5IGJsb2NrZWQgc2VsZWN0LgorIyBUaGUgcHJpbnRpbmcg b2YgdGhlIHJlc3VsdCAodmFyaWVzIGJldHdlZW4gMyBhbmQgNCByb3dzKSBzZXQgaGFzIHRvIGJl IHN1cHByZXNzZWQuCisjIFN3aXRjaCB0byBjb25uZWN0aW9uIHVzZXIzCisjIFRoZSBuZXh0IHNl bGVjdCBlbmZvcmNlcyB0aGF0IGVmZmVjdHMgb2YgImNvbmN1cnJlbnRfaW5zZXJ0cyIgbGlrZSB0 aGUKKyMgcmVjb3JkIHdpdGggYSA9IDQgaXMgbWlzc2luZyBpbiByZXN1bHQgc2V0cyBjYW4gbm8g bW9yZSBoYXBwZW4uCitTRUxFQ1QgMSBGUk9NIHQxIFdIRVJFIGEgPSA0OworMQorMQorIyBTd2l0 Y2ggdG8gY29ubmVjdGlvbiB1c2VyMQorIyBUaGUgbmV4dCByZXN1bHQgc2V0IG11c3QgY29udGFp biA0IHJvd3MuCitTRUxFQ1QgKiwgKFNFTEVDVCBDT1VOVCgqKSBGUk9NIHQyKSBGUk9NIHQxOwor YQkoU0VMRUNUIENPVU5UKCopIEZST00gdDIpCisxCTAKKzIJMAorMwkwCis0CTAKK1JFU0VUIFFV RVJZIENBQ0hFOworU0VMRUNUICosIChTRUxFQ1QgQ09VTlQoKikgRlJPTSB0MikgRlJPTSB0MTsK K2EJKFNFTEVDVCBDT1VOVCgqKSBGUk9NIHQyKQorMQkwCisyCTAKKzMJMAorNAkwCitEUk9QIFRB QkxFIHQxLHQyOworIyBTd2l0Y2ggdG8gY29ubmVjdGlvbiBkZWZhdWx0ICsgY2xvc2UgY29ubmVj dGlvbnMgdXNlcjEsdXNlcjIsdXNlcjMKK1NFVCBHTE9CQUwgcXVlcnlfY2FjaGVfdHlwZT0gICAg ICAgICBAcXVlcnlfY2FjaGVfdHlwZTsKK1NFVCBHTE9CQUwgcXVlcnlfY2FjaGVfbGltaXQ9ICAg ICAgICBAcXVlcnlfY2FjaGVfbGltaXQ7CitTRVQgR0xPQkFMIHF1ZXJ5X2NhY2hlX21pbl9yZXNf dW5pdD0gQHF1ZXJ5X2NhY2hlX21pbl9yZXNfdW5pdDsKK1NFVCBHTE9CQUwgcXVlcnlfY2FjaGVf c2l6ZT0gICAgICAgICBAcXVlcnlfY2FjaGVfc2l6ZTsKCj09PSBtb2RpZmllZCBmaWxlICdteXNx bC10ZXN0L3QvZGlzYWJsZWQuZGVmJwotLS0gYS9teXNxbC10ZXN0L3QvZGlzYWJsZWQuZGVmCTIw MDgtMTEtMTcgMjA6MjU6MjcgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC90L2Rpc2FibGVkLmRlZgky MDA4LTExLTI4IDE1OjQ1OjM0ICswMDAwCkBAIC0xMiwzICsxMiw0IEBACiBmZWRlcmF0ZWRfdHJh bnNhY3Rpb25zICAgOiBCdWcjMjk1MjMgVHJhbnNhY3Rpb25zIGRvIG5vdCB3b3JrCiBsb2dfdGFi bGVzLnRlc3QgICAgICAgICAgICAgICAgICAgICAgIDogQnVnICMzNzc5ODogbWFpbi5sb2dfdGFi bGVzIGZhaWxzIHJhbmRvbWx5IG9uIHBvd2VybWFjZzUgYW5kIHdpbmRvd3MKIHNsb3dfcXVlcnlf bG9nX2Z1bmMudGVzdCAgICAgICAgICAgICAgOiBCdWcgIzM3OTYyOiAqX2Z1bmMgdGVzdHMgY29u dGFpbmluZyBzbGVlcHMvcmFjZSBjb25kaXRpb25zCitxdWVyeV9jYWNoZV8yODI0OSAgICAgICAg OiBCdWcjNDEwOTggUXVlcnkgQ2FjaGUgcmV0dXJucyB3cm9uZyByZXN1bHQgd2l0aCBjb25jdXJy ZW50IGluc2VydAoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvdC9xdWVyeV9jYWNoZS50 ZXN0JwotLS0gYS9teXNxbC10ZXN0L3QvcXVlcnlfY2FjaGUudGVzdAkyMDA4LTAzLTI2IDE2OjM2 OjEyICswMDAwCisrKyBiL215c3FsLXRlc3QvdC9xdWVyeV9jYWNoZS50ZXN0CTIwMDgtMTEtMjgg MTU6NDU6MzQgKzAwMDAKQEAgLTMwMCw3ICszMDAsNyBAQCBzZWxlY3QgKiBmcm9tIHQxOwogc2Vs ZWN0ICogZnJvbSB0MTsKIHNob3cgc3RhdHVzIGxpa2UgIlFjYWNoZV9xdWVyaWVzX2luX2NhY2hl IjsKIGluc2VydCBkZWxheWVkIGludG8gdDEgdmFsdWVzICg0KTsKLS0tc2xlZXAgNQkjIFdhaXQg Zm9yIGluc2VydCBkZWxheWVkIHRvIGJlIGV4ZWN1dGVkLgorLS1zbGVlcCA1ICAgICAjIFdhaXQg Zm9yIGluc2VydCBkZWxheWVkIHRvIGJlIGV4ZWN1dGVkLgogc2VsZWN0IGEgZnJvbSB0MTsKIHNo b3cgc3RhdHVzIGxpa2UgIlFjYWNoZV9xdWVyaWVzX2luX2NhY2hlIjsKIGRyb3AgdGFibGUgdDE7 CkBAIC00MTAsMTAgKzQxMCwxMCBAQCBjcmVhdGUgdGFibGUgdDEoaWQgaW50IGF1dG9faW5jcmVt ZW50IHByCiBpbnNlcnQgaW50byB0MSB2YWx1ZXMgKE5VTEwpLCAoTlVMTCksIChOVUxMKTsKIHNl bGVjdCAqIGZyb20gdDEgd2hlcmUgaWQ9MjsKIGFsdGVyIHRhYmxlIHQxIHJlbmFtZSB0byB0MjsK LS0tIGVycm9yIDExNDYKKy0tZXJyb3IgRVJfTk9fU1VDSF9UQUJMRQogc2VsZWN0ICogZnJvbSB0 MSB3aGVyZSBpZD0yOwogZHJvcCB0YWJsZSB0MjsKLS0tIGVycm9yIDExNDYKKy0tZXJyb3IgRVJf Tk9fU1VDSF9UQUJMRQogc2VsZWN0ICogZnJvbSB0MSB3aGVyZSBpZD0yOwogCiAjCkBAIC00MzUs NyArNDM1LDcgQEAgY3JlYXRlIHRhYmxlIHQxIChhIGludCk7CiBpbnNlcnQgaW50byB0MSB2YWx1 ZXMgKDEpLCgyKSwoMyk7CiBzaG93IHN0YXR1cyBsaWtlICJRY2FjaGVfcXVlcmllc19pbl9jYWNo ZSI7CiBzZWxlY3QgKiBmcm9tIHQxIGludG8gb3V0ZmlsZSAicXVlcnlfY2FjaGUub3V0LmZpbGUi OwotLS1lcnJvciAxMDg2CistLWVycm9yIEVSX0ZJTEVfRVhJU1RTX0VSUk9SCiBzZWxlY3QgKiBm cm9tIHQxIGludG8gb3V0ZmlsZSAicXVlcnlfY2FjaGUub3V0LmZpbGUiOwogc2VsZWN0ICogZnJv bSB0MSBsaW1pdCAxIGludG8gZHVtcGZpbGUgInF1ZXJ5X2NhY2hlLmR1bXAuZmlsZSI7CiBzaG93 IHN0YXR1cyBsaWtlICJRY2FjaGVfcXVlcmllc19pbl9jYWNoZSI7CkBAIC01MzcsNyArNTM3LDcg QEAgZHJvcCB0YWJsZSB0MTsKICMgSWYgYXQgbGVhc3Qgb25lIG9mIHRoZSBhYm92ZSB2YXJpYWJs ZXMgaGFzIGNoYW5nZWQsCiAjIHRoZSBjYWNoZWQgcXVlcnkgY2FuJ3QgYmUgcmV1c2VkLiBJbiB0 aGUgYmVsb3cgdGVzdAogIyBhYnNvbHV0ZWx5IHRoZSBzYW1lIHF1ZXJ5IGlzIHVzZWQgc2V2ZXJh bCB0aW1lcywKLSMgU0VMRUNUIHNob3VsZCBmZXRjaCBkaWZmZXJlbnQgcmVzdWx0cyBmb3IgZXZl cnkgaW5zdGFuY2UuIAorIyBTRUxFQ1Qgc2hvdWxkIGZldGNoIGRpZmZlcmVudCByZXN1bHRzIGZv ciBldmVyeSBpbnN0YW5jZS4KICMgTm8gaGl0cyBzaG91bGQgYmUgcHJvZHVjZWQuCiAjIE5ldyBj YWNoZSBlbnRyeSBzaG91bGQgYXBwZWFyIGZvciBldmVyeSBTRUxFQ1QuCiAjCkBAIC01NTQsMjEg KzU1NCwyMSBAQCBzaG93IHN0YXR1cyBsaWtlICJRY2FjaGVfcXVlcmllc19pbl9jYWNoCiAjIENo YW5nZSBjb2xsYXRpb25fY29ubmVjdGlvbiBhbmQgcnVuIHRoZSBzYW1lIHF1ZXJ5IGFnYWluCiAj CiBzZXQgY29sbGF0aW9uX2Nvbm5lY3Rpb249a29pOHJfYmluOwotU0VMRUNUIGEsJ++/vSwn77+9 J++/vSBGUk9NIHQxOyAKK1NFTEVDVCBhLCfvv70sJ++/vSfvv70gRlJPTSB0MTsKIHNob3cgc3Rh dHVzIGxpa2UgIlFjYWNoZV9oaXRzIjsKIHNob3cgc3RhdHVzIGxpa2UgIlFjYWNoZV9xdWVyaWVz X2luX2NhY2hlIjsKICMKICMgTm93IGNoYW5nZSBjaGFyYWN0ZXJfc2V0X2NsaWVudCBhbmQgcnVu IHRoZSBzYW1lIHF1ZXJ5IGFnYWluCiAjCiBzZXQgY2hhcmFjdGVyX3NldF9jbGllbnQ9Y3AxMjUx OwotU0VMRUNUIGEsJ++/vSwn77+9J++/vSBGUk9NIHQxOyAKK1NFTEVDVCBhLCfvv70sJ++/vSfv v70gRlJPTSB0MTsKIHNob3cgc3RhdHVzIGxpa2UgIlFjYWNoZV9oaXRzIjsKIHNob3cgc3RhdHVz IGxpa2UgIlFjYWNoZV9xdWVyaWVzX2luX2NhY2hlIjsKICMKICMgQW5kIGZpbmFsbHkgY2hhbmdl IGNoYXJhY3Rlcl9zZXRfcmVzdWx0cyBhbmQgcnVuIHRoZSBzYW1lIHF1ZXJ5IGFnYWluCiAjCiBz ZXQgY2hhcmFjdGVyX3NldF9yZXN1bHRzPWNwMTI1MTsKLVNFTEVDVCBhLCfvv70sJ++/vSfvv70g RlJPTSB0MTsgCitTRUxFQ1QgYSwn77+9LCfvv70n77+9IEZST00gdDE7CiBzaG93IHN0YXR1cyBs aWtlICJRY2FjaGVfaGl0cyI7CiBzaG93IHN0YXR1cyBsaWtlICJRY2FjaGVfcXVlcmllc19pbl9j YWNoZSI7CiBTRVQgTkFNRVMgZGVmYXVsdDsKQEAgLTYwMiwxMiArNjAyLDEyIEBAIGluc2VydCBp bnRvIHQxIHNldCBjID0gcmVwZWF0KCd4JywyNCk7CiBpbnNlcnQgaW50byB0MSBzZXQgYyA9IGNv bmNhdChyZXBlYXQoJ3gnLDI0KSwneCcpOwogaW5zZXJ0IGludG8gdDEgc2V0IGMgPSBjb25jYXQo cmVwZWF0KCd4JywyNCksJ3cnKTsKIGluc2VydCBpbnRvIHQxIHNldCBjID0gY29uY2F0KHJlcGVh dCgneCcsMjQpLCd5Jyk7Ci1zZXQgbWF4X3NvcnRfbGVuZ3RoPTIwMDsgICAKK3NldCBtYXhfc29y dF9sZW5ndGg9MjAwOwogc2VsZWN0IGMgZnJvbSB0MSBvcmRlciBieSBjLCBpZDsKIHJlc2V0IHF1 ZXJ5IGNhY2hlOwogc2V0IG1heF9zb3J0X2xlbmd0aD0yMDsKIHNlbGVjdCBjIGZyb20gdDEgb3Jk ZXIgYnkgYywgaWQ7Ci1zZXQgbWF4X3NvcnRfbGVuZ3RoPTIwMDsgICAKK3NldCBtYXhfc29ydF9s ZW5ndGg9MjAwOwogc2VsZWN0IGMgZnJvbSB0MSBvcmRlciBieSBjLCBpZDsKIHNldCBtYXhfc29y dF9sZW5ndGg9ZGVmYXVsdDsKICMgc3FsX21vZGUKQEAgLTgwMSw5ICs4MDEsMTAgQEAgY3JlYXRl IHByb2NlZHVyZSBgcDFgKCkKIGJlZ2luCiAgc2VsZWN0IGEsIGYxKCkgZnJvbSB0MTsKIGVuZC8v CitTRVQgQGxvZ19iaW5fdHJ1c3RfZnVuY3Rpb25fY3JlYXRvcnMgPSBAQGdsb2JhbC5sb2dfYmlu X3RydXN0X2Z1bmN0aW9uX2NyZWF0b3JzOwogU0VUIEdMT0JBTCBsb2dfYmluX3RydXN0X2Z1bmN0 aW9uX2NyZWF0b3JzID0gMTsKIGNhbGwgcDEoKS8vCi1TRVQgR0xPQkFMIGxvZ19iaW5fdHJ1c3Rf ZnVuY3Rpb25fY3JlYXRvcnMgPSAwOworU0VUIEdMT0JBTCBsb2dfYmluX3RydXN0X2Z1bmN0aW9u X2NyZWF0b3JzID0gQGxvZ19iaW5fdHJ1c3RfZnVuY3Rpb25fY3JlYXRvcnM7CiBkcm9wIHByb2Nl ZHVyZSBwMS8vCiBkcm9wIGZ1bmN0aW9uIGYxLy8KIApAQCAtMTAxNiw3ICsxMDE3LDcgQEAgc2V0 IEdMT0JBTCBxdWVyeV9jYWNoZV9zaXplPSBkZWZhdWx0OwogCiAKICMKLSMgQnVnICMyODg5NyAg CVVVSUQoKSByZXR1cm5zIG5vbi11bmlxdWUgdmFsdWVzIHdoZW4gcXVlcnkgY2FjaGUgaXMgZW5h YmxlZAorIyBCdWcjMjg4OTcgVVVJRCgpIHJldHVybnMgbm9uLXVuaXF1ZSB2YWx1ZXMgd2hlbiBx dWVyeSBjYWNoZSBpcyBlbmFibGVkCiAjCiAKIHNldCBHTE9CQUwgcXVlcnlfY2FjaGVfc2l6ZT0x MDAwMDAwOwpAQCAtMTAyNSw3ICsxMDI2LDcgQEAgY3JlYXRlIHRhYmxlIHQxIChhIGNoYXIpOwog aW5zZXJ0IGludG8gdDEgdmFsdWVzICgnYycpOwogCiBsZXQgJHExPSBgc2VsZWN0IFVVSUQoKSwg YSBmcm9tIHQxYDsKLWxldCAkcTI9IGBzZWxlY3QgVVVJRCgpLCBhIGZyb20gdDFgOyAKK2xldCAk cTI9IGBzZWxlY3QgVVVJRCgpLCBhIGZyb20gdDFgOwogCiAjIGRpc2FibGluZyB0aGUgbG9nZ2lu ZyBvZiB0aGUgcXVlcnkgYmVjYXVzZSB0aGUgVVVJRHMgYXJlIGRpZmZlcmVudCBlYWNoIHJ1bi4K IC0tZGlzYWJsZV9xdWVyeV9sb2cKQEAgLTEwNDYsNyArMTA0Nyw3IEBAIGNyZWF0ZSB0YWJsZSB0 MSAoYSBjaGFyKTsKIGluc2VydCBpbnRvIHQxIHZhbHVlcyAoJ2MnKTsKIAogbGV0ICRxMT0gYHNl bGVjdCBSQU5EKCkgZnJvbSB0MSB1bmlvbiBzZWxlY3Qgc3FsX2NhY2hlIDEgZnJvbSB0MTtgOwot bGV0ICRxMj0gYHNlbGVjdCBSQU5EKCkgZnJvbSB0MSB1bmlvbiBzZWxlY3Qgc3FsX2NhY2hlIDEg ZnJvbSB0MTtgOyAKK2xldCAkcTI9IGBzZWxlY3QgUkFORCgpIGZyb20gdDEgdW5pb24gc2VsZWN0 IHNxbF9jYWNoZSAxIGZyb20gdDE7YDsKIAogIyBkaXNhYmxpbmcgdGhlIGxvZ2dpbmcgb2YgdGhl IHF1ZXJ5IGJlY2F1c2UgdGhlIHRpbWVzIGFyZSBkaWZmZXJlbnQgZWFjaCBydW4uCiAtLWRpc2Fi bGVfcXVlcnlfbG9nCkBAIC0xMTgyLDc1ICsxMTgzLDYgQEAgRFJPUCBUQUJMRSB0MTsKIFNFVCBH TE9CQUwgcXVlcnlfY2FjaGVfc2l6ZT0gZGVmYXVsdDsKIAogIwotIyBCdWcgIzI4MjQ5IFF1ZXJ5 IENhY2hlIHJldHVybnMgd3JvbmcgcmVzdWx0IHdpdGggY29uY3VycmVudCBpbnNlcnQgLyBjZXJ0 YWluIGxvY2sKLSMKLS0tZWNobyBCdWcjMjgyNDkgUXVlcnkgQ2FjaGUgcmV0dXJucyB3cm9uZyBy ZXN1bHQgd2l0aCBjb25jdXJyZW50IGluc2VydC8gY2VydGFpbiBsb2NrCi1jb25uZWN0ICh1c2Vy MSxsb2NhbGhvc3Qscm9vdCwsdGVzdCwsKTsKLWNvbm5lY3QgKHVzZXIyLGxvY2FsaG9zdCxyb290 LCx0ZXN0LCwpOwotY29ubmVjdCAodXNlcjMsbG9jYWxob3N0LHJvb3QsLHRlc3QsLCk7Ci0KLWNv bm5lY3Rpb24gdXNlcjE7Ci0KLXNldCBHTE9CQUwgcXVlcnlfY2FjaGVfdHlwZT0xOwotc2V0IEdM T0JBTCBxdWVyeV9jYWNoZV9saW1pdD0xMDAwMDsKLXNldCBHTE9CQUwgcXVlcnlfY2FjaGVfbWlu X3Jlc191bml0PTA7Ci1zZXQgR0xPQkFMIHF1ZXJ5X2NhY2hlX3NpemU9IDEwMDAwMDsKLQotZmx1 c2ggdGFibGVzOwotLS1kaXNhYmxlX3dhcm5pbmdzCi1kcm9wIHRhYmxlIGlmIGV4aXN0cyB0MSwg dDI7Ci0tLWVuYWJsZV93YXJuaW5ncwotY3JlYXRlIHRhYmxlIHQxIChhIGludCk7Ci1jcmVhdGUg dGFibGUgdDIgKGEgaW50KTsKLWluc2VydCBpbnRvIHQxIHZhbHVlcyAoMSksKDIpLCgzKTsKLWNv bm5lY3Rpb24gdXNlcjI7Ci0tLWVjaG8gTG9ja2luZyB0YWJsZSBUMiB3aXRoIGEgd3JpdGUgbG9j ay4KLWxvY2sgdGFibGUgdDIgd3JpdGU7Ci0KLWNvbm5lY3Rpb24gdXNlcjE7Ci0tLWVjaG8gU2Vs ZWN0IGJsb2NrZWQgYnkgd3JpdGUgbG9jay4KLS0tc2VuZCBzZWxlY3QgKiwgKHNlbGVjdCBjb3Vu dCgqKSBmcm9tIHQyKSBmcm9tIHQxOwotLS1lY2hvIFNsZWVpbmcgaXMgb2ssIGJlY2F1c2Ugc2Vs ZWN0aW5nIHNob3VsZCBiZSBkb25lIHZlcnkgZmFzdC4KLXNsZWVwIDU7Ci0KLWNvbm5lY3Rpb24g dXNlcjM7Ci0tLWVjaG8gSW5zZXJ0aW5nIGludG8gdGFibGUgVDEuCi1pbnNlcnQgaW50byB0MSB2 YWx1ZXMgKDQpOwotCi1jb25uZWN0aW9uIHVzZXIyOwotLS1lY2hvIFVubG9ja2luZyB0aGUgdGFi bGVzLgotdW5sb2NrIHRhYmxlczsKLQotY29ubmVjdGlvbiB1c2VyMTsKLS0tZWNobyBDb2xsZWN0 aW5nIHJlc3VsdCBmcm9tIHByZXZpb3VzbHkgYmxvY2tlZCBzZWxlY3QuCi0jIAotIyBTaW5jZSB0 aGUgbG9jayBvcmRlcmluZyBydWxlIGluIHRocl9tdWx0aV9sb2NrIGRlcGVuZHMgb24KLSMgcG9p bnRlciB2YWx1ZXMsIGZyb20gZXhlY3V0aW9uIHRvIGV4ZWN1dGlvbiB3ZSBtaWdodCBoYXZlCi0j IGRpZmZlcmVudCBsb2NrIG9yZGVyLCBhbmQgdGhlcmVmb3JlLCBzb21ldGltZXMgbG9jayB0MSBh bmQgYmxvY2sKLSMgb24gdDIsIGFuZCBzb21ldGltZXMgYmxvY2sgb24gdDIgcmlnaHQgYXdheS4g SW4gdGhlIHNlY29uZCBjYXNlLAotIyB0aGUgZm9sbG93aW5nIGluc2VydCBzdWNjZWVkcywgYW5k IG9ubHkgdGhlbiB0aGlzIHNlbGVjdCBjYW4KLSMgcHJvY2VlZCwgYW5kIHdlIGFjdHVhbGx5IHRl c3Qgbm90aGluZywgYXMgdGhlIHZlcnkgZmlyc3Qgc2VsZWN0Ci0jIHJldHVybnMgNCByb3dzIHJp Z2h0IGF3YXkuCi0jIEl0J3MgZmluZSB0byBoYXZlIGEgdGVzdCBjYXNlIHRoYXQgY292ZXJzIHRo ZSBwcm9ibGVtYXRpYyBhcmVhCi0jIGF0IGxlYXN0IG9uY2UgaW4gYSB3aGlsZS4KLSMgV2UsIGhv d2V2ZXIsIG5lZWQgdG8gZGlzYWJsZSB0aGUgcmVzdWx0IGxvZyBoZXJlIHRvIG1ha2UgdGhlCi0j IHRlc3QgcmVwZWF0YWJsZS4KLS0tZGlzYWJsZV9yZXN1bHRfbG9nCi0tLXJlYXAKLS0tZW5hYmxl X3Jlc3VsdF9sb2cKLS0tZWNobyBOZXh0IHNlbGVjdCBzaG91bGQgY29udGFpbiA0IHJvd3MsIGFz IHRoZSBpbnNlcnQgaXMgbG9uZyBmaW5pc2hlZC4KLXNlbGVjdCAqLCAoc2VsZWN0IGNvdW50KCop IGZyb20gdDIpIGZyb20gdDE7Ci1yZXNldCBxdWVyeSBjYWNoZTsKLXNlbGVjdCAqLCAoc2VsZWN0 IGNvdW50KCopIGZyb20gdDIpIGZyb20gdDE7Ci0KLWRyb3AgdGFibGUgdDEsdDI7Ci0KLWNvbm5l Y3Rpb24gZGVmYXVsdDsKLWRpc2Nvbm5lY3QgdXNlcjE7Ci1kaXNjb25uZWN0IHVzZXIyOwotZGlz Y29ubmVjdCB1c2VyMzsKLQotIwogLS1lY2hvICMKIC0tZWNobyAjIEJ1ZyMyNTEzMiBkaXNhYmxl ZCBxdWVyeSBjYWNoZTogUWNhY2hlX2ZyZWVfYmxvY2tzID0gMQogLS1lY2hvICMKQEAgLTEyNjAs NyArMTE5Miw3IEBAIHNldCBnbG9iYWwgcXVlcnlfY2FjaGVfdHlwZT0wOwogc2hvdyBzdGF0dXMg bGlrZSAnUWNhY2hlX2ZyZWVfYmxvY2tzJzsKIAogLS1lY2hvIFJlc3RvcmUgZGVmYXVsdCB2YWx1 ZXMuCi0jIEJ1ZyAjMjgyMTEgUkVOQU1FIERBVEFCQVNFIGFuZCBxdWVyeSBjYWNoZSBkb24ndCBw bGF5IG5pY2VseSB0b2dldGhlcgorIyBCdWcjMjgyMTEgUkVOQU1FIERBVEFCQVNFIGFuZCBxdWVy eSBjYWNoZSBkb24ndCBwbGF5IG5pY2VseSB0b2dldGhlcgogIwogIyBUT0RPOiBlbmFibGUgdGhl c2UgdGVzdHMgd2hlbiBSRU5BTUUgREFUQUJBU0UgaXMgaW1wbGVtZW50ZWQuCiAjIC0tZGlzYWJs ZV93YXJuaW5ncwpAQCAtMTI3OCw3ICsxMjEwLDcgQEAgc2hvdyBzdGF0dXMgbGlrZSAnUWNhY2hl X2ZyZWVfYmxvY2tzJzsKICMgc2hvdyBzdGF0dXMgbGlrZSAnUWNhY2hlX3F1ZXJpZXNfaW5fY2Fj aGUnOwogIyBkcm9wIGRhdGFiYXNlIGRiMjsKICMgc2V0IGdsb2JhbCBxdWVyeV9jYWNoZV9zaXpl PWRlZmF1bHQ7Ci0jIAorIwogIyAtLWRpc2FibGVfd2FybmluZ3MKICMgZHJvcCBkYXRhYmFzZSBp ZiBleGlzdHMgZGIxOwogIyBkcm9wIGRhdGFiYXNlIGlmIGV4aXN0cyBkYjM7Cgo9PT0gYWRkZWQg ZmlsZSAnbXlzcWwtdGVzdC90L3F1ZXJ5X2NhY2hlXzI4MjQ5LnRlc3QnCi0tLSBhL215c3FsLXRl c3QvdC9xdWVyeV9jYWNoZV8yODI0OS50ZXN0CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysr IGIvbXlzcWwtdGVzdC90L3F1ZXJ5X2NhY2hlXzI4MjQ5LnRlc3QJMjAwOC0xMS0yOCAxNTo0NToz NCArMDAwMApAQCAtMCwwICsxLDEyNCBAQAorIyMjIHQvcXVlcnlfY2FjaGVfMjgyNDkudGVzdCAj IyMKKyMKKyMgVGVzdCBmb3IKKyMgQnVnICMyODI0OSBRdWVyeSBDYWNoZSByZXR1cm5zIHdyb25n IHJlc3VsdCB3aXRoIGNvbmN1cnJlbnQgaW5zZXJ0IC8gY2VydGFpbiBsb2NrCisjCisjIExhc3Qg bW9kaWZpY2F0aW9uOgorIyAyMDA4LTExLTI3IG1sZWljaCAtIE1vdmUgdGhpcyB0ZXN0IG91dCBv ZiBxdWVyeV9jYWNoZS50ZXN0CisjICAgICAgICAgICAgICAgICAgIC0gRml4IEJ1ZyM0MDE3OSBU ZXN0IG1haW4ucXVlcnlfY2FjaGUgZmFpbGluZyByYW5kb21seSBvbiBQdXNoYnVpbGQsCisjICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0IHdlYWtuZXNzCisjICAgICAgICAg ICAgICAgICAgIC0gTWlub3IgaW1wcm92ZW1lbnRzIChjb21tZW50cyxmb3JtYXR0aW5nIGV0Yy4p CisjCisKKy0tc291cmNlIGluY2x1ZGUvaGF2ZV9xdWVyeV9jYWNoZS5pbmMKKworU0VUIEBxdWVy eV9jYWNoZV90eXBlPSAgICAgICAgIEBAZ2xvYmFsLnF1ZXJ5X2NhY2hlX3R5cGU7CitTRVQgQHF1 ZXJ5X2NhY2hlX2xpbWl0PSAgICAgICAgQEBnbG9iYWwucXVlcnlfY2FjaGVfbGltaXQ7CitTRVQg QHF1ZXJ5X2NhY2hlX21pbl9yZXNfdW5pdD0gQEBnbG9iYWwucXVlcnlfY2FjaGVfbWluX3Jlc191 bml0OworU0VUIEBxdWVyeV9jYWNoZV9zaXplPSAgICAgICAgIEBAZ2xvYmFsLnF1ZXJ5X2NhY2hl X3NpemU7CisKKy0tZWNobyAjIEJ1ZyMyODI0OSBRdWVyeSBDYWNoZSByZXR1cm5zIHdyb25nIHJl c3VsdCB3aXRoIGNvbmN1cnJlbnQgaW5zZXJ0LyBjZXJ0YWluIGxvY2sKKy0tZWNobyAjIEVzdGFi bGlzaCBjb25uZWN0aW9ucyB1c2VyMSx1c2VyMix1c2VyMyAodXNlcj1yb290KQorY29ubmVjdCAo dXNlcjEsbG9jYWxob3N0LHJvb3QsLHRlc3QsLCk7Citjb25uZWN0ICh1c2VyMixsb2NhbGhvc3Qs cm9vdCwsdGVzdCwsKTsKK2Nvbm5lY3QgKHVzZXIzLGxvY2FsaG9zdCxyb290LCx0ZXN0LCwpOwor CistLWVjaG8gIyBTd2l0Y2ggdG8gY29ubmVjdGlvbiB1c2VyMQorY29ubmVjdGlvbiB1c2VyMTsK KworU0VUIEdMT0JBTCBxdWVyeV9jYWNoZV90eXBlPTE7CitTRVQgR0xPQkFMIHF1ZXJ5X2NhY2hl X2xpbWl0PTEwMDAwOworU0VUIEdMT0JBTCBxdWVyeV9jYWNoZV9taW5fcmVzX3VuaXQ9MDsKK1NF VCBHTE9CQUwgcXVlcnlfY2FjaGVfc2l6ZT0gMTAwMDAwOworCitGTFVTSCBUQUJMRVM7CistLWRp c2FibGVfd2FybmluZ3MKK0RST1AgVEFCTEUgSUYgRVhJU1RTIHQxLCB0MjsKKy0tZW5hYmxlX3dh cm5pbmdzCitDUkVBVEUgVEFCTEUgdDEgKGEgSU5UKTsKK0NSRUFURSBUQUJMRSB0MiAoYSBJTlQp OworSU5TRVJUIElOVE8gdDEgVkFMVUVTICgxKSwoMiksKDMpOworCistLWVjaG8gIyBTd2l0Y2gg dG8gY29ubmVjdGlvbiB1c2VyMgorY29ubmVjdGlvbiB1c2VyMjsKK0xPQ0sgVEFCTEUgdDIgV1JJ VEU7CisKKy0tZWNobyAjIFN3aXRjaCB0byBjb25uZWN0aW9uIHVzZXIxCitjb25uZWN0aW9uIHVz ZXIxOworLS1lY2hvICMgInNlbmQiIHRoZSBuZXh0IHNlbGVjdCwgInJlYXAiIHRoZSByZXN1bHQg bGF0ZXIuCistLWVjaG8gIyBUaGUgc2VsZWN0IHdpbGwgYmUgYmxvY2tlZCBieSB0aGUgd3JpdGUg bG9jayBvbiB0aGUgdDEuCitsZXQgJHNlbGVjdF9mb3JfcWMgPQorU0VMRUNUICosIChTRUxFQ1Qg Q09VTlQoKikgRlJPTSB0MikgRlJPTSB0MTsKK3NlbmQ7CitldmFsICRzZWxlY3RfZm9yX3FjOwor CistLWVjaG8gIyBTd2l0Y2ggdG8gY29ubmVjdGlvbiB1c2VyMworY29ubmVjdGlvbiB1c2VyMzsK KyMgVHlwaWNhbCBpbmZvcm1hdGlvbl9zY2hlbWEucHJvY2Vzc2xpc3QgY29udGVudCBzdWZmaWNp ZW50IHNsZWVwIHRpbWUKKyMgICBJRCAgVVNFUiAgQ09NTUFORCAgVElNRSAgU1RBVEUgICBJTkZP CisjICAgLi4uLgorIyAgIDIgICByb290ICBRdWVyeSAgICAgICA1ICBMb2NrZWQgIFNFTEVDVCAq LCAoU0VMRUNUIENPVU5UKCopIEZST00gdDIpIEZST00gdDEKKyMgICAuLi4uCisjICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFhYWFhYWCAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY WFhYWFhYWFhYWFhYWAorIyBUaGUgdmFsdWVzIG1hcmtlZCB3aXRoICdYJyBtdXN0IGJlIHJlYWNo ZWQuCistLWVjaG8gIyBQb2xsIHRpbGwgdGhlIHNlbGVjdCBvZiBjb25uZWN0aW9uIHVzZXIxIGlz IGJsb2NrZWQgYnkgdGhlIHdyaXRlIGxvY2sgb24gdDEuCitsZXQgJHdhaXRfY29uZGl0aW9uPSBT RUxFQ1QgQ09VTlQoKikgPSAxIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnByb2Nlc3NsaXN0CitX SEVSRSBzdGF0ZSA9ICdMb2NrZWQnCisgIEFORCBpbmZvID0gJyRzZWxlY3RfZm9yX3FjJzsKKy0t c291cmNlIGluY2x1ZGUvd2FpdF9jb25kaXRpb24uaW5jCitldmFsCitTRUxFQ1QgdXNlcixjb21t YW5kLHN0YXRlLGluZm8gRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEucHJvY2Vzc2xpc3QKK1dIRVJF IHN0YXRlID0gJ0xvY2tlZCcKKyAgQU5EIGluZm8gPSAnJHNlbGVjdF9mb3JfcWMnOworSU5TRVJU IElOVE8gdDEgVkFMVUVTICg0KTsKKworLS1lY2hvICMgU3dpdGNoIHRvIGNvbm5lY3Rpb24gdXNl cjIKK2Nvbm5lY3Rpb24gdXNlcjI7CitVTkxPQ0sgVEFCTEVTOworCistLWVjaG8gIyBTd2l0Y2gg dG8gY29ubmVjdGlvbiB1c2VyMQorY29ubmVjdGlvbiB1c2VyMTsKKyMKKyMgU2luY2UgdGhlIGxv Y2sgb3JkZXJpbmcgcnVsZSBpbiB0aHJfbXVsdGlfbG9jayBkZXBlbmRzIG9uCisjIHBvaW50ZXIg dmFsdWVzLCBmcm9tIGV4ZWN1dGlvbiB0byBleGVjdXRpb24gd2UgbWlnaHQgaGF2ZQorIyBkaWZm ZXJlbnQgbG9jayBvcmRlciwgYW5kIHRoZXJlZm9yZSwgc29tZXRpbWVzIGxvY2sgdDEgYW5kIGJs b2NrCisjIG9uIHQyLCBhbmQgc29tZXRpbWVzIGJsb2NrIG9uIHQyIHJpZ2h0IGF3YXkuIEluIHRo ZSBzZWNvbmQgY2FzZSwKKyMgdGhlIGZvbGxvd2luZyBpbnNlcnQgc3VjY2VlZHMsIGFuZCBvbmx5 IHRoZW4gdGhpcyBzZWxlY3QgY2FuCisjIHByb2NlZWQsIGFuZCB3ZSBhY3R1YWxseSB0ZXN0IG5v dGhpbmcsIGFzIHRoZSB2ZXJ5IGZpcnN0IHNlbGVjdAorIyByZXR1cm5zIDQgcm93cyByaWdodCBh d2F5LgorIyBJdCdzIGZpbmUgdG8gaGF2ZSBhIHRlc3QgY2FzZSB0aGF0IGNvdmVycyB0aGUgcHJv YmxlbWF0aWMgYXJlYQorIyBhdCBsZWFzdCBvbmNlIGluIGEgd2hpbGUuCistLWVjaG8gIyBDb2xs ZWN0aW5nICgicmVhcCIpIHRoZSByZXN1bHQgZnJvbSB0aGUgcHJldmlvdXNseSBibG9ja2VkIHNl bGVjdC4KKy0tZWNobyAjIFRoZSBwcmludGluZyBvZiB0aGUgcmVzdWx0ICh2YXJpZXMgYmV0d2Vl biAzIGFuZCA0IHJvd3MpIHNldCBoYXMgdG8gYmUgc3VwcHJlc3NlZC4KKy0tZGlzYWJsZV9yZXN1 bHRfbG9nCistLXJlYXAKKy0tZW5hYmxlX3Jlc3VsdF9sb2cKKworLS1lY2hvICMgU3dpdGNoIHRv IGNvbm5lY3Rpb24gdXNlcjMKK2Nvbm5lY3Rpb24gdXNlcjM7CistLWVjaG8gIyBUaGUgbmV4dCBz ZWxlY3QgZW5mb3JjZXMgdGhhdCBlZmZlY3RzIG9mICJjb25jdXJyZW50X2luc2VydHMiIGxpa2Ug dGhlCistLWVjaG8gIyByZWNvcmQgd2l0aCBhID0gNCBpcyBtaXNzaW5nIGluIHJlc3VsdCBzZXRz IGNhbiBubyBtb3JlIGhhcHBlbi4KK1NFTEVDVCAxIEZST00gdDEgV0hFUkUgYSA9IDQ7CisKKy0t ZWNobyAjIFN3aXRjaCB0byBjb25uZWN0aW9uIHVzZXIxCitjb25uZWN0aW9uIHVzZXIxOworLS1l Y2hvICMgVGhlIG5leHQgcmVzdWx0IHNldCBtdXN0IGNvbnRhaW4gNCByb3dzLgorIyBJZiBub3Qs IHdlIGhhdmUgYSByZWdyZXNzaW9uIG9mIEJ1ZyMyODI0OQorZXZhbCAkc2VsZWN0X2Zvcl9xYzsK K1JFU0VUIFFVRVJZIENBQ0hFOworZXZhbCAkc2VsZWN0X2Zvcl9xYzsKKworRFJPUCBUQUJMRSB0 MSx0MjsKKworLS1lY2hvICMgU3dpdGNoIHRvIGNvbm5lY3Rpb24gZGVmYXVsdCArIGNsb3NlIGNv bm5lY3Rpb25zIHVzZXIxLHVzZXIyLHVzZXIzCitjb25uZWN0aW9uIGRlZmF1bHQ7CitkaXNjb25u ZWN0IHVzZXIxOworZGlzY29ubmVjdCB1c2VyMjsKK2Rpc2Nvbm5lY3QgdXNlcjM7CisKK1NFVCBH TE9CQUwgcXVlcnlfY2FjaGVfdHlwZT0gICAgICAgICBAcXVlcnlfY2FjaGVfdHlwZTsKK1NFVCBH TE9CQUwgcXVlcnlfY2FjaGVfbGltaXQ9ICAgICAgICBAcXVlcnlfY2FjaGVfbGltaXQ7CitTRVQg R0xPQkFMIHF1ZXJ5X2NhY2hlX21pbl9yZXNfdW5pdD0gQHF1ZXJ5X2NhY2hlX21pbl9yZXNfdW5p dDsKK1NFVCBHTE9CQUwgcXVlcnlfY2FjaGVfc2l6ZT0gICAgICAgICBAcXVlcnlfY2FjaGVfc2l6 ZTsKKworCgo=