From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id oLh/NldK81+EKgAA0tVLHw (envelope-from ) for ; Mon, 04 Jan 2021 17:03:19 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id cGpSMldK819FSgAA1q6Kng (envelope-from ) for ; Mon, 04 Jan 2021 17:03:19 +0000 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 6FE7B9403CD for ; Mon, 4 Jan 2021 17:03:19 +0000 (UTC) Received: from localhost ([::1]:43312 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kwTGI-0001AL-3y for larch@yhetil.org; Mon, 04 Jan 2021 12:03:18 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:53314) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kwTEW-00087O-NQ for guix-devel@gnu.org; Mon, 04 Jan 2021 12:01:30 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:38384) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kwTEW-0008B2-DA; Mon, 04 Jan 2021 12:01:28 -0500 Received: from [2001:980:1b4f:1:42d2:832d:bb59:862] (port=52202 helo=dundal.janneke.lilypond.org) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kwTES-0003js-5r; Mon, 04 Jan 2021 12:01:25 -0500 From: Jan Nieuwenhuizen To: guix-devel@gnu.org Subject: wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello' Organization: AvatarAcademy.nl X-Url: http://AvatarAcademy.nl Date: Mon, 04 Jan 2021 18:01:21 +0100 Message-ID: <87im8cvdpa.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: bootstrappable@freelists.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -0.73 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: 6FE7B9403CD X-Spam-Score: -0.73 X-Migadu-Scanner: scn0.migadu.com X-TUID: 3Y857WNuva07 --=-=-= Content-Type: text/plain Hi! I have reset Guix' wip-full-source-bootstrap branch with a first working implementation of the, well, "Full Source Bootstrap" for x86-linux (and x86_64-linux). This bootstrap is rooted in the 357-byte hex0-seed from the Stage0 project (https://savannah.gnu.org/projects/stage0): --8<---------------cut here---------------start------------->8--- $ ./pre-inst-env guix build hello --verbosity=1 [..] /gnu/store/w61gf93yn2bxwyc6d1xp4y9lavvw1l3d-hello-2.10 17:58:54 janneke@dundal:~/src/guix/wip-fsb [env] --8<---------------cut here---------------end--------------->8--- (it runs too!). When you look at the bottom of the graph (see attached), you will notice "%bootstrap-guile": the driver that we use for the Guix build and also for "bootar", "gash", and "gash-utils". This "%bootstrap-guile" is not used as a seed in anything that is built, "%bootstrap-guile", "bootar", "gash", and "gash-utils" could be replaced with any other driver. Two new packages are added: "bootstrap-seeds", which contains the hex0-seed binary (https://github.com/oriansj/bootstrap-seeds/blob/master/POSIX/x86/hex0-seed) with ASCII-equivalent (https://github.com/oriansj/bootstrap-seeds/blob/master/POSIX/x86/hex0_x86.hex0), and "m2-planet-boot" which, starting from hex0, via hex1, M0, hex2 and M1, bootstraps the M2-Planet transpiler. M2 is a language that closely resembles a subset of C. The breakthrough is that this M2-Planet can now compile a version of GNU Mes, as yet unreleased: the wip-m2 branch. This removes the remaining binary seeds: %bootstrap-mescc-tools and %bootstrap-mes, together with the "%bootstrap-mes-rewired" hack. Apart from a review there is still some work before it can be integrated, in short (from the top commit message): XXX TODO: * wip-full-source-bootstrap - release mes-0.24, update - possibly release m2-planet-1.8.0, update - rebase wip-full-source-bootstrap onto core-updates - integrate * wip-arm-bootstrap - finish; currently stuck on gawk-mesboot0 - release mes-0.23 - devise strategy for integrating wip-full-source-bootstrap and wip-arm-bootstrap Greetings, Janneke *) https://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-full-source-bootstrap --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=gcc-core-mesboot0-graph.dot Content-Transfer-Encoding: base64 ZGlncmFwaCAiR3VpeCBwYWNrYWdlIiB7CiAgIjEzOTk2NTU4ODc4NzUyMCIgW2xhYmVsID0gImdj Yy1jb3JlLW1lc2Jvb3QwQDIuOTUuMyIsIHNoYXBlID0gYm94LCBmb250bmFtZSA9IHNhbnNdOwog ICIxMzk5NjU1ODg3ODc1MjAiIC0+ICIxMzk5NjU1ODg3ODc2ODAiIFtjb2xvciA9IGRhcmt2aW9s ZXRdOwogICIxMzk5NjU1ODg3ODc1MjAiIC0+ICIxMzk5NjU1ODg3ODg0ODAiIFtjb2xvciA9IGRh cmt2aW9sZXRdOwogICIxMzk5NjU1ODg3ODc1MjAiIC0+ICIxMzk5NjU1ODg3ODg2NDAiIFtjb2xv ciA9IGRhcmt2aW9sZXRdOwogICIxMzk5NjU1ODg3ODc1MjAiIC0+ICIxMzk5NjU1ODg3ODgxNjAi IFtjb2xvciA9IGRhcmt2aW9sZXRdOwogICIxMzk5NjU1ODg3ODc1MjAiIC0+ICIxMzk5NjU1ODg3 ODg5NjAiIFtjb2xvciA9IGRhcmt2aW9sZXRdOwogICIxMzk5NjU1ODg3ODc1MjAiIC0+ICIxMzk5 NjU1ODg3ODgwMDAiIFtjb2xvciA9IGRhcmt2aW9sZXRdOwogICIxMzk5NjU1ODg3ODc1MjAiIC0+ ICIxMzk5NjU1ODg3ODc4NDAiIFtjb2xvciA9IGRhcmt2aW9sZXRdOwogICIxMzk5NjU1ODg3ODc1 MjAiIC0+ICIxMzk5NjU1ODg3ODgzMjAiIFtjb2xvciA9IGRhcmt2aW9sZXRdOwogICIxMzk5NjU1 ODg3ODc1MjAiIC0+ICIxMzk5NjU1ODg3ODg4MDAiIFtjb2xvciA9IGRhcmt2aW9sZXRdOwogICIx Mzk5NjU1ODg3ODc1MjAiIC0+ICIxMzk5NjU1ODg3ODk5MjAiIFtjb2xvciA9IGRhcmt2aW9sZXRd OwogICIxMzk5NjU1ODg3ODc1MjAiIC0+ICIxMzk5NjU1ODg3ODk3NjAiIFtjb2xvciA9IGRhcmt2 aW9sZXRdOwogICIxMzk5NjU1ODg3ODc1MjAiIC0+ICIxMzk5NjU1ODg3OTAwODAiIFtjb2xvciA9 IGRhcmt2aW9sZXRdOwogICIxMzk5NjU1ODg3ODc1MjAiIC0+ICIxMzk5NjU3NDk1NjMxMzYiIFtj b2xvciA9IGRhcmt2aW9sZXRdOwogICIxMzk5NjU1ODg3ODc2ODAiIFtsYWJlbCA9ICJiaW51dGls cy1tZXNib290MEAyLjE0Iiwgc2hhcGUgPSBib3gsIGZvbnRuYW1lID0gc2Fuc107CiAgIjEzOTk2 NTU4ODc4NzY4MCIgLT4gIjEzOTk2NTU4ODc4ODQ4MCIgW2NvbG9yID0gZGltZ3JleV07CiAgIjEz OTk2NTU4ODc4NzY4MCIgLT4gIjEzOTk2NTU4ODc4ODY0MCIgW2NvbG9yID0gZGltZ3JleV07CiAg IjEzOTk2NTU4ODc4NzY4MCIgLT4gIjEzOTk2NTU4ODc4ODE2MCIgW2NvbG9yID0gZGltZ3JleV07 CiAgIjEzOTk2NTU4ODc4NzY4MCIgLT4gIjEzOTk2NTU4ODc4ODk2MCIgW2NvbG9yID0gZGltZ3Jl eV07CiAgIjEzOTk2NTU4ODc4NzY4MCIgLT4gIjEzOTk2NTU4ODc4ODAwMCIgW2NvbG9yID0gZGlt Z3JleV07CiAgIjEzOTk2NTU4ODc4NzY4MCIgLT4gIjEzOTk2NTU4ODc4Nzg0MCIgW2NvbG9yID0g ZGltZ3JleV07CiAgIjEzOTk2NTU4ODc4NzY4MCIgLT4gIjEzOTk2NTU4ODc4ODMyMCIgW2NvbG9y ID0gZGltZ3JleV07CiAgIjEzOTk2NTU4ODc4NzY4MCIgLT4gIjEzOTk2NTU4ODc4ODgwMCIgW2Nv bG9yID0gZGltZ3JleV07CiAgIjEzOTk2NTU4ODc4NzY4MCIgLT4gIjEzOTk2NTU4ODc4OTkyMCIg W2NvbG9yID0gZGltZ3JleV07CiAgIjEzOTk2NTU4ODc4NzY4MCIgLT4gIjEzOTk2NTU4ODc4OTc2 MCIgW2NvbG9yID0gZGltZ3JleV07CiAgIjEzOTk2NTU4ODc4NzY4MCIgLT4gIjEzOTk2NTU4ODc5 MDA4MCIgW2NvbG9yID0gZGltZ3JleV07CiAgIjEzOTk2NTU4ODc4NzY4MCIgLT4gIjEzOTk2NTc0 OTU2MzEzNiIgW2NvbG9yID0gZGltZ3JleV07CiAgIjEzOTk2NTU4ODc4ODQ4MCIgW2xhYmVsID0g ImJhc2gtbWVzYm9vdDBAMi4wNWIiLCBzaGFwZSA9IGJveCwgZm9udG5hbWUgPSBzYW5zXTsKICAi MTM5OTY1NTg4Nzg4NDgwIiAtPiAiMTM5OTY1NTg4Nzg4ODAwIiBbY29sb3IgPSBkaW1ncmV5XTsK ICAiMTM5OTY1NTg4Nzg4NDgwIiAtPiAiMTM5OTY1NTg4Nzg5MTIwIiBbY29sb3IgPSBkaW1ncmV5 XTsKICAiMTM5OTY1NTg4Nzg4NDgwIiAtPiAiMTM5OTY1NTg4Nzg5OTIwIiBbY29sb3IgPSBkaW1n cmV5XTsKICAiMTM5OTY1NTg4Nzg4NDgwIiAtPiAiMTM5OTY1NTg4Nzg5NzYwIiBbY29sb3IgPSBk aW1ncmV5XTsKICAiMTM5OTY1NTg4Nzg4NDgwIiAtPiAiMTM5OTY1NTg4NzkwMDgwIiBbY29sb3Ig PSBkaW1ncmV5XTsKICAiMTM5OTY1NTg4Nzg4NDgwIiAtPiAiMTM5OTY1NzQ5NTYzMTM2IiBbY29s b3IgPSBkaW1ncmV5XTsKICAiMTM5OTY1NTg4Nzg4ODAwIiBbbGFiZWwgPSAibWFrZS1tZXNib290 MEAzLjgwIiwgc2hhcGUgPSBib3gsIGZvbnRuYW1lID0gc2Fuc107CiAgIjEzOTk2NTU4ODc4ODgw MCIgLT4gIjEzOTk2NTU4ODc4OTEyMCIgW2NvbG9yID0gcGVhY2hwdWZmNF07CiAgIjEzOTk2NTU4 ODc4ODgwMCIgLT4gIjEzOTk2NTU4ODc4OTkyMCIgW2NvbG9yID0gcGVhY2hwdWZmNF07CiAgIjEz OTk2NTU4ODc4ODgwMCIgLT4gIjEzOTk2NTU4ODc4OTc2MCIgW2NvbG9yID0gcGVhY2hwdWZmNF07 CiAgIjEzOTk2NTU4ODc4ODgwMCIgLT4gIjEzOTk2NTU4ODc5MDA4MCIgW2NvbG9yID0gcGVhY2hw dWZmNF07CiAgIjEzOTk2NTU4ODc4ODgwMCIgLT4gIjEzOTk2NTc0OTU2MzEzNiIgW2NvbG9yID0g cGVhY2hwdWZmNF07CiAgIjEzOTk2NTU4ODc4OTEyMCIgW2xhYmVsID0gInRjYy1ib290MEAwLjku MjYtMTEzNi1nNWJiYTczY2MiLCBzaGFwZSA9IGJveCwgZm9udG5hbWUgPSBzYW5zXTsKICAiMTM5 OTY1NTg4Nzg5MTIwIiAtPiAiMTM5OTY1NTg4Nzg5MjgwIiBbY29sb3IgPSBkaW1ncmV5XTsKICAi MTM5OTY1NTg4Nzg5MTIwIiAtPiAiMTM5OTY1NTg4Nzg5NDQwIiBbY29sb3IgPSBkaW1ncmV5XTsK ICAiMTM5OTY1NTg4Nzg5MTIwIiAtPiAiMTM5OTY1NTg4Nzg5OTIwIiBbY29sb3IgPSBkaW1ncmV5 XTsKICAiMTM5OTY1NTg4Nzg5MTIwIiAtPiAiMTM5OTY1NTg4Nzg5NzYwIiBbY29sb3IgPSBkaW1n cmV5XTsKICAiMTM5OTY1NTg4Nzg5MTIwIiAtPiAiMTM5OTY1NTg4NzkwMDgwIiBbY29sb3IgPSBk aW1ncmV5XTsKICAiMTM5OTY1NTg4Nzg5MTIwIiAtPiAiMTM5OTY1NzQ5NTYzMTM2IiBbY29sb3Ig PSBkaW1ncmV5XTsKICAiMTM5OTY1NTg4Nzg5MjgwIiBbbGFiZWwgPSAibWVzLWJvb3RAMC4yMi0z MDUtZzJhYjRjNWM2NyIsIHNoYXBlID0gYm94LCBmb250bmFtZSA9IHNhbnNdOwogICIxMzk5NjU1 ODg3ODkyODAiIC0+ICIxMzk5NjU1ODg3ODk0NDAiIFtjb2xvciA9IHJlZF07CiAgIjEzOTk2NTU4 ODc4OTI4MCIgLT4gIjEzOTk2NTU4ODc4OTkyMCIgW2NvbG9yID0gcmVkXTsKICAiMTM5OTY1NTg4 Nzg5MjgwIiAtPiAiMTM5OTY1NTg4Nzg5NzYwIiBbY29sb3IgPSByZWRdOwogICIxMzk5NjU1ODg3 ODkyODAiIC0+ICIxMzk5NjU1ODg3OTAwODAiIFtjb2xvciA9IHJlZF07CiAgIjEzOTk2NTU4ODc4 OTI4MCIgLT4gIjEzOTk2NTc0OTU2MzEzNiIgW2NvbG9yID0gcmVkXTsKICAiMTM5OTY1NTg4Nzg5 NDQwIiBbbGFiZWwgPSAibTItcGxhbmV0LWJvb3RAMS43LjAtMzEtZzM1OGI2Y2YiLCBzaGFwZSA9 IGJveCwgZm9udG5hbWUgPSBzYW5zXTsKICAiMTM5OTY1NTg4Nzg5NDQwIiAtPiAiMTM5OTY1NTg4 Nzg5NjAwIiBbY29sb3IgPSBjeWFuM107CiAgIjEzOTk2NTU4ODc4OTQ0MCIgLT4gIjEzOTk2NTU4 ODc4OTkyMCIgW2NvbG9yID0gY3lhbjNdOwogICIxMzk5NjU1ODg3ODk0NDAiIC0+ICIxMzk5NjU1 ODg3ODk3NjAiIFtjb2xvciA9IGN5YW4zXTsKICAiMTM5OTY1NTg4Nzg5NDQwIiAtPiAiMTM5OTY1 NTg4NzkwMDgwIiBbY29sb3IgPSBjeWFuM107CiAgIjEzOTk2NTU4ODc4OTQ0MCIgLT4gIjEzOTk2 NTc0OTU2MzEzNiIgW2NvbG9yID0gY3lhbjNdOwogICIxMzk5NjU1ODg3ODk2MDAiIFtsYWJlbCA9 ICJib290c3RyYXAtc2VlZHNAMS4wLjAiLCBzaGFwZSA9IGVsbGlwc2UsIGZvbnRuYW1lID0gc2Fu c107CiAgIjEzOTk2NTU4ODc4OTYwMCIgLT4gIjEzOTk2NTU4ODc5MDA4MCIgW2NvbG9yID0gcGVh Y2hwdWZmNF07CiAgIjEzOTk2NTU4ODc5MDA4MCIgW2xhYmVsID0gImJvb3RhckAxYSIsIHNoYXBl ID0gYm94LCBmb250bmFtZSA9IHNhbnNdOwogICIxMzk5NjU1ODg3OTAwODAiIC0+ICIxMzk5NjU3 NDk1NjMxMzYiIFtjb2xvciA9IGRhcmtzZWFncmVlbl07CiAgIjEzOTk2NTc0OTU2MzEzNiIgW2xh YmVsID0gImd1aWxlLWJvb3RzdHJhcEAyLjAiLCBzaGFwZSA9IGVsbGlwc2UsIGZvbnRuYW1lID0g c2Fuc107CiAgIjEzOTk2NTU4ODc4OTkyMCIgW2xhYmVsID0gImdhc2gtYm9vdEAwLjIuMCIsIHNo YXBlID0gYm94LCBmb250bmFtZSA9IHNhbnNdOwogICIxMzk5NjU1ODg3ODk5MjAiIC0+ICIxMzk5 NjU1ODg3OTAwODAiIFtjb2xvciA9IG1hZ2VudGFdOwogICIxMzk5NjU1ODg3ODk5MjAiIC0+ICIx Mzk5NjU3NDk1NjMxMzYiIFtjb2xvciA9IG1hZ2VudGFdOwogICIxMzk5NjU1ODg3ODk3NjAiIFts YWJlbCA9ICJnYXNoLXV0aWxzLWJvb3RAMC4xLjAiLCBzaGFwZSA9IGJveCwgZm9udG5hbWUgPSBz YW5zXTsKICAiMTM5OTY1NTg4Nzg5NzYwIiAtPiAiMTM5OTY1NTg4NzkwMDgwIiBbY29sb3IgPSBt YWdlbnRhXTsKICAiMTM5OTY1NTg4Nzg5NzYwIiAtPiAiMTM5OTY1NTg4Nzg5OTIwIiBbY29sb3Ig PSBtYWdlbnRhXTsKICAiMTM5OTY1NTg4Nzg5NzYwIiAtPiAiMTM5OTY1NzQ5NTYzMTM2IiBbY29s b3IgPSBtYWdlbnRhXTsKICAiMTM5OTY1NTg4Nzg4NjQwIiBbbGFiZWwgPSAiYnppcDItbWVzYm9v dEAxLjAuOCIsIHNoYXBlID0gYm94LCBmb250bmFtZSA9IHNhbnNdOwogICIxMzk5NjU1ODg3ODg2 NDAiIC0+ICIxMzk5NjU1ODg3ODg4MDAiIFtjb2xvciA9IGRpbWdyZXldOwogICIxMzk5NjU1ODg3 ODg2NDAiIC0+ICIxMzk5NjU1ODg3ODkxMjAiIFtjb2xvciA9IGRpbWdyZXldOwogICIxMzk5NjU1 ODg3ODg2NDAiIC0+ICIxMzk5NjU1ODg3ODk5MjAiIFtjb2xvciA9IGRpbWdyZXldOwogICIxMzk5 NjU1ODg3ODg2NDAiIC0+ICIxMzk5NjU1ODg3ODk3NjAiIFtjb2xvciA9IGRpbWdyZXldOwogICIx Mzk5NjU1ODg3ODg2NDAiIC0+ICIxMzk5NjU1ODg3OTAwODAiIFtjb2xvciA9IGRpbWdyZXldOwog ICIxMzk5NjU1ODg3ODg2NDAiIC0+ICIxMzk5NjU3NDk1NjMxMzYiIFtjb2xvciA9IGRpbWdyZXld OwogICIxMzk5NjU1ODg3ODgxNjAiIFtsYWJlbCA9ICJkaWZmdXRpbHMtbWVzYm9vdEAyLjciLCBz aGFwZSA9IGJveCwgZm9udG5hbWUgPSBzYW5zXTsKICAiMTM5OTY1NTg4Nzg4MTYwIiAtPiAiMTM5 OTY1NTg4Nzg4ODAwIiBbY29sb3IgPSBjeWFuM107CiAgIjEzOTk2NTU4ODc4ODE2MCIgLT4gIjEz OTk2NTU4ODc4OTEyMCIgW2NvbG9yID0gY3lhbjNdOwogICIxMzk5NjU1ODg3ODgxNjAiIC0+ICIx Mzk5NjU1ODg3ODk5MjAiIFtjb2xvciA9IGN5YW4zXTsKICAiMTM5OTY1NTg4Nzg4MTYwIiAtPiAi MTM5OTY1NTg4Nzg5NzYwIiBbY29sb3IgPSBjeWFuM107CiAgIjEzOTk2NTU4ODc4ODE2MCIgLT4g IjEzOTk2NTU4ODc5MDA4MCIgW2NvbG9yID0gY3lhbjNdOwogICIxMzk5NjU1ODg3ODgxNjAiIC0+ ICIxMzk5NjU3NDk1NjMxMzYiIFtjb2xvciA9IGN5YW4zXTsKICAiMTM5OTY1NTg4Nzg4OTYwIiBb bGFiZWwgPSAiZ3ppcC1tZXNib290QDEuMi40Iiwgc2hhcGUgPSBib3gsIGZvbnRuYW1lID0gc2Fu c107CiAgIjEzOTk2NTU4ODc4ODk2MCIgLT4gIjEzOTk2NTU4ODc4OTEyMCIgW2NvbG9yID0gY3lh bjNdOwogICIxMzk5NjU1ODg3ODg5NjAiIC0+ICIxMzk5NjU1ODg3ODk5MjAiIFtjb2xvciA9IGN5 YW4zXTsKICAiMTM5OTY1NTg4Nzg4OTYwIiAtPiAiMTM5OTY1NTg4Nzg5NzYwIiBbY29sb3IgPSBj eWFuM107CiAgIjEzOTk2NTU4ODc4ODk2MCIgLT4gIjEzOTk2NTU4ODc5MDA4MCIgW2NvbG9yID0g Y3lhbjNdOwogICIxMzk5NjU1ODg3ODg5NjAiIC0+ICIxMzk5NjU3NDk1NjMxMzYiIFtjb2xvciA9 IGN5YW4zXTsKICAiMTM5OTY1NTg4Nzg4MDAwIiBbbGFiZWwgPSAicGF0Y2gtbWVzYm9vdEAyLjUu OSIsIHNoYXBlID0gYm94LCBmb250bmFtZSA9IHNhbnNdOwogICIxMzk5NjU1ODg3ODgwMDAiIC0+ ICIxMzk5NjU1ODg3ODg4MDAiIFtjb2xvciA9IGRpbWdyZXldOwogICIxMzk5NjU1ODg3ODgwMDAi IC0+ICIxMzk5NjU1ODg3ODkxMjAiIFtjb2xvciA9IGRpbWdyZXldOwogICIxMzk5NjU1ODg3ODgw MDAiIC0+ICIxMzk5NjU1ODg3ODk5MjAiIFtjb2xvciA9IGRpbWdyZXldOwogICIxMzk5NjU1ODg3 ODgwMDAiIC0+ICIxMzk5NjU1ODg3ODk3NjAiIFtjb2xvciA9IGRpbWdyZXldOwogICIxMzk5NjU1 ODg3ODgwMDAiIC0+ICIxMzk5NjU1ODg3OTAwODAiIFtjb2xvciA9IGRpbWdyZXldOwogICIxMzk5 NjU1ODg3ODgwMDAiIC0+ICIxMzk5NjU3NDk1NjMxMzYiIFtjb2xvciA9IGRpbWdyZXldOwogICIx Mzk5NjU1ODg3ODc4NDAiIFtsYWJlbCA9ICJzZWQtbWVzYm9vdDBAMS4xOCIsIHNoYXBlID0gYm94 LCBmb250bmFtZSA9IHNhbnNdOwogICIxMzk5NjU1ODg3ODc4NDAiIC0+ICIxMzk5NjU1ODg3ODg4 MDAiIFtjb2xvciA9IHBlYWNocHVmZjRdOwogICIxMzk5NjU1ODg3ODc4NDAiIC0+ICIxMzk5NjU1 ODg3ODkxMjAiIFtjb2xvciA9IHBlYWNocHVmZjRdOwogICIxMzk5NjU1ODg3ODc4NDAiIC0+ICIx Mzk5NjU1ODg3ODk5MjAiIFtjb2xvciA9IHBlYWNocHVmZjRdOwogICIxMzk5NjU1ODg3ODc4NDAi IC0+ICIxMzk5NjU1ODg3ODk3NjAiIFtjb2xvciA9IHBlYWNocHVmZjRdOwogICIxMzk5NjU1ODg3 ODc4NDAiIC0+ICIxMzk5NjU1ODg3OTAwODAiIFtjb2xvciA9IHBlYWNocHVmZjRdOwogICIxMzk5 NjU1ODg3ODc4NDAiIC0+ICIxMzk5NjU3NDk1NjMxMzYiIFtjb2xvciA9IHBlYWNocHVmZjRdOwog ICIxMzk5NjU1ODg3ODgzMjAiIFtsYWJlbCA9ICJ0Y2MtYm9vdEAwLjkuMjciLCBzaGFwZSA9IGJv eCwgZm9udG5hbWUgPSBzYW5zXTsKICAiMTM5OTY1NTg4Nzg4MzIwIiAtPiAiMTM5OTY1NTg4Nzg4 NjQwIiBbY29sb3IgPSBkaW1ncmV5XTsKICAiMTM5OTY1NTg4Nzg4MzIwIiAtPiAiMTM5OTY1NTg4 Nzg4ODAwIiBbY29sb3IgPSBkaW1ncmV5XTsKICAiMTM5OTY1NTg4Nzg4MzIwIiAtPiAiMTM5OTY1 NTg4Nzg5MTIwIiBbY29sb3IgPSBkaW1ncmV5XTsKICAiMTM5OTY1NTg4Nzg4MzIwIiAtPiAiMTM5 OTY1NTg4Nzg5OTIwIiBbY29sb3IgPSBkaW1ncmV5XTsKICAiMTM5OTY1NTg4Nzg4MzIwIiAtPiAi MTM5OTY1NTg4Nzg5NzYwIiBbY29sb3IgPSBkaW1ncmV5XTsKICAiMTM5OTY1NTg4Nzg4MzIwIiAt PiAiMTM5OTY1NTg4NzkwMDgwIiBbY29sb3IgPSBkaW1ncmV5XTsKICAiMTM5OTY1NTg4Nzg4MzIw IiAtPiAiMTM5OTY1NzQ5NTYzMTM2IiBbY29sb3IgPSBkaW1ncmV5XTsKCn0K --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable --=20 Jan Nieuwenhuizen | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar=C2=AE http://AvatarAcademy.com --=-=-=--