From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] fix-dup-patch: Rebase to FSF GDB 7.11.90.20161006 (pre-7.12 branch snapshot). Date: Thu, 23 Jul 2026 18:32:35 GMT Message-ID: <178483155591.1.12689654556733710284.rpms-gdb-eed01b8fe7b7@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: eed01b8fe7b7889cefe6b1d7e6aa807a8ae022c1 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGZpeC1kdXAtcGF0Y2gKQ29tbWl0IDogZWVkMDFiOGZlN2I3ODg5Y2VmZTZiMWQ3ZTZhYTgwN2E4 YWUwMjJjMQpBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNv bT4KRGF0ZSAgIDogMjAxNi0xMC0wNlQxNToyMjo0OSswMjowMApTdGF0cyAgOiArNjg0Ly0zNDcg aW4gNSBmaWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMv Z2RiL2MvZWVkMDFiOGZlN2I3ODg5Y2VmZTZiMWQ3ZTZhYTgwN2E4YWUwMjJjMT9icmFuY2g9Zml4 LWR1cC1wYXRjaAoKTG9nOgpSZWJhc2UgdG8gRlNGIEdEQiA3LjExLjkwLjIwMTYxMDA2IChwcmUt Ny4xMiBicmFuY2ggc25hcHNob3QpLgoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdp dGlnbm9yZQppbmRleCAxZWQxZmExLi5hZTllYWZkIDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisr KyBiLy5naXRpZ25vcmUKQEAgLTEsMyArMSwzIEBACiAvZ2RiLWxpYnN0ZGMrKy12My1weXRob24t Ni4xLjEtMjAxNjA4MTcudGFyLnh6CiAvdjEuNS50YXIuZ3oKLS9nZGItNy4xMS45MC4yMDE2MDky OS50YXIueHoKKy9nZGItNy4xMS45MC4yMDE2MTAwNi50YXIueHoKCmRpZmYgLS1naXQgYS9nZGIt cmhiejEzNzU1NTMtYXR0YWNoLWppdC1kZWJ1Zy5wYXRjaCBiL2dkYi1yaGJ6MTM3NTU1My1hdHRh Y2gtaml0LWRlYnVnLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NTU5NGJl Li4wMDAwMDAwCi0tLSBhL2dkYi1yaGJ6MTM3NTU1My1hdHRhY2gtaml0LWRlYnVnLnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsMzM5ICswLDAgQEAKLVJlZ3Jlc3Npb246IGdkYiAtLXBpZCAkKHBp ZG9mIHFlbXUtc3lzdGVtLXg4Nl82NCkgc3RvcHBlZCB3b3JraW5nIHdpdGggZ2RiIDcuMTEuMQot aHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xMzc1NTUzCi0KLWh0 dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDE2LTA5L21zZzAwMzg3Lmh0bWwK LVN1YmplY3Q6IFtwYXRjaCs3LjEyXSBQUiBnZGIvMjA2MDkgLSBhdHRhY2ggb2YgSklULWRlYnVn LWVuYWJsZWQgaW5mIDcuMTEuMSByZWdyZXNzaW9uCi0KLQotLS1jTmR4bkhrWDVRcXN5QTBlCi1D b250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXMtYXNjaWkKLUNvbnRlbnQtRGlzcG9z aXRpb246IGlubGluZQotCi1IaSwKLQotUmVncmVzc2lvbjogZ2RiIC0tcGlkICQocGlkb2YgcWVt dS1zeXN0ZW0teDg2XzY0KSBzdG9wcGVkIHdvcmtpbmcgd2l0aCBnZGIgNy4xMS4xCi1odHRwczov L3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yMDYwOQotCi1JdCB3YXMg cmVwb3J0ZWQgZm9yIHFlbXUtc3lzdGVtLXg4Nl82NCBidXQgaXQgaGFwcGVucyBmb3IgYW55IG11 bHRpdGhyZWFkZWQKLWluZmVyaW9yIHdpdGggYSBKSVQgZGVidWdnaW5nIGhvb2suCi0KLTEzNjYx M2VmMGM2ODUwNDI3MzE3ZTU3YmUxYjY0NDA4MGZmNmRlY2IgaXMgdGhlIGZpcnN0IGJhZCBjb21t aXQKLUF1dGhvcjogUGVkcm8gQWx2ZXMgPHBhbHZlc0ByZWRoYXQuY29tPgotICAgIEZpeCBQUiBn ZGIvMTk4Mjg6IGdkYiAtcCA8cHJvY2VzcyBmcm9tIGEgY29udGFpbmVyPjogaW50ZXJuYWwgZXJy b3IKLU1lc3NhZ2UtSUQ6IDxjYmRmMmUwNC00ZmE4LTg3MmEtMmEyMy0wOGM5YzFiMjZlMDBAcmVk aGF0LmNvbT4KLWh0dHBzOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxNi0wNS9t c2cwMDQ1MC5odG1sCi0KLWppdF9icmVha3BvaW50X3JlX3NldCgpIGlzIHNwZWNpZmljIGJ5IHRy eWluZyB0byBpbnNlcnQgYSBicmVha3BvaW50IGludG8gdGhlCi1tYWluIGV4ZWN1dGFibGUsIG5v dCBpbnRvIGEgc2hhcmVkIGxpYnJhcnkuICBEdXJpbmcgYXR0YWNobWVudCBHREIgdGhpbmtzIGl0 Ci1uZWVkcyB0byB1c2UgJ2JyZWFrcG9pbnQgYWx3YXlzLWluc2VydGVkJyBmcm9tCi1icmVha3Bv aW50c19zaG91bGRfYmVfaW5zZXJ0ZWRfbm93KCkgYXMgYSBuZXdseSBhdHRhY2hlZCB0aHJlYWQg aXMKLSd0aHJlYWRfaW5mby0+ZXhlY3V0aW5nJyBkdWUgdG8gJ2x3cF9pbmZvLT5tdXN0X3NldF9w dHJhY2VfZmxhZ3MnIGVuYWJsZWQgYW5kCi10aGUgdGFzayBub3QgeWV0IHN0b3BwZWQuICBUaGlz IGRpZCBub3QgaGFwcGVuIGJlZm9yZSB0aGUgJ2JhZCBjb21taXQnIGFib3ZlCi13aGljaCBhZGRz IHRyYWNraW5nIG9mIHN1Y2ggdGhyZWFkLgotCi1HREIgdGhlbiBmYWlscyB0byBpbnNlcnQgdGhl IGJyZWFrcG9pbnRzIHRvIGludmFsaWQgYWRkcmVzcyBhcyBQSUUgZXhlY3V0YWJsZQotZ2V0cyBw cm9wZXJseSByZWxvY2F0ZWQgZHVyaW5nIGxhdGVyIHBoYXNlIG9mIGF0dGFjaG1lbnQuICBPbmUg Y2FuIHNlZSBpbiB0aGUKLWJhY2t0cmFjZXMgYmVsb3c6Ci0jMTEgaW4gc2V0dXBfaW5mZXJpb3Ig KGZyb21fdHR5PTApIGF0IGluZmNtZC5jOjI2NjMKLSAtPiBqaXRfYnJlYWtwb2ludF9yZV9zZXRf aW50ZXJuYWwoKQotbGF0ZXI6Ci0jNSAgaW4gc2V0dXBfaW5mZXJpb3IgKGZyb21fdHR5PTApIGF0 IGluZmNtZC5jOjI2NzMKLSAtPiBzdnI0X2V4ZWNfZGlzcGxhY2VtZW50KCkKLQotT25lIGNhbiBz dXBwcmVzcyB0aGUgaW5pdGlhbCBicmVha3BvaW50X3JlX3NldCgpIGNhbGwgYXMgdGhlcmUgd2ls bCBiZSBhbm90aGVyCi1icmVha3BvaW50X3JlX3NldCgpIGRvbmUgZnJvbSB0aGUgZmluYWwgcG9z dF9jcmVhdGVfaW5mZXJpb3IoKSBjYWxsIGluCi1zZXR1cF9pbmZlcmlvcigpLgotCi1CVFcgYWRk aXRpb25hbGx5ICd0aHJlYWRzX2V4ZWN1dGluZycgY2FjaGUgYm9vbCBpcyBzb21laG93IHN0YWxl IChzb21ld2hlcmUgaXMKLW1pc3NpbmcgdXBkYXRlX3RocmVhZHNfZXhlY3V0aW5nKCkpLiAgSSB3 YXMgdHJ5aW5nIHRvIGRlYWwgd2l0aCB0aGF0IGluIG15Ci1maXJzdC9zZWNvbmQgYXR0ZW1wdCBi ZWxvdyBidXQgaW4gbXkgZmluYWwgdGhpcmQgYXR0ZW1wdCAoYXR0YWNoZWQpIEkgaGF2ZQotbGVm dCBpdCBhcyBpdCBpcy4KLQotRmlyc3QgYXR0ZW1wdCB0cnlpbmcgbm90IHRvIGZhbHNlbHkgcmVx dWlyZSAnYnJlYWtwb2ludCBhbHdheXMtaW5zZXJ0ZWQnOgotICBodHRwczovL3Blb3BsZS5yZWRo YXQuY29tL2prcmF0b2NoL3JoYnoxMzc1NTUzLWZpeDEucGF0Y2gKLVJlZHVjZWQgZmlyc3QgYXR0 ZW1wdDoKLSAgaHR0cHM6Ly9wZW9wbGUucmVkaGF0LmNvbS9qa3JhdG9jaC9yaGJ6MTM3NTU1My1m aXgyLnBhdGNoCi0KLVRoZSB0aGlyZCBhdHRlbXB0IHN1cHByZXNzZXMgYnJlYWtwb2ludCBpbnNl cnRpb24gdW50aWwgUElFIGV4ZWN1dGFibGUgZ2V0cwotcmVsb2NhdGVkIGJ5IHN2cjRfZXhlY19k aXNwbGFjZW1lbnQoKS4gIEF0dGFjaGVkLgotCi1ObyByZWdyZXNzaW9ucyBvbiB7eDg2XzY0LHg4 Nl82NC1tMzIsaTY4Nn0tZmVkb3JhMjZwcmUtbGludXgtZ251LgotCi1PSyBmb3IgY2hlY2staW4g Zm9yIHRydW5rICsgNy4xMj8KLQotCi1KYW4KLQotCi0jMCAgaml0X2JyZWFrcG9pbnRfcmVfc2V0 X2ludGVybmFsIChnZGJhcmNoPTB4MjViZWZlMCwgcHNfZGF0YT0weDIzYjM3ZTApIGF0IGppdC5j OjEwNDUKLSMxICBpbiBqaXRfYnJlYWtwb2ludF9yZV9zZXQgKCkgYXQgaml0LmM6MTQwOAotIzIg IGluIGJyZWFrcG9pbnRfcmVfc2V0ICgpIGF0IGJyZWFrcG9pbnQuYzoxNDY2NQotIzMgIGluIGNs ZWFyX3N5bXRhYl91c2VycyAoYWRkX2ZsYWdzPTQpIGF0IHN5bWZpbGUuYzoyOTcwCi0jNCAgaW4g ZmluaXNoX25ld19vYmpmaWxlIChvYmpmaWxlPTB4MjViNmQxMCwgYWRkX2ZsYWdzPTQpIGF0IHN5 bWZpbGUuYzoxMTA5Ci0jNSAgaW4gc3ltYm9sX2ZpbGVfYWRkX3dpdGhfYWRkcnMgKGFiZmQ9MHgy NWI0YmQwLCBuYW1lPTB4MjViMzk3MCAiL3RtcC9hLm91dCIsIGFkZF9mbGFncz00LCBhZGRycz0w eDAsIGZsYWdzPTAsIHBhcmVudD0weDApIGF0IHN5bWZpbGUuYzoxMjMzCi0jNiAgaW4gc3ltYm9s X2ZpbGVfYWRkX2Zyb21fYmZkIChhYmZkPTB4MjViNGJkMCwgbmFtZT0weDI1YjM5NzAgIi90bXAv YS5vdXQiLCBhZGRfZmxhZ3M9NCwgYWRkcnM9MHgwLCBmbGFncz0wLCBwYXJlbnQ9MHgwKSBhdCBz eW1maWxlLmM6MTI3NgotIzcgIGluIHN5bWJvbF9maWxlX2FkZCAobmFtZT0weDI1YjM5NzAgIi90 bXAvYS5vdXQiLCBhZGRfZmxhZ3M9NCwgYWRkcnM9MHgwLCBmbGFncz0wKSBhdCBzeW1maWxlLmM6 MTI5MAotIzggIGluIHN5bWJvbF9maWxlX2FkZF9tYWluXzEgKGFyZ3M9MHgyNWIzOTcwICIvdG1w L2Eub3V0IiwgZnJvbV90dHk9MCwgZmxhZ3M9MCkgYXQgc3ltZmlsZS5jOjEzMTUKLSM5ICBpbiBz eW1ib2xfZmlsZV9hZGRfbWFpbiAoYXJncz0weDI1YjM5NzAgIi90bXAvYS5vdXQiLCBmcm9tX3R0 eT0wKSBhdCBzeW1maWxlLmM6MTMwNgotIzEwIGluIGV4ZWNfZmlsZV9sb2NhdGVfYXR0YWNoIChw aWQ9MjUwMiwgZnJvbV90dHk9MCkgYXQgZXhlYy5jOjIzNQotIzExIGluIHNldHVwX2luZmVyaW9y IChmcm9tX3R0eT0wKSBhdCBpbmZjbWQuYzoyNjYzCi0jMTIgaW4gc3RvcF9hbGxfdGhyZWFkcyAo KSBhdCBpbmZydW4uYzo0NjMwCi0jMTMgaW4gc3RvcF93YWl0aW5nIChlY3M9MHg3ZmZmZmZmZmQ0 MDApIGF0IGluZnJ1bi5jOjc3MTAKLSMxNCBpbiBoYW5kbGVfc2lnbmFsX3N0b3AgKGVjcz0weDdm ZmZmZmZmZDQwMCkgYXQgaW5mcnVuLmM6NTc2NQotIzE1IGluIGhhbmRsZV9pbmZlcmlvcl9ldmVu dF8xIChlY3M9MHg3ZmZmZmZmZmQ0MDApIGF0IGluZnJ1bi5jOjUzOTUKLSMxNiBpbiBoYW5kbGVf aW5mZXJpb3JfZXZlbnQgKGVjcz0weDdmZmZmZmZmZDQwMCkgYXQgaW5mcnVuLmM6NTQyNgotIzE3 IGluIGZldGNoX2luZmVyaW9yX2V2ZW50IChjbGllbnRfZGF0YT0weDApIGF0IGluZnJ1bi5jOjM5 NzIKLSMxOCBpbiBpbmZlcmlvcl9ldmVudF9oYW5kbGVyIChldmVudF90eXBlPUlORl9SRUdfRVZF TlQsIGNsaWVudF9kYXRhPTB4MCkgYXQgaW5mLWxvb3AuYzo0NAotIzE5IGluIGhhbmRsZV90YXJn ZXRfZXZlbnQgKGVycm9yPTAsIGNsaWVudF9kYXRhPTB4MCkgYXQgbGludXgtbmF0LmM6NDUyMwot IzIwIGluIGhhbmRsZV9maWxlX2V2ZW50IChmaWxlX3B0cj0weDI1YWQzMzAsIHJlYWR5X21hc2s9 MSkgYXQgZXZlbnQtbG9vcC5jOjczMwotIzIxIGluIGdkYl93YWl0X2Zvcl9ldmVudCAoYmxvY2s9 MCkgYXQgZXZlbnQtbG9vcC5jOjg1OQotIzIyIGluIGdkYl9kb19vbmVfZXZlbnQgKCkgYXQgZXZl bnQtbG9vcC5jOjMyMgotIzIzIGluIHdhaXRfc3luY19jb21tYW5kX2RvbmUgKCkgYXQgdG9wLmM6 NTY4Ci0jMjQgaW4gbWF5YmVfd2FpdF9zeW5jX2NvbW1hbmRfZG9uZSAod2FzX3N5bmM9MCkgYXQg dG9wLmM6NTg3Ci0jMjUgaW4gY2F0Y2hfY29tbWFuZF9lcnJvcnMgKGNvbW1hbmQ9MHg3NDVlMGMg PGF0dGFjaF9jb21tYW5kKGNoYXIqLCBpbnQpPiwgYXJnPTB4N2ZmZmZmZmZkZDA4ICIyNTAyIiwg ZnJvbV90dHk9MSkgYXQgbWFpbi5jOjM3NwotIzI2IGluIGNhcHR1cmVkX21haW4gKGRhdGE9MHg3 ZmZmZmZmZmQ4MDApIGF0IG1haW4uYzoxMDY1Ci0jMjcgaW4gZ2RiX21haW4gKGFyZ3M9MHg3ZmZm ZmZmZmQ4MDApIGF0IG1haW4uYzoxMTU5Ci0jMjggaW4gbWFpbiAoYXJnYz0xMCwgYXJndj0weDdm ZmZmZmZmZDkwOCkgYXQgZ2RiLmM6MzIKLQotIzAgIHN2cjRfZXhlY19kaXNwbGFjZW1lbnQgKGRp c3BsYWNlbWVudHA9MHg3ZmZmZmZmZmNlZDApIGF0IHNvbGliLXN2cjQuYzoyNjM0Ci0jMSAgaW4g c3ZyNF9yZWxvY2F0ZV9tYWluX2V4ZWN1dGFibGUgKCkgYXQgc29saWItc3ZyNC5jOjMwMzEKLSMy ICBpbiBzdnI0X3NvbGliX2NyZWF0ZV9pbmZlcmlvcl9ob29rIChmcm9tX3R0eT0wKSBhdCBzb2xp Yi1zdnI0LmM6MzA5MgotIzMgIGluIHNvbGliX2NyZWF0ZV9pbmZlcmlvcl9ob29rIChmcm9tX3R0 eT0wKSBhdCBzb2xpYi5jOjEyNzYKLSM0ICBpbiBwb3N0X2NyZWF0ZV9pbmZlcmlvciAodGFyZ2V0 PTB4MjFlZTk4MCA8Y3VycmVudF90YXJnZXQ+LCBmcm9tX3R0eT0wKSBhdCBpbmZjbWQuYzo0NDUK LSM1ICBpbiBzZXR1cF9pbmZlcmlvciAoZnJvbV90dHk9MCkgYXQgaW5mY21kLmM6MjY3MwotIzYg IGluIHN0b3BfYWxsX3RocmVhZHMgKCkgYXQgaW5mcnVuLmM6NDYzMAotIzcgIGluIHN0b3Bfd2Fp dGluZyAoZWNzPTB4N2ZmZmZmZmZkNDAwKSBhdCBpbmZydW4uYzo3NzEwCi0jOCAgaW4gaGFuZGxl X3NpZ25hbF9zdG9wIChlY3M9MHg3ZmZmZmZmZmQ0MDApIGF0IGluZnJ1bi5jOjU3NjUKLSM5ICBp biBoYW5kbGVfaW5mZXJpb3JfZXZlbnRfMSAoZWNzPTB4N2ZmZmZmZmZkNDAwKSBhdCBpbmZydW4u Yzo1Mzk1Ci0jMTAgaW4gaGFuZGxlX2luZmVyaW9yX2V2ZW50IChlY3M9MHg3ZmZmZmZmZmQ0MDAp IGF0IGluZnJ1bi5jOjU0MjYKLSMxMSBpbiBmZXRjaF9pbmZlcmlvcl9ldmVudCAoY2xpZW50X2Rh dGE9MHgwKSBhdCBpbmZydW4uYzozOTcyCi0jMTIgaW4gaW5mZXJpb3JfZXZlbnRfaGFuZGxlciAo ZXZlbnRfdHlwZT1JTkZfUkVHX0VWRU5ULCBjbGllbnRfZGF0YT0weDApIGF0IGluZi1sb29wLmM6 NDQKLSMxMyBpbiBoYW5kbGVfdGFyZ2V0X2V2ZW50IChlcnJvcj0wLCBjbGllbnRfZGF0YT0weDAp IGF0IGxpbnV4LW5hdC5jOjQ1MjMKLSMxNCBpbiBoYW5kbGVfZmlsZV9ldmVudCAoZmlsZV9wdHI9 MHgyNWFkMzMwLCByZWFkeV9tYXNrPTEpIGF0IGV2ZW50LWxvb3AuYzo3MzMKLSMxNSBpbiBnZGJf d2FpdF9mb3JfZXZlbnQgKGJsb2NrPTApIGF0IGV2ZW50LWxvb3AuYzo4NTkKLSMxNiBpbiBnZGJf ZG9fb25lX2V2ZW50ICgpIGF0IGV2ZW50LWxvb3AuYzozMjIKLSMxNyBpbiB3YWl0X3N5bmNfY29t bWFuZF9kb25lICgpIGF0IHRvcC5jOjU2OAotIzE4IGluIG1heWJlX3dhaXRfc3luY19jb21tYW5k X2RvbmUgKHdhc19zeW5jPTApIGF0IHRvcC5jOjU4NwotIzE5IGluIGNhdGNoX2NvbW1hbmRfZXJy b3JzIChjb21tYW5kPTB4NzQ1ZTBjIDxhdHRhY2hfY29tbWFuZChjaGFyKiwgaW50KT4sIGFyZz0w eDdmZmZmZmZmZGQwOCAiMjUwMiIsIGZyb21fdHR5PTEpIGF0IG1haW4uYzozNzcKLSMyMCBpbiBj YXB0dXJlZF9tYWluIChkYXRhPTB4N2ZmZmZmZmZkODAwKSBhdCBtYWluLmM6MTA2NQotIzIxIGlu IGdkYl9tYWluIChhcmdzPTB4N2ZmZmZmZmZkODAwKSBhdCBtYWluLmM6MTE1OQotIzIyIGluIG1h aW4gKGFyZ2M9MTAsIGFyZ3Y9MHg3ZmZmZmZmZmQ5MDgpIGF0IGdkYi5jOjMyCi0KLS0tY05keG5I a1g1UXFzeUEwZQotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXVzLWFzY2lpCi1D b250ZW50LURpc3Bvc2l0aW9uOiBpbmxpbmU7IGZpbGVuYW1lPSJqaXRicC5wYXRjaCIKLQotZ2Ri L0NoYW5nZUxvZwotMjAxNi0wOS0yNyAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEBy ZWRoYXQuY29tPgotCi0JUFIgZ2RiLzIwNjA5IC0gYXR0YWNoIG9mIEpJVC1kZWJ1Zy1lbmFibGVk IGluZiA3LjExLjEgcmVncmVzc2lvbgotCSogZXhlYy5jIChleGVjX2ZpbGVfbG9jYXRlX2F0dGFj aCk6IEFkZCBwYXJhbWV0ZXIgZGVmZXJfYnBfcmVzZXQuCi0JVXNlIGl0LgotCSogZ2RiY29yZS5o IChleGVjX2ZpbGVfbG9jYXRlX2F0dGFjaCk6IEFkZCBwYXJhbWV0ZXIgZGVmZXJfYnBfcmVzZXQu Ci0JKiBpbmZjbWQuYyAoc2V0dXBfaW5mZXJpb3IpOiBVcGRhdGUgY2FsbGVyLgotCSogcmVtb3Rl LmMgKHJlbW90ZV9hZGRfaW5mZXJpb3IpOiBMaWtld2lzZS4KLQotZ2RiL3Rlc3RzdWl0ZS9DaGFu Z2VMb2cKLTIwMTYtMDktMjcgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0 LmNvbT4KLQotCVBSIGdkYi8yMDYwOSAtIGF0dGFjaCBvZiBKSVQtZGVidWctZW5hYmxlZCBpbmYg Ny4xMS4xIHJlZ3Jlc3Npb24KLQkqIGdkYi5iYXNlL2ppdC1hdHRhY2gtcGllLmM6IE5ldyBmaWxl LgotCSogZ2RiLmJhc2Uvaml0LWF0dGFjaC1waWUuZXhwOiBOZXcgZmlsZS4KLQotZGlmZiAtLWdp dCBhL2dkYi9leGVjLmMgYi9nZGIvZXhlYy5jCi1pbmRleCAwMGMzMWQzLi5mMTZjYjRiIDEwMDY0 NAotLS0tIGEvZ2RiL2V4ZWMuYwotKysrIGIvZ2RiL2V4ZWMuYwotQEAgLTE1Nyw3ICsxNTcsNyBA QCBleGNlcHRpb25fcHJpbnRfc2FtZSAoc3RydWN0IGdkYl9leGNlcHRpb24gZTEsIHN0cnVjdCBn ZGJfZXhjZXB0aW9uIGUyKQotIC8qIFNlZSBnZGJjb3JlLmguICAqLwotIAotIHZvaWQKLS1leGVj X2ZpbGVfbG9jYXRlX2F0dGFjaCAoaW50IHBpZCwgaW50IGZyb21fdHR5KQotK2V4ZWNfZmlsZV9s b2NhdGVfYXR0YWNoIChpbnQgcGlkLCBpbnQgZGVmZXJfYnBfcmVzZXQsIGludCBmcm9tX3R0eSkK LSB7Ci0gICBjaGFyICpleGVjX2ZpbGUsICpmdWxsX2V4ZWNfcGF0aCA9IE5VTEw7Ci0gICBzdHJ1 Y3QgY2xlYW51cCAqb2xkX2NoYWluOwotQEAgLTIzMiw2ICsyMzIsOCBAQCBleGVjX2ZpbGVfbG9j YXRlX2F0dGFjaCAoaW50IHBpZCwgaW50IGZyb21fdHR5KQotIAotICAgVFJZCi0gICAgIHsKLSsg ICAgICBpZiAoZGVmZXJfYnBfcmVzZXQpCi0rCWN1cnJlbnRfaW5mZXJpb3IgKCktPnN5bWZpbGVf ZmxhZ3MgfD0gU1lNRklMRV9ERUZFUl9CUF9SRVNFVDsKLSAgICAgICBzeW1ib2xfZmlsZV9hZGRf bWFpbiAoZnVsbF9leGVjX3BhdGgsIGZyb21fdHR5KTsKLSAgICAgfQotICAgQ0FUQ0ggKGVyciwg UkVUVVJOX01BU0tfRVJST1IpCi1AQCAtMjQwLDYgKzI0Miw3IEBAIGV4ZWNfZmlsZV9sb2NhdGVf YXR0YWNoIChpbnQgcGlkLCBpbnQgZnJvbV90dHkpCi0gCXdhcm5pbmcgKCIlcyIsIGVyci5tZXNz YWdlKTsKLSAgICAgfQotICAgRU5EX0NBVENICi0rICBjdXJyZW50X2luZmVyaW9yICgpLT5zeW1m aWxlX2ZsYWdzICY9IH5TWU1GSUxFX0RFRkVSX0JQX1JFU0VUOwotIAotICAgZG9fY2xlYW51cHMg KG9sZF9jaGFpbik7Ci0gfQotZGlmZiAtLWdpdCBhL2dkYi9nZGJjb3JlLmggYi9nZGIvZ2RiY29y ZS5oCi1pbmRleCA4YjEwMWJjLi42YWE5YWZhIDEwMDY0NAotLS0tIGEvZ2RiL2dkYmNvcmUuaAot KysrIGIvZ2RiL2dkYmNvcmUuaAotQEAgLTE1NCw5ICsxNTQsMTAgQEAgZXh0ZXJuIHZvaWQgZXhl Y19maWxlX2F0dGFjaCAoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBmcm9tX3R0eSk7Ci0gLyog SWYgdGhlIGZpbGVuYW1lIG9mIHRoZSBtYWluIGV4ZWN1dGFibGUgaXMgdW5rbm93biwgYXR0ZW1w dCB0bwotICAgIGRldGVybWluZSBpdC4gIElmIGEgZmlsZW5hbWUgaXMgZGV0ZXJtaW5lZCwgcHJv Y2VlZCBhcyB0aG91Z2gKLSAgICBpdCB3YXMganVzdCBzcGVjaWZpZWQgd2l0aCB0aGUgImZpbGUi IGNvbW1hbmQuICBEbyBub3RoaW5nIGlmCi0tICAgdGhlIGZpbGVuYW1lIG9mIHRoZSBtYWluIGV4 ZWN1dGFibGUgaXMgYWxyZWFkeSBrbm93bi4gICovCi0rICAgdGhlIGZpbGVuYW1lIG9mIHRoZSBt YWluIGV4ZWN1dGFibGUgaXMgYWxyZWFkeSBrbm93bi4KLSsgICBERUZFUl9CUF9SRVNFVCB1c2Vz IFNZTUZJTEVfREVGRVJfQlBfUkVTRVQgZm9yIHRoZSBtYWluIHN5bWJvbCBmaWxlLiAgKi8KLSAK LS1leHRlcm4gdm9pZCBleGVjX2ZpbGVfbG9jYXRlX2F0dGFjaCAoaW50IHBpZCwgaW50IGZyb21f dHR5KTsKLStleHRlcm4gdm9pZCBleGVjX2ZpbGVfbG9jYXRlX2F0dGFjaCAoaW50IHBpZCwgaW50 IGRlZmVyX2JwX3Jlc2V0LCBpbnQgZnJvbV90dHkpOwotIAotIGV4dGVybiB2b2lkIGV4ZWNfZmls ZV9jbGVhciAoaW50IGZyb21fdHR5KTsKLSAKLWRpZmYgLS1naXQgYS9nZGIvaW5mY21kLmMgYi9n ZGIvaW5mY21kLmMKLWluZGV4IDQ0YTFmZDEuLjhlMzRiN2UgMTAwNjQ0Ci0tLS0gYS9nZGIvaW5m Y21kLmMKLSsrKyBiL2dkYi9pbmZjbWQuYwotQEAgLTI2NjAsNyArMjY2MCw3IEBAIHNldHVwX2lu ZmVyaW9yIChpbnQgZnJvbV90dHkpCi0gICAvKiBJZiBubyBleGVjIGZpbGUgaXMgeWV0IGtub3du LCB0cnkgdG8gZGV0ZXJtaW5lIGl0IGZyb20gdGhlCi0gICAgICBwcm9jZXNzIGl0c2VsZi4gICov Ci0gICBpZiAoZ2V0X2V4ZWNfZmlsZSAoMCkgPT0gTlVMTCkKLS0gICAgZXhlY19maWxlX2xvY2F0 ZV9hdHRhY2ggKHB0aWRfZ2V0X3BpZCAoaW5mZXJpb3JfcHRpZCksIGZyb21fdHR5KTsKLSsgICAg ZXhlY19maWxlX2xvY2F0ZV9hdHRhY2ggKHB0aWRfZ2V0X3BpZCAoaW5mZXJpb3JfcHRpZCksIDEs IGZyb21fdHR5KTsKLSAgIGVsc2UKLSAgICAgewotICAgICAgIHJlb3Blbl9leGVjX2ZpbGUgKCk7 Ci1kaWZmIC0tZ2l0IGEvZ2RiL3JlbW90ZS5jIGIvZ2RiL3JlbW90ZS5jCi1pbmRleCA5MTBhYzgx Li5iNDYwYmIxIDEwMDY0NAotLS0tIGEvZ2RiL3JlbW90ZS5jCi0rKysgYi9nZGIvcmVtb3RlLmMK LUBAIC0xNzk5LDcgKzE3OTksNyBAQCByZW1vdGVfYWRkX2luZmVyaW9yIChpbnQgZmFrZV9waWRf cCwgaW50IHBpZCwgaW50IGF0dGFjaGVkLAotICAgLyogSWYgbm8gbWFpbiBleGVjdXRhYmxlIGlz IGN1cnJlbnRseSBvcGVuIHRoZW4gYXR0ZW1wdCB0bwotICAgICAgb3BlbiB0aGUgZmlsZSB0aGF0 IHdhcyBleGVjdXRlZCB0byBjcmVhdGUgdGhpcyBpbmZlcmlvci4gICovCi0gICBpZiAodHJ5X29w ZW5fZXhlYyAmJiBnZXRfZXhlY19maWxlICgwKSA9PSBOVUxMKQotLSAgICBleGVjX2ZpbGVfbG9j YXRlX2F0dGFjaCAocGlkLCAxKTsKLSsgICAgZXhlY19maWxlX2xvY2F0ZV9hdHRhY2ggKHBpZCwg MCwgMSk7Ci0gCi0gICByZXR1cm4gaW5mOwotIH0KLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2ppdC1hdHRhY2gtcGllLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ppdC1h dHRhY2gtcGllLmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi41MDgwYmRl Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ppdC1hdHRhY2gt cGllLmMKLUBAIC0wLDAgKzEsNjEgQEAKLSsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RC LCB0aGUgR05VIGRlYnVnZ2VyLgotKwotKyAgIENvcHlyaWdodCAyMDE2IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsg ICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBM aWNlbnNlLCBvcgotKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0r ICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsKLSsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg YSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFsb25nIHdpdGgg dGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+ LiAgKi8KLSsKLSsjaW5jbHVkZSA8dW5pc3RkLmg+Ci0rI2luY2x1ZGUgPHN0ZGludC5oPgotKyNp bmNsdWRlIDxwdGhyZWFkLmg+Ci0rCi0rc3RydWN0IGppdF9jb2RlX2VudHJ5Ci0rewotKyAgc3Ry dWN0IGppdF9jb2RlX2VudHJ5ICpuZXh0X2VudHJ5OwotKyAgc3RydWN0IGppdF9jb2RlX2VudHJ5 ICpwcmV2X2VudHJ5OwotKyAgY29uc3QgY2hhciAqc3ltZmlsZV9hZGRyOwotKyAgdWludDY0X3Qg c3ltZmlsZV9zaXplOwotK307Ci0rCi0rc3RydWN0IGppdF9kZXNjcmlwdG9yCi0rewotKyAgdWlu dDMyX3QgdmVyc2lvbjsKLSsgIC8qIFRoaXMgdHlwZSBzaG91bGQgYmUgaml0X2FjdGlvbnNfdCwg YnV0IHdlIHVzZSB1aW50MzJfdAotKyAgICAgdG8gYmUgZXhwbGljaXQgYWJvdXQgdGhlIGJpdHdp ZHRoLiAgKi8KLSsgIHVpbnQzMl90IGFjdGlvbl9mbGFnOwotKyAgc3RydWN0IGppdF9jb2RlX2Vu dHJ5ICpyZWxldmFudF9lbnRyeTsKLSsgIHN0cnVjdCBqaXRfY29kZV9lbnRyeSAqZmlyc3RfZW50 cnk7Ci0rfTsKLSsKLStzdHJ1Y3Qgaml0X2Rlc2NyaXB0b3IgX19qaXRfZGVidWdfZGVzY3JpcHRv ciA9IHsgMSwgMCwgMCwgMCB9OwotKwotK3ZvaWQgX19qaXRfZGVidWdfcmVnaXN0ZXJfY29kZSgp Ci0rewotK30KLSsKLStzdGF0aWMgdm9pZCAqCi0rdGhyZWFkX3Byb2MgKHZvaWQgKmFyZykKLSt7 Ci0rICBzbGVlcCAoNjApOwotKyAgcmV0dXJuIGFyZzsKLSt9Ci0rCi0raW50Ci0rbWFpbiAodm9p ZCkKLSt7Ci0rICBwdGhyZWFkX3QgdGhyZWFkOwotKwotKyAgcHRocmVhZF9jcmVhdGUgKCZ0aHJl YWQsIE5VTEwsIHRocmVhZF9wcm9jLCAwKTsKLSsgIHB0aHJlYWRfam9pbiAodGhyZWFkLCBOVUxM KTsKLSsgIHJldHVybiAwOwotK30KLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2ppdC1hdHRhY2gtcGllLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvaml0LWF0dGFjaC1w aWUuZXhwCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uMmMyNTczMwotLS0t IC9kZXYvbnVsbAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9qaXQtYXR0YWNoLXBpZS5l eHAKLUBAIC0wLDAgKzEsNDggQEAKLSsjIENvcHlyaWdodCAoQykgMjAxNiBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KLSsjCi0rIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyMgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsj IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp Y2Vuc2UsIG9yCi0rIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKyMKLSsj IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAotKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKLSsjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSsjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCi0rIwotKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w eSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSsjIGFsb25nIHdpdGggdGhpcyBw cm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotKwot K2lmIHshW2Nhbl9zcGF3bl9mb3JfYXR0YWNoXX0gewotKyAgICByZXR1cm4gMAotK30KLSsKLStz dGFuZGFyZF90ZXN0ZmlsZSAuYwotK3NldCBleGVjdXRhYmxlICR7dGVzdGZpbGV9Ci0rCi0raWYg eyBbYnVpbGRfZXhlY3V0YWJsZSAke3Rlc3RmaWxlfS5leHAgJGV4ZWN1dGFibGUgJHNyY2ZpbGUg XAotKwkJCSAgW2xpc3QgZGVidWcgcHRocmVhZHMgImFkZGl0aW9uYWxfZmxhZ3M9LWZQSUUgLXBp ZSJdXSB9IHsKLSsgICAgcmV0dXJuIC0xCi0rfQotKwotKyMgU3RhcnQgdGhlIHByb2dyYW0gcnVu bmluZyBhbmQgdGhlbiB3YWl0IGZvciBhIGJpdCwgdG8gYmUgc3VyZQotKyMgdGhhdCBpdCBjYW4g YmUgYXR0YWNoZWQgdG8uCi0rCi0rc2V0IHRlc3Rfc3Bhd25faWQgW3NwYXduX3dhaXRfZm9yX2F0 dGFjaCAkYmluZmlsZV0KLStzZXQgdGVzdHBpZCBbc3Bhd25faWRfZ2V0X3BpZCAkdGVzdF9zcGF3 bl9pZF0KLSsKLSsjIGdkYl9sb2FkICgiZmlsZSIgY29tbWFuZCkgbXVzdCBub3QgYmUgZXhlY3V0 ZWQgZm9yIHRoZSBidWcgcmVwcm9kdWNpYmlsaXR5LgotKyMgVGhhdCBpbmNsdWRlcyBwcmVwYXJl X2Zvcl90ZXN0aW5nIG9yIGNsZWFuX3Jlc3RhcnQuCi0rZ2RiX3N0YXJ0Ci0rCi0rc2V0IHRlc3Qg ImF0dGFjaCIKLStnZGJfdGVzdF9tdWx0aXBsZSAiYXR0YWNoICR0ZXN0cGlkIiAkdGVzdCB7Ci0r ICAgIC1yZSAiQXR0YWNoaW5nIHRvIHByb2Nlc3MgJHRlc3RwaWRcclxuLipDYW5ub3QgaW5zZXJ0 IGJyZWFrcG9pbnQgLipcclxuJGdkYl9wcm9tcHQgJCIgewotKwlmYWlsICR0ZXN0Ci0rICAgIH0K LSsgICAgLXJlICJBdHRhY2hpbmcgdG8gcHJvY2VzcyAkdGVzdHBpZFxyXG4uKlxyXG4kZ2RiX3By b21wdCAkIiB7Ci0rCXBhc3MgJHRlc3QKLSsgICAgfQotK30KLSsKLStraWxsX3dhaXRfc3Bhd25l ZF9wcm9jZXNzICR0ZXN0X3NwYXduX2lkCi0KLS0tY05keG5Ia1g1UXFzeUEwZS0tCi0KCmRpZmYg LS1naXQgYS9nZGItdXBzdHJlYW0ucGF0Y2ggYi9nZGItdXBzdHJlYW0ucGF0Y2gKaW5kZXggODcz NjRhZi4uNjQ5ODA0YiAxMDA2NDQKLS0tIGEvZ2RiLXVwc3RyZWFtLnBhdGNoCisrKyBiL2dkYi11 cHN0cmVhbS5wYXRjaApAQCAtNTMsMyArNTMsNjgwIEBAIERhdGU6ICAgU3VuIFNlcCAxMSAxNjo1 MzowOSAyMDE2IC0wNDAwCiAgfQogIAogIHN0YXRpYyB2b2lkCisKKworY29tbWl0IGYzODlmNmZl Zjc2ZDdjZjhlOGJlYjcwNjFlZGZmMjE1NWMyODQ4OTgKK0F1dGhvcjogSmFuIEtyYXRvY2h2aWwg PGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CitEYXRlOiAgIFdlZCBPY3QgNSAyMTo1Njo0NiAy MDE2ICswMjAwCisKKyAgICB0ZXN0c3VpdGU6IEZpeCByZWNlbnQgR0NDIEZBSUw6IGdkYi5hcmNo L2kzODYtc2lnbmFsLmV4cAorICAgIAorICAgIGdjYy02LjIuMS0yLmZjMjQueDg2XzY0CisgICAg CisgICAgKGdkYikgYmFja3RyYWNlIDEwXk0KKyAgICAoZ2RiKSBGQUlMOiBnZGIuYXJjaC9pMzg2 LXNpZ25hbC5leHA6IGJhY2t0cmFjZSAxMAorICAgIAorICAgIChnZGIpIGRpc2FzL3MKKyAgICBE dW1wIG9mIGFzc2VtYmxlciBjb2RlIGZvciBmdW5jdGlvbiBtYWluOgorICAgIC4uLi9nZGIvdGVz dHN1aXRlL2dkYi5hcmNoL2kzODYtc2lnbmFsLmM6CisgICAgMzAgICAgICB7CisgICAgICAgMHgw MDAwMDAwMDAwNDAwNTdmIDwrMD46ICAgICBwdXNoICAgJXJicAorICAgICAgIDB4MDAwMDAwMDAw MDQwMDU4MCA8KzE+OiAgICAgbW92ICAgICVyc3AsJXJicAorICAgIDMxICAgICAgICBzZXR1cCAo KTsKKyAgICAgICAweDAwMDAwMDAwMDA0MDA1ODMgPCs0PjogICAgIGNhbGxxICAweDQwMDU5MCA8 c2V0dXA+CisgICAgPT4gMHgwMDAwMDAwMDAwNDAwNTg4IDwrOT46ICAgICBtb3YgICAgJDB4MCwl ZWF4CisgICAgMzIgICAgICB9CisgICAgICAgMHgwMDAwMDAwMDAwNDAwNThkIDwrMTQ+OiAgICBw b3AgICAgJXJicAorICAgICAgIDB4MDAwMDAwMDAwMDQwMDU4ZSA8KzE1PjogICAgcmV0cQorICAg IEVuZCBvZiBhc3NlbWJsZXIgZHVtcC4KKyAgICAKKyAgICBUaGUgLmV4cCBwYXRjaCBpcyBhbiBv YnZpb3VzIHR5cG8gZml4IEkgdGhpbmsuICBUaGUgcmVnZXggd2FzIHdyaXR0ZW4gdG8KKyAgICBh Y2NlcHQgIkFERFIgaW4gbWFpbiIgYW5kIEkgZmluZCBpdCBPSyBhcyBjaGVja2luZyAuZGVidWdf bGluZSB2YWxpZGl0eSBpcyBub3QKKyAgICB0aGUgcHVycG9zZSBvZiB0aGlzIHRlc3RmaWxlLgor ICAgIAorICAgIGdjYy00LjguNS0xMS5lbDcueDg2XzY0IGRpZCBub3QgcHV0IHRoZSAnbW92ICQw eDAsJWVheCcgaW5zdHJ1Y3Rpb24gdGhlcmUgYXQKKyAgICBhbGwgc28gdGhlcmUgd2FzIG5vIHBy b2JsZW0gd2l0aCAuZGVidWdfbGluZS4KKyAgICAKKyAgICBnZGIvdGVzdHN1aXRlL0NoYW5nZUxv ZworICAgIDIwMTYtMTAtMDUgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0 LmNvbT4KKyAgICAKKyAgICAJKiBnZGIuYXJjaC9pMzg2LXNpZ25hbC5leHAgKGJhY2t0cmFjZSAx MCk6IEZpeCAjMiB0eXBvLgorCisjIyMgYS9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZworIyMjIGIv Z2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKKyMjIC0xLDMgKzEsNyBAQAorKzIwMTYtMTAtMDUgIEph biBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKysKKysJKiBnZGIuYXJj aC9pMzg2LXNpZ25hbC5leHAgKGJhY2t0cmFjZSAxMCk6IEZpeCAjMiB0eXBvLgorKworIDIwMTYt MTAtMDUgIFlhbyBRaSAgPHlhby5xaUBsaW5hcm8ub3JnPgorIAorIAkqIGxpYi9nZGIuZXhwIChz dXBwb3J0X2NvbXBsZXhfdGVzdHMpOiBSZXR1cm4gemVybyBpZgorLS0tIGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYXJjaC9pMzg2LXNpZ25hbC5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gv aTM4Ni1zaWduYWwuZXhwCitAQCAtMzUsNiArMzUsNiBAQCBnZGJfbG9hZCAke2JpbmZpbGV9Cisg CisgcnVudG8gZnVuYworIGdkYl90ZXN0ICJiYWNrdHJhY2UgMTAiIFwKKy0gICAgIiMwICAoJGhl eCBpbiApP2Z1bmMuKlxyXG4jMSAgPHNpZ25hbCBoYW5kbGVyIGNhbGxlZD5cclxuIzIgICgkaGV4 IGluKT9tYWluLioiCisrICAgICIjMCAgKCRoZXggaW4gKT9mdW5jLipcclxuIzEgIDxzaWduYWwg aGFuZGxlciBjYWxsZWQ+XHJcbiMyICAoJGhleCBpbiApP21haW4uKiIKKyAKKyBnZGJfdGVzdCAi ZmluaXNoIiAiUnVuIHRpbGwgZXhpdCBmcm9tIFwjMCAgZnVuYy4qPHNpZ25hbCBoYW5kbGVyIGNh bGxlZD4iCisKKworY29tbWl0IGUwMjc5NzZmMDJjZThlZDRjZjBkYTc5MjM4MjI2YzAzYTY0MGYy YjMKK0F1dGhvcjogUGVkcm8gQWx2ZXMgPHBhbHZlc0ByZWRoYXQuY29tPgorRGF0ZTogICBUaHUg T2N0IDYgMTI6NTc6MzkgMjAxNiArMDEwMAorCisgICAgRml4IGEgZmV3IGdkYi5iYXNlL2ppdC1z aW1wbGUuZXhwIHByb2JsZW1zCisgICAgCisgICAgSSBub3RpY2VkIHRoYXQgd2Ugc29tZXRpbWVz IGdldCB0aGlzOgorICAgIAorICAgICAgKGdkYikgcHJpbnQgJl9faml0X2RlYnVnX2Rlc2NyaXB0 b3IKKyAgICAgICQxID0gKHN0cnVjdCBqaXRfZGVzY3JpcHRvciAqKSAweDYwMTA0MCA8X19qaXRf ZGVidWdfZGVzY3JpcHRvcj4KKyAgICAgIChnZGIpIFBBU1M6IGdkYi5iYXNlL2ppdC1zaW1wbGUu ZXhwOiBibGFoIDEKKyAgICAgIFsuLi5dCisgICAgICAoZ2RiKSBydW4KKyAgICAgIFsuLi5dCisg ICAgICBTdGFydGluZyBwcm9ncmFtOiBidWlsZC9nZGIvdGVzdHN1aXRlL291dHB1dHMvZ2RiLmJh c2Uvaml0LXNpbXBsZS9qaXQtc2ltcGxlCisgICAgICBVbnN1cHBvcnRlZCBKSVQgcHJvdG9jb2wg dmVyc2lvbiA0IGluIGRlc2NyaXB0b3IgKGV4cGVjdGVkIDEpCisgICAgCisgICAgICBCcmVha3Bv aW50IDIsIG1haW4gKCkgYXQgc3JjL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvaml0LXNpbXBsZS5j OjM2CisgICAgICAzNiAgICAgICAgcmV0dXJuIDA7CisgICAgICAoZ2RiKSBwcmludCAmX19qaXRf ZGVidWdfZGVzY3JpcHRvcgorICAgICAgJDIgPSAoc3RydWN0IGppdF9kZXNjcmlwdG9yICopIDB4 NjAxMDQwIDxfX2ppdF9kZWJ1Z19kZXNjcmlwdG9yPgorICAgICAgKGdkYikgUEFTUzogZ2RiLmJh c2Uvaml0LXNpbXBsZS5leHA6IGJsYWggMQorICAgIAorICAgIEFsbCB0ZXN0cyBQQVNTZWQsIGJ1 dCBub3RlIHRoZSAiVW5zdXBwb3J0ZWQgSklUIHByb3RvY29sIHZlcnNpb24gNCIKKyAgICBtZXNz YWdlLgorICAgIAorICAgIEFsc28gbm90aWNlIHRoYXQgIl9faml0X2RlYnVnX2Rlc2NyaXB0b3Ii IGhhcyB0aGUgc2FtZSBhZGRyZXNzIGJlZm9yZQorICAgIGFuZCBhZnRlciB0aGUgcmVydW4sIHdo aWxlIHRoZSB0ZXN0IGlzIGJ1aWx0IGluIGEgd2F5IHRoYXQgc2hvdWxkIG1ha2UKKyAgICB0aGF0 IGFkZHJlc3MgY2hhbmdlIGJldHdlZW4gcnVucy4KKyAgICAKKyAgICBUaGUgdGVzdCBkb2Vzbid0 IGNhdGNoIGFueSBvZiB0aGlzIGJlY2F1c2UgaXQgZG9lc24ndCBjb21wYXJlCisgICAgYmVmb3Jl L2FmdGVyIGFkZHJlc3Nlcy4KKyAgICAKKyAgICBBbmQgdGhlbiBub3RpY2UgdGhlICJibGFoIDEi IHRlc3QgbWVzc2FnZXMuICAiYmxhaCIgaXMgY2xlYXJseSBhIFdJUAorICAgIG1lc3NhZ2UsIGJ1 dCBpdCBzaG91bGQgYmUgYXQgbGVhc3QgImJsYWggMiIgdGhlIHNlY29uZCB0aW1lLiAgOi0pCisg ICAgCisgICAgVGhlIHJlYXNvbiB0aGlzIHNvbWV0aW1lcyBoYXBwZW5zIGlzIHRoYXQgdGhlIHRl c3QgcmVjb21waWxlcyB0aGUKKyAgICBwcm9ncmFtIGFuZCBleHBlY3RzIGdkYiB0byByZWxvYWQg aXQgYXV0b21hdGljYWxseXQgb24gInJ1biIuICBIb3dldmVyLAorICAgIGlmIHRoZSBvcmlnaW5h bCBwcm9ncmFtIGFuZCB0aGUgbmV3IHJlY29tcGlsYXRpb24gaGFwcGVuIHRvIGJlIGluIHRoZQor ICAgIHNhbWUgc2Vjb25kLCB0aGVuIGdkYiBkb2VzIG5vdCByZWFsaXplIHRoYXQgdGhlIGJpbmFy eSBuZWVkcyB0byBiZQorICAgIHJlbG9hZGVkLiAgKFRoaXMgaXMgYW4gb2xkIHByb2JsZW0gb3V0 IG9mIHNjb3BlIG9mIHRoaXMgc2VyaWVzLikgIElmCisgICAgdGhhdCBoYXBwZW5zLCB0aGVuIEdE QiBlbmRzIHVwIHVzaW5nIHRoZSB3cm9uZyBzeW1ib2xzIGZvciB0aGUgcHJvZ3JhbQorICAgIHRo YXQgaXQgc3Bhd25zLCByZWFkcyB0aGUgSklUIGRlc2NyaXB0b3Igb3V0IG9mIHRoZSB3cm9uZyBh ZGRyZXNzLAorICAgIGZpbmRzIGdhcmJhZ2UsIGFuZCBwcmludHMgdGhhdCAidW5zdXBwb3J0ZWQg dmVyc2lvbiIgbm90aWNlLgorICAgIAorICAgIEZpeCB0aGF0IGluIHRoZSBzYW1lIHdheSBnZGIu YmFzZS9yZXJlYWQuZXhwIGhhbmRsZXMgaXQgLS0gYnkgc2xlZXBpbmcKKyAgICBvbmUgc2Vjb25k IGJlZm9yZSByZWNvbXBpbGluZy4KKyAgICAKKyAgICBnZGIvdGVzdHN1aXRlL0NoYW5nZUxvZzoK KyAgICAyMDE2LTEwLTA2ICBQZWRybyBBbHZlcyAgPHBhbHZlc0ByZWRoYXQuY29tPgorICAgIAor ICAgIAkqIGdkYi5iYXNlL2ppdC1zaW1wbGUuZXhwICh0b3AgbGV2ZWwpIERlbGV0ZSBnZXRfY29t cGlsZXJfaW5mbworICAgIAljYWxsLgorICAgIAkoaml0X3J1bik6IERlbGV0ZS4KKyAgICAJKGpp dF90ZXN0X3JlcmVhZCk6IFVzZSB3aXRoX3Rlc3RfcHJlZml4LiAgUmVsb2FkIHRoZSBtYWluIGJp bmFyeQorICAgIAlleHBsaWNpdGx5LiAgQ29tcGFyZSB0aGUgYmVmb3JlL2FmdGVyIGFkZHJlc3Nl cyBvZiB0aGUgSklUCisgICAgCWRlc2NyaXB0b3IuCisKKyMjIyBhL2dkYi90ZXN0c3VpdGUvQ2hh bmdlTG9nCisjIyMgYi9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZworIyMgLTEsMyArMSwxMiBAQAor KzIwMTYtMTAtMDYgIFBlZHJvIEFsdmVzICA8cGFsdmVzQHJlZGhhdC5jb20+CisrCisrCSogZ2Ri LmJhc2Uvaml0LXNpbXBsZS5leHAgKHRvcCBsZXZlbCkgRGVsZXRlIGdldF9jb21waWxlcl9pbmZv CisrCWNhbGwuCisrCShqaXRfcnVuKTogRGVsZXRlLgorKwkoaml0X3Rlc3RfcmVyZWFkKTogVXNl IHdpdGhfdGVzdF9wcmVmaXguICBSZWxvYWQgdGhlIG1haW4gYmluYXJ5CisrCWV4cGxpY2l0bHku ICBDb21wYXJlIHRoZSBiZWZvcmUvYWZ0ZXIgYWRkcmVzc2VzIG9mIHRoZSBKSVQKKysJZGVzY3Jp cHRvci4KKysKKyAyMDE2LTEwLTAzICBBbnRvaW5lIFRyZW1ibGF5ICA8YW50b2luZS50cmVtYmxh eUBlcmljc3Nvbi5jb20+CisgMjAxNi0xMC0wMyAgU2ltb24gTWFyY2hpICA8c2ltb24ubWFyY2hp QGVyaWNzc29uLmNvbT4KKyAKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvaml0LXNpbXBs ZS5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvaml0LXNpbXBsZS5leHAKK0BAIC0x OCwxNiArMTgsNiBAQCBpZiB7W3NraXBfc2hsaWJfdGVzdHNdfSB7CisgICAgIHJldHVybiAtMQor IH0KKyAKKy1pZiB7W2dldF9jb21waWxlcl9pbmZvXX0geworLSAgICB3YXJuaW5nICJDb3VsZCBu b3QgZ2V0IGNvbXBpbGVyIGluZm8iCistICAgIHVudGVzdGVkIGppdC1zaW1wbGUuZXhwCistICAg IHJldHVybiAxCistfQorLQorLSMKKy0jIHRlc3QgcnVubmluZyBwcm9ncmFtcworLSMKKy0KKyBz dGFuZGFyZF90ZXN0ZmlsZQorIAorIGlmIHtbYnVpbGRfZXhlY3V0YWJsZSAkdGVzdGZpbGUuZXhw ICR0ZXN0ZmlsZSAkc3JjZmlsZSBkZWJ1Z10gPT0gLTF9IHsKK0BAIC0zNSwzOSArMjUsNDMgQEAg aWYge1tidWlsZF9leGVjdXRhYmxlICR0ZXN0ZmlsZS5leHAgJHRlc3RmaWxlICRzcmNmaWxlIGRl YnVnXSA9PSAtMX0geworICAgICByZXR1cm4gLTEKKyB9CisgCistIyBBIGhlbHBlciBmb3Igaml0 X3Rlc3RfcmVyZWFkIHRoYXQgaW52b2tlcyBnZGJfcnVuX2NtZC4KKy1wcm9jIGppdF9ydW4ge21z Z30geworLSAgICBnbG9iYWwgZGVjaW1hbCBnZGJfcHJvbXB0CistCistICAgIGdkYl9ydW5fY21k CistICAgIGdkYl90ZXN0ICIiICJJbmZlcmlvciAuKiBleGl0ZWQuKiIgJG1zZworLX0KKy0KKyAj IFRlc3QgcmUtcnVubmluZyBhbiBpbmZlcmlvciB3aXRoIGEgSklUIGRlc2NyaXB0b3IsIHdoZXJl IHRoZSBKSVQKKyAjIGRlc2NyaXB0b3IgY2hhbmdlcyBhZGRyZXNzIGJldHdlZW4gcnVucy4KKyAj IGh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTM0MzEKKyBw cm9jIGppdF90ZXN0X3JlcmVhZCB7fSB7CisgICAgIGdsb2JhbCB0ZXN0ZmlsZSBiaW5maWxlIHN1 YmRpciBzcmNmaWxlIHNyY2RpcgorKyAgICBnbG9iYWwgaGV4CisgCistICAgIGNsZWFuX3Jlc3Rh cnQgJHRlc3RmaWxlCisrICAgIHdpdGhfdGVzdF9wcmVmaXggImluaXRpYWwgcnVuIiB7CisrCWNs ZWFuX3Jlc3RhcnQgJHRlc3RmaWxlCisgCistICAgICMgaml0X3J1biAiaW5pdGlhbCBydW4iCist ICAgIHJ1bnRvX21haW4KKy0KKy0gICAgZ2RiX3Rlc3QgInByaW50ICZfX2ppdF9kZWJ1Z19kZXNj cmlwdG9yIiAiPSAuKiIgImJsYWggMSIKKysJcnVudG9fbWFpbgorIAorLSAgICBnZGJfcmVuYW1l X2V4ZWNmaWxlICRiaW5maWxlICR7YmluZmlsZX14CisrCXNldCBhZGRyX2JlZm9yZSBbZ2V0X2hl eGFkZWNpbWFsX3ZhbHVlb2YgIiZfX2ppdF9kZWJ1Z19kZXNjcmlwdG9yIiAwIFwKKysJCQkgICAg ICJnZXQgYWRkcmVzcyBvZiBfX2ppdF9kZWJ1Z19kZXNjcmlwdG9yIl0KKysgICAgfQorIAorLSAg ICBpZiAgeyBbZ2RiX2NvbXBpbGUgIiR7c3JjZGlyfS8ke3N1YmRpcn0vJHtzcmNmaWxlfSIgIiR7 YmluZmlsZX0iIGV4ZWN1dGFibGUge2RlYnVnIGFkZGl0aW9uYWxfZmxhZ3M9LURTUEFDRVJ9XSAh PSAiIiB9IHsKKy0JZmFpbCAicmVjb21waWxlICRzcmNmaWxlIgorLSAgICB9IGVsc2UgeworLQlw YXNzICJyZWNvbXBpbGUgJHNyY2ZpbGUiCisrICAgIHdpdGhfdGVzdF9wcmVmaXggInNlY29uZCBy dW4iIHsKKysJIyBFbnN1cmUgdGhhdCB0aGUgbmV3IGV4ZWN1dGFibGUgaXMgYXQgbGVhc3Qgb25l IHNlY29uZCBuZXdlcgorKwkjIHRoYW4gdGhlIG9sZC4gIElmIHRoZSByZWNvbXBpbGF0aW9uIGhh cHBlbnMgaW4gdGhlIHNhbWUKKysJIyBzZWNvbmQsIGdkYiBtaWdodCBub3QgcmVsb2FkIHRoZSBl eGVjdXRhYmxlIGF1dG9tYXRpY2FsbHkuCisrCXNsZWVwIDEKKyAKKy0JIyBqaXRfcnVuICJzZWNv bmQgcnVuIgorKwlnZGJfcmVuYW1lX2V4ZWNmaWxlICRiaW5maWxlICR7YmluZmlsZX14CisrCWlm ICB7IFtnZGJfY29tcGlsZSAiJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3NyY2ZpbGV9IiAiJHtiaW5m aWxlfSIgZXhlY3V0YWJsZSB7ZGVidWcgYWRkaXRpb25hbF9mbGFncz0tRFNQQUNFUn1dICE9ICIi IH0geworKwkgICAgZmFpbCAicmVjb21waWxlIgorKwkgICAgcmV0dXJuCisrCX0gZWxzZSB7Cisr CSAgICBwYXNzICJyZWNvbXBpbGUiCisrCX0KKyAKKyAJcnVudG9fbWFpbgorLQlnZGJfdGVzdCAi cHJpbnQgJl9faml0X2RlYnVnX2Rlc2NyaXB0b3IiICI9IC4qIiAiYmxhaCAxIgorKworKwlzZXQg YWRkcl9hZnRlciBbZ2V0X2hleGFkZWNpbWFsX3ZhbHVlb2YgIiZfX2ppdF9kZWJ1Z19kZXNjcmlw dG9yIiAwIFwKKysJCQkgICAgImdldCBhZGRyZXNzIG9mIF9faml0X2RlYnVnX2Rlc2NyaXB0b3Ii XQorICAgICB9CisrCisrICAgIGdkYl9hc3NlcnQgeyRhZGRyX2JlZm9yZSAhPSAkYWRkcl9hZnRl cn0gImFkZHJlc3MgY2hhbmdlZCIKKyB9CisgCisgaml0X3Rlc3RfcmVyZWFkCisKKworY29tbWl0 IGY4ZGE2ZmUzOTljOGRhZmE5OGU3ZGJlZDM2ZDM1NjJhOTE5NzY4ZjUKK0F1dGhvcjogUGVkcm8g QWx2ZXMgPHBhbHZlc0ByZWRoYXQuY29tPgorRGF0ZTogICBUaHUgT2N0IDYgMTI6NTc6NDAgMjAx NiArMDEwMAorCisgICAgRml4IFBSMTEwOTQ6IEpJVCBicmVha3BvaW50IGlzIG5vdCBwcm9wZXJs eSByZWNyZWF0ZWQgb24gcmVydW5zCisgICAgCisgICAgRXZlbiB0aG91Z2ggdGhpcyB3YXMgc3Vw cG9zZWRseSBpbiB0aGUgZ2RiIDcuMiB0aW1lZnJhbWUsIHRoZSB0ZXN0Y2FzZQorICAgIGluIFBS MTEwOTQgY3Jhc2hlcyBjdXJyZW50IEdEQiB3aXRoIGEgc2VnZmF1bHQ6CisgICAgCisgICAgICBQ cm9ncmFtIHJlY2VpdmVkIHNpZ25hbCBTSUdTRUdWLCBTZWdtZW50YXRpb24gZmF1bHQuCisgICAg ICAweDAwMDAwMDAwMDA1ZWU4OTQgaW4gZXZlbnRfbG9jYXRpb25fdG9fc3RyaW5nIChsb2NhdGlv bj0weDApIGF0CisgICAgICBzcmMvZ2RiL2xvY2F0aW9uLmM6NDEyCisgICAgICA0MTIgICAgICAg aWYgKEVMX1NUUklORyAobG9jYXRpb24pID09IE5VTEwpCisgICAgICAodG9wLWdkYikgYnQKKyAg ICAgICMwICAweDAwMDAwMDAwMDA1ZWU4OTQgaW4gZXZlbnRfbG9jYXRpb25fdG9fc3RyaW5nIChs b2NhdGlvbj0weDApIGF0CisgICAgICBzcmMvZ2RiL2xvY2F0aW9uLmM6NDEyCisgICAgICAjMSAg MHgwMDAwMDAwMDAwNTc0MTFhIGluIHByaW50X2JyZWFrcG9pbnRfbG9jYXRpb24gKGI9MHgxODI4 OGUwLCBsb2M9MHgwKSBhdAorICAgICAgc3JjL2dkYi9icmVha3BvaW50LmM6NjIwMQorICAgICAg IzIgIDB4MDAwMDAwMDAwMDU3NDgzZiBpbiBwcmludF9vbmVfYnJlYWtwb2ludF9sb2NhdGlvbiAo Yj0weDE4Mjg4ZTAsCisgICAgICBsb2M9MHgxODJjZjEwLCBsb2NfbnVtYmVyPTAsIGxhc3RfbG9j PTB4N2ZmZmZmZmZkMjU4LCBhbGxmbGFnPTEpCisgICAgICAgICAgYXQgc3JjL2dkYi9icmVha3Bv aW50LmM6NjQ3MworICAgICAgIzMgIDB4MDAwMDAwMDAwMDU3NTFlMSBpbiBwcmludF9vbmVfYnJl YWtwb2ludCAoYj0weDE4Mjg4ZTAsCisgICAgICBsYXN0X2xvYz0weDdmZmZmZmZmZDI1OCwgYWxs ZmxhZz0xKSBhdAorICAgICAgc3JjL2dkYi9icmVha3BvaW50LmM6NjcwNworICAgICAgIzQgIDB4 MDAwMDAwMDAwMDU3NTg5YyBpbiBicmVha3BvaW50XzEgKGFyZ3M9MHgwLCBhbGxmbGFnPTEsIGZp bHRlcj0weDApIGF0CisgICAgICBzcmMvZ2RiL2JyZWFrcG9pbnQuYzo2OTQ3CisgICAgICAjNSAg MHgwMDAwMDAwMDAwNTc1YWE4IGluIG1haW50ZW5hbmNlX2luZm9fYnJlYWtwb2ludHMgKGFyZ3M9 MHgwLCBmcm9tX3R0eT0wKQorICAgICAgYXQgc3JjL2dkYi9icmVha3BvaW50LmM6NzAyNgorICAg ICAgWy4uLl0KKyAgICAKKyAgICBUaGlzIGlzIEdEQiB0cnlpbmcgdG8gcHJpbnQgdGhlIGxvY2F0 aW9uIHNwZWMgb2YgdGhlIEpJVCBldmVudAorICAgIGJyZWFrcG9pbnQsIGJ1dCB0aGF0J3MgYW4g aW50ZXJuYWwgYnJlYWtwb2ludCB3aXRob3V0IG9uZS4KKyAgICAKKyAgICBJZiBJIGFkZCBhIE5V TEwgY2hlY2ssIHRoZW4gd2Ugc2VlIHRoYXQgdGhlIEpJVCBicmVha3BvaW50IGlzIG5vdworICAg IHBlbmRpbmcgKGJlY2F1c2UgaXRzIGxvY2F0aW9uIGhhcyBzaGxpYl9kaXNhYmxlZCBzZXQpOgor ICAgIAorICAgICAgKGdkYikgbWFpbnQgaW5mbyBicmVha3BvaW50cworICAgICAgTnVtICAgICBU eXBlICAgICAgICAgICBEaXNwIEVuYiBBZGRyZXNzICAgICAgICAgICAgV2hhdAorICAgICAgWy4u Ll0KKyAgICAgIC04ICAgICAgaml0IGV2ZW50cyAgICAga2VlcCB5ICAgPFBFTkRJTkc+ICAgICAg ICAgICBpbmYgMQorICAgICAgWy4uLl0KKyAgICAKKyAgICBCdXQgdGhhdCdzIGluY29ycmVjdC4g IEdEQiBzaG91bGQgaGF2ZSBtYW5hZ2VkIHRvIHJlY3JlYXRlIHRoZSBKSVQKKyAgICBicmVha3Bv aW50J3MgbG9jYXRpb24gZm9yIHRoZSBzZWNvbmQgcnVuLiAgU28gdGhlIHByb2JsZW0gaXMKKyAg ICBlbHNld2hlcmUuCisgICAgCisgICAgVGhlIHByb2JsZW0gaXMgdGhhdCBpZiB0aGUgSklUIGxv YWRzIGF0IHRoZSBzYW1lIGFkZHJlc3Mgb24gdGhlIHNlY29uZAorICAgIHJ1biwgd2UgbmV2ZXIg cmVjcmVhdGUgdGhlIEpJVCBicmVha3BvaW50LCBiZWNhdXNlIHdlIGhpdCB0aGlzIGVhcmx5Cisg ICAgcmV0dXJuOgorICAgIAorICAgICAgc3RhdGljIGludAorICAgICAgaml0X2JyZWFrcG9pbnRf cmVfc2V0X2ludGVybmFsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKKyAgICAJCQkJICBzdHJ1 Y3Qgaml0X3Byb2dyYW1fc3BhY2VfZGF0YSAqcHNfZGF0YSkKKyAgICAgIHsKKyAgICAgICAgWy4u Ll0KKyAgICAgICAgaWYgKHBzX2RhdGEtPmNhY2hlZF9jb2RlX2FkZHJlc3MgPT0gYWRkcikKKyAg ICAgICAgICByZXR1cm4gMDsKKyAgICAKKyAgICAgICAgWy4uLl0KKyAgICAgICAgICBkZWxldGVf YnJlYWtwb2ludCAocHNfZGF0YS0+aml0X2JyZWFrcG9pbnQpOworICAgICAgICBbLi4uXQorICAg ICAgICBwc19kYXRhLT5qaXRfYnJlYWtwb2ludCA9IGNyZWF0ZV9qaXRfZXZlbnRfYnJlYWtwb2lu dCAoZ2RiYXJjaCwgYWRkcik7CisgICAgCisgICAgRml4IHRoaXMgYnkgZGVsZXRpbmcgdGhlIGJy ZWFrcG9pbnQgYW5kIGRpc2NhcmRpbmcgdGhlIGNhY2hlZCBjb2RlCisgICAgYWRkcmVzcyB3aGVu IHRoZSBvYmpmaWxlIHdoZXJlIHRoZSBwcmV2aW91cyBKSVQgYnJlYWtwb2ludCB3YXMgZm91bmQK KyAgICBpcyBkZWxldGVkL3VubG9hZGVkIGluIHRoZSBmaXJzdCBwbGFjZS4KKyAgICAKKyAgICBU aGUgdGVzdCB0aGF0IHdhcyBvcmlnaW5hbGx5IGFkZGVkIGZvciBQUjExMDk0IGRvZXNuJ3QgdHJp cCBvbiB0aGlzCisgICAgYmVjYXVzZToKKyAgICAKKyAgICAgICMxIC0gSXQgZG9lc24ndCB0ZXN0 IHRoZSBjYXNlIG9mIHRoZSBKSVQgZGVzY3JpcHRvcidzIGFkZHJlc3MgX25vdF8KKyAgICAgICAg ICAgY2hhbmdpbmcgYmV0d2VlbiByZXJ1bnMuCisgICAgCisgICAgICAjMiAtIEFuZCB0aGVuIGl0 IGRvZXNuJ3QgZG8gIm1haW50IGluZm8gYnJlYWtwb2ludHMiLCBvciByZWFsbHkKKyAgICAgICAg ICAgYW55dGhpbmcgd2l0aCB0aGUgSklUIGF0IGFsbC4KKyAgICAKKyAgICAgICMzIC0gYW5kIGV2 ZW4gdGhlbiwgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbSB0aGUgSklUIGRlc2NyaXB0b3IgbmVlZHMK KyAgICAgICAgICAgdG8gYmUgaW4gYSBzZXBhcmF0ZSBsaWJyYXJ5LCB3aGlsZSB0aGUgY3VycmVu dCB0ZXN0IHB1dHMgaXQgaW4KKyAgICAgICAgICAgdGhlIG1haW4gcHJvZ3JhbS4KKyAgICAKKyAg ICBUaGUgcGF0Y2ggZXh0ZW5kcyB0aGUgdGVzdCB0byBjb3ZlciBhbGwgY29tYmluYXRpb25zIG9m IHRoZXNlCisgICAgc2NlbmFyaW9zLgorICAgIAorICAgIGdkYi9DaGFuZ2VMb2c6CisgICAgMjAx Ni0xMC0wNiAgUGVkcm8gQWx2ZXMgIDxwYWx2ZXNAcmVkaGF0LmNvbT4KKyAgICAKKyAgICAJKiBq aXQuYyAoZnJlZV9vYmpmaWxlX2RhdGEpOiBEZWxldGUgdGhlIEpJVCBicmVha3BvaW50IGFuZCBj bGVhcgorICAgIAl0aGUgY2FjaGVkIGNvZGUgYWRkcmVzcy4KKyAgICAKKyAgICBnZGIvdGVzdHN1 aXRlL0NoYW5nZUxvZzoKKyAgICAyMDE2LTEwLTA2ICBQZWRybyBBbHZlcyAgPHBhbHZlc0ByZWRo YXQuY29tPgorICAgIAorICAgIAkqIGdkYi5iYXNlL2ppdC1zaW1wbGUtZGwuYzogTmV3IGZpbGUu CisgICAgCSogZ2RiLmJhc2Uvaml0LXNpbXBsZS1qaXQuYzogTmV3IGZpbGUsIGZhY3RvcmVkIG91 dCBmcm9tIC4uLgorICAgIAkqIGdkYi5iYXNlL2ppdC1zaW1wbGUuYzogLi4uIHRoaXMuCisgICAg CSogZ2RiLmJhc2Uvaml0LXNpbXBsZS5leHAgKGppdF9ydW4pOiBEZWxldGUuCisgICAgCShidWls ZF9qaXQpOiBOZXcgcHJvYy4KKyAgICAJKGppdF90ZXN0X3JlcmVhZCk6IFJlY29tcGlsZSBlaXRo ZXIgdGhlIG1haW4gcHJvZ3JhbSBvciB0aGUgc2hhcmVkCisgICAgCWxpYnJhcnksIGRlcGVuZGlu ZyBvbiB3aGF0IGlzIGJlaW5nIHRlc3RlZC4gIFNraXAgY2hhbmdpbmcgYWRkcmVzcworICAgIAlp ZiBjYWxsZXIgd2FudHMgdG8uICBDb21wYXJlIGJlZm9yZS9hZnRlciBhZGRyZXNzZXMuICBJZiB0 ZXN0aW5nCisgICAgCXN0YW5kYWxvbmUsIGV4cGxpY2l0bHkgbG9hZCB0aGUgYmluYXJ5LiAgVGVz dCAibWFpbnQgaW5mbworICAgIAlicmVha3BvaW50cyIuCisgICAgCSh0b3AgbGV2ZWwpOiBBZGQg InN0YW5kYWxvbmUgdnMgc2hhcmVkIGxpYiIgYW5kICJjaGFuZ2UgYWRkcmVzcyIKKyAgICAJdnMg InNhbWUgYWRkcmVzcyIgYXhlcy4KKworIyMjIGEvZ2RiL0NoYW5nZUxvZworIyMjIGIvZ2RiL0No YW5nZUxvZworIyMgLTEsMyArMSw4IEBACisrMjAxNi0xMC0wNiAgUGVkcm8gQWx2ZXMgIDxwYWx2 ZXNAcmVkaGF0LmNvbT4KKysKKysJKiBqaXQuYyAoZnJlZV9vYmpmaWxlX2RhdGEpOiBEZWxldGUg dGhlIEpJVCBicmVha3BvaW50IGFuZCBjbGVhcgorKwl0aGUgY2FjaGVkIGNvZGUgYWRkcmVzcy4K KysKKyAyMDE2LTEwLTAzICBTaW1vbiBNYXJjaGkgIDxzaW1hcmtAc2ltYXJrLmNhPgorIAorIAkq IGluZnJ1bi5jIChyZXN0b3JlX2N1cnJlbnRfdWlvdXRfY2xlYW51cCk6IE1vdmUgdG8gdWktb3V0 LmMuCistLS0gYS9nZGIvaml0LmMKKysrKyBiL2dkYi9qaXQuYworQEAgLTE0ODIsNyArMTQ4Miwx MSBAQCBmcmVlX29iamZpbGVfZGF0YSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIHZvaWQgKmRh dGEpCisgCT0gKChzdHJ1Y3Qgaml0X3Byb2dyYW1fc3BhY2VfZGF0YSAqKQorIAkgICBwcm9ncmFt X3NwYWNlX2RhdGEgKG9iamZpbGUtPnBzcGFjZSwgaml0X3Byb2dyYW1fc3BhY2VfZGF0YSkpOwor ICAgICAgIGlmIChwc19kYXRhICE9IE5VTEwgJiYgcHNfZGF0YS0+b2JqZmlsZSA9PSBvYmpmaWxl KQorLQlwc19kYXRhLT5vYmpmaWxlID0gTlVMTDsKKysJeworKwkgIHBzX2RhdGEtPm9iamZpbGUg PSBOVUxMOworKwkgIGRlbGV0ZV9icmVha3BvaW50IChwc19kYXRhLT5qaXRfYnJlYWtwb2ludCk7 CisrCSAgcHNfZGF0YS0+Y2FjaGVkX2NvZGVfYWRkcmVzcyA9IDA7CisrCX0KKyAgICAgfQorIAor ICAgeGZyZWUgKGRhdGEpOworIyMjIGEvZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKKyMjIyBiL2dk Yi90ZXN0c3VpdGUvQ2hhbmdlTG9nCisjIyAtMSw1ICsxLDIwIEBACisgMjAxNi0xMC0wNiAgUGVk cm8gQWx2ZXMgIDxwYWx2ZXNAcmVkaGF0LmNvbT4KKyAKKysJKiBnZGIuYmFzZS9qaXQtc2ltcGxl LWRsLmM6IE5ldyBmaWxlLgorKwkqIGdkYi5iYXNlL2ppdC1zaW1wbGUtaml0LmM6IE5ldyBmaWxl LCBmYWN0b3JlZCBvdXQgZnJvbSAuLi4KKysJKiBnZGIuYmFzZS9qaXQtc2ltcGxlLmM6IC4uLiB0 aGlzLgorKwkqIGdkYi5iYXNlL2ppdC1zaW1wbGUuZXhwIChqaXRfcnVuKTogRGVsZXRlLgorKwko YnVpbGRfaml0KTogTmV3IHByb2MuCisrCShqaXRfdGVzdF9yZXJlYWQpOiBSZWNvbXBpbGUgZWl0 aGVyIHRoZSBtYWluIHByb2dyYW0gb3IgdGhlIHNoYXJlZAorKwlsaWJyYXJ5LCBkZXBlbmRpbmcg b24gd2hhdCBpcyBiZWluZyB0ZXN0ZWQuICBTa2lwIGNoYW5naW5nIGFkZHJlc3MKKysJaWYgY2Fs bGVyIHdhbnRzIHRvLiAgQ29tcGFyZSBiZWZvcmUvYWZ0ZXIgYWRkcmVzc2VzLiAgSWYgdGVzdGlu ZworKwlzdGFuZGFsb25lLCBleHBsaWNpdGx5IGxvYWQgdGhlIGJpbmFyeS4gIFRlc3QgIm1haW50 IGluZm8KKysJYnJlYWtwb2ludHMiLgorKwkodG9wIGxldmVsKTogQWRkICJzdGFuZGFsb25lIHZz IHNoYXJlZCBsaWIiIGFuZCAiY2hhbmdlIGFkZHJlc3MiCisrCXZzICJzYW1lIGFkZHJlc3MiIGF4 ZXMuCisrCisrMjAxNi0xMC0wNiAgUGVkcm8gQWx2ZXMgIDxwYWx2ZXNAcmVkaGF0LmNvbT4KKysK KyAJKiBnZGIuYmFzZS9qaXQtc2ltcGxlLmV4cCAodG9wIGxldmVsKSBEZWxldGUgZ2V0X2NvbXBp bGVyX2luZm8KKyAJY2FsbC4KKyAJKGppdF9ydW4pOiBEZWxldGUuCistLS0gL2Rldi9udWxsCisr KysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ppdC1zaW1wbGUtZGwuYworQEAgLTAsMCArMSwy NSBAQAorKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIu CisrCisrICAgQ29weXJpZ2h0IDIwMTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisr CisrICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKKysgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgorKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKKysgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgorKworKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBu b3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworKy8qIEEgc3R1 YiBwcm9ncmFtIHRoYXQgbGlua3Mgd2l0aCBhIHNpbXBsZSBsaWJyYXJ5IHRoYXQgdXNlcyB0aGUg SklUCisrICAgQVBJLiAgKi8KKysKKytpbnQKKyttYWluICh2b2lkKQorK3sKKysgIHJldHVybiAw OworK30KKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvaml0LXNp bXBsZS1qaXQuYworQEAgLTAsMCArMSw1MCBAQAorKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBv ZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCisrCisrICAgQ29weXJpZ2h0IDIwMTItMjAxNiBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz aGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24g MyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz aW9uLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBh bG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcv bGljZW5zZXMvPi4gICovCisrCisrLyogU2ltcGxlIGxpYnJhcnkgdXNpbmcgdGhlIEpJVCBBUEku ICAqLworKworKyNpbmNsdWRlIDxzdGRpbnQuaD4KKysKKytzdHJ1Y3Qgaml0X2NvZGVfZW50cnkK Kyt7CisrICBzdHJ1Y3Qgaml0X2NvZGVfZW50cnkgKm5leHRfZW50cnk7CisrICBzdHJ1Y3Qgaml0 X2NvZGVfZW50cnkgKnByZXZfZW50cnk7CisrICBjb25zdCBjaGFyICpzeW1maWxlX2FkZHI7Cisr ICB1aW50NjRfdCBzeW1maWxlX3NpemU7CisrfTsKKysKKytzdHJ1Y3Qgaml0X2Rlc2NyaXB0b3IK Kyt7CisrICB1aW50MzJfdCB2ZXJzaW9uOworKyAgLyogVGhpcyB0eXBlIHNob3VsZCBiZSBqaXRf YWN0aW9uc190LCBidXQgd2UgdXNlIHVpbnQzMl90CisrICAgICB0byBiZSBleHBsaWNpdCBhYm91 dCB0aGUgYml0d2lkdGguICAqLworKyAgdWludDMyX3QgYWN0aW9uX2ZsYWc7CisrICBzdHJ1Y3Qg aml0X2NvZGVfZW50cnkgKnJlbGV2YW50X2VudHJ5OworKyAgc3RydWN0IGppdF9jb2RlX2VudHJ5 ICpmaXJzdF9lbnRyeTsKKyt9OworKworKyNpZmRlZiBTUEFDRVIKKysvKiBUaGlzIGV4aXN0cyB0 byBjaGFuZ2UgdGhlIGFkZHJlc3Mgb2YgX19qaXRfZGVidWdfZGVzY3JpcHRvci4gICovCisraW50 IHNwYWNlciA9IDQ7CisrI2VuZGlmCisrCisrc3RydWN0IGppdF9kZXNjcmlwdG9yIF9faml0X2Rl YnVnX2Rlc2NyaXB0b3IgPSB7IDEsIDAsIDAsIDAgfTsKKysKKyt2b2lkCisrX19qaXRfZGVidWdf cmVnaXN0ZXJfY29kZSAodm9pZCkKKyt7CisrfQorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9qaXQtc2ltcGxlLmMKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvaml0LXNpbXBsZS5j CitAQCAtMSwzNyArMSwyNiBAQAorLS8qIFNpbXBsZSBwcm9ncmFtIHVzaW5nIHRoZSBKSVQgQVBJ LiAgKi8KKysvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2Vy LgorIAorLSNpbmNsdWRlIDxzdGRpbnQuaD4KKysgICBDb3B5cmlnaHQgMjAxNiBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KKyAKKy1zdHJ1Y3Qgaml0X2NvZGVfZW50cnkKKy17CistICBz dHJ1Y3Qgaml0X2NvZGVfZW50cnkgKm5leHRfZW50cnk7CistICBzdHJ1Y3Qgaml0X2NvZGVfZW50 cnkgKnByZXZfZW50cnk7CistICBjb25zdCBjaGFyICpzeW1maWxlX2FkZHI7CistICB1aW50NjRf dCBzeW1maWxlX3NpemU7CistfTsKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cisr ICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUg TGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIAor LXN0cnVjdCBqaXRfZGVzY3JpcHRvcgorLXsKKy0gIHVpbnQzMl90IHZlcnNpb247CistICAvKiBU aGlzIHR5cGUgc2hvdWxkIGJlIGppdF9hY3Rpb25zX3QsIGJ1dCB3ZSB1c2UgdWludDMyX3QKKy0g ICAgIHRvIGJlIGV4cGxpY2l0IGFib3V0IHRoZSBiaXR3aWR0aC4gICovCistICB1aW50MzJfdCBh Y3Rpb25fZmxhZzsKKy0gIHN0cnVjdCBqaXRfY29kZV9lbnRyeSAqcmVsZXZhbnRfZW50cnk7Cist ICBzdHJ1Y3Qgaml0X2NvZGVfZW50cnkgKmZpcnN0X2VudHJ5OworLX07CisrICAgVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisr ICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KKyAKKy0jaWZkZWYgU1BBQ0VSCistLyogVGhpcyBleGlzdHMgdG8gY2hhbmdl IHRoZSBhZGRyZXNzIG9mIF9faml0X2RlYnVnX2Rlc2NyaXB0b3IuICAqLworLWludCBzcGFjZXIg PSA0OworLSNlbmRpZgorKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0u ICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworIAorLXN0 cnVjdCBqaXRfZGVzY3JpcHRvciBfX2ppdF9kZWJ1Z19kZXNjcmlwdG9yID0geyAxLCAwLCAwLCAw IH07CisrLyogU2ltcGxlIHN0YW5kYWxvbmUgcHJvZ3JhbSB1c2luZyB0aGUgSklUIEFQSS4gICov CisgCistdm9pZCBfX2ppdF9kZWJ1Z19yZWdpc3Rlcl9jb2RlKCkKKy17CistfQorKyNpbmNsdWRl ICJqaXQtc2ltcGxlLWppdC5jIgorIAorLWludCBtYWluKCkKKytpbnQKKyttYWluICh2b2lkKQor IHsKKyAgIHJldHVybiAwOworIH0KKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvaml0LXNp bXBsZS5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvaml0LXNpbXBsZS5leHAKK0BA IC0xMyw2ICsxMywxNyBAQAorICMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFt LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorIAorKyMgVGVz dCByZS1ydW5uaW5nIGFuIGluZmVyaW9yIHdpdGggYSBKSVQgZGVzY3JpcHRvciwgd2hlcmUgdGhl IEpJVAorKyMgZGVzY3JpcHRvciBjaGFuZ2VzIGFkZHJlc3MgYmV0d2VlbiBydW5zLgorKyMgaHR0 cDovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xMzQzMQorKworKyMg VGVzdCBib3RoIHRoZSBjYXNlIG9mIHRoZSBKSVQgcmVhZGVyIGJlaW5nIGluY2x1ZGVkIGluIHRo ZSBtYWluCisrIyBwcm9ncmFtIGRpcmVjdGx5LCBhbmQgdGhlIGNhc2Ugb2YgdGhlIEpJVCByZWFk ZXIgYmVpbmcgc3BsaXQgb3V0IHRvCisrIyBhIHNoYXJlZCBsaWJyYXJ5LgorKworKyMgRm9yIGNv bXBsZXRlbmVzcywgYWxzbyB0ZXN0IHdoZW4gdGhlIEpJVCBkZXNjcmlwdG9yIGRvZXMgbm90IGNo YW5nZQorKyMgYWRkcmVzcyBiZXR3ZWVuIHJ1bnMuCisrCisgaWYge1tza2lwX3NobGliX3Rlc3Rz XX0geworICAgICB1bnRlc3RlZCBqaXQtc2ltcGxlLmV4cAorICAgICByZXR1cm4gLTEKK0BAIC0y MCwyNSArMzEsODEgQEAgaWYge1tza2lwX3NobGliX3Rlc3RzXX0geworIAorIHN0YW5kYXJkX3Rl c3RmaWxlCisgCistaWYge1tidWlsZF9leGVjdXRhYmxlICR0ZXN0ZmlsZS5leHAgJHRlc3RmaWxl ICRzcmNmaWxlIGRlYnVnXSA9PSAtMX0geworK3NldCBsaWJuYW1lICR0ZXN0ZmlsZS1qaXQKKytz ZXQgc3JjZmlsZV9saWIgJHNyY2Rpci8kc3ViZGlyLyRsaWJuYW1lLmMKKytzZXQgYmluZmlsZV9s aWIgW3N0YW5kYXJkX291dHB1dF9maWxlICRsaWJuYW1lLnNvXQorKworKyMgQnVpbGQgYSBzdGFu ZGFsb25lIEpJVCBiaW5hcnkuCisrCisrcHJvYyBidWlsZF9zdGFuZGFsb25lX2ppdCB7e29wdGlv bnMgIiJ9fSB7CisrICAgIGdsb2JhbCB0ZXN0ZmlsZSBzcmNmaWxlIGJpbmZpbGUKKysKKysgICAg bGFwcGVuZCBvcHRpb25zICJkZWJ1ZyIKKysKKysgICAgaWYge1tidWlsZF9leGVjdXRhYmxlICR0 ZXN0ZmlsZS5leHAgJHRlc3RmaWxlICRzcmNmaWxlICRvcHRpb25zXSA9PSAtMX0geworKwlyZXR1 cm4gLTEKKysgICAgfQorKworKyAgICByZXR1cm4gMAorK30KKysKKysjIEJ1aWxkIHRoZSBzaGFy ZWQgbGlicmFyeSBKSVQuCisrCisrcHJvYyBidWlsZF9zaGFyZWRfaml0IHt7b3B0aW9ucyAiIn19 IHsKKysgICAgZ2xvYmFsIHRlc3RmaWxlCisrICAgIGdsb2JhbCBzcmNmaWxlX2xpYiBiaW5maWxl X2xpYgorKworKyAgICBsYXBwZW5kIG9wdGlvbnMgImRlYnVnIGFkZGl0aW9uYWxfZmxhZ3M9LWZQ SUMiCisrICAgIGlmIHsgW2dkYl9jb21waWxlX3NobGliICRzcmNmaWxlX2xpYiAkYmluZmlsZV9s aWIgJG9wdGlvbnNdICE9ICIiIH0geworKwlyZXR1cm4gLTEKKysgICAgfQorKworKyAgICByZXR1 cm4gMAorK30KKysKKytpZiB7W2J1aWxkX3N0YW5kYWxvbmVfaml0XSA9PSAtMX0geworKyAgICB1 bnRlc3RlZCAiY291bGQgbm90IGNvbXBpbGUgJGJpbmZpbGUiCisrICAgIHJldHVybgorK30KKysK KytpZiB7W2J1aWxkX3NoYXJlZF9qaXRdID09IC0xfSB7CisrICAgIHVudGVzdGVkICJjb3VsZCBu b3QgY29tcGlsZSAkYmluZmlsZV9saWIiCisrICAgIHJldHVybgorK30KKysKKysjIEJ1aWx0IHRo ZSBwcm9ncmFtIHRoYXQgbG9hZHMgdGhlIEpJVCBsaWJyYXJ5LgorK3NldCBzcmNmaWxlX2RsICR0 ZXN0ZmlsZS1kbC5jCisrc2V0IGJpbmZpbGVfZGwgJGJpbmZpbGUtZGwKKytzZXQgb3B0aW9ucyBb bGlzdCBkZWJ1ZyBzaGxpYj0ke2JpbmZpbGVfbGlifV0KKytpZiB7W2dkYl9jb21waWxlICR7c3Jj ZGlyfS8ke3N1YmRpcn0vJHtzcmNmaWxlX2RsfSAkYmluZmlsZV9kbCBleGVjdXRhYmxlIFwKKysJ IFtsaXN0IGRlYnVnIHNobGliPSRiaW5maWxlX2xpYl1dID09IC0xIH0geworICAgICB1bnRlc3Rl ZCBqaXQtc2ltcGxlLmV4cAorICAgICByZXR1cm4gLTEKKyB9CisgCistIyBUZXN0IHJlLXJ1bm5p bmcgYW4gaW5mZXJpb3Igd2l0aCBhIEpJVCBkZXNjcmlwdG9yLCB3aGVyZSB0aGUgSklUCistIyBk ZXNjcmlwdG9yIGNoYW5nZXMgYWRkcmVzcyBiZXR3ZWVuIHJ1bnMuCistIyBodHRwOi8vc291cmNl d2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTEzNDMxCistcHJvYyBqaXRfdGVzdF9y ZXJlYWQge30geworLSAgICBnbG9iYWwgdGVzdGZpbGUgYmluZmlsZSBzdWJkaXIgc3JjZmlsZSBz cmNkaXIKKysjIFNUQU5EQUxPTkUgaXMgdHJ1ZSB3aGVuIHRoZSBKSVQgcmVhZGVyIGlzIGluY2x1 ZGVkIGRpcmVjdGx5IGluIHRoZQorKyMgbWFpbiBwcm9ncmFtLiAgRmFsc2Ugd2hlbiB0aGUgSklU IHJlYWRlciBpcyBpbiBhIHNlcGFyYXRlIHNoYXJlZAorKyMgbGlicmFyeS4gIElmIENIQU5HRV9B RERSIGlzIHRydWUsIGZvcmNlIGNoYW5naW5nIHRoZSBKSVQgZGVzY3JpcHRvcgorKyMgY2hhbmdl cyBhZGRyZXNzIGJldHdlZW4gcnVucy4KKytwcm9jIGppdF90ZXN0X3JlcmVhZCB7c3RhbmRhbG9u ZSBjaGFuZ2VfYWRkcn0geworKyAgICBnbG9iYWwgdGVzdGZpbGUgYmluZmlsZSBzdWJkaXIgc3Jj ZmlsZSBzcmNkaXIgYmluZmlsZV9saWIgYmluZmlsZV9kbAorICAgICBnbG9iYWwgaGV4CisgCisg ICAgIHdpdGhfdGVzdF9wcmVmaXggImluaXRpYWwgcnVuIiB7CistCWNsZWFuX3Jlc3RhcnQgJHRl c3RmaWxlCisrCWlmIHskc3RhbmRhbG9uZX0geworKwkgICAgY2xlYW5fcmVzdGFydCAkYmluZmls ZQorKwl9IGVsc2UgeworKwkgICAgY2xlYW5fcmVzdGFydCAkYmluZmlsZV9kbAorKwl9CisgCisg CXJ1bnRvX21haW4KKyAKKyAJc2V0IGFkZHJfYmVmb3JlIFtnZXRfaGV4YWRlY2ltYWxfdmFsdWVv ZiAiJl9faml0X2RlYnVnX2Rlc2NyaXB0b3IiIDAgXAorIAkJCSAgICAgImdldCBhZGRyZXNzIG9m IF9faml0X2RlYnVnX2Rlc2NyaXB0b3IiXQorKworKwlnZGJfdGVzdCAibWFpbnQgaW5mbyBicmVh a3BvaW50cyIgXAorKwkgICAgImppdCBldmVudHMgICAgIGtlZXAgeSAgICRoZXggPF9faml0X2Rl YnVnX3JlZ2lzdGVyX2NvZGU+LioiIFwKKysJICAgICJtYWludCBpbmZvIGJyZWFrcG9pbnRzIHNo b3dzIGppdCBicmVha3BvaW50IgorICAgICB9CisgCisgICAgIHdpdGhfdGVzdF9wcmVmaXggInNl Y29uZCBydW4iIHsKK0BAIC00NywyMSArMTE0LDQ5IEBAIHByb2Mgaml0X3Rlc3RfcmVyZWFkIHt9 IHsKKyAJIyBzZWNvbmQsIGdkYiBtaWdodCBub3QgcmVsb2FkIHRoZSBleGVjdXRhYmxlIGF1dG9t YXRpY2FsbHkuCisgCXNsZWVwIDEKKyAKKy0JZ2RiX3JlbmFtZV9leGVjZmlsZSAkYmluZmlsZSAk e2JpbmZpbGV9eAorLQlpZiAgeyBbZ2RiX2NvbXBpbGUgIiR7c3JjZGlyfS8ke3N1YmRpcn0vJHtz cmNmaWxlfSIgIiR7YmluZmlsZX0iIGV4ZWN1dGFibGUge2RlYnVnIGFkZGl0aW9uYWxfZmxhZ3M9 LURTUEFDRVJ9XSAhPSAiIiB9IHsKKy0JICAgIGZhaWwgInJlY29tcGlsZSIKKy0JICAgIHJldHVy bgorLQl9IGVsc2UgeworLQkgICAgcGFzcyAicmVjb21waWxlIgorKwlpZiAke2NoYW5nZV9hZGRy fSB7CisrCSAgICBzZXQgb3B0aW9ucyAiYWRkaXRpb25hbF9mbGFncz0tRFNQQUNFUiIKKysJICAg IGlmIHskc3RhbmRhbG9uZX0geworKwkJZ2RiX3JlbmFtZV9leGVjZmlsZSAkYmluZmlsZSAke2Jp bmZpbGV9eAorKwkJc2V0IHJlcyBbYnVpbGRfc3RhbmRhbG9uZV9qaXQgJG9wdGlvbnNdCisrCSAg ICB9IGVsc2UgeworKwkJZ2RiX3JlbmFtZV9leGVjZmlsZSAkYmluZmlsZV9saWIgJHtiaW5maWxl X2xpYn14CisrCQlzZXQgcmVzIFtidWlsZF9zaGFyZWRfaml0ICRvcHRpb25zXQorKwkgICAgfQor KwkgICAgaWYgIHsgJHJlcyA9PSAtMSB9IHsKKysJCWZhaWwgInJlY29tcGlsZSIKKysJCXJldHVy bgorKwkgICAgfSBlbHNlIHsKKysJCXBhc3MgInJlY29tcGlsZSIKKysJICAgIH0KKyAJfQorIAor IAlydW50b19tYWluCisgCisgCXNldCBhZGRyX2FmdGVyIFtnZXRfaGV4YWRlY2ltYWxfdmFsdWVv ZiAiJl9faml0X2RlYnVnX2Rlc2NyaXB0b3IiIDAgXAorIAkJCSAgICAiZ2V0IGFkZHJlc3Mgb2Yg X19qaXRfZGVidWdfZGVzY3JpcHRvciJdCisrCisrCSMgVGhpcyB1c2VkIHRvIGNyYXNoIGluIHRo ZSBKSVQtaW4tc2hhcmVkLWxpYnJhcnkgY2FzZToKKysJIyBodHRwczovL3NvdXJjZXdhcmUub3Jn L2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xMTA5NAorKwlnZGJfdGVzdCAibWFpbnQgaW5mbyBi cmVha3BvaW50cyIgXAorKwkgICAgImppdCBldmVudHMgICAgIGtlZXAgeSAgICRoZXggPF9faml0 X2RlYnVnX3JlZ2lzdGVyX2NvZGU+LioiIFwKKysJICAgICJtYWludCBpbmZvIGJyZWFrcG9pbnRz IHNob3dzIGppdCBicmVha3BvaW50IgorICAgICB9CisgCistICAgIGdkYl9hc3NlcnQgeyRhZGRy X2JlZm9yZSAhPSAkYWRkcl9hZnRlcn0gImFkZHJlc3MgY2hhbmdlZCIKKysgICAgaWYgJHtjaGFu Z2VfYWRkcn0geworKwlnZGJfYXNzZXJ0IHskYWRkcl9iZWZvcmUgIT0gJGFkZHJfYWZ0ZXJ9ICJh ZGRyZXNzIGNoYW5nZWQiCisrICAgIH0gZWxzZSB7CisrCWdkYl9hc3NlcnQgeyRhZGRyX2JlZm9y ZSA9PSAkYWRkcl9hZnRlcn0gImFkZHJlc3MgZGlkbid0IGNoYW5nZSIKKysgICAgfQorIH0KKyAK Ky1qaXRfdGVzdF9yZXJlYWQKKytmb3JlYWNoIHN0YW5kYWxvbmUgezEgMH0geworKyAgICB3aXRo X3Rlc3RfcHJlZml4IFtleHByICgkc3RhbmRhbG9uZSk/InN0YW5kYWxvbmUiOiJzaGFyZWQiXSB7 CisrCXdpdGhfdGVzdF9wcmVmaXggImNoYW5nZSBhZGRyIiB7CisrCSAgICBqaXRfdGVzdF9yZXJl YWQgJHN0YW5kYWxvbmUgMQorKwl9CisrCXdpdGhfdGVzdF9wcmVmaXggInNhbWUgYWRkciIgewor KwkgICAgaml0X3Rlc3RfcmVyZWFkICRzdGFuZGFsb25lIDAKKysJfQorKyAgICB9CisrfQoKZGlm ZiAtLWdpdCBhL2dkYi5zcGVjIGIvZ2RiLnNwZWMKaW5kZXggYWE4NGJkNS4uZGE5NWMyZSAxMDA2 NDQKLS0tIGEvZ2RiLnNwZWMKKysrIGIvZ2RiLnNwZWMKQEAgLTIxLDEzICsyMSwxMyBAQCBOYW1l OiAlez9zY2xfcHJlZml4fWdkYgogJWdsb2JhbCBzbmFwc3JjICAgIDIwMTYwODAxCiAjIFNlZSB0 aW1lc3RhbXAgb2Ygc291cmNlIGdudWxpYiBpbnN0YWxsZWQgaW50byBnZGIvZ251bGliLyAuCiAl Z2xvYmFsIHNuYXBnbnVsaWIgMjAxNTA4MjIKLSVnbG9iYWwgdGFyZGF0ZSAyMDE2MDkyOQorJWds b2JhbCB0YXJkYXRlIDIwMTYxMDA2CiAlZ2xvYmFsIHRhcm5hbWUgZ2RiLTcuMTEuOTAuJXt0YXJk YXRlfQogVmVyc2lvbjogNy4xMgogCiAjIFRoZSByZWxlYXNlIGFsd2F5cyBjb250YWlucyBhIGxl YWRpbmcgcmVzZXJ2ZWQgbnVtYmVyLCBzdGFydCBpdCBhdCAxLgogIyBgdXBzdHJlYW0nIGlzIG5v dCBhIHBhcnQgb2YgYG5hbWUnIHRvIHN0YXkgZnVsbHkgcnBtIGRlcGVuZGVuY2llcyBjb21wYXRp YmxlIGZvciB0aGUgdGVzdGluZy4KLVJlbGVhc2U6IDAuMTkuJXt0YXJkYXRlfSV7P2Rpc3R9CitS ZWxlYXNlOiAwLjIwLiV7dGFyZGF0ZX0lez9kaXN0fQogCiBMaWNlbnNlOiBHUEx2MysgYW5kIEdQ THYzKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTHYyKyBhbmQgR1BMdjIrIHdpdGggZXhjZXB0aW9u cyBhbmQgR1BMKyBhbmQgTEdQTHYyKyBhbmQgQlNEIGFuZCBQdWJsaWMgRG9tYWluIGFuZCBHRkRM CiBHcm91cDogRGV2ZWxvcG1lbnQvRGVidWdnZXJzCkBAIC01OTgsOSArNTk4LDYgQEAgUGF0Y2gx MTQ0OiBnZGItYmlzb24tb2xkLnBhdGNoCiBQYXRjaDExNDU6IGdkYi10ZXN0c3VpdGUtY2FzdHMu cGF0Y2gKIFBhdGNoMTE0NjogZ2RiLXRlc3RzdWl0ZS1tLXN0YXRpYy5wYXRjaAogCi0jIEZpeCBh dHRhY2htZW50IG9mIEpJVC1kZWJ1Zy1lbmFibGVkIGluZi4gKDcuMTEuMSByZWdyZXNzaW9uLCBS SCBCWiAxMzc1NTUzKS4KLVBhdGNoMTE0NzogZ2RiLXJoYnoxMzc1NTUzLWF0dGFjaC1qaXQtZGVi dWcucGF0Y2gKLQogJWlmIDAleyE/cmhlbDoxfSB8fCAwJXs/cmhlbH0gPiA2CiAjIFJMX1NUQVRF X0ZFRE9SQV9HREIgd291bGQgbm90IGJlIGZvdW5kIGZvcjoKICMgUGF0Y2g2NDI6IGdkYi1yZWFk bGluZTYyLWFzay1tb3JlLXJoLnBhdGNoCkBAIC05MzYsNyArOTMzLDYgQEAgZG9uZQogJXBhdGNo MTE0NCAtcDEKICVwYXRjaDExNDUgLXAxCiAlcGF0Y2gxMTQ2IC1wMQotJXBhdGNoMTE0NyAtcDEK IAogJXBhdGNoMTA3NSAtcDEKICVpZiAwJXs/cmhlbDoxfSAmJiAwJXs/cmhlbH0gPD0gNwpAQCAt MTQ5NCw2ICsxNDkwLDkgQEAgdGhlbgogZmkKIAogJWNoYW5nZWxvZworKiBUaHUgT2N0ICA2IDIw MTYgSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+IC0gNy4xMi0wLjIw LjIwMTYxMDA2LmZjMjUKKy0gUmViYXNlIHRvIEZTRiBHREIgNy4xMS45MC4yMDE2MTAwNiAocHJl LTcuMTIgYnJhbmNoIHNuYXBzaG90KS4KKwogKiBUaHUgU2VwIDI5IDIwMTYgSmFuIEtyYXRvY2h2 aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+IC0gNy4xMi0wLjE5LjIwMTYwOTI5LmZjMjUK IC0gUmViYXNlIHRvIEZTRiBHREIgNy4xMS45MC4yMDE2MDkyOSAocHJlLTcuMTIgYnJhbmNoIHNu YXBzaG90KS4KICAtIEZpeGVzIEdEQiBjcmFzaGVzIG9uIGluZi4gZnVuY3Rpb24gY2FsbCBzY3Jp cHRzIChSSCBCWiAxMzc4MTQ3LCBQZWRybyBBbHZlcykuCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBi L3NvdXJjZXMKaW5kZXggYTlmNzUwYS4uY2YzZmRiMyAxMDA2NDQKLS0tIGEvc291cmNlcworKysg Yi9zb3VyY2VzCkBAIC0xLDMgKzEsMyBAQAogMTMxZDBkZmQyMGNkNjAxNGMxNjhmYmNhYjliZTJj NDMgIGdkYi1saWJzdGRjKystdjMtcHl0aG9uLTYuMS4xLTIwMTYwODE3LnRhci54egogMjllZmMw ODIxOWQ5ZDZhMDUzNmQ1OGY5ODA3Yzg3MjIgIHYxLjUudGFyLmd6Ci1jMjM1YmYyMGYzMDJmMDM5 MzcxNGFkMWI2NTRmOTAyOSAgZ2RiLTcuMTEuOTAuMjAxNjA5MjkudGFyLnh6CisxMDE4ZTkwNDY4 MWFhMGE2NGExZTMxNWY4MDg1NzJmZiAgZ2RiLTcuMTEuOTAuMjAxNjEwMDYudGFyLnh6Cg==