From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=ALL_TRUSTED,URIBL_BLACK, URIBL_SBL_A autolearn=no autolearn_force=no version=3.4.4 Received: from inbox.vuxu.org (inbox.vuxu.org [IPv6:::1]) by inbox.vuxu.org (Postfix) with ESMTP id B4FE82272E for ; Sun, 31 Mar 2024 16:01:39 +0200 (CEST) Content-Type: multipart/mixed; boundary="===============8132637438287669969==" MIME-Version: 1.0 Subject: =?utf8?b?UmU6IFtQUiBQQVRDSF0gW1VwZGF0ZWRdIG11c2wgMS4y?= To: ml@inbox.vuxu.org From: dkwo Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sun, 31 Mar 2024 16:01:39 +0200 List-Id: Message-Id: <20240331140139.B4FE82272E@inbox.vuxu.org> GitHub notification mails are now in MIME to allow UTF8. --===============8132637438287669969== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgZGt3byBhZ2FpbnN0IG1hc3RlciBv biB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vZGt3by92 b2lkLXBhY2thZ2VzIG11c2wKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNr YWdlcy9wdWxsLzQzMTA2CgptdXNsIDEuMgpbY2kgc2tpcF0NCg0KLSBJIHRlc3RlZCB0aGUgY2hh bmdlcyBpbiB0aGlzIFBSOiB5ZXMNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIG15IG5h dGl2ZSBhcmNoaXRlY3R1cmUsICh4ODZfNjQtbXVzbCkNCi0ga2VlcGluZyB0aGUgbGFyZ2UtZmls ZSBwYXRjaCwgZm9yIG5vdw0KLSByZXF1aXJlcyBjaGFuZ2VzIHRvIHhicHMsIGFsb25nIHRoZSBs aW5lcyBvZiBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC94YnBzL3B1bGwvMzMxIChvciBz b21lIG90aGVyIHNvbHV0aW9uKQ0KLSByZW1vdmUgY29uZmlndXJlIGFyZyBmb3IgMjAzOCBpbiBj b3JldXRpbHMgZm9yIGFybTMyCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20v dm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDMxMDYucGF0Y2ggaXMgYXR0YWNoZWQ= --===============8132637438287669969== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-musl-43106.patch" RnJvbSA4ZTYyYzk2M2VhYzA0ZmE5NmJkOWI3N2UyZjE3ZjBiOTM1MTdkZGI2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBka3dvIDxuaWNvbG9waWF6emFsdW5nYUBnbWFpbC5jb20+CkRh dGU6IFdlZCwgMjkgTWFyIDIwMjMgMTU6MDg6MTYgLTA0MDAKU3ViamVjdDogW1BBVENIIDEvM10g YmFzZS1jaHJvb3Q6IGJ1bXAgbXVzbC1kZXZlbCB2ZXJzaW9uCgotLS0KIHNyY3BrZ3MvYmFzZS1j aHJvb3QvdGVtcGxhdGUgfCA2ICsrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygr KSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Jhc2UtY2hyb290L3RlbXBs YXRlIGIvc3JjcGtncy9iYXNlLWNocm9vdC90ZW1wbGF0ZQppbmRleCBkY2U4MjI5MTYxN2E0Mi4u MzUwNmU3MDRmM2YwN2UgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvYmFzZS1jaHJvb3QvdGVtcGxhdGUK KysrIGIvc3JjcGtncy9iYXNlLWNocm9vdC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVt cGxhdGUgZmlsZSBmb3IgJ2Jhc2UtY2hyb290JwogcGtnbmFtZT1iYXNlLWNocm9vdAotdmVyc2lv bj0wLjY3Ci1yZXZpc2lvbj0zCit2ZXJzaW9uPTAuNjgKK3JldmlzaW9uPTEKIGJvb3RzdHJhcD15 ZXMKIGJ1aWxkX3N0eWxlPW1ldGEKIHNob3J0X2Rlc2M9Ik1pbmltYWwgc2V0IG9mIHBhY2thZ2Vz IHJlcXVpcmVkIGZvciBjaHJvb3Qgd2l0aCB4YnBzLXNyYyIKQEAgLTExLDcgKzExLDcgQEAgaG9t ZXBhZ2U9Imh0dHA6Ly93d3cudm9pZGxpbnV4Lm9yZyIKIHJlcG9zaXRvcnk9Ym9vdHN0cmFwCiAK IGNhc2UgIiRYQlBTX1RBUkdFVF9MSUJDIiBpbgotCW11c2wpIGRlcGVuZHM9Im11c2wtZGV2ZWwi OzsKKwltdXNsKSBkZXBlbmRzPSJtdXNsLWRldmVsPj0xLjIuNF8xIjs7CiAJKikgZGVwZW5kcz0i Z2xpYmMtZGV2ZWwgZ2xpYmMtbG9jYWxlcyI7OwogZXNhYwogCgpGcm9tIGQ3ZDJmOTNhODVjZDAw MjMxMTlkNzQxYzIyYjRmZWYwNDc5MDA4YmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IGRrd28gPG5pY29sb3BpYXp6YWx1bmdhQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyOSBNYXIgMjAy MyAxNTowOTowMSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMi8zXSBiYXNlLWRldmVsOiBidW1wIG11 c2wtZGV2ZWwgdmVyc2lvbgoKLS0tCiBzcmNwa2dzL2Jhc2UtZGV2ZWwvdGVtcGxhdGUgfCA0ICsr LS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9iYXNlLWRldmVsL3RlbXBsYXRlIGIvc3JjcGtncy9iYXNlLWRldmVs L3RlbXBsYXRlCmluZGV4IDU3MGY2OTljYTk2MDE4Li4zMDNhN2Y1MGU0NzM4NCAxMDA2NDQKLS0t IGEvc3JjcGtncy9iYXNlLWRldmVsL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvYmFzZS1kZXZlbC90 ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Jhc2UtZGV2ZWwn CiBwa2duYW1lPWJhc2UtZGV2ZWwKIHZlcnNpb249MjAxODEwMDMKLXJldmlzaW9uPTIKK3Jldmlz aW9uPTMKIGJ1aWxkX3N0eWxlPW1ldGEKIGRlcGVuZHM9ImF1dG9jb25mIGF1dG9tYWtlIGJjIGJp bnV0aWxzIGJpc29uIGVkIGZsZXggZ2NjIGdldHRleHQKICBncm9mZiBsaWJ0b29sIG00IG1ha2Ug cGF0Y2ggcGtnLWNvbmZpZyB0ZXhpbmZvIHVuemlwIHh6IgpAQCAtMTIsNiArMTIsNiBAQCBob21l cGFnZT0iaHR0cDovL3d3dy52b2lkbGludXgub3JnLyIKIGxpYjMyZGlzYWJsZWQ9eWVzCiAKIGNh c2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgotCSotbXVzbCkgZGVwZW5kcys9IiBtdXNsLWRl dmVsIjs7CisJKi1tdXNsKSBkZXBlbmRzKz0iIG11c2wtZGV2ZWw+PTEuMi40XzEiOzsKIAkqKSBk ZXBlbmRzKz0iIGdsaWJjLWRldmVsIjs7CiBlc2FjCgpGcm9tIDg3MjIzNzA2NzMzZjFmZDU0NmY4 Mjc0NTY3YjA5NzllZTMwMWYwZmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGRrd28g PG5pY29sb3BpYXp6YWx1bmdhQGdtYWlsLmNvbT4KRGF0ZTogVGh1LCAxMyBNYXkgMjAyMSAxMzo1 MTowOCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMy8zXSBtdXNsOiB1cGRhdGUgdG8gMS4yLjUKCi0t LQogY29tbW9uL3NobGlicyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDI2ICsr Kwogc3JjcGtncy9tdXNsL3BhdGNoZXMvMDAtcmVhbGxvY2FycmF5LnBhdGNoICAgIHwgIDQyIC0t LS0KIC4uLi9wYXRjaGVzLzAwMDEtcmVtb3ZlLU9fTEFSR0VGSUxFLnBhdGNoICAgICB8ICAyNiAr KysKIC4uLmlzdF91bmxpbmtfaW5fcHRocmVhZF9leGl0X2FmdGVyX2FsbC5wYXRjaCB8ICA1NiAt LS0tLQogLi4uaHJlYWRzX21pbnVzXzFfYXNfcmVsYXhlZF9hdG9taWNfZm9yLnBhdGNoIHwgIDc4 IC0tLS0tLS0KIC4uLm93bl9zaXplX29mX3NvbWVfbGliY19zdHJ1Y3RfbWVtYmVycy5wYXRjaCB8 ICAzMCAtLS0KIC4uLnBwaW5nX2Zvcl9wcm9jZXNzZXNfdGhhdF9yZXR1cm5fdG9fcy5wYXRjaCB8 IDEwMiAtLS0tLS0tLQogLi4uODhhOWRhNWU3YjI5MjVkZGExN2EyZDY4MjBkZGRmMWZiMjg3LnBh dGNoIHwgMTM5IC0tLS0tLS0tLS0tCiAuLi4wOThhODg1ZmVhZTNhZThjMzJiNDA3MzUwZDhjYTg1 ZGQxNzgucGF0Y2ggfCAxMTMgLS0tLS0tLS0tCiBzcmNwa2dzL211c2wvcGF0Y2hlcy9DVkUtMjAy MC0yODkyOC5wYXRjaCAgICAgfCAgNjQgLS0tLS0KIHNyY3BrZ3MvbXVzbC9wYXRjaGVzL2FhcmNo NjQtZnJlZ3MucGF0Y2ggICAgICB8ICAzNyAtLS0KIHNyY3BrZ3MvbXVzbC9wYXRjaGVzL2FkZC1x c29ydF9yLnBhdGNoICAgICAgICB8IDIwMSAtLS0tLS0tLS0tLS0tLS0tCiBzcmNwa2dzL211c2wv cGF0Y2hlcy9hZGQtcmxpbWl0LXJ0dGltZS5wYXRjaCAgfCAgMjQgLS0KIC4uLmQtc3VwcG9ydC1m b3ItU0lHRVZfVEhSRUFEX0lELXRpbWVycy5wYXRjaCB8ICA3NCAtLS0tLS0KIC4uLnJsaW1pdC1t aXNiZWhhdmlvci1hbmQtaGFuZy1pbi12Zm9yay5wYXRjaCB8ICA0OSAtLS0tCiBzcmNwa2dzL211 c2wvcGF0Y2hlcy9jMjMtYmFzZW5hbWUucGF0Y2ggICAgICAgfCAgNDQgLS0tLQogc3JjcGtncy9t dXNsL3BhdGNoZXMvZXBvbGxfY3AucGF0Y2ggICAgICAgICAgIHwgIDI4IC0tLQogLi4ueC1vb2It cmVhZC1wcm9jZXNzaW5nLXRpbWUtem9uZS1kYXRhLnBhdGNoIHwgIDgwIC0tLS0tLS0KIC4uLi9t dXNsL3BhdGNoZXMvZml4LXBpLW11dGV4LWNvbmQtMS5wYXRjaCAgICB8ICA1NiAtLS0tLQogLi4u L211c2wvcGF0Y2hlcy9maXgtcGktbXV0ZXgtY29uZC0yLnBhdGNoICAgIHwgIDQ4IC0tLS0KIC4u Li9tdXNsL3BhdGNoZXMvZml4LXBpLW11dGV4LWNvbmQtMy5wYXRjaCAgICB8ICAyOCAtLS0KIC4u LnNvbi1vZi1kaWdpdC1zZXF1ZW5jZS13aXRoLW5vbi5wYXRjaC5wYXRjaCB8ICAzOCAtLS0KIHNy Y3BrZ3MvbXVzbC9wYXRjaGVzL2dldHRpZC5wYXRjaCAgICAgICAgICAgICB8ICA0OSAtLS0tCiAu Li50bHlfaW5zdGVhZF9vZl91c2luZ19wcm9jZnNfcmVhZGxpbmsucGF0Y2ggfCAyMTkgLS0tLS0t LS0tLS0tLS0tLS0tCiBzcmNwa2dzL211c2wvcGF0Y2hlcy9pc2FzY2lpLnBhdGNoICAgICAgICAg ICAgfCAgMjEgLS0KIHNyY3BrZ3MvbXVzbC9wYXRjaGVzL21vX2xvb2t1cC5wYXRjaCAgICAgICAg ICB8ICAxOSAtLQogc3JjcGtncy9tdXNsL3BhdGNoZXMvcHBjLXB0X3JlZ3MucGF0Y2ggICAgICAg IHwgIDM4IC0tLQogc3JjcGtncy9tdXNsL3BhdGNoZXMvcHBjNjQtZnByZWdzZXRfdC5wYXRjaCAg IHwgIDMxIC0tLQogc3JjcGtncy9tdXNsL3BhdGNoZXMvcHBjbGUucGF0Y2ggICAgICAgICAgICAg IHwgIDI0IC0tCiBzcmNwa2dzL211c2wvcGF0Y2hlcy9yaXNjdjY0LXVjb250ZXh0LnBhdGNoICAg fCAgMjkgLS0tCiAuLi5pbl9yZWFkbGlua19zeXNjYWxsX3dpdGhfemVyb19idWZmZXIucGF0Y2gg fCAgNTkgLS0tLS0KIHNyY3BrZ3MvbXVzbC90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgNyArLQogMzIgZmlsZXMgY2hhbmdlZCwgNTUgaW5zZXJ0aW9ucygrKSwgMTgyNCBkZWxl dGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL211c2wvcGF0Y2hlcy8wMC1yZWFs bG9jYXJyYXkucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL211c2wvcGF0Y2hlcy8w MDAxLXJlbW92ZS1PX0xBUkdFRklMRS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv bXVzbC9wYXRjaGVzLzAwMDFfcmVvcmRlcl90aHJlYWRfbGlzdF91bmxpbmtfaW5fcHRocmVhZF9l eGl0X2FmdGVyX2FsbC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXVzbC9wYXRj aGVzLzAwMDJfZG9uX3RfdXNlX2xpYmNfdGhyZWFkc19taW51c18xX2FzX3JlbGF4ZWRfYXRvbWlj X2Zvci5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXVzbC9wYXRjaGVzLzAwMDNf Y3V0X2Rvd25fc2l6ZV9vZl9zb21lX2xpYmNfc3RydWN0X21lbWJlcnMucGF0Y2gKIGRlbGV0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL211c2wvcGF0Y2hlcy8wMDA0X3Jlc3RvcmVfbG9ja19za2lwcGlu Z19mb3JfcHJvY2Vzc2VzX3RoYXRfcmV0dXJuX3RvX3MucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL211c2wvcGF0Y2hlcy85OGU2ODhhOWRhNWU3YjI5MjVkZGExN2EyZDY4MjBkZGRm MWZiMjg3LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tdXNsL3BhdGNoZXMvOTlk NTA5OGE4ODVmZWFlM2FlOGMzMmI0MDczNTBkOGNhODVkZDE3OC5wYXRjaAogZGVsZXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvbXVzbC9wYXRjaGVzL0NWRS0yMDIwLTI4OTI4LnBhdGNoCiBkZWxldGUg bW9kZSAxMDA2NDQgc3JjcGtncy9tdXNsL3BhdGNoZXMvYWFyY2g2NC1mcmVncy5wYXRjaAogZGVs ZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXVzbC9wYXRjaGVzL2FkZC1xc29ydF9yLnBhdGNoCiBk ZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tdXNsL3BhdGNoZXMvYWRkLXJsaW1pdC1ydHRpbWUu cGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL211c2wvcGF0Y2hlcy9hZGQtc3VwcG9y dC1mb3ItU0lHRVZfVEhSRUFEX0lELXRpbWVycy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvbXVzbC9wYXRjaGVzL2F2b2lkLXNldC1pZC1zZXRybGltaXQtbWlzYmVoYXZpb3ItYW5k LWhhbmctaW4tdmZvcmsucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL211c2wvcGF0 Y2hlcy9jMjMtYmFzZW5hbWUucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL211c2wv cGF0Y2hlcy9lcG9sbF9jcC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXVzbC9w YXRjaGVzL2ZpeC1vb2ItcmVhZC1wcm9jZXNzaW5nLXRpbWUtem9uZS1kYXRhLnBhdGNoCiBkZWxl dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tdXNsL3BhdGNoZXMvZml4LXBpLW11dGV4LWNvbmQtMS5w YXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXVzbC9wYXRjaGVzL2ZpeC1waS1tdXRl eC1jb25kLTIucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL211c2wvcGF0Y2hlcy9m aXgtcGktbXV0ZXgtY29uZC0zLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tdXNs L3BhdGNoZXMvZml4LXN0cnZlcnNjbXAtY29tcGFyaXNvbi1vZi1kaWdpdC1zZXF1ZW5jZS13aXRo LW5vbi5wYXRjaC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXVzbC9wYXRjaGVz L2dldHRpZC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXVzbC9wYXRjaGVzL2lt cGxlbWVudF9yZWFscGF0aF9kaXJlY3RseV9pbnN0ZWFkX29mX3VzaW5nX3Byb2Nmc19yZWFkbGlu ay5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXVzbC9wYXRjaGVzL2lzYXNjaWku cGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL211c2wvcGF0Y2hlcy9tb19sb29rdXAu cGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL211c2wvcGF0Y2hlcy9wcGMtcHRfcmVn cy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXVzbC9wYXRjaGVzL3BwYzY0LWZw cmVnc2V0X3QucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL211c2wvcGF0Y2hlcy9w cGNsZS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXVzbC9wYXRjaGVzL3Jpc2N2 NjQtdWNvbnRleHQucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL211c2wvcGF0Y2hl cy93b3JrX2Fyb3VuZF9saW51eF9idWdfaW5fcmVhZGxpbmtfc3lzY2FsbF93aXRoX3plcm9fYnVm ZmVyLnBhdGNoCgpkaWZmIC0tZ2l0IGEvY29tbW9uL3NobGlicyBiL2NvbW1vbi9zaGxpYnMKaW5k ZXggMWVlNWIxZjA1NDRiNWMuLjNlYzcyYWQ2MGFiMTk2IDEwMDY0NAotLS0gYS9jb21tb24vc2hs aWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTQ3LDYgKzQ3LDMyIEBAIGxpYlNlZ0ZhdWx0LnNv IGdsaWJjLTIuMzlfMQogbGlicGNwcm9maWxlLnNvIGdsaWJjLTIuMzlfMQogbGliY2lkbi5zby4x IGdsaWJjLTIuMzlfMQogbGlibXZlYy5zby4xIGdsaWJjLTIuMzlfMQorbGliYy5zbyBtdXNsLTEu Mi40XzEKK2xpYmMuc28uNiBnbGliYy0yLjM4XzEKK2xpYm0uc28uNiBnbGliYy0yLjM4XzEKK2xp YnB0aHJlYWQuc28uMCBnbGliYy0yLjM4XzEKK2xpYnJ0LnNvLjEgZ2xpYmMtMi4zOF8xCitsaWJk bC5zby4yIGdsaWJjLTIuMzhfMQorbGQtbGludXgteDg2LTY0LnNvLjIgZ2xpYmMtMi4zOF8xIHg4 Nl82NAorbGQtbGludXguc28uMiBnbGliYy0yLjM4XzEgaTY4NgorbGQtbGludXguc28uMyBnbGli Yy0yLjM4XzEgYXJtdjV0ZWwKK2xkLWxpbnV4LWFhcmNoNjQuc28uMSBnbGliYy0yLjM4XzEgYWFy Y2g2NAorbGQtbGludXgtcmlzY3Y2NC1scDY0ZC5zby4xIGdsaWJjLTIuMzhfMSByaXNjdjY0Cits ZDY0LnNvLjIgZ2xpYmMtMi4zOF8xIHBwYzY0CitsZC5zby4xIGdsaWJjLTIuMzhfMSBtaXBzCits ZC5zby4xIGdsaWJjLTIuMzhfMSBwcGMKK2xkLWxpbnV4LWFybWhmLnNvLjMgZ2xpYmMtMi4zOF8x CitsaWJyZXNvbHYuc28uMiBnbGliYy0yLjM4XzEKK2xpYmFubC5zby4xIGdsaWJjLTIuMzhfMQor bGlidGhyZWFkX2RiLnNvLjEgZ2xpYmMtMi4zOF8xCitsaWJ1dGlsLnNvLjEgZ2xpYmMtMi4zOF8x CitsaWJuc2wuc28uMSBnbGliYy0yLjM4XzEKK2xpYm5zc19kYi5zby4yIGdsaWJjLTIuMzhfMQor bGlibnNzX2ZpbGVzLnNvLjIgZ2xpYmMtMi4zOF8xCitsaWJuc3NfY29tcGF0LnNvLjIgZ2xpYmMt Mi4zOF8xCitsaWJuc3NfZG5zLnNvLjIgZ2xpYmMtMi4zOF8xCitsaWJuc3NfaGVzaW9kLnNvLjIg Z2xpYmMtMi4zOF8xCitsaWJCcm9rZW5Mb2NhbGUuc28uMSBnbGliYy0yLjM4XzEKIGxpYmNyeXB0 LnNvLjIgbGlieGNyeXB0LTQuNC4zNl8xCiBsaWJjcnlwdC5zby4xIGxpYnhjcnlwdC1jb21wYXQt NC40LjM2XzEKIGxpYlNpbUdlYXJDb3JlLnNvLjIwMjAuMy4xNyBzaW1nZWFyLTIwMjAuMy4xN18x CmRpZmYgLS1naXQgYS9zcmNwa2dzL211c2wvcGF0Y2hlcy8wMC1yZWFsbG9jYXJyYXkucGF0Y2gg Yi9zcmNwa2dzL211c2wvcGF0Y2hlcy8wMC1yZWFsbG9jYXJyYXkucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IGNmYWFiMzMwZTg5YWRjLi4wMDAwMDAwMDAwMDAwMAotLS0gYS9z cmNwa2dzL211c2wvcGF0Y2hlcy8wMC1yZWFsbG9jYXJyYXkucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSw0MiArMCwwIEBACi1Gcm9tIDgyMTA4M2FjN2I1NGVhYTA0MGQ1YThkZGM2N2M2MjA2YTE3 NWUwY2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBcmlhZG5lIENvbmlsbCA8YXJp YWRuZUBkZXJlZmVyZW5jZWQub3JnPgotRGF0ZTogU2F0LCAxIEF1ZyAyMDIwIDA4OjI2OjM1IC0w NjAwCi1TdWJqZWN0OiBbUEFUQ0hdIGltcGxlbWVudCByZWFsbG9jYXJyYXkKLQotcmVhbGxvY2Fy cmF5IGlzIGFuIGV4dGVuc2lvbiBpbnRyb2R1Y2VkIGJ5IE9wZW5CU0QsIHdoaWNoIGludHJvZHVj ZXMKLWNhbGxvYyBvdmVyZmxvdyBjaGVja2luZyB0byByZWFsbG9jLgotCi1nbGliYyAyLjI4IGlu dHJvZHVjZWQgc3VwcG9ydCBmb3IgdGhpcyBmdW5jdGlvbiBiZWhpbmQgX0dOVV9TT1VSQ0UsCi13 aGlsZSBnbGliYyAyLjI5IGFsbG93cyBpdHMgdXNhZ2UgaW4gX0RFRkFVTFRfU09VUkNFLgotCi1k aWZmIC0tZ2l0IGEvaW5jbHVkZS9zdGRsaWIuaCBiL2luY2x1ZGUvc3RkbGliLmgKLWluZGV4IDE5 NGMyMDMzLi5iNTRhMDUxZiAxMDA2NDQKLS0tLSBhL2luY2x1ZGUvc3RkbGliLmgKLSsrKyBiL2lu Y2x1ZGUvc3RkbGliLmgKLUBAIC0xNDUsNiArMTQ1LDcgQEAgaW50IGdldGxvYWRhdmcoZG91Ymxl ICosIGludCk7Ci0gaW50IGNsZWFyZW52KHZvaWQpOwotICNkZWZpbmUgV0NPUkVEVU1QKHMpICgo cykgJiAweDgwKQotICNkZWZpbmUgV0lGQ09OVElOVUVEKHMpICgocykgPT0gMHhmZmZmKQotK3Zv aWQgKnJlYWxsb2NhcnJheSAodm9pZCAqLCBzaXplX3QsIHNpemVfdCk7Ci0gI2VuZGlmCi0gCi0g I2lmZGVmIF9HTlVfU09VUkNFCi1kaWZmIC0tZ2l0IGEvc3JjL21hbGxvYy9yZWFsbG9jYXJyYXku YyBiL3NyYy9tYWxsb2MvcmVhbGxvY2FycmF5LmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRl eCAwMDAwMDAwMC4uNGE2ZWJlNDYKLS0tLSAvZGV2L251bGwKLSsrKyBiL3NyYy9tYWxsb2MvcmVh bGxvY2FycmF5LmMKLUBAIC0wLDAgKzEsMTMgQEAKLSsjZGVmaW5lIF9CU0RfU09VUkNFCi0rI2lu Y2x1ZGUgPGVycm5vLmg+Ci0rI2luY2x1ZGUgPHN0ZGxpYi5oPgotKwotK3ZvaWQgKnJlYWxsb2Nh cnJheSh2b2lkICpwdHIsIHNpemVfdCBtLCBzaXplX3QgbikKLSt7Ci0rCWlmIChuICYmIG0gPiAt MSAvIG4pIHsKLSsJCWVycm5vID0gRU5PTUVNOwotKwkJcmV0dXJuIDA7Ci0rCX0KLSsKLSsJcmV0 dXJuIHJlYWxsb2MocHRyLCBtICogbik7Ci0rfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tdXNsL3Bh dGNoZXMvMDAwMS1yZW1vdmUtT19MQVJHRUZJTEUucGF0Y2ggYi9zcmNwa2dzL211c2wvcGF0Y2hl cy8wMDAxLXJlbW92ZS1PX0xBUkdFRklMRS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAwMC4uMWNhMzYyNjM2OTFjN2EKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNw a2dzL211c2wvcGF0Y2hlcy8wMDAxLXJlbW92ZS1PX0xBUkdFRklMRS5wYXRjaApAQCAtMCwwICsx LDI2IEBACitGcm9tIDdkNTU0ZDBjNzg2ZjU0MzFhZDMwMzVhMzI4ODE1ODkwYTk1YTI5NzkgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/PUMzPTg5cmljbz0yME5vZ3Vl aXJhPz0gPGVyaWNvbnJAZGlzcm9vdC5vcmc+CitEYXRlOiBXZWQsIDEyIE1heSAyMDIxIDE3OjM5 OjIwIC0wMzAwCitTdWJqZWN0OiBbUEFUQ0hdIHJlbW92ZSBPX0xBUkdFRklMRQorCit1c2VmdWwg aGFjayB0byBidWlsZCAxLjIuMiBtdXNsIGZvciB4ODZfNjQgYW5kIG5vdCBoYXZlIHRvIHJlYnVp bGQKK2ZpcmVmb3guCistLS0KKyBhcmNoL2dlbmVyaWMvYml0cy9mY250bC5oIHwgMiArLQorIDEg ZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0 IGEvYXJjaC9nZW5lcmljL2JpdHMvZmNudGwuaCBiL2FyY2gvZ2VuZXJpYy9iaXRzL2ZjbnRsLmgK K2luZGV4IDczMGE5OGNmLi5jMmZkMTc2MCAxMDA2NDQKKy0tLSBhL2FyY2gvZ2VuZXJpYy9iaXRz L2ZjbnRsLmgKKysrKyBiL2FyY2gvZ2VuZXJpYy9iaXRzL2ZjbnRsLmgKK0BAIC0xMyw3ICsxMyw3 IEBACisgCisgI2RlZmluZSBPX0FTWU5DICAgICAgMDIwMDAwCisgI2RlZmluZSBPX0RJUkVDVCAg ICAgMDQwMDAwCistI2RlZmluZSBPX0xBUkdFRklMRSAwMTAwMDAwCisrI2RlZmluZSBPX0xBUkdF RklMRSAwCisgI2RlZmluZSBPX05PQVRJTUUgIDAxMDAwMDAwCisgI2RlZmluZSBPX1BBVEggICAg MDEwMDAwMDAwCisgI2RlZmluZSBPX1RNUEZJTEUgMDIwMjAwMDAwCistLSAKKzIuMzEuMQpkaWZm IC0tZ2l0IGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvMDAwMV9yZW9yZGVyX3RocmVhZF9saXN0X3Vu bGlua19pbl9wdGhyZWFkX2V4aXRfYWZ0ZXJfYWxsLnBhdGNoIGIvc3JjcGtncy9tdXNsL3BhdGNo ZXMvMDAwMV9yZW9yZGVyX3RocmVhZF9saXN0X3VubGlua19pbl9wdGhyZWFkX2V4aXRfYWZ0ZXJf YWxsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YzFhNTViYzg1ZTMwNy4u MDAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvMDAwMV9yZW9yZGVyX3Ro cmVhZF9saXN0X3VubGlua19pbl9wdGhyZWFkX2V4aXRfYWZ0ZXJfYWxsLnBhdGNoCisrKyAvZGV2 L251bGwKQEAgLTEsNTYgKzAsMCBAQAotPkZyb20gNGQ1YWEyMGE5NGEyZDNmYWUzZTY5Mjg5ZGMy M2VjYWZiZDBjMTZjNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJpY2ggRmVsa2Vy IDxkYWxpYXNAYWVyaWZhbC5jeD4KLURhdGU6IEZyaSwgMjIgTWF5IDIwMjAgMTc6MzU6MTQgLTA0 MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzRdIHJlb3JkZXIgdGhyZWFkIGxpc3QgdW5saW5rIGluIHB0 aHJlYWRfZXhpdCBhZnRlciBhbGwKLSBsb2NrcwotCi1zaW5jZSB0aGUgYmFja2VuZCBmb3IgTE9D SygpIHNraXBzIGxvY2tpbmcgaWYgc2luZ2xlLXRocmVhZGVkLCBpdCdzCi11bnNhZmUgdG8gbWFr ZSB0aGUgcHJvY2VzcyBhcHBlYXIgc2luZ2xlLXRocmVhZGVkIGJlZm9yZSB0aGUgbGFzdCB1c2UK LW9mIGxvY2suCi0KLXRoaXMgZml4ZXMgcG90ZW50aWFsIHVuc3luY2hyb25pemVkIGFjY2VzcyB0 byBhIGxpbmtlZCBsaXN0IHZpYQotX19kbF90aHJlYWRfY2xlYW51cC4KLS0tLQotIHNyYy90aHJl YWQvcHRocmVhZF9jcmVhdGUuYyB8IDE5ICsrKysrKysrKysrLS0tLS0tLS0KLSAxIGZpbGUgY2hh bmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3Ny Yy90aHJlYWQvcHRocmVhZF9jcmVhdGUuYyBiL3NyYy90aHJlYWQvcHRocmVhZF9jcmVhdGUuYwot aW5kZXggNWY0OTEwOTIuLjZhM2IwYzIxIDEwMDY0NAotLS0tIGEvc3JjL3RocmVhZC9wdGhyZWFk X2NyZWF0ZS5jCi0rKysgYi9zcmMvdGhyZWFkL3B0aHJlYWRfY3JlYXRlLmMKLUBAIC05MCwxNCAr OTAsNyBAQCBfTm9yZXR1cm4gdm9pZCBfX3B0aHJlYWRfZXhpdCh2b2lkICpyZXN1bHQpCi0gCQll eGl0KDApOwotIAl9Ci0gCi0tCS8qIEF0IHRoaXMgcG9pbnQgd2UgYXJlIGNvbW1pdHRlZCB0byB0 aHJlYWQgdGVybWluYXRpb24uIFVubGluawotLQkgKiB0aGUgdGhyZWFkIGZyb20gdGhlIGxpc3Qu IFRoaXMgY2hhbmdlIHdpbGwgbm90IGJlIHZpc2libGUKLS0JICogdW50aWwgdGhlIGxvY2sgaXMg cmVsZWFzZWQsIHdoaWNoIG9ubHkgaGFwcGVucyBhZnRlciBTWVNfZXhpdAotLQkgKiBoYXMgYmVl biBjYWxsZWQsIHZpYSB0aGUgZXhpdCBmdXRleCBhZGRyZXNzIHBvaW50aW5nIGF0IHRoZSBsb2Nr LiAqLwotLQlsaWJjLnRocmVhZHNfbWludXNfMS0tOwotLQlzZWxmLT5uZXh0LT5wcmV2ID0gc2Vs Zi0+cHJldjsKLS0Jc2VsZi0+cHJldi0+bmV4dCA9IHNlbGYtPm5leHQ7Ci0tCXNlbGYtPnByZXYg PSBzZWxmLT5uZXh0ID0gc2VsZjsKLSsJLyogQXQgdGhpcyBwb2ludCB3ZSBhcmUgY29tbWl0dGVk IHRvIHRocmVhZCB0ZXJtaW5hdGlvbi4gKi8KLSAKLSAJLyogUHJvY2VzcyByb2J1c3QgbGlzdCBp biB1c2Vyc3BhY2UgdG8gaGFuZGxlIG5vbi1wc2hhcmVkIG11dGV4ZXMKLSAJICogYW5kIHRoZSBk ZXRhY2hlZCB0aHJlYWQgY2FzZSB3aGVyZSB0aGUgcm9idXN0IGxpc3QgaGVhZCB3aWxsCi1AQCAt MTIxLDYgKzExNCwxNiBAQCBfTm9yZXR1cm4gdm9pZCBfX3B0aHJlYWRfZXhpdCh2b2lkICpyZXN1 bHQpCi0gCV9fZG9fb3JwaGFuZWRfc3RkaW9fbG9ja3MoKTsKLSAJX19kbF90aHJlYWRfY2xlYW51 cCgpOwotIAotKwkvKiBMYXN0LCB1bmxpbmsgdGhyZWFkIGZyb20gdGhlIGxpc3QuIFRoaXMgY2hh bmdlIHdpbGwgbm90IGJlIHZpc2libGUKLSsJICogdW50aWwgdGhlIGxvY2sgaXMgcmVsZWFzZWQs IHdoaWNoIG9ubHkgaGFwcGVucyBhZnRlciBTWVNfZXhpdAotKwkgKiBoYXMgYmVlbiBjYWxsZWQs IHZpYSB0aGUgZXhpdCBmdXRleCBhZGRyZXNzIHBvaW50aW5nIGF0IHRoZSBsb2NrLgotKwkgKiBU aGlzIG5lZWRzIHRvIGhhcHBlbiBhZnRlciBhbnkgcG9zc2libGUgY2FsbHMgdG8gTE9DSygpIHRo YXQgbWlnaHQKLSsJICogc2tpcCBsb2NraW5nIGlmIGxpYmMudGhyZWFkc19taW51c18xIGlzIHpl cm8uICovCi0rCWxpYmMudGhyZWFkc19taW51c18xLS07Ci0rCXNlbGYtPm5leHQtPnByZXYgPSBz ZWxmLT5wcmV2OwotKwlzZWxmLT5wcmV2LT5uZXh0ID0gc2VsZi0+bmV4dDsKLSsJc2VsZi0+cHJl diA9IHNlbGYtPm5leHQgPSBzZWxmOwotKwotIAkvKiBUaGlzIGF0b21pYyBwb3RlbnRpYWxseSBj b21wZXRlcyB3aXRoIGEgY29uY3VycmVudCBwdGhyZWFkX2RldGFjaAotIAkgKiBjYWxsOyB0aGUg bG9zZXIgaXMgcmVzcG9uc2libGUgZm9yIGZyZWVpbmcgdGhyZWFkIHJlc291cmNlcy4gKi8KLSAJ aW50IHN0YXRlID0gYV9jYXMoJnNlbGYtPmRldGFjaF9zdGF0ZSwgRFRfSk9JTkFCTEUsIERUX0VY SVRJTkcpOwotLS0gCi0yLjIxLjAKLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tdXNsL3BhdGNoZXMv MDAwMl9kb25fdF91c2VfbGliY190aHJlYWRzX21pbnVzXzFfYXNfcmVsYXhlZF9hdG9taWNfZm9y LnBhdGNoIGIvc3JjcGtncy9tdXNsL3BhdGNoZXMvMDAwMl9kb25fdF91c2VfbGliY190aHJlYWRz X21pbnVzXzFfYXNfcmVsYXhlZF9hdG9taWNfZm9yLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCBlMDYwNzYyZTk5YTYyMC4uMDAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9t dXNsL3BhdGNoZXMvMDAwMl9kb25fdF91c2VfbGliY190aHJlYWRzX21pbnVzXzFfYXNfcmVsYXhl ZF9hdG9taWNfZm9yLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzggKzAsMCBAQAotPkZyb20g ZTAxYjU5MzliMzhhZWE1ZWNiZTQxNjcwNjQzMTk5ODI1ODc0YjI2YyBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKLUZyb206IFJpY2ggRmVsa2VyIDxkYWxpYXNAYWVyaWZhbC5jeD4KLURhdGU6IFRo dSwgMjEgTWF5IDIwMjAgMjM6MzI6NDUgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCAyLzRdIGRvbid0 IHVzZSBsaWJjLnRocmVhZHNfbWludXNfMSBhcyByZWxheGVkIGF0b21pYyBmb3IKLSBza2lwcGlu ZyBsb2NrcwotCi1hZnRlciBhbGwgYnV0IHRoZSBsYXN0IHRocmVhZCBleGl0cywgdGhlIG5leHQg dGhyZWFkIHRvIG9ic2VydmUKLWxpYmMudGhyZWFkc19taW51c18xPT0wIGFuZCBjb25jbHVkZSB0 aGF0IGl0IGNhbiBza2lwIGxvY2tpbmcgZmFpbHMgdG8KLXN5bmNocm9uaXplIHdpdGggYW55IGNo YW5nZXMgdG8gbWVtb3J5IHRoYXQgd2VyZSBtYWRlIGJ5IHRoZQotbGFzdC1leGl0aW5nIHRocmVh ZC4gdGhpcyBjYW4gcHJvZHVjZSBkYXRhIHJhY2VzLgotCi1vbiBzb21lIGFyY2hzLCBhdCBsZWFz dCB4ODYsIG1lbW9yeSBzeW5jaHJvbml6YXRpb24gaXMgdW5saWtlbHkgdG8gYmUKLWEgcHJvYmxl bTsgaG93ZXZlciwgd2l0aCB0aGUgaW5saW5lIGxvY2tzIGluIG1hbGxvYywgc2tpcHBpbmcgdGhl IGxvY2sKLWFsc28gZWxpbWluYXRlZCB0aGUgY29tcGlsZXIgYmFycmllciwgYW5kIGNhdXNlZCBj b2RlIHRoYXQgbmVlZGVkIHRvCi1yZS1jaGVjayBjaHVuayBpbi11c2UgYml0cyBhZnRlciBvYnRh aW5pbmcgdGhlIGxvY2sgdG8gcmV1c2UgYSBzdGFsZQotdmFsdWUsIHBvc3NpYmx5IGZyb20gYmVm b3JlIHRoZSBwcm9jZXNzIGJlY2FtZSBzaW5nbGUtdGhyZWFkZWQuIHRoaXMKLWluIHR1cm4gcHJv ZHVjZWQgY29ycnVwdGlvbiBvZiB0aGUgaGVhcCBzdGF0ZS4KLQotc29tZSB1c2VzIG9mIGxpYmMu dGhyZWFkc19taW51c18xIHJlbWFpbiwgZXNwZWNpYWxseSBmb3IgYWxsb2NhdGlvbiBvZgotbmV3 IFRMUyBpbiB0aGUgZHluYW1pYyBsaW5rZXI7IG90aGVyd2lzZSwgaXQgY291bGQgYmUgcmVtb3Zl ZAotZW50aXJlbHkuIGl0J3MgbWFkZSBub24tdm9sYXRpbGUgdG8gcmVmbGVjdCB0aGF0IHRoZSBy ZW1haW5pbmcKLWFjY2Vzc2VzIGFyZSBvbmx5IG1hZGUgdW5kZXIgbG9jayBvbiB0aGUgdGhyZWFk IGxpc3QuCi0KLWluc3RlYWQgb2YgbGliYy50aHJlYWRzX21pbnVzXzEsIGxpYmMudGhyZWFkZWQg aXMgbm93IHVzZWQgZm9yCi1za2lwcGluZyBsb2Nrcy4gdGhlIGRpZmZlcmVuY2UgaXMgdGhhdCBs aWJjLnRocmVhZGVkIGlzIHBlcm1hbmVudGx5Ci10cnVlIG9uY2UgYW4gYWRkaXRpb25hbCB0aHJl YWQgaGFzIGJlZW4gY3JlYXRlZC4gdGhpcyB3aWxsIHByb2R1Y2UKLXNvbWUgcGVyZm9ybWFuY2Ug cmVncmVzc2lvbiBpbiBwcm9jZXNzZXMgdGhhdCBhcmUgbW9zdGx5Ci1zaW5nbGUtdGhyZWFkZWQg YnV0IG9jY2FzaW9uYWxseSBjcmVhdGluZyB0aHJlYWRzLiBpbiB0aGUgZnV0dXJlIGl0Ci1tYXkg YmUgcG9zc2libGUgdG8gYnJpbmcgYmFjayB0aGUgZnVsbCBsb2NrLXNraXBwaW5nLCBidXQgbW9y ZSBjYXJlCi1uZWVkcyB0byBiZSB0YWtlbiB0byBwcm9kdWNlIGEgc2FmZSBkZXNpZ24uCi0tLS0K LSBzcmMvaW50ZXJuYWwvbGliYy5oIHwgMiArLQotIHNyYy9tYWxsb2MvbWFsbG9jLmMgfCAyICst Ci0gc3JjL3RocmVhZC9fX2xvY2suYyB8IDIgKy0KLSAzIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0 aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9pbnRlcm5hbC9saWJj LmggYi9zcmMvaW50ZXJuYWwvbGliYy5oCi1pbmRleCBhYzk3ZGM3ZS4uYzA2MTQ4NTIgMTAwNjQ0 Ci0tLS0gYS9zcmMvaW50ZXJuYWwvbGliYy5oCi0rKysgYi9zcmMvaW50ZXJuYWwvbGliYy5oCi1A QCAtMjEsNyArMjEsNyBAQCBzdHJ1Y3QgX19saWJjIHsKLSAJaW50IGNhbl9kb190aHJlYWRzOwot IAlpbnQgdGhyZWFkZWQ7Ci0gCWludCBzZWN1cmU7Ci0tCXZvbGF0aWxlIGludCB0aHJlYWRzX21p bnVzXzE7Ci0rCWludCB0aHJlYWRzX21pbnVzXzE7Ci0gCXNpemVfdCAqYXV4djsKLSAJc3RydWN0 IHRsc19tb2R1bGUgKnRsc19oZWFkOwotIAlzaXplX3QgdGxzX3NpemUsIHRsc19hbGlnbiwgdGxz X2NudDsKLWRpZmYgLS1naXQgYS9zcmMvbWFsbG9jL21hbGxvYy5jIGIvc3JjL21hbGxvYy9tYWxs b2MuYwotaW5kZXggOTY5ODI1OTYuLjI1NTNhNjJlIDEwMDY0NAotLS0tIGEvc3JjL21hbGxvYy9t YWxsb2MuYwotKysrIGIvc3JjL21hbGxvYy9tYWxsb2MuYwotQEAgLTI2LDcgKzI2LDcgQEAgaW50 IF9fbWFsbG9jX3JlcGxhY2VkOwotIAotIHN0YXRpYyBpbmxpbmUgdm9pZCBsb2NrKHZvbGF0aWxl IGludCAqbGspCi0gewotLQlpZiAobGliYy50aHJlYWRzX21pbnVzXzEpCi0rCWlmIChsaWJjLnRo cmVhZGVkKQotIAkJd2hpbGUoYV9zd2FwKGxrLCAxKSkgX193YWl0KGxrLCBsaysxLCAxLCAxKTsK LSB9Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL3RocmVhZC9fX2xvY2suYyBiL3NyYy90aHJlYWQvX19s b2NrLmMKLWluZGV4IDQ1NTU3Yzg4Li41YjliMTQ0ZSAxMDA2NDQKLS0tLSBhL3NyYy90aHJlYWQv X19sb2NrLmMKLSsrKyBiL3NyYy90aHJlYWQvX19sb2NrLmMKLUBAIC0xOCw3ICsxOCw3IEBACi0g Ci0gdm9pZCBfX2xvY2sodm9sYXRpbGUgaW50ICpsKQotIHsKLS0JaWYgKCFsaWJjLnRocmVhZHNf bWludXNfMSkgcmV0dXJuOwotKwlpZiAoIWxpYmMudGhyZWFkZWQpIHJldHVybjsKLSAJLyogZmFz dCBwYXRoOiBJTlRfTUlOIGZvciB0aGUgbG9jaywgKzEgZm9yIHRoZSBjb25nZXN0aW9uICovCi0g CWludCBjdXJyZW50ID0gYV9jYXMobCwgMCwgSU5UX01JTiArIDEpOwotIAlpZiAoIWN1cnJlbnQp IHJldHVybjsKLS0tIAotMi4yMS4wCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXVzbC9wYXRjaGVz LzAwMDNfY3V0X2Rvd25fc2l6ZV9vZl9zb21lX2xpYmNfc3RydWN0X21lbWJlcnMucGF0Y2ggYi9z cmNwa2dzL211c2wvcGF0Y2hlcy8wMDAzX2N1dF9kb3duX3NpemVfb2Zfc29tZV9saWJjX3N0cnVj dF9tZW1iZXJzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NDBjNWQ5NTAx OTU3Mi4uMDAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvMDAwM19jdXRf ZG93bl9zaXplX29mX3NvbWVfbGliY19zdHJ1Y3RfbWVtYmVycy5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDMwICswLDAgQEAKLT5Gcm9tIGYxMjg4OGU5ZWI5ZWVkNjBjYzI2NmI4OTlkY2FmZWNi NDc1Mjk2NGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSaWNoIEZlbGtlciA8ZGFs aWFzQGFlcmlmYWwuY3g+Ci1EYXRlOiBGcmksIDIyIE1heSAyMDIwIDE3OjI1OjM4IC0wNDAwCi1T dWJqZWN0OiBbUEFUQ0ggMy80XSBjdXQgZG93biBzaXplIG9mIHNvbWUgbGliYyBzdHJ1Y3QgbWVt YmVycwotCi10aGVzZSBhcmUgYWxsIGZsYWdzIHRoYXQgY2FuIGJlIHNpbmdsZS1ieXRlIHZhbHVl cy4KLS0tLQotIHNyYy9pbnRlcm5hbC9saWJjLmggfCA2ICsrKy0tLQotIDEgZmlsZSBjaGFuZ2Vk LCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvaW50 ZXJuYWwvbGliYy5oIGIvc3JjL2ludGVybmFsL2xpYmMuaAotaW5kZXggYzA2MTQ4NTIuLmQ0N2Y1 OGUwIDEwMDY0NAotLS0tIGEvc3JjL2ludGVybmFsL2xpYmMuaAotKysrIGIvc3JjL2ludGVybmFs L2xpYmMuaAotQEAgLTE4LDkgKzE4LDkgQEAgc3RydWN0IHRsc19tb2R1bGUgewotIH07Ci0gCi0g c3RydWN0IF9fbGliYyB7Ci0tCWludCBjYW5fZG9fdGhyZWFkczsKLS0JaW50IHRocmVhZGVkOwot LQlpbnQgc2VjdXJlOwotKwljaGFyIGNhbl9kb190aHJlYWRzOwotKwljaGFyIHRocmVhZGVkOwot KwljaGFyIHNlY3VyZTsKLSAJaW50IHRocmVhZHNfbWludXNfMTsKLSAJc2l6ZV90ICphdXh2Owot IAlzdHJ1Y3QgdGxzX21vZHVsZSAqdGxzX2hlYWQ7Ci0tLSAKLTIuMjEuMAotCmRpZmYgLS1naXQg YS9zcmNwa2dzL211c2wvcGF0Y2hlcy8wMDA0X3Jlc3RvcmVfbG9ja19za2lwcGluZ19mb3JfcHJv Y2Vzc2VzX3RoYXRfcmV0dXJuX3RvX3MucGF0Y2ggYi9zcmNwa2dzL211c2wvcGF0Y2hlcy8wMDA0 X3Jlc3RvcmVfbG9ja19za2lwcGluZ19mb3JfcHJvY2Vzc2VzX3RoYXRfcmV0dXJuX3RvX3MucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU3MDNjMWY0MDNjNTlkLi4wMDAwMDAw MDAwMDAwMAotLS0gYS9zcmNwa2dzL211c2wvcGF0Y2hlcy8wMDA0X3Jlc3RvcmVfbG9ja19za2lw cGluZ19mb3JfcHJvY2Vzc2VzX3RoYXRfcmV0dXJuX3RvX3MucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSwxMDIgKzAsMCBAQAotPkZyb20gOGQ4MWJhOGMwYmM2ZmUzMTEzNmNiMTVjOWM4MmVmNGMy NDk2NTA0MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJpY2ggRmVsa2VyIDxkYWxp YXNAYWVyaWZhbC5jeD4KLURhdGU6IEZyaSwgMjIgTWF5IDIwMjAgMTc6NDU6NDcgLTA0MDAKLVN1 YmplY3Q6IFtQQVRDSCA0LzRdIHJlc3RvcmUgbG9jay1za2lwcGluZyBmb3IgcHJvY2Vzc2VzIHRo YXQgcmV0dXJuIHRvCi0gc2luZ2xlLXRocmVhZGVkIHN0YXRlCi0KLXRoZSBkZXNpZ24gdXNlZCBo ZXJlIHJlbGllcyBvbiB0aGUgYmFycmllciBwcm92aWRlZCBieSB0aGUgZmlyc3QgbG9jawotb3Bl cmF0aW9uIGFmdGVyIHRoZSBwcm9jZXNzIHJldHVybnMgdG8gc2luZ2xlLXRocmVhZGVkIHN0YXRl IHRvCi1zeW5jaHJvbml6ZSB3aXRoIGFjdGlvbnMgYnkgdGhlIGxhc3QgdGhyZWFkIHRoYXQgZXhp dGVkLiBieSBzdG9yaW5nCi10aGUgaW50ZW50IHRvIGNoYW5nZSBtb2RlcyBpbiB0aGUgc2FtZSBv YmplY3QgdXNlZCB0byBkZXRlY3Qgd2hldGhlcgotbG9ja2luZyBpcyBuZWVkZWQsIGl0J3MgcG9z c2libGUgdG8gYXZvaWQgYW4gZXh0cmEgKHBvc3NpYmx5IGNvc3RseSkKLW1lbW9yeSBsb2FkIGFm dGVyIHRoZSBsb2NrIGlzIHRha2VuLgotLS0tCi0gc3JjL2ludGVybmFsL2xpYmMuaCAgICAgICAg IHwgMSArCi0gc3JjL21hbGxvYy9tYWxsb2MuYyAgICAgICAgIHwgNSArKysrLQotIHNyYy90aHJl YWQvX19sb2NrLmMgICAgICAgICB8IDQgKysrLQotIHNyYy90aHJlYWQvcHRocmVhZF9jcmVhdGUu YyB8IDggKysrKy0tLS0KLSA0IGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDYgZGVs ZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvaW50ZXJuYWwvbGliYy5oIGIvc3JjL2ludGVy bmFsL2xpYmMuaAotaW5kZXggZDQ3ZjU4ZTAuLjYxOWJiYTg2IDEwMDY0NAotLS0tIGEvc3JjL2lu dGVybmFsL2xpYmMuaAotKysrIGIvc3JjL2ludGVybmFsL2xpYmMuaAotQEAgLTIxLDYgKzIxLDcg QEAgc3RydWN0IF9fbGliYyB7Ci0gCWNoYXIgY2FuX2RvX3RocmVhZHM7Ci0gCWNoYXIgdGhyZWFk ZWQ7Ci0gCWNoYXIgc2VjdXJlOwotKwl2b2xhdGlsZSBzaWduZWQgY2hhciBuZWVkX2xvY2tzOwot IAlpbnQgdGhyZWFkc19taW51c18xOwotIAlzaXplX3QgKmF1eHY7Ci0gCXN0cnVjdCB0bHNfbW9k dWxlICp0bHNfaGVhZDsKLWRpZmYgLS1naXQgYS9zcmMvbWFsbG9jL21hbGxvYy5jIGIvc3JjL21h bGxvYy9tYWxsb2MuYwotaW5kZXggMjU1M2E2MmUuLmE4MDNkNGM5IDEwMDY0NAotLS0tIGEvc3Jj L21hbGxvYy9tYWxsb2MuYwotKysrIGIvc3JjL21hbGxvYy9tYWxsb2MuYwotQEAgLTI2LDggKzI2 LDExIEBAIGludCBfX21hbGxvY19yZXBsYWNlZDsKLSAKLSBzdGF0aWMgaW5saW5lIHZvaWQgbG9j ayh2b2xhdGlsZSBpbnQgKmxrKQotIHsKLS0JaWYgKGxpYmMudGhyZWFkZWQpCi0rCWludCBuZWVk X2xvY2tzID0gbGliYy5uZWVkX2xvY2tzOwotKwlpZiAobmVlZF9sb2NrcykgewotIAkJd2hpbGUo YV9zd2FwKGxrLCAxKSkgX193YWl0KGxrLCBsaysxLCAxLCAxKTsKLSsJCWlmIChuZWVkX2xvY2tz IDwgMCkgbGliYy5uZWVkX2xvY2tzID0gMDsKLSsJfQotIH0KLSAKLSBzdGF0aWMgaW5saW5lIHZv aWQgdW5sb2NrKHZvbGF0aWxlIGludCAqbGspCi1kaWZmIC0tZ2l0IGEvc3JjL3RocmVhZC9fX2xv Y2suYyBiL3NyYy90aHJlYWQvX19sb2NrLmMKLWluZGV4IDViOWIxNDRlLi42MGVlY2U0OSAxMDA2 NDQKLS0tLSBhL3NyYy90aHJlYWQvX19sb2NrLmMKLSsrKyBiL3NyYy90aHJlYWQvX19sb2NrLmMK LUBAIC0xOCw5ICsxOCwxMSBAQAotIAotIHZvaWQgX19sb2NrKHZvbGF0aWxlIGludCAqbCkKLSB7 Ci0tCWlmICghbGliYy50aHJlYWRlZCkgcmV0dXJuOwotKwlpbnQgbmVlZF9sb2NrcyA9IGxpYmMu bmVlZF9sb2NrczsKLSsJaWYgKCFuZWVkX2xvY2tzKSByZXR1cm47Ci0gCS8qIGZhc3QgcGF0aDog SU5UX01JTiBmb3IgdGhlIGxvY2ssICsxIGZvciB0aGUgY29uZ2VzdGlvbiAqLwotIAlpbnQgY3Vy cmVudCA9IGFfY2FzKGwsIDAsIElOVF9NSU4gKyAxKTsKLSsJaWYgKG5lZWRfbG9ja3MgPCAwKSBs aWJjLm5lZWRfbG9ja3MgPSAwOwotIAlpZiAoIWN1cnJlbnQpIHJldHVybjsKLSAJLyogQSBmaXJz dCBzcGluIGxvb3AsIGZvciBtZWRpdW0gY29uZ2VzdGlvbi4gKi8KLSAJZm9yICh1bnNpZ25lZCBp ID0gMDsgaSA8IDEwOyArK2kpIHsKLWRpZmYgLS1naXQgYS9zcmMvdGhyZWFkL3B0aHJlYWRfY3Jl YXRlLmMgYi9zcmMvdGhyZWFkL3B0aHJlYWRfY3JlYXRlLmMKLWluZGV4IDZhM2IwYzIxLi42YmRm YjQ0ZiAxMDA2NDQKLS0tLSBhL3NyYy90aHJlYWQvcHRocmVhZF9jcmVhdGUuYwotKysrIGIvc3Jj L3RocmVhZC9wdGhyZWFkX2NyZWF0ZS5jCi1AQCAtMTE4LDggKzExOCw4IEBAIF9Ob3JldHVybiB2 b2lkIF9fcHRocmVhZF9leGl0KHZvaWQgKnJlc3VsdCkKLSAJICogdW50aWwgdGhlIGxvY2sgaXMg cmVsZWFzZWQsIHdoaWNoIG9ubHkgaGFwcGVucyBhZnRlciBTWVNfZXhpdAotIAkgKiBoYXMgYmVl biBjYWxsZWQsIHZpYSB0aGUgZXhpdCBmdXRleCBhZGRyZXNzIHBvaW50aW5nIGF0IHRoZSBsb2Nr LgotIAkgKiBUaGlzIG5lZWRzIHRvIGhhcHBlbiBhZnRlciBhbnkgcG9zc2libGUgY2FsbHMgdG8g TE9DSygpIHRoYXQgbWlnaHQKLS0JICogc2tpcCBsb2NraW5nIGlmIGxpYmMudGhyZWFkc19taW51 c18xIGlzIHplcm8uICovCi0tCWxpYmMudGhyZWFkc19taW51c18xLS07Ci0rCSAqIHNraXAgbG9j a2luZyBpZiBwcm9jZXNzIGFwcGVhcnMgc2luZ2xlLXRocmVhZGVkLiAqLwotKwlpZiAoIS0tbGli Yy50aHJlYWRzX21pbnVzXzEpIGxpYmMubmVlZF9sb2NrcyA9IC0xOwotIAlzZWxmLT5uZXh0LT5w cmV2ID0gc2VsZi0+cHJldjsKLSAJc2VsZi0+cHJldi0+bmV4dCA9IHNlbGYtPm5leHQ7Ci0gCXNl bGYtPnByZXYgPSBzZWxmLT5uZXh0ID0gc2VsZjsKLUBAIC0zMzksNyArMzM5LDcgQEAgaW50IF9f cHRocmVhZF9jcmVhdGUocHRocmVhZF90ICpyZXN0cmljdCByZXMsIGNvbnN0IHB0aHJlYWRfYXR0 cl90ICpyZXN0cmljdCBhdHQKLSAJCX4oMVVMPDwoKFNJR0NBTkNFTC0xKSUoOCpzaXplb2YobG9u ZykpKSk7Ci0gCi0gCV9fdGxfbG9jaygpOwotLQlsaWJjLnRocmVhZHNfbWludXNfMSsrOwotKwlp ZiAoIWxpYmMudGhyZWFkc19taW51c18xKyspIGxpYmMubmVlZF9sb2NrcyA9IDE7Ci0gCXJldCA9 IF9fY2xvbmUoKGMxMSA/IHN0YXJ0X2MxMSA6IHN0YXJ0KSwgc3RhY2ssIGZsYWdzLCBhcmdzLCAm bmV3LT50aWQsIFRQX0FESihuZXcpLCAmX190aHJlYWRfbGlzdF9sb2NrKTsKLSAKLSAJLyogQWxs IGNsb25lIGZhaWx1cmVzIHRyYW5zbGF0ZSB0byBFQUdBSU4uIElmIGV4cGxpY2l0IHNjaGVkdWxp bmcKLUBAIC0zNjMsNyArMzYzLDcgQEAgaW50IF9fcHRocmVhZF9jcmVhdGUocHRocmVhZF90ICpy ZXN0cmljdCByZXMsIGNvbnN0IHB0aHJlYWRfYXR0cl90ICpyZXN0cmljdCBhdHQKLSAJCW5ldy0+ bmV4dC0+cHJldiA9IG5ldzsKLSAJCW5ldy0+cHJldi0+bmV4dCA9IG5ldzsKLSAJfSBlbHNlIHsK LS0JCWxpYmMudGhyZWFkc19taW51c18xLS07Ci0rCQlpZiAoIS0tbGliYy50aHJlYWRzX21pbnVz XzEpIGxpYmMubmVlZF9sb2NrcyA9IDA7Ci0gCX0KLSAJX190bF91bmxvY2soKTsKLSAJX19yZXN0 b3JlX3NpZ3MoJnNldCk7Ci0tLSAKLTIuMjEuMAotCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXVz bC9wYXRjaGVzLzk4ZTY4OGE5ZGE1ZTdiMjkyNWRkYTE3YTJkNjgyMGRkZGYxZmIyODcucGF0Y2gg Yi9zcmNwa2dzL211c2wvcGF0Y2hlcy85OGU2ODhhOWRhNWU3YjI5MjVkZGExN2EyZDY4MjBkZGRm MWZiMjg3LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOGJmYTY2ZDZjNDdk MC4uMDAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvOThlNjg4YTlkYTVl N2IyOTI1ZGRhMTdhMmQ2ODIwZGRkZjFmYjI4Ny5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEz OSArMCwwIEBACi1Gcm9tIDk4ZTY4OGE5ZGE1ZTdiMjkyNWRkYTE3YTJkNjgyMGRkZGYxZmIyODcg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBJc21hZWwgTHVjZW5vIDxpc21hZWxAaW9k ZXYuY28udWs+Ci1EYXRlOiBTdW4sIDE1IEF1ZyAyMDIxIDE3OjUxOjU3ICswMjAwCi1TdWJqZWN0 OiBbUEFUQ0hdIGRlZmluZSBOVUxMIGFzIG51bGxwdHIgd2hlbiB1c2VkIGluIEMrKzExIG9yIGxh dGVyCi0KLVRoaXMgc2hvdWxkIGJlIHNhZmVyIGZvciBjYXN0aW5nIGFuZCBtb3JlIGNvbXBhdGli bGUgd2l0aCBleGlzdGluZyBjb2RlCi1iYXNlcyB0aGF0IHdyb25nbHkgYXNzdW1lIGl0IG11c3Qg YmUgZGVmaW5lZCBhcyBhIHBvaW50ZXIuCi0tLS0KLSBpbmNsdWRlL2xvY2FsZS5oIHwgNCArKyst Ci0gaW5jbHVkZS9zdGRkZWYuaCB8IDQgKysrLQotIGluY2x1ZGUvc3RkaW8uaCAgfCA0ICsrKy0K LSBpbmNsdWRlL3N0ZGxpYi5oIHwgNCArKystCi0gaW5jbHVkZS9zdHJpbmcuaCB8IDQgKysrLQot IGluY2x1ZGUvdGltZS5oICAgfCA0ICsrKy0KLSBpbmNsdWRlL3VuaXN0ZC5oIHwgNCArKystCi0g aW5jbHVkZS93Y2hhci5oICB8IDQgKysrLQotIDggZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9u cygrKSwgOCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2luY2x1ZGUvbG9jYWxlLmggYi9p bmNsdWRlL2xvY2FsZS5oCi1pbmRleCBjZTM4NDM4MWMuLjExMTA2ZmVhOCAxMDA2NDQKLS0tLSBh L2luY2x1ZGUvbG9jYWxlLmgKLSsrKyBiL2luY2x1ZGUvbG9jYWxlLmgKLUBAIC03LDcgKzcsOSBA QCBleHRlcm4gIkMiIHsKLSAKLSAjaW5jbHVkZSA8ZmVhdHVyZXMuaD4KLSAKLS0jaWZkZWYgX19j cGx1c3BsdXMKLSsjaWYgX19jcGx1c3BsdXMgPj0gMjAxMTAzTAotKyNkZWZpbmUgTlVMTCBudWxs cHRyCi0rI2VsaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKLSAjZGVmaW5lIE5VTEwgMEwKLSAjZWxz ZQotICNkZWZpbmUgTlVMTCAoKHZvaWQqKTApCi1kaWZmIC0tZ2l0IGEvaW5jbHVkZS9zdGRkZWYu aCBiL2luY2x1ZGUvc3RkZGVmLmgKLWluZGV4IGJkNzUzODUzNS4uZjI1Yjg2Mzk2IDEwMDY0NAot LS0tIGEvaW5jbHVkZS9zdGRkZWYuaAotKysrIGIvaW5jbHVkZS9zdGRkZWYuaAotQEAgLTEsNyAr MSw5IEBACi0gI2lmbmRlZiBfU1REREVGX0gKLSAjZGVmaW5lIF9TVERERUZfSAotIAotLSNpZmRl ZiBfX2NwbHVzcGx1cwotKyNpZiBfX2NwbHVzcGx1cyA+PSAyMDExMDNMCi0rI2RlZmluZSBOVUxM IG51bGxwdHIKLSsjZWxpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQotICNkZWZpbmUgTlVMTCAwTAot ICNlbHNlCi0gI2RlZmluZSBOVUxMICgodm9pZCopMCkKLWRpZmYgLS1naXQgYS9pbmNsdWRlL3N0 ZGlvLmggYi9pbmNsdWRlL3N0ZGlvLmgKLWluZGV4IDM2MDQxOThjMy4uZDFlZDAxZjAzIDEwMDY0 NAotLS0tIGEvaW5jbHVkZS9zdGRpby5oCi0rKysgYi9pbmNsdWRlL3N0ZGlvLmgKLUBAIC0yNSw3 ICsyNSw5IEBAIGV4dGVybiAiQyIgewotIAotICNpbmNsdWRlIDxiaXRzL2FsbHR5cGVzLmg+Ci0g Ci0tI2lmZGVmIF9fY3BsdXNwbHVzCi0rI2lmIF9fY3BsdXNwbHVzID49IDIwMTEwM0wKLSsjZGVm aW5lIE5VTEwgbnVsbHB0cgotKyNlbGlmIGRlZmluZWQoX19jcGx1c3BsdXMpCi0gI2RlZmluZSBO VUxMIDBMCi0gI2Vsc2UKLSAjZGVmaW5lIE5VTEwgKCh2b2lkKikwKQotZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvc3RkbGliLmggYi9pbmNsdWRlL3N0ZGxpYi5oCi1pbmRleCA3YWY4NmUzYmMuLmI1MDdj YTMzYiAxMDA2NDQKLS0tLSBhL2luY2x1ZGUvc3RkbGliLmgKLSsrKyBiL2luY2x1ZGUvc3RkbGli LmgKLUBAIC03LDcgKzcsOSBAQCBleHRlcm4gIkMiIHsKLSAKLSAjaW5jbHVkZSA8ZmVhdHVyZXMu aD4KLSAKLS0jaWZkZWYgX19jcGx1c3BsdXMKLSsjaWYgX19jcGx1c3BsdXMgPj0gMjAxMTAzTAot KyNkZWZpbmUgTlVMTCBudWxscHRyCi0rI2VsaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKLSAjZGVm aW5lIE5VTEwgMEwKLSAjZWxzZQotICNkZWZpbmUgTlVMTCAoKHZvaWQqKTApCi1kaWZmIC0tZ2l0 IGEvaW5jbHVkZS9zdHJpbmcuaCBiL2luY2x1ZGUvc3RyaW5nLmgKLWluZGV4IDc5NWEyYWJjZC4u NDNhZDA5NDJlIDEwMDY0NAotLS0tIGEvaW5jbHVkZS9zdHJpbmcuaAotKysrIGIvaW5jbHVkZS9z dHJpbmcuaAotQEAgLTcsNyArNyw5IEBAIGV4dGVybiAiQyIgewotIAotICNpbmNsdWRlIDxmZWF0 dXJlcy5oPgotIAotLSNpZmRlZiBfX2NwbHVzcGx1cwotKyNpZiBfX2NwbHVzcGx1cyA+PSAyMDEx MDNMCi0rI2RlZmluZSBOVUxMIG51bGxwdHIKLSsjZWxpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQot ICNkZWZpbmUgTlVMTCAwTAotICNlbHNlCi0gI2RlZmluZSBOVUxMICgodm9pZCopMCkKLWRpZmYg LS1naXQgYS9pbmNsdWRlL3RpbWUuaCBiL2luY2x1ZGUvdGltZS5oCi1pbmRleCA1NDk0ZGYxODMu LjNkOTQ4MzcyMCAxMDA2NDQKLS0tLSBhL2luY2x1ZGUvdGltZS5oCi0rKysgYi9pbmNsdWRlL3Rp bWUuaAotQEAgLTcsNyArNyw5IEBAIGV4dGVybiAiQyIgewotIAotICNpbmNsdWRlIDxmZWF0dXJl cy5oPgotIAotLSNpZmRlZiBfX2NwbHVzcGx1cwotKyNpZiBfX2NwbHVzcGx1cyA+PSAyMDExMDNM Ci0rI2RlZmluZSBOVUxMIG51bGxwdHIKLSsjZWxpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQotICNk ZWZpbmUgTlVMTCAwTAotICNlbHNlCi0gI2RlZmluZSBOVUxMICgodm9pZCopMCkKLWRpZmYgLS1n aXQgYS9pbmNsdWRlL3VuaXN0ZC5oIGIvaW5jbHVkZS91bmlzdGQuaAotaW5kZXggMTMwNjQwMjYw Li5lZTJkYmU4YWYgMTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL3VuaXN0ZC5oCi0rKysgYi9pbmNsdWRl L3VuaXN0ZC5oCi1AQCAtMTUsNyArMTUsOSBAQCBleHRlcm4gIkMiIHsKLSAjZGVmaW5lIFNFRUtf Q1VSIDEKLSAjZGVmaW5lIFNFRUtfRU5EIDIKLSAKLS0jaWZkZWYgX19jcGx1c3BsdXMKLSsjaWYg X19jcGx1c3BsdXMgPj0gMjAxMTAzTAotKyNkZWZpbmUgTlVMTCBudWxscHRyCi0rI2VsaWYgZGVm aW5lZChfX2NwbHVzcGx1cykKLSAjZGVmaW5lIE5VTEwgMEwKLSAjZWxzZQotICNkZWZpbmUgTlVM TCAoKHZvaWQqKTApCi1kaWZmIC0tZ2l0IGEvaW5jbHVkZS93Y2hhci5oIGIvaW5jbHVkZS93Y2hh ci5oCi1pbmRleCA4OGViNTViMTguLmVkNWQ3NzRkZiAxMDA2NDQKLS0tLSBhL2luY2x1ZGUvd2No YXIuaAotKysrIGIvaW5jbHVkZS93Y2hhci5oCi1AQCAtMzgsNyArMzgsOSBAQCBleHRlcm4gIkMi IHsKLSAjZGVmaW5lIFdDSEFSX01JTiAoLTEtMHg3ZmZmZmZmZitMJ1wwJykKLSAjZW5kaWYKLSAK LS0jaWZkZWYgX19jcGx1c3BsdXMKLSsjaWYgX19jcGx1c3BsdXMgPj0gMjAxMTAzTAotKyNkZWZp bmUgTlVMTCBudWxscHRyCi0rI2VsaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKLSAjZGVmaW5lIE5V TEwgMEwKLSAjZWxzZQotICNkZWZpbmUgTlVMTCAoKHZvaWQqKTApCi0KZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvbXVzbC9wYXRjaGVzLzk5ZDUwOThhODg1ZmVhZTNhZThjMzJiNDA3MzUwZDhjYTg1ZGQx NzgucGF0Y2ggYi9zcmNwa2dzL211c2wvcGF0Y2hlcy85OWQ1MDk4YTg4NWZlYWUzYWU4YzMyYjQw NzM1MGQ4Y2E4NWRkMTc4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZTAz YWQxNjA3Y2U5OC4uMDAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvOTlk NTA5OGE4ODVmZWFlM2FlOGMzMmI0MDczNTBkOGNhODVkZDE3OC5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDExMyArMCwwIEBACi1Gcm9tIDk5ZDUwOThhODg1ZmVhZTNhZThjMzJiNDA3MzUwZDhj YTg1ZGQxNzggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKdWxpZW4gUmFtc2VpZXIg PGoucmFtc2VpZXJAZ21haWwuY29tPgotRGF0ZTogU3VuLCAxOCBPY3QgMjAyMCAxMjoxNTowNiAt MDQwMAotU3ViamVjdDogdXBkYXRlIGNyeXB0X2Jsb3dmaXNoIHRvIHN1cHBvcnQgJDJiJCBwcmVm aXgKLQotTWVyZ2UgY2hhbmdlcyBmcm9tIFNvbGFyIERlc2lnbmVyJ3MgY3J5cHRfYmxvd2Zpc2gg djEuMy4gVGhpcyBtYWtlcwotY3J5cHRfYmxvd2Zpc2ggZnVsbHkgY29tcGF0aWJsZSB3aXRoIE9w ZW5CU0QncyBiY3J5cHQgYnkgYWRkaW5nCi1zdXBwb3J0IGZvciB0aGUgJDJiJCBwcmVmaXggKHdo aWNoIGJlaGF2ZXMgdGhlIHNhbWUgYXMKLWNyeXB0X2Jsb3dmaXNoJ3MgJDJ5JCkuCi0tLS0KLSBz cmMvY3J5cHQvY3J5cHRfYmxvd2Zpc2guYyB8IDM4ICsrKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDE1IGRlbGV0 aW9ucygtKQotCi0obGltaXRlZCB0byAnc3JjL2NyeXB0L2NyeXB0X2Jsb3dmaXNoLmMnKQotCi1k aWZmIC0tZ2l0IGEvc3JjL2NyeXB0L2NyeXB0X2Jsb3dmaXNoLmMgYi9zcmMvY3J5cHQvY3J5cHRf Ymxvd2Zpc2guYwotaW5kZXggZDNmNzk4NTEuLmQ3MjI2MDdiIDEwMDY0NAotLS0tIGEvc3JjL2Ny eXB0L2NyeXB0X2Jsb3dmaXNoLmMKLSsrKyBiL3NyYy9jcnlwdC9jcnlwdF9ibG93ZmlzaC5jCi1A QCAtMTUsNyArMTUsNyBAQAotICAqIE5vIGNvcHlyaWdodCBpcyBjbGFpbWVkLCBhbmQgdGhlIHNv ZnR3YXJlIGlzIGhlcmVieSBwbGFjZWQgaW4gdGhlIHB1YmxpYwotICAqIGRvbWFpbi4gIEluIGNh c2UgdGhpcyBhdHRlbXB0IHRvIGRpc2NsYWltIGNvcHlyaWdodCBhbmQgcGxhY2UgdGhlIHNvZnR3 YXJlCi0gICogaW4gdGhlIHB1YmxpYyBkb21haW4gaXMgZGVlbWVkIG51bGwgYW5kIHZvaWQsIHRo ZW4gdGhlIHNvZnR3YXJlIGlzCi0tICogQ29weXJpZ2h0IChjKSAxOTk4LTIwMTIgU29sYXIgRGVz aWduZXIgYW5kIGl0IGlzIGhlcmVieSByZWxlYXNlZCB0byB0aGUKLSsgKiBDb3B5cmlnaHQgKGMp IDE5OTgtMjAxNCBTb2xhciBEZXNpZ25lciBhbmQgaXQgaXMgaGVyZWJ5IHJlbGVhc2VkIHRvIHRo ZQotICAqIGdlbmVyYWwgcHVibGljIHVuZGVyIHRoZSBmb2xsb3dpbmcgdGVybXM6Ci0gICoKLSAg KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo IG9yIHdpdGhvdXQKLUBAIC0zMSwxMiArMzEsMTIgQEAKLSAgKiB5b3UgcGxhY2UgdGhpcyBjb2Rl IGFuZCBhbnkgbW9kaWZpY2F0aW9ucyB5b3UgbWFrZSB1bmRlciBhIGxpY2Vuc2UKLSAgKiBvZiB5 b3VyIGNob2ljZS4KLSAgKgotLSAqIFRoaXMgaW1wbGVtZW50YXRpb24gaXMgbW9zdGx5IGNvbXBh dGlibGUgd2l0aCBPcGVuQlNEJ3MgYmNyeXB0LmMgKHByZWZpeAotLSAqICIkMmEkIikgYnkgTmll bHMgUHJvdm9zIDxwcm92b3MgYXQgY2l0aS51bWljaC5lZHU+LCBhbmQgdXNlcyBzb21lIG9mIGhp cwotLSAqIGlkZWFzLiAgVGhlIHBhc3N3b3JkIGhhc2hpbmcgYWxnb3JpdGhtIHdhcyBkZXNpZ25l ZCBieSBEYXZpZCBNYXppZXJlcwotLSAqIDxkbSBhdCBsY3MubWl0LmVkdT4uICBGb3IgbW9yZSBp bmZvcm1hdGlvbiBvbiB0aGUgbGV2ZWwgb2YgY29tcGF0aWJpbGl0eSwKLS0gKiBwbGVhc2UgcmVm ZXIgdG8gdGhlIGNvbW1lbnRzIGluIEJGX3NldF9rZXkoKSBiZWxvdyBhbmQgdG8gdGhlIGluY2x1 ZGVkCi0tICogY3J5cHQoMykgbWFuIHBhZ2UuCi0rICogVGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBm dWxseSBjb21wYXRpYmxlIHdpdGggT3BlbkJTRCdzIGJjcnlwdC5jIGZvciBwcmVmaXgKLSsgKiAi JDJiJCIsIG9yaWdpbmFsbHkgYnkgTmllbHMgUHJvdm9zIDxwcm92b3MgYXQgY2l0aS51bWljaC5l ZHU+LCBhbmQgaXQgdXNlcwotKyAqIHNvbWUgb2YgaGlzIGlkZWFzLiAgVGhlIHBhc3N3b3JkIGhh c2hpbmcgYWxnb3JpdGhtIHdhcyBkZXNpZ25lZCBieSBEYXZpZAotKyAqIE1hemllcmVzIDxkbSBh dCBsY3MubWl0LmVkdT4uICBGb3IgaW5mb3JtYXRpb24gb24gdGhlIGxldmVsIG9mCi0rICogY29t cGF0aWJpbGl0eSBmb3IgYmNyeXB0IGhhc2ggcHJlZml4ZXMgb3RoZXIgdGhhbiAiJDJiJCIsIHBs ZWFzZSByZWZlciB0bwotKyAqIHRoZSBjb21tZW50cyBpbiBCRl9zZXRfa2V5KCkgYmVsb3cgYW5k IHRvIHRoZSBpbmNsdWRlZCBjcnlwdCgzKSBtYW4gcGFnZS4KLSAgKgotICAqIFRoZXJlJ3MgYSBw YXBlciBvbiB0aGUgYWxnb3JpdGhtIHRoYXQgZXhwbGFpbnMgaXRzIGRlc2lnbiBkZWNpc2lvbnM6 Ci0gICoKLUBAIC01MzMsNiArNTMzLDcgQEAgc3RhdGljIHZvaWQgQkZfc2V0X2tleShjb25zdCBj aGFyICprZXksIEJGX2tleSBleHBhbmRlZCwgQkZfa2V5IGluaXRpYWwsCi0gICogVmFsaWQgY29t YmluYXRpb25zIG9mIHNldHRpbmdzIGFyZToKLSAgKgotICAqIFByZWZpeCAiJDJhJCI6IGJ1ZyA9 IDAsIHNhZmV0eSA9IDB4MTAwMDAKLSsgKiBQcmVmaXggIiQyYiQiOiBidWcgPSAwLCBzYWZldHkg PSAwCi0gICogUHJlZml4ICIkMngkIjogYnVnID0gMSwgc2FmZXR5ID0gMAotICAqIFByZWZpeCAi JDJ5JCI6IGJ1ZyA9IDAsIHNhZmV0eSA9IDAKLSAgKi8KLUBAIC01OTYsMTIgKzU5NywxNCBAQCBz dGF0aWMgdm9pZCBCRl9zZXRfa2V5KGNvbnN0IGNoYXIgKmtleSwgQkZfa2V5IGV4cGFuZGVkLCBC Rl9rZXkgaW5pdGlhbCwKLSAJaW5pdGlhbFswXSBePSBzaWduOwotIH0KLSAKLStzdGF0aWMgY29u c3QgdW5zaWduZWQgY2hhciBmbGFnc19ieV9zdWJ0eXBlWzI2XSA9IHsKLSsJMiwgNCwgMCwgMCwg MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSsJMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg MCwgMSwgNCwgMAotK307Ci0rCi0gc3RhdGljIGNoYXIgKkJGX2NyeXB0KGNvbnN0IGNoYXIgKmtl eSwgY29uc3QgY2hhciAqc2V0dGluZywKLSAJY2hhciAqb3V0cHV0LCBCRl93b3JkIG1pbikKLSB7 Ci0tCXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZsYWdzX2J5X3N1YnR5cGVbMjZdID0KLS0J CXsyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotLQkJMCwgMCwgMCwgMCwg MCwgMCwgMCwgMCwgMCwgMCwgMSwgNCwgMH07Ci0gCXN0cnVjdCB7Ci0gCQlCRl9jdHggY3R4Owot IAkJQkZfa2V5IGV4cGFuZGVkX2tleTsKLUBAIC03NDYsOSArNzQ5LDExIEBAIGNoYXIgKl9fY3J5 cHRfYmxvd2Zpc2goY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICpzZXR0aW5nLCBjaGFyICpv dXRwdXQpCi0gewotIAljb25zdCBjaGFyICp0ZXN0X2tleSA9ICI4YiBceGQwXHhjMVx4ZDJceGNm XHhjY1x4ZDgiOwotIAljb25zdCBjaGFyICp0ZXN0X3NldHRpbmcgPSAiJDJhJDAwJGFiY2RlZmdo aWprbG1ub3BxcnN0dXUiOwotLQlzdGF0aWMgY29uc3QgY2hhciB0ZXN0X2hhc2hbMl1bMzRdID0K LS0JCXsiVlVyUG1YRDZxL25WU1NwN3BORGhDUjkwNzFJZklSZVwwXHg1NSIsIC8qICQyeCQgKi8K LS0JCSJpMUQ3MDl2ZmFtdWxpbWxHY3EwcXEzVXZ1VWFzdkVhXDBceDU1In07IC8qICQyYSQsICQy eSQgKi8KLSsJc3RhdGljIGNvbnN0IGNoYXIgdGVzdF9oYXNoZXNbMl1bMzRdID0gewotKwkJImkx RDcwOXZmYW11bGltbEdjcTBxcTNVdnVVYXN2RWFcMFx4NTUiLCAvKiAnYScsICdiJywgJ3knICov Ci0rCQkiVlVyUG1YRDZxL25WU1NwN3BORGhDUjkwNzFJZklSZVwwXHg1NSIsIC8qICd4JyAqLwot Kwl9OwotKwljb25zdCBjaGFyICp0ZXN0X2hhc2ggPSB0ZXN0X2hhc2hlc1swXTsKLSAJY2hhciAq cmV0dmFsOwotIAljb25zdCBjaGFyICpwOwotIAlpbnQgb2s7Ci1AQCAtNzY4LDggKzc3MywxMSBA QCBjaGFyICpfX2NyeXB0X2Jsb3dmaXNoKGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqc2V0 dGluZywgY2hhciAqb3V0cHV0KQotICAqIGRldGVjdGVkIGJ5IHRoZSBzZWxmLXRlc3QuCi0gICov Ci0gCW1lbWNweShidWYucywgdGVzdF9zZXR0aW5nLCBzaXplb2YoYnVmLnMpKTsKLS0JaWYgKHJl dHZhbCkKLSsJaWYgKHJldHZhbCkgewotKwkJdW5zaWduZWQgaW50IGZsYWdzID0gZmxhZ3NfYnlf c3VidHlwZVtzZXR0aW5nWzJdIC0gJ2EnXTsKLSsJCXRlc3RfaGFzaCA9IHRlc3RfaGFzaGVzW2Zs YWdzICYgMV07Ci0gCQlidWYuc1syXSA9IHNldHRpbmdbMl07Ci0rCX0KLSAJbWVtc2V0KGJ1Zi5v LCAweDU1LCBzaXplb2YoYnVmLm8pKTsKLSAJYnVmLm9bc2l6ZW9mKGJ1Zi5vKSAtIDFdID0gMDsK LSAJcCA9IEJGX2NyeXB0KHRlc3Rfa2V5LCBidWYucywgYnVmLm8sIDEpOwotQEAgLTc3Nyw3ICs3 ODUsNyBAQCBjaGFyICpfX2NyeXB0X2Jsb3dmaXNoKGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hh ciAqc2V0dGluZywgY2hhciAqb3V0cHV0KQotIAlvayA9IChwID09IGJ1Zi5vICYmCi0gCSAgICAh bWVtY21wKHAsIGJ1Zi5zLCA3ICsgMjIpICYmCi0gCSAgICAhbWVtY21wKHAgKyAoNyArIDIyKSwK LS0JICAgIHRlc3RfaGFzaFtidWYuc1syXSAmIDFdLAotKwkgICAgdGVzdF9oYXNoLAotIAkgICAg MzEgKyAxICsgMSArIDEpKTsKLSAKLSAJewotLS0gCi1jZ2l0IHYxLjIuMQotCmRpZmYgLS1naXQg YS9zcmNwa2dzL211c2wvcGF0Y2hlcy9DVkUtMjAyMC0yODkyOC5wYXRjaCBiL3NyY3BrZ3MvbXVz bC9wYXRjaGVzL0NWRS0yMDIwLTI4OTI4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCBiM2ZmM2I0ZWUwOGYwNC4uMDAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tdXNsL3Bh dGNoZXMvQ1ZFLTIwMjAtMjg5MjgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBA Ci0tLS0gYS9zcmMvbXVsdGlieXRlL3djc25ydG9tYnMuYwotKysrIGIvc3JjL211bHRpYnl0ZS93 Y3NucnRvbWJzLmMKLUBAIC0xLDQxICsxLDMzIEBACi0gI2luY2x1ZGUgPHdjaGFyLmg+Ci0rI2lu Y2x1ZGUgPGxpbWl0cy5oPgotKyNpbmNsdWRlIDxzdHJpbmcuaD4KLSAKLSBzaXplX3Qgd2NzbnJ0 b21icyhjaGFyICpyZXN0cmljdCBkc3QsIGNvbnN0IHdjaGFyX3QgKipyZXN0cmljdCB3Y3MsIHNp emVfdCB3biwgc2l6ZV90IG4sIG1ic3RhdGVfdCAqcmVzdHJpY3Qgc3QpCi0gewotLQlzaXplX3Qg bCwgY250PTAsIG4yOwotLQljaGFyICpzLCBidWZbMjU2XTsKLSAJY29uc3Qgd2NoYXJfdCAqd3Mg PSAqd2NzOwotLQljb25zdCB3Y2hhcl90ICp0bXBfd3M7Ci0tCi0tCWlmICghZHN0KSBzID0gYnVm LCBuID0gc2l6ZW9mIGJ1ZjsKLS0JZWxzZSBzID0gZHN0OwotLQotLQl3aGlsZSAoIHdzICYmIG4g JiYgKCAobjI9d24pPj1uIHx8IG4yPjMyICkgKSB7Ci0tCQlpZiAobjI+PW4pIG4yPW47Ci0tCQl0 bXBfd3MgPSB3czsKLS0JCWwgPSB3Y3NydG9tYnMocywgJndzLCBuMiwgMCk7Ci0tCQlpZiAoIShs KzEpKSB7Ci0tCQkJY250ID0gbDsKLS0JCQluID0gMDsKLSsJc2l6ZV90IGNudCA9IDA7Ci0rCWlm ICghZHN0KSBuPTA7Ci0rCXdoaWxlICh3cyAmJiB3bikgewotKwkJY2hhciB0bXBbTUJfTEVOX01B WF07Ci0rCQlzaXplX3QgbCA9IHdjcnRvbWIobjxNQl9MRU5fTUFYID8gdG1wIDogZHN0LCAqd3Ms IDApOwotKwkJaWYgKGw9PS0xKSB7Ci0rCQkJY250ID0gLTE7Ci0gCQkJYnJlYWs7Ci0gCQl9Ci0t CQlpZiAocyAhPSBidWYpIHsKLS0JCQlzICs9IGw7Ci0rCQlpZiAoZHN0KSB7Ci0rCQkJaWYgKG48 TUJfTEVOX01BWCkgewotKwkJCQlpZiAobD5uKSBicmVhazsKLSsJCQkJbWVtY3B5KGRzdCwgdG1w LCBsKTsKLSsJCQl9Ci0rCQkJZHN0ICs9IGw7Ci0gCQkJbiAtPSBsOwotIAkJfQotLQkJd24gPSB3 cyA/IHduIC0gKHdzIC0gdG1wX3dzKSA6IDA7Ci0tCQljbnQgKz0gbDsKLS0JfQotLQlpZiAod3Mp IHdoaWxlIChuICYmIHduKSB7Ci0tCQlsID0gd2NydG9tYihzLCAqd3MsIDApOwotLQkJaWYgKChs KzEpPD0xKSB7Ci0tCQkJaWYgKCFsKSB3cyA9IDA7Ci0tCQkJZWxzZSBjbnQgPSBsOwotKwkJaWYg KCEqd3MpIHsKLSsJCQl3cyA9IDA7Ci0gCQkJYnJlYWs7Ci0gCQl9Ci0tCQl3cysrOyB3bi0tOwot LQkJLyogc2FmZSAtIHRoaXMgbG9vcCBydW5zIGZld2VyIHRoYW4gc2l6ZW9mKGJ1ZikgdGltZXMg Ki8KLS0JCXMrPWw7IG4tPWw7Ci0rCQl3cysrOwotKwkJd24tLTsKLSAJCWNudCArPSBsOwotIAl9 Ci0gCWlmIChkc3QpICp3Y3MgPSB3czsKLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tdXNsL3BhdGNo ZXMvYWFyY2g2NC1mcmVncy5wYXRjaCBiL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2FhcmNoNjQtZnJl Z3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAyNGVlZDExYThlNTM3Li4w MDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL211c2wvcGF0Y2hlcy9hYXJjaDY0LWZyZWdzLnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotVXNlIHR5cGVzIGNvbXBhdGlibGUg d2l0aCBnbGliYy9rZXJuZWwgaGVhZGVycy4KLQotZGlmZiAtLWdpdCBhL2FyY2gvYWFyY2g2NC9i aXRzL3NpZ25hbC5oIGIvYXJjaC9hYXJjaDY0L2JpdHMvc2lnbmFsLmgKLWluZGV4IGI3MTI2MWY1 Li41MDk4YzczNCAxMDA2NDQKLS0tLSBhL2FyY2gvYWFyY2g2NC9iaXRzL3NpZ25hbC5oCi0rKysg Yi9hcmNoL2FhcmNoNjQvYml0cy9zaWduYWwuaAotQEAgLTExLDcgKzExLDcgQEAgdHlwZWRlZiB1 bnNpZ25lZCBsb25nIGdyZWdfdDsKLSB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgZ3JlZ3NldF90WzM0 XTsKLSAKLSB0eXBlZGVmIHN0cnVjdCB7Ci0tCWxvbmcgZG91YmxlIHZyZWdzWzMyXTsKLSsJX191 aW50MTI4X3QgdnJlZ3NbMzJdOwotIAl1bnNpZ25lZCBpbnQgZnBzcjsKLSAJdW5zaWduZWQgaW50 IGZwY3I7Ci0gfSBmcHJlZ3NldF90OwotQEAgLTM0LDcgKzM0LDcgQEAgc3RydWN0IGZwc2ltZF9j b250ZXh0IHsKLSAJc3RydWN0IF9hYXJjaDY0X2N0eCBoZWFkOwotIAl1bnNpZ25lZCBpbnQgZnBz cjsKLSAJdW5zaWduZWQgaW50IGZwY3I7Ci0tCWxvbmcgZG91YmxlIHZyZWdzWzMyXTsKLSsJX191 aW50MTI4X3QgdnJlZ3NbMzJdOwotIH07Ci0gc3RydWN0IGVzcl9jb250ZXh0IHsKLSAJc3RydWN0 IF9hYXJjaDY0X2N0eCBoZWFkOwotZGlmZiAtLWdpdCBhL2FyY2gvYWFyY2g2NC9iaXRzL3VzZXIu aCBiL2FyY2gvYWFyY2g2NC9iaXRzL3VzZXIuaAotaW5kZXggZDEyY2RmN2YuLjhhMTAwMmFhIDEw MDY0NAotLS0tIGEvYXJjaC9hYXJjaDY0L2JpdHMvdXNlci5oCi0rKysgYi9hcmNoL2FhcmNoNjQv Yml0cy91c2VyLmgKLUBAIC02LDcgKzYsNyBAQCBzdHJ1Y3QgdXNlcl9yZWdzX3N0cnVjdCB7Ci0g fTsKLSAKLSBzdHJ1Y3QgdXNlcl9mcHNpbWRfc3RydWN0IHsKLS0JbG9uZyBkb3VibGUgdnJlZ3Nb MzJdOwotKwlfX3VpbnQxMjhfdCB2cmVnc1szMl07Ci0gCXVuc2lnbmVkIGludCBmcHNyOwotIAl1 bnNpZ25lZCBpbnQgZnBjcjsKLSB9OwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tdXNsL3BhdGNoZXMv YWRkLXFzb3J0X3IucGF0Y2ggYi9zcmNwa2dzL211c2wvcGF0Y2hlcy9hZGQtcXNvcnRfci5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2Q4NTQ5NmFmYjY5ZmIuLjAwMDAwMDAw MDAwMDAwCi0tLSBhL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2FkZC1xc29ydF9yLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsMjAxICswLDAgQEAKLUZyb20gYjc2ZjM3ZmQ1NjI1ZDAzODE0MWI1MjE4 NDk1NmZiNGI3ODM4ZTlhNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/ cT89QzM9ODlyaWNvPTIwTm9ndWVpcmE/PSA8ZXJpY29uckBkaXNyb290Lm9yZz4KLURhdGU6IFR1 ZSwgOSBNYXIgMjAyMSAxODowMjoxMyAtMDMwMAotU3ViamVjdDogW1BBVENIXSBhZGQgcXNvcnRf ciBhbmQgbWFrZSBxc29ydCBhIHdyYXBwZXIgYXJvdW5kIGl0Ci0KLXdlIG1ha2UgcXNvcnQgYSB3 cmFwcGVyIGJ5IHByb3ZpZGluZyBhIHdyYXBwZXJfY21wIGZ1bmN0aW9uIHRoYXQgdXNlcwotdGhl IGV4dHJhIGFyZ3VtZW50IGFzIGEgZnVuY3Rpb24gcG9pbnRlci4gc2hvdWxkIGJlIG9wdGltaXpl ZCB0byBhIHRhaWwKLWNhbGwgb24gbW9zdCBhcmNoaXRlY3R1cmVzLCBhcyBsb25nIGFzIGl0J3Mg YnVpbHQgd2l0aAotLWZvbWl0LWZyYW1lLXBvaW50ZXIsIHNvIHRoZSBwZXJmb3JtYW5jZSBpbXBh Y3Qgc2hvdWxkIGJlIG1pbmltYWwuCi0KLXRvIGtlZXAgdGhlIGdpdCBoaXN0b3J5IGNsZWFuLCBm b3Igbm93IHFzb3J0X3IgaXMgaW1wbGVtZW50ZWQgaW4gcXNvcnQuYwotYW5kIHFzb3J0IGlzIGlt cGxlbWVudGVkIGluIHFzb3J0X25yLmMuICBxc29ydC5jIGFsc28gcmVjZWl2ZWQgYSBmZXcKLXRy aXZpYWwgY2xlYW51cHMsIGluY2x1ZGluZyByZXBsYWNpbmcgKCpjbXApKCkgY2FsbHMgd2l0aCBj bXAoKS4KLXFzb3J0X25yLmMgY29udGFpbnMgb25seSB3cmFwcGVyX2NtcCBhbmQgcXNvcnQgYXMg YSBxc29ydF9yIHdyYXBwZXIKLWl0c2VsZi4KLS0tLQotIGluY2x1ZGUvc3RkbGliLmggICAgICB8 ICAxICsKLSBzcmMvaW5jbHVkZS9zdGRsaWIuaCAgfCAgMSArCi0gc3JjL3N0ZGxpYi9xc29ydC5j ICAgIHwgMzcgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQotIHNyYy9zdGRs aWIvcXNvcnRfbnIuYyB8IDE0ICsrKysrKysrKysrKysrCi0gNCBmaWxlcyBjaGFuZ2VkLCAzNiBp bnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3N0 ZGxpYi9xc29ydF9uci5jCi0KLWRpZmYgLS1naXQgYS9pbmNsdWRlL3N0ZGxpYi5oIGIvaW5jbHVk ZS9zdGRsaWIuaAotaW5kZXggYjU0YTA1MWZlLi43YWY4NmUzYmMgMTAwNjQ0Ci0tLS0gYS9pbmNs dWRlL3N0ZGxpYi5oCi0rKysgYi9pbmNsdWRlL3N0ZGxpYi5oCi1AQCAtMTQ2LDYgKzE0Niw3IEBA IGludCBjbGVhcmVudih2b2lkKTsKLSAjZGVmaW5lIFdDT1JFRFVNUChzKSAoKHMpICYgMHg4MCkK LSAjZGVmaW5lIFdJRkNPTlRJTlVFRChzKSAoKHMpID09IDB4ZmZmZikKLSB2b2lkICpyZWFsbG9j YXJyYXkgKHZvaWQgKiwgc2l6ZV90LCBzaXplX3QpOwotK3ZvaWQgcXNvcnRfciAodm9pZCAqLCBz aXplX3QsIHNpemVfdCwgaW50ICgqKShjb25zdCB2b2lkICosIGNvbnN0IHZvaWQgKiwgdm9pZCAq KSwgdm9pZCAqKTsKLSAjZW5kaWYKLSAKLSAjaWZkZWYgX0dOVV9TT1VSQ0UKLWRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9zdGRsaWIuaCBiL3NyYy9pbmNsdWRlL3N0ZGxpYi5oCi1pbmRleCBlOWRh MjAxNTguLjgxMmIwNGRlMiAxMDA2NDQKLS0tLSBhL3NyYy9pbmNsdWRlL3N0ZGxpYi5oCi0rKysg Yi9zcmMvaW5jbHVkZS9zdGRsaWIuaAotQEAgLTgsNiArOCw3IEBAIGhpZGRlbiB2b2lkIF9fZW52 X3JtX2FkZChjaGFyICosIGNoYXIgKik7Ci0gaGlkZGVuIGludCBfX21rb3N0ZW1wcyhjaGFyICos IGludCwgaW50KTsKLSBoaWRkZW4gaW50IF9fcHRzbmFtZV9yKGludCwgY2hhciAqLCBzaXplX3Qp OwotIGhpZGRlbiBjaGFyICpfX3JhbmRuYW1lKGNoYXIgKik7Ci0raGlkZGVuIHZvaWQgX19xc29y dF9yICh2b2lkICosIHNpemVfdCwgc2l6ZV90LCBpbnQgKCopKGNvbnN0IHZvaWQgKiwgY29uc3Qg dm9pZCAqLCB2b2lkICopLCB2b2lkICopOwotIAotIGhpZGRlbiB2b2lkICpfX2xpYmNfbWFsbG9j KHNpemVfdCk7Ci0gaGlkZGVuIHZvaWQgKl9fbGliY19tYWxsb2NfaW1wbChzaXplX3QpOwotZGlm ZiAtLWdpdCBhL3NyYy9zdGRsaWIvcXNvcnQuYyBiL3NyYy9zdGRsaWIvcXNvcnQuYwotaW5kZXgg ZGE1OGZkMzE3Li4zMTRkZGMyOWQgMTAwNjQ0Ci0tLS0gYS9zcmMvc3RkbGliL3Fzb3J0LmMKLSsr KyBiL3NyYy9zdGRsaWIvcXNvcnQuYwotQEAgLTI0LDYgKzI0LDcgQEAKLSAvKiBTbW9vdGhzb3J0 LCBhbiBhZGFwdGl2ZSB2YXJpYW50IG9mIEhlYXBzb3J0LiAgTWVtb3J5IHVzYWdlOiBPKDEpLgot ICAgIFJ1biB0aW1lOiBXb3JzdCBjYXNlIE8obiBsb2cgbiksIGNsb3NlIHRvIE8obikgaW4gdGhl IG1vc3RseS1zb3J0ZWQgY2FzZS4gKi8KLSAKLSsjZGVmaW5lIF9CU0RfU09VUkNFCi0gI2luY2x1 ZGUgPHN0ZGludC5oPgotICNpbmNsdWRlIDxzdGRsaWIuaD4KLSAjaW5jbHVkZSA8c3RyaW5nLmg+ Ci1AQCAtMzEsNyArMzIsNyBAQAotICNpbmNsdWRlICJhdG9taWMuaCIKLSAjZGVmaW5lIG50eih4 KSBhX2N0el9sKCh4KSkKLSAKLS10eXBlZGVmIGludCAoKmNtcGZ1bikoY29uc3Qgdm9pZCAqLCBj b25zdCB2b2lkICopOwotK3R5cGVkZWYgaW50ICgqY21wZnVuKShjb25zdCB2b2lkICosIGNvbnN0 IHZvaWQgKiwgdm9pZCAqKTsKLSAKLSBzdGF0aWMgaW5saW5lIGludCBwbnR6KHNpemVfdCBwWzJd KSB7Ci0gCWludCByID0gbnR6KHBbMF0gLSAxKTsKLUBAIC04OCw3ICs4OSw3IEBAIHN0YXRpYyBp bmxpbmUgdm9pZCBzaHIoc2l6ZV90IHBbMl0sIGludCBuKQotIAlwWzFdID4+PSBuOwotIH0KLSAK LS1zdGF0aWMgdm9pZCBzaWZ0KHVuc2lnbmVkIGNoYXIgKmhlYWQsIHNpemVfdCB3aWR0aCwgY21w ZnVuIGNtcCwgaW50IHBzaGlmdCwgc2l6ZV90IGxwW10pCi0rc3RhdGljIHZvaWQgc2lmdCh1bnNp Z25lZCBjaGFyICpoZWFkLCBzaXplX3Qgd2lkdGgsIGNtcGZ1biBjbXAsIHZvaWQgKmFyZywgaW50 IHBzaGlmdCwgc2l6ZV90IGxwW10pCi0gewotIAl1bnNpZ25lZCBjaGFyICpydCwgKmxmOwotIAl1 bnNpZ25lZCBjaGFyICphclsxNCAqIHNpemVvZihzaXplX3QpICsgMV07Ci1AQCAtOTksMTAgKzEw MCwxMCBAQCBzdGF0aWMgdm9pZCBzaWZ0KHVuc2lnbmVkIGNoYXIgKmhlYWQsIHNpemVfdCB3aWR0 aCwgY21wZnVuIGNtcCwgaW50IHBzaGlmdCwgc2l6ZQotIAkJcnQgPSBoZWFkIC0gd2lkdGg7Ci0g CQlsZiA9IGhlYWQgLSB3aWR0aCAtIGxwW3BzaGlmdCAtIDJdOwotIAotLQkJaWYoKCpjbXApKGFy WzBdLCBsZikgPj0gMCAmJiAoKmNtcCkoYXJbMF0sIHJ0KSA+PSAwKSB7Ci0rCQlpZihjbXAoYXJb MF0sIGxmLCBhcmcpID49IDAgJiYgY21wKGFyWzBdLCBydCwgYXJnKSA+PSAwKSB7Ci0gCQkJYnJl YWs7Ci0gCQl9Ci0tCQlpZigoKmNtcCkobGYsIHJ0KSA+PSAwKSB7Ci0rCQlpZihjbXAobGYsIHJ0 LCBhcmcpID49IDApIHsKLSAJCQlhcltpKytdID0gbGY7Ci0gCQkJaGVhZCA9IGxmOwotIAkJCXBz aGlmdCAtPSAxOwotQEAgLTExNSw3ICsxMTYsNyBAQCBzdGF0aWMgdm9pZCBzaWZ0KHVuc2lnbmVk IGNoYXIgKmhlYWQsIHNpemVfdCB3aWR0aCwgY21wZnVuIGNtcCwgaW50IHBzaGlmdCwgc2l6ZQot IAljeWNsZSh3aWR0aCwgYXIsIGkpOwotIH0KLSAKLS1zdGF0aWMgdm9pZCB0cmlua2xlKHVuc2ln bmVkIGNoYXIgKmhlYWQsIHNpemVfdCB3aWR0aCwgY21wZnVuIGNtcCwgc2l6ZV90IHBwWzJdLCBp bnQgcHNoaWZ0LCBpbnQgdHJ1c3R5LCBzaXplX3QgbHBbXSkKLStzdGF0aWMgdm9pZCB0cmlua2xl KHVuc2lnbmVkIGNoYXIgKmhlYWQsIHNpemVfdCB3aWR0aCwgY21wZnVuIGNtcCwgdm9pZCAqYXJn LCBzaXplX3QgcHBbMl0sIGludCBwc2hpZnQsIGludCB0cnVzdHksIHNpemVfdCBscFtdKQotIHsK LSAJdW5zaWduZWQgY2hhciAqc3RlcHNvbiwKLSAJICAgICAgICAgICAgICAqcnQsICpsZjsKLUBA IC0xMzAsMTMgKzEzMSwxMyBAQCBzdGF0aWMgdm9pZCB0cmlua2xlKHVuc2lnbmVkIGNoYXIgKmhl YWQsIHNpemVfdCB3aWR0aCwgY21wZnVuIGNtcCwgc2l6ZV90IHBwWzJdLAotIAlhclswXSA9IGhl YWQ7Ci0gCXdoaWxlKHBbMF0gIT0gMSB8fCBwWzFdICE9IDApIHsKLSAJCXN0ZXBzb24gPSBoZWFk IC0gbHBbcHNoaWZ0XTsKLS0JCWlmKCgqY21wKShzdGVwc29uLCBhclswXSkgPD0gMCkgewotKwkJ aWYoY21wKHN0ZXBzb24sIGFyWzBdLCBhcmcpIDw9IDApIHsKLSAJCQlicmVhazsKLSAJCX0KLSAJ CWlmKCF0cnVzdHkgJiYgcHNoaWZ0ID4gMSkgewotIAkJCXJ0ID0gaGVhZCAtIHdpZHRoOwotIAkJ CWxmID0gaGVhZCAtIHdpZHRoIC0gbHBbcHNoaWZ0IC0gMl07Ci0tCQkJaWYoKCpjbXApKHJ0LCBz dGVwc29uKSA+PSAwIHx8ICgqY21wKShsZiwgc3RlcHNvbikgPj0gMCkgewotKwkJCWlmKGNtcChy dCwgc3RlcHNvbiwgYXJnKSA+PSAwIHx8IGNtcChsZiwgc3RlcHNvbiwgYXJnKSA+PSAwKSB7Ci0g CQkJCWJyZWFrOwotIAkJCX0KLSAJCX0KLUBAIC0xNTAsMTEgKzE1MSwxMSBAQCBzdGF0aWMgdm9p ZCB0cmlua2xlKHVuc2lnbmVkIGNoYXIgKmhlYWQsIHNpemVfdCB3aWR0aCwgY21wZnVuIGNtcCwg c2l6ZV90IHBwWzJdLAotIAl9Ci0gCWlmKCF0cnVzdHkpIHsKLSAJCWN5Y2xlKHdpZHRoLCBhciwg aSk7Ci0tCQlzaWZ0KGhlYWQsIHdpZHRoLCBjbXAsIHBzaGlmdCwgbHApOwotKwkJc2lmdChoZWFk LCB3aWR0aCwgY21wLCBhcmcsIHBzaGlmdCwgbHApOwotIAl9Ci0gfQotIAotLXZvaWQgcXNvcnQo dm9pZCAqYmFzZSwgc2l6ZV90IG5lbCwgc2l6ZV90IHdpZHRoLCBjbXBmdW4gY21wKQotK3ZvaWQg X19xc29ydF9yKHZvaWQgKmJhc2UsIHNpemVfdCBuZWwsIHNpemVfdCB3aWR0aCwgY21wZnVuIGNt cCwgdm9pZCAqYXJnKQotIHsKLSAJc2l6ZV90IGxwWzEyKnNpemVvZihzaXplX3QpXTsKLSAJc2l6 ZV90IGksIHNpemUgPSB3aWR0aCAqIG5lbDsKLUBAIC0xNzMsMTYgKzE3NCwxNiBAQCB2b2lkIHFz b3J0KHZvaWQgKmJhc2UsIHNpemVfdCBuZWwsIHNpemVfdCB3aWR0aCwgY21wZnVuIGNtcCkKLSAK LSAJd2hpbGUoaGVhZCA8IGhpZ2gpIHsKLSAJCWlmKChwWzBdICYgMykgPT0gMykgewotLQkJCXNp ZnQoaGVhZCwgd2lkdGgsIGNtcCwgcHNoaWZ0LCBscCk7Ci0rCQkJc2lmdChoZWFkLCB3aWR0aCwg Y21wLCBhcmcsIHBzaGlmdCwgbHApOwotIAkJCXNocihwLCAyKTsKLSAJCQlwc2hpZnQgKz0gMjsK LSAJCX0gZWxzZSB7Ci0gCQkJaWYobHBbcHNoaWZ0IC0gMV0gPj0gaGlnaCAtIGhlYWQpIHsKLS0J CQkJdHJpbmtsZShoZWFkLCB3aWR0aCwgY21wLCBwLCBwc2hpZnQsIDAsIGxwKTsKLSsJCQkJdHJp bmtsZShoZWFkLCB3aWR0aCwgY21wLCBhcmcsIHAsIHBzaGlmdCwgMCwgbHApOwotIAkJCX0gZWxz ZSB7Ci0tCQkJCXNpZnQoaGVhZCwgd2lkdGgsIGNtcCwgcHNoaWZ0LCBscCk7Ci0rCQkJCXNpZnQo aGVhZCwgd2lkdGgsIGNtcCwgYXJnLCBwc2hpZnQsIGxwKTsKLSAJCQl9Ci0tCQkJCi0rCi0gCQkJ aWYocHNoaWZ0ID09IDEpIHsKLSAJCQkJc2hsKHAsIDEpOwotIAkJCQlwc2hpZnQgPSAwOwotQEAg LTE5MSwxMiArMTkyLDEyIEBAIHZvaWQgcXNvcnQodm9pZCAqYmFzZSwgc2l6ZV90IG5lbCwgc2l6 ZV90IHdpZHRoLCBjbXBmdW4gY21wKQotIAkJCQlwc2hpZnQgPSAxOwotIAkJCX0KLSAJCX0KLS0J CQotKwotIAkJcFswXSB8PSAxOwotIAkJaGVhZCArPSB3aWR0aDsKLSAJfQotIAotLQl0cmlua2xl KGhlYWQsIHdpZHRoLCBjbXAsIHAsIHBzaGlmdCwgMCwgbHApOwotKwl0cmlua2xlKGhlYWQsIHdp ZHRoLCBjbXAsIGFyZywgcCwgcHNoaWZ0LCAwLCBscCk7Ci0gCi0gCXdoaWxlKHBzaGlmdCAhPSAx IHx8IHBbMF0gIT0gMSB8fCBwWzFdICE9IDApIHsKLSAJCWlmKHBzaGlmdCA8PSAxKSB7Ci1AQCAt MjA4LDExICsyMDksMTMgQEAgdm9pZCBxc29ydCh2b2lkICpiYXNlLCBzaXplX3QgbmVsLCBzaXpl X3Qgd2lkdGgsIGNtcGZ1biBjbXApCi0gCQkJcHNoaWZ0IC09IDI7Ci0gCQkJcFswXSBePSA3Owot IAkJCXNocihwLCAxKTsKLS0JCQl0cmlua2xlKGhlYWQgLSBscFtwc2hpZnRdIC0gd2lkdGgsIHdp ZHRoLCBjbXAsIHAsIHBzaGlmdCArIDEsIDEsIGxwKTsKLSsJCQl0cmlua2xlKGhlYWQgLSBscFtw c2hpZnRdIC0gd2lkdGgsIHdpZHRoLCBjbXAsIGFyZywgcCwgcHNoaWZ0ICsgMSwgMSwgbHApOwot IAkJCXNobChwLCAxKTsKLSAJCQlwWzBdIHw9IDE7Ci0tCQkJdHJpbmtsZShoZWFkIC0gd2lkdGgs IHdpZHRoLCBjbXAsIHAsIHBzaGlmdCwgMSwgbHApOwotKwkJCXRyaW5rbGUoaGVhZCAtIHdpZHRo LCB3aWR0aCwgY21wLCBhcmcsIHAsIHBzaGlmdCwgMSwgbHApOwotIAkJfQotIAkJaGVhZCAtPSB3 aWR0aDsKLSAJfQotIH0KLSsKLSt3ZWFrX2FsaWFzKF9fcXNvcnRfciwgcXNvcnRfcik7Ci1kaWZm IC0tZ2l0IGEvc3JjL3N0ZGxpYi9xc29ydF9uci5jIGIvc3JjL3N0ZGxpYi9xc29ydF9uci5jCi1u ZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwLi5lZmU3Y2NlY2QKLS0tLSAvZGV2 L251bGwKLSsrKyBiL3NyYy9zdGRsaWIvcXNvcnRfbnIuYwotQEAgLTAsMCArMSwxNCBAQAotKyNk ZWZpbmUgX0JTRF9TT1VSQ0UKLSsjaW5jbHVkZSA8c3RkbGliLmg+Ci0rCi0rdHlwZWRlZiBpbnQg KCpjbXBmdW4pKGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqKTsKLSsKLStzdGF0aWMgaW50IHdy YXBwZXJfY21wKGNvbnN0IHZvaWQgKnYxLCBjb25zdCB2b2lkICp2Miwgdm9pZCAqY21wKQotK3sK LSsJcmV0dXJuICgoY21wZnVuKWNtcCkodjEsIHYyKTsKLSt9Ci0rCi0rdm9pZCBxc29ydCh2b2lk ICpiYXNlLCBzaXplX3QgbmVsLCBzaXplX3Qgd2lkdGgsIGNtcGZ1biBjbXApCi0rewotKwlfX3Fz b3J0X3IoYmFzZSwgbmVsLCB3aWR0aCwgd3JhcHBlcl9jbXAsIGNtcCk7Ci0rfQpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvYWRkLXJsaW1pdC1ydHRpbWUucGF0Y2ggYi9zcmNwa2dz L211c2wvcGF0Y2hlcy9hZGQtcmxpbWl0LXJ0dGltZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggNTZhZmE2YjY2NTIxYTAuLjAwMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mv bXVzbC9wYXRjaGVzL2FkZC1ybGltaXQtcnR0aW1lLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs MjQgKzAsMCBAQAotRnJvbSAyNTA3ZTdmNTMxMmU3OTYyMGY2MzM3OTM1ZDBhNmM5MDQ1Y2NiYTA5 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTGVhaCBOZXVraXJjaGVuIDxsZWFoQHZ1 eHUub3JnPgotRGF0ZTogU2F0LCAxMSBKYW4gMjAyMCAyMDoxNjo1OSArMDEwMAotU3ViamVjdDog W1BBVENIXSBkZWZpbmUgUkxJTUlUX1JUVElNRSwgYnVtcCBSTElNSVRfTkxJTUlUUwotCi1UaGlz IG1hY3JvIGV4aXN0cyBzaW5jZSBMaW51eCAyLjYuMjUgYW5kIGlzIGRlZmluZWQgaW4gZ2xpYmMg c2luY2UgMjAxMS4KLS0tLQotIGluY2x1ZGUvc3lzL3Jlc291cmNlLmggfCAzICsrLQotIDEgZmls ZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBh L2luY2x1ZGUvc3lzL3Jlc291cmNlLmggYi9pbmNsdWRlL3N5cy9yZXNvdXJjZS5oCi1pbmRleCBl MGM4NmFlMzMuLjMwNjgzMjhkMCAxMDA2NDQKLS0tLSBhL2luY2x1ZGUvc3lzL3Jlc291cmNlLmgK LSsrKyBiL2luY2x1ZGUvc3lzL3Jlc291cmNlLmgKLUBAIC05MCw3ICs5MCw4IEBAIGludCBwcmxp bWl0KHBpZF90LCBpbnQsIGNvbnN0IHN0cnVjdCBybGltaXQgKiwgc3RydWN0IHJsaW1pdCAqKTsK LSAjZGVmaW5lIFJMSU1JVF9NU0dRVUVVRSAxMgotICNkZWZpbmUgUkxJTUlUX05JQ0UgICAgMTMK LSAjZGVmaW5lIFJMSU1JVF9SVFBSSU8gIDE0Ci0tI2RlZmluZSBSTElNSVRfTkxJTUlUUyAxNQot KyNkZWZpbmUgUkxJTUlUX1JUVElNRSAgMTUKLSsjZGVmaW5lIFJMSU1JVF9OTElNSVRTIDE2Ci0g Ci0gI2RlZmluZSBSTElNX05MSU1JVFMgUkxJTUlUX05MSU1JVFMKLSAKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvbXVzbC9wYXRjaGVzL2FkZC1zdXBwb3J0LWZvci1TSUdFVl9USFJFQURfSUQtdGltZXJz LnBhdGNoIGIvc3JjcGtncy9tdXNsL3BhdGNoZXMvYWRkLXN1cHBvcnQtZm9yLVNJR0VWX1RIUkVB RF9JRC10aW1lcnMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUyMGRmZjVi YTBkNDU2Li4wMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL211c2wvcGF0Y2hlcy9hZGQtc3Vw cG9ydC1mb3ItU0lHRVZfVEhSRUFEX0lELXRpbWVycy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDc0ICswLDAgQEAKLUZyb20gN2M3MTc5MmU4NzY5MTQ1MWYyYTZiNzYzNDhlODNhZDE4ODlmMWRj YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEphbWVzIFkgS25pZ2h0IDxqeWtuaWdo dEBnb29nbGUuY29tPgotRGF0ZTogU3VuLCAzMCBKdW4gMjAxOSAyMTo1NToyMCAtMDQwMAotU3Vi amVjdDogW1BBVENIXSBhZGQgc3VwcG9ydCBmb3IgU0lHRVZfVEhSRUFEX0lEIHRpbWVycwotCi1U aGlzIGlzIGxpa2UgU0lHRVZfU0lHTkFMLCBidXQgdGFyZ2V0ZWQgdG8gYSBwYXJ0aWN1bGFyIHRo cmVhZCdzCi10aWQsIHJhdGhlciB0aGFuIHRoZSBwcm9jZXNzLgotLS0tCi0gaW5jbHVkZS9zaWdu YWwuaCAgICAgICAgfCAxNiArKysrKysrKysrKysrLS0tCi0gc3JjL3RpbWUvdGltZXJfY3JlYXRl LmMgfCAgOCArKysrKystLQotIDIgZmlsZXMgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgNSBk ZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2luY2x1ZGUvc2lnbmFsLmggYi9pbmNsdWRlL3Np Z25hbC5oCi1pbmRleCBmYmRmNjY3YjIuLjllZDkyOWU0ZiAxMDA2NDQKLS0tLSBhL2luY2x1ZGUv c2lnbmFsLmgKLSsrKyBiL2luY2x1ZGUvc2lnbmFsLmgKLUBAIC0xODAsMTQgKzE4MCwyNCBAQCBz dHJ1Y3Qgc2lnZXZlbnQgewotIAl1bmlvbiBzaWd2YWwgc2lnZXZfdmFsdWU7Ci0gCWludCBzaWdl dl9zaWdubzsKLSAJaW50IHNpZ2V2X25vdGlmeTsKLS0Jdm9pZCAoKnNpZ2V2X25vdGlmeV9mdW5j dGlvbikodW5pb24gc2lndmFsKTsKLS0JcHRocmVhZF9hdHRyX3QgKnNpZ2V2X25vdGlmeV9hdHRy aWJ1dGVzOwotLQljaGFyIF9fcGFkWzU2LTMqc2l6ZW9mKGxvbmcpXTsKLSsJdW5pb24gewotKwkJ Y2hhciBfX3BhZFs2NCAtIDIqc2l6ZW9mKGludCkgLSBzaXplb2YodW5pb24gc2lndmFsKV07Ci0r CQlwaWRfdCBzaWdldl9ub3RpZnlfdGhyZWFkX2lkOwotKwkJc3RydWN0IHsKLSsJCQl2b2lkICgq c2lnZXZfbm90aWZ5X2Z1bmN0aW9uKSh1bmlvbiBzaWd2YWwpOwotKwkJCXB0aHJlYWRfYXR0cl90 ICpzaWdldl9ub3RpZnlfYXR0cmlidXRlczsKLSsJCX0gX19zZXZfdGhyZWFkOwotKwl9IF9fc2V2 X2ZpZWxkczsKLSB9OwotIAotKyNkZWZpbmUgc2lnZXZfbm90aWZ5X3RocmVhZF9pZCBfX3Nldl9m aWVsZHMuc2lnZXZfbm90aWZ5X3RocmVhZF9pZAotKyNkZWZpbmUgc2lnZXZfbm90aWZ5X2Z1bmN0 aW9uIF9fc2V2X2ZpZWxkcy5fX3Nldl90aHJlYWQuc2lnZXZfbm90aWZ5X2Z1bmN0aW9uCi0rI2Rl ZmluZSBzaWdldl9ub3RpZnlfYXR0cmlidXRlcyBfX3Nldl9maWVsZHMuX19zZXZfdGhyZWFkLnNp Z2V2X25vdGlmeV9hdHRyaWJ1dGVzCi0rCi0gI2RlZmluZSBTSUdFVl9TSUdOQUwgMAotICNkZWZp bmUgU0lHRVZfTk9ORSAxCi0gI2RlZmluZSBTSUdFVl9USFJFQUQgMgotKyNkZWZpbmUgU0lHRVZf VEhSRUFEX0lEIDQKLSAKLSBpbnQgX19saWJjX2N1cnJlbnRfc2lncnRtaW4odm9pZCk7Ci0gaW50 IF9fbGliY19jdXJyZW50X3NpZ3J0bWF4KHZvaWQpOwotZGlmZiAtLWdpdCBhL3NyYy90aW1lL3Rp bWVyX2NyZWF0ZS5jIGIvc3JjL3RpbWUvdGltZXJfY3JlYXRlLmMKLWluZGV4IDVkZGZkYTI3OC4u NGJlZjIzOTA1IDEwMDY0NAotLS0tIGEvc3JjL3RpbWUvdGltZXJfY3JlYXRlLmMKLSsrKyBiL3Ny Yy90aW1lL3RpbWVyX2NyZWF0ZS5jCi1AQCAtNzEsMTEgKzcxLDE1IEBAIGludCB0aW1lcl9jcmVh dGUoY2xvY2tpZF90IGNsaywgc3RydWN0IHNpZ2V2ZW50ICpyZXN0cmljdCBldnAsIHRpbWVyX3Qg KnJlc3RyaWN0Ci0gCXN3aXRjaCAoZXZwID8gZXZwLT5zaWdldl9ub3RpZnkgOiBTSUdFVl9TSUdO QUwpIHsKLSAJY2FzZSBTSUdFVl9OT05FOgotIAljYXNlIFNJR0VWX1NJR05BTDoKLSsJY2FzZSBT SUdFVl9USFJFQURfSUQ6Ci0gCQlpZiAoZXZwKSB7Ci0gCQkJa3Nldi5zaWdldl92YWx1ZSA9IGV2 cC0+c2lnZXZfdmFsdWU7Ci0gCQkJa3Nldi5zaWdldl9zaWdubyA9IGV2cC0+c2lnZXZfc2lnbm87 Ci0gCQkJa3Nldi5zaWdldl9ub3RpZnkgPSBldnAtPnNpZ2V2X25vdGlmeTsKLS0JCQlrc2V2LnNp Z2V2X3RpZCA9IDA7Ci0rCQkJaWYgKGV2cC0+c2lnZXZfbm90aWZ5ID09IFNJR0VWX1RIUkVBRF9J RCkKLSsJCQkJa3Nldi5zaWdldl90aWQgPSBldnAtPnNpZ2V2X25vdGlmeV90aHJlYWRfaWQ7Ci0r CQkJZWxzZQotKwkJCQlrc2V2LnNpZ2V2X3RpZCA9IDA7Ci0gCQkJa3NldnAgPSAma3NldjsKLSAJ CX0KLSAJCWlmIChzeXNjYWxsKFNZU190aW1lcl9jcmVhdGUsIGNsaywga3NldnAsICZ0aW1lcmlk KSA8IDApCi1AQCAtMTA3LDcgKzExMSw3IEBAIGludCB0aW1lcl9jcmVhdGUoY2xvY2tpZF90IGNs aywgc3RydWN0IHNpZ2V2ZW50ICpyZXN0cmljdCBldnAsIHRpbWVyX3QgKnJlc3RyaWN0Ci0gCi0g CQlrc2V2LnNpZ2V2X3ZhbHVlLnNpdmFsX3B0ciA9IDA7Ci0gCQlrc2V2LnNpZ2V2X3NpZ25vID0g U0lHVElNRVI7Ci0tCQlrc2V2LnNpZ2V2X25vdGlmeSA9IDQ7IC8qIFNJR0VWX1RIUkVBRF9JRCAq LwotKwkJa3Nldi5zaWdldl9ub3RpZnkgPSBTSUdFVl9USFJFQURfSUQ7Ci0gCQlrc2V2LnNpZ2V2 X3RpZCA9IHRkLT50aWQ7Ci0gCQlpZiAoc3lzY2FsbChTWVNfdGltZXJfY3JlYXRlLCBjbGssICZr c2V2LCAmdGltZXJpZCkgPCAwKQotIAkJCXRpbWVyaWQgPSAtMTsKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvbXVzbC9wYXRjaGVzL2F2b2lkLXNldC1pZC1zZXRybGltaXQtbWlzYmVoYXZpb3ItYW5kLWhh bmctaW4tdmZvcmsucGF0Y2ggYi9zcmNwa2dzL211c2wvcGF0Y2hlcy9hdm9pZC1zZXQtaWQtc2V0 cmxpbWl0LW1pc2JlaGF2aW9yLWFuZC1oYW5nLWluLXZmb3JrLnBhdGNoCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAyMWYyMzZiM2E2Y2QxOS4uMDAwMDAwMDAwMDAwMDAKLS0tIGEvc3Jj cGtncy9tdXNsL3BhdGNoZXMvYXZvaWQtc2V0LWlkLXNldHJsaW1pdC1taXNiZWhhdmlvci1hbmQt aGFuZy1pbi12Zm9yay5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLUZyb20g YTVhZmYxOTcyYzllMzk4MTU2NjQxNGIwOWEyOGUzMzFjY2QyYmU1ZCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKLUZyb206IFJpY2ggRmVsa2VyIDxkYWxpYXNAYWVyaWZhbC5jeD4KLURhdGU6IFRo dSwgMTcgU2VwIDIwMjAgMTU6MDk6NDYgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCAyMzcvNTEzXSBh dm9pZCBzZXQqaWQvc2V0cmxpbWl0IG1pc2JlaGF2aW9yIGFuZCBoYW5nIGluCi0gdmZvcmtlZC9j bG9uZWQgY2hpbGQKLQotdGFraW5nIHRoZSBkZXByZWNhdGVkL2Ryb3BwZWQgdmZvcmsgc3BlYyBz dHJpY3RseSwgZG9pbmcgcHJldHR5IG11Y2gKLWFueXRoaW5nIGJ1dCBleGVjdmUgaW4gdGhlIGNo aWxkIGlzIHdyb25nIGFuZCB1bmRlZmluZWQuIGhvd2V2ZXIsCi10aGVzZSBhcmUgY29tbW9ubHkg bmVlZGVkIG9wZXJhdGlvbnMgdG8gc2V0dXAgdGhlIGNoaWxkIHN0YXRlIGJlZm9yZQotZXhlYywg YW5kIGhpc3RvcmljYWwgaW1wbGVtZW50YXRpb25zIHRvbGVyYXRlZCB0aGVtLgotCi1mb3Igc2lu Z2xlLXRocmVhZGVkIHBhcmVudHMsIHRoZXNlIG9wZXJhdGlvbnMgYWxyZWFkeSB3b3JrZWQgYXMK LWV4cGVjdGVkIGluIHRoZSB2Zm9ya2VkIGNoaWxkLiBob3dldmVyLCBkdWUgdG8gdGhlIG5lZWQg Zm9yIF9fc3luY2NhbGwKLXRvIHN5bmNocm9uaXplIGlkL3Jlc291cmNlIGxpbWl0IGNoYW5nZXMg YW1vbmcgYWxsIHRocmVhZHMsIGNhbGxpbmcKLXRoZXNlIGZ1bmN0aW9ucyBpbiB0aGUgdmZvcmtl ZCBjaGlsZCBvZiBhIG11bHRpdGhyZWFkZWQgcGFyZW50IGNhdXNlZAotYSBtaXNkaXJlY3RlZCBi cm9hZGNhc3Qgc2lnbmFsaW5nIG9mIGFsbCB0aHJlYWRzIGluIHRoZSBwYXJlbnQuIHRoZXNlCi1z aWduYWxzIGNvdWxkIGtpbGwgdGhlIHBhcmVudCBlbnRpcmVseSBpZiB0aGUgc3luY2NhbGwgc2ln bmFsIGhhbmRsZXIKLWhhZCBuZXZlciBiZWVuIGluc3RhbGxlZCBpbiB0aGUgcGFyZW50LCBvciBj b3VsZCBiZSBpZ25vcmVkIGlmIGl0IGhhZCwKLW9yIGNvdWxkIHNpZ25hbC9raWxsIG9uZSBvciBt b3JlIHV0dGVybHkgd3JvbmcgcHJvY2Vzc2VzIGlmIHRoZSBwYXJlbnQKLWFscmVhZHkgdGVybWlu YXRlZCAoZHVlIHRvIHZmb3JrIHNlbWFudGljcywgb25seSBwb3NzaWJsZSB2aWEgZmF0YWwKLXNp Z25hbCkgYW5kIHRoZSBwYXJlbnQgdGlkcyB3ZXJlIHJlY3ljbGVkLiBpbiBhbnkgY2FzZSwgdGhl IGV4cGVjdGVkCi1udW1iZXIgb2Ygc2VtYXBob3JlIHBvc3RzIHdvdWxkIG5ldmVyIGhhcHBlbiwg c28gdGhlIGNoaWxkIHdvdWxkCi1wZXJtYW5lbnRseSBoYW5nICh3aXRoIGFsbCBzaWduYWxzIGJs b2NrZWQpIHdhaXRpbmcgZm9yIHRoZW0uCi0KLXRvIG1pdGlnYXRlIHRoaXMsIGFuZCBhbHNvIG1h a2UgdGhlIG5vcm1hbCB1c2FnZSBjYXNlIHdvcmsgYXMKLWludGVuZGVkLCB0cmVhdCB0aGUgY29u ZGl0aW9uIHdoZXJlIHRoZSBjYWxsZXIncyBhY3R1YWwgdGlkIGRvZXMgbm90Ci1tYXRjaCB0aGUg dGlkIGluIGl0cyB0aHJlYWQgc3RydWN0dXJlIGFzIHNpbmdsZS10aHJlYWRlZCwgYW5kIGJ5cGFz cwotdGhlIGVudGlyZSBzeW5jY2FsbCBicm9hZGNhc3Qgb3BlcmF0aW9uLgotLS0tCi0gc3JjL3Ro cmVhZC9zeW5jY2FsbC5jIHwgMyArKy0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvdGhyZWFkL3N5bmNjYWxsLmMgYi9z cmMvdGhyZWFkL3N5bmNjYWxsLmMKLWluZGV4IDY0OGE2YWQ0Li5kNThjODUxZiAxMDA2NDQKLS0t LSBhL3NyYy90aHJlYWQvc3luY2NhbGwuYwotKysrIGIvc3JjL3RocmVhZC9zeW5jY2FsbC5jCi1A QCAtNjMsNyArNjMsOCBAQCB2b2lkIF9fc3luY2NhbGwodm9pZCAoKmZ1bmMpKHZvaWQgKiksIHZv aWQgKmN0eCkKLSAJc2VtX2luaXQoJnRhcmdldF9zZW0sIDAsIDApOwotIAlzZW1faW5pdCgmY2Fs bGVyX3NlbSwgMCwgMCk7Ci0gCi0tCWlmICghbGliYy50aHJlYWRzX21pbnVzXzEpIGdvdG8gc2lu Z2xlX3RocmVhZGVkOwotKwlpZiAoIWxpYmMudGhyZWFkc19taW51c18xIHx8IF9fc3lzY2FsbChT WVNfZ2V0dGlkKSAhPSBzZWxmLT50aWQpCi0rCQlnb3RvIHNpbmdsZV90aHJlYWRlZDsKLSAKLSAJ Y2FsbGJhY2sgPSBmdW5jOwotIAljb250ZXh0ID0gY3R4OwotLS0gCi0yLjQxLjAKLQpkaWZmIC0t Z2l0IGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvYzIzLWJhc2VuYW1lLnBhdGNoIGIvc3JjcGtncy9t dXNsL3BhdGNoZXMvYzIzLWJhc2VuYW1lLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCA4Zjk1YTI3ZDBlZjU2Mi4uMDAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tdXNsL3Bh dGNoZXMvYzIzLWJhc2VuYW1lLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAot RnJvbSA3MjVlMTdlZDZkZmY0ZDBjZDIyNDg3YmI2NDQ3MDg4MWU4NmE5MmU3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogUmljaCBGZWxrZXIgPGRhbGlhc0BhZXJpZmFsLmN4PgotRGF0 ZTogTW9uLCA2IE5vdiAyMDIzIDA4OjI2OjE5IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIHJlbW92 ZSBub24tcHJvdG90eXBlIGRlY2xhcmF0aW9uIG9mIGJhc2VuYW1lIGZyb20gc3RyaW5nLmgKLQot Y29tbWl0IDM3YmIzY2NlNDU5OGMxOTI4ODYyOGU2NzVlYWYxY2RhNmU5Njk1OGYgc3VwcHJlc3Nl ZCB0aGUKLWRlY2xhcmF0aW9uIGZvciBDKyssIHdoZXJlIGl0IGlzIHdyb25nbHkgaW50ZXJwcmV0 ZWQgYXMgZGVjbGFyaW5nIHRoZQotZnVuY3Rpb24gYXMgdGFraW5nIG5vIGFyZ3VtZW50cy4gd2l0 aCBDMjMgcmVtb3Zpbmcgbm9uLXByb3RvdHlwZQotZGVjbGFyYXRpb25zLCB0aGF0IHByb2JsZW0g aXMgbm93IGFsc28gcmVsZXZhbnQgdG8gQy4KLQotdGhlIG5vbi1wcm90b3R5cGUgZGVjbGFyYXRp b24gZm9yIGJhc2VuYW1lIG9yaWdpbmF0ZXMgd2l0aCBjb21taXQKLTA2YWVjOGQ3MTUyZGZiODM2 MGNiN2VkOWIzZDcyMTVjYTBiMGI1MDAsIHdoZXJlIGl0IHdhcyBkZXNpZ25lZCB0bwotYXZvaWQg Y29uZmxpY3RzIHdpdGggcHJvZ3JhbXMgd2hpY2ggZGVjbGFyZSBiYXNlbmFtZSB3aXRoIHRoZSBH TlUKLXNpZ25hdHVyZSB0YWtpbmcgY29uc3QgY2hhciAqLiB0aGF0IGNoYW5nZSB3YXMgcHJvYmFi bHkgbWlzZ3VpZGVkLCBhcwotaXQgcmVwcmVzZW50cyBub3Qgb25seSBtaXNhbGlnbmVkIGV4cGVj dGF0aW9ucyB3aXRoIHRoZSBjYWxsZXIsIGJ1dAotYWxzbyB1bmRlZmluZWQgYmVoYXZpb3IgKGNh bGxpbmcgYSBmdW5jdGlvbiB0aGF0J3MgYmVlbiBkZWNsYXJlZCB3aXRoCi10aGUgd3JvbmcgdHlw ZSkuCi0KLXdlIGNvdWxkIG9wdCB0byBmaXggdGhlIGRlY2xhcmF0aW9uLCBidXQgc2luY2UgZ2xp YmMsIHdpdGggdGhlCi1ncmF0dWl0b3VzbHkgaW5jb21wYXRpYmxlIEdOVS1iYXNlbmFtZSBmdW5j dGlvbiwgc2VlbXMgdG8gYmUgdGhlIG9ubHkKLWltcGxlbWVudGF0aW9uIHRoYXQgZGVjbGFyZXMg aXQgaW4gc3RyaW5nLmgsIGl0IHNlZW1zIGJldHRlciB0byBqdXN0Ci1yZW1vdmUgdGhlIGRlY2xh cmF0aW9uLiB0aGlzIHByb3ZpZGVzIHNvbWUgd2FybmluZyBpZiBhcHBsaWNhdGlvbnMgYXJlCi1i ZWluZyBidWlsdCBleHBlY3RpbmcgdGhlIEdOVSBiZWhhdmlvciBidXQgbm90IGdldHRpbmcgaXQu IGlmIHdlCi1kZWNsYXJlZCBpdCBoZXJlLCBpdCB3b3VsZCBvbmx5IHByb2R1Y2UgYSB3YXJuaW5n IGlmIHRoZSBjYWxsZXIgYWxzbwotZGVjbGFyZXMgaXQgdGhlbXNlbHZlcyAocmFyZSkgb3IgaWYg dGhlIGNhbGxlciBhdHRlbXB0cyB0byBwYXNzIGEKLWNvbnN0LXF1YWxpZmllZCBwb2ludGVyLgot LS0tCi0gaW5jbHVkZS9zdHJpbmcuaCB8IDMgLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDMgZGVsZXRp b25zKC0pCi0KLWRpZmYgLS1naXQgYS9pbmNsdWRlL3N0cmluZy5oIGIvaW5jbHVkZS9zdHJpbmcu aAotaW5kZXggZGI3M2QyYTkuLjgzZTJiOTQ2IDEwMDY0NAotLS0tIGEvaW5jbHVkZS9zdHJpbmcu aAotKysrIGIvaW5jbHVkZS9zdHJpbmcuaAotQEAgLTk1LDkgKzk1LDYgQEAgY2hhciAqc3RyY2hy bnVsKGNvbnN0IGNoYXIgKiwgaW50KTsKLSBjaGFyICpzdHJjYXNlc3RyKGNvbnN0IGNoYXIgKiwg Y29uc3QgY2hhciAqKTsKLSB2b2lkICptZW1yY2hyKGNvbnN0IHZvaWQgKiwgaW50LCBzaXplX3Qp OwotIHZvaWQgKm1lbXBjcHkodm9pZCAqLCBjb25zdCB2b2lkICosIHNpemVfdCk7Ci0tI2lmbmRl ZiBfX2NwbHVzcGx1cwotLWNoYXIgKmJhc2VuYW1lKCk7Ci0tI2VuZGlmCi0gI2VuZGlmCi0gCi0g I2lmZGVmIF9fY3BsdXNwbHVzCmRpZmYgLS1naXQgYS9zcmNwa2dzL211c2wvcGF0Y2hlcy9lcG9s bF9jcC5wYXRjaCBiL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2Vwb2xsX2NwLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MmY0NzU1MWFkOGViNi4uMDAwMDAwMDAwMDAwMDAKLS0t IGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvZXBvbGxfY3AucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAt MSwyOCArMCwwIEBACi1Gcm9tIDJjMDBmOTVjMWFjN2RkNTBmNTNkOWUzNjE4NDdlYmQyNTEzYzhk YTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSaWNoIEZlbGtlciA8ZGFsaWFzQGFl cmlmYWwuY3g+Ci1EYXRlOiBTYXQsIDMgQXByIDIwMjEgMjE6MTY6NDEgLTA0MDAKLVN1YmplY3Q6 IFtQQVRDSF0gbWFrZSBlcG9sbF9bcF13YWl0IGEgY2FuY2VsbGF0aW9uIHBvaW50Ci0KLXRoaXMg aXMgYSBMaW51eC1zcGVjaWZpYyBmdW5jdGlvbiBhbmQgbm90IGNvdmVyZWQgYnkgUE9TSVgncwot cmVxdWlyZW1lbnRzIGZvciB3aGljaCBpbnRlcmZhY2VzIGFyZSBjYW5jZWxsYXRpb24gcG9pbnRz LCBidXQgZ2xpYmMKLW1ha2VzIGl0IG9uZSBhbmQgZXhpc3Rpbmcgc29mdHdhcmUgcmVsaWVzIG9u IGl0IGJlaW5nIG9uZS4KLQotYXQgc29tZSBwb2ludCBhIHJldmlldyBmb3Igc2ltaWxhciBmdW5j dGlvbnMgdGhhdCBzaG91bGQgYmUgbWFkZQotY2FuY2VsbGF0aW9uIHBvaW50cyBzaG91bGQgYmUg ZG9uZS4KLQotZGlmZiAtLWdpdCBzcmMvbGludXgvZXBvbGwuYyBzcmMvbGludXgvZXBvbGwuYwot aW5kZXggZGVmZjViMTAuLjkzYmFhODE0IDEwMDY0NAotLS0tIGEvc3JjL2xpbnV4L2Vwb2xsLmMK LSsrKyBiL3NyYy9saW51eC9lcG9sbC5jCi1AQCAtMjQsOSArMjQsOSBAQCBpbnQgZXBvbGxfY3Rs KGludCBmZCwgaW50IG9wLCBpbnQgZmQyLCBzdHJ1Y3QgZXBvbGxfZXZlbnQgKmV2KQotIAotIGlu dCBlcG9sbF9wd2FpdChpbnQgZmQsIHN0cnVjdCBlcG9sbF9ldmVudCAqZXYsIGludCBjbnQsIGlu dCB0bywgY29uc3Qgc2lnc2V0X3QgKnNpZ3MpCi0gewotLQlpbnQgciA9IF9fc3lzY2FsbChTWVNf ZXBvbGxfcHdhaXQsIGZkLCBldiwgY250LCB0bywgc2lncywgX05TSUcvOCk7Ci0rCWludCByID0g X19zeXNjYWxsX2NwKFNZU19lcG9sbF9wd2FpdCwgZmQsIGV2LCBjbnQsIHRvLCBzaWdzLCBfTlNJ Ry84KTsKLSAjaWZkZWYgU1lTX2Vwb2xsX3dhaXQKLS0JaWYgKHI9PS1FTk9TWVMgJiYgIXNpZ3Mp IHIgPSBfX3N5c2NhbGwoU1lTX2Vwb2xsX3dhaXQsIGZkLCBldiwgY250LCB0byk7Ci0rCWlmIChy PT0tRU5PU1lTICYmICFzaWdzKSByID0gX19zeXNjYWxsX2NwKFNZU19lcG9sbF93YWl0LCBmZCwg ZXYsIGNudCwgdG8pOwotICNlbmRpZgotIAlyZXR1cm4gX19zeXNjYWxsX3JldChyKTsKLSB9CmRp ZmYgLS1naXQgYS9zcmNwa2dzL211c2wvcGF0Y2hlcy9maXgtb29iLXJlYWQtcHJvY2Vzc2luZy10 aW1lLXpvbmUtZGF0YS5wYXRjaCBiL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2ZpeC1vb2ItcmVhZC1w cm9jZXNzaW5nLXRpbWUtem9uZS1kYXRhLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCA1NTdjYmQ3NDQ2ZDliYi4uMDAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tdXNsL3Bh dGNoZXMvZml4LW9vYi1yZWFkLXByb2Nlc3NpbmctdGltZS16b25lLWRhdGEucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi1Gcm9tIDNiN2I0MTU1NTcwYjRiOTA1NDQ2NTc4NWJl Mjk5MmM5MmNiN2Q3YjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSaWNoIEZlbGtl ciA8ZGFsaWFzQGFlcmlmYWwuY3g+Ci1EYXRlOiBXZWQsIDkgRmViIDIwMjIgMTc6NDg6NDMgLTA1 MDAKLVN1YmplY3Q6IGZpeCBvdXQtb2YtYm91bmQgcmVhZCBwcm9jZXNzaW5nIHRpbWUgem9uZSBk YXRhIHdpdGggZGlzdGFudC1wYXN0Ci0gZGF0ZXMKLQotdGhpcyBidWcgZ29lcyBiYWNrIHRvIGNv bW1pdCAxY2M4MWY1Y2IwZGYyYjY2YTc5NWZmMGMyNmQ3YmJjNGQxNmUxM2M2Ci13aGVyZSB6b25l aW5mbyBmaWxlIHN1cHBvcnQgd2FzIGZpcnN0IGFkZGVkLiBpbiBzY2FuX3RyYW5zLCB3aGljaAot c2VhcmNoZXMgZm9yIHRoZSBhcHByb3ByaWF0ZSBsb2NhbCB0aW1lL2RzdCBydWxlIGluIGVmZmVj dCBhdCBhIGdpdmVuCi10aW1lLCB0aW1lcyBwcmlvciB0byB0aGUgc2Vjb25kIHRyYW5zaXRpb24g dGltZSBjYXVzZWQgdGhlIC0xIHNsb3Qgb2YKLXRoZSBpbmRleCB0byBiZSByZWFkIHRvIGRldGVy bWluZSB0aGUgcHJldmlvdXMgcnVsZSBpbiBlZmZlY3QuIHRoaXMKLW1lbW9yeSB3YXMgYWx3YXlz IHZhbGlkIChwYXJ0IG9mIGFub3RoZXIgem9uZWluZm8gdGFibGUgaW4gdGhlIG1hcHBlZAotZmls ZSkgYnV0IHRoZSBieXRlIHZhbHVlIHJlYWQgd2FzIHRoZW4gdXNlZCB0byBpbmRleCBhbm90aGVy IHRhYmxlLAotcG9zc2libHkgZ29pbmcgb3V0c2lkZSB0aGUgYm91bmRzIG9mIHRoZSBtbWFwLiBt b3N0IG9mIHRoZSB0aW1lLCB0aGUKLXJlc3VsdCB3YXMgbGltaXRlZCB0byBtaXNpbnRlcnByZXRh dGlvbiBvZiB0aGUgcnVsZSBpbiBlZmZlY3QgYXQgdGhhdAotdGltZSAocHJlLTE5MDBzKSwgYnV0 IGl0IGNvdWxkIHByb2R1Y2UgYSBjcmFzaCBpZiBhZGphY2VudCBtZW1vcnkgd2FzCi1ub3QgcmVh ZGFibGUuCi0KLXRoZSByb290IGNhdXNlIG9mIHRoZSBwcm9ibGVtLCBob3dldmVyLCB3YXMgdGhh dCB0aGUgbG9naWMgZm9yIHRoaXMKLWNvZGUgcGF0aCB3YXMgYWxsIHdyb25nLiBhcyBkb2N1bWVu dGVkIGluIHRoZSBjb21tZW50LCB0aW1lcyBiZWZvcmUKLXRoZSBmaXJzdCB0cmFuc2l0aW9uIHNo b3VsZCBiZSB0cmVhdGVkIGFzIHVzaW5nIHRoZSBsb3dlc3QtbnVtYmVyZWQKLW5vbi1kc3QgcnVs ZSwgb3IgcnVsZSAwIGlmIG5vIG5vbi1kc3QgcnVsZXMgZXhpc3QuIGlmIHRoZSBhcmd1bWVudCBp cwotaW4gdW5pdHMgb2YgbG9jYWwgdGltZSwgaG93ZXZlciwgdGhlIHJ1bGUgcHJpb3IgdG8gdGhl IGZpcnN0Ci10cmFuc2l0aW9uIGlzIG5lZWRlZCB0byBkZXRlcm1pbmUgaWYgaXQgZmFsbHMgYmVm b3JlIG9yIGFmdGVyIGl0LCBhbmQKLXRoYXQncyB3aGVyZSB0aGUgLTEgaW5kZXggd2FzIHdyb25n bHkgdXNlZC4KLQotaW5zdGVhZCwgdXNlIHRoZSBkb2N1bWVudGVkIGxvZ2ljIHRvIGZpbmQgb3V0 IHdoYXQgcnVsZSB3b3VsZCBiZSBpbgotZWZmZWN0IGJlZm9yZSB0aGUgZmlyc3QgdHJhbnNpdGlv biwgYW5kIGFwcGx5IGl0IGFzIHRoZSBvZmZzZXQgaWYgdGhlCi1hcmd1bWVudCB3YXMgZ2l2ZW4g aW4gbG9jYWwgdGltZS4KLQotdGhlIG5ldyBjb2RlIGhhcyBub3QgYmVlbiBoZWF2aWx5IHRlc3Rl ZCwgYnV0IG5vIGxvbmdlciBwZXJmb3JtcwotcG90ZW50aWFsbHkgb3V0LW9mLWJvdW5kcyBhY2Nl c3NlcywgYW5kIHN1Y2Nlc3NmdWxseSBoYW5kbGVzIHRoZSAxODgzCi10cmFuc2l0aW9uIGZyb20g bG9jYWwgbWVhbiB0aW1lIHRvIGNlbnRyYWwgc3RhbmRhcmQgdGltZSBpbiB0aGUgdGVzdAotY2Fz ZSB0aGUgZXJyb3Igd2FzIHJlcG9ydGVkIGZvci4KLS0tLQotIHNyYy90aW1lL19fdHouYyB8IDI2 ICsrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlv bnMoKyksIDE0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3RpbWUvX190ei5jIGIv c3JjL3RpbWUvX190ei5jCi1pbmRleCAzZTJmY2RjYi4uYzM0YjNlYjcgMTAwNjQ0Ci0tLS0gYS9z cmMvdGltZS9fX3R6LmMKLSsrKyBiL3NyYy90aW1lL19fdHouYwotQEAgLTI5MywyMiArMjkzLDIw IEBAIHN0YXRpYyBzaXplX3Qgc2Nhbl90cmFucyhsb25nIGxvbmcgdCwgaW50IGxvY2FsLCBzaXpl X3QgKmFsdCkKLSAJbiA9IChpbmRleC10cmFucyk+PnNjYWxlOwotIAlpZiAoYSA9PSBuLTEpIHJl dHVybiAtMTsKLSAJaWYgKGEgPT0gMCkgewotLQkJeCA9IHppX3JlYWQzMih0cmFucyArIChhPDxz Y2FsZSkpOwotLQkJaWYgKHNjYWxlID09IDMpIHggPSB4PDwzMiB8IHppX3JlYWQzMih0cmFucyAr IChhPDxzY2FsZSkgKyA0KTsKLSsJCXggPSB6aV9yZWFkMzIodHJhbnMpOwotKwkJaWYgKHNjYWxl ID09IDMpIHggPSB4PDwzMiB8IHppX3JlYWQzMih0cmFucyArIDQpOwotIAkJZWxzZSB4ID0gKGlu dDMyX3QpeDsKLS0JCWlmIChsb2NhbCkgb2ZmID0gKGludDMyX3QpemlfcmVhZDMyKHR5cGVzICsg NiAqIGluZGV4W2EtMV0pOwotKwkJLyogRmluZCB0aGUgbG93ZXN0IG5vbi1EU1QgdHlwZSwgb3Ig MCBpZiBub25lLiAqLwotKwkJc2l6ZV90IGogPSAwOwotKwkJZm9yIChzaXplX3QgaT1hYmJyZXZz LXR5cGVzOyBpOyBpLT02KSB7Ci0rCQkJaWYgKCF0eXBlc1tpLTYrNF0pIGogPSBpLTY7Ci0rCQl9 Ci0rCQlpZiAobG9jYWwpIG9mZiA9IChpbnQzMl90KXppX3JlYWQzMih0eXBlcyArIGopOwotKwkJ LyogSWYgdCBpcyBiZWZvcmUgZmlyc3QgdHJhbnNpdGlvbiwgdXNlIHRoZSBhYm92ZS1mb3VuZCB0 eXBlCi0rCQkgKiBhbmQgdGhlIGluZGV4LXplcm8gKGFmdGVyIHRyYW5zaXRpb24pIHR5cGUgYXMg dGhlIGFsdC4gKi8KLSAJCWlmICh0IC0gb2ZmIDwgKGludDY0X3QpeCkgewotLQkJCWZvciAoYT0w OyBhPChhYmJyZXZzLXR5cGVzKS82OyBhKyspIHsKLS0JCQkJaWYgKHR5cGVzWzYqYSs0XSAhPSB0 eXBlc1s0XSkgYnJlYWs7Ci0tCQkJfQotLQkJCWlmIChhID09IChhYmJyZXZzLXR5cGVzKS82KSBh ID0gMDsKLS0JCQlpZiAodHlwZXNbNiphKzRdKSB7Ci0tCQkJCSphbHQgPSBhOwotLQkJCQlyZXR1 cm4gMDsKLS0JCQl9IGVsc2UgewotLQkJCQkqYWx0ID0gMDsKLS0JCQkJcmV0dXJuIGE7Ci0tCQkJ fQotKwkJCWlmIChhbHQpICphbHQgPSBpbmRleFswXTsKLSsJCQlyZXR1cm4gai82OwotIAkJfQot IAl9Ci0gCi0tLSAKLWNnaXQgdjEuMi4xCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXVzbC9wYXRj aGVzL2ZpeC1waS1tdXRleC1jb25kLTEucGF0Y2ggYi9zcmNwa2dzL211c2wvcGF0Y2hlcy9maXgt cGktbXV0ZXgtY29uZC0xLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzOWFm NzJiMGM1ZjkxZi4uMDAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvZml4 LXBpLW11dGV4LWNvbmQtMS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLUZy b20gMmQwYmJlNmM3ODg5MzhkMTMzMjYwOWMwMTRlZWViYzFkZmY5NjZhYyBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKLUZyb206IFJpY2ggRmVsa2VyIDxkYWxpYXNAYWVyaWZhbC5jeD4KLURhdGU6 IE1vbiwgMjYgT2N0IDIwMjAgMTU6NTY6MjUgLTA0MDAKLVN1YmplY3Q6IGZpeCBwdGhyZWFkX2Nv bmRfd2FpdCBwYWlyZWQgd2l0aCB3aXRoIHByaW9yaXR5LWluaGVyaXRhbmNlIG11dGV4Ci0KLXB0 aHJlYWRfY29uZF93YWl0IGFycmFuZ2VkIGZvciByZXF1ZXVlZCB3YWl0ZXJzIHRvIHdha2Ugd2hl biB0aGUgbXV0ZXgKLWlzIHVubG9ja2VkIGJ5IHRlbXBvcmFyaWx5IGFkanVzdGluZyB0aGUgbXV0 ZXgncyB3YWl0ZXIgY291bnQuIGNvbW1pdAotNTRjYTY3Nzk4M2Q0NzUyOWJhYjg3NTIzMTVhYzFh MmI0OTg4ODg3MCBicm9rZSB0aGlzIHdoZW4gaW50cm9kdWNpbmcKLVBJIG11dGV4ZXMgYnkgcmVw dXJwb3NpbmcgdGhlIHdhaXRlciBjb3VudCBmaWVsZCBvZiB0aGUgbXV0ZXgKLXN0cnVjdHVyZS4g c2luY2UgdGhlbiwgZm9yIFBJIG11dGV4ZXMsIHRoZSB3YWl0ZXIgY291bnQgYWRqdXN0bWVudCB3 YXMKLW1pc2ludGVycHJldGVkIGJ5IHRoZSBtdXRleCBsb2NraW5nIGNvZGUgYXMgaW5kaWNhdGlu ZyB0aGF0IHRoZSBtdXRleAotaXMgbm9uIGEgbm9uLXJlY292ZXJhYmxlIHN0YXRlLgotCi1pdCB3 b3VsZCBiZSBwb3NzaWJsZSB0byBzcGVjaWFsLWNhc2UgUEkgbXV0ZXhlcyBoZXJlLCBidXQgaW5z dGVhZCBqdXN0Ci1kcm9wIGFsbCBhZGp1c3RtZW50IG9mIHRoZSB3YWl0ZXJzIGNvdW50LCBhbmQg aW5zdGVhZCB1c2UgdGhlIGxvY2sKLXdvcmQgd2FpdGVycyBiaXQgZm9yIGFsbCBtdXRleCB0eXBl cy4gc2luY2UgdGhlIG11dGV4IGlzIGVpdGhlciBoZWxkCi1ieSB0aGUgY2FsbGVyIG9yIGluIHVu cmVjb3ZlcmFibGUgc3RhdGUgYXQgdGhlIHRpbWUgdGhlIGJpdCBpcyBzZXQsIGl0Ci13aWxsIG5l Y2Vzc2FyaWx5IHN0aWxsIGJlIHNldCBhdCB0aGUgdGltZSBvZiBhbnkgc3Vic2VxdWVudCB2YWxp ZAotdW5sb2NrIG9wZXJhdGlvbiwgYW5kIHRoaXMgd2lsbCBwcm9kdWNlIHRoZSBkZXNpcmVkIGVm ZmVjdCBvZiB3YWtpbmcKLXRoZSBuZXh0IHdhaXRlci4KLQotaWYgd2FpdGVyIGNvdW50cyBhcmUg ZW50aXJlbHkgZHJvcHBlZCBhdCBzb21lIHBvaW50IGluIHRoZSBmdXR1cmUgdGhpcwotY29kZSBz aG91bGQgc3RpbGwgd29yayB3aXRob3V0IG1vZGlmaWNhdGlvbi4KLS0tLQotIHNyYy90aHJlYWQv cHRocmVhZF9jb25kX3RpbWVkd2FpdC5jIHwgMTEgKysrKystLS0tLS0KLSAxIGZpbGUgY2hhbmdl ZCwgNSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQotCi0obGltaXRlZCB0byAnc3JjL3Ro cmVhZC9wdGhyZWFkX2NvbmRfdGltZWR3YWl0LmMnKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3RocmVh ZC9wdGhyZWFkX2NvbmRfdGltZWR3YWl0LmMgYi9zcmMvdGhyZWFkL3B0aHJlYWRfY29uZF90aW1l ZHdhaXQuYwotaW5kZXggZDE1MDEyNDAuLmY1ZjM3YWYxIDEwMDY0NAotLS0tIGEvc3JjL3RocmVh ZC9wdGhyZWFkX2NvbmRfdGltZWR3YWl0LmMKLSsrKyBiL3NyYy90aHJlYWQvcHRocmVhZF9jb25k X3RpbWVkd2FpdC5jCi1AQCAtMTQ2LDE0ICsxNDYsMTMgQEAgcmVsb2NrOgotIAotIAlpZiAob2xk c3RhdGUgPT0gV0FJVElORykgZ290byBkb25lOwotIAotLQlpZiAoIW5vZGUubmV4dCkgYV9pbmMo Jm0tPl9tX3dhaXRlcnMpOwotLQotIAkvKiBVbmxvY2sgdGhlIGJhcnJpZXIgdGhhdCdzIGhvbGRp bmcgYmFjayB0aGUgbmV4dCB3YWl0ZXIsIGFuZAotIAkgKiBlaXRoZXIgd2FrZSBpdCBvciByZXF1 ZXVlIGl0IHRvIHRoZSBtdXRleC4gKi8KLS0JaWYgKG5vZGUucHJldikKLS0JCXVubG9ja19yZXF1 ZXVlKCZub2RlLnByZXYtPmJhcnJpZXIsICZtLT5fbV9sb2NrLCBtLT5fbV90eXBlICYgMTI4KTsK LS0JZWxzZQotLQkJYV9kZWMoJm0tPl9tX3dhaXRlcnMpOwotKwlpZiAobm9kZS5wcmV2KSB7Ci0r CQlpbnQgdmFsID0gbS0+X21fbG9jazsKLSsJCWlmICh2YWw+MCkgYV9jYXMoJm0tPl9tX2xvY2ss IHZhbCwgdmFsfDB4ODAwMDAwMDApOwotKwkJdW5sb2NrX3JlcXVldWUoJm5vZGUucHJldi0+YmFy cmllciwgJm0tPl9tX2xvY2ssIG0tPl9tX3R5cGUgJiAoOHwxMjgpKTsKLSsJfQotIAotIAkvKiBT aW5jZSBhIHNpZ25hbCB3YXMgY29uc3VtZWQsIGNhbmNlbGxhdGlvbiBpcyBub3QgcGVybWl0dGVk LiAqLwotIAlpZiAoZSA9PSBFQ0FOQ0VMRUQpIGUgPSAwOwotLS0gCi1jZ2l0IHYxLjIuMQotCmRp ZmYgLS1naXQgYS9zcmNwa2dzL211c2wvcGF0Y2hlcy9maXgtcGktbXV0ZXgtY29uZC0yLnBhdGNo IGIvc3JjcGtncy9tdXNsL3BhdGNoZXMvZml4LXBpLW11dGV4LWNvbmQtMi5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjM1NmUzOGI2MWY4M2QuLjAwMDAwMDAwMDAwMDAwCi0t LSBhL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2ZpeC1waS1tdXRleC1jb25kLTIucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi1Gcm9tIDI3YjJmYzlkNmRiOTU2MzU5NzI3YTY2YzI2 MmYxZTY5OTk1NjYwYWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSaWNoIEZlbGtl ciA8ZGFsaWFzQGFlcmlmYWwuY3g+Ci1EYXRlOiBGcmksIDMwIE9jdCAyMDIwIDExOjIxOjA2IC0w NDAwCi1TdWJqZWN0OiBmaXggbWlzc2luZy13YWtlIHJlZ3Jlc3Npb24gaW4gcHRocmVhZF9jb25k X3dhaXQKLQotdGhlIHJlYXNvbmluZyBpbiBjb21taXQgMmQwYmJlNmM3ODg5MzhkMTMzMjYwOWMw MTRlZWViYzFkZmY5NjZhYyB3YXMKLW5vdCBlbnRpcmVseSBjb3JyZWN0LiB3aGlsZSBpdCdzIHRy dWUgdGhhdCBzZXR0aW5nIHRoZSB3YWl0ZXJzIGZsYWcKLWVuc3VyZXMgdGhhdCB0aGUgbmV4dCB1 bmxvY2sgd2lsbCBwZXJmb3JtIGEgd2FrZSwgaXQncyBwb3NzaWJsZSB0aGF0Ci10aGUgd2FrZSBp cyBjb25zdW1lZCBieSBhIG11dGV4IHdhaXRlciB0aGF0IGhhcyBubyByZWxhdGlvbnNoaXAgd2l0 aAotdGhlIGNvbmR2YXIgd2FpdCBxdWV1ZSBiZWluZyBwcm9jZXNzZWQsIHdoaWNoIHRoZW4gdGFr ZXMgdGhlIG11dGV4Lgotd2hlbiB0aGF0IHRocmVhZCBzdWJzZXF1ZW50bHkgdW5sb2NrcywgaXQg c2VlcyBubyB3YWl0ZXJzLCBhbmQgbGVhdmVzCi10aGUgcmVzdCBvZiB0aGUgY29uZHZhciBxdWV1 ZSBzdHVjay4KLQotYnJpbmcgYmFjayB0aGUgd2FpdGVyIGNvdW50IGFkanVzdG1lbnQsIGJ1dCBz a2lwIGl0IGZvciBQSSBtdXRleGVzLAotZm9yIHdoaWNoIGEgc3VjY2Vzc2Z1bCBsb2NrLWFmdGVy LXdhaXRpbmcgYWx3YXlzIHNldHMgdGhlIHdhaXRlcnMgYml0LgotaWYgZnV0dXJlIGNoYW5nZXMg YXJlIG1hZGUgdG8gYnJpbmcgdGhpcyBzYW1lIHdhaXRlcnMtYml0IGNvbnRyYWN0IHRvCi1hbGwg bG9jayB0eXBlcywgdGhpcyBjYW4gYmUgcmV2ZXJ0ZWQuCi0tLS0KLSBzcmMvdGhyZWFkL3B0aHJl YWRfY29uZF90aW1lZHdhaXQuYyB8IDUgKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRp b25zKCspCi0KLShsaW1pdGVkIHRvICdzcmMvdGhyZWFkL3B0aHJlYWRfY29uZF90aW1lZHdhaXQu YycpCi0KLWRpZmYgLS1naXQgYS9zcmMvdGhyZWFkL3B0aHJlYWRfY29uZF90aW1lZHdhaXQuYyBi L3NyYy90aHJlYWQvcHRocmVhZF9jb25kX3RpbWVkd2FpdC5jCi1pbmRleCBmNWYzN2FmMS4uYTBj ZDQ5MDQgMTAwNjQ0Ci0tLS0gYS9zcmMvdGhyZWFkL3B0aHJlYWRfY29uZF90aW1lZHdhaXQuYwot KysrIGIvc3JjL3RocmVhZC9wdGhyZWFkX2NvbmRfdGltZWR3YWl0LmMKLUBAIC0xNDYsMTIgKzE0 NiwxNyBAQCByZWxvY2s6Ci0gCi0gCWlmIChvbGRzdGF0ZSA9PSBXQUlUSU5HKSBnb3RvIGRvbmU7 Ci0gCi0rCWlmICghbm9kZS5uZXh0ICYmICEobS0+X21fdHlwZSAmIDgpKQotKwkJYV9pbmMoJm0t Pl9tX3dhaXRlcnMpOwotKwotIAkvKiBVbmxvY2sgdGhlIGJhcnJpZXIgdGhhdCdzIGhvbGRpbmcg YmFjayB0aGUgbmV4dCB3YWl0ZXIsIGFuZAotIAkgKiBlaXRoZXIgd2FrZSBpdCBvciByZXF1ZXVl IGl0IHRvIHRoZSBtdXRleC4gKi8KLSAJaWYgKG5vZGUucHJldikgewotIAkJaW50IHZhbCA9IG0t Pl9tX2xvY2s7Ci0gCQlpZiAodmFsPjApIGFfY2FzKCZtLT5fbV9sb2NrLCB2YWwsIHZhbHwweDgw MDAwMDAwKTsKLSAJCXVubG9ja19yZXF1ZXVlKCZub2RlLnByZXYtPmJhcnJpZXIsICZtLT5fbV9s b2NrLCBtLT5fbV90eXBlICYgKDh8MTI4KSk7Ci0rCX0gZWxzZSBpZiAoISEobS0+X21fdHlwZSAm IDgpKSB7Ci0rCQlhX2RlYygmbS0+X21fd2FpdGVycyk7CQkKLSAJfQotIAotIAkvKiBTaW5jZSBh IHNpZ25hbCB3YXMgY29uc3VtZWQsIGNhbmNlbGxhdGlvbiBpcyBub3QgcGVybWl0dGVkLiAqLwot LS0gCi1jZ2l0IHYxLjIuMQotCmRpZmYgLS1naXQgYS9zcmNwa2dzL211c2wvcGF0Y2hlcy9maXgt cGktbXV0ZXgtY29uZC0zLnBhdGNoIGIvc3JjcGtncy9tdXNsL3BhdGNoZXMvZml4LXBpLW11dGV4 LWNvbmQtMy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmNjOTQzZjI2ZjZh NjIuLjAwMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2ZpeC1waS1tdXRl eC1jb25kLTMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1Gcm9tIGQ5MWE2 Y2Y2ZTM2OWE3OTU4N2M1NjY1ZmNlOTYzNWU1NjM0Y2EyMDEgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCi1Gcm9tOiBSaWNoIEZlbGtlciA8ZGFsaWFzQGFlcmlmYWwuY3g+Ci1EYXRlOiBGcmksIDMw IE9jdCAyMDIwIDE2OjUwOjA4IC0wNDAwCi1TdWJqZWN0OiBmaXggZXJyb25lb3VzIHB0aHJlYWRf Y29uZF93YWl0IG11dGV4IHdhaXRlciBjb3VudCBsb2dpYyBkdWUgdG8gdHlwbwotCi1pbnRyb2R1 Y2VkIGluIGNvbW1pdCAyN2IyZmM5ZDZkYjk1NjM1OTcyN2E2NmMyNjJmMWU2OTk5NTY2MGFhLgot LS0tCi0gc3JjL3RocmVhZC9wdGhyZWFkX2NvbmRfdGltZWR3YWl0LmMgfCAyICstCi0gMSBmaWxl IGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLShsaW1pdGVkIHRvICdz cmMvdGhyZWFkL3B0aHJlYWRfY29uZF90aW1lZHdhaXQuYycpCi0KLWRpZmYgLS1naXQgYS9zcmMv dGhyZWFkL3B0aHJlYWRfY29uZF90aW1lZHdhaXQuYyBiL3NyYy90aHJlYWQvcHRocmVhZF9jb25k X3RpbWVkd2FpdC5jCi1pbmRleCBhMGNkNDkwNC4uNmI3NjE0NTUgMTAwNjQ0Ci0tLS0gYS9zcmMv dGhyZWFkL3B0aHJlYWRfY29uZF90aW1lZHdhaXQuYwotKysrIGIvc3JjL3RocmVhZC9wdGhyZWFk X2NvbmRfdGltZWR3YWl0LmMKLUBAIC0xNTUsNyArMTU1LDcgQEAgcmVsb2NrOgotIAkJaW50IHZh bCA9IG0tPl9tX2xvY2s7Ci0gCQlpZiAodmFsPjApIGFfY2FzKCZtLT5fbV9sb2NrLCB2YWwsIHZh bHwweDgwMDAwMDAwKTsKLSAJCXVubG9ja19yZXF1ZXVlKCZub2RlLnByZXYtPmJhcnJpZXIsICZt LT5fbV9sb2NrLCBtLT5fbV90eXBlICYgKDh8MTI4KSk7Ci0tCX0gZWxzZSBpZiAoISEobS0+X21f dHlwZSAmIDgpKSB7Ci0rCX0gZWxzZSBpZiAoIShtLT5fbV90eXBlICYgOCkpIHsKLSAJCWFfZGVj KCZtLT5fbV93YWl0ZXJzKTsJCQotIAl9Ci0gCi0tLSAKLWNnaXQgdjEuMi4xCi0KZGlmZiAtLWdp dCBhL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2ZpeC1zdHJ2ZXJzY21wLWNvbXBhcmlzb24tb2YtZGln aXQtc2VxdWVuY2Utd2l0aC1ub24ucGF0Y2gucGF0Y2ggYi9zcmNwa2dzL211c2wvcGF0Y2hlcy9m aXgtc3RydmVyc2NtcC1jb21wYXJpc29uLW9mLWRpZ2l0LXNlcXVlbmNlLXdpdGgtbm9uLnBhdGNo LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMGYwYjhiZmZmZmM5YS4uMDAw MDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvZml4LXN0cnZlcnNjbXAtY29t cGFyaXNvbi1vZi1kaWdpdC1zZXF1ZW5jZS13aXRoLW5vbi5wYXRjaC5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDM4ICswLDAgQEAKLUZyb20gYjUwZWI4YzM2YzIwZjk2N2JkMGVkNzBjMGIwZGIz OGE0NTA4ODZiYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJpY2ggRmVsa2VyIDxk YWxpYXNAYWVyaWZhbC5jeD4KLURhdGU6IE1vbiwgNyBOb3YgMjAyMiAyMjoxNzo1NSAtMDUwMAot U3ViamVjdDogW1BBVENIXSBmaXggc3RydmVyc2NtcCBjb21wYXJpc29uIG9mIGRpZ2l0IHNlcXVl bmNlIHdpdGggbm9uLWRpZ2l0cwotCi10aGUgcnVsZSB0aGF0IGxvbmdlc3QgZGlnaXQgc2VxdWVu Y2Ugbm90IGJlZ2lubmluZyB3aXRoIGEgemVybyBpcwotZ3JlYXRlciBvbmx5IGFwcGxpZXMgd2hl biBib3RoIHNlcXVlbmNlcyBiZWluZyBjb21wYXJlZCBhcmUKLW5vbi1kZWdlbmVyYXRlLiB0aGlz IGlzIHNwZWxsZWQgb3V0IGV4cGxpY2l0bHkgaW4gdGhlIG1hbiBwYWdlLCB3aGljaAotbWF5IGJl IGRlZW1lZCBhdXRob3JpdGF0aXZlIGZvciB0aGlzIG5vbnN0YW5kYXJkIGZ1bmN0aW9uOiAiSWYg b25lIG9yCi1ib3RoIG9mIHRoZXNlIGlzIGVtcHR5LCB0aGVuIHJldHVybiB3aGF0IHN0cmNtcCgz KSB3b3VsZCBoYXZlCi1yZXR1cm5lZC4uLiIKLQotd2Ugd2VyZSB3cm9uZ2x5IHRyZWF0aW5nIGFu eSBzZXF1ZW5jZSBvZiBkaWdpdHMgbm90IGJlZ2lubmluZyB3aXRoIGEKLXplcm8gYXMgZ3JlYXRl ciB0aGFuIGEgbm9uLWRpZ2l0IGluIHRoZSBvdGhlciBzdHJpbmcuCi0tLS0KLSBzcmMvc3RyaW5n L3N0cnZlcnNjbXAuYyB8IDYgKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygr KSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9zdHJpbmcvc3RydmVyc2NtcC5j IGIvc3JjL3N0cmluZy9zdHJ2ZXJzY21wLmMKLWluZGV4IDRkYWYyNzZkLi4xNmMxZGEyMiAxMDA2 NDQKLS0tLSBhL3NyYy9zdHJpbmcvc3RydmVyc2NtcC5jCi0rKysgYi9zcmMvc3RyaW5nL3N0cnZl cnNjbXAuYwotQEAgLTE4LDkgKzE4LDkgQEAgaW50IHN0cnZlcnNjbXAoY29uc3QgY2hhciAqbDAs IGNvbnN0IGNoYXIgKnIwKQotIAkJZWxzZSBpZiAoYyE9JzAnKSB6PTA7Ci0gCX0KLSAKLS0JaWYg KGxbZHBdIT0nMCcgJiYgcltkcF0hPScwJykgewotLQkJLyogSWYgd2UncmUgbm90IGxvb2tpbmcg YXQgYSBkaWdpdCBzZXF1ZW5jZSB0aGF0IGJlZ2FuCi0tCQkgKiB3aXRoIGEgemVybywgbG9uZ2Vz dCBkaWdpdCBzdHJpbmcgaXMgZ3JlYXRlci4gKi8KLSsJaWYgKGxbZHBdLScxJzw5VSAmJiByW2Rw XS0nMSc8OVUpIHsKLSsJCS8qIElmIHdlJ3JlIGxvb2tpbmcgYXQgbm9uLWRlZ2VuZXJhdGUgZGln aXQgc2VxdWVuY2VzIHN0YXJ0aW5nCi0rCQkgKiB3aXRoIG5vbnplcm8gZGlnaXRzLCBsb25nZXN0 IGRpZ2l0IHN0cmluZyBpcyBncmVhdGVyLiAqLwotIAkJZm9yIChqPWk7IGlzZGlnaXQobFtqXSk7 IGorKykKLSAJCQlpZiAoIWlzZGlnaXQocltqXSkpIHJldHVybiAxOwotIAkJaWYgKGlzZGlnaXQo cltqXSkpIHJldHVybiAtMTsKLS0tIAotMi40MS4wCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXVz bC9wYXRjaGVzL2dldHRpZC5wYXRjaCBiL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2dldHRpZC5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmI4YmY1OTA1Yjg4MDEuLjAwMDAwMDAw MDAwMDAwCi0tLSBhL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2dldHRpZC5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDQ5ICswLDAgQEAKLUZyb20gZDQ5Y2YwNzU0MWJiNTRhNWFjN2FlYzFmZWVjODUx NGRiMzNkYjhlYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJpY2ggRmVsa2VyIDxk YWxpYXNAYWVyaWZhbC5jeD4KLURhdGU6IE1vbiwgMTcgQXVnIDIwMjAgMjA6MTI6NTMgLTA0MDAK LVN1YmplY3Q6IFtQQVRDSF0gYWRkIGdldHRpZCBmdW5jdGlvbgotCi10aGlzIGlzIGEgcHJlcmVx dWlzaXRlIGZvciBhZGRpdGlvbiBvZiBvdGhlciBpbnRlcmZhY2VzIHRoYXQgdXNlCi1rZXJuZWwg dGlkcywgaW5jbHVkaW5nIGZ1dGV4IGFuZCBTSUdFVl9USFJFQURfSUQuCi0KLXRoZXJlIGlzIHNv bWUgYW1iaWd1aXR5IGFzIHRvIHdoZXRoZXIgdGhlIHNlbWFudGljIHJldHVybiB0eXBlIHNob3Vs ZAotYmUgaW50IG9yIHBpZF90LiBlaXRoZXIgd2F5LCBmdXRleCBBUEkgaW1wb3NlcyBhIGNvbnRy YWN0IHRoYXQgdGhlCi12YWx1ZXMgZml0IGluIGludCAoZXhjbHVkaW5nIHNvbWUgdXBwZXIgcmVz ZXJ2ZWQgYml0cykuIGdsaWJjIHVzZWQKLXBpZF90LCBzbyBpbiB0aGUgaW50ZXJlc3Qgb2Ygbm90 IGhhdmluZyBncmF0dWl0b3VzIG1pc21hdGNoICh0aGUKLXVuZGVybHlpbmcgdHlwZXMgYXJlIHRo ZSBzYW1lIGFueXdheSksIHBpZF90IGlzIHVzZWQgaGVyZSBhcyB3ZWxsLgotCi13aGlsZSBjb25j ZXB0dWFsbHkgdGhpcyBpcyBhIHN5c2NhbGwsIHRoZSBjb3B5IHN0b3JlZCBpbiB0aGUgdGhyZWFk Ci1zdHJ1Y3R1cmUgaXMgYWx3YXlzIHZhbGlkIGluIGFsbCBjb250ZXh0cyB3aGVyZSBpdCdzIHZh bGlkIHRvIGNhbGwKLWxpYmMgZnVuY3Rpb25zLCBzbyBpdCdzIHVzZWQgdG8gYXZvaWQgdGhlIHN5 c2NhbGwuCi0tLS0KLSBpbmNsdWRlL3VuaXN0ZC5oICAgfCAxICsKLSBzcmMvbGludXgvZ2V0dGlk LmMgfCA4ICsrKysrKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKLSBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjL2xpbnV4L2dldHRpZC5jCi0KLWRpZmYgLS1naXQgYS9pbmNsdWRl L3VuaXN0ZC5oIGIvaW5jbHVkZS91bmlzdGQuaAotaW5kZXggN2JjYmZmOTQzLi4wNzU4NGEyM2Ug MTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL3VuaXN0ZC5oCi0rKysgYi9pbmNsdWRlL3VuaXN0ZC5oCi1A QCAtMTkwLDYgKzE5MCw3IEBAIGludCBzeW5jZnMoaW50KTsKLSBpbnQgZXVpZGFjY2Vzcyhjb25z dCBjaGFyICosIGludCk7Ci0gaW50IGVhY2Nlc3MoY29uc3QgY2hhciAqLCBpbnQpOwotIHNzaXpl X3QgY29weV9maWxlX3JhbmdlKGludCwgb2ZmX3QgKiwgaW50LCBvZmZfdCAqLCBzaXplX3QsIHVu c2lnbmVkKTsKLStwaWRfdCBnZXR0aWQodm9pZCk7Ci0gI2VuZGlmCi0gCi0gI2lmIGRlZmluZWQo X0xBUkdFRklMRTY0X1NPVVJDRSkgfHwgZGVmaW5lZChfR05VX1NPVVJDRSkKLWRpZmYgLS1naXQg YS9zcmMvbGludXgvZ2V0dGlkLmMgYi9zcmMvbGludXgvZ2V0dGlkLmMKLW5ldyBmaWxlIG1vZGUg MTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAuLjcwNzY3MTM3ZQotLS0tIC9kZXYvbnVsbAotKysrIGIv c3JjL2xpbnV4L2dldHRpZC5jCi1AQCAtMCwwICsxLDggQEAKLSsjZGVmaW5lIF9HTlVfU09VUkNF Ci0rI2luY2x1ZGUgPHVuaXN0ZC5oPgotKyNpbmNsdWRlICJwdGhyZWFkX2ltcGwuaCIKLSsKLStw aWRfdCBnZXR0aWQodm9pZCkKLSt7Ci0rCXJldHVybiBfX3B0aHJlYWRfc2VsZigpLT50aWQ7Ci0r fQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvaW1wbGVtZW50X3JlYWxwYXRoX2Rp cmVjdGx5X2luc3RlYWRfb2ZfdXNpbmdfcHJvY2ZzX3JlYWRsaW5rLnBhdGNoIGIvc3JjcGtncy9t dXNsL3BhdGNoZXMvaW1wbGVtZW50X3JlYWxwYXRoX2RpcmVjdGx5X2luc3RlYWRfb2ZfdXNpbmdf cHJvY2ZzX3JlYWRsaW5rLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1Njlh MWY1MmM3Y2Q5OC4uMDAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvaW1w bGVtZW50X3JlYWxwYXRoX2RpcmVjdGx5X2luc3RlYWRfb2ZfdXNpbmdfcHJvY2ZzX3JlYWRsaW5r LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjE5ICswLDAgQEAKLUZyb20gMjlmZjc1OTlhNDQ4 MjMyZjI1Mjc4NDFjMjM2MjY0M2QyNDZjZWUzNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZy b206IFJpY2ggRmVsa2VyIDxkYWxpYXNAYWVyaWZhbC5jeD4KLURhdGU6IE1vbiwgMzAgTm92IDIw MjAgMTI6MTQ6NDcgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSF0gaW1wbGVtZW50IHJlYWxwYXRoIGRp cmVjdGx5IGluc3RlYWQgb2YgdXNpbmcgcHJvY2ZzIHJlYWRsaW5rCi0KLWluYWJpbGl0eSB0byB1 c2UgcmVhbHBhdGggaW4gY2hyb290L2NvbnRhaW5lciB3aXRob3V0IHByb2NmcyBhY2Nlc3MKLWFu ZCBhdCBlYXJseSBib290IHByaW9yIHRvIG1vdW50IG9mIC9wcm9jIGhhcyBiZWVuIGFuIG9uZ29p bmcgaXNzdWUsCi1hbmQgaXQgdHVybnMgb3V0IHJlYWxwYXRoIHdhcyBvbmUgb2YgdGhlIGxhc3Qg cmVtYWluaW5nIGludGVyZmFjZXMKLXRoYXQgbmVlZGVkIHByb2NmcyBmb3IgaXRzIGNvcmUgZnVu Y3Rpb25hbGl0eS4gZHVyaW5nIGludmVzdGlnYXRpb24KLXdoaWxlIHJlaW1wbGVtZW50aW5nLCBp dCB3YXMgZGV0ZXJtaW5lZCB0aGF0IHRoZXJlIHdlcmUgYWxzbyBzZXJpb3VzCi1wcm9ibGVtcyB3 aXRoIHRoZSBwcm9jZnMtYmFzZWQgaW1wbGVtZW50YXRpb24uIG1vc3Qgc2VyaW91c2x5IGl0IHdh cwotdW5zYWZlIG9uIHByZS1PX1BBVEgga2VybmVscywgYW5kIHVubGlrZSBvdGhlciBwbGFjZXMg d2hlcmUgT19QQVRIIHdhcwotdXNlZCwgdGhlIHVuc2FmZXR5IHdhcyBoYXJkIG9yIGltcG9zc2li bGUgdG8gZml4IGJlY2F1c2UgT19OT0ZPTExPVwotY2FuJ3QgYmUgdXNlZCAoc2luY2UgdGhlIHdo b2xlIHB1cnBvc2Ugd2FzIHRvIGZvbGxvdyBzeW1saW5rcykuCi0KLXRoZSBuZXcgaW1wbGVtZW50 YXRpb24gaXMgYSBkaXJlY3Qgb25lLCBwZXJmb3JtaW5nIHJlYWRsaW5rIG9uIGVhY2gKLXBhdGgg Y29tcG9uZW50IHRvIHJlc29sdmUgaXQuIGFuIGV4cGxpY2l0IHN0YWNrLCBhcyBvcHBvc2VkIHRv Ci1yZWN1cnNpb24sIGlzIHVzZWQgdG8gcmVwcmVzZW50IHRoZSByZW1haW5pbmcgY29tcG9uZW50 cyB0byBiZQotcHJvY2Vzc2VkLiB0aGUgc3RhY2sgc3RhcnRzIG91dCBob2xkaW5nIGp1c3QgdGhl IGlucHV0IHN0cmluZywgYW5kCi1yZWFkaW5nIGEgbGluayBwdXNoZXMgdGhlIGxpbmsgY29udGVu dHMgb250byB0aGUgc3RhY2suCi0KLXVubGlrZSBtYW55IG90aGVyIGltcGxlbWVudGF0aW9ucywg dGhpcyBvbmUgZG9lcyBub3QgY2FsbCBnZXRjd2QKLWluaXRpYWxseSBmb3IgcmVsYXRpdmUgcGF0 aG5hbWVzLiBpbnN0ZWFkIGl0IGFjY3VtdWxhdGVzIGluaXRpYWwgLi4KLWNvbXBvbmVudHMgdG8g YmUgYXBwbGllZCB0byB0aGUgd29ya2luZyBkaXJlY3RvcnkgaWYgdGhlIHJlc3VsdCBpcwotc3Rp bGwgYSByZWxhdGl2ZSBwYXRoLiB0aGlzIGF2b2lkcyBjYWxsaW5nIGdldGN3ZCAod2hpY2ggbWF5 IGZhaWwpIGF0Ci1hbGwgd2hlbiBzeW1saW5rIHRyYXZlcnNhbCB3aWxsIGV2ZW50dWFsbHkgeWll bGQgYW4gYWJzb2x1dGUgcGF0aC4gaXQKLWFsc28gZG9lc24ndCB1c2UgYW55IGZvcm0gb2Ygc3Rh dCBvcGVyYXRpb247IGluc3RlYWQgaXQgYXJyYW5nZXMgZm9yCi1yZWFkbGluayB0byB0ZWxsIGl0 IHdoZW4gYSBub24tZGlyZWN0b3J5IGlzIHVzZWQgaW4gYSBjb250ZXh0IHdoZXJlIGEKLWRpcmVj dG9yeSBpcyBuZWVkZWQuIHRoaXMgbWluaW1pemVzIHRoZSBudW1iZXIgb2Ygc3lzY2FsbHMgbmVl ZGVkLAotYXZvaWRzIGFjY2Vzc2luZyBpbm9kZXMgd2hlbiB0aGUgZGlyZWN0b3J5IHRhYmxlIHN1 ZmZpY2VzLCBhbmQgcmVkdWNlcwotdGhlIGFtb3VudCBvZiBjb2RlIHB1bGxlZCBpbiBmb3Igc3Rh dGljIGxpbmtpbmcuCi0tLS0KLSBzcmMvbWlzYy9yZWFscGF0aC5jIHwgMTU5ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEzNiBp bnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9taXNjL3Jl YWxwYXRoLmMgYi9zcmMvbWlzYy9yZWFscGF0aC5jCi1pbmRleCBkMjcwOGU1OWQuLmRiOGI3NGRj OCAxMDA2NDQKLS0tLSBhL3NyYy9taXNjL3JlYWxwYXRoLmMKLSsrKyBiL3NyYy9taXNjL3JlYWxw YXRoLmMKLUBAIC0xLDQzICsxLDE1NiBAQAotICNpbmNsdWRlIDxzdGRsaWIuaD4KLSAjaW5jbHVk ZSA8bGltaXRzLmg+Ci0tI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0tI2luY2x1ZGUgPGZjbnRsLmg+ Ci0gI2luY2x1ZGUgPGVycm5vLmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotICNpbmNsdWRlIDxz dHJpbmcuaD4KLS0jaW5jbHVkZSAic3lzY2FsbC5oIgotKwotK3N0YXRpYyBzaXplX3Qgc2xhc2hf bGVuKGNvbnN0IGNoYXIgKnMpCi0rewotKwljb25zdCBjaGFyICpzMCA9IHM7Ci0rCXdoaWxlICgq cyA9PSAnLycpIHMrKzsKLSsJcmV0dXJuIHMtczA7Ci0rfQotIAotIGNoYXIgKnJlYWxwYXRoKGNv bnN0IGNoYXIgKnJlc3RyaWN0IGZpbGVuYW1lLCBjaGFyICpyZXN0cmljdCByZXNvbHZlZCkKLSB7 Ci0tCWludCBmZDsKLS0Jc3NpemVfdCByOwotLQlzdHJ1Y3Qgc3RhdCBzdDEsIHN0MjsKLS0JY2hh ciBidWZbMTUrMypzaXplb2YoaW50KV07Ci0tCWNoYXIgdG1wW1BBVEhfTUFYXTsKLSsJY2hhciBz dGFja1tQQVRIX01BWCsxXTsKLSsJY2hhciBvdXRwdXRbUEFUSF9NQVhdOwotKwlzaXplX3QgcCwg cSwgbCwgbDAsIGNudD0wLCBudXA9MDsKLSsJaW50IGNoZWNrX2Rpcj0wOwotIAotIAlpZiAoIWZp bGVuYW1lKSB7Ci0gCQllcnJubyA9IEVJTlZBTDsKLSAJCXJldHVybiAwOwotIAl9Ci0rCWwgPSBz dHJubGVuKGZpbGVuYW1lLCBzaXplb2Ygc3RhY2spOwotKwlpZiAoIWwpIHsKLSsJCWVycm5vID0g RU5PRU5UOwotKwkJcmV0dXJuIDA7Ci0rCX0KLSsJaWYgKGwgPj0gUEFUSF9NQVgpIGdvdG8gdG9v bG9uZzsKLSsJcCA9IHNpemVvZiBzdGFjayAtIGwgLSAxOwotKwlxID0gMDsKLSsJbWVtY3B5KHN0 YWNrK3AsIGZpbGVuYW1lLCBsKzEpOwotKwotKwkvKiBNYWluIGxvb3AuIEVhY2ggaXRlcmF0aW9u IHBvcHMgdGhlIG5leHQgcGFydCBmcm9tIHN0YWNrIG9mCi0rCSAqIHJlbWFpbmluZyBwYXRoIGNv bXBvbmVudHMgYW5kIGNvbnN1bWVzIGFueSBzbGFzaGVzIHRoYXQgZm9sbG93LgotKwkgKiBJZiBu b3QgYSBsaW5rLCBpdCdzIG1vdmVkIHRvIG91dHB1dDsgaWYgYSBsaW5rLCBjb250ZW50cyBhcmUK LSsJICogcHVzaGVkIHRvIHRoZSBzdGFjay4gKi8KLStyZXN0YXJ0OgotKwlmb3IgKDsgOyBwKz1z bGFzaF9sZW4oc3RhY2srcCkpIHsKLSsJCS8qIElmIHN0YWNrIHN0YXJ0cyB3aXRoIC8sIHRoZSB3 aG9sZSBjb21wb25lbnQgaXMgLyBvciAvLwotKwkJICogYW5kIHRoZSBvdXRwdXQgc3RhdGUgbXVz dCBiZSByZXNldC4gKi8KLSsJCWlmIChzdGFja1twXSA9PSAnLycpIHsKLSsJCQljaGVja19kaXI9 MDsKLSsJCQludXA9MDsKLSsJCQlxPTA7Ci0rCQkJb3V0cHV0W3ErK10gPSAnLyc7Ci0rCQkJcCsr OwotKwkJCS8qIEluaXRpYWwgLy8gaXMgc3BlY2lhbC4gKi8KLSsJCQlpZiAoc3RhY2tbcF0gPT0g Jy8nICYmIHN0YWNrW3ArMV0gIT0gJy8nKQotKwkJCQlvdXRwdXRbcSsrXSA9ICcvJzsKLSsJCQlj b250aW51ZTsKLSsJCX0KLSsKLSsJCWNoYXIgKnogPSBfX3N0cmNocm51bChzdGFjaytwLCAnLycp OwotKwkJbDAgPSBsID0gei0oc3RhY2srcCk7Ci0gCi0tCWZkID0gc3lzX29wZW4oZmlsZW5hbWUs IE9fUEFUSHxPX05PTkJMT0NLfE9fQ0xPRVhFQyk7Ci0tCWlmIChmZCA8IDApIHJldHVybiAwOwot LQlfX3Byb2NmZG5hbWUoYnVmLCBmZCk7Ci0rCQlpZiAoIWwgJiYgIWNoZWNrX2RpcikgYnJlYWs7 Ci0gCi0tCXIgPSByZWFkbGluayhidWYsIHRtcCwgc2l6ZW9mIHRtcCAtIDEpOwotLQlpZiAociA8 IDApIGdvdG8gZXJyOwotLQl0bXBbcl0gPSAwOwotKwkJLyogU2tpcCBhbnkgLiBjb21wb25lbnQg YnV0IHByZXNlcnZlIGNoZWNrX2RpciBzdGF0dXMuICovCi0rCQlpZiAobD09MSAmJiBzdGFja1tw XT09Jy4nKSB7Ci0rCQkJcCArPSBsOwotKwkJCWNvbnRpbnVlOwotKwkJfQotIAotLQlmc3RhdChm ZCwgJnN0MSk7Ci0tCXIgPSBzdGF0KHRtcCwgJnN0Mik7Ci0tCWlmIChyPDAgfHwgc3QxLnN0X2Rl diAhPSBzdDIuc3RfZGV2IHx8IHN0MS5zdF9pbm8gIT0gc3QyLnN0X2lubykgewotLQkJaWYgKCFy KSBlcnJubyA9IEVMT09QOwotLQkJZ290byBlcnI7Ci0rCQkvKiBDb3B5IG5leHQgY29tcG9uZW50 IG9udG8gb3V0cHV0IGF0IGxlYXN0IHRlbXBvcmFyaWx5LCB0bwotKwkJICogY2FsbCByZWFkbGlu aywgYnV0IHdhaXQgdG8gYWR2YW5jZSBvdXRwdXQgcG9zaXRpb24gdW50aWwKLSsJCSAqIGRldGVy bWluaW5nIGl0J3Mgbm90IGEgbGluay4gKi8KLSsJCWlmIChxICYmIG91dHB1dFtxLTFdICE9ICcv JykgewotKwkJCWlmICghcCkgZ290byB0b29sb25nOwotKwkJCXN0YWNrWy0tcF0gPSAnLyc7Ci0r CQkJbCsrOwotKwkJfQotKwkJaWYgKHErbCA+PSBQQVRIX01BWCkgZ290byB0b29sb25nOwotKwkJ bWVtY3B5KG91dHB1dCtxLCBzdGFjaytwLCBsKTsKLSsJCW91dHB1dFtxK2xdID0gMDsKLSsJCXAg Kz0gbDsKLSsKLSsJCWludCB1cCA9IDA7Ci0rCQlpZiAobDA9PTIgJiYgc3RhY2tbcC0yXT09Jy4n ICYmIHN0YWNrW3AtMV09PScuJykgewotKwkJCXVwID0gMTsKLSsJCQkvKiBBbnkgbm9uLS4uIHBh dGggY29tcG9uZW50cyB3ZSBjb3VsZCBjYW5jZWwgc3RhcnQKLSsJCQkgKiBhZnRlciBudXAgcmVw ZXRpdGlvbnMgb2YgdGhlIDMtYnl0ZSBzdHJpbmcgIi4uLyI7Ci0rCQkJICogaWYgdGhlcmUgYXJl IG5vbmUsIGFjY3VtdWxhdGUgLi4gY29tcG9uZW50cyB0bwotKwkJCSAqIGxhdGVyIGFwcGx5IHRv IGN3ZCwgaWYgbmVlZGVkLiAqLwotKwkJCWlmIChxIDw9IDMqbnVwKSB7Ci0rCQkJCW51cCsrOwot KwkJCQlxICs9IGw7Ci0rCQkJCWNvbnRpbnVlOwotKwkJCX0KLSsJCQkvKiBXaGVuIHByZXZpb3Vz IGNvbXBvbmVudHMgYXJlIGFscmVhZHkga25vd24gdG8gYmUKLSsJCQkgKiBkaXJlY3Rvcmllcywg cHJvY2Vzc2luZyAuLiBjYW4gc2tpcCByZWFkbGluay4gKi8KLSsJCQlpZiAoIWNoZWNrX2Rpcikg Z290byBza2lwX3JlYWRsaW5rOwotKwkJfQotKwkJc3NpemVfdCBrID0gcmVhZGxpbmsob3V0cHV0 LCBzdGFjaywgcCk7Ci0rCQlpZiAoaz09cCkgZ290byB0b29sb25nOwotKwkJaWYgKCFrKSB7Ci0r CQkJZXJybm8gPSBFTk9FTlQ7Ci0rCQkJcmV0dXJuIDA7Ci0rCQl9Ci0rCQlpZiAoazwwKSB7Ci0r CQkJaWYgKGVycm5vICE9IEVJTlZBTCkgcmV0dXJuIDA7Ci0rc2tpcF9yZWFkbGluazoKLSsJCQlj aGVja19kaXIgPSAwOwotKwkJCWlmICh1cCkgewotKwkJCQl3aGlsZShxICYmIG91dHB1dFtxLTFd IT0nLycpIHEtLTsKLSsJCQkJaWYgKHE+MSAmJiAocT4yIHx8IG91dHB1dFswXSE9Jy8nKSkgcS0t OwotKwkJCQljb250aW51ZTsKLSsJCQl9Ci0rCQkJaWYgKGwwKSBxICs9IGw7Ci0rCQkJY2hlY2tf ZGlyID0gc3RhY2tbcF07Ci0rCQkJY29udGludWU7Ci0rCQl9Ci0rCQlpZiAoKytjbnQgPT0gU1lN TE9PUF9NQVgpIHsKLSsJCQllcnJubyA9IEVMT09QOwotKwkJCXJldHVybiAwOwotKwkJfQotKwot KwkJLyogSWYgbGluayBjb250ZW50cyBlbmQgaW4gLywgc3RyaXAgYW55IHNsYXNoZXMgYWxyZWFk eSBvbgotKwkJICogc3RhY2sgdG8gYXZvaWQgLy0+Ly8gb3IgLy8tPi8vLyBvciBzcHVyaW91cyB0 b29sb25nLiAqLwotKwkJaWYgKHN0YWNrW2stMV09PScvJykgd2hpbGUgKHN0YWNrW3BdPT0nLycp IHArKzsKLSsJCXAgLT0gazsKLSsJCW1lbW1vdmUoc3RhY2srcCwgc3RhY2ssIGspOwotKwotKwkJ LyogU2tpcCB0aGUgc3RhY2sgYWR2YW5jZW1lbnQgaW4gY2FzZSB3ZSBoYXZlIGEgbmV3Ci0rCQkg KiBhYnNvbHV0ZSBiYXNlIHBhdGguICovCi0rCQlnb3RvIHJlc3RhcnQ7Ci0gCX0KLSAKLS0JX19z eXNjYWxsKFNZU19jbG9zZSwgZmQpOwotLQlyZXR1cm4gcmVzb2x2ZWQgPyBzdHJjcHkocmVzb2x2 ZWQsIHRtcCkgOiBzdHJkdXAodG1wKTsKLS1lcnI6Ci0tCV9fc3lzY2FsbChTWVNfY2xvc2UsIGZk KTsKLSsgCW91dHB1dFtxXSA9IDA7Ci0rCi0rCWlmIChvdXRwdXRbMF0gIT0gJy8nKSB7Ci0rCQlp ZiAoIWdldGN3ZChzdGFjaywgc2l6ZW9mIHN0YWNrKSkgcmV0dXJuIDA7Ci0rCQlsID0gc3RybGVu KHN0YWNrKTsKLSsJCS8qIENhbmNlbCBhbnkgaW5pdGlhbCAuLiBjb21wb25lbnRzLiAqLwotKwkJ cCA9IDA7Ci0rCQl3aGlsZSAobnVwLS0pIHsKLSsJCQl3aGlsZShsPjEgJiYgc3RhY2tbbC0xXSE9 Jy8nKSBsLS07Ci0rCQkJaWYgKGw+MSkgbC0tOwotKwkJCXAgKz0gMjsKLSsJCQlpZiAocDxxKSBw Kys7Ci0rCQl9Ci0rCQlpZiAocS1wICYmIHN0YWNrW2wtMV0hPScvJykgc3RhY2tbbCsrXSA9ICcv JzsKLSsJCWlmIChsICsgKHEtcCkgKyAxID49IFBBVEhfTUFYKSBnb3RvIHRvb2xvbmc7Ci0rCQlt ZW1tb3ZlKG91dHB1dCArIGwsIG91dHB1dCArIHAsIHEgLSBwICsgMSk7Ci0rCQltZW1jcHkob3V0 cHV0LCBzdGFjaywgbCk7Ci0rCQlxID0gbCArIHEtcDsKLSsJfQotKwotKwlpZiAocmVzb2x2ZWQp IHJldHVybiBtZW1jcHkocmVzb2x2ZWQsIG91dHB1dCwgcSsxKTsKLSsJZWxzZSByZXR1cm4gc3Ry ZHVwKG91dHB1dCk7Ci0rCi0rdG9vbG9uZzoKLSsJZXJybm8gPSBFTkFNRVRPT0xPTkc7Ci0gCXJl dHVybiAwOwotIH0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2lzYXNjaWkucGF0 Y2ggYi9zcmNwa2dzL211c2wvcGF0Y2hlcy9pc2FzY2lpLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCA2NzE5ZDJlZTE4OGZhNC4uMDAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtn cy9tdXNsL3BhdGNoZXMvaXNhc2NpaS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAg QEAKLUZyb20gZTQ4ZTk5YzExMjI0NmZiNTgwNTk2NDA0MDc0NDQ1Y2IyNWQ3ODU4ZCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT89QzM9ODlyaWNvPTIwUm9saW0/PSA8 ZXJpY29uckBkaXNyb290Lm9yZz4KLURhdGU6IE1vbiwgNCBKYW4gMjAyMSAyMjo0ODozNCAtMDMw MAotU3ViamVjdDogW1BBVENIXSBzdXBwcmVzcyBpc2FzY2lpKCkgbWFjcm8gZm9yIEMrKwotCi1h bmFsb2dvdXMgdG8gY29tbWl0IGE2MDQ1N2M4NGE0YjU5YWI1NjRkN2Y0YWJiNjYwYTcwMjgzYmE5 OGQuCi0KLWRpZmYgLS1naXQgaW5jbHVkZS9jdHlwZS5oIGluY2x1ZGUvY3R5cGUuaAotaW5kZXgg NzkzNjUzNmYuLjMyYmNlZjRkIDEwMDY0NAotLS0tIGEvaW5jbHVkZS9jdHlwZS5oCi0rKysgYi9p bmNsdWRlL2N0eXBlLmgKLUBAIC02NCw3ICs2NCw5IEBAIGludCAgIGlzYXNjaWkoaW50KTsKLSBp bnQgICB0b2FzY2lpKGludCk7Ci0gI2RlZmluZSBfdG9sb3dlcihhKSAoKGEpfDB4MjApCi0gI2Rl ZmluZSBfdG91cHBlcihhKSAoKGEpJjB4NWYpCi0rI2lmbmRlZiBfX2NwbHVzcGx1cwotICNkZWZp bmUgaXNhc2NpaShhKSAoMCA/IGlzYXNjaWkoYSkgOiAodW5zaWduZWQpKGEpIDwgMTI4KQotKyNl bmRpZgotIAotICNlbmRpZgotIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvbW9f bG9va3VwLnBhdGNoIGIvc3JjcGtncy9tdXNsL3BhdGNoZXMvbW9fbG9va3VwLnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZTg2ZTMzYzljNzAwZS4uMDAwMDAwMDAwMDAwMDAK LS0tIGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvbW9fbG9va3VwLnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsMTkgKzAsMCBAQAotRG8gbm90IGNyYXNoIHdpdGggYSBOVUxMIHBvaW50ZXIgZGVyZWZl cmVuY2Ugd2hlbiBkY25nZXR0ZXh0KCkKLWlzIGNhbGxlZCB3aXRoIE5VTEwgbXNnaWRbMTJdIGFy Z3VtZW50cy4KLQotRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBh Y2thZ2VzL2lzc3Vlcy8xMjA0MgotYW5kIHByb2JhYmx5IG90aGVycy4KLQotCS0teHRyYWVtZQot Ci0tLS0gYS9zcmMvbG9jYWxlL19fbW9fbG9va3VwLmMub3JpZwkyMDE5LTA2LTI2IDA5OjU1OjM2 Ljg0MzAxMjY3NCArMDIwMAotKysrIGIvc3JjL2xvY2FsZS9fX21vX2xvb2t1cC5jCTIwMTktMDYt MjYgMDk6NTY6MTEuNTI5NDQzOTU1ICswMjAwCi1AQCAtMTMsNyArMTMsNyBAQCBjb25zdCBjaGFy ICpfX21vX2xvb2t1cChjb25zdCB2b2lkICpwLCBzCi0gCXVpbnQzMl90IGIgPSAwLCBuID0gc3dh cGMobW9bMl0sIHN3KTsKLSAJdWludDMyX3QgbyA9IHN3YXBjKG1vWzNdLCBzdyk7Ci0gCXVpbnQz Ml90IHQgPSBzd2FwYyhtb1s0XSwgc3cpOwotLQlpZiAobj49c2l6ZS80IHx8IG8+PXNpemUtNCpu IHx8IHQ+PXNpemUtNCpuIHx8ICgob3x0KSU0KSkKLSsJaWYgKCFzIHx8IG4+PXNpemUvNCB8fCBv Pj1zaXplLTQqbiB8fCB0Pj1zaXplLTQqbiB8fCAoKG98dCklNCkpCi0gCQlyZXR1cm4gMDsKLSAJ by89NDsKLSAJdC89NDsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL3BwYy1wdF9y ZWdzLnBhdGNoIGIvc3JjcGtncy9tdXNsL3BhdGNoZXMvcHBjLXB0X3JlZ3MucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1ODE1MzIxYmYwZjFmLi4wMDAwMDAwMDAwMDAwMAot LS0gYS9zcmNwa2dzL211c2wvcGF0Y2hlcy9wcGMtcHRfcmVncy5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDM4ICswLDAgQEAKLWNvbW1pdCBjMjUxOGE4ZWZiNjUwN2YxYjQxYzNiMTJlMDNiMDZm OGYyMzE3YTFmCi1BdXRob3I6IFJpY2ggRmVsa2VyIDxkYWxpYXNAYWVyaWZhbC5jeD4KLURhdGU6 ICAgU2F0IE9jdCAxOSAxNTo1Mzo0MyAyMDE5IC0wNDAwCi0KLSAgICB1c2Ugc3RydWN0IHB0X3Jl Z3MgKiByYXRoZXIgdGhhbiB2b2lkICogZm9yIHBvd2VycGNbNjRdIHNpZ2NvbnRleHQgcmVncwot ICAgIAotICAgIHRoaXMgaXMgdG8gbWF0Y2ggdGhlIGtlcm5lbCBhbmQgZ2xpYmMgaW50ZXJmYWNl cy4gaGVyZSwgc3RydWN0IHB0X3JlZ3MKLSAgICBpcyBhbiBpbmNvbXBsZXRlIHR5cGUsIGJ1dCB0 aGF0J3MgaGFybWxlc3MsIGFuZCBpZiBpdCdzIGNvbXBsZXRlZCBieQotICAgIGluY2x1c2lvbiBv ZiBhbm90aGVyIGhlYWRlciB0aGVuIG1lbWJlcnMgb2YgdGhlIHN0cnVjdCBwb2ludGVkIHRvIGJ5 Ci0gICAgdGhlIHJlZ3MgbWVtYmVyIGNhbiBiZSBhY2Nlc3NlZCBkaXJlY3RseSB3aXRob3V0IGdv aW5nIHRocm91Z2ggYSBjYXN0Ci0gICAgb3IgaW50ZXJtZWRpYXRlIHBvaW50ZXIgb2JqZWN0Lgot Ci1kaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2JpdHMvc2lnbmFsLmggYi9hcmNoL3Bvd2VycGMv Yml0cy9zaWduYWwuaAotaW5kZXggMDZlZmIxMWMuLmMxYmYzY2FmIDEwMDY0NAotLS0tIGEvYXJj aC9wb3dlcnBjL2JpdHMvc2lnbmFsLmgKLSsrKyBiL2FyY2gvcG93ZXJwYy9iaXRzL3NpZ25hbC5o Ci1AQCAtMjgsNyArMjgsNyBAQCBzdHJ1Y3Qgc2lnY29udGV4dCB7Ci0gCWludCBzaWduYWw7Ci0g CXVuc2lnbmVkIGxvbmcgaGFuZGxlcjsKLSAJdW5zaWduZWQgbG9uZyBvbGRtYXNrOwotLQl2b2lk ICpyZWdzOwotKwlzdHJ1Y3QgcHRfcmVncyAqcmVnczsKLSB9OwotIAotIHR5cGVkZWYgc3RydWN0 IHsKLWRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGM2NC9iaXRzL3NpZ25hbC5oIGIvYXJjaC9wb3dl cnBjNjQvYml0cy9zaWduYWwuaAotaW5kZXggNGRlYzIyYTUuLmQ1NDkzYjE4IDEwMDY0NAotLS0t IGEvYXJjaC9wb3dlcnBjNjQvYml0cy9zaWduYWwuaAotKysrIGIvYXJjaC9wb3dlcnBjNjQvYml0 cy9zaWduYWwuaAotQEAgLTMyLDcgKzMyLDcgQEAgdHlwZWRlZiBzdHJ1Y3Qgc2lnY29udGV4dCB7 Ci0gCWludCBfcGFkMDsKLSAJdW5zaWduZWQgbG9uZyBoYW5kbGVyOwotIAl1bnNpZ25lZCBsb25n IG9sZG1hc2s7Ci0tCXZvaWQgKnJlZ3M7Ci0rCXN0cnVjdCBwdF9yZWdzICpyZWdzOwotIAlncmVn c2V0X3QgZ3BfcmVnczsKLSAJZnByZWdzZXRfdCBmcF9yZWdzOwotIAl2cnJlZ3NldF90ICp2X3Jl Z3M7CmRpZmYgLS1naXQgYS9zcmNwa2dzL211c2wvcGF0Y2hlcy9wcGM2NC1mcHJlZ3NldF90LnBh dGNoIGIvc3JjcGtncy9tdXNsL3BhdGNoZXMvcHBjNjQtZnByZWdzZXRfdC5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTI2MTdiYTBlZjdkNTkuLjAwMDAwMDAwMDAwMDAwCi0t LSBhL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL3BwYzY0LWZwcmVnc2V0X3QucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwzMSArMCwwIEBACi1jb21taXQgYzlmNDhjZGUwYTIyNjQxY2UzZGFmNTQ1OTZh OWVjZWJkYWI5MTQzNQotQXV0aG9yOiBSaWNoIEZlbGtlciA8ZGFsaWFzQGFlcmlmYWwuY3g+Ci1E YXRlOiAgIFNhdCBPY3QgMTkgMTU6Mzk6NDUgMjAxOSAtMDQwMAotCi0gICAgZml4IGZwcmVnc2V0 X3QgdHlwZSBvbiBwb3dlcnBjNjQKLSAgICAKLSAgICB0aGUgdXNlcnNwYWNlIHVjb250ZXh0IEFQ SSBoYXMgdGhpcyBhcyBhbiBhcnJheSByYXRoZXIgdGhhbiBhCi0gICAgc3RydWN0dXJlLgotICAg IAotICAgIGNvbW1pdCAzYzU5YTg2ODk1NjYzNmJjOGFkYWZiMWIxNjhkMDkwODk3NjkyNTMyIGZp eGVkIHRoZQotICAgIGNvcnJlc3BvbmRpbmcgbWlzdGFrZSBmb3IgdnJyZWdzZXRfdCwgbmFtZWx5 IHRoYXQgdGhlIG9yaWdpbmFsCi0gICAgcG93ZXJwYzY0IHBvcnQgdXNlZCBhIG1peCBvZiB0eXBl cyBmcm9tIDMyLWJpdCBwb3dlcnBjIGFuZCBwb3dlcnBjNjQKLSAgICByYXRoZXIgdGhhbiBtYXRj aGluZyB0aGUgNjQtYml0IHR5cGVzLgotCi1kaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjNjQvYml0 cy9zaWduYWwuaCBiL2FyY2gvcG93ZXJwYzY0L2JpdHMvc2lnbmFsLmgKLWluZGV4IDJjYzA2MDRj Li40ZGVjMjJhNSAxMDA2NDQKLS0tLSBhL2FyY2gvcG93ZXJwYzY0L2JpdHMvc2lnbmFsLmgKLSsr KyBiL2FyY2gvcG93ZXJwYzY0L2JpdHMvc2lnbmFsLmgKLUBAIC05LDExICs5LDcgQEAKLSAjaWYg ZGVmaW5lZChfR05VX1NPVVJDRSkgfHwgZGVmaW5lZChfQlNEX1NPVVJDRSkKLSAKLSB0eXBlZGVm IHVuc2lnbmVkIGxvbmcgZ3JlZ190LCBncmVnc2V0X3RbNDhdOwotLQotLXR5cGVkZWYgc3RydWN0 IHsKLS0JZG91YmxlIGZwcmVnc1szMl07Ci0tCWRvdWJsZSBmcHNjcjsKLS19IGZwcmVnc2V0X3Q7 Ci0rdHlwZWRlZiBkb3VibGUgZnByZWdzZXRfdFszM107Ci0gCi0gdHlwZWRlZiBzdHJ1Y3Qgewot ICNpZmRlZiBfX0dOVUNfXwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvcHBjbGUu cGF0Y2ggYi9zcmNwa2dzL211c2wvcGF0Y2hlcy9wcGNsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggN2Q0OTMzOGE1YTBmMTkuLjAwMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3Br Z3MvbXVzbC9wYXRjaGVzL3BwY2xlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBA QAotRnJvbSAyMGRmYzIwMDI0ODJhMjFiOTU1YjcxMGFmMTE5YTAxYWVjZWU3ODRiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRGFuaWVsIEtvbGVzYSA8ZGFuaWVsQG9jdGFmb3JnZS5v cmc+Ci1EYXRlOiBUdWUsIDE1IERlYyAyMDIwIDIwOjQyOjE3ICswMTAwCi1TdWJqZWN0OiBbUEFU Q0hdIGFkZCBwcGMzMiBsZSBzdWJhcmNoCi0KLS0tLQotIGNvbmZpZ3VyZSB8IDEgKwotIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGNvbmZpZ3VyZSBjb25maWd1 cmUKLWluZGV4IDg2ODAxMjguLmYxY2E1OGUgMTAwNzU1Ci0tLS0gYS9jb25maWd1cmUKLSsrKyBi L2NvbmZpZ3VyZQotQEAgLTY0NSw2ICs2NDUsNyBAQCBmaQotIGlmIHRlc3QgIiRBUkNIIiA9ICJw b3dlcnBjIiA7IHRoZW4KLSB0cnljcHBpZiAiX19OT19GUFJTX18gJiYgIV9TT0ZUX0ZMT0FUIiAi JHQiICYmIGZhaWwgXAotICAgIiQwOiBlcnJvcjogY29tcGlsZXIncyBmbG9hdGluZyBwb2ludCBj b25maWd1cmF0aW9uIGlzIHVuc3VwcG9ydGVkIgotK3RyeWNwcGlmIF9fTElUVExFX0VORElBTl9f ICIkdCIgJiYgU1VCQVJDSD0ke1NVQkFSQ0h9bGUKLSB0cnljcHBpZiBfU09GVF9GTE9BVCAiJHQi ICYmIFNVQkFSQ0g9JHtTVUJBUkNIfS1zZgotIGZpCi0gCi0tLSAKLTIuMjkuMgotCmRpZmYgLS1n aXQgYS9zcmNwa2dzL211c2wvcGF0Y2hlcy9yaXNjdjY0LXVjb250ZXh0LnBhdGNoIGIvc3JjcGtn cy9tdXNsL3BhdGNoZXMvcmlzY3Y2NC11Y29udGV4dC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggNWFmYWM4MmI2ZDIxZDEuLjAwMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mv bXVzbC9wYXRjaGVzL3Jpc2N2NjQtdWNvbnRleHQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwy OSArMCwwIEBACi1Gcm9tIDU2ZjA2MzFkOTU1M2RjMDY1MzBmZjY2MTUyN2NmMWZjZDU5NWEwZDEg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBEcmV3IERlVmF1bHQgPHNpckBjbXB3bi5j b20+Ci1EYXRlOiBTYXQsIDUgRGVjIDIwMjAgMTg6MTA6MDYgKzAwMDAKLVN1YmplY3Q6IFtQQVRD SF0gcmlzY3Y2NDogZml4IGluY29uc2lzdGVudCB1Y29udGV4dF90IHN0cnVjdCB0YWcKLQotdWNv bnRleHQuaCBkZXBlbmRzIG9uIHRoZSBpbnRlcm5hbCBzdHJ1Y3QgdGFnIG5hbWUgZm9yIG5hbWVz cGFjaW5nCi1yZWFzb25zLCBhbmQgdGhlIGludGVudCB3YXMgYWx3YXlzIGZvciBpdCB0byBiZSBj b25zaXN0ZW50IGFjcm9zcwotYXJjaHMgYW55d2F5LgotLS0tCi0gYXJjaC9yaXNjdjY0L2JpdHMv c2lnbmFsLmggfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRl bGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdjY0L2JpdHMvc2lnbmFsLmggYi9h cmNoL3Jpc2N2NjQvYml0cy9zaWduYWwuaAotaW5kZXggYjAwNjMzNGY3Li4yODczNjdkYjcgMTAw NjQ0Ci0tLS0gYS9hcmNoL3Jpc2N2NjQvYml0cy9zaWduYWwuaAotKysrIGIvYXJjaC9yaXNjdjY0 L2JpdHMvc2lnbmFsLmgKLUBAIC02MCwxMCArNjAsMTAgQEAgc3RydWN0IHNpZ2FsdHN0YWNrIHsK LSAJc2l6ZV90IHNzX3NpemU7Ci0gfTsKLSAKLS10eXBlZGVmIHN0cnVjdCB1Y29udGV4dF90Ci0r dHlwZWRlZiBzdHJ1Y3QgX191Y29udGV4dAotIHsKLSAJdW5zaWduZWQgbG9uZyB1Y19mbGFnczsK LS0Jc3RydWN0IHVjb250ZXh0X3QgKnVjX2xpbms7Ci0rCXN0cnVjdCBfX3Vjb250ZXh0ICp1Y19s aW5rOwotIAlzdGFja190IHVjX3N0YWNrOwotIAlzaWdzZXRfdCB1Y19zaWdtYXNrOwotIAltY29u dGV4dF90IHVjX21jb250ZXh0OwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvd29y a19hcm91bmRfbGludXhfYnVnX2luX3JlYWRsaW5rX3N5c2NhbGxfd2l0aF96ZXJvX2J1ZmZlci5w YXRjaCBiL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL3dvcmtfYXJvdW5kX2xpbnV4X2J1Z19pbl9yZWFk bGlua19zeXNjYWxsX3dpdGhfemVyb19idWZmZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDMyODY0MzJlYmVhMjNlLi4wMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL211 c2wvcGF0Y2hlcy93b3JrX2Fyb3VuZF9saW51eF9idWdfaW5fcmVhZGxpbmtfc3lzY2FsbF93aXRo X3plcm9fYnVmZmVyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotRnJvbSBl MmZhNzIwYmU3MDI0Y2NlNGZjNDg5ZjM4Nzc0NzZkMzVkYTQ4ZWUyIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQotRnJvbTogUmljaCBGZWxrZXIgPGRhbGlhc0BhZXJpZmFsLmN4PgotRGF0ZTogTW9u LCAyMyBOb3YgMjAyMCAxOTo0NDoxOSAtMDUwMAotU3ViamVjdDogW1BBVENIXSB3b3JrIGFyb3Vu ZCBsaW51eCBidWcgaW4gcmVhZGxpbmsgc3lzY2FsbCB3aXRoIHplcm8gYnVmZmVyCi0gc2l6ZQot Ci1saW51eCBmYWlscyB3aXRoIEVJTlZBTCB3aGVuIGEgemVybyBidWZmZXIgc2l6ZSBpcyBwYXNz ZWQgdG8gdGhlCi1zeXNjYWxsLiB0aGlzIGlzIG5vbi1jb25mb3JtaW5nIGJlY2F1c2UgUE9TSVgg YWxyZWFkeSBkZWZpbmVzIEVJTlZBTAotd2l0aCBhIHNpZ25pZmljYW50bHkgZGlmZmVyZW50IG1l YW5pbmc6IHRoZSB0YXJnZXQgaXMgbm90IGEgc3ltbGluay4KLQotc2luY2UgdGhlIHJlcXVlc3Qg aXMgc2VtYW50aWNhbGx5IHZhbGlkLCBwYXRjaCBpdCB1cCBieSB1c2luZyBhIGR1bW15Ci1idWZm ZXIgb2YgbGVuZ3RoIG9uZSwgYW5kIHRydW5jYXRpbmcgdGhlIHJldHVybiB2YWx1ZSB0byB6ZXJv IGlmIGl0Ci1zdWNjZWVkcy4KLS0tLQotIHNyYy91bmlzdGQvcmVhZGxpbmsuYyAgIHwgMTEgKysr KysrKysrLS0KLSBzcmMvdW5pc3RkL3JlYWRsaW5rYXQuYyB8ICA5ICsrKysrKysrLQotIDIgZmls ZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdp dCBhL3NyYy91bmlzdGQvcmVhZGxpbmsuYyBiL3NyYy91bmlzdGQvcmVhZGxpbmsuYwotaW5kZXgg YTE1MmQ1MjQ5Li4zMmY0NTM3ZjkgMTAwNjQ0Ci0tLS0gYS9zcmMvdW5pc3RkL3JlYWRsaW5rLmMK LSsrKyBiL3NyYy91bmlzdGQvcmVhZGxpbmsuYwotQEAgLTQsOSArNCwxNiBAQAotIAotIHNzaXpl X3QgcmVhZGxpbmsoY29uc3QgY2hhciAqcmVzdHJpY3QgcGF0aCwgY2hhciAqcmVzdHJpY3QgYnVm LCBzaXplX3QgYnVmc2l6ZSkKLSB7Ci0rCWNoYXIgZHVtbXlbMV07Ci0rCWlmICghYnVmc2l6ZSkg ewotKwkJYnVmID0gZHVtbXk7Ci0rCQlidWZzaXplID0gMTsKLSsJfQotICNpZmRlZiBTWVNfcmVh ZGxpbmsKLS0JcmV0dXJuIHN5c2NhbGwoU1lTX3JlYWRsaW5rLCBwYXRoLCBidWYsIGJ1ZnNpemUp OwotKwlpbnQgciA9IF9fc3lzY2FsbChTWVNfcmVhZGxpbmssIHBhdGgsIGJ1ZiwgYnVmc2l6ZSk7 Ci0gI2Vsc2UKLS0JcmV0dXJuIHN5c2NhbGwoU1lTX3JlYWRsaW5rYXQsIEFUX0ZEQ1dELCBwYXRo LCBidWYsIGJ1ZnNpemUpOwotKwlpbnQgciA9IF9fc3lzY2FsbChTWVNfcmVhZGxpbmthdCwgQVRf RkRDV0QsIHBhdGgsIGJ1ZiwgYnVmc2l6ZSk7Ci0gI2VuZGlmCi0rCWlmIChidWYgPT0gZHVtbXkg JiYgciA+IDApIHIgPSAwOwotKwlyZXR1cm4gX19zeXNjYWxsX3JldChyKTsKLSB9Ci1kaWZmIC0t Z2l0IGEvc3JjL3VuaXN0ZC9yZWFkbGlua2F0LmMgYi9zcmMvdW5pc3RkL3JlYWRsaW5rYXQuYwot aW5kZXggOWFmNDVjZDVhLi5mNzlkM2QxNDIgMTAwNjQ0Ci0tLS0gYS9zcmMvdW5pc3RkL3JlYWRs aW5rYXQuYwotKysrIGIvc3JjL3VuaXN0ZC9yZWFkbGlua2F0LmMKLUBAIC0zLDUgKzMsMTIgQEAK LSAKLSBzc2l6ZV90IHJlYWRsaW5rYXQoaW50IGZkLCBjb25zdCBjaGFyICpyZXN0cmljdCBwYXRo LCBjaGFyICpyZXN0cmljdCBidWYsIHNpemVfdCBidWZzaXplKQotIHsKLS0JcmV0dXJuIHN5c2Nh bGwoU1lTX3JlYWRsaW5rYXQsIGZkLCBwYXRoLCBidWYsIGJ1ZnNpemUpOwotKwljaGFyIGR1bW15 WzFdOwotKwlpZiAoIWJ1ZnNpemUpIHsKLSsJCWJ1ZiA9IGR1bW15OwotKwkJYnVmc2l6ZSA9IDE7 Ci0rCX0KLSsJaW50IHIgPSBfX3N5c2NhbGwoU1lTX3JlYWRsaW5rYXQsIGZkLCBwYXRoLCBidWYs IGJ1ZnNpemUpOwotKwlpZiAoYnVmID09IGR1bW15ICYmIHIgPiAwKSByID0gMDsKLSsJcmV0dXJu IF9fc3lzY2FsbF9yZXQocik7Ci0gfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tdXNsL3RlbXBsYXRl IGIvc3JjcGtncy9tdXNsL3RlbXBsYXRlCmluZGV4IDhjM2JlN2Q3NmU4YTFlLi40Y2JkOTQ4ZWQz MWRjZiAxMDA2NDQKLS0tIGEvc3JjcGtncy9tdXNsL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbXVz bC90ZW1wbGF0ZQpAQCAtMSw4ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ211c2wnCiBw a2duYW1lPW11c2wKLXJldmVydHM9IjEuMi4wXzEiCi12ZXJzaW9uPTEuMS4yNAotcmV2aXNpb249 MjAKK3ZlcnNpb249MS4yLjUKK3JldmlzaW9uPTEKIGFyY2hzPSIqLW11c2wiCiBib290c3RyYXA9 eWVzCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCkBAIC0xMiw3ICsxMSw3IEBAIG1haW50YWlu ZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hAdm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJNSVQiCiBo b21lcGFnZT0iaHR0cHM6Ly9tdXNsLmxpYmMub3JnLyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9tdXNs LmxpYmMub3JnL3JlbGVhc2VzL211c2wtJHt2ZXJzaW9ufS50YXIuZ3oiCi1jaGVja3N1bT0xMzcw YzlhODEyYjJjZjJhN2Q5MjgwMjUxMGNjYTAwNThjYzM3ZTY2YTdiZWRkNzAwNTFmMGEzNDAxNTAy MmEzCitjaGVja3N1bT1hOWExMThiYmU4NGQ4NzY0ZGEwZWEwZDI4YjNhYjNmYWU4NDc3ZmM3ZTQw ODVkOTAxMDJiODU5NmZjN2M3NWU0CiAKIG5vc3RyaXBfZmlsZXM9ImxpYmMuc28iCiBzaGxpYl9w cm92aWRlcz0ibGliYy5zbyIK --===============8132637438287669969==--