From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Iwan Aucamp Newsgroups: gmane.lisp.guile.bugs Subject: bug#22152: fat_mutex owner corruption (fmoc) inside fat_mutex_unlock (guile-v2.0.11) Date: Sat, 12 Dec 2015 19:28:14 +0200 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a11c259b82d7a370526b6c6cb X-Trace: ger.gmane.org 1449947071 20818 80.91.229.3 (12 Dec 2015 19:04:31 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 12 Dec 2015 19:04:31 +0000 (UTC) Cc: Iwan Armand Aucamp , Donovan Hutcheon , Martin Cooper , Waqar Ali To: 22152@debbugs.gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Sat Dec 12 20:04:15 2015 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1a7pSn-0001lL-OM for guile-bugs@m.gmane.org; Sat, 12 Dec 2015 20:04:14 +0100 Original-Received: from localhost ([::1]:52748 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a7pSn-0006BJ-3V for guile-bugs@m.gmane.org; Sat, 12 Dec 2015 14:04:13 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39694) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a7pSg-0006Ae-G3 for bug-guile@gnu.org; Sat, 12 Dec 2015 14:04:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a7pSd-0000m5-Mr for bug-guile@gnu.org; Sat, 12 Dec 2015 14:04:06 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:42085) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a7pSd-0000m0-Ir for bug-guile@gnu.org; Sat, 12 Dec 2015 14:04:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84) (envelope-from ) id 1a7pSd-0000bR-Cb for bug-guile@gnu.org; Sat, 12 Dec 2015 14:04:03 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Iwan Aucamp Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Sat, 12 Dec 2015 19:04:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 22152 X-GNU-PR-Package: guile X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-guile@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.14499469912233 (code B ref -1); Sat, 12 Dec 2015 19:04:03 +0000 Original-Received: (at submit) by debbugs.gnu.org; 12 Dec 2015 19:03:11 +0000 Original-Received: from localhost ([127.0.0.1]:49684 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1a7pRm-0000Zs-NL for submit@debbugs.gnu.org; Sat, 12 Dec 2015 14:03:11 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:44336) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1a7nyn-0003HT-Cq for submit@debbugs.gnu.org; Sat, 12 Dec 2015 12:29:10 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a7nyf-0006w5-Tb for submit@debbugs.gnu.org; Sat, 12 Dec 2015 12:29:04 -0500 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:53249) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a7nyf-0006vy-PK for submit@debbugs.gnu.org; Sat, 12 Dec 2015 12:29:01 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54318) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a7nyd-00075n-21 for bug-guile@gnu.org; Sat, 12 Dec 2015 12:29:01 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a7nya-0006uw-F2 for bug-guile@gnu.org; Sat, 12 Dec 2015 12:28:59 -0500 Original-Received: from mail-lb0-x230.google.com ([2a00:1450:4010:c04::230]:36522) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a7nyZ-0006up-Oz for bug-guile@gnu.org; Sat, 12 Dec 2015 12:28:56 -0500 Original-Received: by lbblt2 with SMTP id lt2so86808548lbb.3 for ; Sat, 12 Dec 2015 09:28:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:cc:content-type; bh=FGaWgHlQwzc8xkzcalK85cyT9gXzClaRFf8sREVM84M=; b=Hdg78lwdvLMip4ai/WLTSTrn7l+/9aq+UhcF+17pvL8lwmIRGxOcvAdCdN0ZrjDXBo izEvR77tF92I8ucsOFc6toG+K02jML2MLSetsRsGfZnNw6+kttmwylaDQ+8s1rnbPjqA Fi+i3twu3MuzmOS96z5d8XgQFTStbjdGDncVxbqVpcv8Yw4oMT40Nz0jpvlIhfLO050H izJotRCnp4s+O4MzxpoYi3lhAPlC7orcwqdzCu8F3PvhKqh4rRhQfwtSzacRJxOuJF8T clnnj6lZ0k1yFjiWDgAeRoigo/ulzlcLIw/DwV45JGsIWHHIpHOyFX0q9l5C4hEYJCsS caaw== X-Received: by 10.112.157.133 with SMTP id wm5mr10048209lbb.65.1449941334265; Sat, 12 Dec 2015 09:28:54 -0800 (PST) Original-Received: by 10.25.25.201 with HTTP; Sat, 12 Dec 2015 09:28:14 -0800 (PST) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Mailman-Approved-At: Sat, 12 Dec 2015 13:33:16 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.bugs:7914 Archived-At: --001a11c259b82d7a370526b6c6cb Content-Type: text/plain; charset=UTF-8 Hi We sporadically get "mutex not locked" and "mutex not locked by current thread" exceptions on Solaris 10u10 with guile-2.0.11. This problem can be reproduced with following scheme scripts: guile-fmoc-test-mnl.scm (for "mutex not locked") Two threads, one of them (reader-000) waits on a condition variable that nothing will trigger and the other thread (writer-000) locks and unlocks the mutex used with the condition variable. This code causes "mutex not locked" exception with some consistency. Output for this is in guile-fmoc-test-mnl-problem_output.txt (referenced as mnl-problem_output.txt) * owner id for reader-000 is 12593872 * owner id for writer-000 is 12595040 guile-fmoc-test-mnlbct.scm (for "mutex not locked by current thread") Same as guile-fmoc-test-mnl.scm except here writer-000 signals condition variable. This code causes "mutex not locked" and "mutex not locked by current thread" errors. Output for this, showing "mutex not locked by current thread", is in guile-fmoc-test-mnlbct-problem_output.txt (referenced as mnlbct- problem_output.txt) * owner id for reader-000 is 14535648 * owner id for writer-000 is 14536400 To track down this issue we have added some debug printfs (see guile-2.0.11- with-debug.patch). Given that this changes the line numbers I have referenced original line numbers as o:file:line and line numbers with patch as d[:file]: line. Also, these printfs have resulted in some irrelevant output (for internal and verbose logging mutexes) which has been filtered out. There is various scenarios leading to these errors that we have found but all caused by same problem. The a detailed analysis for "mutex not locked by current thread" scenario that can be seen in mnlbct-problem_output.txt is included below and detailed analysis for other scenarios will be shared if required. Scenario from mnlbct-problem_output.txt: 1. [writer-000:14536400] unlocks fat_mutex[14512880] and queues reader-000: 14535648 at o:threads.c:1664 - d:1681 before mnlbct-problem_output.txt:4079 2. [reader-000:14535648] locks fat_mutex[14512880] with fat_mutex_lock at o:threads.c:1394 - d:1401 before mnlbct-problem_output.txt:4080 3. [reader-000:14535648] enters wait-condition-variable and changes fat_mutex [14512880].owner to writer-000:14536400 at o:threads.c:1616 - d:1631 before mnlbct-problem_output.txt:4083 4. [reader-000:14535648] goes into block_self and starts waiting on ptheead condition variable inside fat_mutex_unlock > block_self. This unlocks fat_mutex[14512880].mutex, allowing some other thread to lock fat_mutex [14512880] at o:threads.c:452 - d:456 before mnlbct-problem_output.txt:4083 5. [writer-000:14536400] locks fat_mutex[14512880] with fat_mutex_lock at o:threads.c:1394 - d:1401 before mnlbct-problem_output.txt:4082 6. [reader-000:14535648] spurious wake-up occurs for condition variable which causes block_self to return EINTR to fat_mutex_unlock at o:threads.c:1621 - d:1636 before mnlbct-problem_output.txt:4084 7. [reader-000:14535648] loops and sets fat_mutex[14512880].owner=4 (i.e. not locked) while writer-000:14536400 should still be owner of fat_mutex [14512880]. Since it was spurious wake-up reader-000:14535648 continues to wait for condition to be notified again. at o:threads.c:1616 - d:1631 before mnlbct-problem_output.txt:4086 8. [writer-000:14536400] completes signal-condition-variable before mnlbct-problem_output.txt:4088 9. [reader-000:14535648] now gets actual notification and block_self returns 0. This causes fat_mutex:14512880 to be locked again - which works cos fat_mutex:14512880.owner is 4. This changes fat_mutex:14512880.owner from 4 to 14535648. at o:threads.c:1643 - d:1660 before mnlbct-problem_output.txt:4086 10. [writer-000:14536400] tries to unlock the mutex, this fails though as reader-000:14535648 now owns the mutex - resulting in "mutex not locked by current thread" exception. at o:threads.c:1599 - d:1614 before mnlbct-problem_output.txt:4089 Briefly, for mnl-problem_output.txt: 1. reader-000 locks fat_mutex and unlocks it again as it starts waiting for condition to be notified. 2. writer-000 locks mutex 3. Spurious wake-up occurs for reader-000 which causes reader to change fat_mutex.owner from writer-000 id to 4 and then resumes waiting on condition variable 4. Writer tries to unlock fat_mutex but now owner is 4 and this results in "mutex not locked" exception The cause of these problems seems to be related to fat_mutex_unlock changing fat_mutex.owner inside the while loop that is intended for checking condition variable predicate which is problematic if spurious wake-ups from pthread_cond_wait occur. Spurious wake-ups from pthread_cond_wait seems less common on Linux, which is why we have only been observing the issue on Solaris. It does however look like this problem will occur on any platform when a spurious wake-up does occur. As far as we can tell there is no reason for the fat_mutex.owner assignment to happen inside the loop. It seems more appropriate that this happens only once before the loop and not again. To this extent we moved owner reassignment out of the loop and this seems to have resolved our issues. The patch for this is in guile-2.0.11-with-fmoc_fix.patch. We have ran the test suite with this on Linux and everything passes. There is however other issues with test suite on Solaris that prevents it from completing (both with and without the patch) which needs further investigation. * All files related to this can be found at https://gitlab.com/concurrent-systems/osp-issues-1512/tree/master/guile-fmoc * Source with guile-2.0.11-with-debug.patch can be found at https://gitlab.com/concurrent-systems/guile/tree/v2.0.11-with-debug * Source with guile-2.0.11-with-fmoc_fix.patch can be found at https://gitlab.com/concurrent-systems/guile/tree/v2.0.11-with-fmoc_fix Regards -- Iwan Aucamp --001a11c259b82d7a370526b6c6cb Content-Type: text/x-patch; charset=US-ASCII; name="guile-2.0.11-with-debug.patch" Content-Disposition: attachment; filename="guile-2.0.11-with-debug.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ii3djgqz0 ZGlmZiAtLWdpdCBhL2xpYmd1aWxlL2RlYnVnLmMgYi9saWJndWlsZS9kZWJ1Zy5jCmluZGV4IDEw N2I1ZDQuLjZmNDczNTQgMTAwNjQ0Ci0tLSBhL2xpYmd1aWxlL2RlYnVnLmMKKysrIGIvbGliZ3Vp bGUvZGVidWcuYwpAQCAtMjYzLDMgKzI2Myw0IEBAIHNjbV9pbml0X2RlYnVnICgpCiAgIGMtZmls ZS1zdHlsZTogImdudSIKICAgRW5kOgogKi8KK2ludCBkcGUgPSAwOwpkaWZmIC0tZ2l0IGEvbGli Z3VpbGUvZGVidWd4LmggYi9saWJndWlsZS9kZWJ1Z3guaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi5iMzlhN2JiCi0tLSAvZGV2L251bGwKKysrIGIvbGliZ3VpbGUvZGVidWd4 LmgKQEAgLTAsMCArMSwzNSBAQAorLyoKK3ZpbTogc2V0IHRzPTggc3RzPTIgc3c9MiBub2V4cGFu ZHRhYiBmaWxldHlwZT1jOgorKi8KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDx0aW1l Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxz dGRsaWIuaD4KKworZXh0ZXJuIGludCBkcGU7CisKKyNkZWZpbmUgREVCVUdfUFJJTlRGKCBjb25k LCBmb3JtYXQsIGFyZ3MuLi4gKSBcCisgIGlmICggY29uZCApXAorICB7IFwKKyAgICBzdHJ1Y3Qg dGltZXNwZWMgbF90aW1lc3BlYzsgXAorICAgIHN0cnVjdCB0bSBsX3RtOyBcCisgICAgY2hhciBk YXRlX3RpbWVfYnVmWzMyXTtcCisgICAgY2hhciBfX2RiX2J1ZmZlcls4KjEwMjRdOyBcCisgICAg aW50IHdyaXR0ZW4gPSAtMTsgXAorICAgIGNsb2NrX2dldHRpbWUoIENMT0NLX1JFQUxUSU1FLCAm bF90aW1lc3BlYyApOyBcCisgICAgXAorICAgIGxvY2FsdGltZV9yKCYobF90aW1lc3BlYy50dl9z ZWMpLCAmbF90bSk7IFwKKyAgICBcCisgICAgc3RyZnRpbWUoIGRhdGVfdGltZV9idWYsIDMyLCAi JVktJW0tJWRUJUg6JU06JVMiLCAmbF90bSApO1wKKyAgICBcCisgICAgXAorICAgIHdyaXR0ZW4g PSBzbnByaW50ZiggX19kYl9idWZmZXIsIDgqMTAyNCwgIiVzLiUwOWxpIFslMDh1OiUwOHU6JTAx MHVdIERFQlVHX1ZBUiBbJXM6JWk6JXNdICJmb3JtYXQiXG4iLCBcCisgICAgICBkYXRlX3RpbWVf YnVmLCBsX3RpbWVzcGVjLnR2X25zZWMsIFwKKyAgICAgICggdW5zaWduZWQgaW50ICkoIGdldHBp ZCgpICksICggdW5zaWduZWQgaW50ICkoIGdldHBwaWQoKSApLCAoIHVuc2lnbmVkIGludCApKCBw dGhyZWFkX3NlbGYoKSApLCBcCisgICAgICBfX0ZJTEVfXywgX19MSU5FX18sIF9fRlVOQ1RJT05f XywgXAorICAgICAgIyNhcmdzICk7IFwKKyAgICB3cml0ZSggZmlsZW5vKCBzdGRlcnIgKSwgX19k Yl9idWZmZXIsIHdyaXR0ZW4gKTsgXAorICB9IFwKKworCmRpZmYgLS1naXQgYS9saWJndWlsZS9p bml0LmMgYi9saWJndWlsZS9pbml0LmMKaW5kZXggYjMyMDM2MC4uMzMzNDBjZSAxMDA2NDQKLS0t IGEvbGliZ3VpbGUvaW5pdC5jCisrKyBiL2xpYmd1aWxlL2luaXQuYwpAQCAtMTcsNiArMTcsOSBA QAogICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwg Qm9zdG9uLCBNQQogICogMDIxMTAtMTMwMSBVU0EKICAqLworLyoKK3ZpbTogc2V0IHRzPTggc3Rz PTIgc3c9MiBub2V4cGFuZHRhYiBmaWxldHlwZT1jOgorKi8KIAogCiAMCkBAIC0zMDQsNiArMzA3 LDcgQEAgc3RhdGljIHZvaWQgKmludm9rZV9tYWluX2Z1bmModm9pZCAqYm9keV9kYXRhKTsKICAg IGFsbG9jYXRlLiAgU28sIHNjbV9ib290X2d1aWxlIGZ1bmN0aW9uIGV4aXRzLCByYXRoZXIgdGhh bgogICAgcmV0dXJuaW5nLCB0byBkaXNjb3VyYWdlIHBlb3BsZSBmcm9tIG1ha2luZyB0aGF0IG1p c3Rha2UuICAqLwogCisjaW5jbHVkZSAibGliZ3VpbGUvZGVidWd4LmgiCiAKIHZvaWQKIHNjbV9i b290X2d1aWxlIChpbnQgYXJnYywgY2hhciAqKiBhcmd2LCB2b2lkICgqbWFpbl9mdW5jKSAoKSwg dm9pZCAqY2xvc3VyZSkKQEAgLTM4MCw2ICszODQsNyBAQCBzY21faV9pbml0X2d1aWxlICh2b2lk ICpiYXNlKQogewogICBpZiAoc2NtX2luaXRpYWxpemVkX3ApCiAgICAgcmV0dXJuOworICBkcGUg PSAoIGdldGVudiggIkRFQlVHX1BSSU5URl9FTkFCTEUiICkgIT0gTlVMTCApOwogCiAgIHNjbV9z dG9yYWdlX3ByZWhpc3RvcnkgKCk7CiAgIHNjbV90aHJlYWRzX3ByZWhpc3RvcnkgKGJhc2UpOyAg LyogcmVxdWlyZXMgc3RvcmFnZV9wcmVoaXN0b3J5ICovCmRpZmYgLS1naXQgYS9saWJndWlsZS90 aHJlYWRzLmMgYi9saWJndWlsZS90aHJlYWRzLmMKaW5kZXggMTVlNDkxOS4uNzAyY2UzNyAxMDA2 NDQKLS0tIGEvbGliZ3VpbGUvdGhyZWFkcy5jCisrKyBiL2xpYmd1aWxlL3RocmVhZHMuYwpAQCAt MTcsNiArMTcsOSBAQAogICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG aWZ0aCBGbG9vciwgQm9zdG9uLCBNQQogICogMDIxMTAtMTMwMSBVU0EKICAqLworLyoKK3ZpbTog c2V0IHRzPTggc3RzPTIgc3c9MiBub2V4cGFuZHRhYiBmaWxldHlwZT1jOgorKi8KIAogCiAMCkBA IC02NCw2ICs2Nyw3IEBACiAjaW5jbHVkZSAibGliZ3VpbGUvc2Ntc2lncy5oIgogI2luY2x1ZGUg ImxpYmd1aWxlL3N0cmluZ3MuaCIKICNpbmNsdWRlICJsaWJndWlsZS93ZWFrcy5oIgorI2luY2x1 ZGUgImxpYmd1aWxlL2RlYnVneC5oIgogCiAjaW5jbHVkZSA8ZnVsbC1yZWFkLmg+CiAKQEAgLTQ1 OCw3ICs0NjIsMTAgQEAgYmxvY2tfc2VsZiAoU0NNIHF1ZXVlLCBTQ00gc2xlZXBfb2JqZWN0LCBz Y21faV9wdGhyZWFkX211dGV4X3QgKm11dGV4LAogCSBoYXBwZW5lZCBhYm92ZS4KICAgICAgICov CiAgICAgICBpZiAocmVtcXVldWUgKHF1ZXVlLCBxX2hhbmRsZSkgJiYgZXJyID09IDApCisgICAg ICAgIHsKKyAgICAgICAgICBERUJVR19QUklOVEYoIGRwZSwgIlsgd2FpdHRpbWUgPSAlcCwgZXJy bm8gPSAlaSwgZXJybm9fc3RyaW5nID0gJXMgXSIsIHdhaXR0aW1lLCBlcnIsIHN0cmVycm9yKCBl cnIgKSApOwogCWVyciA9IEVJTlRSOworICAgICAgICB9CiAgICAgICB0LT5ibG9ja19hc3luY3Mt LTsKICAgICAgIHNjbV9pX3Jlc2V0X3NsZWVwICh0KTsKICAgICB9CkBAIC0xNDA2LDYgKzE0MTMs OCBAQCBmYXRfbXV0ZXhfbG9jayAoU0NNIG11dGV4LCBzY21fdF90aW1lc3BlYyAqdGltZW91dCwg U0NNIG93bmVyLCBpbnQgKnJldCkKICAgICB7CiAgICAgICBpZiAobS0+bGV2ZWwgPT0gMCkKIAl7 CisgICAgICAgICAgREVCVUdfUFJJTlRGKCBkcGUsICJtdXRleCA9ICVsdSA6IG0tPmxldmVsID0g JWkgOiBvd25lciA9ICVsdSAtPiAlbHUiLAorICAgICAgICAgICAgU0NNX1VOUEFDSyggbXV0ZXgg KSwgbS0+bGV2ZWwsIFNDTV9VTlBBQ0soIG0tPm93bmVyICksIFNDTV9VTlBBQ0soIG5ld19vd25l ciApICk7CiAJICBtLT5vd25lciA9IG5ld19vd25lcjsKIAkgIG0tPmxldmVsKys7CiAKQEAgLTE0 MzIsNiArMTQ0MSw4IEBAIGZhdF9tdXRleF9sb2NrIChTQ00gbXV0ZXgsIHNjbV90X3RpbWVzcGVj ICp0aW1lb3V0LCBTQ00gb3duZXIsIGludCAqcmV0KQogCX0KICAgICAgIGVsc2UgaWYgKFNDTV9J X0lTX1RIUkVBRCAobS0+b3duZXIpICYmIHNjbV9jX3RocmVhZF9leGl0ZWRfcCAobS0+b3duZXIp KQogCXsKKyAgICAgICAgICBERUJVR19QUklOVEYoIGRwZSwgIm11dGV4ID0gJWx1IDogbS0+bGV2 ZWwgPSAlaSA6IG93bmVyID0gJWx1IC0+ICVsdSIsCisgICAgICAgICAgICBTQ01fVU5QQUNLKCBt dXRleCApLCBtLT5sZXZlbCwgU0NNX1VOUEFDSyggbS0+b3duZXIgKSwgU0NNX1VOUEFDSyggbmV3 X293bmVyICkgKTsKIAkgIG0tPm93bmVyID0gbmV3X293bmVyOwogCSAgZXJyID0gc2NtX2NvbnMg KHNjbV9hYmFuZG9uZWRfbXV0ZXhfZXJyb3Jfa2V5LAogCQkJICBzY21fZnJvbV9sb2NhbGVfc3Ry aW5nICgibG9jayBvYnRhaW5lZCBvbiBhYmFuZG9uZWQgIgpAQCAtMTU4OSw2ICsxNjAwLDggQEAg ZmF0X211dGV4X3VubG9jayAoU0NNIG11dGV4LCBTQ00gY29uZCwKIAkgIGlmICghbS0+dW5jaGVj a2VkX3VubG9jaykKIAkgICAgewogCSAgICAgIHNjbV9pX3B0aHJlYWRfbXV0ZXhfdW5sb2NrICgm bS0+bG9jayk7CisgICAgICAgICAgICAgIERFQlVHX1BSSU5URiggZHBlLCAibXV0ZXggPSAlbHUg OiB0LT5oYW5kbGUgPSAlbHUgOiBtLT5sZXZlbCA9ICVpIDogb3duZXIgPSAlbHUgLT4gLTEiLAor ICAgICAgICAgICAgICAgIFNDTV9VTlBBQ0soIG11dGV4ICksIFNDTV9VTlBBQ0soIHQtPmhhbmRs ZSApLCBtLT5sZXZlbCwgU0NNX1VOUEFDSyggb3duZXIgKSApOwogCSAgICAgIHNjbV9taXNjX2Vy cm9yIChOVUxMLCAibXV0ZXggbm90IGxvY2tlZCIsIFNDTV9FT0wpOwogCSAgICB9CiAJICBvd25l ciA9IHQtPmhhbmRsZTsKQEAgLTE1OTYsNiArMTYwOSw4IEBAIGZhdF9tdXRleF91bmxvY2sgKFND TSBtdXRleCwgU0NNIGNvbmQsCiAgICAgICBlbHNlIGlmICghbS0+YWxsb3dfZXh0ZXJuYWxfdW5s b2NrKQogCXsKIAkgIHNjbV9pX3B0aHJlYWRfbXV0ZXhfdW5sb2NrICgmbS0+bG9jayk7CisgICAg ICAgICAgREVCVUdfUFJJTlRGKCBkcGUsICJtdXRleCA9ICVsdSA6IHQtPmhhbmRsZSA9ICVsdSA6 IG0tPmxldmVsID0gJWkgOiBvd25lciA9ICVsdSAtPiAtMSIsCisgICAgICAgICAgICBTQ01fVU5Q QUNLKCBtdXRleCApLCBTQ01fVU5QQUNLKCB0LT5oYW5kbGUgKSwgbS0+bGV2ZWwsIFNDTV9VTlBB Q0soIG93bmVyICkgKTsKIAkgIHNjbV9taXNjX2Vycm9yIChOVUxMLCAibXV0ZXggbm90IGxvY2tl ZCBieSBjdXJyZW50IHRocmVhZCIsIFNDTV9FT0wpOwogCX0KICAgICB9CkBAIC0xNjE5LDYgKzE2 MzQsOCBAQCBmYXRfbXV0ZXhfdW5sb2NrIChTQ00gbXV0ZXgsIFNDTSBjb25kLAogCSAgdC0+Ymxv Y2tfYXN5bmNzKys7CiAKIAkgIGVyciA9IGJsb2NrX3NlbGYgKGMtPndhaXRpbmcsIGNvbmQsICZt LT5sb2NrLCB3YWl0dGltZSk7CisgICAgICAgICAgREVCVUdfUFJJTlRGKCBkcGUsICJtdXRleCA9 ICVsdSA6IHQtPmhhbmRsZSA9ICVsdSA6IG0tPmxldmVsID0gJWkgOiBvd25lciA9ICVsdSAtPiAl bHUgWyByZWxvY2sgPSAlaSwgZXJyID0gJWksIGVycnN0ciA9ICVzIF0iLAorICAgICAgICAgICAg U0NNX1VOUEFDSyggbXV0ZXggKSwgU0NNX1VOUEFDSyggdC0+aGFuZGxlICksIG0tPmxldmVsLCBT Q01fVU5QQUNLKCBvd25lciApLCBTQ01fVU5QQUNLKCBtLT5vd25lciApLCByZWxvY2ssIGVyciwg c3RyZXJyb3IoIGVyciApICk7CiAJICBzY21faV9wdGhyZWFkX211dGV4X3VubG9jayAoJm0tPmxv Y2spOwogCiAJICBpZiAoZXJyID09IDApCkBAIC0xNjYyLDYgKzE2NzksOCBAQCBmYXRfbXV0ZXhf dW5sb2NrIChTQ00gbXV0ZXgsIFNDTSBjb25kLAogCSAgLyogQ2hhbmdlIHRoZSBvd25lciBvZiBN VVRFWC4gICovCiAJICB0LT5tdXRleGVzID0gc2NtX2RlbHFfeCAobXV0ZXgsIHQtPm11dGV4ZXMp OwogCSAgbS0+b3duZXIgPSB1bmJsb2NrX2Zyb21fcXVldWUgKG0tPndhaXRpbmcpOworICAgICAg ICAgIERFQlVHX1BSSU5URiggZHBlLCAibXV0ZXggPSAlbHUgOiB0LT5oYW5kbGUgPSAlbHUgOiBt LT5sZXZlbCA9ICVpIDogb3duZXIgPSAlbHUgLT4gJWx1IFsgcmVsb2NrID0gJWkgXSIsCisgICAg ICAgICAgICBTQ01fVU5QQUNLKCBtdXRleCApLCBTQ01fVU5QQUNLKCB0LT5oYW5kbGUgKSwgbS0+ bGV2ZWwsIFNDTV9VTlBBQ0soIG93bmVyICksIFNDTV9VTlBBQ0soIG0tPm93bmVyICksIHJlbG9j ayApOwogCX0KIAogICAgICAgc2NtX2lfcHRocmVhZF9tdXRleF91bmxvY2sgKCZtLT5sb2NrKTsK --001a11c259b82d7a370526b6c6cb Content-Type: text/x-patch; charset=US-ASCII; name="guile-2.0.11-with-fmoc_fix.patch" Content-Disposition: attachment; filename="guile-2.0.11-with-fmoc_fix.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ii3djgrg1 ZGlmZiAtLWdpdCBhL2xpYmd1aWxlL3RocmVhZHMuYyBiL2xpYmd1aWxlL3RocmVhZHMuYwppbmRl eCAxNWU0OTE5Li40MTdjMjI1IDEwMDY0NAotLS0gYS9saWJndWlsZS90aHJlYWRzLmMKKysrIGIv bGliZ3VpbGUvdGhyZWFkcy5jCkBAIC0xNjAzLDE5ICsxNjAzLDIwIEBAIGZhdF9tdXRleF91bmxv Y2sgKFNDTSBtdXRleCwgU0NNIGNvbmQsCiAgIGlmICghIChTQ01fVU5CTkRQIChjb25kKSkpCiAg ICAgewogICAgICAgYyA9IFNDTV9DT05EVkFSX0RBVEEgKGNvbmQpOworCisgICAgICBpZiAobS0+ bGV2ZWwgPiAwKQorICAgICAgICBtLT5sZXZlbC0tOworICAgICAgaWYgKG0tPmxldmVsID09IDAp CisgICAgICAgIHsKKyAgICAgICAgICAvKiBDaGFuZ2UgdGhlIG93bmVyIG9mIE1VVEVYLiAgKi8K KyAgICAgICAgICB0LT5tdXRleGVzID0gc2NtX2RlbHFfeCAobXV0ZXgsIHQtPm11dGV4ZXMpOwor ICAgICAgICAgIG0tPm93bmVyID0gdW5ibG9ja19mcm9tX3F1ZXVlIChtLT53YWl0aW5nKTsKKyAg ICAgICAgfQorCiAgICAgICB3aGlsZSAoMSkKIAl7CiAJICBpbnQgYnJrID0gMDsKIAotCSAgaWYg KG0tPmxldmVsID4gMCkKLQkgICAgbS0+bGV2ZWwtLTsKLQkgIGlmIChtLT5sZXZlbCA9PSAwKQot CSAgICB7Ci0JICAgICAgLyogQ2hhbmdlIHRoZSBvd25lciBvZiBNVVRFWC4gICovCi0JICAgICAg dC0+bXV0ZXhlcyA9IHNjbV9kZWxxX3ggKG11dGV4LCB0LT5tdXRleGVzKTsKLQkgICAgICBtLT5v d25lciA9IHVuYmxvY2tfZnJvbV9xdWV1ZSAobS0+d2FpdGluZyk7Ci0JICAgIH0KLQogCSAgdC0+ YmxvY2tfYXN5bmNzKys7CiAKIAkgIGVyciA9IGJsb2NrX3NlbGYgKGMtPndhaXRpbmcsIGNvbmQs ICZtLT5sb2NrLCB3YWl0dGltZSk7Cg== --001a11c259b82d7a370526b6c6cb Content-Type: text/x-scheme; charset=US-ASCII; name="guile-fmoc-test-mnl.scm" Content-Disposition: attachment; filename="guile-fmoc-test-mnl.scm" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ii3djgrt2 OyB2aW06IHNldCB0cz00IHN3PTQgbm9leHBhbmR0YWIgZmlsZXR5cGU9c2NoZW1lOgoKKGZvcm1h dCAoY3VycmVudC1lcnJvci1wb3J0KSAiKGN1cnJlbnQtZmlsZW5hbWUpID0gfmFcbiIgKGN1cnJl bnQtZmlsZW5hbWUpKQooZm9ybWF0IChjdXJyZW50LWVycm9yLXBvcnQpICIlbG9hZC1wYXRoID0g fmFcbiIgJWxvYWQtcGF0aCkKCihkZWZpbmUtbW9kdWxlICh0ZXN0LW5vdGxvY2tlZCBhYWIpCgkj OnVzZS1tb2R1bGUgKGljZS05IGZvcm1hdCkKCSM6dXNlLW1vZHVsZSAoc3lzdGVtIGZvcmVpZ24p CgkjOnVzZS1tb2R1bGUgKGljZS05IHRocmVhZHMpCgkjOnVzZS1tb2R1bGUgKG9vcCBnb29wcykK KQoKCihkZWZpbmUtc3ludGF4LXJ1bGUgKHZlcmJvc2UtZm9ybWF0IGZvcm1hdC1zdHJpbmcgLi4u KSAodmVyYm9zZS1mb3JtYXQtd2l0aC1sb2NhdGlvbiAoY3VycmVudC1zb3VyY2UtbG9jYXRpb24p IGZvcm1hdC1zdHJpbmcgLi4uKSkKCihkZWZpbmUgdmVyYm9zZS1wb3J0IChjdXJyZW50LWVycm9y LXBvcnQpKQooZGVmaW5lIHZlcmJvc2UtbXV0ZXggKG1ha2UtbXV0ZXgpKQoKKGRlZmluZSAodmVy Ym9zZS1mb3JtYXQtd2l0aC1sb2NhdGlvbiBsb2NhdGlvbiBmb3JtYXQtc3RyaW5nIC4gZm9ybWF0 LWFyZ3MpCgkobGV0ICgodG9kIChnZXR0aW1lb2ZkYXkpKSAoY3NsIChjdXJyZW50LXNvdXJjZS1s b2NhdGlvbikpKQoJCSh3aXRoLW11dGV4IHZlcmJvc2UtbXV0ZXggKGFwcGx5IGZvcm1hdCAoYXBw ZW5kIChsaXN0IHZlcmJvc2UtcG9ydAoJCQkJKHN0cmluZy1hcHBlbmQgIn5hLn42LCcwZCB+Niwn MGQ6fjYsJzBkOn5hIH5hOn41LCcwZCAiIGZvcm1hdC1zdHJpbmcgIlxuIikKCQkJCShzdHJmdGlt ZSAiJVk6JW06JWQgJUg6JU06JVMiIChsb2NhbHRpbWUgKGNhciB0b2QpKSkgKGNkciB0b2QpCgkJ CQkoZ2V0cGlkKSAoZ2V0cHBpZCkgI2YgOyh0aHJlYWQtbmFtZSAoY3VycmVudC10aHJlYWQpKQoJ CQkJKGJhc2VuYW1lIChhc3NxLXJlZiBsb2NhdGlvbiAnZmlsZW5hbWUpKSAoYXNzcS1yZWYgbG9j YXRpb24gJ2xpbmUpKQoJCQkJZm9ybWF0LWFyZ3MKCQkJCSkKCQkJKSkKCQkpCgkJKGZvcmNlLW91 dHB1dCB2ZXJib3NlLXBvcnQpCgkpCgoKKGRlZmluZSBleGl0LXN0YXR1cyAjZikKCihkZWZpbmUg KGV4aXQtd2FpdCkKCShkbyAoKSAoZXhpdC1zdGF0dXMpCgkJKHVzbGVlcCA1MDAwMDApKQoJKHZl cmJvc2UtZm9ybWF0ICJlbmRpbmcgLi4uIiBleGl0LXN0YXR1cykpCgooZGVmaW5lIChzaWduYWwt aGFuZGxlciBzaWduYWwpCgkodmVyYm9zZS1mb3JtYXQgImdvdCBzaWduYWwgfmEiIHNpZ25hbCkK CShzZXQhIGV4aXQtc3RhdHVzICN0KQoJKHZlcmJvc2UtZm9ybWF0ICJleGl0LXN0YXR1cyA9IH5h IiBleGl0LXN0YXR1cykpCgooZGVmaW5lICh3cml0ZXIgaWQgbXV0ZXggY29uZGl0aW9uLXZhcmlh YmxlKQoJKHZlcmJvc2UtZm9ybWF0ICJ+YSBlbnRyeSIgaWQpCgkobGV0IGxvb3AgKCAoaSAwKSAp CgkJKHdpdGgtbXV0ZXggbXV0ZXgKCQkJKHZlcmJvc2UtZm9ybWF0ICJ+YSB3cml0aW5nIH5hIiBp ZCBpKQoJCQk7KHNpZ25hbC1jb25kaXRpb24tdmFyaWFibGUgY29uZGl0aW9uLXZhcmlhYmxlKQoJ CQkodmVyYm9zZS1mb3JtYXQgIn5hIHdyb3RlIH5hIiBpZCBpKQoJCQkodXNsZWVwIDIwMDAwKQoJ CQkpCgkJKHVzbGVlcCAxMDApCgkJKGxvb3AgKCsgMSBpKSkKCQkpCgkodmVyYm9zZS1mb3JtYXQg In5hIGVuZCIgaWQpCgkpCgooZGVmaW5lIChyZWFkZXIgaWQgbXV0ZXggY29uZGl0aW9uLXZhcmlh YmxlKQoJKHZlcmJvc2UtZm9ybWF0ICJ+YSBlbnRyeSIgaWQpCgkobGV0IGxvb3AgKCAoaSAwKSAp CgkJKHdpdGgtbXV0ZXggbXV0ZXgKCQkJKHZlcmJvc2UtZm9ybWF0ICJ+YSByZWFkaW5nIH5hIiBp ZCBpKQoJCQkod2FpdC1jb25kaXRpb24tdmFyaWFibGUgY29uZGl0aW9uLXZhcmlhYmxlIG11dGV4 KQoJCQkodXNsZWVwIDIwMDAwKQoJCQkodmVyYm9zZS1mb3JtYXQgIn5hIHJlYWQgfmEiIGlkIGkp CgkJCSkKCQkodXNsZWVwIDEwMCkKCQkobG9vcCAoKyAxIGkpKQoJCSkKCSh2ZXJib3NlLWZvcm1h dCAifmEgZW5kIiBpZCkKCSkKCihkZWZpbmUgKG1haW4pCgkJKHZlcmJvc2UtZm9ybWF0ICJlbnRy eSIpCgkJKHZlcmJvc2UtZm9ybWF0ICJlbnRyeSB+YSIgKGN1cnJlbnQtc291cmNlLWxvY2F0aW9u KSkKCQkoc2lnYWN0aW9uIFNJR1FVSVQgc2lnbmFsLWhhbmRsZXIgU0FfUkVTVEFSVCkKCQkoc2ln YWN0aW9uIFNJR0lOVCBzaWduYWwtaGFuZGxlciBTQV9SRVNUQVJUKQoJCShzaWdhY3Rpb24gU0lH VEVSTSBzaWduYWwtaGFuZGxlciBTQV9SRVNUQVJUKQoJCShsZXQgKAoJCQkJKG11dGV4IChtYWtl LW11dGV4KSkKCQkJCShjb25kaXRpb24tdmFyaWFibGUgKG1ha2UtY29uZGl0aW9uLXZhcmlhYmxl KSkKCQkJKQoJCQkoY2FsbC13aXRoLW5ldy10aHJlYWQgKGxhbWJkYSAoKSAod3JpdGVyICJ3cml0 ZXItMDAwIiBtdXRleCBjb25kaXRpb24tdmFyaWFibGUpKSkKCQkJKGNhbGwtd2l0aC1uZXctdGhy ZWFkIChsYW1iZGEgKCkgKHJlYWRlciAicmVhZGVyLTAwMCIgbXV0ZXggY29uZGl0aW9uLXZhcmlh YmxlKSkpCgkJCSh2ZXJib3NlLWZvcm1hdCAid2FpdGluZyBmb3IgZXhpdCAuLi4iKQoJCQkoZXhp dC13YWl0KQoJCQkodmVyYm9zZS1mb3JtYXQgImRvbmUgLi4uIikKCQkpCgkJKHZlcmJvc2UtZm9y bWF0ICJlbmQiKQoJCShwcmltaXRpdmUtZXhpdCAwKQoJCSkKCihtYWluKQo= --001a11c259b82d7a370526b6c6cb Content-Type: text/x-scheme; charset=US-ASCII; name="guile-fmoc-test-mnlbct.scm" Content-Disposition: attachment; filename="guile-fmoc-test-mnlbct.scm" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ii3djgs43 OyB2aW06IHNldCB0cz00IHN3PTQgbm9leHBhbmR0YWIgZmlsZXR5cGU9c2NoZW1lOgoKKGZvcm1h dCAoY3VycmVudC1lcnJvci1wb3J0KSAiKGN1cnJlbnQtZmlsZW5hbWUpID0gfmFcbiIgKGN1cnJl bnQtZmlsZW5hbWUpKQooZm9ybWF0IChjdXJyZW50LWVycm9yLXBvcnQpICIlbG9hZC1wYXRoID0g fmFcbiIgJWxvYWQtcGF0aCkKCihkZWZpbmUtbW9kdWxlICh0ZXN0LW5vdGxvY2tlZCBhYWIpCgkj OnVzZS1tb2R1bGUgKGljZS05IGZvcm1hdCkKCSM6dXNlLW1vZHVsZSAoc3lzdGVtIGZvcmVpZ24p CgkjOnVzZS1tb2R1bGUgKGljZS05IHRocmVhZHMpCgkjOnVzZS1tb2R1bGUgKG9vcCBnb29wcykK KQoKCihkZWZpbmUtc3ludGF4LXJ1bGUgKHZlcmJvc2UtZm9ybWF0IGZvcm1hdC1zdHJpbmcgLi4u KSAodmVyYm9zZS1mb3JtYXQtd2l0aC1sb2NhdGlvbiAoY3VycmVudC1zb3VyY2UtbG9jYXRpb24p IGZvcm1hdC1zdHJpbmcgLi4uKSkKCihkZWZpbmUgdmVyYm9zZS1wb3J0IChjdXJyZW50LWVycm9y LXBvcnQpKQooZGVmaW5lIHZlcmJvc2UtbXV0ZXggKG1ha2UtbXV0ZXgpKQoKKGRlZmluZSAodmVy Ym9zZS1mb3JtYXQtd2l0aC1sb2NhdGlvbiBsb2NhdGlvbiBmb3JtYXQtc3RyaW5nIC4gZm9ybWF0 LWFyZ3MpCgkobGV0ICgodG9kIChnZXR0aW1lb2ZkYXkpKSAoY3NsIChjdXJyZW50LXNvdXJjZS1s b2NhdGlvbikpKQoJCSh3aXRoLW11dGV4IHZlcmJvc2UtbXV0ZXggKGFwcGx5IGZvcm1hdCAoYXBw ZW5kIChsaXN0IHZlcmJvc2UtcG9ydAoJCQkJKHN0cmluZy1hcHBlbmQgIn5hLn42LCcwZCB+Niwn MGQ6fjYsJzBkOn5hIH5hOn41LCcwZCAiIGZvcm1hdC1zdHJpbmcgIlxuIikKCQkJCShzdHJmdGlt ZSAiJVk6JW06JWQgJUg6JU06JVMiIChsb2NhbHRpbWUgKGNhciB0b2QpKSkgKGNkciB0b2QpCgkJ CQkoZ2V0cGlkKSAoZ2V0cHBpZCkgI2YgOyh0aHJlYWQtbmFtZSAoY3VycmVudC10aHJlYWQpKQoJ CQkJKGJhc2VuYW1lIChhc3NxLXJlZiBsb2NhdGlvbiAnZmlsZW5hbWUpKSAoYXNzcS1yZWYgbG9j YXRpb24gJ2xpbmUpKQoJCQkJZm9ybWF0LWFyZ3MKCQkJCSkKCQkJKSkKCQkpCgkJKGZvcmNlLW91 dHB1dCB2ZXJib3NlLXBvcnQpCgkpCgooZGVmaW5lIGV4aXQtc3RhdHVzICNmKQoKKGRlZmluZSAo ZXhpdC13YWl0KQoJKGRvICgpIChleGl0LXN0YXR1cykKCQkodXNsZWVwIDUwMDAwMCkpCgkodmVy Ym9zZS1mb3JtYXQgImVuZGluZyAuLi4iIGV4aXQtc3RhdHVzKSkKCihkZWZpbmUgKHNpZ25hbC1o YW5kbGVyIHNpZ25hbCkKCSh2ZXJib3NlLWZvcm1hdCAiZ290IHNpZ25hbCB+YSIgc2lnbmFsKQoJ KHNldCEgZXhpdC1zdGF0dXMgI3QpCgkodmVyYm9zZS1mb3JtYXQgImV4aXQtc3RhdHVzID0gfmEi IGV4aXQtc3RhdHVzKSkKCihkZWZpbmUgKHdyaXRlciBpZCBtdXRleCBjb25kaXRpb24tdmFyaWFi bGUpCgkodmVyYm9zZS1mb3JtYXQgIn5hIGVudHJ5IiBpZCkKCShsZXQgbG9vcCAoIChpIDApICkK CQkod2l0aC1tdXRleCBtdXRleAoJCQkodmVyYm9zZS1mb3JtYXQgIn5hIHdyaXRpbmcgfmEiIGlk IGkpCgkJCShzaWduYWwtY29uZGl0aW9uLXZhcmlhYmxlIGNvbmRpdGlvbi12YXJpYWJsZSkKCQkJ KHZlcmJvc2UtZm9ybWF0ICJ+YSB3cm90ZSB+YSIgaWQgaSkKCQkJKHVzbGVlcCAyMDAwMCkKCQkJ KQoJCSh1c2xlZXAgMTAwKQoJCShsb29wICgrIDEgaSkpCgkJKQoJKHZlcmJvc2UtZm9ybWF0ICJ+ YSBlbmQiIGlkKQoJKQoKKGRlZmluZSAocmVhZGVyIGlkIG11dGV4IGNvbmRpdGlvbi12YXJpYWJs ZSkKCSh2ZXJib3NlLWZvcm1hdCAifmEgZW50cnkiIGlkKQoJKGxldCBsb29wICggKGkgMCkgKQoJ CSh3aXRoLW11dGV4IG11dGV4CgkJCSh2ZXJib3NlLWZvcm1hdCAifmEgcmVhZGluZyB+YSIgaWQg aSkKCQkJKHdhaXQtY29uZGl0aW9uLXZhcmlhYmxlIGNvbmRpdGlvbi12YXJpYWJsZSBtdXRleCkK CQkJKHVzbGVlcCAyMDAwMCkKCQkJKHZlcmJvc2UtZm9ybWF0ICJ+YSByZWFkIH5hIiBpZCBpKQoJ CQkpCgkJKHVzbGVlcCAxMDApCgkJKGxvb3AgKCsgMSBpKSkKCQkpCgkodmVyYm9zZS1mb3JtYXQg In5hIGVuZCIgaWQpCgkpCgooZGVmaW5lIChtYWluKQoJCSh2ZXJib3NlLWZvcm1hdCAiZW50cnki KQoJCSh2ZXJib3NlLWZvcm1hdCAiZW50cnkgfmEiIChjdXJyZW50LXNvdXJjZS1sb2NhdGlvbikp CgkJKHNpZ2FjdGlvbiBTSUdRVUlUIHNpZ25hbC1oYW5kbGVyIFNBX1JFU1RBUlQpCgkJKHNpZ2Fj dGlvbiBTSUdJTlQgc2lnbmFsLWhhbmRsZXIgU0FfUkVTVEFSVCkKCQkoc2lnYWN0aW9uIFNJR1RF Uk0gc2lnbmFsLWhhbmRsZXIgU0FfUkVTVEFSVCkKCQkobGV0ICgKCQkJCShtdXRleCAobWFrZS1t dXRleCkpCgkJCQkoY29uZGl0aW9uLXZhcmlhYmxlIChtYWtlLWNvbmRpdGlvbi12YXJpYWJsZSkp CgkJCSkKCQkJKGNhbGwtd2l0aC1uZXctdGhyZWFkIChsYW1iZGEgKCkgKHdyaXRlciAid3JpdGVy LTAwMCIgbXV0ZXggY29uZGl0aW9uLXZhcmlhYmxlKSkpCgkJCShjYWxsLXdpdGgtbmV3LXRocmVh ZCAobGFtYmRhICgpIChyZWFkZXIgInJlYWRlci0wMDAiIG11dGV4IGNvbmRpdGlvbi12YXJpYWJs ZSkpKQoJCQkodmVyYm9zZS1mb3JtYXQgIndhaXRpbmcgZm9yIGV4aXQgLi4uIikKCQkJKGV4aXQt d2FpdCkKCQkJKHZlcmJvc2UtZm9ybWF0ICJkb25lIC4uLiIpCgkJKQoJCSh2ZXJib3NlLWZvcm1h dCAiZW5kIikKCQkocHJpbWl0aXZlLWV4aXQgMCkKCQkpCgoobWFpbikK --001a11c259b82d7a370526b6c6cb Content-Type: application/x-bzip2; name="guile-fmoc-test-mnlbct-problem_output.txt.bz2" Content-Disposition: attachment; filename="guile-fmoc-test-mnlbct-problem_output.txt.bz2" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ii3djgse4 QlpoOTFBWSZTWYwiZxUBn4hfgG4QWmf//76m1wq/79/gYJ0e3ve3dtMVtu227tpqNttu3QAAAAAH oAF51JEkEpSKveD0AAAABBAAA96SqKpRCihJBHAPgAAAAAAAAAAJAOG3OueF7s+a+yuje9jlKoVR JSlbaoLjuB3fB3vQ0jYUbZcAAAAAAAAAAAAe95aLMjbHk6NOVQvr1e8qt8F3ffDQKk601QbaslJs M1hti7x7oW+DvvKWmarbaqkK0yNtZmFIT2q7io3h28wPZbTDYBZrG1iazdZ2ttpwnCvAme1RqUtU Y02zSNg0lWazeu6qLwFo6HrgFSuzIq2YpUq20tzdFN4c6r1kFSUq1lSEta20FW14Dii8LB6Uqr1t jVIVsMQKKlNzOUreFuB7ZQKRJNtsGUhIm+AAD0HwAGwAAAamAZKVJTSNMAJiDCMAEyMJiaYap+hk EqSqeoDaRkBkADJpk0AA00Gp6ZAUqVBNMDEAjEMAAEDCASn6lSnqiqfv9VVDTUYNGiaGgxDAATEA 0ApShAmgmjEyJoyaApp6j1PKNPKehpPZRP1QSaoB6qSSj0I0aAAAAAAAA8zv8s9Hlr5N2uvhv3eP Dr41UI/H1n9f339Hy4cM2aaZtk/3REHjX4Ig/3i/0Ig/sN/sEQeO8Ig8e0RBs87Z+PvLYfcPj62f PPrZ8/PrZ8/X1seN8Ig8d4RB49oiDZ6hEFnkIgk94k8WQd2TQg7smlB3ZNaDuybEHdkxQd2TI2z9 vv1bPx95bD7h8fWz559bPn59bHi+EQeN8Ig8d4RB49oiDZ5iINHpEQSe8SeJ4RB4rhEHi+EQeNcI g8b4RB471s+ffxbP2+/Vs/H3lsPuHx9bPnn1seNcIg8XwiDxvhEHjvCIPHtEQbPMRBp95bD7h8fW z559bPn59bPn6+tnz9/Wz5/H1s+ffxbP2+/Vs/H3lsPuHx9bHiuEQeL4RB410EweN8Ig8d4RB49o iDZ6hEFnkIgk94k8TwiDxXCIPF8Ig8a4RB43wiDx3hEHj2iINnqEQWeQiCT3ifH1s+efWz5+fWz5 +vrZ8/f1s+fx9bOPaIg2eoRBZ5CIJPeJPE8Ig8VwiDxfCIPF8Ig8b4RB47wiDx7REGzzEQaPSNh9 w+PrZ88+tnz8+tnz9fWz5+/rZx3hEHj2iINnqEQWeQiCT3iTxPCIPFIO7JpQd2TWg7smxB3ZMUHd kyId2xlY2fj7y2H3D4+tnzz62fPz62fP19bON8Ig8d4RB49oiDZ6hEFnkIgk94k8Sg7smhB3ZNKD uya0Hdk2IO7Jig7smRGz9vv1bPx95bD7h8fWz559bPn59bOL4RB43wiDx3hEHj2iINnmIg0ekRBJ 7xJ4nhEHiuEQeL4RB41wiDxvhEHjvDZ8+/i2ft9+rZ+PvLYfcPj62fPPrZxrhEHi+EQeN8Ig8d4R B49oiDZ5iINH7y2H3D4+tnzz62fPz62fP19bPn7+tnz+PrZ8+/i2ft9+rZ+PvLYfcPj62cVwiDxf CIPGuEQeN8Ig8d4RB49oiDZ+/Vs/H3lsPuHx9bPnn1s+fn1s+fr6jlEG+EQeO8Ig8e0RBs9QiCzy EQSe8SeJ4RB4rhEHi+EQeNcIg8b4RB47wiDx7REGz1CILPIRBJ7xJ4nhEHiuEQeL4RB4vhEHjfCI PHeEQePaIg2eYiDR6RGH3D4+tnzz62fPz62fP19bPn7+tnx3hEHj2iINnqEQWeQiCT3iTxPCIPFc Ig8a4RB4vhEHjfCIPHeEQePaIg2eYjPx95bD7h8fWz559bPn59bPn6+tnxvhEHjvCIPHtEQbPUIg s8hEEnvEnieDuyaEHdk0oO7JrQd2TYg7smKDuyZEPn7ffq2fj7y2H3D4+tnzz62fPz62fF8Ig8b4 RB47wiDx7REGzzEQaPSIgk9w+PrZ88+tnz8+tnz9fWz5+/rZ8/j62fPv4tn7ffq2fj7y2H3D4nxv 9v8/9N/1fnj+g/e38m3m39Pbzb+lt5sm2jbe7ebe7ebe7ebJto23u3m3u3m3u3mybaNt7t5t7t5t 7t5sm2jbe7ebe7ebe7ebJto23u3m3u3m3u3mybaNt7t5t7t5t7t5sm2jbe7ebe7ebe7ebJto23u3 m3u3m3u3mybaNt7t5t7t5t7t5sm2jbe7ebe7ebe7ebJto23u3m3u3m3u3mybaNt7t5t7t5t7t5sm 2jbe7ebe7ebe7ebJto23u3m3u3m3u3mybaNt7t5t7t5t7t5sm2jbe7ebe7ebe7ebJto23u3m3u3m 3u3mybaNt7t5t7t5t7t5sm2jbe7ebe7ebe7ebJto23u3m3u3m3u3mybaNt7t5t7t5t7t5sm2jbe7 ebe7ebe7ebJto23u3m3u3m3u3mybaNt7t5t7t5t7t5sm2jbe7ebe7ebe7ebJto23u3m3u3m3u3my baNt7t5t7t5t7t5sm2jbe7ebe7ebe7ebJto23u3m3u3m3u3mybaNt7t5t7t5t7t5sm2jbe7ebe7e be7ebJto23u3m3u3m3u3mybaNt7t5t7t5t7t5sm2jbe7ebe7ebe7ebJto23u3m3u3m3u3mybaNt7 t5t7t5t7t5sm2jbe7ebe7ebe7ebJto23u3m3u3m3u3mybaNt7t5t7t5t7t5sm2jbe7ebe7ebe7eT TbRtvdvNvdvNvdvNk20bb3bzb3bzb3bzZNtG2928292829282TbRtvdvNvdvNvdvNk20bb3bzb3b zb3bzZNtG2928292829282TbRtvdvNvdvNvdvNk20bb3bzb3bzb3bzZNtG2928292829282TbRtv dvNvdvNvdvNk20bb3bzb3bzb3bzZNtG2928292829282TbRtvdvNvdvNvdvNk20bb3bzb3bzb3bz ZNtG2928292829282TbRtvdvNvdvNvdvNk20bb3bzb3bzb3bzZNtM+efy/x7ePn0zHovbtaP4+PP 6/Z8tH7+j7e9/Xd6FCO93SEOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABuuq6v7C89/+n8n7/m6P7+nhw5s235vF VV6cKl6MpCZIgPvDw8B+T9P9nY/L+b9KmVNT/w/SaGQzOZEzLKcCXBv9ndEFbV41s29B28axrMNq DNQYik73dw1lXObN5uqIxvDiE7ciWluqsiRmw9VxBWLDsXmrDNFwMWB7ONAwKrY2MtbJiqh1ZnHg r7MtROXlh7YNYYQNZthnTrRMtgpLLL/vqZ7eVRYLkSjE1D1OBsK7JldEi9gXm63eSjG4nN6mViVi 42Y29dTuTuq3exmtSLyXdsmDgq9Eazcq99OMZlHJlbvdfzt9iPbbqiHcoIUZyY5qChlTuyXsxCBy 6m0bE6ogmd3BbOBONkoKWbeQ8ObS3YtRUh6s2rZcO5evJCmFEbG692FEK4MxWxAM1hGBi7tgst5k YyTKk4rVTbRhQI1Kqq7gGvEszkqAk8ECQXYzYFaZxuEXEWL1VLm7y4yVBqthSZW29Zipa1Dd1Hdj ag4tjFJpZe3GMPS6yLmDFsJZdXd7obw1oWQVl5bG5tVTcRsTq0nbxKhkuZp1BUVAucdutuE1Bimo L2sjD7bi5vYZ9S0mM15swNaobqzC5sWqDV7OUlLooaTsmhluNRoXmLW0txRQwZopCNNQVYqHBKad GYOK8BM+VmQ9rYvab2FtvXicxFrajBGyDFYziomW3GGKJsNSDUm8jdK2KpBKCsYczIza0mt3JhVr UNzGvH68pk+rZp61CKrJaZd3T1buTgi4qmXIcQS1DyLaGyckjLRS2qgRm3eK2qwK9synOxbCGyck PDs4ItpjZahRj+nMmFZCh5OxBh5vlRzaKbOvMxK5jXc7MVGOdcRVZsK81yHasWCRNh1InLhKcx4c tbOZDcI67mno07dRMOjrOAvNjRUW3NzWzeLy03WxZjcbL2ReWFobqHait3LyKmw9sk2cWRdwrCgC HtUpvQVjxiakZO5DoGIs1dQbtK5o0MO6sbmNsuhptQqZ0qLbYizho2amMhFZNbYVymxUVGm5zNgx dKmHCgHXcwQxomg43TtWXGzkBxLVykq2N0Y8UVdxNq2GLhtt4ozdE1kXLxaQaAd6FCXo7hFtggl5 fMd9JzbNuwk0fy/M/l/krq6v5VdXV+fn4zLNtlm2yzbZZtsszNtlm2yzbZZtss22WbbMyzbZZtss 22WbbLMzbZZtss22WbbLNtlm/iruu67zzxmWbbLNtlm/Lruq6v6vUIwkpZSEYqSmSEvz8/Fm2yzM 22WbbLNtlm2yzfz+eeLNtmZZtss22WbbLNtlmZtss22WbbLNtlm2yzbZmWbbLNtlm2yzbZZmbbLN tlm2yzbZZtss22fvzeMyzbZZtss22WbbLMzbZZtss22WbbLNtlm2zMs22WbbLNtlm2yzM22WbbLN tlm2yzbZZtszLNtlm2yzbZZtsszNtlm2yzbZZtss22WbbMyzbZZtss22WbbLMzbZZtss22WbbLNt lm2zMs22WbbLNtlm2yzM22dpJJJBvPPPGSSSSQbaSSSSTMkkkkg20kkkkmZJJJJBtpJJJJMySSSS DbSSSSSZkkkkkG2kkkkkz9XdXV+ufnn4ySSSSDbSSSSSZkkkkkG/reeSSSSSeMkkkkg20kkkkmZJ JJJBtpJJJJMySSSSfz7PNpJJJINtmSSSSQbaSSSSTMkkkkg20kkkkmZJJJJBtpJJJJMySSSSDbSS ST2/S3kn4yDbZmWbbLNtlm2yzbZZmbbLNtlm2yzbZ+njzbLNtmZZtss22WbbLNtlmZtss22WbbLN tlm000xpmnVIRzIjJQjtZpQjq0qKWUIxVCNfLx+AqqvhEpdF7ryoRsRGxEexKEayhG6oRglLFCMq I0ZpnViRmIGZUna9tVCO1RV/d/rb/ov5URERERERERERERERERERERERERERERERERERERERERER ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER EREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREf2r F1XV+u88/s/1f5n5fgX5R+Qr9WhTu7hxdSg7iSNiEhUq7Af5bFjb3U5GSHVNWrtOwUNs22MJFvCd u3evIjXe3bS1EjBaJoYNFvcmZ0gzuO6hBtazTi5NG7bTm9NzKQd1VxawN4bnMvKprbiXcwo3Z3BL zG62d+iDsU0lS05a1ZqzdoEzlO7D1kGlbUzBideAizq29g4LpStiVeRGXE67RBM6ruQ5J2hcWxkC /WpjRuXF5jg7UWxgnKJ3GJGIZlJ6bzFEZlypLNorIsYN2LeIXKoqN9LkxMPZ2HMSWU6ZOzOm6d3F zopuXO5SlZpJMXC3bORuUaVAkToZVNxlEyN3bRQz6LZcYonYdziFDJJclLMWzjgTMiVWrbiXjorU RSnJTw002I1ac1uIbekRIKPteSSzVbrYO3u2puDqF2U2NatCXmS1qrXZnKyYdyDOHGFmps63UrMJ VRt6HDuhdhXU2Zvc3E28tSqu6wRc3V6zn2GbDp3U1DtuQceI3JVHNgl4vo3A9vM3Xk7N68Q3Mtxp h4IhmLRZmKqtmpKKTTBpGmbEVjjYd2pxjZizkPZu5pjHtw803dS1rgXtzhJx3lQGq0PDh2rrGUm1 u3FfVGxOBiNgYwYzRlPIrG6mQ4WK6jFKqdx1lq7mslMztagTGwhOA0NDoOChEkooxMTrWUqeGJDh taDdHBicS5xzuXF6JYS0w6QskaQaajRsBnRRlk1gQg0ozQkRcYarURFXF7ixbC0lXmlqpqpucK0m FcapRIlKzVGhRaLeNZerbN7cZp3KSGTc7My3DcTYtrTubsE1N0TFmvW9g0YjVEXe3L/NybzNh9TM bYy30xokRSE7rDvRNMM1ma5hY8k7ZwiF50hM+lIq2RjOlBLIxMwNWa9d7lubiVW7lHTSl7kzD2wz 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 GhnU/RLmLeyAPeHvD1vldpu4nllRaf2W5urmEPAAe4CsTrt+6Oj6TWflHrFnwCRyn0D2xAcEiz6j UCPXWZwDk0dWoGoMC+awDXlRCwLW2t39gB3VaBH2ryDN3fCYeWprnGbNAstLZFklnY2ujgHfN84j BfdDNoEVxd3cMcZn6BMXgHSGRbhsfZfzm+36T8AmnwhII2og5/7GeBIIJIPEkJxJCcSQnEkJxJCc SQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJ xJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQ nEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJRJ CcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnE kJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCc SQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJ xJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQ nEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJ CcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcckJxJCcSQnEkJxJCcSQnEkJx JCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQn EkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJC cSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxJCcSQnEk JxJCcSQnEkJxJCcSQnEkJxJCcSQnEkJxBFRiiIqiix9+XJJAIGJ8+5PeyOSlJd1RX6uenIVCkalt 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 JnFQ --001a11c259b82d7a370526b6c6cb Content-Type: application/x-bzip2; name="guile-fmoc-test-mnl-problem_output.txt.bz2" Content-Disposition: attachment; filename="guile-fmoc-test-mnl-problem_output.txt.bz2" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ii3djgsq5 QlpoOTFBWSZTWfwlQl0AJJpfgGYQWmf/97aglwq/79/gYBLhw+8LD53yz14GDPar0t4BDnbB6Aao dsABoAABwDiUqUgdv/VVSaMf/qqpgCMAAAIaYACaA00AEqqfqgADQAAGgAAA0NNCUSGhk8RNAAAA AAAz1KqTSm//VSpv1UMhk9E0BoNDCDJkAAmqkQynqaZEeoyhPJ6mkMRk2p6mQ9TbVMeoIohGQRNG mgo00ep6IaAAB6mgauloYYsMMMMXPr4sXhjdWp/vpjtXGx2S1mu2Gy2makkkkkkkkkkkkkkkkkkk kkkkkkkkkkkkkkkkkkkkk9Hoez234/PyeHmzw8PDw8PDwvOc5znOcvOc5znOcvOc5znOcvOc5znO cvOc5znOcvOc5znOcvOc5znOcvOc5znOcvj0/D7nkTX3p/j/Xr8vH/pP25+fcV59OqQVJJEUn9PS N8r+FrZkfuWUWYcjgMzDquFy733dOd5d+HHzQaeaK3RKlPmZVXKzMBDhyZFq6TyJyb1huViNUS7m JRm9a1aq5azb1JmZNJylowaQom4zBjvY1WY5dSdJTAqXMVGnxBA1ETlJ7l5iXWhlq3E2ivDhtwil IiI5UYRUhUUiwqpWtRFZsezYA9ewAABtgAAD1S22eu2Wx5eQHu7AHs2AAA9U808vIAAAAAAPPYAA AACPuKFxY5YEqy7/X8iF8qFp5Z599uwRYoX0SFkCxYy68ud7EFz7sdOWJGHUR49/K0Lc+7DMW88L UNWcKia1U09KIxRDkY1yWMVVYS7KwtpJOAlzcLaZDKq2yXEXMXmAzk1E0KkLjLN4sytq94zKlxkt Lri0ZZGYgwcRe5WRp8i706OTJsSXe7r3sGZmFVhC6ei8cdLdtjs+2unsvlAu/L6e+gvXQWOvFBbt u7H/UL698FvufLfz8KFqkg8QLiqkfJDEe7Hr03p292h49AVTmgA8HbmgvnQWzfjdQWUFtQXjZfs8 b3vj/zZJJfxfH6Uj25fH3lUVRfvzVLsu0R7smvl5LtV2Xarsu1XZdquy7Vdl2q7LtV2Xarsu1XZd quy7Vdl2q7LtV2Xarsu1XZdquy7Vdl2q7LtV2Xarsu1XZdquy7Vdl2q7LtV2XJrq21hiIaktvR/x FUzflgVU9/MahWA6wo7OTJ1BBVs28YMgsYZRVKHfvvw4+Hs8Oq2IExAmIExCJiBMQJiBMQJiAVOs mlb6mJ00tTGmeJxibAqQCpqoqQipMXM75UmkzTOCNLYwKpJeNAVIQVKGoSCU91YQWvC06+regq99 VU+mQXigsQLXdILTXszQs9cqF2SA8VAr4UyPmA1Jcy8nMhWygAAEJCIiILXRVS6KpNsqIqnAVUyx xrx0K7YpOehLBVW6uhG+w0rbG0sm4DUAgQALhgNC0lm81BUzvWpWMaURUtpkW0reJuYqFxFSWMTM Ws0k5IVow3LTVRWytMqXsMLWjReVwG8uyJe0qudIEthu3qrWzZOkbl2jeDSnDYK5hmn5X0YZKnFt ucQIkAIiDxjuyezhmZmZmZ879vmD42l3XG8wc7O+ubjK9c6rrp0CjoJXrBarSPSOQ3qADMw2jK9N i3OLRWgz7I0aBoVrg4oqlMbaQTuQTMXQUDWYxlTL0u9r2vter3JbbZ/eelhEERERERERERERERER ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER EREREREREREREREREREREREREREREVPP0nqlqpnODvDjtcRUydqZzrXdFUyKNteRsKpBTBFZJsGM BcrxrvdFUvS1HBa1S0xOc1w8bqqlis77RnnUFVMWkmNKAqZ4NZznQ21O4NsnVRVLKKpja2e2m+VZ rO0aVmSHCIiDwMQuCZd9aXYTEHSvVO5JGhtc8zMIrX0zVK2HkeCZ+UkoL5X292tN3d3d1ZTylbTq iYUA1ciaVB3CY6h7wzsdgzMw5A2hQyrrEV3vt7EVTkwKqVLRltSHMmuhXFpqrIb461kWPi2v04q5 sl/hzLzTqH0LtVbNedSpGg9nbw7ZybNlkYY9DOFm8m6s6MXIo6j3Kh8jmnaXCgCIAIfRkyCQvDl2 CKOTVYScCjpjVbMVmjoDmWnBNikwYOadR8DwjsiBERArRTyIodhZT3MNIpOnAokxDvKZ5kFlAuuw QWFBdW2fDPdp1aa663d3d281ERUg0RzotNaoiIiB5ZuQ1MYMLocm9ekRERFGa8Erg5SIOuJdqBU9 Zmkh4p7npWLGB13KYzEYBMChdtI6wyblcReulWBnaRdDhURMaejQ0rvRF5Jd+Xgt9ihAiIK2mOh+ UdBTH0QooBVIg2FCkqdqg92Y08KDKsHEXKqpnBXUvbcZE7G67ILZMHcO7q0pWPzl4ac2HUcq0JgB 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 --001a11c259b82d7a370526b6c6cb--