From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi1-x230.google.com (mail-oi1-x230.google.com [IPv6:2607:f8b0:4864:20::230]) by sourceware.org (Postfix) with ESMTPS id 565AB3858C00 for ; Thu, 23 Feb 2023 13:56:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 565AB3858C00 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-oi1-x230.google.com with SMTP id bl7so12788901oib.0 for ; Thu, 23 Feb 2023 05:56:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=gdLp2aYFEOo16GsvA6CMoRL2LQh6RzfF90s7l0d9i+I=; b=Lr4DeddG8ejrgaMQdFFNU31WcF0/63tAl5e1AzHp6U9/jPwC3arfzoVMAXMCsOKduX MtUVRjMzrfVv4C57xZFNMeTbW4hw6PoAckMb+tJiC/E4YYuzPl8tggMK2oetgRe3CyAD 4lQkfrCs4KFTdfqlgJBo3PjLv5+krhJr5PvOmRa3qcG44E5xDnglGjdBcp1JHNodKux5 5KR82LQyuDNb8tJuWbGxiOSk8QX12xMF+Na7/jvzQgCSWgu909cEklED7ocQvRWWN4qw Xc0lRyLf1MbxMwQxwv4m4dYjZilD3ACDdqSo32PILgYwXCexTnD99tI04fQwaVujTO3f IJvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=gdLp2aYFEOo16GsvA6CMoRL2LQh6RzfF90s7l0d9i+I=; b=3/4NWAWW0SS0BUltyR+ICkWUJJ1jY6SKOdzqJcNDQGBAGhJdznAKenT9aSoo3/1864 ObktOGJ0c4uMN/g6HnAEoWcyx0NJK2Cgvt7l+Bic+3pgmJGFs0NtAD4cDxadKMYBUhn0 OjD0zynAldRAnGdCHwyFuQqsrygGGKNUHErSXPRzPBQFWVYMhE5yq84t9Z0RD7VQKMRv 2kOaSfTESQlYfOOTl8V4OPvpt/8rXhXnOPJnrdFbJXARWiH78ZAh0tw5R2HLLZEBCYO+ hrw/ADuVO4CzbWwulXeRg4tXD5uNsQnS3nql13caqVtq8DeONEZQ7cwTaf1NMaQijeaK uGJA== X-Gm-Message-State: AO0yUKU7bwlcE1TEmFBRPF4qUVBXRRXzuakOtwvxJn/0cCU5qOwY0xHb 0sX+pXMdfcdNvl/C8HeCr4x5FJI99cBU1jJu1wPE56HE X-Google-Smtp-Source: AK7set+uUApD2hD1D4a3Qna5Mz91xE2rF+EQXtI3YNFiTH8xVdkiD6MPLmUnCbWVF120DbuLWv4zl+1dMbzQQgsURd0= X-Received: by 2002:a05:6808:f08:b0:371:111d:7011 with SMTP id m8-20020a0568080f0800b00371111d7011mr811615oiw.272.1677160566580; Thu, 23 Feb 2023 05:56:06 -0800 (PST) MIME-Version: 1.0 References: <0115618b-059b-fd11-a813-33374f16af78@gmx.de> <87h6vo8u8u.fsf@euler.schwinge.homeip.net> <1d59f51b-fffc-3a3a-4c92-edfe5c525783@gmx.de> In-Reply-To: From: Rimvydas Jasinskas Date: Thu, 23 Feb 2023 15:55:45 +0200 Message-ID: Subject: Re: Support for WEAK attribute, part 2 To: Harald Anlauf Cc: Rimvydas Jasinskas via Fortran Content-Type: multipart/mixed; boundary="000000000000cd841d05f55e5f37" X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,KAM_NUMSUBJECT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP 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: --000000000000cd841d05f55e5f37 Content-Type: text/plain; charset="UTF-8" Thank you Harald, for the feedback! Attached is part2 patch for weak variables support. I'll post part3 patch for module-wide attribute support separately. Best regards, Rimvydas --000000000000cd841d05f55e5f37 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Fortran-Add-support-for-WEAK-attribute-for-variables.patch" Content-Disposition: attachment; filename="0001-Fortran-Add-support-for-WEAK-attribute-for-variables.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_leh5xp9o0 RnJvbSBmYjFjZjYwZDNmZDdjNmFhMmQ5Nzg3YmIzYWY4NmYxOGUwMTc4YmY3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSaW12eWRhcyBKYXNpbnNrYXMgPHJpbXZ5ZGFzLmphc0BnbWFp bC5jb20+CkRhdGU6IFRodSwgMjMgRmViIDIwMjMgMTI6NTU6MjggKzAwMDAKU3ViamVjdDogRm9y dHJhbjogQWRkIHN1cHBvcnQgZm9yIFdFQUsgYXR0cmlidXRlIGZvciB2YXJpYWJsZXMKCiBBZGQg dGhlIHJlc3Qgb2YgdGhlIHdlYWstKi5mOTAgdGVzdGNhc2VzLgoKZ2NjL2ZvcnRyYW4vQ2hhbmdl TG9nOgoKCSogdHJhbnMtZGVjbC5jYyAoZ2ZjX2ZpbmlzaF92YXJfZGVjbCk6IEFwcGx5IGF0dHJp YnV0ZS4KCShnZW5lcmF0ZV9sb2NhbF9kZWNsKTogQWRkIGRpYWdub3N0aWMgZm9yIGR1bW15IG9y IGxvY2FsIHZhcmlhYmxlcy4KCmdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOgoKCSogZ2ZvcnRyYW4u ZGcvd2Vhay0yLmY5MDogTmV3IHRlc3QuCgkqIGdmb3J0cmFuLmRnL3dlYWstMy5mOTA6IE5ldyB0 ZXN0LgoJKiBnZm9ydHJhbi5kZy93ZWFrLTQuZjkwOiBOZXcgdGVzdC4KCSogZ2ZvcnRyYW4uZGcv d2Vhay01LmY5MDogTmV3IHRlc3QuCgkqIGdmb3J0cmFuLmRnL3dlYWstNi5mOTA6IE5ldyB0ZXN0 LgoJKiBnZm9ydHJhbi5kZy93ZWFrLTcuZjkwOiBOZXcgdGVzdC4KCSogZ2ZvcnRyYW4uZGcvd2Vh ay04LmY5MDogTmV3IHRlc3QuCgpTaWduZWQtb2ZmLWJ5OiBSaW12eWRhcyBKYXNpbnNrYXMgPHJp bXZ5ZGFzLmphc0BnbWFpbC5jb20+Ci0tLQogZ2NjL2ZvcnRyYW4vdHJhbnMtZGVjbC5jYyAgICAg ICAgICAgIHwgIDkgKysrKysrKysrCiBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL3dlYWstMi5m OTAgfCAgOSArKysrKysrKysKIGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvd2Vhay0zLmY5MCB8 ICA5ICsrKysrKysrKwogZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy93ZWFrLTQuZjkwIHwgMTAg KysrKysrKysrKwogZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy93ZWFrLTUuZjkwIHwgMTUgKysr KysrKysrKysrKysrCiBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL3dlYWstNi5mOTAgfCAgNiAr KysrKysKIGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvd2Vhay03LmY5MCB8IDEzICsrKysrKysr KysrKysKIGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvd2Vhay04LmY5MCB8ICA5ICsrKysrKysr KwogOCBmaWxlcyBjaGFuZ2VkLCA4MCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQg Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy93ZWFrLTIuZjkwCiBjcmVhdGUgbW9kZSAxMDA2NDQg Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy93ZWFrLTMuZjkwCiBjcmVhdGUgbW9kZSAxMDA2NDQg Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy93ZWFrLTQuZjkwCiBjcmVhdGUgbW9kZSAxMDA2NDQg Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy93ZWFrLTUuZjkwCiBjcmVhdGUgbW9kZSAxMDA2NDQg Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy93ZWFrLTYuZjkwCiBjcmVhdGUgbW9kZSAxMDA2NDQg Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy93ZWFrLTcuZjkwCiBjcmVhdGUgbW9kZSAxMDA2NDQg Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy93ZWFrLTguZjkwCgpkaWZmIC0tZ2l0IGEvZ2NjL2Zv cnRyYW4vdHJhbnMtZGVjbC5jYyBiL2djYy9mb3J0cmFuL3RyYW5zLWRlY2wuY2MKaW5kZXggZmY2 NDU4OGI5YTguLjI0YTg1Y2Y2MDQzIDEwMDY0NAotLS0gYS9nY2MvZm9ydHJhbi90cmFucy1kZWNs LmNjCisrKyBiL2djYy9mb3J0cmFuL3RyYW5zLWRlY2wuY2MKQEAgLTgxNCw2ICs4MTQsMTAgQEAg Z2ZjX2ZpbmlzaF92YXJfZGVjbCAodHJlZSBkZWNsLCBnZmNfc3ltYm9sICogc3ltKQogICAgICAg JiYgKFRSRUVfU1RBVElDIChkZWNsKSB8fCBERUNMX0VYVEVSTkFMIChkZWNsKSkpCiAgICAgc2V0 X2RlY2xfdGxzX21vZGVsIChkZWNsLCBkZWNsX2RlZmF1bHRfdGxzX21vZGVsIChkZWNsKSk7CiAK KyAgLyogTWFyayB3ZWFrIHZhcmlhYmxlcy4gICovCisgIGlmIChzeW0tPmF0dHIuZXh0X2F0dHIg JiAoMSA8PCBFWFRfQVRUUl9XRUFLKSkKKyAgICBkZWNsYXJlX3dlYWsgKGRlY2wpOworCiAgIGdm Y19maW5pc2hfZGVjbF9hdHRycyAoZGVjbCwgJnN5bS0+YXR0cik7CiB9CiAKQEAgLTU4ODUsNiAr NTg4OSwxMSBAQCBnZW5lcmF0ZV9sb2NhbF9kZWNsIChnZmNfc3ltYm9sICogc3ltKQogICAgICAg aWYgKCFzeW0tPmF0dHIuZHVtbXkgJiYgIXN5bS0+bnMtPnByb2NfbmFtZS0+YXR0ci5lbnRyeV9t YXN0ZXIpCiAJZ2VuZXJhdGVfZGVwZW5kZW5jeV9kZWNsYXJhdGlvbnMgKHN5bSk7CiAKKyAgICAg IGlmIChzeW0tPmF0dHIuZXh0X2F0dHIgJiAoMSA8PCBFWFRfQVRUUl9XRUFLKSkKKwlnZmNfZXJy b3IgKCJTeW1ib2wgJXFzIGF0ICVMIGhhcyB0aGUgV0VBSyBhdHRyaWJ1dGUgYnV0IGlzIGEgJXMi LAorCQkgICBzeW0tPm5hbWUsICZzeW0tPmRlY2xhcmVkX2F0LCBzeW0tPmF0dHIuZHVtbXkKKwkJ ICAgPyAiZHVtbXkgYXJndW1lbnQiIDogImxvY2FsIHZhcmlhYmxlIik7CisKICAgICAgIGlmIChz eW0tPmF0dHIucmVmZXJlbmNlZCkKIAlnZmNfZ2V0X3N5bWJvbF9kZWNsIChzeW0pOwogCmRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL3dlYWstMi5mOTAgYi9nY2MvdGVzdHN1 aXRlL2dmb3J0cmFuLmRnL3dlYWstMi5mOTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAuLjBjOTQ4NjQwYzg5Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9n Zm9ydHJhbi5kZy93ZWFrLTIuZjkwCkBAIC0wLDAgKzEsOSBAQAorISB7IGRnLWRvIGNvbXBpbGUg fQorISB7IGRnLXJlcXVpcmUtd2VhayAiIiB9CishIHsgZGctc2tpcC1pZiAiIiB7IHg4Nl82NC0q LW1pbmd3KiB9IH0KKyEgeyBkZy1za2lwLWlmICIiIHsgbnZwdHgtKi0qIH0gfQorISB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXIgIndlYWtcW14gXHRcXSpcWyBcdFxdXz9pbXBsIiB9IH0KK2lu dGVnZXIgZnVuY3Rpb24gaW1wbCgpCitpbXBsaWNpdCBub25lCishR0NDJCBBVFRSSUJVVEVTIHdl YWsgOjogaW1wbAorZW5kIGZ1bmN0aW9uCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL3dlYWstMy5mOTAgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL3dlYWstMy5mOTAK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjM5YWQyOTkyOTFiCi0tLSAv ZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy93ZWFrLTMuZjkwCkBAIC0w LDAgKzEsOSBAQAorISB7IGRnLWRvIGNvbXBpbGUgfQorISB7IGRnLXJlcXVpcmUtd2VhayAiIiB9 CishIHsgZGctc2tpcC1pZiAiIiB7IHg4Nl82NC0qLW1pbmd3KiB9IH0KKyEgeyBkZy1za2lwLWlm ICIiIHsgbnZwdHgtKi0qIH0gfQorISB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIgIndlYWtc W14gXHRcXSpcWyBcdFxdXz9iYXJfXyIgfSB9CitpbnRlZ2VyIGZ1bmN0aW9uIGltcGwoKSBiaW5k KGMsbmFtZT0nYmFyX18nKQoraW1wbGljaXQgbm9uZQorIUdDQyQgQVRUUklCVVRFUyB3ZWFrIDo6 IGltcGwKK2VuZCBmdW5jdGlvbgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5k Zy93ZWFrLTQuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy93ZWFrLTQuZjkwCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5mZWYwMjMzYmU4YQotLS0gL2Rldi9u dWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvd2Vhay00LmY5MApAQCAtMCwwICsx LDEwIEBACishIHsgZGctZG8gY29tcGlsZSB9CishIHsgZGctcmVxdWlyZS13ZWFrICIiIH0KKyEg eyBkZy1za2lwLWlmICIiIHsgeDg2XzY0LSotbWluZ3cqIH0gfQorISB7IGRnLXNraXAtaWYgIiIg eyBudnB0eC0qLSogfSB9CishIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciAid2Vha1xbXiBc dFxdKlxbIFx0XF1fP19fZm9vX01PRF9hYmMiIH0gfQorbW9kdWxlIGZvbworaW1wbGljaXQgbm9u ZQorIUdDQyQgQVRUUklCVVRFUyB3ZWFrIDo6IGFiYworcmVhbCA6OiBhYmMoNykKK2VuZCBtb2R1 bGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvd2Vhay01LmY5MCBiL2dj Yy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvd2Vhay01LmY5MApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMC4uZTQ4YTgwNTM1NzAKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL3dlYWstNS5mOTAKQEAgLTAsMCArMSwxNSBAQAorISB7IGRnLWRv IGNvbXBpbGUgfQorISB7IGRnLXJlcXVpcmUtd2VhayAiIiB9CishIHsgZGctb3B0aW9ucyAiLVdh bGwgLVdleHRyYSIgfQorbW9kdWxlIGZvbworaW1wbGljaXQgbm9uZQorcmVhbCA6OiBhLGIKK2Nv bW1vbiAvYy8gYSxiCitpbnRlZ2VyIDo6IGMKKyEgbm8gZXJyb3IsIGNvbW1vbiAvYy8gaXMgbm90 IGV4cG9ydGVkIGFuZCB2YXJpYWJsZSAnYycgaGFzIGEgbWFuZ2xlZCBuYW1lCishR0NDJCBBVFRS SUJVVEVTIHdlYWsgOjogYworY29udGFpbnMKKyBzdWJyb3V0aW5lIGJhcgorICBjID0gMQorIGVu ZCBzdWJyb3V0aW5lCitlbmQgbW9kdWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL3dlYWstNi5mOTAgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL3dlYWstNi5mOTAK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmJjZGY0ZGY3OGE2Ci0tLSAv ZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy93ZWFrLTYuZjkwCkBAIC0w LDAgKzEsNiBAQAorISB7IGRnLWRvIGNvbXBpbGUgfQorISB7IGRnLXJlcXVpcmUtd2VhayAiIiB9 Citwcm9ncmFtIGZvbyAgISB7IGRnLWVycm9yICJ3ZWFrIGRlY2xhcmF0aW9uIG9mICdmb28nIG11 c3QgYmUgcHVibGljIiAiIiB9CitpbXBsaWNpdCBub25lCishR0NDJCBBVFRSSUJVVEVTIHdlYWsg OjogZm9vCitlbmQgcHJvZ3JhbQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5k Zy93ZWFrLTcuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy93ZWFrLTcuZjkwCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi45ZjhmNzFjMmYzNgotLS0gL2Rldi9u dWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvd2Vhay03LmY5MApAQCAtMCwwICsx LDEzIEBACishIHsgZGctZG8gY29tcGlsZSB9CishIHsgZGctcmVxdWlyZS13ZWFrICIiIH0KK3N1 YnJvdXRpbmUgZm9vCitpbXBsaWNpdCBub25lCitjb250YWlucworIGZ1bmN0aW9uIGRhcigpICEg eyBkZy1lcnJvciAid2VhayBkZWNsYXJhdGlvbiBvZiAnZGFyJyBtdXN0IGJlIHB1YmxpYyIgIiIg fQorIGludGVnZXIgOjogZGFyCishR0NDJCBBVFRSSUJVVEVTIHdlYWsgOjogZGFyCisgZW5kIGZ1 bmN0aW9uCisgc3Vicm91dGluZSBiYXIgISB7IGRnLWVycm9yICJ3ZWFrIGRlY2xhcmF0aW9uIG9m ICdiYXInIG11c3QgYmUgcHVibGljIiAiIiB9CishR0NDJCBBVFRSSUJVVEVTIHdlYWsgOjogYmFy CisgZW5kIHN1YnJvdXRpbmUKK2VuZCBzdWJyb3V0aW5lCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1 aXRlL2dmb3J0cmFuLmRnL3dlYWstOC5mOTAgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL3dl YWstOC5mOTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmQ0YmZlMjIx MzEyCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy93ZWFrLTgu ZjkwCkBAIC0wLDAgKzEsOSBAQAorISB7IGRnLWRvIGNvbXBpbGUgfQorISB7IGRnLXJlcXVpcmUt d2VhayAiIiB9CitzdWJyb3V0aW5lIGZvbyhuKSAhIHsgZGctZXJyb3IgImhhcyB0aGUgV0VBSyBh dHRyaWJ1dGUgYnV0IGlzIGEgZHVtbXkgYXJndW1lbnQiICIiIH0KK2ltcGxpY2l0IG5vbmUKK2lu dGVnZXIgOjogbgorIUdDQyQgQVRUUklCVVRFUyB3ZWFrIDo6IG4KK3JlYWwgOjogYWJjICAgICAg ICEgeyBkZy1lcnJvciAiaGFzIHRoZSBXRUFLIGF0dHJpYnV0ZSBidXQgaXMgYSBsb2NhbCB2YXJp YWJsZSIgIiIgfQorIUdDQyQgQVRUUklCVVRFUyB3ZWFrIDo6IGFiYworZW5kIHN1YnJvdXRpbmUK LS0gCjIuMzkuMgoK --000000000000cd841d05f55e5f37--