GNU bug report logs - #62029
29.0.60; Allow users to customize eldoc buffer separator

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Severity: wishlist; Reported by: Yuan Fu <casouri@HIDDEN>; dated Tue, 7 Mar 2023 07:57:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.
Severity set to 'wishlist' from 'normal' Request was from Stefan Kangas <stefankangas@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 18 Apr 2023 23:05:56 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 18 19:05:56 2023
Received: from localhost ([127.0.0.1]:60635 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pouOa-0002wU-7g
	for submit <at> debbugs.gnu.org; Tue, 18 Apr 2023 19:05:56 -0400
Received: from new4-smtp.messagingengine.com ([66.111.4.230]:46885)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1pouOX-0002wC-Kv
 for 62029 <at> debbugs.gnu.org; Tue, 18 Apr 2023 19:05:55 -0400
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailnew.nyi.internal (Postfix) with ESMTP id 754A558249D;
 Tue, 18 Apr 2023 19:05:46 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute3.internal (MEProxy); Tue, 18 Apr 2023 19:05:46 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding: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=fm1; t=
 1681859146; x=1681862746; bh=8wPdLTXlAvHERitlcXvja19IJ2xbqOlQY75
 WFlebzwo=; b=A1/tb+2DVPUEifrhdGG5mBkr//920QwK3G+v/s007cjwYfy51Us
 /LLaUI8fSYOFCTQ+i7EDSlQBiszKo2WYujGQTsafvGlrBk8sGLntlZR8hhJipoUH
 QElQlkADUPc1k2QI2LAq7WrkJsNcRPel56xwzwAE2StwISoY9s2JDHJEMt7ZqfKa
 UFxKUmliF4MZQwX2LErG8nrKY799821eiciPWBbrfLAqudg4JN781KqIDBhXJGff
 h9ckQ5BivYC0g4k5FuGkSRQ+cB1aTljXGxoQcREHzCmRhTW11HCEYhGR2nNv5IBD
 BAx5eCcyo0EJLy/XdqQ0RdzKD13Rwr3ffbw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :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=
 1681859146; x=1681862746; bh=8wPdLTXlAvHERitlcXvja19IJ2xbqOlQY75
 WFlebzwo=; b=gQdBm/JnHSYlu/AvIo33rN0tvgNPdN9AQGGY/ZcAKdPjUSh4X6+
 RguO+yVPDmQi7Kb/f66S6ICSiWfomkXNG+6RK7xaeMsnBfImNGij7K/wTp43dZUU
 kWSIxOk2B+QW0/AkeC1H51Q4if+Fpgv3ClzuWXG+qC7dUycArHXHThhpK3rs6NwL
 Y+m1m6IFM1IG5it7QJlfR89yh6OgOvhT7iBF7fLa5DV79D14l+f7ZXsjzaIAIb/5
 L6PbAB8pU4M3kGGQFZmmWkMrN/4ZceIyBUD0h4BmmzO0P6JgA3nhMwqzM5CJljGW
 D6obJrFA9ypSXv1vjczGN3d7lpB/bbsUKwQ==
X-ME-Sender: <xms:SiI_ZFBo9PFMTj48mBUwz_MmIvJ8stXbnWklCJRevcBKvwM2ivhNCA>
 <xme:SiI_ZDhmfmyb0MCGx5J67bFtwgvgdMb5vBPJdTX-UBbmKHN719Q5rJicaGQWo-mHy
 BWB5EMpKje6yh5uolI>
X-ME-Received: <xmr:SiI_ZAkuqIRhi8JmxQgUOicpAEfS1BF-cRr5V9L6GCEY4f9QncDS0lqEkCkVkpc>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdelledgudekucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
 uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
 cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtkeertddtfeejnecuhfhrohhmpeffmhhi
 thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth
 htvghrnhephfffheeljeffgeffueeghfekkedtfffgheejvdegjeettdduheeufffggfef
 jeehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug
 hmihhtrhihsehguhhtohhvrdguvghv
X-ME-Proxy: <xmx:SiI_ZPwbJxiwfBsdOyYyPKM43Lz0W1WfN0pDZaKbVJRTjgMb5t6q6w>
 <xmx:SiI_ZKQWX_xTnzAcxQXQOplXk6HAEXvzCvpddFaSVMd85H6O142Kog>
 <xmx:SiI_ZCaY6nriUgfyVHDwULC8-EWRTrt8rn5V-rxzlBQQ3RG37VdRIQ>
 <xmx:SiI_ZNIqLxJ7BJD-WaQ_wE4S12y_8WupKjEspYePyXykXNbYZeTSug>
Feedback-ID: i0e71465a:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 18 Apr 2023 19:05:45 -0400 (EDT)
Message-ID: <41f37917-134d-620b-4915-ea34d569a7f9@HIDDEN>
Date: Wed, 19 Apr 2023 02:05:43 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.10.0
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
Content-Language: en-US
To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN>
 <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN>
 <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
 <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
 <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN>
 <87h6u2y7uj.fsf@HIDDEN>
 <dc1e8642-6c03-4078-467c-73ac87f9eee0@HIDDEN>
 <871qkqmzit.fsf@HIDDEN>
 <61fd5d66-ca0b-f67d-df70-7906c32596de@HIDDEN>
 <87v8i1jr5v.fsf@HIDDEN>
 <6c64f601-0c28-2993-e55a-042419e1623e@HIDDEN>
 <87ttxkrtz5.fsf@HIDDEN>
 <ae5a5e5d-b03d-f9c1-1a61-85b4852cef5d@HIDDEN>
 <8735534c9l.fsf@HIDDEN>
 <f683235d-8397-4beb-1863-37352e3275ed@HIDDEN>
 <87o7nr2ut9.fsf@HIDDEN>
 <1481958b-ca1d-036c-f230-a316a2bd927a@HIDDEN>
 <CALDnm528EAU9FPayHY78s0tzJkhF1S4adPGLikpohcQ1+9Q_Ag@HIDDEN>
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <CALDnm528EAU9FPayHY78s0tzJkhF1S4adPGLikpohcQ1+9Q_Ag@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: -1.9 (-)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org, Yuan Fu <casouri@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.9 (--)

On 18/04/2023 14:17, João Távora wrote:
> On Tue, Apr 18, 2023 at 1:47 AM Dmitry Gutov <dmitry@HIDDEN> wrote:
> 
>> Here is a minor suggestion:
>>
> 
>> The negative width stops the line height from shifting, and the increase
>> in font size is definitely subjective, but 0.7 really looked too small here.
> 
> Feel free to push that, it makes sense.  But maybe halfway at 0.8?

Split that in half again and pushed 0.85 ;-) Feel free to revert or 
change, of course.

> More seriously though, this clashes with Company's overlay-based
> dropdown, and I don't know how to fix that.> Company makes Flymake's
> end-of-line overlay temporarily invisible, which is good, but
> it still takes a lot of space, so the dropdown is ridiculously
> offset to the right.

Right. Like line numbers or other display-related features.

I'm not sure how to fix that for the overlay popup frontend, but one 
good news is that people can use child frame based ones, those should be 
compatible.

For all other users (like tty ones), also consider a different mode of 
operation: when the corresponding overlay is only shown when point is on 
the error, or mouse hovers over it. That can reduce the odds of conflict 
to the minimum.

This was it would be a straight substitute for help-at-pt and eldoc, for 
flymake's purposes.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 18 Apr 2023 11:17:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 18 07:17:27 2023
Received: from localhost ([127.0.0.1]:57963 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pojKx-0003Uh-Da
	for submit <at> debbugs.gnu.org; Tue, 18 Apr 2023 07:17:27 -0400
Received: from mail-oi1-f172.google.com ([209.85.167.172]:50320)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pojKv-0003UW-OS
 for 62029 <at> debbugs.gnu.org; Tue, 18 Apr 2023 07:17:26 -0400
Received: by mail-oi1-f172.google.com with SMTP id
 5614622812f47-38dfbbfe474so185633b6e.0
 for <62029 <at> debbugs.gnu.org>; Tue, 18 Apr 2023 04:17:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1681816640; x=1684408640;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=uq4tE4KVJJsWOYdCPtMc577SuwlwTnUo9+xLfTQEH3Q=;
 b=Apfst60e/39dLez7bhKOqwRu/nhjXndA4BxN3HbyKQX4ZU8YCiBbGPAORjYZ7sSmwl
 WggrDuZ6Yp62kM73eJVd8/nNHGMyXxJWoEi32SAqxnWyVKSm+LWPaYiIIX45LUJ61i7e
 CLc8mF9c1rX8QfSYwUeq8eh9g3rV7N7CsZhJtwN1grofmczIvBK2B64iHzI4FZKoiKg3
 Ey/UunTQyhpkj0EcjhOj55+aRcrCbKl6cpfKsJiFlZm3OOfUBnZGQ+nW/B6bkhrv76EA
 O3tlZc5/QpYeGSODFUOOjGfp+uBOoOQrhvCwXZKY3lW/hM7UsjLtvj8ll8ZlzyDestqG
 5YIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1681816640; x=1684408640;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=uq4tE4KVJJsWOYdCPtMc577SuwlwTnUo9+xLfTQEH3Q=;
 b=HgRDMXJt2q1hKZsrnd1qgVNDrkRXrbJSXxGnjuPaWxNA9grJBqKAMMu+lu5X5DHhCb
 LoIoihPeOLIPL6QarEARjlUgnujZ85ufy0eKf0b2B59GIZy+RrTykLdGvAo/IIVAXqvG
 +9YIlHxNBXphnveIkPrJ4qZDkax7l3FVwPs5PccMQEUI6c5ezDDPQFH/vv3TbKC8yk9A
 OyQod+xm/5wWLtLs0RHa7GbUqpLaHrDVUxE8UKfkyiAy8lP7DjZSRIFLqi/mek3ntR4z
 frbLVkFsRqGZpSamDyuO7xo5cCPYvFMjh9vOQf+1yUduCxZFp7CTVkGOYnAyWXaB8SY0
 n6Mw==
X-Gm-Message-State: AAQBX9eGo1Pniu0QFendAFOI8BcG2/CruMWoI2IlDkLo75cgDutwvXgm
 EbqLlZnUk7ToO3dJ1KlweAPURHC5Ua7py7q2Vkc=
X-Google-Smtp-Source: AKy350Y8BseWmfx0BZjT0rvcmMSMlqM435q64rETfIQ337iumvPAgLLxOiHDDEW6i+FrAWZyzBBVwY8lNLQJl4N1UUo=
X-Received: by 2002:aca:a982:0:b0:38c:c177:a6a4 with SMTP id
 s124-20020acaa982000000b0038cc177a6a4mr394653oie.5.1681816639776; Tue, 18 Apr
 2023 04:17:19 -0700 (PDT)
MIME-Version: 1.0
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN> <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN> <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
 <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
 <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN> <87h6u2y7uj.fsf@HIDDEN>
 <dc1e8642-6c03-4078-467c-73ac87f9eee0@HIDDEN> <871qkqmzit.fsf@HIDDEN>
 <61fd5d66-ca0b-f67d-df70-7906c32596de@HIDDEN> <87v8i1jr5v.fsf@HIDDEN>
 <6c64f601-0c28-2993-e55a-042419e1623e@HIDDEN> <87ttxkrtz5.fsf@HIDDEN>
 <ae5a5e5d-b03d-f9c1-1a61-85b4852cef5d@HIDDEN> <8735534c9l.fsf@HIDDEN>
 <f683235d-8397-4beb-1863-37352e3275ed@HIDDEN> <87o7nr2ut9.fsf@HIDDEN>
 <1481958b-ca1d-036c-f230-a316a2bd927a@HIDDEN>
In-Reply-To: <1481958b-ca1d-036c-f230-a316a2bd927a@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Tue, 18 Apr 2023 12:17:08 +0100
Message-ID: <CALDnm528EAU9FPayHY78s0tzJkhF1S4adPGLikpohcQ1+9Q_Ag@HIDDEN>
Subject: Re: bug#62029: 29.0.60;
 Allow users to customize eldoc buffer separator
To: Dmitry Gutov <dmitry@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org, Yuan Fu <casouri@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On Tue, Apr 18, 2023 at 1:47=E2=80=AFAM Dmitry Gutov <dmitry@HIDDEN> wro=
te:

> Here is a minor suggestion:
>

> The negative width stops the line height from shifting, and the increase
> in font size is definitely subjective, but 0.7 really looked too small he=
re.

Feel free to push that, it makes sense.  But maybe halfway at 0.8?

More seriously though, this clashes with Company's overlay-based
dropdown, and I don't know how to fix that.  Company makes Flymake's
end-of-line overlay temporarily invisible, which is good, but
it still takes a lot of space, so the dropdown is ridiculously
offset to the right.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 18 Apr 2023 00:47:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Apr 17 20:47:52 2023
Received: from localhost ([127.0.0.1]:57223 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1poZVg-0005X1-3M
	for submit <at> debbugs.gnu.org; Mon, 17 Apr 2023 20:47:52 -0400
Received: from new3-smtp.messagingengine.com ([66.111.4.229]:59325)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1poZVd-0005WB-Qf
 for 62029 <at> debbugs.gnu.org; Mon, 17 Apr 2023 20:47:50 -0400
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailnew.nyi.internal (Postfix) with ESMTP id 7E03B582375;
 Mon, 17 Apr 2023 20:47:44 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Mon, 17 Apr 2023 20:47:44 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding: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=fm1; t=
 1681778864; x=1681782464; bh=4i58LF1bHDE4Uqkgrvx6og+h5rx5iyhh53f
 KUrsN2iU=; b=A6+cBYX5UOcTAYPf40QhdZxBVlcUQP0xZZU4dUZQEZw8HpYvZIe
 zmBY3aeV59SzPytUnj2J/N8PQ+Afys2WbDOfKRVy+xbDvWUvC3mE6LF3EqTQyaKs
 Nv9LIlOl91Ut4wp2heLtBSH3BqniJ9JYlcoQbxAnCuCXB+F7xFTHlkBMFdC3WgjK
 Ij/PmhEp2JMjFacLeC1W6ewcUgfpGlz4GlUUXyNKhtLEZmASDyG77BaTEhpXiV/y
 1cWVeCSyhL2y4XeIbu0+dgYyj1wSmw6Zzl6zMnUK21tJoAmKEKLgPI/i992qBQ4+
 5XeE34yr0hTlcQvEcIkRQbUWP7XNjyo/4Kw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :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=
 1681778864; x=1681782464; bh=4i58LF1bHDE4Uqkgrvx6og+h5rx5iyhh53f
 KUrsN2iU=; b=HLZqUcKjhGw+DjsPRTlulFIXhIs4r1p0GJrG5Z0C1ZLEgtJLMSc
 gtWCUDb6P+dYFLtSpUKyYaAmYj/KDdi6HkWt4LHkg881qEHqRRXozdOy7xlD/p+K
 gQ77d6llQGz4tgVHjCFxFIAp+C0WymSva5Phg9K96aOfGrFiPfXGaECVqegNdM6T
 wsyGh7mI1AZoYtBnAIN2s1ucPk2lnsXi754o5D0ipzk/s0iLGg0AQxCpV5vHlYrB
 iSO8kswVwh4eIQaHbDtSZA34jCupKjLpGlZ3z/w/tC58ocS1mpAsou8PHaegoU09
 npchKx98f4x8w9jcUzFFUcGVCbH0yYoM0hA==
X-ME-Sender: <xms:sOg9ZLYcRBPMq796oHysuCq1c82xPg1R81kI5fE5YDXZrJXapplZLw>
 <xme:sOg9ZKbZifk4kuwpM2QUBUh3xMdVPGMTd0gyuXz5xPTYua6qQbSC6DHMcxZ3J_M51
 1EQCCZ--Gs4hDBra3s>
X-ME-Received: <xmr:sOg9ZN8npakWX6ZPzl1dvFthnFM70RTHr_9O9jEu6ERxnMe2Wza7jbj-tUMkVpVl>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdeljedgfeelucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
 uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
 cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtkeertddtfeejnecuhfhrohhmpeffmhhi
 thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth
 htvghrnhephfffheeljeffgeffueeghfekkedtfffgheejvdegjeettdduheeufffggfef
 jeehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug
 hmihhtrhihsehguhhtohhvrdguvghv
X-ME-Proxy: <xmx:sOg9ZBrAmwVoDO7CKV-7hKUnQhytzJoMhbERJGaiKa3J1LPO-BDKTw>
 <xmx:sOg9ZGrrIzLeCsS_19CFe2rHCrmjmNx4Yclco64KzbVyt2JpRFnJFw>
 <xmx:sOg9ZHQUaxGK7n2StYBM6hPNsLYdhJOSwqKB5wF7zwqvRoEqTa5QVA>
 <xmx:sOg9ZLD0fHq2rbAfKvLFDitx--g_xMYZr0pyTscotoi0Z2rXb-fBJA>
Feedback-ID: i0e71465a:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 17 Apr 2023 20:47:43 -0400 (EDT)
Message-ID: <1481958b-ca1d-036c-f230-a316a2bd927a@HIDDEN>
Date: Tue, 18 Apr 2023 03:47:41 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.10.0
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
Content-Language: en-US
To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN> <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN> <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
 <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
 <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN> <87h6u2y7uj.fsf@HIDDEN>
 <dc1e8642-6c03-4078-467c-73ac87f9eee0@HIDDEN> <871qkqmzit.fsf@HIDDEN>
 <61fd5d66-ca0b-f67d-df70-7906c32596de@HIDDEN> <87v8i1jr5v.fsf@HIDDEN>
 <6c64f601-0c28-2993-e55a-042419e1623e@HIDDEN> <87ttxkrtz5.fsf@HIDDEN>
 <ae5a5e5d-b03d-f9c1-1a61-85b4852cef5d@HIDDEN> <8735534c9l.fsf@HIDDEN>
 <f683235d-8397-4beb-1863-37352e3275ed@HIDDEN> <87o7nr2ut9.fsf@HIDDEN>
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <87o7nr2ut9.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: -1.9 (-)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org, Yuan Fu <casouri@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.9 (--)

On 14/04/2023 03:04, João Távora wrote:
> [ BTW, today I've pushed a Flymake feature
> flymake-show-diagnostics-at-end-of-line that puts diagnostics "closer to
> the input" (though not via Eldoc, of course) ]

Now that it's merged, though, I think it does look pretty cool.

Here is a minor suggestion:

diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index b744a717c5c..31418895da1 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -447,7 +447,7 @@ flymake-note-echo
    :package-version '(Flymake . "1.3.4"))

  (defface flymake-end-of-line-diagnostics-face
-  '((t :height 0.7 :box (:line-width 1)))
+  '((t :height 0.9 :box (:line-width (1 . -1))))
    "Face used for end-of-line diagnostics.
  See variable `flymake-show-diagnostics-at-end-of-line'."
    :package-version '("Flymake" . "1.3.5"))


The negative width stops the line height from shifting, and the increase 
in font size is definitely subjective, but 0.7 really looked too small here.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 15 Apr 2023 09:39:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 15 05:39:54 2023
Received: from localhost ([127.0.0.1]:48268 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pncNt-0004Zo-CB
	for submit <at> debbugs.gnu.org; Sat, 15 Apr 2023 05:39:54 -0400
Received: from mail-wm1-f50.google.com ([209.85.128.50]:56142)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pncNq-0004ZZ-Vw
 for 62029 <at> debbugs.gnu.org; Sat, 15 Apr 2023 05:39:51 -0400
Received: by mail-wm1-f50.google.com with SMTP id v10so4847740wmn.5
 for <62029 <at> debbugs.gnu.org>; Sat, 15 Apr 2023 02:39:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1681551585; x=1684143585;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=NpqxTgjqVJfXhRhZqwBRfYA/oxeXsMJvV5rDcBRXq5Y=;
 b=rpJARlF2tJ+JC0nB4+w2HPaXj+kKe10qFzX4A9rxrYJID3KgL3CXIFwzv6mLcbrl4I
 UJcIJtmfJ1u5mtp1zgrJ3f+D3BTXf9qon4zfUXpcHkMXkyIkRhwisPhrJfP2uO4GlMAV
 6K/xLd1ySPm7EboVftbBBRafGB28OCNQdVMU+UpQqFSp08pPg+SESqC9rOKFfjk1hph1
 mYHIGNuAe1/nndjJSHIa5Jg/NUaVihGikW1stWv3ddPHjbP7caURi6nXwOhCmuszjyRr
 T+yHH7hl9MmlRYzx0X6hwq3SaYcS1l/sO1x9oZS9JegFpmPFpsZplmKkGQmXjv6m1i+6
 TNTA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1681551585; x=1684143585;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=NpqxTgjqVJfXhRhZqwBRfYA/oxeXsMJvV5rDcBRXq5Y=;
 b=cDbUotcCOhbpaGyH3drnFYBMvcerYrk2AWWKwo8ST6dUWEhuS3D8j38Lzw8xTy694S
 y8Orik+2cFVtfdOqoXZ03lNdbMCCKFTflDUlHKnY6vh3+AaphK3UGWGKUqyGEA9USQhl
 bo1nWSfq2nn7NFeFAkUkQJ7pA59+EsVPmTbVYP7i5X7dkBn0AY096h3EDDqwzaLgW0lz
 ptGORd9lrL574HdddFfMntGBYE0geoMlFx5L5xAj/SiF8tNM5FzaI2USkHYRaCsfh4h2
 H+z+ROXiJviSVwfp1uudU9cpSoo2BXGW4eyTaxkM84ttK7C4cAOjDY+NQqlFBkvs3g3+
 m2tA==
X-Gm-Message-State: AAQBX9dXKm4RSDfptpVd9pvM4v5L2x/aPYfgntGoW4eGkvRQQKouCIcr
 KKKkjvBMDRuTk+ppvB2h7nbFQmu+Nn0=
X-Google-Smtp-Source: AKy350ZXY69CKNoIKME0G4WP9rT690fhi8Ky3TGaEw13RgYCAzSHTCVRh++57nse/qdYhOoCsODoJg==
X-Received: by 2002:a1c:4b09:0:b0:3f0:7e56:82a4 with SMTP id
 y9-20020a1c4b09000000b003f07e5682a4mr6188016wma.18.1681551584800; 
 Sat, 15 Apr 2023 02:39:44 -0700 (PDT)
Received: from krug ([87.196.73.56]) by smtp.gmail.com with ESMTPSA id
 f24-20020a1cc918000000b003ee63fe5203sm6251255wmb.36.2023.04.15.02.39.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 15 Apr 2023 02:39:44 -0700 (PDT)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
In-Reply-To: <d5efca48-b904-f024-af27-6cc2649aeeac@HIDDEN> (Dmitry Gutov's
 message of "Sat, 15 Apr 2023 02:50:19 +0300")
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN>
 <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN>
 <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
 <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
 <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN>
 <87h6u2y7uj.fsf@HIDDEN>
 <dc1e8642-6c03-4078-467c-73ac87f9eee0@HIDDEN>
 <871qkqmzit.fsf@HIDDEN>
 <61fd5d66-ca0b-f67d-df70-7906c32596de@HIDDEN>
 <87v8i1jr5v.fsf@HIDDEN>
 <6c64f601-0c28-2993-e55a-042419e1623e@HIDDEN>
 <87ttxkrtz5.fsf@HIDDEN>
 <ae5a5e5d-b03d-f9c1-1a61-85b4852cef5d@HIDDEN>
 <8735534c9l.fsf@HIDDEN>
 <f683235d-8397-4beb-1863-37352e3275ed@HIDDEN>
 <87o7nr2ut9.fsf@HIDDEN>
 <d5efca48-b904-f024-af27-6cc2649aeeac@HIDDEN>
Date: Sat, 15 Apr 2023 10:41:50 +0100
Message-ID: <87wn2d1nz5.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org, Yuan Fu <casouri@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Dmitry Gutov <dmitry@HIDDEN> writes:

> On 14/04/2023 03:04, Jo=C3=A3o T=C3=A1vora wrote:
>> Dmitry Gutov <dmitry@HIDDEN> writes:
>>=20
>>> On 14/04/2023 02:01, Jo=C3=A3o T=C3=A1vora wrote:
>>=20
>>>> And you liked the result with no problems?  If so, that's a good
>>>> datapoint.  You will have seen "bouncing" of the echo area, I presume.
>>>
>>> I'm still vague on what your patch to elisp-mode.el does, but at least
>>> I'm not seeing any particular breakage.
>> My patch to elisp-mode.el that I showed Yuan Fu makes the two
>> function
>> elisp-eldoc-funcall and elisp-eldoc-var-docstring send very rich
>> information to the *eldoc* buffer, but only summarized information to
>> the echo area, via the new :echo option in newer ElDoc 1.14.0.  This
>> allows users who have eldoc-documentation-compose as the strategy to
>> have the buffer on the side and see it update with full docstrings of
>> the things they are navigating, organized with a suitable separator.
>> This is why I suggested you try M-x eldoc-doc-buffer along with your
>> tests.
>
> Okay, I see it now. I think it doesn't look optimal, for example, when
> point is on a variable, it lists just the name and the docstring. C-h
> v has a much richer display which might be worth reusing here (or more
> parts of it, at least). But those are details.

Yes, yes.  The problem is how to get that rich content.  The defun case
has a describe-function-1 helper, but sadly no such helper for
variables.  I could just invoke help.el wholesale, as company does.  But
that has a bug that it stomps in the *Help* buffer.  I agree it's just
details.

> To sum up, if I may, you have reached the conclusion that the doc
> buffer should look different, and its text needs to be produced=20
> differently, than the notifications in the echo area. (*)

They are usually produced in the same way, and ideally should.  Only the
display is different according to the viewport.  The echo area is a an
extreme case of a very constrained port.  But the plan for ElDoc is for
backends to send even more structured text to eldoc-display-functions
and have them do any kind of markup, fontification, etc.
eldoc-echo-area-display uses :echo if available now, but the main thing
I fixed in ElDoc 1.14 was its sharing and cutting of the same *eldoc*
buffer.  Each display function should have its own working space.

>>>> Elisp
>>>> in de facto an exception.
>>>
>>> Do we have some sort of statistics or overview on that issue? E.g. if
>>> we take only eldoc functions that are relatively old-ish (crossing out
>>> lsp-mode and eglot, I mean).
>> I'm not aware of many.  SLY has a eldoc-documentation-function that
>> prints multiline content, and SLY users have never complained about it.
>
> At certain point users start to self-select, especially if they don't
> know how things could be better/different. As evidenced just by the
> other bug report with the blinkage in the echo area which should be
> apparent to anybody with graphical Emacs.
>
> So "users of package xxx don't complain about yyy" is not as strong an
> argument as "almost all packages out there use approach yyy".

I don't know to be honest.  And then not all packages are equally
popular.=20=20

> I've done it before, and the results definitely aren't representative
> of the whole community (like 10 responses or so), but they has been
> convincing enough for me to abandon the particular idea I had. ;-(

The very vast majority of users don't care, and will accept the
developers criteria as to what he or she chose is best.  As for the ones
that do care, whether with positive or negative feelings, you only hear
about a minority of them, and always biased to the negative.  So as your
little experiment showed you're walking in a foggy swamp, with a
blindfold, inside a box.

> You could have a different result, though.

Doubt it.

>>> Or, if we change the default value of eldoc-documentation-strategy,
>>> someone with the diametrically opposite preferences from you would
>>> customize eldoc-echo-area-use-multiline-p to 1 and have that work in
>>> all modes. Or set it to 2, to have some middle ground. Etc.
>> OK I see.  Well I don't think it's a tragedy to do that with
>> emacs-lisp-mode-hook instead.  We're only talking about the people
>> familiar with "new" ElDoc features, which is arguably a very small
>> group, because -- unless they are using my patch to Yuan Fu -- these
>> features aren't yet very developed in Elisp-mode.  So the likelyhood of
>> that backlash is very low.
>
> The patch will make it in soon enough, right? I'm not sure I
> understand this argument.

What patch.  I was describing the risks of simply setting
eldoc-echo-area-use-multiline-p to 1 in elisp mode, which are very
small.


>> If I understand your preference for "put it closer to the input",
>> that'd
>> just be another function in eldoc-display-functions.  Yuan Fu's
>> eldoc-box is such an example.
>
> Might be. If signature info is annotated with a particular key, which
> that display function will pick up. But I'm not sure how to make it so
> that the other display functions ignore it.

You start passing structured text.  See the docstring of
eldoc-documentation-functions:

    To call the CALLBACK function, the hook function must pass it an
    obligatory argument DOCSTRING, a string containing the
    documentation, followed by an optional list of arbitrary
    keyword-value pairs of the form (:KEY VALUE :KEY2 VALUE2...).
    The information contained in these pairs is understood by members
    of `eldoc-display-functions', allowing the
    documentation-producing backend to cooperate with specific
    documentation-displaying frontends.

> Further, though, the siginfo could become a structured piece of data,
> rather than a string (e.g. I recall an interface where the user could
> switch between overloads using arrow keys). That is unlikely to fit
> eldoc's model at all.

Yes, ElDoc is a "at point documentation system", it's not a completion
system.

> It does not bootstrap, unfortunately. Or otherwise build:
>
>   load("progmodes/elisp-mode")
>   load("loadup.el")
> Eager macro-expansion failure: (wrong-type-argument listp t)
>
> And that's in a clean new worktree.

Oof that's bad.  My fault?  I'll have a look.

>>>> Starting from there, we could
>>>> modify it so that this e-d-function only echoes and doesn't send
>>>> anything to the *eldoc* buffer, while elisp-eldoc-fucall and
>>>> elisp-eldoc-var-docstring to the inverse.
>>>
>>> That reminds me of some of my older messages where I insisted the
>>> eldoc-buffer thingy should have its own separate hook. Oh well.
>> To be clear, what I'm thinking of is to have _3/4_ functions in
>> elisp-mode's e-d-functions
>>    elisp-eldoc-funcall
>>    elisp-eldoc-var-docstring
>>    elisp-eldoc-failover-funcal-to-var
>
> Note that this one is easy enough to do for Elisp because both
> functions are synchronous and you can determine the success of
> elisp-eldoc-funcall by its return value. Not so easy to do for eldoc
> functions in general (e.g. to do a similar failover for Eglot).

That's impossible in general.  The thing you're waiting to fail over
from might never arrive.  That's why member of eldoc-doc-functions are
supposed to make an educated promise that they will call the callback in
the return value.  If that promise is upheld, it's not much harder to
combine to eldoc-documentation-functions into one.

(defun eldoc-race (fns) "Combine FNS into a race"
  (lambda (callback)
    (let* (winner-found
           (newcb (lambda (&rest r)
                    (unless winner-found
                      (apply callback r)
                      (setq winner-found t)))))
      (mapc (lambda (f) (funcall f newcb)) fns))))

Obviously you can have a million different rules for these "races".

In practice, I've never seen someone discontent with the default
eldoc-documentation-compose though.  Saw lots of complaints about "echo
are flooding" and "enormous echo areas".  I recommended
eldoc-echo-area-use-multiline-p be used, and people were content.  But
it wasn't very clean, so what we have is cleaner now.

>>    flymake-eldoc-function (optional, depends on Flymake mode)
>> By default, in Emacs -Q, the first 2 send _nothing_ to echo (via the
>> new
>> ElDoc :echo feature) are but send rich info to other
>> eldoc-display-functions.  The special
>> elisp-eldoc-failover-funcall-to-var sends _only_ to the echo area (and
>> only ever one line).
>
> Nice. Let me get back to this later down in this email (**).

It's nice but not perfect.  Nothing can be.  If you look closely,
there's just as much backward compatibility breakage as there is by
changing e-e-a-use-multiline-p to t in elisp-mode.  I.e. a happy user of
eldoc-documentation-compose today will be equally disappointed tomorrow
(she won't see funcall and variable together as usual).  She will also
have to do changes to her config to get that back.

And this second idea of mine is way, waaay more complicated, than the
first.  And just for the sake of not stomping on a user customizable
variable which, which would have the same (very minor) negative effect,
in fact I think _exactly the same_.

And this second idea of mine yet to be put into code;-)

> 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,=20

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.

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 14 Apr 2023 23:50:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 14 19:50:32 2023
Received: from localhost ([127.0.0.1]:47912 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pnTBX-0007zN-BF
	for submit <at> debbugs.gnu.org; Fri, 14 Apr 2023 19:50:32 -0400
Received: from new3-smtp.messagingengine.com ([66.111.4.229]:53551)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1pnTBU-0007yQ-7T
 for 62029 <at> debbugs.gnu.org; Fri, 14 Apr 2023 19:50:29 -0400
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailnew.nyi.internal (Postfix) with ESMTP id F30EC5823C7;
 Fri, 14 Apr 2023 19:50:22 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Fri, 14 Apr 2023 19:50:22 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding: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=fm1; t=
 1681516222; x=1681519822; bh=ttnswDqGAMRhWfIobqQ//KnPagZW+lE2vzf
 Q1XgfCxA=; b=Z+IXJReeBz6aVyr4gZSi6EmeXp1X0xPEF0CI2YZz0yuJRQBOGY4
 bArj8CMLDQIUgRPw+/IQ/vVu2SMe1IreBIG+6swdkFMz3Ttoj7gfxQOpu3hsscby
 nsREhXKFg62GbUS5MuWXzfuZyRj13uwMNRO7Q/Weq2FpmqflIUa1OlGx4hruA62E
 4xTQwQ84IXihF9y55m51XTIszdMUOMyBzvn6ZVaF60/np6DX/gJIxDaN146/lvKD
 p5BYD5/bLwBaTOnKcA2I2eTB/3OZaU9ontZqGA1evi9vv7+/pD67Ar1bUpQ7LYuf
 VJrAR1JPzqb1JbPeqlmrPhok2Yw1VxaiNZQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :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=
 1681516222; x=1681519822; bh=ttnswDqGAMRhWfIobqQ//KnPagZW+lE2vzf
 Q1XgfCxA=; b=EkAGJzOXZY4jauhfLSa2kqPNxHwQ/OUw6x/UxqW4VYuXmX3+ole
 oIrK5cGMw7e01mdLjOoUXTjwjR2BecfoZqeGG5MbDbcM3WKbM645HvOYQLTFHknE
 h9IX5U+rBH94Z9gZCV96xLm++wnSZwL8o4OOBKSVRJljsUjRSaHpADw70wFQuox/
 0DtXoXoff4QeBWBG92ihqfpQmqT2+fs+d/Q6VIRxdawW2e11jgZJS3DLPPFXRha0
 ECVO/b+lU7Pi5YAkw1cm4/4ipFVtCqRasqW9RhUk+O/vBuTOz/YuGy03EUrADov3
 hrk/P760fevH3unYaEsjzXC2VIyhSJbEeiw==
X-ME-Sender: <xms:vuY5ZMZKvAfWStJKZk5SzAUei6KoQWUDEFxtJXLTyPm8i4tk_OfEXw>
 <xme:vuY5ZHbW12CnY4Vi2DMGFfxaQDNq3QsGYUdXT9mp_m4bZoZ5SQf2UlVmYzJFL_Dcm
 TzK8FyngNMpoPh76ps>
X-ME-Received: <xmr:vuY5ZG-svCbVuhNqucF25M6UD-CCQIEQZGd51KH_zC566VwKHqzvgaoJwmRwLWqE>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdeluddgvdejucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
 uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
 cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtkeertddtfeejnecuhfhrohhmpeffmhhi
 thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth
 htvghrnhephfffheeljeffgeffueeghfekkedtfffgheejvdegjeettdduheeufffggfef
 jeehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug
 hmihhtrhihsehguhhtohhvrdguvghv
X-ME-Proxy: <xmx:vuY5ZGqReH4qrpfJ112i3RapunXyHgrWZz_fQkhkhC3iWZB6tFcoPQ>
 <xmx:vuY5ZHrq9mHA-XkqlI138DbOAZDaCMVW-YN2fBiWDs_8kPv8dLpw3w>
 <xmx:vuY5ZEQOKgIWB4I0eLOscZcvtPxQKF0DAn47TY0N4VEssvKGFUzMGw>
 <xmx:vuY5ZACghCV9tVu4UZJ_Gozpc4jmx6Ngte7BJofZv6Xw4Qy63oPWGg>
Feedback-ID: i0e71465a:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 14 Apr 2023 19:50:21 -0400 (EDT)
Message-ID: <d5efca48-b904-f024-af27-6cc2649aeeac@HIDDEN>
Date: Sat, 15 Apr 2023 02:50:19 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
Content-Language: en-US
To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN> <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN> <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
 <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
 <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN> <87h6u2y7uj.fsf@HIDDEN>
 <dc1e8642-6c03-4078-467c-73ac87f9eee0@HIDDEN> <871qkqmzit.fsf@HIDDEN>
 <61fd5d66-ca0b-f67d-df70-7906c32596de@HIDDEN> <87v8i1jr5v.fsf@HIDDEN>
 <6c64f601-0c28-2993-e55a-042419e1623e@HIDDEN> <87ttxkrtz5.fsf@HIDDEN>
 <ae5a5e5d-b03d-f9c1-1a61-85b4852cef5d@HIDDEN> <8735534c9l.fsf@HIDDEN>
 <f683235d-8397-4beb-1863-37352e3275ed@HIDDEN> <87o7nr2ut9.fsf@HIDDEN>
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <87o7nr2ut9.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: -1.1 (-)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org, Yuan Fu <casouri@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.1 (--)

On 14/04/2023 03:04, João Távora wrote:
> Dmitry Gutov <dmitry@HIDDEN> writes:
> 
>> On 14/04/2023 02:01, João Távora wrote:
> 
>>> And you liked the result with no problems?  If so, that's a good
>>> datapoint.  You will have seen "bouncing" of the echo area, I presume.
>>
>> I'm still vague on what your patch to elisp-mode.el does, but at least
>> I'm not seeing any particular breakage.
> 
> My patch to elisp-mode.el that I showed Yuan Fu makes the two function
> elisp-eldoc-funcall and elisp-eldoc-var-docstring send very rich
> information to the *eldoc* buffer, but only summarized information to
> the echo area, via the new :echo option in newer ElDoc 1.14.0.  This
> allows users who have eldoc-documentation-compose as the strategy to
> have the buffer on the side and see it update with full docstrings of
> the things they are navigating, organized with a suitable separator.
> This is why I suggested you try M-x eldoc-doc-buffer along with your
> tests.

Okay, I see it now. I think it doesn't look optimal, for example, when 
point is on a variable, it lists just the name and the docstring. C-h v 
has a much richer display which might be worth reusing here (or more 
parts of it, at least). But those are details.

To sum up, if I may, you have reached the conclusion that the doc buffer 
should look different, and its text needs to be produced differently, 
than the notifications in the echo area. (*)

>>> Elisp
>>> in de facto an exception.
>>
>> Do we have some sort of statistics or overview on that issue? E.g. if
>> we take only eldoc functions that are relatively old-ish (crossing out
>> lsp-mode and eglot, I mean).
> 
> I'm not aware of many.  SLY has a eldoc-documentation-function that
> prints multiline content, and SLY users have never complained about it.

At certain point users start to self-select, especially if they don't 
know how things could be better/different. As evidenced just by the 
other bug report with the blinkage in the echo area which should be 
apparent to anybody with graphical Emacs.

So "users of package xxx don't complain about yyy" is not as strong an 
argument as "almost all packages out there use approach yyy".

>>> So a decision has to be made on what we really want for Elisp's echo
>>> area.  If that decision is "yes, we Elisp users, override the default
>>> e-e-a-use-multiline-p", then it must somehow be recorded in code (hook
>>> or not, I don't care).  If the decision is "OK, we accept a little
>>> bouncing to 2-3 lines as per the e-e-a-u-multiline-p we have" then
>>> nothing needs to change.
>> This is something to ask the users, I think. Maybe by trying an
>> experiment at some point.
> 
> The problem is that "asking users" is really an impossibility.  Best one
> can do is present this in Emacs devel and hope the knees don't jerk too
> much.  If you have better ideas, please put them forth and help
> implement them.

I've done it before, and the results definitely aren't representative of 
the whole community (like 10 responses or so), but they has been 
convincing enough for me to abandon the particular idea I had. ;-(

You could have a different result, though.

>> Or, if we change the default value of eldoc-documentation-strategy,
>> someone with the diametrically opposite preferences from you would
>> customize eldoc-echo-area-use-multiline-p to 1 and have that work in
>> all modes. Or set it to 2, to have some middle ground. Etc.
> 
> OK I see.  Well I don't think it's a tragedy to do that with
> emacs-lisp-mode-hook instead.  We're only talking about the people
> familiar with "new" ElDoc features, which is arguably a very small
> group, because -- unless they are using my patch to Yuan Fu -- these
> features aren't yet very developed in Elisp-mode.  So the likelyhood of
> that backlash is very low.

The patch will make it in soon enough, right? I'm not sure I understand 
this argument.

>> I've described a scenario in the bug you filed (bug#62816) which uses
>> company-mode. With a screencast. Again, in a basic default
>> configuration of everything.
> 
> At first sight, I think that's primarily a problem in Company mode.
> Let's continue in that bug.

Sure.

>> Personally, I'd rather people also tried to explore ways to show some
>> of this info that doesn't put it all in Eldoc. There are a lot of
>> examples of signature help interfaces that put it closer to the input.
> 
> If I understand your preference for "put it closer to the input", that'd
> just be another function in eldoc-display-functions.  Yuan Fu's
> eldoc-box is such an example.

Might be. If signature info is annotated with a particular key, which 
that display function will pick up. But I'm not sure how to make it so 
that the other display functions ignore it. If siginfo is displayed with 
eldoc-box is something similar, we don't need it in the echo area. Maybe 
not in eldoc-buffer either (not quite sure).

Further, though, the siginfo could become a structured piece of data, 
rather than a string (e.g. I recall an interface where the user could 
switch between overloads using arrow keys). That is unlikely to fit 
eldoc's model at all.

> [ BTW, today I've pushed a Flymake feature
> flymake-show-diagnostics-at-end-of-line that puts diagnostics "closer to
> the input" (though not via Eldoc, of course) ]
> 

It does not bootstrap, unfortunately. Or otherwise build:

   load("progmodes/elisp-mode")
   load("loadup.el")
Eager macro-expansion failure: (wrong-type-argument listp t)

And that's in a clean new worktree.

>>> Starting from there, we could
>>> modify it so that this e-d-function only echoes and doesn't send
>>> anything to the *eldoc* buffer, while elisp-eldoc-fucall and
>>> elisp-eldoc-var-docstring to the inverse.
>>
>> That reminds me of some of my older messages where I insisted the
>> eldoc-buffer thingy should have its own separate hook. Oh well.
> 
> To be clear, what I'm thinking of is to have _3/4_ functions in
> elisp-mode's e-d-functions
> 
>    elisp-eldoc-funcall
>    elisp-eldoc-var-docstring
>    elisp-eldoc-failover-funcal-to-var

Note that this one is easy enough to do for Elisp because both functions 
are synchronous and you can determine the success of elisp-eldoc-funcall 
by its return value. Not so easy to do for eldoc functions in general 
(e.g. to do a similar failover for Eglot).

>    flymake-eldoc-function (optional, depends on Flymake mode)
> 
> By default, in Emacs -Q, the first 2 send _nothing_ to echo (via the new
> ElDoc :echo feature) are but send rich info to other
> eldoc-display-functions.  The special
> elisp-eldoc-failover-funcall-to-var sends _only_ to the echo area (and
> only ever one line).

Nice. Let me get back to this later down in this email (**).

> A customization variable elisp-eldoc-legacy-oneliners, set to t by
> default, could control this.  If set to nil, then the first 2 would
> behave as in Yuan Fu's patch and the third one would do nothing (or not
> exist).
> 
> Then, I contend, eglot-documentation-strategy can "safely" be set to
> eldoc-documentation-compose without annoying old timers.  And no
> touching of eldoc-echo-area-use-multiline-p.

It's a valid hypothesis, at least.

> In my view, *eldoc* doesn't need any hook.  I don't remember or
> understand this hook idea today, and I don't think I ever did.  But if
> you do and think it's helpful to bring it back, you can always
> illustrate it in code.

We have a hook (hooks) eldoc-documentation-function (and -functions), 
which determine what should be displayed in the echo area.

And then we have this eldoc buffer, which as we apparently agree now 
can/should have a different set of output functions (** above), and even 
the functions with information about the same things will usually print 
it in different ways (* above). That basically tells me that 
eldoc-buffer could use separate hooks, rather than reuse existing one, e.g.
eldoc-buffer-output-function, eldoc-buffer-output-functions.

Perhaps the former would reuse the existing set of 
combinator/strategies, but I can easily see eldoc-documentation-function 
and eldoc-buffer-output-function set to different strategies.

This separation could still work together with eldoc-display-functions 
(the different functions in this list would just pick up its info from 
different hooks).

I'm not going to bother with a patch because backward compatibility, and 
blah, and the current approach can obviously function too, though in a 
more complicated way.

But you might want to consider ways the echo and the buffer could be 
configured to use different combinator strategies. I see no inherent 
reason for them to always use the same one.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 14 Apr 2023 00:02:25 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 13 20:02:25 2023
Received: from localhost ([127.0.0.1]:45102 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pn6tU-0007tb-HX
	for submit <at> debbugs.gnu.org; Thu, 13 Apr 2023 20:02:25 -0400
Received: from mail-wr1-f53.google.com ([209.85.221.53]:41551)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pn6tP-0007tH-6F
 for 62029 <at> debbugs.gnu.org; Thu, 13 Apr 2023 20:02:23 -0400
Received: by mail-wr1-f53.google.com with SMTP id v6so15808123wrv.8
 for <62029 <at> debbugs.gnu.org>; Thu, 13 Apr 2023 17:02:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1681430533; x=1684022533;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=J5fPUJtWaDsWIs0F9Bjukb311mgntBfp4V8Ifa0qInY=;
 b=pOLTHauIWf1xReLS6wdqqMla/RoFqPYk2V9r0kDb+JmRTglbOgIBPH2Uj0mgR6woph
 6tqrAzj9o37L74jK89SRLeepunWoV+2NIVXtiOuCjQHdb5i3ccmUZ7Jg4GFzzIFul0oG
 iMDSoDfwrm7dQy8JiTgexPqZs3VGcYz9t7UMlGB/ky5FlkfhvZy5JnVuH11Dsq642/qb
 Ue9c0fGSqrpgssRe52HhCfye3QjCdLGtKYp0mZRY4MkQQ5xo8Dpe6OJ6C3yllY7ubGWk
 ShpIG2NjCfUdbuznl3O0HcWp881gmlQIig3PSktI15n8WpFrVPlvme5S9sSFdnpoT4MS
 Lx8w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1681430533; x=1684022533;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=J5fPUJtWaDsWIs0F9Bjukb311mgntBfp4V8Ifa0qInY=;
 b=io0m34h1Y/kgWD2zSCnqO/VUxqjb/lv8FpVIUM/trIIsktgZ7T1GfUr0oBevkmW0JL
 ST7rWGpHX0z/KAXu+ZmdwTkWl0RrsOMM+O6vbQxBL8FajK7JIVS36fzoan3EGa5zE4Xw
 +UCGqX6nl9J3G6Avd6mmET+LQFOIBk8SeoNkEAxNWgEqsXD09uxvp9pFYLvwNl/wibmS
 ghu7Oim8EBLcsudG1ZgLU4mjaB0U6v41uEcQQNwDOHsrkI1ufNdvK/hdd9gnOwJ+qFf8
 zIHWQkn+X9bdRFSDRAIM/uVtTQv6kGfBMQ9YQHYG5i+WPYHfx2FuHFSbdtTXz2HcKNiR
 4Cfw==
X-Gm-Message-State: AAQBX9cvDybJv+GJYrGF8WSFYDldawgClNAIqb6XUK4KvPe3QOig+dDT
 qkHKLdftKeeUc4BnJaa8BuiW6nfkrIw=
X-Google-Smtp-Source: AKy350YZxnm9hxkSI13fCDW7ym4WRnP6pW1fDO3inlbPEgp+xVHcIApqQwaFqxrUCP31FfZX1hNwOg==
X-Received: by 2002:a5d:530a:0:b0:2f0:2cfb:e90e with SMTP id
 e10-20020a5d530a000000b002f02cfbe90emr3078224wrv.17.1681430532549; 
 Thu, 13 Apr 2023 17:02:12 -0700 (PDT)
Received: from krug ([87.196.73.56]) by smtp.gmail.com with ESMTPSA id
 y9-20020a5d4709000000b002c56013c07fsm2244320wrq.109.2023.04.13.17.02.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Apr 2023 17:02:12 -0700 (PDT)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
In-Reply-To: <f683235d-8397-4beb-1863-37352e3275ed@HIDDEN> (Dmitry Gutov's
 message of "Fri, 14 Apr 2023 02:26:03 +0300")
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN>
 <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN>
 <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
 <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
 <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN>
 <87h6u2y7uj.fsf@HIDDEN>
 <dc1e8642-6c03-4078-467c-73ac87f9eee0@HIDDEN>
 <871qkqmzit.fsf@HIDDEN>
 <61fd5d66-ca0b-f67d-df70-7906c32596de@HIDDEN>
 <87v8i1jr5v.fsf@HIDDEN>
 <6c64f601-0c28-2993-e55a-042419e1623e@HIDDEN>
 <87ttxkrtz5.fsf@HIDDEN>
 <ae5a5e5d-b03d-f9c1-1a61-85b4852cef5d@HIDDEN>
 <8735534c9l.fsf@HIDDEN>
 <f683235d-8397-4beb-1863-37352e3275ed@HIDDEN>
Date: Fri, 14 Apr 2023 01:04:18 +0100
Message-ID: <87o7nr2ut9.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org, Yuan Fu <casouri@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Dmitry Gutov <dmitry@HIDDEN> writes:

> On 14/04/2023 02:01, Jo=C3=A3o T=C3=A1vora wrote:

>> And you liked the result with no problems?  If so, that's a good
>> datapoint.  You will have seen "bouncing" of the echo area, I presume.
>
> I'm still vague on what your patch to elisp-mode.el does, but at least
> I'm not seeing any particular breakage.

My patch to elisp-mode.el that I showed Yuan Fu makes the two function
elisp-eldoc-funcall and elisp-eldoc-var-docstring send very rich
information to the *eldoc* buffer, but only summarized information to
the echo area, via the new :echo option in newer ElDoc 1.14.0.  This
allows users who have eldoc-documentation-compose as the strategy to
have the buffer on the side and see it update with full docstrings of
the things they are navigating, organized with a suitable separator.
This is why I suggested you try M-x eldoc-doc-buffer along with your
tests.

>> Elisp
>> in de facto an exception.
>
> Do we have some sort of statistics or overview on that issue? E.g. if
> we take only eldoc functions that are relatively old-ish (crossing out
> lsp-mode and eglot, I mean).

I'm not aware of many.  SLY has a eldoc-documentation-function that
prints multiline content, and SLY users have never complained about it.

>> So a decision has to be made on what we really want for Elisp's echo
>> area.  If that decision is "yes, we Elisp users, override the default
>> e-e-a-use-multiline-p", then it must somehow be recorded in code (hook
>> or not, I don't care).  If the decision is "OK, we accept a little
>> bouncing to 2-3 lines as per the e-e-a-u-multiline-p we have" then
>> nothing needs to change.
> This is something to ask the users, I think. Maybe by trying an
> experiment at some point.

The problem is that "asking users" is really an impossibility.  Best one
can do is present this in Emacs devel and hope the knees don't jerk too
much.  If you have better ideas, please put them forth and help
implement them.

>> Of course, in this argument I'm assuming that changing
>> eldoc-documentation-strategy to eldoc-documentation-compose is a good
>> thing, even a very good thing.  But even if it is just an "average"
>> thing for a couple of fanboys it shouldn't be blocked by the Elisp
>> exception.
>
> In the latter case, I would say that it probably should. But if we can
> streamline things for the enjoyment of everybody, that would be
> better.

Agreed.

> Or, if we change the default value of eldoc-documentation-strategy,
> someone with the diametrically opposite preferences from you would
> customize eldoc-echo-area-use-multiline-p to 1 and have that work in
> all modes. Or set it to 2, to have some middle ground. Etc.

OK I see.  Well I don't think it's a tragedy to do that with
emacs-lisp-mode-hook instead.  We're only talking about the people
familiar with "new" ElDoc features, which is arguably a very small
group, because -- unless they are using my patch to Yuan Fu -- these
features aren't yet very developed in Elisp-mode.  So the likelyhood of
that backlash is very low.

> I've described a scenario in the bug you filed (bug#62816) which uses
> company-mode. With a screencast. Again, in a basic default
> configuration of everything.

At first sight, I think that's primarily a problem in Company mode.
Let's continue in that bug.

> Personally, I'd rather people also tried to explore ways to show some
> of this info that doesn't put it all in Eldoc. There are a lot of
> examples of signature help interfaces that put it closer to the input.

If I understand your preference for "put it closer to the input", that'd
just be another function in eldoc-display-functions.  Yuan Fu's
eldoc-box is such an example.

[ BTW, today I've pushed a Flymake feature
flymake-show-diagnostics-at-end-of-line that puts diagnostics "closer to
the input" (though not via Eldoc, of course) ]

>>> (e.g. one without a flymake error and one
>>> with it), but at least the display should be stable while the same
>>> things are displayed.
>> Of course.  Agreed.  And as far as I understand, that has always
>> happened (modulo flickering, which is imperceptible in TTY Emacs).
> Why isn't this stuff noticeable on TTY? Lower refresh rate or
> something?

Beats me.

>> It could be the start of an idea that doesn't require changing
>> e-e-a-use-multiline-p, because if you use it and don't turn on Flymake
>> mode (which I suspect the older crowd doesn't), then it's like nothing
>> ever changed: no bouncing whatsoever.
>
> Yep. (As long as that "you" wasn't about myself in particular.)

Yes.  Read that as "...because if one uses it...".

>> Starting from there, we could
>> modify it so that this e-d-function only echoes and doesn't send
>> anything to the *eldoc* buffer, while elisp-eldoc-fucall and
>> elisp-eldoc-var-docstring to the inverse.
>
> That reminds me of some of my older messages where I insisted the
> eldoc-buffer thingy should have its own separate hook. Oh well.

To be clear, what I'm thinking of is to have _3/4_ functions in
elisp-mode's e-d-functions

  elisp-eldoc-funcall
  elisp-eldoc-var-docstring
  elisp-eldoc-failover-funcal-to-var
  flymake-eldoc-function (optional, depends on Flymake mode)

By default, in Emacs -Q, the first 2 send _nothing_ to echo (via the new
ElDoc :echo feature) are but send rich info to other
eldoc-display-functions.  The special
elisp-eldoc-failover-funcall-to-var sends _only_ to the echo area (and
only ever one line).

A customization variable elisp-eldoc-legacy-oneliners, set to t by
default, could control this.  If set to nil, then the first 2 would
behave as in Yuan Fu's patch and the third one would do nothing (or not
exist).

Then, I contend, eglot-documentation-strategy can "safely" be set to
eldoc-documentation-compose without annoying old timers.  And no
touching of eldoc-echo-area-use-multiline-p.

In my view, *eldoc* doesn't need any hook.  I don't remember or
understand this hook idea today, and I don't think I ever did.  But if
you do and think it's helpful to bring it back, you can always
illustrate it in code.

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 13 Apr 2023 23:26:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 13 19:26:15 2023
Received: from localhost ([127.0.0.1]:45044 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pn6KV-0006lI-23
	for submit <at> debbugs.gnu.org; Thu, 13 Apr 2023 19:26:15 -0400
Received: from new1-smtp.messagingengine.com ([66.111.4.221]:54867)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1pn6KR-0006ky-W3
 for 62029 <at> debbugs.gnu.org; Thu, 13 Apr 2023 19:26:13 -0400
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailnew.nyi.internal (Postfix) with ESMTP id A6D7D581FEC;
 Thu, 13 Apr 2023 19:26:06 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute1.internal (MEProxy); Thu, 13 Apr 2023 19:26:06 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding: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=fm1; t=
 1681428366; x=1681431966; bh=X4m1eWumGcaWZdgAdtUTuO9jaUtDdIhnEXG
 rxYtApPU=; b=GHzf7QAMfhOfz8vKy6bwLXhDK7kEd1a9lcyBJGIcQX/zr7HyzwT
 xEtkuFdkRUJY46ZofWGRjMi0y0w5pUa9+RPk2yhjK2Ix4HXcq2HTLk2vG2Ot0G49
 /Jxonwh08vqGe/7dU4XRTcUFT/MBB3FFyEQTra/+llADF+yQyhAszYSxbbRkxdIP
 3vOVk8nH/LTbeD4NKDR1N0TXQX1hxzArgHhHB6XmAQI/KVm1eFLauotOMbpXOOV8
 uo5ZsRPSLRvHX9gz8Oy/WZ49axlvUgYO/1Qj1ZrxdJNRJkbLfV24TPBD1H5bGw3a
 VnDWQW6rAs4MsJaUszQ0/CWyk6Jj64P/0zw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :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=
 1681428366; x=1681431966; bh=X4m1eWumGcaWZdgAdtUTuO9jaUtDdIhnEXG
 rxYtApPU=; b=BznSPK70W434KZ2YNaFPkLH+lXebcpEd/7FREhF3YqYGyVWzuSU
 Bx/5i5Fi1gtKmjByBEe6R/xCmR09j02rGLmvQdrmfo/uR1ED08+JRLtRyGKmG4cs
 d27YXPPjx9D9VmESaRPolgGWYmAPdvzNIoigr7RAc2JD5dA402a4i7MX13iynjfC
 HDLNI4JoFpP/IXsA654OnC1XNJRa5zPi/8yR7EFTsuWxqMsKpM9sLwM2uovFOq2k
 bMuZM4k/1VNI3DZMZI4o4jCE9XbTzfYANOLPAca3uvjBxnOdW6Z5bVphjHYxTowg
 Lcmi9Xoayflw/6AqqA13uURsVPu7l6N8cPg==
X-ME-Sender: <xms:jo84ZAstuf7xL_O9AWu-bwMp5wRHVo0KodCvw-qEUFW0A1_Wr9fbhQ>
 <xme:jo84ZNcrait0F7iKmvAyNZGustwo_zMtsQ-GQPLkDBya3U36Q2c5TIz6-Ch604cGn
 xSSMAblpt83g8Svsfk>
X-ME-Received: <xmr:jo84ZLwsLLN8yvB1jeWRhzF4AhMu6iCTGjtUx6zu2In90d5U-C7BfSXu71ZbS40E>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdekledgvddvucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
 uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
 cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtkeertddtfeejnecuhfhrohhmpeffmhhi
 thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth
 htvghrnhephfffheeljeffgeffueeghfekkedtfffgheejvdegjeettdduheeufffggfef
 jeehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug
 hmihhtrhihsehguhhtohhvrdguvghv
X-ME-Proxy: <xmx:jo84ZDNgM4SszIONHUMnY3B6Wleu_hd71Xw6mlxnRuHNrfJTsNaiOA>
 <xmx:jo84ZA-MlZfKXkmefLQI6lUcbzX53x_w2IGM3tfYHEGgOFnC3-S-vw>
 <xmx:jo84ZLW4PIeW-0xtMxY2psCa1Y3CaG5pmGQhwjgiTQN6M2lPuSVZNA>
 <xmx:jo84ZOkeFaM_JJLPHHeAheidMxr4mIi1F4iNmJkxf7M58FovStbOYQ>
Feedback-ID: i0e71465a:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 13 Apr 2023 19:26:04 -0400 (EDT)
Message-ID: <f683235d-8397-4beb-1863-37352e3275ed@HIDDEN>
Date: Fri, 14 Apr 2023 02:26:03 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
Content-Language: en-US
To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN> <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN> <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
 <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
 <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN> <87h6u2y7uj.fsf@HIDDEN>
 <dc1e8642-6c03-4078-467c-73ac87f9eee0@HIDDEN> <871qkqmzit.fsf@HIDDEN>
 <61fd5d66-ca0b-f67d-df70-7906c32596de@HIDDEN> <87v8i1jr5v.fsf@HIDDEN>
 <6c64f601-0c28-2993-e55a-042419e1623e@HIDDEN> <87ttxkrtz5.fsf@HIDDEN>
 <ae5a5e5d-b03d-f9c1-1a61-85b4852cef5d@HIDDEN> <8735534c9l.fsf@HIDDEN>
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <8735534c9l.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: -1.1 (-)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org, Yuan Fu <casouri@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.0 (--)

On 14/04/2023 02:01, João Távora wrote:
> Dmitry Gutov <dmitry@HIDDEN> writes:
> 
>>>> What is the reason to have a special value for Elisp again?
>>> Try to take it out and see for yourself.  It'd be a good test.
>>
>> That's what I did, hence the report.
> 
> You lost me.  What did you do exactly?  I'm assuming you:
> 
> 1. Applied the patch I gave to Yuan Fu
> 2. Set only eldoc-documentation-strategy to eldoc-documentation-compose

Pretty much. If I also did 3 (change the value of 
eldoc-echo-area-use-multiline-p in emacs-lisp-mode only), I wouldn't be 
able to reproduce most of the problematic behavior described previously.

> And you liked the result with no problems?  If so, that's a good
> datapoint.  You will have seen "bouncing" of the echo area, I presume.

I'm still vague on what your patch to elisp-mode.el does, but at least 
I'm not seeing any particular breakage.

>> Anyway, from what I remember, Elisp and "we've always done it this
>> way" has been used as an argument for not changing the default. But
>> nobody stated that Elisp is different from most other modes, and thus
>> should have forced settings different from the default.
> 
> There could be a misunderstanding here.  Note that the default for
> eldoc-echo-area-use-multiline-p _is_ practically "show a lot of lines if
> need be".  Whoever added it added it like so.  But it just so happens
> that Elisp has "forever" only ever produced a single line of doc to the
> echo area.  And that remains today, _unless_ e-d-strategy is set to
> e-d-compose.
> 
> So there are and have been conflicting settings for a long time.

In theory, yes.

> Elisp
> in de facto an exception.

Do we have some sort of statistics or overview on that issue? E.g. if we 
take only eldoc functions that are relatively old-ish (crossing out 
lsp-mode and eglot, I mean).

> So a decision has to be made on what we really want for Elisp's echo
> area.  If that decision is "yes, we Elisp users, override the default
> e-e-a-use-multiline-p", then it must somehow be recorded in code (hook
> or not, I don't care).  If the decision is "OK, we accept a little
> bouncing to 2-3 lines as per the e-e-a-u-multiline-p we have" then
> nothing needs to change.

This is something to ask the users, I think. Maybe by trying an 
experiment at some point.

> Of course, in this argument I'm assuming that changing
> eldoc-documentation-strategy to eldoc-documentation-compose is a good
> thing, even a very good thing.  But even if it is just an "average"
> thing for a couple of fanboys it shouldn't be blocked by the Elisp
> exception.

In the latter case, I would say that it probably should. But if we can 
streamline things for the enjoyment of everybody, that would be better.

>>> But this is all possibly too complicated.  I do think that just
>>> setting
>>>      (setq-local eldoc-echo-area-use-multiline-p 1)
>>> In Elisp-mode's major-mode function would have absolutely minimal
>>> impact.  It's a great time to experiment in master.
>>
>> At the moment people who don't like the default can easily change it
>> across modes. Setting the var in elisp-mode would change that.
> 
> What person with exactly what wishes are you describing.  Can you give
> an example?  What does that user want to do that he does today, but
> won't be able tomorrow if we install this change.

I imagine you or Yuan, or somebody with similar expectations but not 
either of you exactly would customize eldoc-echo-area-use-multiline-p to 
4, for example. And eldoc-documentation-strategy - to 
eldoc-documentation-compose.

Or, if we change the default value of eldoc-documentation-strategy, 
someone with the diametrically opposite preferences from you would 
customize eldoc-echo-area-use-multiline-p to 1 and have that work in all 
modes. Or set it to 2, to have some middle ground. Etc.

>>>> And the thing with window jumping/blinking seems common enough across
>>>> the modes.
>>> We have to define the concepts.  I thought what was hitherto called
>>> "bouncing" merely referred to the fact that sometimes ElDoc displays 1
>>> line, and sometimes more.  And that causes the echo are to be resized.
>>
>> Let's call "bouncing" the occurrence when the windows resize,
>> frequently enough. In this case, due to the echo area resizing.
> 
> OK.  Though "frequently enough" is very subjective.  I'd prefer to call
> "bouncing" to _any_ ElDoc-motivated resizing.
> 
>> And "flickering" is when the echo area contents change, sometimes
>> twice per user command (first to blank, and then either to new
>> message, or even to the previous one).
> 
> OK.  I follow.  This has, AFAICT, been completely erradicated.  If you
> still see it, please describe a reproducer.

I've described a scenario in the bug you filed (bug#62816) which uses 
company-mode. With a screencast. Again, in a basic default configuration 
of everything.

>>> Is this concept of "bouncing" acceptable to you in elisp-mode?  Do you
>>> think it will ever be accepted by other Emacs lisp developers that
>>> sometimes, when standing over a symbol with both a function and variable
>>> definition the two things will be documented in two separate lines?  I
>>> assume it won't, thus the Elisp setting of
>>> eldoc-echo-area-use-multiline-p to 1.
>> I suggest you put it up for the discussion on emacs-devel
> 
> I'll only bring it up if I when I gather 2 or 3 devs with a good
> perspective of what ElDoc is today for Elisp and also modes other than
> Elisp.  There have to be alternatives on offer, so the effort doesn't
> fizzle when someone obstinately (and predictably) refuses even the
> smallest echo-area resizing.  If anyone have better ideas leading to a
> eldoc-documentation-strategy being e-d-compose everywhere, I'm all ears.
> That's ultimately what I'm interested in, because it enables a rich
> *eldoc* buffer experience by default.  Mickey's article helps explain
> this.

Personally, I'd rather people also tried to explore ways to show some of 
this info that doesn't put it all in Eldoc. There are a lot of examples 
of signature help interfaces that put it closer to the input.

But for the time being, Eldoc could be an intermediate step.

The "hover info" is fine for Eldoc OTOH, I guess.

>> after we ensure that the flickering and bouncing situation has
>> improved.
> 
> You mean only "flickering" here, right?  "Bouncing" is by design if
> e-e-a-use-multiline-p is t and e-d-strategy is e-d-compose.
> 
>> In particular, bouncing shouldn't happen on every user input.
> 
> I don't follow.  If it did, it'd be "flickering", according to your
> definition.

I'd say bouncing is about the echo area bounds, and flickering is about 
the contents.

>> Echo area resizing is probably unavoidable when moving point between
>> totally different contexts
> 
> Exactly.  That's "bouncing", to me.  Is there a third concept to you?  I
> hope not.

That's also "bouncing", but with a passably low frequency, in my book. 
Bouncing hurts the most when it happens with every button press (or 
close to that).

>> (e.g. one without a flymake error and one
>> with it), but at least the display should be stable while the same
>> things are displayed.
> 
> Of course.  Agreed.  And as far as I understand, that has always
> happened (modulo flickering, which is imperceptible in TTY Emacs).

Why isn't this stuff noticeable on TTY? Lower refresh rate or something?

>> E.g. personally, I would perhaps prefer it there was a failover from
>> elisp-eldoc-funcall to elisp-eldoc-var-docstring, but that was
>> composed in parallel with flymake-eldoc-function, to also show the
>> compilation error when available. But that doesn't seem like it is
>> provided by any of the existing options.
> 
> Intersting.  It's trivial to do that failover function.
> 
>    (defun elisp-eldoc-failover-function-to-var (callback &rest _ignored)
>      (or (elisp-eldoc-funcall callback)
>          (elisp-eldoc-var-docstring callback)))

Cool. Which of the functions are used, could be decided by a pref in 
elisp-mode.

And for flymake, there could be a preference for how many (maximum) 
lines of errors to show at once.

> It could be the start of an idea that doesn't require changing
> e-e-a-use-multiline-p, because if you use it and don't turn on Flymake
> mode (which I suspect the older crowd doesn't), then it's like nothing
> ever changed: no bouncing whatsoever.

Yep. (As long as that "you" wasn't about myself in particular.)

> Starting from there, we could
> modify it so that this e-d-function only echoes and doesn't send
> anything to the *eldoc* buffer, while elisp-eldoc-fucall and
> elisp-eldoc-var-docstring to the inverse.

That reminds me of some of my older messages where I insisted the 
eldoc-buffer thingy should have its own separate hook. Oh well.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 13 Apr 2023 23:00:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 13 19:00:03 2023
Received: from localhost ([127.0.0.1]:45017 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pn5v8-00068f-8S
	for submit <at> debbugs.gnu.org; Thu, 13 Apr 2023 19:00:03 -0400
Received: from mail-wr1-f51.google.com ([209.85.221.51]:40620)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pn5v5-00067f-8u
 for 62029 <at> debbugs.gnu.org; Thu, 13 Apr 2023 19:00:00 -0400
Received: by mail-wr1-f51.google.com with SMTP id s2so12449273wra.7
 for <62029 <at> debbugs.gnu.org>; Thu, 13 Apr 2023 15:59:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1681426793; x=1684018793;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=HYaQVHWEWBWERf2aNVqWZ+kvd6z2c6mdZJpmHeJt/cE=;
 b=KxWEXl2RUcxVvidOA5T2MV6NfXY69YYiZbEOgTmzRkQw3Wthh/ER1cPCKdZetBwkLI
 cD48wmIOOUC9O0wrAiq7B2gjTVGpjXqkKQ4XTq94ih5DSuZUgt3FkV93WMHGGXefDDDa
 MFrzQC9oc9AMxn5rPYJNUja27wNdgdwsTu9gu/bn+cIoH7NR0+KfFtVoK8eMjQAIlLZh
 BHnt2+i+BTihoGh5IHnY0XCAjASPA6xN1bzejYHQi87dZKIwrKIy3qIg+xc2C5y1xlU1
 N3Ec8syATnZIYK44x0qjYNXCPrYIyKnIdCJ1mdQXmucmajjHH+4SYkM7Bdn7Z8QneGGw
 qkQQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1681426793; x=1684018793;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=HYaQVHWEWBWERf2aNVqWZ+kvd6z2c6mdZJpmHeJt/cE=;
 b=WVE/pjufb11Q8CzdUWoPUliLh/2QLQt/o3CNYIUyvVvbusziF/cjq48konS+F40Uww
 q59R5On6R9vI4qVnMu9rNGJdUpn9PHtgdmNNtZI3DCKz/ndl9WOuttXPoGHMsUPnLZZp
 JA4rgj3ImvvJHlicK3a+86oJPlA0e5nK8r83Bqk0eEN76e3NE/D6TUZCuo/i/kfwJw6W
 V7x68QYl2BFcg4HoNAfJjkS93DnvDJAVhY8H6d7T1SHV+h9K/UlBCxY63CA8wyrvFB64
 58ZGNk2tvNidlLnKhutrPZwEp4TKuDMSARPsOozDH3TLLqhxJZXrbov231jfS6dMyB5/
 uzyA==
X-Gm-Message-State: AAQBX9e0y6CDIuyAbByPyaCpF0u1I/mWRfHcXrgl1M5aDo+XpA1Cbh+P
 11huUqmXDVqpH4X80d5HEc+uK6OpyLU=
X-Google-Smtp-Source: AKy350aa7QNKAPUG4XeGH9retB54PbTDYeGcnDkFM/kqx4932haJmexYNnbG3ap1zqsMFgnHQ8I9bQ==
X-Received: by 2002:adf:ef09:0:b0:2e5:8874:d883 with SMTP id
 e9-20020adfef09000000b002e58874d883mr5393529wro.8.1681426792813; 
 Thu, 13 Apr 2023 15:59:52 -0700 (PDT)
Received: from krug ([87.196.73.56]) by smtp.gmail.com with ESMTPSA id
 c8-20020a05600c0a4800b003ee5fa61f45sm6662754wmq.3.2023.04.13.15.59.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Apr 2023 15:59:52 -0700 (PDT)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
In-Reply-To: <ae5a5e5d-b03d-f9c1-1a61-85b4852cef5d@HIDDEN> (Dmitry Gutov's
 message of "Fri, 14 Apr 2023 00:53:29 +0300")
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN>
 <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN>
 <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
 <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
 <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN>
 <87h6u2y7uj.fsf@HIDDEN>
 <dc1e8642-6c03-4078-467c-73ac87f9eee0@HIDDEN>
 <871qkqmzit.fsf@HIDDEN>
 <61fd5d66-ca0b-f67d-df70-7906c32596de@HIDDEN>
 <87v8i1jr5v.fsf@HIDDEN>
 <6c64f601-0c28-2993-e55a-042419e1623e@HIDDEN>
 <87ttxkrtz5.fsf@HIDDEN>
 <ae5a5e5d-b03d-f9c1-1a61-85b4852cef5d@HIDDEN>
Date: Fri, 14 Apr 2023 00:01:58 +0100
Message-ID: <8735534c9l.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org, Yuan Fu <casouri@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Dmitry Gutov <dmitry@HIDDEN> writes:

>>> What is the reason to have a special value for Elisp again?
>> Try to take it out and see for yourself.  It'd be a good test.
>
> That's what I did, hence the report.

You lost me.  What did you do exactly?  I'm assuming you:

1. Applied the patch I gave to Yuan Fu
2. Set only eldoc-documentation-strategy to eldoc-documentation-compose

And you liked the result with no problems?  If so, that's a good
datapoint.  You will have seen "bouncing" of the echo area, I presume.

> Anyway, from what I remember, Elisp and "we've always done it this
> way" has been used as an argument for not changing the default. But
> nobody stated that Elisp is different from most other modes, and thus
> should have forced settings different from the default.

There could be a misunderstanding here.  Note that the default for
eldoc-echo-area-use-multiline-p _is_ practically "show a lot of lines if
need be".  Whoever added it added it like so.  But it just so happens
that Elisp has "forever" only ever produced a single line of doc to the
echo area.  And that remains today, _unless_ e-d-strategy is set to
e-d-compose.

So there are and have been conflicting settings for a long time.  Elisp
in de facto an exception.  OT1H e-e-a-use-multiline-p says "show a lot
of lines, no problem" by default, OTOH if you show more than one line in
Elisp mode _only_, Elisp modes will think you're making a breaking
change and disrespecting their ElDoc echo area expectations, when in
fact you're not.

So a decision has to be made on what we really want for Elisp's echo
area.  If that decision is "yes, we Elisp users, override the default
e-e-a-use-multiline-p", then it must somehow be recorded in code (hook
or not, I don't care).  If the decision is "OK, we accept a little
bouncing to 2-3 lines as per the e-e-a-u-multiline-p we have" then
nothing needs to change.

Of course, in this argument I'm assuming that changing
eldoc-documentation-strategy to eldoc-documentation-compose is a good
thing, even a very good thing.  But even if it is just an "average"
thing for a couple of fanboys it shouldn't be blocked by the Elisp
exception.

>> Now, Elisp has three different ElDoc backends, two of them added to
>> eldoc-documentation-functions by default, which already contains one for
>> flymake-mode (if that is enabled).
>
> Doesn't sound too different from the situation with Eglot.

It doesn't, sure.  But in when you turn on Eglot mode you don't have
this expectation of single-lineness, and in Elisp mode you do (or at
some old-timers do, I assume).

>> So the patch I've given you is the only way that I know that:
>>    (setq-default eldoc-documentation-strategy
>> 'eldoc-documentation-compose)
>> can coexist with what I understand to be a 1-line-echo-in-elisp
>> requirement.  This is the main point: that value is a vastly better
>> default for the e-d-strategy variable, and not just in my opinion [1].
>> I was under the impression the 1-line-echo-in-elisp is a hard
>> requirement, especially to the old-timers.  I'd love to be mistaken.
>
> I can't answer this one way or the other myself. There are some
> backward compatibility expectations, probably, and some expectations
> of stability. But these probably extend to all modes (which have also
> lived with the given defaults until now), not just Elisp.

I see the change of e-d-strategy's default to e-d-compose has having 0
impact on the "expectations" of any other major-mode _other_ than Elisp.
If you know some other mode, please tell me.

>> But let's say I'm not.  Then there's no actual "obvious downside" as you
>> state.  Let's say the user does customize
>> 'eldoc-echo-area-use-multiline-p' away from its default infinite [2]
>> value to '42'.  It shouldn't have any effect in elisp-mode because of
>> the hard requirement.  It won't have today and won't have after my
>> proposed change.  And if the user does want to override that requirement
>> and see lots of echo lines in Elisp, there are hooks for that.  And if
>> the user doesn't like hooks (but why is she doing Elisp then?) then
>> there could be an extra customization variable (not my cup of tea, but I
>> won't mind).
>> But this is all possibly too complicated.  I do think that just
>> setting
>>     (setq-local eldoc-echo-area-use-multiline-p 1)
>> In Elisp-mode's major-mode function would have absolutely minimal
>> impact.  It's a great time to experiment in master.
>
> At the moment people who don't like the default can easily change it
> across modes. Setting the var in elisp-mode would change that.

What person with exactly what wishes are you describing.  Can you give
an example?  What does that user want to do that he does today, but
won't be able tomorrow if we install this change.

>>> And the thing with window jumping/blinking seems common enough across
>>> the modes.
>> We have to define the concepts.  I thought what was hitherto called
>> "bouncing" merely referred to the fact that sometimes ElDoc displays 1
>> line, and sometimes more.  And that causes the echo are to be resized.
>
> Let's call "bouncing" the occurrence when the windows resize,
> frequently enough. In this case, due to the echo area resizing.

OK.  Though "frequently enough" is very subjective.  I'd prefer to call
"bouncing" to _any_ ElDoc-motivated resizing.

> And "flickering" is when the echo area contents change, sometimes
> twice per user command (first to blank, and then either to new
> message, or even to the previous one).

OK.  I follow.  This has, AFAICT, been completely erradicated.  If you
still see it, please describe a reproducer.

>> Is this concept of "bouncing" acceptable to you in elisp-mode?  Do you
>> think it will ever be accepted by other Emacs lisp developers that
>> sometimes, when standing over a symbol with both a function and variable
>> definition the two things will be documented in two separate lines?  I
>> assume it won't, thus the Elisp setting of
>> eldoc-echo-area-use-multiline-p to 1.
> I suggest you put it up for the discussion on emacs-devel

I'll only bring it up if I when I gather 2 or 3 devs with a good
perspective of what ElDoc is today for Elisp and also modes other than
Elisp.  There have to be alternatives on offer, so the effort doesn't
fizzle when someone obstinately (and predictably) refuses even the
smallest echo-area resizing.  If anyone have better ideas leading to a
eldoc-documentation-strategy being e-d-compose everywhere, I'm all ears.
That's ultimately what I'm interested in, because it enables a rich
*eldoc* buffer experience by default.  Mickey's article helps explain
this.

> after we ensure that the flickering and bouncing situation has
> improved.

You mean only "flickering" here, right?  "Bouncing" is by design if
e-e-a-use-multiline-p is t and e-d-strategy is e-d-compose.

> In particular, bouncing shouldn't happen on every user input.=20

I don't follow.  If it did, it'd be "flickering", according to your
definition.

> Echo area resizing is probably unavoidable when moving point between
> totally different contexts=20

Exactly.  That's "bouncing", to me.  Is there a third concept to you?  I
hope not.

> (e.g. one without a flymake error and one
> with it), but at least the display should be stable while the same
> things are displayed.

Of course.  Agreed.  And as far as I understand, that has always
happened (modulo flickering, which is imperceptible in TTY Emacs).

> And regarding flickering, we can try to ensure that the change in the
> echo are happens just once per user command, at most. No flickering to
> blank, if we can help it.

That's taken care of, at least AFAICT.=20=20

> It seems you've reproduced it already and even pushed out a fix to master.
>
> I believe I've mentioned these things a few times when the change in
> eldoc-documentation-strategy. They seemed obvious enough not to
> warrant an extra detailed explanation, so I guess that's on me.

A little Emacs -Q goes a long way, at least for me.  I'm vaguely recall
reading these complaints, but they never rang a bell and i couldn't see
them, so I just assumed they were misunderstandings and forgot.

> E.g. personally, I would perhaps prefer it there was a failover from
> elisp-eldoc-funcall to elisp-eldoc-var-docstring, but that was
> composed in parallel with flymake-eldoc-function, to also show the
> compilation error when available. But that doesn't seem like it is
> provided by any of the existing options.

Intersting.  It's trivial to do that failover function.

  (defun elisp-eldoc-failover-function-to-var (callback &rest _ignored)
    (or (elisp-eldoc-funcall callback)
        (elisp-eldoc-var-docstring callback)))

It could be the start of an idea that doesn't require changing
e-e-a-use-multiline-p, because if you use it and don't turn on Flymake
mode (which I suspect the older crowd doesn't), then it's like nothing
ever changed: no bouncing whatsoever.  Starting from there, we could
modify it so that this e-d-function only echoes and doesn't send
anything to the *eldoc* buffer, while elisp-eldoc-fucall and
elisp-eldoc-var-docstring to the inverse.

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 13 Apr 2023 22:13:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 13 18:13:42 2023
Received: from localhost ([127.0.0.1]:44984 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pn5CH-0004xD-VB
	for submit <at> debbugs.gnu.org; Thu, 13 Apr 2023 18:13:42 -0400
Received: from new3-smtp.messagingengine.com ([66.111.4.229]:60487)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1pn5CC-0004ww-Rc
 for 62029 <at> debbugs.gnu.org; Thu, 13 Apr 2023 18:13:40 -0400
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailnew.nyi.internal (Postfix) with ESMTP id 86D08582404;
 Thu, 13 Apr 2023 18:13:31 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Thu, 13 Apr 2023 18:13:31 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding: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=fm1; t=
 1681424011; x=1681427611; bh=yNtDe85wVcRlsCmQVDSnaITWLCXrrVx7/el
 t3IP12E4=; b=jR49CqM0Vb9BAVxajhnwaQm5rTLaUIRm58zqd3s9k4AtkKNmt7f
 yTG0+hyculkv+ROfIwtdZXGKk4hsOUOthGYLZZkUygLQjPsI2U63G7oW7nhKt9El
 Nj2S8o7aJtlaJCqNrNigUAvKoUF6Ik4Jm7ujzgT0VNM6ru6z2xIo9s5tkSgmhgYj
 HZUyOWuR8B2cb7+dpo+rl+jJkbvd6TSVXXR2UYlZxuQC8TCcuDicta2V1WGIxz/l
 53aAKBinV2UUhi1Q9LKugqQk5+JkO08rD7uck8pA+8BgNXeOb1ufZ1TaeG9yB8ef
 r9nCUwgHG9f+Y5za/NZKASbFSmZapqjsdvw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :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=
 1681424011; x=1681427611; bh=yNtDe85wVcRlsCmQVDSnaITWLCXrrVx7/el
 t3IP12E4=; b=iG402SoUUMWQv9qrEzR/kQ8Rbxc9Z79H8cO139QUscFshKT9tqd
 iAZTwMYbFZMD41mWBEyd7HTMMrDD/iIlov8ve0kWAmBwZKCRk+DFeatf7krGNmLb
 VDvYg/69Ys3buaYcZCrg7zNDVECrpSCQ6xnw/34+AGoZyzX03OgurMjEYCeexC3B
 6ta9SN1kEEvei64+VvTbt2ldNUwNfT76k1Hl0j6oPSZjSncrtnf5ylQbIYFdOhYh
 mI2l4qyyQWPLf4q4aVE/xmx6irOqK/oSvfX02rHj/xb4e1ge676pgFHq92AJbndd
 nL0iXsu7HcouItNaOuamKpaK9VEWBEKSxbw==
X-ME-Sender: <xms:i344ZAxwaf2hYAaaVt8lOKPbN1ccUXr9YPkK72QftOfQ4SQWqkfp6w>
 <xme:i344ZESZlZvWl1s8rHpvmyt2hcyidS5gNk1IHHxz-lMCZpv8Bb0_htQhrULlfwLGW
 v_DN3fT5gt7hUrZkro>
X-ME-Received: <xmr:i344ZCWydeCHjhgfLiC-WSpZiDPcbd1k9Ia58dJdY56RTMjepZNHM71G_28nt8yU>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdekledgtdejucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
 uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
 cujfgurhepkfffgggfuffhvfevfhgjtgfgsehtkeertddtfeejnecuhfhrohhmpeffmhhi
 thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth
 htvghrnhephfeftdejleetffelhfffteefgfeggfejgfdtudeuvedttdetvdelffekvdeg
 udetnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug
 hmihhtrhihsehguhhtohhvrdguvghv
X-ME-Proxy: <xmx:i344ZOiDKeW8rgR-MFd61jAKI7pqU1N3udPwzOO1cqYIwO5Dm0Tg3w>
 <xmx:i344ZCBeU-WCLqcEsJCkmP85sv8asW5q_GfGpGS_3OAayPyj1mC3Bw>
 <xmx:i344ZPJvdpGqbcKScDk5_hkMb0sKXj1Hw0qxvwcZ5SOXfHOeyYYKnA>
 <xmx:i344ZD4kJpc7mpRC6J4Lu54XfuPV69Xo5G54E1nM198GU34gCOPIJA>
Feedback-ID: i0e71465a:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 13 Apr 2023 18:13:30 -0400 (EDT)
Message-ID: <80746054-e2c2-f2d9-fa59-292cb8d26ada@HIDDEN>
Date: Fri, 14 Apr 2023 01:13:28 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN> <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN> <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
 <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
 <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN> <87h6u2y7uj.fsf@HIDDEN>
 <dc1e8642-6c03-4078-467c-73ac87f9eee0@HIDDEN> <871qkqmzit.fsf@HIDDEN>
 <61fd5d66-ca0b-f67d-df70-7906c32596de@HIDDEN> <87v8i1jr5v.fsf@HIDDEN>
 <6c64f601-0c28-2993-e55a-042419e1623e@HIDDEN> <87ttxkrtz5.fsf@HIDDEN>
 <ae5a5e5d-b03d-f9c1-1a61-85b4852cef5d@HIDDEN>
In-Reply-To: <ae5a5e5d-b03d-f9c1-1a61-85b4852cef5d@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: -1.0 (-)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org, Yuan Fu <casouri@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.1 (--)

On 14/04/2023 00:53, Dmitry Gutov wrote:
>> Is this concept of "bouncing" acceptable to you in elisp-mode?  Do you
>> think it will ever be accepted by other Emacs lisp developers that
>> sometimes, when standing over a symbol with both a function and variable
>> definition the two things will be documented in two separate lines?  I
>> assume it won't, thus the Elisp setting of
>> eldoc-echo-area-use-multiline-p to 1.
> 
> I suggest you put it up for the discussion on emacs-devel after we 
> ensure that the flickering and bouncing situation has improved.

E.g. personally, I would perhaps prefer it there was a failover from 
elisp-eldoc-funcall to elisp-eldoc-var-docstring, but that was composed 
in parallel with flymake-eldoc-function, to also show the compilation 
error when available. But that doesn't seem like it is provided by any 
of the existing options.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 13 Apr 2023 21:53:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 13 17:53:41 2023
Received: from localhost ([127.0.0.1]:44969 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pn4su-0004Nq-CZ
	for submit <at> debbugs.gnu.org; Thu, 13 Apr 2023 17:53:40 -0400
Received: from new3-smtp.messagingengine.com ([66.111.4.229]:47339)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1pn4sr-0004Nc-Hh
 for 62029 <at> debbugs.gnu.org; Thu, 13 Apr 2023 17:53:39 -0400
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailnew.nyi.internal (Postfix) with ESMTP id 253E3582409;
 Thu, 13 Apr 2023 17:53:32 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Thu, 13 Apr 2023 17:53:32 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding: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=fm1; t=
 1681422812; x=1681426412; bh=186FScAHF36HNaZL63o1SKRKuKLtlSLpocz
 Yh9FJrtw=; b=FLd61ayoM6LgWpswQ5MN9kArTQ/U+qqfMnvy06zDp4lyXJbncwc
 Do02K2XzsRnJrnG8uGrmbBsbZrS4TTFMhmxEWJ+O68GjBEXkB66C9UyjbMTcixbW
 p7dgDokF+DGE8M7va1vz0PmukV9+90AhJXWjJ8C8KKo48imsWdMkDiwWrpSmlqyb
 PniEeEFRTCgzUUnk9raBEGSMJnWTudRVjSRPNfzdJ1uZV/BVcBG3+AF6VoHkPhs3
 cXSq08+ilCqj9jmpJotShGLYJu47sT2teIS0g8eaTtGMFPwcS2vxi5gxZs4orSPX
 u37bYFVXDso6LHCrQb+/qATrjTHe9apgt3w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :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=
 1681422812; x=1681426412; bh=186FScAHF36HNaZL63o1SKRKuKLtlSLpocz
 Yh9FJrtw=; b=SwdqcmZYRFTQDR4Z94rqYnhNY8+zJOKEjDXMvXT+fQpxZt59Lhn
 5pwBlfk2m6YxOLCRCj/81vyiUJXsmQbKxmNHbxnxFFXX4z3bpchQRuFugha1CIxA
 HKTAHR1lm7MQ0T/qlV/rWF25wqInpbcmU9Hxh0/HKRP3u5YvwGGvSsQYDHM+ohsc
 aUBaWP9xwVH9mNte/Ez+0NGrfaEYhXdc2yPYY/k3siuU2VKQoOhAkraEhRlYZJmz
 2K+gfEAHug3TUuqMhlKkin6ZPKhRP6VY4Qp/LC3UUMoaBJEiL7P/qSAL0x+ARIRd
 k7V3EHmi/3u+bb2hPOswTsPDaDobcMBunxA==
X-ME-Sender: <xms:23k4ZAWP8shgvD4r5XmxzOI_9sByC0ig2mY-W9Son-B-z9tqnO06aw>
 <xme:23k4ZEl_V_K39HFC9SzrH1NnR60BZaERIGv6Ey54dNtJNE4Yr46yqP-V2yPnGIObc
 cisZ6vdHxTvtfJNnHY>
X-ME-Received: <xmr:23k4ZEYgSWjXVHtMwJDeSuqUz4mIZGd0OUHPWpH7s2rQuCRDHxgE9OlTKpw12SWu>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdekledgtdefucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
 uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
 cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtkeertddtfeejnecuhfhrohhmpeffmhhi
 thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth
 htvghrnhephfffheeljeffgeffueeghfekkedtfffgheejvdegjeettdduheeufffggfef
 jeehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug
 hmihhtrhihsehguhhtohhvrdguvghv
X-ME-Proxy: <xmx:23k4ZPUNjdPFz5P05MVAKN8KbqesIMT6sI7chKv1prVchgShl7FNkA>
 <xmx:23k4ZKnTuF1WHYmY5esWlYcTQPO4S_EwQxYYiM_1khHVBF0Sh-9Fqg>
 <xmx:23k4ZEeRjiSefamgnRSpICugB0UAf2AGc1LM2Wqpqj77Uj1fKFV8mg>
 <xmx:23k4ZOsCmisAMiYN_JdM5jN8DLBrtM7fmRhb8w4LB4V3xTUxhaFuRA>
Feedback-ID: i0e71465a:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 13 Apr 2023 17:53:30 -0400 (EDT)
Message-ID: <ae5a5e5d-b03d-f9c1-1a61-85b4852cef5d@HIDDEN>
Date: Fri, 14 Apr 2023 00:53:29 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
Content-Language: en-US
To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN> <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN> <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
 <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
 <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN> <87h6u2y7uj.fsf@HIDDEN>
 <dc1e8642-6c03-4078-467c-73ac87f9eee0@HIDDEN> <871qkqmzit.fsf@HIDDEN>
 <61fd5d66-ca0b-f67d-df70-7906c32596de@HIDDEN> <87v8i1jr5v.fsf@HIDDEN>
 <6c64f601-0c28-2993-e55a-042419e1623e@HIDDEN> <87ttxkrtz5.fsf@HIDDEN>
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <87ttxkrtz5.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: -1.1 (-)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org, Yuan Fu <casouri@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.1 (--)

On 13/04/2023 12:50, João Távora wrote:
> Dmitry Gutov <dmitry@HIDDEN> writes:
> 
>>>> I have applied it. What should I be looking at?
>>> Right. That's a good sign it itself.  Here, have some more patch:
>>>     (setq-default eldoc-documentation-strategy
>>> 'eldoc-documentation-compose)
>>>     (add-hook 'emacs-lisp-mode-hook
>>>       (lambda () (setq-local eldoc-echo-area-use-multiline-p 1)))
>>> Then go on with elisp your life and maybe peek into M-x
>>> eldoc-doc-buffer
>>> once in a while.
>>
>> What is the reason to have a special value for Elisp again?
> 
> Try to take it out and see for yourself.  It'd be a good test.

That's what I did, hence the report.

>> One obvious downside is that if the user customizes it to some
>> different value (e.g. 2, limiting the height of the window below), it
>> won't be honored by Elisp without some extra work on the part of the
>> user. So if we want to do that, we'd need some strong argument for why
>> Elisp is different from everyone else.
> 
> Apparently it is.  The working assumption here is that Elisp users never
> ever want to see more than one line of ElDoc documentation in the mode
> line, even though the default value of eldoc-echo-area-use-multiline-p
> is t [2] .  These users, presumably, won't mind and could even
> appreciate larger snippets of documentation in the *eldoc* buffer and in
> Yuan's eldoc-box popup, though.  We're currently working on the pretty
> formatting of this buffer, and this bug you're reading is primarily
> about that.

We might discuss and re-consider that.

Anyway, from what I remember, Elisp and "we've always done it this way" 
has been used as an argument for not changing the default. But nobody 
stated that Elisp is different from most other modes, and thus should 
have forced settings different from the default.

> Now, Elisp has three different ElDoc backends, two of them added to
> eldoc-documentation-functions by default, which already contains one for
> flymake-mode (if that is enabled).

Doesn't sound too different from the situation with Eglot.

> So the patch I've given you is the only way that I know that:
> 
>    (setq-default eldoc-documentation-strategy 'eldoc-documentation-compose)
> 
> can coexist with what I understand to be a 1-line-echo-in-elisp
> requirement.  This is the main point: that value is a vastly better
> default for the e-d-strategy variable, and not just in my opinion [1].
> 
> I was under the impression the 1-line-echo-in-elisp is a hard
> requirement, especially to the old-timers.  I'd love to be mistaken.

I can't answer this one way or the other myself. There are some backward 
compatibility expectations, probably, and some expectations of 
stability. But these probably extend to all modes (which have also lived 
with the given defaults until now), not just Elisp.

> But let's say I'm not.  Then there's no actual "obvious downside" as you
> state.  Let's say the user does customize
> 'eldoc-echo-area-use-multiline-p' away from its default infinite [2]
> value to '42'.  It shouldn't have any effect in elisp-mode because of
> the hard requirement.  It won't have today and won't have after my
> proposed change.  And if the user does want to override that requirement
> and see lots of echo lines in Elisp, there are hooks for that.  And if
> the user doesn't like hooks (but why is she doing Elisp then?) then
> there could be an extra customization variable (not my cup of tea, but I
> won't mind).
> 
> But this is all possibly too complicated.  I do think that just setting
> 
>     (setq-local eldoc-echo-area-use-multiline-p 1)
> 
> In Elisp-mode's major-mode function would have absolutely minimal
> impact.  It's a great time to experiment in master.

At the moment people who don't like the default can easily change it 
across modes. Setting the var in elisp-mode would change that.

>> And the thing with window jumping/blinking seems common enough across
>> the modes.
> 
> We have to define the concepts.  I thought what was hitherto called
> "bouncing" merely referred to the fact that sometimes ElDoc displays 1
> line, and sometimes more.  And that causes the echo are to be resized.

Let's call "bouncing" the occurrence when the windows resize, frequently 
enough. In this case, due to the echo area resizing.

And "flickering" is when the echo area contents change, sometimes twice 
per user command (first to blank, and then either to new message, or 
even to the previous one).

> Is this concept of "bouncing" acceptable to you in elisp-mode?  Do you
> think it will ever be accepted by other Emacs lisp developers that
> sometimes, when standing over a symbol with both a function and variable
> definition the two things will be documented in two separate lines?  I
> assume it won't, thus the Elisp setting of
> eldoc-echo-area-use-multiline-p to 1.

I suggest you put it up for the discussion on emacs-devel after we 
ensure that the flickering and bouncing situation has improved.

In particular, bouncing shouldn't happen on every user input. Echo area 
resizing is probably unavoidable when moving point between totally 
different contexts (e.g. one without a flymake error and one with it), 
but at least the display should be stable while the same things are 
displayed.

And regarding flickering, we can try to ensure that the change in the 
echo are happens just once per user command, at most. No flickering to 
blank, if we can help it.

>> But in Elisp -- even if I just move the cursor with arrows or C-f/C-b,
>> 1 times out of 2 the echo are window will blink.
>>
>> It's trivially reproduced even with 'emacs -Q': just add somewhere
>> inside an Elisp buffer:
>>
>>    (remove-hook asd)
>>
>> when flymake-mode is enabled and eldoc-documentation-strategy is
>> 'eldoc-documentation-compose, and eldoc-echo-area-use-multiline-p is
>> not 1, and move around 'asd' with C-f and C-b.
>>
>> Is that bug Elisp-specific? That would seem odd.
> 
> You seem to be describing a separate problem that I never noticed or was
> bothered with (and I do use company and multi-line echo areas
> liberally).  I'll try your recipe but would you describe exactly what to
> look for?

It seems you've reproduced it already and even pushed out a fix to master.

I believe I've mentioned these things a few times when the change in 
eldoc-documentation-strategy. They seemed obvious enough not to warrant 
an extra detailed explanation, so I guess that's on me.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 13 Apr 2023 10:46:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 13 06:46:49 2023
Received: from localhost ([127.0.0.1]:42597 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pmuTY-0001va-JV
	for submit <at> debbugs.gnu.org; Thu, 13 Apr 2023 06:46:49 -0400
Received: from mail-oa1-f50.google.com ([209.85.160.50]:42835)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pmuTW-0001vJ-2t
 for 62029 <at> debbugs.gnu.org; Thu, 13 Apr 2023 06:46:47 -0400
Received: by mail-oa1-f50.google.com with SMTP id
 586e51a60fabf-18782426c4bso4119527fac.9
 for <62029 <at> debbugs.gnu.org>; Thu, 13 Apr 2023 03:46:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1681382800; x=1683974800;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=nWU5HPoTjSjUCkneUjRk8p7iBIMM0uc353bIoOKWeM0=;
 b=nZ/AOFr8Gf4Ri8JlbZBIFI6yTAUbiwZ2zrW8r0dhfKwbuKlBsnAfY+pJtiNnTUgaKI
 cWZOHFxHh6mhXZEhtmeC+7gKXxZmFmBSAOsFsGMNdYRBDyt7f9AD7FNVgC4ZC0J6+kch
 1gMgjoAB/bKV5IKqtdJynx91DanIi46GO1kD16biKjHg1o/ydw8ot1fuHP4sOA1X14H9
 tB0Bzj+eXYHluH4uWEUNJWeibITTxK5d4TcX9LVJVU60aB6RV8LQAQPzZ4imvo4GtVxo
 yXI3ZJtue2CEuqwaYiDtzTF/J6xpLjeeAxb3pUsaLue9iR2n+y2km7CaooQIKJQPcrxx
 GhHA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1681382800; x=1683974800;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=nWU5HPoTjSjUCkneUjRk8p7iBIMM0uc353bIoOKWeM0=;
 b=lScKcwptEq+9YGeyvJiQDPVPxbHoFdRgkdWZ0ZfBn5yi0glg0snyxxnkdODLf+DPWx
 7Ii6mXCVzv/SquiLyJVo7BubbKqAyou14fgU/VbHN2vKuIGkEBv0GjOfK6pCoVWXgyaD
 IQ5ARq7CedkB3s/gAMLmdON15gHvsDlthuav4OqqJ+0sAiLwKp4Q3XgYOaYuwo5YlJHw
 0SLplI7sN2uVMcnGijV8yPZiibPwOwjKDcoLza10cFXV4ULccyBLFfiUbk3Ld0cN+E4D
 XjsiBIX/j9/Nd2WRUooL03PtjUB0vHyqwcGCU0x+i9nOnAsrHA6q3shzwge1NdeYwGT4
 3TmA==
X-Gm-Message-State: AAQBX9fj49cJ2TvAnOviTXhre/SjcPGvW9J/1XZpC1fl3QKK+ylPvpEj
 PCx63V6o+KuAeUBz8fkIhJxECOwKalOryqUJ+oo=
X-Google-Smtp-Source: AKy350bDw8k0xbYkLoyGdY7pv7yeOmzJ6RUEvOLl1ODnQM7fE8A4iMPGByBxRMq1Mhli4i6gE0vUr/oyBaCAXHkniRM=
X-Received: by 2002:a05:6870:3921:b0:187:85b1:1260 with SMTP id
 b33-20020a056870392100b0018785b11260mr836484oap.5.1681382800269; Thu, 13 Apr
 2023 03:46:40 -0700 (PDT)
MIME-Version: 1.0
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN> <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN> <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
 <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
 <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN> <87h6u2y7uj.fsf@HIDDEN>
 <dc1e8642-6c03-4078-467c-73ac87f9eee0@HIDDEN> <871qkqmzit.fsf@HIDDEN>
 <61fd5d66-ca0b-f67d-df70-7906c32596de@HIDDEN> <87v8i1jr5v.fsf@HIDDEN>
 <6c64f601-0c28-2993-e55a-042419e1623e@HIDDEN> <87ttxkrtz5.fsf@HIDDEN>
 <CALDnm51taS+45kiqYdjJjsG2Y-dL7=hFrOGfiSMnWQVmipgO9Q@HIDDEN>
In-Reply-To: <CALDnm51taS+45kiqYdjJjsG2Y-dL7=hFrOGfiSMnWQVmipgO9Q@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Thu, 13 Apr 2023 11:48:35 +0100
Message-ID: <CALDnm539_QTPiM1Q6XJZauM_o9p_Gw2XQUpn25+5Heq7uxbwzQ@HIDDEN>
Subject: Re: bug#62029: 29.0.60;
 Allow users to customize eldoc buffer separator
To: Dmitry Gutov <dmitry@HIDDEN>
Content-Type: multipart/mixed; boundary="0000000000008ab71b05f9357060"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org, Yuan Fu <casouri@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--0000000000008ab71b05f9357060
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Apr 13, 2023 at 11:11=E2=80=AFAM Jo=C3=A3o T=C3=A1vora <joaotavora@=
gmail.com> wrote:
>
> On Thu, Apr 13, 2023 at 10:48=E2=80=AFAM Jo=C3=A3o T=C3=A1vora <joaotavor=
a@HIDDEN> wrote:
>
> > > Is that bug Elisp-specific? That would seem odd.
> >
> > You seem to be describing a separate problem that I never noticed or wa=
s
> > bothered with (and I do use company and multi-line echo areas
> > liberally).  I'll try your recipe but would you describe exactly what t=
o
> > look for?
>
> I've reproduced the bug with your recipe.  I don't normally notice
> because I use a TTY emacs for the most part and it's absent there.
> But in a graphical frame it is noticeable.  I'm having a look.
>
> You could create a new bug report or point me to an existing one
> I might have missed.

In the meantime, please try this patch.

Jo=C3=A3o

--0000000000008ab71b05f9357060
Content-Type: text/x-patch; charset="US-ASCII"; 
	name="0001-Eldoc-don-t-overdisplay-if-using-eldoc-documentation.patch"
Content-Disposition: attachment; 
	filename="0001-Eldoc-don-t-overdisplay-if-using-eldoc-documentation.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_lgezy9650>
X-Attachment-Id: f_lgezy9650

RnJvbSA1ZWEzYjIxMGE5Zjg2YjI1ZTQ5OTlkM2U1NWVjNmJkYTRmNjQ2OWFmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Sm89QzM9QTNvPTIwVD1DMz1BMXZvcmE/PSA8
am9hb3Rhdm9yYUBnbWFpbC5jb20+CkRhdGU6IFRodSwgMTMgQXByIDIwMjMgMTE6NDY6MTIgKzAx
MDAKU3ViamVjdDogW1BBVENIXSBFbGRvYzogZG9uJ3Qgb3ZlcmRpc3BsYXkgaWYgdXNpbmcgZWxk
b2MtZG9jdW1lbnRhdGlvbi1jb21wb3NlCgpUaGlzIGlzIGFib3V0IGEgcGFydGljdWxhciB2YWx1
ZSBmb3IgZWxkb2MtZG9jdW1lbnRhdGlvbi1zdHJhdGVneS4KJ2VsZG9jLS1kb2N1bWVudGF0aW9u
LWNvbXBvc2UtMScgZm9yIHRoZSAicGF0aWVudCIKJ2VsZG9jLWRvY3VtZW50YXRpb24tY29tcG9z
ZScgc3RyYXRlZ3kgd2FzIGJ1Z2d5LiAgSXQgY3JlYXRlZCBhbmQKY2FsbGJhY2sgYW5kIGFycmFu
Z2VkIHNvIHRoYXQgaXQgY291bGQgcG90ZW50aWFsbHkgYmUgaW52b2tlZAppbW1lZGlhdGVseSBh
bmQgdHJpZ2dlciBkaXNwbGF5LCBoYWxmLWRlZmVhdGluZyB0aGUgcHVycG9zZSBvZiB0aGUKInBh
dGllbmNlIiBhbmQgY2F1c2luZyBibGlua2luZyBpbiB0aGUgZWNobyBhcmVhLgoKTm93IGl0IGNy
ZWF0ZXMgYWxsIHRoZSBjYWxsYmFja3MgYmVmb3JlaGFuZCBhbmQgb25seSB0aGVuIHBhc3NlcyB0
aGVtCnRvIHRoZSBjb3JyZXNwb25kaW5nIG1lbWJlcnMgb2YgZWxkb2MtZG9jdW1lbnRhdGlvbi1m
dW5jdGlvbnMuICBUaGlzCnNldHMgdXAgdGhlIGNvcnJlY3Qgc3RhdGUgaW4gZWxkb2MtLWludm9r
ZS1zdHJhdGVneS4KCiogbGlzcC9lbWFjcy1saXNwL2VsZG9jLmVsIChlbGRvYy0tZG9jdW1lbnRh
dGlvbi1jb21wb3NlLTEpOgpEZWxldGUuCihlbGRvYy1kb2N1bWVudGF0aW9uLWNvbXBvc2UpCihl
bGRvYy1kb2N1bWVudGF0aW9uLWNvbXBvc2UtZWFnZXJseSk6IFJld29yay4KLS0tCiBsaXNwL2Vt
YWNzLWxpc3AvZWxkb2MuZWwgfCAzNyArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t
LS0tCiAxIGZpbGUgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCgpk
aWZmIC0tZ2l0IGEvbGlzcC9lbWFjcy1saXNwL2VsZG9jLmVsIGIvbGlzcC9lbWFjcy1saXNwL2Vs
ZG9jLmVsCmluZGV4IDFlYjBkMzhjNWNlLi41NWZiNTE4Zjk5MCAxMDA2NDQKLS0tIGEvbGlzcC9l
bWFjcy1saXNwL2VsZG9jLmVsCisrKyBiL2xpc3AvZW1hY3MtbGlzcC9lbGRvYy5lbApAQCAtNjgx
LDI5ICs2ODEsMzQgQEAgZWxkb2MtZG9jdW1lbnRhdGlvbi1kZWZhdWx0CiAgICAgICAgICAgICAg
ICAgICAgIChsYW1iZGEgKGYpCiAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmNhbGwgZiAoZWxk
b2MtLW1ha2UtY2FsbGJhY2sgOmVhZ2VyIGYpKSkpKQogCi0oZGVmdW4gZWxkb2MtLWRvY3VtZW50
YXRpb24tY29tcG9zZS0xIChlYWdlcmx5cCkKLSAgIkhlbHBlciBmdW5jdGlvbiBmb3IgY29tcG9z
aW5nIG11bHRpcGxlIGRvYyBzdHJpbmdzLgotSWYgRUFHRVJMWVAgaXMgbm9uLW5pbCBzaG93IGRv
Y3VtZW50YXRpb24gYXMgc29vbiBhcyBwb3NzaWJsZSwKLWVsc2Ugd2FpdCBmb3IgYWxsIGRvYyBz
dHJpbmdzLiIKLSAgKHJ1bi1ob29rLXdyYXBwZWQgJ2VsZG9jLWRvY3VtZW50YXRpb24tZnVuY3Rp
b25zCi0gICAgICAgICAgICAgICAgICAgIChsYW1iZGEgKGYpCi0gICAgICAgICAgICAgICAgICAg
ICAgKGxldCogKChjYWxsYmFjayAoZWxkb2MtLW1ha2UtY2FsbGJhY2sKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgZWFnZXJseXAgOmVhZ2VyIDpwYXRpZW50KQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYpKQotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAoc3RyIChmdW5jYWxsIGYgY2FsbGJhY2spKSkKLSAgICAgICAgICAg
ICAgICAgICAgICAgIChpZiAob3IgKG51bGwgc3RyKSAoc3RyaW5ncCBzdHIpKSAoZnVuY2FsbCBj
YWxsYmFjayBzdHIpKQotICAgICAgICAgICAgICAgICAgICAgICAgbmlsKSkpCi0gIHQpCi0KIChk
ZWZ1biBlbGRvYy1kb2N1bWVudGF0aW9uLWNvbXBvc2UgKCkKICAgIlNob3cgbXVsdGlwbGUgZG9j
dW1lbnRhdGlvbiBzdHJpbmdzIHRvZ2V0aGVyIGFmdGVyIHdhaXRpbmcgZm9yIGFsbCBvZiB0aGVt
LgogVGhpcyBpcyBtZWFudCB0byBiZSB1c2VkIGFzIGEgdmFsdWUgZm9yIGBlbGRvYy1kb2N1bWVu
dGF0aW9uLXN0cmF0ZWd5Jy4iCi0gIChlbGRvYy0tZG9jdW1lbnRhdGlvbi1jb21wb3NlLTEgbmls
KSkKKyAgKGxldCAoZm5zLWFuZC1jYWxsYmFja3MpCisgICAgOzsgTWFrZSBhbGwgdGhlIGNhbGxi
YWNrcywgdGhpcyBzZXRzIHVwIHN0YXRlIGluc2lkZQorICAgIDs7IGBlbGRvYy0taW52b2tlLXN0
cmF0ZWd5JyB0byBrbm93IGhvdyBtYW55IHRvIHdhaXQgZm9yIGJlZm9yZQorICAgIDs7IGRpc3Bs
YXlpbmcgKGJ1ZyN4eHh4eCkKKyAgICAocnVuLWhvb2std3JhcHBlZCAnZWxkb2MtZG9jdW1lbnRh
dGlvbi1mdW5jdGlvbnMKKyAgICAgICAgICAgICAgICAgICAgICAobGFtYmRhIChmKQorICAgICAg
ICAgICAgICAgICAgICAgICAgKHB1c2ggKGNvbnMgZiAoZWxkb2MtLW1ha2UtY2FsbGJhY2sgOnBh
dGllbnQgZikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbnMtYW5kLWNhbGxiYWNr
cykKKyAgICAgICAgICAgICAgICAgICAgICAgIG5pbCkpCisgICAgOzsgTm93IGNhbGwgdGhlbS4g
IFRoZSBsYXN0IG9uZSB3aWxsIHRyaWdnZXIgdGhlIGRpc3BsYXkuCisgICAgKGNsLWxvb3AgZm9y
IChmIC4gY2FsbGJhY2spIGluIGZucy1hbmQtY2FsbGJhY2tzCisgICAgICAgICAgICAgZm9yIHN0
ciA9IChmdW5jYWxsIGYgY2FsbGJhY2spCisgICAgICAgICAgICAgd2hlbiAob3IgKG51bGwgc3Ry
KSAoc3RyaW5ncCBzdHIpKSBkbyAoZnVuY2FsbCBjYWxsYmFjayBzdHIpKSkKKyAgdCkKIAogKGRl
ZnVuIGVsZG9jLWRvY3VtZW50YXRpb24tY29tcG9zZS1lYWdlcmx5ICgpCiAgICJTaG93IG11bHRp
cGxlIGRvY3VtZW50YXRpb24gc3RyaW5ncyBvbmUgYnkgb25lIGFzIHNvb24gYXMgcG9zc2libGUu
CiBUaGlzIGlzIG1lYW50IHRvIGJlIHVzZWQgYXMgYSB2YWx1ZSBmb3IgYGVsZG9jLWRvY3VtZW50
YXRpb24tc3RyYXRlZ3knLiIKLSAgKGVsZG9jLS1kb2N1bWVudGF0aW9uLWNvbXBvc2UtMSB0KSkK
KyAgKHJ1bi1ob29rLXdyYXBwZWQgJ2VsZG9jLWRvY3VtZW50YXRpb24tZnVuY3Rpb25zCisgICAg
ICAgICAgICAgICAgICAgIChsYW1iZGEgKGYpCisgICAgICAgICAgICAgICAgICAgICAgKGxldCog
KChjYWxsYmFjayAoZWxkb2MtLW1ha2UtY2FsbGJhY2sgOmVhZ2VyIGYpKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAoc3RyIChmdW5jYWxsIGYgY2FsbGJhY2spKSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgIChpZiAob3IgKG51bGwgc3RyKSAoc3RyaW5ncCBzdHIpKSAoZnVuY2FsbCBj
YWxsYmFjayBzdHIpKQorICAgICAgICAgICAgICAgICAgICAgICAgbmlsKSkpCisgIHQpCiAKIChk
ZWZ1biBlbGRvYy1kb2N1bWVudGF0aW9uLWVudGh1c2lhc3QgKCkKICAgIlNob3cgbW9zdCBpbXBv
cnRhbnQgZG9jdW1lbnRhdGlvbiBzdHJpbmcgcHJvZHVjZWQgc28gZmFyLgotLSAKMi4zOS4yCgo=
--0000000000008ab71b05f9357060--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 13 Apr 2023 10:09:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 13 06:09:40 2023
Received: from localhost ([127.0.0.1]:42582 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pmttc-0000oN-5i
	for submit <at> debbugs.gnu.org; Thu, 13 Apr 2023 06:09:40 -0400
Received: from mail-oi1-f181.google.com ([209.85.167.181]:35762)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pmttZ-0000o6-5R
 for 62029 <at> debbugs.gnu.org; Thu, 13 Apr 2023 06:09:38 -0400
Received: by mail-oi1-f181.google.com with SMTP id w13so30166631oik.2
 for <62029 <at> debbugs.gnu.org>; Thu, 13 Apr 2023 03:09:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1681380571; x=1683972571;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=cJzt85PA9QQ4tVPjA9FTNTe4Kmx2hK43j1rhxsO0s44=;
 b=nXJgrAxiFn8wafNIegZjhHiTswzicR5OFT0a3gg+M8lJu/CFVQivhdUSCGRDWngJeK
 XG0vof2RgGrzSTawDnMI9RdkkKvumfZRDpJFIT63z+vU92P2tO42s0pzaCFaRkT2CNQK
 +BUHxD8bXBepfe3XIE/5gNxKPkspZDcbhlEdqjxNeJRc3WztnTg4V0amXA4nizr3CgSJ
 3ZvRWFQPPj3+W9WHAKtiaOIHN/+vkEz7ryoAUK0DLRBH/VxA8oM44wCG/3x2hw1ONFla
 1b+DZnJZ0XDbC2Z4sHrhBuZh//Dw+kQoWU6xTHnzfYzDVOBTOJPB0uoedWq5VihJdEVG
 kkpQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1681380571; x=1683972571;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=cJzt85PA9QQ4tVPjA9FTNTe4Kmx2hK43j1rhxsO0s44=;
 b=lqlevU4PsZIX3KG9DuVTh9k2+BBsx5v3Qb+sEZy1avuXnUxrCCotX1c309OlbE1kdf
 r4G/9nOK1KbGYh5FmdChiC4HeXJ3hqv4ByGI4AJMk+G2I50JhvGN+peEskVXjeplbehN
 ZZCurhoqKGa9V0HpRPVfxYfr29ZAx3sKTLkxXEvdrDQWudeKadTEHMQnk+FLBivCCPMj
 TuTcpRr5MCcLanYPFkN8kqmOLgF+UIRDQzl+kedNmpYLZuTj20UgMrgR5kQCnXes9aYq
 YPminVGV4ZXxIjErqgS3oJpPH5nahUkuD79gQoTuelUYLKMZY0BN4ZNJlro4fQLJxOvT
 lkGw==
X-Gm-Message-State: AAQBX9e46Hznx5A7N1Thdln1yVer1282OJip9iCZuHeVjiTPTn7A/Czl
 wzrJQ8u62oLPnM0qhkLwVBfLOH/QpJTb1cRRFxA=
X-Google-Smtp-Source: AKy350YngrzWcRibEimI8mmLmF5ih8WpcEHudvp21L1+nJji9cQqLXlRQSC4OryGERWojQLQJBT4JctQWIhWofOBFnE=
X-Received: by 2002:aca:917:0:b0:386:a109:57c8 with SMTP id
 23-20020aca0917000000b00386a10957c8mr318738oij.5.1681380571282; Thu, 13 Apr
 2023 03:09:31 -0700 (PDT)
MIME-Version: 1.0
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN> <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN> <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
 <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
 <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN> <87h6u2y7uj.fsf@HIDDEN>
 <dc1e8642-6c03-4078-467c-73ac87f9eee0@HIDDEN> <871qkqmzit.fsf@HIDDEN>
 <61fd5d66-ca0b-f67d-df70-7906c32596de@HIDDEN> <87v8i1jr5v.fsf@HIDDEN>
 <6c64f601-0c28-2993-e55a-042419e1623e@HIDDEN> <87ttxkrtz5.fsf@HIDDEN>
In-Reply-To: <87ttxkrtz5.fsf@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Thu, 13 Apr 2023 11:11:26 +0100
Message-ID: <CALDnm51taS+45kiqYdjJjsG2Y-dL7=hFrOGfiSMnWQVmipgO9Q@HIDDEN>
Subject: Re: bug#62029: 29.0.60;
 Allow users to customize eldoc buffer separator
To: Dmitry Gutov <dmitry@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org, Yuan Fu <casouri@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On Thu, Apr 13, 2023 at 10:48=E2=80=AFAM Jo=C3=A3o T=C3=A1vora <joaotavora@=
gmail.com> wrote:

> > Is that bug Elisp-specific? That would seem odd.
>
> You seem to be describing a separate problem that I never noticed or was
> bothered with (and I do use company and multi-line echo areas
> liberally).  I'll try your recipe but would you describe exactly what to
> look for?

I've reproduced the bug with your recipe.  I don't normally notice
because I use a TTY emacs for the most part and it's absent there.
But in a graphical frame it is noticeable.  I'm having a look.

You could create a new bug report or point me to an existing one
I might have missed.

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 13 Apr 2023 09:48:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 13 05:48:58 2023
Received: from localhost ([127.0.0.1]:42547 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pmtZZ-00008l-Ow
	for submit <at> debbugs.gnu.org; Thu, 13 Apr 2023 05:48:58 -0400
Received: from mail-wr1-f46.google.com ([209.85.221.46]:36545)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pmtZX-00008Y-4O
 for 62029 <at> debbugs.gnu.org; Thu, 13 Apr 2023 05:48:56 -0400
Received: by mail-wr1-f46.google.com with SMTP id q6so2136200wrc.3
 for <62029 <at> debbugs.gnu.org>; Thu, 13 Apr 2023 02:48:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1681379329; x=1683971329;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=8db1yQq/40ikkmgQ9If282dVqKjq0ZTBx7xEFenuXo0=;
 b=o35yRmZYNxBLOPjBC+9eS6BiUEuq2OafafRbAVc78E1ZBnRz/mxFKNiMe0gRv8yIin
 u4SkKBwOpqOjm1UEeHI9upFKPL2o35wchqm/MnnVDP1qiV7TVJa8gs0eg6+x2BsxDEt4
 g9Hcqv3FHF+vBQB2M4OlmnRfnE7LEoT8/yrKqybtJrwKII/MnGQmYD759jS0pf7dwrGk
 qX6yHYflDNmlTc1vb4nO10JogTMam3UQz0KkN8QwQ79QgIQw2oUPN7scdEcwdiqzWCPG
 /E7Vy5/yHd9WOmNE+DSOLN48wHWCqaBJWe37UDQV0rI4Lrc1umbR+frqZnV9Xtt04eCW
 DzJw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1681379329; x=1683971329;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=8db1yQq/40ikkmgQ9If282dVqKjq0ZTBx7xEFenuXo0=;
 b=H3xBlYFATk246ogCtBrRGy8rCUb37JY3nA+o3MyaLi4VqTzPps7c39DDbmnHaGU5Ut
 nDgsv5agezTWEiU3gHTiP3AFwXv9ps5N2S7wHp6M767JZphCdtdO7v5QEMF64eAd4zW5
 6tcq0NybicOvTYo15w1ZjSRs1paWo7biAfSUDDFSd8UifcI2Jp323H0l5pmC5O3csJGB
 W/ce/mFWs/AXqUlwY5EglTf0yI0Pgr78Nb54dwMxiYYrkp+PCLyuicx9GTwPhg3MUegV
 Vdbof+6E30wDLGa6d6fFC5kkbw1vzzd4tBIaZ+ae6Xjxk1r6HpEsHtAQia3E/rWnxbHS
 RVRw==
X-Gm-Message-State: AAQBX9e9MHYi64/Ftq9KjyehSzAVKfTAukHqlQLF/rqDZ3v5Qpr1GJ17
 0UWnXbl2zWDvYz6jtzljaWResTmCy/Q=
X-Google-Smtp-Source: AKy350aehxW1J6WFpevDBjLa0SQElw7UYc3RVWlfjv3OL6RL0wEIHjQIVbjIHk2NJE2TbxSk4C59wQ==
X-Received: by 2002:a5d:5943:0:b0:2ef:b525:bdf9 with SMTP id
 e3-20020a5d5943000000b002efb525bdf9mr1053114wri.48.1681379328535; 
 Thu, 13 Apr 2023 02:48:48 -0700 (PDT)
Received: from krug ([87.196.73.56]) by smtp.gmail.com with ESMTPSA id
 b3-20020adfde03000000b002efb2d861dasm905355wrm.77.2023.04.13.02.48.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Apr 2023 02:48:48 -0700 (PDT)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
In-Reply-To: <6c64f601-0c28-2993-e55a-042419e1623e@HIDDEN> (Dmitry Gutov's
 message of "Thu, 13 Apr 2023 03:20:19 +0300")
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN>
 <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN>
 <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
 <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
 <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN>
 <87h6u2y7uj.fsf@HIDDEN>
 <dc1e8642-6c03-4078-467c-73ac87f9eee0@HIDDEN>
 <871qkqmzit.fsf@HIDDEN>
 <61fd5d66-ca0b-f67d-df70-7906c32596de@HIDDEN>
 <87v8i1jr5v.fsf@HIDDEN>
 <6c64f601-0c28-2993-e55a-042419e1623e@HIDDEN>
Date: Thu, 13 Apr 2023 10:50:54 +0100
Message-ID: <87ttxkrtz5.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org, Yuan Fu <casouri@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Dmitry Gutov <dmitry@HIDDEN> writes:

>>> I have applied it. What should I be looking at?
>> Right. That's a good sign it itself.  Here, have some more patch:
>>    (setq-default eldoc-documentation-strategy
>> 'eldoc-documentation-compose)
>>    (add-hook 'emacs-lisp-mode-hook
>>      (lambda () (setq-local eldoc-echo-area-use-multiline-p 1)))
>> Then go on with elisp your life and maybe peek into M-x
>> eldoc-doc-buffer
>> once in a while.
>
> What is the reason to have a special value for Elisp again?

Try to take it out and see for yourself.  It'd be a good test.

> One obvious downside is that if the user customizes it to some
> different value (e.g. 2, limiting the height of the window below), it
> won't be honored by Elisp without some extra work on the part of the
> user. So if we want to do that, we'd need some strong argument for why
> Elisp is different from everyone else.

Apparently it is.  The working assumption here is that Elisp users never
ever want to see more than one line of ElDoc documentation in the mode
line, even though the default value of eldoc-echo-area-use-multiline-p
is t [2] .  These users, presumably, won't mind and could even
appreciate larger snippets of documentation in the *eldoc* buffer and in
Yuan's eldoc-box popup, though.  We're currently working on the pretty
formatting of this buffer, and this bug you're reading is primarily
about that.

Now, Elisp has three different ElDoc backends, two of them added to
eldoc-documentation-functions by default, which already contains one for
flymake-mode (if that is enabled).

So the patch I've given you is the only way that I know that:

  (setq-default eldoc-documentation-strategy 'eldoc-documentation-compose)

can coexist with what I understand to be a 1-line-echo-in-elisp
requirement.  This is the main point: that value is a vastly better
default for the e-d-strategy variable, and not just in my opinion [1].

I was under the impression the 1-line-echo-in-elisp is a hard
requirement, especially to the old-timers.  I'd love to be mistaken.

But let's say I'm not.  Then there's no actual "obvious downside" as you
state.  Let's say the user does customize
'eldoc-echo-area-use-multiline-p' away from its default infinite [2]
value to '42'.  It shouldn't have any effect in elisp-mode because of
the hard requirement.  It won't have today and won't have after my
proposed change.  And if the user does want to override that requirement
and see lots of echo lines in Elisp, there are hooks for that.  And if
the user doesn't like hooks (but why is she doing Elisp then?) then
there could be an extra customization variable (not my cup of tea, but I
won't mind).

But this is all possibly too complicated.  I do think that just setting

   (setq-local eldoc-echo-area-use-multiline-p 1)

In Elisp-mode's major-mode function would have absolutely minimal
impact.  It's a great time to experiment in master.

> And the thing with window jumping/blinking seems common enough across
> the modes.=20

We have to define the concepts.  I thought what was hitherto called
"bouncing" merely referred to the fact that sometimes ElDoc displays 1
line, and sometimes more.  And that causes the echo are to be resized.

Is this concept of "bouncing" acceptable to you in elisp-mode?  Do you
think it will ever be accepted by other Emacs lisp developers that
sometimes, when standing over a symbol with both a function and variable
definition the two things will be documented in two separate lines?  I
assume it won't, thus the Elisp setting of
eldoc-echo-area-use-multiline-p to 1.

> But in Elisp -- even if I just move the cursor with arrows or C-f/C-b,
> 1 times out of 2 the echo are window will blink.
>
> It's trivially reproduced even with 'emacs -Q': just add somewhere
> inside an Elisp buffer:
>
>   (remove-hook asd)
>
> when flymake-mode is enabled and eldoc-documentation-strategy is
> 'eldoc-documentation-compose, and eldoc-echo-area-use-multiline-p is
> not 1, and move around 'asd' with C-f and C-b.
>
> Is that bug Elisp-specific? That would seem odd.

You seem to be describing a separate problem that I never noticed or was
bothered with (and I do use company and multi-line echo areas
liberally).  I'll try your recipe but would you describe exactly what to
look for?

Jo=C3=A3o

[1]:
https://www.masteringemacs.org/article/seamlessly-merge-multiple-documentat=
ion-sources-eldoc

[2]: Yes, I know the default is 'truncate-sym-name-if-fit', but that's
the same as the potentially infinite 't' in 99% of the cases.  And we
set it another value like 'truncate-sym-name-but-keep-it-to-one-line' if
that 1% is indeed relevant.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 13 Apr 2023 04:20:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 13 00:20:57 2023
Received: from localhost ([127.0.0.1]:42304 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pmoS9-0007H3-Dm
	for submit <at> debbugs.gnu.org; Thu, 13 Apr 2023 00:20:57 -0400
Received: from mail-pf1-f175.google.com ([209.85.210.175]:62791)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <casouri@HIDDEN>) id 1pmoS5-0007Gn-1q
 for 62029 <at> debbugs.gnu.org; Thu, 13 Apr 2023 00:20:56 -0400
Received: by mail-pf1-f175.google.com with SMTP id
 d2e1a72fcca58-63b145b3b03so1786719b3a.1
 for <62029 <at> debbugs.gnu.org>; Wed, 12 Apr 2023 21:20:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1681359647; x=1683951647;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=Qefsr8GvnONmbg4Oexe4UczIt139dNWgp44FNliR62s=;
 b=XKAwDMeaFWNnicexcg/WuXCQKnf4Ni/hQtVWrJpLhOOUfq9pZge4cKopQjuAqZ8N1G
 FF+wnMsxvlNMBp4UM2ehnxQUwlJVz9FaXhr+0LNGw/HdQCnISsydVvI1bzTsDPrtNXY0
 QwcSHHjiPwqEJJyH20XLkAaYHw7UrSmROALMZGatEm6Lc+346AF46DyIco6F/DgVcadP
 16BCjLjE4qZPNoLbl7AUQRL+Q0d7V/QO2E/7jNm2WbiJs33+6jCzd0XcweB+0uNkYldn
 C31QFSqPfN7CPdztYVGDThEIn3RCJYn3J5P0FSBm+NHYKzV0NOaXaH7MU/DhI/4Ekijx
 r3pw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1681359647; x=1683951647;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=Qefsr8GvnONmbg4Oexe4UczIt139dNWgp44FNliR62s=;
 b=fIMZVOOEQ7vqfpsId5+LnBsMJKmGzL1DY7M5dfBiAknef4WocgdyOmJTjzpWgbv7aN
 mqclicjWl9+e//o/MBSck7Yz77J0e557SJIelkHpcLbgpeLTH+kXdKnkvF6bbolkNu+O
 oPfDxym8I7LaHnpZ24CG9GRByI3Cxiv09+ZZJnX3fGHY+r5pTmlMNGVW6DMQ6B3JIS1I
 QMd6Tt12NHvIm2T8sqk4LImTanAdNYz4xwZPWisvUqJm+mDV+3A3gyvn2WWWK2SP9CJH
 JVd25xjjoB4U0qWEg+3s7OVJgMayibC7+Um4nVskawfFBp8Z8bk86XCH7XAvlLsBhPCC
 QHQQ==
X-Gm-Message-State: AAQBX9fG4s5SlKKzrlTgj4oTrOMSYr35g9ZcgkEYIAoYS1giLm/Q+WrQ
 oOnMELrAUdqRZiHXc6+BJxg=
X-Google-Smtp-Source: AKy350Ztdd2M7+SgWcOVkETKJKfzdwSd1kdjKARGxd9/M3TeGrAyKp+wiok0lz6kjA6dpp+UUIzgfw==
X-Received: by 2002:a05:6a00:1343:b0:634:4f6:86df with SMTP id
 k3-20020a056a00134300b0063404f686dfmr758104pfu.1.1681359646885; 
 Wed, 12 Apr 2023 21:20:46 -0700 (PDT)
Received: from smtpclient.apple (cpe-172-117-161-177.socal.res.rr.com.
 [172.117.161.177]) by smtp.gmail.com with ESMTPSA id
 j26-20020aa783da000000b0063b488f3305sm217248pfn.155.2023.04.12.21.20.45
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Wed, 12 Apr 2023 21:20:46 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.500.231\))
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
From: Yuan Fu <casouri@HIDDEN>
In-Reply-To: <6c64f601-0c28-2993-e55a-042419e1623e@HIDDEN>
Date: Wed, 12 Apr 2023 21:20:33 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <5F26CB0A-BCE4-4925-8B3D-7C36845401D1@HIDDEN>
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN> <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN> <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
 <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
 <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN> <87h6u2y7uj.fsf@HIDDEN>
 <dc1e8642-6c03-4078-467c-73ac87f9eee0@HIDDEN> <871qkqmzit.fsf@HIDDEN>
 <61fd5d66-ca0b-f67d-df70-7906c32596de@HIDDEN> <87v8i1jr5v.fsf@HIDDEN>
 <6c64f601-0c28-2993-e55a-042419e1623e@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
X-Mailer: Apple Mail (2.3731.500.231)
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org,
 =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)



> On Apr 12, 2023, at 5:20 PM, Dmitry Gutov <dmitry@HIDDEN> wrote:
>=20
> On 12/04/2023 14:06, Jo=C3=A3o T=C3=A1vora wrote:
>>>> elisp-mode.el.  Do you have something to say about that?  Did you =
try
>>>> the patch I showed Yuan?
>>> I have applied it. What should I be looking at?
>> Right. That's a good sign it itself.  Here, have some more patch:
>>   (setq-default eldoc-documentation-strategy =
'eldoc-documentation-compose)
>>   (add-hook 'emacs-lisp-mode-hook
>>     (lambda () (setq-local eldoc-echo-area-use-multiline-p 1)))
>> Then go on with elisp your life and maybe peek into M-x =
eldoc-doc-buffer
>> once in a while.
>=20
> What is the reason to have a special value for Elisp again?

I think it=E2=80=99s just meant to be a user customization. (setq-local =
eldoc-echo-area-use-multiline-p 1) basically means =E2=80=9Cdon=E2=80=99t =
blink=E2=80=9D (only display one line of doc). But I=E2=80=99m not sure =
why we need to customize it for elisp buffers, the default value should =
work more or less the same, no?

Yuan=




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 13 Apr 2023 00:20:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 12 20:20:32 2023
Received: from localhost ([127.0.0.1]:42107 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pmkhU-0006Ud-4E
	for submit <at> debbugs.gnu.org; Wed, 12 Apr 2023 20:20:32 -0400
Received: from wnew4-smtp.messagingengine.com ([64.147.123.18]:38485)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1pmkhR-0006UM-Hv
 for 62029 <at> debbugs.gnu.org; Wed, 12 Apr 2023 20:20:30 -0400
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailnew.west.internal (Postfix) with ESMTP id 69D832B06949;
 Wed, 12 Apr 2023 20:20:23 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute6.internal (MEProxy); Wed, 12 Apr 2023 20:20:23 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding: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=fm1; t=
 1681345223; x=1681348823; bh=3P6mL+kqxH7F9vEF5p/6renfpcKBm6VsZs3
 zASq9eLY=; b=PuBVYxLdRjX3WnoBlFr4PS/H3x4ZSFJ88/VwOUHgMxUMC4wd1TO
 cJnkZy7tQVDl1CfEXFd/yJrKf9QFe7sB4W2A7XO4VMOAQdjPDJCG2AKdgrnrl6A7
 cFfb9isYEEcN+U3Ze+rBzc1F/YpZe+ym8vV01xVRGvGdJEXiqnjJQKKDWN3jLFxZ
 H8+YFUH587wLij1Yk2W9YR9c2Cy0m2IM8tSmK7Wu/jT1naVHyir6PnZkxNo3GnYA
 e4B3ZBWDp+bB0NNqO8QRUQyISrQ7iSZZHZvUc4J6B0ngEWEjR/bUHvk8sxyuJlSD
 g8lqLYuua1YuyxOqYwcyD+uC5KxxblPyudA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :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=
 1681345223; x=1681348823; bh=3P6mL+kqxH7F9vEF5p/6renfpcKBm6VsZs3
 zASq9eLY=; b=eQ1Ep8NHDx0EtAQ1icWeSLkGx8YE75m8BYfTCNPssKXPSjd4P1L
 Jbk4ddSq1ReCoGR1zAhUw+RqcxYnFzn+H7LtlRsF8P9auN5S2p36saXNl1Lt4myR
 15TLQugQy6tYLc4eZKLlHyAOumAnujLB/YKmNicdu2suOa6GSAH2YYjdNFvUx4aR
 dOeSB9MKF4xm2j5PTSOn1XAmkxagPiAvX+IuFls9OX1D5MfbCxoNqbq+udyPH83D
 8GRSb5lU+Uav4l9tlryIZ7ejRlzvQzcxTDOAIFxxlonlXUzIfVCaKIqwwjQjCclJ
 glCFGc1bFDvL/ldPQ+NGrmWgLj0G1oj39lw==
X-ME-Sender: <xms:xko3ZD2dd-hwsIvNux6ZDuwYAHd45j3BvGO9j68ZWZMsH2ddurfMIA>
 <xme:xko3ZCHdZJS-3OFhunVWGfPBgxmIHuxEHbdm2dnUv-j36LB2NfTLYEyFS1Uih-dsu
 vEb6cQibdKqNhvS1AE>
X-ME-Received: <xmr:xko3ZD4laj0RaDTJtYR_3Q_e6QKGzouProU4bRZvW0JGE39ucKPtp3RWqYhgNNuf>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdekjedgfeegucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
 uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
 cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtkeertddtfeejnecuhfhrohhmpeffmhhi
 thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth
 htvghrnhephfeiueegvdevieeujeelgfdvgefhiedvudegkeelgfelieefkeeiteefveej
 jedunecuffhomhgrihhnpegvlhdrughonecuvehluhhsthgvrhfuihiivgeptdenucfrrg
 hrrghmpehmrghilhhfrhhomhepughmihhtrhihsehguhhtohhvrdguvghv
X-ME-Proxy: <xmx:xko3ZI37suEBv5qkuhdeLjm4qvGEIYwtV4835fUR1qLg1GiLiFktSQ>
 <xmx:xko3ZGGNdU-rMUrKLIMgv4B1tmFhJyn6UMpy0xVR0X6yml9cA2QeOg>
 <xmx:xko3ZJ_0ZGbFCLo5rH39Z2JxVLEoaqVnqYLlbSJ3Fc_objfGhc7pJQ>
 <xmx:xko3ZIMLB0yzFLGfYi-3nfxvCBRdOLvufPvszYMFXfdqLeUKuIpnJJtk3kg>
Feedback-ID: i0e71465a:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 12 Apr 2023 20:20:21 -0400 (EDT)
Message-ID: <6c64f601-0c28-2993-e55a-042419e1623e@HIDDEN>
Date: Thu, 13 Apr 2023 03:20:19 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
Content-Language: en-US
To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN> <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN> <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
 <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
 <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN> <87h6u2y7uj.fsf@HIDDEN>
 <dc1e8642-6c03-4078-467c-73ac87f9eee0@HIDDEN> <871qkqmzit.fsf@HIDDEN>
 <61fd5d66-ca0b-f67d-df70-7906c32596de@HIDDEN> <87v8i1jr5v.fsf@HIDDEN>
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <87v8i1jr5v.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: -1.1 (-)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org, Yuan Fu <casouri@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.1 (--)

On 12/04/2023 14:06, João Távora wrote:
>>> elisp-mode.el.  Do you have something to say about that?  Did you try
>>> the patch I showed Yuan?
>> I have applied it. What should I be looking at?
> Right. That's a good sign it itself.  Here, have some more patch:
> 
>    (setq-default eldoc-documentation-strategy 'eldoc-documentation-compose)
>    (add-hook 'emacs-lisp-mode-hook
>      (lambda () (setq-local eldoc-echo-area-use-multiline-p 1)))
> 
> Then go on with elisp your life and maybe peek into M-x eldoc-doc-buffer
> once in a while.

What is the reason to have a special value for Elisp again?

One obvious downside is that if the user customizes it to some different 
value (e.g. 2, limiting the height of the window below), it won't be 
honored by Elisp without some extra work on the part of the user. So if 
we want to do that, we'd need some strong argument for why Elisp is 
different from everyone else.

And the thing with window jumping/blinking seems common enough across 
the modes. It's easiest to reproduce when just using Eglot with Company 
(for some reason or other, the blinking seems absent without the latter; 
but I only tested one simple scenario in one configuration).

But in Elisp -- even if I just move the cursor with arrows or C-f/C-b, 1 
times out of 2 the echo are window will blink.

It's trivially reproduced even with 'emacs -Q': just add somewhere 
inside an Elisp buffer:

   (remove-hook asd)

when flymake-mode is enabled and eldoc-documentation-strategy is 
'eldoc-documentation-compose, and eldoc-echo-area-use-multiline-p is not 
1, and move around 'asd' with C-f and C-b.

Is that bug Elisp-specific? That would seem odd.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 12 Apr 2023 11:04:39 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 12 07:04:39 2023
Received: from localhost ([127.0.0.1]:39172 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pmYHG-0002e6-P2
	for submit <at> debbugs.gnu.org; Wed, 12 Apr 2023 07:04:39 -0400
Received: from mail-wr1-f54.google.com ([209.85.221.54]:38792)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pmYHF-0002dt-4n
 for 62029 <at> debbugs.gnu.org; Wed, 12 Apr 2023 07:04:38 -0400
Received: by mail-wr1-f54.google.com with SMTP id g5so13852798wrb.5
 for <62029 <at> debbugs.gnu.org>; Wed, 12 Apr 2023 04:04:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1681297471; x=1683889471;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=4bYvWxawqTUdAfZoFL9F1aFYyxo6/olkJqRWwpLxby8=;
 b=YVQpAz8BFpx6dcwmCLoV31R35gHKNm9bub2t4oUee1SuNPMKc07w4M6j6kFkBs1ZUW
 K/C8Q2Vgz17IdUsIrJlLaLwZ6lFdwc9ffYyUbjZHmrOFlzUAeUyNGYQh5T6WdO137pef
 OaYA82wCedY0e0ukHZKxMIuq/+u6IFqNa1tVI+tGyR9pgefNPXoE0vT7XW8yDRk3k3WA
 cbh+ydTY+qrdY4l4bvh1PVdHqPbswsDi7+MztYsO0Or4cDb/1KLNjO1aupLte0X7/Aa2
 zJGP/bHdlRpft0PbgLeoBUrKRzwlbelCMqF2w4knFWds+jMo/BaK1i16GsiHqo7ndVEG
 FEMw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1681297471; x=1683889471;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=4bYvWxawqTUdAfZoFL9F1aFYyxo6/olkJqRWwpLxby8=;
 b=edVFF8nU3VFJb33qVrm8QziOShlmJqzdWKZhXFdkW+55IPNh++M5hnsWBofnRRHNlf
 HQafAlRuL33IhLknMQ9CEkzKAXeJ+2Obh6/1uNTpgAnQKhcPaLTgVWSWoqkjwILjnq4H
 XqojtEgKWmkKsNi64uAP4EHhhG7m1rQkFjf+vvH/bwwvGDwPBrGOb0CU8sDbd2b3fqHf
 tKBn488rrPbBnXWFL8p5A1XoEdeapv5FRxb64AhtqOzBLaHIdHsDbOxN3tTVD0svS9ne
 Fu5vgC5iGjS9W+CUyQFiygRUkxiJTCLnwjGbOidfDDxc/JQpImB0oaKTRP+ZC7GdC9R7
 dvVQ==
X-Gm-Message-State: AAQBX9fAVI64+lp4l8W9k7sd+z9w3tgLvLhqrC52lseW1IwfyYB/+w4d
 U7ETNxfij4Btrclj2alLrFTI9GIU2j4=
X-Google-Smtp-Source: AKy350YRhqD4WamL8Ykdppn9eS/6JskbLkmMv91FsFo8U61uL6UQt4h9yGDhAUkUxI6t/lAg47sW8g==
X-Received: by 2002:a5d:4442:0:b0:2f4:b0d:c524 with SMTP id
 x2-20020a5d4442000000b002f40b0dc524mr2014408wrr.69.1681297471031; 
 Wed, 12 Apr 2023 04:04:31 -0700 (PDT)
Received: from krug ([87.196.73.56]) by smtp.gmail.com with ESMTPSA id
 a5-20020a5d4d45000000b002c3f81c51b6sm16912943wru.90.2023.04.12.04.04.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 12 Apr 2023 04:04:30 -0700 (PDT)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
In-Reply-To: <61fd5d66-ca0b-f67d-df70-7906c32596de@HIDDEN> (Dmitry Gutov's
 message of "Wed, 12 Apr 2023 04:38:28 +0300")
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN>
 <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN>
 <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
 <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
 <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN>
 <87h6u2y7uj.fsf@HIDDEN>
 <dc1e8642-6c03-4078-467c-73ac87f9eee0@HIDDEN>
 <871qkqmzit.fsf@HIDDEN>
 <61fd5d66-ca0b-f67d-df70-7906c32596de@HIDDEN>
Date: Wed, 12 Apr 2023 12:06:36 +0100
Message-ID: <87v8i1jr5v.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org, Yuan Fu <casouri@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Dmitry Gutov <dmitry@HIDDEN> writes:

> On 11/04/2023 14:25, Jo=C3=A3o T=C3=A1vora wrote:

>> protocol.
>>      (eglot-signature-eldoc-function): Rework.
>> This is also in the latest released Eglot 1.14, btw.
>
> I retested it just yesterday (and now as well), to take that screenshot.
>
> But that was Emacs 29. With current master, it is indeed better.

In Emacs 29, if you somehow manage to upgrade Eglot to >=3D 1.14 (cough
bug#62720 cough), you'll find it's also better.

>> elisp-mode.el.  Do you have something to say about that?  Did you try
>> the patch I showed Yuan?
>
> I have applied it. What should I be looking at?

Right. That's a good sign it itself.  Here, have some more patch:

  (setq-default eldoc-documentation-strategy 'eldoc-documentation-compose)
  (add-hook 'emacs-lisp-mode-hook
    (lambda () (setq-local eldoc-echo-area-use-multiline-p 1)))

Then go on with elisp your life and maybe peek into M-x eldoc-doc-buffer
once in a while.

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 12 Apr 2023 01:38:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 11 21:38:43 2023
Received: from localhost ([127.0.0.1]:38561 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pmPRa-0000Jd-In
	for submit <at> debbugs.gnu.org; Tue, 11 Apr 2023 21:38:42 -0400
Received: from wnew1-smtp.messagingengine.com ([64.147.123.26]:50457)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1pmPRW-0000JO-Eh
 for 62029 <at> debbugs.gnu.org; Tue, 11 Apr 2023 21:38:40 -0400
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailnew.west.internal (Postfix) with ESMTP id 3C5F12B06A40;
 Tue, 11 Apr 2023 21:38:32 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Tue, 11 Apr 2023 21:38:32 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding: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=fm1; t=
 1681263511; x=1681267111; bh=WlzqLaRw4BQXHunxegSjWwwGn93ZZ2ZfzZE
 Nph5ifwQ=; b=YdWbsHUFEKKXubIOEscwMSX+DjsYgT0MFariFThre5vRvreh0/7
 4VkjC7Eay8XcNgznsFAsYFqvwoEpdE2btzbdCQpxaFmPX6ARLtg1PHSwc5fP2yrj
 EPobHzJdZtu2F1yWDSS4sJMHgHGIvNLkS71Jfj3bsmM7hOq8GaWYwyCOykZqa0HX
 yxJAxdIOD7MhbUELIsDav3a7h+LXBftF2PYWZmn7UjCO+OgYls++7vrhb5w6Zg50
 4b4LeA54wCkxUsI4QauOhbd+x3zqYf0sZMqI/jxa3S2VsNH7BQSll2N2fZx826BD
 G7+YuRXMtSY3O43E/g5xDRSMA1JXEaKrirQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :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=
 1681263511; x=1681267111; bh=WlzqLaRw4BQXHunxegSjWwwGn93ZZ2ZfzZE
 Nph5ifwQ=; b=CHkJGak4j6t5P8Wfi9biL9oXRf50MCXjIEynniUpT0/NVR3Sytz
 tGfk4FgbCRUz+RpAzlmNH6qP/us5pQET9rvWfIj5AYIqMZ9o6XPijxQ1Uvp8Z5vX
 B+EVQK99GGSsMkN9m5y4LNVABULqXoDJcwNcUKr5iQSMVawBGJQc9h33YMSFaB+H
 QDpt/PyMrpyOchzxaHNpRkDSpp7Su0ULS4ZkdH7lIhaXHMUaLVnca4bM2iH1TmK6
 wtSl9XoTd3G6N2SuPoPT8HS4/ihGxtsDHt/rxUtbQaFmaMXufom147oMajc416Ef
 ITALSMwQWTNGa/DdoBJYZy/z8GvkW8ezs2Q==
X-ME-Sender: <xms:lws2ZNIjskEs56wKOO5bEiXlGaMpBuKlcI0g8p-Bw3Zt9YmoUxLMAg>
 <xme:lws2ZJIIlm6F-AF2L40fGVpCJ0dg8yRj1GSDcNWd5zzm5WWuXegM_kLa9a50BmoO0
 79_2tvITA14FyqLQZI>
X-ME-Received: <xmr:lws2ZFsqjVsup8ysY2EvR26A9LA6zuPfeHtxws72RtDZ7Onv2bLKmYlVKogsGQ7_>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdekhedggeelucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
 uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
 cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtkeertddtfeejnecuhfhrohhmpeffmhhi
 thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth
 htvghrnhephfeiueegvdevieeujeelgfdvgefhiedvudegkeelgfelieefkeeiteefveej
 jedunecuffhomhgrihhnpegvlhdrughonecuvehluhhsthgvrhfuihiivgeptdenucfrrg
 hrrghmpehmrghilhhfrhhomhepughmihhtrhihsehguhhtohhvrdguvghv
X-ME-Proxy: <xmx:lws2ZOY28Als_3SlmR6akGjTjeg5f_sfTDlEZEjUTmPgctBcTlUgnA>
 <xmx:lws2ZEbI5VhuzF1nD5io8V9SBf3Kn87IQPeD0IXp60Jo5CZufZT3Kw>
 <xmx:lws2ZCDGMyF-jQ-vzmQZQPNiEQYMFDoT7RnAmBKRZyKDGlS4hhAecA>
 <xmx:lws2ZPz4pF5YTEvwFuiHsN1cFuuCTHQ2mqKNQWNnqxGlF9GLcfsOlNvJv7Y>
Feedback-ID: i0e71465a:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 11 Apr 2023 21:38:30 -0400 (EDT)
Message-ID: <61fd5d66-ca0b-f67d-df70-7906c32596de@HIDDEN>
Date: Wed, 12 Apr 2023 04:38:28 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
Content-Language: en-US
To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN> <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN> <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
 <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
 <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN> <87h6u2y7uj.fsf@HIDDEN>
 <dc1e8642-6c03-4078-467c-73ac87f9eee0@HIDDEN> <871qkqmzit.fsf@HIDDEN>
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <871qkqmzit.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: -1.1 (-)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org, Yuan Fu <casouri@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.1 (--)

On 11/04/2023 14:25, João Távora wrote:
> Dmitry Gutov <dmitry@HIDDEN> writes:
> 
>> On 30/03/2023 11:13, João Távora wrote:
>>
>>>>> You do need to set eldoc-documentation-strategy to
>>>>> eldoc-documentation-compose though (this should really
>>>>> be the default).
>>>>
>>>> Huh, I wonder why I can see both flymake + eglot in the eldoc doc
>>>> buffer when my eldoc-documentation-strategy is the default value?
>>> Because Eglot changes eldoc-documentation-strategy automatically.
>>> It
>>> shouldn't but the default value is really bad.
>>> The reason the default value is historic.  Previously, there was a
>>> single producer of ElDoc, and only in Emacs Lisp.  It would decide
>>> whether to show variable _or_ function doc, even if a given symbol had
>>> more than one meaning.  So what's the problem with setting
>>> eldoc-documentation-strategy something like e-d-compose, you ask.
>>> Well, because of the default value of
>>> eldoc-echo-area-use-multiline-p,
>>> people would be seeing "bouncing" in the echo area while editing Elisp,
>>> which is something they are not used to.
>>> I think a very good solution is to set e-d-strategy to e-d-compose
>>> globally and e-e-a-use-multiline-p to 1 in emacs-lisp-mode.
>>> I once proposed this in this bug tracker, but the message was
>>> garbled by
>>> some side discussion, and I gave up.  And ElDoc wasn't so powerful then.
>>
>> Last time I tested Eglot's behavior (recently),
> 
> How "recently"?  Does it have this commit?
> 
> commit d00e05daa96700860dbb9dc6527105e464ffb960
> Author: João Távora <joaotavora@HIDDEN>
> Date:   Sat Mar 25 19:53:14 2023 +0000
> 
>      Eglot: take advantage of new Eldoc options for signature doc
>      
>      Only echo the "active signature", send all the other signatures for
>      the *eldoc* buffer.
>      
>      * lisp/progmodes/eglot.el (eglot--sig-info): Rework protocol.
>      (eglot-signature-eldoc-function): Rework.
> 
> This is also in the latest released Eglot 1.14, btw.

I retested it just yesterday (and now as well), to take that screenshot.

But that was Emacs 29. With current master, it is indeed better.

>> Eldoc took away half the window to display the overloads of a
>> function's signature. Screenshot attached.
> 
> This is exactly what I've been working on and discussing with Yuan and
> others, so I'm pretty familiar with the situation.

>> That doesn't look like good behavior to me, no matter the language or
>> IDE package used.
> 
> I agree, and this is why I changed it.  Let's hope noone complains
> (unlikely, but possible, as this changed longstanding behaviour).
> 
> But here I was describing something not related to Eglot at all, rather
> elisp-mode.el.  Do you have something to say about that?  Did you try
> the patch I showed Yuan?

I have applied it. What should I be looking at?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 11 Apr 2023 11:23:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 11 07:23:33 2023
Received: from localhost ([127.0.0.1]:36740 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pmC61-0007WI-3S
	for submit <at> debbugs.gnu.org; Tue, 11 Apr 2023 07:23:33 -0400
Received: from mail-wr1-f54.google.com ([209.85.221.54]:35630)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pmC5z-0007W6-Dl
 for 62029 <at> debbugs.gnu.org; Tue, 11 Apr 2023 07:23:32 -0400
Received: by mail-wr1-f54.google.com with SMTP id j11so10821841wrd.2
 for <62029 <at> debbugs.gnu.org>; Tue, 11 Apr 2023 04:23:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1681212205;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=9uJdsw9IUJKydsaKcMN5FEAhi0PY4yYb9fJ+Tqk0OXI=;
 b=MlP36Rsy49LF8LjB446xKiyIucCljv0bI/0uOD/uPUYXJ931J4YDly2YtaD9oy8bW/
 dt8PtTHXUw9u0ZQHVlwPzwVvyJxVXvvuXbfxjY4fQEOAAPgtB62g7vwmhfj+8hD9ojWJ
 malFWl2FgWn74y/0sSakZy+oYJCA3fm6NmlYVPSBodgRPWkJlaievWq7G3m0NIznfd13
 5UbnDj7vh8FuA/FQE9oS2VtTSa9PC6/l9GyonuXvAPyYBOUwa3Z2sN322ulGc4T3TCTA
 jagAm+8bHmkEcEfg35ipLNc5aRAREe2EgRCjmYgK3XhlewheoQuqbzDZ/d9Cl7wnLIAR
 oSlg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1681212205;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=9uJdsw9IUJKydsaKcMN5FEAhi0PY4yYb9fJ+Tqk0OXI=;
 b=PxOwfFLhivia3FVCoDl1qf/61k0Qs0lCjE5RtccSYMz5wLZj7xts90hA+gjEr8HW4m
 78MujaIXNT1ciP/+X1IE6I0y2I7w6Kho+bW6dbqMpFlCiEYBH711Uc1lt0ZKKoy7p+w9
 qvcLsTHCZRXvkQL7u/ny4pr9X4xNZd2BoBQq7rtOJZjhaUEGKuG63gs/A7d0z4k88Uqs
 cyho1MyTQFgXAVT8REsE1XcrDg+A7DxatrP6Y9ADdBuMjR82tb/HRO2zz1z1NWinYt0q
 ZVqSWDI92kthHgff6txz9uChdsgPV4YeRrUg3Kjaqurrv9Blf3/YRnMUGzfj2XnZUBt6
 ur3w==
X-Gm-Message-State: AAQBX9e7rvIBMwD5bsUdVI+wuDo6ExJGHYUzUmRW+4J+7TWQgzRyk7gB
 Zvs7ygersZT73dP/1jRQzp8cQy+n6YU=
X-Google-Smtp-Source: AKy350Y4fwWlORn8PzeNpQd5edBvCbXwZr1uXt+VUPEZ75SjvCG3vg/VWfX6jMjYwB0JJkE6bU6OiA==
X-Received: by 2002:adf:f909:0:b0:2ef:aff7:5711 with SMTP id
 b9-20020adff909000000b002efaff75711mr8504047wrr.66.1681212205186; 
 Tue, 11 Apr 2023 04:23:25 -0700 (PDT)
Received: from krug ([87.196.73.56]) by smtp.gmail.com with ESMTPSA id
 f6-20020adff986000000b002e52dfb9256sm7257462wrr.41.2023.04.11.04.23.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Apr 2023 04:23:24 -0700 (PDT)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
In-Reply-To: <dc1e8642-6c03-4078-467c-73ac87f9eee0@HIDDEN> (Dmitry Gutov's
 message of "Tue, 11 Apr 2023 03:04:56 +0300")
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN>
 <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN>
 <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
 <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
 <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN>
 <87h6u2y7uj.fsf@HIDDEN>
 <dc1e8642-6c03-4078-467c-73ac87f9eee0@HIDDEN>
Date: Tue, 11 Apr 2023 12:25:30 +0100
Message-ID: <871qkqmzit.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org, Yuan Fu <casouri@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Dmitry Gutov <dmitry@HIDDEN> writes:

> On 30/03/2023 11:13, Jo=C3=A3o T=C3=A1vora wrote:
>
>>>> You do need to set eldoc-documentation-strategy to
>>>> eldoc-documentation-compose though (this should really
>>>> be the default).
>>>
>>> Huh, I wonder why I can see both flymake + eglot in the eldoc doc
>>> buffer when my eldoc-documentation-strategy is the default value?
>> Because Eglot changes eldoc-documentation-strategy automatically.
>> It
>> shouldn't but the default value is really bad.
>> The reason the default value is historic.  Previously, there was a
>> single producer of ElDoc, and only in Emacs Lisp.  It would decide
>> whether to show variable _or_ function doc, even if a given symbol had
>> more than one meaning.  So what's the problem with setting
>> eldoc-documentation-strategy something like e-d-compose, you ask.
>> Well, because of the default value of
>> eldoc-echo-area-use-multiline-p,
>> people would be seeing "bouncing" in the echo area while editing Elisp,
>> which is something they are not used to.
>> I think a very good solution is to set e-d-strategy to e-d-compose
>> globally and e-e-a-use-multiline-p to 1 in emacs-lisp-mode.
>> I once proposed this in this bug tracker, but the message was
>> garbled by
>> some side discussion, and I gave up.  And ElDoc wasn't so powerful then.
>
> Last time I tested Eglot's behavior (recently),=20

How "recently"?  Does it have this commit?

commit d00e05daa96700860dbb9dc6527105e464ffb960
Author: Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN>
Date:   Sat Mar 25 19:53:14 2023 +0000

    Eglot: take advantage of new Eldoc options for signature doc
=20=20=20=20
    Only echo the "active signature", send all the other signatures for
    the *eldoc* buffer.
=20=20=20=20
    * lisp/progmodes/eglot.el (eglot--sig-info): Rework protocol.
    (eglot-signature-eldoc-function): Rework.

This is also in the latest released Eglot 1.14, btw.

> Eldoc took away half the window to display the overloads of a
> function's signature. Screenshot attached.

This is exactly what I've been working on and discussing with Yuan and
others, so I'm pretty familiar with the situation.

> That doesn't look like good behavior to me, no matter the language or
> IDE package used.

I agree, and this is why I changed it.  Let's hope noone complains
(unlikely, but possible, as this changed longstanding behaviour).=20=20

But here I was describing something not related to Eglot at all, rather
elisp-mode.el.  Do you have something to say about that?  Did you try
the patch I showed Yuan?

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 11 Apr 2023 00:05:11 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Apr 10 20:05:11 2023
Received: from localhost ([127.0.0.1]:36163 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pm1VX-0002Jr-IV
	for submit <at> debbugs.gnu.org; Mon, 10 Apr 2023 20:05:11 -0400
Received: from wnew1-smtp.messagingengine.com ([64.147.123.26]:51991)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1pm1VV-0002JX-Jy
 for 62029 <at> debbugs.gnu.org; Mon, 10 Apr 2023 20:05:10 -0400
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailnew.west.internal (Postfix) with ESMTP id 65BAF2B066F6;
 Mon, 10 Apr 2023 20:05:01 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Mon, 10 Apr 2023 20:05:01 -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=fm1; t=1681171500; x=1681175100; bh=8w
 IgOaQ8raaztTNe3SWlL/smvA2oSS0NByZbUbwU2SA=; b=dGzfe8oM9ms1Fu27gz
 sHT0T2aaayfW42MJMaq3kQEccDOL03YBWXj1g+ANo3WqjtoYk26XB8QN4vae/vkp
 rIyIBkYivDya+c5dS9PzctDXOJt4maSsijmUoJWqpOVhrptzylCisxmkHaPRc+Te
 EH+p4WjdCrCJyncAHacnkPYWmbkpCqmft3wJ+wFl05KpxciCkAwp+7CMF/g+eMp0
 bx2wYWixst6l+kzFdKqL9fD78q9RdIY/hOOVo7Rw5Fe+oLfDh8pzTLtiDp1wmRdw
 nprj60vbqNirZ8DhZKBOgg3nUwYqnhKREw6rbbq0X9b3giKmhS0LckiME1j3487Q
 72dg==
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=fm2; t=1681171500; x=1681175100; bh=8wIgOaQ8raazt
 TNe3SWlL/smvA2oSS0NByZbUbwU2SA=; b=Q/+ZYkEJGA48JYHvxS/PPCXFK0lym
 7BgucIw8f/bSx7ruVUCg/ggvUWva579C5G72Jk112BuYPOOqN+bUeSGW1R3GCriz
 Lyez+ZkppLAg3BSdjcG2LxHIAV0vqi7a030GTHSK00Uwnj7G3Hg+mjzBA1R4WfTv
 cSLGLpA+t/7/IfBg2bu3SaS3yMNNXYcDA8BhsTsSla614Kcfe5rKhsN+dAoSNU6I
 mZgZij0QLxGoAR7s8MdenTEnfYjszxICuXizt386ejApLRMbh2mQizMKvwE6h8yk
 rqyiJPGSgQIFzHWAwGJI1EUHk9eUV35GK+S6iLELQPCLaii3TY4Gke1PQ==
X-ME-Sender: <xms:LKQ0ZL0thcm9Om8pEcYAII-9q0UtL_bLPIJhzARBegnsvr7kp7wecA>
 <xme:LKQ0ZKFj_szZBrYDTMe-N8CnMusGF8AEuzAyaOoNhlz4odj8jZFltjlqEr7QA9RAV
 rFLjXu1e0HdJPp52JQ>
X-ME-Received: <xmr:LKQ0ZL5pn0NVyMuOKsa41dipktz21lcjCKAuJ7NFFdgA6_0rct7NPh98JLadDRHW>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdekfedgfedvucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
 uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
 cujfgurheptgfkffggfgfuvfevfhfhjgesmhdtreertdefjeenucfhrhhomhepffhmihht
 rhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrghtth
 gvrhhnpeehteekgfetieeujeeuvddtvdelteffleejteduvdefffejieehheeuteffveei
 jeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegumh
 hithhrhiesghhuthhovhdruggvvh
X-ME-Proxy: <xmx:LKQ0ZA0m7Ie2gm77HDLCl5uXJpslH6OzhO_W9SGB8MyX2BG4-gmHJQ>
 <xmx:LKQ0ZOGl-5-3MkYS6NzBnx9g4BLi1GiJyW77cdtRAGvCFuqMZIbOsQ>
 <xmx:LKQ0ZB9jgL-v9lEjcKp7HH7xKPFdDICzlk-kh3SvZ3Lp5mYjNIfdjg>
 <xmx:LKQ0ZAMGS986Xodx8XEj4b03DcuVOiWEu-eZffBlMGnlJoF0EA3qCXRcY5M>
Feedback-ID: i0e71465a:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 10 Apr 2023 20:04:58 -0400 (EDT)
Content-Type: multipart/mixed; boundary="------------VFu4DOIYkpXRiIY5C0mBujUd"
Message-ID: <dc1e8642-6c03-4078-467c-73ac87f9eee0@HIDDEN>
Date: Tue, 11 Apr 2023 03:04:56 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
Content-Language: en-US
To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>,
 Yuan Fu <casouri@HIDDEN>
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN> <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN> <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
 <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
 <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN> <87h6u2y7uj.fsf@HIDDEN>
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <87h6u2y7uj.fsf@HIDDEN>
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>

This is a multi-part message in MIME format.
--------------VFu4DOIYkpXRiIY5C0mBujUd
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 30/03/2023 11:13, João Távora wrote:

>>> You do need to set eldoc-documentation-strategy to
>>> eldoc-documentation-compose though (this should really
>>> be the default).
>>
>> Huh, I wonder why I can see both flymake + eglot in the eldoc doc
>> buffer when my eldoc-documentation-strategy is the default value?
> 
> Because Eglot changes eldoc-documentation-strategy automatically.  It
> shouldn't but the default value is really bad.
> 
> The reason the default value is historic.  Previously, there was a
> single producer of ElDoc, and only in Emacs Lisp.  It would decide
> whether to show variable _or_ function doc, even if a given symbol had
> more than one meaning.  So what's the problem with setting
> eldoc-documentation-strategy something like e-d-compose, you ask.
> 
> Well, because of the default value of eldoc-echo-area-use-multiline-p,
> people would be seeing "bouncing" in the echo area while editing Elisp,
> which is something they are not used to.
> 
> I think a very good solution is to set e-d-strategy to e-d-compose
> globally and e-e-a-use-multiline-p to 1 in emacs-lisp-mode.
> 
> I once proposed this in this bug tracker, but the message was garbled by
> some side discussion, and I gave up.  And ElDoc wasn't so powerful then.

Last time I tested Eglot's behavior (recently), Eldoc took away half the 
window to display the overloads of a function's signature. Screenshot 
attached.

That doesn't look like good behavior to me, no matter the language or 
IDE package used.

And then there's bouncing, yes.
--------------VFu4DOIYkpXRiIY5C0mBujUd
Content-Type: image/png; name="Screenshot from 2023-04-11 02-58-58.png"
Content-Disposition: attachment; filename="Screenshot from 2023-04-11
 02-58-58.png"
Content-Transfer-Encoding: base64

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
c8kqhSCXi1ax9Yg8kEP5yMsuosRwEBToIMgZgNNhVAmXvMWFpGQWkl3ooaTMxGdBQGAAoWGh
NI520SD4T1xC4t7HrvhE0rJzKPI6CA4Jp15MLC1jG9bYNspyd7F5SyJZxRDSoDnt2rei/v4i
U28eqakF4AwmKCio/BForzGws0qzKo4jl2KfHWdQCKH1Yohr1Yz6QcdwfS03+3ZtZcfebArc
Bs6QUCIaNCWuRWNcgSc/MvQV7GXHzmTSs9046zcitlUbmoT/D3Syk+mUG09PE2X7yE9LpKgo
lzKfHYczHGdELBFRDXHU0OXM4l3sS0mk1A2O8OZENmnF/iV98eVRlFsAAcE4AoKwBwThcByh
/ZdlkZeWSHFhHmWmDXtACAGhMbiimxEUcGx9vzRzK7k5OXjKwO4MxRneFFeDxgRWv8hu7SjL
JDdlB4VFbuxhLajfrCVOO4CFt2AvbkJxhkTgsB/hOMoyyd2bUL6d0KbUa9KG4Jp+M3EK8655
mu69XmKTWZ8b/5vCpyP+RFPbioiIiIiIiIjIn9JpG1qKiIiIyPFxT7mRxiM/J8fRi1c3LOHR
dvrXlYiIiIiIiIiInFx/4vIyEREREal9FvuSUyi2wAhpQ7vq5tUXERERERERERGpRQotRURE
RKQSHylJe/ABjlYdaBNY18cjIiIiIiIiIiL/CxRaioiIiEglXlKSUvFh4GzTjjgVWoqIiIiI
iIiIyB9AoaWIiIiIHGRmkJxSioWduPZnEFTXxyMiIiIiIiIiIv8TDMuyrLo+iBNVkrCRCUty
iereg+u6hGDU9QGJiIiI/Gm5yUxIIKMUQpu0JS7SUdcHJCIiIiIiIiIi/wNOi9BSRERERERE
RERERERERP68ND2siIiIiIiIiIiIiIiIiNQphZYiIiIiIiIiIiIiIiIiUqcUWoqIiIiIiIiI
iIiIiIhInVJoKSIiIiIiIiIiIiIiIiJ1SqGliIiIiIiIiIiIiIiIiNQphZYiIiIiIiIiIiIi
IiIiUqcUWoqIiIiIiIiIiIiIiIhInVJoKSIiIiIiIiIiIiIiIiJ1SqGliIiIiIiIiIiIiIiI
iNQphZYiIiIiIiIiIiIiIiIiUqcUWoqIiIiIiIiIiIiIiIhInVJoKSIiIiIiIiIiIiIiIiJ1
SqGliIiIiIiIiIiIiIiIiNQphZYiIiIiIiIiIiIiIiIiUqcUWoqIiIiIiIiIiIiIiIhInVJo
KSIiIiIiIiIiIiIiIiJ1SqGliIiIiIiIiIiIiIiIiNQphZYiIiIiIiIiIiIiIiIiUqcUWoqI
iIiIiIiIiIiIiIhInVJoKSIiIiIiIiIiIiIiIiJ1SqGliIiIiIiIiIiIiIiIiNQphZYiIiIi
IiIiIiIiIiIiUqcUWoqIiIiIiIiIiIiIiIhInVJoKSIiIiIiIiIiIiIiIiJ1SqGliIiIiIiI
iIiIiIiIiNQphZYiIiIiIiIiIiIiIiIiUqcUWoqIiIiIiIiIiIiIiIhInVJoKSIiIiIiIiIi
IiIiIiJ1SqGliIiIiIiIiIiIiIiIiNQphZYiIiIiIiIiIiIiIiIiUqcUWoqIiIiIiIiIiIiI
iIhInVJoKSIiIiIiIiIiIiIiIiJ1SqGliIiIiIiIiIiIiIiIiNQphZYiIiIiIiIiIiIiIiIi
UqcUWoqIiIiIiIiIiIiIiIhInVJoKSIiIiIiIiIiIiIiIiJ1SqGliIiIiIiIiIiIiIiIiNQp
hZYiIiIiIiIiIiIiIiIiUqcUWoqIiIiIiIiIiIiIiIhInVJoKSK1yKIoaQnfvfkAVw89l7M6
tqJx0xv4sbiuj0tERERERERERERERE5ljro+ABGpxMqhYMUWSsvA0bw7kbEhdX1ER68kgV9e
vpt73phJkts6+HzQmZRZ1X9MRERERERERERERETkBEJLD3lpWRT6/KQRhoHDGU69yHCcquU8
BqXkpGZTbB68poZhxxkeSWS48zjLYk0KEtewcnMSadmlBNWPoXnHszmzRXj12zOL2ZeWQ6kF
YBAQ3pBoV8BhbyvLzyCzoIzytwURGRNFiL7vE1O2jE0XjyBhn43I51Yx7NmuGHV9TEejZD3v
XH4hD8zIwMQgqEkvRl53DZec25G4ZmfQObiuD1BERERERERERERERE5lxx9ali3l6d4XMC7J
V80bDIygBrTvM5Qr73iI+67sRuT/SqBl7mXGv99hdpqJ65zbeOIvZ2A/ms95fuPBLiP4ZJ95
yAsGNmcEzbv05bzBI7jujpsYHHekFMhH5tL3eOzBV/l2+d6qQagthCZ9ruHxN1/lzj4NDjs2
K/1zrmp1F3Pc5fsOHf4xOyffRLRR5U18eW1rbplaVB5aOofyQdKv3Br9p4jYpDZZ6fx4+wge
nJmBaYTTdcw7fPnWjXQJV1sQEREREREREREREZGjcxJjRAurNJMt877k+Wv70PP6z9lRdvL2
dkoxM1j82ZuMHfsm781KorpY9+hZmO5cdq+cxqev/o0hHdox5Lk5pB+abR7gI+n7m+gz8F4+
XppCsWUjLKYNXbp3oU2jUGxWMSlLPuKegX24eWLyEY7Ponj+T0zPqlpRa2VNZ9L8YjTr5/86
i7xZz/LwN8l4CaTNmC+Y/sFNCixFREREREREREREROSY1EJoGciA19eTmpZG2oFHKnt2bmDh
xDe4qUckNquUhG/v4rqxG/hfyS1PjJOL3t1RcS1T2L1tHctmfMW/HryczvVsUJrMrBdGMPCu
X0j3kxp6t7zFtTd/xc4ycMZdymszdpC2N571a9YTn5rOjumvcEmLQPAk8MXN1zNuezWxpc1F
06YujKL5TJqZXSmgtNg3fRLzigwimjYl/H+lglYO54vng+c+ZbcP7HG38N5bl9JY7UFERERE
RERERERERI5RLcQLBk5XQxo1alTpEUPTlp3pN/ohPpk/lUe7B2FYxawcN465JSe+x9OfgTMi
uuJaNqFF2670HnItD4z9iTVbZvB43/IgeNuHd3Lvd3upUnBpZTHphddZWmRhizyf16d9zyMX
xhG6v/DNCCVuyGP8MPUVBkbYsAoX8doLv5Dtr2TS3pq/PvAXGhkF/PbTTHL2v8fKZsak3yi0
NeGKB64jTiHV/yzf1u/5ZqUbywhl0MOPc354XR+RiIiIiIiIiIiIiIj8GZ38uCmsDw8+eBFh
BpiZC5m/yVvz+8ty2LV+OQvmzGbesrXszD662kxfXgoJCbvYnZjMntQs8ktPfFJWz76drF+x
iLmzf2Ppmm0kZZdWOx2qZZr4fL4DD+tAwOer8vzBh4l5HHOrOmIG89IvXzCmhR3MVH568V1W
V7pE1r5pfDklExMH7e54hTs7BPrdTmCnu3n5tjNwYJI++Qt+9ZtaQkj/0QxvZJA/dxKzcsvf
Y+XMZNLcAmyNRzDq3GBO3kSgFpbpw/JVelROaC03pdt+J33WLNKXbKC44Ci/87IcCtcvJ2PO
bNKXraXwaNqYZR62fyt3NzmL5pA6ax5ZG1PwVjtdrx/uTApWLyF91hwy1uzEc7wlyMd8LrV5
TX1s+3kSG8rACBnA1Zc3+wMGFBEREREREREREREROR39ARmDQb2zetLWAfjSSUnzH4KY+1bx
yf1DaRsdTetufRg4+EIGnXMmbRo1pO1FD/DZmtwa1k/0sWXcJXRo04qWcc2JbdKQiJBAghu2
pc+I23jp6xWkH20oZOaw/tunubJnM+o3akO3Xv254MLz6dujPXENo2h+zvW8PHUnVQpGyxbz
4BmBOByO8kfQ2by00QuYpI4fSsj+56s8gjjn9e3Htd6lEXUxLz4zlHADvNu+5NOFpQdeK/ht
KvOLLAjoxNXX9sB/ZAngpOc1V9DOAVbBb0xdUOR/XyH9GTW8EUbebCbNyad8DcNJzMm30XjE
KM4NPo4TOErW6qeZ6nTwtePg49uBb1Fogm/rFyzv2YyfOvRm9pAhzD63K5MatWHuc7MorSY8
tPatIuH+ofwSHc1/u/Vh1uALmX3Omfy3UUN+uegBdq7JreZIfOS+0INvHA6+Hfwfij2J7Hlw
IJNiWjGt/2DmDhnEjC6x/NBiICs+30iNsXzhZhIfvoj/Rjfml7POZfaQwczq0YYfm/Vm+Scb
8B5lkH2851K717SQtau24QUCzh7GhdFax1JERERERERERERERI7PH1IYZQQ6CTQADGx+cg1f
8k/c3r8/t7w9k/hcL9gCCK0XSbjTDt484me8xZgBg3ho9r5qgksfe3YlVw0ALZPSrHiWT/2Q
p68/h84DH2V62hFK4Uo28/F1vel97UtMXJlCkc/CMBwEBQdiM8Ayi9mz7CueHNmTIS8uJf84
KiVrh0HM5X9laIQBvr0sWri9IijzkrB+E0UW2KLPpV87e41bcXTqz7kNbGAVsnn9Tv8BqhHC
gFHDaWTkMXvSHPKtPGZNmk2erTEjRvXjJGaWfll7kygpWMz6v9zKjtXZGK4mhMZF47AbULKb
1BeuYMmEXYe1Eyv5J5b378+yt2dSUNHGHPUiCahoYwUz3mLpgEGsnr2v5gPIzWTf/93I4n8v
oMQDhjMEe4ANsPDtWcD2MYNYOH6H/3Zaso6tlw1k8dgZFOb7wOYksGkcoU3rYWStYMdtI1g5
pbo2fhLO5QSvKd6trN1YioWN6M6dtZaliIiIiIiIiIiIiIgctz8kZijZupEEL2CPJS7WUfVF
XwITbrmVT7aUQGALhj//E2vTCinMySa/IINNk//JyJaBULiWt29+mKk5/iKdQC54exvp6amk
JCeyK2EbG1ct4tdv3uHR0V2JtJlkLR3L1de+y/bqShutXOY8Npq7vounFAcx/e7hvZmbSCv2
UFJcQlH6Rn4ddzu96tswzGwWvzCGl5Z5yj8b0IeX12aTm5tb/shawCMdHYCNmJt/JnP/81Ue
Wcx9oA01x4rVMyJ607dzAOAjfvU6CiwANzu27cYHOFq1pbWj5m0Q0Jq2LR2Aj13bEvD43xMh
A0YxvBHkzJzE3JQ5TJqVVz41bL+g4zz6o2N0f5qL9uVyZW4uo6fdSYgdrPRk8qe8T0JWTzpO
3MTo7BQu25XOqE0f0ryZHaw80t77jNzK5Y6+BHbccis7K9pY0+d/YnhaIVflZHNlQQYjJv+T
ZhVtbOvND5Pit42Vs1Lnsu2TDYTf9C4XbMvm6tIiri7ex4j/PkNMjB3MLFKffZ49uYduw0ve
uLtYNzcLy3AQMuwlBsVnMXrPLi7bk8XohFn0GOkg6f9+oKSmbP0Ez6XWrimAdw9Je03AQet2
x9+WRURERERERERERERETn5o6dnChLE/kWmCvfkgLmhfNdooWfgWr8/NwbQ1YNi4Ofz8zOV0
bVgxqWlAfTqMeIIfpr3GQJeBb893/PubJPxlOgFh9WkQHUOTZs2Ja9WWTj3O5aKr7+HViSv4
fcJIYmwmefNf419zS/x8Gnxb3uPx8VvxWDZiRr7PwjnvcOeFHYkOMgAbQQ07cdHfxzN/0TsM
bdyMwU+O476z90++aico3EVERETFIxxnxWkagWG4Djxf+eEiNPAELr+tKe3burBhUZa2lwwT
sArIzvViYWBv1JjoI23e1ojGjcqrBN25ORRVl9WFDGDU8EaQPZ2PHvuYGbkGjUeM4iRnlmBz
4nBFEBARQUCYs3ztTE88e37YS+zHP3PmqPYEVJyjo92NdLm9KzbA2raMfZXW6PQtfItNc3Ow
bA1oMm4OA5+5nHqV2ljEiCfoP+01GrkMrD3fsfWbpOrXLk1bRH7n9xj00d+IOaNeeQdy1CNi
5HP0G3clQTawMqezZ1Fp1Q+6l7Lj/d/xWga2ro8w4IcnadIqrGI9UBuOuAvo8O1/6eyZRWpO
9anlCZ9LLV1TAKsonwKvBdiIiHRpPUsRERERERERERERETlutZAzWLjzM0lPT6/y2Ju4ld+n
/Id7LzyfR+bnYxkuBtx/N+dUWWTRw9KJk0jygaPT3/jnmNb4Kw4MaH8rD/4lGptVwvKZC8k7
pmlZA2lz4wvc2cUBZhpzZq7j8OUtvaz+4nPWuC2M0PN4+u0xtKlmMcigDn/jh62bmf7chTQN
OJbjqG0GrggXBmDl55ZPVWsVUViRPAaFhBzFlxtASIijfBtFhdWHllRMEUsWU76aRrZRPjXs
yc4s/Spbz97Ui+gwrMEhL9gJ79oRuwGY6ZSk7w/+PGROnESxD4xOf6P7mNb4W3nR1v5WOvwl
GsMqIWvmQsqquxb2VsTdcznBh23EwDlkOA2dBpj5FMSnVgkLrfXT2JvsAyOUxg/cR1SIn20H
dqLNfSMqplL2p5bPZb9jvqYV51SQX17hazgIC6uT1iAiIiIiIiIiIiIiIqeJI00gehQ8LHik
K40fqeEtRggdxnzEp387ZApJXyKrVmVg4qDNsIvpXG0IGErPvt0I+HQm7q2b2OGDnsdy5Pa2
dO0YhLGuiL2JyXjpQ5VdmSksXbITLwZBfa/k8uY1xX0Goa7wY9j5yWIQEBhQHjiWecqDKcvE
NMsTKsPf4qH+tmJUnKtp+q1g3a98itiP+TDVxP4HTA1bPQcRF19EuJ+5SG3n/INzv70Er+Ei
omnFefkSyV6VgYUD17CLqVdDG4vq2w3j05n4tm6iwAdR/tqYsytRXavZSFAkgSEGlFh4C4oq
vWDh2bSBIh8QcCYxAw8NB/czCDinP5EB35Pub67e2j6XA47xmh74mKOiP5t4fXW2wKuIiIiI
iIiIiIiIiJwGaiG0rJktsi/3jf+A50d3JPzQHM1MZ2+GCRiY239h7Gvz/FaOAXg3pGEaYObl
kOs3XfOSveU3Jk+dx4oN8ezJyqPIYxAQHEpkoyaUbvQBFr6iQootqlbK+VJISvEBNqLbt6fB
0eV9dcykIK8AE7CH18NlA2yhhIWWB0ulxSXVTnF6kJeSEg8WYISGEVrTeYcM4uGPxnN2kokj
bhAD6iqzNIJwdfZfYWhE96DplT2qPmmmU1LRxqztv7C5hjZmbkgDA8jLwVNNgmuERhJQTRUu
B7ZsgVX56pu40zLKnwppSXjj6kNxI7opwYEGfhcYreVzObjTY7ymFWzhLsJtgOWjqLAEi6Bq
j0dERERERERERERERKQmtRBaBtL/1WV8fX10pcDCIuvHWxl4/wzyC3IIiG11eGAJYJVQXGwB
Pnb8/DKP/3zkvdnsdg4tCLNyl/P2HWN45octFBwpoPGX5FlFFBSWr80XHBL85wherDwSE7PL
A8f6DahvA4xw6rnsGFh4M9PJMqFZTUWjZibpmeUhmCMigrAaT9xJ22G30rY2z+F42KIIjj6G
eXmtErwVbazg55dZexRtzLDbq28DNttxtA8Lb2HxgXDYXtMGDCd2pwGF/jZTy+ey37Fe0/2C
XLgCDSi1yM7ch0Xkn6PviIiIiIiIiIiIiIjIKacWQkuDoHqNado0pkpg0fS2J7hp3Gze3rGV
8S9+xT2Tbzk8QLO5qBdhg3SDphf+nTsHNjxi6GGL7E3bykftjec/Vwzjwdk5WI4oul16PVcN
6Un72AaEBRqYPg9FOenMH3cf45YW+d+oEY4r3IB0k5x9OTVOk3rKKFnJkjUeLOw0696VhgZA
MG3aNcfOVnwJ29npO0Jo6d3J9p1ewE5c2zZUW0B4KjGCsQcdQzRmcxFY0cZCLvw7ZwxseORd
RPbGVas1yAb2YGf5VL7u0prbl+XG566mRvZkncuxXtP9HK1o29IB67zEb46njDY4j30rIiIi
IiIiIiIiIiIiJ3F62OB+3P/AeXz09znkzXiVsYuu4a0BIVXfY4+lZXM7xnYP/8/enYdFVT1+
HH/fmQGGRVBUxAXFNbc0NSstLdO00jL7almZpuVWpu3Lt/pmVj/bzSyXymwvU7OyssU1LbNy
38V9QVARkB1m5vz+AAUVEGQQtM/reeZ5kpk5c+459965nc+cc1NDL+f+p/oQUsyPSV88jpcX
xuOxR9D346V8clvtfDYqA9+fHmHCsgIKsdekTi0H1rYM4lf9wzZ3N5rmc3+/IrPsOHKm02Vl
ZZWgoIIY4ud+wrcHPWCrzGVXXJhzj04HDVs0xd/aTNKB31kS5aZjIRvi2vwbS2M9YAXRrEWD
0l8r2CssrMKC2JPZIwiqbYetmbhCL+eCp/pwBnMKS8iGb5VQAEzSHlKOGAjPPyQ0B/eTlllA
aFlq21LMNj1en/q0aB6ItSaBxHWr2eG+jiYlOW5ERERERERERERERORf60yiiiIXHdn/CfrV
toN7O1PHfMiuk6eYWdW4omNTHBgSfpjMJzvcxfwMN7v//ocYN9jr3srI3vkFloAnmqjtqQXf
49FWncuvaIgdyFrzKdP+Si9mPU5ihVAx2AIMSXv3En/6m0sWi0lYwLNPzSTOA/aIWxnULfj4
cyFX96BjgAWutXz5xep8b42YLZOVn3/FRhdYQVfRvVOQdytZXljVqNqxKTYMmT9MZkex9zGv
VAK/ps3wtwNZK4ldmljA6wxZf/xGfEE5d7nYlryctLq0JX4WuNZ+z9xTDnARERERERERERER
EZGiKcXQEgjqxMMPtCfAMiQvepVX5p98oz47Te+8h45BFiZ5Ec8MeIE/EoqX8GVm5iQ8Hk8B
oaSH2O+f5911PjgKXAHTQYv+A7nU3wLXFiYMfpgfD5QgELKF06xplexw6ffP+GK768zLOknG
3rn8t8ctvLMlC2MLpcuTD3FVngmsVtgN9O9RFZvJYuM7jzNpU/6xZcaGt3l8yhZc2Ai7YQDd
K5+duxGmbJvHJ+9/wvxtBSzV63V2Qu68h7AgC5IXsXbACxwq5j7mDbbW3QgPs4Ennv2vTyIh
I58XZa4navwPFDTRsrxsSy4bET370M5pYbL+4fMvN+G9PV1ERERERERERERERP5NSje0xE6D
QU/Qt4Yd3Lv56Pn3iDopC7RFDuSVJy6jguUhYelzdG59PY++9wvrY1KP3/vPnRrHvq1r+PP3
jRw2J5Yf2bwpFWzg3vUpY95cxqE8qYnnaBRzX7mNq+74jmZ39aaGDUzKIfYfTjklXLE3HMwr
D1xEgGXI2DCJXm07M2LCHFbsPprzWg8ZRw+ye8sali/+lSVbkwqeuYkvl/2nJ7XsYFJ+46kb
+/PGTxs5fPxehW7Sj+xl6/aDBcyE9JCwcxUrVqxgxYq/+WPRL3z7yZv8d2AnGjfuzku/H8Fj
OWlw5xTeH1yfE1bktKrwn+eepEMFC0/8Ah67thfPf7+FxGPt7k5g83fPcdN1T7I4wYMVfCVP
je7J2cgsPTsm0attN/oP7k/XS3rzbqEz8wye1KNkJSZmP5IzctrbgzspMffvR5Nxn2aCnxU5
kFZPXIaP5SFz6XPMb309K9/7hYSY3Nm3JjWO1K1rOPz7Rgq6pWSJBF5Nw0HNsFkG1/LRLL71
VQ7sSD6+Ta6dv7Lx1p5s8O1FnToFr7Fasm3xXpseY6vVi35XB2OZTFaNf46ZsWUZooqIiIiI
iIiIiIiIyLnKMsacWcqQtZiRDTozYY+Daybv4ueh4eSfe7nZ9PLltH5yOem2mgz8Zj1Te1Q8
8bXu/fz4eG/uHLecI56c6lh2/AKDCXKkk5CYhtuAFdCLTw98ze3Bed6b/jejL7+KMStTMZaN
gLAGNK5XFZ+UA0Rt3smRTIuQK8Yy/6V4+l31EptdABZ2/7rc9/0mxl/tm2ebdjFr1M3cPWUV
icdDGwubjz/+9kxSM+edBmIAACAASURBVFxkt5adug8sYsu4Kwq+p6DnALPuas9tn+4iy2SX
Y9l9CQjwwZ2WSobLg735M/y9agwXHVvTNnMug2r0YFpc4YmRFVif7k+8y/tPXk21fPMtDwfm
3EuXW99lY5oBy8I3uDq1wpykH9zHgaOZGANWQDOGTZ/H2z3CT0ivzYHJXFN3OPM9rXh+1d88
3ayQ+2KuGU2bi59jrb0b7+2Zyz1hBaefaV/fRljvL0k2gBVCv29i+eRGv/xfbKKJ6lKXvxYU
vMAtAD6taLnqb5oXUkcA3PuJfrw3v49bTmaefcwWGIyPI53MxLTsvg3oxeUHviYy+IQ3k/Bc
G34cvQaqDabTnnep7pvPZ2TO5c8aPdgeZ6PS6BVc92yLE/fzpD9Z1+1a1i1LzA4LLV98wsPx
JZG0mKN4bDWpN306Ia9exarlJv8ySrIt3m7THBkrR9Ou/RhWZViEXf8Oi2cPo3F+7SMiIiIi
IiIiIiIiIlKAUp5pCWCn8ZDH6V3NBu5ovnh+MptOmeZYk+tfW8jqBe8wqnsLwv1tWMZNRnI8
cQnZgSVYWMQSHX3SVE1nW575fg4v9rmQULshNXYrK5f9zvK1O0l01qPL/VNZ9MOjXFQxiIDj
6Y/BnXGUlJOzG59I/jNxKSvnvsnwbs0Ic9qwMHiyUklJPxZYguVw4kpJoKBbDwJgq85/PljK
jy/147Ka/tgsg3FnkJKUTLoreylbd/Qe9p9uFVrLjl9QKOF1GnPp9f155JUv+HP7JuY8XVBg
CWCj+g2T+POfz3jsxpZU84PMxGh2RO0gOjET/KrRsufjfP73n7xzUmBZmpxX9OWWun5YWPjV
v4Vb2p/FZMtekxqvLaT7gndo3L0F/v42MG48yfFkJOSEfDn7WNrJ+5i3VLiMC+cu5rKRnQmq
YAeTSdaBPaQcOAphbWnw3o+0vbkp/mGnCQvLw7bk4df6Yd56sCWBloeDc0fR9aYXmB9d6NEh
IiIiIiIiIiIiIiJygjOfaVmaMuLYGbWbmCPxpLgc+AdUoGJ4BHUjqhJQSJ6TlbCTjZt2czgV
AqrU5oLG9Qg9NpHPlciBA0ng54/T6cx++NoLmB2azaQfzqlHAqluO37OAAIrhhNZrxahzmJE
fSaDuJ2b2RZ9hKQMC7+AQEKq1CSyTnWCfUt/XVZ3UjTbduwl9kgGfqHViKjXgBoVijaLzttM
0m5Wrj9MleatqVPh7NxHM18ZcSRH7Sb9SDwulwN7QAV8wyMIjKiK42w0TcYhkjZuIy0+HSs0
kpBmdfH1ATC4DkeTRSA+ISE4fIrQRmW9LQDufXw9uDO3f7iVDGNhC4ygXc9bueHyJtSpdSEd
u19MjbLZ5URERERERERERERE5BxQPkNLETn3eI6wYurjDHliGquOuHPv+eq8mS8Oz6JvYFlW
TkREREREREREREREyjOFliLiVZ7kXfwxZwazf/mbrfuiiUlsy5jF47jOv6xrJiIiIiIiIiIi
IiIi5ZVCSxEREREREREREREREREpU8W4MaOIiIiIiIiIiIiIiIiIiPcptBQRERERERERERER
ERGRMqXQUkRERERERERERERERETKlEJLERERERERERERERERESlTCi1FRERERERERERERERE
pEwptBQRERERERERERERERGRMqXQUkRERERERERERERERETKlEJLERERERERERERERERESlT
Ci1FREREREREREREREREpEw5yroC5xQTz7a/NxGbBYG1L+KiiIAivCmVqB8/4Iu/s2jR5x56
Nq2AVeoVLXupe1ezek8K5pRnLAJqteCiOkH/inYQERERERERERERERGR07OMMafmSpK/zLkM
qtGDaXE2Wo5ewYpnW2A/zVuSfhpCsx7vsdcNtmq3MX39Z/Sucr7HdW7WPteGNqPX4DrlOQeN
n/iDdWPb/ssSczfJh2JJzDRg2QgIrU4lZwGvTD5EbGIm+FWkWpXA0+5jAu7UWNLTXRjLD7+K
VfCxAJNGesIRXMbCclYmMMCv1MsQEREREREREREREZEzo+VhS5WH2PXriXHn/CtuPev2ucu2
SmeJM6wBzZs3z300q0tln/M9rC2EeweTboikVq1a1KpZm/bPLicz3xd62DXlJurWqkXdm95l
t+cs1/OclMXB2R15f0Rt3n/gNjYl5vwOI+1rfnmgNu+PqMPnXy6l8CPPG2WIiIiIiIiIiIiI
iMiZUmhZqmzUu2UEfeo5sSxfIrrfzx3N/g3zC+00Gj6TVevWse7YY9U0bq+u3S2bi60fT+Kn
xLKux/nCwubwyVlu2Bf7sampDt+cE5yFze44zXLE3ihDRERERERERERERETOlFKkUmarfTuf
bY4len8s274ZTCOfsq6RlAee2K+ZNGM/mkjpHTbHsQPLF7sjJ1q0fLDbrZznfc9KGSIiIiIi
IiIiIiIicmb+VaGl6/BqZo4dxNU3j2Pz2Vzn0SeY8OoVUeQhYKfGBY0IsZJZMGkaG0+96acU
m4X9eODog+34TUCPzZjM+3wplOHezLibr2bQ2JmsPqwOFRERERERERERERE5E/+CtUrdHFk/
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
Ud1bEO5vwzJuMpLjiUtIw20ALCxiiY4u4fLCIiIiIiIiIiIiIiJyXrOMORY9yXEZh4jauI3o
+HR8QiNp2qwuFX0ADKmHozlKIMEhIQQUmC6dn0z6YXZG7SbmSAKpbjt+zgACK4YTWa8Woc7i
5N8ekvdvYuOOWJLcflQIqURYnfrUCS34PpBZCTvZuGk3h1MhoEptLmhcj1C/nCddiRw4kAR+
/jidzuyHrz1PWR7Sj0SzZ18McQlJpGa4cGPH1+kkKLQGtSMjCAs8XRjtjTK8p2TtUUoy4nL2
j3hSXA78AypQMTyCuhFVCTiLWb+IiIiIiIiIiIiIiJx7FFqKiIiIiIiIiIiIiIiISJnS8rAi
IiIiIiIiIiIiIiIiUqYUWoqIiIiIiIiIiIiIiIhImVJoKSIiIiIiIiIiIiIiIiJlSqGliIiI
iIiIiIiIiIiIiJQphZYiIiIiIiIiIiIiIiIiUqYUWoqIiIiIiIiIiIiIiIhImVJoKSIiIiIi
IiIiIiIiIiJlSqGliIiIiIiIiIiIiIiIiJQphZYiIiIiIiIiIiIiIiIiUqYUWoqIiIiIiIiI
iIiIiIhImVJoKSIiIiIi55E0fn/+Oi5t25bL+k5mi7us6yMiIiIiIiIiReEo6wrIiVL3rmb1
nhTwDafpxfWpaJV1jc5tx9rTnPKMRUCtFlxUJ4jTNbE3yhDvU7+IyDnBxLPt703EZkFg7Yu4
KCKgrGsk57xUon78gC/+zqJFn3vo2bSCvu9OYmJm8OobP/NXoj8d+11DQ3vuc7rWFhERERER
ESm/LGPMqWP+UkbcrH2uDW1Gr8FTbTBz97xLV1/vlOxJjSMmIR2Dk0rhlQko9Tm2mSTGHCbZ
Dc5K4VQu5AM9qXHExKeDI4gq1ULw0iaTtz1dpzznoPETf7BubNvTJPfeKOP8kZEQQ1yKG3xD
CKsaVMTtdpF86CCJmWAPrEx4RT8v1ET9ImfDsfNYPl+TloXDrwIVK1XAT2sWSGEy5zKoRg+m
xdloOXoFK55tOST8KgAAIABJREFUgf307yoiD6lxMcSnF/9SznJWIrxywPm/5IZJ4+CWVazc
tJfDyS6cIVWpFtmM1s1rEniObnzST0No1uM99rrBVu02pq//jN5VlLzlcrH+hUtp87+VuML6
MWvzx9x0PJk8n661RURERERERM4/GtM/j5nUffz14wymT5/OjB//Zn+qB+PXmUk7f2VY9VIe
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
v7K194y1oz13TP208udeWZ7tLHh3Mm+uKsL/vE48VNGjQkVEREREREREREREROSEcELMtKys
gt8m8dqPORhHK64fexXNqpRUC6DXQ2/x6BkR2KaQrV8+yMXtGtGweStaNW9I47YX8eDXRVx2
9530iPYW9kK+uzOOyMjIQ7cGJ3HvwsLiOs65g1aHvN+Y81/agLdJi3bMMG7oF4bl3s57z7zH
drdFWL8bGBZTB03v3knCTjdgE9n+JLyGQURERERERERERERERE4oShvtZ1L5asK7bHRZBJ52
J3efF1z1MsLO4LFvf+Tde/rSOswBppCMXQkk7MrERPXitrdn859hnWge5XVdVt+zmjD4hkto
uL+l7YZccsNgmtTBLEeTnkhilgdw0u7kdifWNF8RERERERERERERERHxyjLGHK0nLNZr7o0v
c263B1hW2IirPt7AtOGNqFFer2Avm9ZtJiktH7+GcXTq3JpIPwBDbkoSmYQQHhFBsN+Js0aq
64/HOPW0p1nrachNX+5k6qDAuq6SiIiIiIiIiIiIiIiI1AOa7AZALosmvsEv+QZnxxGMHVzD
hCVAQBPad29C+yPesAhuHEM15nEe89w7E0hyA852nNzer66rIyIiIiIiIiIiIiIiIvWEkpYA
+WtZnXUql17Wg7bX3UWvgLqu0PHIkJq4k1wDVnA7OsQexSVyRUREREREREREREREpF5T0hIg
sBf3TJ3JPXVdj+Oam50JO3ADzjYn086/rusjIiIiIiIiIiIiIiIi9YVd1xWQE4WLnQm7cGMR
0K4DcZpoKSIiIiIiIiIiIiIiIiWUtJSjw5NM4s58DA7iOrYnsK7rIyIiIiIiIiIiIiIiIvWG
ZYwxdV0JOREUsDc+nuR8CGl+EnENtDKxiIiIiIiIiIiIiIiIFFPSUkRERERERERERERERETq
lJaHFREREREREREREREREZE6paSliIiIiIiIiIiIiIiIiNQpJS1FREREREREREREREREpE4p
aSkiIiIiIiIiIiIiIiIidUpJSxERkTphyElYxvSXx3L1RWfTs1MbmsXcyGe5dV0vqbTMT7g2
pjltOvXknIuu4e+vfMpPiWpAERERERERERGR6rCMMaauK3FCMWls/m09e4ogJPZUTm0ZXNc1
EjkmuRJXkpaQU8Y7Fs4WXWnQKvSo10lOUCaNrN/Wk18EzthTaVCZ+3pePF/9+2/c/eJcEgpK
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
ljMPPSxn3DkntSSVSo/0Gzo0LZmT56bMTVvdiLz/kkuy/XfG5At3FXn96ffknv/cKS++1N3x
zG/ywUNOzP8+ufTCcqU+zT0b076odekF5UqaRr83F/3lFzlu1CoeS9r+TC479Zh86IL7Muf5
ikIldY0907N+cRa2dWTJkq/P5p+6OY99b78VR2wufjjfP2y/fPamWUsKEpW6NDb3SmN1YRYt
LtJ376/nL2dMybsPPzfjqkumXd/3gJxz7/U5dXR92q46McPe9svMatglX7vv7nx5h/ok7bn5
E1vmTT+clOEfvz5PnTcmjUmqD52VPXb5Su7rGJAP/GFyLjqiacV5qU7M1Z9/Z0743l2ZuexZ
hZX6NPXulz4NrZk9Z1GqRVLp9fZcPPnyvKffCh/Ov87YLbudfn9qG38414z/ad68soy+xdfk
34YfkV/MqFvlcnlebXIuO3GfHH/xM2lfujwq9T3Sq1djqosWpq2jlvodv5K77zszO6/mqbGL
Lj8+Q975m8wvklRa8r7fP5f/eVvTqj+QJPP+lgcOPSwP3Lk0/rTSI41Dh6ZH5mTRlLmp1W2a
LX/7jRQnvz9Pz6jPgDPuyeFffV1eUtepTsykz78zd3zvrixerk/revdLY0NrFs9ZtGT96PX2
7Dv58ozq9+IJrNgf40/cJ3dc/MzSR0lWkvoeaejVmGLRwlQ7aqns+JUcft+ZGfB8fyzOxA8O
y80XzVz9/K6gMRt968Ec+vmtXzo/yzz3u9yx23F5ZmL1hXnq2ZzK4oWpdhSpDD05B467IMNe
vA6sRX9Urzoxl7/tl1ncsEtef9/d2XHpuv7cJ7bMDT+clJ4fvz5HnTcmdUmKh87KNbt8JbM6
BmSLP0zO3itZ11/9cqlm9hm75erT7082/nAOHP/Tl85nkiy+Jn8bfkSemlGXAaffk8P/c6dV
9+e6WLY9t8qon/wpe79/q9XcRdOWaZ/dMX/57pMpGhpSqXYkA47Lfk/9OiP7r+ozL/THmu3k
GlbeHy/7mxuRLS65JC3fGZP77ipetk/b7j09e+9zZu5rq2TIW87PLVf8e7bt6tzQYlL+9Y0t
c+NDL3MrRf0u2eebd+UNm6y+AFubdkmu+8YH8+iymwgq9Wno0Zjq4tal+5VK6jd+T978xQuz
zeCVbwQ7YxovzN/kPPmT/XL17cutp3U90tijMUX7wnRUa6nb9Ms5/htnZPC6eK5k2yP50dEH
5BPXTkvRvHvOvOuOfHkn4bAAAAAA8HLc+t+Z+u6Vr1xzSy785MHZvG99UizOnMnjM37y3BRD
9shJP7s6Pzpm+wwfsvqrpg2jjstFt9+Q8z68fzbrU59KUU3rwtZUi0rq+2yW/T98Xm68/aJV
FyyTpHFU3vGj23PvNd/PKYfukCHNdUtiHtsXZkHrsoJlUmloTseC2XlJkmaP7XPqFdfnxyft
laFNlaSopX3R/Czq6JOtjzozV1zx+ey68YC0PH9lvki1dUEWdUUyX/2IvOXsm/LPG8/PqW/d
KUN71qVSVNM2f1ZmzF70fCG3kucyadI6GEtTNyzvuPD2XP2t92WvET1TVylSVNuyYN78tHbU
UiSpThqfiS/TlOb9jsu7N29KJZU0bfnuvHufNbio3XevvO6aW7LXJw9On6XrWPvk8VkweW4y
ZM+M/vmfsvtb+qTWXiSppKFPr5VPp35Ehp99U9564/nZ9q07pWfPuqSopjZ/VtpmL3q+aFDJ
c1n0cn1aNywjL7w9B37rfRk0omcqlSKptqVj3vxUO5ZUzItJ47NwXQxz2vid2fPan2erfYal
rpIl87RwQaodRVJpSo/+Damt7DGvndkfa6O7tGOZrli2lfrU9RmYXju8MZt+4pyMue+e7Lva
gmWSNGXQSf+WgT0qSUdHiqIuzUefkOGrLFh2otX+5vbI6J9dnT2O2T49X2a7vkzTrp/NuZ9+
fXpXapl6zal589Fn5YZJa5Rl3G3UDT42h57+lxx40P7p11yfFNV0tLWmKCqpNG+WEQedG+Aj
VAAAIABJREFUm3ee/ovVFhs7YxrPqwzL6JNvzdHHvTfDBi5dT2ttaW+dn47q0ryDWeMzfx08
RrR90vX52tGH5tN/npZapU92Pe3cfFrBEgAAAADWiJGWXaVtWp54+MlMmtWaxoGjsv0Om6d/
Y5IUWTh9Uuamd/q1tKRX48s8j611Wp589KlMnNWWpgEjsuW2ozN4dUl5q1C0Ts/YJ8ZlyszZ
WVitT1Nzr/TuPzSjttgkA5tXXy6ozpuQRx4em+ntfTJ8y62z5bA+S0YhdszJ5Mnzk6bm9OzZ
nObmnmlqrFv1qK3O0jZj6bzMyoKOhvTs1Tf9h26azTcdvCTKcl0q2jJj7KN5ctLMzGurpKlX
77QMGpFRmw1Lvx4v3xPFvHG598HpGbTjrtms7yvsubZpmffwk1k0qzWVjTZPy/aj0qMxyZSf
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
4mEBAAAAAACAUomHBQAAAAAAAEolHhYAAAAAAAAolXhYAAAAAAAAoFTiYQEAAAAAAIBSiYcF
AAAAAAAASiUeFgAAAAAAACiVeFgAAAAAAACgVOJhAQAAAAAAgFKJhwUAAAAAAABKJR4WAAAA
AAAAKJV4WAAAAAAAAKBU4mEBAAAAAACAUomHBQAAAAAAAEolHhYAAAAAAAAolXhYAAAAAAAA
oFTiYQEAAAAAAIBSiYcFAAAAAAAASiUeFgAAAAAAACiVeFgAAAAAAACgVOJhAQAAAAAAgFKJ
hwUAAAAAAABKJR4WAAAAAAAAKJV4WAAAAAAAAKBU4mEBAAAAAACAUomHBQAAAAAAAEolHhYA
AAAAAAAolXhYAAAAAAAAoFTiYQEAAAAAAIBSiYcFAAAAAAAASiUeFgAAAAAAACiVeFgAAAAA
AACgVOJhAQAAAAAAgFKJhwUAAAAAAABKJR4WAAAAAAAAKJV4WAAAAAAAAKBU4mEBAAAAAACA
UomHBQAAAAAAAEolHhYAAAAAAAAolXhYAAAAAAAAoFTiYQEAAAAAAIBSiYcFAAAAAAAASiUe
FgAAAAAAACiVeFgAAAAAAACgVOJhAQAAAAAAgFKJhwUAAAAAAABKJR4WAAAAAAAAKJV4WAAA
AAAAAKBU4mEBAAAAAACAUomHBQAAAAAAAEolHhYAAAAAAAAolXhYAAAAAAAAoFTiYQEAAAAA
AIBSiYcFAAAAAAAASiUeFgAAAAAAACiVeFgAAAAAAACgVOJhAQAAAAAAgFKJhwUAAAAAAABK
JR4WAAAAAAAAKJV4WAAAAAAAAKBU4mEBAAAAAACAUomHBQAAAAAAAEolHhYAAAAAAAAolXhY
AAAAAAAAoFTiYQEAAAAAAIBSiYcFAAAAAAAASiUeFgAAAAAAACiVeFgAAAAAAACgVOJhAQAA
AAAAgFKJhwUAAAAAAABKJR4WAAAAAAAAKJV4WAAAAAAAAKBU4mEBAAAAAACAUomHBQAAAAAA
AEolHhYAAAAAAAAolXhYAAAAAAAAoFTiYQEAAAAAAIBSiYcFAAAAAAAASiUeFgAAAAAAACiV
eFgAAAAAAACgVOJhAQAAAAAAgFKJhwUAAAAAAABKJR4WAAAAAAAAKJV4WAAAAAAAAKBU4mEB
AAAAAACAUomHBQAAAAAAAEolHhYAAAAAAAAolXhYAAAAAAAAoFTiYQEAAAAAAIBSiYcFAAAA
AAAASiUeFgAAAAAAACiVeFgAAAAAAACgVOJhAQAAAAAAgFKJhwUAAAAAAABKJR4WAAAAAAAA
KJV4WAAAAAAAAKBU4mEBAAAAAACAUomHBQAAAAAAAEolHhYAAAAAAAAolXhYAAAAAAAAoFTi
YQEAAAAAAIBSiYcFAAAAAAAASiUeFgAAAAAAACiVeFgAAAAAAACgVOJhAQAAAAAAgFKJhwUA
AAAAAABKJR4WAAAAAAAAKJV4WAAAAAAAAKBU4mEBAAAAAACAUomHBQAAAAAAAEolHhYAAAAA
AAAolXhYAAAAAAAAoFTiYQEAAAAAAIBSiYcFAAAAAAAASiUeFgAAAAAAACiVeFgAAAAAAACg
VOJhAQAAAAAAgFI1PP7442W3AQAAAAAAAHgN80xLAAAAAAAAoFSKlgAAAAAAAECpGspuAAAA
AAAAAKypRTMmZvqCaopV/UNdrwweMSg9K+uyVawtRUvYEM29Mdee9d95tn3JJrtuxLty9GeO
ycASxlbXJt+Q8398U56rJXXD3pSPf3RMhthRANAN2EetSH8AAACwfmjPXWe/Pf9++ZxVFy2b
3pzv3nVe3tpzXbaLtaVoCRucWmbe+Mvc+8iD6SiSVJoycsweGVBKGPTiPPrnP+SuJ6elVmnK
DvvvkMEufr52Fa2ZeO9NufPp9gzd9cDss2VfGeWwDrRNvi83//WJLBq8c8bsu3X615fdou7C
PmpFr7w/5j7YP9/6Zv/cOSnZZL9Z+eIX5mS73uumtatU1OeZ+3tkZm3Jn5XmjmyzXXt6vaaX
LeubRZMfyaOTF63k4kslzUO3yXbDe+XlVunOmAas3xZl3C2X5aoHOrLNYe/KwaN7v8bX+bZM
+ect+etTHRm510HZbUTza7w/NkDVhZk69pE8+vSUzJq3MO2VHmnuMyAbj9o+O289KI1lt28D
1jZjXMbNaEsaWrLJ5hs77gTWwMIsmvxYWttXUW6tNKV5yPbp2fTa3KB0z6JldWFmTp+ZOfM7
0th3QAZt1JLm9egCW3XR3Mxd1LHqCv8ylcb0bumbJlft6UwdD+bea/+1pGCZpNJn/+xx4Cal
nJAUc/+ea++YnlqSSr835LD9Bjkxes0qMuOW83LGz+7L/CKpXPW3TD3zazlms/Vo4w7roWL2
nfnJmT/MXXOKpHJV7pj41Xzj+NEuWsQ+6sVecX8s7pnzPz04l4+vpEgy6dIh+UxLW/54Wmu5
JxjtPXPeB4fnqoVL/qzfcmZ++8fp2dHuhjJ1zM+MmQuW3lDYkN4DN0qfVf5Qqhl/2Rfy3vMe
TfUl79Vni5MvyVWffV1Wv0p3xjQ2JLUsmj09c9te9gz9JSpN/TKof88N/0a7ojUzxj6Sh5+a
nFkLq2nqOyAbjdgqO2y1cXqupzO/4LZv5AOn/DaTq0ndrx/I9686O4cOeO3u6Vvv/598/ewb
M6OWVK5/Op/89seyZ9/Xbn9sWDoy7Z7L84uLr839z7W+6FpkJU27fzQ/+oyiZdep5bmbf5Kv
XTYutZaD8vnzTspO3fNqO2zQehxwZv787UPT68VvVHqkd3ccZVl7OuMvPyFPTXvp0XqSpG5k
Nv/gn7Ldpq/NDUo3mutFGXfbJfnFr67IjXc/kamLlmURV9LYb2Re98a35D0f+kDessOAbn5y
Vc24K8/If/5h8kpOEF+kYZuccM5Xc/hr+7Z+OlWR1n9ckvsnLlv76tJywLHZpl8Z61gtk27+
c/65sEhSn+FjDs3Oq7jdrDbtnvzx+seyoEjqhuyetx28tTvTNjjtefrBR7Jg6RlU0f5sHnxk
Vt6+2bopEljHuifLpetVxz2QR+Yu++F1ZMrDD2dabXSGrwcXILt2/VjzfdRrwyvvj9r05jw4
ufLChbGikmcfas6sovU1PmK1DJU88ceN8vtHli6Puo7s8/5Z2W9I2e1iiSJzrvl8DvmP65cc
B1X65JDv3JjzjmxZ5TFQ00abZeutqul4/pVFmTZ2YmZ3rOIDXTSNDUYxPb8/9aCc/rf2V/zR
xr1Oz40XHb8BR2UvyjN//lG++b1f57Zn5qW6fLWjUknTgK2z3ztOysc+9NbsMKB7X4lZUS3T
H38iy64D1mY9nsem1HLoupqH2tTcftGv8tfpRfrs/O585M2blXwdq8icCRMye2kKQTF/QibM
rGXPvuvTMmXlapl22/k546d/z8xqkVQa0mfIyGw6pG8ai/a0LVqQHlsOT4+ym8maK2blX1df
mwfnFOm51UE5ao+hG/6NM9AJKj16p3///i8tWvIKVDPvX+dl4pSlx8x1gzNoz/dnUN91vxXq
HkXL6sRce/q/54uXPv78Be0XFGmfOy73/unHue+6K3P1536Ys0/YIb278UlDR8dqHv4KXal4
Lg/96foXfkcN22aXt+xezg+97ZFcd/3YdBRJpWm7HHrw5qs8UStmPJQb/nRtpteShu02ypsO
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
fXbOwr1acsmV03PbTQ+mY+/dyj4hZ40VqdVqKYpKKnV1z2+/VvuJWi21okilUr/iul7Uluzj
ln998eyMe+KJTJxdTc/+w7LZVptl4CupoHbMzbNPjc3kmQtS9ByQYZtvlU1bVrd2VTN1wsS0
Fkld352y6zar2v/Upd+O784nd1zzprTPnpCnJ0zNrHkdaeo/JBuPGJ5hLU2rPPdY0q8vvLJC
fxWLM/OZR/PkpHkpeg3OyK23zLDeK99PLevvlXnJMlj5BNZquazw/dXaC1cci2qq1epK9o9r
vi69Gqs7F6tU6lZ/7LT0GHnNzrNf+K4XprvsXH3Nj9NeOo1OtKwvlp92+/xMefbZTJ9fTY8+
G2XoJkPT7xUc5haL52TKxOcya0FHGnoPyMYjhqalxytseNGeBbOmLz22XJz26pJjy6aefdIy
YGAGtPRK4+omWZ2U8RM7UqQug7canYFr9PUvXEdZZoU+L9ozd8r4PDt9YdLUPxuPHJGNmlf+
46ktnJlp86qpq38155VLjpOXnYcVi6Zn3Pipae0xJJuNGpQll3DbM2fiuEyc1ZHewzfPyIGr
2o4sp7og0yZOzoy5rak1982goZtkSJ9yEp6qC6fl2QnPZc7iuvTqPzSbbjIwqzqlW+H3Wqst
90YttVottZd8ogvPkeE1qmidmPkzpmRxa3vqeg5Oz0Gbp/nlL7ou+3Rq85/JvBnPpb3alKbB
26Vv36W3yxW1F37flbo12q+uraJtShbMmJS21sWpax6cnhuNSnPTKh/alqJYdtxSy4ol0yJF
UU3x0o3QGs9Lbf6zeeixWRmwzQ7ZpM+an/yVfI5Uy4Snxqb1+b5oyLbv+ED2fVH+SmXAvjnh
6G1y2Q8eTkeSVCfngQeeS22XEau8MFLM/Ud++tVzc+vUaho2HpNPnnFSduu3brbmHR1LrxA0
NqZhfd2BTLsqQz9yTnrNrCWZm57nnpJhfX6RSSdsvXTVbU3TxadmxLn/SH0tyYy/ZvDJ/y8d
V/4g81aZh0vXqWXGDZfkyYXLNoJNGXn4OzKsjF94MTt3XfvXLEmZ6589D9s3G714lWi7M98/
+bzc3f7Sj3c8+qucesKvVjLhumz05i/m+ydun/okxfw784NPn5+/LyhS6bF9PnD2l/LmVcbZ
1TLxyq/mC5c8nWoqaRnzH/n+yTtnyX2IHbnvpx/N2bfMT1G/ZY77r9MzZs5V+dl/X5l7p7Qu
PZivpNKjf0bvc1ROOP6QjF7NLcbVOU/kpst+m6vueDTTFr3wfNtKXXMGbbtfjjzunTl4dL/V
HGy3Z8bDt+Sa627LPQ+NzdQFHSsvQFSas/epP84n3rCKuymrc/PUHVfl99fengfHzUnbcmcl
lUqPtIzaJWOOeEfettcmWb4e037fBfno2beu8HzhSq/98pkffzS7tj+Vay44P7/7x3NpXTq9
Sn2fjDrg/fn4B/bLsOVP8qqP538/e2aunrqyPVtSad4nn7rg49ljlSeGa7lcOmEd6yyd1qdL
rd061pHHLz093/jLzBfWq0oljb2HZOTo7bLzXmNy4N5bZ+CanLC/mnWsGy2Xzvjtd/aybZ/+
QK797W9z7d+fzuzFy4pdlVSa+mfLNxyed7/7sOy40ao37B0PXJhPfuuGzF5l3WbN+nLtt2Pp
vuvHmuyjVvDqt8mdvX682u16Z/VHbdyAvOctg3Nfxyonln3PGJufH9ex8nWj2pzvHblpLnhq
ybv93j4xd3y9LTedOSJfurQp85YePlfqq9n2LTNy+ldnZ+d+K/+mRc/0yflnDc6v/9qY+cs+
11DNrh+anPM+umazniQz72/J+T8YkD/c1SNzl5uvSmM1o984Jx85dWaO2Lb2ovmp5JELNs17
f9CcZYdddQPn57+unJS3DXnhv2pT+uVjRw3NjbOXfayW3U+bkF+c1NYpI7k67hqSg0/snykr
281Wm/Kjt2+VH63krYbtZuT3l83ISx/tVsm0+/rmf/+vX66/o2eenFlZZYF6xPsn5LovLVp6
Itk9+qPbqj6am2+bnGqlV/bYf/c0V5qz+/57pNcfrsvk227Jo9XdsqO0/PVD2z351hHvzy/H
F2k57Jxc9/23rPYZvrXnfpOT3nx67mitz3an/j6XfXSrpfupah47/5i8/bxH03DQt3PH+Qfm
qYvPyH/+8Jo8Nqf6/L6/vs/I7HPcp/PFjx2eLVZzE0Vt9kO54vzv5oLf35nxc5fbZ9f3zci9
j8kpn/14jt5+9fvsom1W5ixK1uqO69rcPHbNL/KjCy/LLY9MzaLl7lCo1PXMxju9KcefcmpO
HLPpCiNeqw/9IG9714/z5HI3WTTu9sVce/EHMviZK/O1076Zyx+e9fwND5XmEdn3pK/lvz62
74rP6K5NysUfeHPO+vtKDiKSNB307dz+46Oyit1K1nq5dNybbx32vlw04aV3i0z7zYfy+t+s
7DsbstNpf8pvPjyq8593WUzPdWd9Jr98ZOU77cZdT8mPT3vjKpIVOvL4//5Hzrz6uRTNu+Yj
3/9s9l/NtbRi7q0551MX5N7WSjZ+y1fznfdtnYb2x3Lx587KNc8V6bPnx/PdT+6dPqtZCYuZ
N+Rbn7kwDyyuy2bv+ka+/vZNO/EZfrWMv/xL+dJl41K32yn58Wd2zaQ//yI/v/yujJ//wrKt
6zkkrzv42JxwzF4Z/tJh2c+rzn4s1//217nqzicys2354/WB2XqfI3P8uw/O1i2rW6LtmfHw
zbnmz7flHw+NzbSF1ZUfW9ZtnLf+59l57+qexVosyIKFS76/ZUDLGvVZdeyl+cJXf5+Jy62q
DduckHO+enj6T74tF51/cW59Zt4Lv7keg/O6I0/KKce8Li0rLMNaJv757Hzx0mfy/KQqlTT2
2Tibjd4uu+xzcA7aa4usqiuWHScv2uiwfPajfXLldy/PE/NrKSr16bf9sfnCZ/fMs//99fz3
nVOzuEgq9f2zw3Gfy2lvHbXS44Zi/tjcevklufLWh/LcwuW3hb2y8Q4H5Ojj3pE3juq1bmJN
q9Nzz29+lAv/8lhmtT/fkjQO3CYHHvvBHP/GTbPCVZzVXDuZfcO3cuINK/uS+mx5/LdzxpHD
PO8S1ko1i5+9PE/c9PNMemZ82pe/w7J+QPqOfke2PPDkDB+66oc6VmdclyevOSfjnp6QjmV3
ctb1S79dTs+uh++W6f93SB58enGSpDL45OxzyqfT0iU/3CIdU6/JUzdekAlPPpHFHcvNS8PA
9B39zow+6MMZNqTPip8ae1Zu+tX/LVefW07t8Tx5wevz5Ereqgz9ZPY7+ZT0Xc28FDOuz5eP
/VQun9CRxpHvzA8u+VoOWqM7bNrL3rYVWTBvwXJ/12XwkEEraVRdWgYsf6Bdy6zps1Y7VLb9
sTtz17SOFCnSPvWu3PXEKq+wdLJaOjpqKVJJXUPjevKQ+pUY/KbM+Lc3pLpsYdSmp/c3T87Q
y8elkvY0Xv65jPjm7UsKlklSNyAL/+0jWaBguQZqaZ/7XObMnLfC3eYvvP1U7r/gS7ninC/m
inO+mCsvviXzVreyJ8ni+3PPtQ++cGDZ98DsPmZ4KTnz1Wdvyp//tShFKqnfZEwO3alrHtZT
6bNrxuzRf8mw+fbHc9sdk1dy99lSxcw8cP+EJe9X+man3bbNSkt9xdzMevqm/OS7v809k1uX
u1hXpFg8K0/c/Mt8/Rv/mwfnr3yBdEy+Ned/9Wv5xfUPZeqiFU8+ilprpv1/9s47Popq/f/v
mdlNNr0nkAChl1BD71Wk2RAFxa7XXu61XOvPfr3qvdfeUUQURRFQepcQakJLgRAIARJI733b
zPz+2E2ySXbT2Ejky+f1yh/ZmTlz5jnPec45T03azpJ/vc7XBwsdyC89p357ixfeWsLG2BRy
HCnHAQRfAvztGy/UytOsf+9FXvtqPYfPFddRbAOoqpHiszH8/unLvLo0jpKm6gkb88ktLid+
2Yf8dDC7RsEOoMrlnN35FR+sPI2x8WZaj4scl/aI1tL04nnMRHFReb3OqJjKc0iNi2LVl6/z
7Ctfsz/HTniO7SNO5rFLDifyWGvH1pi+lQ9efZef96RSZLSNzlNRDUWc3r2cd1/9kO3n7Svj
nIWL57H2zR8tW6OcI5Nt0Vr+aCua/llrtj1UZWhJ2xHIaytqDZYAqixxYl0w9z3kzyk7C4vx
tC9P3BbKN7trDZYAqlni8Dcd+Hh/c443AmdXd2T+7SEs21vXYAmgmiRS/vDnn7d05vU/NPX2
FyoR92fz1OjaqBml0JMPPvagtCaqRmLXx4HsKq59KmBKHu/e004NdKrE/vc7c81tHfhirTsp
BY4NlqASHGq2Oa9dhvRwIuSUKKLTZQTdUCaO8kJAwGv0BIa4Csjp0exKbXy9vYJ2BNdIbp7b
F42gULprJZtzHJ48AJWCXds4YlBB04eZV3e3qxdQivI4tuIZHnx7PSfLNHh36ERYiDcuIsjl
aez+5ilue+x7Thnsv0XO2srLCxfy0vd7SCuVQdTg5u2Nh4sEchlpe5bywm138u6+Yjvrl0RY
3z74iKDq9/PD0mNUtoowgP40q565iZuf/pzNx3Koki3Rpa46LaIAqlJFdtw6Pnh4Hvd+fpSm
tlNKbia5FUf4+LGXWJlUguQZTFhYAG6SgKrPYM9nf+fZFRccn/0uEhc7Ln99aOgxbiyhEqiG
4xw4UtKI7k2l5Mh+jhtUkEIZO66HxaFF25spE8ORBJWKuCgOFDU26ColcQc5ZVJB6sLokY6D
Ey4WalkJZ/74jP/8sI/0ChEP/yCC/C3RjEpVDvHrP+GNDzbjaLst5+3jy9f/zfdRpygwqKiC
iFarRRRUVEMBJ3cu5a3XvmRfniPZbuDM2nd48d/fsfHgaXKtxjVBkNC66nBz0+GqlSwZicQA
gvyboITZgEFWAQGNtvVeB0pRAUVVp/j1g6+JOleO6OZHUJA3rqKAaswjYfVHfL4jrx4fKBTm
FdSdh6qKqSyb00d38uvnr/DsG8uJd+xNaXmkLJ3tq3dSER5JZK9AXJEpTfqdX77/mTWpvvSP
7EeITkCVizm+6lcOlDZsTyk4yNevv86izQlkV8ogSLi6e6DTiiBXkp2wia/eeJMfj5X/CSkX
FXK2fcFnm5IpVlzxDgwmyFeHJKiYCpPZ+uW/+GhHDldW/yu4gvYAExVx/2Tfd6+SlppW12AJ
IBdRdvIb4r69jWMnc+3KDyVvOUeWPEXq6fRagyWAUkrpkVc4HpeMofLPmPEKhlNvcWDxM6Qm
n6prsAQwF1KWvIiji+8kKSX/T0s/azi8kU0XTKioGM9vZlNcc/RZhRTsuPNSR1oKuHvY+nbJ
pJ9NR2ZgvY5VcSIxtY5QN+gNjRJY2zWC3u4HSKhQETx60y/8T/pU1Yy1pCWSMZujW5cTE5tI
Wm4xJZVmtB4BhPUayKhpM5nUz78dp491w3DfJ2RW3E/Yl3GICiBn4fXK/XC8L7pftqKpnsyi
F/qHPiPzvv5tdnC4PGCi+MBnbPh2BWezylEQkTzDCB1+I+MXLqRXR6uiUCkgY+8GEgst1BR7
dWfcwkmN1A9R0R/8mYQaV3sR38kL6H1JCo7oOb71D9LMKgg6+s+YRri9E7qmKxNvvY3e1kmt
5B5m7fZkKlSQgodz7VV98LCTAtCta4jNAUbHgMljCYneQLZi5tye3aRds4Budt6nlh0j4axF
2Sx4DGR4hAPXSbWE5M3byDAFMXj2TMb3D8VLKSHt6B9s2nWKYlnFkL6FxauG8vZdEXXr4pjS
WPf5EquzhIDk3Z1Rk0YREeaDWJlN8oEo9qcUYTJmseubJfTt8RQT63mXyOfWsXh1CuWq5eCh
9evGoEF96dLBH28PV7QiyGYTRn0lFRXuDOhg5xCjFrL/6w/5Oa7QaqR1IaDXCEYN7kawB1Tk
pHL0wCFSi0yoqoHz275kWf/3eGSEBwIghY3h5ts6Y1JVCuLWs+V4KaqST076UU7GFOPd5ypm
Tx1MJ/dKzuxaxZrDuZhUmYzoHSTd2JMh1dZgMYihNyzEzzbEyJxG9Mo92HFAbhytGRen8Jhz
4DSaOoHHUFWChsxiTogJs8mE2WzCUFlCfmYaZ84XYVBVKtOi+PI9D/zfXEgfe9b9i+GxdjQu
db+pdXPfaWNrOM1vn/9IfJFikVO6jgyZNJ6BHd2oykpkz644svQqcuFRfvhiDd1fv4nudjYQ
UseR3HhbBwx1Nkgqlad2sPZgMw7HTuGx9swfzVyjrLhYmew0/rhIue4sejgbyjl3lqx2o9jB
5rH8iB8fbynhk2vl2u+QXfjp1UB252P/HCBr2PGLJ52b2JDqj/nz9OtenG/C20atcuWXF0IY
8FsGN4XaXNAYWfjvPA7c3IHt+Zafsn4LYtG8Sp6JVKmK8+d/azQ1c04KK+WNN0vo1E69GYu3
BvPM1zqHY1EHgkpIx3ppDi8zejgPMunRu0iVBbQDJjDWKi8F/7FM6K9h7+EUdkWf56HebRBl
dQVtAIkec+czctFr7NPHsnLtOW5+wL4xErWA6O2H0asCmohZzLB3QAGUvP0sXnYYn+kv8vHz
8xkZ6oaAQkXabpa+8TKf7s2hcN/7vPbTBH64p1vdd8nprHjpJVan6kEbyuSHX+SpWyfTx18L
5hJSdy/nf//6lJ0XTvD9i/9h1Nq3mFIvWk435lbm91rHlyerSPj8Hm7P+jsv/H0+I0Ja4E6g
lrL/vSd4dWMaJiQChy3k8UdvYfrwHgS4qhgKU4nd+AMff/wriSUlHPn0Bb4Ys45/Rlo2MlK/
R/g19j5kFcxH32PuQ8vJzs/ibNRyVhcN5L6P3uKh6d3xEqHq7Cqeu/tltmSXceCn3zh18+P0
rSaK2JFbFh3gBlslnVrIb4/N4a2Yljl8tWpcNIN5ak0sj1UrLOWTfHnbnXxzWiVw3qesf2Gk
HeWbgEbn3jbzXwhg2rNfMaGOAraU6Pef5fukph36pfCxjAtfy4ozRk7sP0zRpGn2U4+qRRze
n4xRFZDCxzG2ZiMhEjZxCv3WnuOY8QS79mQx9bpQ+/s1tZS4QyctbXQdzciObbfrV4qOsWHL
STxG3sE/bptKv0BXBFT0OfFsWvINqxMLKT32C99uG8zLs+tFsCnZ7Fj0LftyTCB603f2Xdwx
ZzhdfTSYS85xcMMPfL/xJKU5+/h2US+6v3A19Y/rSvY2lq5KpkwBTeBAZt4wi9H9uxMa6IVO
qiWwqpjQV5iQGgtPrYfm3il1ncubi65BUUE+9TMv/m87hSUFZB7dTnRZd+b8/QFuGBGKuwCG
rCi+fOsbYgorSdoeTfqUeTZ7RQ0D7nyPL28xYzabLefKijIKss+SFLuTPw6epyxlPZ986s+b
L87A0bCqxlMU93mDf8/rilYtZPvbT7HkWCWJxz149u3HGOQOpXs/5KnPD1JpTOPMBYWJETaz
Rsnhj0WL2JVhBE0gkTfcwYKrIunirQG5nIyEHfz83SqO5KWx+asf6f/OA0Q2PFA4D6Z0du8u
JHzO37n3uuF09pQAmdKUbSz+5EcO5ZcRv3IVR8c8zHB3az+knix452turJYfSjprXn+LdRkK
vpOf4t3b+9mREwKSi+5SRyJdwRX8pSFnfkXchs1U1jfw1YcxhfNrXsHngc/p7Gsz65SzpK3/
H3nlDjQtagUFR5eh2HG2cDbU4t9I/H05pYYm3mU4QdpvL+P9wGd08m17CeISMZKhXpvYU6og
eg9lZN+m7HMqxqS3idsTd6mNliKdu4fjIqRSpQLInPvlPyya8jEPDvWzCmU9aZve5r/r8+sY
xIQmChIIQdN48l8dOJRcjF+/4UQ4TBvpbJixZIdVqTy8nA8P17tcWU5xXhrH9+8k+pq/88wt
A3B21lq5qpiiipZHlmo8/PB1s1kKBW+qnviCzPJ7CPshGUEFTGl4LUuzuccNw+0fkvHEsAZ1
ppzWj8sEcsoifnl3CTk16SEU5LLznN/5Ecv3rKDH3Ge46obJBBnOUmhr6EFofAOqZpG4cWdN
Si60EQydHXlJJrdadIAt+yxKVcFvNDPH+tvvu9SRYTPn1PwrJxewbYdFMS0E9GfqnBk0Z8pq
ek5kQpfNrDwnI2ftI/rkjXSLaKjJrzoezymjRensNmAY/R0FkqhG0s7pmfjkGzw4zKem74OG
jWVkt/d45ds4ylSZ3N3bODqvH2NqDhEq5Yd+Z9MZAyoC2rBp/OOlu4m0WQAmz5jOqMVv8v7O
LOTyODbuTGfcvHCbzadCbmICmVZPSZeeN/HaS3Pp6iD7qyMYktbwy0HrGEhBjP7bszwwKaxO
ZOkNN6ex48v3WXqwgk5T7mDuoFrFthg8mKtnDwZkzpRFse14KbJaQvrBY8j97+XVv08hxNrp
If29yH/6v0QVqajlZzidLTOk+hQj+BExeTYRdTq3n1OrW2O0bMW4OIXHVErPHCYxq+Vu1K4d
BzKsuyVDgHNo6gweAwR3ek9dQG8731qVsY8fP/mGnekGTBnb+G3vTJ6b2nAOXxSPtaNxqdtk
6+a+s8a29OBatp03WQyWbr256f89z9xu1abRmcya8Btv/2slKXoVU9pW1h2ayRNjPBt8hxA4
kKtmD2xAr0JtHOsO5jRBHefw2KXnj0a+sLlrFOAMmewseXqxct059ADBR8/19xcywkaGVyR5
8fMebau8xeVcT1blKXSdWsQtU4245rrx6xJvksqqOyix/w93Kq8to7pCtynOh2VHRZv01ioB
g8qYP6eSXn4iKdt9+WGbJ0caDYCS2Py5H0n62p9cQiu44/5SxnRTKD/rzsqvfdmbKaACSrE7
3/yo4/p/6us4G0qhpbz+ujtJT3iTKYNqdmHZu37csKScne/4kmrdAgsuBu58J5dpga0gUiMQ
wiq482GlJmIpdZsfW1MsfUaUGXFTCSPsvFMMqsKvzjFKZM96D0uKYCs8u1cwZ3oVPUNlvD0U
NALIRpGqCpHSMugZ0ZDAl5oe7RJKFtG7kpGR6DthHCHVdBc7Mm58L6TDJzgRFU3OvV0JvaJ1
/EtA7DCLBVM+4MDGYpJWr+bYvc8w2M6hSy3azbaDelRBw8CZV9PFwdFWvrCXw8OfZeX7d9Gj
ph0Rj/BJPPLpx1TOv51vTlURt3wFCbc/R6SNENIfXsrXB0pRRD8mvbyUzxd0qV2PNT70mPIQ
n4S7cc/NbxObvZHv1j/GpIX1jEYuA3n4vRc5ed+b7Mwp5fiqN7lj47eMnnc/j/ztRkZ2bHrR
k1OX897PZzCpIoHT3uCnj24ivKafAq7+vZhw+xuMHNOHR+9ahLLgZe4caPMhogvunhYjqdld
a82ik8aOzb5c9e/PeWaKX83a5NbtBh5fsIwdHyUhn40jsVilb01OcwGtm2ddp3DVgK7RgoAO
vqlV4yLh6uFZuzbLHjV1rgUXdzy9vP5kh3UBjatbXZ2AasKlufWLxFDGju/F6rPJGJP3c6hg
qt1SLGrBIfYnG1EFDb3Gj60jywT/0UwbuoLj+8s5t2sXZ+bcSk+7DsbxHEw2ogoS3UeNrJWV
OF+npOQlcrLvQt58bBZhNZcFdCFDmPvkP9C/8gbrzxtI2fYHp6++jd42BDQmb2b9iUpUQaLT
rH/w7MK+NY6MWp9ujL31n/grr/DWpgwqT2xgc/IU7q6jm1CpPJnEOZMKYgeufuwZFva2zxWC
qMWtfp1ztYiTe49ywVYhbTxNngKgUJi8hx24NdjLif59GRcZVpvZQNCic7O0Les0ljlnzuZw
jCfDH3yaWyO9atpw7TiRG6dt5dCv51CyUjhToRJuo8CUdJ541fHk7kinbr0ZPGYaU6M+4vWv
D1N8Yh0bj0/hvoEOnCGEQPoP7myZH4IPoaGecKwIt76R9LMa9Tw6dSFQPEi6YkBvUMDm9GFM
3sS64xWoghdD7n6Jp6aG1F6VPAmLvJ5/hLjw9svLSCo8wMZ98xgyPbDNspKplecoGvEUb986
1CYlsoR3rxk8eNc5Ut6Pprg0nkMnTQyPrKaJiFbnVisjZDc01fNA44qbu/ufpt+TKwspKDPV
cw40U2JR2qNUlZCTk1OvPwJarwD83S8/Pe4VXM4oIDv6e0psUjiLPuPoOn4eAQHumAsOcH7P
j+SXWLxc1co9nDmYSNj0wbXZZS78Qtp5mzwVgoRL2By6DBiNp3sV5cnLOXdiNwVtbrM0ULT/
K/Iqbc5oUgf8h9xEh44+mLJ3khG/n0rrt6qVuzl94CihM4dZvsV3Al0n+mC22ubKk78lO7f6
8BaA/9Cb8PewU5nbaxhNlfwUO93Cp6u6sv1gHsEjr2JUk4eecvIT/8CgXvKalgJeI8cxyHUn
MdbEuUpJLB/fNoWfe0fQ3V+i/EIyJzK09OgZhHQyt0YpotO5NLnIuIb0Z1xIm36AHZgxmy0K
LsmzM8MmTySyRxgdg33Rmoq4cCKWbZt3k1pSwen1n/JNp3/z5ITGlUQtg7mzLNAAACAASURB
VELu9vd4dnlqCxVIDvKhC/5UPv8VWRV30XH1OYvhsuaaC8Yb/0PG8+ORG3yAk/vxl4eJ9O2/
kWtyIKlMWaSueJrUlS5oxGoeskBw96Sxeu7KmdUcPlateRNwjVzA4LBLQT2Z8zu3kqBXQZDo
MmUGAxupBeEUiJ2YMLkPa5YmYVTyidl9jAURkXUjIDFwMv6ExTFC0NF/2AAcJ78T0PaZzU1D
ferNSYmQyfO5amsiv52XUauOcfSkiTHDrJtMtZL4/fGWumViAJPuWlhH0W9p2pcht8xjWMxn
xFbIZCYcI//GcEJqXmRJl1098rqwrjRDT1APehKi9pOvAIgETvkbf6un2AYQdOFc9fDTBE7W
0m9IR/upcm2hmji5L4P5bz9Yo2AHwLU7vTpriCoygVJCcZvleGzluFw0FC5EL+WLrQUtjCK3
1NiL7N5Ijb2W0tQpPNYYBNzCxnHXvedIemMD2YqRU/HJVE0dW6/WTRvxWIvQFuPiRB5r8dhW
EB+TaHXeEgmecivXdKsrxXTd53Dr5Gj+tTkHRa0g/kACVWPqj81Fwik81h74wxFaukY5Qybb
a7al8rStaNryNVvwreLWf1TV+S37Rx0rWmm0BAiek8OP/yuzGqNLmNFFZNaznpRYJ7f+vJYc
GbpLAAIndnqQafMyt8EFLF5aSL/qvl9bxoDnw3nid43DPqkFnqzfW2v4FH0rePmHDOZ3sv4w
poIZk408eH0I0aWW96bv9OTUU3r61xMegdNyeetWHQ/86IJJhap4f1561JMzCVbjoaAw5NFs
nhxZvy7mxUPqVMF9T1SX2RDYmubL1hTrWwQzo24r4PG+zViXFYmcPKFWOSUZue2/mTw1oOVr
+qWkR3uEkreHqGNmVKk748bZRlNKdB8/js6fJnEucRe78+9gQfD/BYpcBhB8mLxgNh22/ERm
+jpWHXiUwePrnyxUindvI7ZKRdAOYubVnR3vB0Ufpt0138YwZgO3wdx91xiW/b9oqi7sJjrl
GSJrootMxG3aRpYMUu+FPDmvi913aLrfzL1XL+LQ6gLi9xyi/NbrGjhMu/a6lU9+7crit95g
0bazlFdlsH/Zaxz49StGzHuAJx66mREhjsxtMklrfifJqCK4jeLR/3ejjcGy3nt6LOSTzTfg
6unR9DnffJLovGdYP9Gvwb4svE8PdEIS5UoBuQUKBLSBkrzV43I5QSBw1Hj6/XKSBGMKBw7m
M31WUL3xUMk7uJ8Us4rg0o/xo+oZggRPIqeOISBmG/k5e4k6fiM9B9XfoaiUxx/khEFF0PRg
1MhgG/5oA52S4MGwWVNtDJY2cO3BrFkD2Pp1HIb8eOIv3ELvrtU3mjkde4hCBQTdQGbP6UOD
bZPgRp9r5jBwx9fEGQo4FJvCHRF1zx1Gg9G6HmrQaluos5Ez2fvzYrYX2lufZTL2/sS3exte
0Q76G0OHhDWqU0JOJ774Vt4d7FVvjEU6dAnDRThHlVJCUYlK86IuNIRMvJlpW+JYlVbMscR0
5IE97ctCQYebq22bAgICOjfXmvETJNGB3DCTEnOIfAWkztNZMCnE7juk0CnMGbmWE7tKOZ2Q
TOVV4+1kb3ESpBDGXjXYTg1XAfeIgfTS7uagsYrsrGLUyOB2th9SyN3xQaNzrjJ2Ef+Mrf/r
5arHvYLLGuU7yUytLZ0kuE+g/92f09nPKkW6T6RD7+4c+uJV8vQKIFN5aidl0wZb61HKlJ6K
pqpGKSUghT3GyLsewrt6LzRoJj6/zeNIfHbbpmOVj5J5IsPGsTeAkGt+YGhkJ6uMWUjnLk+y
97et1qxcMlVJGyiaPowACQS/yXSfMtn6sJHswh9sjJaBBIx4nF4dWr/Xcesymmu7NPNmtQh9
ucVQfMnlidjxOv52XSg2mRBQlSpykg+zf18siell0G0ud0z2s30Kv0BnGvqcCMGD/tfez8OP
v8B/PnqbfyyczaRRg+ndLZxuvYcw4foHePWNBxnpL4JaytG12zjX3pOZSx2oXDATY30vRW1P
ym8Zj/ly3KM7G2o+eWm2dVgFBFdfPDzqneoUI2azrRpexL1TN9wdMnslZzb+Tk3JBDGIiDnT
Gy1y32bQH2PrH+nIKgiuA7l6iv3Ds3MhEDB6MoPcBECl5FA0R+sXSTGlEn/cUrtAcO3HsIGN
RZ+IdIzoi5+9G6TODB4YYBGaqp6M9Nxag4mSzulzlgOI6DeU0X3ta34Fj770tx585Ix0Mus4
jYoEdgjG4vyqUrZ3Me8uXkt0/FkK9M00zcjpnEyptPCZFMKYyRGODbSuXRjSAmOB2HkEw+vn
dBE8GXTjIzz++OM8/vh9TO7cViPeynFp52gRTZ3CY01D2znceohXMRUW1BgOatCGPHZp4Vwe
a+nYpp6zerMKvgyK7GHHE9+FnsMG4muVD8ZzqS2PWG4KzuCx9swfLV6jnCCTHbXcEv5oK5pe
kjW7HiQT19xeXid61n9MBQNtlMRqpUiNmVQVOZWsrZ1/gszku4trDZbVv91SZl8ZaYXphI7j
Nmlhg2cXcUOnuveIoWVcZ2NYU867klxqpzFBYewz2fytn2q5VxGJ26uj1NpJvwl5vHu/oX3L
QUEhyF+tk4L3u0c68/gb/qz4Q0dmRWMPN2zrL08Pp0GleO9OjhpUpA7jmNCnLlNKfScwNlhC
NRwhym69wStor9CNmM/cHhLIuWxeGdWwhrBayp5tMVSqAi5DZjK9MWdSTQTDIz0cXBTwHzGa
vhpAucDJ0zaTUc7k2PECFCQ6T5xUJxqsLtwYGNkXDSrGMymkOVi+NCFjePDjdWxd8Q4PTOuB
lySgGrKI/el17pw9l3/+fJwyu4Wccjh69DwyAi5DZzG90bSeAm7NMVgCINFj0kTsHS00Q+7h
vx98wAfvPcVVIW2kzmrtuFxmEHxHMGGQG4Jq5vT+GBqUcVVyiN2filkVcBs0gRG+DTfSLn2n
MjFMAqWI2Cg79UzVChIOJWFQBTQ9RzEiqI0VGZqu9OnlyEtLwKdfhCUyWskj/YJNVhe1gDNn
S1EAqesg+vvY76fg05+BXSVAofTsWfLrfK+AT/fuBIqAnMGmTz5i1b5T5FU1c1Mv+NB96FjG
jBlT+zeyJ5aylyK+PYbXvWb9G90vpBlRviJhQwZjb0ppes3m0ccf5/HHFjDc7mHJUZMd6RKm
RUClOK+gccNza4ddyefs2RJUJIKHDGkk7bwr3XuFo0HFnHmhIS87EYKmM10ddUTrgbsLgNpk
ybMruIIraFso2XGU1AQMSbj2v4cwv7pzV/CZQZhNqiW16ARl+upnSijLzrQxFHoRPOa2WoMl
AP4ED5+JWxtb39SiREoqagWb4Hcd3Qd1shGtIrr+9xBq831qxXGKi9qhQUrwxdVqK7nEkZaA
4M2E5z7kyQsP88H+fOrXPBW9B/PQm3fgvWxFrZJC9KZLeMClt7jahY6wwRMIa+QOKWgct10X
xdGlSRizE0nIvpluTouME+kw+xW+ubrlq7CocbFLUyH1Zzo+9jWuxnqDYzyB/6NPY/ruI0p6
1I86cX4//tJQKzFU2dDPZQQzv/iKEUEmSo7/zq7FnxN/uhi1/q5F04UBkwc7ViQWbuXQ7uqC
6AJil7mMGOzU2JtmQqVw/xb2FSmAiN/YGYyxW/TC+RC8hzN5uA+Ho4tRK+PYFVvEaJuUlnJ6
PInFCiDg0nc4gxut9Sni6+frgP9EgjsGI5GLgkpJSWnt4mQuprBaYyHmE79xHal2X2Mm3ZrL
XDVVUG4CbNIn+Yy5nqu3nmRDugHVXEjyjp9J3vEzguROULc+RPQfyOChwxnSMxBXe+2bCymw
FroXpE6EN6a1bREE3Dp3IbgBYUQCeo9ijJPe4hitHBcnvDd8+iM8O7RldXAAtAHhTcixFtLU
KTxmhTGPpH3R7DuSROr5LApKqzDIAlpXd3z8XSivNkIZ9dQX+23HYy1BW4yLM3mspWNbQlF1
jQMpmI4h9mkqBYcSLEGhGdTSIoplcKqVyRk81i74wx5as0Y5QSY7aLdl/NEWNL10a3YdaAz0
7Vl3NgneMr71PrHmDkUir9Dmf42JQf3tpCntbqC7BOkOzmAVuRrKbR4zJ/ry/FM+De7LO2Vb
W0qiqATwa3AbuOl55N0CYm8N5HCtsy5SxzJe/3fJn1ontFUQZCbcWE5wlDc5VpoZcnRs/VHH
1h9BcJHpHlnJxMnlzLqmnMHBTayyf3V6OAtqGfuiDqFXRQLGTGBg/bXYZRATRvuw/LciDu08
QNkNs/C+JB29ghZD6sONNw9j8b9jKY1ayaacGdxiU7hOLdvLtpgKVMGVyFnTHdZxAxBcgwh2
YPwAEDt0IcxF4KjJTGF+MQreVieqfHKtucbUc3+w+OtYhzp/88k8FAHUslKLA4HDOaghYOAN
PP35tdx/chs/fPUVP2w+QVF5Cmtfu5Nz2Yv49u/DqHOUUnLIyrGsJQHdu9t3/moNBFd69LIf
oSoG9GfqrP5OepGj17dyXC43CF5Ejo/E89Beys/GEJs9m+ts0ropWTEcOCujCp5Ejo/E7jFb
6sKkKb1Z/8MJKo5GEVM0imk2ew61MpFDx/Wogpbeo0fUKwPQBrotrR/+jYTYCf4hBGkEUswy
pSVlqLhbnXCKKbbqFFyDQrBjn7U24EtIsAvCSTNKSRElCnUya0g9ruHumcf4aNM5qrIPserT
Q6yW3AkM703fvn3o138ggyK64W9vYyl1YvK9jzLZ9reqPbx39DSFikTnyffy2DTf1tn/BC2h
nYPt08y7G0NHd3PwoEx5RhJHjiZx5nw2BWVVGMygcXHFw8cP43kFUFEMlnNlo9GerYFqjf5E
QMk6zIZ1Jxx+v5xejCKAUlVBRVtaC13daVaW1AbKv/YAkQ5zXmPJTKVBetijXz3GR/v0eEx4
ko//Vl9HKSBK0uUpB6/gMoWKuSyPOmWwM5eRsPLXBvcZcm3WILUYY5UC7hZnHEOFzYFT7I5v
x4YOT0JgbzxFqGzL6IrybGozhwuIIQPwri+HpN74hGih0NpnNRd9uQrtrmSHF0FDpqM7tbYd
GC0BwXMQ93+znrGbf2HV1oMkZxRh9gih64DJzL9zLsM89vBCTHmN0BRc+xPZ78+tCOBcCPj3
H0iYmMRZJZvMbBmcmM5TkLS4OkkhIFxYR4cH3sQjt3oiCqiuWgSDEVAhdyfBD7yAsvRdyjrV
y2ruxH789aHW2ZMI7p3x95dAkPAZcAvXvT+Lkbu+Y/farZw7m0GVGbQBgxl4xytM7ufIH10h
f8cKUquNoYKO8FlzCbkUs1pOZ+fWRAwqCFJnpl49oGG6lDaDjoGTxxC0ZxO5ipET0QfInTLb
mq5QITMhgVwZELT0Hja4yWwmkkbjYKMroNNVf5WK0WCg+tyvGvRU+8kpeUdY9/ORVn2J4NaP
W195jc6/r2T9rjgulMmogCpXknv6KLmnjxK1dhmeXcYw9547mdm7bvoW1aBHX81okmuTucWb
DxEfP59LugltzbhcPAQ8wvoxqDEvlFajZTR1Fo/p07by5YfLOZjT0LPTZNRTWWb3sTr9aBse
awnaZlycx2OtH1sEV3SOMs+66moMY6piwODkk78zeKx98IcdtHKNuliZbB8t5w+n0/SSrtm1
ELQKXva2OA6JKFJlm51WkPH2tPO4TkXXCJ2qKsQ68i8/0ZMNiU12F1MjkesuvYt4YaE3Cxa5
WCIJBJVBd+YzPajpdtsD/Kbl8sXL8ML73pwqpQ59VKNEaowXqTFefPehifEP5fDOQ5WWSBEH
+KvTwymojCEqxlL7LFibyx8bN9a7QaXcJRhRKKQ8ZicHK2cx7VL4HV5BKyASds18JnxykG1l
Maxel8bN93er2ReU7dvG/jIVQTeMWdNCGpX3gqtr40u56I6HmwAVClWVVbVzU9Wj16uAQtr2
L3lvezN6LYnN3B9LePeZyaPvz+DOB9fwn+fe4NcT5SQueoGPx67hpZE28f5qJRWVFoOBq07n
vExYoi+BAZdO39PqcbkM4T5oPMN997Gz6BwHYjK4Zm5nK08rZMTGkCarCH4jGD/IkQATCBw7
lcErkzlYlcSuvdlMsUkhWXXsEMeqVASXPowe1jCbmtN1SlotjZb1FHToXAG9ilFvs+dXDeit
3pwurtpGeF3AxdUVqLTu4epf9mbQ7a/xzqA/2LBlFzHH0ik1VZJ3Jo68M3Hs3rgC0S2YAZPn
csu8CXR1nHLLuRC88PVumSJJrTzN5m++4teYjIbf+WdBNVrORCjkHFrDz4eafkQQHaWadRIE
sX1mBWwmBFFCIzacdFJNXW4JjVbbPowJV3AFrYaKbLSpRYmMIWMHmRlNPSej1Bgfq5BtS8AJ
XmjsOZxo3ZEES3bAtoJqrLQJAhSQdJ525JAWrasrAnpLT9RKZGN7zFMn4NL3FYbNag+RltWQ
/Og/5yH6z3mo3gUjJz7/jI0F1YQU0A2dxvhL4RHuRAieXniJgGyiSi/TMBSmHSDvD4IfeAmv
C9VaGgFl4P1kvjcB96cfwj+xAlARLmygwwMeKEtfoyKovWgo2xkEH0InLmBEhIWPBbch1hzY
tdc7TP47N0/+O5jLqawS0Xm6IzbG5sYjHNqSVCOYBO8pDJ/U8ZJskPSJW9iZLqMi4DZwBlPa
LE2ofWh7TWJC562sSpMxpe5mz/mZzOsigppPYnwGCiBoejJsSNOeh7LZbEkl2+CKislGY6nR
1h5WBJ07bqJlERK03gR38KHJqorajvjYmfaCezgTFj7NhAXlZKUcJ/HYcZKSkkhOzaLMpKKq
CuVpe1n2Tg6GV17mhq61jQg6N3TWfqjmMkvagvppnVsJrUtjh7O2R2vGpb2jJTR1Bo+p5Uf5
/r3vic1XQBDQBfVlaGRfOgd54YoJQ5WeyoqzxG6Lq4m2adiPtuOxSw1n8liLxtZVhyvWTaxq
QG90cKNBX+M9J4iuuDrZVdkZPNZe+eNi1qiLkcmO0LK573yaXuo1uwYt3jIq6Gxz46oi5ZWA
f9271HKxTiRlfXh6taKeoqDi0YhBSc70YtFql9rUZ6pA/OIg1s3M5PrQlr6sdRDq/Se3JNuP
oND/1mx+v76A+N0eRO3yYFe0OyfzBRRbD2SDlt0fh/KEazo/3Gd0aABpD/S41Kg6vJP9pQqo
CknLX+LJ5Y3cXLKPqCN6po2/FO4DV9AaCP7TWDAjmB2/5nDst9Uk3fO0NbV1OQe27aVcFdAN
n8W0hmH1daAaDA2zWtS9waqQF62GECtET7w8BciXCBl3G7eMaLp0jugzmK4tEvcCXn1u4PWv
VPKvfZE/Ss6zZsVenhx5VW1NbcEDTw8B8lVKi0ud6DioQ9f8FAZOR6vH5XKEawQTRgWya3Me
5w/EcP66zpaIefk8MQfOIyMSNGo8EY2QQfAextRRfhzaWcjZ6F2cm32LtVZ1FccPJlpSKfcd
zTCnheo2ApOpTmRNA6gmTNZkLhrb/Zrgis7Fsh8zGkyNqJ4tDo6WR3To7H6SC0GDZnL3oJnc
ZSgk/eQJkk4kWfaXZ3OpqMohYdNXnEy6wD9fvpWIP8NwKbjg0hKVpJzNtg/fZdmxCpA8CR86
ntEDexAa4IVOA6oiY6go4cSWpWxJMTTdXmshuOHhLkKJiv/Aq5nWz7tJWSh49KTjleCKK7iC
/+MQ0bja8X5tEm5oas7iOiTbc7laidmo0qBgrqEUU6sjq5Vm2ToFF3ckASw2VBVZX27nMSMm
g03wguCO1CyPaPkSBIZ74DPi3XZktLQLI+nrXuKJz4/XhrmKAUy/dZbdXOuXHPIZti7ewmmz
QNDoBdw0tH7h+FqolRWW0GBBi5tbO1wxS2IIevBpfFKrNxgCaq+FZH35JJWBIpVffoh49+P4
pugBFSF1BR0f9CJzyTNUNpJK5f8shCB63vQcPZtzr8YTd6+mblKpivmFxJpk/CJ+UxbQ+1IU
s1QL2bf5AEUqIPozdubolqcGsvV2k82N1zuwB6kzEyb1Yu0PyZjk8+zdfZrrb+uNVHKM+HMW
xay2x3Aim3R2UCguKkbBx86BWyE/N8+aplrE08umNqYUQJCfANkqiD2Y+9IzTGxWgfrGvsmT
jn1H0bHvKK4GVEMx6Ul7WbtsBQeyTKj6VDZvPc7sB4bUGhZs+2E+S3KKgclDnaMAE4RLKXRb
OS62uFgeawO0iKYXzWMqRQc2sa/AksLLf9SDvPrIBILq7wL0e8na4dho6XQeazfj4gQes0GL
xlbjg5+3AAUqyLlk5cgQ2HB7JudkUp30QPD2a5BC86LhDDnWHvnDGWsUtE4mO0Cr574zaOos
elwKiDKBflSb+EF2IemkCJ3qWiiVbK1jGQa4h5rwlyDbeo9ueB5rviuic+Ol2Go9zOvD5MKy
54PZnl/3ZyXfk3+94MeAb4ro8Sf4Jrq5q7W0USUyc4AWZlAU3U1EzigmckYxT6oCOUnu7N7l
wfaNXuw6LVkMmKpI3HIfEu7KI9LeSbKd0OPSwkj8zr0UKQKSZxCdAhxVolWpzM8gv6KQPVEJ
mMaPbMSNVaitsaq0VnPgjDauwAJ3xiy4nm6rF5F6bh2rYh5h4Dg3qDjA1j1lKIIbo2ZNqZfq
siFUQy65JSo4qOOnFGaRVaWCIOLjZ5OCVOxI51AJ4ZyJKp9h3PHwTJo8PrYSYsgMrhv9Oju3
VFGReooM+Sp6STUXCQ2RENKMlCQlkiaPp6dT9idC4867bYxWj0sdSGgki1Q2Nxaq3+6hpdf4
sXTctoaMzBgOpM8lvJuEnHaAmEwZpDDGju/VhAu+jgHTxhMavZaMrL1EJc2l+0BX0B8nNsGS
Sjli9FD+DDWSaiqisELFUX5XtSyfAqNlbOvs+UVffH1FyDNjyMuh2BF7qMXk5FpqxEs+fnUd
1e1AcPUnfNA4wgeNYxYgl6VxYOUiFm8/iz59C79GTeOV2SF/ilOu0IKXmE5sZF1SBaoYwJiH
X+WRsYF2zlAmNPHL2JLixE7WhxhAUICIkGXG4NmHGTeM4rJIWiCINftO2dweNBdXcAWXHzQ+
obiIoFcABKTwZxl/5x006iciCLVnedEPV3cbIa+coTRHD351pZBammV9R3MgIGlttAlqGabm
POzZAVcB9JaHUHISKZVnU6dEp3yKkhybEktCMDq7NgQBycUdAWsmCTWfqlITl8Lboz2a/gCZ
0tQovn32ZuY9u470mnBbEe8xj/H4VJ92GkmjJzNxL3v27GbnkfM43pqqlJ8+xQWFmo1+u4Nb
BwzdAlAFAAE1/Aayv36JiupcUIETyf36P5SGW7engga5W2/Mbu1zZC47qJkkboiipkymdiBD
ZzVS+7INIaftYMtxAyoCmvCpXN2/5cpUwc2DataR87LJbfG5TiBozGQG6gRAIXd/NEkGlYrj
caSYVBAkug6NbFJxAApZSckWZW6DS7kcO5ZjMVwIWsI6d6ylt9SFiD6W8HvVmMjGTak4259Q
cPUlPHI291w/wOptolKZm0u5bV9t+oFaRuz6P8i8LPa4rRwXG1w8j11iXDSPyWSmXbB4Xon+
jLx6bEODJSBnZZDd2J7IyTzWfsbl4nms1RC70KOr1ZNbLSbhyGkaVus0cvpIIpbShgIuXXvg
9OA4Z8ixdsgfzlij7PatOTLZGXAyTduKHn8KBIXefU21hxdFYsdSH87WmTAiR9d6cqYRGmkG
VDLMptyI/og/L37uRgkgSQ7+HJ6YROI/78AHsaJFRogyIyfoaw67pTGB/PMLHVWOHq8HpdCN
7/9fJ+Zd14X7XvblaGEzHwQCg8215yNFYucPvqQ6itxuDgSVkP4V3PRILp8vLmCkzZqh5GnJ
sltW2Ln0+MvCfIydu/OQ0TDokWVs3rqVrXb/NvPDQxFIyORE7+J4YzJOcMPNDUClvKyMViVz
ckYbV1ADTcRNzBvkgiDnsGnlLkpVqIzZxt5SBcF9NLOmBDStszCf4ODRcgcXVcoPx3DCDIgd
6NXDJoJICGDYiJ5IqJRFLWfN+bbc8Eu4uFgFgFivZpkYzNDhlnrh5uS1rE5ow4iqPxOtHRdb
CNZoWFQqsrMo+Qv7CUhdxzK2swRyNrH7zyIjc/ZALNmygNR5LGObEcIrdZ3MpO5aBKWQA1Fx
VKigTzpIYoWK4Nqf0ZFNR8g5BeZzJKc4WoVUKk+e4JwMCP50CvWoM+e6d7MYqOVzCSSV2h9Q
teQ4iedkQMSnW7dm6B/qQvIKZ9ztCxjrI4BqJv3chUb0ipcKCvlnzlKsgBg0hpmj7BksAbWY
rBxj26ZPFnzo0y8MEZXKo9vZk3uZrGyCG+7WQ5C+sKBta3BewRX8H4UQOgr/muxVKnL6FyRE
H8GEhCA6+KvjfOyDVwebbIdqMTkxK6mosyWrpChhCxUtMFpq3Xxq/1XLKTi+C0Od5xXkslxM
Nr8JfgPx8bCpr160jjPx6TZ7fQX9sSVkFNV2TvDoj6+fPekt4uoVYNOHUnJjVlB+CRaj9mG0
lHOI37qWX5d9w4evP8k9N0xm4jUP8e6aZEprvEAFNJ2u4c235tOlmYo6Q84xdu/czbGcP2nz
LHWlT08dAiolsVvYm++AK/WpbNqYgEEFqcMgBnVoH8NQBy7hlL67lOwbu6GEXk3O129SVt+q
3nEGOV+/QXmoO8Yb/8uFd6/H2GQuuStwBuTTqzh8ojYKVjdsAYNDm8NHZrL3f887zz/Nc28t
Jvq8tQ1TBnuW/Jvnnn6Of3+3l0yrIsqQHsU3/3qOp194h+8PZNvZMFeRsCWKC7IKghuDZkyh
UysU6WJwJ8KsKYDU4hg2/JFhR2nfOASf4UwZbqknphQdJDq+iBPxyZYobTGcYUODmnEQUjGd
3MjKw8X1NtcK+ftXsPmMNX2kSx8G9bXNgeNC/6kT6SABqpnz6z/ik40plDl7z6xWkJqSaY02
EhDd3OulnLHpByr6kyt4/6sozlf91Xe5rR2XWjiDxy4tnMBjNfsxzDCCPwAAIABJREFUPSUl
+oYHSMN5tv4cTaHWUW3Hev1wAo+1n3G5eB5rNQQPBo8aaDXOKeTu/Jn1Z/R1+qZPXcfyqFyr
4dSDwaMH4Shup/Vwhhxrb/zhnDXKIZqUyc6AM2l6EfSQXdjwURD/+U/dvy+3u9gchgTObvXn
vzbX//etB87TH6lETKq00sKC8thA7rw7hEUrvNmwxpfPnu/EYz+4NB6V61HBLdebahVsisTh
LzozfVYnXnzPn+9XePP7Kl+WfBHIf94M4ZknA/mjwH5TJXsCeXaRrsaJzGtMAW9/ksO9/VSr
oVkgaVEH/rdPalppp2hZ+Vwob//qzrGTOvasCObB533IbBb9VLoN1eNnsxUs3R/ELXPDeP1T
P35e7c3vq3xYtsSf99/1I7bU9lmBw5+Hcf/jHXjlrUA+/dqP5Su9WbPWm99W+rLksyCefjSA
gzabQMHXjL1yc06lx18YcnIUuzNlkHowfnynRg7cEl3GTaCbBPKFXexKaYRzxQ6EdZQQUCg6
eoiU1igOnNHGFdRC6sL188fhISiURP3K5twKYrfvoVgR8Bw7m8nNCWNXStjx3QpO21vcDMks
+24XZSqIgWMY19fW20yix/U3M8JdQK2M5aPnvuCoAyOKY8gYjU0bO9XSfew4VImKgHt4V+r6
W0v0uWEeg3UCyGf54eV32JV3GXhMtnpcbCAG0aunHyIqpsPr2JD+F6aL2Imx43ugFWRyDh7g
tP40B2JzkAUNPcaPpVNz1BBiCOOnDUAnqFQc3UlMkZ4TBxMoUwXcBo4m0utPcn5XKzi88Q8y
7Mk/UzpbNx6lSgXBtz8Dw22ZXUPPkcMJEEE1JLJh/Un09Z9Xqzi5fgOJRhXEAIaP7NUqR0fV
WEWltX/adlr6xGy2dlBVHKznKiVHVvPHeQmpTT9ApNP4KfTTCaj6JFZ88RunKi+DHYbgS6dO
XgiomE/uZV/uX1h+XMEVtFe4TqTz4E42RsdSiqLvIerTe0jY/g3nDv9OxtHlnI3+mOSN/4+4
lR+QU8eDQIN3rwnoatZAFfO5/xLz/WukHl5HZvxyUn6/myMxZ1tw7pFwD+5mIzdlqhKeZNfH
NxGz7AFil8wn+oPRbP3oGTJsFTVSJKERYTbfUkDO+juIXfsJ5w5+T8q6+9i/brtN6nsJt4g5
2LVZIuHZZbBNbW8F09l32f/VIxyPWkp63Boyjq4gbf+XnNz6PYXNKGpclbaPNb+uYX9ac1xX
zRRFP8TBX55rJ+lhzYn88PyzrHPoPiLi2XcBb336EjObGY6q5m7n/ZeWkFipInjs475/P8tU
B+k9nAd3hs6YRIdDm8kqj+O7tz+mdOE8Jg/qhLdWANVAYWosG378kc3pJlTBiyHXTm9hbYk/
EZowyt78iaoCD8zB9hN+qOE3kvXLGMSAjsjt9TsuO5STumEN+dX7FrED/edMa5A22x7UwmiW
fr2FBL0KZLN4cUf6vDILcecSFm9PwqDC+exvWBLahxevMrH1myXsPG1C5TzZi5bSqfezTLVJ
saoW7GNzjEXJLwaMZeaopmtG2oVLBKMivdm/twRVLSfx+1d4/ugohvfrTIC7hGLUU1FWTLHa
i2sXjMF+eRh3Bk0aTeDereQp5RzZ/D0V2RWW1CydhxLZLOcADd36BXDks1d5d8oMxvcPxVMt
5UJCNJujTlBkCRvAf/R0RtTLX6PteQ23TzrI+ztzkOUCjvz4Ok/uiGD4sAF0D/XDXTRRXlRA
QWEhhaXBTHt4LhF1jPwKmds+Y/ERhaCgAPz9fPDycEMrgmKqorQgk7PHj5KQXmo1XLjQc2Cf
BoYLbc9ruGPSId7fmY1ZNZK552tejNtI/6GD6N0pEE+tTGVpCSUlJZSUlOE5+l7uGRdYE+WV
HLWHlHJLMfuC0+VWZbRKSfJO1q+zRrkLPvSZNIHeDg+XBtIObCMhr55MN6fVRvHJGRzasI5s
G7nh0mU00wcH2VHutX5caht3Bo+1Ak6j6cXymESnbuG4CMUY1Apivv+IYOP1jOwegE4uJft0
HNFbthJb0J854y+waXsWSt4BfvqqjM5BwfQZO4MRYdqafrSax9rLuDRAK3jMaWMr4D3yOqZv
iGdtmglVf4qV/3qJlInjGNBBR1XWMfbtjidLb6m46dJ1BtcNt1dY/eJx8XKsffHHxa1RFymT
nTz3nUHTi6KHrGXXMj/WlDZ+W+ZeXxbvrf1f6q0w564Kgpv7nibgMqyYhYN8+N9RwZquRiD3
kA/vHar1SPUcVcak017scmBoBJXhD+VxQ1RHVp+vbgfK09xZtchOUjHJSKe/FTA1oJ5LQ64X
r7/oyzmr3k5wNXDPP0vo5KZy7wslrLvblzQZVJMLy18MZsSvWcwMcvxtapkbO2KkOtFvpQc8
OVBWwo0+Dh+rgeuoEub39OaLU7XfVHrag58+8ah7o8aA7sYiRnpXv1gi5aA70fuayQ0CdLyq
nMH1TpHOpsdfFzJnoqNJk0EKH8/4Ho0fkKQ+4xnX8StSLpxl165zPNavh30lt+DH8JG9kfYe
w5yylJf+Fc4bj8ygf7AbomqiNOs0SecE+o7p6yjroXPauAIbCARePZ/p7+3it4IYVq5YRY9d
hSiCF2NnTWxWqkvRfypTXL/kkacl3nh+ASND3RBRqEjfx09vv8xniXpUwYW+Ny1gVL1Nvxh2
I/98YC13fHSU0sOfctfcOG5/8G7mTh1Gj0A3S0RYVTF5OdlkF2oIj+xZNx24fJpFt9zDes9x
XDV9OlNGRxDeMYQAT4uRRDWVkHZ4E9+9/z6/ZckgdWD6tWOoJ1GQwufz7F1ruWdRElUpy3l0
3mnm338P86aNpG+oJxIKxvIi8vPyyMsrwBQ8hGFdqyPYVMxVFVRZiwyaK6trBSoYKsooK7PO
BkHC1d2dxkovyfoKqkz1DChqBXpr1i7VVEV5WZnNuicgubrjbqfRixmXWmgZcvU0OqxYTmbV
QT54+FmUFx7mhlE98HMRABlDSS5ZJS6EdQloIr1qyyEb9RjN9Q1KVRirCzrKRiorK22uCYha
HTq7dbMFgkePp8+vKRzLiyVqbQXH8xUElwjGjw5u5l5CwHfENEb8HEd0SRJRO6MIiy9FFdwY
OHpws3QZzoDgPZSh2jX871ORv90+jYhAVwRU9DmJbFv2DavPGFEFLeGTpzWo0+nSdxZzIvaw
9FglGZs+4r/indw5ZwTh3hrMpWkc3LCUpZszkVUB9/7XMLNvw1E1ZCVxrMCVDiFBBPh5odPU
RvmYyvO5cDqe6DUria2wOJj16tvVydm0VGSDHoNs4QNZb7byiIpJX0VlpXU+CCJanc5BGXWR
oM6dcBPSKM/bw+pNo3hkVi+8rR1Vq7KJ376CZb8do9PkURi3RlOsL6WwzICbt6vTs4MJQZO4
9bo9vPlrCpUnV/PWC6eZcf0sJgztQydfV4tTu6Gc4sICCss0hPQK48+ykbceGnqNHEbAH9vJ
NySz4n9foN4+lwkRoXhpLdnFTOVF5FdoCQrx/hMU+xp6zHqcp0bJSAHdL0mGtyu4AudDh/+E
5wg79Q8uFFU7YsiYCw9wYc+BhreLPXEf9wQhHrUzQOxyC+FhK0k+b3VjUc3o037hZNov1jsE
NF3H45exhyJT80yXUtcpBLpuJrvaGKjKmIuPU1Bs25dc9GUKtTnIXfEb/SBBCa+QW2k9TSq5
FB75HHuJewSPifQcHenQsVLsuoDOwb9zujqdrKpgyttJWtTOep3thzTkNvx1jqWCcn45j970
BntLFUTvdbz2+yIWhDWm2Cum7Nx+8s4Y24nRUvLFz1ekXgwtICB59+Sqe57mmXun0KUFGaxM
aSdIsbr5qpUpJKebmRrU9gVUXPvezKPz0/nPL0mUZsXy83sH+UXjiqeHK6qhnAqDtYCpoKPL
9If42wT/duk5VQPJH3MTmiY1uGO7qA/3fwVqwVYO7c23bi4FxPAbGD6oeTE3akUxxTWCUkUu
KaJUVZCKSmoL0qtmiovKUFQDRSVyzUFHNRVTXKFCjdFS5twfW0kyqCBoCJ96dYONfbMheDBs
/kJGnlhEbKGMqlaRlRDFuoR6t7lXEHmTY8OFts9kxoft4LfzMvrkWOIBkAgbNpRmBaIi4Dts
Kl2yvmTX5mUkbG54XRs6hXsWRNIg9bfgTeSdz3C/6UOW7MnAoCpUZh0jev0xous3I/Wga8H1
RHS07ZRMzplEkuPLOdFkN0W8I27i9il2okcFb4bc9Qz3mz7g2z0ZGFQVufwCCdEXSGjQkIh/
QC53jbOmdFEKid/4C2sy6s9ohcKEjfxc3YDUlZuHjHesZFf1pEb9yvIExzFRqimN3SvSbDuO
95Rwptk1Wl7EuNTc4hweazGcRVO4SB4T8B1zLdM2JrEpw4RSdIw1XxxjTZ32NYTNmsFI92Vs
AlR9Fol7skhES0bQJIaHWT19L4bHGnzTJRqXhh1pOY85c2xdejL3kdtJf/d74gplVH0WcVtX
ElevD5L/UO54+Dq6XcR2RmisYM1FyzHaEX9c7Bp1kTLZyXP/4mnqxDX7UkIycscb+ey9K4h9
9k5goszU2woYutyTXfsd01QMLOeVL3MwPxHM2lSxce9XVSK3vgHU7MIvLwSzKaf2p0435XF3
P0tLHiMKeO5aTx7/XYMMyFlevPZiJRFfljjMGCO4mQn1B7Js+ulvIqy5YdVaPQ/+N5/4e4PY
V4Djb1Ik8goE6GW9Q9GQkd3MdwjgO6SAd/5eSZ1jWRvQ4y8L+Ty7olIwI9Fh7AQimjptawYw
Yaw/36/I51RUNBkP9KCL3bVOovu8B5j145Osy6kgaflz3PTzi2h1LohGPUZZRQhcwDdRbzDO
4RrhjDauoA48xzP/2s6sXZJGwhfvcExREL0nMGdCM8vZiP5cdevVxP3jHe7e9h6eAYH8f/bO
Ozyq4uvj37l3WzbJpvcEQiD0jjSldwREpCuKKChWxAaKvqCoiOVnQcWGBSkqKEiVDoKo9N57
Se91s+We949Nz26S3b1LNmE+z7PPA9m9c+fOmfudM2eaF2UhJTUXRiIAAnTtnsAbk1tYGdTS
oMVjn+CjrGfx0g9HkXljNxa9vhuL/k+EysMTWoUB2dl6WBbX98f7ez7DMK9Sl5tv4vr1NFzO
WoNv/luDbwDLQIXWFz4eZuSmZyG/cGADTItmE97GC72sbeHpiXbPfob5WU9j1i+nkJ24D0vf
2oelbzEICg3UogF6Q2EMBCIiJ/6ETa92sASiKBkrpvbBnH/L9xku4bsHO+O7ov8qmmPa6pV4
MtaWYBix+43emPp7pk3tM+yejd53zC71FwVaPPcHVjzRqKIP4pRdSvDo8hRmDv0Lz6+5ifyL
6/Du5PWYLyqh0Sgg6fUwmCUIsU/itz+moZmsWmjCse+fxQe7cmyWh/HoIjw7eVGpv4hoMOZd
zL03wmoQk/l1QveWy3HyYAp2rd4FgMGjZXd0sudgbI9W6HNnMPZsSMTF1UtxWSIwzzbo0sY1
k/GswnS4o39HnP9kKd7Z/ws8fHzggVxkZuphsgTqoG18Lx4d2qBisFQIQd8pj+LCO1/i78RM
nF67AK+sE6BUiTAbjJZzn8GgDLkLj07pg5AKBWlGwt7F+Pi3azADYEyAQqWGUiSYjUYYTEXv
CSznpbYai7FdZd42lzKw44Np+K7CfuRxWD/3Mawv+q8YjdHz3sIIG8toNW0HY2D0Afx+OQvH
ls/BtPWhCA/2hliQgYS4ZOSYAG2TcXiqSy4+3wKYzizHzKk/Q1AFYcBLH+ChFnKGolVocM80
PJv7Mb7YcBE5yUex7tujWMcEKNUeUAtG5OUbIBHA1B3x5BfTcZf8W9bIjrrFfZhw11Es2JOM
gpt7sWT+P1gqKKBSiZCMBTCZCULUCLz1zmjUd7kvxeDboC06NHD1fTicWwvz6osW978J+nUu
biZXsQqQUqHPkYDSXoPQENFDpyNl8XykWNsDlvkjpMNAUNwepJf8sfL7aAei0Z1LkLzjGMy2
GnFKgT7bBJRqqZjvCLQacRb7Vy5BVkElvVt1c0SPeBMRvpUE18QWaDjiBWT89D5SKozVlUJK
Q0FuuTIph+H0fhwuXBUqZR/BgbMmjI2oZJtOKR75WZZ7use+pMwXAUXTOZkIbUhjdBr0IJ6f
vxibdq3Fp0/aN2AJAMomd6JLkBIMDMrgLujS+FaNz2oQM2wm3nllAvq0DIFWBMikR3ZmJnL0
ZgBK6Op3xL1Pv4HZE9vdksPGOXUJM5K3/ILLRTMumAca3D0CwdV0UoSIbhjcwR8KBjDRBy0H
90KMKKJ+j8Fo7SuCgUH0a4PBPetBFBuh9+AW0AkMYAoEdBiMbqVnQ+QdxaYdNwo7wm0wqLf1
Dk51EYK64+k3Z2B8z6YI1AjWZdyYhtTsSsRXrI8ePRuWnREoRqJzp6jqzwbTtsWE5yagc4QH
hJJDLMBUvmjUYwJeeX0S2tuafq6KQI+pc/HOiw+gT8sI6JTM6nMwZCKt/OF5lI/sHAmVjicI
Gvg3aI+BE1/F2y8PQbStXrIyHN2nzsW8qvLBBJjycmrHNqnO2KUQWepYTeNMHdM0x/iZz+O+
OyLgWWafHgZRG4EOI57HjPFNodOoqu4cy1jH3MYuMtQxZ1BF9cf0N2ZgfPdG8FeXLk8GpvZH
bI8HMPPNaegbaX8k2WwqcjQZVJoqRqqcqWNFuEP9cLaNklOT5cDZMpW5za5J1I3T8fmSeDzS
zYhSE13BPIzo+XQ8Zg4wokkTU5XtvqZRFuavvIavXslEt1hzqa19ysIYQ05WWc08+XUo3vu7
ZFWkEJCN6U/mlaxAYmb0np6CXn4lV6XvDsLL36ptnxWrysOTr2egSeGgguBVgHH/l4aOdhy9
oGmajq9XX8drE3LRJIBKaVkpSEBaRqkvzCIysyvvPjNRQlS7HEyacx1/LE4tWaVp+dY15VFL
kRL/ws7TZkDQoUuPNqjafGq069EF3gLBdGpnpedxscCBmLvobYxvF2TZsonMMObnW1bMMBV0
OhGGKgpUjjQ4pVGhzeiRaKZkILMZZhIQ0G84uuuqvtICg0+v1/D122PQ2h/ISY5DfEoOjASI
nlG486F5+OmbJ9DGyiJwAIAYgp4zFuOPH2fjoV5NLO0kmWHIy0JGlr4w2MXAkIKk8tsLis0x
8vnJGNa1KUK0YuGuKxKMuWlISclEvpnARB3qd74P079YjeWvdkOALaFQRGDgnGVY9c0sjO8W
iwC1AAaCZMpHfkHJQAwTVTDnZ9WCvoeTdilCCMLAecvxzYv3oG2IBgIjkNmA/Nw8FJgtqyCl
pHgk1oYZ4MwbHbq1LVkRyTzRtlsHO1esKdGody9EK4reFwafO7pXXY6ywuDZdiJeeqw3GuqA
/IwUpGbkw0SAoAlGy0FT8frL96KRjfijGNQVU+fMwsQ+hX4pSTAWGCERg6AJRNM+EzFrzlR0
DbLmhRBysnOLG1wiCcaCfOTl6VFgtLwnFt+yHQY89CreenEAIt1jmUlFlDEY8dKLGNM5Cl4C
UJAZj8vnz+HCtWTkKYPRcuDjeP3loaiv1aCk50GQjPnQu2JrcsEfbR94HfNem4RB7erBV8Us
ttHnIifPUDygDGQiPb2WnHvJfNHpsdmYMa4bGvmrwBiBJCMK9HoYzWTRj/RUpNWSx+Fw3BUx
aATaTFmFjgPHISg4AKKtAAAzwqSvsDE4hJCH0OHhD9CgYT0oSne+VPUQ1OsDNGuihVQ6VKHy
rKKfqoKu+0J07D8EOq2VRoApofSJgUoonxcB6thX0OXRD9GwWVOoFGX7r1AEQNdsKtpN/hHN
GtnY6aoUYuhEdJz6PVp06glvT7WNuEgWDHmVi7q6wxAMjlSBgUFVbzAGt6siaCJlwFhguRk7
e/asG0RnC5Bw+hSSmR+Cw8MRrKtGwLQakD4FV65nwzsqGoHyHzJULSR9GuLjU5GVZwBTe8E3
OAwhMj0f5zakYB82PvEY9hcGNJjvMIz56m00Kb9PT2WQHilXriPLMwLRwdrioCXlJePKzRx4
RUYjyKNkNWVu4lXE5ekQFR1Y6qwuQsrWeXjp+xMoIAGB/V/B+5NaQLZFG2Y90hLikZqdhwIT
g0KlhoeXLwKD/OFpfY+Sso+YugPvz/gWR/IAZex4vDt7KMovBirBhMNfPVk4E1WJdlO/wEs9
PAEyICPuGuIyDFB4+CAwPBz+duoIGbOQlJCCzJw86E2AQuUBT50vAgL94WX1OSQUZKUhNT0L
Ofl6GIxmSGBQKFXQePkhMCgAOrX9YWZLPlKRmZMLgyRAoVRBrfVBgIPp3RpcZxcATtcxd8H+
OmbBlJuEmzdTkG0A1N5BCI8IgmehPyTlZyAtn6BUKKFUKaFUKKFQ2BgsKpMPGerYLbWLi+uY
E5AhEwlxycjIM0Lp6YfgsBDoVI7mwYzzS1/EG+sTIUGBxg+8j9lDQqrthzhaxyqmcSvrh1xt
lGs0WQ7sK1MXt9k1iD5FhYvXReSJZkREGxGuK9zuLEeB5HyChwfBw0OCqhozlwwZSly9KSIj
S0CBBKi1Enz9TQgOMcHHzsmTzmDMVOLsJRHeMQWo7+NMN40hO16Ja4kicvMZJAVB62VGcIQR
IToqqwHEkJOqQFKKiMxsAXojYCZApZHg5WdCZKQJOn5uvRshIS/xIi5cT0WupIKnlw4BEfUQ
7mNPH1OONDhFmM4txLhRn+C4KQoTf1qPVztU9sKYcfaz+zBiwRlQ4Bh8s3MuuikBmLJw88JF
3MgwQqULQf1G9eFv73tnyMCNqzeRnJGFfLMIjcYT3kFhiAz1h0dlOmjOR3riTcQlZiAn3wBS
esDTJwhR9cPh60jfoyAdN67GISUjC/mSCJVaAw/vQERGhcLHbfseLrQLYPEvb1zC1aRM5BoY
VBoPePuHICI8qNr+VF3BfH015ry2AhfNwRj8+nt4sImrl3ZLuPbbLMz67Soknz6YsWAyWisA
mPOQfOMGknPMUHr6ISQiFDp7smLMQmJcEtJyjVB6+iM4PKQa15NlW8+0DOQUDlZKEKBQKmvc
t3QUc14ybtxMRnYBoPYORFh4MLyUxV8iI0MPKFVQKpWWTxX9Slkw5iA5IRkZubkoMFs0SOsT
gKAAHWpZ8VogI3KS45CQngu9EVCoNdB6+yEo0BceittLPzicihix85W7MPX3TCi7voRls3qi
QtdN8EJYTJjtndlKIeXdQG5mKoz5uZBIgKDyhtIzABrvYCiVlQkIwZxzFTnpyTALfvAIiIaH
RgFK+w7/fv4+0gsnKAkN30TvB0dXry8u5SA/+RLy8/JAogcUah1Uugh4eFTtiJAhCbmpcTDo
jWCaAGgDoqGubJ/9SjHBlHkVudkZMBkMgKiBqPaBxjcSGk018pIbh1Pn0uHXuDnCq7UfvBGm
nCQ32R4WaoQ2a4dQmVNlmkA0iA2UOVX7EDT+iGjgj4gazQWnbkDI+/dnnEgumkolwr/vWDSy
Z8ASAJgGgQ1iUf7NYNogNIgtf7iQCM+QGMSWT8N8Gds2nYZll7kG6DugmbzBT1ED/4gG8Hfk
WsrCwV9X4VgeAcwL7Qb0QLWOsywPU8E3ohF8nXh5mVKHkCgdQqp9hQC1LhDhOnl1y/58uDEy
2AWAc3XMjXDUtgrPYNRvbH3vb8HDF4F2bpkjWx1zB7vIVcecyoIPwqJ9ECZHYuY4HD+RUnju
ohei6gfYFSiQw7a3vH7I1ka5RpPlwK4ydXWbXYNoAg1oYcU8opcJoV4V/14ZKl8jYn1rfv2P
0seIlu3kyAfBO8yAFtUREkbwCjTCK7Dmn59THQRoQ2LROqSCh36L0+AAAKRErPnoe5wsADw6
PYgJ7Rwc4VfoENG0nXNxA5UvImN9EWnvdaIH/MIbwS/cmZuXwNR+iGrshyh5kqtZ5LALYPEv
o5rCt04UihNQGv7+dQMuGQF1s4EY0LgG96IWtQiq3xgOH6+s1CGkvr3+LYPSyx9hXrW9F1qC
qA1C/QpxpOIv4RtwS5fSWlB6ISjKy3HbuhtMCa/g+mgk1yHxHE4dxfDP+xg19P2KX6gH4H//
LcCQasS5BG0kvLV2e1IAGESvaPh4RZf6mxl5Z7Yis3hFtAiP0CbV2ImlKDNe8AhpDUd2tGaq
YHiFySUaCih8GsLHx7GrmWc4WrSzx8lUQuEV4S6DlhwOp0ooF4kJCtTv3MfyfzEMze9uWSOH
YJsTriE7vB3uCGMQI3uhd/UOjHQ95gwc//VDLNyTAgkMyuhBGNFZ5nMgOBwOp7ZAelze8CM2
XrNM62M+rdE2pu67fm7bRtUQvDw4HA7HRVAujn75HN7ZmQkSozHmmVE2ziTlcDggPS6s/hSL
D+UAYhj6jOqFEN5R53A4HE6dJB+5pz7CkV1HS7aHFcIQFNuEx6irSd2PXHE4dQXmhQZj34M7
nH0tRvTC5Om9ajobACQYctKRkhSP6xeO4e8t23AwLt9yHoS6AYZNGoL6XOU4HM5tA8Gkz0ZG
ajLir57F4T1bsfNoAvQEgKkR038w2tbAZOdbjfu0Ue4BLw8Oh8ORH2PSfvz80Tv4dPVpZJMK
De7/Pzzd8TZoZDkcBzCln8G2Xxdj5V9XkQclwvo+jPua3sK91zkcDodTR1Gix1t/4/gblrNe
rcJEKFyysN+MvNNf4NKFREgmAyRTASRTAcyGLOhTzyInO6/4XG+AQVHvIdSvV1f2PHI9PJzP
4XBqJZTzNz59/kvsyzWXagQsMHUkek19Dvc14o0Bh8O5HTDj4srZeG/9VeQYKmoimAJBHSfi
yXvq18jqfA6Hw+Fwaj1SHPYs+RW7zl3BxZOHcfhsIvLMBDAFwvq8hs9m3AUdnzrP4VigFBzb
tB1Hrifg5uVzOH8tHXqJACYioP1EPP9AK1TrWCsOh8PhcKpAEJUQaijQYYzfjOsHL9geMAUA
MAh+Q9Dy3vvhyXfkqDZ80JLD4dRKmFIEDFKZ4DxjagS27IMkhtsgAAAgAElEQVSR40eie7SW
L7nncDi3DYK5AHkF5nLOMoM6sBm6DxuDkX0bw4c7yBwOh8PhOIYUj90/fo3FN8yFf2AQdbEY
MOVVvPLonQjhs4I4nBKkVBzbuAZ/Jhcd5MUgaKPQ6Z4HMWFIS/jz94XD4XA4dQBRWcWuAcpQ
+LeejCZ9xsOPj1jaBR+05HA4tROFP6JbtQF5+MM/IAhhEfUQ07Q5YgLVdg5WCghtPwT3+hsA
CAirX+0jkTkuhduF42rqUh0T4BXeGM1aBcPDyxs6vwAEB4ejXmwzNI32h5rP4OBwOBwOxzmY
Pxp27o4B7UMRUS8GjVu0w51dWyHUw95GliGg4xg88WQKJG1LRPH4lZvA7SIrTIfw5m3Q0eyP
oJBw1GvQGC1bxMC/RpxSBp9mvXHviExImhiEcNtyOBwORxYEKAPaIiDGB0yhhqhQQ1BoIGr8
oPYKgTakDfzrt4BWw4ffHIERVdhEjMPhcDgcDofD4XA4HA6Hw+FwOBwOh8PhcG4ZfI4Rh8Ph
cDgcDofD4XA4HA6Hw+FwOBwOh8OpUfj6VA6Hw+FwOBwOh8PhcDgcDofD4XA4nDqPCadWzMeK
U2aoWo7ByyObgh83zHEn+PawHA6Hw+FwOBwOh8PhcG4L8pKuICHbDJuBEMELodEh8Cx//B7l
IOFyInJtXsgg6sIQHeQhW145HA6Hw+Fw5EePFaP9MGZlATzHrUTq8vugrukscTil4CstbysI
udf+wboVK7Bq8z6cvx6PuMxu+Oz8YozU1nTeOBwOh8PhcDgcDofDcSUG7JjRAcN+SLM9aKm5
D8tTfsM4z3J/z16Nx1s8iDV6WxcKCJ68Ade/GQiVbPnlcDgcDofD4XBuL/igpT1QOrL3n4be
CCjqtYVfVC0a6cu/iDXvPIVn3t+MawWlumeadjC6YK1t3vUjOHIt10pHkEEb2Rpt63uh/MRV
DofDcSe4jnE4HI6rycP5Dd9h+X4jWo+ejOHNvSvRVULmpYM4GV8AeEahTdt6KD+ewOFwOByO
e2FPO8fhcDgc23A95ciDHLE+Hi90PXzQ0h6M/+Lk3UNxMVWA35yDGDy7de2ogPnH8OmI/pi+
KQkSGDThnXDPA+Mx7K7miI6MRUvZd68x48J3D6PnnKMwVfhOgaYz9+L4vI688t3WGJCZkIIc
s5URc8agUHvD188bauHW5+z2Ro/0+DTkSSV2YUyE2tsPft5qOGYOCdlXD+PAqWtISNND4x+K
es3vQLv63rbTk/KQmpAOPQEAg9I7CME6ZYWfGbOSkJxttDgJTAO/0ABoSyWqT49HWp5kexZ9
BRhUPsEI8lKA61hdh2uQe1K3NMjKBUhKzrZMFmNKeAcFw0qytxXZfz6Hvvd8g+tmQFi4H7+c
WIpRgba8axMOf3Qf+n12HazV69h/6E205SLM4XCcQH33Vzi3eGTFCRBMDW9rsyJ0Y7D05mAU
lHcfzOfw0cCeePuI2TUZ5dRa7GvnOPLDfX75qeP+ukxIuTdx8shpXEtIRnqBEr7BYYhu3g4t
wrW1I47shnA95ciDHLE+Hi+8FfDyq+tQIn57bChe2JwEiXmj9aRPseTjiWjl7Vph1wQ3QsuW
5pKXl3IRf+4KUo0uve3tgxSHTR99iq0JEnRdp+DV+2Jr14HJxn/weue+WHDNVseegWkC0bTL
QIx5/EVMG9MGfrdLR6ImbWvYgRdaDcX3qVK5LxgEtQ/qtboTvfoNxQOPP4x+0VXNdjAj+Z+F
mPnCu/j5v7iynRpBi/Au4/HKh+9iapfACs9HiYsxNuYJbCuw3NtzyHe4tPZhBLMyP8KS+xvi
0fWFM5vUA/HNtY2YXPwjA7Y937Lyrb8qoESnd09g74zGEMF1zOXUZF3nGmQbrkEyaVB5CGm/
TkSjB1cjmwAwHUYsuYzf7vevXuBCDru4ne8gIfHECSQUvoZS6gkcv2HGqMBa1D1xuzLlcDj2
wNTe8A8IgFe1r1DBy9/K782+8KxF0lVncTtNrgPtXG2H+/y2cfR9qdP+urOYkXpoCd594yMs
2XIMiflUJhbBBC3COwzDlFlv4eXhjeDWpx9zPeXUYeSI9fF44S2AONWnYAP9EyDQEiho/Zyj
JNV0fqpEooxNj1MDEQSmokaPrKY4cw1lxbCTnqknEqCgpjP3kbGGslFnMB6m11spCBAobOpW
Kqjp/NhLcX1A1R+moYbjf6TzhprO9C2iJm1bsIEmBQhV2oRpoqj/7K2UYFNPTHT1lwkUo2SF
NhTJK7QRtWrbihqFeJLICtNRNaSHfr1GpnJXS3ELqa+61P28htGPSWUVV0r6gYZ5sZJ8qQfS
N4mlf1NA6x72J1adOlb8UVKnd89WyE8xXMfkpSbrOtcg23ANkkmDypNJK8f5EQMjjYeGGATy
H7+SMqtbNnLYxQ19B/PVpXR/jIYYU1HU8K/pbKXvmYF2PB1FIkCKVq/TYXcQYTcsUw6HUxUl
PqJmxDLKliNJ0yl65w4lAQIFT/6Ta0FN4YaabF87x5Ed7vPbxtH3pU77604gpdLuN3tTsKLo
foyY2o8iY1tR29axFK5TlsQmBH/qOf8g5bomJ/LA9fQ2IJ9+HaUhgJHnuN9IX9PZqUnkiPXx
eKHs3C5ziG5PzOfxzZwfcMUMiNGPYuHHwxHGLc5xK1To8d4xxCckIKH4E48bl45j94r38XB7
Pwikx8Wfn8ADHxwHn7Byq1Bj0OcXCu1xE1fOHsW/m5bify+MQEtfAdBfx5Y3h6LnE2uQaGUZ
o+n0x7j/kaW4ZATU0cMxf9MFJMSdx7HDx3A+PhEX/pyHYfVVgOEifnpkAhacszHzVdAhIkIH
lrsLqzaXXjFJSP1zFXbmMvhERMC7Cl1TD/4CF8vUMVufG9j4TEO+Sua2gmuQe1K3NAgAkLsb
67ZngsRGmPr242goSsjYth678xwrobqCUO9+LD2TiLibibiwegoa3+bb5XI4HA6nbsHbOXeB
+/zyUwf9dYfJx/65d+Pu2TuQZALUUX3xwne7cDE5BdfPHcPho+dwM/k6Dix7GX3ClWCUj5Qr
8ZbdVzjVhusph3N7wYew6jDmM79i+YECEPNE75deQR/vms4Rh1MeBrUuCCEhIaU+oYho0BLd
Rr2I73etx4y2GjDKw4EFC7A9v6bze7vAoPYJLrRHOOo3bo3OA+7H9A9+x+HTm/DKnZZO3dlv
p+LZX+JQZmMYSsGqN9/DP7kEwa8P3tvwK17uHw3Poh1YmCeiB8zEyvXz0NNHAOXswfw31yDN
msMuNsSD0+9DCMvGjt83I73oN5SGTat2IEcIx+jpDyC6ipaMaXwRXKaO2foEw1/LhyzrEqaU
I1g57xH0ue8jnLHaz+Ua5J7ULQ0CAP0/67AlRYIY1g/DHhmG/qECpJTNWP+P3qmSqhModQgN
84WqpvPBqZSq9bQOYD6Dj+7rg0fmrcSRlIon1HBqCG4XTm2Ht3NuAPf55afu+euOkv/fW5jy
zj5kE4N3++lYs38zPpjUHQ1Kj5SqQtB+/Hz8uWsRXpz1CzYtGIIQfhyj/XA95XBuG5zY/JlA
koSyG3SLYEWaTAXQnzuKzGuZgGcovFs1h9a7GsFgYzpyTp9DXnI2yDMQno1bwMu/iukTJIEk
KnN/yriCjBMXoc8XoQyLhW/zCCiq20gVJCP75HnkpeaDBTaAb8sYqByZwWH3s8hZpmacXb0K
x40A8+yBcSMinRuhNqbj8ulzuJ6cDckzEPUat0BMVXZxBXbnQ4JkJoAJEAQGKesqjh67hGyP
GLRtVx86AQD0SDx9BKfijPBv0h6tIz2rPl/KkfIgCVJhPRUKjWHKuIITJy4iKV+ELiwWrZpH
wNOGoUiSIFFh5TCbQcXOmBlmsxkV40cMTBAgVMMRkrIu4+CxFAS27oAGOjeay+DVBS+8MAif
PbQa2cm7seukCQPvqES2HKyn5sybuJJigKhQQKHygM7PDzqNc4NXhtRLOHMpDimZRngEhCOi
fn1E+Wus1i1X2lZuFKH98Naan5DYYTgWXY3H73M/x6GRb+OOwmKm1A1Ysi4ZEhRo9vg8TG1m
3Z1UtXgK70z5Gj0+OIvEtT9hY9q9eCCg4gNpu4/CkJDFWLR9FbZkjMNYPwZK34xV27MhhN2P
kXd5YJ8rH9gVcB2z/Mdldd2MtBNrsejTT/D50l24mkdQ3vGOHWebloJrENcgWTTIgP3rNiFB
EuDfZzA667ogp48/vvopAX+uOwBj326wVkvksIs8tiVIklRyLQBWSgNABUg+dxQnr2WCPEPR
qFVzRNnwT8vkp/ydS6dpB8a0Szh+8hJSClTwCYlG02b14FPJa1qUh8rvZ9FdYgxiuR+57H2R
w9eW9EiPv4ZrN5KQnpMPvZGgUHvAU+ePkIhIRAT7QG1XGVdfT53WMafal6I6Wn1tsl4PCPrr
e/D9qh344e1o9Lr/STz77KMY1tK/1u7CwO3CsQd7fAdrUH4izp2+iLi0Aqj9w9GwWWOEeFRx
tRv5lnL4Y063c06Wh1Xsbl/ka/fLw+MOt4fPXzv9dQehZKx6byGOFRAE37545+f5GBBiu24r
Gz2I9+ZWI1mup1xP6yoy2MXZ/hynejjrFzqNo/vKSgdn0VoFaAlKPsu6fUTZZiLT6cX0b4dA
WspKfe8RTdtmb6Z8G/uZSykH6MK0AfSHr6JMmksUPvTHwOfo4qF0GzkxUfqcNrQUoGW9P6fc
git0/fke9JualUqH0fLIHrTvx+OV7ymcfZKuvDiQVuvEMtcuC+5E/353jIz66p1p6eizyFum
GbR0hCcxgFQ9P6WrDp5laU45QN9NG0CxvooyZ8MxhQ/FDnyOfjiUXr2zPZ3c29nRfOjXTiQ/
BhLrP0vrdr1BdwWIluuZgoL6vE+Hsi7RT+NjyKNov3xlKPX74BDlyV4eJjo6pw0pAFL1/pyu
F1yh1c/3oHB1qf31wUgT2YOe+vE45VQovz00PaaaZzEUf6o4n68QKXEVTYpREQMjdcPJ9EfS
LTittbg+qKn/l/GV1iHTqbepgxIE5kcPrbW+y7pz9dREx+e2I2XpsmMCaQJjqfOQyTR36T5K
qO5e+eY0Orr8NRp9RwR5iqyMPZigpcguD9Db6y6WrV8utK3dFJ9PoaHhS7Iq+aFEcYvuJm8G
gliPntqWX/xN5q9jyIeBoGxDbxyrPIfGg69RCwUIzJfG/15yolDx+RTKdjT3eCZtnBxGAvOj
sSsyiEii9J9Hky8TKXLqFso6MptaKyo/01K284q4jrmtjlmyl06n1nxIU/vFkJdQcpaI6BNL
g17fRGWkjWtQqbLgGuQaDSp9o300o4mCwHQ0cnk6SSRR2rL7SMdAiqav0H5rYiKHXWSyrfHg
LGquKPs7VbeP6JKZKP/0YprcIZAUrFRd84imgbM3VzzDyHyVPu2psnlvzbDFZMvbL3ygMmda
Hso+S0undqZgVVkNUvm3pHtn/UZnrB0UVHzuHCP/h9fZPJ8n7YehpAYI6r60MK6UXV3wvjjv
a+vp2o7Pafp9XSjGV2n7LGexIb2wt5piYo+eWi5wUsecbF/y/6LnGooECOQ/+mdKqcKVNd/4
kvp7MAKU1PbN4yW2kZJo02v9qaG3UFyOTPCihv2eoP+tPUXpsoueq+F2sQ4/07IMjvgO5TDG
76ZPH72LojyFUhrESPCMom6TF9CeBFteszv5ljL4Y063c06WR/nsONi+yNbul4PHHeqIz19X
/XUHMV/7nPp6MAJEin3hb6fPBeR6WgjX01tATZxpKYNdnO3PWYOfaVmCDH6hXMg6aLk0Zjol
ZeyhQ81UtIQJtMwnnFZFB9PPYuEAIvOhbQsvVXiRpWu/0T/NPErSEpT0s68f/aIuNXjo1ZYO
bkmxkpNSg5bt5tC1D3vSzwy0hDFaqtbScqVQKt1A2v7leetORN4ROt03kJYW/1ZNv0ZE06oI
P1ouMFoi1qN/Vv5Ee6sYtHTmWeQsUzL+Sy/FWjqJkU9tJ0fOJzZd+40ebeZRqnOoJE9fP/JW
iyV/82pLz29JqXrg0omX15l8FAX7mWdvGtovipr1uYeGda1PWgYC86FBj46lZg3vpCHDelIj
b6EwraH0vRVHxrnyKBFmZbs5tOrDnuTFQGCMRLWWPJSlHBIhkAZ/eb5sGbkwqJz32zhLXmAp
kwl/3IKmyo7Og/nCB9RVBQLzp4fXVcyb8/W0gDY+EkiCrXJkIgV2fZk2xlfhNeSdpEXjYklT
2uFgCtJ4qEgo9TcI/tTtzb2UWZSZWjlgQCSlLadRvowABbWZc7Swvhrp0GstSAGQEPEkbasq
YqPfRI+FCsVpFD1PmQ7ICSPlbpxMYYJAAff/RplSOv061o+YGElTt+STsZYMWnIdI5fVdXPm
WdrwydM0MNa75F1jagrtMJpmfL2VLmRZeXe5BnENInKxBpVQ9BumHUzfJlh+I8V/TQM9GEHZ
1nqwxs0HLcWY6bQnYw+91ExFjAmk9gmn6Ojgko4N86H+Cy9RmVor56Bly5m0aFZbUjMQEzTk
F9GAYuoFkaeiqGMlUECPebS//MClmw1aOq8fObRvXk8KLN+hZApSa71Ip/MirUZJImMEVS9a
cK1yHXFIT4nIeR1zsn0hE52Y256UDMQ8+9PC65U9p0RxXw+0tKHKDvT2SSuhtvTTtO6TZ+ju
pr4kFpeDQLrGg+iZTzfS2cxbEkmSAW4XW+XCBy0LcdR3KIXx0jJ6oKG6pC4wkdQadYmNwEjd
8AFadsma5+xOvqUM/piMQXbH3rlSKTnRvsjW7peDxx3qiM9fR/11R8leMZZ0DARFC3rtoHPD
FFxPS8H1tFI9lYeaHbR02C580NJ1yOAXOsLx04fLfIpweNCSzHoyZmaQISOD9Bum0u8iaInn
KLqwZAKtCLqLDq08TYbCN8x4ZhH9FWkZtFvaejallbac6QKd6+9nGSxU1acdb/xO6UmFVc6Q
Shlr36adDVSWa6Mm0Y208iVSMmi5NLQHbWnpT+snfU7x59ItL7gxnTL++D/aGlp4/5AJdC29
goxQxvyuhYOdCvp98Ft082J2odiYyXh5K50aEUO/9BpO2/wqGbR09lnkKlMiovyVNNaTEaCi
np9es1/sTBfoi/5+JADEVPVpyBu/09FSz3Jq7dt0TwMVMYDEqEm0toJdyuHoy+tkPoqC/WAq
aj/7EOUTEZlv0MJ+lgZHbDCVNmVIRCRR0pIR5MtAECPpqR0GWfNRWpiF0B7Uu6U/tZn0OW09
l24ZUDam06k//o/6hVoaPSFkAq0qU09NlJ+VSRkZGZZPyl/0cnMFAQKFPrKakov+XuaTSTkF
VVvefOlLGuhnGegQ/O+mb67cgkCMHZ2HnHUPU7AAgqINzTlazh2SqZ4aslMpOTGebl6/Spcv
nqUTB/fQxuWf0oxRrclPZAQI5NP7UzprK0IvpdPWZ5uRioHAFBTa7RlauPkkJeZLRGSm/KQT
tHHBY9TJ39IAM0UTemlvUdPqOtvajR0dEDJfov91UxHASHvPYrIUbQ79OrpwhXf3j6nKqmS+
QB90taShG/978Uydsh0QE1HuRpocJpAQOIFWXV9J4/0FEiOn0pZ8qh2DllzHiq+Xr65LlHV+
E302bQg19SnqLDASvBtS3ynz6NcDCZUHDLkGcQ0icrEGFWGiM/M6khKM1D0+KclTYf4ZlNR5
vvUZys7bRSbbmvWUnWn5PnnDVIoSQcxzFC1aMoGCgu6il1aepozCS3LPLKJRkZaAh6L1bDpS
RiglKsjJLHu/9HP0cW9VNYMPJYOWYlRn6lw/mO6avoT2J5R0sQsS/6NFj7Yu7PyqqOUr/5Xt
gDvdyZXxfZFBP0zn3qeuakYAI1W9/vTiV+tp3/lEyjaU/a1kyqfM5HTKsypBTuppIc7pmLPt
C5H52kLq58kITEUd5522PalCSqBFd3sSAyNlp3fpTGWzL6RsurDlS3pxRGsKVJZacerbjIZO
/4K2FPcX3RduF2vwQUsictJ3KMR0jhb08bF8LwZTj5eW08EEPUkkkT7hIC17sTsFixaN8umz
gM5VsKs7+ZYy+GNOt3POv3OWZJxsX2Rr98sly+MOdcPnr5P+uqMY6b8ZTSzvbNAkWp9f9RU2
4XpaDq6nlempPNTsoKXDduGDlq5BDr/QQcoPWhYNXDo+aFkK81/TaJUIWqJsQzvv7UP/rk0u
9wsTpb/ZjpYBtEQ9kM6XaiRMO562XCsE0vavLlh1IsynP6ItOkZLmJa2fn6l3G9KBi2XQKDf
xv1ipUMukX7FeFopWO6zd225Raz6v+hAA9GyFWybVynF2nZSBcfp5J3awhWQ1gctnX+WUr9z
okyJiKSU7+huNQjQ0D0/Zdi4i23ydjxN0aJlZsPdX12w+rIZTn9EvXSMwLTU5/MrlQ+MOvjy
OpuP4mC/GEsv/VMUwDfQ9qciSQAjv4fWFgtzsSPD/GhiuZl1zpdHiTADAoWN+4XirdTTlBXj
LY6yEEgTy9fT0hgP0+utLA5E2NStTneMcy5so6XfLaXtF61VfhdQ3c5DwSn6Xy+dxQGIeY52
l3tQ2etpxQzQ+UXDKVQAQYigxzdbt4np5DvUUW1xvEKHf0vnbRgk/9RnNCgskvrP3kw3bC1/
ltm2dmFPB4QKaEPh7Lni4JIUT1/2VxPAyGPUL9XYLiCblt6rIQCkHryIkgsrQoUOCOVatnsR
AmnoA3eTv2DZ5iWfqjdoqe47n/adOEEnbHxOno2jnOr0XbiOuYGOSZR+8Ht64Z7m5Fe0ooqp
KLjdSHpp4SY6V91VFlyDuAYRkWs1qBDzJfqou2Vw8o53TpUK2Bdtm1RuMNMWcthFhjQMf02j
+iIIyjY0/N4+NGVtcgW//Piblu2gWHUCQ1ICfT1AbfegJaCg2Ke2UoZVZ/sqLRrqTwJAQvCD
tDqzdPZk7uQ6UabO64dEKd/dbcmnGEvP77E3UiaTnlZJdXRMhvZFSqVfxwaQAJCiyQz614bG
SUk/0FAvyyBa1/fPV3vFeN61v+j7WeOoY2jJCgim8KeW975Eiw9nuP3gZUVuZ7vwQUsieXyH
vO1PWdoEpqQWL/xFFVpuKZN2TW9GSgaCGE1P7yivU+7gW1aH6vljVrGrnZOnPOT0T+Vu93nc
wWYGao/PXxf9dYfR07qJfsQAUnZ4m6xsElBtuJ5WA66nMlOzg5YO24UPWroEWdsXJykauJT3
JFLjMcTFD0KzwYHlvhDh3bo5RAZASkR+olT4dwOSV6xCnhlgLZ5E20kNrR7mKTSdjGb3BYNR
PlI274aRbNxfjEH0MyNQ8WxiBvWAIQhSM0DKQvb5eJROgo5tQNx1M8A8ETZ9GgK0VtJWtUCj
aUOhsnnaqMzPUoTdZVr4TNlZyCYATAEvL00VN6n4LP+sWIVrZkDR4km8PakhrB1Brmw6GS/c
FwyB8vHf5t3IrOpZ7EbGfAhe0HmVVHfGGBgEeOm8UPRXplBYyhNAmQoid3mIMbj/mREItVJP
AwYMwZ2F9fTC+XhI1q53AZ4N++D+Sfejd4y1yu9KCAVZyUhMTCzzibt6BvvWfYFn+/fBy7uy
QEyHHs89ha5lzme/FfVUhUYT38TUVgpASsC2zUdhrPAbEw79tBiHCwjMsxde/2QSGlk/Rx6a
Zk9i5ZlT+HNOf0RUdlZ3rYBB56MDA0BZGcgiAJSLnFxLAWu0WlTdwCih1SosaeTmINembbTo
MXIIQpCCdUs3II2FYejIbqiushVsm4FOLVuipY1Pqz5z8V9Fw8oE1zF5dcyM8yvm45M1p5Ah
hKPbI29j+b9XcO3QSrw3dQBidfa6NVyDai+1Q4Ok+E1Yf8AIUjRC//6xEIu/EdF0wADEKAiG
/euxKUF2J8q1GI9hY/wgvDg4sJy/KyK2dXN4MICkRMQlusiTUXbA5Gd7wceqs10P454eiVAB
kFJ3Ydthlwm8E8ihH4T8vDyL1DMVNBrRSgqVIbee2qI6OlYKR9sX5o+hj41FlAiYLizFdzty
rSROSP1zFXblEpiqE0bfF4PqlppHVHc8/NZy7LtyGf8uexMPdQqBaE7DidUfYf5vl2CuZjru
A7fL7Y0cvoMB//72B26YAebZH8+/2A3e5S9mOnR/+QX00zLAfB2rV/5ru565YR+5BDvfFzlw
uDxc5J/K1O7zuIMt6qrPXzv8dccxICMjHwSA6XygsxkvrjodrqcupI7qaa3Hrevp7UbNti8n
zhyx+m95By2hgM/dg+BtpZchdH0ed/38M7otfQdREYW3NV9F2sEkEBTwHnw3fG0+rCcC7mwD
BoL5zElk2+p9qFsjoLWNRDR+UGkZAIIpu3RniWA4eRy5ZgDKdgjtWX5wsAgGZdfu8LOVR7mf
pRg7y7T4MkVhZ0+CyWxnIMx8FQcPJkGCAjGD70bLSp6l451toASh4MxJXJC7Vyh3Phx1IGTO
B1O3xh2V1FO/wnqak52LWhbCdAAD/nq5NcJCQxFa6hMR3Qydhz2FBX8lwAQtmk1ahB+ebFQ2
gHGr6qnYGK2ba8AgIe7qdZjKfy/dxD97L8EEBvWdYzCiXmWyyuCp85ZbeGsIBqVKaek8GA2W
CRgkQZIstZYJ1XvhGCssDUmq1BHR9hiJISGW34phQzGym2u7H7LBdcx1OibpkZmaitTUTOQ7
3P5wDaq91AYNIqRuWYd/9AQxsj8GtS7bzVW0GYh+YSJIvxfrtqbWsjZfgWZ3D0JDK/6psuvz
WPLzz/h56Tu4t7x/KhNCUHvcEW17WMOjXSe0UgIwJ+LipSz3K1tZ9ENASIeOqC8CMJ3CR+PH
4I3le3E5q4JKVI0seloJVelYKZxpXzx6TMHE5grAHIeVi9YjrfwPKB2bV+1ADjGou4zGiGj7
66ekz0JqairSsgtqfwCF2+X2RQ7fQbqGg4eSYAmjDECfYOvtLgvugwHtlADMSDp0ENdsGMgt
fMvKsON9kQOHy8Nl/mnNtvvOw33+mqE2+OvOwCAUFRij9OgAACAASURBVLLR6LgucD11KVxP
3RO3r6e3E27Qvpw4c6TMgCUAq5MEHIdpoGtpfYUhC26PiDHty/5RSkR+kgSAgc6twan5O23G
Y6XjCZZgbWY6DLaE2dMPShsjwSWRXgKodHWXUJCQZPmTtgG8w2wXOwuOgIeKAQZrGZT3WUpu
ameZFiJ46+AtACAzcnPyQdBUP9YtJSKu8Fmkc2vwQSXPYjqeAIkBUmY6MuTuIdbRfDBPP/ja
XU9vTwS/OzHtq2/wxqjm8C5f6LLaxYS00zuwdv1O7D9+HjdSMpFrYFB6eMIvJBz6E2YABHNu
DvIIZVdzm2/i2k0zAAHBTZsi0OHZdbUNCdmZ2ZAAiN6+0AkABE94eVo0VJ+XXw3HwoT8fINl
ZqKnFzwrKzttb7y06CvccU2CIro3etjR/9Dc8yNu/DoWXja+Z0yEwuY76SRcx5zKdkVENJv4
Lt5M+AALf/kbx//4H55e8zFmRvfAmEcfw2OT7kPncLVsd+Ma5M7UAg2iDGxdtxt5JCC47yB0
LP/OqDthUB9/LPwxBbvXbUfmQ2PgW41k3QKmQbOWDa2uhhKC22OYDf9ULgRff/hW0lNiOh/o
hKKObg4IAQ7P+XAJMumHsvNL+GzaVoz++DCyzq/GnPtX4w2lD+q3uRPde3RHz979MbB3B0Ra
rdxy66kTOlYKp9oXRWs8PPkuvP/cLqSvX4QVN0fh8ciSikIZW7BqRzaIaXDnmBGotD9e7tlS
j6/DD198gS+XbcPFLMmiG9p66DHuSbz4YGOZO9Vywu3CsYIcvoM5AXEJZgAMng0awmYYRQhH
wxgt2B4DzIlxSDADDa381j36yPK8L3LgcHm4qu9Rw+2+q+E+v6uoBf66Uyih89GCQQ8pMx2Z
EhxbGsT1lOtpIXVBT6uLe9RTDgC3bF9aNm0rsx8vBMAj2I61oZQPUx4BMCN79Ts4srrqS5go
2g46CIIDAQmCKSevuAEUK0uAqSGqGZBjLRmZn6UIe8u0CI0OOhUD9IS05FQQ/KpfNpSPvMJn
ubD6HbxSjWcRRLHa2/hUm7qaD0Fwgxlv7oIK3d/9F8smBJeqn4SU3yaj53ObkJWdDmVUTMWO
AyCbXSjjP3zy+CT838rTyK7KubDWVlIusnMIgAAPrYd7BUVdCWXi6tU0i3b6B8JfAMC84asT
wUAwJSciRQIiK6vsUjISky1OoMLHB16VFp4ajQdPRmNH8ioqoVarId9Qlh1wHZMZBq+mw/HK
98Px4vyD+O2rT/DpVyvw7+Wd+O61nfj+zWC0GfoQHn/8MdzfLxZV727INajWUhs0KGcn1u/M
ATEFwlVxWPPLL+UfAlnqcIgsGVk71mFXzhgMtzW7wt0QAhDqiH8qF2LlGkQ5WciWLO+FztfH
/fwuuTSZBWHAh3/jyMBv8L8F32HF1mNI0mfiyoGNuHJgI3763yyIuobo98gszJs9Ee18S1dy
+fTUaR0r86DOtC8CosdPwaDZf2FV5k58v/Q8Js9oUlxumVtXYVsmgXl0w5jhEVXfx5CIg6sW
4fMvvsYvu68iz7IXLzQRd2LME9Mw7bERaB/kvnttc7twbCKH70B5yMkjAAwenpWlwaDVasGQ
AcrNtr21Yw33kWV9X+TA0fJwVd+jptt9p+E+f41QG/x1pxARFBIEEWkwXz2Dc/lAmwr7ulYD
rqeuheupe8Jj4+6Dm7UvLZu2BSD7SksPiBo7Hk3QQeUjAIkM2v5PI7ZnUNW38OsMnay5ZhA9
1JbtCgr0lW8nQwUwF9hQVFc9i71lWoQiBo0bKICjJpw/dR5GNKp+wF7QwbfwWSL6P42pPYOq
rLCCX2c0lnsqK8/HbQCDxjcMERGhZco0YsqreHjBVnxy4Qy+mrsUz6x9tKIjK4ddTOfxxejB
eGFrOkgRgDbDJ2DsgI5oGhUILxWDZDYgNz0RuxZMw4J/rJ3BA4B5Q+fNgEQJ6anpt8+WVPkH
sPewAQQRkW1bI4gBgAcaNakHEWdgvngOl8xVdEBMl3DukgmAiOjGjeCqxY41irvoh7vkQ0aU
wR0w7vXFGDfjPexb8SU+/uQr/H4gAUd+/wBPrPofXm7QC2OnPI7HHx6OO0JttYBcg2ottUCD
8vasw9Z0CSADDi+cjHELK/lx2las/zsfwwd6yJwLF8E84OGIf3qLMF04i4smAIIvwsPsPTeL
YDS6+HQdWTXZAw0GPIsFA57FJ7k3cezvndi5cyd27NyB3QcvIT3rAjZ9/Ah27ziJ9TvfQy/f
indySk/l0DEZYUHD8diocPzx7U0c/PEHHHp+HjoqASAL21dtQSYxaHuMwT3htsVBf2Mvfv3m
c3zx7e/YF6cvPDdUjbBOo/D4tGl4fFRHhLq708LtwqkMOXwHpoWXlgGQkJ9b2WopQl7h+buC
p3flq6RqCjd7X5zCVT6/m7f7VcN9/hqhFvjrzqFAsw5toGVnkZW7H3uPGDC6uwM55HrqnnA9
rcXcgv5cXcLN2pcTZ464YKUlGJg9w+RiFLzqicA5A0z+d6HJrNG49XMNBKgC/QEAlH0NuWkE
K6fAWr5Puol8g43mw2XPYmeZFuenIVq39AQ7moHM40dwyTwYzaq7dEeMQoN6Itg5A/L878Iz
s0bDx4EslIWBFRZr0f71NZMPB3CXfJSGiVAULguuk0Ls0Q3PTe+FRU9vQ+amd/HBnvH4uEe5
oKMMdtHv+gjzd6RDEqMwbvEe/DS+nhVRLIDqzxex4B8biYgRqB+pALtQgPTDB3DBPBDNnVkm
VytsS0jf+BP+SJIAIQBdurUq1DtF4cHhZ5Ad/zd2nzejRyWFYTrzF/YkSgDzQovWjWrBFl5c
x2RFrrquCkWnB+Zg2QMzcXPvL1j46QJ8s+oQki5tx7evbMeiOSG44/GvsOaj4QitbnvKNQgA
1yDnKMC/6zYjRWIQdWFoEGxr4IyQm3gFCdlJ2Lx+HwwDe1oPxshhF1ltW+oMH7fDhDObt+CK
GWDeXdHzDtseuXUll5CWkla9zpqjZeoiTRY8I9B2wANoO+ABPAfAmHIEK2Y/iqkLDyH72AK8
/v1U7Jre0PasZgf0VBYdkxUv9H3sQTT54V2cPrcU3+18HR37a4Hs7fh9cwYk5oleY4ZZ7+5J
Cfhj2lBM+foQkgv7fEwVjA4jHsOz057A2K7hNbNrgwNwu3AqRQ7fQQxFeKgIXDYj9/JFxEuA
1eNIpThcvGQJsosh4QiVfTuRUjioye73vjiBy3x+d273nYD7/ABc5fPXBn/deTw73oV26hXY
pb+KFYu3Y273QTaPpbEJ11P3hOtprcDp/hwAh2J9LkmjhpC7fbGTopWV5anZ14SFIKhHcwgg
GNZ/iUuX7D2pWpZMQN28BTxEAMZDSNyTaeN3BOPev5BuS6vd4llKo0G7zm2gZoDp2DpsvGLH
ODkLQbcezaEAIWP9l/hJjmdhWngWzhzKysisZiDIBflwBHfJR5k8+cBXZzmrKfv6daTXMj2s
GgHRD83EhHoiYL6IRW/+gApV2Gm7mHF1/wEkmAGxwVg8O8qaMwVAisP5i3m2Z7sJYbirWyxE
AMajS/D9Pr2d+ShHLbAtZWzH7FkrkSoBYtRYPDJQV/ydT5+h6KFlgOkYfl5+xOoRwBYMOLTs
V5wyAcyrF4b0rgV7InIdkzlPctd1DSLunIi3fj6AKxd2YdHMkWgTqAQKEnFk7yk70+caxDXI
SYwHsO7PeJihRKfXd+Hs+fM4b/VzFjtebQ8FzLjx53ocsulnymCXWmBbOaCkNZj/9XEYIcB/
wGj0K72ykHlAW3hojj4r20b9yMaxQ+dgqs7NHC3TW6TJysC2uP/DeRgfKgBkwLFDJ1G9sFN1
9VQmHZMZZftH8EhHNZj5JlYsWo90AnJ2rsLmdAnMqw/GDA22PlOe0nHq32NINljKbtTMRdh1
4QoO/DwXD9WqgTFuF04VyOE7CPXQoX2wJY3Dm7Ej2XpNoqTt2HzYCEBESIcOdpxZ6gAOabJ7
vi8O444+v1vDfX5X+YW1wl+XAaH+GEzs6w0GCXFLXsX8/fkOJML11C3heuqeyN2fAxyL9bki
jZpC7vZFJmp4bF+Ez4OTEezFgJydODbxLSRn3HrZEtoPRGiwAEjpuPnhQmQUWPmR4QTOf7Ie
thZausuzlCAgavhodNUwkPEAlv18uvovK0Q0f3AyengxUM5OvD7xLex19lnEKERHiWCQkPLP
bpysVsTEBflwCHfJRymEULRoHmgZJP97KZZfrL51rZF7YSt++vYnbLvgRtszePXGC8/dCS0j
5Ox8H+9tK3+YrPN2MRgKK6Ik2Zydk7huLr4+roTC5u4NCrR+aBI6ezDAdBYLpryADfFOODNu
btuC6xvx6tAx+PysEST4o98rz6NXqcmoLHgYHhoaBIGMOPX5DCw8bd2FKDj5GWZ8dRYmCAge
NhFDAmrB9hhcx+RF5rpeGo+o7nhk3kocvnoO2756EcNb+Nk/K5drENcgJzAdXY8/r5kBRTMM
HNCgEodbRMMBA9FYAZgvb8SGkzbKWw67uPCdcxco6yA+euhJLL9pBtO0wTOzRiK4tGmFYDSI
9oIAgn7vemyzEoExX16GbzZlVS+Q4nCZ3jpNpvzMwr4Ng0ajtvuMkqr0VB4dkxmxESY81h/e
TELa+kVYGZeNXas2IVVi0PUbgyGBtjKigF+L4Xjxq204d/UQVsx7BN2jZNiymbKw59Nn8MQT
T+Cp11fi4i2IeXG71CJqoH7I4zuo0GXUvYgSAcrdgg/f34Ps8j+hLOx+70NszSNAjMK9I7u4
dmctBzXZLd8Xh3FDn78UPO5Qd33+0tQWf90WdtVTForRM6agmYqB9Ecwf9QD+PKYvfWb66l7
4t56etsid38OcDDW54I0gFrsF8qPg4OWBCkvC8bMTMsnp6CwIkgwZ2eW/D0rB+YqhpZZ9CS0
m9kFSibBsOcNbGt/Nw59sxkZCSWzLigvFXnnjiLl71OwdaSkU3j2QewjLSAwgum/Odg19n3E
X8opfibT5S04NXY4TqpGoH592+tjnXsW+cq0CCFyBCb00YGRAYc/eQMrE6tfeEL0JLw3swu8
mYSMPW+gb/u78dI3m3EiIa94toA5LxU3zh3Fv3+fQkpVSbNAdO/VCgoGmE58jEefXYz9cYVp
kQEZ145g+9ajSC2Xjuz5cBB3yUcJKnQZORyRIkC5f2HWPQ/hf3+eQkpxpTJDn3Yd5y4mVTJr
zYJ0aSFGdByIh6Y8hAGdRuFre1bluhQRjR6ZiXHhImC+ih/nfoPz5TTTObuIiG7ZHN4CYL6y
BG9+/A+SS/lhUtZ5bHxvPHo9sAYtHh6FcAGg3GTcTMmtMAFAjJ2C955rCy0jFJxciBEd++Lp
BWtx8GpW4W8lFGQl4erZo/hv1xbsPpddSePpDraVkHH5MA4ePIiDB/dj787N+OOnj/HqpN5o
2nQI3v07DRLToNGDX+HbKQ3LHjTOAjHyjVfQ3ZtBSt+OlweNwNx1Z5FZZDtzBs6seQP3Dn4F
uzIkMF1PzJozHK7sf0jpl3D44MHC56nscwhnEq3NWil5Nq5jciJfXbcF00aj92PvY8UPUxFr
9/YWXIO4BjmKGWc2bsQFEyA2GICBVezPr2g1EAOiRMB0Fhs2nIf17oEcdnEkDYIxLwuZmZmW
T05BYd2WoM/OLPl7Vg4KqjCvKT8bWZmlrsnMRGZmFvKMlvuTMa/c91nIqSrRQgypZ7Hzh1dx
b8deeHFTIiQhCAM/WIqZ7cpvtuuBu4b2g58ASInL8cTo2Vh9Ms2y+tCcg6t/fYXJ974L7dBB
sEwuz0d6clYlkxYdt4scmpx3dgfWbNuHU1eSkF0mkxIK0q7g0IaFmHbP0/gt3bKtWpce7R0O
cFnXU/l0TF4YQu97DCNCBFDuDiz65jus3JgMifmg/5jB8Lf1vouxmPrDCrz/WG9Ea2UUBekq
tn/3Fb788kt8uzseSpcH6bhdahW3vH5YkMN38Og+DS/28rEMPHw8GsNm/oIjSRa1MyQdwS8z
h2H0p2dgJAG+vV/Cs901Ln4qRzRZvvfFle2cPTjXvsjX7peHxx3qms9f2/116zhST726v4FF
M++ANyMYr63Ck11bYsBzn2HNf5eRWWxEgjEnAae2/4R3n5uJZeVW7XE9LQvXU45t5O7PweFY
n+xpALXaL5QdcgTpJp3ro6IlQOUfZTs6fsJUdXqmG3TzhS70q8BKrmUiLfPyoxW+HrSUFf5N
O4IuZ1a4mNLntKGlAC0NmUJxBTbuUbCB/gkQaAkUtH7OUZLKf5/1Dx3r6kNLi++vol/C6tGq
MB9axhgtESNp78q/6WRnpe00nHkWucu0EP3B2dROzQgQKPjuhXTaVvnYeJb1L3Qhf4ERLNtE
E5hIai8/CvD1IJFZ/sa0I2hpBbtUREpYQfdHiGXSUmk9SaNgxAASQh+jzdby50Q+9Gsnkh8D
QdmO5haXm4F2PB1FIkSKenoHGYpuc2IutVOCwPxo4lq9zOVhoqNz2pACICFkCm2qpJ5OChAI
UFCbOUepUkub42jlg9GkLLwvwIiJavL09iKNQiAGkKLl63TYWFkiRHm/jSOvojSYD034w8qz
y41hJz1TTyRATf2/jLf+LhERkYlOvduZNAwEMYImrU2v+Ftn7JK/j2a31xIDCEwgbUhjat/1
LurcOob8VZb3xqfbfDqwZyY1VZSUs+gRQ89uK2dEw2Va+UQ78hFQkg8wEpRa8tQoiBXbSaQG
z+0urndWqSnbFtc/VPphng1p6NxtlGCzgpopbs3j1Nyj0CaMkconnGJiYyjcR1VcFkzbgp5Y
G0/m/2fvvqOjKto/gH/nbk02nZAGIYUivVdBkI5IEQVExIKCig1RUF/LD+zYXhQUeEUUlSLS
REAUQVBRmvSQAAECCSQE0vtm9+7z+yOBhCSbZHdvspvwfM7Zc5TsTuZOfTKzc2+ZT1sSF9FA
Xdl+WzHTkdnUXg2CbigtSS7dOoy0+WG/orqt9ktD3eeeqrTf8TjmmuOYzXgM4jGoJscg8yl6
v4eGABU1nraDqp5V8+nXqcEkQZD21o/pTNkMXb8sBerF1jQsl2jhAG3V42eVZWXfmNzl7ROl
xpBr4x5IqA3kHxJK4RHh1KihJ+lK9T/JqyNN/S6acqxm5QTN6+9L0vX+KpHGzYPctRIJCPLq
9S7t2/YshalK9TnP2+mTWCvX50i9ODQmm+jI7PakvtYvhIp0Bi/y9vYkg650ny9KM3DoAoqy
5e+A6lJkHKuB+YUKaPfzzYrbi5rUAiT5TaA16YpeffUYt9Kj/hIBEgVM+YVqohrK4XqpRMl4
pB+zkrKVSNIcTe921dhXx85oH9coEDuY4lbRpGa6kvFdqEjvrr8+fgGCdM0m0aq4CgdB14gt
FekvSsxzCpaHvfOLYvN+ebzuUE9i/voSr1thdzu1pNE/7w2lRlpxYzmodOTlH0D+nlqSrqer
p8GLE8u1MR5PeTytXfn0w1g9AYIME9ZV429WJShUL0r/PUcOrPUpnEZdjwuV5BqPflU1QshH
O3Hn75+j5Z3t4eYmASTDkpMOY0Y+iABAQCAZ+Yk1dDzVsyfabf0DPZ8dCA9PFUCFMCXFIzcp
CwjohmZLfka3u1vDLaCKoxqucC2l6Dq/gPkzOsAgLLiydTqG3PU2diRW84yyqhGGf7QTR37/
HNPvbI8gNwmCZBhz0pGakQ+51LUkVuNaROBYLPllKZ64NRg6AYBkFOblosBMgNDB10cNY0W3
TVY4H3ZzlXxcIwXjnq924+e5k9CzkRskQSDZiNzsHBSYi27FICfG41IVWdH3mYDxEToICOia
jsf4W8ueSnAmFVo+9hLGBkqAnIhVby1GTLmvGzpQL/pueH3zJrwzrh38VIS85NM4tOdv7DsW
h0x9JAY9sxS7tsxCRx8PlHyxmyAbs5Bb9uuGmnDcs3A3Dm39BNOGtkGAXoIAwWLKQ26Bubjv
A0Kthzk3o/JnSrlS3QoVdB5+CApriR7DH8TMD1Zh79kYbHptAAKtDocSgkcuwt5/V+DFUR0Q
qAMKMxNxLvYcEjMLAV0gOox+CSsP7MXnI4KcfZ9ym/A4pjCF2nrN4TGIxyDbWS7+gi1HzIDk
iwF39KjG89b06HVHf/hIBNOhLfg10cpXbZWoF5fvc9VD5lykJCbgfNx5XLqajUK4IajtADw4
ZyX2xe7HF5NawWDtw9rWmL5hOxZN6YkgnQDIAlN+DvLNHmgx+k1s2PASOgf6wrt0nyvIRb61
I2iOlKlDY7IFqSnpEMX5JJJhzM1CZmY2co1FfV6oPNC48wg8/elvOPDT02hTEyGekuOYonTo
OeURdNIKkNkMM0kIvOsBDPOpyd9ZMcpIQEK2BYAazVo1s/125fbgeqkznNI+rlEgdlCHT8Cy
3TuwYGpfhHmoIEhGQV4BZBJQeYSh79QF+H33MkwIr6Urs2dMdtn+4gBXi/nB6w71Oeavi/G6
NXa3U+GLXi9vxcmon/DBY3egc2MPqARAshFZKVeQkl0ICwno/FtjwMRnMKZ10ep/aTye1s5l
2cwFx9ObntJ/z8GBtT6F06jrcaGSBBGVHSedz5iKnNgLKEhLh9mshsrdE9qgUBhCG0Jt8+3d
7Pn9V5EdfQb56QUQfuHwbhMBrQYACOaURJhggMbbG+rqnNF19rUAgHwR66cOxMRlp2EkAckQ
il6j78XI3q0Q1rgd+t7ZFSHVyYsxFXGxF3A5LR25ZjXc3D3hExSKiNCGcLfpWizIuRSD6HPJ
yJZ18PT2RUBYU4T5VfM5O4rlw0Gukg8AICNS407iTGIaso0COncDvP0bITwsGF7aqkuVsi/g
UFQK/Nt2RphnHb/tkp31YsqIQ3TMBaTkAe7+TXBLy0j4XVtpNmciKSkb0LlBr9cXvbSqStsr
FaQU5yMDebIKOr07DD5BCI9sDD+9DSF3PahbOTsRZ84lIDnNCJ1fIEIjmyHEs7Y7idJ4HFOc
g23dZfAYdOPHeQyqGUr0l7rY52QjstJTkJKSgtSUNGSbdfDy80NAaCSa+Nq++ClnJyAmOg4p
Jg+ENG2BpsEeRbcvM2ciKSkH0Onh5qaHXu8GnUaqenx3tExtHj8sKEhLRPzFy0jNyEae0QwZ
Kmj1enj4haBJeCgCDLXX1pUexxTJ0/F30Lv76zhgisRzu05gXp+qv0agNPPh19Gx+9s4YfHD
QxsvYdmImr6l2424XsoqxJbJwRi5LA3age/jr0/vhHvZt0heCG0ZWnRbsdIsmUg4dRFZZb9b
YjmHJffdjU9PWBAw5WckLBmK6o5Izm4fpTkcOxRcxZmTZ3Ep3QidbyM0bdkMDZ13OXaNya7Y
XxThIjG/K8SFiuGYX1GuFK8r005NyEiIQ8KVFKRlmaDzCUBgcDBCAnygq0618HjqulxkPHVc
AdaM88X4tUYYJqxF6qq7q/FlW9ej+N9zjq71OZhGvYoLHeSam5ZMeZY0HFz6Eh57+WscTpNL
vtGjvxurUtZhgtWvozPGGGOMMcZYHWO5hGVj2uPRn9Kh7zcPx36fjqZOuL2DcfNDCB71LdLV
3TH3+D946ZY6taKlPKfXS8mmpdWFEGt/I2ctx+jAB/CT1W/JSzZvWnL7YIwxxljtqx+blvUN
x4UlavWUKXMiyQ9dpi7BgftexT+b1mDDtgM4fTERlzObwLsu3ZuRMcYYY4wxxipD2dj3zr14
bnMaSN0Cj73xqFM2LAFCasIl5BEg3JvhliY378IDABeqF1fB7YMxxhhjjAEcF96INy1vMpJH
OPrcNwt97nN2ThhjjDHGGGNMWYWJf+J/rz6H2d8eQSbpcMsTn+H/+no4KTcyLsVfhAxAHdkK
zVzpEW61zHXqRYs7liShYDFZP2kpVNBUVFdeE7Euc1zx86sq/CCESl3tU5bcPhhjjDHGWBGO
C0vjTUvGGGOMMcYYY3WTJR7bFnyBn6NiEX3wH+w5dgk5MgFCg9BR87H+o8HwddpDksy4FJ8E
GQKGZrcg/Gb6wrQL14uk1kJr10qIBLVWp+Aiyk3cPhhjjDHmRBp0nbYYXw6ToY7swhtELoHj
wtK4TTLGGGOMMcYYq5vkePzy6Vx8GicX/4OAyqct7nlpHv47cxAaOfMvXssVJFwqAEGF8JbN
oXdiVmqdK9eLq7iZ2wdjjDHGnEiFiAEP4VFnZ4OV4LjwBoKIrN7chDHGGGOMMcYYc1nyKSyZ
+gJ+MTVGeNOWaNflVgwa2A2N3Z12vLIUI66ePYsrBYAhpAXCfW+inTqXrhdXcRO3D8YYY4wx
VgrHhaXxpiVjjDHGGGOMMcYYY4wxxhhjzKkkZ2eAMcYYY4wxxhhjjDHGGGOMMXZz401Lxhhj
jDHGGGOMMcYYY4wxxphT3dw3x2WMMVYLzIhe8z7WRMvQth2PF+9pCZWzs8QYY4wxxhhjjDHG
GGPMpfAzLRljjNWwAqwZ54vxa40wTFiL1FV3Q+fsLDHGGGOMMcYYY4wxxhhzKXx7WHYTI+TG
/4PVH8/AhKG90aV1JIIbPYh1eTWURtYPmNgoBJGtu6DP0Pvw/H/XYE+CTb+MscpxG2OsdnGf
Y4wxxhhjjDHGGGNMMU69PWxewhEcic9F+aOeAu6N26NjmAdELaQBEDLPHcSJJCNgCEWHjk1g
qO5FuBxCeux+xFwxQ3iGo1P7RtA7O0uuKP8sfnr3KTzz4TbEG0u1Hn0nmKp79tjmNAqRm5aE
uMQkxMUcwt/bvscnr4bjjpc+w2cv34kIrqh6Jg+xP3+FVQdMaD9uCka39qzGWFQFSseZAzFI
NgGGJh3RMdS9zBu4jdVZVdZtDTNn4Ny/f+Kvg7G4dDUTRskNng2CEdmpP4bfGlbFPFIDbd1V
cJ+rNmXiMcYYY4wxxhhjjDF2M3Pi7WFlHHujC7rMOQpzuZ+p0fLlf3D8vW5V7KoqkQYAmLDr
maYY9FkCRLvXceDQm+hYZ5/2WYgtk4MxclkacrFn+QAAIABJREFU1D0+wIm/Z6G5ow+PowIk
nzyC6LhEJKXmQ+MdhIh2XdAhwgcaRfJcy/KPYf6YwZjx6xVYIKAP6YZR99+Hkb1bI7xxc7Tt
FAGfqs4g25OGJR3nDp/AmYvnEb37J6xauQkHEgtAQoWg4fOxfe2TaHMTLXDXd9m/PIY2I5Yg
QQakwPuwOmoFxvo7uGRfuBWPhIzA16kSOsw5iIOz29/4bEiXbWN8e9gqVVW3NfeLEffTm3j6
hU+x9UxOmQ0nAfe7liNpw0R4VZJCjbR1V1Fn+5ztCtKTkJZnqWDT0RoBrXcAGnqooVw8xhhj
jDHGGGOMMcZuZk5dP9IHNEPbtnLJAhflIun0eaSaajcNVjHKPon1H7+J/36zGfsuZEMuvZIp
dAjqdh9e+eRDPNXLv+7cZ5iSse6xEXhh2xVYhCfaT56P5Z88hHaeNiyw25uG5IvILn0Q2aUP
hoyehOn/dxzLpt+P6cuO4/LP0zHiyUbYv3Q0GtaTtf6bmwXJUVG4LBf/X2oUjl+UMda/hodc
bmPMJjLOf3c/+j6yDhfNBAgt/Jq2R7sIf+jJiNzMdLh1b4nKz3w6qa27inrT5wqx4/m2GLks
zYZNSw26z43CPy+1gAocj9U4SyJ+nTcf2y9b4NVrKl65u3ktfbGBMcYYY4wxxhhjrPY4ca9J
hRbT1uLw8eM4fu11+GtMDLYlS0qkwcojZOz7ECPadMS4N1bhn/PZkKGC3jcEkS0iEeyphiAj
Lu9fhulDhmH2nlxnZ7iaCJm/zcasVQkwQ4tmk7/DL0setm3DUpE0igjPdpj85S/45qGm0MCM
C9/NxJs7s21Oh7kiCZHjn8a4SD2E0CL0zmdwf5va38ThNsYqY7m0HNNnrMdFM6BuPAIf7DqP
pNgD2LVtK3757Xf8tf8wtv2ncxXfbnKNtu4qbt4+x/FYjbNcwd/ffIyPPvoYi36Lh+zs/DDG
GGOMMcYYY4zVAF5NYuVQyjo8Ofpl/JxgBDRB6DNtPjYfTUJm2iWcPXUWiWlJOLDkAdyiF6Cc
Q/jva8twweLsXFeDHIslc5bhvAyowh/Fok9Gw+b1VCXSKE0KwZhPF+KRJiqQ+Sy+nLMU5+pC
WbIqSU0mYsXJZCReSsaZH6eihbPupcxtjFVIRuzyhfglzQKhaYXnVq/GrL7B0NqRksu0dVdR
x/uc7o6FOHv5Mi5X+bqIrc805dN+jDHGGGOMMcYYY0wxvGnJyhH+d2HuZw+iVfgwzP3jBP5Y
+AzubNewZDFb7Y8uUxbj88mhUIGQv/c37M5yZo6rRz75A1b9awQJA/rP+g8GeDonjXK8BuE/
M/vCTRCMe1dhTayLn5+QT2Le3QPwyHtrcSSl/NPLWCkaLwQF+9i1EaSoutbGWM2jq9i14yhM
JKDp+Rie6ln5TWCr5Cpt3VXU4T4n9D4ICAxEYJWvAPi585YlY4wxxhhjjDHGGFOOw/dwkzMv
4XxKIVRqNdRaN3j5+sJLXz8WsUxp53D8xDmkGLXwDgxHy1ZN4F1FidVEeRSmnsPJc4lIyTTB
rUEIGoWFIdRPD4cfkUUWWCwEEgIqqfT+tRpNxn6JwyMJOp21C3ZD2463QI14GM1pSMmwAD5V
74FbsuJw8FgK/Nt3QYRXbe6Zyzj14wYcNwHC0BcTxjS2Y8deiTQqIqHJ3RNw20u7sC3vMNZv
PIuZL7Zw4dMrhIKE3fh6w04seycct098Es8++yhGtvWr3TxbLJCJIIQESaq6N5DFAgsRhFBB
qqTiKD8Zp2POIjHNCJ1fCJq2aoFAt+qnX5Gqfmc5xquIPRGLi6n5UPtHoG3bSPg6dHqtrrUx
ZVSvzi2wyBWNg9cTgcVCQKk0zBnnERV1FlfyVfAKbo52rRvBUN36VapuTemIizmNhKvZsBj8
0aRFG0T62ZCQKQbHok0gqBDeqyca29A+HW7rSpcp4Hh5uFifc95c6YJsrtuiPo3iucGSdQFH
j51DtlskOnYKQ1FxFiA55giiE03wu6Uz2jc2VB1T2dPGHGzrN/Q1Wcb1bkcyZFmu4BaxAkKS
UI0pkTHGGGOMMcYYY8wlObgSJiNmwUi0ahaJiPAmCA1pCG93LdwatkDPEVPx9soDSDYpk9Ha
RAWnsXJaTzQOboYufQdj6OB+6Nk+HAGB7TDmtfU4lWftkwqWhyUdx75/HeO7NYZfYDN06H4b
Bg4egFs7t0R4wwZo0msS3t1yDvl2X6UJu54Jg1athjbgEWwuKPtzVSUblgBgRnxcAmQAQuOP
AN+qmxJd+RFTOrVEj9t6oFXnx/HT1YoXvWtGDo4cPAUzAE3XOzA4wJ4VPSXSqJgIGoxhnTQA
zIj59wisNjGHWJC48RXcN24cxtn0ug+vbEzE9bsbSv7oMux2NPWUgNzz2LnkRdzdIQy3DH4S
8zbHIKNWDhQV4u+ZLaBTq6H2GY1vrlTelujKNxjto4ZarUOLmX+jsIL3mC/vxoIpfRDWMASt
uvTGgMED0LtLK4Q0DMNtUz/D38mVnCq1xOOzAW5Qq9UVvgx3fYeMalwV5UTj+1nD0CwgGLd0
6Y0BQwahb+dmCGrcA1O/Po5cB7pM7bQxFyLHYG4PPdRqDRo+uqXCOgeA9G9Gw12thtp9CBYn
lS1gGcfe7AydWg23QQtxsfACNr7QD2FBkeh02yAMHdIfvdqFwj+sH57+NgqVPd1Xqbq1pB7E
188NRYuAADTt0BP9Bg1G/16d0CywIVoMm4FvDmegWklRBtIzCYCEwJDA6gcDDrd15coUcLw8
XLHPOXeudB321q1x8yPw16ihjXwOW/58E30jm6LLbQPQr1szNBv8EQ5nx2H5xDaIaNMLAwb1
RafIZhjy8WGr8ZT9bczBtm76Gy8015b0L31XvB1lBmBB0v+GFo1b5V569PrgND/vkjHGGGOM
McYYY3UXlXI85vANr6oZaesj/iQBhIpeQkX+vV6krUlyNdIiosJd9EwTFQFqavnyfjJV71MK
pFFIO58OJRVA6rYv09JXO5JOgISkJ99GERTZpCEZ1KL4uiRq0Pc9OpBbUToKlUfeCVo6oTnp
RclnhVCT3k1LUql/g+RHfd78hzItN+Zh88N+JADS9PiATput/A75PH1ym5YAkLbvp3S+mlV0
jeXKenqgsYoAQYYh/6OL1fh83roJ5HEt/8KbJm0ssO2XOsK0l2Y1VxEgUeOnfqdCZ6VhlZG2
PR5EEkDqVq/Qv3Y1/qqY6dTc7qSx1j6tvjTUfe4pKtuUzOkxtPnTZ2h4Sx9SXa9XibxaDKNn
5m+lU5k2NiobmQ6+Rm3UIAgD3fFlElmsvtNCiV8OI4MAQd2GXjtYvnBN51bS/U11JEr1VZ1e
V3JdEKRrej+tPGelYuQLNL+f1moZ6kd+S+lVXVDeEfrvwJLxQ0g68mkUTuGNfEkvCRKqJjR5
7Xf0cAOJADV1mHO0XJ1UrjbamDX59MNYfdF4MWEd1UrPN0fTu101BAjye3gzGa28LW3ZCNIB
BN1AWpRYthWZ6eicDqQGSNNpDm34uF/RGCYEqXTu5KaRStqM5E93LI6teM5RqG7N8evo0VZu
13+nkDRk8PElT52q5N88OtLzv6VU0h+KZX5Ho/UgQEeDFlfWf8pwuK0rVKZKlIeL9jnnzJUl
sYN+zErKViJJB2I6R+q2YNND5CtAwtCfRgwKpVYDRtHIXmHkLorKc9ij91KrprfSnSP7UTNP
qTitEfR1cvlW4lgbc7CtF+6mGZEqReZrxhhjjDHGGGOMsbri+uGKqJNH7Njy1GLgp6eQnJyE
SwkXEHf2FKIO7sbWVfPx0tj28JUsSNnzESZM/Byn68jXvilzJ75Ynoiuzy3H/sQMpF08h7MX
riDt0l4sfbQ9PIQFqX/NxuS398NY7tMKlAdlYMfLYzFtdSwKoEZQn2ewaNsJXM4rRH5ePnKT
o7B1wWPo7idBWNLw95uT8fZea2eIKrnO1F3YftgEQIXQrl0RYsOZW0vKbrw1bipWXJQhtK0w
7fX70agan9d1uh29i28hK/n2Rr8ODt17zzbmi4hPtABQo+ktzey7LaYSaVilRrNbmkINQL50
ARdrpL9I8Lv1Ebzy2mt4zabXK3jkVr9yJ7FUPi1x57PzsSU6Aae2LcbMMe3hryZknf4FC54d
jtZhbTHy+UXYfi6neie/bKTuMBH3d9RAUB7+WL0RiRYrb7Qk4qfVfyKPBDQd78fEDmVOEMux
WDxlGlaeNQKqAPSdtQoHk3KRn5+P3KSDWDnzNgSoAOPZlZg2ZTEqfDSdFIrHt1xFRkZGySv9
ND7pX90n/JkRvWAaXvs9BRahRuM73sbPsSlIvRiHuIspSDn7Gz4cpcb6z9Yiydp1Vqk22lj9
JSf9jvlfH0fThz/H9lNpyC/IRV5eKk5s/D8MClJBWFLw6+w3sDmjbGtXqG7ls/ji0Sn4OiYf
0IbhzjfW48jlHOSkpyEr+wpObHoHoyK0QM4RfPrILGxJr7rXXXuHTWfGHW7rpS7J7jKFAuXh
un3OqXOlK1CorVPe30jsvRGHdmzET7v/xscD3SAoE7/97otPDu7G5p924p9Fo+EjAMo/gn+j
zTWSD8DOtq7piXePpJX0s5Q/8WJrNQAJQY/8iKul++D1Vwp+n6F0fMIYY4wxxhhjjDFWi4jI
hpOVtjBS7NLRFCSBIDWix7flVf0RFzhpCaip+VPbKaOiYxnyBVo6wo8kgKSAB+jHTFsyVr3y
MJ94l7rpBAESBY3+kmKtHA/Kj/6MhgU3psGzt9HFG478VeekpUwJXwwjTwGCqhm98Le1M0hl
WSjjwHwaE1F0Ik2oQ2jEwijKr+aniYhyzuygFV+toN/PVnhUtcZYUr6i4ToQoKdR32U4LY1K
UqeUr4YXnfjSjyLFk68lefF/0tevTqBuQSWnFoXaj9reNYu+PZxR/dNc1SLTuU/6kl6AhP52
WnCh4pOd8oUFdLteEISe+n5yjsq+K+/3pyhMBYLQUJsX/qSssglYMumPGa1II0BQhdPTO6vZ
4i2X6YshuuqdPiv4k6ZHFJ1c1nZ4hfZV1D2Mx2nure7F5WrPqS9ntrG6f9ISkCh4wmpKKteI
LZSy5j4KkIpOSz20qczYrlDd5u18msJVRb9j+P/OVDi3FcbMo9u9BEG404DPz5e0dfkS/fXd
/2jx4sUlr3mTqb2m6Pe1uv8DWlT6Z8WvJZujqRozt21tXYkydbQ8iFy+z9X+XFkSO+gGvk/7
o6IoysrrxKlEyqnOYG5nTOdo3V47aQlVc5q151qAVEi/P9WYJAjyfXDT9THIdGQ2tVeDIHzp
oc03jkwOtzGF2vp1psP0ejt1UVpPbLc6pjHGGGOMMcYYY4zVZTccnip92tK+k5eladHsoTfx
RDs1YLmMHduOok483lLTBVOevR3eFR09kZpgwtP3IEgCLKl/YMdhW66oOuVhxqHvvsVhI0EY
bsfrn05GMyuHV/StnsTak9H4Zc5gNLLxEAZl7sL7H21HDgloWk3AxO7VOyGTf/Bd3DFgOjbE
FULy740X1v2NddPaQG/D7zY0HYCJkyeif6S7bZl2EGVnIZsACDU8PGzJsbJpWCfg7ukBlQBg
yUZmtt1He5zKLfQ2PPz2Kuw/H4e9K9/Eg90DoZLTEPXjPLy/7pzCz9mSEDZuEvq5C5BxD35Y
fwHlS82C8+tXY4+RINz7YdK4sDInRguxd91GXJQBYRiM52f2gWfZJIQXbnvxBQxyF4CcgB/X
7lV8LDMf+xm/JsiAMGDIjOnoVlH30LbBY9NHwMfuR6nWjzbmNKpITHxmDILKlb9AgyF34lad
ACxZOBObdEM7VKZuC7FnzQbEy4C6zZN4Z3LR6b2yNC2n4IW7AyBRPvZt+wuZ1w5tmU9i5cvT
8MQTT5S8ZnyNYyYAMCNmxYuYVvpnxa+n5+9GVk0+TtHOMnW4POD6fc5ZcyUAGHe8hO5t26Kt
lVe7AW9hX40FdI7X7XWSB7w8SkZ8IQQEJHh4eVyfB4RaXVQ/AG68JYCC+QAcaOuMMcYYY4wx
xhhjN5dyN/WMOnlEgQ3LYqoWaN9aDwELEi8kwFz1J5xOatgZXcOt31jLrVN3tNMAkJNx9lyW
bbe9rKo8LJew559zMENAd+t4jGlS2T1XBQxenuUrsAqUfQQLH3wIi2LNIFVj3P/uDHSqaCWu
LPkMFk1/G3uzAXXYeHy9Zwc+HBUO228I6CRqdfHt0iwwy3auwiuRRiVINhctVgo11Gq7V8ld
gqUgC6mpqUjLNtboAqwUPAYPDPGCoELsW70OZ8vuispnsX71fhSSgNeQBzAmuEyPscTj4KEr
kAFoOg3BgICKy10EDMCQThoAMq4cOoh4RS+KkHniOM4XZQKD+vlbuV2ngHev2+DInSLrUxur
bULXHl3bWyl8vS983QUAQk52bql5QaG6lS/g4MErsECNyDuGo63VNmBAt1s7QAOC8eQJnLnW
H6RAdB01ARMmlHrd0xONVACgQlC3u278WfFr/O1NbfpSiq3sK1M4Xh7c51yXw3Vbhr1FrnA+
7G7rjDHGGGOMMcYYYzcZNQC0bdnRgY1KM9JidmLTll04cDwWF1MykVsooHEzwDcwBAVRMgCC
nJuDPALcXHzNTvLxg08lO4HCyxte0rXFpRwQGpRZE3OgPORLiL8kA5AQ0LIl/B0tKzkf2Zlp
uJKfhdSLMfh310YsW/wddp7PAwk9Wk1diPfu9KvWmp4lYQt+PFAAkhpi/H8XYVIznYOZq12S
pxc8JQAkIzcnHwS9zWuZSqRhXfFiJQEQHvDycPGOUiEzUo9vxrKFC7F45Q6czbKAAAj3Jug7
4UnMfKBFhSdVHCL8MeKBEWiwcQVSD/6AdbEz8HLLki8dyKfXYvVBE0hqgBEPjCjfp+TLSLws
AxAwRDRF2T3N66QQNI10h9hdCDk5EZdloKmt3xiwyoKUy1cgEyDcIxBpNROAFNAIwVoB2P4Y
W9SPNuY8wuALH6vf0ih1VItKbzkoVLeWZCResQAQsJz+CR+9v8vq2GM+fhkWAVgy05FxbXNd
3QaPLFyBR0q/MWs5Rm/Zi0uyGu0eXYSVjwcpOJ5Vj31lCsfLg/tcpfSjvsHFH+6Fh5WfC6GC
uqa+seRw3bpmPuxu64wxxhhjjDHGGGM3met7CPZsXFLGPnz6+GT839oYVHnXs7qyDqOSKj29
SDlZyLYQAAlePt43vNfh8qBcZOcUpe3m7ubwArLp39no0mB2BT8R0PWYg/ULRiComhsvclIC
EotPpfTr7VPri9sO03vBSyuAAkLa1VQQfG2/BiXSsMqCtJQ0WAAId294OXCyxzpC8rYP8NaG
8zbeplWF8DGv48UhgRVfb2EyDm5Yis8XfoHVf11AHgGAgL7RrRg/bTqmPzYGnRvWyAUBALyH
TMJdQavwZeIR/LAmBrNeb1t8IlZGzNo1OGoiSCFjMGmId/kPUx5y8giAgJuhsj4n4O7uDoEM
UG42chUdzwi5OXlFG7wGDxgqa1RCB71OADn2/J7aaGP1mFT53FAxheqW8pGXRwBknPnxXfzn
x2pkV6WC9XsGuAi7yhQKlAf3uUqpNNDpdHDKV5Ncpa0rnQ972zpjjDHGGGOMMcbYTeb6pqXN
Jy3NsVg47g68sD0dpG6ADqMn4d4h3dAy1B8eWgGLXIjc9GT8sWA6FuzJVTrfTmM+cwpnzQAk
H4QEl3rWlBLlITzh5SmAZAvSU9OVva2mENA1aIZI9yScjM9B4ZG1WHNiBl7vUM3jEmZz0e1s
hR7urn5ctiLqSLSIUANHzYiNjoUJzWxfkFUiDatMiI0+AzMAdURzRCp+JBEALMg8vB5fLN5v
4zMZNege/ixmDgm8YUG24OI/+GHJ51j45XrsTywo2ocXOgR3H4vHp0/H42O7Iag27h9s6I8H
xoXh60/jcHzNGkT9py06qAGYj2PNmuMwQYWIcZPQ31DBZ4U7PNwFAAvyc/Mr+W4FIS+vaJND
MnhWvslhMwG9m65ow9RYAGNlbyUjCoz27pjWRhurawgmU00+bVmhupW84OMtAckCjQY/jSf6
NazyCxOSbw+0qK917HB5cJ9zWa7S1l0lH4wxxhhjjDHGGGM3mRtOWtqi4I95eH9nOiyqUEz4
dje+u69JBbd+NEL7y0ws2FPdVAVE8aqQxWLvIqESaVhjxsltv+G8DAjPXujXteTYhCLloWqE
sMZqiDNGpB/+F2fkoWjtwPEBTfvn8ePyRxGhc4Onrz8C/D0hot5Fnx6vYX/+QXz0/BeYuO1p
NK3G79DcNg/nCj8GQUBVF48LqJqifVsDxNEMZB4/gnPyHWhla9kqkYY18hkcOZ4DggSvtu0R
USNHpCR4d7objz3R2faTlp1KnSq2XMbG6SMw9YtDuFpY1MeENgBdxjyGZ6dPw729Qmr5hI4O
ve6fgBafv4eYmLX44ejr6NBFDfORH7AmxgyoW2HCpF4V50kVhJAgFRAnIzfuLJIsQHhF7duS
iLPnijYtVYEhCFK0fiT4+vtBAmDKjkd8GgFBFS+PW65cQlKhneNarbQx11VxqZWchKsZCtWt
KhQRTVQQpwuR59cbz7w6DhWcG755OFwe3Odqhx3xmKu0dVfJR2lCBbWqqEBr9ssWjDHGGGOM
McYYY85j5/aTjAsH/sVlGVBF3Itnx1a0QQfAkojYs3nVvzOscIeh+NRTVkamfQvJSqRhBV35
Ce9/cRwmSPAbMg6DfK4tcipUHlIwevdpDhUA09Hl+Hp/gWMZdgtC89at0apFBBo39IRWAJp2
z+KDqc2gFoSsXW/hpe+TqllGApKkgkqqizuWAKBHpx4doBOA+dhmbD1vT8tQIo2KyWe3Yku0
GRA6dOrZCTVzQFEgcMhL+GzRIiyy6fUZXip9a1hKR/TeY7haCGj8O2Lsy0vxx5nz+Pf7t/Bg
rW9YFtF0noiJ7TSA+TTWrj4IE0z494d1iDULaNpNxMROVu7LKDVBl84BRX3u8DbsvFpx76Qr
v2PbYRMAFQK7dEETRbuBgH/rNghWATAdws7dmVbeR8j8508ctXOtunbamAsRbtdPhRdkZVt5
JGE2jh06XXSKvGYyoUzdikD06dsaahAytizGd+ds+9pBveNweXCfqxX2xGOu0tZdJR835Mkb
Pl5Fz1TPTkhAel157AJjjDHGGGOMMcaYDexeei8sLF7Fs1isnmBJ3vwWvjiugbq6t1JUhSI8
VAUBC1L2/IUT9iwUKpFGBSjrIOY9+CRWXZIh9B3wzKv3IKDUdSlTHmq0f3AyergJwHwKC6a+
gJ+TlF4o80DfV9/B2EAJsFzBj6/+H37NqMbKlykRe39Yiq82HkWqA3t1uWe247svv8OOM7V9
y2AJoaPHoZdegEz/YuX3MXZsVCiRRkVMOPH9KhwyEYTbbRg3MtjFn32lhm+b0Zj5vx04feEQ
1rz3CG4LdXNullStcd+k7tAJM86uX4192fvww7qzMAstuk+6r5ITy1r0HHsXQlUA5f6Gjz/c
jeyyb6Es/PXBx9ieR4AqFHfd0xNKP5pO03koBgZIgCUdmz5ehOMV3a+yMAr/+3QLqtNdy6tr
bUwBUgAiwj0ggVDwzxbsqGCFX45biSW/ZtXoI5eVqVsVWj8wBX09BChnF15/6G38Y19DqCcc
Lw9X73POmysVZFc85ipt3VXyUYoUhDat/SGBUPj3Cqw6W3Nft2CMMcYYY4wxxhhzFjvXrVUI
b9sanhIgn1+ONz/Zg6ul1k4sWbHY+sF9uP3+n9Dm4bEIkQDKvYpLKbmVb/IIf9x2ezuoBWCO
+gSPPvstDiTmFX07nwqREX8Ev28/itTK1o2USKOUwtRT2LXsFdzV7XbM/DUZFqkhhn60Ai93
Kn1mQrnyUDWfig+e6wh3QTCeWIQx3Qbi6QWbcPBCVvF7LTBmXcGFU0ex74/f8NfpbJsX3EXA
3Xj71dvhKQA5/hvMem8v8ir7AGVg65O3os+EKXh0TA/c/tq+yp8BZoXl3CKM6TYUD059EEO6
j8UXCp5UrA6p8RhMGuAFQYU4/OkbWJts+wKkEmmURZfX4M0FR2EiAe/BkzA6xMW3k1TN8cSy
Nfjwsf4Id3eV55tKiBg/Cbe5Ccjn1+Or97/C+gsyhNttmDQ+otKBzu226Zh5uzckMiH6k3EY
+fJqHLlSdC6v8MoRrH55JMbNPwkTSfDpPwvP3qYvl4Y5PxtZmZnIvOGVhTxTUfsgU16Zn2ch
x1iq/RsG4PFH2kArCHn75mD0vR9i27mc4pNJFuTE/YYP7x2N97RjMC7M9ntM1rk2pgg39B4x
CL4SYElehWnjZuPHE2lFz3OVc3Dhz/9hyl1z4T5iGIoOL+Uj/WoW7L0TqFUK1a0UPhkfvNwT
nsKCjN1vYGDn4Zi1ZBuiLuddP8Em56Xi4umj2Pt3NFJqaH/F4bauEIfLw4X7nLPnSkv6ORw+
eBAHq3wdwsnkSqIBO+MxV2nrrpKPElr0vGc0GqsAyv0Tr456EP/9JRop15+5KqMgLQGnz16x
crKcMcYYY4wxxhhjrA4ge+Xvp9md3UkABCGRe2AL6tyrN/VoH0l+WkGARN593qd/d79MLdUg
AAQIUrlF0rM7jFaTtVxeQxMbqYrfD4JQkdbdQHq1IAGQFPQYbbP+cTvTKKSdT4eSCiChNpB/
SCiFR4RTo4aepJPE9XQkr4409btoyqnp8iiMo7XTOpG3hJJrgCBJ404GvZqEuPZvKop47i8q
vOHDRtr8sB8JgDQ9PqDTZiuFVHCAXuugJQGQcO9J7x0vtPJGIjL9S6+0Vl/Pi7bPPIqTK6+D
iuStm0Ae1/IuvGnSxgLbE3FQwcHZ1ElXVB8BwxdRTBVtqabSKEksmj4f1pAkgIS+K7111JHE
bnKWZPpmlFdRHyzuM16jvqFkS9UfNcWtoknNdCWfFSrSu+tJJUrS0jWbRKviTBV8uqTPodov
DXV5+wTd0D2z9tAbvbxJKn6PEFryDm5svwRKAAAgAElEQVRCTYK9SScEQdWYHlz7N83toSFA
TR3mHCVr3fsGLtHG8umHsXoCBBkmrKNa6/nGEzSvv+/1MoWQSOPmQe5aiQQEefV6l/Zte5bC
VKXGZM/b6ZPYayVrpqNzOpAaIClwKv1qreiMP9PkBpL1elGqbs0XacsLPcmv1LwEoSKdhy81
8HG73l6F+xhakVlF2WR+R6P0IEBHgxcnUTW6CSnT1hUqUyXKw0X7nHPmSvvqtvvcU5WWid0x
nQN1W7DpIfIVIGg60VtR13J3Lc5TUejTO6/HTeaot6iTBgThSw9tqqCcHWpjCrb1a+REWvtA
OGlKzU1CpSODpwfp1RIJgNRtX6fDFU1VjDHGGGOMMcYYY3WA/cdt9N3w+uZNeGdcO/ipCHnJ
p3Foz9/YdywOmfpIDHpmKXZtmYWOPh4oOYxFkI1ZyK3kK+AicCyW/LIUT9waDJ0AQDIK83JR
YCZA6ODro4axikc9OpIGmXORkpiA83HncelqNgrhhqC2A/DgnJXYF7sfX0xqBUNNl4cmHPcs
3I1DWz/BtKFtEKCXIECwmPKQW2AGFX+pXqj1MOdmwK474Oq6YObch9FEBVDefrw/82tYPcyh
bo27JnSGlwCEqiH6TxyOxna0HH2fCRgfoYOAgK7peIy/tfaf8KXr/ALmz+gAg7DgytbpGHLX
29iRaFsJKpEGAJgSt+Otu4Zixq9XYREe6DxzPma0v+meeqYc0RCjHhgOv2ttU/LD8AdGoWE1
DoOqwydg2e4dWDC1L8I8VBAkoyCvADIJqDzC0HfqAvy+exkmhFf4tFplePbE61v/wFfPDkSE
pwqgQmQmxSM+KQsU0A1TlvyMhXe3RkhA9U993fRtTNsa0zdsx6IpPRGkEwBZYMrPQb7ZAy1G
v4kNG15C50BfeJcekwtyka/0XReVqltVIwz/aCeO/P45pt/ZHkFuEgTJMOakIzUjHzIBgIBA
MhITXeAZfDXN0fJw0T7nCnOlUuyOx1ylrbtKPq6RgnHPV7vx89xJ6NnIDZIgkGxEbnYOCsxF
jyeQE+Nx6Sbo/owxxhhjjDHGGKufBNG1LTD7mTLiEB1zASl5gLt/E9zSMhJ+uuIfmjORlJQN
6Nyg1+uLXloVqt5HsCDnUgyizyUjW9bB09sXAWFNEeanq8Zn7UhDNiIrPQUpKSlITUlDtlkH
Lz8/BIRGoomvbQuGSpcHFaQgLvYCLqdlIE9WQad3h8EnCOGRjeGnr63bPBbgctQRXNA2R5cW
DWDv1g1lX8ChqBT4t+2MME8n3VpUvoj1Uwdi4rLTMJKAZAhFr9H3YmTvVghr3A597+yKkKrW
qO1Jw3wJB37+C1EXLyDm701YvXEPEnItIKFHyynfY8fi0bgp7trp6gqu4szJs7iUboTOtxGa
tmyGhuXvCFuzjFcRG30GiekF0PiFo3WbCPhoAICQl5KILBjg5e0Nd02ZPuSybawAa8b5Yvxa
IwwT1iJ11d3QVf0hRcnZCYiJjkOKyQMhTVugabAHVEDxmJwD6PRwc9NDr3eDTiPZMM/YyN66
rTCt1OK5IR25ZjXc3D3hExSKiNCGcLf9jqZ1nyPl4WJ9ziXmSkU5GNO5Slt3lXwAABmRGncS
ZxLTkG0U0Lkb4O3fCOFhwfDS1oc2wxhjjDHGGGOMsZuRIpuWjNU5ljQcXPoSHnv5axxOk0ue
C6q/G6tS1mFChcdpHUwjazlGBz6An66fKhFQNeiKKR/8D3Mnd4IPrzEyR7lsG3P+piVjNcJl
+xxjjDHGGGOMMcYYY3VPDd7rkDEXJvmhy9QlOHDfq/hn0xps2HYApy8m4nJmE3hX91SMrWlI
Pghr1xV9vIMRHNoCPYbejXEjeqGJgVe1mUK4jTFWu7jPMcYYY4wxxhhjjDGmGD5pyRhjrIbx
SUvGGGOMMcYYY4wxxhhjleOTlowxxmqYBl2nLcaXw2SoI7vwxMMYY4wxxhhjjDHGGGOsHD5p
yRhjjDHGGGOMMcYYY4wxxhhzquo+vY8xxhhjjDHGGGOMMcYYY4wxxmoEb1oyxhhjjDHGGGOM
McYYY4wxxpyKNy0ZY4wxxhhjjDHGGGOMMcYYY07Fm5aMMcYYY4wxxhhjjDHGGGOMMadSOzsD
jDHGGGOMMcZcgRnRa97HmmgZ2rbj8eI9LaFydpYYY4wxxhhjjN00BBGRszPBGGOMMcYYY8zZ
CrBmnC/GrzXCMGEtUlfdDZ2zs8QYY4wxxqot78p5XM6WYXXBX/JAUHggDKLMv1MOLsclI9fq
BwVUXsEIb+imWF4ZY6wifNLypkLIjd+DzWvWYMO2/YhNSEJiZh98Fvst7nF3dt4YY4wxxhhj
jDHGGGOM2acQO1/qgpHL0qxvWurvxqqUdZhgKPPv2T/i8TYP4KcCax+UEDDlZyQsGQqtYvll
jLHyeNPSFpSO7AMxKDAB6iYd4Rtah3b68s/ip3efwjMfbkO8sdS0pe8EUw2ctc1LOIIj8bkV
TJAC7o3bo2OYB8p+oYcxxm4eeYj9+SusOmBC+3FTMLq1J4+JjCmA4w/GGGN1D8eFjNUEjgsZ
Y6ymcQzDagZvWtrCtBcnho/A2VQJvnMO4o7Z7etGR8w/hvljBmPGr1dggYA+pDtG3X8fRvZu
jfDGzdFW8VP9Ms589TD6zTkKc7mfqdHy5X9w/L1u3PhuaoXIvJyCHLmCHXMhoNZ5wsfXEzqp
9nN20ytIQ2JqvvVv5FVA6H0R1MAdXF3Vl/3Lcxg4agkSZEBadACro1ZgrH+dmFHKseRewokj
MYi/fBXpRg18AoIR3roT2oS41405krmUgvQkpOVZbBiDBLTeAWjooQbHH4zVVRwXuiyOC2sF
x4WMVYzjQsYcoxv+P5z+9h6UPVAJoYNnuX8E4DUeKy7dAWPZTiefxryh/fDOEblmMsrqrPoU
w9RN9ffvKJ6f6ztKxrrHRuCFbVdgEZ5oP3k+ln/yENp51uwAog9ohrZt5ZLgkHKRdPo8Uk01
+mtvHpZE/DpvPrZftsCr11S8cndzqJydJ1uY9uD1HgOxIN5awCMg9P5o2XMoxj8+E9PHd4Bv
HRxg7eLkus3b+BiaTlgHq3cDqYB2wELEbZ+GkPoclyhaLxYkR0XhcnHzt6RG4fhFGWP969KU
LCP10HLMfWMelv92DMn5dMNigpDcEdJlJKa++jZeHN0M/MSLm4zd/aUQO55vW/mtjMrRoPvc
KPzzUguowPFHjavr8QdzTRwXWsdxoWviuLAMjgtZJTgurL84LnR5QucJvwYN4FHtT2jh4VfB
+2UfGOrStFRfuVyfqw8xTB1Xj/+OqiPZZPYhZP42G7NWJcAMLZpN/g6/LHm4xjcsARVaTFuL
w8eP4/i11+GvMTGYm5tiLFfw9zcf46OPPsai3+JR/77rRKCCq4jZtRxvTOyJbpO+xZmb5Q+L
el+3dZSi9SIhcvzTGBephxBahN75DO5vU4eCOkrD7rcGo3WPyfjop6O4nA9A54vGzduhY/vm
CPHSAJY8XDqwGnPu7oE7PjiEPGfnmdUup41jHH/UOJ6jmFNwXMh9zsVwXFiC40JWFY4L6y+e
oxirXS7X5+p4DHNTqLt/R3FLqs/kWCyZswznZUAV8SgWfTIaHJ8x16JF3w/+xeoHA0rdLohg
zktB3MFfsPS9d/HtoXSc/X4a7m/XCbv/0w4aJ+b2ZiK8xuGbqAUYUo2nqwudF/juD7aRmkzE
ipMj8HGKBX7BPnXoIfb5OPDWcAyfsw/ZJKALHYin35iNp8b2RoRn8QRTmIxD6/6LWTPnYWdS
PlLOJyGbAHduI8wGujsWIvrru8vfyqgcAY1nA/5WN2P1AseFrorjwprFcSFjleO4kDHGXFPd
jWHqm/r3dxRvWtZj8skfsOpfI0gY0H/WfzDA09k5YqwsAZ1XQwQGBpZ5xkkQGkW0RZ9hvRF8
2wDMPZKHfxcswO/PfYGhfD+h2iHp4RMQiECdszNSj2m8EBTs7EzYJn/f25j67n5kk4Bn5xlY
+/OHGBJY5tsw2kB0vu99/NKtLV79xgfT59yJQF6YYjYSeh8EBAbacCsjVl+YU47gxyXzsfBA
OyxcMwMt6+PKo3wS88Y9iePdnsSzU+9CR76FUjGOC10Wx4U1j+NCxqziuPDmxXEhY3VAHYxh
6p/693eUAyMhgSwW3PiwAhXEtRiVjCg4fRSZ8ZmAIQie7VrD3bMas4spHTkxp5F3NRtk8Ieh
RRt4+FWx90sWkIVu+P2UcR4ZUWdRkK+CJrg5fFo3grq6pwyNV5F9IhZ5qfkQ/hHwaRsJrT3b
zzZfi5JlKuPUjxtw3AQIQ19MGNPYsXsBm9IRF3MaCVezYTH4o0mLNoisql5qgs35sMAiEyAk
SJKAJesCjh47h2y3SHTsFAYvCQAKkBxzBNGJJvjd0hntGxtQ5d9R9pQHWWApbqdScWWYM84j
KuosruSr4BXcHO1aN4LBSkWRxQILFTcOWca1/wTJkGW5gtsCCAhJglSNPwotWXE4eCwF/u27
IMLLhY7jevTECy8Mw2cP/ojsq3/hjxNmDO1aybBlZzuVMy/hfEohVGo11Fo3ePn6wkvvWDRc
mHoOJ88lIiXTBLcGIWgUFoZQP32Fbasm69YZrl2PKNXWyyvqmyQEVBW9ycH+Yo2z6uWGtMp+
qtJyqhjlJ+N0zFkkphmh8wtB01YtEOhWRYNwtEzpKjZ8sAjHjATJZyDe/f798gtTpWiaPYAP
3qqJa1FoXK+gPGBMRWzUCVxIM8O9QSiat2mOhjYs0DqlXipSz+Yol8DxR9H/1FjdykiL2oSl
8z/F5yv+wIU8gqbruxU+w8rhOduh8iBYLBYQVf8aK54TCQUJu/H1hp1Y9k44bp/4JJ599lGM
bOvHp0Mqw3FhnRxPOS6sIq2yn+K4kONCjgtdH8eFRf/DcSHHhXWMLfN+RZwxrivZ55SIcR2O
YVxinrvWd63knYy4evooTsRnggxBaNauNUKrs6cFXl9XFNnJcvBV2qQGLUfJa2WfeZQtE5lj
vqW9XfxphSj1c7dw2jF7G+XLVtJL+ZfOTB9CG33UN6S5XO1NG4c+R2cPpVvJiZnS53SgFQCt
7P855RrPU8LzfWmdTpRKR9Cqxn1p/zfHyVTZRWWfoPMzh9KPXqobPrsyoDvt/eoYmQp+pj0N
JFoONW2Zc5Qs1srGzmtRtkwzaMUYAwmAtP3m0wUr5V4VOeVf+mr6EGruoyZRtJ1KAEiovan5
0Odo2aF0q+Vwg8Jd9EwTFQFqavny/srrQcF8FGx6iHwFSBX2LG3+4w3q3UBV9HmhpoYDPqRD
Wefou/siyU0Up6cJokEfHaI8xcvDTEfndCA1QNr+n1OC8Tz9+HxfCtGJ62kAgvSN+9JT3xyn
nHLlt5tmRKpKvbc6Lw11n3uKzFWUrSV5A02O1JKAIF3TKbTxSrVq1DHX24OOBi9OqrQNmaPf
oS4aEIQvPbipoML3ONZOzXT8rU6kKV12QiK9f3PqcecUemvFfrpcWM3rktPo6KrXaFzXRmRQ
iRvqQ0ju1Ljn/fTO5rM3tq8arFt75H5/D+kBEj4P0E8VF3flzNH0blcNAYL8Ht5MRitvS1s2
gnQAQTeQFiWWrR0H+0tZzq4X+QLN76e1+jn9yG/J2gxXlinpL5r/aG8KNUil2rogyRBKfaYs
oN2XrY2ujpepHP85DXQTBKio+Qt/kz3NQ4lrUWZcLykP/ahvKUNOoz2f3Ecd/NQ35EXl1YyG
zVpNMdk1cy1Kt/W6P0cZafPDfiQA0o9ZSVUUe/Vw/OEidWuFOZ2if/qYnhgUSR6SuJ4flXdz
Gvb6r1Q+JHF0znawPPL/pOeaqgiQyG/c95RSRcgkX1xMg90EARrq+ObxkjKxXKFfXxtMTT1L
xgwheVDTQdPov5uiKb0mJvhqy6cfxuoJEGSYsM7hsb5aOC4sVRYcF3JcyHEhx4UcFxbhuJDj
Qo4L7YsLa6DvXJ/PJQqY8ovV+dwl2TPvl+G0cV3RPqdAjOtwDOMa85zp4KvUWn1j3rV95tE5
mSg/5lua0sWf1KJUem7hNHT2Nrpcxd4Kr68rS9FNyxWRM+hKxm461EpLy4VEK71DaEN4AH2v
Kt5AFN60Y9G5chdniV9He1q5laQlaeh7H19arSu1eejRkQ7+llJBTkptWnaaQ/Ef96PvBWi5
ELRC506rNFKpdP3p98WxFRdu3hGKGehPK66/V0c/NAqnDY18aZUkaLmqCe1Z+x39U8WmpSPX
omSZkmkvzWpeNHk2fup3qu7f1jeUbPw6erSVW6lJU0MGH1/y1KlK/s2jIz3/W0rVDdaB4NCR
fFwLDoWhP40YFEqtBoyikb3CyF2AILxp2KP3Uqumt9KdI/tRM0+pOK0R9HVy+StyrDxKBmZN
pzm04eN+5CFAEIJUOndy05Sa+CR/umNx7I1lVIPBYd66CUV5QVGZTNpYC8tTNgyq8pmPqJcW
BOFHD28unzfH26mRtj7iT5K1chQq8u/1Im1NqmJ2yjtBSyc0J33piU2oSe+mJanUv0Hyoz5v
/kOZ1zLDi1OVLk7Z1V9Kc4V6UWhxynRuJd3fVFdy7UJFOr2OVNevQ5Cu6f208lxFpeF4mWav
uZe8BAjqNvTaQVv/xFfuWpQZ10sFy7d+QNsXD6cGEkhIevJrHEHhjXxId/0PZYkaDv6EjuUr
fy1KtvX6MUe51uIUxx9UY3OUnHmKfv70aRra3LNkLBY6Cuoyjl76YjudybI25zo6Zzva58wU
9VZn0giQMAymRQmVxQYWSvxiaFGda7rQOycqWDpIj6HNnz5Dw1v6lIwZQiKvFsPomflb6VSm
nd86dIhrb1pyXMhxIceFRZwdf3BcqPy1cFzIcSHHhRwXKhMX8qbldfbO+6U4dVxXtM8pEOMq
uGnpzHmuok1LVeQM2p2xm2a10pIQEum8Qyg8PKBko1t40+BF56iyXsjr6/Y5HnP4htc1dm9a
klxApswMKszIoIKfn6D1KtByw1g6s3wSrWnYmw6tjaHC4po0nVxKfzYu2rRb0X42pZVuceYz
dHqwb9FmoTaMdr6xntKvFA9/hamUsekd2hWhLfps6GS6mFb+j5hrm5YrgvrSb239aMvkzynp
dHpRQzKlU8bG/6PtQcW/P3ASxaeXa66U8X6v4s1ONa2/4226dDa7uAJkMsVtp+gxkbT69tG0
w7eSTUtHr0WpMiUiyl9L9xoEAVrqNz++0k5VIfMZWjjYlySAhDaM7nxjPR0tdS3Rm96hURFa
EgCpQifTpnL1Uoa9waGD+bgWHEJoqfPsQ5RPRCRfpEWDijqhKuIJ+jXDQkQWurJ8DPkIEFSN
6amdhYrmo/TALAX1pf5t/ajD5M9p++n0og1lUzpFb/w/GhRUNBBIgZNoQ/qNf0jlZ2VSRkZG
0SvlT3qxtZoAiYIe+ZGuXvv3G16ZlGOsuublc4tpqG9RYCz5Dacl52thgcyGQTVn88MUIIGg
7kBzjpaZdhVqp4XZqXQ1OYkuJVyguLOnKOrgbtq6aj69NLY9+aoEARJ5959Pp6xF2pZ02v5s
K9IKEISagvo8Q4u2naDkfAsRyZR/JYq2LniMuvsVTcBCfQvN+udamFdzdWsPV1ucsq+/FHOZ
erGQMSfzxvemn6ZP+murvzhlPk0LBngX5VMVQH1nraKDlwvIQhYquHyQVs68jQJUggBB3gMW
0OlybdXRMjXRvpduKfp8w8m0xcpCTbU4eC3KjOsl5aGKGErD2hio2dh59PuF3Otzf1bsFnpz
aKOib9gJA/X5+GT5wN/p9XItmfoyR7nQ4hTHH9c/r+RYmBX7K302/U5q6X3tDx9BkmdTGjj1
Pfrh38vVWgBxbM52vM/J8YtokEEQhJa6vRdjfRHOcpmWDjeQgCBN97l0srLVOks2nfltMc0c
0578NaVOFvi0ohEzFtJv1/8uqQ2uvWnJcSHHhRwXkgvEHxwXclzIcSHHhRwXErlqXMiblkTk
4LxfzOnjurJxocMxrsMxjIvMc3IBZWcW5f/qz09QqAokDGNp6fJJ1LBhb5q1NoYyiosw9+RS
Gtu4aONY3X42Halk4uD1dfuU3bS8tnFp/6ZlKfKf02mDCrRc04F23TWA9m66WuYdZkp/sxOt
BGi5bijFlvq2kHnn00Wflf6fvfOOjqrq+vBz7kwy6SGUEHqo0qsoKKCiYkMRBUQsiAKKDRUL
vupn711fBUWUVykiIDZEUZoiqEjvvQcC6b3MzP7+SCBtJmVyJ5nE86w1a0Hmzrn71P07vb4s
+2ivy8R17HhbfglTMlMFya8fHCz2TMGk5UwMWTByrmSUCMQpWfNulPlG3ntWf19s03fWb/JP
S0veUbDd/iNx6S6MyN4i284Lyt8B6XrSsvJxKfRcJdJURMQZ96lcaUMgQK75IsnNW9yTsfxe
ibbkrWy48qO9LsVczo635cIwJaggGfjBwdInRj0Uh5W144w4tLSVR9acFnw5suyepmKgJOLW
788MxuRufFq6WhFUhIwutuKg8ulR0DCDIY1GzpXjLspp3Lwb8xoQo76MLl5OC5O7QZ7qkueo
Gt31a6UFQ9repTLr01mybJ+rwu8FytuoZm+Xty4My2sUWz0gvxeLqOnltKQBsmf6EIkyEIwm
cucS13li3/aS9LblOfioIZ/IHjcZkrn9v3J5o6Zy6dNL5Ki77c8m521F8bXBqcrUF5/OF+cJ
+XiQrdyDUxnL7pEWFgTlJ50m/SYpJcJLlpUPdhA/hWCJlnuXFx89qmyaZskPoyNEgfj1elFc
LAwtN5WNiznteuH0UBLS/w3Z7irv09bIY13yhVmbSfJH8Tao2vMl345a46MKOti2i1+Vv7du
la1uPtt2xUhaeXSy1h8+kLdOSVz3mUy6pqNEWE+vVPWXyB7XyyNTfpbdpu0mLI/PNiE9nPHy
1Q31xACxnvWY/OnGbzhPzpDBIXmDWH1f31PuXXAZh3+Tz54YKb2jClZ0K2td6XztI/L5hqQq
mLz04UlLrQu1LtS6UER8QX9oXah1odaFJYLWulDrQp/RhXrSUsQcv+8r7foZvKYLy6dxXVIh
DeMrfq7Qc79NzMtjv24y5NqBMu77UyXmnbY8l3esrrJdJtNc7IAvjB5frzynJy7NvRE0dzMx
xy+nwxX1i31hIbRrRywKcMaSGevM/3sOp+YtJMMBqtPddB/T2uXlt0b7sXS4LhIlmcQt+Z1c
cfN+Syui7xtKyTtwFbZBV9HApsCZQuqe4xQOQjb/SMwRB6hgGj04kXpBLsL270SbiYPxd2Wg
N+JymgqnaX6cUlNIFUBZCQkJKOMlJeOyZt5CDjvA2uluXhzTGldXs/q1H8uk6yIxJJO/lvxO
cllxqTAm2mGEEBZSUNyVUigMQsJCOP1XZbXmpSdQpICYnR6WVoy6byhRLsppvUFXcV5+Od27
5zhOV7/3AsGtBzJqzCguauWq8HsTITvlFLGxsUU+MYd28vcPH3L/pQN5dGUKosIY8MA99PUv
/NuqKKf+tBn9HHd1sYLzBEuXbCK3xDN21n/xORuyBRV8IU+9O4Y2/i6CAgI63M38ndv56ZlL
aVLF9xdXmNzDrP5mAQsWuPt8w+rDJVPDdDyuL7UpX3L4c8G3HHWACr6Uhx7uR2jxR1QY/R+d
xCVBChxH+Gb+ny7Kaj4epWkOSUmZCKDCwglz6wurMC6VatcLh1OXax4YRwdXeR98Lg9MvJgg
BY6DP7F4m907cYFKlPXa6aOylz7GOZ0709nNp8vA5/nLa02Q1h/m5q2DPfNe5d3vtpNkNKbf
7S8y58+DHF4/n9fuGkTbMLO6I+Xx2YXwND1UXQaPv4FmFrDvncWny9NdBC7E/7SQlemC8j+H
4de1wlLOWAQ2689tL8zh74MH+HP2c9x6TkMsjgS2fvM2ry7Yj6Oc4dRMtC70WbQu9CF8QX9o
Xah1odaFxdG6sLxoXah1YVVght/3lXa9KqhgfTEDX/Fzp8ndzOLjl/PwFfWLzedYaNu1I4EK
xBlLTGzpuaPH1yvO1p0bXf7b3ElLrIRfeTmhLlpfo+9DnP/ll/Sb9RLNmuS/1nGIhHUnEayE
XnElddx2CoKpd143FIJj5zZS3bXKtq7U6+omkIAI/IMUINhTCzsRIWfbFtIdgF8Poi4oPjl4
GoVf3/5EuLPR7LicoYJpeuZn1nwn6MTuqGApchxi3bqTOLHS6oor6VxKXHqf1w0/hOyd29hr
trc02w5PO1Mm26FsXTm7lHIakV9O01LT3falag85/PZoVxpFRRFV6NMkugPnXn0P7/92AjtB
dBgznRl3tykq7KqqnFra0bVjAAonMYeOYC/+vfMYa1bvx47Cdt4IhjYvrVlVBIeFmt3wegVJ
X8krI4cxbJi7z0heXp7mdTs8ri+1KV+ch1m3/iR5bmoQAyNdN2YqciCDevgBDk6uX8dhN1rK
szRVGKcTKDe3ZD2oprh43K4Xxq8H/fuW6H6ceUHkBQPp6gc4DrBlW6Ey7xP5gvZR3kDrD+/l
rTOL5Ph44uOTyfTGKEtZPrsQlUmPwAHjGN3RCo4Y5k9fRELxBySRJQuXkyYKW5/hDI2uuIdx
ZqUQHx9PQmp2NQxcVBdaF/oqWhf6ED6hP7Qu1LqwDDtqE1oXal2odWHNwwy/7yvtelVRgfpi
Br7i5wqw0uHKy2ntYv7Fr+9DzPzyS76c9RLXFp9/8RlqQD+qFLbu3FhkwhJwOXHqOSqAsM6u
dxiqyJ40GdGz6B+dsWSedAIK2f0d219d4dZ/O7ecyHPuyYnkuGsAgiPwc7NyokAZCEjh4u4k
+8TJvD8FtSS0kfvCpyKbEOivIMeVgebGpeClFUzTfIzQMEINQBykp2UiBJRfGzljicmPi3P3
d7xRSlzsW07gVOBMTiTJbM9ZS+1QwRHUqXA5/XdiRJzHxI+m8eywjoQWT3RT88VOwo7lfL9o
BWu37OFoXDLpOQq/wGAiGjYma9VZAYYAACAASURBVKsDEBzpaWQIRXdzO45x+JgDMIhs3576
ZnSWfQBlBFGvcV3c79O2US/Y+87a4/pSm/LFcYKYEw5AEdyyNW7dlNGY1q2CUKtycMTGcMIB
rV0861ma+hEWHoQiC2dyIslOPFv2ZHJczEAFNKJJXfcFxGjammibYk2OnZOx8Tipkxd1n8gX
aq2PCrjmfxz96gZC3FmiLFjd2llJtP6olNklsdBh9Cs8d+INpsz9gy3fvsW9373D5OgBjLhj
POPHXMe5jW0VCK8SPrsQlUoPa1duG3s+rz+wksRF05l3bBh3Ni2o2JL0CwuXpyIqgPNGDKXU
cZJicYvf8gMzPvyQqbOXsi/FmbeTKag5A0bezcO3tDO581az0Lqw+tC60IfwCf2hdaHWhWXY
YTJaF5pvh9aFRdG6sJZhht/3lXbdVMypL2bgK36u4JUBdOjc2uUuaCOyJ1e7mX+pKVRdP8oc
OrfvbnL7ZtQjMLICZ6hIJvYMARykfvMSG78p+yfKYnE/+WYYHixaEuxpGXkNf3BIwTEMLl9u
w2JT4GoRqdlxOU1F0/Q0AWGE+SvIEhJOxSNElD9tJJOM/Ljs/eYlHi9HXAyLpdzHG5Sb2mqH
Yfjuyt0qx5/+r/zJ7JsjC5VPIW7BWC544GdSUhPxa9aqZIMKpuWLJP3Fu3eO4f/m7yC1rAbX
lXaQdFLTBDAIDAo0ZYGvTxB2PZ/u/ZyrK9Jf8Aae1pfalC+SQVqGAIrA4NLioggKCkKRhKSn
ku722CtP0tRCg4YNsJCA49BOdmdCN3eL0EvD7LiYgAoIwFZaATFCCA1SkOokIy2dM+NyPpEv
1F4fZfHDZrNRLU2Q1h8mowhpP4THPxvCw6+uY8FH7/LeR/P488AKPn1yBZ89F0m3wbdy553j
GXVJW0o7FazSPrswlUoPg+gbx3H507+xMHkFn83aw9jHzjqT9sm/LmRpsqAC+zFiSJOy35MT
y7qF0/ngw4+Z+/shMgRAEdDkPEZMmMjE8UPp2cAnz6k0Ga0LfRatC30Hn9AfWhdqXVjFaF1Y
i/JW60KtC6sAM/y+r7TrJmFqfTEDX/FzZx6qR5Qn8y8+Q/X3o8yic/vugOk7LQOxBFSgKTDC
8A83IFYRdOm9tL2gQdmviDiXMFOtVlgCbShAsrNK32Yv2Tiy3dRcb8Wloml6Gmsr2rW0wiY7
e7bvIZc25Rd4Rhh18uPS5NJ7ueuCBmU28EbEubQze4mPtuNfgCKgTiOaNIkqkqZNxv2H297/
lXf37uSj52dx3/d30LS4NzMjX+x7+HD4FUz6NRGx1qPbkJu5YVBv2jerT4i/wunIIT0xlpXv
T+T9Na7uJgBUKGGhCmKdJMYn6qM6yoWQm+vlE/JrU76oIEKCFOAkMz2zFP0oZGTkLcIxgkMJ
NnVEzkqHXt0IUrtISV/L6o05DO/vwXJmn4hLsTdlZeHOtec/QFZ2XmfFFlDo1AJfiYv2Uebj
K2nqK3aYiF9kL0Y+9TkjH3uNv+dN5Z13P+Lrf06w8es3mLDwLR5teSE3jLuTO28bwtlRxZSr
GT7bRFSDIYwf1phvPznGuv/NYP1DL9PbDyCFZQt/IVkUQQNGcE1j993xrKOr+WraB3z4ydf8
HZOV144oG43OGcadEydy57DeRHlr54hPonXhvxOtCyuET+gPrQu1LvwX4Stp6it2mIjWhUXR
utBEzPD7vtKum4GP1ZdK4a22UAUS6Mn8i89Qzf0oE9m6c6MXdlqiUBWZJrc0I6S5BXbnYK97
Pmc9MZyqn9M28K9fFwBJPUx6guDiFti8708eIzPHTTPltbhUME3P2NOarp2DUZuSSN6ykf2O
K+hQ3ilwSzNaNregdueQUfd87ntiOOEemFAUhcpPVqeznEs2vGKHB/iKHYVRFqz524K93smv
DgL78cCDFzL93qUk//wKb6y6kXcGFLvE2IR8yVr5Nq8uT8RpacbIz1fxxY3NXTSK2fj/9DDv
r3ETiKUJLZpaUXuzSdzwD3sdl9GxMstNalneuq7tThLiErw7YFSb8sUSReMoCxxwkH5gH8ed
4PIaDGcM+/bniWVLw8ZEmbzsKbj3+fSwzWNl1iHmfb6M5/tf7vaIJrf4SFwKI1kxHEsQaOTa
9ztPHeZIhoAyqFs/omA1oK/ERfuosozR+sNMzMpb/yjOuekZZt80mWOr5zLlvfeZtnA9J/cv
45PHlzH9mYacfedHfPf2EKLy65UpPttUQrh4/C2cNeMVduyexacrnqL3pUGQuoyvlyThVMFc
OOJq190K5wm+nTiYcR+v51R+30L5R9Jr6HjunziBG/o2rp7dJL6K1oWAL7SnlUfrQhPwEf2h
daHWheXGp9oxrQtNRevCQmhd6FOY4fd9pV0vjId1zvfqSyXwWltY6L7u2kQV9aMqw+mdlcWp
3uxQDWkwoCMGQs6iqezf742bl8s0AlvHTgRagNz1xK5KdvOckLv6NxLdtQk+EZfCBNDj3G7Y
FNg3/8DigxXoBqqG9BvQEStC0qKpfGFGXFQQwfkrVFKSksvXKfWGHZ7gK3YUsSmcOmEKEFKP
HCGx1l1/aRB962Rubm4Bxz6mPzeDEkW40vni4NDafzjhAEvLG7h/mCunDThj2LMvw/2qKqMR
5/driwXI3TSTz/7OqqAdxajpeasCCco/+D4rJdXlFcCQyub1u717sXdtyhejOb16RubFZcMS
lp9y/XI5uYwlG3IBCw179arAXRnlNKPFCEZfHIrCSczM//Dq2kwPAvGNuBQhdyO/rUlx86WQ
vGoFG3IBoymdOtQpWHHmK3HRPqoMW7T+MNcms/M2gCbnjeaFL//h4N6VTJ98Pd3q+0F2LBtX
by8Uvkk+22T8et7O7b1tKMcx5k1fRKJA2oqFLEl0okIGMmJwpOtVqpLI9j83cyoH/Op3Z9jk
6azce5B/vnyeW/XAlAu0LvSJ9tQTtC40Hx/RH1oXal1Yfpt8qB3TutBkm7QuLIzWhT6EGX7f
V9r1wnhU53yzvniML7aFPk1V9KO8QzXPIVsIv2UskSEK0lawefQLnEqq+uph9LyMqEgDnIkc
e3MKSdkuHsrZyp53F+Fuo6WvxKUAg2ZDhtM3QCG5/zD7yx0V6Aha6HjLWAaEKCRtBU+NfoHV
lY2LpRnRzSwonMSt+Z1t5VoQ4gU7PMJX7CiEEUWnjvXzJsn/mMWcfZXr5qfv/ZUvPvmCpXt9
6BiAkIuY9MB5BCkhbcXrvLa0+GWylc+XnJz8guh0ul35HfvD83y8xQ+r273xVrreOoZzAxXY
d/H+uEn8eLwSDXxNz1sjkpbRIRgIWasXsdSFinIcmM20n1O8LIZ8O18qhj99hl1LMwtI+i+8
+foqUos/Iin8/tqb/JohYGnGtdf3Mf/kAhXF8MfG0cFfIVkbeXXYTUzdXNFy5SNxKYwzge/e
nsZ2VyOpWZv44O1FJAsYURczqHthS3wlLrXfR1UKrT/MxYt5G9isP7e/PJ8Nh3az9KOHGdIp
okiH2hyfbTKWNtw8/lJClZOERdOZH5PKyoU/E+9UhF0ygqvquzPESkSnITz80VJ2H1rPvJdv
p3+zwCoyuoaidaHWhZXCt/OlYviI/tC6UOvC8qJ1oUn4ih2F0LqwKFoXukZSWPXefUyYMIF7
nprPviqZDzHD7/tKu14ID+ucT9YXj/HBtrAQ/9bxdW/g4aSl4MxIITc5Oe+Tlp1f6J04UpML
/p6ShqOMpUsqegw9JvfBTznJWfUsS3teyfppS0g6UTC7LxnxZOzeRNwf20u/X8BTggfS9vZO
GEqw//UMK294neP7087EyX7gF7bfMIRt/kNp0cL9Pu/KxcW8ND2N0XQoNw8MQ0kOG959lvmx
5U88I3oMr03uQ6hykrTqWS7ueSWPTFvC1hMZZ1ajOTLiObp7E3/+sZ24soJW9el/YResCuxb
3+GO+z9nbUx+WJJD0uGNLPt1E/HFwjHdDg/xFTsK8KfP9UNoagFJ/40nrrmVt37aTtyZQuUg
K+EIu/eddLOiuQDn/ikM7X0Zt467lUHnDOPjiuzK9SoW2tw+mZGNLeA4xP+en8aeYhqjcvli
IbpzR0INcBycyXPvrOFUIX/vTNnD4tdu5MKbvqPTbcNobICkn+JYXHqJBQCWtuN47YHuBCkh
e9sUhva+mHvf/551h1Lyn3WSnXKSQ7s28dfKX/h9d2opAzM1PW8DOX/wJUQY4Iydw4ThT/PN
tgRyARxpHPrtI8Ze+wpBgy8nb4FYJomnUkpZEOI5vpIv9sxUUpKTSS7ySSEjN++3kptR7PsU
0rKL5lVg/4k8fGE4huSy/Z3hXD15LhtP5r0p5+RG5k6+muHv7SRXDOpc9Aj39w8wJQ2LE9L/
WaZPPptQJeQeXsjdfTsz6IH/8t1fB0g+UzGE3LQTbF/2Ba88MJnZxVZp+UpcTmM0uIbBAS8x
ZNTbLDuUnt92OEnd9zOv3nAtz63NRJSNrnfcyYXFTtHwlbjURh/lTNzPhnXrWFfmZz07Y12t
NstH6w+TMc9HuUMFRXPR+NeZN+Mu2p6R3eb5bHNRRF03nqENDSR9OdOnfcr8xadwqnAuHXEF
dd11+i1tuWvGPF4ffxHRQT4/MuAjaF2odWHl8JV80bpQ60KtC7Uu9BRfsaMArQuLWat1oSuc
h1j26UdMnTqVT34/jl8VRdEMv+8r7XoBntQ58+qLGRrGDCrXFgq5GSkFNqZln/H1WamFbE9J
o6Km/3vH172EeILzmOwe6C8zofSPXw/ZstVednj2o3JsUh/5ylAFv1UWmR0SIfPqBMoslf+3
oKFyILnEjyXxmW4yC2RWw3ESk+3mHdk/ypp6hszEKoue2STO4t+nrJHNfcNl1pn3+8vcRs1l
YaNwma2UzLQ0ldXz/5Bt5/q5D6MycTE7TfPJWve09LApAUMir5wiO9ylj5u4LJrUR+oaSsi7
gkRQFrGFREi9OoFiUXl/U0FDZVaJfCmJ88Q8GdXEUiQs/6BgCbAqUSBG1HhZ4sq+StiR9f1o
iVAIfj3k+TPpliPL720mFizS7N7lknP6NVuflx5+CCpCRn+fZXJ62GXTM93ECmI0HCc/l1JO
x9QzBKzS7ZlNUmpOO2Jk/i3R4pf/XlCiLDYJDg2RAKshCsTa+SnZkFtaICIZC0ZKyOkwVLjc
/K2LuJtNzgq5r7lFwCaXTj3uui6JiIhdtr9yrgQoBEsTGfN9YslnK5MvmX/L0z2DRIGgDAlq
2E569j1fzu3aSur659Wb8H6vyj+rJkt7a0E6WwJbyf1Li2VizgGZP6GHhBsU2IESwy9IggOs
os7kk0VaPvD7mXLnkmrM2/Qvr5cAEFXnFvnO06KQvU3evihCjDP5YYhfYIgE+RuiUBLW9yX5
a8n90sJSKE1DL5R39pwu8SbWl2rPl2z54ba6eWWs3B8/6fXCthLxyT0wR25uYysIS1kkICjg
TBkHJbY2N8ucA64Kholp6kyQ1S9fJk38VRG7lcUmYfUjpX6ovxhnyl2AXDo1pkS9rUxczGnX
C6fHWJmz4A5pblGiDJuEN2ouzaLCxF+djp8hdc57Xv5MdZ1kPpMvtcJHeVZfznllV6m2aP3h
C3lrAqb4bC+kh2TJqofaiAVEWa1iVYhRd6TMSzQ19lVIpnw1LEBASfDIBVIFqlDrQq0LtS7U
ulDrQrPzpVZoB60LtS4sBa0LS6Gg7gQMnS1umquKYd8uL53tJ2BI5NifpCJDy5K9WO6ob3j2
28pigt/3mXb9NJ7UOVPqixkaxgf8nPOYfDjQv2zbi7TX5eNfPb7uBXzjilFLExq/sZyrln1A
+6u6EhhogDhwpiWSnZSJCIBCEUtmjJf2kYf2ocvilfS5/2JCQi0gOeQeP0z68RSI7E2baT/S
+7qOBEaWcaOuL8SlELaek3jvwW4EKycnF09k0LUvsDSmnJf1Wppw5RvL2bjsAyZe1ZWoQAMl
DrLTEolPysRRKC4x5YiLajiMaT9N567zGmFTgDjIyUgnyy6gbETUsZLt6phxk+3wGF+x4zRG
I67/dBU/vnIzfZoEYihBHNmkp6aRZc/b8u+IOcyxMkwJ6DeSES1tKBS21iMYcZ6/920vNxba
j3+MYQ0NcMQw5/mp7CixnL0S+RLQm6d++J4Xh3ehrkXIiN3N+jV/8NfmAyQHtOKS+6azYtEj
dK8TQsGCN8GRnUJ68aWCftFc/+Eq1i9+hwmXdSIywEAhOHMzSM+y59d9UNYA7OlJlFoLa3re
+ndk4sJfmTK2D1E2BeIkNzONTHsI7YY8x8KFj9GzYQThhdM0K51Mbyx79MF88RRr9EhmrFrK
++MG0CLEghIHWRlZOERhCWnBgHHvs2zVDEZGu7yhwDxUBH0nL2bn1u94bfwV9GwagkWBOLJJ
iTtJXGoOTlHY6ndk4Kj7GNoxT9n4ZFzyIkTdq95j0fRxnNMAUo4f5siJvF0eltBWXDLxM1b8
+ATnhrj+tc/EpZb6KDPQ+sNkqitvzfTZpmKjz9jb6eGvELsduxg0vPYWLq/jzXf+W9G6UOvC
SuKD+eIpPqM/tC70zbho7eAWrQtNRuvCYmhdWBxJOsKRVCdgpU2HNq7vU/QWJvh9n2nXT+NJ
nfPZ+lIJfK0t5F8+vu4FlIgU14zVT3Y8aXsOkZWQiN1uxRIUin9UM4KbNcBaxpyhOe8/Rer2
vWQmZqHqRhPeqSX+fgCCPS6GXILxCw/HWp497dUdFwDHUb4edzGjZuwmWxRGcDP6DrmBq8/v
QIumXRhw1dk0Lo8t2fEc2HOIEwmJpNutBAaFUieqGS2bNSCoQnFxknZsB9v3x5LqsBEaHkFk
i9a0qGtzfSm11+yoJL5iB4BkE39gJ3tjEkjNVtiCggmv34ToFo0I8y87VSX1EOu3xlG/c09a
hNbw4yg8zJfcpANs33GIuAwIqt+cs9q3ou7pG8/tyRw/ngq2QAICAvI+/pZSy6tkxeXbkUSG
w4ItIIjgOlFEt2pK3YAKrBep4XnrSD3Cju0HiMsNoXHrdrRuFIIF8tM0DWwBBAYGEBAQiM3P
KF8bUAl8JV8qTdYp9u7cx7HEbGwRTWjdvg0NvH0SiVtySTpygCMn40hIycVWJ5KGjRrROLIO
tvIkabXExcHmZ3vR65lNOBuOY/HhjxnkD+QmcXD7dg7E5xIQ0Zg2HdvSwFZmYAX4Ur7UIh9l
Hlp/mE415a3ZPtsUm7a8yPnnPMXa3FY8sGIbb/erSOPhS2Qxb3gEI+ZnEzxyPvFzrqOmxgTQ
urD4z7UuLIKv5Eul8SX9oXVhAb6UL1o7uEDrQtPRurDApmrVhTksGtOIq2ck4H/xq/z+7lUE
FX/ECKNZ+2Z5R7MXxpnMkV1HSSl+qqVzP9NuvI53tzmJHPsjR6ZdRnmnY+wbnqL7OS+wzVmX
0d8eY8bganNQlff7vtSug0d1zhfriyn4SFtY3VrbVKo5TX1z0lJjPs4E1k1/jPGTP2NDgqNg
dWPAdcyJW8DI4Oo0TqPRaDSaqsTN4JRGo9F4gvMYM4Z25Y7vEgm44G02L5tIa984z8YDatmk
pUaj0ZSJ1oUajcZEql0XFkxauh3wdzcWnDKTIQ1v4TtXu40BMCo8aZn9w2gaXfM5idZzeGXL
ah47q6pn0zUaTU2kSndla6oRoy69xk1j7Y1PsPr7eSxcspbdR2M4kdyc8Bo7qKLRaDQajUaj
0VQjkspfL97AAz8kINZ2jH/2jho8YanRaDQajUaj8RitC4shxB85RoaACmrDWc31hKVGoykf
etLyX4YREk2/Gx+h343VbYlGo9FoNBqNRlNzyYn5jY+eeICnP99Istg4667/8n8D3Fx0ptFo
NBqNRqOptfiOLvTnimnHyZoq7ndaKgt+rrZKho1iQfLw/LvrXP4QZbGWe5clODh2+CgOwNqq
A230LnaNRlNO9KSlRqPRaDQajUaj0ZSF8zBL3v+YH7fuYfu61azZfIw0h4Dyo9k17/H1G5cS
UcOvLgE/zp4wlU8ud2Bt1Ut3FjUajUaj0Whc4cO60LD64++RiDOw+ttM1H92jh0+jgNFcJuz
iNYbLTUaTTnR/VCNRqPRaDQajUajKQvHYX569xXePeDI/4PCUqcz1z/2Nm89fAlNakXPykLL
gaO5o7rN0Gg0Go1Go/Fl/hW6sJI4T3LkWBaChej2bQmobns0Gk2NQTehGo1Go9Fo/mUoGg4Y
xxNPnsAZcjat9IpPjUZTHowGdLjwcq47vynRrdvTpdd5XHJxb5oG1fjtlRqNRvMvRutCjUbj
AVoXlo3RkJHTNzAwC4Ibt9OTEBqNptwoEXF7UrVGo9FoNBqNRqPRaDQajUaj0Wg0Go1Go9F4
G6O6DdBoNBqNRqPRaDQajUaj0Wg0Go1Go9FoNP9u9KSlRqPRaDQajUaj0Wg0Go1Go9FoNBqN
RqOpVvRx0hqNphZhZ/u8V5m33YF/5xE8en179JUkGo1Go9FovIvWHxqNRqPRaDQajUaj0ZiB
vtNSo9HUIrKYNzyCEfOzCR45n/g512GrbpM0Go1Go9HUcrT+0Gg0Go1Go9FoNBqNxgz08bAa
jUaj0Wg0tRIh/fBq5r75ICMvO59eHVvRqMmtLMjwUhgpXzGqSWNadexFv8tu5KG35rHmSIVe
ptGUji5jGk3VouucRqPRaDQajUajqWL08bAaTbWSwZ4fP2XO2ly6Dh/LkI6hqOo2SVMjyTiy
kY2H0ym5dV4R1LQr3VuElFm2zAhDUxTfyRchef86th3PhuBmdOvenODyRsLnEBL3/M2Ok3ZU
aDQ9ujYhoLpN8kUy9/HdS/dw3+tLOJxdqPQE9CC3vGdsVDiMHNITjnMg5jgHdqznjyVf8s4T
0Vzx2H/57+SraKkzqpbhBQ0jiexdu4PYXAhu3p3uzYKKPaDLWI2lzLz1MvYk9v/zG7+v28Ox
U8lkG4GE1mtEqx4XceV5LcrwI7VYr+s65yNUR3uq0Wg0Go1Go9H4Jvp4WACySDyeQIazICmU
smALjSAi1ObhdlQnqYc28M/2w5xIyCKgbhTNO55Njxah7sNzZhB/IpEsAVD4hTYgMsyvxGO5
KSc5lZqbN4CtAoiIqkdQFeyZdaYfY9vGHRw+cYrEbD/qRDYiumMPOjUOqj0d9yom9afxdBo8
jSMOMBreyNytsxhWX6em5/xbj2dzsPnZXvR6ZhP2Et9ZaT95NVte7l3GKhUzwtAUxZfyJZcV
97Xmkv8eQXV5irXrn6N7jc3MHBaNacTVMxKwnvsa2/54hLaVvTxOsojduZHtB2I4Hp+JX3gU
Lbv0olvLOpT0wjWAzM28N/RSHvz5JE4UAY17c81NN3L1+R2JbtqWzj1aUqcs3eBJGM5E9m/Y
xt6jB9m+6jvmzP6etTFZiLIQdeV7/Dr/bjrpAe5ag1c0TM5ibm88mM/iDbo9s451T3ctejek
z5axf6v+qABl5a33XsyB757j3knvsnhvWrEFQIqga2dyfOEowkoJoVbr9Rpb52oX1dKeajQa
jUaj0Wg0PkqNHbJ0iTOGn99+j19POAnrO47/XNe2fMI8ZzmTugzms3hnsS8Uhi2c5l3O48JL
BnPTnbdxSXRgGYE5OLVmCpMnvcKXf8UUnQg1gmjc50Yef/MV7upTv4RtEvs5N7SawNLsvHcH
X/Up+7+/jUhV5CFmjmrNHYvyd93YLmPa4cWMjfRWx9lB/PqZvPLs28z8ZTOxmVKks6+MIBr3
uppxT7zAo0PaUFbqVCuelg/vGUTs1q2ccOT/L34rW446GFa/dlVLTdUQENmGzp0dBRNbks7x
3QeJz63aMDRF0fni20jqTr5+8zne+t8P/HUoFUcRB2cjqveN/Oed17mnb/2ac56+xLJg/GAm
LTmJU4XSdcx7zHxnNF1CK6ATPA3DiKBVr3606tWPQUNuZuL/bWHGxJuYOGMLJ36cyOC7m/D3
9CE0qCVj/f9uqknD6DKmqRAODn5xEwNuX8BRu4Dyp27rrnRpWZ8AySY9OZHAc9pT+v6zf7le
13WuCviXlzGNRqPRaDQajaYYNWYMrlw4T/LH/97kjTfeZMovh3FUOkDBmZ3EwX9+ZMYrdzOo
w1kMemYpscXnNs/g4PBXt9Hngvv5dM0xMsQgJKoNXbp3oU3DYAzJ4Njq6dx3QR9un3ekDPuE
jJVf81Nc0fXAEvcTC1dmuDgm0AtIAquev5SO547hje82cSITsEXQtG0XundtS+MwP3BmcGzt
XJ657lyueG09Pn3Dienlo7IYtBpxL8NbBaCUP82uuo+bOunOqcYTLLSbMJ8NW7aw5fRnw2eM
alSRJt6MMDRF0fniuwhJf73O4E7dGf7sHFYfTMWBhYCIxrRq14pGoVaUZHPi7xlMHHQ5T69J
r26Dy4mQ/MvTPDLnCHb8aTPmC36adlvFJixNCSMPFdqFMZ/8xP9Gt8YPO4e+eJjnlqdWOByN
L+IbGkaXMU1pOI/NZOKDX3PUDtamg3ltxUGO71nLiiWL+emXZfz+9waWPN6zjFW8vlHWfQVd
57yBLmMajUaj0Wg0Gk1h9KhnEWxc/sFeTpw4wYkTxzi4axN//jyLtyYNpXMdA7KO8Mtzg7lg
wnfEupg1tO94h1G3z2J/Ltiih/Dqz3s5EbOHzRs2s+d4LHt/epmrW/hDzj6+uP1m3t/tZtrM
CKNJkzBU+koWLkkoNEEpxP+0kBXpivAmTQj1au5lsvb5K7ny6eWctIOt2cVM+nQl+07FcWT3
ZjZs2s2xU0f4Z/ajDGzsh5JM4g4eJ1UfNlwhjOajmLUzlphjsez9ZhztauQ5hBqNRlOzkLgF
3D1kMj8eyQa/KPpNeI8fNh0nOeEY+3btIybhOGun3cJZAQpJW89bT87gkNsFSz6EYw/TnpnB
QQdYou9gyjtDqPD8thlhFMZozNB3P+T25hbEvo9PnpnO/pqQlpoy8RkNo8uYxiUO9sz8kJ8S
nCi/Djwwdy6PDGiEvwchViH3TAAAIABJREFU+UxZ9xV0nTMdXcY0Go1Go9FoNJoC9KRlERS2
8EgaNmxIw4aNadGuK+cOGsWDb3zNhh0/8/h5ERiSxa5P7uL+uTEU6ZtJHAufe4016YIRMZDX
fvyKRy+NJvj0xgQVTPSgycxf9DIXhBtI2ipefe47ElxN8llac8uD19FQpbL86yUknn5GEvh5
4XLSjMYMf/Amor2Ye5l/vcC4l/4mVRShPR/ku7VLeGNMf1oWnin1b0jPG1/lp5XTefiJufz8
/lU01EcDVRy/MKIa1fFoEEWj0Wg0FUfVv5ZX/nsrHaIv55WV21j54X1c1aVBQTtsrU+vsVP5
YEwzLAiZf/7CqpTqtLh8OHZ+xZx/shEVzEWPPM7A0OoJowRhl/D4wwMIVEL2n3OYt6f6zzoo
FcdO3r5uILe/PJ+NcSVvk9UUwlc0TE0rYxrvI6dYsXQTuaLw6zOee/qUfghsmfhKWfcVdJ0z
H13GNBqNRqPRaDQawIQ7LR3JxzgYl4PFasXqH0hYRARhAZW7KTAnfj8798cQl5xLYL3GNGnR
gmZ1A3A1HyZOJ07Jn9VzOJAzE3wOHA6HiyNAFcowMCo4uWaNuoQXvvuC2F5DmH7oOF8//wHr
r3+Rs/NXQUr8j8z84RROrHS482Xu6uC6u+Hf6R5eGvcxA97YRez3X7A44VpuqlfSmKD+w7iq
4edMX7aQX5JGckOEQhKXsHBZKkajUVx/fiB/VywK5UdOsfC1KWzOFow6F/PSl68yqKH7GVK/
Nrfw2vPlCDYzlt079hGTkI2tbmNad2hHw8AyMkKcOJ0CyoKRb4I96SBbt+7jZKaFsEZt6dKx
CcFuzDOzfJhR1ovYU/zNheJYSgCVSg+X5CZyYMdujpxKxRlcn+btOtGqbmnLewWn00nhaBSx
XbI5tXsT2w4nI8FRtOnSkWah1Xt7qNcxIV9Ol43Sy4ETp0MQpbCUWVg0rqiIfzmNN/ycr5Cb
sJ8t2/YTl+1PeMNo2ndoTngZyqC6/X6FyK+bJeuMlebDPmHD1YLN5i7CgXTufhZWDpNtTyAu
yQl1yq53zpQDrNscR/2uvWgZVpX11MGubxayJRdU8ABGDm3qwco0M8JwhUHz60bS/7EVLMnY
wNff7uPhR9tV873SpSFkHVnFZwuXM+PFaC4cdTf3338HV3euW7U2O504RFDKwCiHcC2fH/FQ
j2GChilM9in2bNvD0fhMrPVb0rlzKyIqtbOoppUxczBFO5itLc3K2wrr0+K/38Hm7bkIFqL7
9qFpBcpn7dDrxfCxOlflvlK3pxqNRqPRaDQaTc1BKoVdtjzfQ/xAOP1RhgTUbyvnXjVWnp/1
t5zIKWdQjgTZNOdJGX52Ewm2qILwQJQRJE373CQv/rBPMgr/JmeVPNjKUuTZsj9+cs4ru8Re
OJzsH2VMPUMgQIbMTCnFSKfETL9SQhWCpbncszTzzDfJX42QcIXg102e3WwvJQyR3HVPSicr
gqojN36dWhB6zBS52Ibg10Oe35Isi8c2EkNFyA3zkkTEKYlfDpc6yiJN7/pFUjY+LV2tCLbL
ZFqss5yJXD4chz+QiwOVgEXaTvpDsioZXu7x3+W9O86XZsGGqDP5oMQIbib9xr4vq07kuvml
XTY9002sIP4XfSBHsg/KNw8NkMa2wuVDSUDTAXLP/7ZIWvGfm1U+8m2pdFl3HJL3LvB3++6A
qz+XxFIDqGR6FDcn7h/5dOIgaVvHWihfEGUNl7aXPSAz1ieKq5KVu+4J6Wgtart/v7dlv0Mk
c8fnMrZXfbGqQuEFRstlTy+RE44yDDKFTPlqWICAkuCRCypddsuHCfli3y4vne0noKTubT9I
tps3JcwYLDYQbBfLlJgy6n3OCrmvuUXAKu0n/y3uapnXw/AFPPEvZzDRz4lUY77kyPJ7m4kF
xNrlKVmfuktm3XWuRPoXLaf+dTvLtU8skJ3p7sKpZr8vIiLZ8sNtdUWB+J37mux263JzZPk9
TcUCYtQbLd9nunvO/e//ntxerCAqeKjMTir7F87YhTKmlb8olNhaj5VvT5rrn0snSWYNDRYF
4n/Be3LIozbXjDDc4Ngvb53vL6AkdPhcKU1tVeIlcuybx2XksGEyrEKfkfL4N8fkTHSdJ+Xn
Jy+V1qEFukUZIdL6kgny1vfbJbF0mWcS2bLqwdZiAVGhV8uMMrSeM3aGXB2ap91aP7jKpR/x
XI+JCRom387UbTLn4cukdZiliA3+kefI2E83S1rWaU1ulW7PbHKhx0qhSsqYO6pBf5iiHczT
lmblraf6tARZX8uNIUrAX/q/c0DK3ZzVEr1+Gl+sc1XvK3V7WuG81Wg0Go1Go9FoqpEik5Zb
dmwo8imbbFl8e30x3E0AKYvU7/uoLD5eRjcxY5tMH9lWAgpPdCirBAT6i1Hobxh1pd9zqyX5
dD+jyictRZwJc2RYHXVG/Od1R3Jl/ZOdxApiNLlblrobNThN1s8yPqpkB6LIpOXWXElfPFYa
GYbUG7VAkp2J8tUNEaIsTeWuXzIl14uTlqnzbpAwhWDtJE+uq9w0Re7+2XJTa1tBR0pZxBZg
E4sq6FjZWt8ks/e7ek9Bp9+vxzOy8M0LJEQhKCUWW5AE+hXqJBr15Yqpe4oO3ps6aWlCWTdx
EMSj9Cgc0uEFckeHwEKDsX4SXCdCQm0FnV4V0l0e+iWuxECIq0lLS6sHZVXSKnmkg78oZYgt
vLFER0cWTESocLl0yv7yDxh5TPVOWnqcL3rS0nt46l/OYJKfO40vTFp2nizTn+guNoUoI0Ai
mrSUVs0bSLD19ICqIfUGvCxrXU5cVrPfz7ehXJOWjoPyTv+8Ntd/wLtysIINkPPk13JLU0te
ezLoIzlajt9nLBiZV//z272bv62aVkhERHL/lEfaWgQMaXrPMqnIXLqpYbglW5bcGSUGiLXD
f+QfrzQodtn1yjlFJ9Ur4fvtiTvkh3fvkyvb1ynQLcqQsHaXy33vLZZdyd71agWL3ILlik+O
lzIx4ZSYTy6X4FK0W+X0mJgzyJ6xUd66uKD9UIZN6jSJlugmERJgKFGW5jJm/hdym8eD7FVR
xtxR8yctK6UtTcrbyujTEiR/IUMCELDJJVNLqz/FqCV6XUR8ts5Vh6/U7ametNRoNBqNRqPR
1BzOHDyydedGKo4/F7+7i9jY4xw7cogD+3axdd0qFs95j8eGdSXCcBK35g1GjvqA3e6uuZAk
lk4exoS5e8jCSlS/+5iyZBsnMnLIzMgkPXYri98fzzl1DZQzgT+eG8MLf+bk/davDy9tTCAp
KSnvE/cbj3a0AgZRt3/DqdN/L/KJY9mDbTw+LkqFn8t5nf0AB3vWbyJVALLZu+sgDsDaqh2t
yzp016817VpaAQcHdu0jx/WbCBpwPVc1hMQlC1l2bCkLf0nGaDSY6/sFeGh9ebCz/Z+NZAgY
EefQt2MlThB27GHq2AnM3pcNlkgGPDKHdcfTyczMJP34OmY/3J9IC2Tvm82EsVMp7SoUx/Fl
vPfZFlrf9gG/7kogMyudjIx4tn37f1wSZUE54/j56Wf5IUkKfmRq+TChrBvNuHPRqaLvS9zN
OxdV/OYSj9LjzI/38fEdY/lsRyb4t+CqZ79m44k00hITSEk9ybbvX+Salv6QtpF3b3+ERYlF
w7B2f4q/4vPsP/XjXTSzgDP2CLt+mMqMuN48PG8bsQnHOHAglpPbPmFYUwtIMsun/I8ttfxq
sErli8Z8KuNfzmBC3fcxJHk5H8+M4ewHZvJ3TBIJR/ez79BJEo79yfQ7uhKinMT//jRjXvib
7BK/rma/X5F4xq/g1w25gIVmZ59N4wocteaMW8Xzw8cx66gD5d+BCU/dRJNy/N7W40LOzz9C
1og4nwu6VeH5bPajHI5xAlZan+WhzjEjDLdYaXNWa6yA49ghjnqlvhjUPe92/vPkkzxZoc9/
uP28uiWOwrXUac9V97/Hou1H2LVkKg8P7Up9q5Cy+yfev/9KOrbozNUPTeHX/Wl4o1W3dhvF
Td39UJLByrnfEuN086Azhu/m/kaGKPy638SobsW0mxl6rNIaxs729yfw5LI4nMpK0yte4Mc9
ccQfPcCBo3HE7fuF16+x8vV/53PcXTzLpCrKWO3Fcw1jUt5WUp+64vQTFTpqvJbodV+uc9Xh
K3V7qtFoNBqNRqPR1CBEpAI7KytCtuyZPkSiDASjidy5xM3Be9tekt42JWBI1JBPZI+bZcKZ
2/8rlzdqKpc+vUSOulv6n7tBnupiFTCk0V2/ul1xXNLU8u+0FMmWH/N3mfid84rstIuI87hM
vdQmoCRw2Fw3RwwWJlVmXRsggNiumC6n8pd6Ft1paReR9LwjYo36MvimK6WukXc0bKaIF3da
ZskPoyPydrD0elG2VWJJZsaye6SFBUH5SadJv5U8MsiZLCsf7CB+CsESLfcuL352X8FKZTCk
0ci5crxEVJ0SN+9GiTTyViuP/r6U1Pe0fJRJ+cq6S5wn5ONBtgqv3K5MemQsv1eiLXnfX/nR
Xperu3N2vC0XhilBBcnADw663SGZ89vEvDz26yZDrh0o474/VWzlsl22PJd3lKTywq7gklTv
TkuP80XvtPQKpvoXl3hQ931gpyVYpe09v0qSqyLkOCTTB9cVA8SIvEW+Sa6IYVXl98uz09Ih
Rz6+PP849zYy6Y/ytvhOSVr7ngxtmbeDQlkby+APt0pFTpZN27tUZn06S5btc3vGrldwxn0q
V9oQCJBrvijHWbZeCqOU0CXu0yvz2rCAa8T04KuIjMO/yWdPjJTeUQW7bJS1rnS+9hH5fENS
+XdzlQuH7H9ngAQoRAVcKO+7Oa/Xceh9uTBACSpABrxT8lSDyusxN1REw2T9JhNb5u1c9u/2
H/nLVfXI3iKvnBeUn66e7AyqzjJW83daeqxhTMrbSulTxzH5/YuPZOrUqQWft8dIV7+893W4
6TWZUvi7/M+0H7aXo98mNVOv+3idq3pfqdtTvdNSo9FoNBqNRlNTKLKovPBuS892XhbGnzaj
n+OuLlZwnmDpkk3klnjGzvovPmdDtqCCL+Spd8fQxs0Cw4AOdzN/53Z+euZSmlTrxfKKsPAw
FCApSaQIIOmkpeetbg0ICiqxUr8kfgQFWfPCSE8j3e1C4SAGXH8VDYnjh1k/kqAaMfj6fnhz
nyXkkJSUiQAqLJywCi1NLhrOnwu+5agDVPClPPRwP0KLP6LC6P/oJC4JUuA4wjfz/3RRRvKx
tGLUfUOJKmGPot6gqzjPpsCZwt49x6n6BaXlKesm43F65LBm3kIOO8Da6W5eHJO3Oro4fu3H
Mum6SAzJ5K8lv5Nc1mL23M0sPn45D19Rv9hqdgttu3YkUIE4Y4mJreXLfX26nP7bqAr/Ug11
3wz8ejH2/gsJd9W+G80Zee/1RBngjF/J0g0ViZHv+H1JXsGrb/xKmij8Ooxk1Dnl272Que4l
rhg4kYUHcjDqn8+kBX+wYEKnCvnd4NYDGTVmFBe1CqqY0ZVEUlPyTn9QVkJCPFMKZoThHkVQ
aAgWBThTSU6tma1gYLP+3PbCHP4+eIA/Zz/Hrec0xOJIYOs3b/Pqgv2Yu7nPoMXwm7kgSCHZ
a/jq60MufIeTg1/PZU22oIIu4ObhLYrpUJP1mIfYN//Iz0ccoIIZ9OBEeruqHv6dGD9xMHU8
1p61o4xVGx5qGHPytpL61L6T2ZMncNdddxV8HvyMzbkAdnbMepQJhb/L/9z73qq8vpy3qEa9
7ut1rup9pW5PNRqNRqPRaDSamkKJ+bWtOzeaMGGZj6UdXTsGoHASc+gIJU6GdB5jzer92FHY
zhvB0OalTfcpgsNCyzEh6G0Ufv5+eROOuTnkCiBOnM68XqIyytczUCo/Jk5nqZMXeUfE5j1r
8frRsAAK43Qi5+aWzLPy4jzMuvUncQB+PQYxMNJ1uqjIgQzqkXfc7sn16zjsJjGUrStnd3Uz
ah0QQUSQAoS01HSvHNFWJmWVdZPxOD0ch1i37iROrLS64ko6u50ICKb3ed3wQ8jeuY29ZY7C
Wulw5eW0dnGWoF/fh5j55Zd8Oeslri3P+Yo1GJ8vp/8mqsq/VHHdNwOjQU/OjnZ/8Gdgj3Po
4gc4Ytm3P6ViZdUH/L6kbuTDW0czZY8dsTTlppcepEd5Tjp37GXKxBf4MxWsLUbw2ZqlvH5N
NBU/ELCasFrzj3N1Ynd42MKYEUYpiMOep3mUFau1Zo+kOrNSiI+PJyE126uLUIxGQ7llUBhK
cvhr7gL2FffHjn18PfdvckQRNugWhjYqVmNM1mOeISRv28LBPCO45ILiC5zOWEF43/5U5qTI
2lTGqhrPNIxJeVtZfWo05OxrRjJyZKHP9X1oYgGwENX72qLf5X9GXNjaq4tBq0+v6zrnCt2e
ajQajUaj0Wg0NQMrQOf23SsxUWknYcdyvl+0grVb9nA0Lpn0HIVfYDARDRuTtdUBCI70NDIE
AgurascxDh9zAAaR7dtT37f7Ofk4SU1OxQlYQusQZgBGMCHBeZ2arIzMcgzw2snMzMnbzRgc
QnBp8Q66iEemf8TZh51Yoy9igLfnLPEjLDwIRRbO5ESSnbiY2i4HjhPEnHAAiuCWrSne5zuD
0ZjWrYJQq3JwxMZwwgGtXTyrgiOo43bk+HQCCog3p4IqUdZNxuP0cMYSc9IJKJy7v+ONV1e4
vefHvuUETgXO5ESSyupsqwA6dG7t8v4zI7InV4/oWUYAtQPfKKcawGT/4jt13wyMOnWpU0q7
rsLCCTNOD6SmIdQr1k74kN93ZJKanMDJzBTij+7gnxXfMmPqFyw/mIGoADqM+5CXr6pbrvvM
nEcW8c3aLMRowIi3pnBzG1sljatajNAwQg1AHKSnZSIEVOweN5PCcE/+wLwAKoSwEB+vKC6x
E7/lB2Z8+CFTZy9lX4ozT8sFNWfAyLt5+JZ2LndDVQpVn8G3DKbet7OIX/cVC/Y8yOT2Bd7W
sXs+c9flIkY9Bt8yuGSdMlmPeYaTuBMncQiooJa0cmsEGJFNaOSvcHPhexnUhjJWfXimYUzK
28rqU2snbv9wFrcXfjBlJkMW/ckxh5Uud0xh9p1RJrZn5aP69Lqucy7R7alGo9FoNBqNRlMj
ODO24snEpST9xbt3juH/5u+gzNNgXI3RSzqpaQIYBAYFVnlH0iMkmUOHEvIGqerWp64BqFDq
hFlQCPZTscQ5oWlpHRPnKWJP5XVEreHhlN6/s9HuirG0MzMOpWKhQcMGWEjAcWgnuzOhW4lz
b8qBZJCWIYAiMLi0vFUEBQWhSELSU90flWsY1brLttJl3Ww8TQ/JJCNDAAd7v3mJx78px6ss
FpeTkUUfqkdUpF7KW93lVFMIk/yLz9V9M7CUXk4lLYVUZ17ahdUJL/Ksr/n93H+eple9p118
o7Cd+wxfvz+YqHJWSsfxI8Tk71y44Pw6NUOTFCYgjDB/BVlCwql4hIiKx8GMMNziJCEuASeg
gsIJ84rLEGKXvMbzCw9W8JhWC9FDn+LRQQ1dxzcnlnULp/PBhx8z9/dDZAiAIqDJeYyYMJGJ
44fSs4H3fGD4oJu5NmoOn8Rs5Kt5O3jkqc75ftnBjvnz2JQrGI2HcvOg8JI/NluPeYSQnpZR
vsV6ykaATUGaJ++pijJWi/FIw5iUt97Sp9VNtel1XefcodtTjUaj0Wg0Go3G9zkzaVnhnZb2
PXw4/Aom/ZqIWOvRbcjN3DCoN+2b1SfEX+F05JCeGMvK9yfy/pp012GoUMJCFcQ6SYxPrBl3
vGX+w+oNOQgWmnbvSgMFEEibs5pjYSeOfbvZ7yhj0tK+n9377YCF6HZtfOzoOSsdenUjSO0i
JX0tqzfmMLy/BxaqIEKCFOAkM7203adCRkZex8sIDi2941VdmFHWfQUjjDrhBsQqmlx6L3dd
0KDMAWkj4lzalbV1RAUSGOCLmVebEHJza8SNib6BGf6lNtX9CmDfu4t9dsCoQ+NGhS5K8nW/
rxS2em1oFXScnYfTyNk4n3nbHuSpbuX0YXZ73nG2KoAgX98u6wprK9q1tMImO3u27yGXNlR4
r6gZYbgllz3b92IHrC3b0sr0LYkATpI3fM3HU/+u4B1ifpwTfT8PD2pYZBIk6+hqvpr2AR9+
8jV/x2TlaRllo9E5w7hz4kTuHNabqKoQccEXccvwFnz27gG2zJvH1sc7080K2Lcwb94WcrHQ
cvjNXBTs4rc+occUAYG2PL2RnUV2aY9KNlnZno7wV0UZq2l4WzuYlLfe0qc1lUqnh65zbtHt
qUaj0Wg0Go1G4/MU2WlZEbJWvs2ryxNxWpox8vNVfHFjcxdHYmXj/9PDvL/GTSCWJrRoakXt
zSZxwz/sdVxGx8osmVUWrJa8XoF3OuhC4uIv+PakE4x69OnXhbwFpVbadu1IoNpJ6vE/+H2P
gwGlRMS+8zdWxTpBhdCpaxvzjxKrJMG9z6eHbR4rsw4x7/NlPN//ckIqGoglisZRFjjgIP3A
Po47IdrVRK4zhn378zp1loaNifLmkmkPy4cpZd1XsDSjZXMLancOGXXP574nhuNiHbEHFLoL
VVNpXA8vFKxmLx8KlT9IcvrO3YpjRhjVhAn+xTt139fzxc7OJb9w0AEqtC8XnF2wbcIX/b5f
14f4ZuYdtLQFEhpRn8j6oaitL9Hv3Cf5O3Mdbzz0MaOW3Ovyvt0SYfV/m/05byIoLDWxPbO0
pmvnYNSmJJK3bGS/4wo6VDRtzQjDHY69bNyShmAQ1rkrLb3i7w3Ce1zH+Lt6VnynZY9Cu4qd
J/h24mDGfbyeUzn5d5b7R9Jr6HjunziBG/o2NnEytzzY6HvTSNp98DI7dsznq01P0a2XFfvG
r5i3ww7WDoy8ua9rm3xCjxlE1K+LAeSmHuZwgkCU61F858ljHM/xsF2rkjLmu5ijHSqKSXnr
NX1aQ6l0eug65x7dnmo0Go1Go9FoNL6Oh8NyDg6t/YcTDrC0vIH7h7kauAScMezZl+F+FaLR
iPP7tcUC5G6ayWd/Z3lmzmlUOHXC8u7hSj1yhESTNbokLePpJ+YT7wRLsxu4/bKwM9+FDxzM
gCAF9s18OWdjKVdH5LB+9ldst4MKuZCrLqrwdKDXMVqMYPTFoSicxMz8D6+uzfQgkOb06hmZ
l7cblrD8lOvMkJPLWLIhF7DQsFcvmntzoNij8mFSWfcVVEP6DeiIFSFp0VS+2F+xYV2Nl1CB
Z3Z2ZaWkumk/Utm8fnfeTrByhRlEcP5q8JSkZM8GLM0Io7qotH/xUt338XyRk9/x6sdbyMWg
7qDhXFLn9ECYj/r9wCjaduxIh3YtadogFH8Ffl3u57VxbbAqIWXF8zz25fFyppHCMCxYauwK
jAB6nNsNmwL75h9YfNCTkmFGGK5x7FvMou12UDZ69OnhpVMmFA0HPcZ/p0xhSoU+/+WxwkfD
SiLb/9zMqRzwq9+dYZOns3LvQf758nlurfIJyzz8eo5iVBc/sO9m/tx15JLLP18tYI9d4ddl
FKN6uDmX0Sf0mKJ+x040sgC561m+KtnNc0Ly6t/Y5OG6w6opYz6EN7RDxY0wJ2+1Pi1KpdND
17nS0O2pRqPRaDQajUbj23gsoXNy8hWw0+l2ZW/sD8/z8RY/rG6PRLHS9dYxnBuowL6L98dN
4sfjleikGlF06lgfAyHnj1nM2WdeFz37yGL+M3gEH+zKRYy6XPL4Q1xY6NQ8FXk1tw5ugCG5
bP/gMabscD10kL3tvzz20S7sGERePZqr6lXNEXTpe3/li0++YOnechxhqKIY/tg4OvgrJGsj
rw67iambK3r0oT99hl1LMwtI+i+8+foqUos/Iin8/tqb/JohYGnGtdf3watXoXhYPswp676C
hY63jGVAiELSVvDU6BdYneTzU621HyOSltEhGAhZqxex1MWMuuPAbKb9nFL+yTFLM6KbWVA4
iVvzO9s8GbQwIwwASWHVe/cxYcIE7nlqPvuqZCyy8v7FK3Xfl/KlGJKyjrdvvZs5xxyogG7c
98T1RBaKl0/6fZeEMOCJFxnW0ADnSb554v/4uTztXG4Mf341nU+/3UR8JebqKuRvTcWg2ZDh
9A1QSO4/zP5yhwcTFWaE4Ypctn05h/W5ggrsz/CrG/n4/b9WIjoN4eGPlrL70Hr+n73zDo+q
6P74d+7W9EJIo4XQQxOQ3kFAAUEQEBBFFBAb6Csq6usPBBVEFIQXARVFDNKL9N5EOqFDIISQ
BNJ73XrP749dQhJ2UzZ3yRLm8zz3eSB779yZM2fOOVPv+tmvo2stp8rNkiwEo8a0g4oZELlp
LU5ln8K6jZEwMCXajRlVwo5lx4jHFK37obevAIjp2Pb9Ely2dKah7gqW/bgDtoUlj5uOSYA9
YgcbkKZueXxalIrLw9HbXOX5SnB7yuFwOBwOh8PhODg29udlCGoWAjcBMN4JxcwFJ5BcaFRL
zIrArrmj0OPlrWj62jAECgDlJuNeSu5Dg1+yBhMw9/2n4MwI2qtLMKRtb7y7aBvORWeZ7xWh
zUpC9I2LOHVkH/65mV1Cx1uJDi8ORk0ZQLlH8fmgV/HD7mtIKfiWgxGatFjcjEyyshpZREbU
eZw7dw7nzp3B8cN78fefC/DZuJ5o3HgA5vybBpGpUf+VZfh1Qr0i3z0C88GLX36Krm4MYvpB
fPzsEMzafgOZ98dijRkI3/olXnjuUxzJEMHcu+PzGYPxKOYsxdtLMKRtP7w64VX0bTcMP5dh
54Rr1y+xfNrTcGMEfcxmvN2xGfq+/z9sPRWFzIJKJOhzEnDt4J+Y8/40/FVsFbBT1ymY2sPD
NJG7YDien7YWF5JMktclXcDaac9j+MJw6EmAZ8+PMLmrWuKSF8cW/ZBO1w352cjKzERmkSsL
eXrT+0mfV+z3LORopd/bJgSNw9xpHeDGRGQc+xK9W/fHR7/sxZWEvILdSMa8VNy9eREn/72G
lCINjqDPy3qQxxyElWkSAAAgAElEQVSt+RkRmuxCec/KgR2yXoVxQueBz8BLAMTE1Xhr+HRs
uZpm+iabMQfRR5dh/Atz4DzwWZg2C+cjPTkLJZ74xHzQtUdzyBlguLIAb0xeiTNx5jomHTJi
LuDg/otItXcaACBG4+Bvy7B06VL8+k88FI9ocr9i/kW6tl8ER6oXM7rUGzi84jO80LYHpu5J
hChUR795qzCtVeE9E47q962IyHcovvq8B9wYYIz5Ax/NPom8kh6gDOx6uxO6jByPN4a0R4//
nir5O1FWsMXfSolQcwjG9HIHIx3O//glNiSWf7RSijSKQwnrMXPRReiJwaPPGAwOdPDpJFkD
TFqxHt9N7IkgZ0dZjSSg7ogx6OrEYLyzCb99+xs2RRvBnLpizIi6JQb0UsRjFY5hXHrhzdeb
QskIeadmYPBL32Hv7ZyCGCInah++e2kwZiuHYHid8p+l+NjpmCTYIXawBYnqtmLxqXRUjXgd
Dt3mKttXcnvK4XA4HA6Hw+E4OGQr+adpemtnYgCBCeTs15Bad+xM7VsEk7eSESCQR5dv6eyx
adRYDgJAACOZUzBNPqAtmpYuija81Yo8hPv3me4VFM7kopYTY/f/JqO67/9DupLyZYyjDa8E
kYI9SIfJVOTi5kpquUAMIHmzL+i8vtAz2p00rppQ6N2WL+ZSjwbOOkAJBqsvp7itb1KIEzM9
wxgpPQIpuEEwBXooC8rBnJvSW9viyVjsaTFuCfVWgaBoRbOuWH0JERHpL0ynFnIQVP3ol0Sx
xHvzNo4k1/vyYB405m9Nifc/yFAaHZ/dj2ooWVE5yFTk7uNLPm5KEgrSVVOfpXFUPCf6qNU0
pr7KpCcAgclI7awmWaH6UdUfQ6uj9BYyYKCLM1qSHCDBbwLt0Vq4hahQ/cmp5YyLVKLkbNEP
SXRdS9tf834ghzJdCmrz1dVC5ZFQHoa7tOPDDuQtFKpbJiOVqxdV83QqqB/mPIRWZRZ6TrxH
P/VSlp73MuiwfcindcPUBDByGbmRyqjpFUSietFepfk9vUgoqA+BFE6u5KwUiIGRe8dv6NTe
yVRHVkjH3HrQggjrchYT1tPoGrIidax0diG1nBEDSPCfSHut5VfCNEi7i97wEQgQyHf8birt
dkmpiH+R0s8VonLqRUeH3q1FMoCY3IV8AmtRUN0gqlHdjVSF7IDg/hRN+PMa5Vh6qcP4/Qf2
VNF+Lt201gQ0Z+i/LZXEAGLOHWj25RKiB/1Z+ixEXpAXZZf5FFXcSZcBm/2thGjOTadWKlN9
+PZfQtdtaHBSpPEgsWu0+NnqJADE1E/TrIuP1AJULcRE+mOQe6FYgpH7oD+olDCQiCoaj0kR
wxBR1gn6sqNHgZ9jTEkeAbWpdoAHqRgjyGrSqxv+pTntFWWL6e7jEDpWGfEHSRA7SBTDSFW3
tsanlsj8kwapQYCK+iyNf6iPYqWgVSNev4+DtjlH8JXcnnI4HA6Hw+FwOI6L7cuQ1W3xxfZt
+Hp4c3jLCHmJNxF24l+cuhSFTHUwnnlvOQ7v+AhPebriwSJ1glGbhdzi2xwVQXjxp2MI27UA
b/VrCl+1AAaCqM9DrsYAItNtTK6GITcDJZ6EJwTgxd+OYeecMehQwwkCI5BRi9zsHGgMpiPt
jHExuFfaaXRMBpWrN/zrNEb7/q9i6tzVOBl5Hdv+2wt+VhcsCgh4fglOnl2Fjwe1hJ8K0GXG
4XbEbcRl6gCVH1oO/gR/nTmJxQP9H9mxVeouIzGirgoMDKp6IzCiUxm/OMK80HHaLoRf2Yq5
E59D65qukDGAjFpkpSQhJVsHkRhUPiHoNfo9DAkx9dQKIw8aiRXHDmDRhG6o4yoDIyM0eRoY
iUHmWgfdJizCwWMrMDLI4tfRpMcW/ZBS1x0FWQ30n3cIFw4uxpQBLeDvJICREdqcdKRm5MNI
AMDAkIi4uCf8u0KPCmUIpmzejyXjO8BfxQASoc/PQb7BFQ0Hz8TmzZ+gtZ8XPArrmCYX+SVs
62N+w/DL7uWY1CkAKgaAjNDl5UJjIICp4OUph7aUTwpKkQZlxCI2WwQgR/0m9S1/C9FeVMS/
2KntV3a9kCEXKXGxuBN1B/eSs6GDE/yb9cKrM/7CqYjT+HlME7hYetBR/b41VG0wdc5rqC0D
KO80vp36O6xu5pCH4IWRreHOACarjp6j+6OmDU7aZn8rIarWH2LhBy3hwkQk7ZqCvi98hQNx
5ZOgFGkAgD5uP2a90A8f7EmGyFzReupCfNDicfnqmQPCqmPQK/3hfV83BW/0f2UQqpdhM6hD
xGNuHfDFriP4bXJv1HWTAaRDZnwMYuKzQL5tMf6XnfhpaAgCfcu+M+iJ1zE7xA42IVXd8vi0
KBWVh4O2OUfwldyecjgcDofD4XA4jgsjouLzTOVGnxGFa9ejkZIHOPvURqPGwfBWmX80ZCI+
PhtQOUGtVpsupQwl9QdIk4KoiGgkpGUgzyiDSu0MF09/BAXXhLe6HKOIpEVqVDhuxaUhW8ug
cnaBh08NBNUJgLvS/sd9GbPjcOt2LBLTtFB5+6FWcH0EulVOx4GyoxF2JQU+zVqjjputZdcj
IzYKsUkpSMvSQ+XpC7+AAAT6ekJVlmrRJONWeCTupWuh8qqBeo3ro7q9T4QtCRv0Q2pddxi0
qeY2l45cgxxOzm7w9K+FurWqw/mx6utqsH64F0Zs0MJl5Aakrh4KVekPORzG7FhcvxaFFL0r
Aus1RL0AV9Nx1IZMxMfnACo1nJzUUKudoFIIZdAxETn3ruPa7URkG1Vw8/CCb516qOOtKod+
2p6G4fwXeKrdV7gqemPs3/ewYmDlNXxb/Yt92v4jrhejFlnpKUhJSUFqShqyDSq4e3vDt1Yw
anuVb8DQYf1+hdAg4coFRCsboE3DajZPrkvjbyuI8S42TeiN0StuQksMgkstdBz8Ep7v3AR1
ajZHtwFPI7A0225LGoZ7OLPzH1y5G43r/27D2r9PIDZXBDE1Go9fgwNLB+OJOLXT0XGEeEyb
jIhrtxCXroHCOwghTevCUwEAhLyUOGTBBe4eHnAufp64w+pY5ccf0scONmJr3VpMq6rEpxJR
EXk4WJtzCF8pBY+zPeVwOBwOh8PhcBwUSSYtORwOxzGo/EFDzsNot49FwKCVSJe3w5zLx/FJ
oydxpJHDecSIaTi3/BNMnPY7zqcZH5yEoB6K1SkbMdLidtoKppEVisF+r2BrwS5fBlm1pzF+
7jLMGdcKnny8lFNRHFbHePzBqaI4bJvjcDgcDofD4XA4VZVHekofh8PhcJ40CKmx95BHAHOu
j0a1+YQlh/NIELzRZsIvODPqcxzfth6b957BzbtxSMisDY+y7oopbxqCJ+o0fxpdPAIQUKsh
2vcbiuEDO6K2Cx/V5kgE1zEO59HC2xyHw+FwOBwOh8N5xPBJSw6Hw+HYESPuxdyFEYA8uAnq
P0GfGuNwHAHBNQhdRn2ELqMeQRquA7Hw9EDbX8ThlAbXMQ7n0cLbHIfD4XA4HA6Hw3nE8ElL
DodThVDg6beW4tdnjZAHt+EGziEw4F5MPIxgcKnfCEF8oyWHw+Fwqhw8/uBwOBwOh8PhcDgc
DkcKeJ+aw+FUIWSo22ss3qjsbHAeICYh9p4GBBmCGjeAurLzw+FwOByO5PD4g8PhcDgcDofD
4XA4HClgRESVnQkOh8PhVFW0SI6MRJIGcAlsiCAvvlaGw+FwOBwOh8PhcDgcDofD4XA4D8Mn
LTkcDofD4XA4HA6Hw+FwOBwOh8PhcDgcTqUiVHYGOBwOh8PhcDgcDofD4XA4HA6Hw+FwOBzO
kw2ftORwOBwOh8PhcDgcDofD4XA4HA6Hw+FwOJUKn7TkcDgcDofD4XA4HA6Hw+FwOBwOh8Ph
cDiVCp+05HA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4lQqftORwOBwOh8PhcDicCkPIjTmOtd9/
gJH9OqNNSDACaryKjXmVnS8Oh8PhcDgcDofD4XAeD+SVnYHHCkpH9pnr0OgBee2n4FXLubJz
xOFwSoO3Ww6Hw+FwOPYmPxJbv3kH7323FzFaevB3dSvoyfpjtpIXewEXYnLxcNIMzjVb4Kk6
rmDSv5bD4VQBuP3gcDickshDxM7fsPqMHi2Gj8fgEDduEzkcDucRw4jIDt3oKopuF04GDkRk
qgCvGefw3PQWVdZxGdPjocsTi3VkGJjCCQpPD8iVj8MmXRGG1AToNOVXcab2grqac5Wt3yeK
x6Ld6qBPSIHeaEFXGYOgcoPCyw2yx6HZPQFQ7j1kXriO3IRk6LQKKH0D4BLSCp6BfEKcUzlU
DZ/N4TzG5F/CwiF98MGeJIhgUAe2xaCXR+H5ziEIqtkAzVrVhaekzdCIS1+2QZsZF2F46Dc5
Gk87jsuz2/LVqU80OmQmpCDHSmwpV7nB08sNKu4eHAIx9x6uXriOmIRkpGsV8PQNQFBIKzQN
tNwf1aTHI+0hv18SDEoPX1R3lYPbj6qPZf1gEBROcPf0gMtjEReKyEtNQLqNYzn+1Zz5sXIc
m8nePRFNB/6CWCMg+I3C2iurMMzH8UaRqi48hpEeDdLj05AnPpApYzKo3Lzg5aay0V6KyI4+
j7PXYpCQpoHa2x+1Q55Gqzpu1tMT85CakA6TaWdQuFWHr7viodv0WUlIztab/BhTw8u/Gpwf
QX2XNx7j2Bcei3IsoEPCf5rh8Io0yz8zBRS1mqJa1+cQNGESgrrXhuzRZrBsUAKiRtTF6YO6
cj8q9PoJL+x/C05V2SqJcYifvxDxCSIUHSeg2dAG3AhXFvoTuNi+N27EGK3cwAC1Dzw69EPt
N6ei8YiWeCz6mlLgMHpqhDYsFFe/nI87+y4hP79YAC04w7nN86j/+VcIGVzfMW0ix35Uqp5W
EZ/N4TyuUCI2ThyID/cmQWRuaDFuIUIXjEVzN/taAbVvfTRrZnww6UC5iL95B6l6u772yUGM
w575C7E/QYR7xwn4bGiDx8t26k/gi/a9saiE2JKpfdC4Qz+MeHMqpoxoCa8nKLZ0jLo1IjUs
FHO+nI/QfZeQmE9FJpmY4IzANs9jwudf4ePB9eFU8IsOB/7TDM+vSCvHpKUC7eZcwfFPGkIG
bj/sTqXqWCn6wRRwr9UUbbs+h1ETJmF099qFdMuBoAT8MaIu3rZhLEfZ6ydE7X8LgXxw4/HA
YWxyQYaQeOUKEszuU0y9gst3jRjmw4fPHxk8hrGOre1FdwgfNh+I31PFYj8wCCoP1G7eCT2e
GYiX33wNzwSV5hWMSD6xBNM+nIM1p+KKToQKzgjsMAqffj8Hkzr4PJQ3SlyJl4LfwgGt6d0u
A37D7W2vwZcVuQmho+vhjR3mEyFU/fBLzC6M97WXUbc1HnNAHM6eVownpVlzpIT00MdcQMKq
2TjZqxl2j1uJLG1lZ4pTbsQkJP/xPa7P+x4R+2LK0enlPHoI0CQj83AoLo/ugF1jViL7SRlU
cAQ9pTQkz+qD7e3H4frWi8jPB6DygnOD5vBq0QBO7gpAzEPembW4NLQ9Ds4Ns7BynVOlcQQ9
tQb32RyOHSFk7puOj1bHwgAl6o/7E7t/ec3uE5aADA3f2oDzly/j8v3r/O8YHcC7dpIhJuHf
P77HvHnfY8m+GFgbNnt8IZAmGdcPh+LL0R3QdsxK3HqCYstKr1tKw7FZfRDSfhzmbb2IBHNs
WbNBczzVogECzbHlvTNrMWNoezw3NwzSfRqX2w+74wg6Zg3SIyvmAg6smo3xvZqh3biVCOdx
Iacycbj2IiB4xLsYHqwGY0rUGvAeXm7KJywdCx7DSNdeCKI2A3fO7sSKOW+jb5NG6DvjABKL
z20WYETMutfQoftk/HbiHvJIgKt/fTR/qjnq+7lAoDzcO74c73XvgNfXx5aSP0LekU3YnVJ0
9IRSdmPzkbxHM6ZSqfGYHXA4e1oxuOXllIjw3E94/vehBYpC+nzok+4g4/gORC1ehnvh2cj4
YwIOO/ni2cXPQulIq9mYP4I3xqKWtrip0+Du+MY4tV0L+QvLMXBp/4dXHqjcoXKksnCeEJTw
nXsWXV71LbRLiyDmpSD33G7cmv0NosLSkbPmLfzbvBX6ftqcrzyxO/lIndUfh2acgp4YhFq9
0ejL6Wg4rDNc3czS1yUibeMPOD91PhLi86G9Ew8DAXJuQziPmMfaZ3M4jyPGCPwyYwXuGAFZ
3TewZMFg8HF/jmOhRLe5Z7G2WGxpyEtB1LndWD77G6wMS0fkmrfwcvNWOPZpczx8SBdHWvJx
ZlZ/9J9xCtnEoKrVG+9+OR3vDOuMuoViy7CNP+CjqfNxKD4fKXfikU2AczG/rXruJ1z7fShc
Sn0ng8Kt2mO92p5TforrB+nzkZl0B1eO78DKxcuwPTwbV/6YgEFOvji5+Fl4O1JcyPzx2sZY
DLUwlrN1fGNM3K6F8wvLcX1pf6iKP6pyBz/Jk1MRhNqjsSp8IL5PEeEd4AllZWfoiYXHMNKj
wrOLr2LFi64AjNBkpiDhzhUc37sBvy3/G1czYrFv5kB0j1+LI0sHwa+YLTVcX4DRr6/CbT2g
ChqMmT8vwDvPBMGFAaBc3Nm3CJMnTsf26Ej8+foYtGp5EO83tBB9CO6oEQDExx3B5r1peOXl
auY6JqTu3ozDuQweNQIhxt9Dtt1kIV08xrEPvFv9BEMpFxAz+3XsHzofWVam35naE2o/v4LL
qWYQ3Fv3QO13v0P3cyfw9AA/MNIhe/mnuHHZ0fYWCZB5+hbJ//1LqTbfovaw+Lva04kflcqp
BBhk7tXhVEQf/eFctxmqD5uKjkd2IOQpNUB5SFu0CIn5lZ3fqo/x1Fc49c1p6IlB0foD9Diz
F63HdX0wYQkASj94j/oWPY8sR8jna9Fr0QCouQHhSEzV99kcTikYwxE+tBdOzt6A9BQb9VeK
NIoktw6rz2pBzAU9P/oUvdwqnCSHIzEMKvfq8PPzK3T5o0bdZugybCp+P7IDnzylBqM8nF20
CAd5bGl38k99hQnfnEY2Mbi1/gBbz+zFvHFdHwyQAYDSD61HfYvdR5Zj6udrsWfRgIcGDgGT
3/ctUrfWLl94O/Mpy6qEIeUCNsx+Hb2Gzkd4CXFhYf3wrxmERq174MV3v8Pf505g0QA/CKTD
reWf4n8OFxcKcPL0tajPnuaxHKb2sPi7r6fTg4FOYzjmD+2F12dvwAUJ/D7nCULhDn8+YVnJ
8BhGehhUHvdtayDqNGyB9n1H44N5m3D++h582skLAmlw49dJmLw2DkU2XFIKNs+cixO5BMGr
F+buXIeP+5gnLAGAuSCo7zRs2DEb3T0EUM4xfDtzK9IsbZmU1cMrHwyFH8vGoU17kX7/HkrD
ns2HkCMEYvgHLyPIjrNWUsZjHPtQgZ2WBBJFFD3oVwZ2v25JC83Ni8iMyQRc/OHWPATObmUI
lPXpyLl+E3nJ2SAXH7g0bApX71LWSpAIEqnI+ynjDjKuREKTL4MioAE8Q2pAXlZl1yYj+2oE
8lLzwXzqwrNZMJS2LNcod1nsJNMiGKG7sg23Fv6Im6uOIDePIDz9jW3brp2bosHi/0Ps4XeR
kHsVsX+Ho1mLZnyyr6yUWz9EkJEAMEAQwEoS9P02AQbIhAd1IoogMte20QgqcAxGkNFoQQ/K
8C6bygLHbbeiBrr4GOTeTYIuJx9GPUFQOUHu7g11jZpw8vWArLKWe7h2QJMPn8XNV7dAn/wP
Eq8aEPB0CWbclnoBQJn3kJuiA5PLwZROUHh5QaGu2ECHmHobWbfjoMnUQ14tEE516sDFW23l
ZjvpaXmhZMTOXYJ0LYF59kbLNd8iwM965Qv1X0GrWWVINz8RWdcjkZ+mheAdCLcmDaEu8QO6
5rbPBDCBgbKikXHpNvROwfBqVQcKAQA00Fy/gMw4PZSNWsOrpoU19xbaHLSpyL5yFblpBsiq
1YJb0wZQF1+uLGlZLOejQm0fqBwb9Ej09Mn02RW2QRWq2/uxWDnq674uFG5bDkbVkCnBGHsM
kZsPIfLrIPiNfhuNJr+Bms28y6HHUqRxHyNubNmMy3qAuXTDyCE1K7YaVJ+OqOs3EZucDdHF
B7UbNkVwGXy25JQ7HyJEs48SBAYxKxoXL91GtlMwnmpVB+5mH5V4/QKuxenh3ag1WtR0KV3e
tsiDRIhmPRXMlWHIuIMrVyKRlC+De0ADNA+pARcrFUWiCNGKXTcajRaOWGJgggChDMojZkXh
3KUU+LRog7ruDmQoXDvgww+fxf9e3YLs5H9w5KoB/UqJLW3RU2PmPdxJ0UEml0OudIK7lxfc
Kxhb6lJvI/x2HFIy9XCqFogadeqglrfaom7Zs27LBSVj89wluKQlCJ698c2ab9G3hNhSUf8V
zC1LbOkocPth+o/ddMyItCvbsHzhj1i86gii8wiKCsSFkxb/HzYefhcHc69iy9/h+LxFsyq4
G5egiT2G3zcfwoqvg9Bj9NuYPPkNPN/Mu8qUtTy20BKUn4ib1yMRl6aFyjsQ9Zo0hF8Z+nOO
0l6k8C9F8lP8zYXKWEICFZKHRcptxwiiKKJwMYrknbRIvnkRV2MyQS7+qN88BLXKOJ7MY5gn
I4aR+z+Dr7b+icQ2g7E8Oh6bZi1G2Itf42mziCh1J0K3J0OEHE3enI1JTSxP6SubvoNvJvyM
bvNuIHHbn9iV9gJervZwZpy7DsMAv5VYfnAz9mWMxEteDJS+F5sPZkMIGI0XOzvhdPmKUHbs
FI9xeyoxZCPiuc9pmxwUigfXX13mU7aRyHB9JZ1s40OrWKHfnYLowPS9lG+0kl7KWbo1pS/9
7Skvkmao3IP+7vc+RYalW8mJgdJntKRVAP3VczHlau9Q7H+60UYVK5QOo9U1u9HpPy6TvqRC
ZV+lO1P70RZ3WZFn//JtRyd/u0R6zU46UU2gUMhpx4yLJFqTjY1lkVqmRcWUThlbv6dTzwTT
GoEVlG2VRwM6+MUeyi9SGC3dfc2bQgFaPeSvkmVmjKTrnZUUCkZrhq8r+V6HIZ+ih6lNeR65
kQyP+O0260fsKjoaIJjy3Wk2pWmsvEBzka50cqVQgFbVHEXR98wKojtGZ4NlRd9Z6qWgXXNu
SK7rjtduNZR7aDGdHdqBtngqrMtDVo/OHdeVlBvb0B2mM7VlFAoVHVgaX+Kt4rWvaacCFMq8
6Pg2y0pge70QERkofVYr+qvwc0yg1T4NaPeA8XR51WnKL6sIjGmUvvq/dPTpGrRGxormRXCm
TR1epsvbI4u2QTvoqa2IMYtpvxOjUMjo7w//rbCtEOP/ofA3OtMmF6GIrq5yqUV7xi+ipATL
mm7YNpbWMdCqOpPp7pEvaU81s3yYnNb3+o7Ssm7T7VHBtPq+f1D40/55YcXy+6DNrR60knTG
NEpeMIp2eMuL5sW9Ph38aC1lZtunLJK2fapEG2RvPX2ifXZFbVAF6zb/KJ2tJ6NQCLRu+BrS
lFJh4t2ldMCJUSgUtGPmZcntkDRUEZmKSRT33z60xa2Q3RFcacszb9H1bddIWxYjLUUaBWTQ
qiEuxABSdl9I0WWJxy1gTDlLv03pSw085cQAgvlicg9q0O99WhGWXja90h2m92rLCJBT42mn
y92+bc2HZttY8mIgWZ3JtP3Il9S5msz0PJNT9V7fUVjWbfpzVDA5MXN6Cn96Zl4Y5UkuDwNd
nNGS5AApey6mWO0d2vKfbhSoYgVpAIzUNbvRO39cppyH5HeMPgiWFbq3LJeC2s25UWp8ICZu
pnHBSmJgpKo3nv5OegSWokAfVNRnaXyJOmS49jW1UYDAvOhVK7FlxfTUQJdntSJFYdkxgdQ+
Daj9gPE0a9VpSihHbHlx9X9p+NM1yEXGitQHE5ypZoeX6evtkUX1y451W16MMYuptxMjQEYN
PvyXrHXnSkZL21/zJgaQeshfVErIVja4/XBY+2HKXjpd2/o9TXommFwFVpAfmUcDevaLPZRU
LC4ss34YI+mHzkoCGDkPX0e5ZclLpZNP64apCWDkMnJj6W1ITKI9/+1D9dyEAp1ggivVe+Yt
+mHbNUp/1INBUmGLLSyGPv4fWvhGZ6rlIhRqL4wEl1rUZfwiOlZCf85x2osE/sUYTQu7K62+
W/38Sipp9KTC8iieHRvtmP7c5xQiL5p3ZZf5dNtIlH99JY1v40NyVig9pyDqN30vJZQSv/IY
porEMNqdNK6aQICaBodmlZBJkeKW9yc3BoKsNr1zIL/gl8x1I8iDgaBoSV9eKtl46s/9l5rK
QWCeNGrTA08kxi2h3ioQFK1o1uVM2jU+gATmRS+tzyAikdLXDCdPJqOak/ZR1oXp1EIOgqof
/ZIord5JE489gNtT+yDpEgmKi0F+9r+4NHQ8boWlgbkHwiXIF3IZA/LvIH7mcBz/OQpU/LnY
TTjVtStO/rgX2RkGQFBA7ukFhUoGGDKRvWcBTnTribD9qSVnICMZqf8bi3/nH0W+DmAqZ8gU
AgCC8e5R3BzXE/8su/XQ+wEA+RcR/kJ3/DtvD3KyjICggrJGEFxqeIKlnMGtCQNxdnuq5Wft
UZYKyrTg+aybiFv4Hg42qY0dgz9ExP7bMJASTm2GI+TnfRgUG46eM/vafpShUB1qH5OMxaxM
GEoT0BNORfSD1RyFdr+8Dlc5YDgxEydmncLDB5zkIfXrcbh8IgdQNESD3xajdqB9VkJVnXab
i9Q5/bDzmXcRvukkcjLMX/BmcgjOrlC4u0KuVoAxBshqwaVmJa/JVKrMK2IYLC3Dqni9GJEX
FVtUZiTCmBKBlB2/4uKYjtje/RPEJVj9MreJ/GuIfLk9do/+CjFn78FgJIDJIXNSmnbZiHnI
O7kKFwe1xYFZJ6B3QNthPHUUqRoC5I1RZ3S7Cq3GpajVON7lGZxd/i/yckXTKiq1CowRKDcW
yb9Oxv7Or+FOlPVjiyjlMiJm/QpdywGo0bEO5DBAe+grXPjgU1w97Q//gd3h5iYA+gQkzPg/
RCdZFiqlJBtfqU4AACAASURBVCD1lzE4/J/VSM+QQ1mzLlxqeEIQAMq6hbjvRmHv0B+RobFf
WQBUrO3DQWyQxHCfDUhmgwDb6lbdCfVfawmBidDtXI6YeyW9h6DZuRnJGgIULVD7xSYOuXO1
ysiUVUfArL0YFHMVPX58D4GNPcEoBzn7l+DcoGbYEvIczi7ajaysEtKXIo37GMJx4YoGBAG+
zZrZ9C1LY+wmTOzaFW/8uBcRZjvm4ukFN7Mdi9izAOO69cTU/aX3QSqCFPkQUy5j6axfkdZy
AAZ2rANnGJB86Ct89sGn+Oa0P3oN7I76bgJIn4ADM/4Pay34KKnkQRnJOPu/sRgz/yjidIBM
5QwnhQAGgubuUSwe1xPDl92yEEfbB82xtVgfpQOBoL29HutP6B7Rm8sGU6rM3zhmllddV7he
jLgbFVt0pTeJ0KRE4NSOX/HFmI5o1v0T7C5DbPnby+3RfvRXWH/2HnKNBMbkUDspITCAxDzc
PbkKnw9qi76zTiDLAX1c3qmjOGOOLV8a3e6hb/E9jnD7YT/ErJvYtfA9PNukNpoN/hBL999G
Dinh32Y4Pvl5H27EhmPXzL6oXoG40NccFxqzMpHjgG2mwrDq6DtrL27EXMW2H99D/8aeECgH
kfuX4D+DmqFOyHOYvGg3bpbF7zsKEthCQ9RqvNblGUxZ/i9ic0UQk0GlVkHGCGJuLI79Ohm9
O7+G1aX05yq/vUjkXySiovKQOi40xsUgLvtf/N/Q8VgelgaZeyCCgnzhImOg/DvYM3M4Xvk5
CiVJh8cwT1oMw+A/5BX082CAMQ7H/rlp1lcDIi9dRS4Bgm9ndGlU8uiYvGlXdPYRAMrBtUu3
Lez2A8Cc0e3FAfBjmdi/+QCyKBP7Nu9HphCAgS92gZP0hStAyniM29OKcyX8QpHrwfttxagh
fWYG6TIySLNzEm2SgUJdhtGt0DG0vnpnCttwnXTmFRv68OV0tKZpR8KqFtMprfAEs+EW3ezj
RasAClXWoUNfbqL0JK3pN10qZWz7mg7XVZqerTWO7qYVn11/sPp7lX832tfMm3aMW0zxN9PJ
SESkT6eMv/+P9vub3+83hmLSi6ehp4xvO9IaZtq5sum5r+heZLZ5pYWR9FH76dqQYFrbYzAd
8Cphx1ZFyyKVTEkkXcQeujFlAG31kD3YoeFWj/ZPmE3RZxOo5MU05dm1EUPhPUy7NlYPW+ug
uzaKU0k7LSus60QkZlLi1Gb0FwOFKpvQ2YMZhX8k3ZEPaZuKUShzpp3/PVmsPgxkyMokXYZJ
x3QpRyksRE6hEGjj61tIc//vRa5M0mstaEsVarfize9ot4qZdmfW7kPnlu2glIhE0uuK3WnI
J11yOhnssbCsHDst9dtfow0CKFTeki5dLKa9UugYERmzU0mTGE95sdGUE3mDMs4do3urF1LY
sBa0TsYoFAKt7bmQMq01HjGd4ic3Mekpk9PGLu/Rzb1XKT9fJCIjGZKu0L1FE2mXt3mni7wR
hR3X3i+EdHpaIfSU8kkjk45WH0f38kt/wiqGmxTey8O8W9eX9n60mlITNEQkkiHhHEVN7Uob
ZCYdXNtrEWUVr1bzTstQpqSd0807KI136eYzTqa6rDuJ4jJEIhIpP3SI6V5ZTTp9qPAyqEJt
rm4/OtjUhf4eNp8Sou+vqTaSLmIHXepXw7Sjn7nQnu/DLfi5ipVFmrZPDmCDpNRT7rOLUzEb
VHEdE2OW0H4XRqFMSbtmX7e+8lZMoFv9XUz+o90c6zbRAaiSMhWzKXvfUjo3pAWtVxTakezZ
hA598BPFR5Zh/1FF0sjfQC+5MAKU1H1hTCnt1AKGW/RTHy8SAGLKOjTgy010sZAdu7btaxpU
V0kMIFmtcbTNis8uwNadUhXMx/2dUmBKaj09jPKJiIx3ackzTqZn6k6iPWYflRQ6hDwZCLKa
9M4hnaT5KLxSWfDvRj2beVPLcYtp/8100hER6dPp2t//R8/4m3ZyCX5jaHMxu56flUkZGRmm
K+UofRwiJ0Ag/9e3UPL9vxe5MimnDPGH8fZS6uclEAASvPvTL3ekjlksUI5dCjnbXyNfAQR5
S5phIbaUQk912amUnBhP92KjKSryBl05d4x2rV5InwxrQV4yRoBAHj0X0o0SYsv9k5uQkoHA
5OTf5T1asvcqJZpjy/ykK7Rr0URq521a4c7kjeijQrGlveq2fOjp1CeNTDpafRztsDm2dKCd
ltx+FDwvnY6JlBWxh/43ZQA19jDvPAUjwa0e9Z4wm9adTSCthaceUJ6dljG0qIdpp6XTsLVV
c6dlccRsurVvKU0d0oJ8FIV2rXo2oYEf/ET7CsYTHJQK2UIzhpu0qJeH6XeZL3X7aDWdS9CQ
SCJpEs7RX1O7kq+MEcDIo9ciummhP+c47UUC/0IiaXMyi74v/SYt6Kks905L2+RxP5kK2jGj
hrIzTflP3jmJaslAzGUYLQ8dQ9Wrd6aPNlynDLMIc8OX07Capt1Z8hbT6UIJRp/HMFUkhinz
TksiMt6mH7qYd+EPWkkmseTQuuHmE2a6LqBS1cB4i+Z1NKXhPmpTwe7RIjstrxiIcnfR+ACB
BJ8xtDl2A43yFkhWcxLtyyfS222npVTxGHF7KhGXr59/6CIisn3SshDGo1NoswwUqmhJh1/o
RSe3JRe7w0DpM83HUqn6UUQhZTMcetf0rOBDB5fdsmiMjNfn0z5300TM/sV3it3zYCAlFAJt
HLmW8h5KRCTN+lGmgX7Bh45vK3ZIguYona0rMw2QtPyMUixFa9rLdLWTs3kww/LkR8XLUug+
m2Qqkvbc73RuUAitk5sHXpiSNrR6kcKW7KGszLI6l3IMgKavo3/ME0Jbp5127ACvgMqZtJRM
P/LD6HIHV9OgWt3xdDfZfFfqbjpVX2E6fq3HD5RRcm+GSH+eLjY3D7JP2l+uwbaq025F0vzW
39SOZA3o3LGKeKsKUNZJS+01ut7D3TQoHPw+JRXvf0hog6xkgLKWD6aNAihUqEGn9lo+cEa8
+g3tUpkGwTcO/pWyrOii4dr/6GBATTowfS/lWjtmoAJ6WjE0dHesF4UC9FebrymjAobCcPAd
U70wBW378Cg9VFQxkxI/ME/yyoLozKGielgwaSlrQGEn7j+to4R3atIqMFr36rYCOyZemE7b
5ebjg7cX7sYXbnOM1nSdRxmWZJ5zgsKamyf76n/4sI5VsCyStH1yEBtUGJv0lPvs8lMWGyRB
3YqpFP1SNdMkXaNPKNmafUpaQYdcTRNxu7+LeAzlSVRVZGqIOUqRn4+kXf6qQsdEe9P2Fz6i
2+czSk/AhjTElN+ovwoEqGnQn2V7R2HyDr1LQTIQBB/qv+yWxbaruz6fergzAnOmXovvlGxb
bJx0qGg+CiYdZA3oo0I+6uA7NUkAI69XtxUMKhcMPjAvGru96FBzxeXxoNMPCBQwci3FW9DT
lPWjTINbgg+NLcWuf9Hc1OkPmLS/lEmC0sm5dYBW/baKDkY+ommBsg74aa/RDz3cTQN2we/T
P8UKKrmePpwBilg+mPwFEIQa9KaV2NJw9RtqqzINlvgP/pUirFRI/rX/0bMBNanP9L10t4TY
Usq6LTsa2j7WixhAijZf01WbY8sHk1Kq3t/S6StX6IqV6+qNOMopiyHl9sMB7IdI6ed+pw8H
hZCX3DyZxpTk2+pF+mjJHrpZjriwrJOWYvo6eslLKP9kdaVSwUnLQuTFHKXfPx9Jbf1VD46O
lXtTsxc+opXnMxwyrpPCFuYdfIfqyEBgCmr64VF6aPpCzKQjHzQhBQNBFkTvWujPVX57KQtl
8y8WERPo576qck9aVkQeUvpb3dEppjpWtKTBL/SiCduSH+oLX55pOgaSlWFCiMcwVjPw+MQw
5Zm0JC3tfN2HBIAU7eZQuIGIxHha2kdVsMil9NaUTateUBMAUj23nO4PWz80aUm5piNiBR8a
+HJ/8hZMR8Pmkz0nLaWKx7g9tRf3Jy6lPTdSfwlx8c+iyXM+xX6Qwa1FCGQMgJiI/MT7W0l1
SF6/GXlGgDV9G0+Nq2fxWC2h8Xg0GeoLRvlI2fuP9WMEZcEIem8IHv7GKYOq7wBUVzFAzEJ2
RHyRbd90aSfiYo0Ac0HAB1NQzdlC2sqmqD9loHnbuSUkLst9yiVTI7LXf4vwrdegEwJR/fWv
0eXkHbwQtgGtJvWFm+QfTM5D6oK5uJshArJA+Pdt4aDHojkCEuqHuhVC/piDAG8Givodp99b
j3xjImI/mIhbkXowv0Fos2IyPCx/E9mxygJUcrslGPPyzK9TQlaZHxgGABCMWcnIT0yEptCV
Hx2O1O0/4WyfXgg7kgUwd/i+/w58itSxnWxQEZRwGzsTDZrLATEBCXsvWjhKxIC0P1ciTUuA
Sw80+3Ec3KzooqzJ2+gafg09Z/SBc+nfP3/E6KDPyDf9090DCpuNmw4pG/9GnhGASx80mdoF
DxWVucP34w/h78wAYyxiN5y0fESL4AqFayE7zhgAAXJ31wd1LZeb/gzA6pkxgjdqvj8BHpZk
7tIejaf0hpwBdGc34q4WPnxCwrIANrd9R7FBFYf77PJTFhtUCFvrlnmjxsSX4CwD6NYqRB7K
tZA4Qbt7M5JyCVC2Q52hwY+hPIGqIlNZra4I/mo1nr0ThWf/mongdn5gxjRkbJmPqxtvl6nt
ljcNys5CNgFgcri6qsuY0/vocGL9ZsQYAXnTt/H1uHqQW7hL0Xg8PhzqC4HycWrvP8iU/Kgo
CfMhuMK9kI9ijIFBgKu7K+7/lcnlpr4LUMxHSSwPWTBGvzcE/hb0tFrfAehk1tNbEfEl67uE
uNTrhdHjRqNnsKWA1Z4QtFnJSExMLHLFRYfj9PafMLlPL3x8JAvE3NHt/XfQsVhsaX89VaL+
2JmYZLZBB/ZehP6hewwI+3MlzmsJzKUHvvhxHOpbiS3VTd7GhvBr2D2jD2o4YGyZkZEPAsDc
PeAugdPQHvgE7Zo1QzMrV/Nes3DqYYFKBLcf0toPIyLWf4sft15DhhCILq9/jdUn7yAmbAPm
TuqLBnaIC88tmIut5riwd98WFuVWlXGq1RWvfbUap+9E4eRfM/FqOz/IjGm4smU+vt1o5TjD
SkUKW6jDyY1/464RYC598J+pXeBW/GHmjq4ff4hnzP25LRtOWrDLZhzQ3z6gLP5FYmyWh538
rf4SdsU/i6nP+RSLqWVo0CIETgwgMRFxiSXXDo9hrFFVYxgGdw93MACUlWE6qpZykZNrEo7a
2RmleyQFnJ3lpjRyc5BrVa7mI2KRgu2rdiKNmY6GLW/PqnxIFY9xeyoVhY+ELfxviSMfOTz6
Pws3C+P+Qsf/oPOaNeiy6hvUqmF+rTEaaeeSQJDD7bn+8LTaKF1QrVNLMBCM4VeRbS16ULVA
tRZWElF7QenMABAM2YUHSgi6q5eRawSgaAX/7sUnB+/DoOjYFV7W8ih1WQoop0zvI2qgT02F
NjUTRjtEW5R+FTGfPY8jX5+DkRjknd5Ho25V4ascdkJi/RAavoUOPw6Bk2BE3rp3cOyll3Em
NAYkC0Lwz8sQXMeOk29Vqd1CgLpNW7jIABiu4fqoEbi8+jhysh7VV46Ko0PSxy2wyd8fGwtd
m4KaYPfz7+DG0QQQnOExbjk6vl2/aOBpNxtUDFlDeIaoAYjIj459eCBYvIeU47dBYJB1GoFa
tUtyMwxydzcHHehnDzykXm/7ZJUYg7SwJBAAoVVf+PtaKa1vLwS0UgAwQhN2DnnWohAphKVo
Bd+OD4VTBS9Qd+9l0h9jFDKu5jz4Seqy2NT24SA2SGK4zy47pdmgwlSgbmXdJiA4RA4Y4xCz
fAd0D81YpSN+8yHoiUHWYThqBdnn+9GPhCokU9JkQZuaCm22ttzPljsNudz8rWPR9N3m8mCM
xrlzSRAhR/Bz/dGsBDvWtlNLKEDQhl/FLantg9T5sNVHSZwPpmqBp0vQUy+znuZk59r1W6GO
gQ5HP26BAH9/+Be6agQ1Qfvn38GiowkwwBlNxi3HirfrF/1+96PSU1lDtAhRg0FEXHTsw9/q
Ee/hxPHbMIBB1WkEhpQSW7q4u0k9yCERDEKh2LKyehuSwe2H/eyHqEFmaipSUzORb4e40Jh+
FRs+ex7Pf30O+cTg2ul9TH5c40IJEDVZSE1NRVq2thIGgsuBFLZQjMG5sCSYhlH6opeV/hzz
7YW+5v5cUtg5xFgRjEO0l5Iozb9IjM3ysJu/laNJ/2dRz8LwoKLjfxC6Zg3WrPoGLxQfT3YY
eAxTOTAolArThKNeZ1r8TSJE0aS1zNLHQy2lwswlEcUSbatztxcxwM90ryxgIF7sYt8pS8ni
MW5PJeWh71kCEi+mYmq4N7O844H5tkaNEa2L/lFMRH6SCICBbm7FtW8PW41VxcsJpkA2Mx06
axXs4gWF1d1lhZblUeHqFaFNSDL9ybku3AKsmwfmWwNOSgZY+u6wxGV58NLyyFQGj7Fz0DJh
Hm6u/RcZf/+AM1sX4HxQN9R5YyLqjxsKn8DyBaPiqR9wbMi6AqNJBg30ibeRcSkCWi0BYBBq
D0PbP96De2VvUnNkJNcPAc4vL0H7Q2E48nsUkjYeAJgKnlNWoM3zvnYpwoMMVqF2C0Bo/xHa
TtmPfxachz5iCy6N3oJLCg+4tOwE325d4dezDwJ6toGzS+VPrTGvTmi07Be0GBby8M4/SevF
AN31Q7i74zBSL0cgLyUTBh2D4OQCpV8gjFeMAAhibg4MhAerngHAeA+594wABKgbN4aq8sVm
IwooPJwBaEBmObnYEj0aE5CXYATAIK9bD2praQiBcAt2Bo7pQIlxyDcCrvaKVtUBcPa2XjGs
Zj24qhhSdAZoElNB8DTpksRlsa3tw0FskBRwn22dCtigQlSobuUtEDy+M669fwS6HcsRfW8Y
GtQspMgZ+xB7KBtgalQfMQTOld+7LIWqLFMDtJe34/ZPPyHirwPIzjI3dufa8B35NkJeaViG
sfDypyG4ucNNAEBG5Obkg6Au+5i7mIg4sx0Tb27FvBLsmOFyAkQGiJnpyJB6NLWK5oO5eMGz
Uuz644fg1QlTlv2CL4eFwM1CbCldvRiQdv0Qtu04jDOXI3A3JRO5OgaFkwu8/AKhMdsgY24O
8ghFd3Mb7yHGHFv6Nm4Mn8c4tnT3cAaDBmJmOjJFVHgJuXrQH7i77iW4WvmdMRnk9jp9h9uP
CmX7YWRoMnYOZibMw5K1/+Ly3z/g3a0LMC2oG0a8MRETxw1F+3LGhfpTP2DUkHUFg35k0CAz
8TauXIpAqpZAYFDUHobFf7yHhg4dF9oDA1Ivb8eKn37C0r8OIDJLNO26ca6NbiPfxtRXGjre
zlMpbKExAXHm/pxL3XqwOowiBKJesDPYMR2MiXFIMAL1rPTnKt/fVsC/SIzN8rCXPWVqNGlW
D5aat+DbGs8XH6N/zOAxjL0QkZ2ZDRGAzM0T7gIAwQWu5gExTV5+GSbNDMjP15nsqosrShxO
de6Jj5Yvw9MxIuRBPdHN3nOWUsVj3J7a1Z42a/yUxH5YqAYn33LsYaZ8GPIIgBHZW77BhS2l
P8JkMusDAoJgwwI9giEnr6AhWRukMb1cBZmKATkWfpO6LPcpl0wZ5I0Ho+nvg9Hk23OIXfYj
wpetR0rUYUT+9zAiZ/rCa+CraPDmRAQ90wCKMjRKijuLe1vOWv5RFQCfl6ai1dwp8PV74qLc
8mEP/WDVUWPOl6ixYSzuZhHgMRBNP+1WgWMsy0hVarcAwKoj4Pt/0b/fLwhf9Bui91+CRpOJ
3LO7EHV2F6J++BzMvR78X/8craaPhZenPQWshO+ck+g8pvDEM0G7cTz2vb8H+ux0CLWCLdex
VPWScQrhb47DpQ3XoS8tCLbkKykX+hwCIEDm7OSguyjLggxqv+pgSANFhyM7H/CytjmxJCjP
XC8MMpeS5MEgc3YGQwaQmw2DHeMQplajxMVxgivkzgzIFmHMKbRbSuqy2NT24SA2SAq4z7ZI
RW1QYSpUtwJcR01A4PSjiM08jNurIlD/k0YF6en2b0ZCJgFOXVB7cA3HtnVVVaa6RKRtXo6b
P/2M6H+izbaGQVajE+q8NQWNJg6Bd/VSYuiKpKF2h7uSARpCWnIqCF5llw3lI89sx25t+Qaf
lsGOCTKZxUGnClFV8yEIDrBK3VFQouuck/hrjG8h/SSkbByP7u/vQVZ2OhS1gh8e7AMkqxfK
OIUf3xyH/9twHdk2xpbZ5tjS6TGPLav7VYcMaTBGh+NmPtDSltiySJIKqFQqVMoeOW4/JIbB
tfFgfPr7YEz99hw2LvsRC5etx8mow/jtv4fx+0xftBz4Kt58cyJGP9MAZTkt1hh3FtutxIVM
FYD2L03Ft3OnoLsjx4VSo0vEuc3Lsfinn7H2n2jkmf2+ukYnjHhrCqZMHILWpcUOlYUUtpDy
kGPuzzmV0p9zNvfnKDfb+tGOlexvK+xfpMZWedjLngrV4F+eMXqHg8cwlQJlIjo6zTTe6u0D
bwEAc4OnuwwMBENyIlJEoGZJyi4mIzHZNGks9/CAa4kFV6Hhc+PRUMoylIhE8Ri3p3ajWeOn
AEi+09IJMnU5mqDgDqWHACQyOPd5Fw26Vy/9FV7t4S5prhlkTirTtmetpuTjIEgLo9ZKzdir
LOWV6f3s+LZBnS9Wos4nc5G6finCf1yGmLMJSN80D6c3/4DzdXugzoQ3Uf+1wajmb72bwxoO
QuOhIeaGw8AUasg9feDU4Cn4dHoa7tXs9uHEqoVd9CMbyfPmIT7brJOZ23D5y4MI/LF3Cd9w
lICq1G4LcIJr38l4uu9ktMm9h4x/DyPx8GEkHj6EpHO3ocu6hfgFryP50FX0ODwXfnabuGSQ
eQbAuYZ/kb86T/gM9RbtR/itcETMWoVG2954eAeKFPViiMDN4c8hbH86SF4NXoPHoE7ftnCv
5QO5kgFGHQzpiUhcNAU3Tlg5KpO5QeHGgEQRutR0U6BTLhk4CnK4t2kJObsBfe4ZJF/QoXZX
G+wdczZNAEKEMbekFWmm76uaJuLdILej0EijgVhSkyANxPu78tSFlrk5SlkcwgZJC/fZZqSw
QVJSfTDqDwvE3V/vIfWPFUj7z2xUUwBAFhI374OeGOTdRqBmoANPj1RBmRrvHkf0L4sR8esm
pMRpTH9kKji1G4YGU6ag/rC2cCpF1aVIA/JgNKwrBy4aEHEtAnrUL/vEgeAOT7Mdq9HnXUzq
Xr1UXyl4tUdDqe0Yz8cTAIPaMwA1avgXkWmNCZ/htUX78eOtcCybtQrvbXvj4cEnKerFEIGf
hj+HD802qOXgMXipb1s0ruUDVyWDaNQhNz0RRxZNwaISYkt3c2yZnpru2Mc3logcTdq0hDO7
gazcMzh+QYfhtsSWjoKjtFtHyYeEKHzbYOQXKzHyk7k4vX4pFvy4DJvOJuDCpnl4a/MP+Lhu
D7w04U28+dpgPF1CXChvOAiTh4bApGUMgkINN08fBDZ4Ch06PY2Gjh4XSojm7nGs+2Uxfvp1
E07HaUz9GKZCQLtheHPKFLw5rC38HV0cUthC5gxXc38uv5T+XJ65Pye4uJW8S6qykMK/OAr2
smPMCU42jCc7DjyGqRTyz+L4eR0IMtR8qgWqMwBwQv1GtSFDOIyRN3HbWMqkpeE2bt42AJAh
qGF9OJZ5lSge4/bUblwJv2CHnZZgYOUZt5HVgmttGXBTB4N3ZzT6fDge/RoQAUofbwAAZccg
N41g4aunpt+T7iH/oQ/wmLFbWcop0+Io/VHt5Rno/PI0tDq+FhELF+HW5jBobh/ErU8P4tYM
P1R7cxm6zx8MJwvvEZqORIvZoxzvaIzHDcn1g6DZ9j6O/3AZRuYL3wH1kLHzBLJ+eh1ne5xC
p6H+pSfBZGDmLYqivhyf0K1K7dYCzKUGvPq+DK++L6MxADHlAmKmv4HTS8Kgv7QIF3+fhD4f
WD6y2W44dUHjD3rg1rsHoN8zB9ePjUKbbsU+gi5BvRiPzMfVQ+kgWS3UWXkMnUfVtlBOLYTd
U3HjhJVEZDXgUlMO3NJCd/4sso394FGRxbu26qkEyNt2hpdqPZI00YhZeRAtuz5bflso84ez
vwyIMsIQFQmNtWNmxThk384DADC/QDjZc8GzJg55aQQEWGkzyTHIzSOACVD5FNo55ChlcQgb
VAyp9PQJ99mS2CBJcYX/xFfgvmIOMm+uQuThL1CtjzOQfRAxezNAzAV+I56367EoFaVKyVRM
wN0pA3Hy5zBo7/t1pS+8h0xEoylvoU7HwNJXnEuRxn1k9dCimQvYxQxkXr6A28bn0KSsD8tq
oW5tGdhNHfK8O+O9z4fDo6zvtQoDM8tNLHFlir3zYQOOko/CMBnkZruuf8TxxyPBqQve/6AH
lr97AJl75mDesVFYYCG2rGi9aI7Mx7eH0iHKamHkymP4c1RtCz5KC+XuqVhUQmxZp6Yc7JYW
6efP4paxH0IqGFtWVt26tO2MVqr1OKKJxvqVBzGr67NWj3Z9tHD7ISlS6ZjSH+1enoG/Xp6G
e8fXYsnCRfhlcxiSbh/Er58exPIZfnj6zWXYOn8w/C3EhfKmI/Hl7FEOomOVhJiAv6cMxISf
w5Bs9vtM6Ys2QyZi8pS38FLHwMrZqWwLUthCmT8Czf253KhIxIuAxU+Ii3GIvG0aZJf5BcLf
nn1TG9uLJP7FUbCbHSv07b6qBI9hANgrhiGk7/oTfyeJgFANHbo0N4+1yNGgRQicWDiy4//F
PxFGdCuhIIbwoziWKALMFU1b1He48QlJ4jFuTyXj/s7K4lSu+WJ+qN4tBAIIuh1Lcfu2Hb4y
XnomoAppahpU1Ych8VimlfsI+uNHkW6tzh2iLCWhhnOnsWi55ixeuHUEHaa9CC8fBaBNRPrx
ayjHnA7HFiTWD4r+E6cnrkCO0fRty66b1+Lpwf5gxhjcmTQBkWVJn3lA6c4AEPSxsWXXAYfQ
dYnapdF5/AAAIABJREFUbRkQfJ5C0PezUcdfAEiHjLCrlbA6SoDLq9NQt7YMMEbi1swVyC2e
iQrXixG5Z85CYwRY3ZfQeJilgW2YJqQi80rIagB8uzQAAyBeDEXkaU0581EMW/VUAlidEQju
7QZARF7oZ7h6Jr/8iQi14d3adJyJeH4vEpKtFCDpIOLP6wHIoG7Txr7fx9NfQNKJLCs/EvTH
DpvajFATHk08H/zkKGVxCBtUPE9S6+mT6LMlskESI7R+HfXaqkzfI1m+AzoCDIc3Iz5dBFx7
ofZAO39HukJUMZlSOjJPXoJWZ/LNtactR59bd/DcmlkILutkoxRpFKBGq/YtoWKA4dJ27LpT
juiA+aFLtxDIQcjYsRR/SmHHmDNczKt9szIyyxar2CMftuAo+SiSJw94mu16dmws0quc3RUQ
9Oo0jDHHlstnrsBDKlzhejEi+sxZJBgBWd2XMHmYpQEQAGIcIiLzrK9QFwLQuUsDyADoL4bi
dwliy8qqW6HOCIzt7QYGEXGhn+FbW2JLe8Dth8R5klrH1KjRaSy+WnMWd24dwfJpL6KlOS68
cPxaFbRPEkLpuHbyEpJ1gMLnKQybthxHbt3B2TWz8OrjNGEJSGMLhdpo09rXlMb5vThkpT9H
SQex19yf82vTBrXt2Te1qb1I5F8cBUe0Yw4Nj2HsFcNQxkFM/3wDUkVAVuslvN7PveA3j14D
0c2ZAYZLWLP6AnRWU9Eh7K91uGYAmGsPDOjpeEtnJInHuD21O5W85kIGj1fGw9eVATmHcWns
V0jOePTuRGjdD/6+AiCm4973S5ChtXCT7goiftxRwkChY5SlLMhqdUW92RvQP/r/2bvv8KiK
vYHj37O7yW4aKYQQSkgIAelVmgICKlgoooCAWFBA8YroFa9cvVyxXEW99xVBBcWCShEBG01R
igoiIE06AUICqaT3zZZ5/0iAQHqySTbh93mefR4le+bMmXZmZ87MOcktH8ykeQffmikIKp0L
86eze9o09sxeTeY1dR92YPnIO8LxB5/kfJxC12oKfeaNwmQIouWihbQM1qMurGfvQ28XX44L
0wXi3d4fDYV9xzLOnrbW/LVUgWPqbTnlpGExA2joTcba2e7UcxDtnroBg6awbnuLI5uvfkln
1fPFnlcwu2u3l3AjspO77hXCD7lcehq7KAM+D0zC300D6wlOTHmGmNgqVPZKl9PiWU/9TMRH
XxB3qhxbGmiBBD83BW9XDXIPcHT0fYT/VdGtEFzxH30X7nog6yeOvbWdInPoKp2EN/9HXLYC
fRBB9/Sp3jbZnsz5txeTVlwvM/cgJ9/OrzNa4M006Vp4DaOzXItztEFXcHA5Lexaumc7pg1y
MH0YIVNvxUWzY17/MVExGcR/8yN5dg2XW8bSzL8CEZE0zVfpNDXg2mEk7T7YzIjIffR//WEC
gtwqeHJHhHGRjqCRY+hr0lCWP1n+5THKX/P1tL9/MgM8NVTmNmY/+Cq/V7Ud0wcREqRHw07i
zt84Uq4HtqohHpXiLPEoRBdIh/b++Q/I7FjGiiq261mnfuaLj75gc3n6HzXFcxDPPHUD7poi
c9tbvFlM37Kq+ZJXjjYoft0rfHjIpZTt5A10fmASvQv6lgumPMOGKvYtay1vtUDGPDeFdq4a
KvcAb4y+j0UV7ltWA2k/HMvBZawwt6D+PPz6avZHnmTzBzMZ2cG3ZlawqHS2z5/OtGnT+Nvs
1ZyuM2M5Bnw7jGTmB5s5GbmPVa8/TP9K3/cLqZX0cERb6Eqf0XcRpAeV9RP/e2s7GVd/RaXz
25v/4+eC33N33dOnene1qWR9ccz9xVk4YTtWiPRh6m8fpjDzuY08P2ws752woHR+3PLPvzOw
0AJWLWA4DwxrhE5ZOPrecyw8Vvy0pfnIuzz3wQms6AgY/iB3NqyZCljz/TFpT6tbJce9FPbs
dCxpafmfTHPBRdmxZaRd/vf0TGxlPKanhUyi26w+uGh28ra/xObud7Bv8SZS4y7P3qrsJLJP
HiRxx1HKfDVdZXgMpvXDHdBpCuuuOfxy71vEnsm8dE3WiJ84eu9IjriOIji45Gewq3YtjkvT
cnMPofHUt+i/5DG8auLd6/ZI4j75gPBFizj1W2zNDY45CceU9UwSX7qfg7+moYztue7jN2ni
V5CQASPp8dE0GriAZfu/+f2lnWUMnrnif8/IggmIXzk44gGO/XAU86UT27AlnyP9dEKRp23r
U721ntjK+c27STubgOWK2U07tuSzJG9YyJ8jniAqJX9rA/8B3WvpaQ89Xg/PIripHmyRRLyy
mIyr+jpVyxc9Hh3bY9CBOruUQ/N2kluoAKn0cGLeHM9P932Pz0Oj81fPZV0gJzGryE1Naz2F
bk91xaAp7EcW8kvPm9mzYC3JkemX27X0BLJOHCTxl59IOFnk1l5I5cvp1dSZhfzacyi/T3mA
Lb1Gc6ocq2IM/V+iz6zrcdEU9qhv2N23I1ueepfzuyKwXEofhT0zjrQtX3DkqVmcveopPn3/
GbQf6I2mLKTNG8O2WStJScjv4NkTDhA5azi/zT+OXelwHfQs1/U3UZ20RiNoZnqNXya8TVxk
1qU8sZz+kaP33sWhPTmgGfF55FEaX73LipNci1O0QVdwXDktUb2/ZzuuDXIsDbe7pxLUWAdZ
Wzm9+BOiNl5Aad40GXs7xoqki6RpgUqmqb41rZesovvUQQUrgirBEWEUoms+iomDG6CpPPa/
8xKr48ufcrqQSbw5qw9emp3U7S9xc/c7eHbxJg7HZV9qJ2zZSZw/eZA/dhwlsaygNX/6D+yE
QQPr4Xk88uTn7IkpCEvlkRp1gC0/HyTpqnAcHo9KcpZ4XOZKn3tG0lwPKutXXhjxAP/3w1ES
C7XrucnnOHk6oZQnzfPZzyxkVM+hPDDlAYb0Gs2HFVmVW630hD08i3EFfcvPXllM+FV9y6rl
i56Qju3x0oHt7FJenreTC4XaIHt6OBvfHM/A+76nw0OjaaoDlXWB6MSsIr9h9K2n8OZTXXHX
FOYjCxnV82aeWLCWvZHpBd+1Y05PIPLEQXb98hO/ncwopR2r3bz17P8SH8+6Hi9NYYn6hsf7
dmTIU+/y/a4I0gr1LS2ZcRzd8gVzn5rF8hJWiNhTzrB/7172lvnZx/H4Up5olfbDwRxXxkqi
uYcwaOpbrFryGK1rqF+45ZMPWLRoER/9FotLXRnL0bfmsSWreGvqIEIccN+/pJbSwxFtoVv/
Gcwc6J0/8TBvDMNnreRAwe+5vIQDrJw1nDHzj2NROnwGPcuT1fzbtHL1xXH3F2tOBulpaaRd
8Ukn25J/fmXJvurv6WSaHX8fr1o7prBkp1+OY6a54Bg7uRmF4p6eSUWjLn2Y+taHsZMasb+g
b7CH37dt4rsv5vH8pEG0bXsnc3ckY9dMhN3/AR9NaXXlLjSaP/e89E/6e2nYU7bwj9tG8cq6
E6RdTHdbKse/f4m7bv8nv6Ta0RrcxAtzRlITc5a11R+T9rSaqcqwR6uTg13VUij949JNHTps
LTs863kV/Uwf9ZVOu3ysplfLPX3VKh83tUwr+Df3USoircjBKmVOF7UM1LLGU1SMuYRzmDeo
nQ11aikGtX7OQWW/+u/pO9Vffb3Vskvnd1Urm7RQ3zTxVss1TS3VN1e/r96hjvR2KTmMqlyL
o9O0Sszq/EN+aimoFaOWK4vDgt2odvrr1FJ0avXkH5TNUeFWWI6KHG1SS9HUl+PWqOpOzStU
qazbVe6GR9V3LppaqrmrDf/eXUzeZKoLz3dTKzTUUpfWatfGxNLjY4tRkfeHqOUXz4umluqN
6ksvT7XCoFNLQS3rOFslF1cI6kW9tajkFzsXOl6vlns0UCu9vdSXRoNaqnHFta0eukCllhTX
qsjbpva00KulGNXmRbGlfNGqUuf2zs9ffTO1c21KMV+pQr7k7FYHu7sXHKNTXzZuozb0vVH9
0DlUfeWqqaXo1Mp+b6ik7bPU94bLZWaZW6jas/mqhMmLUJHTuqmVusJtmKaWubirL02F01av
vn3qt9Lbg6qU08JJs2ac+vJiGJq32vFdbukHXGRPVhdeH6q+di2UpqCW6o1qpX+AWuXlejld
NZPavCimaBARK9SOMOMVebLC3XT5ODS1PGyiOhtR9CKsax9UX2lXt/95Ku6JILUMvfr6ia2X
0s9++BW13gW1VPNVv68tfH2F69xkdXbNI+obvaaW6oxqZZMW6uvABvl1BtRSdOqrG15RFzJK
SI4qXIvD6r5SztEGFeagclpx9eie7ZA2qBryVuWqhL+H5d8rDAa1TEMt8xunIotpgkslaVqI
g9LUCeTufVF1M2oKdCrgjoXqWEX6Cdbzav0zfZSfTlNA/kfTK6Onr2ro46b0Wv6/ae6j1LIi
7VhR9rhVakIz/RVhubp7KJNBUxooXeBUtam4+FUhHrlrH1S+GgqXbuqVQveorU8EKT16FfTE
VpV38TSHX1HdXFBovurBtcXcg6uUHlZ1cE4XZQClazxF/VhKOZ3UUKfAoLrMOVj67wBbjFp9
f4hyKTgvaErTG5WHl6cyGXRKA2XoOFvtL6PhzV4zTnleDEPzVhPL2/+oirxtanoLvQKjunVR
bCn10aqOzu2tTBoKfTM1aW1K0e9WJV9ydqsXu7srDRSaTrk3bqO6971R9e4cqvxc8+uNd783
1J/bZ6m2hsvprHcLVU8W07dcPa2b8tZxOR5oSufirjxMBqVdyie9avnUb5fKXbFqO2/tyer3
14eqZq6F0hSUpjeqBv4Byt/LVekuhWtSty6KKZQvZrXuIb/8NC33x0X1mnui1PIu7Ydzth8V
d7l8mEYtVyV05ysR7Eb1iL8u/143+QdVHT+JyydHfTXapEBTHuPWqBpoTYtXm+nhgLbQErFC
TQwzXm5HNL0yuZsu1RPQlDFsolpRwu85p6gvDrm/VK497fHqkULX48D0qGw7Zo9W7w92LTvu
V7S15SN9mHrSh7lU/kovI5pHKzXslc0qrsRiYlMx3z+q2rsVpKemKVfvpiq0dahq6u166To0
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

--------------VFu4DOIYkpXRiIY5C0mBujUd--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 30 Mar 2023 08:25:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 30 04:25:51 2023
Received: from localhost ([127.0.0.1]:55712 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1phnbS-000840-OM
	for submit <at> debbugs.gnu.org; Thu, 30 Mar 2023 04:25:51 -0400
Received: from mail-pj1-f45.google.com ([209.85.216.45]:39886)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <casouri@HIDDEN>) id 1phnbQ-00083d-MI
 for 62029 <at> debbugs.gnu.org; Thu, 30 Mar 2023 04:25:49 -0400
Received: by mail-pj1-f45.google.com with SMTP id
 mp3-20020a17090b190300b0023fcc8ce113so21196802pjb.4
 for <62029 <at> debbugs.gnu.org>; Thu, 30 Mar 2023 01:25:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1680164742;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=PkbPhE2ZpH0Ge9nSEhUiZPH92OY8LvURsovuLSNkUeI=;
 b=MGAJXV6RuH9yyhj4ejJE2GPwwTrScrXRiR5vFtadi77qTvpTJMDkBy8HHf1FDfPH/G
 7fLUlDMPYHduw6QQqwzDdNcX35khnun/EbdinX06Yjapj6MZuIe8GIGzdROTy38uYl9e
 B5+H9rFUIQm5kndYjXjXgAdgFsXavx+GEegcubYXcJi6lQ4ianwpTG6oJWTJ9V5gacVN
 mncnGtQ5/X6QMBibId4XUGdxBzC0+fTevY6QIT+IL9MQjF/PEvnx0sdQBg/oVKMeNZpW
 WlLOa9kqz1+jcVAPMp7KGW6NGHyaawo8G9LJBbsA4c694Dpyw9lW1IsExG0ZzQAAdkbk
 9XEg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1680164742;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=PkbPhE2ZpH0Ge9nSEhUiZPH92OY8LvURsovuLSNkUeI=;
 b=LBJsDzx5FQj8FcLSW0c4E9Tk5Zj+vRvauj495uP7XeUlqRyXUqGPVpDQi1bxvWxmFd
 bAtwtAyhhiPJfHtPn4Yi75tspMQIW+4//rlSrurYnc/ztYeuALdB+ixmuzoGVkkodYbW
 8sxTK+hFe0BRF+Q8c+rQDDrjg/cQ0HD+JYo/msteBo5cKi+AxrksMdYMRuHJJAdd5fa6
 t7p4Ww4GQ92mlEeA/e7/NWc9jDTNZm8yJ/6sd2a7/runkyn2zLaZ9uFM1L//itYmRNFJ
 VyL9LmrZTAn6rhQ5UwB1Pf3CSaFfIx3qy1RuOGTYO2M1yicA0s07gpV79ADqBULFrZ+7
 NGtg==
X-Gm-Message-State: AAQBX9f9Og1UQKJ5bFNZJAnphpjFMJbs2IwISO9sqCh8EluOlX0x5PLj
 Sj72vnx0OXDQaAR1MhnO4uY=
X-Google-Smtp-Source: AKy350YGkmm7IweM2z4U8l5djGlOlPR1jIQLTBGe+aXH9ZBKqfe5JSf0VRU22jH9DhZImlqY59uSfQ==
X-Received: by 2002:a17:902:d4c6:b0:1a1:c6a7:44f5 with SMTP id
 o6-20020a170902d4c600b001a1c6a744f5mr28691501plg.52.1680164742495; 
 Thu, 30 Mar 2023 01:25:42 -0700 (PDT)
Received: from smtpclient.apple (cpe-172-117-161-177.socal.res.rr.com.
 [172.117.161.177]) by smtp.gmail.com with ESMTPSA id
 n3-20020a654883000000b0051322a5aa64sm10965629pgs.3.2023.03.30.01.25.41
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 30 Mar 2023 01:25:42 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.400.51.1.1\))
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
From: Yuan Fu <casouri@HIDDEN>
In-Reply-To: <87h6u2y7uj.fsf@HIDDEN>
Date: Thu, 30 Mar 2023 01:25:31 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <C421A959-C8C2-47DB-8887-386FA79D9A0C@HIDDEN>
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN> <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN> <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
 <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
 <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN> <87h6u2y7uj.fsf@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
X-Mailer: Apple Mail (2.3731.400.51.1.1)
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)



> On Mar 30, 2023, at 1:13 AM, Jo=C3=A3o T=C3=A1vora =
<joaotavora@HIDDEN> wrote:
>=20
> Yuan Fu <casouri@HIDDEN> writes:
>=20
>>>>=20
>>>> Looks good to me (except for the =E2=80=9Cdocumentatiok=E2=80=9D =
;-) eldoc-box can
>>>> also benefit from this (right now if you use it in emacs-lisp-mode,
>>>> it just shows a thin strip of text, not very exciting).
>>>>=20
>>>> I=E2=80=99ll experiment with the title thing in eldoc-box. Does =
eglot and
>>>> flymake already pass a :source cookie? Those two displaying stuff
>>>> together is the most possible case I can think of.
>>>=20
>>>=20
>>>> it just shows a thin strip of text, not very exciting).
>>>=20
>>> Indeed.  I'll present my patch soon in emacs-devel.
>>> There's one thing I don't like about it which is that
>>> is re-does a lot of complicated parsing for both *Help*
>>> and *eldoc* forms.  Could be slow, or could be meaningless.
>>> Another aspect is that function documentation looks great
>>> because there is this nifty describe-function-1 helper, but
>>> variable documentation looks poor because there is
>>> no such thing.
>>=20
>> Cool! The whole help system would benefit from some renovation, but I =
don=E2=80=99t think anyone is excited to do it ;-)
>>=20
>>>=20
>>>> Does eglot and flymake already pass a :source cookie?
>>>=20
>>> You mean ':origin', not ':source'.  Though the latter name is
>>> acceptable and there's plently of time to change to it if you
>>> think it's better or more consistent with other parts of Emacs.
>>>=20
>>> Yes they do.  This cookie is automatic.  Maybe I should state that
>>> in the documentatiok.
>>=20
>> Yeah, I think it=E2=80=99ll be good to mentioned them in the =
documentatiok.
>>=20
>>>=20
>>>> Those two displaying stuff together is the most possible case
>>>> I can think of.
>>>=20
>>> In Eglot it's very usual to have three sources, and in Emacs
>>> Lisp you can also have three (function, variable and flymake).
>>>=20
>>> You do need to set eldoc-documentation-strategy to
>>> eldoc-documentation-compose though (this should really
>>> be the default).
>>=20
>> Huh, I wonder why I can see both flymake + eglot in the eldoc doc
>> buffer when my eldoc-documentation-strategy is the default value?
>=20
> Because Eglot changes eldoc-documentation-strategy automatically.  It
> shouldn't but the default value is really bad.

Ah, I see.

> The reason the default value is historic.  Previously, there was a
> single producer of ElDoc, and only in Emacs Lisp.  It would decide
> whether to show variable _or_ function doc, even if a given symbol had
> more than one meaning.  So what's the problem with setting
> eldoc-documentation-strategy something like e-d-compose, you ask.
>=20
> Well, because of the default value of eldoc-echo-area-use-multiline-p,
> people would be seeing "bouncing" in the echo area while editing =
Elisp,
> which is something they are not used to.
>=20
> I think a very good solution is to set e-d-strategy to e-d-compose
> globally and e-e-a-use-multiline-p to 1 in emacs-lisp-mode.

I like it. I tried setting e-e-a-use-multiline to a larger value (like =
2), but set it back to one after a while, because I don=E2=80=99t like =
all the skipping. I just need to see the signatures in the echo area, if =
I want to know more, I can always bringup eldoc doc buffer (or in my =
case an eldoc-box childframe) to see the full doc.

>=20
> I once proposed this in this bug tracker, but the message was garbled =
by
> some side discussion, and I gave up.  And ElDoc wasn't so powerful =
then.

That happens all too often :-) Well, at least the current situation =
isn=E2=80=99t too bad.

Yuan=




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 30 Mar 2023 08:12:04 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 30 04:12:04 2023
Received: from localhost ([127.0.0.1]:55687 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1phnO8-0007iY-63
	for submit <at> debbugs.gnu.org; Thu, 30 Mar 2023 04:12:04 -0400
Received: from mail-wm1-f53.google.com ([209.85.128.53]:46056)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1phnO6-0007i2-GQ
 for 62029 <at> debbugs.gnu.org; Thu, 30 Mar 2023 04:12:02 -0400
Received: by mail-wm1-f53.google.com with SMTP id
 v6-20020a05600c470600b003f034269c96so937927wmo.4
 for <62029 <at> debbugs.gnu.org>; Thu, 30 Mar 2023 01:12:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1680163916;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=ugp+LTBp6Km3+hqq4a+8/2iLG/IYupEXPhIQOS/+Eeo=;
 b=ps/BJZZIAtxFDX8mJ7nfYmu0zKTn3wQLQNiIFqEvR30T1SVLbsMg7I9VW9bVLOjGST
 1WJn1G6PnSNU93g/I4Q9kWVtER4jBO5xwTlo78szicBgKLWhg1wok80HQlHM+uAU6WTf
 lAFq5KgpHDadzNR3nc4UtDZX27aT+HRiM8xVHNWnEpLK4+fiPj7OoMu8fxZj4ql9EjWq
 V7VJei5TtZC7IlfT1TY4H0vY95J52Cq8Wfg2eTtst2INApRL5jrIdilNdkY/AEWCivXP
 ilZOivYHF7We/HvCQr+8CB01vBsQ6B9k5dyDECm24foPeEa5m6IxmfTXF2M4+f9G1d/l
 0/eg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1680163916;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=ugp+LTBp6Km3+hqq4a+8/2iLG/IYupEXPhIQOS/+Eeo=;
 b=K19VHjnQZoSIb9dDxzSTLqx35AyKagbBGG9GwCDIdx6xXI82qAesoZdcBKEXd+/vWY
 8J/RU6GhIXuLlAKaUa6QmMfDr4m7xRnaqG0xsHCTnr32+zyZLpCeljaor0uI/3/QqKKz
 5g+k7g1SojPjbkj0k993w2AsHSY0MnaeXsRb+kTxolxV1HG9nJERogoQtiumwt08f8tu
 km2lEwIoRfKL6naaKQVeOniPWhg09+nip0BmJcjxkU5hMroCC7jBkun6laUxAi3DOrv3
 fbpl3fSNd41DXX/tDMRpd6ah5uh/FJQIVUTzmkdpr/ryagKATRqYRI3RJzY5Mdw+lw7J
 h9qw==
X-Gm-Message-State: AAQBX9cxA+Yw6970ux+nQR5lMVsmpH/2ivY7vG3aHGM6KLiSHJMpsna2
 iO930qauxsxlj1afOM9eGC1dmzgGpJ4=
X-Google-Smtp-Source: AKy350bZwAp1L4BeVihvzxaTMoQ6XlQo0foev4WS1c/mvanm2qRrp0mkNiueBPLiOy4+CsoHOHfD5A==
X-Received: by 2002:a05:600c:4591:b0:3f0:3070:f4ea with SMTP id
 r17-20020a05600c459100b003f03070f4eamr2890098wmo.11.1680163916316; 
 Thu, 30 Mar 2023 01:11:56 -0700 (PDT)
Received: from krug (87-196-72-128.net.novis.pt. [87.196.72.128])
 by smtp.gmail.com with ESMTPSA id
 bd6-20020a05600c1f0600b003ef36ef3833sm5063554wmb.8.2023.03.30.01.11.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Mar 2023 01:11:55 -0700 (PDT)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Yuan Fu <casouri@HIDDEN>
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
In-Reply-To: <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN> (Yuan Fu's
 message of "Wed, 29 Mar 2023 22:22:23 -0700")
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN>
 <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN>
 <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
 <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
 <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN>
Date: Thu, 30 Mar 2023 09:13:56 +0100
Message-ID: <87h6u2y7uj.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Yuan Fu <casouri@HIDDEN> writes:

>>>=20
>>> Looks good to me (except for the =E2=80=9Cdocumentatiok=E2=80=9D ;-) el=
doc-box can
>>> also benefit from this (right now if you use it in emacs-lisp-mode,
>>> it just shows a thin strip of text, not very exciting).
>>>=20
>>> I=E2=80=99ll experiment with the title thing in eldoc-box. Does eglot a=
nd
>>> flymake already pass a :source cookie? Those two displaying stuff
>>> together is the most possible case I can think of.
>>=20
>>=20
>>> it just shows a thin strip of text, not very exciting).
>>=20
>> Indeed.  I'll present my patch soon in emacs-devel.
>> There's one thing I don't like about it which is that
>> is re-does a lot of complicated parsing for both *Help*
>> and *eldoc* forms.  Could be slow, or could be meaningless.
>> Another aspect is that function documentation looks great
>> because there is this nifty describe-function-1 helper, but
>> variable documentation looks poor because there is
>> no such thing.
>
> Cool! The whole help system would benefit from some renovation, but I don=
=E2=80=99t think anyone is excited to do it ;-)
>
>>=20
>>> Does eglot and flymake already pass a :source cookie?
>>=20
>> You mean ':origin', not ':source'.  Though the latter name is
>> acceptable and there's plently of time to change to it if you
>> think it's better or more consistent with other parts of Emacs.
>>=20
>> Yes they do.  This cookie is automatic.  Maybe I should state that
>> in the documentatiok.
>
> Yeah, I think it=E2=80=99ll be good to mentioned them in the documentatio=
k.
>
>>=20
>>> Those two displaying stuff together is the most possible case
>>> I can think of.
>>=20
>> In Eglot it's very usual to have three sources, and in Emacs
>> Lisp you can also have three (function, variable and flymake).
>>=20
>> You do need to set eldoc-documentation-strategy to
>> eldoc-documentation-compose though (this should really
>> be the default).
>
> Huh, I wonder why I can see both flymake + eglot in the eldoc doc
> buffer when my eldoc-documentation-strategy is the default value?

Because Eglot changes eldoc-documentation-strategy automatically.  It
shouldn't but the default value is really bad.

The reason the default value is historic.  Previously, there was a
single producer of ElDoc, and only in Emacs Lisp.  It would decide
whether to show variable _or_ function doc, even if a given symbol had
more than one meaning.  So what's the problem with setting
eldoc-documentation-strategy something like e-d-compose, you ask.

Well, because of the default value of eldoc-echo-area-use-multiline-p,
people would be seeing "bouncing" in the echo area while editing Elisp,
which is something they are not used to.

I think a very good solution is to set e-d-strategy to e-d-compose
globally and e-e-a-use-multiline-p to 1 in emacs-lisp-mode.

I once proposed this in this bug tracker, but the message was garbled by
some side discussion, and I gave up.  And ElDoc wasn't so powerful then.

Jo=C3=A3o







Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 30 Mar 2023 05:22:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 30 01:22:45 2023
Received: from localhost ([127.0.0.1]:55405 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1phkkG-000383-Jb
	for submit <at> debbugs.gnu.org; Thu, 30 Mar 2023 01:22:44 -0400
Received: from mail-pg1-f177.google.com ([209.85.215.177]:35695)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <casouri@HIDDEN>) id 1phkkE-00037q-6j
 for 62029 <at> debbugs.gnu.org; Thu, 30 Mar 2023 01:22:42 -0400
Received: by mail-pg1-f177.google.com with SMTP id d22so10643974pgw.2
 for <62029 <at> debbugs.gnu.org>; Wed, 29 Mar 2023 22:22:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1680153756;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=5HeMCgdCHcZe5qKRFV20BEx0RJcIxotwr6ICZpSC0fc=;
 b=LeWVNGeishR4WQv/Os2O98GZ1NTRTQnzM/Fgka6rXLtyFToQCStnUzEvQn9RtI+sKr
 SoWB/mV431TC6QYqiavuh1cFZ1rgUcmP6pouNRtpolsus/Qv3Q8saLFIV3CzPwdDEa87
 BUDB4qT3HGJ99A1eZmxz5P07UOQC6QPbOuxeCI/WbtnorUO1bG9+Zutukhh1a+165dup
 4AMmAPLb1LdEDBdpN9lLOfHPBmLS8N18WfAC0gpUQ+iZ+iHAF1iqqpsNpH/e4/89AmGi
 BSRei6OjfMycJfygfbT3heJ3yM7R7/Yo2LW6I1x9r0SLnewcIbVaYLOPAEN2REKhmKYa
 zADg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1680153756;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=5HeMCgdCHcZe5qKRFV20BEx0RJcIxotwr6ICZpSC0fc=;
 b=SgrxddgJahIY+loPCucoJzWNi+zaevFcqKwI6S1IyZeZ/6GqKGyIUcBIWejmml6q1Y
 OomS8eegIvg8ksN+baBOVrgY6MZyhaW72dzPtdNIXmwd1Tv1X72YbrFrDlheViUF4xGl
 5SbjA6mQmyOXJ5EUiRKrByO08rozMmJ3NBjvCH3ypWbUBzges7ydysy/LAjP1cHNzSm3
 /rcXT5I2yv5tSUCxmgjj0NddzN1MKzjwsiT49O6iJoi4UA2q7G/96MrQmCz9W8XiBk26
 P407ZtNHaVmDC6a7Fs8alkK2g9vtxdVTBiXwSXHdTTj6Be+T36eyZGT7RPkRArrshb9W
 kqhA==
X-Gm-Message-State: AAQBX9eJP814eBFXb1iP/KaxeiHkeb0OYD4E8vOqpuC8vQw0VK5+Lon1
 KQco/q+owOvl4vmyIUBqJi+2V9Oi/yY=
X-Google-Smtp-Source: AKy350YPmstiP/T3YlwZp+k4d47r0Y4UhDCJPUUwMq0lGG1CknBoqEmxzzJ/NZB9cpC6Tozs5j8Hwg==
X-Received: by 2002:a62:7905:0:b0:61d:f243:e817 with SMTP id
 u5-20020a627905000000b0061df243e817mr20319307pfc.16.1680153755882; 
 Wed, 29 Mar 2023 22:22:35 -0700 (PDT)
Received: from smtpclient.apple (cpe-172-117-161-177.socal.res.rr.com.
 [172.117.161.177]) by smtp.gmail.com with ESMTPSA id
 l21-20020a656815000000b004eecc3080f8sm22674369pgt.29.2023.03.29.22.22.35
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Wed, 29 Mar 2023 22:22:35 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.400.51.1.1\))
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
From: Yuan Fu <casouri@HIDDEN>
In-Reply-To: <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
Date: Wed, 29 Mar 2023 22:22:23 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <FA7E2E3C-9BC2-455F-A9AE-391C5CE1D8F0@HIDDEN>
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN> <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN> <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
 <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
X-Mailer: Apple Mail (2.3731.400.51.1.1)
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>=20
>> Looks good to me (except for the =E2=80=9Cdocumentatiok=E2=80=9D ;-) =
eldoc-box can also benefit from this (right now if you use it in =
emacs-lisp-mode, it just shows a thin strip of text, not very exciting).
>>=20
>> I=E2=80=99ll experiment with the title thing in eldoc-box. Does eglot =
and flymake already pass a :source cookie? Those two displaying stuff =
together is the most possible case I can think of.
>=20
>=20
>> it just shows a thin strip of text, not very exciting).
>=20
> Indeed.  I'll present my patch soon in emacs-devel.
> There's one thing I don't like about it which is that
> is re-does a lot of complicated parsing for both *Help*
> and *eldoc* forms.  Could be slow, or could be meaningless.
> Another aspect is that function documentation looks great
> because there is this nifty describe-function-1 helper, but
> variable documentation looks poor because there is
> no such thing.

Cool! The whole help system would benefit from some renovation, but I =
don=E2=80=99t think anyone is excited to do it ;-)

>=20
>> Does eglot and flymake already pass a :source cookie?
>=20
> You mean ':origin', not ':source'.  Though the latter name is
> acceptable and there's plently of time to change to it if you
> think it's better or more consistent with other parts of Emacs.
>=20
> Yes they do.  This cookie is automatic.  Maybe I should state that
> in the documentatiok.

Yeah, I think it=E2=80=99ll be good to mentioned them in the =
documentatiok.

>=20
>> Those two displaying stuff together is the most possible case
>> I can think of.
>=20
> In Eglot it's very usual to have three sources, and in Emacs
> Lisp you can also have three (function, variable and flymake).
>=20
> You do need to set eldoc-documentation-strategy to
> eldoc-documentation-compose though (this should really
> be the default).

Huh, I wonder why I can see both flymake + eglot in the eldoc doc buffer =
when my eldoc-documentation-strategy is the default value?

Yuan=




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 25 Mar 2023 12:02:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 25 08:02:42 2023
Received: from localhost ([127.0.0.1]:41928 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pg2bZ-0004DL-LV
	for submit <at> debbugs.gnu.org; Sat, 25 Mar 2023 08:02:41 -0400
Received: from mail-qt1-f180.google.com ([209.85.160.180]:40754)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pg2bX-0004D5-PD
 for 62029 <at> debbugs.gnu.org; Sat, 25 Mar 2023 08:02:40 -0400
Received: by mail-qt1-f180.google.com with SMTP id x1so3963342qtr.7
 for <62029 <at> debbugs.gnu.org>; Sat, 25 Mar 2023 05:02:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1679745754;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=ke133J6nMm+X6eBeehidc6EBCbDDN9HUERxRl8wy5sw=;
 b=HnnkNx/cW6fXnsB7mwDcMqMkizjaMF/DGmZ6yNRzYKga6UU6aNEb7aTnmFDjF1Tn3A
 SXVfJ13JCPmvTP8eggYBHtIAUSCpAZzj+imXyAra8JH23IzU8+sKsn22GnsQOHTc/mt9
 0I3NaszjAX6uXYKrIFBls+qKjya40JMmMxbWbJdtYkMfu3hdouuJ+ae+0KfHs2hr6c6E
 M/dgW7PFWXqKr51ItDfvqyEh4dEy4xIK6DQI6N6pjISYmVDQv+ds12ffDETtqHuw9P5K
 fuOZ9MsMAU88piUoAyuWiNa/bFyp3H3ZWhCkrlg9DYckrJ8d3F3A+xWhoL8rc+0uKqIT
 J6qQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1679745754;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=ke133J6nMm+X6eBeehidc6EBCbDDN9HUERxRl8wy5sw=;
 b=KzDEZ1wkc+VFX5BQ8d6axrQVYGseypmH9qGEXpHJAQ14Eci7/s5skU1KX0ESVHDFpJ
 Sg7KreaedFLA1n0RXXGc3QwCSbfICYbI08Y1siBh1zXJne8UiKiMYbjUR+itmODiK61L
 bwRkjIMH2v65BsFWh7SLvizMOfMjR+l1LWsrXLfI9Rk9uu5cucYDYwyJBy0tw6l3Uufl
 OzvW82TfDBhuSsN6TGbGvvgH5OnUMLnmO4LRBoqnwTgMwxbTKeP1QwsKLu51qQmwnbFP
 fTGSVt/sfdm7iycSVFCvMg12MhC26op2kILKoIJAZiZsdlY4B3gs+T0FaUw9eXedKOfe
 7EkQ==
X-Gm-Message-State: AO0yUKXNjbAuYcFXepJzMT0wPTUnOLH6dcRwxfHRk+MRXUtD+PIc7CzS
 sPZ9x7NuQP+quQCCpofXJ0zum8gcmfc0p+h18G4tobgGpq0=
X-Google-Smtp-Source: AK7set9Kl+aT35vhuuqQftTHXneAMa4o+i3risNoURWdHtVURWdGTjpVZ4FgfW6Y/xWZOSxzLo/p1s3xaLN+pF74LGo=
X-Received: by 2002:a9d:7ac4:0:b0:697:bd4c:1574 with SMTP id
 m4-20020a9d7ac4000000b00697bd4c1574mr1930490otn.4.1679731735511; Sat, 25 Mar
 2023 01:08:55 -0700 (PDT)
MIME-Version: 1.0
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN> <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN> <87h6uacadx.fsf@HIDDEN>
 <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
In-Reply-To: <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Sat, 25 Mar 2023 08:10:46 +0000
Message-ID: <CALDnm50GtVPzZgYt4SzPxV94jUy7TkwTD05PFx7EvHrDi+gNvQ@HIDDEN>
Subject: Re: bug#62029: 29.0.60;
 Allow users to customize eldoc buffer separator
To: Yuan Fu <casouri@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 1.1 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  On Sat, Mar 25, 2023 at 3:05 AM Yuan Fu wrote: > > > > >
    On Mar 24, 2023, at 10:44 AM, João Távora wrote: > > > > Yuan Fu writes:
    > > > >> For separator, maybe something like > >> > >> (inse [...] 
 
 Content analysis details:   (1.1 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
  0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
                             provider (joaotavora[at]gmail.com)
  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 -0.0 SPF_PASS               SPF: sender matches SPF record
  1.1 DATE_IN_PAST_03_06     Date: is 3 to 6 hours before Received: date
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
                              no trust
                             [209.85.160.180 listed in list.dnswl.org]
  0.0 RCVD_IN_MSPIKE_H3      RBL: Good reputation (+3)
                             [209.85.160.180 listed in wl.mailspike.net]
  0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.1 (/)

On Sat, Mar 25, 2023 at 3:05=E2=80=AFAM Yuan Fu <casouri@HIDDEN> wrote:
>
>
>
> > On Mar 24, 2023, at 10:44 AM, Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN=
om> wrote:
> >
> > Yuan Fu <casouri@HIDDEN> writes:
> >
> >> For separator, maybe something like
> >>
> >> (insert =E2=80=9CTitle" (propertize "-" 'display
> >>                             '(space :align-to right)
> >>                             'font-lock-face '(:strike-through t)
> >>                             'face '(:strike-through t)))
> >>
> >> for GUI, and use underline for terminal.
> >
> > I've now pushed a commit to master introducing the user variable
> > eldoc-doc-buffer-separator.  It's not a defcustom yet, as I'm not too
> > familiar with those, but feel free to change it.
> >
> >  (defvar eldoc-doc-buffer-separator
> >    "String used to separate items in Eldoc documentation buffer."
> >    (concat "\n" (propertize "\n" 'face '(:inherit separator-line :exten=
d t)) "\n"))
> >
> > There is a difference between a separator and a title.  I've stopped
> > short of adding titles, as I fear it would be confusing unless the
> > content allows it.  To be investigated later for
> > eldoc-display-in-echo-area or maybe you can try it in eldoc-box.
> >
> > Also, I've been testing with these unpushed changes to elisp-mode.el,
> > which render more of the docstring in emacs-lisp-mode.
> >
> > The use case here is navigating around in an .el file while having a
> > window open with the *eldoc* buffer.
> >
> > Jo=C3=A3o
>
> Looks good to me (except for the =E2=80=9Cdocumentatiok=E2=80=9D ;-) eldo=
c-box can also benefit from this (right now if you use it in emacs-lisp-mod=
e, it just shows a thin strip of text, not very exciting).
>
> I=E2=80=99ll experiment with the title thing in eldoc-box. Does eglot and=
 flymake already pass a :source cookie? Those two displaying stuff together=
 is the most possible case I can think of.


> it just shows a thin strip of text, not very exciting).

Indeed.  I'll present my patch soon in emacs-devel.
There's one thing I don't like about it which is that
is re-does a lot of complicated parsing for both *Help*
and *eldoc* forms.  Could be slow, or could be meaningless.
Another aspect is that function documentation looks great
because there is this nifty describe-function-1 helper, but
variable documentation looks poor because there is
no such thing.

> Does eglot and flymake already pass a :source cookie?

You mean ':origin', not ':source'.  Though the latter name is
acceptable and there's plently of time to change to it if you
think it's better or more consistent with other parts of Emacs.

Yes they do.  This cookie is automatic.  Maybe I should state that
in the documentatiok.

> Those two displaying stuff together is the most possible case
> I can think of.

In Eglot it's very usual to have three sources, and in Emacs
Lisp you can also have three (function, variable and flymake).

You do need to set eldoc-documentation-strategy to
eldoc-documentation-compose though (this should really
be the default).

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 25 Mar 2023 03:05:34 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 24 23:05:34 2023
Received: from localhost ([127.0.0.1]:41812 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pfuDl-0005Zw-Lq
	for submit <at> debbugs.gnu.org; Fri, 24 Mar 2023 23:05:33 -0400
Received: from mail-pf1-f172.google.com ([209.85.210.172]:33365)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <casouri@HIDDEN>) id 1pfuDj-0005Zf-Oe
 for 62029 <at> debbugs.gnu.org; Fri, 24 Mar 2023 23:05:32 -0400
Received: by mail-pf1-f172.google.com with SMTP id c4so2464209pfl.0
 for <62029 <at> debbugs.gnu.org>; Fri, 24 Mar 2023 20:05:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1679713519;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=l1Kr6FC00l98qo3JngIcY5GStut1oot12+dVieeXGyc=;
 b=AYu56B27BlmywSrQmwR2E4f0Yn+PStjdoU7Qj8NR9mrh97N/7I54Jc3zUYk7NkS68P
 KXO2q8FqbnzqwgmZUlhcxG9wPlDWwQWw3Lf8LxYA/uaHDyNeqaKsC2YLfeGxm4/v5N0f
 43azsvaQI2HUwcUb8jaqzDH/y041yrzlrRusk3uTQC9pN5RvuVf+LBcsFGLBooexe1Ci
 DhSV3giTouevQWx+ruF+qvscHKjBFInQ3EEMUyUvQxgNcl9He6JJcMDzVqckEuxzWCxp
 QEnARm8wiiUN80lOtGz3m7JW/b7c1podZUiLz7ikKpWwbzxhdEErvfdxKjdKfTCmUmUQ
 UZzg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1679713519;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=l1Kr6FC00l98qo3JngIcY5GStut1oot12+dVieeXGyc=;
 b=AGz86L0VdjLuLZ5d3dmH5FehznJFJjhILXFBktZxo2kK+ap4f7atlZLKeFUe7flOoR
 jc2PHZC+WbShTD64Wzan10XI+i2vk0gs4FD+QOoUYjaljAqZNOldUJvEteJxWWFwgSnd
 vn9hjn6Oh4JrXozniuQ1zmWBq0CUi6wpWRChLu7QEcMZOR1qA5ypYFW3KXFkXL5GQokl
 FCwDMKC3vb2urfn/dV93osonQihtYtC4CbrTl7SwKh0VWPrPlnrQUu8FdaRsnaITXQ/W
 eXHiqkZ4kvd33sp7iviQ4wLD6qI+PM7Qw0MpxtW18maiSQxLyWPQD0xrlerdC+SahdAD
 NwfA==
X-Gm-Message-State: AAQBX9c+Fr1/cecjbJsXNyEA3TunKRSXnMZODz06NSVfXEd9LesieWEG
 2U1uKtHSmFtGqWvITKLdeYA=
X-Google-Smtp-Source: AKy350bwgv6ffB6l7UR3ps4vY3HVKsh7iBWI3JDMTReNUHwA9A8TiD+DSOXsZlJKhxWJ8dQq/nwbMw==
X-Received: by 2002:a62:648d:0:b0:624:fb23:c4df with SMTP id
 y135-20020a62648d000000b00624fb23c4dfmr5003853pfb.16.1679713513938; 
 Fri, 24 Mar 2023 20:05:13 -0700 (PDT)
Received: from smtpclient.apple (cpe-172-117-161-177.socal.res.rr.com.
 [172.117.161.177]) by smtp.gmail.com with ESMTPSA id
 o4-20020a655204000000b005133f658f1asm6430pgp.94.2023.03.24.20.05.13
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Fri, 24 Mar 2023 20:05:13 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.400.51.1.1\))
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
From: Yuan Fu <casouri@HIDDEN>
In-Reply-To: <87h6uacadx.fsf@HIDDEN>
Date: Fri, 24 Mar 2023 20:04:59 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <E2534805-F2A8-428B-A002-62BD809F7016@HIDDEN>
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN> <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN> <87h6uacadx.fsf@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
X-Mailer: Apple Mail (2.3731.400.51.1.1)
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)



> On Mar 24, 2023, at 10:44 AM, Jo=C3=A3o T=C3=A1vora =
<joaotavora@HIDDEN> wrote:
>=20
> Yuan Fu <casouri@HIDDEN> writes:
>=20
>> For separator, maybe something like
>>=20
>> (insert =E2=80=9CTitle" (propertize "-" 'display
>>                             '(space :align-to right)
>>                             'font-lock-face '(:strike-through t)
>>                             'face '(:strike-through t)))
>>=20
>> for GUI, and use underline for terminal.
>=20
> I've now pushed a commit to master introducing the user variable
> eldoc-doc-buffer-separator.  It's not a defcustom yet, as I'm not too
> familiar with those, but feel free to change it.
>=20
>  (defvar eldoc-doc-buffer-separator
>    "String used to separate items in Eldoc documentation buffer."
>    (concat "\n" (propertize "\n" 'face '(:inherit separator-line =
:extend t)) "\n"))
>=20
> There is a difference between a separator and a title.  I've stopped
> short of adding titles, as I fear it would be confusing unless the
> content allows it.  To be investigated later for
> eldoc-display-in-echo-area or maybe you can try it in eldoc-box.
>=20
> Also, I've been testing with these unpushed changes to elisp-mode.el,
> which render more of the docstring in emacs-lisp-mode.
>=20
> The use case here is navigating around in an .el file while having a
> window open with the *eldoc* buffer.
>=20
> Jo=C3=A3o

Looks good to me (except for the =E2=80=9Cdocumentatiok=E2=80=9D ;-) =
eldoc-box can also benefit from this (right now if you use it in =
emacs-lisp-mode, it just shows a thin strip of text, not very exciting).

I=E2=80=99ll experiment with the title thing in eldoc-box. Does eglot =
and flymake already pass a :source cookie? Those two displaying stuff =
together is the most possible case I can think of.

Yuan=




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 24 Mar 2023 17:42:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 24 13:42:18 2023
Received: from localhost ([127.0.0.1]:41304 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pflQf-0008Tk-LX
	for submit <at> debbugs.gnu.org; Fri, 24 Mar 2023 13:42:18 -0400
Received: from mail-ed1-f48.google.com ([209.85.208.48]:43945)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pflQe-0008TX-2Z
 for 62029 <at> debbugs.gnu.org; Fri, 24 Mar 2023 13:42:16 -0400
Received: by mail-ed1-f48.google.com with SMTP id x3so10830450edb.10
 for <62029 <at> debbugs.gnu.org>; Fri, 24 Mar 2023 10:42:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1679679730;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=FiTR6c6gH6YsOHnb60C1Y2fi+jyimhXElH7qgFWtazg=;
 b=DMJrXyGLvM1PHZTgy0mR0W9bb5VFg/DHP2y/RybS/kFVsPJXPuBbdcKqFmwXEYkT/F
 ErpI/2pSYA74mmzsyZVsNEqgeHenc40G/9jz3JvfRsxcJFGjOPGqwPo/AxH6DtFm0Nyu
 b8xzC8E5HTbQFKJhWTjeLrR0ERz4DRGtagGiLwuXOiErpOclvccL+teOOtUE0CTzDwve
 pynrM670fqToEUCcUuX+WqXxTTF4S0yRwZRhDMCSE/yRuYt3De2kKNPvKaxAeYK/nC2O
 ex0JiXCCF8pfknPH1TT7iw5cmbZqgwahQMjyNsBkfoORgsoAyxUHrLhzL7E+FhEJqT7W
 SUjw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1679679730;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=FiTR6c6gH6YsOHnb60C1Y2fi+jyimhXElH7qgFWtazg=;
 b=vdHCTbJbgEsCT6eTpR5qk6CO7aNM/pDBc9ov+PnDC5hQ0QAc92aXfORLUhdlsr3aYe
 u5z+BL+IBL4ydWfJ/Vi1Qa9YoBBZ2jKVeoN7yBq0mKLn/vp9mObakppm831QUta5Ja2M
 Oa3kadGRQpMnOuCdujDd1jx1T/R8Y48ZjG1hNHagHridXQ269Bow5nZVhZhMBurHlw4Y
 qKNLQFPgFn/VpuiwbUlKbEgIBtILEmZN9vB4nDls3VmtF+DBZiF1+tS7iFg5CI/I/f8Z
 8yvndgc+/ptK7is5VXV9h6IpGlS6Pv19J5TZxjZLsxjerqD/dEq5eOrZuQ2Fp/pZnUO7
 O+rg==
X-Gm-Message-State: AAQBX9f7zLS15bntwP1Qsj/LK1jMvwvbdEXig0FSEqoEBW4KNexRK+p1
 pOUNscnbnbp58oZz/ukKQIN82a7h0Wo=
X-Google-Smtp-Source: AKy350aQcATiMa8R4aUoXxRs4MK7xW24/SYE9J5vn+LphoLmNQhqCnfCogg1aLyOKNGmjrwvFyV77w==
X-Received: by 2002:a17:906:4805:b0:92b:3c78:91fa with SMTP id
 w5-20020a170906480500b0092b3c7891famr3415573ejq.28.1679679729738; 
 Fri, 24 Mar 2023 10:42:09 -0700 (PDT)
Received: from krug (87-196-72-75.net.novis.pt. [87.196.72.75])
 by smtp.gmail.com with ESMTPSA id
 e6-20020a170906748600b008bfe95c46c3sm10623111ejl.220.2023.03.24.10.42.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Mar 2023 10:42:09 -0700 (PDT)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Yuan Fu <casouri@HIDDEN>
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
In-Reply-To: <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN> (Yuan Fu's
 message of "Thu, 23 Mar 2023 17:12:15 -0700")
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN>
 <87355vdufe.fsf@HIDDEN>
 <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN>
Date: Fri, 24 Mar 2023 17:44:10 +0000
Message-ID: <87h6uacadx.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Yuan Fu <casouri@HIDDEN> writes:

> For separator, maybe something like
>
> (insert =E2=80=9CTitle" (propertize "-" 'display
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 '(space :align-to right)
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 'font-lock-face '(:strike-through t)
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 'face '(:strike-through t)))
>
> for GUI, and use underline for terminal.

I've now pushed a commit to master introducing the user variable
eldoc-doc-buffer-separator.  It's not a defcustom yet, as I'm not too
familiar with those, but feel free to change it.

  (defvar eldoc-doc-buffer-separator
    "String used to separate items in Eldoc documentation buffer."
    (concat "\n" (propertize "\n" 'face '(:inherit separator-line :extend t=
)) "\n"))

There is a difference between a separator and a title.  I've stopped
short of adding titles, as I fear it would be confusing unless the
content allows it.  To be investigated later for
eldoc-display-in-echo-area or maybe you can try it in eldoc-box.

Also, I've been testing with these unpushed changes to elisp-mode.el,
which render more of the docstring in emacs-lisp-mode.

The use case here is navigating around in an .el file while having a
window open with the *eldoc* buffer.

Jo=C3=A3o


diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index 45e3848362e..054da900616 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -1779,11 +1779,22 @@ 'elisp-eldoc-documentation-function
=20
 (defun elisp-eldoc-funcall (callback &rest _ignored)
   "Document function call at point by calling CALLBACK.
-Intended for `eldoc-documentation-functions' (which see)."
+Intended for `eldoc-documentatiok-functions' (which see)."
   (let* ((sym-info (elisp--fnsym-in-current-sexp))
-         (fn-sym (car sym-info)))
+         (fn-sym (car sym-info))
+         (echo (and fn-sym
+                    (apply #'elisp-get-fnsym-args-string sym-info)))
+         (fulldoc
+          (and echo
+               (with-temp-buffer
+                 (let ((standard-output (current-buffer)))
+                   (describe-function-1 fn-sym)
+                   (help-make-xrefs)
+                   (buffer-string))))))
     (when fn-sym
-      (funcall callback (apply #'elisp-get-fnsym-args-string sym-info)
+      (funcall callback
+               fulldoc
+               :echo echo
                :thing fn-sym
                :face (if (functionp fn-sym)
                          'font-lock-function-name-face
@@ -1794,9 +1805,18 @@ elisp-eldoc-var-docstring
 Intended for `eldoc-documentation-functions' (which see).
 Also see `elisp-eldoc-var-docstring-with-value'."
   (let* ((sym (elisp--current-symbol))
-         (docstring (and sym (elisp-get-var-docstring sym))))
+         (docstring (and sym (elisp-get-var-docstring sym)))
+         (rawdoc (and docstring
+                      (documentation-property
+                       sym 'variable-documentation t)))
+         (fulldoc (and rawdoc
+                       (with-temp-buffer
+                         (insert rawdoc)
+                         (help-make-xrefs)
+                         (buffer-string)))))
     (when docstring
-      (funcall callback docstring
+      (funcall callback fulldoc
+               :echo docstring
                :thing sym
                :face 'font-lock-variable-name-face))))
=20





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 24 Mar 2023 00:12:34 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 23 20:12:34 2023
Received: from localhost ([127.0.0.1]:39552 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pfV2o-0001eD-4x
	for submit <at> debbugs.gnu.org; Thu, 23 Mar 2023 20:12:34 -0400
Received: from mail-pj1-f51.google.com ([209.85.216.51]:53093)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <casouri@HIDDEN>) id 1pfV2m-0001e0-Vt
 for 62029 <at> debbugs.gnu.org; Thu, 23 Mar 2023 20:12:33 -0400
Received: by mail-pj1-f51.google.com with SMTP id x15so129496pjk.2
 for <62029 <at> debbugs.gnu.org>; Thu, 23 Mar 2023 17:12:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1679616747;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=/ZfgFnbK2SQwvlYX4PhLX42bBlC/T5nZYcnIfWjxNME=;
 b=onqXhGp9eU7JU4/MqDc4CmpVW+mwlSiSmOA2xkMF7suyXANKeuHdhTby5elyatOZmJ
 2GUBgcE92LDRxN1fWCK0EO1mMYFm7V3y4JS7LHnT9sAKfXstVn/UbcclLjIsjulKouqU
 zRciH5s9/cTnW3zpmTL5q8ZDnNrugMFx1QTkNZegd9+OEdmlrnD1UIIi7TkGQhMaXIIp
 rMbx7+FtwU+uTG/Dui3EjEPlPNP49ydi8bKeAzXery9Hkuyisz1Anh9t1PUc10qxlpm5
 4NHwFqjIoBEiTN/oD9nvCX5YQiZ07Fje4CAszUhBtVY89BnReT7N84TpR5iAS+BeQTfz
 pnng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1679616747;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=/ZfgFnbK2SQwvlYX4PhLX42bBlC/T5nZYcnIfWjxNME=;
 b=SLwyzqSMwsFY5MLPnRwn6yGbb9QK32MtnUOodD3F4PUrTDQuQhzsi/GzHyP+xlEodL
 nivVxm578wWoZfuwVFWcFmlnk3JSSfj1Y07+u4VsdJvHKNAnN1lfr7LrXN6ltAKyhWJ1
 ktFZ0NIrV/fO8DYMrPd7kXX4H3jfXs00IldJ129YTu8cvMfQC7aLbRUunuxdnIJR98o7
 ukfRHN06u1QdbvhFDlTYStHz1AbpFSCOaT3tW7ouDB26NPt+u+5+rQBPmLrmyIT0e9Rh
 yL0w2h1L9MuYqpqYf2Bu4Nj9MH3X/UrQyexN3Aj5BbDo1KJBD0H0odbQ2Xa/oGsNIO35
 17+w==
X-Gm-Message-State: AAQBX9dxirz+VAtdazk5MbZHyOgoHje2HCGvNfSwh6TtJGJWZXen9wjB
 Z8hRRZX7+nXhlTtAXzA9F8o=
X-Google-Smtp-Source: AKy350bp1/XbE1As3iAWECSweOauvQzMA3Aot8dWf7L6FzJ1Mm8/m1Zr9GgFqY93UrfCvmmCIQAr1w==
X-Received: by 2002:a17:902:ceca:b0:1a1:956e:5417 with SMTP id
 d10-20020a170902ceca00b001a1956e5417mr765045plg.22.1679616746705; 
 Thu, 23 Mar 2023 17:12:26 -0700 (PDT)
Received: from smtpclient.apple (cpe-172-117-161-177.socal.res.rr.com.
 [172.117.161.177]) by smtp.gmail.com with ESMTPSA id
 ja2-20020a170902efc200b001a1f830c9d0sm865125plb.13.2023.03.23.17.12.26
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 23 Mar 2023 17:12:26 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.400.51.1.1\))
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
From: Yuan Fu <casouri@HIDDEN>
In-Reply-To: <87355vdufe.fsf@HIDDEN>
Date: Thu, 23 Mar 2023 17:12:15 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <CBAB0F29-C1C4-4CA8-9A22-6B3070F762C3@HIDDEN>
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN> <87355vdufe.fsf@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
X-Mailer: Apple Mail (2.3731.400.51.1.1)
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)



> On Mar 23, 2023, at 2:33 PM, Jo=C3=A3o T=C3=A1vora =
<joaotavora@HIDDEN> wrote:
>=20
> Yuan Fu <casouri@HIDDEN> writes:
>=20
>> I agree. But in the same time, eldoc=E2=80=99s rendering should be
>> customizable too. If someone uses eldoc-doc-buffer and want to use
>> fancier separators, they should be able to. That=E2=80=99ll be easier =
than
>> writing another displayer that does everything the same as
>> eldoc-doc-buffer except for using a different separator.
>=20
> I've pushed two commits to master that address the design shortcoming =
I
> was referring to.  Here they are summarized:
>=20
> commit e19994fe8c000b0ed2dbc667cdec26cf54356907
>    ElDoc: rework rendering of echo area (bug#62029)
>=20
>    Previously, the display function 'eldoc-display-in-echo-area' =
reused
>    the same buffer as 'eldoc-display-in-doc-buffer', but that made it
>    harder to render documentation items differently depending on the
>    specific constraints of each display functions.
>=20
> commit 9b18407c7fd91313544acfb3457be5447987e20a
>    ElDoc: remember origin backend in doc snippets (bug#62029)
>=20
>    This lays groundwork for discriminating between different
>    documentation providers in ElDoc display outlets, i.e. members
>    of eldoc-display-functions
>=20
> The first commit detaches eldoc-display-in-echo-area from
> eldoc-display-in-doc-buffer (It also allows the backend to control the
> display in the echo area specifically).  For the purposes of this bug,
> it should allow eldoc-display-in-doc-buffer to more freely structure =
the
> *eldoc* buffer with separators, etc.
>=20
> The second commit adds a :origin cookie to each doc item passed to
> eldoc-display-functions.  The origin is the name of the backend =
itself.
> It could allow for better separators in the *eldoc* buffer where each
> section is titled according to the backend that produced the
> documentation.
>=20
> So I guess what's missing for this bug is a customizable *eldoc* =
buffer
> separator with a good default value, like one of those =
resize-resisting
> horizontal separators.  Also, for customization, maybe `format-spec' =
can
> be used?

Brilliant! On top of format-spec, maybe also a face for the title, like =
eldoc-source-title.

For separator, maybe something like

(insert =E2=80=9CTitle" (propertize "-" 'display
                            '(space :align-to right)
                            'font-lock-face '(:strike-through t)
                            'face '(:strike-through t)))

for GUI, and use underline for terminal.

Yuan=




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 23 Mar 2023 21:31:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 23 17:31:47 2023
Received: from localhost ([127.0.0.1]:39469 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pfSXD-0006AM-4R
	for submit <at> debbugs.gnu.org; Thu, 23 Mar 2023 17:31:47 -0400
Received: from mail-ed1-f51.google.com ([209.85.208.51]:39921)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pfSXB-0006A3-Je
 for 62029 <at> debbugs.gnu.org; Thu, 23 Mar 2023 17:31:46 -0400
Received: by mail-ed1-f51.google.com with SMTP id ek18so567803edb.6
 for <62029 <at> debbugs.gnu.org>; Thu, 23 Mar 2023 14:31:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1679607100;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=JIyVIsaBZdEcdkhSf/53+9D2B5dp2CD9SkdnIXgrte8=;
 b=X4NgAejy3Yp7XLeoYu36m/OFvnIo3oNObdyeukVeI1YkdvUNwMNadoefkYOCh2fxqH
 OppbosF/WK+KAQ4Ivj9acBvA9TYUDa0HDz5Cmz6yTKCy65UWBN27MDIYdF+KsZTCBDcJ
 Y0f88cScMkwwPhWVlXsNsmYWUMFAuIdaOFw3BGG84J2nxpVmwB1MWj7xnPtdAdxQLTOL
 sINtYIXFw0wbyY0tH2exBPKSJmFmef/6z5T6fUJmDeQgLgFEDf+80HZk8rnAeYDbr/xn
 8UGV99Flo8dUOgDelaBMCxFL9EQt4tKp1TEQSFFhGmeM6S6oJSEX5k0/v+D/Oc2xp6+a
 GTvg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1679607100;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=JIyVIsaBZdEcdkhSf/53+9D2B5dp2CD9SkdnIXgrte8=;
 b=cwHy9BmXi+g7wl1QaZZevMvtB8e/rOXvD5XAOYLEfqIpjBnV54VHpjkH2eQSgWUrzD
 /jyB17hOyiYG+vfrFNtFWCzvyguEtaSXve8KkWEMsZEXDS1lKObmMyj2w/hlWp1pxR7S
 nUkB/wnSSk4estku55Dm3cgb2e5gL1xj4XtwqHgD1qy+eg8PBrhagcPPzCuBhqLnIv/o
 mGJzIZQPuO5n2D+O7YZ7wLauDxWUtZMykUwSwn0prXyk0b3WQMSlCL7zWCGE6icPWWwe
 2aO4pnXRLAqh/rJmSz7Pci4GC61zSeNy2RISsQ0FeqXhhW0mEJL0P3FtyhjQEuJKVCYe
 EhJQ==
X-Gm-Message-State: AAQBX9dgfyaQ8OFNm7oG/9GgvS5cTUV/92Q7QlhACdolLp6/GKd2I/Tc
 +uR8mnKwxPf71qcYSS7mRSbkJ95t5PU=
X-Google-Smtp-Source: AKy350aDPjAenhqwtgLxwgILgIsoT80Rd5sbHdRFrmI5qDunES502ou+SooEdxp3MMwF70vGY04xvw==
X-Received: by 2002:a17:907:c008:b0:8ad:51e9:cd57 with SMTP id
 ss8-20020a170907c00800b008ad51e9cd57mr500966ejc.49.1679607099438; 
 Thu, 23 Mar 2023 14:31:39 -0700 (PDT)
Received: from krug (87-196-72-75.net.novis.pt. [87.196.72.75])
 by smtp.gmail.com with ESMTPSA id
 a16-20020a170906245000b0093a6e9c2634sm3766063ejb.192.2023.03.23.14.31.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Mar 2023 14:31:39 -0700 (PDT)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Yuan Fu <casouri@HIDDEN>
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
In-Reply-To: <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN> (Yuan Fu's
 message of "Wed, 8 Mar 2023 13:28:39 -0800")
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
 <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN>
Date: Thu, 23 Mar 2023 21:33:41 +0000
Message-ID: <87355vdufe.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Yuan Fu <casouri@HIDDEN> writes:

> I agree. But in the same time, eldoc=E2=80=99s rendering should be
> customizable too. If someone uses eldoc-doc-buffer and want to use
> fancier separators, they should be able to. That=E2=80=99ll be easier than
> writing another displayer that does everything the same as
> eldoc-doc-buffer except for using a different separator.

I've pushed two commits to master that address the design shortcoming I
was referring to.  Here they are summarized:

commit e19994fe8c000b0ed2dbc667cdec26cf54356907
    ElDoc: rework rendering of echo area (bug#62029)
=20=20=20=20
    Previously, the display function 'eldoc-display-in-echo-area' reused
    the same buffer as 'eldoc-display-in-doc-buffer', but that made it
    harder to render documentation items differently depending on the
    specific constraints of each display functions.

commit 9b18407c7fd91313544acfb3457be5447987e20a
    ElDoc: remember origin backend in doc snippets (bug#62029)
=20=20=20=20
    This lays groundwork for discriminating between different
    documentation providers in ElDoc display outlets, i.e. members
    of eldoc-display-functions

The first commit detaches eldoc-display-in-echo-area from
eldoc-display-in-doc-buffer (It also allows the backend to control the
display in the echo area specifically).  For the purposes of this bug,
it should allow eldoc-display-in-doc-buffer to more freely structure the
*eldoc* buffer with separators, etc.

The second commit adds a :origin cookie to each doc item passed to
eldoc-display-functions.  The origin is the name of the backend itself.
It could allow for better separators in the *eldoc* buffer where each
section is titled according to the backend that produced the
documentation.

So I guess what's missing for this bug is a customizable *eldoc* buffer
separator with a good default value, like one of those resize-resisting
horizontal separators.  Also, for customization, maybe `format-spec' can
be used?

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 8 Mar 2023 21:30:24 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 08 16:30:24 2023
Received: from localhost ([127.0.0.1]:50338 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pa1Me-0005O9-9X
	for submit <at> debbugs.gnu.org; Wed, 08 Mar 2023 16:30:24 -0500
Received: from mail-pg1-f179.google.com ([209.85.215.179]:39711)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <casouri@HIDDEN>) id 1pa1Md-0005Nt-Av
 for 62029 <at> debbugs.gnu.org; Wed, 08 Mar 2023 16:30:23 -0500
Received: by mail-pg1-f179.google.com with SMTP id h31so22156pgl.6
 for <62029 <at> debbugs.gnu.org>; Wed, 08 Mar 2023 13:30:23 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1678311017;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=tFDSeFaXJmGIcz1Ptp5SIh5JH3dokGd3n86DGlY2XmM=;
 b=gjUgk0rAiumySg6uWBBMBRKRukNVfdhAKStcr7GcnUcFTasB/MvSnyM+Ez+D59i8vy
 y+doq1L2kcnLzVxG1/J+SsCRKNPQnEzrxFqkW6hjEE1JieZkHWnDnChO2YHCA/awdCBM
 kxljlBftNqtm/ZXm5gAhaRMZEiJOspavPbF8IOo93NjhwS5WPC0SOnPhXaSeV62eV90h
 fBPAM/f2BHoVDfLhMJuaSipZskHo5fZNM4CPPislIrvfZXsE7P+0Gk3wDYlWIaUexRXU
 1/tVAzOuJ/gCzcEe2PYLgd8XWpX0kYfISEz2xKQhIzhEY2+7K1deW8eCeqCe9ijE1QrO
 REUQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1678311017;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=tFDSeFaXJmGIcz1Ptp5SIh5JH3dokGd3n86DGlY2XmM=;
 b=PKEMQI2GlXDgdUkfB/91fYB8779UI86QlfeNDZ4Rn4c9oM5pMq9FqSU6es/pCVvmFD
 69QIuYxvSfkT9JI17kkQu9BKZX0Q/ZadBei56jKOZZgoorw6/lvwCKv6Pb+3zL6ewgDw
 pVuUkQ7FygvWnsA9cKSliGKN7qKPw+ffEmL2y6zRZqmwVaH6S2fJYYY4ARC3Y5uorKJU
 vXB5ac48naz/lKMXEXbYu9/OATAIcC83h7pbnIh+JR/E42TbN118dThFL1rnO7/jl2Ie
 /YTokOiybRuZ0wGDNHh3ZQPfV1F+c1bQAZzcfxTILD2l7/wrAVi0lYjnJPnqQGIjnpjE
 RHrQ==
X-Gm-Message-State: AO0yUKV0HZBmotRDpKNs6ZDjdl7ZttMbqHDnSQZhrgVhBKvd1FpZ062H
 7JwU9GVW6m8R9Nu0WzB8/bo=
X-Google-Smtp-Source: AK7set//mdcDvdIxO6yB/as0NVTdgIZdQDYD4vjKfa9zO8sVk9sBA5GQoxj1OjlHTpe/isY7pc1YzA==
X-Received: by 2002:a62:5248:0:b0:5e5:a473:9498 with SMTP id
 g69-20020a625248000000b005e5a4739498mr17169612pfb.27.1678311017226; 
 Wed, 08 Mar 2023 13:30:17 -0800 (PST)
Received: from smtpclient.apple (cpe-172-117-161-177.socal.res.rr.com.
 [172.117.161.177]) by smtp.gmail.com with ESMTPSA id
 s1-20020aa78281000000b0059435689e36sm10068960pfm.170.2023.03.08.13.28.51
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Wed, 08 Mar 2023 13:29:20 -0800 (PST)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.400.51.1.1\))
Subject: Re: bug#62029: 29.0.60; Allow users to customize eldoc buffer
 separator
From: Yuan Fu <casouri@HIDDEN>
In-Reply-To: <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
Date: Wed, 8 Mar 2023 13:28:39 -0800
Content-Transfer-Encoding: quoted-printable
Message-Id: <0C40D168-54D5-47E9-8BD8-77CFCD70B895@HIDDEN>
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
 <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
X-Mailer: Apple Mail (2.3731.400.51.1.1)
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)



> On Mar 8, 2023, at 9:14 AM, Jo=C3=A3o T=C3=A1vora =
<joaotavora@HIDDEN> wrote:
>=20
> Hi Yuan,
>=20
> Mostly just replying so I'm kept in the loop.
>=20
> I'm preparing a proposal for and Eldoc enhancements that could link =
with this.
>=20
> For example, i don't think that the eldoc function that displays in =
the echo area should piggy-back on the contents of the eldoc doc buffer =
used by the other display function. This was a misdesign (by me). Each =
display function should be given as much information as possible and =
then decide how and where to render without affecting other members of =
'eldoc-display-functions'.

I agree. It would be nice if eldoc can expose a variable containing the =
original value (a list of (doc :key :val=E2=80=A6)). That=E2=80=99s =
essentially what the function in eldoc-box (eldoc-box-help-at-point) =
needed. Eldoc-box-help-at-point currently just copies the buffer text of =
eldoc--doc-buffer but it can be easily changed to copy from the =
aforementioned variable instead, and do it=E2=80=99s own formatting. =
(Alternatively eldoc-box-hel-at-point could TRT and invoke eldoc and get =
its output and show it, but simply using eldoc-doc-buffer is so easy and =
reliable ;-)

>=20
> I think it's important to decide if things like line separation are =
properties of a given member of 'eldoc-display-function' or if eldoc in =
general. I strongly lean to the former.

I agree. But in the same time, eldoc=E2=80=99s rendering should be =
customizable too. If someone uses eldoc-doc-buffer and want to use =
fancier separators, they should be able to. That=E2=80=99ll be easier =
than writing another displayer that does everything the same as =
eldoc-doc-buffer except for using a different separator.

Yuan=




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at 62029 <at> debbugs.gnu.org:


Received: (at 62029) by debbugs.gnu.org; 8 Mar 2023 17:15:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 08 12:15:13 2023
Received: from localhost ([127.0.0.1]:50100 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pZxNh-00026T-0J
	for submit <at> debbugs.gnu.org; Wed, 08 Mar 2023 12:15:13 -0500
Received: from mail-ot1-f51.google.com ([209.85.210.51]:44977)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pZxNf-00026A-RF
 for 62029 <at> debbugs.gnu.org; Wed, 08 Mar 2023 12:15:12 -0500
Received: by mail-ot1-f51.google.com with SMTP id
 g73-20020a9d12cf000000b006943a7df072so9345794otg.11
 for <62029 <at> debbugs.gnu.org>; Wed, 08 Mar 2023 09:15:11 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1678295706;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=p4WhZcBhzhcbKWJbXBRPKALp1JotcF0N25xe68PUrCc=;
 b=bQQYkZIkAAvb10BI3HABAVrMwUAQDeEXgFbnh2ED19d/NjSHJhI/otL5rtXS2rdiMK
 Xw3glnbai8YbHPCmhsO8gtq69+BFoA7u4H2QBMxAOc5y3/Z8xbNC6ZUrcbOrQBsSHpHY
 h7Dr/OiE0eldS0H4Byu1+yx9YnU3nN/ykFHod6oqq/Ii+nALBvtS9Ej/WEelOFzOZWYj
 7OHGqGL17RJkyY7SnROEvN6ggGECZL/wWLnmZTWx9FYKGyjMSQqEa8M3lash4cjzwfYT
 HAQUZuKcdqhH3ergdQcrqc7zFCK5EH2yAj0AesYPMKXrDjYp+xw4eiviurokqOjHhHTJ
 7+ZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1678295706;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=p4WhZcBhzhcbKWJbXBRPKALp1JotcF0N25xe68PUrCc=;
 b=d5LdhmEYRS5rKowUUyaSMUA/AHcJo33JNUEz2dtkLIj/0LXQtOl6igsNoWqaUOCorB
 gVJybeJ+G2GmWr3P38b21/uxKP+wPkrRArTHhOveDLTsKskXPtiEfCM5mfwsNmsoJ5XM
 8Vnbra6yXpNpqGxcq/sRutUMTbQID3dgRWLAdD3lm/3pWC2LwvnfD+cwHezfxcxN1Lgr
 ZfI9iRt3fZU5sSSjcpvJrm0s05/3kUxwYENOWG8V6f3cO8yuKN9J30WVz1WuIksda6CG
 AnD8Df5mzSgz6Xgd5/08CcqBy1YreL3mlLk8Dkj/A2KPh2PITYzjx9yMjg2yEY/X0dSv
 mn2A==
X-Gm-Message-State: AO0yUKVSP1B++r2DJJT6YqyPtazsfjj+6zIU7rDmmBq8Ww6NrfjDmX5E
 FvzkLLuLTwIXUBjLb9+RQcSVKsra6377Y1bWreY=
X-Google-Smtp-Source: AK7set/d5rTNAjyV4376mO03pNney4d+87n1GyOBoaHrDmnvEi9NQFeofRaAlmJvZXgQ7ZS+WPVdfH2rFbtPGEkqaLA=
X-Received: by 2002:a9d:5a90:0:b0:688:cf52:6e18 with SMTP id
 w16-20020a9d5a90000000b00688cf526e18mr6144056oth.4.1678295706038; Wed, 08 Mar
 2023 09:15:06 -0800 (PST)
MIME-Version: 1.0
References: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
In-Reply-To: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Wed, 8 Mar 2023 17:14:54 +0000
Message-ID: <CALDnm53Q4p0av3xkTJjRpE_NLybz0b0foAKf3gW0LWvqrzgUsA@HIDDEN>
Subject: Re: bug#62029: 29.0.60;
 Allow users to customize eldoc buffer separator
To: Yuan Fu <casouri@HIDDEN>
Content-Type: multipart/alternative; boundary="00000000000062f8c005f666ab20"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62029
Cc: 62029 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--00000000000062f8c005f666ab20
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Yuan,

Mostly just replying so I'm kept in the loop.

I'm preparing a proposal for and Eldoc enhancements that could link with
this.

For example, i don't think that the eldoc function that displays in the
echo area should piggy-back on the contents of the eldoc doc buffer used by
the other display function. This was a misdesign (by me). Each display
function should be given as much information as possible and then decide
how and where to render without affecting other members of
'eldoc-display-functions'.

I think it's important to decide if things like line separation are
properties of a given member of 'eldoc-display-function' or if eldoc in
general. I strongly lean to the former.

Jo=C3=A3o

--00000000000062f8c005f666ab20
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto">Hi Yuan,<div dir=3D"auto"><br></div><div dir=3D"auto">Mos=
tly just replying so I&#39;m kept in the loop.<div dir=3D"auto"><br></div><=
div dir=3D"auto">I&#39;m preparing a proposal for and Eldoc enhancements th=
at could link with this.</div><div dir=3D"auto"><br></div><div dir=3D"auto"=
>For example, i don&#39;t think that the eldoc function that displays in th=
e echo area should piggy-back on the contents of the eldoc doc buffer used =
by the other display function. This was a misdesign (by me). Each display f=
unction should be given as much information as possible and then decide how=
 and where to render without affecting other members of &#39;eldoc-display-=
functions&#39;.</div><div dir=3D"auto"><br></div><div dir=3D"auto">I think =
it&#39;s important to decide if things like line separation are properties =
of a given member of &#39;eldoc-display-function&#39; or if eldoc in genera=
l. I strongly lean to the former.</div><div dir=3D"auto"><br></div><div dir=
=3D"auto">Jo=C3=A3o</div></div></div>

--00000000000062f8c005f666ab20--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 7 Mar 2023 07:56:25 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 07 02:56:25 2023
Received: from localhost ([127.0.0.1]:44379 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pZSBN-0000ar-5e
	for submit <at> debbugs.gnu.org; Tue, 07 Mar 2023 02:56:25 -0500
Received: from lists.gnu.org ([209.51.188.17]:34470)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <casouri@HIDDEN>) id 1pZSBL-0000ad-A4
 for submit <at> debbugs.gnu.org; Tue, 07 Mar 2023 02:56:23 -0500
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 <casouri@HIDDEN>) id 1pZSBL-0006N7-1y
 for bug-gnu-emacs@HIDDEN; Tue, 07 Mar 2023 02:56:23 -0500
Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <casouri@HIDDEN>) id 1pZSBJ-0004eX-Gp
 for bug-gnu-emacs@HIDDEN; Tue, 07 Mar 2023 02:56:22 -0500
Received: by mail-pl1-x629.google.com with SMTP id y11so13240359plg.1
 for <bug-gnu-emacs@HIDDEN>; Mon, 06 Mar 2023 23:56:21 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1678175780;
 h=to:date:message-id:subject:mime-version:content-transfer-encoding
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=6YyNkqSXqkSwafhTNPOoW25LfSCChCRWREeZP6hKlR4=;
 b=F3OAQqu9SBnTVJciBEUAkgr+VuQ++mZt5ioREwakmulk6DdWVklRbXkC+DqxNLSGjv
 l13kXawbcoW7o1AcEO43lKfaJsNzSlYqslZK7B4azQwPROgMDkyEf/fhAoAxNtuSrOtI
 0fHHx8Ws6oTFegTXdI7m/pV2Ug/34qhtCZ5IcLeTcBfbq6nPJHWnFVloSYw3wImkSJQr
 X0LHNk1eEkg9U/dcvmuUqJ/Nvkis8KymnZ5djqaCquFhKCukdIk7LiLQGGl7+6WjQxLf
 fWCbR41f7Jbha0Pz+46sg33fRfx5X2K/XAE+7QV4fmUCzSgqEkO0v9/xH5ZqibtMEH0E
 GcJA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1678175780;
 h=to:date:message-id:subject:mime-version:content-transfer-encoding
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=6YyNkqSXqkSwafhTNPOoW25LfSCChCRWREeZP6hKlR4=;
 b=LXvCPvSZ/qddhwZHIqOHCH/eBgR/gToKWGco2sk4n2VFhhiPp/HAOaLt+Jumd/uX2d
 7QMfY9OOWPjUM46pH+vxXBKcaRpco6fSVmlLnxbhudw2Ql4z78btysrUWCoFv2G7HruW
 VkDF9OgBwa7eqs7vrhcwdQFAAg02ASaVmbODom43QEsUs6vdCVQYebT3cJnK2GRQOw03
 41Ftq//tiysBdu71bDqYozfTY4+j8TxxjJuPqH7k45/OYldWBiLMgA1QN/cUpdBUUg04
 M1IxldNYg1hsGSNAI3UpQjkL9g8Y2r+Je07Ezv+J3O+bezsnHgpqlFe4aqut2TFzThZG
 8VNA==
X-Gm-Message-State: AO0yUKV+Z8ZQxLwVqd+Rgub2ZY7hW1cEU2qqDA2tKCmP4eFJCXHGEFgF
 dSHWB/FiBTci5YqrPBhoI0oF4Ew0DQeb5g==
X-Google-Smtp-Source: AK7set9PzMl1PD2ylHfGAIkc1CPlXtNp2iKc6/dbmgIkCgzKB8yvMkClBvl8IEsGeKr8SvtReUp4Rw==
X-Received: by 2002:a17:903:32cf:b0:19d:1d32:fbe with SMTP id
 i15-20020a17090332cf00b0019d1d320fbemr16486700plr.20.1678175779990; 
 Mon, 06 Mar 2023 23:56:19 -0800 (PST)
Received: from smtpclient.apple (cpe-172-117-161-177.socal.res.rr.com.
 [172.117.161.177]) by smtp.gmail.com with ESMTPSA id
 t4-20020a1709028c8400b00198ef93d556sm7828175plo.147.2023.03.06.23.56.19
 for <bug-gnu-emacs@HIDDEN>
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Mon, 06 Mar 2023 23:56:19 -0800 (PST)
From: Yuan Fu <casouri@HIDDEN>
Content-Type: text/plain;
	charset=utf-8
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.400.51.1.1\))
Subject: 29.0.60; Allow users to customize eldoc buffer separator
Message-Id: <E7BDE4D5-CE96-43C6-9A79-6C6ECC0FEF13@HIDDEN>
Date: Mon, 6 Mar 2023 23:56:08 -0800
To: Bug Report Emacs <bug-gnu-emacs@HIDDEN>
X-Mailer: Apple Mail (2.3731.400.51.1.1)
Received-SPF: pass client-ip=2607:f8b0:4864:20::629;
 envelope-from=casouri@HIDDEN; helo=mail-pl1-x629.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)



Eldoc can combine documentation from multiple sources and display them
together, however, if I=E2=80=99m not mistaken, it separates them with =
newline. It would be nice
if users can customize the separator to be some other things, like a
horizontal bar, eg,

(setq eldoc-source-separator
      (propertize "----------"
                  'display '(space :width text)
                  'face '(:stike-through t)))

Maybe even allow it to be a function so we can draw an appropriate
number of "-" in terminals.

Prompted by this report: https://github.com/casouri/eldoc-box/issues/61

I can do it, if everyone agrees that this is a good idea, and can come
up with a good name for the variable ;-)






Acknowledgement sent to Yuan Fu <casouri@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#62029; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 4 Sep 2023 09:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.