From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa3.mentor.iphmx.com (esa3.mentor.iphmx.com [68.232.137.180]) by sourceware.org (Postfix) with ESMTPS id C870F3858D3C; Fri, 18 Mar 2022 13:15:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C870F3858D3C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.90,192,1643702400"; d="diff'?scan'208";a="73160959" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa3.mentor.iphmx.com with ESMTP; 18 Mar 2022 05:15:19 -0800 IronPort-SDR: BHoLI+AJAlNaT8Iv351QSsPG7XUPkTj1v2rvfSrBe0Xve8H9aVJzEXDJgBWYlqS+qV3HMjoNGc y9BfZGCXv8MG2lfFJ1hjVIkx0WpJI5+leOVw5hS1M1B3h0VQU1D7AsD9de11EF7/BAApZfcECq MyG1vE1f5qdeGiwFw1hgEmwK/UJkP+Gwo0tydG5dYqi+/4hw+SCL9DJF6kO4P7i3/SEqCBFksp s+jwzJviW3ccuIBUL/lXdhlsRKKunrWh98i1Db6lucWNoVrL8xcNMTDPNTlSV+Uy6xiCeqp4lR zqE= Content-Type: multipart/mixed; boundary="------------SIgbuxdpFBXXivFUFUSYUifj" Message-ID: <51e942e2-b8f9-5f35-9a92-bc29e9d06bd5@codesourcery.com> Date: Fri, 18 Mar 2022 14:15:11 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 Content-Language: en-US To: Jakub Jelinek , gcc-patches , fortran From: Tobias Burnus Subject: [Patch] Fortran/OpenMP: Improve associate-name diagnostic [PR103039] X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) To svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: fortran@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Fortran mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Mar 2022 13:15:21 -0000 --------------SIgbuxdpFBXXivFUFUSYUifj Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable This patch addresses a side issue found when looking at PR103039. Namely instead of printing: 55 | !$omp parallel firstprivate(tt) | 1 Error: ASSOCIATE name =E2=80=98__tmp_INTEGER_4=E2=80=99 in FIRSTPRIVATE cla= use at (1) With the patch, the error is: Error: Associate name =E2=80=98tt=E2=80=99 in FIRSTPRIVATE clause at (1) That is: It prints the proper name and it uses 'associate name' matching the Fortran standard =E2=80=93 and takes into account that an associate name not only used with ASSOCIATE but also with SELECT TYPE, SELECT RANK, and (untested) CHANGE TEAMS. OK for mainline? Tobias ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstra=C3=9Fe 201= , 80634 M=C3=BCnchen; Gesellschaft mit beschr=C3=A4nkter Haftung; Gesch=C3= =A4ftsf=C3=BChrer: Thomas Heurung, Frank Th=C3=BCrauf; Sitz der Gesellschaf= t: M=C3=BCnchen; Registergericht M=C3=BCnchen, HRB 106955 --------------SIgbuxdpFBXXivFUFUSYUifj Content-Type: text/x-patch; charset="UTF-8"; name="openmp-assoc-name.diff" Content-Disposition: attachment; filename="openmp-assoc-name.diff" Content-Transfer-Encoding: base64 Rm9ydHJhbi9PcGVuTVA6IEltcHJvdmUgYXNzb2NpYXRlLW5hbWUgZGlhZ25vc3RpYyBbUFIx MDMwMzldCgpnY2MvZm9ydHJhbi9DaGFuZ2VMb2c6CgoJUFIgZm9ydHJhbi8xMDMwMzkKCSog b3Blbm1wLmNjIChyZXNvbHZlX29tcF9jbGF1c2VzKTogSW1wcm92ZSBhc3NvY2lhdGUtbmFt ZSBkaWFnbm9zdGljCglmb3Igc2VsZWN0IHR5cGUvcmFuay4KCmdjYy90ZXN0c3VpdGUvQ2hh bmdlTG9nOgoKCVBSIGZvcnRyYW4vMTAzMDM5CgkqIGdmb3J0cmFuLmRnL2dvbXAvYXNzb2Np YXRlMS5mOTA6IFVwZGF0ZSBkZy1lcnJvci4KCSogZ2ZvcnRyYW4uZGcvZ29tcC9hc3NvY2lh dGUyLmY5MDogTmV3IHRlc3QuCgogZ2NjL2ZvcnRyYW4vb3Blbm1wLmNjICAgICAgICAgICAg ICAgICAgICAgICAgIHwgMTIgKysrLS0KIGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29t cC9hc3NvY2lhdGUxLmY5MCB8IDQwICsrKysrKystLS0tLS0tCiBnY2MvdGVzdHN1aXRlL2dm b3J0cmFuLmRnL2dvbXAvYXNzb2NpYXRlMi5mOTAgfCA3NiArKysrKysrKysrKysrKysrKysr KysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTA0IGluc2VydGlvbnMoKyksIDI0IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL29wZW5tcC5jYyBiL2djYy9mb3J0 cmFuL29wZW5tcC5jYwppbmRleCAxNmNkMDNhM2Q2Ny4uNzE0MTQ4MTM4YzIgMTAwNjQ0Ci0t LSBhL2djYy9mb3J0cmFuL29wZW5tcC5jYworKysgYi9nY2MvZm9ydHJhbi9vcGVubXAuY2MK QEAgLTY3ODIsOCArNjc4MiwxMCBAQCByZXNvbHZlX29tcF9jbGF1c2VzIChnZmNfY29kZSAq Y29kZSwgZ2ZjX29tcF9jbGF1c2VzICpvbXBfY2xhdXNlcywKIAkJICBnZmNfZXJyb3IgKCJD cmF5IHBvaW50ZWUgJXFzIGluIFNIQVJFRCBjbGF1c2UgYXQgJUwiLAogCQkJICAgIG4tPnN5 bS0+bmFtZSwgJm4tPndoZXJlKTsKIAkJaWYgKG4tPnN5bS0+YXR0ci5hc3NvY2lhdGVfdmFy KQotCQkgIGdmY19lcnJvciAoIkFTU09DSUFURSBuYW1lICVxcyBpbiBTSEFSRUQgY2xhdXNl IGF0ICVMIiwKLQkJCSAgICAgbi0+c3ltLT5uYW1lLCAmbi0+d2hlcmUpOworCQkgIGdmY19l cnJvciAoIkFzc29jaWF0ZSBuYW1lICVxcyBpbiBTSEFSRUQgY2xhdXNlIGF0ICVMIiwKKwkJ CSAgICAgbi0+c3ltLT5hdHRyLnNlbGVjdF90eXBlX3RlbXBvcmFyeQorCQkJICAgICA/IG4t PnN5bS0+YXNzb2MtPnRhcmdldC0+c3ltdHJlZS0+bi5zeW0tPm5hbWUKKwkJCSAgICAgOiBu LT5zeW0tPm5hbWUsICZuLT53aGVyZSk7CiAJCWlmIChvbXBfY2xhdXNlcy0+ZGV0YWNoCiAJ CSAgICAmJiBuLT5zeW0gPT0gb21wX2NsYXVzZXMtPmRldGFjaC0+c3ltdHJlZS0+bi5zeW0p CiAJCSAgZ2ZjX2Vycm9yICgiREVUQUNIIGV2ZW50IGhhbmRsZSAlcXMgaW4gU0hBUkVEIGNs YXVzZSBhdCAlTCIsCkBAIC03MTYzLDggKzcxNjUsMTAgQEAgcmVzb2x2ZV9vbXBfY2xhdXNl cyAoZ2ZjX2NvZGUgKmNvZGUsIGdmY19vbXBfY2xhdXNlcyAqb21wX2NsYXVzZXMsCiAJCSAg Z2ZjX2Vycm9yICgiQ3JheSBwb2ludGVlICVxcyBpbiAlcyBjbGF1c2UgYXQgJUwiLAogCQkJ ICAgIG4tPnN5bS0+bmFtZSwgbmFtZSwgJm4tPndoZXJlKTsKIAkJaWYgKG4tPnN5bS0+YXR0 ci5hc3NvY2lhdGVfdmFyKQotCQkgIGdmY19lcnJvciAoIkFTU09DSUFURSBuYW1lICVxcyBp biAlcyBjbGF1c2UgYXQgJUwiLAotCQkJICAgICBuLT5zeW0tPm5hbWUsIG5hbWUsICZuLT53 aGVyZSk7CisJCSAgZ2ZjX2Vycm9yICgiQXNzb2NpYXRlIG5hbWUgJXFzIGluICVzIGNsYXVz ZSBhdCAlTCIsCisJCQkgICAgIG4tPnN5bS0+YXR0ci5zZWxlY3RfdHlwZV90ZW1wb3JhcnkK KwkJCSAgICAgPyBuLT5zeW0tPmFzc29jLT50YXJnZXQtPnN5bXRyZWUtPm4uc3ltLT5uYW1l CisJCQkgICAgIDogbi0+c3ltLT5uYW1lLCBuYW1lLCAmbi0+d2hlcmUpOwogCQlpZiAobGlz dCAhPSBPTVBfTElTVF9QUklWQVRFICYmIGlzX3JlZHVjdGlvbikKIAkJICB7CiAJCSAgICBp ZiAobi0+c3ltLT5hdHRyLnByb2NfcG9pbnRlcikKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3Vp dGUvZ2ZvcnRyYW4uZGcvZ29tcC9hc3NvY2lhdGUxLmY5MCBiL2djYy90ZXN0c3VpdGUvZ2Zv cnRyYW4uZGcvZ29tcC9hc3NvY2lhdGUxLmY5MAppbmRleCBhYmM1YWU5NWEwZC4uYTQ0MDk5 ZTAwNWYgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9hc3Nv Y2lhdGUxLmY5MAorKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvYXNzb2Np YXRlMS5mOTAKQEAgLTE2LDY1ICsxNiw2NSBAQCBwcm9ncmFtIGFzc29jaWF0ZTEKICAgaiA9 IDIKICAgYXNzb2NpYXRlKGsgPT4gdiwgbCA9PiBhKGksIGopLCBtID0+IGEoaSwgOikpCiAg IGFzc29jaWF0ZShuID0+IGIoaiklYyg6LCA6KSVpLCBvID0+IGEsIHAgPT4gYikKLSEkb21w IHBhcmFsbGVsIHNoYXJlZCAobCkJISB7IGRnLWVycm9yICJBU1NPQ0lBVEUgbmFtZSIgfQor ISRvbXAgcGFyYWxsZWwgc2hhcmVkIChsKQkhIHsgZGctZXJyb3IgIkFzc29jaWF0ZSBuYW1l IiB9CiAhJG9tcCBlbmQgcGFyYWxsZWwKLSEkb21wIHBhcmFsbGVsIGZpcnN0cHJpdmF0ZSAo bSkJISB7IGRnLWVycm9yICJBU1NPQ0lBVEUgbmFtZSIgfQorISRvbXAgcGFyYWxsZWwgZmly c3Rwcml2YXRlIChtKQkhIHsgZGctZXJyb3IgIkFzc29jaWF0ZSBuYW1lIiB9CiAhJG9tcCBl bmQgcGFyYWxsZWwKLSEkb21wIHBhcmFsbGVsIHJlZHVjdGlvbiAoKzogaykJISB7IGRnLWVy cm9yICJBU1NPQ0lBVEUgbmFtZSIgfQorISRvbXAgcGFyYWxsZWwgcmVkdWN0aW9uICgrOiBr KQkhIHsgZGctZXJyb3IgIkFzc29jaWF0ZSBuYW1lIiB9CiAhJG9tcCBlbmQgcGFyYWxsZWwK LSEkb21wIHBhcmFsbGVsIGRvIGZpcnN0cHJpdmF0ZSAoaykJISB7IGRnLWVycm9yICJBU1NP Q0lBVEUgbmFtZSIgfQorISRvbXAgcGFyYWxsZWwgZG8gZmlyc3Rwcml2YXRlIChrKQkhIHsg ZGctZXJyb3IgIkFzc29jaWF0ZSBuYW1lIiB9CiAgIGRvIGkgPSAxLCAxMAogICBlbmQgZG8K LSEkb21wIHBhcmFsbGVsIGRvIGxhc3Rwcml2YXRlIChuKQkhIHsgZGctZXJyb3IgIkFTU09D SUFURSBuYW1lIiB9CishJG9tcCBwYXJhbGxlbCBkbyBsYXN0cHJpdmF0ZSAobikJISB7IGRn LWVycm9yICJBc3NvY2lhdGUgbmFtZSIgfQogICBkbyBpID0gMSwgMTAKICAgZW5kIGRvCi0h JG9tcCBwYXJhbGxlbCBkbyBwcml2YXRlIChvKQkhIHsgZGctZXJyb3IgIkFTU09DSUFURSBu YW1lIiB9CishJG9tcCBwYXJhbGxlbCBkbyBwcml2YXRlIChvKQkhIHsgZGctZXJyb3IgIkFz c29jaWF0ZSBuYW1lIiB9CiAgIGRvIGkgPSAxLCAxMAogICBlbmQgZG8KLSEkb21wIHBhcmFs bGVsIGRvIHNoYXJlZCAocCkJISB7IGRnLWVycm9yICJBU1NPQ0lBVEUgbmFtZSIgfQorISRv bXAgcGFyYWxsZWwgZG8gc2hhcmVkIChwKQkhIHsgZGctZXJyb3IgIkFzc29jaWF0ZSBuYW1l IiB9CiAgIGRvIGkgPSAxLCAxMAogICBlbmQgZG8KLSEkb21wIHRhc2sgcHJpdmF0ZSAoaykJ CSEgeyBkZy1lcnJvciAiQVNTT0NJQVRFIG5hbWUiIH0KKyEkb21wIHRhc2sgcHJpdmF0ZSAo aykJCSEgeyBkZy1lcnJvciAiQXNzb2NpYXRlIG5hbWUiIH0KICEkb21wIGVuZCB0YXNrCi0h JG9tcCB0YXNrIHNoYXJlZCAobCkJCSEgeyBkZy1lcnJvciAiQVNTT0NJQVRFIG5hbWUiIH0K KyEkb21wIHRhc2sgc2hhcmVkIChsKQkJISB7IGRnLWVycm9yICJBc3NvY2lhdGUgbmFtZSIg fQogISRvbXAgZW5kIHRhc2sKLSEkb21wIHRhc2sgZmlyc3Rwcml2YXRlIChtKQkhIHsgZGct ZXJyb3IgIkFTU09DSUFURSBuYW1lIiB9CishJG9tcCB0YXNrIGZpcnN0cHJpdmF0ZSAobSkJ ISB7IGRnLWVycm9yICJBc3NvY2lhdGUgbmFtZSIgfQogISRvbXAgZW5kIHRhc2sKLSEkb21w IGRvIHByaXZhdGUgKGwpCQkhIHsgZGctZXJyb3IgIkFTU09DSUFURSBuYW1lIiB9CishJG9t cCBkbyBwcml2YXRlIChsKQkJISB7IGRnLWVycm9yICJBc3NvY2lhdGUgbmFtZSIgfQogICBk byBpID0gMSwgMTAKICAgZW5kIGRvCi0hJG9tcCBkbyByZWR1Y3Rpb24gKCo6IGspCSEgeyBk Zy1lcnJvciAiQVNTT0NJQVRFIG5hbWUiIH0KKyEkb21wIGRvIHJlZHVjdGlvbiAoKjogaykJ ISB7IGRnLWVycm9yICJBc3NvY2lhdGUgbmFtZSIgfQogICBkbyBpID0gMSwgMTAKICAgZW5k IGRvCi0hJG9tcCBzZWN0aW9ucyBwcml2YXRlKG8pCSEgeyBkZy1lcnJvciAiQVNTT0NJQVRF IG5hbWUiIH0KKyEkb21wIHNlY3Rpb25zIHByaXZhdGUobykJISB7IGRnLWVycm9yICJBc3Nv Y2lhdGUgbmFtZSIgfQogISRvbXAgc2VjdGlvbgogISRvbXAgc2VjdGlvbgogISRvbXAgZW5k IHNlY3Rpb25zCi0hJG9tcCBwYXJhbGxlbCBzZWN0aW9ucyBmaXJzdHByaXZhdGUocCkJISB7 IGRnLWVycm9yICJBU1NPQ0lBVEUgbmFtZSIgfQorISRvbXAgcGFyYWxsZWwgc2VjdGlvbnMg Zmlyc3Rwcml2YXRlKHApCSEgeyBkZy1lcnJvciAiQXNzb2NpYXRlIG5hbWUiIH0KICEkb21w IHNlY3Rpb24KICEkb21wIHNlY3Rpb24KICEkb21wIGVuZHBhcmFsbGVsc2VjdGlvbnMKLSEk b21wIHBhcmFsbGVsc2VjdGlvbnMgbGFzdHByaXZhdGUobSkJISB7IGRnLWVycm9yICJBU1NP Q0lBVEUgbmFtZSIgfQorISRvbXAgcGFyYWxsZWxzZWN0aW9ucyBsYXN0cHJpdmF0ZShtKQkh IHsgZGctZXJyb3IgIkFzc29jaWF0ZSBuYW1lIiB9CiAhJG9tcCBzZWN0aW9uCiAhJG9tcCBz ZWN0aW9uCiAhJG9tcCBlbmRwYXJhbGxlbHNlY3Rpb25zCi0hJG9tcCBzZWN0aW9ucyByZWR1 Y3Rpb24oKzprKQkhIHsgZGctZXJyb3IgIkFTU09DSUFURSBuYW1lIiB9CishJG9tcCBzZWN0 aW9ucyByZWR1Y3Rpb24oKzprKQkhIHsgZGctZXJyb3IgIkFzc29jaWF0ZSBuYW1lIiB9CiAh JG9tcCBzZWN0aW9uCiAhJG9tcCBzZWN0aW9uCiAhJG9tcCBlbmQgc2VjdGlvbnMKLSEkb21w IHNpbWQgcHJpdmF0ZSAobCkJCSEgeyBkZy1lcnJvciAiQVNTT0NJQVRFIG5hbWUiIH0KKyEk b21wIHNpbWQgcHJpdmF0ZSAobCkJCSEgeyBkZy1lcnJvciAiQXNzb2NpYXRlIG5hbWUiIH0K ICAgZG8gaSA9IDEsIDEwCiAgIGVuZCBkbwogICBrID0gMQotISRvbXAgc2ltZCBsYXN0cHJp dmF0ZSAobSkJISB7IGRnLWVycm9yICJBU1NPQ0lBVEUgbmFtZSIgfQorISRvbXAgc2ltZCBs YXN0cHJpdmF0ZSAobSkJISB7IGRnLWVycm9yICJBc3NvY2lhdGUgbmFtZSIgfQogICBkbyBp ID0gMSwgMTAKICAgZW5kIGRvCiAgIGsgPSAxCi0hJG9tcCBzaW1kIHJlZHVjdGlvbiAoKzog aykJISB7IGRnLWVycm9yICJBU1NPQ0lBVEUgbmFtZSIgfQorISRvbXAgc2ltZCByZWR1Y3Rp b24gKCs6IGspCSEgeyBkZy1lcnJvciAiQXNzb2NpYXRlIG5hbWUiIH0KICAgZG8gaSA9IDEs IDEwCiAgIGVuZCBkbwogICBrID0gMQotISRvbXAgc2ltZCBsaW5lYXIgKGsgOiAyKQkhIHsg ZGctZXJyb3IgIkFTU09DSUFURSBuYW1lIiB9CishJG9tcCBzaW1kIGxpbmVhciAoayA6IDIp CSEgeyBkZy1lcnJvciAiQXNzb2NpYXRlIG5hbWUiIH0KICAgZG8gaSA9IDEsIDEwCiAgICAg ayA9IGsgKyAyCiAgIGVuZCBkbwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJh bi5kZy9nb21wL2Fzc29jaWF0ZTIuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9n b21wL2Fzc29jaWF0ZTIuZjkwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwLi5kNGU5N2NiMGVkMgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2Zv cnRyYW4uZGcvZ29tcC9hc3NvY2lhdGUyLmY5MApAQCAtMCwwICsxLDc2IEBACishIHsgZGct ZG8gY29tcGlsZSB9CishCishIFBSIGZvcnRyYW4vMTAzMDM5CishCisKK3N1YnJvdXRpbmUg c2hhcmVkX3Rlc3QoY2MsIGFyKQoraW1wbGljaXQgbm9uZQorY2xhc3MoKikgOjogY2MKK2lu dGVnZXIgOjogYXIoLi4pCisKK2Fzc29jaWF0ZShhYSA9PiBjYykKKyAgISRvbXAgcGFyYWxs ZWwgc2hhcmVkKGFhKSAgISB7IGRnLWVycm9yICJBc3NvY2lhdGUgbmFtZSAnYWEnIGluIFNI QVJFRCBjbGF1c2UiIH0KKyAgISRvbXAgZW5kIHBhcmFsbGVsCitlbmQgYXNzb2NpYXRlCisK K3NlbGVjdCB0eXBlKHR0ID0+IGNjKQorICB0eXBlIGlzIChpbnRlZ2VyKQorICAhJG9tcCBw YXJhbGxlbCBzaGFyZWQodHQpICEgeyBkZy1lcnJvciAiQXNzb2NpYXRlIG5hbWUgJ3R0JyBp biBTSEFSRUQgY2xhdXNlIiB9CisgICEkb21wIGVuZCBwYXJhbGxlbAorZW5kIHNlbGVjdAor CitzZWxlY3QgdHlwZShjYykKKyAgdHlwZSBpcyAoaW50ZWdlcikKKyAgISRvbXAgcGFyYWxs ZWwgc2hhcmVkKGNjKSAhIHsgZGctZXJyb3IgIkFzc29jaWF0ZSBuYW1lICdjYycgaW4gU0hB UkVEIGNsYXVzZSIgfQorICAhJG9tcCBlbmQgcGFyYWxsZWwKK2VuZCBzZWxlY3QKKworc2Vs ZWN0IHJhbmsocnIgPT4gYXIpCisgIHJhbmsoMSkKKyAgISRvbXAgcGFyYWxsZWwgc2hhcmVk KHJyKSAhIHsgZGctZXJyb3IgIkFzc29jaWF0ZSBuYW1lICdycicgaW4gU0hBUkVEIGNsYXVz ZSIgfQorICAhJG9tcCBlbmQgcGFyYWxsZWwKK2VuZCBzZWxlY3QKKworc2VsZWN0IHJhbmso YXIpCisgIHJhbmsoMSkKKyAgISRvbXAgcGFyYWxsZWwgc2hhcmVkKGFyKSAhIHsgZGctZXJy b3IgIkFzc29jaWF0ZSBuYW1lICdhcicgaW4gU0hBUkVEIGNsYXVzZSIgfQorICAhJG9tcCBl bmQgcGFyYWxsZWwKK2VuZCBzZWxlY3QKK2VuZAorCisKKworc3Vicm91dGluZSBmaXJzdHBy aXZhdGVfdGVzdChjYywgYXIpCitpbXBsaWNpdCBub25lCitjbGFzcygqKSA6OiBjYworaW50 ZWdlciA6OiBhciguLikKKworYXNzb2NpYXRlKGFhID0+IGNjKQorICAhJG9tcCBwYXJhbGxl bCBmaXJzdHByaXZhdGUoYWEpICAhIHsgZGctZXJyb3IgIkFzc29jaWF0ZSBuYW1lICdhYScg aW4gRklSU1RQUklWQVRFIGNsYXVzZSIgfQorICAhJG9tcCBlbmQgcGFyYWxsZWwKK2VuZCBh c3NvY2lhdGUKKworc2VsZWN0IHR5cGUodHQgPT4gY2MpCisgIHR5cGUgaXMgKGludGVnZXIp CisgICEkb21wIHBhcmFsbGVsIGZpcnN0cHJpdmF0ZSh0dCkgISB7IGRnLWVycm9yICJBc3Nv Y2lhdGUgbmFtZSAndHQnIGluIEZJUlNUUFJJVkFURSBjbGF1c2UiIH0KKyAgISRvbXAgZW5k IHBhcmFsbGVsCitlbmQgc2VsZWN0CisKK3NlbGVjdCB0eXBlKGNjKQorICB0eXBlIGlzIChp bnRlZ2VyKQorICAhJG9tcCBwYXJhbGxlbCBmaXJzdHByaXZhdGUoY2MpICEgeyBkZy1lcnJv ciAiQXNzb2NpYXRlIG5hbWUgJ2NjJyBpbiBGSVJTVFBSSVZBVEUgY2xhdXNlIiB9CisgICEk b21wIGVuZCBwYXJhbGxlbAorZW5kIHNlbGVjdAorCitzZWxlY3QgcmFuayhyciA9PiBhcikK KyAgcmFuaygxKQorICAhJG9tcCBwYXJhbGxlbCBmaXJzdHByaXZhdGUocnIpICEgeyBkZy1l cnJvciAiQXNzb2NpYXRlIG5hbWUgJ3JyJyBpbiBGSVJTVFBSSVZBVEUgY2xhdXNlIiB9Cisg ICEkb21wIGVuZCBwYXJhbGxlbAorZW5kIHNlbGVjdAorCitzZWxlY3QgcmFuayhhcikKKyAg cmFuaygxKQorICAhJG9tcCBwYXJhbGxlbCBmaXJzdHByaXZhdGUoYXIpICEgeyBkZy1lcnJv ciAiQXNzb2NpYXRlIG5hbWUgJ2FyJyBpbiBGSVJTVFBSSVZBVEUgY2xhdXNlIiB9CisgICEk b21wIGVuZCBwYXJhbGxlbAorZW5kIHNlbGVjdAorZW5kCg== --------------SIgbuxdpFBXXivFUFUSYUifj--