GNU bug report logs - #43572
Feature request: make it possible to choose whether the first lines of the minibuffer should be displayed instead of the last ones

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: Gregory Heytings <ghe@HIDDEN>; dated Tue, 22 Sep 2020 20:58:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

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


Received: (at 43572) by debbugs.gnu.org; 28 Sep 2020 13:44:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 28 09:44:31 2020
Received: from localhost ([127.0.0.1]:51930 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kMtSB-0003uL-8B
	for submit <at> debbugs.gnu.org; Mon, 28 Sep 2020 09:44:31 -0400
Received: from eggs.gnu.org ([209.51.188.92]:60294)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kMtSA-0003u7-9n
 for 43572 <at> debbugs.gnu.org; Mon, 28 Sep 2020 09:44:30 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:43108)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kMtS5-0005x9-0e; Mon, 28 Sep 2020 09:44:25 -0400
Received: from [176.228.60.248] (port=3442 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kMtS4-0000wi-31; Mon, 28 Sep 2020 09:44:24 -0400
Date: Mon, 28 Sep 2020 16:44:13 +0300
Message-Id: <835z7ym2xe.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <jwvzh5a2ftu.fsf-monnier+emacs@HIDDEN> (message from Stefan
 Monnier on Mon, 28 Sep 2020 09:30:46 -0400)
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN> <83a6xguy7w.fsf@HIDDEN>
 <jwvy2l0qe29.fsf-monnier+emacs@HIDDEN> <83y2kztf9v.fsf@HIDDEN>
 <jwvd02bp1o1.fsf-monnier+emacs@HIDDEN> <83ft77t8kh.fsf@HIDDEN>
 <jwvr1qm6g5r.fsf-monnier+emacs@HIDDEN> <83pn66mngx.fsf@HIDDEN>
 <jwvzh5a2ftu.fsf-monnier+emacs@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: ghe@HIDDEN, 43572 <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: -3.3 (---)

> From: Stefan Monnier <monnier@HIDDEN>
> Cc: ghe@HIDDEN,  43572 <at> debbugs.gnu.org
> Date: Mon, 28 Sep 2020 09:30:46 -0400
> 
> How 'bout we add a config `minibuffer-scroll-generic`?

I don't mind, but who would use that, and why?




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

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


Received: (at 43572) by debbugs.gnu.org; 28 Sep 2020 13:42:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 28 09:42:37 2020
Received: from localhost ([127.0.0.1]:51922 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kMtQL-0003r0-JO
	for submit <at> debbugs.gnu.org; Mon, 28 Sep 2020 09:42:37 -0400
Received: from eggs.gnu.org ([209.51.188.92]:59874)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kMtQI-0003qi-He
 for 43572 <at> debbugs.gnu.org; Mon, 28 Sep 2020 09:42:36 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:43084)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kMtQB-0005p8-TE; Mon, 28 Sep 2020 09:42:27 -0400
Received: from [176.228.60.248] (port=3318 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kMtQ8-0000pb-5A; Mon, 28 Sep 2020 09:42:25 -0400
Date: Mon, 28 Sep 2020 16:42:12 +0300
Message-Id: <838scum30r.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <jwv5z7y3ujd.fsf-monnier+emacs@HIDDEN> (message from Stefan
 Monnier on Mon, 28 Sep 2020 09:24:34 -0400)
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
 <834knnuugm.fsf@HIDDEN> <jwvimc3p2a0.fsf-monnier+emacs@HIDDEN>
 <83h7rnt8s3.fsf@HIDDEN> <833633nqru.fsf@HIDDEN>
 <jwvwo0e6gcb.fsf-monnier+emacs@HIDDEN> <83r1qmmnxu.fsf@HIDDEN>
 <jwv5z7y3ujd.fsf-monnier+emacs@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: ghe@HIDDEN, 43572 <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: -3.3 (---)

> From: Stefan Monnier <monnier@HIDDEN>
> Cc: ghe@HIDDEN,  43572 <at> debbugs.gnu.org
> Date: Mon, 28 Sep 2020 09:24:34 -0400
> 
> > I actually thought about putting the text property or overlay on the
> > first character of the text inserted into the minibuffer,
> 
> I don't understand what data you intend to put this way.

Just "start at BOB" indication.

> The overlay I proposed carries fundamentally 2 pieces of info: the
> beginning position and the end position of the "scroll focus".

We could still put this on the first character, and have the value of
the property be a cons cell with these two positions, no?

IOW, the information doesn't have to be on the characters which it
describes.




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

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


Received: (at 43572) by debbugs.gnu.org; 28 Sep 2020 13:31:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 28 09:31:00 2020
Received: from localhost ([127.0.0.1]:51908 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kMtF5-0003ZU-IV
	for submit <at> debbugs.gnu.org; Mon, 28 Sep 2020 09:31:00 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:28230)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1kMtF3-0003ZF-MY
 for 43572 <at> debbugs.gnu.org; Mon, 28 Sep 2020 09:30:57 -0400
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 4510A80581;
 Mon, 28 Sep 2020 09:30:52 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 374C58091C;
 Mon, 28 Sep 2020 09:30:47 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1601299847;
 bh=kMZbGJImz1yfLAum5XJGVF3m/mjVTCjeRr9vWFsJy0g=;
 h=From:To:Cc:Subject:References:Date:In-Reply-To:From;
 b=A/cw8P05DhhBFmLUMzHjmhPRLyE8NR0JIKS7Pe7xiv5m37q9CSqY53kNPDRmXHZFb
 b6lJpbV889+tAglShHsoqodNZ1FcH54izqEfydGGtxby5eUxlQFdfbOTPcnS4FL3aq
 eZFQUX6RJz1W5ESm8uqEypaNZgR78FxUnVq2YVaNtovYJ0fUFRV9gwtcXWNk2U4qsp
 6pF3tL1M4rvTHcquxmubinkchOsch381Nlv04ZXnAsRaOxsCCeE3w/BQm1sXOnMdDj
 JxJifIqVKaaZAoIU4CiKAyePzQb9SwYWqoAMzBm3uFzkQYHkARh90+GlAAlVGFJtyL
 +1AAa2YkBHkYQ==
Received: from alfajor (unknown [45.72.232.131])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id D8D461203D6;
 Mon, 28 Sep 2020 09:30:46 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
Message-ID: <jwvzh5a2ftu.fsf-monnier+emacs@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN> <83a6xguy7w.fsf@HIDDEN>
 <jwvy2l0qe29.fsf-monnier+emacs@HIDDEN> <83y2kztf9v.fsf@HIDDEN>
 <jwvd02bp1o1.fsf-monnier+emacs@HIDDEN> <83ft77t8kh.fsf@HIDDEN>
 <jwvr1qm6g5r.fsf-monnier+emacs@HIDDEN> <83pn66mngx.fsf@HIDDEN>
Date: Mon, 28 Sep 2020 09:30:46 -0400
In-Reply-To: <83pn66mngx.fsf@HIDDEN> (Eli Zaretskii's message of "Mon, 28 Sep
 2020 09:20:30 +0300")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.073 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: ghe@HIDDEN, 43572 <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: -3.3 (---)

>> That's not my experience so far.  I do find that the
>> `scroll-conservatively` is generally desired for the mini-window
>> (whereas I don't generally like it in normal windows), but other than
>> that I find (much to my surprise) that the generic scrolling code
>> behaves just as well as the ad-hoc scrolling code in resize_mini_window.
> Maybe it's 80% correct, but my worry is exactly those remaining 20%.

Same here.  I only tried that code in very limited circumstances and
I know there are many more scenarios out there that I can't even begin
to imagine.

> So no, I cannot agree that your experience is evidence good enough for
> allowing GP Emacs scrolling code to handle mini-window display.

I definitely don't claim it's good enough to get rid of the ad-hoc
scrolling code, but I think it is worth pursuing.

How 'bout we add a config `minibuffer-scroll-generic`?


        Stefan





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

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


Received: (at 43572) by debbugs.gnu.org; 28 Sep 2020 13:24:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 28 09:24:46 2020
Received: from localhost ([127.0.0.1]:51902 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kMt93-0003Pw-TP
	for submit <at> debbugs.gnu.org; Mon, 28 Sep 2020 09:24:46 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:17647)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1kMt90-0003Pj-KI
 for 43572 <at> debbugs.gnu.org; Mon, 28 Sep 2020 09:24:44 -0400
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 4464380A93;
 Mon, 28 Sep 2020 09:24:37 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 401D180581;
 Mon, 28 Sep 2020 09:24:35 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1601299475;
 bh=JteFWGOIu/gKejm4oKnj+ice0LD0hGbc+3/W2exYd4A=;
 h=From:To:Cc:Subject:References:Date:In-Reply-To:From;
 b=eKQ5wU3Umq/Z6geU9FPEmPXovrEDfhqzWqB7oHVmdkjtQ3EcOdKbBfp4q9TNiFB9q
 EF2sWb1tyJF6rxxp6CjJ7dUbCWn8g5YjziII5DY/v+ILXKS04cKurZVYugWHg5XYhE
 WM/1ARMUJFGpnKUAppo7FZDTOOeCXPwIyfwGEXfAb82De0aApbg1v5JcHApuFyFEZf
 hlHEYIKa0jsCFKhW1WQnrcNTjPesZIbfm155YUpXgSmMOhAZVOrut7OxFFarQumnlE
 Tix6hXWU9QhX9cvasN9RFF+/ySX04BnZMnI6uMN26/+u4VDw+xV9JPKBgbSTwLFttI
 dDm3EYt2FmglQ==
Received: from alfajor (unknown [45.72.232.131])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id E674312064C;
 Mon, 28 Sep 2020 09:24:34 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
Message-ID: <jwv5z7y3ujd.fsf-monnier+emacs@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
 <834knnuugm.fsf@HIDDEN> <jwvimc3p2a0.fsf-monnier+emacs@HIDDEN>
 <83h7rnt8s3.fsf@HIDDEN> <833633nqru.fsf@HIDDEN>
 <jwvwo0e6gcb.fsf-monnier+emacs@HIDDEN> <83r1qmmnxu.fsf@HIDDEN>
Date: Mon, 28 Sep 2020 09:24:34 -0400
In-Reply-To: <83r1qmmnxu.fsf@HIDDEN> (Eli Zaretskii's message of "Mon, 28 Sep
 2020 09:10:21 +0300")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.073 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: ghe@HIDDEN, 43572 <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: -3.3 (---)

> I actually thought about putting the text property or overlay on the
> first character of the text inserted into the minibuffer,

I don't understand what data you intend to put this way.
The overlay I proposed carries fundamentally 2 pieces of info: the
beginning position and the end position of the "scroll focus".
So if it needs to cover the first char, you can't use `overlay-start` to
carry the first info.


        Stefan





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

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


Received: (at 43572) by debbugs.gnu.org; 28 Sep 2020 06:20:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 28 02:20:50 2020
Received: from localhost ([127.0.0.1]:51239 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kMmWo-000193-EG
	for submit <at> debbugs.gnu.org; Mon, 28 Sep 2020 02:20:50 -0400
Received: from eggs.gnu.org ([209.51.188.92]:32846)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kMmWn-00018q-46
 for 43572 <at> debbugs.gnu.org; Mon, 28 Sep 2020 02:20:49 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:37714)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kMmWh-00078y-SP; Mon, 28 Sep 2020 02:20:43 -0400
Received: from [176.228.60.248] (port=2246 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kMmWh-0002qP-6k; Mon, 28 Sep 2020 02:20:43 -0400
Date: Mon, 28 Sep 2020 09:20:30 +0300
Message-Id: <83pn66mngx.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <jwvr1qm6g5r.fsf-monnier+emacs@HIDDEN> (message from Stefan
 Monnier on Sun, 27 Sep 2020 17:59:02 -0400)
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN> <83a6xguy7w.fsf@HIDDEN>
 <jwvy2l0qe29.fsf-monnier+emacs@HIDDEN> <83y2kztf9v.fsf@HIDDEN>
 <jwvd02bp1o1.fsf-monnier+emacs@HIDDEN> <83ft77t8kh.fsf@HIDDEN>
 <jwvr1qm6g5r.fsf-monnier+emacs@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: ghe@HIDDEN, 43572 <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: -3.3 (---)

> From: Stefan Monnier <monnier@HIDDEN>
> Cc: ghe@HIDDEN,  43572 <at> debbugs.gnu.org
> Date: Sun, 27 Sep 2020 17:59:02 -0400
> 
> >> IOW, by default if scrolling was needed anyway and scroll-conservatively
> >> is not set, I'd expect "centered at point".
> > The code which implements automatic scrolling was not written with the
> > mini-window in mind.  In fact, we would like not to allow any
> > scrolling at all there.
> 
> When the window is big enough to show the whole content, I agree, but as
> soon as the buffer is bigger then we need to handle scrolling, just
> like elsewhere.
> 
> > So perhaps relying on scrolling could be fine in normal windows, it
> > will most probably do the wrong thing in mini-windows.
> 
> That's not my experience so far.  I do find that the
> `scroll-conservatively` is generally desired for the mini-window
> (whereas I don't generally like it in normal windows), but other than
> that I find (much to my surprise) that the generic scrolling code
> behaves just as well as the ad-hoc scrolling code in resize_mini_window.

Maybe it's 80% correct, but my worry is exactly those remaining 20%.
It is they that generate most of the bug reports in Emacs nowadays.
The fact that you find scroll-conservatively improve the results is
already a clear sign that the scrolling mechanism is not fit very well
for such small windows, especially when they are used for user
interaction.  And if you look at the window-display code, you will see
there several code fragments dealing with the cases of a text line
which is as tall or taller than the window, whose results are frankly
questionable, and whose only justification is that those cases "should
not happen".  What you suggest will make the probability of that
happening much higher, and in use cases where it will hurt.

And all this is even before we take the massive use of overlay strings
in some completion features.

So no, I cannot agree that your experience is evidence good enough for
allowing GP Emacs scrolling code to handle mini-window display.

> Thinking about it, maybe I shouldn't be surprised: the generic code is
> used much more often and has been tuned quite heavily over the years to
> provide good behavior is the vast majority of cases, so it's only
> "normal" that it should behave nicely in this case as well.

That is true, but it wasn't tuned to the use cases we meet every day
in the mini-windows.  We generally don't allow a window to become too
small in height, but that happens with mini-windows all the time.




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

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


Received: (at 43572) by debbugs.gnu.org; 28 Sep 2020 06:10:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 28 02:10:41 2020
Received: from localhost ([127.0.0.1]:51233 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kMmMz-0000uV-EG
	for submit <at> debbugs.gnu.org; Mon, 28 Sep 2020 02:10:41 -0400
Received: from eggs.gnu.org ([209.51.188.92]:59390)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kMmMx-0000uH-GJ
 for 43572 <at> debbugs.gnu.org; Mon, 28 Sep 2020 02:10:39 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:37612)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kMmMs-0005xk-AA; Mon, 28 Sep 2020 02:10:34 -0400
Received: from [176.228.60.248] (port=1629 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kMmMr-00025d-N8; Mon, 28 Sep 2020 02:10:34 -0400
Date: Mon, 28 Sep 2020 09:10:21 +0300
Message-Id: <83r1qmmnxu.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <jwvwo0e6gcb.fsf-monnier+emacs@HIDDEN> (message from Stefan
 Monnier on Sun, 27 Sep 2020 17:52:21 -0400)
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
 <834knnuugm.fsf@HIDDEN> <jwvimc3p2a0.fsf-monnier+emacs@HIDDEN>
 <83h7rnt8s3.fsf@HIDDEN> <833633nqru.fsf@HIDDEN>
 <jwvwo0e6gcb.fsf-monnier+emacs@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: ghe@HIDDEN, 43572 <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: -3.3 (---)

> From: Stefan Monnier <monnier@HIDDEN>
> Cc: ghe@HIDDEN,  43572 <at> debbugs.gnu.org
> Date: Sun, 27 Sep 2020 17:52:21 -0400
> 
> >> This sounds like the same idea of a text property, only with an
> >> overlay and a more complicated test for applicability.  When I said
> >> "text property", I meant both text and overlay property, so if you
> >> think your proposal above is less difficult/inconvenient, then using
> >> just an overlay would be even simpler, no?  Or what am I missing?
> 
> My motivation was to solve the issue of finding the relevant overlay.
> But yes, we could also just try and find "the overlay that covers point
> and which has a non-nil `scroll-focus` property".  We'll just have to be
> careful to properly handle the case where point is exactly at
> `overlay-start` or `overlay-end`.

I actually thought about putting the text property or overlay on the
first character of the text inserted into the minibuffer, something
that can be done in a minibuffer-setup-hook.  This way, it will be
easy to find.  Of course, having that on any other part of the text
will not make the job much harder, either.




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

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


Received: (at 43572) by debbugs.gnu.org; 27 Sep 2020 21:59:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 27 17:59:12 2020
Received: from localhost ([127.0.0.1]:50621 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kMehL-0001SD-P7
	for submit <at> debbugs.gnu.org; Sun, 27 Sep 2020 17:59:12 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:11640)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1kMehK-0001S1-AR
 for 43572 <at> debbugs.gnu.org; Sun, 27 Sep 2020 17:59:10 -0400
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id E8BB980ACA;
 Sun, 27 Sep 2020 17:59:04 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 90F4280252;
 Sun, 27 Sep 2020 17:59:03 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1601243943;
 bh=Jb2KlR+upXr18c3yqejqgCjTHS6UGVnIP7yjqsaQEaM=;
 h=From:To:Cc:Subject:References:Date:In-Reply-To:From;
 b=aQlHq4/BFfZ6zB2UAi1Gv+z+qM+N/6g9oNh13HIjghEVMNVxHzQcgl726B1LWSC1/
 JoiPgNUhAfTlZSYUroE1GFBx1xMXn/89/KElV4Lt/pVjrKe9QF3Xch9o2h2fWPX4nz
 EqJd1aQwgn3Funy93+haLoOyl2jHa2D+ml39lZVGWqD8UvhatbRXQXnqrdcUyrgIlO
 aAzzTPPm1cneA01kb4ZcUG7jSNoRf3mM/9a8/JIABk6tJCpd8W07qpoNGXETOdWyqu
 fLTAA63Typ4/0Js+tizYQ9KAPmiqVMKaNbrlwmLKp/IkjAJYDTfY2CfuebGQgHG29v
 vsXXJSDUHofHQ==
Received: from alfajor (unknown [45.72.232.131])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 632EA120225;
 Sun, 27 Sep 2020 17:59:03 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
Message-ID: <jwvr1qm6g5r.fsf-monnier+emacs@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN> <83a6xguy7w.fsf@HIDDEN>
 <jwvy2l0qe29.fsf-monnier+emacs@HIDDEN> <83y2kztf9v.fsf@HIDDEN>
 <jwvd02bp1o1.fsf-monnier+emacs@HIDDEN> <83ft77t8kh.fsf@HIDDEN>
Date: Sun, 27 Sep 2020 17:59:02 -0400
In-Reply-To: <83ft77t8kh.fsf@HIDDEN> (Eli Zaretskii's message of "Thu, 24 Sep
 2020 19:59:10 +0300")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.074 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: ghe@HIDDEN, 43572 <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: -3.3 (---)

>> IOW, by default if scrolling was needed anyway and scroll-conservatively
>> is not set, I'd expect "centered at point".
> The code which implements automatic scrolling was not written with the
> mini-window in mind.  In fact, we would like not to allow any
> scrolling at all there.

When the window is big enough to show the whole content, I agree, but as
soon as the buffer is bigger then we need to handle scrolling, just
like elsewhere.

> So perhaps relying on scrolling could be fine in normal windows, it
> will most probably do the wrong thing in mini-windows.

That's not my experience so far.  I do find that the
`scroll-conservatively` is generally desired for the mini-window
(whereas I don't generally like it in normal windows), but other than
that I find (much to my surprise) that the generic scrolling code
behaves just as well as the ad-hoc scrolling code in resize_mini_window.

Thinking about it, maybe I shouldn't be surprised: the generic code is
used much more often and has been tuned quite heavily over the years to
provide good behavior is the vast majority of cases, so it's only
"normal" that it should behave nicely in this case as well.


        Stefan





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

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


Received: (at 43572) by debbugs.gnu.org; 27 Sep 2020 21:52:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 27 17:52:45 2020
Received: from localhost ([127.0.0.1]:50616 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kMeb6-0001JX-Un
	for submit <at> debbugs.gnu.org; Sun, 27 Sep 2020 17:52:45 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:5535)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1kMeb5-0001JK-2g
 for 43572 <at> debbugs.gnu.org; Sun, 27 Sep 2020 17:52:43 -0400
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id AF5794412A6;
 Sun, 27 Sep 2020 17:52:37 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 30D11440C06;
 Sun, 27 Sep 2020 17:52:29 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1601243549;
 bh=glV7QG9ZkRTLm1rUwCrbaxN2lRekoqo4NXELlX5rYdc=;
 h=From:To:Cc:Subject:References:Date:In-Reply-To:From;
 b=YM8A1CUBOQ+auSBsar7RSF/mMH5ierSkYMCZ1GwuxSjeEr9TfW+mTjVw8NqaCqFbU
 0MP7H/wew26CHnAENCOHNr/MNK0R8fBXnsdIR/2vnnwk/3y9jmYum0Ro/aPeHUVSKR
 7zkBqstSJ+sk+7l3nsdzeaKDo3NuK3XTwfm4in+KW/WQWJVS7xeSb2GsMp7gVpuo7X
 Wg4uFuYpbEW6tegb4q0WjGughN57K9TsGZwcbzzv4vHOsszPZDIxVAc/GN8afVvClU
 WiHQ/MVEAR1QFNa/dH4IlNsi+E6VfRZTBqiDK4BsN06JqYf2kKegOx/q2flaG5G86j
 oe+F9jUzhCgPw==
Received: from alfajor (unknown [45.72.232.131])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id F1CDE1205E1;
 Sun, 27 Sep 2020 17:52:28 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
Message-ID: <jwvwo0e6gcb.fsf-monnier+emacs@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
 <834knnuugm.fsf@HIDDEN> <jwvimc3p2a0.fsf-monnier+emacs@HIDDEN>
 <83h7rnt8s3.fsf@HIDDEN> <833633nqru.fsf@HIDDEN>
Date: Sun, 27 Sep 2020 17:52:21 -0400
In-Reply-To: <833633nqru.fsf@HIDDEN> (Eli Zaretskii's message of "Sun, 27 Sep
 2020 19:11:33 +0300")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.058 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: ghe@HIDDEN, 43572 <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: -3.3 (---)

>> This sounds like the same idea of a text property, only with an
>> overlay and a more complicated test for applicability.  When I said
>> "text property", I meant both text and overlay property, so if you
>> think your proposal above is less difficult/inconvenient, then using
>> just an overlay would be even simpler, no?  Or what am I missing?

My motivation was to solve the issue of finding the relevant overlay.
But yes, we could also just try and find "the overlay that covers point
and which has a non-nil `scroll-focus` property".  We'll just have to be
careful to properly handle the case where point is exactly at
`overlay-start` or `overlay-end`.


        Stefan





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

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


Received: (at 43572) by debbugs.gnu.org; 27 Sep 2020 16:11:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 27 12:11:54 2020
Received: from localhost ([127.0.0.1]:50273 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kMZHG-0005rB-LE
	for submit <at> debbugs.gnu.org; Sun, 27 Sep 2020 12:11:54 -0400
Received: from eggs.gnu.org ([209.51.188.92]:54274)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kMZHE-0005qt-KN
 for 43572 <at> debbugs.gnu.org; Sun, 27 Sep 2020 12:11:53 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:53328)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kMZH9-0001Oo-2V; Sun, 27 Sep 2020 12:11:47 -0400
Received: from [176.228.60.248] (port=2033 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kMZH8-0008IZ-EI; Sun, 27 Sep 2020 12:11:46 -0400
Date: Sun, 27 Sep 2020 19:11:33 +0300
Message-Id: <833633nqru.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: monnier@HIDDEN
In-Reply-To: <83h7rnt8s3.fsf@HIDDEN> (message from Eli Zaretskii on Thu, 24
 Sep 2020 19:54:36 +0300)
Subject: Re: bug#43572: Feature request: make it possible to choose whether the
 first lines of the minibuffer should be displayed instead of the last ones
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
 <834knnuugm.fsf@HIDDEN> <jwvimc3p2a0.fsf-monnier+emacs@HIDDEN>
 <83h7rnt8s3.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: ghe@HIDDEN, 43572 <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: -3.3 (---)

Ping!

> Date: Thu, 24 Sep 2020 19:54:36 +0300
> From: Eli Zaretskii <eliz@HIDDEN>
> Cc: ghe@HIDDEN, 43572 <at> debbugs.gnu.org
> 
> > From: Stefan Monnier <monnier@HIDDEN>
> > Cc: Gregory Heytings <ghe@HIDDEN>,  43572 <at> debbugs.gnu.org
> > Date: Thu, 24 Sep 2020 12:40:59 -0400
> > 
> > > So I agree with Stefan that the text inserted into the minibuffer
> > > should itself indicate to the display engine that it wants to be
> > > displayed starting at BOB.  That way we don't have to worry about
> > > inadvertently affecting other users of the mini-window.
> > 
> > It might be difficult/inconvenient to have the info directly in the
> > text, tho.
> 
> I don't think I see why it would be difficult/inconvenient.  Can you
> explain?
> 
> > How 'bout using a window-parameter whose value should be an overlay
> > indicating the "area of focus", and then only obey this parameter if:
> > - the overlay is in the buffer that's being displayed.
> > - and window-point is lies within this overlay.
> 
> This sounds like the same idea of a text property, only with an
> overlay and a more complicated test for applicability.  When I said
> "text property", I meant both text and overlay property, so if you
> think your proposal above is less difficult/inconvenient, then using
> just an overlay would be even simpler, no?  Or what am I missing?
> 
> > One more thing: there's a good argument to make that icomplete-vertical
> > should list the completions *above* the minibuffer's prompt rather than
> > below (so as not to affect the positions of the minibuffer's prompt so
> > much).  But in that case, the part of the overlay's after/before string
> > (when too long) which should be truncated (when the mini-window is too
> > small) is the beginning, whereas IIUC the current redisplay is unable to
> > display "the end" of an overlay's after/before string unless it also
> > shows its beginning.
> 
> Yes, we cannot start a window's display in the middle of an overlay
> string.
> 
> In general, display and overlay strings were not intended for 75%
> (maybe more) of the uses they get nowadays, and it shows.




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

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


Received: (at 43572) by debbugs.gnu.org; 25 Sep 2020 18:31:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 25 14:31:51 2020
Received: from localhost ([127.0.0.1]:45345 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLsVa-0006IJ-PK
	for submit <at> debbugs.gnu.org; Fri, 25 Sep 2020 14:31:50 -0400
Received: from mx.sdf.org ([205.166.94.24]:64030)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ghe@HIDDEN>) id 1kLsVX-0006I9-Gu
 for 43572 <at> debbugs.gnu.org; Fri, 25 Sep 2020 14:31:49 -0400
Received: from sdf.org (IDENT:ghe@HIDDEN [205.166.94.8])
 by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 08PIVju6015664
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO);
 Fri, 25 Sep 2020 18:31:46 GMT
Received: (from ghe@localhost)
 by sdf.org (8.15.2/8.12.8/Submit) id 08PIW2o1019806;
 Fri, 25 Sep 2020 18:32:02 GMT
Date: Fri, 25 Sep 2020 18:31:42 +0000
From: Gregory Heytings <ghe@HIDDEN>
To: 43572 <at> debbugs.gnu.org
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
In-Reply-To: <83h7rov7xy.fsf@HIDDEN>
Message-ID: <alpine.NEB.2.22.394.2009252027320453.24533@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <83h7rov7xy.fsf@HIDDEN>
User-Agent: Alpine 2.22 (NEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset=US-ASCII
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 43572
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 (-)


A simple recipe to demonstrate the problem:

emacs -Q

(let (w bd)
   (setq w 60)
   (setq bd (concat (temporary-file-directory) (make-string w ?a) "/"))
   (dolist (d '("a" "b" "c" "d" "e")) (make-directory (concat bd d) t))
   (setq default-directory bd)
   (set-frame-height nil 20)
   (set-frame-width nil (+ (length bd) 10))
   (icomplete-mode)
   (setq icomplete-separator "\n")
   (call-interactively 'insert-file))




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

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


Received: (at 43572) by debbugs.gnu.org; 25 Sep 2020 11:34:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 25 07:34:28 2020
Received: from localhost ([127.0.0.1]:42895 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLlzf-0003re-O6
	for submit <at> debbugs.gnu.org; Fri, 25 Sep 2020 07:34:28 -0400
Received: from mx.sdf.org ([205.166.94.24]:62767)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ghe@HIDDEN>) id 1kLlzd-0003rW-Bw
 for 43572 <at> debbugs.gnu.org; Fri, 25 Sep 2020 07:34:26 -0400
Received: from sdf.org (IDENT:ghe@HIDDEN [205.166.94.8])
 by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 08PBYOTG001887
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO);
 Fri, 25 Sep 2020 11:34:24 GMT
Received: (from ghe@localhost)
 by sdf.org (8.15.2/8.12.8/Submit) id 08PBYesj026223;
 Fri, 25 Sep 2020 11:34:40 GMT
Date: Fri, 25 Sep 2020 11:34:21 +0000
From: Gregory Heytings <ghe@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
In-Reply-To: <83tuvmrtpf.fsf@HIDDEN>
Message-ID: <alpine.NEB.2.22.394.2009251323450453.26433@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <83h7rov7xy.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009231827310453.19701@HIDDEN>
 <837dskuvx3.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009232148140453.30611@HIDDEN>
 <833637uubc.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241633460453.11736@HIDDEN>
 <83mu1ftdkb.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241730350453.16370@HIDDEN>
 <83imc3tach.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241822130453.19833@HIDDEN>
 <83eemrt8da.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009242034030453.28058@HIDDEN>
 <838scytk87.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009250937100453.11204@HIDDEN>
 <835z82tdz9.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009251120200453.18725@HIDDEN>
 <83tuvmrtpf.fsf@HIDDEN>
User-Agent: Alpine 2.22 (NEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset=US-ASCII
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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 (-)


>> And Stefan refers to bug#24293 and bug#39379, where the same problem 
>> (the prompt becomes invisible) is explained and workarounds are 
>> discussed.
>
> I disagree that it's the same problem.  Part of what is described there 
> is the problem fixed in bug#43519, the other part is the intended 
> behavior.
>

Yet it is the same problem.  The fact that these bugs use simple examples 
(presumably because their authors did not yet investigate the more complex 
cases) does not mean that their bug reports mean something else than what 
they clearly say: "the prompt is not visible".

>
> And I disagree, as explained above.  So let's agree to disagree, because 
> these back-and-forth messages, where we both say the same things over 
> and over and over again, are already too many to be useful.
>

I agree to disagree.

Please tell me when you and Stefan agree on a better / the best way to 
solve the current problem.  I'll be silent till then.




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

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


Received: (at 43572) by debbugs.gnu.org; 25 Sep 2020 11:17:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 25 07:17:46 2020
Received: from localhost ([127.0.0.1]:42853 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLljW-0001IK-6j
	for submit <at> debbugs.gnu.org; Fri, 25 Sep 2020 07:17:46 -0400
Received: from eggs.gnu.org ([209.51.188.92]:49128)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kLljU-0001I6-5a
 for 43572 <at> debbugs.gnu.org; Fri, 25 Sep 2020 07:17:44 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:59302)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kLljO-0006WL-OW; Fri, 25 Sep 2020 07:17:38 -0400
Received: from [176.228.60.248] (port=3533 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kLljO-0005zS-05; Fri, 25 Sep 2020 07:17:38 -0400
Date: Fri, 25 Sep 2020 14:17:48 +0300
Message-Id: <83tuvmrtpf.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Gregory Heytings <ghe@HIDDEN>
In-Reply-To: <alpine.NEB.2.22.394.2009251120200453.18725@HIDDEN>
 (message from Gregory Heytings on Fri, 25 Sep 2020 10:14:47 +0000)
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <83h7rov7xy.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009231827310453.19701@HIDDEN>
 <837dskuvx3.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009232148140453.30611@HIDDEN>
 <833637uubc.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241633460453.11736@HIDDEN>
 <83mu1ftdkb.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241730350453.16370@HIDDEN>
 <83imc3tach.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241822130453.19833@HIDDEN>
 <83eemrt8da.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009242034030453.28058@HIDDEN>
 <838scytk87.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009250937100453.11204@HIDDEN>
 <835z82tdz9.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009251120200453.18725@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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: -3.3 (---)

> Date: Fri, 25 Sep 2020 10:14:47 +0000
> From: Gregory Heytings <ghe@HIDDEN>
> cc: 43572 <at> debbugs.gnu.org
> 
> >> In fact these changes are, IMO, very regrettable, because they solve 
> >> 95% of the problems that have been discussed in bug#24293, bug#39379, 
> >> bug#43519 and bug#43572 (and perhaps others), and the remaining 5% will 
> >> have to be solved another way (by text properties if that's what you 
> >> agree on with Stefan).
> >
> > They solve the issue pointed out by Stefan in bug#43519.  That they, by 
> > sheer luck, also solve some of the other issues is just that -- sheer 
> > luck.  I don't claim and didn't intend to solve all the problems, in 
> > particular the issue discussed in this bug report.  They are related, 
> > but different issues.
> >
> 
> There have been several misunderstandings in these discussions.  In 
> bug#43519, Stefan pointed out an issue with a simple recipe to exhibit a 
> more general problem.  This simple recipe, because it was simple, did not 
> demonstrate all aspects of the problem.  In particular, it only 
> demonstrated what he called "horizontal scrolling", when the problem in 
> fact involves both horizontal _and vertical_ scrolling.

I'll leave it to Stefan to say what he meant, but here's my
understanding: the problem Stefan complained about in bug#43519 was
only what you call "horizontal scrolling", and he complained about it
because that didn't happen with text that came from a buffer (as
opposed to text from an overlay string).  This is the part that I
fixed.

What you call "vertical scrolling" happens with both buffer text and
overlay strings, and is the subject of this bug report.  It's a
separate issue.

> As you see, the point is to keep the prompt visible, not just to avoid 
> horizontal scrolling.

The prompt cannot always be kept visible as long as we display the
last portion of the text in the mini-window.  The code is explicitly
designed to enforce this, so it is not a bug, but the intended
behavior.  You suggest in this bug report to add a feature that allows
to change that policy.  But that is an issue separate from bug#43519,
and thus not directly related to the changes I installed to fix that
bug.

> And Stefan refers to bug#24293 and bug#39379, where the same problem
> (the prompt becomes invisible) is explained and workarounds are
> discussed.

I disagree that it's the same problem.  Part of what is described
there is the problem fixed in bug#43519, the other part is the
intended behavior.

> > Reverting those changes would be a very strange thing to do.  Those 
> > changes solve a specific problem, and they solve it cleanly.
> 
> They partially solve a specific problem.  This specific problem exists 
> only in the context of inserting completion candidates at EOB with an 
> overlay.  And the specific problem is not horizontal scrolling, the 
> specific problem is the prompt that becomes invisible.  I clearly said 
> (and explained) in bug#43519 that to solve that problem it is necessary to 
> start display at BOB, and you preferred to implement a change that starts 
> display at BOL.  I think these changes are misleading.

And I disagree, as explained above.  So let's agree to disagree,
because these back-and-forth messages, where we both say the same
things over and over and over again, are already too many to be
useful.




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

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


Received: (at 43572) by debbugs.gnu.org; 25 Sep 2020 10:14:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 25 06:14:54 2020
Received: from localhost ([127.0.0.1]:42757 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLkkg-0001b4-8N
	for submit <at> debbugs.gnu.org; Fri, 25 Sep 2020 06:14:54 -0400
Received: from mx.sdf.org ([205.166.94.24]:50917)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ghe@HIDDEN>) id 1kLkkd-0001av-Mb
 for 43572 <at> debbugs.gnu.org; Fri, 25 Sep 2020 06:14:52 -0400
Received: from sdf.org (IDENT:ghe@HIDDEN [205.166.94.8])
 by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 08PAEodm022102
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO);
 Fri, 25 Sep 2020 10:14:50 GMT
Received: (from ghe@localhost)
 by sdf.org (8.15.2/8.12.8/Submit) id 08PAF4Ie014435;
 Fri, 25 Sep 2020 10:15:04 GMT
Date: Fri, 25 Sep 2020 10:14:47 +0000
From: Gregory Heytings <ghe@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
In-Reply-To: <835z82tdz9.fsf@HIDDEN>
Message-ID: <alpine.NEB.2.22.394.2009251120200453.18725@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <83h7rov7xy.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009231827310453.19701@HIDDEN>
 <837dskuvx3.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009232148140453.30611@HIDDEN>
 <833637uubc.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241633460453.11736@HIDDEN>
 <83mu1ftdkb.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241730350453.16370@HIDDEN>
 <83imc3tach.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241822130453.19833@HIDDEN>
 <83eemrt8da.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009242034030453.28058@HIDDEN>
 <838scytk87.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009250937100453.11204@HIDDEN>
 <835z82tdz9.fsf@HIDDEN>
User-Agent: Alpine 2.22 (NEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset=US-ASCII
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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 (-)


>> In fact these changes are, IMO, very regrettable, because they solve 
>> 95% of the problems that have been discussed in bug#24293, bug#39379, 
>> bug#43519 and bug#43572 (and perhaps others), and the remaining 5% will 
>> have to be solved another way (by text properties if that's what you 
>> agree on with Stefan).
>
> They solve the issue pointed out by Stefan in bug#43519.  That they, by 
> sheer luck, also solve some of the other issues is just that -- sheer 
> luck.  I don't claim and didn't intend to solve all the problems, in 
> particular the issue discussed in this bug report.  They are related, 
> but different issues.
>

There have been several misunderstandings in these discussions.  In 
bug#43519, Stefan pointed out an issue with a simple recipe to exhibit a 
more general problem.  This simple recipe, because it was simple, did not 
demonstrate all aspects of the problem.  In particular, it only 
demonstrated what he called "horizontal scrolling", when the problem in 
fact involves both horizontal _and vertical_ scrolling.

I'll remind a second time the discussion on emacs-devel that prompted 
Stefan to file bug#43519:

Ergus: [To implement icomplete-vertical] we need to add the exact amount 
of lines as accurate[ly] as possible.

Stefan: I *strongly* recommend you design the behavior under the 
assumption that it's OK if there are a few more lines in the (mini)buffer 
than are actually visible.

Me: If there are too many candidates the prompt disappears, leaving the 
cursor at the beginning of the minibuffer, which is counterintuitive.  A 
simple example: after (setq max-mini-window-height 1), with "M-x a" the 
"M-x" prompt and the "a" disappear.

Stefan: That can (and should) be fixed without having to reduce the number 
of candidates inserted in the (mini)buffer.

Ergus: It will be great if you give me an idea about how to do that.

Stefan: You need to figure out why the redisplay decides to hide the 
prompt rather than some other part of the (mini)buffer.

Stefan files bug#43519 (with the "M-x a" example).

As you see, the point is to keep the prompt visible, not just to avoid 
horizontal scrolling.  And Stefan refers to bug#24293 and bug#39379, where 
the same problem (the prompt becomes invisible) is explained and 
workarounds are discussed.

>> I don't think you will do this, but please, please: revert these 
>> changes.
>
> Reverting those changes would be a very strange thing to do.  Those 
> changes solve a specific problem, and they solve it cleanly.
>

They partially solve a specific problem.  This specific problem exists 
only in the context of inserting completion candidates at EOB with an 
overlay.  And the specific problem is not horizontal scrolling, the 
specific problem is the prompt that becomes invisible.  I clearly said 
(and explained) in bug#43519 that to solve that problem it is necessary to 
start display at BOB, and you preferred to implement a change that starts 
display at BOL.  I think these changes are misleading.




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

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


Received: (at 43572) by debbugs.gnu.org; 25 Sep 2020 09:14:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 25 05:14:32 2020
Received: from localhost ([127.0.0.1]:42632 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLjoG-0006Jf-Bc
	for submit <at> debbugs.gnu.org; Fri, 25 Sep 2020 05:14:32 -0400
Received: from eggs.gnu.org ([209.51.188.92]:50554)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kLjoE-0006JS-9G
 for 43572 <at> debbugs.gnu.org; Fri, 25 Sep 2020 05:14:30 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:51090)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kLjo8-000879-Ib; Fri, 25 Sep 2020 05:14:24 -0400
Received: from [176.228.60.248] (port=3814 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kLjo7-0006xD-Ta; Fri, 25 Sep 2020 05:14:24 -0400
Date: Fri, 25 Sep 2020 12:14:34 +0300
Message-Id: <835z82tdz9.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Gregory Heytings <ghe@HIDDEN>
In-Reply-To: <alpine.NEB.2.22.394.2009250937100453.11204@HIDDEN>
 (message from Gregory Heytings on Fri, 25 Sep 2020 08:34:50 +0000)
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <83h7rov7xy.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009231827310453.19701@HIDDEN>
 <837dskuvx3.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009232148140453.30611@HIDDEN>
 <833637uubc.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241633460453.11736@HIDDEN>
 <83mu1ftdkb.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241730350453.16370@HIDDEN>
 <83imc3tach.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241822130453.19833@HIDDEN>
 <83eemrt8da.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009242034030453.28058@HIDDEN>
 <838scytk87.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009250937100453.11204@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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: -3.3 (---)

> Date: Fri, 25 Sep 2020 08:34:50 +0000
> From: Gregory Heytings <ghe@HIDDEN>
> cc: 43572 <at> debbugs.gnu.org
> 
> > I remind you the fact that read_minibuf enters recursive-edit, during 
> > which any of the other callers of resize_mini_window can be called.
> 
> Now I think I understand what you mean.  Mini-windows are used for 
> minibuffers and for the echo area.  So for example, when 
> `start-display-at-beginning-of-minibuffer' is set while icomplete is 
> active in a frame, a call to `message' in another frame will display the 
> first part of the string instead of its last part if the string is too 
> large.

Yes.  And there are more callers of resize_mini_window than just
'message', so what you say above is just one such problematic
scenario.

> This seems like a really minor problem.

It is still a problem, and what looks minor to us might not be minor
in some valid use case out there.  IME, people write code and even
entire packages around some assumption about how Emacs works in
specific cases.  Changes that break those assumptions will not be
welcome, to say the least.

> >> If this case is important, the attached corrected patch also disables 
> >> setting `start-display-at-beginning-of-minibuffer' in recursive 
> >> minibuffers, that is, it limits the effect of that variable to 
> >> non-recursive minibuffers.
> >
> > That's a limitation I'd prefer not to impose.
> 
> I would also prefer not to impose that limitation, I added it because you 
> asked it (or at least that's what I understood).

I didn't ask for the limitation, I pointed out a problem with the
design you were proposing.  I'd prefer that the design and the
implementation of this feature did not impose such limitations.  Emacs
generally behaves the same on any level of minibuffer recursion, and
I'd like us not to violate that with this feature.

> > I'm not claiming that the changes I made yesterday and today are 
> > supposed to produce the same effect as your proposed patch.  I'm just 
> > making the display with overlay-string behave (as much as possible) like 
> > display with normal buffer text, that's all.  Per bug#43519.  I'm not 
> > saying that my changes implement the feature you are asking for here.
> 
> In fact these changes are, IMO, very regrettable, because they solve 95% 
> of the problems that have been discussed in bug#24293, bug#39379, 
> bug#43519 and bug#43572 (and perhaps others), and the remaining 5% will 
> have to be solved another way (by text properties if that's what you agree 
> on with Stefan).

They solve the issue pointed out by Stefan in bug#43519.  That they,
by sheer luck, also solve some of the other issues is just that --
sheer luck.  I don't claim and didn't intend to solve all the
problems, in particular the issue discussed in this bug report.  They
are related, but different issues.

> This means that those who were trying to solve the problems in the 
> above-mentioned bugs will be misled in thinking that they are now solved 
> (if they don't immediately see these remaining 5%), and to not make the 
> effort to use the (not yet implemented) correct solution.

I really don't see why that would be the case.  If someone is
motivated to solve whatever is left of those other problems, they will
solve them, or at least will point out which aspects of them remain
unresolved.

> I don't think you will do this, but please, please: revert these changes.

Reverting those changes would be a very strange thing to do.  Those
changes solve a specific problem, and they solve it cleanly.  That
other problems partially remain just means more changes are necessary.
In particular, the issues discussed here are a new feature which
didn't exist until now; reverting fixes for an existing problem
because they fail to introduce a new feature makes very little sense
to me.

Btw, there's nothing wrong in principle with installing a partial
solution for a problem (even though that's not what I meant to do with
the changes that resolve bug#43519).  We can and do decide sometimes
that it's a good idea to install a partial fix if the part fixed is
important enough, or if a comprehensive solution is too dangerous, or
for any other valid concern.  This is not uncommon in Emacs
development.




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

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


Received: (at 43572) by debbugs.gnu.org; 25 Sep 2020 08:34:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 25 04:34:58 2020
Received: from localhost ([127.0.0.1]:42544 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLjBx-0005Ki-T2
	for submit <at> debbugs.gnu.org; Fri, 25 Sep 2020 04:34:58 -0400
Received: from mx.sdf.org ([205.166.94.24]:57891)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ghe@HIDDEN>) id 1kLjBu-0005KY-Q3
 for 43572 <at> debbugs.gnu.org; Fri, 25 Sep 2020 04:34:56 -0400
Received: from sdf.org (IDENT:ghe@HIDDEN [205.166.94.8])
 by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 08P8YruW020003
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO);
 Fri, 25 Sep 2020 08:34:53 GMT
Received: (from ghe@localhost)
 by sdf.org (8.15.2/8.12.8/Submit) id 08P8Z8bN029886;
 Fri, 25 Sep 2020 08:35:08 GMT
Date: Fri, 25 Sep 2020 08:34:50 +0000
From: Gregory Heytings <ghe@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
In-Reply-To: <838scytk87.fsf@HIDDEN>
Message-ID: <alpine.NEB.2.22.394.2009250937100453.11204@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <83h7rov7xy.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009231827310453.19701@HIDDEN>
 <837dskuvx3.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009232148140453.30611@HIDDEN>
 <833637uubc.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241633460453.11736@HIDDEN>
 <83mu1ftdkb.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241730350453.16370@HIDDEN>
 <83imc3tach.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241822130453.19833@HIDDEN>
 <83eemrt8da.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009242034030453.28058@HIDDEN>
 <838scytk87.fsf@HIDDEN>
User-Agent: Alpine 2.22 (NEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset=US-ASCII
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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 (-)


>> I'm not sure I understand what you mean, but it seems to me that these 
>> other uses of the mini-window are not at all affected by the proposed 
>> patch, given that `start-display-at-beginning-of-minibuffer' is reset 
>> immediately when read_minibuf() / read-from-minibuffer has ended.
>
> I remind you the fact that read_minibuf enters recursive-edit, during 
> which any of the other callers of resize_mini_window can be called.
>

Now I think I understand what you mean.  Mini-windows are used for 
minibuffers and for the echo area.  So for example, when 
`start-display-at-beginning-of-minibuffer' is set while icomplete is 
active in a frame, a call to `message' in another frame will display the 
first part of the string instead of its last part if the string is too 
large.  This seems like a really minor problem.

>>> And even in its use for the minibuffer, many users enable recursive 
>>> minibuffers.  I would not be surprised if some specialized modes and 
>>> packages enabled it for their operations.
>>
>> If this case is important, the attached corrected patch also disables 
>> setting `start-display-at-beginning-of-minibuffer' in recursive 
>> minibuffers, that is, it limits the effect of that variable to 
>> non-recursive minibuffers.
>
> That's a limitation I'd prefer not to impose.
>

I would also prefer not to impose that limitation, I added it because you 
asked it (or at least that's what I understood).  I think the second patch 
I sent is the best and simplest one.  I do agree with you that it's an 
ad-hoc solution, but there are other such ad-hoc solutions in Emacs, for 
example the `minibuffer-completing-file-name' variable, which even uses a 
"neither true nor false" intermediate state in recursive minibuffers.

Anyway, I won't argue further, at this point it seems clear that you don't 
want the patch I proposed.

A remark on what you wrote yesterday:

>
> I'm not claiming that the changes I made yesterday and today are 
> supposed to produce the same effect as your proposed patch.  I'm just 
> making the display with overlay-string behave (as much as possible) like 
> display with normal buffer text, that's all.  Per bug#43519.  I'm not 
> saying that my changes implement the feature you are asking for here.
>

In fact these changes are, IMO, very regrettable, because they solve 95% 
of the problems that have been discussed in bug#24293, bug#39379, 
bug#43519 and bug#43572 (and perhaps others), and the remaining 5% will 
have to be solved another way (by text properties if that's what you agree 
on with Stefan).

This means that those who were trying to solve the problems in the 
above-mentioned bugs will be misled in thinking that they are now solved 
(if they don't immediately see these remaining 5%), and to not make the 
effort to use the (not yet implemented) correct solution.

I don't think you will do this, but please, please: revert these changes.

>> I'll wait until you and Stefan agree on the way to solve that problem 
>> in a better way to start working on this.  In his last mail he is 
>> apparently not sure anymore that using text properties to do this, as 
>> he suggested yesterday, is the best solution.
>
> Yes, I'm still unsure why Stefan said that, and am waiting for his 
> elaborations.
>

Okay, I'm waiting for the conclusion of that discussion.




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

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


Received: (at 43572) by debbugs.gnu.org; 25 Sep 2020 06:59:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 25 02:59:36 2020
Received: from localhost ([127.0.0.1]:42398 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLhhf-00030L-K1
	for submit <at> debbugs.gnu.org; Fri, 25 Sep 2020 02:59:35 -0400
Received: from eggs.gnu.org ([209.51.188.92]:48280)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kLhhc-000304-KU
 for 43572 <at> debbugs.gnu.org; Fri, 25 Sep 2020 02:59:34 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:48561)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kLhhV-00008K-QP; Fri, 25 Sep 2020 02:59:25 -0400
Received: from [176.228.60.248] (port=3540 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kLhhV-0003Nb-EC; Fri, 25 Sep 2020 02:59:25 -0400
Date: Fri, 25 Sep 2020 09:59:36 +0300
Message-Id: <838scytk87.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Gregory Heytings <ghe@HIDDEN>
In-Reply-To: <alpine.NEB.2.22.394.2009242034030453.28058@HIDDEN>
 (message from Gregory Heytings on Thu, 24 Sep 2020 21:51:43 +0000)
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <83h7rov7xy.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009231827310453.19701@HIDDEN>
 <837dskuvx3.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009232148140453.30611@HIDDEN>
 <833637uubc.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241633460453.11736@HIDDEN>
 <83mu1ftdkb.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241730350453.16370@HIDDEN>
 <83imc3tach.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241822130453.19833@HIDDEN>
 <83eemrt8da.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009242034030453.28058@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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: -3.3 (---)

> Date: Thu, 24 Sep 2020 21:51:43 +0000
> From: Gregory Heytings <ghe@HIDDEN>
> cc: 43572 <at> debbugs.gnu.org
> 
> >> I can't believe this, in particular given that the default value of 
> >> enable-recursive-minibuffers is nil.
> >
> > You again are thinking only about uses of mini-window for editing in the 
> > minibuffer.  But that is not the only use of the mini-window.
> 
> I'm not sure I understand what you mean, but it seems to me that these 
> other uses of the mini-window are not at all affected by the proposed 
> patch, given that `start-display-at-beginning-of-minibuffer' is reset 
> immediately when read_minibuf() / read-from-minibuffer has ended.

I remind you the fact that read_minibuf enters recursive-edit, during
which any of the other callers of resize_mini_window can be called.

> > And even in its use for the minibuffer, many users enable recursive 
> > minibuffers.  I would not be surprised if some specialized modes and 
> > packages enabled it for their operations.
> 
> If this case is important, the attached corrected patch also disables 
> setting `start-display-at-beginning-of-minibuffer' in recursive 
> minibuffers, that is, it limits the effect of that variable to 
> non-recursive minibuffers.

That's a limitation I'd prefer not to impose.  It also doesn't affect
the other callers of resize_mini_window.

> I'll wait until you and Stefan agree on the way to solve that problem in a 
> better way to start working on this.  In his last mail he is apparently 
> not sure anymore that using text properties to do this, as he suggested 
> yesterday, is the best solution.

Yes, I'm still unsure why Stefan said that, and am waiting for his
elaborations.




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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 21:51:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 24 17:51:53 2020
Received: from localhost ([127.0.0.1]:41963 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLZ9d-0006pB-Fg
	for submit <at> debbugs.gnu.org; Thu, 24 Sep 2020 17:51:53 -0400
Received: from mx.sdf.org ([205.166.94.24]:63298)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ghe@HIDDEN>) id 1kLZ9Z-0006p1-RN
 for 43572 <at> debbugs.gnu.org; Thu, 24 Sep 2020 17:51:51 -0400
Received: from sdf.org (IDENT:ghe@HIDDEN [205.166.94.8])
 by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 08OLpmMR006821
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO);
 Thu, 24 Sep 2020 21:51:48 GMT
Received: (from ghe@localhost)
 by sdf.org (8.15.2/8.12.8/Submit) id 08OLq40C016395;
 Thu, 24 Sep 2020 21:52:04 GMT
Date: Thu, 24 Sep 2020 21:51:43 +0000
From: Gregory Heytings <ghe@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
In-Reply-To: <83eemrt8da.fsf@HIDDEN>
Message-ID: <alpine.NEB.2.22.394.2009242034030453.28058@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <83h7rov7xy.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009231827310453.19701@HIDDEN>
 <837dskuvx3.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009232148140453.30611@HIDDEN>
 <833637uubc.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241633460453.11736@HIDDEN>
 <83mu1ftdkb.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241730350453.16370@HIDDEN>
 <83imc3tach.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241822130453.19833@HIDDEN>
 <83eemrt8da.fsf@HIDDEN>
User-Agent: Alpine 2.22 (NEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="-212064758-2113494911-1600982255=:1876"
Content-ID: <alpine.NEB.2.22.394.2009242344030453.1876@HIDDEN>
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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 (-)

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

---212064758-2113494911-1600982255=:1876
Content-Type: text/plain; charset=US-ASCII; format=flowed
Content-ID: <alpine.NEB.2.22.394.2009242317551453.1876@HIDDEN>


>> I can't believe this, in particular given that the default value of 
>> enable-recursive-minibuffers is nil.
>
> You again are thinking only about uses of mini-window for editing in the 
> minibuffer.  But that is not the only use of the mini-window.
>

I'm not sure I understand what you mean, but it seems to me that these 
other uses of the mini-window are not at all affected by the proposed 
patch, given that `start-display-at-beginning-of-minibuffer' is reset 
immediately when read_minibuf() / read-from-minibuffer has ended.

>
> And even in its use for the minibuffer, many users enable recursive 
> minibuffers.  I would not be surprised if some specialized modes and 
> packages enabled it for their operations.
>

If this case is important, the attached corrected patch also disables 
setting `start-display-at-beginning-of-minibuffer' in recursive 
minibuffers, that is, it limits the effect of that variable to 
non-recursive minibuffers.

I'll wait until you and Stefan agree on the way to solve that problem in a 
better way to start working on this.  In his last mail he is apparently 
not sure anymore that using text properties to do this, as he suggested 
yesterday, is the best solution.
---212064758-2113494911-1600982255=:1876
Content-Type: text/x-diff; name=start-display-at-beginning-of-minibuffer.patch
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.NEB.2.22.394.2009242351390453.1876@HIDDEN>
Content-Description: 
Content-Disposition: attachment; filename=start-display-at-beginning-of-minibuffer.patch

ZGlmZiAtLWdpdCBhL3NyYy9taW5pYnVmLmMgYi9zcmMvbWluaWJ1Zi5jDQpp
bmRleCBmOTU3YjJhZTE3Li43NWFiODIyNzhiIDEwMDY0NA0KLS0tIGEvc3Jj
L21pbmlidWYuYw0KKysrIGIvc3JjL21pbmlidWYuYw0KQEAgLTQ3Miw2ICs0
NzIsOCBAQCByZWFkX21pbmlidWYgKExpc3BfT2JqZWN0IG1hcCwgTGlzcF9P
YmplY3QgaW5pdGlhbCwgTGlzcF9PYmplY3QgcHJvbXB0LA0KICAgICA9IEZj
b25zIChWb3ZlcnJpZGluZ19sb2NhbF9tYXAsDQogCSAgICAgRmNvbnMgKG1p
bmlidWZfd2luZG93LA0KIAkJICAgIG1pbmlidWZfc2F2ZV9saXN0KSk7DQor
ICBtaW5pYnVmX3NhdmVfbGlzdA0KKyAgICA9IEZjb25zIChWc3RhcnRfZGlz
cGxheV9hdF9iZWdpbm5pbmdfb2ZfbWluaWJ1ZmZlciwgbWluaWJ1Zl9zYXZl
X2xpc3QpOw0KICAgbWluaWJ1Zl9zYXZlX2xpc3QNCiAgICAgPSBGY29ucyAo
bWluaWJ1Zl9wcm9tcHQsDQogCSAgICAgRmNvbnMgKG1ha2VfZml4bnVtICht
aW5pYnVmX3Byb21wdF93aWR0aCksDQpAQCAtNjU5LDYgKzY2MSw4IEBAIHJl
YWRfbWluaWJ1ZiAoTGlzcF9PYmplY3QgbWFwLCBMaXNwX09iamVjdCBpbml0
aWFsLCBMaXNwX09iamVjdCBwcm9tcHQsDQogDQogICBydW5faG9vayAoUW1p
bmlidWZmZXJfc2V0dXBfaG9vayk7DQogDQorICBpZiAobWluaWJ1Zl9sZXZl
bCA+IDEpIFZzdGFydF9kaXNwbGF5X2F0X2JlZ2lubmluZ19vZl9taW5pYnVm
ZmVyID0gUW5pbDsNCisNCiAgIC8qIERvbid0IGFsbG93IHRoZSB1c2VyIHRv
IHVuZG8gcGFzdCB0aGlzIHBvaW50LiAgKi8NCiAgIGJzZXRfdW5kb19saXN0
IChjdXJyZW50X2J1ZmZlciwgUW5pbCk7DQogDQpAQCAtODAyLDYgKzgwNiw4
IEBAIHJlYWRfbWluaWJ1Zl91bndpbmQgKHZvaWQpDQogICBtaW5pYnVmX3Nh
dmVfbGlzdCA9IEZjZHIgKG1pbmlidWZfc2F2ZV9saXN0KTsNCiAgIFZtaW5p
YnVmZmVyX2hpc3RvcnlfdmFyaWFibGUgPSBGY2FyIChtaW5pYnVmX3NhdmVf
bGlzdCk7DQogICBtaW5pYnVmX3NhdmVfbGlzdCA9IEZjZHIgKG1pbmlidWZf
c2F2ZV9saXN0KTsNCisgIFZzdGFydF9kaXNwbGF5X2F0X2JlZ2lubmluZ19v
Zl9taW5pYnVmZmVyID0gRmNhciAobWluaWJ1Zl9zYXZlX2xpc3QpOw0KKyAg
bWluaWJ1Zl9zYXZlX2xpc3QgPSBGY2RyIChtaW5pYnVmX3NhdmVfbGlzdCk7
DQogICBWb3ZlcnJpZGluZ19sb2NhbF9tYXAgPSBGY2FyIChtaW5pYnVmX3Nh
dmVfbGlzdCk7DQogICBtaW5pYnVmX3NhdmVfbGlzdCA9IEZjZHIgKG1pbmli
dWZfc2F2ZV9saXN0KTsNCiAjaWYgMA0KQEAgLTIwOTcsNiArMjEwMywxNSBA
QCBzeW1zX29mX21pbmlidWYgKHZvaWQpDQogdXNlcyB0byBoaWRlIHBhc3N3
b3Jkcy4gICovKTsNCiAgIFZyZWFkX2hpZGVfY2hhciA9IFFuaWw7DQogDQor
ICBERUZWQVJfTElTUCAoInN0YXJ0LWRpc3BsYXktYXQtYmVnaW5uaW5nLW9m
LW1pbmlidWZmZXIiLCBWc3RhcnRfZGlzcGxheV9hdF9iZWdpbm5pbmdfb2Zf
bWluaWJ1ZmZlciwNCisJICAgICAgIGRvYzogLyogV2hldGhlciB0byBwcmVm
ZXJhYmx5IGRpc3BsYXkgdGhlIGJlZ2lubmluZyBvZiB0aGUgbWluaWJ1ZmZl
ci4NCitXaGVuIHRoZSBtaW5pLXdpbmRvdyBpcyBub3QgbGFyZ2UgZW5vdWdo
IHRvIGRpc3BsYXkgdGhlIGNvbXBsZXRlIG1pbmlidWZmZXIsDQordGhlIGRl
ZmF1bHQgYmVoYXZpb3IgaXMgdG8gZGlzcGxheSB0aGUgbGFzdCBwYXJ0IG9m
IHRoZSBtaW5pYnVmZmVyIGFuZCB0bw0KK2hpZGUgaXRzIGZpcnN0IHBhcnQu
ICBUaGlzIHZhcmlhYmxlIHJldmVyc2VzIHRoYXQgYmVoYXZpb3Igd2hlbiBp
dCBpcyBzZXQNCitpbiBgbWluaWJ1ZmZlci1zZXR1cC1ob29rJy4gIEl0IGlz
IHJlc2V0IGJlZm9yZSBhbmQgYWZ0ZXIgZWFjaCByZWFkIGZyb20NCit0aGUg
bWluaWJ1ZmZlciwgYW5kIHVuc2V0IGluIHJlY3Vyc2l2ZSBtaW5pYnVmZmVy
cy4gICovKTsNCisgIFZzdGFydF9kaXNwbGF5X2F0X2JlZ2lubmluZ19vZl9t
aW5pYnVmZmVyID0gUW5pbDsNCisNCiAgIGRlZnN1YnIgKCZTYWN0aXZlX21p
bmlidWZmZXJfd2luZG93KTsNCiAgIGRlZnN1YnIgKCZTc2V0X21pbmlidWZm
ZXJfd2luZG93KTsNCiAgIGRlZnN1YnIgKCZTcmVhZF9mcm9tX21pbmlidWZm
ZXIpOw0KZGlmZiAtLWdpdCBhL3NyYy94ZGlzcC5jIGIvc3JjL3hkaXNwLmMN
CmluZGV4IDQ5MjI1YzU2ZmUuLjFiMWEzNGI5N2YgMTAwNjQ0DQotLS0gYS9z
cmMveGRpc3AuYw0KKysrIGIvc3JjL3hkaXNwLmMNCkBAIC0xMTgwNCw3ICsx
MTgwNCw3IEBAIHJlc2l6ZV9taW5pX3dpbmRvdyAoc3RydWN0IHdpbmRvdyAq
dywgYm9vbCBleGFjdF9wKQ0KIAl9DQogDQogICAgICAgLyogQ29tcHV0ZSBh
IHN1aXRhYmxlIHdpbmRvdyBzdGFydC4gICovDQotICAgICAgaWYgKGhlaWdo
dCA+IG1heF9oZWlnaHQpDQorICAgICAgaWYgKGhlaWdodCA+IG1heF9oZWln
aHQgJiYgIUVRIChWc3RhcnRfZGlzcGxheV9hdF9iZWdpbm5pbmdfb2ZfbWlu
aWJ1ZmZlciwgUXQpKQ0KIAl7DQogCSAgaGVpZ2h0ID0gKG1heF9oZWlnaHQg
LyB1bml0KSAqIHVuaXQ7DQogCSAgaW5pdF9pdGVyYXRvciAoJml0LCB3LCBa
ViwgWlZfQllURSwgTlVMTCwgREVGQVVMVF9GQUNFX0lEKTsNCkBAIC0xMTgx
Miw3ICsxMTgxMiwxMCBAQCByZXNpemVfbWluaV93aW5kb3cgKHN0cnVjdCB3
aW5kb3cgKncsIGJvb2wgZXhhY3RfcCkNCiAJICBzdGFydCA9IGl0LmN1cnJl
bnQucG9zOw0KIAl9DQogICAgICAgZWxzZQ0KLQlTRVRfVEVYVF9QT1MgKHN0
YXJ0LCBCRUdWLCBCRUdWX0JZVEUpOw0KKwl7DQorCSAgaWYgKGhlaWdodCA+
IG1heF9oZWlnaHQpIGhlaWdodCA9IChtYXhfaGVpZ2h0IC8gdW5pdCkgKiB1
bml0Ow0KKwkgIFNFVF9URVhUX1BPUyAoc3RhcnQsIEJFR1YsIEJFR1ZfQllU
RSk7DQorCX0NCiANCiAgICAgICBTRVRfTUFSS0VSX0ZST01fVEVYVF9QT1Mg
KHctPnN0YXJ0LCBzdGFydCk7DQogDQo=

---212064758-2113494911-1600982255=:1876--




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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 17:03:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 24 13:03:29 2020
Received: from localhost ([127.0.0.1]:41520 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLUeX-0001ro-Ju
	for submit <at> debbugs.gnu.org; Thu, 24 Sep 2020 13:03:29 -0400
Received: from eggs.gnu.org ([209.51.188.92]:37654)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kLUeU-0001rb-Qm
 for 43572 <at> debbugs.gnu.org; Thu, 24 Sep 2020 13:03:27 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:36834)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kLUeP-0004XH-DO; Thu, 24 Sep 2020 13:03:21 -0400
Received: from [176.228.60.248] (port=3804 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kLUeP-0007H7-0t; Thu, 24 Sep 2020 13:03:21 -0400
Date: Thu, 24 Sep 2020 20:03:29 +0300
Message-Id: <83eemrt8da.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Gregory Heytings <ghe@HIDDEN>
In-Reply-To: <alpine.NEB.2.22.394.2009241822130453.19833@HIDDEN>
 (message from Gregory Heytings on Thu, 24 Sep 2020 16:40:58 +0000)
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <83h7rov7xy.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009231827310453.19701@HIDDEN>
 <837dskuvx3.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009232148140453.30611@HIDDEN>
 <833637uubc.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241633460453.11736@HIDDEN>
 <83mu1ftdkb.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241730350453.16370@HIDDEN>
 <83imc3tach.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241822130453.19833@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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: -3.3 (---)

> Date: Thu, 24 Sep 2020 16:40:58 +0000
> From: Gregory Heytings <ghe@HIDDEN>
> cc: 43572 <at> debbugs.gnu.org
> 
> > And in any case, we don't want to rely on luck in these matters, IME the 
> > Murphy laws are very strong here.
> 
> I can't believe this, in particular given that the default value of 
> enable-recursive-minibuffers is nil.

You again are thinking only about uses of mini-window for editing in
the minibuffer.  But that is not the only use of the mini-window.

And even in its use for the minibuffer, many users enable recursive
minibuffers.  I would not be surprised if some specialized modes and
packages enabled it for their operations.

> And in any case I'd say that it's to the third-party packages to
> adapt to changes in Emacs

If we break too many important packages, we will have bug reports
which we will be unable to ignore.  Emacs is expected to not break
third-party code too much too hard.

> > Can I convince you to try implementing this via text properties?
> 
> Of course you can.  But only if you promise you will not reject what I do.

If the implementation is clean, and doesn't present backward
compatibility problems, why would I want to reject it?




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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 16:59:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 24 12:59:13 2020
Received: from localhost ([127.0.0.1]:41516 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLUaP-0001kC-2T
	for submit <at> debbugs.gnu.org; Thu, 24 Sep 2020 12:59:13 -0400
Received: from eggs.gnu.org ([209.51.188.92]:36368)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kLUaM-0001jy-7n
 for 43572 <at> debbugs.gnu.org; Thu, 24 Sep 2020 12:59:11 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:36718)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kLUaF-0003vQ-Kn; Thu, 24 Sep 2020 12:59:03 -0400
Received: from [176.228.60.248] (port=3544 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kLUaD-0008FZ-MK; Thu, 24 Sep 2020 12:59:02 -0400
Date: Thu, 24 Sep 2020 19:59:10 +0300
Message-Id: <83ft77t8kh.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <jwvd02bp1o1.fsf-monnier+emacs@HIDDEN> (message from Stefan
 Monnier on Thu, 24 Sep 2020 12:44:56 -0400)
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN> <83a6xguy7w.fsf@HIDDEN>
 <jwvy2l0qe29.fsf-monnier+emacs@HIDDEN> <83y2kztf9v.fsf@HIDDEN>
 <jwvd02bp1o1.fsf-monnier+emacs@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: ghe@HIDDEN, 43572 <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: -3.3 (---)

> From: Stefan Monnier <monnier@HIDDEN>
> Cc: ghe@HIDDEN,  43572 <at> debbugs.gnu.org
> Date: Thu, 24 Sep 2020 12:44:56 -0400
> 
> > where [...] denotes the portion of text indicated as "important
> > chunk", and | denotes the position of point.  Suppose further than the
> > available screen estate is insufficient to display all of the
> > "important chunk" -- which part would you want to see on display: the
> > part before point? after point? centered at point? something else?
> 
> I think either of those would be fine, so it should be decided by the
> usual scrolling constraints (i.e. don't scroll if not needed, obey
> scroll-conservatively, ...).
> 
> IOW, by default if scrolling was needed anyway and scroll-conservatively
> is not set, I'd expect "centered at point".

The code which implements automatic scrolling was not written with the
mini-window in mind.  In fact, we would like not to allow any
scrolling at all there.

So perhaps relying on scrolling could be fine in normal windows, it
will most probably do the wrong thing in mini-windows.  And even in
normal windows, it will probably work only by sheer luck, because the
design there cares about the context of point, and that is not
necessarily what you want with "important chunks".




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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 16:54:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 24 12:54:40 2020
Received: from localhost ([127.0.0.1]:41508 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLUW0-0001d0-4g
	for submit <at> debbugs.gnu.org; Thu, 24 Sep 2020 12:54:40 -0400
Received: from eggs.gnu.org ([209.51.188.92]:35034)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kLUVw-0001ck-2E
 for 43572 <at> debbugs.gnu.org; Thu, 24 Sep 2020 12:54:39 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:36515)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kLUVn-00036B-S8; Thu, 24 Sep 2020 12:54:29 -0400
Received: from [176.228.60.248] (port=3263 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kLUVn-000467-BT; Thu, 24 Sep 2020 12:54:27 -0400
Date: Thu, 24 Sep 2020 19:54:36 +0300
Message-Id: <83h7rnt8s3.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <jwvimc3p2a0.fsf-monnier+emacs@HIDDEN> (message from Stefan
 Monnier on Thu, 24 Sep 2020 12:40:59 -0400)
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
 <834knnuugm.fsf@HIDDEN> <jwvimc3p2a0.fsf-monnier+emacs@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: ghe@HIDDEN, 43572 <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: -3.3 (---)

> From: Stefan Monnier <monnier@HIDDEN>
> Cc: Gregory Heytings <ghe@HIDDEN>,  43572 <at> debbugs.gnu.org
> Date: Thu, 24 Sep 2020 12:40:59 -0400
> 
> > So I agree with Stefan that the text inserted into the minibuffer
> > should itself indicate to the display engine that it wants to be
> > displayed starting at BOB.  That way we don't have to worry about
> > inadvertently affecting other users of the mini-window.
> 
> It might be difficult/inconvenient to have the info directly in the
> text, tho.

I don't think I see why it would be difficult/inconvenient.  Can you
explain?

> How 'bout using a window-parameter whose value should be an overlay
> indicating the "area of focus", and then only obey this parameter if:
> - the overlay is in the buffer that's being displayed.
> - and window-point is lies within this overlay.

This sounds like the same idea of a text property, only with an
overlay and a more complicated test for applicability.  When I said
"text property", I meant both text and overlay property, so if you
think your proposal above is less difficult/inconvenient, then using
just an overlay would be even simpler, no?  Or what am I missing?

> One more thing: there's a good argument to make that icomplete-vertical
> should list the completions *above* the minibuffer's prompt rather than
> below (so as not to affect the positions of the minibuffer's prompt so
> much).  But in that case, the part of the overlay's after/before string
> (when too long) which should be truncated (when the mini-window is too
> small) is the beginning, whereas IIUC the current redisplay is unable to
> display "the end" of an overlay's after/before string unless it also
> shows its beginning.

Yes, we cannot start a window's display in the middle of an overlay
string.

In general, display and overlay strings were not intended for 75%
(maybe more) of the uses they get nowadays, and it shows.




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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 16:45:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 24 12:45:07 2020
Received: from localhost ([127.0.0.1]:41494 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLUMk-0001Pg-RM
	for submit <at> debbugs.gnu.org; Thu, 24 Sep 2020 12:45:07 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:41805)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1kLUMi-0001Op-Ju
 for 43572 <at> debbugs.gnu.org; Thu, 24 Sep 2020 12:45:04 -0400
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 31E9A100251;
 Thu, 24 Sep 2020 12:44:59 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 4C18E100096;
 Thu, 24 Sep 2020 12:44:57 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1600965897;
 bh=kdxaotm2vSlL9P4Rq+s6wxRT7tdr6FvZpm7KsZkF+gE=;
 h=From:To:Cc:Subject:References:Date:In-Reply-To:From;
 b=AgaI9JCsMQ2JtXr6nVNySFJujJ4WQPM9vxG6PbLVxR1KM3rspLBuzhS4VW0q3ikNY
 c7WltCeQNS89sDEIcjJZqmwbrghlYt0XvbydzR8tacVO5CkfXSU2cYlywnKnHaivzI
 YYGVJU5U+74e9YE9AO8EB/Hp60up6xWgpn2Jlvh5pnQcpCOtQfgaaGQcicsPQz/UVD
 2dy1jDvqrXf+LbUml2Ew9ct9xyFwjqXfd1detV92WPDCuqwnrUjEs+xmE13i5nAvKg
 C5OygPy6xMA7+cXEwfOHTk0CWO7uwtdequGywUy/u0EIf/oxA/yG36BQKW1ONDkk8c
 fBVROEnXBW2dQ==
Received: from alfajor (unknown [45.72.232.131])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 1A6641204E8;
 Thu, 24 Sep 2020 12:44:57 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
Message-ID: <jwvd02bp1o1.fsf-monnier+emacs@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN> <83a6xguy7w.fsf@HIDDEN>
 <jwvy2l0qe29.fsf-monnier+emacs@HIDDEN> <83y2kztf9v.fsf@HIDDEN>
Date: Thu, 24 Sep 2020 12:44:56 -0400
In-Reply-To: <83y2kztf9v.fsf@HIDDEN> (Eli Zaretskii's message of "Thu, 24 Sep
 2020 17:34:20 +0300")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.049 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: ghe@HIDDEN, 43572 <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: -3.3 (---)

> where [...] denotes the portion of text indicated as "important
> chunk", and | denotes the position of point.  Suppose further than the
> available screen estate is insufficient to display all of the
> "important chunk" -- which part would you want to see on display: the
> part before point? after point? centered at point? something else?

I think either of those would be fine, so it should be decided by the
usual scrolling constraints (i.e. don't scroll if not needed, obey
scroll-conservatively, ...).

IOW, by default if scrolling was needed anyway and scroll-conservatively
is not set, I'd expect "centered at point".


        Stefan





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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 16:41:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 24 12:41:13 2020
Received: from localhost ([127.0.0.1]:41477 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLUIz-0001JT-FO
	for submit <at> debbugs.gnu.org; Thu, 24 Sep 2020 12:41:13 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:26768)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1kLUIt-0001J0-EQ
 for 43572 <at> debbugs.gnu.org; Thu, 24 Sep 2020 12:41:09 -0400
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id D01D4100251;
 Thu, 24 Sep 2020 12:41:01 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 70692100096;
 Thu, 24 Sep 2020 12:41:00 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1600965660;
 bh=yR8U1pZ5JnyysbgE7+dbBjFfYg8P3sieQgh0RcFnssc=;
 h=From:To:Cc:Subject:References:Date:In-Reply-To:From;
 b=gUem6m7VKeMjSxillf46eiEMOKVd9ZbuvldWFtKppqAksQ1cJgqklyWuea+qQm7uD
 /ucIrQN9q5XcCXLkdN+/5uFGRuV3kqrmmSvgiRp8Kru2nBXU0zavo6HRIUFNFwZgtV
 wqif9R76V6byIg/Jh/syJeeCDL4xwWlu/3RbvAU8v8GGbMDm+sblOWVx3gR9Ij7XWp
 PGO42ybfKepNpcn9XLUlUIH3fy+0rmXLykl6bSO3aTxOGA7WxztLcZ7FzytXR56gCC
 3b7xEl1CanaIJlV70mPoBi0tC6jDbKeapiZ8rPS5G+AEBB0k8riLSfcyLhvcXZpcky
 Np+trMwU2XSHQ==
Received: from alfajor (unknown [45.72.232.131])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 0C6361204DC;
 Thu, 24 Sep 2020 12:41:00 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
Message-ID: <jwvimc3p2a0.fsf-monnier+emacs@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
 <834knnuugm.fsf@HIDDEN>
Date: Thu, 24 Sep 2020 12:40:59 -0400
In-Reply-To: <834knnuugm.fsf@HIDDEN> (Eli Zaretskii's message of "Thu, 24 Sep
 2020 17:20:57 +0300")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.049 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: Gregory Heytings <ghe@HIDDEN>, 43572 <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: -3.3 (---)

> So I agree with Stefan that the text inserted into the minibuffer
> should itself indicate to the display engine that it wants to be
> displayed starting at BOB.  That way we don't have to worry about
> inadvertently affecting other users of the mini-window.

It might be difficult/inconvenient to have the info directly in the
text, tho.  Having it in a variable is not great (one of the
problems with it is that it depends on things like point so it's really
more "per-window" whereas variables are "per-buffer"), tho for the case
of minibuffers at least those buffers are normally never shown in more
than one window.

How 'bout using a window-parameter whose value should be an overlay
indicating the "area of focus", and then only obey this parameter if:
- the overlay is in the buffer that's being displayed.
- and window-point is lies within this overlay.

One more thing: there's a good argument to make that icomplete-vertical
should list the completions *above* the minibuffer's prompt rather than
below (so as not to affect the positions of the minibuffer's prompt so
much).  But in that case, the part of the overlay's after/before string
(when too long) which should be truncated (when the mini-window is too
small) is the beginning, whereas IIUC the current redisplay is unable to
display "the end" of an overlay's after/before string unless it also
shows its beginning.


        Stefan





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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 16:41:10 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 24 12:41:10 2020
Received: from localhost ([127.0.0.1]:41475 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLUIw-0001JJ-6y
	for submit <at> debbugs.gnu.org; Thu, 24 Sep 2020 12:41:10 -0400
Received: from mx.sdf.org ([205.166.94.24]:57004)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ghe@HIDDEN>) id 1kLUIq-0001J1-EV
 for 43572 <at> debbugs.gnu.org; Thu, 24 Sep 2020 12:41:08 -0400
Received: from sdf.org (IDENT:ghe@HIDDEN [205.166.94.8])
 by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 08OGf1Nn008210
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO);
 Thu, 24 Sep 2020 16:41:01 GMT
Received: (from ghe@localhost)
 by sdf.org (8.15.2/8.12.8/Submit) id 08OGfHx4005317;
 Thu, 24 Sep 2020 16:41:17 GMT
Date: Thu, 24 Sep 2020 16:40:58 +0000
From: Gregory Heytings <ghe@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
In-Reply-To: <83imc3tach.fsf@HIDDEN>
Message-ID: <alpine.NEB.2.22.394.2009241822130453.19833@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <83h7rov7xy.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009231827310453.19701@HIDDEN>
 <837dskuvx3.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009232148140453.30611@HIDDEN>
 <833637uubc.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241633460453.11736@HIDDEN>
 <83mu1ftdkb.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241730350453.16370@HIDDEN>
 <83imc3tach.fsf@HIDDEN>
User-Agent: Alpine 2.22 (NEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset=US-ASCII
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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 (-)


>> This seems to be a really minor problem.  What kind of problems could 
>> happen because during a recursive edit while icomplete or ido or ... is 
>> active, redisplay is asked to start displaying at BOB?  Do you really 
>> believe this could lead to a non-minor problem?
>
> Yes.  There are third-party packages out there that do unimaginable 
> things when the user is prompted to enter his/her choice of something.
>
> And in any case, we don't want to rely on luck in these matters, IME the 
> Murphy laws are very strong here.
>

I can't believe this, in particular given that the default value of 
enable-recursive-minibuffers is nil.  And in any case I'd say that it's to 
the third-party packages to adapt to changes in Emacs (and I'm sure from 
time to time there are changes here and there that force them to adapt 
their code).

>> Then I wonder why this did not happen earlier (and wonder when it will 
>> happen).  A bug report about this exact problem has already been filed 
>> five years ago (bug#24293).  Five years ago.  And the patch I'm 
>> proposing is less than ten lines long, and would be most welcome today.
>
> It didn't happen for the usual reasons: no one felt motivated enough to 
> sit down and do it.
>
> Can I convince you to try implementing this via text properties?
>

Of course you can.  But only if you promise you will not reject what I do.

>
> The code will be very simple, I promise.
>

In fact, that's not motivating ;-)

>
> And we are here to help if you are unsure how to go about that.
>

Thank you, that's good to know.




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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 16:26:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 24 12:26:52 2020
Received: from localhost ([127.0.0.1]:41468 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLU55-0000y4-S4
	for submit <at> debbugs.gnu.org; Thu, 24 Sep 2020 12:26:52 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:51750)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1kLU52-0000xo-Oz
 for 43572 <at> debbugs.gnu.org; Thu, 24 Sep 2020 12:26:51 -0400
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 16E47100251;
 Thu, 24 Sep 2020 12:26:43 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 92CA5100096;
 Thu, 24 Sep 2020 12:26:41 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1600964801;
 bh=eBkwlYjPrzhipOZ3hsT/C5x4VbVMEeZbZXgvV/TRD1Q=;
 h=From:To:Cc:Subject:References:Date:In-Reply-To:From;
 b=Rjp8eFXosuF49sMpnDItHihV1akaCQzz4OjeNjbhJpMO26Rgs1eDrbojvtLew2JUU
 2M03z676GQ3LmeAVSZoEgFJw3jHZDGmSsmnS9E04NYEyeaeDRmq+SbgoSXH34W/lnh
 ZWkO7o6kd+YRO5Cj9cSOR/WapU39lJx5HeCQqmY3YHJXvc7omSKO1joxttOBy1LW7E
 idDh5Jy5trF3GSv62cDgCwBfzdHH4ZdPYXY7xoTXf1l8pJzEa0g5Hrn+gi+RpxNZkF
 BfyBO5m6/FzHhrdcb1ZhmJWsexgwK8yth3xfHF5u9KCsylJ1pH3VxIgJyDw2ZDM/B5
 q/XEv3JShlyhA==
Received: from alfajor (unknown [45.72.232.131])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 5E274120746;
 Thu, 24 Sep 2020 12:26:41 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Gregory Heytings <ghe@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
Message-ID: <jwvo8lvp2h1.fsf-monnier+emacs@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
 <jwvmu1gs20a.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232218080453.713@HIDDEN>
 <jwvsgb8qdxs.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009240124100453.16223@HIDDEN>
 <jwvh7roq66w.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009240926350453.10745@HIDDEN>
Date: Thu, 24 Sep 2020 12:26:40 -0400
In-Reply-To: <alpine.NEB.2.22.394.2009240926350453.10745@HIDDEN>
 (Gregory Heytings's message of "Thu, 24 Sep 2020 07:45:29 +0000")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.049 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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: -3.3 (---)

>>> Simply because I asked my window manager to always maximize Emacs frames.
>> Aha!
>> Yet another loophole!
> Hmm...  Given the popularity (among a certain kind of users) of tiling
> window managers and the popularity (among a much larger kind of users) of
> using fullscreen apps, I don't think Emacs can expect to fully control the
> size of its frame.  But indeed I see what you mean, ideally emacs -Q should
> give a frame of the same size everywhere.  So it could perhaps make sense to
> try to do something like:
>
> (set-frame-width nil 80)
> (set-frame-height nil 40)
>
> (which works for me) at the end of the initialization process with "-q" or
>  "-Q".

I definitely wouldn't want that for `-q`.

It might make sense in this case for `-Q`, but I'm not sure it's a good
tradeoff since we also want `emacs -Q` to mean something like "run with
no special configuration".

So maybe a better option is for the recipe to specify the frame's width.


        Stefan





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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 16:20:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 24 12:20:51 2020
Received: from localhost ([127.0.0.1]:41453 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLTzH-0000pC-Fa
	for submit <at> debbugs.gnu.org; Thu, 24 Sep 2020 12:20:51 -0400
Received: from eggs.gnu.org ([209.51.188.92]:54614)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kLTzF-0000oy-GH
 for 43572 <at> debbugs.gnu.org; Thu, 24 Sep 2020 12:20:49 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:35985)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kLTz8-0006V2-N3; Thu, 24 Sep 2020 12:20:42 -0400
Received: from [176.228.60.248] (port=1197 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kLTz4-0006c9-5q; Thu, 24 Sep 2020 12:20:40 -0400
Date: Thu, 24 Sep 2020 19:20:46 +0300
Message-Id: <83imc3tach.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Gregory Heytings <ghe@HIDDEN>
In-Reply-To: <alpine.NEB.2.22.394.2009241730350453.16370@HIDDEN>
 (message from Gregory Heytings on Thu, 24 Sep 2020 16:09:25 +0000)
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <83h7rov7xy.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009231827310453.19701@HIDDEN>
 <837dskuvx3.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009232148140453.30611@HIDDEN>
 <833637uubc.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241633460453.11736@HIDDEN>
 <83mu1ftdkb.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241730350453.16370@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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: -3.3 (---)

> Date: Thu, 24 Sep 2020 16:09:25 +0000
> From: Gregory Heytings <ghe@HIDDEN>
> cc: 43572 <at> debbugs.gnu.org
> 
> > That is true, but read_minibuf enters recursive-edit, and while that is 
> > active, any call to resize_mini_window will be affected.
> 
> This seems to be a really minor problem.  What kind of problems could 
> happen because during a recursive edit while icomplete or ido or ... is 
> active, redisplay is asked to start displaying at BOB?  Do you really 
> believe this could lead to a non-minor problem?

Yes.  There are third-party packages out there that do unimaginable
things when the user is prompted to enter his/her choice of something.

And in any case, we don't want to rely on luck in these matters, IME
the Murphy laws are very strong here.

> > Using a text property for this is easy and mostly boilerplate, and it 
> > completely avoids this issue.
> 
> Then I wonder why this did not happen earlier (and wonder when it will 
> happen).  A bug report about this exact problem has already been filed 
> five years ago (bug#24293).  Five years ago.  And the patch I'm proposing 
> is less than ten lines long, and would be most welcome today.

It didn't happen for the usual reasons: no one felt motivated enough
to sit down and do it.

Can I convince you to try implementing this via text properties?  The
code will be very simple, I promise.  And we are here to help if you
are unsure how to go about that.

> > I already explained why your design is problematic.  And so did Stefan.
> 
> No, Stefan helped me to improve my design.

He did both.




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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 16:09:34 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 24 12:09:34 2020
Received: from localhost ([127.0.0.1]:41439 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLToL-0000YO-SQ
	for submit <at> debbugs.gnu.org; Thu, 24 Sep 2020 12:09:34 -0400
Received: from mx.sdf.org ([205.166.94.24]:60147)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ghe@HIDDEN>) id 1kLToH-0000YC-92
 for 43572 <at> debbugs.gnu.org; Thu, 24 Sep 2020 12:09:31 -0400
Received: from sdf.org (IDENT:ghe@HIDDEN [205.166.94.8])
 by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 08OG9SYX000926
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO);
 Thu, 24 Sep 2020 16:09:28 GMT
Received: (from ghe@localhost)
 by sdf.org (8.15.2/8.12.8/Submit) id 08OG9gMD016534;
 Thu, 24 Sep 2020 16:09:43 GMT
Date: Thu, 24 Sep 2020 16:09:25 +0000
From: Gregory Heytings <ghe@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
In-Reply-To: <83mu1ftdkb.fsf@HIDDEN>
Message-ID: <alpine.NEB.2.22.394.2009241730350453.16370@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <83h7rov7xy.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009231827310453.19701@HIDDEN>
 <837dskuvx3.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009232148140453.30611@HIDDEN>
 <833637uubc.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241633460453.11736@HIDDEN>
 <83mu1ftdkb.fsf@HIDDEN>
User-Agent: Alpine 2.22 (NEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset=US-ASCII
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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 (-)


>> Could you please provide a recipe which would demonstrate a problem 
>> with the technique I propose?  AFAICS, the flag is reset immediately 
>> when read_minibuf() / read-from-minibuffer has ended.
>
> That is true, but read_minibuf enters recursive-edit, and while that is 
> active, any call to resize_mini_window will be affected.
>

This seems to be a really minor problem.  What kind of problems could 
happen because during a recursive edit while icomplete or ido or ... is 
active, redisplay is asked to start displaying at BOB?  Do you really 
believe this could lead to a non-minor problem?

>
> Using a text property for this is easy and mostly boilerplate, and it 
> completely avoids this issue.
>

Then I wonder why this did not happen earlier (and wonder when it will 
happen).  A bug report about this exact problem has already been filed 
five years ago (bug#24293).  Five years ago.  And the patch I'm proposing 
is less than ten lines long, and would be most welcome today.

>
> I already explained why your design is problematic.  And so did Stefan.
>

No, Stefan helped me to improve my design.

>
> So I don't see why a recipe would be needed.
>

Indeed, if the only remaining problem is that during a recursive edit 
while icomplete or ido or ... is active, redisplay is asked to start 
displaying at BOB instead of BOL, I don't think such a recipe would be 
convincing.




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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 15:20:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 24 11:20:01 2020
Received: from localhost ([127.0.0.1]:41288 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLT2O-0005Wb-N4
	for submit <at> debbugs.gnu.org; Thu, 24 Sep 2020 11:20:00 -0400
Received: from eggs.gnu.org ([209.51.188.92]:39712)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kLT2M-0005W8-4x
 for 43572 <at> debbugs.gnu.org; Thu, 24 Sep 2020 11:19:59 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:34832)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kLT2G-0004F6-Di; Thu, 24 Sep 2020 11:19:52 -0400
Received: from [176.228.60.248] (port=1205 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kLT2F-0003wJ-OS; Thu, 24 Sep 2020 11:19:52 -0400
Date: Thu, 24 Sep 2020 18:20:00 +0300
Message-Id: <83lfgztd5r.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Gregory Heytings <ghe@HIDDEN>
In-Reply-To: <alpine.NEB.2.22.394.2009241648390453.12937@HIDDEN>
 (message from Gregory Heytings on Thu, 24 Sep 2020 14:52:38 +0000)
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
 <jwvmu1gs20a.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232218080453.713@HIDDEN>
 <jwvsgb8qdxs.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009240124100453.16223@HIDDEN>
 <jwvh7roq66w.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009240947240453.11676@HIDDEN>
 <83tuvnteur.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241648390453.12937@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <at> debbugs.gnu.org, monnier@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: -3.3 (---)

> Date: Thu, 24 Sep 2020 14:52:38 +0000
> From: Gregory Heytings <ghe@HIDDEN>
> cc: monnier@HIDDEN, 43572 <at> debbugs.gnu.org
> 
> >> - "master-icomplete-vertical-after-tab.png" is what a user would see 
> >> with icomplete-mode activated and (setq icomplete-separator "\n") after 
> >> having completed the last directory name with a TAB: the prompt and 
> >> their input is completely hidden
> >
> > Thanks, this subtle issue should now be fixed on master.
> 
> It is not, the only difference is that instead of "the prompt and their 
> input is completely hidden" one should now write "the prompt and the 
> largest part of their input is completely hidden".

I mean the issue with the prompt being hidden after one TAB, but
appear after another TAB.

All the rest is just the consequence of the current policy to show the
last part of the stuff in the mini-window.  (Note that with your
changes, one of the candidates isn't shown in the mini-window.)

There might be a misunderstanding here: I'm not claiming that the
changes I made yesterday and today are supposed to produce the same
effect as your proposed patch.  I'm just making the display with
overlay-string behave (as much as possible) like display with normal
buffer text, that's all.  Per bug#43519.  I'm not saying that my
changes implement the feature you are asking for here.

> Again, could you please provide a recipe which would demonstrate a problem 
> with the technique I propose?

I already explained why your design is problematic.  And so did
Stefan.  So I don't see why a recipe would be needed.

Implementation of such a feature should use text and/or overlay
properties to communicate the intent to the display code.  That would
be much cleaner and safer.




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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 15:11:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 24 11:11:15 2020
Received: from localhost ([127.0.0.1]:41261 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLStv-0005Hg-CY
	for submit <at> debbugs.gnu.org; Thu, 24 Sep 2020 11:11:15 -0400
Received: from eggs.gnu.org ([209.51.188.92]:36786)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kLStt-0005HU-Vb
 for 43572 <at> debbugs.gnu.org; Thu, 24 Sep 2020 11:11:14 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:34680)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kLSto-0002pe-OS; Thu, 24 Sep 2020 11:11:08 -0400
Received: from [176.228.60.248] (port=4645 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kLStn-0003E8-IU; Thu, 24 Sep 2020 11:11:08 -0400
Date: Thu, 24 Sep 2020 18:11:16 +0300
Message-Id: <83mu1ftdkb.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Gregory Heytings <ghe@HIDDEN>
In-Reply-To: <alpine.NEB.2.22.394.2009241633460453.11736@HIDDEN>
 (message from Gregory Heytings on Thu, 24 Sep 2020 14:41:46 +0000)
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <83h7rov7xy.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009231827310453.19701@HIDDEN>
 <837dskuvx3.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009232148140453.30611@HIDDEN>
 <833637uubc.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009241633460453.11736@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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: -3.3 (---)

> Date: Thu, 24 Sep 2020 14:41:46 +0000
> From: Gregory Heytings <ghe@HIDDEN>
> cc: 43572 <at> debbugs.gnu.org
> 
> > It is not safe to avoid affecting them using the techniques you propose.
> >
> 
> Could you please provide a recipe which would demonstrate a problem with 
> the technique I propose?  AFAICS, the flag is reset immediately when 
> read_minibuf() / read-from-minibuffer has ended.

That is true, but read_minibuf enters recursive-edit, and while that
is active, any call to resize_mini_window will be affected.

Using a text property for this is easy and mostly boilerplate, and it
completely avoids this issue.




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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 14:52:44 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 24 10:52:43 2020
Received: from localhost ([127.0.0.1]:41229 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLSbz-0002iS-OD
	for submit <at> debbugs.gnu.org; Thu, 24 Sep 2020 10:52:43 -0400
Received: from mx.sdf.org ([205.166.94.24]:53617)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ghe@HIDDEN>) id 1kLSby-0002iK-55
 for 43572 <at> debbugs.gnu.org; Thu, 24 Sep 2020 10:52:42 -0400
Received: from sdf.org (IDENT:ghe@HIDDEN [205.166.94.8])
 by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 08OEqfij011460
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO);
 Thu, 24 Sep 2020 14:52:41 GMT
Received: (from ghe@localhost)
 by sdf.org (8.15.2/8.12.8/Submit) id 08OEqtRa020649;
 Thu, 24 Sep 2020 14:52:55 GMT
Date: Thu, 24 Sep 2020 14:52:38 +0000
From: Gregory Heytings <ghe@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
In-Reply-To: <83tuvnteur.fsf@HIDDEN>
Message-ID: <alpine.NEB.2.22.394.2009241648390453.12937@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
 <jwvmu1gs20a.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232218080453.713@HIDDEN>
 <jwvsgb8qdxs.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009240124100453.16223@HIDDEN>
 <jwvh7roq66w.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009240947240453.11676@HIDDEN>
 <83tuvnteur.fsf@HIDDEN>
User-Agent: Alpine 2.22 (NEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset=US-ASCII
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <at> debbugs.gnu.org, monnier@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 (-)


>> - "master-icomplete-vertical-after-tab.png" is what a user would see 
>> with icomplete-mode activated and (setq icomplete-separator "\n") after 
>> having completed the last directory name with a TAB: the prompt and 
>> their input is completely hidden
>
> Thanks, this subtle issue should now be fixed on master.
>

It is not, the only difference is that instead of "the prompt and their 
input is completely hidden" one should now write "the prompt and the 
largest part of their input is completely hidden".

Again, could you please provide a recipe which would demonstrate a problem 
with the technique I propose?




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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 14:43:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 24 10:43:23 2020
Received: from localhost ([127.0.0.1]:41200 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLSSx-0002TG-1u
	for submit <at> debbugs.gnu.org; Thu, 24 Sep 2020 10:43:23 -0400
Received: from eggs.gnu.org ([209.51.188.92]:56342)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kLSSv-0002T3-BE
 for 43572 <at> debbugs.gnu.org; Thu, 24 Sep 2020 10:43:21 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:34181)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kLSSp-00069D-Bl; Thu, 24 Sep 2020 10:43:15 -0400
Received: from [176.228.60.248] (port=2943 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kLSSo-00068H-QU; Thu, 24 Sep 2020 10:43:15 -0400
Date: Thu, 24 Sep 2020 17:43:24 +0300
Message-Id: <83tuvnteur.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Gregory Heytings <ghe@HIDDEN>
In-Reply-To: <alpine.NEB.2.22.394.2009240947240453.11676@HIDDEN>
 (message from Gregory Heytings on Thu, 24 Sep 2020 08:06:37 +0000)
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
 <jwvmu1gs20a.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232218080453.713@HIDDEN>
 <jwvsgb8qdxs.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009240124100453.16223@HIDDEN>
 <jwvh7roq66w.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009240947240453.11676@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <at> debbugs.gnu.org, monnier@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: -3.3 (---)

> Date: Thu, 24 Sep 2020 08:06:37 +0000
> From: Gregory Heytings <ghe@HIDDEN>
> cc: 43572 <at> debbugs.gnu.org
> 
> - "master-icomplete-vertical-after-tab.png" is what a user would see with 
> icomplete-mode activated and (setq icomplete-separator "\n") after having 
> completed the last directory name with a TAB: the prompt and their input 
> is completely hidden

Thanks, this subtle issue should now be fixed on master.




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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 14:41:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 24 10:41:56 2020
Received: from localhost ([127.0.0.1]:41196 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLSRY-0002Ql-Nl
	for submit <at> debbugs.gnu.org; Thu, 24 Sep 2020 10:41:56 -0400
Received: from mx.sdf.org ([205.166.94.24]:54456)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ghe@HIDDEN>) id 1kLSRT-0002QU-OX
 for 43572 <at> debbugs.gnu.org; Thu, 24 Sep 2020 10:41:55 -0400
Received: from sdf.org (IDENT:ghe@HIDDEN [205.166.94.8])
 by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 08OEfoK5003341
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO);
 Thu, 24 Sep 2020 14:41:50 GMT
Received: (from ghe@localhost)
 by sdf.org (8.15.2/8.12.8/Submit) id 08OEg739008164;
 Thu, 24 Sep 2020 14:42:07 GMT
Date: Thu, 24 Sep 2020 14:41:46 +0000
From: Gregory Heytings <ghe@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
In-Reply-To: <833637uubc.fsf@HIDDEN>
Message-ID: <alpine.NEB.2.22.394.2009241633460453.11736@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <83h7rov7xy.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009231827310453.19701@HIDDEN>
 <837dskuvx3.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009232148140453.30611@HIDDEN>
 <833637uubc.fsf@HIDDEN>
User-Agent: Alpine 2.22 (NEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset=US-ASCII
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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 (-)


>>>> I can't think of such unintended consequences.  In the use case of 
>>>> displaying completion candidates, this (the fact that it affects all 
>>>> successive calls to resize_mini_window) is indeed what is wanted.
>>>
>>> Well, I _can_ think of such consequences.  As I said, 
>>> resize_mini_window is called in many situations that don't involve 
>>> completion, so setting that variable to affect all of them is a bad 
>>> idea.  We need something more fine-grained if we want to implement 
>>> such a feature.
>>>
>>
>> It would be very helpful if you could clarify what the consequences you 
>> think of are.
>
> Just grep the sources for the callers of resize_mini_window, and you 
> will see what I mean.
>

I did this.  There are only seven calls to resize_mini_window().

>
> It is not safe to avoid affecting them using the techniques you propose.
>

Could you please provide a recipe which would demonstrate a problem with 
the technique I propose?  AFAICS, the flag is reset immediately when 
read_minibuf() / read-from-minibuffer has ended.




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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 14:34:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 24 10:34:19 2020
Received: from localhost ([127.0.0.1]:41176 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLSKB-0002En-AP
	for submit <at> debbugs.gnu.org; Thu, 24 Sep 2020 10:34:19 -0400
Received: from eggs.gnu.org ([209.51.188.92]:54098)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kLSK9-0002Ec-PL
 for 43572 <at> debbugs.gnu.org; Thu, 24 Sep 2020 10:34:18 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:34033)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kLSK2-0004t5-Rk; Thu, 24 Sep 2020 10:34:11 -0400
Received: from [176.228.60.248] (port=2386 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kLSK2-0005QD-8R; Thu, 24 Sep 2020 10:34:10 -0400
Date: Thu, 24 Sep 2020 17:34:20 +0300
Message-Id: <83y2kztf9v.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <jwvy2l0qe29.fsf-monnier+emacs@HIDDEN> (message from Stefan
 Monnier on Wed, 23 Sep 2020 19:18:39 -0400)
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN> <83a6xguy7w.fsf@HIDDEN>
 <jwvy2l0qe29.fsf-monnier+emacs@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: ghe@HIDDEN, 43572 <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: -3.3 (---)

> From: Stefan Monnier <monnier@HIDDEN>
> Cc: ghe@HIDDEN,  43572 <at> debbugs.gnu.org
> Date: Wed, 23 Sep 2020 19:18:39 -0400
> 
> > This could be a useful new feature, but we still need to decide what
> > should the display engine do when the chunk of text marked with this
> > new indication (some text property, probably?) cannot all of it be
> > displayed.  Should it then display only its first part, only its last
> > part, something else?
> 
> I think this can be controlled with the position of point (which
> I guess should be presumed to be somewhere within the "important
> chunk").  The idea would be to maximize the amount of chunk that's
> displayed, but under the usual constraint that point is displayed.

Sure, point is important.  But it doesn't solve the problem I had in
mind.  Suppose you have text like this:

   xxxxxxxxxxxxx[xxxxxxxxxxxx|xxxxxxxxxxxxxxxxxx]xxxxxxxxxxx

where [...] denotes the portion of text indicated as "important
chunk", and | denotes the position of point.  Suppose further than the
available screen estate is insufficient to display all of the
"important chunk" -- which part would you want to see on display: the
part before point? after point? centered at point? something else?




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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 14:28:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 24 10:28:01 2020
Received: from localhost ([127.0.0.1]:41164 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLSE4-00023x-VX
	for submit <at> debbugs.gnu.org; Thu, 24 Sep 2020 10:28:01 -0400
Received: from mx.sdf.org ([205.166.94.24]:55646)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ghe@HIDDEN>) id 1kLSE2-00023n-FV
 for 43572 <at> debbugs.gnu.org; Thu, 24 Sep 2020 10:28:00 -0400
Received: from sdf.org (IDENT:ghe@HIDDEN [205.166.94.8])
 by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 08OERvlT002972
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO);
 Thu, 24 Sep 2020 14:27:57 GMT
Received: (from ghe@localhost)
 by sdf.org (8.15.2/8.12.8/Submit) id 08OESBJq016426;
 Thu, 24 Sep 2020 14:28:11 GMT
Date: Thu, 24 Sep 2020 14:27:54 +0000
From: Gregory Heytings <ghe@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
In-Reply-To: <834knnuugm.fsf@HIDDEN>
Message-ID: <alpine.NEB.2.22.394.2009241621360453.11259@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
 <834knnuugm.fsf@HIDDEN>
User-Agent: Alpine 2.22 (NEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset=US-ASCII
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <at> debbugs.gnu.org, monnier@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 (-)


>
> There are more callers of resize_mini_widow than just those.  It is not 
> safe to assume that this can be handled only inside read_minibuf.
>

Please have a look at my corrected patch.  It handles this inside 
read_minibuf() *and* read_minibuf_unwind(), which AFAICS should make the 
change to start_display_at_beginning_of_minibuffer last only for the time 
it should last.  If that's not the case, could you please provide a 
recipe?  I'm willing to improve the patch a second time if it's necessary.

>
> So I agree with Stefan that the text inserted into the minibuffer should 
> itself indicate to the display engine that it wants to be displayed 
> starting at BOB.  That way we don't have to worry about inadvertently 
> affecting other users of the mini-window.
>

That's a possibility indeed, and I agree that it would be even better, but 
as I said this is several orders of magnitude harder to implement, and 
unlikely to happen in a near future.




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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 14:26:05 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 24 10:26:05 2020
Received: from localhost ([127.0.0.1]:41152 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLSCD-00020r-EC
	for submit <at> debbugs.gnu.org; Thu, 24 Sep 2020 10:26:05 -0400
Received: from eggs.gnu.org ([209.51.188.92]:51604)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kLSCB-00020O-Jb
 for 43572 <at> debbugs.gnu.org; Thu, 24 Sep 2020 10:26:04 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:33846)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kLSC6-0003pG-1r; Thu, 24 Sep 2020 10:25:58 -0400
Received: from [176.228.60.248] (port=1883 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kLSC3-0001dR-Kr; Thu, 24 Sep 2020 10:25:56 -0400
Date: Thu, 24 Sep 2020 17:26:04 +0300
Message-Id: <831riruu83.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Gregory Heytings <ghe@HIDDEN>
In-Reply-To: <alpine.NEB.2.22.394.2009232218080453.713@HIDDEN>
 (bug-gnu-emacs@HIDDEN)
Subject: Re: bug#43572: Feature request: make it possible to choose whether the
 first lines of the minibuffer should be displayed instead of the last ones
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
 <jwvmu1gs20a.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232218080453.713@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <at> debbugs.gnu.org, monnier@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: -3.3 (---)

> Cc: 43572 <at> debbugs.gnu.org
> Date: Wed, 23 Sep 2020 22:47:05 +0000
> From: Gregory Heytings via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
> 
> > I think what I was getting at is that this "request" should come from 
> > the minibuffer's text rather than from a variable.
> 
> If this were possible, it would be even better indeed.  An "importance" 
> text property, which would inform redisplay (?) of the relative importance 
> of the parts of the buffer.  But implementing this is several orders of 
> magnitude harder than implementing my proposal.

Actually testing for a certain text property in resize_mini_window
should be quite simple.  We do similar things elsewhere in the display
code.  So I see no reason to avoid that.  It would definitely resolve
any issues with inadvertently affecting unrelated users of the
mini-window.




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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 14:24:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 24 10:24:07 2020
Received: from localhost ([127.0.0.1]:41148 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLSAI-0001xs-VK
	for submit <at> debbugs.gnu.org; Thu, 24 Sep 2020 10:24:07 -0400
Received: from eggs.gnu.org ([209.51.188.92]:51030)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kLSAG-0001xO-PH
 for 43572 <at> debbugs.gnu.org; Thu, 24 Sep 2020 10:24:05 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:33812)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kLSAB-0003Pd-Hi; Thu, 24 Sep 2020 10:23:59 -0400
Received: from [176.228.60.248] (port=1765 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kLSA9-0001GT-MZ; Thu, 24 Sep 2020 10:23:59 -0400
Date: Thu, 24 Sep 2020 17:24:07 +0300
Message-Id: <833637uubc.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Gregory Heytings <ghe@HIDDEN>
In-Reply-To: <alpine.NEB.2.22.394.2009232148140453.30611@HIDDEN>
 (message from Gregory Heytings on Wed, 23 Sep 2020 20:15:54 +0000)
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <83h7rov7xy.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009231827310453.19701@HIDDEN>
 <837dskuvx3.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009232148140453.30611@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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: -3.3 (---)

> Date: Wed, 23 Sep 2020 20:15:54 +0000
> From: Gregory Heytings <ghe@HIDDEN>
> cc: 43572 <at> debbugs.gnu.org
> 
> >> I can't think of such unintended consequences.  In the use case of 
> >> displaying completion candidates, this (the fact that it affects all 
> >> successive calls to resize_mini_window) is indeed what is wanted.
> >
> > Well, I _can_ think of such consequences.  As I said, resize_mini_window 
> > is called in many situations that don't involve completion, so setting 
> > that variable to affect all of them is a bad idea.  We need something 
> > more fine-grained if we want to implement such a feature.
> >
> 
> It would be very helpful if you could clarify what the consequences you 
> think of are.

Just grep the sources for the callers of resize_mini_window, and you
will see what I mean.  It is not safe to avoid affecting them using
the techniques you propose.  The text itself should request such
special treatment.




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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 14:20:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 24 10:20:57 2020
Received: from localhost ([127.0.0.1]:41144 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLS7F-0001sJ-EA
	for submit <at> debbugs.gnu.org; Thu, 24 Sep 2020 10:20:57 -0400
Received: from eggs.gnu.org ([209.51.188.92]:49916)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kLS7D-0001rf-OM
 for 43572 <at> debbugs.gnu.org; Thu, 24 Sep 2020 10:20:56 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:33760)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kLS76-0002yD-Kb; Thu, 24 Sep 2020 10:20:49 -0400
Received: from [176.228.60.248] (port=1572 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kLS75-00010A-Qm; Thu, 24 Sep 2020 10:20:48 -0400
Date: Thu, 24 Sep 2020 17:20:57 +0300
Message-Id: <834knnuugm.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Gregory Heytings <ghe@HIDDEN>
In-Reply-To: <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
 (bug-gnu-emacs@HIDDEN)
Subject: Re: bug#43572: Feature request: make it possible to choose whether the
 first lines of the minibuffer should be displayed instead of the last ones
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <at> debbugs.gnu.org, monnier@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: -3.3 (---)

> Cc: 43572 <at> debbugs.gnu.org
> Date: Wed, 23 Sep 2020 19:46:18 +0000
> From: Gregory Heytings via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
> 
> >> The attached patch does not change the behavior of Emacs in any way, 
> >> unless the feature it introduces is used.
> >
> > I see the following potential problem with it: icomplete will likely 
> > want to set it globally, but that means it will also affect uses of the 
> > mini window where icomplete is not used.  Also, potential other users 
> > may encounter similar difficulties.
> 
> No, if you look at the patch its value is reset to nil whenever the 
> minibuffer is entered.  And the example I gave with icomplete is:
> 
> (add-hook 'icomplete-minibuffer-setup-hook (lambda () (setq start-display-at-beginning-of-minibuffer t)))
> 
> where icomplete-minibuffer-setup-hook is run during minibuffer setup if 
> (and only if) icomplete is active.  So the behavior with M-: for example 
> would not be affected.

There are more callers of resize_mini_widow than just those.  It is
not safe to assume that this can be handled only inside read_minibuf.

So I agree with Stefan that the text inserted into the minibuffer
should itself indicate to the display engine that it wants to be
displayed starting at BOB.  That way we don't have to worry about
inadvertently affecting other users of the mini-window.




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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 08:06:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 24 04:06:43 2020
Received: from localhost ([127.0.0.1]:38563 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLMH5-0006ql-QF
	for submit <at> debbugs.gnu.org; Thu, 24 Sep 2020 04:06:43 -0400
Received: from mx.sdf.org ([205.166.94.24]:57144)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ghe@HIDDEN>) id 1kLMH4-0006qd-8Q
 for 43572 <at> debbugs.gnu.org; Thu, 24 Sep 2020 04:06:42 -0400
Received: from sdf.org (IDENT:ghe@HIDDEN [205.166.94.8])
 by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 08O86fN7019244
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO);
 Thu, 24 Sep 2020 08:06:41 GMT
Received: (from ghe@localhost)
 by sdf.org (8.15.2/8.12.8/Submit) id 08O86t5D013094;
 Thu, 24 Sep 2020 08:06:55 GMT
Date: Thu, 24 Sep 2020 08:06:37 +0000
From: Gregory Heytings <ghe@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
In-Reply-To: <jwvh7roq66w.fsf-monnier+emacs@HIDDEN>
Message-ID: <alpine.NEB.2.22.394.2009240947240453.11676@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
 <jwvmu1gs20a.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232218080453.713@HIDDEN>
 <jwvsgb8qdxs.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009240124100453.16223@HIDDEN>
 <jwvh7roq66w.fsf-monnier+emacs@HIDDEN>
User-Agent: Alpine 2.22 (NEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="-212064758-509512656-1600934797=:11676"
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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 message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

---212064758-509512656-1600934797=:11676
Content-Type: text/plain; format=flowed; charset=US-ASCII


To illustrate the need for this feature, I attach four screenshots taken 
under the exact same conditions.

- "vanilla.png" is what a user would see without changing any default 
(after pressing TAB to display the completion candidates): the prompt, 
their input, and completion candidates in a *Completions* buffer above the 
minibuffer

- "master-icomplete-vertical-after-tab.png" is what a user would see with 
icomplete-mode activated and (setq icomplete-separator "\n") after having 
completed the last directory name with a TAB: the prompt and their input 
is completely hidden

- "master-icomplete-vertical-after-tab-tab.png" is what a user would see 
after pressing TAB a second time; note the "ng/" before point, which was 
hidden after pressing TAB for the first time and is now visible again

- "patched-icomplete-vertical.png" is what a user would see with the 
proposed patch
---212064758-509512656-1600934797=:11676
Content-Type: image/png; name=vanilla.png
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.NEB.2.22.394.2009241006370453.11676@HIDDEN>
Content-Description: 
Content-Disposition: attachment; filename=vanilla.png

iVBORw0KGgoAAAANSUhEUgAABaMAAAFUCAIAAAC2ubeAAACAAElEQVR42uzd
dVxU2f8/8DN0CgiCCIpigGugqCh2rmJiYyvW2q1rY+vqGqvr6kcRFbtAV7Ew
MbHBQhAFVEC6a5j5/XG+n/u7nymmZ4DX8+HDx+Xmuee+7507Z05wuFxuRkZG
SUkJAQAAAAAAAAAot/T19U1NTfXS09PfvXun6cQAAAAAAAAAACjq5cuXOlwu
V9PJAAAAAAAAAABQgh8/fuhoOg0AAAAAAAAAAEqDkg4AAAAAAAAAqDj0NJ0A
AM3bs2fP+fPn6fTgwYNnzpyp6RSBnBYsWPDy5UuBmSEhIcbGxkrcBMqRjIyM
0aNH5+fnb926tWXLlkrf/4MHD1auXEkI2bhxo6enp6ZPFyqgyhZjFe+ZzOfz
J02aFBsb6+vrO2bMGE0nBwCgslCopGPAgAHZ2dlGRkZXr14VXnr48OEjR44Q
QpYtW9ajRw9Nn2kF4e/vf+zYMSsrqwsXLmg6LWp17dq1LVu20OnGjRvv3r1b
0yn6H5X2uqhNQkLC2LFj6bSXl9fixYs1nSKZeXl5FRYWVqlS5eLFi3Lv5MaN
G5s2baLTO3bsaNasmaZPS9vt27cvPz+/UaNG4oo5lHJdyqn4+Phx48ZJXsfb
23vOnDnKOuKgQYMyMjLatWu3fv16TZ+9BlTC04+Kivrtt9/KXM3Pz69Tp07y
HSI3N7dfv37Mn3p6eubm5lWrVm3UqFHr1q09PT05HI5mM4HD4YwfP37VqlXH
jx/v2bOnra2tZtMDAFBJoPUKAJQDDx8+ZKYfP37M4/E0nSINyM/P379/v6ZT
UZ7ExsaGhoYSQiZMmKDptACAOnC53IyMjM+fP1+6dGn58uUTJ078+PGjphNF
2rdvX69evaKiosOHD2s6LQAAlQVarwBAOfDgwQNCiKWlZWZmZmZm5rt375o0
aSK82p9//slMsxslSSDHJpri7++fnp5uaGhYVFSk6bSUD0eOHOHxePXr12/R
ooWKDtG+ffs7d+5o+kShIqtsMabcZ/KXL1/mzp27bt26Vq1aafCkOByOj4/P
+vXrr1+/Pnr06Bo1amgwMQAAlQRKOrTd0aNH4+Lixo4d6+TkJLy0sLDw4sWL
9+/f3759u6GhoaYTW4nguqhTZmbmhw8fCCEjR448dOhQYWHhw4cPRZZ0VGCx
sbHBwcH29vZNmza9fv26ppNTDiQmJtICsp49e2o6LVqqVq1a7K/Qixcvfvbs
GSHkyJEjtWrV0nTqoELp0qXLqlWrVHqIunXrHjx4kMvl5ubmxsXFhYeHX7p0
KTc3t6ioaOPGjQEBAZaWlhrMgfbt25uYmOTn558/f37WrFkaTAkAQCWB1ita
LTMz88SJE7dv3/b19V2zZk1sbCyzKD8//8SJEz4+Pvv27Xv//n0lbGGuQbgu
avbo0SPaXKV9+/bu7u7kfxuzVBI7d+7k8XjTp083MDDQdFrKhytXrvB4PF1d
3a5du2o6LQCgJnp6epaWlm5ubpMnT/b393d0dCT//dTWbMIMDQ07dOhACLl+
/XpxcbGm8wkAoOJDnQ6tZmlpuW/fvpMnT966devu3bv37t2jv0jk5OT4+Pjk
5OQQQpydnUeMGCH8Kp+Tk3Pp0qWnT5/GxcXl5eWZmJhUrVq1evXqLVu2bNOm
Df3sF+nNmzc3btyIjIxMS0vjcrnW1tbVqlVr1KhR586dGzRoILCyj49PcnIy
nd62bVujRo3Onz9/7969Hz9+lJSUODs7DxgwoHv37np6/xdpMTExjx8//vDh
w8+fPzMzM7OysvT19atUqVK3bt0OHTp069ZNX1+f2XlQUNBff/0lnMK3b992
6dKFPefAgQP16tVT8FwY+fn5gYGB9+/fT0lJMTU1bdGiha+vL7uuqSLXBeRA
yzVq1qxpb2/v4eHx6NGjb9++xcXFiaxQUyFdv349MjKyZcuW7du3Dw8P13Ry
yoebN28SQpo1a2ZlZaXcPbM7SGaUOS4Gj8e7c+fOrVu3oqOjs7Ky9PT0rK2t
HRwcPD0927dvb21tzV6ZGW5j3bp1bdu2vXjx4qVLl378+GFmZta0adOhQ4f+
8ssvGsnVyMjI2bNnk//2NR4REXH8+PFPnz4VFhbWrl178ODB3bt3Z6///fv3
0aNHC+zk4cOHAs/w3r17L1q0SPhwiYmJwcHBz58/T05OLi4utrKyatq06aBB
gxo2bCguhfRTyc3NbefOnaWlpTdv3vz3338TEhI4HE7NmjU7dOjg7e3NrmpX
Wlp69+7d27dvv3//Pjc3t0qVKo6Ojm3btu3fv7/kwT7S09MvXbr0/Pnz79+/
5+bmWlpatm7desSIEQ4ODoqfvnwxRgh59OjRtWvX3r9/n5WVZWRk5ODg0KZN
m8GDB5ubmyt4KcsjW1vbBQsWzJs3jxBy48aNKVOmMG8jcuQYmzRXX1jXrl2v
X7+el5f36NGjzp07azp7AAAqOE2WdGRlZXl7e9PpcePGjR8/XtO5oY1q1669
dOnSiRMnnj59+sqVKxkZGYQQLpebk5PTqFGjkSNHiuxX/N27d8uXL8/KymLm
5OTk5OTkxMXFPX369O+//75+/brwL8N5eXkbN2589OgRe2ZiYmJiYmJERMTJ
kydFbsXIyMiYMmVKQkICM+fjx48fP360sLCgL2fp6emTJ08W2IrL5RYUFCQn
Jz969OjcuXNbtmwReOOXj9znUlJSMnv27M+fP9M/MzMzb9269fz58/3799vZ
2Sl4XUAORUVFL168IIS0bt2a+Z8Q8vDhw0pS0pGXl7d//349PT1UeJbe58+f
f/78SQhp3LixptNCCCFFRUVLly599eoVM6ekpOTbt2/fvn17+vTp9evX9+7d
K27brVu3Xrt2jU6np6ffvXv3/v37M2bMGDRokGZP6saNG1u2bGG6B/748eOG
DRt+/vw5cuRIpez/7Nmz//nPf7hcLjPn58+foaGhoaGho0aNmjRpkuTNuVzu
ihUrnj59ysx59+7du3fvqlatyowH9+zZs507d/748YNZJz09PT09PSIi4uzZ
s+vXr3d1dRW584sXL+7du5f9y3xqauqVK1euX78+ffr0gQMHqvNCUMXFxevX
rw8LC2Pm5ObmRkVFRUVFBQUFbdy4sVGjRuK2VfWl1KBmzZo5Ojp++/YtKysr
JiaGfUHlzjG5r37jxo11dHR4PN7jx49R0gEAoGpovVK+ifwunZubu2LFCnYx
hzSKi4vnzZsnUDQgk3/++YddzCGHz58///HHH4pniyLnEhoayhRzMLKysg4d
OiT9TlDGoUTPnj2jHXDSMo7q1avTHgQUidXyxd/fPyMjY+DAgeg6QXovX76k
ExJ+/FenwMBAdjGH9MLCwphiDgaPx9uzZw8tAdSUxMTErVu3Co+CFBAQQMuY
FHTy5Mm9e/eyiznYjh8/XmZHlf/5z3/YxRwirVq1il3MwZaWlrZ48eKUlBTh
RWfPnt25c6fIBghcLvevv/7SSNuEnTt3sr+0s2VnZy9evFjcdVH1pdQ4prgz
KiqKPV++HFPk6puYmNSsWZMQIt/TAAAAZILWK9ouLi7uxIkTt27dKi0t1dHR
sbGxSU1N1dfXNzU1fffu3bJly5ydnUeOHNmlSxcdnf8rt7p//35mZiadrlu3
7rx585ydnXV0dNLS0n7+/Pn8+fMHDx4IfxUPCAiIjo5m/uzZs+fQoUNr1apV
WlqamJj44sWL69evS/4Cn56erq+vP3LkyG7dutnZ2WVnZ9+7d49dQMDhcOrU
qdO6detffvmlevXqVlZWlpaW+fn5z54927FjR15eHiEkPDw8ISGBvgoMHDiQ
+W2EXZW3cePGu3fvlpASRc4lPz+/W7duM2fO5HK527ZtY16UHzx4wOfzma3k
uC4gH1qiYWho6ObmRue0bt06Pj7+/fv3GRkZSm+YoG0+f/588eJFKysr1HqT
CfOVRtxv8oro1atXr1696DTTzEQy2jcqh8MZOnRor1697OzsdHV1U1NTExMT
Hz58mJaWJm7DmzdvWltbT5s2zcPDw9DQMDo6ev/+/ZGRkXw+f+/evf7+/hrJ
XkLImTNnzM3NZ8yY4eHhoaOj8+7du507dyYmJnK53Nu3b/v4+NDVHBwc2J2e
Dho0KCMjo127duvXr5ew89jY2IMHDxJC9PT0+vTp06tXLwcHB319/eTk5NDQ
0DNnzhQXF/v7+/fs2dPMzEzkHtLT0y9evGhpaTlmzBhPT08bG5vs7Ozv37/f
u3dPoJdofX39Hj16dOzY0cXFxdzcPD8/PyoqKiAg4P379zk5OefOnZs2bRp7
/a9fvzKDPbu6uvr4+DRp0qRKlSq5ubm0wiB7TFP5Tp/IHmNRUVFXr16l0717
9x4yZIijo2N+fv7Tp0/379+fnp6en59/4MCB5cuXy30pyy/6RkEISUpKUjDH
ZLr6Iv3yyy9xcXEpKSnp6elVq1bVdN4AAFRkKOnQapmZmVOnTi0qKtLR0ena
teu4ceNu3rx57NgxMzOzkydPBgcHnzp1KjY2dv369WlpacOGDaNbffv2jdnD
r7/+ylS/rFGjRo0aNZo1ayZc6TcvLy84OJj5c/DgwTNnzqTT+vr6derUqVOn
zpAhQySnVkdHZ8uWLc2bN6d/2tjYDB48uFmzZrQIgxBiZWUlXDOiSpUq3bp1
i4uLCwwMpHNevnzJvJfIQcFzMTY2XrBgAW2ePXXqVKakIz8/Pz09nbaske+6
gBxoLV9CiLu7O9OHS+vWrc+ePcvn8x89etSnTx9Np1GF+Hw+7Yh0ypQpJiYm
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
/v17+j3E0NAwMzOTmc80E9DX13/z5g17k4iICLpo0KBBiqfNx8fn27dvwvMz
MjJoYUGzZs0UP4qs10XWHKOtVwghcXFxdM60adPonBcvXtA5fn5+hBBLS0tm
V0xQ6evrR0REsI+Sn5/v6uoqsAcBUkbyyJEj6f0SHBwsvPTo0aN0JwcPHhS5
ubhvbpJJc79oc1jKevpynIt8aFmGh4eHlOsrePVVGmNyPC0Z8oWlHKR88qs/
YQAAAACgNupovcLlcouKiujXBg6Ho/ZCGEn4fP6VK1cIIWZmZvv37xfZVerm
zZtpSY2wvLy83r1737hxQ1dX98iRI0rswY5+P9TV1RVuCNOwYcMRI0YQQoqK
iphmQWz9+vVr2rQpe06TJk1o9YQvX74onraTJ086ODgIz7e0tPT09CSExMXF
KXgIOa6LfDmmr69fq1YtOu3k5EQnmF5I6KLMzMySkhKBffbv379JkybsOcbG
xnPnzmUnRj48Ho+ee8eOHQcMGCC8go+Pj4mJCSHk8ePHCuazrLQ5LNV5LjKh
Q2h//fr1x48fZa6snqsv31EUfFoCAAAAAJQ7kko69PT0aKd3RUVFfD5f00n9
H/Hx8ampqYSQbt26Va1aVdbNe/fufffuXUKIvr5+8+bNlZiwqKgoQoirqyv9
vVEA08Hhx48fhZe2a9dOeCYtm8jJyVFK8j58+LBo0SJPT08bGxsDAwNmtIJL
ly4p5ShyXBf5cszc3Fx4ukqVKnTCzMyMTgh3PdChQwfho9AGLETMdZFSTExM
VlYWIeT+/ft6enp6enq6urq6uro6Ojo6OjocDsfAwCA/P58QkpSUpGA+y0rL
w1Jt5yKT9evXm5ub//z5s169er179169evXp06dphSDhldVz9eU7ioJPSwAA
AACAckdP8mILC4uUlBQ+n5+amkobOGgJ+uJOWD/jyyQ8PNzExKSoqKiwsNDH
x+fZs2cihySQVUFBAe0mULgNP8XMF9lW38bGRnimvr4+IUS4boIc/Pz81q9f
X1paKm4FLper4CFkvS5y5xjNFva0rq4uU/OIWSrca6O9vb3wUWj/DkTMdZFS
SkoKneDz+RIymRCSl5cn91HkoOVhqc5zkYm7u/vr1683bdoUFBR09erVq1ev
MoeYOnXq8uXLdXV1mZXVc/XlO4qCT0sAAAAAgHKnjB5JGzRoQCfevXun6aSK
Jl+zmipVqly/fn3FihWEkLdv3y5YsEA9qWV+DRaZbOGBPJXI399/zZo1kr8d
KZGymjtJzrEyFwn//C45Yeqpu6RtNaQ0GJZqPhdZOTs7HzhwICUl5fPnzxcv
Xpw3b56jo+OPHz9Wr17NHuRYvhSqJx/YtK0RIgAAAACAipTxHaZVq1Z0gvk9
Uyaqe7FmfmeOiYmRY/MbN260b99+5cqVtH+KvXv3Xrx4UfFUGRsb0/Y+4hr2
M/MtLCxUlDPiMB15+vr63r59Ozk5ubi4mOn3hXZzqDhZr4v6c0zkgZiq/paW
liK3kiaSmXNfs2aN5F52aMsptdHmsCwX58LhcJydnfv37799+/bY2NgpU6YQ
QoKCgm7dusWso/jVV12MKfi0BAAAAAAod8oo6ejfvz+dCAgIoO3DZcI0CUlL
S1NuumvVqkVf30NDQ9PT02XdnPY1qKure+zYMdrLw8SJE79//654wmgtmI8f
PyYnJwsvvXPnDp1wcXFRboZIlpubS3s3GDNmjL+/f5cuXWxtbdkNQCIjI5Vy
IDmui5pzTGSfow8fPmQnRpg0kVyvXj3aUQizN1nR1hC0G2Dl0s6wlO/0NXsu
+vr6tC4YIeTJkyfMfMWvvupiTMGnperCUkFamzAAAAAA0LgySjo6d+5cv359
QkhKSoqvr69w2wc+n//nn3++fftW5OZMm3m53/7F4XA4ffr0IYTk5eVNnTpV
ZAcTq1evLvMl2NnZeffu3YSQtLS00aNH83g8BRNGO7wsLS1du3atwKIPHz6c
OnWKEGJgYODh4aHcDJGM6ZhTZHckR48eVVZJhxzXRc05dunSJYFwLSoq2rVr
F51muiYVIE0k6+rqenl5EUJu3LhBky0sOTnZ19c3NjZW5FJa6Pbx40fF41CA
doalfKevtnMZNGiQyMFlmFFd6GjclOJXX3UxpuDTUnVhqSCtTRgAAAAAaFwZ
JR0cDof5EnjhwgUPD4+zZ88mJyeXlJR8//796NGjLVq0WLhwobieLGnbEELI
kiVLbt26JTwQhiIWLVpEh0s8d+5cu3btzp8/n5yczOVyU1JSgoODO3TosHbt
WmmaxI8bN2748OGEkLt3727evFnBVE2YMIFO7N27d9KkSe/evSsuLk5LSzt2
7Fi3bt1oDgwePFjNzQSsra3pmAuHDh3auHFjbGxsUVFRcnLygwcPRo0aNWHC
BFNTU2UdS9brouYc43K5v/7666lTpzIzMwsLC588edKzZ8/3798TQho2bCju
67GUkbxkyRLaq8XIkSPHjx9/+/bt9PR0eu7Xrl2bPHly7dq1AwICxH0xo7UV
vn79OmfOnNjYWOHuVOWmnWEp3+mr7VwuXbrk4uIyZsyYy5cvp6SkFBUVxcXF
7d6929fXl67QuHFj9voKXn2VxpgiT0vVhaWC5EhYamoqM+CUn5+fps8AAAAA
AFQmWwxCCNPk+/fff5e8k1evXrHXZ6PtRASMGjWKvc66deukSeqmTZsEdv7n
n39K3qSgoIC9Pi3REJ6fkZFRs2ZNQoient7jx4/5ihk7dqyEJJmbm3/9+pW9
PtOeIjAwUHhv3bp1I4Q4OTkpmKp58+aJS5Kbm9uoUaPotIJHke+6yJRjtMMR
Ozs7Zs6BAwcIIbq6usycoKAgui0dOYg9R0KPJCEhIRJOSppI5vP5GzZsKDOS
o6OjRR7i77//Frn+xIkT2avJd79oZ1jKcfpynIt82EOrCHNwcMjJyVHi1eer
OMZkvSvluC6ykvvJL3fCmMFrCCGrV69WPEgAAAAAQLnEFVC8/F+r1qwV+Cew
glSjKmzatGnbtm0mJibCizgczsKFC5s0aSJu20OHDtE6xqowf/78vXv3imyR
oaent2PHDinHjrW0tAwMDNTR0eFyuSNHjmRXSpfDvn37mP5NBFhZWYWEhDg5
OakoQyRYt25d27Zthec7OTmdOXOG/t6rLLJeF3Xm2NChQ318fARmcjicbdu2
0XYB4kgZycuWLdu1a5ehoaHIpba2tv7+/uIG+/T19RX5XVcptDMs5Tt99ZzL
xYsXxV2pGjVq/Pvvv2ZmZgLzFbn6RMUxJvfTUqVhqQitTRgAAAAAaJy040cu
WLDg48ePfn5+rVu3pp1Z1qhRY+TIkeHh4Vu3bpXw46e7u3t4ePiwYcNsbGxU
MRTLtGnTYmNjV61a5enpaWNjQxM2fvz4iIiIuXPnSr+fTp06LV68mBDy5cuX
3377TZEkGRsbX7x48cKFCwMGDLC3t9fX17ewsHB3d1+5cmV0dLS4niBUzdTU
9O7duzt37vTw8DAzMzM2NnZ1dV26dOmzZ8/EdcOpCJmui5pzLDAwcNu2ba6u
roaGhnZ2doMHD37w4EGZIw1LH8mzZ8+OjY2lI/vQc69WrZqXl9eBAwfi4uJ8
fX3FbW5kZBQWFubn59e8eXNzc3Pl3i/aGZbynb56zqVPnz4fP348duyYl5eX
jY2Nnp6etbV1hw4dtm7d+uHDh+bNm4vcSu6rT1QfY/I9LVUalorQ2oQBAAAA
gMZxxNVfqFKlCl+KTi7+/444HJnWB1Cn4ODggQMHEkKCgoK8vb01nRwAAAAA
AAAQlJOTI3J+TEwM+8/gfy8LrODdry/7T2nrdAAAAAAAAAAAaD+UdAAAAAAA
AABAxYGSDgAAAAAAAACoOFDSAQAAAAAAAAAVB0o6AAAAAAAAAKDi0JOwDIP2
QYXh7e2NsYEAAAAAAAAqA7ElHfhaCAAAAAAAAADlDlqvAAAAAAAAAEDFgZIO
AAAAAAAAAKg4UNIBAAAAAAAAABUHSjoAAAAAAAAAoOKoRCUdDx484HA4HA7n
2LFj8u0hODiY7uHy5cuaPZfQ0FCaklOnTqnzuMnJyXPmzKlfv76RkRHnv3Jz
c5W7CQBoVvfu3TlCcNtKoPjnC5SpvISl9rwqQLmAgAEAUJEySjo+fvzIKcvM
mTM1ew7Vq1fncDje3t6aTUaFl5qa6uHh8ddff8XExBQVFalokwqjEoYluzCL
MjY2dnBw6NWr119//ZWZmSm8yfPnz8t8wnA4nHPnzhFCzp07J83KjJYtWyrl
vCrhpSwX1HNdcPUrM1x9qBgQyQBQOVWiOh2goM2bN8fHx6t6E6hICgsLf/z4
cf369Tlz5ri6uoaGhmo6RQAAAAAAUPGhpEMG3t7efD6fz+f37dtX02nRgJCQ
EEKIqanp5cuXs7Ky+P9lZmamxE2gokpOTu7fv/+7d+80nRAoW2hoKHO3zpkz
R9PJASCk/IRlJX9VAFkhYAAAVKSMkg5XV1c+S8+ePen8Dx8+MDP37Nmj6bMA
dfj69SshpE+fPn369KlSpYqKNoHyzs7Ojnk4pKenv3r1av78+YaGhoSQgoKC
VatWidxq+PDhfPGGDBlCCBkyZIjwogEDBtA9vHr1SmDR8+fPNZ0ZAAAAAACg
AXqaTgCUGwUFBYQQKysrlW4CFYmVlZWVlVWzZs1atWo1YsQIQsj169f5fD6H
w9F00gAAAAAAoMJSfusVgS7ow8LCvLy8bG1tzczMWrduffz4ccUPERMTw+53
MDk5mRBy8eJFgf4IJ02aJGEnUibs8OHDwj0dltk/No/HO3HiRL9+/RwdHY2M
jMzNzV1cXHr37v3PP/8kJiYqN8P5fP5//vMfNzc3ExMTOzu7gQMH3rlzp8zr
IoD2aV+7dm2Rm1B05v79+yV0fS/HJowvX74sXLjQzc3N0tLSyMjIyclp9OjR
T58+lXDutWvX5nA4nTt3JoRwudzDhw97enpWrVrVxsambdu227Zto0Ut6iFH
WDJdbP7999/idjt+/HgOh6Ojo/Plyxc6h+mnPTg4mMfj7dmzp3HjxsbGxvb2
9sOGDXvy5ImERMqRyUoxbNgwY2NjQkheXl56erq6romcFHzCXLp0adCgQQ4O
DoaGhlZWVq1atfLz88vIyFBiCuV7wqjn6st3lKSkJD8/v3bt2tna2hoYGDg6
Ok6ePDkmJkaJ10VK6vx8Ued1kTKT2aSM5G3btnE4nOrVq+fm5vr4+Jibmzdu
3PjWrVv01Hr06GFqalq/fn2Bjx5FnmNykDKT5b768r0qSJ/JRC0vVwoeRdZI
5nK5J06c6N+/v52dnaGhob29fadOnbZt2yZ5PB2Vfu4rEpYyPfllDRhZr4t6
npYAANouWwyRdchFtl4REBYWRtcJDAw8cuSIjo5gYcqmTZv4iomOjpbm1CZO
nKh4wgICAoT3/O+//0pIXl5eXpcuXcSlqnXr1gqePp/Pv3nzJt3byZMnp06d
KnwUPz8/CddFeIfdunUjhDg5OYncRLKcnBxFNqG2b99uYGAgcuWlS5eKywcn
JydCSKdOnYqKinr37i28rciTVRE5wrKkpMTe3p4Q0qJFC5H7zMvLo32a/Prr
r8zMoKAguqugoKDx48cL7F9HR2fXrl0i9yZfJkuPNlFht15h8Hg8U1NTeiz2
4+XZs2d0puTWKxJIaL0iN/meMHw+v6CgYODAgSJXtra2fvTokVKSJ98TRu6r
z3SIIHzbKusoe/fuNTIyEt5EX19/9+7dil8XNVx9uT/4VH1XyprJlEyRvHXr
VkKInZ3d0KFDmdXMzc3j4uIaN27MzNHR0QkPD2e2kvs5RqkoLOWOMTleFWR9
XKjh5UqRo8gaydeuXatbt67I9WvUqMEOFQEq/dyXLyzlePLLGjCyXhf1PC0B
AFREXAHFy/+1as1agX8CK6iwR9LY2NhJkybxeDyB+atXr9bseByqTtiGDRtE
1qpQhStXruzfv194vp+f35kzZ9STBsVt2bJl/vz5xcXFIpdu2rRp165dkvfw
+++/095Pyxc9Pb2JEycSQl68ePH27VvhFc6fP09/3RJZnnXhwoXDhw8LzOTx
eHPnzhUe5UTxTFbE9evX8/LyCCENGjQwNzdX3YE0a/r06cyLsoC0tLRevXol
JCQofhQ5njDqufryHWX79u3Tp08vLCwUXlRSUjJr1iyRi7SWTJ8varsrZc1k
OSI5LS3t7NmzzJ85OTmDBg1iP9Z4PJ6/v7/wDmV6jslBs48+CeR+XKjn5UrV
kTx48ODPnz+LXP/Hjx89e/b89u2b5BSq9HNfprBUz5Of0tpXawAAbaS6Oh0W
FhZ2dnbHjx9PT0/PzMy8evVqnTp16KI//vhDiaU+dnZ2hJABAwZIXk3xhDGf
ZJJ/qGnYsCEhhMPhLFiwIDIyMjs7Oz8/Pzo6+vr16zNmzBg4cKDip8zU6eBw
OLa2tkePHk1LSysoKHjy5AnzY2/NmjW5XK7w6Utfp0MA3Xzq1KnSp1OaTd68
eaOrq0sI0dfXnz59enh4eFpaWm5u7rt375YvX05/hDQzM8vIyBDelv624+Li
YmRkZGtru2vXrs+fP9ORTe/duzd79uxz584pntvykTIs4+Pj6ekvWLBAeGn3
7t0JIfb29iUlJcxMJg45HI69vf2JEyfS09MLCgoePnzYvn17uqhJkybKymTp
CdfpKC4ujo2N3blzp4WFBU3YwYMH2ZtoZ50OAVJeSuZcCCETJ06MjIwsLCxM
SUk5evRo9erV6fxRo0Ypnh5ZnzAKXn0pfzyX7yhv377V0/u/7qJatWp19uzZ
xMTE4uLi5OTkc+fOeXh4EEIKCgoUuS4KUt3ni3ruSjkyWdZIpnU6CCG+vr5p
aWnh4eHVqlWjc/r375+YmBgdHU1/vW/WrBmzlRzPMTaVhqWsV1+ANK8Kcjwu
1PNypbZINjU1NTQ0nDhxYkhISHJycklJSVpa2o0bN9q0aUOPIvIzka/iz305
wlLxJ780AaPg1VfP0xIAQFmUVadDhSUd+vr6b968YS+KiIigiwYNGqTEvJD1
TVTuhElZ0lGjRg1CiIeHhxLPUQBT0qGrq/v8+XP2oqKiIjc3N7qU9v4ocPra
VtIxcuRI+lYRHBwsvPTo0aMivyFT9I2HEFKjRo34+HjVZbgcpH+x6NevHy0g
YBdn8Pn8hIQEWkN1+fLl7PlMHOrr60dERLAX5efnu7q60qUvXrxQSiZLj5Z0
iKOnpyf8HsZ+RxRHZHMYhvaUdEyfPp2mZPr06QKL3r9/T1/3DQ0NMzMzFUyP
rE8YBa++lF8p5TvKuHHj6PwhQ4YIxD+fz+fxeEuWLCksLBR5RO0s6ZD+80U9
d6UcmSxrJDMlHXFxcXTOtGnTBJ5Cfn5+hBBLS0tmV3I8x9hUGpYM1ZV0yPG4
UM/Lldoi2cfH59u3b8LrZ2Rk0JIydrkYm0o/9+UIS8Wf/DKVdMh39VHSAQDl
SzlovdKvX7+mTZuy5zRp0oT+sMP0ragRqk4YLWj4+vXrjx8/VH0uvXr1atGi
BXuOgYHBwoUL6fSDBw9UnQAF8Xi8K1euEEI6duzIfGVl8/HxMTExIYQ8fvxY
wn62bdtWs2ZNTZ+NnH777TdCSHJy8rVr19jzAwMDeTyejo6OuD7D+vfv36RJ
E/YcY2PjuXPn0mnmxUhZmSw3fX39FStWfPjwYdGiRWrNWfWiGa6rqys8km7D
hg3p0DNFRUXSFO5IJtMTRj1XX76j8Pl8upWZmdn+/fuZegcMDoezefNmySVo
2kbKzxe13ZVyZLJ8kayvr1+rVi06zXwXZTpioIsyMzNLSkoE9inlc0wOGn/0
SaDI40I9L1eqjuSTJ086ODgIr29paenp6UkIiYuLk5xClX7uSx+WanvyU1r7
ag0AoIVUWNLRrl074Zn0gy0nJ0eD56zqhK1fv97c3Pznz5/16tXr3bv36tWr
T58+TX8cUPq5dOjQQXgmU8fy06dPSj+icsXExGRlZRFC7t+/r6enp6enp6ur
q6urq6Ojo6Ojw+FwDAwM8vPzCSFJSUnidmJkZDR48GBNn4r8evXqRWufCnRR
FhgYSAjp2bOnwJg4DMlX/+PHj3RCKZmsiJKSkl27dn348EEz+asuUVFRhBBX
V1f665kAplkZc13kJtMTRj1XX76jxMfHp6amEkK6detWtWpVlV4dtZHy80Vt
d6UcmSxfJLP732Gmq1SpQidoz8qEEOG+QqR8jslB448+pWcypZ6XKzVEMi3+
9vT0tLGxMTAwYAYEuXTpUpnnourPfenDUm1PfkprX60BALSQCks6bGxshGfq
6+sTQoR/1VEnVSfM3d399evXkyZNMjExuXr16tq1a318fNzc3BwdHdeuXVta
WqrEc6Ejd4ibmZmZqYL8U6aUlBQ6wefzS0tLS0tLeTwej8ejNZfYa9L+LEVy
cXER1+V7uaCjozN58mRCyOXLl9PS0ujM8PBwWjQgsi9SSuTVZxoGM1dfKZks
PaaxSWlpaVxc3IYNGwwMDHJycoYOHSqy11VKQj8d6v8SIoeCggLaGx9tWiKM
ma/4XSnTE0Y9V1++o9Bv4IT1y38FIOXni9ruSlkzWe5IpufIntbV1WXGGmeW
CndaKeVzTA5qfvRJT8HHhXperlQdyX5+fk2aNNm2bduTJ0/S0tKEU87lciUk
T9Wf+1KGpTqf/JTWvloDAGghFZZ0CA+CpSXUkDBnZ+cDBw6kpKR8/vz54sWL
8+bNc3R0/PHjx+rVq9nj8CmOeY8UOVPkUpGUW/6iChJqxDC9XZZfEydONDAw
KC4uPnHiBJ1D2zY7ODj07dtX3FaSr68cdYiUW+1IR0enVq1ay5YtO3DgACGk
qKiIaVpfCTF5K/1dKYEqnjCqqHQm5VGUkidaQumfL8q6LsrKZGkiWcIi4dNR
+nNMkZPSEpIzWT0vVyqNZH9//zVr1ijy4qHqz31lhaVyn/xEi1+tAQC0EJ6Y
KsThcJydnfv37799+/bY2NgpU6YQQoKCgm7duqWsQ4hsqJ+YmEgnLC0tmZnM
T2oifydhfvdTM+bXiTVr1kjumebu3bvidlIBvibZ2toOHDiQEEKHtSsuLj51
6hQhZOLEibRPe5FEXn2mBgRz9ZWSyYoYO3YsHUTm9u3b9+7d01Aeq5axsTH9
gVFc3xnMfCW+oEvzhFH86ktzf8l3FGarmJgYlVwVLaa2u1LWTFZ/JEv5HBOg
urBUA408LlREvkxmj9dz+/bt5OTk4uJiZk3axalkqv7clzIsK9KlBACoeCpC
SQf9KlhUVKTphEhCO2Wk00+ePFHWbkX21sbMpKNRUkwz6e/fvwusn56erqwW
pLKqV68ebcj98OFDjSRAdWQNSzpawcuXLyMjI2kzFh0dnYkTJ0rYROTVZ3Ky
QYMGdEIbMnnjxo10Yv369ZpKg9ykvJQ0wz9+/JicnCy89M6dO3TCxcVFFYkU
94RR/OrTsQMIIUzTKmHyHaVWrVr0a1JoaGh6erqsCVPPk19FR1HbXSlHJqs5
kqV8jglQXViyqS7GNPu4UCI5Mjk3N5f2bTFmzBh/f/8uXbrY2tqyWz9FRkZq
+rRkCMtycSnLxXsyAIDSVYSSDtr52cePH3k8nqbTQgghgwYNEtkDNtPzdnZ2
trKOde3atZcvX7LnlJSUbN++nU6zu9RycnKiv4HQceDYm2zZskVyg1jV0dXV
9fLyIoTcuHGD1mIQlpyc7OvrGxsbq5EUyk3WsOzUqRMtmQoICKBNV7p06cKM
ZSDSpUuXBHq+KCoq2rVrF51m+k7Thkxu1aoVrdYRGhqq/mEOFCTlpaS3W2lp
6dq1awUWffjwgea8gYGBh4eHgumR6Qmj+NVn2plL+CYj31E4HE6fPn0IIXl5
eVOnThX5FFq9erW4t3P1PPlVdBS13ZVyZLLaIpmS8jkmQHVhyaa6GFNzJquO
HJnM9ErLFFexHT16VBtKOqQPy3JxKbXtPRkAQD0qQkkHLVD/+vXrnDlzYmNj
hTs8U7NLly65uLiMGTPm8uXLKSkpRUVFcXFxu3fv9vX1pSs0btxYWcfi8Xhe
Xl7Hjh3LyMgoKioKDw/38vJ69eoVIaROnTqdO3dm1jQzM/vll18IIc+fPx85
cuT79++LiopiY2MXLlz4xx9/iKshrAZLliyh7U5Hjhw5fvz427dvp6enc7nc
lJSUa9euTZ48uXbt2gEBAcr9eHZ0dKR9vA8ZMkRF5yVHWNLhZo8ePRoSEkII
GTt2rOT1uVzur7/+eurUqczMzMLCwidPnvTs2fP9+/eEkIYNG7LfqzSSyQKW
Ll1KJ9asWaO6o6iClJdywoQJdGLv3r2TJk169+5dcXFxWlrasWPHunXrRl/u
Bw8erHgdZlmfMApefTriI93PrVu3hMfOUOQoixYtouOenjt3rl27dufPn09O
TqZbBQcHd+jQYe3ateKaxKvnya+6o6jtrpQ1k9UWyZT0zzE2lYYlQ3VXX82Z
rFKyZrK1tTUdBujQoUMbN26MjY0tKipKTk5+8ODBqFGjJkyYYGpqqulzkiEs
y8WllCOSU1NTmdFw/Pz8NJh4AAD5ZYtBW0tKMzDkjBkz2E0xmSp/gYGBwg01
u3XrRghxcnLiK8/ff/8tMmETJ05UMGHr1q2TJg83bdrE3kpCxwqEEAcHh5yc
HAVP+ebNm3RvY8aMEXcgWneDbfPmzSLX7N69uzTXha48depU6dMp5SYbNmwo
M5Ojo6OFN3RyciKEdOrUSdYMpEOyEUIGDx6s4LUQR8qwZMvIyDAxMaGrmZiY
iIuToKAguo6ExswhISHKymTpGRoaEtbYK8KYt8MnT57QOUw1BMkkZNqAAQPo
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
Pr9v375K3G1oaCj/v+bMmaPps6yYyksmqyjGAAAAAAAAQAJpSzqGDx/OfLdM
S0t7+vTp2LFjdXR0CCGpqakbNmzQ9IkAAAAAAAAAAMhVp6Nq1aoeHh5HjhzZ
tm0bnRMUFKTpEwEAAAAAAAAAUKz1ysyZM83MzAghSUlJqampAksvXbo0aNAg
BwcHQ0NDKyurVq1a+fn5ZWRkiNsbj8c7ceJEv379HB0djYyMzM3NXVxcevfu
/c8//yQmJiplk8OHDwt3sCrluBh8Pv8///mPm5ubiYmJnZ3dwIED79y5o9yL
8eXLl4ULF7q5uVlaWhoZGTk5OY0ePfrp06fKPQohJCkpyc/Pr127dra2tgYG
Bo6OjpMnT46JiRG3vpSXctu2bRwOp3r16rm5uT4+Pubm5o0bN7516xY9tR49
epiamtavX//YsWPsrZgBSoKDg3k83p49exo3bmxsbGxvbz9s2LAnT55oJJNj
YmLYQZKcnEwIuXjxokDwTJo0SWBDuWNM+vvlwYMHdLc0J8PCwry8vGxtbc3M
zFq3bn38+HFxh5DjFpMDl8s9ceJE//797ezsDA0N7e3tO3XqtG3bNsmD49Su
XZvD4XTu3Jnu4fDhw56enlWrVrWxsWnbtu22bdsKCgrku5QAAAAAAFDpZItB
G6o8e/aMrsZuvcJWv359ukJMTAwzs6CgYODAgSIPZ21t/ejRI+H95OXldenS
RVwiW7durZRNAgIChNf8999/+WLcvHmTrnPy5MmpU6cKb+vn58cXj+lCIicn
h1+W7du3GxgYiDyXpUuXlrm59Pbu3WtkZCR8FH19/d27dwusLNOl3Lp1KyHE
zs5u6NChzGrm5uZxcXGNGzdm5ujo6ISHhzNbMRWCgoKCxo8fL3AUHR2dXbt2
qT+To6Ojpbl9Jk6cKHAIWWNM1kzm8/lhYWF0aWBg4JEjR2gjMrZNmzYJH0WO
+0UO165dq1u3rshD1KhRg33dBTg5ORFCOnXqVFRU1Lt3b+HNAwMD5buUAlJS
Upg1V69erZSzBgAAAAAApRBXQPFSRgrV6SgpKWF+CrawsGDmT58+XVx7lrS0
tF69eiUkJAjM37Bhg6xVJOTYRG5XrlzZv3+/8Hw/P78zZ84ovv8tW7bMnz+/
uLhY5NJNmzbt2rVLKSeyffv26dOnFxYWCi8qKSmZNWuWwCI5LmVaWtrZs2eZ
P3NycgYNGvT27VtmDo/H8/f3F97hhQsXDh8+LDCTx+PNnTs3NDS0HGWyrOTI
ZCo2NnbSpEk8Hk9g/urVq+Pj4wVmqud+GTx48OfPn0Uu+vHjR8+ePb99+yZ5
D7///ntISIjkdbT2UgIAAAAAgDZQqKRj9+7dtEa6nZ2djY0Nnfn8+XPmZ+2J
EydGRkYWFhampKQcPXq0evXqhJDs7OylS5cK7Ip+0+NwOAsWLIiMjMzOzs7P
z4+Ojr5+/fqMGTNq1KghfHQ5Nhk/fjxTViRT3yLHjx+3tbU9evRoWlpaQUHB
kydPmJ/HFy5cWFpaqkg2RkRELF++nBCir68/ffr08PDwtLS03Nzcd+/eLV++
nNa/WLFiRWZmpiJHIYS8e/duyZIldLpVq1Znz55NTEwsLi5OTk4+d+6ch4eH
wPryXUoul+vr65uWlhYeHl6tWjVCyIsXL/r375+YmBgdHU1/8BfZxODYsWP2
9vYnTpxIT08vKCh4+PBh+/btCSF8Pn/+/PkKnrusmVyvXj12yaKdnR0hZMCA
AQIljgcPHhQ4kKwxJl8mU9u3b69aterx48fT09MzMzOvXr1ap04dQkhxcfHp
06cFVpbjfpGPoaHhxIkTQ0JCkpOTS0pK0tLSbty40aZNG0JIRkbGzp07JWyb
lJT0zz//2Nra7tq16/Pnz4WFhT9+/Lh3797s2bONjY3lu5QAAAAAAFDpyNF6
JT09/enTp+PGjWOqzf/222/M0unTp9OZ06dPF/ha+P79e/o9xNDQMDMzk72I
ftHy8PCQvlqLHJuwMd9CpWm9oqur+/z5c/aioqIiNzc3uvT69esiN5eyYcXI
kSMJIbSjCuGlR48epTs5ePCgfGfKGDduHN3VkCFDSkpKBJbyeLwlS5YUFhYy
c2S9lLT1CiEkLi6Ozpk2bRqd8+LFCzrHz8+PEGJpaSl8IfT19SMiIthHyc/P
d3V1FdiDRjJZXEmHZNLEmBz3C9N6RV9f/82bN+xNIiIi6KJBgwYJ7E3B+0VK
Pj4+3759E56fkZFBi72aNWsmckPaeoUQUqNGjfj4eAmHUPBSovUKAAAAAIDW
UnfrldOnTzPdK1atWrV169ZHjhyh1eatra3pT6wU/Rqmq6u7atUqgZ00bNhw
xIgRhJCioiKmDIWipQZfv3798eOHlEmSYxO59erVq0WLFuw5BgYGCxcupNMP
HjyQe888Hu/KlSuEkI4dOw4YMEB4BR8fHxMTE0LI48ePFTkFPp9PD2RmZrZ/
/349PT2BFTgczubNmw0NDZk58l1KfX39WrVq0Wnm6yvTdwNdlJmZWVJSIrDP
/v37N2nShD3H2Nh47ty57MRoeSbLQb5Mpvr169e0aVP2nCZNmtCs/vLli8DK
6rlfTp486eDgIDzf0tLS09OTEBIXFyd5D9u2batZs6a4pYpfShsbG+YxSsvd
AAAAAACgglGo9QohpFatWiEhIY6OjsycqKgoQoirqyv9GVwA0+jj48eP7Pnr
1683Nzf/+fNnvXr1evfuvXr16tOnT9Nf+MUdWo5N5NahQwfhmbRtBSHk06dP
cu85JiYmKyuLEHL//n09PT09PT1dXV1dXV0dHR0dHR0Oh2NgYJCfn08ISUpK
UuQU4uPj6fg43bp1q1q1qjSbyHcpzc3NhaerVKlCJ+hgPYQQ4b5CJGeywFG0
M5PlIF8mU+3atROeSQsacnJyBOar7X758OHDokWLPD09bWxsDAwMmBLSS5cu
iUwYm5GR0eDBgyWsoM2XEgAAAAAAtISeHNsYGhpaW1s3bdq0X79+Y8eOZb67
EkIKCgpoN4Himv0z8wVa0bu7u79+/XrTpk1BQUFXr169evUqs/7UqVOXL1+u
q6srsCs5NpGbvb29hJmK9AjA1KXn8/mS+/vIy8tT5BSYYYDFDY0hQO5Lqa+v
LzCtq6vL4XAElgp3Jykyk2lfFaScZLKs5M5kiukch43msHCVGfXcL35+fuvX
r5eQyVwuV8LmLi4u4kZUobT2UgIAAAAAgPaQtk4Hu5+OwsLC79+/X716dfr0
6exiDmkwPyAzX30Zzs7OBw4cSElJ+fz588WLF+fNm+fo6Pjjx4/Vq1ezRy1V
cBP5CKeWPVPkUqVT1m/vykqthEspzbGET0dywlRRVUdTR5EjPSIzR3h8WclU
fb/4+/uvWbNGkQ562UM4KSvrAAAAAACgslG09YoAY2Nj+pOsuL4AmPnivtJw
OBxnZ+f+/ftv3749NjZ2ypQphJCgoKBbt26JO6gcm8hK5OkwI+xaWlqKS1iZ
e2Z+ll+zZo3krlnu3r2ryCkwB4qJiZFmfcUvpaxEHohpg1AuMllW6s9kosr7
hemS1tfX9/bt28nJycXFxUze0p5Ey0yb5BW09lICAAAAAID2UHJJByGkQYMG
hJCPHz8mJycLL71z5w6dcHFxKXNX+vr6K1asoNNPnjyR5uhybCINkd1hMjMb
Nmwocis6cAYhJC0tTdye69WrR/uwePjwobJSK1KtWrXot8TQ0ND09HRpNlHi
pZSGyExmsoUmRph6Mpm27CgqKlLKmbKpOZMFKPF+yc3NpX2OjBkzxt/fv0uX
Lra2tuymTJGRkYonWG33CwAAAAAAlF/KL+mg/UqWlpauXbtWYNGHDx9OnTpF
CDEwMPDw8GAvGjRokPBoEYQQZsiJ7OxsgUVybCK3a9euvXz5kj2npKRk+/bt
7FMWxnSyIOFbma6urpeXFyHkxo0bNHOEJScn+/r6xsbGKnIKHA6nT58+hJC8
vLypU6eK7C5h9erV7C/z8l1KuV26dOnt27fsOUVFRbt27aLTTNekGslk2rXq
x48f6XhDSqS2TFb1/cJ0McuUPbEdPXpUKSUdartfAAAAAACg/FJ+SceECRPo
xN69eydNmvTu3bvi4uK0tLRjx45169aNfh0aPHiwQG38S5cuubi4jBkz5vLl
yykpKUVFRXFxcbt37/b19aUrNG7cWOBAcmwiNx6P5+XldezYsYyMjKKiovDw
cC8vr1evXhFC6tSp07lzZ5Fb0WE1CSFLliy5deuW8GgjzFLa4cLIkSPHjx9/
+/bt9PR0LpebkpJy7dq1yZMn165dOyAgQPHv2IsWLaKDy547d65du3bnz59P
Tk6mBwoODu7QocPatWvZvRvIdynlxuVyf/3111OnTmVmZhYWFj558qRnz57v
378nhDRs2FDcV331ZDKtefH169c5c+bExsYKd6cqN7VlsqrvF2trazqmz6FD
hzZu3BgbG1tUVJScnPzgwYNRo0ZNmDDB1NRUKTmm4KVMTU1lhoPBKLMAAAAA
ABVTthi0rTvzey+7R9IyjR07VsIRzc3Nv379KrCJ5HEfHBwccnJyFNxk3bp1
0mTIpk2bmE1u3rxJZ44ZM0bc+sHBwRKyws3NTXiTUaNGCay2YcOGMhMWHR0t
/SUQ588//5R8lIKCArkvJe2mwc7Ojplz4MABQoiuri4zJygoiG6bkpIiMEdC
Pw4hISGazeS///5b5PoTJ05UMMZkzWQ+n8808wkMDBROardu3QghTk5OAvPl
uMVkNW/ePHH7d3NzGzVqFJ0Wua2TkxMhpFOnTtIcSJFLyYzeQghZvXq1gqcM
AAAAAABKJK6A4qWMlF+ngxCyb9++/v37i1xkZWUVEhJCv9WwXbx4UdzopzVq
1Pj333+FB3mRYxO59e7dm3bcyMbhcDZt2jRgwAAJGx46dIg2fJBs2bJlu3bt
MjQ0FLnU1tbW399fytFhJZs/f/7evXtFti/Q09PbsWOHwCI5LqXchg4d6uPj
IzCTw+Fs27aNNlgQRw2Z7OvrK7I8RSnUk8lquF/WrVvXtm1b4flOTk5nzpyh
9YmUQm33CwAAAAAAlEcqKekwNja+ePHihQsXBgwYYG9vr6+vb2Fh4e7uvnLl
yujoaJEdLvTp0+fjx4/Hjh3z8vKysbHR09Oztrbu0KHD1q1bP3z40Lx5c6Vs
ooh9+/bt2bOnUaNGRkZGtra2AwcOvHfv3u+//y55K3d39/Dw8GHDhtnY2Ege
V2L27NmxsbErV6709PS0sbHR19evVq2al5fXgQMH4uLifH19lTU67LRp02Jj
Y1etWsUcqEaNGuPHj4+IiJg7d67il1IRgYGB27Ztc3V1NTQ0tLOzGzx48IMH
DxYsWKDxTDYyMgoLC/Pz82vevLm5ublyxxVWTyar4X4xNTW9e/fuzp07PTw8
zMzMjI2NXV1dly5d+uzZM3EdyspNbfcLAAAAAACUOxxx3RBK8yM5gOKCg4MH
DhxICAkKCvL29tZ0cgAAAAAAAEAzcnJyRM6PiYmRaT8qqdMBAAAAAAAAAKAR
KOkAAAAAAAAAgIoDJR0AAAAAAAAAUHGgpAMAAAAAAAAAKg6UdAAAAAAAAABA
xYGxVwAAAAAAAABA8zD2CgAAAAAAAACAIJR0AAAAAAAAAEDFgZIOAAAAAAAA
AKg4UNIBAAAAAAAAABUHSjoAAAAAAAAAoOJASQcAQEXWvXt3jpDc3Fzp9xAc
HEy3unz5sqbPBmRTu3Zt5qKHhoZqOjn/H8IStBDCEkRq2bIlEw/nzp1T89ER
lgByKwclHaNHj+ZwOCYmJikpKZpOC1RMiDGAcqd69eocDsfb21uRneDeB+VC
WIIWQliCFkJYghpoe0lHXFzc6dOnCSETJkyoVq2appMDFRBiDKBywr0PWghh
CVoIYQlaCGEJZdL2ko4///yTy+Xq6uouWLBA02mBigkxBhVbaGgo/7/mzJkj
xx68vb3p5n379tX02SgT7n0NQliKg7DUIISlOAhLDUJYioOwhDJpdUlHWlqa
v78/IWTIkCHOzs6aTg5UQIgxgMoJ9z5oIYQlaCGEJWghhCVIQ6tLOnbv3p2f
n08IWbx4sabTAhUTYgygcsK9D1oIYQlaCGEJWghhCdLQ3pKO/Pz8PXv2EEJ6
9Ojh7u6u6eRABYQYA+V6/fr1+vXr+/Xr16xZsxo1ahgYGJibm9euXXvAgAGH
Dx8uKipS7uGSkpL8/PzatWtna2trYGDg6Og4efLkmJgYpez88OHDwp29S9Nt
+5cvXxYuXOjm5mZpaWlkZOTk5DR69OinT58Kr/ngwQO622PHjhFCwsLCvLy8
bG1tzczMWrduffz4cYH1Y2Ji2IlJTk4mhFy8eFEgkZMmTSozkZX23v/x48fk
yZNr1KhhZGTk7Ow8c+bMxMRE5R4CYUkQlrK4d+/epEmTXF1dLSwsjI2NnZ2d
O3bs+Pvvv7948UKJR0FYEoSldAIDAzt16mRlZWVmZta2bduzZ8+q7lgIS4Kw
BFXLFoOvabt27aIpvHnzpqbTAhUTYgyUqMxvjG5ubt+/f1fW4fbu3WtkZCR8
FH19/d27d4vbimnim5OTI3n/AQEBwjv/999/JW+1fft2AwMDkae/dOlSgZXD
wsLoosDAwCNHjujoCJa8b9q0ib1+dHS0NB9qEydOLDP3Ks+97+TkxOTMnj17
hPtsq1q16ps3b5R1OIQlwlJ6mZmZ/fr1k5BpBQUFSjkQwhJhKY3S0tKRI0cK
59KSJUtatGjB/Hn27FmlHA5hibAECcQVULyUkZbW6eByudu3byeEuLu7d+/e
XdPJgQoIMQZq9ubNm4kTJyplV9u3b58+fXphYaHwopKSklmzZolcpGpbtmyZ
P39+cXGxyKWbNm1iXk0ExMbGTpo0icfjCcxfvXp1fHy80tNZae/9hQsXCo/D
l56e7u3trZSAQVgqorKFZWFhYdeuXf/9919VHwhhqYhKFZY7d+48ceKE8Pwt
W7a8e/dOucdCWCqiUoUlKEhLSzpOnToVFxdHCFmyZImm0wIVE2IMlIvD4TRu
3HjRokUXLlx4+fLlt2/fioqKUlNTT5w4YWFhQde5du1aVFSUggd69+4dE7St
WrU6e/ZsYmJicXFxcnLyuXPnPDw8lHI648ePZ0rWg4KCylw/IiJi+fLlhBB9
ff3p06eHh4enpaXl5ua+e/du+fLl9JerFStWZGZmCm+7ffv2qlWrHj9+PD09
PTMz8+rVq3Xq1CGEFBcX0wHkqHr16rHL++3s7AghAwYMEPgd4ODBg5KTWmnv
/cLCwl69esXGxmZlZa1du5aZ/+XLl0OHDim4c4QlwlImq1atevnyJfPnuHHj
Xr9+XVhYmJubGxkZuWPHjmbNmnE4HAWPgrBEWEqpuLh4/fr1zJ9ubm4RERF5
eXn+/v76+vrKLXdAWCIsQX20s/VKkyZNCCHOzs5cLlezKYGKCjEGarNixQrm
kbt3714F9zZu3Di6qyFDhpSUlAgs5fF4S5YsKSwsFLmt9BVf2ZiXJAkVX2ml
Xw6HExwcLLz06NGjdA8HDx5kZjIVX/X19QUaUERERNBFgwYNEndEcS9JZapU
9z679Uq1atXY133IkCHMoo4dOyp4IIQlhbCURmZmpqmpKRN+c+bMUdGBEJYU
wrJM7A4s9PT0YmJimEXsT3CijNYrCEsKYQkSVOTWKyEhIZGRkYSQhQsX6urq
ajo5UAEhxkCdrK2tmen3798rsis+n3/lyhVCiJmZ2f79+/X09ARW4HA4mzdv
NjQ0VOcJ8ng8mqqOHTsOGDBAeAUfHx8TExNCyOPHj4WX9uvXr2nTpuw5TZo0
qVu3LiHky5cvyk1qZb73fXx8zMzMmD/Zvb49f/5cuOKx9BCWCqpsYXnnzp28
vDw6bWpqum7dOlUcBWGpoEoVluHh4cx0ly5daJZSU6ZMUeKBEJYKqlRhCYrT
U3wXSrdlyxZCiK2t7fjx4zWdFqiYEGOgCjk5OYGBgdevX3///n1ycnJeXp7w
t0eRNT+lFx8fn5qaSgjp1q1b1apVNX3G/ycmJiYrK4sQcv/+ffrexufzBf6n
kpKShDdv166d8EwHB4fPnz/n5OQoN6mV+d5v2bKluD/z8/OTkpJq1Kgh354R
lgqqbGHJbrfSrl07c3NzVRwFYamgShWWsbGxzLTAo7JmzZp2dnZ0oBDFISwV
VKnCEhSndXU6nj59ev/+fULIrFmzjI2NNZ0cqIAQY6AKd+/edXZ2njFjxqVL
l2JiYnJyckT+SM78kslmZmYmPBocHUFNAH1DIoSwf3HSOKafSz6fX1paWlpa
yuPxeDwerYJY5unb2NgIz9TX1yeElJSUKDGdlfzeFxh4xdramt1VPn3NZUNY
Cs9EWCoFu2fcWrVqybQtwlJ4JsJScdnZ2cy08BhVtra2kjdHWArPRFiCNtC6
Oh2bN28mhJiZmc2YMUPTaYGKCTEGSpeUlOTt7S38XVGYIm0E2BTvq08jBN6Z
KOGh6VSkkt/7kmNGKRGFsJQDwrICHEIVEJbqxM5t9QQMwlIOlS0sQXHaVdIR
FRV18eJFQsjkyZOtrKw0nRyogBBjoAqBgYHsYo6hQ4fOnz/fxcWlSpUqurq6
GzZsEOjSTEBubq6UB2J+OYmJiZEjnSp6tWJStWbNmlWrVqniEIrDvf/z50/2
n2lpaexyN+EWBAhLNaicYcn+BTghIUGmbRGWalAJw5IZIo0IPSpFzhGAsFSD
ShiWoDjtar3yxx9/8Pl8fX39efPmaTotUDEhxkAV3r17x0w7ODicPn26TZs2
VlZWtLus6OhoZR2oVq1a9I0kNDQ0PT1d1s3pQHGEkLS0NCWefr169apUqUII
efjwoRJ3KxnN26KiIinXx73//Plz9p8vXrxgpk1MTOzt7eXeM8KSgbCURvPm
zZnphw8fiqwPrziEJQNhWSZ2WxKBR+W3b9+U1UkHQViyICxBDWQo6Rg9ejS7
+RnT0kxZfvz4cezYMULIiBEjatasqemcgfJBprBEjIGKsH8bt7CwYP/qkpiY
eP78eWUdiMPh9OnThxCSl5c3depULpcrvM7q1avFvTowXU4q921GV1fXy8uL
EHLjxo1Tp06JXCc5OdnX15fd65uCaB2Ejx8/StMgCPc+IeTUqVPsHx4PHDjA
TLdo0UKR6scISwbCUhpdunRh2tjn5OSsWbNGFUdBWDIQlmXy8PBgpu/cufP5
82fmz/379yvxQAhLBsIS1EC1dTpSU1OZr6B+fn6SV96xY0dxcTGHw1m0aJGm
swUqJsQYqEijRo2Y6ffv369duzY1NTUjI+PatWtdu3aVvl6rNBYtWkS7Rj93
7ly7du3Onz+fnJzM5XJTUlKCg4M7dOiwdu1akS1pCSGenp50YsmSJbdu3Sos
LFRWqpYsWUK/Ko8cOXL8+PG3b99OT0+nqbp27drkyZNr164dEBCgrG5KCCEN
GjQghHz9+nXOnDmxsbHFxcUSVsa9TwhJSUkZOnTo169fc3Jy1q9ff+7cOWbR
sGHDFNw5wpJCWErDyspq6tSpzJ9bt26dPHlyZGRkcXFxWlra69ev//7775Yt
W0r/Y684CEsKYVmm7t27Mw0iuFzukCFD3r59W1BQEBAQQAf7UCKEJYWwBHXI
FoMvZNSoUewNU1JS+GVhd6+9evVqCWtmZmbSsr0+ffqUuVsAhvRhiRgD1UlI
SGDqlApj/1o+YMAAxQ/3559/Sn6wFxQUiNvWzc1NeP1Ro0ax11m3bp00Hx+b
Nm1ib7Vhw4YyN4mOjmbWDwsLozMDAwOF09mtWzdCiJOTk7gT+fvvv0UeYuLE
iQJrVuZ738nJickZMzMzkTlWq1at/Px8xY+FsOQjLKWWl5fXpEkTuQNGeghL
PsJSOtu2bRN3LUxNTZnps2fPKn4shCUfYQkSiSugeCkjbemnY+/evXTI5SVL
lmg6LVAxIcZAdRwdHQ8fPmxgYCC8qGHDhosXL1bu4ebPn793716RZSt6eno7
duyQUOxy6NAh4b4nlWLZsmW7du0yNDQUudTW1tbf31+J4+r5+vqKfOEThnuf
2rJli/BYgBYWFhcuXFDKcH0IS4KwlJqJicmdO3d69Oih6gMhLAnCUjrz5s0b
OnSo8Pzff//d1dVVucdCWBKEJaiFVpR0FBUV/fXXX4QQT0/PDh06aDo5UAEh
xkDVhg8f/vr16ylTptSrV8/IyMjU1LRZs2abN29++fKlnZ2d0g83bdq02NjY
VatWeXp62tjY6Ovr16hRY/z48REREXPnzpWwobu7e3h4+LBhw2xsbJTei/vs
2bNjY2NXrlzJpKpatWpeXl4HDhyIi4vz9fVV4hGNjIzCwsL8/PyaN29ubm4u
bs+49xkNGjR4+fLlpEmTHB0dDQwMHB0dJ02aFBER0aJFC2UdAmGJsJSetbX1
jRs3bty4MW7cuHr16pmZmRkZGTk5ObVt23bFihVv3ryR8GVPJghLhKU0dHR0
Tp8+feDAAQ8PDzMzM3Nz87Zt2546dWrTpk2qOBzCEmEJasDJzs4WuUBF5YUi
7d+//7fffiOEBAUFeXt7azpPoAJCjAFUTrj3QQshLEELISxBCyEsKydai0eY
rMMza76kg8fjubi4xMTEuLq6vn//XkUjRUNlhhgDqJxw74MWQliCFkJYghZC
WFZayirp0HzrlfPnz9NEL1y4EBEMqoAYA6iccO+DFkJYghZCWIIWQliCgjRf
pwMAAAAAAAAAoOLU6QAAAAAAAAAAUBaUdAAAAAAAAABAxYGSDgAAAAAAAACo
OFDSAQAAAAAAAAAVB0o6AAAAAAAAAKDiQEkHAAAAAAAAAFQcKOkAAAAAAM1o
1qwZ579OnTql6eQAEELIt2/fOCyFhYWaThEAyAwlHQAAAAAAAABQcZTXko7u
3btzhOTm5kq/h+DgYLrV5cuXNX02oJCcnJx169Z5enra2NgYGBgw8XDu3Dk1
pwRhCVoIYVmZzZ07l7noc+fO1XRy/j+EJWghhCVoIYQlgNzKa0lHRVW9enUO
h+Pt7a3ITkaPHs3hcExMTFJSUjR9QipXXFzcsWPHVatWPXnyJC0traSkRNMp
qoAQlqCFEJaghRCWoIUQlqCFEJagBijpqGji4uJOnz5NCJkwYUK1atU0nRyV
u3DhwuvXrzWdCihDZQtLKBcQlqCFEJaghRCWoIUQllCm8lrSERoayv+vOXPm
yLEHb29vunnfvn01fTbK9Oeff3K5XF1d3QULFmg6Lerw4MEDZrpt27bJyclM
YAwZMkTNiUFYilPZwlKrICzFQVhqEMJSnEoYlq9fv2aCwcfHR4MpQViKUwnD
0tHRkc9iZGSkqZQgLMWphGEJsiqvJR0gUlpamr+/PyFkyJAhzs7Omk6OOvz8
+ZOZ7tmzp62traZTBIIqYViC9kNYghZCWIIWQliCFkJYgjRQ0lGh7N69Oz8/
nxCyePFiTadFTYqLi5lpAwMDTScHRKiEYQnaD2EJWghhCVoIYQlaCGEJ0pCq
pIPP5589e3bIkCG1atUyMjKysLBo1KjRzJkz3759q/QEJSUl+fn5tWvXztbW
1sDAwNHRcfLkyTExMUrZ+eHDh4W7L5amI+IvX74sXLjQzc3N0tLSyMjIyclp
9OjRT58+FV7zwYMHdLfHjh0jhISFhXl5edna2pqZmbVu3fr48eMC68fExLAT
k5ycTAi5ePGiQCInTZpUZiLz8/P37NlDCOnRo4e7u7vSL432+P3335mcuXjx
IjN/6dKl7ExT4tgrCEuCsJROeHj44MGD7ezsjI2NXVxcli1blpOTM378eCbT
VqxYoaxjISwJwlJG2dnZS5YsqVevnpGRkZ2d3ciRIz9//qzcQyAsCcJSCrVr
1+aIcurUKVUcDmFJEJZSYMYoEVZYWKj0wyEsCcISVC1bDKZJ2Pfv31u3bi1y
Wx0dnRUrVvCVZ+/evSIbwunr6+/evVvcVkyjtZycHMn7DwgIEN75v//+K3mr
7du3i6sssHTpUoGVw8LC6KLAwMAjR47o6AiWJW3atIm9fnR0tDSXaeLEiWXm
3q5du+jKN2/eVOJF0UJLliyRJtPOnj2rlMMhLBGWUgoICNDV1RXIJRcXl379
+jF/Ll++XCnHQlgiLKXBbtT922+/ubm5CWSXjY3N169flXU4hCXCUkpOTk4i
M+rkyZNKPxbCEmEppaCgIHF5VVBQoNxjISwRliCBuAKKlzIqo05HZmZmhw4d
RJbkEUJ4PN769etXrlwpTeCWafv27dOnTxdZaFpSUjJr1ixVlKeWacuWLfPn
z2c3kWDbtGkTc7MJiI2NnTRpEo/HE5i/evXq+Ph4paeTy+Vu376dEOLu7t69
e3f1Z1RFhbBURKUKyxcvXkyePLm0tFRgflRU1L///qvcYyEsFVGpwpLt+PHj
b968EZiZmpq6atUqpewfYamIShuWqoawVATCUkUQlopAWIIMJNfpGD9+PLOm
tbX1uXPn8vLyUlNT9+zZw5T56ejovHr1SsGSm7dv3+rp6dEdtmrV6uzZs4mJ
icXFxcnJyefOnfPw8CDiy1OlL+BkYwpuJRRwvnnzhv5Cq6+vP3369PDw8LS0
tNzc3Hfv3i1fvpyWxZqZmWVkZDCbMAWcFhYWdnZ2x48fT09Pz8zMvHr1ap06
deiiP/74Q9wR7ezsCCEDBgyQNQMDAwPpzk+fPq3gtShfBgwYwISoQOGx4hCW
FMJSGt26dWNC0d7e/s6dO/n5+cHBwebm5uxHruJ1OhCWFMJSGgId9Y8YMeLn
z5/fvn3r3bs3M7NKlSo8Hk/BAyEsKYSlHNhVjZRbpwNhSSEs5ZCQkMB+eCqx
TgfCkkJYggTKqtMhqaTj27dvzK1ICDl//jw7BezW5uPGjVPwfMaNG0d3NWTI
kJKSEoGlPB5vyZIlhYWFIrdV3W0/cuRIQgiHwwkODhZeevToUbqHgwcPMjOZ
215fX//Nmzfs9SMiIuiiQYMGiTui3Ld9kyZNCCHOzs5cLlexS1HOqLSkA2FJ
ISzLlJCQwOFwmFBkX76///5buSUdCEsKYSkNdkmHmZkZc90jIyPZYfn9+3cF
D4SwpBCWclBdSQfCkkJYykF1JR0ISwphCRKoo/XK1atXuVwuna5Tp86gQYPY
S6dMmcJMX7lyhSiAz+fTPZiZme3fv59dvEJxOJzNmzcbGhoqchRZ8Xg8mqqO
HTuyv04zfHx8TExMCCGPHz8WXtqvX7+mTZuy5zRp0qRu3bqEkC9fvig3qSEh
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
PB7PxcUlJibG1dX1/fv3KhpbG0AmCEtx4uLiGjZsWFBQQP+8e/dup06dNJ2o
ygJhCVoIYQlaCGEpICAgwNfXl047OTl9/fpV0ymqjBCWlZaySjr0NH0iILPz
58/Ty7xw4ULc86AlEJaEEE9Pz759+3bo0MHR0bF69eoFBQXPnz9fuHAhU8xR
tWpVDw8PTSezEkFYghZCWIIWQlgyCgoKHj9+vGrVKmaOu7u7phNVSSEsQUGo
0wEAoBxmZmZ5eXkSVtiyZcvixYs1nUwAAAD4H0ZGRkVFRSIXnTt3bvDgwZpO
IEAloqw6HWX3SAoAAIqbOXMmxoEHAAAoRwYOHIhiDoByCq1XAACU4/nz5+fP
n79//35cXFxycnJubq65uXmdOnU8PT3Hjx/fsmVLTScQAAAAysDhcCwtLRs3
bjxq1KhJkyZpOjkAICe0XgEAAAAAAAAAzVNaj6QvXrzQ9LkAAAAAAAAAACiH
HiGkQYMGmk4GAAAAAAAAAICiPn36hB5JAQAAAAAAAKDiQI+kAEowZ86cL1++
0OlFixZ16NBB0ykCAAAAAACopFCnAwAAAAAAAAAqDtTpAO3l5+f38uVL4fld
u3adO3euplMHFcTKlSvfvHkjMPPMmTNGRkZK3ATKkczMzN9++y0/P3/NmjXN
mzfXdHJUqLxE8pMnTzZu3EgT3KpVK00np7KfPp/Pnz17dlxc3KhRo4YPH67p
5AAAAIimUEnHqFGjcnJyjIyMzpw5I7z05MmTJ0+eJITMnz+/c+fOch/lzZs3
Z86ciY6O5nA4v/zyy/Dhw11dXWXaQ3Z29ujRo729vX19fVWRiep07NixM2fO
WFpaHj16VJr1CwsLb9++/fz58/j4+MzMTD09PRsbmzp16nTq1Kl58+a6urqa
PiHtcuvWrV27dtHphg0bbtmyRdMp0gBZY0xrff/+fdq0aXS6e/fus2fP1nSK
ZDZs2LDCwkJzc/Pjx49LuQmXy42NjY2Ojo6Ojv706dP379/5fD4h5NChQzY2
Npo+ofLh8OHD+fn5rq6uZRZzpKen37p169mzZ8nJyTk5OVWqVGnatGn//v3r
1aun6ZPQUmPHjs3MzGzduvXy5cs1nRb1keNGVjOZrguHwxk5cuSmTZvOnj3b
tWvXatWqaTr5AAAAImh7nY7Q0NDdu3fTN3VCyIsXL16/fj1//nz0gyCNx48f
79u3LyMjg5lTXFwcHx8fHx9/7969ZcuWtWnTRtNpBFCVp0+fMtPPnj3j8/kc
DkfTiVK5U6dOiSx6BinFxcXduXOHEDJq1CjJa4aEhBw+fLiwsJCZk56efvfu
3Xv37g0cOHDs2LE6OmgfChVTmzZtnJ2dY2NjT548WR4LkQEAoDLQ6pKOjIyM
ffv28fn8UaNG9erVi8fjXb58+ezZs3v27GnWrJm5ubmmE6jVbt++vWvXLqaQ
qDzy8/NjpmlFA02nSCymJghojydPnhBCLCwssrKysrKyPnz48Msvvwivtm7d
Omb6wIED//77b5l7lmMTKC9OnjzJ5/Pr1q3r5uYmYbUzZ84cO3ZM5CI+n3/h
woWOHTs6Oztr+mzKUF4iuU2bNpcuXdJ0KnD6/x+Hwxk0aNC2bdtu3749bNiw
6tWrazpFAAAAgrT6F6cnT54UFxd36dJl+PDhFhYWVlZWY8aMadeuXUFBAfvX
WmEJCQmLFy/++PGjyKUFBQVHjhw5cOCAps9PKqdOndq6dWtCQoLIpYWFhUFB
QYsWLUAXDo4AAEPjSURBVCouLmbP//79+969e5liDltb28WLFx8/fvzkyZML
Fy5EXVNgky/GtFxWVlZUVBQhZMiQIbTTAckPjQpDX1+/fv36ffr0mTt37t9/
/920aVNNp6g8SUpKevz4MSGka9euElaLjIxkmiE4OzsvWrToyJEjFy5cOHTo
0Jw5c+rUqaPp8wBQuTZt2hgbG/N4PG0rhQEAAKC0uk5Heno6IaRBgwbsma6u
rg8fPkxLS5OwYWJiYlJS0pIlSzp16jR+/Hg9vf87TT6ff+fOnSNHjmRmZrZv
357H42l57eKsrKxz584VFxc/ePCgbdu2Pj4+zKKCgoIrV64EBwdnZ2cTQkJC
Qry9vZmlAQEBzPdSa2vrbdu2WVpa0j87duzYpEmTFStWaPrkQCvIHWNaLjw8
nJb0tWnTJjIyMjw8/OnTpxMmTNB0ulRu+PDh7D4CK0ODHSW6ceMGn8/X1dWV
3EBy//79NLpat279+++/Mx0e2djYdOvWrWvXrkFBQegFCSo2AwMDT0/P27dv
3759e/z48QYGBppOEQAAwP/Q6pKOqlWrEkJiYmLYM+nvtNbW1hI29PDwoBVx
L1y48OTJk969exNCEhISFi1a9OnTJ3d397Fjx2p/vWJCiIWFxfbt28+fP3//
/v2HDx8+evTIwsKCEJKbmztp0qScnBxCiJOT0+DBgzt27MhslZ6e/vz5c+bP
0aNHM8UclJWV1YoVK1JTUwUOx+fzHz16dP/+/U+fPmVnZxsYGFSvXt3d3b1v
375WVlbsNadNm/b9+3dCyJ9//nnr1q2wsDAej+fp6Tl58uT4+Hh/f//Y2Fhj
Y+O2bdv6+voaGhrSrSZNmvTz5086vW7dOgcHh9OnT7948SIrK8vCwqJFixbD
hw9XVqeJ9FzCwsI+ffqUlZWlr69vbW3dtGnTXr16OTk5sde8cuXK/v37hffw
4cOH/v37s+fs3LmTHTbs02FbtGiRhK9J0mcy+d/65P369Rs5cuTp06efPHmS
lpZmYmLi5uY2evRokdWGc3Jyrl+//vz584SEhPz8fGNjYysrKzs7u2bNmrVo
0cLBwUHBGNN+tAaHg4ODnZ1dixYtwsPDf/z4kZCQULNmTU0nDbTXvXv3CCGN
GzcWeGayvXv3Lj4+nhBSpUqVuXPnCpdo0Ir9IrcNDw+/detWVFRUdna2oaGh
vb19q1at+vXrZ2Zmxl4tKCgoICDA0tLyP//5z+7du589e2Zrazt58mQ3N7fk
5OQ9e/Z8/PixatWqI0aMYPf2zYzQsWzZstatW4eEhFy9ejUpKcnU1PSXX37x
9vZ2cXFRYl4lJydfuXLl9evXP3/+LCkpsbS0bNSoUd++fQV+nEhMTJw6darA
tk+fPhV4uvbo0WPWrFnsOez+oRnSDD4iZSYTQt6/f//777+T//ab/u7du7Nn
z37+/LmoqKhWrVp9+/ZVpDN1Bcl3+nw+//79+/fv34+Njc3OztbV1bW2tq5e
vbqHh0ebNm3YHzFyXxe2jh073r59Oz8//9mzZ+3atdNUXgEAAIikyZIOOiQK
nR4xYsSIESMEVmjdurW/v//t27dr1qzZvXt3Ho935cqVBw8eGBkZCXzY5+fn
X716tUePHlWqVKFzDA0NhwwZ4uXldeHCBfpd8cWLF7/88svmzZtFttXXWrVq
1Zo3b97o0aODgoJu3ryZmZlJCOFyuTk5Oa6urkOGDGnVqpXAz7YvX77k8Xh0
2sDAQOS3bnt7e3t7e/acrKysjRs3fvjwgZlTUlLy+fPnz58///vvvzNmzOjU
qZPwfv755x+mKCo0NDQtLS0qKio/P58QUlxcfPXqVR0dHeHXKULI9+/ft27d
SisLEEJSU1OvX78eFha2fv16xYctSE9P37hx46dPn9jnkp+fn5CQEBISMmzY
sDL7GlQR+TKZKi4uXrx4MdPGJCsr6/79+69fv96xY4dAc6SPHz+uX7+eyVtC
SG5ubm5ubkJCwvPnzw8ePHju3Dn2729yxJiWKyoqev36NSGkRYsWzP+EkKdP
n6KkA8T58uVLSkoKIUTyZwTTDKp79+6mpqZS7ry4uPjPP/+kTWMoLpcbExMT
ExNz+fLllStXihxTbNeuXQ8fPiSExMfHb9y4cc+ePevXr4+LiyOEJCYm7tix
w8HBoX79+sIb/vXXX7du3WIOTQsxJ02a1K9fP6Xk1cWLF48cOcLlcpk5KSkp
d+/evXv37pAhQ8aOHausiyIT+TKZEujZ6tOnT9u3b09NTR0yZIhGzkUORUVF
a9eujYyMZOaUlJR8//79+/fvL168uHXr1rZt25R7RFdXVw6Hw+fzUdIBAABa
SKvbblStWnXKlCmEkMOHD48ePXrs2LGnT5/W0dGZMWMG/dmZEJKenn748GFf
X9+jR49GREQI7IHD4bC/oZWvb2vC5yLlTHYtmPr160tTp7SoqGjZsmXsb+Bs
hYWF27dvpy/cEo5FCHn16hUt5mDcuXNHZK+ohw8fZn8Vp/Lz8zdt2qRgfxB5
eXm///47u5iDjc/nnz59WiND/cmdydS9e/eEu9LIzs4WOJe8vLwNGzYI5600
pI8xLffq1SsaRbSMw9bW1tHRkRASHh6u6aSB9mI+QQRqJQiIjo6mE0wJmjT2
7dvH/gbOlpOT4+fnJ1zJLicnh/1AKCgo2LRpEy3moPh8/s2bN4V3+PjxY6aY
g73ywYMH37x5o3hGnT9/3t/fn13MwXbu3DlN9WwqRyZTSUlJ7FHeGCdOnKCF
X+XCmTNn2MUcamBiYkIfrcJvXwAAABqn1a1XCCG//vqrra3tmTNnoqOjORyO
i4uLj49Po0aNCCHfv3+/cOECHQ6wU6dOgwYNYv9aW1RURFuvcLnc3r17X7hw
oUWLFjk5Ob///nuLFi3GjBlTLlqvEEISEhLOnz9/79690tJSDodjbW2dlpam
r69vYmLy8ePHdevWOTk5DRkypEOHDkyfIz9+/GA2r1GjhjRHOXbsGPMt2tzc
fObMmS1atEhPT/f396c/YPL5/N27dzdt2lRgyBsbG5utW7dGRETs2LGDzqld
u/b69etDQ0MPHz5MCMnPz09KShKoP0IIKSwsdHd3nzZtmrm5+b///st8XU9J
Sbl582afPn3kzrGDBw8mJSUx5zJjxowWLVoUFxffv3+feTs/c+aMp6cnjYE+
ffowh2NXGG7YsOGWLVskH4iZnjNnzpcvX1SUyUyOdejQYcqUKVwu9++//2Ya
KD158oQ9fuqjR4+ysrLodJ06daZNm1a7dm0dHZ309PSUlJTXr18/efJEoPBC
jhjTcrREw9DQsHHjxnROy5Ytv337FhUVlZmZKaFhAlRmTLmtyFoSDNpwjxBS
q1Yt6fccGhpKp3v06NG/f/8aNWoUFBS8ePHi8OHDGRkZ+fn5R48enT9/Pnur
0tLS7t27T5gwISkpae3atVlZWTExMR4eHjNmzCgsLFy9enVSUpLIIt27d+9a
WVlNnDjR3d3dwMAgNjb28OHD79+/p4Udu3fvViSXvn79GhgYSAjR1dXt2bNn
t27dqlevrq+vn5KScu/eveDg4OLi4sDAwK5du9IKL/b29uweK8eOHZuZmdm6
devly5dLPlC3bt26detGp5mGOUrPZCo4ONjc3HzixIktWrTQ0dH5+PHjP//8
k5yczOVyw8LCxLVFUilZT5/8d7QpDoczYMCAbt262dra6urqpqWlJSUlhYeH
047PGHJfFwEuLi4JCQmpqakZGRnCDTABAAA0qBx8b2nWrNnGjRvPnj175syZ
devWNWrUKCoqauPGjdOnT3/w4EHfvn0PHDgwZ84cdjFHeHj4lClTAgMDW7Zs
+c8//9DXlJo1a27dunXu3LmxsbHz5s3bunUr08RDa2VlZc2bN+/27ds8Hq9D
hw5///03ffUxNTU9ePDghAkTLCws4uLi/vzzT/YrC7tWhTRj8ebn51+/fp35
c86cOZ6enrT/iCVLljAZm5+ff+3aNYFtmzRpYm1t3bFjR+Y7cOvWratUqdK+
fXtmHZHdx1pYWPz+++92dnYmJibDhw9nV3x98OCB3DmWlpZ29+5d5s+ZM2e2
bdvW0NDQ3Ny8T58+gwcPpvP5fL6au4tXJJMpIyMjWpvJ2tp63Lhx7D1nZGQw
f7LLubp06eLq6mpkZEQP1KRJkzFjxvz999/6+vrMOvLFmDajVakJIU2bNmXO
lP78zufzUa0DxKFFGPr6+kwrSJHy8vIIIRwOR/JqbMw38N69e8+aNcvJyYke
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
F599//49JCREWX15qC2Tnz17tmjRouPHj7958+b79+90EMrU1NQLFy4wL8Em
JiaSB5gop8LDw+lrusjxL9nzxZV0MIPgHDly5M2bN9KUB8mxCWinpk2b0olP
nz5JWI3D4UyePJlOP378eMGCBbRv7NLS0rS0tNu3b8+bN+/QoUPsniy7d+9O
J0JCQnbv3h0fH8/lcnNycu7evbtixQoaM23bthX3WSkrHo+3atWqsLCwvLy8
4uLiqKio1atX04dMzZo1xX3VlzKSBw8eTEuTt23btnPnzoiIiJycnNLS0qys
rJcvX+7Zs2fSpEmhoaHivjDTKhU/f/78z3/+k5SUJK71qxzUnMla6OnTp7/9
9tv27dufPXuWlZVVUlLy8+fPy5cv79q1i64gXEOWId91ycvLo32BMfcOAACA
9lCon47mzZu7ubm9efOmtLT01KlTwj+k6Ovrjxo1SumJbtu2bWho6IYNG2g/
HZ8+fdq9ezchpGKPKCETR0fHadOm7d69m75uJicnb9myRcL6o0ePfvXqFX0V
zs7O3rBhg8AKHA5n1qxZSvx6bGBg8PLly0mTJgnMt7W17dGjh/D6Tk5OTk5O
zA+VISEh7HoQo0aNYiro/vbbb58+faLlIHFxceLGGxZ5lDp16pibmzMNj/ft
27dv3z5m6c6dO5mmJYMHDxZX0Xfr1q1bt25l/hwxYsSIESPUlsmlpaVRUVFR
UVGnT58Wt07nzp0rZO8STPmFuJKOatWqOTs7x8bGJiYmJiQkMLXSGPXq1atT
p86XL19SU1NXrlzJzrH58+eL3Kccm8gqJydHXO+q1MGDB5lRhOLi4mbNmiW8
jq+vLzPNvl+AUbt2bVtb258/f75//17ymi1atBgyZMi5c+cIIZ8/f5b8dCWE
1K9fv2vXrrTy482bN2/evCmwgrGx8dixY5V1Ih07drx37x77KcRgh4EAKSPZ
2dl59OjRgYGBfD7/9u3bwjU6JXN3d6dNzK5cuXLlyhVmfo8ePdhxe/r06ePH
jwtvvm7dOvafY8eOHTJkiEYyWQ7S38hynD5VWlp69+7du3fvCm9rbW0toXsm
Ka+LgPfv39N3DFVURQQAAFCQQnU6OBzO4sWLxZXlm5iYLF68uH79+kpP9Lhx
46pXrx4bG7tw4cJhw4atWLEiOTnZ1dV16NCh6sm1cqF79+6LFy8WHtBUJCMj
o40bNzK/6QkwNDScP39+u3btlJg8X19f4Q5czMzMli1bJq7/1JkzZ0rTu62l
peUff/wh7lwkU1HZHKX+TBapUaNGmn3dV5GioqI3b94QQszNzcXVzydSVOuY
PXs2rcgtPTk2Ae3UqVMnQsjbt2+Z/jvFGTt2rK+vr8jOgzkczsCBA9l9BhFC
pk+f7uHhIXJXZmZmq1evVuKI1+3atevQoYNwqnx9fWnbE3GkjOShQ4dOnjxZ
3LjXFhYWs2fPrl69usil3bt3r1OnjrLOVIA6M1kLrVixQly2V61adeXKlRI+
QOW7LrRNkImJibhsBwAA0CCF6nQQQszNzdetW/fo0aM7d+5ER0dnZ2cbGhpW
r169RYsWffv2VVG7TQsLiz///PPEiRNPnjzJzMysVq1ap06dhg4dKnmEkUqo
Xbt2LVq0uHXr1vPnz+Pi4rKzs/X09KytrevUqdO5c+fmzZuzV7awsNiyZcvD
hw/v3btHL6WBgUH16tXd3d379eun9Evp4OCwY8eOEydOvHjxIicnh/YtMmzY
MHZ/HAJcXFx27twZFBT05s2b9PR0Cc0EbGxs/vjjD9qSPCoqKj09vbCw0MTE
pEqVKlZWVg0aNGjatKm4L8O9e/euWbPmzZs3o6Oj09LSioqKlNieXA2Z7OHh
sX379rdv375//z4pKSkrKys7O1tXV9fKysrZ2bl9+/bt27evkBU6Xr58SUOi
RYsWEsaMbN26NW0r9+TJE4GfQ6m6devSxwutli/N1ZdjE9BOPXv2PH/+PI/H
u3fvnre3t+SVvb2927dvf/PmzRcvXiQnJ+fm5lpYWDRp0mTAgAFMlx8MAwOD
FStWPH78+Pbt258+faKflfb29i1btuzfv7/SW5PNnz+/fv36N27cSE5ONjU1
/eWXX7y9vcss/5U+kvv169euXburV6++efPmx48feXl5ZmZm9erV8/T07Ny5
s4TPYgMDg82bNwcHBz99+jQxMbGwsFCJ94uaM1nbtGzZsnnz5mFhYfTzJS8v
z8TEpFatWh4eHj179pTcbEeO61JYWPjkyRNCSJcuXfD2BQAAWohz586dCtxB
F2iVSZMm/fz5k06vW7dO6cPdAQAoiJZFOjs779y5U9Npkc2TJ082btxICFm2
bFmbNm00nRyo4O7evbt9+3YdHZ19+/aJq0sCAACgKZ8+fVKo9QoAAEBFMmLE
CA6HExsb++rVK02nBUBL8fn88+fPE0K6dOmCYg4AANBOKOkAAAD4P7Vq1erS
pQsh5MSJE5pOC4CWevToUVxcnIGBwciRIzWdFgAAANFQ0gEAAPD/jR8/3sTE
JCoq6uXLl5pOC4DW4fP5dKy9oUOHsodmBwAA0CqK9kgKAABQkVhaWgoPmg4A
FIfD2b17t6ZTAQAAUAbU6QAAAAAAAACAioNz584dTacBAAAAAAAAAEA5ONnZ
2SIXVPiR5wEAAAAAAABAe+Tk5IicHxMTI9N+0HoFAAAAAAAAACoOlHQAAAAA
AAAAQMWBsVcAAAAAAAAAoNzg8XgfPkYlfP9OCKnl6Ojq0kBH53+qcaCkAwAA
AAAAAADKjY9Rn6I/f6bTn2JiCCG/NHRlr6Dy1ivBwZkczksO5+Xly1lqO21X
1/cczsvOnT8pfc/JySVz5nyrX/+dkdErel4czsvcXJ4ip9+9ezSzK2n2CeWI
n58fh8PhcDjfvn3TdFpAIZX8UiYnJ8+ZM6d+/fpGRkac/8rNzdV0urRFaGgo
zZNTp05pOi1aoVLdL7j6sqpIOVaRzkUpcO+DBN27d+cIwbuE0vn4+NC8LSws
1HRaxAoODqaJvHz5stw7if+W8L9/Cj52yi7p6Nv3s/D3cIF/qihT0EKpqVwP
j6i//voZE1NUVMTXdHIqhdGjR3M4HBMTk5SUFE2npYKoXr06h8Px9vZW83Fx
KZVObZcyNTXVw8Pjr7/+iomJKSoq0vR5i4UYAwk09ejTWrhfoJLAvS8A976s
kGOSafAWKyws+t8/BUt20COpDDZvTo6PL9Z0KiqRuLi406dPE0ImTJhQrVo1
TScH5IdLWa5t3rw5Pj5e06koA2IMQHq4XwAqJ9z7skKOlWsqL+nw9rbk8935
fPe+fS00fbKKCgnJIoSYmupcvlw3K8uNnhef725mJjYbpTn90ND6zK7mzLHV
9FlqkT///JPL5erq6i5YsEDTaZGTn58fn8/n8/mOjo6aTosm4VKWayEhIYQQ
U1PTy5cvZ2Vl8f/LzMxM00n7/ypAjFUklfl+KRdwv4CK4N7Xcpq990NDQ5lX
iDlz5mg6M6SCp6WKeHt700jo27ev6o4iQ4+kkZENGzc21nS2aNLXr8WEkD59
LPr0KfelNtovLS3N39+fEDJkyBBnZ2dNJwfkh0tZ3n39+pUQ0qdPnz59+mg6
LaIhxgCkh/sFoHLCvS8r5Fh5h9YrMigo4BFCrKx0NZ2QSmH37t35+fmEkMWL
F2s6LaAQXMryrqCggBBiZWWl6YSIhRgDkB7uF4DKCfe+rJBj5Z1KSjoOH04T
7rVUwuAjDx7k0nWOHUsnhISF5Xp5xdjaRpiZvW7dOur48XRxG+bm8tasSWzS
5IOp6Ws7u4jhw798+qTM3vKYhNF/dOb+/amSx0mR9fQV8eVL8cKF393cPlha
vjEyeuXk9Hb06K9Pn+ap4ljqlP//2rvzuKjK/Q/g3zPDsDkYKoLsuWNpFrlk
VtjL6iZeITUNFdPULl7Nfte0a7aIWr5cIozkUuZSIaZeS0RuWqY300wlQQ3X
QBQXVgdQlmEYmPn98XhP4+xzZoYZhs/7xR/DOec55zzL98zMM+c8T0NDamoq
ET377LORkZFaa/nRenfv3q1SqVJTU/v37+/l5RUYGDhx4sTjx48b2fP999/P
cdyIESOIqLm5+csvvxw2bFjnzp39/Pwef/zxpKQk9qVO0549e8aNGxccHOzh
4dGpU6fBgwcvXbq0urra0CE4fUwOQn7lypWFCxcOHDjQ19fX09MzPDw8Pj7+
xIkTxlOVlZUtXbp0+PDh/v7+7u7uISEhr776amFhoeY2hYWFmmdSXl5ORFlZ
WVpnOGvWLN39q1Sqr7/+esyYMSEhIZ6enj4+Pn379o2Ojv70009LS0tRlW2o
Ki3yyy+/aO6QLVy/fr0546VbWsjCkmgy3sYYi1oyn/2MjAzdXbGh4++//35D
56NWqz///POBAwd6e3sHBASMHTv2p59+srJGGMQLz6niRZNFtd/c3Pz111/H
xMQEBAR4eHgEBgZGRUUlJSUZn4lAQFVqaj/x4kp5Qezz2mfsP/bYY5xRzzzz
jMkztHnsC8uLYJY2GLt+gk1KSuI4rlu3bnV1dXFxcT4+Pv379z948CA7z2ef
fbZDhw69e/fWeyVxyJWfL5Np06axNvP2228LLmTBIfbll1/qtl5r5l4x7Y4B
/GNUo0cXEuUS5ebnN6jN88UXt1gSzb/s7BpD2x85Usu22bJF9tVXMpFIO+3K
laW6qa5eVXTvnq+1ZefOZ86caejb9xxRblTUJTNP2OSJGf+rrW2xJvua/u//
ruvdp17JyeXu7nl6T2nx4ptGElZWKvktExNLrCwle0hJSWHt88cff9Rdm5mZ
ydZmZmZOnz5dq0mLRKKUlBRDew4PDyeiqKgohUIRHR2tGxFbtmzhN5bL5WPH
jtUbOF26dPn111/1HkLv9tevXzeS3+TkZHd3d70JFy9ebChVWlqap6enbhKJ
RLJu3Tp+s4KCAnMuBTNnztTaf319/dNPP21o+6FDh6Iq20pVWurIkSPmHKi2
tlYzlYBCFlYvFrUxteUtmc++ZhPijRw5kojCw8M1F/74448sybZt2xISEnSP
wj+7bg3EC+Ns8SKs9r///vuePXvqPaWgoKCcnBybVKWu9hMvrpQXxD7TbmN/
6NChxvMycuRIk2dr89gXlhceP06H1mcJmzQYe3+C/fDDD4koICBgwoQJ/G59
fHyKi4v79+/PLxGJRFqF0DpX/pdeeoktlMvl/EKlUhkXF8eWL1u2zJpCFhxi
X3zxhe5m2dnZuidjqIMi715Lli3X+tPawLl6OpYtK5FI9Hx1d3fPKy5WaCZp
alINGHBe75f8wYMv9Olz1uV7OlatKjN+Vh9/XG4orZP3dCiVShbPkZGRejfg
3/KnTp2qN7Q4jjN0HeevFPPnz9ebVvNK8corrxgJ4I4dO167dk33EHo3NvKW
v2rVKuNXio8//lg31UcffWQ8FX91E3w90tvdyzPnfQJV6SRVaSlhPR0CCllY
vVjUxtSWt2Rrvu3Ex8cbOtCOHTusrBfEi9op40VY7Xfo0MHIWXXq1MlQ0VlU
lVraVby4Ul4Q++r2Hfsmezr0fnHVZI/YF5YXnvk9HQIajL0/wbKeDjc37fEu
H330Ua0lCQkJNikxiwJZt6ejqalp3LhxbOGaNWusLORW6+nQ3MzuPR2G/nr2
PGukoWRmVpvf03HffacDAn7fulVWVdVcU9O8b99t/q6NNWvKNJN8+mklWy6V
nkpNrSgra2psVJ050zBhQhFRLsfl2qSnQws7YkJCsflJzMm+JjN7Os6caRCL
84hyJZK8OXOu5eTUy2TKurqWc+fk77xz09PzFCuZ6upmvcmdvKdjy5YtrE0b
+nDAv+VzHBcYGPj1119XVVXJ5fKjR48+8cQTbNWAAQP0pmVXir59+3p6evr7
+6ekpFy+fLmxsbGkpOTnn39+/fXXv/nmG7blb7/9phmr+fn5jY2NlZWV6enp
3bp1Y8unTJliPC+JiYlsS0NXrjNnzojFYiKSSCRz5szJycmRyWR1dXXnzp17
55132G8XUqm0urpaM9XZs2f5y+vgwYN37txZWlra1NRUXl7+zTffDBkyhO7t
x9UUEBBARLGxsSYrol+/fqyQFyxYkJ+ff+fOnYaGhoKCgh9++GHu3Lljx45F
VbaVqrSS3ndrLQIK2Sb1YrKNqS1vydZ82+E4zt/fPz09XSaTyeXy48eP8z8r
hYaGNjc3q62AeHHOeBFW+x06dPDw8Jg5c+bevXvLy8uVSqVMJtu/f/9jjz3G
kixYsMDKqtTVruLFlfKC2Efs65WcnExEL774okqlMr6lPWLfyryY2dMhrMHY
+xMs6+kgohkzZshkspycHH4C2piYmNLS0oKCAnbvxsMPP2yTErPoyq/V09HY
2MjmN+E4TvPuJysLmScsxPjLmpk9HUTU5ns6JJK8M2fuuXPk998b2Kpx4y5r
Lh8y5CJbvnv3PbtVqdRjxtw9YRfu6Zg8+Qrr0NHKPpOeLmM72bjxlt7kTt7T
MWDAACLq0aOHoU8GfGxIJJLff/9dc1VDQ0NERARbm5ubq5uWXSmIKCgoyPjP
xXPmzGFbzpkzR2vV+fPnWdh7eHjU1BirWZNv+ZMnT2aXnt27d+uuTU9PZ8k3
btyouXzatGls+YsvvqhUKrVSqVSqRYsWNTY26j2i+dejoKAgIhoyZIjZVacN
VclzbFVaiZ2h8Z4OAYVsk3ox2cbUlrdka77tiMXikydPaq5SKBQDBw5ka3/4
4QdrKgLx4pzxIqz24+Libty4obu36upq9olZ6/Mxz/yq1NWu4sWV8oLYR+zr
ys7OFolEgwcPbmgwfdO9PWLfyryY2dMhrMHY+xMs39NRXHz3W+Hf//53rTBc
unQpEfn6+tqkxCy68mv2dDQ0NDz33HNEJBKJNmzYYMNC5tmvp0MT29jSng7n
mntlzJj7HnronolsBwzw6tnTg4iuXGniF8rlqtzcBiLq188zNvaeCV85jt59
t5uj82FfKhV9991tInrqKalW9pm4uE7e3iIiOnZM/9g2fn5uanUk+1u6NNCG
53bjxo158+Z1796dDWMzceLE/fv36262efPmvLw8vXvYu3dvfn4+ES1cuJD1
LxoRExPDrkQ8Ly+vf/zjH+y18Tvwk5KSQkNDjWzAkovF4iVLlmit6tev36RJ
k4hIoVBo/gZiKZVK9d133xHRU089FRsbq7tBXFyct7c3ER07doxfqFarWSqp
VLp+/Xrde+c4jlu1apWHh4fgE2PYm/TVq1dLSkoEJEdVanJsVbYCAYVsfb2Y
2casbMkWef7557VuXnV3d1+4cCF7/csvv9jkKIgX54wXi2p/27ZtwcHBujvx
9fUdNmwYERUXFxs/nMmq1NIO48WV8sIg9hH7zJkzZyZNmhQcHLxnzx4vLy/j
G9sv9m2SFyOENRhheRFQYhKJJCwsjL3meyL4YTjYqpqaGqVSacMSs+jKX19f
Hx0dvX//frFY/NVXXxmafEBYIbeCjh07ar2wlAU9Hfn5/fivx5p/hYUP2io/
w4dLdRcGB0uIqLa2hV9SWKhoaVET0RNP6Nl+0KAO7Hu+qyosVNy+3UJEhw/X
ubmdcnM7JRbnicV5IlGeSJTHcXnu7qcaGlREVFbW3JontmvXrn79+qWmpl69
elWhUFy7dm3nzp1/+ctfBg0a9NVXX12/fl0ul//666/jx4+fOXNmU1OT3p2s
Xr2aiPz9/XXH3NL15JNP6i7k7+S8ePGioYSenp7jx483vvNLly4RUUREBOuq
1MLfl2jkKCYVFhbevn2biA4fPuzm5ubm5iYWi8VisUgkEolEHMe5u7uz2a3K
ysr4VNeuXbt16xYRjRw5snPnzoKPbtIHH3zg4+NTUVHRq1ev6OjoxMTEHTt2
sF+TzEmOqnSeqmwFAgrZ+noxs41Z2ZItYrwl//HHH61wFMSLo1ha+xcuXHjz
zTeHDRvm5+fn7u7OD0S/Z88eIqqtrTVyLHOqUks7jBdXyos5R0HsO0prxj4R
lZaWjhkzhoj+85//8A8WGWHX2LcyL8YJazCC82Jpifn4+Oi+5r+TS6V3v6U2
NjbaqsQsvfJHR0cfOnSIiCQSySOPPGLbQm4dHTt2FNzNQXaaZVYwPz833YUS
CUdESuWfTbOm5m6vR7duEj1ZEpG/vxu5rsrKu12DajW1tKhbWtQqFalUpFaT
VvzW16sE7F+wTz75RCqVpqamXrt2TS6XX7hwISUlpU+fPrm5udOnTw8LC/P2
9h4+fPiuXbt0f5RgTpw4cfjwYSKaN2+eyS5qIgoM1HNDCn/Rr6mpMZSwb9++
hoYXZuRyOeuLYfe/6eKXGzmKSZWVleyFWq1uaWlpaWlRqVT8w5aaW9bX/zlz
MHu/J41uYzuJjIw8ffr0rFmzvL299+3bt3z58ri4uIEDB4aEhCxfvrylpcVI
WlSlU1UlI5VKdSf3YjOoWUlAIVtfL+a3MWtasqX0tmR+od68CKgXxIvgQ5vP
VvViqPaXLl06YMCApKSk48ePy2QyzR/9mOZmY79VmKxKLe0zXlwpL0aOgti3
LSeP/YaGhpiYmJs3b27btu2hhx4ymR27xr6VeTFJWIMRlhcBJSaRSLRei8Vi
juO01mr+uNvKV/6cnBxvb2+xWNzY2BgXF6fV52JlIbc+3ZE7THKung6Reafz
vyb05wvQyx6/WhgRFRV17ty5uXPnhoaGenp6RkREvP766xcuXMjKyoqOju7S
pYtUKn3qqae2b9+elZWld/BhNvCvVCqdO3euOUfkjLYAI9m/7777yDr8zrlW
aYV689IKh+7Ro8eGDRsqKysvX76clZU1f/78kJCQkpKSxMREzYm1dKEqLcpL
6xzagQQUsskkFrUxwS1Zl/FPSHrPll9oq4pGvLTCoQUwv/Y3bdq0bNkya75p
W1qV7TZeXCkvJveD2HeUVot9tVo9derUkydPJicnszEmTbJf7Ft/HbMh3QbT
ap9gGSONkz+31r/yd+zY8Ycffnj33XeJ6OzZswsWLBB8aGr175VaBHRzkLP1
dJjJ1/fuE1OlpUrdtSoVVVS06lMbNmTONZy/82XZskC9zxPxf4cO9WnNk1+2
bJnuXYUikSgmJua77767detWbW3tzz//zA+To+XSpUtZWVlE9Oqrr3bq1Mmc
I+p9+o6/t8rX19dwOZsoaC8vL9ZpaugBP365NZ8e/Pz8+KIzPmwPu/dMK1Vh
YaHgQ1uE47gePXrExMQkJycXFRX97W9/I6LMzMyDBw/q3R5V6ZxVWVdXp3s+
r732mvV7FlDIVtaLgDZGZrdk/ncYvT+t8L8uGj9tTaWlpeyF3pYsoF4QL4IP
bT5b1Yve2tcct/+///1veXl5U1MTfxQ2OJxxFn3la+fx4kp5QewLPrT5nDn2
Fy9evGvXrtmzZ/PDeRpn19i3Mi/mXMSENRgBebGyxMzUyld+Itq/f/8TTzzx
3nvvsUFA0tLSWO5sW8itQ9gzLG2yp6NXLw83N46Ijh7VM+LmyZP1bJSKtsjT
826NyGQGO2t69fLo2FFMREePOvgmItti0ztLJBJDM0Xr0jv41tGjR9mLPn2s
6uhhyS9evFheXq679qeffmIv+vbtK/gQvXr1YnHLn7M5wsLC2FXpwIEDVVVV
lh6UDa2kUCiEnbNEImF9w0R0/PhxvdugKs3k2Kq0LQGFbE29CGhjWoy0ZP7Z
2ps3b2qlqqqqMv6Mut6WzC9k895ZD/HinPFiZu3X1dWxARGmTp26adOmp59+
2t/fX/MuaDYSng2183hxpbwg9ttz7H/xxRerV69+7rnn1q1bZ+aJ2S/2rb+O
sdl8iEgmkxnaRliDsTQvti0xQ1r/yk//G5lVLBZnZGSwkURmzpypdX2zvpDt
F2J6p1+xSJvs6fD0FA0a5E1E5883Zmff1lylVtMHHzhguBRbCQq62+L1duIw
YjE3alRHItq//8727dV6tykvV86YUVxU5BRfgcxRUlKSkZFBRJMmTTJ/SOE9
e/acPXtWc4lCoUhJSWGv+bGghGHjS7W0tCxfvlxr1YULF7Zv305E7u7ubBZ3
YcRi8ahRo4ho//79bIe6ysvLZ8yYUVRUxC/hOG706NFEVF9fn5CQoPenp8TE
RENXHHalu3jxokplokNw3LhxV65c0V3Oj7uu96KDqnTCqmwFAgpZcL1Y2sYs
bcnh4eHsZxM23ZrmqtWrVxt/hvb777/XmlhKqVQmJydrZtl6iBfnjBcza59/
Upr/oK8pPT3dtp9323O8uFJeGMR+u439Q4cOJSQkPPDAA//+9791Z5/Ry66x
b/11jB/5xcgXbGENxtK8CC4xi7TylV9Ljx49WAeZTCaLj4/XjAXBhcxzqo+j
2u4YwN+pMnp0IVEuUW5+vunpmnVlZlaz5NnZBuffPnKklm2zZYtMd+3IkX8Q
5YaH52su/OyzSpZEKj2VllZRXq5UKFS//94wcWIRUS7H5RLlRkVdEnDCRrAj
JiQU2zb7mn77rZ5tHxLy+4EDd+TyFr2b5eXVi0S5LKfTpl09ePCOTKZUKlUV
Fcp9+27PmlXs6XmKKLegQP/U4pWVSnYUotzExBLblpIwbC4ujuPy8/NNbszP
wMxxXGBg4LZt26qrq+Vy+bFjx6Kiotiqfv366U3LZoGKiooyeZScnBw+TGbO
nHn27FmFQnHr1q0tW7bwo0xNmjTJ+E5MTiyfl5cnEolYXqZNm3bw4EE2QFFF
RcW+fftmzZrFLogFBQWaqc6ePcu/zw0ZMuSbb74pKytjqTIzM9lnHblcrveI
bLxuInrttdcuX76sUCgMnbxYLJZIJPHx8dnZ2RUVFY2NjVevXv3kk0/4O1fT
09NRlW2iKq3EjpKQkGDbQhZcLxa1MbWglvzgg3fnFIuLizt37lxjY+Ply5fZ
A67sPuTw8HDN7X/88Ue+Jfv7+2/ZsqWqqqqxsfHEiRMjR45kq7p3784P8SUM
4sU548XS2lepVOxJT7FYvGLFisuXLzc2NpaVlR05cmTy5MkikYgfx8rKqmTa
bby4Ul4Q++089i9dutS5c+euXbsWFRWZf3p2jX0rr2NqtZrvdAgJCTlw4ICh
6hPWYOz9CZY9hxIQEMAv2bBhAysNfgkftpWVldaXmEVXfn6gAK1S5ZevWLHC
+kLmCQsxvnyys7N11xrqoMi715Jly7X+tDawfU/H+++X8t+ijfytXFnKJxHQ
06FUqgYMOK93z0OHXuzT56yjejoEZF/LwIF68jVlyhWtzVasMH2gttLTUVNT
w7oDR48ebc72fGwYeaRt7969etNadKV4+eWXyTAfH5+rV68a34PJt3y1Wr1i
xQoyRffi8tFHHxlPYug941//+pfe7WfOnKm1pZEpxIkoODi4trYWVdkmqtJK
bLfGezqEFbKAJJa2MbWglswGJNP1zDPPsM+vhr7tTJ061dCB2K/E1kC8qJ0y
XgTUvpH7ogcOHDhlyhT22vqqbM/x4kp5Qeyr23Hs19fX9+7d23jeR44cqXVu
rRD71lzHGPZshZYpU6ZY32Ds/QlWQE+HlSVmk56O6upqdq+Km5vbsWPHrCxk
npkh9v7775s8BBGtXLlSbbuejjb59AoRublxe/b0vP9+7Yl2unRx27Qp3GkH
ZzbH5s3hPj5ik5u9/Xa3lJQQDw/9OfX3d9u0KbxnTw9H58YsaWlpbProRYsW
WZRwwoQJcXFxWgs5jktKSmI3Ylnps88+i4mJ0buqU6dOe/fuZdcdK7399tsp
KSkeHvory9/ff9OmTbozq73xxhtpaWl6b4Fzc3Nbu3at3lVENGPGDL1vLbqy
srIMzegWFBSUnZ3NP9LMQ1U6Z1W2DgGFLCCJgDYmoCXPmzfv4Ycf1lrYvXv3
zZs3Gz9WdHQ0G/BME8dxK1eujI2NtUk5E+LFWePF/Np///33H3/8cd09hIeH
m39rujnaeby4Ul4YxH47jP2KioqCggJLT6kVYt/669jmzZtZ54JxAhpMa36C
NV+rXfkN8fX13bJli0gkam5unjx5suYjPMKiknG2j6P3aKP3dDB37jQnJpY8
+OA5b+9TXbueeemloj/+aFSr1X37nmu793So1eoLF+QTJxb5+Z1hj+HovaeD
uXmz6b33SoYNu+jnd0Yiyeva9cyoUQUbNlQaeuyFcap7OhobG9lU8MOGDTMz
Cd9LmpmZqVQqk5KSIiIiPDw8AgICxo8ff/ToUSNpLb3vV61W79q1KzY2NjAw
UCKR3HfffZGRke+9996tW7fMScv/uHHjxg3jW968eZONjezn5yeRSLp27Tpq
1KgNGzYY+o2CKSkpWbJkCZ8qKCho+vTp58+fN36sO3fuLF269JFHHvHx8eG7
BfX+uKFUKjMyMkaNGuXn5+fm5talS5cnn3zyww8/vH37NqqybVWlNdhuTd7T
IbiQzU8ioI0xFrVkpqamZv78+WFhYe7u7t27d3/99dfLysrUarXx33W3bdum
UqlSU1MffPBBT09Pf3//sWPHHj582CYVgXjhOVW8CKv9pqamjz/+eMiQIVKp
1MvLKyIiYvHixRUVFWq1etq0aWyHVlZlO48XV8oLYp/XDmNf73gTWrTu6Wi1
2Bd8HeNduHBh4sSJfn5+fL3o3tPBWNpg7PoJVtg9HdaUmE3u6WDeeusttlb3
YTRhUak2L8Qcck8HZ2ggU3P62ACst379+tmzZxNRZmbmCy+8YE6S3bt3jx07
1qIkjjJ37ty0tDQiqqqqsvlsVc4GVQn2JqCNuRLEC1iknceLK0Hsg0UQ+5ZC
iTkbdn+NLq2ppndn/0drgxfG/FXz37b69Aq4BpVKlZSUREQRERE2vL3Tefz6
669E5O3tbc38820CqhLszeXbmCtBvDgc4gUcArHvcIh9S6HEXJjdnwgCMOLb
b79lnXMLFy5s06Or6CotLV27du3p06eJaPDgwWxMYxeGqgR7c+E25koQL04C
8QKtDLHvJBD7lkKJuTD0dIAjTZgwQX3vlPVtWkZGht7xt2fNmuXoU7M7VCXY
m4u1MVeCeHFCiBdoBYh9J4TYtxRKzIWhwxXAvv7617/yE0dBm4aqBDAf4gWg
fULsA4CTwD0dAHbh7u7es2fPl19++Y033sC9cG0aqhLAfIgXgPYJsQ8AzgZz
rwAAAAAAAACA49lq7pW2d0+HgH5iPHwFAAAAAAAA0E5gnA4AAAAAAAAAcB3o
6QAAAAAAAAAA14GeDgAAAAAAAABwHejpAAAAAAAAAADXgZ4OAAAAAAAAAHAd
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

---212064758-509512656-1600934797=:11676
Content-Type: image/png; name=master-icomplete-vertical-after-tab.png
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.NEB.2.22.394.2009241006371453.11676@HIDDEN>
Content-Description: 
Content-Disposition: attachment; filename=master-icomplete-vertical-after-tab.png

iVBORw0KGgoAAAANSUhEUgAABaMAAAFUCAIAAAC2ubeAAABwZ0lEQVR42u3d
eVzU1f748TPAACK44ujFHUnNXa4bkm3iTSx/YKBXjVuIkKm5o5S7yU1xAS2j
S4JbcsWLXKHrLlrhltyywvCr32gUXJAQZA+GYeb3x6c737mArAMD+Hr+0eOz
nPOZ9zlDOPPmLDK1Wv348ePS0lIBAAAAAADQbMnl8tatW5tlZ2cnJycbOxgA
AAAAAID6unbtmolarTZ2GAAAAAAAAAbw4MEDE2PHAAAAAAAAYDBkOgAAAAAA
QMthZuwAAOPbtWtXTEyMdOzh4fHuu+8aOyLU0bJly65du1bu4okTJ1q1amXA
KmhGHj9+7OXlVVRUtHXr1hEjRhj8+RcvXlyzZo0Q4sMPP3RycjJ2c9ECPW0/
Yy3vd7JWq/X19VUqlT4+Pn/5y1+MHQ4APC3qlelwc3PLy8uztLQ8efJkxbv7
9u3bv3+/EGLlypUTJkwwdktbiIiIiIMHD7Zv3/6f//ynsWNpVKdOnQoKCpKO
Bw0a9PHHHxs7ov/y1L4vjebu3btvvvmmdOzq6rpixQpjR1Rrrq6uxcXFbdq0
iYuLq/NDzpw5s2nTJuk4JCRk2LBhxm5WU/e3v/2tqKho4MCBT0pzGOR9aabS
0tLeeuutqsu4u7svWrTIUK/4+uuvP3782NnZOTAw0NitN4KnsPm3bt165513
qi22fv36F154oW4vUVBQMHnyZN2pmZmZjY1Nhw4dBg4cOHr0aCcnJ5lMZtxO
kMlk3t7ea9eujYyMfOWVVxQKhXHjAYCnBLNXADQDly5d0h1fuXJFo9EYOyIj
KCoqCgsLM3YUzYlSqYyPjxdCzJo1y9ixAGgMarX68ePHv/zyyxdffLFq1arZ
s2ffvHnT2EGJ5557zsHBoaSkZN++fcaOBQCeFsxeAdAMXLx4UQjRrl27nJyc
nJyc5OTkwYMHVyy2fft23bH+pKQq1KGKsURERGRnZ1tYWJSUlBg7luZh//79
Go3mmWee+eMf/9hAL/Hcc899+eWXxm4oWrKn7WfMsL+Tb9++vXjx4o0bN44c
OdKIjZLJZNOnTw8MDDx9+rSXl5ednZ0RgwGApwSZjqbuwIEDqampb775Zs+e
PSveLS4ujouLS0hICA4OtrCwMHawTxHel8aUk5PzP//zP0KImTNn7tmzp7i4
+NKlS5VmOlowpVIZGxv7hz/8YciQIadPnzZ2OM1Aenq6lCB75ZVXjB1LE9Wj
Rw/9r9ArVqz497//LYTYv39/jx49jB0dWpSXXnpp7dq1DfoSffr0CQ8PV6vV
BQUFqampiYmJX3zxRUFBQUlJyYcffrh379527doZsQeee+45KyuroqKimJiY
BQsWGDESAHhKMHulScvJyfn73/9+/vx5Hx+fDRs2KJVK3a2ioqK///3v06dP
/9vf/nbjxo2ncIa5EfG+NLLLly9L01Wee+45R0dH8d+TWZ4SO3bs0Gg08+bN
Mzc3N3YszcPx48c1Go2pqenLL79s7FgANBIzM7N27doNHTrUz88vIiKiW7du
4j//ahs3MAsLi3HjxgkhTp8+rVKpjN1PANDyMaajSWvXrt3f/va3Q4cOnTt3
7quvvvr666+lv0jk5+dPnz49Pz9fCGFvbz9jxoyKH+Xz8/O/+OKLq1evpqam
FhYWWllZdejQoUuXLiNGjBgzZoz0b3+lfvzxxzNnzly/fj0rK0utVnfs2LFT
p04DBw588cUX+/btW67w9OnTMzIypONt27YNHDgwJibm66+/fvDgQWlpqb29
vZubm4uLi5nZ7z9pKSkpV65c+Z//+Z9ff/01JycnNzdXLpe3adOmT58+48aN
Gz9+vFwu1z386NGjH330UcUIf/rpp5deekn/yu7dux0cHOrZFp2ioqLPP/88
ISEhMzOzdevWf/zjH318fPTHmtbnfUEdSHmN7t27/+EPfxg1atTly5fv3buX
mppa6YCaFun06dPXr18fMWLEc889l5iYaOxwmoezZ88KIYYNG9a+fXvDPll/
gWSdavfF0Gg0X3755blz537++efc3FwzM7OOHTt27drVycnpueee69ixo35h
3XYbGzduHDt2bFxc3BdffPHgwQNra+shQ4ZMnTp1wIABRunV69evL1y4UPxn
rfGkpKTIyMj//d//LS4u7tWrl4eHh4uLi375+/fve3l5lXvIpUuXyv0OnzRp
0vLlyyu+XHp6emxs7LfffpuRkaFSqdq3bz9kyJDXX3/92WeffVKE0r9KQ4cO
3bFjR1lZ2dmzZ//1r3/dvXtXJpN179593Lhx7u7u+kPtysrKvvrqq/Pnz9+4
caOgoKBNmzbdunUbO3bs//t//6/qzT6ys7O/+OKLb7/99v79+wUFBe3atRs9
evSMGTO6du1a/+bX7WdMCHH58uVTp07duHEjNzfX0tKya9euY8aM8fDwsLGx
qedb2RwpFIply5YtWbJECHHmzJm3335b92mkDj2mrybvfkUvv/zy6dOnCwsL
L1++/OKLLxq7ewCghTNmpiM3N9fd3V06fuutt7y9vY3dG01Rr1693n///dmz
Zx8+fPj48eOPHz8WQqjV6vz8/IEDB86cObPSdcWTk5NXrVqVm5uru5Kfn5+f
n5+amnr16tVPPvnk9OnTFf8yXFhY+OGHH16+fFn/Ynp6enp6elJS0qFDhyqt
pfP48eO333777t27uis3b968efNm27ZtpQ9n2dnZfn5+5Wqp1erffvstIyPj
8uXLR44cCQoKKveJv27q3JbS0tKFCxf+8ssv0mlOTs65c+e+/fbbsLCwzp07
1/N9QR2UlJR89913QojRo0fr/iuEuHTp0lOS6SgsLAwLCzMzM2PAc8398ssv
v/76qxBi0KBBxo5FCCFKSkref//977//XneltLT03r179+7du3r16unTp0ND
Q59Ud+vWradOnZKOs7Ozv/rqq4SEhPnz57/++uvGbdSZM2eCgoJ0ywPfvHnz
r3/966+//jpz5kyDPD86Ovqzzz5Tq9W6K7/++mt8fHx8fPwbb7zh6+tbdXW1
Wr169eqrV6/qriQnJycnJ3fo0EG3H9y///3vHTt2PHjwQFcmOzs7Ozs7KSkp
Ojo6MDCwf//+lT48Li4uNDRU/y/zjx49On78+OnTp+fNmzdlypTGfCMkKpUq
MDDwwoULuisFBQW3bt26devW0aNHP/zww4EDBz6pbkO/lUY0bNiwbt263bt3
Lzc3NyUlRf8NrXOP1fndHzRokImJiUajuXLlCpkOAGhozF5p3ir9Ll1QULB6
9Wr9NEdNqFSqJUuWlEsN1Mqnn36qn+aog19++WXLli3175b6tCU+Pl6X5tDJ
zc3ds2dPzR9CjsOA/v3vf0sLcEo5ji5dukgrCNTnZ7V5iYiIePz48ZQpU1g6
oeauXbsmHVTxx//G9Pnnn+unOWruwoULujSHjkaj2bVrl5QBNJb09PStW7dW
3AVp7969Uo6png4dOhQaGqqf5tAXGRlZ7UKVn332mX6ao1Jr167VT3Poy8rK
WrFiRWZmZsVb0dHRO3bsqHQCglqt/uijj4wyN2HHjh36X9r15eXlrVix4knv
S0O/lUanS3feunVL/3rdeqw+776VlVX37t2FEHX7bQAAqBVmrzR1qampf//7
38+dO1dWVmZiYmJra/vo0SO5XN66devk5OSVK1fa29vPnDnzpZdeMjH5PW+V
kJCQk5MjHffp02fJkiX29vYmJiZZWVm//vrrt99+e/HixYpfxffu3fvzzz/r
Tl955ZWpU6f26NGjrKwsPT39u+++O336dNVf4LOzs+Vy+cyZM8ePH9+5c+e8
vLyvv/5aP0Egk8l69+49evToAQMGdOnSpX379u3atSsqKvr3v/8dEhJSWFgo
hEhMTLx79670UWDKlCm6v43oD+UdNGjQxx9/XEUk9WlLUVHR+PHj3333XbVa
vW3bNt0H5YsXL2q1Wl2tOrwvqBspo2FhYTF06FDpyujRo9PS0m7cuPH48WOD
T0xoan755Ze4uLj27dsz6q1WdF9pnvQ3+fqYOHHixIkTpWPdNJOqSWujymSy
qVOnTpw4sXPnzqampo8ePUpPT7906VJWVtaTKp49e7Zjx45z584dNWqUhYXF
zz//HBYWdv36da1WGxoaGhERYZTuFUL84x//sLGxmT9//qhRo0xMTJKTk3fs
2JGenq5Wq8+fPz99+nSpWNeuXfUXPX399dcfP37s7OwcGBhYxcOVSmV4eLgQ
wszM7NVXX504cWLXrl3lcnlGRkZ8fPw//vEPlUoVERHxyiuvWFtbV/qE7Ozs
uLi4du3a/eUvf3FycrK1tc3Ly7t///7XX39dbpVouVw+YcKE559/vl+/fjY2
NkVFRbdu3dq7d++NGzfy8/OPHDkyd+5c/fJ37tzRbfbcv3//6dOnDx48uE2b
NgUFBdKAQf09TevWfFH7n7Fbt26dPHlSOp40aZKnp2e3bt2KioquXr0aFhaW
nZ1dVFS0e/fuVatW1fmtbL6kTxRCiIcPH9azx2r17ldqwIABqampmZmZ2dnZ
HTp0MHbfAEBLRqajScvJyZkzZ05JSYmJicnLL7/81ltvnT179uDBg9bW1ocO
HYqNjY2KilIqlYGBgVlZWdOmTZNq3bt3T/eEP/3pT7rhl3Z2dnZ2dsOGDas4
6LewsDA2NlZ36uHh8e6770rHcrm8d+/evXv39vT0rDpaExOToKCg4cOHS6e2
trYeHh7Dhg2TUhhCiPbt21ccGdGmTZvx48enpqZ+/vnn0pVr167pPpfUQT3b
0qpVq2XLlknTs+fMmaPLdBQVFWVnZ0sza+r2vqAOpFG+QghHR0fdGi6jR4+O
jo7WarWXL19+9dVXjR1jA9JqtdJCpG+//baVlZWxw2lOpPFlcrm8bdu2xo5F
CCEKCgqEEP369dP/2ty1a9euXbuOGDGiioqmpqZbtmyxt7eXTgcOHLh169a3
3347LS1NqVT+/PPPzzzzjFFaVFJS8tFHH+kCGzVqVGBg4OzZs4UQN27cqOfD
//73v2s0GplMtn79emdnZ931nj17zp49u3v37ps2bfrtt98SEhImTZpU6RPu
3r3bsWPH0NBQhUIhXenYsWPHjh2HDBmiX2zs2LFz5861tbXVXbGxsRkxYkT/
/v3/8pe/5OTk6AYH6URFRZWVlQkhXnjhhTVr1piamkrX27Vr9/zzz48bN273
7t2NP6xP96Xdzc1t8eLF0nHbtm3/9Kc/9evX7+2331apVF9//fXixYtbt25d
rm6DvpU6X3755ZP2ym3fvv0///nPhuscXTpM92mkzj1W/3e/U6dO0sG9e/fI
dABAgzLmX5vbtm375X/w58pKtWvXbubMmS+//PLevXvXrFmjP3bdwsLiz3/+
c1RU1Ny5c5999lk3Nzf9W7rjffv2HTx4MD09veoX+v7774uLi6VjS0tLHx+f
OkT7wgsv6NIcOn369Cn3ybJSbdq00R2npqbWp9Pq2Zbhw4frVqHr0aOH/kcW
6buKqOv7gjpITk6WBijplucQQgwdOtTS0lI8BTuwnD59+qeffnr22WfZJ7W2
Hj16JP77F4txSUsmP3z4sIrhG5UaO3as7iuoxMLCQperTUpKMlaLnJycygVm
b28vrdys/5fzOtBoNN98840QYsiQIfppDp2XX35Z+mcuOTm5iufMnTtXl+Z4
kjVr1uinOXSsra2lNV91S25LtFqtFJuUE9d90dWRyWRvv/22/tLajeP69etC
CBMTk7feeqvcrZ49e44fP14IUVpaWumIg4Z7K5sI3Yei3377rT49ZpB3X7fQ
aaUTowAABsSYjqbuzTffrOKuhYXFtGnTyo0aGD58+L59+6Tj3377LSIiIiIi
QqFQDBs2bOTIkePGjSs3dlcIoT/XY9CgQXX767G0/WfVioqKzp49m5iYmJqa
+vjx4+Li4opzg3UJhbqpZ1v010M1NTW1sLDQ5U30Q63D+4I60OUyRo0apbto
Zmbm6Oh4+fLl7777rri4WMp6tDwFBQVhYWEymWzhwoWs/FJb0leaqndPaEyz
Z8++fv16Tk7OG2+8MWzYsH79+vXq1atnz569e/eu+s2tNFM8ePBg6SAtLc1Y
LdLFoM/W1vbBgwdFRUX1efKDBw+kv70nJSVJXzglWq1W919Jdnb2kx5ibm7+
wgsv1OTlUlNTT548ef369Xv37hUVFZVbGaRcW3799VdpDSxHR8em89Ml/vOT
0KNHj0on9A0bNkwawpCWlvbHP/6x3N2GeyubCGmlJyGE/j8Wdegxg7z7uvSr
ftoFANAQ6pXpqOECBIZap8DV1VX3nVNn4cKFVSxz3ThVmpohQ4aMHz/+3Llz
+hd//fXXM2fOnDlzxsbGZuHCheV2j9Ot6yGE0N9hpFaqHYf5ww8/rF+/vtql
Uiv2f63Usy1VbC6Dxqe/v6z+dWmvWZVK9e9//3vcuHHGDrNBRERE5OTkuLq6
NsRKE08J/W/FxvXMM8+Eh4dHRkZeuHDh6tWrumlxHTt2/H//7/95eXk96R/K
Svei0v2yrWdeuD4qnRYkbeH5pGVEa0j3O1yr1Vb9Dlbxj0X37t0r7ida0b59
+z7//POKCXcdaaqCju7fL/19x42upKRE6vNKx6foX6/0B6bh3kp9L7300tq1
a43SP7pJK7ppLHXrsab57gMAnqRemY6KI/fqUwwGJK2Iefjw4by8vHK38vPz
//rXv1pYWDzp+2Gd/3pcdY4gOzt79erV+rNkn6SKD521xV/Cm7XU1FRp0Zm7
d+++9NJLlZa5dOlSi8x0pKSkfPHFF61bt3777beNHUuz1KpVq99++y0/P9/Y
gfyfP/zhD/7+/suWLXv48OHt27d/+OGHr776KjMzc+/evSkpKR988EEdnmnE
VE5T+O1aRfMrrkZR0YkTJ/bv3998m19zuo6qNOzm1ZY60A196tKlSw2rNFyP
6T6V6ebJAgAaSL0yHdKv6Sel/HXXDfXbXLd8VFOr0phmz54trRNWNRMTk5kz
Z06bNu2HH364du1aUlLSrVu39N+pvXv36n8/1P+TTp13lav63/4zZ87opzle
fPHFqVOndu/evXXr1iYmJgcPHjTUJgIGaUtt1fB9Qa3UZBmOb775RqPRVPr3
8Dp8GG06n/jPnDmj0WgKCwurGE22ZMkS6SA2NraJrLvZdHTq1Ck7O7tiqtfo
ZDLZH/7whz/84Q9jx459++23d+7ceezYsQsXLly7dq3SCYCVruuhm7XxpJ1H
mjXdD/OsWbOqnidYhZr8vxwVFSUduLq6TpgwoXfv3tbW1rqRIIGBgeWGRurH
dv/+fWP30/+xsLAwMzNTq9XS8jQV6X6KapIAalIM8jtZWpJDCNG3b1/poG49
ZpB3X/dLSbc0KQCggdRrXkm7du2EEGq1utKZnI8fP5YOWvw2kE2WmZnZiBEj
3n777V27dn3xxRfvvvuu7kPD7du39eeI6q/e/9NPP9Vz/kil7ty5ozu2tbVd
u3btgAEDbGxspO+o+vvFVKrmH3caoS1oHNL+slXLzc396aefKr2lG2RU86+7
dajSQAw4sunpJO3fpFar9aezNTVmZmZ/+ctfpOMnbXJR6Zqjup/5+mxTZRTS
L/zS0tIqynTt2lVaX0n3BbUh/Pbbb9IGPX/6059WrFgxfPjwdu3a6U94uX37
dsVaCoVC+rr73Xff1WHEUE2aXzfST0JaWpruo5e+77//Xr9YM1L/38nff/+9
lJiwsbHR/3hQhx6r57sv0f0Bplu3bo3alQDw9KlXpqNnz57SwenTp8vdysvL
k+Yhm5iY8Nu8KWjVqpWHh4f+YgcqlUp3PGzYMN0ypUVFRXUe0FsF/WHGrVu3
1s9cZGVlJSQkVF1dfxXVqr+6NEJb0AgeP378P//zP0IIOzu7LyuzYMECqeST
hn7oFjh4UirEIFXQNPXr1086qHSzica3du3aSvfAunXrlnTwpJl9ly9fLveV
u7S09MiRI9JxpWtJNmVSCiMtLa2KXJ6JiYm019K33357/vz5Sss8fvx4y5Yt
1W4rVgXdv4CVzrs8c+aMUqmseF0mk40ZM0YIUVxcvH379nKreEj27t37pFxG
TZpfN9LKtRqNpuI/eampqVI3mpmZPfvss4Z93YZWz9/JGRkZ27Ztk45feeUV
/UxWHXqsnu++RMpp2trassUsADS0emU6dAubh4aG7t279/79+2q1Oj8///Ll
y4sWLZLG/o0YMeJJm1/k5ua+9B+6vUJQf1euXJk/f/6ePXu+++67u3fvFhQU
qNXqX3/9NSoqSve50MrKSn/lcBsbm8mTJ+tOo6Kitm3bplQq1Wp1Xl5eSkpK
bGzsnDlz6vOXqF69eumOU1NTDxw4kJubm5+fn5iYuHTp0moXIddfW/TevXtx
cXFP+mLQCG1BI7h8+bL0ZaDSbSaFEM8995x08KRMx8CBA6WDsLCwa9eu6af2
nqQOVRrIu+++++UT6H68Q0JCpCtMXalINxNEypcZ3aVLl958880PP/zwypUr
OTk5paWlGRkZ//znP4OCgqQCvXv3rrRiWVnZ8uXLz58/X1BQoFKpbty4sXz5
cmkr7p49eza71Wqlv5A/fPhw165d6enpT5r9OmPGDGn4Q2Bg4ObNm7///vv8
/PyysrKcnJzExMRt27ZNnz795MmT9ckXtGnTRvpH8MSJE5GRkenp6aWlpY8f
P75+/XpgYGBQUNCTNnWaPn26tPrY119//e677yYkJDx+/FiK7eLFiwsXLjxw
4MCTFhCpYfPrYOLEidJBXFzc1q1b79y5I/2Td/bs2WXLlkm/yl544YVmN3ul
Dr+Ty8rKcnNzk5KSPvvsM19f3wcPHggh2rZtO2PGjPr3WH3efSFEQUGBNIK1
JnvVAQDqqV7rdIwYMcLR0fHatWtqtfrAgQMHDhwoV0Aul8+aNcvYbXzqlJWV
3bhx48aNG59//vmTykyYMKHc0ga+vr7Xrl3T/RXr+PHjx48fL1erPqvfubi4
7Nu3T/cxZe/evXv37tXdNTExqfozq4ODg42NjW686I4dO3bs2KG7u3v3bgcH
h0ZrCxqBLn/xpEyHQqF45plnfv755/v376empuqGmOn069evT58+v/zyS2Zm
5rJly3TXXVxcVq1aVekz61CltvLy8p60uqrk0KFDNV82D09ib2/fuXPnjIyM
Gs6AqPn78vnnn+/Zs6digZUrV+qf+vn5zZw5U/+KWq0+e/bs2bNnK9a1tbV9
0sK6L7/88rlz5zZu3Fjx1ty5c+vZS2lpaW+99VbF6/oX3d3dFy1aVM8X0pF2
TRJCHD169OjRo7rrkyZNWr58ue70mWee8fHxCQ8P12q1p0+frjhutP5kMtnE
iROjo6M1Gk14eHh4eLj+3T59+vTu3Ts+Pr5ixV69es2ZMyc0NFQIcfPmzXXr
1hm8+XX4Gevfv/+f/vSnM2fOCCFOnDhx4sSJcnWtrKz8/PwM3o01J6Vln3S3
XA/o1Op38i+//FLp/8Xm5ubvv/9+uTEUdeux+rz7Qojr169Lnz2cnJwap9sB
4GlWrzEdMpls/fr1w4cPr/SulZXVunXrmt1fnJ4GQ4YMqbihg4WFRUhIyIgR
IxroRTt16vTee+9Vuu1fz549p0+fXnV1uVxe8yU/G7otaGglJSXfffedEMLG
xqaK8fm6JMjFixcrLRAQEPCkMWVPUocqaJqkvbR//PFH3fqdRvTXv/71STtT
duzY8cMPP3zS0t0vvvjiyy+/XO6iTCabO3euNMWjeXF1de3Tp09NSr7xxhsL
FiyQy+WV3m3Xrt2KFSvqudmnj4+PbsiAvs6dO69fv76KbeOmTp26ePHiSqe9
mJqazp8//0k7kdW8+XWwdOnSsWPHVnrLxsZm8+bNdd5C3rjq+Tu5Z8+eISEh
lf7PUrceq/O7L4SQJsVYWVmR6QCARlCvMR1CCBsbm23btiUkJJw9e/bWrVu5
ubnm5uZdu3YdNWrUlClTdBMs0ZjGjh0bFhb2448/JiUlPXjwICcnJy8vz9TU
tEOHDg4ODi+++OKLL75Y6V4Vbdq02bp167fffhsfH//TTz9lZ2eXlZW1b9/e
1tbW0dHxxRdfrHof2Wq99NJL9vb2R44c+f777zMzM6U1XF5++WUPD48vvvii
2upubm49evQ4ceLErVu3Hj16VFJSUsUwkIZuCxpUYmKiNPxnzJgxlf6sSpyd
naWJb5cuXXrjjTcqFnjmmWc+/fTTvXv3fv/993l5eTUZyFOHKmiaXnvttUOH
Dmk0mnPnzk2dOtW4wYwZM2bkyJFffvllfHz8zZs3CwoKWrdu3atXr7Fjx06e
PLnqL3IrV67s16/f8ePH09PTra2tBw8ePG3atEq/ojd95ubmH330UXR09KVL
l+7fv//bb79V8b/Y66+//sILL3zxxRfffffdvXv3CgsLra2t+/XrN27cuAkT
JtT/d7ilpeWOHTvi4uLi4+NTU1M1Gk3nzp3HjRvn6ekpLbheBTc3t+eee04/
trZt244cOXL69OkVx5fVrfm1ZWFh8de//vXChQunT5++efNmbm6uhYWFnZ2d
k5OTh4dHmzZtDPVCjay2v5NNTU1tbGw6dOgwYMCAMWPGODk5PekfkTr3WN3e
/eLiYikp/8orr+gvPQYAaCCyBw8e6FZEAwCgxdiwYcNXX33l4OCwe/duY8dS
OxcvXlyzZo0QYuPGjbolaQA0X2fPnv3www9NTEw+//zzeg5HAgBU69ixY/Wa
vQIAQJP11ltvmZiYpKSkfPvtt8aOBcDTS6vVRkVFCSH+9Kc/keYAgMZBpgMA
0DL16tVrwoQJQgj99Y8BoJElJCQolUoLCwvW6QeARkOmAwDQYs2ZM6d169Y3
btz497//bexYADyNtFqttDvhG2+8oVAojB0OADwt6rsiKQAATVb79u2PHTtm
7CgAPL1kMllERISxowCAp47Jk7ZwAwAAAAAAaF7s7OxkRUVFn3766YMHD4wd
DAAAAAAAQN117drVx8dHlpeXV+ltGxsbY0cIAAAAAACeFvn5+ZVeT0lJqdVz
qlqnQyaT1TYsrVZr1G4BAAAAAABPNfZeAQAAAAAALQeZDgAAAAAA0HKQ6QAA
AAAAAC1HrTMdJiYmb7311vHjx1NTUwsLCzUajaenp7FbAQAAAAAAIEQdMh1h
YWH79u2bNGlSjx49rKys6rBqaW2tX79eJpPJZDJvb2+j9BEAAAAAAGguapfp
6N69u4+PT2PGV1RU9MknnwghZDLZ8uXLG/OlAQAAAABAs1O7TMfYsWNNTEyE
EF999dWwYcOkMR1HjhxpuPgiIiIePXokhHjttdcGDhxo1L4CAAAAAABNnVmt
Snfv3l062Lhx448//tjQwanV6uDgYOl4xYoVjd45AAAAAACgmandmA4rKyvp
ID09vRGCO3z48J07d4QQY8eOfe655xq7bwAAAAAAQHNTu0yHNHVFCKHVahsh
uC1btkgHAQEBjdstAAAAAACgWar13iuN5uTJk0lJSUKI/v37T5482djhAAAA
AACAZqB2mQ5zc3PpQK1WN3RkugEdK1asaIS9bAEAAAAAQAtQu0yHo6OjdJCV
ldWgYSUmJn711VdCiK5du77xxhvG6RsAAAAAANDc1GjvFblc3r179zfffPOV
V14RQty6devx48cNGlZQUJB0sHjxYt1AEgAAAAAAgKpVn+m4c+dOz549daeF
hYXz589v0Jj+93//NzY2VgjRtm3bOXPmGLmHAAAAAABA81G72Ss//vjj0KFD
z50716Axbd26VaPRCCHmzZtnY2NjxN4BAAAAAADNS+0yHUOHDv3666/t7e0b
LqCHDx9+/vnnQggLC4uFCxcat3cAAAAAAEDzUn2mo1evXpaWlsOHDz969KgQ
omvXrqGhoQ0X0I4dO0pKSoQQb731VpcuXYzdPwAAAAAAoDmR5eXlVXrDxsam
3N6u5ubmv/zyS7du3VQqVevWrSvdaFar1dYnmry8vB49euTm5pqYmNy8efOZ
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
iz5bW9uKF+VyuRCitLTUgHFevXo1ISFBCLFgwYJWrVoZu9sAAAAAADCm6lck
1WmEZTIafyUOgyiX+JCYmNSib+tj8+bNQghra+v58+cbuycAAAAAADCyalYk
1R+YcPfu3Vo9uqCgoIYlda+SkpJShzY0UH5EF9WGDRvWrl3bEC9Rf7du3YqL
ixNC+Pn5tW/f3tjhAAAAAABgZNWMOxg+fLju+NKlS5VO06i/Hj16SGmF+Pj4
7Ozs2laXdnsVQmRlZRkwKgcHhzZt2kgNb4hWV0paT7SkpKSG5bds2aLVauVy
+ZIlSxotSAAAAAAAmqxqMh0vvfSSbumH/Pz8DRs2NEQQMpns1VdfFUIUFhbO
mTNH2m62nHXr1j3p+7+dnZ10YNiUhKmpqaurqxDizJkzUVFRlZbJyMjw8fFR
KpWGelFpzdebN29qNJpqCz948ODgwYNCiBkzZnTv3t2AbQcAAAAAoJmqJtPR
vn37OXPm6E63bt3q5+d3/fp1lUqVlZX1ww8/fPLJJyNGjKj5GIQnWb58ubS5
7JEjR5ydnWNiYjIyMtRqdWZmZmxs7Lhx4z744INKl8MQQjg5OUkHAQEB586d
Ky4uNlTvBAQESMttzJw509vb+/z589nZ2VJUp06d8vPz69Wr1969e2uSlaih
vn37CiHu3LmzaNEipVKpUqmqKBwSEqJSqWQy2fLlyw0VAAAAAAAAzZosLy+v
0hu6DWWLiorGjBlz/fr1Kp7y22+/6aaQ1FlwcPCyZcvq9irDhg378ccfy118
4403pCEPksDAwDVr1lQbxqZNm9577z3d6Ycffrhq1aqqq/z8888ODg7S8cWL
F8eNGyeE+Pzzz728vMqVdHFxOXfuXM+ePe/cuVPpo0JDQytdWHT27Nnh4eH6
V3Jzc7t3756fn//qq68eO3asnp0PAAAAAIBx5efnV3q9tmt6Vr8/iJWV1Zdf
fjlhwoSGbtLSpUtDQ0MrzWWYmZmFhIRUkUzZs2ePLjVjWCtXrty5c6eFhUWl
dxUKRUREhAE3x/Xx8Rk6dGhNSoaGhko/BAEBAQ3RcAAAAAAAmqMa7YTasWPH
M2fOnDlz5q233nJwcLC2tra0tOzZs+fYsWNXr179448/1n9Ah2Tu3LlKpXLt
2rVOTk62trZyudzOzs7b2zspKWnx4sVVVHR0dExMTJw2bZqtra3Bt2JZuHCh
Uqlcs2aNLqpOnTq5urru3r07NTXVx8fHgK9oaWl54cKF9evXDx8+3MbG5klP
Likp+eijj4QQTk5O0hASAAAAAAAgajJ7BU1QWFjYO++8I4Q4evSou7u7scMB
AAAAAKC+DDV7hUxH86PRaPr165eSktK/f/8bN24YfAwLAAAAAACNr/HW6UBT
ExMTI73N/v7+pDkAAAAAANDHmA4AAAAAAGB8jOkAAAAAAAAoj0wHAAAAAABo
Och0AAAAAACAloNMBwAAAAAAaDnIdAAAAAAAgJaDTAcAAAAAAGg5yHQAAAAA
AICWg0wHAAAAAABoOeqe6RgxYoTsP44cOdLIcbu4uMgqKCgoqPkTYmNjpVrH
jh1r5OABAAAAAEADYUxH09KlSxeZTObu7l6fh3h5eclkMisrq8zMTGM3CAAA
AACARkWmo6VJTU09fPiwEGLWrFmdOnUydjgAAAAAADQqM2MHUEfx8fG648WL
F+/cubO2T3B3d9dqtcZuh+Ft375drVabmpouW7bM2LEAAAAAAGBgGo3mf27e
unv/vhCiR7du/fv1NTH5r2EczTXTgUplZWVFREQIITw9Pe3t7Y0dDgAAAAAA
Bnbz1v/+/Msv0vH/pqQIIQY821+/ALNXWpSPP/64qKhICLFixQpjxwIAAAAA
gOGl3bv736f3yhWoUabj888/f+GFF9q3b29tbT127Njo6OiGi/jhw4fr1693
dnZWKBTm5ubdunXz8/NLSUkxyMP37dtXcceWmuy9cvv2bX9//6FDh7Zr187S
0rJnz55eXl5Xr16tWPLixYvSYw8ePCiEuHDhgqurq0KhsLa2Hj16dGRkZLny
KSkp+sFkZGQIIeLi4soF6evrW22QRUVFu3btEkJMmDDB0dGx4d4jAAAAAACM
pbi45L9Pi8sVqGb2ikaj+ctf/vL3v/9dd+XKlStXrlwJCAhoiHA//fTTpUuX
6kd5//798PDw/fv3BwcHv/vuu43cfZKQkJD33ntPpVLprqSlpUVGRkZGRr7/
/vsffvjhkyoeOHBg1qxZGo1GOk1MTPTy8rp79+57773XEHGGh4dnZWUJBnQA
AAAAAJ5i1Yzp2LFjh36aQycoKCg5OdmwoQQHB8+bN69iMkYIUVpaumDBgkpv
NbSgoKClS5fqpzn0bdq06UmLoSqVSl9fX12aQ2fdunVpaWkGj1OtVgcHBwsh
HB0dXVxcGr+jAAAAAABoCqrKdKhUqsDAQN3p0KFDk5KSCgsLIyIi5HK5YfMO
ycnJunEiI0eOjI6OTk9PV6lUGRkZR44cGTVqlEFexdvbW/sfR48erbZ8UlLS
qlWrhBByuXzevHmJiYlZWVkFBQXJycmrVq2ytLQUQqxevTonJ6di3eDg4A4d
OkRGRmZnZ+fk5Jw8ebJ3795Sr0q7wEocHBy0ejp37iyEcHNz0/638PDwqkON
iopKTU0VQjTQcBsAAAAAAJqFqmavnD179vHjx7+XMzOLiYnp06ePEMLHx+f2
7dv6SZD627p1q1qtFkJ4enoeOnTIzOz3wBQKhYeHx+uvv/7+++/LZLJG7p2g
oKCysjKZTBYdHe3m5qa7PmDAgMDAwH79+r355psFBQUxMTGzZ88uV7eoqCgh
IWHIkCHS6cSJE+Pi4qTTb775xuChbtmyRQhhb2/v4eHRyL0EAAAAAEDTUdWY
jsTERN3xSy+9JKU5JG+//bYBg9BqtcePHxdCWFtbh4WF6dIcOjKZbPPmzRYW
Fo3ZNRqNRorq+eef109z6EyfPt3KykoIceXKlYp3J0+erEtzSAYPHiz14e3b
tw0b6okTJ65fvy6E8Pf3NzU1bcxeAgAAAACgSakq06FUKnXHI0aM0L/VvXt3
aZ6FQaSlpT169EgIMX78+A4dOhi7T36XkpKSm5srhEhISDAzMzMzMzM1NTU1
NTUxMTExMZHJZObm5tKWrg8fPqxY3dnZueLFrl27CiHy8/MNG2pQUJAQQqFQ
eHt7G7vbAAAAAAAwpqoyHXl5ebrjTp06lburUCiqfrS1tXXFLV2lbVDLkdIc
Qgj9YSNGl5mZKR1otdqysrKysjKNRqPRaKSFM/RLFhYWVqxua2tb8aJcLhdC
lJaWGjDOq1evJiQkCCEWLFjQqlUrY3cbAAAAAADGVFWmQ//7fOOskdH4K3EY
RLnEh8TExKT2T6qLzZs3CyGsra3nz59v7J4AAAAAAMDIqlqRtG3btrrjX3/9
tdzdilfKKSgoqGEQuuEPKSkpdWhDA+VHdFFt2LBh7dq1DfES9Xfr1q24uDgh
hJ+fX/v27Y0dDgAAAAAARlbVuAP9uSTffvut/q179+5lZGQYKogePXpIaYX4
+Pjs7OzaVpd2exVCZGVlGbBrHBwc2rRpI4S4dOmSAR9bNWk90ZKSkhqW37Jl
i1arlcvlS5YsabQgAQAAAABosqrKdIwaNUp3/OWXX/7yyy+607CwMAMGIZPJ
Xn31VSFEYWHhnDlzpO1my1m3bt2Tvv/b2dlJB4ZNSZiamrq6ugohzpw5ExUV
VWmZjIwMHx8f/aVb68nGxkYIcfPmTY1GU23hBw8eHDx4UAgxY8aM7t27G7Dt
AAAAAAA0U1VlOlxcXHQTItRqtaen508//fTbb7/t3btX2uzDgJYvXy5tLnvk
yBFnZ+eYmJiMjAy1Wp2ZmRkbGztu3LgPPvig0uUwhBBOTk7SQUBAwLlz54qL
iw0VVUBAgLTcxsyZM729vc+fP5+dnS1FderUKT8/v169eu3du7cmWYka6tu3
rxDizp07ixYtUiqVKpWqisIhISEqlUomky1fvtxQAQAAAAAA0KxVlekwNzdf
tWqV7vSHH34YPHiwlZWVj49PaWlp69atDRjHwIEDddmTxMRET0/PLl26yOVy
hUIxZcqUixcvVlF3xIgRQ4cOFULcu3fPxcWlVatW0j4vXl5e+sUCAwP1d4GZ
MmWKdH3y5Mn616UFPiXDhw/fuHGjEEKr1e7fv3/8+PEdO3aUonJ1dQ0PDzdg
VkUyceJE6WDXrl19+vSxsLCQovL19S1XMjc3VxpZM2nSpEGDBhk2DAAAAAAA
mqlq9gdZsmTJ1KlTK15/7733+vfvb9hQli5dGhoaqlt0Q5+ZmVlISEiltyR7
9uyR5n0Y3MqVK3fu3GlhYVHpXYVCERERYcDNcX18fKSsTbVCQ0Pz8/OFEAEB
AQ3RcAAAAAAAmqNqMh0mJiaHDx/evXv3qFGjrK2tbWxsxo4dGxUVtWnTpoaI
Zu7cuUqlcu3atU5OTra2tnK53M7OztvbOykpafHixVVUdHR0TExMnDZtmq2t
rcG3Ylm4cKFSqVyzZo0uqk6dOrm6uu7evTs1NdXHx8eAr2hpaXnhwoX169cP
Hz7cxsbmSU8uKSn56KOPhBBOTk7jxo0zbHsBAAAAAGi+ZHl5eZXeaKAhEjCI
sLCwd955Rwhx9OhRd3d3Y4cDAAAAAEB9SRMXKkpJSdE/jf3XsXIF3Ce/pn9a
zZgONEEajWbbtm1CiP79+7u5uRk7HAAAAAAAmhAyHc1PTEyMlNDy9/c3+FQd
AAAAAACaNTNjB4Bamzp16pM23AUAAAAA4CnHmA4AAAAAANBykOkAAAAAAAAt
B5kOAAAAAADQcpDpAAAAAAAALQeZDgAAAAAA0HKQ6QAAAAAAAC1H7TId9+7d
k+kpLi42dvwAAAAAAAD/hzEdAAAAAACg5WiumQ4XFxdZBQUFBTV/QmxsrFTr
2LFjxm4NAAAAAAAwjOaa6WipunTpIpPJ3N3d6/MQLy8vmUxmZWWVmZlp7AYB
AAAAANCoyHS0NKmpqYcPHxZCzJo1q1OnTsYOBwAAAACARlW7TEe3bt20eiwt
LY0Vd3x8vC6MRYsW1eEJ7u7uUvXXXnvNWK1oCNu3b1er1aampsuWLTN2LAAA
AAAANDbGdLQoWVlZERERQghPT097e3tjhwMAAAAAQGMj09GifPzxx0VFRUKI
FStWGDsWAAAAAACMoPpMh26PkoqKi4sNHtDDhw/Xr1/v7OysUCjMzc27devm
5+eXkpJikIfv27evYitqsvfK7du3/f39hw4d2q5dO0tLy549e3p5eV29erVi
yYsXL0qPPXjwoBDiwoULrq6uCoXC2tp69OjRkZGR5cqnpKToB5ORkSGEiIuL
Kxekr69vtUEWFRXt2rVLCDFhwgRHR0eDvzUAAAAAADR9TWtMx6efftq7d+8N
GzZcvnw5MzOztLT0/v374eHhAwYMkL7DG0VISEj//v23b9+elJSUm5tbUlKS
lpYWGRk5ZsyYlStXVlHxwIEDL7744qlTpzIzMwsLCxMTE728vDZv3txAcYaH
h2dlZQkGdAAAAAAAnmJNKNMRHBw8b968SseJlJaWLliwoCGGkFQrKCho6dKl
KpWq0rubNm3auXNnpbeUSqWvr69Goyl3fd26dWlpaQaPU61WBwcHCyEcHR1d
XFwav6MAAAAAAGgKqs906PYo0Wq1d+/ebaA4kpOTAwICpOORI0dGR0enp6er
VKqMjIwjR46MGjXKIK/i7e2ta8vRo0erLZ+UlLRq1SohhFwunzdvXmJiYlZW
VkFBQXJy8qpVq6StZ1avXp2Tk1OxbnBwcIcOHSIjI7Ozs3Nyck6ePNm7d28h
hEqlknaBlTg4OOhvZ9O5c2chhJubm/a/hYeHVx1qVFRUamqqEELXjQAAAAAA
PIXMjB3A77Zu3apWq4UQnp6ehw4dMjP7PTCFQuHh4fH666+///77MpmskaMK
CgoqKyuTyWTR0dFubm666wMGDAgMDOzXr9+bb75ZUFAQExMze/bscnWLiooS
EhKGDBkinU6cODEuLk46/eabbwwe6pYtW4QQ9vb2Hh4ejdxLAAAAAAA0HU1i
9opWqz1+/LgQwtraOiwsTJfm0JHJZJs3b7awsGjMqDQajRTV888/r5/m0Jk+
fbqVlZUQ4sqVKxXvTp48WZfmkAwePLhPnz5CiNu3bxs21BMnTly/fl0I4e/v
b2pq2pi9BAAAAABAk9IkMh1paWmPHj0SQowfP75Dhw7GDud3KSkpubm5QoiE
hAQzMzMzMzNTU1NTU1MTExMTExOZTGZubi5t6frw4cOK1Z2dnSte7Nq1qxAi
Pz/fsKEGBQUJIRQKhbe3t7G7DQAAAAAAY2rATIe1tXXFLV0r3UJFSnMIIaQh
D01EZmamdKDVasvKysrKyjQajUajkRbO0C9ZWFhYsbqtrW3Fi3K5XAhRWlpq
wDivXr2akJAghFiwYEGrVq2M3W0AAAAAABhTkxjTodP4K3EYRLnEh8TEpJH6
Vtq21traev78+cbuCQAAAAAAjKwBVyQtKCioYUnd8IeUlJQ6vFAD5Ud0UW3Y
sGHt2rUN8RL1d+vWrbi4OCGEn59f+/btjR0OAAAAAABG1iTGdPTo0UNKK8TH
x2dnZ9e2urTbqxAiKyvLgFE5ODi0adNGCHHp0qVG6wppPdGSkpIalt+yZYtW
q5XL5UuWLGm0IAEAAAAAaLKaRKZDJpO9+uqrQojCwsI5c+ZI282Ws27duid9
/7ezs5MODJuSMDU1dXV1FUKcOXMmKiqq0jIZGRk+Pj5KpdJQL2pjYyOEuHnz
pkajqbbwgwcPDh48KISYMWNG9+7dDdh2AAAAAACaqSaR6RBCLF++XNpc9siR
I87OzjExMRkZGWq1OjMzMzY2dty4cR988EGly2EIIZycnKSDgICAc+fOFRcX
GyqqgIAAabmNmTNnent7nz9/Pjs7W4rq1KlTfn5+vXr12rt3b02yEjXUt29f
IcSdO3cWLVqkVCpVKlUVhUNCQlQqlUwmW758uaECAAAAAACgWWsqmY6BAwdK
W6UKIRITEz09Pbt06SKXyxUKxZQpUy5evFhF3REjRgwdOlQIce/ePRcXl1at
Wkn7vHh5eekXCwwM1N8FZsqUKdL1yZMn61+XFviUDB8+fOPGjUIIrVa7f//+
8ePHd+zYUYrK1dU1PDzcgFkVycSJE6WDXbt29enTx8LCQorK19e3XMnc3Nyw
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
1NXVVQhx5syZqKioSstkZGT4+PgolUpDvaiNjY0Q4ubNmxXHyFT04MEDaRvg
GTNmdO/e3YBtBwAAAACgmaoq0+Hg4KDbWfbu3bvOzs7/+Mc/0tPT1Wp1QUGB
Uqm8cuXK3/72tz//+c/Lli2rZxzLly+XNpc9cuSIs7NzTExMRkaGWq3OzMyM
jY0dN27cBx98UOlyGEIIJycn6SAgIODcuXP666TWU0BAgLTcxsyZM729vc+f
P5+dnS1FderUKT8/v169eu3du7cmWYka6tu3rxDizp07ixYtUiqVKpWqisIh
ISEqlUomky1fvtxQAQAAAAAA0KxVs2rmJ598ohsscP369T//+c92dnZyudzG
xqZPnz5jx46dO3fuP/7xD2k31voYOHCgtFWqECIxMdHT07NLly5yuVyhUEyZ
MuXixYtV1B0xYsTQoUOFEPfu3XNxcWnVqpW0z4uXl5d+scDAQP1dYKZMmSJd
nzx5sv51aYFPyfDhwzdu3CiE0Gq1+/fvHz9+fMeOHaWoXF1dw8PDDZhVkUyc
OFE62LVrV58+fSwsLKSofH19y5XMzc0NCwsTQkyaNGnQoEGGDQMAAAAAgGaq
mkxH586dL126NHbs2EYIZenSpaGhobpFN/SZmZmFhIRUekuyZ88ead6Hwa1c
uXLnzp0WFhaV3lUoFBEREQbcHNfHx0fK2lQrNDRUmk8UEBDQEA0HAAAAAKA5
qn4n1O7du1+6dOn06dM+Pj7PPvtsu3btzMzMOnbs2K9fvxdeeGHFihUnT57c
sWOHQaKZO3euUqlcu3atk5OTra2tXC63s7Pz9vZOSkpavHhxFRUdHR0TExOn
TZtma2tr8K1YFi5cqFQq16xZo4uqU6dOrq6uu3fvTk1N9fHxMeArWlpaXrhw
Yf369cOHD7exsXnSk0tKSj766CMhhJOT07hx4wzbXgAAAAAAmi9ZXl5epTca
aIgEDCIsLOydd94RQhw9etTd3d3Y4QAAAAAAUF9P2gglJSVF/zT2X8fKFXCf
/Jr+afVjOtDUaDSabdu2CSH69+/v5uZm7HAAAAAAAGhCyHQ0PzExMVJCy9/f
3+BTdQAAAAAAaNbMjB0Aam3q1KlP2nAXAAAAAICnHGM6AAAAAABAy0GmAwAA
AAAAtBxkOgAAAAAAQMtBpgMAAAAAALQcZDoAAAAAAEDLQaYDAAAAAAC0HGQ6
AAAAAABAy0GmAwAAAAAAtBzNNdPh4uIiq6CgoKDmT4iNjZVqHTt2zNitAQAA
AAAAhtFcMx0tVZcuXWQymbu7e30e4uXlJZPJrKysMjMzjd0gAAAAAAAaFZmO
liY1NfXw4cNCiFmzZnXq1MnY4QAAAAAA0Kiaa6YjPj5e+x+LFi2qwxPc3d2l
6q+99pqxW2NI27dvV6vVpqamy5YtM3YsAAAAAAA0tuaa6UClsrKyIiIihBCe
np729vbGDgcAAAAAgMZGpqNF+fjjj4uKioQQK1asMHYsAAAAAAAYQfWZjh9+
+CEwMHDy5MnDhg2zs7MzNze3sbHp1auXm5vbvn37SkpKDBvQw4cP169f7+zs
rFAozM3Nu3Xr5ufnl5KSYpCH79u3r+KOLTXZe+X27dv+/v5Dhw5t166dpaVl
z549vby8rl69WrHkxYsXpccePHhQCHHhwgVXV1eFQmFtbT169OjIyMhy5VNS
UvSDycjIEELExcWVC9LX17faIIuKinbt2iWEmDBhgqOjo2HfFwAAAAAAmgWz
qm8/fPhw+PDh5S6WlpYWFBSkpqZ+8cUXO3bsOHHihJ2dnUGi+fTTT5cuXVpc
XKy7cv/+/fDw8P379wcHB7/77rtG6aOQkJD33ntPpVLprqSlpUVGRkZGRr7/
/vsffvjhkyoeOHBg1qxZGo1GOk1MTPTy8rp79+57773XEHGGh4dnZWUJBnQA
AAAAAJ5i9Z298uOPP86ePdsgoQQHB8+bN08/zaFTWlq6YMGCSm81tKCgoKVL
l+qnOfRt2rRp586dld5SKpW+vr66NIfOunXr0tLSDB6nWq0ODg4WQjg6Orq4
uDR+RwEAAAAA0BRUk+mQyWSDBg1avnz5P//5z2vXrt27d6+kpOTRo0d///vf
27ZtK5U5derUrVu36hlHcnJyQECAdDxy5Mjo6Oj09HSVSpWRkXHkyJFRo0YZ
pLXe3t66HVuOHj1abfmkpKRVq1YJIeRy+bx58xITE7OysgoKCpKTk1etWmVp
aSmEWL16dU5OTsW6wcHBHTp0iIyMzM7OzsnJOXnyZO/evYUQKpVK2gVW4uDg
oNXTuXNnIYSbm5v2v4WHh1cdalRUVGpqqhBC140AAAAAADyFqpm90rlz5+vX
r5e72LFjxxkzZty4cSMwMFC6cv78+X79+tUnjq1bt6rVaiGEp6fnoUOHzMx+
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
RURECCE8PT3t7e2NHQ4AAAAAAI2NTEeL8vHHHxcVFQkhVqxYYexYAAAAAAAw
gtplOh48eODn52dnZ2dpaWlvb//uu++mp6cbNqCHDx+uX7/e2dlZoVCYm5t3
69bNz88vJSXFIA/ft29fxR1barL3yu3bt/39/YcOHdquXTtLS8uePXt6eXld
vXq1YsmLFy9Kjz148KAQ4sKFC66urgqFwtraevTo0ZGRkeXKp6Sk6AeTkZEh
hIiLiysXpK+vb7VBFhUV7dq1SwgxYcIER0dHw74vAAAAAAA0C7XIdNy6dWvY
sGHh4eHp6eklJSW3b9/+5JNPBg0alJSUZKhoPv300969e2/YsOHy5cuZmZml
paX3798PDw8fMGCA9B3eKEJCQvr37799+/akpKTc3NySkpK0tLTIyMgxY8as
XLmyiooHDhx48cUXT506lZmZWVhYmJiY6OXltXnz5gaKMzw8PCsrSzCgAwAA
AADwFKtFpsPf37/irqXZ2dnu7u7FxcX1DyU4OHjevHmVPqq0tHTBggUGeZXa
CgoKWrp0qUqlqvTupk2bdu7cWektpVLp6+ur0WjKXV+3bl1aWprB41Sr1cHB
wUIIR0dHFxeXxu8oAAAAAACaglpkOoqLiydOnKhUKnNzcz/44APd9du3b+/Z
s6eecSQnJwcEBEjHI0eOjI6OTk9PV6lUGRkZR44cGTVqlEFa6+3trdux5ejR
o9WWT0pKWrVqlRBCLpfPmzcvMTExKyuroKAgOTl51apVlpaWQojVq1fn5ORU
rBscHNyhQ4fIyMjs7OycnJyTJ0/27t1bCKFSqaRdYCUODg5aPZ07dxZCuLm5
af9beHh41aFGRUWlpqYKIXTdCAAAAADAU6gWmY5OnTpFR0f37t27TZs2a9as
8fT01N3S/+peN1u3blWr1UIIT0/Py5cve3p6dunSRS6XKxQKDw+Pb775JiAg
QCaTNXLvBAUFlZWVyWSy6OjoTz75ZOTIkR06dGjduvWAAQMCAwM/++wzIURB
QUFMTEzFukVFRWfOnJk5c2b79u3btm07ceLEuLg46dY333xj8FC3bNkihLC3
t/fw8GjkXgIAAAAAoOmoRaZj+vTp1tbWulP9NTK//fbbitM0ak6r1R4/flwI
YW1tHRYWZmZmVq6ATCbbvHmzhYVFY3aNRqORonr++efd3Nwq7RArKyshxJUr
VyrenTx58pAhQ/SvDB48uE+fPkKI27dvGzbUEydOXL9+XQjh7+9vamramL0E
AAAAAECTUotMx4gRI550WlRU9PDhwzoHkZaW9ujRIyHE+PHjO3ToYOw++V1K
Skpubq4QIiEhwczMzMzMzNTU1NTU1MTExMTERCaTmZubS1u6Vtp2Z2fnihe7
du0qhMjPzzdsqEFBQUIIhULh7e1t7G4DAAAAAMCYajd7Rf+0Y8eOJib/V11K
CuiztrauuKVrpVuoSGkOIYQ05KGJ0C2/qtVqy8rKysrKNBqNRqORFs7QL1lY
WFixuq2tbcWLcrlcCFFaWmrAOK9evZqQkCCEWLBgQatWrYzdbQAAAAAAGFMt
Mh1VL5NhkEU0Gn8lDoMol/iQ6KeBGpS0ba21tfX8+fON3RMAAAAAABiZWc2L
/vrrr/qnWVlZ+mtz2NjYlCtfUFBQwyfrhj+kpKTUoQ0NlB/RRbVhw4a1a9c2
xEvU361bt6SFTv38/Nq3b2/scAAAAAAAMLJajDv49ttv9U+/++473bGVldUf
/vCHOgfRo0cPKa0QHx+fnZ1d2+rSbq9CiKysLAN2jYODQ5s2bYQQly5dMuBj
qyatJ1pSUlLD8lu2bNFqtXK5fMmSJY0WJAAAAAAATVYtMh1RUVH6wzR2796t
O/7jH/9Yn8kaMpns1VdfFUIUFhbOmTNH2m62nHXr1j3p+7+dnZ10YNiUhKmp
qaurqxDizJkzUVFRlZbJyMjw8fFRKpWGelFpaMzNmzdrspfNgwcPDh48KISY
MWNG9+7dDdh2AAAAAACaqVqkJzIzM6dOnXrnzp38/PzAwMAjR47obk2bNq2e
cSxfvlzaXPbIkSPOzs4xMTEZGRlqtTozMzM2NnbcuHEffPBBpcthCCGcnJyk
g4CAgHPnzhUXFxuqdwICAqQMzsyZM729vc+fP5+dnS1FderUKT8/v169eu3d
u7c+O+yW07dvXyHEnTt3Fi1apFQqVSpVFYVDQkJUKpVMJlu+fLmhAgAAAAAA
oFmrRabD2tr61KlTvXv3btOmzZo1a3TXe/ToMXv27HrGMXDgQGmrVCFEYmKi
p6dnly5d5HK5QqGYMmXKxYsXq6g7YsSIoUOHCiHu3bvn4uLSqlUraZ8XLy8v
/WKBgYH6u8BMmTJFuj558mT969ICn5Lhw4dv3LhRCKHVavfv3z9+/PiOHTtK
Ubm6uoaHhxswqyKZOHGidLBr164+ffpYWFhIUfn6+pYrmZubGxYWJoSYNGnS
oEGDDBsGAAAAAADNVC0yHUFBQRV3Tm3btu0///lPg2xuunTp0tDQUN2iG/rM
zMxCQkIqvSXZs2dPxSVRDWLlypU7d+60sLCo9K5CoYiIiDDg5rg+Pj5S1qZa
oaGh+fn5QoiAgICGaDgAAAAAAM1RLTIdffv2vXbtmq+vb7du3czNzbt16+br
65uUlPTHP/7RUNHMnTtXqVSuXbvWycnJ1tZWLpfb2dl5e3snJSUtXry4ioqO
jo6JiYnTpk2ztbU1+FYsCxcuVCqVa9as0UXVqVMnV1fX3bt3p6am+vj4GPAV
LS0tL1y4sH79+uHDh9vY2DzpySUlJR999JEQwsnJady4cYZtLwAAAAAAzZcs
Ly+v0hsNNEQCBhEWFvbOO+8IIY4ePeru7m7scAAAAAAAqC9p4kJFKSkp+qex
/zpWroD75Nf0T+u+YQqMRaPRbNu2TQjRv39/Nzc3Y4cDAAAAAEATQqaj+YmJ
iZESWv7+/gafqgMAAAAAQLNmZuwAUGtTp0590oa7AAAAAAA85RjTAQAAAAAA
Wg4yHQAAAAAAoOUg0wEAAAAAAFoOMh0AAAAAAKDlINMBAAAAAABaDjIdAAAA
AACg5ahdpmPYsGGy/4iKijJ28AAAAAAAAP+FMR0AAAAAAKDlaK6ZDhcXF1kF
BQUFNX9CbGysVOvYsWPGbg0AAAAAADCM5prpaKm6dOkik8nc3d3r8xAvLy+Z
TGZlZZWZmWnsBgEAAAAA0KjIdLQ0qamphw8fFkLMmjWrU6dOxg4HAAAAAIBG
ZVar0j/88IOxA/5dfHy87njx4sU7d+6s7RPc3d21Wq2x22F427dvV6vVpqam
y5YtM3YsAAAAAAA0NsZ0tChZWVkRERFCCE9PT3t7e2OHAwAAAABAYyPT0aJ8
/PHHRUVFQogVK1YYOxYAAAAAAIyg+kxHr169ZJWJiopqiIAePny4fv16Z2dn
hUJhbm7erVs3Pz+/lJQUgzx83759FRtSk71Xbt++7e/vP3To0Hbt2llaWvbs
2dPLy+vq1asVS168eFF67MGDB4UQFy5ccHV1VSgU1tbWo0ePjoyMLFc+JSVF
P5iMjAwhRFxcXLkgfX19qw2yqKho165dQogJEyY4Ojo2xLsDAAAAAEAT17TG
dHz66ae9e/fesGHD5cuXMzMzS0tL79+/Hx4ePmDAAOk7vFGEhIT0799/+/bt
SUlJubm5JSUlaWlpkZGRY8aMWblyZRUVDxw48OKLL546dSozM7OwsDAxMdHL
y2vz5s0NFGd4eHhWVpZgQAcAAAAA4CnWhDIdwcHB8+bNKy4urnirtLR0wYIF
ld5qaEFBQUuXLlWpVJXe3bRp05MWQ1Uqlb6+vhqNptz1devWpaWlGTxOtVod
HBwshHB0dHRxcWn8jgIAAAAAoCmoPtNx584d7X8MHTq0geJITk4OCAiQjkeO
HBkdHZ2enq5SqTIyMo4cOTJq1CiDvIq3t7euLUePHq22fFJS0qpVq4QQcrl8
3rx5iYmJWVlZBQUFycnJq1atsrS0FEKsXr06JyenYt3g4OAOHTpERkZmZ2fn
5OScPHmyd+/eQgiVSiXtAitxcHDQ6uncubMQws3NTfvfwsPDqw41KioqNTVV
CKHrRgAAAAAAnkK122W24WzdulWtVgshPD09Dx06ZGb2e2AKhcLDw+P1119/
//33ZTJZI0cVFBRUVlYmk8mio6Pd3Nx01wcMGBAYGNivX78333yzoKAgJiZm
9uzZ5eoWFRUlJCQMGTJEOp04cWJcXJx0+s033xg81C1btggh7O3tPTw8GrmX
AAAAAABoOprE7BWtVnv8+HEhhLW1dVhYmC7NoSOTyTZv3mxhYdGYUWk0Gimq
559/Xj/NoTN9+nQrKyshxJUrVyrenTx5si7NIRk8eHCfPn2EELdv3zZsqCdO
nLh+/boQwt/f39TUtDF7CQAAAACAJqVJZDrS0tIePXokhBg/fnyHDh2MHc7v
UlJScnNzhRAJCQlmZmZmZmampqampqYmJiYmJiYymczc3Fza0vXhw4cVqzs7
O1e82LVrVyFEfn6+YUMNCgoSQigUCm9vb2N3GwAAAAAAxtSAmQ5ra+uKW7pW
uoWKlOYQQkhDHpqIzMxM6UCr1ZaVlZWVlWk0Go1GIy2coV+ysLCwYnVbW9uK
F+VyuRCitLTUgHFevXo1ISFBCLFgwYJWrVoZu9sAAAAAADCmJjGmQ6fxV+Iw
iHKJD4mJSSP1rbRtrbW19fz5843dEwAAAAAAGFkDrkhaUFBQw5K64Q8pKSl1
eKEGyo/ootqwYcPatWsb4iXq79atW3FxcUIIPz+/9u3bGzscAAAAAACMrEmM
6ejRo4eUVoiPj8/Ozq5tdWm3VyFEVlaWAaNycHBo06aNEOLSpUuN1hXSeqIl
JSU1LL9lyxatViuXy5csWdJoQQIAAAAA0GQ1iUyHTCZ79dVXhRCFhYVz5syR
tpstZ926dU/6/m9nZycdGDYlYWpq6urqKoQ4c+ZMVFRUpWUyMjJ8fHyUSqWh
XtTGxkYIcfPmTY1GU23hBw8eHDx4UAgxY8aM7t27G7DtAAAAAAA0U00i0yGE
WL58ubS57JEjR5ydnWNiYjIyMtRqdWZmZmxs7Lhx4z744INKl8MQQjg5OUkH
AQEB586dKy4uNlRUAQEB0nIbM2fO9Pb2Pn/+fHZ2thTVqVOn/Pz8evXqtXfv
3ppkJWqob9++Qog7d+4sWrRIqVSqVKoqCoeEhKhUKplMtnz5ckMFAAAAAABA
s1ZNpsPS0lJ/55Qff/xRd2vGjBn6t9avX1+fOAYOHChtlSqESExM9PT07NKl
i1wuVygUU6ZMuXjxYhV1R4wYMXToUCHEvXv3XFxcWrVqJYXk5eWlXywwMFA/
4ClTpkjXJ0+erH9dWuBTMnz48I0bNwohtFrt/v37x48f37FjRykqV1fX8PBw
A2ZVJBMnTpQOdu3a1adPHwsLCykqX1/fciVzc3PDwsKEEJMmTRo0aJBhwwAA
AAAAoJlqKmM6hBBLly4NDQ3VLbqhz8zMLCQkpNJbkj179kjzPgxu5cqVO3fu
tLCwqPSuQqGIiIgw4Oa4Pj4+UtamWqGhofn5+UKIgICAhmg4AAAAAADNURPK
dAgh5s6dq1Qq165d6+TkZGtrK5fL7ezsvL29k5KSFi9eXEVFR0fHxMTEadOm
2draGnwrloULFyqVyjVr1uii6tSpk6ur6+7du1NTU318fAz4ipaWlhcuXFi/
fv3w4cNtbGye9OSSkpKPPvpICOHk5DRu3DjDthcAAAAAgOZLlpeXV+mNBhoi
AYMICwt75513hBBHjx51d3c3djgAAAAAANSXNHGhopSUFP3TU2fPFhf/344l
lpaWEye46BdoWmM6UBMajWbbtm1CiP79+7u5uRk7HAAAAAAAGk+Pbv+192iP
7t3KFTAzdoSotZiYGCmh5e/vb/CpOgAAAAAANGX9+/UVMpF2954Qokf3bv37
9i1XgNkrAAAAAADA+Go4e6VazF4BAAAAAAAth0mbNm2MHQMAAAAAAIABODo6
MqYDAAAAAAC0HP8fyQVhL45UvWIAAAAASUVORK5CYII=

---212064758-509512656-1600934797=:11676
Content-Type: image/png; name=master-icomplete-vertical-after-tab-tab.png
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.NEB.2.22.394.2009241006372453.11676@HIDDEN>
Content-Description: 
Content-Disposition: attachment; filename=master-icomplete-vertical-after-tab-tab.png

iVBORw0KGgoAAAANSUhEUgAABaMAAAJCCAIAAABS3kybAACAAElEQVR42uzd
dVxU2f8/8DN0CgiCCIpigGugqCh2rqKrYi42Yq3dXdi5xuq6+lFExS7QVSxM
TGywQRRQQqQbhpnfH+f7ub/7mWJ6Bng9Hz58XG6ee+577tx75gSHy+VmZGSU
lJQQAAAAAAAAAIByS19f39TUVC89Pf3t27eaTgwAAAAAAAAAgKJevHihw+Vy
NZ0MAAAAAAAAAAAlSExM1NF0GgAAAAAAAAAAlAYlHQAAAAAAAABQcehpOgEA
mrd79+5z587R6UGDBk2bNk3TKQI5zZ0798WLFwIzQ0NDjY2NlbgJlCMZGRkj
R47Mz8/fsmVLy5Ytlb7/+/fvL1++nBCyfv16T09PTZ8uVECVLcYq3j2Zz+eP
Hz8+NjbWz89v1KhRmk4OAEBloVBJR//+/bOzs42MjK5cuSK89NChQ4cPHyaE
LFmypEePHpo+0woiICDg6NGjVlZW58+f13Ra1Orq1aubNm2i040bN961a5em
U/Q/Ku11UZuEhITRo0fTaS8vrwULFmg6RTLz8vIqLCysUqXKhQsX5N7J9evX
N2zYQKe3b9/erFkzTZ+Wttu7d29+fn6jRo3EFXMo5bqUU/Hx8WPGjJG8jre3
98yZM5V1xIEDB2ZkZLRr127t2rWaPnsNqISn//Hjxz/++KPM1fz9/Tt16iTf
IXJzc/v27cv8qaenZ25uXrVq1UaNGrVu3drT05PD4Wg2Ezgcjq+v74oVK44d
O9azZ09bW1vNpgcAoJJA6xUAKAcePHjATD969IjH42k6RRqQn5+/b98+Taei
PImNjQ0LCyOEjB07VtNpAQB14HK5GRkZnz9/vnjx4tKlS8eNG/fhwwdNJ4q0
b9++Xr16RUVFhw4d0nRaAAAqC7ReAYBy4P79+4QQS0vLzMzMzMzMt2/fNmnS
RHi1P//8k5lmN0qSQI5NNCUgICA9Pd3Q0LCoqEjTaSkfDh8+zOPx6tev36JF
CxUdon379rdv39b0iUJFVtliTLn35C9fvsyaNWvNmjWtWrXS4ElxOBwfH5+1
a9deu3Zt5MiRNWrU0GBiAAAqCZR0aLsjR47ExcWNHj3ayclJeGlhYeGFCxfu
3bu3bds2Q0NDTSe2EsF1UafMzMz3798TQoYPH37w4MHCwsIHDx6ILOmowGJj
Y0NCQuzt7Zs2bXrt2jVNJ6ccSEpKogVkPXv21HRatFStWrXYr9ALFix4+vQp
IeTw4cO1atXSdOqgQunSpcuKFStUeoi6deseOHCAy+Xm5ubGxcVFRERcvHgx
Nze3qKho/fr1gYGBlpaWGsyB9u3bm5iY5Ofnnzt3bvr06RpMCQBAJYHWK1ot
MzPz+PHjt27d8vPzW7VqVWxsLLMoPz//+PHjPj4+e/fufffuXSVsYa5BuC5q
9vDhQ9pcpX379u7u7uR/G7NUEjt27ODxeFOmTDEwMNB0WsqHy5cv83g8XV3d
rl27ajotAKAmenp6lpaWbm5uEyZMCAgIcHR0JP/91tZswgwNDTt06EAIuXbt
WnFxsabzCQCg4kOdDq1maWm5d+/eEydO3Lx5886dO3fv3qW/SOTk5Pj4+OTk
5BBCnJ2dhw0bJvwon5OTc/HixSdPnsTFxeXl5ZmYmFStWrV69eotW7Zs06YN
/e4X6fXr19evX4+KikpLS+NyudbW1tWqVWvUqFHnzp0bNGggsLKPj09KSgqd
3rp1a6NGjc6dO3f37t3ExMSSkhJnZ+f+/ft3795dT+//Ii0mJubRo0fv37//
8eNHZmZmVlaWvr5+lSpV6tat26FDh27duunr6zM7Dw4O/uuvv4RT+ObNmy5d
urDn7N+/v169egqeCyM/Pz8oKOjevXupqammpqYtWrTw8/Nj1zVV5LqAHGi5
Rs2aNe3t7T08PB4+fPjt27e4uDiRFWoqpGvXrkVFRbVs2bJ9+/YRERGaTk75
cOPGDUJIs2bNrKyslLtndgfJjDLHxeDxeLdv375582Z0dHRWVpaenp61tbWD
g4Onp2f79u2tra3ZKzPDbaxZs6Zt27YXLly4ePFiYmKimZlZ06ZNhwwZ8ssv
v2gkV6OiombMmEH+29d4ZGTksWPHPn36VFhYWLt27UGDBnXv3p29/vfv30eO
HCmwkwcPHgjcw3v37j1//nzhwyUlJYWEhDx79iwlJaW4uNjKyqpp06YDBw5s
2LChuBTSbyU3N7cdO3aUlpbeuHHj33//TUhI4HA4NWvW7NChg7e3N7uqXWlp
6Z07d27duvXu3bvc3NwqVao4Ojq2bdu2X79+kgf7SE9Pv3jx4rNnz75//56b
m2tpadm6dethw4Y5ODgofvryxRgh5OHDh1evXn337l1WVpaRkZGDg0ObNm0G
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
AEBFFGpXYmlpSQjhcrkiW3JmZGTQiQo/DKTW0tPTa9my5cSJE3fv3n3x4sVp
06YxDw1fvnxhtxFl997/5s0bBduPiPT161dm2sbGZsWKFb/88ou5uTl9R2WP
FyOS9I87ajgXUA86vqxkWVlZb968EbmIqWQk/euuHJuoiBJrNlVOdPwmLpfL
bs6mbfT09EaNGkWnxQ1yIbLPUSbmFRmmSiPoDb+kpETCOg4ODrR/JeYFVRUK
CgroAD2//vrrggULmjdvbmlpyW7w8uXLF+GtbG1t6evu8+fP5agxJM3py4dG
Qnx8PPPoxfby5Uv2auWI4vfkly9f0oIJc3Nz9uOBHDmm4NWnmB9gHB0d1ZqV
AACVj0IlHU5OTnTi2rVrAouys7NpO2QdHR3czbWBsbHxoEGD2J0dFBcXM9PN
mjVjuinNz8+Xu0KvBOxqxqampuySi7S0tHv37knenN2LquRXFzWcC6hBRkbG
+/fvCSE1atS4Lcr06dPpmuKqfjAdHIgrClHKJqCdXFxc6ITIwSbUb8WKFSLH
wPr48SOdENey7+HDhwKv3CUlJWfPnqXTIvuS1Ga0CCM+Pl5CWZ6Ojg4da+nZ
s2e3bt0SuU5GRsbmzZvLHFZMAuYbUGS7y+vXr8fGxgrP53A4bdq0IYQUFhb+
+eefAr14UIGBgeLKMqQ5ffnQnmt5PJ7wV15cXBzNRj09vYYNGyr3uKqm4D05
JSVl69atdLpnz57skiw5ckzBq0/RMk0bGxsMMQsAoGoKlXQwHZvv2bMnMDDw
+/fvXC43Jyfn4cOHM2fOpHX/WrZsKW7wi6ysrC7/xYwVAop79OjR1KlTDx48
+Pz584SEhNzcXC6X++PHj5MnTzLPhSYmJuyew83Nzfv27cv8efLkya1bt8bG
xnK53Ozs7JiYmJCQkEmTJinyS1Tt2rWZ6bi4uCNHjmRlZeXk5ERERMyZM6fM
TsjZfYt++/btwoUL4l4M1HAuoAYPHz6kLwMih5kkhLRv355OiCvpaNSoEZ3Y
t2/fixcv2EV74sixiYpMmzbtthhMeG/fvp3OQdMVYUxLEFpepnEPHjwYPXr0
+vXrHz16lJmZWVJSkpKScv78+U2bNtEV6tSpI3LD0tLS+fPn37p1Kzc3t7i4
+N27d/Pnz6dDcTs5OZW73mrpL+TJycm7d+9OSkoS1/p12LBhtPrD2rVrN27c
+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
vQIAAAAAAAAAFQfGXgEAAAAAAACAcoPH473/8DHh+3dCSC1HR1eXBjo6/1ON
AyUdAAAAAAAAAFBufPj4KfrzZzr9KSaGEPJLQ1f2CspvvdK9e3eOkNzcXOn3
EBISQre6dOmSctPm4+ND91xYWKj0E4cKRvFIVg/VfV5A1cpLjKkHIhkAAAAA
pBT/LeF///wmsIIMJR2JiYnr169v166dvb29oaGhg4PDyJEjnz9/rulzBKgg
qlevzuFwvL29NZ0QnD78f1p7XbQ2YQAAAACgaoWFRf/7p2BVBmlLOvbs2ePi
4rJ06dKHDx8mJycXFxcnJiYeO3asVatWCxYsKC0t1fSZAgAAAAAAAABIV9Kx
bt26qVOniqxTzefzt2zZEhUVxcwJCwvj/9fMmTPlSJO3tzfd/LffftN0/kDl
pXgkqwc+L+VXeYkx9UAkAwAAAICylF3ScefOneXLl9PpZs2anTx5Mikpqaio
KD4+PjAw0M3NTdOnAAAAAAAAAADwf8oee2XatGl8Pp8Q0r9//7Nnz+rp/d8m
NWvW9PX1HTNmzJYtW5iZAAAAAAAAAAAaVEadjvDw8Ldv3xJCbGxsDh06JFyi
weFwFixY0LhxYwXTcejQIeExCKTsgT85Odnf379du3a2trYGBgaOjo4TJkyI
iYmR/ug8Hm/MmDH0oEuWLFFKzl68eHHgwIEODg6GhoZWVlatWrXy9/fPyMgQ
XvP+/fv00EePHqV57uXlZWtra2Zm1rp162PHjiklPRSXyz1+/Hi/fv3s7OwM
DQ3t7e07deq0detWVQz3IOt1kTLHtm7dyuFwqlevnpub6+PjY25u3rhx45s3
bxJCvnz50qNHD1NT0/r169PMZDDDOoSEhPB4vN27dzdu3NjY2Nje3n7o0KGP
Hz9W7rl/+fJl3rx5bm5ulpaWRkZGTk5OI0eOfPLkicBqMTEx7IBPSUkhhFy4
cEHggzB+/HiBDeX+vGhVWMp9+rKei9x4PN7x48f79u3r6OhoZGRkbm7u4uLS
u3fvf/75JykpScGrryD5jiLNp1LB6yITmSJZnQkDAAAAgPItWwxCCJ/PnzNn
Dl1t/vz5fIno+gKYluc5OTmSNw8MDBRO27///ssvy549e4yMjIS31dfX37Vr
l8DKv//+O11aUFDAzCwpKfHx8aHzV61aVeYRy1RQUDBgwACRuW1tbf3w4UOB
9cPDw+nSoKCgw4cP6+gIFj9t2LBB8VTx+fyrV6/WrVtXZMJq1KgRERGhlKPI
cV1kyrEtW7YQQuzs7IYMGcKsZm5uHhcXxy5x09HRYZ9RcHAwnR8cHOzr6ytw
FB0dnZ07d0o4Hekjmc/nb9u2zcDAQOTpLF68mL1mdHS0NB/ScePGCRxCjs+L
Foal3Kcv67nIJy8vr0uXLuJS1bp1awWvvgAVxRiblJ9Kua+LHGSKZHUmDAAA
AAA0QlwBxYv/tWLVaoF/AiuUUafj6dOndMLLy0uaR0w127Zt25QpU4RHlCGE
lJSUTJ8+XeQigdV+//33kydPEkI2b968YsUKxVM1ZcoU5r1aQFpaWq9evRIS
EkQujY2NHT9+PI/HE5i/cuXK+Ph4xRM2aNCgz58/i1yUmJjYs2fPb0KjEMtH
1usiR46lpaWdOXOG+TMnJ2fgwIFv3rxh5vB4vICAAOEdnj9//tChQwIzeTze
rFmzwsLCFD/3TZs2zZkzp7i4WOTSDRs27Ny5UymZLCutDUt1notM1q1bd/v2
bZk2Uc/Vl+8oit8tAQAAAADKizJKOj59+kQnFG+fIpmvry9TiiPuHUbA27dv
Fy5cSKdbtWp15syZpKSk4uLilJSUs2fPenh4lLmHoqKigQMHnj9/nsPh7Nq1
a/78+YqfyLNnz5hfKceNGxcVFVVYWJiamnrkyJHq1asTQrKzsxcvXixy223b
tlWtWvXYsWPp6emZmZlXrlypU6cOIaS4uPjUqVNKyWdDQ8Nx48aFhoampKSU
lJSkpaVdv369TZs2hJCMjIwdO3YofghZr4t8Ocblcv38/NLS0iIiIqpVq0YI
ef78eb9+/ZKSkqKjo2nVFZE1+Y8ePWpvb3/8+PH09PSCgoIHDx60b9+e/G8N
JrlFRkYuXbqUEKKvrz9lypSIiIi0tLTc3Ny3b98uXbqU/py+bNmyzMxMun69
evXY5Zd2dnaEkP79+wuUax44cEDgQLJ+XrQzLOU7fUXORSY0Yzkczty5c6Oi
orKzs/Pz86Ojo69duzZ16tQaNWooePXlI99RZPpUyh2WcpApktWZMAAAAAAo
3yS3XjE0NCSEcDgcHo8nuZIJUaz1ChvzvCu5Nv6YMWPoaoMHDy4pKRFYyuPx
Fi5cWFhYyJ7Jbr2Sn5//66+/EkJ0dHT2798vffIkmzJlCj3ElClTBBa9e/eO
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
qbKOJet1UXOOcbncX3/99eTJk5mZmYWFhY8fP+7Zs+e7d+8IIQ0bNhT3eixl
JC9cuJD2ajF8+HBfX99bt26lp6fTc7969eqECRNq164dGBgo7sWM1lb4+vXr
zJkzY2NjhbtTlZt2hqV8p6+2c7l48aKLi8uoUaMuXbqUmppaVFQUFxe3a9cu
Pz8/ukLjxo3Z6yt49VUaY4rcLVUXlgqSI2E/f/5kBpzy9/fX9BkAAAAAgMpk
i0EIYZp8L1q0SPJOXr58yV6fjbYTETBixAj2OmvWrJEmqRs2bBDY+Z9//il5
k4KCAvb6tERDeH5GRkbNmjUJIXp6eo8ePeIrZvTo0RKSZG5u/vXrV/b6THuK
oKAg4b1169aNEOLk5KRgqmbPni0uSW5ubiNGjKDTCh5FvusiU47RDkfs7OyY
Ofv37yeE6OrqMnOCg4PptnTkIPYcCT2ShIaGSjgpaSKZz+evW7euzEiOjo4W
eYi///5b5Prjxo1jrybf50U7w1KO05fjXOTDHlpFmIODQ05OjhKvPl/FMSbr
p1KO6yIrue/8cieMGbyGELJy5UrFgwQAAAAAlEtcAcWL/7Vi1WqBfwIrSDWq
woYNG7Zu3WpiYiK8iMPhzJs3r0mTJuK2PXjwIK1jrApz5szZs2ePyBYZenp6
27dvl3LsWEtLy6CgIB0dHS6XO3z4cHaldDns3buX6d9EgJWVVWhoqJOTk4oy
RII1a9a0bdtWeL6Tk9Pp06fp773KIut1UWeODRkyxMfHR2Amh8PZunUrbRcg
jpSRvGTJkp07dxoaGopcamtrGxAQIG6wTz8/P5HvukqhnWEp3+mr51wuXLgg
7krVqFHj33//NTMzE5ivyNUnKo4xue+WKg1LRWhtwgAAAABA46QdP3Lu3Lkf
Pnzw9/dv3bo17cyyRo0aw4cPj4iI2LJli4QfP93d3SMiIoYOHWpjY6OKoVgm
T54cGxu7YsUKT09PGxsbmjBfX9/IyMhZs2ZJv59OnTotWLCAEPLly5c//vhD
kSQZGxtfuHDh/Pnz/fv3t7e319fXt7CwcHd3X758eXR0tLieIFTN1NT0zp07
O3bs8PDwMDMzMzY2dnV1Xbx48dOnT8V1w6kIma6LmnMsKCho69atrq6uhoaG
dnZ2gwYNun//fpkjDUsfyTNmzIiNjaUj+9Bzr1atmpeX1/79++Pi4vz8/MRt
bmRkFB4e7u/v37x5c3Nzc+V+XrQzLOU7ffWcS58+fT58+HD06FEvLy8bGxs9
PT1ra+sOHTps2bLl/fv3zZs3F7mV3FefqD7G5LtbqjQsFaG1CQMAAAAAjeOI
q79QpUoVvhSdXPz/HXE4Mq0PoE4hISEDBgwghAQHB3t7e2s6OQAAAAAAACAo
JydH5PyYmBj2nyH/XhJYwbvvb+w/pa3TAQAAAAAAAACg/VDSAQAAAAAAAAAV
B0o6AAAAAAAAAKDiQEkHAAAAAAAAAFQcKOkAAAAAAAAAgIpDT8IyDNoHFYa3
tzfGBgIAAAAAAKgMxJZ04LUQAAAAAAAAAModtF4BAAAAAAAAgIoDJR0AAAAA
AAAAUHGgpAMAAAAAAAAAKg6UdAAAAAAAAABAxVGJSjru37/P4XA4HM7Ro0fl
20NISAjdw6VLlzR7LmFhYTQlJ0+eVOdxU1JSZs6cWb9+fSMjI85/5ebmKncT
ANCs7t27c4TgYyuB4t8vUKbyEpba86gA5QICBgBARcoo6fjw4QOnLNOmTdPs
OVSvXp3D4Xh7e2s2GRXez58/PTw8/vrrr5iYmKKiIhVtUmFUwrBkF2ZRxsbG
Dg4OvXr1+uuvvzIzM4U3efbsWZl3GA6Hc/bsWULI2bNnpVmZ0bJlS6WcVyW8
lOWCeq4Lrn5lhqsPFQMiGQAqp0pUpwMUtHHjxvj4eFVvAhVJYWFhYmLitWvX
Zs6c6erqGhYWpukUAQAAAABAxYeSDhl4e3vz+Xw+n//bb79pOi0aEBoaSggx
NTW9dOlSVlYW/7/MzMyUuAlUVCkpKf369Xv79q2mEwJlCwsLYz6tM2fO1HRy
AAgpP2FZyR8VQFYIGAAAFSmjpMPV1ZXP0rNnTzr//fv3zMzdu3dr+ixAHb5+
/UoI6dOnT58+fapUqaKiTaC8s7OzY24O6enpL1++nDNnjqGhISGkoKBgxYoV
Irf6/fff+eINHjyYEDJ48GDhRf3796d7ePnypcCiZ8+eaTozAAAAAABAA/Q0
nQAoNwoKCgghVlZWKt0EKhIrKysrK6tmzZq1atVq2LBhhJBr167x+XwOh6Pp
pAEAAAAAQIWl/NYrAl3Qh4eHe3l52drampmZtW7d+tixY4ofIiYmht3vYEpK
CiHkwoULAv0Rjh8/XsJOpEzYoUOHhHs6LLN/bB6Pd/z48b59+zo6OhoZGZmb
m7u4uPTu3fuff/5JSkpSbobz+fz//Oc/bm5uJiYmdnZ2AwYMuH37dpnXRQDt
07527doiN6HozH379kno+l6OTRhfvnyZN2+em5ubpaWlkZGRk5PTyJEjnzx5
IuHca9euzeFwOnfuTAjhcrmHDh3y9PSsWrWqjY1N27Ztt27dSota1EOOsGS6
2Pz777/F7dbX15fD4ejo6Hz58oXOYfppDwkJ4fF4u3fvbty4sbGxsb29/dCh
Qx8/fiwhkXJkslIMHTrU2NiYEJKXl5eenq6uayInBe8wFy9eHDhwoIODg6Gh
oZWVVatWrfz9/TMyMpSYQvnuMOq5+vIdJTk52d/fv127dra2tgYGBo6OjhMm
TIiJiVHidZGSOr9f1HldpMxkNikjeevWrRwOp3r16rm5uT4+Pubm5o0bN755
8yY9tR49epiamtavX1/gq0eR+5gcpMxkua++fI8K0mcyUcvDlYJHkTWSuVzu
8ePH+/XrZ2dnZ2hoaG9v36lTp61bt0oeT0el3/uKhKVMd35ZA0bW66KeuyUA
gLbLFkNkHXKRrVcEhIeH03WCgoIOHz6soyNYmLJhwwa+YqKjo6U5tXHjxime
sMDAQOE9//vvvxKSl5eX16VLF3Gpat26tYKnz+fzb9y4Qfd24sSJSZMmCR/F
399fwnUR3mG3bt0IIU5OTiI3kSwnJ0eRTaht27YZGBiIXHnx4sXi8sHJyYkQ
0qlTp6Kiot69ewtvK/JkVUSOsCwpKbG3tyeEtGjRQuQ+8/LyaJ8mv/76KzMz
ODiY7io4ONjX11dg/zo6Ojt37hS5N/kyWXq0iQq79QqDx+OZmprSY7FvL0+f
PqUzJbdekUBC6xW5yXeH4fP5BQUFAwYMELmytbX1w4cPlZI8+e4wcl99pkME
4Y+tso6yZ88eIyMj4U309fV37dql+HVRw9WX+4tP1Z9KWTOZkimSt2zZQgix
s7MbMmQIs5q5uXlcXFzjxo2ZOTo6OhEREcxWct/HKBWFpdwxJsejgqy3CzU8
XClyFFkj+erVq3Xr1hW5fo0aNdihIkCl3/vyhaUcd35ZA0bW66KeuyUAgIqI
K6B48b9WrFot8E9gBRX2SBobGzt+/Hgejycwf+XKlZodj0PVCVu3bp3IWhWq
cPny5X379gnP9/f3P336tHrSoLhNmzbNmTOnuLhY5NINGzbs3LlT8h4WLVpE
ez8tX/T09MaNG0cIef78+Zs3b4RXOHfuHP11S2R51vnz5w8dOiQwk8fjzZo1
S3iUE8UzWRHXrl3Ly8sjhDRo0MDc3Fx1B9KsKVOmMA/KAtLS0nr16pWQkKD4
UeS4w6jn6st3lG3btk2ZMqWwsFB4UUlJyfTp00Uu0loyfb+o7VMpaybLEclp
aWlnzpxh/szJyRk4cCD7tsbj8QICAoR3KNN9TA6avfVJIPftQj0PV6qO5EGD
Bn3+/Fnk+omJiT179vz27ZvkFKr0e1+msFTPnZ/S2kdrAABtpLo6HRYWFnZ2
dseOHUtPT8/MzLxy5UqdOnXoos2bNyux1MfOzo4Q0r9/f8mrKZ4w5ptM8g81
DRs2JIRwOJy5c+dGRUVlZ2fn5+dHR0dfu3Zt6tSpAwYMUPyUmTodHA7H1tb2
yJEjaWlpBQUFjx8/Zn7srVmzJpfLFT596et0CKCbT5o0Sfp0SrPJ69evdXV1
CSH6+vpTpkyJiIhIS0vLzc19+/bt0qVL6Y+QZmZmGRkZwtvS33ZcXFyMjIxs
bW137tz5+fNnOrLp3bt3Z8yYcfbsWcVzWz5ShmV8fDw9/blz5wov7d69OyHE
3t6+pKSEmcnEIYfDsbe3P378eHp6ekFBwYMHD9q3b08XNWnSRFmZLD3hOh3F
xcWxsbE7duywsLCgCTtw4AB7E+2s0yFAykvJnAshZNy4cVFRUYWFhampqUeO
HKlevTqdP2LECMXTI+sdRsGrL+WP5/Id5c2bN3p6/9ddVKtWrc6cOZOUlFRc
XJySknL27FkPDw9CSEFBgSLXRUGq+35Rz6dSjkyWNZJpnQ5CiJ+fX1paWkRE
RLVq1eicfv36JSUlRUdH01/vmzVrxmwlx32MTaVhKevVFyDNo4Ictwv1PFyp
LZJNTU0NDQ3HjRsXGhqakpJSUlKSlpZ2/fr1Nm3a0KOI/E7kq/h7X46wVPzO
L03AKHj11XO3BABQFmXV6VBhSYe+vv7r16/ZiyIjI+migQMHKjEvZH0SlTth
UpZ01KhRgxDi4eGhxHMUwJR06OrqPnv2jL2oqKjIzc2NLqW9PwqcvraVdAwf
Ppw+VYSEhAgvPXLkiMg3ZIo+8RBCatSoER8fr7oMl4P0DxZ9+/alBQTs4gw+
n5+QkEBrqC5dupQ9n4lDfX39yMhI9qL8/HxXV1e69Pnz50rJZOnRkg5x9PT0
hJ/D2M+I4ohsDsPQnpKOKVOm0JRMmTJFYNG7d+/o476hoWFmZqaC6ZH1DqPg
1ZfylVK+o4wZM4bOHzx4sED88/l8Ho+3cOHCwsJCkUfUzpIO6b9f1POplCOT
ZY1kpqQjLi6Ozpk8ebLAXcjf358QYmlpyexKjvsYm0rDkqG6kg45bhfqebhS
WyT7+Ph8+/ZNeP2MjAxaUsYuF2NT6fe+HGGp+J1fppIO+a4+SjoAoHwpB61X
+vbt27RpU/acJk2a0B92mL4VNULVCaMFDV+/fk1MTFT1ufTq1atFixbsOQYG
BvPmzaPT9+/fV3UCFMTj8S5fvkwI6dixI/PKyubj42NiYkIIefTokYT9bN26
tWbNmpo+Gzn98ccfhJCUlJSrV6+y5wcFBfF4PB0dHXF9hvXr169JkybsOcbG
xrNmzaLTzIORsjJZbvr6+suWLXv//v38+fPVmrPqRTNcV1dXeCTdhg0b0qFn
ioqKpCnckUymO4x6rr58R+Hz+XQrMzOzffv2MfUOGBwOZ+PGjZJL0LSNlN8v
avtUypHJ8kWyvr5+rVq16DTzLsp0xEAXZWZmlpSUCOxTyvuYHDR+65NAkduF
eh6uVB3JJ06ccHBwEF7f0tLS09OTEBIXFyc5hSr93pc+LNV256e09tEaAEAL
qbCko127dsIz6RdbTk6OBs9Z1Qlbu3atubn5jx8/6tWr17t375UrV546dYr+
OKD0c+nQoYPwTKaO5adPn5R+ROWKiYnJysoihNy7d09PT09PT09XV1dXV1dH
R0dHR4fD4RgYGOTn5xNCkpOTxe3EyMho0KBBmj4V+fXq1YvWPhXooiwoKIgQ
0rNnT4ExcRiSr/6HDx/ohFIyWRElJSU7d+58//69ZvJXXT5+/EgIcXV1pb+e
CWCalTHXRW4y3WHUc/XlO0p8fPzPnz8JId26datatapKr47aSPn9orZPpRyZ
LF8ks/vfYaarVKlCJ2jPyoQQ4b5CpLyPyUHjtz6lZzKlnocrNUQyLf729PS0
sbExMDBgBgS5ePFimeei6u996cNSbXd+SmsfrQEAtJAKSzpsbGyEZ+rr6xNC
hH/VUSdVJ8zd3f3Vq1fjx483MTG5cuXK6tWrfXx83NzcHB0dV69eXVpaqsRz
oSN3iJuZmZmpgvxTptTUVDrB5/NLS0tLS0t5PB6Px6M1l9hr0v4sRXJxcRHX
5Xu5oKOjM2HCBELIpUuX0tLS6MyIiAhaNCCyL1JK5NVnGgYzV18pmSw9prFJ
aWlpXFzcunXrDAwMcnJyhgwZIrLXVUpCPx3qfwmRQ0FBAe2NjzYtEcbMV/xT
KdMdRj1XX76j0DdwwvrlvwKQ8vtFbZ9KWTNZ7kim58ie1tXVZcYaZ5YKd1op
5X1MDmq+9UlPwduFeh6uVB3J/v7+TZo02bp16+PHj9PS0oRTzuVyJSRP1d/7
UoalOu/8lNY+WgMAaCEVlnQID4KlJdSQMGdn5/3796empn7+/PnChQuzZ892
dHRMTExcuXIlexw+xTHPkSJnilwqknLLX1RBQo0YprfL8mvcuHEGBgbFxcXH
jx+nc2jbZgcHh99++03cVpKvrxx1iJRb7UhHR6dWrVpLlizZv38/IaSoqIhp
Wl8JMXkr/adSAlXcYVRR6UzKoyglT7SE0r9flHVdlJXJ0kSyhEXCp6P0+5gi
J6UlJGeyeh6uVBrJAQEBq1atUuTBQ9Xf+8oKS+Xe+YkWP1oDAGgh3DFViMPh
ODs79+vXb9u2bbGxsRMnTiSEBAcH37x5U1mHENlQPykpiU5YWloyM5mf1ET+
TsL87qdmzK8Tq1atktwzzZ07d8TtpAK8Jtna2g4YMIAQQoe1Ky4uPnnyJCFk
3LhxtE97kURefaYGBHP1lZLJihg9ejQdRObWrVt3797VUB6rlrGxMf2BUVzf
Gcx8JT6gS3OHUfzqS/P5ku8ozFYxMTEquSpaTG2fSlkzWf2RLOV9TIDqwlIN
NHK7UBH5Mpk9Xs+tW7dSUlKKi4uZNWkXp5Kp+ntfyrCsSJcSAKDiqQglHfRV
sKioSNMJkYR2ykinHz9+rKzdiuytjZlJR6OkmGbS379/F1g/PT1dWS1IZVWv
Xj3akPvBgwcaSYDqyBqWdLSCFy9eREVF0WYsOjo648aNk7CJyKvP5GSDBg3o
hDZk8vr16+nE2rVrNZUGuUl5KWmGf/jwISUlRXjp7du36YSLi4sqEinuDqP4
1adjBxBCmKZVwuQ7Sq1atehrUlhYWHp6uqwJU8+dX0VHUdunUo5MVnMkS3kf
E6C6sGRTXYxp9nahRHJkcm5uLu3bYtSoUQEBAV26dLG1tWW3foqKitL0ackQ
luXiUpaL52QAAKWrCCUdtPOzDx8+8Hg8TaeFEEIGDhwosgdspuft7OxsZR3r
6tWrL168YM8pKSnZtm0bnWZ3qeXk5ER/A6HjwLE32bRpk+QGsaqjq6vr5eVF
CLl+/TqtxSAsJSXFz88vNjZWIymUm6xh2alTJ1oyFRgYSJuudOnShRnLQKSL
Fy8K9HxRVFS0c+dOOs30naYNmdyqVStarSMsLEz9wxwoSMpLST9upaWlq1ev
Flj0/v17mvMGBgYeHh4KpkemO4ziV59pZy7hTUa+o3A4nD59+hBC8vLyJk2a
JPIutHLlSnFP5+q586voKGr7VMqRyWqLZErK+5gA1YUlm+piTM2ZrDpyZDLT
Ky1TXMV25MgRbSjpkD4sy8Wl1LbnZAAA9agIJR20QP3r168zZ86MjY0V7vBM
zS5evOji4jJq1KhLly6lpqYWFRXFxcXt2rXLz8+PrtC4cWNlHYvH43l5eR09
ejQjI6OoqCgiIsLLy+vly5eEkDp16nTu3JlZ08zM7JdffiGEPHv2bPjw4e/e
vSsqKoqNjZ03b97mzZvF1RBWg4ULF9J2p8OHD/f19b1161Z6ejqXy01NTb16
9eqECRNq164dGBio3K9nR0dH2sf74MGDVXRecoQlHW72yJEjoaGhhJDRo0dL
Xp/L5f76668nT57MzMwsLCx8/Phxz5493717Rwhp2LAh+7lKI5ksYPHixXRi
1apVqjuKKkh5KceOHUsn9uzZM378+Ldv3xYXF6elpR09erRbt2704X7QoEGK
12GW9Q6j4NWnIz7S/dy8eVN47AxFjjJ//nw67unZs2fbtWt37ty5lJQUulVI
SEiHDh1Wr14trkm8eu78qjuK2j6Vsmay2iKZkv4+xqbSsGSo7uqrOZNVStZM
tra2psMAHTx4cP369bGxsUVFRSkpKffv3x8xYsTYsWNNTU01fU4yhGW5uJRy
RPLPnz+Z0XD8/f01mHgAAPlli0FbS0ozMOTUqVPZTTGZKn9BQUHCDTW7detG
CHFycuIrz99//y0yYePGjVMwYWvWrJEmDzds2MDeSkLHCoQQBweHnJwcBU/5
xo0bdG+jRo0SdyBad4Nt48aNItfs3r27NNeFrjxp0iTp0ynlJuvWrSszk6Oj
o4U3dHJyIoR06tRJ1gykQ7IRQgYNGqTgtRBHyrBky8jIMDExoauZmJiIi5Pg
4GC6joTGzKGhocrKZOkZGhoS1tgrwpinw8ePH9M5TDUEySRkWv/+/ek6L1++
1PillFw4ZW5u/vXrV8XTI8cdRsGr7+bmJrz+iBEjlHKUP//8U/ImBQUFCl4X
NVx9+b741PCplC+TZYpk2ucC+4NPOyHW1dVl5jB3rdTUVIE5Mt3H2FQaljJd
ffkeFWS9Xajn4Uo9kTx79mxxq7m5uY0YMYJOi0yh3N/70pAvLGW9lHIEjIJX
X467JTOqDiFk5cqVqshtAABxxBVQvPhfK1atFvgnsEJFqNPh5+cn8olHUy5c
uCBuPL8aNWr8+++/TJcZiuvduzfthpCNw+Fs2LCBeQNkTJ8+vVmzZgIz69Sp
c/DgQc3m2JIlS3bu3Enfk4XZ2toGBAQodxxK/n9LYSS/NCpCjrC0tLT08fGh
0/369SszToYMGcKsz+BwOFu3bqXVidnUn8nCFi1aRCeEa/lqM+kv5d69e/v1
6ydykZWVVWhoKH1GV5AcdxgFr/7Bgwdp5WfJ5DvKnDlz9uzZI7Ieu56e3vbt
20UuIuq686v0KGr7VMqayeqJZEqm+xibSsOSUunVV2cmq5qsmbxmzZq2bdsK
r+nk5HT69GlaBUmzZApL7b+U2vacDACgHhWhpMPIyCg8PNzf37958+bm5uYa
H4mjT58+Hz58OHr0qJeXl42NjZ6enrW1dYcOHbZs2fL+/fvmzZsr93B79+7d
vXt3o0aNjIyM6BAed+/eZV4p2UxMTO7cuTN79uxatWoZGBjUqVNnxowZjx49
qlmzpmZzjBAyY8aM2NjY5cuXe3p62tjY6OvrV6tWzcvLa//+/XFxcX5+fkq8
rKmpqczwNCNHjlTRGckXlkytXQm1ddiCgoK2bt3q6upqaGhoZ2c3aNCg+/fv
z507V+OZLJK3tzftiyQ0NFTK2hzaQPpLaWxsfOHChfPnz/fv39/e3l5fX9/C
wsLd3X358uXR0dHiehyQlXx3GEWuvru7e0RExNChQ21sbCQHiXxHmTx5cmxs
7IoVK5itatSo4evrGxkZOWvWLMWviyJUfRS1fSplymT1RDJDpvsYQ9VhSVR8
9dWcyaomUyabmpreuXNnx44dHh4eZmZmxsbGrq6uixcvfvr0qbg+aNVP+rDU
/kupbc/JAADqwRHXO6Y0P5UAlEcnTpygFVPbt28vsn91TcnNza1Zs2ZmZqad
nd3379/F1TcJCQmhQ9IGBwd7e3trOtUAADLDfQy0EMISAEAb5OTkiJwfExPD
/jPk30sCK3j3/Y39Z0Wo0wEgk+vXr9MJcR2XaMru3bszMzMJIaNHj1ZdsxoA
AAAAAICKTfONIQHULCwsjBDSr1+/du3aaTot/ycnJyc4OJgOSsLhcMaPH6/p
FAEAAAAAAJRXKOmAyuX9+/ffvn3T0dFZv369ptNCCCEHDhyYMGECe07//v21
p6EyAAAAAABAuYOSDqhcGjZsyAy8ooXs7e3FjQYHAAAAAAAA0kA/HQCax+Fw
qlevPnbs2GfPntWoUUPTyQEAAAAAACjHMPYKAAAAAAAAAGgexl4BAAAAAAAA
ABCEkg4AAAAAAAAAqDhQ0gEAAAAAAAAAFQdKOgAAAAAAAACg4kBJBwAAAAAA
AABUHCjpAAAAAAAAAICKAyUdAAAAAAAAAFBxoKQDAAAAAAAAACoOlHQAAAAA
AAAAQMWBkg4AAAAAAAAAqDhQ0gEAAAAAAAAAFQdKOgAAAAAAAACg4kBJBwAA
AAAAAABUHCjpAAAAAAAAAICKAyUdAAAAAAAAAFBxoKQDAAAAAAAAACoOlHQA
AAAAAAAAQMWBkg4AAAAAAAAAqDhQ0gEAAAAAAAAAFQdKOgAAAAAAAACg4kBJ
BwAAAAAAAACUG0ZGhv/7p5HACijpAAAAAAAAAIByo5Zjzf/5s6ajwAp6mk4h
AAAAAAAAAIC0XF0aEA6JT/hGCKlV09G1QQOBFTjZ2dkitzQ3N9d04gEAAAAA
AACgssjJyRE5PyYmRqb9oPUKAAAAAAAAAFQcKOkAAAAAAAAAgIoDJR0AAAAA
AAAAUHGgpAMAAAAAAAAAKg6UdAAAAAAAAABAxYGSDgAAAAAAAACoOFDSAQAA
AAAAAAAVB0o6AAAAAAAAAKDiQEkHAAAAAAAAAFQcKOkAAAAAAAAAgIoDJR0A
AAAAAAAAUHGgpAMAAAAAAAAAKg6UdAAAAAAAAABAxYGSDgAAAAAAAACoOFDS
AQAAAAAAAAAVR+Ut6QgJCeFwOBwO59KlS+LWCQsLo+ucPHlSyt12796dIyQ3
N1fTp1uhlJdMlibGAAAAAAAAQLnKKOl49uyZ8CulsbGxo6Njnz599u3bl5+f
r+lTAFC56tWrczgcb29vTScEAAAAAAAAyiBPnY7CwsLv37+Hhob+8ccfjRo1
ev78uabPAgAAAAAAAACAEMVbr3z9+rVXr17fv3/X9InIzNvbm8/n8/n83377
TYm7DQsL4//XzJkzNX2WFVN5yWQVxRgAAAAAAABIIG1Jx++//868W6alpT15
8mT06NE6OjqEkJ8/f65bt07TJwIAAAAAAAAAIFedjqpVq3p4eBw+fHjr1q10
TnBwsKZPBAAAAAAAAABAsdYr06ZNMzMzI4QkJyf//PlTYOnFixcHDhzo4OBg
aGhoZWXVqlUrf3//jIwMcXvj8XjHjx/v27evo6OjkZGRubm5i4tL7969//nn
n6SkJKVscujQIeEOVqUcF4PP5//nP/9xc3MzMTGxs7MbMGDA7du3lXsxvnz5
Mm/ePDc3N0tLSyMjIycnp5EjRz558kS5RyGEJCcn+/v7t2vXztbW1sDAwNHR
ccKECTExMeLWl/JSbt26lcPhVK9ePTc318fHx9zcvHHjxjdv3qSn1qNHD1NT
0/r16x89epS9FTNASUhICI/H2717d+PGjY2Nje3t7YcOHfr48WONZHJMTAw7
SFJSUgghFy5cEAie8ePHC2wod4xJ/3m5f/8+3S3NyfDwcC8vL1tbWzMzs9at
Wx87dkzcIeT4iMmBy+UeP368X79+dnZ2hoaG9vb2nTp12rp1q+TBcWrXrs3h
cDp37kz3cOjQIU9Pz6pVq9rY2LRt23br1q0FBQXyXUoAAAAAAKh0ssWgDVWe
Pn1KV2O3XmGrX78+XSEmJoaZWVBQMGDAAJGHs7a2fvjwofB+8vLyunTpIi6R
rVu3VsomgYGBwmv++++/fDFu3LhB1zlx4sSkSZOEt/X39+eLx3QhkZOTwy/L
tm3bDAwMRJ7L4sWLy9xcenv27DEyMhI+ir6+/q5duwRWlulSbtmyhRBiZ2c3
ZMgQZjVzc/O4uLjGjRszc3R0dCIiIpitmApBwcHBvr6+AkfR0dHZuXOn+jM5
Ojpamo/PuHHjBA4ha4zJmsl8Pj88PJwuDQoKOnz4MG1ExrZhwwbho8jxeZHD
1atX69atK/IQNWrUYF93AU5OToSQTp06FRUV9e7dW3jzoKAg+S6lgNTUVGbN
lStXKuWsAQAAAABAKcQVULyQkUJ1OkpKSpifgi0sLJj5U6ZMEdeeJS0trVev
XgkJCQLz161bJ2sVCTk2kdvly5f37dsnPN/f3//06dOK73/Tpk1z5swpLi4W
uXTDhg07d+5Uyols27ZtypQphYWFwotKSkqmT58usEiOS5mWlnbmzBnmz5yc
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
4MGDnZ2dNZ0cqIAQYwCVEz77oIUQlqCFEJaghRCWIA2tLunYtWtXfn4+IWTB
ggWaTgtUTIgxgMoJn33QQghL0EIIS9BCCEuQhvaWdOTn5+/evZsQ0qNHD3d3
d00nByogxBgo16tXr9auXdu3b99mzZrVqFHDwMDA3Ny8du3a/fv3P3ToUFFR
kXIPl5yc7O/v365dO1tbWwMDA0dHxwkTJsTExChl54cOHRLu7F2abtu/fPky
b948Nzc3S0tLIyMjJyenkSNHPnnyRHjN+/fv090ePXqUEBIeHu7l5WVra2tm
Zta6detjx44JrB8TE8NOTEpKCiHkwoULAokcP358mYmstJ/9xMTECRMm1KhR
w8jIyNnZedq0aUlJSco9BMKSICxlcffu3fHjx7u6ulpYWBgbGzs7O3fs2HHR
okXPnz9X4lEQlgRhKZ2goKBOnTpZWVmZmZm1bdv2zJkzqjsWwpIgLEHVssXg
a9rOnTtpCm/cuKHptEDFhBgDJSrzjdHNze379+/KOtyePXuMjIyEj6Kvr79r
1y5xWzFNfHNyciTvPzAwUHjn//77r+Sttm3bZmBgIPL0Fy9eLLByeHg4XRQU
FHT48GEdHcGS9w0bNrDXj46OluZLbdy4cWXmXuX57Ds5OTE5s3v3buE+26pW
rfr69WtlHQ5hibCUXmZmZt++fSVkWkFBgVIOhLBEWEqjtLR0+PDhwrm0cOHC
Fi1aMH+eOXNGKYdDWCIsQQJxBRQvZKSldTq4XO62bdsIIe7u7t27d9d0cqAC
QoyBmr1+/XrcuHFK2dW2bdumTJlSWFgovKikpGT69OkiF6napk2b5syZU1xc
LHLphg0bmEcTAbGxsePHj+fxeALzV65cGR8fr/R0VtrP/rx584TH4UtPT/f2
9lZKwCAsFVHZwrKwsLBr167//vuvqg+EsFREpQrLHTt2HD9+XHj+pk2b3r59
q9xjISwVUanCEhSkpSUdJ0+ejIuLI4QsXLhQ02mBigkxBsrF4XAaN248f/78
8+fPv3jx4tu3b0VFRT9//jx+/LiFhQVd5+rVqx8/flTwQG/fvmWCtlWrVmfO
nElKSiouLk5JSTl79qyHh4dSTsfX15cpWQ8ODi5z/cjIyKVLlxJC9PX1p0yZ
EhERkZaWlpub+/bt26VLl9JfrpYtW5aZmSm87bZt26pWrXrs2LH09PTMzMwr
V67UqVOHEFJcXEwHkKPq1avHLu+3s7MjhPTv31/gd4ADBw5ITmql/ewXFhb2
6tUrNjY2Kytr9erVzPwvX74cPHhQwZ0jLBGWMlmxYsWLFy+YP8eMGfPq1avC
wsLc3NyoqKjt27c3a9aMw+EoeBSEJcJSSsXFxWvXrmX+dHNzi4yMzMvLCwgI
0NfXV265A8ISYQnqo52tV5o0aUIIcXZ25nK5mk0JVFSIMVCbZcuWMbfcPXv2
KLi3MWPG0F0NHjy4pKREYCmPx1u4cGFhYaHIbaWv+MrGPCRJqPhKK/1yOJyQ
kBDhpUeOHKF7OHDgADOTqfiqr68v0IAiMjKSLho4cKC4I4p7SCpTpfrss1uv
VKtWjX3dBw8ezCzq2LGjggdCWFIIS2lkZmaampoy4Tdz5kwVHQhhSSEsy8Tu
wEJPTy8mJoZZxP4GJ8povYKwpBCWIEFFbr0SGhoaFRVFCJk3b56urq6mkwMV
EGIM1Mna2pqZfvfunSK74vP5ly9fJoSYmZnt27dPT09PYAUOh7Nx40ZDQ0N1
niCPx6Op6tixY//+/YVX8PHxMTExIYQ8evRIeGnfvn2bNm3KntOkSZO6desS
Qr58+aLcpFbmz76Pj4+ZmRnzJ7vXt2fPnglXPJYewlJBlS0sb9++nZeXR6dN
TU3XrFmjiqMgLBVUqcIyIiKCme7SpQvNUmrixIlKPBDCUkGVKixBcXqK70Lp
Nm3aRAixtbX19fXVdFqgYkKMgSrk5OQEBQVdu3bt3bt3KSkpeXl5wm+PImt+
Si8+Pv7nz5+EkG7dulWtWlXTZ/x/YmJisrKyCCH37t2jz218Pl/gfyo5OVl4
83bt2gnPdHBw+Pz5c05OjnKTWpk/+y1bthT3Z35+fnJyco0aNeTbM8JSQZUt
LNntVtq1a2dubq6KoyAsFVSpwjI2NpaZFrhV1qxZ087Ojg4UojiEpYIqVViC
4rSuTseTJ0/u3btHCJk+fbqxsbGmkwMVEGIMVOHOnTvOzs5Tp069ePFiTExM
Tk6OyB/JmV8y2czMzIRHg6MjqAmgT0iEEPYvThrH9HPJ5/NLS0tLS0t5PB6P
x6NVEMs8fRsbG+GZ+vr6hJCSkhIlprOSf/YFBl6xtrZmd5VPH3PZEJbCMxGW
SsHuGbdWrVoybYuwFJ6JsFRcdnY2My08RpWtra3kzRGWwjMRlqANtK5Ox8aN
GwkhZmZmU6dO1XRaoGJCjIHSJScne3t7C78rClOkjQCb4n31aYTAMxMlPDSd
ilTyz77kmFFKRCEs5YCwrACHUAWEpTqxc1s9AYOwlENlC0tQnHaVdHz8+PHC
hQuEkAkTJlhZWWk6OVABIcZAFYKCgtjFHEOGDJkzZ46Li0uVKlV0dXXXrVsn
0KWZgNzcXCkPxPxyEhMTI0c6VfRoxaRq1apVK1asUMUhFIfP/o8fP9h/pqWl
scvdhFsQICzVoHKGJfsX4ISEBJm2RViqQSUMS2aINCJ0qxQ5RwDCUg0qYViC
4rSr9crmzZv5fL6+vv7s2bM1nRaomBBjoApv375lph0cHE6dOtWmTRsrKyva
XVZ0dLSyDlSrVi36RBIWFpaeni7r5nSgOEJIWlqaEk+/Xr16VapUIYQ8ePBA
ibuVjOZtUVGRlOvjs//s2TP2n8+fP2emTUxM7O3t5d4zwpKBsJRG8+bNmekH
Dx6IrA+vOIQlA2FZJnZbEoFb5bdv35TVSQdBWLIgLEENZCjpGDlyJLv5GdPS
TFkSExOPHj1KCBk2bFjNmjU1nTNQPsgUlogxUBH2b+MWFhbsX12SkpLOnTun
rANxOJw+ffoQQvLy8iZNmsTlcoXXWblypbhHB6bLSeU+zejq6np5eRFCrl+/
fvLkSZHrpKSk+Pn5sXt9UxCtg/DhwwdpGgThs08IOXnyJPuHx/379zPTLVq0
UKT6McKSgbCURpcuXZg29jk5OatWrVLFURCWDIRlmTw8PJjp27dvf/78mflz
3759SjwQwpKBsAQ1UG2djp8/fzKvoP7+/pJX3r59e3FxMYfDmT9/vqazBSom
xBioSKNGjZjpd+/erV69+ufPnxkZGVevXu3atav09VqlMX/+fNo1+tmzZ9u1
a3fu3LmUlBQul5uamhoSEtKhQ4fVq1eLbElLCPH09KQTCxcuvHnzZmFhobJS
tXDhQvqqPHz4cF9f31u3bqWnp9NUXb16dcKECbVr1w4MDFRWNyWEkAYNGhBC
vn79OnPmzNjY2OLiYgkr47NPCElNTR0yZMjXr19zcnLWrl179uxZZtHQoUMV
3DnCkkJYSsPKymrSpEnMn1u2bJkwYUJUVFRxcXFaWtqrV6/+/vvvli1bSv9j
rzgISwphWabu3bszDSK4XO7gwYPfvHlTUFAQGBhIB/tQIoQlhbAEdcgWgy9k
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
dOUbN24o8aJooYULF0qTaWfOnFHK4RCWCEspBQYG6urqCuSSi4tL3759mT+X
Ll2qlGMhLBGW0mA36v7jjz/c3NwEssvGxubr16/KOhzCEmEpJScnJ5EZdeLE
CaUfC2GJsJRScHCwuLwqKChQ7rEQlghLkEBcAcULGZVRpyMzM7NDhw4iS/II
ITweb+3atcuXL5cmcMu0bdu2KVOmiCw0LSkpmT59uirKU8u0adOmOXPmsJtI
sG3YsIH5sAmIjY0dP348j8cTmL9y5cr4+Hilp5PL5W7bto0Q4u7u3r17d/Vn
VEWFsFREpQrL58+fT5gwobS0VGD+x48f//33X+UeC2GpiEoVlmzHjh17/fq1
wMyfP3+uWLFCKftHWCqi0oalqiEsFYGwVBGEpSIQliADyXU6fH19mTWtra3P
nj2bl5f38+fP3bt3M2V+Ojo6L1++VLDk5s2bN3p6enSHrVq1OnPmTFJSUnFx
cUpKytmzZz08PIj48lTpCzjZmIJbCQWcr1+/pr/Q6uvrT5kyJSIiIi0tLTc3
9+3bt0uXLqVlsWZmZhkZGcwmTAGnhYWFnZ3dsWPH0tPTMzMzr1y5UqdOHbpo
8+bN4o5oZ2dHCOnfv7+sGRgUFER3furUKQWvRfnSv39/JkQFCo8Vh7CkEJbS
6NatGxOK9vb2t2/fzs/PDwkJMTc3Z99yFa/TgbCkEJbSEOiof9iwYT9+/Pj2
7Vvv3r2ZmVWqVOHxeAoeCGFJISzlwK5qpNw6HQhLCmEph4SEBPbNU4l1OhCW
FMISJFBWnQ5JJR3fvn1jPoqEkHPnzrFTwG5tPmbMGAXPZ8yYMXRXgwcPLikp
EVjK4/EWLlxYWFgoclvVfeyHDx9OCOFwOCEhIcJLjxw5Qvdw4MABZibzsdfX
13/9+jV7/cjISLpo4MCB4o4o98e+SZMmhBBnZ2cul6vYpShnVFrSgbCkEJZl
SkhI4HA4TCiyL9/ff/+t3JIOhCWFsJQGu6TDzMyMue5RUVHssPz+/buCB0JY
UghLOaiupANhSSEs5aC6kg6EJYWwBAnU0XrlypUrXC6XTtepU2fgwIHspRMn
TmSmL1++TBTA5/PpHszMzPbt28cuXqE4HM7GjRsNDQ0VOYqseDweTVXHjh3Z
r9MMHx8fExMTQsijR4+El/bt27dp06bsOU2aNKlbty4h5MuXL8pNamhoKH1s
nTdvnnA3ASAfhKWCKlVYhoeH8/l8Ou3o6Mj+wXzUqFGmpqbKOhDCUkGVKiwF
dOnSxczMjE67urqyy+aysrIU2TPCUkGVOSxVB2GpIISlKiAsFYSwBJlIKul4
8eIFM92qVSuBpY6OjkxXOj9//oyLi5M7EfHx8T9//iSEdOvWrWrVqprOk/8T
ExNDH/7u3bunp6enp6enq6urq6uro6Ojo6PD4XAMDAzo+EbJycnCm7dr1054
poODAyEkJydHuUndtGkTIcTW1pbd2ggUhLBUUKUKy/fv3zPTrVu3ZvfLZW5u
Tn9/UAqEpYIqVVgKqFGjBjOtp6dHH1sp4f5lZIKwVFBlDkvVQVgqCGGpCghL
BSEsQSaSSjroR5E6c+YME/o6/8XuLyc1NVVgczMzM+HxjeiYQOIORMv/tARz
Rnw+v7S0tLS0lMfjMY2Z2Wvm5eUJb25jYyM8U19fnxBSUlKixHQ+efLk3r17
hJDp06cbGxtrOtu0HcJSeCbCUnEZGRnMdPXq1QWWst8wRUJYCs9EWCqdyH7+
JUBYCs9EWGocwlJ4JsJS4xCWwjMRlqAN9CQsYwc3DX0JK2dnZyueGnZl2nJE
4C5ACQ+2pCIbN24khJiZmU2dOlXTOVExISzlUNnCkn17VE/AICzlUNnCUv0Q
lnJAWKoawlIOCEtVQ1jKAWEJspJU0iFTrSrhsYVyc3Ol3JYpC4yJiZHjHFR0
s2BStWrVKmUNwqd0Hz9+vHDhAiFkwoQJVlZWmk5OOYCwVINKGJZVqlRhppOS
kgSWCs8RgLBUg0oYlgpCWKoBwlJWCEs1QFjKCmGpBghLkIOkQjh27zLTpk2T
3EWqIgMa16pVi37GwsLC0tPTZd2cqZGblpamxKypV68efXt58OCBEncrGe1c
p6ioSMr16ehN+vr6s2fPVlsiKwmEJQNhWab69esz00+ePGGX/Obm5jKdkCsO
YclAWGoPhCUDYak9EJYMhKX2QFgyEJagBpJKOnr27MmUHV64cEHpncowOBxO
nz59CCF5eXmTJk1iBnxhW7lypbgPA9MGXrmfT11dXS8vL0LI9evXT548KXKd
lJQUPz+/2NhYZR3U3NycEPLhwwfhOjLCEhMTjx49SggZNmxYzZo1lXjuQBCW
LAjLMrG74/r27VtoaCjz59GjR0W2a5UPwpKBsNQeCEsGwlJ7ICwZCEvtgbBk
ICxBDSSVdNSrV48ZWTYhIaFdu3anT59OSkricrm5ubmxsbGPHj3au3fv77//
PnfuXAXTMX/+fDrS0tmzZ9u1a3fu3LmUlBQul5uamhoSEtKhQ4fVq1eLbBtG
CPH09KQTCxcuvHnzJrufVAUtXLiQtj0bPny4r6/vrVu30tPTaaquXr06YcKE
2rVrBwYGSvMRlVKDBg0IIV+/fp05c2ZsbGxxcbGElbdv315cXMzhcObPn6+s
BAAbwpJCWJbJ1dW1ZcuWzJ+TJk26e/duYWHhxYsXFy5cqNxjISwphKVWQVhS
CEutgrCkEJZaBWFJISxBHbLFoG1SkpOTpSk5GzduHF9hf/75p+SjFBQUiNvW
zc1NeP0RI0aw11mzZo00GbJhwwb2VuvWrStzk+joaGb98PBwOjMoKEg4nd26
dSOEODk5iTuRv//+W8oczszMpKWhffr0UTzzyy/2uN8C104pEJZ8hKV0bt26
Jc2lXLp0qeLHQljyEZbSmTlzJpMzM2fOZC8yNTVlFkVFRSl+LIQlH2EpHUND
Q2kuJSFk5cqVCh4LYclHWMolISFByjiRA8KSj7AEicQVULyQURmd5drZ2T14
8KBt27bSfGAUNGfOnD179ogcBk9PT2/79u0SRsg7ePAg/Qwo3ZIlS3bu3Cnu
W9nW1jYgIECJI0X5+fmJvIUJ27NnD21PpPRfjIENYUkQltLp0qXL9u3bhXsL
c3Z27tu3r3KPhbAkCEvtg7AkCEvtg7AkCEvtg7AkCEtQi7KHBapZs+aDBw+u
Xbvm5+fXsGFDS0tLPT09a2trFxeXTp06LViw4MqVKzt27FBKaiZPnhwbG7ti
xQpPT08bGxt9ff0aNWr4+vpGRkbOmjVLwobu7u4RERFDhw61sbFRer/EM2bM
iI2NXb58OZOqatWqeXl57d+/Py4uzs/PT4lHNDIyCg8P9/f3b968ubm5ubg9
FxUV/fXXX4QQT0/PDh06KPd8QQDCEmEppVmzZt27d69fv342NjYGBga1a9ee
Pn3606dP2SOzSP9jpmQIS4SlFkJYIiy1EMISYSkH/v+2H6HdZyoRwhJhCWrA
yc7OFrlAReWFoBT79u37448/CCHBwcHe3t6aTg4AIQhL8Tp27MhU8ty9ezfG
gVcnhCVoIYQlaCGEJVtUVBQzBqW+vr7kXiRAdRCWlZO4gVBkHZ4ZJR3lD4/H
c3FxiYmJcXV1fffunYrG1gaQCcJSnLi4uIYNGxYUFNA/79y506lTJ00nqrJA
WIIWQliCFkJYCggMDPTz86PTTk5OX79+1XSKKiOEZaWlrJIOPU2fCMjs3Llz
9DLPmzcPn3nQEghLQoinp+dvv/3WoUMHR0fH6tWrFxQUPHv2bN68eUwxR9Wq
VT08PDSdzEoEYQlaCGEJWghhySgoKHj06NGKFSuYOe7u7ppOVCWFsAQFoU4H
AIBymJmZ5eXlSVhh06ZNCxYs0HQyAQAA4H8YGRkVFRWJXHT27NlBgwZpOoEA
lYiy6nSU3SMpAAAobtq0aRgHHgAAoBwZMGAAijkAyim0XgEAUI5nz56dO3fu
3r17cXFxKSkpubm55ubmderU8fT09PX1bdmypaYTCAAAAGXgcDiWlpaNGzce
MWLE+PHjNZ0cAJATWq8AAAAAAAAAgOYprUfS58+fa/pcAAAAAAAAAACUQ48Q
0qBBA00nAwAAAAAAAABAUZ8+fUKPpAAAAAAAAABQcaBHUgAlmDlz5pcvX+j0
/PnzO3TooOkUAQAAAAAAVFKo0wEAAAAAAAAAFQfqdID28vf3f/HihfD8rl27
zpo1S9Opgwpi+fLlr1+/Fph5+vRpIyMjJW4C5UhmZuYff/yRn5+/atWq5s2b
azo5KlReIvnx48fr16+nCW7VqpWmk1PZT5/P58+YMSMuLm7EiBG///67ppMD
AAAgmkIlHSNGjMjJyTEyMjp9+rTw0hMnTpw4cYIQMmfOnM6dO8t9lNevX58+
fTo6OprD4fzyyy+///67q6urTHvIzs4eOXKkt7e3n5+fKjJRnY4ePXr69GlL
S8sjR45Is35hYeGtW7eePXsWHx+fmZmpp6dnY2NTp06dTp06NW/eXFdXV9Mn
pF1u3ry5c+dOOt2wYcNNmzZpOkUaIGuMaa3v379PnjyZTnfv3n3GjBmaTpHM
hg4dWlhYaG5ufuzYMSk34XK5sbGx0dHR0dHRnz59+v79O5/PJ4QcPHjQxsZG
0ydUPhw6dCg/P9/V1bXMYo709PSbN28+ffo0JSUlJyenSpUqTZs27devX716
9TR9Elpq9OjRmZmZrVu3Xrp0qabToj5yfJDVTKbrwuFwhg8fvmHDhjNnznTt
2rVatWqaTj4AAIAI2l6nIywsbNeuXfRJnRDy/PnzV69ezZkzB/0gSOPRo0d7
9+7NyMhg5hQXF8fHx8fHx9+9e3fJkiVt2rTRdBoBVOXJkyfM9NOnT/l8PofD
0XSiVO7kyZMii55BSnFxcbdv3yaEjBgxQvKaoaGhhw4dKiwsZOakp6ffuXPn
7t27AwYMGD16tI4O2odCxdSmTRtnZ+fY2NgTJ06Ux0JkAACoDLS6pCMjI2Pv
3r18Pn/EiBG9evXi8XiXLl06c+bM7t27mzVrZm5urukEarVbt27t3LmTKSQq
j/z9/ZlpWtFA0ykSi6kJAtrj8ePHhBALC4usrKysrKz379//8ssvwqutWbOG
md6/f/+///5b5p7l2ATKixMnTvD5/Lp167q5uUlY7fTp00ePHhW5iM/nnz9/
vmPHjs7Ozpo+mzKUl0hu06bNxYsXNZ0KnP7/x+FwBg4cuHXr1lu3bg0dOrR6
9eqaThEAAIAgrf7F6fHjx8XFxV26dPn9998tLCysrKxGjRrVrl27goIC9q+1
whISEhYsWPDhwweRSwsKCg4fPrx//35Nn59UTp48uWXLloSEBJFLCwsLg4OD
58+fX1tKnPcAAHOMSURBVFxczJ7//fv3PXv2MMUctra2CxYsOHbs2IkTJ+bN
m4e6psAmX4xpuaysrI8fPxJCBg8eTDsdkHzTqDD09fXr16/fp0+fWbNm/f33
302bNtV0isqT5OTkR48eEUK6du0qYbWoqCimGYKzs/P8+fMPHz58/vz5gwcP
zpw5s06dOpo+DwCVa9OmjbGxMY/H07ZSGAAAAEqr63Skp6cTQho0aMCe6erq
+uDBg7S0NAkbJiUlJScnL1y4sFOnTr6+vnp6/3eafD7/9u3bhw8fzszMbN++
PY/H0/LaxVlZWWfPni0uLr5//37btm19fHyYRQUFBZcvXw4JCcnOziaEhIaG
ent7M0sDAwOZ91Jra+utW7daWlrSPzt27NikSZNly5Zp+uRAK8gdY1ouIiKC
lvS1adMmKioqIiLiyZMnY8eO1XS6VO73339n9xFYGRrsKNH169f5fL6urq7k
BpL79u2j0dW6detFixYxHR7Z2Nh069ata9euwcHB6AUJKjYDAwNPT89bt27d
unXL19fXwMBA0ykCAAD4H1pd0lG1alVCSExMDHsm/Z3W2tpawoYeHh60Iu75
8+cfP37cu3dvQkhCQsL8+fM/ffrk7u4+evRo7a9XTAixsLDYtm3buXPn7t27
9+DBg4cPH1pYWBBCcnNzx48fn5OTQwhxcnIaNGhQx44dma3S09OfPXvG/Dly
5EimmIOysrJatmzZz58/BQ7H5/MfPnx47969T58+ZWdnGxgYVK9e3d3d/bff
frOysmKvOXny5O/fvxNC/vzzz5s3b4aHh/N4PE9PzwkTJsTHxwcEBMTGxhob
G7dt29bPz8/Q0JBuNX78+B8/ftDpNWvWODg4nDp16vnz51lZWRYWFi1atPj9
99+V1WkiPZfw8PBPnz5lZWXp6+tbW1s3bdq0V69eTk5O7DUvX768b98+4T28
f/++X79+7Dk7duxghw37dNjmz58v4TVJ+kwm/1ufvG/fvsOHDz916tTjx4/T
0tJMTEzc3NxGjhwpstpwTk7OtWvXnj17lpCQkJ+fb2xsbGVlZWdn16xZsxYt
Wjg4OCgYY9qP1uBwcHCws7Nr0aJFREREYmJiQkJCzZo1NZ000F53794lhDRu
3Fjgnsn29u3b+Ph4QkiVKlVmzZolXKJBK/aL3DYiIuLmzZsfP37Mzs42NDS0
t7dv1apV3759zczM2KsFBwcHBgZaWlr+5z//2bVr19OnT21tbSdMmODm5paS
krJ79+4PHz5UrVp12LBh7N6+mRE6lixZ0rp169DQ0CtXriQnJ5uamv7yyy/e
3t4uLi5KzKuUlJTLly+/evXqx48fJSUllpaWjRo1+u233wR+nEhKSpo0aZLA
tk+ePBG4u/bo0WP69OnsOez+oRnSDD4iZSYTQt69e7do0SLy337T3759e+bM
mc+fPxcVFdWqVeu3335TpDN1Bcl3+nw+/969e/fu3YuNjc3OztbV1bW2tq5e
vbqHh0ebNm3YXzFyXxe2jh073rp1Kz8//+nTp+3atdNUXgEAAIikyZIOOiQK
nR42bNiwYcMEVmjdunVAQMCtW7dq1qzZvXt3Ho93+fLl+/fvGxkZCXzZ5+fn
X7lypUePHlWqVKFzDA0NBw8e7OXldf78efqu+Pz5819++WXjxo0i2+prrVq1
as2ePXvkyJHBwcE3btzIzMwkhHC53JycHFdX18GDB7dq1UrgZ9sXL17weDw6
bWBgIPKt297e3t7enj0nKytr/fr179+/Z+aUlJR8/vz58+fP//7779SpUzt1
6iS8n3/++YcpigoLC0tLS/v48WN+fj4hpLi4+MqVKzo6OsKPU4SQ79+/b9my
hVYWIIT8/Pnz2rVr4eHha9euVXzYgvT09PXr13/69Il9Lvn5+QkJCaGhoUOH
Di2zr0EVkS+TqeLi4gULFjBtTLKysu7du/fq1avt27cLNEf68OHD2rVrmbwl
hOTm5ubm5iYkJDx79uzAgQNnz55l//4mR4xpuaKiolevXhFCWrRowfxPCHny
5AlKOkCcL1++pKamEkIkf0cwzaC6d+9uamoq5c6Li4v//PNP2jSG4nK5MTEx
MTExly5dWr58ucgxxXbu3PngwQNCSHx8/Pr163fv3r127dq4uDhCSFJS0vbt
2x0cHOrXry+84V9//XXz5k3m0LQQc/z48X379lVKXl24cOHw4cNcLpeZk5qa
eufOnTt37gwePHj06NHKuigykS+TKYGerT59+rRt27afP38OHjxYI+cih6Ki
otWrV0dFRTFzSkpKvn///v379+fPn9+8eXPr1q3KPaKrqyuHw+Hz+SjpAAAA
LaTVbTeqVq06ceJEQsihQ4dGjhw5evToU6dO6ejoTJ06lf7sTAhJT08/dOiQ
n5/fkSNHIiMjBfbA4XDYb2jl621N+FyknMmuBVO/fn1p6pQWFRUtWbKE/QbO
VlhYuG3bNvrALeFYhJCXL1/SYg7G7du3RfaKeujQIfarOJWfn79hwwYF+4PI
y8tbtGgRu5iDjc/nnzp1SiND/cmdydTdu3eFu9LIzs4WOJe8vLx169YJ5600
pI8xLffy5UsaRbSMw9bW1tHRkRASERGh6aSB9mK+QQRqJQiIjo6mE0wJmjT2
7t3LfgNny8nJ8ff3F65kl5OTw74hFBQUbNiwgRZzUHw+/8aNG8I7fPToEVPM
wV75wIEDr1+/Vjyjzp07FxAQwC7mYDt79qymejaVI5Op5ORk9ihvjOPHj9PC
r3Lh9OnT7GIONTAxMaG3VuGnLwAAAI3T6tYrhJBff/3V1tb29OnT0dHRHA7H
xcXFx8enUaNGhJDv37+fP3+eDgfYqVOngQMHsn+tLSoqoq1XuFxu7969z58/
36JFi5ycnEWLFrVo0WLUqFHlovUKISQhIeHcuXN3794tLS3lcDjW1tZpaWn6
+vomJiYfPnxYs2aNk5PT4MGDO3TowPQ5kpiYyGxeo0YNaY5y9OhR5i3a3Nx8
2rRpLVq0SE9PDwgIoD9g8vn8Xbt2NW3aVGDIGxsbmy1btkRGRm7fvp3OqV27
9tq1a8PCwg4dOkQIyc/PT05OFqg/QggpLCx0d3efPHmyubn5v//+y7yup6am
3rhxo0+fPnLn2IEDB5KTk5lzmTp1aosWLYqLi+/du8c8nZ8+fdrT05PGQJ8+
fZjDsSsMN2zYcNOmTZIPxEzPnDnzy5cvKspkJsc6dOgwceJELpf7999/Mw2U
Hj9+zB4/9eHDh1lZWXS6Tp06kydPrl27to6OTnp6empq6qtXrx4/fixQeCFH
jGk5WqJhaGjYuHFjOqdly5bfvn37+PFjZmamhIYJUJkx5bYia0kwaMM9Qkit
WrWk33NYWBid7tGjR79+/WrUqFFQUPD8+fNDhw5lZGTk5+cfOXJkzpw57K1K
S0u7d+8+duzY5OTk1atXZ2VlxcTEeHh4TJ06tbCwcOXKlcnJySKLdO/cuWNl
ZTVu3Dh3d3cDA4PY2NhDhw69e/eOFnbs2rVLkVz6+vVrUFAQIURXV7dnz57d
unWrXr26vr5+amrq3bt3Q0JCiouLg4KCunbtSiu82Nvbs3usHD16dGZmZuvW
rZcuXSr5QN26devWrRudZhrmKD2TqZCQEHNz83HjxrVo0UJHR+fDhw///PNP
SkoKl8sNDw8X1xZJpWQ9ffLf0aY4HE7//v27detma2urq6ublpaWnJwcERFB
Oz5jyH1dBLi4uCQkJPz8+TMjI0O4ASYAAIAGlYP3lmbNmq1fv/7MmTOnT59e
s2ZNo0aNPn78uH79+ilTpty/f/+3337bv3//zJkz2cUcEREREydODAoKatmy
5T///EMfU2rWrLlly5ZZs2bFxsbOnj17y5YtTBMPrZWVlTV79uxbt27xeLwO
HTr8/fff9NHH1NT0wIEDY8eOtbCwiIuL+/PPP9mPLOxaFdKMxZufn3/t2jXm
z5kzZ3p6etL+IxYuXMhkbH5+/tWrVwW2bdKkibW1dceOHZl34NatW1epUqV9
+/bMOiK7j7WwsFi0aJGdnZ2Jicnvv//Orvh6//59uXMsLS3tzp07zJ/Tpk1r
27atoaGhubl5nz59Bg0aROfz+Xw1dxevSCZTRkZGtDaTtbX1mDFj2HvOyMhg
/mSXc3Xp0sXV1dXIyIgeqEmTJqNGjfr777/19fWZdeSLMW1Gq1ITQpo2bcqc
Kf35nc/no1oHiEOLMPT19ZlWkCLl5eURQjgcjuTV2Jg38N69e0+fPt3JyYke
pUuXLmvXrqXV7h48eCBQIY4QMmzYMHNz8/r167dt25aZY2VlZW9v36VLF0JI
SkqK8OF0dHRWr17dsWNHMzMzAwMDV1fX1atX09/e4+LiPn/+rEgunTt3jsfj
cTicRYsW/fHHH/Xr1zc3NzcyMqpZs+bIkSOnTp1KCCksLHz48KGKL5fSMpn8
t91Hp06dzMzMTExM3N3dmU67addg5QKNzPr16/v5+Tk5ORkbGxsYGNjb2zdv
3nzSpEmLFy9WxUGZTtPYXz0AAADaQJMlHVWqVLn4X8KddAjj8/nPnj1bvHjx
/PnzP378OGrUqMDAQD8/P+HeSe3t7e3s7DZt2jRnzhz2Ug6H07Vr17179w4Y
MMDCwkL7f6C2sLCgv6X//fff8+fPp4+qlKGh4YABAw4cOODn59egQQPa6ypV
WFjITLPfacWJiopiNqFdlzGL9PT02HumL5Bs9Fc7XV1dExMT9hx232+5ubnC
B+3QoQMd+5Pq0aMHMx0TEyOywYs0nj9/XlpaSqft7Ow8PT3ZS3v27MlMsztt
VQNFMplq0qQJk8nsSCD/fcCl2I2Vjh8/fvr0aaaGi0jyxZg2e//+Pa3Vwm5c
0KhRo0o11izIgZbJCvdbyVZaWlpSUkII0dfXl75h19u3bwkhOjo67LGNqJo1
a9K+fktKSph2MZSuri7TBY+trS2dYOrH0UV5eXnMHY/RunVrgX6XDQwMmJ4m
3717J3cWMcWIjRo1at26tfAKHTt2pF1QixvlXXXky2TKw8Ojdu3a7DlOTk60
s2eRZUnaiQ5vnJKSIlB9Q6WYX1PEtQwCAADQFG1vvUKVlpbeu3fv/PnzcXFx
Dg4O06ZN69Kli4R3+Jo1a27evFncUmNjY19fX02fk7SEH9rYDA0Nvb29Bcb+
ZJcg0IdyyWJjY5lp4Q7b2HPYa1LMsz4zQcuP2KVIItMg0O0ou7p4UVFRRkYG
HXlHVuyfK4WroFtbWxsYGNAeHLKzs3/8+MG8P6iaIpnMJJ6Z1tXVNTIyYopO
2LWTmjZteuLECTpdWFh49OjRo0ePVqtWrXHjxs2bN/f09GSGwmHIEWPajCnL
YJd06OnpNW3aNCIi4vXr14WFhezPCABVUFBAyqoHp6urq6enx+VyS0pK2K3G
JKO1RRwdHUW2nGrSpAmtj/Dt2zc3NzdmPlOySQgxNjYWN1FcXMxMU7SBpwCm
m9Vv377JnUWJiYm0TsTbt2/pPYFdKs2eZlc0Uw/5Mplq2LCh8CbW1tbJyck0
KsqFkSNHvnv3Lisra+LEiU2aNKlfv37NmjVr1qzp5OSkuu6WmM8L+ycWAAAA
baBQSYeUdSIU+YotLCy8ceNGSEhIampqgwYNFi9e3KZNGw6HQxvcPnjwIDMz
087OrmvXrgMGDNDTU0LBzdChQ4W/sCdNmqRIzxFqxn4+pqOESsbuvVL4GZHd
8ra4uLioqEj4VVky4Z8cCSFMn7KUubk57cKd/pmXlydfSQf7XB48eCDwLC5Q
VSQ7O1ttJR2KZ7I01XMIIY0aNerYseO9e/fYM1NTU2/fvn379m1zc/MJEyZo
cOhENaDtU+j4suz5dKzZ4uLily9fClT2AWCUWaHM1NQ0KyuLz+dnZ2cL3MdE
Ki4upt0DibunMfMFqr+xx6+l3246OjrM9ymzVLhnUJHdJTAzRVaykxJzH+Pz
+ZIzqqioSO6jyEHuTKZENkSieS7y+0s71a1bd+fOnWfPnn306NHz58+fP3/O
nHuvXr2GDh2qinqsclfABAAAUDV1lHQoUgCxd+/e27dvt2jRYvbs2Uzngrm5
uQsXLmQ6d/z+/XtQUFBkZKS/vz/70bDSsre3p0NsEmU0nVXRc4zk8i+l/ABV
5rO4yAbbGqHcTJ4zZ07t2rWDg4OFy7lycnK2bdtmaGhYUV/1ExIS6E+7379/
Z6rrC3jy5ElFPX1QhLGxcWFhYZkFATVq1KDNo+Lj45s0aaLEBMh33xO+e2jD
eEla+wIsMnO0vymrlKpXrz5t2rSpU6empKTEx8dHRUU9ePDg58+fx48f//Ll
iyq66mA+L6goBwAA2kahkg5jY+OMjAxxQ80xbRYU+f7z9vYeMGCAQJPjI0eO
JCQkODs7T5kypVatWh8/fty1a9fr169DQkKYLifZaIcgUh7x9OnTiuSJqo0c
OXLkyJGS16lfv/6VK1fodHR0dHFxseSBZtk/Z2VmZgosZc8xMDCQtUKHOAIH
ysnJYT8Zs6ulUFI+u0tuYy9Anc/i6sxkHR2dwYMHe3t7R0VFRUZGvn37NiYm
hv05PX78uIRXfWliTGtJ0w3Hs2fPeDyeyHcbOV4RteGtEpTC2to6IyOjzHpw
9evXp2NFP3/+XJqSDgMDA9rgRVzvCUyfzbSTI8WJPBDTnETcUaSJZOY+Nnz4
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
+vXrmd/0BBgaGs6ZM6ddu3ZKTJ6fn59wBy5mZmZLliwR13/qtGnTpOnd1tLS
cvPmzeLORTIVlc1R6s9kkRo1aqTZx30VKSoqev36NSHE3NxcXP18IkW1jhkz
ZtCK3NKTYxPQTp06dSKEvHnzhum/U5zRo0f7+fmJ7DyYw+EMGDCA3WcQIWTK
lCkeHh4id2VmZrZy5Uoljnjdrl27Dh06CKfKz8+Ptj0RR8pIHjJkyIQJE8SN
e21hYTFjxozq1auLXNq9e/c6deoo60wFqDOTtdCyZcvEZXvVqlWXL18u4QtU
vutC2wSZmJiIy3YAAAANUqhOByHE3Nx8zZo1Dx8+vH37dnR0dHZ2tqGhYfXq
1Vu0aPHbb7+pqN2mhYXFn3/+efz48cePH2dmZlarVq1Tp05DhgyRPMJIJdSu
XbsWLVrcvHnz2bNncXFx2dnZenp61tbWderU6dy5c/PmzdkrW1hYbNq06cGD
B3fv3qWX0sDAoHr16u7u7n379lX6pXRwcNi+ffvx48efP3+ek5ND+xYZOnQo
uz8OAS4uLjt27AgODn79+nV6erqEZgI2NjabN2+mLck/fvyYnp5eWFhoYmJS
pUoVKyurBg0aNG3aVNzLcO/evWvWrHnjxo3o6Oi0tLSioiIltidXQyZ7eHhs
27btzZs37969S05OzsrKys7O1tXVtbKycnZ2bt++ffv27StkhY4XL17QkGjR
ooWEMSNbt25N28o9fvxY4OdQqm7duvT2QqvlS3P15dgEtFPPnj3PnTvH4/Hu
3r3r7e0teWVvb+/27dvfuHHj+fPnKSkpubm5FhYWTZo06d+/P9PlB8PAwGDZ
smWPHj26devWp0+f6Helvb19y5Yt+/Xrp/TWZHPmzKlfv/7169dTUlJMTU1/
+eUXb2/vMst/pY/kvn37tmvX7sqVK69fv05MTMzLyzMzM6tXr56np2fnzp0l
fBcbGBhs3LgxJCTkyZMnSUlJhYWFSvy8qDmTtU3Lli2bN28eHh5Ov1/y8vJM
TExq1arl4eHRs2dPyc125LguhYWFjx8/JoR06dIFT18AAKCFOLdv367AHXSB
Vhk/fvyPHz/o9Jo1a5Q+3B0AgIJoWaSzs/OOHTs0nRbZPH78eP369YSQJUuW
tGnTRtPJgQruzp0727Zt09HR2bt3r7i6JAAAAJry6dMnhVqvAAAAVCTDhg3j
cDixsbEvX77UdFoAtBSfzz937hwhpEuXLijmAAAA7YSSDgAAgP9Tq1atLl26
EEKOHz+u6bQAaKmHDx/GxcUZGBgMHz5c02kBAAAQDSUdAAAA/5+vr6+JicnH
jx9fvHih6bQAaB0+n0/H2hsyZAh7aHYAAACtomiPpAAAABWJpaWl8KDpAEBx
OJxdu3ZpOhUAAABlQJ0OAAAAAAAAAKg4OLdv39Z0GgAAAAAAAAAAlIOTnZ0t
ckGFH3keAAAAAAAAALRHTk6OyPkxMTEy7adc9tPB4XBk3YTP52s61QAAAAAA
AACgcuinAwAAAAAAAAAqDpR0AAAAAAAAAEDFgZIOAAAAAAAAAKg4Kk5Jh46O
zpgxYy5fvhwXF5eXl8fj8QYPHqzpRAEAAAAAAACAWpWDko6RI0dyOBwTE5PU
1FQJq+3bt+/QoUO9e/euVauWiYmJHL2Wysrf35/D4XA4HF9fX01nEgAAAAAA
AAAQov0lHXFxcadOnSKEjB07tlq1auJWq1mzpp+fnzoTlp+f//fffxNCOBzO
/PnzNZ1PAAAAAAAAAECI9pd0/Pnnn1wuV1dXd+7cuRJWa9u2rY6ODiHkzp07
zZo1o3U6zp49q7qEBQQE/Pz5kxDy22+/NWrUSNP5BAAAAAAAAACEEKKn6QRI
kpaWFhAQQAgZPHiws7OzhDVr1qxJJ9asWfP69WtVJ4zL5W7bto1OL1iwQNP5
BAAAAAAAAAD/R6vrdOzatSs/P59IUZpgYmJCJ5KSktSQsFOnTn39+pUQ0rZt
2/bt22s2lwAAAAAAAACAUUZJx/3792mnm0ePHiWEhIeHe3l52drampmZtW7d
+tixY+I2zMvLW7VqVePGjU1MTOzt7X18fD59+kQIcXV15XA4nTt3LjNl+fn5
u3fvJoT06NHD3d29jNPQ+b8T4fP5asi1zZs304mFCxeq4XAAAAAAAAAAICUZ
Wq8cOXJk7NixPB6P/hkRETFy5MiEhIRFixYJrJmYmNi5c+fo6Gj6Z0FBwalT
p8LCwu7duyf94Q4cOJCWlka0r3nIlStXIiMjCSGurq59+/bVdHIAAAAAAAAA
4P/7v6oQVVhErhcbGzt+/HimmIOxcuXK+Ph49hwej9e/f3+mmIORlpb2xx9/
SJkspiMMd3f37t27l7m+gYEBs6Gqs4yp0LFgwQI1jGULAAAAAAAAANLTIYSI
K91g27ZtW9WqVY8dO5aenp6ZmXnlypU6deoQQoqLi+kosIwjR448e/aMEGJg
8P/au/e4Kst8//+fBSxAWpgHWPrFMzLqmEoyahFfndrSY4vlA0x01JgGCcbS
zBNKng/xTdGELKMhsbRkhxsYYY+p29FmBjWV7+y+hdt+ume1EPIAIYzIIVjA
Wr8/7mbNCpCD3LCAXs8/etyH67rX+77sHz6P674u5507d3777bc1NTVXrlxZ
uHDh2bNnDQZDa2Klpqbm5+dLqz8PsX7eokwD6Tg5OTl//vOfRWTQoEHPP/98
h/4WAAAAAABoKyelzHHv3r3m21VVVWVnZ0+YMEE5nTFjRlZWlnJ68eJF25bK
bikikpyc/Otf/1o5Hjt2bEpKSkVFxX/8x3+0JpYyb8Lb23vOnDnNNNNqtUOG
DHnhhRf+9V//VUSuXbv297//vUPHKy4uTjlYsWKFdSIJAAAAAADoIv759UqD
gwZmzZplLXMoxo8fP3LkSBHJy8uzXqypqbl06ZKI+Pj4WMscVhs3bmxNpuPH
j1++fFlEoqOjHR0d79fs+vXrJpPpm2++2bJli4hUVlYuXbq0Qwfrf/7nfzIz
M0Xk4YcfXrx4cYf+FgAAAAAAeAD/3HulmUU6RCQgIKDxxUGDBolIeXm59crf
/va32tpaEfnlL3/ZuP0vfvEL63awzVDmTej1+vDw8Fa+xldffeXr63vmzJkO
Hazdu3crK5UsWbLE3d29Q38LAAAAAAA8AIcWv1tReHh4NL6o1WpFRCltKKwf
j3h5eTXxYw4OAwYMaP6HLl26pGzRsmzZsl69erXyNXx9ff/yl794e3t33EgV
FhZ+/PHHIuLi4vLqq6923A8BAAAAAIAH5iCtWKRDRBwcHFp+mA2LxdLk9ca7
tzSwc+dOEdHpdC1+ijJ8+HBXV9eJEycePXpURAYNGpSYmNhxI/XWW2/V1NSI
yG9+85uBAwd23A8BAAAAAIAH1tq9V1qpb9++ysGtW7ca3zWbzd99910z3a9d
u5aVlSUiUVFR1kc1o6am5ssvv5w/f/6NGzdE5KmnnnJycuqIYbp3797vfvc7
EXFwcIiOju6InwAAAAAAAO33w5wOW+153M9+9jPlkxZlK9YG/u///b/ff/99
M9137dplsVi0Wu3KlStb/6Mmk+mPf/yjiDg7O3fQbIvf/e53ZWVlIjJ79uyf
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
P2fOnOeee27dunXtr6e0VVxcXH19vUajSUtLCw4Otl4fO3ZsbGzs6NGjX3jh
hYqKioyMjBdffLFB36qqquzs7AkTJiinM2bMyMrKUk4vXryoetRdu3aJiLe3
95w5czp5lAAAAAAA6DpamNPxpz/9qbKyUjl+6KGHXn/99Y4IYbFYPv30UxHR
6XRJSUnWMoeVRqPZuXOni4tLZw6N2WxWUk2bNs22zGE1f/58Nzc3Eblw4ULj
u7NmzbKWORTjx48fOXKkiOTl5akb9fjx45cvXxaR6OhoR0fHzhwlAAAAAAC6
lBYqHbbfrQQEBLi7u3dEiIKCgjt37ojI9OnT+/XrZ+8x+YHBYCgrKxOR7Oxs
JycnJycnR0dHR0dHBwcHBwcHjUbj7OysbOlaWFjYuHtAQEDji4MGDRKR8vJy
daPGxcWJiF6vDw8Pt/ewAQAAAABgTy1UOoqLi63HQ4cObdOjdTpd4y1dlW1Q
G1DKHCKiTHnoIqzvbrFY6uvr6+vrzWaz2WxWFs6wbWmd9mLLw8Oj8UWtVisi
tbW1Kua8dOlSdna2iCxbtqxXr172HjYAAAAAAOyp5RVJrTphmYzOX4lDFQ0K
HwoHhzaMbXvs3LlTRHQ63dKlS+09EgAAAAAA2FkLK5LaTkz49ttv2/ToioqK
Vra0/orBYHiAd+ig+og11bZt2zZv3twRP9F+165dy8rKEpGoqKi+ffvaOw4A
AAAAAHbWwryDiRMnWo/Pnz/f5Gca7Td06FClrHD69OnS0tK2dld2exWRkpIS
FVP5+Pj07t1befGOeOsmKeuJ1tTUtLL9rl27LBaLVqtduXJlp4UEAAAAAKDL
aqHS8dRTT1mXfigvL9+2bVtHhNBoNM8884yIVFZWLl68WNlutoEtW7bc7+9/
Ly8v5UDdkoSjo2NQUJCInDp1KjU1tck2RUVFERERRqNRrR9V1ny9evWq2Wxu
sfGtW7cOHz4sIgsWLBgyZIiK7w4AAAAAQDfVQqWjb9++ixcvtp7u3r07Kirq
8uXLJpOppKTkyy+/fPfddydNmtT6OQj3s2bNGmVz2fT09ICAgIyMjKKiorq6
uuLi4szMzKlTp27fvr3J5TBExN/fXzmIiYk5c+ZMdXW1WqMTExOjLLexcOHC
8PDwzz77rLS0VEl18uTJqKio4cOHf/jhh62pSrTSqFGjROT69evLly83Go0m
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
VYmJidZFN2w5OTklJCQ0eUvxwQcfKN99qG79+vV79+51cXFp8q5erz9w4ICK
m+NGREQoVZsWJSYmlpeXi0hMTExHvDgAAAAAAN1RC5UOBweHI0eO7N+/f8qU
KTqdzt3d/YknnkhNTd2xY0dHpHn55ZeNRuPmzZv9/f09PDy0Wq2Xl1d4eHhu
bu6KFSua6ejn55eTkzNv3jwPDw/Vt2J59dVXjUbjpk2brKk8PT2DgoL279+f
n58fERGh4i+6urqePXt269atEydOdHd3v9+Ta2pq3n77bRHx9/efOnWquu8L
AAAAAED3pbl3716TNzpoigRUkZSU9NJLL4nI0aNHQ0JC7B0HAAAAAID2Uj5c
aMxgMNieZv7hWIMGIbOetT1tYU4HuiCz2fzmm2+KyJgxY4KDg+0dBwAAAACA
LoRKR/eTkZGhFLSio6NV/1QHAAAAAIBuzcneAdBmc+fOvd+GuwAAAAAA/MQx
pwMAAAAAAPQcVDoAAAAAAEDPQaUDAAAAAAD0HFQ6AAAAAABAz0GlAwAAAAAA
9BxUOgAAAAAAQM/RtkrHjRs3NDaqq6vtnR8AAAAAAOCfmNMBAAAAAAB6ju5a
6QgMDNQ0UlFR0fonZGZmKr2OHTtm77cBAAAAAADq6K6Vjp5q4MCBGo0mJCSk
PQ8JCwvTaDRubm7FxcX2fiEAAAAAADoVlY6eJj8//8iRIyKyaNEiT09Pe8cB
AAAAAKBTta3SMXjwYIsNV1dXe+U+ffq0Ncby5csf4AkhISFK92effdZeb9ER
9uzZU1dX5+jouHr1antnAQAAAACgszGno0cpKSk5cOCAiISGhnp7e9s7DgAA
AAAAnY1KR4/yzjvvVFVVicjatWvtnQUAAAAAADtoudJh3aOkserqatUDFRYW
bt26NSAgQK/XOzs7Dx48OCoqymAwqPLwgwcPNn6L1uy9kpeXFx0d7evr26dP
H1dX12HDhoWFhV26dKlxy3PnzimPPXz4sIicPXs2KChIr9frdLrHHnssJSWl
QXuDwWAbpqioSESysrIahIyMjGwxZFVV1b59+0Tk6aef9vPzU/2fBgAAAACA
rq9rzel47733RowYsW3bts8//7y4uLi2tvbmzZvJycljx45V/oa3i4SEhDFj
xuzZsyc3N7esrKympqagoCAlJeXxxx9fv359Mx0/+uijJ5988uTJk8XFxZWV
lTk5OWFhYTt37uygnMnJySUlJcKEDgAAAADAT1gXqnTEx8cvWbKkyXkitbW1
y5Yt64gpJC2Ki4tbtWqVyWRq8u6OHTv27t3b5C2j0RgZGWk2mxtc37JlS0FB
geo56+rq4uPjRcTPzy8wMLDzBwoAAAAAgK6g5UqHdY8Si8Xy7bffdlCOK1eu
xMTEKMeTJ09OS0u7ffu2yWQqKipKT0+fMmWKKr8SHh5ufZejR4+22D43N3fD
hg0iotVqlyxZkpOTU1JSUlFRceXKlQ0bNihbz2zcuPHu3buN+8bHx/fr1y8l
JaW0tPTu3bsnTpwYMWKEiJhMJmUXWIWPj4/tdjYDBgwQkeDgYMuPJScnNx81
NTU1Pz9fRKzDCAAAAADAT5CTvQP8YPfu3XV1dSISGhr6ySefODn9EEyv18+Z
M+e5555bt26dRqPp5FRxcXH19fUajSYtLS04ONh6fezYsbGxsaNHj37hhRcq
KioyMjJefPHFBn2rqqqys7MnTJignM6YMSMrK0s5vXjxoupRd+3aJSLe3t5z
5szp5FECAAAAAKDr6BJfr1gslk8//VREdDpdUlKStcxhpdFodu7c6eLi0pmp
zGazkmratGm2ZQ6r+fPnu7m5iciFCxca3501a5a1zKEYP378yJEjRSQvL0/d
qMePH798+bKIREdHOzo6duYoAQAAAADQpXSJSkdBQcGdO3dEZPr06f369bN3
nB8YDIaysjIRyc7OdnJycnJycnR0dHR0dHBwcHBw0Gg0zs7OypauhYWFjbsH
BAQ0vjho0CARKS8vVzdqXFyciOj1+vDwcHsPGwAAAAAA9tSBlQ6dTtd4S9cm
t1BRyhwiokx56CKKi4uVA4vFUl9fX19fbzabzWazsnCGbcvKysrG3T08PBpf
1Gq1IlJbW6tizkuXLmVnZ4vIsmXLevXqZe9hAwAAAADAnrrEnA6rzl+JQxUN
Ch8KB4dOGltl21qdTrd06VJ7jwQAAAAAAHbWgSuSVlRUtLKldfqDwWB4gB/q
oPqINdW2bds2b97cET/RfteuXcvKyhKRqKiovn372jsOAAAAAAB21iXmdAwd
OlQpK5w+fbq0tLSt3ZXdXkWkpKRExVQ+Pj69e/cWkfPnz3faUCjridbU1LSy
/a5duywWi1arXblyZaeFBAAAAACgy+oSlQ6NRvPMM8+ISGVl5eLFi5XtZhvY
smXL/f7+9/LyUg7ULUk4OjoGBQWJyKlTp1JTU5tsU1RUFBERYTQa1fpRd3d3
Ebl69arZbG6x8a1btw4fPiwiCxYsGDJkiIrvDgAAAABAN9UlKh0ismbNGmVz
2fT09ICAgIyMjKKiorq6uuLi4szMzKlTp27fvr3J5TBExN/fXzmIiYk5c+ZM
dXW1WqliYmKU5TYWLlwYHh7+2WeflZaWKqlOnjwZFRU1fPjwDz/8sDVViVYa
NWqUiFy/fn358uVGo9FkMjXTOCEhwWQyaTSaNWvWqBUAAAAAAIBuratUOh55
5BFlq1QRycnJCQ0NHThwoFar1ev1s2fPPnfuXDN9J02a5OvrKyI3btwIDAzs
1auXss9LWFiYbbPY2FjbXWBmz56tXJ81a5btdWWBT8XEiRNff/11EbFYLIcO
HZo+fXr//v2VVEFBQcnJySpWVRQzZsxQDvbt2zdy5EgXFxclVWRkZIOWZWVl
SUlJIjJz5sxx48Z19j8YAAAAAABdUlepdIjIqlWrEhMTrYtu2HJyckpISGjy
luKDDz5QvvtQ3fr16/fu3evi4tLkXb1ef+DAARU3x42IiFCqNi1KTEwsLy8X
kZiYmI54cQAAAAAAuqO2VToafD+iLJ+popdfftloNG7evNnf39/Dw0Or1Xp5
eYWHh+fm5q5YsaKZjn5+fjk5OfPmzfPw8FB9K5ZXX33VaDRu2rTJmsrT0zMo
KGj//v35+fkREREq/qKrq+vZs2e3bt06ceJEd3f3+z25pqbm7bffFhF/f/+p
U6eq+74AAAAAAHRfmnv37jV5o8kpEpcvX54wYYJyrNVqm19FAh0nKSnppZde
EpGjR4+GhITYOw4AAAAAAO2lfLjQmMFgsD3N/MOxBg1CZj1re9q2OR1//etf
rcfWHU/Qycxm85tvvikiY8aMCQ4OtnccAAAAAAC6EKdWtvv+++8vXLiwefNm
6xU/Pz97h/+JysjIUApa0dHRqn+qAwAAAABAt9ZCpcPV1bWmpqbJW88//7y9
w/9EzZ07934b7gIAAAAA8BP3gHuvzJ49e86cOfYODwAAAAAA8COt/XpFRDQa
TZ8+fcaNG/f8889HRkbaOzkAAAAAAEBDLVQ6qqur7Z0QAAAAAACgtR7w6xUA
AAAAAIAuiEoHAAAAAADoOah0AAAAAACAnoNKBwAAAAAA6DmodAAAAAAAgJ6j
hUrHihUrNP+wYsUKe6f9p8DAQE0jFRUVrX9CZmam0uvYsWP2fhsAAAAAAKAO
5nR0LQMHDtRoNCEhIe15SFhYmEajcXNzKy4utvcLAQAAAADQqah09DT5+flH
jhwRkUWLFnl6eto7DgAAAAAAnaq7VjpOnz5t+Yfly5c/wBNCQkKU7s8++6y9
30ZNe/bsqaurc3R0XL16tb2zAAAAAADQ2bprpQNNKikpOXDggIiEhoZ6e3vb
Ow4AAAAAAJ2NSkeP8s4771RVVYnI2rVr7Z0FAAAAAAA7aFul4969ezExMT4+
Pq6urgMGDFi4cOE333yjbqDCwsKtW7cGBATo9XpnZ+fBgwdHRUUZDAZVHn7w
4MHGO7a0Zu+VvLy86OhoX1/fPn36uLq6Dhs2LCws7NKlS41bnjt3Tnns4cOH
ReTs2bNBQUF6vV6n0z322GMpKSkN2hsMBtswRUVFIpKVldUgZGRkZIshq6qq
9u3bJyJPP/20n5+fuv8uAAAAAAB0C22odNTU1EybNm3Xrl3ffPNNTU3Nd999
98knnzz++OP5+flqpXnvvfdGjBixbdu2zz//vLi4uLa29ubNm8nJyWPHjlX+
hreLhISEMWPG7NmzJzc3t6ysrKampqCgICUl5fHHH1+/fn0zHT/66KMnn3zy
5MmTxcXFlZWVOTk5YWFhO3fu7KCcycnJJSUlwoQOAAAAAMBPWBsqHSkpKV99
9VWDi3fu3Nm8ebMqUeLj45csWVJdXd34Vm1t7bJly5q81dHi4uJWrVplMpma
vLtjx469e/c2ectoNEZGRprN5gbXt2zZUlBQoHrOurq6+Ph4EfHz8wsMDOz8
gQIAAAAAoCtoQ6WjvLx8wYIF33333Y0bN2bOnGm9npmZabFY2pnjypUrMTEx
yvHkyZPT0tJu375tMpmKiorS09OnTJmiytuGh4dbd2w5evRoi+1zc3M3bNgg
IlqtdsmSJTk5OSUlJRUVFVeuXNmwYYOrq6uIbNy48e7du437xsfH9+vXLyUl
pbS09O7duydOnBgxYoSImEwmZRdYhY+Pj8XGgAEDRCQ4ONjyY8nJyc1HTU1N
VSbXWIcRAAAAAICfIKfWN9XpdO+//75OpxORuLi448ePK9fv3bt3+/ZtLy+v
9uTYvXt3XV2diISGhn7yySdOTj8E0+v1c+bMee6559atW6fRaDp5dOLi4urr
6zUaTVpaWnBwsPX62LFjY2NjR48e/cILL1RUVGRkZLz44osN+lZVVWVnZ0+Y
MEE5nTFjRlZWlnJ68eJF1aPu2rVLRLy9vefMmdPJowQAAAAAQNfRhjkdTz31
lFLmEJExY8bY1h3KysraE8JisXz66aciotPpkpKSrGUOK41Gs3PnThcXl84c
GrPZrKSaNm2abZnDav78+W5ubiJy4cKFxndnzZplLXMoxo8fP3LkSBHJy8tT
N+rx48cvX74sItHR0Y6Ojp05SgAAAAAAdCltqHTYztpwcnJS/shX1NfXtydE
QUHBnTt3RGT69On9+vWz95j8wGAwKBWc7OxsJycnJycnR0dHR0dHBwcHBwcH
jUbj7OysbOlaWFjYuHtAQEDji4MGDRKR8vJydaPGxcWJiF6vDw8Pt/ewAQAA
AABgT22odCjLUrSeTqdrvKVrk1uoKGUOEVGmPHQRxcXFyoHFYqmvr6+vrzeb
zWazWVk4w7ZlZWVl4+4eHh6NL2q1WhGpra1VMeelS5eys7NFZNmyZb169bL3
sAEAAAAAYE9tqHR0gs5fiUMVTS7I6uDQSWOrbFur0+mWLl1q75EAAAAAAMDO
2rAiaVtVVFS0sqV1+oPBYHiAH+qg+og11bZt29TaSVd1165dy8rKEpGoqKi+
ffvaOw4AAAAAAHbWJeZ0DB06VCkrnD59urS0tK3drZ/VlJSUqJjKx8end+/e
InL+/PlOGwplPdGamppWtt+1a5fFYtFqtStXruy0kAAAAAAAdFldotKh0Wie
eeYZEamsrFy8eLGy3WwDW7Zsud/f/9alUtUtSTg6OgYFBYnIqVOnUlNTm2xT
VFQUERFhNBrV+lF3d3cRuXr1qtlsbrHxrVu3Dh8+LCILFiwYMmSIiu8OAAAA
AEA31SUqHSKyZs0aZXPZ9PT0gICAjIyMoqKiurq64uLizMzMqVOnbt++vcnl
METE399fOYiJiTlz5kx1dbVaqWJiYpTlNhYuXBgeHv7ZZ5+VlpYqqU6ePBkV
FTV8+PAPP/ywNVWJVho1apSIXL9+ffny5Uaj0WQyNdM4ISHBZDJpNJo1a9ao
FQAAAAAAgG6tq1Q6HnnkEWWrVBHJyckJDQ0dOHCgVqvV6/WzZ88+d+5cM30n
TZrk6+srIjdu3AgMDOzVq5eyz0tYWJhts9jYWNtdYGbPnq1cnzVrlu11ZYFP
xcSJE19//XURsVgshw4dmj59ev/+/ZVUQUFBycnJKlZVFDNmzFAO9u3bN3Lk
SBcXFyVVZGRkg5ZlZWVJSUkiMnPmzHHjxnX2PxgAAAAAAF1SV6l0iMiqVasS
ExOb3MvWyckpISGhmW1uP/jgA+W7D9WtX79+7969Li4uTd7V6/UHDhxQcXPc
iIgIpWrTosTExPLychGJiYnpiBcHAAAAAKA76kKVDhF5+eWXjUbj5s2b/f39
PTw8tFqtl5dXeHh4bm7uihUrmuno5+eXk5Mzb948Dw8P1bdiefXVV41G46ZN
m6ypPD09g4KC9u/fn5+fHxERoeIvurq6nj17duvWrRMnTnR3d7/fk2tqat5+
+20R8ff3nzp1qrrvCwAAAABA96W5d+9ekzc6aIoEVJGUlPTSSy+JyNGjR0NC
QuwdBwAAAACA9lI+XGjMYDDYnmb+4ViDBiGznrU97VpzOtAaZrP5zTffFJEx
Y8YEBwfbOw4AAAAAAF0IlY7uJyMjQyloRUdHq/6pDgAAAAAA3ZqTvQOgzebO
nXu/DXcBAAAAAPiJY04HAAAAAADoOah0AAAAAACAnoNKBwAAAAAA6DmodAAA
AAAAgJ6DSgcAAAAAAOg5qHQAAAAAAICeg0oHAAAAAADoOah0AAAAAACAnqO7
VjoCAwM1jVRUVLT+CZmZmUqvY8eO2fttAAAAAACAOrprpaOnGjhwoEajCQkJ
ac9DwsLCNBqNm5tbcXGxvV8IAAAAAIBORaWjp8nPzz9y5IiILFq0yNPT095x
AAAAAADoVN210nH69GnLPyxfvvwBnhASEqJ0f/bZZ+39Nmras2dPXV2do6Pj
6tWr7Z0FAAAAAIDO1l0rHWhSSUnJgQMHRCQ0NNTb29vecQAAAAAA6GxUOnqU
d955p6qqSkTWrl1r7ywAAAAAANhBqyodFoslLS0tNDR06NChrq6uDz/88COP
PPLKK6/893//t+qBCgsLt27dGhAQoNfrnZ2dBw8eHBUVZTAYVHn4wYMHG+/Y
0pq9V/Ly8qKjo319ffv06ePq6jps2LCwsLBLly41bnnu3DnlsYcPHxaRs2fP
BgUF6fV6nU732GOPpaSkNGhvMBhswxQVFYlIVlZWg5CRkZEthqyqqtq3b5+I
PP30035+fqr/0wAAAAAA0PW1XOm4deuWv7//vHnzMjIyvv3225qamnv37n39
9dfvvvuur6/vpk2bVEzz3nvvjRgxYtu2bZ9//nlxcXFtbe3NmzeTk5PHjh2r
/A1vFwkJCWPGjNmzZ09ubm5ZWVlNTU1BQUFKSsrjjz++fv36Zjp+9NFHTz75
5MmTJ4uLiysrK3NycsLCwnbu3NlBOZOTk0tKSoQJHQAAAACAn7AWKh13796d
OnVqk5MXRMRsNsfGxqpV7IiPj1+yZEl1dXXjW7W1tcuWLWvyVkeLi4tbtWqV
yWRq8u6OHTv27t3b5C2j0RgZGWk2mxtc37JlS0FBgeo56+rq4uPjRcTPzy8w
MLDzBwoAAAAAgK6ghUrHypUrjUajcty/f//09PTKyso7d+7s27fP2dlZuf7G
G298+eWX7cxx5cqVmJgY5Xjy5MlpaWm3b982mUxFRUXp6elTpkxR5W3Dw8Ot
O7YcPXq0xfa5ubkbNmwQEa1Wu2TJkpycnJKSkoqKiitXrmzYsMHV1VVENm7c
ePfu3cZ94+Pj+/Xrl5KSUlpaevfu3RMnTowYMUJETCaTsguswsfHx2JjwIAB
IhIcHGz5seTk5Oajpqam5ufni4h1GAEAAAAA+AlqrtJx8+ZNZbEJxfvvvz9n
zhw3N7f+/fsvXbrU+omE2Wx+66232plj9+7ddXV1IhIaGvr555+HhoYOHDhQ
q9Xq9fo5c+ZcvHgxJiZGo9F08ujExcXV19drNJq0tLR333138uTJ/fr1e+ih
h8aOHRsbG/v++++LSEVFRUZGRuO+VVVVp06dWrhwYd++fR9++OEZM2ZkZWUp
ty5evKh61F27domIt7f3nDlzOnmUAAAAAADoOpqrdJw4cUKpPojIiBEjnnvu
Odu7v/3tb63Hn376aXtCWCwW5Qk6nS4pKcnJyalBA41Gs3PnThcXl84cGrPZ
rKSaNm1acHBw4wbz5893c3MTkQsXLjS+O2vWrAkTJtheGT9+/MiRI0UkLy9P
3ajHjx+/fPmyiERHRzs6OnbmKAEAAAAA0KU0V+n44osvrMeTJ09ucHfw4MHK
5xsicufOHeXTiQdTUFBw584dEZk+fXq/fv3sPSY/MBgMZWVlIpKdne3k5OTk
5OTo6Ojo6Ojg4ODg4KDRaJydnZUtXQsLCxt3DwgIaHxx0KBBIlJeXq5u1Li4
OBHR6/Xh4eH2HjYAAAAAAOypuUqHUn1QpKWlWf/ad/gH2yVCi4uLG3TX6XSN
t3RtcgsV6w8pUx66COsbWSyW+vr6+vp6s9lsNpuVhTNsW1ZWVjbu7uHh0fii
VqsVkdraWhVzXrp0KTs7W0SWLVvWq1cvew8bAAAAAAD25NTMPdu/55W/9ptp
fO/evfan6fyVOFTRoPChcHBoeQdfVSjb1up0uqVLl9p7JAAAAAAAsLPmKh1t
+pCk8XaqFRUVrexrnf5gMBge4B06qD5iTbVt27bNmzd3xE+037Vr15SFTqOi
ovr27WvvOAAAAAAA2Flz8w5sF9R85ZVXLM0KDAx84BBDhw5VygqnT58uLS1t
a3frciElJSUqDo2Pj0/v3r1F5Pz58yo+tnnKeqI1NTWtbL9r1y6LxaLValeu
XNlpIQEAAAAA6LKaq3T867/+q3W6RFZWlurraFppNJpnnnlGRCorKxcvXmzd
8MXWli1b7vf3v5eXl3KgbknC0dExKChIRE6dOpWamtpkm6KiooiICKPRqNaP
uru7i8jVq1cbz5Fp7NatW8o2wAsWLBgyZIiK7w4AAAAAQDfVXKXDx8fHurPs
t99+GxAQ8O///u+3b9+uq6urqKgwGo0XLlz43e9+96tf/Wr16tXtzLFmzRpl
c9n09PSAgICMjIyioqK6urri4uLMzMypU6du3769yeUwRMTf3185iImJOXPm
jO06qe0UExOjLLexcOHC8PDwzz77rLS0VEl18uTJqKio4cOHf/jhh62pSrTS
qFGjROT69evLly83Go0mk6mZxgkJCSaTSaPRrFmzRq0AAAAAAAB0ay2smvnu
u+9aJwtcvnz5V7/6lZeXl1ardXd3Hzly5BNPPPHyyy//+7//u7Iba3s88sgj
ylapIpKTkxMaGjpw4ECtVqvX62fPnn3u3Llm+k6aNMnX11dEbty4ERgY2KtX
L2Wfl7CwMNtmsbGxtrvAzJ49W7k+a9Ys2+vKAp+KiRMnvv766yJisVgOHTo0
ffr0/v37K6mCgoKSk5NVrKooZsyYoRzs27dv5MiRLi4uSqrIyMgGLcvKypKS
kkRk5syZ48aNUzcGAAAAAADdVAuVjgEDBpw/f/6JJ57ohCirVq1KTEy0Lrph
y8nJKSEhoclbig8++ED57kN169ev37t3r4uLS5N39Xr9gQMHVNwcNyIiQqna
tCgxMVH5nigmJqYjXhwAAAAAgO6o5Z1QhwwZcv78+f/8z/+MiIj4+c9/3qdP
Hycnp/79+48ePfqXv/zl2rVrT5w48dZbb6mS5uWXXzYajZs3b/b39/fw8NBq
tV5eXuHh4bm5uStWrGimo5+fX05Ozrx58zw8PFTfiuXVV181Go2bNm2ypvL0
9AwKCtq/f39+fn5ERISKv+jq6nr27NmtW7dOnDjR3d39fk+uqal5++23RcTf
33/q1Knqvi8AAAAAAN2X5t69e03e6KApElBFUlLSSy+9JCJHjx4NCQmxdxwA
AAAAANrrfhuhGAwG29PMPxxr0CBk1rO2py3P6UBXYzab33zzTREZM2ZMcHCw
veMAAAAAANCFUOnofjIyMpSCVnR0tOqf6gAAAAAA0K052TsA2mzu3Ln323AX
AAAAAICfOOZ0AAAAAACAnoNKBwAAAAAA6DmodAAAAAAAgJ6DSgcAAAAAAOg5
qHQAAAAAAICeg0oHAAAAAADoOah0AAAAAACAnoNKBwAAAAAA6Dm6a6UjMDBQ
00hFRUXrn5CZman0OnbsmL3fBgAAAAAAqKO7Vjp6qoEDB2o0mpCQkPY8JCws
TKPRuLm5FRcX2/uFAAAAAADoVFQ6epr8/PwjR46IyKJFizw9Pe0dBwAAAACA
TtVdKx2nT5+2/MPy5csf4AkhISFK92effdbeb6OmPXv21NXVOTo6rl692t5Z
AAAAAADobN210oEmlZSUHDhwQERCQ0O9vb3tHQcAAAAAgM5GpaNHeeedd6qq
qkRk7dq19s4CAAAAAIAdtFzp+PLLL2NjY2fNmvXoo496eXk5Ozu7u7sPHz48
ODj44MGDNTU16gYqLCzcunVrQECAXq93dnYePHhwVFSUwWBQ5eEHDx5svGNL
a/ZeycvLi46O9vX17dOnj6ur67Bhw8LCwi5dutS45blz55THHj58WETOnj0b
FBSk1+t1Ot1jjz2WkpLSoL3BYLANU1RUJCJZWVkNQkZGRrYYsqqqat++fSLy
9NNP+/n5qfvvAgAAAABAt+DU/O3CwsKJEyc2uFhbW1tRUZGfn/8f//Efb731
1vHjx728vFRJ8957761ataq6utp65ebNm8nJyYcOHYqPj3/llVfsMkYJCQmv
vfaayWSyXikoKEhJSUlJSVm3bt0bb7xxv44fffTRokWLzGazcpqTkxMWFvbt
t9++9tprHZEzOTm5pKREmNABAAAAAPgJa+/XK1999dWLL76oSpT4+PglS5bY
ljmsamtrly1b1uStjhYXF7dq1SrbMoetHTt27N27t8lbRqMxMjLSWuaw2rJl
S0FBgeo56+rq4uPjRcTPzy8wMLDzBwoAAAAAgK6ghUqHRqMZN27cmjVrfv/7
33/xxRc3btyoqam5c+fOv/3bvz388MNKm5MnT167dq2dOa5cuRITE6McT548
OS0t7fbt2yaTqaioKD09fcqUKaq8bXh4uHXHlqNHj7bYPjc3d8OGDSKi1WqX
LFmSk5NTUlJSUVFx5cqVDRs2uLq6isjGjRvv3r3buG98fHy/fv1SUlJKS0vv
3r174sSJESNGiIjJZFJ2gVX4+PhYbAwYMEBEgoODLT+WnJzcfNTU1NT8/HwR
sQ4jAAAAAAA/QS18vTJgwIDLly83uNi/f/8FCxZ8/fXXsbGxypXPPvts9OjR
7cmxe/fuuro6EQkNDf3kk0+cnH4Iptfr58yZ89xzz61bt06j0XTy6MTFxdXX
12s0mrS0tODgYOv1sWPHxsbGjh49+oUXXqioqMjIyGg8saWqqio7O3vChAnK
6YwZM7KyspTTixcvqh51165dIuLt7T1nzpxOHiUAAAAAALqOB/96pX///tbj
r7/+uj0hLBbLp59+KiI6nS4pKcla5rDSaDQ7d+50cXHpzKExm81KqmnTptmW
Oazmz5/v5uYmIhcuXGh8d9asWdYyh2L8+PEjR44Ukby8PHWjHj9+XClIRUdH
Ozo6duYoAQAAAADQpTi12KK8vPzjjz/+z//8z6+//rqoqKiysrLx2hNNfr7R
egUFBXfu3BGR6dOn9+vXz95j8gODwVBWViYi2dnZSvHFYrE0+K+isLCwcfeA
gIDGFwcNGvTNN9+Ul5erGzUuLk5E9Hp9eHi4vYcNAAAAAAB7aqHS8ec//3nu
3LlKGaIZlZWVjS/qdLrG1995553GW6hYn69MeegiiouLlQOLxVJfX9/W1/fw
8Gh8UavVikhtba2KOS9dupSdnS0iy5Yt69Wrl/0GDAAAAAAA+2uu0lFYWBgS
EqLMa2he41keD6bzV+JQhe38DisHh/bua9NKO3fuFBGdTrd06VJ7jwQAAAAA
AHbW3F/jH3/8sW2ZY+7cuRcuXCgtLa2rq7NYLNblSO+noqLC0kjjCR1iM/3B
YDA8wDt0UH3Emmrbtm2WZv35z3/uiACtce3ataysLBGJiorq27evvWIAAAAA
ANBFNDen48qVK9bjQYMGHTlyxLam8Le//U2tEEOHDvXw8Lhz587p06dLS0vb
ulSHsturiJSUlOh0OrVS+fj49O7d+969e+fPn1frmS1S1hOtqalpZftdu3ZZ
LBatVrty5cpOCwkAAAAAQJfV3JwO229SHn74Ydsyx+3btzMyMtQKodFonnnm
GRGprKxcvHixst1sA1u2bLnf3/9eXl7KgbolCUdHx6CgIBE5depUampqk22K
iooiIiKMRqNaP+ru7i4iV69ebc0HQbdu3Tp8+LCILFiwYMiQISq+OwAAAAAA
3VRzlY5HHnnEevz1119v3779zp07f//730+ePPkv//IvFRUVKuZYs2aNsr9J
enp6QEBARkZGUVFRXV1dcXFxZmbm1KlTt2/f3uRyGCLi7++vHMTExJw5c6a6
ulqtVDExMcpyGwsXLgwPD//ss8+Uj3eKi4tPnjwZFRU1fPjwDz/8UK1lSkRk
1KhRInL9+vXly5cbjUaTydRM44SEBJPJpNFo1qxZo1YAAAAAAAC6teYqHc8/
/7z1wxAR2bJli6enZ79+/YKCgq5evaruipuPPPKIslWqiOTk5ISGhg4cOFCr
1er1+tmzZ587d66ZvpMmTfL19RWRGzduBAYG9urVS6PRaDSasLAw22axsbEa
G7Nnz1auz5o1y/a6ssCnYuLEia+//rqIWCyWQ4cOTZ8+vX///kqqoKCg5ORk
FasqihkzZigH+/btGzlypIuLi5IqMjKyQcuysrKkpCQRmTlz5rhx49SNAQAA
AABAN9VctWLw4MEHDx50dnZufOvnP//52rVr1Y2yatWqxMRE29qKlZOTU0JC
QpO3FB988IHy3Yfq1q9fv3fvXhcXlybv6vX6AwcOqLg5bkREhFK1aVFiYmJ5
ebmIxMTEdMSLAwAAAADQHbUwL+NXv/rVl19++dvf/tbHx8fV1fWhhx569NFH
d+7c+cUXXwwYMED1NC+//LLRaNy8ebO/v7+Hh4dWq/Xy8goPD8/NzV2xYkUz
Hf38/HJycubNm+fh4aH6Viyvvvqq0WjctGmTNZWnp2dQUND+/fvz8/MjIiJU
/EVXV9ezZ89u3bp14sSJ7u7u93tyTU3N22+/LSL+/v5Tp05V930BAAAAAOi+
NPfu3WvyRgdNkYAqkpKSXnrpJRE5evRoSEiIveMAAAAAANBeyocLjRkMBtvT
zD8ca9AgZNaztqdqrrWBzmE2m998800RGTNmTHBwsL3jAAAAAADQhVDp6H4y
MjKUglZ0dLTqn+oAAAAAANCtOdk7ANps7ty599twFwAAAACAnzjmdAAAAAAA
gJ6DSgcAAAAAAOg5qHQAAAAAAICeg0oHAAAAAADoOah0AAAAAACAnoNKBwAA
AAAA6DmodAAAAAAAgJ6DSgcAAAAAAOg5Wqh0DB8+XPMPp0+ftnfafwoMDNQ0
UlFR0fonZGZmKr2OHTtm77cBAAAAAADqYE5H1zJw4ECNRhMSEtKeh4SFhWk0
Gjc3t+LiYnu/EAAAAAAAnYpKR0+Tn59/5MgREVm0aJGnp6e94wAAAAAA0Km6
a6Xj9OnTln9Yvnz5AzwhJCRE6f7ss8/a+23UtGfPnrq6OkdHx9WrV9s7CwAA
AAAAna27VjrQpJKSkgMHDohIaGiot7e3veMAAAAAANDZqHT0KO+8805VVZWI
rF271t5ZAAAAAACwg7ZVOm7duhUVFeXl5eXq6urt7f3KK6/cvn1b3UCFhYVb
t24NCAjQ6/XOzs6DBw+OiooyGAyqPPzgwYONd2xpzd4reXl50dHRvr6+ffr0
cXV1HTZsWFhY2KVLlxq3PHfunPLYw4cPi8jZs2eDgoL0er1Op3vsscdSUlIa
tDcYDLZhioqKRCQrK6tByMjIyBZDVlVV7du3T0SefvppPz8/df9dAAAAAADo
FtpQ6bh27dqjjz6anJx8+/btmpqavLy8d999d9y4cbm5uWqlee+990aMGLFt
27bPP/+8uLi4trb25s2bycnJY8eOVf6Gt4uEhIQxY8bs2bMnNze3rKyspqam
oKAgJSXl8ccfX79+fTMdP/rooyeffPLkyZPFxcWVlZU5OTlhYWE7d+7soJzJ
ycklJSXChA4AAAAAwE9YGyod0dHRjXctLS0tDQkJqa6ubn+U+Pj4JUuWNPmo
2traZcuWqfIrbRUXF7dq1SqTydTk3R07duzdu7fJW0ajMTIy0mw2N7i+ZcuW
goIC1XPW1dXFx8eLiJ+fX2BgYOcPFAAAAAAAXUEbKh3V1dUzZswwGo1lZWXb
t2+3Xs/Ly/vggw/amePKlSsxMTHK8eTJk9PS0m7fvm0ymYqKitLT06dMmaLK
24aHh1t3bDl69GiL7XNzczds2CAiWq12yZIlOTk5JSUlFRUVV65c2bBhg6ur
q4hs3Ljx7t27jfvGx8f369cvJSWltLT07t27J06cGDFihIiYTCZlF1iFj4+P
xcaAAQNEJDg42PJjycnJzUdNTU3Nz88XEeswAgAAAADwE9SGSoenp2daWtqI
ESN69+69adOm0NBQ6y3bP90fzO7du+vq6kQkNDT0888/Dw0NHThwoFar1ev1
c+bMuXjxYkxMjEaj6eTRiYuLq6+v12g0aWlp77777uTJk/v16/fQQw+NHTs2
Njb2/fffF5GKioqMjIzGfauqqk6dOrVw4cK+ffs+/PDDM2bMyMrKUm5dvHhR
9ai7du0SEW9v7zlz5nTyKAEAAAAA0HW0odIxf/58nU5nPbVdI/Ovf/1r4880
Ws9isXz66aciotPpkpKSnJycGjTQaDQ7d+50cXHpzKExm81KqmnTpgUHBzc5
IG5ubiJy4cKFxndnzZo1YcIE2yvjx48fOXKkiOTl5akb9fjx45cvXxaR6Oho
R0fHzhwlAAAAAAC6lDZUOiZNmnS/06qqqsLCwgcOUVBQcOfOHRGZPn16v379
7D0mPzAYDGVlZSKSnZ3t5OTk5OTk6Ojo6Ojo4ODg4OCg0WicnZ2VLV2bfPeA
gIDGFwcNGiQi5eXl6kaNi4sTEb1eHx4ebu9hAwAAAADAntr29Yrtaf/+/R0c
/tldKQrY0ul0jbd0bXILFaXMISLKlIcuwrr8qsViqa+vr6+vN5vNZrNZWTjD
tmVlZWXj7h4eHo0varVaEamtrVUx56VLl7Kzs0Vk2bJlvXr1svewAQAAAABg
T22odDS/TIYqi2h0/kocqmhQ+FDYloE6lLJtrU6nW7p0qb1HAgAAAAAAO3Nq
fdPvvvvO9rSkpMR2bQ53d/cG7SsqKlr5ZOv0B4PB8ADv0EH1EWuqbdu2bd68
uSN+ov2uXbumLHQaFRXVt29fe8cBAAAAAMDO2jDv4K9//avt6X/9139Zj93c
3P7X//pfDxxi6NChSlnh9OnTpaWlbe2u7PYqIiUlJSoOjY+PT+/evUXk/Pnz
Kj62ecp6ojU1Na1sv2vXLovFotVqV65c2WkhAQAAAADostpQ6UhNTbWdprF/
/37r8S9+8Yv2fKyh0WieeeYZEamsrFy8eLGy3WwDW7Zsud/f/15eXsqBuiUJ
R0fHoKAgETl16lRqamqTbYqKiiIiIoxGo1o/qkyNuXr1amv2srl169bhw4dF
ZMGCBUOGDFHx3QEAAAAA6KbaUJ4oLi6eO3fu9evXy8vLY2Nj09PTrbfmzZvX
zhxr1qxRNpdNT08PCAjIyMgoKiqqq6srLi7OzMycOnXq9u3bm1wOQ0T8/f2V
g5iYmDNnzlRXV6s1OjExMUoFZ+HCheHh4Z999llpaamS6uTJk1FRUcOHD//w
ww/bs8NuA6NGjRKR69evL1++3Gg0mkymZhonJCSYTCaNRrNmzRq1AgAAAAAA
0K21odKh0+lOnjw5YsSI3r17b9q0yXp96NChL774YjtzPPLII8pWqSKSk5MT
Gho6cOBArVar1+tnz5597ty5ZvpOmjTJ19dXRG7cuBEYGNirVy9ln5ewsDDb
ZrGxsba7wMyePVu5PmvWLNvrygKfiokTJ77++usiYrFYDh06NH369P79+yup
goKCkpOTVayqKGbMmKEc7Nu3b+TIkS4uLkqqyMjIBi3LysqSkpJEZObMmePG
jVM3BgAAAAAA3VQbKh1xcXGNd059+OGHf//736uyuemqVasSExOti27YcnJy
SkhIaPKW4oMPPmi8JKoq1q9fv3fvXhcXlybv6vX6AwcOqLg5bkREhFK1aVFi
YmJ5ebmIxMTEdMSLAwAAAADQHbWh0jFq1KgvvvgiMjJy8ODBzs7OgwcPjoyM
zM3N/cUvfqFWmpdfftloNG7evNnf39/Dw0Or1Xp5eYWHh+fm5q5YsaKZjn5+
fjk5OfPmzfPw8FB9K5ZXX33VaDRu2rTJmsrT0zMoKGj//v35+fkREREq/qKr
q+vZs2e3bt06ceJEd3f3+z25pqbm7bffFhF/f/+pU6eq+74AAAAAAHRfmnv3
7jV5o4OmSEAVSUlJL730kogcPXo0JCTE3nEAAAAAAGgv5cOFxgwGg+1p5h+O
NWgQMutZ29MH3zAF9mI2m998800RGTNmTHBwsL3jAAAAAADQhVDp6H4yMjKU
glZ0dLTqn+oAAAAAANCtOdk7ANps7ty599twFwAAAACAnzjmdAAAAAAAgJ6D
SgcAAAAAAOg5qHQAAAAAAICeg0oHAAAAAADoOah0AAAAAACAnoNKBwAAAAAA
6DnaVul49NFHNf+Qmppq7/AAAAAAAAA/wpwOAAAAAADQc3TXSkdgYKCmkYqK
itY/ITMzU+l17Ngxe78NAAAAAABQR3etdPRUAwcO1Gg0ISEh7XlIWFiYRqNx
c3MrLi629wsBAAAAANCpqHT0NPn5+UeOHBGRRYsWeXp62jsOAAAAAACdyqlN
rb/88kt7B/7B6dOnrccrVqzYu3dvW58QEhJisVjs/R7q27NnT11dnaOj4+rV
q+2dBQAAAACAzsacjh6lpKTkwIEDIhIaGurt7W3vOAAAAAAAdDYqHT3KO++8
U1VVJSJr1661dxYAAAAAAOyg5UrH8OHDNU1JTU3tiECFhYVbt24NCAjQ6/XO
zs6DBw+OiooyGAyqPPzgwYONX6Q1e6/k5eVFR0f7+vr26dPH1dV12LBhYWFh
ly5datzy3LlzymMPHz4sImfPng0KCtLr9Tqd7rHHHktJSWnQ3mAw2IYpKioS
kaysrAYhIyMjWwxZVVW1b98+EXn66af9/Pw64l8HAAAAAIAurmvN6XjvvfdG
jBixbdu2zz//vLi4uLa29ubNm8nJyWPHjlX+hreLhISEMWPG7NmzJzc3t6ys
rKampqCgICUl5fHHH1+/fn0zHT/66KMnn3zy5MmTxcXFlZWVOTk5YWFhO3fu
7KCcycnJJSUlwoQOAAAAAMBPWBeqdMTHxy9ZsqS6urrxrdra2mXLljV5q6PF
xcWtWrXKZDI1eXfHjh33WwzVaDRGRkaazeYG17ds2VJQUKB6zrq6uvj4eBHx
8/MLDAzs/IECAAAAAKAraLnScf36dcs/+Pr6dlCOK1euxMTEKMeTJ09OS0u7
ffu2yWQqKipKT0+fMmWKKr8SHh5ufZejR4+22D43N3fDhg0iotVqlyxZkpOT
U1JSUlFRceXKlQ0bNri6uorIxo0b796927hvfHx8v379UlJSSktL7969e+LE
iREjRoiIyWRSdoFV+Pj4WGwMGDBARIKDgy0/lpyc3HzU1NTU/Px8EbEOIwAA
AAAAP0Ft22W24+zevbuurk5EQkNDP/nkEyenH4Lp9fo5c+Y899xz69at02g0
nZwqLi6uvr5eo9GkpaUFBwdbr48dOzY2Nnb06NEvvPBCRUVFRkbGiy++2KBv
VVVVdnb2hAkTlNMZM2ZkZWUppxcvXlQ96q5du0TE29t7zpw5nTxKAAAAAAB0
HV3i6xWLxfLpp5+KiE6nS0pKspY5rDQazc6dO11cXDozldlsVlJNmzbNtsxh
NX/+fDc3NxG5cOFC47uzZs2yljkU48ePHzlypIjk5eWpG/X48eOXL18Wkejo
aEdHx84cJQAAAAAAupQuUekoKCi4c+eOiEyfPr1fv372jvMDg8FQVlYmItnZ
2U5OTk5OTo6Ojo6Ojg4ODg4ODhqNxtnZWdnStbCwsHH3gICAxhcHDRokIuXl
5epGjYuLExG9Xh8eHm7vYQMAAAAAwJ46sNKh0+kab+na5BYqSplDRJQpD11E
cXGxcmCxWOrr6+vr681ms9lsVhbOsG1ZWVnZuLuHh0fji1qtVkRqa2tVzHnp
0qXs7GwRWbZsWa9evew9bAAAAAAA2FOXmNNh1fkrcaiiQeFD4eDQSWOrbFur
0+mWLl1q75EAAAAAAMDOOnBF0oqKila2tE5/MBgMD/BDHVQfsabatm3b5s2b
O+In2u/atWtZWVkiEhUV1bdvX3vHAQAAAADAzrrEnI6hQ4cqZYXTp0+Xlpa2
tbuy26uIlJSUqJjKx8end+/eInL+/PlOGwplPdGamppWtt+1a5fFYtFqtStX
ruy0kAAAAAAAdFldotKh0WieeeYZEamsrFy8eLGy3WwDW7Zsud/f/15eXsqB
uiUJR0fHoKAgETl16lRqamqTbYqKiiIiIoxGo1o/6u7uLiJXr141m80tNr51
69bhw4dFZMGCBUOGDFHx3QEAAAAA6Ka6RKVDRNasWaNsLpuenh4QEJCRkVFU
VFRXV1dcXJyZmTl16tTt27c3uRyGiPj7+ysHMTExZ86cqa6uVitVTEyMstzG
woULw8PDP/vss9LSUiXVyZMno6Kihg8f/uGHH7amKtFKo0aNEpHr168vX77c
aDSaTKZmGickJJhMJo1Gs2bNGrUCAAAAAADQrbVQ6XB1dbXdOeWrr76y3lqw
YIHtra1bt7YnxyOPPKJslSoiOTk5oaGhAwcO1Gq1er1+9uzZ586da6bvpEmT
fH19ReTGjRuBgYG9evVSIoWFhdk2i42NtQ08e/Zs5fqsWbNsrysLfComTpz4
+uuvi4jFYjl06ND06dP79++vpAoKCkpOTlaxqqKYMWOGcrBv376RI0e6uLgo
qSIjIxu0LCsrS0pKEpGZM2eOGzdO3RgAAAAAAHRTXWVOh4isWrUqMTHRuuiG
LScnp4SEhCZvKT744APluw/VrV+/fu/evS4uLk3e1ev1Bw4cUHFz3IiICKVq
06LExMTy8nIRiYmJ6YgXBwAAAACgC3J1dfnxacNaQReqdIjIyy+/bDQaN2/e
7O/v7+HhodVqvby8wsPDc3NzV6xY0UxHPz+/nJycefPmeXh4qL4Vy6uvvmo0
Gjdt2mRN5enpGRQUtH///vz8/IiICBV/0dXV9ezZs1u3bp04caK7u/v9nlxT
U/P222+LiL+//9SpU9V9XwAAAAAAuqyhg3+0TuXQIYMbNNDcu3evyZ4dNEUC
qkhKSnrppZdE5OjRoyEhIfaOAwAAAABAeykfLjRmMBhsT81m89X/+Z+Cb2+I
yNAhg8eMGqWssGlFpaP7MZvNo0ePNhgMY8aM+frrr1WfwwIAAAAAQOdrZaWj
RV3r6xW0RkZGhvLPHB0dTZkDAAAAAABbzOkAAAAAAAD2x5wOAAAAAACAhhx6
9+5t7wwAAAAAAAAq8PPzY04HAAAAAADoOf5/+bQg6djwxAIAAAAASUVORK5C
YII=

---212064758-509512656-1600934797=:11676
Content-Type: image/png; name=patched-icomplete-vertical.png
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.NEB.2.22.394.2009241006373453.11676@HIDDEN>
Content-Description: 
Content-Disposition: attachment; filename=patched-icomplete-vertical.png

iVBORw0KGgoAAAANSUhEUgAABaMAAAFUCAIAAAC2ubeAAACAAElEQVR42u3d
eVgT1/oH8HcIAcTgitHigiJV6oZy3ZBabcVWXAoqelFpRYRate4o7qKlVVxA
raWlglqVqj+lgnUXbYs7VVuhWL0iCCqLCLIvISS/P6Z3bpqEEJKQsHw/j4/P
ZNb3nJkJyZsz5zBisfj169eVlZUEAAAAAAAAANBg8fn85s2bG+fl5SUlJRk6
GAAAAAAAAAAAbd27d89ILBYbOgwAAAAAAAAAAB3IyMgwMnQMAAAAAAAAAAA6
g0wHAAAAAAAAADQexoYOAMDw9uzZExUVxU5Pnjz5s88+M3REoKFly5bdu3dP
bubZs2ebNWumw02gAXn9+rWnp2dpaem2bdsGDhyo8/1fu3Zt3bp1RPTll186
OjoaurjQCDW1a6zxvSdLpVIfH5+UlBRvb++PPvrI0OEAADQVWmU6XF1dCwsL
zczMzp07p7j0wIED33//PRGtXr169OjRhi5pIxEREXH48OHWrVv/+OOPho5F
r86fPx8UFMRO9+nT56uvvjJ0RP/QZM+L3jx79uzjjz9mp11cXFasWGHoiGrN
xcWlvLy8RYsWMTExGu/k4sWLmzdvZqdDQkL69+9v6GLVd99++21paWnv3r2r
S3Po5Lw0UOnp6TNnzlS9jpub26JFi3R1xEmTJr1+/drJySkwMNDQpTeAJlj8
R48effrppzWuFhAQMGLECM0OUVxcPGHCBO6lsbGxhYVFmzZtevfuPWTIEEdH
R4ZhDFsJDMN4eXmtX78+MjLygw8+EAqFho0HAKCJwNMrANAAXL9+nZu+efOm
RCIxdEQGUFpaGhYWZugoGpKUlJTY2FgimjVrlqFjAQB9EIvFr1+/fvLkyalT
p9asWTN79uyHDx8aOih6++23bW1tKyoqDhw4YOhYAACaCjy9AgANwLVr14io
VatW+fn5+fn5SUlJffv2VVxtx44d3LTsQ0kqaLCJoUREROTl5ZmamlZUVBg6
lobh+++/l0gkb7755r/+9a86OsTbb7/9888/G7qg0Jg1tWtMt+/Jqampixcv
/vzzzwcNGmTAQjEM4+HhERgYeOHCBU9PTysrKwMGAwDQRCDTUd8dPHgwLS3t
448/tra2VlxaXl4eExMTFxcXHBxsampq6GCbEJwXfcrPz//rr7+IaPr06fv2
7SsvL79+/brSTEcjlpKSEh0d/cYbb/Tr1+/ChQuGDqcByMzMZBNkH3zwgaFj
qae6dOki+xV6xYoVv/32GxF9//33Xbp0MXR00Ki8++6769evr9NDdO/ePTw8
XCwWFxcXp6WlxcfHnzp1qri4uKKi4ssvv9y/f3+rVq0MWANvv/22ubl5aWlp
VFTUggULDBgJAEATgadX6rX8/PwffvjhypUr3t7eGzduTElJ4RaVlpb+8MMP
Hh4e33777YMHD5rgE+YGhPOiZzdu3GAfV3n77bcdHBzonw+zNBE7d+6USCTz
5s0zMTExdCwNw5kzZyQSCY/He++99wwdCwDoibGxcatWrezt7X19fSMiIjp1
6kT//att2MBMTU2HDx9ORBcuXBCJRIauJwCAxg9tOuq1Vq1affvtt0eOHLl8
+fIvv/zy66+/sr9IFBUVeXh4FBUVEZGNjc20adMUP8oXFRWdOnXq9u3baWlp
JSUl5ubmbdq06dChw8CBA4cOHcr+7Vfq/v37Fy9eTExMzM3NFYvFbdu2bdeu
Xe/evUeOHNmjRw+5lT08PLKzs9np7du39+7dOyoq6tdff83IyKisrLSxsXF1
dXV2djY2/vtKS05Ovnnz5l9//fXy5cv8/PyCggI+n9+iRYvu3bsPHz581KhR
fD6f2/nJkyd3796tGOGff/757rvvys7Zu3evra2tlmXhlJaWHjp0KC4uLicn
p3nz5v/617+8vb1l25pqc15AA2xeo3Pnzm+88cbgwYNv3Ljx/PnztLQ0pQ1q
GqULFy4kJiYOHDjw7bffjo+PN3Q4DcOlS5eIqH///q1bt9btnmU7SObUOC6G
RCL5+eefL1++/Pjx44KCAmNj47Zt23bs2NHR0fHtt99u27at7MrccBuff/75
sGHDYmJiTp06lZGRIRAI+vXrN2XKlF69ehmkVhMTExcuXEj/7Ws8ISEhMjLy
P//5T3l5edeuXSdPnuzs7Cy7/osXLzw9PeV2cv36dbn38LFjxy5fvlzxcJmZ
mdHR0Xfu3MnOzhaJRK1bt+7Xr9+kSZPeeuut6iJk/yrZ29vv3Lmzqqrq0qVL
P/3007NnzxiG6dy58/Dhw93c3GSb2lVVVf3yyy9Xrlx58OBBcXFxixYtOnXq
NGzYsA8//FD1YB95eXmnTp26c+fOixcviouLW7VqNWTIkGnTpnXs2FH74mt2
jRHRjRs3zp8//+DBg4KCAjMzs44dOw4dOnTy5MkWFhZansqGSCgULlu2bMmS
JUR08eLFTz75hPs0okGNyVLn7Ct67733Lly4UFJScuPGjZEjRxq6egAAGjlD
ZjoKCgrc3NzY6ZkzZ3p5eRm6Nuqjrl27rlq1avbs2ceOHTtz5szr16+JSCwW
FxUV9e7de/r06Ur7FU9KSlqzZk1BQQE3p6ioqKioKC0t7fbt219//fWFCxcU
fxkuKSn58ssvb9y4ITszMzMzMzMzISHhyJEjSrfivH79+pNPPnn27Bk35+HD
hw8fPmzZsiX74SwvL8/X11duK7FYXFZWlp2dfePGjRMnTgQFBcl94teMxmWp
rKxcuHDhkydP2Jf5+fmXL1++c+dOWFhY+/bttTwvoIGKioq7d+8S0ZAhQ7j/
iej69etNJNNRUlISFhZmbGyMBs/qe/LkycuXL4moT58+ho6FiKiiomLVqlW/
//47N6eysvL58+fPnz+/ffv2hQsXQkNDq9t227Zt58+fZ6fz8vJ++eWXuLi4
+fPnT5o0ybCFunjxYlBQENc98MOHD7/44ouXL19Onz5dJ/s/fvz4d999JxaL
uTkvX76MjY2NjY2dMWOGj4+P6s3FYvHatWtv377NzUlKSkpKSmrTpg03Htxv
v/22c+fOjIwMbp28vLy8vLyEhITjx48HBgba2dkp3XlMTExoaKjsL/OvXr06
c+bMhQsX5s2bN3HiRH2eCJZIJAoMDLx69So3p7i4+NGjR48ePTp58uSXX37Z
u3fv6rat61NpQP379+/UqdPz588LCgqSk5NlT6jGNabx2e/Tp4+RkZFEIrl5
8yYyHQAAdQ1PrzRsSr9LFxcXr127VjbNoQ6RSLRkyRK51ECtfPPNN7JpDg08
efJk69at2leLNmWJjY3l0hycgoKCffv2qb8T5Dh06LfffmM74GRzHB06dGB7
ENDmWm1YIiIiXr9+PXHiRHSdoL579+6xEyp+/NenQ4cOyaY51Hf16lUuzcGR
SCR79uxhM4CGkpmZuW3bNsVRkPbv38/mmLR05MiR0NBQ2TSHrMjIyBo7qvzu
u+9k0xxKrV+/XjbNISs3N3fFihU5OTmKi44fP75z506lDyCIxeLdu3cb5NmE
nTt3yn5pl1VYWLhixYrqzktdn0qD49Kdjx49kp2vWY1pc/bNzc07d+5MRJq9
GwAAQK3g6ZX6Li0t7Ycffrh8+XJVVZWRkZGlpeWrV6/4fH7z5s2TkpJWr15t
Y2Mzffr0d99918jo77xVXFxcfn4+O929e/clS5bY2NgYGRnl5ua+fPnyzp07
165dU/wqvn///sePH3MvP/jggylTpnTp0qWqqiozM/Pu3bsXLlxQ/QU+Ly+P
z+dPnz591KhR7du3Lyws/PXXX2UTBAzDdOvWbciQIb169erQoUPr1q1btWpV
Wlr622+/hYSElJSUEFF8fPyzZ8/YjwITJ07kfhuRbcrbp0+fr776SkUk2pSl
tLR01KhRn332mVgs3r59O/dB+dq1a1KplNtKg/MCmmEzGqampvb29uycIUOG
pKenP3jw4PXr1zp/MKG+efLkSUxMTOvWrdHqrVa4rzTV/SavjTFjxowZM4ad
5h4zUY3tG5VhmClTpowZM6Z9+/Y8Hu/Vq1eZmZnXr1/Pzc2tbsNLly61bdt2
7ty5gwcPNjU1ffz4cVhYWGJiolQqDQ0NjYiIMEj1EtH//d//WVhYzJ8/f/Dg
wUZGRklJSTt37szMzBSLxVeuXPHw8GBX69ixo2ynp5MmTXr9+rWTk1NgYKCK
naekpISHhxORsbHxuHHjxowZ07FjRz6fn52dHRsb+3//938ikSgiIuKDDz4Q
CARK95CXlxcTE9OqVauPPvrI0dHR0tKysLDwxYsXv/76q1wv0Xw+f/To0e+8
807Pnj0tLCxKS0sfPXq0f//+Bw8eFBUVnThxYu7cubLrP336lBvs2c7OzsPD
o2/fvi1atCguLmYbDMqOaapZ8an219ijR4/OnTvHTo8dO9bd3b1Tp06lpaW3
b98OCwvLy8srLS3du3fvmjVrND6VDRf7iYKIsrKytKyxWp19pXr16pWWlpaT
k5OXl9emTRtD1w0AQGOGTEe9lp+fP2fOnIqKCiMjo/fee2/mzJmXLl06fPiw
QCA4cuRIdHT00aNHU1JSAgMDc3Nzp06dym71/Plzbg/vv/8+1/zSysrKysqq
f//+io1+S0pKoqOjuZeTJ0/+7LPP2Gk+n9+tW7du3bq5u7urjtbIyCgoKGjA
gAHsS0tLy8mTJ/fv359NYRBR69atFVtGtGjRYtSoUWlpaYcOHWLn3Lt3j/tc
ogEty9KsWbNly5axj2fPmTOHy3SUlpbm5eWxT9Zodl5AA2wrXyJycHDg+nAZ
MmTI8ePHpVLpjRs3xo0bZ+gY65BUKmU7Iv3kk0/Mzc0NHU5DwrYv4/P5LVu2
NHQsRETFxcVE1LNnT9mvzR07duzYsePAgQNVbMjj8bZu3WpjY8O+7N2797Zt
2z755JP09PSUlJTHjx+/+eabBilRRUXF7t27ucAGDx4cGBg4e/ZsInrw4IGW
O//hhx8kEgnDMAEBAU5OTtx8a2vr2bNnd+7cefPmzWVlZXFxcWPHjlW6h2fP
nrVt2zY0NFQoFLJz2rZt27Zt2379+smuNmzYsLlz51paWnJzLCwsBg4caGdn
99FHH+Xn53ONgzhHjx6tqqoiohEjRqxbt47H47HzW7Vq9c477wwfPnzv3r36
b9bHfWl3dXVdvHgxO92yZcv333+/Z8+en3zyiUgk+vXXXxcvXty8eXO5bev0
VHJ+/vnn6sbKbd269Y8//lh3lcOlw7hPIxrXmPZnv127duzE8+fPkekAAKhT
hvy1uWXLlj//F36uVKpVq1bTp09/77339u/fv27dOtm266ampv/+97+PHj06
d+7ct956y9XVVXYRN33gwIHDhw9nZmaqPtDvv/9eXl7OTpuZmXl7e2sQ7YgR
I7g0B6d79+5ynyyVatGiBTedlpamTaVpWZYBAwZwvdB16dJF9iML+12FND0v
oIGkpCS2gRLXPQcR2dvbm5mZURMYgeXChQt//vnnW2+9hXFSa+vVq1f0zzcW
w2K7TM7KylLRfEOpYcOGcV9BWaamplyuNiEhwVAlcnR0lAvMxsaG7blZ9pdz
DUgkklu3bhFRv379ZNMcnPfee4/9M5eUlKRiP3PnzuXSHNVZt26dbJqDIxAI
2D5fuS63WVKplI2NzYlzX3Q5DMN88sknsl1r60diYiIRGRkZzZw5U26RtbX1
qFGjiKiyslJpi4O6O5X1BPehqKysTJsa08nZ5zo6VfpgFAAA6BDadNR3H3/8
sYqlpqamU6dOlWs1MGDAgAMHDrDTZWVlERERERERQqGwf//+gwYNGj58uFzb
XSKSfdajT58+mv16zA7/qVppaemlS5fi4+PT0tJev35dXl6u+Gwwl1DQjJZl
ke0PlcfjmZqacnkT2VA1OC+gAS6XMXjwYG6msbGxg4PDjRs37t69W15ezmY9
Gp/i4uKwsDCGYRYuXIieX2qL/UqjevQEfZo9e3ZiYmJ+fv6MGTP69+/fs2fP
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
x6CgIHaFbt26Kd2wqqpq+fLlV65cKS4uFolEDx48WL58OTsUt7W1dYPrrZb9
hTwrK2vPnj2ZmZnVPf06bdo0tvlDYGDgli1bfv/996Kioqqqqvz8/Pj4+O3b
t3t4eJw7d06bfEGLFi3YP4Jnz56NjIzMzMysrKx8/fp1YmJiYGBgUFBQdYM6
eXh4sL2P/frrr5999llcXNzr16/Z2K5du7Zw4cKDBw9W14GImsXXwJgxY9iJ
mJiYbdu2PX36lP2Td+nSpWXLlrFvZSNGjGhwT69o8J5cVVVVUFCQkJDw3Xff
+fj4ZGRkEFHLli2nTZumfY1pc/aJqLi4mG3Bqs5YdQAAoCWt+ukYOHCgg4PD
vXv3xGLxwYMHDx48KLcCn8+fNWuWocvY5FRVVT148ODBgweHDh2qbp3Ro0fL
dW3g4+Nz79497lesM2fOnDlzRm4rbXq/c3Z2PnDgAPcxZf/+/fv37+eWGhkZ
qf7Mamtra2FhwbUX3blz586dO7mle/futbW11VtZQA+4/EV1mQ6hUPjmm28+
fvz4xYsXaWlpXBMzTs+ePbt37/7kyZOcnJxly5Zx852dndesWaN0nxpsUluF
hYXV9a7KOnLkiPrd5kF1bGxs2rdvn52dreYTEOqfl0OHDu3bt09xhdWrV8u+
9PX1nT59uuwcsVh86dKlS5cuKW5raWlZXce677333uXLlz///HPFRXPnztWy
ltLT02fOnKk4X3amm5vbokWLtDwQhx01iYhOnjx58uRJbv7YsWOXL1/OvXzz
zTe9vb3Dw8OlUumFCxcU241qj2GYMWPGHD9+XCKRhIeHh4eHyy7t3r17t27d
YmNjFTfs2rXrnDlzQkNDiejhw4cbNmzQefE1uMbs7Ozef//9ixcvEtHZs2fP
nj0rt625ubmvr6/Oq1F9bFq2uqVyNcCp1XvykydPlN7FJiYmq1atkmtDoVmN
aXP2iSgxMZH97OHo6KifagcAaMq0atPBMExAQMCAAQOULjU3N9+wYUOD+8Wp
KejXr5/igA6mpqYhISEDBw6so4O2a9du5cqVSof9s7a29vDwUL05n89Xv8vP
ui4L1LWKioq7d+8SkYWFhYr2+VwS5Nq1a0pX8Pf3r65NWXU02ATqJ3Ys7fv3
73P9dxrQF198Ud3IlG3btv3yyy+r67p75MiR7733ntxMhmHmzp3LPuLRsLi4
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
Y2eGhb1SPU5KbYuvjdRUkZ/fC3v7v1q1um9m9ru19Z+enk9v3y6pi2PpU2lp
6Z49e4ho9OjRDg4Ocku53nqjo6MlEsmePXv69OnTrFmzN954Y+rUqbdu3VKx
565duzIMM3LkSCISi8UHDhxwdHRs06aNpaXlsGHDtm/fzn6pk3Xq1KlJkyZ1
7NjR1NS0devWgwYNCggIeP36dXWHYJSpsRPy1NRUPz8/e3v7Vq1amZmZWVtb
e3p63r59W/VWWVlZAQEBTk5OQqHQxMSkU6dOvr6+ycnJsuskJyfLRpKdnU1E
MTExchH6+Pgo7l8ikfzwww8TJkzo1KmTmZmZhYVFz549x44d+80332RmZuJU
NqBTWSvXrl2T3SE7MywsTJ3+0mtbyZptIkv1Ncaq1ZXMFf/w4cOKu2K7ju/a
tWt18Uil0u+++87e3t7c3Lx9+/YTJ078+eeftTwjLNwvnHp1v8iq1dkXi8U/
/PDDhx9+2L59e1NT0zfeeGPEiBHbt29XPRKBBqdSVtO5XxpTWXDvc5rmvT90
6FBGJWdn5xoj1Pm9r1lZNFbbC6ZOP8Fu376dYZgOHToUFxd7eHhYWFj06dPn
8uXLbJyjR49u3rz5m2++qfSdxCDv/FydzJw5k71mVq9erXEla3yLHThwQPHq
1WbslZoVVoN7jGrcuGSiu0R3ExNLperZv/8Vu4nsv59+yq9u/atXi9h1Dh3K
/f77XCMj+W03b85U3Orp04pu3RLl1mzT5v79+6U9eyYR3R0x4pGaAdcYmOp/
RUVV2hRf1qJFz5TuU6ng4GwTk3tKQ1q16oWKDXNyKrk1N2zI0LKW6sKuXbvY
6/PSpUuKS0+ePMkuPXnypJeXl9wlbWRktGvXrur2bG1tTUQjRoyoqKgYO3as
4h1x6NAhbuWysrKJEycqvXHatm1748YNpYdQuv6zZ89UlDc4ONjExETphqtW
rapuq9DQUDMzM8VN+Hz+V199xa32+PFjdd4KZs+eLbf/kpKSd999t7r1hwwZ
glPZUE5lbV29elWdAxUVFclupUEla3ZeanWNSWt/JXPFl72EOKNGjSIia2tr
2ZmXLl1iNzly5MicOXMUj8I9u64N3C+s+na/aHb2z58/3717d6UhWVlZxcfH
6+RUKmo690tjKgvufVaTvfeHDBmiuiyjRo2qMVqd3/ualYXD9dMh91lCJxdM
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
mJkZDRxoTkQPHpT/9FOB7CKplAIDDdBdiq5YWf19xStN4rB4PMbFpQURXbxY
ePToa6XrZGdXenunpaTUi69A6sjIyDh8+DARTZs2Tf0uhU+dOvXnn3/Kzqmo
qNi1axc7zfUFpRm2f6mqqqpNmzbJLfrrr7+OHj1KRCYmJuwo7prh8XguLi5E
dPHiRXaHirKzs729vVNSUrg5DMOMGzeOiEpKSubMmaP0p6cNGzZU947DvtM9
fPhQIqkhIThp0qTU1FTF+Vy/60rfdHAq6+Gp1AMNKlnj81Lba6y2V7K1tTX7
swk73JrsoqCgINXP0J4/f15uYKnKysrg4GDZImsP90v9vF/UPPvck9LcB31Z
Bw8e1O3n3aZ8vzSmsrBw7zfZe/+XX36ZM2dOr169/u///k9x9Bml6vTe1/59
jOv5RcUXbM0umNqWReMaqxU9v/PLsbGxYRNkubm5np6esveCxpXMqVcfR+UV
VoNrqTJuXDLRXaK7iYk1D9es6OTJ1+zmP/1U7fjbV68WsescOpSruHTUqP8Q
3bW2TpSd+e23OewmAsHvoaEvs7MrKyokCQmlU6emEN1lmLtEd0eMeKRBwCqw
R5wzJ023xZf1228l7PqdOiXExhaWlVUpXe3evRIjo7tsSWfOfHr5cmFubmVl
peTly8pz5wp8fNLMzH4nuvv4sfKhxXNyKtmjEN3dsCFDt7WkGXYsLoZhEhMT
a1yZG4GZYZg33njjyJEjr1+/Lisru3nz5ogRI9hFb731ltJt2VGgRowYUeNR
4uPjudtk9uzZf/75Z0VFxatXrw4dOsT1MjVt2jTVO6lxYPl79+4ZGRmxZZk5
c+bly5fZDopevnx57tw5Hx8f9g3x8ePHslv9+eef3N+5wYMHnzhxIisri93q
5MmT7GedsrIypUdk++smos8+++zJkycVFRXVBc/j8fh8vqen508//fTy5cvy
8vKnT5/u3r2ba7l68OBBnMoGcSq1xB5lzpw5uq1kjc9Lra4xqUZXcu/ef48p
5uHhkZSUVF5e/uTJE/YBV7YdsrW1tez6ly5d4q5koVB46NChvLy88vLy27dv
jxo1il3UrVs3rosvzeB+qZ/3S23PvkQiYZ/05PF4X3zxxZMnT8rLy7Oysq5e
vTp9+nQjIyOuHystTyWryd4vjaksuPeb+L3/6NGjNm3atGvXLiUlRf3w6vTe
1/J9TCqVckmHTp06xcbGVnf6NLtg6voTLPscSvv27bk5e/fuZWuDm8Pdtjk5
OdrXWK3e+bmOAuRqlZv/xRdfaF/JHM1uMa5+fvrpJ8Wl1SUo7v3T+o2b5P7J
raD7TMfnn2dy36JV/Nu8OZPbRINMR2WlpG/fB0r3PGTIwx49/jRUpkOD4sux
t1dSrhkzUuVW++KLmg/UUDId+fn5bDpw3Lhx6qzP3RsqHmk7e/as0m1r9U7x
8ccfU/UsLCyePn2qeg81/smXSqVffPEF1UTxzWXHjh2qN6nub8bXX3+tdP3Z
s2fLraliCHEi6tixY1FREU5lgziVWmJ3qzrToVkla7BJba8xqUZXMtshmSJn
Z2f282t133Y++uij6g7E/kqsDdwv0np5v2hw9lW0i7a3t58xYwY7rf2pbMr3
S2MqC+59aRO+90tKSt58803VZR81apRcbHq497V5H2Oxz1bImTFjhvYXTF1/
gtUg06Fljekk0/H69Wu2rYqxsfHNmze1rGSOmrfY559/XuMhiGjz5s1S3WU6
GuTTK0RkbMycOtW9a1f5gXbatjWOiLCut50zq2PfPmsLC16Nq61e3WHXrk6m
pspLKhQaR0RYd+9uaujSqCU0NJQdPtrf379WG06ZMsXDw0NuJsMw27dvZxti
aenbb7/98MMPlS5q3br12bNn2fcdLa1evXrXrl2mpspPllAojIiIUBxZbenS
paGhoUqbwBkbG4eEhChdRETe3t5K/7QoiomJqW5ENysrq59++ol7pJmDU1k/
T6V+aFDJGmyiwTWmwZW8YMGC/v37y83s1q3bvn37VB9r7NixbIdnshiG2bx5
s6urq07qmXC/1Nf7Rf2z//nnnw8bNkxxD9bW1uo3TVdHE79fGlNZWLj3m+C9
//Lly8ePH9c2JD3c+9q/j+3bt49NLqimwQWjz0+w6tPbO391WrVqdejQISMj
I7FYPH36dNlHeDS7K1n17ePoPzTQNh2swkLxhg0ZvXsnmZv/3q7d/X//O+U/
/ymXSqU9eyY13DYdUqn0r7/Kpk5NsbS8zz6Go7RNB+vFC9G6dRmOjg8tLe/z
+ffatbvv4vJ4796c6h57YdWrNh3l5eXsUPCOjo5qbsJlSU+ePFlZWbl9+3Y7
OztTU9P27dtPnjz5+vXrKratbbtfqVT6448/urq6vvHGG3w+v2XLlg4ODuvW
rXv16pU623I/bjx//lz1mi9evGD7Rra0tOTz+e3atXNxcdm7d291v1GwMjIy
1q9fz21lZWXl5eX14MED1ccqLCwMCAgYMGCAhYUFlxZU+uNGZWXl4cOHXVxc
LC0tjY2N27ZtO3z48G3bthUUFOBUNqxTqQ12tzW26dC4ktXfRINrjFWrK5mV
n5+/ZMmSLl26mJiYdOvWbeHChVlZWVKpVPXvukeOHJFIJHv27Ondu7eZmZlQ
KJw4cWJcXJxOTgTuF069ul80O/sikWjnzp2DBw8WCATNmjWzs7NbtWrVy5cv
pVLpzJkz2R1qeSqb+P3SmMqCe5/TBO99pf1NyJFr06G3e1/j9zHOX3/9NXXq
VEtLS+68KLbpYNX2gqnTT7CatenQpsZ00qaDtXLlSnap4sNomt2VUvVuMYO0
6WCq68hUnRwbgPbCwsI+/fRTIjp58qSbm5s6m0RHR0+cOLFWmxjK/PnzQ0ND
iSgvL0/no1XVNziVUNc0uMYaE9wvUCtN/H5pTHDvQ63g3q8t1Fh9w7avUSQ3
1HT0T6flVnCbMF72ZUN9egUaB4lEsn37diKys7PTYfPO+uPGjRtEZG5urs34
8w0CTiXUtUZ/jTUmuF8MDvcLGATufYPDvV9bqLFGrM6fCAJQISoqik3O+fn5
NejeVRRlZmaGhIT88ccfRDRo0CC2T+NGDKcS6lojvsYaE9wv9QTuF9Az3Pv1
BO792kKNNWLIdIAhTZkyRfrPIesbtMOHDyvtf9vHx8fQodU5nEqoa43sGmtM
cL/UQ7hfQA9w79dDuPdrCzXWiCHhClC3xo8fzw0cBQ0aTiWA+nC/ADRNuPcB
oJ5Amw6AOmFiYtK9e/ePP/546dKlaAvXoOFUAqgP9wtA04R7HwDqG4y9AgAA
AAAAAACGh7FXAAAAAAAAAADkNcinVzRoFIeeZgAAAAAAAACaArTpAAAAAAAA
AIDGA5kOAAAAAAAAAGg8kOkAAAAAAAAAgMaj8WQ6jIyMZs6ceebMmbS0tJKS
EolE4u7ubuigAAAAAAAAAECvGkCmw9PTk2EYc3PznJwcFauFhYUdOHBg7Nix
Xbp0MTc318NQ3gEBAQzDMAzj5eVl6EoCAAAAAAAAAKL6n+lIS0s7duwYEc2a
Natdu3bVrda5c2dvb299BlZaWvr1118TEcMwy5cvN3Q9AQAAAAAAAABR/c90
7NixQywW83i8ZcuWqVht2LBhRkZGRPTLL7/079+fbdNx4sSJugssIiLi1atX
RDR+/PjevXsbup4AAAAAAAAAgIjI2NABqJKbmxsREUFE7u7uNjY2Ktbs3Lkz
O/H555/fv3+/rgMTi8XBwcHs9IoVKwxdTwAAAAAAAADwt3rdpuOrr74qLS0l
NbIJ5ubm7ERmZqYeAjt27NjTp0+JaNiwYW+//bZhawkAAAAAAAAAODVkOq5d
u8Z2unn48GEiunr1qouLi1AoFAgEQ4YMiYyMrG7DkpKSjRs39unTx9zc/I03
3vDw8PjPf/5DRHZ2dgzDjBw5ssbISktL9+zZQ0SjR492cHCooRhGfxdEKpXq
oda2bt3KTvj7++vhcAAAAAAAAACgplo8vXLw4MFZs2ZJJBL2ZXx8vKen57Nn
z1auXCm3ZkZGxsiRIx8/fsy+LCsrO3bsWGxsbFxcnPqHCw8Pz83Npfr3eMi5
c+cSEhKIyM7ObsKECYYOBwAAAAAAAAD+5++mEC1kKF0vJSXFx8eHS3NwNmzY
kJ6eLjtHIpG4urpyaQ5Obm7up59+qmZYXEcYDg4Ozs7ONa5vYmLCbVjXVcY1
6FixYoUexrIFAAAAAAAAAPUZEVF12Q1ZwcHBbdq0iYyMzMvLy8/PP3fuXLdu
3YhIJBKxo8ByDh48eOfOHSIyMTHZsmXLs2fPKioqkpKSpk+ffvXq1eTkZHXC
Onr0aFpaGqn9eAj3eAvbDKTuxMfH//LLL0TUsWPHGTNm1OmxAAAAAAAAAKC2
jNk0R2Fhoer1SktL4+Li+vXrx74cM2ZMTEwM+/LWrVuya7KjpRBReHj4Rx99
xE736tUrMjKyuLj41KlT6oTFtpuwsbGZPHmyitX4fH7nzp0//vjjDz74gIge
PXr0+vXrOq2voKAgdmLx4sVcQxIAAAAAAAAAqCf+9/SK3IScCRMmcGkOVt++
fbt3705Eqamp3MyKiorbt28Tka2tLZfm4Kxdu1admM6ePZuYmEhEfn5+PB6v
utWePn0qEomePHmyYcMGIiopKZk/f36dVtZ//vOf6OhoImrZsuWcOXPq9FgA
AAAAAAAAoIH/jb2iopMOInJyclKc2bFjRyIqKiri5jx+/LiyspKIRowYobj+
v/71L244WBXYdhNCodDLy0vNYty/f9/e3v7y5ct1Wlnbtm1jeyqZN2+ehYVF
nR4LAAAAAAAAADRgVONzKyxLS0vFmXw+n4jY1AaLe3jEyspKycGMjNq3b6/6
QLdv32aHaFmwYEGzZs3ULIa9vf2vv/5qY2NTdzWVlZV16NAhIjI1NV24cGHd
HQgAAAAAAAAANGZEanTSQURGRkY170yGVCpVOl9x9BY5W7ZsISKBQFDjoyhd
u3Y1MzMbMGDAyZMniahjx46hoaF1V1M7d+6sqKggopkzZ3bo0KHuDgQAAAAA
AAAAGlN37BU1tW7dmp3IyMhQXCqRSF6+fKli80ePHsXExBCRr68vtysVKioq
/vjjDw8Pj+fPnxPRu+++a2xsXBfVVFhY+O233xKRkZGRn59fXRwCAAAAAAAA
ALT3d5sOWdrs7s0332QfaWGHYpXz22+/lZWVqdh869atUqmUz+cvWbJE/YOK
RKJLly4RkYmJSR21tvj2228LCgqIaOLEiW+++WZdHAIAAAAAAAAAtFe7Z1Jq
ZGpqOmTIECJKSUk5cOCA3NIvvvhCxbYZGRmHDx8momnTpnXu3LlWx83KymIn
1OnxlIg8PT0ZGa9evVKxskgk2rlzJzu9YsUK3dYYAAAAAAAAAOiQjjMdROTt
7c1OzJkzZ8uWLc+fP6+srHz48KGnp+dPP/2kopPRkJAQkUjEMMzy5ctre1CR
SPR3eWrZn4g6Dh48mJmZSUTvvvvu4MGDdb5/AAAAAAAAANAV3ecFPv7444ED
BxKRSCRatWpV586dTUxM3nrrrcjIyDFjxnTp0kXpVgUFBWFhYUQ0duzYPn36
GLpa/kcikWzfvp2dRoMOAAAAAAAAgHpO95kOHo8XHR1ta2srN79du3a7d+/m
1pFbGhoaWlRURET+/v6GrpN/iImJefToERH169dvzJgxhg4HAAAAAAAAAFTR
faaDiDp27PjHH39s2LChV69ezZo169Chg4eHx/Xr19988022R1K50V4qKirY
JIijo+Pw4cM1OCL39IqJiYluyxIUFMRO1LcUDAAAAAAAAAAoqmFM1rffflsq
lVa3NDY2trpFzZs3DwgICAgIkJ1ZXFz84sULIurUqZPs/AMHDrBdimr8eAg7
MAoR9ejRIyEhocb1Dx8+zPZ+qtqvv/56+/ZtIrK2tp46dapmsQEAAAAAAACA
3tRJm47qfPfdd1VVVUTEjs/C4jrCsLOzc3V11WzPycnJ7MTatWuHDh2q5ggs
NeIadCxbtszY2Fi7nQEAAAAAAABAnauTTEdISMjUqVMPHDiQkJDw+vXrysrK
x48fb9iwYeXKlUQkEAhkMxpRUVFsnsLPz49hGM2OeOPGDfa5GHt7+5s3b5aU
lEilUnd3d21KkZiYeO7cOSJq27bt7Nmz66KiAAAAAAAAAEC36qSdQklJyfHj
x48fP6506fr16y0sLLiXU6ZMUfGAjJqKioo2b968adMmHZaib9++2gcGAAAA
AAAAAPqk16dXiGj+/PnLli2riz1//vnnrq6uP/7449OnT9n2HQAAAAAAAADQ
1NRJm45ly5b17t375MmTv//++/Pnz8vKytq3b+/k5DRnzpwRI0bUXWFOnTp1
6tSputs/AAAAAAAAANRzdZLpaNas2cSJEydOnGjo0gEAAAAAAABA06Lvp1cA
AAAAAAAAAOpOgxw5FR2FAgAAAAAAAIBSaNMBAAAAAAAAAI0HMh0AAAAAAAAA
0Hgg0wEAAAAAAAAAjUdDzXQ4OzszCoqLi9XfQ3R0NLvV6dOnDV0aAAAAAAAA
ANCNhprpaKw6dOjAMIybm5s2O/H09GQYxtzcPCcnx9AFAgAAAAAAANArZDoa
m7S0tGPHjhHRrFmz2rVrZ+hwAAAAAAAAAPSqoWY6YmNjpf+1aNEiDfbg5ubG
bj5+/HhDl0aXduzYIRaLeTzesmXLDB0LAAAAAAAAgL411EwHKJWbmxsREUFE
7u7uNjY2hg4HAAAAAAAAQN+Q6WhUvvrqq9LSUiJasWKFoWMBAAAAAAAAMIBa
ZDp+/fVXHx8fOzu7li1bNmvWzMbG5p133lm5cuXdu3d1GFBWVlZAQICTk5NQ
KDQxMenUqZOvr29ycrJOdn7gwAHFEVvUGXslNTXVz8/P3t6+VatWZmZm1tbW
np6et2/fVlzz2rVr7G4PHz5MRFevXnVxcREKhQKBYMiQIZGRkXLrJycnywaT
nZ1NRDExMXJB+vj41BhkaWnpnj17iGj06NEODg46PCkAAAAAAAAADYWxOisV
FBR89NFHP/30k+zM1NTU1NTUq1evBgUFlZWVmZmZaR/NN998s3Tp0vLycm7O
ixcvwsPDv//+++Dg4M8++8wgdRQSErJy5UqRSMTNSU9Pj4yMjIyMXLVq1Zdf
flndhgcPHpw1a5ZEImFfxsfHe3p6Pnv2bOXKlXURZ3h4eG5uLqFBBwAAAAAA
ADRhNbfpKC8vf++99+TSHHUhODh43rx5smkOTmVl5YIFC5QuqmtBQUFLly6V
TXPI2rx5865du5QuSklJ8fHx4dIcnA0bNqSnp+s8TrFYHBwcTEQODg7Ozs76
rygAAAAAAACA+qDmTMf69evv3bvHvZw5c+Yff/xRXl5eXFycmJgYEhLSv39/
hmG0jCMpKcnf35+dHjRo0PHjxzMzM0UiUXZ29okTJwYPHqyT0np5eXEjtpw8
ebLG9RMSEtasWUNEfD5/3rx58fHxubm5xcXFSUlJa9asYZuxrF27Nj8/X3Hb
4ODgNm3aREZG5uXl5efnnzt3rlu3bkQkEonYUWBZtra2Uhnt27cnIldXV+k/
hYeHqw716NGjaWlpRMRVIwAAAAAAAEATVMPTKwUFBaGhodzLRYsW7dy5k502
NTXt06dPnz59Fi9erH0c27ZtE4vFROTu7n7kyBFj478DEwqFkydPnjRp0qpV
q7TPp9RWUFBQVVUVwzDHjx93dXXl5vfq1SswMLBnz54ff/xxcXFxVFTU7Nmz
5bYtLS2Ni4vr168f+3LMmDExMTHsy1u3buk81K1btxKRjY3N5MmT9VxLAAAA
AAAAAPVHDW06fv7555KSEna6efPmn3/+eV0EIZVKz5w5Q0QCgSAsLIxLc3AY
htmyZYupqak+q0YikbBRvfPOO7JpDo6Hh4e5uTkR3bx5U3HphAkTuDQHq2/f
vt27dyei1NRU3YZ69uzZxMREIvLz8+PxePqsJQAAAAAAAIB6pYZMh+xzK05O
ThYWFnURRHp6+qtXr4ho1KhRbdq0MXSd/C05ObmgoICI4uLijI2NjY2NeTwe
j8czMjIyMjJiGMbExIQd0jUrK0txcycnJ8WZHTt2JKKioiLdhhoUFEREQqHQ
y8vL0NUGAAAAAAAAYEg1ZDpycnK46S5dutRq1wKBQHFIV3YYVDlsmoOI2CYP
9QRXdqlUWlVVVVVVJZFIJBIJ23GG7JpcsxdZlpaWijP5fD4RVVZW6jDO27dv
x8XFEdGCBQuaNWtm6GoDAAAAAAAAMKSaeyTl6KGbDP33xKETcokPlpFRLepW
G1u2bCEigUAwf/58Q9cEAAAAAAAAgIHV0COpbMOEZ8+e1WrXxcXFaq7JHSU5
OVmDMtRRfoSLauPGjevXr6+LQ2jv0aNHMTExROTr69u6dWtDhwMAAAAAAABg
YDW0OxgwYAA3ff36daWPaWivS5cubFohNjY2Ly+vtpuzo70SUW5urg6jsrW1
bdGiBVvwuii1Umx/ohUVFWquv3XrVqlUyufzlyxZorcgAQAAAAAAAOqtGjId
7777Ltf1Q1FR0caNG+siCIZhxo0bR0QlJSVz5sxhh5uVs2HDhuq+/1tZWbET
uk1J8Hg8FxcXIrp48eLRo0eVrpOdne3t7Z2SkqKrg7J9vj58+FAikdS4ckZG
xuHDh4lo2rRpnTt31mHZAQAAAAAAABqoGjIdrVu3njNnDvdy27Ztvr6+iYmJ
IpEoNzf3jz/++PrrrwcOHKh+G4TqLF++nB1c9sSJE05OTlFRUdnZ2WKxOCcn
Jzo6evjw4Zs2bVLaHQYROTo6shP+/v6XL18uLy/XVe34+/uz3W1Mnz7dy8vr
ypUreXl5bFTnz5/39fXt2rXr/v371clKqKlHjx5E9PTp00WLFqWkpIhEIhUr
h4SEiEQihmGWL1+uqwAAAAAAAAAAGjSmsLBQ6QJuQNnS0tKhQ4cmJiaq2EtZ
WRn3CInGgoODly1bptlR+vfvf//+fbmZM2bMYJs8sAIDA9etW1djGJs3b165
ciX38ssvv1yzZo3qTR4/fmxra8tOX7t2bfjw4UR06NAhT09PuTWdnZ0vX75s
bW399OlTpbsKDQ1V2rHo7Nmzw8PDZecUFBR07ty5qKho3Lhxp0+f1rLyAQAA
AAAAAAyrqKhI6Xy5Pj2jf5L/Cuw2Ybzsy5rHBzE3N//5559Hjx5d10VaunRp
aGio0lyGsbFxSEiIimTKvn37uNSMbq1evXrXrl2mpqZKlwqFwoiICB0Ojuvt
7W1vb6/OmqGhoexF4O/vXxcFBwAAAAAAAGiI1BoJtW3bthcvXrx48eLMmTNt
bW0FAoGZmZm1tfWwYcPWrl17//597Rt0sObOnZuSkrJ+/XpHR0dLS0s+n29l
ZeXl5ZWQkLB48WIVGzo4OMTHx0+dOtXS0lLnQ7EsXLgwJSVl3bp1XFTt2rVz
cXHZu3dvWlqat7e3Do9oZmZ29erVgICAAQMGWFhYVLfnioqK3bt3E5GjoyPb
hAQAAAAAAAAASJ2nV6AeCgsL+/TTT4no5MmTbm5uhg4HAAAAAAAAQFv6e3oF
6huJRLJ9+3YisrOzc3V1NXQ4AAAAAAAAAPUIMh0NT1RUFJvQ8vPz0/mjOgAA
AAAAAAANmrGhA4BamzJlSnUD7gIAAAAAAAA0cWjTAQAAAAAAAACNBzIdAAAA
AAAAANB4INMBAAAAAAAAAI0HMh0AAAAAAAAA0Hgg0wEAAAAAAAAAjQcyHQAA
AAAAAADQeCDTAQAAAAAAAACNBzIdAAAAAAAAANB4aJ7pGDhwIPNfJ06c0HPc
zs7OjILi4mL19xAdHc1udfr0aT0HDwAAAAAAAAB1BG066pcOHTowDOPm5qbN
Tjw9PRmGMTc3z8nJMXSBAAAAAAAAAPQKmY7GJi0t7dixY0Q0a9asdu3aGToc
AAAAAAAAAL1qqJmO2NhY6X8tWrRIgz24ubmxm48fP97QpdGlHTt2iMViHo+3
bNkyQ8cCAAAAAAAAoG8NNdMBSuXm5kZERBCRu7u7jY2NocMBAAAAAAAA0Ddk
OhqVr776qrS0lIhWrFhh6FgAAAAAAAAADECtTMehQ4dGjBjRunVrgUAwbNiw
48eP111AWVlZAQEBTk5OQqHQxMSkU6dOvr6+ycnJOtn5gQMHFEdsUWfsldTU
VD8/P3t7+1atWpmZmVlbW3t6et6+fVtxzWvXrrG7PXz4MBFdvXrVxcVFKBQK
BIIhQ4ZERkbKrZ+cnCwbTHZ2NhHFxMTIBenj41NjkKWlpXv27CGi0aNHOzg4
1N05AgAAAAAAAKi3jFUvlkgkH3300Q8//MDNuXnz5s2bN/39/esimm+++Wbp
0qXl5eXcnBcvXoSHh3///ffBwcGfffaZQeooJCRk5cqVIpGIm5Oenh4ZGRkZ
Gblq1aovv/yyug0PHjw4a9YsiUTCvoyPj/f09Hz27NnKlSvrIs7w8PDc3FxC
gw4AAAAAAABowmpo07Fz507ZNAcnKCgoKSlJt6EEBwfPmzdPNs3BqaysXLBg
gdJFdS0oKGjp0qWyaQ5Zmzdv3rVrl9JFKSkpPj4+XJqDs2HDhvT0dJ3HKRaL
g4ODicjBwcHZ2Vn/FQUAAAAAAABQH6jKdIhEosDAQO6lvb19QkJCSUlJREQE
n8/Xbd4hKSmJaycyaNCg48ePZ2ZmikSi7OzsEydODB48WCdH8fLy4kZsOXny
ZI3rJyQkrFmzhoj4fP68efPi4+Nzc3OLi4uTkpLWrFljZmZGRGvXrs3Pz1fc
Njg4uE2bNpGRkXl5efn5+efOnevWrRtbq+wosCxbW1upjPbt2xORq6ur9J/C
w8NVh3r06NG0tDQiqqPmNgAAAAAAAAANgqqnVy5duvT69eu/1zM2joqK6t69
OxF5e3unpqbKJkG0t23bNrFYTETu7u5HjhwxNv47MKFQOHny5EmTJq1atYph
GD3XTlBQUFVVFcMwx48fd3V15eb36tUrMDCwZ8+eH3/8cXFxcVRU1OzZs+W2
LS0tjYuL69evH/tyzJgxMTEx7Mtbt27pPNStW7cSkY2NzeTJk/VcSwAAAAAA
AAD1h6o2HfHx8dz0u+++y6Y5WJ988okOg5BKpWfOnCEigUAQFhbGpTk4DMNs
2bLF1NRUn1UjkUjYqN555x3ZNAfHw8PD3NyciG7evKm4dMKECVyag9W3b1+2
DlNTU3Ub6tmzZxMTE4nIz8+Px+Pps5YAAAAAAAAA6hVVmY6UlBRueuDAgbKL
OnfuzD5noRPp6emvXr0iolGjRrVp08bQdfK35OTkgoICIoqLizM2NjY2Nubx
eDwez8jIyMjIiGEYExMTdkjXrKwsxc2dnJwUZ3bs2JGIioqKdBtqUFAQEQmF
Qi8vL0NXGwAAAAAAAIAhqcp0FBYWctPt2rWTWyoUClXvWiAQKA7pyg6DKodN
cxCRbLMRg8vJyWEnpFJpVVVVVVWVRCKRSCRsxxmya5aUlChubmlpqTiTz+cT
UWVlpQ7jvH37dlxcHBEtWLCgWbNmhq42AAAAAAAAAENSlemQ/T6vnz4y9N8T
h07IJT5YRkZGtd+TJrZs2UJEAoFg/vz5hq4JAAAAAAAAAANT1SNpy5YtuemX
L1/KLVWcI6e4uFjNILjmD8nJyRqUoY7yI1xUGzduXL9+fV0cQnuPHj2KiYkh
Il9f39atWxs6HAAAAAAAAAADU9XuQPZZkjt37sguev78eXZ2tq6C6NKlC5tW
iI2NzcvLq+3m7GivRJSbm6vDqrG1tW3RogURXb9+XYe7VY3tT7SiokLN9bdu
3SqVSvl8/pIlS/QWJAAAAAAAAEC9pSrTMXjwYG76559/fvLkCfcyLCxMh0Ew
DDNu3DgiKikpmTNnDjvcrJwNGzZU9/3fysqKndBtSoLH47m4uBDRxYsXjx49
qnSd7Oxsb29v2a5btWRhYUFEDx8+lEgkNa6ckZFx+PBhIpo2bVrnzp11WHYA
AAAAAACABkpVpsPZ2Zl7IEIsFru7u//5559lZWX79+9nB/vQoeXLl7ODy544
ccLJySkqKio7O1ssFufk5ERHRw8fPnzTpk1Ku8MgIkdHR3bC39//8uXL5eXl
uorK39+f7W5j+vTpXl5eV65cycvLY6M6f/68r69v165d9+/fr05WQk09evQg
oqdPny5atCglJUUkEqlYOSQkRCQSMQyzfPlyXQUAAAAAAAAA0KCpynSYmJis
WbOGe/nHH3/07dvX3Nzc29u7srKyefPmOoyjd+/eXPYkPj7e3d29Q4cOfD5f
KBROnDjx2rVrKrYdOHCgvb09ET1//tzZ2blZs2bsOC+enp6yqwUGBsqOAjNx
4kR2/oQJE2Tnsx18sgYMGPD5558TkVQq/f7770eNGtW2bVs2KhcXl/DwcB1m
VVhjxoxhJ/bs2dO9e3dTU1M2Kh8fH7k1CwoK2JY1Y8eO7dOnj27DAAAAAAAA
AGigahgfZMmSJVOmTFGcv3LlSjs7O92GsnTp0tDQUK7TDVnGxsYhISFKF7H2
7dvHPvehc6tXr961a5epqanSpUKhMCIiQoeD43p7e7NZmxqFhoYWFRURkb+/
f10UHAAAAAAAAKAhqiHTYWRkdOzYsb179w4ePFggEFhYWAwbNuzo0aObN2+u
i2jmzp2bkpKyfv16R0dHS0tLPp9vZWXl5eWVkJCwePFiFRs6ODjEx8dPnTrV
0tJS50OxLFy4MCUlZd26dVxU7dq1c3Fx2bt3b1pamre3tw6PaGZmdvXq1YCA
gAEDBlhYWFS354qKit27dxORo6Pj8OHDdVteAAAAAAAAgIaLKSwsVLqgjppI
gE6EhYV9+umnRHTy5Ek3NzdDhwMAAAAAAACgLfbBBUXJycmyL6N/Oi23gtuE
8bIva2jTAfWQRCLZvn07EdnZ2bm6uho6HAAAAAAAAIB6BJmOhicqKopNaPn5
+en8UR0AAAAAAACABs3Y0AFArU2ZMqW6AXcBAAAAAAAAmji06QAAAAAAAACA
xgOZDgAAAAAAAABoPJDpAAAAAAAAAIDGA5kOAAAAAAAAAGg8kOkAAAAAAAAA
gMYDmQ4AAAAAAAAAaDxql+l4/vw5I6O8vNzQ8QMAAAAAAAAA/A/adAAAAAAA
AABA49FQMx3Ozs6MguLiYvX3EB0dzW51+vRpQ5cGAAAAAAAAAHSjoWY6GqsO
HTowDOPm5qbNTjw9PRmGMTc3z8nJMXSBAAAAAAAAAPQKmY7GJi0t7dixY0Q0
a9asdu3aGTocAAAAAAAAAL2qXaajU6dOUhlmZmaGijs2NpYLY9GiRRrswc3N
jd18/PjxhipFXdixY4dYLObxeMuWLTN0LAAAAAAAAAD6hjYdjUpubm5ERAQR
ubu729jYGDocAAAAAAAAAH1DpqNR+eqrr0pLS4loxYoVho4FAAAAAAAAwABq
znRwY5QoKi8v13lAWVlZAQEBTk5OQqHQxMSkU6dOvr6+ycnJOtn5gQMHFEuh
ztgrqampfn5+9vb2rVq1MjMzs7a29vT0vH37tuKa165dY3d7+PBhIrp69aqL
i4tQKBQIBEOGDImMjJRbPzk5WTaY7OxsIoqJiZEL0sfHp8YgS0tL9+zZQ0Sj
R492cHDQ+akBAAAAAAAAqP/qV5uOb775plu3bhs3brxx40ZOTk5lZeWLFy/C
w8N79erFfoc3iJCQEDs7ux07diQkJBQUFFRUVKSnp0dGRg4dOnT16tUqNjx4
8ODIkSPPnz+fk5NTUlISHx/v6em5ZcuWOoozPDw8NzeX0KADAAAAAAAAmrB6
lOkIDg6eN2+e0nYilZWVCxYsqIsmJDUKCgpaunSpSCRSunTz5s27du1Suigl
JcXHx0cikcjN37BhQ3p6us7jFIvFwcHBROTg4ODs7Kz/igIAAAAAAACoD2rO
dHBjlEil0mfPntVRHElJSf7+/uz0oEGDjh8/npmZKRKJsrOzT5w4MXjwYJ0c
xcvLiyvLyZMna1w/ISFhzZo1RMTn8+fNmxcfH5+bm1tcXJyUlLRmzRp26Jm1
a9fm5+crbhscHNymTZvIyMi8vLz8/Pxz585169aNiEQiETsKLMvW1lZ2OJv2
7dsTkaurq/SfwsPDVYd69OjRtLQ0IuKqEQAAAAAAAKAJMjZ0AH/btm2bWCwm
Ind39yNHjhgb/x2YUCicPHnypEmTVq1axTCMnqMKCgqqqqpiGOb48eOurq7c
/F69egUGBvbs2fPjjz8uLi6OioqaPXu23LalpaVxcXH9+vVjX44ZMyYmJoZ9
eevWLZ2HunXrViKysbGZPHmynmsJAAAAAAAAoP6oF0+vSKXSM2fOEJFAIAgL
C+PSHByGYbZs2WJqaqrPqCQSCRvVO++8I5vm4Hh4eJibmxPRzZs3FZdOmDCB
S3Ow+vbt2717dyJKTU3Vbahnz55NTEwkIj8/Px6Pp89aAgAAAAAAAKhX6kWm
Iz09/dWrV0Q0atSoNm3aGDqcvyUnJxcUFBBRXFycsbGxsbExj8fj8XhGRkZG
RkYMw5iYmLBDumZlZSlu7uTkpDizY8eORFRUVKTbUIOCgohIKBR6eXkZutoA
AAAAAAAADKkOMx0CgUBxSFelQ6iwaQ4iYps81BM5OTnshFQqraqqqqqqkkgk
EomE7ThDds2SkhLFzS0tLRVn8vl8IqqsrNRhnLdv346LiyOiBQsWNGvWzNDV
BgAAAAAAAGBI9aJNB0f/PXHohFzig2VkpKe6ZYetFQgE8+fPN3RNAAAAAAAA
ABhYHfZIWlxcrOaaXPOH5ORkDQ5UR/kRLqqNGzeuX7++Lg6hvUePHsXExBCR
r69v69atDR0OAAAAAAAAgIHVizYdXbp0YdMKsbGxeXl5td2cHe2ViHJzc3UY
la2tbYsWLYjo+vXreqsKtj/RiooKNdffunWrVCrl8/lLlizRW5AAAAAAAAAA
9Va9yHQwDDNu3DgiKikpmTNnDjvcrJwNGzZU9/3fysqKndBtSoLH47m4uBDR
xYsXjx49qnSd7Oxsb2/vlJQUXR3UwsKCiB4+fCiRSGpcOSMj4/Dhw0Q0bdq0
zp0767DsAAAAAAAAAA1Uvch0ENHy5cvZwWVPnDjh5OQUFRWVnZ0tFotzcnKi
o6OHDx++adMmpd1hEJGjoyM74e/vf/ny5fLycl1F5e/vz3a3MX36dC8vrytX
ruTl5bFRnT9/3tfXt2vXrvv371cnK6GmHj16ENHTp08XLVqUkpIiEolUrBwS
EiISiRiGWb58ua4CAAAAAAAAAGjQ6kumo3fv3uxQqUQUHx/v7u7eoUMHPp8v
FAonTpx47do1FdsOHDjQ3t6eiJ4/f+7s7NysWTN2nBdPT0/Z1QIDA2VHgZk4
cSI7f8KECbLz2Q4+WQMGDPj888+JSCqVfv/996NGjWrbti0blYuLS3h4uA6z
KqwxY8awE3v27OnevbupqSkblY+Pj9yaBQUFYWFhRDR27Ng+ffro+4QBAAAA
AAAA1Ev1JdNBREuXLg0NDeU63ZBlbGwcEhKidBFr37597HMfOrd69epdu3aZ
mpoqXSoUCiMiInQ4OK63tzebtalRaGhoUVEREfn7+9dFwQEAAAAAAAAaotpl
OuSeH2G7z9ShuXPnpqSkrF+/3tHR0dLSks/nW1lZeXl5JSQkLF68WMWGDg4O
8fHxU6dOtbS01PlQLAsXLkxJSVm3bh0XVbt27VxcXPbu3ZuWlubt7a3DI5qZ
mV29ejUgIGDAgAEWFhbV7bmiomL37t1E5OjoOHz4cN2WFwAAAAAAAKDhYgoL
C5UuUNpEIjExsV+/fuw0n89X3YsE1J2wsLBPP/2UiE6ePOnm5mbocAAAAAAA
AAC0xT64oCg5OVn2ZfRPp+VWcJswXvZl7dp03Llzh5vmRjwBPZNIJNu3byci
Ozs7V1dXQ4cDAAAAAAAAUI8Yq7leWVnZzZs3169fz81xcHAwdPBNVFRUFJvQ
8vPz0/mjOgAAAAAAAAANWg2ZDjMzs4qKCqWLZsyYYejgm6gpU6ZUN+AuAAAA
AAAAQBOn4dgrEydOnDx5sqGDBwAAAAAAAAD4B3WfXiEihmFatWrVp0+fGTNm
+Pj4GDpyAAAAAAAAAAB5NWQ6ysvLDR0hAAAAAAAAAIC6NHx6BQAAAAAAAACg
HkKmAwAAAAAAAAAaD2Q6AAAAAAAAAKDxQKYDAAAAAAAAABoPZDoAAAAAAAAA
oPGoIdOxePFi5r8WL15s6Gj/x9nZmVFQXFys/h6io6PZrU6fPm3o0gAAAAAA
AACAbqBNR/3SoUMHhmHc3Ny02YmnpyfDMObm5jk5OYYuEAAAAAAAAIBeIdPR
2KSlpR07doyIZs2a1a5dO0OHAwAAAAAAAKBXDTXTERsbK/2vRYsWabAHNzc3
dvPx48cbujS6tGPHDrFYzOPxli1bZuhYAAAAAAAAAPStoWY6QKnc3NyIiAgi
cnd3t7GxMXQ4AAAAAAAAAPqGTEej8tVXX5WWlhLRihUrDB0LAAAAAAAAgAHU
LtNRWFjo7+9va2trZmbWvn376dOnP3nyRLcBZWVlBQQEODk5CYVCExOTTp06
+fr6Jicn62TnBw4cUByxRZ2xV1JTU/38/Ozt7Vu1amVmZmZtbe3p6Xn79m3F
Na9du8bu9vDhw0R09epVFxcXoVAoEAiGDBkSGRkpt35ycrJsMNnZ2UQUExMj
F6SPj0+NQZaWlu7Zs4eIRo8e7eDgoNvzAgAAAAAAANAg1CLTUVFR8c4772zd
uvXJkycVFRUvX748cuTI0KFD09LSdBXNN998061bt40bN964cSMnJ6eysvLF
ixfh4eG9evViv8MbREhIiJ2d3Y4dOxISEgoKCioqKtLT0yMjI4cOHbp69WoV
Gx48eHDkyJHnz5/PyckpKSmJj4/39PTcsmVLHcUZHh6em5tLaNABAAAAAAAA
TVgtMh2RkZH379+Xm/nq1av169frJJTg4OB58+aVl5crLqqsrFywYIHSRXUt
KCho6dKlIpFI6dLNmzfv2rVL6aKUlBQfHx+JRCI3f8OGDenp6TqPUywWBwcH
E5GDg4Ozs7P+KwoAAAAAAACgPqhFpqOoqGjatGkvX758/vz52LFjufnR0dFS
qVTLOJKSkvz9/dnpQYMGHT9+PDMzUyQSZWdnnzhxYvDgwToprZeXFzdiy8mT
J2tcPyEhYc2aNUTE5/PnzZsXHx+fm5tbXFyclJS0Zs0aMzMzIlq7dm1+fr7i
tsHBwW3atImMjMzLy8vPzz937ly3bt2ISCQSsaPAsmxtbaUy2rdvT0Surq7S
fwoPD1cd6tGjR9nGNVw1AgAAAAAAADRBxuqvKhAIvvvuO4FAQERBQUFnz55l
5xcWFmZmZlpZWWkTx7Zt28RiMRG5u7sfOXLE2PjvwIRC4eTJkydNmrRq1SqG
YfRcO0FBQVVVVQzDHD9+3NXVlZvfq1evwMDAnj17fvzxx8XFxVFRUbNnz5bb
trS0NC4url+/fuzLMWPGxMTEsC9v3bql81C3bt1KRDY2NpMnT9ZzLQEAAAAA
AADUH7Vo0/Huu++yaQ4isrOzk807FBQUaBOEVCo9c+YMEQkEgrCwMC7NwWEY
ZsuWLaampvqsGolEwkb1zjvvyKY5OB4eHubm5kR08+ZNxaUTJkzg0hysvn37
du/enYhSU1N1G+rZs2cTExOJyM/Pj8fj6bOWAAAAAAAAAOqVWmQ6ZFttGBsb
s1/yWVVVVdoEkZ6e/urVKyIaNWpUmzZtDF0nf0tOTmYzOHFxccbGxsbGxjwe
j8fjGRkZGRkZMQxjYmLCDumalZWluLmTk5PizI4dOxJRUVGRbkMNCgoiIqFQ
6OXlZehqAwAAAAAAADCkWmQ62G4p1CcQCBSHdFU6hAqb5iAitslDPZGTk8NO
SKXSqqqqqqoqiUQikUjYjjNk1ywpKVHc3NLSUnEmn88nosrKSh3Gefv27bi4
OCJasGBBs2bNDF1tAAAAAAAAAIZUi0yHHui/Jw6dUNohq5GRnuqWHbZWIBDM
nz/f0DUBAAAAAAAAYGC16JG0toqLi9Vck2v+kJycrMGB6ig/wkW1ceNGXY2k
q3OPHj2KiYkhIl9f39atWxs6HAAAAAAAAAADqxdtOrp06cKmFWJjY/Py8mq7
OfdYTW5urg6jsrW1bdGiBRFdv35db1XB9idaUVGh5vpbt26VSqV8Pn/JkiV6
CxIAAAAAAACg3qoXmQ6GYcaNG0dEJSUlc+bMYYeblbNhw4bqvv9zXaXqNiXB
4/FcXFyI6OLFi0ePHlW6TnZ2tre3d0pKiq4OamFhQUQPHz6USCQ1rpyRkXH4
8GEimjZtWufOnXVYdgAAAAAAAIAGql5kOoho+fLl7OCyJ06ccHJyioqKys7O
FovFOTk50dHRw4cP37Rpk9LuMIjI0dGRnfD39798+XJ5ebmuovL392e725g+
fbqXl9eVK1fy8vLYqM6fP+/r69u1a9f9+/erk5VQU48ePYjo6dOnixYtSklJ
EYlEKlYOCQkRiUQMwyxfvlxXAQAAAAAAAAA0aPUl09G7d292qFQiio+Pd3d3
79ChA5/PFwqFEydOvHbtmoptBw4caG9vT0TPnz93dnZu1qwZO86Lp6en7GqB
gYGyo8BMnDiRnT9hwgTZ+WwHn6wBAwZ8/vnnRCSVSr///vtRo0a1bduWjcrF
xSU8PFyHWRXWmDFj2Ik9e/Z0797d1NSUjcrHx0duzYKCgrCwMCIaO3Zsnz59
9H3CAAAAAAAAAOql+pLpIKKlS5eGhoYqHcvW2Ng4JCRExTC3+/btY5/70LnV
q1fv2rXL1NRU6VKhUBgREaHDwXG9vb3ZrE2NQkNDi4qKiMjf378uCg4AAAAA
AADQENWjTAcRzZ07NyUlZf369Y6OjpaWlnw+38rKysvLKyEhYfHixSo2dHBw
iI+Pnzp1qqWlpc6HYlm4cGFKSsq6deu4qNq1a+fi4rJ37960tDRvb28dHtHM
zOzq1asBAQEDBgywsLCobs8VFRW7d+8mIkdHx+HDh+u2vAAAAAAAAAANF1NY
WKh0QR01kQCdCAsL+/TTT4no5MmTbm5uhg4HAAAAAAAAQFvsgwuKkpOTZV9G
/3RabgW3CeNlX9avNh2gDolEsn37diKys7NzdXU1dDgAAAAAAAAA9QgyHQ1P
VFQUm9Dy8/PT+aM6AAAAAAAAAA2asaEDgFqbMmVKdQPuAgAAAAAAADRxaNMB
AAAAAAAAAI0HMh0AAAAAAAAA0Hgg0wEAAAAAAAAAjQcyHQAAAAAAAADQeCDT
AQAAAAAAAACNBzIdAAAAAAAAANB4INMBAAAAAAAAAI0HMh0AAAAAAAAA0Hg0
1EyHs7Mzo6C4uFj9PURHR7NbnT592tClAQAAAAAAAADdaKiZjsaqQ4cODMO4
ublpsxNPT0+GYczNzXNycgxdIAAAAAAAAAC9QqajsUlLSzt27BgRzZo1q127
doYOBwAAAAAAAECvGmqmIzY2VvpfixYt0mAPbm5u7Objx483dGl0aceOHWKx
mMfjLVu2zNCxAAAAAAAAAOhbQ810gFK5ubkRERFE5O7ubmNjY+hwAAAAAAAA
APQNmY5G5auvviotLSWiFStWGDoWAAAAAAAAAANQK9MhlUqPHz/u7u7epUsX
MzOzli1b9u7d+7PPPvvzzz91HlBWVlZAQICTk5NQKDQxMenUqZOvr29ycrJO
dn7gwAHFEVvUGXslNTXVz8/P3t6+VatWZmZm1tbWnp6et2/fVlzz2rVr7G4P
Hz5MRFevXnVxcREKhQKBYMiQIZGRkXLrJycnywaTnZ1NRDExMXJB+vj41Bhk
aWnpnj17iGj06NEODg46PzUAAAAAAAAA9V/NmY6MjAxHR8epU6dGRUU9e/as
oqKisLDwwYMHX3/9tb29/bp163QYzTfffNOtW7eNGzfeuHEjJyensrLyxYsX
4eHhvXr1Yr/DG0RISIidnd2OHTsSEhIKCgoqKirS09MjIyOHDh26evVqFRse
PHhw5MiR58+fz8nJKSkpiY+P9/T03LJlSx3FGR4enpubS2jQAQAAAAAAAE1Y
DZmO/Pz84cOHK228QEQSiSQwMFBXyY7g4OB58+aVl5crLqqsrFywYIHSRXUt
KCho6dKlIpFI6dLNmzfv2rVL6aKUlBQfHx+JRCI3f8OGDenp6TqPUywWBwcH
E5GDg4Ozs7P+KwoAAAAAAACgPqgh07FkyZKUlBR2um3btidOnCgpKXn16tWe
PXtMTEzY+V9++eUff/yhZRxJSUn+/v7s9KBBg44fP56ZmSkSibKzs0+cODF4
8GCdlNbLy4sbseXkyZM1rp+QkLBmzRoi4vP58+bNi4+Pz83NLS4uTkpKWrNm
jZmZGRGtXbs2Pz9fcdvg4OA2bdpERkbm5eXl5+efO3euW7duRCQSidhRYFm2
trZSGe3btyciV1dX6T+Fh4erDvXo0aNpaWlExFUjAAAAAAAAQBOkKtPx4sUL
trMJ1nfffTd58mRzc/O2bdvOnz+fe0RCIpHs3LlTyzi2bdsmFouJyN3d/caN
G+7u7h06dODz+UKhcPLkybdu3fL392cYRs+1ExQUVFVVxTDM8ePHv/7660GD
BrVp06Z58+a9evUKDAz87rvviKi4uDgqKkpx29LS0osXL06fPr1169YtW7Yc
M2ZMTEwMu+jWrVs6D3Xr1q1EZGNjM3nyZD3XEgAAAAAAAED9oSrTce7cOTb7
QETdunWbNGmS7NJPPvmEmz5z5ow2QUilUnYPAoEgLCzM2NhYbgWGYbZs2WJq
aqrPqpFIJGxU77zzjqurq+IKHh4e5ubmRHTz5k3FpRMmTOjXr5/snL59+3bv
3p2IUlNTdRvq2bNnExMTicjPz4/H4+mzlgAAAAAAAADqFVWZjnv37nHTgwYN
klvaqVMn9vENInr16hX76IRm0tPTX716RUSjRo1q06aNoevkb8nJyQUFBUQU
FxdnbGxsbGzM4/F4PJ6RkZGRkRHDMCYmJuyQrllZWYqbOzk5Kc7s2LEjERUV
Fek21KCgICISCoVeXl6GrjYAAAAAAAAAQ1KV6WCzD6zjx49z3/aN/ku2i9Cc
nBy5zQUCgeKQrkqHUOEOxDZ5qCe4Ekml0qqqqqqqKolEIpFI2I4zZNcsKSlR
3NzS0lJxJp/PJ6LKykodxnn79u24uDgiWrBgQbNmzQxdbQAAAAAAAACGZKxi
mez3efbbvoqVCwsLtY9G/z1x6IRc4oNlZFTzCL46wQ5bKxAI5s+fb+iaAAAA
AAAAADAwVZmOWj1IojicanFxsZrbcs0fkpOTNShDHeVHuKg2bty4fv36ujiE
9h49esR2dOrr69u6dWtDhwMAAAAAAABgYKraHch2qPnZZ59JVXJ2dtY4iC5d
urBphdjY2Ly8vNpuznUXkpubq8OqsbW1bdGiBRFdv35dh7tVje1PtKKiQs31
t27dKpVK+Xz+kiVL9BYkAAAAAAAAgKGYmZn+86WZ3AqqMh0ffPAB11wiJiZG
5/1ochiGGTduHBGVlJTMmTOHG/BF1oYNG6r7/m9lZcVO6DYlwePxXFxciOji
xYtHjx5Vuk52dra3t3dKSoquDmphYUFEDx8+VGwjoygjI4MdBnjatGmdO3fW
YdkBAAAAAAAA6qcunf7x/bdL505yK6jKdNja2nIjyz579szJyen//u//MjMz
xWJxcXFxSkrKzZs3v/3223//+9/Lli3TMtDly5ezg8ueOHHCyckpKioqOztb
LBbn5ORER0cPHz5806ZNSrvDICJHR0d2wt/f//Lly7L9pGrJ39+f7W5j+vTp
Xl5eV65cycvLY6M6f/68r69v165d9+/fr05WQk09evQgoqdPny5atCglJUUk
EqlYOSQkRCQSMQyzfPlyXQUAAAAAAAAAUJ/Z9ezR401bMzMzMzOzHm/a2vXo
IbcCU11Pomzjguzs7EGDBj179kz1YWbPnh0eHq5lrMHBwaozJmVlZYqNUlj9
+/e/f/++3MwZM2awTR5YgYGB69atqzGMzZs3r1y5knv55ZdfrlmzRvUmjx8/
trW1ZaevXbs2fPhwIjp06JCnp6fcms7OzpcvX7a2tn769KnSXYWGhirtWFSx
hgsKCjp37lxUVDRu3LjTp09rWfkAAAAAAAAAhlXdoyS17dOzhvFB2rdvf/36
9WHDhumhSEuXLg0NDVWayzA2Ng4JCakuzUFE+/btY1MzOrd69epdu3aZmpoq
XSoUCiMiInQ4OK63t7e9vb06a4aGhrIXgb+/f10UHAAAAAAAAKAhqnkk1M6d
O1+/fv3ChQve3t5vvfVWq1atjI2N27Zt27NnzxEjRqxYseLcuXM7d+7USTRz
585NSUlZv369o6OjpaUln8+3srLy8vJKSEhYvHixig0dHBzi4+OnTp1qaWmp
86FYFi5cmJKSsm7dOi6qdu3aubi47N27Ny0tzdvbW4dHNDMzu3r1akBAwIAB
AywsLKrbc0VFxe7du4nI0dGRbUICAAAAAAAAAFTj0ytQP4WFhX366adEdPLk
STc3N0OHAwAAAAAAAKAtXT29gkxHwyORSHr27JmcnGxnZ/fgwQOdt2EBAAAA
AAAA0D899dMB9VBUVBR7mv38/JDmAAAAAAAAAJCFNh0AAAAAAAAAYHho0wEA
AAAAAAAAIA+ZDgAAAAAAAABoPJDpAAAAAAAAAIDGA5kOAAAAAAAAAGg8kOkA
AAAAAAAAgMYDmQ4AAAAAAAAAaDyQ6QAAAAAAAACAxgOZDgAAAAAAAABoPBpq
psPZ2ZlRUFxcrP4eoqOj2a1Onz5t6NIAAAAAAAAAgG401ExHY9WhQweGYdzc
3LTZiaenJ8Mw5ubmOTk5hi4QAAAAAAAAgF4h09HYpKWlHTt2jIhmzZrVrl07
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
mpiYdOrUydfXNzk5WSc7P3DggOKILeqMvZKamurn52dvb9+qVSszMzNra2tP
T8/bt28rrnnt2jV2t4cPHyaiq1evuri4CIVCgUAwZMiQyMhIufWTk5Nlg8nO
ziaimJgYuSB9fHxqDLK0tHTPnj1ENHr0aAcHB92eFwAAAAAAAIAGoRaZjkeP
HvXv3z88PDwzM7OioiI1NfXrr7/u06dPQkKCrqL55ptvunXrtnHjxhs3buTk
5FRWVr548SI8PLxXr17sd3iDCAkJsbOz27FjR0JCQkFBQUVFRXp6emRk5NCh
Q1evXq1iw4MHD44cOfL8+fM5OTklJSXx8fGenp5btmypozjDw8Nzc3MJDToA
AAAAAACgCatFpsPPz09x1NK8vDw3N7fy8nLtQwkODp43b57SXVVWVi5YsEAn
R6mtoKCgpUuXikQipUs3b968a9cupYtSUlJ8fHwkEonc/A0bNqSnp+s8TrFY
HBwcTEQODg7Ozs76rygAAAAAAACA+qAWmY7y8vIxY8akpKQUFBRs2rSJm5+a
mrpv3z4t40hKSvL392enBw0adPz48czMTJFIlJ2dfeLEicGDB+uktF5eXtyI
LSdPnqxx/YSEhDVr1hARn8+fN29efHx8bm5ucXFxUlLSmjVrzMzMiGjt2rX5
+fmK2wYHB7dp0yYyMjIvLy8/P//cuXPdunUjIpFIxI4Cy7K1tZXKaN++PRG5
urpK/yk8PFx1qEePHk1LSyMirhoBAAAAAAAAmqBaZDratWt3/Pjxbt26tWjR
Yt26de7u7twi2a/umtm2bZtYLCYid3f3GzduuLu7d+jQgc/nC4XCyZMn37p1
y9/fn2EYPddOUFBQVVUVwzDHjx//+uuvBw0a1KZNm+bNm/fq1SswMPC7774j
ouLi4qioKMVtS0tLL168OH369NatW7ds2XLMmDExMTHsolu3buk81K1btxKR
jY3N5MmT9VxLAAAAAAAAAPVHLTIdHh4eAoGAeynbR+adO3cUH9NQn1QqPXPm
DBEJBIKwsDBjY2O5FRiG2bJli6mpqT6rRiKRsFG98847rq6uSivE3NyciG7e
vKm4dMKECf369ZOd07dv3+7duxNRamqqbkM9e/ZsYmIiEfn5+fF4PH3WEgAA
AAAAAEC9UotMx8CBA6t7WVpampWVpXEQ6enpr169IqJRo0a1adPG0HXyt+Tk
5IKCAiKKi4szNjY2Njbm8Xg8Hs/IyMjIyIhhGBMTE3ZIV6Vld3JyUpzZsWNH
IioqKtJtqEFBQUQkFAq9vLwMXW0AAAAAAAAAhlS7p1dkX7Zt29bI6H+bs0kB
WQKBQHFIV6VDqLBpDiJimzzUE1z3q1KptKqqqqqqSiKRSCQStuMM2TVLSkoU
N7e0tFScyefziaiyslKHcd6+fTsuLo6IFixY0KxZM0NXGwAAAAAAAIAh1SLT
obqbDJ10oqH/njh0Qi7xwZJNA9UpdthagUAwf/58Q9cEAAAAAAAAgIEZq7/q
y5cvZV/m5ubK9s1hYWEht35xcbGae+aaPyQnJ2tQhjrKj3BRbdy4cf369XVx
CO09evSI7ejU19e3devWhg4HAAAAAAAAwMBq0e7gzp07si/v3r3LTZubm7/x
xhsaB9GlSxc2rRAbG5uXl1fbzdnRXokoNzdXh1Vja2vbokULIrp+/boOd6sa
259oRUWFmutv3bpVKpXy+fwlS5boLUgAAAAAAACAeqsWmY6jR4/KNtPYu3cv
N/2vf/1Lm4c1GIYZN24cEZWUlMyZM4cdblbOhg0bqvv+b2VlxU7oNiXB4/Fc
XFyI6OLFi0ePHlW6TnZ2tre3d0pKiq4OyjaNefjwoTpj2WRkZBw+fJiIpk2b
1rlzZx2WHQAAAAAAAKCBqkV6IicnZ8qUKU+fPi0qKgoMDDxx4gS3aOrUqVrG
sXz5cnZw2RMnTjg5OUVFRWVnZ4vF4pycnOjo6OHDh2/atElpdxhE5OjoyE74
+/tfvny5vLxcV7Xj7+/PZnCmT5/u5eV15cqVvLw8Nqrz58/7+vp27dp1//79
2oywK6dHjx5E9PTp00WLFqWkpIhEIhUrh4SEiEQihmGWL1+uqwAAAAAAAAAA
GjSmsLBQ6QK2cUHXrl3T0tLYOQKBQGnXG126dHn48KH2o34EBwcvW7ZMxQpl
ZWXcgypy+vfvf//+fbmZM2bMYJs8sAIDA9etW1djGJs3b165ciX38ssvv1yz
Zo3qTR4/fmxra8tOX7t2bfjw4UR06NAhT09PuTWdnZ0vX75sbW399OlTpbsK
DQ1V2rHo7Nmzw8PDZecUFBR07ty5qKho3Lhxp0+f1rLyAQAAAAAAAAyrqKhI
6fza9ulZizYdQUFBiiOntmzZ8scff9TJ4KZLly4NDQ1VmsswNjYOCQmpLs1B
RPv27VPsElUnVq9evWvXLlNTU6VLhUJhRESEDgfH9fb2tre3V2fN0NBQ9iLw
9/evi4IDAAAAAAAANES1yHT06NHj3r17Pj4+nTp1MjEx6dSpk4+PT0JCwr/+
9S9dRTN37tyUlJT169c7OjpaWlry+XwrKysvL6+EhITFixer2NDBwSE+Pn7q
1KmWlpY6H4pl4cKFKSkp69at46Jq166di4vL3r1709LSvL29dXhEMzOzq1ev
BgQEDBgwwMLCoro9V1RU7N69m4gcHR3ZJiQAAAAAAAAAQDU+vQL1U1hY2Kef
fkpEJ0+edHNzM3Q4AAAAAAAAANrS1dMryHQ0PBKJpGfPnsnJyXZ2dg8ePNB5
GxYAAAAAAAAA/TNAPx1QT0RFRbGn2c/PD2kOAAAAAAAAAFlo0wEAAAAAAAAA
hoc2HQAAAAAAAAAA8oxatGhh6BgAAAAAAAAAAHTAwcEBbToAAAAAAAAAoPH4
f0FwiNUifT3XAAAAAElFTkSuQmCC

---212064758-509512656-1600934797=:11676--




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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 07:45:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 24 03:45:37 2020
Received: from localhost ([127.0.0.1]:38526 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLLwf-0006Kn-Bb
	for submit <at> debbugs.gnu.org; Thu, 24 Sep 2020 03:45:37 -0400
Received: from mx.sdf.org ([205.166.94.24]:58267)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ghe@HIDDEN>) id 1kLLwb-0006Kd-8G
 for 43572 <at> debbugs.gnu.org; Thu, 24 Sep 2020 03:45:35 -0400
Received: from sdf.org (IDENT:ghe@HIDDEN [205.166.94.8])
 by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 08O7jVxY010246
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO);
 Thu, 24 Sep 2020 07:45:32 GMT
Received: (from ghe@localhost)
 by sdf.org (8.15.2/8.12.8/Submit) id 08O7jldK010226;
 Thu, 24 Sep 2020 07:45:47 GMT
Date: Thu, 24 Sep 2020 07:45:29 +0000
From: Gregory Heytings <ghe@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
In-Reply-To: <jwvh7roq66w.fsf-monnier+emacs@HIDDEN>
Message-ID: <alpine.NEB.2.22.394.2009240926350453.10745@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
 <jwvmu1gs20a.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232218080453.713@HIDDEN>
 <jwvsgb8qdxs.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009240124100453.16223@HIDDEN>
 <jwvh7roq66w.fsf-monnier+emacs@HIDDEN>
User-Agent: Alpine 2.22 (NEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset=US-ASCII
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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 (-)


>> Simply because I asked my window manager to always maximize Emacs 
>> frames.
>
> Aha!
>
> Yet another loophole!
>

Hmm...  Given the popularity (among a certain kind of users) of tiling 
window managers and the popularity (among a much larger kind of users) of 
using fullscreen apps, I don't think Emacs can expect to fully control the 
size of its frame.  But indeed I see what you mean, ideally emacs -Q 
should give a frame of the same size everywhere.  So it could perhaps make 
sense to try to do something like:

(set-frame-width nil 80)
(set-frame-height nil 40)

(which works for me) at the end of the initialization process with "-q" or 
"-Q".




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

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


Received: (at 43572) by debbugs.gnu.org; 24 Sep 2020 02:07:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 23 22:07:13 2020
Received: from localhost ([127.0.0.1]:38238 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLGfB-0002BM-MM
	for submit <at> debbugs.gnu.org; Wed, 23 Sep 2020 22:07:13 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:59202)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1kLGf7-0002B6-Pv
 for 43572 <at> debbugs.gnu.org; Wed, 23 Sep 2020 22:07:12 -0400
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 90E2C440B43;
 Wed, 23 Sep 2020 22:07:04 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 725E644072F;
 Wed, 23 Sep 2020 22:07:03 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1600913223;
 bh=Q+zFGoLSqpFIRgO9Rh03oasvetXsK6oyHyKnwzAh3wY=;
 h=From:To:Cc:Subject:References:Date:In-Reply-To:From;
 b=TeDF5R7KUs6Lg25seU5VvuExm6BtKgni+wcykvGGZ7ENHcvYireME8XyI+Y3eUbAc
 4CJCGgQwfNt2lMnR+9Advf02v2gi44Ur195UnOmpTXBuOEPHdru9Pal0oW0jLs5QME
 fIdqBfcBHuRUSXI53tXhyGCa6LrAaPo7IRZrlCYTMl272HvPUKk3e2tuwjEuXqPpN1
 bfu1GemDtggIY2/tZA7FdiYKLMvaaP6ozTNQl0MtXqO223Hd0mGJ/Jb01WtXNRPCGM
 Ti3kFbU1PLsVCbiENuHRV5Wlo3cnHOX0K1S/2OYXajOQ7sQDWa17sXeWsNYSivPay/
 YQJu2r6nIgkzw==
Received: from alfajor (unknown [45.72.232.131])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 4C8BC1202CD;
 Wed, 23 Sep 2020 22:07:03 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Gregory Heytings <ghe@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
Message-ID: <jwvh7roq66w.fsf-monnier+emacs@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
 <jwvmu1gs20a.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232218080453.713@HIDDEN>
 <jwvsgb8qdxs.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009240124100453.16223@HIDDEN>
Date: Wed, 23 Sep 2020 22:07:02 -0400
In-Reply-To: <alpine.NEB.2.22.394.2009240124100453.16223@HIDDEN>
 (Gregory Heytings's message of "Wed, 23 Sep 2020 23:26:26 +0000")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.058 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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: -3.3 (---)

> Simply because I asked my window manager to always maximize Emacs frames.

Aha!

Yet another loophole!
Thanks,


        Stefan





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

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


Received: (at 43572) by debbugs.gnu.org; 23 Sep 2020 23:26:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 23 19:26:33 2020
Received: from localhost ([127.0.0.1]:38162 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLE9g-0006vx-Ud
	for submit <at> debbugs.gnu.org; Wed, 23 Sep 2020 19:26:33 -0400
Received: from mx.sdf.org ([205.166.94.24]:63966)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ghe@HIDDEN>) id 1kLE9e-0006vo-R0
 for 43572 <at> debbugs.gnu.org; Wed, 23 Sep 2020 19:26:31 -0400
Received: from sdf.org (IDENT:ghe@HIDDEN [205.166.94.8])
 by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 08NNQT2k014261
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO);
 Wed, 23 Sep 2020 23:26:29 GMT
Received: (from ghe@localhost)
 by sdf.org (8.15.2/8.12.8/Submit) id 08NNQjeP008811;
 Wed, 23 Sep 2020 23:26:45 GMT
Date: Wed, 23 Sep 2020 23:26:26 +0000
From: Gregory Heytings <ghe@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
In-Reply-To: <jwvsgb8qdxs.fsf-monnier+emacs@HIDDEN>
Message-ID: <alpine.NEB.2.22.394.2009240124100453.16223@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
 <jwvmu1gs20a.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232218080453.713@HIDDEN>
 <jwvsgb8qdxs.fsf-monnier+emacs@HIDDEN>
User-Agent: Alpine 2.22 (NEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII; format=flowed
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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 (-)


>>> Really?  Despite the `-Q`?  Is it using a proportional font?
>>> Oh, wait, is it because you're running that Emacs session in a tty rather than in a GUI?
>>
>> Yes, yes, no, no ;-)
>>
>>> How many columns wide is the frame?
>>
>> 167, Sir! ;-)
>
> How? why?
>

Simply because I asked my window manager to always maximize Emacs frames.




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

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


Received: (at 43572) by debbugs.gnu.org; 23 Sep 2020 23:20:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 23 19:20:22 2020
Received: from localhost ([127.0.0.1]:38157 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLE3i-0006n2-7I
	for submit <at> debbugs.gnu.org; Wed, 23 Sep 2020 19:20:22 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:47280)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1kLE3g-0006mn-2x
 for 43572 <at> debbugs.gnu.org; Wed, 23 Sep 2020 19:20:20 -0400
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id E2A38814CD;
 Wed, 23 Sep 2020 19:20:14 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 60155809C7;
 Wed, 23 Sep 2020 19:20:13 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1600903213;
 bh=25ZKeO0GoLyW8Z1Auwz4UUWuX2BpisUVnG4Ybc1LcEs=;
 h=From:To:Cc:Subject:References:Date:In-Reply-To:From;
 b=MKUmuZi11la59WMGggq1ToY2cZk2M0k6jOe/PN+2vgCB0vkQM2bhI/n8VdzJxf53c
 LahO0WPoT+uBpxWBSt5ZHnznj9QDuKeVhPvbk0Dy2KMD/FrV99eBejyM6xCr3RjNZL
 rJMCko2/cy3pg1SsYoITy8pSWaB6M2VT+RokM7qxuBe9WGeAh+iWKyqq1LBH74nb1r
 laXoPUGA3dHlwU9Aq6xlyv68yBVSQhpuq76ohH2PIxWfsD8RxFiMaJSegejpYtcg6Y
 zfBiXIZTxh2oLXILtsbSPl3ed3vs9Yl4XfTmuwEkL4XI1vK7CY8F/sOAuJZis6zLDS
 HjY+aWmml/dug==
Received: from alfajor (unknown [45.72.232.131])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 2CFA8120516;
 Wed, 23 Sep 2020 19:20:13 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Gregory Heytings <ghe@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
Message-ID: <jwvsgb8qdxs.fsf-monnier+emacs@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
 <jwvmu1gs20a.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232218080453.713@HIDDEN>
Date: Wed, 23 Sep 2020 19:20:12 -0400
In-Reply-To: <alpine.NEB.2.22.394.2009232218080453.713@HIDDEN>
 (Gregory Heytings's message of "Wed, 23 Sep 2020 22:47:05 +0000")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.074 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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: -3.3 (---)

>> Really?  Despite the `-Q`?  Is it using a proportional font?
>> Oh, wait, is it because you're running that Emacs session in a tty rather than in a GUI?
> Yes, yes, no, no ;-)
>> How many columns wide is the frame?
> 167, Sir! ;-)

How? why?


        Stefan





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

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


Received: (at 43572) by debbugs.gnu.org; 23 Sep 2020 23:18:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 23 19:18:52 2020
Received: from localhost ([127.0.0.1]:38152 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLE2F-0006kV-SD
	for submit <at> debbugs.gnu.org; Wed, 23 Sep 2020 19:18:52 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:58047)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1kLE2B-0006kG-Pw
 for 43572 <at> debbugs.gnu.org; Wed, 23 Sep 2020 19:18:50 -0400
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id C8A961001CB;
 Wed, 23 Sep 2020 19:18:41 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 519FF100031;
 Wed, 23 Sep 2020 19:18:40 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1600903120;
 bh=fOGCJ0beHxnlBCnaRW+6YcstWCu4fc3aW2LTiOVbvas=;
 h=From:To:Cc:Subject:References:Date:In-Reply-To:From;
 b=EDcTkJd7X16sd4elFzfL7Cj+gqdNAR1KlOytV25pFFzhVwzeft2lMfnrwqo/4H6zw
 otey2eREbGgN4hmSSfV+z5f5lJc9NRNZZnfGQhzEkrvGGo/aKG8PH0PspPgyHBxavT
 Uzlun1nbyuN9Hud7Herg4aMRgj1+sBLZF2bG+ngPxR8PoF7OhRM5zn27uf0g8mwfFS
 RUwwSBE+5qjEr+5gVtSEOoZsbwkQxA+q16LeK4UsZgzdpZOg4Js3toYdr+FochEZjF
 RuogoZZk4AkYSDkvHPWVK3ORf23jioaoPLm3GcU97fJPh8Pj7mYOjPZCA9ulTUgw5O
 wpNawW79C7JkQ==
Received: from alfajor (unknown [45.72.232.131])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 175F4120249;
 Wed, 23 Sep 2020 19:18:40 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
Message-ID: <jwvy2l0qe29.fsf-monnier+emacs@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN> <83a6xguy7w.fsf@HIDDEN>
Date: Wed, 23 Sep 2020 19:18:39 -0400
In-Reply-To: <83a6xguy7w.fsf@HIDDEN> (Eli Zaretskii's message of "Wed, 23 Sep
 2020 21:47:31 +0300")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.049 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: ghe@HIDDEN, 43572 <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: -3.3 (---)

> This could be a useful new feature, but we still need to decide what
> should the display engine do when the chunk of text marked with this
> new indication (some text property, probably?) cannot all of it be
> displayed.  Should it then display only its first part, only its last
> part, something else?

I think this can be controlled with the position of point (which
I guess should be presumed to be somewhere within the "important
chunk").  The idea would be to maximize the amount of chunk that's
displayed, but under the usual constraint that point is displayed.


        Stefan





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

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


Received: (at 43572) by debbugs.gnu.org; 23 Sep 2020 22:59:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 23 18:59:09 2020
Received: from localhost ([127.0.0.1]:38125 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLDjB-0006Gi-4m
	for submit <at> debbugs.gnu.org; Wed, 23 Sep 2020 18:59:09 -0400
Received: from mx.sdf.org ([205.166.94.24]:49460)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ghe@HIDDEN>) id 1kLDj8-0006GX-MJ
 for 43572 <at> debbugs.gnu.org; Wed, 23 Sep 2020 18:59:07 -0400
Received: from sdf.org (IDENT:ghe@HIDDEN [205.166.94.8])
 by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 08NMx5pm006037
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO);
 Wed, 23 Sep 2020 22:59:05 GMT
Received: (from ghe@localhost)
 by sdf.org (8.15.2/8.12.8/Submit) id 08NMxLCS023757;
 Wed, 23 Sep 2020 22:59:21 GMT
Date: Wed, 23 Sep 2020 22:59:03 +0000
From: Gregory Heytings <ghe@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
In-Reply-To: <837dskuvx3.fsf@HIDDEN>
Message-ID: <alpine.NEB.2.22.394.2009240051480453.12425@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <83h7rov7xy.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009231827310453.19701@HIDDEN>
 <837dskuvx3.fsf@HIDDEN>
User-Agent: Alpine 2.22 (NEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset=US-ASCII
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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 (-)


>>> Binding the variable inside the minibuffer-setup-hook will affect all 
>>> the subsequent calls to resize_mini_window, until the next call to 
>>> read-from-minibuffer resets it, which may not be what the Lisp program 
>>> wants, and could have unintended consequences.
>>
>> I can't think of such unintended consequences.  In the use case of 
>> displaying completion candidates, this (the fact that it affects all 
>> successive calls to resize_mini_window) is indeed what is wanted.
>
> Well, I _can_ think of such consequences.  As I said, resize_mini_window 
> is called in many situations that don't involve completion, so setting 
> that variable to affect all of them is a bad idea.  We need something 
> more fine-grained if we want to implement such a feature.
>

I believe I have dealt with these consequences (or at least with some of 
them) in the update patch I just sent.  Feel free to tell me if there are 
other cases in which resize_mini_window() is called with a wrong value for 
start_display_at_beginning_of_minibuffer.  It is now saved by 
read_minibuf(), and reset by read_minibuf() and read_minibuf_unwind().




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

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


Received: (at 43572) by debbugs.gnu.org; 23 Sep 2020 22:47:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 23 18:47:13 2020
Received: from localhost ([127.0.0.1]:38121 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLDXc-0005zu-UJ
	for submit <at> debbugs.gnu.org; Wed, 23 Sep 2020 18:47:13 -0400
Received: from mx.sdf.org ([205.166.94.24]:49981)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ghe@HIDDEN>) id 1kLDXa-0005zk-FR
 for 43572 <at> debbugs.gnu.org; Wed, 23 Sep 2020 18:47:11 -0400
Received: from sdf.org (IDENT:ghe@HIDDEN [205.166.94.8])
 by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 08NMl8ua022086
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO);
 Wed, 23 Sep 2020 22:47:09 GMT
Received: (from ghe@localhost)
 by sdf.org (8.15.2/8.12.8/Submit) id 08NMlLk6022420;
 Wed, 23 Sep 2020 22:47:21 GMT
Date: Wed, 23 Sep 2020 22:47:05 +0000
From: Gregory Heytings <ghe@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
In-Reply-To: <jwvmu1gs20a.fsf-monnier+emacs@HIDDEN>
Message-ID: <alpine.NEB.2.22.394.2009232218080453.713@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
 <jwvmu1gs20a.fsf-monnier+emacs@HIDDEN>
User-Agent: Alpine 2.22 (NEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="-212064758-1977573190-1600895041=:713"
Content-ID: <alpine.NEB.2.22.394.2009240032101453.11578@HIDDEN>
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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 (-)

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

---212064758-1977573190-1600895041=:713
Content-Type: text/plain; charset=US-ASCII; format=flowed
Content-ID: <alpine.NEB.2.22.394.2009232339391453.5259@HIDDEN>


>
> Really?  Despite the `-Q`?  Is it using a proportional font?
> Oh, wait, is it because you're running that Emacs session in a tty rather than in a GUI?
>

Yes, yes, no, no ;-)

>
> How many columns wide is the frame?
>

167, Sir! ;-)

>> No, if you look at the patch its value is reset to nil whenever the 
>> minibuffer is entered.
>
> That still leaves the non-minibuffer uses of the mini window (i.e. the 
> echo area).
>
> And of course, that will also result in the use of an incorrect value 
> when you exit a *nested* minibuffer (unless both minibuffers were using 
> the same value).
>

Thank you very much for the pointers, indeed I completely forgot about 
these cases.  See the attached corrected patch, in which they are dealt 
with.  I believe start_display_at_beginning_of_minibuffer how has the 
value it should have whenever resize_mini_window() is called.

>>> I don't have a patch to suggest, but I think ideally, I'd want clients 
>>> like icomplete to tell the redisplay either something like "please 
>>> display as much as possible of *this* chunk of text" or maybe "feel 
>>> free not to display all of this overlay, it's not super important".
>>
>> Yes, that's the point.  The patch I proposed tells redisplay "please 
>> display as much as possible of the text between BOB and point", when 
>> the current behavior tells redisplay "please display as much as 
>> possible of the text between point and EOB".  Something more 
>> fine-grained would of course be possible, but I don't think it is a 
>> good idea to implement a feature when there is no clear need for it.
>
> I think what I was getting at is that this "request" should come from 
> the minibuffer's text rather than from a variable.
>

If this were possible, it would be even better indeed.  An "importance" 
text property, which would inform redisplay (?) of the relative importance 
of the parts of the buffer.  But implementing this is several orders of 
magnitude harder than implementing my proposal.
---212064758-1977573190-1600895041=:713
Content-Type: text/x-diff; name=start-display-at-beginning-of-minibuffer.patch
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.NEB.2.22.394.2009240047040453.11578@HIDDEN>
Content-Description: 
Content-Disposition: attachment; filename=start-display-at-beginning-of-minibuffer.patch

ZGlmZiAtLWdpdCBhL3NyYy9taW5pYnVmLmMgYi9zcmMvbWluaWJ1Zi5jDQpp
bmRleCBmOTU3YjJhZTE3Li42OTFhOGM0ZjliIDEwMDY0NA0KLS0tIGEvc3Jj
L21pbmlidWYuYw0KKysrIGIvc3JjL21pbmlidWYuYw0KQEAgLTQ3Miw2ICs0
NzIsOCBAQCByZWFkX21pbmlidWYgKExpc3BfT2JqZWN0IG1hcCwgTGlzcF9P
YmplY3QgaW5pdGlhbCwgTGlzcF9PYmplY3QgcHJvbXB0LA0KICAgICA9IEZj
b25zIChWb3ZlcnJpZGluZ19sb2NhbF9tYXAsDQogCSAgICAgRmNvbnMgKG1p
bmlidWZfd2luZG93LA0KIAkJICAgIG1pbmlidWZfc2F2ZV9saXN0KSk7DQor
ICBtaW5pYnVmX3NhdmVfbGlzdA0KKyAgICA9IEZjb25zIChWc3RhcnRfZGlz
cGxheV9hdF9iZWdpbm5pbmdfb2ZfbWluaWJ1ZmZlciwgbWluaWJ1Zl9zYXZl
X2xpc3QpOw0KICAgbWluaWJ1Zl9zYXZlX2xpc3QNCiAgICAgPSBGY29ucyAo
bWluaWJ1Zl9wcm9tcHQsDQogCSAgICAgRmNvbnMgKG1ha2VfZml4bnVtICht
aW5pYnVmX3Byb21wdF93aWR0aCksDQpAQCAtNDk0LDYgKzQ5Niw3IEBAIHJl
YWRfbWluaWJ1ZiAoTGlzcF9PYmplY3QgbWFwLCBMaXNwX09iamVjdCBpbml0
aWFsLCBMaXNwX09iamVjdCBwcm9tcHQsDQogDQogICAvKiBOb3cgdGhhdCB3
ZSBjYW4gcmVzdG9yZSBhbGwgdGhvc2UgdmFyaWFibGVzLCBzdGFydCBjaGFu
Z2luZyB0aGVtLiAgKi8NCiANCisgIFZzdGFydF9kaXNwbGF5X2F0X2JlZ2lu
bmluZ19vZl9taW5pYnVmZmVyID0gUW5pbDsNCiAgIG1pbmlidWZfcHJvbXB0
X3dpZHRoID0gMDsNCiAgIG1pbmlidWZfcHJvbXB0ID0gRmNvcHlfc2VxdWVu
Y2UgKHByb21wdCk7DQogICBWbWluaWJ1ZmZlcl9oaXN0b3J5X3Bvc2l0aW9u
ID0gaGlzdHBvczsNCkBAIC04MDIsNiArODA1LDggQEAgcmVhZF9taW5pYnVm
X3Vud2luZCAodm9pZCkNCiAgIG1pbmlidWZfc2F2ZV9saXN0ID0gRmNkciAo
bWluaWJ1Zl9zYXZlX2xpc3QpOw0KICAgVm1pbmlidWZmZXJfaGlzdG9yeV92
YXJpYWJsZSA9IEZjYXIgKG1pbmlidWZfc2F2ZV9saXN0KTsNCiAgIG1pbmli
dWZfc2F2ZV9saXN0ID0gRmNkciAobWluaWJ1Zl9zYXZlX2xpc3QpOw0KKyAg
VnN0YXJ0X2Rpc3BsYXlfYXRfYmVnaW5uaW5nX29mX21pbmlidWZmZXIgPSBG
Y2FyIChtaW5pYnVmX3NhdmVfbGlzdCk7DQorICBtaW5pYnVmX3NhdmVfbGlz
dCA9IEZjZHIgKG1pbmlidWZfc2F2ZV9saXN0KTsNCiAgIFZvdmVycmlkaW5n
X2xvY2FsX21hcCA9IEZjYXIgKG1pbmlidWZfc2F2ZV9saXN0KTsNCiAgIG1p
bmlidWZfc2F2ZV9saXN0ID0gRmNkciAobWluaWJ1Zl9zYXZlX2xpc3QpOw0K
ICNpZiAwDQpAQCAtMjA5Nyw2ICsyMTAyLDE1IEBAIHN5bXNfb2ZfbWluaWJ1
ZiAodm9pZCkNCiB1c2VzIHRvIGhpZGUgcGFzc3dvcmRzLiAgKi8pOw0KICAg
VnJlYWRfaGlkZV9jaGFyID0gUW5pbDsNCiANCisgIERFRlZBUl9MSVNQICgi
c3RhcnQtZGlzcGxheS1hdC1iZWdpbm5pbmctb2YtbWluaWJ1ZmZlciIsIFZz
dGFydF9kaXNwbGF5X2F0X2JlZ2lubmluZ19vZl9taW5pYnVmZmVyLA0KKwkg
ICAgICAgZG9jOiAvKiBXaGV0aGVyIHRvIHByZWZlcmFibHkgZGlzcGxheSB0
aGUgYmVnaW5uaW5nIG9mIHRoZSBtaW5pYnVmZmVyLg0KK1doZW4gdGhlIG1p
bmktd2luZG93IGlzIG5vdCBsYXJnZSBlbm91Z2ggdG8gZGlzcGxheSB0aGUg
Y29tcGxldGUgbWluaWJ1ZmZlciwNCit0aGUgZGVmYXVsdCBiZWhhdmlvciBp
cyB0byBkaXNwbGF5IHRoZSBsYXN0IHBhcnQgb2YgdGhlIG1pbmlidWZmZXIg
YW5kIHRvDQoraGlkZSBpdHMgZmlyc3QgcGFydC4gIFRoaXMgdmFyaWFibGUg
cmV2ZXJzZXMgdGhhdCBiZWhhdmlvci4gIFRoaXMgdmFyaWFibGUNCitpcyBy
ZXNldCBiZWZvcmUgYW5kIGFmdGVyIGVhY2ggcmVhZCBmcm9tIHRoZSBtaW5p
YnVmZmVyLCBhbmQgbXVzdCBiZSBzZXQgaW4NCitgbWluaWJ1ZmZlci1zZXR1
cC1ob29rJy4gICovKTsNCisgIFZzdGFydF9kaXNwbGF5X2F0X2JlZ2lubmlu
Z19vZl9taW5pYnVmZmVyID0gUW5pbDsNCisNCiAgIGRlZnN1YnIgKCZTYWN0
aXZlX21pbmlidWZmZXJfd2luZG93KTsNCiAgIGRlZnN1YnIgKCZTc2V0X21p
bmlidWZmZXJfd2luZG93KTsNCiAgIGRlZnN1YnIgKCZTcmVhZF9mcm9tX21p
bmlidWZmZXIpOw0KZGlmZiAtLWdpdCBhL3NyYy94ZGlzcC5jIGIvc3JjL3hk
aXNwLmMNCmluZGV4IDQ5MjI1YzU2ZmUuLjFiMWEzNGI5N2YgMTAwNjQ0DQot
LS0gYS9zcmMveGRpc3AuYw0KKysrIGIvc3JjL3hkaXNwLmMNCkBAIC0xMTgw
NCw3ICsxMTgwNCw3IEBAIHJlc2l6ZV9taW5pX3dpbmRvdyAoc3RydWN0IHdp
bmRvdyAqdywgYm9vbCBleGFjdF9wKQ0KIAl9DQogDQogICAgICAgLyogQ29t
cHV0ZSBhIHN1aXRhYmxlIHdpbmRvdyBzdGFydC4gICovDQotICAgICAgaWYg
KGhlaWdodCA+IG1heF9oZWlnaHQpDQorICAgICAgaWYgKGhlaWdodCA+IG1h
eF9oZWlnaHQgJiYgIUVRIChWc3RhcnRfZGlzcGxheV9hdF9iZWdpbm5pbmdf
b2ZfbWluaWJ1ZmZlciwgUXQpKQ0KIAl7DQogCSAgaGVpZ2h0ID0gKG1heF9o
ZWlnaHQgLyB1bml0KSAqIHVuaXQ7DQogCSAgaW5pdF9pdGVyYXRvciAoJml0
LCB3LCBaViwgWlZfQllURSwgTlVMTCwgREVGQVVMVF9GQUNFX0lEKTsNCkBA
IC0xMTgxMiw3ICsxMTgxMiwxMCBAQCByZXNpemVfbWluaV93aW5kb3cgKHN0
cnVjdCB3aW5kb3cgKncsIGJvb2wgZXhhY3RfcCkNCiAJICBzdGFydCA9IGl0
LmN1cnJlbnQucG9zOw0KIAl9DQogICAgICAgZWxzZQ0KLQlTRVRfVEVYVF9Q
T1MgKHN0YXJ0LCBCRUdWLCBCRUdWX0JZVEUpOw0KKwl7DQorCSAgaWYgKGhl
aWdodCA+IG1heF9oZWlnaHQpIGhlaWdodCA9IChtYXhfaGVpZ2h0IC8gdW5p
dCkgKiB1bml0Ow0KKwkgIFNFVF9URVhUX1BPUyAoc3RhcnQsIEJFR1YsIEJF
R1ZfQllURSk7DQorCX0NCiANCiAgICAgICBTRVRfTUFSS0VSX0ZST01fVEVY
VF9QT1MgKHctPnN0YXJ0LCBzdGFydCk7DQogDQo=

---212064758-1977573190-1600895041=:713--




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

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


Received: (at 43572) by debbugs.gnu.org; 23 Sep 2020 20:16:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 23 16:16:03 2020
Received: from localhost ([127.0.0.1]:37985 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLBBK-00019r-Ry
	for submit <at> debbugs.gnu.org; Wed, 23 Sep 2020 16:16:03 -0400
Received: from mx.sdf.org ([205.166.94.24]:60584)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ghe@HIDDEN>) id 1kLBBI-00019J-EP
 for 43572 <at> debbugs.gnu.org; Wed, 23 Sep 2020 16:16:01 -0400
Received: from sdf.org (IDENT:ghe@HIDDEN [205.166.94.8])
 by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 08NKFu16029114
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO);
 Wed, 23 Sep 2020 20:15:57 GMT
Received: (from ghe@localhost)
 by sdf.org (8.15.2/8.12.8/Submit) id 08NKGBlB002877;
 Wed, 23 Sep 2020 20:16:11 GMT
Date: Wed, 23 Sep 2020 20:15:54 +0000
From: Gregory Heytings <ghe@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
In-Reply-To: <837dskuvx3.fsf@HIDDEN>
Message-ID: <alpine.NEB.2.22.394.2009232148140453.30611@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <83h7rov7xy.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009231827310453.19701@HIDDEN>
 <837dskuvx3.fsf@HIDDEN>
User-Agent: Alpine 2.22 (NEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset=US-ASCII
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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 (-)


>
> And given the policy of displaying the last visible part, what would you 
> expect in this case?
>

I do not expect something else with the current policy, I suggest to add a 
new policy with whom the first part of the minibuffer would be displayed 
instead of its last part.

>>> How will Lisp programs decide when to set this flag and when not to 
>>> set it?  What would be the criteria?
>>
>> The criteria is simply: should the prompt and user input be displayed?
>
> How do you decide that?
>

I gave a simple and clear example of an implementation of vertical 
icomplete, which demonstrates how this feature would be used:

(setq icomplete-separator "\n")
(add-hook 'icomplete-minibuffer-setup-hook (lambda () (setq start-display-at-beginning-of-minibuffer t)))

Please try it (together with my patch), you'll see what I mean.

With the current behavior (with (setq icomplete-separator "\n")), whenever 
the prompt and user input are larger than the width of Emacs' frame and 
there are too many completion candidates, the prompt and user input 
disappear, and when there are only a few completion candidates the prompt 
and user input re-appear.

With this patch the prompt and user input are always visible, and as many 
completion candidates as possible (given max-mini-window-height) are 
displayed after them.

>
> Or let me ask it differently: when will a program decide that it wants 
> the current behavior of perhaps NOT showing the prompt, if the 
> mini-window is not large enough?
>

In the use case of completion candidates displayed after point with an 
overlay at EOB, the answer is simple: never.  If at some point it becomes 
impossible to display the prompt, say because max-mini-window-height 
equals 1 and the prompt and user input are larger than the width of the 
Emacs frame, redisplay will hide the prompt, and that's fine.  As you 
said: "Displaying long stuff in a mini-window that is forced to be small 
will always present some problems, no matter what we do."

>> Doing this automatically (that is, unconditionally) would have the 
>> consequence that when point reaches the last line of the minibuffer 
>> (that is, the max-mini-window-height's line), the mini-buffer would be 
>> recentered, and the topmost lines would be hidden.
>
> What resize_mini_window does ensures that recentering doesn't happen. 
> That is why it sets w->start: it's an indication to the display engine 
> to obey that window-start position if point is visible with it.
>
> So you are trying to solve a case that doesn't need to be solved.
>

I'm not trying to solve any problem here.  You said: "If you are saying 
that any Lisp program that reads from the minibuffer will want that, then 
(assuming that others agree), it would be better to do this automatically 
in the display code."  I answered this by saying: "This is not what I'm 
saying, and I would not dare to make such a general judgment.  I only 
claim that it is better to make this possible.  There is at least one case 
where I think it is better not to do this automatically."  And I explained 
that case.

>>> Binding the variable inside the minibuffer-setup-hook will affect all 
>>> the subsequent calls to resize_mini_window, until the next call to 
>>> read-from-minibuffer resets it, which may not be what the Lisp program 
>>> wants, and could have unintended consequences.
>>
>> I can't think of such unintended consequences.  In the use case of 
>> displaying completion candidates, this (the fact that it affects all 
>> successive calls to resize_mini_window) is indeed what is wanted.
>
> Well, I _can_ think of such consequences.  As I said, resize_mini_window 
> is called in many situations that don't involve completion, so setting 
> that variable to affect all of them is a bad idea.  We need something 
> more fine-grained if we want to implement such a feature.
>

It would be very helpful if you could clarify what the consequences you 
think of are.




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

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


Received: (at 43572) by debbugs.gnu.org; 23 Sep 2020 20:01:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 23 16:01:12 2020
Received: from localhost ([127.0.0.1]:37966 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLAwv-0000eb-Cw
	for submit <at> debbugs.gnu.org; Wed, 23 Sep 2020 16:01:12 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:64825)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1kLAwq-0000dq-Ds
 for 43572 <at> debbugs.gnu.org; Wed, 23 Sep 2020 16:01:08 -0400
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 825EB440708;
 Wed, 23 Sep 2020 16:00:58 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id D0186440587;
 Wed, 23 Sep 2020 16:00:56 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1600891256;
 bh=2Hl3Px60TBw7dA3Di7aZNJ5YzZN8Y7dNO9IqKOSEbRQ=;
 h=From:To:Cc:Subject:References:Date:In-Reply-To:From;
 b=UZJqd9R1q1QNmfWFPxlfHd0keqeqM5kYPNZV8C0xonzGfGoZYZ5Wz+ZPLuSN1v7rC
 L34Y638gbB0lQrs7XSDzKua211QyuBTFfzQH59zbfK51vfBionQxdOfZqv9Ze7MkEt
 8vA58envzOqFHuuHiEutKSuX1AF23326nemplHQCJQRlWQ7b+/6A5ClorDyyhwZW6M
 q7PDAwIc+wieez3LQEzS0s/PcF0ginM/3dJ3FlIeoKgyCDxVflwd0DPjYzsDat2W0u
 usE7uPGm6Q4RFHhQqi3ADYeqJ4IYNAybwLXjK4ZD7onk5TRTd1X2wJQ3/nM6+j3YYA
 u33T0F+d6ifFQ==
Received: from alfajor (unknown [45.72.232.131])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 55A03120298;
 Wed, 23 Sep 2020 16:00:56 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Gregory Heytings <ghe@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
Message-ID: <jwvmu1gs20a.fsf-monnier+emacs@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
 <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
Date: Wed, 23 Sep 2020 16:00:55 -0400
In-Reply-To: <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
 (Gregory Heytings's message of "Wed, 23 Sep 2020 19:46:18 +0000")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.057 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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: -3.3 (---)

>>    src/emacs -Q --eval '(setq max-mini-window-height 2)' -f icomplete-mode
>>    C-x C-f
>> lisp/progmodes/../progmodes/../progmodes/../progmodes/../progmodes/../progmodes/../progmodes/../progmodes/../progmodes/../
>>
>> where we see the whole of icomplete's overlay rather than seeing the whole
>> of the minibuffer's actual content.
>>
>
> The problem is that such a recipe would only work with a not-too-wide Emacs
> frame and a not-too-small default font.  For example, on my computer, it
> does not demonstrate the problem.

Really?  Despite the `-Q`?  Is it using a proportional font?
How many columns wide is the frame?
Oh, wait, is it because you're running that Emacs session in a tty
rather than in a GUI?

>>> The attached patch does not change the behavior of Emacs in any way,
>>> unless the feature it introduces is used.
>> I see the following potential problem with it: icomplete will likely want
>> to set it globally, but that means it will also affect uses of the mini
>> window where icomplete is not used.  Also, potential other users may
>> encounter similar difficulties.
> No, if you look at the patch its value is reset to nil whenever the
> minibuffer is entered.

That still leaves the non-minibuffer uses of the mini window (i.e. the
echo area).

And of course, that will also result in the use of an incorrect value
when you exit a *nested* minibuffer (unless both minibuffers were using
the same value).

>> I don't have a patch to suggest, but I think ideally, I'd want clients
>> like icomplete to tell the redisplay either something like "please display
>> as much as possible of *this* chunk of text" or maybe "feel free not to
>> display all of this overlay, it's not super important".
>
> Yes, that's the point.  The patch I proposed tells redisplay "please display
> as much as possible of the text between BOB and point", when the current
> behavior tells redisplay "please display as much as possible of the text
> between point and EOB".  Something more fine-grained would of course be
> possible, but I don't think it is a good idea to implement a feature when
> there is no clear need for it.

I think what I was getting at is that this "request" should come from
the minibuffer's text rather than from a variable.


        Stefan





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

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


Received: (at 43572) by debbugs.gnu.org; 23 Sep 2020 19:46:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 23 15:46:23 2020
Received: from localhost ([127.0.0.1]:37928 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLAid-00008Z-FM
	for submit <at> debbugs.gnu.org; Wed, 23 Sep 2020 15:46:23 -0400
Received: from mx.sdf.org ([205.166.94.24]:62029)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ghe@HIDDEN>) id 1kLAic-00008R-2u
 for 43572 <at> debbugs.gnu.org; Wed, 23 Sep 2020 15:46:23 -0400
Received: from sdf.org (IDENT:ghe@HIDDEN [205.166.94.8])
 by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 08NJkLJC008444
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO);
 Wed, 23 Sep 2020 19:46:21 GMT
Received: (from ghe@localhost)
 by sdf.org (8.15.2/8.12.8/Submit) id 08NJkbDs019443;
 Wed, 23 Sep 2020 19:46:37 GMT
Date: Wed, 23 Sep 2020 19:46:18 +0000
From: Gregory Heytings <ghe@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
In-Reply-To: <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
Message-ID: <alpine.NEB.2.22.394.2009232116430453.29439@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
User-Agent: Alpine 2.22 (NEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset=US-ASCII
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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 (-)


>> One case in which this behavior is not desirable is when completion 
>> candidates are displayed with an overlay at the end of the buffer. When 
>> this overlay is taller than max-mini-window-height, the prompt and the 
>> user input so far disappear.  A simple example: M-: (setq 
>> max-mini-window-height 1), M-x icomplete-mode, M-x a.
>
> You should update your recipe, because Eli's patch takes care of this 
> case already.
>

Indeed, but this recipe is what exists in Emacs 27.1 and what most people 
can try immediately.  The "problem" with Eli's patch is that it takes care 
of 95% of the cases, and that the remaining 5% are more difficult to see, 
yet are there.

>
> I'm not completely sure which case(s) you're thinking of now that Eli's 
> patch handles the most common case we've seen so far.  But maybe the 
> problem shows up when we have a minibuffer content that spans 2 lines, 
> in which case the redisplay will choose to show the last line (assuming 
> point is in the second line) plus icomplete's overlay rather whereas you 
> presumably would want to see both lines from the minibuffer (and hence 
> one line less from icomplete's overlay)?
>

Yes.  See the recipe in my previous mail.  If works with N lines, with N > 
1.

>
> So a recipe could look something like:
>
>    src/emacs -Q --eval '(setq max-mini-window-height 2)' -f icomplete-mode
>    C-x C-f lisp/progmodes/../progmodes/../progmodes/../progmodes/../progmodes/../progmodes/../progmodes/../progmodes/../progmodes/../
>
> where we see the whole of icomplete's overlay rather than seeing the 
> whole of the minibuffer's actual content.
>

The problem is that such a recipe would only work with a not-too-wide 
Emacs frame and a not-too-small default font.  For example, on my 
computer, it does not demonstrate the problem.

>
> In general both are perfectly valid choices and which one is best 
> depends on what is the intention behind the particular overlay and its 
> relation to the minibuffer's content, so indeed the redisplay would need 
> additional information in order to decide which behavior to choose.
>

I agree with you, which is why I think that ATM the best thing to do is 
just to make such a choice possible.

>
>> The attached patch makes it possible to (selectively) choose to display 
>> the _first_ lines of the minibuffer instead of its _last_ lines (which 
>> is and remains the default behavior).
>
> Currently, the redisplay code focuses on making sure point is displayed. 
> In the resize_mini_widow code we try to accommodate some extra desires, 
> mostly in the form of giving more importance either to what's before 
> point or what's after it.
>

I don't think this is precise enough, but OTOH it's very hard to precisely 
define what happens.  Currently resize_mini_window() sets "start" to 
max-mini-window-height lines before the end of the buffer (unless 
resize-mini-windows is nil, in which case "start" is set to BOB).  The 
redisplay code takes that value; if point is not between start and EOB it 
overrides it, otherwise it displays the buffer between start and EOB.

>
>> The attached patch does not change the behavior of Emacs in any way, 
>> unless the feature it introduces is used.
>
> I see the following potential problem with it: icomplete will likely 
> want to set it globally, but that means it will also affect uses of the 
> mini window where icomplete is not used.  Also, potential other users 
> may encounter similar difficulties.
>

No, if you look at the patch its value is reset to nil whenever the 
minibuffer is entered.  And the example I gave with icomplete is:

(add-hook 'icomplete-minibuffer-setup-hook (lambda () (setq start-display-at-beginning-of-minibuffer t)))

where icomplete-minibuffer-setup-hook is run during minibuffer setup if 
(and only if) icomplete is active.  So the behavior with M-: for example 
would not be affected.

>
> I don't have a patch to suggest, but I think ideally, I'd want clients 
> like icomplete to tell the redisplay either something like "please 
> display as much as possible of *this* chunk of text" or maybe "feel free 
> not to display all of this overlay, it's not super important".
>

Yes, that's the point.  The patch I proposed tells redisplay "please 
display as much as possible of the text between BOB and point", when the 
current behavior tells redisplay "please display as much as possible of 
the text between point and EOB".  Something more fine-grained would of 
course be possible, but I don't think it is a good idea to implement a 
feature when there is no clear need for it.




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

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


Received: (at 43572) by debbugs.gnu.org; 23 Sep 2020 19:37:17 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 23 15:37:17 2020
Received: from localhost ([127.0.0.1]:37895 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLAZp-0008Er-4H
	for submit <at> debbugs.gnu.org; Wed, 23 Sep 2020 15:37:17 -0400
Received: from eggs.gnu.org ([209.51.188.92]:33218)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kLAZl-0008EZ-Ug
 for 43572 <at> debbugs.gnu.org; Wed, 23 Sep 2020 15:37:15 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:49642)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kLAZe-0000Qz-Gp; Wed, 23 Sep 2020 15:37:06 -0400
Received: from [176.228.60.248] (port=4653 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kLAZd-0003GV-Rn; Wed, 23 Sep 2020 15:37:06 -0400
Date: Wed, 23 Sep 2020 22:37:12 +0300
Message-Id: <837dskuvx3.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Gregory Heytings <ghe@HIDDEN>
In-Reply-To: <alpine.NEB.2.22.394.2009231827310453.19701@HIDDEN>
 (message from Gregory Heytings on Wed, 23 Sep 2020 19:15:40 +0000)
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <83h7rov7xy.fsf@HIDDEN>
 <alpine.NEB.2.22.394.2009231827310453.19701@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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: -3.3 (---)

> Date: Wed, 23 Sep 2020 19:15:40 +0000
> From: Gregory Heytings <ghe@HIDDEN>
> cc: 43572 <at> debbugs.gnu.org
> 
> I just tested this again with current master, and actually the result is 
> slighly worse than what I though, when the prompt and user input becomes 
> larger than a line you don't see:
> 
> <user input>|
> <completion candidates>
> 
> but:
> 
> |<completion candidates>
> 
> (IOW the characters at the beginning of the Nth line, with N > 1, 
> disappear.)
> 
> Again it's difficult to give a simple recipe, because it depends on the 
> width of your Emacs frame and of the size of the font used in the 
> mini-window.  The simplest recipe I can think of is:
> 
> 1. create a "long enough" directory name, with say ten subdirectories
> 2. emacs -Q
> 3. make the frame width "small enough"
> 4. M-: (setq max-mini-window-height 5)
> 5. M-x icomplete-mode
> 6. M-: (setq icomplete-separator "\n")
> 7. C-x C-f and enter the "long enough" directory name
> 
> What you will see at this point is:
> 
> |{<completion candidate 1>
> <completion candidate 2>
> ...
> <completion candidate 5>

Is this worse than before the change?

And given the policy of displaying the last visible part, what would
you expect in this case?

> > How will Lisp programs decide when to set this flag and when not to set 
> > it?  What would be the criteria?
> 
> The criteria is simply: should the prompt and user input be displayed? 

How do you decide that?  Or let me ask it differently: when will a
program decide that it wants the current behavior of perhaps NOT
showing the prompt, if the mini-window is not large enough?

> (A more precise way to formulate that criteria would be: should the prompt 
> and user input be displayed, unless it is impossible to display them?)

We are discussing the case when it's impossible to display both; the
case when it's possible is easy and is already handled.

> There is at least one case where I think it is better not to do this 
> automatically.  As Stefan indicated in bug#43519, with M-:, when you input 
> data, the current behavior is to always have point on the last line of the 
> minibuffer.

That case doesn't need any special handling in resize_mini_window,
because the display engine will always make sure point is visible.  If
the window-start point determined by resize_mini_window doesn't allow
point to be visible, the display engine will find another
window-start, which would.

> Doing this automatically (that is, unconditionally) would 
> have the consequence that when point reaches the last line of the 
> minibuffer (that is, the max-mini-window-height's line), the mini-buffer 
> would be recentered, and the topmost lines would be hidden.

What resize_mini_window does ensures that recentering doesn't happen.
That is why it sets w->start: it's an indication to the display engine
to obey that window-start position if point is visible with it.

So you are trying to solve a case that doesn't need to be solved.

> > Binding the variable inside the minibuffer-setup-hook will affect all 
> > the subsequent calls to resize_mini_window, until the next call to 
> > read-from-minibuffer resets it, which may not be what the Lisp program 
> > wants, and could have unintended consequences.
> 
> I can't think of such unintended consequences.  In the use case of 
> displaying completion candidates, this (the fact that it affects all 
> successive calls to resize_mini_window) is indeed what is wanted.

Well, I _can_ think of such consequences.  As I said,
resize_mini_window is called in many situations that don't involve
completion, so setting that variable to affect all of them is a bad
idea.  We need something more fine-grained if we want to implement
such a feature.




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

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


Received: (at 43572) by debbugs.gnu.org; 23 Sep 2020 19:15:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 23 15:15:51 2020
Received: from localhost ([127.0.0.1]:37890 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLAF5-0007We-6p
	for submit <at> debbugs.gnu.org; Wed, 23 Sep 2020 15:15:51 -0400
Received: from mx.sdf.org ([205.166.94.24]:63843)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ghe@HIDDEN>) id 1kLAF1-0007WR-Cm
 for 43572 <at> debbugs.gnu.org; Wed, 23 Sep 2020 15:15:50 -0400
Received: from sdf.org (IDENT:ghe@HIDDEN [205.166.94.8])
 by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 08NJFhhh014151
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO);
 Wed, 23 Sep 2020 19:15:43 GMT
Received: (from ghe@localhost)
 by sdf.org (8.15.2/8.12.8/Submit) id 08NJFw6s012184;
 Wed, 23 Sep 2020 19:15:58 GMT
Date: Wed, 23 Sep 2020 19:15:40 +0000
From: Gregory Heytings <ghe@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
In-Reply-To: <83h7rov7xy.fsf@HIDDEN>
Message-ID: <alpine.NEB.2.22.394.2009231827310453.19701@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <83h7rov7xy.fsf@HIDDEN>
User-Agent: Alpine 2.22 (NEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset=US-ASCII
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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 (-)


>> In Emacs 27.1, the mini-window displays the last lines of the 
>> minibuffer.
>>
>> This is, in general, the desired behavior, but in some cases it is not.
>>
>> One case in which this behavior is not desirable is when completion 
>> candidates are displayed with an overlay at the end of the buffer. 
>> When this overlay is taller than max-mini-window-height, the prompt and 
>> the user input so far disappear.  A simple example: M-: (setq 
>> max-mini-window-height 1), M-x icomplete-mode, M-x a.
>
> Actually, on the current master this example does show the "M-x a" part.
>

Yes, as I explain just below.  It's an improvement that improves most, but 
not all, cases.

>> This feature request follows the discussion in bug#43519.  The change 
>> proposed there by Eli Zaretskii improves the behavior w.r.t. Emacs 
>> 27.1, but it is still suboptimal to display completion candidates in a 
>> user-friendly way.  For example:
>>
>> Find file: <user input>|
>> <completion candidates>
>>
>> (where | represents the cursor) will become:
>>
>> <user input>|
>> <completion candidates>
>>
>> when the user input becomes larger than a line.  That is, the "Find 
>> file:" prompt and the user input on the first line will disappear.
>
> I suggest to show a recipe for this, because the few I tried failed to 
> produce the described effect (with the current master).  Maybe I'm 
> missing something.
>

I just tested this again with current master, and actually the result is 
slighly worse than what I though, when the prompt and user input becomes 
larger than a line you don't see:

<user input>|
<completion candidates>

but:

|<completion candidates>

(IOW the characters at the beginning of the Nth line, with N > 1, 
disappear.)

Again it's difficult to give a simple recipe, because it depends on the 
width of your Emacs frame and of the size of the font used in the 
mini-window.  The simplest recipe I can think of is:

1. create a "long enough" directory name, with say ten subdirectories
2. emacs -Q
3. make the frame width "small enough"
4. M-: (setq max-mini-window-height 5)
5. M-x icomplete-mode
6. M-: (setq icomplete-separator "\n")
7. C-x C-f and enter the "long enough" directory name

What you will see at this point is:

|{<completion candidate 1>
<completion candidate 2>
...
<completion candidate 5>

>
> How will Lisp programs decide when to set this flag and when not to set 
> it?  What would be the criteria?
>

The criteria is simply: should the prompt and user input be displayed? 
IOW, is what Stefan called the "real content" (prompt and user input so 
far) more important that the overlay (which displays completion candidates 
but is merely an unnecessary help for the user)?

Programs such as icomplete and ido, for example, would most likely want to 
set this flag.

(A more precise way to formulate that criteria would be: should the prompt 
and user input be displayed, unless it is impossible to display them?)

>
> If you are saying that any Lisp program that reads from the minibuffer 
> will want that, then (assuming that others agree), it would be better to 
> do this automatically in the display code.
>

This is not what I'm saying, and I would not dare to make such a general 
judgment.  I only claim that it is better to make this possible.

There is at least one case where I think it is better not to do this 
automatically.  As Stefan indicated in bug#43519, with M-:, when you input 
data, the current behavior is to always have point on the last line of the 
minibuffer.  Doing this automatically (that is, unconditionally) would 
have the consequence that when point reaches the last line of the 
minibuffer (that is, the max-mini-window-height's line), the mini-buffer 
would be recentered, and the topmost lines would be hidden.  This happens 
because the default value of scroll-conservatively is 0; when it is set to 
101 it does not happen anymore.

This is just one case, there are possibly many other cases.  But IMO, the 
mini-buffer is so central to Emacs, and the current behavior is so old 
(twenty years), that I believe changing it requires a lot of care.  This 
could be done in small steps:

1. first with this patch (or if you want with the opposite patch: a 
variable start-display-at-end-of-minibuffer reset to t whenever the 
mini-buffer is entered), which would make it possible to everyone to try 
to set that variable to its non-default value to see if undesirable 
behaviors arise,

2. then by changing the default value to its opposite, say in Emacs 29, if 
it became clear enough that the new behavior does not give rise to any 
undesiable consequences,

3. and finally, in Emacs 3X, by removing that variable.

>
> Binding the variable inside the minibuffer-setup-hook will affect all 
> the subsequent calls to resize_mini_window, until the next call to 
> read-from-minibuffer resets it, which may not be what the Lisp program 
> wants, and could have unintended consequences.
>

I can't think of such unintended consequences.  In the use case of 
displaying completion candidates, this (the fact that it affects all 
successive calls to resize_mini_window) is indeed what is wanted.




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

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


Received: (at 43572) by debbugs.gnu.org; 23 Sep 2020 18:47:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 23 14:47:47 2020
Received: from localhost ([127.0.0.1]:37845 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kL9ng-0006a9-HU
	for submit <at> debbugs.gnu.org; Wed, 23 Sep 2020 14:47:47 -0400
Received: from eggs.gnu.org ([209.51.188.92]:51870)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kL9ne-0006Zs-Us
 for 43572 <at> debbugs.gnu.org; Wed, 23 Sep 2020 14:47:31 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:49170)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kL9nZ-0002m6-Eu; Wed, 23 Sep 2020 14:47:25 -0400
Received: from [176.228.60.248] (port=1606 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kL9nZ-0004nu-3S; Wed, 23 Sep 2020 14:47:25 -0400
Date: Wed, 23 Sep 2020 21:47:31 +0300
Message-Id: <83a6xguy7w.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN> (message from Stefan
 Monnier on Wed, 23 Sep 2020 14:33:13 -0400)
Subject: Re: bug#43572: Feature request: make it possible to choose whether the
 first lines of the minibuffer should be displayed instead of the last ones
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: ghe@HIDDEN, 43572 <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 (-)

> From: Stefan Monnier <monnier@HIDDEN>
> Date: Wed, 23 Sep 2020 14:33:13 -0400
> Cc: 43572 <at> debbugs.gnu.org
> 
> I don't have a patch to suggest, but I think ideally, I'd want clients
> like icomplete to tell the redisplay either something like "please
> display as much as possible of *this* chunk of text" or maybe "feel free
> not to display all of this overlay, it's not super important".
> 
> [ Note: "please display as much as possible of *this* chunk of text" is
>   what I'd want to do in diff-mode when I move between chunks or in
>   smerge-mode when I get to a new conflict, so maybe such a thing would
>   make sense not just in the minibuffer.  ]

This could be a useful new feature, but we still need to decide what
should the display engine do when the chunk of text marked with this
new indication (some text property, probably?) cannot all of it be
displayed.  Should it then display only its first part, only its last
part, something else?




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

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


Received: (at 43572) by debbugs.gnu.org; 23 Sep 2020 18:33:26 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 23 14:33:26 2020
Received: from localhost ([127.0.0.1]:37826 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kL9a2-000662-8Z
	for submit <at> debbugs.gnu.org; Wed, 23 Sep 2020 14:33:26 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:61475)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1kL9Zy-00065g-G5
 for 43572 <at> debbugs.gnu.org; Wed, 23 Sep 2020 14:33:25 -0400
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id BEC1C100031;
 Wed, 23 Sep 2020 14:33:16 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 38D9810022D;
 Wed, 23 Sep 2020 14:33:15 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1600885995;
 bh=cIzBg31Jbg0LObO0y/DdvmWglO3ucFXw0/8SEHDDjbY=;
 h=From:To:Cc:Subject:References:Date:In-Reply-To:From;
 b=SB3dzzwK2XyNHc/bEI75PXA+2T20XQgM+tVdwetYXr3S1EaIRB3mxC2vALIK2DXUI
 X6wwyqEEtis2bSMPN32/EXBcjk+0exNpuAsbGKGFLqrK8uPibK6ZrIRcvy1/RRzuZA
 rX+DuyEvKHn67Bp4aK9AkHKW2eDJ1UZNatOT8dJEI03W1p6cdyUVchnnieWDu12ftE
 LCWYLid5zo1I0NAqcjXsNH4hXQ5g/MjwQVOGQO8zNyfFhU4G/F56c8etvLNuYmsTPo
 KOoJnFzFBf6/NGniXvccynuiA/KKbfjbIrSKmPUk+H2i9qykb0/oFDzBl8c+jFxVwH
 jSL9386MfHLng==
Received: from alfajor (unknown [45.72.232.131])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 10A971204BC;
 Wed, 23 Sep 2020 14:33:15 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Gregory Heytings <ghe@HIDDEN>
Subject: Re: bug#43572: Feature request: make it possible to choose whether
 the first lines of the minibuffer should be displayed instead of the last
 ones
Message-ID: <jwvwo0ktlge.fsf-monnier+emacs@HIDDEN>
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
Date: Wed, 23 Sep 2020 14:33:13 -0400
In-Reply-To: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 (Gregory Heytings's message of "Tue, 22 Sep 2020 20:57:13 +0000")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.049 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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: -3.3 (---)

> One case in which this behavior is not desirable is when completion
> candidates are displayed with an overlay at the end of the buffer.
> When this overlay is taller than max-mini-window-height, the prompt and the
> user input so far disappear.  A simple example: M-: (setq
> max-mini-window-height 1), M-x icomplete-mode, M-x a.

You should update your recipe, because Eli's patch takes care of this
case already.

I'm not completely sure which case(s) you're thinking of now that Eli's
patch handles the most common case we've seen so far.  But maybe the
problem shows up when we have a minibuffer content that spans 2 lines,
in which case the redisplay will choose to show the last line
(assuming point is in the second line) plus icomplete's overlay rather
whereas you presumably would want to see both lines from the minibuffer
(and hence one line less from icomplete's overlay)?

So a recipe could look something like:

    src/emacs -Q --eval '(setq max-mini-window-height 2)' -f icomplete-mode
    C-x C-f lisp/progmodes/../progmodes/../progmodes/../progmodes/../progmodes/../progmodes/../progmodes/../progmodes/../progmodes/../

where we see the whole of icomplete's overlay rather than seeing the
whole of the minibuffer's actual content.

In general both are perfectly valid choices and which one is best
depends on what is the intention behind the particular overlay and its
relation to the minibuffer's content, so indeed the redisplay would need
additional information in order to decide which behavior to choose.

> The attached patch makes it possible to (selectively) choose to display the
> _first_ lines of the minibuffer instead of its _last_ lines (which is and
> remains the default behavior).

Currently, the redisplay code focuses on making sure point is displayed.
In the resize_mini_widow code we try to accommodate some extra desires,
mostly in the form of giving more importance either to what's before point
or what's after it.

> The attached patch does not change the behavior of Emacs in any way,
> unless the feature it introduces is used.

I see the following potential problem with it: icomplete will likely
want to set it globally, but that means it will also affect uses of the
mini window where icomplete is not used.  Also, potential other users
may encounter similar difficulties.

I don't have a patch to suggest, but I think ideally, I'd want clients
like icomplete to tell the redisplay either something like "please
display as much as possible of *this* chunk of text" or maybe "feel free
not to display all of this overlay, it's not super important".

[ Note: "please display as much as possible of *this* chunk of text" is
  what I'd want to do in diff-mode when I move between chunks or in
  smerge-mode when I get to a new conflict, so maybe such a thing would
  make sense not just in the minibuffer.  ]


        Stefan





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

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


Received: (at 43572) by debbugs.gnu.org; 23 Sep 2020 15:17:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 23 11:17:33 2020
Received: from localhost ([127.0.0.1]:37514 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kL6WT-0007fm-2h
	for submit <at> debbugs.gnu.org; Wed, 23 Sep 2020 11:17:33 -0400
Received: from eggs.gnu.org ([209.51.188.92]:56392)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1kL6WS-0007fa-7B
 for 43572 <at> debbugs.gnu.org; Wed, 23 Sep 2020 11:17:32 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:46163)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1kL6WM-0004jY-Vw; Wed, 23 Sep 2020 11:17:26 -0400
Received: from [176.228.60.248] (port=4390 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1kL6WK-0002ls-5p; Wed, 23 Sep 2020 11:17:26 -0400
Date: Wed, 23 Sep 2020 18:17:29 +0300
Message-Id: <83h7rov7xy.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Gregory Heytings <ghe@HIDDEN>
In-Reply-To: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
 (bug-gnu-emacs@HIDDEN)
Subject: Re: bug#43572: Feature request: make it possible to choose whether the
 first lines of the minibuffer should be displayed instead of the last ones
References: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43572
Cc: 43572 <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: -3.3 (---)

> Date: Tue, 22 Sep 2020 20:57:13 +0000
> From: Gregory Heytings via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
> 
> In Emacs 27.1, the mini-window displays the last lines of the minibuffer.
> 
> This is, in general, the desired behavior, but in some cases it is not.
> 
> One case in which this behavior is not desirable is when completion 
> candidates are displayed with an overlay at the end of the buffer.  When 
> this overlay is taller than max-mini-window-height, the prompt and the 
> user input so far disappear.  A simple example: M-: (setq 
> max-mini-window-height 1), M-x icomplete-mode, M-x a.

Actually, on the current master this example does show the "M-x a"
part.

> This feature request follows the discussion in bug#43519.  The change 
> proposed there by Eli Zaretskii improves the behavior w.r.t. Emacs 27.1, 
> but it is still suboptimal to display completion candidates in a 
> user-friendly way.  For example:
> 
> Find file: <user input>|
> <completion candidates>
> 
> (where | represents the cursor) will become:
> 
> <user input>|
> <completion candidates>
> 
> when the user input becomes larger than a line.  That is, the "Find file:" 
> prompt and the user input on the first line will disappear.

I suggest to show a recipe for this, because the few I tried failed to
produce the described effect (with the current master).  Maybe I'm
missing something.

> The attached patch makes it possible to (selectively) choose to display 
> the _first_ lines of the minibuffer instead of its _last_ lines (which is 
> and remains the default behavior).  This means that displaying completion 
> candidates becomes a trivial task: it suffices to create an overlay with 
> completion candidates, without worrying at all about its size (or about 
> the size of the prompt and user input), and as many of these candidates as 
> possible will automatically be displayed.
> 
> For example, implementing vertical icomplete only requires:
> 
> (setq icomplete-separator "\n")
> (add-hook 'icomplete-minibuffer-setup-hook (lambda () (setq start-display-at-beginning-of-minibuffer t)))

I have a couple of comments regarding the proposed change:

 . How will Lisp programs decide when to set this flag and when not to
   set it?  What would be the criteria?  If you are saying that any
   Lisp program that reads from the minibuffer will want that, then
   (assuming that others agree), it would be better to do this
   automatically in the display code.

 . Binding the variable inside the minibuffer-setup-hook will affect
   all the subsequent calls to resize_mini_window, until the next call
   to read-from-minibuffer resets it, which may not be what the Lisp
   program wants, and could have unintended consequences.




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

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


Received: (at submit) by debbugs.gnu.org; 22 Sep 2020 20:57:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 22 16:57:30 2020
Received: from localhost ([127.0.0.1]:33583 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kKpLu-0001c5-J1
	for submit <at> debbugs.gnu.org; Tue, 22 Sep 2020 16:57:30 -0400
Received: from lists.gnu.org ([209.51.188.17]:49790)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ghe@HIDDEN>) id 1kKpLr-0001bx-MS
 for submit <at> debbugs.gnu.org; Tue, 22 Sep 2020 16:57:28 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:36050)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ghe@HIDDEN>) id 1kKpLp-0007m7-T3
 for bug-gnu-emacs@HIDDEN; Tue, 22 Sep 2020 16:57:27 -0400
Received: from mx.sdf.org ([205.166.94.24]:63217)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ghe@HIDDEN>) id 1kKpLm-00041H-G9
 for bug-gnu-emacs@HIDDEN; Tue, 22 Sep 2020 16:57:25 -0400
Received: from sdf.org (IDENT:ghe@HIDDEN [205.166.94.8])
 by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 08MKvFDn017898
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO);
 Tue, 22 Sep 2020 20:57:15 GMT
Received: (from ghe@localhost)
 by sdf.org (8.15.2/8.12.8/Submit) id 08MKvS6X003173;
 Tue, 22 Sep 2020 20:57:28 GMT
Date: Tue, 22 Sep 2020 20:57:13 +0000
From: Gregory Heytings <ghe@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: Feature request: make it possible to choose whether the first lines
 of the minibuffer should be displayed instead of the last ones
Message-ID: <alpine.NEB.2.22.394.2009222215560453.32542@HIDDEN>
User-Agent: Alpine 2.22 (NEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="-212064758-314916080-1600805831=:32542"
Content-ID: <alpine.NEB.2.22.394.2009222255060453.32603@HIDDEN>
Received-SPF: pass client-ip=205.166.94.24; envelope-from=ghe@HIDDEN;
 helo=mx.sdf.org
X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/22 16:06:35
X-ACL-Warn: Detected OS   = ???
X-Spam_score_int: -18
X-Spam_score: -1.9
X-Spam_bar: -
X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.4 (-)
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.4 (--)

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

---212064758-314916080-1600805831=:32542
Content-Type: text/plain; charset=US-ASCII; format=flowed
Content-ID: <alpine.NEB.2.22.394.2009222217301453.32603@HIDDEN>


In Emacs 27.1, the mini-window displays the last lines of the minibuffer.

This is, in general, the desired behavior, but in some cases it is not.

One case in which this behavior is not desirable is when completion 
candidates are displayed with an overlay at the end of the buffer.  When 
this overlay is taller than max-mini-window-height, the prompt and the 
user input so far disappear.  A simple example: M-: (setq 
max-mini-window-height 1), M-x icomplete-mode, M-x a.

Because of this behavior, and because it is counter-intuitive / not 
user-friendly when the prompt and user input so far disappear, those who 
create programs that display such completion candidates have been 
struggling to create overlays in such a way that they are (together with 
the prompt and the user input so far) not taller than 
max-mini-window-height.  Doing this is, in general, far from trivial.

The attached patch makes it possible to (selectively) choose to display 
the _first_ lines of the minibuffer instead of its _last_ lines (which is 
and remains the default behavior).  This means that displaying completion 
candidates becomes a trivial task: it suffices to create an overlay with 
completion candidates, without worrying at all about its size (or about 
the size of the prompt and user input), and as many of these candidates as 
possible will automatically be displayed.

For example, implementing vertical icomplete only requires:

(setq icomplete-separator "\n")
(add-hook 'icomplete-minibuffer-setup-hook (lambda () (setq start-display-at-beginning-of-minibuffer t)))

This feature request follows the discussion in bug#43519.  The change 
proposed there by Eli Zaretskii improves the behavior w.r.t. Emacs 27.1, 
but it is still suboptimal to display completion candidates in a 
user-friendly way.  For example:

Find file: <user input>|
<completion candidates>

(where | represents the cursor) will become:

<user input>|
<completion candidates>

when the user input becomes larger than a line.  That is, the "Find file:" 
prompt and the user input on the first line will disappear.

The attached patch does not change the behavior of Emacs in any way, 
unless the feature it introduces is used.
---212064758-314916080-1600805831=:32542
Content-Type: text/x-diff; name=start-display-at-beginning-of-minibuffer.patch; charset=us-ascii
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.NEB.2.22.394.2009222217110453.32542@HIDDEN>
Content-Description: 
Content-Disposition: attachment; filename=start-display-at-beginning-of-minibuffer.patch

ZGlmZiAtLWdpdCBhL3NyYy9taW5pYnVmLmMgYi9zcmMvbWluaWJ1Zi5jDQpp
bmRleCBmOTU3YjJhZTE3Li40NDg1MjEyN2VkIDEwMDY0NA0KLS0tIGEvc3Jj
L21pbmlidWYuYw0KKysrIGIvc3JjL21pbmlidWYuYw0KQEAgLTY1Nyw2ICs2
NTcsOCBAQCByZWFkX21pbmlidWYgKExpc3BfT2JqZWN0IG1hcCwgTGlzcF9P
YmplY3QgaW5pdGlhbCwgTGlzcF9PYmplY3QgcHJvbXB0LA0KICAgaWYgKFNU
UklOR1AgKGlucHV0X21ldGhvZCkgJiYgIU5JTFAgKEZmYm91bmRwIChRYWN0
aXZhdGVfaW5wdXRfbWV0aG9kKSkpDQogICAgIGNhbGwxIChRYWN0aXZhdGVf
aW5wdXRfbWV0aG9kLCBpbnB1dF9tZXRob2QpOw0KIA0KKyAgVnN0YXJ0X2Rp
c3BsYXlfYXRfYmVnaW5uaW5nX29mX21pbmlidWZmZXIgPSBRbmlsOw0KKw0K
ICAgcnVuX2hvb2sgKFFtaW5pYnVmZmVyX3NldHVwX2hvb2spOw0KIA0KICAg
LyogRG9uJ3QgYWxsb3cgdGhlIHVzZXIgdG8gdW5kbyBwYXN0IHRoaXMgcG9p
bnQuICAqLw0KQEAgLTIwOTcsNiArMjA5OSwxNSBAQCBzeW1zX29mX21pbmli
dWYgKHZvaWQpDQogdXNlcyB0byBoaWRlIHBhc3N3b3Jkcy4gICovKTsNCiAg
IFZyZWFkX2hpZGVfY2hhciA9IFFuaWw7DQogDQorICBERUZWQVJfTElTUCAo
InN0YXJ0LWRpc3BsYXktYXQtYmVnaW5uaW5nLW9mLW1pbmlidWZmZXIiLCBW
c3RhcnRfZGlzcGxheV9hdF9iZWdpbm5pbmdfb2ZfbWluaWJ1ZmZlciwNCisJ
ICAgICAgIGRvYzogLyogV2hldGhlciB0byBwcmVmZXJhYmx5IGRpc3BsYXkg
dGhlIGJlZ2lubmluZyBvZiB0aGUgbWluaWJ1ZmZlci4NCitXaGVuIHRoZSBt
aW5pLXdpbmRvdyBpcyBub3QgbGFyZ2UgZW5vdWdoIHRvIGRpc3BsYXkgdGhl
IGNvbXBsZXRlIG1pbmlidWZmZXIsDQordGhlIGRlZmF1bHQgYmVoYXZpb3Ig
aXMgdG8gZGlzcGxheSB0aGUgbGFzdCBwYXJ0IG9mIHRoZSBtaW5pYnVmZmVy
IGFuZCB0bw0KK2hpZGUgaXRzIGZpcnN0IHBhcnQuICBUaGlzIHZhcmlhYmxl
IHJldmVyc2VzIHRoYXQgYmVoYXZpb3IuICBUaGlzIHZhcmlhYmxlDQoraXMg
cmVzZXQgd2hlbiB0aGUgbWluaWJ1ZmZlciBpcyBlbnRlcmVkLCBhbmQgbXVz
dCBiZSBzZXQgaW4NCitgbWluaWJ1ZmZlci1zZXR1cC1ob29rJy4gICovKTsN
CisgIFZzdGFydF9kaXNwbGF5X2F0X2JlZ2lubmluZ19vZl9taW5pYnVmZmVy
ID0gUW5pbDsNCisNCiAgIGRlZnN1YnIgKCZTYWN0aXZlX21pbmlidWZmZXJf
d2luZG93KTsNCiAgIGRlZnN1YnIgKCZTc2V0X21pbmlidWZmZXJfd2luZG93
KTsNCiAgIGRlZnN1YnIgKCZTcmVhZF9mcm9tX21pbmlidWZmZXIpOw0KZGlm
ZiAtLWdpdCBhL3NyYy94ZGlzcC5jIGIvc3JjL3hkaXNwLmMNCmluZGV4IDQ5
MjI1YzU2ZmUuLjFiMWEzNGI5N2YgMTAwNjQ0DQotLS0gYS9zcmMveGRpc3Au
Yw0KKysrIGIvc3JjL3hkaXNwLmMNCkBAIC0xMTgwNCw3ICsxMTgwNCw3IEBA
IHJlc2l6ZV9taW5pX3dpbmRvdyAoc3RydWN0IHdpbmRvdyAqdywgYm9vbCBl
eGFjdF9wKQ0KIAl9DQogDQogICAgICAgLyogQ29tcHV0ZSBhIHN1aXRhYmxl
IHdpbmRvdyBzdGFydC4gICovDQotICAgICAgaWYgKGhlaWdodCA+IG1heF9o
ZWlnaHQpDQorICAgICAgaWYgKGhlaWdodCA+IG1heF9oZWlnaHQgJiYgIUVR
IChWc3RhcnRfZGlzcGxheV9hdF9iZWdpbm5pbmdfb2ZfbWluaWJ1ZmZlciwg
UXQpKQ0KIAl7DQogCSAgaGVpZ2h0ID0gKG1heF9oZWlnaHQgLyB1bml0KSAq
IHVuaXQ7DQogCSAgaW5pdF9pdGVyYXRvciAoJml0LCB3LCBaViwgWlZfQllU
RSwgTlVMTCwgREVGQVVMVF9GQUNFX0lEKTsNCkBAIC0xMTgxMiw3ICsxMTgx
MiwxMCBAQCByZXNpemVfbWluaV93aW5kb3cgKHN0cnVjdCB3aW5kb3cgKncs
IGJvb2wgZXhhY3RfcCkNCiAJICBzdGFydCA9IGl0LmN1cnJlbnQucG9zOw0K
IAl9DQogICAgICAgZWxzZQ0KLQlTRVRfVEVYVF9QT1MgKHN0YXJ0LCBCRUdW
LCBCRUdWX0JZVEUpOw0KKwl7DQorCSAgaWYgKGhlaWdodCA+IG1heF9oZWln
aHQpIGhlaWdodCA9IChtYXhfaGVpZ2h0IC8gdW5pdCkgKiB1bml0Ow0KKwkg
IFNFVF9URVhUX1BPUyAoc3RhcnQsIEJFR1YsIEJFR1ZfQllURSk7DQorCX0N
CiANCiAgICAgICBTRVRfTUFSS0VSX0ZST01fVEVYVF9QT1MgKHctPnN0YXJ0
LCBzdGFydCk7DQogDQo=

---212064758-314916080-1600805831=:32542--




Acknowledgement sent to Gregory Heytings <ghe@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#43572; 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, 28 Sep 2020 14:00:02 UTC

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