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#62029: 29.0.60; Allow users to customize eldoc buffer separator Date: Mon, 23 Oct 2023 04:39:40 +0300 Message-ID: <7565836d-57cd-89da-1225-44fd0d6db987@gutov.dev> References: <0C40D168-54D5-47E9-8BD8-77CFCD70B895@gmail.com> <87355vdufe.fsf@gmail.com> <87h6uacadx.fsf@gmail.com> <87h6u2y7uj.fsf@gmail.com> <871qkqmzit.fsf@gmail.com> <61fd5d66-ca0b-f67d-df70-7906c32596de@gutov.dev> <87v8i1jr5v.fsf@gmail.com> <6c64f601-0c28-2993-e55a-042419e1623e@gutov.dev> <87ttxkrtz5.fsf@gmail.com> <8735534c9l.fsf@gmail.com> <87o7nr2ut9.fsf@gmail.com> <87wn2d1nz5.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------gD8eH6Ux0xIQdTt9Hl66SlAP" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35379"; 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: 62029@debbugs.gnu.org, Yuan Fu To: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Oct 23 03:40:50 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 1qujw1-00092z-9e for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 23 Oct 2023 03:40:50 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qujvn-0004c4-7O; Sun, 22 Oct 2023 21:40:35 -0400 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 1qujvl-0004bG-Bw for bug-gnu-emacs@gnu.org; Sun, 22 Oct 2023 21:40:33 -0400 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 1qujvl-0003G5-4F for bug-gnu-emacs@gnu.org; Sun, 22 Oct 2023 21:40:33 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qujwD-0005qm-PK for bug-gnu-emacs@gnu.org; Sun, 22 Oct 2023 21:41:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 23 Oct 2023 01:41:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62029 X-GNU-PR-Package: emacs Original-Received: via spool by 62029-submit@debbugs.gnu.org id=B62029.169802522222425 (code B ref 62029); Mon, 23 Oct 2023 01:41:01 +0000 Original-Received: (at 62029) by debbugs.gnu.org; 23 Oct 2023 01:40:22 +0000 Original-Received: from localhost ([127.0.0.1]:48617 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qujvZ-0005pc-KB for submit@debbugs.gnu.org; Sun, 22 Oct 2023 21:40:22 -0400 Original-Received: from out4-smtp.messagingengine.com ([66.111.4.28]:52153) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qujvW-0005pJ-Mc for 62029@debbugs.gnu.org; Sun, 22 Oct 2023 21:40:20 -0400 Original-Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 66DBE5C0262; Sun, 22 Oct 2023 21:39:44 -0400 (EDT) Original-Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Sun, 22 Oct 2023 21:39:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to; s=fm2; t=1698025184; x=1698111584; bh=Y2 ncVFeb4PQ6f9DUiOnHTquiZwCp5VZMlfhxS83kuJA=; b=p9I+7FqHY48oT3LmMa be8hyoKsAkv18Yuhwrd+YYB5IAPH1PrqRp6+pnt4KCBvxHEBQjgCrXA4nMpOAw/O Z5Vnw0fRo1mddr7mPkEQvAz2vhwgn3vcvS2OGEPm7wXqDFR2egW8tirYBoiOQ1Bd kEaFs1AeA2KpGaDMW2BRcENcBMJG+rHv7IxZJOo4DaR3c4HC2Jg539SsHHEv5INp InIZujstJwMs3gP0VHknsBsC1N60xOVHx2H8dXdl2cbg73wzIrrwLXzhDVujifUq U6cD7RL11eE7uEbxRwHLOP+5sYJr1jMzMIi9GBJe9BV53OjstbXN3aHvDCKFWIbT Wqxw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; t=1698025184; x=1698111584; bh=Y2ncVFeb4PQ6f 9DUiOnHTquiZwCp5VZMlfhxS83kuJA=; b=jy3uEgq6GBezz2Y7USDkwNjDm5FPf iHi4rdsFeVdX+gD1VByABUOpIccIchvOqiLAvFoIeBHHZkq5cho9aUT6aSw5SdiI sNemWhlM8RMiEC+h4cDXjd4gx6Vkassu309wzTRwE2hx72fccUcYMG6NvzghoWNj daaootFu12dVRh+n90hO4EOFgO8rCUTmrZhgmoE9U7qR/9wwtQmKfCSXlAsqt2tF Lt2hzTUFlU+iAijLmcNAJGDJrhoucBxM+YA7KlrK9zLptrcY+4191zVVKjPpK08W 95tqin2oLOEx0y5w2rH0OeepfMGRSCjxVopt8a5mg80Qn4Fmj2gbAnHmg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrkeehgdefkecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpegtkfffgggfuffvvehfhfgjsehmtderredtfeejnecuhfhrohhmpeffmhhithhr hicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrthhtvg hrnhepheetkefgteeiueejuedvtddvleetffeljeetuddvfeffjeeiheehueetffevieej necuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepughmih htrhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 22 Oct 2023 21:39:42 -0400 (EDT) Content-Language: en-US In-Reply-To: <87wn2d1nz5.fsf@gmail.com> 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:273002 Archived-At: This is a multi-part message in MIME format. --------------gD8eH6Ux0xIQdTt9Hl66SlAP Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi Joao, On 15/04/2023 12:41, João Távora wrote: >> Perhaps the former would reuse the existing set of >> combinator/strategies, [...] >> This separation could still [...] >> I'm not going to bother with a patch because backward compatibility, >> and blah, > Yes, I understand this, but the consequence downside is that your case > is weakened because other brains can't see the advantages as clearly as > your brain does. And all brains make mistakes. Code doesn't. > >> and the current approach can obviously function too, though >> in a more complicated way. > IMO, that can only be asserted when comparing the two things side by > side, with actual examples. Frequently some things are easy to do in > one approach and harder in the competing approach, and vice versa. In > my brain it is your solution which_sounds_ way more complicated. The > key word is "sound" which I have to use because I'm hearing words inside > my brain as I read your writing. I'm not seeing your solution function > in front of me, and described in non-ambiguous Elisp language with > working examples. This has been on my TODO for a while (sorry about the wait), so here's a rough patch for illustration. It incorporates an updated version of your earlier proposal for elisp-mode.el (from 24/03/2023) for comparison. Some benefits that should come with it are: 1. The elements in eldoc-documentation-functions can do less work than the ones in eldoc-buffer-functions. I understand that this is not a priority for Eglot which just uses the same source of information, but for others it can be different. E.g. require an extra network call to fetch the full docstring (this is not a hypothetical). 2. Different eldoc-documentation-strategy can be used for the buffer's contents. E.g. using the current one (first non-nil) for the echo and the "compose" for the buffer seems logical to me, and the patch illustrates it. 3. 'M-x eldoc-doc-buffer' is made synchronous and only shows info for the point, not a result of some earlier lookup, which might (or might not) get refreshed asynchronously. There can be other solutions for 1 (e.g. passing some extra info *into* each eldoc-documentation-functions, so they can choose what to show, rather than have them provide all variations in the returned value), but it seems harder to find one for 2. Drawbacks: 1. Seemingly more duplication in the code (but other doc providers might choose to use entirely different looks; no duplication in that case). 2. When both functions are based off the same info, reusing it gets harder. But it's nothing a extra cache cannot fix. --------------gD8eH6Ux0xIQdTt9Hl66SlAP Content-Type: text/x-patch; charset=UTF-8; name="eldoc-doc-buffer.diff" Content-Disposition: attachment; filename="eldoc-doc-buffer.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3AvZW1hY3MtbGlzcC9lbGRvYy5lbCBiL2xpc3AvZW1hY3MtbGlz cC9lbGRvYy5lbAppbmRleCAyMjE0NGVkN2MxOC4uNDY0NmI0ZTk4YzIgMTAwNjQ0Ci0tLSBh L2xpc3AvZW1hY3MtbGlzcC9lbGRvYy5lbAorKysgYi9saXNwL2VtYWNzLWxpc3AvZWxkb2Mu ZWwKQEAgLTQwOSw3ICs0MDksNyBAQCBlbGRvYy1kaXNwbGF5LW1lc3NhZ2Utbm8taW50ZXJm ZXJlbmNlLXAKIAogDAogKGRlZnZhciBlbGRvYy1kb2N1bWVudGF0aW9uLWZ1bmN0aW9ucyBu aWwKLSAgIkhvb2sgb2YgZnVuY3Rpb25zIHRoYXQgcHJvZHVjZSBkb2Mgc3RyaW5ncy4KKyAg Ikhvb2sgb2YgZnVuY3Rpb25zIHRoYXQgcHJvZHVjZSBzaG9ydCBkb2Mgc3RyaW5ncy4KIAog QSBkb2Mgc3RyaW5nIGlzIHR5cGljYWxseSByZWxldmFudCBpZiBwb2ludCBpcyBvbiBhIGZ1 bmN0aW9uLWxpa2UKIG5hbWUsIGluc2lkZSBpdHMgYXJnIGxpc3QsIG9yIG9uIGFueSBvYmpl Y3Qgd2l0aCBzb21lIGFzc29jaWF0ZWQKQEAgLTQ3MCw4ICs0NzAsMTEgQEAgZWxkb2MtZG9j dW1lbnRhdGlvbi1mdW5jdGlvbnMKIHRha2VuIGludG8gYWNjb3VudCBpZiB0aGUgbWFqb3Ig bW9kZSBzcGVjaWZpYyBmdW5jdGlvbiBkb2VzIG5vdAogcmV0dXJuIGFueSBkb2N1bWVudGF0 aW9uLiIpCiAKKyhkZWZ2YXIgZWxkb2MtYnVmZmVyLWZ1bmN0aW9ucyBuaWwKKyAgIkhvb2sg b2YgZnVuY3Rpb25zIHRoYXQgcHJvZHVjZSBkb2Mgc3RyaW5ncyBmb3IgYGVsZG9jLWRvYy1i dWZmZXInLiIpCisKIChkZWZ2YXIgZWxkb2MtZGlzcGxheS1mdW5jdGlvbnMKLSAgJyhlbGRv Yy1kaXNwbGF5LWluLWVjaG8tYXJlYSBlbGRvYy1kaXNwbGF5LWluLWJ1ZmZlcikKKyAgJyhl bGRvYy1kaXNwbGF5LWluLWVjaG8tYXJlYSkKICAgIkhvb2sgb2YgZnVuY3Rpb25zIHRhc2tl ZCB3aXRoIGRpc3BsYXlpbmcgRWxEb2MgcmVzdWx0cy4KIEVhY2ggZnVuY3Rpb24gaXMgcGFz c2VkIHR3byBhcmd1bWVudHM6IERPQ1MgYW5kIElOVEVSQUNUSVZFLiAgRE9DUwogaXMgYSBs aXN0IChET0MgLi4uKSB3aGVyZSBET0MgbG9va3MgbGlrZSAoU1RSSU5HIDpLRVkgVkFMVUUg OktFWTIKQEAgLTQ4NiwyMiArNDg5LDIxIEBAIGVsZG9jLWRpc3BsYXktZnVuY3Rpb25zCiAK IChkZWZ2YXIgZWxkb2MtLWRvYy1idWZmZXIgbmlsICJCdWZmZXIgZGlzcGxheWluZyBsYXRl c3QgRWxEb2MtcHJvZHVjZWQgZG9jcy4iKQogCi0oZGVmdW4gZWxkb2MtZG9jLWJ1ZmZlciAo Jm9wdGlvbmFsIGludGVyYWN0aXZlKQotICAiR2V0IG9yIGRpc3BsYXkgRWxEb2MgZG9jdW1l bnRhdGlvbiBidWZmZXIuCi0KLVRoZSBidWZmZXIgaG9sZHMgdGhlIHJlc3VsdHMgb2YgdGhl IGxhc3QgZG9jdW1lbnRhdGlvbiByZXF1ZXN0LgotSWYgSU5URVJBQ1RJVkUsIGRpc3BsYXkg aXQuICBFbHNlLCByZXR1cm4gc2FpZCBidWZmZXIuIgotICAoaW50ZXJhY3RpdmUgKGxpc3Qg dCkpCi0gICh1bmxlc3MgKGJ1ZmZlci1saXZlLXAgZWxkb2MtLWRvYy1idWZmZXIpCi0gICAg KHVzZXItZXJyb3IgKGZvcm1hdAotICAgICAgICAgICAgICAgICAiRWxEb2MgYnVmZmVyIGRv ZXNuJ3QgZXhpc3QsIG1heWJlIGAlcycgdG8gcHJvZHVjZSBvbmUuIgotICAgICAgICAgICAg ICAgICAoc3Vic3RpdHV0ZS1jb21tYW5kLWtleXMgIlxcW2VsZG9jXSIpKSkpCisoZGVmdW4g ZWxkb2MtZG9jLWJ1ZmZlciAoKQorICAiRGlzcGxheSB0aGUgRWxEb2MgZG9jdW1lbnRhdGlv biBidWZmZXIuCisKK1JlcXVlc3QgYW5kIHNob3cgdGhlIGRvY3VtZW50YXRpb24gcmVsZXZh bnQgdG8gdGhlIHRoaW5nIGF0IHBvaW50LiIKKyAgKGludGVyYWN0aXZlKQorICAoaWYgKGJ1 ZmZlci1saXZlLXAgZWxkb2MtLWRvYy1idWZmZXIpIChraWxsLWJ1ZmZlciBlbGRvYy0tZG9j LWJ1ZmZlcikpCisgIChsZXQgKChlbGRvYy1kb2N1bWVudGF0aW9uLWZ1bmN0aW9ucyBlbGRv Yy1idWZmZXItZnVuY3Rpb25zKQorICAgICAgICAoZWxkb2MtZGlzcGxheS1mdW5jdGlvbnMg JyhlbGRvYy1kaXNwbGF5LWluLWJ1ZmZlcikpCisgICAgICAgIChlbGRvYy1kb2N1bWVudGF0 aW9uLXN0cmF0ZWd5IGVsZG9jLWJ1ZmZlci1zdHJhdGVneSkpCisgICAgKGVsZG9jLXByaW50 LWN1cnJlbnQtc3ltYm9sLWluZm8pKQorICAoY2wtYXNzZXJ0IChidWZmZXItbGl2ZS1wIGVs ZG9jLS1kb2MtYnVmZmVyKSkKICAgKHdpdGgtY3VycmVudC1idWZmZXIgZWxkb2MtLWRvYy1i dWZmZXIKLSAgICAoY29uZCAoaW50ZXJhY3RpdmUKLSAgICAgICAgICAgKHJlbmFtZS1idWZm ZXIgKHJlcGxhY2UtcmVnZXhwLWluLXN0cmluZyAiXiAqIiAiIgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidWZmZXItbmFtZSkpKQot ICAgICAgICAgICAoZGlzcGxheS1idWZmZXIgKGN1cnJlbnQtYnVmZmVyKSkpCi0gICAgICAg ICAgKHQgKGN1cnJlbnQtYnVmZmVyKSkpKSkKKyAgICAocmVuYW1lLWJ1ZmZlciAocmVwbGFj ZS1yZWdleHAtaW4tc3RyaW5nICJeICoiICIiCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoYnVmZmVyLW5hbWUpKSkKKyAgICAocG9wLXRvLWJ1ZmZl ciAoY3VycmVudC1idWZmZXIpKSkpCiAKIChkZWZ2YXIgZWxkb2MtZG9jLWJ1ZmZlci1zZXBh cmF0b3IKICAgKGNvbmNhdCAiXG4iIChwcm9wZXJ0aXplICJcbiIgJ2ZhY2UgJyg6aW5oZXJp dCBzZXBhcmF0b3ItbGluZSA6ZXh0ZW5kIHQpKSAiXG4iKQpAQCAtNjc2LDcgKzY3OCw3IEBA IGVsZG9jLWRpc3BsYXktaW4tYnVmZmVyCiAgICJEaXNwbGF5IERPQ1MgaW4gYSBkZWRpY2F0 ZWQgYnVmZmVyLgogSWYgSU5URVJBQ1RJVkUgaXMgdCwgYWxzbyBkaXNwbGF5IHRoZSBidWZm ZXIuIgogICAoZWxkb2MtLWZvcm1hdC1kb2MtYnVmZmVyIGRvY3MpCi0gICh3aGVuIGludGVy YWN0aXZlIChlbGRvYy1kb2MtYnVmZmVyIHQpKSkKKyAgKHdoZW4gaW50ZXJhY3RpdmUgKGVs ZG9jLWRvYy1idWZmZXIpKSkKIAogKGRlZnVuIGVsZG9jLWRvY3VtZW50YXRpb24tZGVmYXVs dCAoKQogICAiU2hvdyB0aGUgZmlyc3Qgbm9uLW5pbCBkb2N1bWVudGF0aW9uIHN0cmluZyBm b3IgaXRlbSBhdCBwb2ludC4KQEAgLTc5Myw2ICs3OTUsMTEgQEAgZWxkb2MtZG9jdW1lbnRh dGlvbi1zdHJhdGVneQogICAgICAgICAgICAgICAgIChmdW5jdGlvbiA6dGFnICJPdGhlciBm dW5jdGlvbiIpKQogICA6dmVyc2lvbiAiMjguMSIpCiAKKyhkZWZjdXN0b20gZWxkb2MtYnVm ZmVyLXN0cmF0ZWd5ICMnZWxkb2MtZG9jdW1lbnRhdGlvbi1jb21wb3NlCisgICJEb2Mgc3Ry aW5nIGRvYyBzdHJpbmcuIgorICA6dHlwZSAnZnVuY3Rpb24KKyAgOnZlcnNpb24gIjMwLjEi KQorCiAoZGVmdW4gZWxkb2MtLXN1cHBvcnRlZC1wICgpCiAgICJOb24tbmlsIGlmIGFuIEVs RG9jIGZ1bmN0aW9uIGlzIHNldCBmb3IgdGhpcyBidWZmZXIuIgogICAoYW5kIChub3QgKG1l bXEgZWxkb2MtZG9jdW1lbnRhdGlvbi1zdHJhdGVneSAnKG5pbCBpZ25vcmUpKSkKZGlmZiAt LWdpdCBhL2xpc3AvcHJvZ21vZGVzL2VsaXNwLW1vZGUuZWwgYi9saXNwL3Byb2dtb2Rlcy9l bGlzcC1tb2RlLmVsCmluZGV4IGZmOTBhNzQ0ZWEzLi5hMTM5MDRkZGIyNiAxMDA2NDQKLS0t IGEvbGlzcC9wcm9nbW9kZXMvZWxpc3AtbW9kZS5lbAorKysgYi9saXNwL3Byb2dtb2Rlcy9l bGlzcC1tb2RlLmVsCkBAIC0zNTUsNiArMzU1LDEwIEBAIGVtYWNzLWxpc3AtbW9kZQogICAg ICAgICAgICAgIydlbGlzcC1lbGRvYy1mdW5jYWxsIG5pbCB0KQogICAoYWRkLWhvb2sgJ2Vs ZG9jLWRvY3VtZW50YXRpb24tZnVuY3Rpb25zCiAgICAgICAgICAgICAjJ2VsaXNwLWVsZG9j LXZhci1kb2NzdHJpbmcgbmlsIHQpCisgIChhZGQtaG9vayAnZWxkb2MtYnVmZmVyLWZ1bmN0 aW9ucworICAgICAgICAgICAgIydlbGlzcC1lbGRvYy1mdW5jYWxsLWJ1ZiBuaWwgdCkKKyAg KGFkZC1ob29rICdlbGRvYy1idWZmZXItZnVuY3Rpb25zCisgICAgICAgICAgICAjJ2VsaXNw LWVsZG9jLXZhci1kb2NzdHJpbmctYnVmIG5pbCB0KQogICAoYWRkLWhvb2sgJ3hyZWYtYmFj a2VuZC1mdW5jdGlvbnMgIydlbGlzcC0teHJlZi1iYWNrZW5kIG5pbCB0KQogICAoc2V0cS1s b2NhbCBwcm9qZWN0LXZjLWV4dGVybmFsLXJvb3RzLWZ1bmN0aW9uICMnZWxpc3AtbG9hZC1w YXRoLXJvb3RzKQogICAoc2V0cS1sb2NhbCBzeW50YXgtcHJvcGVydGl6ZS1mdW5jdGlvbiAj J2VsaXNwLW1vZGUtc3ludGF4LXByb3BlcnRpemUpCkBAIC0xODIyLDYgKzE4MjYsMjIgQEAg ZWxpc3AtZWxkb2MtZnVuY2FsbAogICAgICAgICAgICAgICAgICAgICAgICAgICdmb250LWxv Y2stZnVuY3Rpb24tbmFtZS1mYWNlCiAgICAgICAgICAgICAgICAgICAgICAgICdmb250LWxv Y2sta2V5d29yZC1mYWNlKSkpKSkKIAorKGRlZnVuIGVsaXNwLWVsZG9jLWZ1bmNhbGwtYnVm IChjYWxsYmFjayAmcmVzdCBfaWdub3JlZCkKKyAgKGxldCogKChmbi1zeW0gKGNhciAoZWxp c3AtLWZuc3ltLWluLWN1cnJlbnQtc2V4cCkpKQorICAgICAgICAgKGZ1bGxkb2MKKyAgICAg ICAgICAoYW5kIChhbmQgZm4tc3ltIChzeW1ib2xwIGZuLXN5bSkgKGZib3VuZHAgZm4tc3lt KSkKKyAgICAgICAgICAgICAgICh3aXRoLXRlbXAtYnVmZmVyCisgICAgICAgICAgICAgICAg IChsZXQgKChzdGFuZGFyZC1vdXRwdXQgKGN1cnJlbnQtYnVmZmVyKSkpCisgICAgICAgICAg ICAgICAgICAgKGRlc2NyaWJlLWZ1bmN0aW9uLTEgZm4tc3ltKQorICAgICAgICAgICAgICAg ICAgIChoZWxwLW1ha2UteHJlZnMpCisgICAgICAgICAgICAgICAgICAgKGJ1ZmZlci1zdHJp bmcpKSkpKSkKKyAgICAod2hlbiBmbi1zeW0KKyAgICAgIChmdW5jYWxsIGNhbGxiYWNrIGZ1 bGxkb2MKKyAgICAgICAgICAgICAgIDp0aGluZyBmbi1zeW0KKyAgICAgICAgICAgICAgIDpm YWNlIChpZiAoZnVuY3Rpb25wIGZuLXN5bSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAn Zm9udC1sb2NrLWZ1bmN0aW9uLW5hbWUtZmFjZQorICAgICAgICAgICAgICAgICAgICAgICAn Zm9udC1sb2NrLWtleXdvcmQtZmFjZSkpKSkpCisKIChkZWZ1biBlbGlzcC1lbGRvYy12YXIt ZG9jc3RyaW5nIChjYWxsYmFjayAmcmVzdCBfaWdub3JlZCkKICAgIkRvY3VtZW50IHZhcmlh YmxlIGF0IHBvaW50IGJ5IGNhbGxpbmcgQ0FMTEJBQ0suCiBJbnRlbmRlZCBmb3IgYGVsZG9j LWRvY3VtZW50YXRpb24tZnVuY3Rpb25zJyAod2hpY2ggc2VlKS4KQEAgLTE4MzMsNiArMTg1 MywyMSBAQCBlbGlzcC1lbGRvYy12YXItZG9jc3RyaW5nCiAgICAgICAgICAgICAgICA6dGhp bmcgc3ltCiAgICAgICAgICAgICAgICA6ZmFjZSAnZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUt ZmFjZSkpKSkKIAorKGRlZnVuIGVsaXNwLWVsZG9jLXZhci1kb2NzdHJpbmctYnVmIChjYWxs YmFjayAmcmVzdCBfaWdub3JlZCkKKyAgKGxldCogKChzeW0gKGVsaXNwLS1jdXJyZW50LXN5 bWJvbCkpCisgICAgICAgICAocmF3ZG9jIChhbmQgKGJvdW5kcCBzeW0pCisgICAgICAgICAg ICAgICAgICAgICAgKGRvY3VtZW50YXRpb24tcHJvcGVydHkKKyAgICAgICAgICAgICAgICAg ICAgICAgc3ltICd2YXJpYWJsZS1kb2N1bWVudGF0aW9uIHQpKSkKKyAgICAgICAgIChmdWxs ZG9jIChhbmQgcmF3ZG9jCisgICAgICAgICAgICAgICAgICAgICAgICh3aXRoLXRlbXAtYnVm ZmVyCisgICAgICAgICAgICAgICAgICAgICAgICAgKGluc2VydCByYXdkb2MpCisgICAgICAg ICAgICAgICAgICAgICAgICAgKGhlbHAtbWFrZS14cmVmcykKKyAgICAgICAgICAgICAgICAg ICAgICAgICAoYnVmZmVyLXN0cmluZykpKSkpCisgICAgKHdoZW4gZnVsbGRvYworICAgICAg KGZ1bmNhbGwgY2FsbGJhY2sgZnVsbGRvYworICAgICAgICAgICAgICAgOnRoaW5nIHN5bQor ICAgICAgICAgICAgICAgOmZhY2UgJ2ZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSkp CisKIChkZWZ1biBlbGlzcC1lbGRvYy12YXItZG9jc3RyaW5nLXdpdGgtdmFsdWUgKGNhbGxi YWNrICZyZXN0IF8pCiAgICJEb2N1bWVudCB2YXJpYWJsZSBhdCBwb2ludCBieSBjYWxsaW5n IENBTExCQUNLLgogSW50ZW5kZWQgZm9yIGBlbGRvYy1kb2N1bWVudGF0aW9uLWZ1bmN0aW9u cycgKHdoaWNoIHNlZSkuCmRpZmYgLS1naXQgYS9saXNwL3Byb2dtb2Rlcy9mbHltYWtlLmVs IGIvbGlzcC9wcm9nbW9kZXMvZmx5bWFrZS5lbAppbmRleCBiMjdlNjUyN2Y4MS4uYTU2ZWM2 Y2Y4YjAgMTAwNjQ0Ci0tLSBhL2xpc3AvcHJvZ21vZGVzL2ZseW1ha2UuZWwKKysrIGIvbGlz cC9wcm9nbW9kZXMvZmx5bWFrZS5lbApAQCAtMTI4NCw2ICsxMjg0LDcgQEAgZmx5bWFrZS1t b2RlCiAgICAgKGFkZC1ob29rICdhZnRlci1zYXZlLWhvb2sgJ2ZseW1ha2UtYWZ0ZXItc2F2 ZS1ob29rIG5pbCB0KQogICAgIChhZGQtaG9vayAna2lsbC1idWZmZXItaG9vayAnZmx5bWFr ZS1raWxsLWJ1ZmZlci1ob29rIG5pbCB0KQogICAgIChhZGQtaG9vayAnZWxkb2MtZG9jdW1l bnRhdGlvbi1mdW5jdGlvbnMgJ2ZseW1ha2UtZWxkb2MtZnVuY3Rpb24gdCB0KQorICAgIChh ZGQtaG9vayAnZWxkb2MtYnVmZmVyLWZ1bmN0aW9ucyAnZmx5bWFrZS1lbGRvYy1mdW5jdGlv biB0IHQpCiAKICAgICA7OyBJZiBGbHltYWtlIGhhcHBlbmVkIHRvIGJlIGFscmVhZHkgT04s IHdlIG11c3QgY2xlYW51cAogICAgIDs7IGV4aXN0aW5nIGRpYWdub3N0aWMgb3ZlcmxheXMs IGxlc3Qgd2UgZm9yZ2V0IHRoZW0gYnkgYmxpbmRseQo= --------------gD8eH6Ux0xIQdTt9Hl66SlAP--