From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa4.mentor.iphmx.com (esa4.mentor.iphmx.com [68.232.137.252]) by sourceware.org (Postfix) with ESMTPS id C9EF538319FC; Fri, 9 Dec 2022 20:15:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C9EF538319FC 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.96,232,1665475200"; d="diff'?scan'208";a="89152649" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa4.mentor.iphmx.com with ESMTP; 09 Dec 2022 12:15:03 -0800 IronPort-SDR: YUgN3py8ms9FvXfW33vz1DNRdvf0DkgX6XmlEOyeURDAxiiIcG3uDIT1OwgfTtTmxb3L+9G12c eDdP8uJAFkxLizX7yLCRuXkjKWfx2hQ3ZqCpJoJ7haP3Lp3roiP/fXOZCL7pvYSer1WrxE6yiH kEpa1M//L0pKr7BghmqqOqbUKV8YLkmC/ZAZMWYtfU17X0avxVtTbT3kAhZjdTIbyuv6YRAOtx UJ82yJ3dmBP6zMfLKN1W1EmvYdjAPMY3WcAn2nuRq8hh39Z2fzdSBB99Ljiw1HGztA7+FnB/Ak Lxs= Content-Type: multipart/mixed; boundary="------------RvcgZkbiItiKd0aeB4mQZ5kU" Message-ID: <9fa813e0-6bca-3bcb-5bfc-68a61e912064@codesourcery.com> Date: Fri, 9 Dec 2022 21:14:55 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.1 Content-Language: en-US To: gcc-patches , Jakub Jelinek , fortran From: Tobias Burnus Subject: [Patch] Fortran/OpenMP: align/allocator modifiers to the allocate clause X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-11.4 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.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --------------RvcgZkbiItiKd0aeB4mQZ5kU Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable Implementing the 5.1 syntax inside the 'allocate' clause. That's a fallout of working on something else... OK for mainline? Tobias ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstra=C3=9Fe 201= , 80634 M=C3=BCnchen; Gesellschaft mit beschr=C3=A4nkter Haftung; Gesch=C3= =A4ftsf=C3=BChrer: Thomas Heurung, Frank Th=C3=BCrauf; Sitz der Gesellschaf= t: M=C3=BCnchen; Registergericht M=C3=BCnchen, HRB 106955 --------------RvcgZkbiItiKd0aeB4mQZ5kU Content-Type: text/x-patch; charset="UTF-8"; name="allocate-align-modifier.diff" Content-Disposition: attachment; filename="allocate-align-modifier.diff" Content-Transfer-Encoding: base64 Rm9ydHJhbi9PcGVuTVA6IGFsaWduL2FsbG9jYXRvciBtb2RpZmllcnMgdG8gdGhlIGFsbG9j YXRlIGNsYXVzZQoKZ2NjL2ZvcnRyYW4vQ2hhbmdlTG9nOgoKCSogZHVtcC1wYXJzZS10cmVl LmNjIChzaG93X29tcF9uYW1lbGlzdCk6IEltcHJvdmUgT01QX0xJU1RfQUxMT0NBVEUKCW91 dHB1dC4KCSogZ2ZvcnRyYW4uaCAoc3RydWN0IGdmY19vbXBfbmFtZWxpc3QpOiBBZGQgJ2Fs aWduJyB0byAndScuCgkoZ2ZjX2ZyZWVfb21wX25hbWVsaXN0KTogQWRkIGJvb2wgYXJnLgoJ KiBtYXRjaC5jYyAoZ2ZjX2ZyZWVfb21wX25hbWVsaXN0KTogTGlrZXdpc2U7IGZyZWUgJ3Uu YWxpZ24nLgoJKiBvcGVubXAuY2MgKGdmY19mcmVlX29tcF9jbGF1c2VzLCBnZmNfbWF0Y2hf b21wX2NsYXVzZV9yZWR1Y3Rpb24sCglnZmNfbWF0Y2hfb21wX2ZsdXNoKTogVXBkYXRlIGNh bGwuCgkoZ2ZjX21hdGNoX29tcF9jbGF1c2VzKTogTWF0Y2ggJ2FsaWduL2FsbG9jYXRlIG1v ZGlmZXJzIGluCgknYWxsb2NhdGUnIGNsYXVzZS4KCShyZXNvbHZlX29tcF9jbGF1c2VzKTog UmVzb2x2ZSBhbGlnbi4KCSogc3QuY2MgKGdmY19mcmVlX3N0YXRlbWVudCk6IFVwZGF0ZSBj YWxsCgkqIHRyYW5zLW9wZW5tcC5jYyAoZ2ZjX3RyYW5zX29tcF9jbGF1c2VzKTogSGFuZGxl ICdhbGlnbicuCgpsaWJnb21wL0NoYW5nZUxvZzoKCgkqIGxpYmdvbXAudGV4aSAoNS4xIElt cGwuIFN0YXR1cyk6IFNwbGl0IGFsbG9jYXRlIGNsYXVzZS9kaXJlY3RpdmUKCWl0ZW0gYWJv dXQgJ2FsaWduJzsgbWFyayBjbGF1c2UgYXMgJ1knIGFuZCBkaXJlY3RpdmUgYXMgJ04nLgoJ KiB0ZXN0c3VpdGUvbGliZ29tcC5mb3J0cmFuL2FsbG9jYXRlLTIuZjkwOiBOZXcgdGVzdC4K CSogdGVzdHN1aXRlL2xpYmdvbXAuZm9ydHJhbi9hbGxvY2F0ZS0zLmY5MDogTmV3IHRlc3Qu CgogZ2NjL2ZvcnRyYW4vZHVtcC1wYXJzZS10cmVlLmNjICAgICAgICAgICAgICAgICAgIHwg IDIzICsrKysrCiBnY2MvZm9ydHJhbi9nZm9ydHJhbi5oICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgIDMgKy0KIGdjYy9mb3J0cmFuL21hdGNoLmNjICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgNCArLQogZ2NjL2ZvcnRyYW4vb3Blbm1wLmNjICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgMTA2ICsrKysrKysrKysrKysrKy0tLS0tLS0tCiBnY2MvZm9y dHJhbi9zdC5jYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIGdj Yy9mb3J0cmFuL3RyYW5zLW9wZW5tcC5jYyAgICAgICAgICAgICAgICAgICAgICB8ICAgOCAr KwogbGliZ29tcC9saWJnb21wLnRleGkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg ICA0ICstCiBsaWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmZvcnRyYW4vYWxsb2NhdGUtMi5m OTAgfCAgMjUgKysrKysrCiBsaWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmZvcnRyYW4vYWxs b2NhdGUtMy5mOTAgfCAgMjggKysrKysrCiA5IGZpbGVzIGNoYW5nZWQsIDE2MyBpbnNlcnRp b25zKCspLCA0MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9kdW1w LXBhcnNlLXRyZWUuY2MgYi9nY2MvZm9ydHJhbi9kdW1wLXBhcnNlLXRyZWUuY2MKaW5kZXgg MmYwNDJhYjUxNDIuLjVhZTcyZGMxY2FjIDEwMDY0NAotLS0gYS9nY2MvZm9ydHJhbi9kdW1w LXBhcnNlLXRyZWUuY2MKKysrIGIvZ2NjL2ZvcnRyYW4vZHVtcC1wYXJzZS10cmVlLmNjCkBA IC0xMzU3LDYgKzEzNTcsMjkgQEAgc2hvd19vbXBfbmFtZWxpc3QgKGludCBsaXN0X3R5cGUs IGdmY19vbXBfbmFtZWxpc3QgKm4pCiAJICAgIH0KIAkgIG5zX2l0ZXIgPSBuLT51Mi5uczsK IAl9CisgICAgICBpZiAobGlzdF90eXBlID09IE9NUF9MSVNUX0FMTE9DQVRFKQorCXsKKwkg IGlmIChuLT5leHByKQorCSAgICB7CisJICAgICAgZnB1dHMgKCJhbGxvY2F0b3IoIiwgZHVt cGZpbGUpOworCSAgICAgIHNob3dfZXhwciAobi0+ZXhwcik7CisJICAgICAgZnB1dGMgKCcp JywgZHVtcGZpbGUpOworCSAgICB9CisJICBpZiAobi0+ZXhwciAmJiBuLT51LmFsaWduKQor CSAgICBmcHV0YyAoJywnLCBkdW1wZmlsZSk7CisJICBpZiAobi0+dS5hbGlnbikKKwkgICAg eworCSAgICAgIGZwdXRzICgiYWxsb2NhdG9yKCIsIGR1bXBmaWxlKTsKKwkgICAgICBzaG93 X2V4cHIgKG4tPnUuYWxpZ24pOworCSAgICAgIGZwdXRjICgnKScsIGR1bXBmaWxlKTsKKwkg ICAgfQorCSAgaWYgKG4tPmV4cHIgfHwgbi0+dS5hbGlnbikKKwkgICAgZnB1dGMgKCc6Jywg ZHVtcGZpbGUpOworCSAgZnB1dHMgKG4tPnN5bS0+bmFtZSwgZHVtcGZpbGUpOworCSAgaWYg KG4tPm5leHQpCisJICAgIGZwdXRzICgiKSBBTExPQ0FURSgiLCBkdW1wZmlsZSk7CisJICBj b250aW51ZTsKKwl9CiAgICAgICBpZiAobGlzdF90eXBlID09IE9NUF9MSVNUX1JFRFVDVElP TikKIAlzd2l0Y2ggKG4tPnUucmVkdWN0aW9uX29wKQogCSAgewpkaWZmIC0tZ2l0IGEvZ2Nj L2ZvcnRyYW4vZ2ZvcnRyYW4uaCBiL2djYy9mb3J0cmFuL2dmb3J0cmFuLmgKaW5kZXggYjU0 MWEwN2UyYzcuLjVmOGE4MWFlNGExIDEwMDY0NAotLS0gYS9nY2MvZm9ydHJhbi9nZm9ydHJh bi5oCisrKyBiL2djYy9mb3J0cmFuL2dmb3J0cmFuLmgKQEAgLTEzNDksNiArMTM0OSw3IEBA IHR5cGVkZWYgc3RydWN0IGdmY19vbXBfbmFtZWxpc3QKICAgICAgIGdmY19vbXBfcmVkdWN0 aW9uX29wIHJlZHVjdGlvbl9vcDsKICAgICAgIGdmY19vbXBfZGVwZW5kX2RvYWNyb3NzX29w IGRlcGVuZF9kb2Fjcm9zc19vcDsKICAgICAgIGdmY19vbXBfbWFwX29wIG1hcF9vcDsKKyAg ICAgIGdmY19leHByICphbGlnbjsKICAgICAgIHN0cnVjdAogCXsKIAkgIEVOVU1fQklURklF TEQgKGdmY19vbXBfbGluZWFyX29wKSBvcDo0OwpAQCAtMzU3Miw3ICszNTczLDcgQEAgdm9p ZCBnZmNfZnJlZV9pdGVyYXRvciAoZ2ZjX2l0ZXJhdG9yICosIGludCk7CiB2b2lkIGdmY19m cmVlX2ZvcmFsbF9pdGVyYXRvciAoZ2ZjX2ZvcmFsbF9pdGVyYXRvciAqKTsKIHZvaWQgZ2Zj X2ZyZWVfYWxsb2NfbGlzdCAoZ2ZjX2FsbG9jICopOwogdm9pZCBnZmNfZnJlZV9uYW1lbGlz dCAoZ2ZjX25hbWVsaXN0ICopOwotdm9pZCBnZmNfZnJlZV9vbXBfbmFtZWxpc3QgKGdmY19v bXBfbmFtZWxpc3QgKiwgYm9vbCk7Cit2b2lkIGdmY19mcmVlX29tcF9uYW1lbGlzdCAoZ2Zj X29tcF9uYW1lbGlzdCAqLCBib29sLCBib29sKTsKIHZvaWQgZ2ZjX2ZyZWVfZXF1aXYgKGdm Y19lcXVpdiAqKTsKIHZvaWQgZ2ZjX2ZyZWVfZXF1aXZfdW50aWwgKGdmY19lcXVpdiAqLCBn ZmNfZXF1aXYgKik7CiB2b2lkIGdmY19mcmVlX2RhdGEgKGdmY19kYXRhICopOwpkaWZmIC0t Z2l0IGEvZ2NjL2ZvcnRyYW4vbWF0Y2guY2MgYi9nY2MvZm9ydHJhbi9tYXRjaC5jYwppbmRl eCA4YjhiNmU3OWM4Yi4uN2JhMGYzNDk5OTMgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFuL21h dGNoLmNjCisrKyBiL2djYy9mb3J0cmFuL21hdGNoLmNjCkBAIC01NTI0LDEzICs1NTI0LDE1 IEBAIGdmY19mcmVlX25hbWVsaXN0IChnZmNfbmFtZWxpc3QgKm5hbWUpCiAvKiBGcmVlIGFu IE9wZW5NUCBuYW1lbGlzdCBzdHJ1Y3R1cmUuICAqLwogCiB2b2lkCi1nZmNfZnJlZV9vbXBf bmFtZWxpc3QgKGdmY19vbXBfbmFtZWxpc3QgKm5hbWUsIGJvb2wgZnJlZV9ucykKK2dmY19m cmVlX29tcF9uYW1lbGlzdCAoZ2ZjX29tcF9uYW1lbGlzdCAqbmFtZSwgYm9vbCBmcmVlX25z LCBib29sIGZyZWVfYWxpZ24pCiB7CiAgIGdmY19vbXBfbmFtZWxpc3QgKm47CiAKICAgZm9y ICg7IG5hbWU7IG5hbWUgPSBuKQogICAgIHsKICAgICAgIGdmY19mcmVlX2V4cHIgKG5hbWUt PmV4cHIpOworICAgICAgaWYgKGZyZWVfYWxpZ24pCisJZ2ZjX2ZyZWVfZXhwciAobmFtZS0+ dS5hbGlnbik7CiAgICAgICBpZiAoZnJlZV9ucykKIAlnZmNfZnJlZV9uYW1lc3BhY2UgKG5h bWUtPnUyLm5zKTsKICAgICAgIGVsc2UgaWYgKG5hbWUtPnUyLnVkcikKZGlmZiAtLWdpdCBh L2djYy9mb3J0cmFuL29wZW5tcC5jYyBiL2djYy9mb3J0cmFuL29wZW5tcC5jYwppbmRleCA4 NjJjNjQ5YjBiNi4uNGI0ZTZhYzY5NDcgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFuL29wZW5t cC5jYworKysgYi9nY2MvZm9ydHJhbi9vcGVubXAuY2MKQEAgLTE4Nyw3ICsxODcsOCBAQCBn ZmNfZnJlZV9vbXBfY2xhdXNlcyAoZ2ZjX29tcF9jbGF1c2VzICpjKQogICBnZmNfZnJlZV9l eHByIChjLT52ZWN0b3JfbGVuZ3RoX2V4cHIpOwogICBmb3IgKGkgPSAwOyBpIDwgT01QX0xJ U1RfTlVNOyBpKyspCiAgICAgZ2ZjX2ZyZWVfb21wX25hbWVsaXN0IChjLT5saXN0c1tpXSwK LQkJCSAgIGkgPT0gT01QX0xJU1RfQUZGSU5JVFkgfHwgaSA9PSBPTVBfTElTVF9ERVBFTkQp OworCQkJICAgaSA9PSBPTVBfTElTVF9BRkZJTklUWSB8fCBpID09IE9NUF9MSVNUX0RFUEVO RCwKKwkJCSAgIGkgPT0gT01QX0xJU1RfQUxMT0NBVEUpOwogICBnZmNfZnJlZV9leHByX2xp c3QgKGMtPndhaXRfbGlzdCk7CiAgIGdmY19mcmVlX2V4cHJfbGlzdCAoYy0+dGlsZV9saXN0 KTsKICAgZnJlZSAoQ09OU1RfQ0FTVCAoY2hhciAqLCBjLT5jcml0aWNhbF9uYW1lKSk7CkBA IC01NDIsNyArNTQzLDcgQEAgc3ludGF4OgogICBnZmNfZXJyb3IgKCJTeW50YXggZXJyb3Ig aW4gT3Blbk1QIHZhcmlhYmxlIGxpc3QgYXQgJUMiKTsKIAogY2xlYW51cDoKLSAgZ2ZjX2Zy ZWVfb21wX25hbWVsaXN0IChoZWFkLCBmYWxzZSk7CisgIGdmY19mcmVlX29tcF9uYW1lbGlz dCAoaGVhZCwgZmFsc2UsIGZhbHNlKTsKICAgZ2ZjX2N1cnJlbnRfbG9jdXMgPSBvbGRfbG9j OwogICByZXR1cm4gTUFUQ0hfRVJST1I7CiB9CkBAIC02MzIsNyArNjMzLDcgQEAgc3ludGF4 OgogICBnZmNfZXJyb3IgKCJTeW50YXggZXJyb3IgaW4gT3Blbk1QIHZhcmlhYmxlIGxpc3Qg YXQgJUMiKTsKIAogY2xlYW51cDoKLSAgZ2ZjX2ZyZWVfb21wX25hbWVsaXN0IChoZWFkLCBm YWxzZSk7CisgIGdmY19mcmVlX29tcF9uYW1lbGlzdCAoaGVhZCwgZmFsc2UsIGZhbHNlKTsK ICAgZ2ZjX2N1cnJlbnRfbG9jdXMgPSBvbGRfbG9jOwogICByZXR1cm4gTUFUQ0hfRVJST1I7 CiB9CkBAIC03NDEsNyArNzQyLDcgQEAgc3ludGF4OgogICBnZmNfZXJyb3IgKCJTeW50YXgg ZXJyb3IgaW4gT3Blbk1QIFNJTksgZGVwZW5kZW5jZS10eXBlIGxpc3QgYXQgJUMiKTsKIAog Y2xlYW51cDoKLSAgZ2ZjX2ZyZWVfb21wX25hbWVsaXN0IChoZWFkLCBmYWxzZSk7CisgIGdm Y19mcmVlX29tcF9uYW1lbGlzdCAoaGVhZCwgZmFsc2UsIGZhbHNlKTsKICAgZ2ZjX2N1cnJl bnRfbG9jdXMgPSBvbGRfbG9jOwogICByZXR1cm4gTUFUQ0hfRVJST1I7CiB9CkBAIC0xNDY3 LDcgKzE0NjgsNyBAQCBnZmNfbWF0Y2hfb21wX2NsYXVzZV9yZWR1Y3Rpb24gKGNoYXIgcGMs IGdmY19vbXBfY2xhdXNlcyAqYywgYm9vbCBvcGVuYWNjLAogICAgICAgKmhlYWQgPSBOVUxM OwogICAgICAgZ2ZjX2Vycm9yX25vdyAoIiEkT01QIERFQ0xBUkUgUkVEVUNUSU9OICVzIG5v dCBmb3VuZCBhdCAlTCIsCiAJCSAgICAgYnVmZmVyLCAmb2xkX2xvYyk7Ci0gICAgICBnZmNf ZnJlZV9vbXBfbmFtZWxpc3QgKG4sIGZhbHNlKTsKKyAgICAgIGdmY19mcmVlX29tcF9uYW1l bGlzdCAobiwgZmFsc2UsIGZhbHNlKTsKICAgICB9CiAgIGVsc2UKICAgICBmb3IgKG4gPSAq aGVhZDsgbjsgbiA9IG4tPm5leHQpCkBAIC0xNzg1LDcgKzE3ODYsNyBAQCBnZmNfbWF0Y2hf b21wX2NsYXVzZXMgKGdmY19vbXBfY2xhdXNlcyAqKmNwLCBjb25zdCBvbXBfbWFzayBtYXNr LAogCiAJICAgICAgaWYgKGVuZF9jb2xvbiAmJiBnZmNfbWF0Y2ggKCIgJWUgKSIsICZhbGln bm1lbnQpICE9IE1BVENIX1lFUykKIAkJewotCQkgIGdmY19mcmVlX29tcF9uYW1lbGlzdCAo KmhlYWQsIGZhbHNlKTsKKwkJICBnZmNfZnJlZV9vbXBfbmFtZWxpc3QgKCpoZWFkLCBmYWxz ZSwgZmFsc2UpOwogCQkgIGdmY19jdXJyZW50X2xvY3VzID0gb2xkX2xvYzsKIAkJICAqaGVh ZCA9IE5VTEw7CiAJCSAgYnJlYWs7CkBAIC0xODUzLDE3ICsxODU0LDMzIEBAIGdmY19tYXRj aF9vbXBfY2xhdXNlcyAoZ2ZjX29tcF9jbGF1c2VzICoqY3AsIGNvbnN0IG9tcF9tYXNrIG1h c2ssCiAJICAgICAgJiYgZ2ZjX21hdGNoICgiYWxsb2NhdGUgKCAiKSA9PSBNQVRDSF9ZRVMp CiAJICAgIHsKIAkgICAgICBnZmNfZXhwciAqYWxsb2NhdG9yID0gTlVMTDsKKwkgICAgICBn ZmNfZXhwciAqYWxpZ24gPSBOVUxMOwogCSAgICAgIG9sZF9sb2MgPSBnZmNfY3VycmVudF9s b2N1czsKLQkgICAgICBtID0gZ2ZjX21hdGNoX2V4cHIgKCZhbGxvY2F0b3IpOwotCSAgICAg IGlmIChtID09IE1BVENIX1lFUyAmJiBnZmNfbWF0Y2ggKCIgOiAiKSAhPSBNQVRDSF9ZRVMp CisJICAgICAgaWYgKChtID0gZ2ZjX21hdGNoICgiYWxsb2NhdG9yICggJWUgKSIsICZhbGxv Y2F0b3IpKSA9PSBNQVRDSF9ZRVMpCisJCWdmY19tYXRjaCAoIiAsIGFsaWduICggJWUgKSIs ICZhbGlnbik7CisJICAgICAgZWxzZSBpZiAoKG0gPSBnZmNfbWF0Y2ggKCJhbGlnbiAoICVl ICkiLCAmYWxpZ24pKSA9PSBNQVRDSF9ZRVMpCisJCWdmY19tYXRjaCAoIiAsIGFsbG9jYXRv ciAoICVlICkiLCAmYWxsb2NhdG9yKTsKKworCSAgICAgIGlmIChtID09IE1BVENIX1lFUykK IAkJewotCQkgIC8qIElmIG5vICI6IiB0aGVuIHRoZXJlIGlzIG5vIGFsbG9jYXRvciwgd2Ug YmFja3RyYWNrCi0JCSAgICAgYW5kIHJlYWQgdGhlIHZhcmlhYmxlIGxpc3QuICAqLwotCQkg IGdmY19mcmVlX2V4cHIgKGFsbG9jYXRvcik7Ci0JCSAgYWxsb2NhdG9yID0gTlVMTDsKLQkJ ICBnZmNfY3VycmVudF9sb2N1cyA9IG9sZF9sb2M7CisJCSAgaWYgKGdmY19tYXRjaCAoIiA6 ICIpICE9IE1BVENIX1lFUykKKwkJICAgIHsKKwkJICAgICAgZ2ZjX2Vycm9yICgiRXhwZWN0 ZWQgJTw6JT4gYXQgJUMiKTsKKwkJICAgICAgZ290byBlcnJvcjsKKwkJICAgIH0KKwkJfQor CSAgICAgIGVsc2UKKwkJeworCQkgIG0gPSBnZmNfbWF0Y2hfZXhwciAoJmFsbG9jYXRvcik7 CisJCSAgaWYgKG0gPT0gTUFUQ0hfWUVTICYmIGdmY19tYXRjaCAoIiA6ICIpICE9IE1BVENI X1lFUykKKwkJICAgIHsKKwkJICAgICAgIC8qIElmIG5vICI6IiB0aGVuIHRoZXJlIGlzIG5v IGFsbG9jYXRvciwgd2UgYmFja3RyYWNrCisJCQkgIGFuZCByZWFkIHRoZSB2YXJpYWJsZSBs aXN0LiAgKi8KKwkJICAgICAgZ2ZjX2ZyZWVfZXhwciAoYWxsb2NhdG9yKTsKKwkJICAgICAg YWxsb2NhdG9yID0gTlVMTDsKKwkJICAgICAgZ2ZjX2N1cnJlbnRfbG9jdXMgPSBvbGRfbG9j OworCQkgICAgfQogCQl9Ci0KIAkgICAgICBnZmNfb21wX25hbWVsaXN0ICoqaGVhZCA9IE5V TEw7CiAJICAgICAgbSA9IGdmY19tYXRjaF9vbXBfdmFyaWFibGVfbGlzdCAoIiIsICZjLT5s aXN0c1tPTVBfTElTVF9BTExPQ0FURV0sCiAJCQkJCSAgICAgICB0cnVlLCBOVUxMLCAmaGVh ZCk7CkBAIC0xODcxLDE2ICsxODg4LDE4IEBAIGdmY19tYXRjaF9vbXBfY2xhdXNlcyAoZ2Zj X29tcF9jbGF1c2VzICoqY3AsIGNvbnN0IG9tcF9tYXNrIG1hc2ssCiAJICAgICAgaWYgKG0g IT0gTUFUQ0hfWUVTKQogCQl7CiAJCSAgZ2ZjX2ZyZWVfZXhwciAoYWxsb2NhdG9yKTsKKwkJ ICBnZmNfZnJlZV9leHByIChhbGlnbik7CiAJCSAgZ2ZjX2Vycm9yICgiRXhwZWN0ZWQgdmFy aWFibGUgbGlzdCBhdCAlQyIpOwogCQkgIGdvdG8gZXJyb3I7CiAJCX0KIAogCSAgICAgIGZv ciAoZ2ZjX29tcF9uYW1lbGlzdCAqbiA9ICpoZWFkOyBuOyBuID0gbi0+bmV4dCkKLQkJaWYg KGFsbG9jYXRvcikKLQkJICBuLT5leHByID0gZ2ZjX2NvcHlfZXhwciAoYWxsb2NhdG9yKTsK LQkJZWxzZQotCQkgIG4tPmV4cHIgPSBOVUxMOworCQl7CisJCSAgbi0+ZXhwciA9IChhbGxv Y2F0b3IpID8gZ2ZjX2NvcHlfZXhwciAoYWxsb2NhdG9yKSA6IE5VTEw7CisJCSAgbi0+dS5h bGlnbiA9IChhbGlnbikgPyBnZmNfY29weV9leHByIChhbGlnbikgOiBOVUxMOworCQl9CiAJ ICAgICAgZ2ZjX2ZyZWVfZXhwciAoYWxsb2NhdG9yKTsKKwkgICAgICBnZmNfZnJlZV9leHBy IChhbGlnbik7CiAJICAgICAgY29udGludWU7CiAJICAgIH0KIAkgIGlmICgobWFzayAmIE9N UF9DTEFVU0VfQVQpCkBAIC0yNzA5LDcgKzI3MjgsNyBAQCBnZmNfbWF0Y2hfb21wX2NsYXVz ZXMgKGdmY19vbXBfY2xhdXNlcyAqKmNwLCBjb25zdCBvbXBfbWFzayBtYXNrLAogCQkgICAg ZW5kX2NvbG9uID0gdHJ1ZTsKIAkJICBlbHNlIGlmIChnZmNfbWF0Y2ggKCIgKSIpICE9IE1B VENIX1lFUykKIAkJICAgIHsKLQkJICAgICAgZ2ZjX2ZyZWVfb21wX25hbWVsaXN0ICgqaGVh ZCwgZmFsc2UpOworCQkgICAgICBnZmNfZnJlZV9vbXBfbmFtZWxpc3QgKCpoZWFkLCBmYWxz ZSwgZmFsc2UpOwogCQkgICAgICBnZmNfY3VycmVudF9sb2N1cyA9IG9sZF9sb2M7CiAJCSAg ICAgICpoZWFkID0gTlVMTDsKIAkJICAgICAgYnJlYWs7CkBAIC0yNzIwLDcgKzI3MzksNyBA QCBnZmNfbWF0Y2hfb21wX2NsYXVzZXMgKGdmY19vbXBfY2xhdXNlcyAqKmNwLCBjb25zdCBv bXBfbWFzayBtYXNrLAogCQl7CiAJCSAgaWYgKGdmY19tYXRjaCAoIiAlZSApIiwgJnN0ZXAp ICE9IE1BVENIX1lFUykKIAkJICAgIHsKLQkJICAgICAgZ2ZjX2ZyZWVfb21wX25hbWVsaXN0 ICgqaGVhZCwgZmFsc2UpOworCQkgICAgICBnZmNfZnJlZV9vbXBfbmFtZWxpc3QgKCpoZWFk LCBmYWxzZSwgZmFsc2UpOwogCQkgICAgICBnZmNfY3VycmVudF9sb2N1cyA9IG9sZF9sb2M7 CiAJCSAgICAgICpoZWFkID0gTlVMTDsKIAkJICAgICAgZ290byBlcnJvcjsKQEAgLTI4MTcs NyArMjgzNiw3IEBAIGdmY19tYXRjaF9vbXBfY2xhdXNlcyAoZ2ZjX29tcF9jbGF1c2VzICoq Y3AsIGNvbnN0IG9tcF9tYXNrIG1hc2ssCiAJCSAgICB9CiAJCSAgaWYgKGhhc19lcnJvcikK IAkJICAgIHsKLQkJICAgICAgZ2ZjX2ZyZWVfb21wX25hbWVsaXN0ICgqaGVhZCwgZmFsc2Up OworCQkgICAgICBnZmNfZnJlZV9vbXBfbmFtZWxpc3QgKCpoZWFkLCBmYWxzZSwgZmFsc2Up OwogCQkgICAgICAqaGVhZCA9IE5VTEw7CiAJCSAgICAgIGdvdG8gZXJyb3I7CiAJCSAgICB9 CkBAIC00NjI3LDE0ICs0NjQ2LDE0IEBAIGdmY19tYXRjaF9vbXBfZmx1c2ggKHZvaWQpCiAg ICAgewogICAgICAgZ2ZjX2Vycm9yICgiTGlzdCBzcGVjaWZpZWQgdG9nZXRoZXIgd2l0aCBt ZW1vcnkgb3JkZXIgY2xhdXNlIGluIEZMVVNIICIKIAkJICJkaXJlY3RpdmUgYXQgJUMiKTsK LSAgICAgIGdmY19mcmVlX29tcF9uYW1lbGlzdCAobGlzdCwgZmFsc2UpOworICAgICAgZ2Zj X2ZyZWVfb21wX25hbWVsaXN0IChsaXN0LCBmYWxzZSwgZmFsc2UpOwogICAgICAgZ2ZjX2Zy ZWVfb21wX2NsYXVzZXMgKGMpOwogICAgICAgcmV0dXJuIE1BVENIX0VSUk9SOwogICAgIH0K ICAgaWYgKGdmY19tYXRjaF9vbXBfZW9zICgpICE9IE1BVENIX1lFUykKICAgICB7CiAgICAg ICBnZmNfZXJyb3IgKCJVbmV4cGVjdGVkIGp1bmsgYWZ0ZXIgJE9NUCBGTFVTSCBzdGF0ZW1l bnQgYXQgJUMiKTsKLSAgICAgIGdmY19mcmVlX29tcF9uYW1lbGlzdCAobGlzdCwgZmFsc2Up OworICAgICAgZ2ZjX2ZyZWVfb21wX25hbWVsaXN0IChsaXN0LCBmYWxzZSwgZmFsc2UpOwog ICAgICAgZ2ZjX2ZyZWVfb21wX2NsYXVzZXMgKGMpOwogICAgICAgcmV0dXJuIE1BVENIX0VS Uk9SOwogICAgIH0KQEAgLTcyNzksMTkgKzcyOTgsMzYgQEAgcmVzb2x2ZV9vbXBfY2xhdXNl cyAoZ2ZjX2NvZGUgKmNvZGUsIGdmY19vbXBfY2xhdXNlcyAqb21wX2NsYXVzZXMsCiAgIGlm IChvbXBfY2xhdXNlcy0+bGlzdHNbT01QX0xJU1RfQUxMT0NBVEVdKQogICAgIHsKICAgICAg IGZvciAobiA9IG9tcF9jbGF1c2VzLT5saXN0c1tPTVBfTElTVF9BTExPQ0FURV07IG47IG4g PSBuLT5uZXh0KQotCWlmIChuLT5leHByICYmIChuLT5leHByLT50cy50eXBlICE9IEJUX0lO VEVHRVIKLQkgICAgfHwgbi0+ZXhwci0+dHMua2luZCAhPSBnZmNfY19pbnRwdHJfa2luZCkp Ci0JICB7Ci0JICAgIGdmY19lcnJvciAoIkV4cGVjdGVkIGludGVnZXIgZXhwcmVzc2lvbiBv ZiB0aGUgIgotCQkgICAgICAgIidvbXBfYWxsb2NhdG9yX2hhbmRsZV9raW5kJyBraW5kIGF0 ICVMIiwKLQkJICAgICAgICZuLT5leHByLT53aGVyZSk7Ci0JICAgIGJyZWFrOwotCSAgfQor CXsKKwkgIGlmIChuLT5leHByICYmICghZ2ZjX3Jlc29sdmVfZXhwciAobi0+ZXhwcikKKwkJ CSAgfHwgbi0+ZXhwci0+dHMudHlwZSAhPSBCVF9JTlRFR0VSCisJCQkgIHx8IG4tPmV4cHIt PnRzLmtpbmQgIT0gZ2ZjX2NfaW50cHRyX2tpbmQpKQorCSAgICB7CisJICAgICAgZ2ZjX2Vy cm9yICgiRXhwZWN0ZWQgaW50ZWdlciBleHByZXNzaW9uIG9mIHRoZSAiCisJCQkgIiU8b21w X2FsbG9jYXRvcl9oYW5kbGVfa2luZCU+IGtpbmQgYXQgJUwiLAorCQkJICZuLT5leHByLT53 aGVyZSk7CisJICAgICAgYnJlYWs7CisJICAgIH0KKwkgIGlmICghbi0+dS5hbGlnbikKKwkg ICAgY29udGludWU7CisJICBpbnQgYWxpZ25tZW50ID0gMDsKKwkgIGlmICghZ2ZjX3Jlc29s dmVfZXhwciAobi0+dS5hbGlnbikKKwkgICAgICB8fCBuLT51LmFsaWduLT50cy50eXBlICE9 IEJUX0lOVEVHRVIKKwkgICAgICB8fCBuLT51LmFsaWduLT5yYW5rICE9IDAKKwkgICAgICB8 fCBnZmNfZXh0cmFjdF9pbnQgKG4tPnUuYWxpZ24sICZhbGlnbm1lbnQpCisJICAgICAgfHwg YWxpZ25tZW50IDw9IDApCisJICAgIHsKKwkgICAgICBnZmNfZXJyb3IgKCJBTElHTiBtb2Rp ZmllciByZXF1aXJlcyBhIHNjYWxhciBwb3NpdGl2ZSAiCisJCQkgImNvbnN0YW50IGludGVn ZXIgYWxpZ25tZW50IGV4cHJlc3Npb24gYXQgJUwiLAorCQkJICZuLT51LmFsaWduLT53aGVy ZSk7CisJICAgICAgYnJlYWs7CisJICAgIH0KKwl9CiAKICAgICAgIC8qIENoZWNrIGZvciAy IHRoaW5ncyBoZXJlLgotICAgICAxLiAgVGhlcmUgaXMgbm8gZHVwbGljYXRpb24gb2YgdmFy aWFibGUgaW4gYWxsb2NhdGUgY2xhdXNlLgotICAgICAyLiAgVmFyaWFibGUgaW4gYWxsb2Nh dGUgY2xhdXNlIGFyZSBhbHNvIHByZXNlbnQgaW4gc29tZQotCSBwcml2YXRpemF0aW9uIGNs YXNlIChub24tY29tcG9zaXRlIGNhc2UpLiAgKi8KKwkgMS4gIFRoZXJlIGlzIG5vIGR1cGxp Y2F0aW9uIG9mIHZhcmlhYmxlIGluIGFsbG9jYXRlIGNsYXVzZS4KKwkgMi4gIFZhcmlhYmxl IGluIGFsbG9jYXRlIGNsYXVzZSBhcmUgYWxzbyBwcmVzZW50IGluIHNvbWUKKwkgICAgIHBy aXZhdGl6YXRpb24gY2xhc2UgKG5vbi1jb21wb3NpdGUgY2FzZSkuICAqLwogICAgICAgZm9y IChuID0gb21wX2NsYXVzZXMtPmxpc3RzW09NUF9MSVNUX0FMTE9DQVRFXTsgbjsgbiA9IG4t Pm5leHQpCiAJbi0+c3ltLT5tYXJrID0gMDsKIApAQCAtNzMwOCw3ICs3MzQ0LDcgQEAgcmVz b2x2ZV9vbXBfY2xhdXNlcyAoZ2ZjX2NvZGUgKmNvZGUsIGdmY19vbXBfY2xhdXNlcyAqb21w X2NsYXVzZXMsCiAJCXsKIAkJICBwcmV2LT5uZXh0ID0gbi0+bmV4dDsKIAkJICBuLT5uZXh0 ID0gTlVMTDsKLQkJICBnZmNfZnJlZV9vbXBfbmFtZWxpc3QgKG4sIDApOworCQkgIGdmY19m cmVlX29tcF9uYW1lbGlzdCAobiwgZmFsc2UsIHRydWUpOwogCQkgIG4gPSBwcmV2LT5uZXh0 OwogCQl9CiAJICAgICAgY29udGludWU7CmRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9zdC5j YyBiL2djYy9mb3J0cmFuL3N0LmNjCmluZGV4IDNjOGNhNjY1NTRkLi44YjRjYTVlYzJlYSAx MDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vc3QuY2MKKysrIGIvZ2NjL2ZvcnRyYW4vc3QuY2MK QEAgLTI4Niw3ICsyODYsNyBAQCBnZmNfZnJlZV9zdGF0ZW1lbnQgKGdmY19jb2RlICpwKQog ICAgICAgYnJlYWs7CiAKICAgICBjYXNlIEVYRUNfT01QX0ZMVVNIOgotICAgICAgZ2ZjX2Zy ZWVfb21wX25hbWVsaXN0IChwLT5leHQub21wX25hbWVsaXN0LCBmYWxzZSk7CisgICAgICBn ZmNfZnJlZV9vbXBfbmFtZWxpc3QgKHAtPmV4dC5vbXBfbmFtZWxpc3QsIGZhbHNlLCBmYWxz ZSk7CiAgICAgICBicmVhazsKIAogICAgIGNhc2UgRVhFQ19PTVBfQkFSUklFUjoKZGlmZiAt LWdpdCBhL2djYy9mb3J0cmFuL3RyYW5zLW9wZW5tcC5jYyBiL2djYy9mb3J0cmFuL3RyYW5z LW9wZW5tcC5jYwppbmRleCA5MDcwYzAzMzUzZC4uN2E0YTMzOTBiNmQgMTAwNjQ0Ci0tLSBh L2djYy9mb3J0cmFuL3RyYW5zLW9wZW5tcC5jYworKysgYi9nY2MvZm9ydHJhbi90cmFucy1v cGVubXAuY2MKQEAgLTI3MjQsNiArMjcyNCwxNCBAQCBnZmNfdHJhbnNfb21wX2NsYXVzZXMg KHN0bXRibG9ja190ICpibG9jaywgZ2ZjX29tcF9jbGF1c2VzICpjbGF1c2VzLAogCQkJYWxs b2NhdG9yXyA9IGdmY19ldmFsdWF0ZV9ub3cgKHNlLmV4cHIsIGJsb2NrKTsKIAkJCU9NUF9D TEFVU0VfQUxMT0NBVEVfQUxMT0NBVE9SIChub2RlKSA9IGFsbG9jYXRvcl87CiAJCSAgICAg IH0KKwkJICAgIGlmIChuLT51LmFsaWduKQorCQkgICAgICB7CisJCQl0cmVlIGFsaWduXzsK KwkJCWdmY19pbml0X3NlICgmc2UsIE5VTEwpOworCQkJZ2ZjX2NvbnZfZXhwciAoJnNlLCBu LT51LmFsaWduKTsKKwkJCWFsaWduXyA9IGdmY19ldmFsdWF0ZV9ub3cgKHNlLmV4cHIsIGJs b2NrKTsKKwkJCU9NUF9DTEFVU0VfQUxMT0NBVEVfQUxJR04gKG5vZGUpID0gYWxpZ25fOwor CQkgICAgICB9CiAJCSAgICBvbXBfY2xhdXNlcyA9IGdmY190cmFuc19hZGRfY2xhdXNlIChu b2RlLCBvbXBfY2xhdXNlcyk7CiAJCSAgfQogCSAgICAgIH0KZGlmZiAtLWdpdCBhL2xpYmdv bXAvbGliZ29tcC50ZXhpIGIvbGliZ29tcC9saWJnb21wLnRleGkKaW5kZXggZTg3OThhMDlj MGUuLmI2YzFlZDcxNGNlIDEwMDY0NAotLS0gYS9saWJnb21wL2xpYmdvbXAudGV4aQorKysg Yi9saWJnb21wL2xpYmdvbXAudGV4aQpAQCAtMjk2LDggKzI5Niw4IEBAIFRoZSBPcGVuTVAg NC41IHNwZWNpZmljYXRpb24gaXMgZnVsbHkgc3VwcG9ydGVkLgogQGl0ZW0gTG9vcCB0cmFu c2Zvcm1hdGlvbiBjb25zdHJ1Y3RzIEB0YWIgTiBAdGFiCiBAaXRlbSBAY29kZXtzdHJpY3R9 IG1vZGlmaWVyIGluIHRoZSBAY29kZXtncmFpbnNpemV9IGFuZCBAY29kZXtudW1fdGFza3N9 CiAgICAgICBjbGF1c2VzIG9mIHRoZSBAY29kZXt0YXNrbG9vcH0gY29uc3RydWN0IEB0YWIg WSBAdGFiCi1AaXRlbSBAY29kZXthbGlnbn0gY2xhdXNlL21vZGlmaWVyIGluIEBjb2Rle2Fs bG9jYXRlfSBkaXJlY3RpdmUvY2xhdXNlCi0gICAgICBhbmQgQGNvZGV7YWxsb2NhdG9yfSBk aXJlY3RpdmUgQHRhYiBQIEB0YWIgQy9DKysgb24gY2xhdXNlIG9ubHkKK0BpdGVtIEBjb2Rl e2FsaWdufSBjbGF1c2UgaW4gQGNvZGV7YWxsb2NhdGV9IGRpcmVjdGl2ZSBAdGFiIE4gQHRh YgorQGl0ZW0gQGNvZGV7YWxpZ259IG1vZGlmaWVyIGluIEBjb2Rle2FsbG9jYXRlfSBjbGF1 c2UgQHRhYiBZIEB0YWIKIEBpdGVtIEBjb2Rle3RocmVhZF9saW1pdH0gY2xhdXNlIHRvIEBj b2Rle3RhcmdldH0gY29uc3RydWN0IEB0YWIgWSBAdGFiCiBAaXRlbSBAY29kZXtoYXNfZGV2 aWNlX2FkZHJ9IGNsYXVzZSB0byBAY29kZXt0YXJnZXR9IGNvbnN0cnVjdCBAdGFiIFkgQHRh YgogQGl0ZW0gSXRlcmF0b3JzIGluIEBjb2Rle3RhcmdldCB1cGRhdGV9IG1vdGlvbiBjbGF1 c2VzIGFuZCBAY29kZXttYXB9CmRpZmYgLS1naXQgYS9saWJnb21wL3Rlc3RzdWl0ZS9saWJn b21wLmZvcnRyYW4vYWxsb2NhdGUtMi5mOTAgYi9saWJnb21wL3Rlc3RzdWl0ZS9saWJnb21w LmZvcnRyYW4vYWxsb2NhdGUtMi5mOTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAuLjM0NzY1NmE4NjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbGliZ29tcC90ZXN0 c3VpdGUvbGliZ29tcC5mb3J0cmFuL2FsbG9jYXRlLTIuZjkwCkBAIC0wLDAgKzEsMjUgQEAK KyEgeyBkZy1kbyBjb21waWxlIH0KKyEgeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1mZHVt cC10cmVlLW9yaWdpbmFsIiB9CisKK3VzZSBvbXBfbGliCitpbXBsaWNpdCBub25lCitpbnRl Z2VyIDo6IHEsIHgseSx6CisKKyEkb21wIHBhcmFsbGVsICAmCishJG9tcCYgICBhbGxvY2F0 ZShvbXBfbG93X2xhdF9tZW1fYWxsb2MgOiB4KSAmCishJG9tcCYgICBhbGxvY2F0ZShvbXBf Y2dyb3VwX21lbV9hbGxvYyA6IHkpICYKKyEkb21wJiAgIGFsbG9jYXRlKG9tcF9wdGVhbV9t ZW1fYWxsb2MgOiB6KSAmCishJG9tcCYgICBmaXJzdHByaXZhdGUocSwgeCx5LHopCishJG9t cCBlbmQgcGFyYWxsZWwKKworISRvbXAgcGFyYWxsZWwgJgorISRvbXAmICAgYWxsb2NhdGUo YWxpZ24gKCA2NCApLCBhbGxvY2F0b3Iob21wX2RlZmF1bHRfbWVtX2FsbG9jKSA6IHgpICYK KyEkb21wJiAgIGFsbG9jYXRlKGFsbG9jYXRvcihvbXBfbGFyZ2VfY2FwX21lbV9hbGxvYykg OiB5KSAmCishJG9tcCYgICBhbGxvY2F0ZShhbGxvY2F0b3IgKCBvbXBfaGlnaF9id19tZW1f YWxsb2MgKSAsIGFsaWduICggMzIgKSA6IHopICYKKyEkb21wJiAgIGFsbG9jYXRlKGFsaWdu ICgxNiApOiBxKSAmCishJG9tcCYgICBmaXJzdHByaXZhdGUocSwgeCx5LHopCishJG9tcCBl bmQgcGFyYWxsZWwKK2VuZAorCishIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1l cyAiI3ByYWdtYSBvbXAgcGFyYWxsZWwgZmlyc3Rwcml2YXRlXFwocVxcKSBmaXJzdHByaXZh dGVcXCh4XFwpIGZpcnN0cHJpdmF0ZVxcKHlcXCkgZmlyc3Rwcml2YXRlXFwoelxcKSBhbGxv Y2F0ZVxcKGFsbG9jYXRvclxcKDVcXCk6eFxcKSBhbGxvY2F0ZVxcKGFsbG9jYXRvclxcKDZc XCk6eVxcKSBhbGxvY2F0ZVxcKGFsbG9jYXRvclxcKDdcXCk6elxcKSIgMSAib3JpZ2luYWwi IH0gfQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgIiNwcmFnbWEgb21w IHBhcmFsbGVsIGZpcnN0cHJpdmF0ZVxcKHFcXCkgZmlyc3Rwcml2YXRlXFwoeFxcKSBmaXJz dHByaXZhdGVcXCh5XFwpIGZpcnN0cHJpdmF0ZVxcKHpcXCkgYWxsb2NhdGVcXChhbGxvY2F0 b3JcXCgxXFwpLGFsaWduXFwoNjRcXCk6eFxcKSBhbGxvY2F0ZVxcKGFsbG9jYXRvclxcKDJc XCk6eVxcKSBhbGxvY2F0ZVxcKGFsbG9jYXRvclxcKDRcXCksYWxpZ25cXCgzMlxcKTp6XFwp IGFsbG9jYXRlXFwoYWxpZ25cXCgxNlxcKTpxXFwpIiAxICJvcmlnaW5hbCIgfSB9CmRpZmYg LS1naXQgYS9saWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmZvcnRyYW4vYWxsb2NhdGUtMy5m OTAgYi9saWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmZvcnRyYW4vYWxsb2NhdGUtMy5mOTAK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmEzOTgxOTE2NGQ2Ci0t LSAvZGV2L251bGwKKysrIGIvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5mb3J0cmFuL2Fs bG9jYXRlLTMuZjkwCkBAIC0wLDAgKzEsMjggQEAKKyEgeyBkZy1kbyBjb21waWxlIH0KKyEg eyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1mZHVtcC10cmVlLW9yaWdpbmFsIiB9CisKK3Vz ZSBvbXBfbGliCitpbXBsaWNpdCBub25lCitpbnRlZ2VyIDo6IHEsIHgseSx6CisKKyEkb21w IHBhcmFsbGVsIGFsbG9jYXRlKGFsaWduICggNjQgKSB4KSAgISB7IGRnLWVycm9yICIzNzpF eHBlY3RlZCAnOicgYXQiIH0KKyEkb21wIHBhcmFsbGVsIGFsbG9jYXRlKGFsaWduICggNjQg KSwgeCkgICEgeyBkZy1lcnJvciAiMzc6RXhwZWN0ZWQgJzonIGF0IiB9CishJG9tcCBwYXJh bGxlbCBhbGxvY2F0ZShhbGxvY2F0b3IgKCBvbXBfaGlnaF9id19tZW1fYWxsb2MgKSB4KSAg ISB7IGRnLWVycm9yICI2MDpFeHBlY3RlZCAnOicgYXQiIH0KKyEkb21wIHBhcmFsbGVsIGFs bG9jYXRlKGFsbG9jYXRvciAoIG9tcF9oaWdoX2J3X21lbV9hbGxvYyApICwgeCkgICEgeyBk Zy1lcnJvciAiNjA6RXhwZWN0ZWQgJzonIGF0IiB9CisKKyEkb21wIHBhcmFsbGVsIGFsbG9j YXRlKCBvbXBfaGlnaF9id19tZW1fYWxsb2MsIGFsaWduKDEyKSA6IHgpICAhIHsgZGctZXJy b3IgIjI2OkV4cGVjdGVkIHZhcmlhYmxlIGxpc3QgYXQiIH0KKyEkb21wIHBhcmFsbGVsIGFs bG9jYXRlKCBhbGlnbigxMiksIG9tcF9oaWdoX2J3X21lbV9hbGxvYyA6IHgpICAhIHsgZGct ZXJyb3IgIjM1OkV4cGVjdGVkICc6JyBhdCIgfQorCishJG9tcCBwYXJhbGxlbCBhbGxvY2F0 ZSggb21wX2hpZ2hfYndfbWVtX2FsbG9jIHgpICAhIHsgZGctZXJyb3IgIjI2OkV4cGVjdGVk IHZhcmlhYmxlIGxpc3QgYXQiIH0KKworISRvbXAgcGFyYWxsZWwgYWxsb2NhdGUoIG9tcF9o aWdoX2J3X21lbV9hbGxvYyAsIHgpIGZpcnN0cHJpdmF0ZSh4KSAhIHsgZGctZXJyb3IgIidv bXBfaGlnaF9id19tZW1fYWxsb2MnIHNwZWNpZmllZCBpbiAnYWxsb2NhdGUnIGNsYXVzZSBh dCBcXCgxXFwpIGJ1dCBub3QgaW4gYW4gZXhwbGljaXQgcHJpdmF0aXphdGlvbiBjbGF1c2Ui IH0KKyEgeyBkZy1lcnJvciAiT2JqZWN0ICdvbXBfaGlnaF9id19tZW1fYWxsb2MnIGlzIG5v dCBhIHZhcmlhYmxlIiAiIiB7IHRhcmdldCAqLSotKiB9IC4tMSB9CishJG9tcCBlbmQgcGFy YWxsZWwKKworISRvbXAgcGFyYWxsZWwgYWxsb2NhdGUoIG9tcF9oaWdoX2J3X21lbV9hbGxv YyAsIHgpIGZpcnN0cHJpdmF0ZSh4LCBvbXBfaGlnaF9id19tZW1fYWxsb2MpCishIHsgZGct ZXJyb3IgIk9iamVjdCAnb21wX2hpZ2hfYndfbWVtX2FsbG9jJyBpcyBub3QgYSB2YXJpYWJs ZSIgIiIgeyB0YXJnZXQgKi0qLSogfSAuLTEgfQorISRvbXAgZW5kIHBhcmFsbGVsCisKKyEk b21wIHBhcmFsbGVsIGFsbG9jYXRlKCBhbGlnbihxKSA6IHgpIGZpcnN0cHJpdmF0ZSh4KSAh IHsgZGctZXJyb3IgIjMxOkFMSUdOIG1vZGlmaWVyIHJlcXVpcmVzIGEgc2NhbGFyIHBvc2l0 aXZlIGNvbnN0YW50IGludGVnZXIgYWxpZ25tZW50IGV4cHJlc3Npb24gYXQiIH0KKyEkb21w IGVuZCBwYXJhbGxlbAorZW5kCg== --------------RvcgZkbiItiKd0aeB4mQZ5kU--