Received: (at 59314) by debbugs.gnu.org; 12 Dec 2022 12:31:17 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Dec 12 07:31:17 2022 Received: from localhost ([127.0.0.1]:52676 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1p4hxk-0003py-Sr for submit <at> debbugs.gnu.org; Mon, 12 Dec 2022 07:31:17 -0500 Received: from mail.fitzsim.org ([69.165.165.189]:43566) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <fitzsim@HIDDEN>) id 1p4hxj-0003pj-7F for 59314 <at> debbugs.gnu.org; Mon, 12 Dec 2022 07:31:16 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org ; s=20220430; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=RAWDa+pG8qjrM3mnQ8EgykklsvWXLr0nCIBAouzXwNs=; b=iJsPsCXqOhvXDKE8slRTtG9MWB E1AFTdpcIO26x1YJz8u+4jQblutHZMMjYNZi/UxkRsNA8OpKHNilFiBBgCJ+4zyng5J075WB8m45X jmiIpl91P61kbV79MIpbs5XKFvzBpxGJNbYdnN6JG0EvfqEHg4L4jUxxpi/j3bxz3ezdrdTiUwt8F UqOZ0qXYq17JTqdKx5JjJKHnVNNDlGYNdZtGUBB3EBbwPL5yoQDS/4zP8/BCa1v1WnLE2JUc4ce+M uG2uJLXjQiMUDkKr149UVby2fz3+5S7mkmk106uDv9qGOkE7Xl3QFcTq6PklgfMQ4RQD+9Gx3cFCA u+qgjGaQ==; Received: from [192.168.1.1] (helo=localhost.localdomain) by mail.fitzsim.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <fitzsim@HIDDEN>) id 1p4hxV-0006tv-34; Mon, 12 Dec 2022 07:31:09 -0500 From: Thomas Fitzsimmons <fitzsim@HIDDEN> To: Alexander Adolf <alexander.adolf@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <dcbf5ceee551c06dfe56bfe710388eb4@HIDDEN> (Alexander Adolf's message of "Sun, 11 Dec 2022 17:08:07 +0100") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <bcee30cef48498ff7beae30e5bef571a@HIDDEN> <m3o7smh62i.fsf@HIDDEN> <9cad334f4f42725f2e244c8c81528856@HIDDEN> <m31qpccl1m.fsf@HIDDEN> <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN> <m3mt80asmm.fsf@HIDDEN> <m3edtbc3ct.fsf@HIDDEN> <e0a4caa74f558ba6574084317123fb8f@HIDDEN> <m3wn72am8b.fsf@HIDDEN> <dcac3ba0d9288e277bb9ebeff6e0dc6c@HIDDEN> <m3bkoda4en.fsf@HIDDEN> <dcbf5ceee551c06dfe56bfe710388eb4@HIDDEN> Date: Mon, 12 Dec 2022 07:31:00 -0500 Message-ID: <m3k02w952z.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <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 (-) Alexander Adolf <alexander.adolf@HIDDEN> writes: > I have done some further debugging, and it seems that the behaviour is > independent of EUDC. > > With this: > > (setq message-expand-name-standard-ui t) > (setq eudc-server nil eudc-server-hotlist nil) > (setq message-expand-name-databases '(bbdb)) > > and `eudc-capf-complete` removed from `completion-at-point-functions` in > `message-mode`, the result is the same (completion is broke). I confirmed this on my set up, this was a good thing to test, thanks. (Before, I had tested BBDB-only (no-EUDC) completion with message-expand-name-standard-ui set to nil, which worked, but not with it set to t.) > It seems that the completion styles are attempting to find the longest > common prefix of all candidates, and somehow take words into account. > Quoting from the Elisp manual [1]: > > ---------------------------- Begin Quote ----------------------------- > The procedure of determining what constitutes a match is quite > intricate. Emacs attempts to offer plausible completions under most > circumstances. > ----------------------------- End Quote ------------------------------ > > Have I just been handed a word of warning? Looks like. > > Anyways, I will now try to see whether I can identify a commit that the > issue. I'll start with the one mentioned by Eric. > > [puts on helmet, switches on headlamp, and grabs a pickax] > > Wish me luck, Good luck, this is good progress. Thomas
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 11 Dec 2022 16:08:13 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Dec 11 11:08:13 2022 Received: from localhost ([127.0.0.1]:46797 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1p4Os9-00061C-7G for submit <at> debbugs.gnu.org; Sun, 11 Dec 2022 11:08:13 -0500 Received: from smtprelay02.ispgateway.de ([80.67.18.14]:47037) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <alexander.adolf@HIDDEN>) id 1p4Os7-000616-1H for 59314 <at> debbugs.gnu.org; Sun, 11 Dec 2022 11:08:11 -0500 Received: from [46.244.214.45] (helo=condition-alpha.com) by smtprelay02.ispgateway.de with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <alexander.adolf@HIDDEN>) id 1p4OsG-0002LX-Nt; Sun, 11 Dec 2022 17:08:20 +0100 Message-Id: <dcbf5ceee551c06dfe56bfe710388eb4@HIDDEN> From: Alexander Adolf <alexander.adolf@HIDDEN> To: Thomas Fitzsimmons <fitzsim@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <m3bkoda4en.fsf@HIDDEN> References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <bcee30cef48498ff7beae30e5bef571a@HIDDEN> <m3o7smh62i.fsf@HIDDEN> <9cad334f4f42725f2e244c8c81528856@HIDDEN> <m31qpccl1m.fsf@HIDDEN> <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN> <m3mt80asmm.fsf@HIDDEN> <m3edtbc3ct.fsf@HIDDEN> <e0a4caa74f558ba6574084317123fb8f@HIDDEN> <m3wn72am8b.fsf@HIDDEN> <dcac3ba0d9288e277bb9ebeff6e0dc6c@HIDDEN> <m3bkoda4en.fsf@HIDDEN> Date: Sun, 11 Dec 2022 17:08:07 +0100 MIME-Version: 1.0 Content-Type: text/plain X-Df-Sender: YWxleGFuZGVyLmFkb2xmQGNvbmRpdGlvbi1hbHBoYS5jb20= X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <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 have done some further debugging, and it seems that the behaviour is independent of EUDC. With this: (setq message-expand-name-standard-ui t) (setq eudc-server nil eudc-server-hotlist nil) (setq message-expand-name-databases '(bbdb)) and `eudc-capf-complete` removed from `completion-at-point-functions` in `message-mode`, the result is the same (completion is broke). It seems that the completion styles are attempting to find the longest common prefix of all candidates, and somehow take words into account. Quoting from the Elisp manual [1]: ---------------------------- Begin Quote ----------------------------- The procedure of determining what constitutes a match is quite intricate. Emacs attempts to offer plausible completions under most circumstances. ----------------------------- End Quote ------------------------------ Have I just been handed a word of warning? Looks like. Anyways, I will now try to see whether I can identify a commit that the issue. I'll start with the one mentioned by Eric. [puts on helmet, switches on headlamp, and grabs a pickax] Wish me luck, --alexander
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 10 Dec 2022 14:27:30 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Dec 10 09:27:30 2022 Received: from localhost ([127.0.0.1]:43052 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1p40p8-0007f4-3u for submit <at> debbugs.gnu.org; Sat, 10 Dec 2022 09:27:30 -0500 Received: from mail.fitzsim.org ([69.165.165.189]:40704) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <fitzsim@HIDDEN>) id 1p40p6-0007ex-3s for 59314 <at> debbugs.gnu.org; Sat, 10 Dec 2022 09:27:29 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org ; s=20220430; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=WqbU1n2mggqn5Tnh/gEpwOOO1wTkHYi3c+KHiLXpbVw=; b=efXQRvX7zkBTwerF5uLY/5wBsU 19Y5W/T3RLVdE7o+aIahHyz/oZeOShK/ivcReWYuATjAqbXs6c9lAyVsvUJbQDrec+lP020P6EBGh LZBY8/DRPUp9+milRrF44xf/KidMRQn2//D6ZDPVY8NWJtJlTWZbRulOXt9U+0Hqa88V0GY3N9Z5X VZsex+te0m7g9KqRdlDf2kBX+5wG2hggUQqTeVcBYsPiXyvziV6quXactrUwn198X6YNjem5JY2Ib 2EopSpgLhmyvJAP/TKtebMgktEIk20UwAAhOIu7w2rVi489ZtGGDAcQZXdufmPwLJevUhXbwcbUx6 q3Dp1pXg==; Received: from [192.168.1.1] (helo=localhost.localdomain) by mail.fitzsim.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <fitzsim@HIDDEN>) id 1p40oz-0005Nx-S1; Sat, 10 Dec 2022 09:27:22 -0500 From: Thomas Fitzsimmons <fitzsim@HIDDEN> To: Alexander Adolf <alexander.adolf@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <4d1810369df651d02ceeb522b8f05370@HIDDEN> (Alexander Adolf's message of "Sat, 10 Dec 2022 02:40:35 +0100") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <bcee30cef48498ff7beae30e5bef571a@HIDDEN> <m3o7smh62i.fsf@HIDDEN> <9cad334f4f42725f2e244c8c81528856@HIDDEN> <m31qpccl1m.fsf@HIDDEN> <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN> <m3mt80asmm.fsf@HIDDEN> <m3edtbc3ct.fsf@HIDDEN> <e0a4caa74f558ba6574084317123fb8f@HIDDEN> <m3wn72am8b.fsf@HIDDEN> <dcac3ba0d9288e277bb9ebeff6e0dc6c@HIDDEN> <m3bkoda4en.fsf@HIDDEN> <4d1810369df651d02ceeb522b8f05370@HIDDEN> Date: Sat, 10 Dec 2022 09:27:21 -0500 Message-ID: <m3wn6z8hbq.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <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 (-) Hi Alexander, Alexander Adolf <alexander.adolf@HIDDEN> writes: > another lengthy explanation, for which apologies up front! OK, trimmed it down. > Thomas Fitzsimmons <fitzsim@HIDDEN> writes: > >> [...] >> OK, but then (to lengthen the conclusion) message--name-table ignores >> the default value of 'completion-styles' (or if it doesn't, it should), >> and so the default global value of 'completion-styles' should not have >> any bearing on any of these tests we're doing. Is that correct? >> [...] > > Yes, that's correct. > > message--name-table responds to the metadata action by returning a list > containing (category . email), which instructs the completion-at-point > machinery to ignore the global completion-styles variable, and instead > consult the completion-category-defaults and > completion-category-overrides alists for the completion style defined > under the 'email entry (if one exists). > > With an eye to fixing this bug, I think there are three plus one > scenarios to look at. [...] The scenario I'd like you to make work with a minimal patch is: Scenario 3+1 + (setq message-expand-name-standard-ui t). Did you try that? I'm pretty sure if you get that working you'll find that we don't need eudc-capf-complete in completion-at-point-functions (yet), since what was there will already do what eudc-capf-complete was trying to achieve. Basically, this whole part of the discussion I've been thinking in terms of "(setq message-expand-name-standard-ui t)". When message-expand-name-standard-ui is nil, I think we've determined that eudc-capf-complete's presence in completion-at-point-functions breaks EUDC functionality. Do you concur? If that's the case we should probably remove eudc-capf-complete from completion-at-point-functions for Emacs 29.1, since that would represent a regression. I now understand that the intent of the code that was there before we added eudc-capf-complete was: message-expand-name-standard-ui nil => use EUDC multi-selector UI message-expand-name-standard-ui t => use completion-at-point selector UI But the second case was already broken before we added eudc-capf-complete. I want to understand and fix that case. (I'm rushing responses here, I'll dedicate more time to real testing maybe tomorrow, but I'm hoping you'll beat me to it with a minimal patch :-)) Thanks, Thomas
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 10 Dec 2022 01:40:40 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Dec 09 20:40:40 2022 Received: from localhost ([127.0.0.1]:39718 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1p3or2-0001Sy-0z for submit <at> debbugs.gnu.org; Fri, 09 Dec 2022 20:40:40 -0500 Received: from smtprelay08.ispgateway.de ([134.119.228.98]:16864) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <alexander.adolf@HIDDEN>) id 1p3or0-0001Sq-3k for 59314 <at> debbugs.gnu.org; Fri, 09 Dec 2022 20:40:39 -0500 Received: from [46.244.194.68] (helo=condition-alpha.com) by smtprelay08.ispgateway.de with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <alexander.adolf@HIDDEN>) id 1p3orB-0005KA-2A; Sat, 10 Dec 2022 02:40:49 +0100 Message-Id: <4d1810369df651d02ceeb522b8f05370@HIDDEN> From: Alexander Adolf <alexander.adolf@HIDDEN> To: Thomas Fitzsimmons <fitzsim@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <m3bkoda4en.fsf@HIDDEN> References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <bcee30cef48498ff7beae30e5bef571a@HIDDEN> <m3o7smh62i.fsf@HIDDEN> <9cad334f4f42725f2e244c8c81528856@HIDDEN> <m31qpccl1m.fsf@HIDDEN> <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN> <m3mt80asmm.fsf@HIDDEN> <m3edtbc3ct.fsf@HIDDEN> <e0a4caa74f558ba6574084317123fb8f@HIDDEN> <m3wn72am8b.fsf@HIDDEN> <dcac3ba0d9288e277bb9ebeff6e0dc6c@HIDDEN> <m3bkoda4en.fsf@HIDDEN> Date: Sat, 10 Dec 2022 02:40:35 +0100 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Df-Sender: YWxleGFuZGVyLmFkb2xmQGNvbmRpdGlvbi1hbHBoYS5jb20= X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <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 (-) --=-=-= Content-Type: text/plain Hello Thomas, another lengthy explanation, for which apologies up front! Thomas Fitzsimmons <fitzsim@HIDDEN> writes: > [...] > OK, but then (to lengthen the conclusion) message--name-table ignores > the default value of 'completion-styles' (or if it doesn't, it should), > and so the default global value of 'completion-styles' should not have > any bearing on any of these tests we're doing. Is that correct? > [...] Yes, that's correct. message--name-table responds to the metadata action by returning a list containing (category . email), which instructs the completion-at-point machinery to ignore the global completion-styles variable, and instead consult the completion-category-defaults and completion-category-overrides alists for the completion style defined under the 'email entry (if one exists). With an eye to fixing this bug, I think there are three plus one scenarios to look at. ---------------------------------------------------------------------- Scenario 1 - eudc-capf-complete is at the front of completion-at-point-functions - EUDC is not configured (eudc-server and eudc-server-hotlist are both nil) What happens: eudc-capf-complete will return nil, and completion will proceed via message-completion-function as usual. This works with the current code on master. ---------------------------------------------------------------------- Scenario 2 - eudc-capf-complete is at the front of completion-at-point-functions - EUDC is configured, but none of the back-ends has any completion candidates for the prefix What happens: eudc-capf-complete will return nil, and completion will proceed via message-completion-function as usual. This works with the current code on master. ---------------------------------------------------------------------- Scenario 3 - eudc-capf-complete is at the front of completion-at-point-functions - EUDC is configured, one or more back-ends have one or more completion candidates for the prefix What happens: eudc-capf-complete is called from completion-at-point, and returns the list of candidates. Hence, any subsequent functions in the list will NOT be called. No completion candidates are offered to the user, however, because the default value of completion-styles is not suited for completing email addresses. This is what causes the behaviour described in this bug. To fix this, the buffer-local value of completion-styles needs to be set by eudc-capf-complete to a value suitable for completing email addresses. Once this will done, completion proceeds as usual. I have a patch ready that adds such a fix to eudc-capf-complete (attached to the end of this message). ---------------------------------------------------------------------- Scenario 3+1 - eudc-capf-complete is NOT in completion-at-point-functions - EUDC is configured, one or more back-ends have one or more completion candidates for the prefix What happens: If and when any of the candidates has more than one word in the text preceding the "angled address", the prefix matching in the completion-at-point machinery somehow breaks, and hitting TAB another time does not bring up the multiple candidates minibuffer UI. (NOTE: This scenario can't occur unless a user re-removes eudc-capf-complete from completion-at-point-functions in code s:he puts on message-mode-hook. END NOTE) Practically, this means that a candidate like "John <john@HIDDEN>" works, whereas something like "John Doe <j.doe@HIDDEN>" breaks. Text _after_ the address (e.g. "j.doe@HIDDEN (John Doe the Third)") does not seem to cause any troubles, however. I've done a couple of experiments, and it seems things work best when the candidates are "bare" email addresses (e.g. "j.doe@HIDDEN"). I've peeked and poked around in message--name-table a bit, but couldn't spot anything suspicious. It seems that function does what it should, and correctly. My impression is that the code in the completion-at-point machinery somehow gets confused by too much white-space preceding the email address. I am still scratching my head as to why this happens, and whether that is a bug or a feature of completion-at-point. ;-) Will keep you posted. ---------------------------------------------------------------------- Those were the combinations I could think of. Any further ones we should be considering? I think overall, the approach for end users the approach regarding eudc-capf-complete vs. message-completion-function would be: - users not using EUDC at all will be able to continue working as before (cf. scenario 1); - users who are using EUDC, will need to "migrate" email address completion to eudc-capf-completion, since it gets added to (the buffer-local value of) completion-at-point-functions when a new message-mode buffer is created (cf. scenario 3); this is readily possible, because EUDC provides back-ends for all email address completion sources supported by message.el (plus additional ones not supported by message.el). Scenario 2 is some kind of mixture, which could occur if the sets of databses used by EUDC and message.el are disjoint. This could e.g happen, if the user has - say - set up EUDC for his:her work LDAP, and uses bbdb for non-work contacts. It would work though. Looking forward to your thoughts, --alexander --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-Fix-bug-59314.patch From d02b15f2f9bf9b83641eac4e169ba79ac5026df8 Mon Sep 17 00:00:00 2001 From: Alexander Adolf <alexander.adolf@HIDDEN> Date: Fri, 9 Dec 2022 22:15:42 +0100 Subject: [PATCH] Fix bug#59314 * lisp/net/eudc-capf.el (eudc-capf-complete): set completion-styles buffer locally to a more generous value, so that more candidates can pass the filtering (eudc-capf-message-expand-name): renamed to eudc-capf--message-expand-name to mark it as an internal use function, and improved the doc string --- lisp/net/eudc-capf.el | 48 ++++++++++++++++++++----------------------- 1 file changed, 22 insertions(+), 26 deletions(-) diff --git a/lisp/net/eudc-capf.el b/lisp/net/eudc-capf.el index e2bbd5b28b..c655c14df6 100644 --- a/lisp/net/eudc-capf.el +++ b/lisp/net/eudc-capf.el @@ -101,34 +101,30 @@ eudc-capf-complete The return value is either nil when no match is found, or a completion table as required for functions listed in `completion-at-point-functions'." - (if (and (seq-some #'derived-mode-p eudc-capf-modes) - (let ((mail-abbrev-mode-regexp message-email-recipient-header-regexp)) - (mail-abbrev-in-expansion-header-p))) - (eudc-capf-message-expand-name))) + (when (and (or eudc-server eudc-server-hotlist) + (seq-some #'derived-mode-p eudc-capf-modes) + (let ((mail-abbrev-mode-regexp message-email-recipient-header-regexp)) + (mail-abbrev-in-expansion-header-p))) + (setq-local completion-styles '(substring partial-completion)) + (eudc-capf--message-expand-name))) ;;;###autoload -(defun eudc-capf-message-expand-name () - "Email address completion function for `message-completion-alist'. - -When this function is added to `message-completion-alist', -replacing any existing entry for `message-expand-name' there, -with an appropriate regular expression such as for example -`message-email-recipient-header-regexp', then EUDC will be -queried for email addresses, and the results delivered to -`completion-at-point'." - (if (or eudc-server eudc-server-hotlist) - (progn - (let* ((beg (save-excursion - (re-search-backward "\\([:,]\\|^\\)[ \t]*") - (match-end 0))) - (end (point)) - (prefix (save-excursion (buffer-substring-no-properties beg end)))) - (let ((result - (eudc-query-with-words (split-string prefix "[ \t]+") t))) - (when result - (list beg end - (completion-table-with-cache - (lambda (_) result) t)))))))) +(defun eudc-capf--message-expand-name () + "Helper for `eudc-capf-complete'. + +Computes a completion table as required for functions listed in +`completion-at-point-functions'." + (let* ((beg (save-excursion + (re-search-backward "\\([:,]\\|^\\)[ \t]*") + (match-end 0))) + (end (point)) + (prefix (save-excursion (buffer-substring-no-properties beg end)))) + (let ((result + (eudc-query-with-words (split-string prefix "[ \t]+") t))) + (when result + (list beg end + (completion-table-with-cache + (lambda (_) result) t)))))) (provide 'eudc-capf) ;;; eudc-capf.el ends here -- 2.38.1 --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 8 Dec 2022 22:59:06 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 08 17:59:06 2022 Received: from localhost ([127.0.0.1]:59666 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1p3Pr8-00071M-98 for submit <at> debbugs.gnu.org; Thu, 08 Dec 2022 17:59:06 -0500 Received: from mail.fitzsim.org ([69.165.165.189]:47994) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <fitzsim@HIDDEN>) id 1p3Pr5-00070y-Nj for 59314 <at> debbugs.gnu.org; Thu, 08 Dec 2022 17:59:05 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org ; s=20220430; h=Content-Transfer-Encoding:Content-Type:MIME-Version: Message-ID:Date:References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=DsONN/bCR/9QTM86n4WdYiiMrGApNf8b4232phTxLsc=; b=gapA9B/E5KpjibVShi3mydLWYx KQrqL7IJQGSWUpYv9mVrrROQ2dgL7B9nfy1HmRa/P6k1GmkHNKzo2EMP0w3cuisX27yhiOOqmIeKH kyVVS51kn8Jb728ZwFthx3WSWxQ65fHoPWBF2/3Tlg1Mm09M6JNOc/qiqfshmOVDzR/9a3vPVYfvw VhEiHcE4MT9GyL4iss4ipFunoR6b2nmh2wm6ESurjBZPtQH4MWFaEa5P84w9SpGssqrx1z3t4q+jn X61hb2wa91ogF5ekQPzcEShm5eYDwQFaIq+hiEEV0id2uTRZuoMXO1D0GEoSEm1x2Kj+vUVKJMLyn qe1dgosg==; Received: from [192.168.1.1] (helo=localhost.localdomain) by mail.fitzsim.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <fitzsim@HIDDEN>) id 1p3Pqy-0004No-I1; Thu, 08 Dec 2022 17:58:57 -0500 From: Thomas Fitzsimmons <fitzsim@HIDDEN> To: Alexander Adolf <alexander.adolf@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <dcac3ba0d9288e277bb9ebeff6e0dc6c@HIDDEN> (Alexander Adolf's message of "Thu, 08 Dec 2022 23:34:39 +0100") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <bcee30cef48498ff7beae30e5bef571a@HIDDEN> <m3o7smh62i.fsf@HIDDEN> <9cad334f4f42725f2e244c8c81528856@HIDDEN> <m31qpccl1m.fsf@HIDDEN> <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN> <m3mt80asmm.fsf@HIDDEN> <m3edtbc3ct.fsf@HIDDEN> <e0a4caa74f558ba6574084317123fb8f@HIDDEN> <m3wn72am8b.fsf@HIDDEN> <dcac3ba0d9288e277bb9ebeff6e0dc6c@HIDDEN> Date: Thu, 08 Dec 2022 17:58:56 -0500 Message-ID: <m3bkoda4en.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <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 (-) Alexander Adolf <alexander.adolf@HIDDEN> writes: > Thomas Fitzsimmons <fitzsim@HIDDEN> writes: > >> [...] >>> For one, you are no longer adding `eudc-capf-complete` to >>> `completion-at-point-functions` in message mode. This seems fine given >>> that we are not there yet to make `eudc-capf-complete` the default thing >>> to happen in 29. >> >> To be clear, I wasn't going to push a patch to remove that, at least not >> yet. It's not making anything worse, so might as well leave it as-is. > > I see. Please kindly ignore yesterday's path then, please. > >>> [...] >> I'm trying to get message--name-table's EUDC support working. I only >> wanted to remove eudc-capf-complete from the debugging equation, because >> message--name-table existed way before eudc-capf-complete was >> introduced. >> >> I want to understand why it doesn't work (why it results in the " <..." >> expansion). I haven't delved deep enough into the completion-at-point >> to figure that out. I was hoping with your experience writing >> eudc-capf-complete that you'd know what was wrong with >> message--name-table's EUDC support. > > I'll look into `message--name-table` and will find out what breaks with > the " <" prefix. Please allow until Friday USA time (assuming you're > there?); it's late already over here (Europe). Sure, thank you, please take your time. I haven't digested the diagram you posted yet, but I'll have a look when I get a chance. >> I don't think completion-styles should have any bearing on this. >> message--name-table's EUDC support has to be made to work with the >> default completion-styles setting. Do you know how to do that? > > The thing is, they do have a bearing, and there is no way to avoid that. > `completion-at-point` filters the candidates returned by the > `completion-at-point-functions`, and it uses the completion style (set > by either `completion-styles`, or via a completion category signalled in > a completion table) for this. > > When the completion table does not signal a completion style, > `completion-at-point` uses the value of `completion-styles` to filter > the candidates. Only matching candidates will be presented in any UI. > The default value of `completion-styles` is '(basic partial-completion > emacs22). Which - according to the manual [1] - effects the following: > > ---------------------------- Begin Quote ----------------------------- > basic > > A matching completion alternative must have the same beginning as the > text in the minibuffer before point. Furthermore, if there is any > text in the minibuffer after point, the rest of the completion > alternative must contain that text as a substring. > > partial-completion > > This aggressive completion style divides the minibuffer text into > words separated by hyphens or spaces, and completes each word > separately. (For example, when completing command names, =E2=80=98em-l= -m=E2=80=99 > completes to =E2=80=98emacs-lisp-mode=E2=80=99.) > > Furthermore, a =E2=80=98*=E2=80=99 in the minibuffer text is treated a= s a wildcard=E2=80=94it > matches any string of characters at the corresponding position in the > completion alternative. > > emacs22 > > This completion style is similar to basic, except that it ignores the > text in the minibuffer after point. It is so-named because it > corresponds to the completion behavior in Emacs 22. > ----------------------------- End Quote ------------------------------ > [1] https://www.gnu.org/software/emacs/manual/html_node/emacs/Completion-= Styles.html > > I.e. the default setting of `completion-styles` will match for > candidates that have the search string at their beginning only. Example: > when the text before point is "foo", the candidates "foo", "foox", and > "foobar" will be shown, but not the candidate "barfoo". > > Clearly, this is fairly useless for email address completion. Thus, the > function `message--name-table` in message.el begins like this: > > ---------------------------- Begin Quote ----------------------------- > (defun message--name-table (orig-string) > (let ((orig-words (split-string orig-string "[ \t]+")) > eudc-responses > bbdb-responses) > (lambda (string pred action) > (pcase action > ('metadata '(metadata (category . email))) > [...] > ----------------------------- End Quote ------------------------------ > > In the last quoted line, it return the list '(metadata (category . > email)) in response to the 'metadata action. > > When message.el is loaded, the init code there does this: > > ---------------------------- Begin Quote ----------------------------- > (add-to-list 'completion-category-defaults '(email (styles substring > partial-comple= tion))) > ----------------------------- End Quote ------------------------------ > > This defines the 'email completion category to imply the completion > styles '(substring partial-completion). Thus, whenever > `message--name-table` comes into play, these completion styles will be > in effect. I see, hmm. That's quite complicated. Nice analysis, thank you. > Long story, short conclusion: you can't do meaningful email address > completion with the default value of `completion styles`. OK, but then (to lengthen the conclusion) message--name-table ignores the default value of 'completion-styles' (or if it doesn't, it should), and so the default global value of 'completion-styles' should not have any bearing on any of these tests we're doing. Is that correct? Thanks, Thomas
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 8 Dec 2022 22:34:44 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 08 17:34:43 2022 Received: from localhost ([127.0.0.1]:59557 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1p3PTX-0006nG-Ec for submit <at> debbugs.gnu.org; Thu, 08 Dec 2022 17:34:43 -0500 Received: from smtprelay02.ispgateway.de ([80.67.18.14]:49241) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <alexander.adolf@HIDDEN>) id 1p3PTV-0006nA-Qr for 59314 <at> debbugs.gnu.org; Thu, 08 Dec 2022 17:34:42 -0500 Received: from [46.244.216.143] (helo=condition-alpha.com) by smtprelay02.ispgateway.de with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <alexander.adolf@HIDDEN>) id 1p3PTe-0003ZI-DL; Thu, 08 Dec 2022 23:34:50 +0100 Message-Id: <dcac3ba0d9288e277bb9ebeff6e0dc6c@HIDDEN> From: Alexander Adolf <alexander.adolf@HIDDEN> To: Thomas Fitzsimmons <fitzsim@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <m3wn72am8b.fsf@HIDDEN> References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <bcee30cef48498ff7beae30e5bef571a@HIDDEN> <m3o7smh62i.fsf@HIDDEN> <9cad334f4f42725f2e244c8c81528856@HIDDEN> <m31qpccl1m.fsf@HIDDEN> <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN> <m3mt80asmm.fsf@HIDDEN> <m3edtbc3ct.fsf@HIDDEN> <e0a4caa74f558ba6574084317123fb8f@HIDDEN> <m3wn72am8b.fsf@HIDDEN> Date: Thu, 08 Dec 2022 23:34:39 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Df-Sender: YWxleGFuZGVyLmFkb2xmQGNvbmRpdGlvbi1hbHBoYS5jb20= X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <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 (-) Thomas Fitzsimmons <fitzsim@HIDDEN> writes: > [...] >> For one, you are no longer adding `eudc-capf-complete` to >> `completion-at-point-functions` in message mode. This seems fine given >> that we are not there yet to make `eudc-capf-complete` the default thing >> to happen in 29. > > To be clear, I wasn't going to push a patch to remove that, at least not > yet. It's not making anything worse, so might as well leave it as-is. I see. Please kindly ignore yesterday's path then, please. >> [...] > I'm trying to get message--name-table's EUDC support working. I only > wanted to remove eudc-capf-complete from the debugging equation, because > message--name-table existed way before eudc-capf-complete was > introduced. > > I want to understand why it doesn't work (why it results in the " <..." > expansion). I haven't delved deep enough into the completion-at-point > to figure that out. I was hoping with your experience writing > eudc-capf-complete that you'd know what was wrong with > message--name-table's EUDC support. I'll look into `message--name-table` and will find out what breaks with the " <" prefix. Please allow until Friday USA time (assuming you're there?); it's late already over here (Europe). > I don't think completion-styles should have any bearing on this. > message--name-table's EUDC support has to be made to work with the > default completion-styles setting. Do you know how to do that? The thing is, they do have a bearing, and there is no way to avoid that. `completion-at-point` filters the candidates returned by the `completion-at-point-functions`, and it uses the completion style (set by either `completion-styles`, or via a completion category signalled in a completion table) for this. When the completion table does not signal a completion style, `completion-at-point` uses the value of `completion-styles` to filter the candidates. Only matching candidates will be presented in any UI. The default value of `completion-styles` is '(basic partial-completion emacs22). Which - according to the manual [1] - effects the following: ---------------------------- Begin Quote ----------------------------- basic A matching completion alternative must have the same beginning as the text in the minibuffer before point. Furthermore, if there is any text in the minibuffer after point, the rest of the completion alternative must contain that text as a substring. partial-completion This aggressive completion style divides the minibuffer text into words separated by hyphens or spaces, and completes each word separately. (For example, when completing command names, =E2=80=98em-l-m= =E2=80=99 completes to =E2=80=98emacs-lisp-mode=E2=80=99.) Furthermore, a =E2=80=98*=E2=80=99 in the minibuffer text is treated as = a wildcard=E2=80=94it matches any string of characters at the corresponding position in the completion alternative. emacs22 This completion style is similar to basic, except that it ignores the text in the minibuffer after point. It is so-named because it corresponds to the completion behavior in Emacs 22. ----------------------------- End Quote ------------------------------ [1] https://www.gnu.org/software/emacs/manual/html_node/emacs/Completion-St= yles.html I.e. the default setting of `completion-styles` will match for candidates that have the search string at their beginning only. Example: when the text before point is "foo", the candidates "foo", "foox", and "foobar" will be shown, but not the candidate "barfoo". Clearly, this is fairly useless for email address completion. Thus, the function `message--name-table` in message.el begins like this: ---------------------------- Begin Quote ----------------------------- (defun message--name-table (orig-string) (let ((orig-words (split-string orig-string "[ \t]+")) eudc-responses bbdb-responses) (lambda (string pred action) (pcase action ('metadata '(metadata (category . email))) [...] ----------------------------- End Quote ------------------------------ In the last quoted line, it return the list '(metadata (category . email)) in response to the 'metadata action. When message.el is loaded, the init code there does this: ---------------------------- Begin Quote ----------------------------- (add-to-list 'completion-category-defaults '(email (styles substring partial-completi= on))) ----------------------------- End Quote ------------------------------ This defines the 'email completion category to imply the completion styles '(substring partial-completion). Thus, whenever `message--name-table` comes into play, these completion styles will be in effect. Long story, short conclusion: you can't do meaningful email address completion with the default value of `completion styles`. Cheers, --alexander
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 7 Dec 2022 22:21:51 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Dec 07 17:21:51 2022 Received: from localhost ([127.0.0.1]:52536 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1p32nW-00040r-Kg for submit <at> debbugs.gnu.org; Wed, 07 Dec 2022 17:21:50 -0500 Received: from mail.fitzsim.org ([69.165.165.189]:42092) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <fitzsim@HIDDEN>) id 1p32nT-00040l-KV for 59314 <at> debbugs.gnu.org; Wed, 07 Dec 2022 17:21:48 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org ; s=20220430; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=MPY19ep5/ujF3TZJqBx+JCVOYl6CxBdI2bHLDFGnMp0=; b=LDqk8sLneK0yLhSrd9wLEE8CNm UboIQzBkep8iAyOusz9p1G3zqAZyyOEwzr7kwTHKprO/XfaqzSvs/AFvYUnWBhrjP+gALqv9d0Cuk 7hMWtDAerndAAFknsQ5P53OOzWBnAzkNT1K7Nff5konYchlq1GvgT0Q/ov8eTuv9MAPaXgunXo36h CNjTIusP2sDv0Q+NYiv3I8++6DdyPZzRPoqsxdf00MPnw0I+HmwahbD4tetLZeN7fzRk0joKoxw5s xLPfSeOceLhWf4QndOdfrfTRjDUQF4KHPAwMFga6Bdjz1AHrxYA5KV9vmbR9DjDUqeEQUQcORu0lO dYwQ7ieA==; Received: from [192.168.1.1] (helo=localhost.localdomain) by mail.fitzsim.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <fitzsim@HIDDEN>) id 1p32nN-0003ii-5L; Wed, 07 Dec 2022 17:21:41 -0500 From: Thomas Fitzsimmons <fitzsim@HIDDEN> To: Alexander Adolf <alexander.adolf@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <e0a4caa74f558ba6574084317123fb8f@HIDDEN> (Alexander Adolf's message of "Wed, 07 Dec 2022 23:10:06 +0100") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <bcee30cef48498ff7beae30e5bef571a@HIDDEN> <m3o7smh62i.fsf@HIDDEN> <9cad334f4f42725f2e244c8c81528856@HIDDEN> <m31qpccl1m.fsf@HIDDEN> <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN> <m3mt80asmm.fsf@HIDDEN> <m3edtbc3ct.fsf@HIDDEN> <e0a4caa74f558ba6574084317123fb8f@HIDDEN> Date: Wed, 07 Dec 2022 17:21:40 -0500 Message-ID: <m3wn72am8b.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <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 (-) Alexander Adolf <alexander.adolf@HIDDEN> writes: > Thomas Fitzsimmons <fitzsim@HIDDEN> writes: > >> [...] >> If I remove this line from message.el: >> >> (add-hook 'completion-at-point-functions #'eudc-capf-complete -1 t) >> >> and rebuild Emacs, then my recipe works, via: >> >> message-tab -...-> message-expand-name -> eudc-expand-inline >> >> The EUDC multi-selector UI is invoked allowing me to choose between >> emacs-ert-test-3 and emacs-ert-test-4, and the full name and email >> address is inserted correctly. This is with completion-styles left at >> its default value. >> >> So that's one code path validated, phew. >> [...] > > There are two ends to this, I think. > > For one, you are no longer adding `eudc-capf-complete` to > `completion-at-point-functions` in message mode. This seems fine given > that we are not there yet to make `eudc-capf-complete` the default thing > to happen in 29. To be clear, I wasn't going to push a patch to remove that, at least not yet. It's not making anything worse, so might as well leave it as-is. > [...] I'm trying to get message--name-table's EUDC support working. I only wanted to remove eudc-capf-complete from the debugging equation, because message--name-table existed way before eudc-capf-complete was introduced. I want to understand why it doesn't work (why it results in the " <..." expansion). I haven't delved deep enough into the completion-at-point to figure that out. I was hoping with your experience writing eudc-capf-complete that you'd know what was wrong with message--name-table's EUDC support. I don't think completion-styles should have any bearing on this. message--name-table's EUDC support has to be made to work with the default completion-styles setting. Do you know how to do that? Thanks, Thomas
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 7 Dec 2022 22:20:26 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Dec 07 17:20:26 2022 Received: from localhost ([127.0.0.1]:52528 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1p32mA-0003zq-BT for submit <at> debbugs.gnu.org; Wed, 07 Dec 2022 17:20:26 -0500 Received: from smtprelay05.ispgateway.de ([80.67.18.28]:21871) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <alexander.adolf@HIDDEN>) id 1p32m7-0003zk-Pt for 59314 <at> debbugs.gnu.org; Wed, 07 Dec 2022 17:20:24 -0500 Received: from [46.244.206.168] (helo=condition-alpha.com) by smtprelay05.ispgateway.de with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <alexander.adolf@HIDDEN>) id 1p32m8-0005E8-Dx; Wed, 07 Dec 2022 23:20:30 +0100 Message-Id: <a60115b2e16e6d90144f0f27914ff32a@HIDDEN> From: Alexander Adolf <alexander.adolf@HIDDEN> To: Thomas Fitzsimmons <fitzsim@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <m3edtbc3ct.fsf@HIDDEN> References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <bcee30cef48498ff7beae30e5bef571a@HIDDEN> <m3o7smh62i.fsf@HIDDEN> <9cad334f4f42725f2e244c8c81528856@HIDDEN> <m31qpccl1m.fsf@HIDDEN> <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN> <m3mt80asmm.fsf@HIDDEN> <m3edtbc3ct.fsf@HIDDEN> Date: Wed, 07 Dec 2022 23:20:13 +0100 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Df-Sender: YWxleGFuZGVyLmFkb2xmQGNvbmRpdGlvbi1hbHBoYS5jb20= X-Debbugs-Envelope-To: 59314 Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <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> --=-=-= Content-Type: text/plain Thomas Fitzsimmons <fitzsim@HIDDEN> writes: > [...] > The next one I'd like to get working is a similar recipe (again, with > eudc-capf-complete not present in message's > completion-at-point-functions): > > HOME=`pwd`/test emacs > C-: (setq message-expand-name-standard-ui t) > C-: (eudc-set-server "localhost" 'bbdb t) > C-x m > emacs-ertTAB > > Then I get " <emacs-ert-test-", the same as your result, in the absence > of eudc-capf-complete. This seems to be caused by misinterpreting the > results of eudc-query-with-words. What is 'message--name-table' > supposed to return, what is it returning, and why is its return value > producing " <..." in the output? I could use your input on how > completion-at-point is supposed to work here. I'll look into this tomorrow, and will let you know my findings. FWIW, I'm attaching a diagram of what I _think_ `completion-at-point` works like in general. Perhaps it will help understand how message-mode does completion? As you see in the diagram (and we learnt), `completion-styles` can cause some head-scratching, since it is used to filter any candidates lists returned by completion functions. See also [1]. [1] https://www.gnu.org/software/emacs/manual/html_node/emacs/Completion-Styles.html Cheers, --alexander --=-=-= Content-Type: image/png Content-Disposition: attachment; filename="Emacs CAPF.png" Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAACQUAAAWiCAIAAAAvYYHGAAAAAXNSR0IArs4c6QAAAJBlWElmTU0A KgAAAAgABgEGAAMAAAABAAIAAAESAAMAAAABAAEAAAEaAAUAAAABAAAAVgEbAAUAAAABAAAAXgEo AAMAAAABAAIAAIdpAAQAAAABAAAAZgAAAAAAAABIAAAAAQAAAEgAAAABAAOgAQADAAAAAQABAACg AgAEAAAAAQAACQWgAwAEAAAAAQAABaIAAAAArjkGDgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAgtp VFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0 YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDYuMC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNj cmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFk b2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZm OlJlc29sdXRpb25Vbml0PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVu dGF0aW9uPgogICAgICAgICA8dGlmZjpDb21wcmVzc2lvbj41PC90aWZmOkNvbXByZXNzaW9uPgog ICAgICAgICA8dGlmZjpQaG90b21ldHJpY0ludGVycHJldGF0aW9uPjI8L3RpZmY6UGhvdG9tZXRy aWNJbnRlcnByZXRhdGlvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4K PC94OnhtcG1ldGE+CtQK6igAAEAASURBVHgB7N0HfBTFAsdxk0AKoRN6h9BBUIqAgCAoWCgCFhQr dlGxi4IgRYoNFfUpKsJDEJGiUpWuQBDpICEU6b23EEh5/9zAvvMuOS6QXK789r3Pubc7Ozvz3Yvg /TMzQSkpKVexIYAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIOCnAsF+2i+6hQACCCCAAAII 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 elo5utID93W92Aulhmk/L//or8Pnweeelwfab/8zxT4CCCCAAAIIIIAAAggggAACCCCAAAIIIIAA Aj4q4Ok8zBZDmWxJ6VRq3KLv9FOSEs+MGZE/f4EcOXOmOurQxS1HSI78+fIf+25E7oEfXRWis7YK Uv+RGqopwNizd7fW+nIIwy5efVXePHmPHj+6b9+e4sVLmvLJycm2sCf11nv27rnktaq/RPESpqnJ yWaEWWobrEpMY6322Nfvc+Vt9sJPpdKr1f6PPv20Vs0ay1esPHjoYJVKlZs3azb555/27d9fonjx +++9r3BU1O49e3+cPGnXrl2qoVJ0dJe7u+SOzHXqdPykKZM3xm1MTEpSzNa5Y6e8efIsWrJ49ry5 x48fz58v300tb2rYoL7tdv7pqc+nT38ebAGh9cPEDgIIIIAAAggggAACCCCAAAIIIIAAAggggAAC virg6TzMOJnhRwpCtKMtacum4JTk8LAw+yQsdd92OjwiIvjkCZUJqVTNlLdFUKnXKrc5ffpURFi4 C36dPXX6lC0MSy1vSpq37lyrMrrElLfuYrt16mHn9tjX73Pl1eCDhw79vnjRhRkiU64qV7Zs6VKl Dh06OHf+/Hs63xUamvOrb0du3BTXoW07hWGjvxuzYOHCzh07jhk3LjIy19NPPKXF2L4e9e3KVSub NL5eZ48eO3r/ffclJSVPnDL5x0kTO9/RccKkibfdckutGjVXrFz5w8QJtWpUj4yM9FdPh8+bz30e rPZbLWcHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAFfFPB0HqZv2E0mZYaemBFISVviNDmiGSKU GoOZzWRN2k9J0dnkral5mCmvIjqZnJxa7uzZs7lz5TFXpPmqa4+fPK5aTHnbkB2Tpbl7rXVT0zTn 9tu3x75+3yufctWxY0dXrlplSYaFhZUsUVJvb7qxZY3q1fXwSpYoUahgoUbXXafeVa5U+dTp0/K5 oWnTihUqaDTe3n17c+bMefLUqaNHj8Ztinui22MaGaaS93e5VyuTBdu2PXv3Vo6ObtmiRXTFisEh wbpc9dt/HvzH09Yvn/786NGYj7H1kWAHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAGfE/B0HmYB mVjMDAyyki8zIOzCF/AmFdEFttOpOVrqBImpJ83rxTNWla52zHf6piZTTrW5usDpnK28bTib7ZS5 PK32/H8ImppuVeMT5dXeStGVNAWirV/qSGpKZZxy586tLuhtcHBIoYIFzUHFW6aDKvfN6FGHDx/W qcTERB08fOSIXkuUKK6SuqpM6TL6v3a0ONmcefOGDR8eGhpa5+raZcuUMTX4hI/ar3jIrsE+9nwv q/2mu7wigAACCCCAAAIIIIAAAggggAACCCCAAAIIIODDAp7Ow6yxMvpqXkmJCUuCylc6N2/mheDF wrR9eW/CsPPnz4VW0DCj1NDE/kK9DQ8L19mQkAjrOocdnQ0PD9eVDheqmI5f+trUyRhT72vbUgeZ mXocanNumC+WV9aT+j+n/pq+pPKnOugldU8CZv/w4UPjfhjfsX2Hhg0aKC37+LNPdT537lw6rVFi uSMjdUHcps1xm+NaNLtB5j26d48/G79m7TrNnVi8WLGm11/vrOd8xLTBv/1tshc+YF7SX1szeEEA AQQQQAABBBBAAAEEEEAAAQQQQAABBBBAwLcFLozv8WQnTKhi7nghWyofnRwUfDYhITUKsP5vSqSk nI2P19ngCtE6YMrbariQUOWKjIxPOOui/TqbK1ekkpuLZVKvNm3Q8Utfa4tzTHldqM3sm9qc22PO +275+Pj4Xbv37Nq9W9Mbamff/v0O/bURpDIYAb1qdkS9RhUqpLBz+coVO3ftPHfuXOGowtqmzZhx /MTJ3Xt2/zT156Cg4OPHj/9nxJer1qwJzRlaoXz5sNCwkJAQh/ovPh2r/tTzvuvp658H6ymzgwAC CCCAAAIIIIAAAggggAACCCCAAAIIIICA7wp4enzYxRzFrOalmEODjFKCQkLCujxybMyXUYWicuS4 2CRlTVddlZh4/tjxY2FdH1chLQF2obztlG3dqZSiRYoeP37s9JnTkamhl+N2+syp+PgzFStU1AlT XjP7paQk61VvixQuooTmktda5VObaru1dmyrkV1sv1177Ov3ufIKnjZpINemjyzHggULvvHKq6md SlYoZfwvnLR5pj4jrShWpXLlL7/5WvulS5WqVbPmgj9+v6ZOna73dBn3ww/93hmgqRGrV63a7Pom kZG5bmzeYuz475OSklS4WtWq19apY6vOPz3NB8CnPz/m6dheeUEAAQQQQAABBBBAAAEEEEAAAQQQ QAABBBBAwFcFFA5ZA3GyvA8xS2KKFCl68Y6pSZjdClspSXNnJvz6s9apCgsLVyqmJCwhIeHUqVNh N7cLubGNreS/ypsjimrOJpzdtCkuV0SufHnzX8yrUkcUnTh14syZ05WiqyiPuXiv1EDL1gBz96s0 kilu08b0r60cFhZmX/7i5bJybL/VnsAsf+rUyeCQkMhcuZKTkzViLG+evMZccaNGg+XMqZgzVUyA Mj916nREhKZODMfz4k+d+Ww7fj6z3efgwQN1rqmjJ3WxnfwTAQQQQAABBBBAAAEEEEAAAQQQQAAB BBBAAAHfE/B0HhYVVdh8xW/3RX+qmnmbfPhg8uRxSbu2J52NDwmPCClVNviOe0KiUiO0NMtbEUti YuLu3bvOxJ/JkUPJS87ziecVpynlKlGipBlwdvHyC5GMLbJKva0SGuU3u3btdLw2V64SxXVtThPh 2Jc3VV2s8MIjv/g2jfopbz1f63nhefED4+2fn0OHyMMuPCP+gQACCCCAAAIIIIAAAggggAACCCCA AAIIIOC7AtmQhzlhpWZIdgett9rRZn/KlLIKOLxNHSh2LiHh7Nn48PCI0LDQ8DAzqCXd8rbrL9Rv u/ac07UqYl2e4fbY12/aanu1KjTHrLfU7wDi8BYfBxCHt1nic+jQwTp16oRHMD7MaPOKAAIIIIAA AggggAACCCCAAAIIIIAAAggg4JMCFxfr8lTjzcAgDY7RDS8OErqQSF0cMaO3OqtXayd19Jg75cNC w8JCQ/PkyeNm+Ys3Sq1f4Zku17VGQm278vbY1+9O+ylvw8+0zwOemeGZRiJtfkZ4RQABBBBAAAEE EEAAAQQQQAABBBBAAAEEEEDAVwQ8nYcZF6VNWrbMFnL9Hyr1kON24QjlBYOPLSJN/Yjwecimz0Mq PhsCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAj4n4Lk8TBlGSEjIuXMJPmdEgxEIWIE8efOkpCQH bPfpOAIIIIAAAggggAACCCCAAAIIIIAAAggggIB/CHgiD7MGNiUlJZ08edI/4OgFAgEiEBERYX6E zTSkAdJruokAAggggAACCCCAAAIIIIAAAggggAACCCDgTwKeyMOMl/lKvWGjhv7ER18Q8G+BmCUx hGH+/YjpHQIIIIAAAggggAACCCCAAAIIIIAAAgggEAgCwVnaSX2Tbrbk5GTtZOm9qBwBBLJCQD+8 plp+hLOClzoRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEPCCQtXmY6YAViXmgP9wCAQQyXcDKs4nE Mt2WChFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQ8IJDl8yWaMMy8eqA/3AIBBDJXQGGYVg6zT8JY SCxzhakNAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIKsFPJeHWbOuZXWXqB8BBDJRwAqzg21bJtZM VQgggAACCCCAAAIIIIAAAggggAACCCCAAAIIeEYgC+dLtL5GV08UhpGHeeaJchcEMldAP7nmZ9n+ Jzpzb0FtCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAghkqYDnxofpy/Qs7QmVI4BAVgiYn1zCsKyw pU4EEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABzwhk4fgwdcD6Jl37jA/zzBO95F0SExPz5s0b7vb2 0UcfXbJOCvixgH6KrR9eUjE/ftB0DQEEEEAAAQQQQAABBBBAAAEEEEAAAQQQ8GOBrB0fFhQUZL5J N1Ou+bGjD3VNz+LkyZPuN/js2bPuF6ak/wkoA9MPssm21Tvt+18f6RECCCCAAAIIIIAAAggggAAC CCCAAAIIIICAfwtkbR5mfYcuRPt9e9O4uLgjR47oSNGiRcuXL29/ynl/69atBw4c0PHcuXPXrFnT uYD7R1avXh0fHx8cHNygQQPrqjQPWmfZQSAABcxPrl6tjUgsAD8GdBkBBBBAAAEEEEAAAQQQQAAB BBBAAAEEEPBpgazNwwyNvkZ3YfTqq6/+9NNPKtCmTZsZM2a4KKlTAwYMGDlypHbq1au3bNky14Vd n73uuusSEhJUZteuXSVLljSF0zzouh7OIhA4AiRhgfOs6SkCCCCAAAIIIIAAAggggAACCCCAAAII IOBPAlm4fph9DGZGlriGsy/vumSmnLWWRLJ2VK21b+1kyr2oBAGfFtDPJkmYTz9BGo8AAggggAAC CCCAAAIIIIAAAggggAACCAS4QBbmYQEuS/cR8BsBhWEmrjbBmIeja79hpCMIIIAAAggggAACCCCA AAIIIIAAAggggAAC2SVAHpZd8twXAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEDAEwLkYZ5Q 5h4IIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAALZJZAju26cpfc9efLkypUrk5KSSpcuXa5c uRw5MrObCQkJ69atO378+NVXXx0VFZWlHclo5d7ctoz2hfIIIIAAAggggAACCCCAAAIIIIAAAggg gAACCCCAQKYI+NX4MKVBr7/+evXq1fPnz3/DDTfceOONlSpVKlOmTP/+/ZWNXaFXfHz8q6++WqdO nTx58tSrV69ly5aFCxdW3nbHHXesXbvWzcoPHjxYtGjRIrZtwoQJDlft3bvXnNLrJ5984nBWb2vU qGEKLFiwwP5sprTNvkL2EUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAG/EfCfPCw2Nva6664b MmTIhg0bkpOTrSekkOmtt97q2rXrlURiGhBWv379d999d/Xq1efPn7cq37Vr15QpUxo0aPD5559b B13sKEIrWbKkUjFtU6dOdSiplMuc0uuMGTMczip1+/vvv3XqyJEjCsass5nVNqtCdhBAAAEEEEAA AQQQQAABBBBAAAEEEEAAAQQQQAABfxLIzIkEs9Fl9+7dCqU0TaLaEBwc3KRJE01meOjQoT/++EOR lQ5+//33CsnGjh0bEhKS0XYqYFMYdvbsWXOhBpw1btxYQ9A0JeOyZctUrU49/fTTSqoUvF2y8o4d O+pCFfvtt98cCtuP+lLLExMT7Wd6/PXXX035Zs2aWfM0Zm7bHNrDWwQQQAABBBBAAAEEEEAAAQQQ QAABBBBAAAEEEEDADwS8KA9bs2bNiBEjXJvGxcWlWeDll182YZhWCxszZsz1119viimp6tWr1/vv v6+3P/zwQ6dOne666640a3Bx8JVXXjFhWFBQ0GuvvabZF62Yavbs2ffff/++fft0+eDBgx955JFS pUq5qEqnlIf17t1bOxq4pi4rt7PK2+dh6s5ff/3VsGFD6+ysWbPMvmZotA5mbtusatlBAAEEEEAA AQQQQAABBBBAAAEEEEAAAQQQQAABBPxGwIvyMOVDjz/++GXILly4UMO/dKFiqsmTJ2uJL6uS8PDw 9957TwPFRo0apYPK2zKah82ZM2fatGmmQuVYb7/9tlW5dlq1ajV//vxatWppEkUt4vXmm2+aG9mX cdjX8mZVq1bV7I46rojLysMOHDigwV46GBoaeu7cOe3MnTvXysMUyP3+++86qEzOysMyvW2qnw0B BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQ8DMBf1g/bNKkSeapaKiWfRhmPSqNDzPTJCpA2rp1 q3XcnZ3x48ebYiVKlNDgMOdLqlSp8uSTT5rjEyZMSElJcS7jcERDxMwRa8iX3irVMwf79u2r0Ev7 8+bNM0fMWTNGTTM3WkPQsqJt1h3ZQQABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQT8Q8CLxoeV L1/+zjvvdM363XffaakwhzLr1683RwoVKrR48WKHs+Zt7ty5jx8/rrBKo6wqVKiQZpk0D1ozNN59 9925cuVKs0y3bt0++eQTndIQsZ07d2qBsTSLWQeVh73zzjt6q0XCzpw5Y6q1JksUgoKu1atXL1q0 SAPFNFxMJa3Fw6zBYTqYFW2zGskOAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIOAfAl6Uh1Wu XHnIkCGuWQ8ePDhy5EiHMlYepqkRtTmcdXiraQkdjrh+u3HjRlNA48DSK1mpUiWN6DIjw1T+knlY 3bp1y5Ytu3379oSEBMVgt9xyi2o2eZjGfkVHR7do0UJ5mNK1mJiYZs2a6ayVh1ljy3QwK9qWXh85 jgACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgj4qIAX5WGXJ6iFu7TwmPvXZigPS05OPnLkiKm8 cOHC6d1FA7w0NE2rlKmAxoelV8z+uIZ5DRs2TEc0ZaLyMN1l3bp1eqskzLyas5oyUXmYOrh27Vod r1GjhlJD7WjLuraZ+i/5qvxPs1MWKFAgf/78ei1YsKD1Kg2zRUVFaWTeJauiAAIIIIAAAggggAAC CCCAAAIIIIAAAggggAACCCCQdQI+n4flzJmzePHiJhLr0KGDBle5xmrYsKHrAvZng4OD8+bNa4Ku Y8eO2Z+y39cwLys2U2PsT6W336lTJysPUxktHmaGlzVv3lxvb7jhBi14lpSUpDysT58+aQ4Oy7q2 pddmh+MaEjd69OijR49KRq+ajlJQSvXMEeWOhw8f1hFN+VikSBHFYwoUrU1HtF+0aFHt6FXIDpXz FgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBDILAGfz8MEUa1aNZOHtWvX7uGHH84sGlOPpkk0 eZg1OaFz/Zs3b9ZoLau8cwHnI40bN1YOtH///tjY2B07digPM2XM+LB8+fJdc801f/31l+ZL1KyJ Vh5mv3iYymdR25xbm96R2rVrp3fKOq48TMGY4jHNdWltq1at2rdvn7qv43pV8qdgrFixYkoT9Wq2 kiVL6m2JEiUEpfDPqpAdBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQCBDAn6Sh82dO1fd1hJc 6eVhvXv33r17t8r06tWrQoUK7htpfsJFixap/OTJkwcMGKDhaM7Xjh8/3hwMDQ3VwmDOBZyPKODR aLYvvvhCpxR3mcXDdG358uVN4RtvvFF5mEae6e6zZ8/WwXLlyikks68qi9pmf4sr35eJYi1tLqo6 e/asEk0lZOZVO8uXL582bdquXbv27NmjOE1pmYIxLa5mXrWjTYFZ6dKlIyIiXNTMKQQQQAABBBBA AAEEEEAAAQQQQAABBBBAAAEEEEDAH/KwW2+99dNPP9WzHDNmzKuvvlq9enWH5xoXF6coSwc1CeGg QYMczrp+qzFnI0eOVJlNmzbpLj169HAor8zm/fffNwdvu+023cKhQHpvO3bsaPIwxWkaL6ViZnCY Ka/9oUOHav+DDz4wa56pvENVWdc2hxtl9dvw8HAFgVYW6HC7xMREJWQKxpSWaXk2ga9fv16vCjj1 VuuTKRUrY9usHSWLSs40o6NDVbxFAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBABTwkzxMC25p iJWm3WvduvXYsWObNm1qPUvN0de5c2fztlWrVpp8zzrlzo5GcTVr1szMZ/jaa68pYnn++eetC1eu XHnPPfecOXNGRzR0bMiQIdapS+4o8SpQoIBW2zLDv1TeLB5mLmzSpEmOHDkUBc2YMcMccZgsUQez rm3mjl7yKgczICzN9mj02Pbt2zXnpDbFYxpYZnY0DaMyMg2qszblbRUrVnQ9Ui3NW3AQAQQQQAAB BBBAAAEEEEAAAQQQQAABBBBAAAEEfFrAH/IwPQAFUY0aNUpJSdGwIeVMysM0taCWodLIsO+///70 6dMqExYW1qdPn8t4Whqhdd111yls01JYGh82atQo1Z8/f/4VK1ZoqkMdNHV27969UqVK7tev/Kxt 27ajR4+2LrEfH6ZhTw0aNFi8eLE5qxhPS45ZJa2dLGqbVb/37xSybddee61DU/VclJNtu7jNnDlT bzXI78SJE9HR0QrGtFk7Gk+m1M2hBt4igAACCCCAAAIIIIAAAggggAACCCCAAAIIIICAfwj4SQag vErjqB544AFNLajgar5ts39CGtel5EmZmf1BN/fr1q2r+u677z4NPNIlGhOmzf5azZGopO3NN9+0 P+jOvqZAtPIwrWqm8Uz2Vykes/IwDQXTkmP2Z81+1rXN+V6+dUTrlimedE4oFY5u3rx5i23TNJUT J07UriZj1BA0Kx4zUZneaiJH3+o1rUUAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAFngezPwyIi Ipybld4RF4U1U+Lq1as1maHmNtRyU1YNSsIUOymvqlWrlnUwozuavVCVv/zyy5rbUMOMrMvz5s1b p06dd9555/rrr7cOur9z8803R0ZGmuFr9oPDTA06MnDgQLPvPFmidZcsaptVv5/tCLy2bbPv1/nz 5zWQzMrJNPfm1q1b9VaLkFX991akSBH7C9lHAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAAB7xcI 0hyDWdTK5ORkVa5XDdjSOljaYjfENmzUMItuZ1+t1o5SfKVlvcySUZp70P7sFe5rxS+NKzp+/LgC Ng3qUt52hRVm4uXutE0TCWrqSPdvOnjwYC2c5n55vympz61Ssdh/b/pI/zsgq6rPgB/PtRizJKZG zRr6kGsQpDYNUtSrHrFXfez95iNHRxBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSySCD7x4dlRce0 2paGXmVFzaqzQIECzmO5suheGa3Wm9uW0b5ke3kFP2bGRS3zZjXm4MGDVkCmYWTa3717tyKxatWq 1ahRQxHp1VdfravSnNzSqoQdBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQ8KSAf+ZhnhTkXgEl UNi2NW3a1Op1QkJCXFzcxo0b16xZM3bs2Ndff12rkVWvXl3BmInHtMMsixYXOwgggAACCCCAAAII IIAAAggggAACCCCAAAIIeF6APMzz5tzRrwQ0+aRyL22dO3c2HdOCcOvWrVM8tnbt2p9//lk7mlDR xGMqph2NJHOxEp5f6dAZBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQS8QIA8zAseAk3wL4HIyMjr bJvVLY0YM/HY/PnzP/74Yw0mK1OmTO3atevatnr16uXPn98qzA4CCCCAAAIIIIAAAggggAACCCCA AAIIIIAAAghkrgB5WOZ6UhsCaQiUsG1t2rQx5xITExWJafTYn3/+2b9//+XLl2vFO6ViSsfMa758 +dKohUMIIIAAAggggAACCCCAAAIIIIAAAggggAACCCBwWQLkYZfF5ssXae6+L774wv0eXH/99e4X pqQ7AnoEmjJR2z333KPyKSkpisf++usvBWN9+vRZuXJl8eLFrWxMO3nz5nWnWsoggAACCCCAAAII IIAAAggggAACCCCAAAIIIIBAmgJB+i4+zRNXfjA5OVmV6zUpKUkDYrTFboht2KjhlddMDQj4sYB+ ZGJjY5WNmYRM8VjJkiXNuLEGDRpox5Nrj8UsialRs0ZQUFCIbQsODtY/ha8jfvwI6BoCCCCAAAII IIAAAggggAACCCCAAAIIIICAnwkwPszPHijd8XkBZU7Vbdv999+vzige27Bhg8nGJk6cuHr16po1 azZu3Fjj9rRpJJnPd5gOIIAAAggggAACCCCAAAIIIIAAAggggAACCCCQxQKMD8tiYKpHIFMFzp49 u2zZssWLFy+ybXny5FEqpnhM29VXX20Gb2XiDRkflomYVIUAAggggAACCCCAAAIIIIAAAggggAAC CCCQXQKMD8suee6LwOUIhIeHN7Vt5uK4uDjlYorHPvvss507d2pCRROPNWzYMF++fJdzA65BAAEE EEAAAQQQQAABBBBAAAEEEEAAAQQQQMDvBBgf5nePlA4FqsDRo0eXLFli4jHNr1i+fHkNGmvSpEnz 5s1LlSp1eSqMD7s8N65CAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQ8CoB8jCvehw0BoHMEUhMTFy1 apXGjSkhmz17doECBVq2bHmjbStUqJD79yAPc9+KkggggAACCCCAAAIIIIAAAggggAACCCCAAAJe K0Ae5rWPhoYhkDkCKSkpa9eunTNnzty5cxcsWFChQgUTjN1www1afsz1PcjDXPtwFgEEEEAAAQQQ QAABBBBAAAEEEEAAAQQQQMAnBMjDfOIx0UgEMkcgKSlp2bJlCsa0xcTE1KpVS9mYho5pZkWtTOZ8 D/IwZxOOIIAAAggggAACCCCAAAIIIIAAAggggAACCPicAHmYzz0yGoxA5ggkJCRoQkUFYxo6tmbN mgYNGpg5FbUTEhJi7kEeljnW1IIAAggggAACCCCAAAIIIIAAAggggAACCCCQrQLkYdnKz80R8A6B U6dOLVy40Myp+M8//2jQ2G22bds/22rUrBEUFKSETFtwcLBe1WQd8Y6G0woEEEAAAQQQQAABBBBA AAEEEEAAAQQQQAABBC4tQB52aSNKIBBQAkeOHJk+ffq0adNmzpxZtGjRO+64o02bNvXr18+RIwd5 WEB9EugsAggggAACCCCAAAIIIIAAAggggAACCCDgNwLkYX7zKOkIApksoMXGvvziy41xG2fNmnX4 8OFbbrnl9ttvb926dZ48eRgflsnWVIcAAggggAACCCCAAAIIIIAAAggggAACCCCQlQLBWVk5dSOA gA8LaGrEa665pn///suWLdNsitofMWJEyZIlb7rppmHDhm3evNmH+0bTEUAAAQQQQAABBBBAAAEE EEAAAQQQQAABBAJJgDwskJ42fUXgcgXKli379NNPax7FvXv3du/e/e+//27WrFmVKlVeeumluXPn JiYmXm7FXIcAAggggAACCCCAAAIIIIAAAggggAACCCCAQJYLkIdlOTE3QMCfBCIjI9u3b//ll1/u 2bPn+++/z58//xtvvFGkSJEuXbpMnjw5ISHBnzpLXxBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQT8 Q4A8zD+eI71AIBsENINi7969Y2Ji4uLimjdvPnz4cAVjXbt2/fnnn8+dO5cNDeKWCCCAAAIIIIAA AggggAACCCCAAAIIIIAAAgikJUAelpYKxxBAICMCUVFRTzzxxJw5czZt2tS4ceMPPvhAwdgDDzww derU8+fPZ6QmyiKAAAIIIIAAAggggAACCCCAAAIIIIAAAgggkPkC5GGZb0qNCASsgGIwLTM2f/78 2NjYBg0aDB06VEcefvjhGTNmsMZYwH4q6DgCCCCAAAIIIIAAAggggAACCCCAAAIIIJDtAuRh2f4I aAACfihQrFix7t27L1y4cP369XXq1BkwYICCsW7dus2aNYtgzA+fN11CAAEEEEAAAQQQQAABBBBA AAEEEEAAAQS8W4A8zLufD61DwMcFSpQo8fzzzy9atGjNmjU1a9bs27evorLHH3989uzZycnJPt45 mo8AAggggAACCCCAAAIIIIAAAggggAACCCDgGwLkYb7xnGglAr4uUKpUqRdeeGHJkiUrVqyoXLly r169ypYt+9Zbb23bts3Xu0b7EUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBLxcgDzMyx8QzUPA3wTK lCnz8ssvx8TETJ8+/cSJE/Xq1WvVqtW4ceMSEhL8rav0BwEEEEAAAQQQQAABBBBAAAEEEEAAAQQQ QMA7BMjDvOM50AoEAk+gVq1aw4YN27Nnj6ZP/Pbbb4sXL/7ss8+uXr068CToMQIIIIAAAggggAAC CCCAAAIIIIAAAggggEDWCpCHZa0vtSOAgGuB0NDQu+66a9asWUrCoqKi2rZtW7du3c8+++zYsWOu L+QsAggggAACCCCAAAIIIIAAAggggAACCCCAAAJuCpCHuQlFMQQQyFqB0qVL9+nTZ/v27YMHD164 cGG5cuW6du06b968lJSUrL0xtSOAAAIIIIAAAggggAACCCCAAAIIIIAAAgj4uwB5mL8/YfqHgE8J BAUF3XTTTd9///3WrVsbNGjQo0eP6OjogQMH7t6926f6QWMRQAABBBBAAAEEEEAAAQQQQAABBBBA AAEEvEiAPMyLHgZNQQABS6BgwYLPPfecJlEcP378rl27tNjYHXfcoXFjVgF2EEAAAQQQQAABBBBA AAEEEEAAAQQQQAABBBBwU4A8zE0oiiGAQPYI1KtX7/PPP9f4sNtuu+2xxx7T6mJjx45NTEzMntZw VwQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEfFCAP88GHRpMRCDyBiIiIRx99NDY2tl+/fl999ZVW Fxs6dOjx48cDT4IeI4AAAggggAACCCCAAAIIIIAAAggggAACCGRYgDwsw2RcgAAC2SWg1cU0Smzu 3LlTp05dt26dUrHnn3/+n3/+ya72cF8EEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABnxAgD/OJx0Qj EUDgXwJ16tQZPXr0+vXrc+XKpQkVO3fuvGTJkn+V4A0CCCCAAAIIIIAAAggggAACCCCAAAIIIIAA AhcFyMMuSvBPBBDwNYESJUoMGjRo586dzZs379q1a8OGDSdMmJCUlORr/aC9CCCAAAIIIIAAAggg gAACCCCAAAIIIIAAAlkrQB6Wtb7UjgACWS2gIWLdu3fftGnT66+//vHHH1eoUOHDDz88efJkVt+X +hFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQR8RYA8zFeeFO1EAAFXAsHBwR06dPj9998nTpz4559/ KhXr1avX0aNHXV3DOQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIHAECAPC4znTC8RCBgBLSc2bty4 FStWHDhwoGLFiqRiAfPk6SgCCCCAAAIIIIAAAggggAACCCCAAAIIIJCuAHlYujScQAAB3xUoXbr0 l19+uXLlSqVi0dHRvXv3ZqyY7z5NWo4AAggggAACCCCAAAIIIIAAAggggAACCFyhAHnYFQJyOQII eK9A2bJllYotX7583759pGLe+5xoGQIIIIAAAggggAACCCCAAAIIIIAAAgggkMUC5GFZDEz1CCCQ 3QLlypUbMWKEScUqV648ePDg+Pj47G4U90cAAQQQQAABBBBAAAEEEEAAAQQQQAABBBDwnAB5mOes uRMCCGSjgEnFli5dqmCsUqVK33zzTVJSUja2h1sjgAACCCCAAAIIIIAAAggggAACCCCAAAIIeEyA PMxj1NwIAQSyX6BChQoTJkyYNGnSqFGjrr766l9++SX720QLEEAAAQQQQAABBBBAAAEEEEAAAQQQ QAABBLJYgDwsi4GpHgEEvE+gQYMGCxYsGDp0aM+ePZs2bRoTE+N9baRFCCCAAAIIIIAAAggggAAC CCCAAAIIIIAAApkmQB6WaZRUhAACviVw2223rVmzplu3bnffffe99967e/du32o/rUUAAQQQQAAB BBBAAAEEEEAAAQQQQAABBBBwU4A8zE0oiiGAgB8KBAcHP/TQQxs3boyOjtb0iQMHDkxISPDDftIl BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAgsAXIwwL7+dN7BBC46qrw8PB+/fotX758xYoVVapUmTJl CioIIIAAAggggAACCCCAAAIIIIAAAggggAAC/iRAHuZPT5O+IIDA5QuUK1du4sSJI0eOfPPNN1u3 br1ly5bLr4srEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBLxJgDzMm54GbUEAgewWaNGihRYVa9Om TYMGDTR94rlz57K7RdwfAQQQQAABBBBAAAEEEEAAAQQQQAABBBBA4EoFyMOuVJDrEUDAzwRCQkJe eOGFVatWLV26tHbt2gsXLvSzDtIdBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAg0ATIwwLtidNfBBBw S6B06dI///zzoEGD7rvvvocffvjYsWNuXUYhBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAe8TIA/z vmdCixBAwGsEOnTosGHDhvz581evXv2XX37xmnbREAQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIEM CJCHZQCLogggEIACuXPn/vDDD8ePH9+jR4+uXbseOXIkABHoMgIIIIAAAggggAACCCCAAAIIIIAA Aggg4NMC5GE+/fhoPAIIeEigadOm69atK1y4cI0aNX766ScP3ZXbIIAAAggggAACCCCAAAIIIIAA AggggAACCGSGAHlYZihSBwIIBIBARESEBopNnDjxlVdeeeSRR06dOhUAnaaLCCCAAAIIIIAAAggg gAACCCCAAAIIIICAPwiQh/nDU6QPCCDgMYHGjRuvXr06JCTk6quvXrp0qcfuy40QQAABBBBAAAEE EEAAAQQQQAABBBBAAAEELluAPOyy6bgQAQQCVEADxUaMGKGxYm3btn377beTkpICFIJuI4AAAggg gAACCCCAAAIIIIAAAggggAACPiJAHuYjD4pmIoCAlwm0b99+zZo1ixYtatas2c6dO72sdTQHAQQQ QAABBBBAAAEEEEAAAQQQQAABBBBA4P8C5GH/t2APAQQQyJBAsWLFfv31144dO9arV2/69OkZupbC CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAh4TIA/zGDU3QgAB/xR46aWXJk+e/MQTT7z22muJiYn+ 2Ul6hQACCCCAAAIIIIAAAggggAACCCCAAAII+LIAeZgvPz3ajgAC3iHQuHHjVatWrV27tnnz5nv2 7PGORtEKBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgQsC5GF8FBBAAIFMEChUqNC0adPatWtXv379 xYsXZ0KNVIEAAggggAACCCCAAAIIIIAAAggggAACCCCQSQLkYZkESTUIIBDwAkFBQa+++urXX3/d oUOHL774IuA9AEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBLxFgDzMW54E7UAAAf8QaNOmzZIlSz7+ +GOtK5aQkOAfnaIXCCCAAAIIIIAAAggggAACCCCAAAIIIICATwuQh/n046PxCCDgjQIVK1b8888/ d+zYcfPNNx89etQbm0ibEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBQBIgDwukp01fEUDAUwKRkZET JkzQWmKNGzfevn27p27LfRBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQTSECAPSwOFQwgggECmCLz3 3nvPPPOMIrGVK1dmSoVUggACCCCAAAIIIIAAAggggAACCCCAAAIIIHAZAuRhl4HGJQgggIC7At27 d//00081ceLMmTPdvYZyCCCAAAIIIIAAAggggAACCCCAAAIIIIAAApkqQB6WqZxUhgACCDgJdOjQ 4ZdffnnooYe+/vprp5McQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEMhygRxZfgdugAACCAS8QMOG Df/444/WrVtrLbF+/foFvAcACCCAAAIIIIAAAggggAACCCCAAAIIIICARwUYH+ZRbm6GAAIBKxAd Hb106dJZs2b17Nnz/PnzAetAxxFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAc8LkId53pw7IoBAgApE RUXNnz8/Njb2zjvvJBIL0A8B3UYAAQQQQAABBBBAAAEEEEAAAQQQQACB7BAgD8sOde6JAAKBKhAR ETFp0qSgoCAisUD9CNBvBBBAAAEEEEAAAQQQQAABBBBAAAEEEMgGAfKwbEDnlgggEMgCCsN++OEH vXbu3JlRYoH8SaDvCCCAAAIIIIAAAggggAACCCCAAAIIIOAxgRweuxM3QgABBBAwAjlz5lQkdtdd dykS+/HHH/UWGQQQQAABBDwjEBwcnJKS4pl7cRfvF9Av6CQnJ3t/O2khAggggAACCCCAAAIIIHDl AuRhV25IDQgggECGBZSBTZgwQbMmdurUSZFYaGhohqvgAgQQQAABBDIuoDCMPCzjbH57hfIwv+0b HUMAAQQQQAABBBBAAAEE/i3AfIn/9uAdAggg4CmBHDlyKBLTq1KxxMRET92W+yCAAAIIIIAAAggg gAACCCCAAAIIIIAAAgEnQB4WcI+cDiOAgPcIKAzTxIkHDhxo164dv63vPc+FliCAAAIIIIAAAggg gAACCCCAAAIIIICAnwmQh/nZA6U7CCDgYwKKxH7//fc9e/bce++9RGI+9vBoLgIIIIAAAggggAAC CCCAAAIIIIAAAgj4iAB5mI88KJqJAAL+K6BILCYmZufOna+99pr/9pKeIYAAAggggAACCCCAAAII IIAAAggggAAC2SaQI9vuzI0RQAABBC4KhIeH//LLLw0bNixbtuwzzzxz8TD/RAABBBBAIGsFzp07 l5yc7M499EeVO8UogwACCCCAAAIIIIAAAggggIB3CpCHeedzoVUIIBBwAgUKFPj1118bNWpUsmTJ Dh06BFz/6TACCPijgKaBjYuL27FjR+3atYsUKeKPXfT5Pl177bV6OpfsxurVq9etW3fJYhRAAAEE EEAAAQQQQAABBBBAwGsFyMO89tHQMAQQCDgBDQ6bNm3aTTfdVKxYMY0VC7j+02EEEPB6gVtuuWXm zJldu3b973//a9/Yffv2FS9evFWrVr/99ps5fuzYsaeffnr69OnHjx83R8qUKfPss8++/PLL9hey n+0ClStX/u67744ePXrgwIEqVao4tGfjxo1FixbNnz9/x44dHU55/u3o0aMHDRqk+wYHB69fvz5T GqAKt27dOmLEiEypLesq2b9/f/PmzU39H3300c0335x196JmBBBAAAEEEEAAAQQQQMBfBVg/zF+f LP1CAAGfFLjmmmvGjBnTvn37zZs3+2QHaDQCCASAgP41pfDeRUeVVdStW3fcuHHlypV78cUX9fX9 Qw89dPbs2VdeeaVTp07acXEtp7JFYPHixVWrVl2zZo393fUcdXDhwoX2B7Nxv2nTpkOGDNHr33// 7X4ztmzZovzMSmodLtTZzIrWHGq+5Nv69es/9thjlyxmCmgQufres2fP2NjYEydOuHkVxRBAAAEE EEAAAQQQQAABBOwFGB9mr8E+AgggkP0Cbdq00a+r61e/ly5dWrhw4exvEC1AAAEEnASefPJJpQh5 8+Z1OnPV+fPn77nnnn/++ef9999/4YUXgoKCTJkjR44oFZs0adLbb79tRvk4X8uR7BJo3bq1xoEp 6Rw6dKjVBo0b0x9DGhRoHcnenfK2TdNvZqgZmrRTW3prpH311VcZqi0TCyclJalhblYYGhrarl07 jRJzszzFEEAAAQQQQAABBBBAAAEEnAUYH+ZswhEEEEAgmwUesW133HGHvlbO5qZwewQQQMBJ4Pnn n9+1a1d6Mx9++umnWmiqbdu2GhlmhWGqo2DBgqNGjcqTJ897772nQTlOtXIgOwVy5Mhx3333aUif lRspqhk7dmyXLl1y5szpTss07O/111/X7IthYWGad1FzG5qrNBuhEjUNbypRosTjjz9+6tQpHddo LS1appFe+lT079+/UqVKWsZs+fLlOqVpG+vUqdO3b9+aNWvq06IP0sGDBy/ZgCVLlqg2ldfMw7pW UZMu0dp1qur222/X/lNPPaV9bbt37za1vfvuu9fZNsW05oh5TbPBOqWxXD169NBrVFTUDTfckN6A M/uqZDhgwABNgCwTzRc6cOBAc1ajwNUSjXKbPHmyrVF1vvnmG536888/9VZj9axKlCgrBrPeprlz +PDhBx54QLya1lJ/c9i7d68plt7d06yEgwgggAACCCCAAAIIIIBAIAiQhwXCU6aPCCDgewJvvvmm Bl5oZiTfazotRgABfxfQd/SaDlFLLs2ZM8e5r4sWLdLBZ555xvmUQpF77703MTFR3/s7n+VIZgno z477779fT8f94Ue6tTIVxZwLFiwwzfjjjz+2b9/+4IMPutkq3VEjAjXrr0I1VWVmWVQupZFny5Yt U3raoUOHb7/91nwwtFyZ5mZs2bKlkrO33nrr0UcfVVMHDx6seyUkJKxevVqDCJVvvfTSS/Pnz1dQ 57oNyl+bNWum3yDRzJyKmt555x0lebpEi3Gq8u7du2tfHzzta9OH0NTWokUL5Vsad2U/X2J6DdYl msdY9ctEEZeWx3viiSdMPS5eRdG7d2/Fgb/88oseirWWnpqklijBUihoa9Rb6qzqUSioONBazEzl v/jiC5VxcQvll1q379dff9VyfX369FmxYoXVsPTu7qI2TiGAAAIIIIAAAggggAAC/i3AfIn+/Xzp HQII+KqABlVooip9sdi4ceOOHTv6ajdoNwII+KNASEjI119/Xa9ePY2VWbt2bWRkpH0vNShHb6tV q2Z/0No3x00Z6yA7mSvQq1cvPSCt1nbo0CEFWhr/VLFixUveQrmLNv3Ro6BIhTV3Yo0aNZTQXPJC FdBQpx9//FHx0ocffmjKmyhOmZxiJAU8Srx0/PTp06p/+PDhpox+80MfHn2EXnvttZMnT9qPuOrc ufPnn3+uYsp7NIBMKZQGfpmrnF8VgKkeZUJmAk+FVQrelM/prf4ANetxKnBSMmd/rT7A2mbNmmWf h6XXYI0807W5cuWaOnWqIjSFapoUVDM3atSXhmfFx8fb16z9iIiIQoUKrVq1Kjw8XA9CF9oXuOmm m/RWuVqFChXs/4jXKD09rI8//viTTz7JnTv3Dz/8oFF3GjFuf63D/k8//aS7CF8r8+lUdHS0KtS0 ipr9Mr27O9TAWwQQQAABBBBAAAEEEEAgcAQYHxY4z5qeIoCAjwno6zYttKPZpTZt2uRjTae5CCDg 7wIKTvQtvxYJe+ONNxz6qjRCR6xROA5nzXFFCA7HeZuJAgqHnnvuOQ0VUnijCKpRo0ZKg5SQKXNy fReN61KyohFa586dmzBhgvuDwzRCSzXfeuutVv1mqkyTRakB5rh2NABr27ZteqtUSTOFcIntAABA AElEQVQxqqkKfvRWiZGZStGU1ESGZqd+/fracT3BpoaaaSiV8idVqO2///3vvHnz7GszVbnz6qLB uly/oaJma0dzOerVFO7atWtpp61bt24qcOedd2rUmuaQfPjhhydOnOjOcD1deObMGeHrcqV6yia1 aJr209vUd5266667TN81CE/jL2fMmKGDl3H39O7CcQQQQAABBBBAAAEEEEDAPwQYH+Yfz5FeIICA fwroF/P1a+/6Xe+lS5c6/Ha5f3aYXiGAwFVXBQcHu/O9uWeoXLRE87zpK36N9dF38fbDjzSOR+Nm tFWvXt25kTqugxoW43xKR+zXG0uzAAfdEdDqVta0h6a8luDS/IdmWkIXNWhmQg3VUoqmIYAnTpy4 5ESFVlWK0LRvBlFZB7VjVsG0/vwyOwrbdEqfc73qiZsdvVpLl+m4xlfpVZvGV+nVXGI7kMaL7n7z zTdrMkP7c0ra7N+6ue+iwaohX758ph7TZtNgDecyGbD9LbQumt4qzNuwYcNXX30lUoVbCqu0YJh9 Med9/SjdeOONI0eObNKkiRYSMxM/Ohezjhj5mJgYe3zNxKgCl3F3q1p2EEAAAQQQQAABBBBAAAG/ FCAP88vHSqcQQMB/BDQ+TIvxPPnkk6NHj/afXtETBBBIX0ARlIsUKv3rPH1GQYXmwWvevLlGtJjx KKYFGg3z+++/K31JMw/TcRVTmTSb6xMdT7Pl3nlQg4eUrGiKwqpVq2oiPg0Yct1OTbKnSQU1U6Im 7tOqVCZWcX2JOatlwLSjj0HDhg3ty5tJDpXWmEFO2tHZcuXKuR7vpTJacszUs3z5cu1oWkLzVq9q pF737NljNU9311BFvaaZp6ovKu8cWVkV2u+k12D7Mg77lSpVcjhi/1Znh9g2rbqnWRDVjPz585sC aliarVJs2aVLF016qcGUd9xxh31tCuT0c7d7927roJHXwm8OJU0BF3e3amAHAQQQQAABBBBAAAEE EAgcAfKwwHnW9BQBBHxV4D//+Y9mjtKrUjFf7QPtRgABfxRo1qyZlhD78ssv+/bta/VP6xhpaj6t I6VTDvmEZtXTck2FCxfWhVZ5djJdQHMkakySBiRpXkrFYEuWLLEfwOf6dpoyURMA6sHpctcl7c9q KJKSsM8++0wjwLSw1saNGxVoaXkwhWqaxnDQoEEaL7Vz504tiGWO2F+b5r7GUWmAVJEiRfTpqlWr lv1ydBoKprkBe/bsqd8X0WdJ2aomh1SMpwXDnnjiCSVnCxcu1AJ1WnXM1KzYTBnSF198Ubx48aio KEVEulyTCmpNMhXQHJIaYmXyuZIlS152g9PshUCUfmm4nqZzXL16tRpgjXtTeY2S1JpnmhpR67Sp p2qbqUTJltBk9cwzz5jhcVbleqvRY8qhtU6YyujvBvpxk3OfPn300HVK8npw+guDbuT67lad7CCA AAIIIIAAAggggAACgSOQOlEJGwIIIICANwvoWy1NtaRvu8wyId7cVNqGAAKBJjB06FDlDfYDWG+5 5RYlGbGxsYpVzOxzxkQjeMwQFiUZZsmoQLPyWH8HDBigYVXvv/++Ip9+/fq5H4aphe3atdNMg8pd NLmf+w1WfjZ+/Pg6deq8/vrrGv6lhcTMo9eD/v777w8cONCmTRvloxp9pVxK1aq8tjR3zE210thT Tz3Vvn171TNq1ChT2JzSGCmlfatWrdLHTIvY6aASMkVE06ZNU86qu+t3R7RKmSmsV634pVBNFBrL qORJsZwO7t27V5GSNq3TuXbtWrM/d+7c9BqsS1JbbGuz2bdetZPepo5r5bBSpUppvTGtZ6ZGhoWF WYX1x7rW4dOklGrVN998Yx1XGWWKeqtrrYPWzsCBAxUBSkZEwlGD1XHNb6k4UHley5Yt9aNn2un6 7laF7CCAAAIIIIAAAggggAACgSMQlHXz0mhKfVWuV/0XqX4HU1vshtiGjf41iUrgQNNTBHxRIGZJ TI2aNfStir5n0abVMvSqjljfB/lip3y3zRpvod/11kJiZuon3+0ILUcAAdcC+nds1v31zPWtL3lW WdfMmTOVKOgrfqvwlClTTNClsTW//fabjmvNpLZt22rMjaZMVFahiELxzPTp0zVcScNZNH2ffSpg 1cOOZwQcPmBaolKZ0CVv7WYxrTqmJeJKly5tLbWlmvV53rp1q4aOaYDUJW+kT5fGeOlDpWhHkyIq qTKLdV3yQt1l27Zt+i8OXX6FH7AMNdh1w+Lj4xXFaSyXhrK5Lml/Vj9Khw4dUuZnf9D1vn64FPLp B9Oaj1Hl3bm7w+fB9V04iwACCCCAAAIIIIAAAgj4tADzJfr046PxCCAQQAJaoefHH3/UrFO9e/cO oG7TVQQQ8CYBk0yY342w2qWBRJ07d9a/oKzjmt1OAZhme9OCUsOGDTMltYLUG2+88eKLL1oXsuMN AgqQlHVdsiUqdskyKpA3b16NhXIoqcQlQ2PUzOUa+ZTeOnMO9Zu3uos+Y2meyujBy2twmnfRCG8t 3pbmqTQPLliwQCPC58yZozFwaRZI76AiN20OZzN6d4fLeYsAAggggAACCCCAAAII+JlAFv4CMuPD /OyzQncCUIDxYd720PWb8ppbafbs2Xr1trbRHgQQyCwBPxuuoVFi+/fvVySgFaQyi4h6rkTAyz9g u3fvvvbaazUDp5YEu5Ju+ui1LVq00Ag5zZeoSS890wUv/zx4BoG7IIAAAggggAACCCCAQIAIMD4s QB403UQAAX8Q0CI9Wg/mgQce+Ouvv3LmzOkPXaIPCCDg7wIaGHQZY4P8XYX+pSugRbAUoKZ72t9P zJs3z9+7SP8QQAABBBBAAAEEEEAAgWwTCM62O3NjBBBAAIGMCygM00o8/fr1y/ilXIEAAggggAAC CCCAAAIIIIAAAggggAACCASoAHlYgD54uo0AAr4r8KVt0xAx3+0CLUcAAQQQQAABBBBAAAEEEEAA AQQQQAABBDwpQB7mSW3uhQACCGSCQNGiRT/99NNu3bolJSVlQnVUgQACCCCAAAIIIIAAAggggAAC CCCAAAII+LsAeZi/P2H6hwAC/ijQuXPnggULapyYP3aOPiGAAAIIIIAAAggggAACCCCAAAIIIIAA ApksQB6WyaBUhwACCHhG4JNPPunTp8+RI0c8czvuggACCCCAAAIIIIAAAggggAACCCCAAAII+K4A eZjvPjtajgACAS1Qs2bNu+++u3fv3gGtQOcRQAABBBBAAAEEEEAAAQQQQAABBBBAAAE3BMjD3ECi CAIIIOCVAv369ZswYcLatWu9snU0CgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQ8BaBHN7SENqBAAII IJBBgQIFCigSe/bZZ+fPn5/BSymOAAIIIBCgAkG2LUA7T7edBPRxcDqWzQeSkpISExNTUlLUjpw5 c4aEhJgG6bg2NTg4ONg6mM1t5fYIIIAAAggggAACCCDgUwKMD/Opx0VjEUAAgX8LPP7448eOHfvh hx/+fZh3CCCAAAIIpC2QnJyspIENASOgz4P9B0UHrbf79u2LiYmZO3fu1KlTY2NjreMLFy7s27fv 66+/3qNHj1mzZlnHR40a1aZNmxtvvLFJkyZjxoyxjg8dOrRs2bIlS5YsWrTo8OHDreO9evUycZci LpWxjr/11lt58+bNb9s++ugj67humjt37ly5coWGhtqXf/PNN8PDwyMjI3XVxx9/bJUfMmRIxYoV q1Spoimmv/32W+v4iBEjbr311g4dOtx1113Tp0+3jmtftx44cOB77723atUq6/iGDRtmz569aNGi 5cuX26/b6kBnlWcHAQQQQAABBBBAAAEEvFYgyP6/eTK3leY/tvWq3+PTr/hpi90Q27BRw8y9C7Uh gEDWCcQsialRs4a+pNAv4WqzfhvXC3+VOOsQvL/mxYsX33fffZs2bcqRgyG/3v+4aCECaQgkJyae O3TkqotfQ0eUKBa/Z595G1asiIZCpHENhxBAAIFMEvjkk0/ef//9U7atT58+PXv2NBXr+Hfffaf8 Sdtjjz3Wvn17c1wZ2JIlSxRBaWvWrNm1115rjis32r59u8IqbdHR0cWKFTPHlSGdPHlSf0vRli9f Pl1ljus/EvWfitZfL83By3hVPefPn9ertjDbZirRLwwdPnxY/xGqs0VsmzmuvzJpO2fbatWqVa1a NXNco+0V9SXYtltuuaVly5bm+DfffDN27Nj4+PizZ88+99xzDz74oDn+6quvDhs2zPgoRXv44Yet 8nPmzFE+p/TuzjvvbNSokTmuCa737t2bx7aVKVNG6Z05zisCCCCAAAIIIIAAAgh4TIA8zGPU3AgB 3xMgD/OVZ3bzzTfrd5wfffRRX2kw7UTA7wXOHT6acOBQwn79/+D/Xw8cKnJLi/JPPWDfff1m0rya LU/9vck62P6qXT9dVcq8LdS84fXzJlinzM7Gtz84GrMyrGhUaJEovYbZvyo/877Zzxzaz1sEEPAq gQMHDpw5c0bhjTYrrPKqFnptY5SpiU6bUjGNZzPtXL9+vYaXnT59Wgmjhso1aNDAHNcYNeVqiga1 vfjii4888og5/sYbb2igv2IyJWSvvfaaxq6Z4xqUtnnzZiWI2hQ6WvmiOcsrAggggAACCCCAAAII XIYAedhloHEJAoEiQB7mK09a0xndfffd+tJE8w75SptpJwJ+LPBHs05Hfv8zzQ7mrV2t+apfHU79 1eWZwwtirINt9q6YWaKueVvyrttrftjXOmV2ZpWsl7Bnv8NB87Zo21bX/TwyzVMcRAABBBDwQgHF ZpqaUiHZiRMnNLFkuXLlTCN/+umnGTNmHLdtmh9bEzya40899dSPP/6oRWSVwPXv379169bmuMbt 7dq1S8cLFixYu3Zt7ZjjvCKAAAIIIIAAAggggIAlQB5mUbCDAAKOAuRhjiJe/F4rdnTs2FFfl3hx G2kaAv4gEL9zz/HVf59YtT71dfXfkZUrXPfLtw5DsmJuvd+M3worWjisSKHUV43isr0WbNogtMCF MQTpcag219NZJxw8fGzZ6tSRZwcOW6/nNBzt4JFibVvV/mKIfc1JZ8/+3rjDuYOH89aunq92dfMa Wak80zDaK7GfnoC+o//0008feughxqakR+Tlx7X0lyYMtKIUL28tzXNHQNNCagrKo0ePakLIUqVK lShRwlw1YcKEmTNn6rjOvvTSS23btjXHtcybFoErZNs0x6M1Xm3lypWaGzLKtlmD29xpAGUQQAAB BBBAAAEEEPBdgUt84XIlHWP9sCvR41oEvEGAPMwbnoKbbVi6dKnWqNiyZQtDxNwUoxgC7gucjN28 fcRYk4GdP3zM/sI0x3vZF7iM/UvmYRmqU4uTza/V6lTsFvurQnKF56lZNV+d6hVeeCxP1Wj7U+wH poCWPqpZs6a+Q3fo/pAhQ4YPH/7PP/9o5SeHU1f+dvTo0YMGDVI9WkFKU8xdeYWxsbF//vmnVoS6 5pprrrw292vYv39/8+bNTfmPPvpIkxi7f61DSa0v9dtvv5mD5cuXb9y4sRZwdSiTobeaoO+JJ57Y tm2b0pAMXUhhvxFQbLZjxw4tpaatTp06WtrNdG3o0KGTJk06ZNu0Rpp+rcocf++99/SBKWzbdNDK wvWLGg6//OE3RHQEAQQQQAABBBBAIHAEyMMC51nTUwQyLEAelmGybL1Aa7/rF8D1tVe2toKbI+CH AjG3PXBg+jzTsdCoAqlDrOrUyFunRr7a1fJUrxx0Zd9WO3tlbh6m+vUl5ukt206s3qABbcdXrddr /I495r6lH7rzmpEfOLeBIwElsHDhwhtuuEHBSZcuXew7rlWRNHWbFjp6/fXX7Y+nt6/fyahUqZIm bbvpppvSK2N/XDHb2rVrNYBpxIgRrsdE2l/lYv/+++8fM2ZMq1atrEjJRWHXpwYPHqy0QONsXBcz Z7WIlMblKHV48MEHNUanc+fO7lyVZhnpacB3ZGSkAkjNk6cQ6+23337mmWfSLOzOwfPnz+shaqkq TaznTnnKBKaAfdb1xx9/aP2zg7ZNa9Nq6TJjcvvtty9btqyIbVPuqwTdHNevZCm1LWrbQkNDAxOQ XiOAAAIIIIAAAgj4ikDm/6anr/ScdiKAAAJ+JtCvXz/9Gq9+x58vI/zsydIdzwgkHDi0f9qc05u3 VerZPUfuSPubVhvUs3DLJrmrVMxbp3pEyeL2p3xiXwFb7ujy+n+JTreaBp8/dlzzPaqzRW6+waEL Z7bt3Nj/o3xXVyt6e8vIiuUczvLWLwX69OmjfrVo0cKhd19//bXmS3R/Jl59pa5NU0Q41JPeW41/ 0qaRK+kVyNBxzQo4ffp0TR+3YMECJUn58uXL0OUOhdURzUrncDC9t/pjt127dholll6BjB6fPHmy MsWdO3fec889muxOaVZERERGKzHlNWpcy01pxI9CTcVsl1cJV/m9gP3Arya2zbnLP//884GLmwaP WQW0zplyXH3+dVLhesOGDc2pTz75RJm6hpcVL168adOml/0Ztm7EDgIIIIAAAggggAACVy4QfOVV UAMCCCCAgDcI1K9fX5NEjR8/3hsaQxsQ8BWBE+ti4wYN/71x+1nFr131yMub3hl+cPbvDo1XOFTx xceL3tbSF8Mwh76Ytznz54u6oVHZbl0iSl9YeMYqpu7v/Gb8uh5950Q3nVu9xfpXBx5eGKNkwCrA jv8JaK7CsLAwa1Y0q4P6art69eoFCxa0jmhHE6k9+eSTGnKUK1cuzb2moSQ6GBcXp30NH9G+0hft a9u9e7feDhw4sFmzZla2pO/HtXyR5mDUKRfbkiVL9AV6njx5ypYt27dvX+tyF5csWrRIw7k++OAD jYiaMWOGi5LmlBKvAQMG6Lt79b1MmTJqpzn+2WefqfEff/zxiRMnbP2oc9999+mUZmLU28WLF1s1 v/DCC4rBrLdp7uguH374oRgVBmgWx9mzZ6dZLM2DpUuXlpX6rngvzQJuHpSkalizZo2b5SmGQJoC mtdU/5a4+uqrNQRTg8GsMu+8887y5ct37dql1cjq1atnHddAMs3QOGfOnHfffXfz5s3Wcf1AaT4D /YtCv8h1hZ9tq052EEAAAQQQQAABBBBwU4DxYW5CUQwBBBDwAYHu3bu/9dZbmjDKB9pKExHIVoEj i//a/f3P+375LX7bLtOQ4PCwqBsbl+h8W7H2rbO1adl88zLduuTIm2fflFkHZs4/tWGz/r/l3f/k LJCvyC0tSj/Y2Xk8WTY3l9tnhoACG2VIzjX9/fff+jULh+MKgZQMaTpBDRBRYGYGRelbcv3ps2fP nmefffbee+81E6wVKFBA115//fW9evXS8JFbb00dnqiRT5py7auvvnKo1v7tunXrFKHVrVtXc7Jp 3jZ9216xYsVL/tGmQSqaXbBTp05Vq1bVQBaNrLKv03l/3LhxvXv3VtimL+U106MmbzRlNHWkuvPj jz9OmTJFndLB/Pnz61Wd0vAXTe2oNb30Vt/jf/HFF84rrplKrFfFbBp+p3kUNTxL66W1bdtWK4SZ Cq0yzju6tULKFStWTJw48e6773aOKp0vcXFEk1jqrJ5mo0aNXBTjFAJXKKBBZvYLDeqjq825Tv0s KB7TD4K2+Ph4ayinJmBUCF3CtulfEVYSrx9P/QgwutFZkiMIIIAAAggggAAClyFAHnYZaFyCAAII eKmAlhB77rnn9Gv1fOflpU+IZnmHgBbT+qNpx6uSU9ScsGKFNfCraNtWhW9qliPXZc5I5h3dypxW 6AvNkne11f+TExOPLFq2f+qc/VNnn4rdsnvslN3jprQ5vDa0QGo2wOZPAmb8k0OPNCxp06ZNGsbh cHzlypX6I8akU1rpypzNmzevJuw1Q0A0Gql16/+HyoqXlMeMHDnS5GHffvutRpBoiIlDtfZvFYDp u+9ff/1V1eq41uXSVbqjxpY5L+iV+oktWVLFlIFpjkENYdHdR40apYRPUwXaV+uwr6QtPDz8lVde 0UA3+1M1bNvGjRunTZumTlmn9EX/Qw89pHFjmgUud+7cP/zww9mzZzWToVXAeUfrig0aNEjLiX3z zTc6e+edd6qpGsatlT41eE5DxxwuiYqKMkeUGmo8mYbiyUFZmkOxjL5VvqA+btiwIaMXUh6BrBBQ yu4ctOtG+pHUz4VidW32P7z6udP4M81Kqh+fmJgYDRs1rdIygcrJNEWqid6zoqnUiQACCCCAAAII IOB/AuRh/vdM6RECCASugL4WVB6mX6gnDwvcDwE9d0NAkwRWeL5bSGSuYm1b5a9fRz84blwUcEWC c+TQnIr6f413e53a/M+BaXODQnMShgXO5yAkJESRjCIohy536dJFg8M0Q6+CLn1PrSEdDgUc3urn 69FHH9VILM2cptrmzp2rCQkdyji81cx+Gn2lwV7muBYGUyWnTp1SBNWtWzeHwnqrWdoUxWkQie6i t8rD9Oegxq61bNnSubB1ROmUJlesXLmyUjTN9Kjo65L/KtDd1fcJEyZoqU5FdFpxTeufWRU676hJ 6rKaPWnSJJ01a5Ipt1MAqS/xncuPGTPGRGLK89Qqiel2+k0XxQNagcm5vJtHFA0qmVOG52Z5iiGQ LQKKnDU/qjaHu//+e+okxkePHlVapgzbOqvBmhr1qHka9fFWUm6dUvys5EzTjaoqRpVZXOwggAAC CCCAAAIIGAHyMD4JCCCAgF8J6Es6Tc2k7870++B+1TE6g8BlCRyYNT/hwOHS93eyvzo4NLTmB33s j7DvWiB3dPncz6eRQySdPRvX/6PcVSqW7NI+2OVYHNf1c9Y7BapVq6YhYg5t04CnJk2aaDpBfems POm///1vmsPL7K/SCCdNmTh27NiTJ0/qO2slavZnnfeVb918883KtOxP6Xvt9u3bOw8rUYilgSOa LFGFn3nmmRdffNHM/ajYyXUepkhPQ6Y0LdvUqVMVbmkknEZl2d/ReV/TNt54440a6yYBLSSmHjmX sT+ijujt+++/b8bGmVPqiEZradJI5/FhFSpU+Ouvv6walAhqdsr33ntPQ+WuZJSYpoJUpqg1zKya 2UHA5wQ0CMxhHJiSZtOL06dPaxVAq0dLly7VZ36nbVOObo4rM9PEsFopUJtibP6SbHGxgwACCCCA AAIIBJoAeVigPXH6iwACfi6gaWS6du36+eef9+/f38+7SvcQSF8g+dy5XWOnbHn/y5PrNqpUwcZ1 IyuWS784Zy5TQLyb3hmui//uObjCsw+XfeI+BpBdJqVXXqaJA//44w/npt1m2zRboAaH2edhZukg TW/ocEnRokW1bpbyMw2W0uSBZhZEq4zOat/+1ziqVKmir7P16jBgS/mQNutC+x2lX2qtGR+m48rS dMQhUbMvb/Y1keMQ26bYSbMgquXWyl7qi1Y2Uh+tQSfmEo11U56neE9fzd9xxx32dWoZJBXWEBbr oOrX/I0a66YlzayDZkeTRjocSfNtXFycjmsETJpnzUEt56amap22RYsWyVbf9a9evVrjyTT0zRQw oSZ5mAtDTvm0gMMgMC3s59wd/SRqwKWme92xY4fyM/2MmDL68VRibRuWVjY6OrpcuXLO13IEAQQQ QAABBBBAwJ8EyMP86WnSFwQQQCBVoEePHvpeTF8L6lfmEUEg0ATOHzu+7T9jtn78TcLeA+p7eKli lXp2JwzLoo9B/nq1644bvmnQ8BNrYjf0HBw34KMyj9xToUe3yAqOE15lUQOoNksFOnXqpBBr3bp1 9pMiagzW3XffrXBFsxru27dPA7msNmjIhQIhfRmtMEbz/ikNshYBUoxkxkh9+eWXVnmzoxpUrGfP no8//njhwoWV4mjiX815qAXDtM6WBnNo5kPFQi5+yWP//v0aEfLmm2+qYabOgwcPPvvss2qhi4XK NG2j0i/N+qgvxE2ApPkhrbZpqJbGmemmmlZRxaxvyZWBKZPTwBQ5OERleqvRY5rDTd+qq8x1112n r+m1wNiwYcPUwXvuuUep1cSJEzUuTXmidaM0d9QdFV67du24ceM0mEzzUqZZzBxUzYoPhdC8efPa tWtrPJnmWtR9v/76a1NAg/kUyJGHuTDklN8LKOEeOnSoczc1sExzwypL1nDP5OTkefPmmTJ79+5V oK4ffG368dGr87UcQQABBBBAAAEEEPBFgWBfbDRtRgABBBBwIaAJnfRr9TNmzHBRhlMI+J/AmR27 1/bo82vpBgpmFIblrV3tmtHDWm1dXP7pB/2vs97To5L3tG+++reGv35XuPUNSafj//lk5JxKTZd1 fvzE2g3e00hacnkCSrCuvfZah1FWmidQGZKCq3bt2in+6devn1W5fglDcdf27dsVzGi0lqYrs04p 31JIppCpWbNm1kGzo2FVmrRw1apVmoTwlVde0UElZEqVpk2bpsL6GvrJJ59MSkpyuMr+7fTp0zX3 oG5hHWzTpo32VYN1xHnnwIEDmmFY63gp7dOkarqj/ZRrmptRadzw4cOvueYa5YLW5Sqj/Elvda11 0NoZOHCg8jxdq1U8zbSNmlJSl/ft21fpoMI5ZVQOKZp1rdkxQ+L0Gy2qRMNWhKPlyrQYkkMx+7e6 xGwOB81bRYMK1d544w2Nj7EvwD4CCEhAP4+aZlzB/5w5c6wwTMe13p5GW65YsUI/who/allpqUJF 7/pXlsorM7OOs4MAAggggAACCCDgKwJBzjPXZ1bT9QtWqlyv+i9YzVmvLXZDbMNGDTOrfupBAIGs FohZElOjZg19yaJfnNSmb1L0qpvqSFbfmvqvUEDf62m5EX2JdoX1cDkCPiQwq0RdMyZMwUz0y08U btXUhxpv31T9Ozbr/npmf6NM3z+xLnbLByN2fTc55dz5XOVLK4xMPBOfI9f/x9xk+h2pMKsFtKTW vffeq/n67CcqPHTokEYjKeBxfxSyymukl753VjDjZpv1U7Bt2zb9F4QutE+q3LzcnWIag6X0Tl1T vOdOeVOmVatWElCA5/4lmndx69atCrc0hM7Df4kaMGCAVkfbuHGj+Suc+22mJAIIOAvoZ19zkmtE pjZl/NYighrNqTlaNVupUn+NxXSYFda5Ho4ggAACCCCAAAIIZJdAFn7hQh6WXQ+V+yKQWQLkYZkl 6fl6NPtT6dKl9bv5+vbN83fnjghki8D6l/snnjxVvvtDeWtVy5YGZNZNfTcPMwJn9x3Y8c34iNIl Ek+cXPts71L3d6o+5I3wYkUyy4d6PCmgUCo2NlaDtOznEsxQA7RmmMZpaXJCzQGob5DNamEZqsF7 Ci9YsGDq1KmakFCjQ7p16+Y9DXPREq1npiSsWLFiLspwCgEErlBAf+XWv+X0rzgl3xodO3LkSFOh VizTmFrN3KCcTK/E0lfozOUIIIAAAggggMCVC5CHXbkhNSDgtwLkYT79aDt37qwJo7Rki0/3gsYj EIACvp6HWY9s/4x5yzo+lnw2IUfe3JXf6lHhuUeCc+a0zrITIAKaXkxLWmqMl9biMtMY+m7HW7Ro oW+9NV+iBl35bi9oOQIIeExAv0+gKWe3bNminExDS//zn/+YW2smRoVnSsi03KDmZvRYe7gRAggg gAACCCCAAHkYnwEEEEhXgDwsXRpfODFlypRhw4bNnz/fFxpLGxHImMCpTf/kLJAvLKpgxi7zkdJ+ k4fJ+3/snQeYVMXy9hUxEEUFBUUJopIFRKKgEgwgJpQrGECMICqYUMwiJhRzRlGMoIJkEJAgWUCS BMkokkEJItHv59b993fumbCzszOzM7PveXiGPn26q6vfE7ferqpdK9f83OXJ9YO+o1yw/KmVX3vq +Kb+9FEpclqkphAQAkJACAiB6BHA3daFS508eTKepvBkrBggiuwjjzxicom7SBxXSLJjj03PL5zo 4VNPISAEhIAQEAJCQAjECAHlVY4RkBIjBISAEEgyBJo3bz5v3jxWsieZXlJHCGQLASIizu3w0Pdn NPzxCvk+ZgvJxHQuUOaUWt9+UGfkJwXOKLtz8fJpF1w748pb/lql51Ji4NcoQkAICAEhkCwIODIM hfCaJTsjH+pElO3cubNTEX+yjh07ElwRPuyLL75w9WQ63Lp1q9tVQQgIASEgBISAEBACQiBqBMSH RQ2dOgoBISAEkhqBww8/vFWrVt98801SaynlhEBWECD+3veVGq1+59NDDz/85HZXZ6Wr2uYkAsdf eN7588dUfKHbYYUKrB84clyVJrvXrstJhTS2EBACQkAICIHkQMAbL/Hqq6+eOXPmH3/88csvvxCg 1Sn49ddfQ5Idd9xxtWvXnjhxoqvHmcyVVRACQkAICAEhIASEgBCIBAHxYZGgpDZCQAgIgZREABex wYMHp6TqUloI/C8CB3bvnntb1+nNbvj713VFalc7d/aIUje1/t8m2ktqBMgcVu7+Do2XTIDILHh6 2TxHHpnU6ko5ISAEhIAQEAI5h0DRokWLFy/uxr/33nshyfAeIxb6SSed5Opvu+22E044oUGDBu3b tydFmatXQQgIASEgBISAEBACQiAUAnlDHVC9EBACQkAIpDoCJO5u3br19u3bCxcunOpzkf65GYHt CxbPuuaOHT//kueoIyv0eKBs55sPzZOeC3oOHDgwYsQIQirt2rWrQIEC6XfSjypxQvU+vdJvXpqR EBACQkAICIF4I1AsY/OO0rdv33Xr1uFMtnTp0n379rlDbdq02bJly+kZW9u2bfWHgENGBSEgBISA EBACQkAIHPbEE0/ECQUSxiKZX7aDGdvmzZtLnlwyTsNJrBAQAjFH4Lfffjv++OOxzObJ2KzAKN7w 9zEfVAJjiAAhE8nXTRiWSpUqxVCsRAmBRCKwYfj3U5u22fP7hoIVytX97rMSl1+Ulo8gnre9evXC aDV37tyGDRt26NBh1apVrAEvUaJEItHWWEJACAgBISAEhEAKIVCoUKHSpUvXqFEDlzKndr169ajE DrNkyZLKlSsTaNEO3XPPPT/88MPatWv37Nlz4oknpuUHlQNBBSEgBISAEBACQkAIBEUgPZdXB52q KoWAEBACuRCBSy65ZOjQoblw4ppy2iCwcdT4g7v/PuXm1g1nDi9cpULazMsmgkMYd2iLFi2qVq3K Uu7hw4dPnTr1s88+W7hw4cknn3z55ZefffbZ77///s6dO9Ns4r7pbJ+/aP/OXb5K7QoBISAEhIAQ EAJRIMBimosvvvjuu+9+8803cRJzEpo2bcpqOTzRWXYDK+bq3377bb5AiLjIMmZXqYIQEAJCQAgI ASEgBNISgUNZNBSnifEtZZ5h2Hr2Z2yLFy2uU7dOnIaTWCEgBGKOwLSp0ypVrsTKwcMyNpzE+J9R tJYw5lDHT+Cvv/5avXr1jRs3cvriN4okC4H4IXBw//7dq38rcGrp+A2RI5JxCOvdu/cHH3xQsmRJ 8n/85z//yZcvn08TvqNGjRr13nvvjRs3jgY043b2tUmDXciw8VUvKHBa6TojPy1QtlQazEhTEAJC QAgIASGQQgg8+OCDP/30E/nJNmzYQMRm+4uPjxAqy5cvnz9//hSai1QVAkJACAgBISAEhEB4BGQe DY+PjgoBISAEUhsBXEywtv/444+pPQ1pn4sRyJM3bzqRYSwSGjJkiM8hrF27doFkGOecxQcXXXTR gAEDFi1aZO5iNWvWTD93sQKnlz36rCq7lq6aVO/yP2bPz8UXu6YuBISAEBACQiAHEHjuuedYf7N6 9ept27YZGYYSrG++8cYbibVYqlSpVq1aObXkQ+agUEEICAEhIASEgBBIRQTEh6XiWZPOQkAICIEs INCgQQNSBWShg5oKASEQBwRwCCNpK/k8nn322ZYtWxKn6PXXX69SpUokQxUvXvzhhx8mo1iPHj0I cwQ3hq8Yq7Yj6Zv8bQ478sj6478qdkHDPRs2Tz7v6k1jJyW/ztJQCAgBISAEhED6IeBdnQMxRk5T 3MVwUr/lllvcZH///XdylfH3xa233tq3b19Xr4IQEAJCQAgIASEgBFICAfFhKXGapKQQEAJCIHoE xIdFj516JhyBPZu2bPp+csKHjeOAgQ5hU6ZMCeUQFl4P3MUuvPBCcxdjsTbZxXAXI5piGmQXy1uw QO2hH5W87ooDO3ZNb3Hj5glTw0Oho0JACAgBISAEhEACECDietmyZUk85sYi8sTPP//cvXt3Yjh7 k5AtWLCgbdu2uJoNHjx43bp1rr0KQkAICAEhIASEgBBIKgSUPyypToeUEQLJhYDyhyXX+YhWm/Xr 11esWHHLli1K/BYthOqXIAT+Xr/xh7qX7V712/kLvy9U4bQEjRq3YVyGMNy5WEMdNENYdgYnscd3 330HH/b9998TyIghzjrrrOwIzPG+zGje7Q+ufu/zwwrmrzv6i2Pr1MhxlaSAEBACQkAICAEhEAkC rM7p378/EZ4XLlxYrFixjz76yHqRloxK/hgpV66cC8YYiUC1EQJCQAgIASEgBIRAPBCQf1g8UJVM ISAEhEASIUCktWOPPZY/TZNIJ6kiBAIQ2L9j57RmN0CGHVOneoHTygQcT5mKGDqEhZ+zuYt98803 mJlwF7vqqqvgw1LaXYwZVX372ZLXX3lg51/TLr5+57KV4RHQUSEgBISAEBACQiBJEChYsGD79u17 9uw5bNgwR4ah2/79+/v06dO8efMCBQoQONppS64yPpncrgpCQAgIASEgBISAEEgMAuLDEoOzRhEC QkAI5CQCDRs2nDhxYk5qoLGFQFgEDu7bN+PKW7b/9HOB08vUHvpxnrx5wzZP0oPZyRCWnSnBeXfr 1m3FihVkJhs1ahSBjPAVmzVrVnZk5lTfQ/Pkqd6n14mtLtn/x/btc8Ti59R50LhCQAgIASEgBGKD QOXKlYmguGzZsj/++APCzAn99ttvodDOPPPMNm3aKNWxg0UFISAEhIAQEAJCIN4IJDRe4vLly+M9 H8kXAkIgtgicfvrpLNgntAUb4eP5Rb7C7sUW5ARIY1Xm+PHjP/744wSMpSGEQBQIzOv0yKo3Pz6y eLEGUwflL31yFBJysAurm4cPH45j1uTJk6+99lq4qCpVquSgPhs2bPjwww/RB8dQlEEl7E05qE90 Q+9curJgKrsJRjdr9RICQkAICAEhkHsQ2L17Nz7uZCMrUaJEkyZNbOKvvvoqa3pg0SpVqnTuueem 4jdM7jmDmqkQEAJCQAgIgVREQHxYKp416SwEEoeA+LDEYR3PkfirkvWYc+fOjecgki0EokTg92+G z7zqtjxHHnHO5IFFzqoapZSc6GYZwnr37n3KKafAPMU8Q1h25kQurtGjR8OKjRkzhuxit912W6pn F8sOGuorBISAEBACQkAIpAQCfFzxAbNgwQJ4srZt27Zu3drUHjFixBFHHAFPdsIJJ6TERKSkEBAC QkAICAEhkJwIiA9LzvMirYRAsiAgPixZzkT29NizZ0+RIkX+/PNP/ozMniT1FgIxRmDXyjUTql+0 /88dVd7oXuaOdjGWHh9xPocwqCasM/EZKgZSfe5iRCUqVKhQDORKhBAQAkJACAgBISAEEoUAvu99 +/aFJyNUCdxYzZo1bWSczPLly5coLTSOEBACQkAICAEhkPIIiA9L+VOoCQiBuCIgPiyu8CZSOPb6 Tz/9tFq1aokcVGMJgUwRmPmfDr/3H1qi5cVnf/1epo1zvEEyO4SFB8e5i40dO/bqq6/Gm80ZksJ3 1FEhIASEgBAQAkJACCQPAuvXr2eFH0GhTaXzzz9/1apVhKpm69q1a+HChZNHVWkiBISAEBACQkAI JCECKZmvPglxlEpCQAgIgSRHgGzVxEsUH5bkpykXqndC88aH5s1b9a0eyTx3cwh79913p0yZQjqu kSNHJrNDWFAkWUx9QcZm7mJEUMRn1LKLJb+72N5tf+xZv6lQhdOCTk2VQkAICAEhIASEQO5BoHjx 4t7Jjhs3btmyZfMzth07djg+rGPHjqVKlYIkq1q1asmSJb1dVBYCQkAICAEhIARyMwLyD8vNZ19z FwKZIyD/sMwxSpEWL7300tq1a3v16pUi+kpNIZAUCHgdwoiLCI2UHjF5cBcjr5hlF7vqqquYWjK7 i81sdTtJ5upP/Oa4+mcnxWUhJYSAEBACQkAICIHkRqB///7Tp0+HJps3b96aNWssaPzBgwdnzJgB SVagQIHkVl/aCQEhIASEgBAQAvFCIE+8BEuuEBACQkAIJBMCUJtLlixJJo2kixBIXgRwCBsyZMgl l1zCmuItW7bgEIZnGEnd04MMA3fcxZo2bfrVV18tXrz41FNPheerUaPGO++8w8LqJDwrhaqUP+Tg P4sffiEJdZNKQkAICAEhIASEQBIiwLcNywG/++47i69oGsKHderUqVixYuXKlbvpppuSUG2pJASE gBAQAkJACMQbAfmHxRthyRcCqY2A/MNS+/x5tF+4cOGVV16J7dtTp6IQEAJ+BHAIe//99z/44INT TjklnRzCbJ47d+7Mnz9/njz+5VDOXWz06NGWXezss5PIE2v/jp2jy9Tdt+WPuqM/L9akgf+caV8I CAEhIASEgBAQAhEjwLKnpRlbixYtrBN7LHtiFRQR5uvXr08hYmFqKASEgBAQAkJACKQYAn6DSIqp L3WFgBAQAkIgMgTKlClDrmms3pE1VyshkLsQ8DqEbdu2LZsOYd9+++2TTz75+++/JxjEk046afz4 8UEHZUF048aNST4/fPjwwAbOXeyXX37BXeyaa66pXr168riL5S1UsNwDHVB70SNyEQs8e6oRAkJA CAgBISAEsoDAYYcdVr58eUeG0ZOPn+eee47ssLNnz3711VedLDKT8VG3cuVKV6OCEBACQkAICAEh kOoIyD8s1c+g9BcC8UVA/mHxxTex0rGVT5s27eSTT07ssBpNCARBYP9fu/PmzxfkQMKr4uEQxhLj vn37krWiVq1aiZwQJpt69eodf/zxgYNi3+HQpk2bChYsCPsV2MBbA3E+duzYd999F3cxyy6W4+5i XDBjytTdu3FLg2mDj6ld3autykJACAgBISAEhIAQiAcCrBO655575s6d+8cffzzwwAOPPvqojcI6 Kki1eIwomUJACAgBISAEhEC8EZB/WLwRlnwhIASEQLIgULZs2RUrVqDNX3/99ffffyeLWtIj9yHw 22cDhhc8fcOwsTk4dQwZgwcPtgxhkTuEsWT4jDPOgFIils6PP/6I/pMmTYL0Iit74cKFWWi8cePG ++67D8kcatOmzccff4xj1jPPPMO6Y5JVtG7d+s8//+QQyfyQQJfmzZvTjLA86AMLZfKp5yh0Gi2/ /PJLjvbq1Yvc73Xq1KH8+OOPU79v3z7GPeecc7xOny+++OLq1avHjRt3xRVX3HnnnUWLFoX/HjFi BEQ4NXSpWbMmKeVxXLv00kuPOeaY00477eWXX0aab4Mwa9KkCdnFMAPRxtzF3n777e3bt/taJmwX 9vTktlcz3K8ff5WwQTWQEBACQkAICAEhkJsRYG3o0KFDf/31Vz6fWCHkoOjdu3fFihX5hHv++efx IXP1KggBISAEhIAQEALJj4D4sOQ/R9JQCAgBIZAtBF577bWBAwcigj/bSChtheXLl2dLqDoLgWwg sLr3F4f8c8iB3TlDymLUgFIqVaoUJgxyZa1du5Z7hAg5mU7ok08+6dy58969ey+66KIZM2Y0a9Zs 165dl1122Zw5c7p27dqoUSMsJm+88UalSpVOOOEEpFWrVq1kyZIQTg8//DA+WzVq1IDcuv7662Gw MKlMmTKlYcOGOGx98cUX8+fPpz3kGfJhrSCrZs2a1bRp0w0bNmzZsoWj9957L9QU5NaiRYv69OlD 48mTJ0PIkQ3e6+yFRQaVSBKGoxiFYcOG1a5dG34ODu/uu+8+6qijUAZajtE3b95M4ERWOj/44IPw XqHmjtpMDbE9e/aEZiOn2s0338zcQ7WPa/3Jbf+1Q639cvCBPXviOpCECwEhIASEgBAQAkLAiwCr iCpUqOBqbrnlFj7q+CBkIRRLo1w9i5D69evHsieWQ7lKFYSAEBACQkAICIGkQiBvUmkjZYSAEBAC QiDmCJx33nkXX3wxfjB58+bFCI5tPU+ePJjsYz6QBAqBSBDYu3Xblh9mHHrE4cUuaBhJ+1i1wQEL fui9996bOnXqtddeS4awSDgw7+jk02IXSwc5J7p37w6htXjxYgolSpSADINUGzRoENEXn3rqKZJ4 YQqBbcKF66abbipSpAixBw8//HDIMziziRMnLliwADKM8p49ewhkCumFZNrwS4hCnMnQ7aGHHvr8 88+POOIIKtnF2nL00UdDwqEADBxzoR6HM34Dt/z587/11lsQYAT5wdMLIw4OZzwB6I5iIMAvS57r 1q0L8fbRRx/BCwYKcTXmLoYc2LsPP/yQ1dB4yN12223AiCubaxbvQuFKZxx9VpU/Z83fOGJcicsv ivdwuVM+KVIgU7k88C/UayJ3XgOatRAQAkJACGSKAH9M4bLP5mvJx17//v27devGkiYIM/7+sgas duKQr7F2hYAQEAJCQAgIgRxBQHxYjsCuQYWAEBACiUOAP9Uwa+KDglGe2PdEcsP7JHHDayQh8L8I bBj2/SEHDhZtfM7hhQv975F47eEQRlibDz74AJ+wW2+9FXeofPmiSV2GmxTEEmQYiroEEnBahEPE ySyo9tBdBNjBIezMM890DebNm0fZVhkfeeSRBCQ0PoxwptykkGEctXxd+HFaMyIWQoZRTwE+jLsY PgxPr8aNGzux3gIUHWQYNQRyhAj0HkIfDkGGWSVObD/88IO3QZgyI+IuBs/3/fffw97B2LVs2RJi DNovTK8YHjr94TvndXz4qBL/ut9pizkCcLpczBYhk5dFluRjGfSG7sxSXzUWArkBARYWyF8kN5xo zTGXI8DiITZAIMT07t27HRqsJcLFv3rGhqt9IpcTOR1UEAJCQAgIASEgBAwB8WG6EoSAEBAC6Y8A wdYwYROojXiJ2L6fffbZ9J+zZpisCFjasOKXXRBvBbPvEObTkHRcBC3csWNHoUKFcJMifiDU8hNP PAEbhGcYnNaFF17o7QI9AN0Fj0W6PlyyWBeMgya5yooXL04zoh1iG0UaTmbWi+CElE2+EWwWd5Gj RoZRuPzyy2Gz4KLIAdaxY0dcvqyv79cbRNF3iFmgD2rA7XGIgRjX1yb8LsLh4dhwFyN4o7mLQTRe d9118bbvlLjiYv6FV09Ho0CAa/WVV17hYu7UqRMuj5BbWRWCBLas9lJ7IZB7EAjzWM49IGimQiD3 IMAXkfejCF8xQnT8lLGxTst5YBN7gNja0GREC8g94GimQkAICAEhIARyFoEs/7mbs+pqdCEgBISA EIgCAcz0cAMYK4lxTyAsArVFIURdhEBMENg+bxFyjq1/dkykBRXiyxBGDMMIM4QFleYqCXqzf/9+ VvW+/fbb999/PzYN6C6OwifBUcGQUbbl/0ZT9erVa+bMmS1atIB/evPNN6dNm0aAwdtvvx2rB/EP Z8+ejRMYZeeIY/KJr0iYxCeffBJOgvCGNrozpGJboRIyjPpQwRKtS6hfTDD4yeHmxVx4GhBAsnnz 5qEah6/HXQyifenSpS+99NKECRPILoby06dPD99LR5MQAdZJvPDCC1wJduEloYZSSQgIASEgBIRA 6iJw2GGH4ZF/44038kXqyDCmwyciqWdJMcvHpPsgTN1pSnMhIASEgBAQAimBQPBlxXFSfd/efXXq 1omTcIkVAkIg5ghMmzot5jIlMKcQwEUMizy5iMglFsqnJKd007i5B4GD+/btWrbqkDyHFjyjbMxn HXOHMJ+Gjz32GEwbadKJuFi7du0ePXpAaJ111lmETGRr0KAB7c2v64orrqANCSRq1qwJV4QfFdEa idlYpUqVl19+GRZt+PDhjzzyCN5mxBvEzwxuDMaLGuQT2pS+OITBuiE8kF4i19eAAQMgn0gJ5tPQ dh155j0Ku2b1PAQY4oYbbsDLDfYOUg2XIG/LrJYR63UXw0uMII2JcRfLqqpqHxQBjHFcpfCjZJvT 2yEoRKoUAkJACAgBIRAPBDpnbEhmqRPJX90Q0GNEzIYn44OTWNmuXgUhIASEgBAQAkIg+wgcGr/Y JhhZEM4v9in+xmZbvGix+LDsnzNJEAIJQwA+rFLlStg6WdHGhjmVX0YPamxNmFYaKDoE9u7di2cJ ZxCjfHRuJdGNq15CwIvAjkVLx1VslP/UUk2WTfLWZ7MMjcSFzVa6dGmYmFatWkWXISwSNf766y8S Qhx33HHWmE8dRodbsvCDTgLfP7t27YIZstBzREHkHrRe5FRv1KgRxAO8FOaPunXr4rAFN2Z9EU7o xRNPPNE6OoFWIN4OsRn5ffDBB7MZ+BSWjmeCubj5RsnOLoCQXQy3s1GjRl155ZVkF8OUkx2B6htv BCZNmoQXI9cheemi5sP4MIjf3xTxRkDyhUACENA9kgCQNYQQSBsE8BWbNWsW66UWLlxIbGqb19at WwcOHAhJRpgBonCnzWQ1ESEgBISAEBACCUZA8RITDLiGEwJCQAjkDAI4hXTp0gVTPv5hOaOBRhUC hxyye81aYChcpXwYMKCXcKt6/fXX+bM/TDMOseAGCz5hBglBQ0Ks7777bvLkyW3bto0fGcagrN51 ZBi7mDhx1fKRYdTDZkGSOU6LsuuFCYNc6wQYLFGiBB5gCCR4Dl1sQ3kySbiO/1f93/+hwSDDiLTT rVs336Gs7hLtMOZkGDoACO5ieNERR5GlzbiLnXnmmTinklg+qxqqfWIQ+Oyzz7C7EYczajIsMXpq FCEgBISAEBACuQSBIkWK8DVFdG5HhjFxPiAnTpyIiz/rmUgL7aDQehQHhQpCQAgIASEgBCJBII5r OeUfFskJUBshkMwIyD8smc9OFLrhrTJjxoxzzz03lKk9CpnqIgSyhMD+nbuWPPlyyTaXH129cpiO o0eP/vjjj4cMGQJv1K5du8Agn4l0CAujZ3YOrVq1au7cuSeccAKLfAsWLBihKHrh5XnyySdH2D7H m2GjISAk7mIjR46Uu1iOn45ABWCdmzZtum7dOuhkLsXABhHW+Hxf8IbkD4FI+pJ7L5JmaiMEUh0B 3z2S6tOR/kJACOQgAgQ6XrZsmXtrjx07lsD4LLHCdYyk0eXKlctB3TS0EBACQkAICIHkR0B8WPKf I2koBHIMAfFhOQa9BhYCQuCQQ/AoIgXXRx99hKcRbkYEQjzjjDPgkMhyNGfOnGuvvZZYfN6c5MIs mREgPCOn8t1338Up7YEHHsCNLzptdy5bOfmcK09/vEuZDjdEJ0G9vAhMmzYN2xl3FvEtA90cvS3D l322fox0+AWG78JRbucFCxZk2kwNhEAaIOC7R9JgRpqCEBACSYIAa49mzpxp8RVJPPb000+bYvPn z2c1JEEUtPQkSc6U1BACQkAICIEkQSBvkughNYSAEBACYRDAn0mBIMLgo0OJRACTVoR+D4nUKqtj JfM9hfMT7l++GfXK2HgO/Pbbb6Snwm8MT0eM+L5m2k1aBAjPWL9+fciPvn37YrWJmg/bNmXWng2b t02bLT4sJud66tSpEM9BY35mR/7pp59OGEaimG7cuDHwPl2yZAmekQSDwmUwO6PEpC8XpKXi46n4 888/x0QmAlesWPH+++/HRFouF8JJ4XHxySefEH81UyiA/YMPPuAdQeLq6dOnR+cNH49LIlPN1UAI CAEhEDUC/G1ydsbmk0A+WvzGyEB22mmnQZJdeumlvgbaFQJCQAgIASGQOxEQH5Y7z7tmLQRSDAGM 4GwpprTUTVME+JszDWaWEvcUZnrSUOFUtHz5cvzDbrnlFpBv3rw5UWK++eYbEozdcccd7du3p75M mTJpcFJiOwXMwStXriRp2bHHHhtbyVmVRm4q7MuEIw32RQAAQABJREFUTNy3bx8ufZs3b3ap1LIq ivb7tv3J7+HHHB1FX3UJRIAgulQGUlaBLaOomTJlCun9cAKrWrWq6w69gffYoEGDksQw16BBA5i5 oUOHZom+4qGEeRGnOqJNuqm5AkexP7rdZCiEVzgZNAylw86dO3F6wMUhVANvPbl25s2bhzMxKRuj flmHvySwOeNskaWrxauhykJACAiBhCFw3nnn8fwkgjGOYt5H4jPPPMNLgWS9hFjkN7qlAwmbhQYS AkJACAgBIRBzBPLEXKIECgEhIASEgBAQAkIgOwiQP4xwiDiKYW5+6KGH8Al78cUXncmegHtt2rQZ P378hAkT9uzZU6tWLQK+wZDBAGVn0Jzqe9JJJzGXH374AY+ZUDoULVoUPx7f0RNPPJG06r5K2500 aVLJkiXr1auHVxbBCYO2SUAldAiOHaVLl8ZR480338QriFiX2SHD0HlvBh92xLFFEqB/2g/B7bN6 9Wqm6eWrYjhrbkyu6k8//dQrE78xLkuSAnorc7AMmw4zl1UEbElBKF/h3r17c/Hn4KQChw6vcGD7 VKzhFcAro2PHjrBit99+u9f4m6XphL8kDhw4oBVaWcJTjYWAEMhZBI444ghLLebUYJEZ1D5UGauU WJ7i6slJxtIlt6uCEBACQkAICIF0RUB8WLqeWc1LCAgBISAEhEBKIkCwRDiwunXr4t709ddf41+S N29wd3YYspdeegm2DNIFdzGIpW7dutErtaYNUVSxYkV0DmNjxeweeJRKtqCTvfHGG4mQQ8quMWPG 9OzZM8GuKjiEvfbaa/gAoQZJpFiDDAVCfMugqma1ct/WP+gi/7Cs4ha0Pb56nKx8+fLBngZtkM1K 7lyI7S+++MJdqFzGn3/+eevWrQ8//PBIhOMM+uCDDxJ9ERac+x1HQ+tFWDwYNRKewQrjDIQLEfXw 6FxvOPfgE9m9e3f8t2rUqIG9j0OEbcSn54knnuCyxHOoRYsW3B2ZKgAJjTTalypVir4QIXT55Zdf EMVziXKHDh0os61du9akcbvVztjatWtnNfYbVGEO4d7auXNnfuG8uUeYgrdXqDImy8suuwyusWDB giz/X7RoES2pZF5UkicGeg+PTOseXuGgc6QjQU1xGihQoADyea66yJb4GfBsIcBm4cKFOYTPgVfJ c845hxyBnTp14rxwFngO4IAIPl52sEuXLpm6BuIczEWC3x6nfsCAAd4hgir8559/Mkr16tVxI+Ol YGW76nAyZs0EJ5GrpVGjRniPmTS6YCB2gBNlsXHjxt6BAstgjmQepwMHDqTA9uGHH1ozLmxikdWp U4cLFXB69OgR2F01QkAICIEkQYDHFIsGWLrx008/8WRzWvHs4sHLS4wADDwkXb0KQkAICAEhIATS DAHxYWl2QjUdISAEhIAQEAJJjcDuteu2L1gcRkXcwjDFYlGNMNCfcxfDxcrcxS644AKItAS7i8Er YFPARowF+T//+Q+aXH311ZiDbabY8c2gTGKhEiVKYLCuUqWKmZJxfTMfHWsZKMfq+/TpU7ZsWYzm 2Nn/+usvL4CYdDF/Y+29/PLLyRWBwRr7L1wUbVj/Sxgc0jh528evHA+HMJ+2O35eQk3+Mqf46rUb BQJcLVu3buVG47qNonskXW644QYYa1w5rTGei1ztkWePu/7666E34Dkg1RBlDpHwUnie/fjjj/fd dx/XPCFVsdwhn+sctgNWA+bsscceu/nmm2EpnnvuOQ5xPxK28cknn4Tfgs7BIxOiLrz+5Lpr2LAh K+VfffVVbm2iS8Hk0aV48eII5wFFGUdVymzcfSbt/PPPh99iMb43FVkohekCiYV8MIFN4d5nqb7J CfPLWcNYCS3EBMmqxToAVKU9nBw3O4Tcl19+CdODqK+++or6MAqHmiO9rrjiCkhEnldcG/zOmTPH VHr00UdfeeUVmLDHH3986dKlMEzeSIYIxCEVbwNG79q16/r166EkkeOiC2JghTCDtjRpoX4hGuGc mCDnlyekaxZKYThdzgK8HS05WZTR0/zDsPbC0vEEJgclNBsXAL8048zOnj3bPRtBj5ZuoKAFTjqS ofrQnwIb0qwl1ycjwtEOGTKE9RyyIwcFUJVCQAgkIQLeYIl8avLE5rXLghLvs50HPk85XlhJqL9U EgJCQAgIASEQDQL8oRinjb/9MEVhlNm9e/eOHTv4e2PqlKlxGktihYAQiAcC3LNYDbh/sb1iS8J2 8K8zQoabQjyGCyOTp1uYozokBBKJQHpcjTk4iwlnNx9y1Km7122I01nDoQSzNeba448/Hs8SnJPi NJBPLKZ5zAfjxo2DnYISGz58+FNPPQUdZc2aNWuGfwlhA0EeRwQMr5jaoaw4ij8HvTD0E0SO3UA5 VGJtZzpYWkeOHAlfiFnWdVy1ahW2YEzqCMc2TX41DrkNngAWjY8xVxOPAt94KFCpUiWcOTCj4HUU j1GQefDAgWGFyw86pOTfGzbFaYhcJRaa6rDDDqtQoQJ8TDYn7nukwKY4gZAHN910k+3iy8V14g55 m7lKVzBKCXrJ1dgXCDHxGA6KxerhyZgFnyt4AlHP1f7CCy9wD3L04YcfhhumsGbNGg5dddVV1gXq gl3uHdvlFwdTatwuBfyTjj76aIgNq4SZ4/5yDaCCaM/96Gq8BQg/nKtcTSiFacCTKn/+/HxiUYbH QqadC24iPGV9m91ZPEloNnnyZCefv7lc2Qp8sMGdEznQ1QdVONQcjWBzs4MBIuqpiYIeY8GBlXki oQl8pBsFxECeP/1cDQX4ISr5mKSM1xo0Fd5ylCFKfRNkl75gzgnFZ86EGNkJ/cluKIWtpS0UwGfL dgN/v/vuOxTmecshcxDkmrFmcKU8Zr1dAi8JOwo7665n154IjaxywHzsagILDB1YqRohIASEQPIj wPOwZcuW5hnstA189bhDKggBISAEhIAQSHIE5B/G3ybahIAQEAJCQAgIgQQhcGSJ4w/+vWfjyPFx Gg93MWymWDxxF8MojCOFuYtRjtOIJhZbOS4IRDzDGwOCCsv1Nddcg6Pb77//jpX2+++/x2mMKDT4 c7Rv357wdDjl0CZQpUA51gZ2jRBtuMXg74IQ15FQhHhgYOhHJm3g4ZxYCAOOfvvttxHGpnMyIy8k wCHMq8zOxcv2b9+Zr3TJI48v6q1XOToEICSwZ3G5skUnIZJe8FX4a0L5wFThsRS5c5ixMnDJbhTz +LEl6oRUtXoKzAJyi10cs7jaYV8IJMguVJOFUrSWPA2sAFFNAbLcdoP+4moGMUO6OwSycdPxVPFK C9oraGUYhWlPnj/UpkAsR36tMcldYL59GzQMDYCFp4ebCzW2uh94yc9H7iuksfEcwOGMo2G2UHOE wANqov9ZXzcWMuEdvcjTwAdjkyZNYIa8g6I2z0BzVoM8w4UOJUGSR5ZvguySCZJTyQmFyDQhTg12 QynsHc5XXrx4sYWRhGPjXcDReDhv4Q3MK4YFAaxyYAr8/e9TQ7tCQAgIgdRFgGVYvMdZruF94POK IeABLrn4N7NEI8LZ2bqECBurmRAQAkJACAiBOCEQPCFHnAaTWCEgBIRATBDA6MMi8UhE+YwykXRR GyEgBOKKwPEXnrth8OhN3008pV2ruA6EaZJAW0Q5wzpJji6cDCCi8DnAXyoe4+JCgTsaFgFM1bg4 MATuYngSDB48mEMoU758eYzC+FHhLYEtGJM9PFagJoFyrA3xFV0Be64z6eJpwaDETHOiIDlwDWGX +GAEOnMdXYPsFzCCQP7h6oEJmMBoDARtkH2xmUr486d/48IdU6tapi3VIBIE1q1bRzMo5LjyYUQm JHTe0KFDzYsr00CFTnMoNMpkfnI1VjBuG67Ldq3AhwG7xgzB5ViBX+/XgpumfRtYF59wt8vo0Cfc sK6GAretdzfCchiFkYBPlckxnU1hQq0Gslk8W2iJYqgBmL7RX375ZSIZ8sTD95T7EWbdO3dfY9sN NUcifDgMaYlixkQaYg55YOSQD8bAx9qpp56KMoThIm4hDLqFnUSIuXz5FOP5jMmVSvf95oajMpTC PiFuF14KOhYkn3/+eWJIkkqNpQOQba6BK+BY7MpRFGBYyeJGMh6uczg/wjwS7zEKOeoiBISAEEhm BOzz0jTklURkApJE8jAn8kH9+vWtnnVgfJryLvA+vd2kWLdBiG/eVoQ9cJUqCAEhIASEgBBIMALi wxIMuIYTAkIgBgjwhZ1p8gmGIVmIrS6PwZASkY4I8PfbrFmzSCjtJsfCfJxpunTpEmhqdG1UyCYC xS5oiIRNoydiqTQbazYFhu+OnwTuYmyECyNvDY4O1apVg8JhQSs+H+H7ZukoVlfsrYRlwwmMIawv LmLwYbhB4BxGDbwRjhcEVIQbI2m5hU/0jRJUDm1Ib2MtScmD5o4kwB2NzGSffvopR7FiE4mReHTW ElMFlnErx+oX7g0ajNsEZzVYRvzhYiU5EjmFq1U6+qwqpW67LpLGapMpAhYyjnskqNEq0+4RNiAi KH6NXKJ58+bFeQjGN8KOpAGj5YgRI7weQtSUKlWK32nTpuFmZAV+CejnXbdOTeDGM98qefJTIPST a4OSlLHiOfUYfeXKlfwGfUwxF9oHUlZOoLcQSmFvG18ZNt1X43Yh1wlUyOeN+ZO5epK74HoFK08N jzvm4g5RCKpwqDlyvqAweUBxvugLbsbV8bThagF5k0w9lJvNzo1lLd2uFcgExkP4kUceISYhQTKp pBkhJX3NbNecqzhHOMlR431OhlI4qBwqeaej5Ntvv03aRXYtwKM1hobksnfXDESd1bvfwEvCDoFk 0PPOKYN1Y+MTgthitOFd4KSpIASEgBBIPwR4jbKxzsA7NZYXkKeTlxRPRf7I8v6dRTMCJ5CNjKVa RDaO3F/cK19lISAEhIAQEALZR0B8WPYxlAQhIAQSjQDGIIKAMSoeEra83asBxizyW1CDjdhbnyNl XCjwz2BoTD+WCiX7aiCQZXcuO332BSahhKZNm+LKg/ksrrp16NCBQFXeIVj2SGoWon9E7sHg7a5y JAgULFcmf9lT/lqxZsv4qUXP/x/8I+kedRv+LDd3sQEDBpi7GIGtcBfDdyFqmd6OeGVxRWEAJRQM N7t5hECDPfbYY4Rumzp1Ko1pgwWfJxgPLozXBAfzSrByUDkcwsyKjwUOLlgQMFI7o/PFF18MzUYY MRwU3njjDVgHKDHa83ikPQxZ4BBR1GDbNYcwBJICCk8Uc1WJQlR2uhSudMa5M4dnR4L6ehEg9h27 5uXjrY95GZYXbgNiCdeZyIVzScOEvfXWW/AWUMtLliyB2yAlGNc//k+8CrkIyTjVv39/q8lUMi47 uCixJh1OF2McidNcF1zBoJnx3eTyJpMfN+ldd90FLUTaMOhz7H1k+MO7qHv37taFLw1wg2LnfcGL g8cL3bk7zLeJXFl4MhnXgu9m1Ao79bwF9IFuIQjhAw88AESQ00yEl2bjxo2BF8Ya/yeyYXm7UA6q cKg5sngf6uvOO+8E7bFjx0LzQzcihMdOq1atgJGl/Ti/duvWDRDwhfKNFbgLB8Yp40zhp+scvwKb WQ14ghhPSEImcs3w5HEtQynsGvgKPN6h66DByNMGMl5vP84XgR8ZhUUDXFfE13WOeiYk8JKwejzY eMgT/pGVB1xL5i3BVcrDn/UBPHhZjMVV4ZwRfSppVwgIASGQ3gjwkGQdA67DPAy3bt3qJjto0KCF CxfyWOZrmT/xeIsRiJjXcZzCNrhxVRACQkAICAEhEAQBluDFaeOPMf4s5EVI1CD+LCTX+tQpU+M0 lsQKASEQDwS4ZzGWcf8S4wvLDuZdFgKzxWOs8DJ5eHkbYFixXQwQHMJc4t2wE9lR18zbN8FliCu+ /rG5+6YQXg1WNDMjDC5Bm/H3A0acoIfiXclqblZ5x3sU5GOWgrqIcKDwcIUSQpolQMa+6WvQsWNH bIu8wnz1bjdLp9L1SrZCzs5i8VMvDzqk5IwrE3EthUKeU3/fffdh+MbwipWWz5VQLSOsx/UBt0LI eBxYsU0Tg846wrlSY2VMrthMce3Cjo/ZnSsQWzZeCJbtDNMqzYLKwakCzw88M7DhYobmmqeldaRA 5gZsr1iZMfFPmDDBxsKEzVnG2mu7Uf9OmjQJMoN5tWnTZvz48VHLUcckRACyh4ukZcuW2dfN90jx vX/5W4Arn6uIzwnvWL5m3kNWhl7iDkU4G/cXi8qtHidLc9+hnvsL5ol6bmRuBAr4A0H/UCDZHs9z CnY7wG+ZmxQum7Nnz6beu3388cfwQAi89NJLrZ51J6j979gZqchgy7zt4Wmw4nEXc9QUsFEymv// n2HDhtErqMLUc1+zst7EEnCPbmPGjPGOErSMTKZgY/AwgemhGY8F2D70YWMKuKtyz3q7ByrM0VBz 5EkCyWdeXDBelE0U/qnOK5Q3NZh7h+BJBWXorXFlmDAUxjPA1YQp4N+GKxjtUaB58+bejqEURhpX Fy0//PBDr2SWT5kHG09IziANWBJhDeDJbD0EnCXGWZT3dqQceElQiT0Xdo1HMaJYpmBduDJ5PlMD +JCUODX6RLHL0cBK1QgBISAEcgkCrPfiL3deKLyg+fzm2c4fyDwzCfObSxDQNIWAEBACQiB5EDgU Vfg6j8dmRnN+jRiDG1u8aHGduv/NzByPESVTCAiB2CIwbeq0SpUr8Z2KEYoNqwS/DEFNbAfKVBoj eh9WOH5hzqAXNi9WiAe1QHHUNctUfrwb4LTBOmvvFMKPiFUL29PIkSMx3oVvmeCjmB3ZyJCR4HHD DxcdXCwJh5bAqugTjgsCsey4wDDU+g7Zru9qDNom+StzdhZ/b9g0+pTa/xw40HTVtHwlS+QgXNBg nGtWpxLXxbKLmXk0OpVYQMC6Adwg+PjBoSqoBxUjbt68Ge8BTgEFGlPwDRdKDqsT6E4XX3t2+dZi 4ZF5KgQejaLGHMJwf0Ey1B3RxoJOJwrJ6pI8CODrg5sLAYuy5LYVVH/fIyXC92+EzbgjeNHjT+n1 4OGVyooTXMe4m4Kq5K3EjQwfL+hnnKgIJFiuXDk+abwNQpUZZdWqVfwVQ3dI7lDNIqnPksKRCCSG KpkIcTk1Jsa6UAkmUDuRSLA2YebIAw3ih/c+tz9EnZNJpE0eODwt7bPQ1YcpwGvyxJszZ06YNr5D sIw807wn3RqEUdgnwbWHYAMoI7G8bXhWExXT8ZreQ1ktQ/pC3/J8xs4btK/vHgnaRpVCQAgIgbRH gLULfHXjmMuKK/7a5YOT1ZbpHfgk7c+pJigEhIAQSDkE4hgv0fvRT5kNdDCvpxxGUlgICAG7f/nF BhGhCSklQCO+OcHxsIZjwihdujRxgXCDQHNMbCxkJkMGK83JkUMsMsKdsbgbbxKWtxMJjeQQrLOG TeHbnSXYGzduJK4O692+/vprRLFwmOXJoQwiDhnipxHsCNsQZibitj366KPYlfBZwUBped2JJsFw tIezYfEyhZ49ezIEBRa8e82XQRWmGcvuChQosGvXLqIbEdgHvxPcVqgPs/Xr1++ll15ilTqL6HFD ISaSrZcn2RJTW7x4Mb+s70YCYYvgD8KIIggGvnqs/oO2ZGr8qQPadi2FUhhpUID8XUQBBtFyh1Am ABEL0pGAesSFAyJi0GEbDQ9XGN2w8XF+n3rqqcA2rEnHTYfQWKH4sMAuqskqAkedUOzEls3WfjFo 9fufl3/y3qx2j2F77MjEYWODVYX7wfOSC55wZNzOgZbTTMe1G5ZmPCdDsUeMyMJYExWKvgolx+UM C9SEWyyUtMDG4Wu8GcK4eWOegSz86DqaSATsXcNrIuaDQiDBdWUqlmaZtqEBd4QvVxaVvE2iYK95 mxMLMZJBrQ2jwKNE3j5My+gUDiPQPgx8DYJW+tr4doPOkYiLvGRZmsMXCB8q77zzjrcXXziZfuS4 9riaDR06lLiLWV1ME+r8BlXYDRdYoH2ok86zOtQogXLC1/DFyGKa8G10VAgIASGQaxHgT0hinPC3 GysqWJXCH1w8mflLkxdN/fr1s/qCyLUwauI5hQDfEqyhyanRNa4QEAIxRyCOfJjTlQcHZX7PKH8G xnQ2i0NlTxN2rYFrr4IQEAI5goDdjNyPWAfcxt1qwYWoT867FQ19SeOJoRThgmVCRbFaHJsdIZVg gKBA4MMQCCXDwmfYL9ZZ83VOrEhi5lADE0NIHOx3kDF0+fLLL/llcT0NiJDORsZgAh/BJ5F9imiH Yc4jy+KwMsOlkc0CSxORIrDIoA8ZOxDOjGCDiHTEomyEuIXeBFYiRBKxJrypyEIpTEdM/MQ3gwMj nBp2baz8EFFhtOIQmYcIuERMIUgpciw1aNCAZfXYIjt16oRvCphAHFKmJZHZwovirx2W/tEd2g8L O+QTykPRhVEYgSgJnvgreE8r9BXwMjoIN2vWDLggG4hTFB6uMOqxVByZ/AEWtA31BEQKekiVsUKg bJebf/962L6t/3KfybDxlzl8c48ePSCPuVlgxGGp8YuKlak0GeYYXgefQ1hOZQgLr6SOxhYBo6Pi wYcNHjw4tqpmUxpfNSx0yDRzVTZHSafuvCJZJMR7HFYMbgwjZtSzYykMXwJIy46QqEdXRyEgBISA EEgGBFg0wJ+EcGDEsA00AGJnSAYlpYMQCIVA4EUbqqXqhYAQSAkE4suH+R4ZvOQwg/K3N0yYbXrt pcRVIiVzCQJ2w/ILmYTliF+YMH7djUzBlZMHE1gT32poAuwQ+iZTDSE88LXq3LkzZl9rbE8kljBD I+H4hTcS9ThXkXyCgIfWBoMOpsP58+d37doVfginMTcQTBhmdHZ5vpE/g0VwlrLCNfAWYHSQA2dm jiBYovH3gg9jF34OBWgMF+WLl0j6LrZRo0Z5+bBQCpsrCXGTWJeNSwqkGk4whJwi6NOWLVsI7OPV hzJ/pRDnB4bP1UNf4fdGkhU83syxDF4NbL2r/gl54U2VbH25TtxJgfDDneuee+5h3TTkInxYeIVN uIHvNLECh1hFSHnWrFmsN6cQHi5fd++upWmBAvFWujIUCPmc3K4K8UDgmLOrNV0z/Yhji8RDeNQy uVP+k7FxDxJE0dzFYMVwFozCXSxqNRLcEboa3zgyHeIOm5wOYZsnTF3a4/Wq7zxboGypBIOT3sMZ H8ZrIr2nyex4JW3YsCHtpxnDCfK6Z4uJQL1PYwKjhAgBISAEUhoBVqXwd2VKT0HKCwEhIASEQNog EF8+zNFdGVb0//74/DZcm7TBVBMRAqmLAHcpTJj7tZs2yadD5DGMuV4lXZJ5b2VgGQ8tKnE2coeY L2XjorCDWz0FQiOSPoRdbOXYxOGxCLjELjZEUndYM35r165tZVKpU4CWC8OH4WpGDECXBwijJKMj zSQ7mZEUQils/lv16tVDbeRYsCkaw4cRh5Bw7T7hRETEW46IiPfff/+MGTPI8wGxRxv09LX07uIk F3TFNz5e1szBUqtWreHDh1MZXmGvcF8ZWs5qmAt+b76jWdo1nCE7g/aC5IviRAQVpcowCBxV/Pgw R3P2EFzpCy+8gDkYdzG4InwicReDzQ3FoeasttGN7nUIwy8TsjlUjMfo5Meq174//px1zR171m/a uXi5+LBYoWpyWKZGIR7+YbHVU9KEgBAQAkJACAgBISAEhIAQEAJCQAjEBIH48mFmTOcXCzt2VStA gJnBnV3KbDGZiYQIASGQTQS8Nyw3qbtPXSGb8uPUHYqdCH5RCDfCJjAfDzGCkObWy1th7969VAIF v/Yos11jjCiz4V9lBYvIZF2sJvCX0Vkih++U91B0RskwCiPcJaI35U3h1157DVO4d2jKmMJ5IBMx kkOEIiSWIxHecXozg6mvsduFRQsMnAhERsLRzCEJLIZ5eIWd5MBCkSL/9SViLl7kA1tmWlOxYkXa EDURvjCwMfXWIPCQanIVAj53Ma4WsoulgbtY8juEeS+zBfd2hww7tkGt4y8+31uvcvYRMP8w0f/Z R1IShIAQEAJCQAgIASEgBISAEBACQiAlEIgvHwYEZmGngPnSeYZRafSYyLCUuEqkZO5BwG5Yfrlh 3ebuYgrpBAVZfJnOiBEj6tSp452XOXVNmzatTJky1FPgF8oNfy9vs8AyubKskmh+FHDDcm1IaUaZ 0I54s1klo69cuZLfoKhazrZAysoJ9BZCKext4yuHypsFD8QsCJjWrl07ugwZMsTXEcV8WuHi5rzc fI1tF1ez5s2bUwYWwyQKhYNKdpVZgst6kRAFKpT5OiGuwIsJD7ZLL73U1aggBMxdjOxiAwYMMHcx 7hGIsdRyF+PmJRUicSAhuZPZIcx7vW0a88OvH/bLc9SR1Xr3DPq09DZWOUsI8KyzhQXKqpUl3NRY CAgBISAEhIAQEAJCQAgIASEgBFIXgTjyYZgtjO6igGEdjPir2wpWw1HbUhc+aS4E0gkBMzVyk1Jg C+TD0mmyzIWohjBhb731Fg5MJNZasmQJVBDpwZo0aQLB8+yzz+IvRQb4/v37W02m0yeu2jnnnENs dMzNuExVqFDBdcEVjECLDz30EAb0YsWKkUn4rrvuIjcYCcOwSsMSTZw4EWcsso5ZF2gzDJSY3UuU KFG0aFHoK7qzkJ+cZDQgbxmOVsbPkRMlaoWdeq5A3izIKmgwIhPiQeJzX6MZycPIefbVV19VqlSJ maKb6xuq8MQTT+B8gDRCRD766KM0C6MwsRmJ00gb3hcUmCPXoRGToeRTHxSuMO3tUMuWLeE2AvOj EEmSOIoczVSCGuQ2BLgNXXYxUgziLsadzk1NZjsOJTMaziGsRYsWyZkhLCh6f6/bMPuGzhw644l7 Cp6eeVbIoEJUGQoBI8M46rx4Q7VUvRAQAkJACAgBISAEhIAQEAJCQAgIgfRAII58GABhUucX0ivD un4o/mFmZOcvcMeEUUgPKDULIZDqCNgNa3er3arGjXl/rU1SzRT1otOHufTr14/cVw9mbDygHnnk EURB3pATiwxbF110Ebs1atSAl6JgyAQtUMlGprEOHTrAWpHADCcML1YELezdu/dLL70EYYbj0aBB g2DIsKeTqeuzzz6jL+bIu+++O0PMvz9EaYNUg0mCl+IhCS0EEbVu3TqvM4qVhw0bRgq0oAojx+ls ZfdLIegGmM8880y3bt0g8yDkunTpAi/oncjjjz++YcOGa6+9lpiHxFR84IEHgsrxVhYvXpxZUIOX 2D333EMhFMIcAqX77ruPAlvPjI3G8H9W49XEauw3KFzeBkHL0JNME3rPl9sZFhDO4MwzzwzaS5Vx QmBa8xt2/7qu7ujPjzqhWJyGiKFY7j6uf8suxq165513Jqe7WCo6hLnTdHDv3h9b3rpn3caijeqV u+82V69CrBCwr3GkuWC/sZIsOUJACAgBISAEhIAQiA4Bkg64JTvhJcjBPTw+OioEhIAQEAKhEPiv C1eow9ms95JevNLYrIYCksWEZRNedRcCsUWAW9L4Bn6NA/MWKNsW20EjlMbQ3icG3hh49mTaN8Jm 27dvX7NmDQH0XKotJDPcihUroKnw0Mp0INzI8PH69ttvGzduTFBEbOURsnSMsmrVKig0uh955JGZ DhSmQZYUDiOHQ4gikCBeWdl0eenVqxdUI3/SrF27FroRYsw7bgwV9orNUrlNmzZ4pMEpul6LFy8m c9j06dNxH3SVvoLvavQdTZXdZJvFtGbXbxwxvkitavXH9z/s/1LxpQqYBNiE3u7Tp4+5i11xxRUu f15OTcHrEIYHW8OGDXNKk6jHndvhodXvfJrvlBMbzhpxZNFjo5ajjqEQ4OF8/vnnT5kyhWUBTZs2 DdUswvpke6REqLaaCYGEIaB7JGFQayAhIARSCwHf47Fy5cqRLEycO3fuggULUmum0jZ1EfBdpak7 EWkuBISAIRBf/zDG4KlhI5l1GAMoG2V+rd4VbFe/QkAI5BQC9o7nlw0drOB+rSandPONC4EE1+Wr DNylWWBlYE3hwoX57PbVM3GCB/oqM93FmYlYiJk2cw0YBdrJ7WanEJ3CQUdEVJZmEVSIt5Kgjt5d K8dQ4UDhEdYQOG7Tpk3exqgKJRbb6XvlqxwKgeofv/JDnUv/mDFn9nV31fzqXTj5UC2TsD553MW2 bdvWt2/f1MoQFvSE7lqxGjKMtGFnD+wtMiwoRNmvtNVpfJNreXX2wZQEISAEhIAQEAJCICYI8IcY AVT4pt24caMl/PaKJccBmbmLFCkSiTXA2zEeZb66CaaCZL6mfv7555gMgUBW5bLSLibS4ieEmDEW A4YhCK/iC7gSv3FNciSjs9irffv2rVu3jrcyki8EhEAqIhBfPgxzJ6DAeFFwNJiXAPOWUxE+6SwE 0gwBu1XtzuXXNpsj5eSZ7ODBg5NHGTThC5hkWjIp+k5KgQIFgMVXmVS7eAR6nQLRrVDGllRK5hJl jix2XO1hH0+qd/m6ASPnd3qkyps9kuqZE8lZwJ+yVcZGgFMYKbKLQbSTIDAx7mLmEMaz8ZJLLkmh DGGhgM1fqmS5BzoUbXJOkRpVQrVRfTYRsI9wrlv8d7Mpiu7eD4bsS5MEIZB+CKTcSy39ToFmJASE QAohgP8637Q4gVWtWtWpDefE1zWpB0hA4CpzsNCgQQOYuaFDh2aJvuIvBbKDjxo1Kqh3PkcXLlyY I5MiPkq1atUinMsxxxxD9Hhis7dt25ZwOwlWOJLRyQ1v+S8i0e2555574YUXtm7dGkljtRECQiAN EIgvH2YA8fXPn9z2N4D9sms1/KYBiJqCEEgbBLx3K5Nil81m5wppM9kYTgSnItYoxVBgeoiCCWBL j7loFglAoFD5cmcPfH/aRdevevuTfw4erPr2/+SuS4ACsRoC11LLLkYMVbIPkl2MPxQJWsifvrEa wslJG4cwNyMrkHK24vPdfJXajS0CGR/j/8SKDzNvs9hqKGlCQAgIASEgBIRA7kTgwgsvxA/s008/ haVwCOA3VqxYsYsvvtjV5GyBQC9sZF7Ikhr2ARbqw4l02lmSFsPGBw4ciNxCS3B4WMmcsoFEMjpc XeTgMHGmH3l7tRQCQiDVEUhQPCIs6fhP/GtZz7CtU7aNFanahIAQSB4E/u/W/PdupZxxy/7Lh9md m+rPO+kvBIRAkiNQ9Ny6tYf0yZPvqNXvfjb3tq6R/0mWhPOCZrj66qvHjBkzdepUHvLnnHNOo0aN vvzyS5I2xUTbSZMm3XDDDfwRzuJHHMKI89mlS5djj1WerZigm4uE5M2bl+szF01YUxUCQkAICAEh IASSHgG+T6699tovvvjC8Ub8XfD5558T/o5v7EjU//vvv0llTfRFsnQTd5HYhtaLaIQwajgYnXji iaxX27lzJ/WjR48maRn+XnxLd+/enUVsNWrUmDVrFocI24jX1BNPPIFrGpFEWrRo4Yu3H1QZvv+R RvtSpUrR17iWX375BVH4vdGlQ4cOlNnItG0SevbsWTtja9eunVdmUIVpcMstt3Tu3JnfokWLnnvu uUzB2ytoGQyffvrpOnXqgAn5y3v06GHNLrvsMjTBL23gwIEZSlX78MMPOTRjxgx28dVz0vhzI1Pn vC1btvBHCvDiPEecjHXr1ln3UKM74YGFfv361apVCxg5X/wlNW/evMA2gTWQqYYkfKr36PDhwy+/ /HKSZXCWcR3bvXs3R9966y3m+Nprr+HlZnPnwvP2UlkICIG0RCBBfJhhZ7Z1r5E9LTHVpIRASiNg 1Jf3PhUZltInVMoLgdRCoFiTBrWHfnRY/qPWvP/F2s8HppbyQbXFXYwQHL/99ht/937wwQe4k95/ //1Lly4N2jjTShzCiNFfqVIl/vqtXr06fyHzl17Dhg0z7agGQsCHAFYJNvFhPli0KwSEgBAQAkJA CCQDAnAqfD9PmDDBlGEp2OrVqwm6EKFu119//UsvvcTXMqQaoiZOnEhHeCnIEhaT3XfffVAjH330 0R133EE9H9hwLY0bN4Y5e+yxx26++Wa+kfiA59CePXsI2/jkk0/Cb917773jx4/PlC9ZsGABH+f7 9u3jox2q6ZlnnoHJQ1Tx4sUR3qlTJ8pt2rShzAbTwy7b+eefD7+F55M3FVkohWm/bNky5IMJFBe+ UJHEZQGKRx99FDpwyJAhDz300J9//pkx8iGohCYwWJCCGUo9xmQ5BCkIHegiKNKe0Be0sV5Bf+Ev mzRp8t1333Xs2PHxxx+fPXu2UyzU6EHlWOVPP/3EmkK4zF69esFXoVUksRkZESTp+/vvvzvhmzdv BnNOCl6GzIKkCUZSQiUyZcDPly+fzf2mm25yvVQQAkIgXRFIRLzEoNjJwh4UFlUKASEgBISAEMjl CBRrVL/OiE+Wvfhu4WqV0gYKcxfDYwwGi+xi/GlXsWJF/lojGTh/90YyTawAdEybDGHeKR/cv3/5 i+/mLVywTMdIbRze7ipnBwH4MLbsSFBfISAEhIAQEAJCQAjEHAF4FzbYC7gKhLMCjAVhMDSRDISr 09dffw0p8vLLL1t7+C0KY8eOhUaC4IHxYnfXrl3If+ONN6zNww8/TALs+fPnd+3adceOHV6Pq6uu uop4DDSD78GBDBYKxy/rFfgLAYYcOCFckTgKWQXxBj/HLl/+KEAl1A7MnLdvzYyNvGJePiyUwrhM 0Td//vxkL+NPCUi1a665hsiNeH3hnmWeT17hkD3HHXfcnDlzSHnOyjw6eo9aJjN4tbJly6KhO8Qn Is5q+E69/vrrBQsW7N+/P1537du3dw0CC2R3YxTAb9myJUfLlSuHQMIqEv0y1OhhFDZK0kYpWbLk BRdcAMF23nnnBY7rrbEp2Cl29StXroTPgxnFw49K/iizQ1xUbEuWLBk2bJh37q6jCkJACKQlAgn1 D0tLBDUpISAEhIAQEAJCILYIHNewTu3BfQpXOiO2YpNBGn9nmrsYy1HNXYwFqmHcxcwhDPIsXR3C 9mzcPKXxNYseem5Zz3eS4QTlHh3MMGTu4DkyayxN3Avr168PHP2TTz5h/XVgvWpihUDaIMwa/3fe 0aMjVtdFDsjBkkuuzZgMHEYUPiJEFY7JKBIiBIRAIhGAvYBZwUOLeONfffVV5M5heGihZ7NmzZy2 tiLfuKi6detaPQWchFatWsUurBLL1+CxIH7YhTGyUIrWkvh7Vjj77LMpLF++3HaD/uJqBvUC/4RA Nt6548aN80oL2itoZRiFaV+vXj1bV0csR3at8XXXXXdywGY+T5BAOEgRQ/LGG2/85ptv7FMw6Liu ko5//fUX4FMDqwc3SbR2dzSwYCENW7VqZXPHCW///v0jRoygZajRwyjMoxv6Ci6N4N6QYQhxPm2B Q4evgW0kDCb0HgJffPHFLGUXCy9ZR4WAEEhFBLQgNBXPmnQWAkJACAgBISAEUhgB/kRknSkb7mKs UTV3MXIYsCyRgP42Ma9DGGE9LG5JCs85mOrbZvz045W3/r12/VEnFa/Z761gTVQXXwQsg2lcx8Dm gpmGEEO+UUjY8Oabb8IH++qhh+mC5chXnxt2ySxCUCaCO7GeOn7zjSvCrAF3C7eJ42TWq/jNhTi0 WAPjJJ8ATc8++yzCoY29q/WjHo5V/+BD5pgE53qM4UkhDYxzmMAkCvjZTEBI5CtcpTFGYziOGljr GEYU71NCpeG1kM0h1F0ICIEEI0BkQly1YLt51HCPZxqo0KkHhUbZnKhcJQXYIH6dd5QVLLkvj3oO QZtZgV+Xuox6/Kv4ZcO/it/w+YAZndcfL8GMHv/9gWnz7kZYDqMwEgj6Z3JMZ1MYd65AssfeO5B5 ixYt6t27N5BCbkFWkTAsvCYEfidxV58+ffhrhURiFvgxTBdDftq0aV7wicRIl1Cjh1IYug5ClLk8 //zzZ511Ft9I/OlkQQ7DKBDqEGeWCIosRoScI7EcudMQWKxYsVDtVS8EhEB6IyD/sPQ+v5qdEBAC 0SBAfPBouqmPEBAC8URg75Zt/xw4EM8RckA27mLYW8mOgLsYf2qymhN6gLiIPoew9CPD/jl4cOkL b01q0BIy7NgGtRrOGn5Mreo5cAJy8ZC2KBgDk9lQ4oQENmgMLmYH8Q7BWmM8NrjsA6M1EmWI+EjZ v+ZZu83UnO3eO3oSlllPzbrpChUqsKQaK1VcNcwqwrjxRc7fELIJuxVZSVjTHUmSj+zMFJMWcZPu vPPOCIVk9ZLgImQu/BJ3K8IhwjTDeMopxrkBX4cwzSI8hFURp+EIG8fwpHChMgWywtx1111kx2HN Pqx2hGoEbQYmBBB75ZVXgh7NUmUYUXfffTfJcsxrIUsy1VgICIGcRYCHDEEFiZRIVEOyUgV+ToRS jzRgHDK3JG8bC3IIW2OVVihdurS3TdAy7shWP2vWLAqEJXTNUJKyN1UVo/Ntz295z+ZSxtiXTyBl 5QR6C1EojBcU7wjfBq1lYjnKq41FHgST5MHoVQPFvLtODQIP/vDDD4888ghvkyuuuMLVU4CQgyBc u3atqzTkmb5n6uUtbiRtgo4eSmHc3YD9nnvuwamrSpUqhDR0o1ghcHRfA98ulCQvL64KpsNMmb5r wNwJMkk0SFejghAQAumNgPzD0vv8anZCIE0Q4PPRfUEmZkpPPPFEYgbSKCmHQIIvxZTDJ04K/7X6 t+/PODffySdWffc5EozFaZScEutzFyPTNQbT7PMBOTWdTMf9a83an27ovGXCtEMOPaRs55sqvvBw nsMPz7SXGsQcASixePuHkUodtS3zh1d/1ucSLxGfSG8lZQwomL1Yueyrj2KX2bF5F3dHISRhXeCo Zs6cCVyGWPzGjQJhYIx8OTaBmy699FIckuI3BSeZxQQXX3wxdjRXE76QcUVk4ZLA/4mNdCzhxUZ4 lBCgXPOkPyENZOCVH6EQ14wzwnTcbvhCzE8K/gQkm/n1119JV4NFlVwyznMivCaBR3n94eRH6CpW 60fnPOFkhhGFzyK2VJjdTD0bnDQVhIAQSBIE8BAinh5/f7G8JnKVYIPq1KmDJzoeYDypoFJgVkgP BqmGNyqvD9Z58BAjIZbVZCqZ5x4OUscffzyr1niesH7FdcEVjOcPC0F4tuNvRDRCSBdoPBKG4f8K c8baIFyRyDpmXWD14JCI/VCiRImiRYvyFqM7QQXJSUYD3hS4WFk8xpNOOilqhZ163gKAFClS5Nxz zyXqIP7oKOB9erNKj5xnhEYknxYzRTfrCwcGaGDFMiZzj3My2cV7jFgX+LXThqiSpA0DZz5myM3G IZDnxBHZmIHCj+5kugIcHnQgrBXP8MmTJ/v87WgWODrXCVPbvHkzR/kCpGBLYXibz5gxg9mhHgjY Yinm68aijCse54ilFTSIhCJ1fVUQAkIgJRGwPwz0KwSEgBAQAg4BnuaurEKSIMAX6pgxY/hNEn1S XY2Uu8j37fprXPULBx1Skn+z23XZs3lrqp+CMPqn3NkJM5fAQzuWLB92dAXO48gSNTaMHBfYQDWJ QQDfHcwWWG0I2hm/ETEMEQI0UD4Rb2rUqBFYj7WF6x/jhe8QIf5gWbDOYDHHjoO/jjXo1KkTJgzM /VhMcJfBikQ9xhc8zGyFMhYQymzwQNaFaD+YtMgOgokKew0WKKvHgILJjCXMYEIUnVq1ahFTyA7B T2P8wpTDYme4Oqu03/r162PlwUKEUYl10xhrpk+fznAYblwzCAOSVbjdoAXMUrzgjEZ6+eWXg7aJ SWVQhLEZYQPiegBJvFSffvppGwvXH+ZSvHhxTsq/IJ55Zps2bTiU6RwtLRw2Na/OjNKrVy9siBiw qlWrhjXKHSWJ/WWXXUZsJTDEhoj7oDsUqoC7FQZEbJq+BitXrsT+yPXA+UJh1oDTIMwlweXEZeCE DB8+nF44t7ma119/PfCZHOoqcr0CC/hUoVXPnj2ZPllkAhv4akKdFG4ENOS2wphLgQ12mb7RnRRs hVhsuXpZZU/gLPwbfGr4dkeOHAkamBStnmsb4yNBFH3NsrRryQKBNEu9gjYOI4qbFMty0F6qFAJC IGcR8D1jYV+8+uC1Az/B29n3avA183axMvQSZBLC2Vj94x71vH3Mo4t6PkXsk4OXI28NOr799tvw VRRg0HlhUbBVEbybzK+LZQ24JtsQ7vfjjz+uWrUqAnlEWyUUEWr/O3ZGeEbYMteYAvF4+XqxRZam QNC1F7wcaRxUYepZbMTXlInli4WB+GPZdkP9AgIveloyNJQhnlLelnxcwTzxbqUBPmTeQzxCqWTh jrfSygQh5FyAMA1g8qicM2cOb3l22RiIDypOIvXhRw+UTA1+gbw6kcOrEwwpDBgwwNsycHQWWPw7 sGfjk48uU6dOdYF5+dTB3c0rh28wPh7Mjy3oByryvO1VFgJCINUR0C2d6mdQ+gsBIRB7BPS5E3tM sy1x7NixnJdMv/KzPU5uEZCKF/mBvXuXPPP6kKNOhUoZUazqr5/+mwU6LbdUPDuRn4gtU2YOPqLM jCtv/nvTlsh7qWXMEYAPw0IBaQR/EHPhTiDOXgQCdbuuQETQ//znP27XFbCV2CppV0MBkz2mf6i1 bt26YQeBksFuZQ1woyTuIgYj/KuwYphhCGaLLPFGY7BImTIb65TpMn/+fOxZED9QCMTZYyxsUiaq S5cucAzEVaOL2bxYS84hC5GEcQQbmXltslTZuvALi8C4WMdwK8d2hrEGkwrsArF9rA0BeTCx+cwu rruvkAA+LCjC2Jt47DAFElyxfPv+++83xRYsWAB0rVu3ZgoZKH7Du5hDmc4xKB8G5UYES5LDYTds 3Lgxtq1t27YhbdOmTcDYrFkzHKc4s0SMNF7TB45v1xJ6QVX66iF1MGVyWjHzcTqsQZhLApqKq4sQ SSYHWo6bwiszkA8LcxV5O/rKWN9wHbCQfT5znq+l7YY6KXBRnAuIXiyhdlJwO6BLFCcFJzNMltiF OTVQlTDEmRK3xocBGqwtRJo5XgTVP/JKC7TlY5oj7+5tGUaUhWTkSvC2V1kICIFkQMD33Zsp0WU6 R9iMu56HNu9i70xZcEAsvkxXAFgXY6q+/fZb3k2srjD3XK+0UGVGYckRj2j3ignVMtP6LCkcXhq0 IuTZxo0bwzfzHeWtzfILX2X4XT7eQN5e9K5lFKMzd2BnEYwTEnWBc0e6SntpZlWI7yrNane1FwJC INkQEB+WbGdE+ggBIZDzCOhzJ+fPQYAGmF04L4TLCDiiimgQSN2LfMfSFZMbtTJHsSkXXrtzxepo 5p/cfVL37ESI64GM1aMRNlazOCFgfBi8FAuo4zREKLG4ZEFEQW4FNoAkI3CQr94iGHs9roJao/AP gzNzfXEp41bCfO9qKEDtQL04mzhvFoL5WAOWgd90001WxuuFvsaHUcnqZjPooDmrjJs3b+5kIg2X NVv47CqhYag0UofASnQ3JzxsQ0Rn8m1Uuo4J4MOCIgwBBjtllKFTxhWMa3S7Vgg1RzsayIexZhzu BK7LGmARwxUM1zp2CWEE2l9++aUdivAXooteLEL3tWchOdGQfJW2G/SSYGk5cvr160cb7INcmS+8 8IK3eyAfFuoqCnN+cSZgFKPBoOscXeodyFcOf1KqV6/uLlfXMasnBX3QynGK8JEwwZw7rgTfVcqu eVgaHwbji2cD7CYufT73AqdMlgpcG/fee2+WuoRqHEqU5YkhV1CojqoXAkIgpxDgQeQdGmIerivT LVP+3iszO2XHh2VHSOr2xe+W3Maco5isWkhdHHxXaepORJoLASFgCCh/GI81bUJACAgBIZDUCGBV xEyDipgzKGN/SWp1pVw8EShYrky9sf3WfNT/5/u6bxo1YXzlxvW+739M7erxHFOyY4xAnoxQLTEW KnFZRACShg2LNlsWu2a3OUF18DeCEQkUBNsUWI+XEh48OHW59k5nSBTYC3gO43IsCpBrFljAOwcy zAXMgd8CBILXQXexXBqLvHXBc871JZARVJlFPUJzDlHjjlIgHBNkkrcGogJfMaIF4gtF2gz8ePDm oQFLOoxO8DbGIYlV596auJaDIky2DNyDCBRJUqhLLrnkyiuvBJbwaoSaY6hegMaZxf3LOBj+EIXU 5M1OeKKaNWtCgkIR4U1I9MKbb77ZxZgKJY16JsIv593XBrIK8AkDhShkVq5c2dfAt4uD1FlnnYUX I1wdyaVQjFw1vja+3VBXUZjzO2jQIKgm1tcjiqBbQ4cOZcG7u4x98m03ASfFnNWYuGmCSmzwW/xy fgO1gtS0Sjz8uFS2bNkC1KRww8cChiywfYQ1eLax8N9OaIRdQjULI8oeLDEZJdToqhcCQiAmCNgf fTERFRMhPCEJ1+x70cdEckoIYU0SSyJwnQ/6XkiJKUhJISAEhEAgAuLDAjFRjRAQAkJACCQXAlgV sSdiMWQhP9Y0fY4n1+nJCW1OadfqhOaNF3R5cu2Xg/Zu3poTKmjMTBDArLxhyOjfPh1Q5u6bjqt/ diatdTiHEDBKLPGDwzCZs45vaPzViGSI5RonD3cIKzzuVpaawlVSIH4O1AW5Op566ikIFTJGwGp4 GwSWEUXee19KdoQTso/GFiaRgpeowFLvVYYyNV7JhFL07lImAzxvK5QhURlZkWBZrMFrr71GyCZf Y6g+X01cd4MiDHsEHcjSb3gaCDxCDg4cODC8GqHmGKqXUSkEtyQuomsD8pS5CHHS4rzDxDz44IMk byOWEa5+rlnQAhOhnquoXr163gZkFAN2fJ4+/PBDSL5PPvnk2muv9TYILONZSABAQu0xd+hAl1cm sKXVhLqKwpxfzLuQr0aLwuEhwTKQhRqC+oSdFFymvMuMcF+DVSJhnk83TpOPb4ZXJsoo9x0hHNu2 betrH/kuIVsBx05o5L2CtgwjikuFGxzSN2hHVQoBISAEQiFA6kHz3g7VIL3rx40bl94T1OyEgBDI nQiID8ud512zFgJCQAikEgKYqFi2Dx/GWm9y0YsPS6WTFzddjyx23Fmfvlb9o1558upjJm4oRyX4 n4MHf/9q6NJnXt8+bzECClUpLz4sKiAT0Qnix8v9JGLIjDEqVao0adKkwOEcyUGaCncUEzbOwXiJ +Xx9SJ6E4f7dd981fy/SvLsuFIzc8vFPli+NX5//E0QFjBoUhZn1LWeYSSP+HuQKERHxaaNm+vTp PjWCAoiTE45KpA0jKiBBn0wUQ1ghVr9QPg888ADSUNi4lkwlB0WYXuj2fMYGw0GEQHBzTlogyfRJ f+JbHR90jqYAYSRpbMmcrAb5AIVzXvny5QOVhBi7K2Mj3T38Fqe7ffv2gc28NaTjgsUJyqoS0JIN hTlTXj4s6CWBTM4U3xhsRF98+umnvaNQNnoMFyiIIjsU6ioKdX5ZWQ/hx6cLPlVIwDGOywyGDN7O N5ZvN/xJ8V3b1jdLJ4WJ0ItAiO4SdQo4H0pXE7QAc2kSgh6lEvKPGxPXCm4ECGyuUrhAwOQGdxeY ncRI+DBCa3Ip1q9fn+ip5O1D2ty5c3FNcyxXGFGoWq5cOeJhhlJV9UJACAgBISAEhIAQEAK5BQEL m6hfISAEhIAQcAjwAnBlFXIcAdIdY0mx9fiYPlkzTk2Oa5XqCqT3Rb5z+ar9u3en7jlK3bNzYN++ 1X36jTm9gSV4G1Wy5vLXPjgQiwzYqXs2k1ZzYs8SgZBgcaQLSrySw4YN4zon0bpvaKznPOQfe+wx bz2GbBxTCFQIL0W2M7y78EehAX4tCGGRBL5NRgvhQ+Y6YnaHksG3eMKECT///DMvEQ6NGjWKLjgM TZw4kZzqffv2hbKyLp06dYKVIS4QTkXmEGb5w4h0RxdC4bF75513UoaBc6NA/HTv3t3tugJkjDEK d9xxh6sMUyD0HIEE4beQz8oPyoHgBHa31FZ0AaLAo0FrgiL85ptvfvbZZ/AiAAViJUuWRH/XHdgZ gnxvkDr437j68CHR+TEAAEAASURBVHPEDwzWE4czKC7i79ELqgYOA7ggLYjU9/jjj3OUeihGKhcu XAhN8uSTTzIWq9HdKGEKAIWjoa8Bnl6ccRz+xo4dywnt0KGDaxD0krCjRLZkXJgVHJVceytAO0Gi 4IkIgwujQ2WYq8jX13bfeOMNhDNld7RBgwZwUW43aCH8SSEPHAwTHvOcMibrJGTppPAQwO8BVzBY Q8jL77//nmninemkBRYs4Cfni/sC7pBTzM1iqcUCG1NjLDUeh+SKAwSc//DGo+DNOsZ5hCUNmhTQ J9NIX3PUgFEbPXo0oqBOXbNQomDRihYtSrwv11IFISAEkgcBbuTkUUaaCIGgCOgqDQqLKoVA6iKg F0/qnjtpLgSEQLwQ0OdOvJCNSu6jjz7auXNnutp5Yem6M19GJU+d/kUgjS/yLVNmDjq05PDjKi+4 /+ldK9ek4vlOxbNz8MCBFW99/F2p2saEjT61/qr3PjuwZ08q4p9LdMYUXqdOHWL9bdy4MUemzNAQ JIFDE++ONRBePoY28GeQNNwabAQYxDvEOiLBYu7hLYT/jZcPowF0V9myZc0VjPxV1uX99993jimY 8h966CGr37x5MxQOzAduQHBjDAT9Y4eggixaI6Juv/12o9bsEJxEUD6MozBhCIEPsJbhfwO95XjZ he/CUSNaGAWGKdPGrkEgwlBTFgqPCRKmz8tV0IuVKGT5gspiIM6ak0MhzBxBD68jww0iisbbt2+H drIaRHFCx4wZQz2EmfNG4jxG/oqHncLnDHbKqxIUL8LZuDBatGjh5YpoFvSSoB4KjS5du3b1inJl 0mVVrVqVBgTntMpQV5Hr4i2QYQumzVvzzDPPIC38WQt/UqAPzzvvPPN2wq/PKzxLJwWXOIcYZx/W GerIK81XNi4Q5dm4+HHm4970tfHuzpo1i5bwYbDIFJj4rbfeSsFdYzx/jjzySM6Lt1eost3OdEGC 48O48a19GFHEAuV64B4PJVn1QkAI5CAC3NE5OLqGFgKRIKCrNBKU1EYIpBACh6IrN7Y2ISAEhIAQ cAhgEdCz0aGR4wWsM8RLJJAOtgwWtuMHwPplbzCrHNcwFRVI44t8z6YtMy6/aduUf21wh+Q5lDRj Ze5oW+yCc5lyqpypVDw7K177cMHdj4NwwYqnnd6t00nXXHboYYelCuC5U08ep02aNIHqwMDt2IhE QkGGqjZt2uBZ4hsdoo4QhThp4erh0wcXlp07d+Ij4s1jxESwg5vjiK99qF1e8TiH4Ql0yimnYIv3 NgMQOAYYIzgwfLZcci9IAlyjUMzoN2+XUGXgxf4O3xCqQU7VB0WYCeJ7x7nINHGXV+0o5gjTuWLF Cvzq4B3dYxkHMoIKQjSGCjnoHdRb5hIiBqO5G7p6YMeFCFHe68QdDVp477334Pwg2FzkvaDNvJVh riJvs+yUE3ZSuNTXrVsHQ+mo4uyonaW+OJnxjQfyjijNUndv4zCiIM8uvPDCF154wdteZSEgBJIE gVT87k0S6KRGwhDQVZowqDWQEEgMArL5JgZnjSIEhEAqIaDPneQ8WzovMTwvaQ/mth/nrHzjo9/7 DTm4Zy+4FTitdJk72p18Y6vDCxeKIYxxEpWKZ2f7gsVLn3urxJUXl7jiIvSPEzISG0MEiIoGmQEn BB+Gn0cMJUcoCjph8eLFpUuXtrxc3l5QI9BUeIl5K+NdJhAcgfsaNWpEALrnnnuOVEN4L0U3KM5G RAJ88cUX8UpJzoSX2Uc4SeYIGYYHGCcrujNFL0JNEp4RZywoE6/zU9QCc7BjkpyULCEAyQ0TVrx4 8Sz1Cto4jCgeNZDfFgc1aF9VCgEhkIMIpOJ3bw7CpaFzBAFdpTkCuwYVAvFDQHxY/LCVZCEgBFIV AX3uJOeZ03mJ4XnJJWDu2bx1Te8vVr3zye7Va0GvcNXy5839N91Ikm/JfHbgMLbP+fnwY4vkL/Xf 4HVJDqbUC4UAblVNmzYlZw85eCwUXqiWuaSedFMEmsMJrGDBguTQIjUXMe6imzvdIZyuueYaHFai k5D8vdJmjq+88gpuQzVr1oS8TDAFG/OznDYnJebISKAQEALJjEAyf/cmM27SLZEI6CpNJNoaSwgk AAHxYQkAWUMIASGQYgjocyc5T5jOSwzPS64C858DB9YPHbP6/c+hcKq+2SOGMMZJVBKenX8OHtw6 acbv3wxfN3Dk37+uy1e6ZNOVU+M0fYlNDAIWLxGCEz6sUKEU8JtMDCwaRQgIASEgBISAEEgkAmSC 5GskkSNqLCGQVQT464zYzlntpfZCQAgkLQJ5k1YzKSYEhIAQEAJCQAgIgewjQCKrEpddyL9AUQf2 7Fn1Vt98pUoWa1z/8KMLBzbI5TUH9+3bPG7KOmiwb0ft3bjF0Djq5BKn3nNLLkcmDabPH/ZsTMR+ k2pGn3zyycknn3zeeecllVbppEzaIEwy0VmzZt1+++3pdHZy1VyILErU1ssvvzz7sw4j6qWXXmre vHn58uXjOkr2hUuCEEhXBG688Ubuwcsuu4wMnYFzFM0QiIlqhIAQEAJCIK4IiA+LK7wSLgSEgBAQ AkJACCQvAhtHjPv5nqfQ79C8hx1Tu/rxF51X7MJzi5xV9dA8eZJX6URptnHU+FmtO+3b9qcNWKBc 6RItLy7RstkxZ1dLlAoaJ+4IQIaxLjvuw2RlgKVLl2I4I6VTVjqlfNutW7dizWfup59++qWXXnr0 0UfHb0pxRXjDhg2OyHz11VcvuOCC+E0EyR06dKhXr16chujbt++zzz6LcO4RssplfxTyk4HPJZdc cuyxx2ZfWuQSYnhS1q1bh0epDV2mTBnAJ/tX5JoEtty+ffttt922atWq4447LvBolmrCiJo0adLE iRMHDRqUJYFBG4cZxdq//fbb3bt355ph4/p86KGHrL5Pnz49e/a0+vbt23fu3NnqP//88zfeeMPq 27Rp48jdb7755oMPPrD6li1btm3b1toPGzaMLlYPwdCqVSurJ9/hwIEDrZ7ckC1atLD6H374geSI Vt+gQQMOWf2MGTNIOGf1tWrVql+/vtXPnTuXQ1ZftWrVs846y+qXLFkyf/586nlrnHHGGRUrVrT6 1atX80ix9qVKleKqsPr169f/9ttvVk9+OJcibtu2bVu2bLH6IhmbtSelJZvVk1SSFJJWD1OC51A2 LzMTpd8cRAAm7LXXXuOOuO66626++eZKlSrloDIaWggIASEgBISA+DBdA0JACAgBISAEhEAuReCE S5pUfPGR9YNHb5s6a+vkmfxb/OiLhx9XpFjThie2bHbiVc1zKS4Z0965eDlkWKHKZ8CBndjy4sJV KuRmNNJv7s45LNn8w5555pkzzzwTu202MV++fPlpp50GA0GatGyKSkD3smXL7tixg18syNgKH3nk kUcffTRO42YV4eeee44MWzB2kehzzDHHPP/883/88Qfme5iDSLpE3WbEiBGzZ8/+4osvIpSQ1UuC ixBzPTzl+++/H+EQYZrt3bv36quv5iy/++67t956a5iWkRw6++yzq1WrFqFiMTwp8+bN48wWKFAg b968f/75JyTWk08+SeK9SHQO2gZM7r//frK4wSEFbRB5ZRhRd999d6NGjVAegidygUFbhhnF2oMP pn9YHDZvKFoqa9eubfVFixZ1wsn6Vrp0aasvWfL/J+aEiIIWsvpTTz3VtafcrFkzq+eJ4eqLFSsG R2X1XLeuHmIpf/78Vs+vq//77783btxo9V75VMKHWT0n2vFhv/zyy5dffkk97BT+fI4PozGXtLUn aaLj8+DnOK1WDyZdunSxoQcMGADNbPVQoY4v/Oijjx577DGrv+uuu5566t+1SmwI4QqhnnLXrl15 HGVUHwLdznPS+DPIxccff9zq33nnnR49elg9ytDF6uEje/XqZfUsuWAIq+cBAoVp9a1bt77llv+6 v6MnKln9lVdeCYtj7YcPHw4OVs+JuOqqq6yeDJQQrlbfuHFjqEqrh4v97rvvrP6cc87hOrR6fFs5 RD2vYG7nunXrWj2k48yZM619lSpVuM2tHvxh5a2eV5tzdlyzZg1PNqs/5ZRToCStPSz477//bvVk RjzhhBOsntsWSpJ6xmXhhcseyvXAZu25ZoJ6cZmE6H65ZthWrFjBiWCdxIknnnjTTTcBeFwXf0Sn qnoJASEgBIRAbkBA+cNyw1nWHIWAEMgaAvyFoCDmWYMsIa11XmIIs8D0gbl/x85N30/eNGrCxlET /lqxxo42mDEkR3yhEnN29v+1+8+fFvw5c94fM+fuWr769Mc6n3DR+T5Y9m3fcXhhZZbyoZImu7t3 78Zmh/ELK55biZ/jc4MNwr2gd+/e2E+zqcyyZcswGuIYceGFQWKlZlN4zLtDKsCRlChRAg4JQ+rk yZPxrsCIGfOBokAY4zU2aKyokSuDKRZ3kK+++soZiyPvG3nLhg0bwjfgLhNhl+guCXx37rzzzux/ FmIT51KE8IDuhWOLUOdQzWpkbNwpoRoE1sfkpEAwX3TRRcwFmvnXX3+F/4AO4aKFuQkcMcKap59+ +sUXX1y7di3sS4RdQjULIwrYcUnBsypU38jrw4wSuRC1zCoCdg/ygWQd9+3bB39j/Jlxfla/c+dO +B6rh2txvpg4pcEPWT2P1pNOOsnac+HBJ1k9fFK5cuWsHuZmwYIFVs+rBGrK6hcuXAhfZfVUQmVZ /U8//YQrntXXrFmTp5PVT506FZdKq8cJz72Pxo8fD39GPfPiXQxdau15Z/Xr18/a8y7gFrN6GsPP WT3+gu3atbN6GkMBWj3+hThgWT3urS+//LLV44/o+Mj33nuPJRHUMy6Nu3XrZu1ff/11FmFYexo7 fhqnxgceeADY+VqAXIRrtPbwkXCQxp/BN7sFHCjD+8Lq4SPvu+8+a88TY/PmzVZPDS8UHsjoAD51 6tSxNvoVAkJACAgBIZA4BHgJaRMCQkAICAEvAjyCvbsqJwkCOi8xPBECMwyYO5auWPFGn8VPvXxg 3z5fs9+++HZ2+3t/ef7N9UPH7Fq5xgwKvjbZ343f2dmxZDlTm92uy/eVGw867JRBh5R0/5b1ei/7 mktCCiFAZCpinbFcfc+ePcmjdv/+/bn+sU76VCIeF1EEMWJiMT/33HOxSFqDTp064SFxxBFHsCie df0431BPXC9s30T0QhTsGmU2eCDrMmXKFGZdsGBBTJ+Y88hdZPWY57A8slieiIWY/AggtmjRIjv0 9ddfY/fE4s+SfBgIq7Rf7JuY//CPgcrCCwcT4fTp0xkOQss1w3eB2GVuN9MCQaXQHDmZtoyiQVCE eZRh/cR5BSTJ3Ia53yS/+eabzMUCnf0L4plnYm/lUKZzhMxjCvBhXg0ZBf+MChUqHHXUUTg9YCN2 R+G0MAdDboEh9mIuTncoVAF3KzwY4Op8DVauXInTCdcD5wuFsVDTIMwlweXEZeCE4PxBr8WLF7sa zMTMxe1aIdRV5Gvm3e3YsSNaYVxm+pjsvYeClkOdFG4ENIQAwNBPgY2oekiI7qRgob7++uu5emEO 8N6AMAiqjKvEWA8a8GFWw7WNoZwgiq5BFAWIAWQCaRR9fV3CiOImhQLxtY9uN8wo0QlULyGQ5Agc OMAX8T73ukRbvhws9OWmTZu8DzTYcR7CvMR5a3PIzQvnNtx5oRJ5JuMUyM2IdykPEB5Bro0KQkAI CAEhIAQShoDiJfL5rU0ICAEhIASEgBAQAv9FoGC5MvwLCsfyXu//8eNcd+iwAvkKVjitcKXTC1U6 vfilFxQ84/9HNHJtcqTwz8GDgSnQ/l63YVylRv/sP2AqHXp43kJVKxSpWbVIzTOPqVXt6GqVckRV DZqzCGDLZstZHbyjYzKD5HARn+wQ6/qhasgfA+PFunvYKZbtQ6twlFQ3mLmhqSiwJh3zHBwM/A1x t7Ds49YDf4MjDS0hWvilI8v2iQAGcTVnzhyWyRMoDD6AQ0888QTZd1jPDlVmPBk2Puqx3+HkhBC4 HJxLCGZI4ClSQHGIDYGsnYdFg4OB54AHoiUBxwhkZ3mtoNkIJnbvvfda+0h+Z82aBdtRuXLlSBpn tU1QhIkYxup+ECBGGXZMrJkmFq4IMAH822+/BVIqLQ5bdHOEZQRYPP8efPBBfBfgCOFREIg99P+x dyZwV03rHzdkbDCmURky00CTqQyFDEmhZM4USWQulciQKUPqFkIKXVODqRTlZijKWJFEA6IUKiVc /6+e+1933b332Wd4z3nfc973tz993s/aa6/xu3Zn771+63kWw4SyOHLkSAw+qI6516T9YrKV+Vns NgIpsWzAYombAfdxbBmFURQJYm4JbIZQvJifNStJBos2mJgaKNmdxtxFLk04MG7cuFatWqH24fwN Pemkk04Kp/FjEg0KGjC6L1YXONkjTBazXMlgUJDc2E2KUaAclGYc03Ebjx071m9GZJj7wWa32eOq ffv2pphGpkwl0gYRkdu5jEslV2SamKK4hCUQk/XOQVxkCalExtSSSnalEYGCI+DsulzLWTzB4U5d gGUNHO7UBXis89vOLz+GdGx6x8qMIm79yM8gKzawkwv//jzxxBMs7HA7Wbo2KCACpZLA3XffjS2p 86FaKvuoTolATggUm/KmikRABESgUAjwa1soTS1T7dS4ZHG4BTMDmL+vXLVy3ldfDx35cbfeb7Xo 8Gq1/Z1xFYHxNRuGy/zx7fcXDHv629GvLvvXtF9mz12z5Ic/160LJwvEpD46vy1b/v2rbyx45KnP b773w87XvXvCOZP3P+bVKvXHbLTj+6f/7eDLP1jc++GF12AchonY8mkz/1izxr+qcFkjYPZhiEP+ iu8Sh8DcOnPNgWag0/Cfwre4Qi8JpOEUtQwJxMWjl5ALcxYXQ8B2K0GjskiUMHZzsTACG9uZWJhF 6+RlfxdOiUQyRGkjDCvUMuYdLBl/sapBSMD5pIshgLhCpBmr4ZyK7LjeIh7hBxdzgSOwOp5Nd0iP dOQXmMVwJGEUGsS81atXR1aEaoiEELiUqI+WLGwfhjEBmxgxDWoJuP1QKDGt4xT5CtpsyROoIv6U qVVyIWoGkjHrijOxQKSdRt4STM5SDj7HSIOQiRzLZml+9rB9WKK7KGZ8MYygFnYkomQ2zmEO168i Mhw/KA0aNHC3q8ue7qDQHloFSSsBJYxdwRg77oTAXcqpWViafRj2ZNhlMkXOxDe7uLkGZBzg3kAz zji7nzFRUeiRdPbdd9/1E2ccTlRLxgUqowiUbgLYamPbyq9Nuibp/FriTzUMh0UPuJ9lVUTgEhut sXqGxRCB+Kyc8vOI6mAHzmOLUiZLdh7//4PWpvUmhsUzO3qShT0RWcDhmsGDhuU+LF5xMcUTYPWG dYVFRewemnqlvAkMGjSI/eRodhF58hoGDV4OWUHFPeC3gWc65ZuxuB8fGeb5buPbvXt3PwEdtHi2 TvTjY8IZY2FZEo5M8SPKCrDI191Apdh2858rEKlTERCBpARkH8aLsQ4REAEREAEREAERSELg22df 2mDDDWtf0NGlW7fip5Wzv1g5a+7K2XO3aVTPxVsAI613jur456pfA/HlKlXYZNuta59/2u49/7Od u0uw4OEnl789g9MZHS9l6v3ff/zJ3/X//qzWttVOnf+2YnHHX3/++fpeh61butzF/Dew8Uab7bDd f0/XhzYqV67ekP6BSJ2WcQJIL0xq5w8E1CbmRwLtwRwH13CYiLl412ZEFGY60DlMy4lcru5yEWC6 BDEMN00WyXQSBGy/GbwjOisunCW6XExMIJWZXRSzbFwixl0lgIUNYpIfg1DBVB2Waueeey47vhx+ +OFMBZLgjDPOMDnBT4yfQKxtLAY3fehVzA2xTYufJovhSMKnnHIK1m84imSLF0zf2rZtC5b4ShP1 MVEuoDGy2ASYBsM3KrM8CDAYJDHjgwjKpOeIESOwSMMCz2gnKsri6QgBxj2QjMks4LOpD0VRZlIz Ozw3MlP26KOPotVh/0fDzjrrrECZgdNEd1HM+LL3D1ITuwRRFCZi7B+GbZa7jQPl22kxDAodoS46 bi2hSRzoW/xlfMOtYiLbIpkZ5FZh2hHUGL0xsYtCFk6fYgwz2ni/tAFNMUuiZDFF2Q9LrmtJ1DDF i0AZJ4Dds1lpp8UBoYhnaHjbP/47YxODYsHvaqBAFnDgRfbQQw8NxCc65UeMtwjkpUQJ/Hi60L9/ fyQfDJ0xNvUvpRvm55dCWDpDF+y1hG1EsXdPWg4CWN26dXmSshyHbrIOw4ybychvMpzDTz0eiDzp MFtPWnhmCdj9lKcDv650hKcJxt+8m7G4JGlpPBkvu+wyXr0wd8ZYP2n6mAS8TrAoinHEzB3zZRwy u8TsVAeWFMeLIQAjchRLQFwJBEDNmwnP7tQxZoyF1TDcHmRnxUnSlzHaxgZ+LO0iCzeG32aFRUAE 4gkEnx/xqXVVBERABERABERABMomgUWPPbPBhhvUOvsU1/1Nt9l6u4Mb8c/F+AF0hroP3rLsjbfX /bji9+U/8ffvwIqf//hlFf+WTpoa0MPQzz7tftOfK/+e3v3mqTF+UYQxBQvoYRtuvHHNM9r+8sln W9Soujn/qlf5+2+NqpxuVqUyVwMl6FQEIgmk8rEdmTEXkSy8ZTMkprowv3DlM8/CnBFalIuxAEuk kS5YFcv0B4IKS8hRNQJpAqcUhdqEs0Q/nsLZ5oQYN7PmCxXM1PuNIUyMnx0/df4pYaZ1mJugMWxU xq5Ibi6PjcGYRwskRuqzGExwUErIiw+6cGcDuTI+jSTMZBlyIFujMdfD5CNrjVnlHV9Foj4mymVS CjOYxx57rEsDecLcgRhpMe4oMbhSxDaOxd2Y+rlkkQE6QjxSaMDpFjuKgR0rhGHDhiHy4Tjr9NNP jyzBRTKJxuZeONOj78iB+MN0lyIDie6imPFlqg7x1WRRNDxKsB3IIsu3yGIbFEymfP9mmK+hKpkP Rr95DFNAb0ZXxjsl/+9w/8jErp84rTD+OYFjA5pWxnDimKK4VfgPjugbzpVuTEwt6Ral9CJQRghk IIZBBhe7/GVNSYASzwsssBEMAvFoGKyr4FkWiI85tcUZMQn8S/wG8sphbnj9+IzDPGpZW8DTn+1L MUzv1KkTO1/Gl8azgx9M5BneZFD+3CsEuTBq56+5gPYLMRsjPybrYR4BWMOzuognAsIe64Fwg5y0 FrYO5UmHJJk0ZdIEb7zxBkx4d3r99deB6acHC8813sr8yERhXDdziXeVQAIe3xwLFy4MxMefZoCF wcVUji1debzGF+6u4hqURzYY3dumu6SACIhAHIGkFmRKIAIiIAJljQA/mmWtywXRX41LFodJMNOF uWr+gjEb1uQfgXTzBtKv++nn1V8txHthIJ7TFTM+xr8io7PoyRe++ee4b59/+buxE5a8/Pr3E6b8 tvxvd206RCBbBJiUZ7cevqKzVWBWykER4f4POMEzs61PPvkkUAXCCYmdv0GWPzMV4tLYJlgBL3y4 OmTaHfMXl8wFUNSYXLNTq9H8JWJvxDJnJDq7hE7D3JzLxQJtpi3cqQvgJ4e2YXnDJGDAm6JL4weY X2OmnhkNFib78fFh5gTRJDjMH2N8YrsaSdjPyJQcGM0/pMWzdh4C4V7E9JHE2MyxH5UrmWkyVMak fpyY6YMb/XIZYwKoOD179kyUgDYg2iExugSRtwRXWdKOModlHlWjCLr0FsCmjXjUMhcfcxe5NH7A ZtCwuOJu5GCbNIQZFoD7aeLD4UFhDjHSLWRag4L+R9ewM4iv3b9qBo4IYBbJFCQl9OvXz0/jhxn3 yZMnszcYu5QRWLBgAWInAf8GgzmFhP+D++VYeNq0aeRFruMvnsEohAC6uEsZUxTaOd6uXMpEgew2 OFEtihcBEUiFAA9cjJ/CKW1Tz3C8/Vxjjuxf4onPYxoTc9Qs9hVzv1dsP4aeZNuPEeBAwiEjvzOE fRfN/AJj8+TKDDsE5hK1sAIDa3KefbyNYJ/k0kcGAr+lVMGaA34nIxNbJE9GfFzXqVOHJwiBHXbY gac/AffKhLSGYbRfAuodfYEhstnfPaxXz3+8spYIQ2QURBpMs8lOXkpAhnSFvPzyy+TCeN3FhAM8 i1lWYvFw4/ccP8PhZH4MhuAUS0asyv5uVr16ACEBvotpDMuJeCNisLDGQx/yM4bDLHkBAi9jmCkT ACM/9ezQaSl5p+Ldg7H2M/Ig5hlK1Zh88UbHBrT+VcKU49w7+5fC/pP9q4FwulhYLwUHM++rUaMG YVCYlgkujMD4ayPuHsGuRszayOJOFRABEUiFgOZ8U6GkNCIgAmWLAK9xZavDBdJbjUsWB0ow04U5 p8/dtlvYZzfenW7edNNrdNIlpvQZEDA9DAduGeTNXRZaxfxXQDVhAp1pLBwVYvTDfDprom0uALsW /rPceeed2DZdc801hH09DBMc5neY6ZgyZQrOczDqotmsuiUZsyd4Yfr666+HDx9+ww03WHcuvfRS RBH2KmNKywzCTA/Dnw9ZcIXHadeuXQkPGTLEEUikh+HRiGkLEjNJ4RInCjDdw8QHiQcOHEgf7cAH XaL0Lt6mZsgIIhcZH4gkzFQRIg0r6wEFMTZl8bckoT1UgfsgrLiQlFz58X3EDmyfffZBn3jnnXdM gGQqh33ImJfEUgfHPsy4mfjE5CORSCZ0mXXl1IXK4mqJCeAOkcnHQAIsvRhxDP4mTZrEgF588cUu QeQtYVfxbEm9zKaFp96YokIORE2ZOnWqSS8xd5Gryw8wrBROl10ky9j32GMPdxoZiB8U1DukViZ/ GTI660pIa1AwsGAGDRUWKzoEP5bV000n/boy/YDN4TJe/L9gWpkh5j+LbS3mJ3Ph999/n75jcche cQTQsJk2JYAu69IwjkxfprJLCsvzyWvGGfyXMY9YWFQkLQpxdPvtt49RT10J2W2wK1YBERCBDAgg 1SCNhDOyroXfwHA8jxV+rgM/4zzd+N3g4c5PN7tVubUIuGLGGpslL5hkEeDgqUGZKO48C/hdsvJ5 BJDAvSoQGamH8auI7sKjBHeyvFnx+uGr/uGm2m8pD6wBAwZg0cUPKVZN4WR+DDtg8cKDgMc6D1sP 1LlzZ2Lccg3WQwSEK16W6Be/nDzZ13fxOf9tgYcy9fJcxoyJn2ic31IdTUI8c+8AuHRO+rRC+GF9 FRbSrCVia0keK/HCHrXwDkZ7MK9H8rGGYSRHPA8+BotCwGK23fYm5nMIhLEFZ0zJxXsg8h49ggkD bcnYFhQPhzz9/Vy4pMb6irUg5MVhMgRYFuMnyJYelhYWGgkKs/FiFAyLvT6xdo0OIlgOHjwYp4gM qN9awiw/IkGgF4E0OhUBEQgQ0JxvAIhORUAEROAv3idEIQ8JaFyyOCiCmRZMvkZe2/lA08MI2MdJ WiWklVijkxYuJc6MgOlhthw4sxJylAt/d6x6dnMxVgtOdRBp+K/BwUyNW7jNbI753GMdMfY3vh5G RuQuZlVYLEwut2CcmRG3PRXzJtdff71VgZ0ZEg5TafjVQRsjC/KPXUIKomRiKIrpJ5PW7BKaBLNg Fg78tY1AmF4PxIdPGQsKDxypWO2Y0EJGFKZwsYliwoSZQzRXeHSQRdO+VkEhTA6yyxcTRlTE7JVf bEwfoccCbeNmU1Hs3sFcocVQFAM6ceJESkMwM+2QSMbRn3b06wqHUaeYf2SK07/E5BrlcHBjsKLf 14pIFnlLEI+ERhbmyPyiXJj5TduWw21Zn+gucln8AJOMzK76MexwQ3XxoxY/KMiHTJBxu1IOK+j9 wtMaFAwLHDFGH9U5bAjoF25aIJVycPPjrJL/m36CQJhdW0iJHoaKTICOm4szd48xWYntAuMSyBh5 av+dyUJRTg/jP74ljikK/2ncD86WNLJwi8xug2Mq0iUREIHMCCB38dPHczmcHZEMU+9APGIJ6hTP 2UC8nfKjxNMtcIkXA34xWDFAPG4A+W30jbDDehjPOF4nnEURqwr4eURhIjvLBVB6Agc/s6aH8Wjg Z40HGZKS+1UMNMY/JSM/mCwlYX0GrUrRoLxBgwbud9IvjTcofksDLxs8u4nETouU/KiCGhtxwvx+ BnrBqf2o0ngOyNsGjaw8sOdITBZrBsbWxxxzjN8k08NwI0kkhfBmggNGP0FkmKUhNIAbAyOqdF9r kQzpb2AVTup6WKLxpZ3rqURgiclCLm4e2oNQ5/eUxz03mL1KYdxGAhaH+QnGjRtHJKvE/EiFRUAE 4glozjeej66KgAiURQK8T5TFbud9nzUuWRwiwUwL5tI33jYxzP4unfx2WtnTTazRSZeY0mdAALdg uA8KzERkUE7Ws6CaMJEUuSScSQTWPtuMgKuXjvgTVS4+JoCkTRZWSQdUN7KY1mVyhT/TxAwFhjjU FVNs4BIrxJmyD0Tmw2kkYTqImR2TX2m1MIM+MsMFSYbSX1iAbRDmev669RSbwdJ+VMxAYjQwFv4H 7pNAmsCpqTW+571AgvBpzF0UTpxZTLENCrOWuCuMt2bIrAtJcyEn49YyYM+RNFdkgpiikDOdUUhk 3tQjY2pJvRClFAERKAoBFCwcDIZLQPUJe42bPn066zCIx+QLc2f/0UMJkXrYvHnzUJtMk0D1Z+sp v66wHsYCBV7dOfBkyGHLPng2oahZfOAvdm+mh5mxO7/AV111FWli7MJ5SvJ+glEs4hnPOH6IMO0l JhXL2hg9DMHJZD+/g5hM2cshVkd0h/5ylZhALzjFeoxLCD/mL5H24F+RMrHjj89i1SXSw9zDCBNw 58jasgT+sl6HSlmoxNawBHjpwhCQQCBZ4JS3HfYKZekVMK1To0eP9tOkqIfFjC+lRWKJz0KuRHpY ixYtrIW83tBms2V0bUa/JJJLLkYBERCBpATK2f9//RUBERABERABERABEYgksOixv/ePcceix57Z vvmB7lQBEShEAnwk0Gw3F5A/XWAGgb0cWAEdbhLzWeFIFnGbF7XwpUQxzHOFszA5heM+pr1Qa1BH UHr8bepxl4SDpkQFBuIxNmL5NrMVWKUELuXDaSRhOojPutSbl3EfWacfJsl9WLt27dRrdynxHcTM oDu1AJ7xOAKRiU4R4VgYjjEWs2lsWJIoWTg+8i4KJytKTLENCvZ5zkSvKA3OIC8mg9goOKvBDEpw WWKKYq6wVq1aLmVRAjG1FKVY5RUBEUidADIJ9rXh9Dxc2B8LRQFjGncVo2f0Dx7HPJfZNBFzVcyP 3NXIACI9LwOsyznkkEPY1dJc2EWmtEiWXxC4++670cBcMl5OaIa5+3ORFsAmzFyz2ik/v7jvwxAK eQzXhYHEdkr7MdS2MG6lLYDyhLdb/DlHZkklkqeeGXX5iRG38NeHG0ZwoRtVqVKFq7hDxHWkn4yw /5rEKcZk2EM3bNiQjlx22WWpZAkUaKd4orZA0kcD1WFobomhQYAXSCQxVjtFvkaSgLdfPAPTF0yr Uf54B2A7OmRFKyStvzHj65fjY8H9QKJbws8SDjsm9t6OrOun4b8DymVa7zB+doVFoGwSkB5WNsdd vRYBERABERABEUiJwB+rVn/77Et+Uk73G9ivXPn/fmz7VxUWgUIhwKRA0rmGEukLTvOKv14mLNh7 g6XizA2x04bbmiuDljAXgx8hXAaxVj2D7MWQpeiE86SPzBC5SaLMuLGYHWdQ+AnMT/EyrU7lyaCk 1eZIkTutElzimKLS0npdgZGBmFoi0ytSBEQg6wTYuRCHgeFibbEF2gB2Qv5VXPkhfnAgO/FwRwtx bpNREbBaRj5hrYafBZ0e+2P892Kwju9f/xIPHRIjF7lIykelYPem8E8N4pBLFhNAleEqltOJ0rAz Fjb9bKmFvRp6VdOmTenIwQcfvNNOOyXK4uLpY1jKsqss7HDJXICOsxMYBw512SfS4umjSxATQFjC /h7TK9KkmCWmtKSX8GYJOmzXcJmIW2xay43BWCQSwygQ4z8UKRbTYC/IqXkaDFRE+/3xdVdNGsSM D8faRFJRiuPrsKSexVWaSgAIderU4T02lcRKIwIiYASkh+lOEAEREAEREAEREIGEBFC//ly9ZttD Gy//13QSWYDIWmefkjCPLohA3hMwHzv5qYeVCDwMwnDGmJWqsTfKSjn5XEip6SNOtzjyGXXqbSs1 g5J6l5VSBESgDBJo164dzgzxDrfvvvv63cfNHbZTbIjl62GDBg1C/WrevDl6FcZDbNmF6a3LhakW PvdwP4jgRDInL6GBYbaFysKOjAGpjFOsx9hFEgWCNMhUmIJ16tQJ74IIEh06dEBge+6557BLwx+g qygygFU6iXFXy3IcjI1MoYlMiSxHvUh9mJGh3pGmY8eOTtWLzOIi6SMGW8888ww6IkpPUvtp3FGy FxrmcbCKdJPoSnYBtrPC/A6hiF3Q8K940003uUs5DWDrD0MUyrZt2yJ2Ys/ndsRMVC/Gf9ijI4Ox KReb0eLaMZwSqzj8NLIDHKUxyo4YduQMMdvLcZU7Lak9VvFg4X5gZY8zHwx3RzEiIAKRBP7jLzXy miJFQAREQAREQAREoIwTwDsiBGqd8x/1ywIBD4plHJG6X4gE8LXCnj3Swwpx7NRmERABERABESiz BHBLuP/++4eVDCSl7t27I2OYA0Pjw76YuDmtWbMm4hmbgKJj+cZD7ICFkDBw4EA22UJmc0hJg7LF KXldpAvccsstaCHkPfDAA5HTiL/nnnvIjpEuRlFsWIjbxoCK5vJawAyzevXqRSE4WkTRQa+KNz9F +OHNDcnnzTffRKdJUQyjOhwCIxBiW4Yeho7oWkIbrBkuxgVMmcOvYCpviRSC3nbCCSd069YNj9NA SNE4fn39/2OghvmUawMBEgRi/KsWhgY6KO3EjTMSVzhBIIYC8QRAO/G6ifdCa2qAA2oofcE6kPEd P368K4FhwpQcszlGgT0pXXxkIGMs4dJ8UNZUv8EjR45EVUUODGdUjAiIQAyBDW3zgJgUuiQCIiAC ZY0Abxj6bczDQde4ZHFQBDNFmKu/Wjhp14M33mLzo5d88HKlvch17C9zxldt8OeatUd++Vb5nbOz H0mgMRqdABCd5oLA8uXLW7ZsybpX24U7F1WoTBEQAREQAREQARHIOgH2AMNACgeDgb0PV65cifUP 6pRva4VagKUOKd3OW6m0p0WLFsuWLUP8SCWxpcFSB2+BqCb40+NlPvWM+ZYSP4TIhJ9//nlSE6h8 a3mK7WGqB2M7zMtKgY9BxM6jjz4az88p9l3JREAEjID8JepOEAEREAEREAEREIFoAis/+WzjCuWr tTm6XMUKG2z896JFAtXaHfvd6PFcypEeFt0UxYpAVgkwF8BC41RW/ma1WhUmAiIgAiIgAiIgAkUi 0KZNm5kzZ2IQFiilYsWKOEX0LcBIgIPE8M5egYz+KZZGeP+bNGlSuvtKYhNme5j5pRVWmJ2ocL2L SRm+AUurGMaIoFaWmt6xrK1WrZws0CysW1etFYF0CcgGIl1iSi8CIlD6Ccg4Iz/HWOOSxXERzNRh /vHrmj9+Wbl51R3GbrgjuVr/tWjtkh/KVapYbsv/bj+QemmppNTopEJJaYpIgA0e2ACjcePGjz32 WBGLUnYREAEREAEREAERKB0EDj/88EWLFuEvsV+/fqWjR6n3gl3QsDRq2LAhWiCbjaWeUSlFQARE oLAIyD6ssMZLrRUBERABERABEShWAuheAekLbaxYW6DKRCAHBNg8DOVV9mE5QKsiRUAEREAEREAE CpUABlKF2vQit/vy9UeRi1EBIiACIpDvBP5nu8J8b6zaJwIiIAIiIAIiIAIiIAIiUGQCOEtEEtt0 002LXJIKEAEREAEREAEREIG8IPDEE09Mnjw5L5qiRohA7gncfffdn332WVbqwU3o6NGjs1KUChGB /CcgPSz/x0gtFAEREAEREAEREAEREIFsEvjtt99+/fXXwB4b2axAZYmACIiACIiACIhAMRL44osv zj333BzZvn///fd7/f8xYcKEondrzZo1w4cPT1eBYIuvFStW/Pnnn5988gnvcq4ZH3zwAX4O2frL xRRnYPz48fRl+fLlqVdK9wcPHnz00UfT7CLyXLt2LTRY6UUDuAf8Ntx5552UP3XqVD8yUbhjx442 wldeeaWfhq5Z/D777OPHJw1ngGX+/Pk9e/Y88MADGzVqRI+SVkHXrr322qTJUknwyy+/nHnmmT/+ +GMqiZVGBAqdgPSwQh9BtV8EREAEREAEREAE8prAsmXL3n77bb4JWcD4+++/53Vby0zj1q1bx2e2 9LAyM+DqqAiIgAiIgAiUcgK33nprvXr1Dj300BT7efvtt2+77bYpJt5mm2369+9//fXX8zaLcpBi rphkEydOPPvss08++WTek2OS+ZcQfurWrfvOO++8++679HT16tXuKjLGjBkzFixY4GIsgKxywQUX BCKze8or5SmnnEJfnn322dRLHjNmzGWXXdagQYPzzz9/1113TT1jOOXYsWMPOeSQv/7666abbrrk kkv8BPPmzQNLiuPVpUsXhhg9dfHixX4h3FHE83f27Nl+fHw4MyxXX331P//5z7Zt25533nk4No+v gqvdunUbN27cxx9/nDRl0gQMYqVKldhDLmlKJRCBUkBAelgpGER1QQREQAREQAREQASyRgA3eqyC 5BvsxhtvDBfaokULu8TnJYHIY+edd7aMfE/ycVWlSpWDDz74mGOOodg6deqwyjJcrGKKmQBrilet WlW+fPlirlfViYAIiIAIiIAIiEDWCfDOOWLECCSW1EtGQcHQKsX0uJhu3bo19kwppk+aDEGoevXq tOGll15KmtgSsLyMt3SEGTY5Qw/zxbz33nuPNNj3BIqig1QRiMzuKQ4qV65cWbNmTXSp1Eum12h1 SJKdO3cuoh4GDZigY73++uuHH3643wawAPmII47wIxOF+VphiLfbbrtAAr5riEeJDMTHn2aAhcFl +SCSHqoYWPjIiq+Cq4cddth+++0HxqQpkybYZJNNLr744gceeMDXWZPmUgIRKFAC0sMKdODUbBEQ AREQAREQARHICYFy5co99thjfFWyzBb3I34djz766KRJk/bcc8/rrrvO4qtVq3Za6DjhhBO4yrcx swasFT3yyCP5uOJTrWXLlnibSXcBqd8AhbNFgG9d/CWyDjRbBaocERABERABERABESgpAlhNmVbk NwApqF+/fk2bNsUgvlatWrfccotdHTRoUP369e+//34shwhwnH766VyaPn06YWQnV8gVV1yBFuJO IwPUMmDAgL333nuLLbbA4AnDr8hkfiQ2+mzXhIM+vPmlIiMNGzasefPmF110ERrJ8ccfz3v1okWL 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 Llq0qGfPnuZMz79U6sPsRIWlUePGjdPVAks9mbztYFpab3wv9EUQz0dXSxkB+QQrZQOq7oiACGSB gFzJZQFiDorQuGQRqmBmAHPshn9/YLf+a1EGeQs6y/fff28bGwScxnDKdguRXWNXgxUrVnBp4cKF ffv2feKJJ2x/BWLY3YFdxPr377/ttttG5lVk8RBgbwM2DGcnici9MYqnDapFBERABERABESgdBNY smQJjrIxW+fABTcWVAhj7ObFBk68RrL7VOnuvnonAiIgAiKQhwSkh+XhoKhJIiACJUxAUkEJD0CC 6jUuCcBkEi2YGVArs3pYBqwCWX799Vc2VGBCZIcddth1113Lly8fSKDT4ieAK8sjjjiCrQKuuuqq 4q9dNYqACIiACIiACJQpAosXL2br2bfWH7yE0HccaLdu3bpMQVBnRUAEREAE8oGA/CXmwyioDSIg AiIgAiIgAiJQaglgE8ZCYI5S28MC7FiFChXYZuOXX34pwLarySIgAiIgAiIgAvlOAGuwiRMn4k7g xx9/ZEeucuXK1a9fH/swNvTafvvtH3roIYlh+T6Eap8IiIAIlFICG5XSfqlbIiACIiACIiACIiAC IiAC0QQ22WQTNn5fs2ZN9GXFioAIiIAIiIAIiEDKBH766afJkydPm/bf3XYfffRR9qPCN8AZZ5zx 6aefsmVpq1athg8f3qRJE/xpt2nTJuWylVAEREAEREAEsklA9mHZpKmyREAEREAEREAEREAERCD/ CWy66absab927dr8b6paKAIiIAIiIAIikLcExo0b16VLFzaOrVevXs+ePV07e/To4cJ4SWzZsmWV KlXwlLj77ru7eAVEQAREQAREoPgJSA8rfuaqUQREQAREQAREQAREQARKkgD2YTgs+v3330uyEapb BERABERABESgQAigeD311FMfffTRxx9/vN9++w0dOtQajgtELMN23nln9ieO7Ao7h7Vv337AgAGn nHJKZAJFioAIiIAIiEBxEpAeVpy0VZcIiIAIiIAIiIAIiIAIlDyBjTfemJ081q1bl5WmYGr2119/ ZaUoFSICZY0AM8j//ve/y1qv1V8REIF8JsAz/csvv0T3+vnnn88991xr6qxZs9gMDCMw/B82atTI tX/XXXd14cgA7xufffYZG5dGXlWkCIiACIiACBQzAelhxQxc1YmACIiACIiACBQkgertT9ggwbrX guyPGl22CTA5xWzXH3/8kRUMFMWRlaJUiAiUNQKJLCrKGgf1VwREoAQJrFq1yulVKGF169atXLky f/1dvg5Zf2TQyKpVq2aQS1lEQAREQAREIEcEpIflCKyKFQEREAEREAERKFUEGj49qFT1R50p2wTQ wzbbbLNs6WFlm6V6LwIiIAIiIAKFR4B3gD59+mAExrHlllvOmTPH+lCtWrXvvvuuUqVKhdcltVgE REAEREAEUiAgPSwFSEoiAiIgAiIgAiIgAiIgAqWIACYpHNLDStGQqisiIAIiIAIiEE1g2bJlH3zw wSeffIL0NWzYMLwck449RDfddNNOnTphB+b7PEQbiy5FsSIgAiIgAiJQKghIDysVw6hOiIAIiIAI iIAIiIAIiEDKBGzHrz///DPlHEooAiIgAiIgAiJQAATWrFnDXl977LFHxYoVrblNmzbdcccd99tv P1wemhhG/BZbbIF9WAH0R00UAREQAREQgawSkB6WVZwqTAREQAREQAREQAREQATyngDTYZtssons w/J+oNRAERABERABEUiVwDXXXDN69OhFixYhhr322mtOD5s3b16qRSidCIiACIiACJR2AtLDSvsI q38iIAIiIAIiIAIiIAIi8L8EcJZIxL///e//jc7O2bp161IsefPNN89OlSpFBERABERABMoMgY8+ +mjSpEn4P+S45557mjVrZl1v2bLlOeecs/vuu7NLaJmBoY6KgAiIgAiIQHoE9IxMj5dSi4AIiIAI iIAIiIAIiEChE1i/fdiGKapW6XZ2//33r1evXtJcTOd9+umnSZMpgQiIgAiIgAiUWQI//fQTz0qO +vXr4/bQODz//PPEH3zwwZ07d27UqJGDgx7mwgqIgAiIgAiIgAhEEpAeFolFkSIgAiIgAiIgAiLw PwSmNj+Z80OmPPs/sToRgcIkYPZhOdo/jJXpI0eOXLFixQ8//IDLpgChzz//vEqVKltvvXXbtm0D l4r/dPjw4bfddhv14kCS3Vay0gAKnD9//kMPPZSV0lRISRFgWrlTp06nnXZaZAOOP/74o4466rLL Lou8qkgREAERyIwAW3/9/PPPVatWtex9+/a966679l1/OCMwLhGfWfnKJQIiIAIiIAIisJEQiIAI iIAIiIAIiIAIJCWw/M1p/EuaTAlEoCAIoIehAOVIDzMCb7/99p577vnxxx/7QNCciHzzzTf9yBIM H3roof379+fv7NmzU2/Gl19+CT22ZonMwtVsSWuR5WcQGd/gDAosC1nee++9b7/9NlFP8VH2zTff JLqqeBEQARFIi8Bbb73Vpk2bOnXqbLvttuPGjXN5u3btunLlynfeeYc1FnvvvbeLV0AEREAEREAE RCBjArIPyxidMoqACIiACIiACIiACIhAARPIkb9EI3L00UdjBzZixIg77rjDMcJurHLlyq1atXIx JRvYef2xcOHCtJrx1/ojEb2HH344rdKKIXF8g4uhAYVYBb7ICrHZarMIiEA+E/jll18mTJjAmgn8 H2L01adPH2stayzOPPNMYpDENt54Y9cF5DEXVkAEREAEREAERCArBGQflhWMKkQEREAEREAEREAE REAECoxAIkUnK90oV67c6aef/tRTT7laUGWefPJJHNBtsskmqVSxdu3a6667Du+Lm222GX4X8W1o ufBGiKK2zTbbVK9e/cILL1y1ahXxWGuxaRmWXswe3nzzzbvtthvbmM2YMYNLuG1k25Ubb7yRqcaK FSuecMIJS5cuTdoA1uNTGulr165NXrOlmzt3LkXhK4/sF198MWEOZyd05513Nll/nHPOOX75kQ0m wQUXXHD55Zfzd/vtt2/evHkigzO/KMLz5s078cQT0RorVKhw2GGHzZkzxyLpF5Gbb7553bp1hw4d arniGxzZRzK+//77DRs2LF++POX36NHDebZct27dlVdeWatWrUqVKnEJGymrxf4ecsghQ4YMufTS SxkXRuH++++fPn06fLAUdMmuuOKK1q1bu9PIQGQt3EUHHXTQgAEDXJYnnniCIWZymZgff/zxrLPO ol78cJ500knfffedS8bNcOqppyLENmjQYIsttsDJobsUbrBdQsq1cUTNdYkJ3HvvvTvttNN2222H m0TftpIbm4ZhukH51DJx4kSX6+WXX8bmA1wAOeaYY/CE5i4pIAIiULoJ8CuBf+AXXnjh6aefdj2d OnUqP0e///57u3bt+PF38QceeCAxPOl8McxdVUAEREAEREAERCCLBKSHZRGmihIBERABERABERAB ERCBAiCAv0QO5vFz2lYkisWLF0+ZMsVqYR5wwYIFZ599doqVslj+7rvvRmBAVKMo87LIDCNyBb7s rrrqKpSGxx57rEuXLhTIdmX4ZjzyyCOZT+zdu/f5559P726//XYu/fbbbx999BG7raBvIedMnjwZ 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 4yh7/VaPRUAEREAEckVg1apVjz/+OLoXR4UKFUaNGmU14acX0eu4447j78477+yq33X94U4VEAER EAEREAEREIGcEpAellO8KlwEREAEREAEREAEREAE8pGAiWG4TMzHxqlNIiACIiAC+U0Ad7sTJ06c N28euhda19ChQ629S5cu/fTTT3fbbbcjjzyybt26rhPIYBzuVAEREAEREAEREAERKBEC0sNKBLsq FQEREAEREAEREAEREIESJoAYJj2shMdA1YuACIhA3hP47LPP0L04vv/++9tuu83a++OPP9511111 6tRB+qpXr57rBLZfgwcPdqcKiIAIiIAIiIAIiEBeEZAellfDocaIgAiIgAiIgAiIgAiIQM4JOOMw 6WE5Z60KREAERKBACKxcuRLR68v1x7XXXmut/u2331q3bo3uxbHvvvu6rrC/12uvveZOFRABERAB ERABERCBgiAgPawghkmNFIGySGDhwoUbbrhhjRo1Ntpoo7LY//zoM/DzamsZbon8APN3K2iM5pHz ZzjUEhEQgQwI/G0dJn+JGYBTFhEQAREocAKLFi2av/5o3779lltuab3BnyEqV2BDr80222zu3LkF 3l01XwREQAREQAREQAT+Q0B6mG4FERCBvCMwZMiQnj17sj7x999/r1279sCBA9l4ObKV1atXf/rp p5ElTj75ZNx3RKZJN5IPwrfffrt+/fqRGdHnRo4cedhhh0VedZF33313u3btdtppJxdToAEzIIhs PNjzSiqLbGQRI+P7yNUilq/sIiACIlCCBPgRy5YeRlEcJdgXVS0ChUtA/3cKd+wKouV8UpnuxffL NttsY23eY489Vq1atcv6Az3MdeS7775zYQVEQAREQAREQAREoFQSkB5WKodVnRKBAibw4IMP3njj jQ8//PCxxx77888/33rrrW3btv3444/5bAv3yibyNt544ywKM/FF0by999473JJADM70DzjggFKg hwX6pVMREAEREIHSRIDHaPxTL8XOysgsRVBKJgIiIAI5IsA6wgULFnz11Vds5YWNl9VyxBFHTJs2 zXSvQw45xFXNtxVWX+5UAREQAREQAREQAREoOwTkhazsjLV6KgIFQIBZOSzD+vTp06ZNm0033bRy 5cp33nlnjx49zPaL3ZurVau2+eab77fffp988kl8f3BnX7duXVZBUhS7PZP4X//6F9+HW2yxRdWq VQcNGmTZx44dS2nly5dv3LjxzJkzLXLo0KFVqlSpVKlS9+7dA7UgdPGp+cYbb5x00kldu3bdfvvt d9xxx1deecVPRi1Lly4988wzqYWURx11lF394osvqIvw5ZdfThU0jOO6666jv82bN6cNhx56aLas 3Pz2KCwCIiACIiACkQSyZR8WWbgiRUAEREAEsk7gzz///PrrrydPnvzNN9+4wk877TQ+JfjouP32 2zH8cvHPPffc6tWr+W4aM2YMH1YuXmKYQ6GACIiACIiACIhAWSMgPaysjbj6KwJ5TWDx4sXYhLVo 0cK1sly5cshFzZo1mz59OsLYLbfc8u6772677bYDBgxwacIBJKsTTzzx/PPPHz9+PE5Czj77bNKc ccYZeEHEF2Lnzp1RodDe2Csa4zOOCRMmIJJ16NDBipo0adKoUaOQ36hl1qxZfvlsMc1XJd+Zo0eP JvDSSy81adLkqquu8tPgLJEv0i5duvBRSkrWadrVX3/91Zzv8/l6zTXX4B7n4osv/vbbb6norLPO Qpljy7TBgwf7RSksAiKQPwSqtz+heofW+dMetUQEik6AeVWOopejEkRABERABLJL4I8//kD3mjJl ivuUoHy+HVjbx5dR7969ly9f7mq8995716xZg19EvmKwBnPxzkGii1FABERABERABERABMo4AflL LOM3gLovAvlFYNmyZTQIw6xws7beeusnnngCTYs06GGWMpzMYtjia//992dTMU5vuukms7u69tpr Tz311AoVKrz33nuIZL/99ttTTz3VoEGDvn37koxNy4YNG8aXJGGcNOJhnwOlig/RffbZx4r1/7LN GOZfGKthQ+YLeKThlKtNmzatU6fOnDlz/FwuvNtuu73wwguc0lQEufPOO48wAf+L1yVWQAREIB8I NHz6P3al+dAYtUEEikjg7/2+srd/WBEbo+wiIAIiUGYJrF27liVxLObD58See+5pHK6++ur777+f 5XpspXzHHXfsvPPOFo9XeeI32WSTAC48WwRidCoCIiACIiACIiACIhBJQPZhkVgUKQIiUDIEatas ScWLFi3yq8dIC18fXHrnnXf4UERJQtDyE4TDrI586623aqw/8JWPKRi7Q7OaEqUKLQ2fh5YFrcsc GHKKJ0ZcNZKGsPvmRNZKtHDePDeSGFOwRGmslsi/OEh08a46itIWLA6LAiIgAiIgArkm8Ld1WAnZ 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 gAIKKKCAAgoooIACCiigQB4FjIflEdemFVCguAR233332267jT7/8ssvfL399tu7du1aXEOwtwoo oIACCiiggAIKKKCAAgoooIACCiiggALJAmXl5eXJW92igAIK1EGBKVOmdOzYccaMGQ0bNvz999+b NWv22muvtWrVqg5SFOaQy8r8nVWYV8ZeKaCAAgoooIACCiiggAIKKKCAAgooUOgC5ocV+hWyfwoo UGMCLVu23GijjUaNGsUZR48evcEGGxgMqzF8T6SAAgoooIACCiiggAIKKKCAAgoooIACCozv0ov/ 8uFQPx+N2qYCCihQpAKHHXbY8OHD6fzdd999+OGHF+ko7LYCCiiggAIKKKCAAgoooIACCiiggAIK KFCMArPHTchTt517Kk+wNquAAkUp8PPPP7do0WLOnDkrrrji9OnTl19++aIcRol22vkSS/TCOiwF FFBAAQUUUEABBRRQQAEFFFBAAQX+K/BEWQtK3cun51zE+RJzTmqDCihQxAIEwLp3784AunXrZjCs iC+kXVdAAQUUUEABBRRQQAEFFFBAAQUUUEABBWICxsNiGBYVUECBJZYI0yQ6WaKfBQUUUEABBRRQ QAEFFFBAAQUUUEABBRRQoGQEjIeVzKV0IAookBuBzp07jx07tkuXLrlpzlYUUEABBRRQQAEFFFBA AQUUUEABBRRQQAEFalugfm13wPMroIAChSVQv379nXbaqbD6ZG8UUEABBRRQQAEFFFBAAQUUUEAB BRRQQAEFqiFgPKwaeB6qgAJJAvXq1SsvL0/a7AYFciNQVlaWm4YKshVGt2jRooLsmp1SQAEFFFBA AQUUUEABBRRQQAEFFFCguAWMhxX39bP3ChSaAMEw42GFdlHsT7EIlHa0r1iugv1UQAEFFFBAAQUU UEABBRRQQAEFFChJAeNhJXlZHZQCCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgooUGQCzXp3WyI/ c0SVmclRZJ8Fu6tAYQuQ4OJPlcK+RPaucAX89inca2PPFFBAAQUUUEABBRRQQAEFFFBAAQWKXKBe kfff7iuggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiQTsB4WDod9ymggAIKKKCAAgoooIAC CiiggAIKKKCAAgoooIACChS7gPGwYr+C9l8BBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUCCd 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 yy4jR47M34l+/fXXe+6557HHHqvSKcaMGXPYYYe1b9/+rLPOqtKBOan8+uuvb7fddt99911OWkto 5LXXXgOE13333ff5558n7E3zFslbbrllt912g+W5555LUzNPu4YMGXLMMcfkqfHQ7Kuvvsq3z0UX XfSvf/1rwYIFWZ+Lb7SLL774/vvvz7oFD1RAAQUUUEABBRRQQAEFFFBAAQUUUECBIGA8zE+CAgok CowbN+7uu+9u1qxZwo5ffvmFu/wnnnhi/fqJSw8S73nwwQd79ux51FFHleVndlcibWnCGG+++ebX X3+d0OEcvh07diyRrV69ev3www8ZNjt//vzu3bvPnj2b4OKuu+6a4VFVqkYgql69ekTdKjzqp59+ IiRG/KnCvdXceOeddx5++OGnnXYaF2W99dbbeOONJ02alEmbjz/++Mknn7zFFlscffTRrVq1yuSQ qtZJz8LeDz74oKptZlifXK4TTjhh2223veGGGx555JEDDzwQqAyPTa620kor8am77LLLaiXGnNwf tyiggAIKKKCAAgoooIACCiiggAIKKFC8Aok3tYt3JPZcAQVyJTBgwACa2mGHHRIa5M4+8yUee+yx Cdv/+OOPZ599dtCgQURHEnbl8C2RhjTrHRL7yeG5kpsiikOAkIkiR40aRYgiuULylueff/63334j F6p58+bJe3OyBRBeqYIlXbt2/f3333NyogobWXHFFWfNmsV1eeONNzp37nzhhRc++uijFdaMbwSQ 0CazbsY35racnuWOO+7I7enirZGkyBW/8sorzzzzTLZ/+OGHc+fOjVeoapnYIUmZfPx69OhR1WOt r4ACCiiggAIKKKCAAgoooIACCiiggAKRgPlhEYUFBRT4rwDZM0sttdQaa6yRIELeGGlAK6+8crR9 zpw5bdu2JdeHXChSx0I5hGf69u17zjnnhJpTp07dcsstSeHibTjkxhtvZCo/AipkF02fPj1qkAWT 9t5779VXX3255ZbbfvvtP/roI3axhZYJLRBuocDrrrvuig5h5r2/LX6NGDEi2kjh4YcfbtOmTaNG jTbaaKMoRyf92eOHx8uM6KmnnurTpw9T/D3xxBPxXRWWSZWjk+QJsXf33XenfPrpp4eaqVg4BEbS 8jbYYIO11lrriiuuiK8aRaYRMaRll122SZMmZJvR1CeffEKze+21F+Xjjz+eMq8ZM2aEs/znP/8J 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 408NG69U8x0jL23KsLtW6fy3lbZsU/Nn94wKKKCAAgoooIACCiiQucDEA05Yoqys/cibMj8kw5rG wzKEspoCdVGASMkVV1xxzz339OzZk9v0+V4hrFLiiRMnkkbz8ccfV1qz9Cr8/vvvrVu35lpst912 OR/dP//5z8suu+w///nPUnX1ielBgwZNnjx5xIgRObfNvMEFCxawohvfccstt9xZZ53FhIpLLrlk 5odbUwEFFFBAgYIVWDj7x+/HvLJm7+613sNFCxeywBjdiOJztd4lO6CAAgoooIACCiiggAI1JuD6 YTVG7YkUKCYBllNi9rZNNtmE5aY++uij22+/vdaDYfA99thj++yzTzE55q6vXAKy4vIRDKOPffr0 2XjjjVkKLnf9LbKWTjvttOeee+6DDz6oxX4TjDzyyCP5dhswYAAJma1atRo2bNj8+fNrsUueWoG6 JsDMwDxywcMBdW3gjleBvAr8+tU347ftsXTzPC4Vlnn/QzCM+t8+MebPX3/N/EBrKqCAAgoooIAC CiigQAkImB9WAhfRISiQS4Gvvvpq6NChJAwdddRRJKk0aVJzSztUOgzic3fddRdzylVas8QqkDlE dGT06NFt2uRrhh9mxWRxsgceeCBPIbfCvyLXXXfdyy+//OijjxZIV9944w3WinvxxRf79u3Lsnmr r756gXTMbihQAgJEmqcufi299NI77bRTGBEJmvziW2uttZo2bbrjjjuWwDAdggKFINBw1pz1h4+e ufWm32+9WSH0J+pDk1ffW/HjLz89Yi+mYQkbeR4l2mtBAQUUUEABBRRQQAEFSlLAeFhJXlYHpUA2 AtOmTRsyZAgRkWOOOYbZEVdbbbVsWsnbMZ9++inrKhGuI2Utbycp0IZZWerJJ5986qmn8to/4m0n nHDCpEmTmK8vrycqzMYJOrKKGJ//rbfeunB6OGXKlKuvvpr4NNMnnnHGGXVz5bzCuRz2pOgE5s6d G+JezD665557hv4//vjjBxxwwDqLX7179z788MPDdpLDCI/xK2bgwIF77bVX0Q3WDitQgAKL5v/6 TZcDV7rwpGX33rkAuzf7gmvqt2i6/FH7l9Vfkr+yjIcV4DWySwoooIACCiiggAIK5FbA+RJz62lr ChSlALcLjz322LZt2zZu3Jiw0+WXX15owTBYWTrrwAMPrIPBsD///JOMvfPPPz/fn6099tija9eu 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 tfLx5x7YWA1EQAREQAREQAREQAREQARiT0B6WOwZagQR+JfAlClTqlev/sEHH/BAPGHChP+eUEkE /kvg+vXrq1at4m75b7WO/JsAkZTGjh3bv3//gwcP+vdKZL0IiEBUBAYOHBjlT/fcuXNfe+21yD3+ /vvvfv36xY8fP/KpAKvh+89bb73lC4uaNWtWk/tb06ZN3WXPt99+O2DAAHeNFvtxMIaI3JHHOXv2 rFk7+9WrV0duEGVN6tSpife7YMGCKM96tNIZgzt16jRv3rxYmnHlypXevXtfuHDByXHuRET8M31u 1ub/cXqLnzSp1T1zgyfqnNtec9/yIp++H5o3l1V//MffFuYo/1vCXPPDSh8c8d2/9dPmrKrdYkXV xsvK1Tvw5TirPnzD1iRhmYp+3ueJI2uTF8hj1asgAiIgAiIgAiIgAiIgAiLgIQLSwzwEVsMGHQES hvW6v/3+++/PP/980K1fC44hgRUrVpQpUyZ58uQx7Kfmvk4gT548PXr0aNu2ra8bKvtEQARiSODP P//cvXt38+bN7fpFREQgTiROnNiunsNx48blz5+/ZMmSkU9FWTN+/Hh3vSdx9OhRfss4L4pEaY/z lSdOnNi3b5/z7T3XEtpok2RzjFK5jG5ex7g4u3+/B2PZOZ49ss2HDh2iS+T6lClTsvaXXnqJBpcv X47cIMqaFClS1KtXj5c5YhPs9+71GxdH/nDn8tUop4iu0hmDd+7ceebMmehGsKuP7ifo8ccfDw0N nTx5sl376A5vnDhdasIXSbNlia6BqU+cPm26R8umKfuI1SxXhxfqhu966uq+autnZ2lc16pPWbxQ nq7tCg3oVmxY/7Dm9a36HK2b53unU7rK5ULi6a9yi4oKIiACIiACIiACIiACIuBBAgk8OLaGFoGg IXD16tUXX3zx5MmT69atS5MmTdCsWwt1nQDOYRUrVnS9v3r6MIE333xz6tSpo0ePbteunQ+bKdNE QARiRgAnoUcffTRHjhx23WbMmIEa9MILL9jV860AvzG8UuzqHRzybk1sNAnbkRmKQ7O3rQ/4ctb7 G1ckRit1jCtGFzFG85rGjmd3fkAiE1SrVg2nK+e7mJbPPvssgUCXLl3qshwbkiTxnavXLo2ekurN Ns7P7ozBMYpzCMkof4ISJEiAz9zEiRMRC5PauHlFZ2rS7GH8i+7sA+vjJUyYJOw/IdOT58vNvwd2 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 1qxZ4+XlhfVihsLh06dPMX8RBodVoIyATkSDde3aFWeqQczG4WQ//PAD+uK4MnXmQBsSIAESIAES IAESIAH9JBAX+kI/J5b+WVEPSz9DeiABEiABEiABEiABEiABEkgvAeSdg66QXi/sTwLaICBFgEkF eEWyxHXr1h06dAj6U/HixYcOHYqsg6hHZBhUIshRFhYWCI2CDaS0jRs3omn9+vWlky4EgS1YsADF qlWrShNEdkR3d/fly5c7Ozt36tRJqk+1IJ8VjNu0adO0adPu3bt37tz566+/Ro0wgFgld4VKqQah bNCuIOlVr169cuXKV69elSwR77V27VoIfjj6q1KlSkFBQaIJmh/mL6S+xo0bozx58mQ0LVy40MXF BeF0sId+tmXLlsKFC6NeGkt0l48uavhKAiRAAiRAAiRAAiRAAhlMwOzTp08ZPCSHIwESIAESIAES IAESIAESIAEFAlAU8PE6PkxXqOctCeiUAHSaNP2jGMaI5cIRXMWKFbO0tNTp3NLkPDAwsGDBglLq RXX6YhUI84IUrfGBZ9Io4eHhODitVKlS0illUpOBFtK6MQx0mZw2CZAACZAACZAACSQncNDMoe2n z1+KSt6aATVXug3DN7xcPFZofay0/emv9eHpkARIgARIgARIgARIgARIgARIgAQyiwBlj8wir+fj cmPo+QPi9EiABEiABEiABHRHIC48wrKAre78Z6Jn6mGZCJ9DkwAJkAAJkAAJkAAJkAAJkAAJZCYB yh6ZSV+Px+bG0OOHw6mRAAmQAAmQAAmQgIYE/pNPXEMf7EYCJEACJEACJEACJEACJEACJEACJEAC JEACJEACJEACJEACJEAC+kqAepi+PhnOiwRIgARIgARIgARIgARMjICXlxcONDKxRXO5JEACJEAC JEACJEACJEACJEACGUGAelhGUOYYJEACJEACJEACJEACJEACqRLo37//kydPUjWjAQkYGYFly5a1 b99eYVHNmjXz8PBQqOQtCZAACZAACZAACZAACeiagKeds66HyCz/1MMyizzHJQESIAESIAESIAES IAES+A8BGxubyMjI/1TxhgRMgEBgYKCvr6/CQi9fvvz8+XOFSg1uXV1dBw8erEFHdiEBEiABEiAB EiABEjBNAnGhL4x14VmNdWFcFwmQAAmQAAmQAAmQAAmQgGERyJs376tXrwxrzpwtCeiIgLa04Q8f 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 AAmQAAmQgN4QoB6mN4+CEyEBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEtABAeph OoBKlyRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRgaAQ87ZwNbcrqzpd6mLqkaEcC JEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACRkwgLvSFsa6OepixPlmuiwRIgARIgARI gARIgARIgARIgARIgARIgARIgARIgARIgAQMicC5hp3xo4sZZ9WFU/okARIgARIgARIgARIgAeMg YJZ0GcdauAoSSIkAtnlKTUZfz/e40T9izRZoym8KzYixFwmQAAmQAAmQAAloi8BLr4vacqXgh3qY AhDekgAJkAAJkAAJkAAJkMC/BD5+/PjvTQaWLl++fPHixeHDh2fgmBwqkwncunWrSZMmN27csLOz S+tUQkJCChcuLHqVLFmy3D9X+fLlq1SpYmtrm1aHpmOfWe9x0yHMlZIACZAACZAACZAACRgWAbcw H8OasPqzZb5E9VnRkgRIgARIgARIgARIgAQygsC+fftq1qy5cePGjBiMY+gHgU+fPg0ePHju3Lka iGFYAXpdunQJhVy5clWtWrV///5Fixa9evXq1KlTe/TooR9L5CxIgARIgARIgARIgARIgAQMgIBl AaP9Oh31MAPYf5wiCZAACZAACZAACZCA6RCYNWtWnz59sN7WrVubzqq50m3btiUkJEDH0hiFq6vr rl27rK2tK1So4O7uHhERsXjx4rNnz3p6emrskx1JgARIgARIgARIgARIgARIwGgIUA8zmkfJhZAA CZAACZAACZAACRg2gdjY2O7dux88eNDe3r5+/fqVK1c27PVw9moTiIuL++GHH1asWJHOI4u6dOny 7bffHj9+/ObNm6GhoaVLl96yZQvzAar9HGhIAiRAAiRAAiRAAiRAAiRgzASohxnz0+XaSIAESIAE SIAESIAEDIVAcHBwvXr1zM3NBw0alD9//vDw8IoVKxrK5DnPdBJYvXq1s7MzkmSm0w+6//jjj2XK lBk7duyGDRuOHj166tQpFxeXv//+O/2e6YEESIAESIAESIAESIAESMAUCHjaORvrMs2Qp95Y18Z1 kQAJkAAJkAAJkAAJkIBBEIiMjKxUqdKIESO+++47xPQcPny4Tp060dHR2bJlM4j5c5LpIYDgsBIl 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 03QSBPr374+tvJJozFzV2L0PEWz3799HysrMtXKulgRIgARIgARIgARIgAQyH4G8XdsgKbw61s34 MHVQpU0SIAESIAESIAESIAFtILBr164FCxZg4yIpVZ02rIprIAENJDB48ODy5ctj7zQN9J0ukwAJ kAAJkAAJkAAJkIAmEYjxCzCwstQkj5Pta9Zk92RHEiABEiABEiABEiABEshEBLDj1MSJE1euXEkx LBNddS41oxKoVavWtWvXMqp39IsESIAESIAESIAESIAEtIeAtophuELUw7TnNuVKSIAESIAESIAE SIAEUpHA4sWLa9SoUbdu3VS0SVMkQALfR6BmzZrXr1//vrEcRQIkQAIkQAIkQAIkQAIkQAIgwHyJ vA1IgARIgARIgARIgARIQJmAt7c3dipydna2s7NTbuM5CZBAehCwsLB4+PChjY1NekzOOUmABEiA BEiABEiABEiABDSeAOPDNP4ScgEkQAIkQAIkQAIkQAKpTmDy5MnDhg2jGJbqYGmQBL6bAFIm3r59 +7uHcyAJkAAJkAAJkAAJkAAJkEByCJy0sU9ON03so6uJTtNnEiABEiABEiABEiABElAfgZs3b545 c8bNzU19U9AyCZDAtxKwtbV9+fLlt45ifxIgARIgARIgARIgARIggW8iEPPW/5v6a1Bnxodp0MWi qyRAAiRAAiRAAiRAAmlBYNSoUfPnzzc2Nk6LyTgHCXwjAScnJ2tra6i23zhO47sXKlToxYsXGr8M LoAESIAESIAESIAESIAESEAlgSv1O+Otsst3NlIP+05wHEYCJEACJEACJEACJKCVBLZv3x4bG9un Tx+tXB0XpQUEKlWqtGXLljZt2jx58kQLlpP8JRQuXNjd3T35/dmTBEiABEiABEiABEiABEhAEwkE XnLEWx2eUw9TB1XaJAESIAESIAESIAES0EgCUVFRkyZNWrlypY6OjkYugE5nDgLNmzdftGhRs2bN fHx8MseKFatEfJinp2fmWS9XSgIkQAIkQAIkQAIkQALpQqCZr0u6zJsGk3L/sDSAzClIgARIgARI gARIgAQ0gwA0hjp16tSqVUsz3KWXmZhA3759IYZBErty5YqpqWlmIGFoaBgZGZkZVso1kgAJkAAJ kAAJkAAJkEA6EjCwskzH2dU6NfUwteKlcRIgARIgARIgARIgAY0h4OXlhcgwZ2dnjfGYjmZuApMn T8ZN2759+xMnTujr62s9DGzpFxERofXL5AJJgARIgARIgARIgARIgATURID5EtUElmZJgARIgARI gARIgAQ0jADUheHDh9va2mqY33Q3ExOAgmthYfHrr79mBgbZs2dnfFhmuNBcIwmQAAmQAAmQAAmQ AAmoiQD1MDWBpVkSIAESIAESIAESIAFNIuDo6Hj+/HlIYprkNH3N9ASyZs26bdu2+/fv9+zZMy4u Trt5IAZO69eo3VeQqyMBEiABEiABEiABEtAIAidt7DXCz+9wknrYd0DjEBIgARIgARIgARIgAa0i 8PHjx5EjRy5cuBAJ2bRqYVxMJiBgYGBw8OBBPz+/fv36ffjwQYtXHBISYmJiosUL5NJIgARIgARI gARIgARIICMQiHnrnxHcUIcP1MPUQZU2SYAESIAESIAESIAENIkAImzgLiJsNMlp+koCnwkYGhoe OnTI29u7f//+WiyJYfMwKtafrzn/JQESIAESIAESIAESIAES+GYC1MO+GRkHkAAJkAAJkAAJkAAJ aBMB7Ej0yy+/YB8mHR0dbVoX15KpCEASO3LkyMuXLzt27Ih4R61cOz6qjA/TyivLRZEACZAACZAA CZAACZCAnEDerm3ydmsrr0mtso62/s9SagGiHRIgARIgARIgARIgAe0mMGPGDDc3t+3bt2v3Mrm6 zEAgKiqqSpUqUHbv3buHrcW0bMl79+7F53T//v1ati4uhwRIgARIgARIgARIgAQyFIEYvwADK8sM 5VJqOaNt/4+UWlxohwRIgARIgARIgARIIDMQ8PT0XLVq1aJFizLDYrlGrSdgZGR0//59KyurXr16 vX//XsvWi+i3ggULatmiuBwSIAESIAESIAESIAESyGgEtFUMA2fqYRntZqM/JEACJEACJEACJEAC aUdg0qRJo0aNyp8/f9pNyZlIQJ0EEBx24sSJ8PDwDh06IFxMnVOltW0PD49ChQql9aycjwRIgARI gARIgARIgARIQFsIUA/TlivJdZAACZAACZAACZAACXwjgevXr1+6dAmbh33jOHYngQxNwMDAAEkF zczMmjdvHhoamqF9/RbnnJycypUr9y0j2JcESIAESIAESIAESIAESIAEvhCgHvaFBUskQAIkQAIk QAIkQAKZhwC20R05cuTixYuRYi7zrJorzSQEdHV1t27dCvWoQYMGQUFBWrDquLg4Z2dn7I6mBWvh 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 DJDKK2YGHIv0sIAj1YAiIAIiIAIiIAIiwJvr+leWHoOgEwipxyykjAk6ek0gAglN4Pi8JZue61Fp 0ZQMJYsntC3+zK9fDH+oqY8IiIAIiIAIiIAIxAuBBNfDMICFBsNHLcAZa+PldmgSERABERABERAB ERABERABERABEUi8BHLUf7DK2rl//LL/2sU/QpPCmZ9+Dk3DZJUIiIAIiIAIiIAIiIB3AnVObPLe IHyvpghf02W5CIiACIiACIiACIiACIiACIiACCROAkQgdAQhDBEON65c2dln4KkVP1VbNy9ETJIZ IiACIiACIiACIiACvhNInT2r743Dq6X8w8LrfslaERABERABERABERABERABERABEfgXgX1DPz+7 LiRe440+eXpl+fqXDhy+f/HUf5moExEQAREQAREQAREQARFIaALKbJHQd0Dzi4AIiIAIiIAIRCKB xJkZ5cyZM9evX8+ePXsk3tJQXFNIPWbJkiW7efNmKGKSTSKQCAgUTJLytSTZdiWJnpTk/LEk1xNw xbWSpLuaJMmKJJe828DP140bN7y30VUREAEREAEREAEREIHESUD5wxLnfdeqRUAEREAEREAERMAf AkWKFMmfPz89v/zyS/YcJ0yYEOMo69atW7NmTYzNPDXYsWNHlSpVUMIKFCjgqY3b+hMnTqxcufL4 8eNur1Lp+xI8jaD6+CHA1jZ6mI44Evjuu+8effTROA4Sst2zZMnisC1NmjTR0dGOSp1C4K+//rrl llscKPiNddRYp7/evPL0pb1t33trQs5SVmW8Fc5v3WnNFRV9dvnNPw8dOnTHHXdYla4FiWHx88us WURABERABERABETADwJROcv40SssuiheYljcJhkpAiIgAiIgAiIgArEg4NhnxHEnxs4tWrRo0qRJ jM08NXjvvfdWrVrVpk2bAQMGeGrjtn7RokXVqlWbP3++26tWpS9LsBqrIALhSyBPnjy7du0KX/u9 WH7q1Cn8Rx0NcufOvXXrVkelTiGwZcsW4DhQXPrncFRap8nTpi3c++UaO5ZaNZePnbh67rx1GvDC tYt/7Bs+fkXZumvqP2MNnixVKsqHDx/OnDmzVamCCIiACIiACIiACIhAGBGIPn4qjKyNlakxb47E ajg1FgEREAEREAEREAERCB0CTz311NWrV1u1ahVskzZv3pwpU6YxY8Z06dIlsHPF2xICa7ZGEwH/ CBQsWPDcuXM7d+70r3so95o5c2bRokUdFiKHv/XWW/hCOeoT+SlAXnvtNeA4OCCXrl692lHpOE2V OZNVw0bGwrwVfqj+5K+DRpHWy6oPVGHDUx3Prv75roF9av32k2NM3nJwvd2ONjoVAREQAREQAREQ AREQgXgmID0snoFrOhEQAREQAREQARGIPwKLFy8mjKHlfTV06NC7776bGFxZs2al/vvvv8eUadOm VapUidhWx44do9CpUye39uHY8c4779AgY8aMxYsXf/rpp48cOULLOXPmUPnrr7/+8ccfFLp27era fffu3Y0bN86RI0e6dOmIoMUUFy9epFmtWrXefPNNCm+//TZ98YcgphYFKrdt29asWbOcOXPOmDHD WsL06dO5unHjxpdffpmdVhZy33334ZdmzXj58uVevXpVqFABI6tWrbpgwQL83tq2bWsaeDLD6q6C CCQ4gQwZMqCCvPTSS7///nuCGxNAAzZs2PDuu++2b9/eMSa/GOvXr3/88cdxfHJcSrSnf/75JzEz 0URdXy947LHH3njjjfPnfXX5ynjPXQ+f3Fyo54t/7j3w28iJFtI/ftl3fstOvLusGu8FtLQjM+bs fG3gT488c2Tad1bjslNHlJ08LHutKgTmtSop7N27l1C38fAqhn1SlUVABERABERABERABCKGQK6m DXI1axiM5aQIxqAaUwREQAREQAREQAREIBQIkJfrp59+OnnyJMYMGjSoZ8+et912W8OGDU+fPr10 6VK2XH/88UcuoU6RwidlypQU3O5KE4CxTp06S5YsyZYtW/Xq1dnr/OKLL1CbVqxYwSV64YWGlEXB 1c+DSrogtiFQ4dyAfDVs2DBCaX399ddXrly5cOECBqBj0czEUsNgomxNmjRp//79qVOnJsaatQR6 UUZaY0WVK1dmanKe1a1b98CBA+QlYgkPPfTQf/7zn3z58jEjslmjRo0YuWLFimaNnszgqg4RCBEC 6AoIz2i6POGDBw9u0KBB8uTJQ8Q2/8zgN2HgwIGjR49G6uPL6xikRIkSPXr0eP3115HEnn/+eTRy xGxHm8RzimsgLzHgaMsvM/LhXXfd5Vj7iy++OHnyZH7KFi5cSC4xx1W3p8nTpMlR/0H+2K+e27Bl zzvDLu0/mCx16rs/ej1f66bm6pHps4/NXnQjOvpG9JW8rZvmeryuqT84bvrZNRsz3lP8jrbNUb+s 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 3++CWoqACIiACIiACIiACIiACIiACIhABBJ4/vnnP/vss1BeGOnuCGVJDrCAGPnLL7/UrFnz1KlT ARlNg4iACIiACIiACIiACIQFAelhYXGbZKQIiIAIiIAIiIAIiIAIiIAIiEB8ELh69Wrfvn1///33 +JgsZObo1atXnz59Tpw4ETIWOQ1JkSLFxo0bcepyXvDrvFKlStWrV69YseKRI0f8GkCdREAEREAE REAEREAEgkUgV9MGuZo1DMboyh8WDKoaUwREQAREQAREILETUCC7xP4ExMv69ZjFC+bInKR+/fpd u3atVatWZC4vzqv65JNPFi9ePHv27DiPFE4D9OjRg+SLY8aMCSej42brhAkTli5dOmnSpLgNo94i IAIiIAIiIAIiEFEEok+eTp09a0Qt6X+LkR72PxL6rwiIgAiIgAiIgAgEjkDiFCrOnDlz/fr17Nmz Bw6kRvJGIHE+Zt6I6JpvBPB8KlGixPHjx1OmTOlbj0TXKjo6ulChQrNmzapQoULiWfzly5f79evX qVOn3LlzJ55Vb926tWTJkolnvVqpCIiACIiACIiACCRmAoqXmJjvvtYuAiIgAiIgAiIQmQSKFCmS P39+1vbll18imfD+e4zrXLdu3Zo1a2Js5qnBjh07qlSpghJWoEABT23CtH7KlCkWQ3s5TJcjs0UA AjNnznz00Uclhnl5GFKnTv3mm2/279/fS5vIu5QmTZqBAwcmKjGMm2iJYfv27Yu8e6oViYAIiIAI iIAIiIAI2AlID7PTUFkEREAEREAEREAEIoHAjRs37MtIlizmf/K1aNGiSZMm9l6xKr/33nurVq1q 06bNgAEDYtUx9BvbYdrLoW+5LBQBTwR++OGHZ5991tNV1RsCzz333Lx580QjFAgcPHgwW7Zs165d C6oxW7ZsGTVqVFCn0OAiIAIiIAIiIAIiIAIJSyBFwk6v2UVABERABERABERABIJH4KmnnmrWrFny 5MmDN4UZefPmzZkyZUpUWWeCjVTji0DwCEyfPj14g2vkcCeA8H/27NkMGTKEjgchT+wTTzyRIkVw ty9q165NHNGrV6927Ngx3G+i7BcBERABERABERCBuBCIylmmzrGNcRkhZPvG/LJwyJouw0RABERA BERABERABLwTWLx4MWEM58+fb5oNHTr07rvvvuWWW7JmzUr9999/T/20adMqVap06NChY8eOUSBz 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 4DaE6E5NwNepAUVABERABERABEQgPglIqIhP2ol2Lj1mifbWx2rhffr0QTMm/1OseoV1Y1KFdenS ZfXq1V5WQXhY4ijGSs45d+4ccj4BWrNmzepl5ERyiSi4OBbzXJGCMZEsmWV27tx5y5YtUVFRlrd0 4lm7VioCIiACIiACIpB4CESfPJ06e2T+izdZ4rmLWqkIiIAIiIAIiIAIiIAIiIAIJCoCxCP99NNP 33777US16r/++uvOO+/0vmRiSD722GO4eHpvZr+KX+ywYcO2bt1qr0y0ZXI3vvLKK/Xq1RszZkzA IeDUiNdvwIeN+4BkqcyVK5drls24j6wRREAEREAEREAERCB0CESqGAZh+YeFzmMmS0RABERABERA BCKHgBx3IudehvBK9JiF8M35l2kE4WR/P0FirK1cuZJ8e+XKlfuXQTpJkoR0UG3btt2+ffvatWvF w28CJKEcO3Zs7969/R7BtSN3pEGDBps2bSI2r+tV1YiACIiACIiACIiACIiA3wTkH+Y3OnUUAREQ AREQAREQAREQAREQAY8EoqOju3btWqpUKUKr1a1b12p38ODBGzduWKdBLVStWlVimFvCZDEcP358 nTp1cCZz20CVvhDIli2bXQxbvnw5QqMvHT21+fPPP5966imcGiWGeUKkehEQAREQAREQAREQAb8J SA/zG506ioAIiIAIiIAIiIAIiIAIiICTgKV1sbOfPXt2RBeC8v34449Wu8OHD1eoUOGHH36walRI KAIDBgxImTIls+PDl1A2RNK83333HZEqSS1GOEr/1oWEXKVKlccff9y/7vHZS89MfNLWXCIgAiIg AiIgAvFJICpnmficLj7nUrzE+KStuURABERABERABBILAQWySyx3OkHXqccsQfG7nxz/GByP2NB3 f/l/tV988QW5l0jr9dxzz/2vLsD/JXPYlStXYkyjFeBZQ2M4JMnTp08jRvpuDvrNgQMH7r777hi7 EGJxzpw5dqeoGLskqgYbNmwYPHjw+vXrd+/eHduFIyGfOHEif/78/LjFtm/8t0fkfvTRRwlJWrx4 8fifXTOKgAiIgAiIgAiIQPAIzE6at+HNQ8EbPwFHlh6WgPA1tQiIgAiIgAiIQMQSkFARsbc2lBam xyyU7kaSixcvdu7cedGiRT///LMvSszRo0dJkoRsEIxVfPPNN926ddu4cWOmTJmCMX7oj5klS5Zd u3bddtttPpp67dq13Llzz5s3L8bwkihnOXLkOHv2LGEwfRw8ETY7duxYzpw5zcK5EXw7AOtF5ULC TJYs/KLXIGz369dv3bp1WbNmTYR3WUsWAREQAREQARGIVAIJroetqtYYtpVXzAw44fD7F2fAEWhA ERABERABERABERABERABEYgLASKnlSlTJl26dDt27PBFDGMu0iMtW7YsLpN66rt///527drNmDEj 0YphkLnnnns2b97sCZFrfYoUKT7//PN69eohZ7petdekT5/+rrvuWrt2rb1SZQcBSwyj/urVq88+ +yzaZMuWLR03heRtW7Zs6dSp05dffukYISxOW7Vq1bRp00aNGrHGsDBYRoqACIiACIiACIhAWBA4 s3INf4JhqvSwYFDVmCIgAiIgAiIgAiIQugTy5s2r4E6he3tkWXgSiI6OHjhw4PDhw2+99VbfVxCr xj4OS4zExo0bv/766+XLl/exS0Q2K1WqFEJLrJb2yCOPTJs2rUOHDjH2qlq1KlHyYmymBoZAyZIl CTJJHEW4bd261cIyatQo3PjQk3CuCouEYZbl9sJ77723cOFCk4XOXq+yCIiACIiACIiACIQvgTon NoWv8d4tV7xE73x0VQREQAREQAREQAT8IRDKgexy5cqVMWPGnTt3+rMw9QklAqH8mIUSp/iwBf8w L7HgvFtA/L25c+dWr17d7lLjvYuuxkhg1qxZxKJEq4ixpaMBDkz4ljkqHaenTp0iPVuMzRy9dOog cP78eSThcAyT6FiITkVABERABERABERABAJLgICNDBiMHGbyDwvsndJoIiACIiACIiACIiACIiAC iYIAGliPHj3MUv0Ww+hO/D2UMMSVffv2JQpw8bLIJ554wg8xDNMslQvRy5Ol2bJls5p5aqP6GAnw ZobEsBgpqYEIiIAIiIAIiIAIiEAACUgPCyBMDSUCIiACIiACIiACoUKAQGGEn7rzzjuJQ1WjRg3y 4jgsI7dQlSpVSC9UrFixNm3a2Hd+b9y4MXjwYCJcsVnJTn2JEiVGjx5tuo8ZM6ZSpUqHDx8mNFzF ihUJLOZaQ8tt27YRsS137txp06YllxJlfCmob9KkCd1PnDhhGUNst2rVqj322GNWjQoiEC4EXnjh hV9//TUg1uIc9uabbzZo0ODixYv+DYg4N2nSJP/6qpdbAsePH+/SpQtg3V5VpQg4CJBSrnLlyseO HXPU61QEREAEREAEREAERCB0CEgPC517IUtEQAREQAREQAREIDAEoqKiEKu++eYbnE7uu+++devW tW3b1p4UZ9euXc2aNfvtt9/QolCkxo8fT6ohS6Z67bXXunfvfvDgQbSrmjVr7tmzp127dkuXLsU4 lLCffvoJr4vevXuz90fGFLc19Pr6668R2xC6SA9D4LLmzZvTPV++fHT/6quvrHUuWrSINDzodlaN CiIQFgRatmzJ92jq1KmBsrb9P8eKFSv8GPDy5ct8o2ObLsuPiRJVF/Is7tixA5Hy3LlziWrhWqx/ BCpUqMBrKPXr1+f76N8I6iUCIiACIiACIiACIUIgKmeZELEk4GZIDws4Ug0oAiIgAiIgAiIgAglJ 4Nq1a506dWI/buLEiatXr543b97GjRtx1Ro5ciTZdCzLHnnkkb1793733XfIXa1atUIbw+WLqzhD jB07FqFr69atCxYsmD17Nh2pR7Wy+lLzyiuvnDlz5uOPPzaV9hp0uJMnT+I6s337dtQC9ugLFiyI DHb16tXnnnuO9tOmTbOGMtrYs88+a9WoIAJhQYDUR3xB8IAMoLWI1nwxYztgdHR01apVkydP/v77 78e2b2S3P3DgwC+//OL3Ggnl9/333+NBi/eeYxDeD+CdAEelTkWgW7duhQsXRtoWChEQAREQAREQ AREIawLRxz1GDg/rdWG89LBwv4OyXwREQAREQAREIBIIXLhwYZPt8DtmGizWrFnDFvBDDz309NNP GzRszxGKDaHryy+/NDXs837yySepUqXilG30IUOGpEuXzlxFTuvXrx+SFb5cprHxjfjjjz/MKZ/1 6tVDPMucObPbmrJlyw4dOvT11183V1na9evXEcPYtcff4v777//hhx8OHTrEVSoR5EqXLq1MPBZJ FcKFwPTp02+55ZYgWRurGH1LlixBRZsyZUqKFCmCZE+YDstvF846cTGen8dBgwaZdwWscbg7L7/8 Mj64Vo0KImAR4JuIQzYO1laNCiIgAiIgAiIgAiIgAqFDQHpY6NwLWSICIiACIiACIpB4CeDFVcZ2 4E3lNwv8veiLv4h9BHNqLlGP1pU/f36rASENSRJGvER0ODzDcFIhbVjPnj0R1W6//fYePXrQMmnS pFZ70oBZZVOw16B4NW3alHiJBJRD68qTJw/OZzQzI+Aixm4yWgI1ixcvZsNazmGGoT7DiwAScvAM 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 iIAIiIAIiIAIiIAXAtLDvMDRJREQAREQAREQAREIOQISKkLulkSiQXrMIvGuak0iIAIRS+DmzZvE 7UybNm2yZEpdEbF3WQsTAREQAREQARGIO4Hg6WH6R1jc745GEAEREAEREAEREAEREAEREAERCGkC ly9fvnr1akibKOMinQAvMdxyyy0SwyL9Pmt9IiACIiACIhD2BKJylgn7NXhYgPQwD2BULQIiIAIi IAIiIAJhS4AcOffff39gzf/444/ZyCPxiY/Drlu3bs2aNT42zps3b/HixT01njJlClNPmDDBUwPV i0AACZw4ceLrr78mslkAx9RQoUBg1apV9913XyhYIhtEQAREQAREQAREQAREIJQJRB8/FcrmxcU2 6WFxoae+IiACIiACIiACIhCKBG7cuBHw3XzGZKm+D9uiRYsmTZr4SMf7sGZqH4dSMxGICwEettq1 a/NAJk+ePC7jqG8IEnjwwQcRO7du3RqCtsmkREUAP8X27duvWLEiUa1aixUBERABERABERCBUCAg PSwU7oJsEAEREAEREAEREAEREAERSHgCo0aNypo165NPPpnwpsiCQBPAzfTZZ58dP358oAfWeCIQ OwIpU6Z88cUXGzdu/Ntvv8Wup1qLgAiIgAiIgAiIQOIgkKtpg1zNGgZjrdLDgkFVY4qACIiACIiA CIhAwhMgwGCJEiXSpUtXsGDBLl26kDvH2IQHzODBg0uWLElYxfTp09Nm9OjRlrlDhw69++67SXCC KlClSpXvv//eukTh999/b968OZdoQOQx4o/Zr5rytGnTKlWqdOjQoWPHjlHo1KkT9d4nNR1nzJjB jJkyZSpWrFibNm1OnXIfogHfnXfffbdcuXLYT/t33nlHDmSud0E1fhA4c+ZMv379hg0b5kdfdQkL Ah06dDh9+rR+McLiZkW2kffcc8+rr7761FNPeXePjmwIWp0IiIAIiIAIiEDIEqhzYlPC2lZu2shy U0cEwwbpYcGgqjFFQAREQAREQAREIIEJrF27tnXr1vhDVKtW7fDhw6hcb731lrHptdde6969+8GD BxGratasuWfPnnbt2i1dupSrgwYNQjlDiGrYsGHZsmVXr1796KOPrl+/3lpM27Zt582bV7FixVy5 cpEerG7dukgI1lWrcPHixejo6Js3b1K4dOkS9V4mNb127drVrFkzXpbH4CtXruDDUb58eYKbWWNa BWxjtAsXLhD9bP/+/X379kU8s66qIAJ+E0iVKhVPIHqw3yOoY4gTyJEjx8SJE5Ml0/8Fh/iNShTm devWrVWrVuYv30SxYC1SBERABERABEQgfAikzp41fIyNnaX6P4HY8VJrERABERABERABEQgXAr16 9SJTDg5eP//8MzbPmjWLTzSqsWPHEqyJSwsWLJg9e/bIkSOpX7lypdUGGWzq1KkLFy7Eb4w0J19/ /TWXzMFu8ubNm+fPn4+KRky5P/74Iyoq6n8X//tfZK1t27YVKlTo9ttvp8B03ie1uj/yyCN79+79 7rvvGJxdQpSJgQMHWldNAcOYnas7duzAsN27d9eoUYMN7v/85z+OljoVgdgSwF0Sx8fY9lJ7ERAB EfCPAFETSVjoX1/1EgEREAEREAEREAER8IOA9DA/oKmLCIiACIiACIiACASYAN5Om2wHblVxnICd /f79+5tB8HfhOHr0KKfXrl0jIhwhDfPly2eunjt3jgLKFp94ffGJl5hpTCinH3/8ET8z05LPjh07 3nnnnea0SZMmFExLq4HbgvdJTRc8Nj755BMcdDhNnjz5kCFDiPT45ZdfOgb84osvcHr7+OOPU6RI wSXUi48++ojCpEmTHC11KgIiIAIiIAIiIAIiIAIiIAIiIAIiIAIWAelhFgoVREAEREAEREAERCDB CBCEsIzt+Omnn+JoCjnDUqdObQ1y6623miQleIaRQQe1rGfPng899BAuXD169KAZIhOfBEvMnDnz p59+mjt3bvKK0QZpqnDhwtY46GpWmTEp+5L7xPukZkD0ufz581uDZ8mSBQOIl+iQBnELw9uMzCt5 /nfUq1ePXr/88ovVVwURiC0Bct0hqSqtVGy5hWn7mTNnzp07N0yNl9mRR4DEnL68WRJ5C9eKREAE REAEREAEQpZAVM4yIWtbHA37+71aHSIgAiIgAiIgAiIgAglLAHHn4YcftmzIli2bVfavYBfD7CPg qkX+LYIoIjhVrlyZwIMZMmR4/fXXTZsqVaps374d7zFCKeIZNuyfg6CFr7zyimngaVj7FK5l75N6 GhkVjUvkErMPePnyZepLlixpr6Rs19Icl3QqAjESIPjn888/r7RSMYKKjAbo+qROPHTokHEzjYxF aRXhS4CXS3j/Y9SoUaTkDN9VyHIREAEREAEREIFIIhB9/FQkLce+Fulhdhoqi4AIiIAIiIAIiEDC EECIQqOKh7kXL17MROTcwiMtbdq0zIgvmtHDcI4hZCP+YV3/OaKjo8eMGUOAxHfffRdHsbjY5mVS a9gDBw7gCmZ8zqjE7YwsYoRMzJr1X4l8ixYtilD37bffWsocYhsJ0hzNrGFVEIEYCfCNOH36dMuW LWNsqQaRQaB48eJFihQhVeETTzwRGSvSKsKaAH/xEQq4adOmvI/CqyphvRYZLwIiIAIiIAIiIAIB IbCqWmPGqbxiZkBGsw+ieIl2GiqLgAiIgAiIgAiIQIQTQGRihURKNGIYZZOjCzGMkIm1a9euVq0a Shj1CE5EViSgIi5ZV69e9YOLFX3Oy6TWsMzy4YcfWqcEryNYIsZYNabw4IMPIoCRXcyqHz58eMWK FceNG2fVqCACvhMg/Oarr76K6CvnMN+hRUDLF198EXecCFiIlhAZBKpWrUrCznbt2kXGcrQKERAB ERABERABEYgjgTMr1/AnjoO47S7/MLdYVCkCIiACIiACIiACkUnAJAAbPHgwUQc5iIto/NJWrly5 ceNGQilOmDABFQpfGQSz+fPnk9SkTp06qVKlii2OTJkybdiwoU2bNuXLl/cyKa5d9957rxl8wIAB pAF74IEHdu3aNXr0aFKX9evXzzEvGc5GjBjRu3fvLVu20HHnzp1Ed+TleiZytNSpCPhC4K+//oqK isqRI4cvjdXGEwHURJRFT1dDtt7kTQxZ8+JiGEuz3kiIyzjh0jdpsqRJwu8BdEM3gp9JN6tVlQiE MgF+VG5ExM9KKEOWbSIgAiFMoM6JTSFsXZxMkx4WJ3zqLAIiIAIiIAIiIAJhQQBtydhJ1hyiIeJT 1aNHD2oKFy6MEkbmpPXr18+ZMwepiS1UFKY1a/5+FYvkOihknlyvrDHdEujUqVO3bt3Gjx9/5MgR 9AYvkxo9jAhm9erVw7Dp06czINHMkMRw/LIGN9OR7WzdunWoXzNmzJgyZUrGjBnr16/fuXPnggUL Wi1VEAHfCRCTk8P39mrplgBiWDjqYW7XEhmViU5WuZlk2c1lkXHvtAoREIFQIFAjaY1QMEM2iIAI iEBCEUid/V9pCxLKjGDMm1T/3xIMrBpTBERABERABEQgkRNgLzKU/5VFpi7ydREL0aTdunLlyv79 +wsVKmQ0p0uXLh06dAj7c+fObSX0ivsN9T6pGZ+p9+3bZxnmZVKCOtISm/Fy89Issi+F+GMW2fC1 OjsBPYp2GqFQTmx3hPVKDwuFB082iEDEEEAPC+V/yUcMZy1EBERABDwRmJ00L5ca3jzkqYHf9SG9 U+P3qtRRBERABERABERABBKWQGLbi0xY2ol2dj1mifbWh9rC9SjqjiQsAelhCctfs4tA5BGQHhZ5 91QrEgERCC8CwdPDkoUXCFkrAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIQDAJR OcsEY9hQGFN6WCjcBdkgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAglMIPr4qQS2 IGjTSw8LGloNLAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiEAIEUoSADTJBBERA BERABERABERABERABEQgQghcuXLlxo0bviwmTZo0vjRTGxEQAREQAREQAREQAREQgcRDIFfTBkmS Jg3GepPevHkzGONqTBEQAREQAREQARFIzASSJtW/shLz/Y+ntesxiyfQmiYmAo5HsUSJEvfcc09M nZJs3rx527ZtMTZL5A2++OKLvHnzVq9e3eIwd+7ca9euPfbYY1aNa8FxR1wbRFgN6112c5l/izqw 88D8cfPL1ipboU4F+wirvl21/KvlpiZdhnTdPu1mv6qyCIhAZBOokbSG9ksj+xZrdSIgAt4JRJ88 nTp7Vu9twvSq/MPC9MbJbBEQAREQAREQAREQAREIRQInTpzYtWtX0aJFc+TIYezLmDHj3Xff/eOP PwbV3HXr1uGTVLFiRU+zFCpUCBXht99+89TA7/oYp/Z75DDtWKRIkcmTJ2P8+fPnjx496lhFrly5 MmTIQOXjjz/uuBQ/p5988snSpUu//fZb+3S1a9du06ZN8+bN7ZUJXt6zZ0/r1q2XLfuX0nPhwoV2 7drxJGfNGpmbFPGM/fCewzMGzUiZKqVDDzt5+OT21dsx5thvxzJkySA9LJ7vi6YTAREQAREQARFI QAKRKoaBVPnDEvC50tQiIAIiIAIiIAIiIAIiEGkEFi1aVK1atfnz51sLQ6a6fv26dRqkQosWLZo0 aeJ98GTJgvK/P75M7d2wSL06ZcqU4sWL3/XvY9KkSQm73oMHD27ZssVhA6Lm77//7qj047R8+fLP P/+8Hx3ddnn33XfxtKtSpYr96pNPPomgOGTIEHulyn4TyJwjc7mHyuUpkscxQqMOjabum8ofGjgu 6VQEREAEREAEREAERCBMCcg/LExvnMwWAREQAREQAREIaQLEbuIIaRNlXPgT0DMWq3u4e/fuWLVX 44AQINYf+lNAhgrqIOfOnQvI+Ei/gQqxdfjw4S+//HLs2LEOw1KmTNm+fftBgwb17t37lltucVzV aWwJ3FXxrg+jPoxtL7UXAREQAREQAREQAREIRwJBeUEyHEHIZhEQAREQAREQAREIIAEcYtgS1SEC QSXAYxbAhzYgQ9WqVevNN99kqLfffrtSpUp2L5wJEyaQVipdunQFCxbs0qXL5cuXrRlJIkUypNy5 c+fLl69ly5YbNmywLjkKQ4cOJfQiGgCR4nCa+f7772kwbdo05jp06NCxY8codOrUCewUsISRmzVr ljNnTi7hxdW4cWMzIMHxevbsSXcKmTJlcjWJeHpE8yOyX/78+YlNN2/ePAb86aefHPa4Tm0asHC6 33nnndhZo0aNzz//3NFRpzESIG9WhQoV+vfvz+3j2ejXrx+31epVuXLlzz77rEOHDtyjLFmyEAKR SzT4+OOP8UZLmzZtmTJlFi9ebLVfv349nls8OTgvojNZ9RTq1KlDmE0OxCd7PY8oghOxH1OnTk38 T8utbfr06Rh26623Zs6cuWbNmtZD/uijj5YuXXrHjh3ffPMNBY5x48aZAU+fPv30009jKg9bo0aN XGNI2ue1yqtXrybCp8M5zFylkliU1tRWFxUsAqvnre5YuePS6Us/6/XZ08WffviWhztX60yqMKsB hY/afdS9dnfzZ8GEBfZLKouACIiACIiACIhAYiYQlbNMpC5f/mGReme1LhEQAREQAREQAREQARGI bwJXrlwhuRGzoiVcvHjRCpO49p8DPQw1AqkJWQthjFhwtFy+fHm9evXQ9tCN6EWEPcQn2qBnOKzH IQYR67bbbmvYsCECA21QIExaMuaKjo7Gb4bCpUuX6Ih2hVyBhrF//370DCIlIrOhLpgxubpz585h w4YVLlwYocthEpmlmjZtirhy//330378+PGMg21uXYhcp46KikLeo/19992HNrNixQrWuHHjxuHD hztWlBhOeQYccQhJLJc8efIY137y5EliGCJzvvLKKz/88MNbb72VJ08eKxQhSif1hA1ErUyTJg16 JwO+8847yGbPPPMMOha3rEGDBihPSFDco4ceeggF6/333+fpQtBCqrQMYAQeHno57GzVqhVPArom vXhaVq5ciaZFL24latyrr77K8zBixAikKYzEEsQ5JurRowcaKmValixZkk+ebXRiLKESQY44h8w4 e/ZsywBPhe3bt/NI33HHHa4NeG6pRHvj6XW9qhoInDl6ZtsP2/Zt3Xfp4qXS1UufP3V+y8otrz/+ +sQdEy3P2tRpU6dNn/b076d3rd1VvEJxcRMBERABERABERABETAEoo+filQU0sMi9c5qXSIgAiIg AiIgAiIgAiIQ3wTQDCZPnoyPF/5hrVu3tk/fq1cvdAVq2OVHGJs1axZ6GALVyy+/zPY0rjBGAEOu QMZAVFiyZIm9O2W68EnLAgUKUMD55rnnnvv6668ZBycwFALUOGQSLhlHIty/ChUqtGrVKnQpVwHm yJEjbk1Cv+nWrRsjIGsh0TEaBRQ7Cq4H8zqmZkU4qCGGTZw40cgne/bsYZyRI0c+++yz5cqVcx0k smsQmfDusq9x79695g7aKz2VkU5JC8cdKVasGJEDLT2M9twp2CKGmb7c/ffeew8XQOOVRZIt5kX6 QnziyTl79uyMGTPQpTp27IggZ54Q0xHFi0Lbtm3NqflEapo5cyaOjDicmRqri3mMTSUSHUrbzz// XL16dXwNqeTJZ3VmTNPmu+++27RpE6M98cQT1PBMcvX48eOYYRp4+ty1axfSmuujS3tczVCUUek8 9VW9IXD1ytWJOyfmK5rvSvSVVkVaHdp1aO/mvYVKFzJXOwz5W7b8YfYPfR/tK2IiIAIiIAIiIAIi IAKhQ2BVtb8De1ReMTPgJileYsCRakAREAEREAEREAEREAEREIF/EUifPj2B70wVAQ85TMg4hASE B2Qtyxusfv366GHLli1zBLWjLxoAn3iJmb5PPfUUzmEO1e1fsyZJgrfZAw884FZR8GQS+hkuZSgW RgxjQOLpcThG9nS6Zs2aX375BY3EiGE0Q6gjciNqiiMcn6cRIqyeuwZP+0FUTN/XSBhD05gQhQhp 9o6IW5YYRj1XcQ1E9MKnigNvMDQw44bFJTRXS4y0xrSP5igbYdWug1pORchUPKLGy40bTUdCFzq6 209NVENUPWMYvoOIpibUp72Za5lH1Dg7ul66evUq+h8NXC+pxk6gZOWSiGHUpEqdCi8xCiePnLQ3 UFkEREAEREAEREAERCAECZxZuYY/wTBM/mHBoKoxRUAEREAEREAEREAEREAE/p8ACboIWmido1WY UIqIYVSOGTMGNy/r6qlTp1CPcP3B+caqpICzDjrZp59+OmrUKOIQkroJRzQTOM7ezCrjW0PKKOvU UfBkkhFdHJIJYowvAgZTYDafVatWtU9nTs0le31iKCNGciP8XileUKYv0hdRDe3j3HvvvfZTc/Wj jz6yi1jEJ6QN6hFqliWeMaYlbtlHsJfNaDyo9krKPJkonURKHDhwYNmyZdE+8UgzD7OjpXVqhiJE p300I+5abdwWeMjJPIckZkGwmqEvIqrRwKpRwS0Bo4GZS7kK/i2o//XHX25bqlIEREAEREAEREAE RMAiUOfEJqscYQXpYRF2Q7UcERABERABERABERABEQg5AnYxzG4ccQU5JZmTa5KkVKlS2VtSJlET sRanTZu2YMECPMPI/sWBLEEeKUdLc+qQ0xxtPJn0119/b5c7XMq8Cx72kY344Rjc6BmefH3s3VV2 ECDxHC6DVJL+zeFYRk44e2OUUWpw1SKyor2eMk8XSbxwRjQJ4RjTCn7oaGmdFi1alDIiKME2rUoK v/76K1nNEGWJfsnpnDlz7Fcpp0iRwpFnzgyFv2OjRo0cjb2fGrkLGfWee+5xtDTaqvQwBxbXU9KD uVaqRgREQAREQAREQAREwDuB1Nmzem8Qvlf/9b8Q4bsMWS4CIiACIiACIiACIiACIhB2BIxUgIcN woN1IDYQXNGKbmcWZfQM9LOuXbuS0AsfMsQwLpE8zJO2YfkDxQqLSW21efNmey8UFPuplzLaHleN 35vVbOvWrZRJHGXVqOAjAUJNrlixgrtM1MGmTZt66YUrWJs2bYYMGUIGL1QrmNOXdHR0QYhCoezT pw8yKp84V1njoJ/hEcjBA8ZDRcFcxbMQJYysbwiuBw4cWLhw4TvvvEMv3ApR15DBiJqI8xbpzayh TIHnZ+nSpV999RXPAANSSdowMpn169ePgJlkU8PH8ZlnnjGyq6Ov4xS3wuzZs9tdJ60GZCND9pMe ZgEJaiF12tSXL12+fu16UGfR4CIgAiIgAiIgAiIgAvFAQHpYPEDWFCIgAiIgAiIgAiIgAiKQuAig LviyYCLOZcqUCV2BVE+m/Z9//knGr2rVqpEeyT4CAe5q165NveWA1aFDh9tvvx2FjGh4pqWPk9qH dS0TKZG4dugZVnjDlStXLl682LWlvcaaGh0lY8aM5C3bvXu3acBCjJRCvit7l0RSdnhxxXbVOXPm rF69+muvvUYKt27dulnd3Q47ePBgxCdkMHzFSpUqxXNlNFEGoUxqNx4tgm3iaGiNM3bsWHRKDh6k Dz/8kAIducrzNn369NKlS/fu3Zt4j8RgNI8Z8yLO4adYvHhxnkBS35nG1oDoXrhzkdyOJHnjxo2j nixfyHJ4HLZq1Qph7MEHH0RLizFgIx1xK2TJGGyeeWuKkydPTp06FWHPLQSrmQqBIlCudrkrf13Z uXZnoAbUOCIgAiIgAiIgAiIgAglFQPESE4q85hUBERABERABERABERCBCCSAvsWqcNPBQadz587G X8rTOjNkyIDewFGmTBmkBVSluXPn4kPz0ksv2ZMt0R39oGHDhhMmTEASI21Y2rRp58+ff/ToUWQS E1mReQmph4cQitSLL77oacYY67NkyYI9CDCoJo899hgyCb44SBoXLlzw1Nc+dfv27fv27duzZ0+8 izp27Jg5c+bJkydjGDJbkyZNPI0QqfXQ4PB7dSlTpsQT68iRI4hJaFr2cc6cOWM/NWWeGSQonLr2 7duHKkmOLkt2QqDCDRHfLxQvQhpafbv/c1in9gLhGRctWsR9P3jwYN68eRnQXG3RokXz5s2RS3m2 sRB5zN4LnQwPMHsNZRSyjRs3nj59mieWMJ7mO+Jo4/b05Zdf/uCDD1C/THhG0+azzz5jEMxw20WV PhLYvno7f2i8f9vf/oI7ftoxY/AMCjnz56z6+L/y/1V+rPLc0XNfefiVGk1rpM+YvnqT6sUrFPdx FjUTAREQAREQAREQgXAkEJWzTJ1jG8PR8hht/v//E4ixqRqIgAiIgAiIgAiIgAiIgAiIgHcCePMQ 543AdNu2bSPAnVs9zJ6dq1evXqhNBEh84403GBmPHPx78H1xnWXEiBEIZuQPw9GHq6gaKGTGBYfT Tp064Uwzfvx45BP0MFxn7LOY0VxrrFnsl5gdVYxQeKNHj0axY5aSJUtS6ZDorL72qZF/evToQffX X399wIABtDFx/BjN0masjpFauHbt2uOPPx7j6mgWYxsa4FPlSzOrDT5hbgMJEjLRNbWY1ctTgQeg RIkSjqvcyiJFijgqYzzN+s8RYzN7Ax45Qnc60tG1bt26bdu29ifW3kVlQyBpsqQU7F86405n1axd sHbSW5MsXBuXbuQPp+UeKufQw6hp9XqrBRMWzB87nwb5iueTHmZxU0EEREAEREAERCAiCUQf/zvu d0QeST1F24/I1WpRIiACIiACIiACIiACIiACoUkAtzD+3yRG8ePSpUuHDh0yLT0JVHFcIJ5tqCCk iSJ4I45obKPjkYabl/ET8n3w48eP411ExqmIj2uHxhDw/6/ECwpB8fDhw74DV0uLQDDuiDV4CBZY 77KbTre8ELRTJomACIQLgRpJawT877VwWbvsFAEREAEIzE6at+HNQwmIAgOYPRg2BP7/WxIQk6YW AREQAREQAREQAREQAREQgbgQwGnptttuQwZbt24dAfcYasmSJXXr1i1QoMCOHTsiXtnyD11iU1/8 oxSfvRLbHZEeFp9Pl+YSgcRAQHpYYrjLWqMIiIAXAgmuh61v9hKe/uWmjvBipH+XpIf5x029REAE REAEREAEREAEREAEIpPAoEGDSACGJFapUqWzZ89u2bKFFGXffPMNucoic8FxXlViU1/iDCzoAyS2 OyI9LOiPlCYQgURGQHpYIrvhWq4IiICTQPTJ06mzZ3XWRsS59LCIuI1ahAiIgAiIgAiIgAiIgAiI QOAILF++fOrUqfv27SO3WdGiRV944QX8wwI3fKSNlNjUl9C/f4ntjkgPC/1nUhaKQHgRkB4WXvdL 1oqACIiA7wSkh/nOSi1FQAREQAREQAREQAREQAREQAScBBKb+uJwbKmpAABAAElEQVRcf+idJ7Y7 Ij0s9J5BWSQC4U1Aelh43z9ZLwIiIAKeCSTzfElXREAEREAEREAEREAEREAEREAEREAEREAEREAE REAEREAEREAERCDsCUgPC/tbqAWIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIQNwJ ROUsE/dBQnOEFKFplqwSAREQAREQAREQAREQAREQAREQAREQARGIHwIzh848deTUC++/kCzZv96c fqfVOzdv3DQ21G1dt2ytsrGy58KZCzeu38iUPVOseqmxCIiACIiACIhAAhKIPn4qAWcP6tT/+ldO UGfS4CIgAiIgAiIgAiIgAiIgAiIgApFHgOxNOkKNQOQ9ZpGxorMnzm5eufnM8TMhuJyoiVHTP5yO duWwbcdPO7av3r52wdolU5Yc3HXQcdV+uujLRWRdWjBhgan8bcdvHat0fCz7Y80LNLc3M2UHiq8+ /oq+6xauc22pmsAScJD3Prjui3c+uioCIiACIhAkAquqNeZPMAaXHhYMqhpTBERABERABERABERA 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 AAmQQBwRCPcLiKNImmFSag7wmgRIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARI4Mcj 4BBywVg3TT3MWJ8s90UCJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACMSCQLke2GHgn K1fqYcnqcTFZEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiCBGBKgHhZDYHQnARIg ARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARJIVgSohyWrx8VkSYAESIAESIAESIAESIAE SIAESIAESIAESIAESIAESIAESCB+CPjkLhs/gRM/KvWwxH8GzIAESIAESIAESIAESIAESIAESIAE SIAESIAESIAESIAESIAEEp3Ax2dhiZ5DPCVAPSyewDIsCZAACZAACZAACZAACZAACZAACZBAohF4 cO3B6jGrLxy9kGgZcGESIAESIAESIAESIIGkRCB1UkqGuZAACZAACZAACZAACZAACZAACZAACZBA HBC4f/X+xikbU6VOZVfbLg7CMQQJkAAJkAAJkAAJkECCELBs1yyFiUl8LEU9LD6oMiYJkAAJkAAJ kAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJJDMCDiGJXF5fYevSeEJGPSyewDIsCZAACZAACZAA CZAACZAACZAACZBAIhBwcXD58PbDy9CXWHvv6r1nD50VSYzaMCqPTZ5ESIhLkgAJkAAJkAAJkEDy IZAuR7bkk2zMMqUeFjNe9CYBEiABEiABEiABEiABEiABEiABEkjKBLJbZf/4/uPXr18f3Xxkam6a I18OkW3qtPwNJCk/N+ZGAiRAAiRAAiRAAvFLgP9bMH75MjoJkAAJkAAJkAAJkAAJkAAJkAAJkEBC EnBd44rljm0/duXEldptaneb0C0hV+daJEACJEACJEACJEACSZNAyqSZFrMiARIgARIgARIgARIg ARIgARIgARIgARIgARIgARIgARIgARJISAI+ucsm5HIJuRb1sISkzbVIgARIgARIgARIgARIgARI gARIgARIgARIgARIgARIgARIIIkS+PgsLIlm9t1pUQ/7boQMQAIkQAIkQAIkQAIkQAIkQAIkQAIk QAIkQAIkQAIkQAIkQAIk8N0Ejts74s93h9ERgOeH6YDCIRIgARIgARIgARIgARIgARIgARIggWRN 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 g8vGLEN8IfTaN7dXcQjcFwjh2bmvc3aT7Cq3eKkLASSEXb36n/RHXWbFycfc3Dw8PDxOU+hMAiRA At9IILXGeq/fGJTTSYAESIAESIAESIAESIAESIAESIAESCARCOCbfWVyTyKsqMsS796+e3DrAdQL lf5PGuciSwn1AyEySRlJo1s8BhE2/E54jtw5shplxfT3794/uB29Ky0LoQYgRAvkTqn7oJkT1DvI FSLRTff94Ksn5Es9jXiaJUcWFGCUYoyWCOhehm5nk/ZM0qK6aZke6y0wx0mhlJjmNdXT14vVX+mA VmpI5kO5SMOs0Ql/6q+PHz+iORZaiJkVMFO/++bVm5CrIahjiSwoXVAkRAT1mHEaQZ4fkgiRgxi/ /ce6FsothgV//RyqV0qMdbpwGOI4BAlkq26typEr9ip/KjFrpq6Z0r4vxaNMaUdWeei8JIFvJMBf om8EmGjT+ccu0VBzIRIgARIgARIgARIgARIgARIgARIgge9MAN9A/YR62Hc+ZMoL9/L5S+SHFatY TD0xKOXB4InjTADSzvKxyyH9OvziEOfJqVJRD1OBdunSJVdX12XLlhUtWlTeGjdu3K1bt+bPny9H 4mG0adPmzJkzmNiwYcO///47HhGSyhQ/P7/ly5eDJIpPTpo0KZG3jT5wAwYMWL9+vampaSIvnXKW ox6WVJ51mqSyUe6TBEiABEiABEiABEiABEiABEiABEiABEggJRBAkUbX4a4Uw1LCs06IM+KL6fZ/ tI+fGJYQ+0nqMaOiogIDA1++fKk8yM2bN6HuKEfiYffs2XPChAnIRr137148pv+QKePHj8+RI25J h0Dn5OT05MmTTp061a1bNyG2jceB8qdQ3TQGf/r0KSSx169fa7zLQRJIUQTYPyxFPW4elgRIgARI gARIgARIgARIgARIgARIgARIgARIgAS+icCCBQu+af6XyVWqVMG/SSszDNmHqIkap7Pv27fvzZs3 c+bMyZNHtdNenOJoccau8Pr06ZNGn/r1679//17jLQ6SQEojwPywlPbEeV4SIAESIAESIAESIAES IAESIAESIAESIAESIAESiJHA8+fPW7dunS1bNisrq40bNyr9UO6vwpdXx44dlePBwcHdunXLly9f xowZbWxsDh8+LO526NChe/fujRo1MjQ0LFWq1P79+5WzNNpr1qwpX7585syZs2fP7uDgcP78eeFW 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 --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 7 Dec 2022 22:10:14 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Dec 07 17:10:14 2022 Received: from localhost ([127.0.0.1]:52487 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1p32cI-0003vK-18 for submit <at> debbugs.gnu.org; Wed, 07 Dec 2022 17:10:14 -0500 Received: from smtprelay04.ispgateway.de ([80.67.18.16]:44788) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <alexander.adolf@HIDDEN>) id 1p32cE-0003vC-5k for 59314 <at> debbugs.gnu.org; Wed, 07 Dec 2022 17:10:13 -0500 Received: from [46.244.206.168] (helo=condition-alpha.com) by smtprelay04.ispgateway.de with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <alexander.adolf@HIDDEN>) id 1p32cT-0001jw-V5; Wed, 07 Dec 2022 23:10:26 +0100 Message-Id: <e0a4caa74f558ba6574084317123fb8f@HIDDEN> From: Alexander Adolf <alexander.adolf@HIDDEN> To: Thomas Fitzsimmons <fitzsim@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <m3edtbc3ct.fsf@HIDDEN> References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <bcee30cef48498ff7beae30e5bef571a@HIDDEN> <m3o7smh62i.fsf@HIDDEN> <9cad334f4f42725f2e244c8c81528856@HIDDEN> <m31qpccl1m.fsf@HIDDEN> <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN> <m3mt80asmm.fsf@HIDDEN> <m3edtbc3ct.fsf@HIDDEN> Date: Wed, 07 Dec 2022 23:10:06 +0100 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Df-Sender: YWxleGFuZGVyLmFkb2xmQGNvbmRpdGlvbi1hbHBoYS5jb20= X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <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 (-) --=-=-= Content-Type: text/plain Thomas Fitzsimmons <fitzsim@HIDDEN> writes: > [...] > If I remove this line from message.el: > > (add-hook 'completion-at-point-functions #'eudc-capf-complete -1 t) > > and rebuild Emacs, then my recipe works, via: > > message-tab -...-> message-expand-name -> eudc-expand-inline > > The EUDC multi-selector UI is invoked allowing me to choose between > emacs-ert-test-3 and emacs-ert-test-4, and the full name and email > address is inserted correctly. This is with completion-styles left at > its default value. > > So that's one code path validated, phew. > [...] There are two ends to this, I think. For one, you are no longer adding `eudc-capf-complete` to `completion-at-point-functions` in message mode. This seems fine given that we are not there yet to make `eudc-capf-complete` the default thing to happen in 29. OTOH, `eudc-capf-complete` is now just sitting there for people to use it. The docstring, and the NEWS entry advertise it for adding to `completion-at-point-functions`. If & when someone does that, it won't work as expected, as you & I just figured, because `completion-styles` has a default value aimed at single-word replacements (such as for programming language keywords, or prose words from a dictionary), but not for more complex, multi-word replacements (such as email addresses). The `substring` entry is needed for this use-case. To make this work, I am hence attaching a patch (relative to the tip of master as of this writing), which sets `completion-style` from `eudc-capf-complete`. The modification is done when the user has not modified its value (assuming that a sensible value will have been set by the user). If you need a patch on top of the 29 branch, please don't hesitate to drop me a note. Hoping to have helped, and looking forward to your thoughts, --alexander --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-Set-completion-style-for-email-addresses-when-EUDC-c.patch From a7c5eed95321c77d4e5069a508b4b16094f4a68d Mon Sep 17 00:00:00 2001 From: Alexander Adolf <alexander.adolf@HIDDEN> Date: Wed, 7 Dec 2022 23:07:11 +0100 Subject: [PATCH] Set completion-style for email addresses when EUDC contributes to CAPF * lisp/net/eudc-capf.el (eudc-capf-complete): when the user has not modified 'completion-styles', set it to a value better suited for email address completion than the default setting (bug#59314) --- lisp/net/eudc-capf.el | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lisp/net/eudc-capf.el b/lisp/net/eudc-capf.el index e2bbd5b28b..5bd2c92441 100644 --- a/lisp/net/eudc-capf.el +++ b/lisp/net/eudc-capf.el @@ -104,7 +104,16 @@ eudc-capf-complete (if (and (seq-some #'derived-mode-p eudc-capf-modes) (let ((mail-abbrev-mode-regexp message-email-recipient-header-regexp)) (mail-abbrev-in-expansion-header-p))) - (eudc-capf-message-expand-name))) + (progn + ;; FIXME: `completion-styles' is set to a value which seems + ;; better suited for email address completion if and when it + ;; has not been modified from it's default value (which is not + ;; well suited for this purpose). This is needed until + ;; `message.el' will be updated to use completion categories. + (when (equal completion-styles + (eval (car (get 'completion-styles 'standard-value)))) + (setq-local completion-styles '(substring partial-completion))) + (eudc-capf-message-expand-name)))) ;;;###autoload (defun eudc-capf-message-expand-name () -- 2.38.1 --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 7 Dec 2022 03:14:21 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 06 22:14:21 2022 Received: from localhost ([127.0.0.1]:46834 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1p2kt3-0003h2-8Y for submit <at> debbugs.gnu.org; Tue, 06 Dec 2022 22:14:21 -0500 Received: from mail.fitzsim.org ([69.165.165.189]:55896) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <fitzsim@HIDDEN>) id 1p2ksz-0003gv-Fl for 59314 <at> debbugs.gnu.org; Tue, 06 Dec 2022 22:14:20 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org ; s=20220430; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=0Hvsfg+QdC2lqfk45YiZyk8jUU++eHcTSMmlL8rPNd8=; b=lxgnNbOhQE60uaq1TrhXQoeej/ SpJTLBaqMxiRUUqU46lVFI48402F5LpaOo7UvcEaFMLk2VeBYqShJenIS5NDabheKWzZhkfH5Wnls Fy+CBwz26dKWj8ItHkbNjRP1/BjxTxwtcIh+DDrfjjIDAvRxTtc2BcRkUTJEgzkw9BqwqaYLYyp+Q QsOXa4LCLHp+eVhLSJ2PSGHubvtqOXi1hteXEQLKGiuXB2Km0mCSZmBgcFwGmo0VSo0K7viBayHI6 80O8BdUExKh63IXhupDYZpGvqHTJ4pPWQsnAqryURKwC7cv92IYABRVjzmzLksOZ1DB0IWP3uGBmS lgjht6Ug==; Received: from [192.168.1.1] (helo=localhost.localdomain) by mail.fitzsim.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <fitzsim@HIDDEN>) id 1p2kss-00039e-UH; Tue, 06 Dec 2022 22:14:11 -0500 From: Thomas Fitzsimmons <fitzsim@HIDDEN> To: Alexander Adolf <alexander.adolf@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <m3mt80asmm.fsf@HIDDEN> (Thomas Fitzsimmons's message of "Tue, 06 Dec 2022 20:51:13 -0500") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <bcee30cef48498ff7beae30e5bef571a@HIDDEN> <m3o7smh62i.fsf@HIDDEN> <9cad334f4f42725f2e244c8c81528856@HIDDEN> <m31qpccl1m.fsf@HIDDEN> <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN> <m3mt80asmm.fsf@HIDDEN> Date: Tue, 06 Dec 2022 22:14:10 -0500 Message-ID: <m3edtbc3ct.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <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 (-) Thomas Fitzsimmons <fitzsim@HIDDEN> writes: > Alexander Adolf <alexander.adolf@HIDDEN> writes: > >> Thomas Fitzsimmons <fitzsim@HIDDEN> writes: >> >>>> [...] >>>> Looking at this now. >>> >>> Great, thank you. >>> [...] >> >> With the default value of `completion-styles`, which is >> >> '(basic partial-completion emacs22) >> >> I get no completion. But when setting it to >> >> '(substring partial-completion) >> >> as I mentioned, I get this after calling `completion-at-point:` >> ---------------------------------------------------------------------- >> To: <emacs-ert-test- >> Subject: >> From: Alexander Adolf <alexanderadolf@HIDDEN> >> --text follows this line-- >> ---------------------------------------------------------------------- >> Which I guess is kind of the expected result, as it inserts the longest >> common prefix of the two candidates' email addresses. >> >> I get the same result with `message-tab` (or just pressing TAB), btw. >> >> Actually, I think the leading "<" should not be there? After appending >> either "3", or "4" further completion attempts (using either function) >> do not provide any results. But when I remove the leading "<", and try >> to complete again (with either "3" or "4" added), I get the correct >> result (for instance "Emacs ERT4 <emacs-ert-test-4@HIDDEN>"). >> >> Thus, it seems there are two things to further look into : >> >> - set `completion-styles` to '(substring partial-completion) during the >> test >> >> - make sure the leading "<" is not inserted when there is a partial >> match > > Confirmed, adding substring to completion-styles, anywhere in the list, e.g.: > > (setq completion-styles '(basic substring partial-completion emacs22)) > > results in the behaviour you describe. We need to make this work with > the default completion-styles setting though. > > I wonder where the leading " <" comes from (a space character is also > inserted, before the '<'). If I remove this line from message.el: (add-hook 'completion-at-point-functions #'eudc-capf-complete -1 t) and rebuild Emacs, then my recipe works, via: message-tab -...-> message-expand-name -> eudc-expand-inline The EUDC multi-selector UI is invoked allowing me to choose between emacs-ert-test-3 and emacs-ert-test-4, and the full name and email address is inserted correctly. This is with completion-styles left at its default value. So that's one code path validated, phew. The next one I'd like to get working is a similar recipe (again, with eudc-capf-complete not present in message's completion-at-point-functions): HOME=`pwd`/test emacs C-: (setq message-expand-name-standard-ui t) C-: (eudc-set-server "localhost" 'bbdb t) C-x m emacs-ertTAB Then I get " <emacs-ert-test-", the same as your result, in the absence of eudc-capf-complete. This seems to be caused by misinterpreting the results of eudc-query-with-words. What is 'message--name-table' supposed to return, what is it returning, and why is its return value producing " <..." in the output? I could use your input on how completion-at-point is supposed to work here. Thank you, Thomas
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 7 Dec 2022 01:51:25 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 06 20:51:25 2022 Received: from localhost ([127.0.0.1]:46467 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1p2jam-0000fI-KW for submit <at> debbugs.gnu.org; Tue, 06 Dec 2022 20:51:24 -0500 Received: from mail.fitzsim.org ([69.165.165.189]:50804) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <fitzsim@HIDDEN>) id 1p2jai-0000fB-KD for 59314 <at> debbugs.gnu.org; Tue, 06 Dec 2022 20:51:22 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org ; s=20220430; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=DGg9MJdcoeyzqFr2VHtvbznHclugapM+GM2OdK/hPtQ=; b=R/pJNZxdYtd8GuPnJIQkP10wbt yNz1Ox6YknBeZUK1K3WN70SM25yl5ztb1HqrIYCKgFJanObLfFxDzL6xEWPK3sxpgo3YQzxUzR3u+ 2RZb/1InZnQMrjmfpcybG3kzqLCg5XCGiiAdcE6Je+2r0zsf2xUf+gMRIRHrgzTkSWupb+exlkYU9 1Acktv4V1NI7LjA9txAwDL578dtEE6nT3tlHSg/Z3unOPYiDhCxFdEuLMLNsZZf7vxOgDY+H/7fqg oEfzNABuCvFofWqPnxBlT1bZE4ZaWNdUWa+gA0icfKhd8tdgR3kYyIR7v/gsLS6f/nQXxdO9i7n0m HWaqAn4A==; Received: from [192.168.1.1] (helo=localhost.localdomain) by mail.fitzsim.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <fitzsim@HIDDEN>) id 1p2jab-00037k-FT; Tue, 06 Dec 2022 20:51:13 -0500 From: Thomas Fitzsimmons <fitzsim@HIDDEN> To: Alexander Adolf <alexander.adolf@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN> (Alexander Adolf's message of "Wed, 07 Dec 2022 00:29:27 +0100") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <bcee30cef48498ff7beae30e5bef571a@HIDDEN> <m3o7smh62i.fsf@HIDDEN> <9cad334f4f42725f2e244c8c81528856@HIDDEN> <m31qpccl1m.fsf@HIDDEN> <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN> Date: Tue, 06 Dec 2022 20:51:13 -0500 Message-ID: <m3mt80asmm.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <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 (-) Alexander Adolf <alexander.adolf@HIDDEN> writes: > Thomas Fitzsimmons <fitzsim@HIDDEN> writes: > >>> [...] >>> Looking at this now. >> >> Great, thank you. >> [...] > > With the default value of `completion-styles`, which is > > '(basic partial-completion emacs22) > > I get no completion. But when setting it to > > '(substring partial-completion) > > as I mentioned, I get this after calling `completion-at-point:` > ---------------------------------------------------------------------- > To: <emacs-ert-test- > Subject: > From: Alexander Adolf <alexanderadolf@HIDDEN> > --text follows this line-- > ---------------------------------------------------------------------- > Which I guess is kind of the expected result, as it inserts the longest > common prefix of the two candidates' email addresses. > > I get the same result with `message-tab` (or just pressing TAB), btw. > > Actually, I think the leading "<" should not be there? After appending > either "3", or "4" further completion attempts (using either function) > do not provide any results. But when I remove the leading "<", and try > to complete again (with either "3" or "4" added), I get the correct > result (for instance "Emacs ERT4 <emacs-ert-test-4@HIDDEN>"). > > Thus, it seems there are two things to further look into : > > - set `completion-styles` to '(substring partial-completion) during the > test > > - make sure the leading "<" is not inserted when there is a partial > match Confirmed, adding substring to completion-styles, anywhere in the list, e.g.: (setq completion-styles '(basic substring partial-completion emacs22)) results in the behaviour you describe. We need to make this work with the default completion-styles setting though. I wonder where the leading " <" comes from (a space character is also inserted, before the '<'). Thomas
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 6 Dec 2022 23:29:36 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 06 18:29:36 2022 Received: from localhost ([127.0.0.1]:45780 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1p2hNX-0000sF-Ny for submit <at> debbugs.gnu.org; Tue, 06 Dec 2022 18:29:36 -0500 Received: from smtprelay02.ispgateway.de ([80.67.18.14]:39196) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <alexander.adolf@HIDDEN>) id 1p2hNV-0000s9-Qt for 59314 <at> debbugs.gnu.org; Tue, 06 Dec 2022 18:29:34 -0500 Received: from [46.244.196.50] (helo=condition-alpha.com) by smtprelay02.ispgateway.de with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <alexander.adolf@HIDDEN>) id 1p2hNZ-0007en-Ro; Wed, 07 Dec 2022 00:29:38 +0100 Message-Id: <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN> From: Alexander Adolf <alexander.adolf@HIDDEN> To: Thomas Fitzsimmons <fitzsim@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <m31qpccl1m.fsf@HIDDEN> References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <bcee30cef48498ff7beae30e5bef571a@HIDDEN> <m3o7smh62i.fsf@HIDDEN> <9cad334f4f42725f2e244c8c81528856@HIDDEN> <m31qpccl1m.fsf@HIDDEN> Date: Wed, 07 Dec 2022 00:29:27 +0100 MIME-Version: 1.0 Content-Type: text/plain X-Df-Sender: YWxleGFuZGVyLmFkb2xmQGNvbmRpdGlvbi1hbHBoYS5jb20= X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <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 (-) Thomas Fitzsimmons <fitzsim@HIDDEN> writes: >> [...] >> Looking at this now. > > Great, thank you. > [...] With the default value of `completion-styles`, which is '(basic partial-completion emacs22) I get no completion. But when setting it to '(substring partial-completion) as I mentioned, I get this after calling `completion-at-point:` ---------------------------------------------------------------------- To: <emacs-ert-test- Subject: From: Alexander Adolf <alexanderadolf@HIDDEN> --text follows this line-- ---------------------------------------------------------------------- Which I guess is kind of the expected result, as it inserts the longest common prefix of the two candidates' email addresses. I get the same result with `message-tab` (or just pressing TAB), btw. Actually, I think the leading "<" should not be there? After appending either "3", or "4" further completion attempts (using either function) do not provide any results. But when I remove the leading "<", and try to complete again (with either "3" or "4" added), I get the correct result (for instance "Emacs ERT4 <emacs-ert-test-4@HIDDEN>"). Thus, it seems there are two things to further look into : - set `completion-styles` to '(substring partial-completion) during the test - make sure the leading "<" is not inserted when there is a partial match Looking forward to your thoughts, --alexander
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 6 Dec 2022 20:52:16 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 06 15:52:16 2022 Received: from localhost ([127.0.0.1]:45102 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1p2evH-00081d-Uv for submit <at> debbugs.gnu.org; Tue, 06 Dec 2022 15:52:16 -0500 Received: from mail.fitzsim.org ([69.165.165.189]:35772) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <fitzsim@HIDDEN>) id 1p2evF-00081W-3u for 59314 <at> debbugs.gnu.org; Tue, 06 Dec 2022 15:52:14 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org ; s=20220430; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=UvKJ/qKvVD+tVYBlfwbhwEjUqfljn+ex3KnG6LpJxQ8=; b=mxHq0vl01q2Gbk09/Gfk2wXG5i xY/p1lLibXVSDFV41ik94ZwIFjvf9AMqrx/1MabXrEfidsS+oJb1tE+tu2SBXN6Sv4tEpFor6OdxY WJSkFF38+FrN3s7mABGqlysLhBP9fbWuOL2paIkLN0OaZsn0BPA0upbw5n9euOsFEJohRFhPzWYVc 5fHMkFoKkOxyRmvBgMAbHWT5sCvBGGynitYWprzaKJ431PqXLCrT9exp6Kozh9KbApQlGRe+7HJVP DtVjFAd5yscYx0hdw8Zz4UQjjXfcOhBlp1brZSMOtyXvNMVhEWRZfa2pIv6yNeA+j+aUqrQNEWrTy MacVyjjA==; Received: from [192.168.1.1] (helo=localhost.localdomain) by mail.fitzsim.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <fitzsim@HIDDEN>) id 1p2ev7-0002zH-Qq; Tue, 06 Dec 2022 15:52:06 -0500 From: Thomas Fitzsimmons <fitzsim@HIDDEN> To: Alexander Adolf <alexander.adolf@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <9cad334f4f42725f2e244c8c81528856@HIDDEN> (Alexander Adolf's message of "Tue, 06 Dec 2022 21:40:58 +0100") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <bcee30cef48498ff7beae30e5bef571a@HIDDEN> <m3o7smh62i.fsf@HIDDEN> <9cad334f4f42725f2e244c8c81528856@HIDDEN> Date: Tue, 06 Dec 2022 15:52:05 -0500 Message-ID: <m31qpccl1m.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <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 (-) Alexander Adolf <alexander.adolf@HIDDEN> writes: > Thomas Fitzsimmons <fitzsim@HIDDEN> writes: > >> [...] >> The eventual message.el refactoring could work. But for now, for Emacs >> 29.1, let's focus on what's already in message.el, which is a lot! > > Fully agree. > >> In particular, I'm trying to make this recipe do something useful, with >> a minimal patch to message.el. >> [...] > > Looking at this now. Great, thank you. > While I set this up: What's your value of the variable > `completion-styles` during this test? I didn't change it, so it should be the default, which looks to be: (basic partial-completion emacs22) > Does changing `completion-styles` to '(substring partial-completion) > for the test change the result and outcome? I'll try this later today. Thanks, Thomas
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 6 Dec 2022 20:41:24 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 06 15:41:24 2022 Received: from localhost ([127.0.0.1]:45057 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1p2eki-0007tW-01 for submit <at> debbugs.gnu.org; Tue, 06 Dec 2022 15:41:24 -0500 Received: from smtprelay03.ispgateway.de ([80.67.18.15]:47931) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <alexander.adolf@HIDDEN>) id 1p2ekR-0007t2-IZ for 59314 <at> debbugs.gnu.org; Tue, 06 Dec 2022 15:41:18 -0500 Received: from [46.244.196.50] (helo=condition-alpha.com) by smtprelay03.ispgateway.de with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <alexander.adolf@HIDDEN>) id 1p2ekg-0000MZ-I8; Tue, 06 Dec 2022 21:41:18 +0100 Message-Id: <9cad334f4f42725f2e244c8c81528856@HIDDEN> From: Alexander Adolf <alexander.adolf@HIDDEN> To: Thomas Fitzsimmons <fitzsim@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <m3o7smh62i.fsf@HIDDEN> References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <bcee30cef48498ff7beae30e5bef571a@HIDDEN> <m3o7smh62i.fsf@HIDDEN> Date: Tue, 06 Dec 2022 21:40:58 +0100 MIME-Version: 1.0 Content-Type: text/plain X-Df-Sender: YWxleGFuZGVyLmFkb2xmQGNvbmRpdGlvbi1hbHBoYS5jb20= X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <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 (-) Thomas Fitzsimmons <fitzsim@HIDDEN> writes: > [...] > The eventual message.el refactoring could work. But for now, for Emacs > 29.1, let's focus on what's already in message.el, which is a lot! Fully agree. > In particular, I'm trying to make this recipe do something useful, with > a minimal patch to message.el. > [...] Looking at this now. While I set this up: What's your value of the variable `completion-styles` during this test? Does changing `completion-styles` to '(substring partial-completion) for the test change the result and outcome? Cheers, --alexander
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 2 Dec 2022 02:50:58 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 01 21:50:58 2022 Received: from localhost ([127.0.0.1]:43457 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1p0w8g-00051O-1f for submit <at> debbugs.gnu.org; Thu, 01 Dec 2022 21:50:58 -0500 Received: from mail.fitzsim.org ([69.165.165.189]:48874) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <fitzsim@HIDDEN>) id 1p0w8a-00051I-Rc for 59314 <at> debbugs.gnu.org; Thu, 01 Dec 2022 21:50:56 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org ; s=20220430; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=xieO3t2UwnGPhyEaonKd6NbOV41e4u5Yn1Ecnly7+Bg=; b=fSdDThocpRgEL/kSJETlxFYT3u J/Yk19QHOx2KAHfzBmflCag+74S+s2NO9ZuGpguZahP6ktEeU8KkEfQ9I5UJuz7x7jjvcsCtiviKy rD3LTaHoemp9hvf2FrWru10Ty4uYePjqeMYIFBrVemN7Dwjw3AgrhoYoN/dzMe97WQCP65E7wQs5q Z52MsWSQvOkr4t128moQpEk7PzKBF4jzrxvm0ZqJRB0RgI3OTibVxyfx1rr0u1KMdx3ebaisa/Y3T EntYvOnYdbPcLM5/49BYpldAmCmCpWN7rn2kIQM1e/RUUokV+fawoGZg70OKFamHX4AxuVJFb5Hy8 y7h8ij4w==; Received: from [192.168.1.1] (helo=localhost.localdomain) by mail.fitzsim.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <fitzsim@HIDDEN>) id 1p0w8T-0000NI-Jw; Thu, 01 Dec 2022 21:50:46 -0500 From: Thomas Fitzsimmons <fitzsim@HIDDEN> To: Alexander Adolf <alexander.adolf@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <bcee30cef48498ff7beae30e5bef571a@HIDDEN> (Alexander Adolf's message of "Thu, 01 Dec 2022 16:48:20 +0100") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <bcee30cef48498ff7beae30e5bef571a@HIDDEN> Date: Thu, 01 Dec 2022 21:50:45 -0500 Message-ID: <m3o7smh62i.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <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 (-) Hi Alexander, Alexander Adolf <alexander.adolf@HIDDEN> writes: > Hello Eric, > > Eric Abrahamsen <eric@HIDDEN> writes: > >> [...] >> In fact this whole message-mode thing is an impossible tangle, burritos >> within burritos, and it would be great to get rid of it altogether. >> [...] >> So I need to clobber `message-expand-name' altogether. >> >> And EUDC having a function on `completion-at-point-functions' is >> wrapping yet another burrito outside the existing burritos, because now >> EUDC has a completion function both inside and outside message-mode's >> own completion machinery. >> >> In fact the docstring of `eudc-capf-message-expand-name' makes it sound >> like it thinks it's being called as part of `message-expand-name', but >> now it isn't -- it's being called as part of the capf machinery. Or >> rather, it could potentially be called in both places. >> >> I think a half-stick of dynamite is the only real solution. >> [...] > > Perhaps we can be slightly more CONstructive that this. ;-))) > > I am preparing a patch to message.el which refactors > `message-completion-alist` along the lines of this: [...] The eventual message.el refactoring could work. But for now, for Emacs 29.1, let's focus on what's already in message.el, which is a lot! In particular, I'm trying to make this recipe do something useful, with a minimal patch to message.el. 1. Build Emacs master tip. 2. Install and configure BBDB: mkdir -p test/.emacs.d cat >test/.emacs.d/bbdb <<EOF ;; -*- mode: Emacs-Lisp; coding: utf-8; -*- ;;; file-format: 9 ["Emacs" "ERT3" nil nil nil nil nil ("emacs-ert-test-3@HIDDEN") ((notes . " ")) "c8bd3a63-3a83-48a7-a95b-be118a923e00" "2022-11-19 16:36:04 +0000" "2022-11-19 16:36:04 +0000" nil] ["Emacs" "ERT4" nil nil nil nil nil ("emacs-ert-test-4@HIDDEN") ((notes . " ")) "5a93c3c5-9270-4e10-8b28-d28cfa2562cf" "2022-11-19 16:47:49 +0000" "2022-11-19 16:47:49 +0000" nil] EOF HOME=`pwd`/test emacs M-x list-packages (install BBDB from GNU ELPA) exit Emacs HOME=`pwd`/test emacs C-: (eudc-set-server "localhost" 'bbdb t) C-x m emacs-ertTAB When I try this, a bunch of stuff happens, then, uselessly, 3 spaces are inserted after "emacs-ert". During "bunch of stuff", eudc-query-with-words is called and gets expansion results. Why are they not presented as possible completions? What code is dropping them? There is so much EUDC handling code in message.el and apparently none of it works. And most of this code predates the addition of eudc-capf-complete, but its addition didn't fix this basic usage. That's why the recommendation in the EUDC manual has always been to just clobber "TAB" in message mode and assign eudc-expand-inline (now eudc-expand-try-all) to it. Before rewriting completion in message.el, before Emacs 29.1, can we please make the logic that was there already actually work? Please try the above recipe; maybe I'm missing something. If you can make it work, let me know, or send a minimal patch to make it work. Thanks, Thomas
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 1 Dec 2022 17:49:39 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 01 12:49:39 2022 Received: from localhost ([127.0.0.1]:41050 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1p0ngp-0008VB-1U for submit <at> debbugs.gnu.org; Thu, 01 Dec 2022 12:49:39 -0500 Received: from mail.ericabrahamsen.net ([52.70.2.18]:55426) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1p0ngl-0008V3-Q9 for 59314 <at> debbugs.gnu.org; Thu, 01 Dec 2022 12:49:38 -0500 Received: from localhost (c-71-197-232-41.hsd1.wa.comcast.net [71.197.232.41]) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id ADF04FA5A0; Thu, 1 Dec 2022 17:49:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericabrahamsen.net; s=mail; t=1669916969; bh=bwILli9STMRRIyBODvtAYWqKKnVImO9LsGBohAQotO8=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=K6Q4zNokWrOrJ25cgcEXb+CTT8Jh0Y7dj2tam5xvavL4rOGF9UNNDfgnsTZ6wcv5y lUG7JyLjM9G2df/Kn1bO9FUaFWOFtJy/ajNVaMn5uyGjCUhBvnW7V+PQD+P4GHwKOh 6pcbxeo0co2xaSmLpsHHlua+bD9d9B/3ZGdwMC50= From: Eric Abrahamsen <eric@HIDDEN> To: Alexander Adolf <alexander.adolf@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <bcee30cef48498ff7beae30e5bef571a@HIDDEN> (Alexander Adolf's message of "Thu, 01 Dec 2022 16:48:20 +0100") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <bcee30cef48498ff7beae30e5bef571a@HIDDEN> Date: Thu, 01 Dec 2022 09:49:19 -0800 Message-ID: <87sfhzko9s.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 59314 Cc: Thomas Fitzsimmons <fitzsim@HIDDEN>, 59314 <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 (---) --=-=-= Content-Type: text/plain On 12/01/22 16:48 PM, Alexander Adolf wrote: > Hello Eric, > > Eric Abrahamsen <eric@HIDDEN> writes: > >> [...] >> In fact this whole message-mode thing is an impossible tangle, burritos >> within burritos, and it would be great to get rid of it altogether. >> [...] >> So I need to clobber `message-expand-name' altogether. >> >> And EUDC having a function on `completion-at-point-functions' is >> wrapping yet another burrito outside the existing burritos, because now >> EUDC has a completion function both inside and outside message-mode's >> own completion machinery. >> >> In fact the docstring of `eudc-capf-message-expand-name' makes it sound >> like it thinks it's being called as part of `message-expand-name', but >> now it isn't -- it's being called as part of the capf machinery. Or >> rather, it could potentially be called in both places. >> >> I think a half-stick of dynamite is the only real solution. >> [...] > > Perhaps we can be slightly more CONstructive that this. ;-))) > > I am preparing a patch to message.el which refactors > `message-completion-alist` along the lines of this: > > ---------------------------- Begin Quote ----------------------------- > (defcustom message-completion-alist > `((,message-newgroups-header-regexp . (:category newsgroup > :fieldsep-re "\\([:,]\\|^\\)[ \t]*" > :completions ,#'message-expand-group)) > (,message-email-recipient-header-regexp . (:category email > :fieldsep-re "\\([:,]\\|^\\)[ \t]*" > :completions ,#'eudc-capf-message-expand-name))) > "Alist of (RE . RECIPE), defining completion contexts. > This variable controls how `message-completion-function' performs > in-buffer completion. RECIPE is either a function (deprecated), > or a plist. > > When `message-completion-function' is invoked, and point is on a > line matching one of the REs in the alist, the settings in the > corresponding RECIPE are applied. > > When RECIPE is a function, it is called for completion. RECIPE > should be a function that obeys the same rules as those of > `completion-at-point-functions'. > > When RECIPE is a plist, the properties control how in-buffer > completion is performed. The following properties are currently > defined: > > :category > > The symbol defining the category in > `completion-category-defaults' to use for completion. Also > see `completion-category-overrides', and `completion-styles'. > > :fieldsep-re > > The regular expression to use when scanning backwards in the > buffer. All text between point, and any preceding text > matching this regular expression, will be used as the prefix > for finding completion candidates. > > :completions > > The function that provides completions, and that obeys the > same rules as those of `completion-at-point-functions'. > In-buffer completion will be performed as if > `completion-at-point-functions' had been set to this value." > :version "29.1" > :group 'message > :type '(alist :key-type regexp > :value-type (choice (plist) > (function > :tag "Completion function (deprecated)")))) > ----------------------------- End Quote ------------------------------ > > As you can see, `eudc-capf-message-expand-name` effectively replaces > `message-expand-name` altogether: > > ---------------------------- Begin Quote ----------------------------- > (make-obsolete 'message-expand-name 'eudc-capf-message-expand-name > "29.1") > ----------------------------- End Quote ------------------------------ > > The patch goes on to remove everything relating to ecomplete, > mailabbrev, bbdb, and the likes from message.el, too. Get rid of all the > burritos, except one. The one and only source for email addresses in > message.el IMHO should be EUDC, and the one and only completion UI > should be whatever CAPF uses. Any and all sources for email addresses > should implement back-ends for EUDC, so they can be queried via EUDC, > which does the aggregation of results from the different sources, and > delivers it back to message.el as one lump. > > > EUDC backends: ldap ecomplete mailabbrev bbdb you-name-it > \________________________ ____________________________/ > V > | > V > eudc-capf.el: eudc-capf-message-expand-name > | > V > message.el: message-completion-function > | > V > minibuffer.el completion-at-point > | > V > [ optional completion UI (for example corfu) ] > > > As you may imagine, this is a bigger patch, and I am discussing it on > emacs-devel with Stefan Monnier. So it'll still be a little while until > it might hopefully get merged, and the burritos unwrapped. > > > Many thanks and looking forward to your thoughts, My only thought is that we already have a mechanism for combining results from multiple contact-management packages, and it's called `message--name-table'. I don't see why we should be obliged to add EUDC as an additional and obligatory point of collation. I'm attaching a patch I floated earlier, showing how I think it could works -- it's very simple. Stefan was the one who added `message--name-table', and if you're talking to him I will obviously defer to whatever you (plural) decide. But that's my two cents. Eric --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=message-name-databases.diff diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 3bbd68bdcd..e609aa7405 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el @@ -8266,9 +8266,11 @@ message-completion-alist (defcustom message-expand-name-databases '(bbdb eudc) "List of databases to try for name completion (`message-expand-name'). -Each element is a symbol and can be `bbdb' or `eudc'." +Each element can be the symbol `bbdb', the symbol `eudc', or a function." :group 'message - :type '(set (const bbdb) (const eudc))) + :version "29.1" + :type '(repeat + (choice (const bbdb) (const eudc) function))) (defcustom message-tab-body-function nil "Function to execute when `message-tab' (TAB) is executed in the body. @@ -8379,6 +8381,8 @@ message-expand-name ;; completion took place. So let's double check the buffer was ;; not modified. (/= starttick (buffer-modified-tick))))) + ((and (functionp (car message-expand-name-databases)) + (funcall (car message-expand-name-databases)))) (t (expand-abbrev)))) @@ -8408,26 +8412,28 @@ message--bbdb-query-with-words (defun message--name-table (orig-string) (let ((orig-words (split-string orig-string "[ \t]+")) - eudc-responses - bbdb-responses) + database-responses) (lambda (string pred action) (pcase action ('metadata '(metadata (category . email))) ('lambda t) ((or 'nil 't) (when orig-words - (when (and (memq 'eudc message-expand-name-databases) - (boundp 'eudc-protocol) - eudc-protocol) - (setq eudc-responses (eudc-query-with-words orig-words))) - (when (memq 'bbdb message-expand-name-databases) - (setq bbdb-responses (message--bbdb-query-with-words orig-words))) + (dolist (db message-expand-name-databases) + (push + (pcase db + ((and `eudc (guard (bound-and-true-p eudc-protocol))) + (eudc-query-with-words orig-words)) + (`bbdb (message--bbdb-query-with-words orig-words)) + ((pred functionp) (funcall db orig-words))) + database-responses)) (ecomplete-setup) (setq orig-words nil)) (let ((candidates ;; FIXME: Add `expand-abbrev'! - (append (all-completions string eudc-responses pred) - (all-completions string bbdb-responses pred) + (append (mapcan (lambda (resp) + (all-completions string resp pred)) + database-responses) (when (and (bound-and-true-p ecomplete-database) (fboundp 'ecomplete-completion-table)) (all-completions string --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 1 Dec 2022 16:02:24 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 01 11:02:24 2022 Received: from localhost ([127.0.0.1]:40511 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1p0m12-0000eu-CF for submit <at> debbugs.gnu.org; Thu, 01 Dec 2022 11:02:24 -0500 Received: from mail.ericabrahamsen.net ([52.70.2.18]:43388) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1p0m10-0000eo-1C for 59314 <at> debbugs.gnu.org; Thu, 01 Dec 2022 11:02:22 -0500 Received: from localhost (c-71-197-232-41.hsd1.wa.comcast.net [71.197.232.41]) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 0B0DBFA081; Thu, 1 Dec 2022 16:02:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericabrahamsen.net; s=mail; t=1669910536; bh=kxyjvQJX6CvnYgaN15/UIzzr+V3puqNm0wWQRo4mPj4=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=d5ewc7m30iffRoXZG4JgJPqzND4MnfY0nASg6MbhqdblBrUB5JWx/15rF7oPsu2Dg v/EnRb2CT/PPXTWkivE/ZKYpKNW1L/R3JQQO7YXrgGMAtKUC1L2hrB1JFVOmZ0i3kt Bcmxt1U9zssDculeLJvxKJ43XS/ozP53+RKehGLw= From: Eric Abrahamsen <eric@HIDDEN> To: Alexander Adolf <alexander.adolf@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <18c99a1253886d5a5ec068849b007cb2@HIDDEN> (Alexander Adolf's message of "Thu, 01 Dec 2022 16:46:37 +0100") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <18c99a1253886d5a5ec068849b007cb2@HIDDEN> Date: Thu, 01 Dec 2022 08:02:14 -0800 Message-ID: <87wn7bkt89.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 59314 Cc: Thomas Fitzsimmons <fitzsim@HIDDEN>, 59314 <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 (---) Alexander Adolf <alexander.adolf@HIDDEN> writes: > Hello Eric, > > Apologies for chiming late into this. > > Eric Abrahamsen <eric@HIDDEN> writes: > >> On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote: >>> [...] >>>> Address completion in message-mode has stopped working in master, >>>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This >>>> has been reported for several contact-management backends that expect to >>>> have their completions available with <TAB>. >>>> >>>> `completion-at-point-functions' contains '(eudc-capf-complete >>>> message-completion-function t) at this point -- `eudc-capf-complete' >>>> returns no matches, and no other functions in the list are consulted. >>> [...] >>> (add-hook 'completion-at-point-functions #'message-completion-function nil t) >>> >>>> On gnus.general, someone using BBDB and corfu reported that this recipe >>>> fixed the problem: >>>> >>>> (setq eudc-server-hotlist '(("localhost" . bbdb))) >>>> >>>> (add-hook 'message-mode-hook >>>> (lambda () >>>> (setq-local completion-at-point-functions >>>> (delq 'message-completion-function >>>> completion-at-point-functions)))) >>>> >>>> Someone else *not* using corfu reported that that didn't work for them. >>>> Dunno. > > That the behaviour changes depending on the CAPF front-end (corfu in > this case) could be indicative of the completion styles [1] kicking in. > I've seen cases where my completion function did return results, but > nothing was shown in the CAPF UI because the completion styles' > "filtering" wouldn't leave any alternatives to show. Not to suggest that > this is what's actually happening, but it's one possibility. > > [1] https://www.gnu.org/software/emacs/manual/html_node/emacs/Completion-Styles.html > > Other than that, I would be interested in reproducing this at my end - > if possible - to see whether there's any corner case I missed. I seems > that the change of eudc-server-hotlist from `nil' to `(("localhost" . > ecomplete) ("localhost" . mailabbrev))` triggered this behaviour for > you. With that value, no database files for ecomplete or mailabbrev, and > all Elisp settings for ecomplete and mailabbrev at their default values, > `eudc-capf-complete` does return nil for me. What else should I be doing > to reproduce the issue? I think Thomas already fixed it! Shortly after I reported. Thanks, Eric
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 1 Dec 2022 15:48:28 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 01 10:48:28 2022 Received: from localhost ([127.0.0.1]:40425 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1p0lnY-0000T3-A8 for submit <at> debbugs.gnu.org; Thu, 01 Dec 2022 10:48:28 -0500 Received: from smtprelay06.ispgateway.de ([80.67.18.29]:17710) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <alexander.adolf@HIDDEN>) id 1p0lnS-0000Ss-MJ for 59314 <at> debbugs.gnu.org; Thu, 01 Dec 2022 10:48:26 -0500 Received: from [46.244.208.80] (helo=condition-alpha.com) by smtprelay06.ispgateway.de with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <alexander.adolf@HIDDEN>) id 1p0lnR-0001ep-5u; Thu, 01 Dec 2022 16:48:21 +0100 Message-Id: <bcee30cef48498ff7beae30e5bef571a@HIDDEN> From: Alexander Adolf <alexander.adolf@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN>, Thomas Fitzsimmons <fitzsim@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <878rka1y4n.fsf@HIDDEN> References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> Date: Thu, 01 Dec 2022 16:48:20 +0100 MIME-Version: 1.0 Content-Type: text/plain X-Df-Sender: YWxleGFuZGVyLmFkb2xmQGNvbmRpdGlvbi1hbHBoYS5jb20= X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: 59314 <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 (-) Hello Eric, Eric Abrahamsen <eric@HIDDEN> writes: > [...] > In fact this whole message-mode thing is an impossible tangle, burritos > within burritos, and it would be great to get rid of it altogether. > [...] > So I need to clobber `message-expand-name' altogether. > > And EUDC having a function on `completion-at-point-functions' is > wrapping yet another burrito outside the existing burritos, because now > EUDC has a completion function both inside and outside message-mode's > own completion machinery. > > In fact the docstring of `eudc-capf-message-expand-name' makes it sound > like it thinks it's being called as part of `message-expand-name', but > now it isn't -- it's being called as part of the capf machinery. Or > rather, it could potentially be called in both places. > > I think a half-stick of dynamite is the only real solution. > [...] Perhaps we can be slightly more CONstructive that this. ;-))) I am preparing a patch to message.el which refactors `message-completion-alist` along the lines of this: ---------------------------- Begin Quote ----------------------------- (defcustom message-completion-alist `((,message-newgroups-header-regexp . (:category newsgroup :fieldsep-re "\\([:,]\\|^\\)[ \t]*" :completions ,#'message-expand-group)) (,message-email-recipient-header-regexp . (:category email :fieldsep-re "\\([:,]\\|^\\)[ \t]*" :completions ,#'eudc-capf-message-expand-name))) "Alist of (RE . RECIPE), defining completion contexts. This variable controls how `message-completion-function' performs in-buffer completion. RECIPE is either a function (deprecated), or a plist. When `message-completion-function' is invoked, and point is on a line matching one of the REs in the alist, the settings in the corresponding RECIPE are applied. When RECIPE is a function, it is called for completion. RECIPE should be a function that obeys the same rules as those of `completion-at-point-functions'. When RECIPE is a plist, the properties control how in-buffer completion is performed. The following properties are currently defined: :category The symbol defining the category in `completion-category-defaults' to use for completion. Also see `completion-category-overrides', and `completion-styles'. :fieldsep-re The regular expression to use when scanning backwards in the buffer. All text between point, and any preceding text matching this regular expression, will be used as the prefix for finding completion candidates. :completions The function that provides completions, and that obeys the same rules as those of `completion-at-point-functions'. In-buffer completion will be performed as if `completion-at-point-functions' had been set to this value." :version "29.1" :group 'message :type '(alist :key-type regexp :value-type (choice (plist) (function :tag "Completion function (deprecated)")))) ----------------------------- End Quote ------------------------------ As you can see, `eudc-capf-message-expand-name` effectively replaces `message-expand-name` altogether: ---------------------------- Begin Quote ----------------------------- (make-obsolete 'message-expand-name 'eudc-capf-message-expand-name "29.1") ----------------------------- End Quote ------------------------------ The patch goes on to remove everything relating to ecomplete, mailabbrev, bbdb, and the likes from message.el, too. Get rid of all the burritos, except one. The one and only source for email addresses in message.el IMHO should be EUDC, and the one and only completion UI should be whatever CAPF uses. Any and all sources for email addresses should implement back-ends for EUDC, so they can be queried via EUDC, which does the aggregation of results from the different sources, and delivers it back to message.el as one lump. EUDC backends: ldap ecomplete mailabbrev bbdb you-name-it \________________________ ____________________________/ V | V eudc-capf.el: eudc-capf-message-expand-name | V message.el: message-completion-function | V minibuffer.el completion-at-point | V [ optional completion UI (for example corfu) ] As you may imagine, this is a bigger patch, and I am discussing it on emacs-devel with Stefan Monnier. So it'll still be a little while until it might hopefully get merged, and the burritos unwrapped. Many thanks and looking forward to your thoughts, --alexander
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 1 Dec 2022 15:46:43 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 01 10:46:43 2022 Received: from localhost ([127.0.0.1]:40411 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1p0llq-0000RH-Ns for submit <at> debbugs.gnu.org; Thu, 01 Dec 2022 10:46:43 -0500 Received: from smtprelay07.ispgateway.de ([134.119.228.97]:58552) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <alexander.adolf@HIDDEN>) id 1p0llo-0000Qs-8J for 59314 <at> debbugs.gnu.org; Thu, 01 Dec 2022 10:46:42 -0500 Received: from [46.244.208.80] (helo=condition-alpha.com) by smtprelay07.ispgateway.de with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <alexander.adolf@HIDDEN>) id 1p0llm-0006dp-31; Thu, 01 Dec 2022 16:46:38 +0100 Message-Id: <18c99a1253886d5a5ec068849b007cb2@HIDDEN> From: Alexander Adolf <alexander.adolf@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN>, Thomas Fitzsimmons <fitzsim@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <878rka1y4n.fsf@HIDDEN> References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> Date: Thu, 01 Dec 2022 16:46:37 +0100 MIME-Version: 1.0 Content-Type: text/plain X-Df-Sender: YWxleGFuZGVyLmFkb2xmQGNvbmRpdGlvbi1hbHBoYS5jb20= X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: 59314 <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 (-) Hello Eric, Apologies for chiming late into this. Eric Abrahamsen <eric@HIDDEN> writes: > On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote: >> [...] >>> Address completion in message-mode has stopped working in master, >>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This >>> has been reported for several contact-management backends that expect to >>> have their completions available with <TAB>. >>> >>> `completion-at-point-functions' contains '(eudc-capf-complete >>> message-completion-function t) at this point -- `eudc-capf-complete' >>> returns no matches, and no other functions in the list are consulted. >> [...] >> (add-hook 'completion-at-point-functions #'message-completion-function nil t) >> >>> On gnus.general, someone using BBDB and corfu reported that this recipe >>> fixed the problem: >>> >>> (setq eudc-server-hotlist '(("localhost" . bbdb))) >>> >>> (add-hook 'message-mode-hook >>> (lambda () >>> (setq-local completion-at-point-functions >>> (delq 'message-completion-function >>> completion-at-point-functions)))) >>> >>> Someone else *not* using corfu reported that that didn't work for them. >>> Dunno. That the behaviour changes depending on the CAPF front-end (corfu in this case) could be indicative of the completion styles [1] kicking in. I've seen cases where my completion function did return results, but nothing was shown in the CAPF UI because the completion styles' "filtering" wouldn't leave any alternatives to show. Not to suggest that this is what's actually happening, but it's one possibility. [1] https://www.gnu.org/software/emacs/manual/html_node/emacs/Completion-Styles.html Other than that, I would be interested in reproducing this at my end - if possible - to see whether there's any corner case I missed. I seems that the change of eudc-server-hotlist from `nil' to `(("localhost" . ecomplete) ("localhost" . mailabbrev))` triggered this behaviour for you. With that value, no database files for ecomplete or mailabbrev, and all Elisp settings for ecomplete and mailabbrev at their default values, `eudc-capf-complete` does return nil for me. What else should I be doing to reproduce the issue? Many thanks and cheers, --alexander
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 24 Nov 2022 22:09:19 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Nov 24 17:09:19 2022 Received: from localhost ([127.0.0.1]:60452 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1oyKPH-0000q2-7I for submit <at> debbugs.gnu.org; Thu, 24 Nov 2022 17:09:19 -0500 Received: from mail.ericabrahamsen.net ([52.70.2.18]:53454) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1oyKPE-0000po-SH for 59314 <at> debbugs.gnu.org; Thu, 24 Nov 2022 17:09:17 -0500 Received: from localhost (c-71-197-232-41.hsd1.wa.comcast.net [71.197.232.41]) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 35CD3FA08F; Thu, 24 Nov 2022 22:09:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericabrahamsen.net; s=mail; t=1669327750; bh=2XnBlQC9/bzIk2FSdxsWxM+sHCloGfph18YETAunMks=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=o3VjFIiE48fvBbVYmv/O5oBikGPIbtvQG0FgrMbYQsPRgwbwIbpAKQ2ShU4agsLY8 N9kWgEMwSpdBxF8Dew89AA0fv7CFREeCAjdl9cPKYOPNn8tjtxA1thg1RlsuWF6oZy RD4swUTq55/Ijrwoof+Ho0wiQK0LIxFUCcvNHM90= From: Eric Abrahamsen <eric@HIDDEN> To: Thomas Fitzsimmons <fitzsim@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <m3fse8u86d.fsf@HIDDEN> (Thomas Fitzsimmons's message of "Thu, 24 Nov 2022 02:24:10 -0500") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <m3leoal0o8.fsf@HIDDEN> <87sfigx58k.fsf@HIDDEN> <m3leo7jspo.fsf@HIDDEN> <87k03nx2t1.fsf@HIDDEN> <m3r0xvuiam.fsf@HIDDEN> <m3fse8u86d.fsf@HIDDEN> Date: Thu, 24 Nov 2022 14:09:08 -0800 Message-ID: <877czkm2d7.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 59314 Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <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 (---) On 11/24/22 02:24 AM, Thomas Fitzsimmons wrote: > Thomas Fitzsimmons <fitzsim@HIDDEN> writes: > >> Eric Abrahamsen <eric@HIDDEN> writes: >> >>> Thomas Fitzsimmons <fitzsim@HIDDEN> writes: >>> >>> [...] >>> >>>> That's the extent of my email completion setup. I think the only reason >>>> this setup doesn't generalize (assuming an EUDC EBDB backend in your >>>> case) is that other people like different UIs, e.g., when the same >>>> prefix expands to multiple possible addresses (as you alluded to), what >>>> UI should one use to select? I use the UI provided by EUDC. >>>> >>>> Anyway, tonight I did manage to add ERT tests for the EUDC LDAP backend. >>>> Can you try: >>>> >>>> make -C test lisp/net/eudc-tests.log >>> >>> No love! >>> >>> Running 11 tests (2022-11-21 16:04:40-0800, selector `(not (or (tag :unstable) (tag :nativecomp)))') >>> passed 1/11 eudc--plist-member (0.000396 sec) >>> passed 2/11 eudc-lax-plist-get (0.000433 sec) >>> passed 3/11 eudc-plist-get (0.000417 sec) >>> passed 4/11 eudc-plist-member (0.000390 sec) >>> passed 5/11 eudc-test-make-address (0.000151 sec) >>> passed 6/11 eudc-test-rfc5322-quote-phrase (0.000067 sec) >>> passed 7/11 eudc-test-rfc5322-valid-comment-p (0.000760 sec) >>> skipped 8/11 eudcb-bbdb (0.000102 sec) >>> passed 9/11 eudcb-ecomplete (0.007451 sec) >>> Loading eudcb-ldap... >>> Parsing results... >>> Parsing results... done >>> Parsing results... >>> Parsing results... done >>> Test eudcb-ldap backtrace: >>> signal(error ("No match")) >>> apply(signal (error ("No match"))) >>> (setq value-640 (apply fn-638 args-639)) >>> (unwind-protect (setq value-640 (apply fn-638 args-639)) (setq form- >>> (if (unwind-protect (setq value-640 (apply fn-638 args-639)) (setq f >>> (let (form-description-642) (if (unwind-protect (setq value-640 (app >>> (let ((value-640 'ert-form-evaluation-aborted-641)) (let (form-descr >>> (let* ((fn-638 #'equal) (args-639 (condition-case err (let ((signal- >>> (let ((ldap-process (start-process "slapd" "*slapd*" "/usr/sbin/slap >>> (closure (t) nil (let ((value-636 (gensym "ert-form-evaluation-abort >>> ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test >>> ert-run-test(#s(ert-test :name eudcb-ldap :documentation "Test the L >>> ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m >>> ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil >>> ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp)))) >>> ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco >>> eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n >>> command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/net/eudc-tests.el" " >>> command-line() >>> normal-top-level() >>> Test eudcb-ldap condition: >>> (error "No match") >>> FAILED 10/11 eudcb-ldap (1.024022 sec) at lisp/net/eudc-tests.el:271 >>> Parsing /home/eric/dev/emacs/test/lisp/net/eudc-resources/mailrc... >>> Parsing /home/eric/dev/emacs/test/lisp/net/eudc-resources/mailrc... done >>> passed 11/11 eudcb-mailabbrev (0.002174 sec) >>> >>> Ran 11 tests, 9 results as expected, 1 unexpected, 1 skipped (2022-11-21 16:04:41-0800, 1.151547 sec) >>> >>> 1 unexpected results: >>> FAILED eudcb-ldap >>> >>> 1 skipped results: >>> SKIPPED eudcb-bbdb >> >> Thanks for trying. >> >> > [...] > >> (In a subsequent patch I'll replace the sleep with a retry loop to >> make this more reliable.) > > I pushed this patch to the master branch. When you get a chance, can > you retry: > > make -C test lisp/net/eudc-tests.log > > and see if it succeeds for you now? slapd refuses to run without root permissions on my laptop for some reason, so this will have to wait until next Monday when I'm back at my desktop.
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 24 Nov 2022 09:53:19 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Nov 24 04:53:19 2022 Received: from localhost ([127.0.0.1]:57329 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1oy8v0-0005UX-Oj for submit <at> debbugs.gnu.org; Thu, 24 Nov 2022 04:53:19 -0500 Received: from mail.fitzsim.org ([69.165.165.189]:46662) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <fitzsim@HIDDEN>) id 1oy8uz-0005UK-LB for 59314 <at> debbugs.gnu.org; Thu, 24 Nov 2022 04:53:18 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org ; s=20220430; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=F4eygWCMjtw1GpQAI9kbi1EQz8V+UnV98u8kvR4zUiA=; b=jOKlP8BjpVZZwvg/8EfbzxhrXB lkVqFPEWaNo83nvkTqPMF05GDaLsf0POewds0h07+1JpoRQTx9t/XEmgv7SZbBstM8CkDE4pwtRSx LKk69vp/zDB+NvKqhdj4n/DMmeoC3gewo1ADsbBEHsDh2JTQ4tTgareaYguqkGLIm/+9lzgb/gtJc 42vfNKZYeHiA+GzfRc2jC9hQjSVIKITkC+ow13L89Amvvj+gZXIAYy+rdpBhDJCRAWoQmKGpFrjR2 QWf0Pv7RMS2rlsMmUpTXslZ3v+qw0cgg/069Whq2xJdoI+kXPHtw5CGdfr22iq03yGSiKJNffUmNt jzos92vQ==; Received: from [192.168.1.1] (helo=localhost.localdomain) by mail.fitzsim.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <fitzsim@HIDDEN>) id 1oy8us-000Huq-ND; Thu, 24 Nov 2022 04:53:11 -0500 From: Thomas Fitzsimmons <fitzsim@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <87k03nx2t1.fsf@HIDDEN> (Eric Abrahamsen's message of "Mon, 21 Nov 2022 16:15:06 -0800") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <m3leoal0o8.fsf@HIDDEN> <87sfigx58k.fsf@HIDDEN> <m3leo7jspo.fsf@HIDDEN> <87k03nx2t1.fsf@HIDDEN> Date: Thu, 24 Nov 2022 04:53:10 -0500 Message-ID: <m3a64gu1a1.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <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 (-) Eric Abrahamsen <eric@HIDDEN> writes: [...] >> Once I have that, I'll be able to extract all the configuration >> resources (like .mailrc, ecompleterc, etc.) into a tarball. Then we can >> use that tarball to debug/redesign out-of-the-box completion scenarios, >> starting from "emacs -Q + tarball", "emacs -Q + EBDB + tarball", >> "emacs -Q + BBDB + tarball", etc. >> >> Without starting from "emacs -Q", it's impossible for me to know what I >> might break in other people's configurations, when making changes to >> message-mode's default completion code. > > I've already said this, but I don't think we should be pushing things in > a direction that relies any external package or its particular behavior. > The capf machinery should be enough, and that's very clearly defined. I haven't figured out how the defaults are supposed to work for EUDC, despite a bunch of attempts. I'll keep at it, but wanted to post status. Here's a recipe to replicate what I'm trying: cd test/lisp/net /usr/sbin/slapd -h "ldap://127.0.0.1:3899" -d 0 -4 \ -f eudc-resources/slapd.conf & mkdir test-home cat >test-home/.emacs <<EOF (setq ldap-host-parameters-alist '(("ldap://localhost:3899" base "dc=gnu,dc=org" auth simple))) (setq eudc-server-hotlist '(("ldap://localhost:3899" . ldap))) (setq eudc-ignore-options-file t) EOF HOME=test-home ../../../src/emacs C-x m emacs-ertTAB There seem to have been many attempts in the code to get that to work by default, but currently all the various approaches fail. The result is that three spaces are added to the buffer after "emacs-ert". If instead of pressing TAB, one invokes M-x eudc-expand-try-all RET, the EUDC multiple results UI is presented, and the completion one selects is correctly inserted. (This proves that message machinery is failing even though EUDC and LDAP work.) I've been hacking around the various EUDC code paths in message.el (including the (setq message-expand-name-standard-ui t) one) trying to get something to work by default but I haven't succeeded yet. Thomas
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 24 Nov 2022 07:24:21 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Nov 24 02:24:20 2022 Received: from localhost ([127.0.0.1]:57040 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1oy6aq-0003MQ-Gf for submit <at> debbugs.gnu.org; Thu, 24 Nov 2022 02:24:20 -0500 Received: from mail.fitzsim.org ([69.165.165.189]:39202) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <fitzsim@HIDDEN>) id 1oy6an-0003MB-0J for 59314 <at> debbugs.gnu.org; Thu, 24 Nov 2022 02:24:18 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org ; s=20220430; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=WPF9+YufBzGuZmvMQdyBG4iZYAf+NyE7+rJAgoOWGBc=; b=XEO1hpnC0a4XLng4LcGNO+9GJY TtB68kP4KXmIlERPCh8IS/opCzvRCi93RIATEbhnx7rpDoEtqQMxkC3JKSeabCazFPx4z3oCPoWoU sbQWqU3MIyamFbA4o3XqxxbdKXdRJ8EyLHx8a5zyepDKS/Tv7o9GsAz+mstA5QDibrbhwyCyxAEmZ Qw8AvYm2yqhoeLyiXblAmH6o7WrlE0aHN+ZanE+xREYHC9JOvF1o3zcWdJz64fZg2hvg5gQfQEW9r Oi3GUiGq+LImgia0KTtcPxJAZB7O8hnCv86iUAV/sULTOdxSNFqshIxoKbG5GeFsvujg98K1ySEpZ 5mDe31Yg==; Received: from [192.168.1.1] (helo=localhost.localdomain) by mail.fitzsim.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <fitzsim@HIDDEN>) id 1oy6ag-000Hqp-IT; Thu, 24 Nov 2022 02:24:10 -0500 From: Thomas Fitzsimmons <fitzsim@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <m3r0xvuiam.fsf@HIDDEN> (Thomas Fitzsimmons's message of "Tue, 22 Nov 2022 10:21:05 -0500") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <m3leoal0o8.fsf@HIDDEN> <87sfigx58k.fsf@HIDDEN> <m3leo7jspo.fsf@HIDDEN> <87k03nx2t1.fsf@HIDDEN> <m3r0xvuiam.fsf@HIDDEN> Date: Thu, 24 Nov 2022 02:24:10 -0500 Message-ID: <m3fse8u86d.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <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 (-) Thomas Fitzsimmons <fitzsim@HIDDEN> writes: > Eric Abrahamsen <eric@HIDDEN> writes: > >> Thomas Fitzsimmons <fitzsim@HIDDEN> writes: >> >> [...] >> >>> That's the extent of my email completion setup. I think the only reason >>> this setup doesn't generalize (assuming an EUDC EBDB backend in your >>> case) is that other people like different UIs, e.g., when the same >>> prefix expands to multiple possible addresses (as you alluded to), what >>> UI should one use to select? I use the UI provided by EUDC. >>> >>> Anyway, tonight I did manage to add ERT tests for the EUDC LDAP backend. >>> Can you try: >>> >>> make -C test lisp/net/eudc-tests.log >> >> No love! >> >> Running 11 tests (2022-11-21 16:04:40-0800, selector `(not (or (tag :unstable) (tag :nativecomp)))') >> passed 1/11 eudc--plist-member (0.000396 sec) >> passed 2/11 eudc-lax-plist-get (0.000433 sec) >> passed 3/11 eudc-plist-get (0.000417 sec) >> passed 4/11 eudc-plist-member (0.000390 sec) >> passed 5/11 eudc-test-make-address (0.000151 sec) >> passed 6/11 eudc-test-rfc5322-quote-phrase (0.000067 sec) >> passed 7/11 eudc-test-rfc5322-valid-comment-p (0.000760 sec) >> skipped 8/11 eudcb-bbdb (0.000102 sec) >> passed 9/11 eudcb-ecomplete (0.007451 sec) >> Loading eudcb-ldap... >> Parsing results... >> Parsing results... done >> Parsing results... >> Parsing results... done >> Test eudcb-ldap backtrace: >> signal(error ("No match")) >> apply(signal (error ("No match"))) >> (setq value-640 (apply fn-638 args-639)) >> (unwind-protect (setq value-640 (apply fn-638 args-639)) (setq form- >> (if (unwind-protect (setq value-640 (apply fn-638 args-639)) (setq f >> (let (form-description-642) (if (unwind-protect (setq value-640 (app >> (let ((value-640 'ert-form-evaluation-aborted-641)) (let (form-descr >> (let* ((fn-638 #'equal) (args-639 (condition-case err (let ((signal- >> (let ((ldap-process (start-process "slapd" "*slapd*" "/usr/sbin/slap >> (closure (t) nil (let ((value-636 (gensym "ert-form-evaluation-abort >> ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test >> ert-run-test(#s(ert-test :name eudcb-ldap :documentation "Test the L >> ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m >> ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil >> ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp)))) >> ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco >> eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n >> command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/net/eudc-tests.el" " >> command-line() >> normal-top-level() >> Test eudcb-ldap condition: >> (error "No match") >> FAILED 10/11 eudcb-ldap (1.024022 sec) at lisp/net/eudc-tests.el:271 >> Parsing /home/eric/dev/emacs/test/lisp/net/eudc-resources/mailrc... >> Parsing /home/eric/dev/emacs/test/lisp/net/eudc-resources/mailrc... done >> passed 11/11 eudcb-mailabbrev (0.002174 sec) >> >> Ran 11 tests, 9 results as expected, 1 unexpected, 1 skipped (2022-11-21 16:04:41-0800, 1.151547 sec) >> >> 1 unexpected results: >> FAILED eudcb-ldap >> >> 1 skipped results: >> SKIPPED eudcb-bbdb > > Thanks for trying. > > [...] > (In a subsequent patch I'll replace the sleep with a retry loop to > make this more reliable.) I pushed this patch to the master branch. When you get a chance, can you retry: make -C test lisp/net/eudc-tests.log and see if it succeeds for you now? Thanks, Thomas
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 22 Nov 2022 15:21:26 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 22 10:21:26 2022 Received: from localhost ([127.0.0.1]:52279 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1oxV5S-000421-4U for submit <at> debbugs.gnu.org; Tue, 22 Nov 2022 10:21:26 -0500 Received: from mail.fitzsim.org ([69.165.165.189]:41052) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <fitzsim@HIDDEN>) id 1oxV5H-000419-0L for 59314 <at> debbugs.gnu.org; Tue, 22 Nov 2022 10:21:16 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org ; s=20220430; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=+DS3zxgya43sTchq+aHon1/ptQR9R4JTAa6OwRgBuC4=; b=QcMGomwTXHiN4E/h295pcpN+XR nHpzXVEqsTlAx4zQFc74o44PAUMpGRN8hLstZHqztPsPeW6E4h+JHqIDO9nDiEvFAhTvnSRCmcJC1 D638nycwWXzXULBB8tIJLYCMO0fNK3ZKpGozfupKptGyZp+3XRmyMTblLkVjYfNuOXI0SDsVinaj6 FgKYNqrZX1jj/bWGyDvANJh+rYDRLa471eYfVoaTm0TLMPkZl1qE9cIIEXKX9MO3qtFAwaYa7A5OW fn6nXReq3soAb7dqvigLKqG9TExQD0iB1i6zopOx+uYEREQmr6pK96FL+ocnJD+DYGUw5SuOHorqU 5kPeaQdg==; Received: from [192.168.1.1] (helo=localhost.localdomain) by mail.fitzsim.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <fitzsim@HIDDEN>) id 1oxV57-000GrO-Ms; Tue, 22 Nov 2022 10:21:08 -0500 From: Thomas Fitzsimmons <fitzsim@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <87k03nx2t1.fsf@HIDDEN> (Eric Abrahamsen's message of "Mon, 21 Nov 2022 16:15:06 -0800") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <m3leoal0o8.fsf@HIDDEN> <87sfigx58k.fsf@HIDDEN> <m3leo7jspo.fsf@HIDDEN> <87k03nx2t1.fsf@HIDDEN> Date: Tue, 22 Nov 2022 10:21:05 -0500 Message-ID: <m3r0xvuiam.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <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 (-) Eric Abrahamsen <eric@HIDDEN> writes: > Thomas Fitzsimmons <fitzsim@HIDDEN> writes: > > [...] > >> That's the extent of my email completion setup. I think the only reason >> this setup doesn't generalize (assuming an EUDC EBDB backend in your >> case) is that other people like different UIs, e.g., when the same >> prefix expands to multiple possible addresses (as you alluded to), what >> UI should one use to select? I use the UI provided by EUDC. >> >> Anyway, tonight I did manage to add ERT tests for the EUDC LDAP backend. >> Can you try: >> >> make -C test lisp/net/eudc-tests.log > > No love! > > Running 11 tests (2022-11-21 16:04:40-0800, selector `(not (or (tag :unstable) (tag :nativecomp)))') > passed 1/11 eudc--plist-member (0.000396 sec) > passed 2/11 eudc-lax-plist-get (0.000433 sec) > passed 3/11 eudc-plist-get (0.000417 sec) > passed 4/11 eudc-plist-member (0.000390 sec) > passed 5/11 eudc-test-make-address (0.000151 sec) > passed 6/11 eudc-test-rfc5322-quote-phrase (0.000067 sec) > passed 7/11 eudc-test-rfc5322-valid-comment-p (0.000760 sec) > skipped 8/11 eudcb-bbdb (0.000102 sec) > passed 9/11 eudcb-ecomplete (0.007451 sec) > Loading eudcb-ldap... > Parsing results... > Parsing results... done > Parsing results... > Parsing results... done > Test eudcb-ldap backtrace: > signal(error ("No match")) > apply(signal (error ("No match"))) > (setq value-640 (apply fn-638 args-639)) > (unwind-protect (setq value-640 (apply fn-638 args-639)) (setq form- > (if (unwind-protect (setq value-640 (apply fn-638 args-639)) (setq f > (let (form-description-642) (if (unwind-protect (setq value-640 (app > (let ((value-640 'ert-form-evaluation-aborted-641)) (let (form-descr > (let* ((fn-638 #'equal) (args-639 (condition-case err (let ((signal- > (let ((ldap-process (start-process "slapd" "*slapd*" "/usr/sbin/slap > (closure (t) nil (let ((value-636 (gensym "ert-form-evaluation-abort > ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test > ert-run-test(#s(ert-test :name eudcb-ldap :documentation "Test the L > ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m > ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil > ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp)))) > ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco > eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n > command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/net/eudc-tests.el" " > command-line() > normal-top-level() > Test eudcb-ldap condition: > (error "No match") > FAILED 10/11 eudcb-ldap (1.024022 sec) at lisp/net/eudc-tests.el:271 > Parsing /home/eric/dev/emacs/test/lisp/net/eudc-resources/mailrc... > Parsing /home/eric/dev/emacs/test/lisp/net/eudc-resources/mailrc... done > passed 11/11 eudcb-mailabbrev (0.002174 sec) > > Ran 11 tests, 9 results as expected, 1 unexpected, 1 skipped (2022-11-21 16:04:41-0800, 1.151547 sec) > > 1 unexpected results: > FAILED eudcb-ldap > > 1 skipped results: > SKIPPED eudcb-bbdb Thanks for trying. Can you try changing "(sleep-for 1)" to "(sleep-for 5)"? (In a subsequent patch I'll replace the sleep with a retry loop to make this more reliable.) If that doesn't work, then below is roughly what the test is doing. Can you see if this works for you on the command line? You can change "-d 0" => "-d 255" for lots of debugging output. The test first changes to the "test/lisp/net" directory, which is important, because the slapd.conf line "directory eudc-resources" specifies a relative directory. cd test/lisp/net /usr/sbin/slapd -h "ldap://127.0.0.1:3899" \ -d 0 -4 \ -f eudc-resources/slapd.conf & \ sleep 5 && \ ldapsearch -x -LLL -h127.0.0.1:3899 \ -b "dc=gnu,dc=org" "cn=emacs-ert-test-1" => dn: cn=emacs-ert-test-1,dc=gnu,dc=org objectClass: OpenLDAPperson cn: emacs-ert-test-1 description:: RW1hY3Mg uid: 1 sn: ERT1 givenName: Emacs mail: emacs-ert-test-1@HIDDEN Thanks, Thomas
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 22 Nov 2022 00:15:19 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Nov 21 19:15:19 2022 Received: from localhost ([127.0.0.1]:49145 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1oxGwZ-00059k-6R for submit <at> debbugs.gnu.org; Mon, 21 Nov 2022 19:15:19 -0500 Received: from mail.ericabrahamsen.net ([52.70.2.18]:59594) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1oxGwU-00059Q-9y for 59314 <at> debbugs.gnu.org; Mon, 21 Nov 2022 19:15:18 -0500 Received: from localhost (unknown [76.135.104.211]) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id CA04FFA08D; Tue, 22 Nov 2022 00:15:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericabrahamsen.net; s=mail; t=1669076108; bh=aW8QHpPWn2xdlLTUL+BGInX/dEkLVCgas7t6V41onT8=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=x62G/PVHiv6akdIM2FBMPudO1JU2K1Lrsx1UcBYiLJE+wI3Gx8c8naefR90YNcF8v XUScelq56TQ8q8a+Mch3U/IhodYUcfAffRNRKgINma0b3oP/y92Mb8m+pWoTxR0y1/ jz8wuIIvoNW0TnnJNlKtrQWF2RGQDCHf+0vjnrMw= From: Eric Abrahamsen <eric@HIDDEN> To: Thomas Fitzsimmons <fitzsim@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <m3leo7jspo.fsf@HIDDEN> (Thomas Fitzsimmons's message of "Sat, 19 Nov 2022 02:42:27 -0500") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <m3leoal0o8.fsf@HIDDEN> <87sfigx58k.fsf@HIDDEN> <m3leo7jspo.fsf@HIDDEN> Date: Mon, 21 Nov 2022 16:15:06 -0800 Message-ID: <87k03nx2t1.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 59314 Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <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 (---) Thomas Fitzsimmons <fitzsim@HIDDEN> writes: [...] > That's the extent of my email completion setup. I think the only reason > this setup doesn't generalize (assuming an EUDC EBDB backend in your > case) is that other people like different UIs, e.g., when the same > prefix expands to multiple possible addresses (as you alluded to), what > UI should one use to select? I use the UI provided by EUDC. > > Anyway, tonight I did manage to add ERT tests for the EUDC LDAP backend. > Can you try: > > make -C test lisp/net/eudc-tests.log No love! Running 11 tests (2022-11-21 16:04:40-0800, selector `(not (or (tag :unstable) (tag :nativecomp)))') passed 1/11 eudc--plist-member (0.000396 sec) passed 2/11 eudc-lax-plist-get (0.000433 sec) passed 3/11 eudc-plist-get (0.000417 sec) passed 4/11 eudc-plist-member (0.000390 sec) passed 5/11 eudc-test-make-address (0.000151 sec) passed 6/11 eudc-test-rfc5322-quote-phrase (0.000067 sec) passed 7/11 eudc-test-rfc5322-valid-comment-p (0.000760 sec) skipped 8/11 eudcb-bbdb (0.000102 sec) passed 9/11 eudcb-ecomplete (0.007451 sec) Loading eudcb-ldap... Parsing results... Parsing results... done Parsing results... Parsing results... done Test eudcb-ldap backtrace: signal(error ("No match")) apply(signal (error ("No match"))) (setq value-640 (apply fn-638 args-639)) (unwind-protect (setq value-640 (apply fn-638 args-639)) (setq form- (if (unwind-protect (setq value-640 (apply fn-638 args-639)) (setq f (let (form-description-642) (if (unwind-protect (setq value-640 (app (let ((value-640 'ert-form-evaluation-aborted-641)) (let (form-descr (let* ((fn-638 #'equal) (args-639 (condition-case err (let ((signal- (let ((ldap-process (start-process "slapd" "*slapd*" "/usr/sbin/slap (closure (t) nil (let ((value-636 (gensym "ert-form-evaluation-abort ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test ert-run-test(#s(ert-test :name eudcb-ldap :documentation "Test the L ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp)))) ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/net/eudc-tests.el" " command-line() normal-top-level() Test eudcb-ldap condition: (error "No match") FAILED 10/11 eudcb-ldap (1.024022 sec) at lisp/net/eudc-tests.el:271 Parsing /home/eric/dev/emacs/test/lisp/net/eudc-resources/mailrc... Parsing /home/eric/dev/emacs/test/lisp/net/eudc-resources/mailrc... done passed 11/11 eudcb-mailabbrev (0.002174 sec) Ran 11 tests, 9 results as expected, 1 unexpected, 1 skipped (2022-11-21 16:04:41-0800, 1.151547 sec) 1 unexpected results: FAILED eudcb-ldap 1 skipped results: SKIPPED eudcb-bbdb > on your machine to confirm they work for you? You need /usr/sbin/slapd > installed. > > I'll work on adding EUDC BBDB backend tests, and I may write an EBDB > EUDC backend. > > Once I have that, I'll be able to extract all the configuration > resources (like .mailrc, ecompleterc, etc.) into a tarball. Then we can > use that tarball to debug/redesign out-of-the-box completion scenarios, > starting from "emacs -Q + tarball", "emacs -Q + EBDB + tarball", > "emacs -Q + BBDB + tarball", etc. > > Without starting from "emacs -Q", it's impossible for me to know what I > might break in other people's configurations, when making changes to > message-mode's default completion code. I've already said this, but I don't think we should be pushing things in a direction that relies any external package or its particular behavior. The capf machinery should be enough, and that's very clearly defined. Eric
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 19 Nov 2022 07:42:38 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Nov 19 02:42:38 2022 Received: from localhost ([127.0.0.1]:38900 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1owIUn-0006zm-Tc for submit <at> debbugs.gnu.org; Sat, 19 Nov 2022 02:42:38 -0500 Received: from mail.fitzsim.org ([69.165.165.189]:33904) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <fitzsim@HIDDEN>) id 1owIUk-0006zZ-Lc for 59314 <at> debbugs.gnu.org; Sat, 19 Nov 2022 02:42:36 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org ; s=20220430; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=xsMeUomzlZFziXDquEodEt+y/uX/oJl0zoB/rXlivcw=; b=LW3ZsXstNhatUAfpWjJ9mCdQer E+t33Xj2ln3FXybTiUsAvl4dG6Gy1Jeknh1EBOJl5gv/aLvsEMXvTqsHi/pi813Ewgld0D5s7S1LA 5gaEt7Iqx+Vyl46vepgD5GxAaV8nCbCfqDKEdq/2Feqp+eq5PxDx5nzVZZVhuRGCu2qqeoEKtETEY yCV+MqvoDxF37Otffp+WgdGcBRLeXQsb/pZiyaKmebbjVHTJ3bINmqw4GPU7wJ7XKdU1PxeBrH5iT fs5eJnq33MP/TpfrtBH2+hc6mGM94rFWJAckwPQ5tknAbup5T8A+c2bh0QJ4JkkVfLTFEYehPy0Uu kFS088mg==; Received: from [192.168.1.1] (helo=localhost.localdomain) by mail.fitzsim.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <fitzsim@HIDDEN>) id 1owIUd-000EfK-NR; Sat, 19 Nov 2022 02:42:28 -0500 From: Thomas Fitzsimmons <fitzsim@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <87sfigx58k.fsf@HIDDEN> (Eric Abrahamsen's message of "Thu, 17 Nov 2022 20:21:15 -0800") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <m3leoal0o8.fsf@HIDDEN> <87sfigx58k.fsf@HIDDEN> Date: Sat, 19 Nov 2022 02:42:27 -0500 Message-ID: <m3leo7jspo.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <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 (-) Eric Abrahamsen <eric@HIDDEN> writes: > On 11/16/22 22:28 PM, Thomas Fitzsimmons wrote: >> Eric Abrahamsen <eric@HIDDEN> writes: >> >>> On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote: >>>> Hi Eric, >>>> >>>> Thanks for filing this. >>>> >>>> Eric Abrahamsen <eric@HIDDEN> writes: >>>> >>>>> Address completion in message-mode has stopped working in master, >>>>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This >>>>> has been reported for several contact-management backends that expect to >>>>> have their completions available with <TAB>. >>>>> >>>>> `completion-at-point-functions' contains '(eudc-capf-complete >>>>> message-completion-function t) at this point -- `eudc-capf-complete' >>>>> returns no matches, and no other functions in the list are consulted. >>>> >>>> I just checked and I didn't think the recent patch I pushed, >>>> 0e25a39e6..., should have affected completion-at-point-functions. It >>>> did change the default of eudc-server-hotlist from `nil' to >>>> `(("localhost" . ecomplete) ("localhost" . mailabbrev))". I thought >>>> that should only affect EUDC users who have not customized >>>> eudc-server-hotlist. >>>> >>>> `eudc-capf-complete' was added to `message-mode' in commit >>>> 620ac6735... I'm pretty sure that commenting out this line in >>>> message.el will restore prior behaviour, but I don't yet know what prior >>>> behaviour should be (see below). >>>> >>>> (add-hook 'completion-at-point-functions #'message-completion-function nil t) >>>> >>>>> On gnus.general, someone using BBDB and corfu reported that this recipe >>>>> fixed the problem: >>>>> >>>>> (setq eudc-server-hotlist '(("localhost" . bbdb))) >>>>> >>>>> (add-hook 'message-mode-hook >>>>> (lambda () >>>>> (setq-local completion-at-point-functions >>>>> (delq 'message-completion-function >>>>> completion-at-point-functions)))) >>>>> >>>>> Someone else *not* using corfu reported that that didn't work for them. >>>>> Dunno. >>>> >>>> I'm not sure what the out-of-the-box behaviour here is meant to be. Can >>>> you make a recipe starting from "emacs -Q" (including adding dummy email >>>> addresses somewhere) that makes completion work how you want it to? For >>>> me: >>>> >>>> emacs -Q >>>> C-x m TAB >>>> >>>> inserts four spaces and prints in *Messages*: >>>> >>>> Loading eudcb-ecomplete...done >>>> Loading eudcb-mailabbrev...done >>>> >>>> (Those are new, due to 0e25a39e6... but I thought should be harmless.) >>> >>> Yuck, it's been a long time since I looked at this... >>> >>> In emacs -Q, message-mode `completion-at-point-functions' is: >>> >>> (eudc-capf-complete message-completion-function t) >>> >>> Actually that's what it is in my regular Emacs, as well. All I'd need >>> for EBDB (and BBDB and everything else) is for >>> `message-completion-function' to get called, which it isn't. I believe >>> you could allow this by having `eudc-capf-complete' return nil, or have >>> `eudc-capf-message-expand-name' return a `(list beg end <table>)' >>> structure that includes the prop `:exclusive 'no' at the end of it. That >>> would allow a fallthrough to the next function. >>> >>> In fact this whole message-mode thing is an impossible tangle, burritos >>> within burritos, and it would be great to get rid of it altogether. >>> >>> `message-completion-function' already looks at where it is in the >>> message buffer, and calls `message-expand-name' if it's in a "name" >>> header. That function consults `message-expand-name-databases', and >>> *that's* where EBDB should put its completion table, except >>> `message-expand-name-databases' is hardcoded to (or 'eudc 'bbdb) for no >>> reason. >> >> Should we set `message-expand-name-databases' to (or 'eudc 'bbdb 'ebdb)? >> Would that avoid the need to clobber `message-expand-name' for your use >> case? I'd be fine adding "known packages" there, as long as referring >> to non-core packages doesn't break anything (which it doesn't seem to, >> since BBDB is non-core, in GNU ELPA). > > I don't think that option should be aware of any contact management > packages at all! I'm attaching a patch that gets message.el about > halfway to where I think it ought to be: any such packages should be > able to push their own function onto `message-expand-name-databases'. > > This patch allows that while maintaining some backwards compatibility. > The whole > > (and (functionp (car message-expand-name-databases)) > (funcall (car message-expand-name-databases))) > > part inside `message-expand-name' verges on nonsense, but that > function is very weird anyway, in that it allows multiple values in > `message-expand-name-databases' but only ever consults one of them. > > I hope that the behavior hidden behind `message-expand-name-standard-ui' > becomes the new norm at some point. > > Right now, if EBDB or some other package pushed a function to > `message-expand-name-databases', that function would have to behave > differently depending on whether it's called by `message-expand-name' or > called as a part of `message--name-table', but it could reliably do that > by checking if `message-expand-name-standard-ui' is non-nil or not. > > One thing that might be difficult under the standard ui is the extended > cycling that BBDB/EBDB offer: expanding the initial string to a contact, > and *then* cycle through that contact's multiple mail addresses, any one > of which might not match the initial string at all. But one thing at a > time. > >>> So I need to clobber `message-expand-name' altogether. >> >> When I use EUDC, I too clobber `message-mode's completion, by binding >> TAB to `eudc-expand-try-all'. Part of the effort around eudc-capf was >> trying to improve the default so that this clobbering wouldn't be >> necessary. But as you point out, we're not there yet. > > I guess I don't know why you need to push `eudc-capf-complete' to > `completion-at-point-functions', when EUDC is already enabled within > `message-complete-name'. > > Right now `message-completion-function' does the work of detecting where > in the message buffer point is, and delegating to different functions > depending on the result. That seems reasonable to me, as the structure > of a message buffer is message-mode's business, and other programs > shouldn't need to duplicate the work of parsing text around point. Once > we've called `message-expand-name', though, I think we should be going > back to the built-in completion machinery of merging multiple completion > tables. > > If EUDC is called as a part of `message-expand-name', that seems like > enough to me. Take a hypothetical user who for some reason wants to use > *both* BBDB and EBDB. They have the choice of plugging both packages > into EUDC and simply setting `message-expand-name-databases' to '(eudc). > Or they could set it to '(bbdb ebdb-complete-mail). Or heck, they could > use BBDB via EUDC, and then set it to '(eudc ebdb-complete-mail), why > not. > > Doesn't that seem like enough? > >>> And EUDC having a function on `completion-at-point-functions' is >>> wrapping yet another burrito outside the existing burritos, because now >>> EUDC has a completion function both inside and outside message-mode's >>> own completion machinery. >>> >>> In fact the docstring of `eudc-capf-message-expand-name' makes it sound >>> like it thinks it's being called as part of `message-expand-name', but >>> now it isn't -- it's being called as part of the capf machinery. Or >>> rather, it could potentially be called in both places. >> >>> I think a half-stick of dynamite is the only real solution. >> >> Agreed it's currently hard to navigate, but I'd prefer to take minimal >> steps from what we have now, since people have configurations that >> depend on the current state. >> >> I think we should probably create a set of core "out-of-the-box" >> `message-mode' completion ERT tests. For example, given: >> >> "emacs -Q" + EBDB + a single EBDB entry "emacs-ert-test@HIDDEN" >> >> will "C-x m emacs TAB" work? If it won't, will the above-suggested >> `message-expand-name-databases' make it work? >> >> Once we get "emacs-ert-test" examples for @bbdb.gnu.org, >> @ecomplete.gnu.org, @mailabbrev.gnu.org, we'll be able to test how the >> various completion backends interact, and I'm thinking that will help us >> simplify TAB's default behaviour in `message-mode' (while preserving >> backward compatibility). >> >> Do you want to try adding a core ERT test for EBDB completion? Optional >> core tests are allowed to depend on GNU ELPA packages. > > If we allow (and eventually expect) `message-expand-name-databases' to > contain a list of functions, I imagine the ERT test will just define its > own dummy function/data, and test that expansion happens correctly. > > Hope all this isn't too obnoxious, I'm experimenting with this area; thanks for the patch. I'm first trying to get sensible default behaviour just from EUDC and its backends. (eudcb-mailabbrev doesn't work for me, in particular in the case of an empty .mailrc file. Alexander seems to be offline nowadays, unfortunately. I have a patch that simplifies eudc-mailabbrev-query-internal considerably (and makes it work how I think it should), but I'd probably want Alexander to review it. Likewise with the capf functionality he added. I'll give him a little while longer to reply, but I may just proceed, since I'd like to make this more solid before Emacs 29.1 is released). I wouldn't actually propose doing the following, but to give you a sense of my perspective I'll say: my inclination would be to replace the binding: TAB 'message-tab with TAB 'eudc-expand-try-all That's what I actually do, with eudc-server-list containing a BBDB entry followed by an LDAP entry. I press "TAB" to complete entries that I'm pretty sure are locally stored in my BBDB database. If there is no entry in BBDB, that will fall back to looking in LDAP. To force getting all results from both BBDB and LDAP, I do: C-u TAB That's the extent of my email completion setup. I think the only reason this setup doesn't generalize (assuming an EUDC EBDB backend in your case) is that other people like different UIs, e.g., when the same prefix expands to multiple possible addresses (as you alluded to), what UI should one use to select? I use the UI provided by EUDC. Anyway, tonight I did manage to add ERT tests for the EUDC LDAP backend. Can you try: make -C test lisp/net/eudc-tests.log on your machine to confirm they work for you? You need /usr/sbin/slapd installed. I'll work on adding EUDC BBDB backend tests, and I may write an EBDB EUDC backend. Once I have that, I'll be able to extract all the configuration resources (like .mailrc, ecompleterc, etc.) into a tarball. Then we can use that tarball to debug/redesign out-of-the-box completion scenarios, starting from "emacs -Q + tarball", "emacs -Q + EBDB + tarball", "emacs -Q + BBDB + tarball", etc. Without starting from "emacs -Q", it's impossible for me to know what I might break in other people's configurations, when making changes to message-mode's default completion code. Thomas
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 18 Nov 2022 04:21:30 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Nov 17 23:21:30 2022 Received: from localhost ([127.0.0.1]:34857 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ovssb-00078F-Mj for submit <at> debbugs.gnu.org; Thu, 17 Nov 2022 23:21:30 -0500 Received: from mail.ericabrahamsen.net ([52.70.2.18]:38884) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1ovssW-00077x-Hq for 59314 <at> debbugs.gnu.org; Thu, 17 Nov 2022 23:21:29 -0500 Received: from localhost (c-71-197-232-41.hsd1.wa.comcast.net [71.197.232.41]) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 182C5FA08F; Fri, 18 Nov 2022 04:21:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericabrahamsen.net; s=mail; t=1668745278; bh=JecA1WKCjodhgl78RQDNZPYq2l5RTXJHgV4t0uJGoqg=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=C/lmkcUQYGkuFgDH8sVHtOe93SeEW8cg3e4/I6AhPohZ9ZjAK4mZKSWgqwk8riT0s 2uLPxgOdsnql3G9eJ0LFRVIcDLTZFg9toGo++tI+SsAm01m+jK6FHW+H74Tdw07uRo lP8JzUJSt+4E5mWXVHacg/3RDxMi2WVgJUuyB9xA= From: Eric Abrahamsen <eric@HIDDEN> To: Thomas Fitzsimmons <fitzsim@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <m3leoal0o8.fsf@HIDDEN> (Thomas Fitzsimmons's message of "Wed, 16 Nov 2022 22:28:23 -0500") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <m3leoal0o8.fsf@HIDDEN> Date: Thu, 17 Nov 2022 20:21:15 -0800 Message-ID: <87sfigx58k.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 59314 Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <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 (---) --=-=-= Content-Type: text/plain On 11/16/22 22:28 PM, Thomas Fitzsimmons wrote: > Eric Abrahamsen <eric@HIDDEN> writes: > >> On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote: >>> Hi Eric, >>> >>> Thanks for filing this. >>> >>> Eric Abrahamsen <eric@HIDDEN> writes: >>> >>>> Address completion in message-mode has stopped working in master, >>>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This >>>> has been reported for several contact-management backends that expect to >>>> have their completions available with <TAB>. >>>> >>>> `completion-at-point-functions' contains '(eudc-capf-complete >>>> message-completion-function t) at this point -- `eudc-capf-complete' >>>> returns no matches, and no other functions in the list are consulted. >>> >>> I just checked and I didn't think the recent patch I pushed, >>> 0e25a39e6..., should have affected completion-at-point-functions. It >>> did change the default of eudc-server-hotlist from `nil' to >>> `(("localhost" . ecomplete) ("localhost" . mailabbrev))". I thought >>> that should only affect EUDC users who have not customized >>> eudc-server-hotlist. >>> >>> `eudc-capf-complete' was added to `message-mode' in commit >>> 620ac6735... I'm pretty sure that commenting out this line in >>> message.el will restore prior behaviour, but I don't yet know what prior >>> behaviour should be (see below). >>> >>> (add-hook 'completion-at-point-functions #'message-completion-function nil t) >>> >>>> On gnus.general, someone using BBDB and corfu reported that this recipe >>>> fixed the problem: >>>> >>>> (setq eudc-server-hotlist '(("localhost" . bbdb))) >>>> >>>> (add-hook 'message-mode-hook >>>> (lambda () >>>> (setq-local completion-at-point-functions >>>> (delq 'message-completion-function >>>> completion-at-point-functions)))) >>>> >>>> Someone else *not* using corfu reported that that didn't work for them. >>>> Dunno. >>> >>> I'm not sure what the out-of-the-box behaviour here is meant to be. Can >>> you make a recipe starting from "emacs -Q" (including adding dummy email >>> addresses somewhere) that makes completion work how you want it to? For >>> me: >>> >>> emacs -Q >>> C-x m TAB >>> >>> inserts four spaces and prints in *Messages*: >>> >>> Loading eudcb-ecomplete...done >>> Loading eudcb-mailabbrev...done >>> >>> (Those are new, due to 0e25a39e6... but I thought should be harmless.) >> >> Yuck, it's been a long time since I looked at this... >> >> In emacs -Q, message-mode `completion-at-point-functions' is: >> >> (eudc-capf-complete message-completion-function t) >> >> Actually that's what it is in my regular Emacs, as well. All I'd need >> for EBDB (and BBDB and everything else) is for >> `message-completion-function' to get called, which it isn't. I believe >> you could allow this by having `eudc-capf-complete' return nil, or have >> `eudc-capf-message-expand-name' return a `(list beg end <table>)' >> structure that includes the prop `:exclusive 'no' at the end of it. That >> would allow a fallthrough to the next function. >> >> In fact this whole message-mode thing is an impossible tangle, burritos >> within burritos, and it would be great to get rid of it altogether. >> >> `message-completion-function' already looks at where it is in the >> message buffer, and calls `message-expand-name' if it's in a "name" >> header. That function consults `message-expand-name-databases', and >> *that's* where EBDB should put its completion table, except >> `message-expand-name-databases' is hardcoded to (or 'eudc 'bbdb) for no >> reason. > > Should we set `message-expand-name-databases' to (or 'eudc 'bbdb 'ebdb)? > Would that avoid the need to clobber `message-expand-name' for your use > case? I'd be fine adding "known packages" there, as long as referring > to non-core packages doesn't break anything (which it doesn't seem to, > since BBDB is non-core, in GNU ELPA). I don't think that option should be aware of any contact management packages at all! I'm attaching a patch that gets message.el about halfway to where I think it ought to be: any such packages should be able to push their own function onto `message-expand-name-databases'. This patch allows that while maintaining some backwards compatibility. The whole (and (functionp (car message-expand-name-databases)) (funcall (car message-expand-name-databases))) part inside `message-expand-name' verges on nonsense, but that function is very weird anyway, in that it allows multiple values in `message-expand-name-databases' but only ever consults one of them. I hope that the behavior hidden behind `message-expand-name-standard-ui' becomes the new norm at some point. Right now, if EBDB or some other package pushed a function to `message-expand-name-databases', that function would have to behave differently depending on whether it's called by `message-expand-name' or called as a part of `message--name-table', but it could reliably do that by checking if `message-expand-name-standard-ui' is non-nil or not. One thing that might be difficult under the standard ui is the extended cycling that BBDB/EBDB offer: expanding the initial string to a contact, and *then* cycle through that contact's multiple mail addresses, any one of which might not match the initial string at all. But one thing at a time. >> So I need to clobber `message-expand-name' altogether. > > When I use EUDC, I too clobber `message-mode's completion, by binding > TAB to `eudc-expand-try-all'. Part of the effort around eudc-capf was > trying to improve the default so that this clobbering wouldn't be > necessary. But as you point out, we're not there yet. I guess I don't know why you need to push `eudc-capf-complete' to `completion-at-point-functions', when EUDC is already enabled within `message-complete-name'. Right now `message-completion-function' does the work of detecting where in the message buffer point is, and delegating to different functions depending on the result. That seems reasonable to me, as the structure of a message buffer is message-mode's business, and other programs shouldn't need to duplicate the work of parsing text around point. Once we've called `message-expand-name', though, I think we should be going back to the built-in completion machinery of merging multiple completion tables. If EUDC is called as a part of `message-expand-name', that seems like enough to me. Take a hypothetical user who for some reason wants to use *both* BBDB and EBDB. They have the choice of plugging both packages into EUDC and simply setting `message-expand-name-databases' to '(eudc). Or they could set it to '(bbdb ebdb-complete-mail). Or heck, they could use BBDB via EUDC, and then set it to '(eudc ebdb-complete-mail), why not. Doesn't that seem like enough? >> And EUDC having a function on `completion-at-point-functions' is >> wrapping yet another burrito outside the existing burritos, because now >> EUDC has a completion function both inside and outside message-mode's >> own completion machinery. >> >> In fact the docstring of `eudc-capf-message-expand-name' makes it sound >> like it thinks it's being called as part of `message-expand-name', but >> now it isn't -- it's being called as part of the capf machinery. Or >> rather, it could potentially be called in both places. > >> I think a half-stick of dynamite is the only real solution. > > Agreed it's currently hard to navigate, but I'd prefer to take minimal > steps from what we have now, since people have configurations that > depend on the current state. > > I think we should probably create a set of core "out-of-the-box" > `message-mode' completion ERT tests. For example, given: > > "emacs -Q" + EBDB + a single EBDB entry "emacs-ert-test@HIDDEN" > > will "C-x m emacs TAB" work? If it won't, will the above-suggested > `message-expand-name-databases' make it work? > > Once we get "emacs-ert-test" examples for @bbdb.gnu.org, > @ecomplete.gnu.org, @mailabbrev.gnu.org, we'll be able to test how the > various completion backends interact, and I'm thinking that will help us > simplify TAB's default behaviour in `message-mode' (while preserving > backward compatibility). > > Do you want to try adding a core ERT test for EBDB completion? Optional > core tests are allowed to depend on GNU ELPA packages. If we allow (and eventually expect) `message-expand-name-databases' to contain a list of functions, I imagine the ERT test will just define its own dummy function/data, and test that expansion happens correctly. Hope all this isn't too obnoxious, Eric --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=message-name-databases.diff diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 3bbd68bdcd..e609aa7405 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el @@ -8266,9 +8266,11 @@ message-completion-alist (defcustom message-expand-name-databases '(bbdb eudc) "List of databases to try for name completion (`message-expand-name'). -Each element is a symbol and can be `bbdb' or `eudc'." +Each element can be the symbol `bbdb', the symbol `eudc', or a function." :group 'message - :type '(set (const bbdb) (const eudc))) + :version "29.1" + :type '(repeat + (choice (const bbdb) (const eudc) function))) (defcustom message-tab-body-function nil "Function to execute when `message-tab' (TAB) is executed in the body. @@ -8379,6 +8381,8 @@ message-expand-name ;; completion took place. So let's double check the buffer was ;; not modified. (/= starttick (buffer-modified-tick))))) + ((and (functionp (car message-expand-name-databases)) + (funcall (car message-expand-name-databases)))) (t (expand-abbrev)))) @@ -8408,26 +8412,28 @@ message--bbdb-query-with-words (defun message--name-table (orig-string) (let ((orig-words (split-string orig-string "[ \t]+")) - eudc-responses - bbdb-responses) + database-responses) (lambda (string pred action) (pcase action ('metadata '(metadata (category . email))) ('lambda t) ((or 'nil 't) (when orig-words - (when (and (memq 'eudc message-expand-name-databases) - (boundp 'eudc-protocol) - eudc-protocol) - (setq eudc-responses (eudc-query-with-words orig-words))) - (when (memq 'bbdb message-expand-name-databases) - (setq bbdb-responses (message--bbdb-query-with-words orig-words))) + (dolist (db message-expand-name-databases) + (push + (pcase db + ((and `eudc (guard (bound-and-true-p eudc-protocol))) + (eudc-query-with-words orig-words)) + (`bbdb (message--bbdb-query-with-words orig-words)) + ((pred functionp) (funcall db orig-words))) + database-responses)) (ecomplete-setup) (setq orig-words nil)) (let ((candidates ;; FIXME: Add `expand-abbrev'! - (append (all-completions string eudc-responses pred) - (all-completions string bbdb-responses pred) + (append (mapcan (lambda (resp) + (all-completions string resp pred)) + database-responses) (when (and (bound-and-true-p ecomplete-database) (fboundp 'ecomplete-completion-table)) (all-completions string --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 17 Nov 2022 03:32:55 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 16 22:32:55 2022 Received: from localhost ([127.0.0.1]:58685 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ovVe3-0007ZI-3R for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 22:32:55 -0500 Received: from mail.fitzsim.org ([69.165.165.189]:46556) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <fitzsim@HIDDEN>) id 1ovVe1-0007Z7-Sx for 59314 <at> debbugs.gnu.org; Wed, 16 Nov 2022 22:32:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org ; s=20220430; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=EaVKCNaFh3rwWK2IOb9gj7ecx26Sepaf0ggyE7y69Ig=; b=LRN+6wLBUZjEjFsVOL4rTGgjUB /nFUTNBmoVijdHw2usP/DAmVYBRLC2SPsPHBXLiEzOdzn5sNsIhHfN+im1moebXBkzKICdarV620f L3wEiN20uzuLVsBuMvmwl3+6dQrzXKCnpdjho5/Q7FqBxiY2GI3UMLlKI8chpXKDejcuDnW7xXXsw N5YRFQIBDjr7rSwC59GyGV4AFrZ2G7jkvxxoVPQUSxV069nlA9C0hwe4dSE+Ap8Vlt5H1nZaQ1Azv YRHT+3InrZKQtdqqDzDKuM6weUWjRvhaOnvOGF55WFzyFC9FY67JlTvhp6bcJ9lZcxRiOGQ+z3X+I x/mmv38g==; Received: from [192.168.1.1] (helo=localhost.localdomain) by mail.fitzsim.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <fitzsim@HIDDEN>) id 1ovVdw-000DKF-2S; Wed, 16 Nov 2022 22:32:48 -0500 From: Thomas Fitzsimmons <fitzsim@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <87k03uz8ge.fsf@HIDDEN> (Eric Abrahamsen's message of "Wed, 16 Nov 2022 17:16:33 -0800") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <m35yfemxho.fsf@HIDDEN> <87k03uz8ge.fsf@HIDDEN> Date: Wed, 16 Nov 2022 22:32:47 -0500 Message-ID: <m3h6yyl0gw.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <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 (-) Eric Abrahamsen <eric@HIDDEN> writes: > On 11/16/22 15:54 PM, Thomas Fitzsimmons wrote: >> Hi Eric, >> >> Eric Abrahamsen <eric@HIDDEN> writes: >> >>> On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote: >>>> Hi Eric, >>>> >>>> Thanks for filing this. >>>> >>>> Eric Abrahamsen <eric@HIDDEN> writes: >>>> >>>>> Address completion in message-mode has stopped working in master, >>>>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This >>>>> has been reported for several contact-management backends that expect to >>>>> have their completions available with <TAB>. >>>>> >>>>> `completion-at-point-functions' contains '(eudc-capf-complete >>>>> message-completion-function t) at this point -- `eudc-capf-complete' >>>>> returns no matches, and no other functions in the list are consulted. >>>> >>>> I just checked and I didn't think the recent patch I pushed, >>>> 0e25a39e6..., should have affected completion-at-point-functions. It >>>> did change the default of eudc-server-hotlist from `nil' to >>>> `(("localhost" . ecomplete) ("localhost" . mailabbrev))". I thought >>>> that should only affect EUDC users who have not customized >>>> eudc-server-hotlist. >>>> >>>> `eudc-capf-complete' was added to `message-mode' in commit >>>> 620ac6735... I'm pretty sure that commenting out this line in >>>> message.el will restore prior behaviour, but I don't yet know what prior >>>> behaviour should be (see below). >>>> >>>> (add-hook 'completion-at-point-functions #'message-completion-function nil t) >>>> >>>>> On gnus.general, someone using BBDB and corfu reported that this recipe >>>>> fixed the problem: >>>>> >>>>> (setq eudc-server-hotlist '(("localhost" . bbdb))) >>>>> >>>>> (add-hook 'message-mode-hook >>>>> (lambda () >>>>> (setq-local completion-at-point-functions >>>>> (delq 'message-completion-function >>>>> completion-at-point-functions)))) >>>>> >>>>> Someone else *not* using corfu reported that that didn't work for them. >>>>> Dunno. >>>> >>>> I'm not sure what the out-of-the-box behaviour here is meant to be. Can >>>> you make a recipe starting from "emacs -Q" (including adding dummy email >>>> addresses somewhere) that makes completion work how you want it to? For >>>> me: >>>> >>>> emacs -Q >>>> C-x m TAB >>>> >>>> inserts four spaces and prints in *Messages*: >>>> >>>> Loading eudcb-ecomplete...done >>>> Loading eudcb-mailabbrev...done >>>> >>>> (Those are new, due to 0e25a39e6... but I thought should be harmless.) >>> >>> Yuck, it's been a long time since I looked at this... >>> >>> In emacs -Q, message-mode `completion-at-point-functions' is: >>> >>> (eudc-capf-complete message-completion-function t) >>> >>> Actually that's what it is in my regular Emacs, as well. All I'd need >>> for EBDB (and BBDB and everything else) is for >>> `message-completion-function' to get called, which it isn't. I believe >>> you could allow this by having `eudc-capf-complete' return nil, or have >>> `eudc-capf-message-expand-name' return a `(list beg end <table>)' >>> structure that includes the prop `:exclusive 'no' at the end of it. That >>> would allow a fallthrough to the next function. >> >> Ah, OK, that's what happened then. The most recent patch I pushed made >> `eudc-server-hotlist' non-nil by default, which makes >> `eudc-capf-message-expand-name' do something other than return nil. >> >> Can you try just (setq eudc-server-hotlist nil) and confirm that avoids >> the breakage? >> >> If it does, I'll revert that part of the patch for now. > > Also, I didn't mean that rant to be directed at you! I realized it might > have come off that way. No, I didn't interpret it that way; I appreciated you digging into the complexity. I still have to figure out how to hook in `eudc-expand-try-all' so that all configured EUDC backends are attempted by default. (See the ERT idea in my other response). Thanks, Thomas
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 17 Nov 2022 03:28:33 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 16 22:28:33 2022 Received: from localhost ([127.0.0.1]:58679 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ovVZp-0007RD-6m for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 22:28:33 -0500 Received: from mail.fitzsim.org ([69.165.165.189]:43264) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <fitzsim@HIDDEN>) id 1ovVZm-0007Qy-Hz for 59314 <at> debbugs.gnu.org; Wed, 16 Nov 2022 22:28:31 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org ; s=20220430; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=4XwQedQDB2K6glzY4j73/KdOop0/R30V0iYnZSuEmO0=; b=jemsdUyHVCdGdZqTdNiA94HXaG BMs/WSDr6Nuu6mmwrNbQzJ9jtwcHpRlqyUNcdzj+qRAHR3JJWZ0+f/yqfbiuX6juUr2aAJQjh+8FF umeP4VeFxV9Zkw73juUUSAsJBaBPY7qNkNfHBreTNMnvU/uDQnI2QKsmbMzJci1dPe/5btPvow0Pg t6O5Dm6Trvv0x3AghYfNAnzNKQ/9ilr/Y1/BYY3bhBOlTgW5Rv67zxfv6nt4tdPvYNkHfnC5dwbio Y+uFnhfDzhccjOr+H/8XPGsY+UNsI+ufqz4VsKtkIOX9JE+z8BHxaVnykeMenlqjiqV4mKINn5JG/ t3wimVnQ==; Received: from [192.168.1.1] (helo=localhost.localdomain) by mail.fitzsim.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <fitzsim@HIDDEN>) id 1ovVZf-000DJm-G6; Wed, 16 Nov 2022 22:28:24 -0500 From: Thomas Fitzsimmons <fitzsim@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <878rka1y4n.fsf@HIDDEN> (Eric Abrahamsen's message of "Wed, 16 Nov 2022 11:46:00 -0800") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> Date: Wed, 16 Nov 2022 22:28:23 -0500 Message-ID: <m3leoal0o8.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <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 (-) Eric Abrahamsen <eric@HIDDEN> writes: > On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote: >> Hi Eric, >> >> Thanks for filing this. >> >> Eric Abrahamsen <eric@HIDDEN> writes: >> >>> Address completion in message-mode has stopped working in master, >>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This >>> has been reported for several contact-management backends that expect to >>> have their completions available with <TAB>. >>> >>> `completion-at-point-functions' contains '(eudc-capf-complete >>> message-completion-function t) at this point -- `eudc-capf-complete' >>> returns no matches, and no other functions in the list are consulted. >> >> I just checked and I didn't think the recent patch I pushed, >> 0e25a39e6..., should have affected completion-at-point-functions. It >> did change the default of eudc-server-hotlist from `nil' to >> `(("localhost" . ecomplete) ("localhost" . mailabbrev))". I thought >> that should only affect EUDC users who have not customized >> eudc-server-hotlist. >> >> `eudc-capf-complete' was added to `message-mode' in commit >> 620ac6735... I'm pretty sure that commenting out this line in >> message.el will restore prior behaviour, but I don't yet know what prior >> behaviour should be (see below). >> >> (add-hook 'completion-at-point-functions #'message-completion-function nil t) >> >>> On gnus.general, someone using BBDB and corfu reported that this recipe >>> fixed the problem: >>> >>> (setq eudc-server-hotlist '(("localhost" . bbdb))) >>> >>> (add-hook 'message-mode-hook >>> (lambda () >>> (setq-local completion-at-point-functions >>> (delq 'message-completion-function >>> completion-at-point-functions)))) >>> >>> Someone else *not* using corfu reported that that didn't work for them. >>> Dunno. >> >> I'm not sure what the out-of-the-box behaviour here is meant to be. Can >> you make a recipe starting from "emacs -Q" (including adding dummy email >> addresses somewhere) that makes completion work how you want it to? For >> me: >> >> emacs -Q >> C-x m TAB >> >> inserts four spaces and prints in *Messages*: >> >> Loading eudcb-ecomplete...done >> Loading eudcb-mailabbrev...done >> >> (Those are new, due to 0e25a39e6... but I thought should be harmless.) > > Yuck, it's been a long time since I looked at this... > > In emacs -Q, message-mode `completion-at-point-functions' is: > > (eudc-capf-complete message-completion-function t) > > Actually that's what it is in my regular Emacs, as well. All I'd need > for EBDB (and BBDB and everything else) is for > `message-completion-function' to get called, which it isn't. I believe > you could allow this by having `eudc-capf-complete' return nil, or have > `eudc-capf-message-expand-name' return a `(list beg end <table>)' > structure that includes the prop `:exclusive 'no' at the end of it. That > would allow a fallthrough to the next function. > > In fact this whole message-mode thing is an impossible tangle, burritos > within burritos, and it would be great to get rid of it altogether. > > `message-completion-function' already looks at where it is in the > message buffer, and calls `message-expand-name' if it's in a "name" > header. That function consults `message-expand-name-databases', and > *that's* where EBDB should put its completion table, except > `message-expand-name-databases' is hardcoded to (or 'eudc 'bbdb) for no > reason. Should we set `message-expand-name-databases' to (or 'eudc 'bbdb 'ebdb)? Would that avoid the need to clobber `message-expand-name' for your use case? I'd be fine adding "known packages" there, as long as referring to non-core packages doesn't break anything (which it doesn't seem to, since BBDB is non-core, in GNU ELPA). > So I need to clobber `message-expand-name' altogether. When I use EUDC, I too clobber `message-mode's completion, by binding TAB to `eudc-expand-try-all'. Part of the effort around eudc-capf was trying to improve the default so that this clobbering wouldn't be necessary. But as you point out, we're not there yet. > And EUDC having a function on `completion-at-point-functions' is > wrapping yet another burrito outside the existing burritos, because now > EUDC has a completion function both inside and outside message-mode's > own completion machinery. > > In fact the docstring of `eudc-capf-message-expand-name' makes it sound > like it thinks it's being called as part of `message-expand-name', but > now it isn't -- it's being called as part of the capf machinery. Or > rather, it could potentially be called in both places. > I think a half-stick of dynamite is the only real solution. Agreed it's currently hard to navigate, but I'd prefer to take minimal steps from what we have now, since people have configurations that depend on the current state. I think we should probably create a set of core "out-of-the-box" `message-mode' completion ERT tests. For example, given: "emacs -Q" + EBDB + a single EBDB entry "emacs-ert-test@HIDDEN" will "C-x m emacs TAB" work? If it won't, will the above-suggested `message-expand-name-databases' make it work? Once we get "emacs-ert-test" examples for @bbdb.gnu.org, @ecomplete.gnu.org, @mailabbrev.gnu.org, we'll be able to test how the various completion backends interact, and I'm thinking that will help us simplify TAB's default behaviour in `message-mode' (while preserving backward compatibility). Do you want to try adding a core ERT test for EBDB completion? Optional core tests are allowed to depend on GNU ELPA packages. Thanks, Thomas
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 17 Nov 2022 02:04:17 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 16 21:04:17 2022 Received: from localhost ([127.0.0.1]:58598 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ovUGH-000393-9x for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 21:04:17 -0500 Received: from mail.ericabrahamsen.net ([52.70.2.18]:58696) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1ovUGE-00038p-GU for 59314 <at> debbugs.gnu.org; Wed, 16 Nov 2022 21:04:15 -0500 Received: from localhost (c-71-197-232-41.hsd1.wa.comcast.net [71.197.232.41]) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 30FD8FA59E; Thu, 17 Nov 2022 02:04:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericabrahamsen.net; s=mail; t=1668650647; bh=BrBV/wtIfJeVEK6BvcsGvEvS/TpkubG7OgRkIZi2nTo=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=dFVKv4TFWa41RLA7thjxSP+rMyZm1oMYXIv0bhuBNIbqTWbR2JB9W7foj8cFgy/DT Qkq1nN43XK97AkO3VitOucTz2fg23NUKZ1hJtmFI+8qClCusiQ4Tdic74HM5Ft18av ZRePCex7sVPngGu1xWJ8ZdEjigz1xQvbM17l0q5I= From: Eric Abrahamsen <eric@HIDDEN> To: Thomas Fitzsimmons <fitzsim@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <m31qq2mkig.fsf@HIDDEN> (Thomas Fitzsimmons's message of "Wed, 16 Nov 2022 20:34:31 -0500") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <m35yfemxho.fsf@HIDDEN> <87zgcqzg7s.fsf@HIDDEN> <m31qq2mkig.fsf@HIDDEN> Date: Wed, 16 Nov 2022 18:04:06 -0800 Message-ID: <87leoafiax.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 59314 Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <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 (---) On 11/16/22 20:34 PM, Thomas Fitzsimmons wrote: > Eric Abrahamsen <eric@HIDDEN> writes: > >> Thomas Fitzsimmons <fitzsim@HIDDEN> writes: >> >>> Hi Eric, >>> >>> Eric Abrahamsen <eric@HIDDEN> writes: >>> >>>> On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote: >>>>> Hi Eric, >>>>> >>>>> Thanks for filing this. >>>>> >>>>> Eric Abrahamsen <eric@HIDDEN> writes: >>>>> >>>>>> Address completion in message-mode has stopped working in master, >>>>>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This >>>>>> has been reported for several contact-management backends that expect to >>>>>> have their completions available with <TAB>. >>>>>> >>>>>> `completion-at-point-functions' contains '(eudc-capf-complete >>>>>> message-completion-function t) at this point -- `eudc-capf-complete' >>>>>> returns no matches, and no other functions in the list are consulted. >>>>> >>>>> I just checked and I didn't think the recent patch I pushed, >>>>> 0e25a39e6..., should have affected completion-at-point-functions. It >>>>> did change the default of eudc-server-hotlist from `nil' to >>>>> `(("localhost" . ecomplete) ("localhost" . mailabbrev))". I thought >>>>> that should only affect EUDC users who have not customized >>>>> eudc-server-hotlist. >>>>> >>>>> `eudc-capf-complete' was added to `message-mode' in commit >>>>> 620ac6735... I'm pretty sure that commenting out this line in >>>>> message.el will restore prior behaviour, but I don't yet know what prior >>>>> behaviour should be (see below). >>>>> >>>>> (add-hook 'completion-at-point-functions #'message-completion-function nil t) >>>>> >>>>>> On gnus.general, someone using BBDB and corfu reported that this recipe >>>>>> fixed the problem: >>>>>> >>>>>> (setq eudc-server-hotlist '(("localhost" . bbdb))) >>>>>> >>>>>> (add-hook 'message-mode-hook >>>>>> (lambda () >>>>>> (setq-local completion-at-point-functions >>>>>> (delq 'message-completion-function >>>>>> completion-at-point-functions)))) >>>>>> >>>>>> Someone else *not* using corfu reported that that didn't work for them. >>>>>> Dunno. >>>>> >>>>> I'm not sure what the out-of-the-box behaviour here is meant to be. Can >>>>> you make a recipe starting from "emacs -Q" (including adding dummy email >>>>> addresses somewhere) that makes completion work how you want it to? For >>>>> me: >>>>> >>>>> emacs -Q >>>>> C-x m TAB >>>>> >>>>> inserts four spaces and prints in *Messages*: >>>>> >>>>> Loading eudcb-ecomplete...done >>>>> Loading eudcb-mailabbrev...done >>>>> >>>>> (Those are new, due to 0e25a39e6... but I thought should be harmless.) >>>> >>>> Yuck, it's been a long time since I looked at this... >>>> >>>> In emacs -Q, message-mode `completion-at-point-functions' is: >>>> >>>> (eudc-capf-complete message-completion-function t) >>>> >>>> Actually that's what it is in my regular Emacs, as well. All I'd need >>>> for EBDB (and BBDB and everything else) is for >>>> `message-completion-function' to get called, which it isn't. I believe >>>> you could allow this by having `eudc-capf-complete' return nil, or have >>>> `eudc-capf-message-expand-name' return a `(list beg end <table>)' >>>> structure that includes the prop `:exclusive 'no' at the end of it. That >>>> would allow a fallthrough to the next function. >>> >>> Ah, OK, that's what happened then. The most recent patch I pushed made >>> `eudc-server-hotlist' non-nil by default, which makes >>> `eudc-capf-message-expand-name' do something other than return nil. >>> >>> Can you try just (setq eudc-server-hotlist nil) and confirm that avoids >>> the breakage? >>> >>> If it does, I'll revert that part of the patch for now. >> >> It does! Thanks. > > As I was considering reverting the default change, I figured that this > is likely a bug in `eudc-capf-message-expand-name'; it should return nil > if it gets no results from any EUDC backend, right? I pushed a fix for > that. Can you apply it to your tree and see if your completion setup > works again? Yes that worked, rebuilt Emacs with no additional changes.
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 17 Nov 2022 01:34:42 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 16 20:34:42 2022 Received: from localhost ([127.0.0.1]:58575 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ovTnd-0002Nq-JR for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 20:34:42 -0500 Received: from mail.fitzsim.org ([69.165.165.189]:46164) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <fitzsim@HIDDEN>) id 1ovTnb-0002Nd-1f for 59314 <at> debbugs.gnu.org; Wed, 16 Nov 2022 20:34:39 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org ; s=20220430; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=u1zw8x1tZaM4z6GtOzvgJm/2n9Ckic3O0JTkxey6UvU=; b=J3uHUkjwxUP9+1fZheH2oPfSy9 UfEagHa2tphPOCNFnUV1pzR8pQAW2l0YgaT7c8lfq5AVegIwED4WVZa6OJM/nxjf1dws/z5paBx4Q fAwanu54cv3vFMoOulvrB966dZ4oA8UQLu8WnA7WgVF9vBBv0Vx4LKhlhp9KLyIpvEwubudOUrzfo VU6Z6DvX+Bq3aCY3gqjnVSpD6lv8YErt9CkewdZDIahXNJszuLVnFrYBcSCpvHCxxUSZ6+nZSlZT2 c5LEp/MFGHG96zuICvIvAVudCNIsGgeBC8Bym62cEPGNszUfJ1XgJiv7spyVc6bmp1CEWvqWM6kd0 wYvL+QdQ==; Received: from [192.168.1.1] (helo=localhost.localdomain) by mail.fitzsim.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <fitzsim@HIDDEN>) id 1ovTnU-000DG6-6Y; Wed, 16 Nov 2022 20:34:32 -0500 From: Thomas Fitzsimmons <fitzsim@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <87zgcqzg7s.fsf@HIDDEN> (Eric Abrahamsen's message of "Wed, 16 Nov 2022 14:28:55 -0800") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <m35yfemxho.fsf@HIDDEN> <87zgcqzg7s.fsf@HIDDEN> Date: Wed, 16 Nov 2022 20:34:31 -0500 Message-ID: <m31qq2mkig.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <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 (-) Eric Abrahamsen <eric@HIDDEN> writes: > Thomas Fitzsimmons <fitzsim@HIDDEN> writes: > >> Hi Eric, >> >> Eric Abrahamsen <eric@HIDDEN> writes: >> >>> On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote: >>>> Hi Eric, >>>> >>>> Thanks for filing this. >>>> >>>> Eric Abrahamsen <eric@HIDDEN> writes: >>>> >>>>> Address completion in message-mode has stopped working in master, >>>>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This >>>>> has been reported for several contact-management backends that expect to >>>>> have their completions available with <TAB>. >>>>> >>>>> `completion-at-point-functions' contains '(eudc-capf-complete >>>>> message-completion-function t) at this point -- `eudc-capf-complete' >>>>> returns no matches, and no other functions in the list are consulted. >>>> >>>> I just checked and I didn't think the recent patch I pushed, >>>> 0e25a39e6..., should have affected completion-at-point-functions. It >>>> did change the default of eudc-server-hotlist from `nil' to >>>> `(("localhost" . ecomplete) ("localhost" . mailabbrev))". I thought >>>> that should only affect EUDC users who have not customized >>>> eudc-server-hotlist. >>>> >>>> `eudc-capf-complete' was added to `message-mode' in commit >>>> 620ac6735... I'm pretty sure that commenting out this line in >>>> message.el will restore prior behaviour, but I don't yet know what prior >>>> behaviour should be (see below). >>>> >>>> (add-hook 'completion-at-point-functions #'message-completion-function nil t) >>>> >>>>> On gnus.general, someone using BBDB and corfu reported that this recipe >>>>> fixed the problem: >>>>> >>>>> (setq eudc-server-hotlist '(("localhost" . bbdb))) >>>>> >>>>> (add-hook 'message-mode-hook >>>>> (lambda () >>>>> (setq-local completion-at-point-functions >>>>> (delq 'message-completion-function >>>>> completion-at-point-functions)))) >>>>> >>>>> Someone else *not* using corfu reported that that didn't work for them. >>>>> Dunno. >>>> >>>> I'm not sure what the out-of-the-box behaviour here is meant to be. Can >>>> you make a recipe starting from "emacs -Q" (including adding dummy email >>>> addresses somewhere) that makes completion work how you want it to? For >>>> me: >>>> >>>> emacs -Q >>>> C-x m TAB >>>> >>>> inserts four spaces and prints in *Messages*: >>>> >>>> Loading eudcb-ecomplete...done >>>> Loading eudcb-mailabbrev...done >>>> >>>> (Those are new, due to 0e25a39e6... but I thought should be harmless.) >>> >>> Yuck, it's been a long time since I looked at this... >>> >>> In emacs -Q, message-mode `completion-at-point-functions' is: >>> >>> (eudc-capf-complete message-completion-function t) >>> >>> Actually that's what it is in my regular Emacs, as well. All I'd need >>> for EBDB (and BBDB and everything else) is for >>> `message-completion-function' to get called, which it isn't. I believe >>> you could allow this by having `eudc-capf-complete' return nil, or have >>> `eudc-capf-message-expand-name' return a `(list beg end <table>)' >>> structure that includes the prop `:exclusive 'no' at the end of it. That >>> would allow a fallthrough to the next function. >> >> Ah, OK, that's what happened then. The most recent patch I pushed made >> `eudc-server-hotlist' non-nil by default, which makes >> `eudc-capf-message-expand-name' do something other than return nil. >> >> Can you try just (setq eudc-server-hotlist nil) and confirm that avoids >> the breakage? >> >> If it does, I'll revert that part of the patch for now. > > It does! Thanks. As I was considering reverting the default change, I figured that this is likely a bug in `eudc-capf-message-expand-name'; it should return nil if it gets no results from any EUDC backend, right? I pushed a fix for that. Can you apply it to your tree and see if your completion setup works again? Thanks, Thomas
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 17 Nov 2022 01:16:45 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 16 20:16:44 2022 Received: from localhost ([127.0.0.1]:58541 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ovTWG-0001vR-Gj for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 20:16:44 -0500 Received: from mail.ericabrahamsen.net ([52.70.2.18]:36844) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1ovTWD-0001vE-GL for 59314 <at> debbugs.gnu.org; Wed, 16 Nov 2022 20:16:43 -0500 Received: from localhost (unknown [76.135.104.211]) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id EAA70FA59E; Thu, 17 Nov 2022 01:16:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericabrahamsen.net; s=mail; t=1668647795; bh=7nraG8W41v20Iu0w4cCWRRpiRdodFEm6rf4Jqma+UrA=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=js9Ns4DA5zzpFGwl6jq1szgDfJlQIzbmx1wpT+czUPja1vB5I5DRpadgJjiE9rrOp s3C3BXWHc7zKKlRyrgZHKl6bzOhppZDOuemh9VVrwkzz5dzgRY6v9k1q/JgKtnqwUo F/oBTD6ASJZvQ+oGlstmFuTVx8QG3WfXXyZgDMwA= From: Eric Abrahamsen <eric@HIDDEN> To: Thomas Fitzsimmons <fitzsim@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <m35yfemxho.fsf@HIDDEN> (Thomas Fitzsimmons's message of "Wed, 16 Nov 2022 15:54:11 -0500") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <m35yfemxho.fsf@HIDDEN> Date: Wed, 16 Nov 2022 17:16:33 -0800 Message-ID: <87k03uz8ge.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 59314 Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <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 (---) On 11/16/22 15:54 PM, Thomas Fitzsimmons wrote: > Hi Eric, > > Eric Abrahamsen <eric@HIDDEN> writes: > >> On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote: >>> Hi Eric, >>> >>> Thanks for filing this. >>> >>> Eric Abrahamsen <eric@HIDDEN> writes: >>> >>>> Address completion in message-mode has stopped working in master, >>>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This >>>> has been reported for several contact-management backends that expect to >>>> have their completions available with <TAB>. >>>> >>>> `completion-at-point-functions' contains '(eudc-capf-complete >>>> message-completion-function t) at this point -- `eudc-capf-complete' >>>> returns no matches, and no other functions in the list are consulted. >>> >>> I just checked and I didn't think the recent patch I pushed, >>> 0e25a39e6..., should have affected completion-at-point-functions. It >>> did change the default of eudc-server-hotlist from `nil' to >>> `(("localhost" . ecomplete) ("localhost" . mailabbrev))". I thought >>> that should only affect EUDC users who have not customized >>> eudc-server-hotlist. >>> >>> `eudc-capf-complete' was added to `message-mode' in commit >>> 620ac6735... I'm pretty sure that commenting out this line in >>> message.el will restore prior behaviour, but I don't yet know what prior >>> behaviour should be (see below). >>> >>> (add-hook 'completion-at-point-functions #'message-completion-function nil t) >>> >>>> On gnus.general, someone using BBDB and corfu reported that this recipe >>>> fixed the problem: >>>> >>>> (setq eudc-server-hotlist '(("localhost" . bbdb))) >>>> >>>> (add-hook 'message-mode-hook >>>> (lambda () >>>> (setq-local completion-at-point-functions >>>> (delq 'message-completion-function >>>> completion-at-point-functions)))) >>>> >>>> Someone else *not* using corfu reported that that didn't work for them. >>>> Dunno. >>> >>> I'm not sure what the out-of-the-box behaviour here is meant to be. Can >>> you make a recipe starting from "emacs -Q" (including adding dummy email >>> addresses somewhere) that makes completion work how you want it to? For >>> me: >>> >>> emacs -Q >>> C-x m TAB >>> >>> inserts four spaces and prints in *Messages*: >>> >>> Loading eudcb-ecomplete...done >>> Loading eudcb-mailabbrev...done >>> >>> (Those are new, due to 0e25a39e6... but I thought should be harmless.) >> >> Yuck, it's been a long time since I looked at this... >> >> In emacs -Q, message-mode `completion-at-point-functions' is: >> >> (eudc-capf-complete message-completion-function t) >> >> Actually that's what it is in my regular Emacs, as well. All I'd need >> for EBDB (and BBDB and everything else) is for >> `message-completion-function' to get called, which it isn't. I believe >> you could allow this by having `eudc-capf-complete' return nil, or have >> `eudc-capf-message-expand-name' return a `(list beg end <table>)' >> structure that includes the prop `:exclusive 'no' at the end of it. That >> would allow a fallthrough to the next function. > > Ah, OK, that's what happened then. The most recent patch I pushed made > `eudc-server-hotlist' non-nil by default, which makes > `eudc-capf-message-expand-name' do something other than return nil. > > Can you try just (setq eudc-server-hotlist nil) and confirm that avoids > the breakage? > > If it does, I'll revert that part of the patch for now. Also, I didn't mean that rant to be directed at you! I realized it might have come off that way.
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 16 Nov 2022 22:29:06 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 16 17:29:06 2022 Received: from localhost ([127.0.0.1]:58411 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ovQu2-0003zz-0y for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 17:29:06 -0500 Received: from mail.ericabrahamsen.net ([52.70.2.18]:40706) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1ovQtz-0003zV-VI for 59314 <at> debbugs.gnu.org; Wed, 16 Nov 2022 17:29:04 -0500 Received: from localhost (unknown [76.135.104.211]) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id D043DFA0E3; Wed, 16 Nov 2022 22:28:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericabrahamsen.net; s=mail; t=1668637737; bh=98pA2Gi2rdd0OBjHjQhVOP+U+8p9kbTaZxBtmkcRPQI=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=HEPlgHt4GTxRvjZ4NJ3aBVdGXOS7cASxIZoenO+UQAQvb1h2mV9Y+qwhqGzCDjU75 XjsaEDBfyqDJNbUBusuVbvE7kj5hjkhdec20+HhVtm0RJehNtdNHtkkWFI9wdxmGU6 D6FGeJexAy66gwGomL+UDs5ingtEp4dq9ppu+EW8= From: Eric Abrahamsen <eric@HIDDEN> To: Thomas Fitzsimmons <fitzsim@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <m35yfemxho.fsf@HIDDEN> (Thomas Fitzsimmons's message of "Wed, 16 Nov 2022 15:54:11 -0500") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> <m35yfemxho.fsf@HIDDEN> Date: Wed, 16 Nov 2022 14:28:55 -0800 Message-ID: <87zgcqzg7s.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 59314 Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <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 (---) Thomas Fitzsimmons <fitzsim@HIDDEN> writes: > Hi Eric, > > Eric Abrahamsen <eric@HIDDEN> writes: > >> On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote: >>> Hi Eric, >>> >>> Thanks for filing this. >>> >>> Eric Abrahamsen <eric@HIDDEN> writes: >>> >>>> Address completion in message-mode has stopped working in master, >>>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This >>>> has been reported for several contact-management backends that expect to >>>> have their completions available with <TAB>. >>>> >>>> `completion-at-point-functions' contains '(eudc-capf-complete >>>> message-completion-function t) at this point -- `eudc-capf-complete' >>>> returns no matches, and no other functions in the list are consulted. >>> >>> I just checked and I didn't think the recent patch I pushed, >>> 0e25a39e6..., should have affected completion-at-point-functions. It >>> did change the default of eudc-server-hotlist from `nil' to >>> `(("localhost" . ecomplete) ("localhost" . mailabbrev))". I thought >>> that should only affect EUDC users who have not customized >>> eudc-server-hotlist. >>> >>> `eudc-capf-complete' was added to `message-mode' in commit >>> 620ac6735... I'm pretty sure that commenting out this line in >>> message.el will restore prior behaviour, but I don't yet know what prior >>> behaviour should be (see below). >>> >>> (add-hook 'completion-at-point-functions #'message-completion-function nil t) >>> >>>> On gnus.general, someone using BBDB and corfu reported that this recipe >>>> fixed the problem: >>>> >>>> (setq eudc-server-hotlist '(("localhost" . bbdb))) >>>> >>>> (add-hook 'message-mode-hook >>>> (lambda () >>>> (setq-local completion-at-point-functions >>>> (delq 'message-completion-function >>>> completion-at-point-functions)))) >>>> >>>> Someone else *not* using corfu reported that that didn't work for them. >>>> Dunno. >>> >>> I'm not sure what the out-of-the-box behaviour here is meant to be. Can >>> you make a recipe starting from "emacs -Q" (including adding dummy email >>> addresses somewhere) that makes completion work how you want it to? For >>> me: >>> >>> emacs -Q >>> C-x m TAB >>> >>> inserts four spaces and prints in *Messages*: >>> >>> Loading eudcb-ecomplete...done >>> Loading eudcb-mailabbrev...done >>> >>> (Those are new, due to 0e25a39e6... but I thought should be harmless.) >> >> Yuck, it's been a long time since I looked at this... >> >> In emacs -Q, message-mode `completion-at-point-functions' is: >> >> (eudc-capf-complete message-completion-function t) >> >> Actually that's what it is in my regular Emacs, as well. All I'd need >> for EBDB (and BBDB and everything else) is for >> `message-completion-function' to get called, which it isn't. I believe >> you could allow this by having `eudc-capf-complete' return nil, or have >> `eudc-capf-message-expand-name' return a `(list beg end <table>)' >> structure that includes the prop `:exclusive 'no' at the end of it. That >> would allow a fallthrough to the next function. > > Ah, OK, that's what happened then. The most recent patch I pushed made > `eudc-server-hotlist' non-nil by default, which makes > `eudc-capf-message-expand-name' do something other than return nil. > > Can you try just (setq eudc-server-hotlist nil) and confirm that avoids > the breakage? > > If it does, I'll revert that part of the patch for now. It does! Thanks.
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 16 Nov 2022 20:54:23 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 16 15:54:23 2022 Received: from localhost ([127.0.0.1]:58291 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ovPQM-0001cU-Iv for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 15:54:22 -0500 Received: from mail.fitzsim.org ([69.165.165.189]:39006) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <fitzsim@HIDDEN>) id 1ovPQI-0001cF-NR for 59314 <at> debbugs.gnu.org; Wed, 16 Nov 2022 15:54:21 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org ; s=20220430; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=d3T1JOrO18GpB/b/QvEEXctlZk5Xkd7GqXxBo4SJhmc=; b=jSXJvcWBuIotsqPiP9B8fM/XZU PVKvJ5Dopinx+hBm+9+hwhlhCeaSyOF5rfHdm49OD5GeX38nmUPAVk/TVO6DDKeU8dOuevMlZ7EM3 lg4fLLfVmB5r+jPbek7Sj3guMCJdJKJZGLk79DhYwCF0LmnqC/2xzO8ERC7nYMuSYJ798nQQWokYa hQnSmIaHxeTfRzmlY41ARyUCDwu/gV2kwJHtjrqpaVDH2YcRjaLEIPf/7BLQHCsmsvD7GoFbnRqeK EnZSAln9ttqvHoFd+aTEXXwkXmrfcifCGaCgdtWEYk5Mj1pT3Yts+arex0SiMkED4WFr1FcWVq02L fC9gF3yg==; Received: from [192.168.1.1] (helo=localhost.localdomain) by mail.fitzsim.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <fitzsim@HIDDEN>) id 1ovPQC-000D8z-4N; Wed, 16 Nov 2022 15:54:12 -0500 From: Thomas Fitzsimmons <fitzsim@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <878rka1y4n.fsf@HIDDEN> (Eric Abrahamsen's message of "Wed, 16 Nov 2022 11:46:00 -0800") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> <878rka1y4n.fsf@HIDDEN> Date: Wed, 16 Nov 2022 15:54:11 -0500 Message-ID: <m35yfemxho.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <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 (-) Hi Eric, Eric Abrahamsen <eric@HIDDEN> writes: > On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote: >> Hi Eric, >> >> Thanks for filing this. >> >> Eric Abrahamsen <eric@HIDDEN> writes: >> >>> Address completion in message-mode has stopped working in master, >>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This >>> has been reported for several contact-management backends that expect to >>> have their completions available with <TAB>. >>> >>> `completion-at-point-functions' contains '(eudc-capf-complete >>> message-completion-function t) at this point -- `eudc-capf-complete' >>> returns no matches, and no other functions in the list are consulted. >> >> I just checked and I didn't think the recent patch I pushed, >> 0e25a39e6..., should have affected completion-at-point-functions. It >> did change the default of eudc-server-hotlist from `nil' to >> `(("localhost" . ecomplete) ("localhost" . mailabbrev))". I thought >> that should only affect EUDC users who have not customized >> eudc-server-hotlist. >> >> `eudc-capf-complete' was added to `message-mode' in commit >> 620ac6735... I'm pretty sure that commenting out this line in >> message.el will restore prior behaviour, but I don't yet know what prior >> behaviour should be (see below). >> >> (add-hook 'completion-at-point-functions #'message-completion-function nil t) >> >>> On gnus.general, someone using BBDB and corfu reported that this recipe >>> fixed the problem: >>> >>> (setq eudc-server-hotlist '(("localhost" . bbdb))) >>> >>> (add-hook 'message-mode-hook >>> (lambda () >>> (setq-local completion-at-point-functions >>> (delq 'message-completion-function >>> completion-at-point-functions)))) >>> >>> Someone else *not* using corfu reported that that didn't work for them. >>> Dunno. >> >> I'm not sure what the out-of-the-box behaviour here is meant to be. Can >> you make a recipe starting from "emacs -Q" (including adding dummy email >> addresses somewhere) that makes completion work how you want it to? For >> me: >> >> emacs -Q >> C-x m TAB >> >> inserts four spaces and prints in *Messages*: >> >> Loading eudcb-ecomplete...done >> Loading eudcb-mailabbrev...done >> >> (Those are new, due to 0e25a39e6... but I thought should be harmless.) > > Yuck, it's been a long time since I looked at this... > > In emacs -Q, message-mode `completion-at-point-functions' is: > > (eudc-capf-complete message-completion-function t) > > Actually that's what it is in my regular Emacs, as well. All I'd need > for EBDB (and BBDB and everything else) is for > `message-completion-function' to get called, which it isn't. I believe > you could allow this by having `eudc-capf-complete' return nil, or have > `eudc-capf-message-expand-name' return a `(list beg end <table>)' > structure that includes the prop `:exclusive 'no' at the end of it. That > would allow a fallthrough to the next function. Ah, OK, that's what happened then. The most recent patch I pushed made `eudc-server-hotlist' non-nil by default, which makes `eudc-capf-message-expand-name' do something other than return nil. Can you try just (setq eudc-server-hotlist nil) and confirm that avoids the breakage? If it does, I'll revert that part of the patch for now. Thanks, Thomas
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 16 Nov 2022 19:46:15 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 16 14:46:15 2022 Received: from localhost ([127.0.0.1]:58249 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ovOMQ-0008NW-P2 for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 14:46:15 -0500 Received: from mail.ericabrahamsen.net ([52.70.2.18]:36516) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1ovOMO-0008NI-JM for 59314 <at> debbugs.gnu.org; Wed, 16 Nov 2022 14:46:14 -0500 Received: from localhost (unknown [76.135.104.211]) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 510E3FA0E3; Wed, 16 Nov 2022 19:46:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericabrahamsen.net; s=mail; t=1668627966; bh=c/jJK1DCN2zhN/69wfQ+YwZTE7cwvFnC3sYHnoyaGvg=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=w2g7yvoK2Vc5dGgo3PcmIYH2QUICvGfEtE1dOhy0jvynV4i0zUhaUsFvNgCh335Sk oNwTVlxBFzTk/vxJCXSKzGNlDMw1VJrWSw8NSI93kyX4chDOZwbGqdPwfvmU013Di+ s9ot8cnWV8j/5nCzCcAcV3ZcJBWVHGz1U4X0B9Q4= From: Eric Abrahamsen <eric@HIDDEN> To: Thomas Fitzsimmons <fitzsim@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <m3iljeemj5.fsf@HIDDEN> (Thomas Fitzsimmons's message of "Wed, 16 Nov 2022 14:18:06 -0500") References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN> Date: Wed, 16 Nov 2022 11:46:00 -0800 Message-ID: <878rka1y4n.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 59314 Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <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 (---) On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote: > Hi Eric, > > Thanks for filing this. > > Eric Abrahamsen <eric@HIDDEN> writes: > >> Address completion in message-mode has stopped working in master, >> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This >> has been reported for several contact-management backends that expect to >> have their completions available with <TAB>. >> >> `completion-at-point-functions' contains '(eudc-capf-complete >> message-completion-function t) at this point -- `eudc-capf-complete' >> returns no matches, and no other functions in the list are consulted. > > I just checked and I didn't think the recent patch I pushed, > 0e25a39e6..., should have affected completion-at-point-functions. It > did change the default of eudc-server-hotlist from `nil' to > `(("localhost" . ecomplete) ("localhost" . mailabbrev))". I thought > that should only affect EUDC users who have not customized > eudc-server-hotlist. > > `eudc-capf-complete' was added to `message-mode' in commit > 620ac6735... I'm pretty sure that commenting out this line in > message.el will restore prior behaviour, but I don't yet know what prior > behaviour should be (see below). > > (add-hook 'completion-at-point-functions #'message-completion-function nil t) > >> On gnus.general, someone using BBDB and corfu reported that this recipe >> fixed the problem: >> >> (setq eudc-server-hotlist '(("localhost" . bbdb))) >> >> (add-hook 'message-mode-hook >> (lambda () >> (setq-local completion-at-point-functions >> (delq 'message-completion-function >> completion-at-point-functions)))) >> >> Someone else *not* using corfu reported that that didn't work for them. >> Dunno. > > I'm not sure what the out-of-the-box behaviour here is meant to be. Can > you make a recipe starting from "emacs -Q" (including adding dummy email > addresses somewhere) that makes completion work how you want it to? For > me: > > emacs -Q > C-x m TAB > > inserts four spaces and prints in *Messages*: > > Loading eudcb-ecomplete...done > Loading eudcb-mailabbrev...done > > (Those are new, due to 0e25a39e6... but I thought should be harmless.) Yuck, it's been a long time since I looked at this... In emacs -Q, message-mode `completion-at-point-functions' is: (eudc-capf-complete message-completion-function t) Actually that's what it is in my regular Emacs, as well. All I'd need for EBDB (and BBDB and everything else) is for `message-completion-function' to get called, which it isn't. I believe you could allow this by having `eudc-capf-complete' return nil, or have `eudc-capf-message-expand-name' return a `(list beg end <table>)' structure that includes the prop `:exclusive 'no' at the end of it. That would allow a fallthrough to the next function. In fact this whole message-mode thing is an impossible tangle, burritos within burritos, and it would be great to get rid of it altogether. `message-completion-function' already looks at where it is in the message buffer, and calls `message-expand-name' if it's in a "name" header. That function consults `message-expand-name-databases', and *that's* where EBDB should put its completion table, except `message-expand-name-databases' is hardcoded to (or 'eudc 'bbdb) for no reason. So I need to clobber `message-expand-name' altogether. And EUDC having a function on `completion-at-point-functions' is wrapping yet another burrito outside the existing burritos, because now EUDC has a completion function both inside and outside message-mode's own completion machinery. In fact the docstring of `eudc-capf-message-expand-name' makes it sound like it thinks it's being called as part of `message-expand-name', but now it isn't -- it's being called as part of the capf machinery. Or rather, it could potentially be called in both places. I think a half-stick of dynamite is the only real solution. Eric
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at 59314) by debbugs.gnu.org; 16 Nov 2022 19:18:15 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 16 14:18:15 2022 Received: from localhost ([127.0.0.1]:58182 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ovNvL-0005Od-3N for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 14:18:15 -0500 Received: from mail.fitzsim.org ([69.165.165.189]:49668) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <fitzsim@HIDDEN>) id 1ovNvJ-0005ON-Oj for 59314 <at> debbugs.gnu.org; Wed, 16 Nov 2022 14:18:14 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org ; s=20220430; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=M/eviBsvZTG7QXaPQPaIerasr7KuUGCWdokGv1f0ZvQ=; b=kbc8hpQv5sXd0Ya6WVaEf6R9+f bS6k65vYZh47ljaBzDZ+Qy0aVOZA+o5DW1TRg8FXB6HDaK2w37SeAnHKnOd3UDynOeZofzEzk11jq Qh++Pv4EUTDvhtjIzQ5ZDWXMmWGdWpZ57h3+5CK9hkAmO+Bzwkl212Sh1acqBzy/44FtV+lN9VECc QCtzvLdi3e6KRigZW2dUDOwWKKJEjOMBEkPvYiybdoIwAkaZX18WyD2I3ky/Z7fuVHlZ1ybx4wWpX kdsdL7RTCWd98NCXdNn9nS8mXJmoD4Uipx4WRh6ZkLSejpa4ujo332rcXZum43LLwIZW+Vm3bx387 G43oYmSQ==; Received: from [192.168.1.1] (helo=localhost.localdomain) by mail.fitzsim.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <fitzsim@HIDDEN>) id 1ovNvD-000D4t-4t; Wed, 16 Nov 2022 14:18:07 -0500 From: Thomas Fitzsimmons <fitzsim@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#59314: 29.0.50; EUDC and message-mode header completion In-Reply-To: <87a64q7p25.fsf@HIDDEN> (Eric Abrahamsen's message of "Wed, 16 Nov 2022 10:05:22 -0800") References: <87a64q7p25.fsf@HIDDEN> Date: Wed, 16 Nov 2022 14:18:06 -0500 Message-ID: <m3iljeemj5.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 59314 Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <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 (-) Hi Eric, Thanks for filing this. Eric Abrahamsen <eric@HIDDEN> writes: > Address completion in message-mode has stopped working in master, > possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This > has been reported for several contact-management backends that expect to > have their completions available with <TAB>. > > `completion-at-point-functions' contains '(eudc-capf-complete > message-completion-function t) at this point -- `eudc-capf-complete' > returns no matches, and no other functions in the list are consulted. I just checked and I didn't think the recent patch I pushed, 0e25a39e6..., should have affected completion-at-point-functions. It did change the default of eudc-server-hotlist from `nil' to `(("localhost" . ecomplete) ("localhost" . mailabbrev))". I thought that should only affect EUDC users who have not customized eudc-server-hotlist. `eudc-capf-complete' was added to `message-mode' in commit 620ac6735... I'm pretty sure that commenting out this line in message.el will restore prior behaviour, but I don't yet know what prior behaviour should be (see below). (add-hook 'completion-at-point-functions #'message-completion-function nil t) > On gnus.general, someone using BBDB and corfu reported that this recipe > fixed the problem: > > (setq eudc-server-hotlist '(("localhost" . bbdb))) > > (add-hook 'message-mode-hook > (lambda () > (setq-local completion-at-point-functions > (delq 'message-completion-function > completion-at-point-functions)))) > > Someone else *not* using corfu reported that that didn't work for them. > Dunno. I'm not sure what the out-of-the-box behaviour here is meant to be. Can you make a recipe starting from "emacs -Q" (including adding dummy email addresses somewhere) that makes completion work how you want it to? For me: emacs -Q C-x m TAB inserts four spaces and prints in *Messages*: Loading eudcb-ecomplete...done Loading eudcb-mailabbrev...done (Those are new, due to 0e25a39e6... but I thought should be harmless.) Thanks, Thomas
bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 16 Nov 2022 18:05:36 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 16 13:05:36 2022 Received: from localhost ([127.0.0.1]:58074 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ovMn2-0001Iv-Du for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 13:05:36 -0500 Received: from lists.gnu.org ([209.51.188.17]:58852) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1ovMmx-0001Ij-5U for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 13:05:34 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eric@HIDDEN>) id 1ovMmv-00089A-C4 for bug-gnu-emacs@HIDDEN; Wed, 16 Nov 2022 13:05:30 -0500 Received: from mail.ericabrahamsen.net ([52.70.2.18]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eric@HIDDEN>) id 1ovMmt-0006F1-Nu for bug-gnu-emacs@HIDDEN; Wed, 16 Nov 2022 13:05:29 -0500 Received: from localhost (unknown [76.135.104.211]) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 026BEFA0E3 for <bug-gnu-emacs@HIDDEN>; Wed, 16 Nov 2022 18:05:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericabrahamsen.net; s=mail; t=1668621924; bh=DAKqo3OWjAujnBQnl+I42K2XabDsCg6Liq0TEiY8mLY=; h=From:To:Subject:Date:From; b=qwgqmV4H++PrAIrM1Ok9RvQz2Ag+ZGlWzhC/FISoBMawcqDQk0fpdPR10lkC3BX8d hA5SMfrtc8zoPkqoDIHEC7hCX+LU1Iwt8sNMZurOoGGdeJEaDsRgKCarLKFch0vZiS Pcm8uDwCE3CLQuMuO04BDwJz7nFrGSo1wTVv7MJ0= From: Eric Abrahamsen <eric@HIDDEN> To: bug-gnu-emacs@HIDDEN Subject: 29.0.50; EUDC and message-mode header completion X-Debbugs-Cc: fitzsim@HIDDEN Date: Wed, 16 Nov 2022 10:05:22 -0800 Message-ID: <87a64q7p25.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=52.70.2.18; envelope-from=eric@HIDDEN; helo=mail.ericabrahamsen.net X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=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 (--) Address completion in message-mode has stopped working in master, possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This has been reported for several contact-management backends that expect to have their completions available with <TAB>. `completion-at-point-functions' contains '(eudc-capf-complete message-completion-function t) at this point -- `eudc-capf-complete' returns no matches, and no other functions in the list are consulted. On gnus.general, someone using BBDB and corfu reported that this recipe fixed the problem: (setq eudc-server-hotlist '(("localhost" . bbdb))) (add-hook 'message-mode-hook (lambda () (setq-local completion-at-point-functions (delq 'message-completion-function completion-at-point-functions)))) Someone else *not* using corfu reported that that didn't work for them. Dunno. Eric
Eric Abrahamsen <eric@HIDDEN>
:fitzsim@HIDDEN, bug-gnu-emacs@HIDDEN
.
Full text available.fitzsim@HIDDEN, bug-gnu-emacs@HIDDEN
:bug#59314
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.