From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from eggs.gnu.org (eggs.gnu.org [IPv6:2001:470:142:3::10]) by sourceware.org (Postfix) with ESMTPS id 391E63858426 for ; Thu, 28 Dec 2023 07:10:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 391E63858426 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 391E63858426 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2001:470:142:3::10 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703747447; cv=none; b=DcNi3Datw6tnqOhZkX6fjC6752HjeOvDxgk/Yug1L2qXhjMv9fjSBnrgBGLUZb0VqQMKIVCnVFYBMizKSV6Dkj431S95hp4pbWZQ3cDy7S9LTGSD0vK73Z1/nL61/MScpe4UmKazklqsaj5Exy8bmUoU4ob6tRzLSW/hYtQfIO4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703747447; c=relaxed/simple; bh=uC8g4SNVOt+69ViLD9eta9thds6rri1PEgsyK2gvPlo=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=uBhzkCEAE4qrxFmdTXgERHXpNBtItvHgas9WTAE/4uOOdc2nZ2ooKNOjfu5J1CyCFD7j75JFEOBYg5u0NxGpNK9he9Bun5UqyNKy7oTwtn/fA3tgXHn3VBDlzbXE8v2sGPZcGezduTZ1OVZppTboLMzgVidk2+6oEhIvaXE89zA= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from mail-lj1-x230.google.com ([2a00:1450:4864:20::230]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rIkXS-0001xC-QF for gcc-patches@gnu.org; Thu, 28 Dec 2023 02:10:44 -0500 Received: by mail-lj1-x230.google.com with SMTP id 38308e7fff4ca-2ccae380df2so40176621fa.1 for ; Wed, 27 Dec 2023 23:10:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1703747440; x=1704352240; darn=gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=lAPe8USnEUdNwxtf7qlQYa13EYjnK4jVK3oQh7gHABk=; b=epwi2IFpcOr+1wqOHYmgo2Z9qcRMQ8SELwuwAj2YuRXM1bFSsKHS73ZbFAZnuzhhvI LsZ0M3rQOhvTGFOAtlajEOXoiL6P0HrYVSmK8x1fv0Mhhjx5HRhJucF2delXIrJlEdZI 1b4Y1avGqRm7EzsABP7lQIJmkl0V2zhds8gQFAMOyHREnji7NZ8KxMjaP+9WL2epEzZa bRAIpP8duZ6N7IClT0mzdbT9XXSG3U5JnPANoRpHIurFSmK4ugIvRDhy066L16OdQBsM 7Sl3n4D9wf0wgci2NBt6iAPSDb248GP4SpqDLrq0qJgFk5SMGxzkN8gevIL/B/whz9UB MrzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703747440; x=1704352240; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=lAPe8USnEUdNwxtf7qlQYa13EYjnK4jVK3oQh7gHABk=; b=TWKRItgEG9Xjs24cBxQxPxsbEDojhGXt3U4slErUMJITmGiO6n/ib1ARkW+ldG0t0x D/mnBDPrkHWuTFeyO+UdLqYfA2CAqW30ZJ5VWPJkck5AK06MhwXF/xrba1hJHioq7AUn d1g8T8RkSX0VXWifjWaC3OyB1BoGnm3lFBc/DvL01B3luwsu1dRT3/BK7RYDOz1KVTj5 kZaa9HpdGuEBFvKZYybftxe+aOwx5jgT1H/BpBz4g5t2pgcRzwPWNO1UMSZqeCbU/aU9 E8uO6nVQ6AkI2u8Vu+zJxGTOOCz93R/dCVo3ZzToN6KTIBDCUs4aKCIGKOX1ZeR7UFFy tJNg== X-Gm-Message-State: AOJu0YxJdh/WIoO5CDYUzcNnCm+FFpoMZjzfsf9yeCbFcloz0T8K8wNn vNS6YLXpJdTkRiTqxe6BhGKnjRp22L1HFzFhun0SpA++UA8= X-Google-Smtp-Source: AGHT+IGRMWgd25sScsl2eTG2uJpWmhLgv+gfzwqdQZliQJWIh/ZYmrs5zYvGqNTBLecosAz4iwS3ebrYuh/7wDm1ZS8= X-Received: by 2002:a2e:87c6:0:b0:2cb:4e98:2641 with SMTP id v6-20020a2e87c6000000b002cb4e982641mr3717401ljj.74.1703747440106; Wed, 27 Dec 2023 23:10:40 -0800 (PST) MIME-Version: 1.0 References: <295e0172-68b9-4b05-bded-95c418b690fa@gmx.de> In-Reply-To: <295e0172-68b9-4b05-bded-95c418b690fa@gmx.de> From: Rimvydas Jasinskas Date: Thu, 28 Dec 2023 09:09:54 +0200 Message-ID: Subject: Re: Fortran: Use non conflicting file extensions for intermediates [PR81615] To: Harald Anlauf Cc: Rimvydas Jasinskas via Fortran , gcc-patches@gnu.org Content-Type: multipart/mixed; boundary="000000000000f47dc1060d8c9c7a" Received-SPF: pass client-ip=2a00:1450:4864:20::230; envelope-from=rimvydasjas@gmail.com; helo=mail-lj1-x230.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9,DKIM_SIGNED=0.1,DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1,DKIM_VALID_EF=-0.1,FREEMAIL_FROM=0.001,RCVD_IN_DNSWL_NONE=-0.0001,SPF_HELO_NONE=0.001,SPF_PASS=-0.001,T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Status: No, score=-8.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,KAM_SHORT,SPF_HELO_PASS,SPF_SOFTFAIL,TXREP,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --000000000000f47dc1060d8c9c7a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Dec 27, 2023 at 10:34=E2=80=AFPM Harald Anlauf wrot= e: > The patch is almost fine, except for a strange wording here: > > +@smallexample > +gfortran -save-temps -c foo.F90 > +@end smallexample > + > +preprocesses to in @file{foo.fii}, compiles to an intermediate > +@file{foo.s}, and then assembles to the (implied) output file > +@file{foo.o}, whereas: > > I understand the formulation is copied from gcc/doc/invoke.texi, > where it does not fully make sense to me either. > > How about: > > "preprocesses input file @file{foo.F90} to @file{foo.fii}, ..." > > Furthermore, > > +@smallexample > +gfortran -save-temps -S foo.F > +@end smallexample > + > +saves the (no longer) temporary preprocessed file in @file{foo.fi}, and > +then compiles to the (implied) output file @file{foo.s}. > > Even if this is copied from the gcc texinfo file, how about: > > "saves the preprocessor output in @file{foo.fi}, ..." > > which I find easier to read. > > Can you also add a reference to the PR number in the commit message? I agree, wording sounds a lot better, included in v2 together with PR numbe= r. > > Is there a specific reason thy -fc-prototypes (Interoperability > > Options section) is excluded from manpage? > > Can you be more specific? I get here (since gcc-9): > > % man /opt/gcc/14/share/man/man1/gfortran.1 |grep -A 1 "Interoperability > Options" > Interoperability Options > -fc-prototypes -fc-prototypes-external > > although no detailed explanation (-> gfortran.info). The https://gcc.gnu.org/onlinedocs/gfortran/Invoking-GNU-Fortran.html does contain a working link to https://gcc.gnu.org/onlinedocs/gfortran/Interoperability-Options.html However the manpage has Interoperability section explicitly disabled with "@c man end" ... "@c man begin ENVIRONMENT". After digging into git log it seems that Interoperability section was unintentionally added after this comment mark in https://gcc.gnu.org/git/?p=3Dgcc.git;a=3Dcommitdiff;h=3De655a6cc43 Best regards, Rimvydas --000000000000f47dc1060d8c9c7a Content-Type: text/x-patch; charset="US-ASCII"; name="0002-Fortran-Add-Developer-Options-mini-section-to-docume.patch" Content-Disposition: attachment; filename="0002-Fortran-Add-Developer-Options-mini-section-to-docume.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lqov420h0 RnJvbSBmODY2M2EwMjJhOGI5YzRmMWM0YTc2ZDhlNDgyM2UyNGY2OTE2MjNjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSaW12eWRhcyBKYXNpbnNrYXMgPHJpbXZ5ZGFzLmphc0BnbWFp bC5jb20+CkRhdGU6IFNhdCwgMjMgRGVjIDIwMjMgMTg6NTk6MDkgKzAwMDAKU3ViamVjdDogRm9y dHJhbjogQWRkIERldmVsb3BlciBPcHRpb25zIG1pbmktc2VjdGlvbiB0byBkb2N1bWVudGF0aW9u CgpTZXBhcmF0ZSBvdXQgLWZkdW1wLSogb3B0aW9ucyB0byB0aGUgbmV3IHNlY3Rpb24uICBTb3J0 IGJ5IG9wdGlvbiBuYW1lLgoKV2hpbGUgdGhlcmUsIGRvY3VtZW50IC1zYXZlLXRlbXBzIGludGVy bWVkaWF0ZXMuCgpnY2MvZm9ydHJhbi9DaGFuZ2VMb2c6CgoJUFIgZm9ydHJhbi84MTYxNQoJKiBp bnZva2UudGV4aTogQWRkIERldmVsb3BlciBPcHRpb25zIHNlY3Rpb24uICBNb3ZlICctZmR1bXAt KicKCXRvIGl0LiAgQWRkIHNtYWxsIGV4YW1wbGVzIGFib3V0IGNoYW5nZWQgJy1zYXZlLXRlbXBz JyBiZWhhdmlvci4KClNpZ25lZC1vZmYtYnk6IFJpbXZ5ZGFzIEphc2luc2thcyA8cmltdnlkYXMu amFzQGdtYWlsLmNvbT4KLS0tCiBnY2MvZm9ydHJhbi9pbnZva2UudGV4aSB8IDExNyArKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNzcgaW5z ZXJ0aW9ucygrKSwgNDAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vaW52 b2tlLnRleGkgYi9nY2MvZm9ydHJhbi9pbnZva2UudGV4aQppbmRleCBjN2ZkMDE5YTdjNS4uNWQ1 MjZlMjNlNWMgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFuL2ludm9rZS50ZXhpCisrKyBiL2djYy9m b3J0cmFuL2ludm9rZS50ZXhpCkBAIC05NCwxMiArOTQsMTMgQEAgb25lIGlzIG5vdCB0aGUgZGVm YXVsdC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsZWQuCiAqIFByZXByb2Nl c3NpbmcgT3B0aW9uczo6ICBFbmFibGUgYW5kIGN1c3RvbWl6ZSBwcmVwcm9jZXNzaW5nLgogKiBF cnJvciBhbmQgV2FybmluZyBPcHRpb25zOjogICAgIEhvdyBwaWNreSBzaG91bGQgdGhlIGNvbXBp bGVyIGJlPwotKiBEZWJ1Z2dpbmcgT3B0aW9uczo6ICAgU3ltYm9sIHRhYmxlcywgbWVhc3VyZW1l bnRzLCBhbmQgZGVidWdnaW5nIGR1bXBzLgorKiBEZWJ1Z2dpbmcgT3B0aW9uczo6ICAgU3ltYm9s IHRhYmxlcywgbWVhc3VyZW1lbnRzLgogKiBEaXJlY3RvcnkgT3B0aW9uczo6ICAgV2hlcmUgdG8g ZmluZCBtb2R1bGUgZmlsZXMKICogTGluayBPcHRpb25zIDo6ICAgICAgIEluZmx1ZW5jaW5nIHRo ZSBsaW5raW5nIHN0ZXAKICogUnVudGltZSBPcHRpb25zOjogICAgIEluZmx1ZW5jaW5nIHJ1bnRp bWUgYmVoYXZpb3IKICogQ29kZSBHZW4gT3B0aW9uczo6ICAgIFNwZWNpZnlpbmcgY29udmVudGlv bnMgZm9yIGZ1bmN0aW9uIGNhbGxzLCBkYXRhIGxheW91dAogICAgICAgICAgICAgICAgICAgICAg ICAgYW5kIHJlZ2lzdGVyIHVzYWdlLgorKiBEZXZlbG9wZXIgT3B0aW9uczo6ICAgUHJpbnRpbmcg R05VIEZvcnRyYW4gc3BlY2lmaWMgaW5mbywgZGVidWdnaW5nIGR1bXBzLgogKiBJbnRlcm9wZXJh YmlsaXR5IE9wdGlvbnM6OiAgT3B0aW9ucyBmb3IgaW50ZXJvcGVyYWJpbGl0eSB3aXRoIG90aGVy CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZXMuCiAqIEVudmlyb25tZW50 IFZhcmlhYmxlczo6IEVudmlyb25tZW50IHZhcmlhYmxlcyB0aGF0IGFmZmVjdCBAY29tbWFuZHtn Zm9ydHJhbn0uCkBAIC0xNTksOSArMTYwLDggQEAgYW5kIHdhcm5pbmdzfS4KIH0KIAogQGl0ZW0g RGVidWdnaW5nIE9wdGlvbnMKLUB4cmVme0RlYnVnZ2luZyBPcHRpb25zLCxPcHRpb25zIGZvciBk ZWJ1Z2dpbmcgeW91ciBwcm9ncmFtIG9yIEdOVSBGb3J0cmFufS4KLUBnY2NvcHRsaXN0ey1mYmFj a3RyYWNlIC1mZHVtcC1mb3J0cmFuLW9wdGltaXplZCAtZmR1bXAtZm9ydHJhbi1vcmlnaW5hbAot LWZkZWJ1Zy1hdXgtdmFycyAtZmR1bXAtZm9ydHJhbi1nbG9iYWwgLWZkdW1wLXBhcnNlLXRyZWUg LWZmcGUtdHJhcD1AdmFye2xpc3R9CitAeHJlZntEZWJ1Z2dpbmcgT3B0aW9ucywsT3B0aW9ucyBm b3IgZGVidWdnaW5nIHlvdXIgcHJvZ3JhbX0uCitAZ2Njb3B0bGlzdHstZmJhY2t0cmFjZSAtZmRl YnVnLWF1eC12YXJzIC1mZnBlLXRyYXA9QHZhcntsaXN0fQogLWZmcGUtc3VtbWFyeT1AdmFye2xp c3R9CiB9CiAKQEAgLTIwMSw2ICsyMDEsMTIgQEAgYW5kIHdhcm5pbmdzfS4KIC1mcGFjay1kZXJp dmVkIC1mcmVhbGxvYy1saHMgLWZyZWN1cnNpdmUgLWZyZXBhY2stYXJyYXlzCiAtZnNob3J0LWVu dW1zIC1mc3RhY2stYXJyYXlzCiB9CisKK0BpdGVtIERldmVsb3BlciBPcHRpb25zCitAeHJlZntE ZXZlbG9wZXIgT3B0aW9ucywsR05VIEZvcnRyYW4gRGV2ZWxvcGVyIE9wdGlvbnN9LgorQGdjY29w dGxpc3R7LWZkdW1wLWZvcnRyYW4tZ2xvYmFsIC1mZHVtcC1mb3J0cmFuLW9wdGltaXplZAorLWZk dW1wLWZvcnRyYW4tb3JpZ2luYWwgLWZkdW1wLXBhcnNlLXRyZWUgLXNhdmUtdGVtcHMKK30KIEBl bmQgdGFibGUKIAogQG5vZGUgRm9ydHJhbiBEaWFsZWN0IE9wdGlvbnMKQEAgLTEyODAsNDAgKzEy ODYsMTQgQEAgYW5kIG90aGVyIEdOVSBjb21waWxlcnMuCiBTb21lIG9mIHRoZXNlIGhhdmUgbm8g ZWZmZWN0IHdoZW4gY29tcGlsaW5nIHByb2dyYW1zIHdyaXR0ZW4gaW4gRm9ydHJhbi4KIAogQG5v ZGUgRGVidWdnaW5nIE9wdGlvbnMKLUBzZWN0aW9uIE9wdGlvbnMgZm9yIGRlYnVnZ2luZyB5b3Vy IHByb2dyYW0gb3IgR05VIEZvcnRyYW4KK0BzZWN0aW9uIE9wdGlvbnMgZm9yIGRlYnVnZ2luZyB5 b3VyIHByb2dyYW0KIEBjaW5kZXggb3B0aW9ucywgZGVidWdnaW5nCiBAY2luZGV4IGRlYnVnZ2lu ZyBpbmZvcm1hdGlvbiBvcHRpb25zCiAKIEdOVSBGb3J0cmFuIGhhcyB2YXJpb3VzIHNwZWNpYWwg b3B0aW9ucyB0aGF0IGFyZSB1c2VkIGZvciBkZWJ1Z2dpbmcKLWVpdGhlciB5b3VyIHByb2dyYW0g b3IgdGhlIEdOVSBGb3J0cmFuIGNvbXBpbGVyLgoreW91ciBwcm9ncmFtLgogCiBAdGFibGUgQGdj Y3RhYm9wdAotQG9waW5kZXggQGNvZGV7ZmR1bXAtZm9ydHJhbi1vcmlnaW5hbH0KLUBpdGVtIC1m ZHVtcC1mb3J0cmFuLW9yaWdpbmFsCi1PdXRwdXQgdGhlIGludGVybmFsIHBhcnNlIHRyZWUgYWZ0 ZXIgdHJhbnNsYXRpbmcgdGhlIHNvdXJjZSBwcm9ncmFtCi1pbnRvIGludGVybmFsIHJlcHJlc2Vu dGF0aW9uLiAgVGhpcyBvcHRpb24gaXMgbW9zdGx5IHVzZWZ1bCBmb3IKLWRlYnVnZ2luZyB0aGUg R05VIEZvcnRyYW4gY29tcGlsZXIgaXRzZWxmLiBUaGUgb3V0cHV0IGdlbmVyYXRlZCBieQotdGhp cyBvcHRpb24gbWlnaHQgY2hhbmdlIGJldHdlZW4gcmVsZWFzZXMuIFRoaXMgb3B0aW9uIG1heSBh bHNvCi1nZW5lcmF0ZSBpbnRlcm5hbCBjb21waWxlciBlcnJvcnMgZm9yIGZlYXR1cmVzIHdoaWNo IGhhdmUgb25seQotcmVjZW50bHkgYmVlbiBhZGRlZC4KLQotQG9waW5kZXggQGNvZGV7ZmR1bXAt Zm9ydHJhbi1vcHRpbWl6ZWR9Ci1AaXRlbSAtZmR1bXAtZm9ydHJhbi1vcHRpbWl6ZWQKLU91dHB1 dCB0aGUgcGFyc2UgdHJlZSBhZnRlciBmcm9udC1lbmQgb3B0aW1pemF0aW9uLiAgTW9zdGx5IHVz ZWZ1bCBmb3IKLWRlYnVnZ2luZyB0aGUgR05VIEZvcnRyYW4gY29tcGlsZXIgaXRzZWxmLiBUaGUg b3V0cHV0IGdlbmVyYXRlZCBieQotdGhpcyBvcHRpb24gbWlnaHQgY2hhbmdlIGJldHdlZW4gcmVs ZWFzZXMuICBUaGlzIG9wdGlvbiBtYXkgYWxzbwotZ2VuZXJhdGUgaW50ZXJuYWwgY29tcGlsZXIg ZXJyb3JzIGZvciBmZWF0dXJlcyB3aGljaCBoYXZlIG9ubHkKLXJlY2VudGx5IGJlZW4gYWRkZWQu Ci0KLUBvcGluZGV4IEBjb2Rle2ZkdW1wLXBhcnNlLXRyZWV9Ci1AaXRlbSAtZmR1bXAtcGFyc2Ut dHJlZQotT3V0cHV0IHRoZSBpbnRlcm5hbCBwYXJzZSB0cmVlIGFmdGVyIHRyYW5zbGF0aW5nIHRo ZSBzb3VyY2UgcHJvZ3JhbQotaW50byBpbnRlcm5hbCByZXByZXNlbnRhdGlvbi4gIE1vc3RseSB1 c2VmdWwgZm9yIGRlYnVnZ2luZyB0aGUgR05VCi1Gb3J0cmFuIGNvbXBpbGVyIGl0c2VsZi4gVGhl IG91dHB1dCBnZW5lcmF0ZWQgYnkgdGhpcyBvcHRpb24gbWlnaHQKLWNoYW5nZSBiZXR3ZWVuIHJl bGVhc2VzLiBUaGlzIG9wdGlvbiBtYXkgYWxzbyBnZW5lcmF0ZSBpbnRlcm5hbAotY29tcGlsZXIg ZXJyb3JzIGZvciBmZWF0dXJlcyB3aGljaCBoYXZlIG9ubHkgcmVjZW50bHkgYmVlbiBhZGRlZC4g VGhpcwotb3B0aW9uIGlzIGRlcHJlY2F0ZWQ7IHVzZSBAY29kZXstZmR1bXAtZm9ydHJhbi1vcmln aW5hbH0gaW5zdGVhZC4KLQogQG9waW5kZXggQGNvZGV7ZmRlYnVnLWF1eC12YXJzfQogQGl0ZW0g LWZkZWJ1Zy1hdXgtdmFycwogUmVuYW1lcyBpbnRlcm5hbCB2YXJpYWJsZXMgY3JlYXRlZCBieSB0 aGUgZ2ZvcnRyYW4gZnJvbnQgZW5kIGFuZCBtYWtlcwpAQCAtMTMyMywxNCArMTMwMyw2IEBAIHVz ZWZ1bCBmb3IgZGVidWdnaW5nIHRoZSBjb21waWxlcidzIGNvZGUgZ2VuZXJhdGlvbiB0b2dldGhl ciB3aXRoCiBAY29kZXstZmR1bXAtdHJlZS1vcmlnaW5hbH0gYW5kIGVuYWJsaW5nIGRlYnVnZ2lu ZyBvZiB0aGUgZXhlY3V0YWJsZQogcHJvZ3JhbSBieSB1c2luZyBAY29kZXstZ30gb3IgQGNvZGV7 LWdnZGIzfS4KIAotQG9waW5kZXggQGNvZGV7ZmR1bXAtZm9ydHJhbi1nbG9iYWx9Ci1AaXRlbSAt ZmR1bXAtZm9ydHJhbi1nbG9iYWwKLU91dHB1dCBhIGxpc3Qgb2YgdGhlIGdsb2JhbCBpZGVudGlm aWVycyBhZnRlciB0cmFuc2xhdGluZyBpbnRvCi1taWRkbGUtZW5kIHJlcHJlc2VudGF0aW9uLiBN b3N0bHkgdXNlZnVsIGZvciBkZWJ1Z2dpbmcgdGhlIEdOVSBGb3J0cmFuCi1jb21waWxlciBpdHNl bGYuIFRoZSBvdXRwdXQgZ2VuZXJhdGVkIGJ5IHRoaXMgb3B0aW9uIG1pZ2h0IGNoYW5nZQotYmV0 d2VlbiByZWxlYXNlcy4gIFRoaXMgb3B0aW9uIG1heSBhbHNvIGdlbmVyYXRlIGludGVybmFsIGNv bXBpbGVyCi1lcnJvcnMgZm9yIGZlYXR1cmVzIHdoaWNoIGhhdmUgb25seSByZWNlbnRseSBiZWVu IGFkZGVkLgotCiBAb3BpbmRleCBAY29kZXtmZnBlLXRyYXA9fUB2YXJ7bGlzdH0KIEBpdGVtIC1m ZnBlLXRyYXA9QHZhcntsaXN0fQogU3BlY2lmeSBhIGxpc3Qgb2YgZmxvYXRpbmcgcG9pbnQgZXhj ZXB0aW9uIHRyYXBzIHRvIGVuYWJsZS4gIE9uIG1vc3QKQEAgLTE1NDMsNiArMTUxNSw3MSBAQCBh bmQgcmVnYXJkcyB6ZXJvIGFzIHBvc2l0aXZlIG51bWJlciBpbiB0aGUgQGNvZGV7U0lHTn0gaW50 cmluc2ljIGZvcgogY29tcGF0aWJpbGl0eSB3aXRoIEZvcnRyYW4gNzcuIFRoZSBkZWZhdWx0IGlz IEBvcHRpb257LWZzaWduLXplcm99LgogQGVuZCB0YWJsZQogCitAbm9kZSBEZXZlbG9wZXIgT3B0 aW9ucworQHNlY3Rpb24gR05VIEZvcnRyYW4gRGV2ZWxvcGVyIE9wdGlvbnMKK0BjaW5kZXggb3B0 aW9ucywgZGVidWdnaW5nCitAY2luZGV4IGRldmVsb3BlciBvcHRpb25zCisKK0dOVSBGb3J0cmFu IGhhcyB2YXJpb3VzIHNwZWNpYWwgb3B0aW9ucyB0aGF0IGFyZSB1c2VkIGZvciBkZWJ1Z2dpbmcK K3RoZSBHTlUgRm9ydHJhbiBjb21waWxlci4KKworQHRhYmxlIEBnY2N0YWJvcHQKK0BvcGluZGV4 IEBjb2Rle2ZkdW1wLWZvcnRyYW4tZ2xvYmFsfQorQGl0ZW0gLWZkdW1wLWZvcnRyYW4tZ2xvYmFs CitPdXRwdXQgYSBsaXN0IG9mIHRoZSBnbG9iYWwgaWRlbnRpZmllcnMgYWZ0ZXIgdHJhbnNsYXRp bmcgaW50bworbWlkZGxlLWVuZCByZXByZXNlbnRhdGlvbi4gTW9zdGx5IHVzZWZ1bCBmb3IgZGVi dWdnaW5nIHRoZSBHTlUgRm9ydHJhbgorY29tcGlsZXIgaXRzZWxmLiBUaGUgb3V0cHV0IGdlbmVy YXRlZCBieSB0aGlzIG9wdGlvbiBtaWdodCBjaGFuZ2UKK2JldHdlZW4gcmVsZWFzZXMuICBUaGlz IG9wdGlvbiBtYXkgYWxzbyBnZW5lcmF0ZSBpbnRlcm5hbCBjb21waWxlcgorZXJyb3JzIGZvciBm ZWF0dXJlcyB3aGljaCBoYXZlIG9ubHkgcmVjZW50bHkgYmVlbiBhZGRlZC4KKworQG9waW5kZXgg QGNvZGV7ZmR1bXAtZm9ydHJhbi1vcHRpbWl6ZWR9CitAaXRlbSAtZmR1bXAtZm9ydHJhbi1vcHRp bWl6ZWQKK091dHB1dCB0aGUgcGFyc2UgdHJlZSBhZnRlciBmcm9udC1lbmQgb3B0aW1pemF0aW9u LiAgTW9zdGx5IHVzZWZ1bCBmb3IKK2RlYnVnZ2luZyB0aGUgR05VIEZvcnRyYW4gY29tcGlsZXIg aXRzZWxmLiBUaGUgb3V0cHV0IGdlbmVyYXRlZCBieQordGhpcyBvcHRpb24gbWlnaHQgY2hhbmdl IGJldHdlZW4gcmVsZWFzZXMuICBUaGlzIG9wdGlvbiBtYXkgYWxzbworZ2VuZXJhdGUgaW50ZXJu YWwgY29tcGlsZXIgZXJyb3JzIGZvciBmZWF0dXJlcyB3aGljaCBoYXZlIG9ubHkKK3JlY2VudGx5 IGJlZW4gYWRkZWQuCisKK0BvcGluZGV4IEBjb2Rle2ZkdW1wLWZvcnRyYW4tb3JpZ2luYWx9CitA aXRlbSAtZmR1bXAtZm9ydHJhbi1vcmlnaW5hbAorT3V0cHV0IHRoZSBpbnRlcm5hbCBwYXJzZSB0 cmVlIGFmdGVyIHRyYW5zbGF0aW5nIHRoZSBzb3VyY2UgcHJvZ3JhbQoraW50byBpbnRlcm5hbCBy ZXByZXNlbnRhdGlvbi4gIFRoaXMgb3B0aW9uIGlzIG1vc3RseSB1c2VmdWwgZm9yCitkZWJ1Z2dp bmcgdGhlIEdOVSBGb3J0cmFuIGNvbXBpbGVyIGl0c2VsZi4gVGhlIG91dHB1dCBnZW5lcmF0ZWQg YnkKK3RoaXMgb3B0aW9uIG1pZ2h0IGNoYW5nZSBiZXR3ZWVuIHJlbGVhc2VzLiBUaGlzIG9wdGlv biBtYXkgYWxzbworZ2VuZXJhdGUgaW50ZXJuYWwgY29tcGlsZXIgZXJyb3JzIGZvciBmZWF0dXJl cyB3aGljaCBoYXZlIG9ubHkKK3JlY2VudGx5IGJlZW4gYWRkZWQuCisKK0BvcGluZGV4IEBjb2Rl e2ZkdW1wLXBhcnNlLXRyZWV9CitAaXRlbSAtZmR1bXAtcGFyc2UtdHJlZQorT3V0cHV0IHRoZSBp bnRlcm5hbCBwYXJzZSB0cmVlIGFmdGVyIHRyYW5zbGF0aW5nIHRoZSBzb3VyY2UgcHJvZ3JhbQor aW50byBpbnRlcm5hbCByZXByZXNlbnRhdGlvbi4gIE1vc3RseSB1c2VmdWwgZm9yIGRlYnVnZ2lu ZyB0aGUgR05VCitGb3J0cmFuIGNvbXBpbGVyIGl0c2VsZi4gVGhlIG91dHB1dCBnZW5lcmF0ZWQg YnkgdGhpcyBvcHRpb24gbWlnaHQKK2NoYW5nZSBiZXR3ZWVuIHJlbGVhc2VzLiBUaGlzIG9wdGlv biBtYXkgYWxzbyBnZW5lcmF0ZSBpbnRlcm5hbAorY29tcGlsZXIgZXJyb3JzIGZvciBmZWF0dXJl cyB3aGljaCBoYXZlIG9ubHkgcmVjZW50bHkgYmVlbiBhZGRlZC4gVGhpcworb3B0aW9uIGlzIGRl cHJlY2F0ZWQ7IHVzZSBAY29kZXstZmR1bXAtZm9ydHJhbi1vcmlnaW5hbH0gaW5zdGVhZC4KKwor QGl0ZW0gLXNhdmUtdGVtcHMKK1N0b3JlIHRoZSB1c3VhbCBgYHRlbXBvcmFyeScnIGludGVybWVk aWF0ZSBmaWxlcyBwZXJtYW5lbnRseTsgbmFtZSB0aGVtCithcyBhdXhpbGlhcnkgb3V0cHV0IGZp bGVzLCBhcyBzcGVjaWZpZWQgZGVzY3JpYmVkIHVuZGVyIEdDQworQG9wdGlvbnstZHVtcGJhc2V9 IGFuZCBAb3B0aW9uey1kdW1wZGlyfS4KKworQHNtYWxsZXhhbXBsZQorZ2ZvcnRyYW4gLXNhdmUt dGVtcHMgLWMgZm9vLkY5MAorQGVuZCBzbWFsbGV4YW1wbGUKKworcHJlcHJvY2Vzc2VzIGlucHV0 IGZpbGUgQGZpbGV7Zm9vLkY5MH0gdG8gQGZpbGV7Zm9vLmZpaX0sIGNvbXBpbGVzIHRvIGFuCitp bnRlcm1lZGlhdGUgQGZpbGV7Zm9vLnN9LCBhbmQgdGhlbiBhc3NlbWJsZXMgdG8gdGhlIChpbXBs aWVkKSBvdXRwdXQKK2ZpbGUgQGZpbGV7Zm9vLm99LCB3aGVyZWFzOgorCitAc21hbGxleGFtcGxl CitnZm9ydHJhbiAtc2F2ZS10ZW1wcyAtUyBmb28uRgorQGVuZCBzbWFsbGV4YW1wbGUKKworc2F2 ZXMgdGhlIHByZXByb2Nlc3NvciBvdXRwdXQgaW4gQGZpbGV7Zm9vLmZpfSwgYW5kIHRoZW4gY29t cGlsZXMgdG8KK3RoZSAoaW1wbGllZCkgb3V0cHV0IGZpbGUgQGZpbGV7Zm9vLnN9LgorCitAZW5k IHRhYmxlCisKIEBub2RlIENvZGUgR2VuIE9wdGlvbnMKIEBzZWN0aW9uIE9wdGlvbnMgZm9yIGNv ZGUgZ2VuZXJhdGlvbiBjb252ZW50aW9ucwogQGNpbmRleCBjb2RlIGdlbmVyYXRpb24sIGNvbnZl bnRpb25zCi0tIAoyLjQzLjAKCg== --000000000000f47dc1060d8c9c7a--