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 7A04C3857C4C for ; Fri, 10 Dec 2021 17:41:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7A04C3857C4C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com IronPort-SDR: OkB1Fr5h6ORB/P1Su+w/3vVXuLIbiVzYYupZ4PSSSKS2sZaEieHqGmps2PVeu81BhGm7tvGeya M5k32YNkIq048JYMpraD6EULHA7/52LQGfaZiGWfxolCP5Vq76o1UBpnTGq9IgIGPE3Ic24MMJ iYBVDeWkkJicJutSGoOZDAD6QjI095fd05vxX7/4tfRrc4siYbPerOGrUIUE3b+RC5B1y2GT5n aUnCxzmgMXhpwLWMx9rruFY8Aqc0Y7ReitHur4mSzqH4cRsoXKz+Wg5duTQXa4XF/YwcGMixci bpjvge3YTkMxXnieBXiql4Y9 X-IronPort-AV: E=Sophos;i="5.88,196,1635235200"; d="scan'208,223";a="69403716" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa3.mentor.iphmx.com with ESMTP; 10 Dec 2021 09:41:07 -0800 IronPort-SDR: LkxSkm1dyvwr9idECvBhWfgypiMtxNhrOq3b4lRfZul7dYbVajthmUsjaCQ5L45DqDwDUZQLMT SdcrdOdW5CddwRH5u7EitNDGPAsk6EjPf8g8ZW1uFNk9GGOb0UYVx/zHzQltKJ6WbG9rwSNJf7 d1TN1ywvxMLucWvv8xNEl4k3f03YQHvh23aPdiR3akBf8hgSopFqNZP6f/qjRtUfOEiL48NKkH ytyWCTeGTU6faq9NWwWZw8C3w0OcvrZM2y4fVZemHKZqdRDA4RqvjhC3kBKjlOeLnQfWmwF3Ww NjI= Content-Type: multipart/mixed; boundary="------------RKrdqZ7KvD9VKRaAmMWFzUdf" Message-ID: Date: Fri, 10 Dec 2021 17:40:36 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.4.0 To: gcc-patches , Jakub Jelinek References: Subject: [PATCH 7/7] openmp: Add testcases for metadirectives From: Kwok Cheung Yeung In-Reply-To: X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: SVR-IES-MBX-04.mgc.mentorg.com (139.181.222.4) To SVR-IES-MBX-04.mgc.mentorg.com (139.181.222.4) X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP 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: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Dec 2021 17:41:12 -0000 --------------RKrdqZ7KvD9VKRaAmMWFzUdf Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit This adds testcases for metadirectives. Kwok --------------RKrdqZ7KvD9VKRaAmMWFzUdf Content-Type: text/plain; charset="UTF-8"; name="0007-openmp-Add-testcases-for-metadirectives.patch" Content-Disposition: attachment; filename="0007-openmp-Add-testcases-for-metadirectives.patch" Content-Transfer-Encoding: base64 RnJvbSBkM2Y4MGI2MDMyOThmYjJmMzUwMWEyOGI4ODhhY2ZkYmMwMmE2NGU3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLd29rIENoZXVuZyBZZXVuZyA8a2N5QGNvZGVzb3Vy Y2VyeS5jb20+CkRhdGU6IFR1ZSwgNyBEZWMgMjAyMSAxMToyNTozMyArMDAwMApTdWJqZWN0 OiBbUEFUQ0ggNy83XSBvcGVubXA6IEFkZCB0ZXN0Y2FzZXMgZm9yIG1ldGFkaXJlY3RpdmVz CgoyMDIxLTEyLTEwICBLd29rIENoZXVuZyBZZXVuZyAgPGtjeUBjb2Rlc291cmNlcnkuY29t PgoKCWdjYy90ZXN0c3VpdGUvCgkqIGMtYysrLWNvbW1vbi9nb21wL21ldGFkaXJlY3RpdmUt MS5jOiBOZXcuCgkqIGMtYysrLWNvbW1vbi9nb21wL21ldGFkaXJlY3RpdmUtMi5jOiBOZXcu CgkqIGMtYysrLWNvbW1vbi9nb21wL21ldGFkaXJlY3RpdmUtMy5jOiBOZXcuCgkqIGMtYysr LWNvbW1vbi9nb21wL21ldGFkaXJlY3RpdmUtNC5jOiBOZXcuCgkqIGMtYysrLWNvbW1vbi9n b21wL21ldGFkaXJlY3RpdmUtNS5jOiBOZXcuCgkqIGMtYysrLWNvbW1vbi9nb21wL21ldGFk aXJlY3RpdmUtNi5jOiBOZXcuCgkqIGdjYy5kZy9nb21wL21ldGFkaXJlY3RpdmUtMS5jOiBO ZXcuCgkqIGdmb3J0cmFuLmRnL2dvbXAvbWV0YWRpcmVjdGl2ZS0xLmY5MDogTmV3LgoJKiBn Zm9ydHJhbi5kZy9nb21wL21ldGFkaXJlY3RpdmUtMi5mOTA6IE5ldy4KCSogZ2ZvcnRyYW4u ZGcvZ29tcC9tZXRhZGlyZWN0aXZlLTMuZjkwOiBOZXcuCgkqIGdmb3J0cmFuLmRnL2dvbXAv bWV0YWRpcmVjdGl2ZS00LmY5MDogTmV3LgoJKiBnZm9ydHJhbi5kZy9nb21wL21ldGFkaXJl Y3RpdmUtNS5mOTA6IE5ldy4KCSogZ2ZvcnRyYW4uZGcvZ29tcC9tZXRhZGlyZWN0aXZlLTYu ZjkwOiBOZXcuCgoJbGliZ29tcC8KCSogdGVzdHN1aXRlL2xpYmdvbXAuYy1jKystY29tbW9u L21ldGFkaXJlY3RpdmUtMS5jOiBOZXcuCgkqIHRlc3RzdWl0ZS9saWJnb21wLmMtYysrLWNv bW1vbi9tZXRhZGlyZWN0aXZlLTIuYzogTmV3LgoJKiB0ZXN0c3VpdGUvbGliZ29tcC5jLWMr Ky1jb21tb24vbWV0YWRpcmVjdGl2ZS0zLmM6IE5ldy4KCSogdGVzdHN1aXRlL2xpYmdvbXAu Yy1jKystY29tbW9uL21ldGFkaXJlY3RpdmUtNC5jOiBOZXcuCgkqIHRlc3RzdWl0ZS9saWJn b21wLmZvcnRyYW4vbWV0YWRpcmVjdGl2ZS0xLmY5MDogTmV3LgoJKiB0ZXN0c3VpdGUvbGli Z29tcC5mb3J0cmFuL21ldGFkaXJlY3RpdmUtMi5mOTA6IE5ldy4KCSogdGVzdHN1aXRlL2xp YmdvbXAuZm9ydHJhbi9tZXRhZGlyZWN0aXZlLTMuZjkwOiBOZXcuCgkqIHRlc3RzdWl0ZS9s aWJnb21wLmZvcnRyYW4vbWV0YWRpcmVjdGl2ZS00LmY5MDogTmV3LgotLS0KIC4uLi9jLWMr Ky1jb21tb24vZ29tcC9tZXRhZGlyZWN0aXZlLTEuYyAgICAgICB8IDI5ICsrKysrKysrCiAu Li4vYy1jKystY29tbW9uL2dvbXAvbWV0YWRpcmVjdGl2ZS0yLmMgICAgICAgfCA3NCArKysr KysrKysrKysrKysrKysrCiAuLi4vYy1jKystY29tbW9uL2dvbXAvbWV0YWRpcmVjdGl2ZS0z LmMgICAgICAgfCAzMSArKysrKysrKwogLi4uL2MtYysrLWNvbW1vbi9nb21wL21ldGFkaXJl Y3RpdmUtNC5jICAgICAgIHwgNDAgKysrKysrKysrKwogLi4uL2MtYysrLWNvbW1vbi9nb21w L21ldGFkaXJlY3RpdmUtNS5jICAgICAgIHwgMjQgKysrKysrCiAuLi4vYy1jKystY29tbW9u L2dvbXAvbWV0YWRpcmVjdGl2ZS02LmMgICAgICAgfCAzMSArKysrKysrKwogZ2NjL3Rlc3Rz dWl0ZS9nY2MuZGcvZ29tcC9tZXRhZGlyZWN0aXZlLTEuYyAgIHwgMTUgKysrKwogLi4uL2dm b3J0cmFuLmRnL2dvbXAvbWV0YWRpcmVjdGl2ZS0xLmY5MCAgICAgIHwgNDEgKysrKysrKysr KwogLi4uL2dmb3J0cmFuLmRnL2dvbXAvbWV0YWRpcmVjdGl2ZS0yLmY5MCAgICAgIHwgNTkg KysrKysrKysrKysrKysrCiAuLi4vZ2ZvcnRyYW4uZGcvZ29tcC9tZXRhZGlyZWN0aXZlLTMu ZjkwICAgICAgfCAzNCArKysrKysrKysKIC4uLi9nZm9ydHJhbi5kZy9nb21wL21ldGFkaXJl Y3RpdmUtNC5mOTAgICAgICB8IDM5ICsrKysrKysrKysKIC4uLi9nZm9ydHJhbi5kZy9nb21w L21ldGFkaXJlY3RpdmUtNS5mOTAgICAgICB8IDMwICsrKysrKysrCiAuLi4vZ2ZvcnRyYW4u ZGcvZ29tcC9tZXRhZGlyZWN0aXZlLTYuZjkwICAgICAgfCAzMSArKysrKysrKwogLi4uL2xp YmdvbXAuYy1jKystY29tbW9uL21ldGFkaXJlY3RpdmUtMS5jICAgIHwgMzUgKysrKysrKysr CiAuLi4vbGliZ29tcC5jLWMrKy1jb21tb24vbWV0YWRpcmVjdGl2ZS0yLmMgICAgfCA0MSAr KysrKysrKysrCiAuLi4vbGliZ29tcC5jLWMrKy1jb21tb24vbWV0YWRpcmVjdGl2ZS0zLmMg ICAgfCAzNCArKysrKysrKysKIC4uLi9saWJnb21wLmMtYysrLWNvbW1vbi9tZXRhZGlyZWN0 aXZlLTQuYyAgICB8IDUyICsrKysrKysrKysrKysKIC4uLi9saWJnb21wLmZvcnRyYW4vbWV0 YWRpcmVjdGl2ZS0xLmY5MCAgICAgICB8IDMzICsrKysrKysrKwogLi4uL2xpYmdvbXAuZm9y dHJhbi9tZXRhZGlyZWN0aXZlLTIuZjkwICAgICAgIHwgNDAgKysrKysrKysrKwogLi4uL2xp YmdvbXAuZm9ydHJhbi9tZXRhZGlyZWN0aXZlLTMuZjkwICAgICAgIHwgMjkgKysrKysrKysK IC4uLi9saWJnb21wLmZvcnRyYW4vbWV0YWRpcmVjdGl2ZS00LmY5MCAgICAgICB8IDQ2ICsr KysrKysrKysrKwogMjEgZmlsZXMgY2hhbmdlZCwgNzg4IGluc2VydGlvbnMoKykKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9nb21wL21ldGFkaXJl Y3RpdmUtMS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21t b24vZ29tcC9tZXRhZGlyZWN0aXZlLTIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0 c3VpdGUvYy1jKystY29tbW9uL2dvbXAvbWV0YWRpcmVjdGl2ZS0zLmMKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9nb21wL21ldGFkaXJlY3RpdmUt NC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vZ29t cC9tZXRhZGlyZWN0aXZlLTUuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUv Yy1jKystY29tbW9uL2dvbXAvbWV0YWRpcmVjdGl2ZS02LmMKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnY2MvdGVzdHN1aXRlL2djYy5kZy9nb21wL21ldGFkaXJlY3RpdmUtMS5jCiBjcmVhdGUg bW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL21ldGFkaXJlY3Rp dmUtMS5mOTAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRn L2dvbXAvbWV0YWRpcmVjdGl2ZS0yLmY5MAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0 c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9tZXRhZGlyZWN0aXZlLTMuZjkwCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL21ldGFkaXJlY3RpdmUt NC5mOTAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dv bXAvbWV0YWRpcmVjdGl2ZS01LmY5MAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3Vp dGUvZ2ZvcnRyYW4uZGcvZ29tcC9tZXRhZGlyZWN0aXZlLTYuZjkwCiBjcmVhdGUgbW9kZSAx MDA2NDQgbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5jLWMrKy1jb21tb24vbWV0YWRpcmVj dGl2ZS0xLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJnb21wL3Rlc3RzdWl0ZS9saWJnb21w LmMtYysrLWNvbW1vbi9tZXRhZGlyZWN0aXZlLTIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGxp YmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuYy1jKystY29tbW9uL21ldGFkaXJlY3RpdmUtMy5j CiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5jLWMrKy1j b21tb24vbWV0YWRpcmVjdGl2ZS00LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJnb21wL3Rl c3RzdWl0ZS9saWJnb21wLmZvcnRyYW4vbWV0YWRpcmVjdGl2ZS0xLmY5MAogY3JlYXRlIG1v ZGUgMTAwNjQ0IGxpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuZm9ydHJhbi9tZXRhZGlyZWN0 aXZlLTIuZjkwCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliZ29tcC90ZXN0c3VpdGUvbGliZ29t cC5mb3J0cmFuL21ldGFkaXJlY3RpdmUtMy5mOTAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJn b21wL3Rlc3RzdWl0ZS9saWJnb21wLmZvcnRyYW4vbWV0YWRpcmVjdGl2ZS00LmY5MAoKZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2dvbXAvbWV0YWRpcmVjdGl2 ZS0xLmMgYi9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9nb21wL21ldGFkaXJlY3RpdmUt MS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi43MmNmMGFiYmJk NwotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2dvbXAv bWV0YWRpcmVjdGl2ZS0xLmMKQEAgLTAsMCArMSwyOSBAQAorLyogeyBkZy1kbyBjb21waWxl IH0gKi8KKworI2RlZmluZSBOIDEwMAorCit2b2lkIGYgKGludCBhW10sIGludCBiW10sIGlu dCBjW10pCit7CisgICNwcmFnbWEgb21wIG1ldGFkaXJlY3RpdmUgXAorICAgICAgZGVmYXVs dCAodGVhbXMgbG9vcCkgXAorICAgICAgZGVmYXVsdCAocGFyYWxsZWwgbG9vcCkgLyogeyBk Zy1lcnJvciAidGhlcmUgY2FuIG9ubHkgYmUgb25lIGRlZmF1bHQgY2xhdXNlIGluIGEgbWV0 YWRpcmVjdGl2ZSBiZWZvcmUgJ1xcKCcgdG9rZW4iIH0gKi8KKyAgICBmb3IgKGkgPSAwOyBp IDwgTjsgaSsrKSBjW2ldID0gYVtpXSAqIGJbaV07CisKKyAgI3ByYWdtYSBvbXAgbWV0YWRp cmVjdGl2ZSBcCisgICAgICBkZWZhdWx0IChiYWRfZGlyZWN0aXZlKSAvKiB7IGRnLWVycm9y ICJ1bmtub3duIGRpcmVjdGl2ZSBuYW1lIGJlZm9yZSAnXFwpJyB0b2tlbiIgfSAqLworICAg IGZvciAoaSA9IDA7IGkgPCBOOyBpKyspIGNbaV0gPSBhW2ldICogYltpXTsKKworICAjcHJh Z21hIG9tcCBtZXRhZGlyZWN0aXZlIFwKKyAgICAgIGRlZmF1bHQgKHRlYW1zIGxvb3ApIFwK KyAgICAgIHdoZXJlIChkZXZpY2U9e2FyY2goIm52cHR4Iil9OiBwYXJhbGxlbCBsb29wKSAv KiB7IGRnLWVycm9yICJleHBlY3RlZCAnd2hlbicgb3IgJ2RlZmF1bHQnIGJlZm9yZSAnXFwo JyB0b2tlbiIgfSAqLworICAgIGZvciAoaSA9IDA7IGkgPCBOOyBpKyspIGNbaV0gPSBhW2ld ICogYltpXTsKKworICAjcHJhZ21hIG9tcCBtZXRhZGlyZWN0aXZlIFwKKyAgICAgIGRlZmF1 bHQgKHRlYW1zIGxvb3ApIFwKKyAgICAgIHdoZW4gKGRldmljZT17YXJjaCgibnZwdHgiKX0g cGFyYWxsZWwgbG9vcCkgLyogeyBkZy1lcnJvciAiZXhwZWN0ZWQgY29sb24gYmVmb3JlICdw YXJhbGxlbCciIH0gKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgTjsgaSsrKSBjW2ldID0gYVtp XSAqIGJbaV07CisKKyAgI3ByYWdtYSBvbXAgbWV0YWRpcmVjdGl2ZSBcCisJZGVmYXVsdCAo bWV0YWRpcmVjdGl2ZSBkZWZhdWx0IChmbHVzaCkpCS8qIHsgZGctZXJyb3IgIm1ldGFkaXJl Y3RpdmVzIGNhbm5vdCBiZSB1c2VkIGFzIGRpcmVjdGl2ZSB2YXJpYW50cyBiZWZvcmUgJ2Rl ZmF1bHQnIiB9ICovCisgICAgZm9yIChpID0gMDsgaSA8IE47IGkrKykgY1tpXSA9IGFbaV0g KiBiW2ldOworfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vZ29t cC9tZXRhZGlyZWN0aXZlLTIuYyBiL2djYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2dvbXAv bWV0YWRpcmVjdGl2ZS0yLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAuLmVhNjkwNGM5YzEyCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9jLWMr Ky1jb21tb24vZ29tcC9tZXRhZGlyZWN0aXZlLTIuYwpAQCAtMCwwICsxLDc0IEBACisvKiB7 IGRnLWRvIGNvbXBpbGUgfSAqLworCisjZGVmaW5lIE4gMTAwCisKK2ludCBtYWluICh2b2lk KQoreworICBpbnQgeCA9IDA7CisgIGludCB5ID0gMDsKKworICAvKiBUZXN0IGltcGxpY2l0 IGRlZmF1bHQgKG5vdGhpbmcpLiAgKi8KKyAgI3ByYWdtYSBvbXAgbWV0YWRpcmVjdGl2ZSBc CisgICAgICB3aGVuIChkZXZpY2U9e2FyY2goIm52cHR4Iil9OiBiYXJyaWVyKQorICAgIHgg PSAxOworCisgIC8qIFRlc3Qgd2l0aCBtdWx0aXBsZSBzdGFuZGFsb25lIGRpcmVjdGl2ZXMu ICAqLworICAjcHJhZ21hIG9tcCBtZXRhZGlyZWN0aXZlIFwKKyAgICAgIHdoZW4gKGRldmlj ZT17YXJjaCgibnZwdHgiKX06IGJhcnJpZXIpIFwKKyAgICAgIGRlZmF1bHQgKGZsdXNoKQor ICAgIHggPSAxOworCisgIC8qIFRlc3QgY29tYmluaW5nIGEgc3RhbmRhbG9uZSBkaXJlY3Rp dmUgd2l0aCBvbmUgdGhhdCB0YWtlcyBhIHN0YXRlbWVudAorICAgICBib2R5LiAgKi8KKyAg I3ByYWdtYSBvbXAgbWV0YWRpcmVjdGl2ZSBcCisgICAgICB3aGVuIChkZXZpY2U9e2FyY2go Im52cHR4Iil9OiBwYXJhbGxlbCkgXAorICAgICAgZGVmYXVsdCAoYmFycmllcikKKyAgICB4 ID0gMTsKKworICAvKiBUZXN0IGNvbWJpbmluZyBhIHN0YW5kYWxvbmUgZGlyZWN0aXZlIHdp dGggb25lIHRoYXQgdGFrZXMgYSBmb3IgbG9vcC4gICovCisgICNwcmFnbWEgb21wIG1ldGFk aXJlY3RpdmUgXAorICAgICAgd2hlbiAoZGV2aWNlPXthcmNoKCJudnB0eCIpfTogcGFyYWxs ZWwgZm9yKSBcCisgICAgICBkZWZhdWx0IChiYXJyaWVyKQorICAgIGZvciAoaW50IGkgPSAw OyBpIDwgTjsgaSsrKQorICAgICAgeCArPSBpOworCisgIC8qIFRlc3QgY29tYmluaW5nIGEg ZGlyZWN0aXZlIHRoYXQgdGFrZXMgYSBmb3IgbG9vcCB3aXRoIG9uZSB0aGF0IHRha2VzCisg ICAgIGEgcmVndWxhciBzdGF0ZW1lbnQgYm9keS4gICovCisgICNwcmFnbWEgb21wIG1ldGFk aXJlY3RpdmUgXAorICAgICAgd2hlbiAoZGV2aWNlPXthcmNoKCJudnB0eCIpfTogcGFyYWxs ZWwgZm9yKSBcCisgICAgICBkZWZhdWx0IChwYXJhbGxlbCkKKyAgICBmb3IgKGludCBpID0g MDsgaSA8IE47IGkrKykKKyAgICAgIHggKz0gaTsKKworICAvKiBUZXN0IGxhYmVscyBpbnNp ZGUgc3RhdGVtZW50IGJvZHkuICAqLworICAjcHJhZ21hIG9tcCBtZXRhZGlyZWN0aXZlIFwK KyAgICB3aGVuIChkZXZpY2U9e2FyY2goIm52cHR4Iil9OiB0ZWFtcyBudW1fdGVhbXMoNTEy KSkgXAorICAgIHdoZW4gKGRldmljZT17YXJjaCgiZ2NuIil9OiB0ZWFtcyBudW1fdGVhbXMo MjU2KSkgXAorICAgIGRlZmF1bHQgKHRlYW1zIG51bV90ZWFtcyg0KSkKKyAgeworICAgIGlm ICh4KQorICAgICAgZ290byBsMTsKKyAgICBlbHNlCisgICAgICBnb3RvIGwyOworICBsMTog OworICBsMjogOworICB9CisKKyAgLyogVGVzdCBsb2NhbCBsYWJlbHMgaW5zaWRlIHN0YXRl bWVudCBib2R5LiAgKi8KKyAgI3ByYWdtYSBvbXAgbWV0YWRpcmVjdGl2ZSBcCisgICAgd2hl biAoZGV2aWNlPXthcmNoKCJudnB0eCIpfTogdGVhbXMgbnVtX3RlYW1zKDUxMikpIFwKKyAg ICB3aGVuIChkZXZpY2U9e2FyY2goImdjbiIpfTogdGVhbXMgbnVtX3RlYW1zKDI1NikpIFwK KyAgICBkZWZhdWx0ICh0ZWFtcyBudW1fdGVhbXMoNCkpCisgIHsKKyAgICAvL19fbGFiZWxf XyBsMSwgbDI7CisKKyAgICBpZiAoeCkKKyAgICAgIGdvdG8gbDE7CisgICAgZWxzZQorICAg ICAgZ290byBsMjsKKyAgbDE6IDsKKyAgbDI6IDsKKyAgfQorCisgIHJldHVybiAwOworfQpk aWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vZ29tcC9tZXRhZGlyZWN0 aXZlLTMuYyBiL2djYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2dvbXAvbWV0YWRpcmVjdGl2 ZS0zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjgwYzkzYjE1 MjFkCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vZ29t cC9tZXRhZGlyZWN0aXZlLTMuYwpAQCAtMCwwICsxLDMxIEBACisvKiB7IGRnLWRvIGNvbXBp bGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1mZHVtcC10cmVlLW9yaWdp bmFsIiB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLWZkdW1wLXRyZWUtZ2lt cGxlIiB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLWZkdW1wLXRyZWUtb3B0 aW1pemVkIiB9ICovCisKKyNkZWZpbmUgTiAxMDAKKwordm9pZCBmIChpbnQgeFtdLCBpbnQg eVtdLCBpbnQgeltdKQoreworICBpbnQgaTsKKworICAjcHJhZ21hIG9tcCB0YXJnZXQgbWFw KHRvOiB4LCB5KSBtYXAoZnJvbTogeikKKyAgICAjcHJhZ21hIG9tcCBtZXRhZGlyZWN0aXZl IFwKKwl3aGVuIChkZXZpY2U9e2FyY2goIm52cHR4Iil9OiB0ZWFtcyBsb29wKSBcCisJZGVm YXVsdCAocGFyYWxsZWwgbG9vcCkKKyAgICAgIGZvciAoaSA9IDA7IGkgPCBOOyBpKyspCisJ eltpXSA9IHhbaV0gKiB5W2ldOworfQorCisvKiBUaGUgbWV0YWRpcmVjdGl2ZSBzaG91bGQg YmUgcmVzb2x2ZWQgYWZ0ZXIgR2ltcGxpZmljYXRpb24uICAqLworCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgIiNwcmFnbWEgb21wIG1ldGFkaXJlY3RpdmUiIDEg Im9yaWdpbmFsIiB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1l cyAid2hlbiBcXChkZXZpY2UgYXJjaCAubnZwdHguXFwpOiIgMSAib3JpZ2luYWwiIH0gfSAq LworLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICIjcHJhZ21hIG9tcCB0 ZWFtcyIgMSAib3JpZ2luYWwiIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1k dW1wLXRpbWVzICJkZWZhdWx0OiIgMSAib3JpZ2luYWwiIH0gfSAqLworLyogeyBkZy1maW5h bCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICIjcHJhZ21hIG9tcCBwYXJhbGxlbCIgMSAib3Jp Z2luYWwiIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICIj cHJhZ21hIG9tcCBsb29wIiAyICJvcmlnaW5hbCIgfSB9ICovCisKKy8qIHsgZGctZmluYWwg eyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiI3ByYWdtYSBvbXAgbWV0YWRpcmVjdGl2ZSIgMSAi Z2ltcGxlIiB9IH0gKi8KKworLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLW5vdCAi I3ByYWdtYSBvbXAgbWV0YWRpcmVjdGl2ZSIgIm9wdGltaXplZCIgfSB9ICovCmRpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9nb21wL21ldGFkaXJlY3RpdmUtNC5j IGIvZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vZ29tcC9tZXRhZGlyZWN0aXZlLTQuYwpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYzRiMTA5Mjk1ZGIKLS0t IC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9nb21wL21ldGFk aXJlY3RpdmUtNC5jCkBAIC0wLDAgKzEsNDAgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICov CisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLWZkdW1wLXRyZWUtb3JpZ2luYWwiIH0g Ki8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItZmR1bXAtdHJlZS1naW1wbGUiIH0g Ki8KKworI2RlZmluZSBOIDEwMAorCisjcHJhZ21hIG9tcCBkZWNsYXJlIHRhcmdldAordm9p ZCBmKGRvdWJsZSBhW10sIGRvdWJsZSB4KSB7CisgIGludCBpOworCisgICNwcmFnbWEgb21w IG1ldGFkaXJlY3RpdmUgXAorCXdoZW4gKGNvbnN0cnVjdD17dGFyZ2V0fTogZGlzdHJpYnV0 ZSBwYXJhbGxlbCBmb3IpIFwKKwlkZWZhdWx0IChwYXJhbGxlbCBmb3Igc2ltZCkKKyAgIGZv ciAoaSA9IDA7IGkgPCBOOyBpKyspCisgICAgIGFbaV0gPSB4ICogaTsKK30KKyNwcmFnbWEg b21wIGVuZCBkZWNsYXJlIHRhcmdldAorCisgaW50IG1haW4oKQoreworICBkb3VibGUgYVtO XTsKKworICAjcHJhZ21hIG9tcCB0YXJnZXQgdGVhbXMgbWFwKGZyb206IGFbMDpOXSkKKyAg ICBmIChhLCAzLjE0MTU5KTsKKworICAvKiBUT0RPOiBUaGlzIGRvZXMgbm90IGV4ZWN1dGUg YSB2ZXJzaW9uIG9mIGYgd2l0aCB0aGUgZGVmYXVsdCBjbGF1c2UKKyAgICAgYWN0aXZlIGFz IG1pZ2h0IGJlIGV4cGVjdGVkLiAgKi8KKyAgZiAoYSwgMi43MTgyOCk7CisKKyAgcmV0dXJu IDA7CisgfQorCisgLyogVGhlIG1ldGFkaXJlY3RpdmUgc2hvdWxkIGJlIHJlc29sdmVkIGR1 cmluZyBHaW1wbGlmaWNhdGlvbi4gICovCisKKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUt ZHVtcC10aW1lcyAiI3ByYWdtYSBvbXAgbWV0YWRpcmVjdGl2ZSIgMSAib3JpZ2luYWwiIH0g fSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJ3aGVuIFxcKGNv bnN0cnVjdCB0YXJnZXQuKlxcKToiIDEgIm9yaWdpbmFsIiB9IH0gKi8KKy8qIHsgZGctZmlu YWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiZGVmYXVsdDoiIDEgIm9yaWdpbmFsIiB9IH0g Ki8KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiI3ByYWdtYSBvbXAg cGFyYWxsZWwiIDIgIm9yaWdpbmFsIiB9IH0gKi8KKworLyogeyBkZy1maW5hbCB7IHNjYW4t dHJlZS1kdW1wLW5vdCAiI3ByYWdtYSBvbXAgbWV0YWRpcmVjdGl2ZSIgImdpbXBsZSIgfSB9 ICovCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9nb21wL21ldGFk aXJlY3RpdmUtNS5jIGIvZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vZ29tcC9tZXRhZGly ZWN0aXZlLTUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNGE5 ZjFhYTg1YTYKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1v bi9nb21wL21ldGFkaXJlY3RpdmUtNS5jCkBAIC0wLDAgKzEsMjQgQEAKKy8qIHsgZGctZG8g Y29tcGlsZSB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLWZkdW1wLXRyZWUt b3JpZ2luYWwiIH0gKi8KKworI2RlZmluZSBOIDEwMAorCit2b2lkIGYgKGludCBhW10sIGlu dCBmbGFnKQoreworICBpbnQgaTsKKyAgI3ByYWdtYSBvbXAgbWV0YWRpcmVjdGl2ZSBcCisJ d2hlbiAodXNlcj17Y29uZGl0aW9uKGZsYWcpfTogXAorCQl0YXJnZXQgdGVhbXMgZGlzdHJp YnV0ZSBwYXJhbGxlbCBmb3IgbWFwKGZyb206IGFbMDpOXSkpIFwKKwlkZWZhdWx0IChwYXJh bGxlbCBmb3IpCisgIGZvciAoaSA9IDA7IGkgPCBOOyBpKyspCisgICAgYVtpXSA9IGk7Cit9 CisKKy8qIFRoZSBtZXRhZGlyZWN0aXZlIHNob3VsZCBiZSByZXNvbHZlZCBhdCBwYXJzZSB0 aW1lLiAgKi8KKworLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLW5vdCAiI3ByYWdt YSBvbXAgbWV0YWRpcmVjdGl2ZSIgIm9yaWdpbmFsIiB9IH0gKi8KKy8qIHsgZGctZmluYWwg eyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiI3ByYWdtYSBvbXAgdGFyZ2V0IiAxICJvcmlnaW5h bCIgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgIiNwcmFn bWEgb21wIHRlYW1zIiAxICJvcmlnaW5hbCIgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nh bi10cmVlLWR1bXAtdGltZXMgICIjcHJhZ21hIG9tcCBkaXN0cmlidXRlIiAxICJvcmlnaW5h bCIgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgIiNwcmFn bWEgb21wIHBhcmFsbGVsIiAyICJvcmlnaW5hbCIgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi10cmVlLWR1bXAtdGltZXMgIiNwcmFnbWEgb21wIGZvciIgMiAib3JpZ2luYWwiIH0g fSAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vZ29tcC9tZXRh ZGlyZWN0aXZlLTYuYyBiL2djYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2dvbXAvbWV0YWRp cmVjdGl2ZS02LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmM3 N2MwMDY1ZTE3Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21t b24vZ29tcC9tZXRhZGlyZWN0aXZlLTYuYwpAQCAtMCwwICsxLDMxIEBACisvKiB7IGRnLWRv IGNvbXBpbGUgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1mZHVtcC10cmVl LW9yaWdpbmFsIiB9ICovCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLWZkdW1wLXRy ZWUtZ2ltcGxlIiB9ICovCisKKyNkZWZpbmUgTiAxMDAKKwordm9pZCBiYXIgKGludCBhW10s IGludCBydW5fcGFyYWxsZWwsIGludCBydW5fZ3VpZGVkKQoreworICAjcHJhZ21hIG9tcCBt ZXRhZGlyZWN0aXZlIFwKKwl3aGVuICh1c2VyPXtjb25kaXRpb24ocnVuX3BhcmFsbGVsKX06 IHBhcmFsbGVsKQorICB7CisgICAgaW50IGk7CisgICAgI3ByYWdtYSBvbXAgbWV0YWRpcmVj dGl2ZSBcCisJd2hlbiAoY29uc3RydWN0PXtwYXJhbGxlbH0sIHVzZXI9e2NvbmRpdGlvbihy dW5fZ3VpZGVkKX06IFwKKwkgICAgICBmb3Igc2NoZWR1bGUoZ3VpZGVkKSkgXAorCXdoZW4g KGNvbnN0cnVjdD17cGFyYWxsZWx9OiBmb3Igc2NoZWR1bGUoc3RhdGljKSkKKyAgICAgIGZv ciAoaSA9IDA7IGkgPCBOOyBpKyspCisJYVtpXSA9IGk7CisgICB9CisgfQorCisvKiBUaGUg b3V0ZXIgbWV0YWRpcmVjdGl2ZSBzaG91bGQgYmUgcmVzb2x2ZWQgYXQgcGFyc2UgdGltZS4g ICovCisvKiBUaGUgaW5uZXIgbWV0YWRpcmVjdGl2ZSBzaG91bGQgYmUgcmVzb2x2ZWQgZHVy aW5nIEdpbXBsaWZpY2lhdGlvbi4gICovCisKKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUt ZHVtcC10aW1lcyAiI3ByYWdtYSBvbXAgbWV0YWRpcmVjdGl2ZSIgMiAib3JpZ2luYWwiIH0g fSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICIjcHJhZ21hIG9t cCBwYXJhbGxlbCIgMSAib3JpZ2luYWwiIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4t dHJlZS1kdW1wLXRpbWVzICIjcHJhZ21hIG9tcCBmb3IiIDQgIm9yaWdpbmFsIiB9IH0gKi8K Ky8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAid2hlbiBcXChjb25zdHJ1 Y3QgcGFyYWxsZWwiIDQgIm9yaWdpbmFsIiB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2Fu LXRyZWUtZHVtcC10aW1lcyAiZGVmYXVsdDoiIDIgIm9yaWdpbmFsIiB9IH0gKi8KKworLyog eyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLW5vdCAiI3ByYWdtYSBvbXAgbWV0YWRpcmVj dGl2ZSIgImdpbXBsZSIgfSB9ICovCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5k Zy9nb21wL21ldGFkaXJlY3RpdmUtMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvZ29tcC9t ZXRhZGlyZWN0aXZlLTEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MC4uMmFjODFiZmRlNzUKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5k Zy9nb21wL21ldGFkaXJlY3RpdmUtMS5jCkBAIC0wLDAgKzEsMTUgQEAKK2ludCBtYWluICh2 b2lkKQoreworICBpbnQgeCwgeTsKKworICAvKiBUZXN0IG5lc3RlZCBmdW5jdGlvbnMgaW5z aWRlIHN0YXRlbWVudCBib2R5LiAgKi8KKyAgI3ByYWdtYSBvbXAgbWV0YWRpcmVjdGl2ZSBc CisgICAgd2hlbiAoZGV2aWNlPXthcmNoKCJudnB0eCIpfTogdGVhbXMgbnVtX3RlYW1zKDUx MikpIFwKKyAgICB3aGVuIChkZXZpY2U9e2FyY2goImdjbiIpfTogdGVhbXMgbnVtX3RlYW1z KDI1NikpIFwKKyAgICBkZWZhdWx0ICh0ZWFtcyBudW1fdGVhbXMoNCkpCisgIHsKKyAgICBp bnQgZiAoaW50IHgpIHsgcmV0dXJuIHggKiAzOyB9CisKKyAgICB5ID0gZiAoeCk7CisgIH0K K30KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9tZXRhZGly ZWN0aXZlLTEuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL21ldGFkaXJl Y3RpdmUtMS5mOTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmFh NDM5ZmM4NTVlCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5k Zy9nb21wL21ldGFkaXJlY3RpdmUtMS5mOTAKQEAgLTAsMCArMSw0MSBAQAorISB7IGRnLWRv IGNvbXBpbGUgfQorCitwcm9ncmFtIG1haW4KKyAgaW50ZWdlciwgcGFyYW1ldGVyIDo6IE4g PSAxMAorICBpbnRlZ2VyLCBkaW1lbnNpb24oTikgOjogYQorICBpbnRlZ2VyLCBkaW1lbnNp b24oTikgOjogYgorICBpbnRlZ2VyLCBkaW1lbnNpb24oTikgOjogYworICBpbnRlZ2VyIDo6 IGkKKworICBkbyBpID0gMSwgTgorICAgIGEoaSkgPSBpICogMgorICAgIGIoaSkgPSBpICog MworICBlbmQgZG8KKworICAhJG9tcCBtZXRhZGlyZWN0aXZlICYKKyAgISRvbXAmCWRlZmF1 bHQgKHRlYW1zIGxvb3ApICYKKyAgISRvbXAmCWRlZmF1bHQgKHBhcmFsbGVsIGxvb3ApCSEg eyBkZy1lcnJvciAidGhlcmUgY2FuIG9ubHkgYmUgb25lIGRlZmF1bHQgY2xhdXNlIGluIGEg bWV0YWRpcmVjdGl2ZSBhdCAuMS4iIH0KKyAgICBkbyBpID0gMSwgTgorICAgICAgYyhpKSA9 IGEoaSkgKiBiKGkpCisgICAgZW5kIGRvCisKKyAgISRvbXAgbWV0YWRpcmVjdGl2ZSBkZWZh dWx0ICh4eXopICEgeyBkZy1lcnJvciAiVW5jbGFzc2lmaWFibGUgT3Blbk1QIGRpcmVjdGl2 ZSBhdCAuMS4iIH0KKyAgICBkbyBpID0gMSwgTgorICAgICAgYyhpKSA9IGEoaSkgKiBiKGkp CisgICAgZW5kIGRvCisKKyAgISRvbXAgbWV0YWRpcmVjdGl2ZSAmCisgICEkb21wJglkZWZh dWx0ICh0ZWFtcyBsb29wKSAmICEgeyBkZy1lcnJvciAiZXhwZWN0ZWQgJ2RlZmF1bHQnIG9y ICd3aGVuJyBhdCAuMS4iIH0KKyAgISRvbXAmCXdoZXJlIChkZXZpY2U9e2FyY2goIm52cHR4 Iil9OiBwYXJhbGxlbCBsb29wKQorICAgIGRvIGkgPSAxLCBOCisgICAgICBjKGkpID0gYShp KSAqIGIoaSkKKyAgICBlbmQgZG8KKyAgICAKKyAgISRvbXAgYmVnaW4gbWV0YWRpcmVjdGl2 ZSAmCisgICEkb21wJgl3aGVuIChkZXZpY2U9e2FyY2goIm52cHR4Iil9OiBwYXJhbGxlbCBk bykgJgorICAhJG9tcCYJZGVmYXVsdCAoYmFycmllcikgISB7IGRnLWVycm9yICJ2YXJpYW50 IGRpcmVjdGl2ZSB1c2VkIGluIE9NUCBCRUdJTiBNRVRBRElSRUNUSVZFIGF0IC4xLiBtdXN0 IGhhdmUgYSBjb3JyZXNwb25kaW5nIGVuZCBkaXJlY3RpdmUiIH0KKyAgICBkbyBpID0gMSwg TgorICAgICAgYyhpKSA9IGEoaSkgKiBiKGkpCisgICAgZW5kIGRvCisgICEkb21wIGVuZCBt ZXRhZGlyZWN0aXZlICEgeyBkZy1lcnJvciAiVW5leHBlY3RlZCAhT01QIEVORCBNRVRBRElS RUNUSVZFIHN0YXRlbWVudCBhdCAuMS4iIH0KK2VuZCBwcm9ncmFtCmRpZmYgLS1naXQgYS9n Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvbWV0YWRpcmVjdGl2ZS0yLmY5MCBiL2dj Yy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9tZXRhZGlyZWN0aXZlLTIuZjkwCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4wNmMzMjQ1ODlkMAotLS0gL2Rl di9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9tZXRhZGlyZWN0 aXZlLTIuZjkwCkBAIC0wLDAgKzEsNTkgQEAKKyEgeyBkZy1kbyBjb21waWxlIH0KKworcHJv Z3JhbSBtYWluCisgIGludGVnZXIsIHBhcmFtZXRlciA6OiBOID0gMTAwCisgIGludGVnZXIg OjogeCA9IDAKKyAgaW50ZWdlciA6OiB5ID0gMAorICBpbnRlZ2VyIDo6IGkKKworICAhIFRl c3QgaW1wbGljaXQgZGVmYXVsdCBkaXJlY3RpdmUKKyAgISRvbXAgbWV0YWRpcmVjdGl2ZSAm CisgICEkb21wJgl3aGVuIChkZXZpY2U9e2FyY2goIm52cHR4Iil9OiBiYXJyaWVyKQorICAg IHggPSAxCisKKyAgISBUZXN0IGltcGxpY2l0IGRlZmF1bHQgZGlyZWN0aXZlIGNvbWJpbmVk IHdpdGggYSBkaXJlY3RpdmUgdGhhdCB0YWtlcyBhCisgICEgZG8gbG9vcC4KKyAgISRvbXAg bWV0YWRpcmVjdGl2ZSAmCisgICEkb21wJgl3aGVuIChkZXZpY2U9e2FyY2goIm52cHR4Iil9 OiBwYXJhbGxlbCBkbykKKyAgICBkbyBpID0gMSwgTgorICAgICAgeCA9IHggKyBpCisgICAg ZW5kIGRvCisKKyAgISBUZXN0IHdpdGggbXVsdGlwbGUgc3RhbmRhbG9uZSBkaXJlY3RpdmVz LgorICAhJG9tcCBtZXRhZGlyZWN0aXZlICYKKyAgISRvbXAmCXdoZW4gKGRldmljZT17YXJj aCgibnZwdHgiKX06IGJhcnJpZXIpICYKKyAgISRvbXAmCWRlZmF1bHQgKGZsdXNoKQorICAg IHggPSAxCisKKyAgISBUZXN0IGNvbWJpbmluZyBhIHN0YW5kYWxvbmUgZGlyZWN0aXZlIHdp dGggb25lIHRoYXQgdGFrZXMgYSBkbyBsb29wLgorICAhJG9tcCBtZXRhZGlyZWN0aXZlICYK KyAgISRvbXAmCXdoZW4gKGRldmljZT17YXJjaCgibnZwdHgiKX06IHBhcmFsbGVsIGRvKSAm CisgICEkb21wJglkZWZhdWx0IChiYXJyaWVyKQorICAgIGRvIGkgPSAxLCBOCisgICAgICB4 ID0geCArIGkKKyAgICBlbmQgZG8KKworICAhIFRlc3QgY29tYmluaW5nIGEgZGlyZWN0aXZl IHRoYXQgdGFrZXMgYSBkbyBsb29wIHdpdGggb25lIHRoYXQgdGFrZXMKKyAgISBhIHN0YXRl bWVudCBib2R5LgorICAhJG9tcCBiZWdpbiBtZXRhZGlyZWN0aXZlICYKKyAgISRvbXAmCXdo ZW4gKGRldmljZT17YXJjaCgibnZwdHgiKX06IHBhcmFsbGVsIGRvKSAmCisgICEkb21wJglk ZWZhdWx0IChwYXJhbGxlbCkKKyAgICBkbyBpID0gMSwgTgorICAgICAgeCA9IHggKyBpCisg ICAgZW5kIGRvCisgICEkb21wIGVuZCBtZXRhZGlyZWN0aXZlCisgIAorICAhIFRlc3QgbGFi ZWxzIGluIHRoZSBib2R5CisgICEkb21wIGJlZ2luIG1ldGFkaXJlY3RpdmUgJgorICAhJG9t cCYJd2hlbiAoZGV2aWNlPXthcmNoKCJudnB0eCIpfTogcGFyYWxsZWwgZG8pICYKKyAgISRv bXAmCXdoZW4gKGRldmljZT17YXJjaCgiZ2NuIil9OiBwYXJhbGxlbCkKKyAgICBkbyBpID0g MSwgTgorICAgICAgeCA9IHggKyBpCisgICAgICBpZiAoeCAuZ3QuIE4vMikgZ290byAxMAor MTAgICAgeCA9IHggKyAxCisgICAgICBnb3RvIDIwCisgICAgICB4ID0geCArIDIKKzIwICAg IGNvbnRpbnVlCisgICAgZW5kIGRvCisgICEkb21wIGVuZCBtZXRhZGlyZWN0aXZlCitlbmQg cHJvZ3JhbQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL21l dGFkaXJlY3RpdmUtMy5mOTAgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvbWV0 YWRpcmVjdGl2ZS0zLmY5MApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MC4uYzM2YTQ2MmJmNTEKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL2dvbXAvbWV0YWRpcmVjdGl2ZS0zLmY5MApAQCAtMCwwICsxLDM0IEBACishIHsg ZGctZG8gY29tcGlsZSB9CishIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItZmR1bXAtdHJl ZS1vcmlnaW5hbCIgfQorISB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLWZkdW1wLXRyZWUt Z2ltcGxlIiB9CishIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItZmR1bXAtdHJlZS1vcHRp bWl6ZWQiIH0KKworbW9kdWxlIHRlc3QKKyAgaW50ZWdlciwgcGFyYW1ldGVyIDo6IE4gPSAx MDAKK2NvbnRhaW5zCisgIHN1YnJvdXRpbmUgZiAoeCwgeSwgeikKKyAgICBpbnRlZ2VyIDo6 IHgoTiksIHkoTiksIHooTikKKworICAgICEkb21wIHRhcmdldCBtYXAgKHRvOiB2MSwgdjIp IG1hcChmcm9tOiB2MykKKyAgICAgICEkb21wIG1ldGFkaXJlY3RpdmUgJgorCQkhJG9tcCYg d2hlbihkZXZpY2U9e2FyY2goIm52cHR4Iil9OiB0ZWFtcyBsb29wKSAmCisJCSEkb21wJiBk ZWZhdWx0KHBhcmFsbGVsIGxvb3ApCisJZG8gaSA9IDEsIE4KKwkgIHooaSkgPSB4KGkpICog eShpKQorCWVuZGRvCisgICAgISRvbXAgZW5kIHRhcmdldAorICBlbmQgc3Vicm91dGluZQor ZW5kIG1vZHVsZQorCishIFRoZSBtZXRhZGlyZWN0aXZlIHNob3VsZCBiZSByZXNvbHZlZCBh ZnRlciBHaW1wbGlmaWNhdGlvbi4KKworISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAt dGltZXMgIiNwcmFnbWEgb21wIG1ldGFkaXJlY3RpdmUiIDEgIm9yaWdpbmFsIiB9IH0KKyEg eyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJ3aGVuIFxcKGRldmljZSBhcmNo IC5udnB0eC5cXCk6IiAxICJvcmlnaW5hbCIgfSB9CishIHsgZGctZmluYWwgeyBzY2FuLXRy ZWUtZHVtcC10aW1lcyAiI3ByYWdtYSBvbXAgdGVhbXMiIDEgIm9yaWdpbmFsIiB9IH0KKyEg eyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJkZWZhdWx0OiIgMSAib3JpZ2lu YWwiIH0gfQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgIiNwcmFnbWEg b21wIHBhcmFsbGVsIiAxICJvcmlnaW5hbCIgfSB9CishIHsgZGctZmluYWwgeyBzY2FuLXRy ZWUtZHVtcC10aW1lcyAiI3ByYWdtYSBvbXAgbG9vcCIgMiAib3JpZ2luYWwiIH0gfQorCish IHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiI3ByYWdtYSBvbXAgbWV0YWRp cmVjdGl2ZSIgMSAiZ2ltcGxlIiB9IH0KKworISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1 bXAtbm90ICIjcHJhZ21hIG9tcCBtZXRhZGlyZWN0aXZlIiAib3B0aW1pemVkIiB9IH0KZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9tZXRhZGlyZWN0aXZl LTQuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL21ldGFkaXJlY3RpdmUt NC5mOTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmI4MmM5ZWE5 NmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21w L21ldGFkaXJlY3RpdmUtNC5mOTAKQEAgLTAsMCArMSwzOSBAQAorISB7IGRnLWRvIGNvbXBp bGUgfQorISB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLWZkdW1wLXRyZWUtb3JpZ2luYWwi IH0KKyEgeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1mZHVtcC10cmVlLWdpbXBsZSIgfQor Citwcm9ncmFtIHRlc3QKKyAgaW1wbGljaXQgbm9uZQorICBpbnRlZ2VyLCBwYXJhbWV0ZXIg OjogTiA9IDEwMAorICByZWFsIDo6IGEoTikKKyAgCisgICEkb21wIHRhcmdldCBtYXAoZnJv bTogYSkKKyAgICBjYWxsIGYgKGEsIDMuMTQxNTkpCisgICEkb21wIGVuZCB0YXJnZXQKKwor ICAhIFRPRE86IFRoaXMgZG9lcyBub3QgZXhlY3V0ZSBhIHZlcnNpb24gb2YgZiB3aXRoIHRo ZSBkZWZhdWx0IGNsYXVzZQorICAhIGFjdGl2ZSBhcyBtaWdodCBiZSBleHBlY3RlZC4KKyAg Y2FsbCBmIChhLCAyLjcxODI4KQorY29udGFpbnMKKyAgc3Vicm91dGluZSBmIChhLCB4KQor ICAgIGludGVnZXIgOjogaQorICAgIHJlYWwgOjogYShOKSwgeAorICAgICEkb21wIGRlY2xh cmUgdGFyZ2V0CisKKyAgICAhJG9tcCBtZXRhZGlyZWN0aXZlICYKKyAgICAhJG9tcCYgIHdo ZW4gKGNvbnN0cnVjdD17dGFyZ2V0fTogZGlzdHJpYnV0ZSBwYXJhbGxlbCBkbyApICYKKyAg ICAhJG9tcCYgIGRlZmF1bHQocGFyYWxsZWwgZG8gc2ltZCkKKyAgICAgIGRvIGkgPSAxLCBO CisgCWEoaSkgPSB4ICogaQorICAgICAgZW5kIGRvCisgIGVuZCBzdWJyb3V0aW5lCitlbmQg cHJvZ3JhbQorCishIFRoZSBtZXRhZGlyZWN0aXZlIHNob3VsZCBiZSByZXNvbHZlZCBkdXJp bmcgR2ltcGxpZmljYXRpb24uCisKKyEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRp bWVzICIjcHJhZ21hIG9tcCBtZXRhZGlyZWN0aXZlIiAxICJvcmlnaW5hbCIgfSB9CishIHsg ZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAid2hlbiBcXChjb25zdHJ1Y3QgdGFy Z2V0LipcXCk6IiAxICJvcmlnaW5hbCIgfSB9CishIHsgZGctZmluYWwgeyBzY2FuLXRyZWUt ZHVtcC10aW1lcyAiZGVmYXVsdDoiIDEgIm9yaWdpbmFsIiB9IH0KKyEgeyBkZy1maW5hbCB7 IHNjYW4tdHJlZS1kdW1wLXRpbWVzICIjcHJhZ21hIG9tcCBwYXJhbGxlbCIgMiAib3JpZ2lu YWwiIH0gfQorCishIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC1ub3QgIiNwcmFnbWEg b21wIG1ldGFkaXJlY3RpdmUiICJnaW1wbGUiIH0gfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3Rz dWl0ZS9nZm9ydHJhbi5kZy9nb21wL21ldGFkaXJlY3RpdmUtNS5mOTAgYi9nY2MvdGVzdHN1 aXRlL2dmb3J0cmFuLmRnL2dvbXAvbWV0YWRpcmVjdGl2ZS01LmY5MApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMDM5NzAzOTNlYjQKLS0tIC9kZXYvbnVsbAor KysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvbWV0YWRpcmVjdGl2ZS01LmY5 MApAQCAtMCwwICsxLDMwIEBACishIHsgZGctZG8gY29tcGlsZSB9CishIHsgZGctYWRkaXRp b25hbC1vcHRpb25zICItZmR1bXAtdHJlZS1naW1wbGUiIH0KKworbW9kdWxlIHRlc3QKKyAg aW50ZWdlciwgcGFyYW1ldGVyIDo6IE4gPSAxMDAKK2NvbnRhaW5zCisgIHN1YnJvdXRpbmUg ZiAoYSwgZmxhZykKKyAgICBpbnRlZ2VyIDo6IGEoTikKKyAgICBsb2dpY2FsIDo6IGZsYWcK KyAgICBpbnRlZ2VyIDo6IGkKKyAgICAKKyAgICEkb21wIG1ldGFkaXJlY3RpdmUgJgorICAg ISRvbXAmICB3aGVuICh1c2VyPXtjb25kaXRpb24oZmxhZyl9OiAmCisgICAhJG9tcCYJIHRh cmdldCB0ZWFtcyBkaXN0cmlidXRlIHBhcmFsbGVsIGRvIG1hcChmcm9tOiBhKDE6TikpKSAm CisgICAhJG9tcCYgIGRlZmF1bHQocGFyYWxsZWwgZG8pCisgICAgIGRvIGkgPSAxLCBOCisg ICAgICAgYShpKSA9IGkKKyAgICAgZW5kIGRvCisgIGVuZCBzdWJyb3V0aW5lCitlbmQgbW9k dWxlCisKKyEgVGhlIG1ldGFkaXJlY3RpdmUgc2hvdWxkIGJlIHJlc29sdmVkIGF0IHBhcnNl IHRpbWUsIGJ1dCBpcyBjdXJyZW50bHkKKyEgcmVzb2x2ZWQgZHVyaW5nIEdpbXBsaWZpY2F0 aW9uCisKKyEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLW5vdCAiI3ByYWdtYSBvbXAg bWV0YWRpcmVjdGl2ZSIgImdpbXBsZSIgfSB9CishIHsgZGctZmluYWwgeyBzY2FuLXRyZWUt ZHVtcC10aW1lcyAiI3ByYWdtYSBvbXAgdGFyZ2V0IiAxICJnaW1wbGUiIH0gfQorISB7IGRn LWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgIiNwcmFnbWEgb21wIHRlYW1zIiAxICJn aW1wbGUiIH0gfQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgICIjcHJh Z21hIG9tcCBkaXN0cmlidXRlIiAxICJnaW1wbGUiIH0gfQorISB7IGRnLWZpbmFsIHsgc2Nh bi10cmVlLWR1bXAtdGltZXMgIiNwcmFnbWEgb21wIHBhcmFsbGVsIiAyICJnaW1wbGUiIH0g fQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgIiNwcmFnbWEgb21wIGZv ciIgMiAiZ2ltcGxlIiB9IH0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4u ZGcvZ29tcC9tZXRhZGlyZWN0aXZlLTYuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5k Zy9nb21wL21ldGFkaXJlY3RpdmUtNi5mOTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAuLjliNmMzNzEyOTZmCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3Rz dWl0ZS9nZm9ydHJhbi5kZy9nb21wL21ldGFkaXJlY3RpdmUtNi5mOTAKQEAgLTAsMCArMSwz MSBAQAorISB7IGRnLWRvIGNvbXBpbGUgfQorISB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAi LWZkdW1wLXRyZWUtZ2ltcGxlIiB9CisKK21vZHVsZSB0ZXN0CisgIGludGVnZXIsIHBhcmFt ZXRlciA6OiBOID0gMTAwCitjb250YWlucworICBzdWJyb3V0aW5lIGYgKGEsIHJ1bl9wYXJh bGxlbCwgcnVuX2d1aWRlZCkKKyAgICBpbnRlZ2VyIDo6IGEoTikKKyAgICBsb2dpY2FsIDo6 IHJ1bl9wYXJhbGxlbCwgcnVuX2d1aWRlZAorICAgIGludGVnZXIgOjogaQorCisgICAgISRv bXAgYmVnaW4gbWV0YWRpcmVjdGl2ZSB3aGVuKHVzZXI9e2NvbmRpdGlvbihydW5fcGFyYWxs ZWwpfTogcGFyYWxsZWwpCisgICAgICAhJG9tcCBtZXRhZGlyZWN0aXZlICYKKyAgICAgICEk b21wJiAgd2hlbihjb25zdHJ1Y3Q9e3BhcmFsbGVsfSwgdXNlcj17Y29uZGl0aW9uKHJ1bl9n dWlkZWQpfTogJgorICAgICAgISRvbXAmICAgICAgIGRvIHNjaGVkdWxlKGd1aWRlZCkpICYK KyAgICAgICEkb21wJiAgd2hlbihjb25zdHJ1Y3Q9e3BhcmFsbGVsfTogZG8gc2NoZWR1bGUo c3RhdGljKSkKKwlkbyBpID0gMSwgTgorCSAgYShpKSA9IGkKKwllbmQgZG8KKyAgICAhJG9t cCBlbmQgbWV0YWRpcmVjdGl2ZQorICBlbmQgc3Vicm91dGluZQorZW5kIG1vZHVsZQorCish IFRoZSBvdXRlciBtZXRhZGlyZWN0aXZlIHNob3VsZCBiZSByZXNvbHZlZCBhdCBwYXJzZSB0 aW1lLCBidXQgaXMKKyEgY3VycmVudGx5IHJlc29sdmVkIGR1cmluZyBHaW1wbGlmaWNhdGlv bi4KKworISBUaGUgaW5uZXIgbWV0YWRpcmVjdGl2ZSBzaG91bGQgYmUgcmVzb2x2ZWQgZHVy aW5nIEdpbXBsaWZpY2lhdGlvbi4KKworISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAt bm90ICIjcHJhZ21hIG9tcCBtZXRhZGlyZWN0aXZlIiAiZ2ltcGxlIiB9IH0KKyEgeyBkZy1m aW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICIjcHJhZ21hIG9tcCBwYXJhbGxlbCIgMSAi Z2ltcGxlIiB9IH0KKyEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICIjcHJh Z21hIG9tcCBmb3IiIDIgImdpbXBsZSIgfSB9CmRpZmYgLS1naXQgYS9saWJnb21wL3Rlc3Rz dWl0ZS9saWJnb21wLmMtYysrLWNvbW1vbi9tZXRhZGlyZWN0aXZlLTEuYyBiL2xpYmdvbXAv dGVzdHN1aXRlL2xpYmdvbXAuYy1jKystY29tbW9uL21ldGFkaXJlY3RpdmUtMS5jCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4wZGU1OWNiZTNkMwotLS0gL2Rl di9udWxsCisrKyBiL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuYy1jKystY29tbW9uL21l dGFkaXJlY3RpdmUtMS5jCkBAIC0wLDAgKzEsMzUgQEAKKy8qIHsgZGctZG8gcnVuIH0gKi8K KworI2RlZmluZSBOIDEwMAorCit2b2lkIGYgKGludCB4W10sIGludCB5W10sIGludCB6W10p Cit7CisgIGludCBpOworCisgICNwcmFnbWEgb21wIHRhcmdldCBtYXAodG86IHhbMDpOXSwg eVswOk5dKSBtYXAoZnJvbTogelswOk5dKQorICAgICNwcmFnbWEgb21wIG1ldGFkaXJlY3Rp dmUgXAorCXdoZW4gKGRldmljZT17YXJjaCgibnZwdHgiKX06IHRlYW1zIGxvb3ApIFwKKwlk ZWZhdWx0IChwYXJhbGxlbCBsb29wKQorICAgICAgZm9yIChpID0gMDsgaSA8IE47IGkrKykK Kwl6W2ldID0geFtpXSAqIHlbaV07Cit9CisKK2ludCBtYWluICh2b2lkKQoreworICBpbnQg eFtOXSwgeVtOXSwgeltOXTsKKyAgaW50IGk7CisKKyAgZm9yIChpID0gMDsgaSA8IE47IGkr KykKKyAgICB7CisgICAgICB4W2ldID0gaTsKKyAgICAgIHlbaV0gPSAtaTsKKyAgICB9CisK KyAgZiAoeCwgeSwgeik7CisKKyAgZm9yIChpID0gMDsgaSA8IE47IGkrKykKKyAgICBpZiAo eltpXSAhPSB4W2ldICogeVtpXSkKKyAgICAgIHJldHVybiAxOworCisgIHJldHVybiAwOwor fQpkaWZmIC0tZ2l0IGEvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5jLWMrKy1jb21tb24v bWV0YWRpcmVjdGl2ZS0yLmMgYi9saWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmMtYysrLWNv bW1vbi9tZXRhZGlyZWN0aXZlLTIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMC4uY2Q1YzZjNWUyMWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJnb21wL3Rlc3Rz dWl0ZS9saWJnb21wLmMtYysrLWNvbW1vbi9tZXRhZGlyZWN0aXZlLTIuYwpAQCAtMCwwICsx LDQxIEBACisvKiB7IGRnLWRvIHJ1biB9ICovCisKKyNpbmNsdWRlIDxtYXRoLmg+CisKKyNk ZWZpbmUgTiAxMDAKKyNkZWZpbmUgRVBTSUxPTiAwLjAwMQorCisjcHJhZ21hIG9tcCBkZWNs YXJlIHRhcmdldAordm9pZCBmKGRvdWJsZSBhW10sIGRvdWJsZSB4KSB7CisgIGludCBpOwor CisgICNwcmFnbWEgb21wIG1ldGFkaXJlY3RpdmUgXAorCXdoZW4gKGNvbnN0cnVjdD17dGFy Z2V0fTogZGlzdHJpYnV0ZSBwYXJhbGxlbCBmb3IpIFwKKwlkZWZhdWx0IChwYXJhbGxlbCBm b3Igc2ltZCkKKyAgIGZvciAoaSA9IDA7IGkgPCBOOyBpKyspCisgICAgIGFbaV0gPSB4ICog aTsKK30KKyNwcmFnbWEgb21wIGVuZCBkZWNsYXJlIHRhcmdldAorCisgaW50IG1haW4oKQor eworICBkb3VibGUgYVtOXTsKKyAgaW50IGk7CisKKyAgI3ByYWdtYSBvbXAgdGFyZ2V0IHRl YW1zIG1hcChmcm9tOiBhWzA6Tl0pCisgICAgZiAoYSwgTV9QSSk7CisKKyAgZm9yIChpID0g MDsgaSA8IE47IGkrKykKKyAgICBpZiAoZmFicyAoYVtpXSAtIChNX1BJICogaSkpID4gRVBT SUxPTikKKyAgICAgIHJldHVybiAxOworCisgIC8qIFRPRE86IFRoaXMgZG9lcyBub3QgZXhl Y3V0ZSBhIHZlcnNpb24gb2YgZiB3aXRoIHRoZSBkZWZhdWx0IGNsYXVzZQorICAgICBhY3Rp dmUgYXMgbWlnaHQgYmUgZXhwZWN0ZWQuICAqLworICBmIChhLCBNX0UpOworCisgIGZvciAo aSA9IDA7IGkgPCBOOyBpKyspCisgICAgaWYgKGZhYnMgKGFbaV0gLSAoTV9FICogaSkpID4g RVBTSUxPTikKKyAgICAgIHJldHVybiAxOworCisgIHJldHVybiAwOworIH0KZGlmZiAtLWdp dCBhL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuYy1jKystY29tbW9uL21ldGFkaXJlY3Rp dmUtMy5jIGIvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5jLWMrKy1jb21tb24vbWV0YWRp cmVjdGl2ZS0zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmUz MWRhZjJjYjY0Ci0tLSAvZGV2L251bGwKKysrIGIvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29t cC5jLWMrKy1jb21tb24vbWV0YWRpcmVjdGl2ZS0zLmMKQEAgLTAsMCArMSwzNCBAQAorLyog eyBkZy1kbyBydW4gfSAqLworCisjZGVmaW5lIE4gMTAwCisKK2ludCBmIChpbnQgYVtdLCBp bnQgZmxhZykKK3sKKyAgaW50IGk7CisgIGludCByZXMgPSAwOworCisgICNwcmFnbWEgb21w IG1ldGFkaXJlY3RpdmUgXAorCXdoZW4gKHVzZXI9e2NvbmRpdGlvbighZmxhZyl9OiBcCisJ CXRhcmdldCB0ZWFtcyBkaXN0cmlidXRlIHBhcmFsbGVsIGZvciBcCisJCSAgbWFwKGZyb206 IGFbMDpOXSkgcHJpdmF0ZShyZXMpKSBcCisJZGVmYXVsdCAocGFyYWxsZWwgZm9yKQorICBm b3IgKGkgPSAwOyBpIDwgTjsgaSsrKQorICAgIHsKKyAgICAgIGFbaV0gPSBpOworICAgICAg cmVzID0gMTsKKyAgICB9CisKKyAgcmV0dXJuIHJlczsKK30KKworaW50IG1haW4gKHZvaWQp Cit7CisgIGludCBhW05dOworCisgIGlmIChmIChhLCAwKSkKKyAgICByZXR1cm4gMTsKKyAg aWYgKCFmIChhLCAxKSkKKyAgICByZXR1cm4gMTsKKworICByZXR1cm4gMDsKK30KZGlmZiAt LWdpdCBhL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuYy1jKystY29tbW9uL21ldGFkaXJl Y3RpdmUtNC5jIGIvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5jLWMrKy1jb21tb24vbWV0 YWRpcmVjdGl2ZS00LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LjdmYzYwMWVhYmE2Ci0tLSAvZGV2L251bGwKKysrIGIvbGliZ29tcC90ZXN0c3VpdGUvbGli Z29tcC5jLWMrKy1jb21tb24vbWV0YWRpcmVjdGl2ZS00LmMKQEAgLTAsMCArMSw1MiBAQAor LyogeyBkZy1kbyBydW4gfSAqLworCisjaW5jbHVkZSA8b21wLmg+CisKKyNkZWZpbmUgTiAx MDAKKworaW50IGYgKGludCBhW10sIGludCBydW5fcGFyYWxsZWwsIGludCBydW5fc3RhdGlj KQoreworICBpbnQgaXNfcGFyYWxsZWwgPSAwOworICBpbnQgaXNfc3RhdGljID0gMDsKKwor ICAjcHJhZ21hIG9tcCBtZXRhZGlyZWN0aXZlIFwKKwl3aGVuICh1c2VyPXtjb25kaXRpb24o cnVuX3BhcmFsbGVsKX06IHBhcmFsbGVsKQorICB7CisgICAgaW50IGk7CisKKyAgICBpZiAo b21wX2luX3BhcmFsbGVsICgpKQorICAgICAgaXNfcGFyYWxsZWwgPSAxOworCisgICAgI3By YWdtYSBvbXAgbWV0YWRpcmVjdGl2ZSBcCisJd2hlbiAoY29uc3RydWN0PXtwYXJhbGxlbH0s IHVzZXI9e2NvbmRpdGlvbighcnVuX3N0YXRpYyl9OiBcCisJICAgICAgZm9yIHNjaGVkdWxl KGd1aWRlZCkgcHJpdmF0ZShpc19zdGF0aWMpKSBcCisJd2hlbiAoY29uc3RydWN0PXtwYXJh bGxlbH06IGZvciBzY2hlZHVsZShzdGF0aWMpKQorICAgICAgZm9yIChpID0gMDsgaSA8IE47 IGkrKykKKwl7CisJICBhW2ldID0gaTsKKwkgIGlzX3N0YXRpYyA9IDE7CisJfQorICAgfQor CisgIHJldHVybiAoaXNfcGFyYWxsZWwgPDwgMSkgfCBpc19zdGF0aWM7Cit9CisKK2ludCBt YWluICh2b2lkKQoreworICBpbnQgYVtOXTsKKworICAvKiBpc19zdGF0aWMgaXMgYWx3YXlz IHNldCBpZiBydW5fcGFyYWxsZWwgaXMgZmFsc2UuICAqLworICBpZiAoZiAoYSwgMCwgMCkg IT0gMSkKKyAgICByZXR1cm4gMTsKKworICBpZiAoZiAoYSwgMCwgMSkgIT0gMSkKKyAgICBy ZXR1cm4gMTsKKworICBpZiAoZiAoYSwgMSwgMCkgIT0gMikKKyAgICByZXR1cm4gMTsKKwor ICBpZiAoZiAoYSwgMSwgMSkgIT0gMykKKyAgICByZXR1cm4gMTsKKworICByZXR1cm4gMDsK K30KZGlmZiAtLWdpdCBhL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuZm9ydHJhbi9tZXRh ZGlyZWN0aXZlLTEuZjkwIGIvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5mb3J0cmFuL21l dGFkaXJlY3RpdmUtMS5mOTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAuLjlmNmEwNzQ1OWUwCi0tLSAvZGV2L251bGwKKysrIGIvbGliZ29tcC90ZXN0c3VpdGUv bGliZ29tcC5mb3J0cmFuL21ldGFkaXJlY3RpdmUtMS5mOTAKQEAgLTAsMCArMSwzMyBAQAor ISB7IGRnLWRvIHJ1biB9CisKK3Byb2dyYW0gdGVzdAorICBpbXBsaWNpdCBub25lCisKKyAg aW50ZWdlciwgcGFyYW1ldGVyIDo6IE4gPSAxMDAKKyAgaW50ZWdlciA6OiB4KE4pLCB5KE4p LCB6KE4pCisgIGludGVnZXIgOjogaQorCisgIGRvIGkgPSAxLCBOCisgICAgeChpKSA9IGk7 CisgICAgeShpKSA9IC1pOworICBlbmQgZG8KKworICBjYWxsIGYgKHgsIHksIHopCisKKyAg ZG8gaSA9IDEsIE4KKyAgICBpZiAoeihpKSAubmUuIHgoaSkgKiB5KGkpKSBzdG9wIDEKKyAg ZW5kIGRvCitjb250YWlucworICBzdWJyb3V0aW5lIGYgKHgsIHksIHopCisgICAgaW50ZWdl ciA6OiB4KE4pLCB5KE4pLCB6KE4pCisKKyAgICAhJG9tcCB0YXJnZXQgbWFwICh0bzogeCwg eSkgbWFwKGZyb206IHopCisgICAgICAhJG9tcCBtZXRhZGlyZWN0aXZlICYKKwkJISRvbXAm IHdoZW4oZGV2aWNlPXthcmNoKCJudnB0eCIpfTogdGVhbXMgbG9vcCkgJgorCQkhJG9tcCYg ZGVmYXVsdChwYXJhbGxlbCBsb29wKQorCWRvIGkgPSAxLCBOCisJICB6KGkpID0geChpKSAq IHkoaSkKKwllbmRkbworICAgICEkb21wIGVuZCB0YXJnZXQKKyAgZW5kIHN1YnJvdXRpbmUK K2VuZCBwcm9ncmFtCmRpZmYgLS1naXQgYS9saWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmZv cnRyYW4vbWV0YWRpcmVjdGl2ZS0yLmY5MCBiL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAu Zm9ydHJhbi9tZXRhZGlyZWN0aXZlLTIuZjkwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwLi4zMjAxN2EwMDA3NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmdvbXAv dGVzdHN1aXRlL2xpYmdvbXAuZm9ydHJhbi9tZXRhZGlyZWN0aXZlLTIuZjkwCkBAIC0wLDAg KzEsNDAgQEAKKyEgeyBkZy1kbyBydW4gfQorCitwcm9ncmFtIHRlc3QKKyAgaW1wbGljaXQg bm9uZQorICBpbnRlZ2VyLCBwYXJhbWV0ZXIgOjogTiA9IDEwMAorICByZWFsLCBwYXJhbWV0 ZXIgOjogUElfQ09OU1QgPSAzLjE0MTU5CisgIHJlYWwsIHBhcmFtZXRlciA6OiBFX0NPTlNU ID0gMi43MTgyOAorICByZWFsLCBwYXJhbWV0ZXIgOjogRVBTSUxPTiA9IDAuMDAxCisgIGlu dGVnZXIgOjogaQorICByZWFsIDo6IGEoTikKKworICAhJG9tcCB0YXJnZXQgbWFwKGZyb206 IGEpCisgICAgY2FsbCBmIChhLCBQSV9DT05TVCkKKyAgISRvbXAgZW5kIHRhcmdldAorCisg IGRvIGkgPSAxLCBOCisgICAgaWYgKGFicyAoYShpKSAtIChQSV9DT05TVCAqIGkpKSAuZ3Qu IEVQU0lMT04pIHN0b3AgMQorICBlbmQgZG8KKworICAhIFRPRE86IFRoaXMgZG9lcyBub3Qg ZXhlY3V0ZSBhIHZlcnNpb24gb2YgZiB3aXRoIHRoZSBkZWZhdWx0IGNsYXVzZQorICAhIGFj dGl2ZSBhcyBtaWdodCBiZSBleHBlY3RlZC4KKyAgY2FsbCBmIChhLCBFX0NPTlNUKQorCisg IGRvIGkgPSAxLCBOCisgICAgaWYgKGFicyAoYShpKSAtIChFX0NPTlNUICogaSkpIC5ndC4g RVBTSUxPTikgc3RvcCAyCisgIGVuZCBkbworY29udGFpbnMKKyAgc3Vicm91dGluZSBmIChh LCB4KQorICAgIGludGVnZXIgOjogaQorICAgIHJlYWwgOjogYShOKSwgeAorICAgICEkb21w IGRlY2xhcmUgdGFyZ2V0CisKKyAgICAhJG9tcCBtZXRhZGlyZWN0aXZlICYKKyAgICAhJG9t cCYgIHdoZW4gKGNvbnN0cnVjdD17dGFyZ2V0fTogZGlzdHJpYnV0ZSBwYXJhbGxlbCBkbyAp ICYKKyAgICAhJG9tcCYgIGRlZmF1bHQocGFyYWxsZWwgZG8gc2ltZCkKKyAgICAgIGRvIGkg PSAxLCBOCisJYShpKSA9IHggKiBpCisgICAgICBlbmQgZG8KKyAgZW5kIHN1YnJvdXRpbmUK K2VuZCBwcm9ncmFtCmRpZmYgLS1naXQgYS9saWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmZv cnRyYW4vbWV0YWRpcmVjdGl2ZS0zLmY5MCBiL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAu Zm9ydHJhbi9tZXRhZGlyZWN0aXZlLTMuZjkwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwLi42OTNjNDBiY2E1YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmdvbXAv dGVzdHN1aXRlL2xpYmdvbXAuZm9ydHJhbi9tZXRhZGlyZWN0aXZlLTMuZjkwCkBAIC0wLDAg KzEsMjkgQEAKKyEgeyBkZy1kbyBydW4gfQorCitwcm9ncmFtIHRlc3QKKyAgaW1wbGljaXQg bm9uZQorCisgIGludGVnZXIsIHBhcmFtZXRlciA6OiBOID0gMTAwCisgIGludGVnZXIgOjog YShOKQorICBpbnRlZ2VyIDo6IHJlcworCisgIGlmIChmIChhLCAuZmFsc2UuKSkgc3RvcCAx CisgIGlmICgubm90LiBmIChhLCAudHJ1ZS4pKSBzdG9wIDIKK2NvbnRhaW5zCisgIGxvZ2lj YWwgZnVuY3Rpb24gZiAoYSwgZmxhZykKKyAgICBpbnRlZ2VyIDo6IGEoTikKKyAgICBsb2dp Y2FsIDo6IGZsYWcKKyAgICBsb2dpY2FsIDo6IHJlcyA9IC5mYWxzZS4KKyAgICBpbnRlZ2Vy IDo6IGkKKyAgICBmID0gLmZhbHNlLgorICAgICEkb21wIG1ldGFkaXJlY3RpdmUgJgorICAg ICEkb21wJiAgd2hlbiAodXNlcj17Y29uZGl0aW9uKC5ub3QuIGZsYWcpfTogJgorICAgICEk b21wJgkgdGFyZ2V0IHRlYW1zIGRpc3RyaWJ1dGUgcGFyYWxsZWwgZG8gJgorICAgICEkb21w JgkJbWFwKGZyb206IGEoMTpOKSkgcHJpdmF0ZShyZXMpKSAmCisgICAgISRvbXAmICBkZWZh dWx0KHBhcmFsbGVsIGRvKQorICAgICAgZG8gaSA9IDEsIE4KKwlhKGkpID0gaQorCWYgPSAu dHJ1ZS4KKyAgICAgZW5kIGRvCisgIGVuZCBmdW5jdGlvbgorZW5kIHByb2dyYW0KZGlmZiAt LWdpdCBhL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuZm9ydHJhbi9tZXRhZGlyZWN0aXZl LTQuZjkwIGIvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5mb3J0cmFuL21ldGFkaXJlY3Rp dmUtNC5mOTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjA0ZmRm NjE0ODljCi0tLSAvZGV2L251bGwKKysrIGIvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5m b3J0cmFuL21ldGFkaXJlY3RpdmUtNC5mOTAKQEAgLTAsMCArMSw0NiBAQAorISB7IGRnLWRv IHJ1biB9CisKK3Byb2dyYW0gdGVzdAorICB1c2Ugb21wX2xpYgorCisgIGltcGxpY2l0IG5v bmUKKyAgaW50ZWdlciwgcGFyYW1ldGVyIDo6IE4gPSAxMDAKKyAgaW50ZWdlciA6OiBhKE4p CisgIGxvZ2ljYWwgOjogaXNfcGFyYWxsZWwsIGlzX3N0YXRpYworCisgICEgaXNfc3RhdGlj IGlzIGFsd2F5cyBzZXQgaWYgcnVuX3BhcmFsbGVsIGlzIGZhbHNlLgorICBjYWxsIGYgKGEs IC5mYWxzZS4sIC5mYWxzZS4sIGlzX3BhcmFsbGVsLCBpc19zdGF0aWMpCisgIGlmIChpc19w YXJhbGxlbCAub3IuIC5ub3QuIGlzX3N0YXRpYykgc3RvcCAxCisKKyAgY2FsbCBmIChhLCAu ZmFsc2UuLCAudHJ1ZS4sIGlzX3BhcmFsbGVsLCBpc19zdGF0aWMpCisgIGlmIChpc19wYXJh bGxlbCAub3IuIC5ub3QuIGlzX3N0YXRpYykgc3RvcCAyCisKKyAgY2FsbCBmIChhLCAudHJ1 ZS4sIC5mYWxzZS4sIGlzX3BhcmFsbGVsLCBpc19zdGF0aWMpCisgIGlmICgubm90LiBpc19w YXJhbGxlbCAub3IuIGlzX3N0YXRpYykgc3RvcCAzCisKKyAgY2FsbCBmIChhLCAudHJ1ZS4s IC50cnVlLiwgaXNfcGFyYWxsZWwsIGlzX3N0YXRpYykKKyAgaWYgKC5ub3QuIGlzX3BhcmFs bGVsIC5vci4gLm5vdC4gaXNfc3RhdGljKSBzdG9wIDQKK2NvbnRhaW5zCisgIHN1YnJvdXRp bmUgZiAoYSwgcnVuX3BhcmFsbGVsLCBydW5fc3RhdGljLCBpc19wYXJhbGxlbCwgaXNfc3Rh dGljKQorICAgIGludGVnZXIgOjogYShOKQorICAgIGxvZ2ljYWwsIGludGVudChpbikgOjog cnVuX3BhcmFsbGVsLCBydW5fc3RhdGljCisgICAgbG9naWNhbCwgaW50ZW50KG91dCkgOjog aXNfcGFyYWxsZWwsIGlzX3N0YXRpYworICAgIGludGVnZXIgOjogaQorCisgICAgaXNfcGFy YWxsZWwgPSAuZmFsc2UuCisgICAgaXNfc3RhdGljID0gLmZhbHNlLgorCisgICAgISRvbXAg YmVnaW4gbWV0YWRpcmVjdGl2ZSB3aGVuKHVzZXI9e2NvbmRpdGlvbihydW5fcGFyYWxsZWwp fTogcGFyYWxsZWwpCisgICAgICBpZiAob21wX2luX3BhcmFsbGVsICgpKSBpc19wYXJhbGxl bCA9IC50cnVlLgorCisgICAgICAhJG9tcCBtZXRhZGlyZWN0aXZlICYKKyAgICAgICEkb21w JiAgd2hlbihjb25zdHJ1Y3Q9e3BhcmFsbGVsfSwgdXNlcj17Y29uZGl0aW9uKC5ub3QuIHJ1 bl9zdGF0aWMpfTogJgorICAgICAgISRvbXAmICAgICAgIGRvIHNjaGVkdWxlKGd1aWRlZCkg cHJpdmF0ZShpc19zdGF0aWMpKSAmCisgICAgICAhJG9tcCYgIHdoZW4oY29uc3RydWN0PXtw YXJhbGxlbH06IGRvIHNjaGVkdWxlKHN0YXRpYykpCisJZG8gaSA9IDEsIE4KKwkgIGEoaSkg PSBpCisJICBpc19zdGF0aWMgPSAudHJ1ZS4KKwllbmQgZG8KKyAgICAhJG9tcCBlbmQgbWV0 YWRpcmVjdGl2ZQorICBlbmQgc3Vicm91dGluZQorZW5kIHByb2dyYW0KLS0gCjIuMjUuMQoK --------------RKrdqZ7KvD9VKRaAmMWFzUdf--