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.9.90.20150709 (7.10 branch snapshot). Date: Thu, 23 Jul 2026 18:31:49 GMT Message-ID: <178483150915.1.11177886170022649522.rpms-gdb-ae96b4a09515@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: ae96b4a09515766d177b191e4af611c8e19399b2 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGZpeC1kdXAtcGF0Y2gKQ29tbWl0IDogYWU5NmI0YTA5NTE1NzY2ZDE3N2IxOTFlNGFmNjExYzhl MTkzOTliMgpBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNv bT4KRGF0ZSAgIDogMjAxNS0wNy0xMFQxMDoyNTowOSswMjowMApTdGF0cyAgOiArNTQ0Ly04Njgg aW4gMTMgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1z L2dkYi9jL2FlOTZiNGEwOTUxNTc2NmQxNzdiMTkxZTRhZjYxMWM4ZTE5Mzk5YjI/YnJhbmNoPWZp eC1kdXAtcGF0Y2gKCkxvZzoKUmViYXNlIHRvIEZTRiBHREIgNy45LjkwLjIwMTUwNzA5ICg3LjEw IGJyYW5jaCBzbmFwc2hvdCkuCgotLS0KZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdu b3JlCmluZGV4IDliZjVmNjIuLjBiOGU5M2IgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIv LmdpdGlnbm9yZQpAQCAtMSwyICsxLDIgQEAKIC9nZGItbGlic3RkYysrLXYzLXB5dGhvbi1yMjI1 NTIxLnRhci54egotL2dkYi03LjkuNTAuMjAxNTA1MzEudGFyLnh6CisvZ2RiLTcuOS45MC4yMDE1 MDcwOS50YXIueHoKCmRpZmYgLS1naXQgYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLW1pc2xlYWRp bmctd2FybmluZy1taXNzaW5nLWRlYnVnaW5mby1yaGJ6OTgxMTU0LnBhdGNoIGIvZ2RiLTYuNi1i dWlsZGlkLWxvY2F0ZS1taXNsZWFkaW5nLXdhcm5pbmctbWlzc2luZy1kZWJ1Z2luZm8tcmhiejk4 MTE1NC5wYXRjaAppbmRleCAwNDRhNDA4Li4xMjZkNmEyIDEwMDY0NAotLS0gYS9nZGItNi42LWJ1 aWxkaWQtbG9jYXRlLW1pc2xlYWRpbmctd2FybmluZy1taXNzaW5nLWRlYnVnaW5mby1yaGJ6OTgx MTU0LnBhdGNoCisrKyBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtbWlzbGVhZGluZy13YXJuaW5n LW1pc3NpbmctZGVidWdpbmZvLXJoYno5ODExNTQucGF0Y2gKQEAgLTE1LDEwICsxNSwxMCBAQCBD b21tZW50cyBieSBTZXJnaW8gRHVyaWdhbiBKdW5pb3IgPHNlcmdpb2RqQHJlZGhhdC5jb20+Ogog ICBOVUxMIGFmdGVyIGl0IGlzIGZyZWUnZCwgb3RoZXJ3aXNlIHRoZSBjb2RlIGJlbG93IHRoaW5r cyB0aGF0IGl0IGlzIHN0aWxsCiAgIHZhbGlkIGFuZCBkb2Vzbid0IHByaW50IHRoZSBuZWNlc3Nh cnkgd2FybmluZyAoIlRyeTogeXVtIGluc3RhbGwgLi4uIikuCiAKLUluZGV4OiBnZGItNy43L2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2Uvcmhiejk4MTE1NC1taXNsZWFkaW5nLXl1bS1pbnN0YWxsLXdh cm5pbmcuZXhwCitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL3JoYno5ODExNTQtbWlzbGVhZGluZy15dW0taW5zdGFsbC13YXJuaW5nLmV4cAogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIC9kZXYvbnVsbAotKysrIGdkYi03LjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9y aGJ6OTgxMTU0LW1pc2xlYWRpbmcteXVtLWluc3RhbGwtd2FybmluZy5leHAKKy0tLSAvZGV2L251 bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy45LjkwLjIw MTUwNzA5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvcmhiejk4MTE1NC1taXNsZWFkaW5nLXl1bS1p bnN0YWxsLXdhcm5pbmcuZXhwCTIwMTUtMDctMDkgMjI6MjI6MjYuMjc4MzA0NjUzICswMjAwCiBA QCAtMCwwICsxLDk3IEBACiArIyAgIENvcHlyaWdodCAoQykgMjAxNCAgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMTcsMTUgKzExNywxOSBAQCBJbmRleDogZ2RiLTcuNy9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3JoYno5ODExNTQtbWlzbGVhZGluZy15dW0taW5zdGFsbC13 YXJuaW5nLgogKwogKyMgTGVhdmluZyB0aGUgbGluayB0aGVyZSB3aWxsIGNhdXNlIGJyZWFrYWdl IGluIHRoZSBuZXh0IHJ1bi4KICtyZW1vdGVfZXhlYyBidWlsZCAicm0gLWYgJHtvYmpkaXJ9LyR7 c3ViZGlyfS8ke2J1aWxkX2lkX3dpdGhvdXRfZGVidWd9IgotSW5kZXg6IGdkYi03LjcvZ2RiL2J1 aWxkLWlkLmMKK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9idWlsZC1pZC5jCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuNy5vcmlnL2dkYi9idWlsZC1pZC5jCi0rKysgZ2RiLTcuNy9nZGIv YnVpbGQtaWQuYwotQEAgLTU4OCw2ICs1ODgsNyBAQCBidWlsZF9pZF90b19kZWJ1Z19iZmQgKHNp emVfdCBidWlsZF9pZF9sCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9idWlsZC1p ZC5jCTIwMTUtMDctMDkgMjI6MjI6MjYuMjc4MzA0NjUzICswMjAwCisrKysgZ2RiLTcuOS45MC4y MDE1MDcwOS9nZGIvYnVpbGQtaWQuYwkyMDE1LTA3LTA5IDIyOjIyOjUxLjM5ODUwMjMyOSArMDIw MAorQEAgLTU4OSw3ICs1ODksMTAgQEAgYnVpbGRfaWRfdG9fZGVidWdfYmZkIChzaXplX3QgYnVp bGRfaWRfbAorIAkgIGRvX2NsZWFudXBzIChpbm5lcik7CisgCiAgCSAgaWYgKGFiZmQgPT0gTlVM TCkKLSAJICAgIHsKLSAJICAgICAgeGZyZWUgKGZpbGVuYW1lKTsKKy0JICAgIGNvbnRpbnVlOwor KwkgICAgewogKwkgICAgICBmaWxlbmFtZSA9IE5VTEw7Ci0gCSAgICAgIGNvbnRpbnVlOwotIAkg ICAgfQorKwkgICAgICBjb250aW51ZTsKKysJICAgIH0KICAKKyAJICBpZiAoYnVpbGRfaWRfdmVy aWZ5IChhYmZkLCBidWlsZF9pZF9sZW4sIGJ1aWxkX2lkKSkKKyAJICAgIGJyZWFrOwoKZGlmZiAt LWdpdCBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLnBhdGNoIGIvZ2RiLTYuNi1idWlsZGlk LWxvY2F0ZS1ycG0ucGF0Y2gKaW5kZXggNjVhNGI1My4uYWJkMDc0NSAxMDA2NDQKLS0tIGEvZ2Ri LTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0ucGF0Y2gKKysrIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0 ZS1ycG0ucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1JbmRleDogZ2RiLTcuOC41MC4yMDE0MTIyOC9n ZGIvZXZlbnQtdG9wLmMKK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9ldmVudC10b3Au YwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjguNTAuMjAxNDEyMjgub3JpZy9nZGIvZXZlbnQtdG9w LmMJMjAxNS0wMS0wMSAxNzoxMjoyNC44ODE0ODkwODcgKzAxMDAKLSsrKyBnZGItNy44LjUwLjIw MTQxMjI4L2dkYi9ldmVudC10b3AuYwkyMDE1LTAxLTAxIDE3OjEyOjI4LjgyMTQ4NjgwMyArMDEw MAorLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIvZXZlbnQtdG9wLmMJMjAxNS0wNy0w OSAxODoyMjo0NS4wMDgzODM3OTQgKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9l dmVudC10b3AuYwkyMDE1LTA3LTA5IDE4OjIyOjUxLjQwMTQzODMzNyArMDIwMAogQEAgLTM3LDYg KzM3LDcgQEAKICAjaW5jbHVkZSAiZ2RiY21kLmgiCQkvKiBmb3IgZG9udF9yZXBlYXQoKSAqLwog ICNpbmNsdWRlICJhbm5vdGF0ZS5oIgpAQCAtMjgsMjQgKzI4LDI0IEBAIEluZGV4OiBnZGItNy44 LjUwLjIwMTQxMjI4L2dkYi9ldmVudC10b3AuYwogICAgb2xkX2NoYWluID0gbWFrZV9jbGVhbnVw IChmcmVlX2N1cnJlbnRfY29udGVudHMsICZhY3R1YWxfZ2RiX3Byb21wdCk7CiAgCiAgICAvKiBE byBub3QgY2FsbCB0aGUgcHl0aG9uIGhvb2sgb24gYW4gZXhwbGljaXQgcHJvbXB0IGNoYW5nZSBh cwotSW5kZXg6IGdkYi03LjguNTAuMjAxNDEyMjgvZ2RiL3N5bWZpbGUuaAorSW5kZXg6IGdkYi03 LjkuOTAuMjAxNTA3MDkvZ2RiL3N5bWZpbGUuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjguNTAu MjAxNDEyMjgub3JpZy9nZGIvc3ltZmlsZS5oCTIwMTUtMDEtMDEgMTc6MTI6MjQuODgxNDg5MDg3 ICswMTAwCi0rKysgZ2RiLTcuOC41MC4yMDE0MTIyOC9nZGIvc3ltZmlsZS5oCTIwMTUtMDEtMDEg MTc6MTI6MjguODIyNDg2ODAyICswMTAwCi1AQCAtNTc3LDYgKzU3Nyw4IEBAIHZvaWQgbWFwX3N5 bWJvbF9maWxlbmFtZXMgKHN5bWJvbF9maWxlbmEKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9y aWcvZ2RiL3N5bWZpbGUuaAkyMDE1LTA3LTA5IDE4OjIyOjQ1LjAwOTM4MzgwMiArMDIwMAorKysr IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3N5bWZpbGUuaAkyMDE1LTA3LTA5IDE4OjIyOjUxLjQw MjQzODM0NiArMDIwMAorQEAgLTU4Nyw2ICs1ODcsOCBAQCB2b2lkIG1hcF9zeW1ib2xfZmlsZW5h bWVzIChzeW1ib2xfZmlsZW5hCiAgLyogYnVpbGQtaWQgc3VwcG9ydC4gICovCi0gZXh0ZXJuIHN0 cnVjdCBlbGZfYnVpbGRfaWQgKmJ1aWxkX2lkX2FkZHJfZ2V0IChDT1JFX0FERFIgYWRkcik7Cisg ZXh0ZXJuIHN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkX2FkZHJfZ2V0IChDT1JFX0FERFIg YWRkcik7CiAgZXh0ZXJuIHZvaWQgZGVidWdfcHJpbnRfbWlzc2luZyAoY29uc3QgY2hhciAqYmlu YXJ5LCBjb25zdCBjaGFyICpkZWJ1Zyk7CiArZXh0ZXJuIHZvaWQgZGVidWdfZmx1c2hfbWlzc2lu ZyAodm9pZCk7CiArI2RlZmluZSBCVUlMRF9JRF9NQUlOX0VYRUNVVEFCTEVfRklMRU5BTUUgXygi dGhlIG1haW4gZXhlY3V0YWJsZSBmaWxlIikKICAKICAvKiBGcm9tIGR3YXJmMnJlYWQuYyAqLwog IAotSW5kZXg6IGdkYi03LjguNTAuMjAxNDEyMjgvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAor SW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjguNTAuMjAxNDEyMjgub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9n ZGIuZXhwCTIwMTUtMDEtMDEgMTc6MTI6MjQuODgzNDg5MDg1ICswMTAwCi0rKysgZ2RiLTcuOC41 MC4yMDE0MTIyOC9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTUtMDEtMDEgMTc6MTI6Mjgu ODIzNDg2ODAxICswMTAwCi1AQCAtMTUyMiw3ICsxNTIyLDcgQEAgcHJvYyBkZWZhdWx0X2dkYl9z dGFydCB7IH0geworLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIvdGVzdHN1aXRlL2xp Yi9nZGIuZXhwCTIwMTUtMDctMDkgMTg6MjI6NDUuMDEwMzgzODExICswMjAwCisrKysgZ2RiLTcu OS45MC4yMDE1MDcwOS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTUtMDctMDkgMTg6MjI6 NTEuNDAzNDM4MzU0ICswMjAwCitAQCAtMTU3Myw3ICsxNTczLDcgQEAgcHJvYyBkZWZhdWx0X2dk Yl9zdGFydCB7IH0gewogIAkgICAgd2FybmluZyAiQ291bGRuJ3Qgc2V0IHRoZSB3aWR0aCB0byAw LiIKICAJfQogICAgICB9CkBAIC01NCwxMCArNTQsMTAgQEAgSW5kZXg6IGdkYi03LjguNTAuMjAx NDEyMjgvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAogICAgICBzZW5kX2dkYiAic2V0IGJ1aWxk LWlkLXZlcmJvc2UgMFxuIgogICAgICBnZGJfZXhwZWN0IDEwIHsKICAJLXJlICIkZ2RiX3Byb21w dCAkIiB7Ci1JbmRleDogZ2RiLTcuOC41MC4yMDE0MTIyOC9nZGIvdGVzdHN1aXRlL2xpYi9taS1z dXBwb3J0LmV4cAorSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3Rlc3RzdWl0ZS9saWIv bWktc3VwcG9ydC5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy44LjUwLjIwMTQxMjI4Lm9yaWcv Z2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAJMjAxNS0wMS0wMSAxNzoxMjoyNC44ODQ0 ODkwODUgKzAxMDAKLSsrKyBnZGItNy44LjUwLjIwMTQxMjI4L2dkYi90ZXN0c3VpdGUvbGliL21p LXN1cHBvcnQuZXhwCTIwMTUtMDEtMDEgMTc6MTI6MjguODIzNDg2ODAxICswMTAwCistLS0gZ2Ri LTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwCTIw MTUtMDctMDkgMTg6MjI6NDUuMDEyMzgzODI4ICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcw OS9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAkyMDE1LTA3LTA5IDE4OjIyOjUxLjQw NDQzODM2MyArMDIwMAogQEAgLTIxNCw3ICsyMTQsNyBAQCBwcm9jIGRlZmF1bHRfbWlfZ2RiX3N0 YXJ0IHsgYXJncyB9IHsKICAJICAgIHdhcm5pbmcgIkNvdWxkbid0IHNldCB0aGUgd2lkdGggdG8g MC4iCiAgCX0KQEAgLTY3LDEwICs2NywxMCBAQCBJbmRleDogZ2RiLTcuOC41MC4yMDE0MTIyOC9n ZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAogICAgICBzZW5kX2dkYiAiMTkwLWdkYi1z ZXQgYnVpbGQtaWQtdmVyYm9zZSAwXG4iCiAgICAgIGdkYl9leHBlY3QgMTAgewogIAktcmUgIi4q MTkwLWdkYi1zZXQgYnVpbGQtaWQtdmVyYm9zZSAwXHJcbjE5MFxcXF5kb25lXHJcbiRtaV9nZGJf cHJvbXB0JCIgewotSW5kZXg6IGdkYi03LjguNTAuMjAxNDEyMjgvZ2RiL3R1aS90dWktaW50ZXJw LmMKK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi90dWkvdHVpLWludGVycC5jCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuOC41MC4yMDE0MTIyOC5vcmlnL2dkYi90dWkvdHVpLWludGVycC5j CTIwMTUtMDEtMDEgMTc6MTI6MjguODI0NDg2ODAxICswMTAwCi0rKysgZ2RiLTcuOC41MC4yMDE0 MTIyOC9nZGIvdHVpL3R1aS1pbnRlcnAuYwkyMDE1LTAxLTAxIDE3OjEyOjQzLjI0MDQ3ODQ0NCAr MDEwMAorLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIvdHVpL3R1aS1pbnRlcnAuYwky MDE1LTA3LTA5IDE4OjIyOjQ1LjAxMjM4MzgyOCArMDIwMAorKysrIGdkYi03LjkuOTAuMjAxNTA3 MDkvZ2RiL3R1aS90dWktaW50ZXJwLmMJMjAxNS0wNy0wOSAxODoyMjo1MS40MDQ0MzgzNjMgKzAy MDAKIEBAIC0zMSw2ICszMSw3IEBACiAgI2luY2x1ZGUgInR1aS90dWktaW8uaCIKICAjaW5jbHVk ZSAiaW5mcnVuLmgiCkBAIC03OSwxMCArNzksMTAgQEAgSW5kZXg6IGdkYi03LjguNTAuMjAxNDEy MjgvZ2RiL3R1aS90dWktaW50ZXJwLmMKICAKICBzdGF0aWMgc3RydWN0IHVpX291dCAqdHVpX3Vp X291dCAoc3RydWN0IGludGVycCAqc2VsZik7CiAgCi1JbmRleDogZ2RiLTcuOC41MC4yMDE0MTIy OC9nZGIvYWNsb2NhbC5tNAorSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2FjbG9jYWwu bTQKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy44LjUwLjIwMTQxMjI4Lm9yaWcvZ2RiL2FjbG9jYWwu bTQJMjAxNS0wMS0wMSAxNzoxMjoyNC44ODU0ODkwODQgKzAxMDAKLSsrKyBnZGItNy44LjUwLjIw MTQxMjI4L2dkYi9hY2xvY2FsLm00CTIwMTUtMDEtMDEgMTc6MTI6MjguODI0NDg2ODAxICswMTAw CistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9hY2xvY2FsLm00CTIwMTUtMDctMDkg MTg6MjI6NDUuMDEzMzgzODM3ICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvYWNs b2NhbC5tNAkyMDE1LTA3LTA5IDE4OjIyOjUxLjQwNTQzODM3MSArMDIwMAogQEAgLTExLDYgKzEx LDIyMSBAQAogICMgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQQogICMgUEFSVElDVUxBUiBQVVJQT1NFLgpAQCAtMzA1LDEwICszMDUs MTAgQEAgSW5kZXg6IGdkYi03LjguNTAuMjAxNDEyMjgvZ2RiL2FjbG9jYWwubTQKICAjIEFNX0FV WF9ESVJfRVhQQU5EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtKi0g QXV0b2NvbmYgLSotCiAgCiAgIyBDb3B5cmlnaHQgKEMpIDIwMDEsIDIwMDMsIDIwMDUgIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotSW5kZXg6IGdkYi03LjguNTAuMjAxNDEyMjgvZ2Ri L2NvbmZpZy5pbgorSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2NvbmZpZy5pbgogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjguNTAuMjAxNDEyMjgub3JpZy9nZGIvY29uZmlnLmluCTIwMTUt MDEtMDEgMTc6MTI6MjQuODg1NDg5MDg0ICswMTAwCi0rKysgZ2RiLTcuOC41MC4yMDE0MTIyOC9n ZGIvY29uZmlnLmluCTIwMTUtMDEtMDEgMTc6MTI6MjguODI0NDg2ODAxICswMTAwCistLS0gZ2Ri LTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9jb25maWcuaW4JMjAxNS0wNy0wOSAxODoyMjo0NS4w MTMzODM4MzcgKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9jb25maWcuaW4JMjAx NS0wNy0wOSAxODoyMjo1MS40MDU0MzgzNzEgKzAyMDAKIEBAIC0zMyw2ICszMyw5IEBACiAgLyog RGVmaW5lIHRvIEJGRCdzIGRlZmF1bHQgdGFyZ2V0IHZlY3Rvci4gKi8KICAjdW5kZWYgREVGQVVM VF9CRkRfVkVDCkBAIC0zMTksNyArMzE5LDcgQEAgSW5kZXg6IGdkYi03LjguNTAuMjAxNDEyMjgv Z2RiL2NvbmZpZy5pbgogIC8qIERlZmluZSB0byAxIGlmIHRyYW5zbGF0aW9uIG9mIHByb2dyYW0g bWVzc2FnZXMgdG8gdGhlIHVzZXIncyBuYXRpdmUKICAgICBsYW5ndWFnZSBpcyByZXF1ZXN0ZWQu ICovCiAgI3VuZGVmIEVOQUJMRV9OTFMKLUBAIC0yMDcsNiArMjEwLDkgQEAKK0BAIC0yNTgsNiAr MjYxLDkgQEAKICAvKiBEZWZpbmUgaWYgUHl0aG9uIDIuNyBpcyBiZWluZyB1c2VkLiAqLwogICN1 bmRlZiBIQVZFX0xJQlBZVEhPTjJfNwogIApAQCAtMzI5LDExICszMjksMTEgQEAgSW5kZXg6IGdk Yi03LjguNTAuMjAxNDEyMjgvZ2RiL2NvbmZpZy5pbgogIC8qIERlZmluZSB0byAxIGlmIHlvdSBo YXZlIHRoZSA8bGlidW53aW5kLWlhNjQuaD4gaGVhZGVyIGZpbGUuICovCiAgI3VuZGVmIEhBVkVf TElCVU5XSU5EX0lBNjRfSAogIAotSW5kZXg6IGdkYi03LjguNTAuMjAxNDEyMjgvZ2RiL2NvbmZp Z3VyZQorSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2NvbmZpZ3VyZQogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjguNTAuMjAxNDEyMjgub3JpZy9nZGIvY29uZmlndXJlCTIwMTUtMDEtMDEg MTc6MTI6MjQuODkxNDg5MDgxICswMTAwCi0rKysgZ2RiLTcuOC41MC4yMDE0MTIyOC9nZGIvY29u ZmlndXJlCTIwMTUtMDEtMDEgMTc6MTI6MjguODI4NDg2Nzk4ICswMTAwCi1AQCAtNjk4LDYgKzY5 OCwxMSBAQCBQS0dWRVJTSU9OCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9jb25m aWd1cmUJMjAxNS0wNy0wOSAxODoyMjo0NS4wMjAzODM4OTYgKzAyMDAKKysrKyBnZGItNy45Ljkw LjIwMTUwNzA5L2dkYi9jb25maWd1cmUJMjAxNS0wNy0wOSAxODoyMjo1MS40MTA0Mzg0MTQgKzAy MDAKK0BAIC03MDMsNiArNzAzLDExIEBAIFBLR1ZFUlNJT04KICBIQVZFX05BVElWRV9HQ09SRV9U QVJHRVQKICBUQVJHRVRfT0JTCiAgc3ViZGlycwpAQCAtMzQ1LDcgKzM0NSw3IEBAIEluZGV4OiBn ZGItNy44LjUwLjIwMTQxMjI4L2dkYi9jb25maWd1cmUKICBHREJfREFUQURJUgogIERFQlVHRElS CiAgTUFLRUlORk9fRVhUUkFfRkxBR1MKLUBAIC04MDEsNiArODA2LDcgQEAgd2l0aF9nZGJfZGF0 YWRpcgorQEAgLTgxMSw2ICs4MTYsNyBAQCB3aXRoX2dkYl9kYXRhZGlyCiAgd2l0aF9yZWxvY2F0 ZWRfc291cmNlcwogIHdpdGhfYXV0b19sb2FkX2RpcgogIHdpdGhfYXV0b19sb2FkX3NhZmVfcGF0 aApAQCAtMzUzLDcgKzM1Myw3IEBAIEluZGV4OiBnZGItNy44LjUwLjIwMTQxMjI4L2dkYi9jb25m aWd1cmUKICBlbmFibGVfdGFyZ2V0cwogIGVuYWJsZV82NF9iaXRfYmZkCiAgZW5hYmxlX2dkYmNs aQotQEAgLTg1Miw2ICs4NTgsMTEgQEAgQ1BQRkxBR1MKK0BAIC04NjcsNiArODczLDExIEBAIEND QwogIENQUAogIE1BS0VJTkZPCiAgTUFLRUlORk9GTEFHUwpAQCAtMzY1LDcgKzM2NSw3IEBAIElu ZGV4OiBnZGItNy44LjUwLjIwMTQxMjI4L2dkYi9jb25maWd1cmUKICBZQUNDCiAgWUZMQUdTCiAg WE1LTUYnCi1AQCAtMTUyMiw2ICsxNTMzLDggQEAgT3B0aW9uYWwgUGFja2FnZXM6CitAQCAtMTUz OCw2ICsxNTQ5LDggQEAgT3B0aW9uYWwgUGFja2FnZXM6CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBbLS13aXRoLWF1dG8tbG9hZC1kaXJdCiAgICAtLXdpdGhvdXQtYXV0by1sb2FkLXNhZmUt cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IGF1dG8tbG9h ZGVkIGZpbGVzIGxvY2F0aW9ucwpAQCAtMzc0LDcgKzM3NCw3IEBAIEluZGV4OiBnZGItNy44LjUw LjIwMTQxMjI4L2dkYi9jb25maWd1cmUKICAgIC0td2l0aC1saWJ1bndpbmQtaWE2NCAgIHVzZSBs aWJ1bndpbmQgZnJhbWUgdW53aW5kaW5nIGZvciBpYTY0IHRhcmdldHMKICAgIC0td2l0aC1jdXJz ZXMgICAgICAgICAgIHVzZSB0aGUgY3Vyc2VzIGxpYnJhcnkgaW5zdGVhZCBvZiB0aGUgdGVybWNh cAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyeQotQEAgLTE1NzEsNiArMTU4NCwx MyBAQCBTb21lIGluZmx1ZW50aWFsIGVudmlyb25tZW50IHZhcmlhYmxlczoKK0BAIC0xNTkyLDYg KzE2MDUsMTMgQEAgU29tZSBpbmZsdWVudGlhbCBlbnZpcm9ubWVudCB2YXJpYWJsZXM6CiAgICBN QUtFSU5GTyAgICBQYXJlbnQgY29uZmlndXJlIGRldGVjdHMgaWYgaXQgaXMgb2Ygc3VmZmljaWVu dCB2ZXJzaW9uLgogICAgTUFLRUlORk9GTEFHUwogICAgICAgICAgICAgICAgUGFyYW1ldGVycyBm b3IgTUFLRUlORk8uCkBAIC0zODgsNyArMzg4LDcgQEAgSW5kZXg6IGdkYi03LjguNTAuMjAxNDEy MjgvZ2RiL2NvbmZpZ3VyZQogICAgWUFDQyAgICAgICAgVGhlIGBZZXQgQW5vdGhlciBDIENvbXBp bGVyJyBpbXBsZW1lbnRhdGlvbiB0byB1c2UuIERlZmF1bHRzIHRvCiAgICAgICAgICAgICAgICB0 aGUgZmlyc3QgcHJvZ3JhbSBmb3VuZCBvdXQgb2Y6IGBiaXNvbiAteScsIGBieWFjYycsIGB5YWNj Jy4KICAgIFlGTEFHUyAgICAgIFRoZSBsaXN0IG9mIGFyZ3VtZW50cyB0aGF0IHdpbGwgYmUgcGFz c2VkIGJ5IGRlZmF1bHQgdG8gJFlBQ0MuCi1AQCAtNTI2Nyw2ICs1Mjg3LDQ5MSBAQCBfQUNFT0YK K0BAIC01NjA4LDYgKzU2MjgsNDkxIEBAIF9BQ0VPRgogIHsgJGFzX2VjaG8gIiRhc19tZToke2Fz X2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkd2l0aF9hdXRvX2xvYWRfc2FmZV9wYXRoIiA+JjUK ICAkYXNfZWNobyAiJHdpdGhfYXV0b19sb2FkX3NhZmVfcGF0aCIgPiY2OyB9CiAgCkBAIC04ODAs MTEgKzg4MCwxMSBAQCBJbmRleDogZ2RiLTcuOC41MC4yMDE0MTIyOC9nZGIvY29uZmlndXJlCiAg CiAgCiAgc3ViZGlycz0iJHN1YmRpcnMgdGVzdHN1aXRlIgotSW5kZXg6IGdkYi03LjguNTAuMjAx NDEyMjgvZ2RiL2NvbmZpZ3VyZS5hYworSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2Nv bmZpZ3VyZS5hYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjguNTAuMjAxNDEyMjgub3JpZy9nZGIv Y29uZmlndXJlLmFjCTIwMTUtMDEtMDEgMTc6MTI6MjQuODkzNDg5MDc5ICswMTAwCi0rKysgZ2Ri LTcuOC41MC4yMDE0MTIyOC9nZGIvY29uZmlndXJlLmFjCTIwMTUtMDEtMDEgMTc6MTI6MjguODI5 NDg2Nzk4ICswMTAwCi1AQCAtMTcyLDYgKzE3MiwxOTkgQEAgQUNfREVGSU5FX0RJUihBVVRPX0xP QURfU0FGRV9QQVRILCBlc2NhcAorLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIvY29u ZmlndXJlLmFjCTIwMTUtMDctMDkgMTg6MjI6NDUuMDIyMzgzOTEzICswMjAwCisrKysgZ2RiLTcu OS45MC4yMDE1MDcwOS9nZGIvY29uZmlndXJlLmFjCTIwMTUtMDctMDkgMTg6MjI6NTEuNDExNDM4 NDIyICswMjAwCitAQCAtMTc3LDYgKzE3NywxOTkgQEAgQUNfREVGSU5FX0RJUihBVVRPX0xPQURf U0FGRV9QQVRILCBlc2NhcAogIAkgICAgICBbRGlyZWN0b3JpZXMgc2FmZSB0byBob2xkIGF1dG8t bG9hZGVkIGZpbGVzLl0pCiAgQUNfTVNHX1JFU1VMVChbJHdpdGhfYXV0b19sb2FkX3NhZmVfcGF0 aF0pCiAgCkBAIC0xMDg0LDEwICsxMDg0LDEwIEBAIEluZGV4OiBnZGItNy44LjUwLjIwMTQxMjI4 L2dkYi9jb25maWd1cmUuYWMKICBBQ19DT05GSUdfU1VCRElSUyh0ZXN0c3VpdGUpCiAgCiAgIyBD aGVjayB3aGV0aGVyIHRvIHN1cHBvcnQgYWx0ZXJuYXRpdmUgdGFyZ2V0IGNvbmZpZ3VyYXRpb25z Ci1JbmRleDogZ2RiLTcuOC41MC4yMDE0MTIyOC9nZGIvY29yZWxvdy5jCitJbmRleDogZ2RiLTcu OS45MC4yMDE1MDcwOS9nZGIvY29yZWxvdy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOC41MC4y MDE0MTIyOC5vcmlnL2dkYi9jb3JlbG93LmMJMjAxNS0wMS0wMSAxNzoxMjoyNC44OTQ0ODkwNzkg KzAxMDAKLSsrKyBnZGItNy44LjUwLjIwMTQxMjI4L2dkYi9jb3JlbG93LmMJMjAxNS0wMS0wMSAx NzoxMjoyOC44Mjk0ODY3OTggKzAxMDAKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcvZ2Ri L2NvcmVsb3cuYwkyMDE1LTA3LTA5IDE4OjIyOjQ1LjAyMjM4MzkxMyArMDIwMAorKysrIGdkYi03 LjkuOTAuMjAxNTA3MDkvZ2RiL2NvcmVsb3cuYwkyMDE1LTA3LTA5IDE4OjIyOjUxLjQxMjQzODQz MSArMDIwMAogQEAgLTMxMCw3ICszMTAsNyBAQCBidWlsZF9pZF9sb2NhdGVfZXhlYyAoaW50IGZy b21fdHR5KQogICAgICAgICAgc3ltZmlsZV9vYmpmaWxlLT5mbGFncyB8PSBPQkpGX0JVSUxEX0lE X0NPUkVfTE9BREVEOwogICAgICB9CkBAIC0xMDk3LDE5ICsxMDk3LDE5IEBAIEluZGV4OiBnZGIt Ny44LjUwLjIwMTQxMjI4L2dkYi9jb3JlbG93LmMKICAKICAgIGRvX2NsZWFudXBzIChiYWNrX3Rv KTsKICAKLUluZGV4OiBnZGItNy44LjUwLjIwMTQxMjI4L2dkYi9idWlsZC1pZC5jCitJbmRleDog Z2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvYnVpbGQtaWQuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjguNTAuMjAxNDEyMjgub3JpZy9nZGIvYnVpbGQtaWQuYwkyMDE1LTAxLTAxIDE3OjEyOjI0Ljg5 NDQ4OTA3OSArMDEwMAotKysrIGdkYi03LjguNTAuMjAxNDEyMjgvZ2RiL2J1aWxkLWlkLmMJMjAx NS0wMS0wMSAxNzoxMjoyOC44MzA0ODY3OTcgKzAxMDAKLUBAIC0zMSw2ICszMSw3IEBACi0gI2lu Y2x1ZGUgImdkYmNtZC5oIgotICNpbmNsdWRlICJvYnNlcnZlci5oIgorLS0tIGdkYi03LjkuOTAu MjAxNTA3MDkub3JpZy9nZGIvYnVpbGQtaWQuYwkyMDE1LTA3LTA5IDE4OjIyOjQ1LjAyMzM4Mzky MiArMDIwMAorKysrIGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2J1aWxkLWlkLmMJMjAxNS0wNy0w OSAxODoyMjo1MS40MTI0Mzg0MzEgKzAyMDAKK0BAIC0zNSw2ICszNSw3IEBACisgI2luY2x1ZGUg ImVsZi9jb21tb24uaCIKKyAjaW5jbHVkZSAiZWxmLWJmZC5oIgogICNpbmNsdWRlIDxzeXMvc3Rh dC5oPgogKyNpbmNsdWRlICJlbGYvZXh0ZXJuYWwuaCIKICAKICAjZGVmaW5lIEJVSUxEX0lEX1ZF UkJPU0VfTk9ORSAwCiAgI2RlZmluZSBCVUlMRF9JRF9WRVJCT1NFX0ZJTEVOQU1FUyAxCi1AQCAt NjY0LDggKzY2NSwzNjMgQEAgYnVpbGRfaWRfdG9fZmlsZW5hbWUgKGNvbnN0IHN0cnVjdCBlbGZf YgorQEAgLTY2OSw4ICs2NzAsMzYzIEBAIGJ1aWxkX2lkX3RvX2ZpbGVuYW1lIChjb25zdCBzdHJ1 Y3QgYmZkX2IKICAgIHJldHVybiByZXN1bHQ7CiAgfQogIApAQCAtMTQ3NCw3ICsxNDc0LDcgQEAg SW5kZXg6IGdkYi03LjguNTAuMjAxNDEyMjgvZ2RiL2J1aWxkLWlkLmMKICAgICBhdm9pZGFuY2Uu ICAqLwogIAogIHN0cnVjdCBtaXNzaW5nX2ZpbGVwYWlyCi1AQCAtNzE5LDExICsxMDcyLDE3IEBA IG1pc3NpbmdfZmlsZXBhaXJfY2hhbmdlICh2b2lkKQorQEAgLTcyNCwxMSArMTA4MCwxNyBAQCBt aXNzaW5nX2ZpbGVwYWlyX2NoYW5nZSAodm9pZCkKICAgICAgICAvKiBBbGwgdGhlaXIgbWVtb3J5 IGNhbWUganVzdCBmcm9tIG1pc3NpbmdfZmlsZXBhaXJfT0JTVEFDSy4gICovCiAgICAgICAgbWlz c2luZ19maWxlcGFpcl9oYXNoID0gTlVMTDsKICAgICAgfQpAQCAtMTQ5Miw3ICsxNDkyLDcgQEAg SW5kZXg6IGdkYi03LjguNTAuMjAxNDEyMjgvZ2RiL2J1aWxkLWlkLmMKICAgIG1pc3NpbmdfZmls ZXBhaXJfY2hhbmdlICgpOwogIH0KICAKLUBAIC03OTAsMTQgKzExNDksMzQgQEAgZGVidWdfcHJp bnRfbWlzc2luZyAoY29uc3QgY2hhciAqYmluYXJ5LAorQEAgLTc5NSwxNCArMTE1NywzNCBAQCBk ZWJ1Z19wcmludF9taXNzaW5nIChjb25zdCBjaGFyICpiaW5hcnksCiAgCiAgICAqc2xvdCA9IG1p c3NpbmdfZmlsZXBhaXI7CiAgCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1z b2xpYi1taXNzaW5nLWlkcy5wYXRjaCBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtc29saWItbWlz c2luZy1pZHMucGF0Y2gKaW5kZXggNWQzMTRlMC4uYTg5ODkzYyAxMDA2NDQKLS0tIGEvZ2RiLTYu Ni1idWlsZGlkLWxvY2F0ZS1zb2xpYi1taXNzaW5nLWlkcy5wYXRjaAorKysgYi9nZGItNi42LWJ1 aWxkaWQtbG9jYXRlLXNvbGliLW1pc3NpbmctaWRzLnBhdGNoCkBAIC0xLDEzICsxLDEzIEBACi1J bmRleDogZ2RiLTcuNS41MC4yMDEzMDMxMC9nZGIvc29saWItc3ZyNC5jCitJbmRleDogZ2RiLTcu OS45MC4yMDE1MDcwOS9nZGIvc29saWItc3ZyNC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41 MC4yMDEzMDMxMC5vcmlnL2dkYi9zb2xpYi1zdnI0LmMJMjAxMy0wMy0xMCAxNjozNzo0OS4wMDAw MDAwMDAgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMzEwL2dkYi9zb2xpYi1zdnI0LmMJMjAx My0wMy0xMCAxNjo0Mzo0NS40OTg1ODUwOTEgKzAxMDAKLUBAIC0xMjI1LDE0ICsxMjI1LDI3IEBA IHN2cjRfcmVhZF9zb19saXN0IChDT1JFX0FERFIgbG0sIHN0cnVjdAorLS0tIGdkYi03LjkuOTAu MjAxNTA3MDkub3JpZy9nZGIvc29saWItc3ZyNC5jCTIwMTUtMDctMDkgMTg6MTg6NTQuNTI2NDE3 NzY2ICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvc29saWItc3ZyNC5jCTIwMTUt MDctMDkgMTg6MTk6MzMuMDc0NzQ2NTg2ICswMjAwCitAQCAtMTM4MSwxNCArMTM4MSwyNyBAQCBz dnI0X3JlYWRfc29fbGlzdCAoQ09SRV9BRERSIGxtLCBDT1JFX0FECiAgCX0KICAKICAgICAgICB7 Ci0tCXN0cnVjdCBlbGZfYnVpbGRfaWQgKmJ1aWxkX2lkOwotKwlzdHJ1Y3QgZWxmX2J1aWxkX2lk ICpidWlsZF9pZCA9IE5VTEw7CistCXN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkOworKwlz dHJ1Y3QgYmZkX2J1aWxkX2lkICpidWlsZF9pZCA9IE5VTEw7CiAgCiAgCXN0cm5jcHkgKG5ld29i ai0+c29fb3JpZ2luYWxfbmFtZSwgYnVmZmVyLCBTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAxKTsK ICAJbmV3b2JqLT5zb19vcmlnaW5hbF9uYW1lW1NPX05BTUVfTUFYX1BBVEhfU0laRSAtIDFdID0g J1wwJzsKQEAgLTMyLDcgKzMyLDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAzMTAvZ2RiL3Nv bGliLXN2cjQuYwogIAlpZiAoYnVpbGRfaWQgIT0gTlVMTCkKICAJICB7CiAgCSAgICBjaGFyICpu YW1lLCAqYnVpbGRfaWRfZmlsZW5hbWU7Ci1AQCAtMTI0NywyMyArMTI2MCw3IEBAIHN2cjRfcmVh ZF9zb19saXN0IChDT1JFX0FERFIgbG0sIHN0cnVjdAorQEAgLTE0MDMsMjMgKzE0MTYsNyBAQCBz dnI0X3JlYWRfc29fbGlzdCAoQ09SRV9BRERSIGxtLCBDT1JFX0FECiAgCQl4ZnJlZSAobmFtZSk7 CiAgCSAgICAgIH0KICAJICAgIGVsc2UKCmRpZmYgLS1naXQgYS9nZGItNi42LWJ1aWxkaWQtbG9j YXRlLnBhdGNoIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaAppbmRleCBlOTI4ZWQwLi5k YzA1YzM5IDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLnBhdGNoCisrKyBiL2dk Yi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1JbmRleDogZ2RiLTcu OS41MC4yMDE1MDUyMC9nZGIvY29yZWxvdy5jCitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9n ZGIvY29yZWxvdy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5vcmlnL2dk Yi9jb3JlbG93LmMJMjAxNS0wNS0zMSAxNjozODo1NS4xMjMxMTIyMjcgKzAyMDAKLSsrKyBnZGIt Ny45LjUwLjIwMTUwNTIwL2dkYi9jb3JlbG93LmMJMjAxNS0wNS0zMSAxNjozODo1Ny42MDExMzAz NjYgKzAyMDAKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL2NvcmVsb3cuYwkyMDE1 LTA3LTA5IDIyOjA1OjIwLjk4ODA0NDMxMiArMDIwMAorKysrIGdkYi03LjkuOTAuMjAxNTA3MDkv Z2RiL2NvcmVsb3cuYwkyMDE1LTA3LTA5IDIyOjA1OjQyLjA1NzIyMjcyMiArMDIwMAogQEAgLTQ1 LDYgKzQ1LDEwIEBACiAgI2luY2x1ZGUgImdkYl9iZmQuaCIKICAjaW5jbHVkZSAiY29tcGxldGVy LmgiCkBAIC0yMyw3ICsyMyw3IEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9jb3Jl bG93LmMKICtidWlsZF9pZF9sb2NhdGVfZXhlYyAoaW50IGZyb21fdHR5KQogK3sKICsgIENPUkVf QUREUiBhdF9lbnRyeTsKLSsgIHN0cnVjdCBlbGZfYnVpbGRfaWQgKmJ1aWxkX2lkOworKyAgc3Ry dWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQ7CiArICBjaGFyICpleGVjZmlsZW5hbWUsICpkZWJ1 Z19maWxlbmFtZTsKICsgIGNoYXIgKmJ1aWxkX2lkX2ZpbGVuYW1lOwogKyAgc3RydWN0IGNsZWFu dXAgKmJhY2tfdG87CkBAIC05NCwxMSArOTQsMTEgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1 MjAvZ2RiL2NvcmVsb3cuYwogKwkJCSAgIE5VTEwsIE5VTEwsIE5VTEwsCiArCQkJICAgJnNldGxp c3QsICZzaG93bGlzdCk7CiAgfQotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2RvYy9n ZGIudGV4aW5mbworSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2RvYy9nZGIudGV4aW5m bwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIvZG9jL2dkYi50 ZXhpbmZvCTIwMTUtMDUtMzEgMTY6Mzg6NTUuMTM3MTEyMzMwICswMjAwCi0rKysgZ2RiLTcuOS41 MC4yMDE1MDUyMC9nZGIvZG9jL2dkYi50ZXhpbmZvCTIwMTUtMDUtMzEgMTY6Mzg6NTcuNjEyMTMw NDQ3ICswMjAwCi1AQCAtMTgyNTQsNiArMTgyNTQsMjcgQEAgaW5mb3JtYXRpb24gZmlsZXMuCist LS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9kb2MvZ2RiLnRleGluZm8JMjAxNS0wNy0w OSAyMjowNToyMC45ODgwNDQzMTIgKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9k b2MvZ2RiLnRleGluZm8JMjAxNS0wNy0wOSAyMjowNTo0Mi4wNjcyMjI4MDYgKzAyMDAKK0BAIC0x ODMwNCw2ICsxODMwNCwyNyBAQCBpbmZvcm1hdGlvbiBmaWxlcy4KICAKICBAZW5kIHRhYmxlCiAg CkBAIC0xMjYsMTAgKzEyNiwxMCBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvZG9j L2dkYi50ZXhpbmZvCiAgQGNpbmRleCBAY29kZXsuZ251X2RlYnVnbGlua30gc2VjdGlvbnMKICBA Y2luZGV4IGRlYnVnIGxpbmsgc2VjdGlvbnMKICBBIGRlYnVnIGxpbmsgaXMgYSBzcGVjaWFsIHNl Y3Rpb24gb2YgdGhlIGV4ZWN1dGFibGUgZmlsZSBuYW1lZAotSW5kZXg6IGdkYi03LjkuNTAuMjAx NTA1MjAvZ2RiL3NvbGliLXN2cjQuYworSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3Nv bGliLXN2cjQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIv c29saWItc3ZyNC5jCTIwMTUtMDUtMzEgMTY6Mzg6NTUuMTQyMTEyMzY2ICswMjAwCi0rKysgZ2Ri LTcuOS41MC4yMDE1MDUyMC9nZGIvc29saWItc3ZyNC5jCTIwMTUtMDUtMzEgMTY6NDA6MzMuNTkz ODE5NzAyICswMjAwCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9zb2xpYi1zdnI0 LmMJMjAxNS0wNy0wOSAyMjowNToyMC45ODgwNDQzMTIgKzAyMDAKKysrKyBnZGItNy45LjkwLjIw MTUwNzA5L2dkYi9zb2xpYi1zdnI0LmMJMjAxNS0wNy0wOSAyMjowNTo0Mi4wNjgyMjI4MTUgKzAy MDAKIEBAIC00NSw2ICs0NSw3IEBACiAgI2luY2x1ZGUgImF1eHYuaCIKICAjaW5jbHVkZSAiZ2Ri X2JmZC5oIgpAQCAtMTQ2LDcgKzE0Niw3IEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dk Yi9zb2xpYi1zdnI0LmMKIC0gICAgICBuZXdvYmotPnNvX25hbWVbU09fTkFNRV9NQVhfUEFUSF9T SVpFIC0gMV0gPSAnXDAnOwogLSAgICAgIHN0cmNweSAobmV3b2JqLT5zb19vcmlnaW5hbF9uYW1l LCBuZXdvYmotPnNvX25hbWUpOwogKyAgICAgIHsKLSsJc3RydWN0IGVsZl9idWlsZF9pZCAqYnVp bGRfaWQ7CisrCXN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkOwogKwogKwlzdHJuY3B5IChu ZXdvYmotPnNvX29yaWdpbmFsX25hbWUsIGJ1ZmZlciwgU09fTkFNRV9NQVhfUEFUSF9TSVpFIC0g MSk7CiArCW5ld29iai0+c29fb3JpZ2luYWxfbmFtZVtTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAx XSA9ICdcMCc7CkBAIC0xOTQsMTEgKzE5NCwxMSBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUy MC9nZGIvc29saWItc3ZyNC5jCiAgICAgICAgeGZyZWUgKGJ1ZmZlcik7CiAgCiAgICAgICAgLyog SWYgdGhpcyBlbnRyeSBoYXMgbm8gbmFtZSwgb3IgaXRzIG5hbWUgbWF0Y2hlcyB0aGUgbmFtZQot SW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2VsZnJlYWQuYworSW5kZXg6IGdkYi03Ljku OTAuMjAxNTA3MDkvZ2RiL2VsZnJlYWQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAx NTA1MjAub3JpZy9nZGIvZWxmcmVhZC5jCTIwMTUtMDUtMzEgMTY6Mzg6NTUuMTQzMTEyMzc0ICsw MjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvZWxmcmVhZC5jCTIwMTUtMDUtMzEgMTY6 Mzg6NTcuNjE0MTMwNDYyICswMjAwCi1AQCAtMTM0MSw5ICsxMzQxLDEwIEBAIGVsZl9zeW1maWxl X3JlYWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWwKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9y aWcvZ2RiL2VsZnJlYWQuYwkyMDE1LTA3LTA5IDIyOjA1OjIwLjk4ODA0NDMxMiArMDIwMAorKysr IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2VsZnJlYWQuYwkyMDE1LTA3LTA5IDIyOjA1OjQyLjA2 ODIyMjgxNSArMDIwMAorQEAgLTEyNTAsOSArMTI1MCwxMCBAQCBlbGZfc3ltZmlsZV9yZWFkIChz dHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsCiAgCSAgICYmIG9iamZpbGUtPnNlcGFyYXRlX2RlYnVnX29i amZpbGUgPT0gTlVMTAogIAkgICAmJiBvYmpmaWxlLT5zZXBhcmF0ZV9kZWJ1Z19vYmpmaWxlX2Jh Y2tsaW5rID09IE5VTEwpCiAgICAgIHsKQEAgLTIxMSw3ICsyMTEsNyBAQCBJbmRleDogZ2RiLTcu OS41MC4yMDE1MDUyMC9nZGIvZWxmcmVhZC5jCiAgCiAgICAgICAgaWYgKGRlYnVnZmlsZSA9PSBO VUxMKQogIAlkZWJ1Z2ZpbGUgPSBmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfZGVidWdsaW5r IChvYmpmaWxlKTsKLUBAIC0xMzU3LDYgKzEzNTgsMTIgQEAgZWxmX3N5bWZpbGVfcmVhZCAoc3Ry dWN0IG9iamZpbGUgKm9iamZpbAorQEAgLTEyNjYsNiArMTI2NywxMiBAQCBlbGZfc3ltZmlsZV9y ZWFkIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsCiAgCSAgc3ltYm9sX2ZpbGVfYWRkX3NlcGFyYXRl IChhYmZkLCBkZWJ1Z2ZpbGUsIHN5bWZpbGVfZmxhZ3MsIG9iamZpbGUpOwogIAkgIGRvX2NsZWFu dXBzIChjbGVhbnVwKTsKICAJfQpAQCAtMjI0LDI1ICsyMjQsMjUgQEAgSW5kZXg6IGdkYi03Ljku NTAuMjAxNTA1MjAvZ2RiL2VsZnJlYWQuYwogICAgICB9CiAgfQogIAotSW5kZXg6IGdkYi03Ljku NTAuMjAxNTA1MjAvZ2RiL3N5bWZpbGUuaAorSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2Ri L3N5bWZpbGUuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIv c3ltZmlsZS5oCTIwMTUtMDUtMzEgMTY6Mzg6NTUuMTQzMTEyMzc0ICswMjAwCi0rKysgZ2RiLTcu OS41MC4yMDE1MDUyMC9nZGIvc3ltZmlsZS5oCTIwMTUtMDUtMzEgMTY6Mzg6NTcuNjE0MTMwNDYy ICswMjAwCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9zeW1maWxlLmgJMjAxNS0w Ny0wOSAyMjowNToyMC45ODgwNDQzMTIgKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dk Yi9zeW1maWxlLmgJMjAxNS0wNy0wOSAyMjowNTo0Mi4wNjgyMjI4MTUgKzAyMDAKIEBAIC01ODQs NiArNTg0LDEwIEBAIHZvaWQgZXhwYW5kX3N5bXRhYnNfbWF0Y2hpbmcgKGV4cGFuZF9zeW0KICB2 b2lkIG1hcF9zeW1ib2xfZmlsZW5hbWVzIChzeW1ib2xfZmlsZW5hbWVfZnR5cGUgKmZ1biwgdm9p ZCAqZGF0YSwKICAJCQkgICBpbnQgbmVlZF9mdWxsbmFtZSk7CiAgCiArLyogYnVpbGQtaWQgc3Vw cG9ydC4gICovCi0rZXh0ZXJuIHN0cnVjdCBlbGZfYnVpbGRfaWQgKmJ1aWxkX2lkX2FkZHJfZ2V0 IChDT1JFX0FERFIgYWRkcik7CisrZXh0ZXJuIHN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lk X2FkZHJfZ2V0IChDT1JFX0FERFIgYWRkcik7CiArZXh0ZXJuIHZvaWQgZGVidWdfcHJpbnRfbWlz c2luZyAoY29uc3QgY2hhciAqYmluYXJ5LCBjb25zdCBjaGFyICpkZWJ1Zyk7CiArCiAgLyogRnJv bSBkd2FyZjJyZWFkLmMgKi8KICAKICAvKiBOYW1lcyBmb3IgYSBkd2FyZjIgZGVidWdnaW5nIHNl Y3Rpb24uICBUaGUgZmllbGQgTk9STUFMIGlzIHRoZSBub3JtYWwKLUluZGV4OiBnZGItNy45LjUw LjIwMTUwNTIwL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKK0luZGV4OiBnZGItNy45LjkwLjIw MTUwNzA5L2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45 LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAkyMDE1LTA1LTMxIDE2 OjM4OjU1LjE0NTExMjM4OCArMDIwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3Rlc3Rz dWl0ZS9saWIvZ2RiLmV4cAkyMDE1LTA1LTMxIDE2OjM4OjU3LjYxNTEzMDQ2OSArMDIwMAorLS0t IGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTUt MDctMDkgMjI6MDU6MjAuOTg4MDQ0MzEyICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9n ZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTUtMDctMDkgMjI6MDU6NDIuMDcwMjIyODMyICsw MjAwCiBAQCAtMTU3Myw2ICsxNTczLDE2IEBAIHByb2MgZGVmYXVsdF9nZGJfc3RhcnQgeyB9IHsK ICAJICAgIHdhcm5pbmcgIkNvdWxkbid0IHNldCB0aGUgd2lkdGggdG8gMC4iCiAgCX0KQEAgLTI2 MCwxMCArMjYwLDEwIEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi90ZXN0c3VpdGUv bGliL2dkYi5leHAKICAgICAgcmV0dXJuIDAKICB9CiAgCi1JbmRleDogZ2RiLTcuOS41MC4yMDE1 MDUyMC9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAorSW5kZXg6IGdkYi03LjkuOTAu MjAxNTA3MDkvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5l eHAJMjAxNS0wNS0zMSAxNjozODo1NS4xNDYxMTIzOTYgKzAyMDAKLSsrKyBnZGItNy45LjUwLjIw MTUwNTIwL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwCTIwMTUtMDUtMzEgMTY6Mzg6 NTcuNjE2MTMwNDc2ICswMjAwCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi90ZXN0 c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwCTIwMTUtMDctMDkgMjI6MDU6MjAuOTg4MDQ0MzEyICsw MjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0 LmV4cAkyMDE1LTA3LTA5IDIyOjA1OjQyLjA3MDIyMjgzMiArMDIwMAogQEAgLTIxNCw2ICsyMTQs MTYgQEAgcHJvYyBkZWZhdWx0X21pX2dkYl9zdGFydCB7IGFyZ3MgfSB7CiAgCSAgICB3YXJuaW5n ICJDb3VsZG4ndCBzZXQgdGhlIHdpZHRoIHRvIDAuIgogIAl9CkBAIC0yODEsMTAgKzI4MSwxMCBA QCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0 LmV4cAogICAgICAjIElmIGFsbG93aW5nIHRoZSBpbmZlcmlvciB0byBoYXZlIGl0cyBvd24gUFRZ IHRoZW4gYXNzaWduIHRoZSBpbmZlcmlvcgogICAgICAjIGl0cyBvd24gdGVybWluYWwgZGV2aWNl IGhlcmUuCiAgICAgIGlmIHsgJHNlcGFyYXRlX2luZmVyaW9yX3B0eSB9IHsKLUluZGV4OiBnZGIt Ny45LjUwLjIwMTUwNTIwL2dkYi9vYmpmaWxlcy5oCitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcw OS9nZGIvb2JqZmlsZXMuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3Jp Zy9nZGIvb2JqZmlsZXMuaAkyMDE1LTA1LTMxIDE2OjM4OjU1LjE0NzExMjQwMyArMDIwMAotKysr IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL29iamZpbGVzLmgJMjAxNS0wNS0zMSAxNjozODo1Ny42 MTYxMzA0NzYgKzAyMDAKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL29iamZpbGVz LmgJMjAxNS0wNy0wOSAyMjowNToyMC45ODgwNDQzMTIgKzAyMDAKKysrKyBnZGItNy45LjkwLjIw MTUwNzA5L2dkYi9vYmpmaWxlcy5oCTIwMTUtMDctMDkgMjI6MDU6NDIuMDcxMjIyODQwICswMjAw CiBAQCAtNDU5LDYgKzQ1OSwxMCBAQCBzdHJ1Y3Qgb2JqZmlsZQogIAogICNkZWZpbmUgT0JKRl9O T1RfRklMRU5BTUUgKDEgPDwgNikKQEAgLTI5NiwxMCArMjk2LDEwIEBAIEluZGV4OiBnZGItNy45 LjUwLjIwMTUwNTIwL2dkYi9vYmpmaWxlcy5oCiAgLyogRGVjbGFyYXRpb25zIGZvciBmdW5jdGlv bnMgZGVmaW5lZCBpbiBvYmpmaWxlcy5jICovCiAgCiAgZXh0ZXJuIHN0cnVjdCBvYmpmaWxlICph bGxvY2F0ZV9vYmpmaWxlIChiZmQgKiwgY29uc3QgY2hhciAqbmFtZSwgaW50KTsKLUluZGV4OiBn ZGItNy45LjUwLjIwMTUwNTIwL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY29yZWZpbGUuZXhwCitJ bmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NvcmVmaWxl LmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2NvcmVmaWxlLmV4cAkyMDE1LTA1LTMxIDE2OjM4OjU1LjE0NzExMjQwMyAr MDIwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jb3Jl ZmlsZS5leHAJMjAxNS0wNS0zMSAxNjozODo1Ny42MTYxMzA0NzYgKzAyMDAKKy0tLSBnZGItNy45 LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jb3JlZmlsZS5leHAJMjAx NS0wNy0wOSAyMjowNToyMC45ODgwNDQzMTIgKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5 L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY29yZWZpbGUuZXhwCTIwMTUtMDctMDkgMjI6MDU6NDIu MDcxMjIyODQwICswMjAwCiBAQCAtMjkzLDMgKzI5MywzMyBAQCBnZGJfdGVzdF9tdWx0aXBsZSAi Y29yZS1maWxlICRjb3JlZmlsZSIKICAJcGFzcyAkdGVzdAogICAgICB9CkBAIC0zMzQsMTEgKzMz NCwxMSBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2NvcmVmaWxlLmV4cAogKyAgICBnZGJfdGVzdCAiaW5mbyBmaWxlcyIgIkxvY2FsIGV4ZWMgZmls ZTpcclxuXFsgXHRcXSpgW3N0cmluZ190b19yZWdleHAgJGRlYnVnZGlyLyRidWlsZGlkXScsIGZp bGUgdHlwZSAuKiIKICsgICAgcGFzcyAkd2hvbGV0ZXN0CiArfQotSW5kZXg6IGdkYi03LjkuNTAu MjAxNTA1MjAvZ2RiL2J1aWxkLWlkLmMKK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9i dWlsZC1pZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5vcmlnL2dkYi9i dWlsZC1pZC5jCTIwMTUtMDUtMzEgMTY6Mzg6NTUuMTQ4MTEyNDEwICswMjAwCi0rKysgZ2RiLTcu OS41MC4yMDE1MDUyMC9nZGIvYnVpbGQtaWQuYwkyMDE1LTA1LTMxIDE2OjQ1OjM1LjAyNTcyMjE0 MiArMDIwMAotQEAgLTI3LDExICsyNyw2MyBAQAorLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3Jp Zy9nZGIvYnVpbGQtaWQuYwkyMDE1LTA3LTA5IDIyOjA1OjIwLjk4ODA0NDMxMiArMDIwMAorKysr IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2J1aWxkLWlkLmMJMjAxNS0wNy0wOSAyMjoxOTozNS4w MjI5NTcwMDkgKzAyMDAKK0BAIC0yNiwxMSArMjYsNjcgQEAKICAjaW5jbHVkZSAib2JqZmlsZXMu aCIKICAjaW5jbHVkZSAiZmlsZW5hbWVzLmgiCiAgI2luY2x1ZGUgImdkYmNvcmUuaCIKQEAgLTM0 Niw2ICszNDYsMTAgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2J1aWxkLWlkLmMK ICsjaW5jbHVkZSAiZ2RiY29yZS5oIgogKyNpbmNsdWRlICJnZGJjbWQuaCIKICsjaW5jbHVkZSAi b2JzZXJ2ZXIuaCIKKysjaW5jbHVkZSAiZWxmL2V4dGVybmFsLmgiCisrI2luY2x1ZGUgImVsZi9p bnRlcm5hbC5oIgorKyNpbmNsdWRlICJlbGYvY29tbW9uLmgiCisrI2luY2x1ZGUgImVsZi1iZmQu aCIKICsjaW5jbHVkZSA8c3lzL3N0YXQuaD4KICsKICsjZGVmaW5lIEJVSUxEX0lEX1ZFUkJPU0Vf Tk9ORSAwCkBAIC0zNjIsNyArMzY2LDcgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2Ri L2J1aWxkLWlkLmMKICsvKiBMb2NhdGUgTlRfR05VX0JVSUxEX0lEIGFuZCByZXR1cm4gaXRzIG1h dGNoaW5nIGRlYnVnIGZpbGVuYW1lLgogKyAgIEZJWE1FOiBOT1RFIGRlY29kaW5nIHNob3VsZCBi ZSB1bmlmaWVkIHdpdGggdGhlIEJGRCBjb3JlIG5vdGVzIGRlY29kaW5nLiAgKi8KICsKLStzdGF0 aWMgc3RydWN0IGVsZl9idWlsZF9pZCAqCisrc3RhdGljIHN0cnVjdCBiZmRfYnVpbGRfaWQgKgog K2J1aWxkX2lkX2J1Zl9nZXQgKGJmZCAqdGVtcGwsIGdkYl9ieXRlICpidWYsIGJmZF9zaXplX3R5 cGUgc2l6ZSkKICt7CiArICBiZmRfYnl0ZSAqcDsKQEAgLTM4Miw3ICszODYsNyBAQCBJbmRleDog Z2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvYnVpbGQtaWQuYwogKwl7CiArCSAgc2l6ZV90IHNpemUg PSBkZXNjc3o7CiArCSAgZ2RiX2J5dGUgKmRhdGEgPSAodm9pZCAqKSBkZXNjZGF0YTsKLSsJICBz dHJ1Y3QgZWxmX2J1aWxkX2lkICpyZXR2YWw7CisrCSAgc3RydWN0IGJmZF9idWlsZF9pZCAqcmV0 dmFsOwogKwogKwkgIHJldHZhbCA9IHhtYWxsb2MgKHNpemVvZiAqcmV0dmFsIC0gMSArIHNpemUp OwogKwkgIHJldHZhbC0+c2l6ZSA9IHNpemU7CkBAIC0zOTcsMjYgKzQwMSwyNiBAQCBJbmRleDog Z2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvYnVpbGQtaWQuYwogIAogIC8qIFNlZSBidWlsZC1pZC5o LiAgKi8KICAKLSBjb25zdCBzdHJ1Y3QgZWxmX2J1aWxkX2lkICoKKyBjb25zdCBzdHJ1Y3QgYmZk X2J1aWxkX2lkICoKIC1idWlsZF9pZF9iZmRfZ2V0IChiZmQgKmFiZmQpCiArYnVpbGRfaWRfYmZk X3NoZHJfZ2V0IChiZmQgKmFiZmQpCiAgewotICAgaWYgKCFiZmRfY2hlY2tfZm9ybWF0IChhYmZk LCBiZmRfb2JqZWN0KQotICAgICAgIHx8IGJmZF9nZXRfZmxhdm91ciAoYWJmZCkgIT0gYmZkX3Rh cmdldF9lbGZfZmxhdm91cgotQEAgLTQ1LDYgKzk3LDM0OCBAQCBidWlsZF9pZF9iZmRfZ2V0IChi ZmQgKmFiZmQpCi0gICByZXR1cm4gZWxmX3RkYXRhIChhYmZkKS0+YnVpbGRfaWQ7CisgICBpZiAo IWJmZF9jaGVja19mb3JtYXQgKGFiZmQsIGJmZF9vYmplY3QpKQorICAgICByZXR1cm4gTlVMTDsK K0BAIC00Miw2ICs5OCwzNDggQEAgYnVpbGRfaWRfYmZkX2dldCAoYmZkICphYmZkKQorICAgcmV0 dXJuIE5VTEw7CiAgfQogIAogKy8qIENvcmUgZmlsZXMgbWF5IGhhdmUgbWlzc2luZyAoY29ycnVw dCkgU0hEUiBidXQgUERIUiBpcyBjb3JyZWN0IHRoZXJlLgogKyAgIGJmZF9lbGZfYmZkX2Zyb21f cmVtb3RlX21lbW9yeSAoKSBoYXMgdG9vIG11Y2ggb3ZlcmhlYWQgYnkKICsgICBhbGxvY2F0aW5n L3JlYWRpbmcgYWxsIHRoZSBhdmFpbGFibGUgRUxGIFBUX0xPQURzLiAgKi8KICsKLStzdGF0aWMg c3RydWN0IGVsZl9idWlsZF9pZCAqCisrc3RhdGljIHN0cnVjdCBiZmRfYnVpbGRfaWQgKgogK2J1 aWxkX2lkX3BoZHJfZ2V0IChiZmQgKnRlbXBsLCBiZmRfdm1hIGxvYWRiYXNlLCB1bnNpZ25lZCBl X3BobnVtLAogKwkJICAgRWxmX0ludGVybmFsX1BoZHIgKmlfcGhkcikKICt7CiArICBpbnQgaTsK LSsgIHN0cnVjdCBlbGZfYnVpbGRfaWQgKnJldHZhbCA9IE5VTEw7CisrICBzdHJ1Y3QgYmZkX2J1 aWxkX2lkICpyZXR2YWwgPSBOVUxMOwogKwogKyAgZm9yIChpID0gMDsgaSA8IGVfcGhudW07IGkr KykKICsgICAgaWYgKGlfcGhkcltpXS5wX3R5cGUgPT0gUFRfTk9URSAmJiBpX3BoZHJbaV0ucF9m aWxlc3ogPiAwKQpAQCAtNzAzLDExICs3MDcsMTEgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1 MjAvZ2RiL2J1aWxkLWlkLmMKICsgICAgfQogK30KICsKLStzdHJ1Y3QgZWxmX2J1aWxkX2lkICoK KytzdHJ1Y3QgYmZkX2J1aWxkX2lkICoKICtidWlsZF9pZF9hZGRyX2dldCAoQ09SRV9BRERSIGFk ZHIpCiArewogKyAgc3RydWN0IGJ1aWxkX2lkX2FkZHJfc2VjdCAqY2FuZGlkYXRlOwotKyAgc3Ry dWN0IGVsZl9idWlsZF9pZCAqcmV0dmFsID0gTlVMTDsKKysgIHN0cnVjdCBiZmRfYnVpbGRfaWQg KnJldHZhbCA9IE5VTEw7CiArICBFbGZfSW50ZXJuYWxfUGhkciAqaV9waGRyID0gTlVMTDsKICsg IGJmZF92bWEgbG9hZGJhc2UgPSAwOwogKyAgdW5zaWduZWQgZV9waG51bSA9IDA7CkBAIC03NTIs OCArNzU2LDggQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2J1aWxkLWlkLmMKICAv KiBTZWUgYnVpbGQtaWQuaC4gICovCiAgCiAgaW50Ci1AQCAtNTMsNyArNDQ3LDcgQEAgYnVpbGRf aWRfdmVyaWZ5IChiZmQgKmFiZmQsIHNpemVfdCBjaGVjawotICAgY29uc3Qgc3RydWN0IGVsZl9i dWlsZF9pZCAqZm91bmQ7CitAQCAtNTAsNyArNDQ4LDcgQEAgYnVpbGRfaWRfdmVyaWZ5IChiZmQg KmFiZmQsIHNpemVfdCBjaGVjaworICAgY29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqZm91bmQ7 CiAgICBpbnQgcmV0dmFsID0gMDsKICAKIC0gIGZvdW5kID0gYnVpbGRfaWRfYmZkX2dldCAoYWJm ZCk7CkBAIC03NjEsNyArNzY1LDcgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2J1 aWxkLWlkLmMKICAKICAgIGlmIChmb3VuZCA9PSBOVUxMKQogICAgICB3YXJuaW5nIChfKCJGaWxl IFwiJXNcIiBoYXMgbm8gYnVpbGQtaWQsIGZpbGUgc2tpcHBlZCIpLAotQEAgLTY4LDIwICs0NjIs NTYgQEAgYnVpbGRfaWRfdmVyaWZ5IChiZmQgKmFiZmQsIHNpemVfdCBjaGVjaworQEAgLTY1LDIw ICs0NjMsNTYgQEAgYnVpbGRfaWRfdmVyaWZ5IChiZmQgKmFiZmQsIHNpemVfdCBjaGVjawogICAg cmV0dXJuIHJldHZhbDsKICB9CiAgCkBAIC04MjIsMTIgKzgyNiwxMyBAQCBJbmRleDogZ2RiLTcu OS41MC4yMDE1MDUyMC9nZGIvYnVpbGQtaWQuYwogIAogICAgLyogS2VlcCBiYWNrd2FyZCBjb21w YXRpYmlsaXR5IHNvIHRoYXQgREVCVUdfRklMRV9ESVJFQ1RPUlkgYmVpbmcgIiIgd2lsbAogICAg ICAgY2F1c2UgIi8uYnVpbGQtaWQvLi4uIiBsb29rdXBzLiAgKi8KLUBAIC05NCw4ICs1MjQsMTEg QEAgYnVpbGRfaWRfdG9fZGVidWdfYmZkIChzaXplX3QgYnVpbGRfaWRfbAorQEAgLTkxLDkgKzUy NSwxMiBAQCBidWlsZF9pZF90b19kZWJ1Z19iZmQgKHNpemVfdCBidWlsZF9pZF9sCiAgICAgICAg c2l6ZV90IGRlYnVnZGlyX2xlbiA9IHN0cmxlbiAoZGVidWdkaXIpOwogICAgICAgIGNvbnN0IGdk Yl9ieXRlICpkYXRhID0gYnVpbGRfaWQ7CiAgICAgICAgc2l6ZV90IHNpemUgPSBidWlsZF9pZF9s ZW47CiAtICAgICAgY2hhciAqczsKICAgICAgICBjaGFyICpmaWxlbmFtZSA9IE5VTEw7CisgICAg ICAgc3RydWN0IGNsZWFudXAgKmlubmVyOwogKyAgICAgIHVuc2lnbmVkIHNlcW5vOwogKyAgICAg IHN0cnVjdCBzdGF0IHN0YXRidWZfdHJhc2g7CiArICAgICAgLyogSW5pdGlhbGl6ZSBpdCBqdXN0 IHRvIGF2b2lkIGEgR0NDIGZhbHNlIHdhcm5pbmcuICAqLwpAQCAtODM1LDcgKzg0MCw3IEBAIElu ZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9idWlsZC1pZC5jCiAgCiAgICAgICAgbWVtY3B5 IChsaW5rLCBkZWJ1Z2RpciwgZGVidWdkaXJfbGVuKTsKICAgICAgICBzID0gJmxpbmtbZGVidWdk aXJfbGVuXTsKLUBAIC0xMDksNDQgKzU0MiwyODIgQEAgYnVpbGRfaWRfdG9fZGVidWdfYmZkIChz aXplX3QgYnVpbGRfaWRfbAorQEAgLTEwNyw0NyArNTQ0LDI4MSBAQCBidWlsZF9pZF90b19kZWJ1 Z19iZmQgKHNpemVfdCBidWlsZF9pZF9sCiAgCSpzKysgPSAnLyc7CiAgICAgICAgd2hpbGUgKHNp emUtLSA+IDApCiAgCXMgKz0gc3ByaW50ZiAocywgIiUwMngiLCAodW5zaWduZWQpICpkYXRhKysp OwpAQCAtODgyLDIwICs4ODcsMjIgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2J1 aWxkLWlkLmMKICsJICAgIGNvbnRpbnVlOwogKwogKwkgIC8qIFdlIGV4cGVjdCB0byBiZSBzaWxl bnQgb24gdGhlIG5vbi1leGlzdGluZyBmaWxlcy4gICovCisrCSAgaW5uZXIgPSBtYWtlX2NsZWFu dXAgKHhmcmVlLCBmaWxlbmFtZSk7CiArCSAgYWJmZCA9IGdkYl9iZmRfb3BlbiAoZmlsZW5hbWUs IGdudXRhcmdldCwgLTEpOwotKwkgIGlmIChhYmZkID09IE5VTEwpCi0rCSAgICB7Ci0rCSAgICAg IHhmcmVlIChmaWxlbmFtZSk7Ci0rCSAgICAgIGNvbnRpbnVlOwotKwkgICAgfQorKwkgIGRvX2Ns ZWFudXBzIChpbm5lcik7CiAgCiAtICAgICAgaWYgKGZpbGVuYW1lID09IE5VTEwpCiAtCWNvbnRp bnVlOwotKwkgIGlmIChidWlsZF9pZF92ZXJpZnkgKGFiZmQsIGJ1aWxkX2lkX2xlbiwgYnVpbGRf aWQpKQotKwkgICAgYnJlYWs7CisrCSAgaWYgKGFiZmQgPT0gTlVMTCkKKysJICAgIGNvbnRpbnVl OwogIAogLSAgICAgIC8qIFdlIGV4cGVjdCB0byBiZSBzaWxlbnQgb24gdGhlIG5vbi1leGlzdGlu ZyBmaWxlcy4gICovCistICAgICAgaW5uZXIgPSBtYWtlX2NsZWFudXAgKHhmcmVlLCBmaWxlbmFt ZSk7CiAtICAgICAgYWJmZCA9IGdkYl9iZmRfb3BlbiAoZmlsZW5hbWUsIGdudXRhcmdldCwgLTEp OworLSAgICAgIGRvX2NsZWFudXBzIChpbm5lcik7CisrCSAgaWYgKGJ1aWxkX2lkX3ZlcmlmeSAo YWJmZCwgYnVpbGRfaWRfbGVuLCBidWlsZF9pZCkpCisrCSAgICBicmVhazsKKyAKIC0gICAgICBp ZiAoYWJmZCA9PSBOVUxMKQogLQljb250aW51ZTsKICsJICBnZGJfYmZkX3VucmVmIChhYmZkKTsK QEAgLTkwMyw3ICs5MTAsNiBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvYnVpbGQt aWQuYwogIAogLSAgICAgIGlmIChidWlsZF9pZF92ZXJpZnkgKGFiZmQsIGJ1aWxkX2lkX2xlbiwg YnVpbGRfaWQpKQogLQlicmVhazsKLSsJICB4ZnJlZSAoZmlsZW5hbWUpOwogKwkgIGZpbGVuYW1l ID0gTlVMTDsKICsJfQogIApAQCAtOTYxLDcgKzk2Nyw3IEBAIEluZGV4OiBnZGItNy45LjUwLjIw MTUwNTIwL2dkYi9idWlsZC1pZC5jCiAgfQogIAogK2NoYXIgKgotK2J1aWxkX2lkX3RvX2ZpbGVu YW1lIChjb25zdCBzdHJ1Y3QgZWxmX2J1aWxkX2lkICpidWlsZF9pZCwgY2hhciAqKmxpbmtfcmV0 dXJuKQorK2J1aWxkX2lkX3RvX2ZpbGVuYW1lIChjb25zdCBzdHJ1Y3QgYmZkX2J1aWxkX2lkICpi dWlsZF9pZCwgY2hhciAqKmxpbmtfcmV0dXJuKQogK3sKICsgIGJmZCAqYWJmZDsKICsgIGNoYXIg KnJlc3VsdDsKQEAgLTExMTgsNyArMTEyNCw3IEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIw L2dkYi9idWlsZC1pZC5jCiArZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKHN0 cnVjdCBvYmpmaWxlICpvYmpmaWxlLAogKwkJCQkgICAgIGNoYXIgKipidWlsZF9pZF9maWxlbmFt ZV9yZXR1cm4pCiAgewotICAgY29uc3Qgc3RydWN0IGVsZl9idWlsZF9pZCAqYnVpbGRfaWQ7Cisg ICBjb25zdCBzdHJ1Y3QgYmZkX2J1aWxkX2lkICpidWlsZF9pZDsKICAKIC0gIGJ1aWxkX2lkID0g YnVpbGRfaWRfYmZkX2dldCAob2JqZmlsZS0+b2JmZCk7CiArICBpZiAoYnVpbGRfaWRfZmlsZW5h bWVfcmV0dXJuKQpAQCAtMTEzNSw3ICsxMTQxLDcgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1 MjAvZ2RiL2J1aWxkLWlkLmMKICAgICAgICAvKiBQcmV2ZW50IGxvb3Bpbmcgb24gYSBzdHJpcHBl ZCAuZGVidWcgZmlsZS4gICovCiAgICAgICAgaWYgKGFiZmQgIT0gTlVMTAogIAkgICYmIGZpbGVu YW1lX2NtcCAoYmZkX2dldF9maWxlbmFtZSAoYWJmZCksCi1AQCAtMTY2LDMgKzgzNywyMSBAQCBm aW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAoc3RyCitAQCAtMTY3LDMgKzgzOCwy MSBAQCBmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAoc3RyCiAgICAgIH0KICAg IHJldHVybiBOVUxMOwogIH0KQEAgLTExNTcsMTAgKzExNjMsMTAgQEAgSW5kZXg6IGdkYi03Ljku NTAuMjAxNTA1MjAvZ2RiL2J1aWxkLWlkLmMKICsKICsgIG9ic2VydmVyX2F0dGFjaF9leGVjdXRh YmxlX2NoYW5nZWQgKGRlYnVnX3ByaW50X2V4ZWN1dGFibGVfY2hhbmdlZCk7CiArfQotSW5kZXg6 IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2J1aWxkLWlkLmgKK0luZGV4OiBnZGItNy45LjkwLjIw MTUwNzA5L2dkYi9idWlsZC1pZC5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUy MC5vcmlnL2dkYi9idWlsZC1pZC5oCTIwMTUtMDUtMzEgMTY6Mzg6NTUuMTQ5MTEyNDE4ICswMjAw Ci0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvYnVpbGQtaWQuaAkyMDE1LTA1LTMxIDE2OjM4 OjU3LjYxODEzMDQ5MSArMDIwMAorLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIvYnVp bGQtaWQuaAkyMDE1LTA3LTA5IDIyOjA1OjIwLjk4ODA0NDMxMiArMDIwMAorKysrIGdkYi03Ljku OTAuMjAxNTA3MDkvZ2RiL2J1aWxkLWlkLmgJMjAxNS0wNy0wOSAyMjowNTo0Mi4wNzIyMjI4NDkg KzAyMDAKIEBAIC0yMCw5ICsyMCwxMCBAQAogICNpZm5kZWYgQlVJTERfSURfSAogICNkZWZpbmUg QlVJTERfSURfSApAQCAtMTE2OSw4ICsxMTc1LDggQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1 MjAvZ2RiL2J1aWxkLWlkLmgKICsvKiBTZXBhcmF0ZSBkZWJ1Z2luZm8gZmlsZXMgaGF2ZSBjb3Jy dXB0ZWQgUEhEUiBidXQgU0hEUiBpcyBjb3JyZWN0IHRoZXJlLgogKyAgIExvY2F0ZSBOVF9HTlVf QlVJTERfSUQgZnJvbSBBQkZEIGFuZCByZXR1cm4gaXRzIGNvbnRlbnQuICAqLwogIAotLWV4dGVy biBjb25zdCBzdHJ1Y3QgZWxmX2J1aWxkX2lkICpidWlsZF9pZF9iZmRfZ2V0IChiZmQgKmFiZmQp OwotK2V4dGVybiBjb25zdCBzdHJ1Y3QgZWxmX2J1aWxkX2lkICpidWlsZF9pZF9iZmRfc2hkcl9n ZXQgKGJmZCAqYWJmZCk7CistZXh0ZXJuIGNvbnN0IHN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxk X2lkX2JmZF9nZXQgKGJmZCAqYWJmZCk7CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBiZmRfYnVpbGRf aWQgKmJ1aWxkX2lkX2JmZF9zaGRyX2dldCAoYmZkICphYmZkKTsKICAKICAvKiBSZXR1cm4gdHJ1 ZSBpZiBBQkZEIGhhcyBOVF9HTlVfQlVJTERfSUQgbWF0Y2hpbmcgdGhlIENIRUNLIHZhbHVlLgog ICAgIE90aGVyd2lzZSwgaXNzdWUgYSB3YXJuaW5nIGFuZCByZXR1cm4gZmFsc2UuICAqLwpAQCAt MTE4Miw3ICsxMTg4LDcgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2J1aWxkLWlk LmgKICsJCQkJICAgY29uc3QgYmZkX2J5dGUgKmJ1aWxkX2lkLCBjaGFyICoqbGlua19yZXR1cm4s CiArCQkJCSAgIGludCBhZGRfZGVidWdfc3VmZml4KTsKICsKLStleHRlcm4gY2hhciAqYnVpbGRf aWRfdG9fZmlsZW5hbWUgKGNvbnN0IHN0cnVjdCBlbGZfYnVpbGRfaWQgKmJ1aWxkX2lkLAorK2V4 dGVybiBjaGFyICpidWlsZF9pZF90b19maWxlbmFtZSAoY29uc3Qgc3RydWN0IGJmZF9idWlsZF9p ZCAqYnVpbGRfaWQsCiArCQkJCSAgIGNoYXIgKipsaW5rX3JldHVybik7CiAgCiAgLyogRmluZCB0 aGUgc2VwYXJhdGUgZGVidWcgZmlsZSBmb3IgT0JKRklMRSwgYnkgdXNpbmcgdGhlIGJ1aWxkLWlk CkBAIC0xMTk1LDExICsxMjAxLDExIEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9i dWlsZC1pZC5oCiArCQkJCQkgICAgICAgY2hhciAqKmJ1aWxkX2lkX2ZpbGVuYW1lX3JldHVybik7 CiAgCiAgI2VuZGlmIC8qIEJVSUxEX0lEX0ggKi8KLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIw L2dkYi9kd2FyZjJyZWFkLmMKK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9kd2FyZjJy ZWFkLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL2R3YXJm MnJlYWQuYwkyMDE1LTA1LTMxIDE2OjM4OjU1LjE1NjExMjQ2OSArMDIwMAotKysrIGdkYi03Ljku NTAuMjAxNTA1MjAvZ2RiL2R3YXJmMnJlYWQuYwkyMDE1LTA1LTMxIDE2OjM4OjU3LjYyMzEzMDUy OCArMDIwMAotQEAgLTI1MDQsNyArMjUwNCw3IEBAIGR3YXJmMl9nZXRfZHd6X2ZpbGUgKHZvaWQp CistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAxNS0wNy0w OSAyMjowNToyMC45ODgwNDQzMTIgKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9k d2FyZjJyZWFkLmMJMjAxNS0wNy0wOSAyMjowNTo0Mi4wNzcyMjI4OTEgKzAyMDAKK0BAIC0yNTA3 LDcgKzI1MDcsNyBAQCBkd2FyZjJfZ2V0X2R3el9maWxlICh2b2lkKQogICAgICB9CiAgCiAgICBp ZiAoZHd6X2JmZCA9PSBOVUxMKQpAQCAtMTIwOCwxMSArMTIxNCwxMSBAQCBJbmRleDogZ2RiLTcu OS41MC4yMDE1MDUyMC9nZGIvZHdhcmYycmVhZC5jCiAgCiAgICBpZiAoZHd6X2JmZCA9PSBOVUxM KQogICAgICBlcnJvciAoXygiY291bGQgbm90IGZpbmQgJy5nbnVfZGVidWdhbHRsaW5rJyBmaWxl IGZvciAlcyIpLAotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3B5dGhvbi9weS1vYmpm aWxlLmMKK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9weXRob24vcHktb2JqZmlsZS5j CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5vcmlnL2dkYi9weXRob24vcHkt b2JqZmlsZS5jCTIwMTUtMDUtMzEgMTY6Mzg6NTUuMTU3MTEyNDc2ICswMjAwCi0rKysgZ2RiLTcu OS41MC4yMDE1MDUyMC9nZGIvcHl0aG9uL3B5LW9iamZpbGUuYwkyMDE1LTA1LTMxIDE2OjM4OjU3 LjYyMzEzMDUyOCArMDIwMAotQEAgLTE0MCw3ICsxNDAsNyBAQCBvYmpmcHlfZ2V0X2J1aWxkX2lk IChQeU9iamVjdCAqc2VsZiwgdm9pCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9w eXRob24vcHktb2JqZmlsZS5jCTIwMTUtMDctMDkgMjI6MDU6MjAuOTg4MDQ0MzEyICswMjAwCisr KysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvcHl0aG9uL3B5LW9iamZpbGUuYwkyMDE1LTA3LTA5 IDIyOjA1OjQyLjA3NzIyMjg5MSArMDIwMAorQEAgLTEzOSw3ICsxMzksNyBAQCBvYmpmcHlfZ2V0 X2J1aWxkX2lkIChQeU9iamVjdCAqc2VsZiwgdm9pCiAgCiAgICBUUlkKICAgICAgewpAQCAtMTIy MSw3ICsxMjI3LDcgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3B5dGhvbi9weS1v YmpmaWxlLmMKICAgICAgfQogICAgQ0FUQ0ggKGV4Y2VwdCwgUkVUVVJOX01BU0tfQUxMKQogICAg ICB7Ci1AQCAtNTQ5LDcgKzU0OSw3IEBAIG9iamZweV9sb29rdXBfb2JqZmlsZV9ieV9idWlsZF9p ZCAoY29uc3QKK0BAIC01NDgsNyArNTQ4LDcgQEAgb2JqZnB5X2xvb2t1cF9vYmpmaWxlX2J5X2J1 aWxkX2lkIChjb25zdAogICAgICAgIC8qIERvbid0IHJldHVybiBzZXBhcmF0ZSBkZWJ1ZyBmaWxl cy4gICovCiAgICAgICAgaWYgKG9iamZpbGUtPnNlcGFyYXRlX2RlYnVnX29iamZpbGVfYmFja2xp bmsgIT0gTlVMTCkKICAJY29udGludWU7CkBAIC0xMjMwLDMgKzEyMzYsMTYgQEAgSW5kZXg6IGdk Yi03LjkuNTAuMjAxNTA1MjAvZ2RiL3B5dGhvbi9weS1vYmpmaWxlLmMKICAgICAgICBpZiAob2Jm ZF9idWlsZF9pZCA9PSBOVUxMKQogIAljb250aW51ZTsKICAgICAgICBpZiAob2JqZnB5X2J1aWxk X2lkX21hdGNoZXMgKG9iZmRfYnVpbGRfaWQsIGJ1aWxkX2lkKSkKK0luZGV4OiBnZGItNy45Ljkw LjIwMTUwNzA5L2dkYi9jb2ZmcmVhZC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuOS45MC4yMDE1 MDcwOS5vcmlnL2dkYi9jb2ZmcmVhZC5jCTIwMTUtMDctMDkgMjI6MDU6MjAuOTg4MDQ0MzEyICsw MjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvY29mZnJlYWQuYwkyMDE1LTA3LTA5IDIy OjA1OjQyLjA3ODIyMjg5OSArMDIwMAorQEAgLTczOSw3ICs3MzksNyBAQCBjb2ZmX3N5bWZpbGVf cmVhZCAoc3RydWN0IG9iamZpbGUgKm9iamZpCisgICAgIHsKKyAgICAgICBjaGFyICpkZWJ1Z2Zp bGU7CisgCistICAgICAgZGVidWdmaWxlID0gZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1 aWxkaWQgKG9iamZpbGUpOworKyAgICAgIGRlYnVnZmlsZSA9IGZpbmRfc2VwYXJhdGVfZGVidWdf ZmlsZV9ieV9idWlsZGlkIChvYmpmaWxlLCBOVUxMKTsKKyAKKyAgICAgICBpZiAoZGVidWdmaWxl ID09IE5VTEwpCisgCWRlYnVnZmlsZSA9IGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9kZWJ1 Z2xpbmsgKG9iamZpbGUpOwoKZGlmZiAtLWdpdCBhL2dkYi03LjIuNTAtc3BhcmMtYWRkLXdvcmth cm91bmQtdG8tYnJva2VuLWRlYnVnLWZpbGVzLnBhdGNoIGIvZ2RiLTcuMi41MC1zcGFyYy1hZGQt d29ya2Fyb3VuZC10by1icm9rZW4tZGVidWctZmlsZXMucGF0Y2gKaW5kZXggM2UxNGE1Ny4uNTNl ZDJjYiAxMDA2NDQKLS0tIGEvZ2RiLTcuMi41MC1zcGFyYy1hZGQtd29ya2Fyb3VuZC10by1icm9r ZW4tZGVidWctZmlsZXMucGF0Y2gKKysrIGIvZ2RiLTcuMi41MC1zcGFyYy1hZGQtd29ya2Fyb3Vu ZC10by1icm9rZW4tZGVidWctZmlsZXMucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1JbmRleDogZ2Ri LTcuOS41MC4yMDE1MDUyMC9nZGIvZ2RiX2JmZC5jCitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcw OS9nZGIvZ2RiX2JmZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5vcmln L2dkYi9nZGJfYmZkLmMJMjAxNS0wNS0zMSAxNzowMjo1Ny43NDIzMDMwODYgKzAyMDAKLSsrKyBn ZGItNy45LjUwLjIwMTUwNTIwL2dkYi9nZGJfYmZkLmMJMjAxNS0wNS0zMSAxNzowMzoyMC4xNDU0 NDQ0ODAgKzAyMDAKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL2dkYl9iZmQuYwky MDE1LTA3LTA5IDE4OjIzOjU5LjM0NDAxNzg4MiArMDIwMAorKysrIGdkYi03LjkuOTAuMjAxNTA3 MDkvZ2RiL2dkYl9iZmQuYwkyMDE1LTA3LTA5IDE4OjI0OjA2Ljk4NjA4MzA3MSArMDIwMAogQEAg LTI0LDEyICsyNCwxNCBAQAogICNpbmNsdWRlICJoYXNodGFiLmgiCiAgI2luY2x1ZGUgImZpbGVz dHVmZi5oIgpAQCAtMTYsOCArMTYsOCBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIv Z2RiX2JmZC5jCiArI2VuZGlmCiAgI2luY2x1ZGUgInRhcmdldC5oIgogICNpbmNsdWRlICJnZGIv ZmlsZWlvLmgiCi0gCi1AQCAtNDA4LDYgKzQxMCw3IEBAIGZyZWVfb25lX2JmZF9zZWN0aW9uIChi ZmQgKmFiZmQsIGFzZWN0aW8KKyAjaW5jbHVkZSAiaW5mZXJpb3IuaCIKK0BAIC0zOTcsNiArMzk5 LDcgQEAgZnJlZV9vbmVfYmZkX3NlY3Rpb24gKGJmZCAqYWJmZCwgYXNlY3RpbwogIAogICAgaWYg KHNlY3QgIT0gTlVMTCAmJiBzZWN0LT5kYXRhICE9IE5VTEwpCiAgICAgIHsKQEAgLTI1LDcgKzI1 LDcgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2dkYl9iZmQuYwogICNpZmRlZiBI QVZFX01NQVAKICAgICAgICBpZiAoc2VjdC0+bWFwX2FkZHIgIT0gTlVMTCkKICAJewotQEAgLTQx OCw2ICs0MjEsNyBAQCBmcmVlX29uZV9iZmRfc2VjdGlvbiAoYmZkICphYmZkLCBhc2VjdGlvCitA QCAtNDA3LDYgKzQxMCw3IEBAIGZyZWVfb25lX2JmZF9zZWN0aW9uIChiZmQgKmFiZmQsIGFzZWN0 aW8KICAJfQogICAgICAgIGVsc2UKICAjZW5kaWYKQEAgLTMzLDcgKzMzLDcgQEAgSW5kZXg6IGdk Yi03LjkuNTAuMjAxNTA1MjAvZ2RiL2dkYl9iZmQuYwogIAl4ZnJlZSAoc2VjdC0+ZGF0YSk7CiAg ICAgIH0KICB9Ci1AQCAtNTY5LDYgKzU3Myw3IEBAIGdkYl9iZmRfbWFwX3NlY3Rpb24gKGFzZWN0 aW9uICpzZWN0cCwgYmYKK0BAIC01NTgsNiArNTYyLDcgQEAgZ2RiX2JmZF9tYXBfc2VjdGlvbiAo YXNlY3Rpb24gKnNlY3RwLCBiZgogICAgaWYgKGRlc2NyaXB0b3ItPmRhdGEgIT0gTlVMTCkKICAg ICAgZ290byBkb25lOwogIApAQCAtNDEsNyArNDEsNyBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1 MDUyMC9nZGIvZ2RiX2JmZC5jCiAgI2lmZGVmIEhBVkVfTU1BUAogICAgaWYgKCFiZmRfaXNfc2Vj dGlvbl9jb21wcmVzc2VkIChhYmZkLCBzZWN0cCkpCiAgICAgIHsKLUBAIC02MDMsNiArNjA4LDcg QEAgZ2RiX2JmZF9tYXBfc2VjdGlvbiAoYXNlY3Rpb24gKnNlY3RwLCBiZgorQEAgLTU5Miw2ICs1 OTcsNyBAQCBnZGJfYmZkX21hcF9zZWN0aW9uIChhc2VjdGlvbiAqc2VjdHAsIGJmCiAgCX0KICAg ICAgfQogICNlbmRpZiAvKiBIQVZFX01NQVAgKi8KCmRpZmYgLS1naXQgYS9nZGItYXR0YWNoLWZh aWwtcmVhc29ucy01b2Y1LnBhdGNoIGIvZ2RiLWF0dGFjaC1mYWlsLXJlYXNvbnMtNW9mNS5wYXRj aAppbmRleCBiY2Q0YTMzLi44MzAwNWI0IDEwMDY0NAotLS0gYS9nZGItYXR0YWNoLWZhaWwtcmVh c29ucy01b2Y1LnBhdGNoCisrKyBiL2dkYi1hdHRhY2gtZmFpbC1yZWFzb25zLTVvZjUucGF0Y2gK QEAgLTM3LDEzICszNywxMyBAQCBnZGIvZ2Ric2VydmVyLwogCShsaW51eF9jcmVhdGVfaW5mZXJp b3IsIGxpbnV4X3RyYWNlZm9ya19jaGlsZCk6IENhbGwgaXQgaW5zdGVhZCBvZgogCWRpcmVjdCBw dHJhY2UuCiAKLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9uYXQvbGludXgtcHRyYWNl LmMKK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9uYXQvbGludXgtcHRyYWNlLmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL25hdC9saW51eC1wdHJh Y2UuYwkyMDE1LTA1LTMxIDE4OjE2OjU0LjM0ODg5MDc0NiArMDIwMAotKysrIGdkYi03LjkuNTAu MjAxNTA1MjAvZ2RiL25hdC9saW51eC1wdHJhY2UuYwkyMDE1LTA1LTMxIDE4OjE3OjE5LjU4NDA0 NjU0MCArMDIwMAotQEAgLTI1LDYgKzI1LDEwIEBACi0gCi0gI2luY2x1ZGUgPHN0ZGludC5oPgor LS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIvbmF0L2xpbnV4LXB0cmFjZS5jCTIwMTUt MDctMDkgMTg6MjQ6MTMuNzA1MTQwMzg0ICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9n ZGIvbmF0L2xpbnV4LXB0cmFjZS5jCTIwMTUtMDctMDkgMTg6MjQ6MjQuOTExMjM1OTczICswMjAw CitAQCAtMjMsNiArMjMsMTAgQEAKKyAjaW5jbHVkZSAiYnVmZmVyLmgiCisgI2luY2x1ZGUgImdk Yl93YWl0LmgiCiAgCiArI2lmZGVmIEhBVkVfU0VMSU5VWF9TRUxJTlVYX0gKICsjIGluY2x1ZGUg PHNlbGludXgvc2VsaW51eC5oPgpAQCAtNTIsNyArNTIsNyBAQCBJbmRleDogZ2RiLTcuOS41MC4y MDE1MDUyMC9nZGIvbmF0L2xpbnV4LXB0cmFjZS5jCiAgLyogU3RvcmVzIHRoZSBwdHJhY2Ugb3B0 aW9ucyBzdXBwb3J0ZWQgYnkgdGhlIHJ1bm5pbmcga2VybmVsLgogICAgIEEgdmFsdWUgb2YgLTEg bWVhbnMgd2UgZGlkIG5vdCBjaGVjayBmb3IgZmVhdHVyZXMgeWV0LiAgQSB2YWx1ZQogICAgIG9m IDAgbWVhbnMgdGhlcmUgYXJlIG5vIHN1cHBvcnRlZCBmZWF0dXJlcy4gICovCi1AQCAtNDksNiAr NTMsOCBAQCBsaW51eF9wdHJhY2VfYXR0YWNoX2ZhaWxfcmVhc29uIChwaWRfdCBwCitAQCAtNDcs NiArNTEsOCBAQCBsaW51eF9wdHJhY2VfYXR0YWNoX2ZhaWxfcmVhc29uIChwaWRfdCBwCiAgICAg IGJ1ZmZlcl94bWxfcHJpbnRmIChidWZmZXIsIF8oInByb2Nlc3MgJWQgaXMgYSB6b21iaWUgIgog IAkJCQkgIi0gdGhlIHByb2Nlc3MgaGFzIGFscmVhZHkgdGVybWluYXRlZCIpLAogIAkJICAgICAg IChpbnQpIHBpZCk7CkBAIC02MSw3ICs2MSw3IEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIw L2dkYi9uYXQvbGludXgtcHRyYWNlLmMKICB9CiAgCiAgLyogU2VlIGxpbnV4LXB0cmFjZS5oLiAg Ki8KLUBAIC01ODMsNiArNTg5LDIyIEBAIGxpbnV4X3B0cmFjZV9pbml0X3dhcm5pbmdzICh2b2lk KQorQEAgLTU4MSw2ICs1ODcsMjIgQEAgbGludXhfcHRyYWNlX2luaXRfd2FybmluZ3MgKHZvaWQp CiAgICBsaW51eF9wdHJhY2VfdGVzdF9yZXRfdG9fbnggKCk7CiAgfQogIApAQCAtODQsMTEgKzg0 LDExIEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9uYXQvbGludXgtcHRyYWNlLmMK ICAvKiBFeHRyYWN0IGV4dGVuZGVkIHB0cmFjZSBldmVudCBmcm9tIHdhaXQgc3RhdHVzLiAgKi8K ICAKICBpbnQKLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9uYXQvbGludXgtcHRyYWNl LmgKK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9uYXQvbGludXgtcHRyYWNlLmgKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL25hdC9saW51eC1wdHJh Y2UuaAkyMDE1LTA1LTMxIDE4OjE2OjU0LjM0ODg5MDc0NiArMDIwMAotKysrIGdkYi03LjkuNTAu MjAxNTA1MjAvZ2RiL25hdC9saW51eC1wdHJhY2UuaAkyMDE1LTA1LTMxIDE4OjE3OjE5LjU4NDA0 NjU0MCArMDIwMAotQEAgLTE0OSw2ICsxNDksNyBAQCBleHRlcm4gdm9pZCBsaW51eF9wdHJhY2Vf YXR0YWNoX2ZhaWxfcmVhCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9uYXQvbGlu dXgtcHRyYWNlLmgJMjAxNS0wNy0wOSAxODoyNDoxMy43MDYxNDAzOTIgKzAyMDAKKysrKyBnZGIt Ny45LjkwLjIwMTUwNzA5L2dkYi9uYXQvbGludXgtcHRyYWNlLmgJMjAxNS0wNy0wOSAxODoyNDoy NC45MTIyMzU5ODEgKzAyMDAKK0BAIC0xNTcsNiArMTU3LDcgQEAgZXh0ZXJuIHZvaWQgbGludXhf cHRyYWNlX2F0dGFjaF9mYWlsX3JlYQogIGV4dGVybiBjaGFyICpsaW51eF9wdHJhY2VfYXR0YWNo X2ZhaWxfcmVhc29uX3N0cmluZyAocHRpZF90IHB0aWQsIGludCBlcnIpOwogIAogIGV4dGVybiB2 b2lkIGxpbnV4X3B0cmFjZV9pbml0X3dhcm5pbmdzICh2b2lkKTsKQEAgLTk2LDExICs5NiwxMSBA QCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvbmF0L2xpbnV4LXB0cmFjZS5oCiAgZXh0 ZXJuIHZvaWQgbGludXhfY2hlY2tfcHRyYWNlX2ZlYXR1cmVzICh2b2lkKTsKICBleHRlcm4gdm9p ZCBsaW51eF9lbmFibGVfZXZlbnRfcmVwb3J0aW5nIChwaWRfdCBwaWQsIGludCBhdHRhY2hlZCk7 CiAgZXh0ZXJuIHZvaWQgbGludXhfZGlzYWJsZV9ldmVudF9yZXBvcnRpbmcgKHBpZF90IHBpZCk7 Ci1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvY29uZmlndXJlLmFjCitJbmRleDogZ2Ri LTcuOS45MC4yMDE1MDcwOS9nZGIvY29uZmlndXJlLmFjCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu OS41MC4yMDE1MDUyMC5vcmlnL2dkYi9jb25maWd1cmUuYWMJMjAxNS0wNS0zMSAxODoxNjo1NC4z NDg4OTA3NDYgKzAyMDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9jb25maWd1cmUuYWMJ MjAxNS0wNS0zMSAxODoxNzoxOS41ODUwNDY1NDYgKzAyMDAKLUBAIC0yMTMwLDYgKzIxMzAsMTAg QEAgY2FzZSAkaG9zdF9vcyBpbgorLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIvY29u ZmlndXJlLmFjCTIwMTUtMDctMDkgMTg6MjQ6MTMuNzA3MTQwNDAxICswMjAwCisrKysgZ2RiLTcu OS45MC4yMDE1MDcwOS9nZGIvY29uZmlndXJlLmFjCTIwMTUtMDctMDkgMTg6MjQ6MjQuOTEzMjM1 OTkwICswMjAwCitAQCAtMjE1MCw2ICsyMTUwLDEwIEBAIGNhc2UgJGhvc3Rfb3MgaW4KICBlc2Fj CiAgQUNfREVGSU5FX1VOUVVPVEVEKEdEQklOSVQsIiRnZGJpbml0IixbVGhlIC5nZGJpbml0IGZp bGVuYW1lLl0pCiAgCkBAIC0xMTEsMTAgKzExMSwxMCBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1 MDUyMC9nZGIvY29uZmlndXJlLmFjCiAgZG5sIEhhbmRsZSBvcHRpb25hbCBmZWF0dXJlcyB0aGF0 IGNhbiBiZSBlbmFibGVkLgogIAogICMgU3VwcG9ydCBmb3IgLS13aXRoLXN5c3Jvb3QgaXMgYSBj b3B5IG9mIEdEQl9BQ19XSVRIX0RJUiwKLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9n ZGJzZXJ2ZXIvY29uZmlndXJlLmFjCitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvZ2Ri c2VydmVyL2NvbmZpZ3VyZS5hYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAu b3JpZy9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZS5hYwkyMDE1LTA1LTMxIDE4OjE2OjU0LjM0ODg5 MDc0NiArMDIwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2dkYnNlcnZlci9jb25maWd1 cmUuYWMJMjAxNS0wNS0zMSAxODoxNzoxOS41ODUwNDY1NDYgKzAyMDAKKy0tLSBnZGItNy45Ljkw LjIwMTUwNzA5Lm9yaWcvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUuYWMJMjAxNS0wNy0wOSAxODoy NDoxMy43MDcxNDA0MDEgKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9nZGJzZXJ2 ZXIvY29uZmlndXJlLmFjCTIwMTUtMDctMDkgMTg6MjQ6MjQuOTEzMjM1OTkwICswMjAwCiBAQCAt NDk5LDYgKzQ5OSwxMCBAQCBpZiAkd2FudF9pcGEgOyB0aGVuCiAgICAgZmkKICBmaQpAQCAtMTI2 LDExICsxMjYsMTEgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2dkYnNlcnZlci9j b25maWd1cmUuYWMKICBBQ19TVUJTVChHREJTRVJWRVJfREVQRklMRVMpCiAgQUNfU1VCU1QoR0RC U0VSVkVSX0xJQlMpCiAgQUNfU1VCU1Qoc3J2X3htbGJ1aWx0aW4pCi1JbmRleDogZ2RiLTcuOS41 MC4yMDE1MDUyMC9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jCitJbmRleDogZ2RiLTcuOS45MC4y MDE1MDcwOS9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu OS41MC4yMDE1MDUyMC5vcmlnL2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMJMjAxNS0wNS0zMSAx ODoxNjo1NC4zNDg4OTA3NDYgKzAyMDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9nZGJz ZXJ2ZXIvbGludXgtbG93LmMJMjAxNS0wNS0zMSAxODoxNzoxOS41ODcwNDY1NTggKzAyMDAKLUBA IC03NDksNiArNzQ5LDI5IEBAIGFkZF9sd3AgKHB0aWRfdCBwdGlkKQorLS0tIGdkYi03LjkuOTAu MjAxNTA3MDkub3JpZy9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jCTIwMTUtMDctMDkgMTg6MjQ6 MTMuNzA5MTQwNDE4ICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvZ2Ric2VydmVy L2xpbnV4LWxvdy5jCTIwMTUtMDctMDkgMTg6MjQ6MjQuOTE0MjM1OTk4ICswMjAwCitAQCAtNzU1 LDYgKzc1NSwyOSBAQCBhZGRfbHdwIChwdGlkX3QgcHRpZCkKICAgIHJldHVybiBsd3A7CiAgfQog IApAQCAtMTYwLDcgKzE2MCw3IEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9nZGJz ZXJ2ZXIvbGludXgtbG93LmMKICAvKiBTdGFydCBhbiBpbmZlcmlvciBwcm9jZXNzIGFuZCByZXR1 cm5zIGl0cyBwaWQuCiAgICAgQUxMQVJHUyBpcyBhIHZlY3RvciBvZiBwcm9ncmFtLW5hbWUgYW5k IGFyZ3MuICovCiAgCi1AQCAtNzcyLDcgKzc5NSw3IEBAIGxpbnV4X2NyZWF0ZV9pbmZlcmlvciAo Y2hhciAqcHJvZ3JhbSwgY2gKK0BAIC03NzgsNyArODAxLDcgQEAgbGludXhfY3JlYXRlX2luZmVy aW9yIChjaGFyICpwcm9ncmFtLCBjaAogICAgaWYgKHBpZCA9PSAwKQogICAgICB7CiAgICAgICAg Y2xvc2VfbW9zdF9mZHMgKCk7CkBAIC0xNjksMTAgKzE2OSwxMCBAQCBJbmRleDogZ2RiLTcuOS41 MC4yMDE1MDUyMC9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jCiAgCiAgI2lmbmRlZiBfX0FORFJP SURfXyAvKiBCaW9uaWMgZG9lc24ndCB1c2UgU0lHUlRNSU4gdGhlIHdheSBnbGliYyBkb2VzLiAg Ki8KICAgICAgICBzaWduYWwgKF9fU0lHUlRNSU4gKyAxLCBTSUdfREZMKTsKLUluZGV4OiBnZGIt Ny45LjUwLjIwMTUwNTIwL2dkYi9pbmYtcHRyYWNlLmMKK0luZGV4OiBnZGItNy45LjkwLjIwMTUw NzA5L2dkYi9pbmYtcHRyYWNlLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIw Lm9yaWcvZ2RiL2luZi1wdHJhY2UuYwkyMDE1LTA1LTMxIDE4OjE2OjU0LjM0ODg5MDc0NiArMDIw MAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2luZi1wdHJhY2UuYwkyMDE1LTA1LTMxIDE4 OjE3OjE5LjU4ODA0NjU2NSArMDIwMAorLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIv aW5mLXB0cmFjZS5jCTIwMTUtMDctMDkgMTg6MjQ6MTMuNzEwMTQwNDI2ICswMjAwCisrKysgZ2Ri LTcuOS45MC4yMDE1MDcwOS9nZGIvaW5mLXB0cmFjZS5jCTIwMTUtMDctMDkgMTg6MjQ6MjQuOTE1 MjM2MDA3ICswMjAwCiBAQCAtNzksNyArNzksMTUgQEAgc3RhdGljIHZvaWQKICBpbmZfcHRyYWNl X21lICh2b2lkKQogIHsKQEAgLTE4OSwxMSArMTg5LDExIEBAIEluZGV4OiBnZGItNy45LjUwLjIw MTUwNTIwL2dkYi9pbmYtcHRyYWNlLmMKICB9CiAgCiAgLyogU3RhcnQgYSBuZXcgaW5mZXJpb3Ig VW5peCBjaGlsZCBwcm9jZXNzLiAgRVhFQ19GSUxFIGlzIHRoZSBmaWxlIHRvCi1JbmRleDogZ2Ri LTcuOS41MC4yMDE1MDUyMC9nZGIvbGludXgtbmF0LmMKK0luZGV4OiBnZGItNy45LjkwLjIwMTUw NzA5L2dkYi9saW51eC1uYXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAu b3JpZy9nZGIvbGludXgtbmF0LmMJMjAxNS0wNS0zMSAxODoxNjo1NC4zNDg4OTA3NDYgKzAyMDAK LSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9saW51eC1uYXQuYwkyMDE1LTA1LTMxIDE4OjE3 OjU2LjIxNDI3MjY4MyArMDIwMAotQEAgLTExNzksNiArMTE3OSw3IEBAIGxpbnV4X25hdF9jcmVh dGVfaW5mZXJpb3IgKHN0cnVjdCB0YXJnZXQKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcv Z2RiL2xpbnV4LW5hdC5jCTIwMTUtMDctMDkgMTg6MjQ6MTMuNzEyMTQwNDQzICswMjAwCisrKysg Z2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvbGludXgtbmF0LmMJMjAxNS0wNy0wOSAxODoyNDoyNC45 MTYyMzYwMTUgKzAyMDAKK0BAIC0xMTg0LDYgKzExODQsNyBAQCBsaW51eF9uYXRfY3JlYXRlX2lu ZmVyaW9yIChzdHJ1Y3QgdGFyZ2V0CiAgewogICAgc3RydWN0IGNsZWFudXAgKnJlc3RvcmVfcGVy c29uYWxpdHkKICAgICAgPSBtYXliZV9kaXNhYmxlX2FkZHJlc3Nfc3BhY2VfcmFuZG9taXphdGlv biAoZGlzYWJsZV9yYW5kb21pemF0aW9uKTsKQEAgLTIwMSw3ICsyMDEsNyBAQCBJbmRleDogZ2Ri LTcuOS41MC4yMDE1MDUyMC9nZGIvbGludXgtbmF0LmMKICAKICAgIC8qIFRoZSBmb3JrX2NoaWxk IG1lY2hhbmlzbSBpcyBzeW5jaHJvbm91cyBhbmQgY2FsbHMgdGFyZ2V0X3dhaXQsIHNvCiAgICAg ICB3ZSBoYXZlIHRvIG1hc2sgdGhlIGFzeW5jIG1vZGUuICAqLwotQEAgLTExODYsNyArMTE4Nywy OCBAQCBsaW51eF9uYXRfY3JlYXRlX2luZmVyaW9yIChzdHJ1Y3QgdGFyZ2V0CitAQCAtMTE5MSw3 ICsxMTkyLDI4IEBAIGxpbnV4X25hdF9jcmVhdGVfaW5mZXJpb3IgKHN0cnVjdCB0YXJnZXQKICAg IC8qIE1ha2Ugc3VyZSB3ZSByZXBvcnQgYWxsIHNpZ25hbHMgZHVyaW5nIHN0YXJ0dXAuICAqLwog ICAgbGludXhfbmF0X3Bhc3Nfc2lnbmFscyAob3BzLCAwLCBOVUxMKTsKICAKQEAgLTIzMSwxMSAr MjMxLDExIEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9saW51eC1uYXQuYwogIAog ICAgZG9fY2xlYW51cHMgKHJlc3RvcmVfcGVyc29uYWxpdHkpOwogIH0KLUluZGV4OiBnZGItNy45 LjUwLjIwMTUwNTIwL2dkYi9jb25maWcuaW4KK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dk Yi9jb25maWcuaW4KID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2Ri L2NvbmZpZy5pbgkyMDE1LTA1LTMxIDE4OjE2OjU0LjM0ODg5MDc0NiArMDIwMAotKysrIGdkYi03 LjkuNTAuMjAxNTA1MjAvZ2RiL2NvbmZpZy5pbgkyMDE1LTA1LTMxIDE4OjE3OjE5LjU4OTA0NjU3 MSArMDIwMAotQEAgLTI2MSw2ICsyNjEsOSBAQAorLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3Jp Zy9nZGIvY29uZmlnLmluCTIwMTUtMDctMDkgMTg6MjQ6MTMuNzEzMTQwNDUyICswMjAwCisrKysg Z2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvY29uZmlnLmluCTIwMTUtMDctMDkgMTg6MjQ6MjQuOTE2 MjM2MDE1ICswMjAwCitAQCAtMjY0LDYgKzI2NCw5IEBACiAgLyogRGVmaW5lIGlmIGxpYnJwbSBs aWJyYXJ5IGlzIGJlaW5nIHVzZWQuICovCiAgI3VuZGVmIEhBVkVfTElCUlBNCiAgCkBAIC0yNDUs NyArMjQ1LDcgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2NvbmZpZy5pbgogIC8q IERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bGlidW53aW5kLWlhNjQuaD4gaGVhZGVyIGZp bGUuICovCiAgI3VuZGVmIEhBVkVfTElCVU5XSU5EX0lBNjRfSAogIAotQEAgLTM5Myw2ICszOTYs OSBAQAorQEAgLTM5Niw2ICszOTksOSBAQAogIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRo ZSBgc2NtX25ld19zbW9iJyBmdW5jdGlvbi4gKi8KICAjdW5kZWYgSEFWRV9TQ01fTkVXX1NNT0IK ICAKQEAgLTI1NSwxMSArMjU1LDExIEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9j b25maWcuaW4KICAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNldGxvY2FsZScgZnVu Y3Rpb24uICovCiAgI3VuZGVmIEhBVkVfU0VUTE9DQUxFCiAgCi1JbmRleDogZ2RiLTcuOS41MC4y MDE1MDUyMC9nZGIvY29uZmlndXJlCitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvY29u ZmlndXJlCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5vcmlnL2dkYi9jb25m aWd1cmUJMjAxNS0wNS0zMSAxODoxNjo1NC4zNDg4OTA3NDYgKzAyMDAKLSsrKyBnZGItNy45LjUw LjIwMTUwNTIwL2dkYi9jb25maWd1cmUJMjAxNS0wNS0zMSAxODoxNzoxOS41OTQwNDY2MDIgKzAy MDAKLUBAIC0xMzczMCw2ICsxMzczMCw2NCBAQCBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCist LS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9jb25maWd1cmUJMjAxNS0wNy0wOSAxODoy NDoxMy43MTgxNDA0OTUgKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9jb25maWd1 cmUJMjAxNS0wNy0wOSAxODoyNDoyNC45MjAyMzYwNDkgKzAyMDAKK0BAIC0xNDIyOCw2ICsxNDIy OCw2NCBAQCBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCiAgX0FDRU9GCiAgCiAgCkBAIC0zMjQs MTAgKzMyNCwxMCBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvY29uZmlndXJlCiAg CiAgIyBTdXBwb3J0IGZvciAtLXdpdGgtc3lzcm9vdCBpcyBhIGNvcHkgb2YgR0RCX0FDX1dJVEhf RElSLAogICMgZXhjZXB0IHRoYXQgdGhlIGFyZ3VtZW50IHRvIC0td2l0aC1zeXNyb290IGlzIG9w dGlvbmFsLgotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2dkYnNlcnZlci9jb25maWcu aW4KK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9nZGJzZXJ2ZXIvY29uZmlnLmluCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5vcmlnL2dkYi9nZGJzZXJ2ZXIvY29u ZmlnLmluCTIwMTUtMDUtMzEgMTg6MTY6NTQuMzQ4ODkwNzQ2ICswMjAwCi0rKysgZ2RiLTcuOS41 MC4yMDE1MDUyMC9nZGIvZ2Ric2VydmVyL2NvbmZpZy5pbgkyMDE1LTA1LTMxIDE4OjE3OjE5LjU5 NDA0NjYwMiArMDIwMAorLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIvZ2Ric2VydmVy L2NvbmZpZy5pbgkyMDE1LTA3LTA5IDE4OjI0OjEzLjcxOTE0MDUwMyArMDIwMAorKysrIGdkYi03 LjkuOTAuMjAxNTA3MDkvZ2RiL2dkYnNlcnZlci9jb25maWcuaW4JMjAxNS0wNy0wOSAxODoyNDoy NC45MjAyMzYwNDkgKzAyMDAKIEBAIC0xMTMsNiArMTEzLDkgQEAKICAvKiBEZWZpbmUgdG8gMSBp ZiB5b3UgaGF2ZSB0aGUgYG1jaGVjaycgbGlicmFyeSAoLWxtY2hlY2spLiAqLwogICN1bmRlZiBI QVZFX0xJQk1DSEVDSwpAQCAtMzM4LDkgKzMzOCw5IEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUw NTIwL2dkYi9nZGJzZXJ2ZXIvY29uZmlnLmluCiAgLyogRGVmaW5lIGlmIHRoZSB0YXJnZXQgc3Vw cG9ydHMgYnJhbmNoIHRyYWNpbmcuICovCiAgI3VuZGVmIEhBVkVfTElOVVhfQlRSQUNFCiAgCi1A QCAtMTg2LDYgKzE4OSw5IEBACi0gLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBwd3Jp dGUnIGZ1bmN0aW9uLiAqLwotICN1bmRlZiBIQVZFX1BXUklURQorQEAgLTE4OSw2ICsxOTIsOSBA QAorIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2V0bnMnIGZ1bmN0aW9uLiAqLwor ICN1bmRlZiBIQVZFX1NFVE5TCiAgCiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxz ZWxpbnV4L3NlbGludXguaD4gaGVhZGVyIGZpbGUuICovCiArI3VuZGVmIEhBVkVfU0VMSU5VWF9T RUxJTlVYX0gKQEAgLTM0OCwxMCArMzQ4LDEwIEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIw L2dkYi9nZGJzZXJ2ZXIvY29uZmlnLmluCiAgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl IDxzZ3R0eS5oPiBoZWFkZXIgZmlsZS4gKi8KICAjdW5kZWYgSEFWRV9TR1RUWV9ICiAgCi1JbmRl eDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZQorSW5kZXg6IGdk Yi03LjkuOTAuMjAxNTA3MDkvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUJMjAxNS0w NS0zMSAxODoxNjo1NC4zNDg4OTA3NDYgKzAyMDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dk Yi9nZGJzZXJ2ZXIvY29uZmlndXJlCTIwMTUtMDUtMzEgMTg6MTc6MTkuNTk2MDQ2NjE0ICswMjAw CistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlCTIw MTUtMDctMDkgMTg6MjQ6MTMuNzIxMTQwNTIwICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcw OS9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZQkyMDE1LTA3LTA5IDE4OjI0OjI0LjkyMjIzNjA2NiAr MDIwMAogQEAgLTcwMjIsNiArNzAyMiw2NCBAQCBpZiAkd2FudF9pcGEgOyB0aGVuCiAgICAgZmkK ICBmaQoKZGlmZiAtLWdpdCBhL2dkYi1iejU0MTg2Ni1yd2F0Y2gtYmVmb3JlLXJ1bi5wYXRjaCBi L2dkYi1iejU0MTg2Ni1yd2F0Y2gtYmVmb3JlLXJ1bi5wYXRjaAppbmRleCA4M2IzYTM1Li43OTJi NDEwIDEwMDY0NAotLS0gYS9nZGItYno1NDE4NjYtcndhdGNoLWJlZm9yZS1ydW4ucGF0Y2gKKysr IGIvZ2RiLWJ6NTQxODY2LXJ3YXRjaC1iZWZvcmUtcnVuLnBhdGNoCkBAIC0xLDIwICsxLDIwIEBA Ci1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvY29uZmlnL2kzODYvbGludXg2NC5taAor SW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2NvbmZpZy9pMzg2L2xpbnV4NjQubWgKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL2NvbmZpZy9pMzg2L2xp bnV4NjQubWgJMjAxNS0wNS0zMSAxNjo1OTozNC4yNTgwMTg4MjcgKzAyMDAKLSsrKyBnZGItNy45 LjUwLjIwMTUwNTIwL2dkYi9jb25maWcvaTM4Ni9saW51eDY0Lm1oCTIwMTUtMDUtMzEgMTY6NTk6 NDcuNzc5MTA0MTYzICswMjAwCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9jb25m aWcvaTM4Ni9saW51eDY0Lm1oCTIwMTUtMDctMDkgMTg6MjM6MzIuMTczNzg2MTE4ICswMjAwCisr KysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvY29uZmlnL2kzODYvbGludXg2NC5taAkyMDE1LTA3 LTA5IDE4OjIzOjUxLjgyMzk1MzczNiArMDIwMAogQEAgLTcsNyArNyw3IEBAIE5BVERFUEZJTEVT PSBpbmYtcHRyYWNlLm8gZm9yay1jaGlsZC5vIFwKICAJbGludXgtcHJvY2ZzLm8gbGludXgtcHRy YWNlLm8gbGludXgtYnRyYWNlLm8gXAogIAlsaW51eC13YWl0cGlkLm8gbGludXgtcGVyc29uYWxp dHkubyB4ODYtbGludXgubyBcCi0gCXg4Ni1saW51eC1kcmVncy5vCisgCXg4Ni1saW51eC1kcmVn cy5vIGxpbnV4LW5hbWVzcGFjZXMubwogLU5BVF9GSUxFPSBjb25maWcvbm0tbGludXguaAogK05B VF9GSUxFPSBubS1saW51eDY0LmgKICBOQVRfQ0RFUFMgPSAkKHNyY2RpcikvcHJvYy1zZXJ2aWNl Lmxpc3QKICAKICAjIFRoZSBkeW5hbWljYWxseSBsb2FkZWQgbGlidGhyZWFkX2RiIG5lZWRzIGFj Y2VzcyB0byBzeW1ib2xzIGluIHRoZQotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2Nv bmZpZy9pMzg2L2xpbnV4Lm1oCitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvY29uZmln L2kzODYvbGludXgubWgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcv Z2RiL2NvbmZpZy9pMzg2L2xpbnV4Lm1oCTIwMTUtMDUtMzEgMTY6NTY6MTIuODY5NzQ3Nzk2ICsw MjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvY29uZmlnL2kzODYvbGludXgubWgJMjAx NS0wNS0zMSAxNjo1OTozNC4yNTkwMTg4MzMgKzAyMDAKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5 Lm9yaWcvZ2RiL2NvbmZpZy9pMzg2L2xpbnV4Lm1oCTIwMTUtMDctMDkgMTg6MjM6MzAuNTI3Nzcy MDc4ICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvY29uZmlnL2kzODYvbGludXgu bWgJMjAxNS0wNy0wOSAxODoyMzozMi4xNzQ3ODYxMjcgKzAyMDAKIEBAIC0xLDYgKzEsNiBAQAog ICMgSG9zdDogSW50ZWwgMzg2IHJ1bm5pbmcgR05VL0xpbnV4LgogIApAQCAtMjMsMTAgKzIzLDEw IEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9jb25maWcvaTM4Ni9saW51eC5taAog IE5BVERFUEZJTEVTPSBpbmYtcHRyYWNlLm8gZm9yay1jaGlsZC5vIFwKICAJeDg2LW5hdC5vIHg4 Ni1kcmVncy5vIGkzODYtbGludXgtbmF0Lm8geDg2LWxpbnV4LW5hdC5vIFwKICAJcHJvYy1zZXJ2 aWNlLm8gbGludXgtdGhyZWFkLWRiLm8gXAotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2Ri L2NvbmZpZy9pMzg2L25tLWxpbnV4LmgKK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9j b25maWcvaTM4Ni9ubS1saW51eC5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIv Y29uZmlnL2kzODYvbm0tbGludXguaAkyMDE1LTA1LTMxIDE2OjU5OjM0LjI1OTAxODgzMyArMDIw MAorKysrIGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2NvbmZpZy9pMzg2L25tLWxpbnV4LmgJMjAx NS0wNy0wOSAxODoyMzozMi4xNzQ3ODYxMjcgKzAyMDAKIEBAIC0wLDAgKzEsMjggQEAKICsvKiBO YXRpdmUgc3VwcG9ydCBmb3IgR05VL0xpbnV4IGkzODYuCiArCkBAIC01NiwxMCArNTYsMTAgQEAg SW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2NvbmZpZy9pMzg2L25tLWxpbnV4LmgKICsj ZGVmaW5lIHRhcmdldF9jYW5fdXNlX2hhcmR3YXJlX3dhdGNocG9pbnQodHlwZSwgY250LCBvdCkg MQogKwogKyNlbmRpZiAvKiBOTV9MSU5VWDY0X0ggKi8KLUluZGV4OiBnZGItNy45LjUwLjIwMTUw NTIwL2dkYi9jb25maWcvaTM4Ni9ubS1saW51eDY0LmgKK0luZGV4OiBnZGItNy45LjkwLjIwMTUw NzA5L2dkYi9jb25maWcvaTM4Ni9ubS1saW51eDY0LmgKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251 bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy45LjUwLjIw MTUwNTIwL2dkYi9jb25maWcvaTM4Ni9ubS1saW51eDY0LmgJMjAxNS0wNS0zMSAxNjo1OTozNC4y NTkwMTg4MzMgKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9jb25maWcvaTM4Ni9u bS1saW51eDY0LmgJMjAxNS0wNy0wOSAxODoyMzozMi4xNzQ3ODYxMjcgKzAyMDAKIEBAIC0wLDAg KzEsMjggQEAKICsvKiBOYXRpdmUgc3VwcG9ydCBmb3IgR05VL0xpbnV4IGFtZDY0LgogKwpAQCAt ODksMTEgKzg5LDExIEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9jb25maWcvaTM4 Ni9ubS1saW51eDY0LmgKICsjZGVmaW5lIHRhcmdldF9jYW5fdXNlX2hhcmR3YXJlX3dhdGNocG9p bnQodHlwZSwgY250LCBvdCkgMQogKwogKyNlbmRpZiAvKiBOTV9MSU5VWDY0X0ggKi8KLUluZGV4 OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi90YXJnZXQuaAorSW5kZXg6IGdkYi03LjkuOTAuMjAx NTA3MDkvZ2RiL3RhcmdldC5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5v cmlnL2dkYi90YXJnZXQuaAkyMDE1LTA1LTMxIDE2OjU5OjM0LjI2MDAxODgzOSArMDIwMAotKysr IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3RhcmdldC5oCTIwMTUtMDUtMzEgMTc6MDA6MTEuMDY3 MjUxMTQzICswMjAwCi1AQCAtMTgyMCw5ICsxODIwLDExIEBAIGV4dGVybiBjaGFyICp0YXJnZXRf dGhyZWFkX25hbWUgKHN0cnVjdAorLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIvdGFy Z2V0LmgJMjAxNS0wNy0wOSAxODoyMzozMC41Mjg3NzIwODYgKzAyMDAKKysrKyBnZGItNy45Ljkw LjIwMTUwNzA5L2dkYi90YXJnZXQuaAkyMDE1LTA3LTA5IDE4OjIzOjMyLjE3NTc4NjEzNSArMDIw MAorQEAgLTE4NDksOSArMTg0OSwxMSBAQCBleHRlcm4gY2hhciAqdGFyZ2V0X3RocmVhZF9uYW1l IChzdHJ1Y3QKICAgICBDTlQgaXMgdGhlIG51bWJlciBvZiBzdWNoIHdhdGNocG9pbnRzIHVzZWQg c28gZmFyLCBpbmNsdWRpbmcgdGhpcwogICAgIG9uZS4gIE9USEVSVFlQRSBpcyB3aG8ga25vd3Mg d2hhdC4uLiAgKi8KICAKQEAgLTEwNSwxMCArMTA1LDEwIEBAIEluZGV4OiBnZGItNy45LjUwLjIw MTUwNTIwL2dkYi90YXJnZXQuaAogIAogIC8qIFJldHVybnMgdGhlIG51bWJlciBvZiBkZWJ1ZyBy ZWdpc3RlcnMgbmVlZGVkIHRvIHdhdGNoIHRoZSBnaXZlbgogICAgIG1lbW9yeSByZWdpb24sIG9y IHplcm8gaWYgbm90IHN1cHBvcnRlZC4gICovCi1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQtaHctYmVmb3JlLXJ1bi5leHAKK0luZGV4 OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1o dy1iZWZvcmUtcnVuLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAw OjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS93YXRjaHBvaW50LWh3LWJlZm9yZS1ydW4uZXhwCTIwMTUtMDUtMzEgMTY6 NTk6MzQuMjYxMDE4ODQ2ICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQtaHctYmVmb3JlLXJ1bi5leHAJMjAxNS0wNy0wOSAxODoy MzozMi4xNzU3ODYxMzUgKzAyMDAKIEBAIC0wLDAgKzEsNDAgQEAKICsjIENvcHlyaWdodCAyMDA5 LCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwoKZGlmZiAtLWdpdCBhL2dk Yi1jeHgtZW51bS10YWcucGF0Y2ggYi9nZGItY3h4LWVudW0tdGFnLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAxNDcxZjY2Li4wMDAwMDAwCi0tLSBhL2dkYi1jeHgtZW51bS10 YWcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyODQgKzAsMCBAQAotTGFzdCB5ZWFyIGEgcGF0 Y2ggd2FzIHN1Ym1pdHRlZC9hcHByb3ZlZC9jb21taXRlZCB0byBlbGltaW5hdGUKLXN5bWJvbF9t YXRjaGVzX2RvbWFpbiB3aGljaCB3YXMgY2F1c2luZyB0aGlzIHByb2JsZW0uICBJdCB3YXMgbGF0 ZXIgcmV2ZXJ0ZWQKLWJlY2F1c2UgaXQgaW50cm9kdWNlZCBhIChzZXZlcmUpIHBlcmZvcm1hbmNl IHJlZ3Jlc3Npb24uCi0KLVJlY2FwOgotCi0oZ2RiKSBsaXN0Ci0xCWVudW0gZSB7QSxCLEN9IGU7 Ci0yCWludCBtYWluICh2b2lkKSB7IHJldHVybiAwOyB9Ci0zCi0oZ2RiKSBwIGUKLUF0dGVtcHQg dG8gdXNlIGEgdHlwZSBuYW1lIGFzIGFuIGV4cHJlc3Npb24KLQotVGhlIHBhcnNlciBhdHRlbXB0 cyB0byBmaW5kIGEgc3ltYm9sIG5hbWVkICJlIiBvZiBWQVJfRE9NQUlOLgotVGhpcyBnZXRzIHBh c3NlZCBkb3duIHRocm91Z2ggbG9va3VwX3N5bWJvbCBhbmQgKGV2ZW50dWFsbHkpIGludG8KLWJs b2NrX2xvb2t1cF9zeW1ib2xfcHJpbWFyeSwgd2hpY2ggaXRlcmF0ZXMgb3ZlciB0aGUgYmxvY2sn cyBkaWN0aW9uYXJ5Ci1vZiBzeW1ib2xzOgotCi0gIGZvciAoc3ltID0gZGljdF9pdGVyX25hbWVf Zmlyc3QgKGJsb2NrLT5kaWN0LCBuYW1lLCAmZGljdF9pdGVyKTsKLSAgICAgICBzeW0gIT0gTlVM TDsKLSAgICAgICBzeW0gPSBkaWN0X2l0ZXJfbmFtZV9uZXh0IChuYW1lLCAmZGljdF9pdGVyKSkK LSAgICB7Ci0gICAgICBpZiAoc3ltYm9sX21hdGNoZXNfZG9tYWluIChTWU1CT0xfTEFOR1VBR0Ug KHN5bSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTWU1CT0xfRE9NQUlOIChz eW0pLCBkb21haW4pKQotICAgICAgICByZXR1cm4gc3ltOwotICAgIH0KLQotVGhlIHByb2JsZW0g aGVyZSBpcyB0aGF0IHdlIGhhdmUgYSBzeW1ib2wgbmFtZWQgImUiIGluIGJvdGggU1RSVUNUX0RP TUFJTgotYW5kIFZBUl9ET01BSU4sIGFuZCBmb3IgbGFuZ3VhZ2VzIGxpa2UgQysrLCBKYXZhLCBh bmQgQWRhLCB3aGVyZSBhIHRhZyBuYW1lCi1tYXkgYmUgdXNlZCBhcyBhbiBpbXBsaWNpdCB0eXBl ZGVmIG9mIHRoZSB0eXBlLCBzeW1ib2xfbWF0Y2hlc19kb21haW4gaWdub3JlcwotdGhlIGRpZmZl cmVuY2UgYmV0d2VlbiBWQVJfRE9NQUlOIGFuZCBTVFJVQ1RfRE9NQUlOLiAgQXMgaXQgaGFwcGVu cywgdGhlCi1TVFJVQ1RfRE9NQUlOIHN5bWJvbCBpcyBmb3VuZCBmaXJzdCwgY29uc2lkZXJlZCBh IG1hdGNoLCBhbmQgdGhhdCBzeW1ib2wgaXMKLXJldHVybmVkIHRvIHRoZSBwYXJzZXIsIGVsaWNp dGluZyB0aGUgKG5vdyBkcmVhZGVkKSBlcnJvciBtZXNzYWdlLgotCi1TaW5jZSB0aGlzIGJ1ZyBl eGlzdHMgc3BlY2lmaWNhbGx5IGJlY2F1c2Ugd2UgaGF2ZSBib3RoIFNUUlVDVCBhbmQgVkFSX0RP TUFJTgotc3ltYm9scyBpbiBhIGdpdmVuIGJsb2NrL0NVLCB0aGlzIHBhdGNoIHJhdGhlciBzaW1w bHkvbmFpdmVseSBjaGFuZ2VzCi1ibG9ja19sb29rdXBfc3ltYm9sX3ByaW1hcnkgc28gdGhhdCBp dCBjb250aW51ZXMgdG8gc2VhcmNoIGZvciBhbiBleGFjdAotZG9tYWluIG1hdGNoIG9uIHRoZSBz eW1ib2wgaWYgc3ltYm9sX21hdGNoZXNfZG9tYWluIHJldHVybnMgYSBzeW1ib2wKLXdoaWNoIGRv ZXMgbm90IGV4YWN0bHkgbWF0Y2ggdGhlIHJlcXVlc3RlZCBkb21haW4uCi0KLVRoaXMgImZpeGVz IiB0aGUgaW1tZWRpYXRlIHByb2JsZW0sIGJ1dCBhZG1pdHRlZGx5IG1pZ2h0IHVuY292ZXIgb3Ro ZXIsCi1yZWxhdGVkIGJ1Z3MuICBbUGFyYW5vaWE/XSBIb3dldmVyLCBpdCBjYXVzZXMgbm8gcmVn cmVzc2lvbnMgKGZ1bmN0aW9uYWwKLW9yIHBlcmZvcm1hbmNlKSBpbiB0aGUgdGVzdCBzdWl0ZS4K LQotSSBoYXZlIGFsc28gcmVzdXJyZWN0ZWQgdGhlIHRlc3RzIGZyb20gdGhlIHByZXZpb3VzIHN1 Ym1pc3Npb24uICBIb3dldmVyCi1zaW5jZSB3ZSBjYW4gc3RpbGwgYmUgZ2l2ZW4gYSBtYXRjaGlu ZyBzeW1ib2wgd2l0aCBhIGRpZmZlcmVudCBkb21haW4gdGhhbgotcmVxdWVzdGVkLCB3ZSBjYW5u b3Qgc2F5IHRoYXQgYSBzeW1ib2wgIndhcyBub3QgZm91bmQuIiAgVGhlIGVycm9yIG1lc3NhZ2Vz Ci10b2RheSB3aWxsIHN0aWxsIGJlIHRoZSAoZHJlYWRlZCkgIkF0dGVtcHQgdG8gdXNlIGEgdHlw ZSBuYW1lLi4uIiAgSSd2ZQotdXBkYXRlZCB0aGUgdGVzdHMgdG8gcmVmbGVjdCB0aGlzLgotCi1D aGFuZ2VMb2cKLQotCVBSIDE2MjUzCi0JKiBibG9jay5jIChibG9ja19sb29rdXBfc3ltYm9sX3By aW1hcnkpOiBJZiBhIHN5bWJvbCBpcyBmb3VuZAotCXdoaWNoIGRvZXMgbm90IGV4YWN0bHkgbWF0 Y2ggdGhlIHJlcXVlc3RlZCBkb21haW4sIGtlZXAgc2VhcmNoaW5nCi0JZm9yIGFuIGV4YWN0IG1h dGNoLiAgT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHByZXZpb3VzbHkgZm91bmQgImJlc3QiCi0Jc3lt Ym9sLgotCi10ZXN0c3VpdGUvQ2hhbmdlTG9nCi0KLQlQUiAxNjI1MwotCSogZ2RiLmNwL3Zhci10 YWcuY2M6IE5ldyBmaWxlLgotCSogZ2RiLmNwL3Zhci10YWcuZXhwOiBOZXcgZmlsZS4KLS0tLQot IGdkYi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgIHwgIDggKysrKwotIGdkYi9ibG9jay5j ICAgICAgICAgICAgICAgICAgICAgIHwgMTYgKysrKystLQotIGdkYi90ZXN0c3VpdGUvQ2hhbmdl TG9nICAgICAgICAgIHwgIDYgKysrCi0gZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmFyLXRhZy5jYyAg fCA0NCArKysrKysrKysrKysrKysrKysrCi0gZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmFyLXRhZy5l eHAgfCA5NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gNSBmaWxl cyBjaGFuZ2VkLCAxNjUgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmFyLXRhZy5jYwotIGNyZWF0ZSBtb2RlIDEw MDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5jcC92YXItdGFnLmV4cAotCi0jIyMgYS9nZGIvQ2hhbmdl TG9nCi0jIyMgYi9nZGIvQ2hhbmdlTG9nCi0jIyAtMSwzICsxLDExIEBACi0rMjAxNS0wNi0xMSAg S2VpdGggU2VpdHogIDxrZWl0aHNAcmVkaGF0LmNvbT4KLSsKLSsJUFIgMTYyNTMKLSsJKiBibG9j ay5jIChibG9ja19sb29rdXBfc3ltYm9sX3ByaW1hcnkpOiBJZiBhIHN5bWJvbCBpcyBmb3VuZAot Kwl3aGljaCBkb2VzIG5vdCBleGFjdGx5IG1hdGNoIHRoZSByZXF1ZXN0ZWQgZG9tYWluLCBrZWVw IHNlYXJjaGluZwotKwlmb3IgYW4gZXhhY3QgbWF0Y2guICBPdGhlcndpc2UsIHJldHVybiB0aGUg cHJldmlvdXNseSBmb3VuZCAiYmVzdCIKLSsJc3ltYm9sLgotKwotIDIwMTUtMDYtMTEgIEdhcnkg QmVuc29uIDxnYmVuc29uQHJlZGhhdC5jb20+Ci0gCi0gCSogbmF0L2xpbnV4LW5hbWVzcGFjZXMu YyAobW5zaF9zZW5kX21lc3NhZ2UpOiBVc2UgcHVsb25nZXN0LgotLS0tIGEvZ2RiL2Jsb2NrLmMK LSsrKyBiL2dkYi9ibG9jay5jCi1AQCAtNzc5LDIzICs3NzksMzMgQEAgc3RydWN0IHN5bWJvbCAq Ci0gYmxvY2tfbG9va3VwX3N5bWJvbF9wcmltYXJ5IChjb25zdCBzdHJ1Y3QgYmxvY2sgKmJsb2Nr LCBjb25zdCBjaGFyICpuYW1lLAotIAkJCSAgICAgY29uc3QgZG9tYWluX2VudW0gZG9tYWluKQot IHsKLS0gIHN0cnVjdCBzeW1ib2wgKnN5bTsKLSsgIHN0cnVjdCBzeW1ib2wgKnN5bSwgKm90aGVy OwotICAgc3RydWN0IGRpY3RfaXRlcmF0b3IgZGljdF9pdGVyOwotIAotICAgLyogVmVyaWZ5IEJM T0NLIGlzIFNUQVRJQ19CTE9DSyBvciBHTE9CQUxfQkxPQ0suICAqLwotICAgZ2RiX2Fzc2VydCAo QkxPQ0tfU1VQRVJCTE9DSyAoYmxvY2spID09IE5VTEwKLSAJICAgICAgfHwgQkxPQ0tfU1VQRVJC TE9DSyAoQkxPQ0tfU1VQRVJCTE9DSyAoYmxvY2spKSA9PSBOVUxMKTsKLSAKLSsgIG90aGVyID0g TlVMTDsKLSAgIGZvciAoc3ltID0gZGljdF9pdGVyX25hbWVfZmlyc3QgKGJsb2NrLT5kaWN0LCBu YW1lLCAmZGljdF9pdGVyKTsKLSAgICAgICAgc3ltICE9IE5VTEw7Ci0gICAgICAgIHN5bSA9IGRp Y3RfaXRlcl9uYW1lX25leHQgKG5hbWUsICZkaWN0X2l0ZXIpKQotICAgICB7Ci0rICAgICAgaWYg KFNZTUJPTF9ET01BSU4gKHN5bSkgPT0gZG9tYWluKQotKwlyZXR1cm4gc3ltOwotKwotKyAgICAg IC8qIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrLCBidXQgc3ltYm9sX21hdGNoZXNfZG9tYWluIG1p Z2h0IGlnbm9yZQotKwkgU1RSVUNUIHZzIFZBUiBkb21haW4gc3ltYm9scy4gIFNvIGlmIGEgbWF0 Y2hpbmcgc3ltYm9sIGlzIGZvdW5kLCBtYWtlCi0rCSBzdXJlIHRoZXJlIGlzIG5vICJiZXR0ZXIi IG1hdGNoaW5nIHN5bWJvbCwgaS5lLiwgb25lIHdpdGgKLSsJIGV4YWN0bHkgdGhlIHNhbWUgZG9t YWluLiAgKi8KLSAgICAgICBpZiAoc3ltYm9sX21hdGNoZXNfZG9tYWluIChTWU1CT0xfTEFOR1VB R0UgKHN5bSksCi0gCQkJCSBTWU1CT0xfRE9NQUlOIChzeW0pLCBkb21haW4pKQotLQlyZXR1cm4g c3ltOwotKwl7Ci0rCSAgb3RoZXIgPSBzeW07Ci0rCX0KLSAgICAgfQotIAotLSAgcmV0dXJuIE5V TEw7Ci0rICByZXR1cm4gb3RoZXI7Ci0gfQotIAotIC8qIFNlZSBibG9jay5oLiAgKi8KLSMjIyBh L2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nCi0jIyMgYi9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwot IyMgLTEsMyArMSw5IEBACi0rMjAxNS0wNi0xMSAgS2VpdGggU2VpdHogIDxrZWl0aHNAcmVkaGF0 LmNvbT4KLSsKLSsJUFIgMTYyNTMKLSsJKiBnZGIuY3AvdmFyLXRhZy5jYzogTmV3IGZpbGUuCi0r CSogZ2RiLmNwL3Zhci10YWcuZXhwOiBOZXcgZmlsZS4KLSsKLSAyMDE1LTA2LTEwICBXYWxmcmVk IFRlZGVzY2hpICA8d2FsZnJlZC50ZWRlc2NoaUBpbnRlbC5jb20+Ci0gICAgICAgICAgICAgTWly Y2VhIEdoZXJ6YW4gIDxtaXJjZWEuZ2hlcnphbkBpbnRlbC5jb20+Ci0gCi0tLS0gL2Rldi9udWxs Ci0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5jcC92YXItdGFnLmNjCi1AQCAtMCwwICsxLDQ0IEBA Ci0rLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KLSsK LSsgICBDb3B5cmlnaHQgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsg ICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yIG1vZGlmeQotKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0rICAgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsgICAoYXQgeW91 ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0r ICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQotKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu Ci0rCi0rICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UKLSsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwg c2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCi0rCi0raW50IGdsb2JhbCA9 IDM7Ci0rCi0rY2xhc3MgQyB7Ci0rcHVibGljOgotKyAgc3RydWN0IEMxIHt9IEMxOwotKyAgZW51 bSBFMSB7YTEsIGIxLCBjMX0gRTE7Ci0rICB1bmlvbiBVMSB7aW50IGExOyBjaGFyIGIxO30gVTE7 Ci0rCi0rICBDICgpIDogRTEgKGIxKSB7fQotKyAgdm9pZCBnbG9iYWwgKHZvaWQpIGNvbnN0IHt9 Ci0rICBpbnQgZiAodm9pZCkgY29uc3QgeyBnbG9iYWwgKCk7IHJldHVybiAwOyB9Ci0rfSBDOwot KwotK3N0cnVjdCBTIHt9IFM7Ci0rZW51bSBFIHthLCBiLCBjfSBFOwotK3VuaW9uIFUge2ludCBh OyBjaGFyIGI7fSBVOwotKwotK2NsYXNzIENDIHt9IGNjOwotK3N0cnVjdCBTUyB7fSBzczsKLStl bnVtIEVFIHtlYSwgZWIsIGVjfSBlZTsKLSt1bmlvbiBVVSB7aW50IGFhOyBjaGFyIGJiO30gdXU7 Ci0rCi0raW50Ci0rbWFpbiAodm9pZCkKLSt7Ci0rICByZXR1cm4gQy5mICgpOwotK30KLS0tLSAv ZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3Zhci10YWcuZXhwCi1AQCAtMCww ICsxLDk0IEBACi0rIyBDb3B5cmlnaHQgMjAxNCwgMjAxNSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KLSsKLSsjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyMgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IK LSsjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rIwotKyMgVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0r IyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgotKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQotKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KLSsjCi0rIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJ ZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0rCi0rIyBUaGlzIGZp bGUgaXMgcGFydCBvZiB0aGUgZ2RiIHRlc3RzdWl0ZQotKwotKyMgVGVzdCBleHByZXNzaW9ucyBp biB3aGljaCB2YXJpYWJsZSBuYW1lcyBzaGFkb3cgdGFnIG5hbWVzLgotKwotK2lmIHtbc2tpcF9j cGx1c190ZXN0c119IHsgY29udGludWUgfQotKwotK3N0YW5kYXJkX3Rlc3RmaWxlIC5jYwotKwot K2lmIHtbcHJlcGFyZV9mb3JfdGVzdGluZyAkdGVzdGZpbGUuZXhwICR0ZXN0ZmlsZSAkc3JjZmls ZSB7ZGVidWcgYysrfV19IHsKLSsgICAgcmV0dXJuIC0xCi0rfQotKwotK3Byb2MgZG9fZ2xvYmFs X3Rlc3RzIHtsYW5nfSB7Ci0rICAgIHNldCBpbnZhbGlkX3ByaW50ICJBdHRlbXB0IHRvIHVzZSBh IHR5cGUgbmFtZSBhcyBhbiBleHByZXNzaW9uIgotKyAgICBzZXQgcHR5cGVmbXQgInR5cGUgPSAo Y2xhc3N8ZW51bXx1bmlvbnxzdHJ1Y3QpICVzIHsuKn0iCi0rCi0rICAgIHdpdGhfdGVzdF9wcmVm aXggJGxhbmcgewotKwlnZGJfdGVzdF9ub19vdXRwdXQgInNldCBsYW5ndWFnZSAkbGFuZyIKLSsJ Z2RiX3Rlc3QgInB0eXBlIEMiICJ0eXBlID0gY2xhc3MgQyB7Lip9IgotKwlnZGJfdGVzdCAicHJp bnQgRSIgIj0gYSIKLSsJZ2RiX3Rlc3QgInB0eXBlIEUiICJ0eXBlID0gZW51bSBFIHsuKn0iCi0r CWdkYl90ZXN0ICJwcmludCBTIiAiPSB7PE5vIGRhdGEgZmllbGRzPn0iCi0rCWdkYl90ZXN0ICJw dHlwZSBTIiAidHlwZSA9IHN0cnVjdCBTIHsuKn0iCi0rCWdkYl90ZXN0ICJwcmludCBVIiAiPSB7 Lip9IgotKwlnZGJfdGVzdCAicHR5cGUgVSIgInR5cGUgPSB1bmlvbiBVIHsuKn0iCi0rCWdkYl90 ZXN0ICJwcmludCBjYyIgIj0gey4qfSIKLSsJZ2RiX3Rlc3QgInB0eXBlIGNjIiAidHlwZSA9IGNs YXNzIENDIHsuKn0iCi0rCWdkYl90ZXN0ICJwcmludCBDQyIgW2Zvcm1hdCAkaW52YWxpZF9wcmlu dCAiQ0MiXQotKwlnZGJfdGVzdCAicHR5cGUgQ0MiIFtmb3JtYXQgJHB0eXBlZm10ICJDQyJdCi0r CWdkYl90ZXN0ICJwcmludCBzcyIgIj0gezxObyBkYXRhIGZpZWxkcz59IgotKwlnZGJfdGVzdCAi cHR5cGUgc3MiICJ0eXBlID0gc3RydWN0IFNTIHsuKn0iCi0rCWdkYl90ZXN0ICJwcmludCBTUyIg W2Zvcm1hdCAkaW52YWxpZF9wcmludCAiU1MiXQotKwlnZGJfdGVzdCAicHR5cGUgU1MiIFtmb3Jt YXQgJHB0eXBlZm10ICJTUyJdCi0rCWdkYl90ZXN0ICJwcmludCBlZSIgIj0gLioiCi0rCWdkYl90 ZXN0ICJwdHlwZSBlZSIgInR5cGUgPSBlbnVtIEVFIHsuKn0iCi0rCWdkYl90ZXN0ICJwcmludCBF RSIgW2Zvcm1hdCAkaW52YWxpZF9wcmludCAiRUUiXQotKwlnZGJfdGVzdCAicHR5cGUgRUUiIFtm b3JtYXQgJHB0eXBlZm10ICJFRSJdCi0rCWdkYl90ZXN0ICJwcmludCB1dSIgIj0gey4qfSIKLSsJ Z2RiX3Rlc3QgInB0eXBlIHV1IiAidHlwZSA9IHVuaW9uIFVVIHsuKn0iCi0rCWdkYl90ZXN0ICJw cmludCBVVSIgW2Zvcm1hdCAkaW52YWxpZF9wcmludCAgIlVVIl0KLSsJZ2RiX3Rlc3QgInB0eXBl IFVVIiBbZm9ybWF0ICRwdHlwZWZtdCAiVVUiXQotKyAgICB9Ci0rfQotKwotKyMgRmlyc3QgdGVz dCBleHByZXNzaW9ucyB3aGVuIHRoZXJlIGlzIG5vIGNvbnRleHQuCi0rd2l0aF90ZXN0X3ByZWZp eCAiYmVmb3JlIHN0YXJ0IiB7Ci0rICAgIGRvX2dsb2JhbF90ZXN0cyBjKysKLSsgICAgZG9fZ2xv YmFsX3Rlc3RzIGMKLSt9Ci0rCi0rIyBSdW4gdG8gbWFpbiBhbmQgdGVzdCBhZ2Fpbi4KLStpZiB7 IVtydW50b19tYWluXX0gewotKyAgICBwZXJyb3IgImNvdWxkbid0IHJ1biB0byBtYWluIgotKyAg ICBjb250aW51ZQotK30KLSsKLSt3aXRoX3Rlc3RfcHJlZml4ICJpbiBtYWluIiB7Ci0rICAgIGRv X2dsb2JhbF90ZXN0cyBjKysKLSsgICAgZG9fZ2xvYmFsX3Rlc3RzIGMKLSt9Ci0rCi0rIyBGaW5h bGx5IHJ1biB0byBDOjpmIGFuZCB0ZXN0IGFnYWluCi0rZ2RiX2JyZWFrcG9pbnQgIkM6OmYiCi0r Z2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgImNvbnRpbnVlIHRvIEM6OmYiCi0rd2l0aF90ZXN0 X3ByZWZpeCAiaW4gQzo6ZiIgewotKyAgICBkb19nbG9iYWxfdGVzdHMgYysrCi0rICAgIGRvX2ds b2JhbF90ZXN0cyBjCi0rfQotKwotKyMgQW5vdGhlciBoYXJkLXRvLWd1ZXNzLXRoZS11c2Vycy1p bnRlbnQgYnVnLi4uCi0rIyBJdCB3b3VsZCBiZSByZWFsbHkgbmljZSBpZiB3ZSBjb3VsZCBxdWVy eSB0aGUgdXNlciEKLSt3aXRoX3Rlc3RfcHJlZml4ICJnbG9iYWwgY29sbGlzaW9uIiB7Ci0rICAg IGdkYl90ZXN0X25vX291dHB1dCAic2V0IGxhbmd1YWdlIGMrKyIKLSsgICAgc2V0dXBfa2ZhaWwg ImMrKy8xNjQ2MyIgIiotKi0qIgotKyAgICBnZGJfdGVzdCAicHJpbnQgZ2xvYmFsIiAiPSAzIgot KwotKyAgICAjIC4uLiB3aXRoIGEgc2ltcGxlIHdvcmthcm91bmQ6Ci0rICAgIGdkYl90ZXN0ICJw cmludCA6Omdsb2JhbCIgIj0gMyIKLSt9Ci0tLSAKLTIuMS4wCgpkaWZmIC0tZ2l0IGEvZ2RiLXJo Yno3OTU0MjQtYml0cG9zLTIwb2YyNS5wYXRjaCBiL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMG9m MjUucGF0Y2gKaW5kZXggMjFlYWVkOC4uZGJjODU3OSAxMDA2NDQKLS0tIGEvZ2RiLXJoYno3OTU0 MjQtYml0cG9zLTIwb2YyNS5wYXRjaAorKysgYi9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjBvZjI1 LnBhdGNoCkBAIC00NjMsMTAgKzQ2MywxMCBAQCBDb250ZW50LVR5cGU6IHRleHQveC1wYXRjaAog Q29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogN2JpdAogQ29udGVudC1EaXNwb3NpdGlvbjogYXR0 YWNobWVudDsgZmlsZW5hbWU9Yml0cG9zLW1haW4ucGF0Y2gKIAotSW5kZXg6IGdkYi03LjkuNTAu MjAxNTA1MjAvZ2RiL2FkYS1sYW5nLmMKK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9h ZGEtbGFuZy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5vcmlnL2dkYi9h ZGEtbGFuZy5jCTIwMTUtMDUtMzEgMTc6MDg6NDYuODA3NTA2MTU3ICswMjAwCi0rKysgZ2RiLTcu OS41MC4yMDE1MDUyMC9nZGIvYWRhLWxhbmcuYwkyMDE1LTA1LTMxIDE3OjExOjIyLjEyMjQ4NjQw MyArMDIwMAorLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIvYWRhLWxhbmcuYwkyMDE1 LTA3LTA5IDE4OjI0OjM4Ljk2ODM1NTg4MSArMDIwMAorKysrIGdkYi03LjkuOTAuMjAxNTA3MDkv Z2RiL2FkYS1sYW5nLmMJMjAxNS0wNy0wOSAxODoyNDo0Mi4yMTkzODM2MTIgKzAyMDAKIEBAIC03 NCw3ICs3NCw3IEBAIHN0YXRpYyBzdHJ1Y3QgdHlwZSAqZGVzY19ib3VuZHNfdHlwZSAoc3QKICAK ICBzdGF0aWMgc3RydWN0IHZhbHVlICpkZXNjX2JvdW5kcyAoc3RydWN0IHZhbHVlICopOwpAQCAt ODY0LDEwICs4NjQsMTAgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2FkYS1sYW5n LmMKICAgICAgICBpbnQgZWx0X2JpdHNpemUgPSBUWVBFX0ZJRUxEX0JJVFNJWkUgKHR5cGUwLCAw KTsKICAKICAgICAgICBUWVBFX0ZJRUxEX0JJVFNJWkUgKHJlc3VsdCwgMCkgPSBUWVBFX0ZJRUxE X0JJVFNJWkUgKHR5cGUwLCAwKTsKLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9hZGEt bGFuZy5oCitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvYWRhLWxhbmcuaAogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIvYWRhLWxhbmcuaAkyMDE1LTA1 LTMxIDE3OjA4OjQ2LjgwOTUwNjE3MCArMDIwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2Ri L2FkYS1sYW5nLmgJMjAxNS0wNS0zMSAxNzowOToyMS40Mjg3MjQ2NjMgKzAyMDAKKy0tLSBnZGIt Ny45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL2FkYS1sYW5nLmgJMjAxNS0wNy0wOSAxODoyNDozOC45 NjkzNTU4ODkgKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9hZGEtbGFuZy5oCTIw MTUtMDctMDkgMTg6MjQ6NDIuMjE5MzgzNjEyICswMjAwCiBAQCAtMTc5LDcgKzE3OSw3IEBAIGV4 dGVybiB2b2lkIGFkYV9wcmludF90eXBlIChzdHJ1Y3QgdHlwZQogIGV4dGVybiB2b2lkIGFkYV9w cmludF90eXBlZGVmIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHN5bWJvbCAqbmV3X3N5bWJv bCwKICAJCQkgICAgICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSk7CkBAIC04OTUsMTAgKzg5NSwx MCBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvYWRhLWxhbmcuaAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHR5cGUg Kik7CiAgCiAgZXh0ZXJuIHN0cnVjdCB0eXBlICphZGFfY29lcmNlX3RvX3NpbXBsZV9hcnJheV90 eXBlIChzdHJ1Y3QgdHlwZSAqKTsKLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9hZGEt dHlwZXByaW50LmMKK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9hZGEtdHlwZXByaW50 LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL2FkYS10eXBl cHJpbnQuYwkyMDE1LTA1LTMxIDE3OjA4OjQ2LjgwOTUwNjE3MCArMDIwMAotKysrIGdkYi03Ljku NTAuMjAxNTA1MjAvZ2RiL2FkYS10eXBlcHJpbnQuYwkyMDE1LTA1LTMxIDE3OjA5OjIxLjQyOTcy NDY3MCArMDIwMAorLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIvYWRhLXR5cGVwcmlu dC5jCTIwMTUtMDctMDkgMTg6MjQ6MzguOTY5MzU1ODg5ICswMjAwCisrKysgZ2RiLTcuOS45MC4y MDE1MDcwOS9nZGIvYWRhLXR5cGVwcmludC5jCTIwMTUtMDctMDkgMTg6MjQ6NDIuMjIwMzgzNjIx ICswMjAwCiBAQCAtODg2LDggKzg4Niw4IEBAIGFkYV9wcmludF90eXBlIChzdHJ1Y3QgdHlwZSAq dHlwZTAsIGNvbnMKICAJICAgIGNvbnN0IGNoYXIgKm5hbWUgPSBhZGFfdHlwZV9uYW1lICh0eXBl KTsKICAKQEAgLTkyMCwxMCArOTIwLDEwIEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dk Yi9hZGEtdHlwZXByaW50LmMKICAJYnJlYWs7CiAgICAgICAgY2FzZSBUWVBFX0NPREVfRU5VTToK ICAJaWYgKHNob3cgPCAwKQotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2FkYS12YWxw cmludC5jCitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvYWRhLXZhbHByaW50LmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL2FkYS12YWxwcmludC5j CTIwMTUtMDUtMzEgMTc6MDg6NDYuODEwNTA2MTc2ICswMjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1 MDUyMC9nZGIvYWRhLXZhbHByaW50LmMJMjAxNS0wNS0zMSAxNzowOToyMS40MzA3MjQ2NzYgKzAy MDAKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL2FkYS12YWxwcmludC5jCTIwMTUt MDctMDkgMTg6MjQ6MzguOTcwMzU1ODk4ICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9n ZGIvYWRhLXZhbHByaW50LmMJMjAxNS0wNy0wOSAxODoyNDo0Mi4yMjAzODM2MjEgKzAyMDAKIEBA IC0zMywxMSArMzMsMTEgQEAKICAjaW5jbHVkZSAib2JqZmlsZXMuaCIKICAKQEAgLTEwNjgsMTAg KzEwNjgsMTAgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2FkYS12YWxwcmludC5j CiAgCSAgICAgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJICAgICAg IGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsLAogIAkgICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3By aW50X29wdGlvbnMgKm9wdGlvbnMpCi1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvYW5u b3RhdGUuYworSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2Fubm90YXRlLmMKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL2Fubm90YXRlLmMJMjAxNS0w NS0zMSAxNzowODo0Ni44MTE1MDYxODIgKzAyMDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dk Yi9hbm5vdGF0ZS5jCTIwMTUtMDUtMzEgMTc6MDk6MjEuNDMwNzI0Njc2ICswMjAwCistLS0gZ2Ri LTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9hbm5vdGF0ZS5jCTIwMTUtMDctMDkgMTg6MjQ6Mzgu OTcxMzU1OTA2ICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvYW5ub3RhdGUuYwky MDE1LTA3LTA5IDE4OjI0OjQyLjIyMTM4MzYyOSArMDIwMAogQEAgLTU0MiwyMSArNTQyLDIxIEBA IGFubm90YXRlX2ZyYW1lX2VuZCAodm9pZCkKICB9CiAgDApAQCAtMTA5OCwxMCArMTA5OCwxMCBA QCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvYW5ub3RhdGUuYwogIH0KICAKICB2b2lk Ci1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvYW5ub3RhdGUuaAorSW5kZXg6IGdkYi03 LjkuOTAuMjAxNTA3MDkvZ2RiL2Fubm90YXRlLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45LjUw LjIwMTUwNTIwLm9yaWcvZ2RiL2Fubm90YXRlLmgJMjAxNS0wNS0zMSAxNzowODo0Ni44MTE1MDYx ODIgKzAyMDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9hbm5vdGF0ZS5oCTIwMTUtMDUt MzEgMTc6MDk6MjEuNDMwNzI0Njc2ICswMjAwCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmln L2dkYi9hbm5vdGF0ZS5oCTIwMTUtMDctMDkgMTg6MjQ6MzguOTcxMzU1OTA2ICswMjAwCisrKysg Z2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvYW5ub3RhdGUuaAkyMDE1LTA3LTA5IDE4OjI0OjQyLjIy MTM4MzYyOSArMDIwMAogQEAgLTkyLDggKzkyLDggQEAgZXh0ZXJuIHZvaWQgYW5ub3RhdGVfZnJh bWVfc291cmNlX2VuZCAodgogIGV4dGVybiB2b2lkIGFubm90YXRlX2ZyYW1lX3doZXJlICh2b2lk KTsKICBleHRlcm4gdm9pZCBhbm5vdGF0ZV9mcmFtZV9lbmQgKHZvaWQpOwpAQCAtMTExMywxMSAr MTExMywxMSBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvYW5ub3RhdGUuaAogIGV4 dGVybiB2b2lkIGFubm90YXRlX2VsdF9yZXBfZW5kICh2b2lkKTsKICBleHRlcm4gdm9pZCBhbm5v dGF0ZV9lbHQgKHZvaWQpOwogIGV4dGVybiB2b2lkIGFubm90YXRlX2FycmF5X3NlY3Rpb25fZW5k ICh2b2lkKTsKLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9hcm0tbGludXgtbmF0LmMK K0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9hcm0tbGludXgtbmF0LmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL2FybS1saW51eC1uYXQuYwkyMDE1 LTA1LTMxIDE3OjA4OjQ2LjgxMjUwNjE4OCArMDIwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAv Z2RiL2FybS1saW51eC1uYXQuYwkyMDE1LTA1LTMxIDE3OjA5OjIxLjQzMTcyNDY4MiArMDIwMAot QEAgLTExOTQsNyArMTE5NCw3IEBAIGFybV9saW51eF9yZW1vdmVfaHdfYnJlYWtwb2ludCAoc3Ry dWN0IHQKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL2FybS1saW51eC1uYXQuYwky MDE1LTA3LTA5IDE4OjI0OjM4Ljk3MTM1NTkwNiArMDIwMAorKysrIGdkYi03LjkuOTAuMjAxNTA3 MDkvZ2RiL2FybS1saW51eC1uYXQuYwkyMDE1LTA3LTA5IDE4OjI0OjQyLjIyMTM4MzYyOSArMDIw MAorQEAgLTEzNjIsNyArMTM2Miw3IEBAIGFybV9saW51eF9yZW1vdmVfaHdfYnJlYWtwb2ludCAo c3RydWN0IHQKICAgICBBRERSPyAgKi8KICBzdGF0aWMgaW50CiAgYXJtX2xpbnV4X3JlZ2lvbl9v a19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsCkBAIC0xMTI2LDEw ICsxMTI2LDEwIEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9hcm0tbGludXgtbmF0 LmMKICB7CiAgICBjb25zdCBzdHJ1Y3QgYXJtX2xpbnV4X2h3YnBfY2FwICpjYXAgPSBhcm1fbGlu dXhfZ2V0X2h3YnBfY2FwICgpOwogICAgQ09SRV9BRERSIG1heF93cF9sZW5ndGgsIGFsaWduZWRf YWRkcjsKLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9heC1nZGIuYworSW5kZXg6IGdk Yi03LjkuOTAuMjAxNTA3MDkvZ2RiL2F4LWdkYi5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41 MC4yMDE1MDUyMC5vcmlnL2dkYi9heC1nZGIuYwkyMDE1LTA1LTMxIDE3OjA4OjQ2LjgxMzUwNjE5 NSArMDIwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2F4LWdkYi5jCTIwMTUtMDUtMzEg MTc6MDk6MjEuNDMyNzI0Njg5ICswMjAwCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dk Yi9heC1nZGIuYwkyMDE1LTA3LTA5IDE4OjI0OjM4Ljk3MzM1NTkyMyArMDIwMAorKysrIGdkYi03 LjkuOTAuMjAxNTA3MDkvZ2RiL2F4LWdkYi5jCTIwMTUtMDctMDkgMTg6MjQ6NDIuMjIyMzgzNjM4 ICswMjAwCiBAQCAtODIsMTIgKzgyLDEyIEBAIHN0YXRpYyB2b2lkIGdlbl90cmFjZWRfcG9wIChz dHJ1Y3QgZ2RiYXIKICBzdGF0aWMgdm9pZCBnZW5fc2lnbl9leHRlbmQgKHN0cnVjdCBhZ2VudF9l eHByICosIHN0cnVjdCB0eXBlICopOwogIHN0YXRpYyB2b2lkIGdlbl9leHRlbmQgKHN0cnVjdCBh Z2VudF9leHByICosIHN0cnVjdCB0eXBlICopOwpAQCAtMTIyOSwxMCArMTIyOSwxMCBAQCBJbmRl eDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvYXgtZ2RiLmMKICB7CiAgICBpbnQgaSwgcnNsdDsK ICAgIGludCBuYmFzZXMgPSBUWVBFX05fQkFTRUNMQVNTRVMgKHR5cGUpOwotSW5kZXg6IGdkYi03 LjkuNTAuMjAxNTA1MjAvZ2RiL2F4LWdlbmVyYWwuYworSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3 MDkvZ2RiL2F4LWdlbmVyYWwuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAu b3JpZy9nZGIvYXgtZ2VuZXJhbC5jCTIwMTUtMDUtMzEgMTc6MDg6NDYuODE0NTA2MjAxICswMjAw Ci0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvYXgtZ2VuZXJhbC5jCTIwMTUtMDUtMzEgMTc6 MDk6MjEuNDMyNzI0Njg5ICswMjAwCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9h eC1nZW5lcmFsLmMJMjAxNS0wNy0wOSAxODoyNDozOC45NzMzNTU5MjMgKzAyMDAKKysrKyBnZGIt Ny45LjkwLjIwMTUwNzA5L2dkYi9heC1nZW5lcmFsLmMJMjAxNS0wNy0wOSAxODoyNDo0Mi4yMjMz ODM2NDYgKzAyMDAKIEBAIC0xOTMsNyArMTkzLDcgQEAgYXhfemVyb19leHQgKHN0cnVjdCBhZ2Vu dF9leHByICp4LCBpbnQgbgogIAogIC8qIEFwcGVuZCBhIHRyYWNlX3F1aWNrIGluc3RydWN0aW9u IHRvIEVYUFIsIHRvIHJlY29yZCBOIGJ5dGVzLiAgKi8KQEAgLTEyNDIsMTAgKzEyNDIsMTAgQEAg SW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2F4LWdlbmVyYWwuYwogIHsKICAgIC8qIE4g bXVzdCBmaXQgaW4gYSBieXRlLiAgKi8KICAgIGlmIChuIDwgMCB8fCBuID4gMjU1KQotSW5kZXg6 IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2F4LmgKK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5 L2dkYi9heC5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5vcmlnL2dkYi9h eC5oCTIwMTUtMDUtMzEgMTc6MDg6NDYuODE0NTA2MjAxICswMjAwCi0rKysgZ2RiLTcuOS41MC4y MDE1MDUyMC9nZGIvYXguaAkyMDE1LTA1LTMxIDE3OjA5OjIxLjQzMjcyNDY4OSArMDIwMAorLS0t IGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIvYXguaAkyMDE1LTA3LTA5IDE4OjI0OjM4Ljk3 MzM1NTkyMyArMDIwMAorKysrIGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2F4LmgJMjAxNS0wNy0w OSAxODoyNDo0Mi4yMjMzODM2NDYgKzAyMDAKIEBAIC0yMDcsNyArMjA3LDcgQEAgZXh0ZXJuIHZv aWQgYXhfZXh0IChzdHJ1Y3QgYWdlbnRfZXhwciAqRQogIGV4dGVybiB2b2lkIGF4X3plcm9fZXh0 IChzdHJ1Y3QgYWdlbnRfZXhwciAqRVhQUiwgaW50IE4pOwogIApAQCAtMTI1NSwxMSArMTI1NSwx MSBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvYXguaAogIAogIC8qIEFwcGVuZCBh IGdvdG8gb3AgdG8gRVhQUi4gIE9QIGlzIHRoZSBhY3R1YWwgb3AgKG11c3QgYmUgYW9wX2dvdG8g b3IKICAgICBhb3BfaWZfZ290bykuICBXZSBhc3N1bWUgd2UgZG9uJ3Qga25vdyB0aGUgdGFyZ2V0 IG9mZnNldCB5ZXQsCi1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvYnJlYWtwb2ludC5j CitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvYnJlYWtwb2ludC5jCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5vcmlnL2dkYi9icmVha3BvaW50LmMJMjAxNS0wNS0z MSAxNzowODo0Ni44MTk1MDYyMzMgKzAyMDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9i cmVha3BvaW50LmMJMjAxNS0wNS0zMSAxNzowOToyMS40MzY3MjQ3MTQgKzAyMDAKLUBAIC0yMjAx LDkgKzIyMDEsOSBAQCBzaG91bGRfYmVfaW5zZXJ0ZWQgKHN0cnVjdCBicF9sb2NhdGlvbiAqCist LS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9icmVha3BvaW50LmMJMjAxNS0wNy0wOSAx ODoyNDozOC45NzczNTU5NTggKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9icmVh a3BvaW50LmMJMjAxNS0wNy0wOSAxODoyNDo0Mi4yMjczODM2ODAgKzAyMDAKK0BAIC0yMjAyLDkg KzIyMDIsOSBAQCBzaG91bGRfYmVfaW5zZXJ0ZWQgKHN0cnVjdCBicF9sb2NhdGlvbiAqCiAgCXsK ICAJICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csCiAgCQkJICAgICAgImluZnJ1bjog c3RlcHBpbmcgcGFzdCBub24tc3RlcHBhYmxlIHdhdGNocG9pbnQuICIKQEAgLTEyNzEsNyArMTI3 MSw3IEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9icmVha3BvaW50LmMKICAJfQog ICAgICAgIHJldHVybiAwOwogICAgICB9Ci1AQCAtNzAwMyw3ICs3MDAzLDcgQEAgYnJlYWtwb2lu dF9hZGRyZXNzX21hdGNoIChzdHJ1Y3QgYWRkcmVzcworQEAgLTY5OTUsNyArNjk5NSw3IEBAIGJy ZWFrcG9pbnRfYWRkcmVzc19tYXRjaCAoc3RydWN0IGFkZHJlc3MKICAKICBzdGF0aWMgaW50CiAg YnJlYWtwb2ludF9hZGRyZXNzX21hdGNoX3JhbmdlIChzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqYXNw YWNlMSwgQ09SRV9BRERSIGFkZHIxLApAQCAtMTI4MCw3ICsxMjgwLDcgQEAgSW5kZXg6IGdkYi03 LjkuNTAuMjAxNTA1MjAvZ2RiL2JyZWFrcG9pbnQuYwogIAkJCQlDT1JFX0FERFIgYWRkcjIpCiAg ewogICAgcmV0dXJuICgoZ2RiYXJjaF9oYXNfZ2xvYmFsX2JyZWFrcG9pbnRzICh0YXJnZXRfZ2Ri YXJjaCAoKSkKLUBAIC0xMTMyNSw3ICsxMTMyNSw3IEBAIGNhbl91c2VfaGFyZHdhcmVfd2F0Y2hw b2ludCAoc3RydWN0IHZhbHUKK0BAIC0xMTMwMiw3ICsxMTMwMiw3IEBAIGNhbl91c2VfaGFyZHdh cmVfd2F0Y2hwb2ludCAoc3RydWN0IHZhbHUKICAJCSAgICAgICYmIFRZUEVfQ09ERSAodnR5cGUp ICE9IFRZUEVfQ09ERV9BUlJBWSkpCiAgCQl7CiAgCQkgIENPUkVfQUREUiB2YWRkciA9IHZhbHVl X2FkZHJlc3MgKHYpOwpAQCAtMTI4OSwxMCArMTI4OSwxMCBAQCBJbmRleDogZ2RiLTcuOS41MC4y MDE1MDUyMC9nZGIvYnJlYWtwb2ludC5jCiAgCQkgIGludCBudW1fcmVnczsKICAKICAJCSAgbGVu ID0gKHRhcmdldF9leGFjdF93YXRjaHBvaW50cwotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAv Z2RiL2JyZWFrcG9pbnQuaAorSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2JyZWFrcG9p bnQuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIvYnJlYWtw b2ludC5oCTIwMTUtMDUtMzEgMTc6MDg6NDYuODIxNTA2MjQ1ICswMjAwCi0rKysgZ2RiLTcuOS41 MC4yMDE1MDUyMC9nZGIvYnJlYWtwb2ludC5oCTIwMTUtMDUtMzEgMTc6MDk6MjEuNDM3NzI0NzIw ICswMjAwCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9icmVha3BvaW50LmgJMjAx NS0wNy0wOSAxODoyNDozOC45NzgzNTU5NjYgKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5 L2dkYi9icmVha3BvaW50LmgJMjAxNS0wNy0wOSAxODoyNDo0Mi4yMjczODM2ODAgKzAyMDAKIEBA IC0yMzYsNyArMjM2LDcgQEAgc3RydWN0IGJwX3RhcmdldF9pbmZvCiAgCiAgICAvKiBJZiB0aGlz IGlzIGEgcmFuZ2VkIGJyZWFrcG9pbnQsIHRoZW4gdGhpcyBmaWVsZCBjb250YWlucyB0aGUKQEAg LTEzMTEsMTAgKzEzMTEsMTAgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2JyZWFr cG9pbnQuaAogIAogICAgLyogVHlwZSBvZiBoYXJkd2FyZSB3YXRjaHBvaW50LiAgKi8KICAgIGVu dW0gdGFyZ2V0X2h3X2JwX3R5cGUgd2F0Y2hwb2ludF90eXBlOwotSW5kZXg6IGdkYi03LjkuNTAu MjAxNTA1MjAvZ2RiL2MtbGFuZy5jCitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvYy1s YW5nLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL2MtbGFu Zy5jCTIwMTUtMDUtMzEgMTc6MDg6NDYuODIxNTA2MjQ1ICswMjAwCi0rKysgZ2RiLTcuOS41MC4y MDE1MDUyMC9nZGIvYy1sYW5nLmMJMjAxNS0wNS0zMSAxNzowOToyMS40Mzc3MjQ3MjAgKzAyMDAK Ky0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL2MtbGFuZy5jCTIwMTUtMDctMDkgMTg6 MjQ6MzguOTc5MzU1OTc1ICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvYy1sYW5n LmMJMjAxNS0wNy0wOSAxODoyNDo0Mi4yMjgzODM2ODkgKzAyMDAKIEBAIC0xODcsNyArMTg3LDcg QEAgY19wcmludGNoYXIgKGludCBjLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgcwogIAogIHZvaWQKQEAg LTEzNDIsMTAgKzEzNDIsMTAgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2MtbGFu Zy5jCiAgCiAgCQlpZiAoZ2V0X2Rpc2NyZXRlX2JvdW5kcyAoVFlQRV9JTkRFWF9UWVBFIChleHBl Y3RfdHlwZSksCiAgCQkJCQkgJmxvd19ib3VuZCwgJmhpZ2hfYm91bmQpIDwgMCkKLUluZGV4OiBn ZGItNy45LjUwLjIwMTUwNTIwL2dkYi9jLWxhbmcuaAorSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3 MDkvZ2RiL2MtbGFuZy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5vcmln L2dkYi9jLWxhbmcuaAkyMDE1LTA1LTMxIDE3OjA4OjQ2LjgyMTUwNjI0NSArMDIwMAotKysrIGdk Yi03LjkuNTAuMjAxNTA1MjAvZ2RiL2MtbGFuZy5oCTIwMTUtMDUtMzEgMTc6MDk6MjEuNDM4NzI0 NzI2ICswMjAwCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9jLWxhbmcuaAkyMDE1 LTA3LTA5IDE4OjI0OjM4Ljk3OTM1NTk3NSArMDIwMAorKysrIGdkYi03LjkuOTAuMjAxNTA3MDkv Z2RiL2MtbGFuZy5oCTIwMTUtMDctMDkgMTg6MjQ6NDIuMjI4MzgzNjg5ICswMjAwCiBAQCAtNzQs NyArNzQsNyBAQCBleHRlcm4gdm9pZCBjX3ByaW50X3R5cGVkZWYgKHN0cnVjdCB0eXBlCiAgCQkJ ICAgICBzdHJ1Y3QgdWlfZmlsZSAqKTsKICAKQEAgLTEzODEsMTAgKzEzODEsMTAgQEAgSW5kZXg6 IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2MtbGFuZy5oCiAgCQkJCQlzdHJ1Y3QgdWlfZmlsZSAq LCBpbnQsCiAgCQkJCQljb25zdCBzdHJ1Y3QgdmFsdWUgKiwKICAJCQkJCWNvbnN0IHN0cnVjdCB2 YWx1ZV9wcmludF9vcHRpb25zICosCi1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvYy12 YWxwcmludC5jCitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvYy12YWxwcmludC5jCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5vcmlnL2dkYi9jLXZhbHByaW50LmMJ MjAxNS0wNS0zMSAxNzowODo0Ni44MjI1MDYyNTIgKzAyMDAKLSsrKyBnZGItNy45LjUwLjIwMTUw NTIwL2dkYi9jLXZhbHByaW50LmMJMjAxNS0wNS0zMSAxNzowOToyMS40Mzg3MjQ3MjYgKzAyMDAK Ky0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL2MtdmFscHJpbnQuYwkyMDE1LTA3LTA5 IDE4OjI0OjM4Ljk3OTM1NTk3NSArMDIwMAorKysrIGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2Mt dmFscHJpbnQuYwkyMDE1LTA3LTA5IDE4OjI0OjQyLjIyODM4MzY4OSArMDIwMAogQEAgLTEzMiw3 ICsxMzIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGdlbmVyaWNfdmFsX3ByaW50X2RlCiAgCiAg dm9pZApAQCAtMTQyNiwxMCArMTQyNiwxMCBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9n ZGIvYy12YWxwcmludC5jCiAgICBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyBvcHRzID0gKm9w dGlvbnM7CiAgCiAgICBvcHRzLmRlcmVmX3JlZiA9IDE7Ci1JbmRleDogZ2RiLTcuOS41MC4yMDE1 MDUyMC9nZGIvY3AtYWJpLmMKK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9jcC1hYmku YwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIvY3AtYWJpLmMJ MjAxNS0wNS0zMSAxNzowODo0Ni44MjI1MDYyNTIgKzAyMDAKLSsrKyBnZGItNy45LjUwLjIwMTUw NTIwL2dkYi9jcC1hYmkuYwkyMDE1LTA1LTMxIDE3OjEyOjUzLjc2NjA2NDc5OCArMDIwMAorLS0t IGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIvY3AtYWJpLmMJMjAxNS0wNy0wOSAxODoyNDoz OC45ODAzNTU5ODMgKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9jcC1hYmkuYwky MDE1LTA3LTA5IDE4OjI0OjQyLjIyODM4MzY4OSArMDIwMAogQEAgLTY0LDEyICs2NCwxMiBAQCBp c19vcGVyYXRvcl9uYW1lIChjb25zdCBjaGFyICpuYW1lKQogICAgcmV0dXJuICgqY3VycmVudF9j cF9hYmkuaXNfb3BlcmF0b3JfbmFtZSkgKG5hbWUpOwogIH0KQEAgLTE0NjQsMTAgKzE0NjQsMTAg QEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2NwLWFiaS5jCiAgewogICAgc3RydWN0 IHR5cGUgKnJldCA9IE5VTEw7CiAgCi1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvY3At YWJpLmgKK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9jcC1hYmkuaAogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIvY3AtYWJpLmgJMjAxNS0wNS0zMSAx NzowODo0Ni44MjM1MDYyNTggKzAyMDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9jcC1h YmkuaAkyMDE1LTA1LTMxIDE3OjA5OjIxLjQzOTcyNDczMyArMDIwMAorLS0tIGdkYi03LjkuOTAu MjAxNTA3MDkub3JpZy9nZGIvY3AtYWJpLmgJMjAxNS0wNy0wOSAxODoyNDozOC45ODAzNTU5ODMg KzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9jcC1hYmkuaAkyMDE1LTA3LTA5IDE4 OjI0OjQyLjIyOTM4MzY5OCArMDIwMAogQEAgLTEwOCw3ICsxMDgsNyBAQCBleHRlcm4gc3RydWN0 IHZhbHVlICp2YWx1ZV92aXJ0dWFsX2ZuX2ZpCiAgCQkJCQkgICAgIHN0cnVjdCBmbl9maWVsZCAq ZiwKICAJCQkJCSAgICAgaW50IGosCkBAIC0xNTIyLDEwICsxNTIyLDEwIEBAIEluZGV4OiBnZGIt Ny45LjUwLjIwMTUwNTIwL2dkYi9jcC1hYmkuaAogICAgdm9pZCAoKnByaW50X21ldGhvZF9wdHIp IChjb25zdCBnZGJfYnl0ZSAqY29udGVudHMsCiAgCQkJICAgIHN0cnVjdCB0eXBlICp0eXBlLAog IAkJCSAgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKTsKLUluZGV4OiBnZGItNy45LjUwLjIwMTUw NTIwL2dkYi9jcC12YWxwcmludC5jCitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvY3At dmFscHJpbnQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIv Y3AtdmFscHJpbnQuYwkyMDE1LTA1LTMxIDE3OjA4OjQ2LjgyMzUwNjI1OCArMDIwMAotKysrIGdk Yi03LjkuNTAuMjAxNTA1MjAvZ2RiL2NwLXZhbHByaW50LmMJMjAxNS0wNS0zMSAxNzoxNDo0MS43 OTY3NDY2MTcgKzAyMDAKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL2NwLXZhbHBy aW50LmMJMjAxNS0wNy0wOSAxODoyNDozOC45ODAzNTU5ODMgKzAyMDAKKysrKyBnZGItNy45Ljkw LjIwMTUwNzA5L2dkYi9jcC12YWxwcmludC5jCTIwMTUtMDctMDkgMTg6MjQ6NDIuMjI5MzgzNjk4 ICswMjAwCiBAQCAtODAsNyArODAsNyBAQCBzdGF0aWMgdm9pZCBjcF9wcmludF9zdGF0aWNfZmll bGQgKHN0cnVjCiAgCQkJCSAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICopOwog IApAQCAtMTU5OSwxMCArMTU5OSwxMCBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIv Y3AtdmFscHJpbnQuYwogICAgICAgIGludCBza2lwID0gMDsKICAgICAgICBzdHJ1Y3QgdHlwZSAq YmFzZWNsYXNzID0gY2hlY2tfdHlwZWRlZiAoVFlQRV9CQVNFQ0xBU1MgKHR5cGUsIGkpKTsKICAg ICAgICBjb25zdCBjaGFyICpiYXNlbmFtZSA9IFRZUEVfTkFNRSAoYmFzZWNsYXNzKTsKLUluZGV4 OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9kLWxhbmcuaAorSW5kZXg6IGdkYi03LjkuOTAuMjAx NTA3MDkvZ2RiL2QtbGFuZy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5v cmlnL2dkYi9kLWxhbmcuaAkyMDE1LTA1LTMxIDE3OjA4OjQ2LjgyNDUwNjI2NCArMDIwMAotKysr IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2QtbGFuZy5oCTIwMTUtMDUtMzEgMTc6MDk6MjEuNDM5 NzI0NzMzICswMjAwCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9kLWxhbmcuaAky MDE1LTA3LTA5IDE4OjI0OjM4Ljk4MTM1NTk5MiArMDIwMAorKysrIGdkYi03LjkuOTAuMjAxNTA3 MDkvZ2RiL2QtbGFuZy5oCTIwMTUtMDctMDkgMTg6MjQ6NDIuMjI5MzgzNjk4ICswMjAwCiBAQCAt NzEsNyArNzEsNyBAQCBleHRlcm4gY29uc3Qgc3RydWN0IGJ1aWx0aW5fZF90eXBlICpidWlsCiAg LyogRGVmaW5lZCBpbiBkLXZhbHByaW50LmMgICovCiAgCkBAIC0xNjEyLDEwICsxNjEyLDEwIEBA IEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9kLWxhbmcuaAogIAkJCSBzdHJ1Y3QgdWlf ZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJCQkgY29uc3Qgc3RydWN0IHZhbHVlICp2YWws CiAgCQkJIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKTsKLUluZGV4 OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9kLXZhbHByaW50LmMKK0luZGV4OiBnZGItNy45Ljkw LjIwMTUwNzA5L2dkYi9kLXZhbHByaW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45LjUwLjIw MTUwNTIwLm9yaWcvZ2RiL2QtdmFscHJpbnQuYwkyMDE1LTA1LTMxIDE3OjA4OjQ2LjgyNDUwNjI2 NCArMDIwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2QtdmFscHJpbnQuYwkyMDE1LTA1 LTMxIDE3OjA5OjIxLjQ0MDcyNDczOSArMDIwMAorLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3Jp Zy9nZGIvZC12YWxwcmludC5jCTIwMTUtMDctMDkgMTg6MjQ6MzguOTgxMzU1OTkyICswMjAwCisr KysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvZC12YWxwcmludC5jCTIwMTUtMDctMDkgMTg6MjQ6 NDIuMjI5MzgzNjk4ICswMjAwCiBAQCAtMjksNyArMjksNyBAQAogIAogIHN0YXRpYyBpbnQKQEAg LTE2MzgsMTAgKzE2MzgsMTAgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2QtdmFs cHJpbnQuYwogICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAq b3B0aW9ucykKICB7CiAgICBpbnQgcmV0OwotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2Ri L2RvdWJsZXN0LmMKK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9kb3VibGVzdC5jCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5vcmlnL2dkYi9kb3VibGVzdC5jCTIw MTUtMDUtMzEgMTc6MDg6NDYuODI0NTA2MjY0ICswMjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUy MC9nZGIvZG91Ymxlc3QuYwkyMDE1LTA1LTMxIDE3OjA5OjIxLjQ0MDcyNDczOSArMDIwMAorLS0t IGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIvZG91Ymxlc3QuYwkyMDE1LTA3LTA5IDE4OjI0 OjM4Ljk4MTM1NTk5MiArMDIwMAorKysrIGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2RvdWJsZXN0 LmMJMjAxNS0wNy0wOSAxODoyNDo0Mi4yMzAzODM3MDYgKzAyMDAKIEBAIC03NjUsNyArNzY1LDcg QEAgZmxvYXRmb3JtYXRfZnJvbV9kb3VibGVzdCAoY29uc3Qgc3RydWN0CiAgICAgYnV0IG5vdCBw YXNzZWQgb24gYnkgR0RCLiAgVGhpcyBzaG91bGQgYmUgZml4ZWQuICAqLwogIApAQCAtMTY2Miwx MSArMTY2MiwxMSBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvZG91Ymxlc3QuYwog ICAgcmV0dXJuIGZvcm1hdDsKICB9CiAgCi1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIv ZHdhcmYybG9jLmMKK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9kd2FyZjJsb2MuYwog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIvZHdhcmYybG9jLmMJ MjAxNS0wNS0zMSAxNzowODo0Ni44MjY1MDYyNzcgKzAyMDAKLSsrKyBnZGItNy45LjUwLjIwMTUw NTIwL2dkYi9kd2FyZjJsb2MuYwkyMDE1LTA1LTMxIDE3OjA5OjIxLjQ0MTcyNDc0NSArMDIwMAot QEAgLTE1NTgsMTkgKzE1NTgsMTkgQEAgaW5zZXJ0X2JpdHMgKHVuc2lnbmVkIGludCBkYXR1bSwK Ky0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL2R3YXJmMmxvYy5jCTIwMTUtMDctMDkg MTg6MjQ6MzguOTgzMzU2MDA5ICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvZHdh cmYybG9jLmMJMjAxNS0wNy0wOSAxODoyNDo0Mi4yMzEzODM3MTUgKzAyMDAKK0BAIC0xNTU3LDE5 ICsxNTU3LDE5IEBAIGluc2VydF9iaXRzICh1bnNpZ25lZCBpbnQgZGF0dW0sCiAgICAgQklUU19C SUdfRU5ESUFOIGlzIHRha2VuIGRpcmVjdGx5IGZyb20gZ2RiYXJjaC4gICovCiAgCiAgc3RhdGlj IHZvaWQKQEAgLTE2OTIsNyArMTY5Miw3IEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dk Yi9kd2FyZjJsb2MuYwogIAogICAgZGVzdF9hdmFpbCA9IDggLSBkZXN0X29mZnNldF9iaXRzICUg ODsKICAKLUBAIC0xNjA4LDEzICsxNjA4LDEzIEBAIHN0YXRpYyB2b2lkCitAQCAtMTYwNywxMyAr MTYwNywxMyBAQCBzdGF0aWMgdm9pZAogIHJlYWRfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUg KnYpCiAgewogICAgaW50IGk7CkBAIC0xNzA4LDcgKzE3MDgsNyBAQCBJbmRleDogZ2RiLTcuOS41 MC4yMDE1MDUyMC9nZGIvZHdhcmYybG9jLmMKICAgIHNpemVfdCBidWZmZXJfc2l6ZSA9IDA7CiAg ICBnZGJfYnl0ZSAqYnVmZmVyID0gTlVMTDsKICAgIHN0cnVjdCBjbGVhbnVwICpjbGVhbnVwOwot QEAgLTE2NDEsOCArMTY0MSw4IEBAIHJlYWRfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnYp CitAQCAtMTY0MCw4ICsxNjQwLDggQEAgcmVhZF9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAq dikKICAgIGZvciAoaSA9IDA7IGkgPCBjLT5uX3BpZWNlcyAmJiBvZmZzZXQgPCB0eXBlX2xlbjsg aSsrKQogICAgICB7CiAgICAgICAgc3RydWN0IGR3YXJmX2V4cHJfcGllY2UgKnAgPSAmYy0+cGll Y2VzW2ldOwpAQCAtMTcxOSw3ICsxNzE5LDcgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAv Z2RiL2R3YXJmMmxvYy5jCiAgICAgICAgY29uc3QgZ2RiX2J5dGUgKmludGVybWVkaWF0ZV9idWZm ZXI7CiAgCiAgICAgICAgLyogQ29tcHV0ZSBzaXplLCBzb3VyY2UsIGFuZCBkZXN0aW5hdGlvbiBv ZmZzZXRzIGZvciBjb3B5aW5nLCBpbgotQEAgLTE3OTEsMTMgKzE3OTEsMTMgQEAgc3RhdGljIHZv aWQKK0BAIC0xNzkwLDEzICsxNzkwLDEzIEBAIHN0YXRpYyB2b2lkCiAgd3JpdGVfcGllY2VkX3Zh bHVlIChzdHJ1Y3QgdmFsdWUgKnRvLCBzdHJ1Y3QgdmFsdWUgKmZyb20pCiAgewogICAgaW50IGk7 CkBAIC0xNzM1LDcgKzE3MzUsNyBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvZHdh cmYybG9jLmMKICAgIHNpemVfdCBidWZmZXJfc2l6ZSA9IDA7CiAgICBnZGJfYnl0ZSAqYnVmZmVy ID0gTlVMTDsKICAgIHN0cnVjdCBjbGVhbnVwICpjbGVhbnVwOwotQEAgLTE4MjUsOCArMTgyNSw4 IEBAIHdyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp0bywgc3QKK0BAIC0xODI0LDgg KzE4MjQsOCBAQCB3cml0ZV9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdG8sIHN0CiAgICBm b3IgKGkgPSAwOyBpIDwgYy0+bl9waWVjZXMgJiYgb2Zmc2V0IDwgdHlwZV9sZW47IGkrKykKICAg ICAgewogICAgICAgIHN0cnVjdCBkd2FyZl9leHByX3BpZWNlICpwID0gJmMtPnBpZWNlc1tpXTsK QEAgLTE3NDYsNyArMTc0Niw3IEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9kd2Fy ZjJsb2MuYwogICAgICAgIGludCBuZWVkX2JpdHdpc2U7CiAgICAgICAgY29uc3QgZ2RiX2J5dGUg KnNvdXJjZV9idWZmZXI7CiAgCi1AQCAtMTk1NCw4ICsxOTU0LDggQEAgd3JpdGVfcGllY2VkX3Zh bHVlIChzdHJ1Y3QgdmFsdWUgKnRvLCBzdAorQEAgLTE5NTMsOCArMTk1Myw4IEBAIHdyaXRlX3Bp ZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp0bywgc3QKICAgICBhIHN5bnRoZXRpYyBwb2ludGVy LiAgKi8KICAKICBzdGF0aWMgaW50CkBAIC0xNzU3LDcgKzE3NTcsNyBAQCBJbmRleDogZ2RiLTcu OS41MC4yMDE1MDUyMC9nZGIvZHdhcmYybG9jLmMKICB7CiAgICBzdHJ1Y3QgcGllY2VfY2xvc3Vy ZSAqYwogICAgICA9IChzdHJ1Y3QgcGllY2VfY2xvc3VyZSAqKSB2YWx1ZV9jb21wdXRlZF9jbG9z dXJlICh2YWx1ZSk7Ci1AQCAtMTk2OCw3ICsxOTY4LDcgQEAgY2hlY2tfcGllY2VkX3N5bnRoZXRp Y19wb2ludGVyIChjb25zdCBzdAorQEAgLTE5NjcsNyArMTk2Nyw3IEBAIGNoZWNrX3BpZWNlZF9z eW50aGV0aWNfcG9pbnRlciAoY29uc3Qgc3QKICAgIGZvciAoaSA9IDA7IGkgPCBjLT5uX3BpZWNl cyAmJiBiaXRfbGVuZ3RoID4gMDsgaSsrKQogICAgICB7CiAgICAgICAgc3RydWN0IGR3YXJmX2V4 cHJfcGllY2UgKnAgPSAmYy0+cGllY2VzW2ldOwpAQCAtMTc2Niw3ICsxNzY2LDcgQEAgSW5kZXg6 IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2R3YXJmMmxvYy5jCiAgCiAgICAgICAgaWYgKGJpdF9v ZmZzZXQgPiAwKQogIAl7Ci1AQCAtMjAxMCw5ICsyMDEwLDEwIEBAIGluZGlyZWN0X3BpZWNlZF92 YWx1ZSAoc3RydWN0IHZhbHVlICp2YWwKK0BAIC0yMDA5LDkgKzIwMDksMTAgQEAgaW5kaXJlY3Rf cGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnZhbAogICAgc3RydWN0IHR5cGUgKnR5cGU7CiAg ICBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWU7CiAgICBzdHJ1Y3QgZHdhcmYyX2xvY2V4cHJfYmF0 b24gYmF0b247CkBAIC0xNzc5LDcgKzE3NzksNyBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUy MC9nZGIvZHdhcmYybG9jLmMKICAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyOwogIAogICAg dHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKHZhbHVlKSk7Ci1AQCAtMjAyNyw3ICsy MDI4LDcgQEAgaW5kaXJlY3RfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnZhbAorQEAgLTIw MjYsNyArMjAyNyw3IEBAIGluZGlyZWN0X3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2YWwK ICAgIGZvciAoaSA9IDA7IGkgPCBjLT5uX3BpZWNlcyAmJiBiaXRfbGVuZ3RoID4gMDsgaSsrKQog ICAgICB7CiAgICAgICAgc3RydWN0IGR3YXJmX2V4cHJfcGllY2UgKnAgPSAmYy0+cGllY2VzW2ld OwpAQCAtMTc4OCw3ICsxNzg4LDcgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2R3 YXJmMmxvYy5jCiAgCiAgICAgICAgaWYgKGJpdF9vZmZzZXQgPiAwKQogIAl7Ci1AQCAtMjMxMCw3 ICsyMzExLDcgQEAgZHdhcmYyX2V2YWx1YXRlX2xvY19kZXNjX2Z1bGwgKHN0cnVjdCB0eQorQEAg LTIzMDksNyArMjMxMCw3IEBAIGR3YXJmMl9ldmFsdWF0ZV9sb2NfZGVzY19mdWxsIChzdHJ1Y3Qg dHkKICAJICAgIHN0cnVjdCB2YWx1ZSAqdmFsdWUgPSBkd2FyZl9leHByX2ZldGNoIChjdHgsIDAp OwogIAkgICAgZ2RiX2J5dGUgKmNvbnRlbnRzOwogIAkgICAgY29uc3QgZ2RiX2J5dGUgKnZhbF9i eXRlczsKQEAgLTE3OTcsMTEgKzE3OTcsMTEgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAv Z2RiL2R3YXJmMmxvYy5jCiAgCiAgCSAgICBpZiAoYnl0ZV9vZmZzZXQgKyBUWVBFX0xFTkdUSCAo dHlwZSkgPiBuKQogIAkgICAgICBpbnZhbGlkX3N5bnRoZXRpY19wb2ludGVyICgpOwotSW5kZXg6 IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2R3YXJmMnJlYWQuYworSW5kZXg6IGdkYi03LjkuOTAu MjAxNTA3MDkvZ2RiL2R3YXJmMnJlYWQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAx NTA1MjAub3JpZy9nZGIvZHdhcmYycmVhZC5jCTIwMTUtMDUtMzEgMTc6MDg6NDYuODMyNTA2MzE1 ICswMjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvZHdhcmYycmVhZC5jCTIwMTUtMDUt MzEgMTc6MDk6MjEuNDQ2NzI0Nzc3ICswMjAwCi1AQCAtMTkwNywxMiArMTkwNywxMiBAQCBkd2Fy ZjJfY29tcGxleF9sb2NhdGlvbl9leHByX2NvbXBsYWludCAoCistLS0gZ2RiLTcuOS45MC4yMDE1 MDcwOS5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAxNS0wNy0wOSAxODoyNDozOC45ODkzNTYwNjAg KzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9kd2FyZjJyZWFkLmMJMjAxNS0wNy0w OSAxODoyNDo0Mi4yMzYzODM3NTcgKzAyMDAKK0BAIC0xOTEwLDEyICsxOTEwLDEyIEBAIGR3YXJm Ml9jb21wbGV4X2xvY2F0aW9uX2V4cHJfY29tcGxhaW50ICgKICB9CiAgCiAgc3RhdGljIHZvaWQK QEAgLTE4MTgsNyArMTgxOCw3IEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9kd2Fy ZjJyZWFkLmMKICB9CiAgCiAgc3RhdGljIHZvaWQKLUBAIC0xMjUyMSw4ICsxMjUyMSw4IEBAIGR3 YXJmMl9hZGRfZmllbGQgKHN0cnVjdCBmaWVsZF9pbmZvICpmaXAKK0BAIC0xMjUyNCw4ICsxMjUy NCw4IEBAIGR3YXJmMl9hZGRfZmllbGQgKHN0cnVjdCBmaWVsZF9pbmZvICpmaXAKICAJICAgICAg ICAgb2JqZWN0LCBhbmQgdGhlbiBzdWJ0cmFjdCBvZmYgdGhlIG51bWJlciBvZiBiaXRzIG9mCiAg CSAgICAgICAgIHRoZSBmaWVsZCBpdHNlbGYuICBUaGUgcmVzdWx0IGlzIHRoZSBiaXQgb2Zmc2V0 IG9mCiAgCSAgICAgICAgIHRoZSBMU0Igb2YgdGhlIGZpZWxkLiAgKi8KQEAgLTE4MjksMTAgKzE4 MjksMTAgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2R3YXJmMnJlYWQuYwogIAog IAkgICAgICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfYnl0ZV9zaXplLCBjdSk7CiAg CSAgICAgIGlmIChhdHRyKQotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2V2YWwuYwor SW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2V2YWwuYwogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIvZXZhbC5jCTIwMTUtMDUtMzEgMTc6MDg6NDYuODM0 NTA2MzI3ICswMjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvZXZhbC5jCTIwMTUtMDUt MzEgMTc6MDk6MjEuNDQ3NzI0NzgzICswMjAwCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmln L2dkYi9ldmFsLmMJMjAxNS0wNy0wOSAxODoyNDozOC45OTAzNTYwNjggKzAyMDAKKysrKyBnZGIt Ny45LjkwLjIwMTUwNzA5L2dkYi9ldmFsLmMJMjAxNS0wNy0wOSAxODoyNDo0Mi4yMzczODM3NjYg KzAyMDAKIEBAIC0zMTcsNyArMzE3LDggQEAgZXZhbHVhdGVfc3RydWN0X3R1cGxlIChzdHJ1Y3Qg dmFsdWUgKnN0cgogICAgd2hpbGUgKC0tbmFyZ3MgPj0gMCkKICAgICAgewpAQCAtMTg5NSwxMCAr MTg5NSwxMCBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvZXZhbC5jCiAgCXN0cnVj dCB2YWx1ZV9wcmludF9vcHRpb25zIG9wdHM7CiAgCiAgCWdldF91c2VyX3ByaW50X29wdGlvbnMg KCZvcHRzKTsKLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9mLWxhbmcuYworSW5kZXg6 IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2YtbGFuZy5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu OS41MC4yMDE1MDUyMC5vcmlnL2dkYi9mLWxhbmcuYwkyMDE1LTA1LTMxIDE3OjA4OjQ2LjgzNTUw NjMzNCArMDIwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2YtbGFuZy5jCTIwMTUtMDUt MzEgMTc6MDk6MjEuNDQ4NzI0NzkwICswMjAwCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmln L2dkYi9mLWxhbmcuYwkyMDE1LTA3LTA5IDE4OjI0OjM4Ljk5MTM1NjA3NyArMDIwMAorKysrIGdk Yi03LjkuOTAuMjAxNTA3MDkvZ2RiL2YtbGFuZy5jCTIwMTUtMDctMDkgMTg6MjQ6NDIuMjM3Mzgz NzY2ICswMjAwCiBAQCAtMTAzLDcgKzEwMyw3IEBAIGZfcHJpbnRjaGFyIChpbnQgYywgc3RydWN0 IHR5cGUgKnR5cGUsIHMKICAKICBzdGF0aWMgdm9pZApAQCAtMTkwOCwxMCArMTkwOCwxMCBAQCBJ bmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvZi1sYW5nLmMKICAJICAgIGNvbnN0IHN0cnVj dCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQogIHsKICAgIGNvbnN0IGNoYXIgKnR5cGVf ZW5jb2RpbmcgPSBmX2dldF9lbmNvZGluZyAodHlwZSk7Ci1JbmRleDogZ2RiLTcuOS41MC4yMDE1 MDUyMC9nZGIvZi1sYW5nLmgKK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9mLWxhbmcu aAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIvZi1sYW5nLmgJ MjAxNS0wNS0zMSAxNzowODo0Ni44MzU1MDYzMzQgKzAyMDAKLSsrKyBnZGItNy45LjUwLjIwMTUw NTIwL2dkYi9mLWxhbmcuaAkyMDE1LTA1LTMxIDE3OjA5OjIxLjQ0ODcyNDc5MCArMDIwMAorLS0t IGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIvZi1sYW5nLmgJMjAxNS0wNy0wOSAxODoyNDoz OC45OTEzNTYwNzcgKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9mLWxhbmcuaAky MDE1LTA3LTA5IDE4OjI0OjQyLjIzODM4Mzc3NCArMDIwMAogQEAgLTMwLDcgKzMwLDcgQEAgZXh0 ZXJuIHZvaWQgZl9lcnJvciAoY2hhciAqKTsJLyogRGVmaW5lZAogIGV4dGVybiB2b2lkIGZfcHJp bnRfdHlwZSAoc3RydWN0IHR5cGUgKiwgY29uc3QgY2hhciAqLCBzdHJ1Y3QgdWlfZmlsZSAqLCBp bnQsCiAgCQkJICBpbnQsIGNvbnN0IHN0cnVjdCB0eXBlX3ByaW50X29wdGlvbnMgKik7CkBAIC0x OTIxLDEwICsxOTIxLDEwIEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9mLWxhbmcu aAogIAkJCSBzdHJ1Y3QgdWlfZmlsZSAqLCBpbnQsCiAgCQkJIGNvbnN0IHN0cnVjdCB2YWx1ZSAq LAogIAkJCSBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqKTsKLUluZGV4OiBnZGIt Ny45LjUwLjIwMTUwNTIwL2dkYi9mLXZhbHByaW50LmMKK0luZGV4OiBnZGItNy45LjkwLjIwMTUw NzA5L2dkYi9mLXZhbHByaW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIw Lm9yaWcvZ2RiL2YtdmFscHJpbnQuYwkyMDE1LTA1LTMxIDE3OjA4OjQ2LjgzNTUwNjMzNCArMDIw MAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2YtdmFscHJpbnQuYwkyMDE1LTA1LTMxIDE3 OjA5OjIxLjQ0ODcyNDc5MCArMDIwMAorLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIv Zi12YWxwcmludC5jCTIwMTUtMDctMDkgMTg6MjQ6MzguOTkxMzU2MDc3ICswMjAwCisrKysgZ2Ri LTcuOS45MC4yMDE1MDcwOS9nZGIvZi12YWxwcmludC5jCTIwMTUtMDctMDkgMTg6MjQ6NDIuMjM4 MzgzNzc0ICswMjAwCiBAQCAtMzgsNyArMzgsNyBAQCBleHRlcm4gdm9pZCBfaW5pdGlhbGl6ZV9m X3ZhbHByaW50ICh2b2lkCiAgc3RhdGljIHZvaWQgaW5mb19jb21tb25fY29tbWFuZCAoY2hhciAq LCBpbnQpOwogIHN0YXRpYyB2b2lkIGY3N19nZXRfZHluYW1pY19sZW5ndGhfb2ZfYWdncmVnYXRl IChzdHJ1Y3QgdHlwZSAqKTsKQEAgLTE5ODQsMTAgKzE5ODQsMTAgQEAgSW5kZXg6IGdkYi03Ljku NTAuMjAxNTA1MjAvZ2RiL2YtdmFscHJpbnQuYwogIAkgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZSAq b3JpZ2luYWxfdmFsdWUsCiAgCSAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMg Km9wdGlvbnMpCiAgewotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2ZpbmR2YXIuYwor SW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2ZpbmR2YXIuYwogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIvZmluZHZhci5jCTIwMTUtMDUtMzEgMTc6MDg6 NDYuODM2NTA2MzQwICswMjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvZmluZHZhci5j CTIwMTUtMDUtMzEgMTc6MDk6MjEuNDQ4NzI0NzkwICswMjAwCistLS0gZ2RiLTcuOS45MC4yMDE1 MDcwOS5vcmlnL2dkYi9maW5kdmFyLmMJMjAxNS0wNy0wOSAxODoyNDozOC45OTEzNTYwNzcgKzAy MDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9maW5kdmFyLmMJMjAxNS0wNy0wOSAxODoy NDo0Mi4yMzgzODM3NzQgKzAyMDAKIEBAIC02MjYsNyArNjI2LDcgQEAgc3RydWN0IHZhbHVlICoK ICBkZWZhdWx0X3ZhbHVlX2Zyb21fcmVnaXN0ZXIgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBz dHJ1Y3QgdHlwZSAqdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWdu dW0sIHN0cnVjdCBmcmFtZV9pZCBmcmFtZV9pZCkKQEAgLTIwMjAsMTAgKzIwMjAsMTAgQEAgSW5k ZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2ZpbmR2YXIuYwogIAogICAgICAgIC8qIElmIHRo ZSByZWdpc3RlciBsZW5ndGggaXMgbGFyZ2VyIHRoYW4gdGhlIG51bWJlciBvZiBieXRlcwogICAg ICAgICAgIHJlbWFpbmluZyB0byBjb3B5LCB0aGVuIG9ubHkgY29weSB0aGUgYXBwcm9wcmlhdGUg Ynl0ZXMuICAqLwotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2ZyYW1lLmMKK0luZGV4 OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9mcmFtZS5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu OS41MC4yMDE1MDUyMC5vcmlnL2dkYi9mcmFtZS5jCTIwMTUtMDUtMzEgMTc6MDg6NDYuODM3NTA2 MzQ2ICswMjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvZnJhbWUuYwkyMDE1LTA1LTMx IDE3OjA5OjIxLjQ0OTcyNDc5NiArMDIwMAorLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9n ZGIvZnJhbWUuYwkyMDE1LTA3LTA5IDE4OjI0OjM4Ljk5MjM1NjA4NSArMDIwMAorKysrIGdkYi03 LjkuOTAuMjAxNTA3MDkvZ2RiL2ZyYW1lLmMJMjAxNS0wNy0wOSAxODoyNDo0Mi4yMzkzODM3ODMg KzAyMDAKIEBAIC0xMjcyLDcgKzEyNzIsNyBAQCBkZXByZWNhdGVkX2ZyYW1lX3JlZ2lzdGVyX3Jl YWQgKHN0cnVjdCBmCiAgCiAgaW50CkBAIC0yMDQyLDEwICsyMDQyLDEwIEBAIEluZGV4OiBnZGIt Ny45LjUwLjIwMTUwNTIwL2dkYi9mcmFtZS5jCiAgCiAgICAvKiBDb3B5IHRoZSBkYXRhLiAgKi8K ICAgIHdoaWxlIChsZW4gPiAwKQotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2ZyYW1l LmgKK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9mcmFtZS5oCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5vcmlnL2dkYi9mcmFtZS5oCTIwMTUtMDUtMzEgMTc6MDg6 NDYuODM3NTA2MzQ2ICswMjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvZnJhbWUuaAky MDE1LTA1LTMxIDE3OjA5OjIxLjQ1MDcyNDgwMiArMDIwMAorLS0tIGdkYi03LjkuOTAuMjAxNTA3 MDkub3JpZy9nZGIvZnJhbWUuaAkyMDE1LTA3LTA5IDE4OjI0OjM4Ljk5MjM1NjA4NSArMDIwMAor KysrIGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2ZyYW1lLmgJMjAxNS0wNy0wOSAxODoyNDo0Mi4y MzkzODM3ODMgKzAyMDAKIEBAIC01ODMsNyArNTgzLDcgQEAgZXh0ZXJuIHZvaWQgcHV0X2ZyYW1l X3JlZ2lzdGVyIChzdHJ1Y3QgZgogICAgIGNvbnRlbnRzIGFyZSBvcHRpbWl6ZWQgb3V0IG9yIHVu YXZhaWxhYmxlLCBzZXQgKk9QVElNSVpFRFAsCiAgICAgKlVOQVZBSUxBQkxFUCBhY2NvcmRpbmds eS4gICovCkBAIC0yMDU1LDEwICsyMDU1LDEwIEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIw L2dkYi9mcmFtZS5oCiAgCQkJCSAgICAgZ2RiX2J5dGUgKm15YWRkciwKICAJCQkJICAgICBpbnQg Km9wdGltaXplZHAsIGludCAqdW5hdmFpbGFibGVwKTsKICAKLUluZGV4OiBnZGItNy45LjUwLjIw MTUwNTIwL2dkYi9nZGJ0eXBlcy5jCitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvZ2Ri dHlwZXMuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIvZ2Ri dHlwZXMuYwkyMDE1LTA1LTMxIDE3OjA4OjQ2LjgzOTUwNjM1OSArMDIwMAotKysrIGdkYi03Ljku NTAuMjAxNTA1MjAvZ2RiL2dkYnR5cGVzLmMJMjAxNS0wNS0zMSAxNzowOToyMS40NTE3MjQ4MDkg KzAyMDAKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL2dkYnR5cGVzLmMJMjAxNS0w Ny0wOSAxODoyNDozOC45OTUzNTYxMTEgKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dk Yi9nZGJ0eXBlcy5jCTIwMTUtMDctMDkgMTg6MjQ6NDIuMjQxMzgzODAwICswMjAwCiBAQCAtMjY5 OCw3ICsyNjk4LDcgQEAgYWxsb2NhdGVfZ25hdF9hdXhfdHlwZSAoc3RydWN0IHR5cGUgKnR5cAog ICAgIGxlYXN0IGFzIGxvbmcgYXMgT0JKRklMRS4gICovCiAgCkBAIC0yMTI2LDEwICsyMTI2LDEw IEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9nZGJ0eXBlcy5jCiAgewogICAgc3Ry dWN0IHR5cGUgKnR5cGU7CiAgCi1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvZ2RidHlw ZXMuaAorSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2dkYnR5cGVzLmgKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL2dkYnR5cGVzLmgJMjAxNS0wNS0z MSAxNzowODo0Ni44NDA1MDYzNjUgKzAyMDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9n ZGJ0eXBlcy5oCTIwMTUtMDUtMzEgMTc6MTM6MTYuMjk0MjA2OTc3ICswMjAwCistLS0gZ2RiLTcu OS45MC4yMDE1MDcwOS5vcmlnL2dkYi9nZGJ0eXBlcy5oCTIwMTUtMDctMDkgMTg6MjQ6MzguOTk1 MzU2MTExICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvZ2RidHlwZXMuaAkyMDE1 LTA3LTA5IDE4OjI0OjQyLjI0MTM4MzgwMCArMDIwMAogQEAgLTUwNCw3ICs1MDQsNyBAQCB1bmlv biBmaWVsZF9sb2NhdGlvbgogICAgICAgZ2RiYXJjaF9iaXRzX2JpZ19lbmRpYW49MCB0YXJnZXRz LCBpdCBpcyB0aGUgYml0IG9mZnNldCB0bwogICAgICAgdGhlIExTQi4gICovCkBAIC0yMTYzLDEw ICsyMTYzLDEwIEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9nZGJ0eXBlcy5oCiAg ZXh0ZXJuIHN0cnVjdCB0eXBlICphcmNoX2ludGVnZXJfdHlwZSAoc3RydWN0IGdkYmFyY2ggKiwg aW50LCBpbnQsIGNoYXIgKik7CiAgZXh0ZXJuIHN0cnVjdCB0eXBlICphcmNoX2NoYXJhY3Rlcl90 eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqLCBpbnQsIGludCwgY2hhciAqKTsKICBleHRlcm4gc3RydWN0 IHR5cGUgKmFyY2hfYm9vbGVhbl90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqLCBpbnQsIGludCwgY2hh ciAqKTsKLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9nbnUtdjItYWJpLmMKK0luZGV4 OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9nbnUtdjItYWJpLmMKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL2dudS12Mi1hYmkuYwkyMDE1LTA1LTMxIDE3OjA4 OjQ2Ljg0MDUwNjM2NSArMDIwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2dudS12Mi1h YmkuYwkyMDE1LTA1LTMxIDE3OjA5OjIxLjQ1MjcyNDgxNSArMDIwMAorLS0tIGdkYi03LjkuOTAu MjAxNTA3MDkub3JpZy9nZGIvZ251LXYyLWFiaS5jCTIwMTUtMDctMDkgMTg6MjQ6MzguOTk2MzU2 MTIwICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvZ251LXYyLWFiaS5jCTIwMTUt MDctMDkgMTg6MjQ6NDIuMjQxMzgzODAwICswMjAwCiBAQCAtODIsNyArODIsNyBAQCBnbnV2Ml9p c19vcGVyYXRvcl9uYW1lIChjb25zdCBjaGFyICpuYW1lCiAgICAgVFlQRSBpcyB0aGUgdHlwZSBp biB3aGljaCBGIGlzIGxvY2F0ZWQuICAqLwogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgpAQCAtMjIx OCwxMCArMjIxOCwxMCBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvZ251LXYyLWFi aS5jCiAgCSAgICBnbnV2Ml9iYXNlY2xhc3Nfb2Zmc2V0ICh0eXBlLCBpLCB2YWxhZGRyLAogIAkJ CQkgICAgZW1iZWRkZWRfb2Zmc2V0LCBhZGRyZXNzLCB2YWwpOwogIAotSW5kZXg6IGdkYi03Ljku NTAuMjAxNTA1MjAvZ2RiL2dudS12My1hYmkuYworSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkv Z2RiL2dudS12My1hYmkuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3Jp Zy9nZGIvZ251LXYzLWFiaS5jCTIwMTUtMDUtMzEgMTc6MDg6NDYuODQxNTA2MzcxICswMjAwCi0r KysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvZ251LXYzLWFiaS5jCTIwMTUtMDUtMzEgMTc6MDk6 MjEuNDUzNzI0ODIxICswMjAwCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9nbnUt djMtYWJpLmMJMjAxNS0wNy0wOSAxODoyNDozOC45OTYzNTYxMjAgKzAyMDAKKysrKyBnZGItNy45 LjkwLjIwMTUwNzA5L2dkYi9nbnUtdjMtYWJpLmMJMjAxNS0wNy0wOSAxODoyNDo0Mi4yNDIzODM4 MDggKzAyMDAKIEBAIC0xMDgsNyArMTA4LDcgQEAgYnVpbGRfZ2RiX3Z0YWJsZV90eXBlIChzdHJ1 Y3QgZ2RiYXJjaCAqYQogIHsKICAgIHN0cnVjdCB0eXBlICp0OwpAQCAtMjI5NiwxMCArMjI5Niwx MCBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvZ251LXYzLWFiaS5jCiAgICAgICAg c3RydWN0IHR5cGUgKmJhc2V0eXBlOwogIAogICAgICAgIGlmIChCQVNFVFlQRV9WSUFfVklSVFVB TCAoZG9tYWluLCBpKSkKLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9nby1sYW5nLmgK K0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9nby1sYW5nLmgKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL2dvLWxhbmcuaAkyMDE1LTA1LTMxIDE3OjA4 OjQ2Ljg0MTUwNjM3MSArMDIwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2dvLWxhbmcu aAkyMDE1LTA1LTMxIDE3OjA5OjIxLjQ1MzcyNDgyMSArMDIwMAorLS0tIGdkYi03LjkuOTAuMjAx NTA3MDkub3JpZy9nZGIvZ28tbGFuZy5oCTIwMTUtMDctMDkgMTg6MjQ6MzguOTk3MzU2MTI4ICsw MjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvZ28tbGFuZy5oCTIwMTUtMDctMDkgMTg6 MjQ6NDIuMjQyMzgzODA4ICswMjAwCiBAQCAtODUsNyArODUsNyBAQCBleHRlcm4gdm9pZCBnb19w cmludF90eXBlIChzdHJ1Y3QgdHlwZSAqCiAgLyogRGVmaW5lZCBpbiBnby12YWxwcmludC5jLiAg Ki8KICAKQEAgLTIzMDksMTAgKzIzMDksMTAgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAv Z2RiL2dvLWxhbmcuaAogIAkJCSAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2Us CiAgCQkJICBjb25zdCBzdHJ1Y3QgdmFsdWUgKnZhbCwKICAJCQkgIGNvbnN0IHN0cnVjdCB2YWx1 ZV9wcmludF9vcHRpb25zICpvcHRpb25zKTsKLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dk Yi9nby12YWxwcmludC5jCitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvZ28tdmFscHJp bnQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIvZ28tdmFs cHJpbnQuYwkyMDE1LTA1LTMxIDE3OjA4OjQ2Ljg0MjUwNjM3OCArMDIwMAotKysrIGdkYi03Ljku NTAuMjAxNTA1MjAvZ2RiL2dvLXZhbHByaW50LmMJMjAxNS0wNS0zMSAxNzowOToyMS40NTM3MjQ4 MjEgKzAyMDAKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL2dvLXZhbHByaW50LmMJ MjAxNS0wNy0wOSAxODoyNDozOC45OTczNTYxMjggKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUw NzA5L2dkYi9nby12YWxwcmludC5jCTIwMTUtMDctMDkgMTg6MjQ6NDIuMjQyMzgzODA4ICswMjAw CiBAQCAtMzcsNyArMzcsNyBAQAogIAogIHN0YXRpYyB2b2lkCkBAIC0yMzM1LDEwICsyMzM1LDEw IEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9nby12YWxwcmludC5jCiAgCSAgICAg IGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQogIHsKICAgIENIRUNL X1RZUEVERUYgKHR5cGUpOwotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2p2LWxhbmcu YworSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2p2LWxhbmcuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIvanYtbGFuZy5jCTIwMTUtMDUtMzEgMTc6 MDg6NDYuODQyNTA2Mzc4ICswMjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvanYtbGFu Zy5jCTIwMTUtMDUtMzEgMTc6MDk6MjEuNDU0NzI0ODI4ICswMjAwCistLS0gZ2RiLTcuOS45MC4y MDE1MDcwOS5vcmlnL2dkYi9qdi1sYW5nLmMJMjAxNS0wNy0wOSAxODoyNDozOC45OTczNTYxMjgg KzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9qdi1sYW5nLmMJMjAxNS0wNy0wOSAx ODoyNDo0Mi4yNDMzODM4MTcgKzAyMDAKIEBAIC00MzYsNyArNDM2LDcgQEAgamF2YV9saW5rX2Ns YXNzX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZAogICAgZm9yIChpID0gVFlQRV9OX0JBU0VDTEFT U0VTICh0eXBlKTsgaSA8IG5maWVsZHM7IGkrKykKICAgICAgewpAQCAtMjM1NywxMCArMjM1Nywx MCBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvanYtbGFuZy5jCiAgCSAgICAgICBj b25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKICB7CiAgICBjb25zdCBj aGFyICp0eXBlX2VuY29kaW5nID0gamF2YV9nZXRfZW5jb2RpbmcgKHR5cGUpOwotSW5kZXg6IGdk Yi03LjkuNTAuMjAxNTA1MjAvZ2RiL2p2LWxhbmcuaAorSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3 MDkvZ2RiL2p2LWxhbmcuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3Jp Zy9nZGIvanYtbGFuZy5oCTIwMTUtMDUtMzEgMTc6MDg6NDYuODQyNTA2Mzc4ICswMjAwCi0rKysg Z2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvanYtbGFuZy5oCTIwMTUtMDUtMzEgMTc6MDk6MjEuNDU0 NzI0ODI4ICswMjAwCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9qdi1sYW5nLmgJ MjAxNS0wNy0wOSAxODoyNDozOC45OTczNTYxMjggKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUw NzA5L2dkYi9qdi1sYW5nLmgJMjAxNS0wNy0wOSAxODoyNDo0Mi4yNDMzODM4MTcgKzAyMDAKIEBA IC00Myw4ICs0Myw4IEBAIHN0cnVjdCBidWlsdGluX2phdmFfdHlwZQogIAogIGV4dGVybiBjb25z dCBzdHJ1Y3QgYnVpbHRpbl9qYXZhX3R5cGUgKmJ1aWx0aW5famF2YV90eXBlIChzdHJ1Y3QgZ2Ri YXJjaCAqKTsKQEAgLTIzNzIsMTAgKzIzNzIsMTAgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1 MjAvZ2RiL2p2LWxhbmcuaAogIAkJCSAgICBjb25zdCBzdHJ1Y3QgdmFsdWUgKiwKICAJCQkgICAg Y29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKik7CiAgCi1JbmRleDogZ2RiLTcuOS41 MC4yMDE1MDUyMC9nZGIvanYtdmFscHJpbnQuYworSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkv Z2RiL2p2LXZhbHByaW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIwLm9y aWcvZ2RiL2p2LXZhbHByaW50LmMJMjAxNS0wNS0zMSAxNzowODo0Ni44NDM1MDYzODQgKzAyMDAK LSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9qdi12YWxwcmludC5jCTIwMTUtMDUtMzEgMTc6 MDk6MjEuNDU0NzI0ODI4ICswMjAwCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9q di12YWxwcmludC5jCTIwMTUtMDctMDkgMTg6MjQ6MzguOTk4MzU2MTM3ICswMjAwCisrKysgZ2Ri LTcuOS45MC4yMDE1MDcwOS9nZGIvanYtdmFscHJpbnQuYwkyMDE1LTA3LTA5IDE4OjI0OjQyLjI0 MzM4MzgxNyArMDIwMAogQEAgLTI2NSw3ICsyNjUsNyBAQCBqYXZhX3ZhbHVlX3ByaW50IChzdHJ1 Y3QgdmFsdWUgKnZhbCwgc3RyCiAgCiAgc3RhdGljIHZvaWQKQEAgLTIzOTQsMTAgKzIzOTQsMTAg QEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2p2LXZhbHByaW50LmMKICAJCXN0cnVj dCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAogIAkJY29uc3Qgc3RydWN0IHZhbHVlICp2 YWwsCiAgCQljb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKLUluZGV4 OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9sYW5ndWFnZS5jCitJbmRleDogZ2RiLTcuOS45MC4y MDE1MDcwOS9nZGIvbGFuZ3VhZ2UuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1 MjAub3JpZy9nZGIvbGFuZ3VhZ2UuYwkyMDE1LTA1LTMxIDE3OjA4OjQ2Ljg0MzUwNjM4NCArMDIw MAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2xhbmd1YWdlLmMJMjAxNS0wNS0zMSAxNzow OToyMS40NTQ3MjQ4MjggKzAyMDAKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL2xh bmd1YWdlLmMJMjAxNS0wNy0wOSAxODoyNDozOC45OTgzNTYxMzcgKzAyMDAKKysrKyBnZGItNy45 LjkwLjIwMTUwNzA5L2dkYi9sYW5ndWFnZS5jCTIwMTUtMDctMDkgMTg6MjQ6NDIuMjQ0MzgzODI1 ICswMjAwCiBAQCAtNzIwLDcgKzcyMCw3IEBAIHVua19sYW5nX3ByaW50Y2hhciAoaW50IGMsIHN0 cnVjdCB0eXBlICoKICAKICBzdGF0aWMgdm9pZApAQCAtMjQxNiwxMCArMjQxNiwxMCBAQCBJbmRl eDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvbGFuZ3VhZ2UuYwogIAkJICAgIHN0cnVjdCB1aV9m aWxlICpzdHJlYW0sIGludCByZWN1cnNlLAogIAkJICAgIGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFs LAogIAkJICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQotSW5k ZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2xhbmd1YWdlLmgKK0luZGV4OiBnZGItNy45Ljkw LjIwMTUwNzA5L2dkYi9sYW5ndWFnZS5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1 MDUyMC5vcmlnL2dkYi9sYW5ndWFnZS5oCTIwMTUtMDUtMzEgMTc6MDg6NDYuODQ0NTA2MzkwICsw MjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvbGFuZ3VhZ2UuaAkyMDE1LTA1LTMxIDE3 OjA5OjIxLjQ1NTcyNDgzNCArMDIwMAorLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIv bGFuZ3VhZ2UuaAkyMDE1LTA3LTA5IDE4OjI0OjM4Ljk5ODM1NjEzNyArMDIwMAorKysrIGdkYi03 LjkuOTAuMjAxNTA3MDkvZ2RiL2xhbmd1YWdlLmgJMjAxNS0wNy0wOSAxODoyNDo0Mi4yNDQzODM4 MjUgKzAyMDAKIEBAIC0xODksNyArMTg5LDcgQEAgc3RydWN0IGxhbmd1YWdlX2RlZm4KICAJCQkg IHN0cnVjdCB1aV9maWxlICogc3RyZWFtKTsKICAKQEAgLTI0MzgsMTAgKzI0MzgsMTAgQEAgSW5k ZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2xhbmd1YWdlLmgKICAJCQkgIHN0cnVjdCB1aV9m aWxlICpzdHJlYW0sIGludCByZWN1cnNlLAogIAkJCSAgY29uc3Qgc3RydWN0IHZhbHVlICp2YWws CiAgCQkJICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucyk7Ci1JbmRl eDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvbTItbGFuZy5jCitJbmRleDogZ2RiLTcuOS45MC4y MDE1MDcwOS9nZGIvbTItbGFuZy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUy MC5vcmlnL2dkYi9tMi1sYW5nLmMJMjAxNS0wNS0zMSAxNzowODo0Ni44NDQ1MDYzOTAgKzAyMDAK LSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9tMi1sYW5nLmMJMjAxNS0wNS0zMSAxNzowOToy MS40NTU3MjQ4MzQgKzAyMDAKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL20yLWxh bmcuYwkyMDE1LTA3LTA5IDE4OjI0OjM4Ljk5OTM1NjE0NSArMDIwMAorKysrIGdkYi03LjkuOTAu MjAxNTA3MDkvZ2RiL20yLWxhbmcuYwkyMDE1LTA3LTA5IDE4OjI0OjQyLjI0NDM4MzgyNSArMDIw MAogQEAgLTEwNCwxMCArMTA0LDEwIEBAIG0yX3ByaW50Y2hhciAoaW50IGMsIHN0cnVjdCB0eXBl ICp0eXBlLAogIAogIHN0YXRpYyB2b2lkCkBAIC0yNDc2LDEwICsyNDc2LDEwIEBAIEluZGV4OiBn ZGItNy45LjUwLjIwMTUwNTIwL2dkYi9tMi1sYW5nLmMKICAJICBpID0gcmVwMSAtIDE7CiAgCSAg dGhpbmdzX3ByaW50ZWQgKz0gb3B0aW9ucy0+cmVwZWF0X2NvdW50X3RocmVzaG9sZDsKICAJICBu ZWVkX2NvbW1hID0gMTsKLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9tMi1sYW5nLmgK K0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9tMi1sYW5nLmgKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL20yLWxhbmcuaAkyMDE1LTA1LTMxIDE3OjA4 OjQ2Ljg0NDUwNjM5MCArMDIwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL20yLWxhbmcu aAkyMDE1LTA1LTMxIDE3OjA5OjIxLjQ1NTcyNDgzNCArMDIwMAorLS0tIGdkYi03LjkuOTAuMjAx NTA3MDkub3JpZy9nZGIvbTItbGFuZy5oCTIwMTUtMDctMDkgMTg6MjQ6MzguOTk5MzU2MTQ1ICsw MjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvbTItbGFuZy5oCTIwMTUtMDctMDkgMTg6 MjQ6NDIuMjQ0MzgzODI1ICswMjAwCiBAQCAtMzQsNyArMzQsNyBAQCBleHRlcm4gdm9pZCBtMl9w cmludF90eXBlZGVmIChzdHJ1Y3QgdHlwCiAgZXh0ZXJuIGludCBtMl9pc19sb25nX3NldCAoc3Ry dWN0IHR5cGUgKnR5cGUpOwogIGV4dGVybiBpbnQgbTJfaXNfdW5ib3VuZGVkX2FycmF5IChzdHJ1 Y3QgdHlwZSAqdHlwZSk7CkBAIC0yNDg5LDEwICsyNDg5LDEwIEBAIEluZGV4OiBnZGItNy45LjUw LjIwMTUwNTIwL2dkYi9tMi1sYW5nLmgKICAJCQkgIHN0cnVjdCB1aV9maWxlICosIGludCwKICAJ CQkgIGNvbnN0IHN0cnVjdCB2YWx1ZSAqLAogIAkJCSAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50 X29wdGlvbnMgKik7Ci1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvbTItdHlwZXByaW50 LmMKK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9tMi10eXBlcHJpbnQuYwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIvbTItdHlwZXByaW50LmMJMjAx NS0wNS0zMSAxNzowODo0Ni44NDQ1MDYzOTAgKzAyMDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIw L2dkYi9tMi10eXBlcHJpbnQuYwkyMDE1LTA1LTMxIDE3OjA5OjIxLjQ1NTcyNDgzNCArMDIwMAor LS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIvbTItdHlwZXByaW50LmMJMjAxNS0wNy0w OSAxODoyNDozOC45OTkzNTYxNDUgKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9t Mi10eXBlcHJpbnQuYwkyMDE1LTA3LTA5IDE4OjI0OjQyLjI0NTM4MzgzNCArMDIwMAogQEAgLTIz NCw5ICsyMzQsMTIgQEAgc3RhdGljIHZvaWQgbTJfYXJyYXkgKHN0cnVjdCB0eXBlICp0eXBlLAog IAkgIG0yX3ByaW50X2JvdW5kcyAoVFlQRV9JTkRFWF9UWVBFICh0eXBlKSwgc3RyZWFtLCBzaG93 LCAtMSwgMSk7CiAgCX0KQEAgLTI1MDksMTAgKzI1MDksMTAgQEAgSW5kZXg6IGdkYi03LjkuNTAu MjAxNTA1MjAvZ2RiL20yLXR5cGVwcmludC5jCiAgICAgIH0KICAgIGZwcmludGZfZmlsdGVyZWQg KHN0cmVhbSwgIl0gT0YgIik7CiAgICBtMl9wcmludF90eXBlIChUWVBFX1RBUkdFVF9UWVBFICh0 eXBlKSwgIiIsIHN0cmVhbSwgc2hvdywgbGV2ZWwsIGZsYWdzKTsKLUluZGV4OiBnZGItNy45LjUw LjIwMTUwNTIwL2dkYi9tMi12YWxwcmludC5jCitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9n ZGIvbTItdmFscHJpbnQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3Jp Zy9nZGIvbTItdmFscHJpbnQuYwkyMDE1LTA1LTMxIDE3OjA4OjQ2Ljg0NTUwNjM5NyArMDIwMAot KysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL20yLXZhbHByaW50LmMJMjAxNS0wNS0zMSAxNzow OToyMS40NTY3MjQ4NDAgKzAyMDAKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL20y LXZhbHByaW50LmMJMjAxNS0wNy0wOSAxODoyNDozOC45OTkzNTYxNDUgKzAyMDAKKysrKyBnZGIt Ny45LjkwLjIwMTUwNzA5L2dkYi9tMi12YWxwcmludC5jCTIwMTUtMDctMDkgMTg6MjQ6NDIuMjQ1 MzgzODM0ICswMjAwCiBAQCAtMzUsNyArMzUsNyBAQCBzdGF0aWMgaW50IHByaW50X3VucGFja2Vk X3BvaW50ZXIgKHN0cnVjCiAgCQkJCSAgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0pOwogIHN0YXRp YyB2b2lkCkBAIC0yNTc4LDEwICsyNTc4LDEwIEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIw L2dkYi9tMi12YWxwcmludC5jCiAgCiAgCQkgIC8qIExvb2sgZm9yIGEgTlVMTCBjaGFyLiAgKi8K ICAJCSAgZm9yICh0ZW1wX2xlbiA9IDA7Ci1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIv bWVtcmFuZ2UuYworSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL21lbXJhbmdlLmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL21lbXJhbmdlLmMJMjAx NS0wNS0zMSAxNzowODo0Ni44NDU1MDYzOTcgKzAyMDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIw L2dkYi9tZW1yYW5nZS5jCTIwMTUtMDUtMzEgMTc6MDk6MjEuNDU2NzI0ODQwICswMjAwCistLS0g Z2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9tZW1yYW5nZS5jCTIwMTUtMDctMDkgMTg6MjQ6 MzguOTk5MzU2MTQ1ICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvbWVtcmFuZ2Uu YwkyMDE1LTA3LTA5IDE4OjI0OjQyLjI0NTM4MzgzNCArMDIwMAogQEAgLTIxLDggKzIxLDggQEAK ICAjaW5jbHVkZSAibWVtcmFuZ2UuaCIKICAKQEAgLTI1OTMsMTAgKzI1OTMsMTAgQEAgSW5kZXg6 IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL21lbXJhbmdlLmMKICB7CiAgICBVTE9OR0VTVCBoLCBs OwogIAotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL21lbXJhbmdlLmgKK0luZGV4OiBn ZGItNy45LjkwLjIwMTUwNzA5L2dkYi9tZW1yYW5nZS5oCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu OS41MC4yMDE1MDUyMC5vcmlnL2dkYi9tZW1yYW5nZS5oCTIwMTUtMDUtMzEgMTc6MDg6NDYuODQ1 NTA2Mzk3ICswMjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvbWVtcmFuZ2UuaAkyMDE1 LTA1LTMxIDE3OjA5OjIxLjQ1NjcyNDg0MCArMDIwMAorLS0tIGdkYi03LjkuOTAuMjAxNTA3MDku b3JpZy9nZGIvbWVtcmFuZ2UuaAkyMDE1LTA3LTA5IDE4OjI0OjM5LjAwMDM1NjE1NCArMDIwMAor KysrIGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL21lbXJhbmdlLmgJMjAxNS0wNy0wOSAxODoyNDo0 Mi4yNDUzODM4MzQgKzAyMDAKIEBAIC0zMCw3ICszMCw3IEBAIHN0cnVjdCBtZW1fcmFuZ2UKICAg IENPUkVfQUREUiBzdGFydDsKICAKQEAgLTI2MTcsMTAgKzI2MTcsMTAgQEAgSW5kZXg6IGdkYi03 LjkuNTAuMjAxNTA1MjAvZ2RiL21lbXJhbmdlLmgKICAKICAvKiBSZXR1cm5zIHRydWUgaWYgQURE UiBpcyBpbiBSQU5HRS4gICovCiAgCi1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvbWlw cy1saW51eC1uYXQuYworSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL21pcHMtbGludXgt bmF0LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL21pcHMt bGludXgtbmF0LmMJMjAxNS0wNS0zMSAxNzowODo0Ni44NDY1MDY0MDMgKzAyMDAKLSsrKyBnZGIt Ny45LjUwLjIwMTUwNTIwL2dkYi9taXBzLWxpbnV4LW5hdC5jCTIwMTUtMDUtMzEgMTc6MDk6MjEu NDU2NzI0ODQwICswMjAwCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9taXBzLWxp bnV4LW5hdC5jCTIwMTUtMDctMDkgMTg6MjQ6MzkuMDAwMzU2MTU0ICswMjAwCisrKysgZ2RiLTcu OS45MC4yMDE1MDcwOS9nZGIvbWlwcy1saW51eC1uYXQuYwkyMDE1LTA3LTA5IDE4OjI0OjQyLjI0 NTM4MzgzNCArMDIwMAogQEAgLTU4Niw3ICs1ODYsNyBAQCBtaXBzX2xpbnV4X3N0b3BwZWRfZGF0 YV9hZGRyZXNzIChzdHJ1Y3QKICAKICBzdGF0aWMgaW50CkBAIC0yNjMwLDEwICsyNjMwLDEwIEBA IEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9taXBzLWxpbnV4LW5hdC5jCiAgewogICAg c3RydWN0IHB0X3dhdGNoX3JlZ3MgZHVtbXlfcmVnczsKICAgIGludCBpOwotSW5kZXg6IGdkYi03 LjkuNTAuMjAxNTA1MjAvZ2RiL29wZW5jbC1sYW5nLmMKK0luZGV4OiBnZGItNy45LjkwLjIwMTUw NzA5L2dkYi9vcGVuY2wtbGFuZy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUy MC5vcmlnL2dkYi9vcGVuY2wtbGFuZy5jCTIwMTUtMDUtMzEgMTc6MDg6NDYuODQ2NTA2NDAzICsw MjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvb3BlbmNsLWxhbmcuYwkyMDE1LTA1LTMx IDE3OjA5OjIxLjQ1NzcyNDg0NiArMDIwMAorLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9n ZGIvb3BlbmNsLWxhbmcuYwkyMDE1LTA3LTA5IDE4OjI0OjM5LjAwMDM1NjE1NCArMDIwMAorKysr IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL29wZW5jbC1sYW5nLmMJMjAxNS0wNy0wOSAxODoyNDo0 Mi4yNDYzODM4NDMgKzAyMDAKIEBAIC03OCwxMSArNzgsMTEgQEAgYnVpbHRpbl9vcGVuY2xfdHlw ZSAoc3RydWN0IGdkYmFyY2ggKmdkYgogIAogIHN0YXRpYyBzdHJ1Y3QgdHlwZSAqCkBAIC0yNzEw LDEwICsyNzEwLDEwIEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9vcGVuY2wtbGFu Zy5jCiAgCiAgICAgICAgaWYgKCF2YWx1ZV9iaXRzX3N5bnRoZXRpY19wb2ludGVyIChjLT52YWws CiAgCQkJCQkgYy0+aW5kaWNlc1tpXSAqIGVsc2l6ZSArIGNvbXBfb2Zmc2V0LAotSW5kZXg6IGdk Yi03LjkuNTAuMjAxNTA1MjAvZ2RiL3AtbGFuZy5jCitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcw OS9nZGIvcC1sYW5nLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcv Z2RiL3AtbGFuZy5jCTIwMTUtMDUtMzEgMTc6MDg6NDYuODQ3NTA2NDA5ICswMjAwCi0rKysgZ2Ri LTcuOS41MC4yMDE1MDUyMC9nZGIvcC1sYW5nLmMJMjAxNS0wNS0zMSAxNzowOToyMS40NTc3MjQ4 NDYgKzAyMDAKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL3AtbGFuZy5jCTIwMTUt MDctMDkgMTg6MjQ6MzkuMDAxMzU2MTYyICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9n ZGIvcC1sYW5nLmMJMjAxNS0wNy0wOSAxODoyNDo0Mi4yNDYzODM4NDMgKzAyMDAKIEBAIC05NSw4 ICs5NSw4IEBAIHBhc2NhbF9tYWluX25hbWUgKHZvaWQpCiAgICAgYXJlIG5vdCBtdWx0aXBsZSBv ZiBUQVJHRVRfQ0hBUl9CSVQgdGhlbiB0aGUgcmVzdWx0cyBhcmUgd3JvbmcKICAgICBidXQgdGhp cyBkb2VzIG5vdCBoYXBwZW4gZm9yIEZyZWUgUGFzY2FsIG5vciBmb3IgR1BDLiAgKi8KQEAgLTI3 NjEsMTAgKzI3NjEsMTAgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3AtbGFuZy5j CiAgCSAgaSA9IHJlcDEgLSAxOwogIAkgIHRoaW5nc19wcmludGVkICs9IG9wdGlvbnMtPnJlcGVh dF9jb3VudF90aHJlc2hvbGQ7CiAgCSAgbmVlZF9jb21tYSA9IDE7Ci1JbmRleDogZ2RiLTcuOS41 MC4yMDE1MDUyMC9nZGIvcC1sYW5nLmgKK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9w LWxhbmcuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIvcC1s YW5nLmgJMjAxNS0wNS0zMSAxNzowODo0Ni44NDc1MDY0MDkgKzAyMDAKLSsrKyBnZGItNy45LjUw LjIwMTUwNTIwL2dkYi9wLWxhbmcuaAkyMDE1LTA1LTMxIDE3OjA5OjIxLjQ1NzcyNDg0NiArMDIw MAorLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIvcC1sYW5nLmgJMjAxNS0wNy0wOSAx ODoyNDozOS4wMDEzNTYxNjIgKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9wLWxh bmcuaAkyMDE1LTA3LTA5IDE4OjI0OjQyLjI0NjM4Mzg0MyArMDIwMAogQEAgLTM2LDcgKzM2LDcg QEAgZXh0ZXJuIHZvaWQgcGFzY2FsX3ByaW50X3R5cGUgKHN0cnVjdCB0eQogIGV4dGVybiB2b2lk IHBhc2NhbF9wcmludF90eXBlZGVmIChzdHJ1Y3QgdHlwZSAqLCBzdHJ1Y3Qgc3ltYm9sICosCiAg CQkJCSAgc3RydWN0IHVpX2ZpbGUgKik7CkBAIC0yNzk5LDEwICsyNzk5LDEwIEBAIEluZGV4OiBn ZGItNy45LjUwLjIwMTUwNTIwL2dkYi9wLWxhbmcuaAogIAkJCQkJICAgICAgQ09SRV9BRERSLCBz dHJ1Y3QgdWlfZmlsZSAqLAogIAkJCQkJICAgICAgaW50LAogIAkJCQkJICAgICAgY29uc3Qgc3Ry dWN0IHZhbHVlICosCi1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvcC12YWxwcmludC5j CitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvcC12YWxwcmludC5jCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5vcmlnL2dkYi9wLXZhbHByaW50LmMJMjAxNS0wNS0z MSAxNzowODo0Ni44NDc1MDY0MDkgKzAyMDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9w LXZhbHByaW50LmMJMjAxNS0wNS0zMSAxNzoxMDo1Ny41NTAzMzEzMjAgKzAyMDAKKy0tLSBnZGIt Ny45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL3AtdmFscHJpbnQuYwkyMDE1LTA3LTA5IDE4OjI0OjM5 LjAwMTM1NjE2MiArMDIwMAorKysrIGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3AtdmFscHJpbnQu YwkyMDE1LTA3LTA5IDE4OjI0OjQyLjI0NzM4Mzg1MSArMDIwMAogQEAgLTU3LDcgKzU3LDcgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBnZW5lcmljX3ZhbF9wcmludF9kZQogIAogIHZvaWQKQEAgLTI4 NjQsMTEgKzI4NjQsMTEgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3AtdmFscHJp bnQuYwogICAgICAgIGludCBza2lwID0gMDsKICAKICAgICAgICBpZiAoQkFTRVRZUEVfVklBX1ZJ UlRVQUwgKHR5cGUsIGkpKQotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3BwYy1saW51 eC1uYXQuYworSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3BwYy1saW51eC1uYXQuYwog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIvcHBjLWxpbnV4LW5h dC5jCTIwMTUtMDUtMzEgMTc6MDg6NDYuODQ4NTA2NDE2ICswMjAwCi0rKysgZ2RiLTcuOS41MC4y MDE1MDUyMC9nZGIvcHBjLWxpbnV4LW5hdC5jCTIwMTUtMDUtMzEgMTc6MDk6MjEuNDU4NzI0ODUz ICswMjAwCi1AQCAtMTQ1MSw3ICsxNDUxLDcgQEAgcHBjX2xpbnV4X2Nhbl91c2VfaHdfYnJlYWtw b2ludCAoc3RydWN0CistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9wcGMtbGludXgt bmF0LmMJMjAxNS0wNy0wOSAxODoyNDozOS4wMDIzNTYxNzEgKzAyMDAKKysrKyBnZGItNy45Ljkw LjIwMTUwNzA5L2dkYi9wcGMtbGludXgtbmF0LmMJMjAxNS0wNy0wOSAxODoyNDo0Mi4yNDczODM4 NTEgKzAyMDAKK0BAIC0xNDQ5LDcgKzE0NDksNyBAQCBwcGNfbGludXhfY2FuX3VzZV9od19icmVh a3BvaW50IChzdHJ1Y3QKICAKICBzdGF0aWMgaW50CiAgcHBjX2xpbnV4X3JlZ2lvbl9va19mb3Jf aHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsCkBAIC0yODc3LDEwICsyODc3 LDEwIEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9wcGMtbGludXgtbmF0LmMKICB7 CiAgICAvKiBIYW5kbGUgc3ViLTgtYnl0ZSBxdWFudGl0aWVzLiAgKi8KICAgIGlmIChsZW4gPD0g MCkKLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9wcmludGNtZC5jCitJbmRleDogZ2Ri LTcuOS45MC4yMDE1MDcwOS9nZGIvcHJpbnRjbWQuYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljku NTAuMjAxNTA1MjAub3JpZy9nZGIvcHJpbnRjbWQuYwkyMDE1LTA1LTMxIDE3OjA4OjQ2Ljg0OTUw NjQyMiArMDIwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3ByaW50Y21kLmMJMjAxNS0w NS0zMSAxNzowOToyMS40NTk3MjQ4NTkgKzAyMDAKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9y aWcvZ2RiL3ByaW50Y21kLmMJMjAxNS0wNy0wOSAxODoyNDozOS4wMDMzNTYxNzkgKzAyMDAKKysr KyBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9wcmludGNtZC5jCTIwMTUtMDctMDkgMTg6MjQ6NDIu MjQ4MzgzODYwICswMjAwCiBAQCAtMjc0LDcgKzI3NCw3IEBAIHByaW50X2Zvcm1hdHRlZCAoc3Ry dWN0IHZhbHVlICp2YWwsIGludAogIAkJIHN0cnVjdCB1aV9maWxlICpzdHJlYW0pCiAgewpAQCAt Mjg5OSwxMCArMjg5OSwxMCBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvcHJpbnRj bWQuYwogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIg KGdkYmFyY2gpOwogIAogICAgLyogU3RyaW5nIHByaW50aW5nIHNob3VsZCBnbyB0aHJvdWdoIHZh bF9wcmludF9zY2FsYXJfZm9ybWF0dGVkLiAgKi8KLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIw L2dkYi9wcm9jZnMuYworSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3Byb2Nmcy5jCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5vcmlnL2dkYi9wcm9jZnMuYwkyMDE1 LTA1LTMxIDE3OjA4OjQ2Ljg1MDUwNjQyOCArMDIwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAv Z2RiL3Byb2Nmcy5jCTIwMTUtMDUtMzEgMTc6MDk6MjEuNDYwNzI0ODY1ICswMjAwCistLS0gZ2Ri LTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9wcm9jZnMuYwkyMDE1LTA3LTA5IDE4OjI0OjM5LjAw NDM1NjE4OCArMDIwMAorKysrIGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3Byb2Nmcy5jCTIwMTUt MDctMDkgMTg6MjQ6NDIuMjQ5MzgzODY4ICswMjAwCiBAQCAtNDg1OSw3ICs0ODU5LDcgQEAgcHJv Y2ZzX3JlbW92ZV93YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0XwogIAogIHN0YXRpYyBpbnQKQEAg LTI5MTIsMTAgKzI5MTIsMTAgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3Byb2Nm cy5jCiAgewogICAgLyogVGhlIG1hbiBwYWdlIGZvciBwcm9jKDQpIG9uIFNvbGFyaXMgMi42IGFu ZCB1cCBzYXlzIHRoYXQgdGhlCiAgICAgICBzeXN0ZW0gY2FuIHN1cHBvcnQgInRob3VzYW5kcyIg b2YgaGFyZHdhcmUgd2F0Y2hwb2ludHMsIGJ1dCBnaXZlcwotSW5kZXg6IGdkYi03LjkuNTAuMjAx NTA1MjAvZ2RiL3B5dGhvbi9weS1wcmV0dHlwcmludC5jCitJbmRleDogZ2RiLTcuOS45MC4yMDE1 MDcwOS9nZGIvcHl0aG9uL3B5LXByZXR0eXByaW50LmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45 LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL3B5dGhvbi9weS1wcmV0dHlwcmludC5jCTIwMTUtMDUtMzEg MTc6MDg6NDYuODUxNTA2NDM1ICswMjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvcHl0 aG9uL3B5LXByZXR0eXByaW50LmMJMjAxNS0wNS0zMSAxNzowOToyMS40NjA3MjQ4NjUgKzAyMDAK Ky0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL3B5dGhvbi9weS1wcmV0dHlwcmludC5j CTIwMTUtMDctMDkgMTg6MjQ6MzkuMDA0MzU2MTg4ICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1 MDcwOS9nZGIvcHl0aG9uL3B5LXByZXR0eXByaW50LmMJMjAxNS0wNy0wOSAxODoyNDo0Mi4yNDkz ODM4NjggKzAyMDAKIEBAIC03MDMsNyArNzAzLDcgQEAgcHJpbnRfY2hpbGRyZW4gKFB5T2JqZWN0 ICpwcmludGVyLCBjb25zdAogIGVudW0gZXh0X2xhbmdfcmMKICBnZGJweV9hcHBseV92YWxfcHJl dHR5X3ByaW50ZXIgKGNvbnN0IHN0cnVjdCBleHRlbnNpb25fbGFuZ3VhZ2VfZGVmbiAqZXh0bGFu ZywKQEAgLTI5MjUsMTAgKzI5MjUsMTAgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2Ri L3B5dGhvbi9weS1wcmV0dHlwcmludC5jCiAgCQkJCXN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGlu dCByZWN1cnNlLAogIAkJCQljb25zdCBzdHJ1Y3QgdmFsdWUgKnZhbCwKICAJCQkJY29uc3Qgc3Ry dWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMsCi1JbmRleDogZ2RiLTcuOS41MC4yMDE1 MDUyMC9nZGIvcmVnY2FjaGUuYworSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3JlZ2Nh Y2hlLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL3JlZ2Nh Y2hlLmMJMjAxNS0wNS0zMSAxNzowODo0Ni44NTE1MDY0MzUgKzAyMDAKLSsrKyBnZGItNy45LjUw LjIwMTUwNTIwL2dkYi9yZWdjYWNoZS5jCTIwMTUtMDUtMzEgMTc6MDk6MjEuNDYxNzI0ODcyICsw MjAwCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9yZWdjYWNoZS5jCTIwMTUtMDct MDkgMTg6MjQ6MzkuMDA1MzU2MTk2ICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIv cmVnY2FjaGUuYwkyMDE1LTA3LTA5IDE4OjI0OjQyLjI1MDM4Mzg3NyArMDIwMAogQEAgLTk0OSw3 ICs5NDksNyBAQCB0eXBlZGVmIHZvaWQgKHJlZ2NhY2hlX3dyaXRlX2Z0eXBlKSAoc3RyCiAgCiAg c3RhdGljIGVudW0gcmVnaXN0ZXJfc3RhdHVzCkBAIC0yOTc0LDEwICsyOTc0LDEwIEBAIEluZGV4 OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9yZWdjYWNoZS5jCiAgewogICAgc3RydWN0IHJlZ2Nh Y2hlX2Rlc2NyICpkZXNjciA9IHJlZ2NhY2hlLT5kZXNjcjsKICAKLUluZGV4OiBnZGItNy45LjUw LjIwMTUwNTIwL2dkYi9yZWdjYWNoZS5oCitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIv cmVnY2FjaGUuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIv cmVnY2FjaGUuaAkyMDE1LTA1LTMxIDE3OjA4OjQ2Ljg1MjUwNjQ0MSArMDIwMAotKysrIGdkYi03 LjkuNTAuMjAxNTA1MjAvZ2RiL3JlZ2NhY2hlLmgJMjAxNS0wNS0zMSAxNzowOToyMS40NjE3MjQ4 NzIgKzAyMDAKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL3JlZ2NhY2hlLmgJMjAx NS0wNy0wOSAxODoyNDozOS4wMDUzNTYxOTYgKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5 L2dkYi9yZWdjYWNoZS5oCTIwMTUtMDctMDkgMTg6MjQ6NDIuMjUwMzgzODc3ICswMjAwCiBAQCAt OTIsOSArOTIsOSBAQCBleHRlcm4gdm9pZCByZWdjYWNoZV9yYXdfd3JpdGVfdW5zaWduZWQKICAK ICBleHRlcm4gZW51bSByZWdpc3Rlcl9zdGF0dXMKQEAgLTMwMDUsMTEgKzMwMDUsMTEgQEAgSW5k ZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3JlZ2NhY2hlLmgKICAKICAvKiBTcGVjaWFsIHJv dXRpbmVzIHRvIHJlYWQvd3JpdGUgdGhlIFBDLiAgKi8KICAKLUluZGV4OiBnZGItNy45LjUwLjIw MTUwNTIwL2dkYi9yZW1vdGUuYworSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3JlbW90 ZS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5vcmlnL2dkYi9yZW1vdGUu YwkyMDE1LTA1LTMxIDE3OjA4OjQ2Ljg1NDUwNjQ1NCArMDIwMAotKysrIGdkYi03LjkuNTAuMjAx NTA1MjAvZ2RiL3JlbW90ZS5jCTIwMTUtMDUtMzEgMTc6MDk6MjEuNDY0NzI0ODkxICswMjAwCi1A QCAtODc1MSw3ICs4NzUxLDcgQEAgaW50IHJlbW90ZV9od19icmVha3BvaW50X2xpbWl0ID0gLTE7 CistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9yZW1vdGUuYwkyMDE1LTA3LTA5IDE4 OjI0OjM5LjAwNzM1NjIxMyArMDIwMAorKysrIGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3JlbW90 ZS5jCTIwMTUtMDctMDkgMTg6MjQ6NDIuMjUzMzgzOTAyICswMjAwCitAQCAtODc5Niw3ICs4Nzk2 LDcgQEAgaW50IHJlbW90ZV9od19icmVha3BvaW50X2xpbWl0ID0gLTE7CiAgCiAgc3RhdGljIGlu dAogIHJlbW90ZV9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3Bz ICpzZWxmLApAQCAtMzAxOCwxMCArMzAxOCwxMCBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUy MC9nZGIvcmVtb3RlLmMKICB7CiAgICBpZiAocmVtb3RlX2h3X3dhdGNocG9pbnRfbGVuZ3RoX2xp bWl0ID09IDApCiAgICAgIHJldHVybiAwOwotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2Ri L3NwdS1tdWx0aWFyY2guYworSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3NwdS1tdWx0 aWFyY2guYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIvc3B1 LW11bHRpYXJjaC5jCTIwMTUtMDUtMzEgMTc6MDg6NDYuODU1NTA2NDYwICswMjAwCi0rKysgZ2Ri LTcuOS41MC4yMDE1MDUyMC9nZGIvc3B1LW11bHRpYXJjaC5jCTIwMTUtMDUtMzEgMTc6MDk6MjEu NDY0NzI0ODkxICswMjAwCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9zcHUtbXVs dGlhcmNoLmMJMjAxNS0wNy0wOSAxODoyNDozOS4wMDgzNTYyMjIgKzAyMDAKKysrKyBnZGItNy45 LjkwLjIwMTUwNzA5L2dkYi9zcHUtbXVsdGlhcmNoLmMJMjAxNS0wNy0wOSAxODoyNDo0Mi4yNTMz ODM5MDIgKzAyMDAKIEBAIC0xMTcsNyArMTE3LDcgQEAgc3B1X3RocmVhZF9hcmNoaXRlY3R1cmUg KHN0cnVjdCB0YXJnZXRfbwogIC8qIE92ZXJyaWRlIHRoZSB0b19yZWdpb25fb2tfZm9yX2h3X3dh dGNocG9pbnQgcm91dGluZS4gICovCiAgc3RhdGljIGludApAQCAtMzAzMSwxMSArMzAzMSwxMSBA QCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvc3B1LW11bHRpYXJjaC5jCiAgewogICAg c3RydWN0IHRhcmdldF9vcHMgKm9wc19iZW5lYXRoID0gZmluZF90YXJnZXRfYmVuZWF0aCAoc2Vs Zik7CiAgCi1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvc3RhY2suYworSW5kZXg6IGdk Yi03LjkuOTAuMjAxNTA3MDkvZ2RiL3N0YWNrLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45LjUw LjIwMTUwNTIwLm9yaWcvZ2RiL3N0YWNrLmMJMjAxNS0wNS0zMSAxNzowODo0Ni44NTY1MDY0NjYg KzAyMDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9zdGFjay5jCTIwMTUtMDUtMzEgMTc6 MDk6MjEuNDY1NzI0ODk3ICswMjAwCi1AQCAtMTc4LDcgKzE3OCw3IEBAIHByaW50X3N0YWNrX2Zy YW1lIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnIKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcv Z2RiL3N0YWNrLmMJMjAxNS0wNy0wOSAxODoyNDozOS4wMDkzNTYyMzAgKzAyMDAKKysrKyBnZGIt Ny45LjkwLjIwMTUwNzA5L2dkYi9zdGFjay5jCTIwMTUtMDctMDkgMTg6MjQ6NDIuMjU0MzgzOTEx ICswMjAwCitAQCAtMTc2LDcgKzE3Niw3IEBAIHByaW50X3N0YWNrX2ZyYW1lIChzdHJ1Y3QgZnJh bWVfaW5mbyAqZnIKICAgICBhcmd1bWVudCAobm90IGp1c3QgdGhlIGZpcnN0IG5hbWVsZXNzIGFy Z3VtZW50KS4gICovCiAgCiAgc3RhdGljIHZvaWQKQEAgLTMwNDQsNyArMzA0NCw3IEBAIEluZGV4 OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9zdGFjay5jCiAgCQkJICAgaW50IGZpcnN0LCBzdHJ1 Y3QgdWlfZmlsZSAqc3RyZWFtKQogIHsKICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0 X2ZyYW1lX2FyY2ggKGZyYW1lKTsKLUBAIC01NDEsNyArNTQxLDcgQEAgcHJpbnRfZnJhbWVfYXJn cyAoc3RydWN0IHN5bWJvbCAqZnVuYywgcworQEAgLTUzOSw3ICs1MzksNyBAQCBwcmludF9mcmFt ZV9hcmdzIChzdHJ1Y3Qgc3ltYm9sICpmdW5jLCBzCiAgICAvKiBPZmZzZXQgb2YgbmV4dCBzdGFj ayBhcmd1bWVudCBiZXlvbmQgdGhlIG9uZSB3ZSBoYXZlIHNlZW4gdGhhdCBpcwogICAgICAgYXQg dGhlIGhpZ2hlc3Qgb2Zmc2V0LCBvciAtMSBpZiB3ZSBoYXZlbid0IGNvbWUgdG8gYSBzdGFjawog ICAgICAgYXJndW1lbnQgeWV0LiAgKi8KQEAgLTMwNTMsNyArMzA1Myw3IEBAIEluZGV4OiBnZGIt Ny45LjUwLjIwMTUwNTIwL2dkYi9zdGFjay5jCiAgICAvKiBOdW1iZXIgb2YgaW50cyBvZiBhcmd1 bWVudHMgdGhhdCB3ZSBoYXZlIHByaW50ZWQgc28gZmFyLiAgKi8KICAgIGludCBhcmdzX3ByaW50 ZWQgPSAwOwogICAgc3RydWN0IGNsZWFudXAgKm9sZF9jaGFpbjsKLUBAIC01NzUsOCArNTc1LDgg QEAgcHJpbnRfZnJhbWVfYXJncyAoc3RydWN0IHN5bWJvbCAqZnVuYywgcworQEAgLTU3Myw4ICs1 NzMsOCBAQCBwcmludF9mcmFtZV9hcmdzIChzdHJ1Y3Qgc3ltYm9sICpmdW5jLCBzCiAgCSAgICBj YXNlIExPQ19BUkc6CiAgCSAgICBjYXNlIExPQ19SRUZfQVJHOgogIAkgICAgICB7CkBAIC0zMDY0 LDcgKzMwNjQsNyBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvc3RhY2suYwogIAog IAkJLyogQ29tcHV0ZSBhZGRyZXNzIG9mIG5leHQgYXJndW1lbnQgYnkgYWRkaW5nIHRoZSBzaXpl IG9mCiAgCQkgICB0aGlzIGFyZ3VtZW50IGFuZCByb3VuZGluZyB0byBhbiBpbnQgYm91bmRhcnku ICAqLwotQEAgLTcxMSw3ICs3MTEsNyBAQCBwcmludF9mcmFtZV9hcmdzIChzdHJ1Y3Qgc3ltYm9s ICpmdW5jLCBzCitAQCAtNzA5LDcgKzcwOSw3IEBAIHByaW50X2ZyYW1lX2FyZ3MgKHN0cnVjdCBz eW1ib2wgKmZ1bmMsIHMKICAgICAgIGVub3VnaCBhYm91dCB0aGUgc3RhY2sgdG8gZmluZCB0aGVt LiAgKi8KICAgIGlmIChudW0gIT0gLTEpCiAgICAgIHsKQEAgLTMwNzMsMTAgKzMwNzMsMTAgQEAg SW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3N0YWNrLmMKICAKICAgICAgICBpZiAoaGln aGVzdF9vZmZzZXQgPT0gLTEpCiAgCXN0YXJ0ID0gZ2RiYXJjaF9mcmFtZV9hcmdzX3NraXAgKGdl dF9mcmFtZV9hcmNoIChmcmFtZSkpOwotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3N5 bW1pc2MuYworSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3N5bW1pc2MuYwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIvc3ltbWlzYy5jCTIwMTUtMDUt MzEgMTc6MDg6NDYuODU2NTA2NDY2ICswMjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIv c3ltbWlzYy5jCTIwMTUtMDUtMzEgMTc6MDk6MjEuNDY1NzI0ODk3ICswMjAwCistLS0gZ2RiLTcu OS45MC4yMDE1MDcwOS5vcmlnL2dkYi9zeW1taXNjLmMJMjAxNS0wNy0wOSAxODoyNDozOS4wMDkz NTYyMzAgKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9zeW1taXNjLmMJMjAxNS0w Ny0wOSAxODoyNDo0Mi4yNTQzODM5MTEgKzAyMDAKIEBAIC01MzQsMTEgKzUzNCwxMSBAQCBwcmlu dF9zeW1ib2wgKHZvaWQgKmFyZ3MpCiAgCiAgCWNhc2UgTE9DX0NPTlNUX0JZVEVTOgpAQCAtMzA5 MiwxMCArMzA5MiwxMCBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvc3ltbWlzYy5j CiAgCSAgICBmb3IgKGkgPSAwOyBpIDwgVFlQRV9MRU5HVEggKHR5cGUpOyBpKyspCiAgCSAgICAg IGZwcmludGZfZmlsdGVyZWQgKG91dGZpbGUsICIgJTAyeCIsCiAgCQkJCSh1bnNpZ25lZCkgU1lN Qk9MX1ZBTFVFX0JZVEVTIChzeW1ib2wpW2ldKTsKLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIw L2dkYi90YXJnZXQuYworSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3RhcmdldC5jCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5vcmlnL2dkYi90YXJnZXQuYwkyMDE1 LTA1LTMxIDE3OjA4OjQ2Ljg1NzUwNjQ3MyArMDIwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAv Z2RiL3RhcmdldC5jCTIwMTUtMDUtMzEgMTc6MDk6MjEuNDY2NzI0OTAzICswMjAwCistLS0gZ2Ri LTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi90YXJnZXQuYwkyMDE1LTA3LTA5IDE4OjI0OjM5LjAx MDM1NjIzOSArMDIwMAorKysrIGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3RhcmdldC5jCTIwMTUt MDctMDkgMTg6MjQ6NDIuMjU1MzgzOTE5ICswMjAwCiBAQCAtNTQsNyArNTQsNyBAQCBzdGF0aWMg aW50IGRlZmF1bHRfd2F0Y2hwb2ludF9hZGRyX3dpdGhpCiAgCQkJCQkJIENPUkVfQUREUiwgQ09S RV9BRERSLCBpbnQpOwogIApAQCAtMzEwNSw3ICszMTA1LDcgQEAgSW5kZXg6IGdkYi03LjkuNTAu MjAxNTA1MjAvZ2RiL3RhcmdldC5jCiAgCiAgc3RhdGljIHZvaWQgZGVmYXVsdF9yY21kIChzdHJ1 Y3QgdGFyZ2V0X29wcyAqLCBjb25zdCBjaGFyICosIHN0cnVjdCB1aV9maWxlICopOwogIAotQEAg LTMwNTYsNyArMzA1Niw3IEBAIHRhcmdldF9maWxlaW9fcmVhZF9zdHJhbGxvYyAoY29uc3QgY2hh cgorQEAgLTMwODUsNyArMzA4NSw3IEBAIHRhcmdldF9maWxlaW9fcmVhZF9zdHJhbGxvYyAoc3Ry dWN0IGluZmUKICAKICBzdGF0aWMgaW50CiAgZGVmYXVsdF9yZWdpb25fb2tfZm9yX2h3X3dhdGNo cG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLApAQCAtMzExNCwxMSArMzExNCwxMSBAQCBJ bmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdGFyZ2V0LmMKICB7CiAgICByZXR1cm4gKGxl biA8PSBnZGJhcmNoX3B0cl9iaXQgKHRhcmdldF9nZGJhcmNoICgpKSAvIFRBUkdFVF9DSEFSX0JJ VCk7CiAgfQotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3RhcmdldC5oCitJbmRleDog Z2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvdGFyZ2V0LmgKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45 LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL3RhcmdldC5oCTIwMTUtMDUtMzEgMTc6MDg6NDYuODU4NTA2 NDc5ICswMjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdGFyZ2V0LmgJMjAxNS0wNS0z MSAxNzowOToyMS40NjY3MjQ5MDMgKzAyMDAKLUBAIC01MjcsNyArNTI3LDcgQEAgc3RydWN0IHRh cmdldF9vcHMKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL3RhcmdldC5oCTIwMTUt MDctMDkgMTg6MjQ6MzkuMDEwMzU2MjM5ICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9n ZGIvdGFyZ2V0LmgJMjAxNS0wNy0wOSAxODoyNDo0Mi4yNTYzODM5MjggKzAyMDAKK0BAIC01NDcs NyArNTQ3LDcgQEAgc3RydWN0IHRhcmdldF9vcHMKICAgICAgLyogRG9jdW1lbnRhdGlvbiBvZiB0 aGlzIHJvdXRpbmUgaXMgcHJvdmlkZWQgd2l0aCB0aGUgY29ycmVzcG9uZGluZwogICAgICAgICB0 YXJnZXRfKiBtYWNyby4gICovCiAgICAgIGludCAoKnRvX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hw b2ludCkgKHN0cnVjdCB0YXJnZXRfb3BzICosCkBAIC0zMTI3LDEwICszMTI3LDEwIEBAIEluZGV4 OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi90YXJnZXQuaAogICAgICAgIFRBUkdFVF9ERUZBVUxU X0ZVTkMgKGRlZmF1bHRfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50KTsKICAKICAgICAgaW50 ICgqdG9fY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uKSAoc3RydWN0IHRhcmdldF9vcHMg KiwKLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi90cmFjZXBvaW50LmMKK0luZGV4OiBn ZGItNy45LjkwLjIwMTUwNzA5L2dkYi90cmFjZXBvaW50LmMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL3RyYWNlcG9pbnQuYwkyMDE1LTA1LTMxIDE3OjA4OjQ2 Ljg1OTUwNjQ4NSArMDIwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3RyYWNlcG9pbnQu YwkyMDE1LTA1LTMxIDE3OjA5OjIxLjQ2NzcyNDkxMCArMDIwMAorLS0tIGdkYi03LjkuOTAuMjAx NTA3MDkub3JpZy9nZGIvdHJhY2Vwb2ludC5jCTIwMTUtMDctMDkgMTg6MjQ6MzkuMDEyMzU2MjU2 ICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvdHJhY2Vwb2ludC5jCTIwMTUtMDct MDkgMTg6MjQ6NDIuMjU3MzgzOTM2ICswMjAwCiBAQCAtOTI4LDEzICs5MjgsMTMgQEAgYWRkX3Jl Z2lzdGVyIChzdHJ1Y3QgY29sbGVjdGlvbl9saXN0ICpjbwogIHN0YXRpYyB2b2lkCiAgYWRkX21l bXJhbmdlIChzdHJ1Y3QgY29sbGVjdGlvbl9saXN0ICptZW1yYW5nZXMsIApAQCAtMzIyNCwxMCAr MzIyNCwxMCBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdHJhY2Vwb2ludC5jCiAg CX0KICAgICAgICBpZiAoQkxPQ0tfRlVOQ1RJT04gKGJsb2NrKSkKICAJYnJlYWs7Ci1JbmRleDog Z2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdHlwZXByaW50LmMKK0luZGV4OiBnZGItNy45LjkwLjIw MTUwNzA5L2dkYi90eXBlcHJpbnQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1 MjAub3JpZy9nZGIvdHlwZXByaW50LmMJMjAxNS0wNS0zMSAxNzowODo0Ni44NjA1MDY0OTEgKzAy MDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi90eXBlcHJpbnQuYwkyMDE1LTA1LTMxIDE3 OjA5OjIxLjQ2ODcyNDkxNiArMDIwMAorLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIv dHlwZXByaW50LmMJMjAxNS0wNy0wOSAxODoyNDozOS4wMTMzNTYyNjQgKzAyMDAKKysrKyBnZGIt Ny45LjkwLjIwMTUwNzA5L2dkYi90eXBlcHJpbnQuYwkyMDE1LTA3LTA5IDE4OjI0OjQyLjI1NzM4 MzkzNiArMDIwMAogQEAgLTQwNCw3ICs0MDQsNyBAQCB3aGF0aXNfZXhwIChjaGFyICpleHAsIGlu dCBzaG93KQogICAgc3RydWN0IHR5cGUgKnJlYWxfdHlwZSA9IE5VTEw7CiAgICBzdHJ1Y3QgdHlw ZSAqdHlwZTsKQEAgLTMyMzcsMTAgKzMyMzcsMTAgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1 MjAvZ2RiL3R5cGVwcmludC5jCiAgICBpbnQgdXNpbmdfZW5jID0gMDsKICAgIHN0cnVjdCB2YWx1 ZV9wcmludF9vcHRpb25zIG9wdHM7CiAgICBzdHJ1Y3QgdHlwZV9wcmludF9vcHRpb25zIGZsYWdz ID0gZGVmYXVsdF9wdHlwZV9mbGFnczsKLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi92 YWxhcml0aC5jCitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvdmFsYXJpdGguYwogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIvdmFsYXJpdGguYwkyMDE1 LTA1LTMxIDE3OjA4OjQ2Ljg2MTUwNjQ5OCArMDIwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAv Z2RiL3ZhbGFyaXRoLmMJMjAxNS0wNS0zMSAxNzowOToyMS40Njg3MjQ5MTYgKzAyMDAKKy0tLSBn ZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL3ZhbGFyaXRoLmMJMjAxNS0wNy0wOSAxODoyNDoz OS4wMTQzNTYyNzMgKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi92YWxhcml0aC5j CTIwMTUtMDctMDkgMTg6MjQ6NDIuMjU3MzgzOTM2ICswMjAwCiBAQCAtMTg4LDEyICsxODgsMTMg QEAgdmFsdWVfc3Vic2NyaXB0IChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBMTwogICAgIHRvIGRvdWJs ZXMsIGJ1dCBubyBsb25nZXIgZG9lcy4gICovCiAgCkBAIC0zMzAwLDE2ICszMzAwLDExIEBAIElu ZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi92YWxhcml0aC5jCiAgCiAgICBmb3IgKGkgPSAw OyBpIDwgbGVuOyBpKyspCiAgICAgIHsKLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi92 YWxvcHMuYworSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3ZhbG9wcy5jCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5vcmlnL2dkYi92YWxvcHMuYwkyMDE1LTA1LTMx IDE3OjA4OjQ2Ljg2NDUwNjUxNyArMDIwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3Zh bG9wcy5jCTIwMTUtMDUtMzEgMTc6MDk6MjEuNDY5NzI0OTIyICswMjAwCi1AQCAtNDcsMTEgKzQ3 LDExIEBAIHN0YXRpYyBpbnQgdHlwZWNtcCAoaW50IHN0YXRpY3AsIGludCB2YXIKLSAJCSAgICBz dHJ1Y3QgZmllbGQgdDFbXSwgc3RydWN0IHZhbHVlICp0MltdKTsKLSAKLSBzdGF0aWMgc3RydWN0 IHZhbHVlICpzZWFyY2hfc3RydWN0X2ZpZWxkIChjb25zdCBjaGFyICosIHN0cnVjdCB2YWx1ZSAq LCAKLS0JCQkJCSAgaW50LCBzdHJ1Y3QgdHlwZSAqLCBpbnQpOwotKwkJCQkJICBMT05HRVNULCBz dHJ1Y3QgdHlwZSAqLCBpbnQpOworLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIvdmFs b3BzLmMJMjAxNS0wNy0wOSAxODoyNDozOS4wMTkzNTYzMTYgKzAyMDAKKysrKyBnZGItNy45Ljkw LjIwMTUwNzA5L2dkYi92YWxvcHMuYwkyMDE1LTA3LTA5IDE4OjI2OjAyLjAzMjA2NDQyMCArMDIw MAorQEAgLTUxLDcgKzUxLDcgQEAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqc2VhcmNoX3N0cnVjdF9m aWVsZAogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKnNlYXJjaF9zdHJ1Y3RfbWV0aG9kIChjb25z dCBjaGFyICosIHN0cnVjdCB2YWx1ZSAqKiwKICAJCQkJCSAgIHN0cnVjdCB2YWx1ZSAqKiwKQEAg LTM0OTcsMjEgKzM0OTIsMTYgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3ZhbG9w cy5jCiAgCiAgICAgICAgaWYgKEJBU0VUWVBFX1ZJQV9WSVJUVUFMICh0eXBlLCBpKSkKICAJewot QEAgLTE5NjUsMTEgKzE5NjcsMTEgQEAgZG9fc2VhcmNoX3N0cnVjdF9maWVsZCAoY29uc3QgY2hh ciAqbmFtZQotICAgIGZpZWxkcywgbG9vayBmb3IgYSBiYXNlY2xhc3MgbmFtZWQgTkFNRS4gICov Ci0gCi0gc3RhdGljIHN0cnVjdCB2YWx1ZSAqCi0tc2VhcmNoX3N0cnVjdF9maWVsZCAoY29uc3Qg Y2hhciAqbmFtZSwgc3RydWN0IHZhbHVlICphcmcxLCBpbnQgb2Zmc2V0LAotK3NlYXJjaF9zdHJ1 Y3RfZmllbGQgKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCB2YWx1ZSAqYXJnMSwgTE9OR0VTVCBv ZmZzZXQsCitAQCAtMTk2OCw3ICsxOTcwLDcgQEAgc2VhcmNoX3N0cnVjdF9maWVsZCAoY29uc3Qg Y2hhciAqbmFtZSwgcwogIAkJICAgICBzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGxvb2tpbmdfZm9y X2Jhc2VjbGFzcykKICB7CiAgICBzdHJ1Y3QgdmFsdWUgKnJlc3VsdCA9IE5VTEw7CiAtICBpbnQg Ym9mZnNldCA9IDA7CiArICBMT05HRVNUIGJvZmZzZXQgPSAwOwogIAotICAgZG9fc2VhcmNoX3N0 cnVjdF9maWVsZCAobmFtZSwgYXJnMSwgb2Zmc2V0LCB0eXBlLCBsb29raW5nX2Zvcl9iYXNlY2xh c3MsCisgICBkb19zZWFyY2hfc3RydWN0X2ZpZWxkIChuYW1lLCBhcmcxLCAwLCB0eXBlLCBsb29r aW5nX2Zvcl9iYXNlY2xhc3MsCiAgCQkJICAmcmVzdWx0LCAmYm9mZnNldCwgdHlwZSk7Ci1AQCAt MTk4Niw3ICsxOTg4LDcgQEAgc2VhcmNoX3N0cnVjdF9maWVsZCAoY29uc3QgY2hhciAqbmFtZSwg cworQEAgLTE5ODUsNyArMTk4Nyw3IEBAIHNlYXJjaF9zdHJ1Y3RfZmllbGQgKGNvbnN0IGNoYXIg Km5hbWUsIHMKICAKICBzdGF0aWMgc3RydWN0IHZhbHVlICoKICBzZWFyY2hfc3RydWN0X21ldGhv ZCAoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHZhbHVlICoqYXJnMXAsCkBAIC0zNTIwLDcgKzM1 MTAsNyBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdmFsb3BzLmMKICAJCSAgICAg IGludCAqc3RhdGljX21lbWZ1bmNwLCBzdHJ1Y3QgdHlwZSAqdHlwZSkKICB7CiAgICBpbnQgaTsK LUBAIC0yMDUwLDggKzIwNTIsOCBAQCBzZWFyY2hfc3RydWN0X21ldGhvZCAoY29uc3QgY2hhciAq bmFtZSwKK0BAIC0yMDQ5LDggKzIwNTEsOCBAQCBzZWFyY2hfc3RydWN0X21ldGhvZCAoY29uc3Qg Y2hhciAqbmFtZSwKICAKICAgIGZvciAoaSA9IFRZUEVfTl9CQVNFQ0xBU1NFUyAodHlwZSkgLSAx OyBpID49IDA7IGktLSkKICAgICAgewpAQCAtMzUzMSw3ICszNTIxLDcgQEAgSW5kZXg6IGdkYi03 LjkuNTAuMjAxNTA1MjAvZ2RiL3ZhbG9wcy5jCiAgCiAgICAgICAgaWYgKEJBU0VUWVBFX1ZJQV9W SVJUVUFMICh0eXBlLCBpKSkKICAJewotQEAgLTIyODYsMTAgKzIyODgsMTAgQEAgdmFsdWVfc3Ry dWN0X2VsdF9iaXRwb3MgKHN0cnVjdCB2YWx1ZSAqKgorQEAgLTIyODUsMTAgKzIyODcsMTAgQEAg dmFsdWVfc3RydWN0X2VsdF9iaXRwb3MgKHN0cnVjdCB2YWx1ZSAqKgogIAogIHN0YXRpYyB2b2lk CiAgZmluZF9tZXRob2RfbGlzdCAoc3RydWN0IHZhbHVlICoqYXJncCwgY29uc3QgY2hhciAqbWV0 aG9kLApAQCAtMzU0NCw3ICszNTM0LDcgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2Ri L3ZhbG9wcy5jCiAgewogICAgaW50IGk7CiAgICBzdHJ1Y3QgZm5fZmllbGQgKmYgPSBOVUxMOwot QEAgLTIzNDYsNyArMjM0OCw3IEBAIGZpbmRfbWV0aG9kX2xpc3QgKHN0cnVjdCB2YWx1ZSAqKmFy Z3AsIGMKK0BAIC0yMzQ1LDcgKzIzNDcsNyBAQCBmaW5kX21ldGhvZF9saXN0IChzdHJ1Y3QgdmFs dWUgKiphcmdwLCBjCiAgICAgICBleHRlbnNpb24gbWV0aG9kcy4gICovCiAgICBmb3IgKGkgPSBU WVBFX05fQkFTRUNMQVNTRVMgKHR5cGUpIC0gMTsgaSA+PSAwOyBpLS0pCiAgICAgIHsKQEAgLTM1 NTMsNyArMzU0Myw3IEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi92YWxvcHMuYwog IAogICAgICAgIGlmIChCQVNFVFlQRV9WSUFfVklSVFVBTCAodHlwZSwgaSkpCiAgCXsKLUBAIC0y Mzg5LDcgKzIzOTEsNyBAQCB2YWx1ZV9maW5kX29sb2FkX21ldGhvZF9saXN0IChzdHJ1Y3QgdmFs CitAQCAtMjM4OCw3ICsyMzkwLDcgQEAgdmFsdWVfZmluZF9vbG9hZF9tZXRob2RfbGlzdCAoc3Ry dWN0IHZhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBvZmZzZXQsIHN0cnVj dCBmbl9maWVsZCAqKmZuX2xpc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50 ICpudW1fZm5zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZFQyAoeG1ldGhvZF93 b3JrZXJfcHRyKSAqKnhtX3dvcmtlcl92ZWMsCkBAIC0zNTYyLDcgKzM1NTIsNyBAQCBJbmRleDog Z2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdmFsb3BzLmMKICB7CiAgICBzdHJ1Y3QgdHlwZSAqdDsK ICAKLUBAIC0yNTAwLDcgKzI1MDIsNyBAQCBmaW5kX292ZXJsb2FkX21hdGNoIChzdHJ1Y3QgdmFs dWUgKiphcmdzCitAQCAtMjQ5OSw3ICsyNTAxLDcgQEAgZmluZF9vdmVybG9hZF9tYXRjaCAoc3Ry dWN0IHZhbHVlICoqYXJncwogICAgLyogTnVtYmVyIG9mIG92ZXJsb2FkZWQgaW5zdGFuY2VzIGJl aW5nIGNvbnNpZGVyZWQuICAqLwogICAgaW50IG51bV9mbnMgPSAwOwogICAgc3RydWN0IHR5cGUg KmJhc2V0eXBlID0gTlVMTDsKQEAgLTM1NzEsNyArMzU2MSw3IEBAIEluZGV4OiBnZGItNy45LjUw LjIwMTUwNTIwL2dkYi92YWxvcHMuYwogIAogICAgc3RydWN0IGNsZWFudXAgKmFsbF9jbGVhbnVw cyA9IG1ha2VfY2xlYW51cCAobnVsbF9jbGVhbnVwLCBOVUxMKTsKICAKLUBAIC0zMzE1LDcgKzMz MTcsNyBAQCBjb21wYXJlX3BhcmFtZXRlcnMgKHN0cnVjdCB0eXBlICp0MSwgc3RyCitAQCAtMzMx NCw3ICszMzE2LDcgQEAgY29tcGFyZV9wYXJhbWV0ZXJzIChzdHJ1Y3QgdHlwZSAqdDEsIHN0cgog ICAgIHRoZSBmb3JtICJET01BSU46Ok5BTUUiLiAgKi8KICAKICBzdGF0aWMgc3RydWN0IHZhbHVl ICoKQEAgLTM1ODAsNyArMzU3MCw3IEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi92 YWxvcHMuYwogIAkJCQlzdHJ1Y3QgdHlwZSAqY3VydHlwZSwgY29uc3QgY2hhciAqbmFtZSwKICAJ CQkJc3RydWN0IHR5cGUgKmludHlwZSwgCiAgCQkJCWludCB3YW50X2FkZHJlc3MsCi1AQCAtMzM0 OSw3ICszMzUxLDcgQEAgdmFsdWVfc3RydWN0X2VsdF9mb3JfcmVmZXJlbmNlIChzdHJ1Y3QgdAor QEAgLTMzNDgsNyArMzM1MCw3IEBAIHZhbHVlX3N0cnVjdF9lbHRfZm9yX3JlZmVyZW5jZSAoc3Ry dWN0IHQKICAJICBpZiAod2FudF9hZGRyZXNzKQogIAkgICAgcmV0dXJuIHZhbHVlX2Zyb21fbG9u Z2VzdAogIAkgICAgICAobG9va3VwX21lbWJlcnB0cl90eXBlIChUWVBFX0ZJRUxEX1RZUEUgKHQs IGkpLCBkb21haW4pLApAQCAtMzU4OSw3ICszNTc5LDcgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAx NTA1MjAvZ2RiL3ZhbG9wcy5jCiAgCSAgZWxzZSBpZiAobm9zaWRlICE9IEVWQUxfTk9STUFMKQog IAkgICAgcmV0dXJuIGFsbG9jYXRlX3ZhbHVlIChUWVBFX0ZJRUxEX1RZUEUgKHQsIGkpKTsKICAJ ICBlbHNlCi1AQCAtMzUxNyw3ICszNTE5LDcgQEAgdmFsdWVfc3RydWN0X2VsdF9mb3JfcmVmZXJl bmNlIChzdHJ1Y3QgdAorQEAgLTM1MTYsNyArMzUxOCw3IEBAIHZhbHVlX3N0cnVjdF9lbHRfZm9y X3JlZmVyZW5jZSAoc3RydWN0IHQKICAgIGZvciAoaSA9IFRZUEVfTl9CQVNFQ0xBU1NFUyAodCkg LSAxOyBpID49IDA7IGktLSkKICAgICAgewogICAgICAgIHN0cnVjdCB2YWx1ZSAqdjsKQEAgLTM1 OTgsNyArMzU4OCw3IEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi92YWxvcHMuYwog IAogICAgICAgIGlmIChCQVNFVFlQRV9WSUFfVklSVFVBTCAodCwgaSkpCiAgCWJhc2Vfb2Zmc2V0 ID0gMDsKLUBAIC0zNTk4LDcgKzM2MDAsNyBAQCB2YWx1ZV9tYXliZV9uYW1lc3BhY2VfZWx0IChj b25zdCBzdHJ1Y3QKK0BAIC0zNTk3LDcgKzM1OTksNyBAQCB2YWx1ZV9tYXliZV9uYW1lc3BhY2Vf ZWx0IChjb25zdCBzdHJ1Y3QKICAKICBzdHJ1Y3QgdHlwZSAqCiAgdmFsdWVfcnR0aV9pbmRpcmVj dF90eXBlIChzdHJ1Y3QgdmFsdWUgKnYsIGludCAqZnVsbCwgCkBAIC0zNjA3LDcgKzM1OTcsNyBA QCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdmFsb3BzLmMKICB7CiAgICBzdHJ1Y3Qg dmFsdWUgKnRhcmdldCA9IE5VTEw7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZSwgKnJlYWxfdHlwZSwg KnRhcmdldF90eXBlOwotQEAgLTM2NjYsMTIgKzM2NjgsMTIgQEAgdmFsdWVfcnR0aV9pbmRpcmVj dF90eXBlIChzdHJ1Y3QgdmFsdWUgKgorQEAgLTM2NjUsMTIgKzM2NjcsMTIgQEAgdmFsdWVfcnR0 aV9pbmRpcmVjdF90eXBlIChzdHJ1Y3QgdmFsdWUgKgogIHN0cnVjdCB2YWx1ZSAqCiAgdmFsdWVf ZnVsbF9vYmplY3QgKHN0cnVjdCB2YWx1ZSAqYXJncCwgCiAgCQkgICBzdHJ1Y3QgdHlwZSAqcnR5 cGUsIApAQCAtMzYyMiwxMCArMzYxMiwxMCBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9n ZGIvdmFsb3BzLmMKICAgIGludCB1c2luZ19lbmMgPSAwOwogICAgc3RydWN0IHZhbHVlICpuZXdf dmFsOwogIAotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3ZhbHByaW50LmMKK0luZGV4 OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi92YWxwcmludC5jCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuOS41MC4yMDE1MDUyMC5vcmlnL2dkYi92YWxwcmludC5jCTIwMTUtMDUtMzEgMTc6MDg6NDYu ODY1NTA2NTIzICswMjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdmFscHJpbnQuYwky MDE1LTA1LTMxIDE3OjE0OjE1Ljk2NTU4MzU4NyArMDIwMAorLS0tIGdkYi03LjkuOTAuMjAxNTA3 MDkub3JpZy9nZGIvdmFscHJpbnQuYwkyMDE1LTA3LTA5IDE4OjI0OjM5LjAyMDM1NjMyNCArMDIw MAorKysrIGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3ZhbHByaW50LmMJMjAxNS0wNy0wOSAxODoy NDo0Mi4yNjAzODM5NjIgKzAyMDAKIEBAIC0yOTgsNyArMjk4LDcgQEAgdmFsX3ByaW50X3NjYWxh cl90eXBlX3AgKHN0cnVjdCB0eXBlICp0eQogIGludAogIHZhbHByaW50X2NoZWNrX3ZhbGlkaXR5 IChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLApAQCAtMzcxOCwxMCArMzcwOCwxMCBAQCBJbmRleDog Z2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdmFscHJpbnQuYwogIAkJICBjb25zdCBjaGFyICplbmNv ZGluZywgaW50IGZvcmNlX2VsbGlwc2VzLAogIAkJICBpbnQgcXVvdGVfY2hhciwgaW50IGNfc3R5 bGVfdGVybWluYXRvciwKICAJCSAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9w dGlvbnMpCi1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdmFscHJpbnQuaAorSW5kZXg6 IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3ZhbHByaW50LmgKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL3ZhbHByaW50LmgJMjAxNS0wNS0zMSAxNzowODo0Ni44 NjU1MDY1MjMgKzAyMDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi92YWxwcmludC5oCTIw MTUtMDUtMzEgMTc6MDk6MjEuNDcwNzI0OTI4ICswMjAwCistLS0gZ2RiLTcuOS45MC4yMDE1MDcw OS5vcmlnL2dkYi92YWxwcmludC5oCTIwMTUtMDctMDkgMTg6MjQ6MzkuMDIxMzU2MzMzICswMjAw CisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvdmFscHJpbnQuaAkyMDE1LTA3LTA5IDE4OjI0 OjQyLjI2MDM4Mzk2MiArMDIwMAogQEAgLTExNSwxMSArMTE1LDExIEBAIGV4dGVybiB2b2lkIG1h eWJlX3ByaW50X2FycmF5X2luZGV4IChzdHIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKICAJCQkJICAgICBjb25zdCBzdHJ1Y3Qg dmFsdWVfcHJpbnRfb3B0aW9ucyAqKTsKQEAgLTM3NzIsMTAgKzM3NjIsMTAgQEAgSW5kZXg6IGdk Yi03LjkuNTAuMjAxNTA1MjAvZ2RiL3ZhbHByaW50LmgKICAJCQkgICAgICBjb25zdCBjaGFyICpl bmNvZGluZywgaW50IGZvcmNlX2VsbGlwc2VzLAogIAkJCSAgICAgIGludCBxdW90ZV9jaGFyLCBp bnQgY19zdHlsZV90ZXJtaW5hdG9yLAogIAkJCSAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmlu dF9vcHRpb25zICpvcHRpb25zKTsKLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi92YWx1 ZS5jCitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvdmFsdWUuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIvdmFsdWUuYwkyMDE1LTA1LTMxIDE3OjA4 OjQ2Ljg2ODUwNjU0MiArMDIwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3ZhbHVlLmMJ MjAxNS0wNS0zMSAxNzowOToyMS40NzE3MjQ5MzUgKzAyMDAKKy0tLSBnZGItNy45LjkwLjIwMTUw NzA5Lm9yaWcvZ2RiL3ZhbHVlLmMJMjAxNS0wNy0wOSAxODoyNDozOS4wMjYzNTYzNzUgKzAyMDAK KysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi92YWx1ZS5jCTIwMTUtMDctMDkgMTg6MjQ6NDIu MjYxMzgzOTcwICswMjAwCiBAQCAtNjYsMTAgKzY2LDEwIEBAIHN0cnVjdCBpbnRlcm5hbF9mdW5j dGlvbgogIHN0cnVjdCByYW5nZQogIHsKQEAgLTQxMDYsMTAgKzQwOTYsMTAgQEAgSW5kZXg6IGdk Yi03LjkuNTAuMjAxNTA1MjAvZ2RiL3ZhbHVlLmMKICAKICAgIC8qIE5vcm1hbGl6ZSBCSVRQT1Mu ICAqLwogICAgYWRkciArPSBiaXRwb3MgLyA4OwotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAv Z2RiL3ZhbHVlLmgKK0luZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi92YWx1ZS5oCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5vcmlnL2dkYi92YWx1ZS5oCTIwMTUtMDUt MzEgMTc6MDg6NDYuODY5NTA2NTQ4ICswMjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIv dmFsdWUuaAkyMDE1LTA1LTMxIDE3OjA5OjIxLjQ3MjcyNDk0MSArMDIwMAorLS0tIGdkYi03Ljku OTAuMjAxNTA3MDkub3JpZy9nZGIvdmFsdWUuaAkyMDE1LTA3LTA5IDE4OjI0OjM5LjAyNzM1NjM4 NCArMDIwMAorKysrIGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3ZhbHVlLmgJMjAxNS0wNy0wOSAx ODoyNDo0Mi4yNjIzODM5NzkgKzAyMDAKIEBAIC0xMzEsOCArMTMxLDggQEAgZXh0ZXJuIHZvaWQg c2V0X3ZhbHVlX3BhcmVudCAoc3RydWN0IHZhbAogICAgIHdpdGhpbiB0aGUgcmVnaXN0ZXJzIHN0 cnVjdHVyZS4gIE5vdGUgYWxzbyB0aGUgbWVtYmVyCiAgICAgZW1iZWRkZWRfb2Zmc2V0IGJlbG93 LiAgKi8KQEAgLTQzNTAsMTEgKzQzNDAsMTEgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAv Z2RiL3ZhbHVlLmgKICAKICAvKiBVc2VyIGZ1bmN0aW9uIGhhbmRsZXIuICAqLwogIAotSW5kZXg6 IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3MzOTAtbGludXgtbmF0LmMKK0luZGV4OiBnZGItNy45 LjkwLjIwMTUwNzA5L2dkYi9zMzkwLWxpbnV4LW5hdC5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu OS41MC4yMDE1MDUyMC5vcmlnL2dkYi9zMzkwLWxpbnV4LW5hdC5jCTIwMTUtMDUtMzEgMTc6MDg6 NDYuODcwNTA2NTU1ICswMjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvczM5MC1saW51 eC1uYXQuYwkyMDE1LTA1LTMxIDE3OjA5OjIxLjQ3MjcyNDk0MSArMDIwMAotQEAgLTYxOSw3ICs2 MTksNyBAQCBzMzkwX2Nhbl91c2VfaHdfYnJlYWtwb2ludCAoc3RydWN0IHRhcmdlCistLS0gZ2Ri LTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9zMzkwLWxpbnV4LW5hdC5jCTIwMTUtMDctMDkgMTg6 MjQ6MzkuMDI4MzU2MzkzICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvczM5MC1s aW51eC1uYXQuYwkyMDE1LTA3LTA5IDE4OjI0OjQyLjI2MjM4Mzk3OSArMDIwMAorQEAgLTYxMiw3 ICs2MTIsNyBAQCBzMzkwX2Nhbl91c2VfaHdfYnJlYWtwb2ludCAoc3RydWN0IHRhcmdlCiAgCiAg c3RhdGljIGludAogIHMzOTBfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChzdHJ1Y3QgdGFy Z2V0X29wcyAqc2VsZiwKQEAgLTQzNjMsMTAgKzQzNTMsMTAgQEAgSW5kZXg6IGdkYi03LjkuNTAu MjAxNTA1MjAvZ2RiL3MzOTAtbGludXgtbmF0LmMKICB7CiAgICByZXR1cm4gMTsKICB9Ci1JbmRl eDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvZXh0ZW5zaW9uLXByaXYuaAorSW5kZXg6IGdkYi03 LjkuOTAuMjAxNTA3MDkvZ2RiL2V4dGVuc2lvbi1wcml2LmgKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL2V4dGVuc2lvbi1wcml2LmgJMjAxNS0wNS0zMSAxNzow ODo0Ni44NzA1MDY1NTUgKzAyMDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9leHRlbnNp b24tcHJpdi5oCTIwMTUtMDUtMzEgMTc6MDk6MjEuNDczNzI0OTQ4ICswMjAwCistLS0gZ2RiLTcu OS45MC4yMDE1MDcwOS5vcmlnL2dkYi9leHRlbnNpb24tcHJpdi5oCTIwMTUtMDctMDkgMTg6MjQ6 MzkuMDI4MzU2MzkzICswMjAwCisrKysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvZXh0ZW5zaW9u LXByaXYuaAkyMDE1LTA3LTA5IDE4OjI0OjQyLjI2MjM4Mzk3OSArMDIwMAogQEAgLTE4MCw3ICsx ODAsNyBAQCBzdHJ1Y3QgZXh0ZW5zaW9uX2xhbmd1YWdlX29wcwogICAgZW51bSBleHRfbGFuZ19y YyAoKmFwcGx5X3ZhbF9wcmV0dHlfcHJpbnRlcikKICAgICAgKGNvbnN0IHN0cnVjdCBleHRlbnNp b25fbGFuZ3VhZ2VfZGVmbiAqLApAQCAtNDM3NiwxMSArNDM2NiwxMSBAQCBJbmRleDogZ2RiLTcu OS41MC4yMDE1MDUyMC9nZGIvZXh0ZW5zaW9uLXByaXYuaAogICAgICAgc3RydWN0IHVpX2ZpbGUg KnN0cmVhbSwgaW50IHJlY3Vyc2UsCiAgICAgICBjb25zdCBzdHJ1Y3QgdmFsdWUgKnZhbCwgY29u c3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMsCiAgICAgICBjb25zdCBzdHJ1 Y3QgbGFuZ3VhZ2VfZGVmbiAqbGFuZ3VhZ2UpOwotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAv Z2RiL3B5dGhvbi9weXRob24taW50ZXJuYWwuaAorSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkv Z2RiL3B5dGhvbi9weXRob24taW50ZXJuYWwuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAu MjAxNTA1MjAub3JpZy9nZGIvcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oCTIwMTUtMDUtMzEgMTc6 MDg6NDYuODcwNTA2NTU1ICswMjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvcHl0aG9u L3B5dGhvbi1pbnRlcm5hbC5oCTIwMTUtMDUtMzEgMTc6MDk6MjEuNDczNzI0OTQ4ICswMjAwCi1A QCAtMzE4LDcgKzMxOCw3IEBAIGV4dGVybiBpbnQgZ2RicHlfYXV0b19sb2FkX2VuYWJsZWQgKGNv bnMKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL3B5dGhvbi9weXRob24taW50ZXJu YWwuaAkyMDE1LTA3LTA5IDE4OjI0OjM5LjAyODM1NjM5MyArMDIwMAorKysrIGdkYi03LjkuOTAu MjAxNTA3MDkvZ2RiL3B5dGhvbi9weXRob24taW50ZXJuYWwuaAkyMDE1LTA3LTA5IDE4OjI0OjQy LjI2MzM4Mzk4OCArMDIwMAorQEAgLTMxNiw3ICszMTYsNyBAQCBleHRlcm4gaW50IGdkYnB5X2F1 dG9fbG9hZF9lbmFibGVkIChjb25zCiAgZXh0ZXJuIGVudW0gZXh0X2xhbmdfcmMgZ2RicHlfYXBw bHlfdmFsX3ByZXR0eV9wcmludGVyCiAgICAoY29uc3Qgc3RydWN0IGV4dGVuc2lvbl9sYW5ndWFn ZV9kZWZuICosCiAgICAgc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRy LApAQCAtNDM4OSwxMCArNDM3OSwxMCBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIv cHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oCiAgICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50 IHJlY3Vyc2UsCiAgICAgY29uc3Qgc3RydWN0IHZhbHVlICp2YWwsCiAgICAgY29uc3Qgc3RydWN0 IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMsCi1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUy MC9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIv dGFyZ2V0LWRlbGVnYXRlcy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5v cmlnL2dkYi90YXJnZXQtZGVsZWdhdGVzLmMJMjAxNS0wNS0zMSAxNzowODo0Ni44NzE1MDY1NjEg KzAyMDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi90YXJnZXQtZGVsZWdhdGVzLmMJMjAx NS0wNS0zMSAxNzowOToyMS40NzQ3MjQ5NTQgKzAyMDAKKy0tLSBnZGItNy45LjkwLjIwMTUwNzA5 Lm9yaWcvZ2RiL3RhcmdldC1kZWxlZ2F0ZXMuYwkyMDE1LTA3LTA5IDE4OjI0OjM5LjAyOTM1NjQw MSArMDIwMAorKysrIGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3RhcmdldC1kZWxlZ2F0ZXMuYwky MDE1LTA3LTA5IDE4OjI0OjQyLjI2NDM4Mzk5NiArMDIwMAogQEAgLTc0MiwxNCArNzQyLDE0IEBA IGRlYnVnX3dhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKHN0cnUKICB9CiAgCkBAIC00NDE5 LDEwICs0NDA5LDEwIEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi90YXJnZXQtZGVs ZWdhdGVzLmMKICAgIGZwdXRzX3VuZmlsdGVyZWQgKCIpID0gIiwgZ2RiX3N0ZGxvZyk7CiAgICB0 YXJnZXRfZGVidWdfcHJpbnRfaW50IChyZXN1bHQpOwogICAgZnB1dHNfdW5maWx0ZXJlZCAoIlxu IiwgZ2RiX3N0ZGxvZyk7Ci1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvYWFyY2g2NC1s aW51eC1uYXQuYworSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2FhcmNoNjQtbGludXgt bmF0LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL2FhcmNo NjQtbGludXgtbmF0LmMJMjAxNS0wNS0zMSAxNzowODo0Ni44NzI1MDY1NjcgKzAyMDAKLSsrKyBn ZGItNy45LjUwLjIwMTUwNTIwL2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5jCTIwMTUtMDUtMzEgMTc6 MDk6MjEuNDc0NzI0OTU0ICswMjAwCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9h YXJjaDY0LWxpbnV4LW5hdC5jCTIwMTUtMDctMDkgMTg6MjQ6MzkuMDMwMzU2NDEwICswMjAwCisr KysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvYWFyY2g2NC1saW51eC1uYXQuYwkyMDE1LTA3LTA5 IDE4OjI0OjQyLjI2NDM4Mzk5NiArMDIwMAogQEAgLTEzODYsNyArMTM4Niw3IEBAIGFhcmNoNjRf bGludXhfcmVtb3ZlX3dhdGNocG9pbnQgKHN0cnVjdAogIAogIHN0YXRpYyBpbnQKQEAgLTQ0MzIs MTAgKzQ0MjIsMTAgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2FhcmNoNjQtbGlu dXgtbmF0LmMKICB7CiAgICBDT1JFX0FERFIgYWxpZ25lZF9hZGRyOwogIAotSW5kZXg6IGdkYi03 LjkuNTAuMjAxNTA1MjAvZ2RiL25hdC94ODYtZHJlZ3MuYworSW5kZXg6IGdkYi03LjkuOTAuMjAx NTA3MDkvZ2RiL25hdC94ODYtZHJlZ3MuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAx NTA1MjAub3JpZy9nZGIvbmF0L3g4Ni1kcmVncy5jCTIwMTUtMDUtMzEgMTc6MDg6NDYuODcyNTA2 NTY3ICswMjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvbmF0L3g4Ni1kcmVncy5jCTIw MTUtMDUtMzEgMTc6MDk6MjEuNDc0NzI0OTU0ICswMjAwCistLS0gZ2RiLTcuOS45MC4yMDE1MDcw OS5vcmlnL2dkYi9uYXQveDg2LWRyZWdzLmMJMjAxNS0wNy0wOSAxODoyNDozOS4wMzAzNTY0MTAg KzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9uYXQveDg2LWRyZWdzLmMJMjAxNS0w Ny0wOSAxODoyNDo0Mi4yNjQzODM5OTYgKzAyMDAKIEBAIC0zODQsNyArMzg0LDcgQEAgeDg2X3Jl bW92ZV9hbGlnbmVkX3dhdGNocG9pbnQgKHN0cnVjdCB4OAogIAogIHN0YXRpYyBpbnQKQEAgLTQ0 NTQsMTAgKzQ0NDQsMTAgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL25hdC94ODYt ZHJlZ3MuYwogIHsKICAgIGludCBucmVnczsKICAKLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIw L2dkYi9jb21waWxlL2NvbXBpbGUtYy1zdXBwb3J0LmMKK0luZGV4OiBnZGItNy45LjkwLjIwMTUw NzA5L2dkYi9jb21waWxlL2NvbXBpbGUtYy1zdXBwb3J0LmMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL2NvbXBpbGUvY29tcGlsZS1jLXN1cHBvcnQuYwkyMDE1 LTA1LTMxIDE3OjA4OjQ2Ljg3MjUwNjU2NyArMDIwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAv Z2RiL2NvbXBpbGUvY29tcGlsZS1jLXN1cHBvcnQuYwkyMDE1LTA1LTMxIDE3OjA5OjIxLjQ3NTcy NDk2MCArMDIwMAorLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9nZGIvY29tcGlsZS9jb21w aWxlLWMtc3VwcG9ydC5jCTIwMTUtMDctMDkgMTg6MjQ6MzkuMDMwMzU2NDEwICswMjAwCisrKysg Z2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvY29tcGlsZS9jb21waWxlLWMtc3VwcG9ydC5jCTIwMTUt MDctMDkgMTg6MjQ6NDIuMjY1Mzg0MDA1ICswMjAwCiBAQCAtMjk5LDExICsyOTksMTEgQEAgZ2Vu ZXJhdGVfcmVnaXN0ZXJfc3RydWN0IChzdHJ1Y3QgdWlfZmlsZQogIAogIAkgICAgICBkZWZhdWx0 OgpAQCAtNDQ3MiwxMCArNDQ2MiwxMCBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIv Y29tcGlsZS9jb21waWxlLWMtc3VwcG9ydC5jCiAgCSAgICAgIH0KICAJICAgIGZwdXRzX3VuZmls dGVyZWQgKCI7XG4iLCBzdHJlYW0pOwogIAotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2Ri L25hdC94ODYtZHJlZ3MuaAorSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL25hdC94ODYt ZHJlZ3MuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAxNTA1MjAub3JpZy9nZGIvbmF0 L3g4Ni1kcmVncy5oCTIwMTUtMDUtMzEgMTc6MDg6NDYuODczNTA2NTczICswMjAwCi0rKysgZ2Ri LTcuOS41MC4yMDE1MDUyMC9nZGIvbmF0L3g4Ni1kcmVncy5oCTIwMTUtMDUtMzEgMTc6MDk6MjEu NDc1NzI0OTYwICswMjAwCistLS0gZ2RiLTcuOS45MC4yMDE1MDcwOS5vcmlnL2dkYi9uYXQveDg2 LWRyZWdzLmgJMjAxNS0wNy0wOSAxODoyNDozOS4wMzAzNTY0MTAgKzAyMDAKKysrKyBnZGItNy45 LjkwLjIwMTUwNzA5L2dkYi9uYXQveDg2LWRyZWdzLmgJMjAxNS0wNy0wOSAxODoyNDo0Mi4yNjUz ODQwMDUgKzAyMDAKIEBAIC0xMTYsNyArMTE2LDcgQEAgZXh0ZXJuIGludCB4ODZfZHJfcmVtb3Zl X3dhdGNocG9pbnQgKHN0cgogIC8qIFJldHVybiBub24temVybyBpZiB3ZSBjYW4gd2F0Y2ggYSBt ZW1vcnkgcmVnaW9uIHRoYXQgc3RhcnRzIGF0CiAgICAgYWRkcmVzcyBBRERSIGFuZCB3aG9zZSBs ZW5ndGggaXMgTEVOIGJ5dGVzLiAgKi8KQEAgLTQ0ODUsMTAgKzQ0NzUsMTAgQEAgSW5kZXg6IGdk Yi03LjkuNTAuMjAxNTA1MjAvZ2RiL25hdC94ODYtZHJlZ3MuaAogIAogIC8qIElmIHRoZSBpbmZl cmlvciBoYXMgc29tZSBicmVhay93YXRjaHBvaW50IHRoYXQgdHJpZ2dlcmVkLCBzZXQgdGhlCiAg ICAgYWRkcmVzcyBhc3NvY2lhdGVkIHdpdGggdGhhdCBicmVhay93YXRjaHBvaW50IGFuZCByZXR1 cm4gdHJ1ZS4KLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi94ODYtbmF0LmMKK0luZGV4 OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi94ODYtbmF0LmMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL3g4Ni1uYXQuYwkyMDE1LTA1LTMxIDE3OjA4OjQ2Ljg3 MzUwNjU3MyArMDIwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3g4Ni1uYXQuYwkyMDE1 LTA1LTMxIDE3OjA5OjIxLjQ3NTcyNDk2MCArMDIwMAorLS0tIGdkYi03LjkuOTAuMjAxNTA3MDku b3JpZy9nZGIveDg2LW5hdC5jCTIwMTUtMDctMDkgMTg6MjQ6MzkuMDMxMzU2NDE4ICswMjAwCisr KysgZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIveDg2LW5hdC5jCTIwMTUtMDctMDkgMTg6MjQ6NDIu MjY1Mzg0MDA1ICswMjAwCiBAQCAtMTc4LDcgKzE3OCw3IEBAIHg4Nl9yZW1vdmVfd2F0Y2hwb2lu dCAoc3RydWN0IHRhcmdldF9vcHMKICAKICBzdGF0aWMgaW50CkBAIC00NDk4LDEwICs0NDg4LDEw IEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi94ODYtbmF0LmMKICB7CiAgICBzdHJ1 Y3QgeDg2X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUKICAgICAgPSB4ODZfZGVidWdfcmVnX3N0YXRl IChwdGlkX2dldF9waWQgKGluZmVyaW9yX3B0aWQpKTsKLUluZGV4OiBnZGItNy45LjUwLjIwMTUw NTIwL2dkYi9ndWlsZS9ndWlsZS1pbnRlcm5hbC5oCitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcw OS9nZGIvZ3VpbGUvZ3VpbGUtaW50ZXJuYWwuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAu MjAxNTA1MjAub3JpZy9nZGIvZ3VpbGUvZ3VpbGUtaW50ZXJuYWwuaAkyMDE1LTA1LTMxIDE3OjA4 OjQ2Ljg3MzUwNjU3MyArMDIwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2d1aWxlL2d1 aWxlLWludGVybmFsLmgJMjAxNS0wNS0zMSAxNzowOToyMS40NzU3MjQ5NjAgKzAyMDAKKy0tLSBn ZGItNy45LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL2d1aWxlL2d1aWxlLWludGVybmFsLmgJMjAxNS0w Ny0wOSAxODoyNDozOS4wMzEzNTY0MTggKzAyMDAKKysrKyBnZGItNy45LjkwLjIwMTUwNzA5L2dk Yi9ndWlsZS9ndWlsZS1pbnRlcm5hbC5oCTIwMTUtMDctMDkgMTg6MjQ6NDIuMjY1Mzg0MDA1ICsw MjAwCiBAQCAtNTYyLDcgKzU2Miw3IEBAIGV4dGVybiB2b2lkIGdkYnNjbV9wcmVzZXJ2ZV92YWx1 ZXMKICBleHRlcm4gZW51bSBleHRfbGFuZ19yYyBnZGJzY21fYXBwbHlfdmFsX3ByZXR0eV9wcmlu dGVyCiAgICAoY29uc3Qgc3RydWN0IGV4dGVuc2lvbl9sYW5ndWFnZV9kZWZuICosCkBAIC00NTEx LDEwICs0NTAxLDEwIEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9ndWlsZS9ndWls ZS1pbnRlcm5hbC5oCiAgICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCiAg ICAgY29uc3Qgc3RydWN0IHZhbHVlICp2YWwsCiAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50 X29wdGlvbnMgKm9wdGlvbnMsCi1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvZ3VpbGUv c2NtLXByZXR0eS1wcmludC5jCitJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvZ3VpbGUv c2NtLXByZXR0eS1wcmludC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41MC4yMDE1MDUyMC5v cmlnL2dkYi9ndWlsZS9zY20tcHJldHR5LXByaW50LmMJMjAxNS0wNS0zMSAxNzowODo0Ni44NzM1 MDY1NzMgKzAyMDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9ndWlsZS9zY20tcHJldHR5 LXByaW50LmMJMjAxNS0wNS0zMSAxNzowOToyMS40NzY3MjQ5NjYgKzAyMDAKKy0tLSBnZGItNy45 LjkwLjIwMTUwNzA5Lm9yaWcvZ2RiL2d1aWxlL3NjbS1wcmV0dHktcHJpbnQuYwkyMDE1LTA3LTA5 IDE4OjI0OjM5LjAzMTM1NjQxOCArMDIwMAorKysrIGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2d1 aWxlL3NjbS1wcmV0dHktcHJpbnQuYwkyMDE1LTA3LTA5IDE4OjI0OjQyLjI2NjM4NDAxMyArMDIw MAogQEAgLTk1OCw3ICs5NTgsNyBAQCBwcHNjbV9wcmludF9jaGlsZHJlbiAoU0NNIHByaW50ZXIs IGVudW0KICBlbnVtIGV4dF9sYW5nX3JjCiAgZ2Ric2NtX2FwcGx5X3ZhbF9wcmV0dHlfcHJpbnRl ciAoY29uc3Qgc3RydWN0IGV4dGVuc2lvbl9sYW5ndWFnZV9kZWZuICpleHRsYW5nLAoKZGlmZiAt LWdpdCBhL2dkYi11cHN0cmVhbS5wYXRjaCBiL2dkYi11cHN0cmVhbS5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggZTFkNmY1My4uMDAwMDAwMAotLS0gYS9nZGItdXBzdHJlYW0u cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi1Gcm9tIGRlY2Y4ZDlhNWY5MTkx Mjc2OGQ1MmNkMDc1YjZhMjU2MTdhOTBkMWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t OiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KLURhdGU6IFRodSwg MiBKdWwgMjAxNSAyMjozOTo1NyArMDIwMAotU3ViamVjdDogW1BBVENIXSBGaXggR0NDIGZhbHNl IHdhcm5pbmcKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNo YXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotQXQgbGVhc3Qg b24KLQlnY2MtNC40LjctMTEuZWw2Lmk2ODYKLQkuL2NvbmZpZ3VyZSAtLWVuYWJsZS02NC1iaXQt YmZkIC0tZW5hYmxlLXRhcmdldHM9YWxsCi1HREIgZG9lcyBub3QgYnVpbGQgZHVlIHRvOgotCWNj MTogd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKLQlzMzkwLWxpbnV4LXRkZXAuYzog SW4gZnVuY3Rpb24g4oCYczM5MF9oYW5kbGVfYXJn4oCZOgotCXMzOTAtbGludXgtdGRlcC5jOjI1 NzU6IGVycm9yOiDigJh2YWzigJkgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1 bmN0aW9uCi0KLWdkYi9DaGFuZ2VMb2cKLTIwMTUtMDctMDIgIEphbiBLcmF0b2NodmlsICA8amFu LmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KLQotCUZpeCBHQ0MgZmFsc2Ugd2FybmluZy4KLQkqIHMz OTAtbGludXgtdGRlcC5jIChzMzkwX2hhbmRsZV9hcmcpOiBJbml0aWFsaXplIFZBTC4KLS0tLQot IGdkYi9DaGFuZ2VMb2cgICAgICAgICB8IDUgKysrKysKLSBnZGIvczM5MC1saW51eC10ZGVwLmMg fCAzICsrLQotIDIgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p Ci0KLSMjIyBhL2dkYi9DaGFuZ2VMb2cKLSMjIyBiL2dkYi9DaGFuZ2VMb2cKLSMjIC0xLDMgKzEs OCBAQAotKzIwMTUtMDctMDIgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0 LmNvbT4KLSsKLSsJRml4IEdDQyBmYWxzZSB3YXJuaW5nLgotKwkqIHMzOTAtbGludXgtdGRlcC5j IChzMzkwX2hhbmRsZV9hcmcpOiBJbml0aWFsaXplIFZBTC4KLSsKLSAyMDE1LTA3LTAyICBZYW8g UWkgIDx5YW8ucWlAbGluYXJvLm9yZz4KLSAKLSAJKiBhYXJjaDY0LWxpbnV4LW5hdC5jIChhYXJj aDY0X2xpbnV4X2luc2VydF9od19icmVha3BvaW50KTogRml4Ci0tLS0gYS9nZGIvczM5MC1saW51 eC10ZGVwLmMKLSsrKyBiL2dkYi9zMzkwLWxpbnV4LXRkZXAuYwotQEAgLTI1NzIsNyArMjU3Miw4 IEBAIHMzOTBfaGFuZGxlX2FyZyAoc3RydWN0IHMzOTBfYXJnX3N0YXRlICphcywgc3RydWN0IHZh bHVlICphcmcsCi0gICAgIH0KLSAgIGVsc2UgaWYgKHMzOTBfZnVuY3Rpb25fYXJnX2ludGVnZXIg KHR5cGUpICYmIGxlbmd0aCA8PSB3b3JkX3NpemUpCi0gICAgIHsKLS0gICAgICBVTE9OR0VTVCB2 YWw7Ci0rICAgICAgLyogSW5pdGlhbGl6ZSBpdCBqdXN0IHRvIGF2b2lkIGEgR0NDIGZhbHNlIHdh cm5pbmcuICAqLwotKyAgICAgIFVMT05HRVNUIHZhbCA9IDA7Ci0gCi0gICAgICAgaWYgKHdyaXRl X21vZGUpCi0gCXsKLS0tIAotMi4xLjAKLQoKZGlmZiAtLWdpdCBhL2dkYi5zcGVjIGIvZ2RiLnNw ZWMKaW5kZXggMWRlNDJkOC4uMjBjYjRjYyAxMDA2NDQKLS0tIGEvZ2RiLnNwZWMKKysrIGIvZ2Ri LnNwZWMKQEAgLTE4LDE1ICsxOCwxNSBAQCBTdW1tYXJ5OiBBIEdOVSBzb3VyY2UtbGV2ZWwgZGVi dWdnZXIgZm9yIEMsIEMrKywgRm9ydHJhbiwgR28gYW5kIG90aGVyIGxhbmd1YWdlcwogTmFtZTog JXs/c2NsX3ByZWZpeH1nZGIKIAogIyBGcmVlemUgaXQgd2hlbiBHREIgZ2V0cyBicmFuY2hlZAot JWdsb2JhbCBzbmFwc3JjICAgIDIwMTUwNTMxCislZ2xvYmFsIHNuYXBzcmMgICAgMjAxNTA3MDkK ICMgU2VlIHRpbWVzdGFtcCBvZiBzb3VyY2UgZ251bGliIGluc3RhbGxlZCBpbnRvIGdkYi9nbnVs aWIvIC4KICVnbG9iYWwgc25hcGdudWxpYiAyMDEyMTIxMwogJWdsb2JhbCB0YXJuYW1lIGdkYi0l e3ZlcnNpb259Ci1WZXJzaW9uOiA3LjkuNTAuJXtzbmFwc3JjfQorVmVyc2lvbjogNy45LjkwLiV7 c25hcHNyY30KIAogIyBUaGUgcmVsZWFzZSBhbHdheXMgY29udGFpbnMgYSBsZWFkaW5nIHJlc2Vy dmVkIG51bWJlciwgc3RhcnQgaXQgYXQgMS4KICMgYHVwc3RyZWFtJyBpcyBub3QgYSBwYXJ0IG9m IGBuYW1lJyB0byBzdGF5IGZ1bGx5IHJwbSBkZXBlbmRlbmNpZXMgY29tcGF0aWJsZSBmb3IgdGhl IHRlc3RpbmcuCi1SZWxlYXNlOiA1JXs/ZGlzdH0KK1JlbGVhc2U6IDYlez9kaXN0fQogCiBMaWNl bnNlOiBHUEx2MysgYW5kIEdQTHYzKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTHYyKyBhbmQgR1BM djIrIHdpdGggZXhjZXB0aW9ucyBhbmQgR1BMKyBhbmQgTEdQTHYyKyBhbmQgQlNEIGFuZCBQdWJs aWMgRG9tYWluIGFuZCBHRkRMCiBHcm91cDogRGV2ZWxvcG1lbnQvRGVidWdnZXJzCkBAIC0yMTYs NyArMjE2LDcgQEAgUGF0Y2gyMzE6IGdkYi02LjMtYnoyMDI2ODktZXhlYy1mcm9tLXB0aHJlYWQt dGVzdC5wYXRjaAogCiAjIEJhY2twb3J0ZWQgZml4dXBzIHBvc3QgdGhlIHNvdXJjZSB0YXJiYWxs LgogI1hkcm9wOiBKdXN0IGJhY2twb3J0cy4KLVBhdGNoMjMyOiBnZGItdXBzdHJlYW0ucGF0Y2gK KyNQYXRjaDIzMjogZ2RiLXVwc3RyZWFtLnBhdGNoCiAKICMgVGVzdGNhc2UgZm9yIFBQQyBQb3dl cjYvREZQIGluc3RydWN0aW9ucyBkaXNhc3NlbWJseSAoQlogMjMwMDAwKS4KICM9ZmVkb3JhdGVz dCtwcGMKQEAgLTUxMyw5ICs1MTMsNiBAQCBQYXRjaDkyNzogZ2RiLXB5dGhvbi1naWwucGF0Y2gK ICMgRml4IGppdC1yZWFkZXIuaCBmb3IgbXVsdGktbGliLgogUGF0Y2g5Nzg6IGdkYi1qaXQtcmVh ZGVyLW11bHRpbGliLnBhdGNoCiAKLSMgRml4IGVudW0gZSBlICdBdHRlbXB0IHRvIHVzZSBhIHR5 cGUgbmFtZSBhcyBhbiBleHByLicgKEtlaXRoIFNlaXR6LCBQUiAxNjI1MykuCi1QYXRjaDk5MTog Z2RiLWN4eC1lbnVtLXRhZy5wYXRjaAotCiAjIEZpeCAnaW5mbyB0eXBlLXByaW50ZXJzJyBQeXRo b24gZXJyb3IgKENsZW0gRGlja2V5LCBSSCBCWiAxMDg1NTc2KS4KIFBhdGNoOTkyOiBnZGItdHlw ZS1wcmludGVycy1lcnJvci5wYXRjaAogCkBAIC03MDAsNyArNjk3LDcgQEAgZmluZCAtbmFtZSAi Ki5pbmZvKiJ8eGFyZ3Mgcm0gLWYKICMgTWF0Y2ggdGhlIEZlZG9yYSdzIHZlcnNpb24gaW5mby4K ICVwYXRjaDIgLXAxCiAKLSVwYXRjaDIzMiAtcDEKKyNwYXRjaDIzMiAtcDEKICVwYXRjaDM0OSAt cDEKICVwYXRjaDg4OCAtcDEKICVwYXRjaDk4MyAtcDEKQEAgLTgwNCw3ICs4MDEsNiBAQCBmaW5k IC1uYW1lICIqLmluZm8qInx4YXJncyBybSAtZgogJXBhdGNoOTI1IC1wMQogJXBhdGNoOTI3IC1w MQogJXBhdGNoOTc4IC1wMQotJXBhdGNoOTkxIC1wMQogJXBhdGNoOTkyIC1wMQogCiAlcGF0Y2g4 NDggLXAxCkBAIC0xMzE0LDYgKzEzMTAsOSBAQCB0aGVuCiBmaQogCiAlY2hhbmdlbG9nCisqIEZy aSBKdWwgMTAgMjAxNSBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4g LSA3LjkuOTAuMjAxNTA3MDktNi5mYzIzCistIFJlYmFzZSB0byBGU0YgR0RCIDcuOS45MC4yMDE1 MDcwOSAoNy4xMCBicmFuY2ggc25hcHNob3QpLgorCiAqIFR1ZSBKdWwgIDcgMjAxNSBKYW4gS3Jh dG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4gLSA3LjkuNTAuMjAxNTA1MzEtNS5m YzIzCiAtIFVwZ3JhZGUgbGlic3RkYysrLXYzLXB5dGhvbiB0byByMjI1NTIxIChSSCBCWiAxMjM5 MjkwKS4KIAoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IDYyZmViZGQuLmNj MTk0MDEgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSwyICsxLDIgQEAK IDdhZDMyZDM4OTRhYWY5MGQwMGE0MzQzYTczNWMzZTFjICBnZGItbGlic3RkYysrLXYzLXB5dGhv bi1yMjI1NTIxLnRhci54egotMzk0ZGZiZDg3NjA3Yzc1ZTVjNjFmM2UyODEwNWJlNTQgIGdkYi03 LjkuNTAuMjAxNTA1MzEudGFyLnh6CitkYTk1ZTVmZjJmNWY1MGZiOWQ5NTFjMDFjNmY2NTJmZSAg Z2RiLTcuOS45MC4yMDE1MDcwOS50YXIueHoK