From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out30-130.freemail.mail.aliyun.com (out30-130.freemail.mail.aliyun.com [115.124.30.130]) by sourceware.org (Postfix) with ESMTPS id E0CA538582AC for ; Wed, 10 Jan 2024 02:57:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E0CA538582AC 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 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org E0CA538582AC Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=115.124.30.130 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704855470; cv=none; b=Xlr1QSA7y6ZwyzQty3JQUlg5UDN0KzPuZRLvvXQ0xU0Mo0W9PORq1/bYxlgxmJE2wkecjyNccf7TggqCK7UnWsccj6TXHKTCFi86EvKD4TwTP0bGvhmj5J7O/pjqICn8yjeH/cGdz3e249rtm8/pKAwlXUJfoepiCIyJoCmdM5E= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704855470; c=relaxed/simple; bh=hoJCCWNX+1CSsuOWyYczHpNfLoem1aFL/S+rigJ8XnY=; h=Date:From:To:Message-ID:Subject:MIME-Version; b=R4pdjuRKZAU2a2aG0KKRf3n7AR2X7WCmQ/Gl6tYxFirFLunBCPH0/EyX2N91voFxr4a/CesRZkiqw4rrngVloekbc3vsA11h1U1lPpMv7O72mecpT3YyZyneqhczGqajHnIUMzfzPIXwC+QJaLq4cCWVEIOYuewUz1ZtuUI5onQ= ARC-Authentication-Results: i=1; server2.sourceware.org X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R771e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018046050;MF=cooper.joshua@linux.alibaba.com;NM=1;PH=DW;RN=10;SR=0;TI=W4_0.2.3_v5ForWebDing_21253615_1704855059018_o7001c17; Received: from WS-web (cooper.joshua@linux.alibaba.com[W4_0.2.3_v5ForWebDing_21253615_1704855059018_o7001c17]) at Wed, 10 Jan 2024 10:57:39 +0800 Date: Wed, 10 Jan 2024 10:57:39 +0800 From: "joshua" To: "juzhe.zhong@rivai.ai" , "gcc-patches" Cc: "Jim Wilson" , "palmer" , "andrew" , "philipp.tomsich" , "jeffreyalaw" , "christoph.muellner" , "jinma" , "cooper.qu" Reply-To: "joshua" Message-ID: <634afce7-51d0-4a7b-971f-41b10a2eb95d.cooper.joshua@linux.alibaba.com> Subject: =?UTF-8?B?UmXvvJpbUEFUQ0ggdjVdIFJJU0MtVjogSGFuZGxlIGRpZmZlcmVuY2VzIGJldHdlZW4gWFRo?= =?UTF-8?B?ZWFkdmVjdG9yIGFuZCBWZWN0b3I=?= X-Mailer: [Alimail-Mailagent][W4_0.2.3][v5ForWebDing][Chrome] MIME-Version: 1.0 x-aliyun-im-through: {"mailThroughImNew":true} References: <9EDFD057AFFAE008+202401101034445982346@rivai.ai> x-aliyun-mail-creator: W4_0.2.3_v5ForWebDing_SFRTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyMC4wLjAuMCBTYWZhcmkvNTM3LjM2IEVkZy8xMjAuMC4wLjA=Ch In-Reply-To: <9EDFD057AFFAE008+202401101034445982346@rivai.ai> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-17.9 required=5.0 tests=BAYES_00,BODY_8BITS,ENV_AND_HDR_SPF_MATCH,GIT_PATCH_0,KAM_ASCII_DIVIDERS,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY,URIBL_BLACK,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: SGkgSnV6aGUsClRoYW5rIHlvdSBmb3Igc28gbWFueSB1c2VmdWwgY29tbWVudHMgZm9yIHRoaXMg cGF0Y2ghCgpUaGVyZSBhcmUgc29tZSBtb3JlIHBhdGNoZXMgdG8gc3VwcG9ydCB4dGhlYWR2ZWN0 b3IKc3BlY2lhbCBpbnN0cmluc2ljcyBhcyB3ZWxsIGFzIGhhbmRsZSByZWdpc3RlciBvdmVybGFw IGlzc3VlIGFuZApyZXdyaXRlIGFzc2VtYmx5IG91dHB1dC4KCmh0dHBzOi8vZ2NjLmdudS5vcmcv cGlwZXJtYWlsL2djYy1wYXRjaGVzLzIwMjQtSmFudWFyeS82NDE3NzQuaHRtbAoKaHR0cHM6Ly9n Y2MuZ251Lm9yZy9waXBlcm1haWwvZ2NjLXBhdGNoZXMvMjAyNC1KYW51YXJ5LzY0MTczMi5odG1s CgpodHRwczovL2djYy5nbnUub3JnL3BpcGVybWFpbC9nY2MtcGF0Y2hlcy8yMDI0LUphbnVhcnkv NjQxNzMzLmh0bWwKCkFsc28sIHRoZXJlIGlzIGEgcHJlY2VkZW50IHBhdGNoIHRvIHJlZmFjdG9y IHJpc2N2LXZlY3Rvci1idWlsdGlucy1iYXNlcy5jYwpodHRwczovL2djYy5nbnUub3JnL3BpcGVy bWFpbC9nY2MtcGF0Y2hlcy8yMDIzLURlY2VtYmVyLzY0MTUzMC5odG1sCkplZmYgaGFzIHJldmll d2VkIGl0LCBidXQgZGlkbid0IGhhdmUgTEdUTSB5ZXQuCgpKb3NodWEKCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQrlj5Hk u7bkurrvvJpqdXpoZS56aG9uZ0ByaXZhaS5haSA8anV6aGUuemhvbmdAcml2YWkuYWk+CuWPkemA geaXtumXtO+8mjIwMjTlubQx5pyIMTDml6Uo5pif5pyf5LiJKSAxMDozNArmlLbku7bkurrvvJoi Y29vcGVyLmpvc2h1YSI8Y29vcGVyLmpvc2h1YUBsaW51eC5hbGliYWJhLmNvbT47ICJnY2MtcGF0 Y2hlcyI8Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc+CuaKhOOAgOmAge+8mkppbSBXaWxzb248amlt LndpbHNvbi5nY2NAZ21haWwuY29tPjsgcGFsbWVyPHBhbG1lckBkYWJiZWx0LmNvbT47IGFuZHJl dzxhbmRyZXdAc2lmaXZlLmNvbT47ICJwaGlsaXBwLnRvbXNpY2giPHBoaWxpcHAudG9tc2ljaEB2 cnVsbC5ldT47IGplZmZyZXlhbGF3PGplZmZyZXlhbGF3QGdtYWlsLmNvbT47ICJjaHJpc3RvcGgu bXVlbGxuZXIiPGNocmlzdG9waC5tdWVsbG5lckB2cnVsbC5ldT47ICJjb29wZXIuam9zaHVhIjxj b29wZXIuam9zaHVhQGxpbnV4LmFsaWJhYmEuY29tPjsgamlubWE8amlubWFAbGludXguYWxpYmFi YS5jb20+OyAiY29vcGVyLnF1Ijxjb29wZXIucXVAbGludXguYWxpYmFiYS5jb20+CuS4u+OAgOmi mO+8mlJlOiBbUEFUQ0ggdjVdIFJJU0MtVjogSGFuZGxlIGRpZmZlcmVuY2VzIGJldHdlZW4gWFRo ZWFkdmVjdG9yIGFuZCBWZWN0b3IKCgpUaGFua3MgZm9yIHlvdXIgcGF0aWVuY2UuCgoKTEdUTSBm cm9tIG15c2lkZS4KCgpJIHRoaW5rIGl0J3MgcHJldHR5IGNsZWFuIG5vdy4gSSBjYW4gaW1hZ2Ug aW4gdGhlIGZ1dHVyZSB3aGVuIHNvbWUgZGF5IHRoZSB0aGVhZHZlY3RvciBpcyBubyBsb25nZXIg dXNlZCwgd2UgY2FuIHJlbW92ZSBpdCB2ZXJ5IGVhc2lseS4KCgpBbmQgYWxzbywgwqB0aGUgdGhl YWR2ZWN0b3Igd29uJ3QgYWZmZWN0IG91ciBSVlYxLjAgbWFpbnRhaW4gc2luY2UgaXQncyBpc29s YXRlZCBjbGVhbmx5LsKgCgoKQnV0IEknZCBsaWtlIHRvIHdhaXQgZm9yIGEgZmV3IG1vcmUgZGF5 cyBzb21lIGJvZHkgd2FudCB0byBjaGltZSBpbi4KCgpBbmQgeW91IHNob3VsZCBkbyBtb3JlIHRo aW5ncyBiZWZvcmUgY29tbWl0IGl0OgoxLiBSZW1lbWJlciB5b3Ugc2hvdWxkIHJ1biB0aGUgZnVs bCBjb3ZlcmFnZSBSVlYxLjAgQVBJIHRlc3QsIHRoZSB0ZXN0LWdlbmVyYXRvciBpcyBkb3dubG9h ZGVkIGZyb20gb2ZmaWNpYWwgaW50cmluc2ljIGRvYzoKaHR0cHM6Ly9naXRodWIuY29tL3Jpc2N2 LW5vbi1pc2EvcnZ2LWludHJpbnNpYy1kb2PCoAoKCjIuIEFsc28gdGhlIHJlZ3Jlc3Npb24gb2Yg UlYzMiBhbiBSVjY0IG9mIEdDQyB0ZXN0c3VpdGUuCgoKRG8geW91IGhhdmUgbW9yZSBwYXRjaGVz IG9mIHRoZWFkdmVjdG9yIHRoYXQgSSBkaWRuJ3QgcmV2aWV3ID8gcGx6IHBvaW50IHRoZW0gdG8g bWUgYWdhaW4uCgoKVGhhbmtzLgpqdXpoZS56aG9uZ0ByaXZhaS5haQoKwqAKRnJvbTrCoEp1biBT aGEgKEpvc2h1YSkKRGF0ZTrCoDIwMjQtMDEtMTDCoDEwOjIyClRvOsKgZ2NjLXBhdGNoZXMKQ0M6 wqBqaW0ud2lsc29uLmdjYzsgcGFsbWVyOyBhbmRyZXc7IHBoaWxpcHAudG9tc2ljaDsgamVmZnJl eWFsYXc7IGNocmlzdG9waC5tdWVsbG5lcjsganV6aGUuemhvbmc7IEp1biBTaGEgKEpvc2h1YSk7 IEppbiBNYTsgWGlhbm1pYW8gUXUKU3ViamVjdDrCoFtQQVRDSCB2NV0gUklTQy1WOiBIYW5kbGUg ZGlmZmVyZW5jZXMgYmV0d2VlbiBYVGhlYWR2ZWN0b3IgYW5kIFZlY3RvcgoKVGhpcyBwYXRjaCBp cyB0byBoYW5kbGUgdGhlIGRpZmZlcmVuY2VzIGluIGluc3RydWN0aW9uIGdlbmVyYXRpb24KYmV0 d2VlbiBWZWN0b3IgYW5kIFhUaGVhZFZlY3Rvci4gSW4gdGhpcyB2ZXJzaW9uLCB3ZSBvbmx5IHN1 cHBvcnQKcGFydGlhbCB4dGhlYWR2ZWN0b3IgaW5zdHJ1Y3Rpb25zIHRoYXQgbGV2ZXJhZ2UgZGly ZWN0bHkgZnJvbSBjdXJyZW50ClJWVjEuMCB3aXRoIHNpbXBsZSBhZGRpbmcgInRoLiIgcHJlZml4 LiBGb3IgZGlmZmVyZW50IG5hbWUgeHRoZWFkdmVjdG9yCmluc3RydWN0aW9ucyBidXQgc2hhcmUg c2FtZSBwYXR0ZXJucyBhcyBSVlYxLjAgaW5zdHJ1Y3Rpb25zLCB3ZSB3aWxsCnVzZSBBU00gdGFy Z2V0aG9vayB0byByZXdyaXRlIHRoZSB3aG9sZSBzdHJpbmcgb2YgdGhlIGluc3RydWN0aW9ucyBp bgp0aGUgZm9sbG93aW5nIHBhdGNoZXMuIArCoApGb3Igc29tZSB2ZWN0b3IgcGF0dGVybnMgdGhh dCBjYW5ub3QgYmUgYXZvaWRlZCwgd2UgdXNlCiIhVEFSR0VUX1hUSEVBRFZFQ1RPUiIgdG8gZGlz YWJsZSB0aGVtIGluIHZlY3Rvci5tZCBpbiBvcmRlcgpub3QgdG8gZ2VuZXJhdGUgaW5zdHJ1Y3Rp b25zIHRoYXQgeHRoZWFkdmVjdG9yIGRvZXMgbm90IHN1cHBvcnQsCmxpa2Ugdm12MXIgYW5kIHZz ZXh0LnZmMi4KwqAKZ2NjL0NoYW5nZUxvZzoKwqAKCSogY29uZmlnLmdjYzrCoCBBZGQgZmlsZXMg Zm9yIFhUaGVhZFZlY3RvciBpbnRyaW5zaWNzLgoJKiBjb25maWcvcmlzY3YvYXV0b3ZlYy5tZDog R3VhcmQgWFRoZWFkVmVjdG9yLgoJKiBjb25maWcvcmlzY3YvcmlzY3YtYy5jYzogQWRkIHByYWdt YSBmb3IgWFRoZWFkVmVjdG9yLgoJKiBjb25maWcvcmlzY3YvcmlzY3Ytc3RyaW5nLmNjIChleHBh bmRfYmxvY2tfbW92ZSk6CglHdWFyZCBYVGhlYWRWZWN0b3IuCgkqIGNvbmZpZy9yaXNjdi9yaXNj di1zdHJpbmcuY2MgKHZsc19tb2RlX3ZhbGlkX3ApOiAKCUF2b2lkIGF1dG92ZWMuCgkqIGNvbmZp Zy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMtc2hhcGVzLmNjIChjaGVja190eXBlKToKCShi dWlsZF9vbmUpOiBOZXcgZnVuY3Rpb24uCgkqIGNvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVp bHRpbnMuY2MgKERFRl9SVlZfRlVOQ1RJT04pOgoJKERFRl9USEVBRF9SVlZfRlVOQ1RJT04pOiBB ZGQgbmV3IG1hcmNvcy4KCShjaGVja19yZXF1aXJlZF9leHRlbnNpb25zKToKCShoYW5kbGVfcHJh Z21hX3ZlY3Rvcik6CgkqIGNvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMuaCAoUlZW X1JFUVVJUkVfVkVDVE9SKToKCShSVlZfUkVRVUlSRV9YVEhFQURWRUNUT1IpOgoJQWRkIFJWVl9S RVFVSVJFX1ZFQ1RPUiBhbmQgUlZWX1JFUVVJUkVfWFRIRUFEVkVDVE9SLgoJKHN0cnVjdCBmdW5j dGlvbl9ncm91cF9pbmZvKToKCSogY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1zd2l0Y2guZGVm IChFTlRSWSk6CglEaXNhYmxlIGZyYWN0aW9uYWwgbW9kZSBmb3IgdGhlIFhUaGVhZFZlY3RvciBl eHRlbnNpb24uCgkoVFVQTEVfRU5UUlkpOiBMaWtld2lzZS4KCSogY29uZmlnL3Jpc2N2L3Jpc2N2 LXZzZXR2bC5jYzogQWRkIGZ1bmN0aW9ucyBmb3IgeHRoZWFkdmVjdG9yLgoJKiBjb25maWcvcmlz Y3YvcmlzY3YuY2MgKHJpc2N2X3ZfZXh0X3Zsc19tb2RlX3ApOgoJR3VhcmQgWFRoZWFkVmVjdG9y LgoJKHJpc2N2X3ZfYWRqdXN0X2J5dGVzaXplKTogTGlrZXdpc2UuCgkocmlzY3ZfcHJlZmVycmVk X3NpbWRfbW9kZSk6IExpa2V3c2llLgoJKHJpc2N2X2F1dG92ZWN0b3JpemVfdmVjdG9yX21vZGVz KTogTGlrZXdpc2UuCgkocmlzY3ZfdmVjdG9yX21vZGVfc3VwcG9ydGVkX2FueV90YXJnZXRfcCk6 IExpa2V3aXNlLgoJKFRBUkdFVF9WRUNUT1JfTU9ERV9TVVBQT1JURURfQU5ZX1RBUkdFVF9QKTog TGlrZXdpc2UuCgkqIGNvbmZpZy9yaXNjdi92ZWN0b3IubWQ6IEluY2x1ZGUgdGhlYWQtdmVjdG9y Lm1kLgoJKiBjb25maWcvcmlzY3YvcmlzY3ZfdGhfdmVjdG9yLmg6IE5ldyBmaWxlLgoJKiBjb25m aWcvcmlzY3YvdGhlYWQtdmVjdG9yLm1kOiBOZXcgZmlsZS4KwqAKZ2NjL3Rlc3RzdWl0ZS9DaGFu Z2VMb2c6CsKgCgkqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHJhZ21hLTEuYzogQWRkIFhU aGVhZFZlY3Rvci4KCSogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9hYmktMS5jOiBFeGNsdWRl IFhUaGVhZFZlY3Rvci4KCSogbGliL3RhcmdldC1zdXBwb3J0cy5leHA6IEFkZCB0YXJnZXQgZm9y IFhUaGVhZFZlY3Rvci4KwqAKQ28tYXV0aG9yZWQtYnk6IEppbiBNYSA8amlubWFAbGludXguYWxp YmFiYS5jb20+CkNvLWF1dGhvcmVkLWJ5OiBYaWFubWlhbyBRdSA8Y29vcGVyLnF1QGxpbnV4LmFs aWJhYmEuY29tPgpDby1hdXRob3JlZC1ieTogQ2hyaXN0b3BoIE3DvGxsbmVyIDxjaHJpc3RvcGgu bXVlbGxuZXJAdnJ1bGwuZXU+Ci0tLQogZ2NjL2NvbmZpZy5nY2PCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCAyICstCiBn Y2MvY29uZmlnL3Jpc2N2L2F1dG92ZWMubWTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfMKgwqAgMiArLQogZ2NjL2NvbmZpZy9yaXNjdi9wcmVkaWNhdGVzLm1kwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDQgKy0KIGdjYy9jb25maWcvcmlzY3YvcmlzY3Yt Yy5jY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCAzICstCiBnY2Mv Y29uZmlnL3Jpc2N2L3Jpc2N2LXN0cmluZy5jY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzC oMKgIDMgKy0KIGdjYy9jb25maWcvcmlzY3YvcmlzY3Ytdi5jY8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8wqDCoCAyICstCiAuLi4vcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0 aW5zLWJhc2VzLmNjwqDCoMKgwqDCoCB8wqAgNDggKysrKy0tCiAuLi4vcmlzY3YvcmlzY3YtdmVj dG9yLWJ1aWx0aW5zLXNoYXBlcy5jY8KgwqDCoMKgIHzCoCAyMyArKysKIGdjYy9jb25maWcvcmlz Y3YvcmlzY3YtdmVjdG9yLXN3aXRjaC5kZWbCoMKgwqDCoMKgIHwgMTUwICsrKysrKysrKy0tLS0t LS0tLQogZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5jY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfMKgIDIwICsrLQogZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdl90aF92ZWN0 b3IuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDQ5ICsrKysrKwogZ2NjL2NvbmZpZy9yaXNj di90aGVhZC12ZWN0b3IubWTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDEwMiArKysrKysr KysrKysKIGdjYy9jb25maWcvcmlzY3YvdGhlYWQuY2PCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHzCoCAyMyArKy0KIGdjYy9jb25maWcvcmlzY3YvdmVjdG9yLm1kwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDQ5ICsrKystLQogLi4uL2dj Yy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvYWJpLTEuY8KgwqDCoMKgwqDCoMKgwqAgfMKgwqAgMiAr LQogLi4uL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHJhZ21hLTEuY8KgwqDCoMKgwqAgfMKg wqAgMiArLQogZ2NjL3Rlc3RzdWl0ZS9saWIvdGFyZ2V0LXN1cHBvcnRzLmV4cMKgwqDCoMKgwqDC oMKgwqAgfMKgIDEyICsrCiAxNyBmaWxlcyBjaGFuZ2VkLCAzODMgaW5zZXJ0aW9ucygrKSwgMTEz IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy9jb25maWcvcmlzY3YvcmlzY3Zf dGhfdmVjdG9yLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvY29uZmlnL3Jpc2N2L3RoZWFkLXZl Y3Rvci5tZArCoApkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy5nY2MgYi9nY2MvY29uZmlnLmdjYwpp bmRleCA3ZTU4MzM5MDAyNC4uMDQ3ZTRjMDJjZjQgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcuZ2Nj CisrKyBiL2djYy9jb25maWcuZ2NjCkBAIC01NDksNyArNTQ5LDcgQEAgcmlzY3YqKQogCWV4dHJh X29ianM9IiR7ZXh0cmFfb2Jqc30gcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLm8gcmlzY3YtdmVjdG9y LWJ1aWx0aW5zLXNoYXBlcy5vIHJpc2N2LXZlY3Rvci1idWlsdGlucy1iYXNlcy5vIgogCWV4dHJh X29ianM9IiR7ZXh0cmFfb2Jqc30gdGhlYWQubyByaXNjdi10YXJnZXQtYXR0ci5vIgogCWRfdGFy Z2V0X29ianM9InJpc2N2LWQubyIKLQlleHRyYV9oZWFkZXJzPSJyaXNjdl92ZWN0b3IuaCIKKwll eHRyYV9oZWFkZXJzPSJyaXNjdl92ZWN0b3IuaCByaXNjdl90aF92ZWN0b3IuaCIKIAl0YXJnZXRf Z3RmaWxlcz0iJHRhcmdldF9ndGZpbGVzIFwkKHNyY2RpcikvY29uZmlnL3Jpc2N2L3Jpc2N2LXZl Y3Rvci1idWlsdGlucy5jYyIKIAl0YXJnZXRfZ3RmaWxlcz0iJHRhcmdldF9ndGZpbGVzIFwkKHNy Y2RpcikvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy5oIgogCTs7CmRpZmYgLS1n aXQgYS9nY2MvY29uZmlnL3Jpc2N2L2F1dG92ZWMubWQgYi9nY2MvY29uZmlnL3Jpc2N2L2F1dG92 ZWMubWQKaW5kZXggNzc1ZWFhODI1YjAuLjA0Nzc3ODFjYWJlIDEwMDY0NAotLS0gYS9nY2MvY29u ZmlnL3Jpc2N2L2F1dG92ZWMubWQKKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9hdXRvdmVjLm1kCkBA IC0yNTc5LDcgKzI1NzksNyBAQArCoMKgIFsobWF0Y2hfb3BlcmFuZMKgwqDCoMKgwqAgMCAicmVn aXN0ZXJfb3BlcmFuZCIpCsKgwqDCoCAobWF0Y2hfb3BlcmFuZMKgwqDCoMKgwqAgMSAibWVtb3J5 X29wZXJhbmQiKQrCoMKgwqAgKG1hdGNoX29wZXJhbmQ6QU5ZSSAyICJjb25zdF9pbnRfb3BlcmFu ZCIpXQotwqAgIlRBUkdFVF9WRUNUT1IiCivCoCAiVEFSR0VUX1ZFQ1RPUiAmJiAhVEFSR0VUX1hU SEVBRFZFQ1RPUiIKwqDCoCB7CsKgwqDCoMKgIHJpc2N2X3ZlY3Rvcjo6ZXhwYW5kX3Jhd21lbWNo cig8TU9ERT5tb2RlLCBvcGVyYW5kc1swXSwgb3BlcmFuZHNbMV0sCiAJCQkJwqDCoCBvcGVyYW5k c1syXSk7CmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3ByZWRpY2F0ZXMubWQgYi9nY2Mv Y29uZmlnL3Jpc2N2L3ByZWRpY2F0ZXMubWQKaW5kZXggYjFhNzljYWU1MGEuLjAzMzdkYTg4Mjg0 IDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3ByZWRpY2F0ZXMubWQKKysrIGIvZ2NjL2Nv bmZpZy9yaXNjdi9wcmVkaWNhdGVzLm1kCkBAIC00MjgsNyArNDI4LDkgQEAKIDs7IFByZWRpY2F0 ZXMgZm9yIHRoZSBWIGV4dGVuc2lvbi4KIChkZWZpbmVfc3BlY2lhbF9wcmVkaWNhdGUgInZlY3Rv cl9sZW5ndGhfb3BlcmFuZCIKwqDCoCAoaW9yIChtYXRjaF9vcGVyYW5kIDAgInBtb2RlX3JlZ2lz dGVyX29wZXJhbmQiKQotwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDAgImNvbnN0X2Nzcl9v cGVyYW5kIikpKQorwqDCoMKgwqDCoMKgIChhbmQgKGlvciAobWF0Y2hfdGVzdCAiVEFSR0VUX1hU SEVBRFZFQ1RPUiAmJiBydHhfZXF1YWxfcCAob3AsIGNvbnN0MF9ydHgpIikKKwkJIChtYXRjaF90 ZXN0ICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiIpKQorwqDCoMKgIChtYXRjaF9vcGVyYW5kIDAgImNv bnN0X2Nzcl9vcGVyYW5kIikpKSkKIAogKGRlZmluZV9zcGVjaWFsX3ByZWRpY2F0ZSAiYXV0b3Zl Y19sZW5ndGhfb3BlcmFuZCIKwqDCoCAoaW9yIChtYXRjaF9vcGVyYW5kIDAgInBtb2RlX3JlZ2lz dGVyX29wZXJhbmQiKQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1jLmNjIGIv Z2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1jLmNjCmluZGV4IDQyMmRkYzJjMzA4Li4yZTMwNjA1NzM0 NyAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1jLmNjCisrKyBiL2djYy9jb25m aWcvcmlzY3YvcmlzY3YtYy5jYwpAQCAtMTk1LDcgKzE5NSw4IEBAIHJpc2N2X3ByYWdtYV9pbnRy aW5zaWMgKGNwcF9yZWFkZXIgKikKIArCoMKgIGNvbnN0IGNoYXIgKm5hbWUgPSBUUkVFX1NUUklO R19QT0lOVEVSICh4KTsKIAotwqAgaWYgKHN0cmNtcCAobmFtZSwgInZlY3RvciIpID09IDApCivC oCBpZiAoc3RyY21wIChuYW1lLCAidmVjdG9yIikgPT0gMAorwqDCoMKgwqDCoCB8fCBzdHJjbXAg KG5hbWUsICJ4dGhlYWR2ZWN0b3IiKSA9PSAwKQrCoMKgwqDCoCB7CsKgwqDCoMKgwqDCoCBpZiAo IVRBUkdFVF9WRUNUT1IpCiAJewpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1z dHJpbmcuY2MgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXN0cmluZy5jYwppbmRleCBmMjI3Yjg2 NjdjZS4uYjA5YjUxZDc1MjYgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3Ytc3Ry aW5nLmNjCisrKyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3Ytc3RyaW5nLmNjCkBAIC03NzMsNyAr NzczLDggQEAgcmlzY3ZfZXhwYW5kX2Jsb2NrX21vdmVfc2NhbGFyIChydHggZGVzdCwgcnR4IHNy YywgcnR4IGxlbmd0aCkKIGJvb2wKIHJpc2N2X2V4cGFuZF9ibG9ja19tb3ZlIChydHggZGVzdCwg cnR4IHNyYywgcnR4IGxlbmd0aCkKIHsKLcKgIGlmIChUQVJHRVRfVkVDVE9SICYmIHN0cmluZ29w X3N0cmF0ZWd5ICYgU1RSQVRFR1lfVkVDVE9SKQorwqAgaWYgKChUQVJHRVRfVkVDVE9SICYmICFU QVJHRVRfWFRIRUFEVkVDVE9SKQorwqDCoMKgwqDCoCAmJiBzdHJpbmdvcF9zdHJhdGVneSAmIFNU UkFURUdZX1ZFQ1RPUikKwqDCoMKgwqAgewrCoMKgwqDCoMKgwqAgYm9vbCBvayA9IHJpc2N2X3Zl Y3Rvcjo6ZXhwYW5kX2Jsb2NrX21vdmUgKGRlc3QsIHNyYywgbGVuZ3RoKTsKwqDCoMKgwqDCoMKg IGlmIChvaykKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvcmlzY3Ytdi5jYyBiL2djYy9j b25maWcvcmlzY3YvcmlzY3Ytdi5jYwppbmRleCAyNDkxNTIyMTkxYS4uN2UyNWRlYjk2NmQgMTAw NjQ0Ci0tLSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3Ytdi5jYworKysgYi9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LXYuY2MKQEAgLTQzOTIsNyArNDM5Miw3IEBAIGNtcF9sbXVsX2d0X29uZSAobWFj aGluZV9tb2RlIG1vZGUpCiBib29sCiB2bHNfbW9kZV92YWxpZF9wIChtYWNoaW5lX21vZGUgdmxz X21vZGUpCiB7Ci3CoCBpZiAoIVRBUkdFVF9WRUNUT1IpCivCoCBpZiAoIVRBUkdFVF9WRUNUT1Ig fHwgVEFSR0VUX1hUSEVBRFZFQ1RPUikKwqDCoMKgwqAgcmV0dXJuIGZhbHNlOwogCsKgwqAgaWYg KHJpc2N2X2F1dG92ZWNfcHJlZmVyZW5jZSA9PSBSVlZfU0NBTEFCTEUpCmRpZmYgLS1naXQgYS9n Y2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy1iYXNlcy5jYyBiL2djYy9jb25m aWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLWJhc2VzLmNjCmluZGV4IDkxYWYyYzAwNjc0 Li40NmYxYTFkYTMzZSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3It YnVpbHRpbnMtYmFzZXMuY2MKKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVp bHRpbnMtYmFzZXMuY2MKQEAgLTExNSwyMyArMTE1LDM3IEBAIHB1YmxpYzoKIArCoMKgwqDCoCB0 cmVlIHR5cGUgPSBidWlsdGluX3R5cGVzW2UudHlwZS5pbmRleF0udmVjdG9yOwrCoMKgwqDCoCBt YWNoaW5lX21vZGUgbW9kZSA9IFRZUEVfTU9ERSAodHlwZSk7Ci3CoMKgwqAgLyogTm9ybWFsaXpl IHNhbWUgUkFUTyAoU0VXL0xNVUwpIGludG8gc2FtZSB2c2V0dmwgaW5zdHJ1Y3Rpb24uCi0KLQkg LSBlOCxtZjgvZTE2LG1mNC9lMzIsbWYyL2U2NCxtMSAtLT4gZThtZjgKLQkgLSBlOCxtZjQvZTE2 LG1mMi9lMzIsbTEvZTY0LG0ywqAgLS0+IGU4bWY0Ci0JIC0gZTgsbWYyL2UxNixtMS9lMzIsbTIv ZTY0LG00wqDCoCAtLT4gZThtZjIKLQkgLSBlOCxtMS9lMTYsbTIvZTMyLG00L2U2NCxtOMKgwqDC oCAtLT4gZThtMQotCSAtIGU4LG0yL2UxNixtNC9lMzIsbTjCoMKgwqDCoMKgwqDCoMKgwqDCoCAt LT4gZThtMgotCSAtIGU4LG00L2UxNixtOMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgLS0+IGU4bTQKLQkgLSBlOCxtOMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAtLT4gZThtOAotwqDCoMKgICovCi3CoMKgwqAgLyogU0VXLsKgICovCi3C oMKgwqAgZS5hZGRfaW5wdXRfb3BlcmFuZCAoUG1vZGUsIGdlbl9pbnRfbW9kZSAoOCwgUG1vZGUp KTsKLQotwqDCoMKgIC8qIExNVUwuwqAgKi8KLcKgwqDCoCBtYWNoaW5lX21vZGUgZThfbW9kZQot wqDCoMKgwqDCoCA9IGdldF92ZWN0b3JfbW9kZSAoUUltb2RlLCBHRVRfTU9ERV9OVU5JVFMgKG1v ZGUpKS5yZXF1aXJlICgpOwotwqDCoMKgIGUuYWRkX2lucHV0X29wZXJhbmQgKFBtb2RlLCBnZW5f aW50X21vZGUgKGdldF92bG11bCAoZThfbW9kZSksIFBtb2RlKSk7CisKK8KgwqDCoCBpZiAoVEFS R0VUX1hUSEVBRFZFQ1RPUikKK8KgwqDCoMKgwqAgeworCW1hY2hpbmVfbW9kZSBpbm5lcl9tb2Rl ID0gR0VUX01PREVfSU5ORVIgKG1vZGUpOworCS8qIFNFVy7CoCAqLworCWUuYWRkX2lucHV0X29w ZXJhbmQgKFBtb2RlLAorCcKgIGdlbl9pbnRfbW9kZSAoR0VUX01PREVfQklUU0laRSAoaW5uZXJf bW9kZSksIFBtb2RlKSk7CisJLyogTE1VTC7CoCAqLworCWUuYWRkX2lucHV0X29wZXJhbmQgKFBt b2RlLAorCcKgIGdlbl9pbnRfbW9kZSAoZ2V0X3ZsbXVsIChtb2RlKSwgUG1vZGUpKTsKK8KgwqDC oMKgwqAgfQorwqDCoMKgIGVsc2UKK8KgwqDCoMKgwqAgeworCS8qIE5vcm1hbGl6ZSBzYW1lIFJB VE8gKFNFVy9MTVVMKSBpbnRvIHNhbWUgdnNldHZsIGluc3RydWN0aW9uLgorCisJwqDCoMKgwqAg LSBlOCxtZjgvZTE2LG1mNC9lMzIsbWYyL2U2NCxtMSAtLT4gZThtZjgKKwnCoMKgwqDCoCAtIGU4 LG1mNC9lMTYsbWYyL2UzMixtMS9lNjQsbTLCoCAtLT4gZThtZjQKKwnCoMKgwqDCoCAtIGU4LG1m Mi9lMTYsbTEvZTMyLG0yL2U2NCxtNMKgwqAgLS0+IGU4bWYyCisJwqDCoMKgwqAgLSBlOCxtMS9l MTYsbTIvZTMyLG00L2U2NCxtOMKgwqDCoCAtLT4gZThtMQorCcKgwqDCoMKgIC0gZTgsbTIvZTE2 LG00L2UzMixtOMKgwqDCoMKgwqDCoMKgwqDCoMKgIC0tPiBlOG0yCisJwqDCoMKgwqAgLSBlOCxt NC9lMTYsbTjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC0tPiBlOG00CisJwqDC oMKgwqAgLSBlOCxtOMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAtLT4gZThtOAorCSovCisJLyogU0VXLsKgICovCisJZS5hZGRfaW5wdXRfb3BlcmFuZCAo UG1vZGUsIGdlbl9pbnRfbW9kZSAoOCwgUG1vZGUpKTsKKworCS8qIExNVUwuwqAgKi8KKwltYWNo aW5lX21vZGUgZThfbW9kZQorCcKgID0gZ2V0X3ZlY3Rvcl9tb2RlIChRSW1vZGUsIEdFVF9NT0RF X05VTklUUyAobW9kZSkpLnJlcXVpcmUgKCk7CisJZS5hZGRfaW5wdXRfb3BlcmFuZCAoUG1vZGUs IGdlbl9pbnRfbW9kZSAoZ2V0X3ZsbXVsIChlOF9tb2RlKSwgUG1vZGUpKTsKK8KgwqDCoMKgwqAg fQogCsKgwqDCoMKgIC8qIFRBSUxfQU5ZLsKgICovCsKgwqDCoMKgIGUuYWRkX2lucHV0X29wZXJh bmQgKFBtb2RlLApkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVp bHRpbnMtc2hhcGVzLmNjIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMt c2hhcGVzLmNjCmluZGV4IGVlODA1OGRjZGIxLi4xZTRmNGQ1M2RlNiAxMDA2NDQKLS0tIGEvZ2Nj L2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMtc2hhcGVzLmNjCisrKyBiL2djYy9j b25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLXNoYXBlcy5jYwpAQCAtMzMsNiArMzMs MjUgQEAKIAogbmFtZXNwYWNlIHJpc2N2X3ZlY3RvciB7CiAKKy8qIENoZWNrIHdoZXRoZXIgdGhl IFJFVFVSTl9UWVBFIGFuZCBBUkdVTUVOVF9UWVBFUyBhcmUKK8KgwqAgdmFsaWQgZm9yIHRoZSBm dW5jdGlvbi7CoCAqLworCitzdGF0aWMgYm9vbAorY2hlY2tfdHlwZSAodHJlZSByZXR1cm5fdHlw ZSwgdmVjPHRyZWU+ICZhcmd1bWVudF90eXBlcykKK3sKK8KgIHRyZWUgYXJnOworwqAgdW5zaWdu ZWQgaTsKKworwqAgaWYgKCFyZXR1cm5fdHlwZSkKK8KgwqDCoCByZXR1cm4gZmFsc2U7CisKK8Kg IEZPUl9FQUNIX1ZFQ19FTFQgKGFyZ3VtZW50X3R5cGVzLCBpLCBhcmcpCivCoMKgwqAgaWYgKCFh cmcpCivCoMKgwqDCoMKgIHJldHVybiBmYWxzZTsKKworwqAgcmV0dXJuIHRydWU7Cit9CisKIC8q IEFkZCBvbmUgZnVuY3Rpb24gaW5zdGFuY2UgZm9yIEdST1VQLCB1c2luZyBvcGVyYW5kIHN1ZmZp eCBhdCBpbmRleCBPSSwKwqDCoMKgIG1vZGUgc3VmZml4IGF0IGluZGV4IFBBSVIgJiYgYmkgYW5k IHByZWRpY2F0aW9uIHN1ZmZpeCBhdCBpbmRleCBwcmVkX2lkeC7CoCAqLwogc3RhdGljIHZvaWQK QEAgLTQ5LDYgKzY4LDEwIEBAIGJ1aWxkX29uZSAoZnVuY3Rpb25fYnVpbGRlciAmYiwgY29uc3Qg ZnVuY3Rpb25fZ3JvdXBfaW5mbyAmZ3JvdXAsCsKgwqDCoMKgIGdyb3VwLm9wc19pbmZvcy50eXBl c1t2ZWNfdHlwZV9pZHhdLmluZGV4KTsKwqDCoCBiLmFsbG9jYXRlX2FyZ3VtZW50X3R5cGVzIChm dW5jdGlvbl9pbnN0YW5jZSwgYXJndW1lbnRfdHlwZXMpOwrCoMKgIGIuYXBwbHlfcHJlZGljYXRp b24gKGZ1bmN0aW9uX2luc3RhbmNlLCByZXR1cm5fdHlwZSwgYXJndW1lbnRfdHlwZXMpOworCivC oCBpZiAoVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiAhY2hlY2tfdHlwZSAocmV0dXJuX3R5cGUsIGFy Z3VtZW50X3R5cGVzKSkKK8KgwqDCoCByZXR1cm47CisKwqDCoCBiLmFkZF9vdmVybG9hZGVkX2Z1 bmN0aW9uIChmdW5jdGlvbl9pbnN0YW5jZSwgKmdyb3VwLnNoYXBlKTsKwqDCoCBiLmFkZF91bmlx dWVfZnVuY3Rpb24gKGZ1bmN0aW9uX2luc3RhbmNlLCAoKmdyb3VwLnNoYXBlKSwgcmV0dXJuX3R5 cGUsCiAJCQkgYXJndW1lbnRfdHlwZXMpOwpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9y aXNjdi12ZWN0b3Itc3dpdGNoLmRlZiBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLXN3 aXRjaC5kZWYKaW5kZXggMWFkMjZjMmEzYjIuLjQ1MjI4M2I3NDE2IDEwMDY0NAotLS0gYS9nY2Mv Y29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1zd2l0Y2guZGVmCisrKyBiL2djYy9jb25maWcvcmlz Y3YvcmlzY3YtdmVjdG9yLXN3aXRjaC5kZWYKQEAgLTY4LDkgKzY4LDkgQEAgRW5jb2RlIHRoZSBy YXRpbyBvZiBTRVcvTE1VTCBpbnRvIHRoZSBtYXNrIHR5cGVzLgogI2VuZGlmCiAKIC8qIERpc2Fi bGUgbW9kZXMgaWYgVEFSR0VUX01JTl9WTEVOID09IDMyLsKgICovCi1FTlRSWSAoUlZWTUY2NEJJ LCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgTE1VTF9GOCwgNjQpCi1FTlRSWSAoUlZWTUYzMkJJLCB0 cnVlLCBMTVVMX0Y0LCAzMikKLUVOVFJZIChSVlZNRjE2QkksIHRydWUsIExNVUxfRjIsIDE2KQor RU5UUlkgKFJWVk1GNjRCSSwgVEFSR0VUX01JTl9WTEVOID4gMzIsIFRBUkdFVF9YVEhFQURWRUNU T1IgPyBMTVVMXzEgOkxNVUxfRjgsIDY0KQorRU5UUlkgKFJWVk1GMzJCSSwgdHJ1ZSwgVEFSR0VU X1hUSEVBRFZFQ1RPUiA/IExNVUxfMSA6TE1VTF9GNCwgMzIpCitFTlRSWSAoUlZWTUYxNkJJLCB0 cnVlLCBUQVJHRVRfWFRIRUFEVkVDVE9SID8gTE1VTF8xIDogTE1VTF9GMiAsIDE2KQogRU5UUlkg KFJWVk1GOEJJLCB0cnVlLCBMTVVMXzEsIDgpCiBFTlRSWSAoUlZWTUY0QkksIHRydWUsIExNVUxf MiwgNCkKIEVOVFJZIChSVlZNRjJCSSwgdHJ1ZSwgTE1VTF80LCAyKQpAQCAtODEsMzkgKzgxLDM5 IEBAIEVOVFJZIChSVlZNOFFJLCB0cnVlLCBMTVVMXzgsIDEpCiBFTlRSWSAoUlZWTTRRSSwgdHJ1 ZSwgTE1VTF80LCAyKQogRU5UUlkgKFJWVk0yUUksIHRydWUsIExNVUxfMiwgNCkKIEVOVFJZIChS VlZNMVFJLCB0cnVlLCBMTVVMXzEsIDgpCi1FTlRSWSAoUlZWTUYyUUksIHRydWUsIExNVUxfRjIs IDE2KQotRU5UUlkgKFJWVk1GNFFJLCB0cnVlLCBMTVVMX0Y0LCAzMikKLUVOVFJZIChSVlZNRjhR SSwgVEFSR0VUX01JTl9WTEVOID4gMzIsIExNVUxfRjgsIDY0KQorRU5UUlkgKFJWVk1GMlFJLCAh VEFSR0VUX1hUSEVBRFZFQ1RPUiwgTE1VTF9GMiwgMTYpCitFTlRSWSAoUlZWTUY0UUksICFUQVJH RVRfWFRIRUFEVkVDVE9SLCBMTVVMX0Y0LCAzMikKK0VOVFJZIChSVlZNRjhRSSwgVEFSR0VUX01J Tl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIExNVUxfRjgsIDY0KQogCiAvKiBE aXNhYmxlIG1vZGVzIGlmIFRBUkdFVF9NSU5fVkxFTiA9PSAzMi7CoCAqLwogRU5UUlkgKFJWVk04 SEksIHRydWUsIExNVUxfOCwgMikKIEVOVFJZIChSVlZNNEhJLCB0cnVlLCBMTVVMXzQsIDQpCiBF TlRSWSAoUlZWTTJISSwgdHJ1ZSwgTE1VTF8yLCA4KQogRU5UUlkgKFJWVk0xSEksIHRydWUsIExN VUxfMSwgMTYpCi1FTlRSWSAoUlZWTUYySEksIHRydWUsIExNVUxfRjIsIDMyKQotRU5UUlkgKFJW Vk1GNEhJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgTE1VTF9GNCwgNjQpCitFTlRSWSAoUlZWTUYy SEksICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBMTVVMX0YyLCAzMikKK0VOVFJZIChSVlZNRjRISSwg VEFSR0VUX01JTl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIExNVUxfRjQsIDY0 KQogCiAvKiBEaXNhYmxlIG1vZGVzIGlmIFRBUkdFVF9NSU5fVkxFTiA9PSAzMiBvciAhVEFSR0VU X1ZFQ1RPUl9FTEVOX0ZQXzE2LsKgICovCiBFTlRSWSAoUlZWTThIRiwgVEFSR0VUX1ZFQ1RPUl9F TEVOX0ZQXzE2LCBMTVVMXzgsIDIpCiBFTlRSWSAoUlZWTTRIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVO X0ZQXzE2LCBMTVVMXzQsIDQpCiBFTlRSWSAoUlZWTTJIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQ XzE2LCBMTVVMXzIsIDgpCiBFTlRSWSAoUlZWTTFIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2 LCBMTVVMXzEsIDE2KQotRU5UUlkgKFJWVk1GMkhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYs IExNVUxfRjIsIDMyKQotRU5UUlkgKFJWVk1GNEhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYg JiYgVEFSR0VUX01JTl9WTEVOID4gMzIsIExNVUxfRjQsIDY0KQorRU5UUlkgKFJWVk1GMkhGLCBU QVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIExNVUxfRjIs IDMyKQorRU5UUlkgKFJWVk1GNEhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgVEFSR0VU X01JTl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIExNVUxfRjQsIDY0KQogCiAv KiBEaXNhYmxlIG1vZGVzIGlmIFRBUkdFVF9NSU5fVkxFTiA9PSAzMi7CoCAqLwogRU5UUlkgKFJW Vk04U0ksIHRydWUsIExNVUxfOCwgNCkKIEVOVFJZIChSVlZNNFNJLCB0cnVlLCBMTVVMXzQsIDgp CiBFTlRSWSAoUlZWTTJTSSwgdHJ1ZSwgTE1VTF8yLCAxNikKIEVOVFJZIChSVlZNMVNJLCB0cnVl LCBMTVVMXzEsIDMyKQotRU5UUlkgKFJWVk1GMlNJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgTE1V TF9GMiwgNjQpCitFTlRSWSAoUlZWTUYyU0ksIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJH RVRfWFRIRUFEVkVDVE9SLCBMTVVMX0YyLCA2NCkKIAogLyogRGlzYWJsZSBtb2RlcyBpZiBUQVJH RVRfTUlOX1ZMRU4gPT0gMzIgb3IgIVRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMi7CoCAqLwogRU5U UlkgKFJWVk04U0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiwgTE1VTF84LCA0KQogRU5UUlkg KFJWVk00U0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiwgTE1VTF80LCA4KQogRU5UUlkgKFJW Vk0yU0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiwgTE1VTF8yLCAxNikKIEVOVFJZIChSVlZN MVNGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIsIExNVUxfMSwgMzIpCi1FTlRSWSAoUlZWTUYy U0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgTE1V TF9GMiwgNjQpCitFTlRSWSAoUlZWTUYyU0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiAmJiBU QVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgTE1VTF9GMiwgNjQp CiAKIC8qIERpc2FibGUgbW9kZXMgaWYgIVRBUkdFVF9WRUNUT1JfRUxFTl82NC7CoCAqLwogRU5U UlkgKFJWVk04REksIFRBUkdFVF9WRUNUT1JfRUxFTl82NCwgTE1VTF84LCA4KQpAQCAtMTQwLDEy NyArMTQwLDEyNyBAQCBFTlRSWSAoUlZWTTFERiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzY0LCBM TVVMXzEsIDY0KQogI2VuZGlmCiAKIFRVUExFX0VOVFJZIChSVlZNMXg4UUksIHRydWUsIFJWVk0x UUksIDgsIExNVUxfMSwgOCkKLVRVUExFX0VOVFJZIChSVlZNRjJ4OFFJLCB0cnVlLCBSVlZNRjJR SSwgOCwgTE1VTF9GMiwgMTYpCi1UVVBMRV9FTlRSWSAoUlZWTUY0eDhRSSwgdHJ1ZSwgUlZWTUY0 UUksIDgsIExNVUxfRjQsIDMyKQotVFVQTEVfRU5UUlkgKFJWVk1GOHg4UUksIFRBUkdFVF9NSU5f VkxFTiA+IDMyLCBSVlZNRjhRSSwgOCwgTE1VTF9GOCwgNjQpCitUVVBMRV9FTlRSWSAoUlZWTUYy eDhRSSwgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMlFJLCA4LCBMTVVMX0YyLCAxNikKK1RV UExFX0VOVFJZIChSVlZNRjR4OFFJLCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUY0UUksIDgs IExNVUxfRjQsIDMyKQorVFVQTEVfRU5UUlkgKFJWVk1GOHg4UUksIFRBUkdFVF9NSU5fVkxFTiA+ IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjhRSSwgOCwgTE1VTF9GOCwgNjQpCiBU VVBMRV9FTlRSWSAoUlZWTTF4N1FJLCB0cnVlLCBSVlZNMVFJLCA3LCBMTVVMXzEsIDgpCi1UVVBM RV9FTlRSWSAoUlZWTUYyeDdRSSwgdHJ1ZSwgUlZWTUYyUUksIDcsIExNVUxfRjIsIDE2KQotVFVQ TEVfRU5UUlkgKFJWVk1GNHg3UUksIHRydWUsIFJWVk1GNFFJLCA3LCBMTVVMX0Y0LCAzMikKLVRV UExFX0VOVFJZIChSVlZNRjh4N1FJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUY4UUksIDcs IExNVUxfRjgsIDY0KQorVFVQTEVfRU5UUlkgKFJWVk1GMng3UUksICFUQVJHRVRfWFRIRUFEVkVD VE9SLCBSVlZNRjJRSSwgNywgTE1VTF9GMiwgMTYpCitUVVBMRV9FTlRSWSAoUlZWTUY0eDdRSSwg IVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GNFFJLCA3LCBMTVVMX0Y0LCAzMikKK1RVUExFX0VO VFJZIChSVlZNRjh4N1FJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZF Q1RPUiwgUlZWTUY4UUksIDcsIExNVUxfRjgsIDY0KQogVFVQTEVfRU5UUlkgKFJWVk0xeDZRSSwg dHJ1ZSwgUlZWTTFRSSwgNiwgTE1VTF8xLCA4KQotVFVQTEVfRU5UUlkgKFJWVk1GMng2UUksIHRy dWUsIFJWVk1GMlFJLCA2LCBMTVVMX0YyLCAxNikKLVRVUExFX0VOVFJZIChSVlZNRjR4NlFJLCB0 cnVlLCBSVlZNRjRRSSwgNiwgTE1VTF9GNCwgMzIpCi1UVVBMRV9FTlRSWSAoUlZWTUY4eDZRSSwg VEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GOFFJLCA2LCBMTVVMX0Y4LCA2NCkKK1RVUExFX0VO VFJZIChSVlZNRjJ4NlFJLCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYyUUksIDYsIExNVUxf RjIsIDE2KQorVFVQTEVfRU5UUlkgKFJWVk1GNHg2UUksICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBS VlZNRjRRSSwgNiwgTE1VTF9GNCwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUY4eDZRSSwgVEFSR0VU X01JTl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GOFFJLCA2LCBMTVVM X0Y4LCA2NCkKIFRVUExFX0VOVFJZIChSVlZNMXg1UUksIHRydWUsIFJWVk0xUUksIDUsIExNVUxf MSwgOCkKLVRVUExFX0VOVFJZIChSVlZNRjJ4NVFJLCB0cnVlLCBSVlZNRjJRSSwgNSwgTE1VTF9G MiwgMTYpCi1UVVBMRV9FTlRSWSAoUlZWTUY0eDVRSSwgdHJ1ZSwgUlZWTUY0UUksIDUsIExNVUxf RjQsIDMyKQotVFVQTEVfRU5UUlkgKFJWVk1GOHg1UUksIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBS VlZNRjhRSSwgNSwgTE1VTF9GOCwgNjQpCitUVVBMRV9FTlRSWSAoUlZWTUYyeDVRSSwgIVRBUkdF VF9YVEhFQURWRUNUT1IsIFJWVk1GMlFJLCA1LCBMTVVMX0YyLCAxNikKK1RVUExFX0VOVFJZIChS VlZNRjR4NVFJLCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUY0UUksIDUsIExNVUxfRjQsIDMy KQorVFVQTEVfRU5UUlkgKFJWVk1GOHg1UUksIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJH RVRfWFRIRUFEVkVDVE9SLCBSVlZNRjhRSSwgNSwgTE1VTF9GOCwgNjQpCiBUVVBMRV9FTlRSWSAo UlZWTTJ4NFFJLCB0cnVlLCBSVlZNMlFJLCA0LCBMTVVMXzIsIDQpCiBUVVBMRV9FTlRSWSAoUlZW TTF4NFFJLCB0cnVlLCBSVlZNMVFJLCA0LCBMTVVMXzEsIDgpCi1UVVBMRV9FTlRSWSAoUlZWTUYy eDRRSSwgdHJ1ZSwgUlZWTUYyUUksIDQsIExNVUxfRjIsIDE2KQotVFVQTEVfRU5UUlkgKFJWVk1G NHg0UUksIHRydWUsIFJWVk1GNFFJLCA0LCBMTVVMX0Y0LCAzMikKLVRVUExFX0VOVFJZIChSVlZN Rjh4NFFJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUY4UUksIDQsIExNVUxfRjgsIDY0KQor VFVQTEVfRU5UUlkgKFJWVk1GMng0UUksICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJRSSwg NCwgTE1VTF9GMiwgMTYpCitUVVBMRV9FTlRSWSAoUlZWTUY0eDRRSSwgIVRBUkdFVF9YVEhFQURW RUNUT1IsIFJWVk1GNFFJLCA0LCBMTVVMX0Y0LCAzMikKK1RVUExFX0VOVFJZIChSVlZNRjh4NFFJ LCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUY4UUks IDQsIExNVUxfRjgsIDY0KQogVFVQTEVfRU5UUlkgKFJWVk0yeDNRSSwgdHJ1ZSwgUlZWTTJRSSwg MywgTE1VTF8yLCA0KQogVFVQTEVfRU5UUlkgKFJWVk0xeDNRSSwgdHJ1ZSwgUlZWTTFRSSwgMywg TE1VTF8xLCA4KQotVFVQTEVfRU5UUlkgKFJWVk1GMngzUUksIHRydWUsIFJWVk1GMlFJLCAzLCBM TVVMX0YyLCAxNikKLVRVUExFX0VOVFJZIChSVlZNRjR4M1FJLCB0cnVlLCBSVlZNRjRRSSwgMywg TE1VTF9GNCwgMzIpCi1UVVBMRV9FTlRSWSAoUlZWTUY4eDNRSSwgVEFSR0VUX01JTl9WTEVOID4g MzIsIFJWVk1GOFFJLCAzLCBMTVVMX0Y4LCA2NCkKK1RVUExFX0VOVFJZIChSVlZNRjJ4M1FJLCAh VEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYyUUksIDMsIExNVUxfRjIsIDE2KQorVFVQTEVfRU5U UlkgKFJWVk1GNHgzUUksICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjRRSSwgMywgTE1VTF9G NCwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUY4eDNRSSwgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYg IVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GOFFJLCAzLCBMTVVMX0Y4LCA2NCkKIFRVUExFX0VO VFJZIChSVlZNNHgyUUksIHRydWUsIFJWVk00UUksIDIsIExNVUxfNCwgMikKIFRVUExFX0VOVFJZ IChSVlZNMngyUUksIHRydWUsIFJWVk0yUUksIDIsIExNVUxfMiwgNCkKIFRVUExFX0VOVFJZIChS VlZNMXgyUUksIHRydWUsIFJWVk0xUUksIDIsIExNVUxfMSwgOCkKLVRVUExFX0VOVFJZIChSVlZN RjJ4MlFJLCB0cnVlLCBSVlZNRjJRSSwgMiwgTE1VTF9GMiwgMTYpCi1UVVBMRV9FTlRSWSAoUlZW TUY0eDJRSSwgdHJ1ZSwgUlZWTUY0UUksIDIsIExNVUxfRjQsIDMyKQotVFVQTEVfRU5UUlkgKFJW Vk1GOHgyUUksIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjhRSSwgMiwgTE1VTF9GOCwgNjQp CitUVVBMRV9FTlRSWSAoUlZWTUYyeDJRSSwgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMlFJ LCAyLCBMTVVMX0YyLCAxNikKK1RVUExFX0VOVFJZIChSVlZNRjR4MlFJLCAhVEFSR0VUX1hUSEVB RFZFQ1RPUiwgUlZWTUY0UUksIDIsIExNVUxfRjQsIDMyKQorVFVQTEVfRU5UUlkgKFJWVk1GOHgy UUksIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjhR SSwgMiwgTE1VTF9GOCwgNjQpCiAKIFRVUExFX0VOVFJZIChSVlZNMXg4SEksIHRydWUsIFJWVk0x SEksIDgsIExNVUxfMSwgMTYpCi1UVVBMRV9FTlRSWSAoUlZWTUYyeDhISSwgdHJ1ZSwgUlZWTUYy SEksIDgsIExNVUxfRjIsIDMyKQotVFVQTEVfRU5UUlkgKFJWVk1GNHg4SEksIFRBUkdFVF9NSU5f VkxFTiA+IDMyLCBSVlZNRjRISSwgOCwgTE1VTF9GNCwgNjQpCitUVVBMRV9FTlRSWSAoUlZWTUYy eDhISSwgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMkhJLCA4LCBMTVVMX0YyLCAzMikKK1RV UExFX0VOVFJZIChSVlZNRjR4OEhJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hU SEVBRFZFQ1RPUiwgUlZWTUY0SEksIDgsIExNVUxfRjQsIDY0KQogVFVQTEVfRU5UUlkgKFJWVk0x eDdISSwgdHJ1ZSwgUlZWTTFISSwgNywgTE1VTF8xLCAxNikKLVRVUExFX0VOVFJZIChSVlZNRjJ4 N0hJLCB0cnVlLCBSVlZNRjJISSwgNywgTE1VTF9GMiwgMzIpCi1UVVBMRV9FTlRSWSAoUlZWTUY0 eDdISSwgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GNEhJLCA3LCBMTVVMX0Y0LCA2NCkKK1RV UExFX0VOVFJZIChSVlZNRjJ4N0hJLCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYySEksIDcs IExNVUxfRjIsIDMyKQorVFVQTEVfRU5UUlkgKFJWVk1GNHg3SEksIFRBUkdFVF9NSU5fVkxFTiA+ IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjRISSwgNywgTE1VTF9GNCwgNjQpCiBU VVBMRV9FTlRSWSAoUlZWTTF4NkhJLCB0cnVlLCBSVlZNMUhJLCA2LCBMTVVMXzEsIDE2KQotVFVQ TEVfRU5UUlkgKFJWVk1GMng2SEksIHRydWUsIFJWVk1GMkhJLCA2LCBMTVVMX0YyLCAzMikKLVRV UExFX0VOVFJZIChSVlZNRjR4NkhJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUY0SEksIDYs IExNVUxfRjQsIDY0KQorVFVQTEVfRU5UUlkgKFJWVk1GMng2SEksICFUQVJHRVRfWFRIRUFEVkVD VE9SLCBSVlZNRjJISSwgNiwgTE1VTF9GMiwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUY0eDZISSwg VEFSR0VUX01JTl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GNEhJLCA2 LCBMTVVMX0Y0LCA2NCkKIFRVUExFX0VOVFJZIChSVlZNMXg1SEksIHRydWUsIFJWVk0xSEksIDUs IExNVUxfMSwgMTYpCi1UVVBMRV9FTlRSWSAoUlZWTUYyeDVISSwgdHJ1ZSwgUlZWTUYySEksIDUs IExNVUxfRjIsIDMyKQotVFVQTEVfRU5UUlkgKFJWVk1GNHg1SEksIFRBUkdFVF9NSU5fVkxFTiA+ IDMyLCBSVlZNRjRISSwgNSwgTE1VTF9GNCwgNjQpCitUVVBMRV9FTlRSWSAoUlZWTUYyeDVISSwg IVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMkhJLCA1LCBMTVVMX0YyLCAzMikKK1RVUExFX0VO VFJZIChSVlZNRjR4NUhJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZF Q1RPUiwgUlZWTUY0SEksIDUsIExNVUxfRjQsIDY0KQogVFVQTEVfRU5UUlkgKFJWVk0yeDRISSwg dHJ1ZSwgUlZWTTJISSwgNCwgTE1VTF8yLCA4KQogVFVQTEVfRU5UUlkgKFJWVk0xeDRISSwgdHJ1 ZSwgUlZWTTFISSwgNCwgTE1VTF8xLCAxNikKLVRVUExFX0VOVFJZIChSVlZNRjJ4NEhJLCB0cnVl LCBSVlZNRjJISSwgNCwgTE1VTF9GMiwgMzIpCi1UVVBMRV9FTlRSWSAoUlZWTUY0eDRISSwgVEFS R0VUX01JTl9WTEVOID4gMzIsIFJWVk1GNEhJLCA0LCBMTVVMX0Y0LCA2NCkKK1RVUExFX0VOVFJZ IChSVlZNRjJ4NEhJLCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYySEksIDQsIExNVUxfRjIs IDMyKQorVFVQTEVfRU5UUlkgKFJWVk1GNHg0SEksIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFU QVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjRISSwgNCwgTE1VTF9GNCwgNjQpCiBUVVBMRV9FTlRS WSAoUlZWTTJ4M0hJLCB0cnVlLCBSVlZNMkhJLCAzLCBMTVVMXzIsIDgpCiBUVVBMRV9FTlRSWSAo UlZWTTF4M0hJLCB0cnVlLCBSVlZNMUhJLCAzLCBMTVVMXzEsIDE2KQotVFVQTEVfRU5UUlkgKFJW Vk1GMngzSEksIHRydWUsIFJWVk1GMkhJLCAzLCBMTVVMX0YyLCAzMikKLVRVUExFX0VOVFJZIChS VlZNRjR4M0hJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUY0SEksIDMsIExNVUxfRjQsIDY0 KQorVFVQTEVfRU5UUlkgKFJWVk1GMngzSEksICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJI SSwgMywgTE1VTF9GMiwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUY0eDNISSwgVEFSR0VUX01JTl9W TEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GNEhJLCAzLCBMTVVMX0Y0LCA2 NCkKIFRVUExFX0VOVFJZIChSVlZNNHgySEksIHRydWUsIFJWVk00SEksIDIsIExNVUxfNCwgNCkK IFRVUExFX0VOVFJZIChSVlZNMngySEksIHRydWUsIFJWVk0ySEksIDIsIExNVUxfMiwgOCkKIFRV UExFX0VOVFJZIChSVlZNMXgySEksIHRydWUsIFJWVk0xSEksIDIsIExNVUxfMSwgMTYpCi1UVVBM RV9FTlRSWSAoUlZWTUYyeDJISSwgdHJ1ZSwgUlZWTUYySEksIDIsIExNVUxfRjIsIDMyKQotVFVQ TEVfRU5UUlkgKFJWVk1GNHgySEksIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjRISSwgMiwg TE1VTF9GNCwgNjQpCitUVVBMRV9FTlRSWSAoUlZWTUYyeDJISSwgIVRBUkdFVF9YVEhFQURWRUNU T1IsIFJWVk1GMkhJLCAyLCBMTVVMX0YyLCAzMikKK1RVUExFX0VOVFJZIChSVlZNRjR4MkhJLCBU QVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUY0SEksIDIs IExNVUxfRjQsIDY0KQogCiBUVVBMRV9FTlRSWSAoUlZWTTF4OEhGLCBUQVJHRVRfVkVDVE9SX0VM RU5fRlBfMTYsIFJWVk0xSEYsIDgsIExNVUxfMSwgMTYpCi1UVVBMRV9FTlRSWSAoUlZWTUYyeDhI RiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2LCBSVlZNRjJIRiwgOCwgTE1VTF9GMiwgMzIpCi1U VVBMRV9FTlRSWSAoUlZWTUY0eDhIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmIFRBUkdF VF9NSU5fVkxFTiA+IDMyLCBSVlZNRjRIRiwgOCwgTE1VTF9GNCwgNjQpCitUVVBMRV9FTlRSWSAo UlZWTUYyeDhIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmICFUQVJHRVRfWFRIRUFEVkVD VE9SLCBSVlZNRjJIRiwgOCwgTE1VTF9GMiwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUY0eDhIRiwg VEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJH RVRfWFRIRUFEVkVDVE9SLCBSVlZNRjRIRiwgOCwgTE1VTF9GNCwgNjQpCiBUVVBMRV9FTlRSWSAo UlZWTTF4N0hGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYsIFJWVk0xSEYsIDcsIExNVUxfMSwg MTYpCi1UVVBMRV9FTlRSWSAoUlZWTUYyeDdIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2LCBS VlZNRjJIRiwgNywgTE1VTF9GMiwgMzIpCi1UVVBMRV9FTlRSWSAoUlZWTUY0eDdIRiwgVEFSR0VU X1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjRIRiwgNywg TE1VTF9GNCwgNjQpCitUVVBMRV9FTlRSWSAoUlZWTUYyeDdIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVO X0ZQXzE2ICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJIRiwgNywgTE1VTF9GMiwgMzIp CitUVVBMRV9FTlRSWSAoUlZWTUY0eDdIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmIFRB UkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjRIRiwgNywg TE1VTF9GNCwgNjQpCiBUVVBMRV9FTlRSWSAoUlZWTTF4NkhGLCBUQVJHRVRfVkVDVE9SX0VMRU5f RlBfMTYsIFJWVk0xSEYsIDYsIExNVUxfMSwgMTYpCi1UVVBMRV9FTlRSWSAoUlZWTUYyeDZIRiwg VEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2LCBSVlZNRjJIRiwgNiwgTE1VTF9GMiwgMzIpCi1UVVBM RV9FTlRSWSAoUlZWTUY0eDZIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmIFRBUkdFVF9N SU5fVkxFTiA+IDMyLCBSVlZNRjRIRiwgNiwgTE1VTF9GNCwgNjQpCitUVVBMRV9FTlRSWSAoUlZW TUYyeDZIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmICFUQVJHRVRfWFRIRUFEVkVDVE9S LCBSVlZNRjJIRiwgNiwgTE1VTF9GMiwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUY0eDZIRiwgVEFS R0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRf WFRIRUFEVkVDVE9SLCBSVlZNRjRIRiwgNiwgTE1VTF9GNCwgNjQpCiBUVVBMRV9FTlRSWSAoUlZW TTF4NUhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYsIFJWVk0xSEYsIDUsIExNVUxfMSwgMTYp Ci1UVVBMRV9FTlRSWSAoUlZWTUYyeDVIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2LCBSVlZN RjJIRiwgNSwgTE1VTF9GMiwgMzIpCi1UVVBMRV9FTlRSWSAoUlZWTUY0eDVIRiwgVEFSR0VUX1ZF Q1RPUl9FTEVOX0ZQXzE2ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjRIRiwgNSwgTE1V TF9GNCwgNjQpCitUVVBMRV9FTlRSWSAoUlZWTUYyeDVIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQ XzE2ICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJIRiwgNSwgTE1VTF9GMiwgMzIpCitU VVBMRV9FTlRSWSAoUlZWTUY0eDVIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmIFRBUkdF VF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjRIRiwgNSwgTE1V TF9GNCwgNjQpCiBUVVBMRV9FTlRSWSAoUlZWTTJ4NEhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBf MTYsIFJWVk0ySEYsIDQsIExNVUxfMiwgOCkKIFRVUExFX0VOVFJZIChSVlZNMXg0SEYsIFRBUkdF VF9WRUNUT1JfRUxFTl9GUF8xNiwgUlZWTTFIRiwgNCwgTE1VTF8xLCAxNikKLVRVUExFX0VOVFJZ IChSVlZNRjJ4NEhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYsIFJWVk1GMkhGLCA0LCBMTVVM X0YyLCAzMikKLVRVUExFX0VOVFJZIChSVlZNRjR4NEhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBf MTYgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GNEhGLCA0LCBMTVVMX0Y0LCA2NCkKK1RV UExFX0VOVFJZIChSVlZNRjJ4NEhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgIVRBUkdF VF9YVEhFQURWRUNUT1IsIFJWVk1GMkhGLCA0LCBMTVVMX0YyLCAzMikKK1RVUExFX0VOVFJZIChS VlZNRjR4NEhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgVEFSR0VUX01JTl9WTEVOID4g MzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GNEhGLCA0LCBMTVVMX0Y0LCA2NCkKIFRV UExFX0VOVFJZIChSVlZNMngzSEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiwgUlZWTTJIRiwg MywgTE1VTF8yLCA4KQogVFVQTEVfRU5UUlkgKFJWVk0xeDNIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVO X0ZQXzE2LCBSVlZNMUhGLCAzLCBMTVVMXzEsIDE2KQotVFVQTEVfRU5UUlkgKFJWVk1GMngzSEYs IFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiwgUlZWTUYySEYsIDMsIExNVUxfRjIsIDMyKQotVFVQ TEVfRU5UUlkgKFJWVk1GNHgzSEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiBUQVJHRVRf TUlOX1ZMRU4gPiAzMiwgUlZWTUY0SEYsIDMsIExNVUxfRjQsIDY0KQorVFVQTEVfRU5UUlkgKFJW Vk1GMngzSEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RP UiwgUlZWTUYySEYsIDMsIExNVUxfRjIsIDMyKQorVFVQTEVfRU5UUlkgKFJWVk1GNHgzSEYsIFRB UkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VU X1hUSEVBRFZFQ1RPUiwgUlZWTUY0SEYsIDMsIExNVUxfRjQsIDY0KQogVFVQTEVfRU5UUlkgKFJW Vk00eDJIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2LCBSVlZNNEhGLCAyLCBMTVVMXzQsIDQp CiBUVVBMRV9FTlRSWSAoUlZWTTJ4MkhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYsIFJWVk0y SEYsIDIsIExNVUxfMiwgOCkKIFRVUExFX0VOVFJZIChSVlZNMXgySEYsIFRBUkdFVF9WRUNUT1Jf RUxFTl9GUF8xNiwgUlZWTTFIRiwgMiwgTE1VTF8xLCAxNikKLVRVUExFX0VOVFJZIChSVlZNRjJ4 MkhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYsIFJWVk1GMkhGLCAyLCBMTVVMX0YyLCAzMikK LVRVUExFX0VOVFJZIChSVlZNRjR4MkhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgVEFS R0VUX01JTl9WTEVOID4gMzIsIFJWVk1GNEhGLCAyLCBMTVVMX0Y0LCA2NCkKK1RVUExFX0VOVFJZ IChSVlZNRjJ4MkhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgIVRBUkdFVF9YVEhFQURW RUNUT1IsIFJWVk1GMkhGLCAyLCBMTVVMX0YyLCAzMikKK1RVUExFX0VOVFJZIChSVlZNRjR4MkhG LCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYgIVRB UkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GNEhGLCAyLCBMTVVMX0Y0LCA2NCkKIAogVFVQTEVfRU5U UlkgKFJWVk0xeDhTSSwgdHJ1ZSwgUlZWTTFTSSwgOCwgTE1VTF8xLCAxNikKLVRVUExFX0VOVFJZ IChSVlZNRjJ4OFNJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUYyU0ksIDgsIExNVUxfRjIs IDMyKQorVFVQTEVfRU5UUlkgKFJWVk1GMng4U0ksIChUQVJHRVRfTUlOX1ZMRU4gPiAzMikgJiYg IVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMlNJLCA4LCBMTVVMX0YyLCAzMikKIFRVUExFX0VO VFJZIChSVlZNMXg3U0ksIHRydWUsIFJWVk0xU0ksIDcsIExNVUxfMSwgMTYpCi1UVVBMRV9FTlRS WSAoUlZWTUYyeDdTSSwgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GMlNJLCA3LCBMTVVMX0Yy LCAzMikKK1RVUExFX0VOVFJZIChSVlZNRjJ4N1NJLCAoVEFSR0VUX01JTl9WTEVOID4gMzIpICYm ICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJTSSwgNywgTE1VTF9GMiwgMzIpCiBUVVBMRV9F TlRSWSAoUlZWTTF4NlNJLCB0cnVlLCBSVlZNMVNJLCA2LCBMTVVMXzEsIDE2KQotVFVQTEVfRU5U UlkgKFJWVk1GMng2U0ksIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjJTSSwgNiwgTE1VTF9G MiwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUYyeDZTSSwgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYg IVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMlNJLCA2LCBMTVVMX0YyLCAzMikKIFRVUExFX0VO VFJZIChSVlZNMXg1U0ksIHRydWUsIFJWVk0xU0ksIDUsIExNVUxfMSwgMTYpCi1UVVBMRV9FTlRS WSAoUlZWTUYyeDVTSSwgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GMlNJLCA1LCBMTVVMX0Yy LCAzMikKK1RVUExFX0VOVFJZIChSVlZNRjJ4NVNJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAh VEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYyU0ksIDUsIExNVUxfRjIsIDMyKQogVFVQTEVfRU5U UlkgKFJWVk0yeDRTSSwgdHJ1ZSwgUlZWTTJTSSwgNCwgTE1VTF8yLCA4KQogVFVQTEVfRU5UUlkg KFJWVk0xeDRTSSwgdHJ1ZSwgUlZWTTFTSSwgNCwgTE1VTF8xLCAxNikKLVRVUExFX0VOVFJZIChS VlZNRjJ4NFNJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUYyU0ksIDQsIExNVUxfRjIsIDMy KQorVFVQTEVfRU5UUlkgKFJWVk1GMng0U0ksIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJH RVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJTSSwgNCwgTE1VTF9GMiwgMzIpCiBUVVBMRV9FTlRSWSAo UlZWTTJ4M1NJLCB0cnVlLCBSVlZNMlNJLCAzLCBMTVVMXzIsIDgpCiBUVVBMRV9FTlRSWSAoUlZW TTF4M1NJLCB0cnVlLCBSVlZNMVNJLCAzLCBMTVVMXzEsIDE2KQotVFVQTEVfRU5UUlkgKFJWVk1G MngzU0ksIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjJTSSwgMywgTE1VTF9GMiwgMzIpCitU VVBMRV9FTlRSWSAoUlZWTUYyeDNTSSwgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYgIVRBUkdFVF9Y VEhFQURWRUNUT1IsIFJWVk1GMlNJLCAzLCBMTVVMX0YyLCAzMikKIFRVUExFX0VOVFJZIChSVlZN NHgyU0ksIHRydWUsIFJWVk00U0ksIDIsIExNVUxfNCwgNCkKIFRVUExFX0VOVFJZIChSVlZNMngy U0ksIHRydWUsIFJWVk0yU0ksIDIsIExNVUxfMiwgOCkKIFRVUExFX0VOVFJZIChSVlZNMXgyU0ks IHRydWUsIFJWVk0xU0ksIDIsIExNVUxfMSwgMTYpCi1UVVBMRV9FTlRSWSAoUlZWTUYyeDJTSSwg VEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GMlNJLCAyLCBMTVVMX0YyLCAzMikKK1RVUExFX0VO VFJZIChSVlZNRjJ4MlNJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZF Q1RPUiwgUlZWTUYyU0ksIDIsIExNVUxfRjIsIDMyKQogCiBUVVBMRV9FTlRSWSAoUlZWTTF4OFNG LCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIsIFJWVk0xU0YsIDgsIExNVUxfMSwgMTYpCi1UVVBM RV9FTlRSWSAoUlZWTUYyeDhTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRBUkdFVF9N SU5fVkxFTiA+IDMyLCBSVlZNRjJTRiwgOCwgTE1VTF9GMiwgMzIpCitUVVBMRV9FTlRSWSAoUlZW TUYyeDhTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMy ICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJTRiwgOCwgTE1VTF9GMiwgMzIpCiBUVVBM RV9FTlRSWSAoUlZWTTF4N1NGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIsIFJWVk0xU0YsIDcs IExNVUxfMSwgMTYpCi1UVVBMRV9FTlRSWSAoUlZWTUYyeDdTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVO X0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjJTRiwgNywgTE1VTF9GMiwgMzIp CitUVVBMRV9FTlRSWSAoUlZWTUYyeDdTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRB UkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJTRiwgNywg TE1VTF9GMiwgMzIpCiBUVVBMRV9FTlRSWSAoUlZWTTF4NlNGLCBUQVJHRVRfVkVDVE9SX0VMRU5f RlBfMzIsIFJWVk0xU0YsIDYsIExNVUxfMSwgMTYpCi1UVVBMRV9FTlRSWSAoUlZWTUYyeDZTRiwg VEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjJT RiwgNiwgTE1VTF9GMiwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUYyeDZTRiwgVEFSR0VUX1ZFQ1RP Ul9FTEVOX0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVD VE9SLCBSVlZNRjJTRiwgNiwgTE1VTF9GMiwgMzIpCiBUVVBMRV9FTlRSWSAoUlZWTTF4NVNGLCBU QVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIsIFJWVk0xU0YsIDUsIExNVUxfMSwgMTYpCi1UVVBMRV9F TlRSWSAoUlZWTUYyeDVTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRBUkdFVF9NSU5f VkxFTiA+IDMyLCBSVlZNRjJTRiwgNSwgTE1VTF9GMiwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUYy eDVTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYm ICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJTRiwgNSwgTE1VTF9GMiwgMzIpCiBUVVBMRV9F TlRSWSAoUlZWTTJ4NFNGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIsIFJWVk0yU0YsIDQsIExN VUxfMiwgOCkKIFRVUExFX0VOVFJZIChSVlZNMXg0U0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8z MiwgUlZWTTFTRiwgNCwgTE1VTF8xLCAxNikKLVRVUExFX0VOVFJZIChSVlZNRjJ4NFNGLCBUQVJH RVRfVkVDVE9SX0VMRU5fRlBfMzIgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GMlNGLCA0 LCBMTVVMX0YyLCAzMikKK1RVUExFX0VOVFJZIChSVlZNRjJ4NFNGLCBUQVJHRVRfVkVDVE9SX0VM RU5fRlBfMzIgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1Is IFJWVk1GMlNGLCA0LCBMTVVMX0YyLCAzMikKIFRVUExFX0VOVFJZIChSVlZNMngzU0YsIFRBUkdF VF9WRUNUT1JfRUxFTl9GUF8zMiwgUlZWTTJTRiwgMywgTE1VTF8yLCA4KQogVFVQTEVfRU5UUlkg KFJWVk0xeDNTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyLCBSVlZNMVNGLCAzLCBMTVVMXzEs IDE2KQotVFVQTEVfRU5UUlkgKFJWVk1GMngzU0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiAm JiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUYyU0YsIDMsIExNVUxfRjIsIDMyKQorVFVQTEVf RU5UUlkgKFJWVk1GMngzU0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiAmJiBUQVJHRVRfTUlO X1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYyU0YsIDMsIExNVUxfRjIs IDMyKQogVFVQTEVfRU5UUlkgKFJWVk00eDJTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyLCBS VlZNNFNGLCAyLCBMTVVMXzQsIDQpCiBUVVBMRV9FTlRSWSAoUlZWTTJ4MlNGLCBUQVJHRVRfVkVD VE9SX0VMRU5fRlBfMzIsIFJWVk0yU0YsIDIsIExNVUxfMiwgOCkKIFRVUExFX0VOVFJZIChSVlZN MXgyU0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiwgUlZWTTFTRiwgMiwgTE1VTF8xLCAxNikK LVRVUExFX0VOVFJZIChSVlZNRjJ4MlNGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIgJiYgVEFS R0VUX01JTl9WTEVOID4gMzIsIFJWVk1GMlNGLCAyLCBMTVVMX0YyLCAzMikKK1RVUExFX0VOVFJZ IChSVlZNRjJ4MlNGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIgJiYgVEFSR0VUX01JTl9WTEVO ID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMlNGLCAyLCBMTVVMX0YyLCAzMikK IAogVFVQTEVfRU5UUlkgKFJWVk0xeDhESSwgVEFSR0VUX1ZFQ1RPUl9FTEVOXzY0LCBSVlZNMURJ LCA4LCBMTVVMXzEsIDE2KQogVFVQTEVfRU5UUlkgKFJWVk0xeDdESSwgVEFSR0VUX1ZFQ1RPUl9F TEVOXzY0LCBSVlZNMURJLCA3LCBMTVVMXzEsIDE2KQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9y aXNjdi9yaXNjdi5jYyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YuY2MKaW5kZXggOGY3NGNkMmU1 MDIuLjI4Y2YxZjQxNGU5IDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNjCisr KyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YuY2MKQEAgLTE0MDYsNiArMTQwNiw5IEBAIHJpc2N2 X3ZfYWRqdXN0X2J5dGVzaXplIChtYWNoaW5lX21vZGUgbW9kZSwgaW50IHNjYWxlKQogewrCoMKg IGlmIChyaXNjdl92X2V4dF92ZWN0b3JfbW9kZV9wIChtb2RlKSkKwqDCoMKgwqAgeworwqDCoMKg wqDCoCBpZiAoVEFSR0VUX1hUSEVBRFZFQ1RPUikKKwlyZXR1cm4gQllURVNfUEVSX1JJU0NWX1ZF Q1RPUjsKKwrCoMKgwqDCoMKgwqAgcG9seV9pbnQ2NCBudW5pdHMgPSBHRVRfTU9ERV9OVU5JVFMg KG1vZGUpOwrCoMKgwqDCoMKgwqAgcG9seV9pbnQ2NCBtb2RlX3NpemUgPSBHRVRfTU9ERV9TSVpF IChtb2RlKTsKIApAQCAtOTk5NSw3ICs5OTk4LDcgQEAgcmlzY3ZfdXNlX2Rpdm1vZF9leHBhbmRl ciAodm9pZCkKIHN0YXRpYyBtYWNoaW5lX21vZGUKIHJpc2N2X3ByZWZlcnJlZF9zaW1kX21vZGUg KHNjYWxhcl9tb2RlIG1vZGUpCiB7Ci3CoCBpZiAoVEFSR0VUX1ZFQ1RPUikKK8KgIGlmIChUQVJH RVRfVkVDVE9SICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SKQrCoMKgwqDCoCByZXR1cm4gcmlzY3Zf dmVjdG9yOjpwcmVmZXJyZWRfc2ltZF9tb2RlIChtb2RlKTsKIArCoMKgIHJldHVybiB3b3JkX21v ZGU7CkBAIC0xMDM0Niw3ICsxMDM0OSw3IEBAIHJpc2N2X21vZGVfcHJpb3JpdHkgKGludCwgaW50 IG4pCiB1bnNpZ25lZCBpbnQKIHJpc2N2X2F1dG92ZWN0b3JpemVfdmVjdG9yX21vZGVzICh2ZWN0 b3JfbW9kZXMgKm1vZGVzLCBib29sIGFsbCkKIHsKLcKgIGlmIChUQVJHRVRfVkVDVE9SKQorwqAg aWYgKFRBUkdFVF9WRUNUT1IgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IpCsKgwqDCoMKgIHJldHVy biByaXNjdl92ZWN0b3I6OmF1dG92ZWN0b3JpemVfdmVjdG9yX21vZGVzIChtb2RlcywgYWxsKTsK IArCoMKgIHJldHVybiBkZWZhdWx0X2F1dG92ZWN0b3JpemVfdmVjdG9yX21vZGVzIChtb2Rlcywg YWxsKTsKQEAgLTEwNTI5LDYgKzEwNTMyLDE2IEBAIGV4dHJhY3RfYmFzZV9vZmZzZXRfaW5fYWRk ciAocnR4IG1lbSwgcnR4ICpiYXNlLCBydHggKm9mZnNldCkKwqDCoCByZXR1cm4gZmFsc2U7CiB9 CiAKKy8qIEltcGxlbWVudHMgdGFyZ2V0IGhvb2sgdmVjdG9yX21vZGVfc3VwcG9ydGVkX2FueV90 YXJnZXRfcC7CoCAqLworCitzdGF0aWMgYm9vbAorcmlzY3ZfdmVjdG9yX21vZGVfc3VwcG9ydGVk X2FueV90YXJnZXRfcCAobWFjaGluZV9tb2RlIG1vZGUpCit7CivCoCBpZiAoVEFSR0VUX1hUSEVB RFZFQ1RPUikKK8KgwqDCoCByZXR1cm4gZmFsc2U7CivCoCByZXR1cm4gdHJ1ZTsKK30KKwogLyog SW5pdGlhbGl6ZSB0aGUgR0NDIHRhcmdldCBzdHJ1Y3R1cmUuwqAgKi8KICN1bmRlZiBUQVJHRVRf QVNNX0FMSUdORURfSElfT1AKICNkZWZpbmUgVEFSR0VUX0FTTV9BTElHTkVEX0hJX09QICJcdC5o YWxmXHQiCkBAIC0xMDg3Miw2ICsxMDg4NSw5IEBAIGV4dHJhY3RfYmFzZV9vZmZzZXRfaW5fYWRk ciAocnR4IG1lbSwgcnR4ICpiYXNlLCBydHggKm9mZnNldCkKICN1bmRlZiBUQVJHRVRfUFJFRkVS UkVEX0VMU0VfVkFMVUUKICNkZWZpbmUgVEFSR0VUX1BSRUZFUlJFRF9FTFNFX1ZBTFVFIHJpc2N2 X3ByZWZlcnJlZF9lbHNlX3ZhbHVlCiAKKyN1bmRlZiBUQVJHRVRfVkVDVE9SX01PREVfU1VQUE9S VEVEX0FOWV9UQVJHRVRfUAorI2RlZmluZSBUQVJHRVRfVkVDVE9SX01PREVfU1VQUE9SVEVEX0FO WV9UQVJHRVRfUCByaXNjdl92ZWN0b3JfbW9kZV9zdXBwb3J0ZWRfYW55X3RhcmdldF9wCisKIHN0 cnVjdCBnY2NfdGFyZ2V0IHRhcmdldG0gPSBUQVJHRVRfSU5JVElBTElaRVI7CiAKICNpbmNsdWRl ICJndC1yaXNjdi5oIgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdl90aF92ZWN0 b3IuaCBiL2djYy9jb25maWcvcmlzY3YvcmlzY3ZfdGhfdmVjdG9yLmgKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmI2YjY3MzhiZGRhCi0tLSAvZGV2L251bGwKKysrIGIv Z2NjL2NvbmZpZy9yaXNjdi9yaXNjdl90aF92ZWN0b3IuaApAQCAtMCwwICsxLDQ5IEBACisvKiBS SVNDLVYgJ1hUaGVhZFZlY3RvcicgRXh0ZW5zaW9uIGludHJpbnNpY3MgaW5jbHVkZSBmaWxlLgor wqDCoCBDb3B5cmlnaHQgKEMpIDIwMjQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisK K8KgwqAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR0NDLgorCivCoMKgIEdDQyBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CivCoMKgIHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVk CivCoMKgIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMs IG9yIChhdCB5b3VyCivCoMKgIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKK8KgwqAgR0ND IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBX SVRIT1VUCivCoMKgIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mIE1FUkNIQU5UQUJJTElUWQorwqDCoCBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS7CoCBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworwqDCoCBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCisKK8KgwqAgVW5kZXIgU2VjdGlvbiA3IG9mIEdQTCB2ZXJzaW9uIDMsIHlv dSBhcmUgZ3JhbnRlZCBhZGRpdGlvbmFsCivCoMKgIHBlcm1pc3Npb25zIGRlc2NyaWJlZCBpbiB0 aGUgR0NDIFJ1bnRpbWUgTGlicmFyeSBFeGNlcHRpb24sIHZlcnNpb24KK8KgwqAgMy4xLCBhcyBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKworwqDCoCBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhbmQKK8KgwqAgYSBjb3B5IG9mIHRoZSBHQ0MgUnVudGltZSBMaWJyYXJ5IEV4Y2VwdGlvbiBh bG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsKK8KgwqAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQg Q09QWUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS7CoCBJZiBub3QsIHNlZQorwqDCoCA8IiB0YXJn ZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uwqAgKi8KKworI2lmbmRl ZiBfX1JJU0NWX1RIX1ZFQ1RPUl9ICisjZGVmaW5lIF9fUklTQ1ZfVEhfVkVDVE9SX0gKKworI2lu Y2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHN0ZGRlZi5oPgorCisjaWZuZGVmIF9fcmlzY3Zf eHRoZWFkdmVjdG9yCisjZXJyb3IgIlhUaGVhZFZlY3RvciBpbnRyaW5zaWNzIHJlcXVpcmUgdGhl IHh0aGVhZHZlY3RvciBleHRlbnNpb24uIgorI2Vsc2UKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0 ZXJuICJDIiB7CisjZW5kaWYKKworLyogTk9URTogVGhpcyBpbXBsZW1lbnRhdGlvbiBvZiByaXNj dl90aF92ZWN0b3IuaCBpcyBpbnRlbnRpb25hbGx5IHNob3J0LsKgIEl0IGRvZXMKK8KgwqAgbm90 IGRlZmluZSB0aGUgUlZWIHR5cGVzIGFuZCBpbnRyaW5zaWMgZnVuY3Rpb25zIGRpcmVjdGx5IGlu IEMgYW5kIEMrKworwqDCoCBjb2RlLCBidXQgaW5zdGVhZCB1c2VzIHRoZSBmb2xsb3dpbmcgcHJh Z21hIHRvIHRlbGwgR0NDIHRvIGluc2VydCB0aGUKK8KgwqAgbmVjZXNzYXJ5IHR5cGUgYW5kIGZ1 bmN0aW9uIGRlZmluaXRpb25zIGl0c2VsZi7CoCBUaGUgbmV0IGVmZmVjdCBpcyB0aGUKK8KgwqAg c2FtZSwgYW5kIHRoZSBmaWxlIGlzIGEgY29tcGxldGUgaW1wbGVtZW50YXRpb24gb2YgcmlzY3Zf dGhfdmVjdG9yLmguwqAgKi8KKyNwcmFnbWEgcmlzY3YgaW50cmluc2ljICJ4dGhlYWR2ZWN0b3Ii CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmIC8vIF9fY3BsdXNwbHVzCisjZW5kaWYg Ly8gX19yaXNjdl94dGhlYWR2ZWN0b3IKKyNlbmRpZiAvLyBfX1JJU0NWX1RIX0VDVE9SX0gKZGlm ZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvdGhlYWQtdmVjdG9yLm1kIGIvZ2NjL2NvbmZpZy9y aXNjdi90aGVhZC12ZWN0b3IubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAuLjY5NmI4MTUyNTJkCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi90aGVh ZC12ZWN0b3IubWQKQEAgLTAsMCArMSwxMDIgQEAKKyhkZWZpbmVfY19lbnVtICJ1bnNwZWMiIFsK K8KgIFVOU1BFQ19USF9WV0xEU1QKK10pCisKKyhkZWZpbmVfbW9kZV9pdGVyYXRvciBWX1ZMU19W VCBbViBWTFMgVlRdKQorKGRlZmluZV9tb2RlX2l0ZXJhdG9yIFZfVkJfVkxTX1ZUIFtWIFZCIFZM UyBWVF0pCisKKyhkZWZpbmVfc3BsaXQKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZfVkJfVkxT X1ZUIDAgInJlZ19vcl9tZW1fb3BlcmFuZCIpCisJKG1hdGNoX29wZXJhbmQ6Vl9WQl9WTFNfVlQg MSAicmVnX29yX21lbV9vcGVyYW5kIikpXQorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCivCoCBb KGNvbnN0X2ludCAwKV0KK8KgIHsKK8KgwqDCoCBlbWl0X2luc24gKGdlbl9wcmVkX3RoX3dob2xl X21vdiAoPE1PREU+bW9kZSwgb3BlcmFuZHNbMF0sIG9wZXJhbmRzWzFdLAorCQkJCcKgwqDCoMKg wqAgUlZWX1ZMTUFYLCBHRU5fSU5UKHJpc2N2X3ZlY3Rvcjo6VkxNQVgpKSk7CivCoMKgwqAgRE9O RTsKK8KgIH0pCisKKyhkZWZpbmVfaW5zbl9hbmRfc3BsaXQgIkBwcmVkX3RoX3dob2xlX21vdjxt b2RlPiIKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZfVkxTX1ZUIDAgInJlZ19vcl9tZW1fb3Bl cmFuZCLCoCAiPXZyLHZyLCBtIikKKwkodW5zcGVjOlZfVkxTX1ZUCisJwqAgWyhtYXRjaF9vcGVy YW5kOlZfVkxTX1ZUIDEgInJlZ19vcl9tZW1fb3BlcmFuZCIgIiB2ciwgbSx2ciIpCisJwqDCoCAo bWF0Y2hfb3BlcmFuZCAyICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqDCoCAiIHJLLCBySywgcksi KQorCcKgwqAgKG1hdGNoX29wZXJhbmQgMyAiY29uc3RfMV9vcGVyYW5kIsKgwqDCoMKgwqDCoMKg wqAgIsKgIGksIGksIGkiKQorCcKgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCisJwqDCoCAocmVnOlNJ IFZUWVBFX1JFR05VTSldCisJVU5TUEVDX1RIX1ZXTERTVCkpXQorwqAgIlRBUkdFVF9YVEhFQURW RUNUT1IiCivCoCAiQAorwqDCoCB2bXYudi52XHQlMCwlMQorwqDCoCB2bGUudlx0JTAsJTEKK8Kg wqAgdnNlLnZcdCUxLCUwIgorwqAgIiYmIFJFR19QIChvcGVyYW5kc1swXSkgJiYgUkVHX1AgKG9w ZXJhbmRzWzFdKQorwqDCoCAmJiBSRUdOTyAob3BlcmFuZHNbMF0pID09IFJFR05PIChvcGVyYW5k c1sxXSkiCivCoCBbKGNvbnN0X2ludCAwKV0KK8KgICIiCivCoCBbKHNldF9hdHRyICJ0eXBlIiAi dmltb3Ysdmxkcyx2bGRzIikKK8KgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IikKK8KgwqAg KHNldCAoYXR0ciAidGEiKSAoc3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9yOjpUQUlMX1VORElTVFVS QkVEIikpCivCoMKgIChzZXQgKGF0dHIgIm1hIikgKHN5bWJvbF9yZWYgInJpc2N2X3ZlY3Rvcjo6 TUFTS19VTkRJU1RVUkJFRCIpKQorwqDCoCAoc2V0IChhdHRyICJhdmxfdHlwZV9pZHgiKSAoY29u c3RfaW50IDMpKQorwqDCoCAoc2V0X2F0dHIgInZsX29wX2lkeCIgIjIiKV0pCisKKyhkZWZpbmVf aW5zbl9hbmRfc3BsaXQgIkBwcmVkX3RoX3dob2xlX21vdjxtb2RlPiIKK8KgIFsoc2V0IChtYXRj aF9vcGVyYW5kOlZCIDAgInJlZ19vcl9tZW1fb3BlcmFuZCLCoCAiPXZyLHZyLCBtIikKKwkodW5z cGVjOlZCCisJwqAgWyhtYXRjaF9vcGVyYW5kOlZCIDEgInJlZ19vcl9tZW1fb3BlcmFuZCIgIiB2 ciwgbSx2ciIpCisJwqDCoCAobWF0Y2hfb3BlcmFuZCAyICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQi wqDCoCAiIHJLLCBySywgcksiKQorCcKgwqAgKG1hdGNoX29wZXJhbmQgMyAiY29uc3RfMV9vcGVy YW5kIsKgwqDCoMKgwqDCoMKgwqAgIsKgIGksIGksIGkiKQorCcKgwqAgKHJlZzpTSSBWTF9SRUdO VU0pCisJwqDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldCisJVU5TUEVDX1RIX1ZXTERTVCkpXQor wqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCivCoCAiQAorwqDCoCB2bXYudi52XHQlMCwlMQorwqDC oCB2bGUudlx0JTAsJTEKK8KgwqAgdnNlLnZcdCUxLCUwIgorwqAgIiYmIFJFR19QIChvcGVyYW5k c1swXSkgJiYgUkVHX1AgKG9wZXJhbmRzWzFdKQorwqDCoCAmJiBSRUdOTyAob3BlcmFuZHNbMF0p ID09IFJFR05PIChvcGVyYW5kc1sxXSkiCivCoCBbKGNvbnN0X2ludCAwKV0KK8KgICIiCivCoCBb KHNldF9hdHRyICJ0eXBlIiAidmltb3Ysdmxkcyx2bGRzIikKK8KgwqAgKHNldF9hdHRyICJtb2Rl IiAiPE1PREU+IikKK8KgwqAgKHNldCAoYXR0ciAidGEiKSAoc3ltYm9sX3JlZiAicmlzY3ZfdmVj dG9yOjpUQUlMX1VORElTVFVSQkVEIikpCivCoMKgIChzZXQgKGF0dHIgIm1hIikgKHN5bWJvbF9y ZWYgInJpc2N2X3ZlY3Rvcjo6TUFTS19VTkRJU1RVUkJFRCIpKQorwqDCoCAoc2V0IChhdHRyICJh dmxfdHlwZV9pZHgiKSAoY29uc3RfaW50IDMpKQorwqDCoCAoc2V0X2F0dHIgInZsX29wX2lkeCIg IjIiKQorwqDCoCAoc2V0IChhdHRyICJzZXciKSAoY29uc3RfaW50IDgpKQorwqDCoCAoc2V0IChh dHRyICJ2bG11bCIpIChzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6OkxNVUxfMSIpKV0pCisKKyhk ZWZpbmVfaW5zbl9hbmRfc3BsaXQgIipwcmVkX3RoX21vdjxtb2RlPiIKK8KgIFsoc2V0IChtYXRj aF9vcGVyYW5kOlZCX1ZMUyAwICJub25pbW1lZGlhdGVfb3BlcmFuZCLCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgICI9dnIswqDCoCBtLMKgIHZyLMKgIHZyLMKgIHZyIikKKwkoaWZfdGhlbl9l bHNlOlZCX1ZMUworCcKgICh1bnNwZWM6VkJfVkxTCisJwqDCoMKgIFsobWF0Y2hfb3BlcmFuZDpW Ql9WTFMgMSAidmVjdG9yX2FsbF90cnVlc19tYXNrX29wZXJhbmQiICJXYzEsIFdjMSwgV2MxLCBX YzEsIFdjMSIpCisJwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQgNCAidmVjdG9yX2xlbmd0aF9vcGVy YW5kIsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIiBySyzCoCBySyzCoCBySyzCoCBySyzCoCBySyIp CisJwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQgNSAiY29uc3RfaW50X29wZXJhbmQiwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgICLCoCBpLMKgwqAgaSzCoMKgIGkswqDCoCBpLMKgwqAgaSIp CisJwqDCoMKgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCisJwqDCoMKgwqAgKHJlZzpTSSBWVFlQRV9S RUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKKwnCoCAobWF0Y2hfb3BlcmFuZDpWQl9WTFMgMyAi dmVjdG9yX21vdmVfb3BlcmFuZCLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiwqAgbSzCoCB2 cizCoCB2ciwgV2MwLCBXYzEiKQorCcKgIChtYXRjaF9vcGVyYW5kOlZCX1ZMUyAyICJ2ZWN0b3Jf dW5kZWZfb3BlcmFuZCLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIiB2dSzCoCB2dSzCoCB2dSzC oCB2dSzCoCB2dSIpKSldCivCoCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiIKK8KgICJACivCoMKgICMK K8KgwqAgIworwqDCoCB2bWNweS5tXHQlMCwlMworwqDCoCB2bWNsci5tXHQlMAorwqDCoCB2bXNl dC5tXHQlMCIKK8KgICImJiAhcmVsb2FkX2NvbXBsZXRlZCIKK8KgIFsoY29uc3RfaW50IDApXQor wqAgeworwqDCoMKgIGlmICgoTUVNX1AgKG9wZXJhbmRzWzBdKSB8fCBNRU1fUCAob3BlcmFuZHNb M10pKQorwqDCoMKgwqDCoMKgwqAgfHwgKFJFR19QIChvcGVyYW5kc1swXSkgJiYgUkVHX1AgKG9w ZXJhbmRzWzNdKQorCcKgwqDCoCAmJiBJTlRWQUwgKG9wZXJhbmRzWzVdKSA9PSByaXNjdl92ZWN0 b3I6OlZMTUFYKSkKK8KgwqDCoMKgwqAgeworCWVtaXRfbW92ZV9pbnNuIChvcGVyYW5kc1swXSwg b3BlcmFuZHNbM10pOworCURPTkU7CivCoMKgwqDCoMKgIH0KK8KgwqDCoCBGQUlMOworwqAgfQor wqAgWyhzZXRfYXR0ciAidHlwZSIgInZsZG0sdnN0bSx2bWFsdSx2bWFsdSx2bWFsdSIpCivCoMKg IChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlz Y3YvdGhlYWQuY2MgYi9nY2MvY29uZmlnL3Jpc2N2L3RoZWFkLmNjCmluZGV4IDAwYjJlMTRjNmMw Li5jYzA0MTAxYjI1NiAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi90aGVhZC5jYworKysg Yi9nY2MvY29uZmlnL3Jpc2N2L3RoZWFkLmNjCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAi YmFja2VuZC5oIgogI2luY2x1ZGUgInRyZWUuaCIKICNpbmNsdWRlICJydGwuaCIKKyNpbmNsdWRl ICJpbnNuLWF0dHIuaCIKICNpbmNsdWRlICJleHBsb3cuaCIKICNpbmNsdWRlICJtZW1tb2RlbC5o IgogI2luY2x1ZGUgImVtaXQtcnRsLmgiCkBAIC04OTAsOCArODkxLDI2IEBAIHRoX2FzbV9vdXRw dXRfb3Bjb2RlIChGSUxFICphc21fb3V0X2ZpbGUsIGNvbnN0IGNoYXIgKnApCiB7CsKgwqAgLyog V2UgbmVlZCB0byBhZGQgdGguIHByZWZpeCB0byBhbGwgdGhlIHh0aGVhZHZlY3RvcgrCoMKgwqDC oMKgIGluc3RydWN0aW9ucyBoZXJlLiovCi3CoCBpZiAoY3VycmVudF9vdXRwdXRfaW5zbiAhPSBO VUxMICYmIHBbMF0gPT0gJ3YnKQotwqDCoMKgIGZwdXRzICgidGguIiwgYXNtX291dF9maWxlKTsK K8KgIGlmIChjdXJyZW50X291dHB1dF9pbnNuICE9IE5VTEwpCivCoMKgwqAgeworwqDCoMKgwqDC oCBpZiAoZ2V0X2F0dHJfdHlwZSAoY3VycmVudF9vdXRwdXRfaW5zbikgPT0gVFlQRV9WU0VUVkwp CisJeworCcKgIGlmIChzdHJzdHIgKHAsICJ6ZXJvIikpCisJwqDCoMKgIHsKKwnCoMKgwqDCoMKg IGlmIChzdHJzdHIgKHAsICJ6ZXJvLHplcm8iKSkKKwkJcmV0dXJuICJ0aC52c2V0dmxpXHR6ZXJv LHplcm8sZSUwLCVtMSI7CisJwqDCoMKgwqDCoCBlbHNlCisJCXJldHVybiAidGgudnNldHZsaVx0 emVybywlMCxlJTEsJW0yIjsKKwnCoMKgwqAgfQorCcKgIGVsc2UKKwnCoMKgwqAgeworCcKgwqDC oMKgwqAgcmV0dXJuICJ0aC52c2V0dmxpXHQlMCwlMSxlJTIsJW0zIjsKKwnCoMKgwqAgfQorCX0K KworwqDCoMKgwqDCoCBpZiAocFswXSA9PSAndicpCisJZnB1dHMgKCJ0aC4iLCBhc21fb3V0X2Zp bGUpOworwqDCoMKgIH0KIArCoMKgIHJldHVybiBwOwogfQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZp Zy9yaXNjdi92ZWN0b3IubWQgYi9nY2MvY29uZmlnL3Jpc2N2L3ZlY3Rvci5tZAppbmRleCAyNGI3 YjQzOTRiZS4uM2ViNmRhYWZiYzIgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvcmlzY3YvdmVjdG9y Lm1kCisrKyBiL2djYy9jb25maWcvcmlzY3YvdmVjdG9yLm1kCkBAIC04Nyw3ICs4Nyw3IEBACiA7 OyBjaGVjay4gSG93ZXZlciwgd2UgbmVlZCBkZWZhdWx0IHZhbHVlIG9mIFNFVyBmb3IgdnNldHZs IGluc3RydWN0aW9uIHNpbmNlIHRoZXJlCiA7OyBpcyBubyBmaWVsZCBmb3IgcmF0aW8gaW4gdGhl IHZzZXR2bCBpbnN0cnVjdGlvbiBlbmNvZGluZy4KIChkZWZpbmVfYXR0ciAic2V3IiAiIgotwqAg KGNvbmQgWyhlcV9hdHRyICJtb2RlIiAiUlZWTUY2NEJJLFJWVk1GMzJCSSxSVlZNRjE2QkksUlZW TUY4QkksUlZWTUY0QkksUlZWTUYyQkksUlZWTTFCSSxcCivCoCAoY29uZCBbKGVxX2F0dHIgIm1v ZGUiICJSVlZNRjhCSSxSVlZNRjRCSSxSVlZNRjJCSSxSVlZNMUJJLFwKIAkJCcKgIFJWVk04UUks UlZWTTRRSSxSVlZNMlFJLFJWVk0xUUksUlZWTUYyUUksUlZWTUY0UUksUlZWTUY4UUksXAogCQkJ wqAgUlZWTTF4OFFJLFJWVk1GMng4UUksUlZWTUY0eDhRSSxSVlZNRjh4OFFJLFwKIAkJCcKgIFJW Vk0xeDdRSSxSVlZNRjJ4N1FJLFJWVk1GNHg3UUksUlZWTUY4eDdRSSxcCkBAIC05OSw2ICs5OSwx OCBAQAogCQkJwqAgVjFRSSxWMlFJLFY0UUksVjhRSSxWMTZRSSxWMzJRSSxWNjRRSSxWMTI4UUks VjI1NlFJLFY1MTJRSSxWMTAyNFFJLFYyMDQ4UUksVjQwOTZRSSxcCiAJCQnCoCBWMUJJLFYyQkks VjRCSSxWOEJJLFYxNkJJLFYzMkJJLFY2NEJJLFYxMjhCSSxWMjU2QkksVjUxMkJJLFYxMDI0Qkks VjIwNDhCSSxWNDA5NkJJIikKIAkgKGNvbnN0X2ludCA4KQorCSAoZXFfYXR0ciAibW9kZSIgIlJW Vk1GMTZCSSIpCisJwqDCoCAoaWZfdGhlbl9lbHNlIChtYXRjaF90ZXN0ICJUQVJHRVRfWFRIRUFE VkVDVE9SIikKKwnCoMKgwqDCoCAoY29uc3RfaW50IDE2KQorCcKgwqDCoMKgIChjb25zdF9pbnQg OCkpCisJIChlcV9hdHRyICJtb2RlIiAiUlZWTUYzMkJJIikKKwnCoMKgIChpZl90aGVuX2Vsc2Ug KG1hdGNoX3Rlc3QgIlRBUkdFVF9YVEhFQURWRUNUT1IiKQorCcKgwqDCoMKgIChjb25zdF9pbnQg MzIpCisJwqDCoMKgwqAgKGNvbnN0X2ludCA4KSkKKwkgKGVxX2F0dHIgIm1vZGUiICJSVlZNRjY0 QkkiKQorCcKgwqAgKGlmX3RoZW5fZWxzZSAobWF0Y2hfdGVzdCAiVEFSR0VUX1hUSEVBRFZFQ1RP UiIpCisJwqDCoMKgwqAgKGNvbnN0X2ludCA2NCkKKwnCoMKgwqDCoCAoY29uc3RfaW50IDgpKQog CSAoZXFfYXR0ciAibW9kZSIgIlJWVk04SEksUlZWTTRISSxSVlZNMkhJLFJWVk0xSEksUlZWTUYy SEksUlZWTUY0SEksXAogCQkJwqAgUlZWTTF4OEhJLFJWVk1GMng4SEksUlZWTUY0eDhISSxcCiAJ CQnCoCBSVlZNMXg3SEksUlZWTUYyeDdISSxSVlZNRjR4N0hJLFwKQEAgLTE1OSw5ICsxNzEsOSBA QAogCSAoZXFfYXR0ciAibW9kZSIgIlJWVk00UUksUlZWTUYyQkkiKSAoc3ltYm9sX3JlZiAicmlz Y3ZfdmVjdG9yOjpMTVVMXzQiKQogCSAoZXFfYXR0ciAibW9kZSIgIlJWVk0yUUksUlZWTUY0Qkki KSAoc3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9yOjpMTVVMXzIiKQogCSAoZXFfYXR0ciAibW9kZSIg IlJWVk0xUUksUlZWTUY4QkkiKSAoc3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9yOjpMTVVMXzEiKQot CSAoZXFfYXR0ciAibW9kZSIgIlJWVk1GMlFJLFJWVk1GMTZCSSIpIChzeW1ib2xfcmVmICJyaXNj dl92ZWN0b3I6OkxNVUxfRjIiKQotCSAoZXFfYXR0ciAibW9kZSIgIlJWVk1GNFFJLFJWVk1GMzJC SSIpIChzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6OkxNVUxfRjQiKQotCSAoZXFfYXR0ciAibW9k ZSIgIlJWVk1GOFFJLFJWVk1GNjRCSSIpIChzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6OkxNVUxf RjgiKQorCSAoZXFfYXR0ciAibW9kZSIgIlJWVk1GMlFJLFJWVk1GMTZCSSIpIChzeW1ib2xfcmVm ICJUQVJHRVRfWFRIRUFEVkVDVE9SID8gcmlzY3ZfdmVjdG9yOjpMTVVMXzEgOiByaXNjdl92ZWN0 b3I6OkxNVUxfRjIiKQorCSAoZXFfYXR0ciAibW9kZSIgIlJWVk1GNFFJLFJWVk1GMzJCSSIpIChz eW1ib2xfcmVmICJUQVJHRVRfWFRIRUFEVkVDVE9SID8gcmlzY3ZfdmVjdG9yOjpMTVVMXzEgOiBy aXNjdl92ZWN0b3I6OkxNVUxfRjQiKQorCSAoZXFfYXR0ciAibW9kZSIgIlJWVk1GOFFJLFJWVk1G NjRCSSIpIChzeW1ib2xfcmVmICJUQVJHRVRfWFRIRUFEVkVDVE9SID8gcmlzY3ZfdmVjdG9yOjpM TVVMXzEgOiByaXNjdl92ZWN0b3I6OkxNVUxfRjgiKQogCSAoZXFfYXR0ciAibW9kZSIgIlJWVk04 SEkiKSAoc3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9yOjpMTVVMXzgiKQogCSAoZXFfYXR0ciAibW9k ZSIgIlJWVk00SEkiKSAoc3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9yOjpMTVVMXzQiKQogCSAoZXFf YXR0ciAibW9kZSIgIlJWVk0ySEkiKSAoc3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9yOjpMTVVMXzIi KQpAQCAtNDM2LDYgKzQ0OCwxMCBAQAogCQkJwqAgdmFlc2tmMSx2YWVza2YyLHZhZXN6LHZzaGEy bXMsdnNoYTJjaCx2c2hhMmNsLHZzbTRrLHZzbTRyLFwKIAkJCcKgIHZzbTNtZSx2c20zYyIpCiAJ wqDCoCAoY29uc3RfaW50IElOVkFMSURfQVRUUklCVVRFKQorCShhbmQgKGVxX2F0dHIgInR5cGUi ICJ2bGRlLHZzdGUsdmxzZWdkZSx2c3NlZ3RlLHZsc2VnZHMsdnNzZWd0cyxcCisJCQnCoMKgwqDC oMKgwqAgdmxzZWdkZmYsdnNzZWd0dXgsdmxzZWdkb3gsdmxzZWdkdXgiKQorCcKgwqDCoMKgwqAg KG1hdGNoX3Rlc3QgIlRBUkdFVF9YVEhFQURWRUNUT1IiKSkKKwnCoMKgIChjb25zdF9pbnQgSU5W QUxJRF9BVFRSSUJVVEUpCiAJIChlcV9hdHRyICJtb2RlIiAiUlZWTThRSSxSVlZNMUJJIikgKGNv bnN0X2ludCAxKQogCSAoZXFfYXR0ciAibW9kZSIgIlJWVk00UUksUlZWTUYyQkkiKSAoY29uc3Rf aW50IDIpCiAJIChlcV9hdHRyICJtb2RlIiAiUlZWTTJRSSxSVlZNRjRCSSIpIChjb25zdF9pbnQg NCkKQEAgLTkwNSw2ICs5MjEsOCBAQAogCSAoc3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9yOjpGUk1f RFlOIildCiAJKHN5bWJvbF9yZWYgInJpc2N2X3ZlY3Rvcjo6RlJNX05PTkUiKSkpCiAKKyhpbmNs dWRlICJ0aGVhZC12ZWN0b3IubWQiKQorCiA7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogOzsgLS0tLSBNaXNjZWxsYW5l b3VzIE9wZXJhdGlvbnMKIDs7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0xMDc4LDYgKzEwOTYsMTIgQEAKwqDCoMKg wqDCoMKgwqAgLSBXZSBjYW4gbm90IGxlYXZlIGl0IHRvIFRBUkdFVF9TRUNPTkRBUllfUkVMT0FE IHNpbmNlIGl0IGhhcHBlbnMKIAkgYmVmb3JlIHNwaWxsaW5nLiBUaGUgY2xvYmJlciBzY3JhdGNo IGlzIHVzZWQgYnkgc3BpbGxpbmcgZnJhY3Rpb25hbAogCSByZWdpc3RlcnMgaW4gSVJBL0xSQSBz byBpdCdzIHRvbyBlYXJseS7CoCAqLworwqAgaWYgKFRBUkdFVF9YVEhFQURWRUNUT1IpCivCoMKg wqAgeworwqDCoMKgwqDCoCBlbWl0X2luc24gKGdlbl9wcmVkX3RoX3dob2xlX21vdiAoPE1PREU+ bW9kZSwgb3BlcmFuZHNbMF0sIG9wZXJhbmRzWzFdLAorCQkJCQlSVlZfVkxNQVgsIEdFTl9JTlQo cmlzY3ZfdmVjdG9yOjpWTE1BWCkpKTsKK8KgwqDCoMKgwqAgRE9ORTsKK8KgwqDCoCB9CiAKwqDC oCBpZiAocmlzY3ZfdmVjdG9yOjpsZWdpdGltaXplX21vdmUgKG9wZXJhbmRzWzBdLCAmb3BlcmFu ZHNbMV0pKQrCoMKgwqDCoCBET05FOwpAQCAtMTExNCw3ICsxMTM4LDcgQEAKIChkZWZpbmVfaW5z biAiKm1vdjxtb2RlPl93aG9sZSIKwqDCoCBbKHNldCAobWF0Y2hfb3BlcmFuZDpWX1dIT0xFIDAg InJlZ19vcl9tZW1fb3BlcmFuZCIgIj12ciwgbSx2ciIpCiAJKG1hdGNoX29wZXJhbmQ6Vl9XSE9M RSAxICJyZWdfb3JfbWVtX29wZXJhbmQiICLCoCBtLHZyLHZyIikpXQotwqAgIlRBUkdFVF9WRUNU T1IiCivCoCAiVEFSR0VUX1ZFQ1RPUiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiIKwqDCoCAiQArC oMKgwqAgdmwlbTFyZTxzZXc+LnZcdCUwLCUxCsKgwqDCoCB2cyVtMXIudlx0JTEsJTAKQEAgLTEx MzUsNiArMTE1OSwxMyBAQAogCShtYXRjaF9vcGVyYW5kOlZCIDEgImdlbmVyYWxfb3BlcmFuZCIp KV0KwqDCoCAiVEFSR0VUX1ZFQ1RPUiIKIHsKK8KgIGlmIChUQVJHRVRfWFRIRUFEVkVDVE9SKQor wqDCoMKgIHsKK8KgwqDCoMKgwqAgZW1pdF9pbnNuIChnZW5fcHJlZF90aF93aG9sZV9tb3YgKDxN T0RFPm1vZGUsIG9wZXJhbmRzWzBdLCBvcGVyYW5kc1sxXSwKKwkJCQkJUlZWX1ZMTUFYLCBHRU5f SU5UKHJpc2N2X3ZlY3Rvcjo6VkxNQVgpKSk7CivCoMKgwqDCoMKgIERPTkU7CivCoMKgwqAgfQor CsKgwqAgaWYgKHJpc2N2X3ZlY3Rvcjo6bGVnaXRpbWl6ZV9tb3ZlIChvcGVyYW5kc1swXSwgJm9w ZXJhbmRzWzFdKSkKwqDCoMKgwqAgRE9ORTsKIH0pCkBAIC0xMTQyLDcgKzExNzMsNyBAQAogKGRl ZmluZV9pbnNuICIqbW92PG1vZGU+IgrCoMKgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZCIDAgInJl Z2lzdGVyX29wZXJhbmQiICI9dnIiKQogCShtYXRjaF9vcGVyYW5kOlZCIDEgInJlZ2lzdGVyX29w ZXJhbmQiICIgdnIiKSldCi3CoCAiVEFSR0VUX1ZFQ1RPUiIKK8KgICJUQVJHRVRfVkVDVE9SICYm ICFUQVJHRVRfWFRIRUFEVkVDVE9SIgrCoMKgICJ2bXYxci52XHQlMCwlMSIKwqDCoCBbKHNldF9h dHRyICJ0eXBlIiAidm1vdiIpCsKgwqDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pCkBA IC0zNjkyLDcgKzM3MjMsNyBAQAogCcKgIChhbnlfZXh0ZW5kOlZXRVhUSQogCcKgwqDCoCAobWF0 Y2hfb3BlcmFuZDo8Vl9ET1VCTEVfVFJVTkM+IDMgInJlZ2lzdGVyX29wZXJhbmQiwqDCoCAiVzIx LFcyMSxXMjEsVzIxLFc0MixXNDIsVzQyLFc0MixXODQsVzg0LFc4NCxXODQswqDCoCB2cizCoMKg IHZyIikpCiAJwqAgKG1hdGNoX29wZXJhbmQ6VldFWFRJIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5k IsKgwqDCoMKgwqDCoMKgwqDCoMKgICIgdnUsIHZ1LMKgIDAswqAgMCwgdnUsIHZ1LMKgIDAswqAg MCwgdnUsIHZ1LMKgIDAswqAgMCzCoMKgIHZ1LMKgwqDCoCAwIikpKV0KLcKgICJUQVJHRVRfVkVD VE9SIgorwqAgIlRBUkdFVF9WRUNUT1IgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IiCsKgwqAgInY8 c3o+ZXh0LnZmMlx0JTAsJTMlcDEiCsKgwqAgWyhzZXRfYXR0ciAidHlwZSIgInZleHQiKQrCoMKg wqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IikKQEAgLTM3MTMsNyArMzc0NCw3IEBACiAJwqAg KGFueV9leHRlbmQ6VlFFWFRJCiAJwqDCoMKgIChtYXRjaF9vcGVyYW5kOjxWX1FVQURfVFJVTkM+ IDMgInJlZ2lzdGVyX29wZXJhbmQiwqDCoCAiVzQzLFc0MyxXNDMsVzQzLFc4NixXODYsVzg2LFc4 NizCoMKgIHZyLMKgwqAgdnIiKSkKIAnCoCAobWF0Y2hfb3BlcmFuZDpWUUVYVEkgMiAidmVjdG9y X21lcmdlX29wZXJhbmQiwqDCoMKgwqDCoMKgwqDCoCAiIHZ1LCB2dSzCoCAwLMKgIDAsIHZ1LCB2 dSzCoCAwLMKgIDAswqDCoCB2dSzCoMKgwqAgMCIpKSldCi3CoCAiVEFSR0VUX1ZFQ1RPUiIKK8Kg ICJUQVJHRVRfVkVDVE9SICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SIgrCoMKgICJ2PHN6PmV4dC52 ZjRcdCUwLCUzJXAxIgrCoMKgIFsoc2V0X2F0dHIgInR5cGUiICJ2ZXh0IikKwqDCoMKgIChzZXRf YXR0ciAibW9kZSIgIjxNT0RFPiIpCkBAIC0zNzM0LDcgKzM3NjUsNyBAQAogCcKgIChhbnlfZXh0 ZW5kOlZPRVhUSQogCcKgwqDCoCAobWF0Y2hfb3BlcmFuZDo8Vl9PQ1RfVFJVTkM+IDMgInJlZ2lz dGVyX29wZXJhbmQiwqDCoCAiVzg3LFc4NyxXODcsVzg3LMKgwqAgdnIswqDCoCB2ciIpKQogCcKg IChtYXRjaF9vcGVyYW5kOlZPRVhUSSAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCLCoMKgwqDCoMKg wqDCoCAiIHZ1LCB2dSzCoCAwLMKgIDAswqDCoCB2dSzCoMKgwqAgMCIpKSldCi3CoCAiVEFSR0VU X1ZFQ1RPUiIKK8KgICJUQVJHRVRfVkVDVE9SICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SIgrCoMKg ICJ2PHN6PmV4dC52ZjhcdCUwLCUzJXAxIgrCoMKgIFsoc2V0X2F0dHIgInR5cGUiICJ2ZXh0IikK wqDCoMKgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvYWJpLTEuYyBiL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi9ydnYvYmFzZS9hYmktMS5jCmluZGV4IDJlMGUxMmFhMDQ1Li4yZWVmOWUx ZTFhOCAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNl L2FiaS0xLmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL2Fi aS0xLmMKQEAgLTEsNCArMSw0IEBACi0vKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1k byBjb21waWxlIHsgdGFyZ2V0IHsgISByaXNjdl94dGhlYWR2ZWN0b3IgfSB9IH0gKi8KIC8qIHsg ZGctc2tpcC1pZiAidGVzdCBydnYgaW50cmluc2ljIiB7ICotKi0qIH0geyAiKiIgfSB7ICItbWFy Y2g9cnYqdioiIH0gfSAqLwogCiB2b2lkIGZvbzAgKCkge19fcnZ2X2Jvb2w2NF90IHQ7fQpkaWZm IC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByYWdtYS0x LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHJhZ21hLTEuYwpp bmRleCAzZDgxYjE3OTIzNS4uZWYzMjllMzA3ODUgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcmFnbWEtMS5jCisrKyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcmFnbWEtMS5jCkBAIC0xLDQgKzEsNCBAQAogLyog eyBkZy1kbyBjb21waWxlIH0gKi8KIC8qIHsgZGctb3B0aW9ucyAiLU8zIC1tYXJjaD1ydjMyZ2Mg LW1hYmk9aWxwMzJkIiB9ICovCiAKLSNwcmFnbWEgcmlzY3YgaW50cmluc2ljICJ2ZWN0b3IiIC8q IHsgZGctZXJyb3IgeyNwcmFnbWEgcmlzY3YgaW50cmluc2ljJyBvcHRpb24gJ3ZlY3RvcicgbmVl ZHMgJ1YnIGV4dGVuc2lvbiBlbmFibGVkfSB9ICovCisjcHJhZ21hIHJpc2N2IGludHJpbnNpYyAi dmVjdG9yIiAvKiB7IGRnLWVycm9yIHsjcHJhZ21hIHJpc2N2IGludHJpbnNpYycgb3B0aW9uICd2 ZWN0b3InIG5lZWRzICdWJyBvciAnWFRIRUFEVkVDVE9SJyBleHRlbnNpb24gZW5hYmxlZH0gfSAq LwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9saWIvdGFyZ2V0LXN1cHBvcnRzLmV4cCBiL2dj Yy90ZXN0c3VpdGUvbGliL3RhcmdldC1zdXBwb3J0cy5leHAKaW5kZXggYjI3YzMwYjhjNTEuLmJm MGFkNTM0MmQ2IDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2xpYi90YXJnZXQtc3VwcG9ydHMu ZXhwCisrKyBiL2djYy90ZXN0c3VpdGUvbGliL3RhcmdldC1zdXBwb3J0cy5leHAKQEAgLTE5NTYs NiArMTk1NiwxOCBAQCBwcm9jIGNoZWNrX2VmZmVjdGl2ZV90YXJnZXRfcmlzY3ZfemJiIHsgfSB7 CsKgwqDCoMKgIH1dCiB9CiAKKyMgUmV0dXJuIDEgaWYgdGhlIHRhcmdldCBhcmNoIHN1cHBvcnRz IHRoZSBYVGhlYWRWZWN0b3IgZXh0ZW5zaW9uLCAwIG90aGVyd2lzZS4KKyMgQ2FjaGUgdGhlIHJl c3VsdC4KKworcHJvYyBjaGVja19lZmZlY3RpdmVfdGFyZ2V0X3Jpc2N2X3h0aGVhZHZlY3RvciB7 IH0geworwqDCoMKgIHJldHVybiBbY2hlY2tfbm9fY29tcGlsZXJfbWVzc2FnZXMgcmlzY3ZfZXh0 X3h0aGVhZHZlY3RvciBhc3NlbWJseSB7CivCoMKgwqDCoMKgwqAgI2lmbmRlZiBfX3Jpc2N2X3h0 aGVhZHZlY3RvcgorwqDCoMKgwqDCoMKgICNlcnJvciAiTm90IF9fcmlzY3ZfeHRoZWFkdmVjdG9y IgorwqDCoMKgwqDCoMKgICNlbmRpZgorwqDCoMKgIH1dCit9CisKKwogIyBSZXR1cm4gMSBpZiB3 ZSBjYW4gZXhlY3V0ZSBjb2RlIHdoZW4gdXNpbmcgZGctYWRkLW9wdGlvbnMgcmlzY3ZfdgogCiBw cm9jIGNoZWNrX2VmZmVjdGl2ZV90YXJnZXRfcmlzY3Zfdl9vayB7IH0gewotLSAKMi4xNy4xCsKg CsKgCgoK