From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Keith David Bershatsky Newsgroups: gmane.emacs.bugs Subject: bug#22404: 25.1.50; Forcing `window-scroll-functions` to run. Date: Fri, 11 Mar 2016 08:21:26 -0800 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 (generated by - "") Content-Type: multipart/mixed; boundary="Multipart_Fri_Mar_11_08:21:24_2016-1" X-Trace: ger.gmane.org 1457713346 23515 80.91.229.3 (11 Mar 2016 16:22:26 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 11 Mar 2016 16:22:26 +0000 (UTC) Cc: 22404@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Mar 11 17:22:13 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aePpM-0004Zr-2M for geb-bug-gnu-emacs@m.gmane.org; Fri, 11 Mar 2016 17:22:12 +0100 Original-Received: from localhost ([::1]:56265 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aePpL-00005k-Al for geb-bug-gnu-emacs@m.gmane.org; Fri, 11 Mar 2016 11:22:11 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48648) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aePpG-00004y-7L for bug-gnu-emacs@gnu.org; Fri, 11 Mar 2016 11:22:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aePpC-0007HG-4E for bug-gnu-emacs@gnu.org; Fri, 11 Mar 2016 11:22:06 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:48195) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aePpC-0007HC-0u for bug-gnu-emacs@gnu.org; Fri, 11 Mar 2016 11:22:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84) (envelope-from ) id 1aePpB-0007b2-Qr for bug-gnu-emacs@gnu.org; Fri, 11 Mar 2016 11:22:01 -0500 X-Loop: help-debbugs@gnu.org In-Reply-To: Resent-From: Keith David Bershatsky Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 11 Mar 2016 16:22:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 22404 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 22404-submit@debbugs.gnu.org id=B22404.145771329729168 (code B ref 22404); Fri, 11 Mar 2016 16:22:01 +0000 Original-Received: (at 22404) by debbugs.gnu.org; 11 Mar 2016 16:21:37 +0000 Original-Received: from localhost ([127.0.0.1]:45322 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aePon-0007aO-5y for submit@debbugs.gnu.org; Fri, 11 Mar 2016 11:21:37 -0500 Original-Received: from cobb.liquidweb.com ([50.28.13.150]:53730) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aePok-0007aB-Qb for 22404@debbugs.gnu.org; Fri, 11 Mar 2016 11:21:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=0zgDdhtENCwQNaMKMRyF2JdyG6pontMOFQHYt/pZzGc=; b=0E6RIW+RYTK9Jykh0s0tDJttW+RWjOIw+Gn/+Kt1RZF43GX6JvHddrbnhP9VuCnDWb9sCx7EG3+Jm4WkOOeCLjYtV6M+LR92UbduX/EPwvKPdCZ0LzILca0JiarLLQc0; Original-Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:50655 helo=server.private.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1aePoZ-000109-9W; Fri, 11 Mar 2016 11:21:23 -0500 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 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.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:114761 Archived-At: --Multipart_Fri_Mar_11_08:21:24_2016-1 Content-Type: text/plain; charset=US-ASCII Attached is the next draft of the `window-start-end-hook`, which applies to the master branch as of commit "ea626c72e590aa7a45fd26df42240854e4225cef" on March 10, 2015. The primary addition is a new location for the hook to be called when scrolling with the mouse-wheel. A couple of pointers were added to store window/start-end values. Miscellaneous unrelated new/experimental features have been removed from the patch. The usage is as follows: (defun window-start-end-hook-fn (win start end pbol-start peol-end fully-p) (message "win: %s | start: %s | end: %s | pbol-start: %s | peol-end: %s | fully-p: %s" win start end pbol-start peol-end fully-p)) (add-hook 'window-start-end-hook 'window-start-end-hook-fn nil t) --Multipart_Fri_Mar_11_08:21:24_2016-1 Content-Type: application/diff; type=patch Content-Disposition: attachment; filename="window_start_end_hook.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9idWZmZXIuYyBiL3NyYy9idWZmZXIuYwppbmRleCA5OGI2MWMzLi5i YTM3Y2JjIDEwMDY0NAotLS0gYS9zcmMvYnVmZmVyLmMKKysrIGIvc3JjL2J1ZmZlci5jCkBAIC01 MDczLDYgKzUwNzMsNyBAQCBpbml0X2J1ZmZlcl9vbmNlICh2b2lkKQogICBYU0VURkFTVElOVCAo QlZBUiAoJmJ1ZmZlcl9sb2NhbF9mbGFncywgZGlzcGxheV90YWJsZSksIGlkeCk7ICsraWR4Owog ICBYU0VURkFTVElOVCAoQlZBUiAoJmJ1ZmZlcl9sb2NhbF9mbGFncywgc3ludGF4X3RhYmxlKSwg aWR4KTsgKytpZHg7CiAgIFhTRVRGQVNUSU5UIChCVkFSICgmYnVmZmVyX2xvY2FsX2ZsYWdzLCBj YWNoZV9sb25nX3NjYW5zKSwgaWR4KTsgKytpZHg7CisgIFhTRVRGQVNUSU5UIChCVkFSICgmYnVm ZmVyX2xvY2FsX2ZsYWdzLCB3aW5kb3dfc3RhcnRfZW5kX2hvb2spLCBpZHgpOyArK2lkeDsKICAg WFNFVEZBU1RJTlQgKEJWQVIgKCZidWZmZXJfbG9jYWxfZmxhZ3MsIGNhdGVnb3J5X3RhYmxlKSwg aWR4KTsgKytpZHg7CiAgIFhTRVRGQVNUSU5UIChCVkFSICgmYnVmZmVyX2xvY2FsX2ZsYWdzLCBi aWRpX2Rpc3BsYXlfcmVvcmRlcmluZyksIGlkeCk7ICsraWR4OwogICBYU0VURkFTVElOVCAoQlZB UiAoJmJ1ZmZlcl9sb2NhbF9mbGFncywgYmlkaV9wYXJhZ3JhcGhfZGlyZWN0aW9uKSwgaWR4KTsg KytpZHg7CkBAIC01MTY2LDYgKzUxNjcsNyBAQCBpbml0X2J1ZmZlcl9vbmNlICh2b2lkKQogICBY U0VURkFTVElOVCAoQlZBUiAoJmJ1ZmZlcl9kZWZhdWx0cywgZmlsbF9jb2x1bW4pLCA3MCk7CiAg IFhTRVRGQVNUSU5UIChCVkFSICgmYnVmZmVyX2RlZmF1bHRzLCBsZWZ0X21hcmdpbiksIDApOwog ICBic2V0X2NhY2hlX2xvbmdfc2NhbnMgKCZidWZmZXJfZGVmYXVsdHMsIFF0KTsKKyAgYnNldF93 aW5kb3dfc3RhcnRfZW5kX2hvb2sgKCZidWZmZXJfZGVmYXVsdHMsIFFuaWwpOwogICBic2V0X2Zp bGVfdHJ1ZW5hbWUgKCZidWZmZXJfZGVmYXVsdHMsIFFuaWwpOwogICBYU0VURkFTVElOVCAoQlZB UiAoJmJ1ZmZlcl9kZWZhdWx0cywgZGlzcGxheV9jb3VudCksIDApOwogICBYU0VURkFTVElOVCAo QlZBUiAoJmJ1ZmZlcl9kZWZhdWx0cywgbGVmdF9tYXJnaW5fY29scyksIDApOwpAQCAtNTM3OSw2 ICs1MzgxLDggQEAgc3ltc19vZl9idWZmZXIgKHZvaWQpCiAgIHN0YXRpY3BybyAoJlFTRnVuZGFt ZW50YWwpOwogICBzdGF0aWNwcm8gKCZWYnVmZmVyX2FsaXN0KTsKIAorICBERUZTWU0gKFF3aW5k b3dfc3RhcnRfZW5kX2hvb2ssICJ3aW5kb3ctc3RhcnQtZW5kLWhvb2siKTsKKwogICBERUZTWU0g KFFjaG9pY2UsICJjaG9pY2UiKTsKICAgREVGU1lNIChRbGVmdCwgImxlZnQiKTsKICAgREVGU1lN IChRcmlnaHQsICJyaWdodCIpOwpAQCAtNjE0OCw2ICs2MTUyLDExIEBAIG1haW50YWluZWQgaW50 ZXJuYWxseSBieSB0aGUgRW1hY3MgcHJpbWl0aXZlcy4gIEVuYWJsaW5nIG9yIGRpc2FibGluZwog dGhlIGNhY2hlIHNob3VsZCBub3QgYWZmZWN0IHRoZSBiZWhhdmlvciBvZiBhbnkgb2YgdGhlIG1v dGlvbgogZnVuY3Rpb25zOyBpdCBzaG91bGQgb25seSBhZmZlY3QgdGhlaXIgcGVyZm9ybWFuY2Uu ICAqLyk7CiAKKyAgREVGVkFSX1BFUl9CVUZGRVIgKCJ3aW5kb3ctc3RhcnQtZW5kLWhvb2siLCAm QlZBUiAoY3VycmVudF9idWZmZXIsIHdpbmRvd19zdGFydF9lbmRfaG9vayksIFFuaWwsCisgICAg ZG9jOiAvKiBBIGJ1ZmVyLWxvY2FsIGhvb2sgdXNlZCB0byBvYnRhaW4gbmV3IGB3aW5kb3ctc3Rh cnRgIGFuZCBgd2luZG93LWVuZGAKK2R1cmluZyByZWRpc3BsYXkuICBUaGUgZnVuY3Rpb24gYXR0 YWNoZWQgdG8gdGhpcyBob29rIGhhcyB0aGUgZm9sbG93aW5nIGFyZ3VtZW50czoKK1dJTkRPVywg V0lORE9XLVNUQVJULCBXSU5ET1ctRU5ELCBQQk9MLVNUQVJULCBQRU9MLUVORCwgRlVMTFktUC4g ICovKTsKKwogICBERUZWQVJfUEVSX0JVRkZFUiAoInBvaW50LWJlZm9yZS1zY3JvbGwiLCAmQlZB UiAoY3VycmVudF9idWZmZXIsIHBvaW50X2JlZm9yZV9zY3JvbGwpLCBRbmlsLAogCQkgICAgIGRv YzogLyogVmFsdWUgb2YgcG9pbnQgYmVmb3JlIHRoZSBsYXN0IHNlcmllcyBvZiBzY3JvbGwgb3Bl cmF0aW9ucywgb3IgbmlsLiAgKi8pOwogCmRpZmYgLS1naXQgYS9zcmMvYnVmZmVyLmggYi9zcmMv YnVmZmVyLmgKaW5kZXggNTc4M2JmYi4uMzVlZGRmYiAxMDA2NDQKLS0tIGEvc3JjL2J1ZmZlci5o CisrKyBiL3NyYy9idWZmZXIuaApAQCAtNjQzLDYgKzY0Myw5IEBAIHN0cnVjdCBidWZmZXIKICAg ICAgY2FjaGUgYXJlIGVuYWJsZWQuICBTZWUgc2VhcmNoLmMsIGluZGVudC5jIGFuZCBiaWRpLmMg Zm9yIGRldGFpbHMuICAqLwogICBMaXNwX09iamVjdCBjYWNoZV9sb25nX3NjYW5zXzsKIAorICAv KiBUaGUgbmFtZSBvZiB0aGUgaG9vay4gICovCisgIExpc3BfT2JqZWN0IHdpbmRvd19zdGFydF9l bmRfaG9va187CisKICAgLyogSWYgdGhlIHdpZHRoIHJ1biBjYWNoZSBpcyBlbmFibGVkLCB0aGlz IHRhYmxlIGNvbnRhaW5zIHRoZQogICAgICBjaGFyYWN0ZXIgd2lkdGhzIHdpZHRoX3J1bl9jYWNo ZSAoc2VlIGFib3ZlKSBhc3N1bWVzLiAgV2hlbiB3ZQogICAgICBkbyBhIHRob3JvdWdoIHJlZGlz cGxheSwgd2UgY29tcGFyZSB0aGlzIGFnYWluc3QgdGhlIGJ1ZmZlcidzCkBAIC04ODUsNiArODg4 LDExIEBAIHN0cnVjdCBidWZmZXIKICAgIGJ1ZmZlci4gIChTb21lIHNldHRlcnMgdGhhdCBhcmUg cHJpdmF0ZSB0byBhIHNpbmdsZSAuYyBmaWxlIGFyZQogICAgZGVmaW5lZCBhcyBzdGF0aWMgaW4g dGhvc2UgZmlsZXMuKSAgKi8KIElOTElORSB2b2lkCitic2V0X3dpbmRvd19zdGFydF9lbmRfaG9v ayAoc3RydWN0IGJ1ZmZlciAqYiwgTGlzcF9PYmplY3QgdmFsKQoreworICBiLT53aW5kb3dfc3Rh cnRfZW5kX2hvb2tfID0gdmFsOworfQorSU5MSU5FIHZvaWQKIGJzZXRfYmlkaV9wYXJhZ3JhcGhf ZGlyZWN0aW9uIChzdHJ1Y3QgYnVmZmVyICpiLCBMaXNwX09iamVjdCB2YWwpCiB7CiAgIGItPmJp ZGlfcGFyYWdyYXBoX2RpcmVjdGlvbl8gPSB2YWw7CmRpZmYgLS1naXQgYS9zcmMva2V5Ym9hcmQu YyBiL3NyYy9rZXlib2FyZC5jCmluZGV4IDRlMWFjMTUuLjMyOWNiYTAgMTAwNjQ0Ci0tLSBhL3Ny Yy9rZXlib2FyZC5jCisrKyBiL3NyYy9rZXlib2FyZC5jCkBAIC0xMjQ0LDYgKzEyNDQsMTUgQEAg c3RhdGljIGludCByZWFkX2tleV9zZXF1ZW5jZSAoTGlzcF9PYmplY3QgKiwgaW50LCBMaXNwX09i amVjdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wsIGJvb2wsIGJvb2wsIGJv b2wpOwogc3RhdGljIHZvaWQgYWRqdXN0X3BvaW50X2Zvcl9wcm9wZXJ0eSAocHRyZGlmZl90LCBi b29sKTsKIAorc3RhdGljIHZvaWQKK3NldF93aW5kb3dfc3RhcnRfZW5kX2hvb2sgKHZvaWQpCit7 CisgIExpc3BfT2JqZWN0IHdpbmRvdyA9IChzZWxlY3RlZF93aW5kb3cpOworICBzdHJ1Y3Qgd2lu ZG93ICp3ID0gZGVjb2RlX2xpdmVfd2luZG93ICh3aW5kb3cpOworICB3LT53aW5kb3dfc3RhcnRf ZW5kX2hvb2tfZm9yY2UgPSB0cnVlOworICB3LT53aW5kb3dfc3RhcnRfZW5kX2hvb2tfcGVuZGlu ZyA9IHRydWU7Cit9CisKIExpc3BfT2JqZWN0CiBjb21tYW5kX2xvb3BfMSAodm9pZCkKIHsKQEAg LTEyNjksNiArMTI3OCw4IEBAIGNvbW1hbmRfbG9vcF8xICh2b2lkKQogICAgICAgaWYgKCFOSUxQ IChWcG9zdF9jb21tYW5kX2hvb2spICYmICFOSUxQIChWcnVuX2hvb2tzKSkKIAlzYWZlX3J1bl9o b29rcyAoUXBvc3RfY29tbWFuZF9ob29rKTsKIAorICAgICAgc2V0X3dpbmRvd19zdGFydF9lbmRf aG9vayAoKTsKKwogICAgICAgLyogSWYgZGlzcGxheWluZyBhIG1lc3NhZ2UsIHJlc2l6ZSB0aGUg ZWNobyBhcmVhIHdpbmRvdyB0byBmaXQKIAkgdGhhdCBtZXNzYWdlJ3Mgc2l6ZSBleGFjdGx5LiAg Ki8KICAgICAgIGlmICghTklMUCAoZWNob19hcmVhX2J1ZmZlclswXSkpCkBAIC0xNDg1LDYgKzE0 OTYsOCBAQCBjb21tYW5kX2xvb3BfMSAodm9pZCkKIAogICAgICAgc2FmZV9ydW5faG9va3MgKFFw b3N0X2NvbW1hbmRfaG9vayk7CiAKKyAgICAgIHNldF93aW5kb3dfc3RhcnRfZW5kX2hvb2sgKCk7 CisKICAgICAgIC8qIElmIGRpc3BsYXlpbmcgYSBtZXNzYWdlLCByZXNpemUgdGhlIGVjaG8gYXJl YSB3aW5kb3cgdG8gZml0CiAJIHRoYXQgbWVzc2FnZSdzIHNpemUgZXhhY3RseS4gICovCiAgICAg ICBpZiAoIU5JTFAgKGVjaG9fYXJlYV9idWZmZXJbMF0pKQpkaWZmIC0tZ2l0IGEvc3JjL3dpbmRv dy5oIGIvc3JjL3dpbmRvdy5oCmluZGV4IDJjMDMwMzMuLjVjZDU4YjUgMTAwNjQ0Ci0tLSBhL3Ny Yy93aW5kb3cuaAorKysgYi9zcmMvd2luZG93LmgKQEAgLTM5NSw2ICszOTUsMTYgQEAgc3RydWN0 IHdpbmRvdwogICAgIC8qIFpfQllURSAtIGJ1ZmZlciBwb3NpdGlvbiBvZiB0aGUgbGFzdCBnbHlw aCBpbiB0aGUgY3VycmVudCBtYXRyaXggb2YgVy4KICAgICAgICBTaG91bGQgYmUgbm9ubmVnYXRp dmUsIGFuZCBvbmx5IHZhbGlkIGlmIHdpbmRvd19lbmRfdmFsaWQgaXMgdHJ1ZS4gICovCiAgICAg cHRyZGlmZl90IHdpbmRvd19lbmRfYnl0ZXBvczsKKworICAgIC8qIFRydWUgbWVhbnMgZm9yY2Ug YSBjYWxsIHRvIFZ3aW5kb3dfc3RhcnRfZW5kX2hvb2suICAqLworICAgIGJvb2xfYmYgd2luZG93 X3N0YXJ0X2VuZF9ob29rX2ZvcmNlIDogMTsKKworICAgIC8qIFRydWUgbWVhbnMgdGhlIGhvb2sg aGFzIG5vdCB5ZXQgcnVuIHdpdGggcG9pbnQgZnVsbHkgdmlzaWJsZS4gICovCisgICAgYm9vbF9i ZiB3aW5kb3dfc3RhcnRfZW5kX2hvb2tfcGVuZGluZyA6IDE7CisKKyAgICAvKiBWYWx1ZXMgZm9y IHByZXZpb3VzIGFuZCBjdXJyZW50IGB3aW5kb3ctc3RhcnQnIGFuZCBgd2luZG93LWVuZCcuICAq LworICAgIGludCB3aW5kb3dfc3RhcnRfZW5kX2hvb2tfaW50X3dpbmRvd19zdGFydCwgd2luZG93 X3N0YXJ0X2VuZF9ob29rX2ludF93aW5kb3dfZW5kLAorICAgICAgICB3aW5kb3dfc3RhcnRfZW5k X2hvb2tfaW50X3ByZXZpb3VzX3dpbmRvd19zdGFydCwgd2luZG93X3N0YXJ0X2VuZF9ob29rX2lu dF9wcmV2aW91c193aW5kb3dfZW5kOwogICB9OwogCiAvKiBNb3N0IGNvZGUgc2hvdWxkIHVzZSB0 aGVzZSBmdW5jdGlvbnMgdG8gc2V0IExpc3AgZmllbGRzIGluIHN0cnVjdApkaWZmIC0tZ2l0IGEv c3JjL3hkaXNwLmMgYi9zcmMveGRpc3AuYwppbmRleCA1Yjk2MTQ0Li4wOWUwYzQ5IDEwMDY0NAot LS0gYS9zcmMveGRpc3AuYworKysgYi9zcmMveGRpc3AuYwpAQCAtMTM0MTQsNiArMTM0MTQsOTEg QEAgZG8geyBpZiAoISBwb2xsaW5nX3N0b3BwZWRfaGVyZSkgc3RvcF9wb2xsaW5nICgpOwlcCiBk byB7IGlmIChwb2xsaW5nX3N0b3BwZWRfaGVyZSkgc3RhcnRfcG9sbGluZyAoKTsJXAogICAgICAg IHBvbGxpbmdfc3RvcHBlZF9oZXJlID0gZmFsc2U7IH0gd2hpbGUgKGZhbHNlKQogCitzdGF0aWMg dm9pZAorcnVuX3dpbmRvd19zdGFydF9lbmRfaG9vayAoTGlzcF9PYmplY3Qgd2luZG93LCBzdHJ1 Y3QgdGV4dF9wb3Mgc3RhcnRwLCBFTUFDU19JTlQgcG9zaW50LCBzdHJ1Y3QgaXQgaXQsIGNoYXIg KnN0cmluZywgYm9vbCBmb3JjZSkKK3sKKyAgc3RydWN0IHdpbmRvdyAqdyA9IGRlY29kZV9saXZl X3dpbmRvdyAod2luZG93KTsKKyAgTGlzcF9PYmplY3QgYnVmOworICBzdHJ1Y3QgYnVmZmVyICpi OworICBidWYgPSB3LT5jb250ZW50czsKKyAgQ0hFQ0tfQlVGRkVSIChidWYpOworICBiID0gWEJV RkZFUiAoYnVmKTsKKyAgc3RydWN0IGJ1ZmZlciAqb2xkX2J1ZmZlciA9IE5VTEw7CisgIHZvaWQg Kml0ZGF0YSA9IE5VTEw7CisgIGJvb2wgZnVsbHlfcCA9IGZhbHNlOworICBpbnQgeCwgeSwgcnRv cCwgcmJvdCwgcm93aCwgdnBvcywgc3RhcnRwX2ludGVnZXIsIGVuZHAsIHBib2xfc3RhcnRwLCBw ZW9sX2VuZHA7CisgIHN0YXJ0cF9pbnRlZ2VyID0gQ0hBUlBPUyAoc3RhcnRwKTsKKyAgaWYgKGIg IT0gY3VycmVudF9idWZmZXIpCisgICAgeworICAgICAgb2xkX2J1ZmZlciA9IGN1cnJlbnRfYnVm ZmVyOworICAgICAgc2V0X2J1ZmZlcl9pbnRlcm5hbCAoYik7CisgICAgfQorICBpZiAody0+d2lu ZG93X3N0YXJ0X2VuZF9ob29rX3BlbmRpbmcKKyAgICAgICYmICFOSUxQIChCVkFSIChjdXJyZW50 X2J1ZmZlciwgd2luZG93X3N0YXJ0X2VuZF9ob29rKSkpCisgICAgeworICAgICAgaWYgKCgocG9z aW50ID49IENIQVJQT1MgKHN0YXJ0cCkgJiYgcG9zaW50IDw9IEJVRl9aViAoYikpCisgICAgICAg ICAgICAmJiBDSEFSUE9TIChzdGFydHApID49IEJVRl9CRUdWIChiKQorICAgICAgICAgICAgJiYg Q0hBUlBPUyAoc3RhcnRwKSA8PSBCVUZfWlYgKGIpCisgICAgICAgICAgICAmJiBwb3NfdmlzaWJs ZV9wICh3LCBwb3NpbnQsICZ4LCAmeSwgJnJ0b3AsICZyYm90LCAmcm93aCwgJnZwb3MpKSkKKyAg ICAgICAgZnVsbHlfcCA9ICFydG9wICYmICFyYm90OworICAgICAgaWYgKGZ1bGx5X3ApCisgICAg ICAgIHsKKyAgICAgICAgICB3LT53aW5kb3dfc3RhcnRfZW5kX2hvb2tfaW50X3ByZXZpb3VzX3dp bmRvd19zdGFydCA9IHctPndpbmRvd19zdGFydF9lbmRfaG9va19pbnRfd2luZG93X3N0YXJ0Owor ICAgICAgICAgIHctPndpbmRvd19zdGFydF9lbmRfaG9va19pbnRfd2luZG93X3N0YXJ0ID0gc3Rh cnRwX2ludGVnZXI7CisgICAgICAgICAgaXRkYXRhID0gYmlkaV9zaGVsdmVfY2FjaGUgKCk7Cisg ICAgICAgICAgc3RhcnRfZGlzcGxheSAoJml0LCB3LCBzdGFydHApOworICAgICAgICAgIG1vdmVf aXRfdmVydGljYWxseSAoJml0LCB3aW5kb3dfYm94X2hlaWdodCAodykpOworICAgICAgICAgIGlm IChpdC5jdXJyZW50X3kgPCBpdC5sYXN0X3Zpc2libGVfeSkKKyAgICAgICAgICAgIG1vdmVfaXRf cGFzdF9lb2wgKCZpdCk7CisgICAgICAgICAgZW5kcCA9IChJVF9DSEFSUE9TIChpdCkpOworICAg ICAgICAgIHctPndpbmRvd19zdGFydF9lbmRfaG9va19pbnRfcHJldmlvdXNfd2luZG93X2VuZCA9 IHctPndpbmRvd19zdGFydF9lbmRfaG9va19pbnRfd2luZG93X2VuZDsKKyAgICAgICAgICB3LT53 aW5kb3dfc3RhcnRfZW5kX2hvb2tfaW50X3dpbmRvd19lbmQgPSBlbmRwOworICAgICAgICAgIGJp ZGlfdW5zaGVsdmVfY2FjaGUgKGl0ZGF0YSwgZmFsc2UpOworICAgICAgICAgIFNFVF9QVCAoc3Rh cnRwX2ludGVnZXIpOworICAgICAgICAgIHBib2xfc3RhcnRwID0gWElOVCAoRmxpbmVfYmVnaW5u aW5nX3Bvc2l0aW9uIChRbmlsKSk7CisgICAgICAgICAgU0VUX1BUIChlbmRwKTsKKyAgICAgICAg ICBwZW9sX2VuZHAgPSBYSU5UIChGbGluZV9lbmRfcG9zaXRpb24gKFFuaWwpKTsKKyAgICAgICAg ICBTRVRfUFQgKHBvc2ludCk7CisjaWZkZWYgR0xZUEhfREVCVUcKKyAgICAgICAgICBkZWJ1Z19t ZXRob2RfYWRkICh3LCAiJXMgLS0geDogJWQgfCB5OiAlZCB8IHN0YXJ0cDogJWQgfCBlbmRwOiAl ZCB8IHBib2xfc3RhcnRwOiAlZCB8IHBlb2xfZW5kcDogJWQiLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cmluZywgeCwgeSwgc3RhcnRwX2ludGVnZXIsIGVuZHAsIHBib2xfc3Rh cnRwLCBwZW9sX2VuZHApOworI2VuZGlmCisgICAgICAgICAgLyogUmVzZXQgdGhlIGZsYWcgX2Jl Zm9yZV8gY2FsbGluZyBMaXNwLCBub3QgYWZ0ZXIsIHNvIHRoYXQKKyAgICAgICAgICAgICBpZiBM aXNwIGRvZXMgc2lnbmFsIGFuIGVycm9yLCB0aGUgZmxhZyB3aWxsIGJlIHJlc2V0LCBhbmQKKyAg ICAgICAgICAgICB3b24ndCBjYXVzZSB0aGUgaG9vayB0byBiZSBjYWxsZWQgYWQgbmF1c2VhbS4g ICovCisgICAgICAgICAgdy0+d2luZG93X3N0YXJ0X2VuZF9ob29rX3BlbmRpbmcgPSBmYWxzZTsK KyAgICAgICAgICAvKiBXaGVuIGNhbGxpbmcgTGlzcCBmcm9tIHJlZGlzcGxheSwgYWx3YXlzIHVz ZSBzYWZlX2NhbGwsIHRvIGJlCisgICAgICAgICAgICAgcHJvdGVjdGVkIGFnYWluc3QgZXJyb3Jz IHNpZ25hbGVkIGJ5IHRoYXQgTGlzcC4gICovCisgICAgICAgICAgLyogc2FmZV9jYWxsOiAgZm4s IGFyZzEsIGFyZzIsIGFyZzMsIGFyZzQsIGFyZzUsIGFyZzYsIGFyZzcgICovCisgICAgICAgICAg c2FmZV9jYWxsICg4LAorICAgICAgICAgICAgICBRcnVuX2hvb2tfd2l0aF9hcmdzLAorICAgICAg ICAgICAgICBRd2luZG93X3N0YXJ0X2VuZF9ob29rLAorICAgICAgICAgICAgICB3aW5kb3csCisg ICAgICAgICAgICAgIG1ha2VfbnVtYmVyIChzdGFydHBfaW50ZWdlciksCisgICAgICAgICAgICAg IG1ha2VfbnVtYmVyIChlbmRwKSwKKyAgICAgICAgICAgICAgbWFrZV9udW1iZXIgKHBib2xfc3Rh cnRwKSwKKyAgICAgICAgICAgICAgbWFrZV9udW1iZXIgKHBlb2xfZW5kcCksCisgICAgICAgICAg ICAgIGZ1bGx5X3AgPyBRdCA6IFFuaWwpOworICAgICAgICAgIC8qIEF0IHRoZSBjYXRjaC1hbGwg d2hlbiBzY3JvbGxpbmcgd2l0aCB0aGUgbW91c2Ugd2hlZWwsIHRoaXMgbmV4dCBzZWN0aW9uIGNh dXNlcyBhIHZpc3VhbCBmbGFzaAorICAgICAgICAgIG9mIGN1cnNvciBpbiB0aGUgd3JvbmcgcG9z aXRpb24gZHVlIHRvIFNFVF9QVCBhYm92ZS4gICovCisgICAgICAgICAgaWYgKGZvcmNlKQorICAg ICAgICAgICAgeworICAgICAgICAgICAgICBjbGVhcl9nbHlwaF9tYXRyaXggKHctPmRlc2lyZWRf bWF0cml4KTsKKyAgICAgICAgICAgICAgdHJ5X3dpbmRvdyAod2luZG93LCBzdGFydHAsIDApOwor ICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgICB7CisjaWZk ZWYgR0xZUEhfREVCVUcKKyAgICAgICAgICAgIC8qIFNlZSB0aGUgZG9jLXN0cmluZyBmb3IgYHBv cy12aXNpYmxlLWluLXdpbmRvdy1wJy4gICovCisgICAgICAgICAgICBkZWJ1Z19tZXRob2RfYWRk ICh3LCAiJXMgLS0geDogJWQgfCB5OiAlZCB8IHJ0b3A6ICVkIHwgcmJvdCAlZCB8IHJvd2g6ICVk IHwgdnBvczogJWQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nLCB4 LCB5LCBydG9wLCByYm90LCByb3doLCB2cG9zKTsKKyNlbmRpZgorICAgICAgICAgIH0KKyAgICB9 CisgIGlmIChvbGRfYnVmZmVyKQorICAgIHNldF9idWZmZXJfaW50ZXJuYWwgKG9sZF9idWZmZXIp OworfQogCiAvKiBQZXJoYXBzIGluIHRoZSBmdXR1cmUgYXZvaWQgcmVjZW50ZXJpbmcgd2luZG93 cyBpZiBpdAogICAgaXMgbm90IG5lY2Vzc2FyeTsgY3VycmVudGx5IHRoYXQgY2F1c2VzIHNvbWUg cHJvYmxlbXMuICAqLwpAQCAtMTM2ODcsNiArMTM3NzIsNyBAQCByZWRpc3BsYXlfaW50ZXJuYWwg KHZvaWQpCiAgICAgICAmJiBtYXRjaF9wCiAgICAgICAmJiAhdy0+Zm9yY2Vfc3RhcnQKICAgICAg ICYmICF3LT5vcHRpb25hbF9uZXdfc3RhcnQKKyAgICAgICYmICF3LT53aW5kb3dfc3RhcnRfZW5k X2hvb2tfZm9yY2UKICAgICAgIC8qIFBvaW50IG11c3QgYmUgb24gdGhlIGxpbmUgdGhhdCB3ZSBo YXZlIGluZm8gcmVjb3JkZWQgYWJvdXQuICAqLwogICAgICAgJiYgUFQgPj0gQ0hBUlBPUyAodGxi dWZwb3MpCiAgICAgICAmJiBQVCA8PSBaIC0gQ0hBUlBPUyAodGxlbmRwb3MpCkBAIC0xNTM4OCw2 ICsxNTQ3NCw4IEBAIHRyeV9zY3JvbGxpbmcgKExpc3BfT2JqZWN0IHdpbmRvdywgYm9vbCBqdXN0 X3RoaXNfb25lX3AsCiAgIC8qIFJ1biB3aW5kb3cgc2Nyb2xsIGZ1bmN0aW9ucy4gICovCiAgIHN0 YXJ0cCA9IHJ1bl93aW5kb3dfc2Nyb2xsX2Z1bmN0aW9ucyAod2luZG93LCBzdGFydHApOwogCisg IHJ1bl93aW5kb3dfc3RhcnRfZW5kX2hvb2sgKHdpbmRvdywgc3RhcnRwLCBQVCwgaXQsICJ0cnlf c2Nyb2xsaW5nIiwgZmFsc2UpOworCiAgIC8qIERpc3BsYXkgdGhlIHdpbmRvdy4gIEdpdmUgdXAg aWYgbmV3IGZvbnRzIGFyZSBsb2FkZWQsIG9yIGlmIHBvaW50CiAgICAgIGRvZXNuJ3QgYXBwZWFy LiAgKi8KICAgaWYgKCF0cnlfd2luZG93ICh3aW5kb3csIHN0YXJ0cCwgMCkpCkBAIC0xNjA1Myw2 ICsxNjE0MSw3IEBAIHJlZGlzcGxheV93aW5kb3cgKExpc3BfT2JqZWN0IHdpbmRvdywgYm9vbCBq dXN0X3RoaXNfb25lX3ApCiAgIHB0cmRpZmZfdCBiZWdfdW5jaGFuZ2VkLCBlbmRfdW5jaGFuZ2Vk OwogICBpbnQgZnJhbWVfbGluZV9oZWlnaHQ7CiAgIGJvb2wgdXNlX2Rlc2lyZWRfbWF0cml4Owor ICBib29sIHdpbmRvd19zdGFydF9lbmRfaG9va19zdXBwcmVzc193c2YgPSBmYWxzZTsKIAogICBT RVRfVEVYVF9QT1MgKGxwb2ludCwgUFQsIFBUX0JZVEUpOwogICBvcG9pbnQgPSBscG9pbnQ7CkBA IC0xNjI0MywxMyArMTYzMzIsMTYgQEAgcmVkaXNwbGF5X3dpbmRvdyAoTGlzcF9PYmplY3Qgd2lu ZG93LCBib29sIGp1c3RfdGhpc19vbmVfcCkKIAogICAvKiBJZiBzb21lb25lIHNwZWNpZmllZCBh IG5ldyBzdGFydGluZyBwb2ludCBidXQgZGlkIG5vdCBpbnNpc3QsCiAgICAgIGNoZWNrIHdoZXRo ZXIgaXQgY2FuIGJlIHVzZWQuICAqLwotICBpZiAoKHctPm9wdGlvbmFsX25ld19zdGFydCB8fCB3 aW5kb3dfZnJvemVuX3AgKHcpKQorICBpZiAoKHctPm9wdGlvbmFsX25ld19zdGFydCB8fCB3LT53 aW5kb3dfc3RhcnRfZW5kX2hvb2tfZm9yY2UgfHwgd2luZG93X2Zyb3plbl9wICh3KSkKICAgICAg ICYmIENIQVJQT1MgKHN0YXJ0cCkgPj0gQkVHVgogICAgICAgJiYgQ0hBUlBPUyAoc3RhcnRwKSA8 PSBaVikKICAgICB7CisKKyAgICAgIGlmICh3LT53aW5kb3dfc3RhcnRfZW5kX2hvb2tfZm9yY2Ug JiYgIXctPm9wdGlvbmFsX25ld19zdGFydCAmJiAhd2luZG93X2Zyb3plbl9wICh3KSAmJiAhdy0+ Zm9yY2Vfc3RhcnQpCisgICAgICAgIHdpbmRvd19zdGFydF9lbmRfaG9va19zdXBwcmVzc193c2Yg PSB0cnVlOworCiAgICAgICBwdHJkaWZmX3QgaXRfY2hhcnBvczsKIAotICAgICAgdy0+b3B0aW9u YWxfbmV3X3N0YXJ0ID0gZmFsc2U7CiAgICAgICBzdGFydF9kaXNwbGF5ICgmaXQsIHcsIHN0YXJ0 cCk7CiAgICAgICBtb3ZlX2l0X3RvICgmaXQsIFBULCAwLCBpdC5sYXN0X3Zpc2libGVfeSwgLTEs CiAJCSAgTU9WRV9UT19QT1MgfCBNT1ZFX1RPX1ggfCBNT1ZFX1RPX1kpOwpAQCAtMTYyNzAsMTQg KzE2MzYyLDI4IEBAIHJlZGlzcGxheV93aW5kb3cgKExpc3BfT2JqZWN0IHdpbmRvdywgYm9vbCBq dXN0X3RoaXNfb25lX3ApCiAJICAgIHctPmZvcmNlX3N0YXJ0ID0gdHJ1ZTsKICNpZmRlZiBHTFlQ SF9ERUJVRwogCSAgaWYgKHctPmZvcmNlX3N0YXJ0KQotCSAgICB7Ci0JICAgICAgaWYgKHdpbmRv d19mcm96ZW5fcCAodykpCi0JCWRlYnVnX21ldGhvZF9hZGQgKHcsICJzZXQgZm9yY2Vfc3RhcnQg ZnJvbSBmcm96ZW4gd2luZG93IHN0YXJ0Iik7Ci0JICAgICAgZWxzZQotCQlkZWJ1Z19tZXRob2Rf YWRkICh3LCAic2V0IGZvcmNlX3N0YXJ0IGZyb20gb3B0aW9uYWxfbmV3X3N0YXJ0Iik7Ci0JICAg IH0KKyAgICB7CisgICAgICBpZiAod2luZG93X2Zyb3plbl9wICh3KSkKKyAgICAgICAgeworICAg ICAgICBkZWJ1Z19tZXRob2RfYWRkICh3LCAicmVkaXNwbGF5X3dpbmRvdyAoZm9yY2Vfc3RhcnQp OiAgd2luZG93X2Zyb3plbl9wICh3KSIpOworICAgICAgfQorICAgICAgZWxzZSBpZiAody0+b3B0 aW9uYWxfbmV3X3N0YXJ0KQorICAgICAgICB7CisgICAgICAgIGRlYnVnX21ldGhvZF9hZGQgKHcs ICJyZWRpc3BsYXlfd2luZG93IChmb3JjZV9zdGFydCk6ICB3LT5vcHRpb25hbF9uZXdfc3RhcnQi KTsKKyAgICAgIH0KKyAgICAgIGVsc2UgaWYgKHctPndpbmRvd19zdGFydF9lbmRfaG9va19mb3Jj ZSkKKyAgICAgICAgeworICAgICAgICBkZWJ1Z19tZXRob2RfYWRkICh3LCAicmVkaXNwbGF5X3dp bmRvdyAoZm9yY2Vfc3RhcnQpOiAgdy0+d2luZG93X3N0YXJ0X2VuZF9ob29rX2ZvcmNlIik7Cisg ICAgICB9CisgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgZGVidWdfbWV0aG9kX2FkZCAo dywgInJlZGlzcGxheV93aW5kb3cgKGZvcmNlX3N0YXJ0KTogIFRoaXMgc2l0dWF0aW9uIGlzIG5v dCB5ZXQgY29udGVtcGxhdGVkLiIpOworICAgICAgfQorICAgIH0KICNlbmRpZgogCX0KKyAgICAg IHctPm9wdGlvbmFsX25ld19zdGFydCA9IGZhbHNlOworICAgICAgdy0+d2luZG93X3N0YXJ0X2Vu ZF9ob29rX2ZvcmNlID0gZmFsc2U7CiAgICAgfQogCiAgZm9yY2Vfc3RhcnQ6CkBAIC0xNjMwNSwx MSArMTY0MTEsMTggQEAgcmVkaXNwbGF5X3dpbmRvdyAoTGlzcF9PYmplY3Qgd2luZG93LCBib29s IGp1c3RfdGhpc19vbmVfcCkKIAkgdGhhbiB0byBnZXQgaW50byBhbiBpbmZpbml0ZSBsb29wIGNh bGxpbmcgdGhlIGhvb2sgZnVuY3Rpb25zCiAJIGFuZCBoYXZpbmcgdGhlbSBnZXQgbW9yZSBlcnJv cnMuICAqLwogICAgICAgaWYgKCF1cGRhdGVfbW9kZV9saW5lCi0JICB8fCAhIE5JTFAgKFZ3aW5k b3dfc2Nyb2xsX2Z1bmN0aW9ucykpCisJICB8fCAhIE5JTFAgKFZ3aW5kb3dfc2Nyb2xsX2Z1bmN0 aW9ucykKKwkgIHx8ICEgTklMUCAoQlZBUiAoY3VycmVudF9idWZmZXIsIHdpbmRvd19zdGFydF9l bmRfaG9vaykpKQogCXsKIAkgIHVwZGF0ZV9tb2RlX2xpbmUgPSB0cnVlOwogCSAgdy0+dXBkYXRl X21vZGVfbGluZSA9IHRydWU7Ci0JICBzdGFydHAgPSBydW5fd2luZG93X3Njcm9sbF9mdW5jdGlv bnMgKHdpbmRvdywgc3RhcnRwKTsKKworICAvKiBSdW4gd2luZG93IHNjcm9sbCBmdW5jdGlvbnMu ICAqLworICBpZiAoIXdpbmRvd19zdGFydF9lbmRfaG9va19zdXBwcmVzc193c2YpCisgICAgc3Rh cnRwID0gcnVuX3dpbmRvd19zY3JvbGxfZnVuY3Rpb25zICh3aW5kb3csIHN0YXJ0cCk7CisKKyAg cnVuX3dpbmRvd19zdGFydF9lbmRfaG9vayAod2luZG93LCBzdGFydHAsIFBULCBpdCwgInJlZGlz cGxheV93aW5kb3cgKGZvcmNlX3N0YXJ0KSIsIGZhbHNlKTsKKwogCX0KIAogICAgICAgaWYgKENI QVJQT1MgKHN0YXJ0cCkgPCBCRUdWKQpAQCAtMTY0NjAsOSArMTY1NzMsMTMgQEAgcmVkaXNwbGF5 X3dpbmRvdyAoTGlzcF9PYmplY3Qgd2luZG93LCBib29sIGp1c3RfdGhpc19vbmVfcCkKIAkgIGdv dG8gdHJ5X3RvX3Njcm9sbDsKIAl9CiAKKyAgLyogV2hlbiBzY3JvbGxpbmcgd2l0aCB0aGUgbW91 c2Ugd2hlZWwsIFBUIGhhcyBub3QgeWV0IGJlZW4gcmVzZXQgc28gd2UgdXNlIENIQVJQT1MgKHN0 YXJ0cCkuICAqLworICBydW5fd2luZG93X3N0YXJ0X2VuZF9ob29rICh3aW5kb3csIHN0YXJ0cCwg Q0hBUlBPUyAoc3RhcnRwKSwgaXQsICJyZWRpc3BsYXlfd2luZG93OiAgY2F0Y2gtYWxsIiwgZmFs c2UpOworCiAjaWZkZWYgR0xZUEhfREVCVUcKLSAgICAgIGRlYnVnX21ldGhvZF9hZGQgKHcsICJm b3JjZWQgd2luZG93IHN0YXJ0Iik7CisgICAgICBkZWJ1Z19tZXRob2RfYWRkICh3LCAicmVkaXNw bGF5X3dpbmRvdzogIGZvcmNlZCB3aW5kb3cgc3RhcnQiKTsKICNlbmRpZgorCiAgICAgICBnb3Rv IGRvbmU7CiAgICAgfQogCkBAIC0xNjU3Nyw2ICsxNjY5NCw3IEBAIHJlZGlzcGxheV93aW5kb3cg KExpc3BfT2JqZWN0IHdpbmRvdywgYm9vbCBqdXN0X3RoaXNfb25lX3ApCiAJICAgICBiZWNhdXNl IGEgd2luZG93IHNjcm9sbCBmdW5jdGlvbiBjYW4gaGF2ZSBjaGFuZ2VkIHRoZQogCSAgICAgYnVm ZmVyLiAgKi8KIAkgIHx8ICFOSUxQIChWd2luZG93X3Njcm9sbF9mdW5jdGlvbnMpCisJICB8fCAh TklMUCAoQlZBUiAoY3VycmVudF9idWZmZXIsIHdpbmRvd19zdGFydF9lbmRfaG9vaykpCiAJICB8 fCBNSU5JX1dJTkRPV19QICh3KQogCSAgfHwgISh1c2VkX2N1cnJlbnRfbWF0cml4X3AKIAkgICAg ICAgPSB0cnlfd2luZG93X3JldXNpbmdfY3VycmVudF9tYXRyaXggKHcpKSkKQEAgLTE2Nzc0LDYg KzE2ODkyLDggQEAgcmVkaXNwbGF5X3dpbmRvdyAoTGlzcF9PYmplY3Qgd2luZG93LCBib29sIGp1 c3RfdGhpc19vbmVfcCkKICAgLyogUnVuIHNjcm9sbCBob29rcy4gICovCiAgIHN0YXJ0cCA9IHJ1 bl93aW5kb3dfc2Nyb2xsX2Z1bmN0aW9ucyAod2luZG93LCBpdC5jdXJyZW50LnBvcyk7CiAKKyAg cnVuX3dpbmRvd19zdGFydF9lbmRfaG9vayAod2luZG93LCBzdGFydHAsIFBULCBpdCwgInJlZGlz cGxheV93aW5kb3cgKHJlY2VudGVyKSIsIGZhbHNlKTsKKwogICAvKiBSZWRpc3BsYXkgdGhlIHdp bmRvdy4gICovCiAgIHVzZV9kZXNpcmVkX21hdHJpeCA9IGZhbHNlOwogICBpZiAoIWN1cnJlbnRf bWF0cml4X3VwX3RvX2RhdGVfcApAQCAtMTY3ODIsNiArMTY5MDIsNyBAQCByZWRpc3BsYXlfd2lu ZG93IChMaXNwX09iamVjdCB3aW5kb3csIGJvb2wganVzdF90aGlzX29uZV9wKQogICAgICAgLyog RG9uJ3QgdXNlIHRyeV93aW5kb3dfcmV1c2luZ19jdXJyZW50X21hdHJpeCBpbiB0aGlzIGNhc2UK IAkgYmVjYXVzZSBpdCBjYW4gaGF2ZSBjaGFuZ2VkIHRoZSBidWZmZXIuICAqLwogICAgICAgfHwg IU5JTFAgKFZ3aW5kb3dfc2Nyb2xsX2Z1bmN0aW9ucykKKyAgICAgIHx8ICFOSUxQIChCVkFSIChj dXJyZW50X2J1ZmZlciwgd2luZG93X3N0YXJ0X2VuZF9ob29rKSkKICAgICAgIHx8ICFqdXN0X3Ro aXNfb25lX3AKICAgICAgIHx8IE1JTklfV0lORE9XX1AgKHcpCiAgICAgICB8fCAhKHVzZWRfY3Vy cmVudF9tYXRyaXhfcApAQCAtMTY5MDIsNyArMTcwMjMsMTMgQEAgcmVkaXNwbGF5X3dpbmRvdyAo TGlzcF9PYmplY3Qgd2luZG93LCBib29sIGp1c3RfdGhpc19vbmVfcCkKIAkgIGNsZWFyX2dseXBo X21hdHJpeCAody0+ZGVzaXJlZF9tYXRyaXgpOwogCSAgaWYgKDEgPT0gdHJ5X3dpbmRvdyAod2lu ZG93LCBpdC5jdXJyZW50LnBvcywKIAkJCSAgICAgICBUUllfV0lORE9XX0NIRUNLX01BUkdJTlMp KQotCSAgICBnb3RvIGRvbmU7CisgICAgeworICAgICAgLyogVG8gYXZvaWQgYSB2aXN1YWwgaGlj ay11cCwgaXQgaXMgbmVjZXNzYXJ5IHRvIHNldCB0aGUgbGFzdCBhcmd1bWVudCB0byB0cnVlIC0t IHRoYXQgdHJpZ2dlcnMKKyAgICAgIGBjbGVhcl9nbHlwaF9tYXRyaXgnIGFuZCBgdHJ5X3dpbmRv dycgYWZ0ZXIgdGhlIGZ1bmN0aW9ucyBhdHRhY2hlZCB0byB0aGUgaG9vayBoYXZlIHJ1bi4gICov CisgICAgICBydW5fd2luZG93X3N0YXJ0X2VuZF9ob29rICh3aW5kb3csIGl0LmN1cnJlbnQucG9z LCBQVCwgaXQsICJyZWRpc3BsYXlfd2luZG93IChwb3N0LXJlY2VudGVyKSIsIHRydWUpOworICAg ICAgZ290byBkb25lOworICAgIH0KKwogCX0KIAogICAgICAgLyogSWYgY2VudGVyaW5nIHBvaW50 IGZhaWxlZCB0byBtYWtlIHRoZSB3aG9sZSBsaW5lIHZpc2libGUsCg== --Multipart_Fri_Mar_11_08:21:24_2016-1--