From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id uA7pIh6ZBGNSLwAAbAwnHQ (envelope-from ) for ; Tue, 23 Aug 2022 11:08:46 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id eHGGIR6ZBGOdAQEAG6o9tA (envelope-from ) for ; Tue, 23 Aug 2022 11:08:46 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 269EB70DD for ; Tue, 23 Aug 2022 11:08:46 +0200 (CEST) Received: from localhost ([::1]:49894 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oQPtt-0001e0-8O for larch@yhetil.org; Tue, 23 Aug 2022 05:08:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51478) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oQPtC-0001DA-HQ for bug-guix@gnu.org; Tue, 23 Aug 2022 05:08:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:52805) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oQPtC-0002Zb-8i for bug-guix@gnu.org; Tue, 23 Aug 2022 05:08:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oQPtB-0001vh-Pm for bug-guix@gnu.org; Tue, 23 Aug 2022 05:08:01 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#57121: clojure-build-system fails to compile -- backtrace from language/tree-il/peval.scm Resent-From: Maxime Devos Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Tue, 23 Aug 2022 09:08:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57121 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Maxim Cournoyer Cc: 57121@debbugs.gnu.org Received: via spool by 57121-submit@debbugs.gnu.org id=B57121.16612456647395 (code B ref 57121); Tue, 23 Aug 2022 09:08:01 +0000 Received: (at 57121) by debbugs.gnu.org; 23 Aug 2022 09:07:44 +0000 Received: from localhost ([127.0.0.1]:42554 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oQPsu-0001vB-2o for submit@debbugs.gnu.org; Tue, 23 Aug 2022 05:07:44 -0400 Received: from albert.telenet-ops.be ([195.130.137.90]:40572) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oQPsq-0001v0-QI for 57121@debbugs.gnu.org; Tue, 23 Aug 2022 05:07:42 -0400 Received: from [IPV6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16] ([IPv6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16]) by albert.telenet-ops.be with bizsmtp id Ax7e2800V20ykKC06x7e2C; Tue, 23 Aug 2022 11:07:39 +0200 Message-ID: Date: Tue, 23 Aug 2022 11:07:39 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 Content-Language: en-US References: <8cd4199a-7db2-ee39-1939-3783e020dc9c@telenet.be> <34b46a55-793b-fd50-a1e6-68794071a3c4@telenet.be> <87ilmohswc.fsf@gmail.com> <878rngi99p.fsf@gmail.com> <87y1vffvsv.fsf@gmail.com> From: Maxime Devos In-Reply-To: <87y1vffvsv.fsf@gmail.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------DUA0cYbFdHI8aM1FEhBGJYJY" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1661245659; bh=GZt/WjIp08q7RbFc++NUk4jQukIokECMU9GVSzvyoUI=; h=Date:To:Cc:References:From:Subject:In-Reply-To; b=HMxtZVIoLwfv+dj3qdUYhP8hw17lf53WSRj+Mg36FtQDdJu7aWxIvW5j0s1cifz72 l+mw+/bEbCEnZl458a6VQERTYGNlqCmiaw8QPqZriJD/DhrGSTGOS5VsxAtgMhtB9F yV1S62CQZLSWEfa63Ym8sWLByXi3D1nGTmWfBPBDoahfZ3NLKitfaNSu6DoB8zYLAB yVcVheDZM8mqOuQzKSQgviAsZK8wJZQs8jKrH9We3lP3CEih5YNeXhose7jCR32/jn 6AobvzRycuF6dwAMokgqx9R9wmekOSDfQWv01V4NyvI4r8QR5AiMb0wf/DAX4tuG3j G4I3H5vjR1a0Q== X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1661245726; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=08gaFwgYyD0LfN1g1ABbbQFIbo2Rfv/Y9k9eH2UDRts=; b=I16b+7KifSkcjY06J6fTpgljUh55ncYJ+RFsX/U5em08seAqSGAumWJakgvqmWB10XGodj SetVcWx9JHljlDDVHO1bypUsf1Ek7LzJoGT9hGzlyCoWvkF3hWTbT/R5YgdspB1QkJmig4 ycZG6BGMeDmWbHhQisDvghunjw3swyeI4XX9KJfMGOk5WwijZLigX8hHGdlPeJ1PYftGNH +RBS3ay1b8on3QucnjgbOiTxm+qaGJVkZ0hER6+dzSiGtJjGTKAc9QobwSh/cDvZQnbQtL gL9VI82Csw0r2lJ1BJuhpJfITtVhy5KkQYUjrvqbuz5F3l5IaAUzDLykvL0ALA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1661245726; a=rsa-sha256; cv=none; b=EQSw3jyk206DdNp4NWim1YEskupTRwbd++d6YY+lXrHGZ3MMUEKqPTrrKNq/RbajmyPwXm rewE8k6Nr0TrrBb1aQr1MHUQlrn1IjgC1S7LPM7WNWUE3qk+H3sdIiRDkj9diG8gW3hGdQ 9QQkoXUn8x1qaWK2jl3wfLIeryihWWVb+DyKNSPMS2iGaE0xtLH913AhDbRFHu7EaA4XRZ aryIC73Tf4zQRgwLqPahgOGOKK/EakdJ1K9KsY9fvnOSrGSmJwQKQyRhDUY8tRQj1pcJGd UNwt5zc64mwaDZ1FiN7LuNCYWG4SopJmTSk5+l0sszX5bdKC0pvYDbaFTYkWRA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=telenet.be header.s=r22 header.b=HMxtZVIo; dmarc=fail reason="SPF not aligned (relaxed)" header.from=telenet.be (policy=none); spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 5.80 Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=telenet.be header.s=r22 header.b=HMxtZVIo; dmarc=fail reason="SPF not aligned (relaxed)" header.from=telenet.be (policy=none); spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 269EB70DD X-Spam-Score: 5.80 X-Migadu-Scanner: scn1.migadu.com X-TUID: nnJHPzxFf9TK This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------DUA0cYbFdHI8aM1FEhBGJYJY Content-Type: multipart/mixed; boundary="------------TbPuWIY9Z16VkYBYXskpEGXs"; protected-headers="v1" From: Maxime Devos To: Maxim Cournoyer Cc: 57121@debbugs.gnu.org Message-ID: Subject: Re: bug#57121: clojure-build-system fails to compile -- backtrace from language/tree-il/peval.scm References: <8cd4199a-7db2-ee39-1939-3783e020dc9c@telenet.be> <34b46a55-793b-fd50-a1e6-68794071a3c4@telenet.be> <87ilmohswc.fsf@gmail.com> <878rngi99p.fsf@gmail.com> <87y1vffvsv.fsf@gmail.com> In-Reply-To: <87y1vffvsv.fsf@gmail.com> --------------TbPuWIY9Z16VkYBYXskpEGXs Content-Type: multipart/mixed; boundary="------------wabD08AdzigEGvOgz0AuPvOQ" --------------wabD08AdzigEGvOgz0AuPvOQ Content-Type: multipart/alternative; boundary="------------0Z5F9h9efe0Xkiy0cvBMT7N9" --------------0Z5F9h9efe0Xkiy0cvBMT7N9 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 DQpPbiAyMy0wOC0yMDIyIDA2OjA2LCBNYXhpbSBDb3Vybm95ZXIgd3JvdGU6DQo+IEhpIE1h eGltZSwNCj4NCj4gTWF4aW1lIERldm9zPG1heGltZWRldm9zQHRlbGVuZXQuYmU+ICB3cml0 ZXM6DQo+DQo+PiBPbiAyMi0wOC0yMDIyIDE3OjMyLCBNYXhpbSBDb3Vybm95ZXIgd3JvdGU6 DQo+Pj4+IFRoZXNlIHBhdGNoZXMgYXJlIGZvciBHdWl4JyBidWlsZCBzeXN0ZW0uwqAgSSBk b24ndCBzZWUgYW55dGhpbmcgdGhhdA0KPj4+PiBjb3VsZCBiZSBkb25lIG9uIHRoZSBHdWls ZSBzaWRlLCBleGNlcHQgZm9yIGV2ZW50dWFsbHkgbWlncmF0aW5nIHNvbWUNCj4+Pj4gZGVw ZW5kZW5jeSB0cmFja2luZyBzdHVmZiBvdmVyIHRvIEd1aWxlDQo+Pj4gSWYgYSBtb2R1bGUg aW1wb3J0cyBhIGRpZmZlcmVudCBtb2R1bGUsIGFuZCB0aGF0IG1vZHVsZSBjaGFuZ2VzLCBl dmVuIGlmDQo+Pj4gaXQncyBtYWNybywgR3VpbGUgc2hvdWxkIG5vdCBibGluZGx5IHJldXNl IHRoZSBzdGFsZSAuZ28gbGlrZSBpdA0KPj4+IGN1cnJlbnRseSBkb2VzLiAgSXQgc2hvdWxk IGNvbXBsYWluIGFuZCBldmFsdWF0ZSBmcm9tIHNvdXJjZSBpbnN0ZWFkLg0KPj4+DQo+Pj4g VGhhdCB3b3VsZCBjb3ZlciB0aGUgYmFzZSBhbmQgYXZvaWQgYnJlYWthZ2UuICBBZnRlciwg aWYgaXQga25vd24gaG93IHRvDQo+Pj4gZG8gdGhhdCwgeWVzLCBpdCBzZWVtcyBpdCdkIGJl IHVzZWZ1bCB0byBoYXZlIHNvbWV0aGluZyBzaW1pbGFyIHRvICdnY2MNCj4+PiAtTScgdG8g cHJvdmlkZSB0aGUgbmVlZGVkIGludGVsbGlnZW5jZSB0byB0aGUgYnVpbGQgc3lzdGVtLg0K Pj4+DQo+Pj4gRG9lcyB0aGF0IG1ha2Ugc2Vuc2U/DQo+PiBTb3VuZHMgcmVhc29uYWJsZSwg dGhvdWdoIHdlIGNvdWxkIGdvIGZvciBzb21ldGhpbmcgbGVzcyBnZW5lcmFsIGluDQo+PiBH dWl4IGZpcnN0Lg0KPiBJJ2QgcmF0aGVyIGF2b2lkaW5nIGFkZGluZyBtb3JlIGNvbXBsZXhp dHkgaW4gR3VpeCBpZiBpdCBjYW4gYmUgZml4ZWQNCj4gdXBzdHJlYW07IHdoZXJlIGl0J2Qg YmVuZWZpdCBldmVyeW9uZSBtb3N0Lg0KDQpJdCBjYW5ub3QgYmUgc29sdmVkIHVwc3RyZWFt LCB0aGlzIGlzIG5vdCBhIHB1cmUgR3VpbGUgbWF0dGVyIGJ1dCBhbHNvIGEgDQpidWlsZCBz eXN0ZW0gbWF0dGVyLiBFdmVuIGlmIHRoaXMgdGhlICdpZiB0aGF0IG1vZHVsZSBjaGFuZ2Vz LCBpdCAuLi4gDQpzaG91bGQgZXZhbHVhdGUgZnJvbSBzb3VyY2UnIHdhcyBpbXBsZW1lbnRl ZCwgdGhlIGJ1aWxkIHN5c3RlbSBzdGlsbCANCm5lZWRzIHRvIGtub3cgdG8gY29tcGlsZSB0 aGUgbW9kdWxlLg0KDQpNb3JlIGNvbmNyZXRlbHksIGJ1aWxkLWF1eC9jb21waWxlLWFsbC5z Y20gdXNlcyB0aGUgZm9sbG93aW5nIHRvIA0KZGV0ZXJtaW5lIHdoYXQgbmVlZHMgdG8gYmUg cmVjb21waWxlZDoNCg0KPiAoZGVmaW5lIChmaWxlLW5lZWRzLWNvbXBpbGF0aW9uPyBmaWxl KQ0KPiDCoCAobGV0ICgoZ28gKHNjbS0+Z28gZmlsZSkpKQ0KPiDCoMKgwqAgKG9yIChub3Qg KGZpbGUtZXhpc3RzPyBnbykpDQo+IMKgwqDCoMKgwqDCoMKgIChmaWxlLW10aW1lPD8gZ28g ZmlsZSkpKSkNCi0tLSBqdXN0IGludGVycHJldGluZyBpbXBvcnRlZCBtb2R1bGVzIHRoYXQg aGF2ZSBjaGFuZ2VkIGRvZXNuJ3QgY2F1c2UgDQp0aGUgaW1wb3J0aW5nIG1vZHVsZSB0byBi ZSByZWNvbXBpbGVkLg0KDQpBbHNvLCBhdCBsZWFzdCBvbmUgR3VpbGUgbWFpbnRhaW5lciB3 YW50cyBkZXBlbmRlbmN5IHRyYWNraW5nIHRvIGJlIA0Kb3J0aG9nb25hbDoNCg0KPiA8aHR0 cHM6Ly9pc3N1ZXMuZ3VpeC5nbnUub3JnLzUwOTYwIzU5Pg0KPiBJIGd1ZXNzIEkgY291bGQg bGl2ZSB3aXRoIGFuIDgwJSBkZXBlbmRlbmN5IHRyYWNraW5nIHNvbHV0aW9uLiBIb3dldmVy LA0KPiBteSBjcml0ZXJpYSBmb3IgaXQgd291bGQgYmUgdGhhdCAoMSkgaXQgc2hvdWxkIGJl IG9ydGhvZ29uYWwgKGUuZy4sIG5vdA0KPiByZXF1aXJpbmcgZXhwbGljaXQgY2FsbHMgdG8g 4oCYbm90aWNlLWRlcGVuZGVuY3nigJkgaW4gbWFueSBwbGFjZXMpLCBhbmQgKDIpDQo+IGl0 IHNob3VsZCBiZSBzZWxmLWNvbnRhaW5lZCBhbmQgcmVhc29uYWJseSBzbWFsbC4gUGVyaGFw cyBoYXZpbmcNCj4g4oCYbG9hZCrigJkgb3Igc2ltaWxhciBpbnN0cnVtZW50IOKAmG9wZW4t ZmlsZeKAmSBvciBzaW1pbGFyIGNvdWxkIGhlbHAgYWNoaWV2ZQ0KPiB0aGF0Pw0KDQpZb3Vy IHByb3Bvc2FsIHRvIGRvIGluIEd1aWxlIGRvZXMgbm90IGFwcGVhciB0byBtYXRjaCB0aGF0 IGNyaXRlcml1bS4NCg0KVGhlIG5vdGljZS1kZXBlbmRlbmN5IGNvdWxkIGJlIGV2ZW50dWFs bHkgdXBzdHJlYW1lZCwgYnV0IHRoZSBpc3N1ZSBkb2VzIA0Kbm90IGFwcGVhciB0byBiZSBm aXhhYmxlIHVwc3RyZWFtLg0KDQpHcmVldGluZ3MsDQpNYXhpbWUuDQo= --------------0Z5F9h9efe0Xkiy0cvBMT7N9 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On 23-08-2022 06:06, Maxim Cournoyer wrote:
Hi Maxime,

Maxime Devos <maximedevos@telenet.be> writes:

On 22-08-2022 17:32, Maxim=
 Cournoyer wrote:
These patches are for =
Guix' build system.=C2=A0 I don't see anything that
could be done on the Guile side, except for eventually migrating some
dependency tracking stuff over to Guile
If a module imports a di=
fferent module, and that module changes, even if
it's macro, Guile should not blindly reuse the stale .go like it
currently does.  It should complain and evaluate from source instead.

That would cover the base and avoid breakage.  After, if it known how to
do that, yes, it seems it'd be useful to have something similar to 'gcc
-M' to provide the needed intelligence to the build system.

Does that make sense?
Sounds reasonable, though we could go for something less general in
Guix first.
I'd rather avoiding adding more complexity in Guix if it can be fixed
upstream; where it'd benefit everyone most.

It cannot be solved upstream, this is not a pure Guile matter but also a build system matter. Even if this the 'if that module changes, it ... should evaluate from source' was implemented, the build system still needs to know to compile the module.

More concretely, build-aux/compile-all.scm uses the following to determine what needs to be recompiled:

(define (file-needs-compilation? file) =C2=A0 (let ((go (scm->go file)))
=C2=A0=C2=A0=C2=A0 (or (not (file-exists? go))
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (file-mtime<? go fi= le))))
--- just interpreting imported modules that have changed doesn't cause the importing module to be recompiled.

Also, at least one Guile maintainer wants dependency tracking to be orthogonal:

<https://issues.guix.gnu.org/50960= #59>
I guess I could live with an 80% dependency tracking solution. However,
my criteria for it would be that (1) it shoul= d be orthogonal (e.g., not
requiring explicit calls to =E2=80=98notice-dependency=E2=80=99 in many places), and (2)
it should be self-contained and reasonably small. Perhaps having
=E2=80=98load*=E2=80=99 or similar instrument= =E2=80=98open-file=E2=80=99 or similar could help achieve
that?

Your proposal to do in Guile does not appear to match that criterium.

The notice-dependency could be eventually upstreamed, but the issue does not appear to be fixable upstream.

Greetings,
Maxime.
--------------0Z5F9h9efe0Xkiy0cvBMT7N9-- --------------wabD08AdzigEGvOgz0AuPvOQ Content-Type: application/pgp-keys; name="OpenPGP_0x49E3EE22191725EE.asc" Content-Disposition: attachment; filename="OpenPGP_0x49E3EE22191725EE.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- xjMEX4ch6BYJKwYBBAHaRw8BAQdANPb/d6MrGnGi5HyvODCkBUJPRjiFQcRU5V+m xvMaAa/NL01heGltZSBEZXZvcyA8bWF4aW1lLmRldm9zQHN0dWRlbnQua3VsZXV2 ZW4uYmU+wpAEExYIADgWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCX4ch6AIbAwUL CQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRBJ4+4iGRcl7japAQC3opZ2KGWzWmRc /gIWSu0AAcfMwyinFEEPa/QhUt2CogD/e2RdF4CYAgaRHJJmZ9WU7piKbLZ7llB4 LzgezVDHggzNJU1heGltZSBEZXZvcyA8bWF4aW1lZGV2b3NAdGVsZW5ldC5iZT7C kAQTFggAOBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJf56ycAhsDBQsJCAcDBRUK CQgLBRYCAwEAAh4BAheAAAoJEEnj7iIZFyXujpQBAKV1SwDDl4f24rXciDlB9L8W ycZt30CgbewMSRQk4mvbAP9dFMbVVixYBd6C8cfhR+NsOBGiOJnQABlUmgNuqGFJ Dc44BF+HIegSCisGAQQBl1UBBQEBB0BOlzIWiJzgobMF6/cqwLaLk7jIcFSZ++c0 k9cCNT6YXwMBCAfCeAQYFggAIBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJfhyHo AhsMAAoJEEnj7iIZFyXuMr0BAJc8cl5PGvVmVuSQVKjleNl4DK1/XAaPAYPe34AE fZJPAP9IqLCQhH/FeJanHqBP8gNdGNI2qn8RnnLVfRJgUjZ1BA=3D=3D =3DOVqp -----END PGP PUBLIC KEY BLOCK----- --------------wabD08AdzigEGvOgz0AuPvOQ-- --------------TbPuWIY9Z16VkYBYXskpEGXs-- --------------DUA0cYbFdHI8aM1FEhBGJYJY Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYwSY2wUDAAAAAAAKCRBJ4+4iGRcl7sGm AP9v6xIwv5w2vq8mGKigD+xwmZtNy2aNwA4g/oAidDrd4gEAieXtCe8rCunjSd3s8hkI0MUs/1Rk e+T+i1S0Pe9xJwM= =1vdf -----END PGP SIGNATURE----- --------------DUA0cYbFdHI8aM1FEhBGJYJY--