From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.bugs Subject: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was not before), was: Re: bug#52493: 29.0.50; Setting Inconsolata up in init.el makes default face rendered wrong Date: Mon, 16 Jan 2023 17:10:30 +0100 Message-ID: References: <80e7f515-e16f-5ce8-86a3-e5f47cd2d2f5@yandex.ru> <8bca33d8-55a5-9a96-2adf-cc751eed22e5@yandex.ru> <21a55a64-541d-345c-33d3-7c8eac182e83@gmx.at> <89a94819-8bdf-55a3-9167-0cc8d11215ee@yandex.ru> <9be7030e-ce19-0baa-58b8-e2d483efab8f@gmx.at> <8df08d50-146f-9b76-efa0-ba101e53e7c0@yandex.ru> <29bd2735-5070-915c-e236-9de0c6dcbb1f@gmx.at> <921de89e-57e0-04de-3e91-043b49503d10@yandex.ru> <32ac6060-a7ed-a0c4-1c62-f0e1804d963d@gmx.at> <0547624a-15c0-792c-dce5-85101cf9cd71@gmx.at> <5770c9ec-4de5-8365-fb70-5a88d14d8179@yandex.ru> <75e1b3d4-a79f-d36f-4898-fdf1ed05492c@gmx.at> <33214f9c-f89f-b96f-e1db-12aad7b03261@yandex.ru> <36f67e04-8450-5273-2136-fb9832ed703f@gmx.at> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------RLevcUQivKO9fVKH6mRY0nLX" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="9165"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 60585@debbugs.gnu.org, rpluim@gmail.com To: Dmitry Gutov , Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Jan 16 17:11:22 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pHS4w-0002CI-7I for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 16 Jan 2023 17:11:22 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pHS4g-0005YB-3H; Mon, 16 Jan 2023 11:11:06 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pHS4c-0005Xm-RP for bug-gnu-emacs@gnu.org; Mon, 16 Jan 2023 11:11:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pHS4c-0007eo-8L for bug-gnu-emacs@gnu.org; Mon, 16 Jan 2023 11:11:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pHS4c-0003Ry-3X for bug-gnu-emacs@gnu.org; Mon, 16 Jan 2023 11:11:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 16 Jan 2023 16:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60585 X-GNU-PR-Package: emacs Original-Received: via spool by 60585-submit@debbugs.gnu.org id=B60585.167388544513230 (code B ref 60585); Mon, 16 Jan 2023 16:11:02 +0000 Original-Received: (at 60585) by debbugs.gnu.org; 16 Jan 2023 16:10:45 +0000 Original-Received: from localhost ([127.0.0.1]:34442 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pHS4J-0003RJ-9U for submit@debbugs.gnu.org; Mon, 16 Jan 2023 11:10:44 -0500 Original-Received: from mout.gmx.net ([212.227.17.22]:34257) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pHS4E-0003Qx-EB for 60585@debbugs.gnu.org; Mon, 16 Jan 2023 11:10:42 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.at; s=s31663417; t=1673885431; bh=cMGfG1UNumkMtRyrIH5vciGbvATcQT723kaWg59/56Y=; h=X-UI-Sender-Class:Date:Subject:To:Cc:References:From:In-Reply-To; b=KoTU16oGVVQ/cXQSWjifRHC2+9Lw8p/hNJAh3XeqQn1B75/sM/9qCZCw642zZ+0YA HOWvb8vIeQaOrzdEeQZIr6vwfVR5QDtMUy7DmAoTmZokuqXLiliECg45eYbm8IPEOf ZbO2L7c0+1B/MD/3wmhV947/MT0Wey0JR0EyQgron8yHiIAecr8R9sJvLHXuFCdvYr tHoM6bhwRfhb00pxO2gFwac2KUlvxmcE/7SYd6PdWdo/jWevt0vLAQ1jHDpuZMn56T /oMTncfa/B/oq/Q1szc49BOF78lrlnPLAG4BSpOT2rjCEg8h8yRbWl5Wjnc+WuZFs+ JeQBxz/jjMS+w== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Original-Received: from [192.168.1.100] ([212.95.5.38]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MYNNy-1pDTl72azi-00VU69; Mon, 16 Jan 2023 17:10:31 +0100 Content-Language: en-US In-Reply-To: X-Provags-ID: V03:K1:/6E/hAFnFenDMmvG4OYNTHFginNGmf4UGkRQCKt2T96xfXlbkZd KBgo/f5+WQv4xsnaNtAJ0iGNE6Xu45etofnuZ9CExJZGyFByuUAx8+7six1HM1CwKZ2y2qR vLEnFwFd7SfygaSthwb4Sb5yzlPDMQYlcPBdIHsPFkKDOJgH3m00DdKRXwhFZU4XnzdrBZO VmduFH1YUurbHHEKOYEEg== UI-OutboundReport: notjunk:1;M01:P0:MGT9nwD5I9k=;JVc7hPnthvbRqrvGwI5TmJHjB9w kkBRICt75KkUmM0tBKQj6fnHZfG46IyNvL0gqaajTUT27BLNgpqaP/0VMxs9bHqgMP7AF6AjB k65i00UzrX/jhHg7H9cbid9zdcB1BrpEB5lfNnNukwQhDlhc8P4CWwkHq/lgsGSPS1i4bMnYL UN1k6B3PSm4q5s0fKO8dALCYttgG4lCirw1Ha62opZ4Ipl3PQoqC8rEnr46vISwo3/faOYd9c 5POC3ba7Vg+b3QlBfRX3ttGg2GTQG57BMn/jqF4ji68IhU/T4LZfyCsJ1REC4Re7nSOxpNqrR SsZ1HiXdsd5pWUp6t4pKlxYmBR0r2ngWzxayhauXnHoCmzaT5PCH4Q1JUmVeWbtRQH7LKH57f 1V7JZExuRUglEHv3RCs00fcmUZYgQuxuIqj5f4c8oui5YmiU4Ask/rL5+WdK+lfxYgL+Tm4RR jsBm90ZB3nyYkRCmqIf9PNXQHRhbpk7pJf/651gmPlxIIqyZjsQNsMANWM7d7uZaaLwCNZDjU 8AR2qN1ctCjTTgKMYUaghxEDfRiZ/Lg6F+yVtliuFLt81sEbVOM5SQry2pKdftnsxvyYKrWdL MHE5Rsf5zxnxd1Okli+n5d3hpEEogHL/vQFsvrh1Pl9Vl1pns604N7MKTXn5zPheovxg5leIJ lUMJlMevcOMMRisZf4T+XIl+Vfb8z4dINhk+TNL89YjycN5yiefeN0qdZaFsBRM2LG/aUPnrK QfMDlmp39m8eH9IqWkABBQPjJaEoR191qotaCs0DMkBiXcncF4iAZwdEnqYb/OY59L69pulP X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:253505 Archived-At: This is a multi-part message in MIME format. --------------RLevcUQivKO9fVKH6mRY0nLX Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit >> Now I'm confused. How on earth do we scale with Lucid? > > Apparently, we do scale with Lucid. Even the scroll bar probably (although that one is harder to tell). Interesting. > x_rest.diff? Yes. > It doesn't seem to make any effect on the problem behavior. > > Attaching *foo* after 2 evaluation, then resizing the frame with a mouse, then 2 evaluations again. My bad. I didn't scale the text sizes when calculating the residue. Please try again. Thanks, martin --------------RLevcUQivKO9fVKH6mRY0nLX Content-Type: text/x-patch; charset=UTF-8; name="x_rest.diff" Content-Disposition: attachment; filename="x_rest.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3Avd2luZG93LmVsIGIvbGlzcC93aW5kb3cuZWwKaW5kZXggYTEx MjkzZDM3Mi4uNzA2Yzk4OGIyZSAxMDA2NDQKLS0tIGEvbGlzcC93aW5kb3cuZWwKKysrIGIv bGlzcC93aW5kb3cuZWwKQEAgLTEwNTk2LDYgKzEwNTk2LDIxIEBAIHdpbmRvdy1wcmVmaXgt bWFwCiAgICIwIiAjJ2RlbGV0ZS13aW5kb3dzLW9uKQogKGRlZmluZS1rZXkgY3RsLXgtbWFw ICJ3IiB3aW5kb3ctcHJlZml4LW1hcCkKIAorKGRlZnVuIGZvby1pdCAoJnJlc3QgcmVzdCkK KyAgKHdpdGgtY3VycmVudC1idWZmZXIgKGdldC1idWZmZXItY3JlYXRlICIqZm9vKiIpCisg ICAgKGdvdG8tY2hhciAocG9pbnQtbWF4KSkKKyAgICAod2hlbiByZXN0CisgICAgICAoaWYg KGNvbnNwIChjYXIgcmVzdCkpCisgICAgICAgICAgKGluc2VydCAoZm9ybWF0ICIlc3glcyIg KGNhYXIgcmVzdCkgKGNkYXIgcmVzdCkpKQorICAgICAgICAoaW5zZXJ0IChmb3JtYXQgIiVz IiAoY2FyIHJlc3QpKSkpCisgICAgICAoc2V0cSByZXN0IChjZHIgcmVzdCkpCisgICAgICAo d2hpbGUgcmVzdAorICAgICAgICAoaWYgKGNvbnNwIChjYXIgcmVzdCkpCisgICAgICAgICAg ICAoaW5zZXJ0IChmb3JtYXQgIiAlc3glcyIgKGNhYXIgcmVzdCkgKGNkYXIgcmVzdCkpKQor CSAgKGluc2VydCAoZm9ybWF0ICIgJXMiIChjYXIgcmVzdCkpKSkKKwkoc2V0cSByZXN0IChj ZHIgcmVzdCkpKQorICAgICAgKGluc2VydCAiXG4iKSkpKQorCiAocHJvdmlkZSAnd2luZG93 KQogCiA7Ozsgd2luZG93LmVsIGVuZHMgaGVyZQpkaWZmIC0tZ2l0IGEvc3JjL2ZyYW1lLmMg Yi9zcmMvZnJhbWUuYwppbmRleCBiNTdiMjk2YmU1Li5kN2QwNjlkOTA4IDEwMDY0NAotLS0g YS9zcmMvZnJhbWUuYworKysgYi9zcmMvZnJhbWUuYwpAQCAtOTA2LDYgKzkwNiwzMiBAQCBh ZGp1c3RfZnJhbWVfc2l6ZSAoc3RydWN0IGZyYW1lICpmLCBpbnQgbmV3X3RleHRfd2lkdGgs IGludCBuZXdfdGV4dF9oZWlnaHQsCiAKICAgdW5ibG9ja19pbnB1dCAoKTsKIAorICBpZiAo b2xkX25hdGl2ZV93aWR0aCAhPSBuZXdfbmF0aXZlX3dpZHRoCisgICAgICB8fCBvbGRfbmF0 aXZlX2hlaWdodCAhPSBuZXdfbmF0aXZlX2hlaWdodAorICAgICAgfHwgb2xkX3RleHRfd2lk dGggIT0gbmV3X3RleHRfd2lkdGgKKyAgICAgIHx8IG9sZF90ZXh0X2hlaWdodCAhPSBuZXdf dGV4dF9oZWlnaHQKKyAgICAgIHx8IG9sZF90ZXh0X2NvbHMgIT0gbmV3X3RleHRfY29scwor ICAgICAgfHwgb2xkX3RleHRfbGluZXMgIT0gbmV3X3RleHRfbGluZXMpCisgICAgQ0FMTE4g KEZmdW5jYWxsLCBRZm9vX2l0LCBpbnRlcm4gKCJhZGp1c3RfZnJhbWVfc2l6ZSIpLAorCSAg IGludGVybiAoIm9sZCBuYXRpdmUgcGl4ZWxzIiksCisJICAgRmNvbnMgKG1ha2VfZml4bnVt IChvbGRfbmF0aXZlX3dpZHRoKSwKKwkJICBtYWtlX2ZpeG51bSAob2xkX25hdGl2ZV9oZWln aHQpKSwKKwkgICBpbnRlcm4gKCJuZXcgbmF0aXZlIHBpeGVscyIpLAorCSAgIEZjb25zICht YWtlX2ZpeG51bSAobmV3X25hdGl2ZV93aWR0aCksCisJCSAgbWFrZV9maXhudW0gKG5ld19u YXRpdmVfaGVpZ2h0KSksCisJICAgaW50ZXJuICgib2xkIHRleHQgcGl4ZWxzIiksCisJICAg RmNvbnMgKG1ha2VfZml4bnVtIChvbGRfdGV4dF93aWR0aCksCisJCSAgbWFrZV9maXhudW0g KG9sZF90ZXh0X2hlaWdodCkpLAorCSAgIGludGVybiAoIm5ldyB0ZXh0IHBpeGVscyIpLAor CSAgIEZjb25zIChtYWtlX2ZpeG51bSAobmV3X3RleHRfd2lkdGgpLAorCQkgIG1ha2VfZml4 bnVtIChuZXdfdGV4dF9oZWlnaHQpKSwKKwkgICBpbnRlcm4gKCJvbGQgdGV4dCBjaGFycyIp LAorCSAgIEZjb25zIChtYWtlX2ZpeG51bSAob2xkX3RleHRfY29scyksCisJCSAgbWFrZV9m aXhudW0gKG9sZF90ZXh0X2xpbmVzKSksCisJICAgaW50ZXJuICgibmV3IHRleHQgY2hhcnMi KSwKKwkgICBGY29ucyAobWFrZV9maXhudW0gKG5ld190ZXh0X2NvbHMpLAorCQkgIG1ha2Vf Zml4bnVtIChuZXdfdGV4dF9saW5lcykpKTsKKwogI2lmZGVmIEhBVkVfV0lORE9XX1NZU1RF TQogICB7CiAgICAgLyogQWRqdXN0IHNpemUgb2YgRidzIGNoaWxkIGZyYW1lcy4gICovCmRp ZmYgLS1naXQgYS9zcmMvZ3RrdXRpbC5jIGIvc3JjL2d0a3V0aWwuYwppbmRleCBhNmJiYTA5 NmE0Li4zZGFjMzY4YmVlIDEwMDY0NAotLS0gYS9zcmMvZ3RrdXRpbC5jCisrKyBiL3NyYy9n dGt1dGlsLmMKQEAgLTExNDksNiArMTE0OSwxNCBAQCB4Z19mcmFtZV9yZXNpemVkIChzdHJ1 Y3QgZnJhbWUgKmYsIGludCB3aWR0aCwgaW50IGhlaWdodCkKIAkgICBmLT5uZXdfc2l6ZV9w ID8gZi0+bmV3X2hlaWdodCA6IC0xKTsKIAogICAgICAgRlJBTUVfUklGIChmKS0+Y2xlYXJf dW5kZXJfaW50ZXJuYWxfYm9yZGVyIChmKTsKKworICAgICAgQ0FMTE4gKEZmdW5jYWxsLCBR Zm9vX2l0LCBpbnRlcm4gKCJ4Z19mcmFtZV9yZXNpemVkIiksCisJICAgICBpbnRlcm4gKCJv bGQgbmF0aXZlIHBpeGVscyIpLAorCSAgICAgRmNvbnMgKG1ha2VfZml4bnVtIChGUkFNRV9Q SVhFTF9XSURUSCAoZikpLAorCQkgICAgbWFrZV9maXhudW0gKEZSQU1FX1BJWEVMX0hFSUdI VCAoZikpKSwKKwkgICAgIGludGVybiAoIm5ldyBuYXRpdmUgcGl4ZWxzIiksCisJICAgICBG Y29ucyAobWFrZV9maXhudW0gKHdpZHRoKSwgbWFrZV9maXhudW0gKGhlaWdodCkpKTsKKwog ICAgICAgY2hhbmdlX2ZyYW1lX3NpemUgKGYsIHdpZHRoLCBoZWlnaHQsIGZhbHNlLCB0cnVl LCBmYWxzZSk7CiAgICAgICBTRVRfRlJBTUVfR0FSQkFHRUQgKGYpOwogICAgICAgY2FuY2Vs X21vdXNlX2ZhY2UgKGYpOwpAQCAtMTE3NCw2ICsxMTgyLDggQEAgeGdfZnJhbWVfc2V0X2No YXJfc2l6ZSAoc3RydWN0IGZyYW1lICpmLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCiAgIGlu dCBvdXRlcl93aWR0aCA9IHdpZHRoICsgRlJBTUVfVE9PTEJBUl9XSURUSCAoZik7CiAgIGJv b2wgd2FzX3Zpc2libGUgPSBmYWxzZTsKICAgYm9vbCBoaWRlX2NoaWxkX2ZyYW1lOworICBp bnQgc2NhbGUgPSB4Z19nZXRfc2NhbGUgKGYpOworICBHZGtHZW9tZXRyeSBzaXplX2hpbnRz ID0gZi0+b3V0cHV0X2RhdGEueHAtPnNpemVfaGludHM7CiAKICNpZm5kZWYgSEFWRV9QR1RL CiAgIGd0a193aW5kb3dfZ2V0X3NpemUgKEdUS19XSU5ET1cgKEZSQU1FX0dUS19PVVRFUl9X SURHRVQgKGYpKSwKQEAgLTExOTYsMTAgKzEyMDYsMTEgQEAgeGdfZnJhbWVfc2V0X2NoYXJf c2l6ZSAoc3RydWN0IGZyYW1lICpmLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCiAgIC8qIERv IHRoaXMgYmVmb3JlIHJlc2l6ZSwgYXMgd2UgZG9uJ3Qga25vdyB5ZXQgaWYgd2Ugd2lsbCBi ZSByZXNpemVkLiAgKi8KICAgRlJBTUVfUklGIChmKS0+Y2xlYXJfdW5kZXJfaW50ZXJuYWxf Ym9yZGVyIChmKTsKIAotICBvdXRlcl9oZWlnaHQgLz0geGdfZ2V0X3NjYWxlIChmKTsKLSAg b3V0ZXJfd2lkdGggLz0geGdfZ2V0X3NjYWxlIChmKTsKKyAgb3V0ZXJfaGVpZ2h0IC89IHNj YWxlOworICBvdXRlcl93aWR0aCAvPSBzY2FsZTsKIAotICB4Z193bV9zZXRfc2l6ZV9oaW50 IChmLCAwLCAwKTsKKyAgeGdfd21fc2V0X3NpemVfaGludCAoZiwgMCwgMCwgRlJBTUVfUElY RUxfVE9fVEVYVF9XSURUSCAoZiwgd2lkdGgpLAorCQkgICAgICAgRlJBTUVfUElYRUxfVE9f VEVYVF9IRUlHSFQgKGYsIGhlaWdodCkpOwogCiAgIC8qIFJlc2l6ZSB0aGUgdG9wIGxldmVs IHdpZGdldCBzbyByb3dzIGFuZCBjb2x1bW5zIHJlbWFpbiBjb25zdGFudC4KIApAQCAtMTMx Nyw2ICsxMzI4LDMzIEBAIHhnX2ZyYW1lX3NldF9jaGFyX3NpemUgKHN0cnVjdCBmcmFtZSAq ZiwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQogICBTRVRfRlJBTUVfR0FSQkFHRUQgKGYpOwog ICBjYW5jZWxfbW91c2VfZmFjZSAoZik7CiAKKyAgc2l6ZV9oaW50cyA9IGYtPm91dHB1dF9k YXRhLnhwLT5zaXplX2hpbnRzOworICBpZiAob3V0ZXJfd2lkdGggPiAwICYmIHNpemVfaGlu dHMuYmFzZV93aWR0aCA+IDAKKyAgICAgICYmIHNpemVfaGludHMud2lkdGhfaW5jID4gMCAm JiBvdXRlcl9oZWlnaHQgPiAwCisgICAgICAmJiBzaXplX2hpbnRzLmJhc2VfaGVpZ2h0ID4g MCAmJiBzaXplX2hpbnRzLmhlaWdodF9pbmMgPiAwKQorICAgIENBTExOIChGZnVuY2FsbCwg UWZvb19pdCwgaW50ZXJuICgieGdfZnJhbWVfc2V0X2NoYXJfc2l6ZSIpLAorCSAgIGludGVy biAoIm9sZCBuYXRpdmUgcGl4ZWxzIiksCisJICAgRmNvbnMgKG1ha2VfZml4bnVtIChGUkFN RV9QSVhFTF9XSURUSCAoZikpLAorCQkgIG1ha2VfZml4bnVtIChGUkFNRV9QSVhFTF9IRUlH SFQgKGYpKSksCisJICAgaW50ZXJuICgibmV3IG5hdGl2ZSBwaXhlbHMiKSwKKwkgICBGY29u cyAobWFrZV9maXhudW0gKHdpZHRoKSwgbWFrZV9maXhudW0gKGhlaWdodCkpLAorCSAgIGlu dGVybiAoIm91dGVyIHBpeGVscyIpLAorCSAgIEZjb25zIChtYWtlX2ZpeG51bSAob3V0ZXJf d2lkdGgpLCBtYWtlX2ZpeG51bSAob3V0ZXJfaGVpZ2h0KSksCisJICAgaW50ZXJuICgib3V0 ZXIgcmVzdCIpLAorCSAgIEZjb25zIChtYWtlX2ZpeG51bSAoKG91dGVyX3dpZHRoIC0gc2l6 ZV9oaW50cy5iYXNlX3dpZHRoKQorCQkJICAgICAgICUgc2l6ZV9oaW50cy53aWR0aF9pbmMp LAorCQkgIG1ha2VfZml4bnVtICgob3V0ZXJfaGVpZ2h0IC0gc2l6ZV9oaW50cy5iYXNlX2hl aWdodCkKKwkJCSAgICAgICAlIHNpemVfaGludHMuaGVpZ2h0X2luYykpKTsKKyAgZWxzZQor ICAgIENBTExOIChGZnVuY2FsbCwgUWZvb19pdCwgaW50ZXJuICgieGdfZnJhbWVfc2V0X2No YXJfc2l6ZSIpLAorCSAgIGludGVybiAoIm9sZCBuYXRpdmUgcGl4ZWxzIiksCisJICAgRmNv bnMgKG1ha2VfZml4bnVtIChGUkFNRV9QSVhFTF9XSURUSCAoZikpLAorCQkgIG1ha2VfZml4 bnVtIChGUkFNRV9QSVhFTF9IRUlHSFQgKGYpKSksCisJICAgaW50ZXJuICgibmV3IG5hdGl2 ZSBwaXhlbHMiKSwKKwkgICBGY29ucyAobWFrZV9maXhudW0gKHdpZHRoKSwgbWFrZV9maXhu dW0gKGhlaWdodCkpLAorCSAgIGludGVybiAoIm91dGVyIHBpeGVscyIpLAorCSAgIEZjb25z IChtYWtlX2ZpeG51bSAob3V0ZXJfd2lkdGgpLCBtYWtlX2ZpeG51bSAob3V0ZXJfaGVpZ2h0 KSkpOworCiAgIC8qIFdlIGNhbiBub3QgY2FsbCBjaGFuZ2VfZnJhbWVfc2l6ZSBmb3IgYSBt YXBwZWQgZnJhbWUsCiAgICAgIHdlIGNhbiBub3Qgc2V0IHBpeGVsIHdpZHRoL2hlaWdodCBl aXRoZXIuICBUaGUgd2luZG93IG1hbmFnZXIgbWF5CiAgICAgIG92ZXJyaWRlIG91ciByZXNp emUgcmVxdWVzdCwgWE1vbmFkIGRvZXMgdGhpcyBhbGwgdGhlIHRpbWUuCkBAIC0xMzYwLDIx ICsxMzk4LDYgQEAgeGdfZnJhbWVfc2V0X2NoYXJfc2l6ZSAoc3RydWN0IGZyYW1lICpmLCBp bnQgd2lkdGgsIGludCBoZWlnaHQpCiAgICAgfQogfQogCi0vKiBIYW5kbGUgaGVpZ2h0L3dp ZHRoIGNoYW5nZXMgKGkuZS4gYWRkL3JlbW92ZS9tb3ZlIG1lbnUvdG9vbGJhcikuCi0gICBU aGUgcG9saWN5IGlzIHRvIGtlZXAgdGhlIG51bWJlciBvZiBlZGl0YWJsZSBsaW5lcy4gICov Ci0KLSNpZiAwCi1zdGF0aWMgdm9pZAoteGdfaGVpZ2h0X29yX3dpZHRoX2NoYW5nZWQgKHN0 cnVjdCBmcmFtZSAqZikKLXsKLSAgZ3RrX3dpbmRvd19yZXNpemUgKEdUS19XSU5ET1cgKEZS QU1FX0dUS19PVVRFUl9XSURHRVQgKGYpKSwKLSAgICAgICAgICAgICAgICAgICAgIEZSQU1F X1RPVEFMX1BJWEVMX1dJRFRIIChmKSwKLSAgICAgICAgICAgICAgICAgICAgIEZSQU1FX1RP VEFMX1BJWEVMX0hFSUdIVCAoZikpOwotICBmLT5vdXRwdXRfZGF0YS54cC0+aGludF9mbGFn cyA9IDA7Ci0gIHhfd21fc2V0X3NpemVfaGludCAoZiwgMCwgMCk7Ci19Ci0jZW5kaWYKLQog I2lmbmRlZiBIQVZFX1BHVEsKIC8qIENvbnZlcnQgYW4gWCBXaW5kb3cgV1NFU0Mgb24gZGlz cGxheSBEUFkgdG8gaXRzIGNvcnJlc3BvbmRpbmcgR3RrV2lkZ2V0LgogICAgTXVzdCBiZSBk b25lIGxpa2UgdGhpcywgYmVjYXVzZSBHdGtXaWRnZXQ6cyBjYW4gaGF2ZSAiaGlkZGVuIgpA QCAtMTkxNyw3ICsxOTQwLDggQEAgeGdfZnJlZV9mcmFtZV93aWRnZXRzIChzdHJ1Y3QgZnJh bWUgKmYpCiAgICBmbGFnICh0aGlzIGlzIHVzZWZ1bCB3aGVuIEZMQUdTIGlzIDApLiAgKi8K IAogdm9pZAoteGdfd21fc2V0X3NpemVfaGludCAoc3RydWN0IGZyYW1lICpmLCBsb25nIGlu dCBmbGFncywgYm9vbCB1c2VyX3Bvc2l0aW9uKQoreGdfd21fc2V0X3NpemVfaGludCAoc3Ry dWN0IGZyYW1lICpmLCBsb25nIGludCBmbGFncywgYm9vbCB1c2VyX3Bvc2l0aW9uLAorCQkg ICAgIGludCB0ZXh0X3dpZHRoLCBpbnQgdGV4dF9oZWlnaHQpCiB7CiAgIC8qIE11c3QgdXNl IEdUSyByb3V0aW5lcyBoZXJlLCBvdGhlcndpc2UgR1RLIHJlc2V0cyB0aGUgc2l6ZSBoaW50 cwogICAgICB0byBpdHMgb3duIGRlZmF1bHRzLiAgKi8KQEAgLTE5NjQsMjEgKzE5ODgsMzMg QEAgeGdfd21fc2V0X3NpemVfaGludCAoc3RydWN0IGZyYW1lICpmLCBsb25nIGludCBmbGFn cywgYm9vbCB1c2VyX3Bvc2l0aW9uKQogICBoaW50X2ZsYWdzID0gZi0+b3V0cHV0X2RhdGEu eHAtPmhpbnRfZmxhZ3M7CiAKICAgaGludF9mbGFncyB8PSBHREtfSElOVF9SRVNJWkVfSU5D IHwgR0RLX0hJTlRfTUlOX1NJWkU7Ci0gIHNpemVfaGludHMud2lkdGhfaW5jID0gZnJhbWVf cmVzaXplX3BpeGVsd2lzZSA/IDEgOiBGUkFNRV9DT0xVTU5fV0lEVEggKGYpOwotICBzaXpl X2hpbnRzLmhlaWdodF9pbmMgPSBmcmFtZV9yZXNpemVfcGl4ZWx3aXNlID8gMSA6IEZSQU1F X0xJTkVfSEVJR0hUIChmKTsKKyAgc2l6ZV9oaW50cy53aWR0aF9pbmMKKyAgICA9IGZyYW1l X3Jlc2l6ZV9waXhlbHdpc2UgPyAxIDogKEZSQU1FX0NPTFVNTl9XSURUSCAoZikgLyBzY2Fs ZSk7CisgIHNpemVfaGludHMuaGVpZ2h0X2luYworICAgID0gZnJhbWVfcmVzaXplX3BpeGVs d2lzZSA/IDEgOiAoRlJBTUVfTElORV9IRUlHSFQgKGYpIC8gc2NhbGUpOwogCiAgIGhpbnRf ZmxhZ3MgfD0gR0RLX0hJTlRfQkFTRV9TSVpFOwogICAvKiBVc2Ugb25lIHJvdy9jb2wgaGVy ZSBzbyBiYXNlX2hlaWdodC93aWR0aCBkb2VzIG5vdCBiZWNvbWUgemVyby4KICAgICAgR3Rr KyBhbmQvb3IgVW5pdHkgb24gVWJ1bnR1IDEyLjA0IGNhbid0IGhhbmRsZSBpdC4KICAgICAg T2J2aW91c2x5IHRoaXMgbWFrZXMgdGhlIHJvdy9jb2wgdmFsdWUgZGlzcGxheWVkIG9mZiBi eSAxLiAgKi8KLSAgYmFzZV93aWR0aCA9IEZSQU1FX1RFWFRfQ09MU19UT19QSVhFTF9XSURU SCAoZiwgMSkgKyBGUkFNRV9UT09MQkFSX1dJRFRIIChmKTsKLSAgYmFzZV9oZWlnaHQgPSBG UkFNRV9URVhUX0xJTkVTX1RPX1BJWEVMX0hFSUdIVCAoZiwgMSkKLSAgICArIEZSQU1FX01F TlVCQVJfSEVJR0hUIChmKSArIEZSQU1FX1RPT0xCQVJfSEVJR0hUIChmKTsKKyAgYmFzZV93 aWR0aCA9ICgoRlJBTUVfVEVYVF9DT0xTX1RPX1BJWEVMX1dJRFRIIChmLCAxKQorCQkgKyBG UkFNRV9UT09MQkFSX1dJRFRIIChmKSkgLyBzY2FsZSk7CisgIGJhc2VfaGVpZ2h0ID0gKChG UkFNRV9URVhUX0xJTkVTX1RPX1BJWEVMX0hFSUdIVCAoZiwgMSkKKwkJICArIEZSQU1FX01F TlVCQVJfSEVJR0hUIChmKSArIEZSQU1FX1RPT0xCQVJfSEVJR0hUIChmKSkKKwkJIC8gc2Nh bGUpOwogCi0gIHNpemVfaGludHMuYmFzZV93aWR0aCA9IGJhc2Vfd2lkdGg7Ci0gIHNpemVf aGludHMuYmFzZV9oZWlnaHQgPSBiYXNlX2hlaWdodDsKLSAgc2l6ZV9oaW50cy5taW5fd2lk dGggID0gYmFzZV93aWR0aDsKLSAgc2l6ZV9oaW50cy5taW5faGVpZ2h0ID0gYmFzZV9oZWln aHQ7CisgIGlmICh0ZXh0X3dpZHRoIDwgMCkKKyAgICB0ZXh0X3dpZHRoID0gRlJBTUVfVEVY VF9XSURUSCAoZik7CisgIHRleHRfd2lkdGggLz0gc2NhbGU7CisKKyAgaWYgKHRleHRfaGVp Z2h0IDwgMCkKKyAgICB0ZXh0X2hlaWdodCA9IEZSQU1FX1RFWFRfSEVJR0hUIChmKTsKKyAg dGV4dF9oZWlnaHQgLz0gc2NhbGU7CisKKyAgc2l6ZV9oaW50cy5iYXNlX3dpZHRoID0gYmFz ZV93aWR0aCArICh0ZXh0X3dpZHRoICUgc2l6ZV9oaW50cy53aWR0aF9pbmMpOworICBzaXpl X2hpbnRzLmJhc2VfaGVpZ2h0ID0gYmFzZV9oZWlnaHQgKyAodGV4dF9oZWlnaHQgJSBzaXpl X2hpbnRzLmhlaWdodF9pbmMpOworICBzaXplX2hpbnRzLm1pbl93aWR0aCA9IHNpemVfaGlu dHMuYmFzZV93aWR0aDsKKyAgc2l6ZV9oaW50cy5taW5faGVpZ2h0ID0gc2l6ZV9oaW50cy5i YXNlX2hlaWdodDsKIAogICAvKiBUaGVzZSBjdXJyZW50bHkgaGF2ZSBhIG9uZSB0byBvbmUg bWFwcGluZyB3aXRoIHRoZSBYIHZhbHVlcywgYnV0IEkKICAgICAgZG9uJ3QgdGhpbmsgd2Ug c2hvdWxkIHJlbHkgb24gdGhhdC4gICovCkBAIC0yMDE4LDE2ICsyMDU0LDMxIEBAIHhnX3dt X3NldF9zaXplX2hpbnQgKHN0cnVjdCBmcmFtZSAqZiwgbG9uZyBpbnQgZmxhZ3MsIGJvb2wg dXNlcl9wb3NpdGlvbikKICAgICAgIGhpbnRfZmxhZ3MgfD0gR0RLX0hJTlRfVVNFUl9QT1M7 CiAgICAgfQogCi0gIHNpemVfaGludHMuYmFzZV93aWR0aCAvPSBzY2FsZTsKLSAgc2l6ZV9o aW50cy5iYXNlX2hlaWdodCAvPSBzY2FsZTsKLSAgc2l6ZV9oaW50cy53aWR0aF9pbmMgLz0g c2NhbGU7Ci0gIHNpemVfaGludHMuaGVpZ2h0X2luYyAvPSBzY2FsZTsKLQogICBpZiAoaGlu dF9mbGFncyAhPSBmLT5vdXRwdXRfZGF0YS54cC0+aGludF9mbGFncwogICAgICAgfHwgbWVt Y21wICgmc2l6ZV9oaW50cywKIAkJICZmLT5vdXRwdXRfZGF0YS54cC0+c2l6ZV9oaW50cywK IAkJIHNpemVvZiAoc2l6ZV9oaW50cykpICE9IDApCiAgICAgeworICAgICAgQ0FMTE4gKEZm dW5jYWxsLCBRZm9vX2l0LCBpbnRlcm4gKCJ4Z193bV9zZXRfc2l6ZV9oaW50IiksCisJICAg ICBpbnRlcm4gKCJzY2FsZSIpLCBtYWtlX2ZpeG51bSAoc2NhbGUpLAorCSAgICAgaW50ZXJu ICgiY2hhciB3aWR0aCIpLCBtYWtlX2ZpeG51bSAoRlJBTUVfQ09MVU1OX1dJRFRIIChmKSks CisJICAgICBpbnRlcm4gKCJ0b29sYmFyIiksIG1ha2VfZml4bnVtIChGUkFNRV9UT09MQkFS X1dJRFRIIChmKSksCisJICAgICBpbnRlcm4gKCJ2c2Nyb2xsIiksIG1ha2VfZml4bnVtIChG UkFNRV9TQ1JPTExfQkFSX0FSRUFfV0lEVEggKGYpKSwKKwkgICAgIGludGVybiAoImZyaW5n ZXMiKSwgbWFrZV9maXhudW0gKEZSQU1FX1RPVEFMX0ZSSU5HRV9XSURUSCAoZikpLAorCSAg ICAgaW50ZXJuICgiYm9yZGVycyIpLCBtYWtlX2ZpeG51bSAoMiAqIEZSQU1FX0lOVEVSTkFM X0JPUkRFUl9XSURUSCAoZikpLAorCSAgICAgaW50ZXJuICgidGV4dCB3aWR0aCIpLCBtYWtl X2ZpeG51bSAodGV4dF93aWR0aCksCisJICAgICBpbnRlcm4gKCJiYXNlIHdpZHRoIiksIG1h a2VfZml4bnVtIChzaXplX2hpbnRzLmJhc2Vfd2lkdGgpLAorCSAgICAgaW50ZXJuICgid2lk dGggaW5jIiksIG1ha2VfZml4bnVtIChzaXplX2hpbnRzLndpZHRoX2luYykpOworICAgICAg Q0FMTE4gKEZmdW5jYWxsLCBRZm9vX2l0LCBpbnRlcm4gKCIgICAiKSwKKwkgICAgIGludGVy biAoImNoYXIgaGVpZ2h0IiksIG1ha2VfZml4bnVtIChGUkFNRV9MSU5FX0hFSUdIVCAoZikp LAorCSAgICAgaW50ZXJuICgibWVudWJhciIpLCBtYWtlX2ZpeG51bSAoRlJBTUVfTUVOVUJB Ul9IRUlHSFQgKGYpKSwKKwkgICAgIGludGVybiAoInRvb2xiYXIiKSwgbWFrZV9maXhudW0g KEZSQU1FX1RPT0xCQVJfSEVJR0hUIChmKSksCisJICAgICBpbnRlcm4gKCJoc2Nyb2xsIiks IG1ha2VfZml4bnVtIChGUkFNRV9TQ1JPTExfQkFSX0FSRUFfSEVJR0hUIChmKSksCisJICAg ICBpbnRlcm4gKCJib3JkZXJzIiksIG1ha2VfZml4bnVtICgyICogRlJBTUVfSU5URVJOQUxf Qk9SREVSX1dJRFRIIChmKSksCisJICAgICBpbnRlcm4gKCJ0ZXh0IGhlaWdodCIpLCBtYWtl X2ZpeG51bSAodGV4dF9oZWlnaHQpLAorCSAgICAgaW50ZXJuICgiYmFzZSBoZWlnaHQiKSwg bWFrZV9maXhudW0gKHNpemVfaGludHMuYmFzZV9oZWlnaHQpLAorCSAgICAgaW50ZXJuICgi aGVpZ2h0IGluYyIpLCBtYWtlX2ZpeG51bSAoc2l6ZV9oaW50cy5oZWlnaHRfaW5jKSk7CisK ICAgICAgIGJsb2NrX2lucHV0ICgpOwogICAgICAgZ3RrX3dpbmRvd19zZXRfZ2VvbWV0cnlf aGludHMgKEdUS19XSU5ET1cgKEZSQU1FX0dUS19PVVRFUl9XSURHRVQgKGYpKSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCAmc2l6ZV9oaW50cywgaGlu dF9mbGFncyk7CmRpZmYgLS1naXQgYS9zcmMvZ3RrdXRpbC5oIGIvc3JjL2d0a3V0aWwuaApp bmRleCAxOTBkNjYyODMxLi4yMTI0NWRkZTVmIDEwMDY0NAotLS0gYS9zcmMvZ3RrdXRpbC5o CisrKyBiL3NyYy9ndGt1dGlsLmgKQEAgLTE1Myw3ICsxNTMsNyBAQCAjZGVmaW5lIFhHX0lU RU1fREFUQSAiZW1hY3NfbWVudWl0ZW0iCiBleHRlcm4gaW50IHhnX2dldF9kZWZhdWx0X3Nj cm9sbGJhcl93aWR0aCAoc3RydWN0IGZyYW1lICpmKTsKIGV4dGVybiBpbnQgeGdfZ2V0X2Rl ZmF1bHRfc2Nyb2xsYmFyX2hlaWdodCAoc3RydWN0IGZyYW1lICpmKTsKIAotZXh0ZXJuIHZv aWQgeGdfd21fc2V0X3NpemVfaGludCAoc3RydWN0IGZyYW1lICosIGxvbmcgaW50LCBib29s KTsKK2V4dGVybiB2b2lkIHhnX3dtX3NldF9zaXplX2hpbnQgKHN0cnVjdCBmcmFtZSAqLCBs b25nIGludCwgYm9vbCwgaW50LCBpbnQpOwogCiBleHRlcm4gdm9pZCB1cGRhdGVfZnJhbWVf dG9vbF9iYXIgKHN0cnVjdCBmcmFtZSAqZik7CiBleHRlcm4gdm9pZCBmcmVlX2ZyYW1lX3Rv b2xfYmFyIChzdHJ1Y3QgZnJhbWUgKmYpOwpkaWZmIC0tZ2l0IGEvc3JjL3BndGtmbnMuYyBi L3NyYy9wZ3RrZm5zLmMKaW5kZXggYTMyMDY3YWY4MS4uYTM5MTU0MWUxMCAxMDA2NDQKLS0t IGEvc3JjL3BndGtmbnMuYworKysgYi9zcmMvcGd0a2Zucy5jCkBAIC0xNjYyLDcgKzE2NjIs OCBAQCAjZGVmaW5lIElOU1RBTExfQ1VSU09SKEZJRUxELCBOQU1FKSBcCiAgICAgIGJhZGx5 IHdlIHdhbnQgdGhlbS4gIFRoaXMgc2hvdWxkIGJlIGRvbmUgYWZ0ZXIgd2UgaGF2ZSB0aGUg bWVudQogICAgICBiYXIgc28gdGhhdCBpdHMgc2l6ZSBjYW4gYmUgdGFrZW4gaW50byBhY2Nv dW50LiAgKi8KICAgYmxvY2tfaW5wdXQgKCk7Ci0gIHhnX3dtX3NldF9zaXplX2hpbnQgKGYs IHdpbmRvd19wcm9tcHRpbmcsIGZhbHNlKTsKKyAgeGdfd21fc2V0X3NpemVfaGludCAoZiwg d2luZG93X3Byb21wdGluZywgZmFsc2UsCisJCSAgICAgICBGUkFNRV9URVhUX1dJRFRIIChm KSwgRlJBTUVfVEVYVF9IRUlHSFQgKGYpKTsKICAgdW5ibG9ja19pbnB1dCAoKTsKIAogICBh ZGp1c3RfZnJhbWVfc2l6ZSAoZiwgRlJBTUVfVEVYVF9XSURUSCAoZiksIEZSQU1FX1RFWFRf SEVJR0hUIChmKSwKZGlmZiAtLWdpdCBhL3NyYy9wZ3RrdGVybS5jIGIvc3JjL3BndGt0ZXJt LmMKaW5kZXggMTNmNmM2YzNjNC4uOGIwNzdiZTE3OCAxMDA2NDQKLS0tIGEvc3JjL3BndGt0 ZXJtLmMKKysrIGIvc3JjL3BndGt0ZXJtLmMKQEAgLTY1OCw3ICs2NTgsNyBAQCBwZ3RrX3Nl dF9vZmZzZXQgKHN0cnVjdCBmcmFtZSAqZiwgaW50IHhvZmYsIGludCB5b2ZmLCBpbnQgY2hh bmdlX2dyYXZpdHkpCiAgIHBndGtfY2FsY19hYnNvbHV0ZV9wb3NpdGlvbiAoZik7CiAKICAg YmxvY2tfaW5wdXQgKCk7Ci0gIHhnX3dtX3NldF9zaXplX2hpbnQgKGYsIDAsIGZhbHNlKTsK KyAgeGdfd21fc2V0X3NpemVfaGludCAoZiwgMCwgZmFsc2UsIC0xLCAtMSk7CiAKICAgaWYg KGNoYW5nZV9ncmF2aXR5ICE9IDApCiAgICAgewpAQCAtNzA1LDcgKzcwNSw4IEBAIHBndGtf c2V0X3dpbmRvd19zaXplIChzdHJ1Y3QgZnJhbWUgKmYsIGJvb2wgY2hhbmdlX2dyYXZpdHks CiAKICAgZi0+b3V0cHV0X2RhdGEucGd0ay0+cHJlZmVycmVkX3dpZHRoID0gcGl4ZWx3aWR0 aDsKICAgZi0+b3V0cHV0X2RhdGEucGd0ay0+cHJlZmVycmVkX2hlaWdodCA9IHBpeGVsaGVp Z2h0OwotICB4Z193bV9zZXRfc2l6ZV9oaW50IChmLCAwLCAwKTsKKyAgeGdfd21fc2V0X3Np emVfaGludCAoZiwgMCwgMCwgRlJBTUVfUElYRUxfVE9fVEVYVF9XSURUSCAocGl4ZWx3aWR0 aCksCisJCSAgICAgICBGUkFNRV9QSVhFTF9UT19URVhUX0hFSUdIVCAocGl4ZWxoZWlnaHQp KTsKICAgeGdfZnJhbWVfc2V0X2NoYXJfc2l6ZSAoZiwgcGl4ZWx3aWR0aCwgcGl4ZWxoZWln aHQpOwogICBndGtfd2lkZ2V0X3F1ZXVlX3Jlc2l6ZSAoRlJBTUVfV0lER0VUIChmKSk7CiAK QEAgLTk5Myw3ICs5OTQsMTAgQEAgcGd0a19zZXRfcGFyZW50X2ZyYW1lIChzdHJ1Y3QgZnJh bWUgKmYsIExpc3BfT2JqZWN0IG5ld192YWx1ZSwKIAkJCSAgICAgIGZpeGVkLCBUUlVFLCBU UlVFLCAwKTsKIAkgIGYtPm91dHB1dF9kYXRhLnBndGstPnByZWZlcnJlZF93aWR0aCA9IGFs bG9jLndpZHRoOwogCSAgZi0+b3V0cHV0X2RhdGEucGd0ay0+cHJlZmVycmVkX2hlaWdodCA9 IGFsbG9jLmhlaWdodDsKLQkgIHhnX3dtX3NldF9zaXplX2hpbnQgKGYsIDAsIDApOworCSAg eGdfd21fc2V0X3NpemVfaGludCAoZiwgMCwgMCwgRlJBTUVfUElYRUxfVE9fVEVYVF9XSURU SCAoYWxsb2Mud2lkdGgpLAorCQkJICAgICAgIEZSQU1FX1BJWEVMX1RPX1RFWFRfSEVJR0hU IChhbGxvYy5oZWlnaHQpKTsKKwkgIC8qIFdoeSBjb252ZXJ0IGhlcmU/ICB4Z19mcmFtZV9z ZXRfY2hhcl9zaXplIHdhbnRzIG5hdGl2ZQorCSAgICAgcGl4ZWxzLiAgKi8KIAkgIHhnX2Zy YW1lX3NldF9jaGFyX3NpemUgKGYsIEZSQU1FX1BJWEVMX1RPX1RFWFRfV0lEVEggKGYsIGFs bG9jLndpZHRoKSwKIAkJCQkgIEZSQU1FX1BJWEVMX1RPX1RFWFRfSEVJR0hUIChmLCBhbGxv Yy5oZWlnaHQpKTsKIAkgIGd0a193aWRnZXRfcXVldWVfcmVzaXplIChGUkFNRV9XSURHRVQg KGYpKTsKZGlmZiAtLWdpdCBhL3NyYy93aWRnZXQuYyBiL3NyYy93aWRnZXQuYwppbmRleCBh YWFiMzNiNmQ4Li43NDY4YmY2M2ZjIDEwMDY0NAotLS0gYS9zcmMvd2lkZ2V0LmMKKysrIGIv c3JjL3dpZGdldC5jCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAic3lzc3RkaW8uaCIK ICNpbmNsdWRlICJ4dGVybS5oIgogI2luY2x1ZGUgImZyYW1lLmgiCisjaW5jbHVkZSAiYmxv Y2tpbnB1dC5oIgogCiAjaW5jbHVkZSA8WDExL1N0cmluZ0RlZnMuaD4KICNpbmNsdWRlIDxY MTEvSW50cmluc2ljUC5oPgpAQCAtMTU0LDE1ICsxNTUsNiBAQCBlbWFjc0ZyYW1lQ2xhc3Mg KHZvaWQpCiAgIHJldHVybiAoV2lkZ2V0Q2xhc3MpICZlbWFjc0ZyYW1lQ2xhc3NSZWM7CiB9 CiAKLXN0YXRpYyB2b2lkCi1nZXRfZGVmYXVsdF9jaGFyX3BpeGVsX3NpemUgKEVtYWNzRnJh bWUgZXcsIGludCAqcGl4ZWxfd2lkdGgsIGludCAqcGl4ZWxfaGVpZ2h0KQotewotICBzdHJ1 Y3QgZnJhbWUgKmYgPSBldy0+ZW1hY3NfZnJhbWUuZnJhbWU7Ci0KLSAgKnBpeGVsX3dpZHRo ID0gRlJBTUVfQ09MVU1OX1dJRFRIIChmKTsKLSAgKnBpeGVsX2hlaWdodCA9IEZSQU1FX0xJ TkVfSEVJR0hUIChmKTsKLX0KLQogc3RhdGljIHZvaWQKIHBpeGVsX3RvX2NoYXJfc2l6ZSAo RW1hY3NGcmFtZSBldywgRGltZW5zaW9uIHBpeGVsX3dpZHRoLAogCQkgICAgRGltZW5zaW9u IHBpeGVsX2hlaWdodCwgaW50ICpjaGFyX3dpZHRoLCBpbnQgKmNoYXJfaGVpZ2h0KQpAQCAt MjA3LDEyMCArMTk5LDk3IEBAIGdldF93bV9zaGVsbCAoV2lkZ2V0IHcpCiAgIHJldHVybiAo V01TaGVsbFdpZGdldCkgd21zaGVsbDsKIH0KIAotI2lmIDAgLyogQ3VycmVudGx5IG5vdCB1 c2VkLiAgKi8KLQotc3RhdGljIHZvaWQKLW1hcmtfc2hlbGxfc2l6ZV91c2VyX3NwZWNpZmll ZCAoV2lkZ2V0IHdtc2hlbGwpCi17Ci0gIGlmICghIFh0SXNXTVNoZWxsICh3bXNoZWxsKSkg ZW1hY3NfYWJvcnQgKCk7Ci0gIC8qIFRoaXMgaXMga2luZCBvZiBzbGVhenksIGJ1dCBJIGNh bid0IHNlZSBob3cgZWxzZSB0byB0ZWxsIGl0IHRvIG1ha2UgaXQKLSAgICAgbWFyayB0aGUg V01fU0laRV9ISU5UUyBzaXplIGFzIHVzZXIgc3BlY2lmaWVkIHdoZW4gYXBwcm9wcmlhdGUu ICovCi0gICgoV01TaGVsbFdpZGdldCkgd21zaGVsbCktPndtLnNpemVfaGludHMuZmxhZ3Mg fD0gVVNTaXplOwotfQotCi0jZW5kaWYKLQotCiBzdGF0aWMgdm9pZAogc2V0X2ZyYW1lX3Np emUgKEVtYWNzRnJhbWUgZXcpCiB7Ci0gIC8qIFRoZSB3aWRnZXQgaGllcmFyY2h5IGlzCi0K LQlhcmd2WzBdCQkJZW1hY3NTaGVsbAlwYW5lCUZyYW1lLU5BTUUKLQlBcHBsaWNhdGlvblNo ZWxsCUVtYWNzU2hlbGwJUGFuZWQJRW1hY3NGcmFtZQotCi0gICAgIFdlIGFjY2VwdCBnZW9t ZXRyeSBzcGVjcyBpbiB0aGlzIG9yZGVyOgotCi0JKkZyYW1lLU5BTUUuZ2VvbWV0cnkKLQkq RW1hY3NGcmFtZS5nZW9tZXRyeQotCUVtYWNzLmdlb21ldHJ5Ci0KLSAgICAgT3RoZXIgcG9z c2liaWxpdGllcyBmb3Igd2lkZ2V0IGhpZXJhcmNoaWVzIG1pZ2h0IGJlCi0KLQlhcmd2WzBd CQkJZnJhbWUJCXBhbmUJRnJhbWUtTkFNRQotCUFwcGxpY2F0aW9uU2hlbGwJRW1hY3NTaGVs bAlQYW5lZAlFbWFjc0ZyYW1lCi0gICAgIG9yCi0JYXJndlswXQkJCUZyYW1lLU5BTUUJcGFu ZQlGcmFtZS1OQU1FCi0JQXBwbGljYXRpb25TaGVsbAlFbWFjc1NoZWxsCVBhbmVkCUVtYWNz RnJhbWUKLSAgICAgb3IKLQlhcmd2WzBdCQkJRnJhbWUtTkFNRQlwYW5lCWVtYWNzVGV4dFBh bmUKLQlBcHBsaWNhdGlvblNoZWxsCUVtYWNzRnJhbWUJUGFuZWQJRW1hY3NUZXh0UGFuZQot Ci0gICAgIFdpdGggdGhlIGN1cnJlbnQgc2V0dXAsIHRoZSB0ZXh0LWRpc3BsYXktYXJlYSBp cyB0aGUgcGFydCB3aGljaCBpcwotICAgICBhbiBlbWFjcyAiZnJhbWUiLCBzaW5jZSB0aGF0 J3MgdGhlIG9ubHkgcGFydCBtYW5hZ2VkIGJ5IGVtYWNzIHByb3BlcgotICAgICAodGhlIG1l bnViYXIgYW5kIHRoZSBwYXJlbnQgb2YgdGhlIG1lbnViYXIgYW5kIGFsbCB0aGF0IHNvcnQg b2YgdGhpbmcKLSAgICAgYXJlIG1hbmFnZWQgYnkgbHdsaWIuKQotCi0gICAgIFRoZSBFbWFj c1NoZWxsIHdpZGdldCBpcyBzaW1wbHkgYSByZXBsYWNlbWVudCBmb3IgdGhlIFNoZWxsIHdp ZGdldAotICAgICB3aGljaCBpcyBhYmxlIHRvIGRlYWwgd2l0aCB1c2luZyBhbiBleHRlcm5h bGx5LXN1cHBsaWVkIHdpbmRvdyBpbnN0ZWFkCi0gICAgIG9mIGFsd2F5cyBjcmVhdGluZyBp dHMgb3duLiAgSXQgaXMgbm90IGFjdHVhbGx5IGVtYWNzIHNwZWNpZmljLCBhbmQKLSAgICAg c2hvdWxkIHBvc3NpYmx5IGhhdmUgY2xhc3MgIlNoZWxsIiBpbnN0ZWFkIG9mICJFbWFjc1No ZWxsIiB0byBzaW1wbGlmeQotICAgICB0aGUgcmVzb3VyY2VzLgotCi0gICAqLwotCiAgIHN0 cnVjdCBmcmFtZSAqZiA9IGV3LT5lbWFjc19mcmFtZS5mcmFtZTsKIAogICBldy0+Y29yZS53 aWR0aCA9IEZSQU1FX1BJWEVMX1dJRFRIIChmKTsKICAgZXctPmNvcmUuaGVpZ2h0ID0gRlJB TUVfUElYRUxfSEVJR0hUIChmKTsKIAotICBpZiAoQ09OU1AgKGZyYW1lX3NpemVfaGlzdG9y eSkpCi0gICAgZnJhbWVfc2l6ZV9oaXN0b3J5X3BsYWluCi0gICAgICAoZiwgYnVpbGRfc3Ry aW5nICgic2V0X2ZyYW1lX3NpemUiKSk7CisgIENBTExOIChGZnVuY2FsbCwgUWZvb19pdCwg YnVpbGRfc3RyaW5nICgic2V0X2ZyYW1lX3NpemUiKSwKKwkgYnVpbGRfc3RyaW5nICgibmF0 aXZlIHBpeGVscyIpLAorCSBGY29ucyAobWFrZV9maXhudW0gKEZSQU1FX1BJWEVMX1dJRFRI IChmKSksCisJCW1ha2VfZml4bnVtIChGUkFNRV9QSVhFTF9IRUlHSFQgKGYpKSkpOwogfQog CiBzdGF0aWMgYm9vbAotdXBkYXRlX3dtX2hpbnRzIChXTVNoZWxsV2lkZ2V0IHdtc2hlbGws IEVtYWNzRnJhbWUgZXcpCit1cGRhdGVfd21faGludHMgKFdNU2hlbGxXaWRnZXQgd21zaGVs bCwgRW1hY3NGcmFtZSBldywgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQogewotICBpbnQgY3c7 Ci0gIGludCBjaDsKLSAgRGltZW5zaW9uIHJvdW5kZWRfd2lkdGg7Ci0gIERpbWVuc2lvbiBy b3VuZGVkX2hlaWdodDsKLSAgaW50IGNoYXJfd2lkdGg7Ci0gIGludCBjaGFyX2hlaWdodDsK LSAgaW50IGJhc2Vfd2lkdGg7Ci0gIGludCBiYXNlX2hlaWdodDsKLSAgY2hhciBidWZmZXJb c2l6ZW9mIHdtc2hlbGwtPndtLnNpemVfaGludHNdOwotICBjaGFyICpoaW50c19wdHI7Ci0K LSAgLyogQ29weSB0aGUgb2xkIHNpemUgaGludHMgdG8gdGhlIGJ1ZmZlci4gICovCi0gIG1l bWNweSAoYnVmZmVyLCAmd21zaGVsbC0+d20uc2l6ZV9oaW50cywKLQkgIHNpemVvZiB3bXNo ZWxsLT53bS5zaXplX2hpbnRzKTsKLQotICBwaXhlbF90b19jaGFyX3NpemUgKGV3LCBldy0+ Y29yZS53aWR0aCwgZXctPmNvcmUuaGVpZ2h0LAotCQkgICAgICAmY2hhcl93aWR0aCwgJmNo YXJfaGVpZ2h0KTsKLSAgY2hhcl90b19waXhlbF9zaXplIChldywgY2hhcl93aWR0aCwgY2hh cl9oZWlnaHQsCi0JCSAgICAgICZyb3VuZGVkX3dpZHRoLCAmcm91bmRlZF9oZWlnaHQpOwot ICBnZXRfZGVmYXVsdF9jaGFyX3BpeGVsX3NpemUgKGV3LCAmY3csICZjaCk7Ci0KLSAgYmFz ZV93aWR0aCA9ICh3bXNoZWxsLT5jb3JlLndpZHRoIC0gZXctPmNvcmUud2lkdGgKLQkJKyAo cm91bmRlZF93aWR0aCAtIChjaGFyX3dpZHRoICogY3cpKSk7Ci0gIGJhc2VfaGVpZ2h0ID0g KHdtc2hlbGwtPmNvcmUuaGVpZ2h0IC0gZXctPmNvcmUuaGVpZ2h0Ci0JCSArIChyb3VuZGVk X2hlaWdodCAtIChjaGFyX2hlaWdodCAqIGNoKSkpOworICBzdHJ1Y3QgZnJhbWUgKmYgPSBl dy0+ZW1hY3NfZnJhbWUuZnJhbWU7CisgIGludCBjaGFyX3dpZHRoID0gZnJhbWVfcmVzaXpl X3BpeGVsd2lzZSA/IDEgOiBGUkFNRV9DT0xVTU5fV0lEVEggKGYpOworICBpbnQgY2hhcl9o ZWlnaHQgPSBmcmFtZV9yZXNpemVfcGl4ZWx3aXNlID8gMSA6IEZSQU1FX0xJTkVfSEVJR0hU IChmKTsKKyAgaW50IGJhc2Vfd2lkdGgKKyAgICA9IChGUkFNRV9URVhUX0NPTFNfVE9fUElY RUxfV0lEVEggKGYsIDEpCisgICAgICAgKyAoKCh3aWR0aCA8IDApID8gRlJBTUVfVEVYVF9X SURUSCAoZikgOiB3aWR0aCkgJSBjaGFyX3dpZHRoKSk7CisgIGludCBiYXNlX2hlaWdodAor ICAgID0gKEZSQU1FX1RFWFRfTElORVNfVE9fUElYRUxfSEVJR0hUIChmLCAxKQorICAgICAg ICsgRlJBTUVfTUVOVUJBUl9IRUlHSFQgKGYpCisgICAgICAgKyAoKChoZWlnaHQgPCAwKSA/ IEZSQU1FX1RFWFRfSEVJR0hUIChmKSA6IGhlaWdodCkgJSBjaGFyX2hlaWdodCkpOworICBp bnQgbWluX3dpZHRoID0gYmFzZV93aWR0aDsKKyAgaW50IG1pbl9oZWlnaHQgPSBiYXNlX2hl aWdodDsKKyAgYm9vbCB2YWx1ZTsKKworICBpbnQgb2xkX2Jhc2Vfd2lkdGgsIG9sZF9iYXNl X2hlaWdodDsKKyAgaW50IG9sZF9jaGFyX3dpZHRoLCBvbGRfY2hhcl9oZWlnaHQ7CisgIGlu dCBvbGRfbWluX3dpZHRoLCBvbGRfbWluX2hlaWdodDsKKworICBibG9ja19pbnB1dCAoKTsK KyAgWHRWYUdldFZhbHVlcyAoKFdpZGdldCkgd21zaGVsbCwKKwkJIFh0TmJhc2VXaWR0aCwg Jm9sZF9iYXNlX3dpZHRoLAorCQkgWHROYmFzZUhlaWdodCwgJm9sZF9iYXNlX2hlaWdodCwK KwkJIFh0TndpZHRoSW5jLCAmb2xkX2NoYXJfd2lkdGgsCisJCSBYdE5oZWlnaHRJbmMsICZv bGRfY2hhcl9oZWlnaHQsCisJCSBYdE5taW5XaWR0aCwgJm9sZF9taW5fd2lkdGgsCisJCSBY dE5taW5IZWlnaHQsICZvbGRfbWluX2hlaWdodCwKKwkJIE5VTEwpOworICB1bmJsb2NrX2lu cHV0ICgpOwogCiAgIFh0VmFTZXRWYWx1ZXMgKChXaWRnZXQpIHdtc2hlbGwsCiAJCSBYdE5i YXNlV2lkdGgsIChYdEFyZ1ZhbCkgYmFzZV93aWR0aCwKIAkJIFh0TmJhc2VIZWlnaHQsIChY dEFyZ1ZhbCkgYmFzZV9oZWlnaHQsCi0JCSBYdE53aWR0aEluYywgKFh0QXJnVmFsKSAoZnJh bWVfcmVzaXplX3BpeGVsd2lzZSA/IDEgOiBjdyksCi0JCSBYdE5oZWlnaHRJbmMsIChYdEFy Z1ZhbCkgKGZyYW1lX3Jlc2l6ZV9waXhlbHdpc2UgPyAxIDogY2gpLAotCQkgWHRObWluV2lk dGgsIChYdEFyZ1ZhbCkgYmFzZV93aWR0aCwKLQkJIFh0Tm1pbkhlaWdodCwgKFh0QXJnVmFs KSBiYXNlX2hlaWdodCwKKwkJIFh0TndpZHRoSW5jLCAoWHRBcmdWYWwpIGNoYXJfd2lkdGgs CisJCSBYdE5oZWlnaHRJbmMsIChYdEFyZ1ZhbCkgY2hhcl9oZWlnaHQsCisJCSBYdE5taW5X aWR0aCwgKFh0QXJnVmFsKSBtaW5fd2lkdGgsCisJCSBYdE5taW5IZWlnaHQsIChYdEFyZ1Zh bCkgbWluX2hlaWdodCwKIAkJIE5VTEwpOwogCi0gIC8qIFJldHVybiBpZiBzaXplIGhpbnRz IHJlYWxseSBjaGFuZ2VkLiAgSWYgdGhleSBkaWQgbm90LCB0aGVuIFh0Ci0gICAgIHByb2Jh Ymx5IGRpZG4ndCBzZXQgdGhlbSBlaXRoZXIgKG9yIHRha2UgdGhlIGZsYWdzIGludG8KLSAg ICAgYWNjb3VudC4pICAqLwotICBoaW50c19wdHIgPSAoY2hhciAqKSAmd21zaGVsbC0+d20u c2l6ZV9oaW50czsKKyAgdmFsdWUgPSAoYmFzZV93aWR0aCAhPSBvbGRfYmFzZV93aWR0aCB8 fCBiYXNlX2hlaWdodCAhPSBvbGRfYmFzZV9oZWlnaHQKKwkgICB8fCBjaGFyX3dpZHRoICE9 IG9sZF9jaGFyX3dpZHRoIHx8IGNoYXJfaGVpZ2h0ICE9IG9sZF9jaGFyX2hlaWdodAorCSAg IHx8IG1pbl93aWR0aCAhPSBvbGRfbWluX3dpZHRoIHx8IG1pbl9oZWlnaHQgIT0gb2xkX21p bl9oZWlnaHQpOwogCi0gIC8qIFNraXAgZmxhZ3MsIHdoaWNoIGlzIHVuc2lnbmVkIGxvbmcu ICAqLwotICByZXR1cm4gbWVtY21wIChoaW50c19wdHIgKyBzaXplb2YgKGxvbmcpLCBidWZm ZXIgKyBzaXplb2YgKGxvbmcpLAotCQkgc2l6ZW9mIHdtc2hlbGwtPndtLndtX2hpbnRzIC0g c2l6ZW9mIChsb25nKSk7CisgIGlmICh2YWx1ZSkKKyAgICB7CisgICAgICBDQUxMTiAoRmZ1 bmNhbGwsIFFmb29faXQsIGJ1aWxkX3N0cmluZyAoInVwZGF0ZV93bV9oaW50cyIpLAorCSAg ICAgYnVpbGRfc3RyaW5nICgiY2hhciB3aWR0aCIpLCBtYWtlX2ZpeG51bSAoRlJBTUVfQ09M VU1OX1dJRFRIIChmKSksCisJICAgICBidWlsZF9zdHJpbmcgKCJvbGQgY2hhciB3aWR0aCIp LCBtYWtlX2ZpeG51bSAob2xkX2NoYXJfd2lkdGgpLAorCSAgICAgYnVpbGRfc3RyaW5nICgi dnNjcm9sbCIpLCBtYWtlX2ZpeG51bSAoRlJBTUVfU0NST0xMX0JBUl9BUkVBX1dJRFRIIChm KSksCisJICAgICBidWlsZF9zdHJpbmcgKCJmcmluZ2VzIiksIG1ha2VfZml4bnVtIChGUkFN RV9UT1RBTF9GUklOR0VfV0lEVEggKGYpKSwKKwkgICAgIGJ1aWxkX3N0cmluZyAoImJvcmRl cnMiKSwgbWFrZV9maXhudW0gKDIgKiBGUkFNRV9JTlRFUk5BTF9CT1JERVJfV0lEVEggKGYp KSwKKwkgICAgIGJ1aWxkX3N0cmluZyAoImJhc2Ugd2lkdGgiKSwgbWFrZV9maXhudW0gKGJh c2Vfd2lkdGgpLAorCSAgICAgYnVpbGRfc3RyaW5nICgib2xkX2Jhc2Ugd2lkdGgiKSwgbWFr ZV9maXhudW0gKG9sZF9iYXNlX3dpZHRoKSwKKwkgICAgIGJ1aWxkX3N0cmluZyAoIm1pbiB3 aWR0aCIpLCBtYWtlX2ZpeG51bSAobWluX3dpZHRoKSwKKwkgICAgIGJ1aWxkX3N0cmluZyAo Im9sZCBtaW4gd2lkdGgiKSwgbWFrZV9maXhudW0gKG9sZF9taW5fd2lkdGgpKTsKKyAgICAg IENBTExOIChGZnVuY2FsbCwgUWZvb19pdCwgYnVpbGRfc3RyaW5nICgiICAgIiksCisJICAg ICBidWlsZF9zdHJpbmcgKCJjaGFyIGhlaWdodCIpLCBtYWtlX2ZpeG51bSAoRlJBTUVfTElO RV9IRUlHSFQgKGYpKSwKKwkgICAgIGJ1aWxkX3N0cmluZyAoIm9sZCBjaGFyIGhlaWdodCIp LCBtYWtlX2ZpeG51bSAob2xkX2NoYXJfaGVpZ2h0KSwKKwkgICAgIGJ1aWxkX3N0cmluZyAo Im1lbnViYXIiKSwgbWFrZV9maXhudW0gKEZSQU1FX01FTlVCQVJfSEVJR0hUIChmKSksCisJ ICAgICBidWlsZF9zdHJpbmcgKCJoc2Nyb2xsIiksIG1ha2VfZml4bnVtIChGUkFNRV9TQ1JP TExfQkFSX0FSRUFfSEVJR0hUIChmKSksCisJICAgICBidWlsZF9zdHJpbmcgKCJib3JkZXJz IiksIG1ha2VfZml4bnVtICgyICogRlJBTUVfSU5URVJOQUxfQk9SREVSX1dJRFRIIChmKSks CisJICAgICBidWlsZF9zdHJpbmcgKCJiYXNlIGhlaWdodCIpLCBtYWtlX2ZpeG51bSAoYmFz ZV9oZWlnaHQpLAorCSAgICAgYnVpbGRfc3RyaW5nICgib2xkIGJhc2UgaGVpZ2h0IiksIG1h a2VfZml4bnVtIChvbGRfYmFzZV9oZWlnaHQpLAorCSAgICAgYnVpbGRfc3RyaW5nICgibWlu IGhlaWdodCIpLCBtYWtlX2ZpeG51bSAobWluX2hlaWdodCksCisJICAgICBidWlsZF9zdHJp bmcgKCJvbGQgbWluIGhlaWdodCIpLCBtYWtlX2ZpeG51bSAob2xkX21pbl9oZWlnaHQpKTsK KyAgICB9CisKKyAgcmV0dXJuIHZhbHVlOwogfQogCiBib29sCi13aWRnZXRfdXBkYXRlX3dt X3NpemVfaGludHMgKFdpZGdldCB3aWRnZXQsIFdpZGdldCBmcmFtZSkKK3dpZGdldF91cGRh dGVfd21fc2l6ZV9oaW50cyAoV2lkZ2V0IHdpZGdldCwgV2lkZ2V0IGZyYW1lLCBpbnQgd2lk dGgsIGludCBoZWlnaHQpCiB7Ci0gIHJldHVybiB1cGRhdGVfd21faGludHMgKChXTVNoZWxs V2lkZ2V0KSB3aWRnZXQsIChFbWFjc0ZyYW1lKSBmcmFtZSk7CisgIHJldHVybiB1cGRhdGVf d21faGludHMgKChXTVNoZWxsV2lkZ2V0KSB3aWRnZXQsIChFbWFjc0ZyYW1lKSBmcmFtZSwK KwkJCSAgd2lkdGgsIGhlaWdodCk7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0zMzcsNyArMzA2 LDcgQEAgdXBkYXRlX2Zyb21fdmFyaW91c19mcmFtZV9zbG90cyAoRW1hY3NGcmFtZSBldykK ICAgc3RydWN0IGZyYW1lICpmID0gZXctPmVtYWNzX2ZyYW1lLmZyYW1lOwogICBzdHJ1Y3Qg eF9vdXRwdXQgKnggPSBmLT5vdXRwdXRfZGF0YS54OwogCi0gIGV3LT5jb3JlLmhlaWdodCA9 IEZSQU1FX1BJWEVMX0hFSUdIVCAoZikgLSB4LT5tZW51YmFyX2hlaWdodDsKKyAgZXctPmNv cmUuaGVpZ2h0ID0gRlJBTUVfUElYRUxfSEVJR0hUIChmKTsgLy8gLSB4LT5tZW51YmFyX2hl aWdodDsKICAgZXctPmNvcmUud2lkdGggPSBGUkFNRV9QSVhFTF9XSURUSCAoZik7CiAgIGV3 LT5jb3JlLmJhY2tncm91bmRfcGl4ZWwgPSBGUkFNRV9CQUNLR1JPVU5EX1BJWEVMIChmKTsK ICAgZXctPmVtYWNzX2ZyYW1lLmludGVybmFsX2JvcmRlcl93aWR0aCA9IGYtPmludGVybmFs X2JvcmRlcl93aWR0aDsKQEAgLTM0NSwxMiArMzE0LDExIEBAIHVwZGF0ZV9mcm9tX3Zhcmlv dXNfZnJhbWVfc2xvdHMgKEVtYWNzRnJhbWUgZXcpCiAgIGV3LT5lbWFjc19mcmFtZS5jdXJz b3JfY29sb3IgPSB4LT5jdXJzb3JfcGl4ZWw7CiAgIGV3LT5jb3JlLmJvcmRlcl9waXhlbCA9 IHgtPmJvcmRlcl9waXhlbDsKIAotICBpZiAoQ09OU1AgKGZyYW1lX3NpemVfaGlzdG9yeSkp Ci0gICAgZnJhbWVfc2l6ZV9oaXN0b3J5X2V4dHJhCi0gICAgICAoZiwgYnVpbGRfc3RyaW5n ICgidXBkYXRlX2Zyb21fdmFyaW91c19mcmFtZV9zbG90cyIpLAotICAgICAgIEZSQU1FX1BJ WEVMX1dJRFRIIChmKSwgRlJBTUVfUElYRUxfSEVJR0hUIChmKSwKLSAgICAgICBldy0+Y29y ZS53aWR0aCwgZXctPmNvcmUuaGVpZ2h0LAotICAgICAgIGYtPm5ld193aWR0aCwgZi0+bmV3 X2hlaWdodCk7CisgIENBTExOIChGZnVuY2FsbCwgUWZvb19pdCwKKwkgYnVpbGRfc3RyaW5n ICgidXBkYXRlX2Zyb21fdmFyaW91c19mcmFtZV9zbG90cyIpLAorCSBidWlsZF9zdHJpbmcg KCJuYXRpdmUgcGl4ZWxzIiksCisJIChGY29ucyAobWFrZV9maXhudW0gKEZSQU1FX1BJWEVM X1dJRFRIIChmKSksCisJCSBtYWtlX2ZpeG51bSAoRlJBTUVfUElYRUxfSEVJR0hUIChmKSkp KSk7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0zODQsNyArMzUyLDYgQEAgRW1hY3NGcmFtZVJl YWxpemUgKFdpZGdldCB3aWRnZXQsIFh0VmFsdWVNYXNrICptYXNrLAogCQkgICBYU2V0V2lu ZG93QXR0cmlidXRlcyAqYXR0cnMpCiB7CiAgIEVtYWNzRnJhbWUgZXcgPSAoRW1hY3NGcmFt ZSkgd2lkZ2V0OwotICBzdHJ1Y3QgZnJhbWUgKmYgPSBldy0+ZW1hY3NfZnJhbWUuZnJhbWU7 CiAKICAgLyogVGhpcyB1c2VkIHRvIGNvbnRhaW4gU3Vic3RydWN0dXJlUmVkaXJlY3RNYXNr LCBidXQgdGhpcyB0dXJucyBvdXQKICAgICAgdG8gYmUgYSBwcm9ibGVtIHdpdGggWElNIG9u IFNvbGFyaXMsIGFuZCBldmVudHMgZnJvbSB0aGF0IG1hc2sKQEAgLTM5OSwxMiArMzY2LDgg QEAgRW1hY3NGcmFtZVJlYWxpemUgKFdpZGdldCB3aWRnZXQsIFh0VmFsdWVNYXNrICptYXNr LAogICAgICBtYWtlIHN1cmUgd2UgZ2V0IHRoZW0gYWxsLiAgU2VlbiB3aXRoIHhmY3dtNCBm b3IgZXhhbXBsZS4gICovCiAgIFh0QWRkUmF3RXZlbnRIYW5kbGVyICh3aWRnZXQsIFN0cnVj dHVyZU5vdGlmeU1hc2ssIEZhbHNlLCByZXNpemVfY2IsIE5VTEwpOwogCi0gIGlmIChDT05T UCAoZnJhbWVfc2l6ZV9oaXN0b3J5KSkKLSAgICBmcmFtZV9zaXplX2hpc3RvcnlfcGxhaW4K LSAgICAgIChmLCBidWlsZF9zdHJpbmcgKCJFbWFjc0ZyYW1lUmVhbGl6ZSIpKTsKLQogICBp ZiAoZ2V0X3dtX3NoZWxsICh3aWRnZXQpKQotICAgIHVwZGF0ZV93bV9oaW50cyAoZ2V0X3dt X3NoZWxsICh3aWRnZXQpLCBldyk7CisgICAgdXBkYXRlX3dtX2hpbnRzIChnZXRfd21fc2hl bGwgKHdpZGdldCksIGV3LCAtMSwgLTEpOwogfQogCiBzdGF0aWMgdm9pZApAQCAtNDE5LDE4 ICszODIsMjMgQEAgRW1hY3NGcmFtZVJlc2l6ZSAoV2lkZ2V0IHdpZGdldCkKICAgRW1hY3NG cmFtZSBldyA9IChFbWFjc0ZyYW1lKSB3aWRnZXQ7CiAgIHN0cnVjdCBmcmFtZSAqZiA9IGV3 LT5lbWFjc19mcmFtZS5mcmFtZTsKIAotICBpZiAoQ09OU1AgKGZyYW1lX3NpemVfaGlzdG9y eSkpCi0gICAgZnJhbWVfc2l6ZV9oaXN0b3J5X2V4dHJhCi0gICAgICAoZiwgYnVpbGRfc3Ry aW5nICgiRW1hY3NGcmFtZVJlc2l6ZSIpLAotICAgICAgIEZSQU1FX1BJWEVMX1dJRFRIIChm KSwgRlJBTUVfUElYRUxfSEVJR0hUIChmKSwKLSAgICAgICBldy0+Y29yZS53aWR0aCwgZXct PmNvcmUuaGVpZ2h0LAotICAgICAgIGYtPm5ld193aWR0aCwgZi0+bmV3X2hlaWdodCk7Cisg IGlmIChGUkFNRV9QSVhFTF9XSURUSCAoZikgIT0gZXctPmNvcmUud2lkdGgKKyAgICAgIHx8 IEZSQU1FX1BJWEVMX0hFSUdIVCAoZikJIT0gZXctPmNvcmUuaGVpZ2h0KQorICAgIENBTExO IChGZnVuY2FsbCwgUWZvb19pdCwgYnVpbGRfc3RyaW5nICgiRW1hY3NGcmFtZVJlc2l6ZSIp LAorCSAgIGJ1aWxkX3N0cmluZyAoIm9sZCBuYXRpdmUgcGl4ZWxzIiksCisJICAgRmNvbnMg KG1ha2VfZml4bnVtIChGUkFNRV9QSVhFTF9XSURUSCAoZikpLAorCQkgIG1ha2VfZml4bnVt IChGUkFNRV9QSVhFTF9IRUlHSFQgKGYpKSksCisJICAgYnVpbGRfc3RyaW5nICgibmV3IG5h dGl2ZSBwaXhlbHMiKSwKKwkgICBGY29ucyAobWFrZV9maXhudW0gKGV3LT5jb3JlLndpZHRo KSwKKwkJICBtYWtlX2ZpeG51bSAoZXctPmNvcmUuaGVpZ2h0KSkpOwogCiAgIGNoYW5nZV9m cmFtZV9zaXplIChmLCBldy0+Y29yZS53aWR0aCwgZXctPmNvcmUuaGVpZ2h0LAogCQkgICAg IGZhbHNlLCB0cnVlLCBmYWxzZSk7CiAKICAgaWYgKGdldF93bV9zaGVsbCAod2lkZ2V0KSkK LSAgICB1cGRhdGVfd21faGludHMgKGdldF93bV9zaGVsbCAod2lkZ2V0KSwgZXcpOworICAg IHVwZGF0ZV93bV9oaW50cyAoZ2V0X3dtX3NoZWxsICh3aWRnZXQpLCBldywKKwkJICAgICBG UkFNRV9QSVhFTF9UT19URVhUX1dJRFRIIChmLCBldy0+Y29yZS53aWR0aCksCisJCSAgICAg RlJBTUVfUElYRUxfVE9fVEVYVF9IRUlHSFQgKGYsIGV3LT5jb3JlLmhlaWdodCkpOwogICB1 cGRhdGVfdmFyaW91c19mcmFtZV9zbG90cyAoZXcpOwogCiAgIGNhbmNlbF9tb3VzZV9mYWNl IChmKTsKQEAgLTQ3MiwxMyArNDQwLDYgQEAgRW1hY3NGcmFtZVNldENoYXJTaXplIChXaWRn ZXQgd2lkZ2V0LCBpbnQgY29sdW1ucywgaW50IHJvd3MpCiAgIEVtYWNzRnJhbWUgZXcgPSAo RW1hY3NGcmFtZSkgd2lkZ2V0OwogICBzdHJ1Y3QgZnJhbWUgKmYgPSBldy0+ZW1hY3NfZnJh bWUuZnJhbWU7CiAKLSAgaWYgKENPTlNQIChmcmFtZV9zaXplX2hpc3RvcnkpKQotICAgIGZy YW1lX3NpemVfaGlzdG9yeV9leHRyYQotICAgICAgKGYsIGJ1aWxkX3N0cmluZyAoIkVtYWNz RnJhbWVTZXRDaGFyU2l6ZSIpLAotICAgICAgIEZSQU1FX1BJWEVMX1dJRFRIIChmKSwgRlJB TUVfUElYRUxfSEVJR0hUIChmKSwKLSAgICAgICBjb2x1bW5zLCByb3dzLAotICAgICAgIGYt Pm5ld193aWR0aCwgZi0+bmV3X2hlaWdodCk7Ci0KICAgaWYgKCFmcmFtZV9pbmhpYml0X3Jl c2l6ZSAoZiwgMCwgUWZvbnQpCiAgICAgICAmJiAhZnJhbWVfaW5oaWJpdF9yZXNpemUgKGYs IDEsIFFmb250KSkKICAgICB4X3NldF93aW5kb3dfc2l6ZSAoZiwgMCwgY29sdW1ucyAqIEZS QU1FX0NPTFVNTl9XSURUSCAoZiksCmRpZmYgLS1naXQgYS9zcmMvd2lkZ2V0LmggYi9zcmMv d2lkZ2V0LmgKaW5kZXggY2Y4M2NiMTA3OC4uMDNiYzgwOWM0MSAxMDA2NDQKLS0tIGEvc3Jj L3dpZGdldC5oCisrKyBiL3NyYy93aWRnZXQuaApAQCAtOTcsNiArOTcsNiBAQCAjZGVmaW5l IFh0Q0luaXRpYWxHZW9tZXRyeSAiSW5pdGlhbEdlb21ldHJ5IgogLyogU3BlY2lhbCBlbnRy eSBwb2ludHMgKi8KIHZvaWQgRW1hY3NGcmFtZVNldENoYXJTaXplIChXaWRnZXQsIGludCwg aW50KTsKIHZvaWQgd2lkZ2V0X3N0b3JlX2ludGVybmFsX2JvcmRlciAoV2lkZ2V0IHdpZGdl dCk7Ci1ib29sIHdpZGdldF91cGRhdGVfd21fc2l6ZV9oaW50cyAoV2lkZ2V0IHdpZGdldCwg V2lkZ2V0IGZyYW1lKTsKK2Jvb2wgd2lkZ2V0X3VwZGF0ZV93bV9zaXplX2hpbnRzIChXaWRn ZXQgd2lkZ2V0LCBXaWRnZXQgZnJhbWUsIGludCB3aWR0aCwgaW50IGhlaWdodCk7CiAKICNl bmRpZiAvKiBfRW1hY3NGcmFtZV9oICovCmRpZmYgLS1naXQgYS9zcmMvd2luZG93LmMgYi9z cmMvd2luZG93LmMKaW5kZXggZjExNmI5YTlkNy4uYzA5MGYyOTQ2MSAxMDA2NDQKLS0tIGEv c3JjL3dpbmRvdy5jCisrKyBiL3NyYy93aW5kb3cuYwpAQCAtODM5NCw2ICs4Mzk0LDcgQEAg c3ltc19vZl93aW5kb3cgKHZvaWQpCiAgIERFRlNZTSAoUWhlYWRlcl9saW5lX2Zvcm1hdCwg ImhlYWRlci1saW5lLWZvcm1hdCIpOwogICBERUZTWU0gKFF0YWJfbGluZV9mb3JtYXQsICJ0 YWItbGluZS1mb3JtYXQiKTsKICAgREVGU1lNIChRbm9fb3RoZXJfd2luZG93LCAibm8tb3Ro ZXItd2luZG93Iik7CisgIERFRlNZTSAoUWZvb19pdCwgImZvby1pdCIpOwogCiAgIERFRlZB Ul9MSVNQICgidGVtcC1idWZmZXItc2hvdy1mdW5jdGlvbiIsIFZ0ZW1wX2J1ZmZlcl9zaG93 X2Z1bmN0aW9uLAogCSAgICAgICBkb2M6IC8qIE5vbi1uaWwgbWVhbnMgY2FsbCBhcyBmdW5j dGlvbiB0byBkaXNwbGF5IGEgaGVscCBidWZmZXIuCmRpZmYgLS1naXQgYS9zcmMveGZucy5j IGIvc3JjL3hmbnMuYwppbmRleCAzNmI1MWEzMDExLi4yNWUxYWYyNzlkIDEwMDY0NAotLS0g YS9zcmMveGZucy5jCisrKyBiL3NyYy94Zm5zLmMKQEAgLTQ1NzUsNyArNDU3NSw3IEBAIERF RlVOICgieC13bS1zZXQtc2l6ZS1oaW50IiwgRnhfd21fc2V0X3NpemVfaGludCwgU3hfd21f c2V0X3NpemVfaGludCwKICAgc3RydWN0IGZyYW1lICpmID0gZGVjb2RlX3dpbmRvd19zeXN0 ZW1fZnJhbWUgKGZyYW1lKTsKIAogICBibG9ja19pbnB1dCAoKTsKLSAgeF93bV9zZXRfc2l6 ZV9oaW50IChmLCAwLCBmYWxzZSk7CisgIHhfd21fc2V0X3NpemVfaGludCAoZiwgMCwgZmFs c2UsIC0xLCAtMSk7CiAgIHVuYmxvY2tfaW5wdXQgKCk7CiAgIHJldHVybiBRbmlsOwogfQpA QCAtNTA5Nyw3ICs1MDk3LDggQEAgREVGVU4gKCJ4LWNyZWF0ZS1mcmFtZSIsIEZ4X2NyZWF0 ZV9mcmFtZSwgU3hfY3JlYXRlX2ZyYW1lLAogICAgICBiYWRseSB3ZSB3YW50IHRoZW0uICBU aGlzIHNob3VsZCBiZSBkb25lIGFmdGVyIHdlIGhhdmUgdGhlIG1lbnUKICAgICAgYmFyIHNv IHRoYXQgaXRzIHNpemUgY2FuIGJlIHRha2VuIGludG8gYWNjb3VudC4gICovCiAgIGJsb2Nr X2lucHV0ICgpOwotICB4X3dtX3NldF9zaXplX2hpbnQgKGYsIHdpbmRvd19wcm9tcHRpbmcs IGZhbHNlKTsKKyAgeF93bV9zZXRfc2l6ZV9oaW50IChmLCB3aW5kb3dfcHJvbXB0aW5nLCBm YWxzZSwKKwkJICAgICAgRlJBTUVfVEVYVF9XSURUSCAoZiksIEZSQU1FX1RFWFRfSEVJR0hU IChmKSk7CiAgIHVuYmxvY2tfaW5wdXQgKCk7CiAKICAgYWRqdXN0X2ZyYW1lX3NpemUgKGYs IEZSQU1FX1RFWFRfV0lEVEggKGYpLCBGUkFNRV9URVhUX0hFSUdIVCAoZiksCmRpZmYgLS1n aXQgYS9zcmMveHRlcm0uYyBiL3NyYy94dGVybS5jCmluZGV4IDdlYWY1OWQ1NGIuLmIxZDY1 Y2U1OWQgMTAwNjQ0Ci0tLSBhL3NyYy94dGVybS5jCisrKyBiL3NyYy94dGVybS5jCkBAIC0y NjE2MCw2ICsyNjE2MCw4IEBAIHhfbmV3X2ZvbnQgKHN0cnVjdCBmcmFtZSAqZiwgTGlzcF9P YmplY3QgZm9udF9vYmplY3QsIGludCBmb250c2V0KQogewogICBzdHJ1Y3QgZm9udCAqZm9u dCA9IFhGT05UX09CSkVDVCAoZm9udF9vYmplY3QpOwogICBpbnQgdW5pdCwgZm9udF9hc2Nl bnQsIGZvbnRfZGVzY2VudDsKKyAgaW50IG9sZF93aWR0aCA9IEZSQU1FX0NPTFVNTl9XSURU SCAoZik7CisgIGludCBvbGRfaGVpZ2h0ID0gRlJBTUVfTElORV9IRUlHSFQgKGYpOwogCiAg IGlmIChmb250c2V0IDwgMCkKICAgICBmb250c2V0ID0gZm9udHNldF9mcm9tX2ZvbnQgKGZv bnRfb2JqZWN0KTsKQEAgLTI2MTk3LDkgKzI2MTk5LDI3IEBAIHhfbmV3X2ZvbnQgKHN0cnVj dCBmcmFtZSAqZiwgTGlzcF9PYmplY3QgZm9udF9vYmplY3QsIGludCBmb250c2V0KQogICAg ICBiZWNhdXNlIGl0J3MgZG9uZSBpbiBGeF9zaG93X3RpcCwgYW5kIGl0IGxlYWRzIHRvIHBy b2JsZW1zIGJlY2F1c2UKICAgICAgdGhlIHRpcCBmcmFtZSBoYXMgbm8gd2lkZ2V0LiAgKi8K ICAgaWYgKEZSQU1FX1hfV0lORE9XIChmKSAhPSAwICYmICFGUkFNRV9UT09MVElQX1AgKGYp KQotICAgIGFkanVzdF9mcmFtZV9zaXplCi0gICAgICAoZiwgRlJBTUVfQ09MUyAoZikgKiBG UkFNRV9DT0xVTU5fV0lEVEggKGYpLAotICAgICAgIEZSQU1FX0xJTkVTIChmKSAqIEZSQU1F X0xJTkVfSEVJR0hUIChmKSwgMywgZmFsc2UsIFFmb250KTsKKyAgICB7CisgICAgICBDQUxM TiAoRmZ1bmNhbGwsIFFmb29faXQsIGludGVybiAoIlxueF9uZXdfZm9udCIpLAorCSAgICAg aW50ZXJuICgib2xkIGNoYXIgc2l6ZSIpLAorCSAgICAgRmNvbnMgKG1ha2VfZml4bnVtIChv bGRfd2lkdGgpLCBtYWtlX2ZpeG51bSAob2xkX2hlaWdodCkpLAorCSAgICAgaW50ZXJuICgi bmV3IGNoYXIgc2l6ZSIpLAorCSAgICAgRmNvbnMgKG1ha2VfZml4bnVtIChGUkFNRV9DT0xV TU5fV0lEVEggKGYpKSwKKwkJICAgIG1ha2VfZml4bnVtIChGUkFNRV9MSU5FX0hFSUdIVCAo ZikpKSwKKwkgICAgIGludGVybiAoInRleHQgY2hhcnMiKSwKKwkgICAgIEZjb25zIChtYWtl X2ZpeG51bSAoRlJBTUVfQ09MUyAoZikpLAorCQkgICAgbWFrZV9maXhudW0gKEZSQU1FX0xJ TkVTIChmKSkpLAorCSAgICAgaW50ZXJuICgib2xkIHRleHQgcGl4ZWxzIiksCisJICAgICBG Y29ucyAobWFrZV9maXhudW0gKEZSQU1FX1RFWFRfV0lEVEggKGYpKSwKKwkJICAgIG1ha2Vf Zml4bnVtIChGUkFNRV9URVhUX0hFSUdIVCAoZikpKSwKKwkgICAgIGludGVybiAoIm5ldyB0 ZXh0IHBpeGVscyIpLAorCSAgICAgRmNvbnMgKG1ha2VfZml4bnVtIChGUkFNRV9DT0xTIChm KSAqIEZSQU1FX0NPTFVNTl9XSURUSCAoZikpLAorCQkgICAgbWFrZV9maXhudW0gKEZSQU1F X0xJTkVTIChmKSAqIEZSQU1FX0xJTkVfSEVJR0hUIChmKSkpKTsKKworICAgICAgYWRqdXN0 X2ZyYW1lX3NpemUKKwkoZiwgRlJBTUVfQ09MUyAoZikgKiBGUkFNRV9DT0xVTU5fV0lEVEgg KGYpLAorCSBGUkFNRV9MSU5FUyAoZikgKiBGUkFNRV9MSU5FX0hFSUdIVCAoZiksIDMsIGZh bHNlLCBRZm9udCk7CisgICAgfQogCiAjaWZkZWYgSEFWRV9YX0kxOE4KICAgaWYgKEZSQU1F X1hJQyAoZikKQEAgLTI2NTg5LDcgKzI2NjA5LDcgQEAgeF9zZXRfb2Zmc2V0IChzdHJ1Y3Qg ZnJhbWUgKmYsIGludCB4b2ZmLCBpbnQgeW9mZiwgaW50IGNoYW5nZV9ncmF2aXR5KQogICB4 X2NhbGNfYWJzb2x1dGVfcG9zaXRpb24gKGYpOwogCiAgIGJsb2NrX2lucHV0ICgpOwotICB4 X3dtX3NldF9zaXplX2hpbnQgKGYsIDAsIGZhbHNlKTsKKyAgeF93bV9zZXRfc2l6ZV9oaW50 IChmLCAwLCBmYWxzZSwgLTEsIC0xKTsKIAogI2lmZGVmIFVTRV9HVEsKICAgaWYgKHhfZ3Rr X3VzZV93aW5kb3dfbW92ZSkKQEAgLTI3Mjc5LDcgKzI3Mjk5LDcgQEAgeF9jaGVja19mdWxs c2NyZWVuIChzdHJ1Y3QgZnJhbWUgKmYpCiAJICBlbWFjc19hYm9ydCAoKTsKICAgICAgICAg fQogCi0gICAgICB4X3dtX3NldF9zaXplX2hpbnQgKGYsIDAsIGZhbHNlKTsKKyAgICAgIHhf d21fc2V0X3NpemVfaGludCAoZiwgMCwgZmFsc2UsIC0xLCAtMSk7CiAKICAgICAgIFhSZXNp emVXaW5kb3cgKEZSQU1FX1hfRElTUExBWSAoZiksIEZSQU1FX09VVEVSX1dJTkRPVyAoZiks CiAJCSAgICAgd2lkdGgsIGhlaWdodCk7CkBAIC0yNzQ1Myw3ICsyNzQ3Myw4IEBAIHhfc2V0 X3dpbmRvd19zaXplXzEgKHN0cnVjdCBmcmFtZSAqZiwgYm9vbCBjaGFuZ2VfZ3Jhdml0eSwK IHsKICAgaWYgKGNoYW5nZV9ncmF2aXR5KQogICAgIGYtPndpbl9ncmF2aXR5ID0gTm9ydGhX ZXN0R3Jhdml0eTsKLSAgeF93bV9zZXRfc2l6ZV9oaW50IChmLCAwLCBmYWxzZSk7CisgIHhf d21fc2V0X3NpemVfaGludCAoZiwgMCwgZmFsc2UsIEZSQU1FX1BJWEVMX1RPX1RFWFRfV0lE VEggKGYsIHdpZHRoKSwKKwkJICAgICAgRlJBTUVfUElYRUxfVE9fVEVYVF9IRUlHSFQgKGYs IGhlaWdodCkpOwogCiAgIFhSZXNpemVXaW5kb3cgKEZSQU1FX1hfRElTUExBWSAoZiksIEZS QU1FX09VVEVSX1dJTkRPVyAoZiksCiAJCSB3aWR0aCwgaGVpZ2h0ICsgRlJBTUVfTUVOVUJB Ul9IRUlHSFQgKGYpKTsKQEAgLTI4MjQzLDcgKzI4MjY0LDcgQEAgeF9tYWtlX2ZyYW1lX2lu dmlzaWJsZSAoc3RydWN0IGZyYW1lICpmKQogICAgICBwcm9ncmFtLXNwZWNpZmllZCwgc28g dGhhdCB3aGVuIHRoZSB3aW5kb3cgaXMgbWFwcGVkIGFnYWluLCBpdCB3aWxsIGJlCiAgICAg IHBsYWNlZCBhdCB0aGUgc2FtZSBsb2NhdGlvbiwgd2l0aG91dCBmb3JjaW5nIHRoZSB1c2Vy IHRvIHBvc2l0aW9uIGl0CiAgICAgIGJ5IGhhbmQgYWdhaW4gKHRoZXkgaGF2ZSBhbHJlYWR5 IGRvbmUgdGhhdCBvbmNlIGZvciB0aGlzIHdpbmRvdy4pICAqLwotICB4X3dtX3NldF9zaXpl X2hpbnQgKGYsIDAsIHRydWUpOworICB4X3dtX3NldF9zaXplX2hpbnQgKGYsIDAsIHRydWUs IC0xLCAtMSk7CiAKICNpZmRlZiBVU0VfR1RLCiAgIGlmIChGUkFNRV9HVEtfT1VURVJfV0lE R0VUIChmKSkKQEAgLTI4ODk2LDcgKzI4OTE3LDggQEAgeF9lbWJlZF9mcmFtZSAoc3RydWN0 IHhfZGlzcGxheV9pbmZvICpkcHlpbmZvLCBzdHJ1Y3QgZnJhbWUgKmYpCiAgICBUaGUgR1RL IHZlcnNpb24gaXMgaW4gZ3RrdXRpbHMuYy4gICovCiAKIHZvaWQKLXhfd21fc2V0X3NpemVf aGludCAoc3RydWN0IGZyYW1lICpmLCBsb25nIGZsYWdzLCBib29sIHVzZXJfcG9zaXRpb24p Cit4X3dtX3NldF9zaXplX2hpbnQgKHN0cnVjdCBmcmFtZSAqZiwgbG9uZyBmbGFncywgYm9v bCB1c2VyX3Bvc2l0aW9uLAorCQkgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQogewogI2lm bmRlZiBVU0VfR1RLCiAgIFhTaXplSGludHMgc2l6ZV9oaW50czsKQEAgLTI4OTM1LDEwICsy ODk1NywxMiBAQCB4X3dtX3NldF9zaXplX2hpbnQgKHN0cnVjdCBmcmFtZSAqZiwgbG9uZyBm bGFncywgYm9vbCB1c2VyX3Bvc2l0aW9uKQogI2lmbmRlZiBVU0VfTU9USUYKICAgICAgIGhp bnRzX2NoYW5nZWQKIAk9IHdpZGdldF91cGRhdGVfd21fc2l6ZV9oaW50cyAoZi0+b3V0cHV0 X2RhdGEueC0+d2lkZ2V0LAotCQkJCSAgICAgICBmLT5vdXRwdXRfZGF0YS54LT5lZGl0X3dp ZGdldCk7CisJCQkJICAgICAgIGYtPm91dHB1dF9kYXRhLngtPmVkaXRfd2lkZ2V0LAorCQkJ CSAgICAgICB3aWR0aCwgaGVpZ2h0KTsKICNlbHNlCiAgICAgICB3aWRnZXRfdXBkYXRlX3dt X3NpemVfaGludHMgKGYtPm91dHB1dF9kYXRhLngtPndpZGdldCwKLQkJCQkgICBmLT5vdXRw dXRfZGF0YS54LT5lZGl0X3dpZGdldCk7CisJCQkJICAgZi0+b3V0cHV0X2RhdGEueC0+ZWRp dF93aWRnZXQsCisJCQkJICAgd2lkdGgsIGhlaWdodCk7CiAKICAgICAgIC8qIERvIHRoaXMg YWxsIG92ZXIgYWdhaW4gZm9yIHRoZSBiZW5lZml0IG9mIE1vdGlmLCB3aGljaCBhbHdheXMK IAkga25vd3MgYmV0dGVyIHRoYW4gdGhlIHByb2dyYW1tZXIuICAqLwpAQCAtMjkwMTIsOCAr MjkwMzYsMTYgQEAgeF93bV9zZXRfc2l6ZV9oaW50IChzdHJ1Y3QgZnJhbWUgKmYsIGxvbmcg ZmxhZ3MsIGJvb2wgdXNlcl9wb3NpdGlvbikKICAgewogICAgIGludCBiYXNlX3dpZHRoLCBi YXNlX2hlaWdodDsKIAotICAgIGJhc2Vfd2lkdGggPSBGUkFNRV9URVhUX0NPTFNfVE9fUElY RUxfV0lEVEggKGYsIDApOwotICAgIGJhc2VfaGVpZ2h0ID0gRlJBTUVfVEVYVF9MSU5FU19U T19QSVhFTF9IRUlHSFQgKGYsIDApOworICAgIGlmICh3aWR0aCA9PSAtMSkKKyAgICAgIHdp ZHRoID0gRlJBTUVfVEVYVF9XSURUSCAoZik7CisKKyAgICBpZiAoaGVpZ2h0ID09IC0xKQor ICAgICAgaGVpZ2h0ID0gRlJBTUVfVEVYVF9IRUlHSFQgKGYpOworCisgICAgYmFzZV93aWR0 aCA9IChGUkFNRV9URVhUX0NPTFNfVE9fUElYRUxfV0lEVEggKGYsIDApCisJCSAgKyB3aWR0 aCAlIEZSQU1FX0NPTFVNTl9XSURUSCAoZikpOworICAgIGJhc2VfaGVpZ2h0ID0gKEZSQU1F X1RFWFRfTElORVNfVE9fUElYRUxfSEVJR0hUIChmLCAwKQorCQkgICArIGhlaWdodCAlIEZS QU1FX0xJTkVfSEVJR0hUIChmKSk7CiAKICAgICAvKiBUaGUgd2luZG93IG1hbmFnZXIgdXNl cyB0aGUgYmFzZSB3aWR0aCBoaW50cyB0byBjYWxjdWxhdGUgdGhlCiAgICAgICAgY3VycmVu dCBudW1iZXIgb2Ygcm93cyBhbmQgY29sdW1ucyBpbiB0aGUgZnJhbWUgd2hpbGUKQEAgLTI5 MDc1LDcgKzI5MTA3LDcgQEAgeF93bV9zZXRfc2l6ZV9oaW50IChzdHJ1Y3QgZnJhbWUgKmYs IGxvbmcgZmxhZ3MsIGJvb2wgdXNlcl9wb3NpdGlvbikKIAogICBYU2V0V01Ob3JtYWxIaW50 cyAoRlJBTUVfWF9ESVNQTEFZIChmKSwgd2luZG93LCAmc2l6ZV9oaW50cyk7CiAjZWxzZQot ICB4Z193bV9zZXRfc2l6ZV9oaW50IChmLCBmbGFncywgdXNlcl9wb3NpdGlvbik7CisgIHhn X3dtX3NldF9zaXplX2hpbnQgKGYsIGZsYWdzLCB1c2VyX3Bvc2l0aW9uLCB3aWR0aCwgaGVp Z2h0KTsKICNlbmRpZiAvKiBVU0VfR1RLICovCiB9CiAKZGlmZiAtLWdpdCBhL3NyYy94dGVy bS5oIGIvc3JjL3h0ZXJtLmgKaW5kZXggZWU0MjllOWM2OC4uNjE1MTJmMTExNyAxMDA2NDQK LS0tIGEvc3JjL3h0ZXJtLmgKKysrIGIvc3JjL3h0ZXJtLmgKQEAgLTE2NTMsNyArMTY1Myw3 IEBAICNkZWZpbmUgU0VMRUNUSU9OX0VWRU5UX1RJTUUoZXZlbnRwKQlcCiBleHRlcm4gdm9p ZCB4X21ha2VfZnJhbWVfaW52aXNpYmxlIChzdHJ1Y3QgZnJhbWUgKik7CiBleHRlcm4gdm9p ZCB4X2ljb25pZnlfZnJhbWUgKHN0cnVjdCBmcmFtZSAqKTsKIGV4dGVybiB2b2lkIHhfZnJl ZV9mcmFtZV9yZXNvdXJjZXMgKHN0cnVjdCBmcmFtZSAqKTsKLWV4dGVybiB2b2lkIHhfd21f c2V0X3NpemVfaGludCAoc3RydWN0IGZyYW1lICosIGxvbmcsIGJvb2wpOworZXh0ZXJuIHZv aWQgeF93bV9zZXRfc2l6ZV9oaW50IChzdHJ1Y3QgZnJhbWUgKiwgbG9uZywgYm9vbCwgaW50 LCBpbnQpOwogI2lmIGRlZmluZWQgSEFWRV9YU1lOQ1RSSUdHRVJGRU5DRSAmJiAhZGVmaW5l ZCBVU0VfR1RLIFwKICAgJiYgZGVmaW5lZCBIQVZFX0NMT0NLX0dFVFRJTUUKIGV4dGVybiB2 b2lkIHhfc3luY19pbml0X2ZlbmNlcyAoc3RydWN0IGZyYW1lICopOwo= --------------RLevcUQivKO9fVKH6mRY0nLX--