From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa1.mentor.iphmx.com (esa1.mentor.iphmx.com [68.232.129.153]) by sourceware.org (Postfix) with ESMTPS id EA7DC3858C53; Wed, 13 Apr 2022 15:16:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org EA7DC3858C53 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,257,1643702400"; d="diff'?scan'208";a="77033733" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa1.mentor.iphmx.com with ESMTP; 13 Apr 2022 07:16:55 -0800 IronPort-SDR: IB+NQdJ1ho5DDOLxiGCq3LYxmkJsKqdEbSbznNebgMYrxN1Reb8ZJfJ92DA7OlE+O9TFhbaZVU yPFzT49UypKKF7RwZi6wK/ZL9iIhdVQdOrw+yVLoUvzbrUFac+DCoHOZZrhgR68a0qNRjf9PIq mYkURhyED6fd+bFnilr6DFZN4rrsdPuaST9LZXZbQElUpsfaqFAH0uAEzVhWjLfKTpFRh3bHft k2qoe2zs85kiuRjHOyeoTZ5wdjjuTK62xCvGXq4vw1w8FJ0iKCA/Zw/srOWI3As0/ZGaLi19/Q arM= Content-Type: multipart/mixed; boundary="------------9CR003reh0Jt0WlH0Mje1c0l" Message-ID: <5d9b84e8-044c-048c-46f0-9043b6f97c23@codesourcery.com> Date: Wed, 13 Apr 2022 17:16:48 +0200 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] OpenMP/Fortran: Fix EXIT in loop diagnostic [PR105242] X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-09.mgc.mentorg.com (139.181.222.9) To svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) X-Spam-Status: No, score=-9.4 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SCC_10_SHORT_WORD_LINES, SCC_20_SHORT_WORD_LINES, SCC_35_SHORT_WORD_LINES, SCC_5_SHORT_WORD_LINES, 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: Wed, 13 Apr 2022 15:17:00 -0000 --------------9CR003reh0Jt0WlH0Mje1c0l Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable Trivial fix =E2=80=93 after finding the issue. The LOOP directive and several LOOP/DO/SIMD combined directives were missing in the check. As the PR shows, this leads to an ICE on invalid code. OK? 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 --------------9CR003reh0Jt0WlH0Mje1c0l Content-Type: text/x-patch; charset="UTF-8"; name="omp-loop-exit.diff" Content-Disposition: attachment; filename="omp-loop-exit.diff" Content-Transfer-Encoding: base64 T3Blbk1QL0ZvcnRyYW46IEZpeCBFWElUIGluIGxvb3AgZGlhZ25vc3RpYyBbUFIxMDUyNDJd CgpnY2MvZm9ydHJhbi9DaGFuZ2VMb2c6CgoJUFIgZm9ydHJhbi8xMDUyNDIKCSogbWF0Y2gu Y2MgKG1hdGNoX2V4aXRfY3ljbGUpOiBIYW5kbGUgbWlzc2luZyBPTVAgTE9PUCwgRE8gYW5k IFNJTUQKCWRpcmVjdGl2ZXMgaW4gdGhlIEVYSVQvQ1lDTEUgZGlhZ25vc3RpYy4KCmdjYy90 ZXN0c3VpdGUvQ2hhbmdlTG9nOgoKCVBSIGZvcnRyYW4vMTA1MjQyCgkqIGdmb3J0cmFuLmRn L2dvbXAvbG9vcC1leGl0LmY5MDogTmV3IHRlc3QuCgogZ2NjL2ZvcnRyYW4vbWF0Y2guY2Mg ICAgICAgICAgICAgICAgICAgICAgICAgfCAxNjYgKysrKy0tLQogZ2NjL3Rlc3RzdWl0ZS9n Zm9ydHJhbi5kZy9nb21wL2xvb3AtZXhpdC5mOTAgfCA2NzQgKysrKysrKysrKysrKysrKysr KysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDc2OSBpbnNlcnRpb25zKCspLCA3MSBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9tYXRjaC5jYyBiL2djYy9mb3J0 cmFuL21hdGNoLmNjCmluZGV4IDcxNWE3NGViYTUxLi4yMDU4MTFiYjk2OSAxMDA2NDQKLS0t IGEvZ2NjL2ZvcnRyYW4vbWF0Y2guY2MKKysrIGIvZ2NjL2ZvcnRyYW4vbWF0Y2guY2MKQEAg LTI4NTcsODMgKzI4NTcsMTA3IEBAIG1hdGNoX2V4aXRfY3ljbGUgKGdmY19zdGF0ZW1lbnQg c3QsIGdmY19leGVjX29wIG9wKQogCiAgIGZvciAobyA9IHAsIGNudCA9IDA7IG8tPnN0YXRl ID09IENPTVBfRE8gJiYgby0+cHJldmlvdXMgIT0gTlVMTDsgY250KyspCiAgICAgbyA9IG8t PnByZXZpb3VzOworCisgIGludCBjb3VudCA9IDE7CiAgIGlmIChjbnQgPiAwCiAgICAgICAm JiBvICE9IE5VTEwKLSAgICAgICYmIG8tPnN0YXRlID09IENPTVBfT01QX1NUUlVDVFVSRURf QkxPQ0sKLSAgICAgICYmIChvLT5oZWFkLT5vcCA9PSBFWEVDX09BQ0NfTE9PUAotCSAgfHwg by0+aGVhZC0+b3AgPT0gRVhFQ19PQUNDX0tFUk5FTFNfTE9PUAotCSAgfHwgby0+aGVhZC0+ b3AgPT0gRVhFQ19PQUNDX1BBUkFMTEVMX0xPT1AKLQkgIHx8IG8tPmhlYWQtPm9wID09IEVY RUNfT0FDQ19TRVJJQUxfTE9PUCkpCi0gICAgewotICAgICAgaW50IGNvbGxhcHNlID0gMTsK LSAgICAgIGdjY19hc3NlcnQgKG8tPmhlYWQtPm5leHQgIT0gTlVMTAotCQkgICYmIChvLT5o ZWFkLT5uZXh0LT5vcCA9PSBFWEVDX0RPCi0JCSAgICAgIHx8IG8tPmhlYWQtPm5leHQtPm9w ID09IEVYRUNfRE9fV0hJTEUpCi0JCSAgJiYgby0+cHJldmlvdXMgIT0gTlVMTAotCQkgICYm IG8tPnByZXZpb3VzLT50YWlsLT5vcCA9PSBvLT5oZWFkLT5vcCk7Ci0gICAgICBpZiAoby0+ cHJldmlvdXMtPnRhaWwtPmV4dC5vbXBfY2xhdXNlcyAhPSBOVUxMKQotCXsKLQkgIC8qIEJv dGggY29sbGFwc2VkIGFuZCB0aWxlZCBsb29wcyBhcmUgbG93ZXJlZCB0aGUgc2FtZSB3YXks IGJ1dCBhcmUgbm90Ci0JICAgICBjb21wYXRpYmxlLiAgSW4gZ2ZjX3RyYW5zX29tcF9kbywg dGhlIHRpbGUgaXMgcHJpb3JpdGl6ZWQuICAqLwotCSAgaWYgKG8tPnByZXZpb3VzLT50YWls LT5leHQub21wX2NsYXVzZXMtPnRpbGVfbGlzdCkKLQkgICAgewotCSAgICAgIGNvbGxhcHNl ID0gMDsKLQkgICAgICBnZmNfZXhwcl9saXN0ICplbCA9IG8tPnByZXZpb3VzLT50YWlsLT5l eHQub21wX2NsYXVzZXMtPnRpbGVfbGlzdDsKLQkgICAgICBmb3IgKCA7IGVsOyBlbCA9IGVs LT5uZXh0KQotCQkrK2NvbGxhcHNlOwotCSAgICB9Ci0JICBlbHNlIGlmIChvLT5wcmV2aW91 cy0+dGFpbC0+ZXh0Lm9tcF9jbGF1c2VzLT5jb2xsYXBzZSA+IDEpCi0JICAgIGNvbGxhcHNl ID0gby0+cHJldmlvdXMtPnRhaWwtPmV4dC5vbXBfY2xhdXNlcy0+Y29sbGFwc2U7Ci0JfQot ICAgICAgaWYgKHN0ID09IFNUX0VYSVQgJiYgY250IDw9IGNvbGxhcHNlKQotCXsKLQkgIGdm Y19lcnJvciAoIkVYSVQgc3RhdGVtZW50IGF0ICVDIHRlcm1pbmF0aW5nICEkQUNDIExPT1Ag bG9vcCIpOwotCSAgcmV0dXJuIE1BVENIX0VSUk9SOwotCX0KLSAgICAgIGlmIChzdCA9PSBT VF9DWUNMRSAmJiBjbnQgPCBjb2xsYXBzZSkKLQl7Ci0JICBnZmNfZXJyb3IgKG8tPnByZXZp b3VzLT50YWlsLT5leHQub21wX2NsYXVzZXMtPnRpbGVfbGlzdAotCQkgICAgID8gR18oIkNZ Q0xFIHN0YXRlbWVudCBhdCAlQyB0byBub24taW5uZXJtb3N0IHRpbGVkIgotCQkJICAiICEk QUNDIExPT1AgbG9vcCIpCi0JCSAgICAgOiBHXygiQ1lDTEUgc3RhdGVtZW50IGF0ICVDIHRv IG5vbi1pbm5lcm1vc3QgY29sbGFwc2VkIgotCQkJICAiICEkQUNDIExPT1AgbG9vcCIpKTsK LQkgIHJldHVybiBNQVRDSF9FUlJPUjsKLQl9Ci0gICAgfQotICBpZiAoY250ID4gMAotICAg ICAgJiYgbyAhPSBOVUxMCi0gICAgICAmJiAoby0+c3RhdGUgPT0gQ09NUF9PTVBfU1RSVUNU VVJFRF9CTE9DSykKLSAgICAgICYmIChvLT5oZWFkLT5vcCA9PSBFWEVDX09NUF9ETwotCSAg fHwgby0+aGVhZC0+b3AgPT0gRVhFQ19PTVBfUEFSQUxMRUxfRE8KLQkgIHx8IG8tPmhlYWQt Pm9wID09IEVYRUNfT01QX1NJTUQKLQkgIHx8IG8tPmhlYWQtPm9wID09IEVYRUNfT01QX0RP X1NJTUQKLQkgIHx8IG8tPmhlYWQtPm9wID09IEVYRUNfT01QX1BBUkFMTEVMX0RPX1NJTUQp KQotICAgIHsKLSAgICAgIGludCBjb3VudCA9IDE7Ci0gICAgICBnY2NfYXNzZXJ0IChvLT5o ZWFkLT5uZXh0ICE9IE5VTEwKKyAgICAgICYmIG8tPnN0YXRlID09IENPTVBfT01QX1NUUlVD VFVSRURfQkxPQ0spCisgICAgc3dpdGNoIChvLT5oZWFkLT5vcCkKKyAgICAgIHsKKyAgICAg IGNhc2UgRVhFQ19PQUNDX0xPT1A6CisgICAgICBjYXNlIEVYRUNfT0FDQ19LRVJORUxTX0xP T1A6CisgICAgICBjYXNlIEVYRUNfT0FDQ19QQVJBTExFTF9MT09QOgorICAgICAgY2FzZSBF WEVDX09BQ0NfU0VSSUFMX0xPT1A6CisJZ2NjX2Fzc2VydCAoby0+aGVhZC0+bmV4dCAhPSBO VUxMCisJCSAgICAmJiAoby0+aGVhZC0+bmV4dC0+b3AgPT0gRVhFQ19ETworCQkJfHwgby0+ aGVhZC0+bmV4dC0+b3AgPT0gRVhFQ19ET19XSElMRSkKKwkJICAgICYmIG8tPnByZXZpb3Vz ICE9IE5VTEwKKwkJICAgICYmIG8tPnByZXZpb3VzLT50YWlsLT5vcCA9PSBvLT5oZWFkLT5v cCk7CisJaWYgKG8tPnByZXZpb3VzLT50YWlsLT5leHQub21wX2NsYXVzZXMgIT0gTlVMTCkK KwkgIHsKKwkgICAgLyogQm90aCBjb2xsYXBzZWQgYW5kIHRpbGVkIGxvb3BzIGFyZSBsb3dl cmVkIHRoZSBzYW1lIHdheSwgYnV0IGFyZQorCSAgICAgICBub3QgY29tcGF0aWJsZS4gIElu IGdmY190cmFuc19vbXBfZG8sIHRoZSB0aWxlIGlzIHByaW9yaXRpemVkLiAqLworCSAgICBp ZiAoby0+cHJldmlvdXMtPnRhaWwtPmV4dC5vbXBfY2xhdXNlcy0+dGlsZV9saXN0KQorCSAg ICAgIHsKKwkJY291bnQgPSAwOworCQlnZmNfZXhwcl9saXN0ICplbAorCQkgID0gby0+cHJl dmlvdXMtPnRhaWwtPmV4dC5vbXBfY2xhdXNlcy0+dGlsZV9saXN0OworCQlmb3IgKCA7IGVs OyBlbCA9IGVsLT5uZXh0KQorCQkgICsrY291bnQ7CisJICAgICAgfQorCSAgICBlbHNlIGlm IChvLT5wcmV2aW91cy0+dGFpbC0+ZXh0Lm9tcF9jbGF1c2VzLT5jb2xsYXBzZSA+IDEpCisJ ICAgICAgY291bnQgPSBvLT5wcmV2aW91cy0+dGFpbC0+ZXh0Lm9tcF9jbGF1c2VzLT5jb2xs YXBzZTsKKwkgIH0KKwlpZiAoc3QgPT0gU1RfRVhJVCAmJiBjbnQgPD0gY291bnQpCisJICB7 CisJICAgIGdmY19lcnJvciAoIkVYSVQgc3RhdGVtZW50IGF0ICVDIHRlcm1pbmF0aW5nICEk QUNDIExPT1AgbG9vcCIpOworCSAgICByZXR1cm4gTUFUQ0hfRVJST1I7CisJICB9CisJaWYg KHN0ID09IFNUX0NZQ0xFICYmIGNudCA8IGNvdW50KQorCSAgeworCSAgICBnZmNfZXJyb3Ig KG8tPnByZXZpb3VzLT50YWlsLT5leHQub21wX2NsYXVzZXMtPnRpbGVfbGlzdAorCQkgICAg ICAgPyBHXygiQ1lDTEUgc3RhdGVtZW50IGF0ICVDIHRvIG5vbi1pbm5lcm1vc3QgdGlsZWQg IgorCQkJICAgICIhJEFDQyBMT09QIGxvb3AiKQorCQkgICAgICAgOiBHXygiQ1lDTEUgc3Rh dGVtZW50IGF0ICVDIHRvIG5vbi1pbm5lcm1vc3QgY29sbGFwc2VkICIKKwkJCSAgICAiISRB Q0MgTE9PUCBsb29wIikpOworCSAgICByZXR1cm4gTUFUQ0hfRVJST1I7CisJICB9CisJYnJl YWs7CisgICAgICBjYXNlIEVYRUNfT01QX1RBUkdFVF9URUFNU19ESVNUUklCVVRFX1BBUkFM TEVMX0RPX1NJTUQ6CisgICAgICBjYXNlIEVYRUNfT01QX1RBUkdFVF9QQVJBTExFTF9ET19T SU1EOgorICAgICAgY2FzZSBFWEVDX09NUF9UQVJHRVRfU0lNRDoKKyAgICAgIGNhc2UgRVhF Q19PTVBfVEFTS0xPT1BfU0lNRDoKKyAgICAgIGNhc2UgRVhFQ19PTVBfUEFSQUxMRUxfTUFT VEVSX1RBU0tMT09QX1NJTUQ6CisgICAgICBjYXNlIEVYRUNfT01QX01BU1RFUl9UQVNLTE9P UF9TSU1EOgorICAgICAgY2FzZSBFWEVDX09NUF9QQVJBTExFTF9NQVNLRURfVEFTS0xPT1Bf U0lNRDoKKyAgICAgIGNhc2UgRVhFQ19PTVBfTUFTS0VEX1RBU0tMT09QX1NJTUQ6CisgICAg ICBjYXNlIEVYRUNfT01QX1BBUkFMTEVMX0RPX1NJTUQ6CisgICAgICBjYXNlIEVYRUNfT01Q X0RJU1RSSUJVVEVfU0lNRDoKKyAgICAgIGNhc2UgRVhFQ19PTVBfRElTVFJJQlVURV9QQVJB TExFTF9ET19TSU1EOgorICAgICAgY2FzZSBFWEVDX09NUF9URUFNU19ESVNUUklCVVRFX1NJ TUQ6CisgICAgICBjYXNlIEVYRUNfT01QX1RBUkdFVF9URUFNU19ESVNUUklCVVRFX1NJTUQ6 CisgICAgICBjYXNlIEVYRUNfT01QX0xPT1A6CisgICAgICBjYXNlIEVYRUNfT01QX1BBUkFM TEVMX0xPT1A6CisgICAgICBjYXNlIEVYRUNfT01QX1RFQU1TX0xPT1A6CisgICAgICBjYXNl IEVYRUNfT01QX1RBUkdFVF9QQVJBTExFTF9MT09QOgorICAgICAgY2FzZSBFWEVDX09NUF9U QVJHRVRfVEVBTVNfTE9PUDoKKyAgICAgIGNhc2UgRVhFQ19PTVBfRE86CisgICAgICBjYXNl IEVYRUNfT01QX1BBUkFMTEVMX0RPOgorICAgICAgY2FzZSBFWEVDX09NUF9TSU1EOgorICAg ICAgY2FzZSBFWEVDX09NUF9ET19TSU1EOgorICAgICAgY2FzZSBFWEVDX09NUF9ESVNUUklC VVRFX1BBUkFMTEVMX0RPOgorICAgICAgY2FzZSBFWEVDX09NUF9URUFNU19ESVNUUklCVVRF X1BBUkFMTEVMX0RPOgorICAgICAgY2FzZSBFWEVDX09NUF9UQVJHRVRfVEVBTVNfRElTVFJJ QlVURV9QQVJBTExFTF9ETzoKKyAgICAgIGNhc2UgRVhFQ19PTVBfVEFSR0VUX1BBUkFMTEVM X0RPOgorICAgICAgY2FzZSBFWEVDX09NUF9URUFNU19ESVNUUklCVVRFX1BBUkFMTEVMX0RP X1NJTUQ6CisKKwlnY2NfYXNzZXJ0IChvLT5oZWFkLT5uZXh0ICE9IE5VTEwKIAkJICAmJiAo by0+aGVhZC0+bmV4dC0+b3AgPT0gRVhFQ19ETwogCQkgICAgICB8fCBvLT5oZWFkLT5uZXh0 LT5vcCA9PSBFWEVDX0RPX1dISUxFKQogCQkgICYmIG8tPnByZXZpb3VzICE9IE5VTEwKIAkJ ICAmJiBvLT5wcmV2aW91cy0+dGFpbC0+b3AgPT0gby0+aGVhZC0+b3ApOwotICAgICAgaWYg KG8tPnByZXZpb3VzLT50YWlsLT5leHQub21wX2NsYXVzZXMgIT0gTlVMTCkKLQl7Ci0JICBp ZiAoby0+cHJldmlvdXMtPnRhaWwtPmV4dC5vbXBfY2xhdXNlcy0+Y29sbGFwc2UgPiAxKQot CSAgICBjb3VudCA9IG8tPnByZXZpb3VzLT50YWlsLT5leHQub21wX2NsYXVzZXMtPmNvbGxh cHNlOwotCSAgaWYgKG8tPnByZXZpb3VzLT50YWlsLT5leHQub21wX2NsYXVzZXMtPm9yZGVy ZWRjKQotCSAgICBjb3VudCA9IG8tPnByZXZpb3VzLT50YWlsLT5leHQub21wX2NsYXVzZXMt Pm9yZGVyZWRjOwotCX0KLSAgICAgIGlmIChzdCA9PSBTVF9FWElUICYmIGNudCA8PSBjb3Vu dCkKLQl7Ci0JICBnZmNfZXJyb3IgKCJFWElUIHN0YXRlbWVudCBhdCAlQyB0ZXJtaW5hdGlu ZyAhJE9NUCBETyBsb29wIik7Ci0JICByZXR1cm4gTUFUQ0hfRVJST1I7Ci0JfQotICAgICAg aWYgKHN0ID09IFNUX0NZQ0xFICYmIGNudCA8IGNvdW50KQotCXsKLQkgIGdmY19lcnJvciAo IkNZQ0xFIHN0YXRlbWVudCBhdCAlQyB0byBub24taW5uZXJtb3N0IGNvbGxhcHNlZCIKLQkJ ICAgICAiICEkT01QIERPIGxvb3AiKTsKLQkgIHJldHVybiBNQVRDSF9FUlJPUjsKLQl9Ci0g ICAgfQorCWlmIChvLT5wcmV2aW91cy0+dGFpbC0+ZXh0Lm9tcF9jbGF1c2VzICE9IE5VTEwp CisJICB7CisJICAgIGlmIChvLT5wcmV2aW91cy0+dGFpbC0+ZXh0Lm9tcF9jbGF1c2VzLT5j b2xsYXBzZSA+IDEpCisJICAgICAgY291bnQgPSBvLT5wcmV2aW91cy0+dGFpbC0+ZXh0Lm9t cF9jbGF1c2VzLT5jb2xsYXBzZTsKKwkgICAgaWYgKG8tPnByZXZpb3VzLT50YWlsLT5leHQu b21wX2NsYXVzZXMtPm9yZGVyZWRjKQorCSAgICAgIGNvdW50ID0gby0+cHJldmlvdXMtPnRh aWwtPmV4dC5vbXBfY2xhdXNlcy0+b3JkZXJlZGM7CisJICB9CisJaWYgKHN0ID09IFNUX0VY SVQgJiYgY250IDw9IGNvdW50KQorCSAgeworCSAgICBnZmNfZXJyb3IgKCJFWElUIHN0YXRl bWVudCBhdCAlQyB0ZXJtaW5hdGluZyAhJE9NUCBETyBsb29wIik7CisJICAgIHJldHVybiBN QVRDSF9FUlJPUjsKKwkgIH0KKwlpZiAoc3QgPT0gU1RfQ1lDTEUgJiYgY250IDwgY291bnQp CisJICB7CisJICAgIGdmY19lcnJvciAoIkNZQ0xFIHN0YXRlbWVudCBhdCAlQyB0byBub24t aW5uZXJtb3N0IGNvbGxhcHNlZCAiCisJCSAgICAgICAiISRPTVAgRE8gbG9vcCIpOworCSAg ICByZXR1cm4gTUFUQ0hfRVJST1I7CisJICB9CisJYnJlYWs7CisgICAgICBkZWZhdWx0Ogor CWJyZWFrOworICAgICAgfQogCiAgIC8qIFNhdmUgdGhlIGZpcnN0IHN0YXRlbWVudCBpbiB0 aGUgY29uc3RydWN0IC0gbmVlZGVkIGJ5IHRoZSBiYWNrZW5kLiAgKi8KICAgbmV3X3N0LmV4 dC53aGljaF9jb25zdHJ1Y3QgPSBwLT5jb25zdHJ1Y3Q7CmRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvbG9vcC1leGl0LmY5MCBiL2djYy90ZXN0c3VpdGUv Z2ZvcnRyYW4uZGcvZ29tcC9sb29wLWV4aXQuZjkwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwLi44MWVlYmNiYTY2YQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90 ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9sb29wLWV4aXQuZjkwCkBAIC0wLDAgKzEsNjc0 IEBACitzdWJyb3V0aW5lIHN1YjEKKyEkb21wIGRvCitvdXRlcjogZG8gaSA9IDEsIDUKKyAg aW5uZXI6IGRvIGogPSAxLCA1CisgICAgICAgaWYgKGsgPT0gNSkgZXhpdCAgISBvaworICAg ICAgIGlmIChrID09IDcpIGV4aXQgaW5uZXIgICEgb2sKKyAgICAgICBpZiAoayA9PSA5KSBl eGl0IG91dGVyICAhIHsgZGctZXJyb3IgIkVYSVQgc3RhdGVtZW50IGF0IC4xLiB0ZXJtaW5h dGluZyAhLk9NUCBETyBsb29wIiB9CisgIGVuZCBkbyBpbm5lcgorZW5kIGRvIG91dGVyCitl bmQKKworc3Vicm91dGluZSBzdWIyCishJG9tcCBwYXJhbGxlbCBkbworb3V0ZXI6IGRvIGkg PSAxLCA1CisgIGlubmVyOiBkbyBqID0gMSwgNQorICAgICAgIGlmIChrID09IDUpIGV4aXQg ICEgb2sKKyAgICAgICBpZiAoayA9PSA3KSBleGl0IGlubmVyICAhIG9rCisgICAgICAgaWYg KGsgPT0gOSkgZXhpdCBvdXRlciAgISB7IGRnLWVycm9yICJFWElUIHN0YXRlbWVudCBhdCAu MS4gdGVybWluYXRpbmcgIS5PTVAgRE8gbG9vcCIgfQorICBlbmQgZG8gaW5uZXIKK2VuZCBk byBvdXRlcgorZW5kCisKK3N1YnJvdXRpbmUgc3ViMworISRvbXAgc2ltZAorb3V0ZXI6IGRv IGkgPSAxLCA1CisgIGlubmVyOiBkbyBqID0gMSwgNQorICAgICAgIGlmIChrID09IDUpIGV4 aXQgICEgb2sKKyAgICAgICBpZiAoayA9PSA3KSBleGl0IGlubmVyICAhIG9rCisgICAgICAg aWYgKGsgPT0gOSkgZXhpdCBvdXRlciAgISB7IGRnLWVycm9yICJFWElUIHN0YXRlbWVudCBh dCAuMS4gdGVybWluYXRpbmcgIS5PTVAgRE8gbG9vcCIgfQorICBlbmQgZG8gaW5uZXIKK2Vu ZCBkbyBvdXRlcgorZW5kCisKK3N1YnJvdXRpbmUgc3ViNAorISRvbXAgZG8gc2ltZAorb3V0 ZXI6IGRvIGkgPSAxLCA1CisgIGlubmVyOiBkbyBqID0gMSwgNQorICAgICAgIGlmIChrID09 IDUpIGV4aXQgICEgb2sKKyAgICAgICBpZiAoayA9PSA3KSBleGl0IGlubmVyICAhIG9rCisg ICAgICAgaWYgKGsgPT0gOSkgZXhpdCBvdXRlciAgISB7IGRnLWVycm9yICJFWElUIHN0YXRl bWVudCBhdCAuMS4gdGVybWluYXRpbmcgIS5PTVAgRE8gbG9vcCIgfQorICBlbmQgZG8gaW5u ZXIKK2VuZCBkbyBvdXRlcgorZW5kCisKK3N1YnJvdXRpbmUgc3ViNQorISRvbXAgcGFyYWxs ZWwgZG8gc2ltZAorb3V0ZXI6IGRvIGkgPSAxLCA1CisgIGlubmVyOiBkbyBqID0gMSwgNQor ICAgICAgIGlmIChrID09IDUpIGV4aXQgICEgb2sKKyAgICAgICBpZiAoayA9PSA3KSBleGl0 IGlubmVyICAhIG9rCisgICAgICAgaWYgKGsgPT0gOSkgZXhpdCBvdXRlciAgISB7IGRnLWVy cm9yICJFWElUIHN0YXRlbWVudCBhdCAuMS4gdGVybWluYXRpbmcgIS5PTVAgRE8gbG9vcCIg fQorICBlbmQgZG8gaW5uZXIKK2VuZCBkbyBvdXRlcgorZW5kCisKK3N1YnJvdXRpbmUgc3Vi NgorISRvbXAgZGlzdHJpYnV0ZSBzaW1kCitvdXRlcjogZG8gaSA9IDEsIDUKKyAgaW5uZXI6 IGRvIGogPSAxLCA1CisgICAgICAgaWYgKGsgPT0gNSkgZXhpdCAgISBvaworICAgICAgIGlm IChrID09IDcpIGV4aXQgaW5uZXIgICEgb2sKKyAgICAgICBpZiAoayA9PSA5KSBleGl0IG91 dGVyICAhIHsgZGctZXJyb3IgIkVYSVQgc3RhdGVtZW50IGF0IC4xLiB0ZXJtaW5hdGluZyAh Lk9NUCBETyBsb29wIiB9CisgIGVuZCBkbyBpbm5lcgorZW5kIGRvIG91dGVyCitlbmQKKwor c3Vicm91dGluZSBzdWI3CishJG9tcCBkaXN0cmlidXRlIHBhcmFsbGVsIGRvCitvdXRlcjog ZG8gaSA9IDEsIDUKKyAgaW5uZXI6IGRvIGogPSAxLCA1CisgICAgICAgaWYgKGsgPT0gNSkg ZXhpdCAgISBvaworICAgICAgIGlmIChrID09IDcpIGV4aXQgaW5uZXIgICEgb2sKKyAgICAg ICBpZiAoayA9PSA5KSBleGl0IG91dGVyICAhIHsgZGctZXJyb3IgIkVYSVQgc3RhdGVtZW50 IGF0IC4xLiB0ZXJtaW5hdGluZyAhLk9NUCBETyBsb29wIiB9CisgIGVuZCBkbyBpbm5lcgor ZW5kIGRvIG91dGVyCitlbmQKKworc3Vicm91dGluZSBzdWI4CishJG9tcCBkaXN0cmlidXRl IHBhcmFsbGVsIGRvIHNpbWQKK291dGVyOiBkbyBpID0gMSwgNQorICBpbm5lcjogZG8gaiA9 IDEsIDUKKyAgICAgICBpZiAoayA9PSA1KSBleGl0ICAhIG9rCisgICAgICAgaWYgKGsgPT0g NykgZXhpdCBpbm5lciAgISBvaworICAgICAgIGlmIChrID09IDkpIGV4aXQgb3V0ZXIgICEg eyBkZy1lcnJvciAiRVhJVCBzdGF0ZW1lbnQgYXQgLjEuIHRlcm1pbmF0aW5nICEuT01QIERP IGxvb3AiIH0KKyAgZW5kIGRvIGlubmVyCitlbmQgZG8gb3V0ZXIKK2VuZAorCitzdWJyb3V0 aW5lIHN1YjkKKyEkb21wIHRlYW1zIGRpc3RyaWJ1dGUgc2ltZAorb3V0ZXI6IGRvIGkgPSAx LCA1CisgIGlubmVyOiBkbyBqID0gMSwgNQorICAgICAgIGlmIChrID09IDUpIGV4aXQgICEg b2sKKyAgICAgICBpZiAoayA9PSA3KSBleGl0IGlubmVyICAhIG9rCisgICAgICAgaWYgKGsg PT0gOSkgZXhpdCBvdXRlciAgISB7IGRnLWVycm9yICJFWElUIHN0YXRlbWVudCBhdCAuMS4g dGVybWluYXRpbmcgIS5PTVAgRE8gbG9vcCIgfQorICBlbmQgZG8gaW5uZXIKK2VuZCBkbyBv dXRlcgorZW5kCisKK3N1YnJvdXRpbmUgc3ViMTAKKyEkb21wIHRhcmdldCB0ZWFtcyBkaXN0 cmlidXRlIHNpbWQKK291dGVyOiBkbyBpID0gMSwgNQorICBpbm5lcjogZG8gaiA9IDEsIDUK KyAgICAgICBpZiAoayA9PSA1KSBleGl0ICAhIG9rCisgICAgICAgaWYgKGsgPT0gNykgZXhp dCBpbm5lciAgISBvaworICAgICAgIGlmIChrID09IDkpIGV4aXQgb3V0ZXIgICEgeyBkZy1l cnJvciAiRVhJVCBzdGF0ZW1lbnQgYXQgLjEuIHRlcm1pbmF0aW5nICEuT01QIERPIGxvb3Ai IH0KKyAgZW5kIGRvIGlubmVyCitlbmQgZG8gb3V0ZXIKK2VuZAorCitzdWJyb3V0aW5lIHN1 YjExCishJG9tcCB0ZWFtcyBkaXN0cmlidXRlIHBhcmFsbGVsIGRvCitvdXRlcjogZG8gaSA9 IDEsIDUKKyAgaW5uZXI6IGRvIGogPSAxLCA1CisgICAgICAgaWYgKGsgPT0gNSkgZXhpdCAg ISBvaworICAgICAgIGlmIChrID09IDcpIGV4aXQgaW5uZXIgICEgb2sKKyAgICAgICBpZiAo ayA9PSA5KSBleGl0IG91dGVyICAhIHsgZGctZXJyb3IgIkVYSVQgc3RhdGVtZW50IGF0IC4x LiB0ZXJtaW5hdGluZyAhLk9NUCBETyBsb29wIiB9CisgIGVuZCBkbyBpbm5lcgorZW5kIGRv IG91dGVyCitlbmQKKworc3Vicm91dGluZSBzdWIxMgorISRvbXAgdGFyZ2V0IHRlYW1zIGRp c3RyaWJ1dGUgcGFyYWxsZWwgZG8KK291dGVyOiBkbyBpID0gMSwgNQorICBpbm5lcjogZG8g aiA9IDEsIDUKKyAgICAgICBpZiAoayA9PSA1KSBleGl0ICAhIG9rCisgICAgICAgaWYgKGsg PT0gNykgZXhpdCBpbm5lciAgISBvaworICAgICAgIGlmIChrID09IDkpIGV4aXQgb3V0ZXIg ICEgeyBkZy1lcnJvciAiRVhJVCBzdGF0ZW1lbnQgYXQgLjEuIHRlcm1pbmF0aW5nICEuT01Q IERPIGxvb3AiIH0KKyAgZW5kIGRvIGlubmVyCitlbmQgZG8gb3V0ZXIKK2VuZAorCitzdWJy b3V0aW5lIHN1YjEzCishJG9tcCB0ZWFtcyBkaXN0cmlidXRlIHBhcmFsbGVsIGRvIHNpbWQK K291dGVyOiBkbyBpID0gMSwgNQorICBpbm5lcjogZG8gaiA9IDEsIDUKKyAgICAgICBpZiAo ayA9PSA1KSBleGl0ICAhIG9rCisgICAgICAgaWYgKGsgPT0gNykgZXhpdCBpbm5lciAgISBv aworICAgICAgIGlmIChrID09IDkpIGV4aXQgb3V0ZXIgICEgeyBkZy1lcnJvciAiRVhJVCBz dGF0ZW1lbnQgYXQgLjEuIHRlcm1pbmF0aW5nICEuT01QIERPIGxvb3AiIH0KKyAgZW5kIGRv IGlubmVyCitlbmQgZG8gb3V0ZXIKK2VuZAorCitzdWJyb3V0aW5lIHN1YjE0CishJG9tcCB0 YXJnZXQgdGVhbXMgZGlzdHJpYnV0ZSBwYXJhbGxlbCBkbyBzaW1kCitvdXRlcjogZG8gaSA9 IDEsIDUKKyAgaW5uZXI6IGRvIGogPSAxLCA1CisgICAgICAgaWYgKGsgPT0gNSkgZXhpdCAg ISBvaworICAgICAgIGlmIChrID09IDcpIGV4aXQgaW5uZXIgICEgb2sKKyAgICAgICBpZiAo ayA9PSA5KSBleGl0IG91dGVyICAhIHsgZGctZXJyb3IgIkVYSVQgc3RhdGVtZW50IGF0IC4x LiB0ZXJtaW5hdGluZyAhLk9NUCBETyBsb29wIiB9CisgIGVuZCBkbyBpbm5lcgorZW5kIGRv IG91dGVyCitlbmQKKworc3Vicm91dGluZSBzdWIxNQorISRvbXAgdGFyZ2V0IHBhcmFsbGVs IGRvCitvdXRlcjogZG8gaSA9IDEsIDUKKyAgaW5uZXI6IGRvIGogPSAxLCA1CisgICAgICAg aWYgKGsgPT0gNSkgZXhpdCAgISBvaworICAgICAgIGlmIChrID09IDcpIGV4aXQgaW5uZXIg ICEgb2sKKyAgICAgICBpZiAoayA9PSA5KSBleGl0IG91dGVyICAhIHsgZGctZXJyb3IgIkVY SVQgc3RhdGVtZW50IGF0IC4xLiB0ZXJtaW5hdGluZyAhLk9NUCBETyBsb29wIiB9CisgIGVu ZCBkbyBpbm5lcgorZW5kIGRvIG91dGVyCitlbmQKKworc3Vicm91dGluZSBzdWIxNgorISRv bXAgdGFyZ2V0IHBhcmFsbGVsIGRvIHNpbWQKK291dGVyOiBkbyBpID0gMSwgNQorICBpbm5l cjogZG8gaiA9IDEsIDUKKyAgICAgICBpZiAoayA9PSA1KSBleGl0ICAhIG9rCisgICAgICAg aWYgKGsgPT0gNykgZXhpdCBpbm5lciAgISBvaworICAgICAgIGlmIChrID09IDkpIGV4aXQg b3V0ZXIgICEgeyBkZy1lcnJvciAiRVhJVCBzdGF0ZW1lbnQgYXQgLjEuIHRlcm1pbmF0aW5n ICEuT01QIERPIGxvb3AiIH0KKyAgZW5kIGRvIGlubmVyCitlbmQgZG8gb3V0ZXIKK2VuZAor CitzdWJyb3V0aW5lIHN1YjE3CishJG9tcCB0YXJnZXQgc2ltZAorb3V0ZXI6IGRvIGkgPSAx LCA1CisgIGlubmVyOiBkbyBqID0gMSwgNQorICAgICAgIGlmIChrID09IDUpIGV4aXQgICEg b2sKKyAgICAgICBpZiAoayA9PSA3KSBleGl0IGlubmVyICAhIG9rCisgICAgICAgaWYgKGsg PT0gOSkgZXhpdCBvdXRlciAgISB7IGRnLWVycm9yICJFWElUIHN0YXRlbWVudCBhdCAuMS4g dGVybWluYXRpbmcgIS5PTVAgRE8gbG9vcCIgfQorICBlbmQgZG8gaW5uZXIKK2VuZCBkbyBv dXRlcgorZW5kCisKK3N1YnJvdXRpbmUgc3ViMTgKKyEkb21wIHRhc2tsb29wIHNpbWQKK291 dGVyOiBkbyBpID0gMSwgNQorICBpbm5lcjogZG8gaiA9IDEsIDUKKyAgICAgICBpZiAoayA9 PSA1KSBleGl0ICAhIG9rCisgICAgICAgaWYgKGsgPT0gNykgZXhpdCBpbm5lciAgISBvawor ICAgICAgIGlmIChrID09IDkpIGV4aXQgb3V0ZXIgICEgeyBkZy1lcnJvciAiRVhJVCBzdGF0 ZW1lbnQgYXQgLjEuIHRlcm1pbmF0aW5nICEuT01QIERPIGxvb3AiIH0KKyAgZW5kIGRvIGlu bmVyCitlbmQgZG8gb3V0ZXIKK2VuZAorCitzdWJyb3V0aW5lIHN1YjE5CishJG9tcCBwYXJh bGxlbCBtYXN0ZXIgdGFza2xvb3Agc2ltZAorb3V0ZXI6IGRvIGkgPSAxLCA1CisgIGlubmVy OiBkbyBqID0gMSwgNQorICAgICAgIGlmIChrID09IDUpIGV4aXQgICEgb2sKKyAgICAgICBp ZiAoayA9PSA3KSBleGl0IGlubmVyICAhIG9rCisgICAgICAgaWYgKGsgPT0gOSkgZXhpdCBv dXRlciAgISB7IGRnLWVycm9yICJFWElUIHN0YXRlbWVudCBhdCAuMS4gdGVybWluYXRpbmcg IS5PTVAgRE8gbG9vcCIgfQorICBlbmQgZG8gaW5uZXIKK2VuZCBkbyBvdXRlcgorZW5kCisK K3N1YnJvdXRpbmUgc3ViMjAKKyEkb21wIG1hc3RlciB0YXNrbG9vcCBzaW1kCitvdXRlcjog ZG8gaSA9IDEsIDUKKyAgaW5uZXI6IGRvIGogPSAxLCA1CisgICAgICAgaWYgKGsgPT0gNSkg ZXhpdCAgISBvaworICAgICAgIGlmIChrID09IDcpIGV4aXQgaW5uZXIgICEgb2sKKyAgICAg ICBpZiAoayA9PSA5KSBleGl0IG91dGVyICAhIHsgZGctZXJyb3IgIkVYSVQgc3RhdGVtZW50 IGF0IC4xLiB0ZXJtaW5hdGluZyAhLk9NUCBETyBsb29wIiB9CisgIGVuZCBkbyBpbm5lcgor ZW5kIGRvIG91dGVyCitlbmQKKworc3Vicm91dGluZSBzdWIyMQorISRvbXAgcGFyYWxsZWwg bWFza2VkIHRhc2tsb29wIHNpbWQKK291dGVyOiBkbyBpID0gMSwgNQorICBpbm5lcjogZG8g aiA9IDEsIDUKKyAgICAgICBpZiAoayA9PSA1KSBleGl0ICAhIG9rCisgICAgICAgaWYgKGsg PT0gNykgZXhpdCBpbm5lciAgISBvaworICAgICAgIGlmIChrID09IDkpIGV4aXQgb3V0ZXIg ICEgeyBkZy1lcnJvciAiRVhJVCBzdGF0ZW1lbnQgYXQgLjEuIHRlcm1pbmF0aW5nICEuT01Q IERPIGxvb3AiIH0KKyAgZW5kIGRvIGlubmVyCitlbmQgZG8gb3V0ZXIKK2VuZAorCitzdWJy b3V0aW5lIHN1YjIyCishJG9tcCBtYXNrZWQgdGFza2xvb3Agc2ltZAorb3V0ZXI6IGRvIGkg PSAxLCA1CisgIGlubmVyOiBkbyBqID0gMSwgNQorICAgICAgIGlmIChrID09IDUpIGV4aXQg ICEgb2sKKyAgICAgICBpZiAoayA9PSA3KSBleGl0IGlubmVyICAhIG9rCisgICAgICAgaWYg KGsgPT0gOSkgZXhpdCBvdXRlciAgISB7IGRnLWVycm9yICJFWElUIHN0YXRlbWVudCBhdCAu MS4gdGVybWluYXRpbmcgIS5PTVAgRE8gbG9vcCIgfQorICBlbmQgZG8gaW5uZXIKK2VuZCBk byBvdXRlcgorZW5kCisKK3N1YnJvdXRpbmUgc3ViMjMKKyEkb21wIGxvb3AKK291dGVyOiBk byBpID0gMSwgNQorICBpbm5lcjogZG8gaiA9IDEsIDUKKyAgICAgICBpZiAoayA9PSA1KSBl eGl0ICAhIG9rCisgICAgICAgaWYgKGsgPT0gNykgZXhpdCBpbm5lciAgISBvaworICAgICAg IGlmIChrID09IDkpIGV4aXQgb3V0ZXIgICEgeyBkZy1lcnJvciAiRVhJVCBzdGF0ZW1lbnQg YXQgLjEuIHRlcm1pbmF0aW5nICEuT01QIERPIGxvb3AiIH0KKyAgZW5kIGRvIGlubmVyCitl bmQgZG8gb3V0ZXIKK2VuZAorCitzdWJyb3V0aW5lIHN1YjI0CishJG9tcCBwYXJhbGxlbCBs b29wCitvdXRlcjogZG8gaSA9IDEsIDUKKyAgaW5uZXI6IGRvIGogPSAxLCA1CisgICAgICAg aWYgKGsgPT0gNSkgZXhpdCAgISBvaworICAgICAgIGlmIChrID09IDcpIGV4aXQgaW5uZXIg ICEgb2sKKyAgICAgICBpZiAoayA9PSA5KSBleGl0IG91dGVyICAhIHsgZGctZXJyb3IgIkVY SVQgc3RhdGVtZW50IGF0IC4xLiB0ZXJtaW5hdGluZyAhLk9NUCBETyBsb29wIiB9CisgIGVu ZCBkbyBpbm5lcgorZW5kIGRvIG91dGVyCitlbmQKKworc3Vicm91dGluZSBzdWIyNQorISRv bXAgdGVhbXMgbG9vcAorb3V0ZXI6IGRvIGkgPSAxLCA1CisgIGlubmVyOiBkbyBqID0gMSwg NQorICAgICAgIGlmIChrID09IDUpIGV4aXQgICEgb2sKKyAgICAgICBpZiAoayA9PSA3KSBl eGl0IGlubmVyICAhIG9rCisgICAgICAgaWYgKGsgPT0gOSkgZXhpdCBvdXRlciAgISB7IGRn LWVycm9yICJFWElUIHN0YXRlbWVudCBhdCAuMS4gdGVybWluYXRpbmcgIS5PTVAgRE8gbG9v cCIgfQorICBlbmQgZG8gaW5uZXIKK2VuZCBkbyBvdXRlcgorZW5kCisKK3N1YnJvdXRpbmUg c3ViMjYKKyEkb21wIHRhcmdldCBwYXJhbGxlbCBsb29wCitvdXRlcjogZG8gaSA9IDEsIDUK KyAgaW5uZXI6IGRvIGogPSAxLCA1CisgICAgICAgaWYgKGsgPT0gNSkgZXhpdCAgISBvawor ICAgICAgIGlmIChrID09IDcpIGV4aXQgaW5uZXIgICEgb2sKKyAgICAgICBpZiAoayA9PSA5 KSBleGl0IG91dGVyICAhIHsgZGctZXJyb3IgIkVYSVQgc3RhdGVtZW50IGF0IC4xLiB0ZXJt aW5hdGluZyAhLk9NUCBETyBsb29wIiB9CisgIGVuZCBkbyBpbm5lcgorZW5kIGRvIG91dGVy CitlbmQKKworc3Vicm91dGluZSBzdWIyNworISRvbXAgdGFyZ2V0IHRlYW1zIGxvb3AKK291 dGVyOiBkbyBpID0gMSwgNQorICBpbm5lcjogZG8gaiA9IDEsIDUKKyAgICAgICBpZiAoayA9 PSA1KSBleGl0ICAhIG9rCisgICAgICAgaWYgKGsgPT0gNykgZXhpdCBpbm5lciAgISBvawor ICAgICAgIGlmIChrID09IDkpIGV4aXQgb3V0ZXIgICEgeyBkZy1lcnJvciAiRVhJVCBzdGF0 ZW1lbnQgYXQgLjEuIHRlcm1pbmF0aW5nICEuT01QIERPIGxvb3AiIH0KKyAgZW5kIGRvIGlu bmVyCitlbmQgZG8gb3V0ZXIKK2VuZAorCitzdWJyb3V0aW5lIHN1YjI4CishJG9tcCBkbyBj b2xsYXBzZSgzKQorZG8gaWkgPSBpMSwgaTIKKyBkbyBqaiA9IGoxLCBqMgorICAgZG8ga2sg PSBrMSwgazIKKyAgICAgaWYgKGtrID4gNSkgdGhlbgorICAgICAgIGsgPSAwCisgICAgIGVu ZCBpZgorICAgICBpZiAoa2sgPT0gNykgZXhpdCAgISB7IGRnLWVycm9yICJFWElUIHN0YXRl bWVudCBhdCAuMS4gdGVybWluYXRpbmcgIS5PTVAgRE8gbG9vcCIgfQorICBlbmQgZG8KKyAg ZW5kIGRvCitlbmQgZG8KK2VuZAorCitzdWJyb3V0aW5lIHN1YjI5CishJG9tcCBwYXJhbGxl bCBkbyBjb2xsYXBzZSgzKQorZG8gaWkgPSBpMSwgaTIKKyBkbyBqaiA9IGoxLCBqMgorICAg ZG8ga2sgPSBrMSwgazIKKyAgICAgaWYgKGtrID4gNSkgdGhlbgorICAgICAgIGsgPSAwCisg ICAgIGVuZCBpZgorICAgICBpZiAoa2sgPT0gNykgZXhpdCAgISB7IGRnLWVycm9yICJFWElU IHN0YXRlbWVudCBhdCAuMS4gdGVybWluYXRpbmcgIS5PTVAgRE8gbG9vcCIgfQorICBlbmQg ZG8KKyAgZW5kIGRvCitlbmQgZG8KK2VuZAorCitzdWJyb3V0aW5lIHN1YjMwCishJG9tcCBz aW1kIGNvbGxhcHNlKDMpCitkbyBpaSA9IGkxLCBpMgorIGRvIGpqID0gajEsIGoyCisgICBk byBrayA9IGsxLCBrMgorICAgICBpZiAoa2sgPiA1KSB0aGVuCisgICAgICAgayA9IDAKKyAg ICAgZW5kIGlmCisgICAgIGlmIChrayA9PSA3KSBleGl0ICAhIHsgZGctZXJyb3IgIkVYSVQg c3RhdGVtZW50IGF0IC4xLiB0ZXJtaW5hdGluZyAhLk9NUCBETyBsb29wIiB9CisgIGVuZCBk bworICBlbmQgZG8KK2VuZCBkbworZW5kCisKK3N1YnJvdXRpbmUgc3ViMzEKKyEkb21wIGRv IHNpbWQgY29sbGFwc2UoMykKK2RvIGlpID0gaTEsIGkyCisgZG8gamogPSBqMSwgajIKKyAg IGRvIGtrID0gazEsIGsyCisgICAgIGlmIChrayA+IDUpIHRoZW4KKyAgICAgICBrID0gMAor ICAgICBlbmQgaWYKKyAgICAgaWYgKGtrID09IDcpIGV4aXQgICEgeyBkZy1lcnJvciAiRVhJ VCBzdGF0ZW1lbnQgYXQgLjEuIHRlcm1pbmF0aW5nICEuT01QIERPIGxvb3AiIH0KKyAgZW5k IGRvCisgIGVuZCBkbworZW5kIGRvCitlbmQKKworc3Vicm91dGluZSBzdWIzMgorISRvbXAg cGFyYWxsZWwgZG8gc2ltZCBjb2xsYXBzZSgzKQorZG8gaWkgPSBpMSwgaTIKKyBkbyBqaiA9 IGoxLCBqMgorICAgZG8ga2sgPSBrMSwgazIKKyAgICAgaWYgKGtrID4gNSkgdGhlbgorICAg ICAgIGsgPSAwCisgICAgIGVuZCBpZgorICAgICBpZiAoa2sgPT0gNykgZXhpdCAgISB7IGRn LWVycm9yICJFWElUIHN0YXRlbWVudCBhdCAuMS4gdGVybWluYXRpbmcgIS5PTVAgRE8gbG9v cCIgfQorICBlbmQgZG8KKyAgZW5kIGRvCitlbmQgZG8KK2VuZAorCitzdWJyb3V0aW5lIHN1 YjMzCishJG9tcCBkaXN0cmlidXRlIHNpbWQgY29sbGFwc2UoMykKK2RvIGlpID0gaTEsIGky CisgZG8gamogPSBqMSwgajIKKyAgIGRvIGtrID0gazEsIGsyCisgICAgIGlmIChrayA+IDUp IHRoZW4KKyAgICAgICBrID0gMAorICAgICBlbmQgaWYKKyAgICAgaWYgKGtrID09IDcpIGV4 aXQgICEgeyBkZy1lcnJvciAiRVhJVCBzdGF0ZW1lbnQgYXQgLjEuIHRlcm1pbmF0aW5nICEu T01QIERPIGxvb3AiIH0KKyAgZW5kIGRvCisgIGVuZCBkbworZW5kIGRvCitlbmQKKworc3Vi cm91dGluZSBzdWIzNAorISRvbXAgZGlzdHJpYnV0ZSBwYXJhbGxlbCBkbyBjb2xsYXBzZSgz KQorZG8gaWkgPSBpMSwgaTIKKyBkbyBqaiA9IGoxLCBqMgorICAgZG8ga2sgPSBrMSwgazIK KyAgICAgaWYgKGtrID4gNSkgdGhlbgorICAgICAgIGsgPSAwCisgICAgIGVuZCBpZgorICAg ICBpZiAoa2sgPT0gNykgZXhpdCAgISB7IGRnLWVycm9yICJFWElUIHN0YXRlbWVudCBhdCAu MS4gdGVybWluYXRpbmcgIS5PTVAgRE8gbG9vcCIgfQorICBlbmQgZG8KKyAgZW5kIGRvCitl bmQgZG8KK2VuZAorCitzdWJyb3V0aW5lIHN1YjM1CishJG9tcCBkaXN0cmlidXRlIHBhcmFs bGVsIGRvIHNpbWQgY29sbGFwc2UoMykKK2RvIGlpID0gaTEsIGkyCisgZG8gamogPSBqMSwg ajIKKyAgIGRvIGtrID0gazEsIGsyCisgICAgIGlmIChrayA+IDUpIHRoZW4KKyAgICAgICBr ID0gMAorICAgICBlbmQgaWYKKyAgICAgaWYgKGtrID09IDcpIGV4aXQgICEgeyBkZy1lcnJv ciAiRVhJVCBzdGF0ZW1lbnQgYXQgLjEuIHRlcm1pbmF0aW5nICEuT01QIERPIGxvb3AiIH0K KyAgZW5kIGRvCisgIGVuZCBkbworZW5kIGRvCitlbmQKKworc3Vicm91dGluZSBzdWIzNgor ISRvbXAgdGVhbXMgZGlzdHJpYnV0ZSBzaW1kIGNvbGxhcHNlKDMpCitkbyBpaSA9IGkxLCBp MgorIGRvIGpqID0gajEsIGoyCisgICBkbyBrayA9IGsxLCBrMgorICAgICBpZiAoa2sgPiA1 KSB0aGVuCisgICAgICAgayA9IDAKKyAgICAgZW5kIGlmCisgICAgIGlmIChrayA9PSA3KSBl eGl0ICAhIHsgZGctZXJyb3IgIkVYSVQgc3RhdGVtZW50IGF0IC4xLiB0ZXJtaW5hdGluZyAh Lk9NUCBETyBsb29wIiB9CisgIGVuZCBkbworICBlbmQgZG8KK2VuZCBkbworZW5kCisKK3N1 YnJvdXRpbmUgc3ViMzcKKyEkb21wIHRhcmdldCB0ZWFtcyBkaXN0cmlidXRlIHNpbWQgY29s bGFwc2UoMykKK2RvIGlpID0gaTEsIGkyCisgZG8gamogPSBqMSwgajIKKyAgIGRvIGtrID0g azEsIGsyCisgICAgIGlmIChrayA+IDUpIHRoZW4KKyAgICAgICBrID0gMAorICAgICBlbmQg aWYKKyAgICAgaWYgKGtrID09IDcpIGV4aXQgICEgeyBkZy1lcnJvciAiRVhJVCBzdGF0ZW1l bnQgYXQgLjEuIHRlcm1pbmF0aW5nICEuT01QIERPIGxvb3AiIH0KKyAgZW5kIGRvCisgIGVu ZCBkbworZW5kIGRvCitlbmQKKworc3Vicm91dGluZSBzdWIzOAorISRvbXAgdGVhbXMgZGlz dHJpYnV0ZSBwYXJhbGxlbCBkbyBjb2xsYXBzZSgzKQorZG8gaWkgPSBpMSwgaTIKKyBkbyBq aiA9IGoxLCBqMgorICAgZG8ga2sgPSBrMSwgazIKKyAgICAgaWYgKGtrID4gNSkgdGhlbgor ICAgICAgIGsgPSAwCisgICAgIGVuZCBpZgorICAgICBpZiAoa2sgPT0gNykgZXhpdCAgISB7 IGRnLWVycm9yICJFWElUIHN0YXRlbWVudCBhdCAuMS4gdGVybWluYXRpbmcgIS5PTVAgRE8g bG9vcCIgfQorICBlbmQgZG8KKyAgZW5kIGRvCitlbmQgZG8KK2VuZAorCitzdWJyb3V0aW5l IHN1YjM5CishJG9tcCB0YXJnZXQgdGVhbXMgZGlzdHJpYnV0ZSBwYXJhbGxlbCBkbyBjb2xs YXBzZSgzKQorZG8gaWkgPSBpMSwgaTIKKyBkbyBqaiA9IGoxLCBqMgorICAgZG8ga2sgPSBr MSwgazIKKyAgICAgaWYgKGtrID4gNSkgdGhlbgorICAgICAgIGsgPSAwCisgICAgIGVuZCBp ZgorICAgICBpZiAoa2sgPT0gNykgZXhpdCAgISB7IGRnLWVycm9yICJFWElUIHN0YXRlbWVu dCBhdCAuMS4gdGVybWluYXRpbmcgIS5PTVAgRE8gbG9vcCIgfQorICBlbmQgZG8KKyAgZW5k IGRvCitlbmQgZG8KK2VuZAorCitzdWJyb3V0aW5lIHN1YjQwCishJG9tcCB0ZWFtcyBkaXN0 cmlidXRlIHBhcmFsbGVsIGRvIHNpbWQgY29sbGFwc2UoMykKK2RvIGlpID0gaTEsIGkyCisg ZG8gamogPSBqMSwgajIKKyAgIGRvIGtrID0gazEsIGsyCisgICAgIGlmIChrayA+IDUpIHRo ZW4KKyAgICAgICBrID0gMAorICAgICBlbmQgaWYKKyAgICAgaWYgKGtrID09IDcpIGV4aXQg ICEgeyBkZy1lcnJvciAiRVhJVCBzdGF0ZW1lbnQgYXQgLjEuIHRlcm1pbmF0aW5nICEuT01Q IERPIGxvb3AiIH0KKyAgZW5kIGRvCisgIGVuZCBkbworZW5kIGRvCitlbmQKKworc3Vicm91 dGluZSBzdWI0MQorISRvbXAgdGFyZ2V0IHRlYW1zIGRpc3RyaWJ1dGUgcGFyYWxsZWwgZG8g c2ltZCBjb2xsYXBzZSgzKQorZG8gaWkgPSBpMSwgaTIKKyBkbyBqaiA9IGoxLCBqMgorICAg ZG8ga2sgPSBrMSwgazIKKyAgICAgaWYgKGtrID4gNSkgdGhlbgorICAgICAgIGsgPSAwCisg ICAgIGVuZCBpZgorICAgICBpZiAoa2sgPT0gNykgZXhpdCAgISB7IGRnLWVycm9yICJFWElU IHN0YXRlbWVudCBhdCAuMS4gdGVybWluYXRpbmcgIS5PTVAgRE8gbG9vcCIgfQorICBlbmQg ZG8KKyAgZW5kIGRvCitlbmQgZG8KK2VuZAorCitzdWJyb3V0aW5lIHN1YjQyCishJG9tcCB0 YXJnZXQgcGFyYWxsZWwgZG8gY29sbGFwc2UoMykKK2RvIGlpID0gaTEsIGkyCisgZG8gamog PSBqMSwgajIKKyAgIGRvIGtrID0gazEsIGsyCisgICAgIGlmIChrayA+IDUpIHRoZW4KKyAg ICAgICBrID0gMAorICAgICBlbmQgaWYKKyAgICAgaWYgKGtrID09IDcpIGV4aXQgICEgeyBk Zy1lcnJvciAiRVhJVCBzdGF0ZW1lbnQgYXQgLjEuIHRlcm1pbmF0aW5nICEuT01QIERPIGxv b3AiIH0KKyAgZW5kIGRvCisgIGVuZCBkbworZW5kIGRvCitlbmQKKworc3Vicm91dGluZSBz dWI0MworISRvbXAgdGFyZ2V0IHBhcmFsbGVsIGRvIHNpbWQgY29sbGFwc2UoMykKK2RvIGlp ID0gaTEsIGkyCisgZG8gamogPSBqMSwgajIKKyAgIGRvIGtrID0gazEsIGsyCisgICAgIGlm IChrayA+IDUpIHRoZW4KKyAgICAgICBrID0gMAorICAgICBlbmQgaWYKKyAgICAgaWYgKGtr ID09IDcpIGV4aXQgICEgeyBkZy1lcnJvciAiRVhJVCBzdGF0ZW1lbnQgYXQgLjEuIHRlcm1p bmF0aW5nICEuT01QIERPIGxvb3AiIH0KKyAgZW5kIGRvCisgIGVuZCBkbworZW5kIGRvCitl bmQKKworc3Vicm91dGluZSBzdWI0NAorISRvbXAgdGFyZ2V0IHNpbWQgY29sbGFwc2UoMykK K2RvIGlpID0gaTEsIGkyCisgZG8gamogPSBqMSwgajIKKyAgIGRvIGtrID0gazEsIGsyCisg ICAgIGlmIChrayA+IDUpIHRoZW4KKyAgICAgICBrID0gMAorICAgICBlbmQgaWYKKyAgICAg aWYgKGtrID09IDcpIGV4aXQgICEgeyBkZy1lcnJvciAiRVhJVCBzdGF0ZW1lbnQgYXQgLjEu IHRlcm1pbmF0aW5nICEuT01QIERPIGxvb3AiIH0KKyAgZW5kIGRvCisgIGVuZCBkbworZW5k IGRvCitlbmQKKworc3Vicm91dGluZSBzdWI0NQorISRvbXAgdGFza2xvb3Agc2ltZCBjb2xs YXBzZSgzKQorZG8gaWkgPSBpMSwgaTIKKyBkbyBqaiA9IGoxLCBqMgorICAgZG8ga2sgPSBr MSwgazIKKyAgICAgaWYgKGtrID4gNSkgdGhlbgorICAgICAgIGsgPSAwCisgICAgIGVuZCBp ZgorICAgICBpZiAoa2sgPT0gNykgZXhpdCAgISB7IGRnLWVycm9yICJFWElUIHN0YXRlbWVu dCBhdCAuMS4gdGVybWluYXRpbmcgIS5PTVAgRE8gbG9vcCIgfQorICBlbmQgZG8KKyAgZW5k IGRvCitlbmQgZG8KK2VuZAorCitzdWJyb3V0aW5lIHN1YjQ2CishJG9tcCBwYXJhbGxlbCBt YXN0ZXIgdGFza2xvb3Agc2ltZCBjb2xsYXBzZSgzKQorZG8gaWkgPSBpMSwgaTIKKyBkbyBq aiA9IGoxLCBqMgorICAgZG8ga2sgPSBrMSwgazIKKyAgICAgaWYgKGtrID4gNSkgdGhlbgor ICAgICAgIGsgPSAwCisgICAgIGVuZCBpZgorICAgICBpZiAoa2sgPT0gNykgZXhpdCAgISB7 IGRnLWVycm9yICJFWElUIHN0YXRlbWVudCBhdCAuMS4gdGVybWluYXRpbmcgIS5PTVAgRE8g bG9vcCIgfQorICBlbmQgZG8KKyAgZW5kIGRvCitlbmQgZG8KK2VuZAorCitzdWJyb3V0aW5l IHN1YjQ3CishJG9tcCBtYXN0ZXIgdGFza2xvb3Agc2ltZCBjb2xsYXBzZSgzKQorZG8gaWkg PSBpMSwgaTIKKyBkbyBqaiA9IGoxLCBqMgorICAgZG8ga2sgPSBrMSwgazIKKyAgICAgaWYg KGtrID4gNSkgdGhlbgorICAgICAgIGsgPSAwCisgICAgIGVuZCBpZgorICAgICBpZiAoa2sg PT0gNykgZXhpdCAgISB7IGRnLWVycm9yICJFWElUIHN0YXRlbWVudCBhdCAuMS4gdGVybWlu YXRpbmcgIS5PTVAgRE8gbG9vcCIgfQorICBlbmQgZG8KKyAgZW5kIGRvCitlbmQgZG8KK2Vu ZAorCitzdWJyb3V0aW5lIHN1YjQ4CishJG9tcCBwYXJhbGxlbCBtYXNrZWQgdGFza2xvb3Ag c2ltZCBjb2xsYXBzZSgzKQorZG8gaWkgPSBpMSwgaTIKKyBkbyBqaiA9IGoxLCBqMgorICAg ZG8ga2sgPSBrMSwgazIKKyAgICAgaWYgKGtrID4gNSkgdGhlbgorICAgICAgIGsgPSAwCisg ICAgIGVuZCBpZgorICAgICBpZiAoa2sgPT0gNykgZXhpdCAgISB7IGRnLWVycm9yICJFWElU IHN0YXRlbWVudCBhdCAuMS4gdGVybWluYXRpbmcgIS5PTVAgRE8gbG9vcCIgfQorICBlbmQg ZG8KKyAgZW5kIGRvCitlbmQgZG8KK2VuZAorCitzdWJyb3V0aW5lIHN1YjQ5CishJG9tcCBt YXNrZWQgdGFza2xvb3Agc2ltZCBjb2xsYXBzZSgzKQorZG8gaWkgPSBpMSwgaTIKKyBkbyBq aiA9IGoxLCBqMgorICAgZG8ga2sgPSBrMSwgazIKKyAgICAgaWYgKGtrID4gNSkgdGhlbgor ICAgICAgIGsgPSAwCisgICAgIGVuZCBpZgorICAgICBpZiAoa2sgPT0gNykgZXhpdCAgISB7 IGRnLWVycm9yICJFWElUIHN0YXRlbWVudCBhdCAuMS4gdGVybWluYXRpbmcgIS5PTVAgRE8g bG9vcCIgfQorICBlbmQgZG8KKyAgZW5kIGRvCitlbmQgZG8KK2VuZAorCitzdWJyb3V0aW5l IHN1YjUwCishJG9tcCBsb29wIGNvbGxhcHNlKDMpCitkbyBpaSA9IGkxLCBpMgorIGRvIGpq ID0gajEsIGoyCisgICBkbyBrayA9IGsxLCBrMgorICAgICBpZiAoa2sgPiA1KSB0aGVuCisg ICAgICAgayA9IDAKKyAgICAgZW5kIGlmCisgICAgIGlmIChrayA9PSA3KSBleGl0ICAhIHsg ZGctZXJyb3IgIkVYSVQgc3RhdGVtZW50IGF0IC4xLiB0ZXJtaW5hdGluZyAhLk9NUCBETyBs b29wIiB9CisgIGVuZCBkbworICBlbmQgZG8KK2VuZCBkbworZW5kCisKK3N1YnJvdXRpbmUg c3ViNTEKKyEkb21wIHBhcmFsbGVsIGxvb3AgY29sbGFwc2UoMykKK2RvIGlpID0gaTEsIGky CisgZG8gamogPSBqMSwgajIKKyAgIGRvIGtrID0gazEsIGsyCisgICAgIGlmIChrayA+IDUp IHRoZW4KKyAgICAgICBrID0gMAorICAgICBlbmQgaWYKKyAgICAgaWYgKGtrID09IDcpIGV4 aXQgICEgeyBkZy1lcnJvciAiRVhJVCBzdGF0ZW1lbnQgYXQgLjEuIHRlcm1pbmF0aW5nICEu T01QIERPIGxvb3AiIH0KKyAgZW5kIGRvCisgIGVuZCBkbworZW5kIGRvCitlbmQKKworc3Vi cm91dGluZSBzdWI1MgorISRvbXAgdGVhbXMgbG9vcCBjb2xsYXBzZSgzKQorZG8gaWkgPSBp MSwgaTIKKyBkbyBqaiA9IGoxLCBqMgorICAgZG8ga2sgPSBrMSwgazIKKyAgICAgaWYgKGtr ID4gNSkgdGhlbgorICAgICAgIGsgPSAwCisgICAgIGVuZCBpZgorICAgICBpZiAoa2sgPT0g NykgZXhpdCAgISB7IGRnLWVycm9yICJFWElUIHN0YXRlbWVudCBhdCAuMS4gdGVybWluYXRp bmcgIS5PTVAgRE8gbG9vcCIgfQorICBlbmQgZG8KKyAgZW5kIGRvCitlbmQgZG8KK2VuZAor CitzdWJyb3V0aW5lIHN1YjUzCishJG9tcCB0YXJnZXQgcGFyYWxsZWwgbG9vcCBjb2xsYXBz ZSgzKQorZG8gaWkgPSBpMSwgaTIKK2RvIGpqID0gajEsIGoyCitkbyBrayA9IGsxLCBrMgor ICAgICBpZiAoa2sgPiA1KSB0aGVuCisgICAgICAgayA9IDAKKyAgICAgZW5kIGlmCisgICAg IGlmIChrayA9PSA3KSBleGl0ICAhIHsgZGctZXJyb3IgIkVYSVQgc3RhdGVtZW50IGF0IC4x LiB0ZXJtaW5hdGluZyAhLk9NUCBETyBsb29wIiB9CisgIGVuZCBkbworICBlbmQgZG8KK2Vu ZCBkbworZW5kCisKK3N1YnJvdXRpbmUgc3ViNTQKKyEkb21wIHRhcmdldCB0ZWFtcyBsb29w IGNvbGxhcHNlKDMpCitkbyBpaSA9IGkxLCBpMgorIGRvIGpqID0gajEsIGoyCisgICBkbyBr ayA9IGsxLCBrMgorICAgICBpZiAoa2sgPiA1KSB0aGVuCisgICAgICAgayA9IDAKKyAgICAg ZW5kIGlmCisgICAgIGlmIChrayA9PSA3KSBleGl0ICAhIHsgZGctZXJyb3IgIkVYSVQgc3Rh dGVtZW50IGF0IC4xLiB0ZXJtaW5hdGluZyAhLk9NUCBETyBsb29wIiB9CisgIGVuZCBkbwor ICBlbmQgZG8KK2VuZCBkbworZW5kCg== --------------9CR003reh0Jt0WlH0Mje1c0l--