From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-x22d.google.com (mail-lj1-x22d.google.com [IPv6:2a00:1450:4864:20::22d]) by sourceware.org (Postfix) with ESMTPS id 00D3C3858422 for ; Thu, 28 Dec 2023 07:10:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 00D3C3858422 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 00D3C3858422 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::22d ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703747444; cv=none; b=Wpo7o/8/a8q1k2dJRrwwxn5F51ApoSiRjYPwJFdhmD1kkW382Wt18LOp4YxwMw9zhMFV5v3+uQgjQR1ne67AmcDoo4VEdLFHMCYFWKXIOU4WjPu1qqjqQy5s8NQUdymeebZq/953qDUvcIl/fx8U9WkkoxVNx/xHmJ7HTLUnkA8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703747444; c=relaxed/simple; bh=uC8g4SNVOt+69ViLD9eta9thds6rri1PEgsyK2gvPlo=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=oXVR5XD0Ncu/ItVZ0Xh+ZwiREdeyfM8hBJW6Krvfme3hLBZvZzoK7vfbYn+aL+Q3FsW73vnzt0+xoUUch4xu5vyRXktQwKt+gUk9hFi7O/Prk7g1oFPFafT3B7CH5qSXdqIJfDS251tfqdk/oc3qi33ivZxQyHQzLqR62t+Jm+Y= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-lj1-x22d.google.com with SMTP id 38308e7fff4ca-2cca8eb0509so43844081fa.3 for ; Wed, 27 Dec 2023 23:10:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1703747440; x=1704352240; darn=gcc.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=cVpaaLvv1Bl8cTPd2eMnMngRNR3aFOnWWJbEV+Jygla6X2QlAyg60Y9NcJrDcF5x8w gpNqS9ZeMBZedXB/Uhtey9pZj0MdraSs50Wmf2je05Q4tHUiKhoTTCMTClxlvqZGWzJP S85a9prANRv2vHsYpAjmCnQIOaxqLheuAhc4Uvi59g4x5z7cU0XQ22TPdw5D6fxYhSLK 4Ab/ND9Kzxbk6FVbeJ8DcV02FYE6DEScm7ppVsX+ixJtHfmlMkAg90TVzXw27rZ/5Yxi c4Nc6yTOzy2IeSbFSJl5VI7sf8d7xnziqMsuenBQL7m8X++DruJQErgrl7ubHtO3Pl5a TrTw== 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=EeJDzkB8fQLq40YioG2vAH2DMEfo2J3vgKmdPqOyhrvR/qvO0nv3CBPQ3NlblotEPI aRIf7ECLsylLqSC8Y2JJWTNWzBRHzJ5Rx2rIZNyXUyqnCfrR3Ng016glflEzknd6keqj zsbHYFsI4JmWAQqKvAoSEU9udBWteiZtni5jEpI6HGT/aDWYTmSdAq26tN83pIR+r16c 7eAmQAITrCEeIVMtQC94PimZQa8fwFtiSoWP4lXL0Xpeg2i08Op4mAX2KlBmgVFoxVwJ f3HIk5ba9mmfCq0Csx0cWUfTXG5FgPBHA4NeNZcbkanzwJQVlGdVEDN2GMtG894EeJF+ /HYA== X-Gm-Message-State: AOJu0YwmiTYJ/howVMNJ4emf1lcvbq9Ku+ab7AvzIZL28RqTBLoxoAG5 8R9LqbVetrIaFy78T3ahG/uTEG6pLeJ+CmMV4gQ= 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" X-Spam-Status: No, score=-8.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham 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--