From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9135 invoked by alias); 19 Oct 2012 14:12:10 -0000 Received: (qmail 9121 invoked by uid 22791); 19 Oct 2012 14:12:09 -0000 X-SWARE-Spam-Status: No, hits=-3.2 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_HOSTKARMA_W,RCVD_IN_HOSTKARMA_WL X-Spam-Check-By: sourceware.org Received: from eu1sys200aog106.obsmtp.com (HELO eu1sys200aog106.obsmtp.com) (207.126.144.121) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 19 Oct 2012 14:12:04 +0000 Received: from beta.dmz-eu.st.com ([164.129.1.35]) (using TLSv1) by eu1sys200aob106.postini.com ([207.126.147.11]) with SMTP ID DSNKUIFfrIpzBcWFi7gkfhNcw8+AhIOJMFTX@postini.com; Fri, 19 Oct 2012 14:12:02 UTC Received: from zeta.dmz-eu.st.com (zeta.dmz-eu.st.com [164.129.230.9]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id CE6F117B; Fri, 19 Oct 2012 14:11:52 +0000 (GMT) Received: from Webmail-eu.st.com (safex1hubcas3.st.com [10.75.90.18]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 1DC7848FD; Fri, 19 Oct 2012 14:11:52 +0000 (GMT) Received: from SAFEX1MAIL1.st.com ([10.75.90.1]) by SAFEX1HUBCAS3.st.com ([10.75.90.18]) with mapi; Fri, 19 Oct 2012 16:11:52 +0200 From: Giuseppe MONTALTO To: Eli Zaretskii Cc: "palves@redhat.com" , "tromey@redhat.com" , "gdb-patches@sourceware.org" , "Hafiz_Abid@mentor.com" Date: Fri, 19 Oct 2012 14:12:00 -0000 Subject: RE: [PATCH] enhancement of mi_cmd_data_write_memory_bytes for filling memory regions (was [PATCH] new MI command for pattern filling of memory regions) Message-ID: <76FE3225DF13124EA2D05B290B624C95E66C43ADB1@SAFEX1MAIL1.st.com> References: <76FE3225DF13124EA2D05B290B624C95E65F2D466E@SAFEX1MAIL1.st.com> <87sjf9rzr0.fsf@fleche.redhat.com> <76FE3225DF13124EA2D05B290B624C95E65FECE356@SAFEX1MAIL1.st.com> <871umsqgu8.fsf@fleche.redhat.com> <76FE3225DF13124EA2D05B290B624C95E65FECE48F@SAFEX1MAIL1.st.com> <87397624b9.fsf@fleche.redhat.com> <76FE3225DF13124EA2D05B290B624C95E662A6921F@SAFEX1MAIL1.st.com> <76FE3225DF13124EA2D05B290B624C95E6632A4256@SAFEX1MAIL1.st.com> <878vcc1s9f.fsf@fleche.redhat.com> <76FE3225DF13124EA2D05B290B624C95E66B003EA8@SAFEX1MAIL1.st.com> <87wqzgwm4k.fsf@fleche.redhat.com> <76FE3225DF13124EA2D05B290B624C95E66B004AC6@SAFEX1MAIL1.st.com> <50802300.6040304@redhat.com> <76FE3225DF13124EA2D05B290B624C95E66B370299@SAFEX1MAIL1.st.com> <83pq4f1yda.fsf@gnu.org> In-Reply-To: <83pq4f1yda.fsf@gnu.org> Content-Type: multipart/mixed; boundary="_002_76FE3225DF13124EA2D05B290B624C95E66C43ADB1SAFEX1MAIL1st_" MIME-Version: 1.0 X-IsSubscribed: yes 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 X-SW-Source: 2012-10/txt/msg00348.txt.bz2 --_002_76FE3225DF13124EA2D05B290B624C95E66C43ADB1SAFEX1MAIL1st_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Content-length: 2667 Dear all, I've performed all the required changes. Incidentally, the attached patch contains the sscanf() version of the loop = mentioned here below: for (i =3D 0; i < len; ++i) { int x; if (sscanf (cdata + i * 2, "%02x", &x) !=3D 1) error (_("Invalid argument")); databuf[i] =3D (gdb_byte) x; } While, on the other hand, using strtoul() instead of sscanf() will lead to = something=20 like this, or so I guess: for (i =3D 0; i < len; ++i) databuf[i] =3D strtoul (cdata + i * 2, NULL, 16); The former still being my preferred one, I think it all comes down to perso= nal taste, doesn't it? Regards, Giuseppe > -----Original Message----- > From: Eli Zaretskii [mailto:eliz@gnu.org] > Sent: Thursday, October 18, 2012 7:31 PM > To: Giuseppe MONTALTO > Cc: palves@redhat.com; tromey@redhat.com; gdb- > patches@sourceware.org; Hafiz_Abid@mentor.com > Subject: Re: [PATCH] enhancement of mi_cmd_data_write_memory_bytes > for filling memory regions (was [PATCH] new MI command for pattern filling > of memory regions) >=20 > > From: Giuseppe MONTALTO > > Cc: Tom Tromey , "gdb- > patches@sourceware.org" , "Abid, Hafiz" > > > Date: Thu, 18 Oct 2012 18:16:34 +0200 > > > > Please, find attached a new patch with all the requested changes (also > > includes The additons to NEWS and gdb.texinfo that I previously posted = in a > separate patch). >=20 > Thanks. >=20 > > + ** New optional parameter added to the "-data-write-memory-bytes" > command, > > + to allow pattern filling of memory areas. >=20 > Please name the new parameter. Otherwise, this part is OK. >=20 > > +@item @var{count} > > +Optional argument indicating the number of bytes to be written. If > @var{count} is bigger than @var{contents}' length, pattern filling occurs. >=20 > What exactly does "pattern filling" mean? This should be explained. > Looking at the code, I think you mean >=20 > If @var{count} is greater than @var{contents}' length, @value{GDBN} > will repeatedly write @var{contents} until it fills @var{count} > bytes. >=20 > The patch for the manual is OK with these changes. >=20 > > for (i =3D 0; i < len; ++i) > > { > > int x; > > sscanf (cdata + i * 2, "%02x", &x); > > - data[i] =3D (gdb_byte) x; > > + databuf[i] =3D (gdb_byte) x; > > + } >=20 > Sorry for chiming in late wrt the code parts, but: >=20 > . you don't test the return value of sscanf, is that a good idea? >=20 > . won't it be better to use strtoul here? that would avoid the need > to cast to gdb_byte, AFAIU --_002_76FE3225DF13124EA2D05B290B624C95E66C43ADB1SAFEX1MAIL1st_ Content-Type: application/octet-stream; name="patch-V.10.patch" Content-Description: patch-V.10.patch Content-Disposition: attachment; filename="patch-V.10.patch"; size=7798; creation-date="Fri, 19 Oct 2012 14:03:34 GMT"; modification-date="Fri, 19 Oct 2012 14:03:34 GMT" Content-Transfer-Encoding: base64 Content-length: 10574 IGdkYi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg IDYgKysrDQogZ2RiL05FV1MgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAgMiArDQogZ2RiL2RvYy9DaGFuZ2VMb2cgICAgICAgICAgICAg ICAgICAgICAgIHwgICAgNSArKysNCiBnZGIvZG9jL2dkYi50ZXhpbmZvICAg ICAgICAgICAgICAgICAgICAgfCAgIDEzICsrKysrKy0NCiBnZGIvbWkvbWkt bWFpbi5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQ4ICsrKysrKysr KysrKysrKysrKysrKy0tLS0tDQogZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cg ICAgICAgICAgICAgICAgIHwgICAgNCArKw0KIGdkYi90ZXN0c3VpdGUvZ2Ri Lm1pL21pLWZpbGwtbWVtb3J5LmV4cCB8ICAgNTggKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKw0KIDcgZmlsZXMgY2hhbmdlZCwgMTI2IGluc2Vy dGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZ2Ri L0NoYW5nZUxvZyBiL2dkYi9DaGFuZ2VMb2cNCmluZGV4IDk1OWU5MGQuLmU4 OGQxYjggMTAwNjQ0DQotLS0gYS9nZGIvQ2hhbmdlTG9nDQorKysgYi9nZGIv Q2hhbmdlTG9nDQpAQCAtMSwzICsxLDkgQEANCisyMDEyLTEwLTE5ICBHaXVz ZXBwZSBNb250YWx0byAgPGdpdXNlcHBlLm1vbnRhbHRvQHN0LmNvbT4NCisN CisJKiBtaS9taS1tYWluLmMgKG1pX2NtZF9kYXRhX3dyaXRlX21lbW9yeSk6 IEhhbmRsZSBhZGRpdGlvbmFsDQorCXBhcmFtZXRlciBDT1VOVCwgZm9yIHBh dHRlcm4gZmlsbGluZyBvZiBtZW1vcnkgcmVnaW9ucy4NCisJKiBORVdTOiBN ZW50aW9uIGl0Lg0KKw0KIDIwMTItMDktMjcgIFlhbyBRaSAgPHlhb0Bjb2Rl c291cmNlcnkuY29tPg0KIA0KIAlQUiBicmVha3BvaW50cy8xMzg5OA0KZGlm ZiAtLWdpdCBhL2dkYi9ORVdTIGIvZ2RiL05FV1MNCmluZGV4IGFiZDA5MzIu LmEyOWZhMTUgMTAwNjQ0DQotLS0gYS9nZGIvTkVXUw0KKysrIGIvZ2RiL05F V1MNCkBAIC01Nyw2ICs1Nyw4IEBAIHB5IFtjb21tYW5kXQ0KICAgICAgdXNp bmcgbmV3IGFzeW5jIHJlY29yZHMgIj10c3YtY3JlYXRlZCIgYW5kICI9dHN2 LWRlbGV0ZWQiLg0KICAgKiogVGhlIHN0YXJ0IGFuZCBzdG9wIG9mIHByb2Nl c3MgcmVjb3JkIGFyZSBub3cgbm90aWZpZWQgdXNpbmcgbmV3DQogICAgICBh c3luYyByZWNvcmQgIj1yZWNvcmQtc3RhcnRlZCIgYW5kICI9cmVjb3JkLXN0 b3BwZWQiLg0KKyAgKiogTmV3IG9wdGlvbmFsIHBhcmFtZXRlciBDT1VOVCBh ZGRlZCB0byB0aGUgIi1kYXRhLXdyaXRlLW1lbW9yeS1ieXRlcyIgIA0KKyAg ICAgY29tbWFuZCwgdG8gYWxsb3cgcGF0dGVybiBmaWxsaW5nIG9mIG1lbW9y eSBhcmVhcy4NCiANCiAqKiogQ2hhbmdlcyBpbiBHREIgNy41DQogDQpkaWZm IC0tZ2l0IGEvZ2RiL2RvYy9DaGFuZ2VMb2cgYi9nZGIvZG9jL0NoYW5nZUxv Zw0KaW5kZXggMDVhYzQwNi4uYWFlNDFmYyAxMDA2NDQNCi0tLSBhL2dkYi9k b2MvQ2hhbmdlTG9nDQorKysgYi9nZGIvZG9jL0NoYW5nZUxvZw0KQEAgLTEs MyArMSw4IEBADQorMjAxMi0xMC0xOSAgR2l1c2VwcGUgTW9udGFsdG8gIDxn aXVzZXBwZS5tb250YWx0b0BzdC5jb20+DQorDQorCSogZ2RiLnRleGluZm8g KC1kYXRhLXdyaXRlLW1lbW9yeS1ieXRlcyk6IENoYW5nZWQgdGhlIGNvbW1h bmQNCisJZGVzY3JpcHRpb24gYW5kIGFkZGVkIGFuIGV4YW1wbGUgdG8gcmVm bGVjdCBjdXJyZW50IGltcGxlbWVudGF0aW9uLg0KKw0KIDIwMTItMDktMjYg IFNpZGRoZXNoIFBveWFyZWthciAgPHNpZGRoZXNoQHJlZGhhdC5jb20+DQog DQogCSogb2JzZXJ2ZXIudGV4aSAobWVtb3J5X2NoYW5nZWQpOiBFeHBhbmQg cGFyYW1ldGVyIExFTiB0byBzc2l6ZV90Lg0KZGlmZiAtLWdpdCBhL2dkYi9k b2MvZ2RiLnRleGluZm8gYi9nZGIvZG9jL2dkYi50ZXhpbmZvDQppbmRleCA1 ZmNiYWRhLi44NjhlN2MwIDEwMDY0NA0KLS0tIGEvZ2RiL2RvYy9nZGIudGV4 aW5mbw0KKysrIGIvZ2RiL2RvYy9nZGIudGV4aW5mbw0KQEAgLTMxMTkyLDcg KzMxMTkyLDcgQEAgVGhlIGNvcnJlc3BvbmRpbmcgQHZhbHVle0dEQk59IGNv bW1hbmQgaXMgQHNhbXB7eH0uDQogQHN1YnN1YmhlYWRpbmcgU3lub3BzaXMN CiANCiBAc21hbGxleGFtcGxlDQotIC1kYXRhLXdyaXRlLW1lbW9yeS1ieXRl cyBAdmFye2FkZHJlc3N9IEB2YXJ7Y29udGVudHN9DQorIC1kYXRhLXdyaXRl LW1lbW9yeS1ieXRlcyBAdmFye2FkZHJlc3N9IEB2YXJ7Y29udGVudHN9IEBy e1t9QHZhcntjb3VudH1AcntdfSANCiBAZW5kIHNtYWxsZXhhbXBsZQ0KIA0K IEBub2luZGVudA0KQEAgLTMxMjA3LDYgKzMxMjA3LDExIEBAIHF1b3RlZCB1 c2luZyB0aGUgQyBjb252ZW50aW9uLg0KIEBpdGVtIEB2YXJ7Y29udGVudHN9 DQogVGhlIGhleC1lbmNvZGVkIGJ5dGVzIHRvIHdyaXRlLg0KIA0KK0BpdGVt IEB2YXJ7Y291bnR9DQorT3B0aW9uYWwgYXJndW1lbnQgaW5kaWNhdGluZyB0 aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGJlIHdyaXR0ZW4uICBJZiBAdmFye2Nv dW50fSANCitpcyBncmVhdGVyIHRoYW4gQHZhcntjb250ZW50c30nIGxlbmd0 aCwgQHZhbHVle0dEQk59IHdpbGwgcmVwZWF0ZWRseSANCit3cml0ZSBAdmFy e2NvbnRlbnRzfSB1bnRpbCBpdCBmaWxscyBAdmFye2NvdW50fSBieXRlcy4N CisNCiBAZW5kIHRhYmxlDQogDQogQHN1YnN1YmhlYWRpbmcgQHZhbHVle0dE Qk59IENvbW1hbmQNCkBAIC0zMTIyMiw2ICszMTIyNywxMiBAQCBUaGVyZSdz IG5vIGNvcnJlc3BvbmRpbmcgQHZhbHVle0dEQk59IGNvbW1hbmQuDQogKGdk YikNCiBAZW5kIHNtYWxsZXhhbXBsZQ0KIA0KK0BzbWFsbGV4YW1wbGUNCiso Z2RiKQ0KKy1kYXRhLXdyaXRlLW1lbW9yeS1ieXRlcyAmYSAiYWFiYmNjZGQi IDE2ZQ0KK15kb25lDQorKGdkYikNCitAZW5kIHNtYWxsZXhhbXBsZQ0KIA0K IEBjICUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUgU0VDVElPTiAlJSUl JSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlDQogQG5vZGUgR0RCL01J IFRyYWNlcG9pbnQgQ29tbWFuZHMNCmRpZmYgLS1naXQgYS9nZGIvbWkvbWkt bWFpbi5jIGIvZ2RiL21pL21pLW1haW4uYw0KaW5kZXggZjFkMjFiYy4uNTA4 MTZmNSAxMDA2NDQNCi0tLSBhL2dkYi9taS9taS1tYWluLmMNCisrKyBiL2dk Yi9taS9taS1tYWluLmMNCkBAIC0xNjU2LDcgKzE2NTYsOCBAQCBtaV9jbWRf ZGF0YV93cml0ZV9tZW1vcnkgKGNoYXIgKmNvbW1hbmQsIGNoYXIgKiphcmd2 LCBpbnQgYXJnYykNCiAvKiBJbXBsZW1lbnRhdGlvbiBvZiB0aGUgLWRhdGEt d3JpdGUtbWVtb3J5LWJ5dGVzIGNvbW1hbmQuDQogDQogICAgQUREUjogc3Rh cnQgYWRkcmVzcw0KLSAgIERBVEE6IHN0cmluZyBvZiBieXRlcyB0byB3cml0 ZSBhdCB0aGF0IGFkZHJlc3MuICAqLw0KKyAgIERBVEE6IHN0cmluZyBvZiBi eXRlcyB0byB3cml0ZSBhdCB0aGF0IGFkZHJlc3MNCisgICBDT1VOVDogbnVt YmVyIG9mIGJ5dGVzIHRvIGJlIGZpbGxlZCAoZGVjaW1hbCBpbnRlZ2VyKS4g ICovDQogDQogdm9pZA0KIG1pX2NtZF9kYXRhX3dyaXRlX21lbW9yeV9ieXRl cyAoY2hhciAqY29tbWFuZCwgY2hhciAqKmFyZ3YsIGludCBhcmdjKQ0KQEAg LTE2NjQsMjcgKzE2NjUsNTYgQEAgbWlfY21kX2RhdGFfd3JpdGVfbWVtb3J5 X2J5dGVzIChjaGFyICpjb21tYW5kLCBjaGFyICoqYXJndiwgaW50IGFyZ2Mp DQogICBDT1JFX0FERFIgYWRkcjsNCiAgIGNoYXIgKmNkYXRhOw0KICAgZ2Ri X2J5dGUgKmRhdGE7DQotICBpbnQgbGVuLCByLCBpOw0KKyAgZ2RiX2J5dGUg KmRhdGFidWY7DQorICBzaXplX3QgbGVuLCByLCBpLCBzdGVwcywgcmVtYWlu ZGVyOw0KKyAgbG9uZyBpbnQgY291bnQsIGo7DQogICBzdHJ1Y3QgY2xlYW51 cCAqYmFja190bzsNCiANCi0gIGlmIChhcmdjICE9IDIpDQotICAgIGVycm9y IChfKCJVc2FnZTogQUREUiBEQVRBLiIpKTsNCisgIGlmIChhcmdjICE9IDIg JiYgYXJnYyAhPSAzKQ0KKyAgICBlcnJvciAoXygiVXNhZ2U6IEFERFIgREFU QSBbQ09VTlRdLiIpKTsNCiANCiAgIGFkZHIgPSBwYXJzZV9hbmRfZXZhbF9h ZGRyZXNzIChhcmd2WzBdKTsNCiAgIGNkYXRhID0gYXJndlsxXTsNCiAgIGxl biA9IHN0cmxlbiAoY2RhdGEpLzI7DQorICBpZiAoYXJnYyA9PSAzKQ0KKyAg ICBjb3VudCA9IHN0cnRvdWwgKGFyZ3ZbMl0sIE5VTEwsIDEwKTsNCisgIGVs c2UNCisgICAgY291bnQgPSBsZW47DQogDQotICBkYXRhID0geG1hbGxvYyAo bGVuKTsNCi0gIGJhY2tfdG8gPSBtYWtlX2NsZWFudXAgKHhmcmVlLCBkYXRh KTsNCisgIGRhdGFidWYgPSB4bWFsbG9jIChsZW4gKiBzaXplb2YgKGdkYl9i eXRlKSk7DQorICBiYWNrX3RvID0gbWFrZV9jbGVhbnVwICh4ZnJlZSwgZGF0 YWJ1Zik7DQogDQogICBmb3IgKGkgPSAwOyBpIDwgbGVuOyArK2kpDQogICAg IHsNCiAgICAgICBpbnQgeDsNCi0gICAgICBzc2NhbmYgKGNkYXRhICsgaSAq IDIsICIlMDJ4IiwgJngpOw0KLSAgICAgIGRhdGFbaV0gPSAoZ2RiX2J5dGUp IHg7DQorICAgICAgaWYgKHNzY2FuZiAoY2RhdGEgKyBpICogMiwgIiUwMngi LCAmeCkgIT0gMSkNCisgICAgICAgIGVycm9yIChfKCJJbnZhbGlkIGFyZ3Vt ZW50IikpOw0KKyAgICAgIGRhdGFidWZbaV0gPSAoZ2RiX2J5dGUpIHg7DQor ICAgIH0NCisNCisgIGlmIChsZW4gPCBjb3VudCkNCisgICAgew0KKyAgICAg IC8qIFBhdHRlcm4gaXMgbWFkZSBvZiBsZXNzIGJ5dGVzIHRoYW4gY291bnQ6 IA0KKyAgICAgICAgIHJlcGVhdCBwYXR0ZXJuIHRvIGZpbGwgbWVtb3J5LiAg Ki8NCisgICAgICBkYXRhID0geG1hbGxvYyAoY291bnQpOw0KKyAgICAgIG1h a2VfY2xlYW51cCAoeGZyZWUsIGRhdGEpOw0KKyAgICANCisgICAgICBzdGVw cyA9IGNvdW50IC8gbGVuOw0KKyAgICAgIHJlbWFpbmRlciA9IGNvdW50ICUg bGVuOw0KKyAgICAgIGZvciAoaiA9IDA7IGogPCBzdGVwczsgaisrKQ0KKyAg ICAgICAgbWVtY3B5IChkYXRhICsgaiAqIGxlbiwgZGF0YWJ1ZiwgbGVuKTsN CisNCisgICAgICBpZiAocmVtYWluZGVyID4gMCkNCisgICAgICAgIG1lbWNw eSAoZGF0YSArIHN0ZXBzICogbGVuLCBkYXRhYnVmLCByZW1haW5kZXIpOw0K KyAgICB9DQorICBlbHNlIA0KKyAgICB7DQorICAgICAgLyogUGF0dGVybiBp cyBsb25nZXIgdGhhbiBvciBlcXVhbCB0byBjb3VudDogDQorICAgICAgICAg anVzdCBjb3B5IGxlbiBieXRlcy4gICovDQorICAgICAgZGF0YSA9IGRhdGFi dWY7DQogICAgIH0NCiANCi0gIHIgPSB0YXJnZXRfd3JpdGVfbWVtb3J5IChh ZGRyLCBkYXRhLCBsZW4pOw0KKyAgciA9IHRhcmdldF93cml0ZV9tZW1vcnkg KGFkZHIsIGRhdGEsIGNvdW50KTsNCiAgIGlmIChyICE9IDApDQogICAgIGVy cm9yIChfKCJDb3VsZCBub3Qgd3JpdGUgbWVtb3J5IikpOw0KIA0KZGlmZiAt LWdpdCBhL2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nIGIvZ2RiL3Rlc3RzdWl0 ZS9DaGFuZ2VMb2cNCmluZGV4IDY3MDc3NTEuLjQ5MGIyMTIgMTAwNjQ0DQot LS0gYS9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZw0KKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9DaGFuZ2VMb2cNCkBAIC0xLDMgKzEsNyBAQA0KKzIwMTItMjctMTgg IEdpdXNlcHBlIE1vbnRhbHRvICA8Z2l1c2VwcGUubW9udGFsdG9Ac3QuY29t Pg0KKw0KKwkqIGdkYi5taS9taS1maWxsLW1lbW9yeS5leHA6IE5ldyB0ZXN0 Lg0KKw0KIDIwMTItMDktMjYgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0 LmNvbT4NCiANCiAJKiBnZGIuZHdhcmYyL2R3Mi1jb21tb24tYmxvY2suUzog TmV3IGZpbGUuDQpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkv bWktZmlsbC1tZW1vcnkuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWkt ZmlsbC1tZW1vcnkuZXhwDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXgg MDAwMDAwMC4uZWY3MDA0ZA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIubWkvbWktZmlsbC1tZW1vcnkuZXhwDQpAQCAtMCwwICsx LDU4IEBADQorIyBDb3B5cmlnaHQgKEMpIDIwMTIgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuDQorDQorIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQ0KKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCisjIHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp Y2Vuc2UsIG9yDQorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz aW9uLg0KKyMNCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KKyMgYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YNCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCisjIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQorIw0KKyMgWW91 IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UNCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFt LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+ Lg0KKw0KKyMNCisjIGFkZGVkIGZvciB0ZXN0aW5nIHRoZSAtZGF0YS13cml0 ZS1tZW1vcnktYnl0ZXMgTUkgY29tbWFuZCBlbmhhbmNlbWVudHMNCisjDQor DQorbG9hZF9saWIgbWktc3VwcG9ydC5leHANCitzZXQgTUlGTEFHUyAiLWk9 bWkiDQorDQorZ2RiX2V4aXQNCitpZiBbbWlfZ2RiX3N0YXJ0XSB7DQorICAg IGNvbnRpbnVlDQorfQ0KKw0KK3N0YW5kYXJkX3Rlc3RmaWxlICJtaS1yZWFk LW1lbW9yeSINCisgDQoraWYgIHsgW2dkYl9jb21waWxlICIke3NyY2Rpcn0v JHtzdWJkaXJ9LyR7c3JjZmlsZX0uYyIgIiR7YmluZmlsZX0iIGV4ZWN1dGFi bGUge2RlYnVnfV0gIT0gIiIgfSB7DQorICAgICB1bnRlc3RlZCBtaS1maWxs LW1lbW9yeS5leHANCisgICAgIHJldHVybiAtMQ0KK30NCisNCittaV9ydW5f dG9fbWFpbg0KK21pX25leHRfdG8gIm1haW4iICIiICJtaS1yZWFkLW1lbW9y eS5jIiAiMjAiICJuZXh0IGF0IG1haW4iDQorDQorbWlfZ2RiX3Rlc3QgIjEt ZGF0YS13cml0ZS1tZW1vcnktYnl0ZXMiXA0KKwkiMVxcXF5lcnJvcixtc2c9 XCJVc2FnZTogQUREUiBEQVRBIFxcXFtDT1VOVFxcXF1cLlwiIlwNCisJIm5v IGFyZ3VtZW50cyINCisNCittaV9nZGJfdGVzdCAiMi1kYXRhLXdyaXRlLW1l bW9yeS1ieXRlcyA4IlwNCisJIjJcXFxeZXJyb3IsbXNnPVwiVXNhZ2U6IEFE RFIgREFUQSBcXFxbQ09VTlRcXFxdXC5cIiJcDQorCSJvbmUgYXJndW1lbnQg bWlzc2luZyINCisNCittaV9nZGJfdGVzdCAiMy1kYXRhLXdyaXRlLW1lbW9y eS1ieXRlcyBcJHBjIGFiIlwNCisJIjNcXFxeZG9uZSIgXA0KKwkibWVtb3J5 IHN1Y2Nlc3NmdWxseSB3cml0dGVuIg0KKw0KK21pX2dkYl90ZXN0ICI0LWRh dGEtd3JpdGUtbWVtb3J5LWJ5dGVzIFwkcGMgYWIgOCJcDQorCSI0XFxcXmRv bmUiIFwNCisJIm1lbW9yeSBzdWNjZXNzZnVsbHkgZmlsbGVkICg4IGJ5dGVz KSINCisNCittaV9nZGJfdGVzdCAiNS1pbnRlcnByZXRlci1leGVjIGNvbnNv bGUgXCJ4IFwkcGNcIiIgXA0KKyAgICAiLioweGFiYWJhYmFiLioiIFwNCisg ICAgInBhdHRlcm4gY29ycmVjdGx5IHJlYWQgZnJvbSBtZW1vcnkiDQorDQor bWlfZ2RiX2V4aXQNCg== --_002_76FE3225DF13124EA2D05B290B624C95E66C43ADB1SAFEX1MAIL1st_--