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: Michal Domonkos To: git-commits@fedoraproject.org Subject: [rpms/python3-rpm] epel10: Make syslog plugin output more useful and required Date: Thu, 25 Jun 2026 07:43:28 GMT Message-ID: <178237340878.1.671536470965267862.rpms-python3-rpm-2b9f6dd2dff6@fedoraproject.org> List-ID: X-Git-Repo: rpms/python3-rpm X-Git-Branch: epel10 X-Git-Rev: 2b9f6dd2dff663a6ac316026f8f23dcb9ea6cd9a ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvcHl0aG9uMy1ycG0KICAgICAgICAgICAgQnJhbmNoIDogZXBlbDEwCiAgICAg ICAgICAgIENvbW1pdCA6IDJiOWY2ZGQyZGZmNjYzYTZhYzMxNjAyNmY4ZjIzZGNiOWVhNmNkOWEK ICAgICAgICAgICAgQXV0aG9yIDogTWljaGFsIERvbW9ua29zIDxtZG9tb25rb0ByZWRoYXQuY29t PgogICAgICAgICAgICBEYXRlICAgOiAyMDI2LTA2LTE4VDEzOjMxOjA5KzAyOjAwCiAgICAgICAg ICAgIFN0YXRzICA6ICs3MDIvLTAgaW4gMiBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0 dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvcHl0aG9uMy1ycG0vYy8yYjlmNmRkMmRm ZjY2M2E2YWMzMTYwMjZmOGYyM2RjYjllYTZjZDlhP2JyYW5jaD1lcGVsMTAKCiAgICAgICAgICAg IExvZzoKICAgICAgICAgICAgTWFrZSBzeXNsb2cgcGx1Z2luIG91dHB1dCBtb3JlIHVzZWZ1bCBh bmQgcmVxdWlyZWQKCkluc3RhbGwgdGhlIHBsdWdpbiB3aGVuIHRoZSBzeXNsb2cgcHJvdmlkZSBp cyBpbnN0YWxsZWQuIFN5c3RlbWQKcHJvdmlkZXMgdGhhdCBuYW1lIHNpbmNlIGpvdXJuYWxkIGhh bmRsZXMgdGhlIHN5c2xvZyBmYWNpbGl0aWVzLgoKUmVzb2x2ZXM6IFJIRUwtMTU1MjcyCgotLS0K ZGlmZiAtLWdpdCBhL3JwbS00LjE5LngtaW1wcm92ZS1zeXNsb2cucGF0Y2ggYi9ycG0tNC4xOS54 LWltcHJvdmUtc3lzbG9nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu Ljk5NzNhMmMKLS0tIC9kZXYvbnVsbAorKysgYi9ycG0tNC4xOS54LWltcHJvdmUtc3lzbG9nLnBh dGNoCkBAIC0wLDAgKzEsNjk5IEBACitGcm9tIDc2YmU1YjcwN2QxZDU1Mzg4YmNiNmJkNzdjOGNj MzUxMTUyNjEyZGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQYW51IE1hdGlsYWlu ZW4gPHBtYXRpbGFpQHJlZGhhdC5jb20+CitEYXRlOiBXZWQsIDggQXByIDIwMjYgMTA6NDA6Mzkg KzAzMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzZdIEZpeCB3cm9uZyBvcGVyYXRpb24gbmFtZXMgdXNl ZCBpbiB0aGUgc3lzbG9nIHBsdWdpbgorCitUaGVyZSBhcmUgbW9yZSBycG10ZSB0eXBlcyB0aGFu IGp1c3QgVFJfQURERUQgYW5kIFRSX1JFTU9WRUQgdGhlc2UgZGF5cywKK2J1dCB0aGlzIGNvZGUg d2FzIG5ldmVyIHVwZGF0ZWQgdG8gbWF0Y2guIEFzIGEgcmVzdWx0LCBpdCdsbCBsb2cKK2FueXRo aW5nIGJ1dCBpbnN0YWxscyAoc3VjaCBhcyAtLXJlc3RvcmUpIGFzIGVyYXN1cmUgd2hpY2ggY2Fu IGJlIGEKK2xpdHRsZSBoYWlyLXJhaXNpbmcgd2hlbiBsb29raW5nIGF0IHRoZSBsb2cuCisKK0Zp eGVzOiAjNDE3MgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYmJiYTViOTg2ZmY0NjhiYWRi NDlhODIyYmQ3MGI2OGRjZjYwNmNlZikKKy0tLQorIHBsdWdpbnMvc3lzbG9nLmMgfCAxMyArKysr KysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSkKKworZGlmZiAtLWdpdCBhL3BsdWdpbnMvc3lzbG9nLmMgYi9wbHVnaW5zL3N5c2xvZy5jCitp bmRleCBmN2IxYTEzODguLjJkYWM5ODcyZiAxMDA2NDQKKy0tLSBhL3BsdWdpbnMvc3lzbG9nLmMK KysrKyBiL3BsdWdpbnMvc3lzbG9nLmMKK0BAIC03NCwxMyArNzQsMjQgQEAgc3RhdGljIHJwbVJD IHN5c2xvZ190c21fcG9zdChycG1QbHVnaW4gcGx1Z2luLCBycG10cyB0cywgaW50IHJlcykKKyAg ICAgcmV0dXJuIFJQTVJDX09LOworIH0KKyAKKytzdGF0aWMgY29uc3QgY2hhciAqZ2V0T3AocnBt dGUgdGUpCisreworKyAgICBzd2l0Y2ggKHJwbXRlVHlwZSh0ZSkpIHsKKysgICAgY2FzZSBUUl9B RERFRDoJcmV0dXJuICJpbnN0YWxsIjsKKysgICAgY2FzZSBUUl9SRU1PVkVEOglyZXR1cm4gImVy YXNlIjsKKysgICAgY2FzZSBUUl9SUE1EQjoJcmV0dXJuICJycG1kYiI7CisrICAgIGNhc2UgVFJf UkVTVE9SRUQ6CXJldHVybiAicmVzdG9yZSI7CisrICAgIH0KKysgICAgcmV0dXJuICI8dW5rbm93 bj4iOworK30KKysKKyBzdGF0aWMgcnBtUkMgc3lzbG9nX3BzbV9wb3N0KHJwbVBsdWdpbiBwbHVn aW4sIHJwbXRlIHRlLCBpbnQgcmVzKQorIHsKKyAgICAgc3RydWN0IGxvZ3N0YXQgKiBzdGF0ZSA9 IHJwbVBsdWdpbkdldERhdGEocGx1Z2luKTsKKyAKKyAgICAgaWYgKHN0YXRlLT5sb2dnaW5nKSB7 CisgCWludCBsdmwgPSBMT0dfTk9USUNFOworLQljb25zdCBjaGFyICpvcCA9IChycG10ZVR5cGUo dGUpID09IFRSX0FEREVEKSA/ICJpbnN0YWxsIiA6ICJlcmFzZSI7CisrCWNvbnN0IGNoYXIgKm9w ID0gZ2V0T3AodGUpOworIAljb25zdCBjaGFyICpvdXRjb21lID0gInN1Y2Nlc3MiOworIAkvKiBY WFg6IFBlcm1pdCBjb25maWd1cmFibGUgaGVhZGVyIHF1ZXJ5Zm9ybWF0PyAqLworIAljb25zdCBj aGFyICpwa2cgPSBycG10ZU5FVlJBKHRlKTsKKy0tIAorMi41NC4wCisKKworRnJvbSBmYzVjMDgz YjA2YWUxYjI0Yzg3OWM4ZGIzZTRhZjVkNTcwNzQ3MDBhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogUGFudSBNYXRpbGFpbmVuIDxwbWF0aWxhaUByZWRoYXQuY29tPgorRGF0ZTogV2Vk LCAxNSBBcHIgMjAyNiAxNjoyOTozMSArMDMwMAorU3ViamVjdDogW1BBVENIIDIvNl0gVXNlIGEg c2FuZSBpZGVudGl0eSBzdHJpbmcgZm9yIHN5c2xvZworCitUaGUgb2xkICJbUlBNXSIgc3RyaW5n IGlzIGEgUElUQSB0byBncmVwIGZvciBhbmQgYW5ub3lpbmcgd2l0aCBqb3VybmFsY3RsCit0b28u IExldHMganVzdCB1c2UgcGxhaW4gInJwbSIgdG8gcmVkdWNlIGZyaWN0aW9uLiBBbmQgd2l0aCB0 aGF0LAorImpvdXJuYWxjdGwgLXQgcnBtIiBpcyBhY3R1YWxseSBhIHByZXR0eSBoYW5keSB3YXkg dG8gbG9vayBhdCB0aGUKK3RyYW5zYWN0aW9uIGhpc3RvcnkuCisKK0luIHRoZW9yeSwgdGhpcyBj b3VsZCBvZiBjb3Vyc2UgYnJlYWsgc29tZWJvZHkncyBzY3JpcHRzLiBCdXQKK2NvbnNpZGVyaW5n IGhvdyBicm9rZW4gdGhlIG91dHB1dCBoYXMgYmVlbiB3aXRob3V0IGFueWJvZHkgY29tcGxhaW5p bmcsCitpdCBzdWdnZXN0cyBub2JvZHkgaXMgYWN0dWFsbHkgdXNpbmcgdGhpcyBwbHVnaW4gYW5k IHNvLCBjaGFuZ2luZyBjYW5ub3QKK2h1cnQuCisKKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0 IDA5OTEyODM5NmMyYTc4Y2MyY2E1NzZiZTdjOThkYzI2OWQxMWE0NTcpCistLS0KKyBwbHVnaW5z L3N5c2xvZy5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxl dGlvbigtKQorCitkaWZmIC0tZ2l0IGEvcGx1Z2lucy9zeXNsb2cuYyBiL3BsdWdpbnMvc3lzbG9n LmMKK2luZGV4IDJkYWM5ODcyZi4uZTA1YTliNGQxIDEwMDY0NAorLS0tIGEvcGx1Z2lucy9zeXNs b2cuYworKysrIGIvcGx1Z2lucy9zeXNsb2cuYworQEAgLTE2LDcgKzE2LDcgQEAgc3RydWN0IGxv Z3N0YXQgeworIHN0YXRpYyBycG1SQyBzeXNsb2dfaW5pdChycG1QbHVnaW4gcGx1Z2luLCBycG10 cyB0cykKKyB7CisgICAgIC8qIFhYWCBtYWtlIHRoaXMgY29uZmlndXJhYmxlPyAqLworLSAgICBj b25zdCBjaGFyICogbG9nX2lkZW50ID0gIltSUE1dIjsKKysgICAgY29uc3QgY2hhciAqIGxvZ19p ZGVudCA9ICJycG0iOworICAgICBzdHJ1Y3QgbG9nc3RhdCAqIHN0YXRlID0gcmNhbGxvYygxLCBz aXplb2YoKnN0YXRlKSk7CisgCisgICAgIHJwbVBsdWdpblNldERhdGEocGx1Z2luLCBzdGF0ZSk7 CistLSAKKzIuNTQuMAorCisKK0Zyb20gOTFkMzlkYmJiZWQyYWQ1NTM3NTUxYWVmNWRkM2JkNmQ2 NTUxMGJlYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBhbnUgTWF0aWxhaW5lbiA8 cG1hdGlsYWlAcmVkaGF0LmNvbT4KK0RhdGU6IFdlZCwgMTUgQXByIDIwMjYgMTM6NTM6NTcgKzAz MDAKK1N1YmplY3Q6IFtQQVRDSCAzLzZdIEFkZCArIHVzZSBhbiBpbnRlcm5hbCBtYWNybyBmb3Ig ZGV0ZXJtaW5pbmcgc2NyaXB0LW9ubHkKKyBpbnN0YWxsIGdvYWxzCisKK05vIGZ1bmN0aW9uYWwg Y2hhbmdlcywgYnV0IHdlJ2xsIG5lZWQgdGhpcyBpbmZvIGluIGFub3RoZXIgc3BvdCBpbgordGhl IG5leHQgY29tbWl0LgorCisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBiZmVmYzEzN2ViMmQy NGM3Njg1OGNjMTMxYjk5OGE5ZmFjOTlhNjc5KQorLS0tCisgbGliL3JwbXRlLmMgICAgICAgICAg fCAyICstCisgbGliL3JwbXRlX2ludGVybmFsLmggfCAyICsrCisgMiBmaWxlcyBjaGFuZ2VkLCAz IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2xpYi9ycG10ZS5j IGIvbGliL3JwbXRlLmMKK2luZGV4IDY1N2I0ZTExZC4uMzgwMmFlYWVjIDEwMDY0NAorLS0tIGEv bGliL3JwbXRlLmMKKysrKyBiL2xpYi9ycG10ZS5jCitAQCAtODE1LDcgKzgxNSw3IEBAIGludCBy cG10ZUFkZE9wKHJwbXRlIHRlKQorIGludCBycG10ZVByb2Nlc3MocnBtdGUgdGUsIHBrZ0dvYWwg Z29hbCwgaW50IG51bSkKKyB7CisgICAgIC8qIE9ubHkgaW5zdGFsbC9lcmFzZSByZXNldHMgcGtn IGZpbGUgaW5mbyAqLworLSAgICBpbnQgc2NyaXB0c3RhZ2UgPSAoZ29hbCAhPSBQS0dfSU5TVEFM TCAmJiBnb2FsICE9IFBLR19FUkFTRSAmJiBnb2FsICE9IFBLR19SRVNUT1JFKTsKKysgICAgaW50 IHNjcmlwdHN0YWdlID0gaXNTY3JpcHRTdGFnZShnb2FsKTsKKyAgICAgaW50IHRlc3QgPSAocnBt dHNGbGFncyh0ZS0+dHMpICYgUlBNVFJBTlNfRkxBR19URVNUKTsKKyAgICAgaW50IHJlc2V0X2Zp ID0gKHNjcmlwdHN0YWdlID09IDAgJiYgdGVzdCA9PSAwKTsKKyAgICAgaW50IGZhaWxlZCA9IDE7 CitkaWZmIC0tZ2l0IGEvbGliL3JwbXRlX2ludGVybmFsLmggYi9saWIvcnBtdGVfaW50ZXJuYWwu aAoraW5kZXggZTYxNmMwNTYxLi44ODE3NzJjOTUgMTAwNjQ0CistLS0gYS9saWIvcnBtdGVfaW50 ZXJuYWwuaAorKysrIGIvbGliL3JwbXRlX2ludGVybmFsLmgKK0BAIC0yMiw2ICsyMiw4IEBAIHR5 cGVkZWYgZW51bSBwa2dHb2FsX2UgeworICAgICBQS0dfVFJBTlNGSUxFVFJJR0dFUlVOCT0gUlBN VEFHX1RSQU5TRklMRVRSSUdHRVJVTiwKKyB9IHBrZ0dvYWw7CisgCisrI2RlZmluZSBpc1Njcmlw dFN0YWdlKF9nKSAoKF9nKSAhPSBQS0dfSU5TVEFMTCAmJiAoX2cpICE9IFBLR19FUkFTRSAmJiAo X2cpICE9IFBLR19SRVNUT1JFKQorKworIC8qKiBcaW5ncm91cCBycG10ZQorICAqIFRyYW5zYWN0 aW9uIGVsZW1lbnQgb3JkZXJpbmcgY2hhaW4gbGlua2FnZS4KKyAgKi8KKy0tIAorMi41NC4wCisK KworRnJvbSAzOGUxZmVkZDcyY2IxNGI5YmY4ZTBhNDI4YTc5MDcxZWIwZTUxMGRjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGFudSBNYXRpbGFpbmVuIDxwbWF0aWxhaUByZWRoYXQu Y29tPgorRGF0ZTogV2VkLCAxNSBBcHIgMjAyNiAxMzo1OToxNiArMDMwMAorU3ViamVjdDogW1BB VENIIDQvNl0gT25seSBleGVjdXRlIHBzbV9wcmUgYW5kIHBzbV9wb3N0IGZvciB0aGUgbWFpbiBw YWNrYWdlCisgb3BlcmF0aW9uCisKK1RoZXNlIGhvb2tzIGdldHRpbmcgY2FsbGVkIG11bHRpcGxl IHRpbWVzIHdpdGggbm8gbWVhbnMgdG8gaWRlbnRpZnkKK3doeSBpdCdzIGdldHRpbmcgY2FsbGVk IG1ha2VzIHRoZW0gaW1wb3NzaWJsZSB0byB1c2UgbWVhbmluZ2Z1bGx5LgorT25seSBydW4gdGhl IHBzbSBob29rcyBvbiBub24tc2NyaXB0IGdvYWxzOiBpbnN0YWxsLCBlcmFzZSBhbmQgcmVzdG9y ZS4KKworSXQgaXMgb2YgY291cnNlIGEgY2hhbmdlIHRvIHdoYXQgaXMgbm93IGEgcHVibGljIEFQ SSBzZW1hbnRpY3MsCitidXQgdGhlIGZvcm1lciBiZWhhdmlvciBpcyByZWFsbHkgYSBidWcgdGhh dCB3ZSdyZSBmaXhpbmcgaGVyZS4KKworV2l0aCB0aGlzIGNoYW5nZSwgdGhlIHN5c2xvZyBwbHVn aW4gbm8gbG9uZ2VyIGVtaXRzIGR1cGxpY2F0ZXMgYW5kCitpbiBhIHN0cmFuZ2Ugb3JkZXIgYXQg dGhhdC4KKworRml4ZXM6ICMxMjU0CisoYmFja3BvcnRlZCBmcm9tIGNvbW1pdCAwYTQ1YWVmYTAx ZDE1MTcxODRjNDFmMjMzZjRiNTNjZWJkNzhjZjhkKQorLS0tCisgZG9jcy9tYW51YWwvcGx1Z2lu cy5tZCB8IDIgKy0KKyBsaWIvcHNtLmMgICAgICAgICAgICAgIHwgNyArKysrLS0tCisgMiBmaWxl cyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQg YS9kb2NzL21hbnVhbC9wbHVnaW5zLm1kIGIvZG9jcy9tYW51YWwvcGx1Z2lucy5tZAoraW5kZXgg ZTUzZWI5ZTNkLi5iMzRjMTgyZjQgMTAwNjQ0CistLS0gYS9kb2NzL21hbnVhbC9wbHVnaW5zLm1k CisrKysgYi9kb2NzL21hbnVhbC9wbHVnaW5zLm1kCitAQCAtNDQsNyArNDQsNyBAQCBQb3N0IGhv b2sgaXMgZ3VhcmFudGVlZCB0byBleGVjdXRlIHdoZW5ldmVyIHByZSBob29rIHdhcyBleGVjdXRl ZC4KKyAKKyAjIyBQZXIgdHJhbnNhY3Rpb24gZWxlbWVudCBob29rcworIAorLUhvb2tzIGBwc21f cHJlYCBhbmQgYHBzbV9wb3N0YCBvY2N1ciBiZWZvcmUgYW5kIGFmdGVyIHRoZSBwcm9jZXNzaW5n IG9mIHNpbmdsZSB0cmFuc2FjdGlvbiBlbGVtZW50IHdpdGhpbiB0aGUgdHJhbnNhY3Rpb24uIEJv dGggaG9va3MgY2FuIGdldCBleGVjdXRlZCBtdWx0aXBsZSB0aW1lcyBmb3IgYSBzaW5nbGUgZWxl bWVudCBhcyB0aGVzZSBob29rcyBnZXQgY2FsbGVkIHNlcGFyYXRlbHkgZm9yICVwcmV0cmFucyBh bmQgJXBvc3R0cmFucyBzY3JpcHRsZXRzIGluIGFkZGl0aW9uIHRvIHRoZSBtYWluIHBhY2thZ2Ug aW5zdGFsbCBvciBlcmFzZSBhY3Rpb24uCisrSG9va3MgYHBzbV9wcmVgIGFuZCBgcHNtX3Bvc3Rg IG9jY3VyIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIHByb2Nlc3Npbmcgb2Ygc2luZ2xlIHRyYW5zYWN0 aW9uIGVsZW1lbnQgd2l0aGluIHRoZSB0cmFuc2FjdGlvbiBkdXJpbmcgaW5zdGFsbCwgZXJhc2Ug YW5kIHJlc3RvcmUgb3BlcmF0aW9ucy4KKyAKKyBQb3N0IGhvb2sgaXMgZ3VhcmFudGVlZCB0byBl eGVjdXRlIHdoZW5ldmVyIHByZSBob29rIHdhcyBleGVjdXRlZC4KKyAKK2RpZmYgLS1naXQgYS9s aWIvcHNtLmMgYi9saWIvcHNtLmMKK2luZGV4IDM5MjYxYjlmNC4uODIwNzA0Y2FiIDEwMDY0NAor LS0tIGEvbGliL3BzbS5jCisrKysgYi9saWIvcHNtLmMKK0BAIC0xMTE4LDcgKzExMTgsOCBAQCBz dGF0aWMgcnBtUkMgcnVuR29hbChycG1wc20gcHNtLCBwa2dHb2FsIGdvYWwpCisgcnBtUkMgcnBt cHNtUnVuKHJwbXRzIHRzLCBycG10ZSB0ZSwgcGtnR29hbCBnb2FsKQorIHsKKyAgICAgcnBtcHNt IHBzbSA9IE5VTEw7CistICAgIHJwbVJDIHJjID0gUlBNUkNfRkFJTDsKKysgICAgcnBtUkMgcmMg PSBSUE1SQ19PSzsKKysgICAgaW50IHJ1bnBsdWdpbnMgPSAoaXNTY3JpcHRTdGFnZShnb2FsKSA9 PSAwKTsKKyAKKyAgICAgLyogUHNtIGNhbid0IGZhaWwgaW4gdGVzdCBtb2RlLCBqdXN0IHJldHVy biBlYXJseSAqLworICAgICBpZiAocnBtdHNGbGFncyh0cykgJiBSUE1UUkFOU19GTEFHX1RFU1Qp CitAQCAtMTEyNiw3ICsxMTI3LDcgQEAgcnBtUkMgcnBtcHNtUnVuKHJwbXRzIHRzLCBycG10ZSB0 ZSwgcGtnR29hbCBnb2FsKQorIAorICAgICBwc20gPSBycG1wc21OZXcodHMsIHRlLCBnb2FsKTsK KyAgICAgLyogUnVuIHByZSB0cmFuc2FjdGlvbiBlbGVtZW50IGhvb2sgZm9yIGFsbCBwbHVnaW5z ICovCistICAgIGlmIChycG1DaHJvb3RJbigpID09IDApIHsKKysgICAgaWYgKHJ1bnBsdWdpbnMg JiYgcnBtQ2hyb290SW4oKSA9PSAwKSB7CisgCXJjID0gcnBtcGx1Z2luc0NhbGxQc21QcmUocnBt dHNQbHVnaW5zKHRzKSwgdGUpOworIAlycG1DaHJvb3RPdXQoKTsKKyAgICAgfQorQEAgLTExMzUs NyArMTEzNiw3IEBAIHJwbVJDIHJwbXBzbVJ1bihycG10cyB0cywgcnBtdGUgdGUsIHBrZ0dvYWwg Z29hbCkKKyAJcmMgPSBydW5Hb2FsKHBzbSwgZ29hbCk7CisgCisgICAgIC8qIFJ1biBwb3N0IHRy YW5zYWN0aW9uIGVsZW1lbnQgaG9vayBmb3IgYWxsIHBsdWdpbnMgKGV2ZW4gb24gZmFpbHVyZSkg Ki8KKy0gICAgaWYgKHJwbUNocm9vdEluKCkgPT0gMCkgeworKyAgICBpZiAocnVucGx1Z2lucyAm JiBycG1DaHJvb3RJbigpID09IDApIHsKKyAJcnBtcGx1Z2luc0NhbGxQc21Qb3N0KHJwbXRzUGx1 Z2lucyh0cyksIHRlLCByYyk7CisgCXJwbUNocm9vdE91dCgpOworICAgICB9CistLSAKKzIuNTQu MAorCisKK0Zyb20gNGY4NWQ4Y2Y5OGU2NzIwMGY4MmE2Y2VmNjY2ZDZiZmVjYjA4NGYyMSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBhbnUgTWF0aWxhaW5lbiA8cG1hdGlsYWlAcmVk aGF0LmNvbT4KK0RhdGU6IFdlZCwgMjAgTWF5IDIwMjYgMTY6MzM6MDIgKzAzMDAKK1N1YmplY3Q6 IFtQQVRDSCA1LzZdIEFkZCBhIGNvbmZpZ3VyYWJsZSBvdXRwdXQgdGFyZ2V0IHRvIHRoZSBzeXNs b2cgcGx1Z2luCisKK0FsbG93IG9wdGlvbmFsbHkgcmVkaXJlY3RpbmcgdGhlIHBsdWdpbiBvdXRw dXQgdG8gc3RkZXJyIGluc3RlYWQgb2YKK3RoZSBhY3R1YWwgc3lzbG9nLiBXZSdsbCBuZWVkIHRo aXMgaW4gdGhlIG5leHQgY29tbWl0IHRvIG1ha2UgdGVzdGluZworYWN0dWFsbHkgZmVhc2libGUu CisKKyhiYWNrcG9ydGVkIGZyb20gY29tbWl0IGZiZjRkNTg4NDU4NzAwZGEyNWYxOTM3NzBkMTBh MzYzMmMyYzQ4MzYpCistLS0KKyBkb2NzL21hbi9ycG0tcGx1Z2luLXN5c2xvZy44Lm1kIHwgIDkg KysrKystLQorIHBsdWdpbnMvc3lzbG9nLmMgICAgICAgICAgICAgICAgfCA0MyArKysrKysrKysr KysrKysrKysrKysrKysrKystLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDQzIGluc2VydGlvbnMo KyksIDkgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kb2NzL21hbi9ycG0tcGx1Z2luLXN5 c2xvZy44Lm1kIGIvZG9jcy9tYW4vcnBtLXBsdWdpbi1zeXNsb2cuOC5tZAoraW5kZXggZTlmYTQ4 ZTFiLi40N2E2YmM1NDkgMTAwNjQ0CistLS0gYS9kb2NzL21hbi9ycG0tcGx1Z2luLXN5c2xvZy44 Lm1kCisrKysgYi9kb2NzL21hbi9ycG0tcGx1Z2luLXN5c2xvZy44Lm1kCitAQCAtMTgsOCArMTgs MTMgQEAgVGhlIHBsdWdpbiB3cml0ZXMgYmFzaWMgaW5mb3JtYXRpb24gYWJvdXQgcnBtIHRyYW5z YWN0aW9ucyB0byB0aGUgc3lzbG9nCisgQ29uZmlndXJhdGlvbgorID09PT09PT09PT09PT0KKyAK Ky1UaGVyZSBhcmUgY3VycmVudGx5IG5vIG9wdGlvbnMgZm9yIHRoaXMgcGx1Z2luIGluIHBhcnRp Y3VsYXIuIFNlZQorLSoqcnBtLXBsdWdpbnMqKig4KSBvbiBob3cgdG8gY29udHJvbCBwbHVnaW5z IGluIGdlbmVyYWwuCisrKiolXF9cX3RyYW5zYWN0aW9uXF9zeXNsb2dcX3RhcmdldCoqCisrOiAg IFNwZWNpZnkgdGFyZ2V0IG91dHB1dCBmb3IgdGhlIHBsdWdpbi4gU3VwcG9ydGVkIHZhbHVlcyBh cmU6CisrCisrICAgIC0gKipzeXNsb2cqKjogc3lzdGVtIGxvZyAoZGVmYXVsdCkKKysgICAgLSAq KnN0ZGVycioqOiBzdGFuZGFyZCBlcnJvcgorKworK1NlZSAqKnJwbS1wbHVnaW5zKiooOCkgb24g aG93IHRvIGNvbnRyb2wgcGx1Z2lucyBpbiBnZW5lcmFsLgorIAorIFNFRSBBTFNPCisgPT09PT09 PT0KK2RpZmYgLS1naXQgYS9wbHVnaW5zL3N5c2xvZy5jIGIvcGx1Z2lucy9zeXNsb2cuYworaW5k ZXggZTA1YTliNGQxLi41ZGIyOTVmNGIgMTAwNjQ0CistLS0gYS9wbHVnaW5zL3N5c2xvZy5jCisr KysgYi9wbHVnaW5zL3N5c2xvZy5jCitAQCAtMSwzNCArMSw2MyBAQAorICNpbmNsdWRlICJzeXN0 ZW0uaCIKKyAKKysjaW5jbHVkZSA8c3RkYXJnLmg+CisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorICNp bmNsdWRlIDxzeXNsb2cuaD4KKyAKKysjaW5jbHVkZSA8cnBtL3JwbWxvZy5oPgorKyNpbmNsdWRl IDxycG0vcnBtbWFjcm8uaD4KKyAjaW5jbHVkZSA8cnBtL3JwbXN0cmluZy5oPgorICNpbmNsdWRl IDxycG0vcnBtdHMuaD4KKyAjaW5jbHVkZSAicnBtcGx1Z2luLmgiCisgCisrdHlwZWRlZiB2b2lk ICgqbG9nZ2VyZnVuYykoaW50IHByaW8sIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKysKKyBzdHJ1 Y3QgbG9nc3RhdCB7CisgICAgIGludCBsb2dnaW5nOworICAgICB1bnNpZ25lZCBpbnQgc2NyaXB0 ZmFpbDsKKyAgICAgdW5zaWduZWQgaW50IHBrZ2ZhaWw7CisrICAgIGxvZ2dlcmZ1bmMgbG9nOwor IH07CisgCisrc3RhdGljIHZvaWQgZXJybG9nKGludCBwcmlvLCBjb25zdCBjaGFyICpmbXQsIC4u LikKKyt7CisrICAgIHZhX2xpc3QgYXA7CisrCisrICAgIHZhX3N0YXJ0KGFwLCBmbXQpOworKyAg ICB2ZnByaW50ZihzdGRlcnIsIGZtdCwgYXApOworKyAgICBmcHJpbnRmKHN0ZGVyciwgIlxuIik7 CisrICAgIHZhX2VuZChhcCk7CisrfQorKworIHN0YXRpYyBycG1SQyBzeXNsb2dfaW5pdChycG1Q bHVnaW4gcGx1Z2luLCBycG10cyB0cykKKyB7CisgICAgIC8qIFhYWCBtYWtlIHRoaXMgY29uZmln dXJhYmxlPyAqLworICAgICBjb25zdCBjaGFyICogbG9nX2lkZW50ID0gInJwbSI7CisgICAgIHN0 cnVjdCBsb2dzdGF0ICogc3RhdGUgPSByY2FsbG9jKDEsIHNpemVvZigqc3RhdGUpKTsKKysgICAg Y2hhciAqdGFyZ2V0ID0gcnBtRXhwYW5kKCIlez9fX3RyYW5zYWN0aW9uX3N5c2xvZ190YXJnZXR9 IiwgTlVMTCk7CisrCisrICAgIGlmIChyc3RyZXEodGFyZ2V0LCAic3RkZXJyIikpIHsKKysJc3Rh dGUtPmxvZyA9IGVycmxvZzsKKysgICAgfSBlbHNlIHsKKysJaWYgKCp0YXJnZXQgJiYgIXJzdHJl cSh0YXJnZXQsICJzeXNsb2ciKSkgeworKwkgICAgcnBtbG9nKFJQTUxPR19XQVJOSU5HLAorKwkJ XygidW5rbm93biBzeXNsb2cgdGFyZ2V0ICVzLCB1c2luZyAnc3lzbG9nJ1xuIiksIHRhcmdldCk7 CisrCX0KKysJc3RhdGUtPmxvZyA9IHN5c2xvZzsKKysJb3BlbmxvZyhsb2dfaWRlbnQsIChMT0df UElEKSwgTE9HX1VTRVIpOworKyAgICB9CisgCisgICAgIHJwbVBsdWdpblNldERhdGEocGx1Z2lu LCBzdGF0ZSk7CistICAgIG9wZW5sb2cobG9nX2lkZW50LCAoTE9HX1BJRCksIExPR19VU0VSKTsK KysgICAgZnJlZSh0YXJnZXQpOworICAgICByZXR1cm4gUlBNUkNfT0s7CisgfQorIAorIHN0YXRp YyB2b2lkIHN5c2xvZ19jbGVhbnVwKHJwbVBsdWdpbiBwbHVnaW4pCisgeworICAgICBzdHJ1Y3Qg bG9nc3RhdCAqIHN0YXRlID0gcnBtUGx1Z2luR2V0RGF0YShwbHVnaW4pOworKyAgICBpZiAoc3Rh dGUtPmxvZyA9PSBzeXNsb2cpCisrCWNsb3NlbG9nKCk7CisgICAgIGZyZWUoc3RhdGUpOworLSAg ICBjbG9zZWxvZygpOworIH0KKyAKKyBzdGF0aWMgcnBtUkMgc3lzbG9nX3RzbV9wcmUocnBtUGx1 Z2luIHBsdWdpbiwgcnBtdHMgdHMpCitAQCAtNTEsNyArODAsNyBAQCBzdGF0aWMgcnBtUkMgc3lz bG9nX3RzbV9wcmUocnBtUGx1Z2luIHBsdWdpbiwgcnBtdHMgdHMpCisgCXN0YXRlLT5sb2dnaW5n ID0gMDsKKyAKKyAgICAgaWYgKHN0YXRlLT5sb2dnaW5nKSB7CistCXN5c2xvZyhMT0dfTk9USUNF LCAiVHJhbnNhY3Rpb24gSUQgJXggc3RhcnRlZCIsIHJwbXRzR2V0VGlkKHRzKSk7CisrCXN0YXRl LT5sb2coTE9HX05PVElDRSwgIlRyYW5zYWN0aW9uIElEICV4IHN0YXJ0ZWQiLCBycG10c0dldFRp ZCh0cykpOworICAgICB9CisgCisgICAgIHJldHVybiBSUE1SQ19PSzsKK0BAIC02MywxMCArOTIs MTAgQEAgc3RhdGljIHJwbVJDIHN5c2xvZ190c21fcG9zdChycG1QbHVnaW4gcGx1Z2luLCBycG10 cyB0cywgaW50IHJlcykKKyAKKyAgICAgaWYgKHN0YXRlLT5sb2dnaW5nKSB7CisgCWlmIChzdGF0 ZS0+cGtnZmFpbCB8fCBzdGF0ZS0+c2NyaXB0ZmFpbCkgeworLQkgICAgc3lzbG9nKExPR19XQVJO SU5HLCAiJXUgZWxlbWVudHMgZmFpbGVkLCAldSBzY3JpcHRzIGZhaWxlZCIsCisrCSAgICBzdGF0 ZS0+bG9nKExPR19XQVJOSU5HLCAiJXUgZWxlbWVudHMgZmFpbGVkLCAldSBzY3JpcHRzIGZhaWxl ZCIsCisgCQkgICBzdGF0ZS0+cGtnZmFpbCwgc3RhdGUtPnNjcmlwdGZhaWwpOworIAl9CistCXN5 c2xvZyhMT0dfTk9USUNFLCAiVHJhbnNhY3Rpb24gSUQgJXggZmluaXNoZWQ6ICVkIiwKKysJc3Rh dGUtPmxvZyhMT0dfTk9USUNFLCAiVHJhbnNhY3Rpb24gSUQgJXggZmluaXNoZWQ6ICVkIiwKKyAJ CXJwbXRzR2V0VGlkKHRzKSwgcmVzKTsKKyAgICAgfQorIAorQEAgLTEwMiw3ICsxMzEsNyBAQCBz dGF0aWMgcnBtUkMgc3lzbG9nX3BzbV9wb3N0KHJwbVBsdWdpbiBwbHVnaW4sIHJwbXRlIHRlLCBp bnQgcmVzKQorIAkgICAgc3RhdGUtPnBrZ2ZhaWwrKzsKKyAJfQorIAorLQlzeXNsb2cobHZsLCAi JXMgJXM6ICVzIiwgb3AsIHBrZywgb3V0Y29tZSk7CisrCXN0YXRlLT5sb2cobHZsLCAiJXMgJXM6 ICVzIiwgb3AsIHBrZywgb3V0Y29tZSk7CisgICAgIH0KKyAgICAgcmV0dXJuIFJQTVJDX09LOwor IH0KK0BAIC0xMTMsNyArMTQyLDcgQEAgc3RhdGljIHJwbVJDIHN5c2xvZ19zY3JpcHRsZXRfcG9z dChycG1QbHVnaW4gcGx1Z2luLAorICAgICBzdHJ1Y3QgbG9nc3RhdCAqIHN0YXRlID0gcnBtUGx1 Z2luR2V0RGF0YShwbHVnaW4pOworIAorICAgICBpZiAoc3RhdGUtPmxvZ2dpbmcgJiYgcmVzKSB7 CistCXN5c2xvZyhMT0dfV0FSTklORywgInNjcmlwdGxldCAlcyBmYWlsdXJlOiAlZFxuIiwgc19u YW1lLCByZXMpOworKwlzdGF0ZS0+bG9nKExPR19XQVJOSU5HLCAic2NyaXB0bGV0ICVzIGZhaWx1 cmU6ICVkXG4iLCBzX25hbWUsIHJlcyk7CisgCXN0YXRlLT5zY3JpcHRmYWlsKys7CisgICAgIH0K KyAgICAgcmV0dXJuIFJQTVJDX09LOworLS0gCisyLjU0LjAKKworCitGcm9tIGViNDRlYThlYmIz MDViZjEzMjA4ZGFjNTUxMmJkNmUwMGMzMDg3ZWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiBQYW51IE1hdGlsYWluZW4gPHBtYXRpbGFpQHJlZGhhdC5jb20+CitEYXRlOiBXZWQsIDIw IE1heSAyMDI2IDE2OjM3OjEzICswMzAwCitTdWJqZWN0OiBbUEFUQ0ggNi82XSBSZXBvcnQgbWVh bmluZ2Z1bCBvcGVyYXRpb24gbmFtZXMgaW4gc3lzbG9nIG91dHB1dAorCitEZXRlcm1pbmUgYW5k IG91dHB1dCBodW1hbiB1bmRlcnN0YW5kYWJsZSBvcGVyYXRpb25zLCBpbmNsdWRpbmcgdGhlCity ZWxhdGVkIHRyYW5zYWN0aW9uIGVsZW1lbnRzIHdoZXJlIHJlbGV2YW50IGFuZCBleHBsYWluIGl0 IGluIHRoZQorbWFudWFsLiBEcm9wIHRoZSBjb21tZW50IGFib3V0IG1ha2luZyB0aGluZ3MgbW9y ZSBjb25maWd1cmFibGUsIHRoYXQncworbm90IGhlbHBmdWwgdG8gdGhlIGNvbW11bml0eSAoZXhj ZXB0IHBlcmhhcHMgaWYgdGhlIGRlZmF1bHQgaXMgYmFkLAorYXMgaXQgb3JpZ2luYWxseSB3YXMp LgorCitBZGQgdGVzdHMgbm93IHRoYXQgd2UgY2FuIGFjdHVhbGx5IHRlc3QgaXQuCisKK1JlbGF0 ZWQ6IFJIRUwtMTU1MjcyCisoYmFja3BvcnRlZCBmcm9tIGNvbW1pdCA5OGJjZGIzNzM5N2MyM2M2 Njg5YWI2NDgyNDg3NWY0MDIxYTk4NmVkKQorLS0tCisgZG9jcy9tYW4vcnBtLXBsdWdpbi1zeXNs b2cuOC5tZCB8IDQ4ICsrKysrKysrKysrKysrKysKKyBwbHVnaW5zL3N5c2xvZy5jICAgICAgICAg ICAgICAgIHwgOTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCisgMiBmaWxlcyBj aGFuZ2VkLCAxMzQgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQg YS9kb2NzL21hbi9ycG0tcGx1Z2luLXN5c2xvZy44Lm1kIGIvZG9jcy9tYW4vcnBtLXBsdWdpbi1z eXNsb2cuOC5tZAoraW5kZXggNDdhNmJjNTQ5Li4wODk0NGM2YjcgMTAwNjQ0CistLS0gYS9kb2Nz L21hbi9ycG0tcGx1Z2luLXN5c2xvZy44Lm1kCisrKysgYi9kb2NzL21hbi9ycG0tcGx1Z2luLXN5 c2xvZy44Lm1kCitAQCAtMjYsNiArMjYsNTQgQEAgQ29uZmlndXJhdGlvbgorIAorIFNlZSAqKnJw bS1wbHVnaW5zKiooOCkgb24gaG93IHRvIGNvbnRyb2wgcGx1Z2lucyBpbiBnZW5lcmFsLgorIAor K091dHB1dAorKz09PT09PQorKworK1RoZSBwbHVnaW4gdXNlcyAqKnJwbSoqIGFzIGl0cyBzeXNs b2cgaWRlbnRpdHkuCisrCisrVGhlIHBhY2thZ2UgbGV2ZWwgb3V0cHV0IGR1cmluZyB0cmFuc2Fj dGlvbnMgaXMgYXMgZm9sbG93czoKKysKKytfT1BFUkFUSU9OXyBfTkVWUkFfIFsqKihmcm9tOioq IF9SRUxORVZSQV8qKikqKl0qKjoqKiBfU1RBVFVTXworKworK19PUEVSQVRJT05fIGlzIG9uZSBv ZjoKKysKKystICoqY2xlYW51cCoqOiBjbGVhbnVwIG9mIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGlu ICoqdXBncmFkZSoqIG9yICoqZG93bmdyYWRlKioKKystICoqZG93bmdyYWRlKio6IGRvd25ncmFk ZSBhbiBpbnN0YWxsZWQgcGFja2FnZSB0byBhbiBvbGRlciB2ZXJzaW9uCisrLSAqKmVyYXNlKio6 IGVyYXNlIHBhY2thZ2UgZnJvbSB0aGUgc3lzdGVtCisrLSAqKmluc3RhbGwqKjogaW5zdGFsbCBh IG5ldyBwYWNrYWdlIG9uIHRoZSBzeXN0ZW0KKystICoqcmVwbGFjZSoqOiByZXBsYWNlIChvYnNv bGV0ZSkgYSBwcmV2aW91c2x5IGluc3RhbGxlZCBwYWNrYWdlIHdpdGggYW5vdGhlciBvbmUKKyst ICoqcmVzdG9yZSoqOiByZXN0b3JlIHBlcm1pc3Npb25zIGFuZCBzaW1pbGFyIG9uIGFuIGluc3Rh bGxlZCBwYWNrYWdlCisrLSAqKnVwZ3JhZGUqKjogdXBncmFkZSBhbiBpbnN0YWxsZWQgcGFja2Fn ZSB0byBhIG5ld2VyIHZlcnNpb24KKysKKytfTkVWUkFfIGlkZW50aWZpZXMgdGhlIHRyYW5zYWN0 aW9uIGVsZW1lbnQgYmVpbmcgb3BlcmF0ZWQgb24uCisrTm90ZSB0aGF0IG9wZXJhdGlvbnMgKipk b3duZ3JhZGUqKiwgKipyZXBsYWNlKiogYW5kICoqdXBncmFkZSoqIGNvbnNpc3Qgb2YgdHdvCisr ZWxlbWVudHM6IGluc3RhbGwgb2Ygb25lIHBhY2thZ2UgdmVyc2lvbiBhbmQgcmVtb3ZhbCBvZiBh bm90aGVyLgorK0luIHRoZXNlIGNhc2VzLCB0aGUgcmVsYXRlZCBlbGVtZW50IGlkZW50aWZpZXIg X1JFTE5FVlJBXyBpcyBpbmRpY2F0ZWQKKytpbiBwYXJlbnRoZXNlcyBhZnRlciAqKmZyb206Kiou ICBfU1RBVFVTXyBpcyBvbmUgb2YgKipzdWNjZXNzKiogb3IgKipmYWlsdXJlKiouCisrCisrRXhh bXBsZXMKKys9PT09PT09PQorKworKyoqam91cm5hbGN0bCAtdCBycG0qKgorKzogICBJbnNwZWN0 IFJQTSB0cmFuc2FjdGlvbiBoaXN0b3J5IG9uIGEgc3lzdGVtZC1iYXNlZCBPUy4KKysKKysqKlBh Y2thZ2UgYWFhIHVwZ3JhZGUgZnJvbSAxLjItMSB0byAyLjAtMSoqCisrYGBgCisrdXBncmFkZTog YWFhLTIuMC0xLm5vYXJjaCAoZnJvbTogYWFhLTEuMi0xLm5vYXJjaCk6IHN1Y2Nlc3MKKytjbGVh bnVwOiBhYWEtMS4yLTEubm9hcmNoIChmcm9tOiBhYWEtMi4wLTEubm9hcmNoKTogc3VjY2Vzcwor K2BgYAorKworKyoqUGFja2FnZSBiYmIgMS4zLTUgb2Jzb2xldGluZyBhYWEgMS4yLTEqKgorK2Bg YAorK3JlcGxhY2U6IGJiYi0xLjMtNS5ub2FyY2ggKGZyb206IGFhYS0xLjItMS5ub2FyY2gpOiBz dWNjZXNzCisrZXJhc2U6IGFhYS0xLjItMS5ub2FyY2ggKGZyb206IGJiYi0xLjMtNS5ub2FyY2gp OiBzdWNjZXNzCisrYGBgCisrCisrKipQYWNrYWdlIGFhYSAxLjItMSBpbnN0YWxsIGZhaWx1cmUq KgorK2BgYAorK2luc3RhbGw6IGFhYS0xLjItMS5ub2FyY2g6IGZhaWx1cmUKKytgYGAKKysKKyBT RUUgQUxTTworID09PT09PT09CisgCitkaWZmIC0tZ2l0IGEvcGx1Z2lucy9zeXNsb2cuYyBiL3Bs dWdpbnMvc3lzbG9nLmMKK2luZGV4IDVkYjI5NWY0Yi4uZGJjYzAxOGRiIDEwMDY0NAorLS0tIGEv cGx1Z2lucy9zeXNsb2cuYworKysrIGIvcGx1Z2lucy9zeXNsb2cuYworQEAgLTYsNiArNiw3IEBA CisgCisgI2luY2x1ZGUgPHJwbS9ycG1sb2cuaD4KKyAjaW5jbHVkZSA8cnBtL3JwbW1hY3JvLmg+ CisrI2luY2x1ZGUgPHJwbS9ycG12ZXIuaD4KKyAjaW5jbHVkZSA8cnBtL3JwbXN0cmluZy5oPgor ICNpbmNsdWRlIDxycG0vcnBtdHMuaD4KKyAjaW5jbHVkZSAicnBtcGx1Z2luLmgiCitAQCAtMTYs NiArMTcsNyBAQCBzdHJ1Y3QgbG9nc3RhdCB7CisgICAgIGludCBsb2dnaW5nOworICAgICB1bnNp Z25lZCBpbnQgc2NyaXB0ZmFpbDsKKyAgICAgdW5zaWduZWQgaW50IHBrZ2ZhaWw7CisrICAgIHJw bXRzIHRzOworICAgICBsb2dnZXJmdW5jIGxvZzsKKyB9OworIAorQEAgLTMxLDcgKzMzLDYgQEAg c3RhdGljIHZvaWQgZXJybG9nKGludCBwcmlvLCBjb25zdCBjaGFyICpmbXQsIC4uLikKKyAKKyBz dGF0aWMgcnBtUkMgc3lzbG9nX2luaXQocnBtUGx1Z2luIHBsdWdpbiwgcnBtdHMgdHMpCisgewor LSAgICAvKiBYWFggbWFrZSB0aGlzIGNvbmZpZ3VyYWJsZT8gKi8KKyAgICAgY29uc3QgY2hhciAq IGxvZ19pZGVudCA9ICJycG0iOworICAgICBzdHJ1Y3QgbG9nc3RhdCAqIHN0YXRlID0gcmNhbGxv YygxLCBzaXplb2YoKnN0YXRlKSk7CisgICAgIGNoYXIgKnRhcmdldCA9IHJwbUV4cGFuZCgiJXs/ X190cmFuc2FjdGlvbl9zeXNsb2dfdGFyZ2V0fSIsIE5VTEwpOworQEAgLTY1LDYgKzY2LDcgQEAg c3RhdGljIHJwbVJDIHN5c2xvZ190c21fcHJlKHJwbVBsdWdpbiBwbHVnaW4sIHJwbXRzIHRzKQor ICAgICBzdHJ1Y3QgbG9nc3RhdCAqIHN0YXRlID0gcnBtUGx1Z2luR2V0RGF0YShwbHVnaW4pOwor ICAgICAKKyAgICAgLyogUmVzZXQgY291bnRlcnMgKi8KKysgICAgc3RhdGUtPnRzID0gdHM7Cisg ICAgIHN0YXRlLT5zY3JpcHRmYWlsID0gMDsKKyAgICAgc3RhdGUtPnBrZ2ZhaWwgPSAwOworIAor QEAgLTEwMywxNSArMTA1LDg5IEBAIHN0YXRpYyBycG1SQyBzeXNsb2dfdHNtX3Bvc3QocnBtUGx1 Z2luIHBsdWdpbiwgcnBtdHMgdHMsIGludCByZXMpCisgICAgIHJldHVybiBSUE1SQ19PSzsKKyB9 CisgCistc3RhdGljIGNvbnN0IGNoYXIgKmdldE9wKHJwbXRlIHRlKQorK3N0YXRpYyBycG10ZSBm aW5kRGVwZW5kZW50KHJwbXRzIHRzLCBycG10ZSB0ZSkKKyB7CisrICAgIHJwbXRlIGRlcCA9IE5V TEw7CisrICAgIHJwbXRlIHAgPSBOVUxMOworKyAgICBycG10c2kgcGkgPSBycG10c2lJbml0KHRz KTsKKysgICAgd2hpbGUgKChwID0gcnBtdHNpTmV4dChwaSwgMCkpICE9IE5VTEwpIHsKKysJaWYg KHJwbXRlRGVwZW5kc09uKHApID09IHRlKSB7CisrCSAgICBkZXAgPSBwOworKwkgICAgYnJlYWs7 CisrCX0KKysgICAgfQorKyAgICBycG10c2lGcmVlKHBpKTsKKysKKysgICAgcmV0dXJuIGRlcDsK Kyt9CisrCisrc3RhdGljIGludCBpc09ic29sZXRlKHJwbXRlIGEsIHJwbXRlIGIpCisreworKyAg ICByZXR1cm4gc3RyY21wKHJwbXRlTihhKSwgcnBtdGVOKGIpKTsKKyt9CisrCisrc3RhdGljIGlu dCBpc0Rvd25ncmFkZShycG10ZSBhLCBycG10ZSBiKQorK3sKKysgICAgaW50IGRvd25ncmFkZSA9 IDA7CisrICAgIHJwbXZlciBhdiA9IHJwbXZlclBhcnNlKHJwbXRlRVZSKGEpKTsKKysgICAgcnBt dmVyIGJ2ID0gcnBtdmVyUGFyc2UocnBtdGVFVlIoYikpOworKworKyAgICBpZiAoYXYgJiYgYnYg JiYgcnBtdmVyQ21wKGF2LCBidikgPCAwKQorKwlkb3duZ3JhZGUgPSAxOworKworKyAgICBycG12 ZXJGcmVlKGF2KTsKKysgICAgcnBtdmVyRnJlZShidik7CisrICAgIHJldHVybiBkb3duZ3JhZGU7 CisrfQorKworK3N0YXRpYyBjaGFyICpnZXRPcChycG10cyB0cywgcnBtdGUgdGUpCisreworKyAg ICBjaGFyICpyZXQgPSBOVUxMOworKyAgICBjb25zdCBjaGFyICpvcCA9IE5VTEw7CisrICAgIHJw bXRlIGRlcCA9IE5VTEw7CisrCisgICAgIHN3aXRjaCAocnBtdGVUeXBlKHRlKSkgeworLSAgICBj YXNlIFRSX0FEREVEOglyZXR1cm4gImluc3RhbGwiOworLSAgICBjYXNlIFRSX1JFTU9WRUQ6CXJl dHVybiAiZXJhc2UiOworLSAgICBjYXNlIFRSX1JQTURCOglyZXR1cm4gInJwbWRiIjsKKy0gICAg Y2FzZSBUUl9SRVNUT1JFRDoJcmV0dXJuICJyZXN0b3JlIjsKKysgICAgY2FzZSBUUl9BRERFRDoK KysJZGVwID0gZmluZERlcGVuZGVudCh0cywgdGUpOworKwlpZiAoZGVwKSB7CisrCSAgICBpZiAo aXNPYnNvbGV0ZSh0ZSwgZGVwKSkgeworKwkJb3AgPSAicmVwbGFjZSI7CisrCSAgICB9IGVsc2Ug eworKwkJb3AgPSBpc0Rvd25ncmFkZSh0ZSwgZGVwKSA/ICJkb3duZ3JhZGUiIDogInVwZ3JhZGUi OworKwkgICAgfQorKwl9IGVsc2UgeworKwkgICAgb3AgPSAiaW5zdGFsbCI7CisrCX0KKysJYnJl YWs7CisrICAgIGNhc2UgVFJfUkVNT1ZFRDoKKysJZGVwID0gcnBtdGVEZXBlbmRzT24odGUpOwor KwlpZiAoZGVwICYmICFpc09ic29sZXRlKHRlLCBkZXApKSB7CisrCSAgICBvcCA9ICJjbGVhbnVw IjsKKysJfSBlbHNlIHsKKysJICAgIG9wID0gImVyYXNlIjsKKysJfQorKwlicmVhazsKKysgICAg Y2FzZSBUUl9SUE1EQjoKKysJLyogbm90IGFuIG9wZXJhdGlvbiAqLworKwlicmVhazsKKysgICAg Y2FzZSBUUl9SRVNUT1JFRDoKKysJb3AgPSAicmVzdG9yZSI7CisrCWJyZWFrOworKyAgICBkZWZh dWx0OgorKwlvcCA9ICI8dW5rbm93bj4iOworKwlicmVhazsKKyAgICAgfQorLSAgICByZXR1cm4g Ijx1bmtub3duPiI7CisrCisrICAgIGlmIChvcCkgeworKwlpZiAoZGVwKSB7CisrCSAgICByYXNw cmludGYoJnJldCwgIiVzOiAlcyAoZnJvbTogJXMpIiwgb3AsCisrCQkJcnBtdGVORVZSQSh0ZSks IHJwbXRlTkVWUkEoZGVwKSk7CisrCX0gZWxzZSB7CisrCSAgICByYXNwcmludGYoJnJldCwgIiVz OiAlcyIsIG9wLCBycG10ZU5FVlJBKHRlKSk7CisrCX0KKysgICAgfQorKworKyAgICByZXR1cm4g cmV0OworIH0KKyAKKyBzdGF0aWMgcnBtUkMgc3lzbG9nX3BzbV9wb3N0KHJwbVBsdWdpbiBwbHVn aW4sIHJwbXRlIHRlLCBpbnQgcmVzKQorQEAgLTEyMCwxMCArMTk2LDggQEAgc3RhdGljIHJwbVJD IHN5c2xvZ19wc21fcG9zdChycG1QbHVnaW4gcGx1Z2luLCBycG10ZSB0ZSwgaW50IHJlcykKKyAK KyAgICAgaWYgKHN0YXRlLT5sb2dnaW5nKSB7CisgCWludCBsdmwgPSBMT0dfTk9USUNFOworLQlj b25zdCBjaGFyICpvcCA9IGdldE9wKHRlKTsKKysJY2hhciAqb3AgPSBnZXRPcChzdGF0ZS0+dHMs IHRlKTsKKyAJY29uc3QgY2hhciAqb3V0Y29tZSA9ICJzdWNjZXNzIjsKKy0JLyogWFhYOiBQZXJt aXQgY29uZmlndXJhYmxlIGhlYWRlciBxdWVyeWZvcm1hdD8gKi8KKy0JY29uc3QgY2hhciAqcGtn ID0gcnBtdGVORVZSQSh0ZSk7CisgCisgCWlmIChyZXMgIT0gUlBNUkNfT0spIHsKKyAJICAgIGx2 bCA9IExPR19XQVJOSU5HOworQEAgLTEzMSw3ICsyMDUsOCBAQCBzdGF0aWMgcnBtUkMgc3lzbG9n X3BzbV9wb3N0KHJwbVBsdWdpbiBwbHVnaW4sIHJwbXRlIHRlLCBpbnQgcmVzKQorIAkgICAgc3Rh dGUtPnBrZ2ZhaWwrKzsKKyAJfQorIAorLQlzdGF0ZS0+bG9nKGx2bCwgIiVzICVzOiAlcyIsIG9w LCBwa2csIG91dGNvbWUpOworKwlzdGF0ZS0+bG9nKGx2bCwgIiVzOiAlcyIsIG9wLCBvdXRjb21l KTsKKysJZnJlZShvcCk7CisgICAgIH0KKyAgICAgcmV0dXJuIFJQTVJDX09LOworIH0KKy0tIAor Mi41NC4wCisKK2RpZmYgLXVwIHJwbS00LjE5LjEuMS9kb2NzL21hbi9ycG0tcGx1Z2luLXN5c2xv Zy44Lm9yaWcgcnBtLTQuMTkuMS4xL2RvY3MvbWFuL3JwbS1wbHVnaW4tc3lzbG9nLjgKKy0tLSBy cG0tNC4xOS4xLjEvZG9jcy9tYW4vcnBtLXBsdWdpbi1zeXNsb2cuOC5vcmlnCTIwMjYtMDYtMTgg MDk6MjY6NDUuMTA2MzM3OTU3ICswMjAwCisrKysgcnBtLTQuMTkuMS4xL2RvY3MvbWFuL3JwbS1w bHVnaW4tc3lzbG9nLjgJMjAyNi0wNi0xOCAwOToyNjo0OC4wNzIzMjEwMzQgKzAyMDAKK0BAIC0x LDMyICsxLDgxIEBACistLlwiIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IFBhbmRvYyAzLjEu MworKy5cIiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBQYW5kb2MgMy4xLjExLjEKKyAuXCIK Ky0uXCIgRGVmaW5lIFYgZm9udCBmb3IgaW5saW5lIHZlcmJhdGltLCB1c2luZyBDIGZvbnQgaW4g Zm9ybWF0cworLS5cIiB0aGF0IHJlbmRlciB0aGlzLCBhbmQgb3RoZXJ3aXNlIEIgZm9udC4KKy0u aWUgIlxmW0NCXXhcZltdIngiIFx7XAorLS4gZnRyIFYgQgorLS4gZnRyIFZJIEJJCistLiBmdHIg VkIgQgorLS4gZnRyIFZCSSBCSQorLS5cfQorLS5lbCBce1wKKy0uIGZ0ciBWIENSCistLiBmdHIg VkkgQ0kKKy0uIGZ0ciBWQiBDQgorLS4gZnRyIFZCSSBDQkkKKy0uXH0KKy0uVEggIlJQTS1TWVNM T0ciICI4IiAiMTQgQXByIDIwMTYiICIiICIiCistLmh5CisrLlRIICJSUE1cLVNZU0xPRyIgIjgi ICIxNCBBcHIgMjAxNiIgIiIgIiIKKyAuU0ggTkFNRQorLS5QUAorLXJwbS1wbHVnaW4tc3lzbG9n IC0gU3lzbG9nIHBsdWdpbiBmb3IgdGhlIFJQTSBQYWNrYWdlIE1hbmFnZXIKKytycG1cLXBsdWdp blwtc3lzbG9nIFwtIFN5c2xvZyBwbHVnaW4gZm9yIHRoZSBSUE0gUGFja2FnZSBNYW5hZ2VyCisg LlNIIERlc2NyaXB0aW9uCistLlBQCisgVGhlIHBsdWdpbiB3cml0ZXMgYmFzaWMgaW5mb3JtYXRp b24gYWJvdXQgcnBtIHRyYW5zYWN0aW9ucyB0byB0aGUgc3lzbG9nCistLSBsaWtlIHRyYW5zYWN0 aW9ucyBydW4gYW5kIHBhY2thZ2VzIGluc3RhbGxlZCBvciByZW1vdmVkLgorK1wtIGxpa2UgdHJh bnNhY3Rpb25zIHJ1biBhbmQgcGFja2FnZXMgaW5zdGFsbGVkIG9yIHJlbW92ZWQuCisgLlNIIENv bmZpZ3VyYXRpb24KKysuVFAKKytcZltCXSVfX3RyYW5zYWN0aW9uX3N5c2xvZ190YXJnZXRcZltS XQorK1NwZWNpZnkgdGFyZ2V0IG91dHB1dCBmb3IgdGhlIHBsdWdpbi4KKytTdXBwb3J0ZWQgdmFs dWVzIGFyZToKKysuUlMKKysuSVAgXFtidV0gMgorK1xmW0Jdc3lzbG9nXGZbUl06IHN5c3RlbSBs b2cgKGRlZmF1bHQpCisrLklQIFxbYnVdIDIKKytcZltCXXN0ZGVyclxmW1JdOiBzdGFuZGFyZCBl cnJvcgorKy5SRQorIC5QUAorLVRoZXJlIGFyZSBjdXJyZW50bHkgbm8gb3B0aW9ucyBmb3IgdGhp cyBwbHVnaW4gaW4gcGFydGljdWxhci4KKy1TZWUgXGZbQl1ycG0tcGx1Z2luc1xmW1JdKDgpIG9u IGhvdyB0byBjb250cm9sIHBsdWdpbnMgaW4gZ2VuZXJhbC4KKy0uU0ggU0VFIEFMU08KKytTZWUg XGZbQl1ycG1cLXBsdWdpbnNcZltSXSg4KSBvbiBob3cgdG8gY29udHJvbCBwbHVnaW5zIGluIGdl bmVyYWwuCisrLlNIIE91dHB1dAorK1RoZSBwbHVnaW4gdXNlcyBcZltCXXJwbVxmW1JdIGFzIGl0 cyBzeXNsb2cgaWRlbnRpdHkuCisrLlBQCisrVGhlIHBhY2thZ2UgbGV2ZWwgb3V0cHV0IGR1cmlu ZyB0cmFuc2FjdGlvbnMgaXMgYXMgZm9sbG93czoKKysuUFAKKytcZltJXU9QRVJBVElPTlxmW1Jd IFxmW0ldTkVWUkFcZltSXSBbXGZbQl0oZnJvbTpcZltSXQorK1xmW0ldUkVMTkVWUkFcZltSXVxm W0JdKVxmW1JdXVxmW0JdOlxmW1JdIFxmW0ldU1RBVFVTXGZbUl0KKyAuUFAKKy1cZltCXXJwbVxm W1JdKDgpLCBcZltCXXJwbS1wbHVnaW5zXGZbUl0oOCkKKytcZltJXU9QRVJBVElPTlxmW1JdIGlz IG9uZSBvZjoKKysuSVAgXFtidV0gMgorK1xmW0JdY2xlYW51cFxmW1JdOiBjbGVhbnVwIG9mIHRo ZSBwcmV2aW91cyB2ZXJzaW9uIGluIFxmW0JddXBncmFkZVxmW1JdCisrb3IgXGZbQl1kb3duZ3Jh ZGVcZltSXQorKy5JUCBcW2J1XSAyCisrXGZbQl1kb3duZ3JhZGVcZltSXTogZG93bmdyYWRlIGFu IGluc3RhbGxlZCBwYWNrYWdlIHRvIGFuIG9sZGVyIHZlcnNpb24KKysuSVAgXFtidV0gMgorK1xm W0JdZXJhc2VcZltSXTogZXJhc2UgcGFja2FnZSBmcm9tIHRoZSBzeXN0ZW0KKysuSVAgXFtidV0g MgorK1xmW0JdaW5zdGFsbFxmW1JdOiBpbnN0YWxsIGEgbmV3IHBhY2thZ2Ugb24gdGhlIHN5c3Rl bQorKy5JUCBcW2J1XSAyCisrXGZbQl1yZXBsYWNlXGZbUl06IHJlcGxhY2UgKG9ic29sZXRlKSBh IHByZXZpb3VzbHkgaW5zdGFsbGVkIHBhY2thZ2UKKyt3aXRoIGFub3RoZXIgb25lCisrLklQIFxb YnVdIDIKKytcZltCXXJlc3RvcmVcZltSXTogcmVzdG9yZSBwZXJtaXNzaW9ucyBhbmQgc2ltaWxh ciBvbiBhbiBpbnN0YWxsZWQKKytwYWNrYWdlCisrLklQIFxbYnVdIDIKKytcZltCXXVwZ3JhZGVc ZltSXTogdXBncmFkZSBhbiBpbnN0YWxsZWQgcGFja2FnZSB0byBhIG5ld2VyIHZlcnNpb24KKysu UFAKKytcZltJXU5FVlJBXGZbUl0gaWRlbnRpZmllcyB0aGUgdHJhbnNhY3Rpb24gZWxlbWVudCBi ZWluZyBvcGVyYXRlZCBvbi4KKytOb3RlIHRoYXQgb3BlcmF0aW9ucyBcZltCXWRvd25ncmFkZVxm W1JdLCBcZltCXXJlcGxhY2VcZltSXSBhbmQKKytcZltCXXVwZ3JhZGVcZltSXSBjb25zaXN0IG9m IHR3byBlbGVtZW50czogaW5zdGFsbCBvZiBvbmUgcGFja2FnZQorK3ZlcnNpb24gYW5kIHJlbW92 YWwgb2YgYW5vdGhlci4KKytJbiB0aGVzZSBjYXNlcywgdGhlIHJlbGF0ZWQgZWxlbWVudCBpZGVu dGlmaWVyIFxmW0ldUkVMTkVWUkFcZltSXSBpcworK2luZGljYXRlZCBpbiBwYXJlbnRoZXNlcyBh ZnRlciBcZltCXWZyb206XGZbUl0uCisrXGZbSV1TVEFUVVNcZltSXSBpcyBvbmUgb2YgXGZbQl1z dWNjZXNzXGZbUl0gb3IgXGZbQl1mYWlsdXJlXGZbUl0uCisrLlNIIEV4YW1wbGVzCisrLlRQCisr XGZbQl1qb3VybmFsY3RsIFwtdCBycG1cZltSXQorK0luc3BlY3QgUlBNIHRyYW5zYWN0aW9uIGhp c3Rvcnkgb24gYSBzeXN0ZW1kXC1iYXNlZCBPUy4KKysuUFAKKytcZltCXVBhY2thZ2UgYWFhIHVw Z3JhZGUgZnJvbSAxLjJcLTEgdG8gMi4wXC0xXGZbUl0KKysuSVAKKysuRVgKKyt1cGdyYWRlOiBh YWFcLTIuMFwtMS5ub2FyY2ggKGZyb206IGFhYVwtMS4yXC0xLm5vYXJjaCk6IHN1Y2Nlc3MKKytj bGVhbnVwOiBhYWFcLTEuMlwtMS5ub2FyY2ggKGZyb206IGFhYVwtMi4wXC0xLm5vYXJjaCk6IHN1 Y2Nlc3MKKysuRUUKKysuUFAKKytcZltCXVBhY2thZ2UgYmJiIDEuM1wtNSBvYnNvbGV0aW5nIGFh YSAxLjJcLTFcZltSXQorKy5JUAorKy5FWAorK3JlcGxhY2U6IGJiYlwtMS4zXC01Lm5vYXJjaCAo ZnJvbTogYWFhXC0xLjJcLTEubm9hcmNoKTogc3VjY2VzcworK2VyYXNlOiBhYWFcLTEuMlwtMS5u b2FyY2ggKGZyb206IGJiYlwtMS4zXC01Lm5vYXJjaCk6IHN1Y2Nlc3MKKysuRUUKKysuUFAKKytc ZltCXVBhY2thZ2UgYWFhIDEuMlwtMSBpbnN0YWxsIGZhaWx1cmVcZltSXQorKy5JUAorKy5FWAor K2luc3RhbGw6IGFhYVwtMS4yXC0xLm5vYXJjaDogZmFpbHVyZQorKy5FRQorKy5TSCBTRUUgQUxT TworK1xmW0JdcnBtXGZbUl0oOCksIFxmW0JdcnBtXC1wbHVnaW5zXGZbUl0oOCkKCmRpZmYgLS1n aXQgYS9ycG0uc3BlYyBiL3JwbS5zcGVjCmluZGV4IDFjM2EyMzUuLmQ1MTI3MzcgMTAwNjQ0Ci0t LSBhL3JwbS5zcGVjCisrKyBiL3JwbS5zcGVjCkBAIC0xNzcsNiArMTc3LDcgQEAgcnBtLTQuMTku eC1uc3N3aXRjaC1lbmFibGUucGF0Y2gKIAogcnBtLTQuMTkueC1hZGQtYXV0b3NldHVwLUMucGF0 Y2gKIHJwbS00LjE5LngtYWRkLXBhcmtkYi5wYXRjaAorcnBtLTQuMTkueC1pbXByb3ZlLXN5c2xv Zy5wYXRjaAogCiAjIFRoZXNlIGFyZSBub3QgeWV0IHVwc3RyZWFtCiBycG0tNC43LjEtZ2VvZGUt aTY4Ni5wYXRjaApAQCAtMTk3LDYgKzE5OCw3IEBAIFJlcXVpcmVzKG1ldGEpOiAle25hbWV9ID0g JXt2ZXJzaW9ufS0le3JlbGVhc2V9CiBSZXF1aXJlczogcnBtLXNlcXVvaWEle19pc2F9ID49IDEu OS4wCiAjIE1vc3Qgc3lzdGVtcyBzaG91bGQgaGF2ZSBhIGNlbnRyYWwgcGFja2FnZSBvcGVyYXRp b25zIGxvZwogUmVjb21tZW5kczogcnBtLXBsdWdpbi1hdWRpdAorUmVxdWlyZXMobWV0YSk6IChy cG0tcGx1Z2luLXN5c2xvZyBpZiBzeXNsb2cpCiAlZW5kaWYKIAogJWRlc2NyaXB0aW9uIGxpYnMK QEAgLTY3MCw2ICs2NzIsNyBAQCBmaQogKiBUaHUgSnVuIDE4IDIwMjYgTWljaGFsIERvbW9ua29z IDxtZG9tb25rb0ByZWRoYXQuY29tPiAtIDQuMTkuMS4xLTI0CiAtIEFkZCBzdXBwb3J0IGZvciAl JWF1dG9zZXR1cCAtQyAoUkhFTC0xNDEyNjkpCiAtIEFkZCBzdXBwb3J0IGZvciBkYXRhYmFzZSBw YXJraW5nIChSSEVMLTEyNjQwNSkKKy0gTWFrZSBzeXNsb2cgcGx1Z2luIGFjdHVhbGx5IHVzZWZ1 bCBhbmQgYWxzbyByZXF1aXJlZCAoUkhFTC0xNTUyNzIpCiAKICogVGh1IEZlYiAwNSAyMDI2IE1p Y2hhbCBEb21vbmtvcyA8bWRvbW9ua29AcmVkaGF0LmNvbT4gLSA0LjE5LjEuMS0yMwogLSBGaXgg a2V5IGltcG9ydCBBUEkgdG8gcmV0dXJuIE5PVFRSVVNURUQgZm9yIGRpc2FibGVkIGFsZ29yaXRo bXMgKFJIRUwtMTEyMzk0KQo=