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: Jakub Jelinek To: git-commits@fedoraproject.org Subject: [rpms/gcc] rhel-f41-base: 4.1.2-29 Date: Mon, 29 Jun 2026 12:23:27 GMT Message-ID: <178273580792.1.4577231113282204356.rpms-gcc-44d66d10ce52@fedoraproject.org> List-ID: X-Git-Repo: rpms/gcc X-Git-Branch: rhel-f41-base X-Git-Rev: 44d66d10ce52a2aee3cbef0a361a33af32c5b8b7 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2NjCkJyYW5jaCA6 IHJoZWwtZjQxLWJhc2UKQ29tbWl0IDogNDRkNjZkMTBjZTUyYTJhZWUzY2JlZjBhMzYxYTMzYWYz MmM1YjhiNwpBdXRob3IgOiBKYWt1YiBKZWxpbmVrIDxqYWt1YkBmZWRvcmFwcm9qZWN0Lm9yZz4K RGF0ZSAgIDogMjAwNy0wOS0yOFQyMToyNzowNiswMDowMApTdGF0cyAgOiArNzY1Ly0xIGluIDIg ZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2djYy9j LzQ0ZDY2ZDEwY2U1MmEyYWVlM2NiZWYwYTM2MWEzM2FmMzJjNWI4Yjc/YnJhbmNoPXJoZWwtZjQx LWJhc2UKCkxvZzoKNC4xLjItMjkKCi0tLQpkaWZmIC0tZ2l0IGEvZ2NjNDEtdmlydHVhbC1pbmxp bmUtYmFja3RyYWNlLnBhdGNoIGIvZ2NjNDEtdmlydHVhbC1pbmxpbmUtYmFja3RyYWNlLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyMTVmN2MKLS0tIC9kZXYvbnVs bAorKysgYi9nY2M0MS12aXJ0dWFsLWlubGluZS1iYWNrdHJhY2UucGF0Y2gKQEAgLTAsMCArMSw3 NTggQEAKKzIwMDctMDktMjcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgorCisJ KiBidWlsdGlucy5jIChleHBhbmRfYnVpbHRpbiwgZXhwYW5kX2J1aWx0aW5fb2JqZWN0X3NpemUs CisJZXhwYW5kX2J1aWx0aW5fbWVtb3J5X2NoaywgbWF5YmVfZW1pdF9jaGtfd2FybmluZywKKwlt YXliZV9lbWl0X3NwcmludGZfY2hrX3dhcm5pbmcpOiBVc2UgbmV3ICVLIGZvcm1hdCBzdHJpbmcg c3BlY2lmaWVyCisJZm9yIGRpYWdub3N0aWNzLgorCSogZXhwci5jIChleHBhbmRfZXhwcl9yZWFs XzEpOiBMaWtld2lzZS4KKwkqIGxhbmdob29rcy1kZWYuaCAoc3RydWN0IGRpYWdub3N0aWNfaW5m byk6IEFkZCBmb3J3YXJkIGRlY2wuCisJKGxoZF9wcmludF9lcnJvcl9mdW5jdGlvbik6IEFkZCB0 aGlyZCBhcmd1bWVudC4KKwkqIGxhbmdob29rcy5oIChzdHJ1Y3QgZGlhZ25vc3RpY19pbmZvKTog QWRkIGZvcndhcmQgZGVjbC4KKwkoc3RydWN0IGxhbmdfaG9va3MpOiBBZGQgdGhpcmQgYXJndW1l bnQgdG8gcHJpbnRfZXJyb3JfZnVuY3Rpb24uCisJKiBkaWFnbm9zdGljLmggKGRpYWdub3N0aWNf aW5mbyk6IEFkZCBhYnN0cmFjdF9vcmlnaW4gZmllbGQuCisJKGRpYWdub3N0aWNfbGFzdF9mdW5j dGlvbl9jaGFuZ2VkLCBkaWFnbm9zdGljX3NldF9sYXN0X2Z1bmN0aW9uKTogQWRkCisJc2Vjb25k IGFyZ3VtZW50LgorCShkaWFnbm9zdGljX3JlcG9ydF9jdXJyZW50X2Z1bmN0aW9uKTogTGlrZXdp c2UuCisJKiB0b3BsZXYuYyAoYW5ub3VuY2VfZnVuY3Rpb24pOiBQYXNzIE5VTEwgYXMgc2Vjb25k IGFyZ3VtZW50IHRvCisJZGlhZ25vc3RpY19zZXRfbGFzdF9mdW5jdGlvbi4KKwkqIGRpYWdub3N0 aWMuYyAoZGlhZ25vc3RpY19yZXBvcnRfY3VycmVudF9mdW5jdGlvbik6IEFkZCBzZWNvbmQKKwlh cmd1bWVudCwgcGFzcyBpdCBhcyB0aGlyZCBhcmd1bWVudCB0byBsYW5nX2hvb2tzLnByaW50X2Vy cm9yX2Z1bmN0aW9uLgorCShkZWZhdWx0X2RpYWdub3N0aWNfc3RhcnRlcik6IFBhc3MgRElBR05P U1RJQyBhcyBzZWNvbmQgYXJndW1lbnQKKwl0byBkaWFnbm9zdGljX3JlcG9ydF9jdXJyZW50X2Z1 bmN0aW9uLgorCShkaWFnbm9zdGljX3JlcG9ydF9kaWFnbm9zdGljKTogSW5pdGlhbGl6ZSBkaWFn bm9zdGljLT5hYnN0cmFjdF9vcmlnaW4KKwlhbmQgbWVzc2FnZS5hYnN0cmFjdF9vcmlnaW4uCisJ KHZlcmJhdGltKTogSW5pdGlhbGl6ZSBhYnN0cmFjdF9vcmlnaW4uCisJKiBwcmV0dHktcHJpbnQu aCAodGV4dF9pbmZvKTogQWRkIGFic3RyYWN0X29yaWdpbiBmaWVsZC4KKwkqIHByZXR0eS1wcmlu dC5jIChwcF9iYXNlX2Zvcm1hdCk6IEhhbmRsZSAlSy4KKwkqIGxhbmdob29rcy5jIChsaGRfcHJp bnRfZXJyb3JfZnVuY3Rpb24pOiBBZGQgdGhpcmQgYXJndW1lbnQuICBJZgorCWRpYWdub3N0aWMt PmFic3RyYWN0X29yaWdpbiwgcHJpbnQgdmlydHVhbCBiYWNrdHJhY2UuCisJKiBjLWZvcm1hdC5j IChnY2NfZGlhZ19jaGFyX3RhYmxlLCBnY2NfdGRpYWdfY2hhcl90YWJsZSwKKwlnY2NfY2RpYWdf Y2hhcl90YWJsZSwgZ2NjX2N4eGRpYWdfY2hhcl90YWJsZSk6IFN1cHBvcnQgJUsuCisJKGluaXRf ZHluYW1pY19kaWFnX2luZm8pOiBMaWtld2lzZS4KK2NwLworCSogZXJyb3IuYyAoY3h4X3ByaW50 X2Vycm9yX2Z1bmN0aW9uKTogQWRkIHRoaXJkIGFyZ3VtZW50LCBwYXNzCisJaXQgb3ZlciB0byBs aGRfcHJpbnRfZXJyb3JfZnVuY3Rpb24uCisJKGNwX3ByaW50X2Vycm9yX2Z1bmN0aW9uKTogSWYg ZGlhZ25vc3RpYy0+YWJzdHJhY3Rfb3JpZ2luLCBwcmludAorCXZpcnR1YWwgYmFja3RyYWNlLgor CSogY3AtdHJlZS5oIChzdHJ1Y3QgZGlhZ25vc3RpY19pbmZvKTogTmV3IGZvcndhcmQgZGVjbC4K KwkoY3h4X3ByaW50X2Vycm9yX2Z1bmN0aW9uKTogQWRkIHRoaXJkIGFyZ3VtZW50LgordGVzdHN1 aXRlLworCSogbGliL3BydW5lLmV4cDogUHJ1bmUgYWxzbyAiXkluIGZ1bmN0aW9uIC4qJCIgbGlu ZXMgYW5kCisJIl4gICAgaW5saW5lZCBmcm9tIC4qJCIgbGluZXMuCitqYXZhLworCSogbGFuZy5j IChqYXZhX3ByaW50X2Vycm9yX2Z1bmN0aW9uKTogQWRkIHRoaXJkIGFyZ3VtZW50LgorCistLS0g Z2NjL2phdmEvbGFuZy5jLmpqCTIwMDctMDItMjAgMjI6MzU6MDkuMDAwMDAwMDAwICswMTAwCisr KysgZ2NjL2phdmEvbGFuZy5jCTIwMDctMDktMjggMjI6NDc6MzguMDAwMDAwMDAwICswMjAwCitA QCAtNTUsNyArNTUsOCBAQCBzdGF0aWMgYm9vbCBqYXZhX3Bvc3Rfb3B0aW9ucyAoY29uc3QgY2hh Cisgc3RhdGljIGludCBqYXZhX2hhbmRsZV9vcHRpb24gKHNpemVfdCBzY29kZSwgY29uc3QgY2hh ciAqYXJnLCBpbnQgdmFsdWUpOworIHN0YXRpYyB2b2lkIHB1dF9kZWNsX3N0cmluZyAoY29uc3Qg Y2hhciAqLCBpbnQpOworIHN0YXRpYyB2b2lkIHB1dF9kZWNsX25vZGUgKHRyZWUpOworLXN0YXRp YyB2b2lkIGphdmFfcHJpbnRfZXJyb3JfZnVuY3Rpb24gKGRpYWdub3N0aWNfY29udGV4dCAqLCBj b25zdCBjaGFyICopOworK3N0YXRpYyB2b2lkIGphdmFfcHJpbnRfZXJyb3JfZnVuY3Rpb24gKGRp YWdub3N0aWNfY29udGV4dCAqLCBjb25zdCBjaGFyICosCisrCQkJCSAgICAgICBkaWFnbm9zdGlj X2luZm8gKik7Cisgc3RhdGljIHRyZWUgamF2YV90cmVlX2lubGluaW5nX3dhbGtfc3VidHJlZXMg KHRyZWUgKiwgaW50ICosIHdhbGtfdHJlZV9mbiwKKyAJCQkJCSAgICAgIHZvaWQgKiwgc3RydWN0 IHBvaW50ZXJfc2V0X3QgKik7Cisgc3RhdGljIGludCBtZXJnZV9pbml0X3Rlc3RfaW5pdGlhbGl6 YXRpb24gKHZvaWQgKiAqLCB2b2lkICopOworQEAgLTUxMSw3ICs1MTIsOCBAQCBzdGF0aWMgR1RZ KCgpKSB0cmVlIGxhc3RfZXJyb3JfZnVuY3Rpb25fCisgc3RhdGljIEdUWSgoKSkgdHJlZSBsYXN0 X2Vycm9yX2Z1bmN0aW9uOworIHN0YXRpYyB2b2lkCisgamF2YV9wcmludF9lcnJvcl9mdW5jdGlv biAoZGlhZ25vc3RpY19jb250ZXh0ICpjb250ZXh0IEFUVFJJQlVURV9VTlVTRUQsCistCQkJICAg Y29uc3QgY2hhciAqZmlsZSkKKysJCQkgICBjb25zdCBjaGFyICpmaWxlLAorKwkJCSAgIGRpYWdu b3N0aWNfaW5mbyAqZGlhZ25vc3RpYyBBVFRSSUJVVEVfVU5VU0VEKQorIHsKKyAgIC8qIERvbid0 IHByaW50IGVycm9yIG1lc3NhZ2VzIHdpdGggYm9ndXMgZnVuY3Rpb24gcHJvdG90eXBlcy4gICov CisgICBpZiAoaW5oaWJpdF9lcnJvcl9mdW5jdGlvbl9wcmludGluZykKKy0tLSBnY2MvZGlhZ25v c3RpYy5jLmpqCTIwMDctMDItMjAgMjI6Mzk6MTIuMDAwMDAwMDAwICswMTAwCisrKysgZ2NjL2Rp YWdub3N0aWMuYwkyMDA3LTA5LTI4IDIyOjQ1OjE5LjAwMDAwMDAwMCArMDIwMAorQEAgLTI3Miwx MCArMjcyLDExIEBAIGRpYWdub3N0aWNfYWN0aW9uX2FmdGVyX291dHB1dCAoZGlhZ25vc3QKKyAv KiBQcmludHMgb3V0LCBpZiBuZWNlc3NhcnksIHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IGZ1bmN0 aW9uCisgICAgdGhhdCBjYXVzZWQgYW4gZXJyb3IuICBDYWxsZWQgZnJvbSBhbGwgZXJyb3IgYW5k IHdhcm5pbmcgZnVuY3Rpb25zLiAgKi8KKyB2b2lkCistZGlhZ25vc3RpY19yZXBvcnRfY3VycmVu dF9mdW5jdGlvbiAoZGlhZ25vc3RpY19jb250ZXh0ICpjb250ZXh0KQorK2RpYWdub3N0aWNfcmVw b3J0X2N1cnJlbnRfZnVuY3Rpb24gKGRpYWdub3N0aWNfY29udGV4dCAqY29udGV4dCwKKysJCQkJ ICAgIGRpYWdub3N0aWNfaW5mbyAqZGlhZ25vc3RpYykKKyB7CisgICBkaWFnbm9zdGljX3JlcG9y dF9jdXJyZW50X21vZHVsZSAoY29udGV4dCk7CistICBsYW5nX2hvb2tzLnByaW50X2Vycm9yX2Z1 bmN0aW9uIChjb250ZXh0LCBpbnB1dF9maWxlbmFtZSk7CisrICBsYW5nX2hvb2tzLnByaW50X2Vy cm9yX2Z1bmN0aW9uIChjb250ZXh0LCBpbnB1dF9maWxlbmFtZSwgZGlhZ25vc3RpYyk7CisgfQor IAorIHZvaWQKK0BAIC0zMTMsNyArMzE0LDcgQEAgc3RhdGljIHZvaWQKKyBkZWZhdWx0X2RpYWdu b3N0aWNfc3RhcnRlciAoZGlhZ25vc3RpY19jb250ZXh0ICpjb250ZXh0LAorIAkJCSAgICBkaWFn bm9zdGljX2luZm8gKmRpYWdub3N0aWMpCisgeworLSAgZGlhZ25vc3RpY19yZXBvcnRfY3VycmVu dF9mdW5jdGlvbiAoY29udGV4dCk7CisrICBkaWFnbm9zdGljX3JlcG9ydF9jdXJyZW50X2Z1bmN0 aW9uIChjb250ZXh0LCBkaWFnbm9zdGljKTsKKyAgIHBwX3NldF9wcmVmaXggKGNvbnRleHQtPnBy aW50ZXIsIGRpYWdub3N0aWNfYnVpbGRfcHJlZml4IChkaWFnbm9zdGljKSk7CisgfQorIAorQEAg LTM2MSw2ICszNjIsOCBAQCBkaWFnbm9zdGljX3JlcG9ydF9kaWFnbm9zdGljIChkaWFnbm9zdGlj CisgCQkgICAgICAiIFsiLCBjbF9vcHRpb25zW2RpYWdub3N0aWMtPm9wdGlvbl9pbmRleF0ub3B0 X3RleHQsICJdIiwgTlVMTCkpOworIAorICAgICAgIGRpYWdub3N0aWMtPm1lc3NhZ2UubG9jdXMg PSAmZGlhZ25vc3RpYy0+bG9jYXRpb247CisrICAgICAgZGlhZ25vc3RpYy0+bWVzc2FnZS5hYnN0 cmFjdF9vcmlnaW4gPSAmZGlhZ25vc3RpYy0+YWJzdHJhY3Rfb3JpZ2luOworKyAgICAgIGRpYWdu b3N0aWMtPmFic3RyYWN0X29yaWdpbiA9IE5VTEw7CisgICAgICAgcHBfZm9ybWF0IChjb250ZXh0 LT5wcmludGVyLCAmZGlhZ25vc3RpYy0+bWVzc2FnZSk7CisgICAgICAgKCpkaWFnbm9zdGljX3N0 YXJ0ZXIgKGNvbnRleHQpKSAoY29udGV4dCwgZGlhZ25vc3RpYyk7CisgICAgICAgcHBfb3V0cHV0 X2Zvcm1hdHRlZF90ZXh0IChjb250ZXh0LT5wcmludGVyKTsKK0BAIC0zNjgsNiArMzcxLDcgQEAg ZGlhZ25vc3RpY19yZXBvcnRfZGlhZ25vc3RpYyAoZGlhZ25vc3RpYworICAgICAgIHBwX2ZsdXNo IChjb250ZXh0LT5wcmludGVyKTsKKyAgICAgICBkaWFnbm9zdGljX2FjdGlvbl9hZnRlcl9vdXRw dXQgKGNvbnRleHQsIGRpYWdub3N0aWMpOworICAgICAgIGRpYWdub3N0aWMtPm1lc3NhZ2UuZm9y bWF0X3NwZWMgPSBzYXZlZF9mb3JtYXRfc3BlYzsKKysgICAgICBkaWFnbm9zdGljLT5hYnN0cmFj dF9vcmlnaW4gPSBOVUxMOworICAgICB9CisgCisgICBjb250ZXh0LT5sb2NrLS07CitAQCAtNDE5 LDYgKzQyMyw3IEBAIHZlcmJhdGltIChjb25zdCBjaGFyICpnbXNnaWQsIC4uLikKKyAgIHRleHQu YXJnc19wdHIgPSAmYXA7CisgICB0ZXh0LmZvcm1hdF9zcGVjID0gXyhnbXNnaWQpOworICAgdGV4 dC5sb2N1cyA9IE5VTEw7CisrICB0ZXh0LmFic3RyYWN0X29yaWdpbiA9IE5VTEw7CisgICBwcF9m b3JtYXRfdmVyYmF0aW0gKGdsb2JhbF9kYy0+cHJpbnRlciwgJnRleHQpOworICAgcHBfZmx1c2gg KGdsb2JhbF9kYy0+cHJpbnRlcik7CisgICB2YV9lbmQgKGFwKTsKKy0tLSBnY2MvYnVpbHRpbnMu Yy5qagkyMDA3LTA5LTI1IDEyOjI2OjUwLjAwMDAwMDAwMCArMDIwMAorKysrIGdjYy9idWlsdGlu cy5jCTIwMDctMDktMjggMjI6NDc6MDAuMDAwMDAwMDAwICswMjAwCitAQCAtNTk4MiwxMyArNTk4 MiwxMyBAQCBleHBhbmRfYnVpbHRpbiAodHJlZSBleHAsIHJ0eCB0YXJnZXQsIHJ0CisgICAgIGNh c2UgQlVJTFRfSU5fVkFfQVJHX1BBQ0s6CisgICAgICAgLyogQWxsIHZhbGlkIHVzZXMgb2YgX19i dWlsdGluX3ZhX2FyZ19wYWNrICgpIGFyZSByZW1vdmVkIGR1cmluZworIAkgaW5saW5pbmcuICAq LworLSAgICAgIGVycm9yICgiaW52YWxpZCB1c2Ugb2YgJTxfX2J1aWx0aW5fdmFfYXJnX3BhY2sg KCklPiIpOworKyAgICAgIGVycm9yICgiJUtpbnZhbGlkIHVzZSBvZiAlPF9fYnVpbHRpbl92YV9h cmdfcGFjayAoKSU+IiwgZXhwKTsKKyAgICAgICByZXR1cm4gY29uc3QwX3J0eDsKKyAKKyAgICAg Y2FzZSBCVUlMVF9JTl9WQV9BUkdfUEFDS19MRU46CisgICAgICAgLyogQWxsIHZhbGlkIHVzZXMg b2YgX19idWlsdGluX3ZhX2FyZ19wYWNrX2xlbiAoKSBhcmUgcmVtb3ZlZCBkdXJpbmcKKyAJIGlu bGluaW5nLiAgKi8KKy0gICAgICBlcnJvciAoImludmFsaWQgdXNlIG9mICU8X19idWlsdGluX3Zh X2FyZ19wYWNrX2xlbiAoKSU+Iik7CisrICAgICAgZXJyb3IgKCIlS2ludmFsaWQgdXNlIG9mICU8 X19idWlsdGluX3ZhX2FyZ19wYWNrX2xlbiAoKSU+IiwgZXhwKTsKKyAgICAgICByZXR1cm4gY29u c3QwX3J0eDsKKyAKKyAgICAgICAvKiBSZXR1cm4gdGhlIGFkZHJlc3Mgb2YgdGhlIGZpcnN0IGFu b255bW91cyBzdGFjayBhcmcuICAqLworQEAgLTEwMjg2LDEyICsxMDI4NiwxMSBAQCBleHBhbmRf YnVpbHRpbl9vYmplY3Rfc2l6ZSAodHJlZSBleHApCisgICBpbnQgb2JqZWN0X3NpemVfdHlwZTsK KyAgIHRyZWUgZm5kZWNsID0gZ2V0X2NhbGxlZV9mbmRlY2wgKGV4cCk7CisgICB0cmVlIGFyZ2xp c3QgPSBUUkVFX09QRVJBTkQgKGV4cCwgMSk7CistICBsb2NhdGlvbl90IGxvY3VzID0gRVhQUl9M T0NBVElPTiAoZXhwKTsKKyAKKyAgIGlmICghdmFsaWRhdGVfYXJnbGlzdCAoYXJnbGlzdCwgUE9J TlRFUl9UWVBFLCBJTlRFR0VSX1RZUEUsIFZPSURfVFlQRSkpCisgICAgIHsKKy0gICAgICBlcnJv ciAoIiVIZmlyc3QgYXJndW1lbnQgb2YgJUQgbXVzdCBiZSBhIHBvaW50ZXIsIHNlY29uZCBpbnRl Z2VyIGNvbnN0YW50IiwKKy0JICAgICAmbG9jdXMsIGZuZGVjbCk7CisrICAgICAgZXJyb3IgKCIl S2ZpcnN0IGFyZ3VtZW50IG9mICVEIG11c3QgYmUgYSBwb2ludGVyLCBzZWNvbmQgaW50ZWdlciBj b25zdGFudCIsCisrCSAgICAgZXhwLCBmbmRlY2wpOworICAgICAgIGV4cGFuZF9idWlsdGluX3Ry YXAgKCk7CisgICAgICAgcmV0dXJuIGNvbnN0MF9ydHg7CisgICAgIH0KK0BAIC0xMDMwMyw4ICsx MDMwMiw4IEBAIGV4cGFuZF9idWlsdGluX29iamVjdF9zaXplICh0cmVlIGV4cCkKKyAgICAgICB8 fCB0cmVlX2ludF9jc3Rfc2duIChvc3QpIDwgMAorICAgICAgIHx8IGNvbXBhcmVfdHJlZV9pbnQg KG9zdCwgMykgPiAwKQorICAgICB7CistICAgICAgZXJyb3IgKCIlSGxhc3QgYXJndW1lbnQgb2Yg JUQgaXMgbm90IGludGVnZXIgY29uc3RhbnQgYmV0d2VlbiAwIGFuZCAzIiwKKy0JICAgICAmbG9j dXMsIGZuZGVjbCk7CisrICAgICAgZXJyb3IgKCIlS2xhc3QgYXJndW1lbnQgb2YgJUQgaXMgbm90 IGludGVnZXIgY29uc3RhbnQgYmV0d2VlbiAwIGFuZCAzIiwKKysJICAgICBleHAsIGZuZGVjbCk7 CisgICAgICAgZXhwYW5kX2J1aWx0aW5fdHJhcCAoKTsKKyAgICAgICByZXR1cm4gY29uc3QwX3J0 eDsKKyAgICAgfQorQEAgLTEwMzQ4LDkgKzEwMzQ3LDggQEAgZXhwYW5kX2J1aWx0aW5fbWVtb3J5 X2NoayAodHJlZSBleHAsIHJ0eAorIAorICAgICAgIGlmICghIGludGVnZXJfYWxsX29uZXNwIChz aXplKSAmJiB0cmVlX2ludF9jc3RfbHQgKHNpemUsIGxlbikpCisgCXsKKy0JICBsb2NhdGlvbl90 IGxvY3VzID0gRVhQUl9MT0NBVElPTiAoZXhwKTsKKy0JICB3YXJuaW5nICgwLCAiJUhjYWxsIHRv ICVEIHdpbGwgYWx3YXlzIG92ZXJmbG93IGRlc3RpbmF0aW9uIGJ1ZmZlciIsCistCQkgICAmbG9j dXMsIGdldF9jYWxsZWVfZm5kZWNsIChleHApKTsKKysJICB3YXJuaW5nICgwLCAiJUtjYWxsIHRv ICVEIHdpbGwgYWx3YXlzIG92ZXJmbG93IGRlc3RpbmF0aW9uIGJ1ZmZlciIsCisrCQkgICBleHAs IGdldF9jYWxsZWVfZm5kZWNsIChleHApKTsKKyAJICByZXR1cm4gMDsKKyAJfQorIAorQEAgLTEw NDYzLDcgKzEwNDYxLDYgQEAgbWF5YmVfZW1pdF9jaGtfd2FybmluZyAodHJlZSBleHAsIGVudW0g YgorICAgaW50IGFyZ19tYXNrLCBpc19zdHJsZW4gPSAwOworICAgdHJlZSBhcmdsaXN0ID0gVFJF RV9PUEVSQU5EIChleHAsIDEpLCBhOworICAgdHJlZSBsZW4sIHNpemU7CistICBsb2NhdGlvbl90 IGxvY3VzOworIAorICAgc3dpdGNoIChmY29kZSkKKyAgICAgeworQEAgLTEwNTI1LDkgKzEwNTIy LDggQEAgbWF5YmVfZW1pdF9jaGtfd2FybmluZyAodHJlZSBleHAsIGVudW0gYgorICAgICAgIHNy YyA9IGNfc3RybGVuIChzcmMsIDEpOworICAgICAgIGlmICghIHNyYyB8fCAhIGhvc3RfaW50ZWdl cnAgKHNyYywgMSkpCisgCXsKKy0JICBsb2N1cyA9IEVYUFJfTE9DQVRJT04gKGV4cCk7CistCSAg d2FybmluZyAoMCwgIiVIY2FsbCB0byAlRCBtaWdodCBvdmVyZmxvdyBkZXN0aW5hdGlvbiBidWZm ZXIiLAorLQkJICAgJmxvY3VzLCBnZXRfY2FsbGVlX2ZuZGVjbCAoZXhwKSk7CisrCSAgd2Fybmlu ZyAoMCwgIiVLY2FsbCB0byAlRCBtaWdodCBvdmVyZmxvdyBkZXN0aW5hdGlvbiBidWZmZXIiLAor KwkJICAgZXhwLCBnZXRfY2FsbGVlX2ZuZGVjbCAoZXhwKSk7CisgCSAgcmV0dXJuOworIAl9Cisg ICAgICAgZWxzZSBpZiAodHJlZV9pbnRfY3N0X2x0IChzcmMsIHNpemUpKQorQEAgLTEwNTM2LDkg KzEwNTMyLDggQEAgbWF5YmVfZW1pdF9jaGtfd2FybmluZyAodHJlZSBleHAsIGVudW0gYgorICAg ZWxzZSBpZiAoISBob3N0X2ludGVnZXJwIChsZW4sIDEpIHx8ICEgdHJlZV9pbnRfY3N0X2x0IChz aXplLCBsZW4pKQorICAgICByZXR1cm47CisgCistICBsb2N1cyA9IEVYUFJfTE9DQVRJT04gKGV4 cCk7CistICB3YXJuaW5nICgwLCAiJUhjYWxsIHRvICVEIHdpbGwgYWx3YXlzIG92ZXJmbG93IGRl c3RpbmF0aW9uIGJ1ZmZlciIsCistCSAgICZsb2N1cywgZ2V0X2NhbGxlZV9mbmRlY2wgKGV4cCkp OworKyAgd2FybmluZyAoMCwgIiVLY2FsbCB0byAlRCB3aWxsIGFsd2F5cyBvdmVyZmxvdyBkZXN0 aW5hdGlvbiBidWZmZXIiLAorKwkgICBleHAsIGdldF9jYWxsZWVfZm5kZWNsIChleHApKTsKKyB9 CisgCisgLyogRW1pdCB3YXJuaW5nIGlmIGEgYnVmZmVyIG92ZXJmbG93IGlzIGRldGVjdGVkIGF0 IGNvbXBpbGUgdGltZQorQEAgLTEwNjA0LDkgKzEwNTk5LDggQEAgbWF5YmVfZW1pdF9zcHJpbnRm X2Noa193YXJuaW5nICh0cmVlIGV4cAorIAorICAgaWYgKCEgdHJlZV9pbnRfY3N0X2x0IChsZW4s IHNpemUpKQorICAgICB7CistICAgICAgbG9jYXRpb25fdCBsb2N1cyA9IEVYUFJfTE9DQVRJT04g KGV4cCk7CistICAgICAgd2FybmluZyAoMCwgIiVIY2FsbCB0byAlRCB3aWxsIGFsd2F5cyBvdmVy ZmxvdyBkZXN0aW5hdGlvbiBidWZmZXIiLAorLQkgICAgICAgJmxvY3VzLCBnZXRfY2FsbGVlX2Zu ZGVjbCAoZXhwKSk7CisrICAgICAgd2FybmluZyAoMCwgIiVLY2FsbCB0byAlRCB3aWxsIGFsd2F5 cyBvdmVyZmxvdyBkZXN0aW5hdGlvbiBidWZmZXIiLAorKwkgICAgICAgZXhwLCBnZXRfY2FsbGVl X2ZuZGVjbCAoZXhwKSk7CisgICAgIH0KKyB9CisgCistLS0gZ2NjL2RpYWdub3N0aWMuaC5qagky MDA3LTAyLTIwIDIyOjM5OjEyLjAwMDAwMDAwMCArMDEwMAorKysrIGdjYy9kaWFnbm9zdGljLmgJ MjAwNy0wOS0yOCAyMjo0NTo1OC4wMDAwMDAwMDAgKzAyMDAKK0BAIC0zNywxMCArMzcsMTMgQEAg dHlwZWRlZiBlbnVtCisgLyogQSBkaWFnbm9zdGljIGlzIGRlc2NyaWJlZCBieSB0aGUgTUVTU0FH RSB0byBzZW5kLCB0aGUgRklMRSBhbmQgTElORSBvZgorICAgIGl0cyBjb250ZXh0IGFuZCBpdHMg S0lORCAoaWNlLCBlcnJvciwgd2FybmluZywgbm90ZSwgLi4uKSAgU2VlIGNvbXBsZXRlCisgICAg bGlzdCBpbiBkaWFnbm9zdGljLmRlZi4gICovCistdHlwZWRlZiBzdHJ1Y3QKKyt0eXBlZGVmIHN0 cnVjdCBkaWFnbm9zdGljX2luZm8KKyB7CisgICB0ZXh0X2luZm8gbWVzc2FnZTsKKyAgIGxvY2F0 aW9uX3QgbG9jYXRpb247CisrICAvKiBUUkVFX0JMT0NLIGlmIHRoZSBkaWFnbm9zdGljIGlzIHRv IGJlIHJlcG9ydGVkIGluIHNvbWUgaW5saW5lCisrICAgICBmdW5jdGlvbiBpbmxpbmVkIGludG8g b3RoZXIgZnVuY3Rpb24sIG90aGVyd2lzZSBOVUxMLiAgKi8KKysgIHRyZWUgYWJzdHJhY3Rfb3Jp Z2luOworICAgLyogVGhlIGtpbmQgb2YgZGlhZ25vc3RpYyBpdCBpcyBhYm91dC4gICovCisgICBk aWFnbm9zdGljX3Qga2luZDsKKyAgIC8qIFdoaWNoIE9QVF8qIGRpcmVjdGx5IGNvbnRyb2xzIHRo aXMgZGlhZ25vc3RpYy4gICovCitAQCAtMTMwLDEzICsxMzMsMTUgQEAgc3RydWN0IGRpYWdub3N0 aWNfY29udGV4dAorIAorIC8qIFRydWUgaWYgdGhlIGxhc3QgZnVuY3Rpb24gaW4gd2hpY2ggYSBk aWFnbm9zdGljIHdhcyByZXBvcnRlZCBpcworICAgIGRpZmZlcmVudCBmcm9tIHRoZSBjdXJyZW50 IG9uZS4gICovCistI2RlZmluZSBkaWFnbm9zdGljX2xhc3RfZnVuY3Rpb25fY2hhbmdlZChEQykg XAorLSAgKChEQyktPmxhc3RfZnVuY3Rpb24gIT0gY3VycmVudF9mdW5jdGlvbl9kZWNsKQorKyNk ZWZpbmUgZGlhZ25vc3RpY19sYXN0X2Z1bmN0aW9uX2NoYW5nZWQoREMsIERJKSBcCisrICAoKERD KS0+bGFzdF9mdW5jdGlvbiAhPSAoKERJKS0+YWJzdHJhY3Rfb3JpZ2luIFwKKysJCQkgICA/IChE SSktPmFic3RyYWN0X29yaWdpbiA6IGN1cnJlbnRfZnVuY3Rpb25fZGVjbCkpCisgCisgLyogUmVt ZW1iZXIgdGhlIGN1cnJlbnQgZnVuY3Rpb24gYXMgYmVpbmcgdGhlIGxhc3Qgb25lIGluIHdoaWNo IHdlIHJlcG9ydAorICAgIGEgZGlhZ25vc3RpYy4gICovCistI2RlZmluZSBkaWFnbm9zdGljX3Nl dF9sYXN0X2Z1bmN0aW9uKERDKSBcCistICAoREMpLT5sYXN0X2Z1bmN0aW9uID0gY3VycmVudF9m dW5jdGlvbl9kZWNsCisrI2RlZmluZSBkaWFnbm9zdGljX3NldF9sYXN0X2Z1bmN0aW9uKERDLCBE SSkgXAorKyAgKERDKS0+bGFzdF9mdW5jdGlvbiA9ICgoKERJKSAmJiAoREkpLT5hYnN0cmFjdF9v cmlnaW4pIFwKKysJCQkgPyAoREkpLT5hYnN0cmFjdF9vcmlnaW4gOiBjdXJyZW50X2Z1bmN0aW9u X2RlY2wpCisgCisgLyogVHJ1ZSBpZiB0aGUgbGFzdCBtb2R1bGUgb3IgZmlsZSBpbiB3aGljaCBh IGRpYWdub3N0aWMgd2FzIHJlcG9ydGVkIGlzCisgICAgZGlmZmVyZW50IGZyb20gdGhlIGN1cnJl bnQgb25lLiAgKi8KK0BAIC0xNzgsNyArMTgzLDggQEAgZXh0ZXJuIGRpYWdub3N0aWNfY29udGV4 dCAqZ2xvYmFsX2RjOworIC8qIERpYWdub3N0aWMgcmVsYXRlZCBmdW5jdGlvbnMuICAqLworIGV4 dGVybiB2b2lkIGRpYWdub3N0aWNfaW5pdGlhbGl6ZSAoZGlhZ25vc3RpY19jb250ZXh0ICopOwor IGV4dGVybiB2b2lkIGRpYWdub3N0aWNfcmVwb3J0X2N1cnJlbnRfbW9kdWxlIChkaWFnbm9zdGlj X2NvbnRleHQgKik7CistZXh0ZXJuIHZvaWQgZGlhZ25vc3RpY19yZXBvcnRfY3VycmVudF9mdW5j dGlvbiAoZGlhZ25vc3RpY19jb250ZXh0ICopOworK2V4dGVybiB2b2lkIGRpYWdub3N0aWNfcmVw b3J0X2N1cnJlbnRfZnVuY3Rpb24gKGRpYWdub3N0aWNfY29udGV4dCAqLAorKwkJCQkJCWRpYWdu b3N0aWNfaW5mbyAqKTsKKyBleHRlcm4gdm9pZCBkaWFnbm9zdGljX3JlcG9ydF9kaWFnbm9zdGlj IChkaWFnbm9zdGljX2NvbnRleHQgKiwKKyAJCQkJCSAgZGlhZ25vc3RpY19pbmZvICopOworICNp ZmRlZiBBVFRSSUJVVEVfR0NDX0RJQUcKKy0tLSBnY2MvdG9wbGV2LmMuamoJMjAwNy0wNC0wMyAx MzoxODoyNy4wMDAwMDAwMDAgKzAyMDAKKysrKyBnY2MvdG9wbGV2LmMJMjAwNy0wOS0yOCAyMjo0 NToxOS4wMDAwMDAwMDAgKzAyMDAKK0BAIC00NDgsNyArNDQ4LDcgQEAgYW5ub3VuY2VfZnVuY3Rp b24gKHRyZWUgZGVjbCkKKyAJZnByaW50ZiAoc3RkZXJyLCAiICVzIiwgbGFuZ19ob29rcy5kZWNs X3ByaW50YWJsZV9uYW1lIChkZWNsLCAyKSk7CisgICAgICAgZmZsdXNoIChzdGRlcnIpOworICAg ICAgIHBwX25lZWRzX25ld2xpbmUgKGdsb2JhbF9kYy0+cHJpbnRlcikgPSB0cnVlOworLSAgICAg IGRpYWdub3N0aWNfc2V0X2xhc3RfZnVuY3Rpb24gKGdsb2JhbF9kYyk7CisrICAgICAgZGlhZ25v c3RpY19zZXRfbGFzdF9mdW5jdGlvbiAoZ2xvYmFsX2RjLCAoZGlhZ25vc3RpY19pbmZvICopIE5V TEwpOworICAgICB9CisgfQorIAorLS0tIGdjYy9wcmV0dHktcHJpbnQuYy5qagkyMDA3LTAyLTIw IDIyOjM5OjEyLjAwMDAwMDAwMCArMDEwMAorKysrIGdjYy9wcmV0dHktcHJpbnQuYwkyMDA3LTA5 LTI4IDIyOjQ1OjE5LjAwMDAwMDAwMCArMDIwMAorQEAgLTE4OCw2ICsxODgsNyBAQCBwcF9iYXNl X2luZGVudCAocHJldHR5X3ByaW50ZXIgKnBwKQorICAgICVOczogbGlrZXdpc2UsIGJ1dCBsZW5n dGggc3BlY2lmaWVkIGFzIGNvbnN0YW50IGluIHRoZSBmb3JtYXQgc3RyaW5nLgorICAgICVIOiBs b2NhdGlvbl90LgorICAgICVKOiBhIGRlY2wgdHJlZSwgZnJvbSB3aGljaCBERUNMX1NPVVJDRV9M T0NBVElPTiB3aWxsIGJlIHJlY29yZGVkLgorKyAgICVLOiBhIHN0YXRlbWVudCwgZnJvbSB3aGlj aCBFWFBSX0xPQ0FUSU9OIGFuZCBUUkVFX0JMT0NLIHdpbGwgYmUgcmVjb3JkZWQuCisgICAgRmxh ZyAncSc6IHF1b3RlIGZvcm1hdHRlZCB0ZXh0IChtdXN0IGNvbWUgaW1tZWRpYXRlbHkgYWZ0ZXIg JyUnKS4KKyAKKyAgICBBcmd1bWVudHMgY2FuIGJlIHVzZWQgc2VxdWVudGlhbGx5LCBvciB0aHJv dWdoICVOJCByZXNwLiAqTiQKK0BAIC00ODcsNiArNDg4LDMzIEBAIHBwX2Jhc2VfZm9ybWF0IChw cmV0dHlfcHJpbnRlciAqcHAsIHRleHQKKyAJICB9CisgCSAgYnJlYWs7CisgCisrCWNhc2UgJ0sn OgorKwkgIHsKKysJICAgIHRyZWUgdCA9IHZhX2FyZyAoKnRleHQtPmFyZ3NfcHRyLCB0cmVlKSwg YmxvY2s7CisrCSAgICBnY2NfYXNzZXJ0ICh0ZXh0LT5sb2N1cyAhPSBOVUxMKTsKKysJICAgICp0 ZXh0LT5sb2N1cyA9IEVYUFJfTE9DQVRJT04gKHQpOworKwkgICAgZ2NjX2Fzc2VydCAodGV4dC0+ YWJzdHJhY3Rfb3JpZ2luICE9IE5VTEwpOworKwkgICAgYmxvY2sgPSBUUkVFX0JMT0NLICh0KTsK KysJICAgICp0ZXh0LT5hYnN0cmFjdF9vcmlnaW4gPSBOVUxMOworKwkgICAgd2hpbGUgKGJsb2Nr CisrCQkgICAmJiBUUkVFX0NPREUgKGJsb2NrKSA9PSBCTE9DSworKwkJICAgJiYgQkxPQ0tfQUJT VFJBQ1RfT1JJR0lOIChibG9jaykpCisrCSAgICAgIHsKKysJCXRyZWUgYW8gPSBCTE9DS19BQlNU UkFDVF9PUklHSU4gKGJsb2NrKTsKKysKKysJCXdoaWxlIChUUkVFX0NPREUgKGFvKSA9PSBCTE9D SyAmJiBCTE9DS19BQlNUUkFDVF9PUklHSU4gKGFvKSkKKysJCSAgYW8gPSBCTE9DS19BQlNUUkFD VF9PUklHSU4gKGFvKTsKKysKKysJCWlmIChUUkVFX0NPREUgKGFvKSA9PSBGVU5DVElPTl9ERUNM KQorKwkJICB7CisrCQkgICAgKnRleHQtPmFic3RyYWN0X29yaWdpbiA9IGJsb2NrOworKwkJICAg IGJyZWFrOworKwkJICB9CisrCQlibG9jayA9IEJMT0NLX1NVUEVSQ09OVEVYVCAoYmxvY2spOwor KwkgICAgICB9CisrCSAgfQorKwkgIGJyZWFrOworKworIAljYXNlICcuJzoKKyAJICB7CisgCSAg ICBpbnQgbjsKKy0tLSBnY2MvcHJldHR5LXByaW50LmguamoJMjAwNy0wMi0yMCAyMjozOToxMi4w MDAwMDAwMDAgKzAxMDAKKysrKyBnY2MvcHJldHR5LXByaW50LmgJMjAwNy0wOS0yOCAyMjo0NTox OS4wMDAwMDAwMDAgKzAyMDAKK0BAIC0zNiw2ICszNiw3IEBAIHR5cGVkZWYgc3RydWN0CisgICB2 YV9saXN0ICphcmdzX3B0cjsKKyAgIGludCBlcnJfbm87ICAvKiBmb3IgJW0gKi8KKyAgIGxvY2F0 aW9uX3QgKmxvY3VzOworKyAgdHJlZSAqYWJzdHJhY3Rfb3JpZ2luOworIH0gdGV4dF9pbmZvOwor IAorIC8qIEhvdyBvZnRlbiBkaWFnbm9zdGljcyBhcmUgcHJlZml4ZWQgYnkgdGhlaXIgbG9jYXRp b25zOgorLS0tIGdjYy90ZXN0c3VpdGUvbGliL3BydW5lLmV4cC5qagkyMDA3LTAyLTIwIDIyOjM3 OjA5LjAwMDAwMDAwMCArMDEwMAorKysrIGdjYy90ZXN0c3VpdGUvbGliL3BydW5lLmV4cAkyMDA3 LTA5LTI4IDIyOjQ1OjE5LjAwMDAwMDAwMCArMDIwMAorQEAgLTE5LDkgKzE5LDEwIEBACisgcHJv YyBwcnVuZV9nY2Nfb3V0cHV0IHsgdGV4dCB9IHsKKyAgICAgI3NlbmRfdXNlciAiQmVmb3JlOiR0 ZXh0XG4iCisgCistICAgIHJlZ3N1YiAtYWxsICIoXnxcbilcW15cblxdKjogSW4gKChzdGF0aWMg bWVtYmVyICk/ZnVuY3Rpb258bWVtYmVyfG1ldGhvZHwoY29weSApP2NvbnN0cnVjdG9yfGRlc3Ry dWN0b3J8aW5zdGFudGlhdGlvbnxwcm9ncmFtfHN1YnJvdXRpbmV8YmxvY2stZGF0YSkgXFteXG5c XSoiICR0ZXh0ICIiIHRleHQKKysgICAgcmVnc3ViIC1hbGwgIihefFxuKShcW15cblxdKjogKT9J biAoKHN0YXRpYyBtZW1iZXIgKT9mdW5jdGlvbnxtZW1iZXJ8bWV0aG9kfChjb3B5ICk/Y29uc3Ry dWN0b3J8ZGVzdHJ1Y3RvcnxpbnN0YW50aWF0aW9ufHByb2dyYW18c3Vicm91dGluZXxibG9jay1k YXRhKSBcW15cblxdKiIgJHRleHQgIiIgdGV4dAorICAgICByZWdzdWIgLWFsbCAiKF58XG4pXFte XG5cXSo6IEF0ICh0b3AgbGV2ZWx8Z2xvYmFsIHNjb3BlKTpcW15cblxdKiIgJHRleHQgIiIgdGV4 dAorICAgICByZWdzdWIgLWFsbCAiKF58XG4pXFteXG5cXSo6ICAgaW5zdGFudGlhdGVkIGZyb20g XFteXG5cXSoiICR0ZXh0ICIiIHRleHQKKysgICAgcmVnc3ViIC1hbGwgIihefFxuKSAgICBpbmxp bmVkIGZyb20gXFteXG5cXSoiICR0ZXh0ICIiIHRleHQKKyAgICAgcmVnc3ViIC1hbGwgIihefFxu KWNvbGxlY3QyOiBsZCByZXR1cm5lZCBcW15cblxdKiIgJHRleHQgIiIgdGV4dAorICAgICByZWdz dWIgLWFsbCAiKF58XG4pY29sbGVjdDogcmUoY29tcGlsaW5nfGxpbmtpbmcpXFteXG5cXSoiICR0 ZXh0ICIiIHRleHQKKyAgICAgcmVnc3ViIC1hbGwgIihefFxuKVBsZWFzZSBzdWJtaXQuKmluc3Ry dWN0aW9uc1xbXlxuXF0qIiAkdGV4dCAiIiB0ZXh0CistLS0gZ2NjL2NwL2Vycm9yLmMuamoJMjAw Ny0wOS0yNSAxMToxNTozMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnY2MvY3AvZXJyb3IuYwkyMDA3 LTA5LTI4IDIyOjQ1OjE5LjAwMDAwMDAwMCArMDIwMAorQEAgLTIxNTAsOSArMjE1MCwxMCBAQCBj dl90b19zdHJpbmcgKHRyZWUgcCwgaW50IHYpCisgCisgLyogTGFuZ2hvb2sgZm9yIHByaW50X2Vy cm9yX2Z1bmN0aW9uLiAgKi8KKyB2b2lkCistY3h4X3ByaW50X2Vycm9yX2Z1bmN0aW9uIChkaWFn bm9zdGljX2NvbnRleHQgKmNvbnRleHQsIGNvbnN0IGNoYXIgKmZpbGUpCisrY3h4X3ByaW50X2Vy cm9yX2Z1bmN0aW9uIChkaWFnbm9zdGljX2NvbnRleHQgKmNvbnRleHQsIGNvbnN0IGNoYXIgKmZp bGUsCisrCQkJICBkaWFnbm9zdGljX2luZm8gKmRpYWdub3N0aWMpCisgeworLSAgbGhkX3ByaW50 X2Vycm9yX2Z1bmN0aW9uIChjb250ZXh0LCBmaWxlKTsKKysgIGxoZF9wcmludF9lcnJvcl9mdW5j dGlvbiAoY29udGV4dCwgZmlsZSwgZGlhZ25vc3RpYyk7CisgICBwcF9iYXNlX3NldF9wcmVmaXgg KGNvbnRleHQtPnByaW50ZXIsIGZpbGUpOworICAgbWF5YmVfcHJpbnRfaW5zdGFudGlhdGlvbl9j b250ZXh0IChjb250ZXh0KTsKKyB9CitAQCAtMjE4MCwyMyArMjE4MSwxMDUgQEAgc3RhdGljIHZv aWQKKyBjcF9wcmludF9lcnJvcl9mdW5jdGlvbiAoZGlhZ25vc3RpY19jb250ZXh0ICpjb250ZXh0 LAorIAkJCSBkaWFnbm9zdGljX2luZm8gKmRpYWdub3N0aWMpCisgeworLSAgaWYgKGRpYWdub3N0 aWNfbGFzdF9mdW5jdGlvbl9jaGFuZ2VkIChjb250ZXh0KSkKKysgIGlmIChkaWFnbm9zdGljX2xh c3RfZnVuY3Rpb25fY2hhbmdlZCAoY29udGV4dCwgZGlhZ25vc3RpYykpCisgICAgIHsKKyAgICAg ICBjb25zdCBjaGFyICpvbGRfcHJlZml4ID0gY29udGV4dC0+cHJpbnRlci0+cHJlZml4OworICAg ICAgIGNvbnN0IGNoYXIgKmZpbGUgPSBMT0NBVElPTl9GSUxFIChkaWFnbm9zdGljLT5sb2NhdGlv bik7CistICAgICAgY2hhciAqbmV3X3ByZWZpeCA9IGZpbGUgPyBmaWxlX25hbWVfYXNfcHJlZml4 IChmaWxlKSA6IE5VTEw7CisrICAgICAgdHJlZSBhYnN0cmFjdF9vcmlnaW4gPSBkaWFnbm9zdGlj LT5hYnN0cmFjdF9vcmlnaW47CisrICAgICAgY2hhciAqbmV3X3ByZWZpeCA9IChmaWxlICYmIGFi c3RyYWN0X29yaWdpbiA9PSBOVUxMKQorKwkJCSA/IGZpbGVfbmFtZV9hc19wcmVmaXggKGZpbGUp IDogTlVMTDsKKyAKKyAgICAgICBwcF9iYXNlX3NldF9wcmVmaXggKGNvbnRleHQtPnByaW50ZXIs IG5ld19wcmVmaXgpOworIAorICAgICAgIGlmIChjdXJyZW50X2Z1bmN0aW9uX2RlY2wgPT0gTlVM TCkKKyAJcHBfYmFzZV9zdHJpbmcgKGNvbnRleHQtPnByaW50ZXIsICJBdCBnbG9iYWwgc2NvcGU6 Iik7CisgICAgICAgZWxzZQorLQlwcF9wcmludGYgKGNvbnRleHQtPnByaW50ZXIsICJJbiAlcyAl cXM6IiwKKy0JCSAgIGZ1bmN0aW9uX2NhdGVnb3J5IChjdXJyZW50X2Z1bmN0aW9uX2RlY2wpLAor LQkJICAgY3h4X3ByaW50YWJsZV9uYW1lIChjdXJyZW50X2Z1bmN0aW9uX2RlY2wsIDIpKTsKKysJ eworKwkgIHRyZWUgZm5kZWNsLCBhbzsKKysKKysJICBpZiAoYWJzdHJhY3Rfb3JpZ2luKQorKwkg ICAgeworKwkgICAgICBhbyA9IEJMT0NLX0FCU1RSQUNUX09SSUdJTiAoYWJzdHJhY3Rfb3JpZ2lu KTsKKysJICAgICAgd2hpbGUgKFRSRUVfQ09ERSAoYW8pID09IEJMT0NLICYmIEJMT0NLX0FCU1RS QUNUX09SSUdJTiAoYW8pKQorKwkJYW8gPSBCTE9DS19BQlNUUkFDVF9PUklHSU4gKGFvKTsKKysJ ICAgICAgZ2NjX2Fzc2VydCAoVFJFRV9DT0RFIChhbykgPT0gRlVOQ1RJT05fREVDTCk7CisrCSAg ICAgIGZuZGVjbCA9IGFvOworKwkgICAgfQorKwkgIGVsc2UKKysJICAgIGZuZGVjbCA9IGN1cnJl bnRfZnVuY3Rpb25fZGVjbDsKKysKKysJICBwcF9wcmludGYgKGNvbnRleHQtPnByaW50ZXIsICJJ biAlcyAlcXMiLAorKwkJICAgICBmdW5jdGlvbl9jYXRlZ29yeSAoZm5kZWNsKSwKKysJCSAgICAg Y3h4X3ByaW50YWJsZV9uYW1lIChmbmRlY2wsIDIpKTsKKysKKysJICB3aGlsZSAoYWJzdHJhY3Rf b3JpZ2luKQorKwkgICAgeworKwkgICAgICBsb2NhdGlvbl90ICpsb2N1czsKKysJICAgICAgdHJl ZSBibG9jayA9IGFic3RyYWN0X29yaWdpbjsKKysKKysJICAgICAgbG9jdXMgPSAmQkxPQ0tfU09V UkNFX0xPQ0FUSU9OIChibG9jayk7CisrCSAgICAgIGZuZGVjbCA9IE5VTEw7CisrCSAgICAgIGJs b2NrID0gQkxPQ0tfU1VQRVJDT05URVhUIChibG9jayk7CisrCSAgICAgIHdoaWxlIChibG9jayAm JiBUUkVFX0NPREUgKGJsb2NrKSA9PSBCTE9DSworKwkJICAgICAmJiBCTE9DS19BQlNUUkFDVF9P UklHSU4gKGJsb2NrKSkKKysJCXsKKysJCSAgYW8gPSBCTE9DS19BQlNUUkFDVF9PUklHSU4gKGJs b2NrKTsKKysKKysJCSAgd2hpbGUgKFRSRUVfQ09ERSAoYW8pID09IEJMT0NLICYmIEJMT0NLX0FC U1RSQUNUX09SSUdJTiAoYW8pKQorKwkJICAgIGFvID0gQkxPQ0tfQUJTVFJBQ1RfT1JJR0lOIChh byk7CisrCisrCQkgIGlmIChUUkVFX0NPREUgKGFvKSA9PSBGVU5DVElPTl9ERUNMKQorKwkJICAg IHsKKysJCSAgICAgIGZuZGVjbCA9IGFvOworKwkJICAgICAgYnJlYWs7CisrCQkgICAgfQorKwkJ ICBlbHNlIGlmIChUUkVFX0NPREUgKGFvKSAhPSBCTE9DSykKKysJCSAgICBicmVhazsKKysKKysJ CSAgYmxvY2sgPSBCTE9DS19TVVBFUkNPTlRFWFQgKGJsb2NrKTsKKysJCX0KKysJICAgICAgaWYg KGZuZGVjbCkKKysJCWFic3RyYWN0X29yaWdpbiA9IGJsb2NrOworKwkgICAgICBlbHNlCisrCQl7 CisrCQkgIHdoaWxlIChibG9jayAmJiBUUkVFX0NPREUgKGJsb2NrKSA9PSBCTE9DSykKKysJCSAg ICBibG9jayA9IEJMT0NLX1NVUEVSQ09OVEVYVCAoYmxvY2spOworKworKwkJICBpZiAoVFJFRV9D T0RFIChibG9jaykgPT0gRlVOQ1RJT05fREVDTCkKKysJCSAgICBmbmRlY2wgPSBibG9jazsKKysJ CSAgYWJzdHJhY3Rfb3JpZ2luID0gTlVMTDsKKysJCX0KKysJICAgICAgaWYgKGZuZGVjbCkKKysJ CXsKKysJCSAgZXhwYW5kZWRfbG9jYXRpb24gcyA9IGV4cGFuZF9sb2NhdGlvbiAoKmxvY3VzKTsK KysJCSAgcHBfYmFzZV9jaGFyYWN0ZXIgKGNvbnRleHQtPnByaW50ZXIsICcsJyk7CisrCQkgIHBw X2Jhc2VfbmV3bGluZSAoY29udGV4dC0+cHJpbnRlcik7CisrCQkgIGlmIChzLmZpbGUgIT0gTlVM TCkKKysJCSAgICB7CisrI2lmZGVmIFVTRV9NQVBQRURfTE9DQVRJT04KKysJCSAgICAgIGlmIChm bGFnX3Nob3dfY29sdW1uICYmIHMuY29sdW1uICE9IDApCisrCQkJcHBfcHJpbnRmIChjb250ZXh0 LT5wcmludGVyLAorKwkJCQkgICAiICAgIGlubGluZWQgZnJvbSAlcXMgYXQgJXM6JWQ6JWQiLAor KwkJCQkgICBjeHhfcHJpbnRhYmxlX25hbWUgKGZuZGVjbCwgMiksCisrCQkJCSAgIHMuZmlsZSwg cy5saW5lLCBzLmNvbHVtbik7CisrCQkgICAgICBlbHNlCisrI2VuZGlmCisrCQkJcHBfcHJpbnRm IChjb250ZXh0LT5wcmludGVyLAorKwkJCQkgICAiICAgIGlubGluZWQgZnJvbSAlcXMgYXQgJXM6 JWQiLAorKwkJCQkgICBjeHhfcHJpbnRhYmxlX25hbWUgKGZuZGVjbCwgMiksCisrCQkJCSAgIHMu ZmlsZSwgcy5saW5lKTsKKysKKysJCSAgICB9CisrCQkgIGVsc2UKKysJCSAgICBwcF9wcmludGYg KGNvbnRleHQtPnByaW50ZXIsICIgICAgaW5saW5lZCBmcm9tICVxcyIsCisrCQkJICAgICAgIGN4 eF9wcmludGFibGVfbmFtZSAoZm5kZWNsLCAyKSk7CisrCQl9CisrCSAgICB9CisrCSAgcHBfYmFz ZV9jaGFyYWN0ZXIgKGNvbnRleHQtPnByaW50ZXIsICc6Jyk7CisrCX0KKyAgICAgICBwcF9iYXNl X25ld2xpbmUgKGNvbnRleHQtPnByaW50ZXIpOworIAorLSAgICAgIGRpYWdub3N0aWNfc2V0X2xh c3RfZnVuY3Rpb24gKGNvbnRleHQpOworKyAgICAgIGRpYWdub3N0aWNfc2V0X2xhc3RfZnVuY3Rp b24gKGNvbnRleHQsIGRpYWdub3N0aWMpOworICAgICAgIHBwX2Jhc2VfZGVzdHJveV9wcmVmaXgg KGNvbnRleHQtPnByaW50ZXIpOworICAgICAgIGNvbnRleHQtPnByaW50ZXItPnByZWZpeCA9IG9s ZF9wcmVmaXg7CisgICAgIH0KKy0tLSBnY2MvY3AvY3AtdHJlZS5oLmpqCTIwMDctMDktMjUgMTE6 NDU6MjUuMDAwMDAwMDAwICswMjAwCisrKysgZ2NjL2NwL2NwLXRyZWUuaAkyMDA3LTA5LTI4IDIy OjQ1OjE5LjAwMDAwMDAwMCArMDIwMAorQEAgLTMyLDYgKzMyLDcgQEAgQm9zdG9uLCBNQSAwMjEx MC0xMzAxLCBVU0EuICAqLworICNpbmNsdWRlICJjLWNvbW1vbi5oIgorICNpbmNsdWRlICJuYW1l LWxvb2t1cC5oIgorIHN0cnVjdCBkaWFnbm9zdGljX2NvbnRleHQ7Cisrc3RydWN0IGRpYWdub3N0 aWNfaW5mbzsKKyAKKyAvKiBVc2FnZSBvZiBUUkVFX0xBTkdfRkxBR18/OgorICAgIDA6IElERU5U SUZJRVJfTUFSS0VEIChJREVOVElGSUVSX05PREVzKQorQEAgLTM4MzIsNyArMzgzMyw4IEBAIGV4 dGVybiB2b2lkIGN4eF9wcmludF9kZWNsCQkJKEZJTEUgKiwgdHIKKyBleHRlcm4gdm9pZCBjeHhf cHJpbnRfdHlwZQkJCShGSUxFICosIHRyZWUsIGludCk7CisgZXh0ZXJuIHZvaWQgY3h4X3ByaW50 X2lkZW50aWZpZXIJCShGSUxFICosIHRyZWUsIGludCk7CisgZXh0ZXJuIHZvaWQgY3h4X3ByaW50 X2Vycm9yX2Z1bmN0aW9uCShzdHJ1Y3QgZGlhZ25vc3RpY19jb250ZXh0ICosCistCQkJCQkJIGNv bnN0IGNoYXIgKik7CisrCQkJCQkJIGNvbnN0IGNoYXIgKiwKKysJCQkJCQkgc3RydWN0IGRpYWdu b3N0aWNfaW5mbyAqKTsKKyBleHRlcm4gdm9pZCBidWlsZF9zZWxmX3JlZmVyZW5jZQkJKHZvaWQp OworIGV4dGVybiBpbnQgc2FtZV9zaWduYXR1cmVfcAkJCSh0cmVlLCB0cmVlKTsKKyBleHRlcm4g dm9pZCB3YXJuX2hpZGRlbgkJCQkodHJlZSk7CistLS0gZ2NjL2MtZm9ybWF0LmMuamoJMjAwNy0w OS0yNSAxMjoyNzo1NS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnY2MvYy1mb3JtYXQuYwkyMDA3LTA5 LTI4IDIyOjUwOjM1LjAwMDAwMDAwMCArMDIwMAorQEAgLTU0Nyw3ICs1NDcsNyBAQCBzdGF0aWMg Y29uc3QgZm9ybWF0X2NoYXJfaW5mbyBnY2NfZGlhZ19jCisgICB7ICJIIiwgICAwLCBTVERfQzg5 LCB7IFQ4OV9WLCAgIEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiwg IEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiAgfSwgInEiLCAgIiIsICAgTlVMTCB9LAorIAorICAg LyogVGhlc2Ugd2lsbCByZXF1aXJlIGEgInRyZWUiIGF0IHJ1bnRpbWUuICAqLworLSAgeyAiSiIs IDAsIFNURF9DODksIHsgVDg5X1YsICAgQkFETEVOLCAgQkFETEVOLCAgQkFETEVOLCAgQkFETEVO LCAgQkFETEVOLCAgQkFETEVOLCAgQkFETEVOLCAgQkFETEVOICB9LCAicSIsICAgICIiLCAgIE5V TEwgfSwKKysgIHsgIkpLIiwgIDAsIFNURF9DODksIHsgVDg5X1YsICAgQkFETEVOLCAgQkFETEVO LCAgQkFETEVOLCAgQkFETEVOLCAgQkFETEVOLCAgQkFETEVOLCAgQkFETEVOLCAgQkFETEVOICB9 LCAicSIsICAiIiwgICBOVUxMIH0sCisgCisgICB7ICI8PiciLCAwLCBTVERfQzg5LCBOT0FSR1VN RU5UUywgIiIsICAgICAgIiIsICAgTlVMTCB9LAorICAgeyAibSIsICAgMCwgU1REX0M4OSwgTk9B UkdVTUVOVFMsICJxIiwgICAgICIiLCAgIE5VTEwgfSwKK0BAIC01NzAsNyArNTcwLDcgQEAgc3Rh dGljIGNvbnN0IGZvcm1hdF9jaGFyX2luZm8gZ2NjX3RkaWFnXworICAgeyAiSCIsICAgMCwgU1RE X0M4OSwgeyBUODlfViwgICBCQURMRU4sICBCQURMRU4sICBCQURMRU4sICBCQURMRU4sICBCQURM RU4sICBCQURMRU4sICBCQURMRU4sICBCQURMRU4gIH0sICJxIiwgICIiLCAgIE5VTEwgfSwKKyAK KyAgIC8qIFRoZXNlIHdpbGwgcmVxdWlyZSBhICJ0cmVlIiBhdCBydW50aW1lLiAgKi8KKy0gIHsg IkRGSlQiLCAwLCBTVERfQzg5LCB7IFQ4OV9WLCAgIEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiwg IEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiAgfSwgInErIiwgIiIs ICAgTlVMTCB9LAorKyAgeyAiREZKS1QiLCAwLCBTVERfQzg5LCB7IFQ4OV9WLCBCQURMRU4sICBC QURMRU4sICBCQURMRU4sICBCQURMRU4sICBCQURMRU4sICBCQURMRU4sICBCQURMRU4sICBCQURM RU4gIH0sICJxKyIsICIiLCAgIE5VTEwgfSwKKyAKKyAgIHsgIjw+JyIsIDAsIFNURF9DODksIE5P QVJHVU1FTlRTLCAiIiwgICAgICAiIiwgICBOVUxMIH0sCisgICB7ICJtIiwgICAwLCBTVERfQzg5 LCBOT0FSR1VNRU5UUywgInEiLCAgICAgIiIsICAgTlVMTCB9LAorQEAgLTU5Myw3ICs1OTMsNyBA QCBzdGF0aWMgY29uc3QgZm9ybWF0X2NoYXJfaW5mbyBnY2NfY2RpYWdfCisgICB7ICJIIiwgICAw LCBTVERfQzg5LCB7IFQ4OV9WLCAgIEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiwg IEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiAgfSwgInEiLCAgIiIsICAgTlVMTCB9 LAorIAorICAgLyogVGhlc2Ugd2lsbCByZXF1aXJlIGEgInRyZWUiIGF0IHJ1bnRpbWUuICAqLwor LSAgeyAiREVGSlQiLCAwLCBTVERfQzg5LCB7IFQ4OV9WLCAgIEJBRExFTiwgIEJBRExFTiwgIEJB RExFTiwgIEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiAgfSwgInEr IiwgIiIsICAgTlVMTCB9LAorKyAgeyAiREVGSktUIiwgMCwgU1REX0M4OSwgeyBUODlfViwgQkFE TEVOLCBCQURMRU4sICBCQURMRU4sICBCQURMRU4sICBCQURMRU4sICBCQURMRU4sICBCQURMRU4s ICBCQURMRU4gIH0sICJxKyIsICIiLCAgIE5VTEwgfSwKKyAKKyAgIHsgIjw+JyIsIDAsIFNURF9D ODksIE5PQVJHVU1FTlRTLCAiIiwgICAgICAiIiwgICBOVUxMIH0sCisgICB7ICJtIiwgICAwLCBT VERfQzg5LCBOT0FSR1VNRU5UUywgInEiLCAgICAgIiIsICAgTlVMTCB9LAorQEAgLTYxNiw3ICs2 MTYsNyBAQCBzdGF0aWMgY29uc3QgZm9ybWF0X2NoYXJfaW5mbyBnY2NfY3h4ZGlhCisgICB7ICJI IiwgICAwLCBTVERfQzg5LCB7IFQ4OV9WLCAgIEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiwgIEJB RExFTiwgIEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiAgfSwgInEiLCAgIiIsICAg TlVMTCB9LAorIAorICAgLyogVGhlc2Ugd2lsbCByZXF1aXJlIGEgInRyZWUiIGF0IHJ1bnRpbWUu ICAqLworLSAgeyAiQURFRkpUViIsMCxTVERfQzg5LHsgVDg5X1YsICAgQkFETEVOLCAgQkFETEVO LCAgQkFETEVOLCAgQkFETEVOLCAgQkFETEVOLCAgQkFETEVOLCAgQkFETEVOLCAgQkFETEVOICB9 LCAicSsjIiwgICAiIiwgICBOVUxMIH0sCisrICB7ICJBREVGSktUViIsMCxTVERfQzg5LHsgVDg5 X1YsIEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiwg IEJBRExFTiwgIEJBRExFTiAgfSwgInErIyIsICAgIiIsICAgTlVMTCB9LAorIAorICAgLyogVGhl c2UgYWNjZXB0IGVpdGhlciBhbiAnaW50JyBvciBhbiAnZW51bSB0cmVlX2NvZGUnICh3aGljaCBp cyBoYW5kbGVkIGFzIGFuICdpbnQnLikgICovCisgICB7ICJDTE9QUSIsMCxTVERfQzg5LCB7IFQ4 OV9JLCAgIEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiwgIEJBRExFTiwgIEJBRExF TiwgIEJBRExFTiwgIEJBRExFTiAgfSwgInEiLCAgIiIsICAgTlVMTCB9LAorQEAgLTI2MDEsNiAr MjYwMSw5IEBAIGluaXRfZHluYW1pY19kaWFnX2luZm8gKHZvaWQpCisgCSAgaSA9IGZpbmRfY2hh cl9pbmZvX3NwZWNpZmllcl9pbmRleCAoZGlhZ19mY2ksICdKJyk7CisgCSAgZGlhZ19mY2lbaV0u dHlwZXNbMF0udHlwZSA9ICZ0OworIAkgIGRpYWdfZmNpW2ldLnBvaW50ZXJfY291bnQgPSAxOwor KwkgIGkgPSBmaW5kX2NoYXJfaW5mb19zcGVjaWZpZXJfaW5kZXggKGRpYWdfZmNpLCAnSycpOwor KwkgIGRpYWdfZmNpW2ldLnR5cGVzWzBdLnR5cGUgPSAmdDsKKysJICBkaWFnX2ZjaVtpXS5wb2lu dGVyX2NvdW50ID0gMTsKKyAJfQorIAorICAgICAgIC8qIEhhbmRsZSB0aGUgX19nY2NfdGRpYWdf XyBmb3JtYXQgc3BlY2lmaWNzLiAgKi8KK0BAIC0yNjI1LDYgKzI2MjgsOSBAQCBpbml0X2R5bmFt aWNfZGlhZ19pbmZvICh2b2lkKQorIAkgIGkgPSBmaW5kX2NoYXJfaW5mb19zcGVjaWZpZXJfaW5k ZXggKHRkaWFnX2ZjaSwgJ0onKTsKKyAJICB0ZGlhZ19mY2lbaV0udHlwZXNbMF0udHlwZSA9ICZ0 OworIAkgIHRkaWFnX2ZjaVtpXS5wb2ludGVyX2NvdW50ID0gMTsKKysJICBpID0gZmluZF9jaGFy X2luZm9fc3BlY2lmaWVyX2luZGV4ICh0ZGlhZ19mY2ksICdLJyk7CisrCSAgdGRpYWdfZmNpW2ld LnR5cGVzWzBdLnR5cGUgPSAmdDsKKysJICB0ZGlhZ19mY2lbaV0ucG9pbnRlcl9jb3VudCA9IDE7 CisgCX0KKyAKKyAgICAgICAvKiBIYW5kbGUgdGhlIF9fZ2NjX2NkaWFnX18gZm9ybWF0IHNwZWNp Zmljcy4gICovCitAQCAtMjY0OSw2ICsyNjU1LDkgQEAgaW5pdF9keW5hbWljX2RpYWdfaW5mbyAo dm9pZCkKKyAJICBpID0gZmluZF9jaGFyX2luZm9fc3BlY2lmaWVyX2luZGV4IChjZGlhZ19mY2ks ICdKJyk7CisgCSAgY2RpYWdfZmNpW2ldLnR5cGVzWzBdLnR5cGUgPSAmdDsKKyAJICBjZGlhZ19m Y2lbaV0ucG9pbnRlcl9jb3VudCA9IDE7CisrCSAgaSA9IGZpbmRfY2hhcl9pbmZvX3NwZWNpZmll cl9pbmRleCAoY2RpYWdfZmNpLCAnSycpOworKwkgIGNkaWFnX2ZjaVtpXS50eXBlc1swXS50eXBl ID0gJnQ7CisrCSAgY2RpYWdfZmNpW2ldLnBvaW50ZXJfY291bnQgPSAxOworIAl9CisgCisgICAg ICAgLyogSGFuZGxlIHRoZSBfX2djY19jeHhkaWFnX18gZm9ybWF0IHNwZWNpZmljcy4gICovCitA QCAtMjY3Myw2ICsyNjgyLDkgQEAgaW5pdF9keW5hbWljX2RpYWdfaW5mbyAodm9pZCkKKyAJICBp ID0gZmluZF9jaGFyX2luZm9fc3BlY2lmaWVyX2luZGV4IChjeHhkaWFnX2ZjaSwgJ0onKTsKKyAJ ICBjeHhkaWFnX2ZjaVtpXS50eXBlc1swXS50eXBlID0gJnQ7CisgCSAgY3h4ZGlhZ19mY2lbaV0u cG9pbnRlcl9jb3VudCA9IDE7CisrCSAgaSA9IGZpbmRfY2hhcl9pbmZvX3NwZWNpZmllcl9pbmRl eCAoY3h4ZGlhZ19mY2ksICdLJyk7CisrCSAgY3h4ZGlhZ19mY2lbaV0udHlwZXNbMF0udHlwZSA9 ICZ0OworKwkgIGN4eGRpYWdfZmNpW2ldLnBvaW50ZXJfY291bnQgPSAxOworIAl9CisgICAgIH0K KyB9CistLS0gZ2NjL2V4cHIuYy5qagkyMDA3LTA5LTI1IDE1OjE5OjE1LjAwMDAwMDAwMCArMDIw MAorKysrIGdjYy9leHByLmMJMjAwNy0wOS0yOCAyMjo0NToxOS4wMDAwMDAwMDAgKzAyMDAKK0BA IC03NTEyLDIxICs3NTEyLDIxIEBAIGV4cGFuZF9leHByX3JlYWxfMSAodHJlZSBleHAsIHJ0eCB0 YXJnZXQKKyAgICAgICAvKiBBbGwgdmFsaWQgdXNlcyBvZiBfX2J1aWx0aW5fdmFfYXJnX3BhY2sg KCkgYXJlIHJlbW92ZWQgZHVyaW5nCisgCSBpbmxpbmluZy4gICovCisgICAgICAgaWYgKENBTExf RVhQUl9WQV9BUkdfUEFDSyAoZXhwKSkKKy0JZXJyb3IgKCJpbnZhbGlkIHVzZSBvZiAlPF9fYnVp bHRpbl92YV9hcmdfcGFjayAoKSU+Iik7CisrCWVycm9yICgiJUtpbnZhbGlkIHVzZSBvZiAlPF9f YnVpbHRpbl92YV9hcmdfcGFjayAoKSU+IiwgZXhwKTsKKyAgICAgICB7CisgCXRyZWUgZm5kZWNs ID0gZ2V0X2NhbGxlZV9mbmRlY2wgKGV4cCksIGF0dHI7CisgCisgCWlmIChmbmRlY2wKKyAJICAg ICYmIChhdHRyID0gbG9va3VwX2F0dHJpYnV0ZSAoImVycm9yIiwKKyAJCQkJCSBERUNMX0FUVFJJ QlVURVMgKGZuZGVjbCkpKSAhPSBOVUxMKQorLQkgIGVycm9yICgiY2FsbCB0byAlcXMgZGVjbGFy ZWQgd2l0aCBhdHRyaWJ1dGUgZXJyb3I6ICVzIiwKKy0JCSBsYW5nX2hvb2tzLmRlY2xfcHJpbnRh YmxlX25hbWUgKGZuZGVjbCwgMSksCisrCSAgZXJyb3IgKCIlS2NhbGwgdG8gJXFzIGRlY2xhcmVk IHdpdGggYXR0cmlidXRlIGVycm9yOiAlcyIsCisrCQkgZXhwLCBsYW5nX2hvb2tzLmRlY2xfcHJp bnRhYmxlX25hbWUgKGZuZGVjbCwgMSksCisgCQkgVFJFRV9TVFJJTkdfUE9JTlRFUiAoVFJFRV9W QUxVRSAoVFJFRV9WQUxVRSAoYXR0cikpKSk7CisgCWlmIChmbmRlY2wKKyAJICAgICYmIChhdHRy ID0gbG9va3VwX2F0dHJpYnV0ZSAoIndhcm5pbmciLAorIAkJCQkJIERFQ0xfQVRUUklCVVRFUyAo Zm5kZWNsKSkpICE9IE5VTEwpCistCSAgd2FybmluZyAoMCwgImNhbGwgdG8gJXFzIGRlY2xhcmVk IHdpdGggYXR0cmlidXRlIHdhcm5pbmc6ICVzIiwKKy0JCSAgIGxhbmdfaG9va3MuZGVjbF9wcmlu dGFibGVfbmFtZSAoZm5kZWNsLCAxKSwKKysJICB3YXJuaW5nICgwLCAiJUtjYWxsIHRvICVxcyBk ZWNsYXJlZCB3aXRoIGF0dHJpYnV0ZSB3YXJuaW5nOiAlcyIsCisrCQkgICBleHAsIGxhbmdfaG9v a3MuZGVjbF9wcmludGFibGVfbmFtZSAoZm5kZWNsLCAxKSwKKyAJCSAgIFRSRUVfU1RSSU5HX1BP SU5URVIgKFRSRUVfVkFMVUUgKFRSRUVfVkFMVUUgKGF0dHIpKSkpOworIAorIAkvKiBDaGVjayBm b3IgYSBidWlsdC1pbiBmdW5jdGlvbi4gICovCistLS0gZ2NjL2xhbmdob29rcy5jLmpqCTIwMDct MDItMjAgMjI6Mzk6MTIuMDAwMDAwMDAwICswMTAwCisrKysgZ2NjL2xhbmdob29rcy5jCTIwMDct MDktMjggMjI6NDU6MTkuMDAwMDAwMDAwICswMjAwCitAQCAtNDk0LDEyICs0OTQsMTUgQEAgbGhk X2luaXRpYWxpemVfZGlhZ25vc3RpY3MgKHN0cnVjdCBkaWFnbgorIC8qIFRoZSBkZWZhdWx0IGZ1 bmN0aW9uIHRvIHByaW50IG91dCBuYW1lIG9mIGN1cnJlbnQgZnVuY3Rpb24gdGhhdCBjYXVzZWQK KyAgICBhbiBlcnJvci4gICovCisgdm9pZAorLWxoZF9wcmludF9lcnJvcl9mdW5jdGlvbiAoZGlh Z25vc3RpY19jb250ZXh0ICpjb250ZXh0LCBjb25zdCBjaGFyICpmaWxlKQorK2xoZF9wcmludF9l cnJvcl9mdW5jdGlvbiAoZGlhZ25vc3RpY19jb250ZXh0ICpjb250ZXh0LCBjb25zdCBjaGFyICpm aWxlLAorKwkJCSAgZGlhZ25vc3RpY19pbmZvICpkaWFnbm9zdGljKQorIHsKKy0gIGlmIChkaWFn bm9zdGljX2xhc3RfZnVuY3Rpb25fY2hhbmdlZCAoY29udGV4dCkpCisrICBpZiAoZGlhZ25vc3Rp Y19sYXN0X2Z1bmN0aW9uX2NoYW5nZWQgKGNvbnRleHQsIGRpYWdub3N0aWMpKQorICAgICB7Cisg ICAgICAgY29uc3QgY2hhciAqb2xkX3ByZWZpeCA9IGNvbnRleHQtPnByaW50ZXItPnByZWZpeDsK Ky0gICAgICBjaGFyICpuZXdfcHJlZml4ID0gZmlsZSA/IGZpbGVfbmFtZV9hc19wcmVmaXggKGZp bGUpIDogTlVMTDsKKysgICAgICB0cmVlIGFic3RyYWN0X29yaWdpbiA9IGRpYWdub3N0aWMtPmFi c3RyYWN0X29yaWdpbjsKKysgICAgICBjaGFyICpuZXdfcHJlZml4ID0gKGZpbGUgJiYgYWJzdHJh Y3Rfb3JpZ2luID09IE5VTEwpCisrCQkJID8gZmlsZV9uYW1lX2FzX3ByZWZpeCAoZmlsZSkgOiBO VUxMOworIAorICAgICAgIHBwX3NldF9wcmVmaXggKGNvbnRleHQtPnByaW50ZXIsIG5ld19wcmVm aXgpOworIAorQEAgLTUwNywxNyArNTEwLDk1IEBAIGxoZF9wcmludF9lcnJvcl9mdW5jdGlvbiAo ZGlhZ25vc3RpY19jb24KKyAJcHBfcHJpbnRmIChjb250ZXh0LT5wcmludGVyLCBfKCJBdCB0b3Ag bGV2ZWw6IikpOworICAgICAgIGVsc2UKKyAJeworLQkgIGlmIChUUkVFX0NPREUgKFRSRUVfVFlQ RSAoY3VycmVudF9mdW5jdGlvbl9kZWNsKSkgPT0gTUVUSE9EX1RZUEUpCisrCSAgdHJlZSBmbmRl Y2wsIGFvOworKworKwkgIGlmIChhYnN0cmFjdF9vcmlnaW4pCisrCSAgICB7CisrCSAgICAgIGFv ID0gQkxPQ0tfQUJTVFJBQ1RfT1JJR0lOIChhYnN0cmFjdF9vcmlnaW4pOworKwkgICAgICB3aGls ZSAoVFJFRV9DT0RFIChhbykgPT0gQkxPQ0sgJiYgQkxPQ0tfQUJTVFJBQ1RfT1JJR0lOIChhbykp CisrCQlhbyA9IEJMT0NLX0FCU1RSQUNUX09SSUdJTiAoYW8pOworKwkgICAgICBnY2NfYXNzZXJ0 IChUUkVFX0NPREUgKGFvKSA9PSBGVU5DVElPTl9ERUNMKTsKKysJICAgICAgZm5kZWNsID0gYW87 CisrCSAgICB9CisrCSAgZWxzZQorKwkgICAgZm5kZWNsID0gY3VycmVudF9mdW5jdGlvbl9kZWNs OworKworKwkgIGlmIChUUkVFX0NPREUgKFRSRUVfVFlQRSAoZm5kZWNsKSkgPT0gTUVUSE9EX1RZ UEUpCisgCSAgICBwcF9wcmludGYKKy0JICAgICAgKGNvbnRleHQtPnByaW50ZXIsIF8oIkluIG1l bWJlciBmdW5jdGlvbiAlcXM6IiksCistCSAgICAgICBsYW5nX2hvb2tzLmRlY2xfcHJpbnRhYmxl X25hbWUgKGN1cnJlbnRfZnVuY3Rpb25fZGVjbCwgMikpOworKwkgICAgICAoY29udGV4dC0+cHJp bnRlciwgXygiSW4gbWVtYmVyIGZ1bmN0aW9uICVxcyIpLAorKwkgICAgICAgbGFuZ19ob29rcy5k ZWNsX3ByaW50YWJsZV9uYW1lIChmbmRlY2wsIDIpKTsKKyAJICBlbHNlCisgCSAgICBwcF9wcmlu dGYKKy0JICAgICAgKGNvbnRleHQtPnByaW50ZXIsIF8oIkluIGZ1bmN0aW9uICVxczoiKSwKKy0J ICAgICAgIGxhbmdfaG9va3MuZGVjbF9wcmludGFibGVfbmFtZSAoY3VycmVudF9mdW5jdGlvbl9k ZWNsLCAyKSk7CisrCSAgICAgIChjb250ZXh0LT5wcmludGVyLCBfKCJJbiBmdW5jdGlvbiAlcXMi KSwKKysJICAgICAgIGxhbmdfaG9va3MuZGVjbF9wcmludGFibGVfbmFtZSAoZm5kZWNsLCAyKSk7 CisrCisrCSAgd2hpbGUgKGFic3RyYWN0X29yaWdpbikKKysJICAgIHsKKysJICAgICAgbG9jYXRp b25fdCAqbG9jdXM7CisrCSAgICAgIHRyZWUgYmxvY2sgPSBhYnN0cmFjdF9vcmlnaW47CisrCisr CSAgICAgIGxvY3VzID0gJkJMT0NLX1NPVVJDRV9MT0NBVElPTiAoYmxvY2spOworKwkgICAgICBm bmRlY2wgPSBOVUxMOworKwkgICAgICBibG9jayA9IEJMT0NLX1NVUEVSQ09OVEVYVCAoYmxvY2sp OworKwkgICAgICB3aGlsZSAoYmxvY2sgJiYgVFJFRV9DT0RFIChibG9jaykgPT0gQkxPQ0sKKysJ CSAgICAgJiYgQkxPQ0tfQUJTVFJBQ1RfT1JJR0lOIChibG9jaykpCisrCQl7CisrCQkgIGFvID0g QkxPQ0tfQUJTVFJBQ1RfT1JJR0lOIChibG9jayk7CisrCisrCQkgIHdoaWxlIChUUkVFX0NPREUg KGFvKSA9PSBCTE9DSyAmJiBCTE9DS19BQlNUUkFDVF9PUklHSU4gKGFvKSkKKysJCSAgICBhbyA9 IEJMT0NLX0FCU1RSQUNUX09SSUdJTiAoYW8pOworKworKwkJICBpZiAoVFJFRV9DT0RFIChhbykg PT0gRlVOQ1RJT05fREVDTCkKKysJCSAgICB7CisrCQkgICAgICBmbmRlY2wgPSBhbzsKKysJCSAg ICAgIGJyZWFrOworKwkJICAgIH0KKysJCSAgZWxzZSBpZiAoVFJFRV9DT0RFIChhbykgIT0gQkxP Q0spCisrCQkgICAgYnJlYWs7CisrCisrCQkgIGJsb2NrID0gQkxPQ0tfU1VQRVJDT05URVhUIChi bG9jayk7CisrCQl9CisrCSAgICAgIGlmIChmbmRlY2wpCisrCQlhYnN0cmFjdF9vcmlnaW4gPSBi bG9jazsKKysJICAgICAgZWxzZQorKwkJeworKwkJICB3aGlsZSAoYmxvY2sgJiYgVFJFRV9DT0RF IChibG9jaykgPT0gQkxPQ0spCisrCQkgICAgYmxvY2sgPSBCTE9DS19TVVBFUkNPTlRFWFQgKGJs b2NrKTsKKysKKysJCSAgaWYgKFRSRUVfQ09ERSAoYmxvY2spID09IEZVTkNUSU9OX0RFQ0wpCisr CQkgICAgZm5kZWNsID0gYmxvY2s7CisrCQkgIGFic3RyYWN0X29yaWdpbiA9IE5VTEw7CisrCQl9 CisrCSAgICAgIGlmIChmbmRlY2wpCisrCQl7CisrCQkgIGV4cGFuZGVkX2xvY2F0aW9uIHMgPSBl eHBhbmRfbG9jYXRpb24gKCpsb2N1cyk7CisrCQkgIHBwX2NoYXJhY3RlciAoY29udGV4dC0+cHJp bnRlciwgJywnKTsKKysJCSAgcHBfbmV3bGluZSAoY29udGV4dC0+cHJpbnRlcik7CisrCQkgIGlm IChzLmZpbGUgIT0gTlVMTCkKKysJCSAgICB7CisrI2lmZGVmIFVTRV9NQVBQRURfTE9DQVRJT04K KysJCSAgICAgIGlmIChmbGFnX3Nob3dfY29sdW1uICYmIHMuY29sdW1uICE9IDApCisrCQkJcHBf cHJpbnRmIChjb250ZXh0LT5wcmludGVyLAorKwkJCQkgICBfKCIgICAgaW5saW5lZCBmcm9tICVx cyBhdCAlczolZDolZCIpLAorKwkJCQkgICBsYW5nX2hvb2tzLmRlY2xfcHJpbnRhYmxlX25hbWUg KGZuZGVjbCwgMiksCisrCQkJCSAgIHMuZmlsZSwgcy5saW5lLCBzLmNvbHVtbik7CisrCQkgICAg ICBlbHNlCisrI2VuZGlmCisrCQkJcHBfcHJpbnRmIChjb250ZXh0LT5wcmludGVyLAorKwkJCQkg ICBfKCIgICAgaW5saW5lZCBmcm9tICVxcyBhdCAlczolZCIpLAorKwkJCQkgICBsYW5nX2hvb2tz LmRlY2xfcHJpbnRhYmxlX25hbWUgKGZuZGVjbCwgMiksCisrCQkJCSAgIHMuZmlsZSwgcy5saW5l KTsKKysKKysJCSAgICB9CisrCQkgIGVsc2UKKysJCSAgICBwcF9wcmludGYgKGNvbnRleHQtPnBy aW50ZXIsIF8oIiAgICBpbmxpbmVkIGZyb20gJXFzIiksCisrCQkJICAgICAgIGxhbmdfaG9va3Mu ZGVjbF9wcmludGFibGVfbmFtZSAoZm5kZWNsLCAyKSk7CisrCQl9CisrCSAgICB9CisrCSAgcHBf Y2hhcmFjdGVyIChjb250ZXh0LT5wcmludGVyLCAnOicpOworIAl9CisgCistICAgICAgZGlhZ25v c3RpY19zZXRfbGFzdF9mdW5jdGlvbiAoY29udGV4dCk7CisrICAgICAgZGlhZ25vc3RpY19zZXRf bGFzdF9mdW5jdGlvbiAoY29udGV4dCwgZGlhZ25vc3RpYyk7CisgICAgICAgcHBfZmx1c2ggKGNv bnRleHQtPnByaW50ZXIpOworICAgICAgIGNvbnRleHQtPnByaW50ZXItPnByZWZpeCA9IG9sZF9w cmVmaXg7CisgICAgICAgZnJlZSAoKGNoYXIqKSBuZXdfcHJlZml4KTsKKy0tLSBnY2MvbGFuZ2hv b2tzLmguamoJMjAwNy0wMi0yMCAyMjozOToxMi4wMDAwMDAwMDAgKzAxMDAKKysrKyBnY2MvbGFu Z2hvb2tzLmgJMjAwNy0wOS0yOCAyMjo0NToxOS4wMDAwMDAwMDAgKzAyMDAKK0BAIC0yNCw2ICsy NCw3IEBAIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLiAgKi8KKyAvKiBUaGlzIGZpbGUgc2hv dWxkIGJlICNpbmNsdWRlLWQgYWZ0ZXIgdHJlZS5oLiAgKi8KKyAKKyBzdHJ1Y3QgZGlhZ25vc3Rp Y19jb250ZXh0OworK3N0cnVjdCBkaWFnbm9zdGljX2luZm87CisgCisgc3RydWN0IGdpbXBsaWZ5 X29tcF9jdHg7CisgCitAQCAtMzkxLDcgKzM5Miw4IEBAIHN0cnVjdCBsYW5nX2hvb2tzCisgICB0 cmVlICgqbGFuZ19nZXRfY2FsbGVlX2ZuZGVjbCkgKHRyZWUpOworIAorICAgLyogQ2FsbGVkIGJ5 IHJlcG9ydF9lcnJvcl9mdW5jdGlvbiB0byBwcmludCBvdXQgZnVuY3Rpb24gbmFtZS4gICovCist ICB2b2lkICgqcHJpbnRfZXJyb3JfZnVuY3Rpb24pIChzdHJ1Y3QgZGlhZ25vc3RpY19jb250ZXh0 ICosIGNvbnN0IGNoYXIgKik7CisrICB2b2lkICgqcHJpbnRfZXJyb3JfZnVuY3Rpb24pIChzdHJ1 Y3QgZGlhZ25vc3RpY19jb250ZXh0ICosIGNvbnN0IGNoYXIgKiwKKysJCQkJc3RydWN0IGRpYWdu b3N0aWNfaW5mbyAqKTsKKyAKKyAgIC8qIENhbGxlZCBmcm9tIGV4cHJfc2l6ZSB0byBjYWxjdWxh dGUgdGhlIHNpemUgb2YgdGhlIHZhbHVlIG9mIGFuCisgICAgICBleHByZXNzaW9uIGluIGEgbGFu Z3VhZ2UtZGVwZW5kZW50IHdheS4gIFJldHVybnMgYSB0cmVlIGZvciB0aGUgc2l6ZQorLS0tIGdj Yy9sYW5naG9va3MtZGVmLmguamoJMjAwNy0wMi0yMCAyMjozOToxMy4wMDAwMDAwMDAgKzAxMDAK KysrKyBnY2MvbGFuZ2hvb2tzLWRlZi5oCTIwMDctMDktMjggMjI6NDU6MTkuMDAwMDAwMDAwICsw MjAwCitAQCAtMjUsNiArMjUsNyBAQCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4gICovCisg I2luY2x1ZGUgImhvb2tzLmgiCisgCisgc3RydWN0IGRpYWdub3N0aWNfY29udGV4dDsKKytzdHJ1 Y3QgZGlhZ25vc3RpY19pbmZvOworIAorIC8qIFByb3ZpZGUgYSBob29rIHJvdXRpbmUgZm9yIGFs aWFzIHNldHMgdGhhdCBhbHdheXMgcmV0dXJucyAxLiAgVGhpcyBpcworICAgIHVzZWQgYnkgbGFu Z3VhZ2VzIHRoYXQgaGF2ZW4ndCBkZWFsIHdpdGggYWxpYXMgc2V0cyB5ZXQuICAqLworQEAgLTU3 LDcgKzU4LDcgQEAgZXh0ZXJuIGludCBsaGRfdHlwZXNfY29tcGF0aWJsZV9wICh0cmVlLAorIGV4 dGVybiBydHggbGhkX2V4cGFuZF9leHByICh0cmVlLCBydHgsIGVudW0gbWFjaGluZV9tb2RlLCBp bnQsIHJ0eCAqKTsKKyBleHRlcm4gaW50IGxoZF9leHBhbmRfZGVjbCAodHJlZSk7CisgZXh0ZXJu IHZvaWQgbGhkX3ByaW50X2Vycm9yX2Z1bmN0aW9uIChzdHJ1Y3QgZGlhZ25vc3RpY19jb250ZXh0 ICosCistCQkJCSAgICAgIGNvbnN0IGNoYXIgKik7CisrCQkJCSAgICAgIGNvbnN0IGNoYXIgKiwg c3RydWN0IGRpYWdub3N0aWNfaW5mbyAqKTsKKyBleHRlcm4gdm9pZCBsaGRfc2V0X2RlY2xfYXNz ZW1ibGVyX25hbWUgKHRyZWUpOworIGV4dGVybiBib29sIGxoZF9jYW5fdXNlX2JpdF9maWVsZHNf cCAodm9pZCk7CisgZXh0ZXJuIGJvb2wgbGhkX3dhcm5fdW51c2VkX2dsb2JhbF9kZWNsICh0cmVl KTsKCmRpZmYgLS1naXQgYS9nY2M0MS5zcGVjIGIvZ2NjNDEuc3BlYwppbmRleCAwZTA4MTgwLi40 OTc0OTc4IDEwMDY0NAotLS0gYS9nY2M0MS5zcGVjCisrKyBiL2djYzQxLnNwZWMKQEAgLTEsNiAr MSw2IEBACiAlZGVmaW5lIERBVEUgMjAwNzA5MjUKICVkZWZpbmUgZ2NjX3ZlcnNpb24gNC4xLjIK LSVkZWZpbmUgZ2NjX3JlbGVhc2UgMjgKKyVkZWZpbmUgZ2NjX3JlbGVhc2UgMjkKICVkZWZpbmUg X3VucGFja2FnZWRfZmlsZXNfdGVybWluYXRlX2J1aWxkIDAKICVkZWZpbmUgbXVsdGlsaWJfNjRf YXJjaHMgc3BhcmM2NCBwcGM2NCBzMzkweCB4ODZfNjQKICVkZWZpbmUgaW5jbHVkZV9nYXBwbGV0 dmlld2VyIDEKQEAgLTE0NSw2ICsxNDUsNyBAQCBQYXRjaDI4OiBnY2M0MS1lcnJvci1hdHRyaWIu cGF0Y2gKIFBhdGNoMjk6IGdjYzQxLWpkd3AucGF0Y2gKIFBhdGNoMzA6IGdjYzQxLXByMjA4ODAu cGF0Y2gKIFBhdGNoMzE6IGdjYzQxLXByMzI2OTQucGF0Y2gKK1BhdGNoMzI6IGdjYzQxLXZpcnR1 YWwtaW5saW5lLWJhY2t0cmFjZS5wYXRjaAogCiAjIE9uIEFSTSBFQUJJIHN5c3RlbXMsIHdlIGRv IHdhbnQgLWdudWVhYmkgdG8gYmUgcGFydCBvZiB0aGUKICMgdGFyZ2V0IHRyaXBsZS4KQEAgLTQ1 OSw2ICs0NjAsNyBAQCB3aGljaCBhcmUgcmVxdWlyZWQgdG8gcnVuIHByb2dyYW1zIGNvbXBpbGVk IHdpdGggdGhlIEdOQVQuCiAlcGF0Y2gyOSAtcDAgLWIgLmpkd3B+CiAlcGF0Y2gzMCAtcDAgLWIg LnByMjA4ODB+CiAlcGF0Y2gzMSAtcDAgLWIgLnByMzI2OTR+CislcGF0Y2gzMiAtcDAgLWIgLnZp cnR1YWwtaW5saW5lLWJhY2t0cmFjZX4KIAogc2VkIC1pIC1lICdzLzRcLjFcLjMvNC4xLjIvJyBn Y2MvQkFTRS1WRVIgZ2NjL3ZlcnNpb24uYwogc2VkIC1pIC1lICdzLyIgKFJlZCBIYXRbXildKiki LyIgKFJlZCBIYXQgJXt2ZXJzaW9ufS0le2djY19yZWxlYXNlfSkiLycgZ2NjL3ZlcnNpb24uYwpA QCAtMTYxMyw2ICsxNjE1LDEwIEBAIGZpCiAlZG9jIHJwbS5kb2MvY2hhbmdlbG9ncy9saWJtdWRm bGFwL0NoYW5nZUxvZyoKIAogJWNoYW5nZWxvZworKiBGcmkgU2VwIDI4IDIwMDcgSmFrdWIgSmVs aW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC4xLjItMjkKKy0gcHJpbnQgdmlydHVhbCBpbmxpbmUg YmFja3RyYWNlIGluIHNvbWUgZGlhZ25vc3RpYyBtZXNzYWdlcyB0byBoZWxwCisgIGxvY2F0ZSBi dWdzIHJlcG9ydGVkIHdpdGggLURfRk9SVElGWV9TT1VSQ0V7LD0yfQorCiAqIFR1ZSBTZXAgMjUg MjAwNyBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjEuMi0yOAogLSB1cGRhdGUg ZnJvbSBnY2MtNF8xLWJyYW5jaCAoLXIxMjc2NzI6MTI4NzM2KQogICAtIFBScyBib290c3RyYXAv MzM0MTgsIGMrKy8zMTk0MSwgYysrLzMyMTEzLCBqYXZhLzMxODQyLCB0YXJnZXQvMzMyNTYsCg==