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: Dmitry Belyavskiy To: git-commits@fedoraproject.org Subject: [rpms/openssl] rawhide: Rebase to OpenSSL 4.0.2 Date: Fri, 28 Aug 2026 10:59:14 GMT Message-ID: <178791475477.1.11763054807906989309.rpms-openssl-25b5fc90439d@fedoraproject.org> List-ID: X-Git-Repo: rpms/openssl X-Git-Branch: rawhide X-Git-Rev: 25b5fc90439d6c940a7d62461a3bbfc2a8f45d49 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvb3BlbnNzbApCcmFu Y2ggOiByYXdoaWRlCkNvbW1pdCA6IDI1YjVmYzkwNDM5ZDZjOTQwYTdkNjI0NjFhM2JiZmMyYThm NDVkNDkKQXV0aG9yIDogRG1pdHJ5IEJlbHlhdnNraXkgPGRiZWx5YXZzQHJlZGhhdC5jb20+CkRh dGUgICA6IDIwMjYtMDgtMjhUMTI6NTk6MDQrMDI6MDAKU3RhdHMgIDogKzY3Ly0zNzcgaW4gMjAg ZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL29wZW5z c2wvYy8yNWI1ZmM5MDQzOWQ2Yzk0MGE3ZDYyNDYxYTNiYmZjMmE4ZjQ1ZDQ5P2JyYW5jaD1yYXdo aWRlCgpMb2c6ClJlYmFzZSB0byBPcGVuU1NMIDQuMC4yCgotLS0KZGlmZiAtLWdpdCBhLy5naXRp Z25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IGE4Mzk2NWMuLmRkM2RmNTcgMTAwNjQ0Ci0tLSBhLy5n aXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtNzEsMyArNzEsNCBAQCBvcGVuc3NsLTEuMC4w YS11c2EudGFyLmJ6MgogL29wZW5zc2wtMy41LjUudGFyLmd6CiAvb3BlbnNzbC00LjAuMC1iZXRh MS50YXIuZ3oKIC9vcGVuc3NsLTQuMC4xLnRhci5negorL29wZW5zc2wtNC4wLjIudGFyLmd6Cgpk aWZmIC0tZ2l0IGEvMDAwMS1SSC1BYXJjaDY0LWFuZC1wcGM2NGxlLXVzZS1saWI2NC5wYXRjaCBi LzAwMDEtUkgtQWFyY2g2NC1hbmQtcHBjNjRsZS11c2UtbGliNjQucGF0Y2gKaW5kZXggMWE4MGMw My4uZGNlZmNiNyAxMDA2NDQKLS0tIGEvMDAwMS1SSC1BYXJjaDY0LWFuZC1wcGM2NGxlLXVzZS1s aWI2NC5wYXRjaAorKysgYi8wMDAxLVJILUFhcmNoNjQtYW5kLXBwYzY0bGUtdXNlLWxpYjY0LnBh dGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA2MjJkYzBiNWQ5YThjZGZmODBlMTJlYWIxYTdkZDU5 M2NmNTM1OGJmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAzZjdlNjE5YjJlNTE0ZmZi YTk3Mzg1OWUyZWM3Y2Q1OTg4Nzk2YzJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTog cnBtLWJ1aWxkIDxycG0tYnVpbGQ+CiBEYXRlOiBXZWQsIDYgTWFyIDIwMjQgMTk6MTc6MTQgKzAx MDAKIFN1YmplY3Q6IFtQQVRDSCAwMS8xNl0gUkg6IEFhcmNoNjQgYW5kIHBwYzY0bGUgdXNlIGxp YjY0CkBAIC0zNCw1ICszNCw1IEBAIGluZGV4IDUyOGM4Mjk4YWEuLmMxMmEwMWU2NTggMTAwNjQ0 CiAgICAgICJsaW51eC1hcm02NGlscDMyIiA9PiB7ICAjIGh0dHBzOi8vd2lraS5saW5hcm8ub3Jn L1BsYXRmb3JtL2FybTY0LWlscDMyCiAgICAgICAgICBpbmhlcml0X2Zyb20gICAgID0+IFsgImxp bnV4LWdlbmVyaWMzMiIgXSwKIC0tIAotMi41NC4wCisyLjU1LjAKIAoKZGlmZiAtLWdpdCBhLzAw MDItQWRkLWEtc2VwYXJhdGUtY29uZmlnLWZpbGUtdG8tdXNlLWZvci1ycG0taW5zdGFsbHMucGF0 Y2ggYi8wMDAyLUFkZC1hLXNlcGFyYXRlLWNvbmZpZy1maWxlLXRvLXVzZS1mb3ItcnBtLWluc3Rh bGxzLnBhdGNoCmluZGV4IDJiMzhkNDcuLmIwYmMwNzkgMTAwNjQ0Ci0tLSBhLzAwMDItQWRkLWEt c2VwYXJhdGUtY29uZmlnLWZpbGUtdG8tdXNlLWZvci1ycG0taW5zdGFsbHMucGF0Y2gKKysrIGIv MDAwMi1BZGQtYS1zZXBhcmF0ZS1jb25maWctZmlsZS10by11c2UtZm9yLXJwbS1pbnN0YWxscy5w YXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNmY0MzE4ZTVhMzZhOTg3OWFiZmFhMDFhYzc4YTFi YTBhNWVhZjBkNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYTExOTM1NTk2ZjAwOTkz OWU5YjMwZjg2Nzc2YjVjNzViZDg0ZDFlNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206 IFNpbW8gU29yY2UgPHNpbW9AcmVkaGF0LmNvbT4KIERhdGU6IFRodSwgNiBNYXIgMjAyNSAwODo0 MDoyOSAtMDUwMAogU3ViamVjdDogW1BBVENIIDAyLzE2XSBBZGQgYSBzZXBhcmF0ZSBjb25maWcg ZmlsZSB0byB1c2UgZm9yIHJwbSBpbnN0YWxscwpAQCAtNDU3LDUgKzQ1Nyw1IEBAIGluZGV4IDAw MDAwMDAwMDAuLjkyZTViZTg4MzcKICtjbWQgPSBycgogK29sZGNlcnQgPSAkaW5zdGE6OmNlcnRv dXQgIyBpbnN0YS5jZXJ0LnBlbQogLS0gCi0yLjU0LjAKKzIuNTUuMAogCgpkaWZmIC0tZ2l0IGEv MDAwMy1SSC1Eby1ub3QtaW5zdGFsbC1odG1sLWRvY3MucGF0Y2ggYi8wMDAzLVJILURvLW5vdC1p bnN0YWxsLWh0bWwtZG9jcy5wYXRjaAppbmRleCAxMTM0ODA1Li44ZjQyNmUzIDEwMDY0NAotLS0g YS8wMDAzLVJILURvLW5vdC1pbnN0YWxsLWh0bWwtZG9jcy5wYXRjaAorKysgYi8wMDAzLVJILURv LW5vdC1pbnN0YWxsLWh0bWwtZG9jcy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gMWQ5MTg5 MzE3MWVlNGYwYzQxNWM2YzVjN2I0ODdjYjhhYjRlMDkxMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKK0Zyb20gMjUzNDM0NDhlYmM2MTE0MzJiNGVlMTU3NmU5OWJmNzYwNmY1MjMwOSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IHJwbS1idWlsZCA8cnBtLWJ1aWxkPgogRGF0ZTogV2Vk LCA2IE1hciAyMDI0IDE5OjE3OjE0ICswMTAwCiBTdWJqZWN0OiBbUEFUQ0ggMDMvMTZdIFJIOiBE byBub3QgaW5zdGFsbCBodG1sIGRvY3MKQEAgLTI2LDUgKzI2LDUgQEAgaW5kZXggZWZmNjZlNTM2 Zi4uNTExYmJiMmVhNyAxMDA2NDQKICB1bmluc3RhbGxfZG9jczogdW5pbnN0YWxsX21hbl9kb2Nz IHVuaW5zdGFsbF9odG1sX2RvY3MgIyMgVW5pbnN0YWxsIG1hbnBhZ2VzIGFuZCBIVE1MIGRvY3Vt ZW50YXRpb24KICAJJChSTSkgLXIgIiQoREVTVERJUikkKERPQ0RJUikiCiAtLSAKLTIuNTQuMAor Mi41NS4wCiAKCmRpZmYgLS1naXQgYS8wMDA0LVJILURpc2FibGUtc2lnbmF0dXJlLXZlcmlmaWNh dGlvbi13aXRoLWJhZC1kaWdlc3RzLVIucGF0Y2ggYi8wMDA0LVJILURpc2FibGUtc2lnbmF0dXJl LXZlcmlmaWNhdGlvbi13aXRoLWJhZC1kaWdlc3RzLVIucGF0Y2gKaW5kZXggNzhhNDQ1Yi4uMTE3 YTRmYiAxMDA2NDQKLS0tIGEvMDAwNC1SSC1EaXNhYmxlLXNpZ25hdHVyZS12ZXJpZmljYXRpb24t d2l0aC1iYWQtZGlnZXN0cy1SLnBhdGNoCisrKyBiLzAwMDQtUkgtRGlzYWJsZS1zaWduYXR1cmUt dmVyaWZpY2F0aW9uLXdpdGgtYmFkLWRpZ2VzdHMtUi5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZy b20gZGNlYTMwMGUwZWZiOGI3ZmE3ZmRkZWNlYTJkZjRkZTljNDlhYThlNyBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb20gODYzZWNmMmM4NTQ2ZDFmOGQ5MzczMGYzNDIwZmUxOTcyZGE3YjFj OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IHJwbS1idWlsZCA8cnBtLWJ1aWxkPgog RGF0ZTogV2VkLCA2IE1hciAyMDI0IDE5OjE3OjE0ICswMTAwCiBTdWJqZWN0OiBbUEFUQ0ggMDQv MTZdIFJIOiBEaXNhYmxlIHNpZ25hdHVyZSB2ZXJpZmljYXRpb24gd2l0aCBiYWQgZGlnZXN0cyAt CkBAIC0zMCw1ICszMCw1IEBAIGluZGV4IDE4OGM2YzkzZmMuLmE3NWUwZTExZGEgMTAwNjQ0CiAg ICAgICAgICBjb25zdCBFVlBfTUQgKnR5cGUgPSBOVUxMOwogIAogLS0gCi0yLjU0LjAKKzIuNTUu MAogCgpkaWZmIC0tZ2l0IGEvMDAwNS1SSC1BZGQtc3VwcG9ydC1mb3ItUFJPRklMRS1TWVNURU0t c3lzdGVtLWRlZmF1bHQtY2lwLnBhdGNoIGIvMDAwNS1SSC1BZGQtc3VwcG9ydC1mb3ItUFJPRklM RS1TWVNURU0tc3lzdGVtLWRlZmF1bHQtY2lwLnBhdGNoCmluZGV4IDMyY2Y0MDMuLjdiMjE1NWQg MTAwNjQ0Ci0tLSBhLzAwMDUtUkgtQWRkLXN1cHBvcnQtZm9yLVBST0ZJTEUtU1lTVEVNLXN5c3Rl bS1kZWZhdWx0LWNpcC5wYXRjaAorKysgYi8wMDA1LVJILUFkZC1zdXBwb3J0LWZvci1QUk9GSUxF LVNZU1RFTS1zeXN0ZW0tZGVmYXVsdC1jaXAucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGE4 NWUwNzY1MDRkMWJiZGNkMjRlYTc3MTY1MGI2N2NlMTA0NGVjZTUgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tIDU0MDhiNzQ3NWZjNmU2Y2RhZTNhMmY2Y2JkNzBmZjhiMzFlY2EzMjkgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBycG0tYnVpbGQgPHJwbS1idWlsZD4KIERhdGU6 IFdlZCwgNiBNYXIgMjAyNCAxOToxNzoxNCArMDEwMAogU3ViamVjdDogW1BBVENIIDA1LzE2XSBS SDogQWRkIHN1cHBvcnQgZm9yIFBST0ZJTEUgU1lTVEVNIHN5c3RlbSBkZWZhdWx0CkBAIC0xMjAs NyArMTIwLDcgQEAgaW5kZXggNDlkYTkyMzA1OS4uY2ZiMDYzMDg4YyAxMDA2NDQKICAKICAvKgog ZGlmZiAtLWdpdCBhL2luY2x1ZGUvb3BlbnNzbC9zc2wuaC5pbiBiL2luY2x1ZGUvb3BlbnNzbC9z c2wuaC5pbgotaW5kZXggNDUyYjY5NmQ1ZS4uZWIwYzEyYzRjZCAxMDA2NDQKK2luZGV4IDk2Yjkw NzlkMmIuLmZiOTEyNTc5YjcgMTAwNjQ0CiAtLS0gYS9pbmNsdWRlL29wZW5zc2wvc3NsLmguaW4K ICsrKyBiL2luY2x1ZGUvb3BlbnNzbC9zc2wuaC5pbgogQEAgLTIxMiw2ICsyMTIsMTEgQEAgZXh0 ZXJuICJDIiB7CkBAIC0yODksNyArMjg5LDcgQEAgaW5kZXggNjE0NjBjMGY4NS4uMzU2ZjEyYjMy OCAxMDA2NDQKICAKICBjaGFyICpTU0xfQ0lQSEVSX2Rlc2NyaXB0aW9uKGNvbnN0IFNTTF9DSVBI RVIgKmNpcGhlciwgY2hhciAqYnVmLCBpbnQgbGVuKQogZGlmZiAtLWdpdCBhL3NzbC9zc2xfbGli LmMgYi9zc2wvc3NsX2xpYi5jCi1pbmRleCA1NDliZDdkMTI1Li4yOWMwYjc0YTk0IDEwMDY0NAor aW5kZXggYTU2NGZkODFiMy4uZmJiMjY0NDE4NiAxMDA2NDQKIC0tLSBhL3NzbC9zc2xfbGliLmMK ICsrKyBiL3NzbC9zc2xfbGliLmMKIEBAIC02NzEsNyArNjcxLDcgQEAgaW50IFNTTF9DVFhfc2V0 X3NzbF92ZXJzaW9uKFNTTF9DVFggKmN0eCwgY29uc3QgU1NMX01FVEhPRCAqbWV0aCkKQEAgLTMy NSw1ICszMjUsNSBAQCBpbmRleCA5MjFhZmU2MjM0Li5iZTJjMzgyZjg1IDEwMDY0NAogICAgICBB RERfVEVTVCh0ZXN0X2RlZmF1bHRfY2lwaGVybGlzdF9jbGVhcik7CiAgI2lmbmRlZiBPUEVOU1NM X05PX1RMUzFfMwogLS0gCi0yLjU0LjAKKzIuNTUuMAogCgpkaWZmIC0tZ2l0IGEvMDAwNi1SSC1B ZGQtRklQU19tb2RlLWNvbXBhdGliaWxpdHktbWFjcm8ucGF0Y2ggYi8wMDA2LVJILUFkZC1GSVBT X21vZGUtY29tcGF0aWJpbGl0eS1tYWNyby5wYXRjaAppbmRleCA3OGRjZTc5Li41NDdiMzY0IDEw MDY0NAotLS0gYS8wMDA2LVJILUFkZC1GSVBTX21vZGUtY29tcGF0aWJpbGl0eS1tYWNyby5wYXRj aAorKysgYi8wMDA2LVJILUFkZC1GSVBTX21vZGUtY29tcGF0aWJpbGl0eS1tYWNyby5wYXRjaApA QCAtMSw0ICsxLDQgQEAKLUZyb20gZmUzMzcxODMzNTI3Mjk4YjczMzk0NWYzNTdjNzA4ZmRmZjg2 NWQ0YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMzA4NjJlNmYwZGRiODI5YWM1YmVl NjI1YzEzZmNlYmM2M2QzMGI0MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IHJwbS1i dWlsZCA8cnBtLWJ1aWxkPgogRGF0ZTogV2VkLCA2IE1hciAyMDI0IDE5OjE3OjE1ICswMTAwCiBT dWJqZWN0OiBbUEFUQ0ggMDYvMTZdIFJIOiBBZGQgRklQU19tb2RlIGNvbXBhdGliaWxpdHkgbWFj cm8KQEAgLTc5LDUgKzc5LDUgQEAgaW5kZXggZWVhMWYyOGExOS4uNTIxY2YwMTlmNSAxMDA2NDQK ICAgICAgQUREX1RFU1QodGVzdF9wcm9wZXJ0eV9saXN0X3RvX3N0cmluZ19ib3VuZHMpOwogICAg ICByZXR1cm4gMTsKIC0tIAotMi41NC4wCisyLjU1LjAKIAoKZGlmZiAtLWdpdCBhLzAwMDctUkgt QWRkLUtlcm5lbC1GSVBTLW1vZGUtZmxhZy1zdXBwb3J0LUZJWFNUWUxFLnBhdGNoIGIvMDAwNy1S SC1BZGQtS2VybmVsLUZJUFMtbW9kZS1mbGFnLXN1cHBvcnQtRklYU1RZTEUucGF0Y2gKaW5kZXgg YmU2NDJhMC4uY2U1ODU5NyAxMDA2NDQKLS0tIGEvMDAwNy1SSC1BZGQtS2VybmVsLUZJUFMtbW9k ZS1mbGFnLXN1cHBvcnQtRklYU1RZTEUucGF0Y2gKKysrIGIvMDAwNy1SSC1BZGQtS2VybmVsLUZJ UFMtbW9kZS1mbGFnLXN1cHBvcnQtRklYU1RZTEUucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9t IGNhZWQyYWNhOWMzMjdhODQ3MTZhYjc2OWYyMDYwZThkNzRjNDA3ZjQgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tIGE3MzFjYmJiMjdmMmRlYzJmMWU1ZWRlMjg0NTI1NTgzNmI4MmE3NTAg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBycG0tYnVpbGQgPHJwbS1idWlsZD4KIERh dGU6IFdlZCwgNiBNYXIgMjAyNCAxOToxNzoxNSArMDEwMAogU3ViamVjdDogW1BBVENIIDA3LzE2 XSBSSDogQWRkIEtlcm5lbCBGSVBTIG1vZGUgZmxhZyBzdXBwb3J0IC0gRklYU1RZTEUKQEAgLTgy LDUgKzgyLDUgQEAgaW5kZXggMWI0MDUwYTgxZi4uZWI3ZjQwOWFmMCAxMDA2NDQKICAjZW5kaWYK ICAKIC0tIAotMi41NC4wCisyLjU1LjAKIAoKZGlmZiAtLWdpdCBhLzAwMDgtUkgtQWxsb3ctZGlz YWJsaW5nLW9mLVNIQTEtc2lnbmF0dXJlcy5wYXRjaCBiLzAwMDgtUkgtQWxsb3ctZGlzYWJsaW5n LW9mLVNIQTEtc2lnbmF0dXJlcy5wYXRjaAppbmRleCBjOTM3NTUxLi4zMzExMGUyIDEwMDY0NAot LS0gYS8wMDA4LVJILUFsbG93LWRpc2FibGluZy1vZi1TSEExLXNpZ25hdHVyZXMucGF0Y2gKKysr IGIvMDAwOC1SSC1BbGxvdy1kaXNhYmxpbmctb2YtU0hBMS1zaWduYXR1cmVzLnBhdGNoCkBAIC0x LDQgKzEsNCBAQAotRnJvbSBkMTJlNzM2M2NkNTdjNjNiNWEzOTE0ZGFjOTM1YTA5MWE1MzQ3NmQ1 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAyMTc0MzUyMDU3ZmI2NzYxODk1Y2I2MzUx MDZjNmY5ZDRmY2QzN2VkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRG1pdHJ5IEJl bHlhdnNraXkgPGRiZWx5YXZzQHJlZGhhdC5jb20+CiBEYXRlOiBNb24sIDIxIEF1ZyAyMDIzIDEz OjA3OjA3ICswMjAwCiBTdWJqZWN0OiBbUEFUQ0ggMDgvMTZdIFJIOiBBbGxvdyBkaXNhYmxpbmcg b2YgU0hBMSBzaWduYXR1cmVzCkBAIC00MjYsNyArNDI2LDcgQEAgaW5kZXggOWU4NzRmMDcyNi4u MzAyNTgxN2ZkNCAxMDA2NDQKICAgICAgaWYgKEVWUF9NRF94b2YobWQpKSB7CiAgICAgICAgICBF UlJfcmFpc2UoRVJSX0xJQl9QUk9WLCBQUk9WX1JfWE9GX0RJR0VTVFNfTk9UX0FMTE9XRUQpOwog ZGlmZiAtLWdpdCBhL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvc2lnbmF0dXJlL3JzYV9zaWcu YyBiL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvc2lnbmF0dXJlL3JzYV9zaWcuYwotaW5kZXgg YTMyNjBlZGEzOS4uZWJkYmVkNjFhOSAxMDA2NDQKK2luZGV4IGJhNTQ1Mjc3MzkuLjE3YjZhM2I1 YTcgMTAwNjQ0CiAtLS0gYS9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9yc2Ff c2lnLmMKICsrKyBiL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvc2lnbmF0dXJlL3JzYV9zaWcu YwogQEAgLTI2LDYgKzI2LDcgQEAKQEAgLTQ1NSw3ICs0NTUsNyBAQCBpbmRleCBhMzI2MGVkYTM5 Li5lYmRiZWQ2MWE5IDEwMDY0NAogICAgICAgICAgICAgIEVSUl9yYWlzZV9kYXRhKEVSUl9MSUJf UFJPViwgUFJPVl9SX0RJR0VTVF9OT1RfQUxMT1dFRCwKICAgICAgICAgICAgICAgICAgImRpZ2Vz dD0lcyIsIG1kbmFtZSk7CiAgICAgICAgICAgICAgZ290byBlcnI7Ci1AQCAtMTc2MSw4ICsxNzY0 LDEzIEBAIHN0YXRpYyBpbnQgcnNhX3NldF9jdHhfcGFyYW1zKHZvaWQgKnZwcnNhY3R4LCBjb25z dCBPU1NMX1BBUkFNIHBhcmFtc1tdKQorQEAgLTE3NjcsOCArMTc3MCwxMyBAQCBzdGF0aWMgaW50 IHJzYV9zZXRfY3R4X3BhcmFtcyh2b2lkICp2cHJzYWN0eCwgY29uc3QgT1NTTF9QQVJBTSBwYXJh bXNbXSkKICAgICAgcHJzYWN0eC0+cGFkX21vZGUgPSBwYWRfbW9kZTsKICAKICAgICAgaWYgKHBy c2FjdHgtPm1kID09IE5VTEwgJiYgcG1kbmFtZSA9PSBOVUxMCkBAIC00NzIsNyArNDcyLDcgQEAg aW5kZXggYTMyNjBlZGEzOS4uZWJkYmVkNjFhOSAxMDA2NDQKICAgICAgaWYgKHBtZ2YxbWRuYW1l ICE9IE5VTEwKICAgICAgICAgICYmICFyc2Ffc2V0dXBfbWdmMV9tZChwcnNhY3R4LCBwbWdmMW1k bmFtZSwgcG1nZjFtZHByb3BzKSkKIGRpZmYgLS1naXQgYS9zc2wvdDFfbGliLmMgYi9zc2wvdDFf bGliLmMKLWluZGV4IDlkZDg3ZGM0YWMuLmJkNWE0ZjAxYjAgMTAwNjQ0CitpbmRleCA0YmMyNzQ4 ZTk3Li5kYzkxNDg1MzM0IDEwMDY0NAogLS0tIGEvc3NsL3QxX2xpYi5jCiArKysgYi9zc2wvdDFf bGliLmMKIEBAIC0yMSw2ICsyMSw3IEBACkBAIC00ODMsNyArNDgzLDcgQEAgaW5kZXggOWRkODdk YzRhYy4uYmQ1YTRmMDFiMCAxMDA2NDQKICAjaW5jbHVkZSAiaW50ZXJuYWwvbmVsZW0uaCIKICAj aW5jbHVkZSAiaW50ZXJuYWwvc2l6ZXMuaCIKICAjaW5jbHVkZSAiaW50ZXJuYWwvdGxzZ3JvdXBz LmgiCi1AQCAtMjM0Miw2ICsyMzQzLDcgQEAgaW50IHNzbF9zZXR1cF9zaWdhbGdzKFNTTF9DVFgg KmN0eCkKK0BAIC0yMzE4LDYgKzIzMTksNyBAQCBpbnQgc3NsX3NldHVwX3NpZ2FsZ3MoU1NMX0NU WCAqY3R4KQogICAgICBFVlBfUEtFWSAqdG1wa2V5ID0gRVZQX1BLRVlfbmV3KCk7CiAgICAgIGlu dCBpc3RsczsKICAgICAgaW50IHJldCA9IDA7CkBAIC00OTEsNyArNDkxLDcgQEAgaW5kZXggOWRk ODdkYzRhYy4uYmQ1YTRmMDFiMCAxMDA2NDQKICAKICAgICAgaWYgKGN0eCA9PSBOVUxMKQogICAg ICAgICAgZ290byBlcnI7Ci1AQCAtMjM1OSw2ICsyMzYxLDcgQEAgaW50IHNzbF9zZXR1cF9zaWdh bGdzKFNTTF9DVFggKmN0eCkKK0BAIC0yMzM1LDYgKzIzMzcsNyBAQCBpbnQgc3NsX3NldHVwX3Np Z2FsZ3MoU1NMX0NUWCAqY3R4KQogICAgICAgICAgZ290byBlcnI7CiAgCiAgICAgIEVSUl9zZXRf bWFyaygpOwpAQCAtNDk5LDcgKzQ5OSw3IEBAIGluZGV4IDlkZDg3ZGM0YWMuLmJkNWE0ZjAxYjAg MTAwNjQ0CiAgICAgIC8qIEZpcnN0IGZpbGwgY2FjaGUgYW5kIHRsczEyX3NpZ2FsZ3MgbGlzdCBm cm9tIGxlZ2FjeSBhbGdvcml0aG0gbGlzdCAqLwogICAgICBmb3IgKGkgPSAwLCBsdSA9IHNpZ2Fs Z19sb29rdXBfdGJsOwogICAgICAgICAgaSA8IE9TU0xfTkVMRU0oc2lnYWxnX2xvb2t1cF90Ymwp OyBsdSsrLCBpKyspIHsKLUBAIC0yMzc5LDYgKzIzODIsMTEgQEAgaW50IHNzbF9zZXR1cF9zaWdh bGdzKFNTTF9DVFggKmN0eCkKK0BAIC0yMzU1LDYgKzIzNTgsMTEgQEAgaW50IHNzbF9zZXR1cF9z aWdhbGdzKFNTTF9DVFggKmN0eCkKICAgICAgICAgICAgICBjYWNoZVtpXS5hdmFpbGFibGUgPSAw OwogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQpAQCAtNTIyLDUgKzUyMiw1IEBA IGluZGV4IDI5NzBmYjBhMDkuLjc3ZWZkYjk4MmEgMTAwNjQ0CiArb3NzbF9jdHhfbGVnYWN5X2Rp Z2VzdF9zaWduYXR1cmVzX2FsbG93ZWQgPwk0XzBfMAlFWElTVDo6RlVOQ1RJT046CiArb3NzbF9j dHhfbGVnYWN5X2RpZ2VzdF9zaWduYXR1cmVzX2FsbG93ZWRfc2V0ID8JNF8wXzAJRVhJU1Q6OkZV TkNUSU9OOgogLS0gCi0yLjU0LjAKKzIuNTUuMAogCgpkaWZmIC0tZ2l0IGEvMDAwOS1GSVBTLUZv cmNlLWZpcHMtcHJvdmlkZXItb24ucGF0Y2ggYi8wMDA5LUZJUFMtRm9yY2UtZmlwcy1wcm92aWRl ci1vbi5wYXRjaAppbmRleCA3YTVkMzVhLi5jZjE2MzYzIDEwMDY0NAotLS0gYS8wMDA5LUZJUFMt Rm9yY2UtZmlwcy1wcm92aWRlci1vbi5wYXRjaAorKysgYi8wMDA5LUZJUFMtRm9yY2UtZmlwcy1w cm92aWRlci1vbi5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gYWE1YTZlZTc1YTA0ZTI4NmFi N2U3ZGJlYWMzN2NkM2I2OGMyYjUwNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTU2 MWYyMWE4MjhlYjJkNzQyMWUwMjViNzgwNzRjMjM2ODY1N2I1YSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKIEZyb206IHJwbS1idWlsZCA8cnBtLWJ1aWxkPgogRGF0ZTogV2VkLCA2IE1hciAyMDI0 IDE5OjE3OjE1ICswMTAwCiBTdWJqZWN0OiBbUEFUQ0ggMDkvMTZdIEZJUFM6IEZvcmNlIGZpcHMg cHJvdmlkZXIgb24KQEAgLTc1LDUgKzc1LDUgQEAgaW5kZXggZjJlNzZhYzQwMi4uYTJhOGE5OTQy YyAxMDA2NDQKICB9CiAgCiAtLSAKLTIuNTQuMAorMi41NS4wCiAKCmRpZmYgLS1naXQgYS8wMDEw LUZJUFMtUkFORC1GSVBTLTE0MC0zLURSQkctTkVFRFMtUkVWSUVXLnBhdGNoIGIvMDAxMC1GSVBT LVJBTkQtRklQUy0xNDAtMy1EUkJHLU5FRURTLVJFVklFVy5wYXRjaAppbmRleCBlNmNhZmI2Li4w ZmFjMzU4IDEwMDY0NAotLS0gYS8wMDEwLUZJUFMtUkFORC1GSVBTLTE0MC0zLURSQkctTkVFRFMt UkVWSUVXLnBhdGNoCisrKyBiLzAwMTAtRklQUy1SQU5ELUZJUFMtMTQwLTMtRFJCRy1ORUVEUy1S RVZJRVcucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGNhZTEwZWFkNzkyOTExMTBkNjZlMjAy Zjg5OThlNTQ5MTkwMjgzMWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDAyMjg2YWY1 MGVlOTE5MWZhYzUzMzg4ZjA4MDhhNzE1YTkwODNkZDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CiBGcm9tOiBycG0tYnVpbGQgPHJwbS1idWlsZD4KIERhdGU6IFdlZCwgNiBNYXIgMjAyNCAxOTox NzoxNiArMDEwMAogU3ViamVjdDogW1BBVENIIDEwLzE2XSBGSVBTOiBSQU5EOiBGSVBTLTE0MC0z IERSQkcgLSBORUVEUyBSRVZJRVcKQEAgLTY4LDcgKzY4LDcgQEAgaW5kZXggOWU4MGVmNWIxZi4u YWI2YzI2MzE5OCAxMDA2NDQKICAgICAgaWYgKHJlc2VlZF9yZXF1aXJlZCB8fCBwcmVkaWN0aW9u X3Jlc2lzdGFuY2UpIHsKICAgICAgICAgIGlmICghb3NzbF9wcm92X2RyYmdfcmVzZWVkX3VubG9j a2VkKGRyYmcsIHByZWRpY3Rpb25fcmVzaXN0YW5jZSwgTlVMTCwKIGRpZmYgLS1naXQgYS9wcm92 aWRlcnMvaW1wbGVtZW50YXRpb25zL3JhbmRzL3NlZWRpbmcvcmFuZF91bml4LmMgYi9wcm92aWRl cnMvaW1wbGVtZW50YXRpb25zL3JhbmRzL3NlZWRpbmcvcmFuZF91bml4LmMKLWluZGV4IDFhZjk5 NmIyNWYuLjE4ZThjMGRlYzEgMTAwNjQ0CitpbmRleCBhMjY1MTlhYTNlLi44MTU0NzZkYzI0IDEw MDY0NAogLS0tIGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9yYW5kcy9zZWVkaW5nL3JhbmRf dW5peC5jCiArKysgYi9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3JhbmRzL3NlZWRpbmcvcmFu ZF91bml4LmMKIEBAIC01Myw2ICs1Myw4IEBACkBAIC0xNDAsNyArMTQwLDcgQEAgaW5kZXggMWFm OTk2YjI1Zi4uMThlOGMwZGVjMSAxMDA2NDQKIC0gICAgcmV0dXJuIGdldHJhbmRvbShidWYsIGJ1 ZmxlbiwgMCk7CiAtI2VsaWYgKGRlZmluZWQoX19GcmVlQlNEX18pIHx8IGRlZmluZWQoX19OZXRC U0RfXykpICYmIGRlZmluZWQoS0VSTl9BUk5EKQogLSAgICByZXR1cm4gc3lzY3RsX3JhbmRvbShi dWYsIGJ1Zmxlbik7Ci0tI2VsaWYgZGVmaW5lZChfX3dhc2lfXykKKy0jZWxpZiBkZWZpbmVkKF9f d2FzaV9fKSB8fCBkZWZpbmVkKF9fRU1TQ1JJUFRFTl9fKQogLSAgICBpZiAoZ2V0ZW50cm9weShi dWYsIGJ1ZmxlbikgPT0gMCkKIC0gICAgICAgIHJldHVybiAoc3NpemVfdClidWZsZW47CiAtICAg IHJldHVybiAtMTsKQEAgLTE1NCw1ICsxNTQsNSBAQCBpbmRleCAxYWY5OTZiMjVmLi4xOGU4YzBk ZWMxIDEwMDY0NAogICNlbmRpZiAvKiBkZWZpbmVkKE9QRU5TU0xfUkFORF9TRUVEX0dFVFJBTkRP TSkgKi8KICAKIC0tIAotMi41NC4wCisyLjU1LjAKIAoKZGlmZiAtLWdpdCBhLzAwMTEtRklQUy1U TFMtRW5mb3JjZS1FTVMtaW4tVExTLTEuMi1OT1RFLnBhdGNoIGIvMDAxMS1GSVBTLVRMUy1FbmZv cmNlLUVNUy1pbi1UTFMtMS4yLU5PVEUucGF0Y2gKaW5kZXggMmQwODhhNS4uNTk0MmI2ZSAxMDA2 NDQKLS0tIGEvMDAxMS1GSVBTLVRMUy1FbmZvcmNlLUVNUy1pbi1UTFMtMS4yLU5PVEUucGF0Y2gK KysrIGIvMDAxMS1GSVBTLVRMUy1FbmZvcmNlLUVNUy1pbi1UTFMtMS4yLU5PVEUucGF0Y2gKQEAg LTEsNCArMSw0IEBACi1Gcm9tIGU5Y2E2NDhmNzRmMDNmZTYzODA1ODljZDM1OTAwNWViZDcxY2My YjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDY5Y2Y0OGI0MDYxMGFkZjhkZTg2NzZk YjQ2ZTg3NDg2OGVlZGRiYjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBycG0tYnVp bGQgPHJwbS1idWlsZD4KIERhdGU6IFdlZCwgNiBNYXIgMjAyNCAxOToxNzoxNyArMDEwMAogU3Vi amVjdDogW1BBVENIIDExLzE2XSBGSVBTOiBUTFM6IEVuZm9yY2UgRU1TIGluIFRMUyAxLjIgLSBO T1RFCkBAIC02Miw3ICs2Miw3IEBAIGluZGV4IDJlNWE3ODliNDQuLjE4MzJmOWNmMjAgMTAwNjQ0 CiAgCiAgQ29weXJpZ2h0IDIwMTktMjAyNiBUaGUgT3BlblNTTCBQcm9qZWN0IEF1dGhvcnMuIEFs bCBSaWdodHMgUmVzZXJ2ZWQuCiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9vcGVuc3NsL3NzbC5oLmlu IGIvaW5jbHVkZS9vcGVuc3NsL3NzbC5oLmluCi1pbmRleCBlYjBjMTJjNGNkLi45ZGNlYzJhYWM5 IDEwMDY0NAoraW5kZXggZmI5MTI1NzliNy4uNjBiZTJlODIxNiAxMDA2NDQKIC0tLSBhL2luY2x1 ZGUvb3BlbnNzbC9zc2wuaC5pbgogKysrIGIvaW5jbHVkZS9vcGVuc3NsL3NzbC5oLmluCiBAQCAt NDU3LDYgKzQ1Nyw3IEBAIHR5cGVkZWYgaW50ICgqU1NMX2FzeW5jX2NhbGxiYWNrX2ZuKShTU0wg KnMsIHZvaWQgKmFyZyk7CkBAIC0xNzYsNSArMTc2LDUgQEAgaW5kZXggNTA5NDQzMjhjYi4uZWRi MmU4MTI3MyAxMDA2NDQKICBLREYgPSBUTFMxLVBSRgogIEN0cmwuZGlnZXN0ID0gZGlnZXN0OlNI QTI1NgogLS0gCi0yLjU0LjAKKzIuNTUuMAogCgpkaWZmIC0tZ2l0IGEvMDAxMi1GSVBTLUNNUy1T ZXQtZGVmYXVsdC1wYWRkaW5nLXRvLU9BRVAucGF0Y2ggYi8wMDEyLUZJUFMtQ01TLVNldC1kZWZh dWx0LXBhZGRpbmctdG8tT0FFUC5wYXRjaAppbmRleCBlY2E5NWJiLi5mZDIzNmUzIDEwMDY0NAot LS0gYS8wMDEyLUZJUFMtQ01TLVNldC1kZWZhdWx0LXBhZGRpbmctdG8tT0FFUC5wYXRjaAorKysg Yi8wMDEyLUZJUFMtQ01TLVNldC1kZWZhdWx0LXBhZGRpbmctdG8tT0FFUC5wYXRjaApAQCAtMSw0 ICsxLDQgQEAKLUZyb20gZGI0MmE2YmE2ZDFjMmM2MGZlOWZhZTI3M2U0NmM2YjJiMTY3NGQ2YSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTg4NjM2ODg5ODdiMmIxYjhhNzUzMDRmYmI0 Y2QzZjkwYWVlNDE1MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFNpbW8gU29yY2Ug PHNpbW9AcmVkaGF0LmNvbT4KIERhdGU6IFRodSwgMTMgRmViIDIwMjUgMTg6MDg6MzQgLTA1MDAK IFN1YmplY3Q6IFtQQVRDSCAxMi8xNl0gRklQUzogQ01TOiBTZXQgZGVmYXVsdCBwYWRkaW5nIHRv IE9BRVAKQEAgLTIyLDcgKzIyLDcgQEAgaW5kZXggZGJlYzgwZTY4Mi4uNWMwNTAzZWI2MCAxMDA2 NDQKICBzdGF0aWMgaW50IHNhdmVfY2VydHMoY2hhciAqc2lnbmVyZmlsZSwgU1RBQ0tfT0YoWDUw OSkgKnNpZ25lcnMpOwogIHN0YXRpYyBpbnQgY21zX2NiKGludCBvaywgWDUwOV9TVE9SRV9DVFgg KmN0eCk7CiBkaWZmIC0tZ2l0IGEvY3J5cHRvL2Ntcy9jbXNfZW52LmMgYi9jcnlwdG8vY21zL2Nt c19lbnYuYwotaW5kZXggMzY0ODY5ZDIzOS4uNTQ2MmY4MGMwMSAxMDA2NDQKK2luZGV4IGI4ZDBj OTYyMTEuLjk4NzZiNWQyNWEgMTAwNjQ0CiAtLS0gYS9jcnlwdG8vY21zL2Ntc19lbnYuYwogKysr IGIvY3J5cHRvL2Ntcy9jbXNfZW52LmMKIEBAIC0yMSw2ICsyMSw3IEBACkBAIC01Nyw1ICs1Nyw1 IEBAIGluZGV4IDM2NDg2OWQyMzkuLjU0NjJmODBjMDEgMTAwNjQ0CiAgCiAgICAgIGlmIChFVlBf UEtFWV9lbmNyeXB0KHBjdHgsIE5VTEwsICZla2xlbiwgZWMtPmtleSwgZWMtPmtleWxlbikgPD0g MCkKIC0tIAotMi41NC4wCisyLjU1LjAKIAoKZGlmZiAtLWdpdCBhLzAwMTMtRklQUy1QS0NTMTIt UEJNQUMxLWRlZmF1bHRzLnBhdGNoIGIvMDAxMy1GSVBTLVBLQ1MxMi1QQk1BQzEtZGVmYXVsdHMu cGF0Y2gKaW5kZXggMDkwMzc3ZC4uZDUyYzIyMyAxMDA2NDQKLS0tIGEvMDAxMy1GSVBTLVBLQ1Mx Mi1QQk1BQzEtZGVmYXVsdHMucGF0Y2gKKysrIGIvMDAxMy1GSVBTLVBLQ1MxMi1QQk1BQzEtZGVm YXVsdHMucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDg3N2RmOGZmMmNmNDBiNzk0NzhjZTEx Njc2ZWJhZGYxMDQxYzEwYWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDI4MTdhNWRi Mjg0NjI0ZGNmNTM0MDIwNzAyNjExNzlhMmI5ZGYxNGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CiBGcm9tOiBTaW1vIFNvcmNlIDxzaW1vQHJlZGhhdC5jb20+CiBEYXRlOiBUaHUsIDEzIEZlYiAy MDI1IDE4OjE2OjI5IC0wNTAwCiBTdWJqZWN0OiBbUEFUQ0ggMTMvMTZdIEZJUFM6IFBLQ1MxMjog UEJNQUMxIGRlZmF1bHRzCkBAIC0zMSw1ICszMSw1IEBAIGluZGV4IDA5ZWQ2ODQ0NzIuLjQ1Yzdj YWYzZTMgMTAwNjQ0CiAgICAgICAgICAgICAgICAgIGlmICghUEtDUzEyX3NldF9wYm1hYzFfcGJr ZGYyKHAxMiwgbXBhc3MsIC0xLCBOVUxMLAogICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3Nh bHRsZW4sIG1hY2l0ZXIsCiAtLSAKLTIuNTQuMAorMi41NS4wCiAKCmRpZmYgLS1naXQgYS8wMDE0 LUZJUFMtRUMtZGlzYWJsZS13ZWFrLWN1cnZlcy5wYXRjaCBiLzAwMTQtRklQUy1FQy1kaXNhYmxl LXdlYWstY3VydmVzLnBhdGNoCmluZGV4IGE0ZGQ3ZGUuLmM2N2U4M2YgMTAwNjQ0Ci0tLSBhLzAw MTQtRklQUy1FQy1kaXNhYmxlLXdlYWstY3VydmVzLnBhdGNoCisrKyBiLzAwMTQtRklQUy1FQy1k aXNhYmxlLXdlYWstY3VydmVzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA0OGFlMDdkNTM2 Zjk0ZTRmYjVkYjMwMzNkZGNiOTE1YjFmMTNkZWFjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbSBhMTM1MjNkMTk5MzY5YmU2MDZjNzdiYmY5MzY1YmU1NDUxMjQxYWM1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQogRnJvbTogU2ltbyBTb3JjZSA8c2ltb0ByZWRoYXQuY29tPgogRGF0ZTog RnJpLCA3IE1hciAyMDI1IDE4OjA2OjM2IC0wNTAwCiBTdWJqZWN0OiBbUEFUQ0ggMTQvMTZdIEZJ UFM6IEVDOiBkaXNhYmxlIHdlYWsgY3VydmVzCkBAIC0yNyw1ICsyNyw1IEBAIGluZGV4IGNiYjJl YzhkNTAuLjhhOGUzMTg1ODMgMTAwNjQ0CiAgICAgICAgICAgICAgY29tbWVudCA9ICJDVVJWRSBE RVNDUklQVElPTiBOT1QgQVZBSUxBQkxFIjsKICAgICAgICAgIGlmIChzbmFtZSA9PSBOVUxMKQog LS0gCi0yLjU0LjAKKzIuNTUuMAogCgpkaWZmIC0tZ2l0IGEvMDAxNS1NYWtlLW9wZW5zc2wtc3Bl ZWQtcnVuLWluLUZJUFMtbW9kZS5wYXRjaCBiLzAwMTUtTWFrZS1vcGVuc3NsLXNwZWVkLXJ1bi1p bi1GSVBTLW1vZGUucGF0Y2gKaW5kZXggMDc3MDZlMi4uMDQxMTI1ZSAxMDA2NDQKLS0tIGEvMDAx NS1NYWtlLW9wZW5zc2wtc3BlZWQtcnVuLWluLUZJUFMtbW9kZS5wYXRjaAorKysgYi8wMDE1LU1h a2Utb3BlbnNzbC1zcGVlZC1ydW4taW4tRklQUy1tb2RlLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAot RnJvbSA2Zjg4MTVhZjE0NTY4ZmY3ZGU1MGMyMGYxZjc1MmE4ZjZlYjJiZWMyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbSA1OWFmMzY1MjZhMmE0MTBmYWMyMmM1M2JhMmZlNTBiMDkyNjY0 NDhhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRG1pdHJ5IEJlbHlhdnNraXkgPGJl bGRtaXRAZ21haWwuY29tPgogRGF0ZTogRnJpLCA5IE1heSAyMDI1IDE1OjA5OjQ2ICswMjAwCiBT dWJqZWN0OiBbUEFUQ0ggMTUvMTZdIE1ha2UgYG9wZW5zc2wgc3BlZWRgIHJ1biBpbiBGSVBTIG1v ZGUKQEAgLTcyLDUgKzcyLDUgQEAgaW5kZXggYWExMGQzMmJkNS4uYzZjMWRkM2FlMiAxMDA2NDQK ICAKICAgICAgZm9yIChpID0gMDsgaSA8IGxvb3BhcmdzX2xlbjsgaSsrKQogLS0gCi0yLjU0LjAK KzIuNTUuMAogCgpkaWZmIC0tZ2l0IGEvMDAxNi1BbGxvdy1oeWJyaWQtTUxLRU0taW4tRklQUy1t b2RlLnBhdGNoIGIvMDAxNi1BbGxvdy1oeWJyaWQtTUxLRU0taW4tRklQUy1tb2RlLnBhdGNoCmlu ZGV4IDViZTI2ZTguLjY0OGQ3ZjAgMTAwNjQ0Ci0tLSBhLzAwMTYtQWxsb3ctaHlicmlkLU1MS0VN LWluLUZJUFMtbW9kZS5wYXRjaAorKysgYi8wMDE2LUFsbG93LWh5YnJpZC1NTEtFTS1pbi1GSVBT LW1vZGUucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGRiOTc1MWQ2MTc0NjdhNzYzN2RjZGM2 ZWJhMjBmMGYyMGYyNGIxMGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDU1MWRkOTdh NTM5MjZlMmFlYzAwYjc4MDFiODAxZjQyN2Y3ODI1YzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CiBGcm9tOiBEbWl0cnkgQmVseWF2c2tpeSA8YmVsZG1pdEBnbWFpbC5jb20+CiBEYXRlOiBGcmks IDMwIE1heSAyMDI1IDE2OjE3OjM3ICswMjAwCiBTdWJqZWN0OiBbUEFUQ0ggMTYvMTZdIEFsbG93 IGh5YnJpZCBNTEtFTSBpbiBGSVBTIG1vZGUKQEAgLTEyLDEwICsxMiwxMCBAQCBTdWJqZWN0OiBb UEFUQ0ggMTYvMTZdIEFsbG93IGh5YnJpZCBNTEtFTSBpbiBGSVBTIG1vZGUKICA1IGZpbGVzIGNo YW5nZWQsIDEwNSBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBh L2NyeXB0by9tbF9rZW0vbWxfa2VtLmMgYi9jcnlwdG8vbWxfa2VtL21sX2tlbS5jCi1pbmRleCA1 ZDVlZGM4YjkzLi5kNmFmOGU3NDdmIDEwMDY0NAoraW5kZXggNzM4NDQ1NTYyZS4uNjI5NmRiN2Yy ZSAxMDA2NDQKIC0tLSBhL2NyeXB0by9tbF9rZW0vbWxfa2VtLmMKICsrKyBiL2NyeXB0by9tbF9r ZW0vbWxfa2VtLmMKLUBAIC0xNjMyLDYgKzE2MzIsNyBAQCBNTF9LRU1fS0VZICpvc3NsX21sX2tl bV9rZXlfbmV3KE9TU0xfTElCX0NUWCAqbGliY3R4LCBjb25zdCBjaGFyICpwcm9wZXJ0aWVzLAor QEAgLTE2NzAsNiArMTY3MCw3IEBAIE1MX0tFTV9LRVkgKm9zc2xfbWxfa2VtX2tleV9uZXcoT1NT TF9MSUJfQ1RYICpsaWJjdHgsIGNvbnN0IGNoYXIgKnByb3BlcnRpZXMsCiAgewogICAgICBjb25z dCBNTF9LRU1fVklORk8gKnZpbmZvID0gb3NzbF9tbF9rZW1fZ2V0X3ZpbmZvKGV2cF90eXBlKTsK ICAgICAgTUxfS0VNX0tFWSAqa2V5OwpAQCAtMjMsNyArMjMsNyBAQCBpbmRleCA1ZDVlZGM4Yjkz Li5kNmFmOGU3NDdmIDEwMDY0NAogIAogICAgICBpZiAodmluZm8gPT0gTlVMTCkgewogICAgICAg ICAgRVJSX3JhaXNlX2RhdGEoRVJSX0xJQl9DUllQVE8sIEVSUl9SX1BBU1NFRF9JTlZBTElEX0FS R1VNRU5ULAotQEAgLTE2NDIsMTUgKzE2NDMsMTcgQEAgTUxfS0VNX0tFWSAqb3NzbF9tbF9rZW1f a2V5X25ldyhPU1NMX0xJQl9DVFggKmxpYmN0eCwgY29uc3QgY2hhciAqcHJvcGVydGllcywKK0BA IC0xNjgwLDE1ICsxNjgxLDE3IEBAIE1MX0tFTV9LRVkgKm9zc2xfbWxfa2VtX2tleV9uZXcoT1NT TF9MSUJfQ1RYICpsaWJjdHgsIGNvbnN0IGNoYXIgKnByb3BlcnRpZXMsCiAgICAgIGlmICgoa2V5 ID0gT1BFTlNTTF9tYWxsb2Moc2l6ZW9mKCprZXkpKSkgPT0gTlVMTCkKICAgICAgICAgIHJldHVy biBOVUxMOwogIApAQCAtNTYsMTAgKzU2LDEwIEBAIGluZGV4IDM5MDE0NGE0NzMuLjQ4NjQ3NTEw MGYgMTAwNjQ0CiArY2hhciAqZ2V0X2FkanVzdGVkX3Byb3BxKGNvbnN0IGNoYXIgKnByb3BxKTsK ICAjZW5kaWYgLyogT1BFTlNTTF9IRUFERVJfTUxfS0VNX0ggKi8KIGRpZmYgLS1naXQgYS9wcm92 aWRlcnMvZGVmbHRwcm92LmMgYi9wcm92aWRlcnMvZGVmbHRwcm92LmMKLWluZGV4IGQxOWQ2ZWNl MjYuLjU2YzZmMzUwZTMgMTAwNjQ0CitpbmRleCBkYjlmODQ3NDhhLi5kNDY1NDA0ZGZiIDEwMDY0 NAogLS0tIGEvcHJvdmlkZXJzL2RlZmx0cHJvdi5jCiArKysgYi9wcm92aWRlcnMvZGVmbHRwcm92 LmMKLUBAIC01NzEsOCArNTcxLDggQEAgc3RhdGljIGNvbnN0IE9TU0xfQUxHT1JJVEhNIGRlZmx0 X2FzeW1fa2VtW10gPSB7CitAQCAtNTY3LDggKzU2Nyw4IEBAIHN0YXRpYyBjb25zdCBPU1NMX0FM R09SSVRITSBkZWZsdF9hc3ltX2tlbVtdID0gewogICAgICB7IFBST1ZfTkFNRVNfWDQ0OE1MS0VN MTAyNCwgInByb3ZpZGVyPWRlZmF1bHQiLCBvc3NsX21seF9rZW1fYXN5bV9rZW1fZnVuY3Rpb25z IH0sCiAgI2VuZGlmCiAgI2lmICFkZWZpbmVkKE9QRU5TU0xfTk9fRUMpCkBAIC03MCw3ICs3MCw3 IEBAIGluZGV4IGQxOWQ2ZWNlMjYuLjU2YzZmMzUwZTMgMTAwNjQ0CiAgI2VuZGlmCiAgI2lmICFk ZWZpbmVkKE9QRU5TU0xfTk9fU00yKQogICAgICB7IFBST1ZfTkFNRVNfY3VydmVTTTJNTEtFTTc2 OCwgInByb3ZpZGVyPWRlZmF1bHQiLCBvc3NsX21seF9rZW1fYXN5bV9rZW1fZnVuY3Rpb25zIH0s Ci1AQCAtNjYxLDEzICs2NjEsMTMgQEAgc3RhdGljIGNvbnN0IE9TU0xfQUxHT1JJVEhNIGRlZmx0 X2tleW1nbXRbXSA9IHsKK0BAIC02NTcsMTMgKzY1NywxMyBAQCBzdGF0aWMgY29uc3QgT1NTTF9B TEdPUklUSE0gZGVmbHRfa2V5bWdtdFtdID0gewogICAgICB7IFBST1ZfTkFNRVNfWDI1NTE5TUxL RU03NjgsICJwcm92aWRlcj1kZWZhdWx0Iiwgb3NzbF9tbHhfeDI1NTE5X2tlbV9rbWdtdF9mdW5j dGlvbnMsCiAgICAgICAgICBQUk9WX0RFU0NTX1gyNTUxOU1MS0VNNzY4IH0sCiAgICAgIHsgUFJP Vl9OQU1FU19YNDQ4TUxLRU0xMDI0LCAicHJvdmlkZXI9ZGVmYXVsdCIsIG9zc2xfbWx4X3g0NDhf a2VtX2ttZ210X2Z1bmN0aW9ucywKQEAgLTkwLDcgKzkwLDcgQEAgaW5kZXggZDE5ZDZlY2UyNi4u NTZjNmYzNTBlMyAxMDA2NDQKICAjaWYgIWRlZmluZWQoT1BFTlNTTF9OT19TTTIpCiAgICAgIHsg UFJPVl9OQU1FU19jdXJ2ZVNNMk1MS0VNNzY4LCAicHJvdmlkZXI9ZGVmYXVsdCIsIG9zc2xfbWx4 X2N1cnZlX3NtMl9rZW1fa21nbXRfZnVuY3Rpb25zLAogZGlmZiAtLWdpdCBhL3Byb3ZpZGVycy9p bXBsZW1lbnRhdGlvbnMva2VtL21seF9rZW0uYyBiL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMv a2VtL21seF9rZW0uYwotaW5kZXggMzc2YjMzNDJkZC4uMDlmYTAwMzYxMiAxMDA2NDQKK2luZGV4 IGE5MTdmYTkzZDUuLjA0NDI5ZTA5MjYgMTAwNjQ0CiAtLS0gYS9wcm92aWRlcnMvaW1wbGVtZW50 YXRpb25zL2tlbS9tbHhfa2VtLmMKICsrKyBiL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMva2Vt L21seF9rZW0uYwogQEAgLTE5LDYgKzE5LDcgQEAKQEAgLTE0OCwxNSArMTQ4LDE1IEBAIGluZGV4 IDM3NmIzMzQyZGQuLjA5ZmEwMDM2MTIgMTAwNjQ0CiAgICAgIGlmIChjdHggPT0gTlVMTAogICAg ICAgICAgfHwgRVZQX1BLRVlfZW5jYXBzdWxhdGVfaW5pdChjdHgsIE5VTEwpIDw9IDAKICAgICAg ICAgIHx8IEVWUF9QS0VZX2VuY2Fwc3VsYXRlKGN0eCwgY2J1ZiwgJmVuY2FwX2NsZW4sIHNidWYs ICZlbmNhcF9zbGVuKSA8PSAwKQotQEAgLTIzOCw2ICsyNjMsNyBAQCBzdGF0aWMgaW50IG1seF9r ZW1fZW5jYXBzdWxhdGUodm9pZCAqdmN0eCwgdW5zaWduZWQgY2hhciAqY3RleHQsIHNpemVfdCAq Y2xlbiwKLSBlbmQ6CitAQCAtMjQyLDYgKzI2Nyw3IEBAIGVuZDoKKyAgICAgICAgICAgICBNTF9L RU1fU0hBUkVEX1NFQ1JFVF9CWVRFUyArIGtleS0+eGluZm8tPnNoc2VjX2J5dGVzKTsKICAgICAg RVZQX1BLRVlfZnJlZSh4a2V5KTsKICAgICAgRVZQX1BLRVlfQ1RYX2ZyZWUoY3R4KTsKICsgICAg T1BFTlNTTF9mcmVlKGFkanVzdGVkX3Byb3BxKTsKICAgICAgcmV0dXJuIHJldDsKICB9CiAgCi1A QCAtMjUzLDYgKzI3OSw3IEBAIHN0YXRpYyBpbnQgbWx4X2tlbV9kZWNhcHN1bGF0ZSh2b2lkICp2 Y3R4LCB1aW50OF90ICpzaHNlYywgc2l6ZV90ICpzbGVuLAorQEAgLTI1Nyw2ICsyODMsNyBAQCBz dGF0aWMgaW50IG1seF9rZW1fZGVjYXBzdWxhdGUodm9pZCAqdmN0eCwgdWludDhfdCAqc2hzZWMs IHNpemVfdCAqc2xlbiwKICAgICAgc2l6ZV90IGRlY2FwX2NsZW4gPSBrZXktPm1pbmZvLT5jdGV4 dF9ieXRlcyArIGtleS0+eGluZm8tPnB1YmtleV9ieXRlczsKICAgICAgaW50IG1sX2tlbV9zbG90 ID0ga2V5LT54aW5mby0+bWxfa2VtX3Nsb3Q7CiAgICAgIGludCByZXQgPSAwOwpAQCAtMTY0LDcg KzE2NCw3IEBAIGluZGV4IDM3NmIzMzQyZGQuLjA5ZmEwMDM2MTIgMTAwNjQ0CiAgCiAgICAgIGlm ICghbWx4X2tlbV9oYXZlX3BydmtleShrZXkpKSB7CiAgICAgICAgICBFUlJfcmFpc2UoRVJSX0xJ Ql9QUk9WLCBQUk9WX1JfTUlTU0lOR19LRVkpOwotQEAgLTI4OCw3ICszMTUsOCBAQCBzdGF0aWMg aW50IG1seF9rZW1fZGVjYXBzdWxhdGUodm9pZCAqdmN0eCwgdWludDhfdCAqc2hzZWMsIHNpemVf dCAqc2xlbiwKK0BAIC0yOTIsNyArMzE5LDggQEAgc3RhdGljIGludCBtbHhfa2VtX2RlY2Fwc3Vs YXRlKHZvaWQgKnZjdHgsIHVpbnQ4X3QgKnNoc2VjLCBzaXplX3QgKnNsZW4sCiAgICAgIGRlY2Fw X3NsZW4gPSBNTF9LRU1fU0hBUkVEX1NFQ1JFVF9CWVRFUzsKICAgICAgY2J1ZiA9IGN0ZXh0ICsg bWxfa2VtX3Nsb3QgKiBrZXktPnhpbmZvLT5wdWJrZXlfYnl0ZXM7CiAgICAgIHNidWYgPSBzaHNl YyArIG1sX2tlbV9zbG90ICoga2V5LT54aW5mby0+c2hzZWNfYnl0ZXM7CkBAIC0xNzQsOCArMTc0 LDggQEAgaW5kZXggMzc2YjMzNDJkZC4uMDlmYTAwMzYxMiAxMDA2NDQKICAgICAgaWYgKGN0eCA9 PSBOVUxMCiAgICAgICAgICB8fCBFVlBfUEtFWV9kZWNhcHN1bGF0ZV9pbml0KGN0eCwgTlVMTCkg PD0gMAogICAgICAgICAgfHwgRVZQX1BLRVlfZGVjYXBzdWxhdGUoY3R4LCBzYnVmLCAmZGVjYXBf c2xlbiwgY2J1ZiwgZGVjYXBfY2xlbikgPD0gMCkKLUBAIC0zMjYsNiArMzU0LDcgQEAgc3RhdGlj IGludCBtbHhfa2VtX2RlY2Fwc3VsYXRlKHZvaWQgKnZjdHgsIHVpbnQ4X3QgKnNoc2VjLCBzaXpl X3QgKnNsZW4sCi0gZW5kOgorQEAgLTMzNCw2ICszNjIsNyBAQCBlbmQ6CisgICAgICAgICAgICAg TUxfS0VNX1NIQVJFRF9TRUNSRVRfQllURVMgKyBrZXktPnhpbmZvLT5zaHNlY19ieXRlcyk7CiAg ICAgIEVWUF9QS0VZX0NUWF9mcmVlKGN0eCk7CiAgICAgIEVWUF9QS0VZX2ZyZWUoeGtleSk7CiAr ICAgIE9QRU5TU0xfZnJlZShhZGp1c3RlZF9wcm9wcSk7CkBAIC0xODMsNyArMTgzLDcgQEAgaW5k ZXggMzc2YjMzNDJkZC4uMDlmYTAwMzYxMiAxMDA2NDQKICB9CiAgCiBkaWZmIC0tZ2l0IGEvcHJv dmlkZXJzL2ltcGxlbWVudGF0aW9ucy9rZXltZ210L21seF9rbWdtdC5jIGIvcHJvdmlkZXJzL2lt cGxlbWVudGF0aW9ucy9rZXltZ210L21seF9rbWdtdC5jCi1pbmRleCAwMGFjMjU4NjgyLi5iMzAy MmVhNTNhIDEwMDY0NAoraW5kZXggMzYyMTY4ODMyNi4uN2E2MWY3NzUyMSAxMDA2NDQKIC0tLSBh L3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMva2V5bWdtdC9tbHhfa21nbXQuYwogKysrIGIvcHJv dmlkZXJzL2ltcGxlbWVudGF0aW9ucy9rZXltZ210L21seF9rbWdtdC5jCiBAQCAtMTY0LDYgKzE2 NCw1MiBAQCB0eXBlZGVmIHN0cnVjdCBleHBvcnRfY2JfYXJnX3N0IHsKQEAgLTI4Myw3ICsyODMs NyBAQCBpbmRleCAwMGFjMjU4NjgyLi5iMzAyMmVhNTNhIDEwMDY0NAogICAgICBFVlBfUEtFWV9D VFhfZnJlZShjdHgpOwogICAgICByZXR1cm4gcmV0OwogIH0KLUBAIC02NzEsNiArNzI1LDcgQEAg c3RhdGljIHZvaWQgKm1seF9rZW1fZ2VuKHZvaWQgKnZnY3R4LCBPU1NMX0NBTExCQUNLICpvc3Ns Y2IsIHZvaWQgKmNiYXJnKQorQEAgLTY3Nyw2ICs3MzEsNyBAQCBzdGF0aWMgdm9pZCAqbWx4X2tl bV9nZW4odm9pZCAqdmdjdHgsIE9TU0xfQ0FMTEJBQ0sgKm9zc2xjYiwgdm9pZCAqY2JhcmcpCiAg ICAgIFBST1ZfTUxfS0VNX0dFTl9DVFggKmdjdHggPSB2Z2N0eDsKICAgICAgTUxYX0tFWSAqa2V5 OwogICAgICBjaGFyICpwcm9wcTsKQEAgLTI5MSw3ICsyOTEsNyBAQCBpbmRleCAwMGFjMjU4Njgy Li5iMzAyMmVhNTNhIDEwMDY0NAogIAogICAgICBpZiAoZ2N0eCA9PSBOVUxMCiAgICAgICAgICB8 fCAoZ2N0eC0+c2VsZWN0aW9uICYgT1NTTF9LRVlNR01UX1NFTEVDVF9LRVlQQUlSKSA9PSBPU1NM X0tFWU1HTVRfU0VMRUNUX1BVQkxJQ19LRVkpCi1AQCAtNjg2LDggKzc0MSwxMCBAQCBzdGF0aWMg dm9pZCAqbWx4X2tlbV9nZW4odm9pZCAqdmdjdHgsIE9TU0xfQ0FMTEJBQ0sgKm9zc2xjYiwgdm9p ZCAqY2JhcmcpCitAQCAtNjkyLDggKzc0NywxMCBAQCBzdGF0aWMgdm9pZCAqbWx4X2tlbV9nZW4o dm9pZCAqdmdjdHgsIE9TU0xfQ0FMTEJBQ0sgKm9zc2xjYiwgdm9pZCAqY2JhcmcpCiAgICAgICAg ICByZXR1cm4ga2V5OwogIAogICAgICAvKiBGb3Igbm93LCB1c2luZyB0aGUgc2FtZSAicHJvcHEi IGZvciBhbGwgY29tcG9uZW50cyAqLwpAQCAtMzA0LDUgKzMwNCw1IEBAIGluZGV4IDAwYWMyNTg2 ODIuLmIzMDIyZWE1M2EgMTAwNjQ0CiAgICAgICAgICBrZXktPnhpbmZvLT5hbGdvcml0aG1fbmFt ZSwKICAgICAgICAgIGtleS0+eGluZm8tPmdyb3VwX25hbWUpOwogLS0gCi0yLjU0LjAKKzIuNTUu MAogCgpkaWZmIC0tZ2l0IGEvMDAxNy1Eb24tdC1yYWlzZS1OT1RfRU5PVUdIX0RBVEEtYXQtb2Jq ZWN0LWJvdW5kYXJ5LnBhdGNoIGIvMDAxNy1Eb24tdC1yYWlzZS1OT1RfRU5PVUdIX0RBVEEtYXQt b2JqZWN0LWJvdW5kYXJ5LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZDUy NGVlLi4wMDAwMDAwCi0tLSBhLzAwMTctRG9uLXQtcmFpc2UtTk9UX0VOT1VHSF9EQVRBLWF0LW9i amVjdC1ib3VuZGFyeS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMxMyArMCwwIEBACi1Gcm9t IDQzNjBkNTM3ZThjY2Q3MTZiM2ZkNDY2YzM5YzdmYzgxYTQ3ZjRlYjUgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBNYXJjIEd1dG1hbiA8bWFyY2dAYWN0aXZlc3RhdGUuY29tPgotRGF0 ZTogVGh1LCA5IEp1bCAyMDI2IDE1OjIzOjI4IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIERvbid0 IHJhaXNlIE5PVF9FTk9VR0hfREFUQSBvbiBhIGNsZWFuIEVPRiBhdCBhbiBvYmplY3QKLSBib3Vu ZGFyeQotCi1hc24xX2QyaV9yZWFkX2JpbygpIHJlYWRzIG9uZSBBU04uMSBvYmplY3QgYXQgYSB0 aW1lIGZyb20gYSBCSU8uICBDYWxsZXJzCi1jb21tb25seSBsb29wLCBkZWNvZGluZyBjb25jYXRl bmF0ZWQgREVSIHZhbHVlcyB1bnRpbCB0aGUgY2FsbCBmYWlscywgYW5kCi1yZWx5IG9uIGEgZmFp bHVyZSB3aXRoIG5vIHF1ZXVlZCBlcnJvciB0byByZWNvZ25pc2UgYSBjbGVhbiBlbmQgb2YgaW5w dXQuCi1DUHl0aG9uJ3Mgc3NsIG1vZHVsZSBkb2VzIHRoaXMgaW4gX2FkZF9jYV9jZXJ0cygpIHdo ZW4gbG9hZGluZyB0aGUgV2luZG93cwotY2VydGlmaWNhdGUgc3RvcmUgdmlhIFNTTENvbnRleHQu bG9hZF92ZXJpZnlfbG9jYXRpb25zKGNhZGF0YT0uLi4pOyBpdAotcmUtcmFpc2VzIGFueSBsZWZ0 b3ZlciBBU04uMSBlcnJvciBvdGhlciB0aGFuIEFTTjFfUl9IRUFERVJfVE9PX0xPTkcgYXMKLWZh dGFsLgotCi1Db21taXQgOWViNjkyMmM1OSAoImFzbjE6IHJhaXNlIE5PVF9FTk9VR0hfREFUQSBv biBoZWFkZXIgRU9GIikgY2hhbmdlZCB0aGUKLUJJT19yZWFkKCkgY2hlY2sgZnJvbSAiaSA8IDAi IHRvICJpIDw9IDAiLCBzbyBhIGNsZWFuIEVPRiAoQklPX3JlYWQoKQotcmV0dXJuaW5nIDAsIGFz IGFuIGV4aGF1c3RlZCBCSU9fbmV3X21lbV9idWYgZG9lcykgb24gYW4gb2JqZWN0IGJvdW5kYXJ5 IG5vdwotcmFpc2VzIEFTTjFfUl9OT1RfRU5PVUdIX0RBVEEgaW5zdGVhZCBvZiBmYWlsaW5nIHdp dGggYW4gZW1wdHkgZXJyb3IgcXVldWUuCi1UaGUgcmV3cml0ZSBpbiBjb21taXQgMzU4NTJkYTFk OSBjYXJyaWVkIHRoaXMgYmVoYXZpb3VyIGZvcndhcmQuICBBcyBhCi1yZXN1bHQgUHl0aG9uIDMg b24gV2luZG93cyBmYWlscyB0byBpbml0aWFsaXNlIGFuIFNTTENvbnRleHQgd2l0aDoKLQotICAg IHNzbC5TU0xFcnJvcjogW0FTTjE6IE5PVF9FTk9VR0hfREFUQV0gbm90IGVub3VnaCBkYXRhCi0K LVJhaXNlIEFTTjFfUl9OT1RfRU5PVUdIX0RBVEEgb25seSBvbiBhbiBhY3R1YWwgcmVhZCBlcnJv ciwgb24gYW4gRU9GIGluIHRoZQotbWlkZGxlIG9mIGFuIG9iamVjdCAoc29tZSBieXRlcyBhbHJl YWR5IGJ1ZmZlcmVkKSwgb3Igb24gYW4gRU9GIHdoaWxlIHN0aWxsCi1pbnNpZGUgYW4gaW5kZWZp bml0ZS1sZW5ndGggdmFsdWUgYXdhaXRpbmcgaXRzIGVuZC1vZi1jb250ZW50cyBvY3RldHMgLSBh bGwKLW9mIHdoaWNoIGFyZSBnZW51aW5lIHRydW5jYXRpb24uICBBIGNsZWFuIEVPRiBhdCBhIHRv cC1sZXZlbCBvYmplY3QgYm91bmRhcnkKLWFnYWluIGZhaWxzIHdpdGhvdXQgcXVldWluZyBhbiBl cnJvciwgcmVzdG9yaW5nIHRoZSBsb25nLXN0YW5kaW5nIGJlaGF2aW91cgotdGhhdCBsb29waW5n IGNhbGxlcnMgZGVwZW5kIG9uLgotCi1BZGQgcmVncmVzc2lvbiB0ZXN0cyBjb3ZlcmluZyB0aGUg Y2xlYW4tRU9GLCB0cnVuY2F0ZWQsIGluZGVmaW5pdGUtbGVuZ3RoCi10cnVuY2F0aW9uIGFuZCBw YXJ0aWFsLWhlYWRlciBjYXNlcywgYW5kIGRvY3VtZW50IHRoZSByZWFkIGJlaGF2aW91ciBpbgot QVNOMV9pdGVtX2QyaV9iaW8oMykuCi0KLUZpeGVzICMzMTgwNwotCi1Bc3Npc3RlZC1ieTogQ2xh dWRlOmNsYXVkZS1vcHVzLTQtOAotCi1SZXZpZXdlZC1ieTogRG1pdHJ5IEJlbHlhdnNraXkgPGJl bGRtaXRAZ21haWwuY29tPgotUmV2aWV3ZWQtYnk6IElnb3IgVXN0aW5vdiA8aWd1c0BvcGVuc3Ns LmZvdW5kYXRpb24+Ci1SZXZpZXdlZC1ieTogVG9tYXMgTXJheiA8dG9tYXNAb3BlbnNzbC5mb3Vu ZGF0aW9uPgotTWVyZ2VEYXRlOiBNb24gSnVsIDEzIDA4OjA1OjAzIDIwMjYKLShNZXJnZWQgZnJv bSBodHRwczovL2dpdGh1Yi5jb20vb3BlbnNzbC9vcGVuc3NsL3B1bGwvMzE4MTgpCi0KLShjaGVy cnkgcGlja2VkIGZyb20gY29tbWl0IGQ3ZTc3YjY2Y2FiYjc3MDkzMjA5MWVkNTk4NjIyMWUwZDFl NTcxNDQpCi0tLS0KLSBjcnlwdG8vYXNuMS9hX2QyaV9mcC5jICAgICAgICAgfCAgMTUgKystCi0g ZG9jL21hbjMvQVNOMV9pdGVtX2QyaV9iaW8ucG9kIHwgIDE4ICsrKy0KLSB0ZXN0L2FzbjFfZGVj b2RlX3Rlc3QuYyAgICAgICAgfCAxNjUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ci0gMyBmaWxlcyBjaGFuZ2VkLCAxOTYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQot ZGlmZiAtLWdpdCBhL2NyeXB0by9hc24xL2FfZDJpX2ZwLmMgYi9jcnlwdG8vYXNuMS9hX2QyaV9m cC5jCi1pbmRleCA5ZTQ1Mzk4Y2FjLi40MTQ5MWI5MmExIDEwMDY0NAotLS0tIGEvY3J5cHRvL2Fz bjEvYV9kMmlfZnAuYwotKysrIGIvY3J5cHRvL2FzbjEvYV9kMmlfZnAuYwotQEAgLTE0MSw3ICsx NDEsMjAgQEAgaW50IGFzbjFfZDJpX3JlYWRfYmlvKEJJTyAqaW4sIEJVRl9NRU0gKipwYikKLSAg ICAgICAgICAgICBpID0gQklPX3JlYWQoaW4sICYoYi0+ZGF0YVtsZW5dKSwgKGludCl3YW50KTsK LSAKLSAgICAgICAgICAgICBpZiAoaSA8PSAwKSB7Ci0tICAgICAgICAgICAgICAgIEVSUl9yYWlz ZShFUlJfTElCX0FTTjEsIEFTTjFfUl9OT1RfRU5PVUdIX0RBVEEpOwotKyAgICAgICAgICAgICAg ICAvKgotKyAgICAgICAgICAgICAgICAgKiBBIHJlYWQgZXJyb3IgKGkgPCAwKSwgYW4gRU9GIGlu IHRoZSBtaWRkbGUgb2YgYW4gb2JqZWN0Ci0rICAgICAgICAgICAgICAgICAqIChkaWZmICE9IDAs IHNvbWUgYnl0ZXMgYWxyZWFkeSBidWZmZXJlZCksIG9yIGFuIEVPRiB3aGlsZQotKyAgICAgICAg ICAgICAgICAgKiBzdGlsbCBpbnNpZGUgYW4gaW5kZWZpbml0ZS1sZW5ndGggY29uc3RydWN0ZWQg dmFsdWUgYXdhaXRpbmcKLSsgICAgICAgICAgICAgICAgICogaXRzIGVuZC1vZi1jb250ZW50cyBv Y3RldHMgKGVvcyAhPSAwKSBhbGwgbWVhbiB0aGUgaW5wdXQgaXMKLSsgICAgICAgICAgICAgICAg ICogdHJ1bmNhdGVkLiAgT25seSBhIGNsZWFuIEVPRiBhdCBhIHRvcC1sZXZlbCBvYmplY3QgYm91 bmRhcnkKLSsgICAgICAgICAgICAgICAgICogKGkgPT0gMCwgZGlmZiA9PSAwLCBlb3MgPT0gMCkg aXMgdGhlIG5vcm1hbCBlbmQgb2YgaW5wdXQ6Ci0rICAgICAgICAgICAgICAgICAqIGZhaWwgd2l0 aG91dCBxdWV1aW5nIGFuIGVycm9yIHNvIHRoYXQgY2FsbGVycyBsb29waW5nIG92ZXIKLSsgICAg ICAgICAgICAgICAgICogY29uY2F0ZW5hdGVkIERFUiB2YWx1ZXMgKGUuZy4gdGhlIGxpYmNyeXB0 byBkMmlfKl9iaW8oKQotKyAgICAgICAgICAgICAgICAgKiBjb25zdW1lcnMgaW4gQ1B5dGhvbidz IHNzbCBtb2R1bGUpIHRlcm1pbmF0ZSBjbGVhbmx5IGluc3RlYWQKLSsgICAgICAgICAgICAgICAg ICogb2Ygc2VlaW5nIGEgc3B1cmlvdXMgQVNOMV9SX05PVF9FTk9VR0hfREFUQS4KLSsgICAgICAg ICAgICAgICAgICovCi0rICAgICAgICAgICAgICAgIGlmIChpIDwgMCB8fCBkaWZmICE9IDAgfHwg ZW9zICE9IDApCi0rICAgICAgICAgICAgICAgICAgICBFUlJfcmFpc2UoRVJSX0xJQl9BU04xLCBB U04xX1JfTk9UX0VOT1VHSF9EQVRBKTsKLSAgICAgICAgICAgICAgICAgZ290byBlcnI7Ci0gICAg ICAgICAgICAgfQotIAotZGlmZiAtLWdpdCBhL2RvYy9tYW4zL0FTTjFfaXRlbV9kMmlfYmlvLnBv ZCBiL2RvYy9tYW4zL0FTTjFfaXRlbV9kMmlfYmlvLnBvZAotaW5kZXggZjhlNDY3ODM2Ny4uOWIz ZjM4OWEyMyAxMDA2NDQKLS0tLSBhL2RvYy9tYW4zL0FTTjFfaXRlbV9kMmlfYmlvLnBvZAotKysr IGIvZG9jL21hbjMvQVNOMV9pdGVtX2QyaV9iaW8ucG9kCi1AQCAtNTksNiArNTksMTYgQEAgQjxP U1NMX0xJQl9DVFg+IHByb3ZpZGVkIGluIHRoZSBJPGxpYmN0eD4gcGFyYW1ldGVyIGFuZCB0aGUg cHJvcGVydHkgcXVlcnkKLSBzdHJpbmcgaW4gSTxwcm9wcT4uIFNlZSBMPGNyeXB0byg3KS9BTEdP UklUSE0gRkVUQ0hJTkc+IGZvciBtb3JlIGluZm9ybWF0aW9uCi0gYWJvdXQgYWxnb3JpdGhtIGZl dGNoaW5nLgotIAotK1doZW4gcmVhZGluZyBmcm9tIEk8aW4+LCBkZWNvZGluZyBjb25zdW1lcyBv bmUgY29tcGxldGUgREVSLWVuY29kZWQgc3RydWN0dXJlCi0rYW5kIGxlYXZlcyBhbnkgZm9sbG93 aW5nIGJ5dGVzIGluIHRoZSBCSU8sIHNvIGNvbmNhdGVuYXRlZCBzdHJ1Y3R1cmVzIGNhbiBiZQot K3JlYWQgd2l0aCBzdWNjZXNzaXZlIGNhbGxzLiBSZWFjaGluZyB0aGUgZW5kIG9mIHRoZSBpbnB1 dCBjbGVhbmx5LCBhdCBhCi0rc3RydWN0dXJlIGJvdW5kYXJ5LCBpcyBub3QgdHJlYXRlZCBhcyBh biBlcnJvcjogdGhlIGZ1bmN0aW9uIHJldHVybnMgTlVMTAotK3dpdGhvdXQgYWRkaW5nIHRvIHRo ZSBlcnJvciBxdWV1ZS4gSWYgdGhlIGVuZCBvZiB0aGUgaW5wdXQgaXMgcmVhY2hlZCBpbiB0aGUK LSttaWRkbGUgb2YgYSBzdHJ1Y3R1cmUsIG9yIGFuIGluZGVmaW5pdGUtbGVuZ3RoIHZhbHVlIGlz IG1pc3NpbmcgaXRzCi0rZW5kLW9mLWNvbnRlbnRzIG9jdGV0cyAodGhhdCBpcywgdGhlIGlucHV0 IGlzIHRydW5jYXRlZCksIGFuIGVycm9yIGlzIHF1ZXVlZAotK3dpdGggcmVhc29uIGNvZGUgQjxB U04xX1JfTk9UX0VOT1VHSF9EQVRBPi4gVGhlIHNhbWUgYXBwbGllcyB0bwotK0FTTjFfaXRlbV9k MmlfZnBfZXgoKS4KLSsKLSBBU04xX2l0ZW1fZDJpX2JpbygpIGlzIHRoZSBzYW1lIGFzIEFTTjFf aXRlbV9kMmlfYmlvX2V4KCkgZXhjZXB0IHRoYXQgdGhlCi0gZGVmYXVsdCBCPE9TU0xfTElCX0NU WD4gaXMgdXNlZCAoaS5lLiBOVUxMKSBhbmQgd2l0aCBhIE5VTEwgcHJvcGVydHkgcXVlcnkKLSBz dHJpbmcuCi1AQCAtOTIsNiArMTAyLDEyIEBAIHRoYXQgdGhlIEk8bGliY3R4PiBhbmQgSTxwcm9w cT4gY2FuIGJlIHVzZWQgd2hlbiBkb2luZyBhbGdvcml0aG0gZmV0Y2hpbmcuCi0gQVNOMV9pdGVt X2QyaV9iaW8oKSwgQVNOMV9pdGVtX3VucGFja19leCgpIGFuZCBBU04xX2l0ZW1fdW5wYWNrKCkg cmV0dXJuIGEgcG9pbnRlciB0bwotIGFuIEI8QVNOMV9WQUxVRT4gb3IgTlVMTCBvbiBlcnJvci4K LSAKLStUaGUgQVNOMV9pdGVtX2QyaV9iaW8oKSBhbmQgQVNOMV9pdGVtX2QyaV9mcCgpIGZ1bmN0 aW9ucywgaW5jbHVkaW5nIHRoZWlyCi0rQjxfZXg+IHZhcmlhbnRzLCBhbHNvIHJldHVybiBOVUxM IGF0IGEgY2xlYW4gZW5kIG9mIGlucHV0LiBJbiB0aGF0IGNhc2UgdGhlCi0rZXJyb3IgcXVldWUg aXMgbGVmdCB1bmNoYW5nZWQsIHNvIGEgY2FsbGVyIHJlYWRpbmcgY29uY2F0ZW5hdGVkIHN0cnVj dHVyZXMgaW4KLSthIGxvb3AgY2FuIGRpc3Rpbmd1aXNoIGEgY2xlYW4gZW5kIG9mIGlucHV0IGZy b20gYSBkZWNvZGluZyBlcnJvciBieQotK2luc3BlY3RpbmcgdGhlIGVycm9yIHF1ZXVlLCBmb3Ig ZXhhbXBsZSB3aXRoIEw8RVJSX3BlZWtfZXJyb3IoMyk+LgotKwotIEFTTjFfaXRlbV9pMmRfbWVt X2JpbygpIHJldHVybnMgYSBwb2ludGVyIHRvIGEgbWVtb3J5IEJJTyBvciBOVUxMIG9uIGVycm9y LgotIAotIEFTTjFfaXRlbV9wYWNrKCkgcmV0dXJucyBhIHBvaW50ZXIgdG8gYW4gQjxBU04xX1NU UklORz4gb3IgTlVMTCBvbiBlcnJvci4KLUBAIC0xMDUsNyArMTIxLDcgQEAgVGhlIGZ1bmN0aW9u IEFTTjFfaXRlbV91bnBhY2tfZXgoKSB3YXMgYWRkZWQgaW4gT3BlblNTTCAzLjIuCi0gCi0gPWhl YWQxIENPUFlSSUdIVAotIAotLUNvcHlyaWdodCAyMDIxLTIwMjMgVGhlIE9wZW5TU0wgUHJvamVj dCBBdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotK0NvcHlyaWdodCAyMDIxLTIwMjYgVGhl IE9wZW5TU0wgUHJvamVjdCBBdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotIAotIExpY2Vu c2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSAyLjAgKHRoZSAiTGljZW5zZSIpLiAgWW91IG1h eSBub3QgdXNlCi0gdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vu c2UuICBZb3UgY2FuIG9idGFpbiBhIGNvcHkKLWRpZmYgLS1naXQgYS90ZXN0L2FzbjFfZGVjb2Rl X3Rlc3QuYyBiL3Rlc3QvYXNuMV9kZWNvZGVfdGVzdC5jCi1pbmRleCA2ZTAwZDQwODk2Li44YTk2 MjljMjFkIDEwMDY0NAotLS0tIGEvdGVzdC9hc24xX2RlY29kZV90ZXN0LmMKLSsrKyBiL3Rlc3Qv YXNuMV9kZWNvZGVfdGVzdC5jCi1AQCAtMTQsNyArMTQsMTEgQEAKLSAjaW5jbHVkZSA8b3BlbnNz bC9hc24xLmg+Ci0gI2luY2x1ZGUgPG9wZW5zc2wvYXNuMXQuaD4KLSAjaW5jbHVkZSA8b3BlbnNz bC9vYmpfbWFjLmg+Ci0rI2luY2x1ZGUgPG9wZW5zc2wvYmlvLmg+Ci0rI2luY2x1ZGUgPG9wZW5z c2wvYnVmZmVyLmg+Ci0rI2luY2x1ZGUgPG9wZW5zc2wvZXJyLmg+Ci0gI2luY2x1ZGUgImludGVy bmFsL251bWJlcnMuaCIKLSsjaW5jbHVkZSAiaW50ZXJuYWwvYXNuMS5oIgotICNpbmNsdWRlICJ0 ZXN0dXRpbC5oIgotIAotICNpZmRlZiBfX0dOVUNfXwotQEAgLTI2Niw2ICsyNzAsMTYzIEBAIGVy cjoKLSAgICAgcmV0dXJuIHJldDsKLSB9Ci0gCi0rLyoKLSsgKiBBIG1pbmltYWwsIGNvbXBsZXRl IERFUiBvYmplY3Q6IFNFUVVFTkNFIHsgSU5URUdFUiAwIH0uCi0rICogYXNuMV9kMmlfcmVhZF9i aW8oKSBzaG91bGQgY29uc3VtZSBleGFjdGx5IHRoZXNlIGJ5dGVzLgotKyAqLwotK3N0YXRpYyBj b25zdCB1bnNpZ25lZCBjaGFyIG9uZV9vYmpbXSA9IHsKLSsgICAgMHgzMCwgMHgwMywgLyogU0VR VUVOQ0UsIGxlbmd0aCAzICovCi0rICAgIDB4MDIsIDB4MDEsIDB4MDAgLyogICBJTlRFR0VSIDAg ICAgICAgICovCi0rfTsKLSsKLSsvKgotKyAqIFJlYWRpbmcgY29uY2F0ZW5hdGVkIERFUiBvYmpl Y3RzIGZyb20gYSBCSU8gbXVzdCBzdG9wIGNsZWFubHkgYXQgRU9GOgotKyAqIG9uY2UgdGhlIGlu cHV0IGlzIGV4aGF1c3RlZCBvbiBhbiBvYmplY3QgYm91bmRhcnksIGFzbjFfZDJpX3JlYWRfYmlv KCkKLSsgKiByZXR1cm5zIDwgMCBhbmQgbXVzdCBOT1QgbGVhdmUgYW4gZXJyb3Igb24gdGhlIHF1 ZXVlLiAgQ2FsbGVycyB0aGF0IGxvb3AKLSsgKiBvdmVyIGNvbmNhdGVuYXRlZCB2YWx1ZXMgKGUu Zy4gQ1B5dGhvbidzIHNzbCBtb2R1bGUgbG9hZGluZyB0aGUgV2luZG93cwotKyAqIGNlcnRpZmlj YXRlIHN0b3JlIHZpYSBkMmlfWDUwOV9iaW8oKSkgcmVseSBvbiB0aGlzIHRvIGRldGVjdCBlbmQt b2YtaW5wdXQ7Ci0rICogYSBzcHVyaW91cyBBU04xX1JfTk9UX0VOT1VHSF9EQVRBIHRoZXJlIGlz IHJlcG9ydGVkIGFzIGEgZmF0YWwgZXJyb3IuCi0rICovCi0rc3RhdGljIGludCB0ZXN0X2QyaV9y ZWFkX2Jpb19jbGVhbl9lb2Yodm9pZCkKLSt7Ci0rICAgIHVuc2lnbmVkIGNoYXIgdHdvX29ianNb c2l6ZW9mKG9uZV9vYmopICogMl07Ci0rICAgIEJJTyAqYmlvID0gTlVMTDsKLSsgICAgQlVGX01F TSAqYnVmID0gTlVMTDsKLSsgICAgaW50IHJldCA9IDA7Ci0rCi0rICAgIG1lbWNweSh0d29fb2Jq cywgb25lX29iaiwgc2l6ZW9mKG9uZV9vYmopKTsKLSsgICAgbWVtY3B5KHR3b19vYmpzICsgc2l6 ZW9mKG9uZV9vYmopLCBvbmVfb2JqLCBzaXplb2Yob25lX29iaikpOwotKwotKyAgICBpZiAoIVRF U1RfcHRyKGJpbyA9IEJJT19uZXdfbWVtX2J1Zih0d29fb2Jqcywgc2l6ZW9mKHR3b19vYmpzKSkp KQotKyAgICAgICAgZ290byBlcnI7Ci0rICAgIEVSUl9jbGVhcl9lcnJvcigpOwotKwotKyAgICAv KiBCb3RoIGNvbXBsZXRlIG9iamVjdHMgYXJlIHJlYWQsIG9uZSBwZXIgY2FsbC4gKi8KLSsgICAg aWYgKCFURVNUX2ludF9lcShhc24xX2QyaV9yZWFkX2JpbyhiaW8sICZidWYpLCAoaW50KXNpemVv ZihvbmVfb2JqKSkpCi0rICAgICAgICBnb3RvIGVycjsKLSsgICAgQlVGX01FTV9mcmVlKGJ1Zik7 Ci0rICAgIGJ1ZiA9IE5VTEw7Ci0rICAgIGlmICghVEVTVF9pbnRfZXEoYXNuMV9kMmlfcmVhZF9i aW8oYmlvLCAmYnVmKSwgKGludClzaXplb2Yob25lX29iaikpKQotKyAgICAgICAgZ290byBlcnI7 Ci0rICAgIEJVRl9NRU1fZnJlZShidWYpOwotKyAgICBidWYgPSBOVUxMOwotKwotKyAgICAvKiBD bGVhbiBFT0Y6IGZhaWx1cmUgcmV0dXJuLCBidXQgbm8gZXJyb3IgbXVzdCBiZSBxdWV1ZWQuICov Ci0rICAgIGlmICghVEVTVF9pbnRfbHQoYXNuMV9kMmlfcmVhZF9iaW8oYmlvLCAmYnVmKSwgMCkp Ci0rICAgICAgICBnb3RvIGVycjsKLSsgICAgaWYgKCFURVNUX3Vsb25nX2VxKEVSUl9wZWVrX2Vy cm9yKCksIDApKQotKyAgICAgICAgZ290byBlcnI7Ci0rCi0rICAgIHJldCA9IDE7Ci0rZXJyOgot KyAgICBCVUZfTUVNX2ZyZWUoYnVmKTsKLSsgICAgQklPX2ZyZWUoYmlvKTsKLSsgICAgcmV0dXJu IHJldDsKLSt9Ci0rCi0rLyoKLSsgKiBJbiBjb250cmFzdCwgaGl0dGluZyBFT0YgaW4gdGhlIG1p ZGRsZSBvZiBhbiBvYmplY3QgaXMgZ2VudWluZSB0cnVuY2F0aW9uCi0rICogYW5kIG11c3Qgc3Rp bGwgYmUgcmVwb3J0ZWQgYXMgQVNOMV9SX05PVF9FTk9VR0hfREFUQS4KLSsgKi8KLStzdGF0aWMg aW50IHRlc3RfZDJpX3JlYWRfYmlvX3RydW5jYXRlZCh2b2lkKQotK3sKLSsgICAgc3RhdGljIGNv bnN0IHVuc2lnbmVkIGNoYXIgdHJ1bmNhdGVkW10gPSB7Ci0rICAgICAgICAweDMwLCAweDA1LCAv KiBTRVFVRU5DRSBjbGFpbXMgNSBjb250ZW50IGJ5dGVzIC4uLiAqLwotKyAgICAgICAgMHgwMiwg MHgwMSAvKiAuLi4gYnV0IG9ubHkgMiBhcmUgcHJlc2VudCAgICAgICAgICovCi0rICAgIH07Ci0r ICAgIEJJTyAqYmlvID0gTlVMTDsKLSsgICAgQlVGX01FTSAqYnVmID0gTlVMTDsKLSsgICAgdW5z aWduZWQgbG9uZyBlOwotKyAgICBpbnQgcmV0ID0gMDsKLSsKLSsgICAgaWYgKCFURVNUX3B0cihi aW8gPSBCSU9fbmV3X21lbV9idWYodHJ1bmNhdGVkLCBzaXplb2YodHJ1bmNhdGVkKSkpKQotKyAg ICAgICAgZ290byBlcnI7Ci0rICAgIEVSUl9jbGVhcl9lcnJvcigpOwotKwotKyAgICBpZiAoIVRF U1RfaW50X2x0KGFzbjFfZDJpX3JlYWRfYmlvKGJpbywgJmJ1ZiksIDApKQotKyAgICAgICAgZ290 byBlcnI7Ci0rICAgIGUgPSBFUlJfcGVla19sYXN0X2Vycm9yKCk7Ci0rICAgIGlmICghVEVTVF9p bnRfZXEoRVJSX0dFVF9MSUIoZSksIEVSUl9MSUJfQVNOMSkKLSsgICAgICAgIHx8ICFURVNUX2lu dF9lcShFUlJfR0VUX1JFQVNPTihlKSwgQVNOMV9SX05PVF9FTk9VR0hfREFUQSkpCi0rICAgICAg ICBnb3RvIGVycjsKLSsKLSsgICAgcmV0ID0gMTsKLStlcnI6Ci0rICAgIEJVRl9NRU1fZnJlZShi dWYpOwotKyAgICBCSU9fZnJlZShiaW8pOwotKyAgICByZXR1cm4gcmV0OwotK30KLSsKLSsvKgot KyAqIEFuIEVPRiByZWFjaGVkIHdoaWxlIHN0aWxsIGluc2lkZSBhbiBpbmRlZmluaXRlLWxlbmd0 aCBjb25zdHJ1Y3RlZCB2YWx1ZSwKLSsgKiBiZWZvcmUgaXRzIGVuZC1vZi1jb250ZW50cyBvY3Rl dHMsIGlzIHRydW5jYXRpb24gdG9vIChub3QgYSBjbGVhbiBib3VuZGFyeSksCi0rICogc28gaXQg bXVzdCBhbHNvIHJlcG9ydCBBU04xX1JfTk9UX0VOT1VHSF9EQVRBIHJhdGhlciB0aGFuIGFuIGVt cHR5IHF1ZXVlLgotKyAqLwotK3N0YXRpYyBpbnQgdGVzdF9kMmlfcmVhZF9iaW9faW5kZWZpbml0 ZV90cnVuY2F0ZWQodm9pZCkKLSt7Ci0rICAgIC8qIFNFUVVFTkNFIChpbmRlZmluaXRlKSB7IElO VEVHRVIgMCB9IHdpdGggdGhlIDAwIDAwIEVPQyBtaXNzaW5nICovCi0rICAgIHN0YXRpYyBjb25z dCB1bnNpZ25lZCBjaGFyIHRydW5jYXRlZF9pbmRlZmluaXRlW10gPSB7Ci0rICAgICAgICAweDMw LCAweDgwLCAvKiBTRVFVRU5DRSwgaW5kZWZpbml0ZSBsZW5ndGggKi8KLSsgICAgICAgIDB4MDIs IDB4MDEsIDB4MDAgLyogSU5URUdFUiAwOyBubyBlbmQtb2YtY29udGVudHMgb2N0ZXRzIGZvbGxv dyAqLwotKyAgICB9OwotKyAgICBCSU8gKmJpbyA9IE5VTEw7Ci0rICAgIEJVRl9NRU0gKmJ1ZiA9 IE5VTEw7Ci0rICAgIHVuc2lnbmVkIGxvbmcgZTsKLSsgICAgaW50IHJldCA9IDA7Ci0rCi0rICAg IGJpbyA9IEJJT19uZXdfbWVtX2J1Zih0cnVuY2F0ZWRfaW5kZWZpbml0ZSwgc2l6ZW9mKHRydW5j YXRlZF9pbmRlZmluaXRlKSk7Ci0rICAgIGlmICghVEVTVF9wdHIoYmlvKSkKLSsgICAgICAgIGdv dG8gZXJyOwotKyAgICBFUlJfY2xlYXJfZXJyb3IoKTsKLSsKLSsgICAgaWYgKCFURVNUX2ludF9s dChhc24xX2QyaV9yZWFkX2JpbyhiaW8sICZidWYpLCAwKSkKLSsgICAgICAgIGdvdG8gZXJyOwot KyAgICBlID0gRVJSX3BlZWtfbGFzdF9lcnJvcigpOwotKyAgICBpZiAoIVRFU1RfaW50X2VxKEVS Ul9HRVRfTElCKGUpLCBFUlJfTElCX0FTTjEpCi0rICAgICAgICB8fCAhVEVTVF9pbnRfZXEoRVJS X0dFVF9SRUFTT04oZSksIEFTTjFfUl9OT1RfRU5PVUdIX0RBVEEpKQotKyAgICAgICAgZ290byBl cnI7Ci0rCi0rICAgIHJldCA9IDE7Ci0rZXJyOgotKyAgICBCVUZfTUVNX2ZyZWUoYnVmKTsKLSsg ICAgQklPX2ZyZWUoYmlvKTsKLSsgICAgcmV0dXJuIHJldDsKLSt9Ci0rCi0rLyoKLSsgKiBBbiBF T0YgcmVhY2hlZCBwYXJ0LXdheSB0aHJvdWdoIGFuIG9iamVjdCdzIGhlYWRlciwgd2l0aCBzb21l IGhlYWRlciBieXRlcwotKyAqIGFscmVhZHkgYnVmZmVyZWQsIGlzIHRydW5jYXRpb24gYXMgd2Vs bC4gIFRoaXMgZXhlcmNpc2VzIHRoZSAiZGlmZiAhPSAwIiBhcm0KLSsgKiBvZiB0aGUgaGVhZGVy LXJlYWQgY2hlY2sgKGRpc3RpbmN0IGZyb20gdGhlIGJvZHkgcmVhZCBoYW5kbGVkIGVsc2V3aGVy ZSkuCi0rICovCi0rc3RhdGljIGludCB0ZXN0X2QyaV9yZWFkX2Jpb19wYXJ0aWFsX2hlYWRlcih2 b2lkKQotK3sKLSsgICAgLyogU0VRVUVOQ0Ugd2l0aCBhIDItYnl0ZSBsb25nLWZvcm0gbGVuZ3Ro LCBidXQgb25seSBvbmUgbGVuZ3RoIGJ5dGUgZ2l2ZW4gKi8KLSsgICAgc3RhdGljIGNvbnN0IHVu c2lnbmVkIGNoYXIgcGFydGlhbF9oZWFkZXJbXSA9IHsKLSsgICAgICAgIDB4MzAsIDB4ODIsIDB4 MDEgLyogU0VRVUVOQ0UsIGxlbmd0aCBkZWNsYXJlZCBhcyAyIGJ5dGVzLCAxIHByZXNlbnQgKi8K LSsgICAgfTsKLSsgICAgQklPICpiaW8gPSBOVUxMOwotKyAgICBCVUZfTUVNICpidWYgPSBOVUxM OwotKyAgICB1bnNpZ25lZCBsb25nIGU7Ci0rICAgIGludCByZXQgPSAwOwotKwotKyAgICBpZiAo IVRFU1RfcHRyKGJpbyA9IEJJT19uZXdfbWVtX2J1ZihwYXJ0aWFsX2hlYWRlciwgc2l6ZW9mKHBh cnRpYWxfaGVhZGVyKSkpKQotKyAgICAgICAgZ290byBlcnI7Ci0rICAgIEVSUl9jbGVhcl9lcnJv cigpOwotKwotKyAgICBpZiAoIVRFU1RfaW50X2x0KGFzbjFfZDJpX3JlYWRfYmlvKGJpbywgJmJ1 ZiksIDApKQotKyAgICAgICAgZ290byBlcnI7Ci0rICAgIGUgPSBFUlJfcGVla19sYXN0X2Vycm9y KCk7Ci0rICAgIGlmICghVEVTVF9pbnRfZXEoRVJSX0dFVF9MSUIoZSksIEVSUl9MSUJfQVNOMSkK LSsgICAgICAgIHx8ICFURVNUX2ludF9lcShFUlJfR0VUX1JFQVNPTihlKSwgQVNOMV9SX05PVF9F Tk9VR0hfREFUQSkpCi0rICAgICAgICBnb3RvIGVycjsKLSsKLSsgICAgcmV0ID0gMTsKLStlcnI6 Ci0rICAgIEJVRl9NRU1fZnJlZShidWYpOwotKyAgICBCSU9fZnJlZShiaW8pOwotKyAgICByZXR1 cm4gcmV0OwotK30KLSsKLSBpbnQgc2V0dXBfdGVzdHModm9pZCkKLSB7Ci0gI2lmbmRlZiBPUEVO U1NMX05PX0RFUFJFQ0FURURfM18wCi1AQCAtMjc5LDUgKzQ0MCw5IEBAIGludCBzZXR1cF90ZXN0 cyh2b2lkKQotICAgICBBRERfVEVTVCh0ZXN0X3V0Y3RpbWUpOwotICAgICBBRERfVEVTVCh0ZXN0 X2ludmFsaWRfdGVtcGxhdGUpOwotICAgICBBRERfVEVTVCh0ZXN0X3JldXNlX2FzbjFfb2JqZWN0 KTsKLSsgICAgQUREX1RFU1QodGVzdF9kMmlfcmVhZF9iaW9fY2xlYW5fZW9mKTsKLSsgICAgQURE X1RFU1QodGVzdF9kMmlfcmVhZF9iaW9fdHJ1bmNhdGVkKTsKLSsgICAgQUREX1RFU1QodGVzdF9k MmlfcmVhZF9iaW9faW5kZWZpbml0ZV90cnVuY2F0ZWQpOwotKyAgICBBRERfVEVTVCh0ZXN0X2Qy aV9yZWFkX2Jpb19wYXJ0aWFsX2hlYWRlcik7Ci0gICAgIHJldHVybiAxOwotIH0KLS0tIAotMi41 NC4wCi0KCmRpZmYgLS1naXQgYS9vcGVuc3NsLnNwZWMgYi9vcGVuc3NsLnNwZWMKaW5kZXggNDg5 N2YwYS4uOWJkZmM3YiAxMDA2NDQKLS0tIGEvb3BlbnNzbC5zcGVjCisrKyBiL29wZW5zc2wuc3Bl YwpAQCAtMjksOCArMjksOCBAQCBwcmludChzdHJpbmcuc3ViKGhhc2gsIDAsIDE2KSkKIAogU3Vt bWFyeTogVXRpbGl0aWVzIGZyb20gdGhlIGdlbmVyYWwgcHVycG9zZSBjcnlwdG9ncmFwaHkgbGli cmFyeSB3aXRoIFRMUyBpbXBsZW1lbnRhdGlvbgogTmFtZTogb3BlbnNzbAotVmVyc2lvbjogNC4w LjEKLVJlbGVhc2U6IDUlez9kaXN0fQorVmVyc2lvbjogNC4wLjIKK1JlbGVhc2U6IDElez9kaXN0 fQogRXBvY2g6IDEKIFNvdXJjZTA6IG9wZW5zc2wtJXt2ZXJzaW9ufS50YXIuZ3oKIFNvdXJjZTQ6 IG9wZW5zc2wucnBtbGludHJjCkBAIC01Myw3ICs1Myw2IEBAIFBhdGNoMDAxMzogMDAxMy1GSVBT LVBLQ1MxMi1QQk1BQzEtZGVmYXVsdHMucGF0Y2gKIFBhdGNoMDAxNDogMDAxNC1GSVBTLUVDLWRp c2FibGUtd2Vhay1jdXJ2ZXMucGF0Y2gKIFBhdGNoMDAxNTogMDAxNS1NYWtlLW9wZW5zc2wtc3Bl ZWQtcnVuLWluLUZJUFMtbW9kZS5wYXRjaAogUGF0Y2gwMDE2OiAwMDE2LUFsbG93LWh5YnJpZC1N TEtFTS1pbi1GSVBTLW1vZGUucGF0Y2gKLVBhdGNoMDAxNzogMDAxNy1Eb24tdC1yYWlzZS1OT1Rf RU5PVUdIX0RBVEEtYXQtb2JqZWN0LWJvdW5kYXJ5LnBhdGNoCiAKIExpY2Vuc2U6IEFwYWNoZS0y LjAKIFVSTDogaHR0cDovL3d3dy5vcGVuc3NsLm9yZy8KQEAgLTM3Niw2ICszNzUsOSBAQCBsbiAt cyAvZXRjL2NyeXB0by1wb2xpY2llcy9iYWNrLWVuZHMvb3BlbnNzbF9maXBzLmNvbmZpZyAkUlBN X0JVSUxEX1JPT1Qle19zeXNjbwogJWxkY29uZmlnX3NjcmlwdGxldHMgbGlicwogCiAlY2hhbmdl bG9nCisqIEZyaSBBdWcgMjggMjAyNiBEbWl0cnkgQmVseWF2c2tpeSA8ZGJlbHlhdnNAcmVkaGF0 LmNvbT4gLSAxOjQuMC4yLTEKKy0gUmViYXNlIHRvIE9wZW5TU0wgNC4wLjIKKwogKiBGcmkgSnVs IDE3IDIwMjYgUGF2b2wgxb3DocSNaWsgPHB6YWNpa0ByZWRoYXQuY29tPiAtIDE6NC4wLjEtNQog LSBEb24ndCByYWlzZSBOT1RfRU5PVUdIX0RBVEEgb24gYSBjbGVhbiBFT0YgYXQgYW4gb2JqZWN0 IGJvdW5kYXJ5CiAgIChCYWNrcG9ydCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3NsL29w ZW5zc2wvY29tbWl0LzQzNjBkNTMpCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5k ZXggYTllYmNmZi4uZWJhMzVmNiAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBA IC0xICsxIEBACi1TSEE1MTIgKG9wZW5zc2wtNC4wLjEudGFyLmd6KSA9IDg0MTA0Y2JkOTI4YTNm YmNiOWE5MGM1NjdmYTM3ZjkyN2I5NzRkNDc0NGI4Y2Q3NzQ2NDFlMGQwN2RiMDY1ZDE1NjRmYTRj M2RmNGMyNjgxOGYzYzZlNzI2Y2E3MWIzYWFlNzIxMDlkMTA0ODJiYmEzMzk2OTQ5ODg2ZmM4ODky CitTSEE1MTIgKG9wZW5zc2wtNC4wLjIudGFyLmd6KSA9IDRkYTgwOGI2NGZjYTgzMmI4MDc1MmM0 ZGMwMjQ4ZWE2MDJjNzhlY2MzNWZiNzQ1NTQzOWRjY2ZhZTNmYjc0MjEzZDM2ODlmNDU1YTQwNTMz ZDg5ZTYxODBkMmM4MWVhNTg3MWYyNzYzZmE2NDc0MGMyODEwYWY5ZmRiNDEwNGJlCg==