From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out30-43.freemail.mail.aliyun.com (out30-43.freemail.mail.aliyun.com [115.124.30.43]) by sourceware.org (Postfix) with ESMTPS id 1FA993858D35 for ; Thu, 12 Jan 2023 04:19:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1FA993858D35 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=linux.alibaba.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linux.alibaba.com X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R181e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018045176;MF=jinma@linux.alibaba.com;NM=1;PH=DW;RN=1;SR=0;TI=W4_0.1.41_DEFAULT_210DFFDF_1673497094313_o7001c137r; Received: from WS-web (jinma@linux.alibaba.com[W4_0.1.41_DEFAULT_210DFFDF_1673497094313_o7001c137r]) at Thu, 12 Jan 2023 12:19:07 +0800 Date: Thu, 12 Jan 2023 12:19:07 +0800 From: "jinma" To: "gcc-patches" Reply-To: "jinma" Message-ID: Subject: =?UTF-8?B?UmU6IFtQQVRDSCB2Ml0gW1JJU0NWXSBBZGQgJ1pmYScgZXh0ZW5zaW9uIGFjY29yZGluZyB0?= =?UTF-8?B?byByaXNjdi1pc2EtbWFudWFs?= X-Mailer: [Alimail-Mailagent][W4_0.1.41][DEFAULT][Chrome] MIME-Version: 1.0 References: <77a18666-f71d-48e2-a502-a879b3eb6ccf.jinma@linux.alibaba.com> x-aliyun-mail-creator: W4_0.1.41_DEFAULT_M3LTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEwOC4wLjAuMCBTYWZhcmkvNTM3LjM2vN In-Reply-To: <77a18666-f71d-48e2-a502-a879b3eb6ccf.jinma@linux.alibaba.com> Content-Type: multipart/alternative; boundary="----=ALIBOUNDARY_128746_7fdaec51e700_63bf8a3b_10639b" X-Spam-Status: No, score=-19.8 required=5.0 tests=BAYES_00,ENV_AND_HDR_SPF_MATCH,FREEMAIL_FORGED_REPLYTO,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP,UNPARSEABLE_RELAY,USER_IN_DEF_SPF_WL 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: ------=ALIBOUNDARY_128746_7fdaec51e700_63bf8a3b_10639b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBlNGNlOGU4MjVjMTQ1ZDc0ZTZiOTgyN2Y5NzI2Mjk1NDhlMzlmMTE4 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW4gTWEgPGppbm1h QGxpbnV4LmFsaWJhYmEuY29tPgpEYXRlOiBXZWQsIDExIEphbiAyMDIzIDE5 OjEzOjI3ICswODAwClN1YmplY3Q6IFtQQVRDSF0gW1JJU0NWXSBBZGQgJ1pm YScgZXh0ZW5zaW9uIGFjY29yZGluZyB0byByaXNjdi1pc2EtbWFudWFsClRo aXMgcGF0Y2ggYWRkcyB0aGUgJ1pmYScgZXh0ZW5zaW9uIGZvciByaXNjdiwg d2hpY2ggaXMgYmFzZWQgb246CiggaHR0cHM6Ly9naXRodWIuY29tL3Jpc2N2 L3Jpc2N2LWlzYS1tYW51YWwvY29tbWl0L2Q3NGQ5OWUyMmQ1ZjY4ODMyZjcw OTgyZDg2NzYxNGUyMTQ5YTNiZDcgKQpsYXRlc3QgJ1pmYScgY2hhbmdlIG9u IHRoZSBtYXN0ZXIgYnJhbmNoIG9mIHRoZSBSSVNDLVYgSVNBIE1hbnVhbCBh cwpvZiB0aGlzIHdyaXRpbmcuClRoZSBXaWtpIFBhZ2UgKGRldGFpbHMpOgoo IGh0dHBzOi8vZ2l0aHViLmNvbS9hNGxnL2JpbnV0aWxzLWdkYi93aWtpL3Jp c2N2X3pmYSDvvIkKVGhlIGJpbnV0aWxzLWdkYiBmb3IgJ1pmYScgZXh0ZW5z aW9uOgooIGh0dHBzOi8vc291cmNld2FyZS5vcmcvcGlwZXJtYWlsL2JpbnV0 aWxzLzIwMjItU2VwdGVtYmVyLzEyMjkzOC5odG1sICkKZ2NjL0NoYW5nZUxv ZzoKICogY29tbW9uL2NvbmZpZy9yaXNjdi9yaXNjdi1jb21tb24uY2M6CiAq IGNvbmZpZy9yaXNjdi9jb25zdHJhaW50cy5tZCAoWmYpOgogKiBjb25maWcv cmlzY3YvcHJlZGljYXRlcy5tZDoKICogY29uZmlnL3Jpc2N2L3Jpc2N2LWJ1 aWx0aW5zLmNjIChSSVNDVl9GVFlQRV9OQU1FMik6CiAoQVZBSUwpOgogKFJJ U0NWX0FUWVBFX1NGKToKIChSSVNDVl9BVFlQRV9ERik6CiAoUklTQ1ZfRlRZ UEVfQVRZUEVTMik6CiAqIGNvbmZpZy9yaXNjdi9yaXNjdi1mdHlwZXMuZGVm ICgyKToKICogY29uZmlnL3Jpc2N2L3Jpc2N2LW9wdHMuaCAoTUFTS19aRkEp OgogKFRBUkdFVF9aRkEpOgogKiBjb25maWcvcmlzY3YvcmlzY3YtcHJvdG9z LmggKHJpc2N2X2Zsb2F0X2NvbnN0X3J0eF9pbmRleF9mb3JfZmxpKToKICog Y29uZmlnL3Jpc2N2L3Jpc2N2LmNjIChyaXNjdl9mbG9hdF9jb25zdF9ydHhf aW5kZXhfZm9yX2ZsaSk6CiAocmlzY3ZfY2Fubm90X2ZvcmNlX2NvbnN0X21l bSk6CiAocmlzY3ZfY29uc3RfaW5zbnMpOgogKHJpc2N2X2xlZ2l0aW1pemVf Y29uc3RfbW92ZSk6CiAocmlzY3Zfc3BsaXRfNjRiaXRfbW92ZV9wKToKIChy aXNjdl9vdXRwdXRfbW92ZSk6CiAocmlzY3ZfbWVtbW9kZWxfbmVlZHNfcmVs ZWFzZV9mZW5jZSk6CiAocmlzY3ZfcHJpbnRfb3BlcmFuZCk6CiAocmlzY3Zf c2Vjb25kYXJ5X21lbW9yeV9uZWVkZWQpOgogKiBjb25maWcvcmlzY3Yvcmlz Y3YuaCAoR1BfUkVHX1JUWF9QKToKICogY29uZmlnL3Jpc2N2L3Jpc2N2Lm1k IChyaXNjdl9mbWlubTxtb2RlPjMpOgogKHJpc2N2X2ZtYXhtPG1vZGU+Myk6 CiAoZml4X3RydW5jZGZzaTJfemZhKToKIChyb3VuZDxBTllGOm1vZGU+Mik6 CiAocmludDxBTllGOm1vZGU+Mik6CiAoZjxxdWlldF9wYXR0ZXJuPl9xdWll dDxBTllGOm1vZGU+PFg6bW9kZT40X3pmYSk6CiAqIGNvbmZpZy9yaXNjdi9y aXNjdi5vcHQ6CmdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOgogKiBnY2MudGFy Z2V0L3Jpc2N2L3pmYS1mY3Z0bW9kLmM6IE5ldyB0ZXN0LgogKiBnY2MudGFy Z2V0L3Jpc2N2L3pmYS1mbGVxLWZsdHEuYzogTmV3IHRlc3QuCiAqIGdjYy50 YXJnZXQvcmlzY3YvemZhLWZsaS16ZmguYzogTmV3IHRlc3QuCiAqIGdjYy50 YXJnZXQvcmlzY3YvemZhLWZsaS5jOiBOZXcgdGVzdC4KICogZ2NjLnRhcmdl dC9yaXNjdi96ZmEtZm1pbm0tZm1heG0uYzogTmV3IHRlc3QuCiAqIGdjYy50 YXJnZXQvcmlzY3YvemZhLWZtb3ZoLWZtb3ZwLmM6IE5ldyB0ZXN0LgogKiBn Y2MudGFyZ2V0L3Jpc2N2L3pmYS1mcm91bmQuYzogTmV3IHRlc3QuCi0tLQog Z2NjL2NvbW1vbi9jb25maWcvcmlzY3YvcmlzY3YtY29tbW9uLmNjIHwgNCAr CiBnY2MvY29uZmlnL3Jpc2N2L2NvbnN0cmFpbnRzLm1kIHwgNyArKwogZ2Nj L2NvbmZpZy9yaXNjdi9wcmVkaWNhdGVzLm1kIHwgNCArCiBnY2MvY29uZmln L3Jpc2N2L3Jpc2N2LWJ1aWx0aW5zLmNjIHwgMTEgKysKIGdjYy9jb25maWcv cmlzY3YvcmlzY3YtZnR5cGVzLmRlZiB8IDIgKwogZ2NjL2NvbmZpZy9yaXNj di9yaXNjdi1vcHRzLmggfCAzICsKIGdjYy9jb25maWcvcmlzY3YvcmlzY3Yt cHJvdG9zLmggfCAxICsKIGdjYy9jb25maWcvcmlzY3YvcmlzY3YuY2MgfCAx MDUgKysrKysrKysrKysrKysrLQogZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5o IHwgMSArCiBnY2MvY29uZmlnL3Jpc2N2L3Jpc2N2Lm1kIHwgMTE0ICsrKysr KysrKysrKysrLS0tLQogZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5vcHQgfCA0 ICsKIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi96ZmEtZmN2dG1v ZC5jIHwgMTIgKysKIC4uLi9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1mbGVxLWZs dHEuYyB8IDIwICsrKwogZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3pmYS1mbGktemZoLmMgfCA0MiArKysrKysrCiBnY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcmlzY3YvemZhLWZsaS5jIHwgODAgKysrKysrKysrKysrCiAu Li4vZ2NjLnRhcmdldC9yaXNjdi96ZmEtZm1pbm0tZm1heG0uYyB8IDI1ICsr KysKIC4uLi9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1mbW92aC1mbW92cC5jIHwg MTEgKysKIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi96ZmEtZnJv dW5kLmMgfCAyNSArKysrCiAxOCBmaWxlcyBjaGFuZ2VkLCA0NDggaW5zZXJ0 aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQg Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1mY3Z0bW9kLmMK IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvemZhLWZsZXEtZmx0cS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1mbGktemZoLmMKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvemZhLWZsaS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1mbWlubS1mbWF4bS5jCiBjcmVhdGUg bW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3pm YS1mbW92aC1mbW92cC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1mcm91bmQuYwpkaWZmIC0tZ2l0 IGEvZ2NjL2NvbW1vbi9jb25maWcvcmlzY3YvcmlzY3YtY29tbW9uLmNjIGIv Z2NjL2NvbW1vbi9jb25maWcvcmlzY3YvcmlzY3YtY29tbW9uLmNjCmluZGV4 IDBhODlmZGFmZmUyLi5jY2NlYzEyOTc1YyAxMDA2NDQKLS0tIGEvZ2NjL2Nv bW1vbi9jb25maWcvcmlzY3YvcmlzY3YtY29tbW9uLmNjCisrKyBiL2djYy9j b21tb24vY29uZmlnL3Jpc2N2L3Jpc2N2LWNvbW1vbi5jYwpAQCAtMjE3LDYg KzIxNyw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcmlzY3ZfZXh0X3ZlcnNp b24gcmlzY3ZfZXh0X3ZlcnNpb25fdGFibGVbXSA9CiB7InpmaCIsIElTQV9T UEVDX0NMQVNTX05PTkUsIDEsIDB9LAogeyJ6ZmhtaW4iLCBJU0FfU1BFQ19D TEFTU19OT05FLCAxLCAwfSwKKyB7InpmYSIsIElTQV9TUEVDX0NMQVNTX05P TkUsIDEsIDB9LAorCiB7InptbXVsIiwgSVNBX1NQRUNfQ0xBU1NfTk9ORSwg MSwgMH0sCiB7InN2aW52YWwiLCBJU0FfU1BFQ19DTEFTU19OT05FLCAxLCAw fSwKQEAgLTEyNDIsNiArMTI0NCw4IEBAIHN0YXRpYyBjb25zdCByaXNjdl9l eHRfZmxhZ190YWJsZV90IHJpc2N2X2V4dF9mbGFnX3RhYmxlW10gPQogeyJ6 ZmhtaW4iLCAmZ2NjX29wdGlvbnM6OnhfcmlzY3ZfemZfc3ViZXh0LCBNQVNL X1pGSE1JTn0sCiB7InpmaCIsICZnY2Nfb3B0aW9uczo6eF9yaXNjdl96Zl9z dWJleHQsIE1BU0tfWkZIfSwKKyB7InpmYSIsICZnY2Nfb3B0aW9uczo6eF9y aXNjdl96Zl9zdWJleHQsIE1BU0tfWkZBfSwKKwogeyJ6bW11bCIsICZnY2Nf b3B0aW9uczo6eF9yaXNjdl96bV9zdWJleHQsIE1BU0tfWk1NVUx9LAogeyJz dmludmFsIiwgJmdjY19vcHRpb25zOjp4X3Jpc2N2X3N2X3N1YmV4dCwgTUFT S19TVklOVkFMfSwKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvY29u c3RyYWludHMubWQgYi9nY2MvY29uZmlnL3Jpc2N2L2NvbnN0cmFpbnRzLm1k CmluZGV4IDUxY2ZmYjJiY2I2Li4yZmQ0MDdiMWQ5YyAxMDA2NDQKLS0tIGEv Z2NjL2NvbmZpZy9yaXNjdi9jb25zdHJhaW50cy5tZAorKysgYi9nY2MvY29u ZmlnL3Jpc2N2L2NvbnN0cmFpbnRzLm1kCkBAIC0xMTAsNiArMTEwLDEzIEBA IChkZWZpbmVfY29uc3RyYWludCAiVCIKIChhbmQgKG1hdGNoX29wZXJhbmQg MCAibW92ZV9vcGVyYW5kIikKIChtYXRjaF90ZXN0ICJDT05TVEFOVF9QIChv cCkiKSkpCis7OyBaZmEgY29uc3RyYWludHMuCisKKyhkZWZpbmVfY29uc3Ry YWludCAiWmYiCisgIkEgZmxvYXRpbmcgcG9pbnQgbnVtYmVyIHRoYXQgY2Fu IGJlIGxvYWRlZCB1c2luZyBpbnN0cnVjdGlvbiBgZmxpYCBpbiB6ZmEuIgor IChhbmQgKG1hdGNoX2NvZGUgImNvbnN0X2RvdWJsZSIpCisgKG1hdGNoX3Rl c3QgIihyaXNjdl9mbG9hdF9jb25zdF9ydHhfaW5kZXhfZm9yX2ZsaSAob3Ap ICE9IC0xKSIpKSkKKwogOzsgVmVjdG9yIGNvbnN0cmFpbnRzLgogKGRlZmlu ZV9yZWdpc3Rlcl9jb25zdHJhaW50ICJ2ciIgIlRBUkdFVF9WRUNUT1IgPyBW X1JFR1MgOiBOT19SRUdTIgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNj di9wcmVkaWNhdGVzLm1kIGIvZ2NjL2NvbmZpZy9yaXNjdi9wcmVkaWNhdGVz Lm1kCmluZGV4IDVhNWE0OWJmN2MwLi4wZThjZjNiMzcwOCAxMDA2NDQKLS0t IGEvZ2NjL2NvbmZpZy9yaXNjdi9wcmVkaWNhdGVzLm1kCisrKyBiL2djYy9j b25maWcvcmlzY3YvcHJlZGljYXRlcy5tZApAQCAtMTQ5LDYgKzE0OSwxMCBA QCAoZGVmaW5lX3ByZWRpY2F0ZSAibW92ZV9vcGVyYW5kIgogY2FzZSBDT05T VF9QT0xZX0lOVDoKIHJldHVybiBrbm93bl9lcSAocnR4X3RvX3BvbHlfaW50 NjQgKG9wKSwgQllURVNfUEVSX1JJU0NWX1ZFQ1RPUik7CisgY2FzZSBDT05T VF9ET1VCTEU6CisgcmV0dXJuIGNvbnN0XzBfb3BlcmFuZCAob3AsIG1vZGUp CisgfHwgKHJpc2N2X2Zsb2F0X2NvbnN0X3J0eF9pbmRleF9mb3JfZmxpIChv cCkgIT0gLTEpOworCiBjYXNlIENPTlNUOgogY2FzZSBTWU1CT0xfUkVGOgog Y2FzZSBMQUJFTF9SRUY6CmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2 L3Jpc2N2LWJ1aWx0aW5zLmNjIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1i dWlsdGlucy5jYwppbmRleCAyNGFlMjJjOTljZC4uYTk5YjFlNTBkOTYgMTAw NjQ0Ci0tLSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YtYnVpbHRpbnMuY2MK KysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1idWlsdGlucy5jYwpAQCAt NDIsNiArNDIsNyBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENP UFlJTkczLiBJZiBub3Qgc2VlCiAvKiBNYWNyb3MgdG8gY3JlYXRlIGFuIGVu dW1lcmF0aW9uIGlkZW50aWZpZXIgZm9yIGEgZnVuY3Rpb24gcHJvdG90eXBl LiAqLwogI2RlZmluZSBSSVNDVl9GVFlQRV9OQU1FMChBKSBSSVNDVl8jI0Ej I19GVFlQRQogI2RlZmluZSBSSVNDVl9GVFlQRV9OQU1FMShBLCBCKSBSSVND Vl8jI0EjI19GVFlQRV8jI0IKKyNkZWZpbmUgUklTQ1ZfRlRZUEVfTkFNRTIo QSwgQiwgQykgUklTQ1ZfIyNBIyNfRlRZUEVfIyNCIyNfIyNDCiAvKiBDbGFz c2lmaWVzIHRoZSBwcm90b3R5cGUgb2YgYSBidWlsdC1pbiBmdW5jdGlvbi4g Ki8KIGVudW0gcmlzY3ZfZnVuY3Rpb25fdHlwZSB7CkBAIC05OCw2ICs5OSw3 IEBAIEFWQUlMICh6ZXJvMzIsIFRBUkdFVF9aSUNCT1ogJiYgIVRBUkdFVF82 NEJJVCkKIEFWQUlMICh6ZXJvNjQsIFRBUkdFVF9aSUNCT1ogJiYgVEFSR0VU XzY0QklUKQogQVZBSUwgKHByZWZldGNoaTMyLCBUQVJHRVRfWklDQk9QICYm ICFUQVJHRVRfNjRCSVQpCiBBVkFJTCAocHJlZmV0Y2hpNjQsIFRBUkdFVF9a SUNCT1AgJiYgVEFSR0VUXzY0QklUKQorQVZBSUwgKHpmYSwgVEFSR0VUX1pG QSkKIEFWQUlMIChhbHdheXMsICghMCkpCiAvKiBDb25zdHJ1Y3QgYSByaXNj dl9idWlsdGluX2Rlc2NyaXB0aW9uIGZyb20gdGhlIGdpdmVuIGFyZ3VtZW50 cy4KQEAgLTEzNSw2ICsxMzcsOCBAQCBBVkFJTCAoYWx3YXlzLCAoITApKQog I2RlZmluZSBSSVNDVl9BVFlQRV9TSSBpbnRTSV90eXBlX25vZGUKICNkZWZp bmUgUklTQ1ZfQVRZUEVfREkgaW50RElfdHlwZV9ub2RlCiAjZGVmaW5lIFJJ U0NWX0FUWVBFX1ZPSURfUFRSIHB0cl90eXBlX25vZGUKKyNkZWZpbmUgUklT Q1ZfQVRZUEVfU0YgZmxvYXRfdHlwZV9ub2RlCisjZGVmaW5lIFJJU0NWX0FU WVBFX0RGIGRvdWJsZV90eXBlX25vZGUKIC8qIFJJU0NWX0ZUWVBFX0FUWVBF U04gdGFrZXMgTiBSSVNDVl9GVFlQRVMtbGlrZSB0eXBlIGNvZGVzIGFuZCBs aXN0cwogdGhlaXIgYXNzb2NpYXRlZCBSSVNDVl9BVFlQRXMuICovCkBAIC0x NDIsNiArMTQ2LDggQEAgQVZBSUwgKGFsd2F5cywgKCEwKSkKIFJJU0NWX0FU WVBFXyMjQQogI2RlZmluZSBSSVNDVl9GVFlQRV9BVFlQRVMxKEEsIEIpIFwK IFJJU0NWX0FUWVBFXyMjQSwgUklTQ1ZfQVRZUEVfIyNCCisjZGVmaW5lIFJJ U0NWX0ZUWVBFX0FUWVBFUzIoQSwgQiwgQykgXAorIFJJU0NWX0FUWVBFXyMj QSwgUklTQ1ZfQVRZUEVfIyNCLCBSSVNDVl9BVFlQRV8jI0MKIHN0YXRpYyBj b25zdCBzdHJ1Y3QgcmlzY3ZfYnVpbHRpbl9kZXNjcmlwdGlvbiByaXNjdl9i dWlsdGluc1tdID0gewogI2luY2x1ZGUgInJpc2N2LWNtby5kZWYiCkBAIC0x NDksNiArMTU1LDExIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcmlzY3ZfYnVp bHRpbl9kZXNjcmlwdGlvbiByaXNjdl9idWlsdGluc1tdID0gewogRElSRUNU X0JVSUxUSU4gKGZyZmxhZ3MsIFJJU0NWX1VTSV9GVFlQRSwgaGFyZF9mbG9h dCksCiBESVJFQ1RfTk9fVEFSR0VUX0JVSUxUSU4gKGZzZmxhZ3MsIFJJU0NW X1ZPSURfRlRZUEVfVVNJLCBoYXJkX2Zsb2F0KSwKIERJUkVDVF9OT19UQVJH RVRfQlVJTFRJTiAocGF1c2UsIFJJU0NWX1ZPSURfRlRZUEUsIGFsd2F5cyks CisKKyBSSVNDVl9CVUlMVElOIChmbWlubXNmMywgImZtaW5tZiIsIFJJU0NW X0JVSUxUSU5fRElSRUNULCBSSVNDVl9TRl9GVFlQRV9TRl9TRiwgemZhKSwK KyBSSVNDVl9CVUlMVElOIChmbWlubWRmMywgImZtaW5tIiwgUklTQ1ZfQlVJ TFRJTl9ESVJFQ1QsIFJJU0NWX0RGX0ZUWVBFX0RGX0RGLCB6ZmEpLAorIFJJ U0NWX0JVSUxUSU4gKGZtYXhtc2YzLCAiZm1heG1mIiwgUklTQ1ZfQlVJTFRJ Tl9ESVJFQ1QsIFJJU0NWX1NGX0ZUWVBFX1NGX1NGLCB6ZmEpLAorIFJJU0NW X0JVSUxUSU4gKGZtYXhtZGYzLCAiZm1heG0iLCBSSVNDVl9CVUlMVElOX0RJ UkVDVCwgUklTQ1ZfREZfRlRZUEVfREZfREYsIHpmYSksCiB9OwogLyogSW5k ZXggSSBpcyB0aGUgZnVuY3Rpb24gZGVjbGFyYXRpb24gZm9yIHJpc2N2X2J1 aWx0aW5zW0ldLCBvciBudWxsIGlmIHRoZQpkaWZmIC0tZ2l0IGEvZ2NjL2Nv bmZpZy9yaXNjdi9yaXNjdi1mdHlwZXMuZGVmIGIvZ2NjL2NvbmZpZy9yaXNj di9yaXNjdi1mdHlwZXMuZGVmCmluZGV4IGJmMmQzMDc4MmQ5Li5kZDNlNmYz OWZmMCAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1mdHlw ZXMuZGVmCisrKyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YtZnR5cGVzLmRl ZgpAQCAtMzIsMyArMzIsNSBAQCBERUZfUklTQ1ZfRlRZUEUgKDEsIChWT0lE LCBVU0kpKQogREVGX1JJU0NWX0ZUWVBFICgxLCAoVk9JRCwgVk9JRF9QVFIp KQogREVGX1JJU0NWX0ZUWVBFICgxLCAoU0ksIFNJKSkKIERFRl9SSVNDVl9G VFlQRSAoMSwgKERJLCBESSkpCitERUZfUklTQ1ZfRlRZUEUgKDIsIChTRiwg U0YsIFNGKSkKK0RFRl9SSVNDVl9GVFlQRSAoMiwgKERGLCBERiwgREYpKQpk aWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1vcHRzLmggYi9n Y2MvY29uZmlnL3Jpc2N2L3Jpc2N2LW9wdHMuaAppbmRleCAyNWZkODViMDli MS4uM2FiNmQ1NzY2YzQgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvcmlzY3Yv cmlzY3Ytb3B0cy5oCisrKyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3Ytb3B0 cy5oCkBAIC0xNzIsNiArMTcyLDkgQEAgZW51bSBzdGFja19wcm90ZWN0b3Jf Z3VhcmQgewogI2RlZmluZSBUQVJHRVRfWkZITUlOICgocmlzY3ZfemZfc3Vi ZXh0ICYgTUFTS19aRkhNSU4pICE9IDApCiAjZGVmaW5lIFRBUkdFVF9aRkgg KChyaXNjdl96Zl9zdWJleHQgJiBNQVNLX1pGSCkgIT0gMCkKKyNkZWZpbmUg TUFTS19aRkEgKDEgPDwgMCkKKyNkZWZpbmUgVEFSR0VUX1pGQSAoKHJpc2N2 X3pmX3N1YmV4dCAmIE1BU0tfWkZBKSAhPSAwKQorCiAjZGVmaW5lIE1BU0tf Wk1NVUwgKDEgPDwgMCkKICNkZWZpbmUgVEFSR0VUX1pNTVVMICgocmlzY3Zf em1fc3ViZXh0ICYgTUFTS19aTU1VTCkgIT0gMCkKZGlmZiAtLWdpdCBhL2dj Yy9jb25maWcvcmlzY3YvcmlzY3YtcHJvdG9zLmggYi9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LXByb3Rvcy5oCmluZGV4IDY0ZWU1NmI4YTdjLi5kOTllYzNl OTAwMiAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1wcm90 b3MuaAorKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXByb3Rvcy5oCkBA IC0zOCw2ICszOCw3IEBAIGVudW0gcmlzY3Zfc3ltYm9sX3R5cGUgewogLyog Um91dGluZXMgaW1wbGVtZW50ZWQgaW4gcmlzY3YuY2MuICovCiBleHRlcm4g ZW51bSByaXNjdl9zeW1ib2xfdHlwZSByaXNjdl9jbGFzc2lmeV9zeW1ib2xp Y19leHByZXNzaW9uIChydHgpOwogZXh0ZXJuIGJvb2wgcmlzY3Zfc3ltYm9s aWNfY29uc3RhbnRfcCAocnR4LCBlbnVtIHJpc2N2X3N5bWJvbF90eXBlICop OworZXh0ZXJuIGludCByaXNjdl9mbG9hdF9jb25zdF9ydHhfaW5kZXhfZm9y X2ZsaSAocnR4KTsKIGV4dGVybiBpbnQgcmlzY3ZfcmVnbm9fbW9kZV9va19m b3JfYmFzZV9wIChpbnQsIG1hY2hpbmVfbW9kZSwgYm9vbCk7CiBleHRlcm4g aW50IHJpc2N2X2FkZHJlc3NfaW5zbnMgKHJ0eCwgbWFjaGluZV9tb2RlLCBi b29sKTsKIGV4dGVybiBpbnQgcmlzY3ZfY29uc3RfaW5zbnMgKHJ0eCk7CmRp ZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNjIGIvZ2NjL2Nv bmZpZy9yaXNjdi9yaXNjdi5jYwppbmRleCA5YTUzOTk5YTM5ZC4uMWIyNjli NzZkZDYgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YuY2MK KysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5jYwpAQCAtNzk5LDYgKzc5 OSw1MyBAQCBzdGF0aWMgaW50IHJpc2N2X3N5bWJvbF9pbnNucyAoZW51bSBy aXNjdl9zeW1ib2xfdHlwZSB0eXBlKQogfQogfQorc3RhdGljIHVuc2lnbmVk IEhPU1RfV0lERV9JTlQgZmxpX3ZhbHVlWzMyXSA9Cit7CisgMHhiZjgwMDAw MCwgMHgwMDgwMDAwMCwgMHgzNzgwMDAwMCwgMHgzODAwMDAwMCwgMHgzYjgw MDAwMCwgMHgzYzAwMDAwMCwgMHgzZDgwMDAwMCwgMHgzZTAwMDAwMCwKKyAw eDNlODAwMDAwLCAweDNlYTAwMDAwLCAweDNlYzAwMDAwLCAweDNlZTAwMDAw LCAweDNmMDAwMDAwLCAweDNmMjAwMDAwLCAweDNmNDAwMDAwLCAweDNmNjAw MDAwLAorIDB4M2Y4MDAwMDAsIDB4M2ZhMDAwMDAsIDB4M2ZjMDAwMDAsIDB4 M2ZlMDAwMDAsIDB4NDAwMDAwMDAsIDB4NDAyMDAwMDAsIDB4NDA0MDAwMDAs IDB4NDA4MDAwMDAsCisgMHg0MTAwMDAwMCwgMHg0MTgwMDAwMCwgMHg0MzAw MDAwMCwgMHg0MzgwMDAwMCwgMHg0NzAwMDAwMCwgMHg0NzgwMDAwMCwgMHg3 ZjgwMDAwMCwgMHg3ZmMwMDAwMAorfTsKKworLyogUmV0dXJuIGluZGV4IG9m IHRoZSBGTEkgaW5zdHJ1Y3Rpb24gdGFibGUgaWYgcnR4IFggaXMgYW4gaW1t ZWRpYXRlIGNvbnN0YW50IHRoYXQKKyBjYW4gYmUgbW92ZWQgdXNpbmcgYSBz aW5nbGUgRkxJIGluc3RydWN0aW9uIGluIHpmYSBleHRlbnNpb24uIC0xIG90 aGVyd2lzZS4gKi8KKworaW50CityaXNjdl9mbG9hdF9jb25zdF9ydHhfaW5k ZXhfZm9yX2ZsaSAocnR4IHgpCit7CisgbWFjaGluZV9tb2RlIG1vZGUgPSBH RVRfTU9ERSAoeCk7CisKKyBpZiAoIVRBUkdFVF9aRkEgfHwgbW9kZSA9PSBW T0lEbW9kZQorIHx8ICFDT05TVF9ET1VCTEVfUCh4KQorIHx8IChtb2RlID09 IEhGbW9kZSAmJiAhVEFSR0VUX1pGSE1JTikKKyB8fCAobW9kZSA9PSBTRm1v ZGUgJiYgIVRBUkdFVF9IQVJEX0ZMT0FUKQorIHx8IChtb2RlID09IERGbW9k ZSAmJiAhVEFSR0VUX0RPVUJMRV9GTE9BVCkpCisgcmV0dXJuIC0xOworCisg aWYgKFNDQUxBUl9GTE9BVF9NT0RFX1AgKG1vZGUpCisgJiYgR0VUX01PREVf QklUU0laRSAobW9kZSkudG9fY29uc3RhbnQgKCkgPD0gSE9TVF9CSVRTX1BF Ul9XSURFX0lOVAorIC8qIE9ubHkgc3VwcG9ydCB1cCB0byBERiBtb2RlLiAq LworICYmIEdFVF9NT0RFX0JJVFNJWkUgKG1vZGUpLnRvX2NvbnN0YW50ICgp IDw9IEdFVF9NT0RFX0JJVFNJWkUgKERGbW9kZSkpCisgeworIHVuc2lnbmVk IEhPU1RfV0lERV9JTlQgaXZhbCA9IDA7CisgUkVBTF9WQUxVRV9UWVBFIGQ7 CisKKyBkID0gcmVhbF92YWx1ZV90cnVuY2F0ZSAoZmxvYXRfbW9kZV9mb3Jf c2l6ZSAoMzIpLnJlcXVpcmUgKCksICpDT05TVF9ET1VCTEVfUkVBTF9WQUxV RSAoeCkpOworIFJFQUxfVkFMVUVfVE9fVEFSR0VUX1NJTkdMRSAoZCwgaXZh bCk7CisKKyBmb3IgKGludCBpID0gMDsgaSA8IDMyOyBpKyspCisgeworIGlm IChpdmFsID09IGZsaV92YWx1ZVtpXSkKKyByZXR1cm4gaTsKKyB9CisKKyAv KiBUaGUgbWluaW11bSBwb3NpdGl2ZSBub3JtYWwgdmFsdWUgKDYuMTA0RS01 KSBmb3IgaGFsZi1wcmVjaXNpb24uICovCisgaWYgKG1vZGUgPT0gSEZtb2Rl ICYmIGl2YWwgPT0gMHgzODgwMDAwMCkKKyByZXR1cm4gMTsKKyB9CisgcmV0 dXJuIC0xOworfQorCiAvKiBJbXBsZW1lbnQgVEFSR0VUX0xFR0lUSU1BVEVf Q09OU1RBTlRfUC4gKi8KIHN0YXRpYyBib29sCkBAIC04MjYsNiArODczLDkg QEAgcmlzY3ZfY2Fubm90X2ZvcmNlX2NvbnN0X21lbSAobWFjaGluZV9tb2Rl IG1vZGUgQVRUUklCVVRFX1VOVVNFRCwgcnR4IHgpCiBpZiAoR0VUX0NPREUg KHgpID09IEhJR0gpCiByZXR1cm4gdHJ1ZTsKKyBpZiAocmlzY3ZfZmxvYXRf Y29uc3RfcnR4X2luZGV4X2Zvcl9mbGkgKHgpICE9IC0xKQorIHJldHVybiB0 cnVlOworCiBzcGxpdF9jb25zdCAoeCwgJmJhc2UsICZvZmZzZXQpOwogaWYg KHJpc2N2X3N5bWJvbGljX2NvbnN0YW50X3AgKGJhc2UsICZ0eXBlKSkKIHsK QEAgLTExNzksNiArMTIyOSw4IEBAIHJpc2N2X2NvbnN0X2luc25zIChydHgg eCkKIH0KIGNhc2UgQ09OU1RfRE9VQkxFOgorIGlmIChyaXNjdl9mbG9hdF9j b25zdF9ydHhfaW5kZXhfZm9yX2ZsaSAoeCkgIT0gLTEpCisgcmV0dXJuIDQ7 CiBjYXNlIENPTlNUX1ZFQ1RPUjoKIC8qIFdlIGNhbiB1c2UgeDAgdG8gbG9h ZCBmbG9hdGluZy1wb2ludCB6ZXJvLiAqLwogcmV0dXJuIHggPT0gQ09OU1Qw X1JUWCAoR0VUX01PREUgKHgpKSA/IDEgOiAwOwpAQCAtMTcxNSw2ICsxNzY3 LDEyIEBAIHJpc2N2X2xlZ2l0aW1pemVfY29uc3RfbW92ZSAobWFjaGluZV9t b2RlIG1vZGUsIHJ0eCBkZXN0LCBydHggc3JjKQogcmV0dXJuOwogfQorIGlm IChyaXNjdl9mbG9hdF9jb25zdF9ydHhfaW5kZXhfZm9yX2ZsaSAoc3JjKSAh PSAtMSkKKyB7CisgcmlzY3ZfZW1pdF9zZXQgKGRlc3QsIHNyYyk7CisgcmV0 dXJuOworIH0KKwogLyogU3BsaXQgbW92ZXMgb2Ygc3ltYm9saWMgY29uc3Rh bnRzIGludG8gaGlnaC9sb3cgcGFpcnMuICovCiBpZiAocmlzY3Zfc3BsaXRf c3ltYm9sIChkZXN0LCBzcmMsIE1BWF9NQUNISU5FX01PREUsICZzcmMsIEZB TFNFKSkKIHsKQEAgLTI3MzIsNiArMjc5MCw5IEBAIHJpc2N2X3NwbGl0XzY0 Yml0X21vdmVfcCAocnR4IGRlc3QsIHJ0eCBzcmMpCiAmJiAoKEZQX1JFR19S VFhfUCAoc3JjKSAmJiBGUF9SRUdfUlRYX1AgKGRlc3QpKQogfHwgKEZQX1JF R19SVFhfUCAoZGVzdCkgJiYgTUVNX1AgKHNyYykpCiB8fCAoRlBfUkVHX1JU WF9QIChzcmMpICYmIE1FTV9QIChkZXN0KSkKKyB8fCAoVEFSR0VUX1pGQQor ICYmICgoRlBfUkVHX1JUWF9QIChkZXN0KSAmJiBHUF9SRUdfUlRYX1AgKHNy YykpCisgfHwgKEZQX1JFR19SVFhfUCAoc3JjKSAmJiBHUF9SRUdfUlRYX1Ag KGRlc3QpKSkpCiB8fCAoRlBfUkVHX1JUWF9QIChkZXN0KSAmJiBzcmMgPT0g Q09OU1QwX1JUWCAoR0VUX01PREUgKHNyYykpKSkpCiByZXR1cm4gZmFsc2U7 CkBAIC0yNzk1LDYgKzI4NTYsOCBAQCByaXNjdl9vdXRwdXRfbW92ZSAocnR4 IGRlc3QsIHJ0eCBzcmMpCiBjYXNlIDQ6CiByZXR1cm4gImZtdi54LnNcdCUw LCUxIjsKIGNhc2UgODoKKyBpZiAoIVRBUkdFVF82NEJJVCAmJiBUQVJHRVRf WkZBKQorIHJldHVybiAiZm12Lngud1x0JTAsJTFcblx0Zm12aC54LmRcdCVO MCwlMSI7CiByZXR1cm4gImZtdi54LmRcdCUwLCUxIjsKIH0KQEAgLTI4NTQs NiArMjkxNyw4IEBAIHJpc2N2X291dHB1dF9tb3ZlIChydHggZGVzdCwgcnR4 IHNyYykKIGNhc2UgODoKIGlmIChUQVJHRVRfNjRCSVQpCiByZXR1cm4gImZt di5kLnhcdCUwLCV6MSI7CisgZWxzZSBpZiAoVEFSR0VUX1pGQSAmJiBzcmMg IT0gQ09OU1QwX1JUWCAobW9kZSkpCisgcmV0dXJuICJmbXZwLmQueFx0JTAs JTEsJU4xIjsKIC8qIGluIFJWMzIsIHdlIGNhbiBlbXVsYXRlIGZtdi5kLngg JTAsIHgwIHVzaW5nIGZjdnQuZC53ICovCiBnY2NfYXNzZXJ0IChzcmMgPT0g Q09OU1QwX1JUWCAobW9kZSkpOwogcmV0dXJuICJmY3Z0LmQud1x0JTAseDAi OwpAQCAtMjkwNiw2ICsyOTcxLDE0IEBAIHJpc2N2X291dHB1dF9tb3ZlIChy dHggZGVzdCwgcnR4IHNyYykKIGNhc2UgODoKIHJldHVybiAiZmxkXHQlMCwl MSI7CiB9CisKKyBpZiAoc3JjX2NvZGUgPT0gQ09OU1RfRE9VQkxFICYmIChy aXNjdl9mbG9hdF9jb25zdF9ydHhfaW5kZXhfZm9yX2ZsaSAoc3JjKSAhPSAt MSkpCisgc3dpdGNoICh3aWR0aCkKKyB7CisgY2FzZSAyOiByZXR1cm4gImZs aS5oXHQlMCwlMSI7CisgY2FzZSA0OiByZXR1cm4gImZsaS5zXHQlMCwlMSI7 CisgY2FzZSA4OiByZXR1cm4gImZsaS5kXHQlMCwlMSI7CisgfQogfQogaWYg KGRlc3RfY29kZSA9PSBSRUcgJiYgR1BfUkVHX1AgKFJFR05PIChkZXN0KSkg JiYgc3JjX2NvZGUgPT0gQ09OU1RfUE9MWV9JTlQpCiB7CkBAIC00MjA5LDYg KzQyODIsNyBAQCByaXNjdl9tZW1tb2RlbF9uZWVkc19yZWxlYXNlX2ZlbmNl IChlbnVtIG1lbW1vZGVsIG1vZGVsKQogJ1MnIFByaW50IHNoaWZ0LWluZGV4 IG9mIHNpbmdsZS1iaXQgbWFzayBPUC4KICdUJyBQcmludCBzaGlmdC1pbmRl eCBvZiBpbnZlcnRlZCBzaW5nbGUtYml0IG1hc2sgT1AuCiAnficgUHJpbnQg dyBpZiBUQVJHRVRfNjRCSVQgaXMgdHJ1ZTsgb3RoZXJ3aXNlIG5vdCBwcmlu dCBhbnl0aGluZy4KKyAnTicgUHJpbnQgbmV4dCByZWdpc3Rlci4KIE5vdGUg cGxlYXNlIGtlZXAgdGhpcyBsaXN0IGFuZCB0aGUgbGlzdCBpbiByaXNjdi5t ZCBpbiBzeW5jLiAqLwpAQCAtNDM1MCw2ICs0NDI0LDkgQEAgcmlzY3ZfcHJp bnRfb3BlcmFuZCAoRklMRSAqZmlsZSwgcnR4IG9wLCBpbnQgbGV0dGVyKQog b3V0cHV0X2FkZHJfY29uc3QgKGZpbGUsIG5ld29wKTsKIGJyZWFrOwogfQor IGNhc2UgJ04nOgorIGZwdXRzIChyZWdfbmFtZXNbUkVHTk8gKG9wKSArIDFd LCBmaWxlKTsKKyBicmVhazsKIGRlZmF1bHQ6CiBzd2l0Y2ggKGNvZGUpCiB7 CkBAIC00MzY2LDYgKzQ0NDMsMzEgQEAgcmlzY3ZfcHJpbnRfb3BlcmFuZCAo RklMRSAqZmlsZSwgcnR4IG9wLCBpbnQgbGV0dGVyKQogb3V0cHV0X2FkZHJl c3MgKG1vZGUsIFhFWFAgKG9wLCAwKSk7CiBicmVhazsKKyBjYXNlIENPTlNU X0RPVUJMRToKKyB7CisgaWYgKGxldHRlciA9PSAneicgJiYgb3AgPT0gQ09O U1QwX1JUWCAoR0VUX01PREUgKG9wKSkpCisgeworIGZwdXRzIChyZWdfbmFt ZXNbR1BfUkVHX0ZJUlNUXSwgZmlsZSk7CisgYnJlYWs7CisgfQorCisgaWYg KHJpc2N2X2Zsb2F0X2NvbnN0X3J0eF9pbmRleF9mb3JfZmxpIChvcCkgPT0g LTEpCisgb3V0cHV0X29wZXJhbmRfbG9zc2FnZSAoImludmFsaWQgdXNlIG9m ICclJSVjJyIsIGxldHRlcik7CisKKyBpZiAocmlzY3ZfZmxpX3ZhbHVlX2J5 X2ludCkKKyB7CisgYXNtX2ZwcmludGYgKGZpbGUsICIlZCIsIHJpc2N2X2Zs b2F0X2NvbnN0X3J0eF9pbmRleF9mb3JfZmxpIChvcCkpOworIGJyZWFrOwor IH0KKworIGNvbnN0IHVuc2lnbmVkIGludCBidWZfc2l6ZSA9IDMyOworIGNo YXIgZmxvYXRfYnVmW2J1Zl9zaXplXSA9IHsnXDAnfTsKKyByZWFsX3RvX2Rl Y2ltYWxfZm9yX21vZGUgKGZsb2F0X2J1ZiwgQ09OU1RfRE9VQkxFX1JFQUxf VkFMVUUgKG9wKSwKKyBidWZfc2l6ZSwgYnVmX3NpemUsIDEsIEdFVF9NT0RF KG9wKSk7CisgYXNtX2ZwcmludGYgKGZpbGUsICIlcyIsIGZsb2F0X2J1Zik7 CisgYnJlYWs7CisgfQorCiBkZWZhdWx0OgogaWYgKGxldHRlciA9PSAneicg JiYgb3AgPT0gQ09OU1QwX1JUWCAoR0VUX01PREUgKG9wKSkpCiBmcHV0cyAo cmVnX25hbWVzW0dQX1JFR19GSVJTVF0sIGZpbGUpOwpAQCAtNTY3Niw3ICs1 Nzc4LDggQEAgcmlzY3Zfc2Vjb25kYXJ5X21lbW9yeV9uZWVkZWQgKG1hY2hp bmVfbW9kZSBtb2RlLCByZWdfY2xhc3NfdCBjbGFzczEsCiB7CiByZXR1cm4g KCFyaXNjdl92X2V4dF92ZWN0b3JfbW9kZV9wIChtb2RlKQogJiYgR0VUX01P REVfU0laRSAobW9kZSkudG9fY29uc3RhbnQgKCkgPiBVTklUU19QRVJfV09S RAotICYmIChjbGFzczEgPT0gRlBfUkVHUykgIT0gKGNsYXNzMiA9PSBGUF9S RUdTKSk7CisgJiYgKGNsYXNzMSA9PSBGUF9SRUdTKSAhPSAoY2xhc3MyID09 IEZQX1JFR1MpCisgJiYgIVRBUkdFVF9aRkEpOwogfQogLyogSW1wbGVtZW50 IFRBUkdFVF9SRUdJU1RFUl9NT1ZFX0NPU1QuICovCmRpZmYgLS1naXQgYS9n Y2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmggYi9nY2MvY29uZmlnL3Jpc2N2L3Jp c2N2LmgKaW5kZXggMGFiNzM5YmQ2ZWIuLjg5MThmMzUwZWMwIDEwMDY0NAot LS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmgKKysrIGIvZ2NjL2NvbmZp Zy9yaXNjdi9yaXNjdi5oCkBAIC0zNzcsNiArMzc3LDcgQEAgQVNNX01JU0Ff U1BFQwogI2RlZmluZSBTSUJDQUxMX1JFR19QKFJFR05PKSBcCiBURVNUX0hB UkRfUkVHX0JJVCAocmVnX2NsYXNzX2NvbnRlbnRzW1NJQkNBTExfUkVHU10s IFJFR05PKQorI2RlZmluZSBHUF9SRUdfUlRYX1AoWCkgKFJFR19QIChYKSAm JiBHUF9SRUdfUCAoUkVHTk8gKFgpKSkKICNkZWZpbmUgRlBfUkVHX1JUWF9Q KFgpIChSRUdfUCAoWCkgJiYgRlBfUkVHX1AgKFJFR05PIChYKSkpCiAvKiBV c2UgczAgYXMgdGhlIGZyYW1lIHBvaW50ZXIgaWYgaXQgaXMgc28gcmVxdWVz dGVkLiAqLwpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5t ZCBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YubWQKaW5kZXggYTEwY2VlMmEw ZGMuLmQ5MGVhOGQzNWU3IDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL3Jpc2N2 L3Jpc2N2Lm1kCisrKyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YubWQKQEAg LTU5LDYgKzU5LDggQEAgKGRlZmluZV9jX2VudW0gInVuc3BlYyIgWwogVU5T UEVDX0xST1VORAogVU5TUEVDX0ZNSU4KIFVOU1BFQ19GTUFYCisgVU5TUEVD X0ZNSU5NCisgVU5TUEVDX0ZNQVhNCiA7OyBTdGFjayB0aWUKIFVOU1BFQ19U SUUKQEAgLTEyMjAsNiArMTIyMiwyNiBAQCAoZGVmaW5lX2luc24gIm5lZzxt b2RlPjIiCiA7OwogOzsgLi4uLi4uLi4uLi4uLi4uLi4uLi4KKyhkZWZpbmVf aW5zbiAicmlzY3ZfZm1pbm08bW9kZT4zIgorIFsoc2V0IChtYXRjaF9vcGVy YW5kOkFOWUYgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj1mIikKKyAodW5zcGVj OkFOWUYgWyh1c2UgKG1hdGNoX29wZXJhbmQ6QU5ZRiAxICJyZWdpc3Rlcl9v cGVyYW5kIiAiIGYiKSkKKyAodXNlIChtYXRjaF9vcGVyYW5kOkFOWUYgMiAi cmVnaXN0ZXJfb3BlcmFuZCIgIiBmIikpXQorIFVOU1BFQ19GTUlOTSkpXQor ICJUQVJHRVRfSEFSRF9GTE9BVCAmJiBUQVJHRVRfWkZBICYmICFIT05PUl9T TkFOUyAoPE1PREU+bW9kZSkiCisgImZtaW5tLjxmbXQ+XHQlMCwlMSwlMiIK KyBbKHNldF9hdHRyICJ0eXBlIiAiZm1vdmUiKQorIChzZXRfYXR0ciAibW9k ZSIgIjxVTklUTU9ERT4iKV0pCisKKyhkZWZpbmVfaW5zbiAicmlzY3ZfZm1h eG08bW9kZT4zIgorIFsoc2V0IChtYXRjaF9vcGVyYW5kOkFOWUYgMCAicmVn aXN0ZXJfb3BlcmFuZCIgIj1mIikKKyAodW5zcGVjOkFOWUYgWyh1c2UgKG1h dGNoX29wZXJhbmQ6QU5ZRiAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiIGYiKSkK KyAodXNlIChtYXRjaF9vcGVyYW5kOkFOWUYgMiAicmVnaXN0ZXJfb3BlcmFu ZCIgIiBmIikpXQorIFVOU1BFQ19GTUFYTSkpXQorICJUQVJHRVRfSEFSRF9G TE9BVCAmJiBUQVJHRVRfWkZBICYmICFIT05PUl9TTkFOUyAoPE1PREU+bW9k ZSkiCisgImZtYXhtLjxmbXQ+XHQlMCwlMSwlMiIKKyBbKHNldF9hdHRyICJ0 eXBlIiAiZm1vdmUiKQorIChzZXRfYXR0ciAibW9kZSIgIjxVTklUTU9ERT4i KV0pCisKIChkZWZpbmVfaW5zbiAiZm1pbjxtb2RlPjMiCiBbKHNldCAobWF0 Y2hfb3BlcmFuZDpBTllGIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9ZiIpCiAo dW5zcGVjOkFOWUYgWyh1c2UgKG1hdGNoX29wZXJhbmQ6QU5ZRiAxICJyZWdp c3Rlcl9vcGVyYW5kIiAiIGYiKSkKQEAgLTE0OTQsMTMgKzE1MTYsMTMgQEAg KGRlZmluZV9leHBhbmQgIm1vdmhmIgogfSkKIChkZWZpbmVfaW5zbiAiKm1v dmhmX2hhcmRmbG9hdCIKLSBbKHNldCAobWF0Y2hfb3BlcmFuZDpIRiAwICJu b25pbW1lZGlhdGVfb3BlcmFuZCIgIj1mLGYsZixtLG0sKmYsKnIsICpyLCpy LCptIikKLSAobWF0Y2hfb3BlcmFuZDpIRiAxICJtb3ZlX29wZXJhbmQiICIg ZixHLG0sZixHLCpyLCpmLCpHKnIsKm0sKnIiKSldCisgWyhzZXQgKG1hdGNo X29wZXJhbmQ6SEYgMCAibm9uaW1tZWRpYXRlX29wZXJhbmQiICI9ZiwgZixm LGYsbSxtLCpmLCpyLCAqciwqciwqbSIpCisgKG1hdGNoX29wZXJhbmQ6SEYg MSAibW92ZV9vcGVyYW5kIiAiIGYsWmYsRyxtLGYsRywqciwqZiwqRypyLCpt LCpyIikpXQogIlRBUkdFVF9aRkhNSU4KICYmIChyZWdpc3Rlcl9vcGVyYW5k IChvcGVyYW5kc1swXSwgSEZtb2RlKQogfHwgcmVnX29yXzBfb3BlcmFuZCAo b3BlcmFuZHNbMV0sIEhGbW9kZSkpIgogeyByZXR1cm4gcmlzY3Zfb3V0cHV0 X21vdmUgKG9wZXJhbmRzWzBdLCBvcGVyYW5kc1sxXSk7IH0KLSBbKHNldF9h dHRyICJtb3ZlX3R5cGUiICJmbW92ZSxtdGMsZnBsb2FkLGZwc3RvcmUsc3Rv cmUsbXRjLG1mYyxtb3ZlLGxvYWQsc3RvcmUiKQorIFsoc2V0X2F0dHIgIm1v dmVfdHlwZSIgImZtb3ZlLGZtb3ZlLG10YyxmcGxvYWQsZnBzdG9yZSxzdG9y ZSxtdGMsbWZjLG1vdmUsbG9hZCxzdG9yZSIpCiAoc2V0X2F0dHIgIm1vZGUi ICJIRiIpXSkKIChkZWZpbmVfaW5zbiAiKm1vdmhmX3NvZnRmbG9hdCIKQEAg LTE1MjAsNiArMTU0MiwxNSBAQCAoZGVmaW5lX2luc24gIiptb3ZoZl9zb2Z0 ZmxvYXQiCiA7OwogOzsgLi4uLi4uLi4uLi4uLi4uLi4uLi4KKyhkZWZpbmVf aW5zbiAiZml4X3RydW5jZGZzaTJfemZhIgorIFsoc2V0IChtYXRjaF9vcGVy YW5kOlNJIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9ciIpCisgKGZpeDpTSQor IChtYXRjaF9vcGVyYW5kOkRGIDEgInJlZ2lzdGVyX29wZXJhbmQiICIgZiIp KSldCisgIlRBUkdFVF9aRkEgJiYgKFRBUkdFVF9IQVJEX0ZMT0FUIHx8IFRB UkdFVF9aRklOWCkiCisgImZjdnRtb2Qudy5kXHQlMCwlMSxydHoiCisgWyhz ZXRfYXR0ciAidHlwZSIgImZjdnQiKQorIChzZXRfYXR0ciAibW9kZSIgIkRG IildKQorCiAoZGVmaW5lX2luc24gImZpeF90cnVuYzxBTllGOm1vZGU+PEdQ Ujptb2RlPjIiCiBbKHNldCAobWF0Y2hfb3BlcmFuZDpHUFIgMCAicmVnaXN0 ZXJfb3BlcmFuZCIgIj1yIikKIChmaXg6R1BSCkBAIC0xNTY2LDYgKzE1OTcs MjYgQEAgKGRlZmluZV9pbnNuICJsPHJpbnRfcGF0dGVybj48QU5ZRjptb2Rl PjxHUFI6bW9kZT4yIgogWyhzZXRfYXR0ciAidHlwZSIgImZjdnQiKQogKHNl dF9hdHRyICJtb2RlIiAiPEFOWUY6TU9ERT4iKV0pCisoZGVmaW5lX2luc24g InJvdW5kPEFOWUY6bW9kZT4yIgorIFsoc2V0IChtYXRjaF9vcGVyYW5kOkFO WUYgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj1mIikKKyAodW5zcGVjOkFOWUYK KyBbKG1hdGNoX29wZXJhbmQ6QU5ZRiAxICJyZWdpc3Rlcl9vcGVyYW5kIiAi IGYiKV0KKyBVTlNQRUNfTFJPVU5EKSldCisgIlRBUkdFVF9IQVJEX0ZMT0FU ICYmIFRBUkdFVF9aRkEiCisgImZyb3VuZC48QU5ZRjpmbXQ+XHQlMCwlMSIK KyBbKHNldF9hdHRyICJ0eXBlIiAiZmN2dCIpCisgKHNldF9hdHRyICJtb2Rl IiAiPEFOWUY6TU9ERT4iKV0pCisKKyhkZWZpbmVfaW5zbiAicmludDxBTllG Om1vZGU+MiIKKyBbKHNldCAobWF0Y2hfb3BlcmFuZDpBTllGIDAgInJlZ2lz dGVyX29wZXJhbmQiICI9ZiIpCisgKHVuc3BlYzpBTllGCisgWyhtYXRjaF9v cGVyYW5kOkFOWUYgMSAicmVnaXN0ZXJfb3BlcmFuZCIgIiBmIildCisgVU5T UEVDX0xSSU5UKSldCisgIlRBUkdFVF9IQVJEX0ZMT0FUICYmIFRBUkdFVF9a RkEiCisgImZyb3VuZG54LjxBTllGOmZtdD5cdCUwLCUxIgorIFsoc2V0X2F0 dHIgInR5cGUiICJmY3Z0IikKKyAoc2V0X2F0dHIgIm1vZGUiICI8QU5ZRjpN T0RFPiIpXSkKKwogOzsKIDs7IC4uLi4uLi4uLi4uLi4uLi4uLi4uCiA7OwpA QCAtMTgyMywxMyArMTg3NCwxMyBAQCAoZGVmaW5lX2V4cGFuZCAibW92c2Yi CiB9KQogKGRlZmluZV9pbnNuICIqbW92c2ZfaGFyZGZsb2F0IgotIFsoc2V0 IChtYXRjaF9vcGVyYW5kOlNGIDAgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIiAi PWYsZixmLG0sbSwqZiwqciwgKnIsKnIsKm0iKQotIChtYXRjaF9vcGVyYW5k OlNGIDEgIm1vdmVfb3BlcmFuZCIgIiBmLEcsbSxmLEcsKnIsKmYsKkcqciwq bSwqciIpKV0KKyBbKHNldCAobWF0Y2hfb3BlcmFuZDpTRiAwICJub25pbW1l ZGlhdGVfb3BlcmFuZCIgIj1mLCBmLGYsZixtLG0sKmYsKnIsICpyLCpyLCpt IikKKyAobWF0Y2hfb3BlcmFuZDpTRiAxICJtb3ZlX29wZXJhbmQiICIgZixa ZixHLG0sZixHLCpyLCpmLCpHKnIsKm0sKnIiKSldCiAiVEFSR0VUX0hBUkRf RkxPQVQKICYmIChyZWdpc3Rlcl9vcGVyYW5kIChvcGVyYW5kc1swXSwgU0Zt b2RlKQogfHwgcmVnX29yXzBfb3BlcmFuZCAob3BlcmFuZHNbMV0sIFNGbW9k ZSkpIgogeyByZXR1cm4gcmlzY3Zfb3V0cHV0X21vdmUgKG9wZXJhbmRzWzBd LCBvcGVyYW5kc1sxXSk7IH0KLSBbKHNldF9hdHRyICJtb3ZlX3R5cGUiICJm bW92ZSxtdGMsZnBsb2FkLGZwc3RvcmUsc3RvcmUsbXRjLG1mYyxtb3ZlLGxv YWQsc3RvcmUiKQorIFsoc2V0X2F0dHIgIm1vdmVfdHlwZSIgImZtb3ZlLGZt b3ZlLG10YyxmcGxvYWQsZnBzdG9yZSxzdG9yZSxtdGMsbWZjLG1vdmUsbG9h ZCxzdG9yZSIpCiAoc2V0X2F0dHIgIm1vZGUiICJTRiIpXSkKIChkZWZpbmVf aW5zbiAiKm1vdnNmX3NvZnRmbG9hdCIKQEAgLTE4NTYsMjMgKzE5MDcsMjMg QEAgKGRlZmluZV9leHBhbmQgIm1vdmRmIgogOzsgSW4gUlYzMiwgd2UgbGFj ayBmbXYueC5kIGFuZCBmbXYuZC54LiBHbyB0aHJvdWdoIG1lbW9yeSBpbnN0 ZWFkLgogOzsgKEhvd2V2ZXIsIHdlIGNhbiBzdGlsbCB1c2UgZmN2dC5kLncg dG8gemVybyBhIGZsb2F0aW5nLXBvaW50IHJlZ2lzdGVyLikKIChkZWZpbmVf aW5zbiAiKm1vdmRmX2hhcmRmbG9hdF9ydjMyIgotIFsoc2V0IChtYXRjaF9v cGVyYW5kOkRGIDAgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIiAiPWYsZixmLG0s bSwgKnIsKnIsKm0iKQotIChtYXRjaF9vcGVyYW5kOkRGIDEgIm1vdmVfb3Bl cmFuZCIgIiBmLEcsbSxmLEcsKnIqRywqbSwqciIpKV0KKyBbKHNldCAobWF0 Y2hfb3BlcmFuZDpERiAwICJub25pbW1lZGlhdGVfb3BlcmFuZCIgIj1mLCBm LGYsZixtLG0sKmYsKnIsICpyLCpyLCptIikKKyAobWF0Y2hfb3BlcmFuZDpE RiAxICJtb3ZlX29wZXJhbmQiICIgZixaZixHLG0sZixHLCpyLCpmLCpyKkcs Km0sKnIiKSldCiAiIVRBUkdFVF82NEJJVCAmJiBUQVJHRVRfRE9VQkxFX0ZM T0FUCiAmJiAocmVnaXN0ZXJfb3BlcmFuZCAob3BlcmFuZHNbMF0sIERGbW9k ZSkKIHx8IHJlZ19vcl8wX29wZXJhbmQgKG9wZXJhbmRzWzFdLCBERm1vZGUp KSIKIHsgcmV0dXJuIHJpc2N2X291dHB1dF9tb3ZlIChvcGVyYW5kc1swXSwg b3BlcmFuZHNbMV0pOyB9Ci0gWyhzZXRfYXR0ciAibW92ZV90eXBlIiAiZm1v dmUsbXRjLGZwbG9hZCxmcHN0b3JlLHN0b3JlLG1vdmUsbG9hZCxzdG9yZSIp CisgWyhzZXRfYXR0ciAibW92ZV90eXBlIiAiZm1vdmUsZm1vdmUsbXRjLGZw bG9hZCxmcHN0b3JlLHN0b3JlLG10YyxtZmMsbW92ZSxsb2FkLHN0b3JlIikK IChzZXRfYXR0ciAibW9kZSIgIkRGIildKQogKGRlZmluZV9pbnNuICIqbW92 ZGZfaGFyZGZsb2F0X3J2NjQiCi0gWyhzZXQgKG1hdGNoX29wZXJhbmQ6REYg MCAibm9uaW1tZWRpYXRlX29wZXJhbmQiICI9ZixmLGYsbSxtLCpmLCpyLCAq ciwqciwqbSIpCi0gKG1hdGNoX29wZXJhbmQ6REYgMSAibW92ZV9vcGVyYW5k IiAiIGYsRyxtLGYsRywqciwqZiwqcipHLCptLCpyIikpXQorIFsoc2V0ICht YXRjaF9vcGVyYW5kOkRGIDAgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIiAiPWYs IGYsZixmLG0sbSwqZiwqciwgKnIsKnIsKm0iKQorIChtYXRjaF9vcGVyYW5k OkRGIDEgIm1vdmVfb3BlcmFuZCIgIiBmLFpmLEcsbSxmLEcsKnIsKmYsKnIq RywqbSwqciIpKV0KICJUQVJHRVRfNjRCSVQgJiYgVEFSR0VUX0RPVUJMRV9G TE9BVAogJiYgKHJlZ2lzdGVyX29wZXJhbmQgKG9wZXJhbmRzWzBdLCBERm1v ZGUpCiB8fCByZWdfb3JfMF9vcGVyYW5kIChvcGVyYW5kc1sxXSwgREZtb2Rl KSkiCiB7IHJldHVybiByaXNjdl9vdXRwdXRfbW92ZSAob3BlcmFuZHNbMF0s IG9wZXJhbmRzWzFdKTsgfQotIFsoc2V0X2F0dHIgIm1vdmVfdHlwZSIgImZt b3ZlLG10YyxmcGxvYWQsZnBzdG9yZSxzdG9yZSxtdGMsbWZjLG1vdmUsbG9h ZCxzdG9yZSIpCisgWyhzZXRfYXR0ciAibW92ZV90eXBlIiAiZm1vdmUsZm1v dmUsbXRjLGZwbG9hZCxmcHN0b3JlLHN0b3JlLG10YyxtZmMsbW92ZSxsb2Fk LHN0b3JlIikKIChzZXRfYXR0ciAibW9kZSIgIkRGIildKQogKGRlZmluZV9p bnNuICIqbW92ZGZfc29mdGZsb2F0IgpAQCAtMjQ3OSwxNiArMjUzMCwyMyBA QCAoZGVmaW5lX2V4cGFuZCAiZjxxdWlldF9wYXR0ZXJuPl9xdWlldDxBTllG Om1vZGU+PFg6bW9kZT40IgogcnR4IG9wMCA9IG9wZXJhbmRzWzBdOwogcnR4 IG9wMSA9IG9wZXJhbmRzWzFdOwogcnR4IG9wMiA9IG9wZXJhbmRzWzJdOwot IHJ0eCB0bXAgPSBnZW5fcmVnX3J0eCAoU0ltb2RlKTsKLSBydHggY21wID0g Z2VuX3J0eF88UVVJRVRfUEFUVEVSTj4gKDxYOk1PREU+bW9kZSwgb3AxLCBv cDIpOwotIHJ0eCBmcmZsYWdzID0gZ2VuX3J0eF9VTlNQRUNfVk9MQVRJTEUg KFNJbW9kZSwgZ2VuX3J0dmVjICgxLCBjb25zdDBfcnR4KSwKLSBVTlNQRUNW X0ZSRkxBR1MpOwotIHJ0eCBmc2ZsYWdzID0gZ2VuX3J0eF9VTlNQRUNfVk9M QVRJTEUgKFNJbW9kZSwgZ2VuX3J0dmVjICgxLCB0bXApLAotIFVOU1BFQ1Zf RlNGTEFHUyk7Ci0KLSBlbWl0X2luc24gKGdlbl9ydHhfU0VUICh0bXAsIGZy ZmxhZ3MpKTsKLSBlbWl0X2luc24gKGdlbl9ydHhfU0VUIChvcDAsIGNtcCkp OwotIGVtaXRfaW5zbiAoZnNmbGFncyk7CisKKyBpZiAoVEFSR0VUX1pGQSkK KyBlbWl0X2luc24gKGdlbl9mPHF1aWV0X3BhdHRlcm4+X3F1aWV0PEFOWUY6 bW9kZT48WDptb2RlPjRfemZhKG9wMCwgb3AxLCBvcDIpKTsKKyBlbHNlCisg eworIHJ0eCB0bXAgPSBnZW5fcmVnX3J0eCAoU0ltb2RlKTsKKyBydHggY21w ID0gZ2VuX3J0eF88UVVJRVRfUEFUVEVSTj4gKDxYOk1PREU+bW9kZSwgb3Ax LCBvcDIpOworIHJ0eCBmcmZsYWdzID0gZ2VuX3J0eF9VTlNQRUNfVk9MQVRJ TEUgKFNJbW9kZSwgZ2VuX3J0dmVjICgxLCBjb25zdDBfcnR4KSwKKyBVTlNQ RUNWX0ZSRkxBR1MpOworIHJ0eCBmc2ZsYWdzID0gZ2VuX3J0eF9VTlNQRUNf Vk9MQVRJTEUgKFNJbW9kZSwgZ2VuX3J0dmVjICgxLCB0bXApLAorIFVOU1BF Q1ZfRlNGTEFHUyk7CisKKyBlbWl0X2luc24gKGdlbl9ydHhfU0VUICh0bXAs IGZyZmxhZ3MpKTsKKyBlbWl0X2luc24gKGdlbl9ydHhfU0VUIChvcDAsIGNt cCkpOworIGVtaXRfaW5zbiAoZnNmbGFncyk7CisgfQorCiBpZiAoSE9OT1Jf U05BTlMgKDxBTllGOk1PREU+bW9kZSkpCiBlbWl0X2luc24gKGdlbl9ydHhf VU5TUEVDX1ZPTEFUSUxFICg8QU5ZRjpNT0RFPm1vZGUsCiBnZW5fcnR2ZWMg KDIsIG9wMSwgb3AyKSwKQEAgLTI0OTYsNiArMjU1NCwxOCBAQCAoZGVmaW5l X2V4cGFuZCAiZjxxdWlldF9wYXR0ZXJuPl9xdWlldDxBTllGOm1vZGU+PFg6 bW9kZT40IgogRE9ORTsKIH0pCisoZGVmaW5lX2luc24gImY8cXVpZXRfcGF0 dGVybj5fcXVpZXQ8QU5ZRjptb2RlPjxYOm1vZGU+NF96ZmEiCisgWyhzZXQg KG1hdGNoX29wZXJhbmQ6WCAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXIiKQor ICh1bnNwZWM6WAorIFsobWF0Y2hfb3BlcmFuZDpBTllGIDEgInJlZ2lzdGVy X29wZXJhbmQiICIgZiIpCisgKG1hdGNoX29wZXJhbmQ6QU5ZRiAyICJyZWdp c3Rlcl9vcGVyYW5kIiAiIGYiKV0KKyBRVUlFVF9DT01QQVJJU09OKSldCisg IlRBUkdFVF9IQVJEX0ZMT0FUICYmIFRBUkdFVF9aRkEiCisgImY8cXVpZXRf cGF0dGVybj5xLjxmbXQ+XHQlMCwlMSwlMiIKKyBbKHNldF9hdHRyICJ0eXBl IiAiZmNtcCIpCisgKHNldF9hdHRyICJtb2RlIiAiPFVOSVRNT0RFPiIpCisg KHNldCAoYXR0ciAibGVuZ3RoIikgKGNvbnN0X2ludCAxNikpXSkKKwogKGRl ZmluZV9pbnNuICIqc2VxX3plcm9fPFg6bW9kZT48R1BSOm1vZGU+IgogWyhz ZXQgKG1hdGNoX29wZXJhbmQ6R1BSIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9 ciIpCiAoZXE6R1BSIChtYXRjaF9vcGVyYW5kOlggMSAicmVnaXN0ZXJfb3Bl cmFuZCIgIiByIikKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3Yvcmlz Y3Yub3B0IGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5vcHQKaW5kZXggN2Mz Y2E0OGQxY2MuLjE0NDI3NjI0MzkyIDEwMDY0NAotLS0gYS9nY2MvY29uZmln L3Jpc2N2L3Jpc2N2Lm9wdAorKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2 Lm9wdApAQCAtMTYyLDYgKzE2MiwxMCBAQCBtYWxpZ24tZGF0YT0KIFRhcmdl dCBSZWplY3ROZWdhdGl2ZSBKb2luZWQgVmFyKHJpc2N2X2FsaWduX2RhdGFf dHlwZSkgRW51bShyaXNjdl9hbGlnbl9kYXRhKSBJbml0KHJpc2N2X2FsaWdu X2RhdGFfdHlwZV94bGVuKQogVXNlIHRoZSBnaXZlbiBkYXRhIGFsaWdubWVu dC4KK21mbGlfdmFsdWVfYnlfaW50CitUYXJnZXQgVmFyKHJpc2N2X2ZsaV92 YWx1ZV9ieV9pbnQpIEluaXQoMSkgVW5kb2N1bWVudGVkCitUaGUgZmxpIGlu c3RydWN0aW9uIGluIHRoZSB6ZmEgZXh0ZW5zaW9uIHVzZXMgaW50ZWdlcnMg dG8gcmVwcmVzZW50IGZsb2F0aW5nLXBvaW50IHZhbHVlcy4KKwogRW51bQog TmFtZShyaXNjdl9hbGlnbl9kYXRhKSBUeXBlKGVudW0gcmlzY3ZfYWxpZ25f ZGF0YSkKIEtub3duIGRhdGEgYWxpZ25tZW50IGNob2ljZXMgKGZvciB1c2Ug d2l0aCB0aGUgLW1hbGlnbi1kYXRhPSBvcHRpb24pOgpkaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1mY3Z0bW9kLmMg Yi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemZhLWZjdnRtb2Qu YwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNjU0 NTU1MTZhNzcKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcmlzY3YvemZhLWZjdnRtb2QuYwpAQCAtMCwwICsxLDEyIEBA CisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1za2lwLWlmICIi IHsgKi0qLSogfSB7ICIqIiB9IHsgIi1tYXJjaD1ydjY0KiAtTzIiIH0gfSAq LworLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdfemZhIC1tYWJpPWxw NjRkIiB9ICovCisKK2V4dGVybiBkb3VibGUgYTsKKwordm9pZCBmb28oaW50 ICp4LCBkb3VibGUgYSkKK3sKKyAqeCA9IGE7Cit9CisKKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiZmN2dG1vZC53LmQiIDEgfSB9 ICovClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1mbGVxLWZsdHEu YyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi96ZmEtZmxlcS1m bHRxLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LmI1N2IwODEwZTk2Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1mbGVxLWZsdHEuYwpAQCAtMCwwICsx LDIwIEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1za2lw LWlmICIiIHsgKi0qLSogfSB7ICIqIiB9IHsgIi1tYXJjaD1ydjY0KiAtTzIi IH0gfSAqLworLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdfemZhIC1t YWJpPWxwNjRkIiB9ICovCisKK2V4dGVybiB2b2lkIGFib3J0KHZvaWQpOwor ZXh0ZXJuIGZsb2F0IGEsIGI7CitleHRlcm4gZG91YmxlIGMsIGQ7CisKK3Zv aWQKK2ZvbygpCit7CisgaWYgKChfX2J1aWx0aW5faXNsZXNzKGEsIGIpIHx8 IF9fYnVpbHRpbl9pc2xlc3NlcXVhbChjLCBkKSkKKyAmJiAoX19idWlsdGlu X2lzbGVzc2VxdWFsKGEsIGIpfHwgX19idWlsdGluX2lzbGVzcyhjLCBkKSkp CisgYWJvcnQoKTsKK30KKworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzICJmbGVxLnMiIDEgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMgImZsdHEucyIgMSB9IH0gKi8KKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiZmxlcS5kIiAxIH0g fSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJm bHRxLmQiIDEgfSB9ICovCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcmlzY3YvemZhLWZsaS16ZmguYyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi96ZmEtZmxpLXpmaC5jCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4yNmI0M2Y2MTc3NAotLS0gL2Rl di9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi96 ZmEtZmxpLXpmaC5jCkBAIC0wLDAgKzEsNDIgQEAKKy8qIHsgZGctZG8gY29t cGlsZSB9ICovCisvKiB7IGRnLXNraXAtaWYgIiIgeyAqLSotKiB9IHsgIioi IH0geyAiLW1hcmNoPXJ2NjQqIC1PMiIgfSB9ICovCisvKiB7IGRnLW9wdGlv bnMgIi1tYXJjaD1ydjY0Z196ZmFfemZoIC1tYWJpPWxwNjRkIiB9ICovCisK K3ZvaWQgZm9vX2Zsb2F0MTYgKCkKK3sKKyB2b2xhdGlsZSBfRmxvYXQxNiBh OworIGEgPSAtMS4wOworIGEgPSA2LjEwNEUtNTsKKyBhID0gMS4wLygxIDw8 IDE2KTsKKyBhID0gMS4wLygxIDw8IDE1KTsKKyBhID0gMS4wLygxIDw8IDgp OworIGEgPSAxLjAvKDEgPDwgNyk7CisgYSA9IDEuMC8oMSA8PCA0KTsKKyBh ID0gMS4wLygxIDw8IDMpOworIGEgPSAxLjAvKDEgPDwgMik7CisgYSA9IDAu MzEyNTsKKyBhID0gMC4zNzU7CisgYSA9IDAuNDM3NTsKKyBhID0gMC41Owor IGEgPSAwLjYyNTsKKyBhID0gMC43NTsKKyBhID0gMC44NzU7CisgYSA9IDEu MDsKKyBhID0gMS4yNTsKKyBhID0gMS41OworIGEgPSAxLjc1OworIGEgPSAy LjA7CisgYSA9IDIuNTsKKyBhID0gMy4wOworIGEgPSAxLjAqKDEgPDwgMik7 CisgYSA9IDEuMCooMSA8PCAzKTsKKyBhID0gMS4wKigxIDw8IDQpOworIGEg PSAxLjAqKDEgPDwgNyk7CisgYSA9IDEuMCooMSA8PCA4KTsKKyBhID0gMS4w KigxIDw8IDE1KTsKKyBhID0gMS4wKigxIDw8IDE2KTsKKyBhID0gX19idWls dGluX2luZmYgKCk7CisgYSA9IF9fYnVpbHRpbl9uYW5mICgiIik7Cit9CisK Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiZmxpLmgi IDMxIH0gfSAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3pmYS1mbGkuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi96ZmEtZmxpLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAuLmUzMzkwYzY5N2NlCi0tLSAvZGV2L251bGwKKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1mbGkuYwpAQCAt MCwwICsxLDgwIEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBk Zy1za2lwLWlmICIiIHsgKi0qLSogfSB7ICIqIiB9IHsgIi1tYXJjaD1ydjY0 KiAtTzIiIH0gfSAqLworLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdf emZhIC1tYWJpPWxwNjRkIiB9ICovCisKK3ZvaWQgZm9vX2Zsb2F0MzIgKCkK K3sKKyB2b2xhdGlsZSBmbG9hdCBhOworIGEgPSAtMS4wOworIGEgPSAxLjE3 NTQ5NDRlLTM4OworIGEgPSAxLjAvKDEgPDwgMTYpOworIGEgPSAxLjAvKDEg PDwgMTUpOworIGEgPSAxLjAvKDEgPDwgOCk7CisgYSA9IDEuMC8oMSA8PCA3 KTsKKyBhID0gMS4wLygxIDw8IDQpOworIGEgPSAxLjAvKDEgPDwgMyk7Cisg YSA9IDEuMC8oMSA8PCAyKTsKKyBhID0gMC4zMTI1OworIGEgPSAwLjM3NTsK KyBhID0gMC40Mzc1OworIGEgPSAwLjU7CisgYSA9IDAuNjI1OworIGEgPSAw Ljc1OworIGEgPSAwLjg3NTsKKyBhID0gMS4wOworIGEgPSAxLjI1OworIGEg PSAxLjU7CisgYSA9IDEuNzU7CisgYSA9IDIuMDsKKyBhID0gMi41OworIGEg PSAzLjA7CisgYSA9IDEuMCooMSA8PCAyKTsKKyBhID0gMS4wKigxIDw8IDMp OworIGEgPSAxLjAqKDEgPDwgNCk7CisgYSA9IDEuMCooMSA8PCA3KTsKKyBh ID0gMS4wKigxIDw8IDgpOworIGEgPSAxLjAqKDEgPDwgMTUpOworIGEgPSAx LjAqKDEgPDwgMTYpOworIGEgPSBfX2J1aWx0aW5faW5mZiAoKTsKKyBhID0g X19idWlsdGluX25hbmYgKCIiKTsKK30KKwordm9pZCBmb29fZG91YmxlNjQg KCkKK3sKKyB2b2xhdGlsZSBkb3VibGUgYTsKKyBhID0gLTEuMDsKKyBhID0g MS4xNzU0OTQzNTA4MjIyODc1RS0zODsKKyBhID0gMS4wLygxIDw8IDE2KTsK KyBhID0gMS4wLygxIDw8IDE1KTsKKyBhID0gMS4wLygxIDw8IDgpOworIGEg PSAxLjAvKDEgPDwgNyk7CisgYSA9IDEuMC8oMSA8PCA0KTsKKyBhID0gMS4w LygxIDw8IDMpOworIGEgPSAxLjAvKDEgPDwgMik7CisgYSA9IDAuMzEyNTsK KyBhID0gMC4zNzU7CisgYSA9IDAuNDM3NTsKKyBhID0gMC41OworIGEgPSAw LjYyNTsKKyBhID0gMC43NTsKKyBhID0gMC44NzU7CisgYSA9IDEuMDsKKyBh ID0gMS4yNTsKKyBhID0gMS41OworIGEgPSAxLjc1OworIGEgPSAyLjA7Cisg YSA9IDIuNTsKKyBhID0gMy4wOworIGEgPSAxLjAqKDEgPDwgMik7CisgYSA9 IDEuMCooMSA8PCAzKTsKKyBhID0gMS4wKigxIDw8IDQpOworIGEgPSAxLjAq KDEgPDwgNyk7CisgYSA9IDEuMCooMSA8PCA4KTsKKyBhID0gMS4wKigxIDw8 IDE1KTsKKyBhID0gMS4wKigxIDw8IDE2KTsKKyBhID0gX19idWlsdGluX2lu ZiAoKTsKKyBhID0gX19idWlsdGluX25hbiAoIiIpOworfQorCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgImZsaS5zIiAzMiB9IH0g Ki8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiZmxp LmQiIDMyIH0gfSAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3pmYS1mbWlubS1mbWF4bS5jIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1mbWlubS1mbWF4bS5jCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zODY3MjVhOTAzMAot LS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi96ZmEtZm1pbm0tZm1heG0uYwpAQCAtMCwwICsxLDI1IEBACisvKiB7 IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1za2lwLWlmICIiIHsgKi0q LSogfSB7ICIqIiB9IHsgIi1tYXJjaD1ydjY0KiAtTzIiIH0gfSAqLworLyog eyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdfemZhIC1tYWJpPWxwNjRkIiB9 ICovCisKK2V4dGVybiBmbG9hdCBhLCBiOworZXh0ZXJuIGRvdWJsZSBjLCBk OworCit2b2lkCitmb28oZmxvYXQgKngsIGRvdWJsZSAqeSkKK3sKKyB7Cisg KnggPSBfX2J1aWx0aW5fcmlzY3ZfZm1pbm1mKGEsIGIpOworICp5ID0gX19i dWlsdGluX3Jpc2N2X2ZtaW5tKGMsIGQpOworIH0KKworIHsKKyAqeCA9IF9f YnVpbHRpbl9yaXNjdl9mbWF4bWYoYSwgYik7CisgKnkgPSBfX2J1aWx0aW5f cmlzY3ZfZm1heG0oYywgZCk7CisgfQorfQorCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMgImZtaW5tLnMiIDEgfSB9ICovCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgImZtaW5tLmQiIDEg fSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg ImZtYXhtLnMiIDEgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItdGltZXMgImZtYXhtLmQiIDEgfSB9ICovCmRpZmYgLS1naXQgYS9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemZhLWZtb3ZoLWZtb3Zw LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemZhLWZtb3Zo LWZtb3ZwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAuLjkwMDVlNzVkODY4Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1mbW92aC1mbW92cC5jCkBAIC0w LDAgKzEsMTEgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRn LXNraXAtaWYgIiIgeyAqLSotKiB9IHsgIioiIH0geyAiLW1hcmNoPXJ2MzIq IC1PMCIgfSB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjMyZ196 ZmEgLW1hYmk9aWxwMzIiIH0gKi8KKworZG91YmxlIGZvbyhsb25nIGxvbmcg YSkKK3sKKyByZXR1cm4gKGRvdWJsZSkoYSArIDMpOworfQorCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgImZtdnAuZC54IiAxIH0g fSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJm bXZoLnguZCIgMSB9IH0gKi8KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi96ZmEtZnJvdW5kLmMgYi9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvemZhLWZyb3VuZC5jCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lODRhMGJkMTk5OAotLS0gL2Rl di9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi96 ZmEtZnJvdW5kLmMKQEAgLTAsMCArMSwyNSBAQAorLyogeyBkZy1kbyBjb21w aWxlIH0gKi8KKy8qIHsgZGctc2tpcC1pZiAiIiB7ICotKi0qIH0geyAiKiIg fSB7ICItbWFyY2g9cnY2NCogLU8yIiB9IH0gKi8KKy8qIHsgZGctb3B0aW9u cyAiLW1hcmNoPXJ2NjRnX3pmYSAtbWFiaT1scDY0ZCIgfSAqLworCisjaW5j bHVkZSA8bWF0aC5oPgorCitleHRlcm4gZmxvYXQgYTsKK2V4dGVybiBkb3Vi bGUgYjsKKwordm9pZCBmb28gKGZsb2F0ICp4LCBkb3VibGUgKnkpCit7Cisg eworICp4ID0gcm91bmRmIChhKTsKKyAqeSA9IHJvdW5kIChiKTsKKyB9Cisg eworICp4ID0gcmludGYgKGEpOworICp5ID0gcmludCAoYik7CisgfQorfQor CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgImZyb3Vu ZC5zIiAxIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzICJmcm91bmQuZCIgMSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyAiZnJvdW5kbngucyIgMSB9IH0gKi8KKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiZnJvdW5kbngu ZCIgMSB9IH0gKi8KLS0KMi4xNy4xCg== ------=ALIBOUNDARY_128746_7fdaec51e700_63bf8a3b_10639b--