From owner-sc22wg5+sc22wg5-dom8=www.open-std.org@open-std.org Wed May 29 14:02:39 2013 Return-Path: X-Original-To: sc22wg5-dom8 Delivered-To: sc22wg5-dom8@www.open-std.org Received: by www.open-std.org (Postfix, from userid 521) id B53A3356E9E; Wed, 29 May 2013 14:02:39 +0200 (CEST) Delivered-To: sc22wg5@open-std.org Received: from postout1.mail.lrz.de (postout1.mail.lrz.de [129.187.255.137]) by www.open-std.org (Postfix) with ESMTP id 3D018356E9B for ; Wed, 29 May 2013 14:02:23 +0200 (CEST) Received: from lxmhs51.srv.lrz.de (localhost [127.0.0.1]) by postout1.mail.lrz.de (Postfix) with ESMTP id 3bL9XH0B6zzyRW; Wed, 29 May 2013 14:02:23 +0200 (CEST) X-Virus-Scanned: by amavisd-new at lrz.de in lxmhs51.srv.lrz.de Received: from postout1.mail.lrz.de ([127.0.0.1]) by lxmhs51.srv.lrz.de (lxmhs51.srv.lrz.de [127.0.0.1]) (amavisd-new, port 20024) with LMTP id wL38VpEjbyEK; Wed, 29 May 2013 14:02:22 +0200 (CEST) Received: from BADWLRZ-SWHBT2.ads.mwn.de (BADWLRZ-SWHBT2.ads.mwn.de [IPv6:2001:4ca0:0:108::126]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (Client CN "BADWLRZ-SWHBT2", Issuer "BADWLRZ-SWHBT2" (not verified)) by postout1.mail.lrz.de (Postfix) with ESMTPS id 3bL9XG1w84zyQq; Wed, 29 May 2013 14:02:22 +0200 (CEST) Received: from BADWLRZ-SWMBX11.ads.mwn.de ([fe80::6de5:ff8b:1900:b1a1]) by BADWLRZ-SWHBT2.ads.mwn.de ([fe80::5951:9dc3:7b2b:14ba%13]) with mapi id 14.03.0123.003; Wed, 29 May 2013 14:02:22 +0200 From: "Bader, Reinhold" To: WG5 CC: Bill Long Subject: AW: (SC22WG5.5007) (j3.2006) AW: AW: Corrections to TS29113 Thread-Topic: (SC22WG5.5007) (j3.2006) AW: AW: Corrections to TS29113 Thread-Index: AQHOXGPS5fLNVRKJBU2/Rjfb1xTeupkcDyDw Date: Wed, 29 May 2013 12:02:21 +0000 Message-ID: <166ED263DF83324D9A3BA67FB6772B2B59FA3D05@BADWLRZ-SWMBX11.ads.mwn.de> References: <20130527194800.755D0356E40@www.open-std.org> <20130528064313.2D3EA356EC9@www.open-std.org> <20130528175553.29F77356E2E@www.open-std.org> <20130528195028.EDA22356E76@www.open-std.org> <20130528215920.3F54A356922@www.open-std.org> <20130529115820.DF87A356E9B@www.open-std.org> In-Reply-To: <20130529115820.DF87A356E9B@www.open-std.org> Accept-Language: de-DE, en-US Content-Language: de-DE X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [2001:4ca0:0:300::79] Content-Type: multipart/mixed; boundary="_002_166ED263DF83324D9A3BA67FB6772B2B59FA3D05BADWLRZSWMBX11a_" MIME-Version: 1.0 Sender: owner-sc22wg5@open-std.org Precedence: bulk --_002_166ED263DF83324D9A3BA67FB6772B2B59FA3D05BADWLRZSWMBX11a_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hello Bill,=20 OK. I've attached an updated version of the complete draft; in particular I= 've also added edits for section (D).=20 Regards Reinhold > -----Urspr=FCngliche Nachricht----- > Von: owner-sc22wg5@open-std.org [mailto:owner-sc22wg5@open-std.org] > Im Auftrag von Bill Long > Gesendet: Mittwoch, 29. Mai 2013 13:58 > An: longb@cray.com; sc22wg5 > Betreff: (SC22WG5.5007) (j3.2006) AW: AW: Corrections to TS29113 >=20 > Arg! Ignore the comments about C535b versus C535c - I was looking at the > wrong document. Reinhold was, of course, right on those. >=20 > Cheers, > Bill >=20 >=20 > On 5/28/13 5:02 PM, Bill Long wrote: > > > > > > On 5/28/13 2:43 PM, Bader, Reinhold wrote: > >> Here a modified version of section (A): > >> --------------------------------------------------------------------- > >> --------------------------------- > >> (A) Assumed rank entities. > >> > >> The Fortran lower bounds of an assumed-rank dummy argument that > does > >> not have the POINTER or ALLOCATABLE attribute should be one. > >> Furthermore, > >> C532 must be loosened in order to allow assumed-rank entities to have > >> the POINTER or ALLOCATABLE attribute. > >> > >> EDITS: > >> > >> In section 5.2, after C535c, insert > > > > C535b ? 5.2 does not currently have a C535c. > >> > >> "The lower bounds of an assumed-rank entity argument associated with a > >> non-pointer non-allocatable array are 1 > > > > Better in this subclause. Maybe clearer if "that is" follows "entity". > > No hyphens in nonpointer or nonallocatable. > > > >> ; its extents are those of its > >> effective argument. > > > > This is already covered in 6.3. > > > >> The size, bounds, and shape of an unallocated allocatable or a > >> disassociated pointer assumed-rank entity are undefined; the > > > > I think this is already true in general. > > > >> size, bounds, and shape of an allocated allocatable or an > >> associated pointer assumed-rank entity are assumed from its > >> effective argument." > > > > This is already covered in 6.3. > > > >> > >> The same text is added at the end of section 9.5, after C535c. > > > > C535b. > > > >> > >> Before the edits for 5.3.8.7 in section 9.5, add > >> > >> "{In 5.3.8.4, change C532 as follows} > >> > >> C532 An array with the POINTER or ALLOCATABLE attribute ~[that is > >> not an assumed rank entity (5.3.8.7)] shall have an array-spec > >> that is a deferred-shape-spec-list." > > > > I agree this needs to be fixed. Good catch. > > > > Cheers, > > Bill > > > > > >> > >> (the ~[...] text is added and hence gets underwaves). > >> > >> Further comment: For the C descriptor, section 8.3.3 already > >> specifies the lower bound for a non-allocatable non-pointer array as z= ero. > >> --------------------------------------------------------------------- > >> --------------------------------- > > >=20 > -- > Bill Long longb@cray.com > Fortran Technical Support & voice: 651-605-9024 > Bioinformatics Software Development fax: 651-605-9142 > Cray Inc./Cray Plaza, Suite 210/380 Jackson St./St. Paul, MN 55101 >=20 --_002_166ED263DF83324D9A3BA67FB6772B2B59FA3D05BADWLRZSWMBX11a_ Content-Type: text/plain; name="ts29113_corrections.txt" Content-Description: ts29113_corrections.txt Content-Disposition: attachment; filename="ts29113_corrections.txt"; size=5657; creation-date="Wed, 29 May 2013 12:02:12 GMT"; modification-date="Wed, 29 May 2013 12:01:50 GMT" Content-Transfer-Encoding: base64 CgpBbWVuZG1lbnRzIHRvIFRTIDI5MTEzCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCihBKSBBc3N1 bWVkIHJhbmsgZW50aXRpZXMuCgpUaGUgRm9ydHJhbiBsb3dlciBib3VuZHMgb2YgYW4gYXNzdW1l ZC1yYW5rIGR1bW15IGFyZ3VtZW50IHRoYXQgZG9lcyAKbm90IGhhdmUgdGhlIFBPSU5URVIgb3Ig QUxMT0NBVEFCTEUgYXR0cmlidXRlIHNob3VsZCBiZSBvbmUuIEZ1cnRoZXJtb3JlLCAKQzUzMiBt dXN0IGJlIGxvb3NlbmVkIGluIG9yZGVyIHRvIGFsbG93IGFzc3VtZWQtcmFuayBlbnRpdGllcyB0 byAKaGF2ZSB0aGUgUE9JTlRFUiBvciBBTExPQ0FUQUJMRSBhdHRyaWJ1dGUuCgpFRElUUzogCgpJ biBzZWN0aW9uIFRTLzUuMiwgYWZ0ZXIgQzUzNWMsIGluc2VydAoKIlRoZSBsb3dlciBib3VuZHMg b2YgYW4gYXNzdW1lZC1yYW5rIGVudGl0eSB0aGF0IGlzIGFyZ3VtZW50IGFzc29jaWF0ZWQgCiB3 aXRoIGEgbm9ucG9pbnRlciBub25hbGxvY2F0YWJsZSBhcnJheSBhcmUgMS4iCgpBdCB0aGUgZW5k IG9mIHNlY3Rpb24gVFMvOS41LCBhZnRlciBDNTM1YywgYWRkCgoiVGhlIGxvd2VyIGJvdW5kcyBv ZiBhbiBhc3N1bWVkLXJhbmsgZW50aXR5IHRoYXQgaXMgYXJndW1lbnQgYXNzb2NpYXRlZCAKIHdp dGggYSBub25wb2ludGVyIG5vbmFsbG9jYXRhYmxlIGFycmF5IGFyZSAxLiIgCgpCZWZvcmUgdGhl IGVkaXRzIGZvciA1LjMuOC43IGluIHNlY3Rpb24gVFMvOS41LCBhZGQKCiJ7SW4gNS4zLjguNCwg Y2hhbmdlIEM1MzIgYXMgZm9sbG93c30KCkM1MzIgQW4gYXJyYXkgd2l0aCB0aGUgUE9JTlRFUiBv ciBBTExPQ0FUQUJMRSBhdHRyaWJ1dGUgflt0aGF0IGlzCiAgICAgbm90IGFuIGFzc3VtZWQtcmFu ayBlbnRpdHkgKDUuMy44LjcpXSBzaGFsbCBoYXZlIGFuIGFycmF5LXNwZWMgCiAgICAgdGhhdCBp cyBhIGRlZmVycmVkLXNoYXBlLXNwZWMtbGlzdC4iCgoodGhlIH5bLi4uXSB0ZXh0IGlzIGFkZGVk IGFuZCBoZW5jZSBnZXRzIHVuZGVyd2F2ZXMpLgoKRnVydGhlciBjb21tZW50OiBGb3IgdGhlIEMg ZGVzY3JpcHRvciwgc2VjdGlvbiBUUy84LjMuMyBhbHJlYWR5IHNwZWNpZmllcwp0aGUgbG93ZXIg Ym91bmRzIGZvciBhIG5vbi1hbGxvY2F0YWJsZSBub24tcG9pbnRlciBhcnJheSBhcyB6ZXJvLgoK CihCKSBEZXNjcmlwdG9ycyBmb3IgYXNzdW1lZCBzaXplIG9iamVjdHMuCgpTdWNoIGRlc2NyaXB0 b3JzIGFjY29yZGluZyB0byBzZWN0aW9uIFRTLzguMy4yIGhhdmUgYSBkaW1bXS5leHRlbnQgdmFs dWUKb2YgLTEuIEZvciBzb21lIG9mIHRoZSBmdW5jdGlvbnMgZnJvbSBzZWN0aW9uIFRTLzguMy41 LCBpdCBpcyB1bmNsZWFyIHRvIAp3aGljaCBleHRlbnQgc3VjaCBkZXNjcmlwdG9ycyBjYW4gYXBw ZWFyIGFzIHBhcmFtZXRlcnMuCgpJbiBkZXRhaWw6IAoKKEIuMSkgQ0ZJX2FkZHJlc3MKCkZyb20g dGhlIHByZXNlbnQgZGVmaW5pdGlvbiwgbm8gdmFsaWQgc3Vic2NyaXB0c1tdIGFyZ3VtZW50IGNh biBiZSAKc3BlY2lmaWVkIGZvciBhbiBhc3N1bWVkLXNpemUgb2JqZWN0LiBUaGlzIGlzIHRvbyBk cmFjb25pYW4uIAoKRURJVDogCkluIHRoZSAic3Vic2NyaXB0cyIgZGVzY3JpcHRpb24gb2YgVFMv OC4zLjUuMiwgbGFzdCBzZW50ZW5jZSwgcmVwbGFjZQoiVGhlIHN1YnNjcmlwdCB2YWx1ZXMiIGJ5 ICJUaGUgZmlyc3QgL3IvIC0gMSBzdWJzY3JpcHQgdmFsdWVzIiBhbmQgYXQgCnRoZSBlbmQgb2Yg dGhhdCBzZW50ZW5jZSwgYWRkICI7IHRoZSAvci8tdGggc3Vic2NyaXB0IHZhbHVlIHNoYWxsIGJl IApncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlIGNvcnJlc3BvbmRpbmcgbG93ZXIgYm91bmQg b2YgdGhlCi9kaW0vIG1lbWJlciBvZiB0aGUgQyBkZXNjcmlwdG9yLiIgCgpDb21tZW50OgpUaGUg bGFzdCBwYXJhZ3JhcGggb2YgVFMvOC41IHByb3ZpZGVzIHRoZSBhZGRpdGlvbmFsIG5lY2Vzc2Fy eSAKcmVzdHJpY3Rpb24gdGhhdCByZW5kZXJzIGFueSBraW5kIG9mIG92ZXJpbmRleGluZyB0aGF0 IG1heSBvdGhlcndpc2UgCmhhcHBlbiBub24tY29uZm9ybWluZy4KCihCLjIpIENGSV9zZWxlY3Rf cGFydAoKUHJlc2VudGx5IGl0IGlzIHBlcm1pdHRlZCB0byBoYXZlIGEgL3Jlc3VsdC8gcGFyYW1l dGVyIHdpdGggdGhlIAphdHRyaWJ1dGUgQ0ZJX2F0dHJpYnV0ZV9wb2ludGVyIGlmIHRoZSAvc291 cmNlLyBwYXJhbWV0ZXIgZGVzY3JpYmVzIAphbiBhc3N1bWVkLXNpemUgb2JqZWN0LiBUaGlzIG11 c3QgYmUgcHJvaGliaXRlZC4KCkVESVQ6CkF0IHRoZSBlbmQgb2YgdGhlICJzb3VyY2UiIGRlc2Ny aXB0aW9uIG9mIFRTLzguMy41LjgsIGFkZCB0aGUgc2VudGVuY2UKIklmIC9yZXN1bHQvIGhhcyB0 aGUgYXR0cmlidXRlIENGSV9hdHRyaWJ1dGVfcG9pbnRlciwgL3NvdXJjZS8gc2hhbGwKbm90IGRl c2NyaWJlIGFuIGFzc3VtZWQtc2l6ZSBhcnJheS4iCgooQi4zKSBDRklfc2V0cG9pbnRlcgoKVGhl IC9zb3VyY2UvIHBhcmFtZXRlciBpcyBwcmVzZW50bHkgcGVybWl0dGVkIHRvIGJlIGFuIGFzc3Vt ZWQtc2l6ZQpvYmplY3QuIFRoaXMgbXVzdCBiZSBwcm9oaWJpdGVkLgoKRURJVDoKSW4gdGhlICJz b3VyY2UiIGRlc2NyaXB0aW9uIG9mIFRTLzguMy41LjksIGFmdGVyICJub25hbGxvY2F0YWJsZQpu b25wb2ludGVyIGRhdGEgb2JqZWN0IiwgYWRkICIgdGhhdCBpcyBub3QgYW4gYXNzdW1lZC1zaXpl IGFycmF5Ii4KCgooQykgRGVzY3JpcHRvciB1cGRhdGVzIG5vdCB1bmlxdWVseSBkZWZpbmVkCn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCkZvciB0aGUgZnVuY3Rp b25zIENGSV9zZWN0aW9uIGFuZCBDRklfc2VsZWN0X3BhcnQsIHRoZSB1cGRhdGUgCnByb2NlZHVy ZSBmb3IgdGhlIGRlc2NyaXB0b3IgaXMgbm90IHVuaXF1ZWx5IGZpeGVkLCBpbmFzbXVjaCBhcwpp dCBpcyBub3QgY2xlYXIgaG93IHRoZSAvbG93ZXJfYm91bmQvIHZhbHVlcyBhcmUgc2V0LiBUaGUg Zm9sbG93aW5nCmVkaXRzIGF0dGVtcHQgdG8gcmVwYWlyIHRoaXMgYnkgc3BlY2lmeWluZyB0aGF0 IHRoZSBwcmUtZXhpc3RpbmcKbG93ZXIgYm91bmRzIGFyZSByZXRhaW5lZC4KCkVESVRTOgoKKEMu MSkgQ0ZJX3NlY3Rpb24KCltwMjcsIHBhcmEgMV06IFJlcGxhY2UgdGhlIHNlbnRlbmNlICJTdWNj ZXNzZnVsIGV4ZWN1dGlvbiAuLi4gYWRkcmVzcwovc291cmNlLy4iIGJ5CiJTdWNjZXNzZnVsIGV4 ZWN1dGlvbiBvZiBDRklfc2VjdGlvbiB1cGRhdGVzIHRoZSAvYmFzZV9hZGRyLyBtZW1iZXIgYW5k IAogdGhlIC9leHRlbnQvIGFuZCAvc20vIG1lbWJlcnMgZm9yIGVhY2ggYXJyYXkgZGltZW5zaW9u IG9mIHRoZSBDIAogZGVzY3JpcHRvciB3aXRoIHRoZSBhZGRyZXNzIC9yZXN1bHQvIHRvIGRlc2Ny aWJlIGEgc2VjdGlvbiBvZiB0aGUgCiBhcnJheSBkZXNjcmliZWQgYnkgdGhlIEMgZGVzY3JpcHRv ciB3aXRoIHRoZSBhZGRyZXNzIC9zb3VyY2UvLiIKCihDLjIpIENGSV9zZWxlY3RfcGFydAoKW3Ag MjgsIHBhcmEgNF06IFJlcGxhY2UgdGhlIHNlbnRlbmNlICJTdWNjZXNzZnVsIGV4ZWN1dGlvbiAu Li4gYWRkcmVzcwovc291cmNlLy4iIGJ5CgoiU3VjY2Vzc2Z1bCBleGVjdXRpb24gb2YgQ0ZJX3Nl bGVjdF9wYXJ0IHVwZGF0ZXMgdGhlIC9iYXNlX2FkZHIvIG1lbWJlciwKIHRoZSAvZXh0ZW50LyBh bmQgL3NtLyBtZW1iZXJzIGZvciBlYWNoIGFycmF5IGRpbWVuc2lvbiwgYW5kIHBvc3NpYmx5CiB0 aGUgL2VsZW1fbGVuLyBtZW1iZXIgb2YgdGhlIEMgZGVzY3JpcHRvciB3aXRoIHRoZSBhZGRyZXNz IC9yZXN1bHQvIAogZm9yIGFuIGFycmF5IGVhY2ggZWxlbWVudCBvZiB3aGljaCBpcyBhIHBhcnQg b2YgdGhlIGNvcnJlc3BvbmRpbmcgCiBlbGVtZW50IG9mIHRoZSBhcnJheSBkZXNjcmliZWQgYnkg dGhlIEMgZGVzY3JpcHRvciB3aXRoIHRoZSBhZGRyZXNzIAogL3NvdXJjZS8uIgoKIChUaGUgdGVy bSAiYXJyYXkgc2VjdGlvbiIgaXMgbm90IHVzZWQgYW55IG1vcmUgc2luY2UgdGhpcyBpcyBub3Qg CiAgb24tdG9waWM7IHRoaXMgdGVybSBzaG91bGQgYWxzbyBiZSByZXBsYWNlZCBhIG51bWJlciBv ZiB0aW1lcyBieSAKICAiYXJyYXkiIGluIHRoZSBEZXNjcmlwdGlvbiBhbmQgRm9ybWFsIFBhcmFt ZXRlcnMgc3Vic2VjdGlvbnMgCiAgb2YgVFMvOC4zLjUuOCkuCgoKKEQpIEFsbG93IHNjYWxhcnMg dG8gYmUgYXJndW1lbnQgYXNzb2NpYXRlZCB3aXRoIGFzc3VtZWQtc2l6ZSBUWVBFKCopIAp+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4KCkVESVRTOiAKCkluIHNlY3Rpb24gNi4zLCBhZnRlciBwYXJhIDEsIGluc2VydCBu ZXcgcGFyYSAyCiJBbiBhc3N1bWVkLXR5cGUgYXNzdW1lZC1zaXplIHJhbmsgMSBkdW1teSBhcmd1 bWVudCBtYXkgY29ycmVzcG9uZCB0byAKIGEgc2NhbGFyIGFjdHVhbCBhcmd1bWVudC4KCk5PVEUg Ni4xKwogU3VjaCBhIHNjYWxhciBhY3R1YWwgYXJndW1lbnQgaXMgY29uc2lkZXJlZCB0byBiZSBl cXVpdmFsZW50IHRvIGEgCiByYW5rIDEgYXJyYXkgb2Ygc2l6ZSBvbmUuIgoKVGhlIGVkaXRzIHRv IHRoZSBzdGFuZGFyZCBhbHNvIGluY2x1ZGUgYSBjb3JyZWN0aW9uIG9mIHBhcmEgMTMgb2YgCjEy LjUuMi40IHRoYXQgcHJlc2VudGx5IHByb2hpYml0cyBhc3NvY2lhdGluZyBhc3N1bWVkLXJhbmsg ZW50aXRpZXMKd2l0aCBzY2FsYXIgYWN0dWFsIGFyZ3VtZW50cy4KClJlcGxhY2UgdGhlIGZpcnN0 IHR3byBzZW50ZW5jZXMgb2YgMTIuNS4yLjQgcGFyYSAxMyBieQoKIklmIHRoZSBhY3R1YWwgYXJn dW1lbnQgaXMgYSBjb2luZGV4ZWQgc2NhbGFyLCB0aGUgY29ycmVzcG9uZGluZyBkdW1teSAKIGFy Z3VtZW50IHNoYWxsIGJlIHNjYWxhciB+W29yIGFuIGFzc3VtZWQtc2l6ZSByYW5rIDEgYXJyYXkg b2YgYXNzdW1lZCAKIHR5cGVdLiBJZiB0aGUgYWN0dWFsIGFyZ3VtZW50IGlzIGEgbm9uY29pbmRl eGVkIHNjYWxhciwgdGhlIAogY29ycmVzcG9uZGluZyBkdW1teSBhcmd1bWVudCBzaGFsbCBiZSBz Y2FsYXIgdW5sZXNzCiB+WyogdGhlIGR1bW15IGFyZ3VtZW50IGlzIGRlY2xhcmVkIHdpdGggYXNz dW1lZCByYW5rICg1LjMuOC43KSwgb3IKICAgKiB0aGUgZHVtbXkgYXJndW1lbnQgaXMgYW4gYXNz dW1lZC1zaXplIHJhbmsgMSBhcnJheSBvZiBhc3N1bWVkIHR5cGUsCiAgICAgb3IKICAgKl0gdGhl IGFjdHVhbCBhcmd1bWVudCBpcyBkZWZhdWx0IGNoYXJhY3Rlciwgb2YgdHlwZSBjaGFyYWN0ZXIg d2l0aCAKICAgICB0aGUgQyBjaGFyYWN0ZXIga2luZCAoMTUuMi4yKSwgb3IgaXMgYW4gZWxlbWVu dCBvciBzdWJzdHJpbmcgb2YgYW4KICAgICBlbGVtZW50IG9mIGFuIGFycmF5IHRoYXQgaXMgbm90 IGFuIGFzc3VtZWQtc2hhcGUsIHBvaW50ZXIsIG9yIAogICAgIHBvbHltb3JwaGljIGFycmF5LgoK IH5bTk9URSAxMi4yMisKICAgQSBzY2FsYXIgYWN0dWFsIGFyZ3VtZW50IGFzc29jaWF0ZWQgd2l0 aCBhbiBhc3N1bWVkLXNpemUgYXNzdW1lZC10eXBlCiAgIGFycmF5IGR1bW15IGFyZ3VtZW50IGlz IGNvbnNpZGVyZWQgdG8gYmUgZXF1aXZhbGVudCB0byBhIHJhbmsgMSBhcnJheSAKICAgb2Ygc2l6 ZSBvbmUuXSIKCn5bLi4uXSBhZ2FpbiBpbmRpY2F0ZXMgdGhlIGFkZGl0aW9ucyB0byB0aGUgZXhp c3RpbmcgdGV4dC4KCgo= --_002_166ED263DF83324D9A3BA67FB6772B2B59FA3D05BADWLRZSWMBX11a_--