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.5.50.20130310 (pre-7.6 snapshot). Date: Thu, 23 Jul 2026 18:30:50 GMT Message-ID: <178483145072.1.15410396892951780005.rpms-gdb-1054fa6d0b04@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: 1054fa6d0b04e767a444ca86c9eb6c549042f2a3 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGZpeC1kdXAtcGF0Y2gKICAgICAg ICAgICAgQ29tbWl0IDogMTA1NGZhNmQwYjA0ZTc2N2E0NDRjYTg2YzllYjZjNTQ5MDQyZjJhMwog ICAgICAgICAgICBBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0 LmNvbT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAxMy0wMy0xMFQxNzoxMjo0MyswMTowMAogICAg ICAgICAgICBTdGF0cyAgOiArMjA0OS8tMzA2IGluIDEwIGZpbGUocykKICAgICAgICAgICAgVVJM ICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nZGIvYy8xMDU0ZmE2ZDBi MDRlNzY3YTQ0NGNhODZjOWViNmM1NDkwNDJmMmEzP2JyYW5jaD1maXgtZHVwLXBhdGNoCgogICAg ICAgICAgICBMb2c6CiAgICAgICAgICAgIFJlYmFzZSB0byBGU0YgR0RCIDcuNS41MC4yMDEzMDMx MCAocHJlLTcuNiBzbmFwc2hvdCkuCgotIEZpeCB2YXJpb3VzIGVudHJ5LXZhbHVlcyBzdWItb3B0 aW1hbCByZXN1bHRzLgoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQpp bmRleCAwZGM1MjkzLi5hNDZjYzk4IDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRp Z25vcmUKQEAgLTEsMiArMSwyIEBACiAvZ2RiLWxpYnN0ZGMrKy12My1weXRob24tcjE1NTk3OC50 YXIuYnoyCi0vZ2RiLTcuNS41MC4yMDEzMDIxNS50YXIuYnoyCisvZ2RiLTcuNS41MC4yMDEzMDMx MC50YXIuYnoyCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0ucGF0Y2gg Yi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS5wYXRjaAppbmRleCAwMDc0ZGI5Li5jMjRmMzA5 IDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS5wYXRjaAorKysgYi9nZGIt Ni42LWJ1aWxkaWQtbG9jYXRlLXJwbS5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUluZGV4OiBnZGIt Ny41LjUwLjIwMTMwMjE1L2dkYi9ldmVudC10b3AuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAz MTAvZ2RiL2V2ZW50LXRvcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5v cmlnL2dkYi9ldmVudC10b3AuYwkyMDEzLTAxLTMxIDE5OjM3OjM3LjAwMDAwMDAwMCArMDEwMAot KysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2V2ZW50LXRvcC5jCTIwMTMtMDItMTUgMjI6MzY6 MTEuMjE3MzA4NTM5ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDMxMC5vcmlnL2dkYi9ldmVu dC10b3AuYwkyMDEzLTAxLTMxIDE5OjM3OjM3LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUu NTAuMjAxMzAzMTAvZ2RiL2V2ZW50LXRvcC5jCTIwMTMtMDMtMTAgMTY6NDQ6MDUuNDcxNTg2OTE3 ICswMTAwCiBAQCAtMzYsNiArMzYsNyBAQAogICNpbmNsdWRlICJjb250aW51YXRpb25zLmgiCiAg I2luY2x1ZGUgImdkYmNtZC5oIgkJLyogZm9yIGRvbnRfcmVwZWF0KCkgKi8KQEAgLTI4LDEwICsy OCwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZXZlbnQtdG9wLmMKICAgIC8q IEVhY2ggaW50ZXJwcmV0ZXIgaGFzIGl0cyBvd24gcnVsZXMgb24gZGlzcGxheWluZyB0aGUgY29t bWFuZAogICAgICAgcHJvbXB0LiAgKi8KICAgIGlmICghY3VycmVudF9pbnRlcnBfZGlzcGxheV9w cm9tcHRfcCAoKSkKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9lbGZyZWFkLmMKK0lu ZGV4OiBnZGItNy41LjUwLjIwMTMwMzEwL2dkYi9lbGZyZWFkLmMKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL2VsZnJlYWQuYwkyMDEzLTAyLTE1IDIyOjM1OjM2 LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2VsZnJlYWQuYwky MDEzLTAyLTE1IDIyOjM1OjU5LjQxNDI5Mjg3NCArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAz MTAub3JpZy9nZGIvZWxmcmVhZC5jCTIwMTMtMDMtMTAgMTY6Mzg6MDEuMDAwMDAwMDAwICswMTAw CisrKysgZ2RiLTcuNS41MC4yMDEzMDMxMC9nZGIvZWxmcmVhZC5jCTIwMTMtMDMtMTAgMTY6NDQ6 MDUuNDcyNTg2OTE4ICswMTAwCiBAQCAtNDksNiArNDksNyBAQAogICNpbmNsdWRlICJnZGJjb3Jl LmgiCiAgI2luY2x1ZGUgImdkYmNtZC5oIgpAQCAtNDAsNyArNDAsNyBAQCBJbmRleDogZ2RiLTcu NS41MC4yMDEzMDIxNS9nZGIvZWxmcmVhZC5jCiAgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CiAgCiAg ZXh0ZXJuIHZvaWQgX2luaXRpYWxpemVfZWxmcmVhZCAodm9pZCk7Ci1AQCAtMTY0OSw4ICsxNjUw LDM2MSBAQCBidWlsZF9pZF90b19maWxlbmFtZSAoc3RydWN0IGJ1aWxkX2lkICpiCitAQCAtMTYy OCw4ICsxNjI5LDM2MSBAQCBidWlsZF9pZF90b19maWxlbmFtZSAoY29uc3Qgc3RydWN0IGVsZl9i CiAgICByZXR1cm4gcmV0dmFsOwogIH0KICAKQEAgLTQwMyw3ICs0MDMsNyBAQCBJbmRleDogZ2Ri LTcuNS41MC4yMDEzMDIxNS9nZGIvZWxmcmVhZC5jCiAgICAgYXZvaWRhbmNlLiAgKi8KICAKICBz dHJ1Y3QgbWlzc2luZ19maWxlcGFpcgotQEAgLTE3MDQsMTEgKzIwNTgsMTcgQEAgbWlzc2luZ19m aWxlcGFpcl9jaGFuZ2UgKHZvaWQpCitAQCAtMTY4MywxMSArMjAzNywxNyBAQCBtaXNzaW5nX2Zp bGVwYWlyX2NoYW5nZSAodm9pZCkKICAgICAgICAvKiBBbGwgdGhlaXIgbWVtb3J5IGNhbWUganVz dCBmcm9tIG1pc3NpbmdfZmlsZXBhaXJfT0JTVEFDSy4gICovCiAgICAgICAgbWlzc2luZ19maWxl cGFpcl9oYXNoID0gTlVMTDsKICAgICAgfQpAQCAtNDIxLDcgKzQyMSw3IEBAIEluZGV4OiBnZGIt Ny41LjUwLjIwMTMwMjE1L2dkYi9lbGZyZWFkLmMKICAgIG1pc3NpbmdfZmlsZXBhaXJfY2hhbmdl ICgpOwogIH0KICAKLUBAIC0xNzc1LDE0ICsyMTM1LDM1IEBAIGRlYnVnX3ByaW50X21pc3Npbmcg KGNvbnN0IGNoYXIgKmJpbmFyeSwKK0BAIC0xNzU0LDE0ICsyMTE0LDM1IEBAIGRlYnVnX3ByaW50 X21pc3NpbmcgKGNvbnN0IGNoYXIgKmJpbmFyeSwKICAKICAgICpzbG90ID0gbWlzc2luZ19maWxl cGFpcjsKICAKQEAgLTQ2NCwxMiArNDY0LDEyIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1 L2dkYi9lbGZyZWFkLmMKICB9CiAgCiAgc3RhdGljIGNoYXIgKgotSW5kZXg6IGdkYi03LjUuNTAu MjAxMzAyMTUvZ2RiL3N5bWZpbGUuaAorSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAzMTAvZ2RiL3N5 bWZpbGUuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvc3lt ZmlsZS5oCTIwMTMtMDItMTUgMjI6MzU6MDMuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuNS41 MC4yMDEzMDIxNS9nZGIvc3ltZmlsZS5oCTIwMTMtMDItMTUgMjI6MzU6NTkuNDE0MjkyODc0ICsw MTAwCi1AQCAtNTk5LDYgKzU5OSw4IEBAIGV4dGVybiBzdHJ1Y3QgYnVpbGRfaWQgKmJ1aWxkX2lk X2FkZHJfZ2UKLSBleHRlcm4gY2hhciAqYnVpbGRfaWRfdG9fZmlsZW5hbWUgKHN0cnVjdCBidWls ZF9pZCAqYnVpbGRfaWQsCistLS0gZ2RiLTcuNS41MC4yMDEzMDMxMC5vcmlnL2dkYi9zeW1maWxl LmgJMjAxMy0wMy0xMCAxNjozNzo0MS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIw MTMwMzEwL2dkYi9zeW1maWxlLmgJMjAxMy0wMy0xMCAxNjo0NDoyMy40MDk1OTE5NDYgKzAxMDAK K0BAIC01OTgsNiArNTk4LDggQEAgZXh0ZXJuIHN0cnVjdCBlbGZfYnVpbGRfaWQgKmJ1aWxkX2lk X2FkZAorIGV4dGVybiBjaGFyICpidWlsZF9pZF90b19maWxlbmFtZSAoY29uc3Qgc3RydWN0IGVs Zl9idWlsZF9pZCAqYnVpbGRfaWQsCiAgCQkJCSAgIGNoYXIgKipsaW5rX3JldHVybiwgaW50IGFk ZF9kZWJ1Z19zdWZmaXgpOwogIGV4dGVybiB2b2lkIGRlYnVnX3ByaW50X21pc3NpbmcgKGNvbnN0 IGNoYXIgKmJpbmFyeSwgY29uc3QgY2hhciAqZGVidWcpOwogK2V4dGVybiB2b2lkIGRlYnVnX2Zs dXNoX21pc3NpbmcgKHZvaWQpOwpAQCAtNDc3LDEwICs0NzcsMTAgQEAgSW5kZXg6IGdkYi03LjUu NTAuMjAxMzAyMTUvZ2RiL3N5bWZpbGUuaAogIAogIC8qIEZyb20gZHdhcmYycmVhZC5jICovCiAg Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCitJ bmRleDogZ2RiLTcuNS41MC4yMDEzMDMxMC9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi90ZXN0c3VpdGUvbGliL2dk Yi5leHAJMjAxMy0wMi0xNSAyMjozNTowMy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy41LjUw LjIwMTMwMjE1L2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAJMjAxMy0wMi0xNSAyMjozNTo1OS40 MTUyOTI4NzggKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMzEwLm9yaWcvZ2RiL3Rlc3RzdWl0 ZS9saWIvZ2RiLmV4cAkyMDEzLTAzLTEwIDE2OjE3OjE1LjAwMDAwMDAwMCArMDEwMAorKysrIGdk Yi03LjUuNTAuMjAxMzAzMTAvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAkyMDEzLTAzLTEwIDE2 OjQ0OjA1LjQ3NDU4NjkxOCArMDEwMAogQEAgLTE0ODIsNyArMTQ4Miw3IEBAIHByb2MgZGVmYXVs dF9nZGJfc3RhcnQgeyB9IHsKICAJICAgIHdhcm5pbmcgIkNvdWxkbid0IHNldCB0aGUgd2lkdGgg dG8gMC4iCiAgCX0KQEAgLTQ5MCwxMCArNDkwLDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMw MjE1L2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKICAgICAgc2VuZF9nZGIgInNldCBidWlsZC1p ZC12ZXJib3NlIDBcbiIKICAgICAgZ2RiX2V4cGVjdCAxMCB7CiAgCS1yZSAiJGdkYl9wcm9tcHQg JCIgewotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3Vw cG9ydC5leHAKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMzEwL2dkYi90ZXN0c3VpdGUvbGliL21p LXN1cHBvcnQuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dk Yi90ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwCTIwMTMtMDItMTUgMjI6MzU6MDMuMDAwMDAw MDAwICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVzdHN1aXRlL2xpYi9taS1z dXBwb3J0LmV4cAkyMDEzLTAyLTE1IDIyOjM1OjU5LjQxNjI5Mjg4MSArMDEwMAorLS0tIGdkYi03 LjUuNTAuMjAxMzAzMTAub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAkyMDEz LTAzLTEwIDE2OjE3OjE1LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAzMTAv Z2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAJMjAxMy0wMy0xMCAxNjo0NDowNS40NzU1 ODY5MTggKzAxMDAKIEBAIC0yMTIsNyArMjEyLDcgQEAgcHJvYyBkZWZhdWx0X21pX2dkYl9zdGFy dCB7IGFyZ3MgfSB7CiAgCSAgICB3YXJuaW5nICJDb3VsZG4ndCBzZXQgdGhlIHdpZHRoIHRvIDAu IgogIAl9CkBAIC01MDMsMTAgKzUwMywxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9n ZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAogICAgICBzZW5kX2dkYiAiMTkwLWdkYi1z ZXQgYnVpbGQtaWQtdmVyYm9zZSAwXG4iCiAgICAgIGdkYl9leHBlY3QgMTAgewogIAktcmUgIi4q MTkwLWdkYi1zZXQgYnVpbGQtaWQtdmVyYm9zZSAwXHJcbjE5MFxcXF5kb25lXHJcbiRtaV9nZGJf cHJvbXB0JCIgewotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3R1aS90dWktaW50ZXJw LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMzEwL2dkYi90dWkvdHVpLWludGVycC5jCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi90dWkvdHVpLWludGVycC5j CTIwMTMtMDEtMDEgMDc6NDE6MzAuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEz MDIxNS9nZGIvdHVpL3R1aS1pbnRlcnAuYwkyMDEzLTAyLTE1IDIyOjM1OjU5LjQxNjI5Mjg4MSAr MDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAzMTAub3JpZy9nZGIvdHVpL3R1aS1pbnRlcnAuYwky MDEzLTAxLTAxIDA3OjQxOjMwLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAz MTAvZ2RiL3R1aS90dWktaW50ZXJwLmMJMjAxMy0wMy0xMCAxNjo0NDowNS40NzU1ODY5MTggKzAx MDAKIEBAIC0zMCw2ICszMCw3IEBACiAgI2luY2x1ZGUgInR1aS90dWkuaCIKICAjaW5jbHVkZSAi dHVpL3R1aS1pby5oIgpAQCAtNTE1LDEwICs1MTUsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAyMTUvZ2RiL3R1aS90dWktaW50ZXJwLmMKICAKICAvKiBTZXQgdG8gMSB3aGVuIHRoZSBUVUkg bW9kZSBtdXN0IGJlIGFjdGl2YXRlZCB3aGVuIHdlIGZpcnN0IHN0YXJ0CiAgICAgZ2RiLiAgKi8K LUluZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9hY2xvY2FsLm00CitJbmRleDogZ2RiLTcu NS41MC4yMDEzMDMxMC9nZGIvYWNsb2NhbC5tNAogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAu MjAxMzAyMTUub3JpZy9nZGIvYWNsb2NhbC5tNAkyMDEzLTAxLTE3IDEyOjA2OjI2LjAwMDAwMDAw MCArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2FjbG9jYWwubTQJMjAxMy0wMi0x NSAyMjozNTo1OS40MTcyOTI4ODMgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMzEwLm9yaWcv Z2RiL2FjbG9jYWwubTQJMjAxMy0wMS0xNyAxMjowNjoyNi4wMDAwMDAwMDAgKzAxMDAKKysrKyBn ZGItNy41LjUwLjIwMTMwMzEwL2dkYi9hY2xvY2FsLm00CTIwMTMtMDMtMTAgMTY6NDQ6MDUuNDc1 NTg2OTE4ICswMTAwCiBAQCAtMTEsNiArMTEsMTY0IEBACiAgIyBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBCiAgIyBQQVJUSUNVTEFS IFBVUlBPU0UuCkBAIC02ODQsMTAgKzY4NCwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIx NS9nZGIvYWNsb2NhbC5tNAogICMgQU1fQ09ORElUSU9OQUwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC0qLSBBdXRvY29uZiAtKi0KICAKICAjIENvcHlyaWdodCAo QykgMTk5NywgMjAwMCwgMjAwMSwgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOAotSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2NvbmZpZy5pbgorSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAzMTAvZ2RiL2NvbmZpZy5pbgogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUu b3JpZy9nZGIvY29uZmlnLmluCTIwMTItMTItMDkgMTk6Mzk6NTguMDAwMDAwMDAwICswMTAwCi0r KysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvY29uZmlnLmluCTIwMTMtMDItMTUgMjI6MzU6NTku NDE3MjkyODgzICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDMxMC5vcmlnL2dkYi9jb25maWcu aW4JMjAxMi0xMi0wOSAxOTozOTo1OC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIw MTMwMzEwL2dkYi9jb25maWcuaW4JMjAxMy0wMy0xMCAxNjo0NDowNS40NzY1ODY5MTggKzAxMDAK IEBAIC0zMyw2ICszMyw5IEBACiAgLyogRGVmaW5lIHRvIEJGRCdzIGRlZmF1bHQgdGFyZ2V0IHZl Y3Rvci4gKi8KICAjdW5kZWYgREVGQVVMVF9CRkRfVkVDCkBAIC03MDgsMTAgKzcwOCwxMCBAQCBJ bmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvY29uZmlnLmluCiAgLyogRGVmaW5lIHRvIDEg aWYgeW91IGhhdmUgdGhlIDxsaWJ1bndpbmQtaWE2NC5oPiBoZWFkZXIgZmlsZS4gKi8KICAjdW5k ZWYgSEFWRV9MSUJVTldJTkRfSUE2NF9ICiAgCi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9n ZGIvY29uZmlndXJlCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDMxMC9nZGIvY29uZmlndXJlCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9jb25maWd1cmUJMjAx My0wMS0wOSAxODoyMTozMy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMjE1 L2dkYi9jb25maWd1cmUJMjAxMy0wMi0xNSAyMjozNTo1OS40MjIyOTI4OTMgKzAxMDAKKy0tLSBn ZGItNy41LjUwLjIwMTMwMzEwLm9yaWcvZ2RiL2NvbmZpZ3VyZQkyMDEzLTAxLTA5IDE4OjIxOjMz LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAzMTAvZ2RiL2NvbmZpZ3VyZQky MDEzLTAzLTEwIDE2OjQ0OjA1LjQ4MDU4NjkxOSArMDEwMAogQEAgLTY4Myw2ICs2ODMsMTEgQEAg UkVQT1JUX0JVR1NfVE8KICBQS0dWRVJTSU9OCiAgVEFSR0VUX09CUwpAQCAtMTI1OSwxMCArMTI1 OSwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvY29uZmlndXJlCiAgCiAgCiAg c3ViZGlycz0iJHN1YmRpcnMgdGVzdHN1aXRlIgotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUv Z2RiL2NvbmZpZ3VyZS5hYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAzMTAvZ2RiL2NvbmZpZ3Vy ZS5hYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvY29uZmln dXJlLmFjCTIwMTMtMDEtMDkgMTg6MjE6MzUuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuNS41 MC4yMDEzMDIxNS9nZGIvY29uZmlndXJlLmFjCTIwMTMtMDItMTUgMjI6MzU6NTkuNDIzMjkyODk1 ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDMxMC5vcmlnL2dkYi9jb25maWd1cmUuYWMJMjAx My0wMS0wOSAxODoyMTozNS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMzEw L2dkYi9jb25maWd1cmUuYWMJMjAxMy0wMy0xMCAxNjo0NDowNS40ODE1ODY5MTkgKzAxMDAKIEBA IC0xNjYsNiArMTY2LDE5OSBAQCBBQ19ERUZJTkVfRElSKEFVVE9fTE9BRF9TQUZFX1BBVEgsIGVz Y2FwCiAgCSAgICAgIFtEaXJlY3RvcmllcyBzYWZlIHRvIGhvbGQgYXV0by1sb2FkZWQgZmlsZXMu XSkKICBBQ19NU0dfUkVTVUxUKFskd2l0aF9hdXRvX2xvYWRfc2FmZV9wYXRoXSkKQEAgLTE0NjMs MTEgKzE0NjMsMTEgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2NvbmZpZ3VyZS5h YwogIEFDX0NPTkZJR19TVUJESVJTKHRlc3RzdWl0ZSkKICAKICAjIENoZWNrIHdoZXRoZXIgdG8g c3VwcG9ydCBhbHRlcm5hdGl2ZSB0YXJnZXQgY29uZmlndXJhdGlvbnMKLUluZGV4OiBnZGItNy41 LjUwLjIwMTMwMjE1L2dkYi9jb3JlbG93LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMzEwL2dk Yi9jb3JlbG93LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2Ri L2NvcmVsb3cuYwkyMDEzLTAyLTE1IDIyOjM1OjAzLjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03 LjUuNTAuMjAxMzAyMTUvZ2RiL2NvcmVsb3cuYwkyMDEzLTAyLTE1IDIyOjM1OjU5LjQyMzI5Mjg5 NSArMDEwMAotQEAgLTMxMyw3ICszMTMsNyBAQCBidWlsZF9pZF9sb2NhdGVfZXhlYyAoaW50IGZy b21fdHR5KQorLS0tIGdkYi03LjUuNTAuMjAxMzAzMTAub3JpZy9nZGIvY29yZWxvdy5jCTIwMTMt MDMtMTAgMTY6MzY6MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDMxMC9n ZGIvY29yZWxvdy5jCTIwMTMtMDMtMTAgMTY6NDQ6MDUuNDgxNTg2OTE5ICswMTAwCitAQCAtMzE0 LDcgKzMxNCw3IEBAIGJ1aWxkX2lkX2xvY2F0ZV9leGVjIChpbnQgZnJvbV90dHkpCiAgICAgICAg ICBzeW1maWxlX29iamZpbGUtPmZsYWdzIHw9IE9CSkZfQlVJTERfSURfQ09SRV9MT0FERUQ7CiAg ICAgIH0KICAgIGVsc2UKCmRpZmYgLS1naXQgYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXNvbGli LW1pc3NpbmctaWRzLnBhdGNoIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1zb2xpYi1taXNzaW5n LWlkcy5wYXRjaAppbmRleCA5YTZhMTVlLi45YWQ3ZmNiIDEwMDY0NAotLS0gYS9nZGItNi42LWJ1 aWxkaWQtbG9jYXRlLXNvbGliLW1pc3NpbmctaWRzLnBhdGNoCisrKyBiL2dkYi02LjYtYnVpbGRp ZC1sb2NhdGUtc29saWItbWlzc2luZy1pZHMucGF0Y2gKQEAgLTEsMTEgKzEsMTMgQEAKLS0tLSBn ZGItNy40LjUwLjIwMTIwMTIwL2dkYi9zb2xpYi1zdnI0LmMub3JpZwkyMDEyLTAzLTE3IDEwOjIz OjExLjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjQuNTAuMjAxMjAxMjAvZ2RiL3NvbGliLXN2 cjQuYwkyMDEyLTAzLTE3IDEwOjM2OjIyLjI2NTYyODUyOSArMDEwMAotQEAgLTEyMjgsMTQgKzEy MjgsMjcgQEAgc3ZyNF9yZWFkX3NvX2xpc3QgKENPUkVfQUREUiBsbSwgc3RydWN0CitJbmRleDog Z2RiLTcuNS41MC4yMDEzMDMxMC9nZGIvc29saWItc3ZyNC5jCis9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2Ri LTcuNS41MC4yMDEzMDMxMC5vcmlnL2dkYi9zb2xpYi1zdnI0LmMJMjAxMy0wMy0xMCAxNjozNzo0 OS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMzEwL2dkYi9zb2xpYi1zdnI0 LmMJMjAxMy0wMy0xMCAxNjo0Mzo0NS40OTg1ODUwOTEgKzAxMDAKK0BAIC0xMjI1LDE0ICsxMjI1 LDI3IEBAIHN2cjRfcmVhZF9zb19saXN0IChDT1JFX0FERFIgbG0sIHN0cnVjdAogIAl9CiAgCiAg ICAgICAgewotLQlzdHJ1Y3QgYnVpbGRfaWQgKmJ1aWxkX2lkOwotKwlzdHJ1Y3QgYnVpbGRfaWQg KmJ1aWxkX2lkID0gTlVMTDsKKy0Jc3RydWN0IGVsZl9idWlsZF9pZCAqYnVpbGRfaWQ7CisrCXN0 cnVjdCBlbGZfYnVpbGRfaWQgKmJ1aWxkX2lkID0gTlVMTDsKICAKICAJc3RybmNweSAobmV3LT5z b19vcmlnaW5hbF9uYW1lLCBidWZmZXIsIFNPX05BTUVfTUFYX1BBVEhfU0laRSAtIDEpOwogIAlu ZXctPnNvX29yaWdpbmFsX25hbWVbU09fTkFNRV9NQVhfUEFUSF9TSVpFIC0gMV0gPSAnXDAnOwpA QCAtMzAsNyArMzIsNyBAQAogIAlpZiAoYnVpbGRfaWQgIT0gTlVMTCkKICAJICB7CiAgCSAgICBj aGFyICpuYW1lLCAqYnVpbGRfaWRfZmlsZW5hbWU7Ci1AQCAtMTI1MCwyMyArMTI2Myw3IEBAIHN2 cjRfcmVhZF9zb19saXN0IChDT1JFX0FERFIgbG0sIHN0cnVjdAorQEAgLTEyNDcsMjMgKzEyNjAs NyBAQCBzdnI0X3JlYWRfc29fbGlzdCAoQ09SRV9BRERSIGxtLCBzdHJ1Y3QKICAJCXhmcmVlIChu YW1lKTsKICAJICAgICAgfQogIAkgICAgZWxzZQoKZGlmZiAtLWdpdCBhL2dkYi02LjYtYnVpbGRp ZC1sb2NhdGUucGF0Y2ggYi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLnBhdGNoCmluZGV4IGI0Y2E4 OTUuLmEzNjNkMWYgMTAwNjQ0Ci0tLSBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2gKKysr IGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUluZGV4OiBn ZGItNy41LjUwLjIwMTMwMjE1L2dkYi9jb3JlbG93LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMw MzEwL2dkYi9jb3JlbG93LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9y aWcvZ2RiL2NvcmVsb3cuYwkyMDEzLTAxLTMxIDE5OjM3OjM3LjAwMDAwMDAwMCArMDEwMAotKysr IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2NvcmVsb3cuYwkyMDEzLTAyLTE1IDIyOjM1OjAzLjI3 ODIxOTg0NCArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAzMTAub3JpZy9nZGIvY29yZWxvdy5j CTIwMTMtMDEtMzEgMTk6Mzc6MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEz MDMxMC9nZGIvY29yZWxvdy5jCTIwMTMtMDMtMTAgMTY6MzY6MzcuMDE5OTM3NDA4ICswMTAwCiBA QCAtNDYsNiArNDYsOSBAQAogICNpbmNsdWRlICJwcm9nc3BhY2UuaCIKICAjaW5jbHVkZSAib2Jq ZmlsZXMuaCIKQEAgLTEyLDcgKzEyLDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2Ri L2NvcmVsb3cuYwogIAogICNpZm5kZWYgT19MQVJHRUZJTEUKICAjZGVmaW5lIE9fTEFSR0VGSUxF IDAKLUBAIC0yNzEsNiArMjc0LDUyIEBAIGFkZF90b190aHJlYWRfbGlzdCAoYmZkICphYmZkLCBh c2VjdGlvbgorQEAgLTI3MSw2ICsyNzQsNTMgQEAgYWRkX3RvX3RocmVhZF9saXN0IChiZmQgKmFi ZmQsIGFzZWN0aW9uCiAgICAgIGluZmVyaW9yX3B0aWQgPSBwdGlkOwkJCS8qIFllcywgbWFrZSBp dCBjdXJyZW50LiAgKi8KICB9CiAgCkBAIC0yMiw3ICsyMiw3IEBAIEluZGV4OiBnZGItNy41LjUw LjIwMTMwMjE1L2dkYi9jb3JlbG93LmMKICtidWlsZF9pZF9sb2NhdGVfZXhlYyAoaW50IGZyb21f dHR5KQogK3sKICsgIENPUkVfQUREUiBhdF9lbnRyeTsKLSsgIHN0cnVjdCBidWlsZF9pZCAqYnVp bGRfaWQ7CisrICBzdHJ1Y3QgZWxmX2J1aWxkX2lkICpidWlsZF9pZDsKICsgIGNoYXIgKmV4ZWNf ZmlsZW5hbWUsICpkZWJ1Z19maWxlbmFtZTsKICsgIGNoYXIgKmJ1aWxkX2lkX2ZpbGVuYW1lOwog KyAgc3RydWN0IGNsZWFudXAgKmJhY2tfdG87CkBAIC0zNiw2ICszNiw3IEBAIEluZGV4OiBnZGIt Ny41LjUwLjIwMTMwMjE1L2dkYi9jb3JlbG93LmMKICsgIGJ1aWxkX2lkID0gYnVpbGRfaWRfYWRk cl9nZXQgKGF0X2VudHJ5KTsKICsgIGlmIChidWlsZF9pZCA9PSBOVUxMKQogKyAgICByZXR1cm47 CisrICBiYWNrX3RvID0gbWFrZV9jbGVhbnVwICh4ZnJlZSwgYnVpbGRfaWQpOwogKwogKyAgLyog U1lNRklMRV9PQkpGSUxFIHNob3VsZCByZWZlciB0byB0aGUgbWFpbiBleGVjdXRhYmxlIChub3Qg b25seSB0byBpdHMKICsgICAgIHNlcGFyYXRlIGRlYnVnIGluZm8gZmlsZSkuICBnY2M0NCsga2Vl cHMgLmVoX2ZyYW1lIG9ubHkgaW4gdGhlIG1haW4KQEAgLTQ0LDcgKzQ1LDcgQEAgSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAyMTUvZ2RiL2NvcmVsb3cuYwogKyAgICAgZGlyZWN0bHkgdG8gdGhlIHNl cGFyYXRlIGRlYnVnIGluZm8gZmlsZS4gICovCiArCiArICBleGVjX2ZpbGVuYW1lID0gYnVpbGRf aWRfdG9fZmlsZW5hbWUgKGJ1aWxkX2lkLCAmYnVpbGRfaWRfZmlsZW5hbWUsIDApOwotKyAgYmFj a190byA9IG1ha2VfY2xlYW51cCAoeGZyZWUsIGJ1aWxkX2lkX2ZpbGVuYW1lKTsKKysgIG1ha2Vf Y2xlYW51cCAoeGZyZWUsIGJ1aWxkX2lkX2ZpbGVuYW1lKTsKICsKICsgIGlmIChleGVjX2ZpbGVu YW1lICE9IE5VTEwpCiArICAgIHsKQEAgLTY1LDcgKzY2LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAu MjAxMzAyMTUvZ2RiL2NvcmVsb3cuYwogIC8qIFRoaXMgcm91dGluZSBvcGVucyBhbmQgc2V0cyB1 cCB0aGUgY29yZSBmaWxlIGJmZC4gICovCiAgCiAgc3RhdGljIHZvaWQKLUBAIC00MDksNiArNDU4 LDE0IEBAIGNvcmVfb3BlbiAoY2hhciAqZmlsZW5hbWUsIGludCBmcm9tX3R0eSkKK0BAIC00MDks NiArNDU5LDE0IEBAIGNvcmVfb3BlbiAoY2hhciAqZmlsZW5hbWUsIGludCBmcm9tX3R0eSkKICAJ c3dpdGNoX3RvX3RocmVhZCAodGhyZWFkLT5wdGlkKTsKICAgICAgfQogIApAQCAtODAsNyArODEs NyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvY29yZWxvdy5jCiAgICBwb3N0X2Ny ZWF0ZV9pbmZlcmlvciAoJmNvcmVfb3BzLCBmcm9tX3R0eSk7CiAgCiAgICAvKiBOb3cgZ28gdGhy b3VnaCB0aGUgdGFyZ2V0IHN0YWNrIGxvb2tpbmcgZm9yIHRocmVhZHMgc2luY2UgdGhlcmUKLUBA IC05NzgsNCArMTAzNSwxMSBAQCBfaW5pdGlhbGl6ZV9jb3JlbG93ICh2b2lkKQorQEAgLTk3OCw0 ICsxMDM2LDExIEBAIF9pbml0aWFsaXplX2NvcmVsb3cgKHZvaWQpCiAgICBpbml0X2NvcmVfb3Bz ICgpOwogIAogICAgYWRkX3RhcmdldCAoJmNvcmVfb3BzKTsKQEAgLTkyLDExICs5MywxMSBAQCBJ bmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvY29yZWxvdy5jCiArCQkJICAgTlVMTCwgTlVM TCwgTlVMTCwKICsJCQkgICAmc2V0bGlzdCwgJnNob3dsaXN0KTsKICB9Ci1JbmRleDogZ2RiLTcu NS41MC4yMDEzMDIxNS9nZGIvZG9jL2dkYi50ZXhpbmZvCitJbmRleDogZ2RiLTcuNS41MC4yMDEz MDMxMC9nZGIvZG9jL2dkYi50ZXhpbmZvCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEz MDIxNS5vcmlnL2dkYi9kb2MvZ2RiLnRleGluZm8JMjAxMy0wMi0xNSAyMjozNDoyMi4wMDAwMDAw MDAgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9kb2MvZ2RiLnRleGluZm8JMjAx My0wMi0xNSAyMjozNTowMy4yODcyMTk4NjMgKzAxMDAKLUBAIC0xNjY2Miw2ICsxNjY2MiwyNyBA QCBpbmZvcm1hdGlvbiBmaWxlcy4KKy0tLSBnZGItNy41LjUwLjIwMTMwMzEwLm9yaWcvZ2RiL2Rv Yy9nZGIudGV4aW5mbwkyMDEzLTAzLTEwIDE2OjE2OjIzLjAwMDAwMDAwMCArMDEwMAorKysrIGdk Yi03LjUuNTAuMjAxMzAzMTAvZ2RiL2RvYy9nZGIudGV4aW5mbwkyMDEzLTAzLTEwIDE2OjE3OjE1 LjIxNjExNDYxMyArMDEwMAorQEAgLTE2NjgwLDYgKzE2NjgwLDI3IEBAIGluZm9ybWF0aW9uIGZp bGVzLgogIAogIEBlbmQgdGFibGUKICAKQEAgLTEyNCwxMCArMTI1LDEwIEBAIEluZGV4OiBnZGIt Ny41LjUwLjIwMTMwMjE1L2dkYi9kb2MvZ2RiLnRleGluZm8KICBAY2luZGV4IEBjb2Rley5nbnVf ZGVidWdsaW5rfSBzZWN0aW9ucwogIEBjaW5kZXggZGVidWcgbGluayBzZWN0aW9ucwogIEEgZGVi dWcgbGluayBpcyBhIHNwZWNpYWwgc2VjdGlvbiBvZiB0aGUgZXhlY3V0YWJsZSBmaWxlIG5hbWVk Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvc29saWItc3ZyNC5jCitJbmRleDogZ2Ri LTcuNS41MC4yMDEzMDMxMC9nZGIvc29saWItc3ZyNC5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu NS41MC4yMDEzMDIxNS5vcmlnL2dkYi9zb2xpYi1zdnI0LmMJMjAxMy0wMS0zMSAxNDo1Mjo1Mi4w MDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9zb2xpYi1zdnI0LmMJ MjAxMy0wMi0xNSAyMjozNTowMy4yODcyMTk4NjMgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMw MzEwLm9yaWcvZ2RiL3NvbGliLXN2cjQuYwkyMDEzLTAxLTMxIDE0OjUyOjUyLjAwMDAwMDAwMCAr MDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAzMTAvZ2RiL3NvbGliLXN2cjQuYwkyMDEzLTAzLTEw IDE2OjM3OjQ5Ljg0Mjk2MzI4MCArMDEwMAogQEAgLTEyMjQsOSArMTIyNCw1MiBAQCBzdnI0X3Jl YWRfc29fbGlzdCAoQ09SRV9BRERSIGxtLCBzdHJ1Y3QKICAJICBjb250aW51ZTsKICAJfQpAQCAt MTM2LDcgKzEzNyw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9zb2xpYi1zdnI0 LmMKIC0gICAgICBuZXctPnNvX25hbWVbU09fTkFNRV9NQVhfUEFUSF9TSVpFIC0gMV0gPSAnXDAn OwogLSAgICAgIHN0cmNweSAobmV3LT5zb19vcmlnaW5hbF9uYW1lLCBuZXctPnNvX25hbWUpOwog KyAgICAgIHsKLSsJc3RydWN0IGJ1aWxkX2lkICpidWlsZF9pZDsKKysJc3RydWN0IGVsZl9idWls ZF9pZCAqYnVpbGRfaWQ7CiArCiArCXN0cm5jcHkgKG5ldy0+c29fb3JpZ2luYWxfbmFtZSwgYnVm ZmVyLCBTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAxKTsKICsJbmV3LT5zb19vcmlnaW5hbF9uYW1l W1NPX05BTUVfTUFYX1BBVEhfU0laRSAtIDFdID0gJ1wwJzsKQEAgLTE4NCwxMCArMTg1LDEwIEBA IEluZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9zb2xpYi1zdnI0LmMKICAgICAgICB4ZnJl ZSAoYnVmZmVyKTsKICAKICAgICAgICAvKiBJZiB0aGlzIGVudHJ5IGhhcyBubyBuYW1lLCBvciBp dHMgbmFtZSBtYXRjaGVzIHRoZSBuYW1lCi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIv ZWxmcmVhZC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDMxMC9nZGIvZWxmcmVhZC5jCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9lbGZyZWFkLmMJMjAxMy0w Mi0wMSAyMDozOTowMy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dk Yi9lbGZyZWFkLmMJMjAxMy0wMi0xNSAyMjozNTozNi44MjYyNjMzNTQgKzAxMDAKKy0tLSBnZGIt Ny41LjUwLjIwMTMwMzEwLm9yaWcvZ2RiL2VsZnJlYWQuYwkyMDEzLTAzLTA2IDIyOjIwOjAyLjAw MDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAzMTAvZ2RiL2VsZnJlYWQuYwkyMDEz LTAzLTEwIDE2OjM4OjAxLjUwNjk2ODY4NyArMDEwMAogQEAgLTQ1LDYgKzQ1LDExIEBACiAgI2lu Y2x1ZGUgInJlZ2NhY2hlLmgiCiAgI2luY2x1ZGUgImJjYWNoZS5oIgpAQCAtMjAwLDEwICsyMDEs MTEgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2VsZnJlYWQuYwogIAogIGV4dGVy biB2b2lkIF9pbml0aWFsaXplX2VsZnJlYWQgKHZvaWQpOwogIAotQEAgLTEwNzQsMTYgKzEwNzks NjUgQEAgZWxmX2dudV9pZnVuY19yZXNvbHZlcl9yZXR1cm5fc3RvcCAoc3RydQorQEAgLTEwNjcs MTAgKzEwNzIsNTkgQEAgZWxmX2dudV9pZnVuY19yZXNvbHZlcl9yZXR1cm5fc3RvcCAoc3RydQog ICAgdXBkYXRlX2JyZWFrcG9pbnRfbG9jYXRpb25zIChiLCBzYWxzLCBzYWxzX2VuZCk7CiAgfQog IAorLS8qIExvY2F0ZSBOVF9HTlVfQlVJTERfSUQgZnJvbSBBQkZEIGFuZCByZXR1cm4gaXRzIGNv bnRlbnQuICAqLwogKyNkZWZpbmUgQlVJTERfSURfVkVSQk9TRV9OT05FIDAKICsjZGVmaW5lIEJV SUxEX0lEX1ZFUkJPU0VfRklMRU5BTUVTIDEKICsjZGVmaW5lIEJVSUxEX0lEX1ZFUkJPU0VfQklO QVJZX1BBUlNFIDIKQEAgLTIxNiwxOCArMjE4LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMw MjE1L2dkYi9lbGZyZWFkLmMKICsJCSAgICB2YWx1ZSk7CiArfQogKwotIHN0cnVjdCBidWlsZF9p ZAotICAgewotICAgICBzaXplX3Qgc2l6ZTsKLSAgICAgZ2RiX2J5dGUgZGF0YVsxXTsKLSAgIH07 Ci0gCi0tLyogTG9jYXRlIE5UX0dOVV9CVUlMRF9JRCBmcm9tIEFCRkQgYW5kIHJldHVybiBpdHMg Y29udGVudC4gICovCiArLyogTG9jYXRlIE5UX0dOVV9CVUlMRF9JRCBhbmQgcmV0dXJuIGl0cyBt YXRjaGluZyBkZWJ1ZyBmaWxlbmFtZS4KICsgICBGSVhNRTogTk9URSBkZWNvZGluZyBzaG91bGQg YmUgdW5pZmllZCB3aXRoIHRoZSBCRkQgY29yZSBub3RlcyBkZWNvZGluZy4gICovCi0gCi0gc3Rh dGljIHN0cnVjdCBidWlsZF9pZCAqCi0tYnVpbGRfaWRfYmZkX2dldCAoYmZkICphYmZkKQorKwor K3N0YXRpYyBzdHJ1Y3QgZWxmX2J1aWxkX2lkICoKICtidWlsZF9pZF9idWZfZ2V0IChiZmQgKnRl bXBsLCBnZGJfYnl0ZSAqYnVmLCBiZmRfc2l6ZV90eXBlIHNpemUpCiArewogKyAgYmZkX2J5dGUg KnA7CkBAIC0yNDcsNyArMjQxLDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2Vs ZnJlYWQuYwogKwl7CiArCSAgc2l6ZV90IHNpemUgPSBkZXNjc3o7CiArCSAgZ2RiX2J5dGUgKmRh dGEgPSAodm9pZCAqKSBkZXNjZGF0YTsKLSsJICBzdHJ1Y3QgYnVpbGRfaWQgKnJldHZhbDsKKysJ ICBzdHJ1Y3QgZWxmX2J1aWxkX2lkICpyZXR2YWw7CiArCiArCSAgcmV0dmFsID0geG1hbGxvYyAo c2l6ZW9mICpyZXR2YWwgLSAxICsgc2l6ZSk7CiArCSAgcmV0dmFsLT5zaXplID0gc2l6ZTsKQEAg LTI2MiwyNiArMjU2LDI3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9lbGZyZWFk LmMKICsKICsvKiBTZXBhcmF0ZSBkZWJ1Z2luZm8gZmlsZXMgaGF2ZSBjb3JydXB0ZWQgUEhEUiBi dXQgU0hEUiBpcyBjb3JyZWN0IHRoZXJlLgogKyAgIExvY2F0ZSBOVF9HTlVfQlVJTERfSUQgZnJv bSBBQkZEIGFuZCByZXR1cm4gaXRzIGNvbnRlbnQuICAqLwotKwotK3N0YXRpYyBzdHJ1Y3QgYnVp bGRfaWQgKgorIAorIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZWxmX2J1aWxkX2lkICoKKy1idWlsZF9p ZF9iZmRfZ2V0IChiZmQgKmFiZmQpCiArYnVpbGRfaWRfYmZkX3NoZHJfZ2V0IChiZmQgKmFiZmQp CiAgewotICAgc3RydWN0IGJ1aWxkX2lkICpyZXR2YWw7Ci0gCi1AQCAtMTA5OSw2ICsxMTUzLDM0 OCBAQCBidWlsZF9pZF9iZmRfZ2V0IChiZmQgKmFiZmQpCi0gICByZXR1cm4gcmV0dmFsOworICAg aWYgKCFiZmRfY2hlY2tfZm9ybWF0IChhYmZkLCBiZmRfb2JqZWN0KQorICAgICAgIHx8IGJmZF9n ZXRfZmxhdm91ciAoYWJmZCkgIT0gYmZkX3RhcmdldF9lbGZfZmxhdm91cgorQEAgLTEwODAsNiAr MTEzNCwzNDggQEAgYnVpbGRfaWRfYmZkX2dldCAoYmZkICphYmZkKQorICAgcmV0dXJuIGVsZl90 ZGF0YSAoYWJmZCktPmJ1aWxkX2lkOwogIH0KICAKICsvKiBDb3JlIGZpbGVzIG1heSBoYXZlIG1p c3NpbmcgKGNvcnJ1cHQpIFNIRFIgYnV0IFBESFIgaXMgY29ycmVjdCB0aGVyZS4KICsgICBiZmRf ZWxmX2JmZF9mcm9tX3JlbW90ZV9tZW1vcnkgKCkgaGFzIHRvbyBtdWNoIG92ZXJoZWFkIGJ5CiAr ICAgYWxsb2NhdGluZy9yZWFkaW5nIGFsbCB0aGUgYXZhaWxhYmxlIEVMRiBQVF9MT0FEcy4gICov CiArCi0rc3RhdGljIHN0cnVjdCBidWlsZF9pZCAqCisrc3RhdGljIHN0cnVjdCBlbGZfYnVpbGRf aWQgKgogK2J1aWxkX2lkX3BoZHJfZ2V0IChiZmQgKnRlbXBsLCBiZmRfdm1hIGxvYWRiYXNlLCB1 bnNpZ25lZCBlX3BobnVtLAogKwkJICAgRWxmX0ludGVybmFsX1BoZHIgKmlfcGhkcikKICt7CiAr ICBpbnQgaTsKLSsgIHN0cnVjdCBidWlsZF9pZCAqcmV0dmFsID0gTlVMTDsKKysgIHN0cnVjdCBl bGZfYnVpbGRfaWQgKnJldHZhbCA9IE5VTEw7CiArCiArICBmb3IgKGkgPSAwOyBpIDwgZV9waG51 bTsgaSsrKQogKyAgICBpZiAoaV9waGRyW2ldLnBfdHlwZSA9PSBQVF9OT1RFICYmIGlfcGhkcltp XS5wX2ZpbGVzeiA+IDApCkBAIC01NjgsMTEgKzU2MywxMSBAQCBJbmRleDogZ2RiLTcuNS41MC4y MDEzMDIxNS9nZGIvZWxmcmVhZC5jCiArICAgIH0KICt9CiArCi0rc3RydWN0IGJ1aWxkX2lkICoK KytzdHJ1Y3QgZWxmX2J1aWxkX2lkICoKICtidWlsZF9pZF9hZGRyX2dldCAoQ09SRV9BRERSIGFk ZHIpCiArewogKyAgc3RydWN0IGJ1aWxkX2lkX2FkZHJfc2VjdCAqY2FuZGlkYXRlOwotKyAgc3Ry dWN0IGJ1aWxkX2lkICpyZXR2YWwgPSBOVUxMOworKyAgc3RydWN0IGVsZl9idWlsZF9pZCAqcmV0 dmFsID0gTlVMTDsKICsgIEVsZl9JbnRlcm5hbF9QaGRyICppX3BoZHIgPSBOVUxMOwogKyAgYmZk X3ZtYSBsb2FkYmFzZSA9IDA7CiArICB1bnNpZ25lZCBlX3BobnVtID0gMDsKQEAgLTYxNyw3ICs2 MTIsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZWxmcmVhZC5jCiAgLyogUmV0 dXJuIGlmIEZJTEVOQU1FIGhhcyBOVF9HTlVfQlVJTERfSUQgbWF0Y2hpbmcgdGhlIENIRUNLIHZh bHVlLiAgKi8KICAKICBzdGF0aWMgaW50Ci1AQCAtMTExMyw3ICsxNTA5LDcgQEAgYnVpbGRfaWRf dmVyaWZ5IChjb25zdCBjaGFyICpmaWxlbmFtZSwgcworQEAgLTEwOTQsNyArMTQ5MCw3IEBAIGJ1 aWxkX2lkX3ZlcmlmeSAoY29uc3QgY2hhciAqZmlsZW5hbWUsIGMKICAgIGlmIChhYmZkID09IE5V TEwpCiAgICAgIHJldHVybiAwOwogIApAQCAtNjI2LDE0ICs2MjEsMTQgQEAgSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAyMTUvZ2RiL2VsZnJlYWQuYwogIAogICAgaWYgKGZvdW5kID09IE5VTEwpCiAg ICAgIHdhcm5pbmcgKF8oIkZpbGUgXCIlc1wiIGhhcyBubyBidWlsZC1pZCwgZmlsZSBza2lwcGVk IiksIGZpbGVuYW1lKTsKLUBAIC0xMTMxLDE3ICsxNTI3LDE4IEBAIGJ1aWxkX2lkX3ZlcmlmeSAo Y29uc3QgY2hhciAqZmlsZW5hbWUsIHMKK0BAIC0xMTEwLDE3ICsxNTA2LDE4IEBAIGJ1aWxkX2lk X3ZlcmlmeSAoY29uc3QgY2hhciAqZmlsZW5hbWUsIGMKICAgIHJldHVybiByZXR2YWw7CiAgfQog IAogLXN0YXRpYyBjaGFyICoKLS1idWlsZF9pZF90b19kZWJ1Z19maWxlbmFtZSAoc3RydWN0IGJ1 aWxkX2lkICpidWlsZF9pZCkKKy1idWlsZF9pZF90b19kZWJ1Z19maWxlbmFtZSAoY29uc3Qgc3Ry dWN0IGVsZl9idWlsZF9pZCAqYnVpbGRfaWQpCiArY2hhciAqCi0rYnVpbGRfaWRfdG9fZmlsZW5h bWUgKHN0cnVjdCBidWlsZF9pZCAqYnVpbGRfaWQsIGNoYXIgKipsaW5rX3JldHVybiwKKytidWls ZF9pZF90b19maWxlbmFtZSAoY29uc3Qgc3RydWN0IGVsZl9idWlsZF9pZCAqYnVpbGRfaWQsIGNo YXIgKipsaW5rX3JldHVybiwKICsJCSAgICAgIGludCBhZGRfZGVidWdfc3VmZml4KQogIHsKICAg IGNoYXIgKmxpbmssICpkZWJ1Z2RpciwgKnJldHZhbCA9IE5VTEw7CkBAIC02NDksMTYgKzY0NCwx NiBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZWxmcmVhZC5jCiAgCiAgICAvKiBL ZWVwIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgc28gdGhhdCBERUJVR19GSUxFX0RJUkVDVE9SWSBi ZWluZyAiIiB3aWxsCiAgICAgICBjYXVzZSAiLy5idWlsZC1pZC8uLi4iIGxvb2t1cHMuICAqLwot QEAgLTExNTQsNiArMTU1MSw4IEBAIGJ1aWxkX2lkX3RvX2RlYnVnX2ZpbGVuYW1lIChzdHJ1Y3Qg YnVpbGQKK0BAIC0xMTMzLDYgKzE1MzAsOCBAQCBidWlsZF9pZF90b19kZWJ1Z19maWxlbmFtZSAo Y29uc3Qgc3RydWN0CiAgICAgICAgc2l6ZV90IGRlYnVnZGlyX2xlbiA9IHN0cmxlbiAoZGVidWdk aXIpOwotICAgICAgIGdkYl9ieXRlICpkYXRhID0gYnVpbGRfaWQtPmRhdGE7CisgICAgICAgY29u c3QgZ2RiX2J5dGUgKmRhdGEgPSBidWlsZF9pZC0+ZGF0YTsKICAgICAgICBzaXplX3Qgc2l6ZSA9 IGJ1aWxkX2lkLT5zaXplOwogKyAgICAgIHVuc2lnbmVkIHNlcW5vOwogKyAgICAgIHN0cnVjdCBz dGF0IHN0YXRidWZfdHJhc2g7CiAgICAgICAgY2hhciAqczsKICAKICAgICAgICBtZW1jcHkgKGxp bmssIGRlYnVnZGlyLCBkZWJ1Z2Rpcl9sZW4pOwotQEAgLTExNjgsMzcgKzE1NjcsMjQwIEBAIGJ1 aWxkX2lkX3RvX2RlYnVnX2ZpbGVuYW1lIChzdHJ1Y3QgYnVpbGQKK0BAIC0xMTQ3LDM3ICsxNTQ2 LDI0MCBAQCBidWlsZF9pZF90b19kZWJ1Z19maWxlbmFtZSAoY29uc3Qgc3RydWN0CiAgCSpzKysg PSAnLyc7CiAgICAgICAgd2hpbGUgKHNpemUtLSA+IDApCiAgCXMgKz0gc3ByaW50ZiAocywgIiUw MngiLCAodW5zaWduZWQpICpkYXRhKyspOwpAQCAtNjg2LDE1ICs2ODEsMTUgQEAgSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAyMTUvZ2RiL2VsZnJlYWQuYwogKwkgICAgc3RyY3B5IChzMiwgIi5kZWJ1 ZyIpOwogKwkgIGVsc2UKICsJICAgICpzMiA9IDA7Ci0gCi0tICAgICAgaWYgKHJldHZhbCAhPSBO VUxMICYmICFidWlsZF9pZF92ZXJpZnkgKHJldHZhbCwgYnVpbGRfaWQpKQorKwogKwkgIC8qIGBh Y2Nlc3MnIGF1dG9tYXRpY2FsbHkgZGVyZWZlcmVuY2VzIExJTksuICAqLwogKwkgIGlmIChsc3Rh dCAobGluaywgJnN0YXRidWZfdHJhc2gpICE9IDApCiArCSAgICB7CiArCSAgICAgIC8qIFN0b3Ag aW5jcmVhc2luZyBTRVFOTy4gICovCiArCSAgICAgIGJyZWFrOwogKwkgICAgfQotKworIAorLSAg ICAgIGlmIChyZXR2YWwgIT0gTlVMTCAmJiAhYnVpbGRfaWRfdmVyaWZ5IChyZXR2YWwsIGJ1aWxk X2lkKSkKICsJICByZXR2YWwgPSBscmVhbHBhdGggKGxpbmspOwogKwogKwkgIGlmIChyZXR2YWwg IT0gTlVMTCAmJiAhYnVpbGRfaWRfdmVyaWZ5IChyZXR2YWwsIGJ1aWxkX2lkKSkKQEAgLTczNSwx NSArNzMwLDE1IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9lbGZyZWFkLmMKICsg ICAgewogICAgICAgIGlmIChyZXR2YWwgIT0gTlVMTCkKIC0JYnJlYWs7Ci0rICAgICAgIHsKLSsg ICAgICAgICAqbGlua19yZXR1cm4gPSBsaW5rOwotKyAgICAgICAgIGxpbmsgPSBOVUxMOwotKyAg ICAgICB9CisrCXsKKysJICAqbGlua19yZXR1cm4gPSBsaW5rOworKwkgIGxpbmsgPSBOVUxMOwor Kwl9CiArICAgICAgZWxzZQotKyAgICAgICB7Ci0rICAgICAgICAgKmxpbmtfcmV0dXJuID0gbGlu a19hbGw7Ci0rICAgICAgICAgbGlua19hbGwgPSBOVUxMOwotKyAgICAgICB9CisrCXsKKysJICAq bGlua19yZXR1cm4gPSBsaW5rX2FsbDsKKysJICBsaW5rX2FsbCA9IE5VTEw7CisrCX0KICAgICAg fQogKyAgeGZyZWUgKGxpbmspOwogKyAgeGZyZWUgKGxpbmtfYWxsKTsKQEAgLTg5Myw3ICs4ODgs NyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZWxmcmVhZC5jCiArZmluZF9zZXBh cmF0ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAogKwkJ CQkgICAgIGNoYXIgKipidWlsZF9pZF9maWxlbmFtZV9yZXR1cm4pCiAgewotICAgc3RydWN0IGJ1 aWxkX2lkICpidWlsZF9pZDsKKyAgIGNvbnN0IHN0cnVjdCBlbGZfYnVpbGRfaWQgKmJ1aWxkX2lk OwogIAogLSAgYnVpbGRfaWQgPSBidWlsZF9pZF9iZmRfZ2V0IChvYmpmaWxlLT5vYmZkKTsKICsg IGlmIChidWlsZF9pZF9maWxlbmFtZV9yZXR1cm4pCkBAIC05MDcsMTAgKzkwMiwxMCBAQCBJbmRl eDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZWxmcmVhZC5jCiAtICAgICAgYnVpbGRfaWRfbmFt ZSA9IGJ1aWxkX2lkX3RvX2RlYnVnX2ZpbGVuYW1lIChidWlsZF9pZCk7CiArICAgICAgYnVpbGRf aWRfbmFtZSA9IGJ1aWxkX2lkX3RvX2ZpbGVuYW1lIChidWlsZF9pZCwgYnVpbGRfaWRfZmlsZW5h bWVfcmV0dXJuLAogKwkJCQkJICAgIDEpOwotICAgICAgIHhmcmVlIChidWlsZF9pZCk7CiAgICAg ICAgLyogUHJldmVudCBsb29waW5nIG9uIGEgc3RyaXBwZWQgLmRlYnVnIGZpbGUuICAqLwogICAg ICAgIGlmIChidWlsZF9pZF9uYW1lICE9IE5VTEwKLUBAIC0xMjA5LDcgKzE4MTEsNyBAQCBmaW5k X3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAoc3RyCisgCSAgJiYgZmlsZW5hbWVfY21w IChidWlsZF9pZF9uYW1lLCBvYmpmaWxlLT5uYW1lKSA9PSAwKQorQEAgLTExODcsNyArMTc4OSw3 IEBAIGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChzdHIKICAJICB4ZnJlZSAo YnVpbGRfaWRfbmFtZSk7CiAgCX0KICAgICAgICBlbHNlIGlmIChidWlsZF9pZF9uYW1lICE9IE5V TEwpCkBAIC05MTksNyArOTE0LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2Vs ZnJlYWQuYwogICAgICB9CiAgICByZXR1cm4gTlVMTDsKICB9Ci1AQCAtMTQ0NCw5ICsyMDQ2LDEw IEBAIGVsZl9zeW1maWxlX3JlYWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWwKK0BAIC0xNDI1LDkg KzIwMjcsMTAgQEAgZWxmX3N5bWZpbGVfcmVhZCAoc3RydWN0IG9iamZpbGUgKm9iamZpbAogIAkg ICAmJiBvYmpmaWxlLT5zZXBhcmF0ZV9kZWJ1Z19vYmpmaWxlID09IE5VTEwKICAJICAgJiYgb2Jq ZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9iYWNrbGluayA9PSBOVUxMKQogICAgICB7CkBA IC05MzIsNyArOTI3LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2VsZnJlYWQu YwogIAogICAgICAgIGlmIChkZWJ1Z2ZpbGUgPT0gTlVMTCkKICAJZGVidWdmaWxlID0gZmluZF9z ZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2RlYnVnbGluayAob2JqZmlsZSk7Ci1AQCAtMTQ2MCw2ICsy MDYzLDEyIEBAIGVsZl9zeW1maWxlX3JlYWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWwKK0BAIC0x NDQxLDYgKzIwNDQsMTIgQEAgZWxmX3N5bWZpbGVfcmVhZCAoc3RydWN0IG9iamZpbGUgKm9iamZp bAogIAkgIHN5bWJvbF9maWxlX2FkZF9zZXBhcmF0ZSAoYWJmZCwgc3ltZmlsZV9mbGFncywgb2Jq ZmlsZSk7CiAgCSAgZG9fY2xlYW51cHMgKGNsZWFudXApOwogIAl9CkBAIC05NDMsOSArOTM4LDkg QEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2VsZnJlYWQuYwogKwogKyAgICAgIHhm cmVlIChidWlsZF9pZF9maWxlbmFtZSk7CiAgICAgIH0KKyB9CiAgCi0gICBpZiAoc3ltdGFiX2Ny ZWF0ZV9kZWJ1ZykKLUBAIC0xNzgyLDQgKzIzOTEsMTYgQEAgX2luaXRpYWxpemVfZWxmcmVhZCAo dm9pZCkKK0BAIC0xNzYwLDQgKzIzNjksMTYgQEAgX2luaXRpYWxpemVfZWxmcmVhZCAodm9pZCkK ICAKICAgIGVsZl9vYmpmaWxlX2dudV9pZnVuY19jYWNoZV9kYXRhID0gcmVnaXN0ZXJfb2JqZmls ZV9kYXRhICgpOwogICAgZ251X2lmdW5jX2Zuc19wID0gJmVsZl9nbnVfaWZ1bmNfZm5zOwpAQCAt OTYyLDI4ICs5NTcsMjcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2VsZnJlYWQu YwogKwogKyAgb2JzZXJ2ZXJfYXR0YWNoX2V4ZWN1dGFibGVfY2hhbmdlZCAoZGVidWdfcHJpbnRf ZXhlY3V0YWJsZV9jaGFuZ2VkKTsKICB9Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIv c3ltZmlsZS5oCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDMxMC9nZGIvc3ltZmlsZS5oCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9zeW1maWxlLmgJMjAxMy0w Mi0wMyAxNzoyMDoxOC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dk Yi9zeW1maWxlLmgJMjAxMy0wMi0xNSAyMjozNTowMy4yODgyMTk4NjcgKzAxMDAKLUBAIC01OTMs NiArNTkzLDEzIEBAIHZvaWQgZnJlZV9zeW1maWxlX3NlZ21lbnRfZGF0YSAoc3RydWN0IHMKKy0t LSBnZGItNy41LjUwLjIwMTMwMzEwLm9yaWcvZ2RiL3N5bWZpbGUuaAkyMDEzLTAyLTAzIDE3OjIw OjE4LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAzMTAvZ2RiL3N5bWZpbGUu aAkyMDEzLTAzLTEwIDE2OjM3OjQxLjIwMzk1OTUxNyArMDEwMAorQEAgLTU5Myw2ICs1OTMsMTIg QEAgdm9pZCBmcmVlX3N5bWZpbGVfc2VnbWVudF9kYXRhIChzdHJ1Y3QgcwogIAogIGV4dGVybiBz dHJ1Y3QgY2xlYW51cCAqaW5jcmVtZW50X3JlYWRpbmdfc3ltdGFiICh2b2lkKTsKICAKICsvKiBi dWlsZC1pZCBzdXBwb3J0LiAgKi8KLStzdHJ1Y3QgYnVpbGRfaWQ7Ci0rZXh0ZXJuIHN0cnVjdCBi dWlsZF9pZCAqYnVpbGRfaWRfYWRkcl9nZXQgKENPUkVfQUREUiBhZGRyKTsKLStleHRlcm4gY2hh ciAqYnVpbGRfaWRfdG9fZmlsZW5hbWUgKHN0cnVjdCBidWlsZF9pZCAqYnVpbGRfaWQsCisrZXh0 ZXJuIHN0cnVjdCBlbGZfYnVpbGRfaWQgKmJ1aWxkX2lkX2FkZHJfZ2V0IChDT1JFX0FERFIgYWRk cik7CisrZXh0ZXJuIGNoYXIgKmJ1aWxkX2lkX3RvX2ZpbGVuYW1lIChjb25zdCBzdHJ1Y3QgZWxm X2J1aWxkX2lkICpidWlsZF9pZCwKICsJCQkJICAgY2hhciAqKmxpbmtfcmV0dXJuLCBpbnQgYWRk X2RlYnVnX3N1ZmZpeCk7CiArZXh0ZXJuIHZvaWQgZGVidWdfcHJpbnRfbWlzc2luZyAoY29uc3Qg Y2hhciAqYmluYXJ5LCBjb25zdCBjaGFyICpkZWJ1Zyk7CiArCiAgLyogRnJvbSBkd2FyZjJyZWFk LmMgKi8KICAKICAvKiBOYW1lcyBmb3IgYSBkd2FyZjIgZGVidWdnaW5nIHNlY3Rpb24uICBUaGUg ZmllbGQgTk9STUFMIGlzIHRoZSBub3JtYWwKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dk Yi90ZXN0c3VpdGUvbGliL2dkYi5leHAKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMzEwL2dkYi90 ZXN0c3VpdGUvbGliL2dkYi5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMjE1 Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAkyMDEzLTAyLTE1IDIyOjMxOjM3LjAwMDAw MDAwMCArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2Ri LmV4cAkyMDEzLTAyLTE1IDIyOjM1OjAzLjI4OTIxOTg3MCArMDEwMAorLS0tIGdkYi03LjUuNTAu MjAxMzAzMTAub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTMtMDMtMTAgMTY6MTY6 MjIuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDMxMC9nZGIvdGVzdHN1aXRl L2xpYi9nZGIuZXhwCTIwMTMtMDMtMTAgMTY6MTc6MTUuMjE5MTE0NjEyICswMTAwCiBAQCAtMTQ4 Miw2ICsxNDgyLDE2IEBAIHByb2MgZGVmYXVsdF9nZGJfc3RhcnQgeyB9IHsKICAJICAgIHdhcm5p bmcgIkNvdWxkbid0IHNldCB0aGUgd2lkdGggdG8gMC4iCiAgCX0KQEAgLTEwMDEsMTAgKzk5NSwx MCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhw CiAgICAgIHJldHVybiAwOwogIH0KICAKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi90 ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDMxMC9n ZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUu NTAuMjAxMzAyMTUub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAkyMDEzLTAx LTIyIDAwOjU3OjU5LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2Ri L3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAJMjAxMy0wMi0xNSAyMjozNTowMy4yODkyMTk4 NzAgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMzEwLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9saWIv bWktc3VwcG9ydC5leHAJMjAxMy0wMS0yMiAwMDo1Nzo1OS4wMDAwMDAwMDAgKzAxMDAKKysrKyBn ZGItNy41LjUwLjIwMTMwMzEwL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwCTIwMTMt MDMtMTAgMTY6MTc6MTUuMjIwMTE0NjEyICswMTAwCiBAQCAtMjEyLDYgKzIxMiwxNiBAQCBwcm9j IGRlZmF1bHRfbWlfZ2RiX3N0YXJ0IHsgYXJncyB9IHsKICAJICAgIHdhcm5pbmcgIkNvdWxkbid0 IHNldCB0aGUgd2lkdGggdG8gMC4iCiAgCX0KQEAgLTEwMjIsMTAgKzEwMTYsMTAgQEAgSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAKICAg ICAgIyBJZiBhbGxvd2luZyB0aGUgaW5mZXJpb3IgdG8gaGF2ZSBpdHMgb3duIFBUWSB0aGVuIGFz c2lnbiB0aGUgaW5mZXJpb3IKICAgICAgIyBpdHMgb3duIHRlcm1pbmFsIGRldmljZSBoZXJlLgog ICAgICBpZiB7ICRzZXBhcmF0ZV9pbmZlcmlvcl9wdHkgfSB7Ci1JbmRleDogZ2RiLTcuNS41MC4y MDEzMDIxNS9nZGIvb2JqZmlsZXMuaAorSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAzMTAvZ2RiL29i amZpbGVzLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL29i amZpbGVzLmgJMjAxMy0wMS0wMSAwNzozMjo0Ny4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy41 LjUwLjIwMTMwMjE1L2dkYi9vYmpmaWxlcy5oCTIwMTMtMDItMTUgMjI6MzU6MDMuMjkwMjE5ODcy ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDMxMC5vcmlnL2dkYi9vYmpmaWxlcy5oCTIwMTMt MDItMjggMjA6MDA6MzEuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDMxMC9n ZGIvb2JqZmlsZXMuaAkyMDEzLTAzLTEwIDE2OjE3OjE1LjIyMDExNDYxMiArMDEwMAogQEAgLTQz Miw2ICs0MzIsMTAgQEAgc3RydWN0IG9iamZpbGUKICAKICAjZGVmaW5lIE9CSkZfTUFJTkxJTkUg KDEgPDwgNSkKQEAgLTEwMzcsMTAgKzEwMzEsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAy MTUvZ2RiL29iamZpbGVzLmgKICAvKiBUaGUgb2JqZWN0IGZpbGUgdGhhdCBjb250YWlucyB0aGUg cnVudGltZSBjb21tb24gbWluaW1hbCBzeW1ib2xzCiAgICAgZm9yIFN1bk9TNC4gIE5vdGUgdGhh dCB0aGlzIG9iamZpbGUgaGFzIG5vIGFzc29jaWF0ZWQgQkZELiAgKi8KICAKLUluZGV4OiBnZGIt Ny41LjUwLjIwMTMwMjE1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY29yZWZpbGUuZXhwCitJbmRl eDogZ2RiLTcuNS41MC4yMDEzMDMxMC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NvcmVmaWxlLmV4 cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2NvcmVmaWxlLmV4cAkyMDEzLTAxLTAxIDA3OjMzOjI1LjAwMDAwMDAwMCArMDEw MAotKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jb3JlZmls ZS5leHAJMjAxMy0wMi0xNSAyMjozNTowMy4yOTAyMTk4NzIgKzAxMDAKKy0tLSBnZGItNy41LjUw LjIwMTMwMzEwLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jb3JlZmlsZS5leHAJMjAxMy0w MS0wMSAwNzozMzoyNS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMzEwL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvY29yZWZpbGUuZXhwCTIwMTMtMDMtMTAgMTY6MTc6MTUuMjIw MTE0NjEyICswMTAwCiBAQCAtMjU2LDMgKzI1NiwzMyBAQCBpZiAhW2lzX3JlbW90ZSB0YXJnZXRd IHsKICAKICAgICAgZ2RiX2V4aXQKCmRpZmYgLS1naXQgYS9nZGItYXJjaGVyLnBhdGNoIGIvZ2Ri LWFyY2hlci5wYXRjaAppbmRleCBmZDI4NjJiLi40MDYwY2MwIDEwMDY0NAotLS0gYS9nZGItYXJj aGVyLnBhdGNoCisrKyBiL2dkYi1hcmNoZXIucGF0Y2gKQEAgLTIsMTMgKzIsMzIgQEAgaHR0cDov L3NvdXJjZXdhcmUub3JnL2dkYi93aWtpL1Byb2plY3RBcmNoZXIKIGh0dHA6Ly9zb3VyY2V3YXJl Lm9yZy9nZGIvd2lraS9BcmNoZXJCcmFuY2hNYW5hZ2VtZW50CiAKIEdJVCBzbmFwc2hvdDoKLWNv bW1pdCBlNzJjZTI5ZjhlMzM5ZmM2ZmZmZDczZTlmZjRiODU0YjZmMmYxNDUyCitjb21taXQgOTJj ZjJkNTNhOWM2OWI0ZmIzNjFkZTY2MmRlOTEwMGM2ZTcyY2FhMAogCi1icmFuY2ggYGFyY2hlcicg LSB0aGUgbWVyZ2Ugb2YgYnJhbmNoZXM6Ci1hcmNoZXItamFua3JhdG9jaHZpbC12bGEKLWFyY2hl ci10cm9tZXktcHl0aG9uCiticmFuY2ggamFua3JhdG9jaHZpbC9mZWRvcmExOSAtIHRoZSBtZXJn ZSBvZiBicmFuY2hlczoKK2phbmtyYXRvY2h2aWwvdmxhCit0cm9tZXkvcHl0aG9uCiAKIAorZGlm ZiAtLWdpdCBhL1JFQURNRS5hcmNoZXIgYi9SRUFETUUuYXJjaGVyCituZXcgZmlsZSBtb2RlIDEw MDY0NAoraW5kZXggMDAwMDAwMC4uMWY3YWI0OAorLS0tIC9kZXYvbnVsbAorKysrIGIvUkVBRE1F LmFyY2hlcgorQEAgLTAsMCArMSwxMyBAQAorK01lcmdlIGZvciBGZWRvcmEgMTk6IGh0dHA6Ly9w a2dzLmZlZG9yYXByb2plY3Qub3JnL2NnaXQvZ2RiLmdpdC8KKysKKytqYW5rcmF0b2NodmlsL3Zs YQorK3Ryb21leS9weXRob24KKysKKys9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrVGhpcyBicmFuY2ggb3JpZ2luYWxseSBo ZWxkIHRoZSBQeXRob24gY29kZSBmb3IgZ2RiLiAgSXQgc3RpbGwgZXhpc3RzCisrYmVjYXVzZSBh IHNtYWxsIGFtb3VudCBvZiBjb2RlIGhlcmUgaGFzIG5vdCB5ZXQgYmVlbiBtZXJnZWQgdXBzdHJl YW0uCisrCisrPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQorK0MgdmFyaWFibGUgbGVuZ3RoIGFycmF5cyAvIERXX0ZPUk1fYmxv Y2sgLyBGb3J0cmFuIGR5bmFtaWMgYXJyYXlzLgorK2ltcGxlbWVudGF0aW9uIHBsYW46ICAgICAg ICAgICAgIGh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGIvMjAxMi0xMS9tc2cwMDA5NC5odG1s CisrZXhwbGFuYXRpb24gb2YgaXRzIG1lcmdlIHN0YXR1czogaHR0cDovL3NvdXJjZXdhcmUub3Jn L21sL2dkYi8yMDExLTAzL21zZzAwMDIxLmh0bWwKIGRpZmYgLS1naXQgYS9nZGIvTWFrZWZpbGUu aW4gYi9nZGIvTWFrZWZpbGUuaW4KIGluZGV4IGVkMzBkYjUuLjQzNTZiZTcgMTAwNjQ0CiAtLS0g YS9nZGIvTWFrZWZpbGUuaW4KQEAgLTI3LDEwICs0NiwxMCBAQCBpbmRleCBlZDMwZGI1Li40MzU2 YmU3IDEwMDY0NAogIAkkKFNIRUxMKSBjb25maWcuc3RhdHVzIC0tcmVjaGVjawogIAogZGlmZiAt LWdpdCBhL2dkYi9hZGEtbGFuZy5jIGIvZ2RiL2FkYS1sYW5nLmMKLWluZGV4IDYzNGU3NjEuLjYw Mjc2ZGMgMTAwNjQ0CitpbmRleCA3NWYxYzNkLi42MjQzODE4IDEwMDY0NAogLS0tIGEvZ2RiL2Fk YS1sYW5nLmMKICsrKyBiL2dkYi9hZGEtbGFuZy5jCi1AQCAtMTIyNjIsNiArMTIyNjIsNyBAQCBh ZGFfb3BlcmF0b3JfbGVuZ3RoIChjb25zdCBzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgcGMs IGludCAqb3BsZW5wLAorQEAgLTEyMjg3LDYgKzEyMjg3LDcgQEAgYWRhX29wZXJhdG9yX2xlbmd0 aCAoY29uc3Qgc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50IHBjLCBpbnQgKm9wbGVucCwKICAK ICBzdGF0aWMgaW50CiAgYWRhX29wZXJhdG9yX2NoZWNrIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhw LCBpbnQgcG9zLApAQCAtMzgsNyArNTcsNyBAQCBpbmRleCA2MzRlNzYxLi42MDI3NmRjIDEwMDY0 NAogIAkJICAgIGludCAoKm9iamZpbGVfZnVuYykgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLCB2 b2lkICpkYXRhKSwKICAJCSAgICB2b2lkICpkYXRhKQogIHsKLUBAIC0xMjI3NiwxMiArMTIyNzcs MTUgQEAgYWRhX29wZXJhdG9yX2NoZWNrIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgcG9z LAorQEAgLTEyMzAxLDEyICsxMjMwMiwxNSBAQCBhZGFfb3BlcmF0b3JfY2hlY2sgKHN0cnVjdCBl eHByZXNzaW9uICpleHAsIGludCBwb3MsCiAgCWJyZWFrOwogIAogICAgICAgIGRlZmF1bHQ6CkBA IC05NCwxMCArMTEzLDEwIEBAIGluZGV4IDAyZTdlOGIuLjI5MzE0MDEgMTAwNjQ0CiArCiAgI2Vu ZGlmIC8qIEJMT0NLX0ggKi8KIGRpZmYgLS1naXQgYS9nZGIvYnJlYWtwb2ludC5jIGIvZ2RiL2Jy ZWFrcG9pbnQuYwotaW5kZXggZmI1N2E1Ny4uNWMwM2IxYyAxMDA2NDQKK2luZGV4IGQ2ZjhiYzUu LjhhMTQyMjQgMTAwNjQ0CiAtLS0gYS9nZGIvYnJlYWtwb2ludC5jCiArKysgYi9nZGIvYnJlYWtw b2ludC5jCi1AQCAtMTU2NTYsNiArMTU2NTYsMjQgQEAgYWxsX3RyYWNlcG9pbnRzICh2b2lkKQor QEAgLTE1NjUzLDYgKzE1NjUzLDI0IEBAIGFsbF90cmFjZXBvaW50cyAodm9pZCkKICAgIHJldHVy biB0cF92ZWM7CiAgfQogIApAQCAtMTIyLDcgKzE0MSw3IEBAIGluZGV4IGZiNTdhNTcuLjVjMDNi MWMgMTAwNjQ0CiAgDAogIC8qIFRoaXMgaGVscCBzdHJpbmcgaXMgdXNlZCBmb3IgdGhlIGJyZWFr LCBoYnJlYWssIHRicmVhayBhbmQgdGhicmVhawogICAgIGNvbW1hbmRzLiAgSXQgaXMgZGVmaW5l ZCBhcyBhIG1hY3JvIHRvIHByZXZlbnQgZHVwbGljYXRpb24uCi1AQCAtMTY2MzksNCArMTY2NTcs NyBAQCBhZ2VudC1wcmludGYgXCJwcmludGYgZm9ybWF0IHN0cmluZ1wiLCBhcmcxLCBhcmcyLCBh cmczLCAuLi4sIGFyZ25cblwKK0BAIC0xNjYzNiw0ICsxNjY1NCw3IEBAIGFnZW50LXByaW50ZiBc InByaW50ZiBmb3JtYXQgc3RyaW5nXCIsIGFyZzEsIGFyZzIsIGFyZzMsIC4uLiwgYXJnblxuXAog ICAgYXV0b21hdGljX2hhcmR3YXJlX2JyZWFrcG9pbnRzID0gMTsKICAKICAgIG9ic2VydmVyX2F0 dGFjaF9hYm91dF90b19wcm9jZWVkIChicmVha3BvaW50X2Fib3V0X3RvX3Byb2NlZWQpOwpAQCAt MTg3LDEwICsyMDYsMTAgQEAgaW5kZXggZDk4YWM3Ny4uZTI0ODM5OSAxMDA2NDQKICBGTEFHU19U T19QQVNTID0gXAogIAkicHJlZml4PSQocHJlZml4KSIgXAogZGlmZiAtLWdpdCBhL2dkYi9kb2Mv Z2RiLnRleGluZm8gYi9nZGIvZG9jL2dkYi50ZXhpbmZvCi1pbmRleCBlOGFjOGM1Li5iMThjY2Q2 IDEwMDY0NAoraW5kZXggYTYwNzE2Ni4uNjkxMzYyOCAxMDA2NDQKIC0tLSBhL2dkYi9kb2MvZ2Ri LnRleGluZm8KICsrKyBiL2dkYi9kb2MvZ2RiLnRleGluZm8KLUBAIC0xMjE3LDYgKzEyMTcsMTYg QEAgZm9yIHJlbW90ZSBkZWJ1Z2dpbmcuCitAQCAtMTIxNiw2ICsxMjE2LDE2IEBAIGZvciByZW1v dGUgZGVidWdnaW5nLgogIFJ1biB1c2luZyBAdmFye2RldmljZX0gZm9yIHlvdXIgcHJvZ3JhbSdz IHN0YW5kYXJkIGlucHV0IGFuZCBvdXRwdXQuCiAgQGMgRklYTUU6IGtpbmdkb24gdGhpbmtzIHRo ZXJlIGlzIG1vcmUgdG8gLXR0eS4gIEludmVzdGlnYXRlLgogIApAQCAtMjA3LDcgKzIyNiw3IEBA IGluZGV4IGU4YWM4YzUuLmIxOGNjZDYgMTAwNjQ0CiAgQGMgcmVzb2x2ZSB0aGUgc2l0dWF0aW9u IG9mIHRoZXNlIGV2ZW50dWFsbHkKICBAaXRlbSAtdHVpCiAgQGNpbmRleCBAY29kZXstLXR1aX0K LUBAIC0yMjc4Niw4ICsyMjc5Niw2IEBAIGNvbnRhaW5pbmcgQGNvZGV7ZW5kfS4gIEZvciBleGFt cGxlOgorQEAgLTIyODA0LDggKzIyODE0LDYgQEAgY29udGFpbmluZyBAY29kZXtlbmR9LiAgRm9y IGV4YW1wbGU6CiAgCiAgQHNtYWxsZXhhbXBsZQogIChAdmFsdWV7R0RCUH0pIHB5dGhvbgpAQCAt MjE2LDcgKzIzNSw3IEBAIGluZGV4IGU4YWM4YzUuLmIxOGNjZDYgMTAwNjQ0CiAgPnByaW50IDIz CiAgPmVuZAogIDIzCi1AQCAtMjI4MDEsNiArMjI4MDksMTQgQEAgY29udHJvbGxlZCB1c2luZyBA Y29kZXtzZXQgcHl0aG9uIHByaW50LXN0YWNrfTogaWYgQGNvZGV7ZnVsbH0sIHRoZW4KK0BAIC0y MjgxOSw2ICsyMjgyNywxNCBAQCBjb250cm9sbGVkIHVzaW5nIEBjb2Rle3NldCBweXRob24gcHJp bnQtc3RhY2t9OiBpZiBAY29kZXtmdWxsfSwgdGhlbgogIGZ1bGwgUHl0aG9uIHN0YWNrIHByaW50 aW5nIGlzIGVuYWJsZWQ7IGlmIEBjb2Rle25vbmV9LCB0aGVuIFB5dGhvbiBzdGFjawogIGFuZCBt ZXNzYWdlIHByaW50aW5nIGlzIGRpc2FibGVkOyBpZiBAY29kZXttZXNzYWdlfSwgdGhlIGRlZmF1 bHQsIG9ubHkKICB0aGUgbWVzc2FnZSBjb21wb25lbnQgb2YgdGhlIGVycm9yIGlzIHByaW50ZWQu CkBAIC0yMzEsNyArMjUwLDcgQEAgaW5kZXggZThhYzhjNS4uYjE4Y2NkNiAxMDA2NDQKICBAZW5k IHRhYmxlCiAgCiAgSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBleGVjdXRlIGEgUHl0aG9uIHNjcmlw dCBmcm9tIHRoZSBAdmFsdWV7R0RCTn0KLUBAIC0yMjgyMiw2ICsyMjgzOCwxNCBAQCBhbmQgdGh1 cyBpcyBhbHdheXMgYXZhaWxhYmxlLgorQEAgLTIyODQwLDYgKzIyODU2LDE0IEBAIGFuZCB0aHVz IGlzIGFsd2F5cyBhdmFpbGFibGUuCiAgQGNpbmRleCBweXRob24gYXBpCiAgQGNpbmRleCBwcm9n cmFtbWluZyBpbiBweXRob24KICAKQEAgLTQyOCw3ICs0NDcsNyBAQCBpbmRleCBlODU0ODZhLi5l N2FjNzk5IDEwMDY0NAogIAogIC8qIFRoZSBsb2NhdGlvbiBvZiBhIHZhbHVlLiAgKi8KIGRpZmYg LS1naXQgYS9nZGIvZHdhcmYybG9jLmMgYi9nZGIvZHdhcmYybG9jLmMKLWluZGV4IDAwMjM4N2Uu LjJlMGU3MjIgMTAwNjQ0CitpbmRleCA4YTYxYWU2Li40NTFhNzU5IDEwMDY0NAogLS0tIGEvZ2Ri L2R3YXJmMmxvYy5jCiArKysgYi9nZGIvZHdhcmYybG9jLmMKIEBAIC0yOTgsNiArMjk4LDkgQEAg c3RydWN0IGR3YXJmX2V4cHJfYmF0b24KQEAgLTU3MSw3ICs1OTAsNyBAQCBpbmRleCAwMDIzODdl Li4yZTBlNzIyIDEwMDY0NAogIC8qIENhbGxiYWNrIGZ1bmN0aW9uIGZvciBkd2FyZjJfZXZhbHVh dGVfbG9jX2Rlc2MuICAqLwogIAogIHN0YXRpYyBzdHJ1Y3QgdHlwZSAqCi1AQCAtMTE1NSwxMCAr MTI0OCwxMiBAQCBkd2FyZl9leHByX3B1c2hfZHdhcmZfcmVnX2VudHJ5X3ZhbHVlIChzdHJ1Y3Qg ZHdhcmZfZXhwcl9jb250ZXh0ICpjdHgsCitAQCAtMTE1NiwxMCArMTI0OSwxMiBAQCBkd2FyZl9l eHByX3B1c2hfZHdhcmZfcmVnX2VudHJ5X3ZhbHVlIChzdHJ1Y3QgZHdhcmZfZXhwcl9jb250ZXh0 ICpjdHgsCiAgCiAgICBzYXZlZF9jdHguZ2RiYXJjaCA9IGN0eC0+Z2RiYXJjaDsKICAgIHNhdmVk X2N0eC5hZGRyX3NpemUgPSBjdHgtPmFkZHJfc2l6ZTsKQEAgLTU4NCw3ICs2MDMsNyBAQCBpbmRl eCAwMDIzODdlLi4yZTBlNzIyIDEwMDY0NAogICAgY3R4LT5vZmZzZXQgPSBkd2FyZjJfcGVyX2N1 X3RleHRfb2Zmc2V0IChiYXRvbl9sb2NhbC5wZXJfY3UpOwogICAgY3R4LT5iYXRvbiA9ICZiYXRv bl9sb2NhbDsKICAKLUBAIC0xMTY2LDEwICsxMjYxLDk1IEBAIGR3YXJmX2V4cHJfcHVzaF9kd2Fy Zl9yZWdfZW50cnlfdmFsdWUgKHN0cnVjdCBkd2FyZl9leHByX2NvbnRleHQgKmN0eCwKK0BAIC0x MTY3LDEwICsxMjYyLDk1IEBAIGR3YXJmX2V4cHJfcHVzaF9kd2FyZl9yZWdfZW50cnlfdmFsdWUg KHN0cnVjdCBkd2FyZl9leHByX2NvbnRleHQgKmN0eCwKICAKICAgIGN0eC0+Z2RiYXJjaCA9IHNh dmVkX2N0eC5nZGJhcmNoOwogICAgY3R4LT5hZGRyX3NpemUgPSBzYXZlZF9jdHguYWRkcl9zaXpl OwpAQCAtNjgwLDcgKzY5OSw3IEBAIGluZGV4IDAwMjM4N2UuLjJlMGU3MjIgMTAwNjQ0CiAgLyog Q2FsbGJhY2sgZnVuY3Rpb24gZm9yIGR3YXJmMl9ldmFsdWF0ZV9sb2NfZGVzYy4KICAgICBGZXRj aCB0aGUgYWRkcmVzcyBpbmRleGVkIGJ5IERXX09QX0dOVV9hZGRyX2luZGV4LiAgKi8KICAKLUBA IC0yMTA1LDIyICsyMjg1LDYgQEAgaW52YWxpZF9zeW50aGV0aWNfcG9pbnRlciAodm9pZCkKK0BA IC0yMTA2LDIyICsyMjg2LDYgQEAgaW52YWxpZF9zeW50aGV0aWNfcG9pbnRlciAodm9pZCkKICAJ ICAgInJlZmVyZW5jZWQgdmlhIHN5bnRoZXRpYyBwb2ludGVyIikpOwogIH0KICAKQEAgLTcwMyw3 ICs3MjIsNyBAQCBpbmRleCAwMDIzODdlLi4yZTBlNzIyIDEwMDY0NAogIC8qIEV2YWx1YXRlIGEg bG9jYXRpb24gZGVzY3JpcHRpb24sIHN0YXJ0aW5nIGF0IERBVEEgYW5kIHdpdGggbGVuZ3RoCiAg ICAgU0laRSwgdG8gZmluZCB0aGUgY3VycmVudCBsb2NhdGlvbiBvZiB2YXJpYWJsZSBvZiBUWVBF IGluIHRoZQogICAgIGNvbnRleHQgb2YgRlJBTUUuICBCWVRFX09GRlNFVCBpcyBhcHBsaWVkIGFm dGVyIHRoZSBjb250ZW50cyBhcmUKLUBAIC0yMTMzLDcgKzIyOTcsNiBAQCBkd2FyZjJfZXZhbHVh dGVfbG9jX2Rlc2NfZnVsbCAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBmcmFtZV9pbmZvICpm cmFtZSwKK0BAIC0yMTM0LDcgKzIyOTgsNiBAQCBkd2FyZjJfZXZhbHVhdGVfbG9jX2Rlc2NfZnVs bCAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKICAJCQkgICAg ICAgTE9OR0VTVCBieXRlX29mZnNldCkKICB7CiAgICBzdHJ1Y3QgdmFsdWUgKnJldHZhbDsKQEAg LTcxMSw3ICs3MzAsNyBAQCBpbmRleCAwMDIzODdlLi4yZTBlNzIyIDEwMDY0NAogICAgc3RydWN0 IGR3YXJmX2V4cHJfY29udGV4dCAqY3R4OwogICAgc3RydWN0IGNsZWFudXAgKm9sZF9jaGFpbiwg KnZhbHVlX2NoYWluOwogICAgc3RydWN0IG9iamZpbGUgKm9iamZpbGUgPSBkd2FyZjJfcGVyX2N1 X29iamZpbGUgKHBlcl9jdSk7Ci1AQCAtMjE0NSwyOSArMjMwOCwxOCBAQCBkd2FyZjJfZXZhbHVh dGVfbG9jX2Rlc2NfZnVsbCAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBmcmFtZV9pbmZvICpm cmFtZSwKK0BAIC0yMTQ2LDI5ICsyMzA5LDE4IEBAIGR3YXJmMl9ldmFsdWF0ZV9sb2NfZGVzY19m dWxsIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLAogICAgaWYg KHNpemUgPT0gMCkKICAgICAgcmV0dXJuIGFsbG9jYXRlX29wdGltaXplZF9vdXRfdmFsdWUgKHR5 cGUpOwogIApAQCAtNzQyLDcgKzc2MSw3IEBAIGluZGV4IDAwMjM4N2UuLjJlMGU3MjIgMTAwNjQ0 CiAgCSAgcmV0dmFsID0gYWxsb2NhdGVfdmFsdWUgKHR5cGUpOwogIAkgIG1hcmtfdmFsdWVfYnl0 ZXNfdW5hdmFpbGFibGUgKHJldHZhbCwgMCwgVFlQRV9MRU5HVEggKHR5cGUpKTsKICAJICByZXR1 cm4gcmV0dmFsOwotQEAgLTIyMzEsNiArMjM4MywxNiBAQCBkd2FyZjJfZXZhbHVhdGVfbG9jX2Rl c2NfZnVsbCAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKK0BA IC0yMjMyLDYgKzIzODQsMTYgQEAgZHdhcmYyX2V2YWx1YXRlX2xvY19kZXNjX2Z1bGwgKHN0cnVj dCB0eXBlICp0eXBlLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsCiAgCSAgICBpbnQgaW5fc3Rh Y2tfbWVtb3J5ID0gZHdhcmZfZXhwcl9mZXRjaF9pbl9zdGFja19tZW1vcnkgKGN0eCwgMCk7CiAg CiAgCSAgICBkb19jbGVhbnVwcyAodmFsdWVfY2hhaW4pOwpAQCAtNzU5LDcgKzc3OCw3IEBAIGlu ZGV4IDAwMjM4N2UuLjJlMGU3MjIgMTAwNjQ0CiAgCSAgICByZXR2YWwgPSBhbGxvY2F0ZV92YWx1 ZV9sYXp5ICh0eXBlKTsKICAJICAgIFZBTFVFX0xWQUwgKHJldHZhbCkgPSBsdmFsX21lbW9yeTsK ICAJICAgIGlmIChpbl9zdGFja19tZW1vcnkpCi1AQCAtNDE0Nyw4ICs0MzA5LDcgQEAgbG9jbGlz dF90cmFjZXBvaW50X3Zhcl9yZWYgKHN0cnVjdCBzeW1ib2wgKnN5bWJvbCwgc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2gsCitAQCAtNDE0OCw4ICs0MzEwLDcgQEAgbG9jbGlzdF90cmFjZXBvaW50X3Zh cl9yZWYgKHN0cnVjdCBzeW1ib2wgKnN5bWJvbCwgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAg CQkJICAgICAgIGRsYmF0b24tPnBlcl9jdSk7CiAgfQogIApAQCAtNzY5LDcgKzc4OCw3IEBAIGlu ZGV4IDAwMjM4N2UuLjJlMGU3MjIgMTAwNjQ0CiAgY29uc3Qgc3RydWN0IHN5bWJvbF9jb21wdXRl ZF9vcHMgZHdhcmYyX2xvY2xpc3RfZnVuY3MgPSB7CiAgICBsb2NsaXN0X3JlYWRfdmFyaWFibGUs CiAgICBsb2NsaXN0X3JlYWRfdmFyaWFibGVfYXRfZW50cnksCi1AQCAtNDE1Nyw2ICs0MzE4LDQ4 IEBAIGNvbnN0IHN0cnVjdCBzeW1ib2xfY29tcHV0ZWRfb3BzIGR3YXJmMl9sb2NsaXN0X2Z1bmNz ID0geworQEAgLTQxNTgsNiArNDMxOSw0OCBAQCBjb25zdCBzdHJ1Y3Qgc3ltYm9sX2NvbXB1dGVk X29wcyBkd2FyZjJfbG9jbGlzdF9mdW5jcyA9IHsKICAgIGxvY2xpc3RfdHJhY2Vwb2ludF92YXJf cmVmCiAgfTsKICAKQEAgLTgzOSw3ICs4NTgsNyBAQCBpbmRleCAzNjY0MWIzLi4xMzk0NTc4IDEw MDY0NAogIC8qIENvbXBpbGUgYSBEV0FSRiBsb2NhdGlvbiBleHByZXNzaW9uIHRvIGFuIGFnZW50 IGV4cHJlc3Npb24uCiAgICAgCiBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9k d2FyZjJyZWFkLmMKLWluZGV4IGQyNmU3YzguLjlmYmU2MWUgMTAwNjQ0CitpbmRleCBkZjYyOThi Li5iMTFhYmYwIDEwMDY0NAogLS0tIGEvZ2RiL2R3YXJmMnJlYWQuYwogKysrIGIvZ2RiL2R3YXJm MnJlYWQuYwogQEAgLTE2MjQsNiArMTYyNCw5IEBAIHN0YXRpYyB2b2lkIGZpbGxfaW5fbG9jbGlz dF9iYXRvbiAoc3RydWN0IGR3YXJmMl9jdSAqY3UsCkBAIC0xMDcxLDcgKzEwOTAsNyBAQCBpbmRl eCBkMjZlN2M4Li45ZmJlNjFlIDEwMDY0NAogICAgdHlwZSA9IGNyZWF0ZV9zdHJpbmdfdHlwZSAo TlVMTCwgY2hhcl90eXBlLCByYW5nZV90eXBlKTsKICAKIEBAIC0xMjczOSw3ICsxMjg1OCw3IEBA IHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJf Y3UgKmN1KQotICAgc3RydWN0IHR5cGUgKmJhc2VfdHlwZTsKKyAgIHN0cnVjdCB0eXBlICpiYXNl X3R5cGUsICpvcmlnX2Jhc2VfdHlwZTsKICAgIHN0cnVjdCB0eXBlICpyYW5nZV90eXBlOwogICAg c3RydWN0IGF0dHJpYnV0ZSAqYXR0cjsKIC0gIExPTkdFU1QgbG93LCBoaWdoOwpAQCAtMTA3OSw3 ICsxMDk4LDcgQEAgaW5kZXggZDI2ZTdjOC4uOWZiZTYxZSAxMDA2NDQKICAgIGludCBsb3dfZGVm YXVsdF9pc192YWxpZDsKICAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgICBMT05HRVNUIG5lZ2F0aXZl X21hc2s7Ci1AQCAtMTI3OTUsNDIgKzEyOTE0LDYgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1 Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTI3OTgsNDIgKzEy OTE3LDYgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0 IGR3YXJmMl9jdSAqY3UpCiAgCQkJCSAgICAgICItIERJRSBhdCAweCV4IFtpbiBtb2R1bGUgJXNd IiksCiAgCSAgICAgICBkaWUtPm9mZnNldC5zZWN0X29mZiwgY3UtPm9iamZpbGUtPm5hbWUpOwog IApAQCAtMTEyMiwxMyArMTE0MSwxMyBAQCBpbmRleCBkMjZlN2M4Li45ZmJlNjFlIDEwMDY0NAog ICAgLyogRHdhcmYtMiBzcGVjaWZpY2F0aW9ucyBleHBsaWNpdGx5IGFsbG93cyB0byBjcmVhdGUg c3VicmFuZ2UgdHlwZXMKICAgICAgIHdpdGhvdXQgc3BlY2lmeWluZyBhIGJhc2UgdHlwZS4KICAg ICAgIEluIHRoYXQgY2FzZSwgdGhlIGJhc2UgdHlwZSBtdXN0IGJlIHNldCB0byB0aGUgdHlwZSBv ZgotQEAgLTEyODY5LDI0ICsxMjk1MiwxNjMgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3Qg ZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTI4NzIsMjQgKzEyOTU1 LDE2MyBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3Qg ZHdhcmYyX2N1ICpjdSkKICAJfQogICAgICB9CiAgCiAtICBuZWdhdGl2ZV9tYXNrID0KICsgIC8q IExPV19CT1VORCBhbmQgSElHSF9CT1VORCBhcmUgc2V0IGZvciByZWFsIGJlbG93LiAgKi8KLSsg IHJhbmdlX3R5cGUgPSBjcmVhdGVfcmFuZ2VfdHlwZSAoTlVMTCwgYmFzZV90eXBlLCAwLCAtMSk7 CisrICByYW5nZV90eXBlID0gY3JlYXRlX3JhbmdlX3R5cGUgKE5VTEwsIG9yaWdfYmFzZV90eXBl LCAwLCAtMSk7CiArICBUWVBFX1VOU0lHTkVEIChyYW5nZV90eXBlKSA9IDA7CiArCiArICBuZWdh dGl2ZV9tYXNrID0gCkBAIC0xMTM4LDcgKzExNTcsNyBAQCBpbmRleCBkMjZlN2M4Li45ZmJlNjFl IDEwMDY0NAogLSAgaWYgKCFUWVBFX1VOU0lHTkVEIChiYXNlX3R5cGUpICYmIChoaWdoICYgbmVn YXRpdmVfbWFzaykpCiAtICAgIGhpZ2ggfD0gbmVnYXRpdmVfbWFzazsKICAKLS0gIHJhbmdlX3R5 cGUgPSBjcmVhdGVfcmFuZ2VfdHlwZSAoTlVMTCwgYmFzZV90eXBlLCBsb3csIGhpZ2gpOworLSAg cmFuZ2VfdHlwZSA9IGNyZWF0ZV9yYW5nZV90eXBlIChOVUxMLCBvcmlnX2Jhc2VfdHlwZSwgbG93 LCBoaWdoKTsKICsgIC8qIEV4Y2x1ZGUgbGFuZ3VhZ2VfYWRhIGZyb20gYW55IFRZUEVfRFlOQU1J QyBjb25zdHJ1Y3RzIGJlbG93LiAgR0RCIEFkYQogKyAgICAgc3VwcG9ydHMgaW1wbGVtZW50cyB0 aGUgZHluYW1pYyBib3VuZHMgaW4gYSBub24tRFdBUkYgd2F5IGFuZCB0aGUKICsgICAgIGV4aXN0 aW5nIERXQVJGIGR5bmFtaWMgYm91bmRzIGFyZSBpbnZhbGlkLCBsZWFkaW5nIHRvIG1lbW9yeSBh Y2Nlc3MKQEAgLTEzMDAsNyArMTMxOSw3IEBAIGluZGV4IGQyNmU3YzguLjlmYmU2MWUgMTAwNjQ0 CiAgCiAgICBuYW1lID0gZHdhcmYyX25hbWUgKGRpZSwgY3UpOwogICAgaWYgKG5hbWUpCi1AQCAt MTU3NDYsMTAgKzE1OTY4LDEyIEBAIHZhcl9kZWNvZGVfbG9jYXRpb24gKHN0cnVjdCBhdHRyaWJ1 dGUgKmF0dHIsIHN0cnVjdCBzeW1ib2wgKnN5bSwKK0BAIC0xNTc0OSwxMCArMTU5NzEsMTIgQEAg dmFyX2RlY29kZV9sb2NhdGlvbiAoc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0IHN5bWJv bCAqc3ltLAogICAgICAgKGkuZS4gd2hlbiB0aGUgdmFsdWUgb2YgYSByZWdpc3RlciBvciBtZW1v cnkgbG9jYXRpb24gaXMKICAgICAgIHJlZmVyZW5jZWQsIG9yIGEgdGhyZWFkLWxvY2FsIGJsb2Nr LCBldGMuKS4gIFRoZW4gYWdhaW4sIGl0IG1pZ2h0CiAgICAgICBub3QgYmUgd29ydGh3aGlsZS4g IEknbSBhc3N1bWluZyB0aGF0IGl0IGlzbid0IHVubGVzcyBwZXJmb3JtYW5jZQpAQCAtMTMxNSw3 ICsxMzM0LDcgQEAgaW5kZXggZDI2ZTdjOC4uOWZiZTYxZSAxMDA2NDQKICAKICAgIGlmIChTWU1C T0xfQ09NUFVURURfT1BTIChzeW0pID09ICZkd2FyZjJfbG9jbGlzdF9mdW5jcykKICAgICAgY3Ut Pmhhc19sb2NsaXN0ID0gMTsKLUBAIC0xNTc5MCw2ICsxNjAxNCw4IEBAIG5ld19zeW1ib2xfZnVs bCAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdhcmYy X2N1ICpjdSwKK0BAIC0xNTc5Myw2ICsxNjAxNyw4IEBAIG5ld19zeW1ib2xfZnVsbCAoc3RydWN0 IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSwK ICAgICAgICBlbHNlCiAgCXN5bSA9IE9CU1RBQ0tfWkFMTE9DICgmb2JqZmlsZS0+b2JqZmlsZV9v YnN0YWNrLCBzdHJ1Y3Qgc3ltYm9sKTsKICAgICAgICBPQkpTVEFUIChvYmpmaWxlLCBuX3N5bXMr Kyk7CkBAIC0xMzI0LDcgKzEzNDMsNyBAQCBpbmRleCBkMjZlN2M4Li45ZmJlNjFlIDEwMDY0NAog IAogICAgICAgIC8qIENhY2hlIHRoaXMgc3ltYm9sJ3MgbmFtZSBhbmQgdGhlIG5hbWUncyBkZW1h bmdsZWQgZm9ybSAoaWYgYW55KS4gICovCiAgICAgICAgU1lNQk9MX1NFVF9MQU5HVUFHRSAoc3lt LCBjdS0+bGFuZ3VhZ2UpOwotQEAgLTE2NTk5LDYgKzE2ODI1LDkgQEAgcmVhZF90eXBlX2RpZV8x IChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTY2MDIs NiArMTY4MjgsOSBAQCByZWFkX3R5cGVfZGllXzEgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1 Y3QgZHdhcmYyX2N1ICpjdSkKICAgICAgICBicmVhazsKICAgICAgfQogIApAQCAtMTMzNCw3ICsx MzUzLDcgQEAgaW5kZXggZDI2ZTdjOC4uOWZiZTYxZSAxMDA2NDQKICAgIHJldHVybiB0aGlzX3R5 cGU7CiAgfQogIAotQEAgLTE5MDQzLDYyICsxOTI3MiwxMDAgQEAgZmlsbF9pbl9sb2NsaXN0X2Jh dG9uIChzdHJ1Y3QgZHdhcmYyX2N1ICpjdSwKK0BAIC0xOTA0Niw2MiArMTkyNzUsMTAwIEBAIGZp bGxfaW5fbG9jbGlzdF9iYXRvbiAoc3RydWN0IGR3YXJmMl9jdSAqY3UsCiAgICBiYXRvbi0+ZnJv bV9kd28gPSBjdS0+ZHdvX3VuaXQgIT0gTlVMTDsKICB9CiAgCkBAIC0xNDczLDcgKzE0OTIsNyBA QCBpbmRleCBkMjZlN2M4Li45ZmJlNjFlIDEwMDY0NAogICAgICB9CiAgfQogIAotQEAgLTE5NDY5 LDYgKzE5NzM2LDI1IEBAIHBlcl9jdV9vZmZzZXRfYW5kX3R5cGVfZXEgKGNvbnN0IHZvaWQgKml0 ZW1fbGhzLCBjb25zdCB2b2lkICppdGVtX3JocykKK0BAIC0xOTQ3Miw2ICsxOTczOSwyNSBAQCBw ZXJfY3Vfb2Zmc2V0X2FuZF90eXBlX2VxIChjb25zdCB2b2lkICppdGVtX2xocywgY29uc3Qgdm9p ZCAqaXRlbV9yaHMpCiAgCSAgJiYgb2ZzX2xocy0+b2Zmc2V0LnNlY3Rfb2ZmID09IG9mc19yaHMt Pm9mZnNldC5zZWN0X29mZik7CiAgfQogIApAQCAtMTQ5OSw3ICsxNTE4LDcgQEAgaW5kZXggZDI2 ZTdjOC4uOWZiZTYxZSAxMDA2NDQKICAvKiBTZXQgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIERJ RSB0byBUWVBFLiAgU2F2ZSBpdCBpbiBDVSdzIGhhc2gKICAgICB0YWJsZSBpZiBuZWNlc3Nhcnku ICBGb3IgY29udmVuaWVuY2UsIHJldHVybiBUWVBFLgogIAotQEAgLTE5NDkzLDYgKzE5Nzc5LDgg QEAgc2V0X2RpZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IHR5cGUgKnR5cGUs IHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTE5NDk2LDYgKzE5NzgyLDggQEAgc2V0X2RpZV90 eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBkd2Fy ZjJfY3UgKmN1KQogICAgc3RydWN0IGR3YXJmMl9wZXJfY3Vfb2Zmc2V0X2FuZF90eXBlICoqc2xv dCwgb2ZzOwogICAgc3RydWN0IG9iamZpbGUgKm9iamZpbGUgPSBjdS0+b2JqZmlsZTsKICAKQEAg LTIzNjIsNyArMjM4MSw3IEBAIGluZGV4IGZiNjZlMGYuLjQ1Njg0ZjAgMTAwNjQ0CiAgCQkJCSAg ICAgICZ1bmF2YWlsKTsKICAKIGRpZmYgLS1naXQgYS9nZGIvZ2RiLWdkYi5nZGIuaW4gYi9nZGIv Z2RiLWdkYi5nZGIuaW4KLWluZGV4IGZmYjdmNTMuLmEyZTdlOTQgMTAwNjQ0CitpbmRleCAwNWEz OGIyLi45ODAxZmRmIDEwMDY0NAogLS0tIGEvZ2RiL2dkYi1nZGIuZ2RiLmluCiArKysgYi9nZGIv Z2RiLWdkYi5nZGIuaW4KIEBAIC0xLDUgKzEsMTUgQEAKQEAgLTIzNzgsOSArMjM5Nyw5IEBAIGlu ZGV4IGZmYjdmNTMuLmEyZTdlOTQgMTAwNjQ0CiArZW5kCiArc291cmNlIEBzcmNkaXJAL3B5dGhv bi9saWIvZ2RiL19faW5pdF9fLnB5CiArCi0gc2V0IGNvbXBsYWludHMgMQorIGlmICEkZ2RiX2lu aXRfZG9uZQorICAgc2V0IHZhcmlhYmxlICRnZGJfaW5pdF9kb25lID0gMQogIAotIGIgaW50ZXJu YWxfZXJyb3IKIGRpZmYgLS1naXQgYS9nZGIvZ2RidHlwZXMuYyBiL2dkYi9nZGJ0eXBlcy5jCiBp bmRleCAxMjczMGQ3Li41YTYxNGUwIDEwMDY0NAogLS0tIGEvZ2RiL2dkYnR5cGVzLmMKQEAgLTQ3 NjIsMTAgKzQ3ODEsMTAgQEAgaW5kZXggMTFjYzAzOC4uZWYyMzhmNiAxMDA2NDQKICAKICAMCiBk aWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9weXRob24uYyBiL2dkYi9weXRob24vcHl0aG9uLmMKLWlu ZGV4IDhkZDY1YTEuLjgyYzZjODYgMTAwNjQ0CitpbmRleCBjZDhkZGZiLi5lOTA2YzRmIDEwMDY0 NAogLS0tIGEvZ2RiL3B5dGhvbi9weXRob24uYwogKysrIGIvZ2RiL3B5dGhvbi9weXRob24uYwot QEAgLTY2LDYgKzY2LDggQEAgc3RhdGljIGNvbnN0IGNoYXIgKmdkYnB5X3Nob3VsZF9wcmludF9z dGFjayA9IHB5dGhvbl9leGNwX21lc3NhZ2U7CitAQCAtNjcsNiArNjcsOCBAQCBzdGF0aWMgY29u c3QgY2hhciAqZ2RicHlfc2hvdWxkX3ByaW50X3N0YWNrID0gcHl0aG9uX2V4Y3BfbWVzc2FnZTsK ICAjaW5jbHVkZSAibGluZXNwZWMuaCIKICAjaW5jbHVkZSAic291cmNlLmgiCiAgI2luY2x1ZGUg InZlcnNpb24uaCIKQEAgLTQ3NzQsNyArNDc5Myw3IEBAIGluZGV4IDhkZDY1YTEuLjgyYzZjODYg MTAwNjQ0CiAgI2luY2x1ZGUgInRhcmdldC5oIgogICNpbmNsdWRlICJnZGJ0aHJlYWQuaCIKICAj aW5jbHVkZSAib2JzZXJ2ZXIuaCIKLUBAIC0xMDgyLDYgKzEwODQsNTMgQEAgZ2RicHlfcHJpbnRf c3RhY2sgKHZvaWQpCitAQCAtMTA5OSw2ICsxMTAxLDUzIEBAIGdkYnB5X3ByaW50X3N0YWNrICh2 b2lkKQogIAogIC8qIFJldHVybiB0aGUgY3VycmVudCBQcm9nc3BhY2UuCiAgICAgVGhlcmUgYWx3 YXlzIGlzIG9uZS4gICovCkBAIC00ODI4LDcgKzQ4NDcsNyBAQCBpbmRleCA4ZGQ2NWExLi44MmM2 Yzg2IDEwMDY0NAogIAogIHN0YXRpYyBQeU9iamVjdCAqCiAgZ2RicHlfZ2V0X2N1cnJlbnRfcHJv Z3NwYWNlIChQeU9iamVjdCAqdW51c2VkMSwgUHlPYmplY3QgKnVudXNlZDIpCi1AQCAtMTczMyw2 ICsxNzgyLDggQEAgc3RhdGljIFB5TWV0aG9kRGVmIEdkYk1ldGhvZHNbXSA9CitAQCAtMTc0OSw2 ICsxNzk4LDggQEAgc3RhdGljIFB5TWV0aG9kRGVmIEdkYk1ldGhvZHNbXSA9CiAgICAgICJHZXQg YSB2YWx1ZSBmcm9tIGhpc3RvcnkiIH0sCiAgICB7ICJleGVjdXRlIiwgKFB5Q0Z1bmN0aW9uKSBl eGVjdXRlX2dkYl9jb21tYW5kLCBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAogICAgICAi RXhlY3V0ZSBhIGdkYiBjb21tYW5kIiB9LApAQCAtNDg1MSwxMCArNDg3MCwxMCBAQCBpbmRleCAy NGUzMDc3Li4wNDQzMDg3IDEwMDY0NAogIAkJCSAgICAgIGludCBlbWJlZGRlZF9vZmZzZXQsIENP UkVfQUREUiBhZGRyZXNzLAogIAkJCSAgICAgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCBy ZWN1cnNlLAogZGlmZiAtLWdpdCBhL2dkYi9zdGFjay5jIGIvZ2RiL3N0YWNrLmMKLWluZGV4IDE0 N2Q4MTUuLjUxMTE1Y2YgMTAwNjQ0CitpbmRleCBmMmFlYjEwLi5kMjBiMmYxIDEwMDY0NAogLS0t IGEvZ2RiL3N0YWNrLmMKICsrKyBiL2dkYi9zdGFjay5jCi1AQCAtNTA4LDYgKzUwOCwxMCBAQCBw cmludF9mcmFtZV9hcmdzIChzdHJ1Y3Qgc3ltYm9sICpmdW5jLCBzdHJ1Y3QgZnJhbWVfaW5mbyAq ZnJhbWUsCitAQCAtNTA5LDYgKzUwOSwxMCBAQCBwcmludF9mcmFtZV9hcmdzIChzdHJ1Y3Qgc3lt Ym9sICpmdW5jLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsCiAgICBzdGIgPSBtZW1fZmlsZW9w ZW4gKCk7CiAgICBvbGRfY2hhaW4gPSBtYWtlX2NsZWFudXBfdWlfZmlsZV9kZWxldGUgKHN0Yik7 CiAgCkBAIC04NDc5LDEwICs4NDk4LDEwIEBAIGluZGV4IDJkNWE2YWYuLjUyNTFlM2YgMTAwNjQ0 CiAgCiAgICBnZXRfdXNlcl9wcmludF9vcHRpb25zICgmb3B0cyk7CiBkaWZmIC0tZ2l0IGEvZ2Ri L3V0aWxzLmMgYi9nZGIvdXRpbHMuYwotaW5kZXggZWI5OWY0Yi4uMmUxN2U4ZSAxMDA2NDQKK2lu ZGV4IDRjMmYwOGMuLmQxYzg3MTAgMTAwNjQ0CiAtLS0gYS9nZGIvdXRpbHMuYwogKysrIGIvZ2Ri L3V0aWxzLmMKLUBAIC0xODA0LDYgKzE4MDQsMzYgQEAgc2V0X2JhdGNoX2ZsYWdfYW5kX21ha2Vf Y2xlYW51cF9yZXN0b3JlX3BhZ2VfaW5mbyAodm9pZCkKK0BAIC0xODA1LDYgKzE4MDUsMzYgQEAg c2V0X2JhdGNoX2ZsYWdfYW5kX21ha2VfY2xlYW51cF9yZXN0b3JlX3BhZ2VfaW5mbyAodm9pZCkK ICAgIHJldHVybiBiYWNrX3RvOwogIH0KICAKQEAgLTg3MjgsNyArODc0Nyw3IEBAIGluZGV4IDkz YzA5ZDguLmFlZjA5OTEgMTAwNjQ0CiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdHlwZSAqZWxlbWVu dF90eXBlID0gVFlQRV9UQVJHRVRfVFlQRSAoYXJyYXlfdHlwZSk7CiBkaWZmIC0tZ2l0IGEvZ2Ri L3ZhbHByaW50LmMgYi9nZGIvdmFscHJpbnQuYwotaW5kZXggMDVkNmMzZS4uNTQzMGU2NiAxMDA2 NDQKK2luZGV4IDE4Y2ZmNDkuLjg5Y2IwMWEgMTAwNjQ0CiAtLS0gYS9nZGIvdmFscHJpbnQuYwog KysrIGIvZ2RiL3ZhbHByaW50LmMKIEBAIC0zNyw2ICszNyw3IEBACgpkaWZmIC0tZ2l0IGEvZ2Ri LWVudHJ5dmFsLTFvZjIucGF0Y2ggYi9nZGItZW50cnl2YWwtMW9mMi5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMWEzMWVjCi0tLSAvZGV2L251bGwKKysrIGIvZ2Ri LWVudHJ5dmFsLTFvZjIucGF0Y2gKQEAgLTAsMCArMSw4NzIgQEAKK2h0dHA6Ly9zb3VyY2V3YXJl Lm9yZy9tbC9nZGItcGF0Y2hlcy8yMDEzLTAzL21zZzAwMDYxLmh0bWwKK1N1YmplY3Q6IFtwYXRj aF0gZW50cnktdmFsdWVzOiBGaXggZm9yIEMrKyBhY3Jvc3MgQ1VzCisKK0hpLAorCitJIGhhdmUg Zm91bmQgd2l0aCBDKysgZW50cnktdmFsdWVzIGRvIG5vdCB3b3JrIG11Y2guICBUaGlzIGlzIGEg cHJvYmxlbQorcHJpbWFyaWx5IGZvciAndGhpcycgYmVpbmcgaW4gJHJkaSBjbG9iYmVyZWQgdmVy eSBzb29uIGFuZCBoYXZpbmcgYSBmdW5jdGlvbgord2l0aCAndGhpcz08b3B0aW1pemVkIG91dD4n IGlzIHByZXR0eSB1c2VsZXNzIGZvciBjb3JlIGNyYXNoIGFuYWx5c2lzLgorSXQgaGFwcGVucyBp ZiB0aGUgY2FsbCBpcyBhY3Jvc3MgQ1VzLCB3aGVyZSBHQ0MgdXNlcyBuYW1lIHJlZmVyZW5jZToK KworIDwyPjw3Yz46IEFiYnJldiBOdW1iZXI6IDYgKERXX1RBR19HTlVfY2FsbF9zaXRlKQorICAg IDw3ZD4gICBEV19BVF9sb3dfcGMgICAgICA6IDB4NDAwNDllCisgICAgPDg1PiAgIERXX0FUX2Fi c3RyYWN0X29yaWdpbjogPDB4YTg+CisgPDE+PGE4PjogQWJicmV2IE51bWJlcjogMTAgKERXX1RB R19zdWJwcm9ncmFtKQorICAgIDxhOT4gICBEV19BVF9leHRlcm5hbCAgICA6IDEgICAgICAgIAor ICAgIDxhOT4gICBEV19BVF9uYW1lICAgICAgICA6IGYgICAgICAgIAorICAgIDxhYj4gICBEV19B VF9kZWNsX2ZpbGUgICA6IDEgICAgICAgIAorICAgIDxhYz4gICBEV19BVF9kZWNsX2xpbmUgICA6 IDI2ICAgICAgIAorICAgIDxhZD4gICBEV19BVF9saW5rYWdlX25hbWU6IChpbmRpcmVjdCBzdHJp bmcsIG9mZnNldDogMHg4Myk6IF9aMWZpCisgICAgPGIxPiAgIERXX0FUX2RlY2xhcmF0aW9uIDog MSAgICAgICAgCisKK1RoZSB0ZXN0Y2FzZSB0ZXN0cyB0YWlsIGNhbGxzIHdoaWNoIGlzIGFub3Ro ZXIgKGNvbXBhcmVkIHRvIHVucmVjb3ZlcmVkIHZhbHVlcworc3VjaCBhcyAndGhpcycpIHJlcHJv ZHVjdGlvbiBvZiB0aGUgc2FtZSBwcm9ibGVtOgorCUNhbm5vdCBmaW5kIGZ1bmN0aW9uICJmKGlu dCkiIGZvciBhIGNhbGwgc2l0ZSB0YXJnZXQgYXQgMHg0MDA0YWUgaW4gbWFpbgorCSMwICBnICh4 PTIpIGF0IGdkYi5hcmNoL2FtZDY0LXRhaWxjYWxsLWN4eDEuY2M6MjMKKwkjMSAgMHgwMDAwMDAw MDAwNDAwNGFlIGluIG1haW4gKCkgYXQgZ2RiLmFyY2gvYW1kNjQtdGFpbGNhbGwtY3h4MS5jYzoz MQorLT4KKwkjMCAgZyAoeD14QGVudHJ5PTIpIGF0IGdkYi5hcmNoL2FtZDY0LXRhaWxjYWxsLWN4 eDEuY2M6MjMKKwkjMSAgMHgwMDAwMDAwMDAwNDAwNWM4IGluIGYgKHg9eEBlbnRyeT0xKSBhdCBn ZGIuYXJjaC9hbWQ2NC10YWlsY2FsbC1jeHgyLmNjOjIzCisJIzIgIDB4MDAwMDAwMDAwMDQwMDRh ZSBpbiBtYWluICgpIGF0IGdkYi5hcmNoL2FtZDY0LXRhaWxjYWxsLWN4eDEuY2M6MzEKKworVGhl cmUgYXJlIHR3byBkaWZmZXJlbnQgZml4ZXMgYmVsb3cuICBUaGUgZmlyc3Qgb25lIG9ubHkgYWx3 YXlzIHdvcmtzIGJ1dCBpdAorYWx3YXlzIHVzZXMgdGhlIGRlbWFuZ2xlZCBuYW1lLCB3aGljaCBp cyBub3QgZXhhY3QuICBUaGUgc2Vjb25kIGZpeCBwcm92aWRlcwordGhlIG1hbmdsZWQgbmFtZSAo aWYgYXZhaWxhYmxlKTsgdGhlIG1hbmdsZWQgbmFtZSB3b3VsZCBub3QgbmVlZCB0aGUgZmlyc3Qg Zml4CitidXQgdGhlIG1hbmdsZWQgbmFtZSBpcyBzb21ldGltZXMgbm90IGF2YWlsYWJsZSAtIGZv ciBleGFtcGxlIGluIEZlZG9yYSBHQ0MuCisKK05vIHJlZ3Jlc3Npb25zIG9uIHt4ODZfNjQseDg2 XzY0LW0zMixpNjg2fS1mZWRvcmExOXByZS1saW51eC1nbnUuCisKK1Byb2JhYmx5IG5vdGhpbmcg aW50ZXJlc3RpbmcsIEkgd2lsbCBjaGVjayBpdCBpbi4KKworCitUaGFua3MsCitKYW4KKworCitn ZGIvCisyMDEzLTAzLTAyICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5j b20+CisKKwlGaXggZW50cnktdmFsdWVzIGluIEMrKyBhY3Jvc3MgQ1VzLgorCSogZHdhcmYybG9j LmMgKGNhbGxfc2l0ZV90b190YXJnZXRfYWRkcikgPEZJRUxEX0xPQ19LSU5EX1BIWVNOQU1FPjog VXNlCisJbG9va3VwX21pbmltYWxfc3ltYm9sLiAgQWRkIGEgY29tbWVudC4KKwkqIGR3YXJmMnJl YWQuYworCShyZWFkX2NhbGxfc2l0ZV9zY29wZSkgPGlzX3JlZl9hdHRyPiA8ZGllX2lzX2RlY2xh cmF0aW9uPjogUHJlZmVyCisJRFdfQVRfbGlua2FnZV9uYW1lLgorCitnZGIvdGVzdHN1aXRlLwor MjAxMy0wMy0wMiAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgor CisJRml4IGVudHJ5LXZhbHVlcyBpbiBDKysgYWNyb3NzIENVcy4KKwkqIGdkYi5hcmNoL2FtZDY0 LXRhaWxjYWxsLWN4eC5leHA6IE5ldyBmaWxlLgorCSogZ2RiLmFyY2gvYW1kNjQtdGFpbGNhbGwt Y3h4MS5TOiBOZXcgZmlsZS4KKwkqIGdkYi5hcmNoL2FtZDY0LXRhaWxjYWxsLWN4eDEuY2M6IE5l dyBmaWxlLgorCSogZ2RiLmFyY2gvYW1kNjQtdGFpbGNhbGwtY3h4Mi5TOiBOZXcgZmlsZS4KKwkq IGdkYi5hcmNoL2FtZDY0LXRhaWxjYWxsLWN4eDIuY2M6IE5ldyBmaWxlLgorCitkaWZmIC0tZ2l0 IGEvZ2RiL2R3YXJmMmxvYy5jIGIvZ2RiL2R3YXJmMmxvYy5jCitpbmRleCA4YTYxYWU2Li5mMzAw ZGYyIDEwMDY0NAorLS0tIGEvZ2RiL2R3YXJmMmxvYy5jCisrKysgYi9nZGIvZHdhcmYybG9jLmMK K0BAIC01NDIsNyArNTQyLDkgQEAgY2FsbF9zaXRlX3RvX3RhcmdldF9hZGRyIChzdHJ1Y3QgZ2Ri YXJjaCAqY2FsbF9zaXRlX2dkYmFyY2gsCisgCXN0cnVjdCBtaW5pbWFsX3N5bWJvbCAqbXN5bTsK KyAKKyAJcGh5c25hbWUgPSBGSUVMRF9TVEFUSUNfUEhZU05BTUUgKGNhbGxfc2l0ZS0+dGFyZ2V0 KTsKKy0JbXN5bSA9IGxvb2t1cF9taW5pbWFsX3N5bWJvbF90ZXh0IChwaHlzbmFtZSwgTlVMTCk7 CisrCisrCS8qIEhhbmRsZSBib3RoIHRoZSBtYW5nbGVkIGFuZCBkZW1hbmdsZWQgUEhZU05BTUUu ICAqLworKwltc3ltID0gbG9va3VwX21pbmltYWxfc3ltYm9sIChwaHlzbmFtZSwgTlVMTCwgTlVM TCk7CisgCWlmIChtc3ltID09IE5VTEwpCisgCSAgeworIAkgICAgbXN5bSA9IGxvb2t1cF9taW5p bWFsX3N5bWJvbF9ieV9wYyAoY2FsbF9zaXRlLT5wYyAtIDEpOworZGlmZiAtLWdpdCBhL2dkYi9k d2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCitpbmRleCBkZjYyOThiLi5mYWVlMWE4IDEw MDY0NAorLS0tIGEvZ2RiL2R3YXJmMnJlYWQuYworKysrIGIvZ2RiL2R3YXJmMnJlYWQuYworQEAg LTk4MTIsOSArOTgxMiwxOCBAQCByZWFkX2NhbGxfc2l0ZV9zY29wZSAoc3RydWN0IGRpZV9pbmZv ICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorICAgICAgIGdkYl9hc3NlcnQgKHRhcmdldF9j dS0+b2JqZmlsZSA9PSBvYmpmaWxlKTsKKyAgICAgICBpZiAoZGllX2lzX2RlY2xhcmF0aW9uICh0 YXJnZXRfZGllLCB0YXJnZXRfY3UpKQorIAl7CistCSAgY29uc3QgY2hhciAqdGFyZ2V0X3BoeXNu YW1lOworLQorLQkgIHRhcmdldF9waHlzbmFtZSA9IGR3YXJmMl9waHlzbmFtZSAoTlVMTCwgdGFy Z2V0X2RpZSwgdGFyZ2V0X2N1KTsKKysJICBjb25zdCBjaGFyICp0YXJnZXRfcGh5c25hbWUgPSBO VUxMOworKwkgIHN0cnVjdCBhdHRyaWJ1dGUgKnRhcmdldF9hdHRyOworKworKwkgIC8qIFByZWZl ciB0aGUgbWFuZ2xlZCBuYW1lOyBvdGhlcndpc2UgY29tcHV0ZSB0aGUgZGVtYW5nbGVkIG9uZS4g ICovCisrCSAgdGFyZ2V0X2F0dHIgPSBkd2FyZjJfYXR0ciAodGFyZ2V0X2RpZSwgRFdfQVRfbGlu a2FnZV9uYW1lLCB0YXJnZXRfY3UpOworKwkgIGlmICh0YXJnZXRfYXR0ciA9PSBOVUxMKQorKwkg ICAgdGFyZ2V0X2F0dHIgPSBkd2FyZjJfYXR0ciAodGFyZ2V0X2RpZSwgRFdfQVRfTUlQU19saW5r YWdlX25hbWUsCisrCQkJCSAgICAgICB0YXJnZXRfY3UpOworKwkgIGlmICh0YXJnZXRfYXR0ciAh PSBOVUxMICYmIERXX1NUUklORyAodGFyZ2V0X2F0dHIpICE9IE5VTEwpCisrCSAgICB0YXJnZXRf cGh5c25hbWUgPSBEV19TVFJJTkcgKHRhcmdldF9hdHRyKTsKKysJICBlbHNlCisrCSAgICB0YXJn ZXRfcGh5c25hbWUgPSBkd2FyZjJfcGh5c25hbWUgKE5VTEwsIHRhcmdldF9kaWUsIHRhcmdldF9j dSk7CisgCSAgaWYgKHRhcmdldF9waHlzbmFtZSA9PSBOVUxMKQorIAkgICAgY29tcGxhaW50ICgm c3ltZmlsZV9jb21wbGFpbnRzLAorIAkJICAgICAgIF8oIkRXX0FUX0dOVV9jYWxsX3NpdGVfdGFy Z2V0IHRhcmdldCBESUUgaGFzIGludmFsaWQgIgorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUv Z2RiLmFyY2gvYW1kNjQtdGFpbGNhbGwtY3h4LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gv YW1kNjQtdGFpbGNhbGwtY3h4LmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAw MDAuLmRiMmFiM2MKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gv YW1kNjQtdGFpbGNhbGwtY3h4LmV4cAorQEAgLTAsMCArMSwzNiBAQAorKyMgQ29weXJpZ2h0IChD KSAyMDEyLTIwMTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrIworKyMgVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBz aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3 LmdudS5vcmcvbGljZW5zZXMvPi4KKysKKytzZXQgb3B0cyB7fQorK3N0YW5kYXJkX3Rlc3RmaWxl IGFtZDY0LXRhaWxjYWxsLWN4eDEuUyBhbWQ2NC10YWlsY2FsbC1jeHgyLlMKKysKKytpZiBbaW5m byBleGlzdHMgQ09NUElMRV0geworKyAgICAjIG1ha2UgY2hlY2sgUlVOVEVTVEZMQUdTPSJnZGIu YXJjaC9hbWQ2NC10YWlsY2FsbC1jeHguZXhwIENPTVBJTEU9MSIKKysgICAgc3RhbmRhcmRfdGVz dGZpbGUgYW1kNjQtdGFpbGNhbGwtY3h4MS5jYyBhbWQ2NC10YWlsY2FsbC1jeHgyLmNjCisrICAg IGxhcHBlbmQgb3B0cyBkZWJ1ZyBvcHRpbWl6ZT0tTzIKKyt9IGVsc2VpZiB7ICFbaXN0YXJnZXQg eDg2XzY0LSotKiBdIHx8ICFbaXNfbHA2NF90YXJnZXRdIH0geworKyAgICB2ZXJib3NlICJTa2lw cGluZyAke3Rlc3RmaWxlfS4iCisrICAgIHJldHVybgorK30KKysKKytpZiB7IFtwcmVwYXJlX2Zv cl90ZXN0aW5nICR7dGVzdGZpbGV9LmV4cCAke3Rlc3RmaWxlfSAiJHtzcmNmaWxlfSAke3NyY2Zp bGUyfSIgJG9wdHNdIH0geworKyAgICByZXR1cm4gLTEKKyt9CisrCisraWYgIVtydW50byBnXSB7 CisrICAgIHJldHVybiAtMQorK30KKysKKytnZGJfdGVzdCAiYnQiICJcclxuIzAgK2cgXFwoeD14 QGVudHJ5PTJcXCkgYXQgXFteXHJcblxdKlxyXG4jMSArMHhcWzAtOWEtZlxdKyBpbiBmIFxcKHg9 eEBlbnRyeT0xXFwpIGF0IFxbXlxyXG5cXSpcclxuIzIgKzB4XFswLTlhLWZcXSsgaW4gbWFpbiAu KiIKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LXRhaWxjYWxsLWN4 eDEuUyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQtdGFpbGNhbGwtY3h4MS5TCituZXcg ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uZDk4ODQ0NgorLS0tIC9kZXYvbnVsbAor KysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC10YWlsY2FsbC1jeHgxLlMKK0BAIC0w LDAgKzEsMzY3IEBACisrLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBk ZWJ1Z2dlci4KKysKKysgICBDb3B5cmlnaHQgMjAxMi0yMDEzIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl LCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAgIGFsb25nIHdpdGggdGhpcyBw cm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8K KysKKysvKiBUaGlzIHNvdXJjZSBmaWxlIHdhcyBnZW5lcmF0ZWQgYnk6CisrICAgZysrIC1vIGdk Yi5hcmNoL2FtZDY0LXRhaWxjYWxsLWN4eDEuUyBnZGIuYXJjaC9hbWQ2NC10YWlsY2FsbC1jeHgx LmNjIC1XYWxsIC1TIC1kQSAtTzIgLWcKKysgICBGZWRvcmEgR0NDIHdhcyB1c2VkIGhlcmUgdG8g YWxzbyB0ZXN0IHRoZSBjYXNlIG9mIG1pc3NpbmcgRFdfQVRfbGlua2FnZV9uYW1lLgorKyAgICov CisrCisrCS5maWxlCSJhbWQ2NC10YWlsY2FsbC1jeHgxLmNjIgorKwkudGV4dAorKy5MdGV4dDA6 CisrCS5wMmFsaWduIDQsLDE1CisrCS5nbG9ibAlfWjFnaQorKwkudHlwZQlfWjFnaSwgQGZ1bmN0 aW9uCisrX1oxZ2k6CisrLkxGQjA6CisrCS5maWxlIDEgImdkYi5hcmNoL2FtZDY0LXRhaWxjYWxs LWN4eDEuY2MiCisrCSMgZ2RiLmFyY2gvYW1kNjQtdGFpbGNhbGwtY3h4MS5jYzoyMgorKwkubG9j IDEgMjIgMAorKwkuY2ZpX3N0YXJ0cHJvYworKy5MVkwwOgorKyMgQkxPQ0sgMiBmcmVxOjEwMDAw IHNlcTowCisrIyBQUkVEOiBFTlRSWSBbMTAwLjAlXSAgKEZBTExUSFJVKQorKwkjIGdkYi5hcmNo L2FtZDY0LXRhaWxjYWxsLWN4eDEuY2M6MjMKKysJLmxvYyAxIDIzIDAKKysJbW92bAklZWRpLCB2 KCVyaXApCisrIyBTVUNDOiBFWElUIFsxMDAuMCVdIAorKwlyZXQKKysJLmNmaV9lbmRwcm9jCisr LkxGRTA6CisrCS5zaXplCV9aMWdpLCAuLV9aMWdpCisrCS5zZWN0aW9uCS50ZXh0LnN0YXJ0dXAs ImF4IixAcHJvZ2JpdHMKKysJLnAyYWxpZ24gNCwsMTUKKysJLmdsb2JsCW1haW4KKysJLnR5cGUJ bWFpbiwgQGZ1bmN0aW9uCisrbWFpbjoKKysuTEZCMToKKysJIyBnZGIuYXJjaC9hbWQ2NC10YWls Y2FsbC1jeHgxLmNjOjMwCisrCS5sb2MgMSAzMCAwCisrCS5jZmlfc3RhcnRwcm9jCisrIyBCTE9D SyAyIGZyZXE6MTAwMDAgc2VxOjAKKysjIFBSRUQ6IEVOVFJZIFsxMDAuMCVdICAoRkFMTFRIUlUp CisrCXN1YnEJJDgsICVyc3AKKysJLmNmaV9kZWZfY2ZhX29mZnNldCAxNgorKwkjIGdkYi5hcmNo L2FtZDY0LXRhaWxjYWxsLWN4eDEuY2M6MzEKKysJLmxvYyAxIDMxIDAKKysJbW92bAkkMSwgJWVk aQorKwljYWxsCV9aMWZpCisrLkxWTDE6CisrCSMgZ2RiLmFyY2gvYW1kNjQtdGFpbGNhbGwtY3h4 MS5jYzozMgorKwkubG9jIDEgMzIgMAorKwl4b3JsCSVlYXgsICVlYXgKKysJYWRkcQkkOCwgJXJz cAorKwkuY2ZpX2RlZl9jZmFfb2Zmc2V0IDgKKysjIFNVQ0M6IEVYSVQgWzEwMC4wJV0gCisrCXJl dAorKwkuY2ZpX2VuZHByb2MKKysuTEZFMToKKysJLnNpemUJbWFpbiwgLi1tYWluCisrCS5nbG9i bAl2CisrCS5ic3MKKysJLmFsaWduIDQKKysJLnR5cGUJdiwgQG9iamVjdAorKwkuc2l6ZQl2LCA0 CisrdjoKKysJLnplcm8JNAorKwkudGV4dAorKy5MZXRleHQwOgorKwkuc2VjdGlvbgkuZGVidWdf aW5mbywiIixAcHJvZ2JpdHMKKysuTGRlYnVnX2luZm8wOgorKwkubG9uZwkweGI0CSMgTGVuZ3Ro IG9mIENvbXBpbGF0aW9uIFVuaXQgSW5mbworKwkudmFsdWUJMHg0CSMgRFdBUkYgdmVyc2lvbiBu dW1iZXIKKysJLmxvbmcJLkxkZWJ1Z19hYmJyZXYwCSMgT2Zmc2V0IEludG8gQWJicmV2LiBTZWN0 aW9uCisrCS5ieXRlCTB4OAkjIFBvaW50ZXIgU2l6ZSAoaW4gYnl0ZXMpCisrCS51bGViMTI4IDB4 MQkjIChESUUgKDB4YikgRFdfVEFHX2NvbXBpbGVfdW5pdCkKKysJLmxvbmcJLkxBU0YxCSMgRFdf QVRfcHJvZHVjZXI6ICJHTlUgQysrIDQuOC4wIDIwMTMwMjIwIChSZWQgSGF0IDQuOC4wLTAuMTQp IC1tdHVuZT1nZW5lcmljIC1tYXJjaD14ODYtNjQgLWcgLU8yIgorKwkuYnl0ZQkweDQJIyBEV19B VF9sYW5ndWFnZQorKwkubG9uZwkuTEFTRjIJIyBEV19BVF9uYW1lOiAiZ2RiLmFyY2gvYW1kNjQt dGFpbGNhbGwtY3h4MS5jYyIKKysJLmxvbmcJLkxBU0YzCSMgRFdfQVRfY29tcF9kaXI6ICIiCisr CS5sb25nCS5MZGVidWdfcmFuZ2VzMCswCSMgRFdfQVRfcmFuZ2VzCisrCS5xdWFkCTAJIyBEV19B VF9sb3dfcGMKKysJLmxvbmcJLkxkZWJ1Z19saW5lMAkjIERXX0FUX3N0bXRfbGlzdAorKwkudWxl YjEyOCAweDIJIyAoRElFICgweDI5KSBEV19UQUdfc3VicHJvZ3JhbSkKKysJCQkjIERXX0FUX2V4 dGVybmFsCisrCS5hc2NpaSAiZ1wwIgkjIERXX0FUX25hbWUKKysJLmJ5dGUJMHgxCSMgRFdfQVRf ZGVjbF9maWxlIChnZGIuYXJjaC9hbWQ2NC10YWlsY2FsbC1jeHgxLmNjKQorKwkuYnl0ZQkweDE1 CSMgRFdfQVRfZGVjbF9saW5lCisrCS5sb25nCS5MQVNGNAkjIERXX0FUX2xpbmthZ2VfbmFtZTog Il9aMWdpIgorKwkucXVhZAkuTEZCMAkjIERXX0FUX2xvd19wYworKwkucXVhZAkuTEZFMC0uTEZC MAkjIERXX0FUX2hpZ2hfcGMKKysJLnVsZWIxMjggMHgxCSMgRFdfQVRfZnJhbWVfYmFzZQorKwku Ynl0ZQkweDljCSMgRFdfT1BfY2FsbF9mcmFtZV9jZmEKKysJCQkjIERXX0FUX0dOVV9hbGxfY2Fs bF9zaXRlcworKwkubG9uZwkweDU0CSMgRFdfQVRfc2libGluZworKwkudWxlYjEyOCAweDMJIyAo RElFICgweDQ4KSBEV19UQUdfZm9ybWFsX3BhcmFtZXRlcikKKysJLmFzY2lpICJ4XDAiCSMgRFdf QVRfbmFtZQorKwkuYnl0ZQkweDEJIyBEV19BVF9kZWNsX2ZpbGUgKGdkYi5hcmNoL2FtZDY0LXRh aWxjYWxsLWN4eDEuY2MpCisrCS5ieXRlCTB4MTUJIyBEV19BVF9kZWNsX2xpbmUKKysJLmxvbmcJ MHg1NAkjIERXX0FUX3R5cGUKKysJLnVsZWIxMjggMHgxCSMgRFdfQVRfbG9jYXRpb24KKysJLmJ5 dGUJMHg1NQkjIERXX09QX3JlZzUKKysJLmJ5dGUJMAkjIGVuZCBvZiBjaGlsZHJlbiBvZiBESUUg MHgyOQorKwkudWxlYjEyOCAweDQJIyAoRElFICgweDU0KSBEV19UQUdfYmFzZV90eXBlKQorKwku Ynl0ZQkweDQJIyBEV19BVF9ieXRlX3NpemUKKysJLmJ5dGUJMHg1CSMgRFdfQVRfZW5jb2RpbmcK KysJLmFzY2lpICJpbnRcMCIJIyBEV19BVF9uYW1lCisrCS51bGViMTI4IDB4NQkjIChESUUgKDB4 NWIpIERXX1RBR19zdWJwcm9ncmFtKQorKwkJCSMgRFdfQVRfZXh0ZXJuYWwKKysJLmxvbmcJLkxB U0YwCSMgRFdfQVRfbmFtZTogIm1haW4iCisrCS5ieXRlCTB4MQkjIERXX0FUX2RlY2xfZmlsZSAo Z2RiLmFyY2gvYW1kNjQtdGFpbGNhbGwtY3h4MS5jYykKKysJLmJ5dGUJMHgxZAkjIERXX0FUX2Rl Y2xfbGluZQorKwkubG9uZwkweDU0CSMgRFdfQVRfdHlwZQorKwkucXVhZAkuTEZCMQkjIERXX0FU X2xvd19wYworKwkucXVhZAkuTEZFMS0uTEZCMQkjIERXX0FUX2hpZ2hfcGMKKysJLnVsZWIxMjgg MHgxCSMgRFdfQVRfZnJhbWVfYmFzZQorKwkuYnl0ZQkweDljCSMgRFdfT1BfY2FsbF9mcmFtZV9j ZmEKKysJCQkjIERXX0FUX0dOVV9hbGxfY2FsbF9zaXRlcworKwkubG9uZwkweDkwCSMgRFdfQVRf c2libGluZworKwkudWxlYjEyOCAweDYJIyAoRElFICgweDdjKSBEV19UQUdfR05VX2NhbGxfc2l0 ZSkKKysJLnF1YWQJLkxWTDEJIyBEV19BVF9sb3dfcGMKKysJLmxvbmcJMHhhOAkjIERXX0FUX2Fi c3RyYWN0X29yaWdpbgorKwkudWxlYjEyOCAweDcJIyAoRElFICgweDg5KSBEV19UQUdfR05VX2Nh bGxfc2l0ZV9wYXJhbWV0ZXIpCisrCS51bGViMTI4IDB4MQkjIERXX0FUX2xvY2F0aW9uCisrCS5i eXRlCTB4NTUJIyBEV19PUF9yZWc1CisrCS51bGViMTI4IDB4MQkjIERXX0FUX0dOVV9jYWxsX3Np dGVfdmFsdWUKKysJLmJ5dGUJMHgzMQkjIERXX09QX2xpdDEKKysJLmJ5dGUJMAkjIGVuZCBvZiBj aGlsZHJlbiBvZiBESUUgMHg3YworKwkuYnl0ZQkwCSMgZW5kIG9mIGNoaWxkcmVuIG9mIERJRSAw eDViCisrCS51bGViMTI4IDB4OAkjIChESUUgKDB4OTApIERXX1RBR192YXJpYWJsZSkKKysJLmFz Y2lpICJ2XDAiCSMgRFdfQVRfbmFtZQorKwkuYnl0ZQkweDEJIyBEV19BVF9kZWNsX2ZpbGUgKGdk Yi5hcmNoL2FtZDY0LXRhaWxjYWxsLWN4eDEuY2MpCisrCS5ieXRlCTB4MTIJIyBEV19BVF9kZWNs X2xpbmUKKysJLmxvbmcJMHhhMwkjIERXX0FUX3R5cGUKKysJCQkjIERXX0FUX2V4dGVybmFsCisr CS51bGViMTI4IDB4OQkjIERXX0FUX2xvY2F0aW9uCisrCS5ieXRlCTB4MwkjIERXX09QX2FkZHIK KysJLnF1YWQJdgorKwkudWxlYjEyOCAweDkJIyAoRElFICgweGEzKSBEV19UQUdfdm9sYXRpbGVf dHlwZSkKKysJLmxvbmcJMHg1NAkjIERXX0FUX3R5cGUKKysJLnVsZWIxMjggMHhhCSMgKERJRSAo MHhhOCkgRFdfVEFHX3N1YnByb2dyYW0pCisrCQkJIyBEV19BVF9leHRlcm5hbAorKwkuYXNjaWkg ImZcMCIJIyBEV19BVF9uYW1lCisrCS5ieXRlCTB4MQkjIERXX0FUX2RlY2xfZmlsZSAoZ2RiLmFy Y2gvYW1kNjQtdGFpbGNhbGwtY3h4MS5jYykKKysJLmJ5dGUJMHgxYQkjIERXX0FUX2RlY2xfbGlu ZQorKwkubG9uZwkuTEFTRjUJIyBEV19BVF9saW5rYWdlX25hbWU6ICJfWjFmaSIKKysJCQkjIERX X0FUX2RlY2xhcmF0aW9uCisrCS51bGViMTI4IDB4YgkjIChESUUgKDB4YjEpIERXX1RBR19mb3Jt YWxfcGFyYW1ldGVyKQorKwkubG9uZwkweDU0CSMgRFdfQVRfdHlwZQorKwkuYnl0ZQkwCSMgZW5k IG9mIGNoaWxkcmVuIG9mIERJRSAweGE4CisrCS5ieXRlCTAJIyBlbmQgb2YgY2hpbGRyZW4gb2Yg RElFIDB4YgorKwkuc2VjdGlvbgkuZGVidWdfYWJicmV2LCIiLEBwcm9nYml0cworKy5MZGVidWdf YWJicmV2MDoKKysJLnVsZWIxMjggMHgxCSMgKGFiYnJldiBjb2RlKQorKwkudWxlYjEyOCAweDEx CSMgKFRBRzogRFdfVEFHX2NvbXBpbGVfdW5pdCkKKysJLmJ5dGUJMHgxCSMgRFdfY2hpbGRyZW5f eWVzCisrCS51bGViMTI4IDB4MjUJIyAoRFdfQVRfcHJvZHVjZXIpCisrCS51bGViMTI4IDB4ZQkj IChEV19GT1JNX3N0cnApCisrCS51bGViMTI4IDB4MTMJIyAoRFdfQVRfbGFuZ3VhZ2UpCisrCS51 bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQorKwkudWxlYjEyOCAweDMJIyAoRFdfQVRfbmFt ZSkKKysJLnVsZWIxMjggMHhlCSMgKERXX0ZPUk1fc3RycCkKKysJLnVsZWIxMjggMHgxYgkjIChE V19BVF9jb21wX2RpcikKKysJLnVsZWIxMjggMHhlCSMgKERXX0ZPUk1fc3RycCkKKysJLnVsZWIx MjggMHg1NQkjIChEV19BVF9yYW5nZXMpCisrCS51bGViMTI4IDB4MTcJIyAoRFdfRk9STV9zZWNf b2Zmc2V0KQorKwkudWxlYjEyOCAweDExCSMgKERXX0FUX2xvd19wYykKKysJLnVsZWIxMjggMHgx CSMgKERXX0ZPUk1fYWRkcikKKysJLnVsZWIxMjggMHgxMAkjIChEV19BVF9zdG10X2xpc3QpCisr CS51bGViMTI4IDB4MTcJIyAoRFdfRk9STV9zZWNfb2Zmc2V0KQorKwkuYnl0ZQkwCisrCS5ieXRl CTAKKysJLnVsZWIxMjggMHgyCSMgKGFiYnJldiBjb2RlKQorKwkudWxlYjEyOCAweDJlCSMgKFRB RzogRFdfVEFHX3N1YnByb2dyYW0pCisrCS5ieXRlCTB4MQkjIERXX2NoaWxkcmVuX3llcworKwku dWxlYjEyOCAweDNmCSMgKERXX0FUX2V4dGVybmFsKQorKwkudWxlYjEyOCAweDE5CSMgKERXX0ZP Uk1fZmxhZ19wcmVzZW50KQorKwkudWxlYjEyOCAweDMJIyAoRFdfQVRfbmFtZSkKKysJLnVsZWIx MjggMHg4CSMgKERXX0ZPUk1fc3RyaW5nKQorKwkudWxlYjEyOCAweDNhCSMgKERXX0FUX2RlY2xf ZmlsZSkKKysJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCisrCS51bGViMTI4IDB4M2IJ IyAoRFdfQVRfZGVjbF9saW5lKQorKwkudWxlYjEyOCAweGIJIyAoRFdfRk9STV9kYXRhMSkKKysJ LnVsZWIxMjggMHg2ZQkjIChEV19BVF9saW5rYWdlX25hbWUpCisrCS51bGViMTI4IDB4ZQkjIChE V19GT1JNX3N0cnApCisrCS51bGViMTI4IDB4MTEJIyAoRFdfQVRfbG93X3BjKQorKwkudWxlYjEy OCAweDEJIyAoRFdfRk9STV9hZGRyKQorKwkudWxlYjEyOCAweDEyCSMgKERXX0FUX2hpZ2hfcGMp CisrCS51bGViMTI4IDB4NwkjIChEV19GT1JNX2RhdGE4KQorKwkudWxlYjEyOCAweDQwCSMgKERX X0FUX2ZyYW1lX2Jhc2UpCisrCS51bGViMTI4IDB4MTgJIyAoRFdfRk9STV9leHBybG9jKQorKwku dWxlYjEyOCAweDIxMTcJIyAoRFdfQVRfR05VX2FsbF9jYWxsX3NpdGVzKQorKwkudWxlYjEyOCAw eDE5CSMgKERXX0ZPUk1fZmxhZ19wcmVzZW50KQorKwkudWxlYjEyOCAweDEJIyAoRFdfQVRfc2li bGluZykKKysJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQpCisrCS5ieXRlCTAKKysJLmJ5 dGUJMAorKwkudWxlYjEyOCAweDMJIyAoYWJicmV2IGNvZGUpCisrCS51bGViMTI4IDB4NQkjIChU QUc6IERXX1RBR19mb3JtYWxfcGFyYW1ldGVyKQorKwkuYnl0ZQkwCSMgRFdfY2hpbGRyZW5fbm8K KysJLnVsZWIxMjggMHgzCSMgKERXX0FUX25hbWUpCisrCS51bGViMTI4IDB4OAkjIChEV19GT1JN X3N0cmluZykKKysJLnVsZWIxMjggMHgzYQkjIChEV19BVF9kZWNsX2ZpbGUpCisrCS51bGViMTI4 IDB4YgkjIChEV19GT1JNX2RhdGExKQorKwkudWxlYjEyOCAweDNiCSMgKERXX0FUX2RlY2xfbGlu ZSkKKysJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCisrCS51bGViMTI4IDB4NDkJIyAo RFdfQVRfdHlwZSkKKysJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQpCisrCS51bGViMTI4 IDB4MgkjIChEV19BVF9sb2NhdGlvbikKKysJLnVsZWIxMjggMHgxOAkjIChEV19GT1JNX2V4cHJs b2MpCisrCS5ieXRlCTAKKysJLmJ5dGUJMAorKwkudWxlYjEyOCAweDQJIyAoYWJicmV2IGNvZGUp CisrCS51bGViMTI4IDB4MjQJIyAoVEFHOiBEV19UQUdfYmFzZV90eXBlKQorKwkuYnl0ZQkwCSMg RFdfY2hpbGRyZW5fbm8KKysJLnVsZWIxMjggMHhiCSMgKERXX0FUX2J5dGVfc2l6ZSkKKysJLnVs ZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCisrCS51bGViMTI4IDB4M2UJIyAoRFdfQVRfZW5j b2RpbmcpCisrCS51bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQorKwkudWxlYjEyOCAweDMJ IyAoRFdfQVRfbmFtZSkKKysJLnVsZWIxMjggMHg4CSMgKERXX0ZPUk1fc3RyaW5nKQorKwkuYnl0 ZQkwCisrCS5ieXRlCTAKKysJLnVsZWIxMjggMHg1CSMgKGFiYnJldiBjb2RlKQorKwkudWxlYjEy OCAweDJlCSMgKFRBRzogRFdfVEFHX3N1YnByb2dyYW0pCisrCS5ieXRlCTB4MQkjIERXX2NoaWxk cmVuX3llcworKwkudWxlYjEyOCAweDNmCSMgKERXX0FUX2V4dGVybmFsKQorKwkudWxlYjEyOCAw eDE5CSMgKERXX0ZPUk1fZmxhZ19wcmVzZW50KQorKwkudWxlYjEyOCAweDMJIyAoRFdfQVRfbmFt ZSkKKysJLnVsZWIxMjggMHhlCSMgKERXX0ZPUk1fc3RycCkKKysJLnVsZWIxMjggMHgzYQkjIChE V19BVF9kZWNsX2ZpbGUpCisrCS51bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQorKwkudWxl YjEyOCAweDNiCSMgKERXX0FUX2RlY2xfbGluZSkKKysJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1f ZGF0YTEpCisrCS51bGViMTI4IDB4NDkJIyAoRFdfQVRfdHlwZSkKKysJLnVsZWIxMjggMHgxMwkj IChEV19GT1JNX3JlZjQpCisrCS51bGViMTI4IDB4MTEJIyAoRFdfQVRfbG93X3BjKQorKwkudWxl YjEyOCAweDEJIyAoRFdfRk9STV9hZGRyKQorKwkudWxlYjEyOCAweDEyCSMgKERXX0FUX2hpZ2hf cGMpCisrCS51bGViMTI4IDB4NwkjIChEV19GT1JNX2RhdGE4KQorKwkudWxlYjEyOCAweDQwCSMg KERXX0FUX2ZyYW1lX2Jhc2UpCisrCS51bGViMTI4IDB4MTgJIyAoRFdfRk9STV9leHBybG9jKQor KwkudWxlYjEyOCAweDIxMTcJIyAoRFdfQVRfR05VX2FsbF9jYWxsX3NpdGVzKQorKwkudWxlYjEy OCAweDE5CSMgKERXX0ZPUk1fZmxhZ19wcmVzZW50KQorKwkudWxlYjEyOCAweDEJIyAoRFdfQVRf c2libGluZykKKysJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQpCisrCS5ieXRlCTAKKysJ LmJ5dGUJMAorKwkudWxlYjEyOCAweDYJIyAoYWJicmV2IGNvZGUpCisrCS51bGViMTI4IDB4NDEw OQkjIChUQUc6IERXX1RBR19HTlVfY2FsbF9zaXRlKQorKwkuYnl0ZQkweDEJIyBEV19jaGlsZHJl bl95ZXMKKysJLnVsZWIxMjggMHgxMQkjIChEV19BVF9sb3dfcGMpCisrCS51bGViMTI4IDB4MQkj IChEV19GT1JNX2FkZHIpCisrCS51bGViMTI4IDB4MzEJIyAoRFdfQVRfYWJzdHJhY3Rfb3JpZ2lu KQorKwkudWxlYjEyOCAweDEzCSMgKERXX0ZPUk1fcmVmNCkKKysJLmJ5dGUJMAorKwkuYnl0ZQkw CisrCS51bGViMTI4IDB4NwkjIChhYmJyZXYgY29kZSkKKysJLnVsZWIxMjggMHg0MTBhCSMgKFRB RzogRFdfVEFHX0dOVV9jYWxsX3NpdGVfcGFyYW1ldGVyKQorKwkuYnl0ZQkwCSMgRFdfY2hpbGRy ZW5fbm8KKysJLnVsZWIxMjggMHgyCSMgKERXX0FUX2xvY2F0aW9uKQorKwkudWxlYjEyOCAweDE4 CSMgKERXX0ZPUk1fZXhwcmxvYykKKysJLnVsZWIxMjggMHgyMTExCSMgKERXX0FUX0dOVV9jYWxs X3NpdGVfdmFsdWUpCisrCS51bGViMTI4IDB4MTgJIyAoRFdfRk9STV9leHBybG9jKQorKwkuYnl0 ZQkwCisrCS5ieXRlCTAKKysJLnVsZWIxMjggMHg4CSMgKGFiYnJldiBjb2RlKQorKwkudWxlYjEy OCAweDM0CSMgKFRBRzogRFdfVEFHX3ZhcmlhYmxlKQorKwkuYnl0ZQkwCSMgRFdfY2hpbGRyZW5f bm8KKysJLnVsZWIxMjggMHgzCSMgKERXX0FUX25hbWUpCisrCS51bGViMTI4IDB4OAkjIChEV19G T1JNX3N0cmluZykKKysJLnVsZWIxMjggMHgzYQkjIChEV19BVF9kZWNsX2ZpbGUpCisrCS51bGVi MTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQorKwkudWxlYjEyOCAweDNiCSMgKERXX0FUX2RlY2xf bGluZSkKKysJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCisrCS51bGViMTI4IDB4NDkJ IyAoRFdfQVRfdHlwZSkKKysJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQpCisrCS51bGVi MTI4IDB4M2YJIyAoRFdfQVRfZXh0ZXJuYWwpCisrCS51bGViMTI4IDB4MTkJIyAoRFdfRk9STV9m bGFnX3ByZXNlbnQpCisrCS51bGViMTI4IDB4MgkjIChEV19BVF9sb2NhdGlvbikKKysJLnVsZWIx MjggMHgxOAkjIChEV19GT1JNX2V4cHJsb2MpCisrCS5ieXRlCTAKKysJLmJ5dGUJMAorKwkudWxl YjEyOCAweDkJIyAoYWJicmV2IGNvZGUpCisrCS51bGViMTI4IDB4MzUJIyAoVEFHOiBEV19UQUdf dm9sYXRpbGVfdHlwZSkKKysJLmJ5dGUJMAkjIERXX2NoaWxkcmVuX25vCisrCS51bGViMTI4IDB4 NDkJIyAoRFdfQVRfdHlwZSkKKysJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQpCisrCS5i eXRlCTAKKysJLmJ5dGUJMAorKwkudWxlYjEyOCAweGEJIyAoYWJicmV2IGNvZGUpCisrCS51bGVi MTI4IDB4MmUJIyAoVEFHOiBEV19UQUdfc3VicHJvZ3JhbSkKKysJLmJ5dGUJMHgxCSMgRFdfY2hp bGRyZW5feWVzCisrCS51bGViMTI4IDB4M2YJIyAoRFdfQVRfZXh0ZXJuYWwpCisrCS51bGViMTI4 IDB4MTkJIyAoRFdfRk9STV9mbGFnX3ByZXNlbnQpCisrCS51bGViMTI4IDB4MwkjIChEV19BVF9u YW1lKQorKwkudWxlYjEyOCAweDgJIyAoRFdfRk9STV9zdHJpbmcpCisrCS51bGViMTI4IDB4M2EJ IyAoRFdfQVRfZGVjbF9maWxlKQorKwkudWxlYjEyOCAweGIJIyAoRFdfRk9STV9kYXRhMSkKKysJ LnVsZWIxMjggMHgzYgkjIChEV19BVF9kZWNsX2xpbmUpCisrCS51bGViMTI4IDB4YgkjIChEV19G T1JNX2RhdGExKQorKwkudWxlYjEyOCAweDZlCSMgKERXX0FUX2xpbmthZ2VfbmFtZSkKKysJLnVs ZWIxMjggMHhlCSMgKERXX0ZPUk1fc3RycCkKKysJLnVsZWIxMjggMHgzYwkjIChEV19BVF9kZWNs YXJhdGlvbikKKysJLnVsZWIxMjggMHgxOQkjIChEV19GT1JNX2ZsYWdfcHJlc2VudCkKKysJLmJ5 dGUJMAorKwkuYnl0ZQkwCisrCS51bGViMTI4IDB4YgkjIChhYmJyZXYgY29kZSkKKysJLnVsZWIx MjggMHg1CSMgKFRBRzogRFdfVEFHX2Zvcm1hbF9wYXJhbWV0ZXIpCisrCS5ieXRlCTAJIyBEV19j aGlsZHJlbl9ubworKwkudWxlYjEyOCAweDQ5CSMgKERXX0FUX3R5cGUpCisrCS51bGViMTI4IDB4 MTMJIyAoRFdfRk9STV9yZWY0KQorKwkuYnl0ZQkwCisrCS5ieXRlCTAKKysJLmJ5dGUJMAorKwku c2VjdGlvbgkuZGVidWdfYXJhbmdlcywiIixAcHJvZ2JpdHMKKysJLmxvbmcJMHgzYwkjIExlbmd0 aCBvZiBBZGRyZXNzIFJhbmdlcyBJbmZvCisrCS52YWx1ZQkweDIJIyBEV0FSRiBWZXJzaW9uCisr CS5sb25nCS5MZGVidWdfaW5mbzAJIyBPZmZzZXQgb2YgQ29tcGlsYXRpb24gVW5pdCBJbmZvCisr CS5ieXRlCTB4OAkjIFNpemUgb2YgQWRkcmVzcworKwkuYnl0ZQkwCSMgU2l6ZSBvZiBTZWdtZW50 IERlc2NyaXB0b3IKKysJLnZhbHVlCTAJIyBQYWQgdG8gMTYgYnl0ZSBib3VuZGFyeQorKwkudmFs dWUJMAorKwkucXVhZAkuTHRleHQwCSMgQWRkcmVzcworKwkucXVhZAkuTGV0ZXh0MC0uTHRleHQw CSMgTGVuZ3RoCisrCS5xdWFkCS5MRkIxCSMgQWRkcmVzcworKwkucXVhZAkuTEZFMS0uTEZCMQkj IExlbmd0aAorKwkucXVhZAkwCisrCS5xdWFkCTAKKysJLnNlY3Rpb24JLmRlYnVnX3Jhbmdlcywi IixAcHJvZ2JpdHMKKysuTGRlYnVnX3JhbmdlczA6CisrCS5xdWFkCS5MdGV4dDAJIyBPZmZzZXQg MAorKwkucXVhZAkuTGV0ZXh0MAorKwkucXVhZAkuTEZCMQkjIE9mZnNldCAweDEwCisrCS5xdWFk CS5MRkUxCisrCS5xdWFkCTAKKysJLnF1YWQJMAorKwkuc2VjdGlvbgkuZGVidWdfbGluZSwiIixA cHJvZ2JpdHMKKysuTGRlYnVnX2xpbmUwOgorKwkuc2VjdGlvbgkuZGVidWdfc3RyLCJNUyIsQHBy b2diaXRzLDEKKysuTEFTRjQ6CisrCS5zdHJpbmcJIl9aMWdpIgorKy5MQVNGMzoKKysJLnN0cmlu ZwkiIgorKy5MQVNGMjoKKysJLnN0cmluZwkiZ2RiLmFyY2gvYW1kNjQtdGFpbGNhbGwtY3h4MS5j YyIKKysuTEFTRjE6CisrCS5zdHJpbmcJIkdOVSBDKysgNC44LjAgMjAxMzAyMjAgKFJlZCBIYXQg NC44LjAtMC4xNCkgLW10dW5lPWdlbmVyaWMgLW1hcmNoPXg4Ni02NCAtZyAtTzIiCisrLkxBU0Yw OgorKwkuc3RyaW5nCSJtYWluIgorKy5MQVNGNToKKysJLnN0cmluZwkiX1oxZmkiCisrCS5pZGVu dAkiR0NDOiAoR05VKSA0LjguMCAyMDEzMDIyMCAoUmVkIEhhdCA0LjguMC0wLjE0KSIKKysJLnNl Y3Rpb24JLm5vdGUuR05VLXN0YWNrLCIiLEBwcm9nYml0cworZGlmZiAtLWdpdCBhL2dkYi90ZXN0 c3VpdGUvZ2RiLmFyY2gvYW1kNjQtdGFpbGNhbGwtY3h4MS5jYyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmFyY2gvYW1kNjQtdGFpbGNhbGwtY3h4MS5jYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4 IDAwMDAwMDAuLjdhZjk5MzYKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmFyY2gvYW1kNjQtdGFpbGNhbGwtY3h4MS5jYworQEAgLTAsMCArMSwzMiBAQAorKy8qIFRoaXMg dGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCisrCisrICAgQ29weXJp Z2h0IDIwMTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrICAgVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKKysgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysg ICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAgIFlv dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDov L3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworK3ZvbGF0aWxlIGludCB2OworKworK19f YXR0cmlidXRlX18gKChub2lubGluZSwgbm9jbG9uZSkpIHZvaWQKKytnIChpbnQgeCkKKyt7Cisr ICB2ID0geDsKKyt9CisrCisrZXh0ZXJuIHZvaWQgZiAoaW50IHgpOworKworK2ludAorK21haW4g KCkKKyt7CisrICBmICgxKTsKKyt9CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJj aC9hbWQ2NC10YWlsY2FsbC1jeHgyLlMgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LXRh aWxjYWxsLWN4eDIuUworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjhhMjZk NmYKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQtdGFp bGNhbGwtY3h4Mi5TCitAQCAtMCwwICsxLDI3NiBAQAorKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFy dCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCisrCisrICAgQ29weXJpZ2h0IDIwMTItMjAxMyBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVi bGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNp b24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysg ICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5v cmcvbGljZW5zZXMvPi4gICovCisrCisrLyogVGhpcyBzb3VyY2UgZmlsZSB3YXMgZ2VuZXJhdGVk IGJ5OgorKyAgIGcrKyAtbyBnZGIuYXJjaC9hbWQ2NC10YWlsY2FsbC1jeHgyLlMgZ2RiLmFyY2gv YW1kNjQtdGFpbGNhbGwtY3h4Mi5jYyAtV2FsbCAtUyAtZEEgLU8yIC1nCisrICAgRmVkb3JhIEdD QyB3YXMgdXNlZCBoZXJlIHRvIGFsc28gdGVzdCB0aGUgY2FzZSBvZiBtaXNzaW5nIERXX0FUX2xp bmthZ2VfbmFtZS4KKysgICAqLworKworKwkuZmlsZQkiYW1kNjQtdGFpbGNhbGwtY3h4Mi5jYyIK KysJLnRleHQKKysuTHRleHQwOgorKwkucDJhbGlnbiA0LCwxNQorKwkuZ2xvYmwJX1oxZmkKKysJ LnR5cGUJX1oxZmksIEBmdW5jdGlvbgorK19aMWZpOgorKy5MRkIwOgorKwkuZmlsZSAxICJnZGIu YXJjaC9hbWQ2NC10YWlsY2FsbC1jeHgyLmNjIgorKwkjIGdkYi5hcmNoL2FtZDY0LXRhaWxjYWxs LWN4eDIuY2M6MjIKKysJLmxvYyAxIDIyIDAKKysJLmNmaV9zdGFydHByb2MKKysuTFZMMDoKKysj IEJMT0NLIDIgZnJlcToxMDAwMCBzZXE6MAorKyMgUFJFRDogRU5UUlkgWzEwMC4wJV0gIChGQUxM VEhSVSkKKysJIyBnZGIuYXJjaC9hbWQ2NC10YWlsY2FsbC1jeHgyLmNjOjIzCisrCS5sb2MgMSAy MyAwCisrCWFkZGwJJDEsICVlZGkKKysuTFZMMToKKysJam1wCV9aMWdpCisrLkxWTDI6CisrIyBT VUNDOiBFWElUIFsxMDAuMCVdICAoQUJOT1JNQUwsU0lCQ0FMTCkKKysJLmNmaV9lbmRwcm9jCisr LkxGRTA6CisrCS5zaXplCV9aMWZpLCAuLV9aMWZpCisrLkxldGV4dDA6CisrCS5zZWN0aW9uCS5k ZWJ1Z19pbmZvLCIiLEBwcm9nYml0cworKy5MZGVidWdfaW5mbzA6CisrCS5sb25nCTB4ODQJIyBM ZW5ndGggb2YgQ29tcGlsYXRpb24gVW5pdCBJbmZvCisrCS52YWx1ZQkweDQJIyBEV0FSRiB2ZXJz aW9uIG51bWJlcgorKwkubG9uZwkuTGRlYnVnX2FiYnJldjAJIyBPZmZzZXQgSW50byBBYmJyZXYu IFNlY3Rpb24KKysJLmJ5dGUJMHg4CSMgUG9pbnRlciBTaXplIChpbiBieXRlcykKKysJLnVsZWIx MjggMHgxCSMgKERJRSAoMHhiKSBEV19UQUdfY29tcGlsZV91bml0KQorKwkubG9uZwkuTEFTRjAJ IyBEV19BVF9wcm9kdWNlcjogIkdOVSBDKysgNC44LjAgMjAxMzAyMjAgKFJlZCBIYXQgNC44LjAt MC4xNCkgLW10dW5lPWdlbmVyaWMgLW1hcmNoPXg4Ni02NCAtZyAtTzIiCisrCS5ieXRlCTB4NAkj IERXX0FUX2xhbmd1YWdlCisrCS5sb25nCS5MQVNGMQkjIERXX0FUX25hbWU6ICJnZGIuYXJjaC9h bWQ2NC10YWlsY2FsbC1jeHgyLmNjIgorKwkubG9uZwkuTEFTRjIJIyBEV19BVF9jb21wX2Rpcjog IiIKKysJLnF1YWQJLkx0ZXh0MAkjIERXX0FUX2xvd19wYworKwkucXVhZAkuTGV0ZXh0MC0uTHRl eHQwCSMgRFdfQVRfaGlnaF9wYworKwkubG9uZwkuTGRlYnVnX2xpbmUwCSMgRFdfQVRfc3RtdF9s aXN0CisrCS51bGViMTI4IDB4MgkjIChESUUgKDB4MmQpIERXX1RBR19zdWJwcm9ncmFtKQorKwkJ CSMgRFdfQVRfZXh0ZXJuYWwKKysJLmFzY2lpICJmXDAiCSMgRFdfQVRfbmFtZQorKwkuYnl0ZQkw eDEJIyBEV19BVF9kZWNsX2ZpbGUgKGdkYi5hcmNoL2FtZDY0LXRhaWxjYWxsLWN4eDIuY2MpCisr CS5ieXRlCTB4MTUJIyBEV19BVF9kZWNsX2xpbmUKKysJLmxvbmcJLkxBU0YzCSMgRFdfQVRfbGlu a2FnZV9uYW1lOiAiX1oxZmkiCisrCS5xdWFkCS5MRkIwCSMgRFdfQVRfbG93X3BjCisrCS5xdWFk CS5MRkUwLS5MRkIwCSMgRFdfQVRfaGlnaF9wYworKwkudWxlYjEyOCAweDEJIyBEV19BVF9mcmFt ZV9iYXNlCisrCS5ieXRlCTB4OWMJIyBEV19PUF9jYWxsX2ZyYW1lX2NmYQorKwkJCSMgRFdfQVRf R05VX2FsbF9jYWxsX3NpdGVzCisrCS5sb25nCTB4NzEJIyBEV19BVF9zaWJsaW5nCisrCS51bGVi MTI4IDB4MwkjIChESUUgKDB4NGMpIERXX1RBR19mb3JtYWxfcGFyYW1ldGVyKQorKwkuYXNjaWkg InhcMCIJIyBEV19BVF9uYW1lCisrCS5ieXRlCTB4MQkjIERXX0FUX2RlY2xfZmlsZSAoZ2RiLmFy Y2gvYW1kNjQtdGFpbGNhbGwtY3h4Mi5jYykKKysJLmJ5dGUJMHgxNQkjIERXX0FUX2RlY2xfbGlu ZQorKwkubG9uZwkweDcxCSMgRFdfQVRfdHlwZQorKwkubG9uZwkuTExTVDAJIyBEV19BVF9sb2Nh dGlvbgorKwkudWxlYjEyOCAweDQJIyAoRElFICgweDU5KSBEV19UQUdfR05VX2NhbGxfc2l0ZSkK KysJLnF1YWQJLkxWTDIJIyBEV19BVF9sb3dfcGMKKysJCQkjIERXX0FUX0dOVV90YWlsX2NhbGwK KysJLmxvbmcJMHg3OAkjIERXX0FUX2Fic3RyYWN0X29yaWdpbgorKwkudWxlYjEyOCAweDUJIyAo RElFICgweDY2KSBEV19UQUdfR05VX2NhbGxfc2l0ZV9wYXJhbWV0ZXIpCisrCS51bGViMTI4IDB4 MQkjIERXX0FUX2xvY2F0aW9uCisrCS5ieXRlCTB4NTUJIyBEV19PUF9yZWc1CisrCS51bGViMTI4 IDB4NQkjIERXX0FUX0dOVV9jYWxsX3NpdGVfdmFsdWUKKysJLmJ5dGUJMHhmMwkjIERXX09QX0dO VV9lbnRyeV92YWx1ZQorKwkudWxlYjEyOCAweDEKKysJLmJ5dGUJMHg1NQkjIERXX09QX3JlZzUK KysJLmJ5dGUJMHgyMwkjIERXX09QX3BsdXNfdWNvbnN0CisrCS51bGViMTI4IDB4MQorKwkuYnl0 ZQkwCSMgZW5kIG9mIGNoaWxkcmVuIG9mIERJRSAweDU5CisrCS5ieXRlCTAJIyBlbmQgb2YgY2hp bGRyZW4gb2YgRElFIDB4MmQKKysJLnVsZWIxMjggMHg2CSMgKERJRSAoMHg3MSkgRFdfVEFHX2Jh c2VfdHlwZSkKKysJLmJ5dGUJMHg0CSMgRFdfQVRfYnl0ZV9zaXplCisrCS5ieXRlCTB4NQkjIERX X0FUX2VuY29kaW5nCisrCS5hc2NpaSAiaW50XDAiCSMgRFdfQVRfbmFtZQorKwkudWxlYjEyOCAw eDcJIyAoRElFICgweDc4KSBEV19UQUdfc3VicHJvZ3JhbSkKKysJCQkjIERXX0FUX2V4dGVybmFs CisrCS5hc2NpaSAiZ1wwIgkjIERXX0FUX25hbWUKKysJLmJ5dGUJMHgxCSMgRFdfQVRfZGVjbF9m aWxlIChnZGIuYXJjaC9hbWQ2NC10YWlsY2FsbC1jeHgyLmNjKQorKwkuYnl0ZQkweDEyCSMgRFdf QVRfZGVjbF9saW5lCisrCS5sb25nCS5MQVNGNAkjIERXX0FUX2xpbmthZ2VfbmFtZTogIl9aMWdp IgorKwkJCSMgRFdfQVRfZGVjbGFyYXRpb24KKysJLnVsZWIxMjggMHg4CSMgKERJRSAoMHg4MSkg RFdfVEFHX2Zvcm1hbF9wYXJhbWV0ZXIpCisrCS5sb25nCTB4NzEJIyBEV19BVF90eXBlCisrCS5i eXRlCTAJIyBlbmQgb2YgY2hpbGRyZW4gb2YgRElFIDB4NzgKKysJLmJ5dGUJMAkjIGVuZCBvZiBj aGlsZHJlbiBvZiBESUUgMHhiCisrCS5zZWN0aW9uCS5kZWJ1Z19hYmJyZXYsIiIsQHByb2diaXRz CisrLkxkZWJ1Z19hYmJyZXYwOgorKwkudWxlYjEyOCAweDEJIyAoYWJicmV2IGNvZGUpCisrCS51 bGViMTI4IDB4MTEJIyAoVEFHOiBEV19UQUdfY29tcGlsZV91bml0KQorKwkuYnl0ZQkweDEJIyBE V19jaGlsZHJlbl95ZXMKKysJLnVsZWIxMjggMHgyNQkjIChEV19BVF9wcm9kdWNlcikKKysJLnVs ZWIxMjggMHhlCSMgKERXX0ZPUk1fc3RycCkKKysJLnVsZWIxMjggMHgxMwkjIChEV19BVF9sYW5n dWFnZSkKKysJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCisrCS51bGViMTI4IDB4Mwkj IChEV19BVF9uYW1lKQorKwkudWxlYjEyOCAweGUJIyAoRFdfRk9STV9zdHJwKQorKwkudWxlYjEy OCAweDFiCSMgKERXX0FUX2NvbXBfZGlyKQorKwkudWxlYjEyOCAweGUJIyAoRFdfRk9STV9zdHJw KQorKwkudWxlYjEyOCAweDExCSMgKERXX0FUX2xvd19wYykKKysJLnVsZWIxMjggMHgxCSMgKERX X0ZPUk1fYWRkcikKKysJLnVsZWIxMjggMHgxMgkjIChEV19BVF9oaWdoX3BjKQorKwkudWxlYjEy OCAweDcJIyAoRFdfRk9STV9kYXRhOCkKKysJLnVsZWIxMjggMHgxMAkjIChEV19BVF9zdG10X2xp c3QpCisrCS51bGViMTI4IDB4MTcJIyAoRFdfRk9STV9zZWNfb2Zmc2V0KQorKwkuYnl0ZQkwCisr CS5ieXRlCTAKKysJLnVsZWIxMjggMHgyCSMgKGFiYnJldiBjb2RlKQorKwkudWxlYjEyOCAweDJl CSMgKFRBRzogRFdfVEFHX3N1YnByb2dyYW0pCisrCS5ieXRlCTB4MQkjIERXX2NoaWxkcmVuX3ll cworKwkudWxlYjEyOCAweDNmCSMgKERXX0FUX2V4dGVybmFsKQorKwkudWxlYjEyOCAweDE5CSMg KERXX0ZPUk1fZmxhZ19wcmVzZW50KQorKwkudWxlYjEyOCAweDMJIyAoRFdfQVRfbmFtZSkKKysJ LnVsZWIxMjggMHg4CSMgKERXX0ZPUk1fc3RyaW5nKQorKwkudWxlYjEyOCAweDNhCSMgKERXX0FU X2RlY2xfZmlsZSkKKysJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCisrCS51bGViMTI4 IDB4M2IJIyAoRFdfQVRfZGVjbF9saW5lKQorKwkudWxlYjEyOCAweGIJIyAoRFdfRk9STV9kYXRh MSkKKysJLnVsZWIxMjggMHg2ZQkjIChEV19BVF9saW5rYWdlX25hbWUpCisrCS51bGViMTI4IDB4 ZQkjIChEV19GT1JNX3N0cnApCisrCS51bGViMTI4IDB4MTEJIyAoRFdfQVRfbG93X3BjKQorKwku dWxlYjEyOCAweDEJIyAoRFdfRk9STV9hZGRyKQorKwkudWxlYjEyOCAweDEyCSMgKERXX0FUX2hp Z2hfcGMpCisrCS51bGViMTI4IDB4NwkjIChEV19GT1JNX2RhdGE4KQorKwkudWxlYjEyOCAweDQw CSMgKERXX0FUX2ZyYW1lX2Jhc2UpCisrCS51bGViMTI4IDB4MTgJIyAoRFdfRk9STV9leHBybG9j KQorKwkudWxlYjEyOCAweDIxMTcJIyAoRFdfQVRfR05VX2FsbF9jYWxsX3NpdGVzKQorKwkudWxl YjEyOCAweDE5CSMgKERXX0ZPUk1fZmxhZ19wcmVzZW50KQorKwkudWxlYjEyOCAweDEJIyAoRFdf QVRfc2libGluZykKKysJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQpCisrCS5ieXRlCTAK KysJLmJ5dGUJMAorKwkudWxlYjEyOCAweDMJIyAoYWJicmV2IGNvZGUpCisrCS51bGViMTI4IDB4 NQkjIChUQUc6IERXX1RBR19mb3JtYWxfcGFyYW1ldGVyKQorKwkuYnl0ZQkwCSMgRFdfY2hpbGRy ZW5fbm8KKysJLnVsZWIxMjggMHgzCSMgKERXX0FUX25hbWUpCisrCS51bGViMTI4IDB4OAkjIChE V19GT1JNX3N0cmluZykKKysJLnVsZWIxMjggMHgzYQkjIChEV19BVF9kZWNsX2ZpbGUpCisrCS51 bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQorKwkudWxlYjEyOCAweDNiCSMgKERXX0FUX2Rl Y2xfbGluZSkKKysJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCisrCS51bGViMTI4IDB4 NDkJIyAoRFdfQVRfdHlwZSkKKysJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQpCisrCS51 bGViMTI4IDB4MgkjIChEV19BVF9sb2NhdGlvbikKKysJLnVsZWIxMjggMHgxNwkjIChEV19GT1JN X3NlY19vZmZzZXQpCisrCS5ieXRlCTAKKysJLmJ5dGUJMAorKwkudWxlYjEyOCAweDQJIyAoYWJi cmV2IGNvZGUpCisrCS51bGViMTI4IDB4NDEwOQkjIChUQUc6IERXX1RBR19HTlVfY2FsbF9zaXRl KQorKwkuYnl0ZQkweDEJIyBEV19jaGlsZHJlbl95ZXMKKysJLnVsZWIxMjggMHgxMQkjIChEV19B VF9sb3dfcGMpCisrCS51bGViMTI4IDB4MQkjIChEV19GT1JNX2FkZHIpCisrCS51bGViMTI4IDB4 MjExNQkjIChEV19BVF9HTlVfdGFpbF9jYWxsKQorKwkudWxlYjEyOCAweDE5CSMgKERXX0ZPUk1f ZmxhZ19wcmVzZW50KQorKwkudWxlYjEyOCAweDMxCSMgKERXX0FUX2Fic3RyYWN0X29yaWdpbikK KysJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQpCisrCS5ieXRlCTAKKysJLmJ5dGUJMAor KwkudWxlYjEyOCAweDUJIyAoYWJicmV2IGNvZGUpCisrCS51bGViMTI4IDB4NDEwYQkjIChUQUc6 IERXX1RBR19HTlVfY2FsbF9zaXRlX3BhcmFtZXRlcikKKysJLmJ5dGUJMAkjIERXX2NoaWxkcmVu X25vCisrCS51bGViMTI4IDB4MgkjIChEV19BVF9sb2NhdGlvbikKKysJLnVsZWIxMjggMHgxOAkj IChEV19GT1JNX2V4cHJsb2MpCisrCS51bGViMTI4IDB4MjExMQkjIChEV19BVF9HTlVfY2FsbF9z aXRlX3ZhbHVlKQorKwkudWxlYjEyOCAweDE4CSMgKERXX0ZPUk1fZXhwcmxvYykKKysJLmJ5dGUJ MAorKwkuYnl0ZQkwCisrCS51bGViMTI4IDB4NgkjIChhYmJyZXYgY29kZSkKKysJLnVsZWIxMjgg MHgyNAkjIChUQUc6IERXX1RBR19iYXNlX3R5cGUpCisrCS5ieXRlCTAJIyBEV19jaGlsZHJlbl9u bworKwkudWxlYjEyOCAweGIJIyAoRFdfQVRfYnl0ZV9zaXplKQorKwkudWxlYjEyOCAweGIJIyAo RFdfRk9STV9kYXRhMSkKKysJLnVsZWIxMjggMHgzZQkjIChEV19BVF9lbmNvZGluZykKKysJLnVs ZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCisrCS51bGViMTI4IDB4MwkjIChEV19BVF9uYW1l KQorKwkudWxlYjEyOCAweDgJIyAoRFdfRk9STV9zdHJpbmcpCisrCS5ieXRlCTAKKysJLmJ5dGUJ MAorKwkudWxlYjEyOCAweDcJIyAoYWJicmV2IGNvZGUpCisrCS51bGViMTI4IDB4MmUJIyAoVEFH OiBEV19UQUdfc3VicHJvZ3JhbSkKKysJLmJ5dGUJMHgxCSMgRFdfY2hpbGRyZW5feWVzCisrCS51 bGViMTI4IDB4M2YJIyAoRFdfQVRfZXh0ZXJuYWwpCisrCS51bGViMTI4IDB4MTkJIyAoRFdfRk9S TV9mbGFnX3ByZXNlbnQpCisrCS51bGViMTI4IDB4MwkjIChEV19BVF9uYW1lKQorKwkudWxlYjEy OCAweDgJIyAoRFdfRk9STV9zdHJpbmcpCisrCS51bGViMTI4IDB4M2EJIyAoRFdfQVRfZGVjbF9m aWxlKQorKwkudWxlYjEyOCAweGIJIyAoRFdfRk9STV9kYXRhMSkKKysJLnVsZWIxMjggMHgzYgkj IChEV19BVF9kZWNsX2xpbmUpCisrCS51bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQorKwku dWxlYjEyOCAweDZlCSMgKERXX0FUX2xpbmthZ2VfbmFtZSkKKysJLnVsZWIxMjggMHhlCSMgKERX X0ZPUk1fc3RycCkKKysJLnVsZWIxMjggMHgzYwkjIChEV19BVF9kZWNsYXJhdGlvbikKKysJLnVs ZWIxMjggMHgxOQkjIChEV19GT1JNX2ZsYWdfcHJlc2VudCkKKysJLmJ5dGUJMAorKwkuYnl0ZQkw CisrCS51bGViMTI4IDB4OAkjIChhYmJyZXYgY29kZSkKKysJLnVsZWIxMjggMHg1CSMgKFRBRzog RFdfVEFHX2Zvcm1hbF9wYXJhbWV0ZXIpCisrCS5ieXRlCTAJIyBEV19jaGlsZHJlbl9ubworKwku dWxlYjEyOCAweDQ5CSMgKERXX0FUX3R5cGUpCisrCS51bGViMTI4IDB4MTMJIyAoRFdfRk9STV9y ZWY0KQorKwkuYnl0ZQkwCisrCS5ieXRlCTAKKysJLmJ5dGUJMAorKwkuc2VjdGlvbgkuZGVidWdf bG9jLCIiLEBwcm9nYml0cworKy5MZGVidWdfbG9jMDoKKysuTExTVDA6CisrCS5xdWFkCS5MVkww LS5MdGV4dDAJIyBMb2NhdGlvbiBsaXN0IGJlZ2luIGFkZHJlc3MgKCouTExTVDApCisrCS5xdWFk CS5MVkwxLS5MdGV4dDAJIyBMb2NhdGlvbiBsaXN0IGVuZCBhZGRyZXNzICgqLkxMU1QwKQorKwku dmFsdWUJMHgxCSMgTG9jYXRpb24gZXhwcmVzc2lvbiBzaXplCisrCS5ieXRlCTB4NTUJIyBEV19P UF9yZWc1CisrCS5xdWFkCS5MVkwxLS5MdGV4dDAJIyBMb2NhdGlvbiBsaXN0IGJlZ2luIGFkZHJl c3MgKCouTExTVDApCisrCS5xdWFkCS5MVkwyLTEtLkx0ZXh0MAkjIExvY2F0aW9uIGxpc3QgZW5k IGFkZHJlc3MgKCouTExTVDApCisrCS52YWx1ZQkweDMJIyBMb2NhdGlvbiBleHByZXNzaW9uIHNp emUKKysJLmJ5dGUJMHg3NQkjIERXX09QX2JyZWc1CisrCS5zbGViMTI4IC0xCisrCS5ieXRlCTB4 OWYJIyBEV19PUF9zdGFja192YWx1ZQorKwkucXVhZAkuTFZMMi0xLS5MdGV4dDAJIyBMb2NhdGlv biBsaXN0IGJlZ2luIGFkZHJlc3MgKCouTExTVDApCisrCS5xdWFkCS5MRkUwLS5MdGV4dDAJIyBM b2NhdGlvbiBsaXN0IGVuZCBhZGRyZXNzICgqLkxMU1QwKQorKwkudmFsdWUJMHg0CSMgTG9jYXRp b24gZXhwcmVzc2lvbiBzaXplCisrCS5ieXRlCTB4ZjMJIyBEV19PUF9HTlVfZW50cnlfdmFsdWUK KysJLnVsZWIxMjggMHgxCisrCS5ieXRlCTB4NTUJIyBEV19PUF9yZWc1CisrCS5ieXRlCTB4OWYJ IyBEV19PUF9zdGFja192YWx1ZQorKwkucXVhZAkwCSMgTG9jYXRpb24gbGlzdCB0ZXJtaW5hdG9y IGJlZ2luICgqLkxMU1QwKQorKwkucXVhZAkwCSMgTG9jYXRpb24gbGlzdCB0ZXJtaW5hdG9yIGVu ZCAoKi5MTFNUMCkKKysJLnNlY3Rpb24JLmRlYnVnX2FyYW5nZXMsIiIsQHByb2diaXRzCisrCS5s b25nCTB4MmMJIyBMZW5ndGggb2YgQWRkcmVzcyBSYW5nZXMgSW5mbworKwkudmFsdWUJMHgyCSMg RFdBUkYgVmVyc2lvbgorKwkubG9uZwkuTGRlYnVnX2luZm8wCSMgT2Zmc2V0IG9mIENvbXBpbGF0 aW9uIFVuaXQgSW5mbworKwkuYnl0ZQkweDgJIyBTaXplIG9mIEFkZHJlc3MKKysJLmJ5dGUJMAkj IFNpemUgb2YgU2VnbWVudCBEZXNjcmlwdG9yCisrCS52YWx1ZQkwCSMgUGFkIHRvIDE2IGJ5dGUg Ym91bmRhcnkKKysJLnZhbHVlCTAKKysJLnF1YWQJLkx0ZXh0MAkjIEFkZHJlc3MKKysJLnF1YWQJ LkxldGV4dDAtLkx0ZXh0MAkjIExlbmd0aAorKwkucXVhZAkwCisrCS5xdWFkCTAKKysJLnNlY3Rp b24JLmRlYnVnX2xpbmUsIiIsQHByb2diaXRzCisrLkxkZWJ1Z19saW5lMDoKKysJLnNlY3Rpb24J LmRlYnVnX3N0ciwiTVMiLEBwcm9nYml0cywxCisrLkxBU0YwOgorKwkuc3RyaW5nCSJHTlUgQysr IDQuOC4wIDIwMTMwMjIwIChSZWQgSGF0IDQuOC4wLTAuMTQpIC1tdHVuZT1nZW5lcmljIC1tYXJj aD14ODYtNjQgLWcgLU8yIgorKy5MQVNGMjoKKysJLnN0cmluZwkiIgorKy5MQVNGMzoKKysJLnN0 cmluZwkiX1oxZmkiCisrLkxBU0YxOgorKwkuc3RyaW5nCSJnZGIuYXJjaC9hbWQ2NC10YWlsY2Fs bC1jeHgyLmNjIgorKy5MQVNGNDoKKysJLnN0cmluZwkiX1oxZ2kiCisrCS5pZGVudAkiR0NDOiAo R05VKSA0LjguMCAyMDEzMDIyMCAoUmVkIEhhdCA0LjguMC0wLjE0KSIKKysJLnNlY3Rpb24JLm5v dGUuR05VLXN0YWNrLCIiLEBwcm9nYml0cworZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmFyY2gvYW1kNjQtdGFpbGNhbGwtY3h4Mi5jYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1k NjQtdGFpbGNhbGwtY3h4Mi5jYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAu LjIzMmY0ZmIKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1k NjQtdGFpbGNhbGwtY3h4Mi5jYworQEAgLTAsMCArMSwyNCBAQAorKy8qIFRoaXMgdGVzdGNhc2Ug aXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCisrCisrICAgQ29weXJpZ2h0IDIwMTMg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysgICBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1 Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg dmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysgICBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAgIFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisr ICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uICAqLworKworK2V4dGVybiB2b2lkIGcgKGludCB4KTsKKysKKytfX2F0 dHJpYnV0ZV9fICgobm9pbmxpbmUsIG5vY2xvbmUpKSB2b2lkCisrZiAoaW50IHgpCisreworKyAg ZyAoeCArIDEpOworK30KKwoKZGlmZiAtLWdpdCBhL2dkYi1lbnRyeXZhbC0yb2YyLnBhdGNoIGIv Z2RiLWVudHJ5dmFsLTJvZjIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uM2MzYzQ3OQotLS0gL2Rldi9udWxsCisrKyBiL2dkYi1lbnRyeXZhbC0yb2YyLnBhdGNoCkBA IC0wLDAgKzEsODQ1IEBACitodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAx My0wMy9tc2cwMDA2Mi5odG1sCitTdWJqZWN0OiBbcGF0Y2hdIGVudHJ5LXZhbHVlczogRml4IGlm IGNhbGxlZSBjYWxsZWQgbm9yZXR1cm4gZnVuY3Rpb24KKworSGksCisKK3doaWxlIGRlYnVnZ2lu ZyB0aGUgcHJldmlvdXMgYnVnIEkgZm91bmQgdGhpcyBidWcuCisKK1RISVNfUEMgZm91bmQgYmVs b3cgaXMgdGhlbiBwYXNzZWQgdG8gZ2V0X3BjX2Z1bmN0aW9uX3N0YXJ0LgorZ2V0X3BjX2Z1bmN0 aW9uX3N0YXJ0IGNhbm5vdCBoYW5kbGUgUEMgd2hpY2ggaGFzIGFkZHJlc3Mgb2YgdGhlIGVuZCBv ZiB0aGUKK2Z1bmN0aW9uLgorCitObyByZWdyZXNzaW9ucyBvbiB7eDg2XzY0LHg4Nl82NC1tMzIs aTY4Nn0tZmVkb3JhMTlwcmUtbGludXgtZ251LgorCitJIHdpbGwgY2hlY2sgaXQgaW4uCisKKwor VGhhbmtzLAorSmFuCisKKworZ2RiLworMjAxMy0wMy0wMiAgSmFuIEtyYXRvY2h2aWwgIDxqYW4u a3JhdG9jaHZpbEByZWRoYXQuY29tPgorCisJRml4IGVudHJ5LXZhbHVlcyBpZiB0aGUgY2FsbGVl IGNhbGxlZCBhIG5vcmV0dXJuIGZ1bmN0aW9uLgorCSogZHdhcmYyLWZyYW1lLXRhaWxjYWxsLmMg KGR3YXJmMl90YWlsY2FsbF9zbmlmZmVyX2ZpcnN0KTogVXNlCisJZ2V0X2ZyYW1lX2FkZHJlc3Nf aW5fYmxvY2suICBBZGQgbmV3IGNvbW1lbnQuCisKK2dkYi90ZXN0c3VpdGUvCisyMDEzLTAzLTAy ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CisKKwlGaXggZW50 cnktdmFsdWVzIGlmIHRoZSBjYWxsZWUgY2FsbGVkIGEgbm9yZXR1cm4gZnVuY3Rpb24uCisJKiBn ZGIuYXJjaC9hbWQ2NC10YWlsY2FsbC1ub3JldC5TOiBOZXcgZmlsZS4KKwkqIGdkYi5hcmNoL2Ft ZDY0LXRhaWxjYWxsLW5vcmV0LmM6IE5ldyBmaWxlLgorCSogZ2RiLmFyY2gvYW1kNjQtdGFpbGNh bGwtbm9yZXQuZXhwOiBOZXcgZmlsZS4KKworZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjItZnJhbWUt dGFpbGNhbGwuYyBiL2dkYi9kd2FyZjItZnJhbWUtdGFpbGNhbGwuYworaW5kZXggYjVmOTVjMy4u YjgyYTA1MSAxMDA2NDQKKy0tLSBhL2dkYi9kd2FyZjItZnJhbWUtdGFpbGNhbGwuYworKysrIGIv Z2RiL2R3YXJmMi1mcmFtZS10YWlsY2FsbC5jCitAQCAtMzc0LDcgKzM3NCw5IEBAIGR3YXJmMl90 YWlsY2FsbF9zbmlmZmVyX2ZpcnN0IChzdHJ1Y3QgZnJhbWVfaW5mbyAqdGhpc19mcmFtZSwKKyAK KyAgIGdkYl9hc3NlcnQgKCp0YWlsY2FsbF9jYWNoZXAgPT0gTlVMTCk7CisgCistICB0aGlzX3Bj ID0gZ2V0X2ZyYW1lX3BjICh0aGlzX2ZyYW1lKTsKKysgIC8qIFBDIG1heSBiZSBhZnRlciB0aGUg ZnVuY3Rpb24gaWYgVEhJU19GUkFNRSBjYWxscyBub3JldHVybiBmdW5jdGlvbiwKKysgICAgIGdl dF9mcmFtZV9hZGRyZXNzX2luX2Jsb2NrIHdpbGwgZGVjcmVhc2UgaXQgYnkgMSBpbiBzdWNoIGNh c2UuICAqLworKyAgdGhpc19wYyA9IGdldF9mcmFtZV9hZGRyZXNzX2luX2Jsb2NrICh0aGlzX2Zy YW1lKTsKKyAKKyAgIC8qIENhdGNoIGFueSB1bndpbmRpbmcgZXJyb3JzLiAgKi8KKyAgIFRSWV9D QVRDSCAoZXhjZXB0LCBSRVRVUk5fTUFTS19FUlJPUikKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5hcmNoL2FtZDY0LXRhaWxjYWxsLW5vcmV0LlMgYi9nZGIvdGVzdHN1aXRlL2dkYi5h cmNoL2FtZDY0LXRhaWxjYWxsLW5vcmV0LlMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAw MDAwMDAwLi4yNTM5N2U5CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5h cmNoL2FtZDY0LXRhaWxjYWxsLW5vcmV0LlMKK0BAIC0wLDAgKzEsNjk0IEBACisrLyogVGhpcyB0 ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KKysKKysgICBDb3B5cmln aHQgMjAxMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAg IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91 IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisrCisrLyogVGhpcyBzb3VyY2UgZmlsZSB3YXMg Z2VuZXJhdGVkIGJ5OgorKyAgIGdjYyAtbyBnZGIuYXJjaC9hbWQ2NC10YWlsY2FsbC1ub3JldC5T IGdkYi5hcmNoL2FtZDY0LXRhaWxjYWxsLW5vcmV0LmMgLVdhbGwgLVMgLWRBIC1PMiAtZworKyAg ICovCisrCisrCS5maWxlCSJhbWQ2NC10YWlsY2FsbC1ub3JldC5jIgorKwkudGV4dAorKy5MdGV4 dDA6CisrCS5zZWN0aW9uCS50ZXh0LnVubGlrZWx5LCJheCIsQHByb2diaXRzCisrCS50eXBlCW5v cmV0LCBAZnVuY3Rpb24KKytub3JldDoKKysuTEZCOToKKysJLmZpbGUgMSAiZ2RiLmFyY2gvYW1k NjQtdGFpbGNhbGwtbm9yZXQuYyIKKysJIyBnZGIuYXJjaC9hbWQ2NC10YWlsY2FsbC1ub3JldC5j OjI0CisrCS5sb2MgMSAyNCAwCisrCS5jZmlfc3RhcnRwcm9jCisrLkxWTDA6CisrIyBCTE9DSyAy IGZyZXE6MTAwMDAgc2VxOjAKKysjIFBSRUQ6IEVOVFJZIFsxMDAuMCVdICAoZmFsbHRocnUpCisr CXB1c2hxCSVyYXgKKysuTENGSTA6CisrCS5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKKysJIyBnZGIu YXJjaC9hbWQ2NC10YWlsY2FsbC1ub3JldC5jOjI1CisrCS5sb2MgMSAyNSAwCisrCWNhbGwJYWJv cnQKKysuTFZMMToKKysjIFNVQ0M6CisrCS5jZmlfZW5kcHJvYworKy5MRkU5OgorKwkuc2l6ZQlu b3JldCwgLi1ub3JldAorKwkudGV4dAorKwkucDJhbGlnbiA0LCwxNQorKwkudHlwZQltYXlyZXQs IEBmdW5jdGlvbgorK21heXJldDoKKysuTEZCMTA6CisrCSMgZ2RiLmFyY2gvYW1kNjQtdGFpbGNh bGwtbm9yZXQuYzozMAorKwkubG9jIDEgMzAgMAorKwkuY2ZpX3N0YXJ0cHJvYworKy5MVkwyOgor KyMgQkxPQ0sgMiBmcmVxOjEwMDAwIHNlcTowCisrIyBQUkVEOiBFTlRSWSBbMTAwLjAlXSAgKGZh bGx0aHJ1KQorKwkjIGdkYi5hcmNoL2FtZDY0LXRhaWxjYWxsLW5vcmV0LmM6MzEKKysJLmxvYyAx IDMxIDAKKysJbW92bAl2KCVyaXApLCAlZWF4CisrCXRlc3RsCSVlYXgsICVlYXgKKysjIFNVQ0M6 IDQgWzAuMCVdICAoY2FuX2ZhbGx0aHJ1KSAzIFsxMDAuMCVdICAoZmFsbHRocnUsY2FuX2ZhbGx0 aHJ1KQorKwlqbmUJLkw4CisrIyBCTE9DSyAzIGZyZXE6OTk5NiBzZXE6MQorKyMgUFJFRDogMiBb MTAwLjAlXSAgKGZhbGx0aHJ1LGNhbl9mYWxsdGhydSkKKysjIFNVQ0M6IEVYSVQgWzEwMC4wJV0g CisrCXJlcAorKwlyZXQKKysjIEJMT0NLIDQgZnJlcTo0IHNlcToyCisrIyBQUkVEOiAyIFswLjAl XSAgKGNhbl9mYWxsdGhydSkKKysuTDg6CisrCSMgZ2RiLmFyY2gvYW1kNjQtdGFpbGNhbGwtbm9y ZXQuYzozMAorKwkubG9jIDEgMzAgMAorKwlwdXNocQklcmR4CisrLkxDRkkxOgorKwkuY2ZpX2Rl Zl9jZmFfb2Zmc2V0IDE2CisrCSMgZ2RiLmFyY2gvYW1kNjQtdGFpbGNhbGwtbm9yZXQuYzozMgor KwkubG9jIDEgMzIgMAorKwl4b3JsCSVlYXgsICVlYXgKKysJY2FsbAlub3JldAorKy5MVkwzOgor KyMgU1VDQzoKKysJLmNmaV9lbmRwcm9jCisrLkxGRTEwOgorKwkuc2l6ZQltYXlyZXQsIC4tbWF5 cmV0CisrCS5wMmFsaWduIDQsLDE1CisrCS50eXBlCXRhaWxjYWxsLCBAZnVuY3Rpb24KKyt0YWls Y2FsbDoKKysuTEZCMTE6CisrCSMgZ2RiLmFyY2gvYW1kNjQtdGFpbGNhbGwtbm9yZXQuYzozNwor KwkubG9jIDEgMzcgMAorKwkuY2ZpX3N0YXJ0cHJvYworKy5MVkw0OgorKyMgQkxPQ0sgMiBmcmVx OjEwMDAwIHNlcTowCisrIyBQUkVEOiBFTlRSWSBbMTAwLjAlXSAgKGZhbGx0aHJ1KQorKwkjIGdk Yi5hcmNoL2FtZDY0LXRhaWxjYWxsLW5vcmV0LmM6MzgKKysJLmxvYyAxIDM4IDAKKysJam1wCW1h eXJldAorKy5MVkw1OgorKyMgU1VDQzogRVhJVCBbMTAwLjAlXSAgKGFiLHNpYmNhbGwpCisrCS5j ZmlfZW5kcHJvYworKy5MRkUxMToKKysJLnNpemUJdGFpbGNhbGwsIC4tdGFpbGNhbGwKKysJLnNl Y3Rpb24JLnRleHQuc3RhcnR1cCwiYXgiLEBwcm9nYml0cworKwkucDJhbGlnbiA0LCwxNQorKwku Z2xvYmwJbWFpbgorKwkudHlwZQltYWluLCBAZnVuY3Rpb24KKyttYWluOgorKy5MRkIxMjoKKysJ IyBnZGIuYXJjaC9hbWQ2NC10YWlsY2FsbC1ub3JldC5jOjQzCisrCS5sb2MgMSA0MyAwCisrCS5j Zmlfc3RhcnRwcm9jCisrIyBCTE9DSyAyIGZyZXE6MTAwMDAgc2VxOjAKKysjIFBSRUQ6IEVOVFJZ IFsxMDAuMCVdICAoZmFsbHRocnUpCisrCXN1YnEJJDgsICVyc3AKKysuTENGSTI6CisrCS5jZmlf ZGVmX2NmYV9vZmZzZXQgMTYKKysJIyBnZGIuYXJjaC9hbWQ2NC10YWlsY2FsbC1ub3JldC5jOjQ0 CisrCS5sb2MgMSA0NCAwCisrCW1vdmwJJDEsICVlZGkKKysJY2FsbAl0YWlsY2FsbAorKy5MVkw2 OgorKwkjIGdkYi5hcmNoL2FtZDY0LXRhaWxjYWxsLW5vcmV0LmM6NDYKKysJLmxvYyAxIDQ2IDAK KysJeG9ybAklZWF4LCAlZWF4CisrCWFkZHEJJDgsICVyc3AKKysuTENGSTM6CisrCS5jZmlfZGVm X2NmYV9vZmZzZXQgOAorKyMgU1VDQzogRVhJVCBbMTAwLjAlXSAKKysJcmV0CisrCS5jZmlfZW5k cHJvYworKy5MRkUxMjoKKysJLnNpemUJbWFpbiwgLi1tYWluCisrCS5nbG9ibAl2CisrCS5kYXRh CisrCS5hbGlnbiA0CisrCS50eXBlCXYsIEBvYmplY3QKKysJLnNpemUJdiwgNAorK3Y6CisrCS5s b25nCTEKKysJLnRleHQKKysuTGV0ZXh0MDoKKysJLmZpbGUgMiAiL3Vzci9pbmNsdWRlL3N0ZGxp Yi5oIgorKwkuc2VjdGlvbgkuZGVidWdfaW5mbywiIixAcHJvZ2JpdHMKKysuTGRlYnVnX2luZm8w OgorKwkubG9uZwkweDE5ZAkjIExlbmd0aCBvZiBDb21waWxhdGlvbiBVbml0IEluZm8KKysJLnZh bHVlCTB4MgkjIERXQVJGIHZlcnNpb24gbnVtYmVyCisrCS5sb25nCS5MZGVidWdfYWJicmV2MAkj IE9mZnNldCBJbnRvIEFiYnJldi4gU2VjdGlvbgorKwkuYnl0ZQkweDgJIyBQb2ludGVyIFNpemUg KGluIGJ5dGVzKQorKwkudWxlYjEyOCAweDEJIyAoRElFICgweGIpIERXX1RBR19jb21waWxlX3Vu aXQpCisrCS5sb25nCS5MQVNGMTQJIyBEV19BVF9wcm9kdWNlcjogIkdOVSBDIDQuNy4zIDIwMTMw MjIxIChwcmVyZWxlYXNlKSIKKysJLmJ5dGUJMHgxCSMgRFdfQVRfbGFuZ3VhZ2UKKysJLmxvbmcJ LkxBU0YxNQkjIERXX0FUX25hbWU6ICJnZGIuYXJjaC9hbWQ2NC10YWlsY2FsbC1ub3JldC5jIgor KwkubG9uZwkuTEFTRjE2CSMgRFdfQVRfY29tcF9kaXI6ICIiCisrCS5sb25nCS5MZGVidWdfcmFu Z2VzMCswCSMgRFdfQVRfcmFuZ2VzCisrCS5xdWFkCTAJIyBEV19BVF9sb3dfcGMKKysJLnF1YWQJ MAkjIERXX0FUX2VudHJ5X3BjCisrCS5sb25nCS5MZGVidWdfbGluZTAJIyBEV19BVF9zdG10X2xp c3QKKysJLnVsZWIxMjggMHgyCSMgKERJRSAoMHgzMSkgRFdfVEFHX2Jhc2VfdHlwZSkKKysJLmJ5 dGUJMHg4CSMgRFdfQVRfYnl0ZV9zaXplCisrCS5ieXRlCTB4NwkjIERXX0FUX2VuY29kaW5nCisr CS5sb25nCS5MQVNGMAkjIERXX0FUX25hbWU6ICJsb25nIHVuc2lnbmVkIGludCIKKysJLnVsZWIx MjggMHgzCSMgKERJRSAoMHgzOCkgRFdfVEFHX2Jhc2VfdHlwZSkKKysJLmJ5dGUJMHg0CSMgRFdf QVRfYnl0ZV9zaXplCisrCS5ieXRlCTB4NQkjIERXX0FUX2VuY29kaW5nCisrCS5hc2NpaSAiaW50 XDAiCSMgRFdfQVRfbmFtZQorKwkudWxlYjEyOCAweDIJIyAoRElFICgweDNmKSBEV19UQUdfYmFz ZV90eXBlKQorKwkuYnl0ZQkweDEJIyBEV19BVF9ieXRlX3NpemUKKysJLmJ5dGUJMHg4CSMgRFdf QVRfZW5jb2RpbmcKKysJLmxvbmcJLkxBU0YxCSMgRFdfQVRfbmFtZTogInVuc2lnbmVkIGNoYXIi CisrCS51bGViMTI4IDB4MgkjIChESUUgKDB4NDYpIERXX1RBR19iYXNlX3R5cGUpCisrCS5ieXRl CTB4MgkjIERXX0FUX2J5dGVfc2l6ZQorKwkuYnl0ZQkweDcJIyBEV19BVF9lbmNvZGluZworKwku bG9uZwkuTEFTRjIJIyBEV19BVF9uYW1lOiAic2hvcnQgdW5zaWduZWQgaW50IgorKwkudWxlYjEy OCAweDIJIyAoRElFICgweDRkKSBEV19UQUdfYmFzZV90eXBlKQorKwkuYnl0ZQkweDQJIyBEV19B VF9ieXRlX3NpemUKKysJLmJ5dGUJMHg3CSMgRFdfQVRfZW5jb2RpbmcKKysJLmxvbmcJLkxBU0Yz CSMgRFdfQVRfbmFtZTogInVuc2lnbmVkIGludCIKKysJLnVsZWIxMjggMHgyCSMgKERJRSAoMHg1 NCkgRFdfVEFHX2Jhc2VfdHlwZSkKKysJLmJ5dGUJMHgxCSMgRFdfQVRfYnl0ZV9zaXplCisrCS5i eXRlCTB4NgkjIERXX0FUX2VuY29kaW5nCisrCS5sb25nCS5MQVNGNAkjIERXX0FUX25hbWU6ICJz aWduZWQgY2hhciIKKysJLnVsZWIxMjggMHgyCSMgKERJRSAoMHg1YikgRFdfVEFHX2Jhc2VfdHlw ZSkKKysJLmJ5dGUJMHgyCSMgRFdfQVRfYnl0ZV9zaXplCisrCS5ieXRlCTB4NQkjIERXX0FUX2Vu Y29kaW5nCisrCS5sb25nCS5MQVNGNQkjIERXX0FUX25hbWU6ICJzaG9ydCBpbnQiCisrCS51bGVi MTI4IDB4MgkjIChESUUgKDB4NjIpIERXX1RBR19iYXNlX3R5cGUpCisrCS5ieXRlCTB4OAkjIERX X0FUX2J5dGVfc2l6ZQorKwkuYnl0ZQkweDUJIyBEV19BVF9lbmNvZGluZworKwkubG9uZwkuTEFT RjYJIyBEV19BVF9uYW1lOiAibG9uZyBpbnQiCisrCS51bGViMTI4IDB4MgkjIChESUUgKDB4Njkp IERXX1RBR19iYXNlX3R5cGUpCisrCS5ieXRlCTB4OAkjIERXX0FUX2J5dGVfc2l6ZQorKwkuYnl0 ZQkweDcJIyBEV19BVF9lbmNvZGluZworKwkubG9uZwkuTEFTRjcJIyBEV19BVF9uYW1lOiAic2l6 ZXR5cGUiCisrCS51bGViMTI4IDB4MgkjIChESUUgKDB4NzApIERXX1RBR19iYXNlX3R5cGUpCisr CS5ieXRlCTB4MQkjIERXX0FUX2J5dGVfc2l6ZQorKwkuYnl0ZQkweDYJIyBEV19BVF9lbmNvZGlu ZworKwkubG9uZwkuTEFTRjgJIyBEV19BVF9uYW1lOiAiY2hhciIKKysJLnVsZWIxMjggMHgyCSMg KERJRSAoMHg3NykgRFdfVEFHX2Jhc2VfdHlwZSkKKysJLmJ5dGUJMHg4CSMgRFdfQVRfYnl0ZV9z aXplCisrCS5ieXRlCTB4NQkjIERXX0FUX2VuY29kaW5nCisrCS5sb25nCS5MQVNGOQkjIERXX0FU X25hbWU6ICJsb25nIGxvbmcgaW50IgorKwkudWxlYjEyOCAweDIJIyAoRElFICgweDdlKSBEV19U QUdfYmFzZV90eXBlKQorKwkuYnl0ZQkweDgJIyBEV19BVF9ieXRlX3NpemUKKysJLmJ5dGUJMHg3 CSMgRFdfQVRfZW5jb2RpbmcKKysJLmxvbmcJLkxBU0YxMAkjIERXX0FUX25hbWU6ICJsb25nIGxv bmcgdW5zaWduZWQgaW50IgorKwkudWxlYjEyOCAweDQJIyAoRElFICgweDg1KSBEV19UQUdfdm9s YXRpbGVfdHlwZSkKKysJLmxvbmcJMHgzOAkjIERXX0FUX3R5cGUKKysJLnVsZWIxMjggMHg1CSMg KERJRSAoMHg4YSkgRFdfVEFHX3N1YnByb2dyYW0pCisrCS5sb25nCS5MQVNGMTEJIyBEV19BVF9u YW1lOiAibm9yZXQiCisrCS5ieXRlCTB4MQkjIERXX0FUX2RlY2xfZmlsZSAoZ2RiLmFyY2gvYW1k NjQtdGFpbGNhbGwtbm9yZXQuYykKKysJLmJ5dGUJMHgxNwkjIERXX0FUX2RlY2xfbGluZQorKwku Ynl0ZQkweDEJIyBEV19BVF9wcm90b3R5cGVkCisrCS5xdWFkCS5MRkI5CSMgRFdfQVRfbG93X3Bj CisrCS5xdWFkCS5MRkU5CSMgRFdfQVRfaGlnaF9wYworKwkubG9uZwkuTExTVDAJIyBEV19BVF9m cmFtZV9iYXNlCisrCS5ieXRlCTB4MQkjIERXX0FUX0dOVV9hbGxfY2FsbF9zaXRlcworKwkubG9u ZwkweGM3CSMgRFdfQVRfc2libGluZworKwkudWxlYjEyOCAweDYJIyAoRElFICgweGFiKSBEV19U QUdfZm9ybWFsX3BhcmFtZXRlcikKKysJLmFzY2lpICJ4XDAiCSMgRFdfQVRfbmFtZQorKwkuYnl0 ZQkweDEJIyBEV19BVF9kZWNsX2ZpbGUgKGdkYi5hcmNoL2FtZDY0LXRhaWxjYWxsLW5vcmV0LmMp CisrCS5ieXRlCTB4MTcJIyBEV19BVF9kZWNsX2xpbmUKKysJLmxvbmcJMHgzOAkjIERXX0FUX3R5 cGUKKysJLmxvbmcJLkxMU1QxCSMgRFdfQVRfbG9jYXRpb24KKysJLnVsZWIxMjggMHg3CSMgKERJ RSAoMHhiOCkgRFdfVEFHX3Vuc3BlY2lmaWVkX3BhcmFtZXRlcnMpCisrCS51bGViMTI4IDB4OAkj IChESUUgKDB4YjkpIERXX1RBR19HTlVfY2FsbF9zaXRlKQorKwkucXVhZAkuTFZMMQkjIERXX0FU X2xvd19wYworKwkubG9uZwkweDE5NQkjIERXX0FUX2Fic3RyYWN0X29yaWdpbgorKwkuYnl0ZQkw CSMgZW5kIG9mIGNoaWxkcmVuIG9mIERJRSAweDhhCisrCS51bGViMTI4IDB4NQkjIChESUUgKDB4 YzcpIERXX1RBR19zdWJwcm9ncmFtKQorKwkubG9uZwkuTEFTRjEyCSMgRFdfQVRfbmFtZTogIm1h eXJldCIKKysJLmJ5dGUJMHgxCSMgRFdfQVRfZGVjbF9maWxlIChnZGIuYXJjaC9hbWQ2NC10YWls Y2FsbC1ub3JldC5jKQorKwkuYnl0ZQkweDFkCSMgRFdfQVRfZGVjbF9saW5lCisrCS5ieXRlCTB4 MQkjIERXX0FUX3Byb3RvdHlwZWQKKysJLnF1YWQJLkxGQjEwCSMgRFdfQVRfbG93X3BjCisrCS5x dWFkCS5MRkUxMAkjIERXX0FUX2hpZ2hfcGMKKysJLmxvbmcJLkxMU1QyCSMgRFdfQVRfZnJhbWVf YmFzZQorKwkuYnl0ZQkweDEJIyBEV19BVF9HTlVfYWxsX2NhbGxfc2l0ZXMKKysJLmxvbmcJMHgx MDMJIyBEV19BVF9zaWJsaW5nCisrCS51bGViMTI4IDB4NgkjIChESUUgKDB4ZTgpIERXX1RBR19m b3JtYWxfcGFyYW1ldGVyKQorKwkuYXNjaWkgInhcMCIJIyBEV19BVF9uYW1lCisrCS5ieXRlCTB4 MQkjIERXX0FUX2RlY2xfZmlsZSAoZ2RiLmFyY2gvYW1kNjQtdGFpbGNhbGwtbm9yZXQuYykKKysJ LmJ5dGUJMHgxZAkjIERXX0FUX2RlY2xfbGluZQorKwkubG9uZwkweDM4CSMgRFdfQVRfdHlwZQor KwkubG9uZwkuTExTVDMJIyBEV19BVF9sb2NhdGlvbgorKwkudWxlYjEyOCAweDgJIyAoRElFICgw eGY1KSBEV19UQUdfR05VX2NhbGxfc2l0ZSkKKysJLnF1YWQJLkxWTDMJIyBEV19BVF9sb3dfcGMK KysJLmxvbmcJMHg4YQkjIERXX0FUX2Fic3RyYWN0X29yaWdpbgorKwkuYnl0ZQkwCSMgZW5kIG9m IGNoaWxkcmVuIG9mIERJRSAweGM3CisrCS51bGViMTI4IDB4OQkjIChESUUgKDB4MTAzKSBEV19U QUdfc3VicHJvZ3JhbSkKKysJLmxvbmcJLkxBU0YxMwkjIERXX0FUX25hbWU6ICJ0YWlsY2FsbCIK KysJLmJ5dGUJMHgxCSMgRFdfQVRfZGVjbF9maWxlIChnZGIuYXJjaC9hbWQ2NC10YWlsY2FsbC1u b3JldC5jKQorKwkuYnl0ZQkweDI0CSMgRFdfQVRfZGVjbF9saW5lCisrCS5ieXRlCTB4MQkjIERX X0FUX3Byb3RvdHlwZWQKKysJLnF1YWQJLkxGQjExCSMgRFdfQVRfbG93X3BjCisrCS5xdWFkCS5M RkUxMQkjIERXX0FUX2hpZ2hfcGMKKysJLmJ5dGUJMHgyCSMgRFdfQVRfZnJhbWVfYmFzZQorKwku Ynl0ZQkweDc3CSMgRFdfT1BfYnJlZzcKKysJLnNsZWIxMjggOAorKwkuYnl0ZQkweDEJIyBEV19B VF9HTlVfYWxsX2NhbGxfc2l0ZXMKKysJLmxvbmcJMHgxNDcJIyBEV19BVF9zaWJsaW5nCisrCS51 bGViMTI4IDB4NgkjIChESUUgKDB4MTIzKSBEV19UQUdfZm9ybWFsX3BhcmFtZXRlcikKKysJLmFz Y2lpICJ4XDAiCSMgRFdfQVRfbmFtZQorKwkuYnl0ZQkweDEJIyBEV19BVF9kZWNsX2ZpbGUgKGdk Yi5hcmNoL2FtZDY0LXRhaWxjYWxsLW5vcmV0LmMpCisrCS5ieXRlCTB4MjQJIyBEV19BVF9kZWNs X2xpbmUKKysJLmxvbmcJMHgzOAkjIERXX0FUX3R5cGUKKysJLmxvbmcJLkxMU1Q0CSMgRFdfQVRf bG9jYXRpb24KKysJLnVsZWIxMjggMHhhCSMgKERJRSAoMHgxMzApIERXX1RBR19HTlVfY2FsbF9z aXRlKQorKwkucXVhZAkuTFZMNQkjIERXX0FUX2xvd19wYworKwkuYnl0ZQkweDEJIyBEV19BVF9H TlVfdGFpbF9jYWxsCisrCS5sb25nCTB4YzcJIyBEV19BVF9hYnN0cmFjdF9vcmlnaW4KKysJLnVs ZWIxMjggMHhiCSMgKERJRSAoMHgxM2UpIERXX1RBR19HTlVfY2FsbF9zaXRlX3BhcmFtZXRlcikK KysJLmJ5dGUJMHgxCSMgRFdfQVRfbG9jYXRpb24KKysJLmJ5dGUJMHg1NQkjIERXX09QX3JlZzUK KysJLmJ5dGUJMHgzCSMgRFdfQVRfR05VX2NhbGxfc2l0ZV92YWx1ZQorKwkuYnl0ZQkweGYzCSMg RFdfT1BfR05VX2VudHJ5X3ZhbHVlCisrCS51bGViMTI4IDB4MQorKwkuYnl0ZQkweDU1CSMgRFdf T1BfcmVnNQorKwkuYnl0ZQkwCSMgZW5kIG9mIGNoaWxkcmVuIG9mIERJRSAweDEzMAorKwkuYnl0 ZQkwCSMgZW5kIG9mIGNoaWxkcmVuIG9mIERJRSAweDEwMworKwkudWxlYjEyOCAweGMJIyAoRElF ICgweDE0NykgRFdfVEFHX3N1YnByb2dyYW0pCisrCS5ieXRlCTB4MQkjIERXX0FUX2V4dGVybmFs CisrCS5sb25nCS5MQVNGMTcJIyBEV19BVF9uYW1lOiAibWFpbiIKKysJLmJ5dGUJMHgxCSMgRFdf QVRfZGVjbF9maWxlIChnZGIuYXJjaC9hbWQ2NC10YWlsY2FsbC1ub3JldC5jKQorKwkuYnl0ZQkw eDJhCSMgRFdfQVRfZGVjbF9saW5lCisrCS5ieXRlCTB4MQkjIERXX0FUX3Byb3RvdHlwZWQKKysJ LmxvbmcJMHgzOAkjIERXX0FUX3R5cGUKKysJLnF1YWQJLkxGQjEyCSMgRFdfQVRfbG93X3BjCisr CS5xdWFkCS5MRkUxMgkjIERXX0FUX2hpZ2hfcGMKKysJLmxvbmcJLkxMU1Q1CSMgRFdfQVRfZnJh bWVfYmFzZQorKwkuYnl0ZQkweDEJIyBEV19BVF9HTlVfYWxsX2NhbGxfc2l0ZXMKKysJLmxvbmcJ MHgxODEJIyBEV19BVF9zaWJsaW5nCisrCS51bGViMTI4IDB4ZAkjIChESUUgKDB4MTZkKSBEV19U QUdfR05VX2NhbGxfc2l0ZSkKKysJLnF1YWQJLkxWTDYJIyBEV19BVF9sb3dfcGMKKysJLmxvbmcJ MHgxMDMJIyBEV19BVF9hYnN0cmFjdF9vcmlnaW4KKysJLnVsZWIxMjggMHhiCSMgKERJRSAoMHgx N2EpIERXX1RBR19HTlVfY2FsbF9zaXRlX3BhcmFtZXRlcikKKysJLmJ5dGUJMHgxCSMgRFdfQVRf bG9jYXRpb24KKysJLmJ5dGUJMHg1NQkjIERXX09QX3JlZzUKKysJLmJ5dGUJMHgxCSMgRFdfQVRf R05VX2NhbGxfc2l0ZV92YWx1ZQorKwkuYnl0ZQkweDMxCSMgRFdfT1BfbGl0MQorKwkuYnl0ZQkw CSMgZW5kIG9mIGNoaWxkcmVuIG9mIERJRSAweDE2ZAorKwkuYnl0ZQkwCSMgZW5kIG9mIGNoaWxk cmVuIG9mIERJRSAweDE0NworKwkudWxlYjEyOCAweGUJIyAoRElFICgweDE4MSkgRFdfVEFHX3Zh cmlhYmxlKQorKwkuYXNjaWkgInZcMCIJIyBEV19BVF9uYW1lCisrCS5ieXRlCTB4MQkjIERXX0FU X2RlY2xfZmlsZSAoZ2RiLmFyY2gvYW1kNjQtdGFpbGNhbGwtbm9yZXQuYykKKysJLmJ5dGUJMHgx NAkjIERXX0FUX2RlY2xfbGluZQorKwkubG9uZwkweDg1CSMgRFdfQVRfdHlwZQorKwkuYnl0ZQkw eDEJIyBEV19BVF9leHRlcm5hbAorKwkuYnl0ZQkweDkJIyBEV19BVF9sb2NhdGlvbgorKwkuYnl0 ZQkweDMJIyBEV19PUF9hZGRyCisrCS5xdWFkCXYKKysJLnVsZWIxMjggMHhmCSMgKERJRSAoMHgx OTUpIERXX1RBR19zdWJwcm9ncmFtKQorKwkuYnl0ZQkweDEJIyBEV19BVF9leHRlcm5hbAorKwku bG9uZwkuTEFTRjE4CSMgRFdfQVRfbmFtZTogImFib3J0IgorKwkuYnl0ZQkweDIJIyBEV19BVF9k ZWNsX2ZpbGUgKC91c3IvaW5jbHVkZS9zdGRsaWIuaCkKKysJLnZhbHVlCTB4MjAyCSMgRFdfQVRf ZGVjbF9saW5lCisrCS5ieXRlCTB4MQkjIERXX0FUX3Byb3RvdHlwZWQKKysJLmJ5dGUJMHgxCSMg RFdfQVRfZGVjbGFyYXRpb24KKysJLmJ5dGUJMAkjIGVuZCBvZiBjaGlsZHJlbiBvZiBESUUgMHhi CisrCS5zZWN0aW9uCS5kZWJ1Z19hYmJyZXYsIiIsQHByb2diaXRzCisrLkxkZWJ1Z19hYmJyZXYw OgorKwkudWxlYjEyOCAweDEJIyAoYWJicmV2IGNvZGUpCisrCS51bGViMTI4IDB4MTEJIyAoVEFH OiBEV19UQUdfY29tcGlsZV91bml0KQorKwkuYnl0ZQkweDEJIyBEV19jaGlsZHJlbl95ZXMKKysJ LnVsZWIxMjggMHgyNQkjIChEV19BVF9wcm9kdWNlcikKKysJLnVsZWIxMjggMHhlCSMgKERXX0ZP Uk1fc3RycCkKKysJLnVsZWIxMjggMHgxMwkjIChEV19BVF9sYW5ndWFnZSkKKysJLnVsZWIxMjgg MHhiCSMgKERXX0ZPUk1fZGF0YTEpCisrCS51bGViMTI4IDB4MwkjIChEV19BVF9uYW1lKQorKwku dWxlYjEyOCAweGUJIyAoRFdfRk9STV9zdHJwKQorKwkudWxlYjEyOCAweDFiCSMgKERXX0FUX2Nv bXBfZGlyKQorKwkudWxlYjEyOCAweGUJIyAoRFdfRk9STV9zdHJwKQorKwkudWxlYjEyOCAweDU1 CSMgKERXX0FUX3JhbmdlcykKKysJLnVsZWIxMjggMHg2CSMgKERXX0ZPUk1fZGF0YTQpCisrCS51 bGViMTI4IDB4MTEJIyAoRFdfQVRfbG93X3BjKQorKwkudWxlYjEyOCAweDEJIyAoRFdfRk9STV9h ZGRyKQorKwkudWxlYjEyOCAweDUyCSMgKERXX0FUX2VudHJ5X3BjKQorKwkudWxlYjEyOCAweDEJ IyAoRFdfRk9STV9hZGRyKQorKwkudWxlYjEyOCAweDEwCSMgKERXX0FUX3N0bXRfbGlzdCkKKysJ LnVsZWIxMjggMHg2CSMgKERXX0ZPUk1fZGF0YTQpCisrCS5ieXRlCTAKKysJLmJ5dGUJMAorKwku dWxlYjEyOCAweDIJIyAoYWJicmV2IGNvZGUpCisrCS51bGViMTI4IDB4MjQJIyAoVEFHOiBEV19U QUdfYmFzZV90eXBlKQorKwkuYnl0ZQkwCSMgRFdfY2hpbGRyZW5fbm8KKysJLnVsZWIxMjggMHhi CSMgKERXX0FUX2J5dGVfc2l6ZSkKKysJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCisr CS51bGViMTI4IDB4M2UJIyAoRFdfQVRfZW5jb2RpbmcpCisrCS51bGViMTI4IDB4YgkjIChEV19G T1JNX2RhdGExKQorKwkudWxlYjEyOCAweDMJIyAoRFdfQVRfbmFtZSkKKysJLnVsZWIxMjggMHhl CSMgKERXX0ZPUk1fc3RycCkKKysJLmJ5dGUJMAorKwkuYnl0ZQkwCisrCS51bGViMTI4IDB4Mwkj IChhYmJyZXYgY29kZSkKKysJLnVsZWIxMjggMHgyNAkjIChUQUc6IERXX1RBR19iYXNlX3R5cGUp CisrCS5ieXRlCTAJIyBEV19jaGlsZHJlbl9ubworKwkudWxlYjEyOCAweGIJIyAoRFdfQVRfYnl0 ZV9zaXplKQorKwkudWxlYjEyOCAweGIJIyAoRFdfRk9STV9kYXRhMSkKKysJLnVsZWIxMjggMHgz ZQkjIChEV19BVF9lbmNvZGluZykKKysJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCisr CS51bGViMTI4IDB4MwkjIChEV19BVF9uYW1lKQorKwkudWxlYjEyOCAweDgJIyAoRFdfRk9STV9z dHJpbmcpCisrCS5ieXRlCTAKKysJLmJ5dGUJMAorKwkudWxlYjEyOCAweDQJIyAoYWJicmV2IGNv ZGUpCisrCS51bGViMTI4IDB4MzUJIyAoVEFHOiBEV19UQUdfdm9sYXRpbGVfdHlwZSkKKysJLmJ5 dGUJMAkjIERXX2NoaWxkcmVuX25vCisrCS51bGViMTI4IDB4NDkJIyAoRFdfQVRfdHlwZSkKKysJ LnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQpCisrCS5ieXRlCTAKKysJLmJ5dGUJMAorKwku dWxlYjEyOCAweDUJIyAoYWJicmV2IGNvZGUpCisrCS51bGViMTI4IDB4MmUJIyAoVEFHOiBEV19U QUdfc3VicHJvZ3JhbSkKKysJLmJ5dGUJMHgxCSMgRFdfY2hpbGRyZW5feWVzCisrCS51bGViMTI4 IDB4MwkjIChEV19BVF9uYW1lKQorKwkudWxlYjEyOCAweGUJIyAoRFdfRk9STV9zdHJwKQorKwku dWxlYjEyOCAweDNhCSMgKERXX0FUX2RlY2xfZmlsZSkKKysJLnVsZWIxMjggMHhiCSMgKERXX0ZP Uk1fZGF0YTEpCisrCS51bGViMTI4IDB4M2IJIyAoRFdfQVRfZGVjbF9saW5lKQorKwkudWxlYjEy OCAweGIJIyAoRFdfRk9STV9kYXRhMSkKKysJLnVsZWIxMjggMHgyNwkjIChEV19BVF9wcm90b3R5 cGVkKQorKwkudWxlYjEyOCAweGMJIyAoRFdfRk9STV9mbGFnKQorKwkudWxlYjEyOCAweDExCSMg KERXX0FUX2xvd19wYykKKysJLnVsZWIxMjggMHgxCSMgKERXX0ZPUk1fYWRkcikKKysJLnVsZWIx MjggMHgxMgkjIChEV19BVF9oaWdoX3BjKQorKwkudWxlYjEyOCAweDEJIyAoRFdfRk9STV9hZGRy KQorKwkudWxlYjEyOCAweDQwCSMgKERXX0FUX2ZyYW1lX2Jhc2UpCisrCS51bGViMTI4IDB4Ngkj IChEV19GT1JNX2RhdGE0KQorKwkudWxlYjEyOCAweDIxMTcJIyAoRFdfQVRfR05VX2FsbF9jYWxs X3NpdGVzKQorKwkudWxlYjEyOCAweGMJIyAoRFdfRk9STV9mbGFnKQorKwkudWxlYjEyOCAweDEJ IyAoRFdfQVRfc2libGluZykKKysJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQpCisrCS5i eXRlCTAKKysJLmJ5dGUJMAorKwkudWxlYjEyOCAweDYJIyAoYWJicmV2IGNvZGUpCisrCS51bGVi MTI4IDB4NQkjIChUQUc6IERXX1RBR19mb3JtYWxfcGFyYW1ldGVyKQorKwkuYnl0ZQkwCSMgRFdf Y2hpbGRyZW5fbm8KKysJLnVsZWIxMjggMHgzCSMgKERXX0FUX25hbWUpCisrCS51bGViMTI4IDB4 OAkjIChEV19GT1JNX3N0cmluZykKKysJLnVsZWIxMjggMHgzYQkjIChEV19BVF9kZWNsX2ZpbGUp CisrCS51bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQorKwkudWxlYjEyOCAweDNiCSMgKERX X0FUX2RlY2xfbGluZSkKKysJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCisrCS51bGVi MTI4IDB4NDkJIyAoRFdfQVRfdHlwZSkKKysJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQp CisrCS51bGViMTI4IDB4MgkjIChEV19BVF9sb2NhdGlvbikKKysJLnVsZWIxMjggMHg2CSMgKERX X0ZPUk1fZGF0YTQpCisrCS5ieXRlCTAKKysJLmJ5dGUJMAorKwkudWxlYjEyOCAweDcJIyAoYWJi cmV2IGNvZGUpCisrCS51bGViMTI4IDB4MTgJIyAoVEFHOiBEV19UQUdfdW5zcGVjaWZpZWRfcGFy YW1ldGVycykKKysJLmJ5dGUJMAkjIERXX2NoaWxkcmVuX25vCisrCS5ieXRlCTAKKysJLmJ5dGUJ MAorKwkudWxlYjEyOCAweDgJIyAoYWJicmV2IGNvZGUpCisrCS51bGViMTI4IDB4NDEwOQkjIChU QUc6IERXX1RBR19HTlVfY2FsbF9zaXRlKQorKwkuYnl0ZQkwCSMgRFdfY2hpbGRyZW5fbm8KKysJ LnVsZWIxMjggMHgxMQkjIChEV19BVF9sb3dfcGMpCisrCS51bGViMTI4IDB4MQkjIChEV19GT1JN X2FkZHIpCisrCS51bGViMTI4IDB4MzEJIyAoRFdfQVRfYWJzdHJhY3Rfb3JpZ2luKQorKwkudWxl YjEyOCAweDEzCSMgKERXX0ZPUk1fcmVmNCkKKysJLmJ5dGUJMAorKwkuYnl0ZQkwCisrCS51bGVi MTI4IDB4OQkjIChhYmJyZXYgY29kZSkKKysJLnVsZWIxMjggMHgyZQkjIChUQUc6IERXX1RBR19z dWJwcm9ncmFtKQorKwkuYnl0ZQkweDEJIyBEV19jaGlsZHJlbl95ZXMKKysJLnVsZWIxMjggMHgz CSMgKERXX0FUX25hbWUpCisrCS51bGViMTI4IDB4ZQkjIChEV19GT1JNX3N0cnApCisrCS51bGVi MTI4IDB4M2EJIyAoRFdfQVRfZGVjbF9maWxlKQorKwkudWxlYjEyOCAweGIJIyAoRFdfRk9STV9k YXRhMSkKKysJLnVsZWIxMjggMHgzYgkjIChEV19BVF9kZWNsX2xpbmUpCisrCS51bGViMTI4IDB4 YgkjIChEV19GT1JNX2RhdGExKQorKwkudWxlYjEyOCAweDI3CSMgKERXX0FUX3Byb3RvdHlwZWQp CisrCS51bGViMTI4IDB4YwkjIChEV19GT1JNX2ZsYWcpCisrCS51bGViMTI4IDB4MTEJIyAoRFdf QVRfbG93X3BjKQorKwkudWxlYjEyOCAweDEJIyAoRFdfRk9STV9hZGRyKQorKwkudWxlYjEyOCAw eDEyCSMgKERXX0FUX2hpZ2hfcGMpCisrCS51bGViMTI4IDB4MQkjIChEV19GT1JNX2FkZHIpCisr CS51bGViMTI4IDB4NDAJIyAoRFdfQVRfZnJhbWVfYmFzZSkKKysJLnVsZWIxMjggMHhhCSMgKERX X0ZPUk1fYmxvY2sxKQorKwkudWxlYjEyOCAweDIxMTcJIyAoRFdfQVRfR05VX2FsbF9jYWxsX3Np dGVzKQorKwkudWxlYjEyOCAweGMJIyAoRFdfRk9STV9mbGFnKQorKwkudWxlYjEyOCAweDEJIyAo RFdfQVRfc2libGluZykKKysJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQpCisrCS5ieXRl CTAKKysJLmJ5dGUJMAorKwkudWxlYjEyOCAweGEJIyAoYWJicmV2IGNvZGUpCisrCS51bGViMTI4 IDB4NDEwOQkjIChUQUc6IERXX1RBR19HTlVfY2FsbF9zaXRlKQorKwkuYnl0ZQkweDEJIyBEV19j aGlsZHJlbl95ZXMKKysJLnVsZWIxMjggMHgxMQkjIChEV19BVF9sb3dfcGMpCisrCS51bGViMTI4 IDB4MQkjIChEV19GT1JNX2FkZHIpCisrCS51bGViMTI4IDB4MjExNQkjIChEV19BVF9HTlVfdGFp bF9jYWxsKQorKwkudWxlYjEyOCAweGMJIyAoRFdfRk9STV9mbGFnKQorKwkudWxlYjEyOCAweDMx CSMgKERXX0FUX2Fic3RyYWN0X29yaWdpbikKKysJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3Jl ZjQpCisrCS5ieXRlCTAKKysJLmJ5dGUJMAorKwkudWxlYjEyOCAweGIJIyAoYWJicmV2IGNvZGUp CisrCS51bGViMTI4IDB4NDEwYQkjIChUQUc6IERXX1RBR19HTlVfY2FsbF9zaXRlX3BhcmFtZXRl cikKKysJLmJ5dGUJMAkjIERXX2NoaWxkcmVuX25vCisrCS51bGViMTI4IDB4MgkjIChEV19BVF9s b2NhdGlvbikKKysJLnVsZWIxMjggMHhhCSMgKERXX0ZPUk1fYmxvY2sxKQorKwkudWxlYjEyOCAw eDIxMTEJIyAoRFdfQVRfR05VX2NhbGxfc2l0ZV92YWx1ZSkKKysJLnVsZWIxMjggMHhhCSMgKERX X0ZPUk1fYmxvY2sxKQorKwkuYnl0ZQkwCisrCS5ieXRlCTAKKysJLnVsZWIxMjggMHhjCSMgKGFi YnJldiBjb2RlKQorKwkudWxlYjEyOCAweDJlCSMgKFRBRzogRFdfVEFHX3N1YnByb2dyYW0pCisr CS5ieXRlCTB4MQkjIERXX2NoaWxkcmVuX3llcworKwkudWxlYjEyOCAweDNmCSMgKERXX0FUX2V4 dGVybmFsKQorKwkudWxlYjEyOCAweGMJIyAoRFdfRk9STV9mbGFnKQorKwkudWxlYjEyOCAweDMJ IyAoRFdfQVRfbmFtZSkKKysJLnVsZWIxMjggMHhlCSMgKERXX0ZPUk1fc3RycCkKKysJLnVsZWIx MjggMHgzYQkjIChEV19BVF9kZWNsX2ZpbGUpCisrCS51bGViMTI4IDB4YgkjIChEV19GT1JNX2Rh dGExKQorKwkudWxlYjEyOCAweDNiCSMgKERXX0FUX2RlY2xfbGluZSkKKysJLnVsZWIxMjggMHhi CSMgKERXX0ZPUk1fZGF0YTEpCisrCS51bGViMTI4IDB4MjcJIyAoRFdfQVRfcHJvdG90eXBlZCkK KysJLnVsZWIxMjggMHhjCSMgKERXX0ZPUk1fZmxhZykKKysJLnVsZWIxMjggMHg0OQkjIChEV19B VF90eXBlKQorKwkudWxlYjEyOCAweDEzCSMgKERXX0ZPUk1fcmVmNCkKKysJLnVsZWIxMjggMHgx MQkjIChEV19BVF9sb3dfcGMpCisrCS51bGViMTI4IDB4MQkjIChEV19GT1JNX2FkZHIpCisrCS51 bGViMTI4IDB4MTIJIyAoRFdfQVRfaGlnaF9wYykKKysJLnVsZWIxMjggMHgxCSMgKERXX0ZPUk1f YWRkcikKKysJLnVsZWIxMjggMHg0MAkjIChEV19BVF9mcmFtZV9iYXNlKQorKwkudWxlYjEyOCAw eDYJIyAoRFdfRk9STV9kYXRhNCkKKysJLnVsZWIxMjggMHgyMTE3CSMgKERXX0FUX0dOVV9hbGxf Y2FsbF9zaXRlcykKKysJLnVsZWIxMjggMHhjCSMgKERXX0ZPUk1fZmxhZykKKysJLnVsZWIxMjgg MHgxCSMgKERXX0FUX3NpYmxpbmcpCisrCS51bGViMTI4IDB4MTMJIyAoRFdfRk9STV9yZWY0KQor KwkuYnl0ZQkwCisrCS5ieXRlCTAKKysJLnVsZWIxMjggMHhkCSMgKGFiYnJldiBjb2RlKQorKwku dWxlYjEyOCAweDQxMDkJIyAoVEFHOiBEV19UQUdfR05VX2NhbGxfc2l0ZSkKKysJLmJ5dGUJMHgx CSMgRFdfY2hpbGRyZW5feWVzCisrCS51bGViMTI4IDB4MTEJIyAoRFdfQVRfbG93X3BjKQorKwku dWxlYjEyOCAweDEJIyAoRFdfRk9STV9hZGRyKQorKwkudWxlYjEyOCAweDMxCSMgKERXX0FUX2Fi c3RyYWN0X29yaWdpbikKKysJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQpCisrCS5ieXRl CTAKKysJLmJ5dGUJMAorKwkudWxlYjEyOCAweGUJIyAoYWJicmV2IGNvZGUpCisrCS51bGViMTI4 IDB4MzQJIyAoVEFHOiBEV19UQUdfdmFyaWFibGUpCisrCS5ieXRlCTAJIyBEV19jaGlsZHJlbl9u bworKwkudWxlYjEyOCAweDMJIyAoRFdfQVRfbmFtZSkKKysJLnVsZWIxMjggMHg4CSMgKERXX0ZP Uk1fc3RyaW5nKQorKwkudWxlYjEyOCAweDNhCSMgKERXX0FUX2RlY2xfZmlsZSkKKysJLnVsZWIx MjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCisrCS51bGViMTI4IDB4M2IJIyAoRFdfQVRfZGVjbF9s aW5lKQorKwkudWxlYjEyOCAweGIJIyAoRFdfRk9STV9kYXRhMSkKKysJLnVsZWIxMjggMHg0OQkj IChEV19BVF90eXBlKQorKwkudWxlYjEyOCAweDEzCSMgKERXX0ZPUk1fcmVmNCkKKysJLnVsZWIx MjggMHgzZgkjIChEV19BVF9leHRlcm5hbCkKKysJLnVsZWIxMjggMHhjCSMgKERXX0ZPUk1fZmxh ZykKKysJLnVsZWIxMjggMHgyCSMgKERXX0FUX2xvY2F0aW9uKQorKwkudWxlYjEyOCAweGEJIyAo RFdfRk9STV9ibG9jazEpCisrCS5ieXRlCTAKKysJLmJ5dGUJMAorKwkudWxlYjEyOCAweGYJIyAo YWJicmV2IGNvZGUpCisrCS51bGViMTI4IDB4MmUJIyAoVEFHOiBEV19UQUdfc3VicHJvZ3JhbSkK KysJLmJ5dGUJMAkjIERXX2NoaWxkcmVuX25vCisrCS51bGViMTI4IDB4M2YJIyAoRFdfQVRfZXh0 ZXJuYWwpCisrCS51bGViMTI4IDB4YwkjIChEV19GT1JNX2ZsYWcpCisrCS51bGViMTI4IDB4Mwkj IChEV19BVF9uYW1lKQorKwkudWxlYjEyOCAweGUJIyAoRFdfRk9STV9zdHJwKQorKwkudWxlYjEy OCAweDNhCSMgKERXX0FUX2RlY2xfZmlsZSkKKysJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0 YTEpCisrCS51bGViMTI4IDB4M2IJIyAoRFdfQVRfZGVjbF9saW5lKQorKwkudWxlYjEyOCAweDUJ IyAoRFdfRk9STV9kYXRhMikKKysJLnVsZWIxMjggMHgyNwkjIChEV19BVF9wcm90b3R5cGVkKQor KwkudWxlYjEyOCAweGMJIyAoRFdfRk9STV9mbGFnKQorKwkudWxlYjEyOCAweDNjCSMgKERXX0FU X2RlY2xhcmF0aW9uKQorKwkudWxlYjEyOCAweGMJIyAoRFdfRk9STV9mbGFnKQorKwkuYnl0ZQkw CisrCS5ieXRlCTAKKysJLmJ5dGUJMAorKwkuc2VjdGlvbgkuZGVidWdfbG9jLCIiLEBwcm9nYml0 cworKy5MZGVidWdfbG9jMDoKKysuTExTVDA6CisrCS5xdWFkCS5MRkI5CSMgTG9jYXRpb24gbGlz dCBiZWdpbiBhZGRyZXNzICgqLkxMU1QwKQorKwkucXVhZAkuTENGSTAJIyBMb2NhdGlvbiBsaXN0 IGVuZCBhZGRyZXNzICgqLkxMU1QwKQorKwkudmFsdWUJMHgyCSMgTG9jYXRpb24gZXhwcmVzc2lv biBzaXplCisrCS5ieXRlCTB4NzcJIyBEV19PUF9icmVnNworKwkuc2xlYjEyOCA4CisrCS5xdWFk CS5MQ0ZJMAkjIExvY2F0aW9uIGxpc3QgYmVnaW4gYWRkcmVzcyAoKi5MTFNUMCkKKysJLnF1YWQJ LkxGRTkJIyBMb2NhdGlvbiBsaXN0IGVuZCBhZGRyZXNzICgqLkxMU1QwKQorKwkudmFsdWUJMHgy CSMgTG9jYXRpb24gZXhwcmVzc2lvbiBzaXplCisrCS5ieXRlCTB4NzcJIyBEV19PUF9icmVnNwor Kwkuc2xlYjEyOCAxNgorKwkucXVhZAkwCSMgTG9jYXRpb24gbGlzdCB0ZXJtaW5hdG9yIGJlZ2lu ICgqLkxMU1QwKQorKwkucXVhZAkwCSMgTG9jYXRpb24gbGlzdCB0ZXJtaW5hdG9yIGVuZCAoKi5M TFNUMCkKKysuTExTVDE6CisrCS5xdWFkCS5MVkwwCSMgTG9jYXRpb24gbGlzdCBiZWdpbiBhZGRy ZXNzICgqLkxMU1QxKQorKwkucXVhZAkuTFZMMS0xCSMgTG9jYXRpb24gbGlzdCBlbmQgYWRkcmVz cyAoKi5MTFNUMSkKKysJLnZhbHVlCTB4MQkjIExvY2F0aW9uIGV4cHJlc3Npb24gc2l6ZQorKwku Ynl0ZQkweDU1CSMgRFdfT1BfcmVnNQorKwkucXVhZAkuTFZMMS0xCSMgTG9jYXRpb24gbGlzdCBi ZWdpbiBhZGRyZXNzICgqLkxMU1QxKQorKwkucXVhZAkuTEZFOQkjIExvY2F0aW9uIGxpc3QgZW5k IGFkZHJlc3MgKCouTExTVDEpCisrCS52YWx1ZQkweDQJIyBMb2NhdGlvbiBleHByZXNzaW9uIHNp emUKKysJLmJ5dGUJMHhmMwkjIERXX09QX0dOVV9lbnRyeV92YWx1ZQorKwkudWxlYjEyOCAweDEK KysJLmJ5dGUJMHg1NQkjIERXX09QX3JlZzUKKysJLmJ5dGUJMHg5ZgkjIERXX09QX3N0YWNrX3Zh bHVlCisrCS5xdWFkCTAJIyBMb2NhdGlvbiBsaXN0IHRlcm1pbmF0b3IgYmVnaW4gKCouTExTVDEp CisrCS5xdWFkCTAJIyBMb2NhdGlvbiBsaXN0IHRlcm1pbmF0b3IgZW5kICgqLkxMU1QxKQorKy5M TFNUMjoKKysJLnF1YWQJLkxGQjEwCSMgTG9jYXRpb24gbGlzdCBiZWdpbiBhZGRyZXNzICgqLkxM U1QyKQorKwkucXVhZAkuTENGSTEJIyBMb2NhdGlvbiBsaXN0IGVuZCBhZGRyZXNzICgqLkxMU1Qy KQorKwkudmFsdWUJMHgyCSMgTG9jYXRpb24gZXhwcmVzc2lvbiBzaXplCisrCS5ieXRlCTB4NzcJ IyBEV19PUF9icmVnNworKwkuc2xlYjEyOCA4CisrCS5xdWFkCS5MQ0ZJMQkjIExvY2F0aW9uIGxp c3QgYmVnaW4gYWRkcmVzcyAoKi5MTFNUMikKKysJLnF1YWQJLkxGRTEwCSMgTG9jYXRpb24gbGlz dCBlbmQgYWRkcmVzcyAoKi5MTFNUMikKKysJLnZhbHVlCTB4MgkjIExvY2F0aW9uIGV4cHJlc3Np b24gc2l6ZQorKwkuYnl0ZQkweDc3CSMgRFdfT1BfYnJlZzcKKysJLnNsZWIxMjggMTYKKysJLnF1 YWQJMAkjIExvY2F0aW9uIGxpc3QgdGVybWluYXRvciBiZWdpbiAoKi5MTFNUMikKKysJLnF1YWQJ MAkjIExvY2F0aW9uIGxpc3QgdGVybWluYXRvciBlbmQgKCouTExTVDIpCisrLkxMU1QzOgorKwku cXVhZAkuTFZMMgkjIExvY2F0aW9uIGxpc3QgYmVnaW4gYWRkcmVzcyAoKi5MTFNUMykKKysJLnF1 YWQJLkxWTDMtMQkjIExvY2F0aW9uIGxpc3QgZW5kIGFkZHJlc3MgKCouTExTVDMpCisrCS52YWx1 ZQkweDEJIyBMb2NhdGlvbiBleHByZXNzaW9uIHNpemUKKysJLmJ5dGUJMHg1NQkjIERXX09QX3Jl ZzUKKysJLnF1YWQJLkxWTDMtMQkjIExvY2F0aW9uIGxpc3QgYmVnaW4gYWRkcmVzcyAoKi5MTFNU MykKKysJLnF1YWQJLkxGRTEwCSMgTG9jYXRpb24gbGlzdCBlbmQgYWRkcmVzcyAoKi5MTFNUMykK KysJLnZhbHVlCTB4NAkjIExvY2F0aW9uIGV4cHJlc3Npb24gc2l6ZQorKwkuYnl0ZQkweGYzCSMg RFdfT1BfR05VX2VudHJ5X3ZhbHVlCisrCS51bGViMTI4IDB4MQorKwkuYnl0ZQkweDU1CSMgRFdf T1BfcmVnNQorKwkuYnl0ZQkweDlmCSMgRFdfT1Bfc3RhY2tfdmFsdWUKKysJLnF1YWQJMAkjIExv Y2F0aW9uIGxpc3QgdGVybWluYXRvciBiZWdpbiAoKi5MTFNUMykKKysJLnF1YWQJMAkjIExvY2F0 aW9uIGxpc3QgdGVybWluYXRvciBlbmQgKCouTExTVDMpCisrLkxMU1Q0OgorKwkucXVhZAkuTFZM NAkjIExvY2F0aW9uIGxpc3QgYmVnaW4gYWRkcmVzcyAoKi5MTFNUNCkKKysJLnF1YWQJLkxWTDUt MQkjIExvY2F0aW9uIGxpc3QgZW5kIGFkZHJlc3MgKCouTExTVDQpCisrCS52YWx1ZQkweDEJIyBM b2NhdGlvbiBleHByZXNzaW9uIHNpemUKKysJLmJ5dGUJMHg1NQkjIERXX09QX3JlZzUKKysJLnF1 YWQJLkxWTDUtMQkjIExvY2F0aW9uIGxpc3QgYmVnaW4gYWRkcmVzcyAoKi5MTFNUNCkKKysJLnF1 YWQJLkxGRTExCSMgTG9jYXRpb24gbGlzdCBlbmQgYWRkcmVzcyAoKi5MTFNUNCkKKysJLnZhbHVl CTB4NAkjIExvY2F0aW9uIGV4cHJlc3Npb24gc2l6ZQorKwkuYnl0ZQkweGYzCSMgRFdfT1BfR05V X2VudHJ5X3ZhbHVlCisrCS51bGViMTI4IDB4MQorKwkuYnl0ZQkweDU1CSMgRFdfT1BfcmVnNQor KwkuYnl0ZQkweDlmCSMgRFdfT1Bfc3RhY2tfdmFsdWUKKysJLnF1YWQJMAkjIExvY2F0aW9uIGxp c3QgdGVybWluYXRvciBiZWdpbiAoKi5MTFNUNCkKKysJLnF1YWQJMAkjIExvY2F0aW9uIGxpc3Qg dGVybWluYXRvciBlbmQgKCouTExTVDQpCisrLkxMU1Q1OgorKwkucXVhZAkuTEZCMTIJIyBMb2Nh dGlvbiBsaXN0IGJlZ2luIGFkZHJlc3MgKCouTExTVDUpCisrCS5xdWFkCS5MQ0ZJMgkjIExvY2F0 aW9uIGxpc3QgZW5kIGFkZHJlc3MgKCouTExTVDUpCisrCS52YWx1ZQkweDIJIyBMb2NhdGlvbiBl eHByZXNzaW9uIHNpemUKKysJLmJ5dGUJMHg3NwkjIERXX09QX2JyZWc3CisrCS5zbGViMTI4IDgK KysJLnF1YWQJLkxDRkkyCSMgTG9jYXRpb24gbGlzdCBiZWdpbiBhZGRyZXNzICgqLkxMU1Q1KQor KwkucXVhZAkuTENGSTMJIyBMb2NhdGlvbiBsaXN0IGVuZCBhZGRyZXNzICgqLkxMU1Q1KQorKwku dmFsdWUJMHgyCSMgTG9jYXRpb24gZXhwcmVzc2lvbiBzaXplCisrCS5ieXRlCTB4NzcJIyBEV19P UF9icmVnNworKwkuc2xlYjEyOCAxNgorKwkucXVhZAkuTENGSTMJIyBMb2NhdGlvbiBsaXN0IGJl Z2luIGFkZHJlc3MgKCouTExTVDUpCisrCS5xdWFkCS5MRkUxMgkjIExvY2F0aW9uIGxpc3QgZW5k IGFkZHJlc3MgKCouTExTVDUpCisrCS52YWx1ZQkweDIJIyBMb2NhdGlvbiBleHByZXNzaW9uIHNp emUKKysJLmJ5dGUJMHg3NwkjIERXX09QX2JyZWc3CisrCS5zbGViMTI4IDgKKysJLnF1YWQJMAkj IExvY2F0aW9uIGxpc3QgdGVybWluYXRvciBiZWdpbiAoKi5MTFNUNSkKKysJLnF1YWQJMAkjIExv Y2F0aW9uIGxpc3QgdGVybWluYXRvciBlbmQgKCouTExTVDUpCisrCS5zZWN0aW9uCS5kZWJ1Z19h cmFuZ2VzLCIiLEBwcm9nYml0cworKwkubG9uZwkweDRjCSMgTGVuZ3RoIG9mIEFkZHJlc3MgUmFu Z2VzIEluZm8KKysJLnZhbHVlCTB4MgkjIERXQVJGIFZlcnNpb24KKysJLmxvbmcJLkxkZWJ1Z19p bmZvMAkjIE9mZnNldCBvZiBDb21waWxhdGlvbiBVbml0IEluZm8KKysJLmJ5dGUJMHg4CSMgU2l6 ZSBvZiBBZGRyZXNzCisrCS5ieXRlCTAJIyBTaXplIG9mIFNlZ21lbnQgRGVzY3JpcHRvcgorKwku dmFsdWUJMAkjIFBhZCB0byAxNiBieXRlIGJvdW5kYXJ5CisrCS52YWx1ZQkwCisrCS5xdWFkCS5M dGV4dDAJIyBBZGRyZXNzCisrCS5xdWFkCS5MZXRleHQwLS5MdGV4dDAJIyBMZW5ndGgKKysJLnF1 YWQJLkxGQjkJIyBBZGRyZXNzCisrCS5xdWFkCS5MRkU5LS5MRkI5CSMgTGVuZ3RoCisrCS5xdWFk CS5MRkIxMgkjIEFkZHJlc3MKKysJLnF1YWQJLkxGRTEyLS5MRkIxMgkjIExlbmd0aAorKwkucXVh ZAkwCisrCS5xdWFkCTAKKysJLnNlY3Rpb24JLmRlYnVnX3JhbmdlcywiIixAcHJvZ2JpdHMKKysu TGRlYnVnX3JhbmdlczA6CisrCS5xdWFkCS5MdGV4dDAJIyBPZmZzZXQgMAorKwkucXVhZAkuTGV0 ZXh0MAorKwkucXVhZAkuTEZCOQkjIE9mZnNldCAweDEwCisrCS5xdWFkCS5MRkU5CisrCS5xdWFk CS5MRkIxMgkjIE9mZnNldCAweDIwCisrCS5xdWFkCS5MRkUxMgorKwkucXVhZAkwCisrCS5xdWFk CTAKKysJLnNlY3Rpb24JLmRlYnVnX2xpbmUsIiIsQHByb2diaXRzCisrLkxkZWJ1Z19saW5lMDoK KysJLnNlY3Rpb24JLmRlYnVnX3N0ciwiTVMiLEBwcm9nYml0cywxCisrLkxBU0Y5OgorKwkuc3Ry aW5nCSJsb25nIGxvbmcgaW50IgorKy5MQVNGMTQ6CisrCS5zdHJpbmcJIkdOVSBDIDQuNy4zIDIw MTMwMjIxIChwcmVyZWxlYXNlKSIKKysuTEFTRjM6CisrCS5zdHJpbmcJInVuc2lnbmVkIGludCIK KysuTEFTRjE3OgorKwkuc3RyaW5nCSJtYWluIgorKy5MQVNGMDoKKysJLnN0cmluZwkibG9uZyB1 bnNpZ25lZCBpbnQiCisrLkxBU0YxMDoKKysJLnN0cmluZwkibG9uZyBsb25nIHVuc2lnbmVkIGlu dCIKKysuTEFTRjE2OgorKwkuc3RyaW5nCSIiCisrLkxBU0YxMzoKKysJLnN0cmluZwkidGFpbGNh bGwiCisrLkxBU0YxOgorKwkuc3RyaW5nCSJ1bnNpZ25lZCBjaGFyIgorKy5MQVNGODoKKysJLnN0 cmluZwkiY2hhciIKKysuTEFTRjY6CisrCS5zdHJpbmcJImxvbmcgaW50IgorKy5MQVNGMTE6Cisr CS5zdHJpbmcJIm5vcmV0IgorKy5MQVNGMjoKKysJLnN0cmluZwkic2hvcnQgdW5zaWduZWQgaW50 IgorKy5MQVNGNDoKKysJLnN0cmluZwkic2lnbmVkIGNoYXIiCisrLkxBU0YxMjoKKysJLnN0cmlu ZwkibWF5cmV0IgorKy5MQVNGMTg6CisrCS5zdHJpbmcJImFib3J0IgorKy5MQVNGNToKKysJLnN0 cmluZwkic2hvcnQgaW50IgorKy5MQVNGNzoKKysJLnN0cmluZwkic2l6ZXR5cGUiCisrLkxBU0Yx NToKKysJLnN0cmluZwkiZ2RiLmFyY2gvYW1kNjQtdGFpbGNhbGwtbm9yZXQuYyIKKysJLmlkZW50 CSJHQ0M6IChHTlUpIDQuNy4zIDIwMTMwMjIxIChwcmVyZWxlYXNlKSIKKysJLnNlY3Rpb24JLm5v dGUuR05VLXN0YWNrLCIiLEBwcm9nYml0cworZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmFyY2gvYW1kNjQtdGFpbGNhbGwtbm9yZXQuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1k NjQtdGFpbGNhbGwtbm9yZXQuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAu LjZhODRjNzYKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1k NjQtdGFpbGNhbGwtbm9yZXQuYworQEAgLTAsMCArMSw0NiBAQAorKy8qIFRoaXMgdGVzdGNhc2Ug aXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCisrCisrICAgQ29weXJpZ2h0IDIwMTMg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysgICBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1 Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg dmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysgICBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAgIFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisr ICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uICAqLworKworKyNpbmNsdWRlIDxzdGRsaWIuaD4KKysKKyt2b2xhdGls ZSBpbnQgdiA9IDE7CisrCisrc3RhdGljIF9fYXR0cmlidXRlX18gKChub2lubGluZSwgbm9jbG9u ZSwgbm9yZXR1cm4pKSB2b2lkCisrbm9yZXQgKGludCB4LCAuLi4pCisreworKyAgYWJvcnQgKCk7 CisrfQorKworK3N0YXRpYyBfX2F0dHJpYnV0ZV9fICgobm9pbmxpbmUsIG5vY2xvbmUpKSB2b2lk CisrbWF5cmV0IChpbnQgeCkKKyt7CisrICBpZiAodikKKysgICAgbm9yZXQgKHgpOworK30KKysK KytzdGF0aWMgX19hdHRyaWJ1dGVfXyAoKG5vaW5saW5lLCBub2Nsb25lKSkgdm9pZAorK3RhaWxj YWxsIChpbnQgeCkKKyt7CisrICBtYXlyZXQgKHgpOworK30KKysKKytpbnQKKyttYWluICh2b2lk KQorK3sKKysgIHRhaWxjYWxsICgxKTsKKysgIHJldHVybiAwOworK30KK2RpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LXRhaWxjYWxsLW5vcmV0LmV4cCBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmFyY2gvYW1kNjQtdGFpbGNhbGwtbm9yZXQuZXhwCituZXcgZmlsZSBtb2RlIDEw MDY0NAoraW5kZXggMDAwMDAwMC4uY2QxNTU5NgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC10YWlsY2FsbC1ub3JldC5leHAKK0BAIC0wLDAgKzEsMzYg QEAKKysjIENvcHlyaWdodCAoQykgMjAxMi0yMDEzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysj IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KKysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBu b3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrCisrc2V0IG9wdHMge30K KytzdGFuZGFyZF90ZXN0ZmlsZSAuUworKworK2lmIFtpbmZvIGV4aXN0cyBDT01QSUxFXSB7Cisr ICAgICMgbWFrZSBjaGVjayBSVU5URVNURkxBR1M9ImdkYi5hcmNoL2FtZDY0LXRhaWxjYWxsLW5v cmV0LmV4cCBDT01QSUxFPTEiCisrICAgIHN0YW5kYXJkX3Rlc3RmaWxlCisrICAgIGxhcHBlbmQg b3B0cyBkZWJ1ZyBvcHRpbWl6ZT0tTzIKKyt9IGVsc2VpZiB7ICFbaXN0YXJnZXQgeDg2XzY0LSot KiBdIHx8ICFbaXNfbHA2NF90YXJnZXRdIH0geworKyAgICB2ZXJib3NlICJTa2lwcGluZyAke3Rl c3RmaWxlfS4iCisrICAgIHJldHVybgorK30KKysKKytpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5n ICR7dGVzdGZpbGV9LmV4cCAke3Rlc3RmaWxlfSAke3NyY2ZpbGV9ICRvcHRzXSB9IHsKKysgICAg cmV0dXJuIC0xCisrfQorKworK2lmICFbcnVudG8gbm9yZXRdIHsKKysgICAgcmV0dXJuIC0xCisr fQorKworK2dkYl90ZXN0ICJidCIgIiMwICtub3JldCBcXCh4PTFcXCkgYXQgXFteXHJcblxdKlxy XG4jMSArMHhcWzAtOWEtZlxdKyBpbiBtYXlyZXQgXFwoeD14QGVudHJ5PTFcXCkgYXQgXFteXHJc blxdKlxyXG4jMiArMHhcWzAtOWEtZlxdKyBpbiB0YWlsY2FsbCBcXCh4PXhAZW50cnk9MVxcKSBh dCBcW15cclxuXF0qXHJcbiMzICsweFxbMC05YS1mXF0rIGluIG1haW4gXFwoXFwpIGF0IC4qIgor CgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIzb2YyNS5wYXRjaCBiL2dkYi1y aGJ6Nzk1NDI0LWJpdHBvcy0yM29mMjUucGF0Y2gKaW5kZXggOWU2YjcxMi4uMDhlMmNkNCAxMDA2 NDQKLS0tIGEvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIzb2YyNS5wYXRjaAorKysgYi9nZGItcmhi ejc5NTQyNC1iaXRwb3MtMjNvZjI1LnBhdGNoCkBAIC0xMzcsMTAgKzEzNywxMCBAQCBDb250ZW50 LVR5cGU6IHRleHQveC1wYXRjaAogQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogN2JpdAogQ29u dGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9Yml0cG9zLXRkZXAucGF0Y2gK IAotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FscGhhLXRkZXAuYworSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAzMTAvZ2RiL2FscGhhLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvYWxwaGEtdGRlcC5jCTIwMTMtMDEtMTggMjM6MzY6NTku OTU0MjkwMzYyICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYWxwaGEtdGRlcC5j CTIwMTMtMDEtMTggMjM6Mzc6MTIuNDY1MzA3NTY2ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEz MDMxMC5vcmlnL2dkYi9hbHBoYS10ZGVwLmMJMjAxMy0wMy0xMCAxNjo0NDozNC4wMDAwMDAwMDAg KzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMzEwL2dkYi9hbHBoYS10ZGVwLmMJMjAxMy0wMy0x MCAxNjo0NDo0Mi4xMTE1OTk4MzggKzAxMDAKIEBAIC0yOTksMTggKzI5OSwxOCBAQCBhbHBoYV9w dXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnCiAgewogICAgZW51bSBiZmRfZW5kaWFu IGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwpAQCAtMTg0LDEwICsx ODQsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FscGhhLXRkZXAuYwogIAkg ICAgICBtZW1jcHkgKGFyZ19yZWdfYnVmZmVyICsgb2Zmc2V0LCBjb250ZW50cywgdGxlbik7CiAg CSAgICAgIG9mZnNldCArPSB0bGVuOwogIAkgICAgICBjb250ZW50cyArPSB0bGVuOwotSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FtZDY0LXRkZXAuYworSW5kZXg6IGdkYi03LjUuNTAu MjAxMzAzMTAvZ2RiL2FtZDY0LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAx MzAxMTgub3JpZy9nZGIvYW1kNjQtdGRlcC5jCTIwMTMtMDEtMTggMjM6MzY6NTkuOTU1MjkwMzY1 ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYW1kNjQtdGRlcC5jCTIwMTMtMDEt MTggMjM6Mzc6MTIuNDY2MzA3NTY5ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDMxMC5vcmln L2dkYi9hbWQ2NC10ZGVwLmMJMjAxMy0wMy0xMCAxNjoxNjoyMy4wMDAwMDAwMDAgKzAxMDAKKysr KyBnZGItNy41LjUwLjIwMTMwMzEwL2dkYi9hbWQ2NC10ZGVwLmMJMjAxMy0wMy0xMCAxNjo0NDo0 Mi4xMTI1OTk4MzggKzAxMDAKIEBAIC02MTYsNyArNjE2LDcgQEAgYW1kNjRfcmV0dXJuX3ZhbHVl IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYQogIHsKICAgIHN0cnVjdCBnZGJhcmNoX3RkZXAgKnRkZXAg PSBnZGJhcmNoX3RkZXAgKGdkYmFyY2gpOwpAQCAtMjE3LDEwICsyMTcsMTAgQEAgSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FtZDY0LXRkZXAuYwogICAgICAgIGVudW0gYW1kNjRfcmVn X2NsYXNzIGNsYXNzWzJdOwogICAgICAgIGludCBuZWVkZWRfaW50ZWdlcl9yZWdzID0gMDsKICAg ICAgICBpbnQgbmVlZGVkX3NzZV9yZWdzID0gMDsKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi9hbWQ2NC13aW5kb3dzLXRkZXAuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAzMTAvZ2Ri L2FtZDY0LXdpbmRvd3MtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDEx OC5vcmlnL2dkYi9hbWQ2NC13aW5kb3dzLXRkZXAuYwkyMDEzLTAxLTE4IDIzOjM2OjU5Ljk1NjI5 MDM2OSArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FtZDY0LXdpbmRvd3MtdGRl cC5jCTIwMTMtMDEtMTggMjM6Mzc6MTIuNDY2MzA3NTY5ICswMTAwCistLS0gZ2RiLTcuNS41MC4y MDEzMDMxMC5vcmlnL2dkYi9hbWQ2NC13aW5kb3dzLXRkZXAuYwkyMDEzLTAxLTAxIDA3OjMyOjM3 LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAzMTAvZ2RiL2FtZDY0LXdpbmRv d3MtdGRlcC5jCTIwMTMtMDMtMTAgMTY6NDQ6NDIuMTEyNTk5ODM4ICswMTAwCiBAQCAtNzksNyAr NzksNyBAQCBhbWQ2NF93aW5kb3dzX3JldHVybl92YWx1ZSAoc3RydWN0IGdkYmFyCiAgCQkJICAg IHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLAogIAkJCSAgICBn ZGJfYnl0ZSAqcmVhZGJ1ZiwgY29uc3QgZ2RiX2J5dGUgKndyaXRlYnVmKQpAQCAtMjMwLDEwICsy MzAsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FtZDY0LXdpbmRvd3MtdGRl cC5jCiAgICBpbnQgcmVnbnVtID0gLTE7CiAgCiAgICAvKiBTZWUgaWYgb3VyIHZhbHVlIGlzIHJl dHVybmVkIHRocm91Z2ggYSByZWdpc3Rlci4gIElmIGl0IGlzLCB0aGVuCi1JbmRleDogZ2RiLTcu NS41MC4yMDEzMDExOC9nZGIvYXJtLXRkZXAuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAzMTAv Z2RiL2FybS10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcv Z2RiL2FybS10ZGVwLmMJMjAxMy0wMS0xOCAyMzozNjo1OS45NjEyOTAzNzggKzAxMDAKLSsrKyBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hcm0tdGRlcC5jCTIwMTMtMDEtMTggMjM6Mzc6MTIuNDY5 MzA3NTczICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDMxMC5vcmlnL2dkYi9hcm0tdGRlcC5j CTIwMTMtMDMtMDEgMTY6Mzg6MjMuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEz MDMxMC9nZGIvYXJtLXRkZXAuYwkyMDEzLTAzLTEwIDE2OjQ0OjQyLjExNTU5OTg0MCArMDEwMAog QEAgLTM0OTYsNyArMzQ5Niw3IEBAIGFybV92ZnBfY3ByY19yZWdfY2hhciAoZW51bSBhcm1fdmZw X2NwcmMKICAgICBhcnJheSkuICBWZWN0b3JzIGFuZCBjb21wbGV4IHR5cGVzIGFyZSBub3QgY3Vy cmVudGx5IHN1cHBvcnRlZCwKICAgICBtYXRjaGluZyB0aGUgZ2VuZXJpYyBBQVBDUyBzdXBwb3J0 LiAgKi8KQEAgLTMwOCwxMCArMzA4LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dk Yi9hcm0tdGRlcC5jCiAgICAgICAgc3RydWN0IHR5cGUgKmFyZ190eXBlOwogICAgICAgIHN0cnVj dCB0eXBlICp0YXJnZXRfdHlwZTsKICAgICAgICBlbnVtIHR5cGVfY29kZSB0eXBlY29kZTsKLUlu ZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hdnItdGRlcC5jCitJbmRleDogZ2RiLTcuNS41 MC4yMDEzMDMxMC9nZGIvYXZyLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAx MzAxMTgub3JpZy9nZGIvYXZyLXRkZXAuYwkyMDEzLTAxLTE4IDIzOjM2OjU5Ljk2MzI5MDM4NSAr MDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2F2ci10ZGVwLmMJMjAxMy0wMS0xOCAy MzozNzoxMi40NzAzMDc1NzQgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMzEwLm9yaWcvZ2Ri L2F2ci10ZGVwLmMJMjAxMy0wMy0wMSAxNjozODoyNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGIt Ny41LjUwLjIwMTMwMzEwL2dkYi9hdnItdGRlcC5jCTIwMTMtMDMtMTAgMTY6NDQ6NDIuMTE2NTk5 ODQwICswMTAwCiBAQCAtMTE3MCwxMyArMTE3MCwxNCBAQCBhdnJfZHVtbXlfaWQgKHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoLCBzCiAgCiAgc3RydWN0IHN0YWNrX2l0ZW0KQEAgLTM0NSwxMiArMzQ1 LDEyIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hdnItdGRlcC5jCiAgCiAgICAg ICAgLyogQ2FsY3VsYXRlIHRoZSBwb3RlbnRpYWwgbGFzdCByZWdpc3RlciBuZWVkZWQuICAqLwog ICAgICAgIGxhc3RfcmVnbnVtID0gcmVnbnVtIC0gKGxlbiArIChsZW4gJiAxKSk7Ci1JbmRleDog Z2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYmZpbi10ZGVwLmMKK0luZGV4OiBnZGItNy41LjUwLjIw MTMwMzEwL2dkYi9iZmluLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAx MTgub3JpZy9nZGIvYmZpbi10ZGVwLmMJMjAxMy0wMS0xOCAyMzozNjo1OS45NjMyOTAzODUgKzAx MDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9iZmluLXRkZXAuYwkyMDEzLTAxLTE4IDIz OjM3OjEyLjQ3MDMwNzU3NCArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAzMTAub3JpZy9nZGIv YmZpbi10ZGVwLmMJMjAxMy0wMy0wMSAxNjozODoyNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGIt Ny41LjUwLjIwMTMwMzEwL2dkYi9iZmluLXRkZXAuYwkyMDEzLTAzLTEwIDE2OjQ2OjI3Ljk5MjY2 OTk2NCArMDEwMAogQEAgLTUwNiw3ICs1MDYsNyBAQCBiZmluX3B1c2hfZHVtbXlfY2FsbCAoc3Ry dWN0IGdkYmFyY2ggKmdkCi0gICBjaGFyIGJ1Zls0XTsKKyAgIGdkYl9ieXRlIGJ1Zls0XTsKICAg IGludCBpOwogICAgbG9uZyByZWdfcjAsIHJlZ19yMSwgcmVnX3IyOwogLSAgaW50IHRvdGFsX2xl biA9IDA7CkBAIC0zNjcsMTAgKzM2NywxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9n ZGIvYmZpbi10ZGVwLmMKICAKICAgICAgICBzcCAtPSBjb250YWluZXJfbGVuOwogICAgICAgIHdy aXRlX21lbW9yeSAoc3AsIHZhbHVlX2NvbnRlbnRzX3dyaXRlYWJsZSAoYXJnc1tpXSksIGNvbnRh aW5lcl9sZW4pOwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2NyaXMtdGRlcC5jCitJ bmRleDogZ2RiLTcuNS41MC4yMDEzMDMxMC9nZGIvY3Jpcy10ZGVwLmMKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2NyaXMtdGRlcC5jCTIwMTMtMDEtMTggMjM6 MzY6NTkuOTY1MjkwMzkwICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvY3Jpcy10 ZGVwLmMJMjAxMy0wMS0xOCAyMzozNzoxMi40NzEzMDc1NzggKzAxMDAKKy0tLSBnZGItNy41LjUw LjIwMTMwMzEwLm9yaWcvZ2RiL2NyaXMtdGRlcC5jCTIwMTMtMDMtMDEgMTY6Mzg6MjQuMDAwMDAw MDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDMxMC9nZGIvY3Jpcy10ZGVwLmMJMjAxMy0w My0xMCAxNjo0NDo0Mi4xMTc1OTk4NDEgKzAxMDAKIEBAIC02NzAsMTMgKzY3MCwxMyBAQCBzdGF0 aWMgQ09SRV9BRERSIGNyaXNfdW53aW5kX3NwIChzdHJ1Y3QKICAKICBzdHJ1Y3Qgc3RhY2tfaXRl bQpAQCAtNDA1LDEwICs0MDUsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2Ny aXMtdGRlcC5jCiAgICAgICAgCiAgICAgICAgLyogSG93IG1heSByZWdpc3RlcnMgd29ydGggb2Yg c3RvcmFnZSBkbyB3ZSBuZWVkIGZvciB0aGlzIGFyZ3VtZW50PyAgKi8KICAgICAgICByZWdfZGVt YW5kID0gKGxlbiAvIDQpICsgKGxlbiAlIDQgIT0gMCA/IDEgOiAwKTsKLUluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi9oODMwMC10ZGVwLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMzEw L2dkYi9oODMwMC10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9y aWcvZ2RiL2g4MzAwLXRkZXAuYwkyMDEzLTAxLTE4IDIzOjM2OjU5Ljk2NjI5MDM5MiArMDEwMAot KysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2g4MzAwLXRkZXAuYwkyMDEzLTAxLTE4IDIzOjM3 OjEyLjQ3MjMwNzU4MyArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAzMTAub3JpZy9nZGIvaDgz MDAtdGRlcC5jCTIwMTMtMDEtMDEgMDc6MzI6NDQuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcu NS41MC4yMDEzMDMxMC9nZGIvaDgzMDAtdGRlcC5jCTIwMTMtMDMtMTAgMTY6NDQ6NDIuMTE4NTk5 ODQxICswMTAwCiBAQCAtNjQwLDcgKzY0MCw3IEBAIGg4MzAwX3B1c2hfZHVtbXlfY2FsbCAoc3Ry dWN0IGdkYmFyY2ggKmcKICAJCSAgICAgICBpbnQgc3RydWN0X3JldHVybiwgQ09SRV9BRERSIHN0 cnVjdF9hZGRyKQogIHsKQEAgLTQ0MSwxMCArNDQxLDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIw MTMwMTE4L2dkYi9oODMwMC10ZGVwLmMKICAKICAJICAgICAgZm9yIChvZmZzZXQgPSAwOyBvZmZz ZXQgPCBwYWRkZWRfbGVuOyBvZmZzZXQgKz0gd29yZHNpemUpCiAgCQl7Ci1JbmRleDogZ2RiLTcu NS41MC4yMDEzMDExOC9nZGIvaHBwYS10ZGVwLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMzEw L2dkYi9ocHBhLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3Jp Zy9nZGIvaHBwYS10ZGVwLmMJMjAxMy0wMS0xOCAyMzozNjo1OS45NjYyOTAzOTIgKzAxMDAKLSsr KyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9ocHBhLXRkZXAuYwkyMDEzLTAxLTE4IDIzOjM3OjQ0 LjIyODM1MTM3MCArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAzMTAub3JpZy9nZGIvaHBwYS10 ZGVwLmMJMjAxMy0wMy0wMSAxNjozODoyNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUw LjIwMTMwMzEwL2dkYi9ocHBhLXRkZXAuYwkyMDEzLTAzLTEwIDE2OjQ0OjQyLjExOTU5OTg0MiAr MDEwMAogQEAgLTk2MSw3ICs5NjEsNyBAQCBocHBhNjRfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3Qg Z2RiYXJjaCAqCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbaV07CkBA IC00NjMsMTAgKzQ2MywxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvaHBwYS10 ZGVwLmMKICAgIGludCByZWdudW0sIG9mZnNldDsKICAKICAgIGlmIChsZW4gPiAxNikKLUluZGV4 OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9pMzg2LWRhcndpbi10ZGVwLmMKK0luZGV4OiBnZGIt Ny41LjUwLjIwMTMwMzEwL2dkYi9pMzg2LWRhcndpbi10ZGVwLmMKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2kzODYtZGFyd2luLXRkZXAuYwkyMDEzLTAxLTE4 IDIzOjM2OjU5Ljk2NzI5MDM5NCArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2kz ODYtZGFyd2luLXRkZXAuYwkyMDEzLTAxLTE4IDIzOjM3OjEyLjQ3MzMwNzU4NiArMDEwMAorLS0t IGdkYi03LjUuNTAuMjAxMzAzMTAub3JpZy9nZGIvaTM4Ni1kYXJ3aW4tdGRlcC5jCTIwMTMtMDIt MTIgMjA6MDM6NTQuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDMxMC9nZGIv aTM4Ni1kYXJ3aW4tdGRlcC5jCTIwMTMtMDMtMTAgMTY6NDQ6NDIuMTE5NTk5ODQyICswMTAwCiBA QCAtMTY2LDcgKzE2Niw3IEBAIGkzODZfZGFyd2luX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdk YmEKICAKICAgIGZvciAod3JpdGVfcGFzcyA9IDA7IHdyaXRlX3Bhc3MgPCAyOyB3cml0ZV9wYXNz KyspCkBAIC00NzYsMTAgKzQ3NiwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIv aTM4Ni1kYXJ3aW4tdGRlcC5jCiAgICAgICAgaW50IG51bV9tMTI4ID0gMDsKICAKICAgICAgICBp ZiAoc3RydWN0X3JldHVybikKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9pMzg2LXRk ZXAuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAzMTAvZ2RiL2kzODYtdGRlcC5jCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9pMzg2LXRkZXAuYwkyMDEzLTAx LTE4IDIzOjM2OjU5Ljk2OTI5MDM5OCArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2Ri L2kzODYtdGRlcC5jCTIwMTMtMDEtMTggMjM6Mzc6MTIuNDc1MzA3NTg5ICswMTAwCistLS0gZ2Ri LTcuNS41MC4yMDEzMDMxMC5vcmlnL2dkYi9pMzg2LXRkZXAuYwkyMDEzLTAzLTEwIDE2OjE2OjIz LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAzMTAvZ2RiL2kzODYtdGRlcC5j CTIwMTMtMDMtMTAgMTY6NDQ6NDIuMTIwNTk5ODQyICswMTAwCiBAQCAtMjQwNyw3ICsyNDA3LDcg QEAgaTM4Nl9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZAogICAgZ2RiX2J5dGUg YnVmWzRdOwogICAgaW50IGk7CkBAIC01NDMsMTAgKzU0MywxMCBAQCBJbmRleDogZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvaTM4Ni10ZGVwLmMKICAKICAgIGlmIChpMzg2X2ZwX3JlZ251bV9wIChn ZXRfZnJhbWVfYXJjaCAoZnJhbWUpLCByZWdudW0pKQogICAgICB7Ci1JbmRleDogZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvaWE2NC10ZGVwLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMzEwL2dk Yi9pYTY0LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9n ZGIvaWE2NC10ZGVwLmMJMjAxMy0wMS0xOCAyMzozNjo1OS45NzAyOTA0MDAgKzAxMDAKLSsrKyBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi9pYTY0LXRkZXAuYwkyMDEzLTAxLTE4IDIzOjM3OjEyLjQ3 NjMwNzU4OSArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAzMTAub3JpZy9nZGIvaWE2NC10ZGVw LmMJMjAxMy0wMy0xMCAxNjoxNjoyMy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIw MTMwMzEwL2dkYi9pYTY0LXRkZXAuYwkyMDEzLTAzLTEwIDE2OjQ0OjQyLjEyMTU5OTg0MyArMDEw MAogQEAgLTM5NzQsOCArMzk3NCwxMCBAQCBpYTY0X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdk YmFyY2ggKmdkCiAgICBpbnQgYXJnbm87CiAgICBzdHJ1Y3QgdmFsdWUgKmFyZzsKQEAgLTU2MCwx MCArNTYwLDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9pYTY0LXRkZXAuYwog ICAgaW50IGZsb2F0cmVnOwogICAgVUxPTkdFU1QgYnNwOwogICAgQ09SRV9BRERSIGZ1bmNkZXNj YWRkciwgcGMsIGdsb2JhbF9wb2ludGVyOwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2Ri L2lxMjAwMC10ZGVwLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMzEwL2dkYi9pcTIwMDAtdGRl cC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9pcTIwMDAt dGRlcC5jCTIwMTMtMDEtMTggMjM6MzY6NTkuOTcwMjkwNDAwICswMTAwCi0rKysgZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvaXEyMDAwLXRkZXAuYwkyMDEzLTAxLTE4IDIzOjM3OjEyLjQ3NjMwNzU4 OSArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAzMTAub3JpZy9nZGIvaXEyMDAwLXRkZXAuYwky MDEzLTAzLTAxIDE2OjM4OjI1LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAz MTAvZ2RiL2lxMjAwMC10ZGVwLmMJMjAxMy0wMy0xMCAxNjo0NDo0Mi4xMjE1OTk4NDMgKzAxMDAK IEBAIC02NTQsOCArNjU0LDkgQEAgaXEyMDAwX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFy Y2ggKgogICAgY29uc3QgYmZkX2J5dGUgKnZhbDsKICAgIGJmZF9ieXRlIGJ1Zls0XTsKQEAgLTU3 NiwxMCArNTc2LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9pcTIwMDAtdGRl cC5jCiAgICAvKiBVc2VkIHRvIGNvcHkgc3RydWN0IGFyZ3VtZW50cyBpbnRvIHRoZSBzdGFjay4g ICovCiAgICBDT1JFX0FERFIgc3RydWN0X3B0cjsKICAKLUluZGV4OiBnZGItNy41LjUwLjIwMTMw MTE4L2dkYi9tMzJyLXRkZXAuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAzMTAvZ2RiL20zMnIt dGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9tMzJy LXRkZXAuYwkyMDEzLTAxLTE4IDIzOjM2OjU5Ljk3MTI5MDQwMiArMDEwMAotKysrIGdkYi03LjUu NTAuMjAxMzAxMTgvZ2RiL20zMnItdGRlcC5jCTIwMTMtMDEtMTggMjM6Mzc6MTIuNDc2MzA3NTg5 ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDMxMC5vcmlnL2dkYi9tMzJyLXRkZXAuYwkyMDEz LTAxLTAxIDA3OjMyOjQ2LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAzMTAv Z2RiL20zMnItdGRlcC5jCTIwMTMtMDMtMTAgMTY6NDQ6NDIuMTIxNTk5ODQzICswMTAwCiBAQCAt Njk1LDcgKzY5NSw3IEBAIG0zMnJfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2QK ICAgIENPUkVfQUREUiByZWd2YWw7CiAgICBnZGJfYnl0ZSAqdmFsOwpAQCAtNTg5LDEwICs1ODks MTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL20zMnItdGRlcC5jCiAgCiAgICAv KiBGaXJzdCBmb3JjZSBzcCB0byBhIDQtYnl0ZSBhbGlnbm1lbnQuICAqLwogICAgc3AgPSBzcCAm IH4zOwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL202OGstdGRlcC5jCitJbmRleDog Z2RiLTcuNS41MC4yMDEzMDMxMC9nZGIvbTY4ay10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL202OGstdGRlcC5jCTIwMTMtMDEtMTggMjM6MzY6NTku OTcxMjkwNDAyICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvbTY4ay10ZGVwLmMJ MjAxMy0wMS0xOCAyMzozOTowNi40NzQ0NTkwNDEgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMw MzEwLm9yaWcvZ2RiL202OGstdGRlcC5jCTIwMTMtMDEtMDEgMDc6MzI6NDYuMDAwMDAwMDAwICsw MTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDMxMC9nZGIvbTY4ay10ZGVwLmMJMjAxMy0wMy0xMCAx Njo0NDo0Mi4xMjE1OTk4NDMgKzAxMDAKIEBAIC0zODQsNyArMzg0LDcgQEAgbTY4a19yZWdfc3Ry dWN0X3JldHVybl9wIChzdHJ1Y3QgZ2RiYXJjaAogIHsKICAgIHN0cnVjdCBnZGJhcmNoX3RkZXAg KnRkZXAgPSBnZGJhcmNoX3RkZXAgKGdkYmFyY2gpOwpAQCAtNjE1LDEwICs2MTUsMTAgQEAgSW5k ZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL202OGstdGRlcC5jCiAgCiAgICAgICAgLyogTm9u LXNjYWxhcnMgYmlnZ2VyIHRoYW4gNCBieXRlcyBhcmUgbGVmdCBhbGlnbmVkLCBvdGhlcnMgYXJl CiAgCSByaWdodCBhbGlnbmVkLiAgKi8KLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9t ODhrLXRkZXAuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAzMTAvZ2RiL204OGstdGRlcC5jCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9tODhrLXRkZXAuYwky MDEzLTAxLTE4IDIzOjM2OjU5Ljk3MTI5MDQwMiArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAx MTgvZ2RiL204OGstdGRlcC5jCTIwMTMtMDEtMTggMjM6Mzc6MTIuNDc3MzA3NTkwICswMTAwCist LS0gZ2RiLTcuNS41MC4yMDEzMDMxMC5vcmlnL2dkYi9tODhrLXRkZXAuYwkyMDEzLTAxLTAxIDA3 OjMyOjQ3LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAzMTAvZ2RiL204OGst dGRlcC5jCTIwMTMtMDMtMTAgMTY6NDQ6NDIuMTIxNTk5ODQzICswMTAwCiBAQCAtMjYwLDEzICsy NjAsMTMgQEAgbTg4a19zdG9yZV9hcmd1bWVudHMgKHN0cnVjdCByZWdjYWNoZSAqcgogIHsKICAg IHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X3JlZ2NhY2hlX2FyY2ggKHJlZ2NhY2hlKTsK QEAgLTY0NiwxMCArNjQ2LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9tODhr LXRkZXAuYwogIAogICAgICAgIGlmIChtODhrX2luX3JlZ2lzdGVyX3AgKHR5cGUpKQogIAl7Ci1J bmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvbWVwLXRkZXAuYworSW5kZXg6IGdkYi03LjUu NTAuMjAxMzAzMTAvZ2RiL21lcC10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIw MTMwMTE4Lm9yaWcvZ2RiL21lcC10ZGVwLmMJMjAxMy0wMS0xOCAyMzozNjo1OS45NzIyOTA0MDQg KzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9tZXAtdGRlcC5jCTIwMTMtMDEtMTgg MjM6Mzc6MTIuNDc3MzA3NTkwICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDMxMC5vcmlnL2dk Yi9tZXAtdGRlcC5jCTIwMTMtMDMtMDEgMTY6Mzg6MjUuMDAwMDAwMDAwICswMTAwCisrKysgZ2Ri LTcuNS41MC4yMDEzMDMxMC9nZGIvbWVwLXRkZXAuYwkyMDEzLTAzLTEwIDE2OjQ0OjQyLjEyMjU5 OTg0MyArMDEwMAogQEAgLTIyNzksNyArMjI3OSw3IEBAIHB1c2hfbGFyZ2VfYXJndW1lbnRzIChD T1JFX0FERFIgc3AsIGludAogIAogICAgZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykKQEAgLTY1 OSwxMCArNjU5LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9tZXAtdGRlcC5j CiAgCiAgICAgICAgaWYgKGFyZ19sZW4gPiBNRVBfR1BSX1NJWkUpCiAgICAgICAgICB7Ci1JbmRl eDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvbWlwcy10ZGVwLmMKK0luZGV4OiBnZGItNy41LjUw LjIwMTMwMzEwL2dkYi9taXBzLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAx MzAxMTgub3JpZy9nZGIvbWlwcy10ZGVwLmMJMjAxMy0wMS0xOCAyMzozNjo1OS45NzUyOTA0MTQg KzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9taXBzLXRkZXAuYwkyMDEzLTAxLTE4 IDIzOjM3OjEyLjQ3OTMwNzU5OSArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAzMTAub3JpZy9n ZGIvbWlwcy10ZGVwLmMJMjAxMy0wMi0yNCAxMzo1NDowNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBn ZGItNy41LjUwLjIwMTMwMzEwL2dkYi9taXBzLXRkZXAuYwkyMDEzLTAzLTEwIDE2OjQ0OjQyLjEy MzU5OTg0NCArMDEwMAogQEAgLTM5Niw3ICszOTYsNyBAQCBzdGF0aWMgdm9pZAogIG1pcHNfeGZl cl9yZWdpc3RlciAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCByZWdjYWNoZSAqcmVn Y2FjaGUsCiAgCQkgICAgaW50IHJlZ19udW0sIGludCBsZW5ndGgsCkBAIC02ODMsNyArNjgzLDcg QEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL21pcHMtdGRlcC5jCiAgICBpZiAobWlw c19kZWJ1ZyAmJiBvdXQgIT0gTlVMTCkKICAgICAgewogICAgICAgIGludCBpOwotQEAgLTQzNDUs MTMgKzQzNDUsMTMgQEAgbWlwc19lYWJpX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyYwor QEAgLTQzNDYsMTMgKzQzNDYsMTMgQEAgbWlwc19lYWJpX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0 IGdkYmFyYwogICAgICAgIGdkYl9ieXRlIHZhbGJ1ZltNQVhfUkVHSVNURVJfU0laRV07CiAgICAg ICAgc3RydWN0IHZhbHVlICphcmcgPSBhcmdzW2FyZ251bV07CiAgICAgICAgc3RydWN0IHR5cGUg KmFyZ190eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJnKSk7CkBAIC03MDAsNyAr NzAwLDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL21pcHMtdGRlcC5jCiAgCiAg ICAgICAgLyogRnVuY3Rpb24gcG9pbnRlciBhcmd1bWVudHMgdG8gbWlwczE2IGNvZGUgbmVlZCB0 byBiZSBtYWRlIGludG8KICAgICAgICAgICBtaXBzMTYgcG9pbnRlcnMuICAqLwotQEAgLTQ2MzYs NyArNDYzNiw3IEBAIG1pcHNfZWFiaV9yZXR1cm5fdmFsdWUgKHN0cnVjdCBnZGJhcmNoICoKK0BA IC00NjM3LDcgKzQ2MzcsNyBAQCBtaXBzX2VhYmlfcmV0dXJuX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJj aCAqCiAgCiAgc3RhdGljIGludAogIG1pcHNfbjMybjY0X2ZwX2FyZ19jaHVua19wIChzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHR5cGUgKmFyZ190eXBlLApAQCAtNzA5LDcgKzcwOSw3 IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9taXBzLXRkZXAuYwogIHsKICAgIGlu dCBpOwogIAotQEAgLTQ2NTEsNyArNDY1MSw3IEBAIG1pcHNfbjMybjY0X2ZwX2FyZ19jaHVua19w IChzdHJ1Y3QgZ2RiYXIKK0BAIC00NjUyLDcgKzQ2NTIsNyBAQCBtaXBzX24zMm42NF9mcF9hcmdf Y2h1bmtfcCAoc3RydWN0IGdkYmFyCiAgCiAgICBmb3IgKGkgPSAwOyBpIDwgVFlQRV9ORklFTERT IChhcmdfdHlwZSk7IGkrKykKICAgICAgewpAQCAtNzE4LDcgKzcxOCw3IEBAIEluZGV4OiBnZGIt Ny41LjUwLjIwMTMwMTE4L2dkYi9taXBzLXRkZXAuYwogICAgICAgIHN0cnVjdCB0eXBlICpmaWVs ZF90eXBlOwogIAogICAgICAgIC8qIFdlJ3JlIG9ubHkgbG9va2luZyBhdCBub3JtYWwgZmllbGRz LiAgKi8KLUBAIC00NjkzLDcgKzQ2OTMsNyBAQCBtaXBzX24zMm42NF9wdXNoX2R1bW15X2NhbGwg KHN0cnVjdCBnZGJhCitAQCAtNDY5NCw3ICs0Njk0LDcgQEAgbWlwc19uMzJuNjRfcHVzaF9kdW1t eV9jYWxsIChzdHJ1Y3QgZ2RiYQogICAgaW50IGFyZ3JlZzsKICAgIGludCBmbG9hdF9hcmdyZWc7 CiAgICBpbnQgYXJnbnVtOwpAQCAtNzI3LDcgKzcyNyw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIw MTMwMTE4L2dkYi9taXBzLXRkZXAuYwogICAgaW50IHN0YWNrX29mZnNldCA9IDA7CiAgICBlbnVt IGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7CiAg ICBDT1JFX0FERFIgZnVuY19hZGRyID0gZmluZF9mdW5jdGlvbl9hZGRyIChmdW5jdGlvbiwgTlVM TCk7Ci1AQCAtNTA0NCwxMSArNTA0NCwxMSBAQCBtaXBzX24zMm42NF9yZXR1cm5fdmFsdWUgKHN0 cnVjdCBnZGJhcmNoCitAQCAtNTA0NSwxMSArNTA0NSwxMSBAQCBtaXBzX24zMm42NF9yZXR1cm5f dmFsdWUgKHN0cnVjdCBnZGJhcmNoCiAgCQkJCTogTUlQU19WMF9SRUdOVU0pOwogIAkgICBmaWVs ZCA8IFRZUEVfTkZJRUxEUyAodHlwZSk7IGZpZWxkKyssIHJlZ251bSArPSAyKQogIAl7CkBAIC03 NDMsNyArNzQzLDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL21pcHMtdGRlcC5j CiAgCSAgaWYgKFRZUEVfTEVOR1RIIChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsIGZpZWxkKSkgPT0g MTYpCiAgCSAgICB7CiAgCSAgICAgIC8qIEEgMTYtYnl0ZSBsb25nIGRvdWJsZSBmaWVsZCBnb2Vz IGluIHR3byBjb25zZWN1dGl2ZQotQEAgLTUwOTAsOCArNTA5MCw4IEBAIG1pcHNfbjMybjY0X3Jl dHVybl92YWx1ZSAoc3RydWN0IGdkYmFyY2gKK0BAIC01MDkxLDggKzUwOTEsOCBAQCBtaXBzX24z Mm42NF9yZXR1cm5fdmFsdWUgKHN0cnVjdCBnZGJhcmNoCiAgCSAgaWYgKG9mZnNldCArIHhmZXIg PiBUWVBFX0xFTkdUSCAodHlwZSkpCiAgCSAgICB4ZmVyID0gVFlQRV9MRU5HVEggKHR5cGUpIC0g b2Zmc2V0OwogIAkgIGlmIChtaXBzX2RlYnVnKQpAQCAtNzU0LDcgKzc1NCw3IEBAIEluZGV4OiBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi9taXBzLXRkZXAuYwogIAkgIG1pcHNfeGZlcl9yZWdpc3Rl ciAoZ2RiYXJjaCwgcmVnY2FjaGUsCiAgCQkJICAgICAgZ2RiYXJjaF9udW1fcmVncyAoZ2RiYXJj aCkgKyByZWdudW0sCiAgCQkJICAgICAgeGZlciwgQkZEX0VORElBTl9VTktOT1dOLCByZWFkYnVm LCB3cml0ZWJ1ZiwKLUBAIC01MTQ5LDcgKzUxNDksNyBAQCBtaXBzX28zMl9wdXNoX2R1bW15X2Nh bGwgKHN0cnVjdCBnZGJhcmNoCitAQCAtNTE1MCw3ICs1MTUwLDcgQEAgbWlwc19vMzJfcHVzaF9k dW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaAogICAgaW50IGFyZ3JlZzsKICAgIGludCBmbG9hdF9h cmdyZWc7CiAgICBpbnQgYXJnbnVtOwpAQCAtNzYzLDcgKzc2Myw3IEBAIEluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi9taXBzLXRkZXAuYwogICAgaW50IHN0YWNrX29mZnNldCA9IDA7CiAg ICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJj aCk7CiAgICBDT1JFX0FERFIgZnVuY19hZGRyID0gZmluZF9mdW5jdGlvbl9hZGRyIChmdW5jdGlv biwgTlVMTCk7Ci1AQCAtNTIxMywxMyArNTIxMywxMyBAQCBtaXBzX28zMl9wdXNoX2R1bW15X2Nh bGwgKHN0cnVjdCBnZGJhcmNoCitAQCAtNTIxNCwxMyArNTIxNCwxMyBAQCBtaXBzX28zMl9wdXNo X2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoCiAgICAgICAgY29uc3QgZ2RiX2J5dGUgKnZhbDsK ICAgICAgICBzdHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbYXJnbnVtXTsKICAgICAgICBzdHJ1Y3Qg dHlwZSAqYXJnX3R5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcpKTsKQEAgLTc4 MCw3ICs3ODAsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvbWlwcy10ZGVwLmMK ICAKICAgICAgICB2YWwgPSB2YWx1ZV9jb250ZW50cyAoYXJnKTsKICAKLUBAIC01Njc3LDggKzU2 NzcsOCBAQCBtaXBzX282NF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoCitAQCAtNTY3 OCw4ICs1Njc4LDggQEAgbWlwc19vNjRfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaAog ICAgaW50IGFyZ3JlZzsKICAgIGludCBmbG9hdF9hcmdyZWc7CiAgICBpbnQgYXJnbnVtOwpAQCAt NzkxLDcgKzc5MSw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9taXBzLXRkZXAu YwogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdk YmFyY2gpOwogICAgQ09SRV9BRERSIGZ1bmNfYWRkciA9IGZpbmRfZnVuY3Rpb25fYWRkciAoZnVu Y3Rpb24sIE5VTEwpOwogIAotQEAgLTU3MzksMTMgKzU3MzksMTMgQEAgbWlwc19vNjRfcHVzaF9k dW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaAorQEAgLTU3NDAsMTMgKzU3NDAsMTMgQEAgbWlwc19v NjRfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaAogICAgICAgIGdkYl9ieXRlIHZhbGJ1 ZltNQVhfUkVHSVNURVJfU0laRV07CiAgICAgICAgc3RydWN0IHZhbHVlICphcmcgPSBhcmdzW2Fy Z251bV07CiAgICAgICAgc3RydWN0IHR5cGUgKmFyZ190eXBlID0gY2hlY2tfdHlwZWRlZiAodmFs dWVfdHlwZSAoYXJnKSk7CkBAIC04MDgsMTAgKzgwOCwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4y MDEzMDExOC9nZGIvbWlwcy10ZGVwLmMKICAKICAgICAgICB2YWwgPSB2YWx1ZV9jb250ZW50cyAo YXJnKTsKICAKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9tbjEwMzAwLXRkZXAuYwor SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAzMTAvZ2RiL21uMTAzMDAtdGRlcC5jCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9tbjEwMzAwLXRkZXAuYwkyMDEzLTAx LTE4IDIzOjM2OjU5Ljk3NjI5MDQxNiArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2Ri L21uMTAzMDAtdGRlcC5jCTIwMTMtMDEtMTggMjM6Mzc6MTIuNDc5MzA3NTk5ICswMTAwCistLS0g Z2RiLTcuNS41MC4yMDEzMDMxMC5vcmlnL2dkYi9tbjEwMzAwLXRkZXAuYwkyMDEzLTAzLTAxIDE2 OjM4OjI1LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAzMTAvZ2RiL21uMTAz MDAtdGRlcC5jCTIwMTMtMDMtMTAgMTY6NDQ6NDIuMTIzNTk5ODQ0ICswMTAwCiBAQCAtMTIyOCw3 ICsxMjI4LDcgQEAgbW4xMDMwMF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoCiAgICBl bnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7 CiAgICBjb25zdCBpbnQgcHVzaF9zaXplID0gcmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCwgRV9QQ19S RUdOVU0pOwpAQCAtODIxLDEwICs4MjEsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgv Z2RiL21uMTAzMDAtdGRlcC5jCiAgICBpbnQgc3RhY2tfb2Zmc2V0ID0gMDsKICAgIGludCBhcmdu dW07CiAgICBjaGFyICp2YWwsIHZhbGJ1ZltNQVhfUkVHSVNURVJfU0laRV07Ci1JbmRleDogZ2Ri LTcuNS41MC4yMDEzMDExOC9nZGIvbXQtdGRlcC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDMx MC9nZGIvbXQtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmln L2dkYi9tdC10ZGVwLmMJMjAxMy0wMS0xOCAyMzozNjo1OS45NzYyOTA0MTYgKzAxMDAKLSsrKyBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi9tdC10ZGVwLmMJMjAxMy0wMS0xOCAyMzozNzoxMi40Nzkz MDc1OTkgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMzEwLm9yaWcvZ2RiL210LXRkZXAuYwky MDEzLTAxLTAxIDA3OjMyOjQ3LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAz MTAvZ2RiL210LXRkZXAuYwkyMDEzLTAzLTEwIDE2OjQ0OjQyLjEyNDU5OTg0NCArMDEwMAogQEAg LTc4Myw5ICs3ODMsOSBAQCBtdF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJh CiAgICBnZGJfYnl0ZSBidWZbTVRfTUFYX1NUUlVDVF9TSVpFXTsKICAgIGludCBhcmdyZWcgPSBN VF8xU1RfQVJHUkVHOwpAQCAtODM3LDEwICs4MzcsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAxMTgvZ2RiL210LXRkZXAuYwogICAgaW50IGksIGo7CiAgCiAgICAvKiBGaXJzdCBoYW5kbGUg aG93ZXZlciBtYW55IGFyZ3Mgd2UgY2FuIGZpdCBpbnRvIE1UXzFTVF9BUkdSRUcgdGhydQotSW5k ZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3BwYy1zeXN2LXRkZXAuYworSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAzMTAvZ2RiL3BwYy1zeXN2LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvcHBjLXN5c3YtdGRlcC5jCTIwMTMtMDEtMTggMjM6MzY6 NTkuOTc3MjkwNDE3ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcHBjLXN5c3Yt dGRlcC5jCTIwMTMtMDEtMTggMjM6Mzc6MTIuNDgwMzA3NjAyICswMTAwCistLS0gZ2RiLTcuNS41 MC4yMDEzMDMxMC5vcmlnL2dkYi9wcGMtc3lzdi10ZGVwLmMJMjAxMy0wMS0yMyAyMTowMzoxOC4w MDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMzEwL2dkYi9wcGMtc3lzdi10ZGVw LmMJMjAxMy0wMy0xMCAxNjo0NDo0Mi4xMjQ1OTk4NDQgKzAxMDAKIEBAIC02OCw3ICs2OCw3IEBA IHBwY19zeXN2X2FiaV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGIKICAgIGVudW0gYmZkX2Vu ZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgIGludCBv cGVuY2xfYWJpID0gcHBjX3N5c3ZfdXNlX29wZW5jbF9hYmkgKHZhbHVlX3R5cGUgKGZ1bmN0aW9u KSk7CkBAIC04OTcsMTAgKzg5NywxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIv cHBjLXN5c3YtdGRlcC5jCiAgCQkgIGlmIChsZW4gPCB0ZGVwLT53b3Jkc2l6ZSkKICAJCSAgICB3 cml0ZV9tZW1vcnkgKGdwYXJhbSArIHRkZXAtPndvcmRzaXplIC0gbGVuLCB2YWwsIGxlbik7CiAg CQkgIGVsc2UKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9ybDc4LXRkZXAuYworSW5k ZXg6IGdkYi03LjUuNTAuMjAxMzAzMTAvZ2RiL3JsNzgtdGRlcC5jCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9ybDc4LXRkZXAuYwkyMDEzLTAxLTE4IDIzOjM2 OjU5Ljk3NzI5MDQxNyArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3JsNzgtdGRl cC5jCTIwMTMtMDEtMTggMjM6Mzc6MTIuNDgwMzA3NjAyICswMTAwCistLS0gZ2RiLTcuNS41MC4y MDEzMDMxMC5vcmlnL2dkYi9ybDc4LXRkZXAuYwkyMDEzLTAxLTAxIDA3OjMyOjUwLjAwMDAwMDAw MCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAzMTAvZ2RiL3JsNzgtdGRlcC5jCTIwMTMtMDMt MTAgMTY6NDQ6NDIuMTI0NTk5ODQ0ICswMTAwCiBAQCAtMTAxOSw4ICsxMDE5LDggQEAgcmw3OF9w dXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZAogICAgZm9yIChpID0gbmFyZ3MgLSAx OyBpID49IDA7IGktLSkKICAgICAgewpAQCAtOTEyLDEwICs5MTIsMTAgQEAgSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL3JsNzgtdGRlcC5jCiAgCiAgICAgICAgc3AgLT0gY29udGFpbmVy X2xlbjsKICAgICAgICB3cml0ZV9tZW1vcnkgKHJsNzhfbWFrZV9kYXRhX2FkZHJlc3MgKHNwKSwK LUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9yczYwMDAtYWl4LXRkZXAuYworSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAzMTAvZ2RiL3JzNjAwMC1haXgtdGRlcC5jCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9yczYwMDAtYWl4LXRkZXAuYwkyMDEzLTAx LTE4IDIzOjM2OjU5Ljk3ODI5MDQxOCArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2Ri L3JzNjAwMC1haXgtdGRlcC5jCTIwMTMtMDEtMTggMjM6Mzc6MTIuNDgwMzA3NjAyICswMTAwCist LS0gZ2RiLTcuNS41MC4yMDEzMDMxMC5vcmlnL2dkYi9yczYwMDAtYWl4LXRkZXAuYwkyMDEzLTAx LTAxIDA3OjMyOjUwLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAzMTAvZ2Ri L3JzNjAwMC1haXgtdGRlcC5jCTIwMTMtMDMtMTAgMTY6NDQ6NDIuMTI1NTk5ODQ1ICswMTAwCiBA QCAtMTk4LDkgKzE5OCw5IEBAIHJzNjAwMF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNo ICoKICAgIHN0cnVjdCBnZGJhcmNoX3RkZXAgKnRkZXAgPSBnZGJhcmNoX3RkZXAgKGdkYmFyY2gp OwogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdk YmFyY2gpOwpAQCAtOTM3LDEwICs5MzcsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgv Z2RiL3JzNjAwMC1haXgtdGRlcC5jCiAgCiAgICAgICAgaWYgKGFyZ2J5dGVzKQogIAl7Ci1JbmRl eDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvczM5MC10ZGVwLmMKK0luZGV4OiBnZGItNy41LjUw LjIwMTMwMzEwL2dkYi9zMzkwLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAx MzAxMTgub3JpZy9nZGIvczM5MC10ZGVwLmMJMjAxMy0wMS0xOCAyMzozNjo1OS45NzkyOTA0MjAg KzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9zMzkwLXRkZXAuYwkyMDEzLTAxLTE4 IDIzOjM3OjEyLjQ4MDMwNzYwMiArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAzMTAub3JpZy9n ZGIvczM5MC10ZGVwLmMJMjAxMy0wMS0wMSAwNzozMjo1MC4wMDAwMDAwMDAgKzAxMDAKKysrKyBn ZGItNy41LjUwLjIwMTMwMzEwL2dkYi9zMzkwLXRkZXAuYwkyMDEzLTAzLTEwIDE2OjQ0OjQyLjEy NTU5OTg0NSArMDEwMAogQEAgLTI0ODIsNyArMjQ4Miw3IEBAIGlzX2Zsb2F0X2xpa2UgKHN0cnVj dCB0eXBlICp0eXBlKQogIAogIApAQCAtOTU5LDEwICs5NTksMTAgQEAgSW5kZXg6IGdkYi03LjUu NTAuMjAxMzAxMTgvZ2RiL3MzOTAtdGRlcC5jCiAgCiAgCWlmIChzMzkwX2Z1bmN0aW9uX2FyZ19w YXNzX2J5X3JlZmVyZW5jZSAodHlwZSkpCiAgCSAgewotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAx MTgvZ2RiL3Njb3JlLXRkZXAuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAzMTAvZ2RiL3Njb3Jl LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvc2Nv cmUtdGRlcC5jCTIwMTMtMDEtMTggMjM6MzY6NTkuOTc5MjkwNDIwICswMTAwCi0rKysgZ2RiLTcu NS41MC4yMDEzMDExOC9nZGIvc2NvcmUtdGRlcC5jCTIwMTMtMDEtMTggMjM6Mzc6MTIuNDgxMzA3 NjA0ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDMxMC5vcmlnL2dkYi9zY29yZS10ZGVwLmMJ MjAxMy0wMy0wMSAxNjozODoyNi4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMw MzEwL2dkYi9zY29yZS10ZGVwLmMJMjAxMy0wMy0xMCAxNjo0NDo0Mi4xMjU1OTk4NDUgKzAxMDAK IEBAIC01MTUsNyArNTE1LDcgQEAgc2NvcmVfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJj aCAqZwogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIg KGdkYmFyY2gpOwogICAgaW50IGFyZ251bTsKQEAgLTk3MiwxMCArOTcyLDEwIEBAIEluZGV4OiBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi9zY29yZS10ZGVwLmMKICAgIENPUkVfQUREUiBzdGFja19v ZmZzZXQgPSAwOwogICAgQ09SRV9BRERSIGFkZHIgPSAwOwogIAotSW5kZXg6IGdkYi03LjUuNTAu MjAxMzAxMTgvZ2RiL3NoLXRkZXAuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAzMTAvZ2RiL3No LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvc2gt dGRlcC5jCTIwMTMtMDEtMTggMjM6MzY6NTkuOTgwMjkwNDIzICswMTAwCi0rKysgZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvc2gtdGRlcC5jCTIwMTMtMDEtMTggMjM6Mzc6MTIuNDgxMzA3NjA0ICsw MTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDMxMC5vcmlnL2dkYi9zaC10ZGVwLmMJMjAxMy0wMS0w MSAwNzozMjo1MC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMzEwL2dkYi9z aC10ZGVwLmMJMjAxMy0wMy0xMCAxNjo0NDo0Mi4xMjY1OTk4NDUgKzAxMDAKIEBAIC04MDcsNyAr ODA3LDcgQEAgc2hfc2tpcF9wcm9sb2d1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyYwogIHN0YXRp YyBpbnQKICBzaF91c2Vfc3RydWN0X2NvbnZlbnRpb24gKGludCByZW5lc2FzX2FiaSwgc3RydWN0 IHR5cGUgKnR5cGUpCkBAIC0xMDE0LDEwICsxMDE0LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIw MTMwMTE4L2dkYi9zaC10ZGVwLmMKICAgIGludCBwYXNzX29uX3N0YWNrID0gMDsKICAgIGludCBs YXN0X3JlZ19hcmcgPSBJTlRfTUFYOwogIAotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2Ri L3NoNjQtdGRlcC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDMxMC9nZGIvc2g2NC10ZGVwLmMK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL3NoNjQtdGRlcC5j CTIwMTMtMDEtMTggMjM6MzY6NTkuOTgwMjkwNDIzICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEz MDExOC9nZGIvc2g2NC10ZGVwLmMJMjAxMy0wMS0xOCAyMzozNzoxMi40ODIzMDc2MDYgKzAxMDAK Ky0tLSBnZGItNy41LjUwLjIwMTMwMzEwLm9yaWcvZ2RiL3NoNjQtdGRlcC5jCTIwMTMtMDMtMDEg MTY6Mzg6MjYuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDMxMC9nZGIvc2g2 NC10ZGVwLmMJMjAxMy0wMy0xMCAxNjo0NDo0Mi4xMjY1OTk4NDUgKzAxMDAKIEBAIC0xMDU4LDcg KzEwNTgsNyBAQCBzaDY0X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkCiAgCQkg ICAgICBDT1JFX0FERFIgc3RydWN0X2FkZHIpCiAgewpAQCAtMTAzNiwxMCArMTAzNiwxMCBAQCBJ bmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc2g2NC10ZGVwLmMKICAgIGludCBhcmdyZWdf c2l6ZTsKICAgIGludCBmcF9hcmdzWzEyXTsKICAKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi9zcGFyYy10ZGVwLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMzEwL2dkYi9zcGFyYy10 ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL3NwYXJj LXRkZXAuYwkyMDEzLTAxLTE4IDIzOjM2OjU5Ljk4MTI5MDQyNyArMDEwMAotKysrIGdkYi03LjUu NTAuMjAxMzAxMTgvZ2RiL3NwYXJjLXRkZXAuYwkyMDEzLTAxLTE4IDIzOjM3OjEyLjQ4MjMwNzYw NiArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAzMTAub3JpZy9nZGIvc3BhcmMtdGRlcC5jCTIw MTMtMDMtMTAgMTY6NDQ6MzMuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDMx MC9nZGIvc3BhcmMtdGRlcC5jCTIwMTMtMDMtMTAgMTY6NDQ6NDIuMTI3NTk5ODQ2ICswMTAwCiBA QCAtNDcxLDcgKzQ3MSw3IEBAIHNwYXJjMzJfc3RvcmVfYXJndW1lbnRzIChzdHJ1Y3QgcmVnY2Fj aGUKICAgIGZvciAoaSA9IDA7IGkgPCBuYXJnczsgaSsrKQogICAgICB7CkBAIC0xMDQ5LDEwICsx MDQ5LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9zcGFyYy10ZGVwLmMKICAK ICAgICAgICBpZiAoc3BhcmNfc3RydWN0dXJlX29yX3VuaW9uX3AgKHR5cGUpCiAgCSAgfHwgKHNw YXJjX2Zsb2F0aW5nX3AgKHR5cGUpICYmIGxlbiA9PSAxNikKLUluZGV4OiBnZGItNy41LjUwLjIw MTMwMTE4L2dkYi9zcGFyYzY0LXRkZXAuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAzMTAvZ2Ri L3NwYXJjNjQtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmln L2dkYi9zcGFyYzY0LXRkZXAuYwkyMDEzLTAxLTE4IDIzOjM2OjU5Ljk4MjI5MDQzMCArMDEwMAot KysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3NwYXJjNjQtdGRlcC5jCTIwMTMtMDEtMTggMjM6 Mzc6MTIuNDgyMzA3NjA2ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDMxMC5vcmlnL2dkYi9z cGFyYzY0LXRkZXAuYwkyMDEzLTAxLTAxIDA3OjMyOjUxLjAwMDAwMDAwMCArMDEwMAorKysrIGdk Yi03LjUuNTAuMjAxMzAzMTAvZ2RiL3NwYXJjNjQtdGRlcC5jCTIwMTMtMDMtMTAgMTY6NDQ6NDIu MTI3NTk5ODQ2ICswMTAwCiBAQCAtNjM5LDcgKzYzOSw4IEBAIHNwYXJjNjRfMTZfYnl0ZV9hbGln bl9wIChzdHJ1Y3QgdHlwZSAqdHkKICAKICBzdGF0aWMgdm9pZApAQCAtMTEwOCwxMCArMTEwOCwx MCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc3BhcmM2NC10ZGVwLmMKICAgICAg ICBpbnQgcmVnbnVtID0gLTE7CiAgICAgICAgZ2RiX2J5dGUgYnVmWzE2XTsKICAKLUluZGV4OiBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi9zcHUtdGRlcC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEz MDMxMC9nZGIvc3B1LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgu b3JpZy9nZGIvc3B1LXRkZXAuYwkyMDEzLTAxLTE4IDIzOjM2OjU5Ljk4MjI5MDQzMCArMDEwMAot KysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3NwdS10ZGVwLmMJMjAxMy0wMS0xOCAyMzozNzox Mi40ODMzMDc2MDcgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMzEwLm9yaWcvZ2RiL3NwdS10 ZGVwLmMJMjAxMy0wMS0wMSAwNzozMjo1MS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUw LjIwMTMwMzEwL2dkYi9zcHUtdGRlcC5jCTIwMTMtMDMtMTAgMTY6NDQ6NDIuMTI3NTk5ODQ2ICsw MTAwCiBAQCAtMTM3Myw3ICsxMzczLDcgQEAgc3B1X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdk YmFyY2ggKmdkYgogICAgICAgIHN0cnVjdCB2YWx1ZSAqYXJnID0gYXJnc1tpXTsKICAgICAgICBz dHJ1Y3QgdHlwZSAqdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKGFyZykpOwpAQCAt MTEzMCwxMCArMTEzMCwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc3B1LXRk ZXAuYwogIAkgIGludCBwcmVmZXJyZWRfc2xvdDsKICAJICAKICAJICBpZiAoc3B1X3NjYWxhcl92 YWx1ZV9wICh0eXBlKSkKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90aWM2eC10ZGVw LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMzEwL2dkYi90aWM2eC10ZGVwLmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL3RpYzZ4LXRkZXAuYwkyMDEzLTAx LTE4IDIzOjM2OjU5Ljk4MzI5MDQzMiArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2Ri L3RpYzZ4LXRkZXAuYwkyMDEzLTAxLTE4IDIzOjM5OjI3Ljc3MDQ4NDUxNiArMDEwMAorLS0tIGdk Yi03LjUuNTAuMjAxMzAzMTAub3JpZy9nZGIvdGljNngtdGRlcC5jCTIwMTMtMDMtMDEgMTY6Mzg6 MjcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDMxMC9nZGIvdGljNngtdGRl cC5jCTIwMTMtMDMtMTAgMTY6NDQ6NDIuMTI4NTk5ODQ2ICswMTAwCiBAQCAtODk2LDcgKzg5Niw3 IEBAIHRpYzZ4X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmcKICAgIGludCBhcmdy ZWcgPSAwOwogICAgaW50IGFyZ251bTsKQEAgLTExNzEsMjQgKzExNzEsMjQgQEAgSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL3RpYzZ4LXRkZXAuYwogIAogIAkgIGFkZHIgPSBzcCArIHN0 YWNrX29mZnNldDsKICAJICB3cml0ZV9tZW1vcnkgKGFkZHIsIHZhbCwgbGVuKTsKLUluZGV4OiBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi90aWxlZ3gtdGRlcC5jCitJbmRleDogZ2RiLTcuNS41MC4y MDEzMDMxMC9nZGIvdGlsZWd4LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAx MzAxMTgub3JpZy9nZGIvdGlsZWd4LXRkZXAuYwkyMDEzLTAxLTE4IDIzOjM2OjU5Ljk4MzI5MDQz MiArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3RpbGVneC10ZGVwLmMJMjAxMy0w MS0xOCAyMzozNzoxMi40ODMzMDc2MDcgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMzEwLm9y aWcvZ2RiL3RpbGVneC10ZGVwLmMJMjAxMy0wMy0wMiAwMjozNDo0MC4wMDAwMDAwMDAgKzAxMDAK KysrKyBnZGItNy41LjUwLjIwMTMwMzEwL2dkYi90aWxlZ3gtdGRlcC5jCTIwMTMtMDMtMTAgMTY6 NDU6MzEuODU3NjI5MTAwICswMTAwCiBAQCAtMjkxLDcgKzI5MSw3IEBAIHRpbGVneF9wdXNoX2R1 bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICoKICAgIENPUkVfQUREUiBzdGFja19kZXN0ID0gc3A7 CiAgICBpbnQgYXJncmVnID0gVElMRUdYX1IwX1JFR05VTTsKICAgIGludCBpLCBqOwogLSAgaW50 IHR5cGVsZW4sIHNsYWNrbGVuLCBhbGlnbmxlbjsKICsgIExPTkdFU1QgdHlwZWxlbiwgc2xhY2ts ZW4sIGFsaWdubGVuOwotICAgc3RhdGljIGNvbnN0IGdkYl9ieXRlIHR3b196ZXJvX3dvcmRzWzhd ID0geyAwIH07CisgICBzdGF0aWMgY29uc3QgZ2RiX2J5dGUgZm91cl96ZXJvX3dvcmRzWzE2XSA9 IHsgMCB9OwogIAogICAgLyogSWYgc3RydWN0X3JldHVybiBpcyAxLCB0aGVuIHRoZSBzdHJ1Y3Qg cmV0dXJuIGFkZHJlc3Mgd2lsbAotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3Y4NTAt dGRlcC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDMxMC9nZGIvdjg1MC10ZGVwLmMKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL3Y4NTAtdGRlcC5jCTIwMTMt MDEtMTggMjM6MzY6NTkuOTg0MjkwNDM0ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9n ZGIvdjg1MC10ZGVwLmMJMjAxMy0wMS0xOCAyMzozNzoxMi40ODQzMDc2MDggKzAxMDAKLUBAIC04 MDgsNyArODA4LDcgQEAgdjg1MF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZAor LS0tIGdkYi03LjUuNTAuMjAxMzAzMTAub3JpZy9nZGIvdjg1MC10ZGVwLmMJMjAxMy0wMy0wMiAx OToyNjozMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMzEwL2dkYi92ODUw LXRkZXAuYwkyMDEzLTAzLTEwIDE2OjQ0OjQyLjEyODU5OTg0NiArMDEwMAorQEAgLTgxNyw3ICs4 MTcsNyBAQCB2ODUwX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkCiAgICBlbnVt IGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7CiAg ICBpbnQgYXJncmVnOwogICAgaW50IGFyZ251bTsKQEAgLTExOTcsNyArMTE5Nyw3IEBAIEluZGV4 OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92ODUwLXRkZXAuYwogICAgaW50IHN0YWNrX29mZnNl dDsKICAKICAgIC8qIFRoZSBvZmZzZXQgb250byB0aGUgc3RhY2sgYXQgd2hpY2ggd2Ugd2lsbCBz dGFydCBjb3B5aW5nIHBhcmFtZXRlcnMKLUBAIC04MzMsNyArODMzLDcgQEAgdjg1MF9wdXNoX2R1 bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZAorQEAgLTg0Miw3ICs4NDIsNyBAQCB2ODUwX3B1 c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkCiAgICAgICBpbiBmb3VyIHJlZ2lzdGVy cyBhdmFpbGFibGUuICBMb29wIHRocnUgYXJncyBmcm9tIGZpcnN0IHRvIGxhc3QuICAqLwogICAg Zm9yIChhcmdudW0gPSAwOyBhcmdudW0gPCBuYXJnczsgYXJnbnVtKyspCiAgICAgIHsKQEAgLTEy MDYsMTAgKzEyMDYsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3Y4NTAtdGRl cC5jCiAgICAgICAgZ2RiX2J5dGUgKnZhbDsKICAgICAgICBnZGJfYnl0ZSB2YWxidWZbdjg1MF9y ZWdfc2l6ZV07CiAgCi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmF4LXRkZXAuYwor SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAzMTAvZ2RiL3ZheC10ZGVwLmMKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL3ZheC10ZGVwLmMJMjAxMy0wMS0xOCAyMzoz Njo1OS45ODQyOTA0MzQgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YXgtdGRl cC5jCTIwMTMtMDEtMTggMjM6Mzc6MTIuNDg0MzA3NjA4ICswMTAwCistLS0gZ2RiLTcuNS41MC4y MDEzMDMxMC5vcmlnL2dkYi92YXgtdGRlcC5jCTIwMTMtMDMtMTAgMTY6NDQ6MzQuMDAwMDAwMDAw ICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDMxMC9nZGIvdmF4LXRkZXAuYwkyMDEzLTAzLTEw IDE2OjQ0OjQyLjEyODU5OTg0NiArMDEwMAogQEAgLTExNSw3ICsxMTUsNyBAQCB2YXhfc3RvcmVf YXJndW1lbnRzIChzdHJ1Y3QgcmVnY2FjaGUgKnJlCiAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCA9IGdldF9yZWdjYWNoZV9hcmNoIChyZWdjYWNoZSk7CiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0 ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7CkBAIC0xMjI4LDEwICsxMjI4 LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YXgtdGRlcC5jCiAgCiAgICAg ICAgc3AgLT0gKGxlbiArIDMpICYgfjM7CiAgICAgICAgY291bnQgKz0gKGxlbiArIDMpIC8gNDsK LUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi94c3Rvcm15MTYtdGRlcC5jCitJbmRleDog Z2RiLTcuNS41MC4yMDEzMDMxMC9nZGIveHN0b3JteTE2LXRkZXAuYwogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIveHN0b3JteTE2LXRkZXAuYwkyMDEzLTAxLTE4 IDIzOjM2OjU5Ljk4NDI5MDQzNCArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3hz dG9ybXkxNi10ZGVwLmMJMjAxMy0wMS0xOCAyMzozNzoxMi40ODQzMDc2MDggKzAxMDAKKy0tLSBn ZGItNy41LjUwLjIwMTMwMzEwLm9yaWcvZ2RiL3hzdG9ybXkxNi10ZGVwLmMJMjAxMy0wMy0wMSAx NjozODoyNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMzEwL2dkYi94c3Rv cm15MTYtdGRlcC5jCTIwMTMtMDMtMTAgMTY6NDY6MDUuODg4NjUzMjAxICswMTAwCiBAQCAtMjM1 LDggKzIzNSw5IEBAIHhzdG9ybXkxNl9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmMKICAg IGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNo KTsKICAgIENPUkVfQUREUiBzdGFja19kZXN0ID0gc3A7CkBAIC0xMjQyLDEyICsxMjQyLDEyIEBA IEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi94c3Rvcm15MTYtdGRlcC5jCiArICBMT05H RVNUIGo7CiArICBMT05HRVNUIHR5cGVsZW47CiAgICBjb25zdCBnZGJfYnl0ZSAqdmFsOwotICAg Y2hhciBidWZbeHN0b3JteTE2X3BjX3NpemVdOworICAgZ2RiX2J5dGUgYnVmW3hzdG9ybXkxNl9w Y19zaXplXTsKICAKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi94dGVuc2EtdGRlcC5j CitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDMxMC9nZGIveHRlbnNhLXRkZXAuYwogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIveHRlbnNhLXRkZXAuYwkyMDEzLTAx LTE4IDIzOjM2OjU5Ljk4NTI5MDQzNiArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2Ri L3h0ZW5zYS10ZGVwLmMJMjAxMy0wMS0xOCAyMzozNzoxMi40ODQzMDc2MDggKzAxMDAKKy0tLSBn ZGItNy41LjUwLjIwMTMwMzEwLm9yaWcvZ2RiL3h0ZW5zYS10ZGVwLmMJMjAxMy0wMS0wMSAwNzo0 MToyOS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMzEwL2dkYi94dGVuc2Et dGRlcC5jCTIwMTMtMDMtMTAgMTY6NDQ6NDIuMTI5NTk5ODQ3ICswMTAwCiBAQCAtMTY1Myw4ICsx NjUzLDcgQEAgeHRlbnNhX3N0b3JlX3JldHVybl92YWx1ZSAoc3RydWN0IHR5cGUgKgogIAogICAg ICAgIGlmIChsZW4gPiAoY2FsbHNpemUgPiA4ID8gOCA6IDE2KSkKCmRpZmYgLS1naXQgYS9nZGIu c3BlYyBiL2dkYi5zcGVjCmluZGV4IDI5MTM2ZDEuLjdkNGViMzggMTAwNjQ0Ci0tLSBhL2dkYi5z cGVjCisrKyBiL2dkYi5zcGVjCkBAIC0yNywxNCArMjcsMTQgQEAKIFN1bW1hcnk6IEEgR05VIHNv dXJjZS1sZXZlbCBkZWJ1Z2dlciBmb3IgQywgQysrLCBGb3J0cmFuLCBHbyBhbmQgb3RoZXIgbGFu Z3VhZ2VzCiBOYW1lOiAlez9zY2xfcHJlZml4fWdkYgogCi0lZ2xvYmFsIHNuYXAgICAgICAgMjAx MzAyMTUKKyVnbG9iYWwgc25hcCAgICAgICAyMDEzMDMxMAogIyBTZWUgdGltZXN0YW1wIG9mIHNv dXJjZSBnbnVsaWIgaW5zdGFsbGVkIGludG8gZ2RiL2dudWxpYi8gLgogJWdsb2JhbCBzbmFwZ251 bGliIDIwMTIxMjEzCi1WZXJzaW9uOiA3LjUuNTAuMjAxMzAyMTUKK1ZlcnNpb246IDcuNS41MC4y MDEzMDMxMAogCiAjIFRoZSByZWxlYXNlIGFsd2F5cyBjb250YWlucyBhIGxlYWRpbmcgcmVzZXJ2 ZWQgbnVtYmVyLCBzdGFydCBpdCBhdCAxLgogIyBgdXBzdHJlYW0nIGlzIG5vdCBhIHBhcnQgb2Yg YG5hbWUnIHRvIHN0YXkgZnVsbHkgcnBtIGRlcGVuZGVuY2llcyBjb21wYXRpYmxlIGZvciB0aGUg dGVzdGluZy4KLVJlbGVhc2U6IDklez9kaXN0fQorUmVsZWFzZTogMTAlez9kaXN0fQogCiBMaWNl bnNlOiBHUEx2MysgYW5kIEdQTHYzKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTHYyKyBhbmQgR1BM djIrIHdpdGggZXhjZXB0aW9ucyBhbmQgR1BMKyBhbmQgTEdQTHYyKyBhbmQgQlNEIGFuZCBQdWJs aWMgRG9tYWluCiBHcm91cDogRGV2ZWxvcG1lbnQvRGVidWdnZXJzCkBAIC01NTcsNiArNTU3LDEx IEBAIFBhdGNoODE2OiBnZGItcmhiejc5NTQyNC1iaXRwb3MtMjVvZjI1LnBhdGNoCiBQYXRjaDgx NzogZ2RiLXJoYno3OTU0MjQtYml0cG9zLTI1b2YyNS10ZXN0LnBhdGNoCiBQYXRjaDgxODogZ2Ri LXJoYno3OTU0MjQtYml0cG9zLWxhenl2YWx1ZS5wYXRjaAogCisjIEZpeCB2YXJpb3VzIGVudHJ5 LXZhbHVlcyBzdWItb3B0aW1hbCByZXN1bHRzLgorIyA9cHVzaAorUGF0Y2g4MjU6IGdkYi1lbnRy eXZhbC0xb2YyLnBhdGNoCitQYXRjaDgyNjogZ2RiLWVudHJ5dmFsLTJvZjIucGF0Y2gKKwogJWlm IDAleyE/cmhlbDoxfSB8fCAwJXs/cmhlbH0gPiA2CiAjIFJMX1NUQVRFX0ZFRE9SQV9HREIgd291 bGQgbm90IGJlIGZvdW5kIGZvcjoKICMgUGF0Y2g2NDI6IGdkYi1yZWFkbGluZTYyLWFzay1tb3Jl LXJoLnBhdGNoCkBAIC04NjksNiArODc0LDggQEAgZmluZCAtbmFtZSAiKi5pbmZvKiJ8eGFyZ3Mg cm0gLWYKICVwYXRjaDgxNiAtcDEKICVwYXRjaDgxNyAtcDEKICVwYXRjaDgxOCAtcDEKKyVwYXRj aDgyNSAtcDEKKyVwYXRjaDgyNiAtcDEKIAogJXBhdGNoMzkzIC1wMQogJWlmIDAleyE/ZWw1OjF9 IHx8IDAlez9zY2w6MX0KQEAgLTEzNzAsNiArMTM3NywxMCBAQCBmaQogJWVuZGlmICMgMCV7IT9l bDU6MX0gfHwgIiV7X3RhcmdldF9jcHV9IiA9PSAibm9hcmNoIgogCiAlY2hhbmdlbG9nCisqIFN1 biBNYXIgMTAgMjAxMyBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4g LSA3LjUuNTAuMjAxMzAzMTAtMTAuZmMxOQorLSBSZWJhc2UgdG8gRlNGIEdEQiA3LjUuNTAuMjAx MzAzMTAgKHByZS03LjYgc25hcHNob3QpLgorLSBGaXggdmFyaW91cyBlbnRyeS12YWx1ZXMgc3Vi LW9wdGltYWwgcmVzdWx0cy4KKwogKiBNb24gRmViIDI1IDIwMTMgSmFuIEtyYXRvY2h2aWwgPGph bi5rcmF0b2NodmlsQHJlZGhhdC5jb20+IC0gNy41LjUwLjIwMTMwMjE1LTkuZmMxOQogLSB0ZXN0 c3VpdGU6IEZpeCBnZGIuYXJjaC9wb3dlcnBjLXBvd2VyNi5leHAgdGVzdGNhc2UgKElCTSwgUkgg QlogODkwOTAwKS4KIAoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IDJhNzgy ZmUuLmU3YTRjNWMgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSwyICsx LDIgQEAKIDQ5ODEzMDdhYTk2MTliYmVjNWI3MzI2MWU0ZTQxYzhkICBnZGItbGlic3RkYysrLXYz LXB5dGhvbi1yMTU1OTc4LnRhci5iejIKLThkNGQ1YmFmMDZhY2Y3Yzk1MjExMzAyZWZmZmIxNmFk ICBnZGItNy41LjUwLjIwMTMwMjE1LnRhci5iejIKK2Q5NzY5NDg2ZmJhMTc4OWU2MDk2ODViZTBh MzgzYjg4ICBnZGItNy41LjUwLjIwMTMwMzEwLnRhci5iejIK