From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#55871: Acknowledgement (27.1; vc-git.el log view 'a', 'f', 'd' do not work when following renames) Date: Thu, 14 Dec 2023 02:52:23 +0200 Message-ID: References: <78f97339-2aca-0dbd-4cb4-3532af78a895@yandex.ru> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------0mhzjhcCkA6q7Ctc1pZT7cEu" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33797"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Cc: 55871@debbugs.gnu.org To: =?UTF-8?Q?Nicol=C3=A1s?= Ojeda =?UTF-8?Q?B=C3=A4r?= Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Dec 14 01:53:11 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 1rDZyR-0008Xu-8R for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 14 Dec 2023 01:53:11 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rDZy3-0005uY-OM; Wed, 13 Dec 2023 19:52:47 -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 1rDZy2-0005uQ-3P for bug-gnu-emacs@gnu.org; Wed, 13 Dec 2023 19:52:46 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rDZy1-0007pA-Pf for bug-gnu-emacs@gnu.org; Wed, 13 Dec 2023 19:52:45 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rDZyH-0008Sx-Up for bug-gnu-emacs@gnu.org; Wed, 13 Dec 2023 19:53:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Dec 2023 00:53:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55871 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 55871-submit@debbugs.gnu.org id=B55871.170251518032534 (code B ref 55871); Thu, 14 Dec 2023 00:53:01 +0000 Original-Received: (at 55871) by debbugs.gnu.org; 14 Dec 2023 00:53:00 +0000 Original-Received: from localhost ([127.0.0.1]:59892 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDZyG-0008Sg-3N for submit@debbugs.gnu.org; Wed, 13 Dec 2023 19:53:00 -0500 Original-Received: from forward502b.mail.yandex.net ([2a02:6b8:c02:900:1:45:d181:d502]:50118) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDZyB-0008SI-G0 for 55871@debbugs.gnu.org; Wed, 13 Dec 2023 19:52:58 -0500 Original-Received: from mail-nwsmtp-smtp-production-main-39.myt.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-39.myt.yp-c.yandex.net [IPv6:2a02:6b8:c12:4a27:0:640:499d:0]) by forward502b.mail.yandex.net (Yandex) with ESMTP id AD8525F0FD; Thu, 14 Dec 2023 03:52:30 +0300 (MSK) Original-Received: by mail-nwsmtp-smtp-production-main-39.myt.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id SqXALE6OqOs0-VbzEV8bn; Thu, 14 Dec 2023 03:52:30 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1702515150; bh=va+9k4N1Jx7uqOK89GJPPyovqXYwn6MrraHYYfw2fAo=; h=In-Reply-To:From:Message-ID:Cc:References:Date:Subject:To; b=j5Vq0Vpm5SqVW/k1YM3WhWVSDkYVR10/QI5tSx+1UJRplzYvH7B9m6FbMHACM3RE+ OiQgLjpIDtmn2elInvNHxR2eC0E+7XrvkBqdbe00+XGB1KbtQEEcYjr7j+osCuGZUQ 5yWYm1TfqUFlHGTVYGVRWnLNvi3tJU6rWYwoXd/I= Authentication-Results: mail-nwsmtp-smtp-production-main-39.myt.yp-c.yandex.net; dkim=pass header.i=@yandex.ru Original-Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailauth.nyi.internal (Postfix) with ESMTP id EDCB627C0054; Wed, 13 Dec 2023 19:52:27 -0500 (EST) Original-Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Wed, 13 Dec 2023 19:52:27 -0500 X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudelkedgvdejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpegtkfffgggfuffhvfevfhgjsehmtd erredtfeejnecuhfhrohhmpeffmhhithhrhicuifhuthhovhcuoegughhuthhovheshigr nhguvgigrdhruheqnecuggftrfgrthhtvghrnhepkeeuudeuudeujeffhedugeevhfettd egkeeigeejvdehueeufeegvedukeeljeelnecuvehluhhsthgvrhfuihiivgeptdenucfr rghrrghmpehmrghilhhfrhhomhepughguhhtohhvodhmvghsmhhtphgruhhthhhpvghrsh honhgrlhhithihqddufeeffeelleehhedvqddvleegjeejjeejiedqughguhhtohhvpeep higrnhguvgigrdhruhesfhgrshhtmhgrihhlrdgtohhm X-ME-Proxy: Feedback-ID: ib1d9465d:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 13 Dec 2023 19:52:26 -0500 (EST) Content-Language: en-US In-Reply-To: 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:276162 Archived-At: This is a multi-part message in MIME format. --------------0mhzjhcCkA6q7Ctc1pZT7cEu Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 13/12/2022 03:23, Dmitry Gutov wrote: >> I read your message, and I think immitating GitHub's UI is a great >> idea, as it liberates us from having to do any kind of "pretreatment" >> of the git log (which can be expensive for large repos). > > Indeed. I suppose we'll lose out in some more complex cases (e.g. if > --follow tracks copies, it might track the cases when several files had > been copied into one, including when that action spanned several > commits; and thus --follow could show the history of each such file), > but we should win in the most common cases (single-file copies and > renames) OOtB, which we don't have any good support for still. > >> We should focus in this direction to fix this issue. If I get some >> spare time over the holidays I will try to take a look (sadly, I >> cannot promise that will be the case...). > > We won't be able to put the improvement into Emacs 29 anyway (the > release branch has been cut, it's now bugfix-only), so there is no hurry. > > Let's see who gets to this first. If you wanted to finish up your patch > instead, I'm not going to say no either. But GitHub's approach seems > like it should require less (and less complex) code. Attached is the implementation for this alternative approach. It's Git-only, but otherwise seems to function well (with potential for future additions). The look of the message and the button could use some work, but this is the best I came up thus far. As far as testing, it allowed following all files in Emacs's repo (that I have tried) to their original creation. Including etc/NEWS.29, and most other NEWS.*, with NEWS.28 being an exception (apparently because on that occasion NEWS was truncated before NEWS.28 was created). Also important: set vc-git-print-log-follow to nil. Otherwise logs don't end on renames, and this feature doesn't get a chance to work. Cheers, Dmitry. --------------0mhzjhcCkA6q7Ctc1pZT7cEu Content-Type: text/x-patch; charset=UTF-8; name="vc-git-file-name-changes.diff" Content-Disposition: attachment; filename="vc-git-file-name-changes.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2V0Yy9ORVdTIGIvZXRjL05FV1MKaW5kZXggMWZmMmY4YTE0OWYuLjRk ZDExYzk5OTI3IDEwMDY0NAotLS0gYS9ldGMvTkVXUworKysgYi9ldGMvTkVXUwpAQCAtNDU3 LDYgKzQ1NywxNCBAQCBXaXRoIHRoaXMgdmFsdWUgb25seSB0aGUgcmV2aXNpb24gbnVtYmVy IGlzIGRpc3BsYXllZCBvbiB0aGUgbW9kZS1saW5lLgogKioqIE9ic29sZXRlIGNvbW1hbmQg J3ZjLXN3aXRjaC1iYWNrZW5kJyByZS1hZGRlZCBhcyAndmMtY2hhbmdlLWJhY2tlbmQnLgog VGhlIGNvbW1hbmQgd2FzIHByZXZpb3VzbHkgb2Jzb2xldGVkIGFuZCB1bmJvdW5kIGluIEVt YWNzIDI4LgogCisqKiogU3VwcG9ydCBmb3Igdmlld2luZyBmaWxlIGNoYW5nZSBoaXN0b3J5 IGFjcm9zcyByZW5hbWVzLgorV2hlbiBhIGZpbGVzZXQncyBWQyBjaGFuZ2UgaGlzdG9yeSBl bmRzIGF0IGEgcmVuYW1lLCB3ZSBub3cgcHJpbnQgdGhlCitvbGQgbmFtZShzKSBhbmQgYSBi dXR0b24gd2hpY2gganVtcHMgdG8gdGhlaXIgaGlzdG9yeS4gIE9ubHkgc3VwcG9ydGVkCit3 aXRoIEdpdCBhdCB0aGUgbW9tZW50LgorCisqKiogTmV3IG9wdGlvbiAndmMtZ2l0LWZpbGUt bmFtZS1jaGFuZ2VzLXN3aXRjaGVzJy4KK0l0IGFsbG93cyB0d2Vha2luZyB0aGUgdGhyZXNo b2xkcyBmb3IgcmVuYW1lIGFuZCBjb3B5IGRldGVjdGlvbi4KKwogKiogRGlmZiBtb2RlCiAK ICsrKwpkaWZmIC0tZ2l0IGEvbGlzcC92Yy92Yy1naXQuZWwgYi9saXNwL3ZjL3ZjLWdpdC5l bAppbmRleCAyZTA1N2VjZmFhNy4uZTJjMmVkNWM3OWMgMTAwNjQ0Ci0tLSBhL2xpc3AvdmMv dmMtZ2l0LmVsCisrKyBiL2xpc3AvdmMvdmMtZ2l0LmVsCkBAIC04OSw2ICs4OSw3IEBACiA7 OyAtIG1ha2UtdmVyc2lvbi1iYWNrdXBzLXAgKGZpbGUpICAgICAgICAgICAgICAgICBOT1Qg TkVFREVECiA7OyAtIHByZXZpb3VzLXJldmlzaW9uIChmaWxlIHJldikgICAgICAgICAgICAg ICAgICBPSwogOzsgLSBuZXh0LXJldmlzaW9uIChmaWxlIHJldikgICAgICAgICAgICAgICAg ICAgICAgT0sKKzs7IC0gZmlsZS1uYW1lLWNoYW5nZXMgKHJldikgICAgICAgICAgICAgICAg ICAgICAgIE9LCiA7OyAtIGNoZWNrLWhlYWRlcnMgKCkgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBDT1VMRCBCRSBTVVBQT1JURUQKIDs7IC0gZGVsZXRlLWZpbGUgKGZpbGUpICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE9LCiA7OyAtIHJlbmFtZS1maWxlIChvbGQgbmV3 KSAgICAgICAgICAgICAgICAgICAgICAgICBPSwpAQCAtMTUyLDYgKzE1MywyMCBAQCB2Yy1n aXQtc2hvcnRsb2ctc3dpdGNoZXMKICAgICAgICAgICAgICAgICAgKHJlcGVhdCA6dGFnICJB cmd1bWVudCBMaXN0IiA6dmFsdWUgKCIiKSBzdHJpbmcpKQogICA6dmVyc2lvbiAiMzAuMSIp CiAKKzs7IFhYWDogKHNldHEgdmMtZ2l0LWxvZy1zd2l0Y2hlcyAnKCItLXNpbXBsaWZ5LW1l cmdlcyIpKSBjYW4gYWxzbworOzsgY3JlYXRlIGZ1bGxlciBoaXN0b3J5IHdoZW4gdXNpbmcg dGhpcyBmZWF0dXJlLiAgTm90IHN1cmUgd2h5LgorKGRlZmN1c3RvbSB2Yy1naXQtZmlsZS1u YW1lLWNoYW5nZXMtc3dpdGNoZXMgJygiLU0iICItQyIpCisgICJTdHJpbmcgb3IgbGlzdCBv ZiBzdHJpbmcgdG8gcGFzcyB0byBHaXQgd2hlbiBmaW5kaW5nIHByZXZpb3VzIG5hbWVzLgor CitUaGlzIG9wdGlvbiBzaG91bGQgdXN1YWxseSBhdCBsZWFzdCBjb250YWluICctTScuICBZ b3UgY2FuIGFkanVzdAordGhlIGZsYWdzIHRvIGNoYW5nZSB0aGUgc2ltaWxhcml0eSB0aHJl c2hvbGRzIChkZWZhdWx0IDUwJSkuICBPcgorYWRkIGAtLWZpbmQtY29waWVzLWhhcmRlcicg KHNsb3dlciBpbiBsYXJnZSBwcm9qZWN0cywgc2luY2UgaXQKK3VzZXMgYSBmdWxsIHNjYW4p LiIKKyAgOnR5cGUgJyhjaG9pY2UgKGNvbnN0IDp0YWcgIk5vbmUiIG5pbCkKKyAgICAgICAg ICAgICAgICAgKHN0cmluZyA6dGFnICJBcmd1bWVudCBTdHJpbmciKQorICAgICAgICAgICAg ICAgICAocmVwZWF0IDp0YWcgIkFyZ3VtZW50IExpc3QiIDp2YWx1ZSAoIiIpIHN0cmluZykp CisgIDp2ZXJzaW9uICIzMC4xIikKKwogKGRlZmN1c3RvbSB2Yy1naXQtcmVzb2x2ZS1jb25m bGljdHMgdAogICAiV2hlbiBub24tbmlsLCBtYXJrIGNvbmZsaWN0ZWQgZmlsZSBhcyByZXNv bHZlZCB1cG9uIHNhdmluZy4KIFRoYXQgaXMgcGVyZm9ybWVkIGFmdGVyIGFsbCBjb25mbGlj dCBtYXJrZXJzIGluIGl0IGhhdmUgYmVlbgpAQCAtMTIzOSw2ICsxMjU0LDMwIEBAIHZjLWdp dC1maW5kLXJldmlzaW9uCiAgICAgIG5pbAogICAgICAiY2F0LWZpbGUiICJibG9iIiAoY29u Y2F0IChpZiByZXYgcmV2ICJIRUFEIikgIjoiIGZ1bGxuYW1lKSkpKQogCisoZGVmdW4gdmMt Z2l0LWZpbGUtbmFtZS1jaGFuZ2VzIChyZXYpCisgICh3aXRoLXRlbXAtYnVmZmVyCisgICAg KGxldCAoKHJvb3QgKHZjLWdpdC1yb290IGRlZmF1bHQtZGlyZWN0b3J5KSkpCisgICAgICAo YXBwbHkgIyd2Yy1naXQtY29tbWFuZCAoY3VycmVudC1idWZmZXIpIHQgbmlsCisgICAgICAg ICAgICAgImRpZmYiCisgICAgICAgICAgICAgIi0tbmFtZS1zdGF0dXMiCisgICAgICAgICAg ICAgIi0tZGlmZi1maWx0ZXI9QURDUiIKKyAgICAgICAgICAgICAoY29uY2F0IHJldiAiXiIp IHJldgorICAgICAgICAgICAgICh2Yy1zd2l0Y2hlcyAnZ2l0ICdmaWxlLW5hbWUtY2hhbmdl cykpCisgICAgICAobGV0IChyZXMpCisgICAgICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikp CisgICAgICAgICh3aGlsZSAocmUtc2VhcmNoLWZvcndhcmQgIl5cXChbQ01SXVxcKVswLTld Klx0XFwoW15cblx0XStcXClcXCg/Olx0XFwoW15cblx0XStcXClcXCk/IiBuaWwgdCkKKyAg ICAgICAgICAocGNhc2UgKG1hdGNoLXN0cmluZyAxKQorICAgICAgICAgICAgKCJBIiAocHVz aCAoY29ucyBuaWwgKG1hdGNoLXN0cmluZyAyKSkgcmVzKSkKKyAgICAgICAgICAgICgiRCIg KHB1c2ggKGNvbnMgKG1hdGNoLXN0cmluZyAyKSBuaWwpIHJlcykpCisgICAgICAgICAgICAo KG9yICJDIiAiUiIpIChwdXNoIChjb25zIChtYXRjaC1zdHJpbmcgMikgKG1hdGNoLXN0cmlu ZyAzKSkgcmVzKSkKKyAgICAgICAgICAgIDs7ICgiTSIgKHB1c2ggKGNvbnMgKG1hdGNoLXN0 cmluZyAxKSAobWF0Y2gtc3RyaW5nIDEpKSByZXMpKQorICAgICAgICAgICAgKSkKKyAgICAg ICAgKG1hcGMgKGxhbWJkYSAoYykKKyAgICAgICAgICAgICAgICAoaWYgKGNhciBjKSAoc2V0 Y2FyIGMgKGV4cGFuZC1maWxlLW5hbWUgKGNhciBjKSByb290KSkpCisgICAgICAgICAgICAg ICAgKGlmIChjZHIgYykgKHNldGNkciBjIChleHBhbmQtZmlsZS1uYW1lIChjZHIgYykgcm9v dCkpKSkKKyAgICAgICAgICAgICAgICByZXMpCisgICAgICAgIChucmV2ZXJzZSByZXMpKSkp KQorCiAoZGVmdW4gdmMtZ2l0LWZpbmQtaWdub3JlLWZpbGUgKGZpbGUpCiAgICJSZXR1cm4g dGhlIGdpdCBpZ25vcmUgZmlsZSB0aGF0IGNvbnRyb2xzIEZJTEUuIgogICAoZXhwYW5kLWZp bGUtbmFtZSAiLmdpdGlnbm9yZSIKQEAgLTE0MTYsNyArMTQ1NSwxNSBAQCB2Yy1naXQtY2xv bmUKIDs7IExvbmcgZXhwbGFuYXRpb24gaGVyZToKIDs7IGh0dHBzOi8vc3RhY2tvdmVyZmxv dy5jb20vcXVlc3Rpb25zLzQ2NDg3NDc2L2dpdC1sb2ctZm9sbG93LWdyYXBoLXNraXBzLWNv bW1pdHMKIChkZWZjdXN0b20gdmMtZ2l0LXByaW50LWxvZy1mb2xsb3cgbmlsCi0gICJJZiB0 cnVlLCBmb2xsb3cgcmVuYW1lcyBpbiBHaXQgbG9ncyBmb3IgYSBzaW5nbGUgZmlsZS4iCisg ICJJZiB0cnVlLCB1c2UgdGhlIGZsYWcgYC0tZm9sbG93JyB3aGVuIHByb2R1Y2luZyBzaW5n bGUgZmlsZSBsb2dzLgorCitJdCB3aWxsIG1ha2UgdGhlIHByaW50ZWQgbG9nIGF1dG9tYXRp Y2FsbHkgZm9sbG93IHRoZSByZW5hbWVzLgorVGhlIGRvd25zaWRlcyBpcyB0aGF0IHRoZSBs b2cgcHJvZHVjZWQgdGhpcyB3YXkgbWF5IG9taXQKK2NlcnRhaW4gKG1lcmdlKSBjb21taXRz LCBhbmQgdGhhdCBgbG9nLXZpZXctZGlmZicgZmFpbHMgb24KK2NvbW1pdHMgdGhhdCB1c2Vk IHRoZSBwcmV2aW91cyBuYW1lLCBpbiB0aGF0IGxvZyBidWZmZXIuCisKK1doZW4gdGhpcyB2 YXJpYWJsZSBpcyBuaWwsIGFuZCB0aGUgbG9nIGVuZHMgd2l0aCBhIHJlbmFtZSwgd2UKK3By aW50IGEgYnV0dG9uIHRoYXQgc2hvd3MgdGhlIGxvZyBmb3IgdGhlIHByZXZpb3VzIG5hbWUu IgogICA6dHlwZSAnYm9vbGVhbgogICA6dmVyc2lvbiAiMjYuMSIpCiAKZGlmZiAtLWdpdCBh L2xpc3AvdmMvdmMuZWwgYi9saXNwL3ZjL3ZjLmVsCmluZGV4IDk1ODkyOWZlNGM2Li5lNjI2 ZDcyZDU5YSAxMDA2NDQKLS0tIGEvbGlzcC92Yy92Yy5lbAorKysgYi9saXNwL3ZjL3ZjLmVs CkBAIC01MTcsNiArNTE3LDEzIEBACiA7OyAgIFJldHVybiB0aGUgcmV2aXNpb24gbnVtYmVy IHRoYXQgcHJlY2VkZXMgUkVWIGZvciBGSUxFLCBvciBuaWwgaWYgbm8gc3VjaAogOzsgICBy ZXZpc2lvbiBleGlzdHMuCiA7OworOzsgLSBmaWxlLW5hbWUtY2hhbmdlcyAocmV2KQorOzsK Kzs7ICAgUmV0dXJuIHRoZSBsaXN0IG9mIHBhaXJzIHdpdGggY2hhbmdlcyBpbiBmaWxlIG5h bWVzIGluIFJFVi4gIFdoZW4KKzs7ICAgYSBmaWxlIHdhcyBhZGRlZCwgaXQgc2hvdWxkIGJl IGEgY29ucyB3aXRoIG5pbCBjYXIuICBXaGVuCis7OyAgIGRlbGV0ZWQsIGEgY29ucyB3aXRo IG5pbCBjZHIuICBXaGVuIGNvcGllZCBvciByZW5hbWVkLCBhIGNvbnMKKzs7ICAgd2l0aCB0 aGUgc291cmNlIG5hbWUgYXMgY2FyIGFuZCBkZXN0aW5hdGlvbiBuYW1lIGFzIGNkci4KKzs7 CiA7OyAtIG5leHQtcmV2aXNpb24gKGZpbGUgcmV2KQogOzsKIDs7ICAgUmV0dXJuIHRoZSBy ZXZpc2lvbiBudW1iZXIgdGhhdCBmb2xsb3dzIFJFViBmb3IgRklMRSwgb3IgbmlsIGlmIG5v IHN1Y2gKQEAgLTI2OTUsOSArMjcwMiw0MiBAQCB2Yy1wcmludC1sb2ctc2V0dXAtYnV0dG9u cwogICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKICAgICAgICh3aGlsZSAocmUtc2Vh cmNoLWZvcndhcmQgbG9nLXZpZXctbWVzc2FnZS1yZSBuaWwgdCkKICAgICAgICAgKGNsLWlu Y2YgZW50cmllcykpCi0gICAgICA7OyBJZiB3ZSBnb3QgZmV3ZXIgZW50cmllcyB0aGFuIHdl IGFza2VkIGZvciwgdGhlbiBkaXNwbGF5aW5nCi0gICAgICA7OyB0aGUgIm1vcmUiIGJ1dHRv bnMgaXNuJ3QgdXNlZnVsLgotICAgICAgKHdoZW4gKD49IGVudHJpZXMgbGltaXQpCisgICAg ICAoaWYgKDwgZW50cmllcyBsaW1pdCkKKyAgICAgICAgICA7OyBUaGUgbG9nIGhhcyBiZWVu IHByaW50ZWQgaW4gZnVsbC4gIFBlcmhhcHMgaXQgc3RhcnRlZAorICAgICAgICAgIDs7IHdp dGggYSBjb3B5IG9yIHJlbmFtZT8KKyAgICAgICAgICAobGV0KiAoKGxhc3QtcmV2aXNpb24g KGxvZy12aWV3LWN1cnJlbnQtdGFnIChwb2ludC1tYXgpKSkKKyAgICAgICAgICAgICAgICAg OzsgQ291bGQgc2tpcCB0aGlzIHdoZW4gdmMtZ2l0LXByaW50LWxvZy1mb2xsb3cgPSB0Lgor ICAgICAgICAgICAgICAgICAobmFtZS1jaGFuZ2VzCisgICAgICAgICAgICAgICAgICAoY29u ZGl0aW9uLWNhc2UgbmlsCisgICAgICAgICAgICAgICAgICAgICAgKHZjLWNhbGwtYmFja2Vu ZCBsb2ctdmlldy12Yy1iYWNrZW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnZmlsZS1uYW1lLWNoYW5nZXMgbGFzdC1yZXZpc2lvbikKKyAgICAgICAgICAg ICAgICAgICAgKHZjLW5vdC1zdXBwb3J0ZWQgbmlsKSkpCisgICAgICAgICAgICAgICAgICht YXRjaGluZy1jaGFuZ2VzCisgICAgICAgICAgICAgICAgICAoY2wtZGVsZXRlLWlmLW5vdCAo bGFtYmRhIChmKSAobWVtYmVyIGYgbG9nLXZpZXctdmMtZmlsZXNldCkpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lLWNoYW5nZXMgOmtleSAjJ2NkcikpCisg ICAgICAgICAgICAgICAgIChvbGQtbmFtZXMgKG1hcGNhciAjJ2NhciBtYXRjaGluZy1jaGFu Z2VzKSkKKyAgICAgICAgICAgICAgICAgKHJlbGF0aXZlcyAobWFwY2FyICMnZmlsZS1yZWxh dGl2ZS1uYW1lIG9sZC1uYW1lcykpKQorICAgICAgICAgICAgKHdoZW4gb2xkLW5hbWVzCisg ICAgICAgICAgICAgIChnb3RvLWNoYXIgKHBvaW50LW1heCkpCisgICAgICAgICAgICAgIChp bnNlcnQgIlxuIikKKyAgICAgICAgICAgICAgKGluc2VydAorICAgICAgICAgICAgICAgKGZv cm1hdAorICAgICAgICAgICAgICAgICJSZW5hbWVkIGZyb20gJXMiCisgICAgICAgICAgICAg ICAgKG1hcGNvbmNhdCAobGFtYmRhIChzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAocHJvcGVydGl6ZSBzICdmb250LWxvY2stZmFjZQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnbG9nLXZpZXctZmlsZSkpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICByZWxhdGl2ZXMgIiwgIikpCisgICAgICAgICAgICAgICAiICIpCisgICAg ICAgICAgICAgIDs7IFRPRE86IEFsc28gcHJpbnQgYSAiTmV4dCBsb2ciIGJ1dHRvbiBhYm92 ZSB0aGUgYnVmZmVyCisgICAgICAgICAgICAgIDs7IGNyZWF0ZWQgYnkgdGhpcyBidXR0b24g dG8gYmUgYWJsZSB0byBnbyBiYWNrIHF1aWNrbHkuCisgICAgICAgICAgICAgIChpbnNlcnQt dGV4dC1idXR0b24KKyAgICAgICAgICAgICAgICJWaWV3IGxvZyIKKyAgICAgICAgICAgICAg ICdhY3Rpb24gKGxhbWJkYSAoJnJlc3QgX2lnbm9yZSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAodmMtcHJpbnQtbG9nLWludGVybmFsIGxvZy12aWV3LXZjLWJhY2tlbmQgb2xkLW5h bWVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs YXN0LXJldmlzaW9uIG5pbCBsaW1pdCkpCisgICAgICAgICAgICAgICAnaGVscC1lY2hvCisg ICAgICAgICAgICAgICAiU2hvdyB0aGUgbG9nIGZvciB0aGUgZmlsZSBuYW1lKHMpIGJlZm9y ZSB0aGUgcmVuYW1lIikpKQorICAgICAgICA7OyBQZXJoYXBzIHRoZXJlIGFyZSBtb3JlIGVu dHJpZXMgaW4gdGhlIGxvZy4KICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWF4KSkKICAg ICAgICAgKGluc2VydCAiXG4iKQogICAgICAgICAoaW5zZXJ0LXRleHQtYnV0dG9uCg== --------------0mhzjhcCkA6q7Ctc1pZT7cEu--