From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.systemreboot.net (mugam.systemreboot.net [139.59.75.54]) by localhost (mpop-1.4.7) with POP3 for ; Thu, 23 Apr 2020 21:09:36 +0530 Return-path: Envelope-to: arunisaac@systemreboot.net Delivery-date: Thu, 23 Apr 2020 20:10:20 +0530 Received: from [192.168.2.1] (helo=sender4-of-o53.zoho.com) by systemreboot.net with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (Exim 4.93) (envelope-from ) id 1jRd1W-00034o-VY; Thu, 23 Apr 2020 20:10:19 +0530 ARC-Seal: i=1; a=rsa-sha256; t=1587652814; cv=none; d=zohomail.com; s=zohoarc; b=j72nscvnUSq+eE9di5kWrSRoO8Rh4J38gcrWVaYcToaZlNp/bK5M9sifBOHciXsgMguGhrDVfJun8iuF/2u2QBphaA/t9psJeuLeWnxS8oEyR5m2fYLlCtFmw+StQdNWyZoyMqaZPmiWZfEtF3V8SeWpap623cxiXtSGXsKtMOA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587652814; h=Content-Type:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=Kml49BVpU0Fbo0AFmDK4KNpOTphJacK42njGJ3/cCyI=; b=lp7r9fH/Kopyld4t470dbjMVVNA0Hf8xcn5i5f6h7W74v1XG/nZnzLomewO7zwfTC4XGZ4fLB3l5gDVHonnXEuUngjBbvL4vDNeBuxIGt9xXiVXxLzO8Vx0gQ13HS0HOhLPBAcGMQ+AtQUqZieod/r6i5M8Dj8b87aUfaofjpNU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=elephly.net; spf=pass smtp.mailfrom=rekado@elephly.net; dmarc=pass header.from= header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1587652814; s=zoho; d=elephly.net; i=rekado@elephly.net; h=References:From:To:Cc:Subject:In-reply-to:Date:Message-ID:MIME-Version:Content-Type; bh=Kml49BVpU0Fbo0AFmDK4KNpOTphJacK42njGJ3/cCyI=; b=advfwKnIIieKKpEaqrK4IqvBNk1XaIjQkIgt8WkUsz3ID4C8GqoF8tIwETsNUdDz zFMHBoJzzH7+ElN3UATgvEogQQRMAqAVXAgDARUaeV0hq8wTucYBNWkCYOBXCU8CQ+/ 3uK9sDegRUtVHLDF0slrrFZCKQ4M/O/mb6ELnrFY= Received: from localhost (p54AD4E51.dip0.t-ipconnect.de [84.173.78.81]) by mx.zohomail.com with SMTPS id 1587652811782296.16581478951866; Thu, 23 Apr 2020 07:40:11 -0700 (PDT) References: <87k129kowf.fsf@elephly.net> <875zdqlnfs.fsf@elephly.net> User-agent: mu4e 1.2.0; emacs 26.3 From: Ricardo Wurmus To: Arun Isaac Cc: guile-email@systemreboot.net Subject: Re: [guile-email] parse-email-headers returns just =?utf-8?B?4oCc?= =?utf-8?B?ZmllbGRz4oCd?= In-reply-to: X-URL: https://elephly.net X-PGP-Key: https://elephly.net/rekado.pubkey X-PGP-Fingerprint: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC Date: Thu, 23 Apr 2020 16:40:08 +0200 Message-ID: <874ktal0zb.fsf@elephly.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Zoho-Virus-Status: 2 X-ZohoMailClient: External List-Id: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Arun Isaac writes: > Did the parse-email snippet I sent in my previous mail work on the > attached mbox you sent earlier? Yes, this worked. Thank you. In any case this simplifies the code. >> (parse-email >> (and=3D> (call-with-input-string contents mbox->emails) first)) > > Also, it isn't a good idea to handle emails or mboxes as strings (the > `contents' variable). They should be handled as bytevectors. Perhaps it > doesn't matter here, but just saying. Yeah, I figured as much, but I shied away from reading the file in bytevector chunks that would then need to be searched for control characters to split the parts of the log file. I=E2=80=99ll probably do th= at later, but for the first pass I just decided to use read-line. > And, just out of curiosity, if there's no sensitive information in it, > could you share a copy of a debbugs log file? An example is attached. I picked it arbitrarily from the many logs that fail when I don=E2=80=99t drop the first line. The mbox begins at the first ^G and ends at the next ^C. --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=40755.log Content-Transfer-Encoding: base64 Bgo8IS0tIHJlcXVlc3RfYWRkcjogZ3VpeC1wYXRjaGVzQGdudS5vcmcgLS0+CjwhLS0gdGltZTox NTg3NTEwNzgxIC0tPgo8c3Ryb25nPlJlcG9ydCBmb3J3YXJkZWQ8L3N0cm9uZz4KdG8gPGNvZGU+ Z3VpeC1wYXRjaGVzQGdudS5vcmc8L2NvZGU+Ojxicj4KPGNvZGU+YnVnIzQwNzU1PC9jb2RlPjsg UGFja2FnZSA8Y29kZT5ndWl4LXBhdGNoZXM8L2NvZGU+LgoDCgIKZ3VpeC1wYXRjaGVzQGdudS5v cmcKBQpYLUxvb3A6IGhlbHAtZGViYnVnc0BnbnUub3JnClN1YmplY3Q6IFtidWcjNDA3NTVdIE9w ZW5CTEFTIG1pbm9yIHVwZGF0ZSB0byAwLjMuOQpSZXNlbnQtRnJvbTogRXJpYyBCcm93biA8ZWNi cm93bkBlcmljY2Jyb3duLmNvbT4KT3JpZ2luYWwtU2VuZGVyOiAiRGViYnVncy1zdWJtaXQiIDxk ZWJidWdzLXN1Ym1pdC1ib3VuY2VzQGRlYmJ1Z3MuZ251Lm9yZz4KUmVzZW50LUNDOiBndWl4LXBh dGNoZXNAZ251Lm9yZwpSZXNlbnQtRGF0ZTogVHVlLCAyMSBBcHIgMjAyMCAyMzoxMzowMSArMDAw MApSZXNlbnQtTWVzc2FnZS1JRDogPGhhbmRsZXIuNDA3NTUuQi4xNTg3NTEwNzM3MzA3MzJAZGVi YnVncy5nbnUub3JnPgpSZXNlbnQtU2VuZGVyOiBoZWxwLWRlYmJ1Z3NAZ251Lm9yZwpYLUdOVS1Q Ui1NZXNzYWdlOiByZXBvcnQgNDA3NTUKWC1HTlUtUFItUGFja2FnZTogZ3VpeC1wYXRjaGVzClgt R05VLVBSLUtleXdvcmRzOiAKVG86IDQwNzU1QGRlYmJ1Z3MuZ251Lm9yZwpYLURlYmJ1Z3MtT3Jp Z2luYWwtVG86IGd1aXgtcGF0Y2hlc0BnbnUub3JnClJlY2VpdmVkOiB2aWEgc3Bvb2wgYnkgc3Vi bWl0QGRlYmJ1Z3MuZ251Lm9yZyBpZD1CLjE1ODc1MTA3MzczMDczMgogICAgICAgICAgKGNvZGUg QiByZWYgLTEpOyBUdWUsIDIxIEFwciAyMDIwIDIzOjEzOjAxICswMDAwClJlY2VpdmVkOiAoYXQg c3VibWl0KSBieSBkZWJidWdzLmdudS5vcmc7IDIxIEFwciAyMDIwIDIzOjEyOjE3ICswMDAwClJl Y2VpdmVkOiBmcm9tIGxvY2FsaG9zdCAoWzEyNy4wLjAuMV06NTA5MTggaGVsbz1kZWJidWdzLmdu dS5vcmcpCglieSBkZWJidWdzLmdudS5vcmcgd2l0aCBlc210cCAoRXhpbSA0Ljg0XzIpCgkoZW52 ZWxvcGUtZnJvbSA8ZGViYnVncy1zdWJtaXQtYm91bmNlc0BkZWJidWdzLmdudS5vcmc+KQoJaWQg MWpSMjN0LTAwMDd6Yi1HdAoJZm9yIHN1Ym1pdEBkZWJidWdzLmdudS5vcmc7IFR1ZSwgMjEgQXBy IDIwMjAgMTk6MTI6MTcgLTA0MDAKUmVjZWl2ZWQ6IGZyb20gbGlzdHMuZ251Lm9yZyAoWzIwOS41 MS4xODguMTddOjUyNDg4KQogYnkgZGViYnVncy5nbnUub3JnIHdpdGggZXNtdHAgKEV4aW0gNC44 NF8yKQogKGVudmVsb3BlLWZyb20gPGVjYnJvd25AZXJpY2Nicm93bi5jb20+KSBpZCAxalIyM3It MDAwN3pULU1vCiBmb3Igc3VibWl0QGRlYmJ1Z3MuZ251Lm9yZzsgVHVlLCAyMSBBcHIgMjAyMCAx OToxMjoxNiAtMDQwMApSZWNlaXZlZDogZnJvbSBlZ2dzLmdudS5vcmcgKFsyMDAxOjQ3MDoxNDI6 Mzo6MTBdOjQyMzg2KQogYnkgbGlzdHMuZ251Lm9yZyB3aXRoIGVzbXRwIChFeGltIDQuOTBfMSkK IChlbnZlbG9wZS1mcm9tIDxlY2Jyb3duQGVyaWNjYnJvd24uY29tPikgaWQgMWpSMjNyLTAwMDBN Ti02bQogZm9yIGd1aXgtcGF0Y2hlc0BnbnUub3JnOyBUdWUsIDIxIEFwciAyMDIwIDE5OjEyOjE1 IC0wNDAwClgtU3BhbS1DaGVja2VyLVZlcnNpb246IFNwYW1Bc3Nhc3NpbiAzLjQuMiAoMjAxOC0w OS0xMykgb24gZWdncy5nbnUub3JnClgtU3BhbS1MZXZlbDogClgtU3BhbS1TdGF0dXM6IE5vLCBz Y29yZT0tMS45IHJlcXVpcmVkPTUuMCB0ZXN0cz1CQVlFU18wMCxLSE9QX0RZTkFNSUMsCiBVUklC TF9CTE9DS0VEIGF1dG9sZWFybj11bmF2YWlsYWJsZSBhdXRvbGVhcm5fZm9yY2U9bm8gdmVyc2lv bj0zLjQuMgpSZWNlaXZlZDogZnJvbSBEZWJpYW4tZXhpbSBieSBlZ2dzLmdudS5vcmcgd2l0aCBz cGFtLXNjYW5uZWQgKEV4aW0gNC45MF8xKQogKGVudmVsb3BlLWZyb20gPGVjYnJvd25AZXJpY2Ni cm93bi5jb20+KSBpZCAxalIyM28tMDAwNk44LUFlCiBmb3IgZ3VpeC1wYXRjaGVzQGdudS5vcmc7 IFR1ZSwgMjEgQXByIDIwMjAgMTk6MTI6MTMgLTA0MDAKUmVjZWl2ZWQ6IGZyb20KIDIxNi04MC0x MjEtMTczLnMxMy5kZW1wLXVicjIuY2hpLWRlbXAuaWwuc3RhdGljLmNhYmxlLnJjbmN1c3RvbWVy LmNvbQogKFsyMTYuODAuMTIxLjE3M106NTc5MjMgaGVsbz1lcmljY2Jyb3duLmNvbSkKIGJ5IGVn Z3MuZ251Lm9yZyB3aXRoIGVzbXRwIChFeGltIDQuOTBfMSkKIChlbnZlbG9wZS1mcm9tIDxlY2Jy b3duQGVyaWNjYnJvd24uY29tPikgaWQgMWpSMjNtLTAwMDZHWC05UAogZm9yIGd1aXgtcGF0Y2hl c0BnbnUub3JnOyBUdWUsIDIxIEFwciAyMDIwIDE5OjEyOjExIC0wNDAwClJlY2VpdmVkOiBmcm9t IGxvY2FsaG9zdCAodW5rbm93biBbMTkyLjE2OC4xLjFdKQogYnkgZXJpY2Nicm93bi5jb20gKFBv c3RmaXgpIHdpdGggRVNNVFBTQSBpZCA1RDIxNTQ5OUFCOUEKIGZvciA8Z3VpeC1wYXRjaGVzQGdu dS5vcmc+OyBUdWUsIDIxIEFwciAyMDIwIDE4OjEyOjA4IC0wNTAwIChDRFQpCkZyb206IEVyaWMg QnJvd24gPGVjYnJvd25AZXJpY2Nicm93bi5jb20+Ck1haWwtcmVwbHktdG86IEVyaWMgQnJvd24g PGVjYnJvd25AZXJpY2Nicm93bi5jb20+Ck1haWwtZm9sbG93dXAtdG86IEVyaWMgQnJvd24gPGVj YnJvd25AZXJpY2Nicm93bi5jb20+CkRhdGU6IFR1ZSwgMjEgQXByIDIwMjAgMTg6MTI6MDggLTA1 MDAKTWVzc2FnZS1JRDogPDg3emhiNHBoNmYuZnNmQGVyaWNjYnJvd24uY29tPgpVc2VyLUFnZW50 OiBHbnVzLzUuMTMgKEdudXMgdjUuMTMpIEVtYWNzLzI2LjMgKGdudS9saW51eCkKTUlNRS1WZXJz aW9uOiAxLjAKQ29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IGJvdW5kYXJ5PSI9LT0tPSIK UmVjZWl2ZWQtU1BGOiBub25lIGNsaWVudC1pcD0yMTYuODAuMTIxLjE3MzsKIGVudmVsb3BlLWZy b209ZWNicm93bkBlcmljY2Jyb3duLmNvbTsgaGVsbz1lcmljY2Jyb3duLmNvbQpYLWRldGVjdGVk LW9wZXJhdGluZy1zeXN0ZW06IGJ5IGVnZ3MuZ251Lm9yZzogRmlyc3Qgc2VlbiA9IDIwMjAvMDQv MjEgMTk6MTI6MDgKWC1BQ0wtV2FybjogRGV0ZWN0ZWQgT1MgICA9IE1hYyBPUyBYICBbZ2VuZXJp Y10gW2Z1enp5XQpYLVJlY2VpdmVkLUZyb206IDIxNi44MC4xMjEuMTczClgtU3BhbS1TY29yZTog LTAuNyAoLykKWC1CZWVuVGhlcmU6IGRlYmJ1Z3Mtc3VibWl0QGRlYmJ1Z3MuZ251Lm9yZwpYLU1h aWxtYW4tVmVyc2lvbjogMi4xLjE4ClByZWNlZGVuY2U6IGxpc3QKTGlzdC1JZDogPGRlYmJ1Z3Mt c3VibWl0LmRlYmJ1Z3MuZ251Lm9yZz4KTGlzdC1VbnN1YnNjcmliZTogPGh0dHBzOi8vZGViYnVn cy5nbnUub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL2RlYmJ1Z3Mtc3VibWl0PiwgCiA8bWFp bHRvOmRlYmJ1Z3Mtc3VibWl0LXJlcXVlc3RAZGViYnVncy5nbnUub3JnP3N1YmplY3Q9dW5zdWJz Y3JpYmU+Ckxpc3QtQXJjaGl2ZTogPGh0dHBzOi8vZGViYnVncy5nbnUub3JnL2NnaS1iaW4vbWFp bG1hbi9wcml2YXRlL2RlYmJ1Z3Mtc3VibWl0Lz4KTGlzdC1Qb3N0OiA8bWFpbHRvOmRlYmJ1Z3Mt c3VibWl0QGRlYmJ1Z3MuZ251Lm9yZz4KTGlzdC1IZWxwOiA8bWFpbHRvOmRlYmJ1Z3Mtc3VibWl0 LXJlcXVlc3RAZGViYnVncy5nbnUub3JnP3N1YmplY3Q9aGVscD4KTGlzdC1TdWJzY3JpYmU6IDxo dHRwczovL2RlYmJ1Z3MuZ251Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vZGViYnVncy1z dWJtaXQ+LCAKIDxtYWlsdG86ZGViYnVncy1zdWJtaXQtcmVxdWVzdEBkZWJidWdzLmdudS5vcmc/ c3ViamVjdD1zdWJzY3JpYmU+CkVycm9ycy1UbzogZGViYnVncy1zdWJtaXQtYm91bmNlc0BkZWJi dWdzLmdudS5vcmcKU2VuZGVyOiAiRGViYnVncy1zdWJtaXQiIDxkZWJidWdzLXN1Ym1pdC1ib3Vu Y2VzQGRlYmJ1Z3MuZ251Lm9yZz4KWC1TcGFtLVNjb3JlOiAtMS43ICgtKQoKLS09LT0tPQpDb250 ZW50LVR5cGU6IHRleHQvcGxhaW4KCkhlbGxvIEd1aXg6CgpQbGVhc2Ugc2VlIGF0dGFjaGVkIGRp ZmYgd2hpY2ggdXBkYXRlcyBvcGVuYmxhcyBhbmQgb3BlbmJsYXMtaWxwNjQgdG8KMC4zLjkuCgpD aGVlcnMsCkVyaWMKCgotLT0tPS09CkNvbnRlbnQtVHlwZTogdGV4dC94LXBhdGNoCkNvbnRlbnQt RGlzcG9zaXRpb246IGlubGluZTsKIGZpbGVuYW1lPTAwMDEtZ251LW9wZW5ibGFzLVVwZGF0ZS10 by0wLjMuOS5wYXRjaApDb250ZW50LURlc2NyaXB0aW9uOiBvcGVuYmxhcwoKRnJvbSBiNWM1MGUw OGNkODdiOGE4MTQwNmYxMTk2ZGJkZjk2MzQ2YTgwYzNhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBFcmljIEJyb3duIDxlY2Jyb3duQGVyaWNjYnJvd24uY29tPgpEYXRlOiBUdWUsIDIx IEFwciAyMDIwIDE4OjA5OjM0IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gZ251OiBvcGVuYmxhczog VXBkYXRlIHRvIDAuMy45CgoqIGdudS9wYWNrYWdlcy9tYXRocy5zY20gKG9wZW5ibGFzKTogVXBk YXRlIHRvIDAuMy45Ci0tLQogZ251L3BhY2thZ2VzL21hdGhzLnNjbSB8IDQgKystLQogMSBmaWxl IGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9n bnUvcGFja2FnZXMvbWF0aHMuc2NtIGIvZ251L3BhY2thZ2VzL21hdGhzLnNjbQppbmRleCA3ZGIy YjMxMDEyLi44MjU1YTQwODlmIDEwMDY0NAotLS0gYS9nbnUvcGFja2FnZXMvbWF0aHMuc2NtCisr KyBiL2dudS9wYWNrYWdlcy9tYXRocy5zY20KQEAgLTMyNDMsNyArMzI0Myw3IEBAIHBhcnRzIG9m IGl0LiIpCiAoZGVmaW5lLXB1YmxpYyBvcGVuYmxhcwogICAocGFja2FnZQogICAgIChuYW1lICJv cGVuYmxhcyIpCi0gICAgKHZlcnNpb24gIjAuMy43IikKKyAgICAodmVyc2lvbiAiMC4zLjkiKQog ICAgIChzb3VyY2UKICAgICAgKG9yaWdpbgogICAgICAgIChtZXRob2QgdXJsLWZldGNoKQpAQCAt MzI1Miw3ICszMjUyLDcgQEAgcGFydHMgb2YgaXQuIikKICAgICAgICAoZmlsZS1uYW1lIChzdHJp bmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKICAgICAgICAoc2hhMjU2CiAg ICAgICAgIChiYXNlMzIKLSAgICAgICAgICIwamJkanNpMHFzeGFoZGNtNDJhZ25uMXk3eHBtZzBo cmh3anN4ZzB6YmhzOXd3eTNwNTY4IikpKSkKKyAgICAgICAgICIxNGl6OXhucmI5eGl3Z2o4NGo5 NG1jNzRnZzB6bjJ2c3k5Zm1zaWp4eG1hMW43ZGNrNHczIikpKSkKICAgICAoYnVpbGQtc3lzdGVt IGdudS1idWlsZC1zeXN0ZW0pCiAgICAgKGFyZ3VtZW50cwogICAgICBgKCM6dGVzdC10YXJnZXQg InRlc3QiCi0tIAoyLjI2LjIKCgotLT0tPS09LS0KCgoKAwoGCjwhLS0gcmVxdWVzdF9hZGRyOiBF cmljIEJyb3duICZsdDtlY2Jyb3duQGVyaWNjYnJvd24uY29tJmd0OyAtLT4KPCEtLSB0aW1lOjE1 ODc1MTA3ODEgLS0+CjxzdHJvbmc+QWNrbm93bGVkZ2VtZW50IHNlbnQ8L3N0cm9uZz4KdG8gPGNv ZGU+RXJpYyBCcm93biAmbHQ7ZWNicm93bkBlcmljY2Jyb3duLmNvbSZndDs8L2NvZGU+Ojxicj4K TmV3IGJ1ZyByZXBvcnQgcmVjZWl2ZWQgYW5kIGZvcndhcmRlZC4gIENvcHkgc2VudCB0byA8Y29k ZT5ndWl4LXBhdGNoZXNAZ251Lm9yZzwvY29kZT4uCgMKAgotdAoFCkNvbnRlbnQtRGlzcG9zaXRp b246IGlubGluZQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBxdW90ZWQtcHJpbnRhYmxlCk1J TUUtVmVyc2lvbjogMS4wClgtTWFpbGVyOiBNSU1FLXRvb2xzIDUuNTA1IChFbnRpdHkgNS41MDUp CkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOApYLUxvb3A6IGhlbHAtZGVi YnVnc0BnbnUub3JnCkZyb206IGhlbHAtZGViYnVnc0BnbnUub3JnIChHTlUgYnVnIFRyYWNraW5n IFN5c3RlbSkKVG86IEVyaWMgQnJvd24gPGVjYnJvd25AZXJpY2Nicm93bi5jb20+ClN1YmplY3Q6 IGJ1ZyM0MDc1NTogQWNrbm93bGVkZ2VtZW50IChPcGVuQkxBUyBtaW5vciB1cGRhdGUgdG8gMC4z LjkpCk1lc3NhZ2UtSUQ6IDxoYW5kbGVyLjQwNzU1LkIuMTU4NzUxMDczNzMwNzMyLmFja0BkZWJi dWdzLmdudS5vcmc+ClJlZmVyZW5jZXM6IDw4N3poYjRwaDZmLmZzZkBlcmljY2Jyb3duLmNvbT4K WC1HbnUtUFItTWVzc2FnZTogYWNrIDQwNzU1ClgtR251LVBSLVBhY2thZ2U6IGd1aXgtcGF0Y2hl cwpSZXBseS1UbzogNDA3NTVAZGViYnVncy5nbnUub3JnCkRhdGU6IFR1ZSwgMjEgQXByIDIwMjAg MjM6MTM6MDIgKzAwMDAKClRoYW5rIHlvdSBmb3IgZmlsaW5nIGEgbmV3IGJ1ZyByZXBvcnQgd2l0 aCBkZWJidWdzLmdudS5vcmcuCgpUaGlzIGlzIGFuIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIHJl cGx5IHRvIGxldCB5b3Uga25vdyB5b3VyIG1lc3NhZ2UKaGFzIGJlZW4gcmVjZWl2ZWQuCgpZb3Vy IG1lc3NhZ2UgaXMgYmVpbmcgZm9yd2FyZGVkIHRvIHRoZSBwYWNrYWdlIG1haW50YWluZXJzIGFu ZCBvdGhlcgppbnRlcmVzdGVkIHBhcnRpZXMgZm9yIHRoZWlyIGF0dGVudGlvbjsgdGhleSB3aWxs IHJlcGx5IGluIGR1ZSBjb3Vyc2UuCgpZb3VyIG1lc3NhZ2UgaGFzIGJlZW4gc2VudCB0byB0aGUg cGFja2FnZSBtYWludGFpbmVyKHMpOgogZ3VpeC1wYXRjaGVzQGdudS5vcmcKCklmIHlvdSB3aXNo IHRvIHN1Ym1pdCBmdXJ0aGVyIGluZm9ybWF0aW9uIG9uIHRoaXMgcHJvYmxlbSwgcGxlYXNlCnNl bmQgaXQgdG8gNDA3NTVAZGViYnVncy5nbnUub3JnLgoKUGxlYXNlIGRvIG5vdCBzZW5kIG1haWwg dG8gaGVscC1kZWJidWdzQGdudS5vcmcgdW5sZXNzIHlvdSB3aXNoCnRvIHJlcG9ydCBhIHByb2Js ZW0gd2l0aCB0aGUgQnVnLXRyYWNraW5nIHN5c3RlbS4KCi0tPTIwCjQwNzU1OiBodHRwOi8vZGVi YnVncy5nbnUub3JnL2NnaS9idWdyZXBvcnQuY2dpP2J1Zz0zRDQwNzU1CkdOVSBCdWcgVHJhY2tp bmcgU3lzdGVtCkNvbnRhY3QgaGVscC1kZWJidWdzQGdudS5vcmcgd2l0aCBwcm9ibGVtcwoKAwoH ClJlY2VpdmVkOiAoYXQgc3VibWl0KSBieSBkZWJidWdzLmdudS5vcmc7IDIxIEFwciAyMDIwIDIz OjEyOjE3ICswMDAwCkZyb20gZGViYnVncy1zdWJtaXQtYm91bmNlc0BkZWJidWdzLmdudS5vcmcg VHVlIEFwciAyMSAxOToxMjoxNyAyMDIwClJlY2VpdmVkOiBmcm9tIGxvY2FsaG9zdCAoWzEyNy4w LjAuMV06NTA5MTggaGVsbz1kZWJidWdzLmdudS5vcmcpCglieSBkZWJidWdzLmdudS5vcmcgd2l0 aCBlc210cCAoRXhpbSA0Ljg0XzIpCgkoZW52ZWxvcGUtZnJvbSA8ZGViYnVncy1zdWJtaXQtYm91 bmNlc0BkZWJidWdzLmdudS5vcmc+KQoJaWQgMWpSMjN0LTAwMDd6Yi1HdAoJZm9yIHN1Ym1pdEBk ZWJidWdzLmdudS5vcmc7IFR1ZSwgMjEgQXByIDIwMjAgMTk6MTI6MTcgLTA0MDAKUmVjZWl2ZWQ6 IGZyb20gbGlzdHMuZ251Lm9yZyAoWzIwOS41MS4xODguMTddOjUyNDg4KQogYnkgZGViYnVncy5n bnUub3JnIHdpdGggZXNtdHAgKEV4aW0gNC44NF8yKQogKGVudmVsb3BlLWZyb20gPGVjYnJvd25A ZXJpY2Nicm93bi5jb20+KSBpZCAxalIyM3ItMDAwN3pULU1vCiBmb3Igc3VibWl0QGRlYmJ1Z3Mu Z251Lm9yZzsgVHVlLCAyMSBBcHIgMjAyMCAxOToxMjoxNiAtMDQwMApSZWNlaXZlZDogZnJvbSBl Z2dzLmdudS5vcmcgKFsyMDAxOjQ3MDoxNDI6Mzo6MTBdOjQyMzg2KQogYnkgbGlzdHMuZ251Lm9y ZyB3aXRoIGVzbXRwIChFeGltIDQuOTBfMSkKIChlbnZlbG9wZS1mcm9tIDxlY2Jyb3duQGVyaWNj YnJvd24uY29tPikgaWQgMWpSMjNyLTAwMDBNTi02bQogZm9yIGd1aXgtcGF0Y2hlc0BnbnUub3Jn OyBUdWUsIDIxIEFwciAyMDIwIDE5OjEyOjE1IC0wNDAwClgtU3BhbS1DaGVja2VyLVZlcnNpb246 IFNwYW1Bc3Nhc3NpbiAzLjQuMiAoMjAxOC0wOS0xMykgb24gZWdncy5nbnUub3JnClgtU3BhbS1M ZXZlbDogClgtU3BhbS1TdGF0dXM6IE5vLCBzY29yZT0tMS45IHJlcXVpcmVkPTUuMCB0ZXN0cz1C QVlFU18wMCxLSE9QX0RZTkFNSUMsCiBVUklCTF9CTE9DS0VEIGF1dG9sZWFybj11bmF2YWlsYWJs ZSBhdXRvbGVhcm5fZm9yY2U9bm8gdmVyc2lvbj0zLjQuMgpSZWNlaXZlZDogZnJvbSBEZWJpYW4t ZXhpbSBieSBlZ2dzLmdudS5vcmcgd2l0aCBzcGFtLXNjYW5uZWQgKEV4aW0gNC45MF8xKQogKGVu dmVsb3BlLWZyb20gPGVjYnJvd25AZXJpY2Nicm93bi5jb20+KSBpZCAxalIyM28tMDAwNk44LUFl CiBmb3IgZ3VpeC1wYXRjaGVzQGdudS5vcmc7IFR1ZSwgMjEgQXByIDIwMjAgMTk6MTI6MTMgLTA0 MDAKUmVjZWl2ZWQ6IGZyb20KIDIxNi04MC0xMjEtMTczLnMxMy5kZW1wLXVicjIuY2hpLWRlbXAu aWwuc3RhdGljLmNhYmxlLnJjbmN1c3RvbWVyLmNvbQogKFsyMTYuODAuMTIxLjE3M106NTc5MjMg aGVsbz1lcmljY2Jyb3duLmNvbSkKIGJ5IGVnZ3MuZ251Lm9yZyB3aXRoIGVzbXRwIChFeGltIDQu OTBfMSkKIChlbnZlbG9wZS1mcm9tIDxlY2Jyb3duQGVyaWNjYnJvd24uY29tPikgaWQgMWpSMjNt LTAwMDZHWC05UAogZm9yIGd1aXgtcGF0Y2hlc0BnbnUub3JnOyBUdWUsIDIxIEFwciAyMDIwIDE5 OjEyOjExIC0wNDAwClJlY2VpdmVkOiBmcm9tIGxvY2FsaG9zdCAodW5rbm93biBbMTkyLjE2OC4x LjFdKQogYnkgZXJpY2Nicm93bi5jb20gKFBvc3RmaXgpIHdpdGggRVNNVFBTQSBpZCA1RDIxNTQ5 OUFCOUEKIGZvciA8Z3VpeC1wYXRjaGVzQGdudS5vcmc+OyBUdWUsIDIxIEFwciAyMDIwIDE4OjEy OjA4IC0wNTAwIChDRFQpCkZyb206IEVyaWMgQnJvd24gPGVjYnJvd25AZXJpY2Nicm93bi5jb20+ ClRvOiBndWl4LXBhdGNoZXNAZ251Lm9yZwpTdWJqZWN0OiBPcGVuQkxBUyBtaW5vciB1cGRhdGUg dG8gMC4zLjkKTWFpbC1yZXBseS10bzogRXJpYyBCcm93biA8ZWNicm93bkBlcmljY2Jyb3duLmNv bT4KTWFpbC1mb2xsb3d1cC10bzogRXJpYyBCcm93biA8ZWNicm93bkBlcmljY2Jyb3duLmNvbT4K RGF0ZTogVHVlLCAyMSBBcHIgMjAyMCAxODoxMjowOCAtMDUwMApNZXNzYWdlLUlEOiA8ODd6aGI0 cGg2Zi5mc2ZAZXJpY2Nicm93bi5jb20+ClVzZXItQWdlbnQ6IEdudXMvNS4xMyAoR251cyB2NS4x MykgRW1hY3MvMjYuMyAoZ251L2xpbnV4KQpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6 IG11bHRpcGFydC9taXhlZDsgYm91bmRhcnk9Ij0tPS09IgpSZWNlaXZlZC1TUEY6IG5vbmUgY2xp ZW50LWlwPTIxNi44MC4xMjEuMTczOwogZW52ZWxvcGUtZnJvbT1lY2Jyb3duQGVyaWNjYnJvd24u Y29tOyBoZWxvPWVyaWNjYnJvd24uY29tClgtZGV0ZWN0ZWQtb3BlcmF0aW5nLXN5c3RlbTogYnkg ZWdncy5nbnUub3JnOiBGaXJzdCBzZWVuID0gMjAyMC8wNC8yMSAxOToxMjowOApYLUFDTC1XYXJu OiBEZXRlY3RlZCBPUyAgID0gTWFjIE9TIFggIFtnZW5lcmljXSBbZnV6enldClgtUmVjZWl2ZWQt RnJvbTogMjE2LjgwLjEyMS4xNzMKWC1TcGFtLVNjb3JlOiAtMC43ICgvKQpYLURlYmJ1Z3MtRW52 ZWxvcGUtVG86IHN1Ym1pdApYLUJlZW5UaGVyZTogZGViYnVncy1zdWJtaXRAZGViYnVncy5nbnUu b3JnClgtTWFpbG1hbi1WZXJzaW9uOiAyLjEuMTgKUHJlY2VkZW5jZTogbGlzdApMaXN0LUlkOiA8 ZGViYnVncy1zdWJtaXQuZGViYnVncy5nbnUub3JnPgpMaXN0LVVuc3Vic2NyaWJlOiA8aHR0cHM6 Ly9kZWJidWdzLmdudS5vcmcvY2dpLWJpbi9tYWlsbWFuL29wdGlvbnMvZGViYnVncy1zdWJtaXQ+ LCAKIDxtYWlsdG86ZGViYnVncy1zdWJtaXQtcmVxdWVzdEBkZWJidWdzLmdudS5vcmc/c3ViamVj dD11bnN1YnNjcmliZT4KTGlzdC1BcmNoaXZlOiA8aHR0cHM6Ly9kZWJidWdzLmdudS5vcmcvY2dp LWJpbi9tYWlsbWFuL3ByaXZhdGUvZGViYnVncy1zdWJtaXQvPgpMaXN0LVBvc3Q6IDxtYWlsdG86 ZGViYnVncy1zdWJtaXRAZGViYnVncy5nbnUub3JnPgpMaXN0LUhlbHA6IDxtYWlsdG86ZGViYnVn cy1zdWJtaXQtcmVxdWVzdEBkZWJidWdzLmdudS5vcmc/c3ViamVjdD1oZWxwPgpMaXN0LVN1YnNj cmliZTogPGh0dHBzOi8vZGViYnVncy5nbnUub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9k ZWJidWdzLXN1Ym1pdD4sIAogPG1haWx0bzpkZWJidWdzLXN1Ym1pdC1yZXF1ZXN0QGRlYmJ1Z3Mu Z251Lm9yZz9zdWJqZWN0PXN1YnNjcmliZT4KRXJyb3JzLVRvOiBkZWJidWdzLXN1Ym1pdC1ib3Vu Y2VzQGRlYmJ1Z3MuZ251Lm9yZwpTZW5kZXI6ICJEZWJidWdzLXN1Ym1pdCIgPGRlYmJ1Z3Mtc3Vi bWl0LWJvdW5jZXNAZGViYnVncy5nbnUub3JnPgpYLVNwYW0tU2NvcmU6IC0xLjcgKC0pCgotLT0t PS09CkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbgoKSGVsbG8gR3VpeDoKClBsZWFzZSBzZWUgYXR0 YWNoZWQgZGlmZiB3aGljaCB1cGRhdGVzIG9wZW5ibGFzIGFuZCBvcGVuYmxhcy1pbHA2NCB0bwow LjMuOS4KCkNoZWVycywKRXJpYwoKCi0tPS09LT0KQ29udGVudC1UeXBlOiB0ZXh0L3gtcGF0Y2gK Q29udGVudC1EaXNwb3NpdGlvbjogaW5saW5lOwogZmlsZW5hbWU9MDAwMS1nbnUtb3BlbmJsYXMt VXBkYXRlLXRvLTAuMy45LnBhdGNoCkNvbnRlbnQtRGVzY3JpcHRpb246IG9wZW5ibGFzCgpGcm9t IGI1YzUwZTA4Y2Q4N2I4YTgxNDA2ZjExOTZkYmRmOTYzNDZhODBjM2EgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IEVyaWMgQnJvd24gPGVjYnJvd25AZXJpY2Nicm93bi5jb20+CkRhdGU6 IFR1ZSwgMjEgQXByIDIwMjAgMTg6MDk6MzQgLTA1MDAKU3ViamVjdDogW1BBVENIXSBnbnU6IG9w ZW5ibGFzOiBVcGRhdGUgdG8gMC4zLjkKCiogZ251L3BhY2thZ2VzL21hdGhzLnNjbSAob3BlbmJs YXMpOiBVcGRhdGUgdG8gMC4zLjkKLS0tCiBnbnUvcGFja2FnZXMvbWF0aHMuc2NtIHwgNCArKy0t CiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2dudS9wYWNrYWdlcy9tYXRocy5zY20gYi9nbnUvcGFja2FnZXMvbWF0aHMuc2NtCmlu ZGV4IDdkYjJiMzEwMTIuLjgyNTVhNDA4OWYgMTAwNjQ0Ci0tLSBhL2dudS9wYWNrYWdlcy9tYXRo cy5zY20KKysrIGIvZ251L3BhY2thZ2VzL21hdGhzLnNjbQpAQCAtMzI0Myw3ICszMjQzLDcgQEAg cGFydHMgb2YgaXQuIikKIChkZWZpbmUtcHVibGljIG9wZW5ibGFzCiAgIChwYWNrYWdlCiAgICAg KG5hbWUgIm9wZW5ibGFzIikKLSAgICAodmVyc2lvbiAiMC4zLjciKQorICAgICh2ZXJzaW9uICIw LjMuOSIpCiAgICAgKHNvdXJjZQogICAgICAob3JpZ2luCiAgICAgICAgKG1ldGhvZCB1cmwtZmV0 Y2gpCkBAIC0zMjUyLDcgKzMyNTIsNyBAQCBwYXJ0cyBvZiBpdC4iKQogICAgICAgIChmaWxlLW5h bWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgIChz aGEyNTYKICAgICAgICAgKGJhc2UzMgotICAgICAgICAgIjBqYmRqc2kwcXN4YWhkY200MmFnbm4x eTd4cG1nMGhyaHdqc3hnMHpiaHM5d3d5M3A1NjgiKSkpKQorICAgICAgICAgIjE0aXo5eG5yYjl4 aXdnajg0ajk0bWM3NGdnMHpuMnZzeTlmbXNpanh4bWExbjdkY2s0dzMiKSkpKQogICAgIChidWls ZC1zeXN0ZW0gZ251LWJ1aWxkLXN5c3RlbSkKICAgICAoYXJndW1lbnRzCiAgICAgIGAoIzp0ZXN0 LXRhcmdldCAidGVzdCIKLS0gCjIuMjYuMgoKCi0tPS09LT0tLQoKCgoDCg== --=-=-= Content-Type: text/plain -- Ricardo --=-=-=--