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: Mattias Ellert To: git-commits@fedoraproject.org Subject: [rpms/xrootd] f44: Update to version 6.0.2 Date: Mon, 01 Jun 2026 04:19:25 GMT Message-ID: <178028756568.1.6530038784401911515.rpms-xrootd-8acacae375b0@fedoraproject.org> List-ID: X-Git-Repo: rpms/xrootd X-Git-Branch: f44 X-Git-Rev: 8acacae375b0e25f539031b7d654e99d0f717145 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMveHJvb3RkCiAgICAgICAgICAgIEJyYW5jaCA6IGY0NAogICAgICAgICAgICBD b21taXQgOiA4YWNhY2FlMzc1YjBlMjVmNTM5MDMxYjdkNjU0ZTk5ZDBmNzE3MTQ1CiAgICAgICAg ICAgIEF1dGhvciA6IE1hdHRpYXMgRWxsZXJ0IDxtYXR0aWFzLmVsbGVydEBwaHlzaWNzLnV1LnNl PgogICAgICAgICAgICBEYXRlICAgOiAyMDI2LTA2LTAxVDA0OjIyOjM2KzAyOjAwCiAgICAgICAg ICAgIFN0YXRzICA6ICs2NDcvLTMxOCBpbiAxMiBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6 IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMveHJvb3RkL2MvOGFjYWNhZTM3NWIw ZTI1ZjUzOTAzMWI3ZDY1NGU5OWQwZjcxNzE0NT9icmFuY2g9ZjQ0CgogICAgICAgICAgICBMb2c6 CiAgICAgICAgICAgIFVwZGF0ZSB0byB2ZXJzaW9uIDYuMC4yCgpBZGFwdCB0byBPcGVuU1NMIDQu MApEcm9wIHBhdGNoZXMgYWNjZXB0ZWQgdXBzdHJlYW0KCi0tLQpkaWZmIC0tZ2l0IGEvMDAwMS1B ZGQtaW5jbHVkZS1YcmRTeXMtWHJkU3lzUGxhdGZvcm0uaGgtZm9yLU1BWFBBVEhMRU4ucGF0Y2gg Yi8wMDAxLUFkZC1pbmNsdWRlLVhyZFN5cy1YcmRTeXNQbGF0Zm9ybS5oaC1mb3ItTUFYUEFUSExF Ti5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODQ5YzM4MC4uMDAwMDAwMAot LS0gYS8wMDAxLUFkZC1pbmNsdWRlLVhyZFN5cy1YcmRTeXNQbGF0Zm9ybS5oaC1mb3ItTUFYUEFU SExFTi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLUZyb20gZjBjYjNjZTc4 ZDllMWJkMmJjYWM3YzQzZThiMjcyYjkzNTBlYzNmNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206IE1hdHRpYXMgRWxsZXJ0IDxtYXR0aWFzLmVsbGVydEBwaHlzaWNzLnV1LnNlPgotRGF0 ZTogTW9uLCAyMCBBcHIgMjAyNiAyMToxNjoxMSArMDIwMAotU3ViamVjdDogW1BBVENIIDEvNl0g QWRkICNpbmNsdWRlICJYcmRTeXMvWHJkU3lzUGxhdGZvcm0uaGgiIGZvciBNQVhQQVRITEVOCi0K LS0tLQotIHNyYy9YcmRPc3NBcmMvWHJkT3NzQXJjQmFja3VwLmNjIHwgMSArCi0gc3JjL1hyZE9z c0FyYy9YcmRPc3NBcmNDb25maWcuY2MgfCAxICsKLSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0 aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL1hyZE9zc0FyYy9YcmRPc3NBcmNCYWNrdXAuY2Mg Yi9zcmMvWHJkT3NzQXJjL1hyZE9zc0FyY0JhY2t1cC5jYwotaW5kZXggZjI0OTEyY2I5Li5mNDll N2JkYWIgMTAwNjQ0Ci0tLS0gYS9zcmMvWHJkT3NzQXJjL1hyZE9zc0FyY0JhY2t1cC5jYwotKysr IGIvc3JjL1hyZE9zc0FyYy9YcmRPc3NBcmNCYWNrdXAuY2MKLUBAIC00Nyw2ICs0Nyw3IEBACi0g I2luY2x1ZGUgIlhyZE91Yy9YcmRPdWNTdHJlYW0uaGgiCi0gCi0gI2luY2x1ZGUgIlhyZFN5cy9Y cmRTeXNFcnJvci5oaCIKLSsjaW5jbHVkZSAiWHJkU3lzL1hyZFN5c1BsYXRmb3JtLmhoIgotICNp bmNsdWRlICJYcmRTeXMvWHJkU3lzUHRocmVhZC5oaCIKLSAKLSAvKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqLwotZGlmZiAtLWdpdCBhL3NyYy9YcmRPc3NBcmMvWHJkT3NzQXJjQ29uZmlnLmNjIGIvc3Jj L1hyZE9zc0FyYy9YcmRPc3NBcmNDb25maWcuY2MKLWluZGV4IDdmNmVlMGFjOC4uNjIwYzBiZWQx IDEwMDY0NAotLS0tIGEvc3JjL1hyZE9zc0FyYy9YcmRPc3NBcmNDb25maWcuY2MKLSsrKyBiL3Ny Yy9YcmRPc3NBcmMvWHJkT3NzQXJjQ29uZmlnLmNjCi1AQCAtNjEsNiArNjEsNyBAQAotICNpbmNs dWRlICJYcmRPdWMvWHJkT3VjVXRpbHMuaGgiCi0gCi0gI2luY2x1ZGUgIlhyZFN5cy9YcmRTeXNF cnJvci5oaCIKLSsjaW5jbHVkZSAiWHJkU3lzL1hyZFN5c1BsYXRmb3JtLmhoIgotIAotIC8qKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKiovCi0gLyogICAgICAgICAgICAgICAgICAgICAgICBHIGwgbyBiIGEg bCAgIE8gYiBqIGUgYyB0IHMgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLS0tIAotMi41My4w Ci0KCmRpZmYgLS1naXQgYS8wMDAxLUluY3JlYXNlLXRpbWVvdXRzLWZvci1zbG93LWRlYmlhbi1i dWlsZGVycy5wYXRjaCBiLzAwMDEtSW5jcmVhc2UtdGltZW91dHMtZm9yLXNsb3ctZGViaWFuLWJ1 aWxkZXJzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZDBlYzg1Li4wMDAw MDAwCi0tLSBhLzAwMDEtSW5jcmVhc2UtdGltZW91dHMtZm9yLXNsb3ctZGViaWFuLWJ1aWxkZXJz LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzEgKzAsMCBAQAotRnJvbSA0NjEwMTBiMDgxMWFl NTAxM2RlNTM0YmVmZDg5YzRjNmRiZDU4MDM3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJv bTogTWF0dGlhcyBFbGxlcnQgPG1hdHRpYXMuZWxsZXJ0QHBoeXNpY3MudXUuc2U+Ci1EYXRlOiBN b24sIDIwIEFwciAyMDI2IDIzOjE0OjExICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIEluY3JlYXNl IHRpbWVvdXRzIGZvciBzbG93IGRlYmlhbiBidWlsZGVycwotCi0tLS0KLSB0ZXN0cy9YUm9vdEQv dGVzdC5zaCAgICAgIHwgMiArLQotIHRlc3RzL1hyZENsSHR0cC9zZXR1cC5zaCAgfCA0ICsrLS0K LSB0ZXN0cy9YcmRDbFMzL3MzLXNldHVwLnNoIHwgNCArKy0tCi0gMyBmaWxlcyBjaGFuZ2VkLCA1 IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS90ZXN0cy9YUm9v dEQvdGVzdC5zaCBiL3Rlc3RzL1hSb290RC90ZXN0LnNoCi1pbmRleCBiZTE2MGEyY2YuLmU4NWMw OTA1MyAxMDA3NTUKLS0tLSBhL3Rlc3RzL1hSb290RC90ZXN0LnNoCi0rKysgYi90ZXN0cy9YUm9v dEQvdGVzdC5zaAotQEAgLTU4LDcgKzU4LDcgQEAgZXhwb3J0IFhSRF9MT0dMRVZFTCBYUkRfTE9H RklMRQotICMgUmVkdWNlIGRlZmF1bHQgdGltZW91dHMgdG8gY2F0Y2ggZXJyb3JzIHF1aWNrbHkg YW5kIHByZXZlbnQgdGhlIHRlc3QKLSAjIHN1aXRlIGZyb20gZ2V0dGluZyBzdHVjayB3YWl0aW5n IGZvciB0aW1lb3V0cyB3aGlsZSBydW5uaW5nLgotIAotLTogIiR7WFJEX1JFUVVFU1RUSU1FT1VU Oj0xNX0iCi0rOiAiJHtYUkRfUkVRVUVTVFRJTUVPVVQ6PTYwfSIKLSA6ICIke1hSRF9TVFJFQU1U SU1FT1VUOj0xMH0iCi0gOiAiJHtYUkRfVElNRU9VVFJFU09MVVRJT046PTF9IgotIAotZGlmZiAt LWdpdCBhL3Rlc3RzL1hyZENsSHR0cC9zZXR1cC5zaCBiL3Rlc3RzL1hyZENsSHR0cC9zZXR1cC5z aAotaW5kZXggZDNmNGNhOTAxLi5kZjQ5MzA4ZjkgMTAwNzU1Ci0tLS0gYS90ZXN0cy9YcmRDbEh0 dHAvc2V0dXAuc2gKLSsrKyBiL3Rlc3RzL1hyZENsSHR0cC9zZXR1cC5zaAotQEAgLTQ0NSw3ICs0 NDUsNyBAQCBlY2hvICJDYWNoZSBzdGFydGVkIGF0IHBvcnQgJENBQ0hFX1BPUlQiCi0gCi0gaWYg ISAiJEJJTkFSWV9ESVIvYmluL3hyZHNjaXRva2Vucy1jcmVhdGUtdG9rZW4iIFwKLSAgICAgaXNz dWVyX3B1YmxpYy5wZW0gaXNzdWVyX3ByaXZhdGUucGVtIHRlc3Rfa2V5IFwKLS0gICAgaHR0cHM6 Ly9sb2NhbGhvc3Q6OTQ0MyBzdG9yYWdlLnJlYWQ6LyA2MDAgPiAiJFJVTkRJUi90b2tlbiI7IHRo ZW4KLSsgICAgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBzdG9yYWdlLnJlYWQ6LyAzNjAwID4gIiRS VU5ESVIvdG9rZW4iOyB0aGVuCi0gICBlY2hvICJGYWlsZWQgdG8gZ2VuZXJhdGUgcmVhZCB0b2tl biIKLSAgIGV4aXQgMQotIGZpCi1AQCAtNDUzLDcgKzQ1Myw3IEBAIGVjaG8gIlNhbXBsZSByZWFk IHRva2VuIGF2YWlsYWJsZSBhdCAkUlVORElSL3Rva2VuIgotIAotIGlmICEgIiRCSU5BUllfRElS L2Jpbi94cmRzY2l0b2tlbnMtY3JlYXRlLXRva2VuIiBcCi0gICAgIGlzc3Vlcl9wdWJsaWMucGVt IGlzc3Vlcl9wcml2YXRlLnBlbSB0ZXN0X2tleSBcCi0tICAgIGh0dHBzOi8vbG9jYWxob3N0Ojk0 NDMgc3RvcmFnZS5tb2RpZnk6LyA2MDAgPiAiJFJVTkRJUi93cml0ZS50b2tlbiI7IHRoZW4KLSsg ICAgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBzdG9yYWdlLm1vZGlmeTovIDM2MDAgPiAiJFJVTkRJ Ui93cml0ZS50b2tlbiI7IHRoZW4KLSAgIGVjaG8gIkZhaWxlZCB0byBnZW5lcmF0ZSB3cml0ZSB0 b2tlbiIKLSAgIGV4aXQgMQotIGZpCi1kaWZmIC0tZ2l0IGEvdGVzdHMvWHJkQ2xTMy9zMy1zZXR1 cC5zaCBiL3Rlc3RzL1hyZENsUzMvczMtc2V0dXAuc2gKLWluZGV4IDk2MjgyNDkzNi4uNGMxZDM1 NmEyIDEwMDc1NQotLS0tIGEvdGVzdHMvWHJkQ2xTMy9zMy1zZXR1cC5zaAotKysrIGIvdGVzdHMv WHJkQ2xTMy9zMy1zZXR1cC5zaAotQEAgLTI2Nyw3ICsyNjcsNyBAQCBmaQotIAotIGlmICEgIiRC SU5BUllfRElSL2Jpbi94cmRzY2l0b2tlbnMtY3JlYXRlLXRva2VuIiBcCi0gICAgICIkUlVORElS L2lzc3Vlci9pc3N1ZXJfcHVibGljLnBlbSIgIiRSVU5ESVIvaXNzdWVyL2lzc3Vlcl9wcml2YXRl LnBlbSIgdGVzdF9rZXkgXAotLSAgICBodHRwczovL2xvY2FsaG9zdDo5NDQzIHN0b3JhZ2UucmVh ZDovIDYwMCA+ICIkUlVORElSL3Rva2VuIjsgdGhlbgotKyAgICBodHRwczovL2xvY2FsaG9zdDo5 NDQzIHN0b3JhZ2UucmVhZDovIDM2MDAgPiAiJFJVTkRJUi90b2tlbiI7IHRoZW4KLSAgIGVjaG8g IkZhaWxlZCB0byBnZW5lcmF0ZSByZWFkIHRva2VuIgotICAgZXhpdCAxCi0gZmkKLUBAIC0yNzUs NyArMjc1LDcgQEAgZWNobyAiU2FtcGxlIHJlYWQgdG9rZW4gYXZhaWxhYmxlIGF0ICRSVU5ESVIv dG9rZW4iCi0gICAKLSBpZiAhICIkQklOQVJZX0RJUi9iaW4veHJkc2NpdG9rZW5zLWNyZWF0ZS10 b2tlbiIgXAotICAgICAiJFJVTkRJUi9pc3N1ZXIvaXNzdWVyX3B1YmxpYy5wZW0iICIkUlVORElS L2lzc3Vlci9pc3N1ZXJfcHJpdmF0ZS5wZW0iIHRlc3Rfa2V5IFwKLS0gICAgaHR0cHM6Ly9sb2Nh bGhvc3Q6OTQ0MyBzdG9yYWdlLm1vZGlmeTovIDYwMCA+ICIkUlVORElSL3dyaXRlLnRva2VuIjsg dGhlbgotKyAgICBodHRwczovL2xvY2FsaG9zdDo5NDQzIHN0b3JhZ2UubW9kaWZ5Oi8gMzYwMCA+ ICIkUlVORElSL3dyaXRlLnRva2VuIjsgdGhlbgotICAgZWNobyAiRmFpbGVkIHRvIGdlbmVyYXRl IHdyaXRlIHRva2VuIgotICAgZXhpdCAxIAotIGZpCi0tLSAKLTIuNTMuMAotCgpkaWZmIC0tZ2l0 IGEvMDAwMS1YcmRDbEh0dHAtRml4LWJ1Zy1wcmV2ZW50aW5nLXRoZS1jb25maWd1cmF0aW9uLW9m LXRoLnBhdGNoIGIvMDAwMS1YcmRDbEh0dHAtRml4LWJ1Zy1wcmV2ZW50aW5nLXRoZS1jb25maWd1 cmF0aW9uLW9mLXRoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1 MjZjMzIKLS0tIC9kZXYvbnVsbAorKysgYi8wMDAxLVhyZENsSHR0cC1GaXgtYnVnLXByZXZlbnRp bmctdGhlLWNvbmZpZ3VyYXRpb24tb2YtdGgucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorRnJvbSA3 MWVhNGI1YjJjNjg5Mzc1MDBmNGM3YjcwYTlkNzc1NzgxNzc2ZWI1IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogQnJpYW4gQm9ja2VsbWFuIDxiYm9ja2VsbWFuQG1vcmdyaWRnZS5vcmc+ CitEYXRlOiBUaHUsIDIxIE1heSAyMDI2IDA4OjQ0OjAzIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hd IFtYcmRDbEh0dHBdIEZpeCBidWcgcHJldmVudGluZyB0aGUgY29uZmlndXJhdGlvbiBvZiB0aHJl YWRzCisKK0FwcGVhcnMgYSBwcmlvciByZWZhY3RvcmluZyBjYXVzZWQgdGhlIHRocmVhZCBjb25m aWd1cmF0aW9uIHRvIHVzZQordGhlIHdyb25nIHZhcmlhYmxlLCBjYXVzaW5nIDggd29ya2VyIHRo cmVhZHMgdG8gYmUgdXNlZCByZWdhcmRsZXNzCitvZiB0aGUgY3VycmVudCBjb25maWd1cmF0aW9u LgorLS0tCisgc3JjL1hyZENsSHR0cC9YcmRDbEh0dHBGYWN0b3J5LmNjIHwgMiArLQorIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEv c3JjL1hyZENsSHR0cC9YcmRDbEh0dHBGYWN0b3J5LmNjIGIvc3JjL1hyZENsSHR0cC9YcmRDbEh0 dHBGYWN0b3J5LmNjCitpbmRleCA4MTQxM2VmZjQuLjA4ZDhlZjhiZCAxMDA2NDQKKy0tLSBhL3Ny Yy9YcmRDbEh0dHAvWHJkQ2xIdHRwRmFjdG9yeS5jYworKysrIGIvc3JjL1hyZENsSHR0cC9YcmRD bEh0dHBGYWN0b3J5LmNjCitAQCAtMTk0LDcgKzE5NCw3IEBAIEZhY3Rvcnk6OkluaXRpYWxpemUo KQorICAgICAgICAgYXV0byAmY2FjaGUgPSBYcmRDbEh0dHA6OlZlcmJzQ2FjaGU6Okluc3RhbmNl KCk7CisgCisgICAgICAgICAvLyBTdGFydHVwIGN1cmwgd29ya2VycyBhZnRlciB3ZSd2ZSBzZXQg dGhlIGNvbmZpZ3MgdG8gYXZvaWQgcmFjZSBjb25kaXRpb25zCistICAgICAgICBmb3IgKHVuc2ln bmVkIGlkeD0wOyBpZHg8bV9wb2xsX3RocmVhZHM7IGlkeCsrKSB7CisrICAgICAgICBmb3IgKGlu dCBpZHg9MDsgaWR4PG51bV90aHJlYWRzOyBpZHgrKykgeworICAgICAgICAgICAgIGF1dG8gd2sg PSBzdGQ6Om1ha2VfdW5pcXVlPFhyZENsSHR0cDo6Q3VybFdvcmtlcj4obV9xdWV1ZSwgY2FjaGUs IG1fbG9nKTsKKyAgICAgICAgICAgICBhdXRvIHdrcCA9IHdrLmdldCgpOworICAgICAgICAgICAg IHN0ZDo6dGhyZWFkIHQoWHJkQ2xIdHRwOjpDdXJsV29ya2VyOjpSdW5TdGF0aWMsIHdrcCk7Cist LSAKKzIuNTQuMAorCgpkaWZmIC0tZ2l0IGEvMDAwMS1YcmRDcnlwdG8tWHJkVGxzLVhyZFZvbXMt QWRhcHQtdG8tT3BlblNTTC00LjAucGF0Y2ggYi8wMDAxLVhyZENyeXB0by1YcmRUbHMtWHJkVm9t cy1BZGFwdC10by1PcGVuU1NMLTQuMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi5lNDZhZDllCi0tLSAvZGV2L251bGwKKysrIGIvMDAwMS1YcmRDcnlwdG8tWHJkVGxz LVhyZFZvbXMtQWRhcHQtdG8tT3BlblNTTC00LjAucGF0Y2gKQEAgLTAsMCArMSw1NjYgQEAKK0Zy b20gNTM0ZTFhYTJlZmQ4ZTU5MjcxZDI0MTBkYzRhNGQzM2FiN2JjOGVkOSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IE1hdHRpYXMgRWxsZXJ0IDxtYXR0aWFzLmVsbGVydEBwaHlzaWNz LnV1LnNlPgorRGF0ZTogU2F0LCAyMyBNYXkgMjAyNiAxODo1Nzo1NCArMDIwMAorU3ViamVjdDog W1BBVENIIDEvMl0gW1hyZENyeXB0by9YcmRUbHMvWHJkVm9tc10gQWRhcHQgdG8gT3BlblNTTCA0 LjAKKworLS0tCisgc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xBdXguY2MgICAgIHwgICA2ICst Cisgc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xBdXguaGggICAgIHwgICAyICstCisgc3JjL1hy ZENyeXB0by9YcmRDcnlwdG9zc2xYNTA5LmNjICAgIHwgIDQ4ICsrKysrLS0tLQorIHNyYy9YcmRD cnlwdG8vWHJkQ3J5cHRvc3NsWDUwOUNybC5jYyB8ICAgMiArLQorIHNyYy9YcmRDcnlwdG8vWHJk Q3J5cHRvc3NsZ3NpQXV4LmNjICB8IDE0MCArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KKyBz cmMvWHJkVGxzL1hyZFRsc05vdGFyeVV0aWxzLmljYyAgICAgfCAgIDQgKy0KKyBzcmMvWHJkVm9t cy9YcmRWb21zRnVuLmNjICAgICAgICAgICAgfCAgIDIgKy0KKyBzcmMvWHJkVm9tcy9YcmRWb21z RnVuLmhoICAgICAgICAgICAgfCAgIDIgKy0KKyA4IGZpbGVzIGNoYW5nZWQsIDE0NSBpbnNlcnRp b25zKCspLCA2MSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9YcmRDcnlwdG8vWHJk Q3J5cHRvc3NsQXV4LmNjIGIvc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xBdXguY2MKK2luZGV4 IDM4OTNiYzJiNC4uYTQ0MjgzOTg1IDEwMDY0NAorLS0tIGEvc3JjL1hyZENyeXB0by9YcmRDcnlw dG9zc2xBdXguY2MKKysrKyBiL3NyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3NsQXV4LmNjCitAQCAt NjkxLDEzICs2OTEsMTMgQEAgdGltZV90IFhyZENyeXB0b3NzbEFTTjF0b1VUQyhjb25zdCBBU04x X1RJTUUgKnRzbjEpCisgICAgLy8gT3VyIHJlc3VsdCBpcyBpbiBhZ3JlZW1lbnQgd2l0aCAnZGF0 ZSArJXNgLiAKKyAgICBzdHJ1Y3QgdG0gbHRtOworICAgIGNoYXIgeno7CistICAgaWYgKChzc2Nh bmYoKGNvbnN0IGNoYXIgKikodHNuMS0+ZGF0YSksCisrICAgaWYgKChzc2NhbmYoKGNvbnN0IGNo YXIgKikgQVNOMV9TVFJJTkdfZ2V0MF9kYXRhKHRzbjEpLAorICAgICAgICAiJTAyZCUwMmQlMDJk JTAyZCUwMmQlMDJkJWMiLCAKKyAgICAgICAgJihsdG0udG1feWVhciksICYobHRtLnRtX21vbiks ICYobHRtLnRtX21kYXkpLAorICAgICAgICAmKGx0bS50bV9ob3VyKSwgJihsdG0udG1fbWluKSwg JihsdG0udG1fc2VjKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ6 eikgIT0gNykgfHwgKHp6ICE9ICdaJykpIHsKKyAgICAgICAgLy8gVHJ5IEdlbmVyYWxpemVkVGlt ZQorLSAgICAgICBpZiAoKHNzY2FuZigoY29uc3QgY2hhciAqKSh0c24xLT5kYXRhKSwKKysgICAg ICAgaWYgKChzc2NhbmYoKGNvbnN0IGNoYXIgKikgQVNOMV9TVFJJTkdfZ2V0MF9kYXRhKHRzbjEp LAorICAgICAgICAgICAgIiUwNGQlMDJkJTAyZCUwMmQlMDJkJTAyZCVjIiwgCisgICAgICAgICAg ICAmKGx0bS50bV95ZWFyKSwgJihsdG0udG1fbW9uKSwgJihsdG0udG1fbWRheSksCisgICAgICAg ICAgICAmKGx0bS50bV9ob3VyKSwgJihsdG0udG1fbWluKSwgJihsdG0udG1fc2VjKSwKK0BAIC03 MzMsNyArNzMzLDcgQEAgdGltZV90IFhyZENyeXB0b3NzbEFTTjF0b1VUQyhjb25zdCBBU04xX1RJ TUUgKnRzbjEpCisgfSAKKyAKKyAvL19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KKy12b2lkIFhyZENyeXB0 b3NzbE5hbWVPbmVMaW5lKFg1MDlfTkFNRSAqbm0sIFhyZE91Y1N0cmluZyAmcykKKyt2b2lkIFhy ZENyeXB0b3NzbE5hbWVPbmVMaW5lKGNvbnN0IFg1MDlfTkFNRSAqbm0sIFhyZE91Y1N0cmluZyAm cykKKyB7CisgICAgLy8gRnVuY3Rpb24gdG8gY29udmVydCBYNTA5X05BTUUgaW50byBhIG9uZS1s aW5lIGh1bWFuIHJlYWRhYmxlIHN0cmluZworIAorZGlmZiAtLWdpdCBhL3NyYy9YcmRDcnlwdG8v WHJkQ3J5cHRvc3NsQXV4LmhoIGIvc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xBdXguaGgKK2lu ZGV4IDM2ZjNhYWQxYi4uZGU4NTJiZTNmIDEwMDY0NAorLS0tIGEvc3JjL1hyZENyeXB0by9YcmRD cnlwdG9zc2xBdXguaGgKKysrKyBiL3NyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3NsQXV4LmhoCitA QCAtNzQsNyArNzQsNyBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUwOVBhcnNlU3RhY2soWHJkVGxzUGVl ckNlcnRzKiBwYywgWHJkQ3J5cHRvWDUwOUNoYWluICpjaGFpbik7CisgdGltZV90IFhyZENyeXB0 b3NzbEFTTjF0b1VUQyhjb25zdCBBU04xX1RJTUUgKnRzbjEpOworIAorIC8vIEZ1bmN0aW9uIHRv IGNvbnZlcnQgWDUwOV9OQU1FIGludG8gYSBvbmUtbGluZSBodW1hbiByZWFkYWJsZSBzdHJpbmcK Ky12b2lkIFhyZENyeXB0b3NzbE5hbWVPbmVMaW5lKFg1MDlfTkFNRSAqbm0sIFhyZE91Y1N0cmlu ZyAmcyk7Cisrdm9pZCBYcmRDcnlwdG9zc2xOYW1lT25lTGluZShjb25zdCBYNTA5X05BTUUgKm5t LCBYcmRPdWNTdHJpbmcgJnMpOworIAorIC8vCisgLy8gWDUwOSBwcm94eSBhdXhpbGxpYXJ5IGZ1 bmN0aW9ucworZGlmZiAtLWdpdCBhL3NyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3NsWDUwOS5jYyBi L3NyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3NsWDUwOS5jYworaW5kZXggYmNjNzljODljLi5kOWQy YjE4MmYgMTAwNjQ0CistLS0gYS9zcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3NzbFg1MDkuY2MKKysr KyBiL3NyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3NsWDUwOS5jYworQEAgLTM0MCw3ICszNDAsMTEg QEAgdm9pZCBYcmRDcnlwdG9zc2xYNTA5OjpDZXJ0VHlwZSgpCisgICAKKyAgICBib29sIGRvbmUg PSAwOworICAgIC8vIENoZWNrIHRoZSBleHRlbnNpb25zCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9O VU1CRVIgPCAweDQwMDAwMDAwTAorICAgIFg1MDlfRVhURU5TSU9OICpleHQgPSAwOworKyNlbHNl CisrICAgY29uc3QgWDUwOV9FWFRFTlNJT04gKmV4dCA9IDA7CisrI2VuZGlmCisgICAgaW50IGlk eCA9IC0xOworIAorICAgIC8vIEZvciBDQXMgd2UgYXJlIGxvb2tpbmcgZm9yIGEgImJhc2ljQ29u c3RyYWludHMiCitAQCAtNjg0LDcgKzY4OCwxMSBAQCBYcmRDcnlwdG9YNTA5ZGF0YSBYcmRDcnlw dG9zc2xYNTA5OjpHZXRFeHRlbnNpb24oY29uc3QgY2hhciAqb2lkKQorIAorICAgIC8vIExvb3Ag dG8gaWRlbnRpZnkgdGhlIG9uZSB3ZSB3b3VsZCBsaWtlCisgICAgaW50IGkgPSAwOworKyNpZiBP UEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHg0MDAwMDAwMEwKKyAgICBYNTA5X0VYVEVOU0lPTiAq d2V4dCA9IDA7CisrI2Vsc2UKKysgICBjb25zdCBYNTA5X0VYVEVOU0lPTiAqd2V4dCA9IDA7Cisr I2VuZGlmCisgICAgZm9yIChpID0gMDsgaTwgbnVtZXh0OyBpKyspIHsKKyAgICAgICB3ZXh0ID0g WDUwOV9nZXRfZXh0KGNlcnQsIGkpOworICAgICAgIGlmICh1c2VuaWQpIHsKK0BAIC04MjEsNyAr ODI5LDExIEBAIGludCBYcmRDcnlwdG9zc2xYNTA5OjpEdW1wRXh0ZW5zaW9ucyhib29sIGR1bXB1 bmtub3duKQorIAorICAgIHJjID0gMTsKKyAgICAvLyBHbyB0aHJvdWdoIHRoZSBleHRlbnNpb25z CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDQwMDAwMDAwTAorICAgIFg1MDlfRVhU RU5TSU9OICp4cGlleHQgPSAwOworKyNlbHNlCisrICAgY29uc3QgWDUwOV9FWFRFTlNJT04gKnhw aWV4dCA9IDA7CisrI2VuZGlmCisgICAgaW50IG5waWV4dCA9IFg1MDlfZ2V0X2V4dF9jb3VudCh4 cGkpOworICAgIFBSSU5UKCJmb3VuZCAiPDxucGlleHQ8PCIgZXh0ZW5zaW9ucyAiKTsKKyAgICBp bnQgaSA9IDA7CitAQCAtODM0LDggKzg0Niw4IEBAIGludCBYcmRDcnlwdG9zc2xYNTA5OjpEdW1w RXh0ZW5zaW9ucyhib29sIGR1bXB1bmtub3duKQorICAgICAgIFBSSU5UKGkgPDwgIjogZm91bmQg ZXh0ZW5zaW9uICciPDxzPDwiJywgY3JpdGljYWw6ICIgPDwgY3JpdCk7CisgICAgICAgLy8gRHVt cCBpdHMgY29udGVudAorICAgICAgIHJjID0gMDsKKy0gICAgICBjb25zdCB1bnNpZ25lZCBjaGFy ICpwcCA9IChjb25zdCB1bnNpZ25lZCBjaGFyICopIFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKHhw aWV4dCktPmRhdGE7CistICAgICAgbG9uZyBsZW5ndGggPSBYNTA5X0VYVEVOU0lPTl9nZXRfZGF0 YSh4cGlleHQpLT5sZW5ndGg7CisrICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqcHAgPSBBU04x X1NUUklOR19nZXQwX2RhdGEoWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoeHBpZXh0KSk7CisrICAg ICAgbG9uZyBsZW5ndGggPSBBU04xX1NUUklOR19sZW5ndGgoWDUwOV9FWFRFTlNJT05fZ2V0X2Rh dGEoeHBpZXh0KSk7CisgICAgICAgaW50IHJldCA9IEZpbGxVbmtub3duRXh0KCZwcCwgbGVuZ3Ro LCBkdW1wdW5rbm93bik7CisgICAgICAgUFJJTlQoInJldDogIiA8PCByZXQpOworICAgIH0KK0BA IC05NTcsMTAgKzk2OSwxMCBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUwOTo6RmlsbFVua25vd25FeHQo Y29uc3QgdW5zaWduZWQgY2hhciAqKnBwLCBsb25nIGxlbmd0aCwgYm9vbAorICAgICAgICAgICAg IGludCBpLCBwcmludGFibGUgPSAxOworICAgICAgICAgICAgIG9wcCA9IG9wOworICAgICAgICAg ICAgIG9zID0gZDJpX0FTTjFfT0NURVRfU1RSSU5HKDAsICZvcHAsIGxlbiArIGhsKTsKKy0gICAg ICAgICAgICBpZiAob3MgJiYgb3MtPmxlbmd0aCA+IDApIHsKKy0gICAgICAgICAgICAgICBvcHAg PSBvcy0+ZGF0YTsKKysgICAgICAgICAgICBpZiAob3MgJiYgQVNOMV9TVFJJTkdfbGVuZ3RoKG9z KSA+IDApIHsKKysgICAgICAgICAgICAgICBvcHAgPSBBU04xX1NUUklOR19nZXQwX2RhdGEob3Mp OworICAgICAgICAgICAgICAgIC8qIHRlc3Rpbmcgd2hldGhlciB0aGUgb2N0ZXQgc3RyaW5nIGlz ICogcHJpbnRhYmxlICovCistICAgICAgICAgICAgICAgZm9yIChpPTA7IGk8b3MtPmxlbmd0aDsg aSsrKSB7CisrICAgICAgICAgICAgICAgZm9yIChpPTA7IGkgPCBBU04xX1NUUklOR19sZW5ndGgo b3MpOyBpKyspIHsKKyAgICAgICAgICAgICAgICAgICBpZiAoKCAob3BwW2ldIDwgJyAnKSAmJiAo b3BwW2ldICE9ICdcbicpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgKG9wcFtpXSAhPSAn XHInKSAmJiAob3BwW2ldICE9ICdcdCcpKSB8fCAob3BwW2ldID4gJ34nKSkgeworICAgICAgICAg ICAgICAgICAgICAgIHByaW50YWJsZSA9IDA7CitAQCAtOTY5LDE2ICs5ODEsMTYgQEAgaW50IFhy ZENyeXB0b3NzbFg1MDk6OkZpbGxVbmtub3duRXh0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKipwcCwg bG9uZyBsZW5ndGgsIGJvb2wKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYg KHByaW50YWJsZSkgeworICAgICAgICAgICAgICAgICAgIC8qIHByaW50YWJsZSBzdHJpbmcgKi8K Ky0gICAgICAgICAgICAgICAgICBjaGFyICpzID0gbmV3IGNoYXJbb3MtPmxlbmd0aCArIDFdOwor LSAgICAgICAgICAgICAgICAgIG1lbWNweShzLCBvcHAsIG9zLT5sZW5ndGgpOworLSAgICAgICAg ICAgICAgICAgIHNbb3MtPmxlbmd0aF0gPSAwOworLSAgICAgICAgICAgICAgICAgIGlmIChkdW1w KSBQUklOVCgiT0JKUzoiIDw8IHMgPDwgIiAobGVuOiAiPDxvcy0+bGVuZ3RoPDwiKSIpOworKyAg ICAgICAgICAgICAgICAgIGNoYXIgKnMgPSBuZXcgY2hhcltBU04xX1NUUklOR19sZW5ndGgob3Mp ICsgMV07CisrICAgICAgICAgICAgICAgICAgbWVtY3B5KHMsIG9wcCwgQVNOMV9TVFJJTkdfbGVu Z3RoKG9zKSk7CisrICAgICAgICAgICAgICAgICAgc1tBU04xX1NUUklOR19sZW5ndGgob3MpXSA9 IDA7CisrICAgICAgICAgICAgICAgICAgaWYgKGR1bXApIFBSSU5UKCJPQkpTOiIgPDwgcyA8PCAi IChsZW46ICIgPDwgQVNOMV9TVFJJTkdfbGVuZ3RoKG9zKSA8PCAiKSIpOworICAgICAgICAgICAg ICAgICAgIGRlbGV0ZSBbXSBzOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg ICAgICAgICAgLyogcHJpbnQgdGhlIG5vcm1hbCBkdW1wICovCisgICAgICAgICAgICAgICAgICAg aWYgKCFubCkgUFJJTlQoIk9CSlM6Iik7CisgICAgICAgICAgICAgICAgICAgQklPICptZW0gPSBC SU9fbmV3KEJJT19zX21lbSgpKTsKKy0gICAgICAgICAgICAgICAgICBpZiAoQklPX2R1bXBfaW5k ZW50KG1lbSwgKGNvbnN0IGNoYXIgKilvcHAsIG9zLT5sZW5ndGgsIGR1bXBfaW5kZW50KSA8PSAw KSB7CisrICAgICAgICAgICAgICAgICAgaWYgKEJJT19kdW1wX2luZGVudChtZW0sIChjb25zdCBj aGFyICopb3BwLCBBU04xX1NUUklOR19sZW5ndGgob3MpLCBkdW1wX2luZGVudCkgPD0gMCkgewor ICAgICAgICAgICAgICAgICAgICAgIGlmIChkdW1wKSBQUklOVCgiRVJST1I6T0JKUzogcHJvYmxl bXMgZHVtcGluZyB0byBCSU8iKTsKKyAgICAgICAgICAgICAgICAgICAgICBCSU9fZnJlZShtZW0p OyAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZW5kOworQEAg LTk5OSwxOCArMTAxMSwxOCBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUwOTo6RmlsbFVua25vd25FeHQo Y29uc3QgdW5zaWduZWQgY2hhciAqKnBwLCBsb25nIGxlbmd0aCwgYm9vbAorICAgICAgICAgICAg IGJzID0gZDJpX0FTTjFfSU5URUdFUigwLCAmb3BwLCBsZW4raGwpOworICAgICAgICAgICAgIGlm IChicykgeworICAgICAgICAgICAgICAgIGlmIChkdW1wKSBQUklOVCgiQUlOVDoiKTsKKy0gICAg ICAgICAgICAgICBpZiAoYnMtPnR5cGUgPT0gVl9BU04xX05FR19JTlRFR0VSKQorKyAgICAgICAg ICAgICAgIGlmIChBU04xX1NUUklOR190eXBlKGJzKSA9PSBWX0FTTjFfTkVHX0lOVEVHRVIpCisg ICAgICAgICAgICAgICAgICAgaWYgKGR1bXApIFBSSU5UKCItIik7CisgICAgICAgICAgICAgICAg QklPICptZW0gPSBCSU9fbmV3KEJJT19zX21lbSgpKTsKKy0gICAgICAgICAgICAgICBmb3IgKGkg PSAwOyBpIDwgYnMtPmxlbmd0aDsgaSsrKSB7CistICAgICAgICAgICAgICAgICAgaWYgKEJJT19w cmludGYobWVtLCAiJTAyWCIsIGJzLT5kYXRhW2ldKSA8PSAwKSB7CisrICAgICAgICAgICAgICAg Zm9yIChpID0gMDsgaSA8IEFTTjFfU1RSSU5HX2xlbmd0aChicyk7IGkrKykgeworKyAgICAgICAg ICAgICAgICAgIGlmIChCSU9fcHJpbnRmKG1lbSwgIiUwMlgiLCBBU04xX1NUUklOR19nZXQwX2Rh dGEoYnMpW2ldKSA8PSAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgaWYgKGR1bXApIFBSSU5U KCJFUlJPUjpBSU5UOiBwcm9ibGVtcyBwcmludGYtaW5nIHRvIEJJTyIpOworICAgICAgICAgICAg ICAgICAgICAgIEJJT19mcmVlKG1lbSk7IAorICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZW5k OworICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg ICAgaWYgKGR1bXApIHsgQklPX1BSSU5UKG1lbSwgIkFJTlQ6Iik7IH0KKy0gICAgICAgICAgICAg ICBpZiAoYnMtPmxlbmd0aCA9PSAwKSBQUklOVCgiMDAiKTsKKysgICAgICAgICAgICAgICBpZiAo QVNOMV9TVFJJTkdfbGVuZ3RoKGJzKSA9PSAwKSBQUklOVCgiMDAiKTsKKyAgICAgICAgICAgICB9 IGVsc2UgeworICAgICAgICAgICAgICAgIGlmIChkdW1wKSBQUklOVCgiRVJST1I6QUlOVDogQkFE IElOVEVHRVIiKTsKKyAgICAgICAgICAgICB9CitAQCAtMTAyMywxOCArMTAzNSwxOCBAQCBpbnQg WHJkQ3J5cHRvc3NsWDUwOTo6RmlsbFVua25vd25FeHQoY29uc3QgdW5zaWduZWQgY2hhciAqKnBw LCBsb25nIGxlbmd0aCwgYm9vbAorICAgICAgICAgICAgIGJzID0gZDJpX0FTTjFfRU5VTUVSQVRF RCgwLCAmb3BwLCBsZW4raGwpOworICAgICAgICAgICAgIGlmIChicykgeworICAgICAgICAgICAg ICAgIGlmIChkdW1wKSBQUklOVCgiQUVOVToiKTsKKy0gICAgICAgICAgICAgICBpZiAoYnMtPnR5 cGUgPT0gVl9BU04xX05FR19FTlVNRVJBVEVEKQorKyAgICAgICAgICAgICAgIGlmIChBU04xX1NU UklOR190eXBlKGJzKSA9PSBWX0FTTjFfTkVHX0VOVU1FUkFURUQpCisgICAgICAgICAgICAgICAg ICAgaWYgKGR1bXApIFBSSU5UKCItIik7CisgICAgICAgICAgICAgICAgQklPICptZW0gPSBCSU9f bmV3KEJJT19zX21lbSgpKTsKKy0gICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYnMtPmxl bmd0aDsgaSsrKSB7CistICAgICAgICAgICAgICAgICAgaWYgKEJJT19wcmludGYobWVtLCAiJTAy WCIsIGJzLT5kYXRhW2ldKSA8PSAwKSB7CisrICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8 IEFTTjFfU1RSSU5HX2xlbmd0aChicyk7IGkrKykgeworKyAgICAgICAgICAgICAgICAgIGlmIChC SU9fcHJpbnRmKG1lbSwgIiUwMlgiLCBBU04xX1NUUklOR19nZXQwX2RhdGEoYnMpW2ldKSA8PSAw KSB7CisgICAgICAgICAgICAgICAgICAgICAgaWYgKGR1bXApIFBSSU5UKCJFUlJPUjpBRU5VOiBw cm9ibGVtcyBwcmludGYtaW5nIHRvIEJJTyIpOworICAgICAgICAgICAgICAgICAgICAgIEJJT19m cmVlKG1lbSk7IAorICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZW5kOworICAgICAgICAgICAg ICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKGR1bXApIHsg QklPX1BSSU5UKG1lbSwgIkFFTlU6Iik7IH0KKy0gICAgICAgICAgICAgICBpZiAoYnMtPmxlbmd0 aCA9PSAwKSBQUklOVCgiMDAiKTsKKysgICAgICAgICAgICAgICBpZiAoQVNOMV9TVFJJTkdfbGVu Z3RoKGJzKSA9PSAwKSBQUklOVCgiMDAiKTsKKyAgICAgICAgICAgICB9IGVsc2UgeworICAgICAg ICAgICAgICAgIGlmIChkdW1wKSBQUklOVCgiRVJST1I6QUVOVTogQkFEIEVOVU1FUkFURUQiKTsK KyAgICAgICAgICAgICB9CitkaWZmIC0tZ2l0IGEvc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xY NTA5Q3JsLmNjIGIvc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xYNTA5Q3JsLmNjCitpbmRleCA2 MWRkYWY4M2MuLmNjOWYzMjRiYiAxMDA2NDQKKy0tLSBhL3NyYy9YcmRDcnlwdG8vWHJkQ3J5cHRv c3NsWDUwOUNybC5jYworKysrIGIvc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xYNTA5Q3JsLmNj CitAQCAtMTA1LDcgKzEwNSw3IEBAIFhyZENyeXB0b3NzbFg1MDlDcmw6OlhyZENyeXB0b3NzbFg1 MDlDcmwoWHJkQ3J5cHRvWDUwOSAqY2FjZXJ0KQorIAorICAgIC8vIEJpbyBmb3IgZXhwb3J0aW5n IHRoZSBleHRlbnNpb24KKyAgICBCSU8gKmJleHQgPSBCSU9fbmV3KEJJT19zX21lbSgpKTsKKy0g ICBBU04xX09CSkVDVCAqb2JqID0gWDUwOV9FWFRFTlNJT05fZ2V0X29iamVjdChjcmxleHQpOwor KyAgIGNvbnN0IEFTTjFfT0JKRUNUICpvYmogPSBYNTA5X0VYVEVOU0lPTl9nZXRfb2JqZWN0KGNy bGV4dCk7CisgICAgaTJhX0FTTjFfT0JKRUNUKGJleHQsIG9iaik7CisgICAgWDUwOVYzX0VYVF9w cmludChiZXh0LCBjcmxleHQsIDAsIDQpOworICAgIC8vIGRhdGEgbGVuZ3RoCitkaWZmIC0tZ2l0 IGEvc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xnc2lBdXguY2MgYi9zcmMvWHJkQ3J5cHRvL1hy ZENyeXB0b3NzbGdzaUF1eC5jYworaW5kZXggOGY0YjkyOWMxLi5hNWQyMGUxYWYgMTAwNjQ0Cist LS0gYS9zcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3NzbGdzaUF1eC5jYworKysrIGIvc3JjL1hyZENy eXB0by9YcmRDcnlwdG9zc2xnc2lBdXguY2MKK0BAIC0xNjUsMTIgKzE2NSwxMiBAQCBib29sIFhy ZENyeXB0b3NzbFByb3h5Q2VydEluZm8oY29uc3Qgdm9pZCAqZXh0ZGF0YSwgaW50ICZwYXRobGVu LCBib29sICpoYXNwb2xpYworICAgIE9CSl9vYmoydHh0KHMsIHNpemVvZihzKSwgWDUwOV9FWFRF TlNJT05fZ2V0X29iamVjdChleHQpLCAxKTsKKyAKKyAgICAvLyBOb3cgZXh0cmFjdCB0aGUgcGF0 aCBsZW5ndGggY29uc3RyYWludCwgaWYgYW55CistICAgdW5zaWduZWQgY2hhciAqcCA9IFg1MDlf RVhURU5TSU9OX2dldF9kYXRhKGV4dCktPmRhdGE7CisrICAgY29uc3QgdW5zaWduZWQgY2hhciAq cCA9IEFTTjFfU1RSSU5HX2dldDBfZGF0YShYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YShleHQpKTsK KyAgICBQUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OICpwY2kgPSAwOworICAgIGlmICghc3RyY21w KHMsIGdzaVByb3h5Q2VydEluZm9fT0lEKSkKKy0gICAgICBwY2kgPSBkMmlfUFJPWFlfQ0VSVF9J TkZPX0VYVEVOU0lPTigwLCAoY29uc3QgdW5zaWduZWQgY2hhciAqKikoJnApLCBYNTA5X0VYVEVO U0lPTl9nZXRfZGF0YShleHQpLT5sZW5ndGgpOworKyAgICAgIHBjaSA9IGQyaV9QUk9YWV9DRVJU X0lORk9fRVhURU5TSU9OKDAsICZwLCBBU04xX1NUUklOR19sZW5ndGgoWDUwOV9FWFRFTlNJT05f Z2V0X2RhdGEoZXh0KSkpOworICAgIGVsc2UgaWYgKCFzdHJjbXAocywgZ3NpUHJveHlDZXJ0SW5m b19PTERfT0lEKSkKKy0gICAgICBwY2kgPSBkMmlfUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTl9P TEQoMCwgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiopKCZwKSwgWDUwOV9FWFRFTlNJT05fZ2V0X2Rh dGEoZXh0KS0+bGVuZ3RoKTsKKysgICAgICBwY2kgPSBkMmlfUFJPWFlfQ0VSVF9JTkZPX0VYVEVO U0lPTl9PTEQoMCwgJnAsIEFTTjFfU1RSSU5HX2xlbmd0aChYNTA5X0VYVEVOU0lPTl9nZXRfZGF0 YShleHQpKSk7CisgICAgaWYgKCFwY2kpIHsKKyAgICAgICByZXR1cm4gMDsKKyAgICB9CitAQCAt MjA4LDEyICsyMDgsMTIgQEAgdm9pZCBYcmRDcnlwdG9zc2xTZXRQYXRoTGVuQ29uc3RyYWludCh2 b2lkICpleHRkYXRhLCBpbnQgcGF0aGxlbikKKyAgICBPQkpfb2JqMnR4dChzLCBzaXplb2Yocyks IFg1MDlfRVhURU5TSU9OX2dldF9vYmplY3QoZXh0KSwgMSk7CisgCisgICAgLy8gTm93IGV4dHJh Y3QgdGhlIHBhdGggbGVuZ3RoIGNvbnN0cmFpbnQsIGlmIGFueQorLSAgIHVuc2lnbmVkIGNoYXIg KnAgPSBYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YShleHQpLT5kYXRhOworKyAgIGNvbnN0IHVuc2ln bmVkIGNoYXIgKnAgPSBBU04xX1NUUklOR19nZXQwX2RhdGEoWDUwOV9FWFRFTlNJT05fZ2V0X2Rh dGEoZXh0KSk7CisgICAgUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTiAqcGNpID0gMDsKKyAgICBp ZiAoIXN0cmNtcChzLCBnc2lQcm94eUNlcnRJbmZvX09JRCkpCistICAgICAgcGNpID0gZDJpX1BS T1hZX0NFUlRfSU5GT19FWFRFTlNJT04oMCwgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiopKCZwKSwg WDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0KS0+bGVuZ3RoKTsKKysgICAgICBwY2kgPSBkMmlf UFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTigwLCAmcCwgQVNOMV9TVFJJTkdfbGVuZ3RoKFg1MDlf RVhURU5TSU9OX2dldF9kYXRhKGV4dCkpKTsKKyAgICBlbHNlIGlmICghc3RyY21wKHMsIGdzaVBy b3h5Q2VydEluZm9fT0xEX09JRCkpCistICAgICAgcGNpID0gZDJpX1BST1hZX0NFUlRfSU5GT19F WFRFTlNJT05fT0xEKDAsIChjb25zdCB1bnNpZ25lZCBjaGFyICoqKSgmcCksIFg1MDlfRVhURU5T SU9OX2dldF9kYXRhKGV4dCktPmxlbmd0aCk7CisrICAgICAgcGNpID0gZDJpX1BST1hZX0NFUlRf SU5GT19FWFRFTlNJT05fT0xEKDAsICZwLCBBU04xX1NUUklOR19sZW5ndGgoWDUwOV9FWFRFTlNJ T05fZ2V0X2RhdGEoZXh0KSkpOworICAgIGlmICghcGNpKQorICAgICAgIHJldHVybjsKKyAKK0BA IC00MTksMTYgKzQxOSwzMiBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUwOUNyZWF0ZVByb3h5KGNvbnN0 IGNoYXIgKmZuYywgY29uc3QgY2hhciAqZm5rLAorICAgICAgIHJldHVybiAta0VyclBYX1NldEF0 dHJpYnV0ZTsKKyAgICB9CisgICAgLy8gRXh0cmFjdCBkYXRhIGluIGZvcm1hdCBmb3IgZXh0ZW5z aW9uCistICAgWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0KS0+bGVuZ3RoID0gaTJkX1BST1hZ X0NFUlRfSU5GT19FWFRFTlNJT04ocGNpLCAwKTsKKy0gICBpZiAoIShYNTA5X0VYVEVOU0lPTl9n ZXRfZGF0YShleHQpLT5kYXRhID0gKHVuc2lnbmVkIGNoYXIgKiltYWxsb2MoWDUwOV9FWFRFTlNJ T05fZ2V0X2RhdGEoZXh0KS0+bGVuZ3RoKzEpKSkgeworKyAgIGludCBsZW4gPSBpMmRfUFJPWFlf Q0VSVF9JTkZPX0VYVEVOU0lPTihwY2ksIDApOworKyAgIHVuc2lnbmVkIGNoYXIgKmRhdGEgPSAo dW5zaWduZWQgY2hhciAqKSBtYWxsb2MobGVuKTsKKysgICBpZiAoIWRhdGEpIHsKKyAgICAgICBQ UklOVCgiY291bGQgbm90IGFsbG9jYXRlIGRhdGEgZmllbGQgZm9yIGV4dGVuc2lvbiIpOworICAg ICAgIHJldHVybiAta0VyclBYX05vUmVzb3VyY2VzOworICAgIH0KKy0gICB1bnNpZ25lZCBjaGFy ICpwcCA9IFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dCktPmRhdGE7CisrICAgdW5zaWduZWQg Y2hhciAqcHAgPSBkYXRhOworICAgIGlmICgoaTJkX1BST1hZX0NFUlRfSU5GT19FWFRFTlNJT04o cGNpLCAmcHApKSA8PSAwKSB7CisgICAgICAgUFJJTlQoInByb2JsZW0gY29udmVydGluZyBkYXRh IGZvciBleHRlbnNpb24iKTsKKyAgICAgICByZXR1cm4gLWtFcnJQWF9FcnJvcjsKKyAgICB9Cisr ICAgQVNOMV9PQ1RFVF9TVFJJTkcgKm9zID0gQVNOMV9PQ1RFVF9TVFJJTkdfbmV3KCk7CisrICAg aWYgKCFvcykgeworKyAgICAgIFBSSU5UKCJjb3VsZCBub3QgYWxsb2NhdGUgZGF0YSBmaWVsZCBm b3IgZXh0ZW5zaW9uIik7CisrICAgICAgcmV0dXJuIC1rRXJyUFhfTm9SZXNvdXJjZXM7CisrICAg fQorKyAgIGlmIChBU04xX09DVEVUX1NUUklOR19zZXQob3MsIGRhdGEsIGxlbikgPT0gMCkgewor KyAgICAgIFBSSU5UKCJjb3VsZCBub3QgYWxsb2NhdGUgZGF0YSBmaWVsZCBmb3IgZXh0ZW5zaW9u Iik7CisrICAgICAgcmV0dXJuIC1rRXJyUFhfTm9SZXNvdXJjZXM7CisrICAgfQorKyAgIGZyZWUo ZGF0YSk7CisrICAgaWYgKFg1MDlfRVhURU5TSU9OX3NldF9kYXRhKGV4dCwgb3MpID09IDApIHsK KysgICAgICBQUklOVCgiY291bGQgbm90IGFsbG9jYXRlIGRhdGEgZmllbGQgZm9yIGV4dGVuc2lv biIpOworKyAgICAgIHJldHVybiAta0VyclBYX05vUmVzb3VyY2VzOworKyAgIH0KKysgICBBU04x X1NUUklOR19mcmVlKG9zKTsKKyAgICAvLyBDcmVhdGUgYSBzdGFjaworICAgIFNUQUNLX09GKFg1 MDlfRVhURU5TSU9OKSAqZXNrID0gc2tfWDUwOV9FWFRFTlNJT05fbmV3X251bGwoKTsKKyAgICBp ZiAoIWVzaykgeworQEAgLTUwNCw3ICs1MjAsMTEgQEAgaW50IFhyZENyeXB0b3NzbFg1MDlDcmVh dGVQcm94eShjb25zdCBjaGFyICpmbmMsIGNvbnN0IGNoYXIgKmZuaywKKyAgICB9CisgCisgICAg Ly8gRmlyc3QgZHVwbGljYXRlIHRoZSBleHRlbnNpb25zIG9mIHRoZSBFRSBjZXJ0aWZpY2F0ZQor KyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHg0MDAwMDAwMEwKKyAgICBYNTA5X0VYVEVO U0lPTiAqeEVFQ2V4dCA9IDA7CisrI2Vsc2UKKysgICBjb25zdCBYNTA5X0VYVEVOU0lPTiAqeEVF Q2V4dCA9IDA7CisrI2VuZGlmCisgICAgaW50IG5FRUNleHQgPSBYNTA5X2dldF9leHRfY291bnQo eEVFQyk7CisgICAgREVCVUcoIm51bWJlciBvZiBleHRlbnNpb25zIGZvdW5kIGluIHRoZSBvcmln aW5hbCBjZXJ0aWZpY2F0ZTogIjw8IG5FRUNleHQpOworICAgIGludCBpID0gMDsKK0BAIC03NTYs NyArNzc2LDExIEBAIGludCBYcmRDcnlwdG9zc2xYNTA5Q3JlYXRlUHJveHlSZXEoWHJkQ3J5cHRv WDUwOSAqeGNwaSwKKyAgICB9CisgICAgLy8KKyAgICAvLyBHZXQgc2lnbmF0dXJlIHBhdGggZGVw dGggZnJvbSBwcmVzZW50IHByb3h5CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDQw MDAwMDAwTAorICAgIFg1MDlfRVhURU5TSU9OICp4cGlleHQgPSAwOworKyNlbHNlCisrICAgY29u c3QgWDUwOV9FWFRFTlNJT04gKnhwaWV4dCA9IDA7CisrI2VuZGlmCisgICAgaW50IG5waWV4dCA9 IFg1MDlfZ2V0X2V4dF9jb3VudCh4cGkpOworICAgIGludCBpID0gMDsKKyAgICBib29sIGhhc2tl eXVzYWdlID0gMDsKK0BAIC03NzIsMTIgKzc5NiwxMiBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUwOUNy ZWF0ZVByb3h5UmVxKFhyZENyeXB0b1g1MDkgKnhjcGksCisgICAgICAgLy8gR2V0IHNpZ25hdHVy ZSBwYXRoIGRlcHRoIGZyb20gcHJlc2VudCBwcm94eQorICAgICAgIGlmICghc3RyY21wKHMsIGdz aVByb3h5Q2VydEluZm9fT0lEKSB8fAorICAgICAgICAgICAhc3RyY21wKHMsIGdzaVByb3h5Q2Vy dEluZm9fT0xEX09JRCkpIHsKKy0gICAgICAgICB1bnNpZ25lZCBjaGFyICpwID0gWDUwOV9FWFRF TlNJT05fZ2V0X2RhdGEoeHBpZXh0KS0+ZGF0YTsKKysgICAgICAgICBjb25zdCB1bnNpZ25lZCBj aGFyICpwID0gQVNOMV9TVFJJTkdfZ2V0MF9kYXRhKFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKHhw aWV4dCkpOworICAgICAgICAgIFBST1hZX0NFUlRfSU5GT19FWFRFTlNJT04gKmlucGNpID0gMDsK KyAgICAgICAgICBpZiAoIXN0cmNtcChzLCBnc2lQcm94eUNlcnRJbmZvX09JRCkpCistICAgICAg ICAgICAgaW5wY2kgPSBkMmlfUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTigwLCAoY29uc3QgdW5z aWduZWQgY2hhciAqKikoJnApLCBYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YSh4cGlleHQpLT5sZW5n dGgpOworKyAgICAgICAgICAgIGlucGNpID0gZDJpX1BST1hZX0NFUlRfSU5GT19FWFRFTlNJT04o MCwgJnAsIEFTTjFfU1RSSU5HX2xlbmd0aChYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YSh4cGlleHQp KSk7CisgICAgICAgICAgZWxzZQorLSAgICAgICAgICAgIGlucGNpID0gZDJpX1BST1hZX0NFUlRf SU5GT19FWFRFTlNJT05fT0xEKDAsIChjb25zdCB1bnNpZ25lZCBjaGFyICoqKSgmcCksIFg1MDlf RVhURU5TSU9OX2dldF9kYXRhKHhwaWV4dCktPmxlbmd0aCk7CisrICAgICAgICAgICAgaW5wY2kg PSBkMmlfUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTl9PTEQoMCwgJnAsIEFTTjFfU1RSSU5HX2xl bmd0aChYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YSh4cGlleHQpKSk7CisgICAgICAgICAgaWYgKGlu cGNpICYmCisgICAgICAgICAgICAgIGlucGNpLT5wY1BhdGhMZW5ndGhDb25zdHJhaW50KQorICAg ICAgICAgICAgIGluZGVwdGhsZW4gPSBBU04xX0lOVEVHRVJfZ2V0KGlucGNpLT5wY1BhdGhMZW5n dGhDb25zdHJhaW50KTsKK0BAIC04MjMsMTYgKzg0NywzMiBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUw OUNyZWF0ZVByb3h5UmVxKFhyZENyeXB0b1g1MDkgKnhjcGksCisgICAgICAgcmV0dXJuIC1rRXJy UFhfTm9SZXNvdXJjZXM7CisgICAgfQorICAgIC8vIEV4dHJhY3QgZGF0YSBpbiBmb3JtYXQgZm9y IGV4dGVuc2lvbgorLSAgIFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dC5nZXQoKSktPmxlbmd0 aCA9IGkyZF9QUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OKHBjaS5nZXQoKSwgMCk7CistICAgaWYg KCEoWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0LmdldCgpKS0+ZGF0YSA9ICh1bnNpZ25lZCBj aGFyICopbWFsbG9jKFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dC5nZXQoKSktPmxlbmd0aCsx KSkpIHsKKysgICBpbnQgbGVuID0gaTJkX1BST1hZX0NFUlRfSU5GT19FWFRFTlNJT04ocGNpLmdl dCgpLCAwKTsKKysgICB1bnNpZ25lZCBjaGFyICpkYXRhID0gKHVuc2lnbmVkIGNoYXIgKikgbWFs bG9jKGxlbik7CisrICAgaWYgKCFkYXRhKSB7CisgICAgICAgUFJJTlQoImNvdWxkIG5vdCBhbGxv Y2F0ZSBkYXRhIGZpZWxkIGZvciBleHRlbnNpb24iKTsKKyAgICAgICByZXR1cm4gLWtFcnJQWF9O b1Jlc291cmNlczsKKyAgICB9CistICAgdW5zaWduZWQgY2hhciAqcHAgPSBYNTA5X0VYVEVOU0lP Tl9nZXRfZGF0YShleHQuZ2V0KCkpLT5kYXRhOworKyAgIHVuc2lnbmVkIGNoYXIgKnBwID0gZGF0 YTsKKyAgICBpZiAoKGkyZF9QUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OKHBjaS5nZXQoKSwgJnBw KSkgPD0gMCkgeworICAgICAgIFBSSU5UKCJwcm9ibGVtIGNvbnZlcnRpbmcgZGF0YSBmb3IgZXh0 ZW5zaW9uIik7CisgICAgICAgcmV0dXJuIC1rRXJyUFhfRXJyb3I7CisgICAgfQorKyAgIEFTTjFf T0NURVRfU1RSSU5HICpvcyA9IEFTTjFfT0NURVRfU1RSSU5HX25ldygpOworKyAgIGlmICghb3Mp IHsKKysgICAgICBQUklOVCgiY291bGQgbm90IGFsbG9jYXRlIGRhdGEgZmllbGQgZm9yIGV4dGVu c2lvbiIpOworKyAgICAgIHJldHVybiAta0VyclBYX05vUmVzb3VyY2VzOworKyAgIH0KKysgICBp ZiAoQVNOMV9PQ1RFVF9TVFJJTkdfc2V0KG9zLCBkYXRhLCBsZW4pID09IDApIHsKKysgICAgICBQ UklOVCgiY291bGQgbm90IGFsbG9jYXRlIGRhdGEgZmllbGQgZm9yIGV4dGVuc2lvbiIpOworKyAg ICAgIHJldHVybiAta0VyclBYX05vUmVzb3VyY2VzOworKyAgIH0KKysgICBmcmVlKGRhdGEpOwor KyAgIGlmIChYNTA5X0VYVEVOU0lPTl9zZXRfZGF0YShleHQuZ2V0KCksIG9zKSA9PSAwKSB7Cisr ICAgICAgUFJJTlQoImNvdWxkIG5vdCBhbGxvY2F0ZSBkYXRhIGZpZWxkIGZvciBleHRlbnNpb24i KTsKKysgICAgICByZXR1cm4gLWtFcnJQWF9Ob1Jlc291cmNlczsKKysgICB9CisrICAgQVNOMV9T VFJJTkdfZnJlZShvcyk7CisgICAgcGNpID0gbnVsbHB0cjsKKyAKKyAgICAvLyBTZXQgZXh0ZW5z aW9uIG5hbWUuCitAQCAtMTAzMCw3ICsxMDcwLDExIEBAIGludCBYcmRDcnlwdG9zc2xYNTA5U2ln blByb3h5UmVxKFhyZENyeXB0b1g1MDkgKnhjcGksIFhyZENyeXB0b1JTQSAqa2NwaSwKKyAKKyAg ICAvLworICAgIC8vIEdldCBzaWduYXR1cmUgcGF0aCBkZXB0aCBmcm9tIGlucHV0IHByb3h5Cisr I2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDQwMDAwMDAwTAorICAgIFg1MDlfRVhURU5T SU9OICp4cGlleHQgPSAwLCAqeHJpZXh0ID0gMDsKKysjZWxzZQorKyAgIGNvbnN0IFg1MDlfRVhU RU5TSU9OICp4cGlleHQgPSAwLCAqeHJpZXh0ID0gMDsKKysjZW5kaWYKKyAgICBpbnQgbnBpZXh0 ID0gWDUwOV9nZXRfZXh0X2NvdW50KHhwaSk7CisgICAgaW50IGkgPSAwOworICAgIGJvb2wgaGFz a2V5dXNhZ2UgPSAwOworQEAgLTEwMzgsMTcgKzEwODIsMTcgQEAgaW50IFhyZENyeXB0b3NzbFg1 MDlTaWduUHJveHlSZXEoWHJkQ3J5cHRvWDUwOSAqeGNwaSwgWHJkQ3J5cHRvUlNBICprY3BpLAor ICAgIGZvciAoaSA9IDA7IGk8IG5waWV4dDsgaSsrKSB7CisgICAgICAgeHBpZXh0ID0gWDUwOV9n ZXRfZXh0KHhwaSwgaSk7CisgICAgICAgY2hhciBzWzI1Nl0gPSB7MH07CistICAgICAgQVNOMV9P QkpFQ1QgKm9iaiA9IFg1MDlfRVhURU5TSU9OX2dldF9vYmplY3QoeHBpZXh0KTsKKysgICAgICBj b25zdCBBU04xX09CSkVDVCAqb2JqID0gWDUwOV9FWFRFTlNJT05fZ2V0X29iamVjdCh4cGlleHQp OworICAgICAgIGlmIChvYmopCisgICAgICAgICAgT0JKX29iajJ0eHQocywgc2l6ZW9mKHMpLCBv YmosIDEpOworICAgICAgIGlmICghc3RyY21wKHMsIGdzaVByb3h5Q2VydEluZm9fT0lEKSB8fAor ICAgICAgICAgICAhc3RyY21wKHMsIGdzaVByb3h5Q2VydEluZm9fT0xEX09JRCkpIHsKKy0gICAg ICAgICB1bnNpZ25lZCBjaGFyICpwID0gWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoeHBpZXh0KS0+ ZGF0YTsKKysgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpwID0gQVNOMV9TVFJJTkdfZ2V0 MF9kYXRhKFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKHhwaWV4dCkpOworICAgICAgICAgIFBST1hZ X0NFUlRfSU5GT19FWFRFTlNJT04gKmlucGNpID0gMDsKKyAgICAgICAgICBpZiAoIXN0cmNtcChz LCBnc2lQcm94eUNlcnRJbmZvX09JRCkpCistICAgICAgICAgICAgaW5wY2kgPSBkMmlfUFJPWFlf Q0VSVF9JTkZPX0VYVEVOU0lPTigwLCAoY29uc3QgdW5zaWduZWQgY2hhciAqKikoJnApLCBYNTA5 X0VYVEVOU0lPTl9nZXRfZGF0YSh4cGlleHQpLT5sZW5ndGgpOworKyAgICAgICAgICAgIGlucGNp ID0gZDJpX1BST1hZX0NFUlRfSU5GT19FWFRFTlNJT04oMCwgJnAsIEFTTjFfU1RSSU5HX2xlbmd0 aChYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YSh4cGlleHQpKSk7CisgICAgICAgICAgZWxzZQorLSAg ICAgICAgICAgIGlucGNpID0gZDJpX1BST1hZX0NFUlRfSU5GT19FWFRFTlNJT05fT0xEKDAsIChj b25zdCB1bnNpZ25lZCBjaGFyICoqKSgmcCksIFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKHhwaWV4 dCktPmxlbmd0aCk7CisrICAgICAgICAgICAgaW5wY2kgPSBkMmlfUFJPWFlfQ0VSVF9JTkZPX0VY VEVOU0lPTl9PTEQoMCwgJnAsIEFTTjFfU1RSSU5HX2xlbmd0aChYNTA5X0VYVEVOU0lPTl9nZXRf ZGF0YSh4cGlleHQpKSk7CisgICAgICAgICAgaWYgKGlucGNpICYmCisgICAgICAgICAgICAgIGlu cGNpLT5wY1BhdGhMZW5ndGhDb25zdHJhaW50KQorICAgICAgICAgICAgIGluZGVwdGhsZW4gPSBB U04xX0lOVEVHRVJfZ2V0KGlucGNpLT5wY1BhdGhMZW5ndGhDb25zdHJhaW50KTsKK0BAIC0xMTAx LDkgKzExNDUsOSBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUwOVNpZ25Qcm94eVJlcShYcmRDcnlwdG9Y NTA5ICp4Y3BpLCBYcmRDcnlwdG9SU0EgKmtjcGksCisgICAgLy8gR2V0IHRoZSBjb250ZW50Cisg ICAgaW50IHJlcWRlcHRobGVuID0gLTE7CisgICAgaWYgKHhyaWV4dCkgeworLSAgICAgIHVuc2ln bmVkIGNoYXIgKnAgPSBYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YSh4cmlleHQpLT5kYXRhOworKyAg ICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnAgPSBBU04xX1NUUklOR19nZXQwX2RhdGEoWDUwOV9F WFRFTlNJT05fZ2V0X2RhdGEoeHJpZXh0KSk7CisgICAgICAgUFJPWFlfQ0VSVF9JTkZPX0VYVEVO U0lPTiAqcmVxcGNpID0KKy0gICAgICAgICBkMmlfUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTigw LCAoY29uc3QgdW5zaWduZWQgY2hhciAqKikoJnApLCBYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YSh4 cmlleHQpLT5sZW5ndGgpOworKyAgICAgICAgIGQyaV9QUk9YWV9DRVJUX0lORk9fRVhURU5TSU9O KDAsICZwLCBBU04xX1NUUklOR19sZW5ndGgoWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoeHJpZXh0 KSkpOworICAgICAgIGlmIChyZXFwY2kgJiYKKyAgICAgICAgICAgcmVxcGNpLT5wY1BhdGhMZW5n dGhDb25zdHJhaW50KQorICAgICAgICAgIHJlcWRlcHRobGVuID0gQVNOMV9JTlRFR0VSX2dldChy ZXFwY2ktPnBjUGF0aExlbmd0aENvbnN0cmFpbnQpOworQEAgLTExNDAsMTYgKzExODQsMzIgQEAg aW50IFhyZENyeXB0b3NzbFg1MDlTaWduUHJveHlSZXEoWHJkQ3J5cHRvWDUwOSAqeGNwaSwgWHJk Q3J5cHRvUlNBICprY3BpLAorICAgICAgIHJldHVybiAta0VyclBYX05vUmVzb3VyY2VzOworICAg IH0KKyAgICAvLyBFeHRyYWN0IGRhdGEgaW4gZm9ybWF0IGZvciBleHRlbnNpb24KKy0gICBYNTA5 X0VYVEVOU0lPTl9nZXRfZGF0YShleHQuZ2V0KCkpLT5sZW5ndGggPSBpMmRfUFJPWFlfQ0VSVF9J TkZPX0VYVEVOU0lPTihwY2kuZ2V0KCksIDApOworLSAgIGlmICghKFg1MDlfRVhURU5TSU9OX2dl dF9kYXRhKGV4dC5nZXQoKSktPmRhdGEgPSAodW5zaWduZWQgY2hhciAqKW1hbGxvYyhYNTA5X0VY VEVOU0lPTl9nZXRfZGF0YShleHQuZ2V0KCkpLT5sZW5ndGgrMSkpKSB7CisrICAgaW50IGxlbiA9 IGkyZF9QUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OKHBjaS5nZXQoKSwgMCk7CisrICAgdW5zaWdu ZWQgY2hhciAqZGF0YSA9ICh1bnNpZ25lZCBjaGFyICopIG1hbGxvYyhsZW4pOworKyAgIGlmICgh ZGF0YSkgeworICAgICAgIFBSSU5UKCJjb3VsZCBub3QgYWxsb2NhdGUgZGF0YSBmaWVsZCBmb3Ig ZXh0ZW5zaW9uIik7CisgICAgICAgcmV0dXJuIC1rRXJyUFhfTm9SZXNvdXJjZXM7CisgICAgfQor LSAgIHVuc2lnbmVkIGNoYXIgKnBwID0gWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0LmdldCgp KS0+ZGF0YTsKKysgICB1bnNpZ25lZCBjaGFyICpwcCA9IGRhdGE7CisgICAgaWYgKChpMmRfUFJP WFlfQ0VSVF9JTkZPX0VYVEVOU0lPTihwY2kuZ2V0KCksICZwcCkpIDw9IDApIHsKKyAgICAgICBQ UklOVCgicHJvYmxlbSBjb252ZXJ0aW5nIGRhdGEgZm9yIGV4dGVuc2lvbiIpOworICAgICAgIHJl dHVybiAta0VyclBYX0Vycm9yOworICAgIH0KKysgICBBU04xX09DVEVUX1NUUklORyAqb3MgPSBB U04xX09DVEVUX1NUUklOR19uZXcoKTsKKysgICBpZiAoIW9zKSB7CisrICAgICAgUFJJTlQoImNv dWxkIG5vdCBhbGxvY2F0ZSBkYXRhIGZpZWxkIGZvciBleHRlbnNpb24iKTsKKysgICAgICByZXR1 cm4gLWtFcnJQWF9Ob1Jlc291cmNlczsKKysgICB9CisrICAgaWYgKEFTTjFfT0NURVRfU1RSSU5H X3NldChvcywgZGF0YSwgbGVuKSA9PSAwKSB7CisrICAgICAgUFJJTlQoImNvdWxkIG5vdCBhbGxv Y2F0ZSBkYXRhIGZpZWxkIGZvciBleHRlbnNpb24iKTsKKysgICAgICByZXR1cm4gLWtFcnJQWF9O b1Jlc291cmNlczsKKysgICB9CisrICAgZnJlZShkYXRhKTsKKysgICBpZiAoWDUwOV9FWFRFTlNJ T05fc2V0X2RhdGEoZXh0LmdldCgpLCBvcykgPT0gMCkgeworKyAgICAgIFBSSU5UKCJjb3VsZCBu b3QgYWxsb2NhdGUgZGF0YSBmaWVsZCBmb3IgZXh0ZW5zaW9uIik7CisrICAgICAgcmV0dXJuIC1r RXJyUFhfTm9SZXNvdXJjZXM7CisrICAgfQorKyAgIEFTTjFfU1RSSU5HX2ZyZWUob3MpOworICAg IHBjaSA9IG51bGxwdHI7CisgCisgICAgLy8gU2V0IGV4dGVuc2lvbiBuYW1lLgorQEAgLTEyMTUs NyArMTI3NSwxMSBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUwOUdldFZPTVNBdHRyKFhyZENyeXB0b1g1 MDkgKnhjcGksIFhyZE91Y1N0cmluZyAmdmF0KQorICAgIHJjID0gMTsKKyAgICBib29sIGdldHZh dCA9IDA7CisgICAgLy8gR28gdGhyb3VnaCB0aGUgZXh0ZW5zaW9ucworKyNpZiBPUEVOU1NMX1ZF UlNJT05fTlVNQkVSIDwgMHg0MDAwMDAwMEwKKyAgICBYNTA5X0VYVEVOU0lPTiAqeHBpZXh0ID0g MDsKKysjZWxzZQorKyAgIGNvbnN0IFg1MDlfRVhURU5TSU9OICp4cGlleHQgPSAwOworKyNlbmRp ZgorICAgIGludCBucGlleHQgPSBYNTA5X2dldF9leHRfY291bnQoeHBpKTsKKyAgICBpbnQgaSA9 IDA7CisgICAgZm9yIChpID0gMDsgaTwgbnBpZXh0OyBpKyspIHsKK0BAIC0xMjI3LDggKzEyOTEs OCBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUwOUdldFZPTVNBdHRyKFhyZENyeXB0b1g1MDkgKnhjcGks IFhyZE91Y1N0cmluZyAmdmF0KQorICAgICAgIGlmIChzdHJjbXAocywgWFJER1NJX1ZPTVNfQUNT RVFfT0lEKSkgY29udGludWU7CisgICAgICAgLy8gVGhpcyBpcyB0aGUgVk9NUyBleHRlbnNpb24g d2UgYXJlIGludGVyZXN0ZWQgZm9yCisgICAgICAgcmMgPSAwOworLSAgICAgIGNvbnN0IHVuc2ln bmVkIGNoYXIgKnBwID0gKGNvbnN0IHVuc2lnbmVkIGNoYXIgKikgWDUwOV9FWFRFTlNJT05fZ2V0 X2RhdGEoeHBpZXh0KS0+ZGF0YTsKKy0gICAgICBsb25nIGxlbmd0aCA9IFg1MDlfRVhURU5TSU9O X2dldF9kYXRhKHhwaWV4dCktPmxlbmd0aDsKKysgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpw cCA9IEFTTjFfU1RSSU5HX2dldDBfZGF0YShYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YSh4cGlleHQp KTsKKysgICAgICBsb25nIGxlbmd0aCA9IEFTTjFfU1RSSU5HX2xlbmd0aChYNTA5X0VYVEVOU0lP Tl9nZXRfZGF0YSh4cGlleHQpKTsKKyAgICAgICBpbnQgcmV0ID0gWHJkQ3J5cHRvc3NsWDUwOUZp bGxWT01TKCZwcCwgbGVuZ3RoLCBnZXR2YXQsIHZhdCk7CisgICAgICAgREVCVUcoInJldDogIiA8 PCByZXQgPDwgIiAtIHZhdDogIiA8PCB2YXQpOworICAgIH0KK0BAIC0xMzE2LDEwICsxMzgwLDEw IEBAIGludCBYcmRDcnlwdG9zc2xYNTA5RmlsbFZPTVMoY29uc3QgdW5zaWduZWQgY2hhciAqKnBw LAorICAgICAgICAgICAgIGludCBpLCBwcmludGFibGUgPSAxOworICAgICAgICAgICAgIG9wcCA9 IG9wOworICAgICAgICAgICAgIG9zID0gZDJpX0FTTjFfT0NURVRfU1RSSU5HKDAsICZvcHAsIGxl biArIGhsKTsKKy0gICAgICAgICAgICBpZiAob3MgJiYgb3MtPmxlbmd0aCA+IDApIHsKKy0gICAg ICAgICAgICAgICBvcHAgPSBvcy0+ZGF0YTsKKysgICAgICAgICAgICBpZiAob3MgJiYgQVNOMV9T VFJJTkdfbGVuZ3RoKG9zKSA+IDApIHsKKysgICAgICAgICAgICAgICBvcHAgPSBBU04xX1NUUklO R19nZXQwX2RhdGEob3MpOworICAgICAgICAgICAgICAgIC8vIFRlc3Rpbmcgd2hldGhlciB0aGUg b2N0ZXQgc3RyaW5nIGlzIHByaW50YWJsZQorLSAgICAgICAgICAgICAgIGZvciAoaT0wOyBpPG9z LT5sZW5ndGg7IGkrKykgeworKyAgICAgICAgICAgICAgIGZvciAoaT0wOyBpIDwgQVNOMV9TVFJJ TkdfbGVuZ3RoKG9zKTsgaSsrKSB7CisgICAgICAgICAgICAgICAgICAgaWYgKCggKG9wcFtpXSA8 ICcgJykgJiYgKG9wcFtpXSAhPSAnXG4nKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgIChv cHBbaV0gIT0gJ1xyJykgJiYgKG9wcFtpXSAhPSAnXHQnKSkgfHwgKG9wcFtpXSA+ICd+JykpIHsK KyAgICAgICAgICAgICAgICAgICAgICBwcmludGFibGUgPSAwOworQEAgLTEzMzMsNyArMTM5Nyw3 IEBAIGludCBYcmRDcnlwdG9zc2xYNTA5RmlsbFZPTVMoY29uc3QgdW5zaWduZWQgY2hhciAqKnBw LAorICAgICAgICAgICAgICAgICAgICAgIHZhdCArPSAoY29uc3QgY2hhciAqKW9wcDsKKyAgICAg ICAgICAgICAgICAgICAgICBnb3R2YXQgPSAxOworICAgICAgICAgICAgICAgICAgIH0KKy0gICAg ICAgICAgICAgICAgICBERUJVRygiT0JKUzoiIDw8IChjb25zdCBjaGFyICopb3BwIDw8ICIgKGxl bjogIjw8b3MtPmxlbmd0aDw8IikiKTsKKysgICAgICAgICAgICAgICAgICBERUJVRygiT0JKUzoi IDw8IChjb25zdCBjaGFyICopb3BwIDw8ICIgKGxlbjogIiA8PCBBU04xX1NUUklOR19sZW5ndGgo b3MpIDw8ICIpIik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgIH0KKyAgICAgICAg ICAgICBpZiAob3MpIHsKK0BAIC0xMzg1LDExICsxNDQ5LDE5IEBAIGludCBYcmRDcnlwdG9zc2xY NTA5Q2hlY2tQcm94eTMoWHJkQ3J5cHRvWDUwOSAqeGNwaSwgWHJkT3VjU3RyaW5nICZlbXNnKSB7 CisgICAgfQorICAgIFRSQUNFKEFMTCwiY2VydGlmaWNhdGUgaGFzICI8PG51bWV4dDw8IiBleHRl bnNpb25zIik7CisgCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDQwMDAwMDAwTAor ICAgIFg1MDlfRVhURU5TSU9OICpleHQgPSAwOworKyNlbHNlCisrICAgY29uc3QgWDUwOV9FWFRF TlNJT04gKmV4dCA9IDA7CisrI2VuZGlmCisgICAgUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTiAq cGNpID0gMDsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bWV4dDsgaSsrKSB7CisgICAgICAg Ly8gR2V0IHRoZSBleHRlbnNpb24KKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4NDAw MDAwMDBMCisgICAgICAgWDUwOV9FWFRFTlNJT04gKnhleHQgPSBYNTA5X2dldF9leHQoY2VydCwg aSk7CisrI2Vsc2UKKysgICAgICBjb25zdCBYNTA5X0VYVEVOU0lPTiAqeGV4dCA9IFg1MDlfZ2V0 X2V4dChjZXJ0LCBpKTsKKysjZW5kaWYKKyAgICAgICAvLyBXZSBhcmUgbG9va2luZyBmb3IgZ3Np UHJveHlDZXJ0SW5mb19PSUQgICAgICgiMS4zLjYuMS41LjUuNy4xLjE0IikKKyAgICAgICAvLyAg ICAgICAgICAgICAgICAgb3IgZ3NpUHJveHlDZXJ0SW5mb19PTERfT0lEICgiMS4zLjYuMS40LjEu MzUzNi4xLjIyMiIpCisgICAgICAgY2hhciBzWzI1Nl07CitAQCAtMTM5OSw4ICsxNDcxLDggQEAg aW50IFhyZENyeXB0b3NzbFg1MDlDaGVja1Byb3h5MyhYcmRDcnlwdG9YNTA5ICp4Y3BpLCBYcmRP dWNTdHJpbmcgJmVtc2cpIHsKKyAgICAgICAgICBpZiAoZXh0ID09IDApIHsKKyAgICAgICAgICAg ICBleHQgPSB4ZXh0OworICAgICAgICAgICAgIC8vIE5vdyBnZXQgdGhlIGV4dGVuc2lvbgorLSAg ICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKnAgPSBYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YShleHQp LT5kYXRhOworLSAgICAgICAgICAgIHBjaSA9IGQyaV9QUk9YWV9DRVJUX0lORk9fRVhURU5TSU9O KDAsIChjb25zdCB1bnNpZ25lZCBjaGFyICoqKSgmcCksIFg1MDlfRVhURU5TSU9OX2dldF9kYXRh KGV4dCktPmxlbmd0aCk7CisrICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqcCA9IEFT TjFfU1RSSU5HX2dldDBfZGF0YShYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YShleHQpKTsKKysgICAg ICAgICAgICBwY2kgPSBkMmlfUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTigwLCAmcCwgQVNOMV9T VFJJTkdfbGVuZ3RoKFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dCkpKTsKKyAgICAgICAgICB9 IGVsc2UgeworICAgICAgICAgICAgIFBSSU5UKCJXQVJOSU5HOiBtdWx0aXBsZSBwcm94eUNlcnRJ bmZvIGV4dGVuc2lvbnMgZm91bmQ6IHRha2luZyB0aGUgZmlyc3QiKTsKKyAgICAgICAgICB9CitA QCAtMTQwOCw4ICsxNDgwLDggQEAgaW50IFhyZENyeXB0b3NzbFg1MDlDaGVja1Byb3h5MyhYcmRD cnlwdG9YNTA5ICp4Y3BpLCBYcmRPdWNTdHJpbmcgJmVtc2cpIHsKKyAgICAgICAgICBpZiAoZXh0 ID09IDApIHsKKyAgICAgICAgICAgICBleHQgPSB4ZXh0OworICAgICAgICAgICAgIC8vIE5vdyBn ZXQgdGhlIGV4dGVuc2lvbgorLSAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKnAgPSBYNTA5X0VY VEVOU0lPTl9nZXRfZGF0YShleHQpLT5kYXRhOworLSAgICAgICAgICAgIHBjaSA9IGQyaV9QUk9Y WV9DRVJUX0lORk9fRVhURU5TSU9OX09MRCgwLCAoY29uc3QgdW5zaWduZWQgY2hhciAqKikoJnAp LCBYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YShleHQpLT5sZW5ndGgpOworKyAgICAgICAgICAgIGNv bnN0IHVuc2lnbmVkIGNoYXIgKnAgPSBBU04xX1NUUklOR19nZXQwX2RhdGEoWDUwOV9FWFRFTlNJ T05fZ2V0X2RhdGEoZXh0KSk7CisrICAgICAgICAgICAgcGNpID0gZDJpX1BST1hZX0NFUlRfSU5G T19FWFRFTlNJT05fT0xEKDAsICZwLCBBU04xX1NUUklOR19sZW5ndGgoWDUwOV9FWFRFTlNJT05f Z2V0X2RhdGEoZXh0KSkpOworICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgUFJJTlQo IldBUk5JTkc6IG11bHRpcGxlIHByb3h5Q2VydEluZm8gZXh0ZW5zaW9ucyBmb3VuZDogdGFraW5n IHRoZSBmaXJzdCIpOworICAgICAgICAgIH0KK2RpZmYgLS1naXQgYS9zcmMvWHJkVGxzL1hyZFRs c05vdGFyeVV0aWxzLmljYyBiL3NyYy9YcmRUbHMvWHJkVGxzTm90YXJ5VXRpbHMuaWNjCitpbmRl eCA0NDEyNWQ5ODguLjNkZWQ0Zjk5MyAxMDA2NDQKKy0tLSBhL3NyYy9YcmRUbHMvWHJkVGxzTm90 YXJ5VXRpbHMuaWNjCisrKysgYi9zcmMvWHJkVGxzL1hyZFRsc05vdGFyeVV0aWxzLmljYworQEAg LTU2LDggKzU2LDggQEAgU09GVFdBUkUuCisgKi8KKyBzdGF0aWMgSG9zdG5hbWVWYWxpZGF0aW9u UmVzdWx0IG1hdGNoZXNfY29tbW9uX25hbWUoY29uc3QgY2hhciAqaG9zdG5hbWUsIGNvbnN0IFg1 MDkgKnNlcnZlcl9jZXJ0KSB7CisgICAgICAgICBpbnQgY29tbW9uX25hbWVfbG9jID0gLTE7Cist ICAgICAgICBYNTA5X05BTUVfRU5UUlkgKmNvbW1vbl9uYW1lX2VudHJ5ID0gTlVMTDsKKy0gICAg ICAgIEFTTjFfU1RSSU5HICpjb21tb25fbmFtZV9hc24xID0gTlVMTDsKKysgICAgICAgIGNvbnN0 IFg1MDlfTkFNRV9FTlRSWSAqY29tbW9uX25hbWVfZW50cnkgPSBOVUxMOworKyAgICAgICAgY29u c3QgQVNOMV9TVFJJTkcgKmNvbW1vbl9uYW1lX2FzbjEgPSBOVUxMOworICAgICAgICAgY2hhciAq Y29tbW9uX25hbWVfc3RyID0gTlVMTDsKKyAKKyAgICAgICAgIC8vIEZpbmQgdGhlIHBvc2l0aW9u IG9mIHRoZSBDTiBmaWVsZCBpbiB0aGUgU3ViamVjdCBmaWVsZCBvZiB0aGUgY2VydGlmaWNhdGUK K2RpZmYgLS1naXQgYS9zcmMvWHJkVm9tcy9YcmRWb21zRnVuLmNjIGIvc3JjL1hyZFZvbXMvWHJk Vm9tc0Z1bi5jYworaW5kZXggYTRiYzliOGI3Li5mZTZlOGViYjcgMTAwNjQ0CistLS0gYS9zcmMv WHJkVm9tcy9YcmRWb21zRnVuLmNjCisrKysgYi9zcmMvWHJkVm9tcy9YcmRWb21zRnVuLmNjCitA QCAtMTEwLDcgKzExMCw3IEBAIFhyZFZvbXNGdW46OlhyZFZvbXNGdW4oWHJkU3lzRXJyb3IgJmVy cCkKKyAgIAorIC8vIEZ1bmN0aW9uIHRvIGNvbnZlcnQgWDUwOV9OQU1FIGludG8gYSBvbmUtbGlu ZSBodW1hbiByZWFkYWJsZSBzdHJpbmcKKyAvLworLXZvaWQgWHJkVm9tc0Z1bjo6TmFtZU9uZUxp bmUoWDUwOV9OQU1FICpubSwgWHJkT3VjU3RyaW5nICZzKQorK3ZvaWQgWHJkVm9tc0Z1bjo6TmFt ZU9uZUxpbmUoY29uc3QgWDUwOV9OQU1FICpubSwgWHJkT3VjU3RyaW5nICZzKQorIHsKKyAgICBC SU8gKm1iaW8gPSBCSU9fbmV3KEJJT19zX21lbSgpKTsKKyAgICBYNTA5X05BTUVfcHJpbnRfZXgo bWJpbywgbm0sIDAsIFhOX0ZMQUdfQ09NUEFUKTsKK2RpZmYgLS1naXQgYS9zcmMvWHJkVm9tcy9Y cmRWb21zRnVuLmhoIGIvc3JjL1hyZFZvbXMvWHJkVm9tc0Z1bi5oaAoraW5kZXggZmY1ZGY1OGVm Li41YzExMjlhYjggMTAwNjQ0CistLS0gYS9zcmMvWHJkVm9tcy9YcmRWb21zRnVuLmhoCisrKysg Yi9zcmMvWHJkVm9tcy9YcmRWb21zRnVuLmhoCitAQCAtNjUsNyArNjUsNyBAQCBpbnQgIFZPTVNJ bml0KGNvbnN0IGNoYXIgKmNmZyk7CisgcHJpdmF0ZToKKyAKKyB2b2lkIEZtdEV4dHJhY3QoWHJk T3VjU3RyaW5nICZvdXQsIFhyZE91Y1N0cmluZyBpbiwgY29uc3QgY2hhciAqdGFnKTsKKy12b2lk IE5hbWVPbmVMaW5lKFg1MDlfTkFNRSAqbm0sIFhyZE91Y1N0cmluZyAmcyk7Cisrdm9pZCBOYW1l T25lTGluZShjb25zdCBYNTA5X05BTUUgKm5tLCBYcmRPdWNTdHJpbmcgJnMpOworIHZvaWQgRm10 UmVwbGFjZShYcmRTZWNFbnRpdHkgJmVudCk7CisgCisgLy8gVGhlc2Ugc2V0dGluZ3MgYXJlIGNv bmZpZ3VyYWJsZQorLS0gCisyLjU0LjAKKwoKZGlmZiAtLWdpdCBhLzAwMDItQWRkLWNhdGNoLWFs bC13b3JrLWFyb3VuZC1mb3ItbWlzc2luZy1nZXR0aWQucGF0Y2ggYi8wMDAyLUFkZC1jYXRjaC1h bGwtd29yay1hcm91bmQtZm9yLW1pc3NpbmctZ2V0dGlkLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwYTIwOGY3Li4wMDAwMDAwCi0tLSBhLzAwMDItQWRkLWNhdGNoLWFsbC13 b3JrLWFyb3VuZC1mb3ItbWlzc2luZy1nZXR0aWQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwz OSArMCwwIEBACi1Gcm9tIDBlZjViMWE5N2QxY2EwZDgyNTgzODQzNTMxNjViODU0NTQ2Mzg3NmEg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXR0aWFzIEVsbGVydCA8bWF0dGlhcy5l bGxlcnRAcGh5c2ljcy51dS5zZT4KLURhdGU6IE1vbiwgMjAgQXByIDIwMjYgMjE6MjA6NDggKzAy MDAKLVN1YmplY3Q6IFtQQVRDSCAyLzZdIEFkZCBjYXRjaC1hbGwgd29yay1hcm91bmQgZm9yIG1p c3NpbmcgZ2V0dGlkCi0KLVBvc3NpYmx5IHRoZXJlIGFyZSBiZXR0ZXIgc29sdXRpb25zLCBidXQg dGhpcyBpcyBjb25zaXN0ZW50IHdpdGggdGhlCi1pbXBsZW1lbnRhdGlvbiBpbiBzcmMvWHJkU3lz L1hyZFN5c1B0aHJlYWQuY2MKLS0tLQotIHNyYy9YcmRDbEh0dHAvWHJkQ2xIdHRwVXRpbC5jYyB8 IDYgKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo LSkKLQotZGlmZiAtLWdpdCBhL3NyYy9YcmRDbEh0dHAvWHJkQ2xIdHRwVXRpbC5jYyBiL3NyYy9Y cmRDbEh0dHAvWHJkQ2xIdHRwVXRpbC5jYwotaW5kZXggYTE1OTdiMjAwLi43YmVkYjQzNzMgMTAw NjQ0Ci0tLS0gYS9zcmMvWHJkQ2xIdHRwL1hyZENsSHR0cFV0aWwuY2MKLSsrKyBiL3NyYy9YcmRD bEh0dHAvWHJkQ2xIdHRwVXRpbC5jYwotQEAgLTg2LDE2ICs4NiwxOCBAQCBzdHJ1Y3QgV2FpdGlu Z0ZvckJyb2tlciB7Ci0gbmFtZXNwYWNlIHsKLSAKLSBwaWRfdCBnZXR0aHJlYWRpZCgpIHsKLS0j aWZkZWYgX19BUFBMRV9fCi0rI2lmICAgZGVmaW5lZChfX0FQUExFX18pCi0gICAgIHVpbnQ2NF90 IHB0aF90aHJlYWRpZDsKLSAgICAgcHRocmVhZF90aHJlYWRpZF9ucChwdGhyZWFkX3NlbGYoKSwg JnB0aF90aHJlYWRpZCk7Ci0gICAgIHJldHVybiBwdGhfdGhyZWFkaWQ7Ci0tI2Vsc2UKLSsjZWxp ZiBkZWZpbmVkKF9fbGludXhfXykKLSAgICAgLy8gTk9URTogZ2xpYmMgMi4zMCBmaW5hbGx5IHBy b3ZpZGVzIGEgZ2V0dGlkKCkgd3JhcHBlcjsgaG93ZXZlciwKLSAgICAgLy8gd2UgY3VycmVudGx5 IHN1cHBvcnQgUkhFTCA4LCB3aGljaCBpcyBiYXNlZCBvbiBnbGliYyAyLjI4LiAgVW50aWwKLSAg ICAgLy8gd2UgZHJvcCB0aGF0IHBsYXRmb3JtLCBpdCdzIGVhc2llciB0byBkbyB0aGUgc3lzY2Fs bCBkaXJlY3RseSBvbiBMaW51eAotICAgICAvLyBpbnN0ZWFkIG9mIGFkZGl0aW9uYWwgaWZkZWYg Y2FsbHMuCi0gICAgIHJldHVybiBzeXNjYWxsKFNZU19nZXR0aWQpOwotKyNlbHNlCi0rICAgcmV0 dXJuIGdldHBpZCgpOwotICNlbmRpZgotIH0KLSAKLS0tIAotMi41My4wCi0KCmRpZmYgLS1naXQg YS8wMDAyLVhyZENyeXB0by1QcmVzZXJ2ZS1BQkkucGF0Y2ggYi8wMDAyLVhyZENyeXB0by1QcmVz ZXJ2ZS1BQkkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDJhYTdh NQotLS0gL2Rldi9udWxsCisrKyBiLzAwMDItWHJkQ3J5cHRvLVByZXNlcnZlLUFCSS5wYXRjaApA QCAtMCwwICsxLDMwIEBACitGcm9tIDA5YTk4MzczYmM0NDJkNTE1ZjM0NzU5M2MxMTM4NDI3MzNl YTYwYjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0aWFzIEVsbGVydCA8bWF0 dGlhcy5lbGxlcnRAcGh5c2ljcy51dS5zZT4KK0RhdGU6IFNhdCwgMjMgTWF5IDIwMjYgMjA6NTk6 MDQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzJdIFtYcmRDcnlwdG9dIFByZXNlcnZlIEFCSQor CitBZGQgYmFjayBub3cgdW51c2VkIG5vbi1jb25zdCB2ZXJzaW9uIG9mIGZ1bmN0aW9uCistLS0K KyBzcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3NzbEF1eC5jYyB8IDkgKysrKysrKysrCisgMSBmaWxl IGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL1hyZENyeXB0by9Y cmRDcnlwdG9zc2xBdXguY2MgYi9zcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3NzbEF1eC5jYworaW5k ZXggYTQ0MjgzOTg1Li5lMGNlMzUyODUgMTAwNjQ0CistLS0gYS9zcmMvWHJkQ3J5cHRvL1hyZENy eXB0b3NzbEF1eC5jYworKysrIGIvc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xBdXguY2MKK0BA IC03NTUsMyArNzU1LDEyIEBAIHZvaWQgWHJkQ3J5cHRvc3NsTmFtZU9uZUxpbmUoY29uc3QgWDUw OV9OQU1FICpubSwgWHJkT3VjU3RyaW5nICZzKQorICAgIC8vIERvbmUKKyAgICByZXR1cm47Cisg fQorKworKy8vX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXworK3ZvaWQgWHJkQ3J5cHRvc3NsTmFtZU9uZUxp bmUoWDUwOV9OQU1FICpubSwgWHJkT3VjU3RyaW5nICZzKQorK3sKKysgICAvLyBDb3B5IG9mIGFi b3ZlIGZ1bmN0aW9uIHdpdGggbm9uLWNvbnN0IGZpcnN0IGFyZ3VtZW50CisrICAgLy8gVGhpcyBm dW5jdGlvbiBpcyB1bnVzZWQgLS0gb25seSBhZGRlZCB0byBwcmVzZXJ2ZSBvbGQgQUJJCisrICAg Ly8gQ2FuIGJlIHJlbW92ZWQgaWYgc29uYW1lIGNoYW5nZXMKKysgICBYcmRDcnlwdG9zc2xOYW1l T25lTGluZShjb25zdF9jYXN0PGNvbnN0IFg1MDlfTkFNRSAqPihubSksIHMpOworK30KKy0tIAor Mi41NC4wCisKCmRpZmYgLS1naXQgYS8wMDAzLUFsc28tY2hlY2stZm9yLUdOVS1pbi1zdGF0eC5w YXRjaCBiLzAwMDMtQWxzby1jaGVjay1mb3ItR05VLWluLXN0YXR4LnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCA0ODdlYzE0Li4wMDAwMDAwCi0tLSBhLzAwMDMtQWxzby1jaGVj ay1mb3ItR05VLWluLXN0YXR4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAot RnJvbSAwNDkyMDc4YjYwZTdmZmM1MGVlOGZkMjI4MmI1OTYwZTI2NGExN2I0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogTWF0dGlhcyBFbGxlcnQgPG1hdHRpYXMuZWxsZXJ0QHBoeXNp Y3MudXUuc2U+Ci1EYXRlOiBNb24sIDIwIEFwciAyMDI2IDIxOjUzOjM4ICswMjAwCi1TdWJqZWN0 OiBbUEFUQ0ggMy82XSBBbHNvIGNoZWNrIGZvciBHTlUgaW4gc3RhdHgKLQotLS0tCi0gc3JjL1hy ZFN5cy9YcmRTeXNTdGF0eC5oaCAgICAgICAgICAgICB8IDIgKy0KLSB0ZXN0cy9YcmRTeXNUZXN0 cy9YcmRTeXNTdGF0eFRlc3RzLmNjIHwgMiArLQotIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRp b25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL1hyZFN5cy9YcmRTeXNT dGF0eC5oaCBiL3NyYy9YcmRTeXMvWHJkU3lzU3RhdHguaGgKLWluZGV4IDEzYjQ4OTRlMC4uZGZh YTNmN2JlIDEwMDY0NAotLS0tIGEvc3JjL1hyZFN5cy9YcmRTeXNTdGF0eC5oaAotKysrIGIvc3Jj L1hyZFN5cy9YcmRTeXNTdGF0eC5oaAotQEAgLTM1LDcgKzM1LDcgQEAKLSAjaW5jbHVkZSA8Y3N0 cmluZz4KLSAjaW5jbHVkZSA8ZmNudGwuaD4KLSAKLS0jaWZkZWYgX19saW51eF9fCi0rI2lmIGRl ZmluZWQoX19saW51eF9fKSB8fCBkZWZpbmVkKF9fR05VX18pCi0gI2luY2x1ZGUgPHN5cy9zeXNt YWNyb3MuaD4KLSB1c2luZyBYcmRTeXNTdGF0eCA9IHN0cnVjdCBzdGF0eDsKLSAjZGVmaW5lIEhB VkVfU1RBVFgKLWRpZmYgLS1naXQgYS90ZXN0cy9YcmRTeXNUZXN0cy9YcmRTeXNTdGF0eFRlc3Rz LmNjIGIvdGVzdHMvWHJkU3lzVGVzdHMvWHJkU3lzU3RhdHhUZXN0cy5jYwotaW5kZXggZDJkN2U3 MjlmLi4yM2QyYWFhYzYgMTAwNjQ0Ci0tLS0gYS90ZXN0cy9YcmRTeXNUZXN0cy9YcmRTeXNTdGF0 eFRlc3RzLmNjCi0rKysgYi90ZXN0cy9YcmRTeXNUZXN0cy9YcmRTeXNTdGF0eFRlc3RzLmNjCi1A QCAtMjcsNyArMjcsNyBAQCBURVNUX0YoWHJkU3lzU3RhdHhUZXN0cywgU3RhdDJTdGF0eEJhc2lj RmllbGRzKSB7Ci0gCi0gICBFWFBFQ1RfRVEoc3R4LnN0eF9tYXNrLCAodWludDMyX3QpU1RBVFhf QkFTSUNfU1RBVFMpOwotIAotLSNpZmRlZiBfX2xpbnV4X18KLSsjaWYgZGVmaW5lZChfX2xpbnV4 X18pIHx8IGRlZmluZWQoX19HTlVfXykKLSAgIEVYUEVDVF9FUShzdHguc3R4X21vZGUsICAgICh1 aW50MTZfdCkoU19JRlJFRyB8IDA3NTUpKTsKLSAgIEVYUEVDVF9FUShzdHguc3R4X25saW5rLCAg ICh1aW50MzJfdCkzKTsKLSAgIEVYUEVDVF9FUShzdHguc3R4X3VpZCwgICAgICh1aW50MzJfdCkx MDAwKTsKLS0tIAotMi41My4wCi0KCmRpZmYgLS1naXQgYS8wMDA0LUZpeC1rZXJiZXJvcy10ZXN0 cy13aGVuLXVzci1zYmluLWlzLW5vdC1pbi1QQVRILnBhdGNoIGIvMDAwNC1GaXgta2VyYmVyb3Mt dGVzdHMtd2hlbi11c3Itc2Jpbi1pcy1ub3QtaW4tUEFUSC5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggNjdkZDIwMi4uMDAwMDAwMAotLS0gYS8wMDA0LUZpeC1rZXJiZXJvcy10 ZXN0cy13aGVuLXVzci1zYmluLWlzLW5vdC1pbi1QQVRILnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsNDUgKzAsMCBAQAotRnJvbSBlMDc5YjdjYjFhZjE0MTBlZDE1Yzc5NThlMDg5ZWNlNmIzNmM1 OTAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWF0dGlhcyBFbGxlcnQgPG1hdHRp YXMuZWxsZXJ0QHBoeXNpY3MudXUuc2U+Ci1EYXRlOiBNb24sIDIwIEFwciAyMDI2IDIxOjU1OjU2 ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggNC82XSBGaXgga2VyYmVyb3MgdGVzdHMgd2hlbiAvdXNy L3NiaW4gaXMgbm90IGluIFBBVEgKLQotLS0tCi0gdGVzdHMva3JiNS9rZXJiZXJvcy5zaCB8IDgg KysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygt KQotCi1kaWZmIC0tZ2l0IGEvdGVzdHMva3JiNS9rZXJiZXJvcy5zaCBiL3Rlc3RzL2tyYjUva2Vy YmVyb3Muc2gKLWluZGV4IGI0YWY1ZTEwMi4uNWI2NDA1Y2Q5IDEwMDc1NQotLS0tIGEvdGVzdHMv a3JiNS9rZXJiZXJvcy5zaAotKysrIGIvdGVzdHMva3JiNS9rZXJiZXJvcy5zaAotQEAgLTM2LDE2 ICszNiwxNiBAQCBmdW5jdGlvbiBzZXR1cCgpIHsKLSAJcG9wZCA+L2Rldi9udWxsIHx8IGV4aXQg MQotIAotIAkjIENyZWF0ZSB0aGUgS0RDIGRhdGFiYXNlCi0tCWtkYjVfdXRpbCBjcmVhdGUgLXMg LXIgWFJPT1RELk9SRyAtUCB4cm9vdGQKLSsJL3Vzci9zYmluL2tkYjVfdXRpbCBjcmVhdGUgLXMg LXIgWFJPT1RELk9SRyAtUCB4cm9vdGQKLSAKLSAJIyBTdGFydCB0aGUgS0RDIGRhZW1vbnMKLS0J a3JiNWtkYyAtUCAiJHtQV0R9Ii9rcmI1a2RjLnBpZAotKwkvdXNyL3NiaW4va3JiNWtkYyAtUCAi JHtQV0R9Ii9rcmI1a2RjLnBpZAotIAotIAkjIE5vdCByZWFsbHkgbmVlZGVkLCBzaW5jZSB3ZSB1 c2Uga2FkbWluLmxvY2FsCi0gCSMga2FkbWluZCAtUCAke1BXRH0va2FkbWluZC5waWQKLSAKLSAJ IyBBZGQgcHJpbmNpcGFscyBmb3IgdGhlIHNlcnZlciBhbmQgY2xpZW50IHRvIEtEQyBkYXRhYmFz ZQotLQlrYWRtaW4ubG9jYWwgLXIgWFJPT1RELk9SRyA8PC1FT0YKLSsJL3Vzci9zYmluL2thZG1p bi5sb2NhbCAtciBYUk9PVEQuT1JHIDw8LUVPRgotIAlhZGRfcHJpbmNpcGFsIC1yYW5ka2V5IC1r dm5vIDEgaG9zdC9sb2NhbGhvc3RAWFJPT1RELk9SRwotIAlrdGFkZCAtayBrcmI1LmtleXRhYiBo b3N0L2xvY2FsaG9zdAotIAlhZGRfcHJpbmNpcGFsIHhyb290ZEBYUk9PVEQuT1JHCi1AQCAtNTQs NyArNTQsNyBAQCBmdW5jdGlvbiBzZXR1cCgpIHsKLSAJRU9GCi0gCi0gCSMgRGlzcGxheSBLREMg ZGF0YWJhc2UgZW50cmllcwotLQlrZGI1X3V0aWwgdGFiZHVtcCAtbyAtIGtleWluZm8KLSsJL3Vz ci9zYmluL2tkYjVfdXRpbCB0YWJkdW1wIC1vIC0ga2V5aW5mbwotIAotIAkjIERpc3BsYXkgY29u dGVudHMgb2Ygc2VydmVyIGtleXRhYgotIAlrbGlzdCAta3RlIGtyYjUua2V5dGFiCi0tLSAKLTIu NTMuMAotCgpkaWZmIC0tZ2l0IGEvMDAwNS1GaXgtdHlwby1jb25lbnQtY29udGVudC5wYXRjaCBi LzAwMDUtRml4LXR5cG8tY29uZW50LWNvbnRlbnQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDMzMDdlYWQuLjAwMDAwMDAKLS0tIGEvMDAwNS1GaXgtdHlwby1jb25lbnQtY29u dGVudC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gMmM1YmUzMmNj N2FmZWQyYzNmNjdhMWJmYmMyNTg3N2Y1MjMzY2IxMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206IE1hdHRpYXMgRWxsZXJ0IDxtYXR0aWFzLmVsbGVydEBwaHlzaWNzLnV1LnNlPgotRGF0 ZTogTW9uLCAyMCBBcHIgMjAyNiAyMjowNDoyMyArMDIwMAotU3ViamVjdDogW1BBVENIIDUvNl0g PT9VVEYtOD9xP0ZpeD0yMHR5cG89MjBjb25lbnQ9MjA9RTI9ODY9OTI9MjBjb250ZW50Pz0KLU1J TUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgK LUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotLS0tCi0gc3JjL1hyZENsSHR0cC9Y cmRDbEh0dHBGaWxlLmNjIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwg MSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL1hyZENsSHR0cC9YcmRDbEh0dHBGaWxl LmNjIGIvc3JjL1hyZENsSHR0cC9YcmRDbEh0dHBGaWxlLmNjCi1pbmRleCAzYTE1NDcwZTguLjE5 NmU0ZDk5YyAxMDA2NDQKLS0tLSBhL3NyYy9YcmRDbEh0dHAvWHJkQ2xIdHRwRmlsZS5jYwotKysr IGIvc3JjL1hyZENsSHR0cC9YcmRDbEh0dHBGaWxlLmNjCi1AQCAtNTU3LDcgKzU1Nyw3IEBAIEZp bGU6OkZjbnRsKGNvbnN0IFhyZENsOjpCdWZmZXIgJmFyZywgWHJkQ2w6OlJlc3BvbnNlSGFuZGxl ciAqaGFuZGxlciwKLSAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgIH0KLSAgICAgICAg ICAgICBYcmRDbDo6QnVmZmVyICpyZXNwQnVmZiA9IG5ldyBYcmRDbDo6QnVmZmVyKCk7Ci0tICAg ICAgICAgICAgbV9sb2dnZXItPkRlYnVnKGtMb2dYcmRDbEh0dHAsICJGY250bCBjb25lbnQgJXMi LCB4YXR0LmR1bXAoKS5jX3N0cigpKTsKLSsgICAgICAgICAgICBtX2xvZ2dlci0+RGVidWcoa0xv Z1hyZENsSHR0cCwgIkZjbnRsIGNvbnRlbnQgJXMiLCB4YXR0LmR1bXAoKS5jX3N0cigpKTsKLSAg ICAgICAgICAgICByZXNwQnVmZi0+RnJvbVN0cmluZyh4YXR0LmR1bXAoKSk7Ci0gICAgICAgICAg ICAgb2JqLT5TZXQocmVzcEJ1ZmYpOwotICAgICAgICAgfQotLS0gCi0yLjUzLjAKLQoKZGlmZiAt LWdpdCBhLzAwMDYtQ2hhbmdlLWZpbGUtdG8tYXZvaWQtc2VkLWR1cmluZy1pbnN0YWxsLnBhdGNo IGIvMDAwNi1DaGFuZ2UtZmlsZS10by1hdm9pZC1zZWQtZHVyaW5nLWluc3RhbGwucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZhN2ZiMWYuLjAwMDAwMDAKLS0tIGEvMDAwNi1D aGFuZ2UtZmlsZS10by1hdm9pZC1zZWQtZHVyaW5nLWluc3RhbGwucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSwyNSArMCwwIEBACi1Gcm9tIDIxNjUyNmMzMmI4OTRhNWJhZDdiODU4OTdkZWNlZjcx MWYxMjEwMTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXR0aWFzIEVsbGVydCA8 bWF0dGlhcy5lbGxlcnRAcGh5c2ljcy51dS5zZT4KLURhdGU6IE1vbiwgMjAgQXByIDIwMjYgMjI6 NDI6MDYgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCA2LzZdIENoYW5nZSBmaWxlIHRvIGF2b2lkIHNl ZCBkdXJpbmcgaW5zdGFsbAotCi0tLS0KLSBjb25maWcveHJvb3RkLWh0dHAuY2ZnIHwgMiArLQot IDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0t Z2l0IGEvY29uZmlnL3hyb290ZC1odHRwLmNmZyBiL2NvbmZpZy94cm9vdGQtaHR0cC5jZmcKLWlu ZGV4IGNiNzA3YmY4NC4uMzQxZjMzMTZjIDEwMDY0NAotLS0tIGEvY29uZmlnL3hyb290ZC1odHRw LmNmZwotKysrIGIvY29uZmlnL3hyb290ZC1odHRwLmNmZwotQEAgLTMzLDcgKzMzLDcgQEAgYWxs LnBpZHBhdGggL3J1bi94cm9vdGQKLSAjIEluIG9yZGVyIHRvIHN0YXJ0IHRoZSB4cmRodHRwLnNv Y2tldCBydW46Ci0gIwlzeXN0ZW1jdGwgc3RhcnQgeHJkaHR0cEBodHRwLnNvY2tldAotICMKLS14 cmQucHJvdG9jb2wgWHJkSHR0cDo4MCAvdXNyL2xpYjY0L2xpYlhyZEh0dHAuc28KLSt4cmQucHJv dG9jb2wgWHJkSHR0cDo4MCBsaWJYcmRIdHRwLnNvCi0gIyBNb3JlIGNvbmZpZ3VyYXRpb24gZmls ZXMgY2FuIGJlIGFkZGVkIGluIC9ldGMveHJvb3RkL2NvbmZpZy5kLwotICMgRm9yIGV4YW1wbGUg L2V0Yy94cm9vdGQvY29uZmlnLmQvMTAtbXlncmlkLmNmZyBhbmQKLSAjIC9ldGMveHJvb3RkL2Nv bmZpZy5kLzk4LW15c2l0ZS1zcGVjaWZpY3MuY2ZnCi0tLSAKLTIuNTMuMAotCgpkaWZmIC0tZ2l0 IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggYTBkNjEyYy4uOGMyY2I3MSAxMDA2NDQKLS0tIGEv c291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xICsxIEBACi1TSEE1MTIgKHhyb290ZC02LjAuMC50 YXIuZ3opID0gMWZhYzI0YzU2NDY0ZTc2YzEwNGRlYWJjZWYwYTg5MTBkYmRjMThmNjJkOTMyNzVi ZjEwNDgxNDJiZWIwNDUzZTA1YWVjZGRhYWY0MWFiZTlkMTgzYzliYWZiMDE1MDY3OTk0YTE1YWUw ZmZlZWNkYzI4NzU2MjY3OTFkNzY5MDUKK1NIQTUxMiAoeHJvb3RkLTYuMC4yLnRhci5neikgPSAy OWZlMDEzOGIwNmUwMzIxMGVjZTljMzEzMDc4NTk2NzAxNmYxZTA3NmJlODg4YzFmMzE0N2U4Yzlh ZGU3ZTUwNmViMjA0NzM2NGM3NmYyNTFiYmFlM2JmOGEwNjdhYmMxNmY2OTI5YzNkOGU3ZjYxNWVl NDFjOGY2ZjhhODI2MwoKZGlmZiAtLWdpdCBhL3hyb290ZC5zcGVjIGIveHJvb3RkLnNwZWMKaW5k ZXggNzhhNjg5ZC4uODhmMTI4YSAxMDA2NDQKLS0tIGEveHJvb3RkLnNwZWMKKysrIGIveHJvb3Rk LnNwZWMKQEAgLTEzLDIzICsxMywyMyBAQAogCiBOYW1lOgkJeHJvb3RkCiBFcG9jaDoJCTEKLVZl cnNpb246CTYuMC4wCitWZXJzaW9uOgk2LjAuMgogUmVsZWFzZToJMSV7P2Rpc3R9CiBTdW1tYXJ5 OglFeHRlbmRlZCBST09UIGZpbGUgc2VydmVyCi1MaWNlbnNlOglMR1BMLTMuMC1vci1sYXRlciBB TkQgQlNELTItQ2xhdXNlIEFORCBCU0QtMy1DbGF1c2UgQU5EIGN1cmwgQU5EIE1JVCBBTkQgWmxp YgorTGljZW5zZToJTEdQTC0zLjAtb3ItbGF0ZXIgQU5EIEJTRC0yLUNsYXVzZSBBTkQgQlNELTMt Q2xhdXNlIEFORCBjdXJsIEFORCBNSVQgQU5EIFpsaWIgQU5EIEFwYWNoZS0yLjAgQU5EIE1QTC0y LjAKIFVSTDoJCWh0dHBzOi8veHJvb3RkLndlYi5jZXJuLmNoCiBTb3VyY2UwOgkle3VybH0vZG93 bmxvYWQvdiV7dmVyc2lvbn0vJXtuYW1lfS0le3ZlcnNpb259LnRhci5negogU291cmNlMToJJXtu YW1lfS1zeXN1c2Vycy5jb25mCiAKLSMJCWh0dHBzOi8vZ2l0aHViLmNvbS94cm9vdGQveHJvb3Rk L3B1bGwvMjc2OQotUGF0Y2gwOgkJMDAwMS1BZGQtaW5jbHVkZS1YcmRTeXMtWHJkU3lzUGxhdGZv cm0uaGgtZm9yLU1BWFBBVEhMRU4ucGF0Y2gKLVBhdGNoMToJCTAwMDItQWRkLWNhdGNoLWFsbC13 b3JrLWFyb3VuZC1mb3ItbWlzc2luZy1nZXR0aWQucGF0Y2gKLVBhdGNoMjoJCTAwMDMtQWxzby1j aGVjay1mb3ItR05VLWluLXN0YXR4LnBhdGNoCi1QYXRjaDM6CQkwMDA0LUZpeC1rZXJiZXJvcy10 ZXN0cy13aGVuLXVzci1zYmluLWlzLW5vdC1pbi1QQVRILnBhdGNoCi1QYXRjaDQ6CQkwMDA1LUZp eC10eXBvLWNvbmVudC1jb250ZW50LnBhdGNoCi1QYXRjaDU6CQkwMDA2LUNoYW5nZS1maWxlLXRv LWF2b2lkLXNlZC1kdXJpbmctaW5zdGFsbC5wYXRjaAogIwkJVW5idW5kbGUgdGlueXhtbCBsaWJy YXJ5Ci1QYXRjaDY6CQkwMDAxLVVuYnVuZGxlLXRpbnl4bWwucGF0Y2gKK1BhdGNoMDoJCTAwMDEt VW5idW5kbGUtdGlueXhtbC5wYXRjaAorIwkJQWRhcHQgdG8gT3BlblNTTCA0CisjCQlodHRwczov L2dpdGh1Yi5jb20veHJvb3RkL3hyb290ZC9wdWxsLzI4MDIKK1BhdGNoMToJCTAwMDEtWHJkQ3J5 cHRvLVhyZFRscy1YcmRWb21zLUFkYXB0LXRvLU9wZW5TU0wtNC4wLnBhdGNoCitQYXRjaDI6CQkw MDAyLVhyZENyeXB0by1QcmVzZXJ2ZS1BQkkucGF0Y2gKKyMJCUJhY2twb3J0IGZpeCBmcm9tIHVw c3RyZWFtCisjCQlodHRwczovL2dpdGh1Yi5jb20veHJvb3RkL3hyb290ZC9wdWxsLzI3OTkKK1Bh dGNoMzoJCTAwMDEtWHJkQ2xIdHRwLUZpeC1idWctcHJldmVudGluZy10aGUtY29uZmlndXJhdGlv bi1vZi10aC5wYXRjaAogCiBCdWlsZFJlcXVpcmVzOgljbWFrZQogQnVpbGRSZXF1aXJlczoJZ2Nj LWMrKwpAQCAtMjQxLDYgKzI0MSw3IEBAIGEgc3Vic2V0IG9mIHRoZSBuYW1lc3BhY2UgdG8gYW4g ZXh0ZXJuYWwgaXNzdWVyLgogJXBhY2thZ2UgY2VwaAogU3VtbWFyeToJWFJvb3REIHBsdWdpbiBm b3IgaW50ZXJmYWNpbmcgd2l0aCB0aGUgQ2VwaCBzdG9yYWdlIHBsYXRmb3JtCiBSZXF1aXJlczoJ JXtuYW1lfS1saWJzJXs/X2lzYX0gPSAle2Vwb2NofTole3ZlcnNpb259LSV7cmVsZWFzZX0KK1Jl cXVpcmVzOgkle25hbWV9LXNlcnZlci1saWJzJXs/X2lzYX0gPSAle2Vwb2NofTole3ZlcnNpb259 LSV7cmVsZWFzZX0KIAogJWRlc2NyaXB0aW9uIGNlcGgKIFRoZSB4cm9vdGQtY2VwaCBpcyBhbiBP U1MgbGF5ZXIgcGx1Z2luIGZvciB0aGUgWFJvb3REIHNlcnZlciBmb3IKQEAgLTI3MCw5ICsyNzEs NiBAQCBUaGlzIHBhY2thZ2UgY29udGFpbnMgdGhlIEFQSSBkb2N1bWVudGF0aW9uIG9mIHRoZSB4 cm9vdGQgbGlicmFyaWVzLgogJXBhdGNoIC1QMSAtcDEKICVwYXRjaCAtUDIgLXAxCiAlcGF0Y2gg LVAzIC1wMQotJXBhdGNoIC1QNCAtcDEKLSVwYXRjaCAtUDUgLXAxCi0lcGF0Y2ggLVA2IC1wMQog CiAlYnVpbGQKICVjbWFrZSBcCkBAIC00MDgsMjggKzQwNiwxNCBAQCBkb25lCiAKIHRvdWNoIHRl c3RmaWxlCiBpZiAoIHNldGZhdHRyIC1uIHVzZXIudGVzdGF0dHIgLXYgdGVzdHZhbHVlIHRlc3Rm aWxlICkgOyB0aGVuCi0gICAgJWN0ZXN0IC0tIC1FIFhSb290RDo6YmFkcmVkaXIKKyVpZmFyY2gg JXtpeDg2fSAle2FybX0KKyAgICAlY3Rlc3QgLS0gLUUgJ1hSb290RDo6YmFkcmVkaXJ8WFJvb3RE Ojpwb3NpeCcKKyVlbHNlCisgICAgJWN0ZXN0IC0tIC1FICdYUm9vdEQ6OmJhZHJlZGlyJworJWVu ZGlmCiBlbHNlCiAgICAgZWNobyAiRXh0ZW5kZWQgZmlsZSBhdHRyaWJ1dGVzIG5vdCBzdXBwb3J0 ZWQgYnkgZmlsZSBzeXN0ZW0iCi0gICAgZWNobyAiRG9uJ3QgcnVuIHRlc3RzIHRoYXQgcmVxdWly ZSB0aGVtIgotICAgIGV4Y2x1ZGU9IlwKLVhyZENsOjpGaWxlQ29weVRlc3R8XAotWHJkQ2w6OkZp bGVTeXN0ZW1UZXN0LlBsdWdJblRlc3R8XAotWHJkQ2w6OkZpbGVTeXN0ZW1UZXN0LlNlcnZlclF1 ZXJ5VGVzdHxcCi1YcmRDbDo6RmlsZVN5c3RlbVRlc3QuWEF0dHJUZXN0fFwKLVhyZENsOjpGaWxl VGVzdC5YQXR0clRlc3R8XAotWHJkQ2w6OkxvY2FsRmlsZUhhbmRsZXJUZXN0LlhBdHRyVGVzdHxc Ci1YcmRDbDo6VGhyZWFkaW5nVGVzdHxcCi1YcmRDbDo6V29ya2Zsb3dUZXN0LkNoZWNrcG9pbnRU ZXN0fFwKLVhyZENsOjpXb3JrZmxvd1Rlc3QuWEF0dHJXb3JrZmxvd1Rlc3R8XAotWHJkRWM6Olhy ZEVjVGVzdHN8XAotWFJvb3REOjphdXRoZW50aWNhdGVkX2NsdXN0ZXI6OnRlc3R8XAotWFJvb3RE OjpiYWRyZWRpcnxcCi1YUm9vdEQ6OmNsdXN0ZXI6OnRlc3R8XAotWFJvb3REOjpodHRwOjp0ZXN0 fFwKLVhSb290RDo6cG9zaXg6OnRlc3R8XAotWFJvb3REOjp0cGM6OnRlc3QiCi0gICAgJWN0ZXN0 IC0tIC1FICRleGNsdWRlCisgICAgZWNobyAiKioqIE5PVCBSVU5OSU5HIFRFU1RTICoqKiIKIGZp CiBybSB0ZXN0ZmlsZQogCkBAIC02ODEsNiArNjY1LDExIEBAIGZpCiAlZG9jICV7X3BrZ2RvY2Rp cn0KIAogJWNoYW5nZWxvZworKiBUaHUgTWF5IDIxIDIwMjYgTWF0dGlhcyBFbGxlcnQgPG1hdHRp YXMuZWxsZXJ0QHBoeXNpY3MudXUuc2U+IC0gMTo2LjAuMi0xCistIFVwZGF0ZSB0byB2ZXJzaW9u IDYuMC4yCistIEFkYXB0IHRvIE9wZW5TU0wgNC4wCistIERyb3AgcGF0Y2hlcyBhY2NlcHRlZCB1 cHN0cmVhbQorCiAqIFNhdCBBcHIgMTEgMjAyNiBNYXR0aWFzIEVsbGVydCA8bWF0dGlhcy5lbGxl cnRAcGh5c2ljcy51dS5zZT4gLSAxOjYuMC4wLTEKIC0gVXBkYXRlIHRvIHZlcnNpb24gNi4wLjAK IAo=