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: Sun, 21 Feb 2016 22:05:17 -0800 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 (generated by - "") Content-Type: multipart/mixed; boundary="Multipart_Sun_Feb_21_22:05:15_2016-1" X-Trace: ger.gmane.org 1456121184 31412 80.91.229.3 (22 Feb 2016 06:06:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 22 Feb 2016 06:06:24 +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 Mon Feb 22 07:06:12 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 1aXjdK-0004K6-HV for geb-bug-gnu-emacs@m.gmane.org; Mon, 22 Feb 2016 07:06:10 +0100 Original-Received: from localhost ([::1]:47246 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aXjdK-0000mm-19 for geb-bug-gnu-emacs@m.gmane.org; Mon, 22 Feb 2016 01:06:10 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45197) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aXjdF-0000me-S7 for bug-gnu-emacs@gnu.org; Mon, 22 Feb 2016 01:06:06 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aXjdC-000154-LJ for bug-gnu-emacs@gnu.org; Mon, 22 Feb 2016 01:06:05 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:39641) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aXjdC-000150-Hd for bug-gnu-emacs@gnu.org; Mon, 22 Feb 2016 01:06:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84) (envelope-from ) id 1aXjdC-0003Gh-4N for bug-gnu-emacs@gnu.org; Mon, 22 Feb 2016 01:06:02 -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: Mon, 22 Feb 2016 06:06:02 +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.145612112712517 (code B ref 22404); Mon, 22 Feb 2016 06:06:02 +0000 Original-Received: (at 22404) by debbugs.gnu.org; 22 Feb 2016 06:05:27 +0000 Original-Received: from localhost ([127.0.0.1]:36768 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aXjcc-0003Fp-Vr for submit@debbugs.gnu.org; Mon, 22 Feb 2016 01:05:27 -0500 Original-Received: from cobb.liquidweb.com ([50.28.13.150]:54614) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aXjcb-0003Fd-7v for 22404@debbugs.gnu.org; Mon, 22 Feb 2016 01:05:25 -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=HgyCEsUQo+tWmjxdzpkWF/iekyWNbE1xn1UGvjJrCgQ=; b=zVPAVxEDgVqUfy7IFWn6sIQbBQyq65ir8mE1pnbYCegKa3Hf81pHkOWbUMWkRNXNt27bTSB1ktc5sVUtChv84S4KxywpScynjGlMczUkSZYJPtOXoTOkXlEMgJwPmMFN; Original-Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:54926 helo=server.private.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1aXjcS-00067L-NV; Mon, 22 Feb 2016 01:05:17 -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:113444 Archived-At: --Multipart_Sun_Feb_21_22:05:15_2016-1 Content-Type: text/plain; charset=US-ASCII Here is the latest draft of the window-start-end-hook. This is probably about as far as I need to go, unless I discover bugs in the future. It appears to be working well. Thanks. Keith --Multipart_Sun_Feb_21_22:05:15_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 YnVmZmVyLmgKaW5kZXggNTc4M2JmYi4uMGUxMzI0NyAxMDA2NDQKLS0tIGEvc3JjL2J1ZmZlci5o CisrKyBiL3NyYy9idWZmZXIuaApAQCAtNjQzLDYgKzY0Myw5IEBAIHN0cnVjdCBidWZmZXIKICAg ICAgY2FjaGUgYXJlIGVuYWJsZWQuICBTZWUgc2VhcmNoLmMsIGluZGVudC5jIGFuZCBiaWRpLmMg Zm9yIGRldGFpbHMuICAqLwogICBMaXNwX09iamVjdCBjYWNoZV9sb25nX3NjYW5zXzsKIAorICAv KiBUaGUgbmFtZSBvZiB0aGUgaG9vay4gICovCisgIExpc3BfT2JqZWN0IHdpbmRvd19zdGFydF9l bmRfaG9va187CisKICAgLyogSWYgdGhlIHdpZHRoIHJ1biBjYWNoZSBpcyBlbmFibGVkLCB0aGlz IHRhYmxlIGNvbnRhaW5zIHRoZQogICAgICBjaGFyYWN0ZXIgd2lkdGhzIHdpZHRoX3J1bl9jYWNo ZSAoc2VlIGFib3ZlKSBhc3N1bWVzLiAgV2hlbiB3ZQogICAgICBkbyBhIHRob3JvdWdoIHJlZGlz cGxheSwgd2UgY29tcGFyZSB0aGlzIGFnYWluc3QgdGhlIGJ1ZmZlcidzCkBAIC04OTUsNiArODk4 LDExIEBAIGJzZXRfY2FjaGVfbG9uZ19zY2FucyAoc3RydWN0IGJ1ZmZlciAqYiwgTGlzcF9PYmpl Y3QgdmFsKQogICBiLT5jYWNoZV9sb25nX3NjYW5zXyA9IHZhbDsKIH0KIElOTElORSB2b2lkCiti c2V0X3dpbmRvd19zdGFydF9lbmRfaG9vayAoc3RydWN0IGJ1ZmZlciAqYiwgTGlzcF9PYmplY3Qg dmFsKQoreworICBiLT53aW5kb3dfc3RhcnRfZW5kX2hvb2tfID0gdmFsOworfQorSU5MSU5FIHZv aWQKIGJzZXRfY2FzZV9jYW5vbl90YWJsZSAoc3RydWN0IGJ1ZmZlciAqYiwgTGlzcF9PYmplY3Qg dmFsKQogewogICBiLT5jYXNlX2Nhbm9uX3RhYmxlXyA9IHZhbDsKZGlmZiAtLWdpdCBhL3NyYy9r ZXlib2FyZC5jIGIvc3JjL2tleWJvYXJkLmMKaW5kZXggMzQzMWNkOC4uM2Q4ZDU0ZiAxMDA2NDQK LS0tIGEvc3JjL2tleWJvYXJkLmMKKysrIGIvc3JjL2tleWJvYXJkLmMKQEAgLTEyMzMsNiArMTIz MywxNSBAQCBzdGF0aWMgaW50IHJlYWRfa2V5X3NlcXVlbmNlIChMaXNwX09iamVjdCAqLCBpbnQs IExpc3BfT2JqZWN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCwgYm9vbCwg Ym9vbCwgYm9vbCk7CiBzdGF0aWMgdm9pZCBhZGp1c3RfcG9pbnRfZm9yX3Byb3BlcnR5IChwdHJk aWZmX3QsIGJvb2wpOwogCitzdGF0aWMgdm9pZAorc2V0X3dpbmRvd19zdGFydF9lbmRfaG9vayAo dm9pZCkKK3sKKyAgTGlzcF9PYmplY3Qgd2luZG93ID0gKHNlbGVjdGVkX3dpbmRvdyk7CisgIHN0 cnVjdCB3aW5kb3cgKncgPSBkZWNvZGVfbGl2ZV93aW5kb3cgKHdpbmRvdyk7CisgIHctPndpbmRv d19zdGFydF9lbmRfaG9va19mb3JjZSA9IHRydWU7CisgIHctPndpbmRvd19zdGFydF9lbmRfaG9v a19wZW5kaW5nID0gdHJ1ZTsKK30KKwogTGlzcF9PYmplY3QKIGNvbW1hbmRfbG9vcF8xICh2b2lk KQogewpAQCAtMTI1OCw2ICsxMjY3LDggQEAgY29tbWFuZF9sb29wXzEgKHZvaWQpCiAgICAgICBp ZiAoIU5JTFAgKFZwb3N0X2NvbW1hbmRfaG9vaykgJiYgIU5JTFAgKFZydW5faG9va3MpKQogCXNh ZmVfcnVuX2hvb2tzIChRcG9zdF9jb21tYW5kX2hvb2spOwogCisgICAgICBzZXRfd2luZG93X3N0 YXJ0X2VuZF9ob29rICgpOworCiAgICAgICAvKiBJZiBkaXNwbGF5aW5nIGEgbWVzc2FnZSwgcmVz aXplIHRoZSBlY2hvIGFyZWEgd2luZG93IHRvIGZpdAogCSB0aGF0IG1lc3NhZ2UncyBzaXplIGV4 YWN0bHkuICAqLwogICAgICAgaWYgKCFOSUxQIChlY2hvX2FyZWFfYnVmZmVyWzBdKSkKQEAgLTE0 NzQsNiArMTQ4NSw4IEBAIGNvbW1hbmRfbG9vcF8xICh2b2lkKQogCiAgICAgICBzYWZlX3J1bl9o b29rcyAoUXBvc3RfY29tbWFuZF9ob29rKTsKIAorICAgICAgc2V0X3dpbmRvd19zdGFydF9lbmRf aG9vayAoKTsKKwogICAgICAgLyogSWYgZGlzcGxheWluZyBhIG1lc3NhZ2UsIHJlc2l6ZSB0aGUg ZWNobyBhcmVhIHdpbmRvdyB0byBmaXQKIAkgdGhhdCBtZXNzYWdlJ3Mgc2l6ZSBleGFjdGx5LiAg Ki8KICAgICAgIGlmICghTklMUCAoZWNob19hcmVhX2J1ZmZlclswXSkpCmRpZmYgLS1naXQgYS9z cmMvd2luZG93LmggYi9zcmMvd2luZG93LmgKaW5kZXggYzI5MjA3ZC4uMzE1NjkyNyAxMDA2NDQK LS0tIGEvc3JjL3dpbmRvdy5oCisrKyBiL3NyYy93aW5kb3cuaApAQCAtMzQ4LDYgKzM0OCwxMiBA QCBzdHJ1Y3Qgd2luZG93CiAgICAgICAgVndpbmRvd19zY3JvbGxfZnVuY3Rpb25zOyBhbHNvIGJ5 IEZyZWNlbnRlciB3aXRoIGFyZ3VtZW50LiAgKi8KICAgICBib29sX2JmIG9wdGlvbmFsX25ld19z dGFydCA6IDE7CiAKKyAgICAvKiBUcnVlIG1lYW5zIGZvcmNlIGEgY2FsbCB0byBWd2luZG93X3N0 YXJ0X2VuZF9ob29rLiAgKi8KKyAgICBib29sX2JmIHdpbmRvd19zdGFydF9lbmRfaG9va19mb3Jj ZSA6IDE7CisKKyAgICAvKiBUcnVlIG1lYW5zIHRoZSBob29rIGhhcyBub3QgeWV0IHJ1biB3aXRo IHBvaW50IGZ1bGx5IHZpc2libGUuICAqLworICAgIGJvb2xfYmYgd2luZG93X3N0YXJ0X2VuZF9o b29rX3BlbmRpbmcgOiAxOworCiAgICAgLyogVHJ1ZSBtZWFucyB0aGUgY3Vyc29yIGlzIGN1cnJl bnRseSBkaXNwbGF5ZWQuICBUaGlzIGNhbiBiZQogICAgICAgIHNldCB0byB6ZXJvIGJ5IGZ1bmN0 aW9ucyBvdmVycGFpbnRpbmcgdGhlIGN1cnNvciBpbWFnZS4gICovCiAgICAgYm9vbF9iZiBwaHlz X2N1cnNvcl9vbl9wIDogMTsKZGlmZiAtLWdpdCBhL3NyYy94ZGlzcC5jIGIvc3JjL3hkaXNwLmMK aW5kZXggZmVkNTg3OS4uZTM4ZThkYyAxMDA2NDQKLS0tIGEvc3JjL3hkaXNwLmMKKysrIGIvc3Jj L3hkaXNwLmMKQEAgLTEzNDE3LDYgKzEzNDE3LDgzIEBAIGRvIHsgaWYgKCEgcG9sbGluZ19zdG9w cGVkX2hlcmUpIHN0b3BfcG9sbGluZyAoKTsJXAogZG8geyBpZiAocG9sbGluZ19zdG9wcGVkX2hl cmUpIHN0YXJ0X3BvbGxpbmcgKCk7CVwKICAgICAgICBwb2xsaW5nX3N0b3BwZWRfaGVyZSA9IGZh bHNlOyB9IHdoaWxlIChmYWxzZSkKIAorc3RhdGljIHZvaWQKK3J1bl93aW5kb3dfc3RhcnRfZW5k X2hvb2sgKExpc3BfT2JqZWN0IHdpbmRvdywgc3RydWN0IHRleHRfcG9zIHN0YXJ0cCwgc3RydWN0 IGl0IGl0LCBjaGFyICpzdHJpbmcpCit7CisgIHN0cnVjdCB3aW5kb3cgKncgPSBkZWNvZGVfbGl2 ZV93aW5kb3cgKHdpbmRvdyk7CisgIExpc3BfT2JqZWN0IGJ1ZjsKKyAgc3RydWN0IGJ1ZmZlciAq YjsKKyAgYnVmID0gdy0+Y29udGVudHM7CisgIENIRUNLX0JVRkZFUiAoYnVmKTsKKyAgYiA9IFhC VUZGRVIgKGJ1Zik7CisgIHN0cnVjdCBidWZmZXIgKm9sZF9idWZmZXIgPSBOVUxMOworICB2b2lk ICppdGRhdGEgPSBOVUxMOworICBib29sIGZ1bGx5X3AgPSBmYWxzZTsKKyAgRU1BQ1NfSU5UIHBv c2ludCA9IFBUOworICBpbnQgeCwgeSwgcnRvcCwgcmJvdCwgcm93aCwgdnBvcywgc3RhcnRwX2lu dGVnZXIsIGVuZHAsIHBib2xfc3RhcnRwLCBwZW9sX2VuZHA7CisgIHN0YXJ0cF9pbnRlZ2VyID0g Q0hBUlBPUyAoc3RhcnRwKTsKKyAgaWYgKGIgIT0gY3VycmVudF9idWZmZXIpCisgICAgeworICAg ICAgb2xkX2J1ZmZlciA9IGN1cnJlbnRfYnVmZmVyOworICAgICAgc2V0X2J1ZmZlcl9pbnRlcm5h bCAoYik7CisgICAgfQorICBpZiAoIU5JTFAgKEJWQVIgKGN1cnJlbnRfYnVmZmVyLCB3aW5kb3df c3RhcnRfZW5kX2hvb2spKQorICAgICAgJiYgdy0+d2luZG93X3N0YXJ0X2VuZF9ob29rX3BlbmRp bmcpCisgICAgeworICAgICAgaWYgKChwb3NpbnQgPj0gQ0hBUlBPUyAoc3RhcnRwKSAmJiBwb3Np bnQgPD0gQlVGX1pWIChiKSkKKyAgICAgICAgICAmJiBDSEFSUE9TIChzdGFydHApID49IEJVRl9C RUdWIChiKQorICAgICAgICAgICYmIENIQVJQT1MgKHN0YXJ0cCkgPD0gQlVGX1pWIChiKQorICAg ICAgICAgICYmIHBvc192aXNpYmxlX3AgKHcsIHBvc2ludCwgJngsICZ5LCAmcnRvcCwgJnJib3Qs ICZyb3doLCAmdnBvcykpCisgICAgICAgIGZ1bGx5X3AgPSAhcnRvcCAmJiAhcmJvdDsKKyAgICAg IGlmIChmdWxseV9wKQorICAgICAgICB7CisgICAgICAgICAgQ0xJUF9URVhUX1BPU19GUk9NX01B UktFUiAoc3RhcnRwLCB3LT5zdGFydCk7CisgICAgICAgICAgaXRkYXRhID0gYmlkaV9zaGVsdmVf Y2FjaGUgKCk7CisgICAgICAgICAgc3RhcnRfZGlzcGxheSAoJml0LCB3LCBzdGFydHApOworICAg ICAgICAgIG1vdmVfaXRfdmVydGljYWxseSAoJml0LCB3aW5kb3dfYm94X2hlaWdodCAodykpOwor ICAgICAgICAgIGlmIChpdC5jdXJyZW50X3kgPCBpdC5sYXN0X3Zpc2libGVfeSkKKyAgICAgICAg ICAgIG1vdmVfaXRfcGFzdF9lb2wgKCZpdCk7CisgICAgICAgICAgZW5kcCA9IChJVF9DSEFSUE9T IChpdCkpOworICAgICAgICAgIGJpZGlfdW5zaGVsdmVfY2FjaGUgKGl0ZGF0YSwgZmFsc2UpOwor ICAgICAgICAgIFNFVF9QVCAoc3RhcnRwX2ludGVnZXIpOworICAgICAgICAgIHBib2xfc3RhcnRw ID0gWElOVCAoRmxpbmVfYmVnaW5uaW5nX3Bvc2l0aW9uIChRbmlsKSk7CisgICAgICAgICAgU0VU X1BUIChlbmRwKTsKKyAgICAgICAgICBwZW9sX2VuZHAgPSBYSU5UIChGbGluZV9lbmRfcG9zaXRp b24gKFFuaWwpKTsKKyAgICAgICAgICBTRVRfUFQgKHBvc2ludCk7CisjaWZkZWYgR0xZUEhfREVC VUcKKyAgICAgICAgICAvKiBTZWUgdGhlIGRvYy1zdHJpbmcgZm9yIGBwb3MtdmlzaWJsZS1pbi13 aW5kb3ctcCcuICAqLworICAgICAgICAgIGRlYnVnX21ldGhvZF9hZGQgKHcsICIlcyAtLSB4OiAl ZCB8IHk6ICVkIHwgc3RhcnRwOiAlZCB8IGVuZHA6ICVkIHwgcGJvbF9zdGFydHA6ICVkIHwgcGVv bF9lbmRwOiAlZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nLCB4LCB5 LCBzdGFydHBfaW50ZWdlciwgZW5kcCwgcGJvbF9zdGFydHAsIHBlb2xfZW5kcCk7CisjZW5kaWYK KyAgICAgICAgICAvKiAgUmVzZXQgdGhlIGZsYWcgX2JlZm9yZV8gY2FsbGluZyBMaXNwLCBub3Qg YWZ0ZXIsIHNvIHRoYXQKKyAgICAgICAgICAgICAgaWYgTGlzcCBkb2VzIHNpZ25hbCBhbiBlcnJv ciwgdGhlIGZsYWcgd2lsbCBiZSByZXNldCwgYW5kCisgICAgICAgICAgICAgIHdvbid0IGNhdXNl IHRoZSBob29rIHRvIGJlIGNhbGxlZCBhZCBuYXVzZWFtLiAgKi8KKyAgICAgICAgICB3LT53aW5k b3dfc3RhcnRfZW5kX2hvb2tfcGVuZGluZyA9IGZhbHNlOworICAgICAgICAgIC8qICBXaGVuIGNh bGxpbmcgTGlzcCBmcm9tIHJlZGlzcGxheSwgYWx3YXlzIHVzZSBzYWZlX2NhbGwsIHRvIGJlCisg ICAgICAgICAgICAgIHByb3RlY3RlZCBhZ2FpbnN0IGVycm9ycyBzaWduYWxlZCBieSB0aGF0IExp c3AuICAqLworICAgICAgICAgIC8qIGZuLCBhcmcxLCBhcmcyLCBhcmczLCBhcmc0LCBhcmc1LCBh cmc2LCBhcmc3ICAqLworICAgICAgICAgIHNhZmVfY2FsbCAoOCwKKyAgICAgICAgICAgICAgUXJ1 bl9ob29rX3dpdGhfYXJncywKKyAgICAgICAgICAgICAgUXdpbmRvd19zdGFydF9lbmRfaG9vaywK KyAgICAgICAgICAgICAgd2luZG93LAorICAgICAgICAgICAgICBtYWtlX251bWJlciAoc3RhcnRw X2ludGVnZXIpLAorICAgICAgICAgICAgICBtYWtlX251bWJlciAoZW5kcCksCisgICAgICAgICAg ICAgIG1ha2VfbnVtYmVyIChwYm9sX3N0YXJ0cCksCisgICAgICAgICAgICAgIG1ha2VfbnVtYmVy IChwZW9sX2VuZHApLAorICAgICAgICAgICAgICBmdWxseV9wID8gUXQgOiBRbmlsKTsKKyAgICAg ICAgfQorICAgICAgICBlbHNlCisgICAgICAgICAgeworI2lmZGVmIEdMWVBIX0RFQlVHCisgICAg ICAgICAgICAvKiBTZWUgdGhlIGRvYy1zdHJpbmcgZm9yIGBwb3MtdmlzaWJsZS1pbi13aW5kb3ct cCcuICAqLworICAgICAgICAgICAgZGVidWdfbWV0aG9kX2FkZCAodywgIiVzIC0tIHg6ICVkIHwg eTogJWQgfCBydG9wOiAlZCB8IHJib3QgJWQgfCByb3doOiAlZCB8IHZwb3M6ICVkIiwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZywgeCwgeSwgcnRvcCwgcmJvdCwgcm93 aCwgdnBvcyk7CisjZW5kaWYKKyAgICAgICAgICB9CisgICAgfQorICBpZiAob2xkX2J1ZmZlcikK KyAgICBzZXRfYnVmZmVyX2ludGVybmFsIChvbGRfYnVmZmVyKTsKK30KIAogLyogUGVyaGFwcyBp biB0aGUgZnV0dXJlIGF2b2lkIHJlY2VudGVyaW5nIHdpbmRvd3MgaWYgaXQKICAgIGlzIG5vdCBu ZWNlc3Nhcnk7IGN1cnJlbnRseSB0aGF0IGNhdXNlcyBzb21lIHByb2JsZW1zLiAgKi8KQEAgLTEz NzE0LDYgKzEzNzkxLDcgQEAgcmVkaXNwbGF5X2ludGVybmFsICh2b2lkKQogICAgICAgJiYgbWF0 Y2hfcAogICAgICAgJiYgIXctPmZvcmNlX3N0YXJ0CiAgICAgICAmJiAhdy0+b3B0aW9uYWxfbmV3 X3N0YXJ0CisgICAgICAmJiAhdy0+d2luZG93X3N0YXJ0X2VuZF9ob29rX2ZvcmNlCiAgICAgICAv KiBQb2ludCBtdXN0IGJlIG9uIHRoZSBsaW5lIHRoYXQgd2UgaGF2ZSBpbmZvIHJlY29yZGVkIGFi b3V0LiAgKi8KICAgICAgICYmIFBUID49IENIQVJQT1MgKHRsYnVmcG9zKQogICAgICAgJiYgUFQg PD0gWiAtIENIQVJQT1MgKHRsZW5kcG9zKQpAQCAtMTU0MTgsNiArMTU0OTYsOCBAQCB0cnlfc2Ny b2xsaW5nIChMaXNwX09iamVjdCB3aW5kb3csIGJvb2wganVzdF90aGlzX29uZV9wLAogICAvKiBS dW4gd2luZG93IHNjcm9sbCBmdW5jdGlvbnMuICAqLwogICBzdGFydHAgPSBydW5fd2luZG93X3Nj cm9sbF9mdW5jdGlvbnMgKHdpbmRvdywgc3RhcnRwKTsKIAorICBydW5fd2luZG93X3N0YXJ0X2Vu ZF9ob29rICh3aW5kb3csIHN0YXJ0cCwgaXQsICJ0cnlfc2Nyb2xsaW5nIik7CisKICAgLyogRGlz cGxheSB0aGUgd2luZG93LiAgR2l2ZSB1cCBpZiBuZXcgZm9udHMgYXJlIGxvYWRlZCwgb3IgaWYg cG9pbnQKICAgICAgZG9lc24ndCBhcHBlYXIuICAqLwogICBpZiAoIXRyeV93aW5kb3cgKHdpbmRv dywgc3RhcnRwLCAwKSkKQEAgLTE2MDgyLDYgKzE2MTYyLDcgQEAgcmVkaXNwbGF5X3dpbmRvdyAo TGlzcF9PYmplY3Qgd2luZG93LCBib29sIGp1c3RfdGhpc19vbmVfcCkKICAgYm9vbCBsYXN0X2xp bmVfbWlzZml0ID0gZmFsc2U7CiAgIHB0cmRpZmZfdCBiZWdfdW5jaGFuZ2VkLCBlbmRfdW5jaGFu Z2VkOwogICBpbnQgZnJhbWVfbGluZV9oZWlnaHQ7CisgIGJvb2wgd2luZG93X3N0YXJ0X2VuZF9o b29rX3N1cHByZXNzX3dzZiA9IGZhbHNlOwogCiAgIFNFVF9URVhUX1BPUyAobHBvaW50LCBQVCwg UFRfQllURSk7CiAgIG9wb2ludCA9IGxwb2ludDsKQEAgLTE2MjcyLDEzICsxNjM1MywxNiBAQCBy ZWRpc3BsYXlfd2luZG93IChMaXNwX09iamVjdCB3aW5kb3csIGJvb2wganVzdF90aGlzX29uZV9w KQogCiAgIC8qIElmIHNvbWVvbmUgc3BlY2lmaWVkIGEgbmV3IHN0YXJ0aW5nIHBvaW50IGJ1dCBk aWQgbm90IGluc2lzdCwKICAgICAgY2hlY2sgd2hldGhlciBpdCBjYW4gYmUgdXNlZC4gICovCi0g IGlmICgody0+b3B0aW9uYWxfbmV3X3N0YXJ0IHx8IHdpbmRvd19mcm96ZW5fcCAodykpCisgIGlm ICgody0+b3B0aW9uYWxfbmV3X3N0YXJ0IHx8IHctPndpbmRvd19zdGFydF9lbmRfaG9va19mb3Jj ZSB8fCB3aW5kb3dfZnJvemVuX3AgKHcpKQogICAgICAgJiYgQ0hBUlBPUyAoc3RhcnRwKSA+PSBC RUdWCiAgICAgICAmJiBDSEFSUE9TIChzdGFydHApIDw9IFpWKQogICAgIHsKKworICAgICAgaWYg KHctPndpbmRvd19zdGFydF9lbmRfaG9va19mb3JjZSAmJiAhdy0+b3B0aW9uYWxfbmV3X3N0YXJ0 ICYmICF3aW5kb3dfZnJvemVuX3AgKHcpICYmICF3LT5mb3JjZV9zdGFydCkKKyAgICAgICAgd2lu ZG93X3N0YXJ0X2VuZF9ob29rX3N1cHByZXNzX3dzZiA9IHRydWU7CisKICAgICAgIHB0cmRpZmZf dCBpdF9jaGFycG9zOwogCi0gICAgICB3LT5vcHRpb25hbF9uZXdfc3RhcnQgPSBmYWxzZTsKICAg ICAgIHN0YXJ0X2Rpc3BsYXkgKCZpdCwgdywgc3RhcnRwKTsKICAgICAgIG1vdmVfaXRfdG8gKCZp dCwgUFQsIDAsIGl0Lmxhc3RfdmlzaWJsZV95LCAtMSwKIAkJICBNT1ZFX1RPX1BPUyB8IE1PVkVf VE9fWCB8IE1PVkVfVE9fWSk7CkBAIC0xNjI5OSwxNCArMTYzODMsMjggQEAgcmVkaXNwbGF5X3dp bmRvdyAoTGlzcF9PYmplY3Qgd2luZG93LCBib29sIGp1c3RfdGhpc19vbmVfcCkKIAkgICAgdy0+ Zm9yY2Vfc3RhcnQgPSB0cnVlOwogI2lmZGVmIEdMWVBIX0RFQlVHCiAJICBpZiAody0+Zm9yY2Vf c3RhcnQpCi0JICAgIHsKLQkgICAgICBpZiAod2luZG93X2Zyb3plbl9wICh3KSkKLQkJZGVidWdf bWV0aG9kX2FkZCAodywgInNldCBmb3JjZV9zdGFydCBmcm9tIGZyb3plbiB3aW5kb3cgc3RhcnQi KTsKLQkgICAgICBlbHNlCi0JCWRlYnVnX21ldGhvZF9hZGQgKHcsICJzZXQgZm9yY2Vfc3RhcnQg ZnJvbSBvcHRpb25hbF9uZXdfc3RhcnQiKTsKLQkgICAgfQorICAgIHsKKyAgICAgIGlmICh3aW5k b3dfZnJvemVuX3AgKHcpKQorICAgICAgICB7CisgICAgICAgIGRlYnVnX21ldGhvZF9hZGQgKHcs ICJzZXQgZm9yY2Vfc3RhcnQgZnJvbSBmcm96ZW4gd2luZG93IHN0YXJ0Iik7CisgICAgICB9Cisg ICAgICBlbHNlIGlmICh3LT5vcHRpb25hbF9uZXdfc3RhcnQpCisgICAgICAgIHsKKyAgICAgICAg ZGVidWdfbWV0aG9kX2FkZCAodywgInNldCBmb3JjZV9zdGFydCBmcm9tIG9wdGlvbmFsX25ld19z dGFydCIpOworICAgICAgfQorICAgICAgZWxzZSBpZiAody0+d2luZG93X3N0YXJ0X2VuZF9ob29r X2ZvcmNlKQorICAgICAgICB7CisgICAgICAgIGRlYnVnX21ldGhvZF9hZGQgKHcsICJzZXQgZm9y Y2Vfc3RhcnQgZnJvbSB3aW5kb3dfc3RhcnRfZW5kX2hvb2tfZm9yY2UiKTsKKyAgICAgIH0KKyAg ICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICBkZWJ1Z19tZXRob2RfYWRkICh3LCAiVGhpcyBz aXR1YXRpb24gaXMgbm90IHlldCBjb250ZW1wbGF0ZWQuIik7CisgICAgICB9CisgICAgfQogI2Vu ZGlmCiAJfQorICAgICAgdy0+b3B0aW9uYWxfbmV3X3N0YXJ0ID0gZmFsc2U7CisgICAgICB3LT53 aW5kb3dfc3RhcnRfZW5kX2hvb2tfZm9yY2UgPSBmYWxzZTsKICAgICB9CiAKICBmb3JjZV9zdGFy dDoKQEAgLTE2MzM0LDExICsxNjQzMiwxOCBAQCByZWRpc3BsYXlfd2luZG93IChMaXNwX09iamVj dCB3aW5kb3csIGJvb2wganVzdF90aGlzX29uZV9wKQogCSB0aGFuIHRvIGdldCBpbnRvIGFuIGlu ZmluaXRlIGxvb3AgY2FsbGluZyB0aGUgaG9vayBmdW5jdGlvbnMKIAkgYW5kIGhhdmluZyB0aGVt IGdldCBtb3JlIGVycm9ycy4gICovCiAgICAgICBpZiAoIXVwZGF0ZV9tb2RlX2xpbmUKLQkgIHx8 ICEgTklMUCAoVndpbmRvd19zY3JvbGxfZnVuY3Rpb25zKSkKKwkgIHx8ICEgTklMUCAoVndpbmRv d19zY3JvbGxfZnVuY3Rpb25zKQorCSAgfHwgISBOSUxQIChCVkFSIChjdXJyZW50X2J1ZmZlciwg d2luZG93X3N0YXJ0X2VuZF9ob29rKSkpCiAJewogCSAgdXBkYXRlX21vZGVfbGluZSA9IHRydWU7 CiAJICB3LT51cGRhdGVfbW9kZV9saW5lID0gdHJ1ZTsKLQkgIHN0YXJ0cCA9IHJ1bl93aW5kb3df c2Nyb2xsX2Z1bmN0aW9ucyAod2luZG93LCBzdGFydHApOworCisgIC8qIFJ1biB3aW5kb3cgc2Ny b2xsIGZ1bmN0aW9ucy4gICovCisgIGlmICghd2luZG93X3N0YXJ0X2VuZF9ob29rX3N1cHByZXNz X3dzZikKKyAgICBzdGFydHAgPSBydW5fd2luZG93X3Njcm9sbF9mdW5jdGlvbnMgKHdpbmRvdywg c3RhcnRwKTsKKworICBydW5fd2luZG93X3N0YXJ0X2VuZF9ob29rICh3aW5kb3csIHN0YXJ0cCwg aXQsICJyZWRpc3BsYXlfd2luZG93IChmb3JjZV9zdGFydCkiKTsKKwogCX0KIAogICAgICAgaWYg KENIQVJQT1MgKHN0YXJ0cCkgPCBCRUdWKQpAQCAtMTY2MDYsNiArMTY3MTEsNyBAQCByZWRpc3Bs YXlfd2luZG93IChMaXNwX09iamVjdCB3aW5kb3csIGJvb2wganVzdF90aGlzX29uZV9wKQogCSAg ICAgYmVjYXVzZSBhIHdpbmRvdyBzY3JvbGwgZnVuY3Rpb24gY2FuIGhhdmUgY2hhbmdlZCB0aGUK IAkgICAgIGJ1ZmZlci4gICovCiAJICB8fCAhTklMUCAoVndpbmRvd19zY3JvbGxfZnVuY3Rpb25z KQorCSAgfHwgIU5JTFAgKEJWQVIgKGN1cnJlbnRfYnVmZmVyLCB3aW5kb3dfc3RhcnRfZW5kX2hv b2spKQogCSAgfHwgTUlOSV9XSU5ET1dfUCAodykKIAkgIHx8ICEodXNlZF9jdXJyZW50X21hdHJp eF9wCiAJICAgICAgID0gdHJ5X3dpbmRvd19yZXVzaW5nX2N1cnJlbnRfbWF0cml4ICh3KSkpCkBA IC0xNjgwMyw2ICsxNjkwOSw4IEBAIHJlZGlzcGxheV93aW5kb3cgKExpc3BfT2JqZWN0IHdpbmRv dywgYm9vbCBqdXN0X3RoaXNfb25lX3ApCiAgIC8qIFJ1biBzY3JvbGwgaG9va3MuICAqLwogICBz dGFydHAgPSBydW5fd2luZG93X3Njcm9sbF9mdW5jdGlvbnMgKHdpbmRvdywgaXQuY3VycmVudC5w b3MpOwogCisgIHJ1bl93aW5kb3dfc3RhcnRfZW5kX2hvb2sgKHdpbmRvdywgc3RhcnRwLCBpdCwg InJlZGlzcGxheV93aW5kb3cgKHJlY2VudGVyKSIpOworCiAgIC8qIFJlZGlzcGxheSB0aGUgd2lu ZG93LiAgKi8KICAgYm9vbCB1c2VfZGVzaXJlZF9tYXRyaXggPSBmYWxzZTsKICAgaWYgKCFjdXJy ZW50X21hdHJpeF91cF90b19kYXRlX3AKQEAgLTE2ODExLDYgKzE2OTE5LDcgQEAgcmVkaXNwbGF5 X3dpbmRvdyAoTGlzcF9PYmplY3Qgd2luZG93LCBib29sIGp1c3RfdGhpc19vbmVfcCkKICAgICAg IC8qIERvbid0IHVzZSB0cnlfd2luZG93X3JldXNpbmdfY3VycmVudF9tYXRyaXggaW4gdGhpcyBj YXNlCiAJIGJlY2F1c2UgaXQgY2FuIGhhdmUgY2hhbmdlZCB0aGUgYnVmZmVyLiAgKi8KICAgICAg IHx8ICFOSUxQIChWd2luZG93X3Njcm9sbF9mdW5jdGlvbnMpCisgICAgICB8fCAhTklMUCAoQlZB UiAoY3VycmVudF9idWZmZXIsIHdpbmRvd19zdGFydF9lbmRfaG9vaykpCiAgICAgICB8fCAhanVz dF90aGlzX29uZV9wCiAgICAgICB8fCBNSU5JX1dJTkRPV19QICh3KQogICAgICAgfHwgISh1c2Vk X2N1cnJlbnRfbWF0cml4X3AKQEAgLTE2OTMxLDcgKzE3MDQwLDE3IEBAIHJlZGlzcGxheV93aW5k b3cgKExpc3BfT2JqZWN0IHdpbmRvdywgYm9vbCBqdXN0X3RoaXNfb25lX3ApCiAJICBjbGVhcl9n bHlwaF9tYXRyaXggKHctPmRlc2lyZWRfbWF0cml4KTsKIAkgIGlmICgxID09IHRyeV93aW5kb3cg KHdpbmRvdywgaXQuY3VycmVudC5wb3MsCiAJCQkgICAgICAgVFJZX1dJTkRPV19DSEVDS19NQVJH SU5TKSkKLQkgICAgZ290byBkb25lOworICAgIHsKKyAgICAgIGlmICghTklMUCAoQlZBUiAoY3Vy cmVudF9idWZmZXIsIHdpbmRvd19zdGFydF9lbmRfaG9vaykpCisgICAgICAgICAgJiYgdy0+d2lu ZG93X3N0YXJ0X2VuZF9ob29rX3BlbmRpbmcpCisgICAgICAgIHsKKyAgICAgICAgICBydW5fd2lu ZG93X3N0YXJ0X2VuZF9ob29rICh3aW5kb3csIGl0LmN1cnJlbnQucG9zLCBpdCwgInJlZGlzcGxh eV93aW5kb3cgKHBvc3QtcmVjZW50ZXIpIik7CisgICAgICAgICAgY2xlYXJfZ2x5cGhfbWF0cml4 ICh3LT5kZXNpcmVkX21hdHJpeCk7CisgICAgICAgICAgdHJ5X3dpbmRvdyAod2luZG93LCBpdC5j dXJyZW50LnBvcywgMCk7CisgICAgICAgIH0KKyAgICAgIGdvdG8gZG9uZTsKKyAgICB9CisKIAl9 CiAKICAgICAgIC8qIElmIGNlbnRlcmluZyBwb2ludCBmYWlsZWQgdG8gbWFrZSB0aGUgd2hvbGUg bGluZSB2aXNpYmxlLApAQCAtMjM2ODYsNiArMjM4MDUsMjAgQEAgZGVjb2RlX21vZGVfc3BlYyAo c3RydWN0IHdpbmRvdyAqdywgcmVnaXN0ZXIgaW50IGMsIGludCBmaWVsZF93aWR0aCwKIAkgIHJl dHVybiAiQCI7CiAgICAgICB9CiAKKyAgICBjYXNlICd3JzoKKyAgICAgIHsKKyAgcHRyZGlmZl90 IHdpbmRvd19zdGFydCA9IG1hcmtlcl9wb3NpdGlvbiAody0+c3RhcnQpOworICBwaW50MnN0ciAo ZGVjb2RlX21vZGVfc3BlY19idWYsIHdpZHRoLCB3aW5kb3dfc3RhcnQpOworICByZXR1cm4gZGVj b2RlX21vZGVfc3BlY19idWY7CisgICAgICB9CisKKyAgICBjYXNlICdXJzoKKyAgICAgIHsKKyAg cHRyZGlmZl90IHdpbmRvd19lbmQgPSBCVUZfWiAoYikgLSB3LT53aW5kb3dfZW5kX3BvczsKKyAg cGludDJzdHIgKGRlY29kZV9tb2RlX3NwZWNfYnVmLCB3aWR0aCwgd2luZG93X2VuZCk7CisgIHJl dHVybiBkZWNvZGVfbW9kZV9zcGVjX2J1ZjsKKyAgICAgIH0KKwogICAgIGNhc2UgJ3onOgogICAg ICAgLyogY29kaW5nLXN5c3RlbSAobm90IGluY2x1ZGluZyBlbmQtb2YtbGluZSBmb3JtYXQpICov CiAgICAgY2FzZSAnWic6Cg== --Multipart_Sun_Feb_21_22:05:15_2016-1--