From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 34924 invoked by alias); 6 Jan 2016 07:42:49 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 34911 invoked by uid 89); 6 Jan 2016 07:42:48 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.3 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD autolearn=no version=3.3.2 spammy=contribute, attr, H*c:NHxtPHrt, altered X-HELO: mx-out-2.rwth-aachen.de Received: from mx-out-2.rwth-aachen.de (HELO mx-out-2.rwth-aachen.de) (134.130.5.187) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (CAMELLIA256-SHA encrypted) ESMTPS; Wed, 06 Jan 2016 07:42:46 +0000 Received: from rwthex-w1-b.rwth-ad.de ([134.130.26.157]) by mx-2.rz.rwth-aachen.de with ESMTP; 06 Jan 2016 08:42:42 +0100 Received: from rwthex-s2-b.rwth-ad.de (2002:8682:1a9b::8682:1a9b) by rwthex-w1-b.rwth-ad.de (2002:8682:1a9d::8682:1a9d) with Microsoft SMTP Server (TLS) id 15.0.1130.7; Wed, 6 Jan 2016 08:42:42 +0100 Received: from rwthex-s2-b.rwth-ad.de ([fe80::fced:c0b0:a6f1:5541]) by rwthex-s2-b.rwth-ad.de ([fe80::fced:c0b0:a6f1:5541%19]) with mapi id 15.00.1130.005; Wed, 6 Jan 2016 08:42:42 +0100 From: "Hahnfeld, Jonas" To: Joel Brobecker CC: "gdb-patches@sourceware.org" , "qiyao@gcc.gnu.org" Subject: RE: [PATCH] Fix PR gdb/19208 - SIGSEV while opening Fortran program compiled with ifort Date: Wed, 06 Jan 2016 07:42:00 -0000 Message-ID: References: <233e961324084b0f857047bcf637c655@rwthex-s2-b.rwth-ad.de> <20160106061946.GD4412@adacore.com> In-Reply-To: <20160106061946.GD4412@adacore.com> x-ms-exchange-transport-fromentityheader: Hosted Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=2.16.840.1.101.3.4.2.3; boundary="----=_NextPart_000_0179_01D1485E.34C42310" MIME-Version: 1.0 X-SW-Source: 2016-01/txt/msg00077.txt.bz2 ------=_NextPart_000_0179_01D1485E.34C42310 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-length: 4892 Hi, first off: Your attached patch works for - sorry that Outlook killed my diff... > -----Original Message----- > From: Joel Brobecker [mailto:brobecker@adacore.com] > Sent: Wednesday, January 06, 2016 7:20 AM > To: Hahnfeld, Jonas > Cc: gdb-patches@sourceware.org; qiyao@gcc.gnu.org > Subject: Re: [PATCH] Fix PR gdb/19208 - SIGSEV while opening Fortran > program compiled with ifort > > Hello, > > A lot of text below, but the summary is the following: > > . The patch looks good but I couldn't apply it; I made the change > by hand, but can you confirm that it is correct by testing it > for me with ifort? If confirmed, I will push the change. > > . Lots of advice (hence the amount of text). You might want > to take a look at our contribution checklist: > https://sourceware.org/gdb/wiki/ContributionChecklist > It'll help us during patch review, which in turn will help you > get your patches in faster :-) Thanks for the pointer, I think this is neither linked at https://www.gnu.org/software/gdb/contribute/ nor in http://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=gdb/CONTRIBUTE;hb=HEAD > > Thanks for the contribution! Now, onto the details of the review... > > > Find attached a patch that fixes a SIGSEV for me when trying to open a > > Fortran program compiled with ifort (using version 16.0.1.150). > > The error can be reproduced with a most simple file only containing "end" > > and no additional compiler flags. > > > > --- > > diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3d8923b..5890f78 > > 100644 > > --- a/gdb/ChangeLog > > +++ b/gdb/ChangeLog > > @@ -1,3 +1,8 @@ > > +2016-01-04 Jonas Hahnfeld > > + > > + * dwarf2read.c (read_partial_die): Fix PR gdb/19208 - > > + SIGSEV while opening Fortran program compiled with ifort > > Just a minor tweak on the ChangeLog entry: we put the PR number at the > start of the entry, like this: > > PR gdb/19208 > * dwarf2read.c (read_partial_die): SIGSEV while opening > Fortran program compiled with ifort. Ok, CONTRIBUTE mentions another convention in its last item. > > In terms of the change's description, there should be a period at the end of > the sentence (added above). I would also describe the change, rather than > what it prevents. Therefore: > > PR gdb/19208 > * dwarf2read.c (read_partial_die): Do not call set_objfile_main_name > if the function has no name. > > The part about the fact that it prevents a SIGSEGV and which compiler this > was tested with is good information for the revision log. We normally try to > put that kind of information in the code as much as we can, but the added > part_die->name check is fairly obvious in this case. > > In terms of the patch itself, it does not apply to the current HEAD of the > master branch, and I think this is because it got mucked up by your mailer > (line folding, which I tried to fix by hand, and perhaps also spaces/tabs > being > altered). Attached is the commit I intend to push, which I tested on x86_64- > linux, but without Fortran support. Can you please let me know if it works > for > you? See above... > > In the future, to avoid this kind of issue, what would be nice is for you to > just > create a commit on your end, and to either git-email it to us, or at least > attach > the result of "git format-patch". CONTRIBUTE explicitly mentions `git diff` which I only pasted into my mailer. I just realized that the other mails were complete patches and git automatically generates the line `git diff` inside... > > Other than that, the patch looks good to me. I don't believe you have an FSF > copyright assignement in place. We can take this patch as "tiny", but if you > think you have other contributions coming, you might want to start the > process now (this will also allow us to give you "write after approval" > access > to the repo, allowing you to push your changes yourself once approved by > one of the GDB maintainers. Thanks, I was hoping for this being "tiny" and I currently don't plan to contribute larger patches. Will return to this point if necessary ;-) Greetings Jonas > > > diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index > > c410500..1020c12 100644 > > --- a/gdb/dwarf2read.c > > +++ b/gdb/dwarf2read.c > > @@ -15936,7 +15936,8 @@ read_partial_die (const struct > > die_reader_specs *reader, > > compilers pick up the new representation, we'll support this > > practice. */ > > if (DW_UNSND (&attr) == DW_CC_program > > - && cu->language == language_fortran) > > + && cu->language == language_fortran > > + && part_die->name != NULL) > > set_objfile_main_name (objfile, part_die->name, > > language_fortran); > > break; > > case DW_AT_inline: > -- > Joel ------=_NextPart_000_0179_01D1485E.34C42310 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-length: 7955 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgMFADCABgkqhkiG 9w0BBwEAAKCCEuUwggOfMIICh6ADAgECAgEmMA0GCSqGSIb3DQEBBQUAMHEx CzAJBgNVBAYTAkRFMRwwGgYDVQQKExNEZXV0c2NoZSBUZWxla29tIEFHMR8w HQYDVQQLExZULVRlbGVTZWMgVHJ1c3QgQ2VudGVyMSMwIQYDVQQDExpEZXV0 c2NoZSBUZWxla29tIFJvb3QgQ0EgMjAeFw05OTA3MDkxMjExMDBaFw0xOTA3 MDkyMzU5MDBaMHExCzAJBgNVBAYTAkRFMRwwGgYDVQQKExNEZXV0c2NoZSBU ZWxla29tIEFHMR8wHQYDVQQLExZULVRlbGVTZWMgVHJ1c3QgQ2VudGVyMSMw IQYDVQQDExpEZXV0c2NoZSBUZWxla29tIFJvb3QgQ0EgMjCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBAKsLozXgiykUsRSFrzwQ5DlvNV1Krt3q YY2VSfRvZKMaYGakqUAihNnUpeV4kw5oAa25TVw6ztO4qEJA38+juoJZapIb rBya2ggrJSf5aSNH8eDrLHqb9RMC0H40fMKePABZq/XaDPUyPCusUNrWw96D lMqoDJkyDghIVltq+9rhWFgBSV9yQTwVBgGOXa2quJO0zZ7rp+hqLVI02zrv XHVR2tvzMfnucZgyxFQVRAz5m1Xtrd8YCKCjhopJ7lMFjxlM1d5YeZvSahxC q8XVp89oD5bk4WGYdmHIkXzWPgDikVCH4Z0K5q2X0h3GOn3LvNoDNNWOWwH1 age3FrZuSn8CAwEAAaNCMEAwHQYDVR0OBBYEFDHDeRu69VPXF+CJei0XbAqz K50zMA8GA1UdEwQIMAYBAf8CAQUwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 DQEBBQUAA4IBAQCUZFmtOWTnKesT/lrDixNXyAQk8HR3wGDjZ/vpiaaDv5aC fG7Uwz3vnoBuuym0mHqxO1TrORdHfhqOC/wfMVkxBLLOF/Msx2I2VeIi2IlV tJhIqmT61hw22ER4WlojOleX9XowT66fakxLK46gA+M+4KnU0nvSs6jicjyt nv+AWeSbRbT2O7DNORmYMuXqIWGQ5DEhjjSx9y81SoUQ2ueKNyG+WWPg8oWI MVPUVBSFcHn0LgZ3J3UvH7iK+f7Futg25IPs52W3v2Na80avgZQ31EGM1iPW Hs/1aBtEY6Jauqc1WaHlcAWbDiNXmZQKbbo5YyiGkvMYhNj70c8FVmRXMIIE 1TCCA72gAwIBAgIIUE7G9T0RtGQwDQYJKoZIhvcNAQELBQAwcTELMAkGA1UE BhMCREUxHDAaBgNVBAoTE0RldXRzY2hlIFRlbGVrb20gQUcxHzAdBgNVBAsT FlQtVGVsZVNlYyBUcnVzdCBDZW50ZXIxIzAhBgNVBAMTGkRldXRzY2hlIFRl bGVrb20gUm9vdCBDQSAyMB4XDTE0MDcyMjEyMDgyNloXDTE5MDcwOTIzNTkw MFowWjELMAkGA1UEBhMCREUxEzARBgNVBAoTCkRGTi1WZXJlaW4xEDAOBgNV BAsTB0RGTi1QS0kxJDAiBgNVBAMTG0RGTi1WZXJlaW4gUENBIEdsb2JhbCAt IEcwMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOmbw2eF+Q2u 9Y1Uw5ZQNT1i6W5M7ZTXAFuVInTUIOs0j9bswDEEC5mB4qYU0lKgKCOEi3SJ BF5b4OJ4wXjLFssoNTl7LZBF0O2gAHp8v0oOGwDDhulcKzERewzzgiRDjBw4 i2poAJru3E94q9LGE5t2re7eJujvAa90D8EJovZrzr3TzRQwT/Xl46TIYpuC GgMnMA0CZWBN7dEJIyqWNVgn03bGcbaQHcTt/zWGfW8zs9sPxRHCioOhlF1B a9jSEPVM/cpRrNm975KDu9rrixZWVkPP4dUTPaYfJzDNSVTbyRM0mnF1xWzq pwuY+SGdJ68+ozk5SGqMrcmZ+8MS8r0CAwEAAaOCAYYwggGCMA4GA1UdDwEB /wQEAwIBBjAdBgNVHQ4EFgQUSbfGz+g9H3/qRHsTKffxCnA+3mQwHwYDVR0j BBgwFoAUMcN5G7r1U9cX4Il6LRdsCrMrnTMwEgYDVR0TAQH/BAgwBgEB/wIB AjBiBgNVHSAEWzBZMBEGDysGAQQBga0hgiwBAQQCAjARBg8rBgEEAYGtIYIs AQEEAwAwEQYPKwYBBAGBrSGCLAEBBAMBMA8GDSsGAQQBga0hgiwBAQQwDQYL KwYBBAGBrSGCLB4wPgYDVR0fBDcwNTAzoDGgL4YtaHR0cDovL3BraTAzMzYu dGVsZXNlYy5kZS9ybC9EVF9ST09UX0NBXzIuY3JsMHgGCCsGAQUFBwEBBGww ajAsBggrBgEFBQcwAYYgaHR0cDovL29jc3AwMzM2LnRlbGVzZWMuZGUvb2Nz cHIwOgYIKwYBBQUHMAKGLmh0dHA6Ly9wa2kwMzM2LnRlbGVzZWMuZGUvY3J0 L0RUX1JPT1RfQ0FfMi5jZXIwDQYJKoZIhvcNAQELBQADggEBAGMgKP2cIYZy vjlGWTkyJbypAZsNzMp9QZyGbQpuLLMTWXWxM5IbYScW/8Oy1TWC+4QqAUm9 ZrtmL7LCBl1uP27jAVpbykNjXJW24TGnH9UHX03mZYJOMvnDfHpLzU1cdO4h 8nUC7FI+0slq05AjbklnNb5/TVak7Mwvz7ehl6hyPsm8QNZapAg91ryCw7e3 Mo6xLI5qbbc1AhnP9TlEWGOnJAAQsLv8Tq9uLzi7pVdJP9huUG8sl5bcHUaa ZYnPrszy5dmfU7M+oS+SqdgLxoQfBMbrHuiffbV7pQLxJMUkYxE0zFqTICp5 iDolQpCpZTt8htMSFSMp/CzazDlbVBcwggUoMIIEEKADAgECAgcYLTGsmeTl MA0GCSqGSIb3DQEBCwUAMF4xCzAJBgNVBAYTAkRFMRQwEgYDVQQKEwtSV1RI IEFhY2hlbjEXMBUGA1UEAxMOUldUSCBBYWNoZW4gQ0ExIDAeBgkqhkiG9w0B CQEWEWNhQHJ3dGgtYWFjaGVuLmRlMB4XDTE0MDkwODEzNTAyMFoXDTE3MDkw NzEzNTAyMFowUDELMAkGA1UEBhMCREUxFDASBgNVBAoTC1JXVEggQWFjaGVu MRIwEAYDVQQLEwlJVCBDZW50ZXIxFzAVBgNVBAMTDkpvbmFzIEhhaG5mZWxk MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuSl184mjwJNxnSGn zNDoAfE9cOX8Ve83I17mWxL2oz7XtZZQ0sY5Z8L/+QKZL6dduRYby4hR9Sha DRFJ++j+mwsPFAHMz4Pdvy2aoyf1wHZT2h/QklqBRosEFvYk13qT9J2AaRQs nfzOhZYkTXd8m6PmoQ0kdsd2Jry0TVHX9C6mueWbU1CY3aJPx6X3m5uWvGMi qI1Bf8lwNZA540HfggrVZVA7/4TEKJrAEcyqWQ5aBDy8jPwnJPOmmBtBMlmr HZ8s0KF9jX0DfQK0qIn9Ex5qkwFDahSuycM7bdGVl0+7/c1WKHa+rn7FYakt UL+A0LsrWG5pNNB0KhKX86KXUQIDAQABo4IB9zCCAfMwQAYDVR0gBDkwNzAR Bg8rBgEEAYGtIYIsAQEEAwIwEQYPKwYBBAGBrSGCLAIBBAMBMA8GDSsGAQQB ga0hgiwBAQQwCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwHQYDVR0lBBYwFAYI KwYBBQUHAwIGCCsGAQUFBwMEMB0GA1UdDgQWBBRMMLd9wPxfbZtoD7hwO7FQ HmqrAzAfBgNVHSMEGDAWgBRu1T7AHC9xyTy/SU7valVI7NHyODAmBgNVHREE HzAdgRtIYWhuZmVsZEBpdGMucnd0aC1hYWNoZW4uZGUweQYDVR0fBHIwcDA2 oDSgMoYwaHR0cDovL2NkcDEucGNhLmRmbi5kZS9yd3RoLWNhL3B1Yi9jcmwv Y2FjcmwuY3JsMDagNKAyhjBodHRwOi8vY2RwMi5wY2EuZGZuLmRlL3J3dGgt Y2EvcHViL2NybC9jYWNybC5jcmwwgZQGCCsGAQUFBwEBBIGHMIGEMEAGCCsG AQUFBzAChjRodHRwOi8vY2RwMS5wY2EuZGZuLmRlL3J3dGgtY2EvcHViL2Nh Y2VydC9jYWNlcnQuY3J0MEAGCCsGAQUFBzAChjRodHRwOi8vY2RwMi5wY2Eu ZGZuLmRlL3J3dGgtY2EvcHViL2NhY2VydC9jYWNlcnQuY3J0MA0GCSqGSIb3 DQEBCwUAA4IBAQCoKNKQcMOro+R4+P0JWAPuD5j8V8G1ZEMEjLLXjkbSadny Omm/ZaMky4eYunfgoRRwyldIqFid4v9JmDxduNOgBpCKfoXyXmyX+AX65I0Y ovwyv3/a9DDJJ3bENlih4MpNwxrLRaapFVKB09F/bhwH+n3XcJBrJevV7iZ8 gNoSoRmeQG2VB4VpIEl+XclC7Pff1Xx/jkdsjRtZkXhyorJMdzr4dnudb4V+ DoK1LkIERr6qBkcrBUAQggkEBbJBU7GehCsni6bfNwL6xsA2wSxS7lIHje+x JNRO6q5YJo9BuhDBYGpYscawX/LeE4Ge2p/Eak6vtyXY+vDU9QoFsFhdMIIF OTCCBCGgAwIBAgIHF5Bg4cwAkzANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQG EwJERTETMBEGA1UEChMKREZOLVZlcmVpbjEQMA4GA1UECxMHREZOLVBLSTEk MCIGA1UEAxMbREZOLVZlcmVpbiBQQ0EgR2xvYmFsIC0gRzAxMB4XDTE0MDUx MjE1MDU1M1oXDTE5MDcwOTIzNTkwMFowXjELMAkGA1UEBhMCREUxFDASBgNV BAoTC1JXVEggQWFjaGVuMRcwFQYDVQQDEw5SV1RIIEFhY2hlbiBDQTEgMB4G CSqGSIb3DQEJARYRY2FAcnd0aC1hYWNoZW4uZGUwggEiMA0GCSqGSIb3DQEB AQUAA4IBDwAwggEKAoIBAQC4MAhk48jcelLfNUI5kvMv+CF54xJnL4x/cJQn N2NId6CJ3fqs0siO2exIACfzdjxOUpQ6ZFOn5pdTvTi7stnk8WAaP/d9LFd8 k9Gbxjh7xh3L+0a3ac+/tHJcX564ntUxGtVGMuShEoUaZUT5fw97TL36UJ8O qXLrqpdAKcFKaJ+pgRp2gTLj4MNUMPjA4GlstpjoLnT++qFm7t/ZS92/E3Oq NJUwHH6C35vSroVscmg+a7XxT6U4JO99MYxNcTIMzhPS9Ytp+302w7i51daB jr0hFGPK0nLSV6gv77zBSFJ7AVGJJxBSUzDn0xkDLYvZwqaeYkj8kDB2oSeR yfGjAgMBAAGjggH+MIIB+jASBgNVHRMBAf8ECDAGAQH/AgEBMA4GA1UdDwEB /wQEAwIBBjARBgNVHSAECjAIMAYGBFUdIAAwHQYDVR0OBBYEFG7VPsAcL3HJ PL9JTu9qVUjs0fI4MB8GA1UdIwQYMBaAFEm3xs/oPR9/6kR7Eyn38QpwPt5k MBwGA1UdEQQVMBOBEWNhQHJ3dGgtYWFjaGVuLmRlMIGIBgNVHR8EgYAwfjA9 oDugOYY3aHR0cDovL2NkcDEucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1jYS9w dWIvY3JsL2NhY3JsLmNybDA9oDugOYY3aHR0cDovL2NkcDIucGNhLmRmbi5k ZS9nbG9iYWwtcm9vdC1jYS9wdWIvY3JsL2NhY3JsLmNybDCB1wYIKwYBBQUH AQEEgcowgccwMwYIKwYBBQUHMAGGJ2h0dHA6Ly9vY3NwLnBjYS5kZm4uZGUv T0NTUC1TZXJ2ZXIvT0NTUDBHBggrBgEFBQcwAoY7aHR0cDovL2NkcDEucGNh LmRmbi5kZS9nbG9iYWwtcm9vdC1jYS9wdWIvY2FjZXJ0L2NhY2VydC5jcnQw RwYIKwYBBQUHMAKGO2h0dHA6Ly9jZHAyLnBjYS5kZm4uZGUvZ2xvYmFsLXJv b3QtY2EvcHViL2NhY2VydC9jYWNlcnQuY3J0MA0GCSqGSIb3DQEBCwUAA4IB AQBu4RMsIIzIOBrkrz5loQOmoZuHekB7LGlYBiou7YTqjWOaAxUGL5xf2L9q o2QnxeFhWUnDIHsgTHtoJQmAgM/e/gwTv0u/x3zWAsgOGPPXKuLrJRrLIcwo WT9V9VzqZfbzga9s0Uo2s7wVxGnSexKAmzGGdIsYP7BBQWkAr6bFWLQmD2R8 Cr5OTOHNBS//w2ZuWsvetM7HAOH4ECTYZtG4ZXP2u0jclErqjePssIkh09lb 3ESeIZ+8avIqAXz0QVTNti3HYAPandLyq7PhR/PaWajJZ6Hq30iq2w32zhFA ghqTjJMPJCgU78MehKS5QdVCFfIr4xJA+O7sr1kh3eYuMYIDxTCCA8ECAQEw aTBeMQswCQYDVQQGEwJERTEUMBIGA1UEChMLUldUSCBBYWNoZW4xFzAVBgNV BAMTDlJXVEggQWFjaGVuIENBMSAwHgYJKoZIhvcNAQkBFhFjYUByd3RoLWFh Y2hlbi5kZQIHGC0xrJnk5TANBglghkgBZQMEAgMFAKCCAi0wGAYJKoZIhvcN AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTYwMTA2MDc0MjQx WjBPBgkqhkiG9w0BCQQxQgRAvNjK43U46JCEiomAJZB5y7igUeVAlNE4gd7a nbv4mcFYz5H/8OyNKSVFAcdMQzFgy6RqAqvDkldt7vHU4BElKzB4BgkrBgEE AYI3EAQxazBpMF4xCzAJBgNVBAYTAkRFMRQwEgYDVQQKEwtSV1RIIEFhY2hl bjEXMBUGA1UEAxMOUldUSCBBYWNoZW4gQ0ExIDAeBgkqhkiG9w0BCQEWEWNh QHJ3dGgtYWFjaGVuLmRlAgcYLTGsmeTlMHoGCyqGSIb3DQEJEAILMWugaTBe MQswCQYDVQQGEwJERTEUMBIGA1UEChMLUldUSCBBYWNoZW4xFzAVBgNVBAMT DlJXVEggQWFjaGVuIENBMSAwHgYJKoZIhvcNAQkBFhFjYUByd3RoLWFhY2hl bi5kZQIHGC0xrJnk5TCBqwYJKoZIhvcNAQkPMYGdMIGaMAsGCWCGSAFlAwQB KjALBglghkgBZQMEARYwCgYIKoZIhvcNAwcwCwYJYIZIAWUDBAECMA4GCCqG SIb3DQMCAgIAgDAHBgUrDgMCBzANBggqhkiG9w0DAgIBQDANBggqhkiG9w0D AgIBKDALBglghkgBZQMEAgMwCwYJYIZIAWUDBAICMAsGCWCGSAFlAwQCATAH BgUrDgMCGjANBgkqhkiG9w0BAQEFAASCAQBRpti5pkwT5shN7yHOHDviBlyW VOvGA1eDG1AutexJ4DHYsacYJu+A5VxGXeWXk0nA3q+JkKEOxpZkPl1EJxg/ p6B0ZtSStmfD//QOsz28PdcSQjakb9rq9tpDMJjUAnO2QR+6dAdrQ35obA3Y zIJ34LS8NJeXbpAi8P1vwcCkHGy2HT2O0z3E2e0uN/yfDd1R5rYaSDbCPzIW K4TooBx/mZYQSsLx+MTOiE5Th//Yzs0d3ctfnhcixgz7uJQPiwpmo18Gjedp Nu24TdZlwHDF4APfKDdDqz5a00nkUjXiILW7rm1bQwluy1uIdrUfj0SAak3S ozkjuabLfHY87fudAAAAAAAA ------=_NextPart_000_0179_01D1485E.34C42310--