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] gdb-17.2-rebase-f44: Rebase to FSF GDB 7.11.90.20161006 (pre-7.12 branch snapshot). Date: Sat, 27 Jun 2026 23:57:54 GMT Message-ID: <178260467447.1.10163557684949864110.rpms-gdb-eed01b8fe7b7@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: eed01b8fe7b7889cefe6b1d7e6aa807a8ae022c1 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGdkYi0xNy4yLXJlYmFzZS1mNDQKQ29tbWl0IDogZWVkMDFiOGZlN2I3ODg5Y2VmZTZiMWQ3ZTZh YTgwN2E4YWUwMjJjMQpBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVk aGF0LmNvbT4KRGF0ZSAgIDogMjAxNi0xMC0wNlQxNToyMjo0OSswMjowMApTdGF0cyAgOiArNjg0 Ly0zNDcgaW4gNSBmaWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3Jn L3JwbXMvZ2RiL2MvZWVkMDFiOGZlN2I3ODg5Y2VmZTZiMWQ3ZTZhYTgwN2E4YWUwMjJjMT9icmFu Y2g9Z2RiLTE3LjItcmViYXNlLWY0NAoKTG9nOgpSZWJhc2UgdG8gRlNGIEdEQiA3LjExLjkwLjIw MTYxMDA2IChwcmUtNy4xMiBicmFuY2ggc25hcHNob3QpLgoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0 aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCAxZWQxZmExLi5hZTllYWZkIDEwMDY0NAotLS0gYS8u Z2l0aWdub3JlCisrKyBiLy5naXRpZ25vcmUKQEAgLTEsMyArMSwzIEBACiAvZ2RiLWxpYnN0ZGMr Ky12My1weXRob24tNi4xLjEtMjAxNjA4MTcudGFyLnh6CiAvdjEuNS50YXIuZ3oKLS9nZGItNy4x MS45MC4yMDE2MDkyOS50YXIueHoKKy9nZGItNy4xMS45MC4yMDE2MTAwNi50YXIueHoKCmRpZmYg LS1naXQgYS9nZGItcmhiejEzNzU1NTMtYXR0YWNoLWppdC1kZWJ1Zy5wYXRjaCBiL2dkYi1yaGJ6 MTM3NTU1My1hdHRhY2gtaml0LWRlYnVnLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCA2NTU5NGJlLi4wMDAwMDAwCi0tLSBhL2dkYi1yaGJ6MTM3NTU1My1hdHRhY2gtaml0LWRl YnVnLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzM5ICswLDAgQEAKLVJlZ3Jlc3Npb246IGdk YiAtLXBpZCAkKHBpZG9mIHFlbXUtc3lzdGVtLXg4Nl82NCkgc3RvcHBlZCB3b3JraW5nIHdpdGgg Z2RiIDcuMTEuMQotaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0x Mzc1NTUzCi0KLWh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDE2LTA5L21z ZzAwMzg3Lmh0bWwKLVN1YmplY3Q6IFtwYXRjaCs3LjEyXSBQUiBnZGIvMjA2MDkgLSBhdHRhY2gg b2YgSklULWRlYnVnLWVuYWJsZWQgaW5mIDcuMTEuMSByZWdyZXNzaW9uCi0KLQotLS1jTmR4bkhr WDVRcXN5QTBlCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXMtYXNjaWkKLUNv bnRlbnQtRGlzcG9zaXRpb246IGlubGluZQotCi1IaSwKLQotUmVncmVzc2lvbjogZ2RiIC0tcGlk ICQocGlkb2YgcWVtdS1zeXN0ZW0teDg2XzY0KSBzdG9wcGVkIHdvcmtpbmcgd2l0aCBnZGIgNy4x MS4xCi1odHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yMDYw OQotCi1JdCB3YXMgcmVwb3J0ZWQgZm9yIHFlbXUtc3lzdGVtLXg4Nl82NCBidXQgaXQgaGFwcGVu cyBmb3IgYW55IG11bHRpdGhyZWFkZWQKLWluZmVyaW9yIHdpdGggYSBKSVQgZGVidWdnaW5nIGhv b2suCi0KLTEzNjYxM2VmMGM2ODUwNDI3MzE3ZTU3YmUxYjY0NDA4MGZmNmRlY2IgaXMgdGhlIGZp cnN0IGJhZCBjb21taXQKLUF1dGhvcjogUGVkcm8gQWx2ZXMgPHBhbHZlc0ByZWRoYXQuY29tPgot ICAgIEZpeCBQUiBnZGIvMTk4Mjg6IGdkYiAtcCA8cHJvY2VzcyBmcm9tIGEgY29udGFpbmVyPjog aW50ZXJuYWwgZXJyb3IKLU1lc3NhZ2UtSUQ6IDxjYmRmMmUwNC00ZmE4LTg3MmEtMmEyMy0wOGM5 YzFiMjZlMDBAcmVkaGF0LmNvbT4KLWh0dHBzOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNo ZXMvMjAxNi0wNS9tc2cwMDQ1MC5odG1sCi0KLWppdF9icmVha3BvaW50X3JlX3NldCgpIGlzIHNw ZWNpZmljIGJ5IHRyeWluZyB0byBpbnNlcnQgYSBicmVha3BvaW50IGludG8gdGhlCi1tYWluIGV4 ZWN1dGFibGUsIG5vdCBpbnRvIGEgc2hhcmVkIGxpYnJhcnkuICBEdXJpbmcgYXR0YWNobWVudCBH REIgdGhpbmtzIGl0Ci1uZWVkcyB0byB1c2UgJ2JyZWFrcG9pbnQgYWx3YXlzLWluc2VydGVkJyBm cm9tCi1icmVha3BvaW50c19zaG91bGRfYmVfaW5zZXJ0ZWRfbm93KCkgYXMgYSBuZXdseSBhdHRh Y2hlZCB0aHJlYWQgaXMKLSd0aHJlYWRfaW5mby0+ZXhlY3V0aW5nJyBkdWUgdG8gJ2x3cF9pbmZv LT5tdXN0X3NldF9wdHJhY2VfZmxhZ3MnIGVuYWJsZWQgYW5kCi10aGUgdGFzayBub3QgeWV0IHN0 b3BwZWQuICBUaGlzIGRpZCBub3QgaGFwcGVuIGJlZm9yZSB0aGUgJ2JhZCBjb21taXQnIGFib3Zl Ci13aGljaCBhZGRzIHRyYWNraW5nIG9mIHN1Y2ggdGhyZWFkLgotCi1HREIgdGhlbiBmYWlscyB0 byBpbnNlcnQgdGhlIGJyZWFrcG9pbnRzIHRvIGludmFsaWQgYWRkcmVzcyBhcyBQSUUgZXhlY3V0 YWJsZQotZ2V0cyBwcm9wZXJseSByZWxvY2F0ZWQgZHVyaW5nIGxhdGVyIHBoYXNlIG9mIGF0dGFj aG1lbnQuICBPbmUgY2FuIHNlZSBpbiB0aGUKLWJhY2t0cmFjZXMgYmVsb3c6Ci0jMTEgaW4gc2V0 dXBfaW5mZXJpb3IgKGZyb21fdHR5PTApIGF0IGluZmNtZC5jOjI2NjMKLSAtPiBqaXRfYnJlYWtw b2ludF9yZV9zZXRfaW50ZXJuYWwoKQotbGF0ZXI6Ci0jNSAgaW4gc2V0dXBfaW5mZXJpb3IgKGZy b21fdHR5PTApIGF0IGluZmNtZC5jOjI2NzMKLSAtPiBzdnI0X2V4ZWNfZGlzcGxhY2VtZW50KCkK LQotT25lIGNhbiBzdXBwcmVzcyB0aGUgaW5pdGlhbCBicmVha3BvaW50X3JlX3NldCgpIGNhbGwg YXMgdGhlcmUgd2lsbCBiZSBhbm90aGVyCi1icmVha3BvaW50X3JlX3NldCgpIGRvbmUgZnJvbSB0 aGUgZmluYWwgcG9zdF9jcmVhdGVfaW5mZXJpb3IoKSBjYWxsIGluCi1zZXR1cF9pbmZlcmlvcigp LgotCi1CVFcgYWRkaXRpb25hbGx5ICd0aHJlYWRzX2V4ZWN1dGluZycgY2FjaGUgYm9vbCBpcyBz b21laG93IHN0YWxlIChzb21ld2hlcmUgaXMKLW1pc3NpbmcgdXBkYXRlX3RocmVhZHNfZXhlY3V0 aW5nKCkpLiAgSSB3YXMgdHJ5aW5nIHRvIGRlYWwgd2l0aCB0aGF0IGluIG15Ci1maXJzdC9zZWNv bmQgYXR0ZW1wdCBiZWxvdyBidXQgaW4gbXkgZmluYWwgdGhpcmQgYXR0ZW1wdCAoYXR0YWNoZWQp IEkgaGF2ZQotbGVmdCBpdCBhcyBpdCBpcy4KLQotRmlyc3QgYXR0ZW1wdCB0cnlpbmcgbm90IHRv IGZhbHNlbHkgcmVxdWlyZSAnYnJlYWtwb2ludCBhbHdheXMtaW5zZXJ0ZWQnOgotICBodHRwczov L3Blb3BsZS5yZWRoYXQuY29tL2prcmF0b2NoL3JoYnoxMzc1NTUzLWZpeDEucGF0Y2gKLVJlZHVj ZWQgZmlyc3QgYXR0ZW1wdDoKLSAgaHR0cHM6Ly9wZW9wbGUucmVkaGF0LmNvbS9qa3JhdG9jaC9y aGJ6MTM3NTU1My1maXgyLnBhdGNoCi0KLVRoZSB0aGlyZCBhdHRlbXB0IHN1cHByZXNzZXMgYnJl YWtwb2ludCBpbnNlcnRpb24gdW50aWwgUElFIGV4ZWN1dGFibGUgZ2V0cwotcmVsb2NhdGVkIGJ5 IHN2cjRfZXhlY19kaXNwbGFjZW1lbnQoKS4gIEF0dGFjaGVkLgotCi1ObyByZWdyZXNzaW9ucyBv biB7eDg2XzY0LHg4Nl82NC1tMzIsaTY4Nn0tZmVkb3JhMjZwcmUtbGludXgtZ251LgotCi1PSyBm b3IgY2hlY2staW4gZm9yIHRydW5rICsgNy4xMj8KLQotCi1KYW4KLQotCi0jMCAgaml0X2JyZWFr cG9pbnRfcmVfc2V0X2ludGVybmFsIChnZGJhcmNoPTB4MjViZWZlMCwgcHNfZGF0YT0weDIzYjM3 ZTApIGF0IGppdC5jOjEwNDUKLSMxICBpbiBqaXRfYnJlYWtwb2ludF9yZV9zZXQgKCkgYXQgaml0 LmM6MTQwOAotIzIgIGluIGJyZWFrcG9pbnRfcmVfc2V0ICgpIGF0IGJyZWFrcG9pbnQuYzoxNDY2 NQotIzMgIGluIGNsZWFyX3N5bXRhYl91c2VycyAoYWRkX2ZsYWdzPTQpIGF0IHN5bWZpbGUuYzoy OTcwCi0jNCAgaW4gZmluaXNoX25ld19vYmpmaWxlIChvYmpmaWxlPTB4MjViNmQxMCwgYWRkX2Zs YWdzPTQpIGF0IHN5bWZpbGUuYzoxMTA5Ci0jNSAgaW4gc3ltYm9sX2ZpbGVfYWRkX3dpdGhfYWRk cnMgKGFiZmQ9MHgyNWI0YmQwLCBuYW1lPTB4MjViMzk3MCAiL3RtcC9hLm91dCIsIGFkZF9mbGFn cz00LCBhZGRycz0weDAsIGZsYWdzPTAsIHBhcmVudD0weDApIGF0IHN5bWZpbGUuYzoxMjMzCi0j NiAgaW4gc3ltYm9sX2ZpbGVfYWRkX2Zyb21fYmZkIChhYmZkPTB4MjViNGJkMCwgbmFtZT0weDI1 YjM5NzAgIi90bXAvYS5vdXQiLCBhZGRfZmxhZ3M9NCwgYWRkcnM9MHgwLCBmbGFncz0wLCBwYXJl bnQ9MHgwKSBhdCBzeW1maWxlLmM6MTI3NgotIzcgIGluIHN5bWJvbF9maWxlX2FkZCAobmFtZT0w eDI1YjM5NzAgIi90bXAvYS5vdXQiLCBhZGRfZmxhZ3M9NCwgYWRkcnM9MHgwLCBmbGFncz0wKSBh dCBzeW1maWxlLmM6MTI5MAotIzggIGluIHN5bWJvbF9maWxlX2FkZF9tYWluXzEgKGFyZ3M9MHgy NWIzOTcwICIvdG1wL2Eub3V0IiwgZnJvbV90dHk9MCwgZmxhZ3M9MCkgYXQgc3ltZmlsZS5jOjEz MTUKLSM5ICBpbiBzeW1ib2xfZmlsZV9hZGRfbWFpbiAoYXJncz0weDI1YjM5NzAgIi90bXAvYS5v dXQiLCBmcm9tX3R0eT0wKSBhdCBzeW1maWxlLmM6MTMwNgotIzEwIGluIGV4ZWNfZmlsZV9sb2Nh dGVfYXR0YWNoIChwaWQ9MjUwMiwgZnJvbV90dHk9MCkgYXQgZXhlYy5jOjIzNQotIzExIGluIHNl dHVwX2luZmVyaW9yIChmcm9tX3R0eT0wKSBhdCBpbmZjbWQuYzoyNjYzCi0jMTIgaW4gc3RvcF9h bGxfdGhyZWFkcyAoKSBhdCBpbmZydW4uYzo0NjMwCi0jMTMgaW4gc3RvcF93YWl0aW5nIChlY3M9 MHg3ZmZmZmZmZmQ0MDApIGF0IGluZnJ1bi5jOjc3MTAKLSMxNCBpbiBoYW5kbGVfc2lnbmFsX3N0 b3AgKGVjcz0weDdmZmZmZmZmZDQwMCkgYXQgaW5mcnVuLmM6NTc2NQotIzE1IGluIGhhbmRsZV9p bmZlcmlvcl9ldmVudF8xIChlY3M9MHg3ZmZmZmZmZmQ0MDApIGF0IGluZnJ1bi5jOjUzOTUKLSMx NiBpbiBoYW5kbGVfaW5mZXJpb3JfZXZlbnQgKGVjcz0weDdmZmZmZmZmZDQwMCkgYXQgaW5mcnVu LmM6NTQyNgotIzE3IGluIGZldGNoX2luZmVyaW9yX2V2ZW50IChjbGllbnRfZGF0YT0weDApIGF0 IGluZnJ1bi5jOjM5NzIKLSMxOCBpbiBpbmZlcmlvcl9ldmVudF9oYW5kbGVyIChldmVudF90eXBl PUlORl9SRUdfRVZFTlQsIGNsaWVudF9kYXRhPTB4MCkgYXQgaW5mLWxvb3AuYzo0NAotIzE5IGlu IGhhbmRsZV90YXJnZXRfZXZlbnQgKGVycm9yPTAsIGNsaWVudF9kYXRhPTB4MCkgYXQgbGludXgt bmF0LmM6NDUyMwotIzIwIGluIGhhbmRsZV9maWxlX2V2ZW50IChmaWxlX3B0cj0weDI1YWQzMzAs IHJlYWR5X21hc2s9MSkgYXQgZXZlbnQtbG9vcC5jOjczMwotIzIxIGluIGdkYl93YWl0X2Zvcl9l dmVudCAoYmxvY2s9MCkgYXQgZXZlbnQtbG9vcC5jOjg1OQotIzIyIGluIGdkYl9kb19vbmVfZXZl bnQgKCkgYXQgZXZlbnQtbG9vcC5jOjMyMgotIzIzIGluIHdhaXRfc3luY19jb21tYW5kX2RvbmUg KCkgYXQgdG9wLmM6NTY4Ci0jMjQgaW4gbWF5YmVfd2FpdF9zeW5jX2NvbW1hbmRfZG9uZSAod2Fz X3N5bmM9MCkgYXQgdG9wLmM6NTg3Ci0jMjUgaW4gY2F0Y2hfY29tbWFuZF9lcnJvcnMgKGNvbW1h bmQ9MHg3NDVlMGMgPGF0dGFjaF9jb21tYW5kKGNoYXIqLCBpbnQpPiwgYXJnPTB4N2ZmZmZmZmZk ZDA4ICIyNTAyIiwgZnJvbV90dHk9MSkgYXQgbWFpbi5jOjM3NwotIzI2IGluIGNhcHR1cmVkX21h aW4gKGRhdGE9MHg3ZmZmZmZmZmQ4MDApIGF0IG1haW4uYzoxMDY1Ci0jMjcgaW4gZ2RiX21haW4g KGFyZ3M9MHg3ZmZmZmZmZmQ4MDApIGF0IG1haW4uYzoxMTU5Ci0jMjggaW4gbWFpbiAoYXJnYz0x MCwgYXJndj0weDdmZmZmZmZmZDkwOCkgYXQgZ2RiLmM6MzIKLQotIzAgIHN2cjRfZXhlY19kaXNw bGFjZW1lbnQgKGRpc3BsYWNlbWVudHA9MHg3ZmZmZmZmZmNlZDApIGF0IHNvbGliLXN2cjQuYzoy NjM0Ci0jMSAgaW4gc3ZyNF9yZWxvY2F0ZV9tYWluX2V4ZWN1dGFibGUgKCkgYXQgc29saWItc3Zy NC5jOjMwMzEKLSMyICBpbiBzdnI0X3NvbGliX2NyZWF0ZV9pbmZlcmlvcl9ob29rIChmcm9tX3R0 eT0wKSBhdCBzb2xpYi1zdnI0LmM6MzA5MgotIzMgIGluIHNvbGliX2NyZWF0ZV9pbmZlcmlvcl9o b29rIChmcm9tX3R0eT0wKSBhdCBzb2xpYi5jOjEyNzYKLSM0ICBpbiBwb3N0X2NyZWF0ZV9pbmZl cmlvciAodGFyZ2V0PTB4MjFlZTk4MCA8Y3VycmVudF90YXJnZXQ+LCBmcm9tX3R0eT0wKSBhdCBp bmZjbWQuYzo0NDUKLSM1ICBpbiBzZXR1cF9pbmZlcmlvciAoZnJvbV90dHk9MCkgYXQgaW5mY21k LmM6MjY3MwotIzYgIGluIHN0b3BfYWxsX3RocmVhZHMgKCkgYXQgaW5mcnVuLmM6NDYzMAotIzcg IGluIHN0b3Bfd2FpdGluZyAoZWNzPTB4N2ZmZmZmZmZkNDAwKSBhdCBpbmZydW4uYzo3NzEwCi0j OCAgaW4gaGFuZGxlX3NpZ25hbF9zdG9wIChlY3M9MHg3ZmZmZmZmZmQ0MDApIGF0IGluZnJ1bi5j OjU3NjUKLSM5ICBpbiBoYW5kbGVfaW5mZXJpb3JfZXZlbnRfMSAoZWNzPTB4N2ZmZmZmZmZkNDAw KSBhdCBpbmZydW4uYzo1Mzk1Ci0jMTAgaW4gaGFuZGxlX2luZmVyaW9yX2V2ZW50IChlY3M9MHg3 ZmZmZmZmZmQ0MDApIGF0IGluZnJ1bi5jOjU0MjYKLSMxMSBpbiBmZXRjaF9pbmZlcmlvcl9ldmVu dCAoY2xpZW50X2RhdGE9MHgwKSBhdCBpbmZydW4uYzozOTcyCi0jMTIgaW4gaW5mZXJpb3JfZXZl bnRfaGFuZGxlciAoZXZlbnRfdHlwZT1JTkZfUkVHX0VWRU5ULCBjbGllbnRfZGF0YT0weDApIGF0 IGluZi1sb29wLmM6NDQKLSMxMyBpbiBoYW5kbGVfdGFyZ2V0X2V2ZW50IChlcnJvcj0wLCBjbGll bnRfZGF0YT0weDApIGF0IGxpbnV4LW5hdC5jOjQ1MjMKLSMxNCBpbiBoYW5kbGVfZmlsZV9ldmVu dCAoZmlsZV9wdHI9MHgyNWFkMzMwLCByZWFkeV9tYXNrPTEpIGF0IGV2ZW50LWxvb3AuYzo3MzMK LSMxNSBpbiBnZGJfd2FpdF9mb3JfZXZlbnQgKGJsb2NrPTApIGF0IGV2ZW50LWxvb3AuYzo4NTkK LSMxNiBpbiBnZGJfZG9fb25lX2V2ZW50ICgpIGF0IGV2ZW50LWxvb3AuYzozMjIKLSMxNyBpbiB3 YWl0X3N5bmNfY29tbWFuZF9kb25lICgpIGF0IHRvcC5jOjU2OAotIzE4IGluIG1heWJlX3dhaXRf c3luY19jb21tYW5kX2RvbmUgKHdhc19zeW5jPTApIGF0IHRvcC5jOjU4NwotIzE5IGluIGNhdGNo X2NvbW1hbmRfZXJyb3JzIChjb21tYW5kPTB4NzQ1ZTBjIDxhdHRhY2hfY29tbWFuZChjaGFyKiwg aW50KT4sIGFyZz0weDdmZmZmZmZmZGQwOCAiMjUwMiIsIGZyb21fdHR5PTEpIGF0IG1haW4uYzoz NzcKLSMyMCBpbiBjYXB0dXJlZF9tYWluIChkYXRhPTB4N2ZmZmZmZmZkODAwKSBhdCBtYWluLmM6 MTA2NQotIzIxIGluIGdkYl9tYWluIChhcmdzPTB4N2ZmZmZmZmZkODAwKSBhdCBtYWluLmM6MTE1 OQotIzIyIGluIG1haW4gKGFyZ2M9MTAsIGFyZ3Y9MHg3ZmZmZmZmZmQ5MDgpIGF0IGdkYi5jOjMy Ci0KLS0tY05keG5Ia1g1UXFzeUEwZQotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0 PXVzLWFzY2lpCi1Db250ZW50LURpc3Bvc2l0aW9uOiBpbmxpbmU7IGZpbGVuYW1lPSJqaXRicC5w YXRjaCIKLQotZ2RiL0NoYW5nZUxvZwotMjAxNi0wOS0yNyAgSmFuIEtyYXRvY2h2aWwgIDxqYW4u a3JhdG9jaHZpbEByZWRoYXQuY29tPgotCi0JUFIgZ2RiLzIwNjA5IC0gYXR0YWNoIG9mIEpJVC1k ZWJ1Zy1lbmFibGVkIGluZiA3LjExLjEgcmVncmVzc2lvbgotCSogZXhlYy5jIChleGVjX2ZpbGVf bG9jYXRlX2F0dGFjaCk6IEFkZCBwYXJhbWV0ZXIgZGVmZXJfYnBfcmVzZXQuCi0JVXNlIGl0Lgot CSogZ2RiY29yZS5oIChleGVjX2ZpbGVfbG9jYXRlX2F0dGFjaCk6IEFkZCBwYXJhbWV0ZXIgZGVm ZXJfYnBfcmVzZXQuCi0JKiBpbmZjbWQuYyAoc2V0dXBfaW5mZXJpb3IpOiBVcGRhdGUgY2FsbGVy LgotCSogcmVtb3RlLmMgKHJlbW90ZV9hZGRfaW5mZXJpb3IpOiBMaWtld2lzZS4KLQotZ2RiL3Rl c3RzdWl0ZS9DaGFuZ2VMb2cKLTIwMTYtMDktMjcgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRv Y2h2aWxAcmVkaGF0LmNvbT4KLQotCVBSIGdkYi8yMDYwOSAtIGF0dGFjaCBvZiBKSVQtZGVidWct ZW5hYmxlZCBpbmYgNy4xMS4xIHJlZ3Jlc3Npb24KLQkqIGdkYi5iYXNlL2ppdC1hdHRhY2gtcGll LmM6IE5ldyBmaWxlLgotCSogZ2RiLmJhc2Uvaml0LWF0dGFjaC1waWUuZXhwOiBOZXcgZmlsZS4K LQotZGlmZiAtLWdpdCBhL2dkYi9leGVjLmMgYi9nZGIvZXhlYy5jCi1pbmRleCAwMGMzMWQzLi5m MTZjYjRiIDEwMDY0NAotLS0tIGEvZ2RiL2V4ZWMuYwotKysrIGIvZ2RiL2V4ZWMuYwotQEAgLTE1 Nyw3ICsxNTcsNyBAQCBleGNlcHRpb25fcHJpbnRfc2FtZSAoc3RydWN0IGdkYl9leGNlcHRpb24g ZTEsIHN0cnVjdCBnZGJfZXhjZXB0aW9uIGUyKQotIC8qIFNlZSBnZGJjb3JlLmguICAqLwotIAot IHZvaWQKLS1leGVjX2ZpbGVfbG9jYXRlX2F0dGFjaCAoaW50IHBpZCwgaW50IGZyb21fdHR5KQot K2V4ZWNfZmlsZV9sb2NhdGVfYXR0YWNoIChpbnQgcGlkLCBpbnQgZGVmZXJfYnBfcmVzZXQsIGlu dCBmcm9tX3R0eSkKLSB7Ci0gICBjaGFyICpleGVjX2ZpbGUsICpmdWxsX2V4ZWNfcGF0aCA9IE5V TEw7Ci0gICBzdHJ1Y3QgY2xlYW51cCAqb2xkX2NoYWluOwotQEAgLTIzMiw2ICsyMzIsOCBAQCBl eGVjX2ZpbGVfbG9jYXRlX2F0dGFjaCAoaW50IHBpZCwgaW50IGZyb21fdHR5KQotIAotICAgVFJZ Ci0gICAgIHsKLSsgICAgICBpZiAoZGVmZXJfYnBfcmVzZXQpCi0rCWN1cnJlbnRfaW5mZXJpb3Ig KCktPnN5bWZpbGVfZmxhZ3MgfD0gU1lNRklMRV9ERUZFUl9CUF9SRVNFVDsKLSAgICAgICBzeW1i b2xfZmlsZV9hZGRfbWFpbiAoZnVsbF9leGVjX3BhdGgsIGZyb21fdHR5KTsKLSAgICAgfQotICAg Q0FUQ0ggKGVyciwgUkVUVVJOX01BU0tfRVJST1IpCi1AQCAtMjQwLDYgKzI0Miw3IEBAIGV4ZWNf ZmlsZV9sb2NhdGVfYXR0YWNoIChpbnQgcGlkLCBpbnQgZnJvbV90dHkpCi0gCXdhcm5pbmcgKCIl cyIsIGVyci5tZXNzYWdlKTsKLSAgICAgfQotICAgRU5EX0NBVENICi0rICBjdXJyZW50X2luZmVy aW9yICgpLT5zeW1maWxlX2ZsYWdzICY9IH5TWU1GSUxFX0RFRkVSX0JQX1JFU0VUOwotIAotICAg ZG9fY2xlYW51cHMgKG9sZF9jaGFpbik7Ci0gfQotZGlmZiAtLWdpdCBhL2dkYi9nZGJjb3JlLmgg Yi9nZGIvZ2RiY29yZS5oCi1pbmRleCA4YjEwMWJjLi42YWE5YWZhIDEwMDY0NAotLS0tIGEvZ2Ri L2dkYmNvcmUuaAotKysrIGIvZ2RiL2dkYmNvcmUuaAotQEAgLTE1NCw5ICsxNTQsMTAgQEAgZXh0 ZXJuIHZvaWQgZXhlY19maWxlX2F0dGFjaCAoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBmcm9t X3R0eSk7Ci0gLyogSWYgdGhlIGZpbGVuYW1lIG9mIHRoZSBtYWluIGV4ZWN1dGFibGUgaXMgdW5r bm93biwgYXR0ZW1wdCB0bwotICAgIGRldGVybWluZSBpdC4gIElmIGEgZmlsZW5hbWUgaXMgZGV0 ZXJtaW5lZCwgcHJvY2VlZCBhcyB0aG91Z2gKLSAgICBpdCB3YXMganVzdCBzcGVjaWZpZWQgd2l0 aCB0aGUgImZpbGUiIGNvbW1hbmQuICBEbyBub3RoaW5nIGlmCi0tICAgdGhlIGZpbGVuYW1lIG9m IHRoZSBtYWluIGV4ZWN1dGFibGUgaXMgYWxyZWFkeSBrbm93bi4gICovCi0rICAgdGhlIGZpbGVu YW1lIG9mIHRoZSBtYWluIGV4ZWN1dGFibGUgaXMgYWxyZWFkeSBrbm93bi4KLSsgICBERUZFUl9C UF9SRVNFVCB1c2VzIFNZTUZJTEVfREVGRVJfQlBfUkVTRVQgZm9yIHRoZSBtYWluIHN5bWJvbCBm aWxlLiAgKi8KLSAKLS1leHRlcm4gdm9pZCBleGVjX2ZpbGVfbG9jYXRlX2F0dGFjaCAoaW50IHBp ZCwgaW50IGZyb21fdHR5KTsKLStleHRlcm4gdm9pZCBleGVjX2ZpbGVfbG9jYXRlX2F0dGFjaCAo aW50IHBpZCwgaW50IGRlZmVyX2JwX3Jlc2V0LCBpbnQgZnJvbV90dHkpOwotIAotIGV4dGVybiB2 b2lkIGV4ZWNfZmlsZV9jbGVhciAoaW50IGZyb21fdHR5KTsKLSAKLWRpZmYgLS1naXQgYS9nZGIv aW5mY21kLmMgYi9nZGIvaW5mY21kLmMKLWluZGV4IDQ0YTFmZDEuLjhlMzRiN2UgMTAwNjQ0Ci0t LS0gYS9nZGIvaW5mY21kLmMKLSsrKyBiL2dkYi9pbmZjbWQuYwotQEAgLTI2NjAsNyArMjY2MCw3 IEBAIHNldHVwX2luZmVyaW9yIChpbnQgZnJvbV90dHkpCi0gICAvKiBJZiBubyBleGVjIGZpbGUg aXMgeWV0IGtub3duLCB0cnkgdG8gZGV0ZXJtaW5lIGl0IGZyb20gdGhlCi0gICAgICBwcm9jZXNz IGl0c2VsZi4gICovCi0gICBpZiAoZ2V0X2V4ZWNfZmlsZSAoMCkgPT0gTlVMTCkKLS0gICAgZXhl Y19maWxlX2xvY2F0ZV9hdHRhY2ggKHB0aWRfZ2V0X3BpZCAoaW5mZXJpb3JfcHRpZCksIGZyb21f dHR5KTsKLSsgICAgZXhlY19maWxlX2xvY2F0ZV9hdHRhY2ggKHB0aWRfZ2V0X3BpZCAoaW5mZXJp b3JfcHRpZCksIDEsIGZyb21fdHR5KTsKLSAgIGVsc2UKLSAgICAgewotICAgICAgIHJlb3Blbl9l eGVjX2ZpbGUgKCk7Ci1kaWZmIC0tZ2l0IGEvZ2RiL3JlbW90ZS5jIGIvZ2RiL3JlbW90ZS5jCi1p bmRleCA5MTBhYzgxLi5iNDYwYmIxIDEwMDY0NAotLS0tIGEvZ2RiL3JlbW90ZS5jCi0rKysgYi9n ZGIvcmVtb3RlLmMKLUBAIC0xNzk5LDcgKzE3OTksNyBAQCByZW1vdGVfYWRkX2luZmVyaW9yIChp bnQgZmFrZV9waWRfcCwgaW50IHBpZCwgaW50IGF0dGFjaGVkLAotICAgLyogSWYgbm8gbWFpbiBl eGVjdXRhYmxlIGlzIGN1cnJlbnRseSBvcGVuIHRoZW4gYXR0ZW1wdCB0bwotICAgICAgb3BlbiB0 aGUgZmlsZSB0aGF0IHdhcyBleGVjdXRlZCB0byBjcmVhdGUgdGhpcyBpbmZlcmlvci4gICovCi0g ICBpZiAodHJ5X29wZW5fZXhlYyAmJiBnZXRfZXhlY19maWxlICgwKSA9PSBOVUxMKQotLSAgICBl eGVjX2ZpbGVfbG9jYXRlX2F0dGFjaCAocGlkLCAxKTsKLSsgICAgZXhlY19maWxlX2xvY2F0ZV9h dHRhY2ggKHBpZCwgMCwgMSk7Ci0gCi0gICByZXR1cm4gaW5mOwotIH0KLWRpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ppdC1hdHRhY2gtcGllLmMgYi9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2ppdC1hdHRhY2gtcGllLmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAw MDAwLi41MDgwYmRlCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2ppdC1hdHRhY2gtcGllLmMKLUBAIC0wLDAgKzEsNjEgQEAKLSsvKiBUaGlzIHRlc3RjYXNlIGlz IHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgotKwotKyAgIENvcHlyaWdodCAyMDE2IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lv biAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl cnNpb24uCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsKLSsgICBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAg IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9y Zy9saWNlbnNlcy8+LiAgKi8KLSsKLSsjaW5jbHVkZSA8dW5pc3RkLmg+Ci0rI2luY2x1ZGUgPHN0 ZGludC5oPgotKyNpbmNsdWRlIDxwdGhyZWFkLmg+Ci0rCi0rc3RydWN0IGppdF9jb2RlX2VudHJ5 Ci0rewotKyAgc3RydWN0IGppdF9jb2RlX2VudHJ5ICpuZXh0X2VudHJ5OwotKyAgc3RydWN0IGpp dF9jb2RlX2VudHJ5ICpwcmV2X2VudHJ5OwotKyAgY29uc3QgY2hhciAqc3ltZmlsZV9hZGRyOwot KyAgdWludDY0X3Qgc3ltZmlsZV9zaXplOwotK307Ci0rCi0rc3RydWN0IGppdF9kZXNjcmlwdG9y Ci0rewotKyAgdWludDMyX3QgdmVyc2lvbjsKLSsgIC8qIFRoaXMgdHlwZSBzaG91bGQgYmUgaml0 X2FjdGlvbnNfdCwgYnV0IHdlIHVzZSB1aW50MzJfdAotKyAgICAgdG8gYmUgZXhwbGljaXQgYWJv dXQgdGhlIGJpdHdpZHRoLiAgKi8KLSsgIHVpbnQzMl90IGFjdGlvbl9mbGFnOwotKyAgc3RydWN0 IGppdF9jb2RlX2VudHJ5ICpyZWxldmFudF9lbnRyeTsKLSsgIHN0cnVjdCBqaXRfY29kZV9lbnRy eSAqZmlyc3RfZW50cnk7Ci0rfTsKLSsKLStzdHJ1Y3Qgaml0X2Rlc2NyaXB0b3IgX19qaXRfZGVi dWdfZGVzY3JpcHRvciA9IHsgMSwgMCwgMCwgMCB9OwotKwotK3ZvaWQgX19qaXRfZGVidWdfcmVn aXN0ZXJfY29kZSgpCi0rewotK30KLSsKLStzdGF0aWMgdm9pZCAqCi0rdGhyZWFkX3Byb2MgKHZv aWQgKmFyZykKLSt7Ci0rICBzbGVlcCAoNjApOwotKyAgcmV0dXJuIGFyZzsKLSt9Ci0rCi0raW50 Ci0rbWFpbiAodm9pZCkKLSt7Ci0rICBwdGhyZWFkX3QgdGhyZWFkOwotKwotKyAgcHRocmVhZF9j cmVhdGUgKCZ0aHJlYWQsIE5VTEwsIHRocmVhZF9wcm9jLCAwKTsKLSsgIHB0aHJlYWRfam9pbiAo dGhyZWFkLCBOVUxMKTsKLSsgIHJldHVybiAwOwotK30KLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2ppdC1hdHRhY2gtcGllLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv aml0LWF0dGFjaC1waWUuZXhwCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4u MmMyNTczMwotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9qaXQt YXR0YWNoLXBpZS5leHAKLUBAIC0wLDAgKzEsNDggQEAKLSsjIENvcHlyaWdodCAoQykgMjAxNiBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsjCi0rIyBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyMgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkKLSsjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9u IDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz aW9uLgotKyMKLSsjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAotKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSsjIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rIwotKyMgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSsjIGFsb25n IHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNl bnNlcy8+LgotKwotK2lmIHshW2Nhbl9zcGF3bl9mb3JfYXR0YWNoXX0gewotKyAgICByZXR1cm4g MAotK30KLSsKLStzdGFuZGFyZF90ZXN0ZmlsZSAuYwotK3NldCBleGVjdXRhYmxlICR7dGVzdGZp bGV9Ci0rCi0raWYgeyBbYnVpbGRfZXhlY3V0YWJsZSAke3Rlc3RmaWxlfS5leHAgJGV4ZWN1dGFi bGUgJHNyY2ZpbGUgXAotKwkJCSAgW2xpc3QgZGVidWcgcHRocmVhZHMgImFkZGl0aW9uYWxfZmxh Z3M9LWZQSUUgLXBpZSJdXSB9IHsKLSsgICAgcmV0dXJuIC0xCi0rfQotKwotKyMgU3RhcnQgdGhl IHByb2dyYW0gcnVubmluZyBhbmQgdGhlbiB3YWl0IGZvciBhIGJpdCwgdG8gYmUgc3VyZQotKyMg dGhhdCBpdCBjYW4gYmUgYXR0YWNoZWQgdG8uCi0rCi0rc2V0IHRlc3Rfc3Bhd25faWQgW3NwYXdu X3dhaXRfZm9yX2F0dGFjaCAkYmluZmlsZV0KLStzZXQgdGVzdHBpZCBbc3Bhd25faWRfZ2V0X3Bp ZCAkdGVzdF9zcGF3bl9pZF0KLSsKLSsjIGdkYl9sb2FkICgiZmlsZSIgY29tbWFuZCkgbXVzdCBu b3QgYmUgZXhlY3V0ZWQgZm9yIHRoZSBidWcgcmVwcm9kdWNpYmlsaXR5LgotKyMgVGhhdCBpbmNs dWRlcyBwcmVwYXJlX2Zvcl90ZXN0aW5nIG9yIGNsZWFuX3Jlc3RhcnQuCi0rZ2RiX3N0YXJ0Ci0r Ci0rc2V0IHRlc3QgImF0dGFjaCIKLStnZGJfdGVzdF9tdWx0aXBsZSAiYXR0YWNoICR0ZXN0cGlk IiAkdGVzdCB7Ci0rICAgIC1yZSAiQXR0YWNoaW5nIHRvIHByb2Nlc3MgJHRlc3RwaWRcclxuLipD YW5ub3QgaW5zZXJ0IGJyZWFrcG9pbnQgLipcclxuJGdkYl9wcm9tcHQgJCIgewotKwlmYWlsICR0 ZXN0Ci0rICAgIH0KLSsgICAgLXJlICJBdHRhY2hpbmcgdG8gcHJvY2VzcyAkdGVzdHBpZFxyXG4u KlxyXG4kZ2RiX3Byb21wdCAkIiB7Ci0rCXBhc3MgJHRlc3QKLSsgICAgfQotK30KLSsKLStraWxs X3dhaXRfc3Bhd25lZF9wcm9jZXNzICR0ZXN0X3NwYXduX2lkCi0KLS0tY05keG5Ia1g1UXFzeUEw ZS0tCi0KCmRpZmYgLS1naXQgYS9nZGItdXBzdHJlYW0ucGF0Y2ggYi9nZGItdXBzdHJlYW0ucGF0 Y2gKaW5kZXggODczNjRhZi4uNjQ5ODA0YiAxMDA2NDQKLS0tIGEvZ2RiLXVwc3RyZWFtLnBhdGNo CisrKyBiL2dkYi11cHN0cmVhbS5wYXRjaApAQCAtNTMsMyArNTMsNjgwIEBAIERhdGU6ICAgU3Vu IFNlcCAxMSAxNjo1MzowOSAyMDE2IC0wNDAwCiAgfQogIAogIHN0YXRpYyB2b2lkCisKKworY29t bWl0IGYzODlmNmZlZjc2ZDdjZjhlOGJlYjcwNjFlZGZmMjE1NWMyODQ4OTgKK0F1dGhvcjogSmFu IEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CitEYXRlOiAgIFdlZCBPY3Qg NSAyMTo1Njo0NiAyMDE2ICswMjAwCisKKyAgICB0ZXN0c3VpdGU6IEZpeCByZWNlbnQgR0NDIEZB SUw6IGdkYi5hcmNoL2kzODYtc2lnbmFsLmV4cAorICAgIAorICAgIGdjYy02LjIuMS0yLmZjMjQu eDg2XzY0CisgICAgCisgICAgKGdkYikgYmFja3RyYWNlIDEwXk0KKyAgICAoZ2RiKSBGQUlMOiBn ZGIuYXJjaC9pMzg2LXNpZ25hbC5leHA6IGJhY2t0cmFjZSAxMAorICAgIAorICAgIChnZGIpIGRp c2FzL3MKKyAgICBEdW1wIG9mIGFzc2VtYmxlciBjb2RlIGZvciBmdW5jdGlvbiBtYWluOgorICAg IC4uLi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2kzODYtc2lnbmFsLmM6CisgICAgMzAgICAgICB7 CisgICAgICAgMHgwMDAwMDAwMDAwNDAwNTdmIDwrMD46ICAgICBwdXNoICAgJXJicAorICAgICAg IDB4MDAwMDAwMDAwMDQwMDU4MCA8KzE+OiAgICAgbW92ICAgICVyc3AsJXJicAorICAgIDMxICAg ICAgICBzZXR1cCAoKTsKKyAgICAgICAweDAwMDAwMDAwMDA0MDA1ODMgPCs0PjogICAgIGNhbGxx ICAweDQwMDU5MCA8c2V0dXA+CisgICAgPT4gMHgwMDAwMDAwMDAwNDAwNTg4IDwrOT46ICAgICBt b3YgICAgJDB4MCwlZWF4CisgICAgMzIgICAgICB9CisgICAgICAgMHgwMDAwMDAwMDAwNDAwNThk IDwrMTQ+OiAgICBwb3AgICAgJXJicAorICAgICAgIDB4MDAwMDAwMDAwMDQwMDU4ZSA8KzE1Pjog ICAgcmV0cQorICAgIEVuZCBvZiBhc3NlbWJsZXIgZHVtcC4KKyAgICAKKyAgICBUaGUgLmV4cCBw YXRjaCBpcyBhbiBvYnZpb3VzIHR5cG8gZml4IEkgdGhpbmsuICBUaGUgcmVnZXggd2FzIHdyaXR0 ZW4gdG8KKyAgICBhY2NlcHQgIkFERFIgaW4gbWFpbiIgYW5kIEkgZmluZCBpdCBPSyBhcyBjaGVj a2luZyAuZGVidWdfbGluZSB2YWxpZGl0eSBpcyBub3QKKyAgICB0aGUgcHVycG9zZSBvZiB0aGlz IHRlc3RmaWxlLgorICAgIAorICAgIGdjYy00LjguNS0xMS5lbDcueDg2XzY0IGRpZCBub3QgcHV0 IHRoZSAnbW92ICQweDAsJWVheCcgaW5zdHJ1Y3Rpb24gdGhlcmUgYXQKKyAgICBhbGwgc28gdGhl cmUgd2FzIG5vIHByb2JsZW0gd2l0aCAuZGVidWdfbGluZS4KKyAgICAKKyAgICBnZGIvdGVzdHN1 aXRlL0NoYW5nZUxvZworICAgIDIwMTYtMTAtMDUgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRv Y2h2aWxAcmVkaGF0LmNvbT4KKyAgICAKKyAgICAJKiBnZGIuYXJjaC9pMzg2LXNpZ25hbC5leHAg KGJhY2t0cmFjZSAxMCk6IEZpeCAjMiB0eXBvLgorCisjIyMgYS9nZGIvdGVzdHN1aXRlL0NoYW5n ZUxvZworIyMjIGIvZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKKyMjIC0xLDMgKzEsNyBAQAorKzIw MTYtMTAtMDUgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKysK KysJKiBnZGIuYXJjaC9pMzg2LXNpZ25hbC5leHAgKGJhY2t0cmFjZSAxMCk6IEZpeCAjMiB0eXBv LgorKworIDIwMTYtMTAtMDUgIFlhbyBRaSAgPHlhby5xaUBsaW5hcm8ub3JnPgorIAorIAkqIGxp Yi9nZGIuZXhwIChzdXBwb3J0X2NvbXBsZXhfdGVzdHMpOiBSZXR1cm4gemVybyBpZgorLS0tIGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9pMzg2LXNpZ25hbC5leHAKKysrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmFyY2gvaTM4Ni1zaWduYWwuZXhwCitAQCAtMzUsNiArMzUsNiBAQCBnZGJfbG9hZCAk e2JpbmZpbGV9CisgCisgcnVudG8gZnVuYworIGdkYl90ZXN0ICJiYWNrdHJhY2UgMTAiIFwKKy0g ICAgIiMwICAoJGhleCBpbiApP2Z1bmMuKlxyXG4jMSAgPHNpZ25hbCBoYW5kbGVyIGNhbGxlZD5c clxuIzIgICgkaGV4IGluKT9tYWluLioiCisrICAgICIjMCAgKCRoZXggaW4gKT9mdW5jLipcclxu IzEgIDxzaWduYWwgaGFuZGxlciBjYWxsZWQ+XHJcbiMyICAoJGhleCBpbiApP21haW4uKiIKKyAK KyBnZGJfdGVzdCAiZmluaXNoIiAiUnVuIHRpbGwgZXhpdCBmcm9tIFwjMCAgZnVuYy4qPHNpZ25h bCBoYW5kbGVyIGNhbGxlZD4iCisKKworY29tbWl0IGUwMjc5NzZmMDJjZThlZDRjZjBkYTc5MjM4 MjI2YzAzYTY0MGYyYjMKK0F1dGhvcjogUGVkcm8gQWx2ZXMgPHBhbHZlc0ByZWRoYXQuY29tPgor RGF0ZTogICBUaHUgT2N0IDYgMTI6NTc6MzkgMjAxNiArMDEwMAorCisgICAgRml4IGEgZmV3IGdk Yi5iYXNlL2ppdC1zaW1wbGUuZXhwIHByb2JsZW1zCisgICAgCisgICAgSSBub3RpY2VkIHRoYXQg d2Ugc29tZXRpbWVzIGdldCB0aGlzOgorICAgIAorICAgICAgKGdkYikgcHJpbnQgJl9faml0X2Rl YnVnX2Rlc2NyaXB0b3IKKyAgICAgICQxID0gKHN0cnVjdCBqaXRfZGVzY3JpcHRvciAqKSAweDYw MTA0MCA8X19qaXRfZGVidWdfZGVzY3JpcHRvcj4KKyAgICAgIChnZGIpIFBBU1M6IGdkYi5iYXNl L2ppdC1zaW1wbGUuZXhwOiBibGFoIDEKKyAgICAgIFsuLi5dCisgICAgICAoZ2RiKSBydW4KKyAg ICAgIFsuLi5dCisgICAgICBTdGFydGluZyBwcm9ncmFtOiBidWlsZC9nZGIvdGVzdHN1aXRlL291 dHB1dHMvZ2RiLmJhc2Uvaml0LXNpbXBsZS9qaXQtc2ltcGxlCisgICAgICBVbnN1cHBvcnRlZCBK SVQgcHJvdG9jb2wgdmVyc2lvbiA0IGluIGRlc2NyaXB0b3IgKGV4cGVjdGVkIDEpCisgICAgCisg ICAgICBCcmVha3BvaW50IDIsIG1haW4gKCkgYXQgc3JjL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv aml0LXNpbXBsZS5jOjM2CisgICAgICAzNiAgICAgICAgcmV0dXJuIDA7CisgICAgICAoZ2RiKSBw cmludCAmX19qaXRfZGVidWdfZGVzY3JpcHRvcgorICAgICAgJDIgPSAoc3RydWN0IGppdF9kZXNj cmlwdG9yICopIDB4NjAxMDQwIDxfX2ppdF9kZWJ1Z19kZXNjcmlwdG9yPgorICAgICAgKGdkYikg UEFTUzogZ2RiLmJhc2Uvaml0LXNpbXBsZS5leHA6IGJsYWggMQorICAgIAorICAgIEFsbCB0ZXN0 cyBQQVNTZWQsIGJ1dCBub3RlIHRoZSAiVW5zdXBwb3J0ZWQgSklUIHByb3RvY29sIHZlcnNpb24g NCIKKyAgICBtZXNzYWdlLgorICAgIAorICAgIEFsc28gbm90aWNlIHRoYXQgIl9faml0X2RlYnVn X2Rlc2NyaXB0b3IiIGhhcyB0aGUgc2FtZSBhZGRyZXNzIGJlZm9yZQorICAgIGFuZCBhZnRlciB0 aGUgcmVydW4sIHdoaWxlIHRoZSB0ZXN0IGlzIGJ1aWx0IGluIGEgd2F5IHRoYXQgc2hvdWxkIG1h a2UKKyAgICB0aGF0IGFkZHJlc3MgY2hhbmdlIGJldHdlZW4gcnVucy4KKyAgICAKKyAgICBUaGUg dGVzdCBkb2Vzbid0IGNhdGNoIGFueSBvZiB0aGlzIGJlY2F1c2UgaXQgZG9lc24ndCBjb21wYXJl CisgICAgYmVmb3JlL2FmdGVyIGFkZHJlc3Nlcy4KKyAgICAKKyAgICBBbmQgdGhlbiBub3RpY2Ug dGhlICJibGFoIDEiIHRlc3QgbWVzc2FnZXMuICAiYmxhaCIgaXMgY2xlYXJseSBhIFdJUAorICAg IG1lc3NhZ2UsIGJ1dCBpdCBzaG91bGQgYmUgYXQgbGVhc3QgImJsYWggMiIgdGhlIHNlY29uZCB0 aW1lLiAgOi0pCisgICAgCisgICAgVGhlIHJlYXNvbiB0aGlzIHNvbWV0aW1lcyBoYXBwZW5zIGlz IHRoYXQgdGhlIHRlc3QgcmVjb21waWxlcyB0aGUKKyAgICBwcm9ncmFtIGFuZCBleHBlY3RzIGdk YiB0byByZWxvYWQgaXQgYXV0b21hdGljYWxseXQgb24gInJ1biIuICBIb3dldmVyLAorICAgIGlm IHRoZSBvcmlnaW5hbCBwcm9ncmFtIGFuZCB0aGUgbmV3IHJlY29tcGlsYXRpb24gaGFwcGVuIHRv IGJlIGluIHRoZQorICAgIHNhbWUgc2Vjb25kLCB0aGVuIGdkYiBkb2VzIG5vdCByZWFsaXplIHRo YXQgdGhlIGJpbmFyeSBuZWVkcyB0byBiZQorICAgIHJlbG9hZGVkLiAgKFRoaXMgaXMgYW4gb2xk IHByb2JsZW0gb3V0IG9mIHNjb3BlIG9mIHRoaXMgc2VyaWVzLikgIElmCisgICAgdGhhdCBoYXBw ZW5zLCB0aGVuIEdEQiBlbmRzIHVwIHVzaW5nIHRoZSB3cm9uZyBzeW1ib2xzIGZvciB0aGUgcHJv Z3JhbQorICAgIHRoYXQgaXQgc3Bhd25zLCByZWFkcyB0aGUgSklUIGRlc2NyaXB0b3Igb3V0IG9m IHRoZSB3cm9uZyBhZGRyZXNzLAorICAgIGZpbmRzIGdhcmJhZ2UsIGFuZCBwcmludHMgdGhhdCAi dW5zdXBwb3J0ZWQgdmVyc2lvbiIgbm90aWNlLgorICAgIAorICAgIEZpeCB0aGF0IGluIHRoZSBz YW1lIHdheSBnZGIuYmFzZS9yZXJlYWQuZXhwIGhhbmRsZXMgaXQgLS0gYnkgc2xlZXBpbmcKKyAg ICBvbmUgc2Vjb25kIGJlZm9yZSByZWNvbXBpbGluZy4KKyAgICAKKyAgICBnZGIvdGVzdHN1aXRl L0NoYW5nZUxvZzoKKyAgICAyMDE2LTEwLTA2ICBQZWRybyBBbHZlcyAgPHBhbHZlc0ByZWRoYXQu Y29tPgorICAgIAorICAgIAkqIGdkYi5iYXNlL2ppdC1zaW1wbGUuZXhwICh0b3AgbGV2ZWwpIERl bGV0ZSBnZXRfY29tcGlsZXJfaW5mbworICAgIAljYWxsLgorICAgIAkoaml0X3J1bik6IERlbGV0 ZS4KKyAgICAJKGppdF90ZXN0X3JlcmVhZCk6IFVzZSB3aXRoX3Rlc3RfcHJlZml4LiAgUmVsb2Fk IHRoZSBtYWluIGJpbmFyeQorICAgIAlleHBsaWNpdGx5LiAgQ29tcGFyZSB0aGUgYmVmb3JlL2Fm dGVyIGFkZHJlc3NlcyBvZiB0aGUgSklUCisgICAgCWRlc2NyaXB0b3IuCisKKyMjIyBhL2dkYi90 ZXN0c3VpdGUvQ2hhbmdlTG9nCisjIyMgYi9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZworIyMgLTEs MyArMSwxMiBAQAorKzIwMTYtMTAtMDYgIFBlZHJvIEFsdmVzICA8cGFsdmVzQHJlZGhhdC5jb20+ CisrCisrCSogZ2RiLmJhc2Uvaml0LXNpbXBsZS5leHAgKHRvcCBsZXZlbCkgRGVsZXRlIGdldF9j b21waWxlcl9pbmZvCisrCWNhbGwuCisrCShqaXRfcnVuKTogRGVsZXRlLgorKwkoaml0X3Rlc3Rf cmVyZWFkKTogVXNlIHdpdGhfdGVzdF9wcmVmaXguICBSZWxvYWQgdGhlIG1haW4gYmluYXJ5Cisr CWV4cGxpY2l0bHkuICBDb21wYXJlIHRoZSBiZWZvcmUvYWZ0ZXIgYWRkcmVzc2VzIG9mIHRoZSBK SVQKKysJZGVzY3JpcHRvci4KKysKKyAyMDE2LTEwLTAzICBBbnRvaW5lIFRyZW1ibGF5ICA8YW50 b2luZS50cmVtYmxheUBlcmljc3Nvbi5jb20+CisgMjAxNi0xMC0wMyAgU2ltb24gTWFyY2hpICA8 c2ltb24ubWFyY2hpQGVyaWNzc29uLmNvbT4KKyAKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2Uvaml0LXNpbXBsZS5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvaml0LXNpbXBs ZS5leHAKK0BAIC0xOCwxNiArMTgsNiBAQCBpZiB7W3NraXBfc2hsaWJfdGVzdHNdfSB7CisgICAg IHJldHVybiAtMQorIH0KKyAKKy1pZiB7W2dldF9jb21waWxlcl9pbmZvXX0geworLSAgICB3YXJu aW5nICJDb3VsZCBub3QgZ2V0IGNvbXBpbGVyIGluZm8iCistICAgIHVudGVzdGVkIGppdC1zaW1w bGUuZXhwCistICAgIHJldHVybiAxCistfQorLQorLSMKKy0jIHRlc3QgcnVubmluZyBwcm9ncmFt cworLSMKKy0KKyBzdGFuZGFyZF90ZXN0ZmlsZQorIAorIGlmIHtbYnVpbGRfZXhlY3V0YWJsZSAk dGVzdGZpbGUuZXhwICR0ZXN0ZmlsZSAkc3JjZmlsZSBkZWJ1Z10gPT0gLTF9IHsKK0BAIC0zNSwz OSArMjUsNDMgQEAgaWYge1tidWlsZF9leGVjdXRhYmxlICR0ZXN0ZmlsZS5leHAgJHRlc3RmaWxl ICRzcmNmaWxlIGRlYnVnXSA9PSAtMX0geworICAgICByZXR1cm4gLTEKKyB9CisgCistIyBBIGhl bHBlciBmb3Igaml0X3Rlc3RfcmVyZWFkIHRoYXQgaW52b2tlcyBnZGJfcnVuX2NtZC4KKy1wcm9j IGppdF9ydW4ge21zZ30geworLSAgICBnbG9iYWwgZGVjaW1hbCBnZGJfcHJvbXB0CistCistICAg IGdkYl9ydW5fY21kCistICAgIGdkYl90ZXN0ICIiICJJbmZlcmlvciAuKiBleGl0ZWQuKiIgJG1z ZworLX0KKy0KKyAjIFRlc3QgcmUtcnVubmluZyBhbiBpbmZlcmlvciB3aXRoIGEgSklUIGRlc2Ny aXB0b3IsIHdoZXJlIHRoZSBKSVQKKyAjIGRlc2NyaXB0b3IgY2hhbmdlcyBhZGRyZXNzIGJldHdl ZW4gcnVucy4KKyAjIGh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/ aWQ9MTM0MzEKKyBwcm9jIGppdF90ZXN0X3JlcmVhZCB7fSB7CisgICAgIGdsb2JhbCB0ZXN0Zmls ZSBiaW5maWxlIHN1YmRpciBzcmNmaWxlIHNyY2RpcgorKyAgICBnbG9iYWwgaGV4CisgCistICAg IGNsZWFuX3Jlc3RhcnQgJHRlc3RmaWxlCisrICAgIHdpdGhfdGVzdF9wcmVmaXggImluaXRpYWwg cnVuIiB7CisrCWNsZWFuX3Jlc3RhcnQgJHRlc3RmaWxlCisgCistICAgICMgaml0X3J1biAiaW5p dGlhbCBydW4iCistICAgIHJ1bnRvX21haW4KKy0KKy0gICAgZ2RiX3Rlc3QgInByaW50ICZfX2pp dF9kZWJ1Z19kZXNjcmlwdG9yIiAiPSAuKiIgImJsYWggMSIKKysJcnVudG9fbWFpbgorIAorLSAg ICBnZGJfcmVuYW1lX2V4ZWNmaWxlICRiaW5maWxlICR7YmluZmlsZX14CisrCXNldCBhZGRyX2Jl Zm9yZSBbZ2V0X2hleGFkZWNpbWFsX3ZhbHVlb2YgIiZfX2ppdF9kZWJ1Z19kZXNjcmlwdG9yIiAw IFwKKysJCQkgICAgICJnZXQgYWRkcmVzcyBvZiBfX2ppdF9kZWJ1Z19kZXNjcmlwdG9yIl0KKysg ICAgfQorIAorLSAgICBpZiAgeyBbZ2RiX2NvbXBpbGUgIiR7c3JjZGlyfS8ke3N1YmRpcn0vJHtz cmNmaWxlfSIgIiR7YmluZmlsZX0iIGV4ZWN1dGFibGUge2RlYnVnIGFkZGl0aW9uYWxfZmxhZ3M9 LURTUEFDRVJ9XSAhPSAiIiB9IHsKKy0JZmFpbCAicmVjb21waWxlICRzcmNmaWxlIgorLSAgICB9 IGVsc2UgeworLQlwYXNzICJyZWNvbXBpbGUgJHNyY2ZpbGUiCisrICAgIHdpdGhfdGVzdF9wcmVm aXggInNlY29uZCBydW4iIHsKKysJIyBFbnN1cmUgdGhhdCB0aGUgbmV3IGV4ZWN1dGFibGUgaXMg YXQgbGVhc3Qgb25lIHNlY29uZCBuZXdlcgorKwkjIHRoYW4gdGhlIG9sZC4gIElmIHRoZSByZWNv bXBpbGF0aW9uIGhhcHBlbnMgaW4gdGhlIHNhbWUKKysJIyBzZWNvbmQsIGdkYiBtaWdodCBub3Qg cmVsb2FkIHRoZSBleGVjdXRhYmxlIGF1dG9tYXRpY2FsbHkuCisrCXNsZWVwIDEKKyAKKy0JIyBq aXRfcnVuICJzZWNvbmQgcnVuIgorKwlnZGJfcmVuYW1lX2V4ZWNmaWxlICRiaW5maWxlICR7Ymlu ZmlsZX14CisrCWlmICB7IFtnZGJfY29tcGlsZSAiJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3NyY2Zp bGV9IiAiJHtiaW5maWxlfSIgZXhlY3V0YWJsZSB7ZGVidWcgYWRkaXRpb25hbF9mbGFncz0tRFNQ QUNFUn1dICE9ICIiIH0geworKwkgICAgZmFpbCAicmVjb21waWxlIgorKwkgICAgcmV0dXJuCisr CX0gZWxzZSB7CisrCSAgICBwYXNzICJyZWNvbXBpbGUiCisrCX0KKyAKKyAJcnVudG9fbWFpbgor LQlnZGJfdGVzdCAicHJpbnQgJl9faml0X2RlYnVnX2Rlc2NyaXB0b3IiICI9IC4qIiAiYmxhaCAx IgorKworKwlzZXQgYWRkcl9hZnRlciBbZ2V0X2hleGFkZWNpbWFsX3ZhbHVlb2YgIiZfX2ppdF9k ZWJ1Z19kZXNjcmlwdG9yIiAwIFwKKysJCQkgICAgImdldCBhZGRyZXNzIG9mIF9faml0X2RlYnVn X2Rlc2NyaXB0b3IiXQorICAgICB9CisrCisrICAgIGdkYl9hc3NlcnQgeyRhZGRyX2JlZm9yZSAh PSAkYWRkcl9hZnRlcn0gImFkZHJlc3MgY2hhbmdlZCIKKyB9CisgCisgaml0X3Rlc3RfcmVyZWFk CisKKworY29tbWl0IGY4ZGE2ZmUzOTljOGRhZmE5OGU3ZGJlZDM2ZDM1NjJhOTE5NzY4ZjUKK0F1 dGhvcjogUGVkcm8gQWx2ZXMgPHBhbHZlc0ByZWRoYXQuY29tPgorRGF0ZTogICBUaHUgT2N0IDYg MTI6NTc6NDAgMjAxNiArMDEwMAorCisgICAgRml4IFBSMTEwOTQ6IEpJVCBicmVha3BvaW50IGlz IG5vdCBwcm9wZXJseSByZWNyZWF0ZWQgb24gcmVydW5zCisgICAgCisgICAgRXZlbiB0aG91Z2gg dGhpcyB3YXMgc3VwcG9zZWRseSBpbiB0aGUgZ2RiIDcuMiB0aW1lZnJhbWUsIHRoZSB0ZXN0Y2Fz ZQorICAgIGluIFBSMTEwOTQgY3Jhc2hlcyBjdXJyZW50IEdEQiB3aXRoIGEgc2VnZmF1bHQ6Cisg ICAgCisgICAgICBQcm9ncmFtIHJlY2VpdmVkIHNpZ25hbCBTSUdTRUdWLCBTZWdtZW50YXRpb24g ZmF1bHQuCisgICAgICAweDAwMDAwMDAwMDA1ZWU4OTQgaW4gZXZlbnRfbG9jYXRpb25fdG9fc3Ry aW5nIChsb2NhdGlvbj0weDApIGF0CisgICAgICBzcmMvZ2RiL2xvY2F0aW9uLmM6NDEyCisgICAg ICA0MTIgICAgICAgaWYgKEVMX1NUUklORyAobG9jYXRpb24pID09IE5VTEwpCisgICAgICAodG9w LWdkYikgYnQKKyAgICAgICMwICAweDAwMDAwMDAwMDA1ZWU4OTQgaW4gZXZlbnRfbG9jYXRpb25f dG9fc3RyaW5nIChsb2NhdGlvbj0weDApIGF0CisgICAgICBzcmMvZ2RiL2xvY2F0aW9uLmM6NDEy CisgICAgICAjMSAgMHgwMDAwMDAwMDAwNTc0MTFhIGluIHByaW50X2JyZWFrcG9pbnRfbG9jYXRp b24gKGI9MHgxODI4OGUwLCBsb2M9MHgwKSBhdAorICAgICAgc3JjL2dkYi9icmVha3BvaW50LmM6 NjIwMQorICAgICAgIzIgIDB4MDAwMDAwMDAwMDU3NDgzZiBpbiBwcmludF9vbmVfYnJlYWtwb2lu dF9sb2NhdGlvbiAoYj0weDE4Mjg4ZTAsCisgICAgICBsb2M9MHgxODJjZjEwLCBsb2NfbnVtYmVy PTAsIGxhc3RfbG9jPTB4N2ZmZmZmZmZkMjU4LCBhbGxmbGFnPTEpCisgICAgICAgICAgYXQgc3Jj L2dkYi9icmVha3BvaW50LmM6NjQ3MworICAgICAgIzMgIDB4MDAwMDAwMDAwMDU3NTFlMSBpbiBw cmludF9vbmVfYnJlYWtwb2ludCAoYj0weDE4Mjg4ZTAsCisgICAgICBsYXN0X2xvYz0weDdmZmZm ZmZmZDI1OCwgYWxsZmxhZz0xKSBhdAorICAgICAgc3JjL2dkYi9icmVha3BvaW50LmM6NjcwNwor ICAgICAgIzQgIDB4MDAwMDAwMDAwMDU3NTg5YyBpbiBicmVha3BvaW50XzEgKGFyZ3M9MHgwLCBh bGxmbGFnPTEsIGZpbHRlcj0weDApIGF0CisgICAgICBzcmMvZ2RiL2JyZWFrcG9pbnQuYzo2OTQ3 CisgICAgICAjNSAgMHgwMDAwMDAwMDAwNTc1YWE4IGluIG1haW50ZW5hbmNlX2luZm9fYnJlYWtw b2ludHMgKGFyZ3M9MHgwLCBmcm9tX3R0eT0wKQorICAgICAgYXQgc3JjL2dkYi9icmVha3BvaW50 LmM6NzAyNgorICAgICAgWy4uLl0KKyAgICAKKyAgICBUaGlzIGlzIEdEQiB0cnlpbmcgdG8gcHJp bnQgdGhlIGxvY2F0aW9uIHNwZWMgb2YgdGhlIEpJVCBldmVudAorICAgIGJyZWFrcG9pbnQsIGJ1 dCB0aGF0J3MgYW4gaW50ZXJuYWwgYnJlYWtwb2ludCB3aXRob3V0IG9uZS4KKyAgICAKKyAgICBJ ZiBJIGFkZCBhIE5VTEwgY2hlY2ssIHRoZW4gd2Ugc2VlIHRoYXQgdGhlIEpJVCBicmVha3BvaW50 IGlzIG5vdworICAgIHBlbmRpbmcgKGJlY2F1c2UgaXRzIGxvY2F0aW9uIGhhcyBzaGxpYl9kaXNh YmxlZCBzZXQpOgorICAgIAorICAgICAgKGdkYikgbWFpbnQgaW5mbyBicmVha3BvaW50cworICAg ICAgTnVtICAgICBUeXBlICAgICAgICAgICBEaXNwIEVuYiBBZGRyZXNzICAgICAgICAgICAgV2hh dAorICAgICAgWy4uLl0KKyAgICAgIC04ICAgICAgaml0IGV2ZW50cyAgICAga2VlcCB5ICAgPFBF TkRJTkc+ICAgICAgICAgICBpbmYgMQorICAgICAgWy4uLl0KKyAgICAKKyAgICBCdXQgdGhhdCdz IGluY29ycmVjdC4gIEdEQiBzaG91bGQgaGF2ZSBtYW5hZ2VkIHRvIHJlY3JlYXRlIHRoZSBKSVQK KyAgICBicmVha3BvaW50J3MgbG9jYXRpb24gZm9yIHRoZSBzZWNvbmQgcnVuLiAgU28gdGhlIHBy b2JsZW0gaXMKKyAgICBlbHNld2hlcmUuCisgICAgCisgICAgVGhlIHByb2JsZW0gaXMgdGhhdCBp ZiB0aGUgSklUIGxvYWRzIGF0IHRoZSBzYW1lIGFkZHJlc3Mgb24gdGhlIHNlY29uZAorICAgIHJ1 biwgd2UgbmV2ZXIgcmVjcmVhdGUgdGhlIEpJVCBicmVha3BvaW50LCBiZWNhdXNlIHdlIGhpdCB0 aGlzIGVhcmx5CisgICAgcmV0dXJuOgorICAgIAorICAgICAgc3RhdGljIGludAorICAgICAgaml0 X2JyZWFrcG9pbnRfcmVfc2V0X2ludGVybmFsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKKyAg ICAJCQkJICBzdHJ1Y3Qgaml0X3Byb2dyYW1fc3BhY2VfZGF0YSAqcHNfZGF0YSkKKyAgICAgIHsK KyAgICAgICAgWy4uLl0KKyAgICAgICAgaWYgKHBzX2RhdGEtPmNhY2hlZF9jb2RlX2FkZHJlc3Mg PT0gYWRkcikKKyAgICAgICAgICByZXR1cm4gMDsKKyAgICAKKyAgICAgICAgWy4uLl0KKyAgICAg ICAgICBkZWxldGVfYnJlYWtwb2ludCAocHNfZGF0YS0+aml0X2JyZWFrcG9pbnQpOworICAgICAg ICBbLi4uXQorICAgICAgICBwc19kYXRhLT5qaXRfYnJlYWtwb2ludCA9IGNyZWF0ZV9qaXRfZXZl bnRfYnJlYWtwb2ludCAoZ2RiYXJjaCwgYWRkcik7CisgICAgCisgICAgRml4IHRoaXMgYnkgZGVs ZXRpbmcgdGhlIGJyZWFrcG9pbnQgYW5kIGRpc2NhcmRpbmcgdGhlIGNhY2hlZCBjb2RlCisgICAg YWRkcmVzcyB3aGVuIHRoZSBvYmpmaWxlIHdoZXJlIHRoZSBwcmV2aW91cyBKSVQgYnJlYWtwb2lu dCB3YXMgZm91bmQKKyAgICBpcyBkZWxldGVkL3VubG9hZGVkIGluIHRoZSBmaXJzdCBwbGFjZS4K KyAgICAKKyAgICBUaGUgdGVzdCB0aGF0IHdhcyBvcmlnaW5hbGx5IGFkZGVkIGZvciBQUjExMDk0 IGRvZXNuJ3QgdHJpcCBvbiB0aGlzCisgICAgYmVjYXVzZToKKyAgICAKKyAgICAgICMxIC0gSXQg ZG9lc24ndCB0ZXN0IHRoZSBjYXNlIG9mIHRoZSBKSVQgZGVzY3JpcHRvcidzIGFkZHJlc3MgX25v dF8KKyAgICAgICAgICAgY2hhbmdpbmcgYmV0d2VlbiByZXJ1bnMuCisgICAgCisgICAgICAjMiAt IEFuZCB0aGVuIGl0IGRvZXNuJ3QgZG8gIm1haW50IGluZm8gYnJlYWtwb2ludHMiLCBvciByZWFs bHkKKyAgICAgICAgICAgYW55dGhpbmcgd2l0aCB0aGUgSklUIGF0IGFsbC4KKyAgICAKKyAgICAg ICMzIC0gYW5kIGV2ZW4gdGhlbiwgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbSB0aGUgSklUIGRlc2Ny aXB0b3IgbmVlZHMKKyAgICAgICAgICAgdG8gYmUgaW4gYSBzZXBhcmF0ZSBsaWJyYXJ5LCB3aGls ZSB0aGUgY3VycmVudCB0ZXN0IHB1dHMgaXQgaW4KKyAgICAgICAgICAgdGhlIG1haW4gcHJvZ3Jh bS4KKyAgICAKKyAgICBUaGUgcGF0Y2ggZXh0ZW5kcyB0aGUgdGVzdCB0byBjb3ZlciBhbGwgY29t YmluYXRpb25zIG9mIHRoZXNlCisgICAgc2NlbmFyaW9zLgorICAgIAorICAgIGdkYi9DaGFuZ2VM b2c6CisgICAgMjAxNi0xMC0wNiAgUGVkcm8gQWx2ZXMgIDxwYWx2ZXNAcmVkaGF0LmNvbT4KKyAg ICAKKyAgICAJKiBqaXQuYyAoZnJlZV9vYmpmaWxlX2RhdGEpOiBEZWxldGUgdGhlIEpJVCBicmVh a3BvaW50IGFuZCBjbGVhcgorICAgIAl0aGUgY2FjaGVkIGNvZGUgYWRkcmVzcy4KKyAgICAKKyAg ICBnZGIvdGVzdHN1aXRlL0NoYW5nZUxvZzoKKyAgICAyMDE2LTEwLTA2ICBQZWRybyBBbHZlcyAg PHBhbHZlc0ByZWRoYXQuY29tPgorICAgIAorICAgIAkqIGdkYi5iYXNlL2ppdC1zaW1wbGUtZGwu YzogTmV3IGZpbGUuCisgICAgCSogZ2RiLmJhc2Uvaml0LXNpbXBsZS1qaXQuYzogTmV3IGZpbGUs IGZhY3RvcmVkIG91dCBmcm9tIC4uLgorICAgIAkqIGdkYi5iYXNlL2ppdC1zaW1wbGUuYzogLi4u IHRoaXMuCisgICAgCSogZ2RiLmJhc2Uvaml0LXNpbXBsZS5leHAgKGppdF9ydW4pOiBEZWxldGUu CisgICAgCShidWlsZF9qaXQpOiBOZXcgcHJvYy4KKyAgICAJKGppdF90ZXN0X3JlcmVhZCk6IFJl Y29tcGlsZSBlaXRoZXIgdGhlIG1haW4gcHJvZ3JhbSBvciB0aGUgc2hhcmVkCisgICAgCWxpYnJh cnksIGRlcGVuZGluZyBvbiB3aGF0IGlzIGJlaW5nIHRlc3RlZC4gIFNraXAgY2hhbmdpbmcgYWRk cmVzcworICAgIAlpZiBjYWxsZXIgd2FudHMgdG8uICBDb21wYXJlIGJlZm9yZS9hZnRlciBhZGRy ZXNzZXMuICBJZiB0ZXN0aW5nCisgICAgCXN0YW5kYWxvbmUsIGV4cGxpY2l0bHkgbG9hZCB0aGUg YmluYXJ5LiAgVGVzdCAibWFpbnQgaW5mbworICAgIAlicmVha3BvaW50cyIuCisgICAgCSh0b3Ag bGV2ZWwpOiBBZGQgInN0YW5kYWxvbmUgdnMgc2hhcmVkIGxpYiIgYW5kICJjaGFuZ2UgYWRkcmVz cyIKKyAgICAJdnMgInNhbWUgYWRkcmVzcyIgYXhlcy4KKworIyMjIGEvZ2RiL0NoYW5nZUxvZwor IyMjIGIvZ2RiL0NoYW5nZUxvZworIyMgLTEsMyArMSw4IEBACisrMjAxNi0xMC0wNiAgUGVkcm8g QWx2ZXMgIDxwYWx2ZXNAcmVkaGF0LmNvbT4KKysKKysJKiBqaXQuYyAoZnJlZV9vYmpmaWxlX2Rh dGEpOiBEZWxldGUgdGhlIEpJVCBicmVha3BvaW50IGFuZCBjbGVhcgorKwl0aGUgY2FjaGVkIGNv ZGUgYWRkcmVzcy4KKysKKyAyMDE2LTEwLTAzICBTaW1vbiBNYXJjaGkgIDxzaW1hcmtAc2ltYXJr LmNhPgorIAorIAkqIGluZnJ1bi5jIChyZXN0b3JlX2N1cnJlbnRfdWlvdXRfY2xlYW51cCk6IE1v dmUgdG8gdWktb3V0LmMuCistLS0gYS9nZGIvaml0LmMKKysrKyBiL2dkYi9qaXQuYworQEAgLTE0 ODIsNyArMTQ4MiwxMSBAQCBmcmVlX29iamZpbGVfZGF0YSAoc3RydWN0IG9iamZpbGUgKm9iamZp bGUsIHZvaWQgKmRhdGEpCisgCT0gKChzdHJ1Y3Qgaml0X3Byb2dyYW1fc3BhY2VfZGF0YSAqKQor IAkgICBwcm9ncmFtX3NwYWNlX2RhdGEgKG9iamZpbGUtPnBzcGFjZSwgaml0X3Byb2dyYW1fc3Bh Y2VfZGF0YSkpOworICAgICAgIGlmIChwc19kYXRhICE9IE5VTEwgJiYgcHNfZGF0YS0+b2JqZmls ZSA9PSBvYmpmaWxlKQorLQlwc19kYXRhLT5vYmpmaWxlID0gTlVMTDsKKysJeworKwkgIHBzX2Rh dGEtPm9iamZpbGUgPSBOVUxMOworKwkgIGRlbGV0ZV9icmVha3BvaW50IChwc19kYXRhLT5qaXRf YnJlYWtwb2ludCk7CisrCSAgcHNfZGF0YS0+Y2FjaGVkX2NvZGVfYWRkcmVzcyA9IDA7CisrCX0K KyAgICAgfQorIAorICAgeGZyZWUgKGRhdGEpOworIyMjIGEvZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VM b2cKKyMjIyBiL2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nCisjIyAtMSw1ICsxLDIwIEBACisgMjAx Ni0xMC0wNiAgUGVkcm8gQWx2ZXMgIDxwYWx2ZXNAcmVkaGF0LmNvbT4KKyAKKysJKiBnZGIuYmFz ZS9qaXQtc2ltcGxlLWRsLmM6IE5ldyBmaWxlLgorKwkqIGdkYi5iYXNlL2ppdC1zaW1wbGUtaml0 LmM6IE5ldyBmaWxlLCBmYWN0b3JlZCBvdXQgZnJvbSAuLi4KKysJKiBnZGIuYmFzZS9qaXQtc2lt cGxlLmM6IC4uLiB0aGlzLgorKwkqIGdkYi5iYXNlL2ppdC1zaW1wbGUuZXhwIChqaXRfcnVuKTog RGVsZXRlLgorKwkoYnVpbGRfaml0KTogTmV3IHByb2MuCisrCShqaXRfdGVzdF9yZXJlYWQpOiBS ZWNvbXBpbGUgZWl0aGVyIHRoZSBtYWluIHByb2dyYW0gb3IgdGhlIHNoYXJlZAorKwlsaWJyYXJ5 LCBkZXBlbmRpbmcgb24gd2hhdCBpcyBiZWluZyB0ZXN0ZWQuICBTa2lwIGNoYW5naW5nIGFkZHJl c3MKKysJaWYgY2FsbGVyIHdhbnRzIHRvLiAgQ29tcGFyZSBiZWZvcmUvYWZ0ZXIgYWRkcmVzc2Vz LiAgSWYgdGVzdGluZworKwlzdGFuZGFsb25lLCBleHBsaWNpdGx5IGxvYWQgdGhlIGJpbmFyeS4g IFRlc3QgIm1haW50IGluZm8KKysJYnJlYWtwb2ludHMiLgorKwkodG9wIGxldmVsKTogQWRkICJz dGFuZGFsb25lIHZzIHNoYXJlZCBsaWIiIGFuZCAiY2hhbmdlIGFkZHJlc3MiCisrCXZzICJzYW1l IGFkZHJlc3MiIGF4ZXMuCisrCisrMjAxNi0xMC0wNiAgUGVkcm8gQWx2ZXMgIDxwYWx2ZXNAcmVk aGF0LmNvbT4KKysKKyAJKiBnZGIuYmFzZS9qaXQtc2ltcGxlLmV4cCAodG9wIGxldmVsKSBEZWxl dGUgZ2V0X2NvbXBpbGVyX2luZm8KKyAJY2FsbC4KKyAJKGppdF9ydW4pOiBEZWxldGUuCistLS0g L2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ppdC1zaW1wbGUtZGwuYwor QEAgLTAsMCArMSwyNSBAQAorKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBH TlUgZGVidWdnZXIuCisrCisrICAgQ29weXJpZ2h0IDIwMTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysgICBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us IG9yCisrICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgorKworKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHBy b2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwor KworKy8qIEEgc3R1YiBwcm9ncmFtIHRoYXQgbGlua3Mgd2l0aCBhIHNpbXBsZSBsaWJyYXJ5IHRo YXQgdXNlcyB0aGUgSklUCisrICAgQVBJLiAgKi8KKysKKytpbnQKKyttYWluICh2b2lkKQorK3sK KysgIHJldHVybiAwOworK30KKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2Uvaml0LXNpbXBsZS1qaXQuYworQEAgLTAsMCArMSw1MCBAQAorKy8qIFRoaXMgdGVzdGNh c2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCisrCisrICAgQ29weXJpZ2h0IDIw MTItMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAg IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91 IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisrCisrLyogU2ltcGxlIGxpYnJhcnkgdXNpbmcg dGhlIEpJVCBBUEkuICAqLworKworKyNpbmNsdWRlIDxzdGRpbnQuaD4KKysKKytzdHJ1Y3Qgaml0 X2NvZGVfZW50cnkKKyt7CisrICBzdHJ1Y3Qgaml0X2NvZGVfZW50cnkgKm5leHRfZW50cnk7Cisr ICBzdHJ1Y3Qgaml0X2NvZGVfZW50cnkgKnByZXZfZW50cnk7CisrICBjb25zdCBjaGFyICpzeW1m aWxlX2FkZHI7CisrICB1aW50NjRfdCBzeW1maWxlX3NpemU7CisrfTsKKysKKytzdHJ1Y3Qgaml0 X2Rlc2NyaXB0b3IKKyt7CisrICB1aW50MzJfdCB2ZXJzaW9uOworKyAgLyogVGhpcyB0eXBlIHNo b3VsZCBiZSBqaXRfYWN0aW9uc190LCBidXQgd2UgdXNlIHVpbnQzMl90CisrICAgICB0byBiZSBl eHBsaWNpdCBhYm91dCB0aGUgYml0d2lkdGguICAqLworKyAgdWludDMyX3QgYWN0aW9uX2ZsYWc7 CisrICBzdHJ1Y3Qgaml0X2NvZGVfZW50cnkgKnJlbGV2YW50X2VudHJ5OworKyAgc3RydWN0IGpp dF9jb2RlX2VudHJ5ICpmaXJzdF9lbnRyeTsKKyt9OworKworKyNpZmRlZiBTUEFDRVIKKysvKiBU aGlzIGV4aXN0cyB0byBjaGFuZ2UgdGhlIGFkZHJlc3Mgb2YgX19qaXRfZGVidWdfZGVzY3JpcHRv ci4gICovCisraW50IHNwYWNlciA9IDQ7CisrI2VuZGlmCisrCisrc3RydWN0IGppdF9kZXNjcmlw dG9yIF9faml0X2RlYnVnX2Rlc2NyaXB0b3IgPSB7IDEsIDAsIDAsIDAgfTsKKysKKyt2b2lkCisr X19qaXRfZGVidWdfcmVnaXN0ZXJfY29kZSAodm9pZCkKKyt7CisrfQorLS0tIGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9qaXQtc2ltcGxlLmMKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv aml0LXNpbXBsZS5jCitAQCAtMSwzNyArMSwyNiBAQAorLS8qIFNpbXBsZSBwcm9ncmFtIHVzaW5n IHRoZSBKSVQgQVBJLiAgKi8KKysvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUg R05VIGRlYnVnZ2VyLgorIAorLSNpbmNsdWRlIDxzdGRpbnQuaD4KKysgICBDb3B5cmlnaHQgMjAx NiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAKKy1zdHJ1Y3Qgaml0X2NvZGVfZW50 cnkKKy17CistICBzdHJ1Y3Qgaml0X2NvZGVfZW50cnkgKm5leHRfZW50cnk7CistICBzdHJ1Y3Qg aml0X2NvZGVfZW50cnkgKnByZXZfZW50cnk7CistICBjb25zdCBjaGFyICpzeW1maWxlX2FkZHI7 CistICB1aW50NjRfdCBzeW1maWxlX3NpemU7CistfTsKKysgICBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVi bGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNp b24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgorIAorLXN0cnVjdCBqaXRfZGVzY3JpcHRvcgorLXsKKy0gIHVpbnQzMl90IHZlcnNp b247CistICAvKiBUaGlzIHR5cGUgc2hvdWxkIGJlIGppdF9hY3Rpb25zX3QsIGJ1dCB3ZSB1c2Ug dWludDMyX3QKKy0gICAgIHRvIGJlIGV4cGxpY2l0IGFib3V0IHRoZSBiaXR3aWR0aC4gICovCist ICB1aW50MzJfdCBhY3Rpb25fZmxhZzsKKy0gIHN0cnVjdCBqaXRfY29kZV9lbnRyeSAqcmVsZXZh bnRfZW50cnk7CistICBzdHJ1Y3Qgaml0X2NvZGVfZW50cnkgKmZpcnN0X2VudHJ5OworLX07Cisr ICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAKKy0jaWZkZWYgU1BBQ0VSCistLyogVGhpcyBleGlz dHMgdG8gY2hhbmdlIHRoZSBhZGRyZXNzIG9mIF9faml0X2RlYnVnX2Rlc2NyaXB0b3IuICAqLwor LWludCBzcGFjZXIgPSA0OworLSNlbmRpZgorKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh IGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrICAgYWxvbmcgd2l0aCB0 aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4u ICAqLworIAorLXN0cnVjdCBqaXRfZGVzY3JpcHRvciBfX2ppdF9kZWJ1Z19kZXNjcmlwdG9yID0g eyAxLCAwLCAwLCAwIH07CisrLyogU2ltcGxlIHN0YW5kYWxvbmUgcHJvZ3JhbSB1c2luZyB0aGUg SklUIEFQSS4gICovCisgCistdm9pZCBfX2ppdF9kZWJ1Z19yZWdpc3Rlcl9jb2RlKCkKKy17Cist fQorKyNpbmNsdWRlICJqaXQtc2ltcGxlLWppdC5jIgorIAorLWludCBtYWluKCkKKytpbnQKKytt YWluICh2b2lkKQorIHsKKyAgIHJldHVybiAwOworIH0KKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2Uvaml0LXNpbXBsZS5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvaml0LXNp bXBsZS5leHAKK0BAIC0xMyw2ICsxMywxNyBAQAorICMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk IGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAjIGFsb25nIHdpdGgg dGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+ LgorIAorKyMgVGVzdCByZS1ydW5uaW5nIGFuIGluZmVyaW9yIHdpdGggYSBKSVQgZGVzY3JpcHRv ciwgd2hlcmUgdGhlIEpJVAorKyMgZGVzY3JpcHRvciBjaGFuZ2VzIGFkZHJlc3MgYmV0d2VlbiBy dW5zLgorKyMgaHR0cDovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0x MzQzMQorKworKyMgVGVzdCBib3RoIHRoZSBjYXNlIG9mIHRoZSBKSVQgcmVhZGVyIGJlaW5nIGlu Y2x1ZGVkIGluIHRoZSBtYWluCisrIyBwcm9ncmFtIGRpcmVjdGx5LCBhbmQgdGhlIGNhc2Ugb2Yg dGhlIEpJVCByZWFkZXIgYmVpbmcgc3BsaXQgb3V0IHRvCisrIyBhIHNoYXJlZCBsaWJyYXJ5Lgor KworKyMgRm9yIGNvbXBsZXRlbmVzcywgYWxzbyB0ZXN0IHdoZW4gdGhlIEpJVCBkZXNjcmlwdG9y IGRvZXMgbm90IGNoYW5nZQorKyMgYWRkcmVzcyBiZXR3ZWVuIHJ1bnMuCisrCisgaWYge1tza2lw X3NobGliX3Rlc3RzXX0geworICAgICB1bnRlc3RlZCBqaXQtc2ltcGxlLmV4cAorICAgICByZXR1 cm4gLTEKK0BAIC0yMCwyNSArMzEsODEgQEAgaWYge1tza2lwX3NobGliX3Rlc3RzXX0geworIAor IHN0YW5kYXJkX3Rlc3RmaWxlCisgCistaWYge1tidWlsZF9leGVjdXRhYmxlICR0ZXN0ZmlsZS5l eHAgJHRlc3RmaWxlICRzcmNmaWxlIGRlYnVnXSA9PSAtMX0geworK3NldCBsaWJuYW1lICR0ZXN0 ZmlsZS1qaXQKKytzZXQgc3JjZmlsZV9saWIgJHNyY2Rpci8kc3ViZGlyLyRsaWJuYW1lLmMKKytz ZXQgYmluZmlsZV9saWIgW3N0YW5kYXJkX291dHB1dF9maWxlICRsaWJuYW1lLnNvXQorKworKyMg QnVpbGQgYSBzdGFuZGFsb25lIEpJVCBiaW5hcnkuCisrCisrcHJvYyBidWlsZF9zdGFuZGFsb25l X2ppdCB7e29wdGlvbnMgIiJ9fSB7CisrICAgIGdsb2JhbCB0ZXN0ZmlsZSBzcmNmaWxlIGJpbmZp bGUKKysKKysgICAgbGFwcGVuZCBvcHRpb25zICJkZWJ1ZyIKKysKKysgICAgaWYge1tidWlsZF9l eGVjdXRhYmxlICR0ZXN0ZmlsZS5leHAgJHRlc3RmaWxlICRzcmNmaWxlICRvcHRpb25zXSA9PSAt MX0geworKwlyZXR1cm4gLTEKKysgICAgfQorKworKyAgICByZXR1cm4gMAorK30KKysKKysjIEJ1 aWxkIHRoZSBzaGFyZWQgbGlicmFyeSBKSVQuCisrCisrcHJvYyBidWlsZF9zaGFyZWRfaml0IHt7 b3B0aW9ucyAiIn19IHsKKysgICAgZ2xvYmFsIHRlc3RmaWxlCisrICAgIGdsb2JhbCBzcmNmaWxl X2xpYiBiaW5maWxlX2xpYgorKworKyAgICBsYXBwZW5kIG9wdGlvbnMgImRlYnVnIGFkZGl0aW9u YWxfZmxhZ3M9LWZQSUMiCisrICAgIGlmIHsgW2dkYl9jb21waWxlX3NobGliICRzcmNmaWxlX2xp YiAkYmluZmlsZV9saWIgJG9wdGlvbnNdICE9ICIiIH0geworKwlyZXR1cm4gLTEKKysgICAgfQor KworKyAgICByZXR1cm4gMAorK30KKysKKytpZiB7W2J1aWxkX3N0YW5kYWxvbmVfaml0XSA9PSAt MX0geworKyAgICB1bnRlc3RlZCAiY291bGQgbm90IGNvbXBpbGUgJGJpbmZpbGUiCisrICAgIHJl dHVybgorK30KKysKKytpZiB7W2J1aWxkX3NoYXJlZF9qaXRdID09IC0xfSB7CisrICAgIHVudGVz dGVkICJjb3VsZCBub3QgY29tcGlsZSAkYmluZmlsZV9saWIiCisrICAgIHJldHVybgorK30KKysK KysjIEJ1aWx0IHRoZSBwcm9ncmFtIHRoYXQgbG9hZHMgdGhlIEpJVCBsaWJyYXJ5LgorK3NldCBz cmNmaWxlX2RsICR0ZXN0ZmlsZS1kbC5jCisrc2V0IGJpbmZpbGVfZGwgJGJpbmZpbGUtZGwKKytz ZXQgb3B0aW9ucyBbbGlzdCBkZWJ1ZyBzaGxpYj0ke2JpbmZpbGVfbGlifV0KKytpZiB7W2dkYl9j b21waWxlICR7c3JjZGlyfS8ke3N1YmRpcn0vJHtzcmNmaWxlX2RsfSAkYmluZmlsZV9kbCBleGVj dXRhYmxlIFwKKysJIFtsaXN0IGRlYnVnIHNobGliPSRiaW5maWxlX2xpYl1dID09IC0xIH0gewor ICAgICB1bnRlc3RlZCBqaXQtc2ltcGxlLmV4cAorICAgICByZXR1cm4gLTEKKyB9CisgCistIyBU ZXN0IHJlLXJ1bm5pbmcgYW4gaW5mZXJpb3Igd2l0aCBhIEpJVCBkZXNjcmlwdG9yLCB3aGVyZSB0 aGUgSklUCistIyBkZXNjcmlwdG9yIGNoYW5nZXMgYWRkcmVzcyBiZXR3ZWVuIHJ1bnMuCistIyBo dHRwOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTEzNDMxCistcHJv YyBqaXRfdGVzdF9yZXJlYWQge30geworLSAgICBnbG9iYWwgdGVzdGZpbGUgYmluZmlsZSBzdWJk aXIgc3JjZmlsZSBzcmNkaXIKKysjIFNUQU5EQUxPTkUgaXMgdHJ1ZSB3aGVuIHRoZSBKSVQgcmVh ZGVyIGlzIGluY2x1ZGVkIGRpcmVjdGx5IGluIHRoZQorKyMgbWFpbiBwcm9ncmFtLiAgRmFsc2Ug d2hlbiB0aGUgSklUIHJlYWRlciBpcyBpbiBhIHNlcGFyYXRlIHNoYXJlZAorKyMgbGlicmFyeS4g IElmIENIQU5HRV9BRERSIGlzIHRydWUsIGZvcmNlIGNoYW5naW5nIHRoZSBKSVQgZGVzY3JpcHRv cgorKyMgY2hhbmdlcyBhZGRyZXNzIGJldHdlZW4gcnVucy4KKytwcm9jIGppdF90ZXN0X3JlcmVh ZCB7c3RhbmRhbG9uZSBjaGFuZ2VfYWRkcn0geworKyAgICBnbG9iYWwgdGVzdGZpbGUgYmluZmls ZSBzdWJkaXIgc3JjZmlsZSBzcmNkaXIgYmluZmlsZV9saWIgYmluZmlsZV9kbAorICAgICBnbG9i YWwgaGV4CisgCisgICAgIHdpdGhfdGVzdF9wcmVmaXggImluaXRpYWwgcnVuIiB7CistCWNsZWFu X3Jlc3RhcnQgJHRlc3RmaWxlCisrCWlmIHskc3RhbmRhbG9uZX0geworKwkgICAgY2xlYW5fcmVz dGFydCAkYmluZmlsZQorKwl9IGVsc2UgeworKwkgICAgY2xlYW5fcmVzdGFydCAkYmluZmlsZV9k bAorKwl9CisgCisgCXJ1bnRvX21haW4KKyAKKyAJc2V0IGFkZHJfYmVmb3JlIFtnZXRfaGV4YWRl Y2ltYWxfdmFsdWVvZiAiJl9faml0X2RlYnVnX2Rlc2NyaXB0b3IiIDAgXAorIAkJCSAgICAgImdl dCBhZGRyZXNzIG9mIF9faml0X2RlYnVnX2Rlc2NyaXB0b3IiXQorKworKwlnZGJfdGVzdCAibWFp bnQgaW5mbyBicmVha3BvaW50cyIgXAorKwkgICAgImppdCBldmVudHMgICAgIGtlZXAgeSAgICRo ZXggPF9faml0X2RlYnVnX3JlZ2lzdGVyX2NvZGU+LioiIFwKKysJICAgICJtYWludCBpbmZvIGJy ZWFrcG9pbnRzIHNob3dzIGppdCBicmVha3BvaW50IgorICAgICB9CisgCisgICAgIHdpdGhfdGVz dF9wcmVmaXggInNlY29uZCBydW4iIHsKK0BAIC00NywyMSArMTE0LDQ5IEBAIHByb2Mgaml0X3Rl c3RfcmVyZWFkIHt9IHsKKyAJIyBzZWNvbmQsIGdkYiBtaWdodCBub3QgcmVsb2FkIHRoZSBleGVj dXRhYmxlIGF1dG9tYXRpY2FsbHkuCisgCXNsZWVwIDEKKyAKKy0JZ2RiX3JlbmFtZV9leGVjZmls ZSAkYmluZmlsZSAke2JpbmZpbGV9eAorLQlpZiAgeyBbZ2RiX2NvbXBpbGUgIiR7c3JjZGlyfS8k e3N1YmRpcn0vJHtzcmNmaWxlfSIgIiR7YmluZmlsZX0iIGV4ZWN1dGFibGUge2RlYnVnIGFkZGl0 aW9uYWxfZmxhZ3M9LURTUEFDRVJ9XSAhPSAiIiB9IHsKKy0JICAgIGZhaWwgInJlY29tcGlsZSIK Ky0JICAgIHJldHVybgorLQl9IGVsc2UgeworLQkgICAgcGFzcyAicmVjb21waWxlIgorKwlpZiAk e2NoYW5nZV9hZGRyfSB7CisrCSAgICBzZXQgb3B0aW9ucyAiYWRkaXRpb25hbF9mbGFncz0tRFNQ QUNFUiIKKysJICAgIGlmIHskc3RhbmRhbG9uZX0geworKwkJZ2RiX3JlbmFtZV9leGVjZmlsZSAk YmluZmlsZSAke2JpbmZpbGV9eAorKwkJc2V0IHJlcyBbYnVpbGRfc3RhbmRhbG9uZV9qaXQgJG9w dGlvbnNdCisrCSAgICB9IGVsc2UgeworKwkJZ2RiX3JlbmFtZV9leGVjZmlsZSAkYmluZmlsZV9s aWIgJHtiaW5maWxlX2xpYn14CisrCQlzZXQgcmVzIFtidWlsZF9zaGFyZWRfaml0ICRvcHRpb25z XQorKwkgICAgfQorKwkgICAgaWYgIHsgJHJlcyA9PSAtMSB9IHsKKysJCWZhaWwgInJlY29tcGls ZSIKKysJCXJldHVybgorKwkgICAgfSBlbHNlIHsKKysJCXBhc3MgInJlY29tcGlsZSIKKysJICAg IH0KKyAJfQorIAorIAlydW50b19tYWluCisgCisgCXNldCBhZGRyX2FmdGVyIFtnZXRfaGV4YWRl Y2ltYWxfdmFsdWVvZiAiJl9faml0X2RlYnVnX2Rlc2NyaXB0b3IiIDAgXAorIAkJCSAgICAiZ2V0 IGFkZHJlc3Mgb2YgX19qaXRfZGVidWdfZGVzY3JpcHRvciJdCisrCisrCSMgVGhpcyB1c2VkIHRv IGNyYXNoIGluIHRoZSBKSVQtaW4tc2hhcmVkLWxpYnJhcnkgY2FzZToKKysJIyBodHRwczovL3Nv dXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xMTA5NAorKwlnZGJfdGVzdCAi bWFpbnQgaW5mbyBicmVha3BvaW50cyIgXAorKwkgICAgImppdCBldmVudHMgICAgIGtlZXAgeSAg ICRoZXggPF9faml0X2RlYnVnX3JlZ2lzdGVyX2NvZGU+LioiIFwKKysJICAgICJtYWludCBpbmZv IGJyZWFrcG9pbnRzIHNob3dzIGppdCBicmVha3BvaW50IgorICAgICB9CisgCistICAgIGdkYl9h c3NlcnQgeyRhZGRyX2JlZm9yZSAhPSAkYWRkcl9hZnRlcn0gImFkZHJlc3MgY2hhbmdlZCIKKysg ICAgaWYgJHtjaGFuZ2VfYWRkcn0geworKwlnZGJfYXNzZXJ0IHskYWRkcl9iZWZvcmUgIT0gJGFk ZHJfYWZ0ZXJ9ICJhZGRyZXNzIGNoYW5nZWQiCisrICAgIH0gZWxzZSB7CisrCWdkYl9hc3NlcnQg eyRhZGRyX2JlZm9yZSA9PSAkYWRkcl9hZnRlcn0gImFkZHJlc3MgZGlkbid0IGNoYW5nZSIKKysg ICAgfQorIH0KKyAKKy1qaXRfdGVzdF9yZXJlYWQKKytmb3JlYWNoIHN0YW5kYWxvbmUgezEgMH0g eworKyAgICB3aXRoX3Rlc3RfcHJlZml4IFtleHByICgkc3RhbmRhbG9uZSk/InN0YW5kYWxvbmUi OiJzaGFyZWQiXSB7CisrCXdpdGhfdGVzdF9wcmVmaXggImNoYW5nZSBhZGRyIiB7CisrCSAgICBq aXRfdGVzdF9yZXJlYWQgJHN0YW5kYWxvbmUgMQorKwl9CisrCXdpdGhfdGVzdF9wcmVmaXggInNh bWUgYWRkciIgeworKwkgICAgaml0X3Rlc3RfcmVyZWFkICRzdGFuZGFsb25lIDAKKysJfQorKyAg ICB9CisrfQoKZGlmZiAtLWdpdCBhL2dkYi5zcGVjIGIvZ2RiLnNwZWMKaW5kZXggYWE4NGJkNS4u ZGE5NWMyZSAxMDA2NDQKLS0tIGEvZ2RiLnNwZWMKKysrIGIvZ2RiLnNwZWMKQEAgLTIxLDEzICsy MSwxMyBAQCBOYW1lOiAlez9zY2xfcHJlZml4fWdkYgogJWdsb2JhbCBzbmFwc3JjICAgIDIwMTYw ODAxCiAjIFNlZSB0aW1lc3RhbXAgb2Ygc291cmNlIGdudWxpYiBpbnN0YWxsZWQgaW50byBnZGIv Z251bGliLyAuCiAlZ2xvYmFsIHNuYXBnbnVsaWIgMjAxNTA4MjIKLSVnbG9iYWwgdGFyZGF0ZSAy MDE2MDkyOQorJWdsb2JhbCB0YXJkYXRlIDIwMTYxMDA2CiAlZ2xvYmFsIHRhcm5hbWUgZ2RiLTcu MTEuOTAuJXt0YXJkYXRlfQogVmVyc2lvbjogNy4xMgogCiAjIFRoZSByZWxlYXNlIGFsd2F5cyBj b250YWlucyBhIGxlYWRpbmcgcmVzZXJ2ZWQgbnVtYmVyLCBzdGFydCBpdCBhdCAxLgogIyBgdXBz dHJlYW0nIGlzIG5vdCBhIHBhcnQgb2YgYG5hbWUnIHRvIHN0YXkgZnVsbHkgcnBtIGRlcGVuZGVu Y2llcyBjb21wYXRpYmxlIGZvciB0aGUgdGVzdGluZy4KLVJlbGVhc2U6IDAuMTkuJXt0YXJkYXRl fSV7P2Rpc3R9CitSZWxlYXNlOiAwLjIwLiV7dGFyZGF0ZX0lez9kaXN0fQogCiBMaWNlbnNlOiBH UEx2MysgYW5kIEdQTHYzKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTHYyKyBhbmQgR1BMdjIrIHdp dGggZXhjZXB0aW9ucyBhbmQgR1BMKyBhbmQgTEdQTHYyKyBhbmQgQlNEIGFuZCBQdWJsaWMgRG9t YWluIGFuZCBHRkRMCiBHcm91cDogRGV2ZWxvcG1lbnQvRGVidWdnZXJzCkBAIC01OTgsOSArNTk4 LDYgQEAgUGF0Y2gxMTQ0OiBnZGItYmlzb24tb2xkLnBhdGNoCiBQYXRjaDExNDU6IGdkYi10ZXN0 c3VpdGUtY2FzdHMucGF0Y2gKIFBhdGNoMTE0NjogZ2RiLXRlc3RzdWl0ZS1tLXN0YXRpYy5wYXRj aAogCi0jIEZpeCBhdHRhY2htZW50IG9mIEpJVC1kZWJ1Zy1lbmFibGVkIGluZi4gKDcuMTEuMSBy ZWdyZXNzaW9uLCBSSCBCWiAxMzc1NTUzKS4KLVBhdGNoMTE0NzogZ2RiLXJoYnoxMzc1NTUzLWF0 dGFjaC1qaXQtZGVidWcucGF0Y2gKLQogJWlmIDAleyE/cmhlbDoxfSB8fCAwJXs/cmhlbH0gPiA2 CiAjIFJMX1NUQVRFX0ZFRE9SQV9HREIgd291bGQgbm90IGJlIGZvdW5kIGZvcjoKICMgUGF0Y2g2 NDI6IGdkYi1yZWFkbGluZTYyLWFzay1tb3JlLXJoLnBhdGNoCkBAIC05MzYsNyArOTMzLDYgQEAg ZG9uZQogJXBhdGNoMTE0NCAtcDEKICVwYXRjaDExNDUgLXAxCiAlcGF0Y2gxMTQ2IC1wMQotJXBh dGNoMTE0NyAtcDEKIAogJXBhdGNoMTA3NSAtcDEKICVpZiAwJXs/cmhlbDoxfSAmJiAwJXs/cmhl bH0gPD0gNwpAQCAtMTQ5NCw2ICsxNDkwLDkgQEAgdGhlbgogZmkKIAogJWNoYW5nZWxvZworKiBU aHUgT2N0ICA2IDIwMTYgSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+ IC0gNy4xMi0wLjIwLjIwMTYxMDA2LmZjMjUKKy0gUmViYXNlIHRvIEZTRiBHREIgNy4xMS45MC4y MDE2MTAwNiAocHJlLTcuMTIgYnJhbmNoIHNuYXBzaG90KS4KKwogKiBUaHUgU2VwIDI5IDIwMTYg SmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+IC0gNy4xMi0wLjE5LjIw MTYwOTI5LmZjMjUKIC0gUmViYXNlIHRvIEZTRiBHREIgNy4xMS45MC4yMDE2MDkyOSAocHJlLTcu MTIgYnJhbmNoIHNuYXBzaG90KS4KICAtIEZpeGVzIEdEQiBjcmFzaGVzIG9uIGluZi4gZnVuY3Rp b24gY2FsbCBzY3JpcHRzIChSSCBCWiAxMzc4MTQ3LCBQZWRybyBBbHZlcykuCgpkaWZmIC0tZ2l0 IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggYTlmNzUwYS4uY2YzZmRiMyAxMDA2NDQKLS0tIGEv c291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xLDMgKzEsMyBAQAogMTMxZDBkZmQyMGNkNjAxNGMx NjhmYmNhYjliZTJjNDMgIGdkYi1saWJzdGRjKystdjMtcHl0aG9uLTYuMS4xLTIwMTYwODE3LnRh ci54egogMjllZmMwODIxOWQ5ZDZhMDUzNmQ1OGY5ODA3Yzg3MjIgIHYxLjUudGFyLmd6Ci1jMjM1 YmYyMGYzMDJmMDM5MzcxNGFkMWI2NTRmOTAyOSAgZ2RiLTcuMTEuOTAuMjAxNjA5MjkudGFyLnh6 CisxMDE4ZTkwNDY4MWFhMGE2NGExZTMxNWY4MDg1NzJmZiAgZ2RiLTcuMTEuOTAuMjAxNjEwMDYu dGFyLnh6Cg==