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: Tomas Mraz To: git-commits@fedoraproject.org Subject: [rpms/openssl] rebase_40beta: update to the 1.1.1f release Date: Tue, 09 Jun 2026 12:44:42 GMT Message-ID: <178100908222.1.8954649870919796874.rpms-openssl-5004ccfb250b@fedoraproject.org> List-ID: X-Git-Repo: rpms/openssl X-Git-Branch: rebase_40beta X-Git-Rev: 5004ccfb250b6b8e6e1ac40ee91433090dc19366 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvb3BlbnNzbApCcmFu Y2ggOiByZWJhc2VfNDBiZXRhCkNvbW1pdCA6IDUwMDRjY2ZiMjUwYjZiOGU2ZTFhYzQwZWU5MTQz MzA5MGRjMTkzNjYKQXV0aG9yIDogVG9tYXMgTXJheiA8dG1yYXpAZmVkb3JhcHJvamVjdC5vcmc+ CkRhdGUgICA6IDIwMjAtMDQtMDdUMTY6NTA6NTMrMDI6MDAKU3RhdHMgIDogKzcxNi8tMTYwIGlu IDkgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL29w ZW5zc2wvYy81MDA0Y2NmYjI1MGI2YjhlNmUxYWM0MGVlOTE0MzMwOTBkYzE5MzY2P2JyYW5jaD1y ZWJhc2VfNDBiZXRhCgpMb2c6CnVwZGF0ZSB0byB0aGUgMS4xLjFmIHJlbGVhc2UKCi0tLQpkaWZm IC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUKaW5kZXggZDdkNzE2Ny4uZjQyZmJmMCAx MDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8uZ2l0aWdub3JlCkBAIC00NiwzICs0Niw0IEBA IG9wZW5zc2wtMS4wLjBhLXVzYS50YXIuYnoyCiAvb3BlbnNzbC0xLjEuMWMtaG9iYmxlZC50YXIu eHoKIC9vcGVuc3NsLTEuMS4xZC1ob2JibGVkLnRhci54egogL29wZW5zc2wtMS4xLjFlLWhvYmJs ZWQudGFyLnh6Cisvb3BlbnNzbC0xLjEuMWYtaG9iYmxlZC50YXIueHoKCmRpZmYgLS1naXQgYS9v cGVuc3NsLTEuMS4xLWJ1aWxkLnBhdGNoIGIvb3BlbnNzbC0xLjEuMS1idWlsZC5wYXRjaAppbmRl eCBjZmUyMGY2Li5jMGVmNjJiIDEwMDY0NAotLS0gYS9vcGVuc3NsLTEuMS4xLWJ1aWxkLnBhdGNo CisrKyBiL29wZW5zc2wtMS4xLjEtYnVpbGQucGF0Y2gKQEAgLTEsMjggKzEsNyBAQAotZGlmZiAt dXAgb3BlbnNzbC0xLjEuMS1wcmU4L0NvbmZpZ3VyYXRpb25zL3VuaXgtTWFrZWZpbGUudG1wbC5i dWlsZCBvcGVuc3NsLTEuMS4xLXByZTgvQ29uZmlndXJhdGlvbnMvdW5peC1NYWtlZmlsZS50bXBs Ci0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4L0NvbmZpZ3VyYXRpb25zL3VuaXgtTWFrZWZpbGUudG1w bC5idWlsZAkyMDE4LTA2LTIwIDE2OjQ4OjA5LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wt MS4xLjEtcHJlOC9Db25maWd1cmF0aW9ucy91bml4LU1ha2VmaWxlLnRtcGwJMjAxOC0wNy0xNiAx NzoxNTozOC4xMDg4MzEwMzEgKzAyMDAKLUBAIC02ODAsNyArNjgwLDcgQEAgdW5pbnN0YWxsX3J1 bnRpbWU6Ci0gaW5zdGFsbF9tYW5fZG9jczoKLSAJQFsgLW4gIiQoSU5TVEFMTFRPUCkiIF0gfHwg KGVjaG8gSU5TVEFMTFRPUCBzaG91bGQgbm90IGJlIGVtcHR5OyBleGl0IDEpCi0gCUAkKEVDSE8p ICIqKiogSW5zdGFsbGluZyBtYW5wYWdlcyIKLS0JJChQRVJMKSAkKFNSQ0RJUikvdXRpbC9wcm9j ZXNzX2RvY3MucGwgXAotKwlUWj1VVEMgJChQRVJMKSAkKFNSQ0RJUikvdXRpbC9wcm9jZXNzX2Rv Y3MucGwgXAotIAkJLS1kZXN0ZGlyPSQoREVTVERJUikkKE1BTkRJUikgLS10eXBlPW1hbiAtLXN1 ZmZpeD0kKE1BTlNVRkZJWCkKLSAKLSB1bmluc3RhbGxfbWFuX2RvY3M6Ci1AQCAtNjkyLDcgKzY5 Miw3IEBAIHVuaW5zdGFsbF9tYW5fZG9jczoKLSBpbnN0YWxsX2h0bWxfZG9jczoKLSAJQFsgLW4g IiQoSU5TVEFMTFRPUCkiIF0gfHwgKGVjaG8gSU5TVEFMTFRPUCBzaG91bGQgbm90IGJlIGVtcHR5 OyBleGl0IDEpCi0gCUAkKEVDSE8pICIqKiogSW5zdGFsbGluZyBIVE1MIG1hbnBhZ2VzIgotLQkk KFBFUkwpICQoU1JDRElSKS91dGlsL3Byb2Nlc3NfZG9jcy5wbCBcCi0rCVRaPVVUQyAkKFBFUkwp ICQoU1JDRElSKS91dGlsL3Byb2Nlc3NfZG9jcy5wbCBcCi0gCQktLWRlc3RkaXI9JChERVNURElS KSQoSFRNTERJUikgLS10eXBlPWh0bWwKLSAKLSB1bmluc3RhbGxfaHRtbF9kb2NzOgotZGlmZiAt dXAgb3BlbnNzbC0xLjEuMS1wcmU4L0NvbmZpZ3VyYXRpb25zLzEwLW1haW4uY29uZi5idWlsZCBv cGVuc3NsLTEuMS4xLXByZTgvQ29uZmlndXJhdGlvbnMvMTAtbWFpbi5jb25mCi0tLS0gb3BlbnNz bC0xLjEuMS1wcmU4L0NvbmZpZ3VyYXRpb25zLzEwLW1haW4uY29uZi5idWlsZAkyMDE4LTA2LTIw IDE2OjQ4OjA5LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC9Db25maWd1 cmF0aW9ucy8xMC1tYWluLmNvbmYJMjAxOC0wNy0xNiAxNzoxNzoxMC4zMTIwNDUyMDMgKzAyMDAK LUBAIC02OTMsNiArNjkzLDcgQEAgbXkgJXRhcmdldHMgPSAoCitkaWZmIC11cCBvcGVuc3NsLTEu MS4xZi9Db25maWd1cmF0aW9ucy8xMC1tYWluLmNvbmYuYnVpbGQgb3BlbnNzbC0xLjEuMWYvQ29u ZmlndXJhdGlvbnMvMTAtbWFpbi5jb25mCistLS0gb3BlbnNzbC0xLjEuMWYvQ29uZmlndXJhdGlv bnMvMTAtbWFpbi5jb25mLmJ1aWxkCTIwMjAtMDMtMzEgMTQ6MTc6NDUuMDAwMDAwMDAwICswMjAw CisrKysgb3BlbnNzbC0xLjEuMWYvQ29uZmlndXJhdGlvbnMvMTAtbWFpbi5jb25mCTIwMjAtMDQt MDcgMTY6NDI6MTAuOTIwNTQ2Mzg3ICswMjAwCitAQCAtNjc4LDYgKzY3OCw3IEBAIG15ICV0YXJn ZXRzID0gKAogICAgICAgICAgY3h4ZmxhZ3MgICAgICAgICA9PiBhZGQoIi1tNjQiKSwKICAgICAg ICAgIGxpYl9jcHBmbGFncyAgICAgPT4gYWRkKCItRExfRU5ESUFOIiksCiAgICAgICAgICBwZXJs YXNtX3NjaGVtZSAgID0+ICJsaW51eDY0bGUiLApAQCAtMzAsNyArOSw3IEBAIGRpZmYgLXVwIG9w ZW5zc2wtMS4xLjEtcHJlOC9Db25maWd1cmF0aW9ucy8xMC1tYWluLmNvbmYuYnVpbGQgb3BlbnNz bC0xLjEuMS1wcmU4CiAgICAgIH0sCiAgCiAgICAgICJsaW51eC1hcm12NCIgPT4gewotQEAgLTcz Myw2ICs3MzQsNyBAQCBteSAldGFyZ2V0cyA9ICgKK0BAIC03MTgsNiArNzE5LDcgQEAgbXkgJXRh cmdldHMgPSAoCiAgICAgICJsaW51eC1hYXJjaDY0IiA9PiB7CiAgICAgICAgICBpbmhlcml0X2Zy b20gICAgID0+IFsgImxpbnV4LWdlbmVyaWM2NCIsIGFzbSgiYWFyY2g2NF9hc20iKSBdLAogICAg ICAgICAgcGVybGFzbV9zY2hlbWUgICA9PiAibGludXg2NCIsCkBAIC0zOCwzICsxNywyNCBAQCBk aWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvQ29uZmlndXJhdGlvbnMvMTAtbWFpbi5jb25mLmJ1 aWxkIG9wZW5zc2wtMS4xLjEtcHJlOAogICAgICB9LAogICAgICAibGludXgtYXJtNjRpbHAzMiIg PT4geyAgIyBodHRwczovL3dpa2kubGluYXJvLm9yZy9QbGF0Zm9ybS9hcm02NC1pbHAzMgogICAg ICAgICAgaW5oZXJpdF9mcm9tICAgICA9PiBbICJsaW51eC1nZW5lcmljMzIiLCBhc20oImFhcmNo NjRfYXNtIikgXSwKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFmL0NvbmZpZ3VyYXRpb25zL3VuaXgt TWFrZWZpbGUudG1wbC5idWlsZCBvcGVuc3NsLTEuMS4xZi9Db25maWd1cmF0aW9ucy91bml4LU1h a2VmaWxlLnRtcGwKKy0tLSBvcGVuc3NsLTEuMS4xZi9Db25maWd1cmF0aW9ucy91bml4LU1ha2Vm aWxlLnRtcGwuYnVpbGQJMjAyMC0wNC0wNyAxNjo0MjoxMC45MjA1NDYzODcgKzAyMDAKKysrKyBv cGVuc3NsLTEuMS4xZi9Db25maWd1cmF0aW9ucy91bml4LU1ha2VmaWxlLnRtcGwJMjAyMC0wNC0w NyAxNjo0NDoyMy41MzkxNDIxMDggKzAyMDAKK0BAIC04MjMsNyArODIzLDcgQEAgdW5pbnN0YWxs X3J1bnRpbWVfbGliczoKKyBpbnN0YWxsX21hbl9kb2NzOgorIAlAWyAtbiAiJChJTlNUQUxMVE9Q KSIgXSB8fCAoZWNobyBJTlNUQUxMVE9QIHNob3VsZCBub3QgYmUgZW1wdHk7IGV4aXQgMSkKKyAJ QCQoRUNITykgIioqKiBJbnN0YWxsaW5nIG1hbnBhZ2VzIgorLQkkKFBFUkwpICQoU1JDRElSKS91 dGlsL3Byb2Nlc3NfZG9jcy5wbCBcCisrCVRaPVVUQyAkKFBFUkwpICQoU1JDRElSKS91dGlsL3By b2Nlc3NfZG9jcy5wbCBcCisgCQkiLS1kZXN0ZGlyPSQoREVTVERJUikkKE1BTkRJUikiIC0tdHlw ZT1tYW4gLS1zdWZmaXg9JChNQU5TVUZGSVgpCisgCisgdW5pbnN0YWxsX21hbl9kb2NzOgorQEAg LTgzNSw3ICs4MzUsNyBAQCB1bmluc3RhbGxfbWFuX2RvY3M6CisgaW5zdGFsbF9odG1sX2RvY3M6 CisgCUBbIC1uICIkKElOU1RBTExUT1ApIiBdIHx8IChlY2hvIElOU1RBTExUT1Agc2hvdWxkIG5v dCBiZSBlbXB0eTsgZXhpdCAxKQorIAlAJChFQ0hPKSAiKioqIEluc3RhbGxpbmcgSFRNTCBtYW5w YWdlcyIKKy0JJChQRVJMKSAkKFNSQ0RJUikvdXRpbC9wcm9jZXNzX2RvY3MucGwgXAorKwlUWj1V VEMgJChQRVJMKSAkKFNSQ0RJUikvdXRpbC9wcm9jZXNzX2RvY3MucGwgXAorIAkJIi0tZGVzdGRp cj0kKERFU1RESVIpJChIVE1MRElSKSIgLS10eXBlPWh0bWwKKyAKKyB1bmluc3RhbGxfaHRtbF9k b2NzOgoKZGlmZiAtLWdpdCBhL29wZW5zc2wtMS4xLjEtZW9mLWVycm9yLXJldmVydC5wYXRjaCBi L29wZW5zc2wtMS4xLjEtZW9mLWVycm9yLXJldmVydC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggY2ZiMGQ2ZC4uMDAwMDAwMAotLS0gYS9vcGVuc3NsLTEuMS4xLWVvZi1lcnJv ci1yZXZlcnQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMDEgKzAsMCBAQAotZGlmZiAtdXAg b3BlbnNzbC0xLjEuMWUvQ0hBTkdFUy5lb2YtcmV2ZXJ0IG9wZW5zc2wtMS4xLjFlL0NIQU5HRVMK LS0tLSBvcGVuc3NsLTEuMS4xZS9DSEFOR0VTLmVvZi1yZXZlcnQJMjAyMC0wMy0yNiAxNTowNzo0 Mi4xMjM2Mjg3MzYgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMS4xZS9DSEFOR0VTCTIwMjAtMDMtMjYg MTU6MTA6MTMuMzA5NzMzMDI0ICswMTAwCi1AQCAtOCw3ICs4LDggQEAKLSAgcmVsZWFzZSBicmFu Y2guCi0gCi0gIENoYW5nZXMgYmV0d2VlbiAxLjEuMWQgYW5kIDEuMS4xZSBbMTcgTWFyIDIwMjBd Ci0tICAqKSBQcm9wZXJseSBkZXRlY3QgRU9GIHdoaWxlIHJlYWRpbmcgaW4gbGlic3NsLiBQcmV2 aW91c2x5IGlmIHdlIGhpdCBhbiBFT0YKLSsgICopICoqKiogUkVWRVJURUQgb24gMS4xLjEgYnJh bmNoIGFmdGVyIDEuMS4xZSByZWxlYXNlICoqKioKLSsgICAgIFByb3Blcmx5IGRldGVjdCBFT0Yg d2hpbGUgcmVhZGluZyBpbiBsaWJzc2wuIFByZXZpb3VzbHkgaWYgd2UgaGl0IGFuIEVPRgotICAg ICAgd2hpbGUgcmVhZGluZyBpbiBsaWJzc2wgdGhlbiB3ZSB3b3VsZCByZXBvcnQgYW4gZXJyb3Ig YmFjayB0byB0aGUKLSAgICAgIGFwcGxpY2F0aW9uIChTU0xfRVJST1JfU1lTQ0FMTCkgYnV0IGVy cm5vIHdvdWxkIGJlIDAuIFdlIG5vdyBhZGQKLSAgICAgIGFuIGVycm9yIHRvIHRoZSBzdGFjayAo d2hpY2ggbWVhbnMgd2UgaW5zdGVhZCByZXR1cm4gU1NMX0VSUk9SX1NTTCkgYW5kCi1kaWZmIC11 cCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZXJyL29wZW5zc2wudHh0LmVvZi1yZXZlcnQgb3BlbnNz bC0xLjEuMWUvY3J5cHRvL2Vyci9vcGVuc3NsLnR4dAotLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0 by9lcnIvb3BlbnNzbC50eHQuZW9mLXJldmVydAkyMDIwLTAzLTI2IDE1OjA3OjQyLjA4NTYyOTQ2 NCArMDEwMAotKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9lcnIvb3BlbnNzbC50eHQJMjAyMC0w My0yNiAxNTowNzo0Mi4xMjQ2Mjg3MTcgKzAxMDAKLUBAIC0yOTAxLDcgKzI5MDEsNiBAQCBTU0xf Ul9VTkFCTEVfVE9fTE9BRF9TU0wzX01ENV9ST1VUSU5FUzoyCi0gU1NMX1JfVU5BQkxFX1RPX0xP QURfU1NMM19TSEExX1JPVVRJTkVTOjI0Mzp1bmFibGUgdG8gbG9hZCBzc2wzIHNoYTEgcm91dGlu ZXMKLSBTU0xfUl9VTkVYUEVDVEVEX0NDU19NRVNTQUdFOjI2Mjp1bmV4cGVjdGVkIGNjcyBtZXNz YWdlCi0gU1NMX1JfVU5FWFBFQ1RFRF9FTkRfT0ZfRUFSTFlfREFUQToxNzg6dW5leHBlY3RlZCBl bmQgb2YgZWFybHkgZGF0YQotLVNTTF9SX1VORVhQRUNURURfRU9GX1dISUxFX1JFQURJTkc6Mjk0 OnVuZXhwZWN0ZWQgZW9mIHdoaWxlIHJlYWRpbmcKLSBTU0xfUl9VTkVYUEVDVEVEX01FU1NBR0U6 MjQ0OnVuZXhwZWN0ZWQgbWVzc2FnZQotIFNTTF9SX1VORVhQRUNURURfUkVDT1JEOjI0NTp1bmV4 cGVjdGVkIHJlY29yZAotIFNTTF9SX1VOSU5JVElBTElaRUQ6Mjc2OnVuaW5pdGlhbGl6ZWQKLWRp ZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2RvYy9tYW4zL1NTTF9nZXRfZXJyb3IucG9kLmVvZi1yZXZl cnQgb3BlbnNzbC0xLjEuMWUvZG9jL21hbjMvU1NMX2dldF9lcnJvci5wb2QKLS0tLSBvcGVuc3Ns LTEuMS4xZS9kb2MvbWFuMy9TU0xfZ2V0X2Vycm9yLnBvZC5lb2YtcmV2ZXJ0CTIwMjAtMDMtMTcg MTU6MzE6MTcuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjEuMWUvZG9jL21hbjMvU1NM X2dldF9lcnJvci5wb2QJMjAyMC0wMy0yNiAxNTowNzo0Mi4xMjU2Mjg2OTggKzAxMDAKLUBAIC0x NTUsNiArMTU1LDE4IEBAIGNvbm5lY3Rpb24gYW5kIFNTTF9zaHV0ZG93bigpIG11c3Qgbm90IGIK LSAKLSA9YmFjawotIAotKz1oZWFkMSBCVUdTCi0rCi0rVGhlIEI8U1NMX0VSUk9SX1NZU0NBTEw+ IHdpdGggQjxlcnJubz4gdmFsdWUgb2YgMCBpbmRpY2F0ZXMgdW5leHBlY3RlZCBFT0YgZnJvbQot K3RoZSBwZWVyLiBUaGlzIHdpbGwgYmUgcHJvcGVybHkgcmVwb3J0ZWQgYXMgQjxTU0xfRVJST1Jf U1NMPiB3aXRoIHJlYXNvbgotK2NvZGUgQjxTU0xfUl9VTkVYUEVDVEVEX0VPRl9XSElMRV9SRUFE SU5HPiBpbiB0aGUgT3BlblNTTCAzLjAgcmVsZWFzZSBiZWNhdXNlCi0raXQgaXMgdHJ1bHkgYSBU TFMgcHJvdG9jb2wgZXJyb3IgdG8gdGVybWluYXRlIHRoZSBjb25uZWN0aW9uIHdpdGhvdXQKLSth IFNTTF9zaHV0ZG93bigpLgotKwotK1RoZSBpc3N1ZSBpcyBrZXB0IHVuZml4ZWQgaW4gT3BlblNT TCAxLjEuMSByZWxlYXNlcyBiZWNhdXNlIG1hbnkgYXBwbGljYXRpb25zCi0rd2hpY2ggY2hvb3Nl IHRvIGlnbm9yZSB0aGlzIHByb3RvY29sIGVycm9yIGRlcGVuZCBvbiB0aGUgZXhpc3Rpbmcgd2F5 IG9mCi0rcmVwb3J0aW5nIHRoZSBlcnJvci4KLSsKLSA9aGVhZDEgU0VFIEFMU08KLSAKLSBMPHNz bCg3KT4KLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUvb3BlbnNzbC9zc2xlcnIuaC5l b2YtcmV2ZXJ0IG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUvb3BlbnNzbC9zc2xlcnIuaAotLS0tIG9w ZW5zc2wtMS4xLjFlL2luY2x1ZGUvb3BlbnNzbC9zc2xlcnIuaC5lb2YtcmV2ZXJ0CTIwMjAtMDMt MTcgMTU6MzE6MTcuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjEuMWUvaW5jbHVkZS9v cGVuc3NsL3NzbGVyci5oCTIwMjAtMDMtMjYgMTU6MDc6NDIuMTI1NjI4Njk4ICswMTAwCi1AQCAt MSw2ICsxLDYgQEAKLSAvKgotICAqIEdlbmVyYXRlZCBieSB1dGlsL21rZXJyLnBsIERPIE5PVCBF RElUCi0tICogQ29weXJpZ2h0IDE5OTUtMjAyMCBUaGUgT3BlblNTTCBQcm9qZWN0IEF1dGhvcnMu IEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0rICogQ29weXJpZ2h0IDE5OTUtMjAxOSBUaGUgT3BlblNT TCBQcm9qZWN0IEF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gICoKLSAgKiBMaWNlbnNl ZCB1bmRlciB0aGUgT3BlblNTTCBsaWNlbnNlICh0aGUgIkxpY2Vuc2UiKS4gIFlvdSBtYXkgbm90 IHVzZQotICAqIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNl LiAgWW91IGNhbiBvYnRhaW4gYSBjb3B5Ci1AQCAtNzM0LDcgKzczNCw2IEBAIGludCBFUlJfbG9h ZF9TU0xfc3RyaW5ncyh2b2lkKTsKLSAjIGRlZmluZSBTU0xfUl9VTkFCTEVfVE9fTE9BRF9TU0wz X1NIQTFfUk9VVElORVMgICAgICAgICAgMjQzCi0gIyBkZWZpbmUgU1NMX1JfVU5FWFBFQ1RFRF9D Q1NfTUVTU0FHRSAgICAgICAgICAgICAgICAgICAgIDI2MgotICMgZGVmaW5lIFNTTF9SX1VORVhQ RUNURURfRU5EX09GX0VBUkxZX0RBVEEgICAgICAgICAgICAgICAxNzgKLS0jIGRlZmluZSBTU0xf Ul9VTkVYUEVDVEVEX0VPRl9XSElMRV9SRUFESU5HICAgICAgICAgICAgICAgMjk0Ci0gIyBkZWZp bmUgU1NMX1JfVU5FWFBFQ1RFRF9NRVNTQUdFICAgICAgICAgICAgICAgICAgICAgICAgIDI0NAot ICMgZGVmaW5lIFNTTF9SX1VORVhQRUNURURfUkVDT1JEICAgICAgICAgICAgICAgICAgICAgICAg ICAyNDUKLSAjIGRlZmluZSBTU0xfUl9VTklOSVRJQUxJWkVEICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMjc2Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9zc2wvcmVjb3JkL3JlY19sYXll cl9zMy5jLmVvZi1yZXZlcnQgb3BlbnNzbC0xLjEuMWUvc3NsL3JlY29yZC9yZWNfbGF5ZXJfczMu YwotLS0tIG9wZW5zc2wtMS4xLjFlL3NzbC9yZWNvcmQvcmVjX2xheWVyX3MzLmMuZW9mLXJldmVy dAkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4xLjFl L3NzbC9yZWNvcmQvcmVjX2xheWVyX3MzLmMJMjAyMC0wMy0yNiAxNTowNzo0Mi4xMjU2Mjg2OTgg KzAxMDAKLUBAIC0yOTYsMTIgKzI5Niw2IEBAIGludCBzc2wzX3JlYWRfbihTU0wgKnMsIHNpemVf dCBuLCBzaXplX3QKLSAgICAgICAgICAgICByZXQgPSBCSU9fcmVhZChzLT5yYmlvLCBwa3QgKyBs ZW4gKyBsZWZ0LCBtYXggLSBsZWZ0KTsKLSAgICAgICAgICAgICBpZiAocmV0ID49IDApCi0gICAg ICAgICAgICAgICAgIGJpb3JlYWQgPSByZXQ7Ci0tICAgICAgICAgICAgaWYgKHJldCA8PSAwCi0t ICAgICAgICAgICAgICAgICAgICAmJiAhQklPX3Nob3VsZF9yZXRyeShzLT5yYmlvKQotLSAgICAg ICAgICAgICAgICAgICAgJiYgQklPX2VvZihzLT5yYmlvKSkgewotLSAgICAgICAgICAgICAgICBT U0xmYXRhbChzLCBTU0xfQURfREVDT0RFX0VSUk9SLCBTU0xfRl9TU0wzX1JFQURfTiwKLS0gICAg ICAgICAgICAgICAgICAgICAgICAgU1NMX1JfVU5FWFBFQ1RFRF9FT0ZfV0hJTEVfUkVBRElORyk7 Ci0tICAgICAgICAgICAgfQotICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICBTU0xmYXRh bChzLCBTU0xfQURfSU5URVJOQUxfRVJST1IsIFNTTF9GX1NTTDNfUkVBRF9OLAotICAgICAgICAg ICAgICAgICAgICAgIFNTTF9SX1JFQURfQklPX05PVF9TRVQpOwotZGlmZiAtdXAgb3BlbnNzbC0x LjEuMWUvc3NsL3NzbF9lcnIuYy5lb2YtcmV2ZXJ0IG9wZW5zc2wtMS4xLjFlL3NzbC9zc2xfZXJy LmMKLS0tLSBvcGVuc3NsLTEuMS4xZS9zc2wvc3NsX2Vyci5jLmVvZi1yZXZlcnQJMjAyMC0wMy0x NyAxNTozMToxNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMS4xZS9zc2wvc3NsX2Vy ci5jCTIwMjAtMDMtMjYgMTU6MDc6NDIuMTI2NjI4Njc5ICswMTAwCi1AQCAtMSw2ICsxLDYgQEAK LSAvKgotICAqIEdlbmVyYXRlZCBieSB1dGlsL21rZXJyLnBsIERPIE5PVCBFRElUCi0tICogQ29w eXJpZ2h0IDE5OTUtMjAyMCBUaGUgT3BlblNTTCBQcm9qZWN0IEF1dGhvcnMuIEFsbCBSaWdodHMg UmVzZXJ2ZWQuCi0rICogQ29weXJpZ2h0IDE5OTUtMjAxOSBUaGUgT3BlblNTTCBQcm9qZWN0IEF1 dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gICoKLSAgKiBMaWNlbnNlZCB1bmRlciB0aGUg T3BlblNTTCBsaWNlbnNlICh0aGUgIkxpY2Vuc2UiKS4gIFlvdSBtYXkgbm90IHVzZQotICAqIHRo aXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiAgWW91IGNhbiBv YnRhaW4gYSBjb3B5Ci1AQCAtMTIwNSw4ICsxMjA1LDYgQEAgc3RhdGljIGNvbnN0IEVSUl9TVFJJ TkdfREFUQSBTU0xfc3RyX3JlYQotICAgICAidW5leHBlY3RlZCBjY3MgbWVzc2FnZSJ9LAotICAg ICB7RVJSX1BBQ0soRVJSX0xJQl9TU0wsIDAsIFNTTF9SX1VORVhQRUNURURfRU5EX09GX0VBUkxZ X0RBVEEpLAotICAgICAidW5leHBlY3RlZCBlbmQgb2YgZWFybHkgZGF0YSJ9LAotLSAgICB7RVJS X1BBQ0soRVJSX0xJQl9TU0wsIDAsIFNTTF9SX1VORVhQRUNURURfRU9GX1dISUxFX1JFQURJTkcp LAotLSAgICAidW5leHBlY3RlZCBlb2Ygd2hpbGUgcmVhZGluZyJ9LAotICAgICB7RVJSX1BBQ0so RVJSX0xJQl9TU0wsIDAsIFNTTF9SX1VORVhQRUNURURfTUVTU0FHRSksICJ1bmV4cGVjdGVkIG1l c3NhZ2UifSwKLSAgICAge0VSUl9QQUNLKEVSUl9MSUJfU1NMLCAwLCBTU0xfUl9VTkVYUEVDVEVE X1JFQ09SRCksICJ1bmV4cGVjdGVkIHJlY29yZCJ9LAotICAgICB7RVJSX1BBQ0soRVJSX0xJQl9T U0wsIDAsIFNTTF9SX1VOSU5JVElBTElaRUQpLCAidW5pbml0aWFsaXplZCJ9LAoKZGlmZiAtLWdp dCBhL29wZW5zc2wtMS4xLjEtbm8taHRtbC5wYXRjaCBiL29wZW5zc2wtMS4xLjEtbm8taHRtbC5w YXRjaAppbmRleCA2Njg4ZDFjLi5kMGUzMzVlIDEwMDY0NAotLS0gYS9vcGVuc3NsLTEuMS4xLW5v LWh0bWwucGF0Y2gKKysrIGIvb3BlbnNzbC0xLjEuMS1uby1odG1sLnBhdGNoCkBAIC0xLDYgKzEs NiBAQAotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvQ29uZmlndXJhdGlvbnMvdW5peC1NYWtlZmls ZS50bXBsLm5vLWh0bWwgb3BlbnNzbC0xLjEuMWQvQ29uZmlndXJhdGlvbnMvdW5peC1NYWtlZmls ZS50bXBsCi0tLS0gb3BlbnNzbC0xLjEuMWQvQ29uZmlndXJhdGlvbnMvdW5peC1NYWtlZmlsZS50 bXBsLm5vLWh0bWwJMjAxOS0wOS0xMyAxNTowMDozMi45NzY3NzQ2NzMgKzAyMDAKLSsrKyBvcGVu c3NsLTEuMS4xZC9Db25maWd1cmF0aW9ucy91bml4LU1ha2VmaWxlLnRtcGwJMjAxOS0wOS0xMyAx NTowMjoyMi4yODM4NjQzMjEgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFmL0NvbmZpZ3Vy YXRpb25zL3VuaXgtTWFrZWZpbGUudG1wbC5uby1odG1sIG9wZW5zc2wtMS4xLjFmL0NvbmZpZ3Vy YXRpb25zL3VuaXgtTWFrZWZpbGUudG1wbAorLS0tIG9wZW5zc2wtMS4xLjFmL0NvbmZpZ3VyYXRp b25zL3VuaXgtTWFrZWZpbGUudG1wbC5uby1odG1sCTIwMjAtMDQtMDcgMTY6NDU6MjEuOTA0MDgz OTg5ICswMjAwCisrKysgb3BlbnNzbC0xLjEuMWYvQ29uZmlndXJhdGlvbnMvdW5peC1NYWtlZmls ZS50bXBsCTIwMjAtMDQtMDcgMTY6NDU6NTYuMjE4NDYxODk1ICswMjAwCiBAQCAtNTQ0LDcgKzU0 NCw3IEBAIGluc3RhbGxfc3c6IGluc3RhbGxfZGV2IGluc3RhbGxfZW5naW5lcwogIAogIHVuaW5z dGFsbF9zdzogdW5pbnN0YWxsX3J1bnRpbWUgdW5pbnN0YWxsX2VuZ2luZXMgdW5pbnN0YWxsX2Rl dgpAQCAtOSw0ICs5LDQgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvQ29uZmlndXJhdGlvbnMv dW5peC1NYWtlZmlsZS50bXBsLm5vLWh0bWwgb3BlbnNzbC0xLjEuMWQKICtpbnN0YWxsX2RvY3M6 IGluc3RhbGxfbWFuX2RvY3MKICAKICB1bmluc3RhbGxfZG9jczogdW5pbnN0YWxsX21hbl9kb2Nz IHVuaW5zdGFsbF9odG1sX2RvY3MKLSAJJChSTSkgLXIgJChERVNURElSKSQoRE9DRElSKQorIAkk KFJNKSAtciAiJChERVNURElSKSQoRE9DRElSKSIKCmRpZmYgLS1naXQgYS9vcGVuc3NsLTEuMS4x LXJlZ3Jlc3Npb24tZml4ZXMucGF0Y2ggYi9vcGVuc3NsLTEuMS4xLXJlZ3Jlc3Npb24tZml4ZXMu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDExMDk5YTEuLjAwMDAwMDAKLS0t IGEvb3BlbnNzbC0xLjEuMS1yZWdyZXNzaW9uLWZpeGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsMTYgKzAsMCBAQAotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWIvY3J5cHRvL2NvbmYvY29uZl9s aWIuYy5yZWdyZXNzaW9uIG9wZW5zc2wtMS4xLjFiL2NyeXB0by9jb25mL2NvbmZfbGliLmMKLS0t LSBvcGVuc3NsLTEuMS4xYi9jcnlwdG8vY29uZi9jb25mX2xpYi5jLnJlZ3Jlc3Npb24JMjAxOS0w Mi0yNiAxNToxNTozMC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMS4xYi9jcnlwdG8v Y29uZi9jb25mX2xpYi5jCTIwMTktMDUtMTAgMTQ6Mjg6NTcuNzE4MDQ5NDI5ICswMjAwCi1AQCAt MzU2LDggKzM1NiwxMCBAQCBPUEVOU1NMX0lOSVRfU0VUVElOR1MgKk9QRU5TU0xfSU5JVF9uZXco Ci0gewotICAgICBPUEVOU1NMX0lOSVRfU0VUVElOR1MgKnJldCA9IG1hbGxvYyhzaXplb2YoKnJl dCkpOwotIAotLSAgICBpZiAocmV0ICE9IE5VTEwpCi0tICAgICAgICBtZW1zZXQocmV0LCAwLCBz aXplb2YoKnJldCkpOwotKyAgICBpZiAocmV0ID09IE5VTEwpCi0rICAgICAgICByZXR1cm4gTlVM TDsKLSsKLSsgICAgbWVtc2V0KHJldCwgMCwgc2l6ZW9mKCpyZXQpKTsKLSAgICAgcmV0LT5mbGFn cyA9IERFRkFVTFRfQ09ORl9NRkxBR1M7Ci0gCi0gICAgIHJldHVybiByZXQ7CgpkaWZmIC0tZ2l0 IGEvb3BlbnNzbC0xLjEuMS11cHN0cmVhbS1zeW5jLnBhdGNoIGIvb3BlbnNzbC0xLjEuMS11cHN0 cmVhbS1zeW5jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5MDRh MDMKLS0tIC9kZXYvbnVsbAorKysgYi9vcGVuc3NsLTEuMS4xLXVwc3RyZWFtLXN5bmMucGF0Y2gK QEAgLTAsMCArMSw2NzEgQEAKK2RpZmYgLS1naXQgYS9jcnlwdG8vZWMvZWNfYXNuMS5jIGIvY3J5 cHRvL2VjL2VjX2FzbjEuYworaW5kZXggMzM2YWZjOTg5ZC4uODMxYjc0Y2U2YyAxMDA2NDQKKy0t LSBhL2NyeXB0by9lYy9lY19hc24xLmMKKysrKyBiL2NyeXB0by9lYy9lY19hc24xLmMKK0BAIC0x Mjk3LDUgKzEyOTcsNyBAQCBpbnQgRUNEU0Ffc2l6ZShjb25zdCBFQ19LRVkgKnIpCisgICAgIGkg PSBpMmRfQVNOMV9JTlRFR0VSKCZicywgTlVMTCk7CisgICAgIGkgKz0gaTsgICAgICAgICAgICAg ICAgICAgICAvKiByIGFuZCBzICovCisgICAgIHJldCA9IEFTTjFfb2JqZWN0X3NpemUoMSwgaSwg Vl9BU04xX1NFUVVFTkNFKTsKKysgICAgaWYgKHJldCA8IDApCisrICAgICAgICByZXR1cm4gMDsK KyAgICAgcmV0dXJuIHJldDsKKyB9CitkaWZmIC0tZ2l0IGEvY3J5cHRvL2VjL2VjX2xpYi5jIGIv Y3J5cHRvL2VjL2VjX2xpYi5jCitpbmRleCAzNTU0YWRhODI3Li4yMmIwMGUyMDNkIDEwMDY0NAor LS0tIGEvY3J5cHRvL2VjL2VjX2xpYi5jCisrKysgYi9jcnlwdG8vZWMvZWNfbGliLmMKK0BAIC0x MDA3LDE0ICsxMDA3LDE0IEBAIGludCBFQ19QT0lOVHNfbXVsKGNvbnN0IEVDX0dST1VQICpncm91 cCwgRUNfUE9JTlQgKnIsIGNvbnN0IEJJR05VTSAqc2NhbGFyLAorICAgICBzaXplX3QgaSA9IDA7 CisgICAgIEJOX0NUWCAqbmV3X2N0eCA9IE5VTEw7CisgCistICAgIGlmICgoc2NhbGFyID09IE5V TEwpICYmIChudW0gPT0gMCkpIHsKKy0gICAgICAgIHJldHVybiBFQ19QT0lOVF9zZXRfdG9faW5m aW5pdHkoZ3JvdXAsIHIpOworLSAgICB9CistCisgICAgIGlmICghZWNfcG9pbnRfaXNfY29tcGF0 KHIsIGdyb3VwKSkgeworICAgICAgICAgRUNlcnIoRUNfRl9FQ19QT0lOVFNfTVVMLCBFQ19SX0lO Q09NUEFUSUJMRV9PQkpFQ1RTKTsKKyAgICAgICAgIHJldHVybiAwOworICAgICB9CisrCisrICAg IGlmIChzY2FsYXIgPT0gTlVMTCAmJiBudW0gPT0gMCkKKysgICAgICAgIHJldHVybiBFQ19QT0lO VF9zZXRfdG9faW5maW5pdHkoZ3JvdXAsIHIpOworKworICAgICBmb3IgKGkgPSAwOyBpIDwgbnVt OyBpKyspIHsKKyAgICAgICAgIGlmICghZWNfcG9pbnRfaXNfY29tcGF0KHBvaW50c1tpXSwgZ3Jv dXApKSB7CisgICAgICAgICAgICAgRUNlcnIoRUNfRl9FQ19QT0lOVFNfTVVMLCBFQ19SX0lOQ09N UEFUSUJMRV9PQkpFQ1RTKTsKK2RpZmYgLS1naXQgYS9jcnlwdG8vZWMvZWNfbXVsdC5jIGIvY3J5 cHRvL2VjL2VjX211bHQuYworaW5kZXggNzk4MGE2NzI4Mi4uZDJlNDc3MzI3MCAxMDA2NDQKKy0t LSBhL2NyeXB0by9lYy9lY19tdWx0LmMKKysrKyBiL2NyeXB0by9lYy9lY19tdWx0LmMKK0BAIC0y NjAsMTcgKzI2MCwxMCBAQCBpbnQgZWNfc2NhbGFyX211bF9sYWRkZXIoY29uc3QgRUNfR1JPVVAg Kmdyb3VwLCBFQ19QT0lOVCAqciwKKyAgICAgICAgIGdvdG8gZXJyOworICAgICB9CisgCistICAg IC8qLQorLSAgICAgKiBBcHBseSBjb29yZGluYXRlIGJsaW5kaW5nIGZvciBFQ19QT0lOVC4KKy0g ICAgICoKKy0gICAgICogVGhlIHVuZGVybHlpbmcgRUNfTUVUSE9EIGNhbiBvcHRpb25hbGx5IGlt cGxlbWVudCB0aGlzIGZ1bmN0aW9uOgorLSAgICAgKiBlY19wb2ludF9ibGluZF9jb29yZGluYXRl cygpIHJldHVybnMgMCBpbiBjYXNlIG9mIGVycm9ycyBvciAxIG9uCistICAgICAqIHN1Y2Nlc3Mg b3IgaWYgY29vcmRpbmF0ZSBibGluZGluZyBpcyBub3QgaW1wbGVtZW50ZWQgZm9yIHRoaXMKKy0g ICAgICogZ3JvdXAuCistICAgICAqLworLSAgICBpZiAoIWVjX3BvaW50X2JsaW5kX2Nvb3JkaW5h dGVzKGdyb3VwLCBwLCBjdHgpKSB7CistICAgICAgICBFQ2VycihFQ19GX0VDX1NDQUxBUl9NVUxf TEFEREVSLCBFQ19SX1BPSU5UX0NPT1JESU5BVEVTX0JMSU5EX0ZBSUxVUkUpOworLSAgICAgICAg Z290byBlcnI7CisrICAgIC8qIGVuc3VyZSBpbnB1dCBwb2ludCBpcyBpbiBhZmZpbmUgY29vcmRz IGZvciBsYWRkZXIgc3RlcCBlZmZpY2llbmN5ICovCisrICAgIGlmICghcC0+Wl9pc19vbmUgJiYg IUVDX1BPSU5UX21ha2VfYWZmaW5lKGdyb3VwLCBwLCBjdHgpKSB7CisrICAgICAgICAgICAgRUNl cnIoRUNfRl9FQ19TQ0FMQVJfTVVMX0xBRERFUiwgRVJSX1JfRUNfTElCKTsKKysgICAgICAgICAg ICBnb3RvIGVycjsKKyAgICAgfQorIAorICAgICAvKiBJbml0aWFsaXplIHRoZSBNb250Z29tZXJ5 IGxhZGRlciAqLworQEAgLTc0Nyw2ICs3NDAsMjAgQEAgaW50IGVjX3dOQUZfbXVsKGNvbnN0IEVD X0dST1VQICpncm91cCwgRUNfUE9JTlQgKnIsIGNvbnN0IEJJR05VTSAqc2NhbGFyLAorICAgICAg ICAgICAgICAgICAgICAgaWYgKHJfaXNfYXRfaW5maW5pdHkpIHsKKyAgICAgICAgICAgICAgICAg ICAgICAgICBpZiAoIUVDX1BPSU5UX2NvcHkociwgdmFsX3N1YltpXVtkaWdpdCA+PiAxXSkpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyOworKworKyAgICAgICAgICAgICAg ICAgICAgICAgIC8qLQorKyAgICAgICAgICAgICAgICAgICAgICAgICAqIEFwcGx5IGNvb3JkaW5h dGUgYmxpbmRpbmcgZm9yIEVDX1BPSU5ULgorKyAgICAgICAgICAgICAgICAgICAgICAgICAqCisr ICAgICAgICAgICAgICAgICAgICAgICAgICogVGhlIHVuZGVybHlpbmcgRUNfTUVUSE9EIGNhbiBv cHRpb25hbGx5IGltcGxlbWVudCB0aGlzIGZ1bmN0aW9uOgorKyAgICAgICAgICAgICAgICAgICAg ICAgICAqIGVjX3BvaW50X2JsaW5kX2Nvb3JkaW5hdGVzKCkgcmV0dXJucyAwIGluIGNhc2Ugb2Yg ZXJyb3JzIG9yIDEgb24KKysgICAgICAgICAgICAgICAgICAgICAgICAgKiBzdWNjZXNzIG9yIGlm IGNvb3JkaW5hdGUgYmxpbmRpbmcgaXMgbm90IGltcGxlbWVudGVkIGZvciB0aGlzCisrICAgICAg ICAgICAgICAgICAgICAgICAgICogZ3JvdXAuCisrICAgICAgICAgICAgICAgICAgICAgICAgICov CisrICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFlY19wb2ludF9ibGluZF9jb29yZGluYXRl cyhncm91cCwgciwgY3R4KSkgeworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBFQ2VycihF Q19GX0VDX1dOQUZfTVVMLCBFQ19SX1BPSU5UX0NPT1JESU5BVEVTX0JMSU5EX0ZBSUxVUkUpOwor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycjsKKysgICAgICAgICAgICAgICAg ICAgICAgICB9CisrCisgICAgICAgICAgICAgICAgICAgICAgICAgcl9pc19hdF9pbmZpbml0eSA9 IDA7CisgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAg ICAgIGlmICghRUNfUE9JTlRfYWRkCitkaWZmIC0tZ2l0IGEvY3J5cHRvL2VjL2VjcF9zbXBsLmMg Yi9jcnlwdG8vZWMvZWNwX3NtcGwuYworaW5kZXggYjM1NGJmZTljZS4uNjkwM2RiNThmZiAxMDA2 NDQKKy0tLSBhL2NyeXB0by9lYy9lY3Bfc21wbC5jCisrKysgYi9jcnlwdG8vZWMvZWNwX3NtcGwu YworQEAgLTEzNzIsNiArMTM3Miw3IEBAIGludCBlY19HRnBfc2ltcGxlX2ZpZWxkX3Nxcihjb25z dCBFQ19HUk9VUCAqZ3JvdXAsIEJJR05VTSAqciwgY29uc3QgQklHTlVNICphLAorICAqIENvbXB1 dGVzIHRoZSBtdWx0aXBsaWNhdGl2ZSBpbnZlcnNlIG9mIGEgaW4gR0YocCksIHN0b3JpbmcgdGhl IHJlc3VsdCBpbiByLgorICAqIElmIGEgaXMgemVybyAob3IgZXF1aXZhbGVudCksIHlvdSdsbCBn ZXQgYSBFQ19SX0NBTk5PVF9JTlZFUlQgZXJyb3IuCisgICogU2luY2Ugd2UgZG9uJ3QgaGF2ZSBh IE1vbnQgc3RydWN0dXJlIGhlcmUsIFNDQSBoYXJkZW5pbmcgaXMgd2l0aCBibGluZGluZy4KKysg KiBOQjogImEiIG11c3QgYmUgaW4gX2RlY29kZWRfIGZvcm0uIChpLmUuIGZpZWxkX2RlY29kZSBt dXN0IHByZWNlZGUuKQorICAqLworIGludCBlY19HRnBfc2ltcGxlX2ZpZWxkX2ludihjb25zdCBF Q19HUk9VUCAqZ3JvdXAsIEJJR05VTSAqciwgY29uc3QgQklHTlVNICphLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBCTl9DVFggKmN0eCkKK0BAIC0xNDMxLDExMiArMTQzMiwxMzMgQEAg aW50IGVjX0dGcF9zaW1wbGVfYmxpbmRfY29vcmRpbmF0ZXMoY29uc3QgRUNfR1JPVVAgKmdyb3Vw LCBFQ19QT0lOVCAqcCwKKyAgICAgdGVtcCA9IEJOX0NUWF9nZXQoY3R4KTsKKyAgICAgaWYgKHRl bXAgPT0gTlVMTCkgeworICAgICAgICAgRUNlcnIoRUNfRl9FQ19HRlBfU0lNUExFX0JMSU5EX0NP T1JESU5BVEVTLCBFUlJfUl9NQUxMT0NfRkFJTFVSRSk7CistICAgICAgICBnb3RvIGVycjsKKysg ICAgICAgIGdvdG8gZW5kOworICAgICB9CisgCistICAgIC8qIG1ha2Ugc3VyZSBsYW1iZGEgaXMg bm90IHplcm8gKi8KKysgICAgLyotCisrICAgICAqIE1ha2Ugc3VyZSBsYW1iZGEgaXMgbm90IHpl cm8uCisrICAgICAqIElmIHRoZSBSTkcgZmFpbHMsIHdlIGNhbm5vdCBibGluZCBidXQgbmV2ZXJ0 aGVsZXNzIHdhbnQKKysgICAgICogY29kZSB0byBjb250aW51ZSBzbW9vdGhseSBhbmQgbm90IGNs b2JiZXIgdGhlIGVycm9yIHN0YWNrLgorKyAgICAgKi8KKyAgICAgZG8geworLSAgICAgICAgaWYg KCFCTl9wcml2X3JhbmRfcmFuZ2UobGFtYmRhLCBncm91cC0+ZmllbGQpKSB7CistICAgICAgICAg ICAgRUNlcnIoRUNfRl9FQ19HRlBfU0lNUExFX0JMSU5EX0NPT1JESU5BVEVTLCBFUlJfUl9CTl9M SUIpOworLSAgICAgICAgICAgIGdvdG8gZXJyOworKyAgICAgICAgRVJSX3NldF9tYXJrKCk7Cisr ICAgICAgICByZXQgPSBCTl9wcml2X3JhbmRfcmFuZ2UobGFtYmRhLCBncm91cC0+ZmllbGQpOwor KyAgICAgICAgRVJSX3BvcF90b19tYXJrKCk7CisrICAgICAgICBpZiAocmV0ID09IDApIHsKKysg ICAgICAgICAgICByZXQgPSAxOworKyAgICAgICAgICAgIGdvdG8gZW5kOworICAgICAgICAgfQor ICAgICB9IHdoaWxlIChCTl9pc196ZXJvKGxhbWJkYSkpOworIAorICAgICAvKiBpZiBmaWVsZF9l bmNvZGUgZGVmaW5lZCBjb252ZXJ0IGJldHdlZW4gcmVwcmVzZW50YXRpb25zICovCistICAgIGlm IChncm91cC0+bWV0aC0+ZmllbGRfZW5jb2RlICE9IE5VTEwKKy0gICAgICAgICYmICFncm91cC0+ bWV0aC0+ZmllbGRfZW5jb2RlKGdyb3VwLCBsYW1iZGEsIGxhbWJkYSwgY3R4KSkKKy0gICAgICAg IGdvdG8gZXJyOworLSAgICBpZiAoIWdyb3VwLT5tZXRoLT5maWVsZF9tdWwoZ3JvdXAsIHAtPlos IHAtPlosIGxhbWJkYSwgY3R4KSkKKy0gICAgICAgIGdvdG8gZXJyOworLSAgICBpZiAoIWdyb3Vw LT5tZXRoLT5maWVsZF9zcXIoZ3JvdXAsIHRlbXAsIGxhbWJkYSwgY3R4KSkKKy0gICAgICAgIGdv dG8gZXJyOworLSAgICBpZiAoIWdyb3VwLT5tZXRoLT5maWVsZF9tdWwoZ3JvdXAsIHAtPlgsIHAt PlgsIHRlbXAsIGN0eCkpCistICAgICAgICBnb3RvIGVycjsKKy0gICAgaWYgKCFncm91cC0+bWV0 aC0+ZmllbGRfbXVsKGdyb3VwLCB0ZW1wLCB0ZW1wLCBsYW1iZGEsIGN0eCkpCistICAgICAgICBn b3RvIGVycjsKKy0gICAgaWYgKCFncm91cC0+bWV0aC0+ZmllbGRfbXVsKGdyb3VwLCBwLT5ZLCBw LT5ZLCB0ZW1wLCBjdHgpKQorLSAgICAgICAgZ290byBlcnI7CistICAgIHAtPlpfaXNfb25lID0g MDsKKysgICAgaWYgKChncm91cC0+bWV0aC0+ZmllbGRfZW5jb2RlICE9IE5VTEwKKysgICAgICAg ICAmJiAhZ3JvdXAtPm1ldGgtPmZpZWxkX2VuY29kZShncm91cCwgbGFtYmRhLCBsYW1iZGEsIGN0 eCkpCisrICAgICAgICB8fCAhZ3JvdXAtPm1ldGgtPmZpZWxkX211bChncm91cCwgcC0+WiwgcC0+ WiwgbGFtYmRhLCBjdHgpCisrICAgICAgICB8fCAhZ3JvdXAtPm1ldGgtPmZpZWxkX3Nxcihncm91 cCwgdGVtcCwgbGFtYmRhLCBjdHgpCisrICAgICAgICB8fCAhZ3JvdXAtPm1ldGgtPmZpZWxkX211 bChncm91cCwgcC0+WCwgcC0+WCwgdGVtcCwgY3R4KQorKyAgICAgICAgfHwgIWdyb3VwLT5tZXRo LT5maWVsZF9tdWwoZ3JvdXAsIHRlbXAsIHRlbXAsIGxhbWJkYSwgY3R4KQorKyAgICAgICAgfHwg IWdyb3VwLT5tZXRoLT5maWVsZF9tdWwoZ3JvdXAsIHAtPlksIHAtPlksIHRlbXAsIGN0eCkpCisr ICAgICAgICBnb3RvIGVuZDsKKyAKKysgICAgcC0+Wl9pc19vbmUgPSAwOworICAgICByZXQgPSAx OworIAorLSBlcnI6CisrIGVuZDoKKyAgICAgQk5fQ1RYX2VuZChjdHgpOworICAgICByZXR1cm4g cmV0OworIH0KKyAKKyAvKi0KKy0gKiBTZXQgcyA6PSBwLCByIDo9IDJwLgorKyAqIElucHV0Ogor KyAqIC0gcDogYWZmaW5lIGNvb3JkaW5hdGVzCisrICoKKysgKiBPdXRwdXQ6CisrICogLSBzIDo9 IHAsIHIgOj0gMnA6IGJsaW5kZWQgcHJvamVjdGl2ZSAoaG9tb2dlbmVvdXMpIGNvb3JkaW5hdGVz CisgICoKKyAgKiBGb3IgZG91Ymxpbmcgd2UgdXNlIEZvcm11bGEgMyBmcm9tIEl6dS1UYWthZ2kg IkEgZmFzdCBwYXJhbGxlbCBlbGxpcHRpYyBjdXJ2ZQorLSAqIG11bHRpcGxpY2F0aW9uIHJlc2lz dGFudCBhZ2FpbnN0IHNpZGUgY2hhbm5lbCBhdHRhY2tzIiBhcHBlbmRpeCwgYXMgZGVzY3JpYmVk CistICogYXQKKysgKiBtdWx0aXBsaWNhdGlvbiByZXNpc3RhbnQgYWdhaW5zdCBzaWRlIGNoYW5u ZWwgYXR0YWNrcyIgYXBwZW5kaXgsIGRlc2NyaWJlZCBhdAorICAqIGh0dHBzOi8vaHlwZXJlbGxp cHRpYy5vcmcvRUZEL2cxcC9hdXRvLXNob3J0dy14ei5odG1sI2RvdWJsaW5nLWRibC0yMDAyLWl0 LTIKKysgKiBzaW1wbGlmaWVkIGZvciBaMT0xLgorICAqCistICogVGhlIGlucHV0IHBvaW50IHAg d2lsbCBiZSBpbiByYW5kb21pemVkIEphY29iaWFuIHByb2plY3RpdmUgY29vcmRzOgorLSAqICAg ICAgeCA9IFgvWioqMiwgeT1ZL1oqKjMKKy0gKgorLSAqIFRoZSBvdXRwdXQgcG9pbnRzIHAsIHMs IGFuZCByIGFyZSBjb252ZXJ0ZWQgdG8gc3RhbmRhcmQgKGhvbW9nZW5lb3VzKQorLSAqIHByb2pl Y3RpdmUgY29vcmRzOgorLSAqICAgICAgeCA9IFgvWiwgeT1ZL1oKKysgKiBCbGluZGluZyB1c2Vz IHRoZSBlcXVpdmFsZW5jZSByZWxhdGlvbiAoXGxhbWJkYSBYLCBcbGFtYmRhIFksIFxsYW1iZGEg WikKKysgKiBmb3IgYW55IG5vbi16ZXJvIFxsYW1iZGEgdGhhdCBob2xkcyBmb3IgcHJvamVjdGl2 ZSAoaG9tb2dlbmVvdXMpIGNvb3Jkcy4KKyAgKi8KKyBpbnQgZWNfR0ZwX3NpbXBsZV9sYWRkZXJf cHJlKGNvbnN0IEVDX0dST1VQICpncm91cCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEVDX1BPSU5UICpyLCBFQ19QT0lOVCAqcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEVDX1BPSU5UICpwLCBCTl9DVFggKmN0eCkKKyB7CistICAgIEJJR05VTSAqdDEsICp0MiwgKnQz LCAqdDQsICp0NSwgKnQ2ID0gTlVMTDsKKysgICAgQklHTlVNICp0MSwgKnQyLCAqdDMsICp0NCwg KnQ1ID0gTlVMTDsKKyAKKy0gICAgdDEgPSByLT5aOworLSAgICB0MiA9IHItPlk7CisrICAgIHQx ID0gcy0+WjsKKysgICAgdDIgPSByLT5aOworICAgICB0MyA9IHMtPlg7CisgICAgIHQ0ID0gci0+ WDsKKyAgICAgdDUgPSBzLT5ZOworLSAgICB0NiA9IHMtPlo7CistCistICAgIC8qIGNvbnZlcnQg cDogKFgsWSxaKSAtPiAoWFosWSxaKiozKSAqLworLSAgICBpZiAoIWdyb3VwLT5tZXRoLT5maWVs ZF9tdWwoZ3JvdXAsIHAtPlgsIHAtPlgsIHAtPlosIGN0eCkKKy0gICAgICAgIHx8ICFncm91cC0+ bWV0aC0+ZmllbGRfc3FyKGdyb3VwLCB0MSwgcC0+WiwgY3R4KQorLSAgICAgICAgfHwgIWdyb3Vw LT5tZXRoLT5maWVsZF9tdWwoZ3JvdXAsIHAtPlosIHAtPlosIHQxLCBjdHgpCistICAgICAgICAv KiByIDo9IDJwICovCistICAgICAgICB8fCAhZ3JvdXAtPm1ldGgtPmZpZWxkX3Nxcihncm91cCwg dDIsIHAtPlgsIGN0eCkKKy0gICAgICAgIHx8ICFncm91cC0+bWV0aC0+ZmllbGRfc3FyKGdyb3Vw LCB0MywgcC0+WiwgY3R4KQorLSAgICAgICAgfHwgIWdyb3VwLT5tZXRoLT5maWVsZF9tdWwoZ3Jv dXAsIHQ0LCB0MywgZ3JvdXAtPmEsIGN0eCkKKy0gICAgICAgIHx8ICFCTl9tb2Rfc3ViX3F1aWNr KHQ1LCB0MiwgdDQsIGdyb3VwLT5maWVsZCkKKy0gICAgICAgIHx8ICFCTl9tb2RfYWRkX3F1aWNr KHQyLCB0MiwgdDQsIGdyb3VwLT5maWVsZCkKKy0gICAgICAgIHx8ICFncm91cC0+bWV0aC0+Zmll bGRfc3FyKGdyb3VwLCB0NSwgdDUsIGN0eCkKKy0gICAgICAgIHx8ICFncm91cC0+bWV0aC0+Zmll bGRfbXVsKGdyb3VwLCB0NiwgdDMsIGdyb3VwLT5iLCBjdHgpCistICAgICAgICB8fCAhZ3JvdXAt Pm1ldGgtPmZpZWxkX211bChncm91cCwgdDEsIHAtPlgsIHAtPlosIGN0eCkKKy0gICAgICAgIHx8 ICFncm91cC0+bWV0aC0+ZmllbGRfbXVsKGdyb3VwLCB0NCwgdDEsIHQ2LCBjdHgpCistICAgICAg ICB8fCAhQk5fbW9kX2xzaGlmdF9xdWljayh0NCwgdDQsIDMsIGdyb3VwLT5maWVsZCkKKysKKysg ICAgaWYgKCFwLT5aX2lzX29uZSAvKiByIDo9IDJwICovCisrICAgICAgICB8fCAhZ3JvdXAtPm1l dGgtPmZpZWxkX3Nxcihncm91cCwgdDMsIHAtPlgsIGN0eCkKKysgICAgICAgIHx8ICFCTl9tb2Rf c3ViX3F1aWNrKHQ0LCB0MywgZ3JvdXAtPmEsIGdyb3VwLT5maWVsZCkKKysgICAgICAgIHx8ICFn cm91cC0+bWV0aC0+ZmllbGRfc3FyKGdyb3VwLCB0NCwgdDQsIGN0eCkKKysgICAgICAgIHx8ICFn cm91cC0+bWV0aC0+ZmllbGRfbXVsKGdyb3VwLCB0NSwgcC0+WCwgZ3JvdXAtPmIsIGN0eCkKKysg ICAgICAgIHx8ICFCTl9tb2RfbHNoaWZ0X3F1aWNrKHQ1LCB0NSwgMywgZ3JvdXAtPmZpZWxkKQor ICAgICAgICAgLyogci0+WCBjb29yZCBvdXRwdXQgKi8KKy0gICAgICAgIHx8ICFCTl9tb2Rfc3Vi X3F1aWNrKHItPlgsIHQ1LCB0NCwgZ3JvdXAtPmZpZWxkKQorLSAgICAgICAgfHwgIWdyb3VwLT5t ZXRoLT5maWVsZF9tdWwoZ3JvdXAsIHQxLCB0MSwgdDIsIGN0eCkKKy0gICAgICAgIHx8ICFncm91 cC0+bWV0aC0+ZmllbGRfbXVsKGdyb3VwLCB0MiwgdDMsIHQ2LCBjdHgpCistICAgICAgICB8fCAh Qk5fbW9kX2FkZF9xdWljayh0MSwgdDEsIHQyLCBncm91cC0+ZmllbGQpCisrICAgICAgICB8fCAh Qk5fbW9kX3N1Yl9xdWljayhyLT5YLCB0NCwgdDUsIGdyb3VwLT5maWVsZCkKKysgICAgICAgIHx8 ICFCTl9tb2RfYWRkX3F1aWNrKHQxLCB0MywgZ3JvdXAtPmEsIGdyb3VwLT5maWVsZCkKKysgICAg ICAgIHx8ICFncm91cC0+bWV0aC0+ZmllbGRfbXVsKGdyb3VwLCB0MiwgcC0+WCwgdDEsIGN0eCkK KysgICAgICAgIHx8ICFCTl9tb2RfYWRkX3F1aWNrKHQyLCBncm91cC0+YiwgdDIsIGdyb3VwLT5m aWVsZCkKKyAgICAgICAgIC8qIHItPlogY29vcmQgb3V0cHV0ICovCistICAgICAgICB8fCAhQk5f bW9kX2xzaGlmdF9xdWljayhyLT5aLCB0MSwgMiwgZ3JvdXAtPmZpZWxkKQorLSAgICAgICAgfHwg IUVDX1BPSU5UX2NvcHkocywgcCkpCisrICAgICAgICB8fCAhQk5fbW9kX2xzaGlmdF9xdWljayhy LT5aLCB0MiwgMiwgZ3JvdXAtPmZpZWxkKSkKKysgICAgICAgIHJldHVybiAwOworKworKyAgICAv KiBtYWtlIHN1cmUgbGFtYmRhIChyLT5ZIGhlcmUgZm9yIHN0b3JhZ2UpIGlzIG5vdCB6ZXJvICov CisrICAgIGRvIHsKKysgICAgICAgIGlmICghQk5fcHJpdl9yYW5kX3JhbmdlKHItPlksIGdyb3Vw LT5maWVsZCkpCisrICAgICAgICAgICAgcmV0dXJuIDA7CisrICAgIH0gd2hpbGUgKEJOX2lzX3pl cm8oci0+WSkpOworKworKyAgICAvKiBtYWtlIHN1cmUgbGFtYmRhIChzLT5aIGhlcmUgZm9yIHN0 b3JhZ2UpIGlzIG5vdCB6ZXJvICovCisrICAgIGRvIHsKKysgICAgICAgIGlmICghQk5fcHJpdl9y YW5kX3JhbmdlKHMtPlosIGdyb3VwLT5maWVsZCkpCisrICAgICAgICAgICAgcmV0dXJuIDA7Cisr ICAgIH0gd2hpbGUgKEJOX2lzX3plcm8ocy0+WikpOworKworKyAgICAvKiBpZiBmaWVsZF9lbmNv ZGUgZGVmaW5lZCBjb252ZXJ0IGJldHdlZW4gcmVwcmVzZW50YXRpb25zICovCisrICAgIGlmIChn cm91cC0+bWV0aC0+ZmllbGRfZW5jb2RlICE9IE5VTEwKKysgICAgICAgICYmICghZ3JvdXAtPm1l dGgtPmZpZWxkX2VuY29kZShncm91cCwgci0+WSwgci0+WSwgY3R4KQorKyAgICAgICAgICAgIHx8 ICFncm91cC0+bWV0aC0+ZmllbGRfZW5jb2RlKGdyb3VwLCBzLT5aLCBzLT5aLCBjdHgpKSkKKysg ICAgICAgIHJldHVybiAwOworKworKyAgICAvKiBibGluZCByIGFuZCBzIGluZGVwZW5kZW50bHkg Ki8KKysgICAgaWYgKCFncm91cC0+bWV0aC0+ZmllbGRfbXVsKGdyb3VwLCByLT5aLCByLT5aLCBy LT5ZLCBjdHgpCisrICAgICAgICB8fCAhZ3JvdXAtPm1ldGgtPmZpZWxkX211bChncm91cCwgci0+ WCwgci0+WCwgci0+WSwgY3R4KQorKyAgICAgICAgfHwgIWdyb3VwLT5tZXRoLT5maWVsZF9tdWwo Z3JvdXAsIHMtPlgsIHAtPlgsIHMtPlosIGN0eCkpIC8qIHMgOj0gcCAqLworICAgICAgICAgcmV0 dXJuIDA7CisgCisgICAgIHItPlpfaXNfb25lID0gMDsKKyAgICAgcy0+Wl9pc19vbmUgPSAwOwor LSAgICBwLT5aX2lzX29uZSA9IDA7CisgCisgICAgIHJldHVybiAxOworIH0KKyAKKyAvKi0KKy0g KiBEaWZmZXJlbnRpYWwgYWRkaXRpb24tYW5kLWRvdWJsaW5nIHVzaW5nICBFcS4gKDkpIGFuZCAo MTApIGZyb20gSXp1LVRha2FnaQorKyAqIElucHV0OgorKyAqIC0gcywgcjogcHJvamVjdGl2ZSAo aG9tb2dlbmVvdXMpIGNvb3JkaW5hdGVzCisrICogLSBwOiBhZmZpbmUgY29vcmRpbmF0ZXMKKysg KgorKyAqIE91dHB1dDoKKysgKiAtIHMgOj0gciArIHMsIHIgOj0gMnI6IHByb2plY3RpdmUgKGhv bW9nZW5lb3VzKSBjb29yZGluYXRlcworKyAqCisrICogRGlmZmVyZW50aWFsIGFkZGl0aW9uLWFu ZC1kb3VibGluZyB1c2luZyBFcS4gKDkpIGFuZCAoMTApIGZyb20gSXp1LVRha2FnaQorICAqICJB IGZhc3QgcGFyYWxsZWwgZWxsaXB0aWMgY3VydmUgbXVsdGlwbGljYXRpb24gcmVzaXN0YW50IGFn YWluc3Qgc2lkZSBjaGFubmVsCisgICogYXR0YWNrcyIsIGFzIGRlc2NyaWJlZCBhdAorLSAqIGh0 dHBzOi8vaHlwZXJlbGxpcHRpYy5vcmcvRUZEL2cxcC9hdXRvLXNob3J0dy14ei5odG1sI2xhZGRl ci1sYWRkLTIwMDItaXQtNAorKyAqIGh0dHBzOi8vaHlwZXJlbGxpcHRpYy5vcmcvRUZEL2cxcC9h dXRvLXNob3J0dy14ei5odG1sI2xhZGRlci1tbGFkZC0yMDAyLWl0LTQKKyAgKi8KKyBpbnQgZWNf R0ZwX3NpbXBsZV9sYWRkZXJfc3RlcChjb25zdCBFQ19HUk9VUCAqZ3JvdXAsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRUNfUE9JTlQgKnIsIEVDX1BPSU5UICpzLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEVDX1BPSU5UICpwLCBCTl9DVFggKmN0eCkKKyB7CisgICAg IGludCByZXQgPSAwOworLSAgICBCSUdOVU0gKnQwLCAqdDEsICp0MiwgKnQzLCAqdDQsICp0NSwg KnQ2LCAqdDcgPSBOVUxMOworKyAgICBCSUdOVU0gKnQwLCAqdDEsICp0MiwgKnQzLCAqdDQsICp0 NSwgKnQ2ID0gTlVMTDsKKyAKKyAgICAgQk5fQ1RYX3N0YXJ0KGN0eCk7CisgICAgIHQwID0gQk5f Q1RYX2dldChjdHgpOworQEAgLTE1NDYsNTAgKzE1NjgsNDcgQEAgaW50IGVjX0dGcF9zaW1wbGVf bGFkZGVyX3N0ZXAoY29uc3QgRUNfR1JPVVAgKmdyb3VwLAorICAgICB0NCA9IEJOX0NUWF9nZXQo Y3R4KTsKKyAgICAgdDUgPSBCTl9DVFhfZ2V0KGN0eCk7CisgICAgIHQ2ID0gQk5fQ1RYX2dldChj dHgpOworLSAgICB0NyA9IEJOX0NUWF9nZXQoY3R4KTsKKyAKKy0gICAgaWYgKHQ3ID09IE5VTEwK Ky0gICAgICAgIHx8ICFncm91cC0+bWV0aC0+ZmllbGRfbXVsKGdyb3VwLCB0MCwgci0+WCwgcy0+ WCwgY3R4KQorLSAgICAgICAgfHwgIWdyb3VwLT5tZXRoLT5maWVsZF9tdWwoZ3JvdXAsIHQxLCBy LT5aLCBzLT5aLCBjdHgpCistICAgICAgICB8fCAhZ3JvdXAtPm1ldGgtPmZpZWxkX211bChncm91 cCwgdDIsIHItPlgsIHMtPlosIGN0eCkKKysgICAgaWYgKHQ2ID09IE5VTEwKKysgICAgICAgIHx8 ICFncm91cC0+bWV0aC0+ZmllbGRfbXVsKGdyb3VwLCB0Niwgci0+WCwgcy0+WCwgY3R4KQorKyAg ICAgICAgfHwgIWdyb3VwLT5tZXRoLT5maWVsZF9tdWwoZ3JvdXAsIHQwLCByLT5aLCBzLT5aLCBj dHgpCisrICAgICAgICB8fCAhZ3JvdXAtPm1ldGgtPmZpZWxkX211bChncm91cCwgdDQsIHItPlgs IHMtPlosIGN0eCkKKyAgICAgICAgIHx8ICFncm91cC0+bWV0aC0+ZmllbGRfbXVsKGdyb3VwLCB0 Mywgci0+Wiwgcy0+WCwgY3R4KQorLSAgICAgICAgfHwgIWdyb3VwLT5tZXRoLT5maWVsZF9tdWwo Z3JvdXAsIHQ0LCBncm91cC0+YSwgdDEsIGN0eCkKKy0gICAgICAgIHx8ICFCTl9tb2RfYWRkX3F1 aWNrKHQwLCB0MCwgdDQsIGdyb3VwLT5maWVsZCkKKy0gICAgICAgIHx8ICFCTl9tb2RfYWRkX3F1 aWNrKHQ0LCB0MywgdDIsIGdyb3VwLT5maWVsZCkKKy0gICAgICAgIHx8ICFncm91cC0+bWV0aC0+ ZmllbGRfbXVsKGdyb3VwLCB0MCwgdDQsIHQwLCBjdHgpCistICAgICAgICB8fCAhZ3JvdXAtPm1l dGgtPmZpZWxkX3Nxcihncm91cCwgdDEsIHQxLCBjdHgpCistICAgICAgICB8fCAhQk5fbW9kX2xz aGlmdF9xdWljayh0NywgZ3JvdXAtPmIsIDIsIGdyb3VwLT5maWVsZCkKKy0gICAgICAgIHx8ICFn cm91cC0+bWV0aC0+ZmllbGRfbXVsKGdyb3VwLCB0MSwgdDcsIHQxLCBjdHgpCistICAgICAgICB8 fCAhQk5fbW9kX2xzaGlmdDFfcXVpY2sodDAsIHQwLCBncm91cC0+ZmllbGQpCistICAgICAgICB8 fCAhQk5fbW9kX2FkZF9xdWljayh0MCwgdDEsIHQwLCBncm91cC0+ZmllbGQpCistICAgICAgICB8 fCAhQk5fbW9kX3N1Yl9xdWljayh0MSwgdDIsIHQzLCBncm91cC0+ZmllbGQpCistICAgICAgICB8 fCAhZ3JvdXAtPm1ldGgtPmZpZWxkX3Nxcihncm91cCwgdDEsIHQxLCBjdHgpCistICAgICAgICB8 fCAhZ3JvdXAtPm1ldGgtPmZpZWxkX211bChncm91cCwgdDMsIHQxLCBwLT5YLCBjdHgpCistICAg ICAgICB8fCAhZ3JvdXAtPm1ldGgtPmZpZWxkX211bChncm91cCwgdDAsIHAtPlosIHQwLCBjdHgp CistICAgICAgICAvKiBzLT5YIGNvb3JkIG91dHB1dCAqLworLSAgICAgICAgfHwgIUJOX21vZF9z dWJfcXVpY2socy0+WCwgdDAsIHQzLCBncm91cC0+ZmllbGQpCistICAgICAgICAvKiBzLT5aIGNv b3JkIG91dHB1dCAqLworLSAgICAgICAgfHwgIWdyb3VwLT5tZXRoLT5maWVsZF9tdWwoZ3JvdXAs IHMtPlosIHAtPlosIHQxLCBjdHgpCistICAgICAgICB8fCAhZ3JvdXAtPm1ldGgtPmZpZWxkX3Nx cihncm91cCwgdDMsIHItPlgsIGN0eCkKKy0gICAgICAgIHx8ICFncm91cC0+bWV0aC0+ZmllbGRf c3FyKGdyb3VwLCB0Miwgci0+WiwgY3R4KQorLSAgICAgICAgfHwgIWdyb3VwLT5tZXRoLT5maWVs ZF9tdWwoZ3JvdXAsIHQ0LCB0MiwgZ3JvdXAtPmEsIGN0eCkKKy0gICAgICAgIHx8ICFCTl9tb2Rf YWRkX3F1aWNrKHQ1LCByLT5YLCByLT5aLCBncm91cC0+ZmllbGQpCistICAgICAgICB8fCAhZ3Jv dXAtPm1ldGgtPmZpZWxkX3Nxcihncm91cCwgdDUsIHQ1LCBjdHgpCistICAgICAgICB8fCAhQk5f bW9kX3N1Yl9xdWljayh0NSwgdDUsIHQzLCBncm91cC0+ZmllbGQpCistICAgICAgICB8fCAhQk5f bW9kX3N1Yl9xdWljayh0NSwgdDUsIHQyLCBncm91cC0+ZmllbGQpCistICAgICAgICB8fCAhQk5f bW9kX3N1Yl9xdWljayh0NiwgdDMsIHQ0LCBncm91cC0+ZmllbGQpCistICAgICAgICB8fCAhZ3Jv dXAtPm1ldGgtPmZpZWxkX3Nxcihncm91cCwgdDYsIHQ2LCBjdHgpCistICAgICAgICB8fCAhZ3Jv dXAtPm1ldGgtPmZpZWxkX211bChncm91cCwgdDAsIHQyLCB0NSwgY3R4KQorLSAgICAgICAgfHwg IWdyb3VwLT5tZXRoLT5maWVsZF9tdWwoZ3JvdXAsIHQwLCB0NywgdDAsIGN0eCkKKy0gICAgICAg IC8qIHItPlggY29vcmQgb3V0cHV0ICovCistICAgICAgICB8fCAhQk5fbW9kX3N1Yl9xdWljayhy LT5YLCB0NiwgdDAsIGdyb3VwLT5maWVsZCkKKysgICAgICAgIHx8ICFncm91cC0+bWV0aC0+Zmll bGRfbXVsKGdyb3VwLCB0NSwgZ3JvdXAtPmEsIHQwLCBjdHgpCisrICAgICAgICB8fCAhQk5fbW9k X2FkZF9xdWljayh0NSwgdDYsIHQ1LCBncm91cC0+ZmllbGQpCisgICAgICAgICB8fCAhQk5fbW9k X2FkZF9xdWljayh0NiwgdDMsIHQ0LCBncm91cC0+ZmllbGQpCistICAgICAgICB8fCAhZ3JvdXAt Pm1ldGgtPmZpZWxkX3Nxcihncm91cCwgdDMsIHQyLCBjdHgpCistICAgICAgICB8fCAhZ3JvdXAt Pm1ldGgtPmZpZWxkX211bChncm91cCwgdDcsIHQzLCB0NywgY3R4KQorLSAgICAgICAgfHwgIWdy b3VwLT5tZXRoLT5maWVsZF9tdWwoZ3JvdXAsIHQ1LCB0NSwgdDYsIGN0eCkKKysgICAgICAgIHx8 ICFncm91cC0+bWV0aC0+ZmllbGRfbXVsKGdyb3VwLCB0NSwgdDYsIHQ1LCBjdHgpCisrICAgICAg ICB8fCAhZ3JvdXAtPm1ldGgtPmZpZWxkX3Nxcihncm91cCwgdDAsIHQwLCBjdHgpCisrICAgICAg ICB8fCAhQk5fbW9kX2xzaGlmdF9xdWljayh0MiwgZ3JvdXAtPmIsIDIsIGdyb3VwLT5maWVsZCkK KysgICAgICAgIHx8ICFncm91cC0+bWV0aC0+ZmllbGRfbXVsKGdyb3VwLCB0MCwgdDIsIHQwLCBj dHgpCisgICAgICAgICB8fCAhQk5fbW9kX2xzaGlmdDFfcXVpY2sodDUsIHQ1LCBncm91cC0+Zmll bGQpCisrICAgICAgICB8fCAhQk5fbW9kX3N1Yl9xdWljayh0MywgdDQsIHQzLCBncm91cC0+Zmll bGQpCisrICAgICAgICAvKiBzLT5aIGNvb3JkIG91dHB1dCAqLworKyAgICAgICAgfHwgIWdyb3Vw LT5tZXRoLT5maWVsZF9zcXIoZ3JvdXAsIHMtPlosIHQzLCBjdHgpCisrICAgICAgICB8fCAhZ3Jv dXAtPm1ldGgtPmZpZWxkX211bChncm91cCwgdDQsIHMtPlosIHAtPlgsIGN0eCkKKysgICAgICAg IHx8ICFCTl9tb2RfYWRkX3F1aWNrKHQwLCB0MCwgdDUsIGdyb3VwLT5maWVsZCkKKysgICAgICAg IC8qIHMtPlggY29vcmQgb3V0cHV0ICovCisrICAgICAgICB8fCAhQk5fbW9kX3N1Yl9xdWljayhz LT5YLCB0MCwgdDQsIGdyb3VwLT5maWVsZCkKKysgICAgICAgIHx8ICFncm91cC0+bWV0aC0+Zmll bGRfc3FyKGdyb3VwLCB0NCwgci0+WCwgY3R4KQorKyAgICAgICAgfHwgIWdyb3VwLT5tZXRoLT5m aWVsZF9zcXIoZ3JvdXAsIHQ1LCByLT5aLCBjdHgpCisrICAgICAgICB8fCAhZ3JvdXAtPm1ldGgt PmZpZWxkX211bChncm91cCwgdDYsIHQ1LCBncm91cC0+YSwgY3R4KQorKyAgICAgICAgfHwgIUJO X21vZF9hZGRfcXVpY2sodDEsIHItPlgsIHItPlosIGdyb3VwLT5maWVsZCkKKysgICAgICAgIHx8 ICFncm91cC0+bWV0aC0+ZmllbGRfc3FyKGdyb3VwLCB0MSwgdDEsIGN0eCkKKysgICAgICAgIHx8 ICFCTl9tb2Rfc3ViX3F1aWNrKHQxLCB0MSwgdDQsIGdyb3VwLT5maWVsZCkKKysgICAgICAgIHx8 ICFCTl9tb2Rfc3ViX3F1aWNrKHQxLCB0MSwgdDUsIGdyb3VwLT5maWVsZCkKKysgICAgICAgIHx8 ICFCTl9tb2Rfc3ViX3F1aWNrKHQzLCB0NCwgdDYsIGdyb3VwLT5maWVsZCkKKysgICAgICAgIHx8 ICFncm91cC0+bWV0aC0+ZmllbGRfc3FyKGdyb3VwLCB0MywgdDMsIGN0eCkKKysgICAgICAgIHx8 ICFncm91cC0+bWV0aC0+ZmllbGRfbXVsKGdyb3VwLCB0MCwgdDUsIHQxLCBjdHgpCisrICAgICAg ICB8fCAhZ3JvdXAtPm1ldGgtPmZpZWxkX211bChncm91cCwgdDAsIHQyLCB0MCwgY3R4KQorKyAg ICAgICAgLyogci0+WCBjb29yZCBvdXRwdXQgKi8KKysgICAgICAgIHx8ICFCTl9tb2Rfc3ViX3F1 aWNrKHItPlgsIHQzLCB0MCwgZ3JvdXAtPmZpZWxkKQorKyAgICAgICAgfHwgIUJOX21vZF9hZGRf cXVpY2sodDMsIHQ0LCB0NiwgZ3JvdXAtPmZpZWxkKQorKyAgICAgICAgfHwgIWdyb3VwLT5tZXRo LT5maWVsZF9zcXIoZ3JvdXAsIHQ0LCB0NSwgY3R4KQorKyAgICAgICAgfHwgIWdyb3VwLT5tZXRo LT5maWVsZF9tdWwoZ3JvdXAsIHQ0LCB0NCwgdDIsIGN0eCkKKysgICAgICAgIHx8ICFncm91cC0+ bWV0aC0+ZmllbGRfbXVsKGdyb3VwLCB0MSwgdDEsIHQzLCBjdHgpCisrICAgICAgICB8fCAhQk5f bW9kX2xzaGlmdDFfcXVpY2sodDEsIHQxLCBncm91cC0+ZmllbGQpCisgICAgICAgICAvKiByLT5a IGNvb3JkIG91dHB1dCAqLworLSAgICAgICAgfHwgIUJOX21vZF9hZGRfcXVpY2soci0+WiwgdDcs IHQ1LCBncm91cC0+ZmllbGQpKQorKyAgICAgICAgfHwgIUJOX21vZF9hZGRfcXVpY2soci0+Wiwg dDQsIHQxLCBncm91cC0+ZmllbGQpKQorICAgICAgICAgZ290byBlcnI7CisgCisgICAgIHJldCA9 IDE7CitAQCAtMTYwMCwxNyArMTYxOSwyMyBAQCBpbnQgZWNfR0ZwX3NpbXBsZV9sYWRkZXJfc3Rl cChjb25zdCBFQ19HUk9VUCAqZ3JvdXAsCisgfQorIAorIC8qLQorKyAqIElucHV0OgorKyAqIC0g cywgcjogcHJvamVjdGl2ZSAoaG9tb2dlbmVvdXMpIGNvb3JkaW5hdGVzCisrICogLSBwOiBhZmZp bmUgY29vcmRpbmF0ZXMKKysgKgorKyAqIE91dHB1dDoKKysgKiAtIHIgOj0gKHgseSk6IGFmZmlu ZSBjb29yZGluYXRlcworKyAqCisgICogUmVjb3ZlcnMgdGhlIHktY29vcmRpbmF0ZSBvZiByIHVz aW5nIEVxLiAoOCkgZnJvbSBCcmllci1Kb3llLCAiV2VpZXJzdHJhc3MKKy0gKiBFbGxpcHRpYyBD dXJ2ZXMgYW5kIFNpZGUtQ2hhbm5lbCBBdHRhY2tzIiwgbW9kaWZpZWQgdG8gd29yayBpbiBwcm9q ZWN0aXZlCistICogY29vcmRpbmF0ZXMgYW5kIHJldHVybiByIGluIEphY29iaWFuIHByb2plY3Rp dmUgY29vcmRpbmF0ZXMuCisrICogRWxsaXB0aWMgQ3VydmVzIGFuZCBTaWRlLUNoYW5uZWwgQXR0 YWNrcyIsIG1vZGlmaWVkIHRvIHdvcmsgaW4gbWl4ZWQKKysgKiBwcm9qZWN0aXZlIGNvb3Jkcywg aS5lLiBwIGlzIGFmZmluZSBhbmQgKHIscykgaW4gcHJvamVjdGl2ZSAoaG9tb2dlbmVvdXMpCisr ICogY29vcmRzLCBhbmQgcmV0dXJuIHIgaW4gYWZmaW5lIGNvb3JkaW5hdGVzLgorICAqCistICog WDQgPSB0d28qWTEqWDIqWjMqWjIqWjE7CistICogWTQgPSB0d28qYipaMypTUVIoWjIqWjEpICsg WjMqKGEqWjIqWjErWDEqWDIpKihYMSpaMitYMipaMSkgLSBYMypTUVIoWDEqWjItWDIqWjEpOwor LSAqIFo0ID0gdHdvKlkxKlozKlNRUihaMikqWjE7CisrICogWDQgPSB0d28qWTEqWDIqWjMqWjI7 CisrICogWTQgPSB0d28qYipaMypTUVIoWjIpICsgWjMqKGEqWjIrWDEqWDIpKihYMSpaMitYMikg LSBYMypTUVIoWDEqWjItWDIpOworKyAqIFo0ID0gdHdvKlkxKlozKlNRUihaMik7CisgICoKKyAg KiBaNCAhPSAwIGJlY2F1c2U6CistICogIC0gWjE9PTAgaW1wbGllcyBwIGlzIGF0IGluZmluaXR5 LCB3aGljaCB3b3VsZCBoYXZlIGNhdXNlZCBhbiBlYXJseSBleGl0IGluCistICogICAgdGhlIGNh bGxlcjsKKyAgKiAgLSBaMj09MCBpbXBsaWVzIHIgaXMgYXQgaW5maW5pdHkgKGhhbmRsZWQgYnkg dGhlIEJOX2lzX3plcm8oci0+WikgYnJhbmNoKTsKKyAgKiAgLSBaMz09MCBpbXBsaWVzIHMgaXMg YXQgaW5maW5pdHkgKGhhbmRsZWQgYnkgdGhlIEJOX2lzX3plcm8ocy0+WikgYnJhbmNoKTsKKyAg KiAgLSBZMT09MCBpbXBsaWVzIHAgaGFzIG9yZGVyIDIsIHNvIGVpdGhlciByIG9yIHMgYXJlIGlu ZmluaXR5IGFuZCBoYW5kbGVkIGJ5CitAQCAtMTYyNywxMSArMTY1Miw3IEBAIGludCBlY19HRnBf c2ltcGxlX2xhZGRlcl9wb3N0KGNvbnN0IEVDX0dST1VQICpncm91cCwKKyAgICAgICAgIHJldHVy biBFQ19QT0lOVF9zZXRfdG9faW5maW5pdHkoZ3JvdXAsIHIpOworIAorICAgICBpZiAoQk5faXNf emVybyhzLT5aKSkgeworLSAgICAgICAgLyogKFgsWSxaKSAtPiAoWFosWVoqKjIsWikgKi8KKy0g ICAgICAgIGlmICghZ3JvdXAtPm1ldGgtPmZpZWxkX211bChncm91cCwgci0+WCwgcC0+WCwgcC0+ WiwgY3R4KQorLSAgICAgICAgICAgIHx8ICFncm91cC0+bWV0aC0+ZmllbGRfc3FyKGdyb3VwLCBy LT5aLCBwLT5aLCBjdHgpCistICAgICAgICAgICAgfHwgIWdyb3VwLT5tZXRoLT5maWVsZF9tdWwo Z3JvdXAsIHItPlksIHAtPlksIHItPlosIGN0eCkKKy0gICAgICAgICAgICB8fCAhQk5fY29weShy LT5aLCBwLT5aKQorKyAgICAgICAgaWYgKCFFQ19QT0lOVF9jb3B5KHIsIHApCisgICAgICAgICAg ICAgfHwgIUVDX1BPSU5UX2ludmVydChncm91cCwgciwgY3R4KSkKKyAgICAgICAgICAgICByZXR1 cm4gMDsKKyAgICAgICAgIHJldHVybiAxOworQEAgLTE2NDcsMzggKzE2NjgsNDYgQEAgaW50IGVj X0dGcF9zaW1wbGVfbGFkZGVyX3Bvc3QoY29uc3QgRUNfR1JPVVAgKmdyb3VwLAorICAgICB0NiA9 IEJOX0NUWF9nZXQoY3R4KTsKKyAKKyAgICAgaWYgKHQ2ID09IE5VTEwKKy0gICAgICAgIHx8ICFC Tl9tb2RfbHNoaWZ0MV9xdWljayh0MCwgcC0+WSwgZ3JvdXAtPmZpZWxkKQorLSAgICAgICAgfHwg IWdyb3VwLT5tZXRoLT5maWVsZF9tdWwoZ3JvdXAsIHQxLCByLT5YLCBwLT5aLCBjdHgpCistICAg ICAgICB8fCAhZ3JvdXAtPm1ldGgtPmZpZWxkX211bChncm91cCwgdDIsIHItPlosIHMtPlosIGN0 eCkKKy0gICAgICAgIHx8ICFncm91cC0+bWV0aC0+ZmllbGRfbXVsKGdyb3VwLCB0MiwgdDEsIHQy LCBjdHgpCistICAgICAgICB8fCAhZ3JvdXAtPm1ldGgtPmZpZWxkX211bChncm91cCwgdDMsIHQy LCB0MCwgY3R4KQorLSAgICAgICAgfHwgIWdyb3VwLT5tZXRoLT5maWVsZF9tdWwoZ3JvdXAsIHQy LCByLT5aLCBwLT5aLCBjdHgpCistICAgICAgICB8fCAhZ3JvdXAtPm1ldGgtPmZpZWxkX3Nxcihn cm91cCwgdDQsIHQyLCBjdHgpCistICAgICAgICB8fCAhQk5fbW9kX2xzaGlmdDFfcXVpY2sodDUs IGdyb3VwLT5iLCBncm91cC0+ZmllbGQpCistICAgICAgICB8fCAhZ3JvdXAtPm1ldGgtPmZpZWxk X211bChncm91cCwgdDQsIHQ0LCB0NSwgY3R4KQorLSAgICAgICAgfHwgIWdyb3VwLT5tZXRoLT5m aWVsZF9tdWwoZ3JvdXAsIHQ2LCB0MiwgZ3JvdXAtPmEsIGN0eCkKKy0gICAgICAgIHx8ICFncm91 cC0+bWV0aC0+ZmllbGRfbXVsKGdyb3VwLCB0NSwgci0+WCwgcC0+WCwgY3R4KQorLSAgICAgICAg fHwgIUJOX21vZF9hZGRfcXVpY2sodDUsIHQ2LCB0NSwgZ3JvdXAtPmZpZWxkKQorLSAgICAgICAg fHwgIWdyb3VwLT5tZXRoLT5maWVsZF9tdWwoZ3JvdXAsIHQ2LCByLT5aLCBwLT5YLCBjdHgpCist ICAgICAgICB8fCAhQk5fbW9kX2FkZF9xdWljayh0MiwgdDYsIHQxLCBncm91cC0+ZmllbGQpCist ICAgICAgICB8fCAhZ3JvdXAtPm1ldGgtPmZpZWxkX211bChncm91cCwgdDUsIHQ1LCB0MiwgY3R4 KQorLSAgICAgICAgfHwgIUJOX21vZF9zdWJfcXVpY2sodDYsIHQ2LCB0MSwgZ3JvdXAtPmZpZWxk KQorLSAgICAgICAgfHwgIWdyb3VwLT5tZXRoLT5maWVsZF9zcXIoZ3JvdXAsIHQ2LCB0NiwgY3R4 KQorLSAgICAgICAgfHwgIWdyb3VwLT5tZXRoLT5maWVsZF9tdWwoZ3JvdXAsIHQ2LCB0Niwgcy0+ WCwgY3R4KQorLSAgICAgICAgfHwgIUJOX21vZF9hZGRfcXVpY2sodDQsIHQ1LCB0NCwgZ3JvdXAt PmZpZWxkKQorLSAgICAgICAgfHwgIWdyb3VwLT5tZXRoLT5maWVsZF9tdWwoZ3JvdXAsIHQ0LCB0 NCwgcy0+WiwgY3R4KQorLSAgICAgICAgfHwgIUJOX21vZF9zdWJfcXVpY2sodDQsIHQ0LCB0Niwg Z3JvdXAtPmZpZWxkKQorLSAgICAgICAgfHwgIWdyb3VwLT5tZXRoLT5maWVsZF9zcXIoZ3JvdXAs IHQ1LCByLT5aLCBjdHgpCistICAgICAgICB8fCAhZ3JvdXAtPm1ldGgtPmZpZWxkX211bChncm91 cCwgci0+WiwgcC0+Wiwgcy0+WiwgY3R4KQorLSAgICAgICAgfHwgIWdyb3VwLT5tZXRoLT5maWVs ZF9tdWwoZ3JvdXAsIHItPlosIHQ1LCByLT5aLCBjdHgpCistICAgICAgICB8fCAhZ3JvdXAtPm1l dGgtPmZpZWxkX211bChncm91cCwgci0+Wiwgci0+WiwgdDAsIGN0eCkKKy0gICAgICAgIC8qIHQz IDo9IFgsIHQ0IDo9IFkgKi8KKy0gICAgICAgIC8qIChYLFksWikgLT4gKFhaLFlaKioyLFopICov CistICAgICAgICB8fCAhZ3JvdXAtPm1ldGgtPmZpZWxkX211bChncm91cCwgci0+WCwgdDMsIHIt PlosIGN0eCkKKysgICAgICAgIHx8ICFCTl9tb2RfbHNoaWZ0MV9xdWljayh0NCwgcC0+WSwgZ3Jv dXAtPmZpZWxkKQorKyAgICAgICAgfHwgIWdyb3VwLT5tZXRoLT5maWVsZF9tdWwoZ3JvdXAsIHQ2 LCByLT5YLCB0NCwgY3R4KQorKyAgICAgICAgfHwgIWdyb3VwLT5tZXRoLT5maWVsZF9tdWwoZ3Jv dXAsIHQ2LCBzLT5aLCB0NiwgY3R4KQorKyAgICAgICAgfHwgIWdyb3VwLT5tZXRoLT5maWVsZF9t dWwoZ3JvdXAsIHQ1LCByLT5aLCB0NiwgY3R4KQorKyAgICAgICAgfHwgIUJOX21vZF9sc2hpZnQx X3F1aWNrKHQxLCBncm91cC0+YiwgZ3JvdXAtPmZpZWxkKQorKyAgICAgICAgfHwgIWdyb3VwLT5t ZXRoLT5maWVsZF9tdWwoZ3JvdXAsIHQxLCBzLT5aLCB0MSwgY3R4KQorICAgICAgICAgfHwgIWdy b3VwLT5tZXRoLT5maWVsZF9zcXIoZ3JvdXAsIHQzLCByLT5aLCBjdHgpCistICAgICAgICB8fCAh Z3JvdXAtPm1ldGgtPmZpZWxkX211bChncm91cCwgci0+WSwgdDQsIHQzLCBjdHgpKQorKyAgICAg ICAgfHwgIWdyb3VwLT5tZXRoLT5maWVsZF9tdWwoZ3JvdXAsIHQyLCB0MywgdDEsIGN0eCkKKysg ICAgICAgIHx8ICFncm91cC0+bWV0aC0+ZmllbGRfbXVsKGdyb3VwLCB0Niwgci0+WiwgZ3JvdXAt PmEsIGN0eCkKKysgICAgICAgIHx8ICFncm91cC0+bWV0aC0+ZmllbGRfbXVsKGdyb3VwLCB0MSwg cC0+WCwgci0+WCwgY3R4KQorKyAgICAgICAgfHwgIUJOX21vZF9hZGRfcXVpY2sodDEsIHQxLCB0 NiwgZ3JvdXAtPmZpZWxkKQorKyAgICAgICAgfHwgIWdyb3VwLT5tZXRoLT5maWVsZF9tdWwoZ3Jv dXAsIHQxLCBzLT5aLCB0MSwgY3R4KQorKyAgICAgICAgfHwgIWdyb3VwLT5tZXRoLT5maWVsZF9t dWwoZ3JvdXAsIHQwLCBwLT5YLCByLT5aLCBjdHgpCisrICAgICAgICB8fCAhQk5fbW9kX2FkZF9x dWljayh0Niwgci0+WCwgdDAsIGdyb3VwLT5maWVsZCkKKysgICAgICAgIHx8ICFncm91cC0+bWV0 aC0+ZmllbGRfbXVsKGdyb3VwLCB0NiwgdDYsIHQxLCBjdHgpCisrICAgICAgICB8fCAhQk5fbW9k X2FkZF9xdWljayh0NiwgdDYsIHQyLCBncm91cC0+ZmllbGQpCisrICAgICAgICB8fCAhQk5fbW9k X3N1Yl9xdWljayh0MCwgdDAsIHItPlgsIGdyb3VwLT5maWVsZCkKKysgICAgICAgIHx8ICFncm91 cC0+bWV0aC0+ZmllbGRfc3FyKGdyb3VwLCB0MCwgdDAsIGN0eCkKKysgICAgICAgIHx8ICFncm91 cC0+bWV0aC0+ZmllbGRfbXVsKGdyb3VwLCB0MCwgdDAsIHMtPlgsIGN0eCkKKysgICAgICAgIHx8 ICFCTl9tb2Rfc3ViX3F1aWNrKHQwLCB0NiwgdDAsIGdyb3VwLT5maWVsZCkKKysgICAgICAgIHx8 ICFncm91cC0+bWV0aC0+ZmllbGRfbXVsKGdyb3VwLCB0MSwgcy0+WiwgdDQsIGN0eCkKKysgICAg ICAgIHx8ICFncm91cC0+bWV0aC0+ZmllbGRfbXVsKGdyb3VwLCB0MSwgdDMsIHQxLCBjdHgpCisr ICAgICAgICB8fCAoZ3JvdXAtPm1ldGgtPmZpZWxkX2RlY29kZSAhPSBOVUxMCisrICAgICAgICAg ICAgJiYgIWdyb3VwLT5tZXRoLT5maWVsZF9kZWNvZGUoZ3JvdXAsIHQxLCB0MSwgY3R4KSkKKysg ICAgICAgIHx8ICFncm91cC0+bWV0aC0+ZmllbGRfaW52KGdyb3VwLCB0MSwgdDEsIGN0eCkKKysg ICAgICAgIHx8IChncm91cC0+bWV0aC0+ZmllbGRfZW5jb2RlICE9IE5VTEwKKysgICAgICAgICAg ICAmJiAhZ3JvdXAtPm1ldGgtPmZpZWxkX2VuY29kZShncm91cCwgdDEsIHQxLCBjdHgpKQorKyAg ICAgICAgfHwgIWdyb3VwLT5tZXRoLT5maWVsZF9tdWwoZ3JvdXAsIHItPlgsIHQ1LCB0MSwgY3R4 KQorKyAgICAgICAgfHwgIWdyb3VwLT5tZXRoLT5maWVsZF9tdWwoZ3JvdXAsIHItPlksIHQwLCB0 MSwgY3R4KSkKKyAgICAgICAgIGdvdG8gZXJyOworIAorKyAgICBpZiAoZ3JvdXAtPm1ldGgtPmZp ZWxkX3NldF90b19vbmUgIT0gTlVMTCkgeworKyAgICAgICAgaWYgKCFncm91cC0+bWV0aC0+Zmll bGRfc2V0X3RvX29uZShncm91cCwgci0+WiwgY3R4KSkKKysgICAgICAgICAgICBnb3RvIGVycjsK KysgICAgfSBlbHNlIHsKKysgICAgICAgIGlmICghQk5fb25lKHItPlopKQorKyAgICAgICAgICAg IGdvdG8gZXJyOworKyAgICB9CisrCisrICAgIHItPlpfaXNfb25lID0gMTsKKyAgICAgcmV0ID0g MTsKKyAKKyAgZXJyOgorZGlmZiAtLWdpdCBhL2NyeXB0by94NTA5L3g1MDlfdmZ5LmMgYi9jcnlw dG8veDUwOS94NTA5X3ZmeS5jCitpbmRleCBmMjhmMmQyNjEwLi40MTYyNWU3NWFkIDEwMDY0NAor LS0tIGEvY3J5cHRvL3g1MDkveDUwOV92ZnkuYworKysrIGIvY3J5cHRvL3g1MDkveDUwOV92Znku YworQEAgLTUwOCw2ICs1MDgsMTIgQEAgc3RhdGljIGludCBjaGVja19jaGFpbl9leHRlbnNpb25z KFg1MDlfU1RPUkVfQ1RYICpjdHgpCisgICAgICAgICAgICAgICAgIHJldCA9IDE7CisgICAgICAg ICAgICAgYnJlYWs7CisgICAgICAgICB9CisrICAgICAgICBpZiAoKHgtPmV4X2ZsYWdzICYgRVhG TEFHX0NBKSA9PSAwCisrICAgICAgICAgICAgJiYgeC0+ZXhfcGF0aGxlbiAhPSAtMQorKyAgICAg ICAgICAgICYmIChjdHgtPnBhcmFtLT5mbGFncyAmIFg1MDlfVl9GTEFHX1g1MDlfU1RSSUNUKSkg eworKyAgICAgICAgICAgIGN0eC0+ZXJyb3IgPSBYNTA5X1ZfRVJSX0lOVkFMSURfRVhURU5TSU9O OworKyAgICAgICAgICAgIHJldCA9IDA7CisrICAgICAgICB9CisgICAgICAgICBpZiAocmV0ID09 IDAgJiYgIXZlcmlmeV9jYl9jZXJ0KGN0eCwgeCwgaSwgWDUwOV9WX09LKSkKKyAgICAgICAgICAg ICByZXR1cm4gMDsKKyAgICAgICAgIC8qIGNoZWNrX3B1cnBvc2UoKSBtYWtlcyB0aGUgY2FsbGJh Y2sgYXMgbmVlZGVkICovCitkaWZmIC0tZ2l0IGEvY3J5cHRvL3g1MDl2My92M19wdXJwLmMgYi9j cnlwdG8veDUwOXYzL3YzX3B1cnAuYworaW5kZXggMmJjODI1M2QyZC4uMmVhYWQxYTc2MyAxMDA2 NDQKKy0tLSBhL2NyeXB0by94NTA5djMvdjNfcHVycC5jCisrKysgYi9jcnlwdG8veDUwOXYzL3Yz X3B1cnAuYworQEAgLTM4NCwxMiArMzg0LDE2IEBAIHN0YXRpYyB2b2lkIHg1MDl2M19jYWNoZV9l eHRlbnNpb25zKFg1MDkgKngpCisgICAgICAgICBpZiAoYnMtPmNhKQorICAgICAgICAgICAgIHgt PmV4X2ZsYWdzIHw9IEVYRkxBR19DQTsKKyAgICAgICAgIGlmIChicy0+cGF0aGxlbikgeworLSAg ICAgICAgICAgIGlmICgoYnMtPnBhdGhsZW4tPnR5cGUgPT0gVl9BU04xX05FR19JTlRFR0VSKQor LSAgICAgICAgICAgICAgICB8fCAhYnMtPmNhKSB7CisrICAgICAgICAgICAgaWYgKGJzLT5wYXRo bGVuLT50eXBlID09IFZfQVNOMV9ORUdfSU5URUdFUikgeworICAgICAgICAgICAgICAgICB4LT5l eF9mbGFncyB8PSBFWEZMQUdfSU5WQUxJRDsKKyAgICAgICAgICAgICAgICAgeC0+ZXhfcGF0aGxl biA9IDA7CistICAgICAgICAgICAgfSBlbHNlCisrICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg ICAgICAgICAgICAgeC0+ZXhfcGF0aGxlbiA9IEFTTjFfSU5URUdFUl9nZXQoYnMtPnBhdGhsZW4p OworKyAgICAgICAgICAgICAgICBpZiAoIWJzLT5jYSAmJiB4LT5leF9wYXRobGVuICE9IDApIHsK KysgICAgICAgICAgICAgICAgICAgIHgtPmV4X2ZsYWdzIHw9IEVYRkxBR19JTlZBTElEOworKyAg ICAgICAgICAgICAgICAgICAgeC0+ZXhfcGF0aGxlbiA9IDA7CisrICAgICAgICAgICAgICAgIH0K KysgICAgICAgICAgICB9CisgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICB4LT5leF9wYXRo bGVuID0gLTE7CisgICAgICAgICBCQVNJQ19DT05TVFJBSU5UU19mcmVlKGJzKTsKK2RpZmYgLS1n aXQgYS9kb2MvbWFuMy9FVlBfYWVzLnBvZCBiL2RvYy9tYW4zL0VWUF9hZXMucG9kCitpbmRleCA0 MTkyYTllYzM2Li43ZGI0OGE0MjdmIDEwMDY0NAorLS0tIGEvZG9jL21hbjMvRVZQX2Flcy5wb2QK KysrKyBiL2RvYy9tYW4zL0VWUF9hZXMucG9kCitAQCAtMTYwLDYgKzE2MCwxMyBAQCBJbiBwYXJ0 aWN1bGFyLCBYVFMtQUVTLTEyOCAoQjxFVlBfYWVzXzEyOF94dHM+KSB0YWtlcyBpbnB1dCBvZiBh IDI1Ni1iaXQga2V5IHRvCisgYWNoaWV2ZSBBRVMgMTI4LWJpdCBzZWN1cml0eSwgYW5kIFhUUy1B RVMtMjU2IChCPEVWUF9hZXNfMjU2X3h0cz4pIHRha2VzIGlucHV0Cisgb2YgYSA1MTItYml0IGtl eSB0byBhY2hpZXZlIEFFUyAyNTYtYml0IHNlY3VyaXR5LgorIAorK1RoZSBYVFMgaW1wbGVtZW50 YXRpb24gaW4gT3BlblNTTCBkb2VzIG5vdCBzdXBwb3J0IHN0cmVhbWluZy4gVGhhdCBpcyB0aGVy ZSBtdXN0Cisrb25seSBiZSBvbmUgTDxFVlBfRW5jcnlwdFVwZGF0ZSgzKT4gY2FsbCBwZXIgTDxF VlBfRW5jcnlwdEluaXRfZXgoMyk+IGNhbGwgKGFuZAorK3NpbWlsYXJseSB3aXRoIHRoZSAiRGVj cnlwdCIgZnVuY3Rpb25zKS4KKysKKytUaGUgSTxpdj4gcGFyYW1ldGVyIHRvIEw8RVZQX0VuY3J5 cHRJbml0X2V4KDMpPiBvciBMPEVWUF9EZWNyeXB0SW5pdF9leCgzKT4gaXMKKyt0aGUgWFRTICJ0 d2VhayIgdmFsdWUuCisrCisgPWJhY2sKKyAKKyA9aGVhZDEgUkVUVVJOIFZBTFVFUworZGlmZiAt LWdpdCBhL3Rlc3QvY2VydHMvZWUtcGF0aGxlbi5wZW0gYi90ZXN0L2NlcnRzL2VlLXBhdGhsZW4u cGVtCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uMGJjYWUxZDdiZAor LS0tIC9kZXYvbnVsbAorKysrIGIvdGVzdC9jZXJ0cy9lZS1wYXRobGVuLnBlbQorQEAgLTAsMCAr MSwxNyBAQAorKy0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQorK01JSUNzekNDQVp1Z0F3SUJB Z0lCQWpBTkJna3Foa2lHOXcwQkFRc0ZBREFOTVFzd0NRWURWUVFEREFKRFFUQWcKKytGdzB5TURB ME1ETXdPREEwTVRWYUdBOHlNVEl3TURRd05EQTRNRFF4TlZvd0dURVhNQlVHQTFVRUF3d09jMlZ5 CisrZG1WeUxtVjRZVzF3YkdVd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0Fv SUJBUUNvLzRsWQorK1lZV3UzdHNzRDlWeisrSzNxQnQ2ZFdBcjFIMDhjM2ExcnQ2VEwzOGtrRzNK SFBTS09NMmZvb0FXVnN1MExMdVQKKys1UmNmL3czR1EvNHhOUGdvMkhYcG83dUlndStqY3VKVFln VkZUZUF4bCsrcW5SRFNXQTJlQnA0eXV4c0lWbDFsCisrRHo5bWpzSTJvQkgvd0ZrMS9Va2MzUnhD TXdaNHJnUTRJK1huZFdmVGxLMWFxVUFmckZrUTlRekJaSzFLeE1ZMQorK1U3T1dhb0liRll2Um1h dmtubStVcXRLVzVWZjdqSkZraWp3a0ZzYlNHYjZDWUJNN1lyRHRQaDJ6eXZscjN6RzUKKytlcDVM UjJpbktjYy9TdUlpSjdUdmtHUFg3OUJ5U1Q1YnJia2IxQ3R2aG1qZDFYTVN1RVBKM0VFUG9xTkdU NHRuCisraUlRUFlmNTVOQjlLaVIrM0FnTUJBQUdqRURBT01Bd0dBMVVkRXdRRk1BTUNBUUF3RFFZ SktvWklodmNOQVFFTAorK0JRQURnZ0VCQUFwT1VuV1dkMDlJMHRzM3hhMW9LN2Vha2MrZktURjRk N3BiR3puRk5PTmFDUjNLRlJnbkJWbEcKKytCbTgvb2VocnJRMjhBZDNYUFN1ZzM0RFFRNWtNNkpJ dWFkZHg1MC9uNFhrZ2o4L2ZnWFZBMEhYaXpPSjNRcEtDCisrSW9qTFZhalhsUUhocG83MlZVUXVO T2hhMFV4RzlkYVlqUzIwaVhSaGFuVG05clV6N3FRWkV1Z1ZRQ2lSMHovZgorKzlOZ003RlU5VWFT aWR6SDNnWnUvVWZjNEdnbjZuWlY3TE05c2Y0SVVWK0tzelMxVnBjSys5cGhBbXNCNkJhQWkKKytj Rlh2VlhaalROdWFsUWdQeVB3T0Q4Yyt2VkNJZkllbWZGNVRaNmZ5cXBPanByV1FBcGh3clR0Zk5E U21xUlR6CisrRlJoRGYrdkpFUlFjbGdVdGczN0VnV0dLdG5OUWVSWT0KKystLS0tLUVORCBDRVJU SUZJQ0FURS0tLS0tCitkaWZmIC0tZ2l0IGEvdGVzdC9jZXJ0cy9zZXR1cC5zaCBiL3Rlc3QvY2Vy dHMvc2V0dXAuc2gKK2luZGV4IDJkNTNlYTViMDguLmJiZTQ4NDJhNTEgMTAwNzU1CistLS0gYS90 ZXN0L2NlcnRzL3NldHVwLnNoCisrKysgYi90ZXN0L2NlcnRzL3NldHVwLnNoCitAQCAtMTU0LDcg KzE1NCw3IEBAIG9wZW5zc2wgeDUwOSAtaW4gc2NhLWNlcnQucGVtIC10cnVzdG91dCBcCisgICAg IC1hZGR0cnVzdCBhbnlFeHRlbmRlZEtleVVzYWdlIC1vdXQgc2NhK2FueUVLVS5wZW0KKyAKKyAj IFByaW1hcnkgbGVhZiBjZXJ0OiBlZS1jZXJ0CistIyBlZSB2YXJpYW50czogZXhwaXJlZCwgaXNz dWVyLWtleTIsIGlzc3Vlci1uYW1lMgorKyMgZWUgdmFyaWFudHM6IGV4cGlyZWQsIGlzc3Vlci1r ZXkyLCBpc3N1ZXItbmFtZTIsIGJhZC1wYXRobGVuCisgIyB0cnVzdCB2YXJpYW50czogK3NlcnZl ckF1dGgsIC1zZXJ2ZXJBdXRoLCArY2xpZW50QXV0aCwgLWNsaWVudEF1dGgKKyAjIHB1cnBvc2Ug dmFyaWFudHM6IGNsaWVudAorICMKK0BAIC0xNjMsNiArMTYzLDggQEAgb3BlbnNzbCB4NTA5IC1p biBzY2EtY2VydC5wZW0gLXRydXN0b3V0IFwKKyAuL21rY2VydC5zaCBnZW5lZSBzZXJ2ZXIuZXhh bXBsZSBlZS1rZXkgZWUtY2VydDIgY2Eta2V5MiBjYS1jZXJ0MgorIC4vbWtjZXJ0LnNoIGdlbmVl IHNlcnZlci5leGFtcGxlIGVlLWtleSBlZS1uYW1lMiBjYS1rZXkgY2EtbmFtZTIKKyAuL21rY2Vy dC5zaCBnZW5lZSAtcCBjbGllbnRBdXRoIHNlcnZlci5leGFtcGxlIGVlLWtleSBlZS1jbGllbnQg Y2Eta2V5IGNhLWNlcnQKKysuL21rY2VydC5zaCBnZW5lZSBzZXJ2ZXIuZXhhbXBsZSBlZS1rZXkg ZWUtcGF0aGxlbiBjYS1rZXkgY2EtY2VydCBcCisrICAgIC1leHRmaWxlIDwoZWNobyAiYmFzaWND b25zdHJhaW50cz1DQTpGQUxTRSxwYXRobGVuOjAiKQorICMKKyBvcGVuc3NsIHg1MDkgLWluIGVl LWNlcnQucGVtIC10cnVzdG91dCBcCisgICAgIC1hZGR0cnVzdCBzZXJ2ZXJBdXRoIC1vdXQgZWUr c2VydmVyQXV0aC5wZW0KK2RpZmYgLS1naXQgYS90ZXN0L3JlY2lwZXMvMjUtdGVzdF92ZXJpZnku dCBiL3Rlc3QvcmVjaXBlcy8yNS10ZXN0X3ZlcmlmeS50CitpbmRleCBiODBhMWNkZTNlLi4wZTBm NWRjYTIxIDEwMDY0NAorLS0tIGEvdGVzdC9yZWNpcGVzLzI1LXRlc3RfdmVyaWZ5LnQKKysrKyBi L3Rlc3QvcmVjaXBlcy8yNS10ZXN0X3ZlcmlmeS50CitAQCAtMjcsNyArMjcsNyBAQCBzdWIgdmVy aWZ5IHsKKyAgICAgcnVuKGFwcChbQGFyZ3NdKSk7CisgfQorIAorLXBsYW4gdGVzdHMgPT4gMTM1 OworK3BsYW4gdGVzdHMgPT4gMTM3OworIAorICMgQ2Fub25pY2FsIHN1Y2Nlc3MKKyBvayh2ZXJp ZnkoImVlLWNlcnQiLCAic3Nsc2VydmVyIiwgWyJyb290LWNlcnQiXSwgWyJjYS1jZXJ0Il0pLAor QEAgLTIyMiw2ICsyMjIsMTAgQEAgb2sodmVyaWZ5KCJlZS1jbGllbnQiLCAic3NsY2xpZW50Iiwg W3F3KGVlK2NsaWVudEF1dGgpXSwgW10sICItcGFydGlhbF9jaGFpbiIpLAorICAgICJhY2NlcHQg ZGlyZWN0IG1hdGNoIHdpdGggY2xpZW50IHRydXN0Iik7Cisgb2soIXZlcmlmeSgiZWUtY2xpZW50 IiwgInNzbGNsaWVudCIsIFtxdyhlZS1jbGllbnRBdXRoKV0sIFtdLCAiLXBhcnRpYWxfY2hhaW4i KSwKKyAgICAicmVqZWN0IGRpcmVjdCBtYXRjaCB3aXRoIGNsaWVudCBtaXN0cnVzdCIpOworK29r KHZlcmlmeSgiZWUtcGF0aGxlbiIsICJzc2xzZXJ2ZXIiLCBbcXcocm9vdC1jZXJ0KV0sIFtxdyhj YS1jZXJ0KV0pLAorKyAgICJhY2NlcHQgbm9uLWNhIHdpdGggcGF0aGxlbjowIGJ5IGRlZmF1bHQi KTsKKytvayghdmVyaWZ5KCJlZS1wYXRobGVuIiwgInNzbHNlcnZlciIsIFtxdyhyb290LWNlcnQp XSwgW3F3KGNhLWNlcnQpXSwgIi14NTA5X3N0cmljdCIpLAorKyAgICJyZWplY3Qgbm9uLWNhIHdp dGggcGF0aGxlbjowIHdpdGggc3RyaWN0IGZsYWciKTsKKyAKKyAjIFByb3h5IGNlcnRpZmljYXRl cworIG9rKCF2ZXJpZnkoInBjMS1jZXJ0IiwgInNzbGNsaWVudCIsIFtxdyhyb290LWNlcnQpXSwg W3F3KGVlLWNsaWVudCBjYS1jZXJ0KV0pLAorZGlmZiAtLWdpdCBhL3Rlc3Qvc20yX2ludGVybmFs X3Rlc3QuYyBiL3Rlc3Qvc20yX2ludGVybmFsX3Rlc3QuYworaW5kZXggOTUyZjY4OGU4Yi4uZjdl NGUzOGQwMyAxMDA2NDQKKy0tLSBhL3Rlc3Qvc20yX2ludGVybmFsX3Rlc3QuYworKysrIGIvdGVz dC9zbTJfaW50ZXJuYWxfdGVzdC5jCitAQCAtMzIsMTcgKzMyLDE4IEBAIHN0YXRpYyBzaXplX3Qg ZmFrZV9yYW5kX3NpemUgPSAwOworIAorIHN0YXRpYyBpbnQgZ2V0X2Zha2VkX2J5dGVzKHVuc2ln bmVkIGNoYXIgKmJ1ZiwgaW50IG51bSkKKyB7CistICAgIGludCBpOworLQorICAgICBpZiAoZmFr ZV9yYW5kX2J5dGVzID09IE5VTEwpCisgICAgICAgICByZXR1cm4gc2F2ZWRfcmFuZC0+Ynl0ZXMo YnVmLCBudW0pOworIAorLSAgICBpZiAoIVRFU1Rfc2l6ZV90X2xlKGZha2VfcmFuZF9ieXRlc19v ZmZzZXQgKyBudW0sIGZha2VfcmFuZF9zaXplKSkKKysgICAgaWYgKCFURVNUX3NpemVfdF9ndChm YWtlX3JhbmRfc2l6ZSwgMCkpCisgICAgICAgICByZXR1cm4gMDsKKyAKKy0gICAgZm9yIChpID0g MDsgaSAhPSBudW07ICsraSkKKy0gICAgICAgIGJ1ZltpXSA9IGZha2VfcmFuZF9ieXRlc1tmYWtl X3JhbmRfYnl0ZXNfb2Zmc2V0ICsgaV07CistICAgIGZha2VfcmFuZF9ieXRlc19vZmZzZXQgKz0g bnVtOworKyAgICB3aGlsZSAobnVtLS0gPiAwKSB7CisrICAgICAgICBpZiAoZmFrZV9yYW5kX2J5 dGVzX29mZnNldCA+PSBmYWtlX3JhbmRfc2l6ZSkKKysgICAgICAgICAgICBmYWtlX3JhbmRfYnl0 ZXNfb2Zmc2V0ID0gMDsKKysgICAgICAgICpidWYrKyA9IGZha2VfcmFuZF9ieXRlc1tmYWtlX3Jh bmRfYnl0ZXNfb2Zmc2V0KytdOworKyAgICB9CisrCisgICAgIHJldHVybiAxOworIH0KKyAKK0BA IC0xNzUsOCArMTc2LDcgQEAgc3RhdGljIGludCB0ZXN0X3NtMl9jcnlwdChjb25zdCBFQ19HUk9V UCAqZ3JvdXAsCisgCisgICAgIHN0YXJ0X2Zha2VfcmFuZChrX2hleCk7CisgICAgIGlmICghVEVT VF90cnVlKHNtMl9lbmNyeXB0KGtleSwgZGlnZXN0LCAoY29uc3QgdWludDhfdCAqKW1lc3NhZ2Us IG1zZ19sZW4sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0ZXh0LCAmY3RleHRf bGVuKSkKKy0gICAgICAgICAgICB8fCAhVEVTVF9zaXplX3RfZXEoZmFrZV9yYW5kX2J5dGVzX29m ZnNldCwgZmFrZV9yYW5kX3NpemUpKSB7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGN0ZXh0LCAmY3RleHRfbGVuKSkpIHsKKyAgICAgICAgIHJlc3RvcmVfcmFuZCgpOworICAgICAg ICAgZ290byBkb25lOworICAgICB9CitAQCAtMjk2LDggKzI5Niw3IEBAIHN0YXRpYyBpbnQgdGVz dF9zbTJfc2lnbihjb25zdCBFQ19HUk9VUCAqZ3JvdXAsCisgICAgIHN0YXJ0X2Zha2VfcmFuZChr X2hleCk7CisgICAgIHNpZyA9IHNtMl9kb19zaWduKGtleSwgRVZQX3NtMygpLCAoY29uc3QgdWlu dDhfdCAqKXVzZXJpZCwgc3RybGVuKHVzZXJpZCksCisgICAgICAgICAgICAgICAgICAgICAgIChj b25zdCB1aW50OF90ICopbWVzc2FnZSwgbXNnX2xlbik7CistICAgIGlmICghVEVTVF9wdHIoc2ln KQorLSAgICAgICAgICAgIHx8ICFURVNUX3NpemVfdF9lcShmYWtlX3JhbmRfYnl0ZXNfb2Zmc2V0 LCBmYWtlX3JhbmRfc2l6ZSkpIHsKKysgICAgaWYgKCFURVNUX3B0cihzaWcpKSB7CisgICAgICAg ICByZXN0b3JlX3JhbmQoKTsKKyAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgfQoKZGlmZiAtLWdp dCBhL29wZW5zc2wtMS4xLjEtdmVyc2lvbi1vdmVycmlkZS5wYXRjaCBiL29wZW5zc2wtMS4xLjEt dmVyc2lvbi1vdmVycmlkZS5wYXRjaAppbmRleCA4NDA0ZDdmLi40OGQyNWE3IDEwMDY0NAotLS0g YS9vcGVuc3NsLTEuMS4xLXZlcnNpb24tb3ZlcnJpZGUucGF0Y2gKKysrIGIvb3BlbnNzbC0xLjEu MS12ZXJzaW9uLW92ZXJyaWRlLnBhdGNoCkBAIC0xLDEyICsxLDEyIEBACi1kaWZmIC11cCBvcGVu c3NsLTEuMS4xZS9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbHYuaC52ZXJzaW9uLW92ZXJyaWRlIG9w ZW5zc2wtMS4xLjFlL2luY2x1ZGUvb3BlbnNzbC9vcGVuc3Nsdi5oCi0tLS0gb3BlbnNzbC0xLjEu MWUvaW5jbHVkZS9vcGVuc3NsL29wZW5zc2x2LmgudmVyc2lvbi1vdmVycmlkZQkyMDIwLTAzLTE3 IDE4OjA1OjAwLjc1MDc0OTk4NyArMDEwMAotKysrIG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUvb3Bl bnNzbC9vcGVuc3Nsdi5oCTIwMjAtMDMtMTcgMTg6MDU6NDEuNDA0MDM4NjE5ICswMTAwCitkaWZm IC11cCBvcGVuc3NsLTEuMS4xZi9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbHYuaC52ZXJzaW9uLW92 ZXJyaWRlIG9wZW5zc2wtMS4xLjFmL2luY2x1ZGUvb3BlbnNzbC9vcGVuc3Nsdi5oCistLS0gb3Bl bnNzbC0xLjEuMWYvaW5jbHVkZS9vcGVuc3NsL29wZW5zc2x2LmgudmVyc2lvbi1vdmVycmlkZQky MDIwLTA0LTA3IDE2OjQ2OjIxLjc5Mjk5ODI0MiArMDIwMAorKysrIG9wZW5zc2wtMS4xLjFmL2lu Y2x1ZGUvb3BlbnNzbC9vcGVuc3Nsdi5oCTIwMjAtMDQtMDcgMTY6NDc6MTguOTE5OTYyNTY0ICsw MjAwCiBAQCAtNDAsNyArNDAsNyBAQCBleHRlcm4gIkMiIHsKICAgKiAgbWFqb3IgbWlub3IgZml4 IGZpbmFsIHBhdGNoL2JldGEpCiAgICovCi0gIyBkZWZpbmUgT1BFTlNTTF9WRVJTSU9OX05VTUJF UiAgMHgxMDEwMTA1ZkwKLS0jIGRlZmluZSBPUEVOU1NMX1ZFUlNJT05fVEVYVCAgICAiT3BlblNT TCAxLjEuMWUgIDE3IE1hciAyMDIwIgotKyMgZGVmaW5lIE9QRU5TU0xfVkVSU0lPTl9URVhUICAg ICJPcGVuU1NMIDEuMS4xZSBGSVBTICAxNyBNYXIgMjAyMCIKKyAjIGRlZmluZSBPUEVOU1NMX1ZF UlNJT05fTlVNQkVSICAweDEwMTAxMDZmTAorLSMgZGVmaW5lIE9QRU5TU0xfVkVSU0lPTl9URVhU ICAgICJPcGVuU1NMIDEuMS4xZiAgMzEgTWFyIDIwMjAiCisrIyBkZWZpbmUgT1BFTlNTTF9WRVJT SU9OX1RFWFQgICAgIk9wZW5TU0wgMS4xLjFmIEZJUFMgIDMxIE1hciAyMDIwIgogIAogIC8qLQog ICAqIFRoZSBtYWNyb3MgYmVsb3cgYXJlIHRvIGJlIHVzZWQgZm9yIHNoYXJlZCBsaWJyYXJ5ICgu c28sIC5kbGwsIC4uLikKCmRpZmYgLS1naXQgYS9vcGVuc3NsLnNwZWMgYi9vcGVuc3NsLnNwZWMK aW5kZXggMDY2NjdiNi4uMDY1NDMyZCAxMDA2NDQKLS0tIGEvb3BlbnNzbC5zcGVjCisrKyBiL29w ZW5zc2wuc3BlYwpAQCAtMjEsOCArMjEsOCBAQAogCiBTdW1tYXJ5OiBVdGlsaXRpZXMgZnJvbSB0 aGUgZ2VuZXJhbCBwdXJwb3NlIGNyeXB0b2dyYXBoeSBsaWJyYXJ5IHdpdGggVExTIGltcGxlbWVu dGF0aW9uCiBOYW1lOiBvcGVuc3NsCi1WZXJzaW9uOiAxLjEuMWUKLVJlbGVhc2U6IDIlez9kaXN0 fQorVmVyc2lvbjogMS4xLjFmCitSZWxlYXNlOiAxJXs/ZGlzdH0KIEVwb2NoOiAxCiAjIFdlIGhh dmUgdG8gcmVtb3ZlIGNlcnRhaW4gcGF0ZW50ZWQgYWxnb3JpdGhtcyBmcm9tIHRoZSBvcGVuc3Ns IHNvdXJjZQogIyB0YXJiYWxsIHdpdGggdGhlIGhvYmJsZS1vcGVuc3NsIHNjcmlwdCB3aGljaCBp cyBpbmNsdWRlZCBiZWxvdy4KQEAgLTY4LDggKzY4LDcgQEAgUGF0Y2g2NTogb3BlbnNzbC0xLjEu MS1maXBzLWRyYmctc2VsZnRlc3QucGF0Y2gKICMgQmFja3BvcnRlZCBmaXhlcyBpbmNsdWRpbmcg c2VjdXJpdHkgZml4ZXMKIFBhdGNoNTI6IG9wZW5zc2wtMS4xLjEtczM5MHgtdXBkYXRlLnBhdGNo CiBQYXRjaDUzOiBvcGVuc3NsLTEuMS4xLWZpcHMtY3JuZy10ZXN0LnBhdGNoCi1QYXRjaDU0OiBv cGVuc3NsLTEuMS4xLXJlZ3Jlc3Npb24tZml4ZXMucGF0Y2gKLVBhdGNoNTU6IG9wZW5zc2wtMS4x LjEtZW9mLWVycm9yLXJldmVydC5wYXRjaAorUGF0Y2g1NDogb3BlbnNzbC0xLjEuMS11cHN0cmVh bS1zeW5jLnBhdGNoCiAKIExpY2Vuc2U6IE9wZW5TU0wKIFVSTDogaHR0cDovL3d3dy5vcGVuc3Ns Lm9yZy8KQEAgLTE3MCwxMSArMTY5LDEwIEBAIGNwICV7U09VUkNFMTN9IHRlc3QvCiAlcGF0Y2g1 MCAtcDEgLWIgLnNzaC1rZGYKICVwYXRjaDUyIC1wMSAtYiAuczM5MHgtdXBkYXRlCiAlcGF0Y2g1 MyAtcDEgLWIgLmNybmctdGVzdAotJXBhdGNoNTQgLXAxIC1iIC5yZWdyZXNzaW9uCiAlcGF0Y2g2 MCAtcDEgLWIgLmtyYjUta2RmCiAlcGF0Y2g2MSAtcDEgLWIgLmludGVsLWNldAogJXBhdGNoNjUg LXAxIC1iIC5kcmJnLXNlbGZ0ZXN0Ci0lcGF0Y2g1NSAtcDEgLWIgLmVvZi1yZXZlcnQKKyVwYXRj aDU0IC1wMSAtYiAudXBzdHJlYW0tc3luYwogCiAKICVidWlsZApAQCAtNDYxLDYgKzQ1OSw5IEBA IGV4cG9ydCBMRF9MSUJSQVJZX1BBVEgKICVsZGNvbmZpZ19zY3JpcHRsZXRzIGxpYnMKIAogJWNo YW5nZWxvZworKiBUdWUgQXByICA3IDIwMjAgVG9tw6HFoSBNcsOheiA8dG1yYXpAcmVkaGF0LmNv bT4gMS4xLjFmLTEKKy0gdXBkYXRlIHRvIHRoZSAxLjEuMWYgcmVsZWFzZQorCiAqIFRodSBNYXIg MjYgMjAyMCBUb23DocWhIE1yw6F6IDx0bXJhekByZWRoYXQuY29tPiAxLjEuMWUtMgogLSByZXZl cnQgdGhlIHVuZXhwZWN0ZWQgRU9GIGVycm9yIHJlcG9ydGluZyBjaGFuZ2UgYXMgaXQgaXMKICAg dG9vIGRpc3J1cHRpdmUgZm9yIHRoZSBzdGFibGUgcmVsZWFzZSBicmFuY2gKCmRpZmYgLS1naXQg YS9zb3VyY2VzIGIvc291cmNlcwppbmRleCAzMjNhYTdhLi45YzMwZTU1IDEwMDY0NAotLS0gYS9z b3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEgKzEgQEAKLVNIQTUxMiAob3BlbnNzbC0xLjEuMWUt aG9iYmxlZC50YXIueHopID0gYjBiNDE1YjM3NmUxMmQ3YTc0ZWViOTE1MzE1NzQxYTlkNGQzY2Vm OTUzOTY5ZWRiNjMyZDQ2ODNlYTA4OGU2MDdlYmViYTM3YzRiZTBjNzgxY2E4MzllYzIwYzEwODE2 NmZhZjVlMjI4ZDc2NDIyMTdmODZmN2FiMWEzZWYxNWEKK1NIQTUxMiAob3BlbnNzbC0xLjEuMWYt aG9iYmxlZC50YXIueHopID0gNTUxZmViMTljODYwNmU4NmQwM2IwNWVmNDcyOTRjYzQ3MDQ4ZTFl MmUzM2UwNDc0YjJlMzA5OTg0ZTAzNGM3MmUwNGIxMjA3NDBlM2IxYWVjYTI3NWZhNGM1MjEzODgz MGE3MjRkMDlhODYxZDUxYzEzM2I2YmFhNzU0ZTIzZDIK