From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Mathieu Marques Newsgroups: gmane.emacs.bugs Subject: bug#47109: eldoc.el: Allow custom separator between documentations in the echo area Date: Thu, 18 Mar 2021 19:30:12 +0100 Message-ID: References: <87o8foaxdc.fsf@tcd.ie> <871rcj6tjw.fsf@tcd.ie> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="00000000000025d88105bdd3c7cc" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28549"; mail-complaints-to="usenet@ciao.gmane.io" Cc: "Basil L. Contovounesios" , 47109@debbugs.gnu.org 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 Thu Mar 18 19:30:40 2021 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 1lMxPr-0007L7-Qd for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 18 Mar 2021 19:30:40 +0100 Original-Received: from localhost ([::1]:57988 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lMxPq-0003pM-Q1 for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 18 Mar 2021 14:30:38 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47094) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lMxPG-0003nV-QH for bug-gnu-emacs@gnu.org; Thu, 18 Mar 2021 14:30:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:36472) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lMxPG-0007Rp-FI for bug-gnu-emacs@gnu.org; Thu, 18 Mar 2021 14:30:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lMxPG-0001Vq-A6 for bug-gnu-emacs@gnu.org; Thu, 18 Mar 2021 14:30:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Mathieu Marques Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 18 Mar 2021 18:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47109 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 47109-submit@debbugs.gnu.org id=B47109.16160921685743 (code B ref 47109); Thu, 18 Mar 2021 18:30:02 +0000 Original-Received: (at 47109) by debbugs.gnu.org; 18 Mar 2021 18:29:28 +0000 Original-Received: from localhost ([127.0.0.1]:48017 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lMxOh-0001UY-FD for submit@debbugs.gnu.org; Thu, 18 Mar 2021 14:29:27 -0400 Original-Received: from mail-il1-f171.google.com ([209.85.166.171]:33791) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lMxOg-0001UM-5M for 47109@debbugs.gnu.org; Thu, 18 Mar 2021 14:29:26 -0400 Original-Received: by mail-il1-f171.google.com with SMTP id u10so5773687ilb.0 for <47109@debbugs.gnu.org>; Thu, 18 Mar 2021 11:29:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=klOLR3K+dIcew47gvlgkh2bdRR4MRquAckV0BWaMmeM=; b=lZ/qNv2ETsN2tYuBXgPFWmg/GsteBq7sUYAo7drNS5CQBSzzHKWjxaIneOKg1rlcik vGov4QgJZ3QJJr5s0BnxmW8QnIF4BFh3nkvXFkXl1tSGPdY2KnHP5U04H5WJWstejb6+ i1ZM5c4EGmg2QJr/2uyGwVWL1Qhv4420MQSql4zI5kzD94fBlqx0ohWh4pNzAVga7MMW +UZ9ptH0QKZxD+OwKLm7ApV2x21mwzGqDRa3KphuIi7s/QTvN7ZU3/ELQPwgxFIO4MWW I3AYHQrfApegNfDq6MUTXnmQso6agaFM5QN0Dplcx/g0BesP9P0UI86Dou5Sh93IT0zN QgzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=klOLR3K+dIcew47gvlgkh2bdRR4MRquAckV0BWaMmeM=; b=nsYyVzCzf8V6VYhqXnHFesXpUP6a8NM6efm9gpnIXeVGqYfIADGeifN29pM2CchbWs mFNHk+lK8Siyi5hGSuA4zDBZbihnSJgiGDjthbcGnU9cYvG4Tw4kQOcO5LVrs0mIxlbg /g5t7CnBShp5KbcDdFCRvFM/5S0ypvGImx7J95/+sc11ALGgU1oxmjvv3hL+bIw5lYXP Cs0gj1nPqnWyyGEYw5/Kx02IIlBt4/l0OTveXXtuuZ265+yDHzHdNNPc9FTlDDsC4976 XWPN6XuNBuDOtgot5q8WN7PORimQNeLhsE2WiWZUKNejDZYJHA1OYSW9hYLru60o0Epu XjHA== X-Gm-Message-State: AOAM532oVI660qevfHCefgWa16WRgqgLsDM4O223My7zLlj0aeudtINc muKLb1X54s+l5Ho15E0pd/ulwXzV0+zV5SRDruk= X-Google-Smtp-Source: ABdhPJxtAdRwD+3gPIXYM9Y1Dd+gQRukPdlQSYDlDK8lkUOryCC1I4scoKbI4rE7u3t3nz12V0xTTArRYQS0M4ZXMa8= X-Received: by 2002:a05:6e02:1aaa:: with SMTP id l10mr12038776ilv.251.1616092160425; Thu, 18 Mar 2021 11:29:20 -0700 (PDT) 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" Xref: news.gmane.io gmane.emacs.bugs:202636 Archived-At: --00000000000025d88105bdd3c7cc Content-Type: multipart/alternative; boundary="00000000000025d87d05bdd3c7ca" --00000000000025d87d05bdd3c7ca Content-Type: text/plain; charset="UTF-8" Hello again, Thanks for the feedback. I agree with the will of allowing more freedom. I joined a replacement patch with the different route that this is now taking, namely the removal of `eldoc--format-doc-buffer' in favor of `eldoc-render-documentation'. Is that closer to what you had in mind? There's an issue however with the `-hr` format function that won't work with terminal-based Emacs due to `:strike-through` apparently not supported there. I was wondering whether a simple mention of that limitation in the docstring would be enough? Terminal-based users would still be able to use the default format function. Regarding the `:extend` keyword not being supported on 26, I think a better way than conditionally add it would be to provide a second `-hr` formatting function that relies on something that is supported on 26 ie. overlay. Although I have little to no experience with overlays so I'm not sure what would be the preferred way of making a horizontal divider. Furthermore, it shouldn't break when the render function is used to return a string. -- Mathieu Marques --00000000000025d87d05bdd3c7ca Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
=C2=A0Hello again,

Thanks for the feedback.=C2=A0 I agree with the will of allowing more= freedom.

I joined a replacement patch with the different route that= this is now taking,
namely the removal of `eldoc--format-doc-buffer'= ; in favor of
`eldoc-render-documentation'.=C2=A0 Is that closer to = what you had in mind?

There's an issue however with the `-hr` fo= rmat function that won't work with
terminal-based Emacs due to `:str= ike-through` apparently not supported there. =C2=A0I
was wondering wheth= er a simple mention of that limitation in the docstring would
be enough?= =C2=A0 Terminal-based users would still be able to use the default formatfunction.=C2=A0 Regarding the `:extend` keyword not being supported on 26= , I think
a better way than conditionally add it would be to provide a s= econd `-hr`
formatting function that relies on something that is support= ed on 26 ie.
overlay.=C2=A0 Although I have little to no experience with= overlays so I'm not sure
what would be the preferred way of making = a horizontal divider.=C2=A0 Furthermore, it
shouldn't break when the= render function is used to return a string.
--
Mathieu Marques
--00000000000025d87d05bdd3c7ca-- --00000000000025d88105bdd3c7cc Content-Type: text/x-patch; charset="US-ASCII"; name="0002-Add-a-responsible-Eldoc-render-to-target-function.patch" Content-Disposition: attachment; filename="0002-Add-a-responsible-Eldoc-render-to-target-function.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kmf7jvz40 RnJvbSBiMWIyNTFkMjdjNmJkZjc2NWVkNzBhNzlkY2E3NzQxZTZlZmZhOTljIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXRoaWV1IE1hcnF1ZXMgPG1hdGhpZXVtYXJxdWVzNzhAZ21h aWwuY29tPgpEYXRlOiBGcmksIDEyIE1hciAyMDIxIDE5OjQ1OjE4ICswMTAwClN1YmplY3Q6IFtQ QVRDSF0gQWRkIGEgcmVzcG9uc2libGUgRWxkb2MgcmVuZGVyLXRvLXRhcmdldCBmdW5jdGlvbgoK ICAqIGxpc3AvZW1hY3MtbGlzcC9lbGRvYy5lbCAoZWxkb2MtcmVuZGVyLWRvY3VtZW50YXRpb24p OgogIFJlcGxhY2UgZWxkb2MtLWZvcm1hdC1kb2MtYnVmZmVyIChidWcjNDcxMDkpLgogIChlbGRv Yy0tZm9ybWF0LWRvYy1idWZmZXIpOiBSZW1vdmVkLgogIChlbGRvYy1kaXNwbGF5LWluLWJ1ZmZl cik6IFVzZSB0aGUgbmV3IHJlbmRlciBmdW5jdGlvbi4KICAoZWxkb2MtZGlzcGxheS1pbi1lY2hv LWFyZWEpOiBVc2UgdGhlIG5ldyByZW5kZXIgZnVuY3Rpb24uCiAgKGVsZG9jLWRvY3VtZW50YXRp b24tZm9ybWF0LWZ1bmN0aW9uKTogTmV3IHVzZXIgb3B0aW9uLgogIChlbGRvYy1kb2N1bWVudGF0 aW9uLWZvcm1hdC1jb25jYXQpOiBOZXcgZm9ybWF0IGZ1bmN0aW9uLgogIChlbGRvYy1kb2N1bWVu dGF0aW9uLWZvcm1hdC1jb25jYXQtaHIpOiBOZXcgZm9ybWF0IGZ1bmN0aW9uLgotLS0KIGxpc3Av ZW1hY3MtbGlzcC9lbGRvYy5lbCB8IDEyNSArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA4MSBpbnNlcnRpb25zKCspLCA0NCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9saXNwL2VtYWNzLWxpc3AvZWxkb2MuZWwgYi9saXNwL2VtYWNzLWxp c3AvZWxkb2MuZWwKaW5kZXggNDg1ZWEyNjM3OS4uNjRjNjIyMDM5ZiAxMDA2NDQKLS0tIGEvbGlz cC9lbWFjcy1saXNwL2VsZG9jLmVsCisrKyBiL2xpc3AvZW1hY3MtbGlzcC9lbGRvYy5lbApAQCAt MTI5LDYgKzEyOSwxOSBAQCB3aW5kb3cuICBJZiB0aGUgdmFsdWUgaXMgdGhlIHN5bWJvbCBgbWF5 YmUnLCB0aGVuIHRoZSBlY2hvIGFyZWEKIGlzIG9ubHkgc2tpcHBlZCBpZiB0aGUgZG9jdW1lbnRh dGlvbiBkb2Vzbid0IGZpdCB0aGVyZS4iCiAgIDp0eXBlICdib29sZWFuKQogCisoZGVmY3VzdG9t IGVsZG9jLWRvY3VtZW50YXRpb24tZm9ybWF0LWZ1bmN0aW9uICMnZWxkb2MtZG9jdW1lbnRhdGlv bi1mb3JtYXQtY29uY2F0CisgICJGdW5jdGlvbiB1c2VkIHRvIGZvcm1hdCBkb2N1bWVudGF0aW9u IGluIHRoZSAqZWxkb2MqIGJ1ZmZlci4KKworLSBgZWxkb2MtZG9jdW1lbnRhdGlvbi1mb3JtYXQt Y29uY2F0JzogY29uY2F0ZW5hdGVzIGRvY3VtZW50YXRpb25zIHRvZ2V0aGVyCisgIGpvaW5pbmcg d2l0aCBhIG5ld2xpbmUgY2hhcmFjdGVyJy4KKworLSBgZWxkb2MtZG9jdW1lbnRhdGlvbi1mb3Jt YXQtY29uY2F0LWhyJzogY29uY2F0ZW5hdGVzIGRvY3VtZW50YXRpb25zIHRvZ2V0aGVyCisgIGpv aW5pbmcgd2l0aCBhIGhvcml6b250YWwgcnVsZS4iCisgIDp0eXBlICcocmFkaW8gKGZ1bmN0aW9u LWl0ZW0gZWxkb2MtZG9jdW1lbnRhdGlvbi1mb3JtYXQtY29uY2F0KQorICAgICAgICAgICAgICAg IChmdW5jdGlvbi1pdGVtIGVsZG9jLWRvY3VtZW50YXRpb24tZm9ybWF0LWNvbmNhdC1ocikKKyAg ICAgICAgICAgICAgICBmdW5jdGlvbikKKyAgOnZlcnNpb24gIjI4LjEiKQorCiAoZGVmZmFjZSBl bGRvYy1oaWdobGlnaHQtZnVuY3Rpb24tYXJndW1lbnQKICAgJygodCAoOmluaGVyaXQgYm9sZCkp KQogICAiRmFjZSB1c2VkIGZvciB0aGUgYXJndW1lbnQgYXQgcG9pbnQgaW4gYSBmdW5jdGlvbidz IGFyZ3VtZW50IGxpc3QuCkBAIC00NjYsNDQgKzQ3OSw3MSBAQCBUaGlzIGhvbGRzIHRoZSByZXN1 bHRzIG9mIHRoZSBsYXN0IGRvY3VtZW50YXRpb24gcmVxdWVzdC4iCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYnVmZmVyLW5hbWUpKSkKICAgICAoZGlzcGxh eS1idWZmZXIgKGN1cnJlbnQtYnVmZmVyKSkpKQogCi0oZGVmdW4gZWxkb2MtLWZvcm1hdC1kb2Mt YnVmZmVyIChkb2NzKQotICAiRW5zdXJlIERPQ1MgYXJlIGRpc3BsYXllZCBpbiBhbiAqZWxkb2Mq IGJ1ZmZlci4iCi0gICh3aXRoLWN1cnJlbnQtYnVmZmVyIChpZiAoYnVmZmVyLWxpdmUtcCBlbGRv Yy0tZG9jLWJ1ZmZlcikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZG9jLS1kb2MtYnVm ZmVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgKHNldHEgZWxkb2MtLWRvYy1idWZmZXIKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ2V0LWJ1ZmZlci1jcmVhdGUgIiAqZWxkb2Mq IikpKQotICAgICh1bmxlc3MgKGVxIGRvY3MgZWxkb2MtLWRvYy1idWZmZXItZG9jcykKLSAgICAg IChzZXRxLWxvY2FsIGVsZG9jLS1kb2MtYnVmZmVyLWRvY3MgZG9jcykKLSAgICAgIChsZXQgKChp bmhpYml0LXJlYWQtb25seSB0KQotICAgICAgICAgICAgKHRoaW5ncy1yZXBvcnRlZC1vbikpCi0g ICAgICAgIChlcmFzZS1idWZmZXIpIChzZXRxIGJ1ZmZlci1yZWFkLW9ubHkgdCkKLSAgICAgICAg KGxvY2FsLXNldC1rZXkgInEiICdxdWl0LXdpbmRvdykKLSAgICAgICAgKGNsLWxvb3AgZm9yIChk b2NzIC4gcmVzdCkgb24gZG9jcwotICAgICAgICAgICAgICAgICBmb3IgKHRoaXMtZG9jIC4gcGxp c3QpID0gZG9jcwotICAgICAgICAgICAgICAgICBmb3IgdGhpbmcgPSAocGxpc3QtZ2V0IHBsaXN0 IDp0aGluZykKLSAgICAgICAgICAgICAgICAgd2hlbiB0aGluZyBkbwotICAgICAgICAgICAgICAg ICAoY2wtcHVzaG5ldyB0aGluZyB0aGluZ3MtcmVwb3J0ZWQtb24pCi0gICAgICAgICAgICAgICAg IChzZXRxIHRoaXMtZG9jCi0gICAgICAgICAgICAgICAgICAgICAgIChjb25jYXQKLSAgICAgICAg ICAgICAgICAgICAgICAgIChwcm9wZXJ0aXplIChmb3JtYXQgIiVzIiB0aGluZykKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmYWNlIChwbGlzdC1nZXQgcGxpc3QgOmZhY2Up KQotICAgICAgICAgICAgICAgICAgICAgICAgIjogIgotICAgICAgICAgICAgICAgICAgICAgICAg dGhpcy1kb2MpKQotICAgICAgICAgICAgICAgICBkbyAoaW5zZXJ0IHRoaXMtZG9jKQotICAgICAg ICAgICAgICAgICB3aGVuIHJlc3QgZG8gKGluc2VydCAiXG4iKQotICAgICAgICAgICAgICAgICBm aW5hbGx5IChnb3RvLWNoYXIgKHBvaW50LW1pbikpKQotICAgICAgICA7OyBSZW5hbWUgdGhlIGJ1 ZmZlciwgdGFraW5nIGludG8gYWNjb3VudCB3aGV0aGVyIGl0IHdhcwotICAgICAgICA7OyBoaWRk ZW4gb3Igbm90Ci0gICAgICAgIChyZW5hbWUtYnVmZmVyIChmb3JtYXQgIiVzKmVsZG9jJXMqIgot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAoc3RyaW5nLW1hdGNoICJeICIgKGJ1 ZmZlci1uYW1lKSkgIiAiICIiKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiB0 aGluZ3MtcmVwb3J0ZWQtb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZv cm1hdCAiIGZvciAlcyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAobWFwY29uY2F0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChsYW1iZGEgKHMpIChmb3JtYXQgIiVzIiBzKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdGhpbmdzLXJlcG9ydGVkLW9uCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICIsICIpKQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIiIpKSkpKSkKLSAgZWxkb2MtLWRvYy1idWZmZXIpCisoZGVmdW4gZWxkb2MtZG9j dW1lbnRhdGlvbi1mb3JtYXQtY29uY2F0IChpdGVtcyAmb3B0aW9uYWwgc2VwYXJhdG9yKQorICAi UmV0dXJuIGRvY3VtZW50YXRpb24gSVRFTVMgY29uY2F0ZW5hdGVkLgorSm9pbiB3aXRoIFNFUEFS QVRPUiB3aGljaCBkZWZhdWx0cyB0byBcbi4KK1NlZSBgZWxkb2MtZG9jdW1lbnRhdGlvbi1mb3Jt YXQtZnVuY3Rpb24nLiIKKyAgKG1hcGNvbmNhdCAobGFtYmRhIChpdGVtKQorICAgICAgICAgICAg ICAgKHBjYXNlLWxldCogKChgKCxkb2N1bWVudGF0aW9uIC4gLHBsaXN0KSBpdGVtKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChmYWNlIChwbGlzdC1nZXQgcGxpc3QgOmZhY2UpKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICh0aGluZyAocGxpc3QtZ2V0IHBsaXN0IDp0aGluZykp KQorICAgICAgICAgICAgICAgICAoY29uY2F0ICh3aGVuIHRoaW5nCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAoY29uY2F0IChwcm9wZXJ0aXplIChmb3JtYXQgIiVzIiB0aGluZykgJ2ZhY2Ug ZmFjZSkgIjogIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRhdGlvbikpKQor ICAgICAgICAgICAgIGl0ZW1zCisgICAgICAgICAgICAgKG9yIHNlcGFyYXRvciAiXG4iKSkpCisK KyhkZWZ1biBlbGRvYy1kb2N1bWVudGF0aW9uLWZvcm1hdC1jb25jYXQtaHIgKGl0ZW1zKQorICAi UmV0dXJuIElURU1TIGNvbmNhdGVuYXRlZCBsaWtlIGBlbGRvYy1kb2N1bWVudGF0aW9uLWZvcm1h dC1jb25jYXQnIGJ1dCBqb2luCit3aXRoIGEgaG9yaXpvbnRhbCBydWxlLgorU2VlIGBlbGRvYy1k b2N1bWVudGF0aW9uLWZvcm1hdC1mdW5jdGlvbicuIgorICAobGV0ICgoc2VwYXJhdG9yIChjb25j YXQKKyAgICAgICAgICAgICAgICAgICAgIlxuIgorICAgICAgICAgICAgICAgICAgICAocHJvcGVy dGl6ZSAiXG4iICdmYWNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoOmV4dGVu ZCB0IDppbmhlcml0IHNoYWRvdyA6c3RyaWtlLXRocm91Z2ggdCkpKSkpCisgICAgKGVsZG9jLWRv Y3VtZW50YXRpb24tZm9ybWF0LWNvbmNhdCBpdGVtcyBzZXBhcmF0b3IpKSkKKworKGRlZnVuIGVs ZG9jLS1yZW5kZXItZG9jdW1lbnRhdGlvbi1idWZmZXIgKHRleHQgYnVmZmVyKQorICAiU3ViLXJv dXRpbmUgdG8gd3JpdGUgZG9jdW1lbnRhdGlvbiBURVhUIGluIEJVRkZFUi4gIFJldHVybiBpdCBh ZnRlcndhcmRzLiIKKyAgKHdpdGgtY3VycmVudC1idWZmZXIgYnVmZmVyCisgICAgKGxldCAoKGlu aGliaXQtcmVhZC1vbmx5IHQpCisgICAgICAgICAgKHRoaW5ncy1yZXBvcnRlZC1vbikpCisgICAg ICAoZXJhc2UtYnVmZmVyKQorICAgICAgKHNldHEtbG9jYWwgYnVmZmVyLXJlYWQtb25seSB0KQor ICAgICAgKGxvY2FsLXNldC1rZXkgInEiICdxdWl0LXdpbmRvdykKKyAgICAgIChpbnNlcnQgdGV4 dCkKKyAgICAgIDs7IFJlbmFtZSB0aGUgYnVmZmVyLCB0YWtpbmcgaW50byBhY2NvdW50IHdoZXRo ZXIgaXQgd2FzIGhpZGRlbgorICAgICAgKHJlbmFtZS1idWZmZXIgKGZvcm1hdCAiJXMqZWxkb2Ml cyoiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAoc3RyaW5nLW1hdGNoICJeICIg KGJ1ZmZlci1uYW1lKSkgIiAiICIiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYg dGhpbmdzLXJlcG9ydGVkLW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9y bWF0ICIgZm9yICVzIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo bWFwY29uY2F0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGFt YmRhIChzKSAoZm9ybWF0ICIlcyIgcykpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB0aGluZ3MtcmVwb3J0ZWQtb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICIsICIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIi KSkpCisKKyAgICAgICkpCisgIGJ1ZmZlcikKKworKGRlZnVuIGVsZG9jLXJlbmRlci1kb2N1bWVu dGF0aW9uIChkb2N1bWVudGF0aW9ucyAmb3B0aW9uYWwgdGFyZ2V0KQorICAiUmVuZGVyIERPQ1VN RU5UQVRJT05TIG9udG8gVEFSR0VULgorSWYgb3B0aW9uYWwgVEFSR0VUIGlzIG5vdCBwcm92aWRl ZCwgc2ltcGx5IHJldHVybiB0aGUgZm9ybWF0dGVkIHN0cmluZy4gIElmIGl0CitpcyB0LCByZW5k ZXIgdGhlIGRvY3VtZW50YXRpb24gaW50byB0aGUgKmVsZG9jKiBidWZmZXIgYGVsZG9jLS1kb2Mt YnVmZmVyJy4KK0Vsc2UsIGFzc3VtZSBUQVJHRVQgaXMgYSBuYW1lIHRoYXQgY2FuIGJlIHBhc3Nl ZCB0byBgZ2V0LWJ1ZmZlci1jcmVhdGUnLiIKKyAgKHVubGVzcyAoZXEgZG9jdW1lbnRhdGlvbnMg ZWxkb2MtLWRvYy1idWZmZXItZG9jcykKKyAgICAoc2V0cS1sb2NhbCBlbGRvYy0tZG9jLWJ1ZmZl ci1kb2NzIGRvY3VtZW50YXRpb25zKQorICAgIChsZXQgKChidWZmZXIgKHdoZW4gdGFyZ2V0Cisg ICAgICAgICAgICAgICAgICAgIChpZiAob3IgKGJ1ZmZlcnAgdGFyZ2V0KSAoc3RyaW5ncCB0YXJn ZXQpKQorICAgICAgICAgICAgICAgICAgICAgICAgKGdldC1idWZmZXItY3JlYXRlIHRhcmdldCkK KyAgICAgICAgICAgICAgICAgICAgICAoc2V0cSBlbGRvYy0tZG9jLWJ1ZmZlcgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChnZXQtYnVmZmVyLWNyZWF0ZSAoaWYgKGJ1ZmZlci1saXZlLXAg ZWxkb2MtLWRvYy1idWZmZXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBlbGRvYy0tZG9jLWJ1ZmZlcgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICIgKmVsZG9jKiIpKSkpKSkKKyAgICAgICAgICAoYm9k eSAoZnVuY2FsbCBlbGRvYy1kb2N1bWVudGF0aW9uLWZvcm1hdC1mdW5jdGlvbiBkb2N1bWVudGF0 aW9ucykpKQorICAgICAgKGlmIGJ1ZmZlcgorICAgICAgICAgIChlbGRvYy0tcmVuZGVyLWRvY3Vt ZW50YXRpb24tYnVmZmVyIGJvZHkgYnVmZmVyKQorICAgICAgICBib2R5KSkpKQogCiAoZGVmdW4g ZWxkb2MtLWVjaG8tYXJlYS1zdWJzdHJpbmcgKGF2YWlsYWJsZSkKICAgIkdpdmVuIEFWQUlMQUJM RSBsaW5lcywgZ2V0IGJ1ZmZlciBzdWJzdHJpbmcgdG8gZGlzcGxheSBpbiBlY2hvIGFyZWEuCkBA IC01OTAsMTQgKzYzMCwxMSBAQCBIb25vciBgZWxkb2MtZWNoby1hcmVhLXVzZS1tdWx0aWxpbmUt cCcgYW5kCiAgICAgICAgICAgICAgICA7OyBFbHNlLCBnaXZlbiBhIHBvc2l0aXZlIG51bWJlciBv ZiBsb2dpY2FsIGxpbmVzLCB3ZQogICAgICAgICAgICAgICAgOzsgZm9ybWF0IHRoZSAqZWxkb2Mq IGJ1ZmZlciwgdXNpbmcgYXMgbW9zdCBvZiBpdHMKICAgICAgICAgICAgICAgIDs7IGNvbnRlbnRz IGFzIHdlIGtub3cgd2lsbCBmaXQuCi0gICAgICAgICAgICAgICAod2l0aC1jdXJyZW50LWJ1ZmZl ciAoZWxkb2MtLWZvcm1hdC1kb2MtYnVmZmVyIGRvY3MpCisgICAgICAgICAgICAgICAod2l0aC1j dXJyZW50LWJ1ZmZlciAoZWxkb2MtcmVuZGVyLWRvY3VtZW50YXRpb24gZG9jcyB0KQogICAgICAg ICAgICAgICAgICAoc2F2ZS1leGN1cnNpb24KICAgICAgICAgICAgICAgICAgICAoZWxkb2MtLWVj aG8tYXJlYS1zdWJzdHJpbmcgYXZhaWxhYmxlKSkpKQogICAgICAgICAgICAgICAodCA7OyB0aGlz IGlzIHRoZSAidHJ1bmNhdGUgYnJ1dGFsbHkiIHNpdHVhdGlvbgotICAgICAgICAgICAgICAgKGxl dCAoKHN0cmluZwotICAgICAgICAgICAgICAgICAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIChl bGRvYy0tZm9ybWF0LWRvYy1idWZmZXIgZG9jcykKLSAgICAgICAgICAgICAgICAgICAgICAgIChi dWZmZXItc3Vic3RyaW5nIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAobGluZS1lbmQtcG9zaXRpb24gMSkpKSkpCisgICAg ICAgICAgICAgICAobGV0ICgoc3RyaW5nIChlbGRvYy1yZW5kZXItZG9jdW1lbnRhdGlvbiBkb2Nz KSkpCiAgICAgICAgICAgICAgICAgIChpZiAoPiAobGVuZ3RoIHN0cmluZykgd2lkdGgpICA7IHRy dW5jYXRpb24gdG8gaGFwcGVuCiAgICAgICAgICAgICAgICAgICAgICAodW5sZXNzIChlbGRvYy0t ZWNoby1hcmVhLXByZWZlci1kb2MtYnVmZmVyLXAgdCkKICAgICAgICAgICAgICAgICAgICAgICAg KHRydW5jYXRlLXN0cmluZy10by13aWR0aCBzdHJpbmcgd2lkdGgpKQpAQCAtNjA5LDcgKzY0Niw3 IEBAIEhvbm9yIGBlbGRvYy1lY2hvLWFyZWEtdXNlLW11bHRpbGluZS1wJyBhbmQKIChkZWZ1biBl bGRvYy1kaXNwbGF5LWluLWJ1ZmZlciAoZG9jcyBpbnRlcmFjdGl2ZSkKICAgIkRpc3BsYXkgRE9D UyBpbiBhIGRlZGljYXRlZCBidWZmZXIuCiBJZiBJTlRFUkFDVElWRSBpcyB0LCBhbHNvIGRpc3Bs YXkgdGhlIGJ1ZmZlci4iCi0gIChlbGRvYy0tZm9ybWF0LWRvYy1idWZmZXIgZG9jcykKKyAgKGVs ZG9jLXJlbmRlci1kb2N1bWVudGF0aW9uIGRvY3MgdCkKICAgKHdoZW4gaW50ZXJhY3RpdmUKICAg ICAoZWxkb2MtZG9jLWJ1ZmZlcikpKQogCi0tIAoyLjMwLjEKCg== --00000000000025d88105bdd3c7cc--