From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 95E8A3858D33 for ; Wed, 16 Aug 2023 16:13:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 95E8A3858D33 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1692202426; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=5TMMk+7ha9SpK/N0mHOcFGkKpJjYZlCfRznemQ9KoB8=; b=Gf4ok6CmtZR+WxmWflF/8zxrZtP4P4g00TyTcdN2RSP6/5UlCO2byKSFMHF0w+08TDc17X hK6+1VckYOPuj4x+onA1fQSI5uzBY9Z9pDRKDsjHfHkyTp0gAFBxBYZUg9zo4/U7i6fQmn 5P18PpmaUNTK4sT9QZlkdKoYZTloMUM= Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-263-cbcs4zpSN--PxDDbcxphKg-1; Wed, 16 Aug 2023 12:13:44 -0400 X-MC-Unique: cbcs4zpSN--PxDDbcxphKg-1 Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-647296d5cbdso32300966d6.0 for ; Wed, 16 Aug 2023 09:13:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692202423; x=1692807223; h=subject:from:to:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=E1egFYbWj/Xpk0Y9sZyRWqXuTw7ldYPT4T4lpjbWMtI=; b=mD2Iv/LAR57kaqkcB74eavUpIDoJwETyujxPIi5HF/t+w2YWsDBBa903vuwFnIBLAQ Qraaf6Cf28crdqATITKqRu0ftxVxncq9zSOObjni63Ui3SQ7ZJEP5FrYCcWmix7z3+NX vIgjzCf8IH0FEpCJJZjVqdVE/NRKQC0Gz3SzBH6E2G0tuwnwJVoWnelJpx2QVWorBJPh yY7DfztMOK0rHOWL0ViIWXiaQ1YKo8iHntuCPIk0kwaIxl+lbPs6oHNfsYrECpBSbzso AgHTg+UEh15FxXwxdsyKJYEWHhyqxfnvpBC8x17ghtUn+M9tXndz59DfKub+78lnh78/ UTQQ== X-Gm-Message-State: AOJu0YwhmBk6GAaN20SywmE5QI5G3WBspofZdTkEcHPiPLEtxhHy59Pf Y92bs/8cIw7Kz/Rz0JAga+67n4XMYtMp91mVp6rmnTGyjVDLFOU+Ysx19gRktFeLaGK+nKRDYJV ik18zhA8DmgpwxqEl8j+cKDYIjTTo3RmKHsmAOFupfLirkTsFYuVfJ4FlagZtncEGMLcy2UJUDD b27Q== X-Received: by 2002:a05:620a:46a2:b0:767:954:a743 with SMTP id bq34-20020a05620a46a200b007670954a743mr3020907qkb.51.1692202423233; Wed, 16 Aug 2023 09:13:43 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG3Q7B8z93xWwL051ttxN2VpxfAlfRjKg15FYmxPuRBPHVhB3w9+oWEqPdheTvBfO/aACFKRg== X-Received: by 2002:a05:620a:46a2:b0:767:954:a743 with SMTP id bq34-20020a05620a46a200b007670954a743mr3020885qkb.51.1692202422916; Wed, 16 Aug 2023 09:13:42 -0700 (PDT) Received: from [192.168.1.88] (192-0-143-139.cpe.teksavvy.com. [192.0.143.139]) by smtp.gmail.com with ESMTPSA id a23-20020a05620a16d700b00762f37b206dsm4497752qkn.81.2023.08.16.09.13.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 16 Aug 2023 09:13:42 -0700 (PDT) Message-ID: Date: Wed, 16 Aug 2023 12:13:41 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 To: "gcc-patches@gcc.gnu.org" , SenthilKumar.Selvaraj@microchip.com From: Vladimir Makarov Subject: [pushed][LRA]: Spill pseudos assigned to fp when fp->sp elimination became impossible X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="------------A8R68sLO6jOp114LBEJrWM80" Content-Language: en-US X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,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: This is a multi-part message in MIME format. --------------A8R68sLO6jOp114LBEJrWM80 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit The attached patch fixes recently found wrong insn removal in LRA port for AVR. The patch was successfully tested and bootstrapped on x86-64 and aarch64. --------------A8R68sLO6jOp114LBEJrWM80 Content-Type: text/plain; charset=UTF-8; name="z" Content-Disposition: attachment; filename="z" Content-Transfer-Encoding: base64 Y29tbWl0IDc0OGE3NzU1OGZmMzc3NjFmYWEyMzRlMTkzMjdhZDFkZWNhYWNlMzMKQXV0aG9yOiBW bGFkaW1pciBOLiBNYWthcm92IDx2bWFrYXJvdkByZWRoYXQuY29tPgpEYXRlOiAgIFdlZCBBdWcg MTYgMDk6MTM6NTQgMjAyMyAtMDQwMAoKICAgIFtMUkFdOiBTcGlsbCBwc2V1ZG9zIGFzc2lnbmVk IHRvIGZwIHdoZW4gZnAtPnNwIGVsaW1pbmF0aW9uIGJlY2FtZSBpbXBvc3NpYmxlCiAgICAKICAg IFBvcnRpbmcgTFJBIHRvIEFWUiByZXZlYWxlZCB0aGF0IGNyZWF0aW5nIGEgc3RhY2sgc2xvdCBj YW4gbWFrZSBmcC0+c3AKICAgIGVsaW1pbmF0aW9uIGltcG9zc2libGUuICBUaGUgcHJldmlvdXMg cGF0Y2hlcyB1bmRvZXMgZnAgYXNzaWdubWVudCBhZnRlcgogICAgdGhlIHN0YWNrIHNsb3QgY3Jl YXRpb24gYnV0IGNhbGN1bGF0ZWQgd3JvbmdseSBsaXZlIGluZm8gYWZ0ZXIgdGhpcy4gIFRoaXMK ICAgIHJlc3VsdGVkIGluIHdyb25nIGdlbmVyYXRpb24gYnkgZGVsZXRpbmcgc29tZSBzdGlsbCBh bGl2ZSBpbnNucy4gIFRoaXMKICAgIHBhdGNoIGZpeGVzIHRoaXMgcHJvYmxlbS4KICAgIAogICAg Z2NjL0NoYW5nZUxvZzoKICAgIAogICAgICAgICAgICAqIGxyYS1pbnQuaCAobHJhX3VwZGF0ZV9m cDJzcF9lbGltaW5hdGlvbik6IENoYW5nZSB0aGUgcHJvdG90eXBlLgogICAgICAgICAgICAqIGxy YS1lbGltaW5hdGlvbnMuY2MgKHNwaWxsX3BzZXVkb3MpOiBSZWNvcmQgc3BpbGxlZCBwc2V1ZG9z LgogICAgICAgICAgICAobHJhX3VwZGF0ZV9mcDJzcF9lbGltaW5hdGlvbik6IERpdHRvLgogICAg ICAgICAgICAodXBkYXRlX3JlZ19lbGltaW5hdGUpOiBBZGp1c3Qgc3BpbGxfcHNldWRvcyBjYWxs LgogICAgICAgICAgICAqIGxyYS1zcGlsbHMuY2MgKGxyYV9zcGlsbCk6IEFzc2lnbiBzdGFjayBz bG90cyB0byBwc2V1ZG9zIHNwaWxsZWQKICAgICAgICAgICAgaW4gbHJhX3VwZGF0ZV9mcDJzcF9l bGltaW5hdGlvbi4KCmRpZmYgLS1naXQgYS9nY2MvbHJhLWVsaW1pbmF0aW9ucy5jYyBiL2djYy9s cmEtZWxpbWluYXRpb25zLmNjCmluZGV4IDFmNGUzZmVjOWUwLi4zYzU4ZDRhMzgxNSAxMDA2NDQK LS0tIGEvZ2NjL2xyYS1lbGltaW5hdGlvbnMuY2MKKysrIGIvZ2NjL2xyYS1lbGltaW5hdGlvbnMu Y2MKQEAgLTEwODYsMTggKzEwODYsMTggQEAgZWxpbWluYXRlX3JlZ3NfaW5faW5zbiAocnR4X2lu c24gKmluc24sIGJvb2wgcmVwbGFjZV9wLCBib29sIGZpcnN0X3AsCiAgIGxyYV91cGRhdGVfaW5z bl9yZWNvZ19kYXRhIChpbnNuKTsKIH0KIAotLyogU3BpbGwgcHNldWRvcyB3aGljaCBhcmUgYXNz aWduZWQgdG8gaGFyZCByZWdpc3RlcnMgaW4gU0VULiAgQWRkCi0gICBhZmZlY3RlZCBpbnNucyBm b3IgcHJvY2Vzc2luZyBpbiB0aGUgc3Vic2VxdWVudCBjb25zdHJhaW50Ci0gICBwYXNzLiAgKi8K LXN0YXRpYyB2b2lkCi1zcGlsbF9wc2V1ZG9zIChIQVJEX1JFR19TRVQgc2V0KQorLyogU3BpbGwg cHNldWRvcyB3aGljaCBhcmUgYXNzaWduZWQgdG8gaGFyZCByZWdpc3RlcnMgaW4gU0VULCByZWNv cmQgdGhlbSBpbgorICAgU1BJTExFRF9QU0VVRE9TIHVubGVzcyBpdCBpcyBudWxsLCBhbmQgcmV0 dXJuIHRoZSByZWNvcmRlZCBwc2V1ZG9zIG51bWJlci4KKyAgIEFkZCBhZmZlY3RlZCBpbnNucyBm b3IgcHJvY2Vzc2luZyBpbiB0aGUgc3Vic2VxdWVudCBjb25zdHJhaW50IHBhc3MuICAqLworc3Rh dGljIGludAorc3BpbGxfcHNldWRvcyAoSEFSRF9SRUdfU0VUIHNldCwgaW50ICpzcGlsbGVkX3Bz ZXVkb3MpCiB7Ci0gIGludCBpOworICBpbnQgaSwgbjsKICAgYml0bWFwX2hlYWQgdG9fcHJvY2Vz czsKICAgcnR4X2luc24gKmluc247CiAKICAgaWYgKGhhcmRfcmVnX3NldF9lbXB0eV9wIChzZXQp KQotICAgIHJldHVybjsKKyAgICByZXR1cm4gMDsKICAgaWYgKGxyYV9kdW1wX2ZpbGUgIT0gTlVM TCkKICAgICB7CiAgICAgICBmcHJpbnRmIChscmFfZHVtcF9maWxlLCAiCSAgIFNwaWxsaW5nIG5v bi1lbGltaW5hYmxlIGhhcmQgcmVnczoiKTsKQEAgLTExMDcsNiArMTEwNyw3IEBAIHNwaWxsX3Bz ZXVkb3MgKEhBUkRfUkVHX1NFVCBzZXQpCiAgICAgICBmcHJpbnRmIChscmFfZHVtcF9maWxlLCAi XG4iKTsKICAgICB9CiAgIGJpdG1hcF9pbml0aWFsaXplICgmdG9fcHJvY2VzcywgJnJlZ19vYnN0 YWNrKTsKKyAgbiA9IDA7CiAgIGZvciAoaSA9IEZJUlNUX1BTRVVET19SRUdJU1RFUjsgaSA8IG1h eF9yZWdfbnVtICgpOyBpKyspCiAgICAgaWYgKGxyYV9yZWdfaW5mb1tpXS5ucmVmcyAhPSAwICYm IHJlZ19yZW51bWJlcltpXSA+PSAwCiAJJiYgb3ZlcmxhcHNfaGFyZF9yZWdfc2V0X3AgKHNldCwK QEAgLTExMTYsNiArMTExNyw4IEBAIHNwaWxsX3BzZXVkb3MgKEhBUkRfUkVHX1NFVCBzZXQpCiAJ ICBmcHJpbnRmIChscmFfZHVtcF9maWxlLCAiCSBTcGlsbGluZyByJWQoJWQpXG4iLAogCQkgICBp LCByZWdfcmVudW1iZXJbaV0pOwogCXJlZ19yZW51bWJlcltpXSA9IC0xOworCWlmIChzcGlsbGVk X3BzZXVkb3MgIT0gTlVMTCkKKwkgIHNwaWxsZWRfcHNldWRvc1tuKytdID0gaTsKIAliaXRtYXBf aW9yX2ludG8gKCZ0b19wcm9jZXNzLCAmbHJhX3JlZ19pbmZvW2ldLmluc25fYml0bWFwKTsKICAg ICAgIH0KICAgbHJhX25vX2FsbG9jX3JlZ3MgfD0gc2V0OwpAQCAtMTEyNiw2ICsxMTI5LDcgQEAg c3BpbGxfcHNldWRvcyAoSEFSRF9SRUdfU0VUIHNldCkKIAlscmFfc2V0X3VzZWRfaW5zbl9hbHRl cm5hdGl2ZSAoaW5zbiwgTFJBX1VOS05PV05fQUxUKTsKICAgICAgIH0KICAgYml0bWFwX2NsZWFy ICgmdG9fcHJvY2Vzcyk7CisgIHJldHVybiBuOwogfQogCiAvKiBVcGRhdGUgYWxsIG9mZnNldHMg YW5kIHBvc3NpYmlsaXR5IGZvciBlbGltaW5hdGlvbiBvbiBlbGltaW5hYmxlCkBAIC0xMjM4LDcg KzEyNDIsNyBAQCB1cGRhdGVfcmVnX2VsaW1pbmF0ZSAoYml0bWFwIGluc25zX3dpdGhfY2hhbmdl ZF9vZmZzZXRzKQogICAgICAgfQogICBscmFfbm9fYWxsb2NfcmVncyB8PSB0ZW1wX2hhcmRfcmVn X3NldDsKICAgZWxpbWluYWJsZV9yZWdzZXQgJj0gfnRlbXBfaGFyZF9yZWdfc2V0OwotICBzcGls bF9wc2V1ZG9zICh0ZW1wX2hhcmRfcmVnX3NldCk7CisgIHNwaWxsX3BzZXVkb3MgKHRlbXBfaGFy ZF9yZWdfc2V0LCBOVUxMKTsKICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTM4MiwxNSArMTM4 NiwxNyBAQCBwcm9jZXNzX2luc25fZm9yX2VsaW1pbmF0aW9uIChydHhfaW5zbiAqaW5zbiwgYm9v bCBmaW5hbF9wLCBib29sIGZpcnN0X3ApCiAKIC8qIFVwZGF0ZSBmcmFtZSBwb2ludGVyIHRvIHN0 YWNrIHBvaW50ZXIgZWxpbWluYXRpb24gaWYgd2Ugc3RhcnRlZCB3aXRoCiAgICBwZXJtaXR0ZWQg ZnJhbWUgcG9pbnRlciBlbGltaW5hdGlvbiBhbmQgbm93IHRhcmdldCByZXBvcnRzIHRoYXQgd2Ug Y2FuIG5vdAotICAgZG8gdGhpcyBlbGltaW5hdGlvbiBhbnltb3JlLiAgKi8KLXZvaWQKLWxyYV91 cGRhdGVfZnAyc3BfZWxpbWluYXRpb24gKHZvaWQpCisgICBkbyB0aGlzIGVsaW1pbmF0aW9uIGFu eW1vcmUuICBSZWNvcmQgc3BpbGxlZCBwc2V1ZG9zIGluIFNQSUxMRURfUFNFVURPUworICAgdW5s ZXNzIGl0IGlzIG51bGwsIGFuZCByZXR1cm4gdGhlIHJlY29yZGVkIHBzZXVkb3MgbnVtYmVyLiAg Ki8KK2ludAorbHJhX3VwZGF0ZV9mcDJzcF9lbGltaW5hdGlvbiAoaW50ICpzcGlsbGVkX3BzZXVk b3MpCiB7CisgIGludCBuOwogICBIQVJEX1JFR19TRVQgc2V0OwogICBjbGFzcyBscmFfZWxpbV90 YWJsZSAqZXA7CiAKICAgaWYgKGZyYW1lX3BvaW50ZXJfbmVlZGVkIHx8ICF0YXJnZXRtLmZyYW1l X3BvaW50ZXJfcmVxdWlyZWQgKCkpCi0gICAgcmV0dXJuOworICAgIHJldHVybiAwOwogICBnY2Nf YXNzZXJ0ICghZWxpbWluYXRpb25fZnAyc3Bfb2NjdXJlZF9wKTsKICAgaWYgKGxyYV9kdW1wX2Zp bGUgIT0gTlVMTCkKICAgICBmcHJpbnRmIChscmFfZHVtcF9maWxlLApAQCAtMTM5OCwxMCArMTQw NCwxMSBAQCBscmFfdXBkYXRlX2ZwMnNwX2VsaW1pbmF0aW9uICh2b2lkKQogICBmcmFtZV9wb2lu dGVyX25lZWRlZCA9IHRydWU7CiAgIENMRUFSX0hBUkRfUkVHX1NFVCAoc2V0KTsKICAgYWRkX3Rv X2hhcmRfcmVnX3NldCAoJnNldCwgUG1vZGUsIEhBUkRfRlJBTUVfUE9JTlRFUl9SRUdOVU0pOwot ICBzcGlsbF9wc2V1ZG9zIChzZXQpOworICBuID0gc3BpbGxfcHNldWRvcyAoc2V0LCBzcGlsbGVk X3BzZXVkb3MpOwogICBmb3IgKGVwID0gcmVnX2VsaW1pbmF0ZTsgZXAgPCAmcmVnX2VsaW1pbmF0 ZVtOVU1fRUxJTUlOQUJMRV9SRUdTXTsgZXArKykKICAgICBpZiAoZXAtPmZyb20gPT0gRlJBTUVf UE9JTlRFUl9SRUdOVU0gJiYgZXAtPnRvID09IFNUQUNLX1BPSU5URVJfUkVHTlVNKQogICAgICAg c2V0dXBfY2FuX2VsaW1pbmF0ZSAoZXAsIGZhbHNlKTsKKyAgcmV0dXJuIG47CiB9CiAKIC8qIEVu dHJ5IGZ1bmN0aW9uIHRvIGRvIGZpbmFsIGVsaW1pbmF0aW9uIGlmIEZJTkFMX1Agb3IgdG8gdXBk YXRlCmRpZmYgLS1naXQgYS9nY2MvbHJhLWludC5oIGIvZ2NjL2xyYS1pbnQuaAppbmRleCA2MzNk OWFmODA1OC4uZDA3NTJjMmFlNTAgMTAwNjQ0Ci0tLSBhL2djYy9scmEtaW50LmgKKysrIGIvZ2Nj L2xyYS1pbnQuaApAQCAtNDE0LDcgKzQxNCw3IEBAIGV4dGVybiBpbnQgbHJhX2dldF9lbGltaW5h dGlvbl9oYXJkX3JlZ25vIChpbnQpOwogZXh0ZXJuIHJ0eCBscmFfZWxpbWluYXRlX3JlZ3NfMSAo cnR4X2luc24gKiwgcnR4LCBtYWNoaW5lX21vZGUsCiAJCQkJIGJvb2wsIGJvb2wsIHBvbHlfaW50 NjQsIGJvb2wpOwogZXh0ZXJuIHZvaWQgZWxpbWluYXRlX3JlZ3NfaW5faW5zbiAocnR4X2luc24g Kmluc24sIGJvb2wsIGJvb2wsIHBvbHlfaW50NjQpOwotZXh0ZXJuIHZvaWQgbHJhX3VwZGF0ZV9m cDJzcF9lbGltaW5hdGlvbiAodm9pZCk7CitleHRlcm4gaW50IGxyYV91cGRhdGVfZnAyc3BfZWxp bWluYXRpb24gKGludCAqc3BpbGxlZF9wc2V1ZG9zKTsKIGV4dGVybiB2b2lkIGxyYV9lbGltaW5h dGUgKGJvb2wsIGJvb2wpOwogCiBleHRlcm4gcG9seV9pbnQ2NCBscmFfdXBkYXRlX3NwX29mZnNl dCAocnR4LCBwb2x5X2ludDY0KTsKZGlmZiAtLWdpdCBhL2djYy9scmEtc3BpbGxzLmNjIGIvZ2Nj L2xyYS1zcGlsbHMuY2MKaW5kZXggZmU1OGYxNjJkMDUuLjdlMWQzNWI1ZTRlIDEwMDY0NAotLS0g YS9nY2MvbHJhLXNwaWxscy5jYworKysgYi9nY2MvbHJhLXNwaWxscy5jYwpAQCAtNjA2LDcgKzYw Niw3IEBAIGxyYV9uZWVkX2Zvcl9zcGlsbHNfcCAodm9pZCkKIHZvaWQKIGxyYV9zcGlsbCAodm9p ZCkKIHsKLSAgaW50IGksIG4sIGN1cnJfcmVnbm87CisgIGludCBpLCBuLCBuMiwgY3Vycl9yZWdu bzsKICAgaW50ICpwc2V1ZG9fcmVnbm9zOwogCiAgIHJlZ3NfbnVtID0gbWF4X3JlZ19udW0gKCk7 CkBAIC02MzIsOCArNjMyLDE0IEBAIGxyYV9zcGlsbCAodm9pZCkKICAgZm9yIChpID0gMDsgaSA8 IG47IGkrKykKICAgICBpZiAocHNldWRvX3Nsb3RzW3BzZXVkb19yZWdub3NbaV1dLm1lbSA9PSBO VUxMX1JUWCkKICAgICAgIGFzc2lnbl9tZW1fc2xvdCAocHNldWRvX3JlZ25vc1tpXSk7Ci0gIGxy YV91cGRhdGVfZnAyc3BfZWxpbWluYXRpb24gKCk7Ci0gIGlmIChuID4gMCAmJiBjcnRsLT5zdGFj a19hbGlnbm1lbnRfbmVlZGVkKQorICBpZiAoKG4yID0gbHJhX3VwZGF0ZV9mcDJzcF9lbGltaW5h dGlvbiAocHNldWRvX3JlZ25vcykpID4gMCkKKyAgICB7CisgICAgICAvKiBBc3NpZ24gc3RhY2sg c2xvdHMgdG8gc3BpbGxlZCBwc2V1ZG9zIGFzc2lnbmVkIHRvIGZwLiAgKi8KKyAgICAgIGZvciAo aSA9IDA7IGkgPCBuMjsgaSsrKQorCWlmIChwc2V1ZG9fc2xvdHNbcHNldWRvX3JlZ25vc1tpXV0u bWVtID09IE5VTExfUlRYKQorCSAgYXNzaWduX21lbV9zbG90IChwc2V1ZG9fcmVnbm9zW2ldKTsK KyAgICB9CisgIGlmIChuICsgbjIgPiAwICYmIGNydGwtPnN0YWNrX2FsaWdubWVudF9uZWVkZWQp CiAgICAgLyogSWYgd2UgaGF2ZSBhIHN0YWNrIGZyYW1lLCB3ZSBtdXN0IGFsaWduIGl0IG5vdy4g IFRoZSBzdGFjayBzaXplCiAgICAgICAgbWF5IGJlIGEgcGFydCBvZiB0aGUgb2Zmc2V0IGNvbXB1 dGF0aW9uIGZvciByZWdpc3RlcgogICAgICAgIGVsaW1pbmF0aW9uLiAgKi8K --------------A8R68sLO6jOp114LBEJrWM80--