From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6DE01C43381 for ; Wed, 20 Feb 2019 20:42:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 1440B2075C for ; Wed, 20 Feb 2019 20:42:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726166AbfBTUmy (ORCPT ); Wed, 20 Feb 2019 15:42:54 -0500 Received: from shards.monkeyblade.net ([23.128.96.9]:55920 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726137AbfBTUmy (ORCPT ); Wed, 20 Feb 2019 15:42:54 -0500 Received: from localhost (unknown [IPv6:2601:601:9f80:35cd::bf5]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id 777FF12536DA8 for ; Wed, 20 Feb 2019 12:42:52 -0800 (PST) Date: Wed, 20 Feb 2019 12:42:52 -0800 (PST) Message-Id: <20190220.124252.813468072786370919.davem@davemloft.net> To: stable@vger.kernel.org Subject: [PATCHES] Networking From: David Miller X-Mailer: Mew version 6.8 on Emacs 26.1 Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Wed_Feb_20_12_42_52_2019_421)--" Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Wed, 20 Feb 2019 12:42:53 -0800 (PST) Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org ----Next_Part(Wed_Feb_20_12_42_52_2019_421)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for v4.19 and v4.20 -stable, respectively. Thank you. ----Next_Part(Wed_Feb_20_12_42_52_2019_421)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_419.mbox" RnJvbSA1ODhkZWUyNGRjMTM4MmM3MDMxZjRlNzdjZTdiZGRiN2NmMDA1YTRiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaWNvbGFzIERpY2h0ZWwgPG5pY29sYXMuZGljaHRlbEA2d2lu ZC5jb20+CkRhdGU6IFRodSwgMTcgSmFuIDIwMTkgMTE6Mjc6MjIgKzAxMDAKU3ViamVjdDogW1BB VENIIDAxLzIwXSBhZl9wYWNrZXQ6IGZpeCByYXcgc29ja2V0cyBvdmVyIDZpbjQgdHVubmVsCgpb IFVwc3RyZWFtIGNvbW1pdCA4OGE4MTIxZGMxZDNkMGRiZGRkNDExYjc5ZWQyMzZiNmI2ZWE0MTVj IF0KClNpbmNlIGNvbW1pdCBjYjlmMWI3ODM4NTAsIHNjYXB5ICh3aGljaCB1c2VzIGFuIEFGX1BB Q0tFVCBzb2NrZXQgaW4KU09DS19SQVcgbW9kZSkgaXMgdW5hYmxlIHRvIHNlbmQgYSBiYXNpYyBp Y21wIHBhY2tldCBvdmVyIGEgc2l0IHR1bm5lbDoKCkhlcmUgaXMgYSBleGFtcGxlIG9mIHRoZSBz ZXR1cDoKJCBpcCBsaW5rIHNldCBudGZwMiB1cAokIGlwIGFkZHIgYWRkIDEwLjEyNS4wLjEvMjQg ZGV2IG50ZnAyCiQgaXAgdHVubmVsIGFkZCB0dW4xIG1vZGUgc2l0IHR0bCA2NCBsb2NhbCAxMC4x MjUuMC4xIHJlbW90ZSAxMC4xMjUuMC4yIGRldiBudGZwMgokIGlwIGFkZHIgYWRkIGZkMDA6Y2Fm ZTpjYWZlOjoxLzEyOCBkZXYgdHVuMQokIGlwIGxpbmsgc2V0IGRldiB0dW4xIHVwCiQgaXAgcm91 dGUgYWRkIGZkMDA6MjAwOjovNjQgZGV2IHR1bjEKJCBzY2FweQo+Pj4gcCA9IFtdCj4+PiBwICs9 IElQdjYoc3JjPSdmZDAwOjEwMDo6MScsIGRzdD0nZmQwMDoyMDA6OjEnKS9JQ01QdjZFY2hvUmVx dWVzdCgpCj4+PiBzZW5kKHAsIGNvdW50PTEsIGludGVyPTAuMSkKPj4+IHF1aXQoKQokIGlwIC1z IGxpbmsgbHMgZGV2IHR1bjEgfCBncmVwIC1BMSAiVFguKmVycm9ycyIKICAgIFRYOiBieXRlcyAg cGFja2V0cyAgZXJyb3JzICBkcm9wcGVkIGNhcnJpZXIgY29sbHNucwogICAgMCAgICAgICAgICAw ICAgICAgICAxICAgICAgIDAgICAgICAgMCAgICAgICAwCgpUaGUgcHJvYmxlbSBpcyB0aGF0IHRo ZSBuZXR3b3JrIG9mZnNldCBpcyBzZXQgdG8gdGhlIGhhcmRfaGVhZGVyX2xlbiBvZiB0aGUKb3V0 cHV0IGRldmljZSAodHVuMSwgaWUgMTQgKyAyMCkgYW5kIGluIG91ciBjYXNlLCBiZWNhdXNlIHRo ZSBwYWNrZXQgaXMKc21hbGwgKDQ4IGJ5dGVzKSB0aGUgcHNrYl9pbmV0X21heV9wdWxsKCkgZmFp bHMgKGl0IHRyaWVzIHRvIHB1bGwgNDAgYnl0ZXMKKGlwdjYgaGVhZGVyKSBzdGFydGluZyBmcm9t IHRoZSBuZXR3b3JrIG9mZnNldCkuCgpUaGlzIHByb2JsZW0gaXMgbW9yZSBnZW5lcmFsbHkgcmVs YXRlZCB0byBkZXZpY2Ugd2l0aCB2YXJpYWJsZSBoYXJkIGhlYWRlcgpsZW5ndGguIFRvIGF2b2lk IGEgdG9vIGludHJ1c2l2ZSBwYXRjaCBpbiB0aGUgY3VycmVudCByZWxlYXNlLCBhICh1Z2x5KQp3 b3JrYXJvdW5kIGlzIHByb3Bvc2VkIGluIHRoaXMgcGF0Y2guIEl0IGhhcyB0byBiZSBjbGVhbmVk IHVwIGluIG5ldC1uZXh0LgoKTGluazogaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xp bnV4L2tlcm5lbC9naXQvdG9ydmFsZHMvbGludXguZ2l0L2NvbW1pdC8/aWQ9OTkzNjc1YTMxMDBi MQpMaW5rOiBodHRwOi8vcGF0Y2h3b3JrLm96bGFicy5vcmcvcGF0Y2gvMTAyNDQ4OS8KRml4ZXM6 IGNiOWYxYjc4Mzg1MCAoImlwOiB2YWxpZGF0ZSBoZWFkZXIgbGVuZ3RoIG9uIHZpcnR1YWwgZGV2 aWNlIHhtaXQiKQpDQzogV2lsbGVtIGRlIEJydWlqbiA8d2lsbGVtYkBnb29nbGUuY29tPgpDQzog TWF4aW0gTWlraXR5YW5za2l5IDxtYXhpbW1pQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTog Tmljb2xhcyBEaWNodGVsIDxuaWNvbGFzLmRpY2h0ZWxANndpbmQuY29tPgpBY2tlZC1ieTogV2ls bGVtIGRlIEJydWlqbiA8d2lsbGVtYkBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3BhY2tldC9hZl9wYWNrZXQu YyB8IDMgKystCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvbmV0L3BhY2tldC9hZl9wYWNrZXQuYyBiL25ldC9wYWNrZXQvYWZfcGFj a2V0LmMKaW5kZXggYjZlYTBmYWRiMzRmLi5jNzZjMjE2MDRmZmQgMTAwNjQ0Ci0tLSBhL25ldC9w YWNrZXQvYWZfcGFja2V0LmMKKysrIGIvbmV0L3BhY2tldC9hZl9wYWNrZXQuYwpAQCAtMjg4Nyw3 ICsyODg3LDggQEAgc3RhdGljIGludCBwYWNrZXRfc25kKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0 cnVjdCBtc2doZHIgKm1zZywgc2l6ZV90IGxlbikKIAkJCWdvdG8gb3V0X2ZyZWU7CiAJfSBlbHNl IGlmIChyZXNlcnZlKSB7CiAJCXNrYl9yZXNlcnZlKHNrYiwgLXJlc2VydmUpOwotCQlpZiAobGVu IDwgcmVzZXJ2ZSkKKwkJaWYgKGxlbiA8IHJlc2VydmUgKyBzaXplb2Yoc3RydWN0IGlwdjZoZHIp ICYmCisJCSAgICBkZXYtPm1pbl9oZWFkZXJfbGVuICE9IGRldi0+aGFyZF9oZWFkZXJfbGVuKQog CQkJc2tiX3Jlc2V0X25ldHdvcmtfaGVhZGVyKHNrYik7CiAJfQogCi0tIAoyLjIwLjEKCgpGcm9t IDQ5NmY5YWEwNmMxMTQ2NGMwMTQyYjgyZjNjMzgxNjhmNzA5MmFlNmYgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IEpvaG4gRGF2aWQgQW5nbGluIDxkYXZlLmFuZ2xpbkBiZWxsLm5ldD4K RGF0ZTogTW9uLCAxMSBGZWIgMjAxOSAxMzo0MDoyMSAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMDIv MjBdIGRzYTogbXY4OGU2eHh4OiBFbnN1cmUgYWxsIHBlbmRpbmcgaW50ZXJydXB0cyBhcmUKIGhh bmRsZWQgcHJpb3IgdG8gZXhpdAoKWyBVcHN0cmVhbSBjb21taXQgN2MwZGIyNGNjNDMxZTIxOTZk OThhNWQ1ZGRhYTkwODhlMmZjYmZlNSBdCgpUaGUgR1BJTyBpbnRlcnJ1cHQgY29udHJvbGxlciBv biB0aGUgZXNwcmVzc29iaW4gYm9hcmQgb25seSBzdXBwb3J0cyBlZGdlIGludGVycnVwdHMuCklm IG9uZSBlbmFibGVzIHRoZSB1c2Ugb2YgaGFyZHdhcmUgaW50ZXJydXB0cyBpbiB0aGUgZGV2aWNl IHRyZWUgZm9yIHRoZSA4OEU2MzQxLCBpdCBpcwpwb3NzaWJsZSB0byBtaXNzIGFuIGVkZ2UuICBX aGVuIHRoaXMgaGFwcGVucywgdGhlIElOVG4gcGluIG9uIHRoZSBNYXJ2ZWxsIHN3aXRjaCBpcwpz dHVjayBsb3cgYW5kIG5vIGZ1cnRoZXIgaW50ZXJydXB0cyBvY2N1ci4KCkkgZm91bmQgYWZ0ZXIg YWRkaW5nIGRlYnVnIHN0YXRlbWVudHMgdG8gbXY4OGU2eHh4X2cxX2lycV90aHJlYWRfd29yaygp IHRoYXQgdGhlcmUgaXMKYSByYWNlIGluIGhhbmRsaW5nIGRldmljZSBpbnRlcnJ1cHRzIChlLmcu IFBIWSBsaW5rIGludGVycnVwdHMpLiAgU29tZSBpbnRlcnJ1cHRzIGFyZQpkaXJlY3RseSBjbGVh cmVkIGJ5IHJlYWRpbmcgdGhlIEdsb2JhbCAxIHN0YXR1cyByZWdpc3Rlci4gIEhvd2V2ZXIsIHRo ZSBkZXZpY2UgaW50ZXJydXB0CmZsYWcsIGZvciBleGFtcGxlLCBpcyBub3QgY2xlYXJlZCB1bnRp bCBhbGwgdGhlIHVubWFza2VkIFNFUkRFUyBhbmQgUEhZIHBvcnRzIGFyZSBzZXJ2aWNlZC4KVGhp cyBpcyBkb25lIGJ5IHJlYWRpbmcgdGhlIHJlbGV2YW50IFNFUkRFUyBhbmQgUEhZIHN0YXR1cyBy ZWdpc3Rlci4KClRoZSBjb2RlIG9ubHkgc2VydmljZXMgaW50ZXJydXB0cyB3aG9zZSBzdGF0dXMg Yml0IGlzIHNldCBhdCB0aGUgdGltZSBvZiByZWFkaW5nIGl0cyBzdGF0dXMKcmVnaXN0ZXIuICBJ ZiBhbiBpbnRlcnJ1cHQgZXZlbnQgb2NjdXJzIGFmdGVyIGl0cyBzdGF0dXMgaXMgcmVhZCBhbmQg YmVmb3JlIGFsbCBpbnRlcnJ1cHRzCmFyZSBzZXJ2aWNlZCwgdGhlbiB0aGlzIGV2ZW50IHdpbGwg bm90IGJlIHNlcnZpY2VkIGFuZCB0aGUgSU5UbiBvdXRwdXQgcGluIHdpbGwgcmVtYWluIGxvdy4K ClRoaXMgaXMgbm90IGEgcHJvYmxlbSB3aXRoIHBvbGxpbmcgb3IgbGV2ZWwgaW50ZXJydXB0cyBz aW5jZSB0aGUgaGFuZGxlciB3aWxsIGJlIGNhbGxlZAphZ2FpbiB0byBwcm9jZXNzIHRoZSBldmVu dC4gIEhvd2V2ZXIsIGl0J3MgYSBiaWcgcHJvYmxlbSB3aGVuIHVzaW5nIGxldmVsIGludGVycnVw dHMuCgpUaGUgZml4IHByZXNlbnRlZCBoZXJlIGlzIHRvIGFkZCBhIGxvb3AgYXJvdW5kIHRoZSBj b2RlIHNlcnZpY2luZyBzd2l0Y2ggaW50ZXJydXB0cy4gIElmCmFueSBwZW5kaW5nIGludGVycnVw dHMgcmVtYWluIGFmdGVyIHRoZSBjdXJyZW50IHNldCBoYXMgYmVlbiBoYW5kbGVkLCB3ZSBsb29w IGFuZCBwcm9jZXNzCnRoZSBuZXcgc2V0LiAgSWYgdGhlcmUgYXJlIG5vIHBlbmRpbmcgaW50ZXJy dXB0cyBhZnRlciBzZXJ2aWNpbmcsIHdlIGFyZSBzdXJlIHRoYXQgSU5UbiBoYXMKZ29uZSBoaWdo IGFuZCB3ZSB3aWxsIGdldCBhbiBlZGdlIHdoZW4gYSBuZXcgZXZlbnQgb2NjdXJzLgoKVGVzdGVk IG9uIGVzcHJlc3NvYmluIGJvYXJkLgoKRml4ZXM6IGRjMzBjMzViZTcyMCAoIm5ldDogZHNhOiBt djg4ZTZ4eHg6IEltcGxlbWVudCBpbnRlcnJ1cHQgc3VwcG9ydC4iKQpTaWduZWQtb2ZmLWJ5OiAg Sm9obiBEYXZpZCBBbmdsaW4gPGRhdmUuYW5nbGluQGJlbGwubmV0PgpUZXN0ZWQtYnk6IEFuZHJl dyBMdW5uIDxhbmRyZXdAbHVubi5jaD4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxk YXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2RzYS9tdjg4ZTZ4eHgvY2hpcC5j IHwgMjggKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIyIGlu c2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZHNh L212ODhlNnh4eC9jaGlwLmMgYi9kcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2NoaXAuYwppbmRl eCAyNTg5MThkOGE0MTYuLjlmNjk3YTViOGUzZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZHNh L212ODhlNnh4eC9jaGlwLmMKKysrIGIvZHJpdmVycy9uZXQvZHNhL212ODhlNnh4eC9jaGlwLmMK QEAgLTI2MSw2ICsyNjEsNyBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgbXY4OGU2eHh4X2cxX2lycV90 aHJlYWRfd29yayhzdHJ1Y3QgbXY4OGU2eHh4X2NoaXAgKmNoaXApCiAJdW5zaWduZWQgaW50IHN1 Yl9pcnE7CiAJdW5zaWduZWQgaW50IG47CiAJdTE2IHJlZzsKKwl1MTYgY3RsMTsKIAlpbnQgZXJy OwogCiAJbXV0ZXhfbG9jaygmY2hpcC0+cmVnX2xvY2spOwpAQCAtMjcwLDEzICsyNzEsMjggQEAg c3RhdGljIGlycXJldHVybl90IG12ODhlNnh4eF9nMV9pcnFfdGhyZWFkX3dvcmsoc3RydWN0IG12 ODhlNnh4eF9jaGlwICpjaGlwKQogCWlmIChlcnIpCiAJCWdvdG8gb3V0OwogCi0JZm9yIChuID0g MDsgbiA8IGNoaXAtPmcxX2lycS5uaXJxczsgKytuKSB7Ci0JCWlmIChyZWcgJiAoMSA8PCBuKSkg ewotCQkJc3ViX2lycSA9IGlycV9maW5kX21hcHBpbmcoY2hpcC0+ZzFfaXJxLmRvbWFpbiwgbik7 Ci0JCQloYW5kbGVfbmVzdGVkX2lycShzdWJfaXJxKTsKLQkJCSsrbmhhbmRsZWQ7CisJZG8gewor CQlmb3IgKG4gPSAwOyBuIDwgY2hpcC0+ZzFfaXJxLm5pcnFzOyArK24pIHsKKwkJCWlmIChyZWcg JiAoMSA8PCBuKSkgeworCQkJCXN1Yl9pcnEgPSBpcnFfZmluZF9tYXBwaW5nKGNoaXAtPmcxX2ly cS5kb21haW4sCisJCQkJCQkJICAgbik7CisJCQkJaGFuZGxlX25lc3RlZF9pcnEoc3ViX2lycSk7 CisJCQkJKytuaGFuZGxlZDsKKwkJCX0KIAkJfQotCX0KKworCQltdXRleF9sb2NrKCZjaGlwLT5y ZWdfbG9jayk7CisJCWVyciA9IG12ODhlNnh4eF9nMV9yZWFkKGNoaXAsIE1WODhFNlhYWF9HMV9D VEwxLCAmY3RsMSk7CisJCWlmIChlcnIpCisJCQlnb3RvIHVubG9jazsKKwkJZXJyID0gbXY4OGU2 eHh4X2cxX3JlYWQoY2hpcCwgTVY4OEU2WFhYX0cxX1NUUywgJnJlZyk7Cit1bmxvY2s6CisJCW11 dGV4X3VubG9jaygmY2hpcC0+cmVnX2xvY2spOworCQlpZiAoZXJyKQorCQkJZ290byBvdXQ7CisJ CWN0bDEgJj0gR0VOTUFTSyhjaGlwLT5nMV9pcnEubmlycXMsIDApOworCX0gd2hpbGUgKHJlZyAm IGN0bDEpOworCiBvdXQ6CiAJcmV0dXJuIChuaGFuZGxlZCA+IDAgPyBJUlFfSEFORExFRCA6IElS UV9OT05FKTsKIH0KLS0gCjIuMjAuMQoKCkZyb20gYjQ0MDUzMmU1ZTVjYjg1NTI2MDUwYzUxM2Mz YmM5NDdhMjliODFkNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUGV0ciBNYWNoYXRh IDxwZXRybUBtZWxsYW5veC5jb20+CkRhdGU6IFN1biwgMTcgRmViIDIwMTkgMDc6MTg6NDEgKzAw MDAKU3ViamVjdDogW1BBVENIIDAzLzIwXSBtbHhzdzogX19tbHhzd19zcF9wb3J0X2hlYWRyb29t X3NldCgpOiBGaXggYSB1c2Ugb2YKIGxvY2FsIHZhcmlhYmxlCgpbIFVwc3RyZWFtIGNvbW1pdCAy ODk0NjA0MDRmNjk0N2VmMWMzOGU2N2Q2ODBiZTlhODQxNjEyNTBiIF0KClRoZSBmdW5jdGlvbi1s b2NhbCB2YXJpYWJsZSAiZGVsYXkiIGVudGVycyB0aGUgbG9vcCBpbnRlcnByZXRlZCBhcyBkZWxh eQppbiBiaXRzLiBIb3dldmVyLCBpbnNpZGUgdGhlIGxvb3AgaXQgZ2V0cyBvdmVyd3JpdHRlbiBi eSB0aGUgcmVzdWx0IG9mCm1seHN3X3NwX3BnX2J1Zl9kZWxheV9nZXQoKSwgYW5kIHRodXMgbGVh dmVzIHRoZSBsb29wIGFzIHF1YW50aXR5IGluCmNlbGxzLiBUaHVzIG9uIHNlY29uZCBhbmQgZnVy dGhlciBsb29wIGl0ZXJhdGlvbnMsIHRoZSBoZWFkcm9vbSBmb3IgYQpnaXZlbiBwcmlvcml0eSBp cyBjb25maWd1cmVkIHdpdGggYSB3cm9uZyBzaXplLgoKRml4IGJ5IGludHJvZHVjaW5nIGEgbG9v cC1sb2NhbCB2YXJpYWJsZSwgZGVsYXlfY2VsbHMuIFJlbmFtZSB0aHJlcyB0bwp0aHJlc19jZWxs cyBmb3IgY29uc2lzdGVuY3kuCgpGaXhlczogZjQxN2YwNGRhNTg5ICgibWx4c3c6IHNwZWN0cnVt OiBSZWZhY3RvciBwb3J0IGJ1ZmZlciBjb25maWd1cmF0aW9uIikKU2lnbmVkLW9mZi1ieTogUGV0 ciBNYWNoYXRhIDxwZXRybUBtZWxsYW5veC5jb20+CkFja2VkLWJ5OiBKaXJpIFBpcmtvIDxqaXJp QG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogSWRvIFNjaGltbWVsIDxpZG9zY2hAbWVsbGFu b3guY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5u ZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW0uYyB8 IDEyICsrKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNSBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhz dy9zcGVjdHJ1bS5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3Ry dW0uYwppbmRleCBkNjRjZDhkNDRkODMuLmExMmI1NzEwODkxZSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW0uYworKysgYi9kcml2ZXJzL25l dC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bS5jCkBAIC04NDEsOCArODQxLDkgQEAg aW50IF9fbWx4c3dfc3BfcG9ydF9oZWFkcm9vbV9zZXQoc3RydWN0IG1seHN3X3NwX3BvcnQgKm1s eHN3X3NwX3BvcnQsIGludCBtdHUsCiAJZm9yIChpID0gMDsgaSA8IElFRUVfODAyMVFBWl9NQVhf VENTOyBpKyspIHsKIAkJYm9vbCBjb25maWd1cmUgPSBmYWxzZTsKIAkJYm9vbCBwZmMgPSBmYWxz ZTsKKwkJdTE2IHRocmVzX2NlbGxzOworCQl1MTYgZGVsYXlfY2VsbHM7CiAJCWJvb2wgbG9zc3k7 Ci0JCXUxNiB0aHJlczsKIAogCQlmb3IgKGogPSAwOyBqIDwgSUVFRV84MDIxUUFaX01BWF9UQ1M7 IGorKykgewogCQkJaWYgKHByaW9fdGNbal0gPT0gaSkgewpAQCAtODU2LDEwICs4NTcsMTEgQEAg aW50IF9fbWx4c3dfc3BfcG9ydF9oZWFkcm9vbV9zZXQoc3RydWN0IG1seHN3X3NwX3BvcnQgKm1s eHN3X3NwX3BvcnQsIGludCBtdHUsCiAJCQljb250aW51ZTsKIAogCQlsb3NzeSA9ICEocGZjIHx8 IHBhdXNlX2VuKTsKLQkJdGhyZXMgPSBtbHhzd19zcF9wZ19idWZfdGhyZXNob2xkX2dldChtbHhz d19zcCwgbXR1KTsKLQkJZGVsYXkgPSBtbHhzd19zcF9wZ19idWZfZGVsYXlfZ2V0KG1seHN3X3Nw LCBtdHUsIGRlbGF5LCBwZmMsCi0JCQkJCQkgIHBhdXNlX2VuKTsKLQkJbWx4c3dfc3BfcGdfYnVm X3BhY2socGJtY19wbCwgaSwgdGhyZXMgKyBkZWxheSwgdGhyZXMsIGxvc3N5KTsKKwkJdGhyZXNf Y2VsbHMgPSBtbHhzd19zcF9wZ19idWZfdGhyZXNob2xkX2dldChtbHhzd19zcCwgbXR1KTsKKwkJ ZGVsYXlfY2VsbHMgPSBtbHhzd19zcF9wZ19idWZfZGVsYXlfZ2V0KG1seHN3X3NwLCBtdHUsIGRl bGF5LAorCQkJCQkJCXBmYywgcGF1c2VfZW4pOworCQltbHhzd19zcF9wZ19idWZfcGFjayhwYm1j X3BsLCBpLCB0aHJlc19jZWxscyArIGRlbGF5X2NlbGxzLAorCQkJCSAgICAgdGhyZXNfY2VsbHMs IGxvc3N5KTsKIAl9CiAKIAlyZXR1cm4gbWx4c3dfcmVnX3dyaXRlKG1seHN3X3NwLT5jb3JlLCBN TFhTV19SRUcocGJtYyksIHBibWNfcGwpOwotLSAKMi4yMC4xCgoKRnJvbSA0NzAxNWZkNzZlNzAx YzNlMTlmMDIxZjQ3MzQyMjE0OThiNDBiNGE2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBNYW8gV2VuYW4gPG1hb3dlbmFuQGh1YXdlaS5jb20+CkRhdGU6IE1vbiwgMTggRmViIDIwMTkg MTA6NDQ6NDQgKzA4MDAKU3ViamVjdDogW1BBVENIIDA0LzIwXSBuZXQ6IGNyeXB0byBzZXQgc2sg dG8gTlVMTCB3aGVuIGFmX2FsZ19yZWxlYXNlLgoKWyBVcHN0cmVhbSBjb21taXQgOTA2MGNiNzE5 ZTYxYjY4NWVjMDEwMjU3NGUxMDMzN2ZhNWY0NDVlYSBdCgpLQVNBTiBoYXMgZm91bmQgdXNlLWFm dGVyLWZyZWUgaW4gc29ja2ZzX3NldGF0dHIuClRoZSBleGlzdGVkIGNvbW1pdCA2ZDhjNTBkY2Iw MjkgKCJzb2NrZXQ6IGNsb3NlIHJhY2UgY29uZGl0aW9uIGJldHdlZW4gc29ja19jbG9zZSgpCmFu ZCBzb2NrZnNfc2V0YXR0cigpIikgaXMgdG8gZml4IHRoaXMgc2ltaWxsYXIgaXNzdWUsIGJ1dCBp dCBzZWVtcyB0byBpZ25vcmUKdGhhdCBjcnlwdG8gbW9kdWxlIGZvcmdldHMgdG8gc2V0IHRoZSBz ayB0byBOVUxMIGFmdGVyIGFmX2FsZ19yZWxlYXNlLgoKS0FTQU4gcmVwb3J0IGRldGFpbHMgYXMg YmVsb3c6CkJVRzogS0FTQU46IHVzZS1hZnRlci1mcmVlIGluIHNvY2tmc19zZXRhdHRyKzB4MTIw LzB4MTUwCldyaXRlIG9mIHNpemUgNCBhdCBhZGRyIGZmZmY4ODgzN2I5NTYxMjggYnkgdGFzayBz eXotZXhlY3V0b3IwLzQxODYKCkNQVTogMiBQSUQ6IDQxODYgQ29tbTogc3l6LWV4ZWN1dG9yMCBO b3QgdGFpbnRlZCB4eHggKyAjMQpIYXJkd2FyZSBuYW1lOiBRRU1VIFN0YW5kYXJkIFBDIChpNDQw RlggKyBQSUlYLCAxOTk2KSwgQklPUwoxLjEwLjItMXVidW50dTEgMDQvMDEvMjAxNApDYWxsIFRy YWNlOgogZHVtcF9zdGFjaysweGNhLzB4MTNlCiBwcmludF9hZGRyZXNzX2Rlc2NyaXB0aW9uKzB4 NzkvMHgzMzAKID8gdnByaW50a19mdW5jKzB4NWUvMHhmMAoga2FzYW5fcmVwb3J0KzB4MThhLzB4 MmUwCiA/IHNvY2tmc19zZXRhdHRyKzB4MTIwLzB4MTUwCiBzb2NrZnNfc2V0YXR0cisweDEyMC8w eDE1MAogPyBzb2NrX3JlZ2lzdGVyKzB4MmQwLzB4MmQwCiBub3RpZnlfY2hhbmdlKzB4OTBjLzB4 ZDQwCiA/IGNob3duX2NvbW1vbisweDJlZi8weDUxMAogY2hvd25fY29tbW9uKzB4MmVmLzB4NTEw CiA/IGNobW9kX2NvbW1vbisweDNiMC8weDNiMAogPyBfX2xvY2tfaXNfaGVsZCsweGJjLzB4MTYw CiA/IF9fc2Jfc3RhcnRfd3JpdGUrMHgxM2QvMHgyYjAKID8gX19tbnRfd2FudF93cml0ZSsweDE5 YS8weDI1MAogZG9fZmNob3duYXQrMHgxNWMvMHgxOTAKID8gX19pYTMyX3N5c19jaG1vZCsweDgw LzB4ODAKID8gdHJhY2VfaGFyZGlycXNfb25fdGh1bmsrMHgxYS8weDFjCiBfX3g2NF9zeXNfZmNo b3duYXQrMHhiZi8weDE2MAogPyBsb2NrZGVwX2hhcmRpcnFzX29uKzB4MzlhLzB4NWUwCiBkb19z eXNjYWxsXzY0KzB4YzgvMHg1ODAKIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5 LzB4YmUKUklQOiAwMDMzOjB4NDYyNTg5CkNvZGU6IGY3IGQ4IDY0IDg5IDAyIGI4IGZmIGZmIGZm IGZmIGMzIDY2IDBmIDFmIDQ0IDAwIDAwIDQ4IDg5IGY4IDQ4IDg5CmY3IDQ4IDg5IGQ2IDQ4IDg5 CmNhIDRkIDg5IGMyIDRkIDg5IGM4IDRjIDhiIDRjIDI0IDA4IDBmIDA1IDw0OD4gM2QgMDEgZjAg ZmYgZmYgNzMgMDEgYzMKNDggYzcgYzEgYmMgZmYgZmYKZmYgZjcgZDggNjQgODkgMDEgNDgKUlNQ OiAwMDJiOjAwMDA3ZmI0YjJjODNjNTggRUZMQUdTOiAwMDAwMDI0NiBPUklHX1JBWDogMDAwMDAw MDAwMDAwMDEwNApSQVg6IGZmZmZmZmZmZmZmZmZmZGEgUkJYOiAwMDAwMDAwMDAwNzJiZmEwIFJD WDogMDAwMDAwMDAwMDQ2MjU4OQpSRFg6IDAwMDAwMDAwMDAwMDAwMDAgUlNJOiAwMDAwMDAwMDIw MDAwMGMwIFJESTogMDAwMDAwMDAwMDAwMDAwNwpSQlA6IDAwMDAwMDAwMDAwMDAwMDUgUjA4OiAw MDAwMDAwMDAwMDAxMDAwIFIwOTogMDAwMDAwMDAwMDAwMDAwMApSMTA6IDAwMDAwMDAwMDAwMDAw MDAgUjExOiAwMDAwMDAwMDAwMDAwMjQ2IFIxMjogMDAwMDdmYjRiMmM4NDZiYwpSMTM6IDAwMDAw MDAwMDA0YmM3MzMgUjE0OiAwMDAwMDAwMDAwNmY1MTM4IFIxNTogMDAwMDAwMDBmZmZmZmZmZgoK QWxsb2NhdGVkIGJ5IHRhc2sgNDE4NToKIGthc2FuX2ttYWxsb2MrMHhhMC8weGQwCiBfX2ttYWxs b2MrMHgxNGEvMHgzNTAKIHNrX3Byb3RfYWxsb2MrMHhmNi8weDI5MAogc2tfYWxsb2MrMHgzZC8w eGMwMAogYWZfYWxnX2FjY2VwdCsweDllLzB4NjcwCiBoYXNoX2FjY2VwdCsweDRhMy8weDY1MAog X19zeXNfYWNjZXB0NCsweDMwNi8weDVjMAogX194NjRfc3lzX2FjY2VwdDQrMHg5OC8weDEwMAog ZG9fc3lzY2FsbF82NCsweGM4LzB4NTgwCiBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUr MHg0OS8weGJlCgpGcmVlZCBieSB0YXNrIDQxODQ6CiBfX2thc2FuX3NsYWJfZnJlZSsweDEyZS8w eDE4MAoga2ZyZWUrMHhlYi8weDJmMAogX19za19kZXN0cnVjdCsweDRlNi8weDZhMAogc2tfZGVz dHJ1Y3QrMHg0OC8weDcwCiBfX3NrX2ZyZWUrMHhhOS8weDI3MAogc2tfZnJlZSsweDJhLzB4MzAK IGFmX2FsZ19yZWxlYXNlKzB4NWMvMHg3MAogX19zb2NrX3JlbGVhc2UrMHhkMy8weDI4MAogc29j a19jbG9zZSsweDFhLzB4MjAKIF9fZnB1dCsweDI3Zi8weDdmMAogdGFza193b3JrX3J1bisweDEz Ni8weDFiMAogZXhpdF90b191c2VybW9kZV9sb29wKzB4MWE3LzB4MWQwCiBkb19zeXNjYWxsXzY0 KzB4NDYxLzB4NTgwCiBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlCgpT eXprYWxsZXIgcmVwcm9kdWNlcjoKcjAgPSBwZXJmX2V2ZW50X29wZW4oJigweDdmMDAwMDAwMDAw MCk9ezB4MCwgMHg3MCwgMHgwLCAweDAsIDB4MCwgMHgwLAoweDAsIDB4MCwgMHgwLCAweDAsIDB4 MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwKMHgwLCAweDAs IDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAw eDAsCjB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgQHBlcmZfY29uZmlnX2V4dH0s IDB4MCwgMHgwLAoweGZmZmZmZmZmZmZmZmZmZmYsIDB4MCkKcjEgPSBzb2NrZXQkYWxnKDB4MjYs IDB4NSwgMHgwKQpnZXRydXNhZ2UoMHgwLCAweDApCmJpbmQocjEsICYoMHg3ZjAwMDAwMDAxYzAp PUBhbGc9ezB4MjYsICdoYXNoXHgwMCcsIDB4MCwgMHgwLAonc2hhMjU2LXNzc2UzXHgwMCd9LCAw eDgwKQpyMiA9IGFjY2VwdChyMSwgMHgwLCAweDApCnIzID0gYWNjZXB0NCR1bml4KHIyLCAweDAs IDB4MCwgMHgwKQpyNCA9IGR1cDMocjMsIHIwLCAweDApCmZjaG93bmF0KHI0LCAmKDB4N2YwMDAw MDAwMGMwKT0nXHgwMCcsIDB4MCwgMHgwLCAweDEwMDApCgpGaXhlczogNmQ4YzUwZGNiMDI5ICgi c29ja2V0OiBjbG9zZSByYWNlIGNvbmRpdGlvbiBiZXR3ZWVuIHNvY2tfY2xvc2UoKSBhbmQgc29j a2ZzX3NldGF0dHIoKSIpClNpZ25lZC1vZmYtYnk6IE1hbyBXZW5hbiA8bWFvd2VuYW5AaHVhd2Vp LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0 PgotLS0KIGNyeXB0by9hZl9hbGcuYyB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2NyeXB0by9hZl9hbGcuYyBiL2Ny eXB0by9hZl9hbGcuYwppbmRleCAxN2ViMDlkMjIyZmYuLmVjNzhhMDRlYjEzNiAxMDA2NDQKLS0t IGEvY3J5cHRvL2FmX2FsZy5jCisrKyBiL2NyeXB0by9hZl9hbGcuYwpAQCAtMTIyLDggKzEyMiwx MCBAQCBzdGF0aWMgdm9pZCBhbGdfZG9fcmVsZWFzZShjb25zdCBzdHJ1Y3QgYWZfYWxnX3R5cGUg KnR5cGUsIHZvaWQgKnByaXZhdGUpCiAKIGludCBhZl9hbGdfcmVsZWFzZShzdHJ1Y3Qgc29ja2V0 ICpzb2NrKQogewotCWlmIChzb2NrLT5zaykKKwlpZiAoc29jay0+c2spIHsKIAkJc29ja19wdXQo c29jay0+c2spOworCQlzb2NrLT5zayA9IE5VTEw7CisJfQogCXJldHVybiAwOwogfQogRVhQT1JU X1NZTUJPTF9HUEwoYWZfYWxnX3JlbGVhc2UpOwotLSAKMi4yMC4xCgoKRnJvbSA0NjMyY2JhZDc4 MWJhZTI2ZDNiOWZjNmNlMTkwZjU3NDc1YjYwMzZhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBIYXVrZSBNZWhydGVucyA8aGF1a2UubWVocnRlbnNAaW50ZWwuY29tPgpEYXRlOiBGcmks IDE1IEZlYiAyMDE5IDE3OjU4OjU0ICswMTAwClN1YmplY3Q6IFtQQVRDSCAwNS8yMF0gbmV0OiBG aXggZm9yX2VhY2hfbmV0ZGV2X2ZlYXR1cmUgb24gQmlnIGVuZGlhbgoKWyBVcHN0cmVhbSBjb21t aXQgM2I4OWVhOWM1OTAyYWNjY2RiYmRlYzMwN2M4NWVkZDFiZjUyNTE1ZSBdCgpUaGUgZmVhdHVy ZXMgYXR0cmlidXRlIGlzIG9mIHR5cGUgdTY0IGFuZCBzdG9yZWQgaW4gdGhlIG5hdGl2ZSBlbmRp YW5lcyBvbgp0aGUgc3lzdGVtLiBUaGUgZm9yX2VhY2hfc2V0X2JpdCgpIG1hY3JvIHRha2VzIGEg cG9pbnRlciB0byBhIDMyIGJpdCBhcnJheQphbmQgZ29lcyBvdmVyIHRoZSBiaXRzIGluIHRoaXMg YXJlYS4gT24gbGl0dGxlIEVuZGlhbiBzeXN0ZW1zIHRoaXMgYWxzbwp3b3JrcyB3aXRoIGFuIHU2 NCBhcyB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaXMgb24gdGhlIGhpZ2hlc3QgYWRkcmVzcywK YnV0IG9uIGJpZyBlbmRpYW4gdGhlIHdvcmRzIGFyZSBzd2FwcGVkLiBXaGVuIHdlIGV4cGVjdCBi aXQgMTUgaGVyZSB3ZSBnZXQKYml0IDQ3ICgxNSArIDMyKS4KClRoaXMgcGF0Y2ggY29udmVydHMg aXQgbW9yZSBvciBsZXNzIHRvIGl0cyBvd24gZm9yX2VhY2hfc2V0X2JpdCgpCmltcGxlbWVudGF0 aW9uIHdoaWNoIHdvcmtzIG9uIDY0IGJpdCBpbnRlZ2VycyBkaXJlY3RseS4gVGhpcyBpcyB0aGVu CmNvbXBsZXRlbHkgaW4gaG9zdCBlbmRpYW5uZXNzIGFuZCBzaG91bGQgd29yayBsaWtlIGV4cGVj dGVkLgoKRml4ZXM6IGZkODY3ZDUxZiAoIm5ldC9jb3JlOiBnZW5lcmljIHN1cHBvcnQgZm9yIGRp c2FibGluZyBuZXRkZXYgZmVhdHVyZXMgZG93biBzdGFjayIpClNpZ25lZC1vZmYtYnk6IEhhdWtl IE1laHJ0ZW5zIDxoYXVrZS5tZWhydGVuc0BpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBpbmNsdWRlL2xpbnV4L25ldGRl dl9mZWF0dXJlcy5oIHwgMjMgKysrKysrKysrKysrKysrKysrKysrLS0KIG5ldC9jb3JlL2Rldi5j ICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlv bnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9uZXRkZXZf ZmVhdHVyZXMuaCBiL2luY2x1ZGUvbGludXgvbmV0ZGV2X2ZlYXR1cmVzLmgKaW5kZXggMmIyYTZk Y2UxNjMwLi5mY2UyODU2MmJlZDIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbmV0ZGV2X2Zl YXR1cmVzLmgKKysrIGIvaW5jbHVkZS9saW51eC9uZXRkZXZfZmVhdHVyZXMuaApAQCAtMTEsNiAr MTEsNyBAQAogI2RlZmluZSBfTElOVVhfTkVUREVWX0ZFQVRVUkVTX0gKIAogI2luY2x1ZGUgPGxp bnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2J5dGVvcmRlci5oPgogCiB0eXBlZGVmIHU2NCBu ZXRkZXZfZmVhdHVyZXNfdDsKIApAQCAtMTU0LDggKzE1NSwyNiBAQCBlbnVtIHsKICNkZWZpbmUg TkVUSUZfRl9IV19UTFNfVFgJX19ORVRJRl9GKEhXX1RMU19UWCkKICNkZWZpbmUgTkVUSUZfRl9I V19UTFNfUlgJX19ORVRJRl9GKEhXX1RMU19SWCkKIAotI2RlZmluZSBmb3JfZWFjaF9uZXRkZXZf ZmVhdHVyZShtYXNrX2FkZHIsIGJpdCkJXAotCWZvcl9lYWNoX3NldF9iaXQoYml0LCAodW5zaWdu ZWQgbG9uZyAqKW1hc2tfYWRkciwgTkVUREVWX0ZFQVRVUkVfQ09VTlQpCisvKiBGaW5kcyB0aGUg bmV4dCBmZWF0dXJlIHdpdGggdGhlIGhpZ2hlc3QgbnVtYmVyIG9mIHRoZSByYW5nZSBvZiBzdGFy dCB0aWxsIDAuCisgKi8KK3N0YXRpYyBpbmxpbmUgaW50IGZpbmRfbmV4dF9uZXRkZXZfZmVhdHVy ZSh1NjQgZmVhdHVyZSwgdW5zaWduZWQgbG9uZyBzdGFydCkKK3sKKwkvKiBsaWtlIEJJVE1BUF9M QVNUX1dPUkRfTUFTSygpIGZvciB1NjQKKwkgKiB0aGlzIHNldHMgdGhlIG1vc3Qgc2lnbmlmaWNh bnQgNjQgLSBzdGFydCB0byAwLgorCSAqLworCWZlYXR1cmUgJj0gfjBVTEwgPj4gKC1zdGFydCAm ICgoc2l6ZW9mKGZlYXR1cmUpICogOCkgLSAxKSk7CisKKwlyZXR1cm4gZmxzNjQoZmVhdHVyZSkg LSAxOworfQorCisvKiBUaGlzIGdvZXMgZm9yIHRoZSBNU0IgdG8gdGhlIExTQiB0aHJvdWdoIHRo ZSBzZXQgZmVhdHVyZSBiaXRzLAorICogbWFza19hZGRyIHNob3VsZCBiZSBhIHU2NCBhbmQgYml0 IGFuIGludAorICovCisjZGVmaW5lIGZvcl9lYWNoX25ldGRldl9mZWF0dXJlKG1hc2tfYWRkciwg Yml0KQkJCQlcCisJZm9yICgoYml0KSA9IGZpbmRfbmV4dF9uZXRkZXZfZmVhdHVyZSgobWFza19h ZGRyKSwJCVwKKwkJCQkJICAgICAgTkVUREVWX0ZFQVRVUkVfQ09VTlQpOwlcCisJICAgICAoYml0 KSA+PSAwOwkJCQkJCVwKKwkgICAgIChiaXQpID0gZmluZF9uZXh0X25ldGRldl9mZWF0dXJlKCht YXNrX2FkZHIpLCAoYml0KSAtIDEpKQogCiAvKiBGZWF0dXJlcyB2YWxpZCBmb3IgZXRodG9vbCB0 byBjaGFuZ2UgKi8KIC8qID0gYWxsIGRlZmluZWQgbWludXMgZHJpdmVyL2RldmljZS1jbGFzcy1y ZWxhdGVkICovCmRpZmYgLS1naXQgYS9uZXQvY29yZS9kZXYuYyBiL25ldC9jb3JlL2Rldi5jCmlu ZGV4IGFmMDk3Y2E5Y2I0Zi4uNWM4YzBhNTcyZWU5IDEwMDY0NAotLS0gYS9uZXQvY29yZS9kZXYu YworKysgYi9uZXQvY29yZS9kZXYuYwpAQCAtODAzOSw3ICs4MDM5LDcgQEAgc3RhdGljIG5ldGRl dl9mZWF0dXJlc190IG5ldGRldl9zeW5jX3VwcGVyX2ZlYXR1cmVzKHN0cnVjdCBuZXRfZGV2aWNl ICpsb3dlciwKIAluZXRkZXZfZmVhdHVyZXNfdCBmZWF0dXJlOwogCWludCBmZWF0dXJlX2JpdDsK IAotCWZvcl9lYWNoX25ldGRldl9mZWF0dXJlKCZ1cHBlcl9kaXNhYmxlcywgZmVhdHVyZV9iaXQp IHsKKwlmb3JfZWFjaF9uZXRkZXZfZmVhdHVyZSh1cHBlcl9kaXNhYmxlcywgZmVhdHVyZV9iaXQp IHsKIAkJZmVhdHVyZSA9IF9fTkVUSUZfRl9CSVQoZmVhdHVyZV9iaXQpOwogCQlpZiAoISh1cHBl ci0+d2FudGVkX2ZlYXR1cmVzICYgZmVhdHVyZSkKIAkJICAgICYmIChmZWF0dXJlcyAmIGZlYXR1 cmUpKSB7CkBAIC04MDU5LDcgKzgwNTksNyBAQCBzdGF0aWMgdm9pZCBuZXRkZXZfc3luY19sb3dl cl9mZWF0dXJlcyhzdHJ1Y3QgbmV0X2RldmljZSAqdXBwZXIsCiAJbmV0ZGV2X2ZlYXR1cmVzX3Qg ZmVhdHVyZTsKIAlpbnQgZmVhdHVyZV9iaXQ7CiAKLQlmb3JfZWFjaF9uZXRkZXZfZmVhdHVyZSgm dXBwZXJfZGlzYWJsZXMsIGZlYXR1cmVfYml0KSB7CisJZm9yX2VhY2hfbmV0ZGV2X2ZlYXR1cmUo dXBwZXJfZGlzYWJsZXMsIGZlYXR1cmVfYml0KSB7CiAJCWZlYXR1cmUgPSBfX05FVElGX0ZfQklU KGZlYXR1cmVfYml0KTsKIAkJaWYgKCEoZmVhdHVyZXMgJiBmZWF0dXJlKSAmJiAobG93ZXItPmZl YXR1cmVzICYgZmVhdHVyZSkpIHsKIAkJCW5ldGRldl9kYmcodXBwZXIsICJEaXNhYmxpbmcgZmVh dHVyZSAlcE5GIG9uIGxvd2VyIGRldiAlcy5cbiIsCi0tIAoyLjIwLjEKCgpGcm9tIDcwZWFhOTNi Y2UwZGJkODc2MDFlZTM0YTdkYmMwZjUwN2NiNjc5NjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IFpoaXFpYW5nIExpdSA8bGl1emhpcWlhbmcyNkBodWF3ZWkuY29tPgpEYXRlOiBNb24s IDExIEZlYiAyMDE5IDEwOjU3OjQ2ICswODAwClN1YmplY3Q6IFtQQVRDSCAwNi8yMF0gbmV0OiBm aXggSVB2NiBwcmVmaXggcm91dGUgcmVzaWR1ZQoKWyBVcHN0cmVhbSBjb21taXQgZTc1OTEzYzkz ZjdjZDVmMzM4YWIzNzNjMzRjOTNhNjU1YmQzMDljYiBdCgpGb2xsb3cgdGhvc2Ugc3RlcHM6CiAj IGlwIGFkZHIgYWRkIDIwMDE6MTIzOjoxLzMyIGRldiBldGgwCiAjIGlwIGFkZHIgYWRkIDIwMDE6 MTIzOjQ1Njo6Mi82NCBkZXYgZXRoMAogIyBpcCBhZGRyIGRlbCAyMDAxOjEyMzo6MS8zMiBkZXYg ZXRoMAogIyBpcCBhZGRyIGRlbCAyMDAxOjEyMzo0NTY6OjIvNjQgZGV2IGV0aDAKYW5kIHRoZW4g cHJlZml4IHJvdXRlIG9mIDIwMDE6MTIzOjoxLzMyIHdpbGwgc3RpbGwgZXhpc3QuCgpUaGlzIGlz IGJlY2F1c2UgaXB2Nl9wcmVmaXhfZXF1YWwgaW4gY2hlY2tfY2xlYW51cF9wcmVmaXhfcm91dGUK ZnVuYyBkb2VzIG5vdCBjaGVjayB3aGV0aGVyIHR3byBJUHY2IGFkZHJlc3NlcyBoYXZlIHRoZSBz YW1lCnByZWZpeCBsZW5ndGguIElmIHRoZSBwcmVmaXggb2Ygb25lIGFkZHJlc3Mgc3RhcnRzIHdp dGggYW5vdGhlcgpzaG9ydGVyIGFkZHJlc3MgcHJlZml4LCBldmVuIHRob3VnaCB0aGVpciBwcmVm aXggbGVuZ3RocyBhcmUKZGlmZmVyZW50LCB0aGUgcmV0dXJuIHZhbHVlIG9mIGlwdjZfcHJlZml4 X2VxdWFsIGlzIHRydWUuCgpIZXJlIEkgYWRkIGEgY2hlY2sgb2Ygd2hldGhlciB0d28gYWRkcmVz c2VzIGhhdmUgdGhlIHNhbWUgcHJlZml4CnRvIGRlY2lkZSB3aGV0aGVyIHRoZWlyIHByZWZpeGVz IGFyZSBlcXVhbC4KCkZpeGVzOiA1Yjg0ZWZlY2I3ZDkgKCJpcHY2IGFkZHJjb25mOiBkb24ndCBj bGVhbnVwIHByZWZpeCByb3V0ZSBmb3IgSUZBX0ZfTk9QUkVGSVhST1VURSIpClNpZ25lZC1vZmYt Ynk6IFpoaXFpYW5nIExpdSA8bGl1emhpcWlhbmcyNkBodWF3ZWkuY29tPgpSZXBvcnRlZC1ieTog V2VuaGFvIFpoYW5nIDx6aGFuZ3dlbmhhbzhAaHVhd2VpLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2 aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY2L2FkZHJjb25m LmMgfCAzICsrLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL25ldC9pcHY2L2FkZHJjb25mLmMgYi9uZXQvaXB2Ni9hZGRyY29uZi5j CmluZGV4IDNkZmM1MGNkODZkNi4uYzU3ZWZkNWM1YjM4IDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9h ZGRyY29uZi5jCisrKyBiL25ldC9pcHY2L2FkZHJjb25mLmMKQEAgLTExNDgsNyArMTE0OCw4IEBA IGNoZWNrX2NsZWFudXBfcHJlZml4X3JvdXRlKHN0cnVjdCBpbmV0Nl9pZmFkZHIgKmlmcCwgdW5z aWduZWQgbG9uZyAqZXhwaXJlcykKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGlmYSwgJmlkZXYtPmFk ZHJfbGlzdCwgaWZfbGlzdCkgewogCQlpZiAoaWZhID09IGlmcCkKIAkJCWNvbnRpbnVlOwotCQlp ZiAoIWlwdjZfcHJlZml4X2VxdWFsKCZpZmEtPmFkZHIsICZpZnAtPmFkZHIsCisJCWlmIChpZmEt PnByZWZpeF9sZW4gIT0gaWZwLT5wcmVmaXhfbGVuIHx8CisJCSAgICAhaXB2Nl9wcmVmaXhfZXF1 YWwoJmlmYS0+YWRkciwgJmlmcC0+YWRkciwKIAkJCQkgICAgICAgaWZwLT5wcmVmaXhfbGVuKSkK IAkJCWNvbnRpbnVlOwogCQlpZiAoaWZhLT5mbGFncyAmIChJRkFfRl9QRVJNQU5FTlQgfCBJRkFf Rl9OT1BSRUZJWFJPVVRFKSkKLS0gCjIuMjAuMQoKCkZyb20gMjZmZThlZTc5YmE4MTE3NGJhMmVm ZGUyMDAwYzZhMWQwOGYyYmUwMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTG9yZW56 byBCaWFuY29uaSA8bG9yZW56by5iaWFuY29uaUByZWRoYXQuY29tPgpEYXRlOiBGcmksIDE1IEZl YiAyMDE5IDE1OjEwOjMyICswMTAwClN1YmplY3Q6IFtQQVRDSCAwNy8yMF0gbmV0OiBpcDZfZ3Jl OiBpbml0aWFsaXplIGVyc3Bhbl92ZXIganVzdCBmb3IgZXJzcGFuCiB0dW5uZWxzCgpbIFVwc3Ry ZWFtIGNvbW1pdCA0OTc0ZDVmNjc4YWJiMzQ0MDE1NTg1NTlkNDdlMmVhM2QxYzE1Y2JhIF0KCkFm dGVyIGNvbW1pdCBjNzA2ODYzYmM4OTAgKCJuZXQ6IGlwNl9ncmU6IGFsd2F5cyByZXBvcnRzIG9f a2V5IHRvCnVzZXJzcGFjZSIpLCBpcDZncmUgYW5kIGlwNmdyZXRhcCB0dW5uZWxzIHN0YXJ0ZWQg cmVwb3J0aW5nIFRVTk5FTF9LRVkKb3V0cHV0IGZsYWcgZXZlbiBpZiBpdCBpcyBub3QgY29uZmln dXJlZC4KaXA2Z3JlX2ZpbGxfaW5mbyBjaGVja3MgZXJzcGFuX3ZlciB2YWx1ZSB0byBhZGQgVFVO TkVMX0tFWSBmb3IKZXJzcGFuIHR1bm5lbHMsIGhvd2V2ZXIgaW4gY29tbWl0IDg0NTgxYmRhZTk1 ODcgKCJlcnNwYW46IHNldAplcnNwYW5fdmVyIHRvIDEgYnkgZGVmYXVsdCB3aGVuIGFkZGluZyBh biBlcnNwYW4gZGV2IikKZXJzcGFuX3ZlciBpcyBpbml0aWFsaXplZCB0byAxIGV2ZW4gZm9yIGlw NmdyZSBvciBpcDZncmV0YXAKRml4IHRoZSBpc3N1ZSBtb3ZpbmcgZXJzcGFuX3ZlciBpbml0aWFs aXphdGlvbiBpbiBhIGRlZGljYXRlZCByb3V0aW5lCgpGaXhlczogYzcwNjg2M2JjODkwICgibmV0 OiBpcDZfZ3JlOiBhbHdheXMgcmVwb3J0cyBvX2tleSB0byB1c2Vyc3BhY2UiKQpTaWduZWQtb2Zm LWJ5OiBMb3JlbnpvIEJpYW5jb25pIDxsb3JlbnpvLmJpYW5jb25pQHJlZGhhdC5jb20+ClJldmll d2VkLWJ5OiBHcmVnIFJvc2UgPGd2cm9zZTgxOTJAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjYvaXA2X2dy ZS5jIHwgMzQgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5n ZWQsIDIwIGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9p cHY2L2lwNl9ncmUuYyBiL25ldC9pcHY2L2lwNl9ncmUuYwppbmRleCBiZTA0ODc3YjM4MjcuLmZh ZWQ5OGRhYjkxMyAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvaXA2X2dyZS5jCisrKyBiL25ldC9pcHY2 L2lwNl9ncmUuYwpAQCAtMTczNSw2ICsxNzM1LDI0IEBAIHN0YXRpYyBpbnQgaXA2ZXJzcGFuX3Rh cF92YWxpZGF0ZShzdHJ1Y3QgbmxhdHRyICp0YltdLCBzdHJ1Y3QgbmxhdHRyICpkYXRhW10sCiAJ cmV0dXJuIDA7CiB9CiAKK3N0YXRpYyB2b2lkIGlwNmVyc3Bhbl9zZXRfdmVyc2lvbihzdHJ1Y3Qg bmxhdHRyICpkYXRhW10sCisJCQkJICBzdHJ1Y3QgX19pcDZfdG5sX3Bhcm0gKnBhcm1zKQorewor CXBhcm1zLT5lcnNwYW5fdmVyID0gMTsKKwlpZiAoZGF0YVtJRkxBX0dSRV9FUlNQQU5fVkVSXSkK KwkJcGFybXMtPmVyc3Bhbl92ZXIgPSBubGFfZ2V0X3U4KGRhdGFbSUZMQV9HUkVfRVJTUEFOX1ZF Ul0pOworCisJaWYgKHBhcm1zLT5lcnNwYW5fdmVyID09IDEpIHsKKwkJaWYgKGRhdGFbSUZMQV9H UkVfRVJTUEFOX0lOREVYXSkKKwkJCXBhcm1zLT5pbmRleCA9IG5sYV9nZXRfdTMyKGRhdGFbSUZM QV9HUkVfRVJTUEFOX0lOREVYXSk7CisJfSBlbHNlIGlmIChwYXJtcy0+ZXJzcGFuX3ZlciA9PSAy KSB7CisJCWlmIChkYXRhW0lGTEFfR1JFX0VSU1BBTl9ESVJdKQorCQkJcGFybXMtPmRpciA9IG5s YV9nZXRfdTgoZGF0YVtJRkxBX0dSRV9FUlNQQU5fRElSXSk7CisJCWlmIChkYXRhW0lGTEFfR1JF X0VSU1BBTl9IV0lEXSkKKwkJCXBhcm1zLT5od2lkID0gbmxhX2dldF91MTYoZGF0YVtJRkxBX0dS RV9FUlNQQU5fSFdJRF0pOworCX0KK30KKwogc3RhdGljIHZvaWQgaXA2Z3JlX25ldGxpbmtfcGFy bXMoc3RydWN0IG5sYXR0ciAqZGF0YVtdLAogCQkJCXN0cnVjdCBfX2lwNl90bmxfcGFybSAqcGFy bXMpCiB7CkBAIC0xNzgzLDIwICsxODAxLDYgQEAgc3RhdGljIHZvaWQgaXA2Z3JlX25ldGxpbmtf cGFybXMoc3RydWN0IG5sYXR0ciAqZGF0YVtdLAogCiAJaWYgKGRhdGFbSUZMQV9HUkVfQ09MTEVD VF9NRVRBREFUQV0pCiAJCXBhcm1zLT5jb2xsZWN0X21kID0gdHJ1ZTsKLQotCXBhcm1zLT5lcnNw YW5fdmVyID0gMTsKLQlpZiAoZGF0YVtJRkxBX0dSRV9FUlNQQU5fVkVSXSkKLQkJcGFybXMtPmVy c3Bhbl92ZXIgPSBubGFfZ2V0X3U4KGRhdGFbSUZMQV9HUkVfRVJTUEFOX1ZFUl0pOwotCi0JaWYg KHBhcm1zLT5lcnNwYW5fdmVyID09IDEpIHsKLQkJaWYgKGRhdGFbSUZMQV9HUkVfRVJTUEFOX0lO REVYXSkKLQkJCXBhcm1zLT5pbmRleCA9IG5sYV9nZXRfdTMyKGRhdGFbSUZMQV9HUkVfRVJTUEFO X0lOREVYXSk7Ci0JfSBlbHNlIGlmIChwYXJtcy0+ZXJzcGFuX3ZlciA9PSAyKSB7Ci0JCWlmIChk YXRhW0lGTEFfR1JFX0VSU1BBTl9ESVJdKQotCQkJcGFybXMtPmRpciA9IG5sYV9nZXRfdTgoZGF0 YVtJRkxBX0dSRV9FUlNQQU5fRElSXSk7Ci0JCWlmIChkYXRhW0lGTEFfR1JFX0VSU1BBTl9IV0lE XSkKLQkJCXBhcm1zLT5od2lkID0gbmxhX2dldF91MTYoZGF0YVtJRkxBX0dSRV9FUlNQQU5fSFdJ RF0pOwotCX0KIH0KIAogc3RhdGljIGludCBpcDZncmVfdGFwX2luaXQoc3RydWN0IG5ldF9kZXZp Y2UgKmRldikKQEAgLTIyMjUsNiArMjIyOSw3IEBAIHN0YXRpYyBpbnQgaXA2ZXJzcGFuX25ld2xp bmsoc3RydWN0IG5ldCAqc3JjX25ldCwgc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKIAlpbnQgZXJy OwogCiAJaXA2Z3JlX25ldGxpbmtfcGFybXMoZGF0YSwgJm50LT5wYXJtcyk7CisJaXA2ZXJzcGFu X3NldF92ZXJzaW9uKGRhdGEsICZudC0+cGFybXMpOwogCWlnbiA9IG5ldF9nZW5lcmljKG5ldCwg aXA2Z3JlX25ldF9pZCk7CiAKIAlpZiAobnQtPnBhcm1zLmNvbGxlY3RfbWQpIHsKQEAgLTIyNzAs NiArMjI3NSw3IEBAIHN0YXRpYyBpbnQgaXA2ZXJzcGFuX2NoYW5nZWxpbmsoc3RydWN0IG5ldF9k ZXZpY2UgKmRldiwgc3RydWN0IG5sYXR0ciAqdGJbXSwKIAlpZiAoSVNfRVJSKHQpKQogCQlyZXR1 cm4gUFRSX0VSUih0KTsKIAorCWlwNmVyc3Bhbl9zZXRfdmVyc2lvbihkYXRhLCAmcCk7CiAJaXA2 Z3JlX3R1bm5lbF91bmxpbmtfbWQoaWduLCB0KTsKIAlpcDZncmVfdHVubmVsX3VubGluayhpZ24s IHQpOwogCWlwNmVyc3Bhbl90bmxfY2hhbmdlKHQsICZwLCAhdGJbSUZMQV9NVFVdKTsKLS0gCjIu MjAuMQoKCkZyb20gY2IxZWRiYTM0OGNiY2IxMDEzNTA3NmJlNzlmMjVmMDQxMWVjMTA5NiBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTG9yZW56byBCaWFuY29uaSA8bG9yZW56by5iaWFu Y29uaUByZWRoYXQuY29tPgpEYXRlOiBXZWQsIDYgRmViIDIwMTkgMTk6MTg6MDQgKzAxMDAKU3Vi amVjdDogW1BBVENIIDA4LzIwXSBuZXQ6IGlwdjQ6IHVzZSBhIGRlZGljYXRlZCBjb3VudGVyIGZv ciBpY21wX3Y0IHJlZGlyZWN0CiBwYWNrZXRzCgpbIFVwc3RyZWFtIGNvbW1pdCBjMDk1NTFjNmZm N2ZlMTZhNzlhNDIxMzNiY2VjYmE1ZmMyZmMzMjkxIF0KCkFjY29yZGluZyB0byB0aGUgYWxnb3Jp dGhtIGRlc2NyaWJlZCBpbiB0aGUgY29tbWVudCBibG9jayBhdCB0aGUKYmVnaW5uaW5nIG9mIGlw X3J0X3NlbmRfcmVkaXJlY3QsIHRoZSBob3N0IHNob3VsZCB0cnkgdG8gc2VuZAonaXBfcnRfcmVk aXJlY3RfbnVtYmVyJyBJQ01QIHJlZGlyZWN0IHBhY2tldHMgd2l0aCBhbiBleHBvbmVudGlhbApi YWNrb2ZmIGFuZCB0aGVuIHN0b3Agc2VuZGluZyB0aGVtIGF0IGFsbCBhc3N1bWluZyB0aGF0IHRo ZSBkZXN0aW5hdGlvbgppZ25vcmVzIHJlZGlyZWN0cy4KSWYgdGhlIGRldmljZSBoYXMgcHJldmlv dXNseSBzZW50IHNvbWUgSUNNUCBlcnJvciBwYWNrZXRzIHRoYXQgYXJlCnJhdGUtbGltaXRlZCAo ZS5nIFRUTCBleHBpcmVkKSBhbmQgY29udGludWVzIHRvIHJlY2VpdmUgdHJhZmZpYywKdGhlIHJl ZGlyZWN0IHBhY2tldHMgd2lsbCBuZXZlciBiZSB0cmFuc21pdHRlZC4gVGhpcyBoYXBwZW5zIHNp bmNlCnBlZXItPnJhdGVfdG9rZW5zIHdpbGwgYmUgdHlwaWNhbGx5IGdyZWF0ZXIgdGhhbiAnaXBf cnRfcmVkaXJlY3RfbnVtYmVyJwphbmQgc28gaXQgd2lsbCBuZXZlciBiZSByZXNldCBldmVuIGlm IHRoZSByZWRpcmVjdCBzaWxlbmNlIHRpbWVvdXQKKGlwX3J0X3JlZGlyZWN0X3NpbGVuY2UpIGhh cyBlbGFwc2VkIHdpdGhvdXQgcmVjZWl2aW5nIGFueSBwYWNrZXQKcmVxdWlyaW5nIHJlZGlyZWN0 cy4KCkZpeCBpdCBieSB1c2luZyBhIGRlZGljYXRlZCBjb3VudGVyIGZvciB0aGUgbnVtYmVyIG9m IElDTVAgcmVkaXJlY3QKcGFja2V0cyB0aGF0IGhhcyBiZWVuIHNlbnQgYnkgdGhlIGhvc3QKCkkg aGF2ZSBub3QgYmVlbiBhYmxlIHRvIGlkZW50aWZ5IGEgZ2l2ZW4gY29tbWl0IHRoYXQgaW50cm9k dWNlZCB0aGUKaXNzdWUgc2luY2UgaXBfcnRfc2VuZF9yZWRpcmVjdCBpbXBsZW1lbnRzIHRoZSBz YW1lIHJhdGUtbGltaXRpbmcKYWxnb3JpdGhtIGZyb20gY29tbWl0IDFkYTE3N2U0YzNmNCAoIkxp bnV4LTIuNi4xMi1yYzIiKQoKU2lnbmVkLW9mZi1ieTogTG9yZW56byBCaWFuY29uaSA8bG9yZW56 by5iaWFuY29uaUByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRh dmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogaW5jbHVkZS9uZXQvaW5ldHBlZXIuaCB8IDEgKwogbmV0 L2lwdjQvaW5ldHBlZXIuYyAgICB8IDEgKwogbmV0L2lwdjQvcm91dGUuYyAgICAgICB8IDcgKysr KystLQogMyBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvaW5ldHBlZXIuaCBiL2luY2x1ZGUvbmV0L2luZXRwZWVy LmgKaW5kZXggMDBiNWU3ODI1NTA4Li43NGZmNjg4NTY4YTAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUv bmV0L2luZXRwZWVyLmgKKysrIGIvaW5jbHVkZS9uZXQvaW5ldHBlZXIuaApAQCAtMzksNiArMzks NyBAQCBzdHJ1Y3QgaW5ldF9wZWVyIHsKIAogCXUzMgkJCW1ldHJpY3NbUlRBWF9NQVhdOwogCXUz MgkJCXJhdGVfdG9rZW5zOwkvKiByYXRlIGxpbWl0aW5nIGZvciBJQ01QICovCisJdTMyCQkJbl9y ZWRpcmVjdHM7CiAJdW5zaWduZWQgbG9uZwkJcmF0ZV9sYXN0OwogCS8qCiAJICogT25jZSBpbmV0 X3BlZXIgaXMgcXVldWVkIGZvciBkZWxldGlvbiAocmVmY250ID09IDApLCBmb2xsb3dpbmcgZmll bGQKZGlmZiAtLWdpdCBhL25ldC9pcHY0L2luZXRwZWVyLmMgYi9uZXQvaXB2NC9pbmV0cGVlci5j CmluZGV4IGQ3NTdiOTY0MmQwZC4uYmU3Nzg1OTliZmVkIDEwMDY0NAotLS0gYS9uZXQvaXB2NC9p bmV0cGVlci5jCisrKyBiL25ldC9pcHY0L2luZXRwZWVyLmMKQEAgLTIxNiw2ICsyMTYsNyBAQCBz dHJ1Y3QgaW5ldF9wZWVyICppbmV0X2dldHBlZXIoc3RydWN0IGluZXRfcGVlcl9iYXNlICpiYXNl LAogCQkJYXRvbWljX3NldCgmcC0+cmlkLCAwKTsKIAkJCXAtPm1ldHJpY3NbUlRBWF9MT0NLLTFd ID0gSU5FVFBFRVJfTUVUUklDU19ORVc7CiAJCQlwLT5yYXRlX3Rva2VucyA9IDA7CisJCQlwLT5u X3JlZGlyZWN0cyA9IDA7CiAJCQkvKiA2MCpIWiBpcyBhcmJpdHJhcnksIGJ1dCBjaG9zZW4gZW5v dWdoIGhpZ2ggc28gdGhhdCB0aGUgZmlyc3QKIAkJCSAqIGNhbGN1bGF0aW9uIG9mIHRva2VucyBp cyBhdCBpdHMgbWF4aW11bS4KIAkJCSAqLwpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvcm91dGUuYyBi L25ldC9pcHY0L3JvdXRlLmMKaW5kZXggODUwMTU1NGU5NmE0Li40MzZiNDZjMGU2ODcgMTAwNjQ0 Ci0tLSBhL25ldC9pcHY0L3JvdXRlLmMKKysrIGIvbmV0L2lwdjQvcm91dGUuYwpAQCAtODg3LDEz ICs4ODcsMTUgQEAgdm9pZCBpcF9ydF9zZW5kX3JlZGlyZWN0KHN0cnVjdCBza19idWZmICpza2Ip CiAJLyogTm8gcmVkaXJlY3RlZCBwYWNrZXRzIGR1cmluZyBpcF9ydF9yZWRpcmVjdF9zaWxlbmNl OwogCSAqIHJlc2V0IHRoZSBhbGdvcml0aG0uCiAJICovCi0JaWYgKHRpbWVfYWZ0ZXIoamlmZmll cywgcGVlci0+cmF0ZV9sYXN0ICsgaXBfcnRfcmVkaXJlY3Rfc2lsZW5jZSkpCisJaWYgKHRpbWVf YWZ0ZXIoamlmZmllcywgcGVlci0+cmF0ZV9sYXN0ICsgaXBfcnRfcmVkaXJlY3Rfc2lsZW5jZSkp IHsKIAkJcGVlci0+cmF0ZV90b2tlbnMgPSAwOworCQlwZWVyLT5uX3JlZGlyZWN0cyA9IDA7CisJ fQogCiAJLyogVG9vIG1hbnkgaWdub3JlZCByZWRpcmVjdHM7IGRvIG5vdCBzZW5kIGFueXRoaW5n CiAJICogc2V0IGRzdC5yYXRlX2xhc3QgdG8gdGhlIGxhc3Qgc2VlbiByZWRpcmVjdGVkIHBhY2tl dC4KIAkgKi8KLQlpZiAocGVlci0+cmF0ZV90b2tlbnMgPj0gaXBfcnRfcmVkaXJlY3RfbnVtYmVy KSB7CisJaWYgKHBlZXItPm5fcmVkaXJlY3RzID49IGlwX3J0X3JlZGlyZWN0X251bWJlcikgewog CQlwZWVyLT5yYXRlX2xhc3QgPSBqaWZmaWVzOwogCQlnb3RvIG91dF9wdXRfcGVlcjsKIAl9CkBA IC05MTAsNiArOTEyLDcgQEAgdm9pZCBpcF9ydF9zZW5kX3JlZGlyZWN0KHN0cnVjdCBza19idWZm ICpza2IpCiAJCWljbXBfc2VuZChza2IsIElDTVBfUkVESVJFQ1QsIElDTVBfUkVESVJfSE9TVCwg Z3cpOwogCQlwZWVyLT5yYXRlX2xhc3QgPSBqaWZmaWVzOwogCQkrK3BlZXItPnJhdGVfdG9rZW5z OworCQkrK3BlZXItPm5fcmVkaXJlY3RzOwogI2lmZGVmIENPTkZJR19JUF9ST1VURV9WRVJCT1NF CiAJCWlmIChsb2dfbWFydGlhbnMgJiYKIAkJICAgIHBlZXItPnJhdGVfdG9rZW5zID09IGlwX3J0 X3JlZGlyZWN0X251bWJlcikKLS0gCjIuMjAuMQoKCkZyb20gMzdiYTgzMmI2NWM1ZTI4Yzk0MDcy ZmM2NWVmMzYxNTA4ZDM5Y2I4YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUGF1bCBL b2NpYWxrb3dza2kgPHBhdWwua29jaWFsa293c2tpQGJvb3RsaW4uY29tPgpEYXRlOiBGcmksIDE1 IEZlYiAyMDE5IDE3OjE3OjA4ICswMTAwClN1YmplY3Q6IFtQQVRDSCAwOS8yMF0gbmV0OiBwaHk6 IHhnbWlpdG9yZ21paTogU3VwcG9ydCBnZW5lcmljIFBIWSBzdGF0dXMgcmVhZAoKWyBVcHN0cmVh bSBjb21taXQgMTk3ZjlhYjdmMDhjZTRiOWVjZTY2MmY3NDdjMzk5MWIyZjBmYmI1NyBdCgpTb21l IFBIWSBkcml2ZXJzIGxpa2UgdGhlIGdlbmVyaWMgb25lIGRvIG5vdCBwcm92aWRlIGEgcmVhZF9z dGF0dXMKY2FsbGJhY2sgb24gdGhlaXIgb3duIGJ1dCByZWx5IG9uIGdlbnBoeV9yZWFkX3N0YXR1 cyBiZWluZyBjYWxsZWQKZGlyZWN0bHkuCgpXaXRoIHRoZSBjdXJyZW50IGNvZGUsIHRoaXMgcmVz dWx0cyBpbiBhIE5VTEwgZnVuY3Rpb24gcG9pbnRlciBjYWxsLgpDYWxsIGdlbnBoeV9yZWFkX3N0 YXR1cyBpbnN0ZWFkIHdoZW4gdGhlcmUgaXMgbm8gc3BlY2lmaWMgY2FsbGJhY2suCgpGaXhlczog ZjQxMWE2MTYwYmQ0ICgibmV0OiBwaHk6IEFkZCBnbWlpdG9yZ21paSBjb252ZXJ0ZXIgc3VwcG9y dCIpClNpZ25lZC1vZmYtYnk6IFBhdWwgS29jaWFsa293c2tpIDxwYXVsLmtvY2lhbGtvd3NraUBi b290bGluLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3BoeS94aWxpbnhfZ21paTJyZ21paS5jIHwgNSArKysr LQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L3BoeS94aWxpbnhfZ21paTJyZ21paS5jIGIvZHJpdmVycy9uZXQv cGh5L3hpbGlueF9nbWlpMnJnbWlpLmMKaW5kZXggNzRhODc4MjMxM2NmLi5iZDYwODRlMzE1ZGUg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3BoeS94aWxpbnhfZ21paTJyZ21paS5jCisrKyBiL2Ry aXZlcnMvbmV0L3BoeS94aWxpbnhfZ21paTJyZ21paS5jCkBAIC00NCw3ICs0NCwxMCBAQCBzdGF0 aWMgaW50IHhnbWlpdG9yZ21paV9yZWFkX3N0YXR1cyhzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2 KQogCXUxNiB2YWwgPSAwOwogCWludCBlcnI7CiAKLQllcnIgPSBwcml2LT5waHlfZHJ2LT5yZWFk X3N0YXR1cyhwaHlkZXYpOworCWlmIChwcml2LT5waHlfZHJ2LT5yZWFkX3N0YXR1cykKKwkJZXJy ID0gcHJpdi0+cGh5X2Rydi0+cmVhZF9zdGF0dXMocGh5ZGV2KTsKKwllbHNlCisJCWVyciA9IGdl bnBoeV9yZWFkX3N0YXR1cyhwaHlkZXYpOwogCWlmIChlcnIgPCAwKQogCQlyZXR1cm4gZXJyOwog Ci0tIAoyLjIwLjEKCgpGcm9tIDcxN2FjOGJjMGRiNzI1YTQ4YWUwZDIzZGU2N2NmYzcyNjA0NDdj NDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvc2UgQWJyZXUgPGpvc2UuYWJyZXVA c3lub3BzeXMuY29tPgpEYXRlOiBNb24sIDE4IEZlYiAyMDE5IDE0OjM1OjAzICswMTAwClN1Ympl Y3Q6IFtQQVRDSCAxMC8yMF0gbmV0OiBzdG1tYWM6IEZpeCBhIHJhY2UgaW4gRUVFIGVuYWJsZSBj YWxsYmFjawoKWyBVcHN0cmVhbSBjb21taXQgOGE3NDkzZTU4YWQ2ODhlYjIzYjgxZTQ1NDYxYzVk MzE0ZjQ0MDJmMSBdCgpXZSBhcmUgc2F2aW5nIHRoZSBzdGF0dXMgb2YgRUVFIGV2ZW4gYmVmb3Jl IHdlIHRyeSB0byBlbmFibGUgaXQuIFRoaXMKbGVhZHMgdG8gYSByYWNlIHdpdGggWE1JVCBmdW5j dGlvbiB0aGF0IHRyaWVzIHRvIGFybSBFRUUgdGltZXIgYmVmb3JlIHdlCnNldCBpdCB1cC4KCkZp eCB0aGlzIGJ5IG9ubHkgc2F2aW5nIHRoZSBFRUUgcGFyYW1ldGVycyBhZnRlciBhbGwgb3BlcmF0 aW9ucyBhcmUKcGVyZm9ybWVkIHdpdGggc3VjY2Vzcy4KClNpZ25lZC1vZmYtYnk6IEpvc2UgQWJy ZXUgPGpvYWJyZXVAc3lub3BzeXMuY29tPgpGaXhlczogZDc2NTk1NWQyYWUwICgic3RtbWFjOiBh ZGQgdGhlIEVuZXJneSBFZmZpY2llbnQgRXRoZXJuZXQgc3VwcG9ydCIpCkNjOiBKb2FvIFBpbnRv IDxqcGludG9Ac3lub3BzeXMuY29tPgpDYzogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgpDYzogR2l1c2VwcGUgQ2F2YWxsYXJvIDxwZXBwZS5jYXZhbGxhcm9Ac3QuY29tPgpD YzogQWxleGFuZHJlIFRvcmd1ZSA8YWxleGFuZHJlLnRvcmd1ZUBzdC5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiAuLi4vZXRoZXJu ZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2V0aHRvb2wuYyAgfCAyMiArKysrKysrKysrLS0tLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2V0 aHRvb2wuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19ldGh0 b29sLmMKaW5kZXggNTcxMDg2NGZhODA5Li45Y2FmNzliYTVlZjEgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19ldGh0b29sLmMKKysrIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX2V0aHRvb2wuYwpAQCAtNjky LDI1ICs2OTIsMjcgQEAgc3RhdGljIGludCBzdG1tYWNfZXRodG9vbF9vcF9zZXRfZWVlKHN0cnVj dCBuZXRfZGV2aWNlICpkZXYsCiAJCQkJICAgICBzdHJ1Y3QgZXRodG9vbF9lZWUgKmVkYXRhKQog ewogCXN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KGRldik7CisJaW50IHJl dDsKIAotCXByaXYtPmVlZV9lbmFibGVkID0gZWRhdGEtPmVlZV9lbmFibGVkOwotCi0JaWYgKCFw cml2LT5lZWVfZW5hYmxlZCkKKwlpZiAoIWVkYXRhLT5lZWVfZW5hYmxlZCkgewogCQlzdG1tYWNf ZGlzYWJsZV9lZWVfbW9kZShwcml2KTsKLQllbHNlIHsKKwl9IGVsc2UgewogCQkvKiBXZSBhcmUg YXNraW5nIGZvciBlbmFibGluZyB0aGUgRUVFIGJ1dCBpdCBpcyBzYWZlCiAJCSAqIHRvIHZlcmlm eSBhbGwgYnkgaW52b2tpbmcgdGhlIGVlZV9pbml0IGZ1bmN0aW9uLgogCQkgKiBJbiBjYXNlIG9m IGZhaWx1cmUgaXQgd2lsbCByZXR1cm4gYW4gZXJyb3IuCiAJCSAqLwotCQlwcml2LT5lZWVfZW5h YmxlZCA9IHN0bW1hY19lZWVfaW5pdChwcml2KTsKLQkJaWYgKCFwcml2LT5lZWVfZW5hYmxlZCkK KwkJZWRhdGEtPmVlZV9lbmFibGVkID0gc3RtbWFjX2VlZV9pbml0KHByaXYpOworCQlpZiAoIWVk YXRhLT5lZWVfZW5hYmxlZCkKIAkJCXJldHVybiAtRU9QTk9UU1VQUDsKLQotCQkvKiBEbyBub3Qg Y2hhbmdlIHR4X2xwaV90aW1lciBpbiBjYXNlIG9mIGZhaWx1cmUgKi8KLQkJcHJpdi0+dHhfbHBp X3RpbWVyID0gZWRhdGEtPnR4X2xwaV90aW1lcjsKIAl9CiAKLQlyZXR1cm4gcGh5X2V0aHRvb2xf c2V0X2VlZShkZXYtPnBoeWRldiwgZWRhdGEpOworCXJldCA9IHBoeV9ldGh0b29sX3NldF9lZWUo ZGV2LT5waHlkZXYsIGVkYXRhKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJcHJpdi0+ ZWVlX2VuYWJsZWQgPSBlZGF0YS0+ZWVlX2VuYWJsZWQ7CisJcHJpdi0+dHhfbHBpX3RpbWVyID0g ZWRhdGEtPnR4X2xwaV90aW1lcjsKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIHUzMiBzdG1tYWNf dXNlYzJyaXd0KHUzMiB1c2VjLCBzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYpCi0tIAoyLjIwLjEK CgpGcm9tIDI1OWFkOWE4YzM4MTZjY2ZjMWFhZjMwZjRlYjMxOWQ0NWM2YWQ4M2MgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IEFsZXhhbmRyZSBUb3JndWUgPGFsZXhhbmRyZS50b3JndWVA c3QuY29tPgpEYXRlOiBGcmksIDE1IEZlYiAyMDE5IDEwOjQ5OjA5ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAxMS8yMF0gbmV0OiBzdG1tYWM6IGhhbmRsZSBlbmRpYW5uZXNzIGluIGR3bWFjNF9nZXRf dGltZXN0YW1wCgpbIFVwc3RyZWFtIGNvbW1pdCAyMjRiYWJkNjJkNmYxOTU4MTc1N2E2ZDhiYWUz YmY5NTAxZmMxMGRlIF0KCkdNQUMgSVAgaXMgbGl0dGxlLWVuZGlhbiBhbmQgdXNlZCBvbiBzZXZl cmFsIGtpbmQgb2YgQ1BVIChiaWcgb3IgbGl0dGxlCmVuZGlhbikuIE1haW4gY2FsbGJhY2tzIGZ1 bmN0aW9ucyBvZiB0aGUgc3RtbWFjIGRyaXZlcnMgdGFrZSBjYXJlIGFib3V0Cml0LiBJdCB3YXMg bm90IHRoZSBjYXNlIGZvciBkd21hYzRfZ2V0X3RpbWVzdGFtcCBmdW5jdGlvbi4KCkZpeGVzOiBi YTFmZmQ3NGRmNzQgKCJzdG1tYWM6IGZpeCBQVFAgc3VwcG9ydCBmb3IgR01BQzQiKQpTaWduZWQt b2ZmLWJ5OiBBbGV4YW5kcmUgVG9yZ3VlIDxhbGV4YW5kcmUudG9yZ3VlQHN0LmNvbT4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZl cnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjNF9kZXNjcy5jIHwgOSArKysrKyst LS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWM0X2Rlc2Nz LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYzRfZGVzY3MuYwpp bmRleCAyMDI5OWY2ZjY1ZmMuLjczNmUyOTYzNWI3NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQv ZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWM0X2Rlc2NzLmMKKysrIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWM0X2Rlc2NzLmMKQEAgLTI0MSwxNSArMjQxLDE4 IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBkd21hYzRfZ2V0X3RpbWVzdGFtcCh2b2lkICpkZXNjLCB1 MzIgYXRzLCB1NjQgKnRzKQogc3RhdGljIGludCBkd21hYzRfcnhfY2hlY2tfdGltZXN0YW1wKHZv aWQgKmRlc2MpCiB7CiAJc3RydWN0IGRtYV9kZXNjICpwID0gKHN0cnVjdCBkbWFfZGVzYyAqKWRl c2M7CisJdW5zaWduZWQgaW50IHJkZXMwID0gbGUzMl90b19jcHUocC0+ZGVzMCk7CisJdW5zaWdu ZWQgaW50IHJkZXMxID0gbGUzMl90b19jcHUocC0+ZGVzMSk7CisJdW5zaWduZWQgaW50IHJkZXMz ID0gbGUzMl90b19jcHUocC0+ZGVzMyk7CiAJdTMyIG93biwgY3R4dDsKIAlpbnQgcmV0ID0gMTsK IAotCW93biA9IHAtPmRlczMgJiBSREVTM19PV047Ci0JY3R4dCA9ICgocC0+ZGVzMyAmIFJERVMz X0NPTlRFWFRfREVTQ1JJUFRPUikKKwlvd24gPSByZGVzMyAmIFJERVMzX09XTjsKKwljdHh0ID0g KChyZGVzMyAmIFJERVMzX0NPTlRFWFRfREVTQ1JJUFRPUikKIAkJPj4gUkRFUzNfQ09OVEVYVF9E RVNDUklQVE9SX1NISUZUKTsKIAogCWlmIChsaWtlbHkoIW93biAmJiBjdHh0KSkgewotCQlpZiAo KHAtPmRlczAgPT0gMHhmZmZmZmZmZikgJiYgKHAtPmRlczEgPT0gMHhmZmZmZmZmZikpCisJCWlm ICgocmRlczAgPT0gMHhmZmZmZmZmZikgJiYgKHJkZXMxID09IDB4ZmZmZmZmZmYpKQogCQkJLyog Q29ycnVwdGVkIHZhbHVlICovCiAJCQlyZXQgPSAtRUlOVkFMOwogCQllbHNlCi0tIAoyLjIwLjEK CgpGcm9tIGU3YmRjYzg5NjZiY2U2NjUwNjZjYzYyOTdhNGYyMzE3ZjhlOTFiYjIgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IFdpbGxlbSBkZSBCcnVpam4gPHdpbGxlbWJAZ29vZ2xlLmNv bT4KRGF0ZTogRnJpLCAxNSBGZWIgMjAxOSAxMjoxNTo0NyAtMDUwMApTdWJqZWN0OiBbUEFUQ0gg MTIvMjBdIG5ldDogdmFsaWRhdGUgdW50cnVzdGVkIGdzbyBwYWNrZXRzIHdpdGhvdXQgY3N1bQog b2ZmbG9hZAoKWyBVcHN0cmVhbSBjb21taXQgZDViZTdmNjMyYmFkMGY0ODk4NzllZWQwZmY0Yjk5 YmQ3ZmUwYjc0YyBdCgpTeXprYWxsZXIgYWdhaW4gZm91bmQgYSBwYXRoIHRvIGEga2VybmVsIGNy YXNoIHRocm91Z2ggYmFkIGdzbyBpbnB1dC4KQnkgYnVpbGRpbmcgYW4gZXhjZXNzaXZlbHkgbGFy Z2UgcGFja2V0IHRvIGNhdXNlIGFuIHNrYiBmaWVsZCB0byB3cmFwLgoKSWYgVklSVElPX05FVF9I RFJfRl9ORUVEU19DU1VNIHdhcyBzZXQgdGhpcyB3b3VsZCBoYXZlIGJlZW4gZHJvcHBlZCBpbgpz a2JfcGFydGlhbF9jc3VtX3NldC4KCkdTTyBwYWNrZXRzIHRoYXQgZG8gbm90IHNldCBjaGVja3N1 bSBvZmZsb2FkIGFyZSBzdXNwaWNpb3VzIGFuZCByYXJlLgpNb3N0IGNhbGxlcnMgb2YgdmlydGlv X25ldF9oZHJfdG9fc2tiIGFscmVhZHkgcGFzcyB0aGVtIHRvCnNrYl9wcm9iZV90cmFuc3BvcnRf aGVhZGVyLgoKTW92ZSB0aGF0IHRlc3QgZm9yd2FyZCwgY2hhbmdlIGl0IHRvIGRldGVjdCBwYXJz ZSBmYWlsdXJlIGFuZCBkcm9wCnBhY2tldHMgb24gZmFpbHVyZSBhcyB0aG9zZSBjbGVhcnkgYXJl IG5vdCBvbmUgb2YgdGhlIGxlZ2l0aW1hdGUKVklSVElPX05FVF9IRFJfR1NPIHR5cGVzLgoKRml4 ZXM6IGJmZDVmNGEzZDYwNSAoInBhY2tldDogQWRkIEdTTy9jc3VtIG9mZmxvYWQgc3VwcG9ydC4i KQpGaXhlczogZjQzNzk4YzI3Njg0ICgidHVuOiBBbGxvdyBHU08gdXNpbmcgdmlydGlvX25ldF9o ZHIiKQpSZXBvcnRlZC1ieTogc3l6Ym90IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KU2ln bmVkLW9mZi1ieTogV2lsbGVtIGRlIEJydWlqbiA8d2lsbGVtYkBnb29nbGUuY29tPgpSZXZpZXdl ZC1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogaW5jbHVkZS9saW51eC9z a2J1ZmYuaCAgICAgfCAyICstCiBpbmNsdWRlL2xpbnV4L3ZpcnRpb19uZXQuaCB8IDkgKysrKysr KysrCiAyIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRp ZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3NrYnVmZi5oIGIvaW5jbHVkZS9saW51eC9za2J1ZmYu aAppbmRleCA1ZDY5ZTIwOGU4ZDkuLmE0MDRkNDc1YWNlZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9s aW51eC9za2J1ZmYuaAorKysgYi9pbmNsdWRlL2xpbnV4L3NrYnVmZi5oCkBAIC0yMzkyLDcgKzIz OTIsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgc2tiX3Byb2JlX3RyYW5zcG9ydF9oZWFkZXIoc3Ry dWN0IHNrX2J1ZmYgKnNrYiwKIAogCWlmIChza2JfZmxvd19kaXNzZWN0X2Zsb3dfa2V5c19iYXNp Yyhza2IsICZrZXlzLCBOVUxMLCAwLCAwLCAwLCAwKSkKIAkJc2tiX3NldF90cmFuc3BvcnRfaGVh ZGVyKHNrYiwga2V5cy5jb250cm9sLnRob2ZmKTsKLQllbHNlCisJZWxzZSBpZiAob2Zmc2V0X2hp bnQgPj0gMCkKIAkJc2tiX3NldF90cmFuc3BvcnRfaGVhZGVyKHNrYiwgb2Zmc2V0X2hpbnQpOwog fQogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3ZpcnRpb19uZXQuaCBiL2luY2x1ZGUvbGlu dXgvdmlydGlvX25ldC5oCmluZGV4IGNiNDYyZjlhYjdkZC4uNzFmMjM5NGFiYmY3IDEwMDY0NAot LS0gYS9pbmNsdWRlL2xpbnV4L3ZpcnRpb19uZXQuaAorKysgYi9pbmNsdWRlL2xpbnV4L3ZpcnRp b19uZXQuaApAQCAtNTcsNiArNTcsMTUgQEAgc3RhdGljIGlubGluZSBpbnQgdmlydGlvX25ldF9o ZHJfdG9fc2tiKHN0cnVjdCBza19idWZmICpza2IsCiAKIAkJaWYgKCFza2JfcGFydGlhbF9jc3Vt X3NldChza2IsIHN0YXJ0LCBvZmYpKQogCQkJcmV0dXJuIC1FSU5WQUw7CisJfSBlbHNlIHsKKwkJ LyogZ3NvIHBhY2tldHMgd2l0aG91dCBORUVEU19DU1VNIGRvIG5vdCBzZXQgdHJhbnNwb3J0X29m ZnNldC4KKwkJICogcHJvYmUgYW5kIGRyb3AgaWYgZG9lcyBub3QgbWF0Y2ggb25lIG9mIHRoZSBh Ym92ZSB0eXBlcy4KKwkJICovCisJCWlmIChnc29fdHlwZSkgeworCQkJc2tiX3Byb2JlX3RyYW5z cG9ydF9oZWFkZXIoc2tiLCAtMSk7CisJCQlpZiAoIXNrYl90cmFuc3BvcnRfaGVhZGVyX3dhc19z ZXQoc2tiKSkKKwkJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQogCX0KIAogCWlmIChoZHItPmdzb190 eXBlICE9IFZJUlRJT19ORVRfSERSX0dTT19OT05FKSB7Ci0tIAoyLjIwLjEKCgpGcm9tIDBkYTdj MTNkNDRiZjMwMDJhMTI2Y2UxNDVhYTFlMGZmY2E4M2RiNGEgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEthaS1IZW5nIEZlbmcgPGthaS5oZW5nLmZlbmdAY2Fub25pY2FsLmNvbT4KRGF0 ZTogVHVlLCAxOSBGZWIgMjAxOSAyMzo0NToyOSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTMvMjBd IHNreTI6IEluY3JlYXNlIEQzIGRlbGF5IGFnYWluCgpbIFVwc3RyZWFtIGNvbW1pdCAxNzY1ZjVk Y2QwMDk2M2UzM2YxYjhhNGUwZjM0MDYxZmJjMGUyZjdmIF0KCkFub3RoZXIgcGxhdGZvcm0gcmVx dWlyZXMgZXZlbiBsb25nZXIgZGVsYXkgdG8gbWFrZSB0aGUgZGV2aWNlIHdvcmsKY29ycmVjdGx5 IGFmdGVyIFMzLgoKU28gaW5jcmVhc2UgdGhlIGRlbGF5IHRvIDMwMG1zLgoKQnVnTGluazogaHR0 cHM6Ly9idWdzLmxhdW5jaHBhZC5uZXQvYnVncy8xNzk4OTIxCgpTaWduZWQtb2ZmLWJ5OiBLYWkt SGVuZyBGZW5nIDxrYWkuaGVuZy5mZW5nQGNhbm9uaWNhbC5jb20+ClNpZ25lZC1vZmYtYnk6IERh dmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhl cm5ldC9tYXJ2ZWxsL3NreTIuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZl bGwvc2t5Mi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9za3kyLmMKaW5kZXggNjk3 ZDliMzc0ZjVlLi5hZTJmMzUwMzkzNDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0 L21hcnZlbGwvc2t5Mi5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvc2t5Mi5j CkBAIC01MDg3LDcgKzUwODcsNyBAQCBzdGF0aWMgaW50IHNreTJfcHJvYmUoc3RydWN0IHBjaV9k ZXYgKnBkZXYsIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICplbnQpCiAJSU5JVF9XT1JLKCZo dy0+cmVzdGFydF93b3JrLCBza3kyX3Jlc3RhcnQpOwogCiAJcGNpX3NldF9kcnZkYXRhKHBkZXYs IGh3KTsKLQlwZGV2LT5kM19kZWxheSA9IDIwMDsKKwlwZGV2LT5kM19kZWxheSA9IDMwMDsKIAog CXJldHVybiAwOwogCi0tIAoyLjIwLjEKCgpGcm9tIDdmNDE1ZDFkZjk4NjY2NmMzN2NmMzdiYmE1 ZmU2ZTM0MmZhM2ZlZDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEphc29uIFdhbmcg PGphc293YW5nQHJlZGhhdC5jb20+CkRhdGU6IFR1ZSwgMTkgRmViIDIwMTkgMTQ6NTM6NDQgKzA4 MDAKU3ViamVjdDogW1BBVENIIDE0LzIwXSB2aG9zdDogY29ycmVjdGx5IGNoZWNrIHRoZSByZXR1 cm4gdmFsdWUgb2YKIHRyYW5zbGF0ZV9kZXNjKCkgaW4gbG9nX3VzZWQoKQoKWyBVcHN0cmVhbSBj b21taXQgODE2ZGI3NjYzNTY1Y2QyM2Y3NGVkM2Q1YzkyNDA1MjJlM2ZiMGRkYSBdCgpXaGVuIGZh aWwsIHRyYW5zbGF0ZV9kZXNjKCkgcmV0dXJucyBuZWdhdGl2ZSB2YWx1ZSwgb3RoZXJ3aXNlIHRo ZQpudW1iZXIgb2YgaW92cy4gU28gd2Ugc2hvdWxkIGZhaWwgd2hlbiB0aGUgcmV0dXJuIHZhbHVl IGlzIG5lZ2F0aXZlCmluc3RlYWQgb2YgYSBibGluZGx5IGNoZWNrIGFnYWluc3QgemVyby4KCkRl dGVjdGVkIGJ5IENvdmVyaXR5U2NhbiwgQ0lEIyAxNDQyNTkzOiAgQ29udHJvbCBmbG93IGlzc3Vl cyAgKERFQURDT0RFKQoKRml4ZXM6IGNjNWU3MTA3NTk0NyAoInZob3N0OiBsb2cgZGlydHkgcGFn ZSBjb3JyZWN0bHkiKQpBY2tlZC1ieTogTWljaGFlbCBTLiBUc2lya2luIDxtc3RAcmVkaGF0LmNv bT4KUmVwb3J0ZWQtYnk6IFN0ZXBoZW4gSGVtbWluZ2VyIDxzdGVwaGVuQG5ldHdvcmtwbHVtYmVy Lm9yZz4KU2lnbmVkLW9mZi1ieTogSmFzb24gV2FuZyA8amFzb3dhbmdAcmVkaGF0LmNvbT4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRy aXZlcnMvdmhvc3Qvdmhvc3QuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmhvc3Qvdmhvc3QuYyBiL2Ry aXZlcnMvdmhvc3Qvdmhvc3QuYwppbmRleCBjZjgyZTcyNjYzOTcuLjVlYWVjYTgwNWM5NSAxMDA2 NDQKLS0tIGEvZHJpdmVycy92aG9zdC92aG9zdC5jCisrKyBiL2RyaXZlcnMvdmhvc3Qvdmhvc3Qu YwpAQCAtMTc4NCw3ICsxNzg0LDcgQEAgc3RhdGljIGludCBsb2dfdXNlZChzdHJ1Y3Qgdmhvc3Rf dmlydHF1ZXVlICp2cSwgdTY0IHVzZWRfb2Zmc2V0LCB1NjQgbGVuKQogCiAJcmV0ID0gdHJhbnNs YXRlX2Rlc2ModnEsICh1aW50cHRyX3QpdnEtPnVzZWQgKyB1c2VkX29mZnNldCwKIAkJCSAgICAg bGVuLCBpb3YsIDY0LCBWSE9TVF9BQ0NFU1NfV08pOwotCWlmIChyZXQpCisJaWYgKHJldCA8IDAp CiAJCXJldHVybiByZXQ7CiAKIAlmb3IgKGkgPSAwOyBpIDwgcmV0OyBpKyspIHsKLS0gCjIuMjAu MQoKCkZyb20gZGQyYzI1NGE1YzI1MTJkNDUxMWI2YjM3MzVjMDQyNTcxZmJjMGExMCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUGFvbG8gQWJlbmkgPHBhYmVuaUByZWRoYXQuY29tPgpE YXRlOiBUaHUsIDcgRmViIDIwMTkgMTQ6MTM6MTggKzAxMDAKU3ViamVjdDogW1BBVENIIDE1LzIw XSB2c29jazogY29wZSB3aXRoIG1lbW9yeSBhbGxvY2F0aW9uIGZhaWx1cmUgYXQgc29ja2V0CiBj cmVhdGlvbiB0aW1lCgpbIFVwc3RyZWFtIGNvbW1pdCAyMjVkOTQ2NDI2ODU5OWE1YjRkMDk0ZDAy ZWMxNzgwOGU0NGM3NTUzIF0KCkluIHRoZSB1bmxpa2VseSBldmVudCB0aGF0IHRoZSBrbWFsbG9j IGNhbGwgaW4gdm1jaV90cmFuc3BvcnRfc29ja2V0X2luaXQoKQpmYWlscywgd2UgZW5kLXVwIGNh bGxpbmcgdm1jaV90cmFuc3BvcnRfZGVzdHJ1Y3QoKSB3aXRoIGEgTlVMTCB2bWNpX3RyYW5zKCkK YW5kIG9vcHNpbmcuCgpUaGlzIGNoYW5nZSBhZGRyZXNzZXMgdGhlIGFib3ZlIGV4cGxpY2l0bHkg Y2hlY2tpbmcgZm9yIHplcm8gdm1jaV90cmFucygpCmF0IGRlc3RydWN0aW9uIHRpbWUuCgpSZXBv cnRlZC1ieTogWGl1bWVpIE11IDx4bXVAcmVkaGF0LmNvbT4KRml4ZXM6IGQwMjFjMzQ0MDUxYSAo IlZTT0NLOiBJbnRyb2R1Y2UgVk0gU29ja2V0cyIpClNpZ25lZC1vZmYtYnk6IFBhb2xvIEFiZW5p IDxwYWJlbmlAcmVkaGF0LmNvbT4KUmV2aWV3ZWQtYnk6IFN0ZWZhbm8gR2FyemFyZWxsYSA8c2dh cnphcmVAcmVkaGF0LmNvbT4KUmV2aWV3ZWQtYnk6IEpvcmdlbiBIYW5zZW4gPGpoYW5zZW5Adm13 YXJlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIG5ldC92bXdfdnNvY2svdm1jaV90cmFuc3BvcnQuYyB8IDQgKysrKwogMSBmaWxl IGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC92bXdfdnNvY2svdm1j aV90cmFuc3BvcnQuYyBiL25ldC92bXdfdnNvY2svdm1jaV90cmFuc3BvcnQuYwppbmRleCBjMzYx Y2U3ODI0MTIuLmMzZDVhYjAxZmJhNyAxMDA2NDQKLS0tIGEvbmV0L3Ztd192c29jay92bWNpX3Ry YW5zcG9ydC5jCisrKyBiL25ldC92bXdfdnNvY2svdm1jaV90cmFuc3BvcnQuYwpAQCAtMTY1MSw2 ICsxNjUxLDEwIEBAIHN0YXRpYyB2b2lkIHZtY2lfdHJhbnNwb3J0X2NsZWFudXAoc3RydWN0IHdv cmtfc3RydWN0ICp3b3JrKQogCiBzdGF0aWMgdm9pZCB2bWNpX3RyYW5zcG9ydF9kZXN0cnVjdChz dHJ1Y3QgdnNvY2tfc29jayAqdnNrKQogeworCS8qIHRyYW5zcG9ydCBjYW4gYmUgTlVMTCBpZiB3 ZSBoaXQgYSBmYWlsdXJlIGF0IGluaXQoKSB0aW1lICovCisJaWYgKCF2bWNpX3RyYW5zKHZzaykp CisJCXJldHVybjsKKwogCS8qIEVuc3VyZSB0aGF0IHRoZSBkZXRhY2ggY2FsbGJhY2sgZG9lc24n dCB1c2UgdGhlIHNrL3ZzawogCSAqIHdlIGFyZSBhYm91dCB0byBkZXN0cnVjdC4KIAkgKi8KLS0g CjIuMjAuMQoKCkZyb20gYzM3MTg4ZGMzYWQwNTQ4MTgxNmI2MmU1ZWEyNTQwOWIxMDI3ZmViMyBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29n bGUuY29tPgpEYXRlOiBUaHUsIDcgRmViIDIwMTkgMTI6Mjc6MzggLTA4MDAKU3ViamVjdDogW1BB VENIIDE2LzIwXSB2eGxhbjogdGVzdCBkZXYtPmZsYWdzICYgSUZGX1VQIGJlZm9yZSBjYWxsaW5n CiBuZXRpZl9yeCgpCgpbIFVwc3RyZWFtIGNvbW1pdCA0MTc5Y2I1YTRjOTI0Y2QyMzNlYWFkZDA4 MTg4MjQyNWJjOThmNDRlIF0KCm5ldGlmX3J4KCkgbXVzdCBiZSBjYWxsZWQgdW5kZXIgYSBzdHJp Y3QgY29udHJhY3QuCgpBdCBkZXZpY2UgZGlzbWFudGxlIHBoYXNlLCBjb3JlIG5ldHdvcmtpbmcg Y2xlYXJzIElGRl9VUAphbmQgZmx1c2hfYWxsX2JhY2tsb2dzKCkgaXMgY2FsbGVkIGFmdGVyIHJj dSBncmFjZSBwZXJpb2QKdG8gbWFrZSBzdXJlIG5vIGluY29taW5nIHBhY2tldCBtaWdodCBiZSBp biBhIGNwdSBiYWNrbG9nCmFuZCBzdGlsbCByZWZlcmVuY2luZyB0aGUgZGV2aWNlLgoKTW9zdCBk cml2ZXJzIGNhbGwgbmV0aWZfcngoKSBmcm9tIHRoZWlyIGludGVycnVwdCBoYW5kbGVyLAphbmQg c2luY2UgdGhlIGludGVycnVwdHMgYXJlIGRpc2FibGVkIGF0IGRldmljZSBkaXNtYW50bGUsCm5l dGlmX3J4KCkgZG9lcyBub3QgaGF2ZSB0byBjaGVjayBkZXYtPmZsYWdzICYgSUZGX1VQCgpWaXJ0 dWFsIGRyaXZlcnMgZG8gbm90IGhhdmUgdGhpcyBndWFyYW50ZWUsIGFuZCBtdXN0CnRoZXJlZm9y ZSBtYWtlIHRoZSBjaGVjayB0aGVtc2VsdmVzLgoKT3RoZXJ3aXNlIHdlIHJpc2sgdXNlLWFmdGVy LWZyZWUgYW5kL29yIGNyYXNoZXMuCgpOb3RlIHRoaXMgcGF0Y2ggYWxzbyBmaXhlcyBhIHNtYWxs IGlzc3VlIHRoYXQgY2FtZQp3aXRoIGNvbW1pdCBjZTY1MDJhOGY5NTcgKCJ2eGxhbjogZml4IGEg dXNlIGFmdGVyIGZyZWUKaW4gdnhsYW5fZW5jYXBfYnlwYXNzIiksIHNpbmNlIHRoZSBkZXYtPnN0 YXRzLnJ4X2Ryb3BwZWQKY2hhbmdlIHdhcyBkb25lIG9uIHRoZSB3cm9uZyBkZXZpY2UuCgpGaXhl czogZDM0Mjg5NGM1ZDJmICgidnhsYW46IHZpcnR1YWwgZXh0ZW5zaWJsZSBsYW4iKQpGaXhlczog Y2U2NTAyYThmOTU3ICgidnhsYW46IGZpeCBhIHVzZSBhZnRlciBmcmVlIGluIHZ4bGFuX2VuY2Fw X2J5cGFzcyIpClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNv bT4KQ2M6IFBldHIgTWFjaGF0YSA8cGV0cm1AbWVsbGFub3guY29tPgpDYzogSWRvIFNjaGltbWVs IDxpZG9zY2hAbWVsbGFub3guY29tPgpDYzogUm9vcGEgUHJhYmh1IDxyb29wYUBjdW11bHVzbmV0 d29ya3MuY29tPgpDYzogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZl cnMvbmV0L3Z4bGFuLmMgfCAxNCArKysrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDExIGlu c2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdnhs YW4uYyBiL2RyaXZlcnMvbmV0L3Z4bGFuLmMKaW5kZXggMjdiZDU4NmI5NGIwLi45ZmM5YWVkNmNh OWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3Z4bGFuLmMKKysrIGIvZHJpdmVycy9uZXQvdnhs YW4uYwpAQCAtMjAwMyw3ICsyMDAzLDcgQEAgc3RhdGljIHZvaWQgdnhsYW5fZW5jYXBfYnlwYXNz KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCB2eGxhbl9kZXYgKnNyY192eGxhbiwKIAlzdHJ1 Y3QgcGNwdV9zd19uZXRzdGF0cyAqdHhfc3RhdHMsICpyeF9zdGF0czsKIAl1bmlvbiB2eGxhbl9h ZGRyIGxvb3BiYWNrOwogCXVuaW9uIHZ4bGFuX2FkZHIgKnJlbW90ZV9pcCA9ICZkc3RfdnhsYW4t PmRlZmF1bHRfZHN0LnJlbW90ZV9pcDsKLQlzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gc2tiLT5k ZXY7CisJc3RydWN0IG5ldF9kZXZpY2UgKmRldjsKIAlpbnQgbGVuID0gc2tiLT5sZW47CiAKIAl0 eF9zdGF0cyA9IHRoaXNfY3B1X3B0cihzcmNfdnhsYW4tPmRldi0+dHN0YXRzKTsKQEAgLTIwMjMs OSArMjAyMywxNSBAQCBzdGF0aWMgdm9pZCB2eGxhbl9lbmNhcF9ieXBhc3Moc3RydWN0IHNrX2J1 ZmYgKnNrYiwgc3RydWN0IHZ4bGFuX2RldiAqc3JjX3Z4bGFuLAogI2VuZGlmCiAJfQogCisJcmN1 X3JlYWRfbG9jaygpOworCWRldiA9IHNrYi0+ZGV2OworCWlmICh1bmxpa2VseSghKGRldi0+Zmxh Z3MgJiBJRkZfVVApKSkgeworCQlrZnJlZV9za2Ioc2tiKTsKKwkJZ290byBkcm9wOworCX0KKwog CWlmIChkc3RfdnhsYW4tPmNmZy5mbGFncyAmIFZYTEFOX0ZfTEVBUk4pCi0JCXZ4bGFuX3Nub29w KHNrYi0+ZGV2LCAmbG9vcGJhY2ssIGV0aF9oZHIoc2tiKS0+aF9zb3VyY2UsIDAsCi0JCQkgICAg dm5pKTsKKwkJdnhsYW5fc25vb3AoZGV2LCAmbG9vcGJhY2ssIGV0aF9oZHIoc2tiKS0+aF9zb3Vy Y2UsIDAsIHZuaSk7CiAKIAl1NjRfc3RhdHNfdXBkYXRlX2JlZ2luKCZ0eF9zdGF0cy0+c3luY3Ap OwogCXR4X3N0YXRzLT50eF9wYWNrZXRzKys7CkBAIC0yMDM4LDggKzIwNDQsMTAgQEAgc3RhdGlj IHZvaWQgdnhsYW5fZW5jYXBfYnlwYXNzKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCB2eGxh bl9kZXYgKnNyY192eGxhbiwKIAkJcnhfc3RhdHMtPnJ4X2J5dGVzICs9IGxlbjsKIAkJdTY0X3N0 YXRzX3VwZGF0ZV9lbmQoJnJ4X3N0YXRzLT5zeW5jcCk7CiAJfSBlbHNlIHsKK2Ryb3A6CiAJCWRl di0+c3RhdHMucnhfZHJvcHBlZCsrOwogCX0KKwlyY3VfcmVhZF91bmxvY2soKTsKIH0KIAogc3Rh dGljIGludCBlbmNhcF9ieXBhc3NfaWZfbG9jYWwoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0 IG5ldF9kZXZpY2UgKmRldiwKLS0gCjIuMjAuMQoKCkZyb20gYTVhMTc4NDBiNzg1ODc3Zjc2ZDA5 ZjI0MWE4ODFjNDg4MjRmYjA3NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkRhdmlk IFMuIE1pbGxlciIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+CkRhdGU6IFNhdCwgMTYgRmViIDIwMTkg MTM6NDQ6MzkgLTA4MDAKU3ViamVjdDogW1BBVENIIDE3LzIwXSBuZXQ6IEFkZCBoZWFkZXIgZm9y IHVzYWdlIG9mIGZsczY0KCkKClsgVXBzdHJlYW0gY29tbWl0IDg2ODFlZjFmM2QyOTViZDM2MDAz MTUzMjVmM2IzMzk2ZDc2ZDAyZjYgXQoKRml4ZXM6IDNiODllYTljNTkwMiAoIm5ldDogRml4IGZv cl9lYWNoX25ldGRldl9mZWF0dXJlIG9uIEJpZyBlbmRpYW4iKQpTdWdnZXN0ZWQtYnk6IEVyaWMg RHVtYXpldCA8ZXJpYy5kdW1hemV0QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4g TWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGluY2x1ZGUvbGludXgvbmV0ZGV2X2Zl YXR1cmVzLmggfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdp dCBhL2luY2x1ZGUvbGludXgvbmV0ZGV2X2ZlYXR1cmVzLmggYi9pbmNsdWRlL2xpbnV4L25ldGRl dl9mZWF0dXJlcy5oCmluZGV4IGZjZTI4NTYyYmVkMi4uNGM3NmZlMmM4NDg4IDEwMDY0NAotLS0g YS9pbmNsdWRlL2xpbnV4L25ldGRldl9mZWF0dXJlcy5oCisrKyBiL2luY2x1ZGUvbGludXgvbmV0 ZGV2X2ZlYXR1cmVzLmgKQEAgLTExLDYgKzExLDcgQEAKICNkZWZpbmUgX0xJTlVYX05FVERFVl9G RUFUVVJFU19ICiAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2Jp dG9wcy5oPgogI2luY2x1ZGUgPGFzbS9ieXRlb3JkZXIuaD4KIAogdHlwZWRlZiB1NjQgbmV0ZGV2 X2ZlYXR1cmVzX3Q7Ci0tIAoyLjIwLjEKCgpGcm9tIDMzMjAxODNiZjgzYTNjMDViN2VlODhmYzlk MDU1YzExZTRkNDM4OWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpl dCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogRnJpLCAxNSBGZWIgMjAxOSAxMzozNjoyMCAt MDgwMApTdWJqZWN0OiBbUEFUQ0ggMTgvMjBdIHRjcDogY2xlYXIgaWNza19iYWNrb2ZmIGluIHRj cF93cml0ZV9xdWV1ZV9wdXJnZSgpCgpbIFVwc3RyZWFtIGNvbW1pdCAwNGMwMzExNGJlODIxOTRk NGE0ODU4ZDQxZGJhOGUyODZhZDE3ODdjIF0KCnNvdWtqaW4gYmFlIHJlcG9ydGVkIGEgY3Jhc2gg aW4gdGNwX3Y0X2VycigpIGhhbmRsaW5nCklDTVBfREVTVF9VTlJFQUNIIGFmdGVyIHRjcF93cml0 ZV9xdWV1ZV9oZWFkKHNrKQpyZXR1cm5lZCBhIE5VTEwgcG9pbnRlci4KCkN1cnJlbnQgbG9naWMg c2hvdWxkIGhhdmUgcHJldmVudGVkIHRoaXMgOgoKICBpZiAoc2VxICE9IHRwLT5zbmRfdW5hICB8 fCAhaWNzay0+aWNza19yZXRyYW5zbWl0cyB8fAogICAgICAhaWNzay0+aWNza19iYWNrb2ZmIHx8 IGZhc3RvcGVuKQogICAgICBicmVhazsKClByb2JsZW0gaXMgdGhlIHdyaXRlIHF1ZXVlIG1pZ2h0 IGhhdmUgYmVlbiBwdXJnZWQKYW5kIGljc2tfYmFja29mZiBoYXMgbm90IGJlZW4gY2xlYXJlZC4K ClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KUmVwb3J0 ZWQtYnk6IHNvdWtqaW4gYmFlIDxzb3VramluLmJhZUBzYW1zdW5nLmNvbT4KQWNrZWQtYnk6IE5l YWwgQ2FyZHdlbGwgPG5jYXJkd2VsbEBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvdGNwLmMgfCAyICst CiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1n aXQgYS9uZXQvaXB2NC90Y3AuYyBiL25ldC9pcHY0L3RjcC5jCmluZGV4IDg3ZmU0NDE5N2FhMS4u NDMyZGM5YWYxMTcyIDEwMDY0NAotLS0gYS9uZXQvaXB2NC90Y3AuYworKysgYi9uZXQvaXB2NC90 Y3AuYwpAQCAtMjUxOSw2ICsyNTE5LDcgQEAgdm9pZCB0Y3Bfd3JpdGVfcXVldWVfcHVyZ2Uoc3Ry dWN0IHNvY2sgKnNrKQogCXNrX21lbV9yZWNsYWltKHNrKTsKIAl0Y3BfY2xlYXJfYWxsX3JldHJh bnNfaGludHModGNwX3NrKHNrKSk7CiAJdGNwX3NrKHNrKS0+cGFja2V0c19vdXQgPSAwOworCWlu ZXRfY3NrKHNrKS0+aWNza19iYWNrb2ZmID0gMDsKIH0KIAogaW50IHRjcF9kaXNjb25uZWN0KHN0 cnVjdCBzb2NrICpzaywgaW50IGZsYWdzKQpAQCAtMjU2Nyw3ICsyNTY4LDYgQEAgaW50IHRjcF9k aXNjb25uZWN0KHN0cnVjdCBzb2NrICpzaywgaW50IGZsYWdzKQogCXRwLT53cml0ZV9zZXEgKz0g dHAtPm1heF93aW5kb3cgKyAyOwogCWlmICh0cC0+d3JpdGVfc2VxID09IDApCiAJCXRwLT53cml0 ZV9zZXEgPSAxOwotCWljc2stPmljc2tfYmFja29mZiA9IDA7CiAJdHAtPnNuZF9jd25kID0gMjsK IAlpY3NrLT5pY3NrX3Byb2Jlc19vdXQgPSAwOwogCXRwLT5zbmRfc3N0aHJlc2ggPSBUQ1BfSU5G SU5JVEVfU1NUSFJFU0g7Ci0tIAoyLjIwLjEKCgpGcm9tIDVlNDcyMmZiYTc5YTZiMzA3Y2I1MTZm OTExZjExYjdjZGM3NThlMjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVt YXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogRnJpLCAxNSBGZWIgMjAxOSAxMzozNjoy MSAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTkvMjBdIHRjcDogdGNwX3Y0X2VycigpIHNob3VsZCBi ZSBtb3JlIGNhcmVmdWwKClsgVXBzdHJlYW0gY29tbWl0IDJjNGNjOTcxMjM2NGMwNTFiMWRlMmQx NzVkNWZiZWE2YmU5NDhlYmYgXQoKSUNNUCBoYW5kbGVycyBhcmUgbm90IHZlcnkgb2Z0ZW4gc3Ry ZXNzZWQsIHdlIHNob3VsZAptYWtlIHRoZW0gbW9yZSByZXNpbGllbnQgdG8gYnVncyB0aGF0IG1p Z2h0IHN1cmZhY2UgaW4KdGhlIGZ1dHVyZS4KCklmIHRoZXJlIGlzIG5vIHBhY2tldCBpbiByZXRy YW5zbWl0IHF1ZXVlLCB3ZSBzaG91bGQKYXZvaWQgYSBOVUxMIGRlcmVmLgoKU2lnbmVkLW9mZi1i eTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc291a2pp biBiYWUgPHNvdWtqaW4uYmFlQHNhbXN1bmcuY29tPgpBY2tlZC1ieTogTmVhbCBDYXJkd2VsbCA8 bmNhcmR3ZWxsQGdvb2dsZS5jb20+CkFja2VkLWJ5OiBTb2hlaWwgSGFzc2FzIFllZ2FuZWggPHNv aGVpbEBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRh dmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvdGNwX2lwdjQuYyB8IDQgKysrKwogMSBmaWxlIGNo YW5nZWQsIDQgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L3RjcF9pcHY0LmMg Yi9uZXQvaXB2NC90Y3BfaXB2NC5jCmluZGV4IGNkNDI2MzEzYTI5OC4uNDM3MGVmMWQ1NDdlIDEw MDY0NAotLS0gYS9uZXQvaXB2NC90Y3BfaXB2NC5jCisrKyBiL25ldC9pcHY0L3RjcF9pcHY0LmMK QEAgLTUzNSw2ICs1MzUsMTAgQEAgdm9pZCB0Y3BfdjRfZXJyKHN0cnVjdCBza19idWZmICppY21w X3NrYiwgdTMyIGluZm8pCiAJCWlmIChzb2NrX293bmVkX2J5X3VzZXIoc2spKQogCQkJYnJlYWs7 CiAKKwkJc2tiID0gdGNwX3J0eF9xdWV1ZV9oZWFkKHNrKTsKKwkJaWYgKFdBUk5fT05fT05DRSgh c2tiKSkKKwkJCWJyZWFrOworCiAJCWljc2stPmljc2tfYmFja29mZi0tOwogCQlpY3NrLT5pY3Nr X3J0byA9IHRwLT5zcnR0X3VzID8gX190Y3Bfc2V0X3J0byh0cCkgOgogCQkJCQkgICAgICAgVENQ X1RJTUVPVVRfSU5JVDsKLS0gCjIuMjAuMQoKCkZyb20gYTQ3NzM5NjNhNDkzZDg4MDFhNGU1MGZm NzAwYTlhZWJkYzBkNTI3MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQWxleGFuZGVy IER1eWNrIDxhbGV4YW5kZXIuaC5kdXlja0BsaW51eC5pbnRlbC5jb20+CkRhdGU6IEZyaSwgMTUg RmViIDIwMTkgMTQ6NDQ6MTggLTA4MDAKU3ViamVjdDogW1BBVENIIDIwLzIwXSBuZXQ6IERvIG5v dCBhbGxvY2F0ZSBwYWdlIGZyYWdtZW50cyB0aGF0IGFyZSBub3Qgc2tiCiBhbGlnbmVkCgpbIFVw c3RyZWFtIGNvbW1pdCAzYmVkM2NjNDE1NmVlZGY2NTJiNGRmNzJiZGIzNWQ0ZjFhMmE3MzlkIF0K ClRoaXMgcGF0Y2ggYWRkcmVzc2VzIHRoZSBmYWN0IHRoYXQgdGhlcmUgYXJlIGRyaXZlcnMsIHNw ZWNpZmljYWxseSB0dW4sCnRoYXQgd2lsbCBjYWxsIGludG8gdGhlIG5ldHdvcmsgcGFnZSBmcmFn bWVudCBhbGxvY2F0b3JzIHdpdGggYnVmZmVyIHNpemVzCnRoYXQgYXJlIG5vdCBjYWNoZSBhbGln bmVkLiBEb2luZyB0aGlzIGNvdWxkIHJlc3VsdCBpbiBkYXRhIGFsaWdubWVudAphbmQgRE1BIHBl cmZvcm1hbmNlIGlzc3VlcyBhcyB0aGVzZSBmcmFnbWVudCBwb29scyBhcmUgYWxzbyBzaGFyZWQg d2l0aCB0aGUKc2tiIGFsbG9jYXRvciBhbmQgYW55IG90aGVyIGRldmljZXMgdGhhdCB3aWxsIHVz ZSBuYXBpX2FsbG9jX2ZyYWdzIG9yCm5ldGRldl9hbGxvY19mcmFncy4KCkZpeGVzOiBmZmRlNzMy OGEzNmQgKCJuZXQ6IFNwbGl0IG5ldGRldl9hbGxvY19mcmFnIGludG8gX19hbGxvY19wYWdlX2Zy YWcgYW5kIGFkZCBfX25hcGlfYWxsb2NfZnJhZyIpClJlcG9ydGVkLWJ5OiBKYW5uIEhvcm4gPGph bm5oQGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBEdXljayA8YWxleGFuZGVy LmguZHV5Y2tAbGludXguaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIg PGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2NvcmUvc2tidWZmLmMgfCA0ICsrKysKIDEg ZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9uZXQvY29yZS9za2J1 ZmYuYyBiL25ldC9jb3JlL3NrYnVmZi5jCmluZGV4IDU4OWVjNWI5ZWM1Zi4uODY1NmIxZTIwZDM1 IDEwMDY0NAotLS0gYS9uZXQvY29yZS9za2J1ZmYuYworKysgYi9uZXQvY29yZS9za2J1ZmYuYwpA QCAtMzUzLDYgKzM1Myw4IEBAIHN0YXRpYyB2b2lkICpfX25ldGRldl9hbGxvY19mcmFnKHVuc2ln bmVkIGludCBmcmFnc3osIGdmcF90IGdmcF9tYXNrKQogICovCiB2b2lkICpuZXRkZXZfYWxsb2Nf ZnJhZyh1bnNpZ25lZCBpbnQgZnJhZ3N6KQogeworCWZyYWdzeiA9IFNLQl9EQVRBX0FMSUdOKGZy YWdzeik7CisKIAlyZXR1cm4gX19uZXRkZXZfYWxsb2NfZnJhZyhmcmFnc3osIEdGUF9BVE9NSUMp OwogfQogRVhQT1JUX1NZTUJPTChuZXRkZXZfYWxsb2NfZnJhZyk7CkBAIC0zNjYsNiArMzY4LDgg QEAgc3RhdGljIHZvaWQgKl9fbmFwaV9hbGxvY19mcmFnKHVuc2lnbmVkIGludCBmcmFnc3osIGdm cF90IGdmcF9tYXNrKQogCiB2b2lkICpuYXBpX2FsbG9jX2ZyYWcodW5zaWduZWQgaW50IGZyYWdz eikKIHsKKwlmcmFnc3ogPSBTS0JfREFUQV9BTElHTihmcmFnc3opOworCiAJcmV0dXJuIF9fbmFw aV9hbGxvY19mcmFnKGZyYWdzeiwgR0ZQX0FUT01JQyk7CiB9CiBFWFBPUlRfU1lNQk9MKG5hcGlf YWxsb2NfZnJhZyk7Ci0tIAoyLjIwLjEKCg== ----Next_Part(Wed_Feb_20_12_42_52_2019_421)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_420.mbox" RnJvbSA3Nzk1ZDkyZTI0N2U5YzlmNTZjZjQ3NTMwYzVlMmUzNjM1YzE3ZmI1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIERhdmlkIEFuZ2xpbiA8ZGF2ZS5hbmdsaW5AYmVsbC5u ZXQ+CkRhdGU6IE1vbiwgMTEgRmViIDIwMTkgMTM6NDA6MjEgLTA1MDAKU3ViamVjdDogW1BBVENI IDAxLzIxXSBkc2E6IG12ODhlNnh4eDogRW5zdXJlIGFsbCBwZW5kaW5nIGludGVycnVwdHMgYXJl CiBoYW5kbGVkIHByaW9yIHRvIGV4aXQKClsgVXBzdHJlYW0gY29tbWl0IDdjMGRiMjRjYzQzMWUy MTk2ZDk4YTVkNWRkYWE5MDg4ZTJmY2JmZTUgXQoKVGhlIEdQSU8gaW50ZXJydXB0IGNvbnRyb2xs ZXIgb24gdGhlIGVzcHJlc3NvYmluIGJvYXJkIG9ubHkgc3VwcG9ydHMgZWRnZSBpbnRlcnJ1cHRz LgpJZiBvbmUgZW5hYmxlcyB0aGUgdXNlIG9mIGhhcmR3YXJlIGludGVycnVwdHMgaW4gdGhlIGRl dmljZSB0cmVlIGZvciB0aGUgODhFNjM0MSwgaXQgaXMKcG9zc2libGUgdG8gbWlzcyBhbiBlZGdl LiAgV2hlbiB0aGlzIGhhcHBlbnMsIHRoZSBJTlRuIHBpbiBvbiB0aGUgTWFydmVsbCBzd2l0Y2gg aXMKc3R1Y2sgbG93IGFuZCBubyBmdXJ0aGVyIGludGVycnVwdHMgb2NjdXIuCgpJIGZvdW5kIGFm dGVyIGFkZGluZyBkZWJ1ZyBzdGF0ZW1lbnRzIHRvIG12ODhlNnh4eF9nMV9pcnFfdGhyZWFkX3dv cmsoKSB0aGF0IHRoZXJlIGlzCmEgcmFjZSBpbiBoYW5kbGluZyBkZXZpY2UgaW50ZXJydXB0cyAo ZS5nLiBQSFkgbGluayBpbnRlcnJ1cHRzKS4gIFNvbWUgaW50ZXJydXB0cyBhcmUKZGlyZWN0bHkg Y2xlYXJlZCBieSByZWFkaW5nIHRoZSBHbG9iYWwgMSBzdGF0dXMgcmVnaXN0ZXIuICBIb3dldmVy LCB0aGUgZGV2aWNlIGludGVycnVwdApmbGFnLCBmb3IgZXhhbXBsZSwgaXMgbm90IGNsZWFyZWQg dW50aWwgYWxsIHRoZSB1bm1hc2tlZCBTRVJERVMgYW5kIFBIWSBwb3J0cyBhcmUgc2VydmljZWQu ClRoaXMgaXMgZG9uZSBieSByZWFkaW5nIHRoZSByZWxldmFudCBTRVJERVMgYW5kIFBIWSBzdGF0 dXMgcmVnaXN0ZXIuCgpUaGUgY29kZSBvbmx5IHNlcnZpY2VzIGludGVycnVwdHMgd2hvc2Ugc3Rh dHVzIGJpdCBpcyBzZXQgYXQgdGhlIHRpbWUgb2YgcmVhZGluZyBpdHMgc3RhdHVzCnJlZ2lzdGVy LiAgSWYgYW4gaW50ZXJydXB0IGV2ZW50IG9jY3VycyBhZnRlciBpdHMgc3RhdHVzIGlzIHJlYWQg YW5kIGJlZm9yZSBhbGwgaW50ZXJydXB0cwphcmUgc2VydmljZWQsIHRoZW4gdGhpcyBldmVudCB3 aWxsIG5vdCBiZSBzZXJ2aWNlZCBhbmQgdGhlIElOVG4gb3V0cHV0IHBpbiB3aWxsIHJlbWFpbiBs b3cuCgpUaGlzIGlzIG5vdCBhIHByb2JsZW0gd2l0aCBwb2xsaW5nIG9yIGxldmVsIGludGVycnVw dHMgc2luY2UgdGhlIGhhbmRsZXIgd2lsbCBiZSBjYWxsZWQKYWdhaW4gdG8gcHJvY2VzcyB0aGUg ZXZlbnQuICBIb3dldmVyLCBpdCdzIGEgYmlnIHByb2JsZW0gd2hlbiB1c2luZyBsZXZlbCBpbnRl cnJ1cHRzLgoKVGhlIGZpeCBwcmVzZW50ZWQgaGVyZSBpcyB0byBhZGQgYSBsb29wIGFyb3VuZCB0 aGUgY29kZSBzZXJ2aWNpbmcgc3dpdGNoIGludGVycnVwdHMuICBJZgphbnkgcGVuZGluZyBpbnRl cnJ1cHRzIHJlbWFpbiBhZnRlciB0aGUgY3VycmVudCBzZXQgaGFzIGJlZW4gaGFuZGxlZCwgd2Ug bG9vcCBhbmQgcHJvY2Vzcwp0aGUgbmV3IHNldC4gIElmIHRoZXJlIGFyZSBubyBwZW5kaW5nIGlu dGVycnVwdHMgYWZ0ZXIgc2VydmljaW5nLCB3ZSBhcmUgc3VyZSB0aGF0IElOVG4gaGFzCmdvbmUg aGlnaCBhbmQgd2Ugd2lsbCBnZXQgYW4gZWRnZSB3aGVuIGEgbmV3IGV2ZW50IG9jY3Vycy4KClRl c3RlZCBvbiBlc3ByZXNzb2JpbiBib2FyZC4KCkZpeGVzOiBkYzMwYzM1YmU3MjAgKCJuZXQ6IGRz YTogbXY4OGU2eHh4OiBJbXBsZW1lbnQgaW50ZXJydXB0IHN1cHBvcnQuIikKU2lnbmVkLW9mZi1i eTogIEpvaG4gRGF2aWQgQW5nbGluIDxkYXZlLmFuZ2xpbkBiZWxsLm5ldD4KVGVzdGVkLWJ5OiBB bmRyZXcgTHVubiA8YW5kcmV3QGx1bm4uY2g+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxl ciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2No aXAuYyB8IDI4ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAy MiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L2RzYS9tdjg4ZTZ4eHgvY2hpcC5jIGIvZHJpdmVycy9uZXQvZHNhL212ODhlNnh4eC9jaGlwLmMK aW5kZXggYjJhMGU1OWI2MjUyLi5iMDExM2Y2ZmRiYjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0 L2RzYS9tdjg4ZTZ4eHgvY2hpcC5jCisrKyBiL2RyaXZlcnMvbmV0L2RzYS9tdjg4ZTZ4eHgvY2hp cC5jCkBAIC0yNjEsNiArMjYxLDcgQEAgc3RhdGljIGlycXJldHVybl90IG12ODhlNnh4eF9nMV9p cnFfdGhyZWFkX3dvcmsoc3RydWN0IG12ODhlNnh4eF9jaGlwICpjaGlwKQogCXVuc2lnbmVkIGlu dCBzdWJfaXJxOwogCXVuc2lnbmVkIGludCBuOwogCXUxNiByZWc7CisJdTE2IGN0bDE7CiAJaW50 IGVycjsKIAogCW11dGV4X2xvY2soJmNoaXAtPnJlZ19sb2NrKTsKQEAgLTI3MCwxMyArMjcxLDI4 IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBtdjg4ZTZ4eHhfZzFfaXJxX3RocmVhZF93b3JrKHN0cnVj dCBtdjg4ZTZ4eHhfY2hpcCAqY2hpcCkKIAlpZiAoZXJyKQogCQlnb3RvIG91dDsKIAotCWZvciAo biA9IDA7IG4gPCBjaGlwLT5nMV9pcnEubmlycXM7ICsrbikgewotCQlpZiAocmVnICYgKDEgPDwg bikpIHsKLQkJCXN1Yl9pcnEgPSBpcnFfZmluZF9tYXBwaW5nKGNoaXAtPmcxX2lycS5kb21haW4s IG4pOwotCQkJaGFuZGxlX25lc3RlZF9pcnEoc3ViX2lycSk7Ci0JCQkrK25oYW5kbGVkOworCWRv IHsKKwkJZm9yIChuID0gMDsgbiA8IGNoaXAtPmcxX2lycS5uaXJxczsgKytuKSB7CisJCQlpZiAo cmVnICYgKDEgPDwgbikpIHsKKwkJCQlzdWJfaXJxID0gaXJxX2ZpbmRfbWFwcGluZyhjaGlwLT5n MV9pcnEuZG9tYWluLAorCQkJCQkJCSAgIG4pOworCQkJCWhhbmRsZV9uZXN0ZWRfaXJxKHN1Yl9p cnEpOworCQkJCSsrbmhhbmRsZWQ7CisJCQl9CiAJCX0KLQl9CisKKwkJbXV0ZXhfbG9jaygmY2hp cC0+cmVnX2xvY2spOworCQllcnIgPSBtdjg4ZTZ4eHhfZzFfcmVhZChjaGlwLCBNVjg4RTZYWFhf RzFfQ1RMMSwgJmN0bDEpOworCQlpZiAoZXJyKQorCQkJZ290byB1bmxvY2s7CisJCWVyciA9IG12 ODhlNnh4eF9nMV9yZWFkKGNoaXAsIE1WODhFNlhYWF9HMV9TVFMsICZyZWcpOwordW5sb2NrOgor CQltdXRleF91bmxvY2soJmNoaXAtPnJlZ19sb2NrKTsKKwkJaWYgKGVycikKKwkJCWdvdG8gb3V0 OworCQljdGwxICY9IEdFTk1BU0soY2hpcC0+ZzFfaXJxLm5pcnFzLCAwKTsKKwl9IHdoaWxlIChy ZWcgJiBjdGwxKTsKKwogb3V0OgogCXJldHVybiAobmhhbmRsZWQgPiAwID8gSVJRX0hBTkRMRUQg OiBJUlFfTk9ORSk7CiB9Ci0tIAoyLjIwLjEKCgpGcm9tIDAyZWEwZjhmNGQxMGI5NDI0YTg1ZjUw ZjZiYmJjNDU3MjFjODM2ODUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFpoaXFpYW5n IExpdSA8bGl1emhpcWlhbmcyNkBodWF3ZWkuY29tPgpEYXRlOiBNb24sIDExIEZlYiAyMDE5IDEw OjU3OjQ2ICswODAwClN1YmplY3Q6IFtQQVRDSCAwMi8yMV0gbmV0OiBmaXggSVB2NiBwcmVmaXgg cm91dGUgcmVzaWR1ZQoKWyBVcHN0cmVhbSBjb21taXQgZTc1OTEzYzkzZjdjZDVmMzM4YWIzNzNj MzRjOTNhNjU1YmQzMDljYiBdCgpGb2xsb3cgdGhvc2Ugc3RlcHM6CiAjIGlwIGFkZHIgYWRkIDIw MDE6MTIzOjoxLzMyIGRldiBldGgwCiAjIGlwIGFkZHIgYWRkIDIwMDE6MTIzOjQ1Njo6Mi82NCBk ZXYgZXRoMAogIyBpcCBhZGRyIGRlbCAyMDAxOjEyMzo6MS8zMiBkZXYgZXRoMAogIyBpcCBhZGRy IGRlbCAyMDAxOjEyMzo0NTY6OjIvNjQgZGV2IGV0aDAKYW5kIHRoZW4gcHJlZml4IHJvdXRlIG9m IDIwMDE6MTIzOjoxLzMyIHdpbGwgc3RpbGwgZXhpc3QuCgpUaGlzIGlzIGJlY2F1c2UgaXB2Nl9w cmVmaXhfZXF1YWwgaW4gY2hlY2tfY2xlYW51cF9wcmVmaXhfcm91dGUKZnVuYyBkb2VzIG5vdCBj aGVjayB3aGV0aGVyIHR3byBJUHY2IGFkZHJlc3NlcyBoYXZlIHRoZSBzYW1lCnByZWZpeCBsZW5n dGguIElmIHRoZSBwcmVmaXggb2Ygb25lIGFkZHJlc3Mgc3RhcnRzIHdpdGggYW5vdGhlcgpzaG9y dGVyIGFkZHJlc3MgcHJlZml4LCBldmVuIHRob3VnaCB0aGVpciBwcmVmaXggbGVuZ3RocyBhcmUK ZGlmZmVyZW50LCB0aGUgcmV0dXJuIHZhbHVlIG9mIGlwdjZfcHJlZml4X2VxdWFsIGlzIHRydWUu CgpIZXJlIEkgYWRkIGEgY2hlY2sgb2Ygd2hldGhlciB0d28gYWRkcmVzc2VzIGhhdmUgdGhlIHNh bWUgcHJlZml4CnRvIGRlY2lkZSB3aGV0aGVyIHRoZWlyIHByZWZpeGVzIGFyZSBlcXVhbC4KCkZp eGVzOiA1Yjg0ZWZlY2I3ZDkgKCJpcHY2IGFkZHJjb25mOiBkb24ndCBjbGVhbnVwIHByZWZpeCBy b3V0ZSBmb3IgSUZBX0ZfTk9QUkVGSVhST1VURSIpClNpZ25lZC1vZmYtYnk6IFpoaXFpYW5nIExp dSA8bGl1emhpcWlhbmcyNkBodWF3ZWkuY29tPgpSZXBvcnRlZC1ieTogV2VuaGFvIFpoYW5nIDx6 aGFuZ3dlbmhhbzhAaHVhd2VpLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxk YXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY2L2FkZHJjb25mLmMgfCAzICsrLQogMSBm aWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L25ldC9pcHY2L2FkZHJjb25mLmMgYi9uZXQvaXB2Ni9hZGRyY29uZi5jCmluZGV4IGQyYjU5NzY3 NGQ2MC4uOWZhNTFhYjAxYWM0IDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9hZGRyY29uZi5jCisrKyBi L25ldC9pcHY2L2FkZHJjb25mLmMKQEAgLTExNjUsNyArMTE2NSw4IEBAIGNoZWNrX2NsZWFudXBf cHJlZml4X3JvdXRlKHN0cnVjdCBpbmV0Nl9pZmFkZHIgKmlmcCwgdW5zaWduZWQgbG9uZyAqZXhw aXJlcykKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGlmYSwgJmlkZXYtPmFkZHJfbGlzdCwgaWZfbGlz dCkgewogCQlpZiAoaWZhID09IGlmcCkKIAkJCWNvbnRpbnVlOwotCQlpZiAoIWlwdjZfcHJlZml4 X2VxdWFsKCZpZmEtPmFkZHIsICZpZnAtPmFkZHIsCisJCWlmIChpZmEtPnByZWZpeF9sZW4gIT0g aWZwLT5wcmVmaXhfbGVuIHx8CisJCSAgICAhaXB2Nl9wcmVmaXhfZXF1YWwoJmlmYS0+YWRkciwg JmlmcC0+YWRkciwKIAkJCQkgICAgICAgaWZwLT5wcmVmaXhfbGVuKSkKIAkJCWNvbnRpbnVlOwog CQlpZiAoaWZhLT5mbGFncyAmIChJRkFfRl9QRVJNQU5FTlQgfCBJRkFfRl9OT1BSRUZJWFJPVVRF KSkKLS0gCjIuMjAuMQoKCkZyb20gMmZhYWFjZGVlZmQyOWVjZmYxMTkzZGEzMWMzMzZhZjRkMzAx OTk2ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTG9yZW56byBCaWFuY29uaSA8bG9y ZW56by5iaWFuY29uaUByZWRoYXQuY29tPgpEYXRlOiBXZWQsIDYgRmViIDIwMTkgMTk6MTg6MDQg KzAxMDAKU3ViamVjdDogW1BBVENIIDAzLzIxXSBuZXQ6IGlwdjQ6IHVzZSBhIGRlZGljYXRlZCBj b3VudGVyIGZvciBpY21wX3Y0IHJlZGlyZWN0CiBwYWNrZXRzCgpbIFVwc3RyZWFtIGNvbW1pdCBj MDk1NTFjNmZmN2ZlMTZhNzlhNDIxMzNiY2VjYmE1ZmMyZmMzMjkxIF0KCkFjY29yZGluZyB0byB0 aGUgYWxnb3JpdGhtIGRlc2NyaWJlZCBpbiB0aGUgY29tbWVudCBibG9jayBhdCB0aGUKYmVnaW5u aW5nIG9mIGlwX3J0X3NlbmRfcmVkaXJlY3QsIHRoZSBob3N0IHNob3VsZCB0cnkgdG8gc2VuZAon aXBfcnRfcmVkaXJlY3RfbnVtYmVyJyBJQ01QIHJlZGlyZWN0IHBhY2tldHMgd2l0aCBhbiBleHBv bmVudGlhbApiYWNrb2ZmIGFuZCB0aGVuIHN0b3Agc2VuZGluZyB0aGVtIGF0IGFsbCBhc3N1bWlu ZyB0aGF0IHRoZSBkZXN0aW5hdGlvbgppZ25vcmVzIHJlZGlyZWN0cy4KSWYgdGhlIGRldmljZSBo YXMgcHJldmlvdXNseSBzZW50IHNvbWUgSUNNUCBlcnJvciBwYWNrZXRzIHRoYXQgYXJlCnJhdGUt bGltaXRlZCAoZS5nIFRUTCBleHBpcmVkKSBhbmQgY29udGludWVzIHRvIHJlY2VpdmUgdHJhZmZp YywKdGhlIHJlZGlyZWN0IHBhY2tldHMgd2lsbCBuZXZlciBiZSB0cmFuc21pdHRlZC4gVGhpcyBo YXBwZW5zIHNpbmNlCnBlZXItPnJhdGVfdG9rZW5zIHdpbGwgYmUgdHlwaWNhbGx5IGdyZWF0ZXIg dGhhbiAnaXBfcnRfcmVkaXJlY3RfbnVtYmVyJwphbmQgc28gaXQgd2lsbCBuZXZlciBiZSByZXNl dCBldmVuIGlmIHRoZSByZWRpcmVjdCBzaWxlbmNlIHRpbWVvdXQKKGlwX3J0X3JlZGlyZWN0X3Np bGVuY2UpIGhhcyBlbGFwc2VkIHdpdGhvdXQgcmVjZWl2aW5nIGFueSBwYWNrZXQKcmVxdWlyaW5n IHJlZGlyZWN0cy4KCkZpeCBpdCBieSB1c2luZyBhIGRlZGljYXRlZCBjb3VudGVyIGZvciB0aGUg bnVtYmVyIG9mIElDTVAgcmVkaXJlY3QKcGFja2V0cyB0aGF0IGhhcyBiZWVuIHNlbnQgYnkgdGhl IGhvc3QKCkkgaGF2ZSBub3QgYmVlbiBhYmxlIHRvIGlkZW50aWZ5IGEgZ2l2ZW4gY29tbWl0IHRo YXQgaW50cm9kdWNlZCB0aGUKaXNzdWUgc2luY2UgaXBfcnRfc2VuZF9yZWRpcmVjdCBpbXBsZW1l bnRzIHRoZSBzYW1lIHJhdGUtbGltaXRpbmcKYWxnb3JpdGhtIGZyb20gY29tbWl0IDFkYTE3N2U0 YzNmNCAoIkxpbnV4LTIuNi4xMi1yYzIiKQoKU2lnbmVkLW9mZi1ieTogTG9yZW56byBCaWFuY29u aSA8bG9yZW56by5iaWFuY29uaUByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBN aWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogaW5jbHVkZS9uZXQvaW5ldHBlZXIuaCB8 IDEgKwogbmV0L2lwdjQvaW5ldHBlZXIuYyAgICB8IDEgKwogbmV0L2lwdjQvcm91dGUuYyAgICAg ICB8IDcgKysrKystLQogMyBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDIgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvaW5ldHBlZXIuaCBiL2luY2x1ZGUvbmV0 L2luZXRwZWVyLmgKaW5kZXggMDBiNWU3ODI1NTA4Li43NGZmNjg4NTY4YTAgMTAwNjQ0Ci0tLSBh L2luY2x1ZGUvbmV0L2luZXRwZWVyLmgKKysrIGIvaW5jbHVkZS9uZXQvaW5ldHBlZXIuaApAQCAt MzksNiArMzksNyBAQCBzdHJ1Y3QgaW5ldF9wZWVyIHsKIAogCXUzMgkJCW1ldHJpY3NbUlRBWF9N QVhdOwogCXUzMgkJCXJhdGVfdG9rZW5zOwkvKiByYXRlIGxpbWl0aW5nIGZvciBJQ01QICovCisJ dTMyCQkJbl9yZWRpcmVjdHM7CiAJdW5zaWduZWQgbG9uZwkJcmF0ZV9sYXN0OwogCS8qCiAJICog T25jZSBpbmV0X3BlZXIgaXMgcXVldWVkIGZvciBkZWxldGlvbiAocmVmY250ID09IDApLCBmb2xs b3dpbmcgZmllbGQKZGlmZiAtLWdpdCBhL25ldC9pcHY0L2luZXRwZWVyLmMgYi9uZXQvaXB2NC9p bmV0cGVlci5jCmluZGV4IGQ3NTdiOTY0MmQwZC4uYmU3Nzg1OTliZmVkIDEwMDY0NAotLS0gYS9u ZXQvaXB2NC9pbmV0cGVlci5jCisrKyBiL25ldC9pcHY0L2luZXRwZWVyLmMKQEAgLTIxNiw2ICsy MTYsNyBAQCBzdHJ1Y3QgaW5ldF9wZWVyICppbmV0X2dldHBlZXIoc3RydWN0IGluZXRfcGVlcl9i YXNlICpiYXNlLAogCQkJYXRvbWljX3NldCgmcC0+cmlkLCAwKTsKIAkJCXAtPm1ldHJpY3NbUlRB WF9MT0NLLTFdID0gSU5FVFBFRVJfTUVUUklDU19ORVc7CiAJCQlwLT5yYXRlX3Rva2VucyA9IDA7 CisJCQlwLT5uX3JlZGlyZWN0cyA9IDA7CiAJCQkvKiA2MCpIWiBpcyBhcmJpdHJhcnksIGJ1dCBj aG9zZW4gZW5vdWdoIGhpZ2ggc28gdGhhdCB0aGUgZmlyc3QKIAkJCSAqIGNhbGN1bGF0aW9uIG9m IHRva2VucyBpcyBhdCBpdHMgbWF4aW11bS4KIAkJCSAqLwpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQv cm91dGUuYyBiL25ldC9pcHY0L3JvdXRlLmMKaW5kZXggYzBhOWQyNmMwNmNlLi5kMWRkZjFkMDM3 MjEgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3JvdXRlLmMKKysrIGIvbmV0L2lwdjQvcm91dGUuYwpA QCAtODg3LDEzICs4ODcsMTUgQEAgdm9pZCBpcF9ydF9zZW5kX3JlZGlyZWN0KHN0cnVjdCBza19i dWZmICpza2IpCiAJLyogTm8gcmVkaXJlY3RlZCBwYWNrZXRzIGR1cmluZyBpcF9ydF9yZWRpcmVj dF9zaWxlbmNlOwogCSAqIHJlc2V0IHRoZSBhbGdvcml0aG0uCiAJICovCi0JaWYgKHRpbWVfYWZ0 ZXIoamlmZmllcywgcGVlci0+cmF0ZV9sYXN0ICsgaXBfcnRfcmVkaXJlY3Rfc2lsZW5jZSkpCisJ aWYgKHRpbWVfYWZ0ZXIoamlmZmllcywgcGVlci0+cmF0ZV9sYXN0ICsgaXBfcnRfcmVkaXJlY3Rf c2lsZW5jZSkpIHsKIAkJcGVlci0+cmF0ZV90b2tlbnMgPSAwOworCQlwZWVyLT5uX3JlZGlyZWN0 cyA9IDA7CisJfQogCiAJLyogVG9vIG1hbnkgaWdub3JlZCByZWRpcmVjdHM7IGRvIG5vdCBzZW5k IGFueXRoaW5nCiAJICogc2V0IGRzdC5yYXRlX2xhc3QgdG8gdGhlIGxhc3Qgc2VlbiByZWRpcmVj dGVkIHBhY2tldC4KIAkgKi8KLQlpZiAocGVlci0+cmF0ZV90b2tlbnMgPj0gaXBfcnRfcmVkaXJl Y3RfbnVtYmVyKSB7CisJaWYgKHBlZXItPm5fcmVkaXJlY3RzID49IGlwX3J0X3JlZGlyZWN0X251 bWJlcikgewogCQlwZWVyLT5yYXRlX2xhc3QgPSBqaWZmaWVzOwogCQlnb3RvIG91dF9wdXRfcGVl cjsKIAl9CkBAIC05MTAsNiArOTEyLDcgQEAgdm9pZCBpcF9ydF9zZW5kX3JlZGlyZWN0KHN0cnVj dCBza19idWZmICpza2IpCiAJCWljbXBfc2VuZChza2IsIElDTVBfUkVESVJFQ1QsIElDTVBfUkVE SVJfSE9TVCwgZ3cpOwogCQlwZWVyLT5yYXRlX2xhc3QgPSBqaWZmaWVzOwogCQkrK3BlZXItPnJh dGVfdG9rZW5zOworCQkrK3BlZXItPm5fcmVkaXJlY3RzOwogI2lmZGVmIENPTkZJR19JUF9ST1VU RV9WRVJCT1NFCiAJCWlmIChsb2dfbWFydGlhbnMgJiYKIAkJICAgIHBlZXItPnJhdGVfdG9rZW5z ID09IGlwX3J0X3JlZGlyZWN0X251bWJlcikKLS0gCjIuMjAuMQoKCkZyb20gMTM3N2Q5OTI3ZDkx YTFiMzAxZWZkZDk2ZDg2NTY0ZmU4ZDU1N2FjYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogUGFvbG8gQWJlbmkgPHBhYmVuaUByZWRoYXQuY29tPgpEYXRlOiBUaHUsIDcgRmViIDIwMTkg MTQ6MTM6MTggKzAxMDAKU3ViamVjdDogW1BBVENIIDA0LzIxXSB2c29jazogY29wZSB3aXRoIG1l bW9yeSBhbGxvY2F0aW9uIGZhaWx1cmUgYXQgc29ja2V0CiBjcmVhdGlvbiB0aW1lCgpbIFVwc3Ry ZWFtIGNvbW1pdCAyMjVkOTQ2NDI2ODU5OWE1YjRkMDk0ZDAyZWMxNzgwOGU0NGM3NTUzIF0KCklu IHRoZSB1bmxpa2VseSBldmVudCB0aGF0IHRoZSBrbWFsbG9jIGNhbGwgaW4gdm1jaV90cmFuc3Bv cnRfc29ja2V0X2luaXQoKQpmYWlscywgd2UgZW5kLXVwIGNhbGxpbmcgdm1jaV90cmFuc3BvcnRf ZGVzdHJ1Y3QoKSB3aXRoIGEgTlVMTCB2bWNpX3RyYW5zKCkKYW5kIG9vcHNpbmcuCgpUaGlzIGNo YW5nZSBhZGRyZXNzZXMgdGhlIGFib3ZlIGV4cGxpY2l0bHkgY2hlY2tpbmcgZm9yIHplcm8gdm1j aV90cmFucygpCmF0IGRlc3RydWN0aW9uIHRpbWUuCgpSZXBvcnRlZC1ieTogWGl1bWVpIE11IDx4 bXVAcmVkaGF0LmNvbT4KRml4ZXM6IGQwMjFjMzQ0MDUxYSAoIlZTT0NLOiBJbnRyb2R1Y2UgVk0g U29ja2V0cyIpClNpZ25lZC1vZmYtYnk6IFBhb2xvIEFiZW5pIDxwYWJlbmlAcmVkaGF0LmNvbT4K UmV2aWV3ZWQtYnk6IFN0ZWZhbm8gR2FyemFyZWxsYSA8c2dhcnphcmVAcmVkaGF0LmNvbT4KUmV2 aWV3ZWQtYnk6IEpvcmdlbiBIYW5zZW4gPGpoYW5zZW5Adm13YXJlLmNvbT4KU2lnbmVkLW9mZi1i eTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC92bXdfdnNv Y2svdm1jaV90cmFuc3BvcnQuYyB8IDQgKysrKwogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9u cygrKQoKZGlmZiAtLWdpdCBhL25ldC92bXdfdnNvY2svdm1jaV90cmFuc3BvcnQuYyBiL25ldC92 bXdfdnNvY2svdm1jaV90cmFuc3BvcnQuYwppbmRleCBjMzYxY2U3ODI0MTIuLmMzZDVhYjAxZmJh NyAxMDA2NDQKLS0tIGEvbmV0L3Ztd192c29jay92bWNpX3RyYW5zcG9ydC5jCisrKyBiL25ldC92 bXdfdnNvY2svdm1jaV90cmFuc3BvcnQuYwpAQCAtMTY1MSw2ICsxNjUxLDEwIEBAIHN0YXRpYyB2 b2lkIHZtY2lfdHJhbnNwb3J0X2NsZWFudXAoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCiBz dGF0aWMgdm9pZCB2bWNpX3RyYW5zcG9ydF9kZXN0cnVjdChzdHJ1Y3QgdnNvY2tfc29jayAqdnNr KQogeworCS8qIHRyYW5zcG9ydCBjYW4gYmUgTlVMTCBpZiB3ZSBoaXQgYSBmYWlsdXJlIGF0IGlu aXQoKSB0aW1lICovCisJaWYgKCF2bWNpX3RyYW5zKHZzaykpCisJCXJldHVybjsKKwogCS8qIEVu c3VyZSB0aGF0IHRoZSBkZXRhY2ggY2FsbGJhY2sgZG9lc24ndCB1c2UgdGhlIHNrL3ZzawogCSAq IHdlIGFyZSBhYm91dCB0byBkZXN0cnVjdC4KIAkgKi8KLS0gCjIuMjAuMQoKCkZyb20gNDEzZTE5 NzM0MzFlZGVjNGY5Nzc0NTJkOTkxN2FmOTFhNmM4YzNhNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBUaHUsIDcg RmViIDIwMTkgMTI6Mjc6MzggLTA4MDAKU3ViamVjdDogW1BBVENIIDA1LzIxXSB2eGxhbjogdGVz dCBkZXYtPmZsYWdzICYgSUZGX1VQIGJlZm9yZSBjYWxsaW5nCiBuZXRpZl9yeCgpCgpbIFVwc3Ry ZWFtIGNvbW1pdCA0MTc5Y2I1YTRjOTI0Y2QyMzNlYWFkZDA4MTg4MjQyNWJjOThmNDRlIF0KCm5l dGlmX3J4KCkgbXVzdCBiZSBjYWxsZWQgdW5kZXIgYSBzdHJpY3QgY29udHJhY3QuCgpBdCBkZXZp Y2UgZGlzbWFudGxlIHBoYXNlLCBjb3JlIG5ldHdvcmtpbmcgY2xlYXJzIElGRl9VUAphbmQgZmx1 c2hfYWxsX2JhY2tsb2dzKCkgaXMgY2FsbGVkIGFmdGVyIHJjdSBncmFjZSBwZXJpb2QKdG8gbWFr ZSBzdXJlIG5vIGluY29taW5nIHBhY2tldCBtaWdodCBiZSBpbiBhIGNwdSBiYWNrbG9nCmFuZCBz dGlsbCByZWZlcmVuY2luZyB0aGUgZGV2aWNlLgoKTW9zdCBkcml2ZXJzIGNhbGwgbmV0aWZfcngo KSBmcm9tIHRoZWlyIGludGVycnVwdCBoYW5kbGVyLAphbmQgc2luY2UgdGhlIGludGVycnVwdHMg YXJlIGRpc2FibGVkIGF0IGRldmljZSBkaXNtYW50bGUsCm5ldGlmX3J4KCkgZG9lcyBub3QgaGF2 ZSB0byBjaGVjayBkZXYtPmZsYWdzICYgSUZGX1VQCgpWaXJ0dWFsIGRyaXZlcnMgZG8gbm90IGhh dmUgdGhpcyBndWFyYW50ZWUsIGFuZCBtdXN0CnRoZXJlZm9yZSBtYWtlIHRoZSBjaGVjayB0aGVt c2VsdmVzLgoKT3RoZXJ3aXNlIHdlIHJpc2sgdXNlLWFmdGVyLWZyZWUgYW5kL29yIGNyYXNoZXMu CgpOb3RlIHRoaXMgcGF0Y2ggYWxzbyBmaXhlcyBhIHNtYWxsIGlzc3VlIHRoYXQgY2FtZQp3aXRo IGNvbW1pdCBjZTY1MDJhOGY5NTcgKCJ2eGxhbjogZml4IGEgdXNlIGFmdGVyIGZyZWUKaW4gdnhs YW5fZW5jYXBfYnlwYXNzIiksIHNpbmNlIHRoZSBkZXYtPnN0YXRzLnJ4X2Ryb3BwZWQKY2hhbmdl IHdhcyBkb25lIG9uIHRoZSB3cm9uZyBkZXZpY2UuCgpGaXhlczogZDM0Mjg5NGM1ZDJmICgidnhs YW46IHZpcnR1YWwgZXh0ZW5zaWJsZSBsYW4iKQpGaXhlczogY2U2NTAyYThmOTU3ICgidnhsYW46 IGZpeCBhIHVzZSBhZnRlciBmcmVlIGluIHZ4bGFuX2VuY2FwX2J5cGFzcyIpClNpZ25lZC1vZmYt Ynk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KQ2M6IFBldHIgTWFjaGF0YSA8 cGV0cm1AbWVsbGFub3guY29tPgpDYzogSWRvIFNjaGltbWVsIDxpZG9zY2hAbWVsbGFub3guY29t PgpDYzogUm9vcGEgUHJhYmh1IDxyb29wYUBjdW11bHVzbmV0d29ya3MuY29tPgpDYzogU3RlZmFu byBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWls bGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3Z4bGFuLmMgfCAxNCAr KysrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDMgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdnhsYW4uYyBiL2RyaXZlcnMvbmV0L3Z4 bGFuLmMKaW5kZXggMDU2NWY4ODgwMTk5Li44ZjAyMjk2NGIyZDEgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvbmV0L3Z4bGFuLmMKKysrIGIvZHJpdmVycy9uZXQvdnhsYW4uYwpAQCAtMjA3Miw3ICsyMDcy LDcgQEAgc3RhdGljIHZvaWQgdnhsYW5fZW5jYXBfYnlwYXNzKHN0cnVjdCBza19idWZmICpza2Is IHN0cnVjdCB2eGxhbl9kZXYgKnNyY192eGxhbiwKIAlzdHJ1Y3QgcGNwdV9zd19uZXRzdGF0cyAq dHhfc3RhdHMsICpyeF9zdGF0czsKIAl1bmlvbiB2eGxhbl9hZGRyIGxvb3BiYWNrOwogCXVuaW9u IHZ4bGFuX2FkZHIgKnJlbW90ZV9pcCA9ICZkc3RfdnhsYW4tPmRlZmF1bHRfZHN0LnJlbW90ZV9p cDsKLQlzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gc2tiLT5kZXY7CisJc3RydWN0IG5ldF9kZXZp Y2UgKmRldjsKIAlpbnQgbGVuID0gc2tiLT5sZW47CiAKIAl0eF9zdGF0cyA9IHRoaXNfY3B1X3B0 cihzcmNfdnhsYW4tPmRldi0+dHN0YXRzKTsKQEAgLTIwOTIsOSArMjA5MiwxNSBAQCBzdGF0aWMg dm9pZCB2eGxhbl9lbmNhcF9ieXBhc3Moc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IHZ4bGFu X2RldiAqc3JjX3Z4bGFuLAogI2VuZGlmCiAJfQogCisJcmN1X3JlYWRfbG9jaygpOworCWRldiA9 IHNrYi0+ZGV2OworCWlmICh1bmxpa2VseSghKGRldi0+ZmxhZ3MgJiBJRkZfVVApKSkgeworCQlr ZnJlZV9za2Ioc2tiKTsKKwkJZ290byBkcm9wOworCX0KKwogCWlmIChkc3RfdnhsYW4tPmNmZy5m bGFncyAmIFZYTEFOX0ZfTEVBUk4pCi0JCXZ4bGFuX3Nub29wKHNrYi0+ZGV2LCAmbG9vcGJhY2ss IGV0aF9oZHIoc2tiKS0+aF9zb3VyY2UsIDAsCi0JCQkgICAgdm5pKTsKKwkJdnhsYW5fc25vb3Ao ZGV2LCAmbG9vcGJhY2ssIGV0aF9oZHIoc2tiKS0+aF9zb3VyY2UsIDAsIHZuaSk7CiAKIAl1NjRf c3RhdHNfdXBkYXRlX2JlZ2luKCZ0eF9zdGF0cy0+c3luY3ApOwogCXR4X3N0YXRzLT50eF9wYWNr ZXRzKys7CkBAIC0yMTA3LDggKzIxMTMsMTAgQEAgc3RhdGljIHZvaWQgdnhsYW5fZW5jYXBfYnlw YXNzKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCB2eGxhbl9kZXYgKnNyY192eGxhbiwKIAkJ cnhfc3RhdHMtPnJ4X2J5dGVzICs9IGxlbjsKIAkJdTY0X3N0YXRzX3VwZGF0ZV9lbmQoJnJ4X3N0 YXRzLT5zeW5jcCk7CiAJfSBlbHNlIHsKK2Ryb3A6CiAJCWRldi0+c3RhdHMucnhfZHJvcHBlZCsr OwogCX0KKwlyY3VfcmVhZF91bmxvY2soKTsKIH0KIAogc3RhdGljIGludCBlbmNhcF9ieXBhc3Nf aWZfbG9jYWwoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKLS0g CjIuMjAuMQoKCkZyb20gYmUwNjQxYmY0MzEzZjVmNGZhMTQ5NjZmNjkwZDNiOWNhNjRlYTQyOCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUGV0ciBNYWNoYXRhIDxwZXRybUBtZWxsYW5v eC5jb20+CkRhdGU6IFN1biwgMTcgRmViIDIwMTkgMDc6MTg6NDEgKzAwMDAKU3ViamVjdDogW1BB VENIIDA2LzIxXSBtbHhzdzogX19tbHhzd19zcF9wb3J0X2hlYWRyb29tX3NldCgpOiBGaXggYSB1 c2Ugb2YKIGxvY2FsIHZhcmlhYmxlCgpbIFVwc3RyZWFtIGNvbW1pdCAyODk0NjA0MDRmNjk0N2Vm MWMzOGU2N2Q2ODBiZTlhODQxNjEyNTBiIF0KClRoZSBmdW5jdGlvbi1sb2NhbCB2YXJpYWJsZSAi ZGVsYXkiIGVudGVycyB0aGUgbG9vcCBpbnRlcnByZXRlZCBhcyBkZWxheQppbiBiaXRzLiBIb3dl dmVyLCBpbnNpZGUgdGhlIGxvb3AgaXQgZ2V0cyBvdmVyd3JpdHRlbiBieSB0aGUgcmVzdWx0IG9m Cm1seHN3X3NwX3BnX2J1Zl9kZWxheV9nZXQoKSwgYW5kIHRodXMgbGVhdmVzIHRoZSBsb29wIGFz IHF1YW50aXR5IGluCmNlbGxzLiBUaHVzIG9uIHNlY29uZCBhbmQgZnVydGhlciBsb29wIGl0ZXJh dGlvbnMsIHRoZSBoZWFkcm9vbSBmb3IgYQpnaXZlbiBwcmlvcml0eSBpcyBjb25maWd1cmVkIHdp dGggYSB3cm9uZyBzaXplLgoKRml4IGJ5IGludHJvZHVjaW5nIGEgbG9vcC1sb2NhbCB2YXJpYWJs ZSwgZGVsYXlfY2VsbHMuIFJlbmFtZSB0aHJlcyB0bwp0aHJlc19jZWxscyBmb3IgY29uc2lzdGVu Y3kuCgpGaXhlczogZjQxN2YwNGRhNTg5ICgibWx4c3c6IHNwZWN0cnVtOiBSZWZhY3RvciBwb3J0 IGJ1ZmZlciBjb25maWd1cmF0aW9uIikKU2lnbmVkLW9mZi1ieTogUGV0ciBNYWNoYXRhIDxwZXRy bUBtZWxsYW5veC5jb20+CkFja2VkLWJ5OiBKaXJpIFBpcmtvIDxqaXJpQG1lbGxhbm94LmNvbT4K U2lnbmVkLW9mZi1ieTogSWRvIFNjaGltbWVsIDxpZG9zY2hAbWVsbGFub3guY29tPgpTaWduZWQt b2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVy cy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW0uYyB8IDEyICsrKysrKystLS0t LQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bS5jIGIv ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW0uYwppbmRleCA4ZjEx ODBmZmY5NTUuLjI4MDE3M2I0ODk2MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4c3cvc3BlY3RydW0uYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxs YW5veC9tbHhzdy9zcGVjdHJ1bS5jCkBAIC04NDUsOCArODQ1LDkgQEAgaW50IF9fbWx4c3dfc3Bf cG9ydF9oZWFkcm9vbV9zZXQoc3RydWN0IG1seHN3X3NwX3BvcnQgKm1seHN3X3NwX3BvcnQsIGlu dCBtdHUsCiAJZm9yIChpID0gMDsgaSA8IElFRUVfODAyMVFBWl9NQVhfVENTOyBpKyspIHsKIAkJ Ym9vbCBjb25maWd1cmUgPSBmYWxzZTsKIAkJYm9vbCBwZmMgPSBmYWxzZTsKKwkJdTE2IHRocmVz X2NlbGxzOworCQl1MTYgZGVsYXlfY2VsbHM7CiAJCWJvb2wgbG9zc3k7Ci0JCXUxNiB0aHJlczsK IAogCQlmb3IgKGogPSAwOyBqIDwgSUVFRV84MDIxUUFaX01BWF9UQ1M7IGorKykgewogCQkJaWYg KHByaW9fdGNbal0gPT0gaSkgewpAQCAtODYwLDEwICs4NjEsMTEgQEAgaW50IF9fbWx4c3dfc3Bf cG9ydF9oZWFkcm9vbV9zZXQoc3RydWN0IG1seHN3X3NwX3BvcnQgKm1seHN3X3NwX3BvcnQsIGlu dCBtdHUsCiAJCQljb250aW51ZTsKIAogCQlsb3NzeSA9ICEocGZjIHx8IHBhdXNlX2VuKTsKLQkJ dGhyZXMgPSBtbHhzd19zcF9wZ19idWZfdGhyZXNob2xkX2dldChtbHhzd19zcCwgbXR1KTsKLQkJ ZGVsYXkgPSBtbHhzd19zcF9wZ19idWZfZGVsYXlfZ2V0KG1seHN3X3NwLCBtdHUsIGRlbGF5LCBw ZmMsCi0JCQkJCQkgIHBhdXNlX2VuKTsKLQkJbWx4c3dfc3BfcGdfYnVmX3BhY2socGJtY19wbCwg aSwgdGhyZXMgKyBkZWxheSwgdGhyZXMsIGxvc3N5KTsKKwkJdGhyZXNfY2VsbHMgPSBtbHhzd19z cF9wZ19idWZfdGhyZXNob2xkX2dldChtbHhzd19zcCwgbXR1KTsKKwkJZGVsYXlfY2VsbHMgPSBt bHhzd19zcF9wZ19idWZfZGVsYXlfZ2V0KG1seHN3X3NwLCBtdHUsIGRlbGF5LAorCQkJCQkJCXBm YywgcGF1c2VfZW4pOworCQltbHhzd19zcF9wZ19idWZfcGFjayhwYm1jX3BsLCBpLCB0aHJlc19j ZWxscyArIGRlbGF5X2NlbGxzLAorCQkJCSAgICAgdGhyZXNfY2VsbHMsIGxvc3N5KTsKIAl9CiAK IAlyZXR1cm4gbWx4c3dfcmVnX3dyaXRlKG1seHN3X3NwLT5jb3JlLCBNTFhTV19SRUcocGJtYyks IHBibWNfcGwpOwotLSAKMi4yMC4xCgoKRnJvbSBjNzdhNDM2NTlmOGQ5MzNmY2EzNTJmZTMwNzAz MjRhNGYzMjZlNDExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYW8gV2VuYW4gPG1h b3dlbmFuQGh1YXdlaS5jb20+CkRhdGU6IE1vbiwgMTggRmViIDIwMTkgMTA6NDQ6NDQgKzA4MDAK U3ViamVjdDogW1BBVENIIDA3LzIxXSBuZXQ6IGNyeXB0byBzZXQgc2sgdG8gTlVMTCB3aGVuIGFm X2FsZ19yZWxlYXNlLgoKWyBVcHN0cmVhbSBjb21taXQgOTA2MGNiNzE5ZTYxYjY4NWVjMDEwMjU3 NGUxMDMzN2ZhNWY0NDVlYSBdCgpLQVNBTiBoYXMgZm91bmQgdXNlLWFmdGVyLWZyZWUgaW4gc29j a2ZzX3NldGF0dHIuClRoZSBleGlzdGVkIGNvbW1pdCA2ZDhjNTBkY2IwMjkgKCJzb2NrZXQ6IGNs b3NlIHJhY2UgY29uZGl0aW9uIGJldHdlZW4gc29ja19jbG9zZSgpCmFuZCBzb2NrZnNfc2V0YXR0 cigpIikgaXMgdG8gZml4IHRoaXMgc2ltaWxsYXIgaXNzdWUsIGJ1dCBpdCBzZWVtcyB0byBpZ25v cmUKdGhhdCBjcnlwdG8gbW9kdWxlIGZvcmdldHMgdG8gc2V0IHRoZSBzayB0byBOVUxMIGFmdGVy IGFmX2FsZ19yZWxlYXNlLgoKS0FTQU4gcmVwb3J0IGRldGFpbHMgYXMgYmVsb3c6CkJVRzogS0FT QU46IHVzZS1hZnRlci1mcmVlIGluIHNvY2tmc19zZXRhdHRyKzB4MTIwLzB4MTUwCldyaXRlIG9m IHNpemUgNCBhdCBhZGRyIGZmZmY4ODgzN2I5NTYxMjggYnkgdGFzayBzeXotZXhlY3V0b3IwLzQx ODYKCkNQVTogMiBQSUQ6IDQxODYgQ29tbTogc3l6LWV4ZWN1dG9yMCBOb3QgdGFpbnRlZCB4eHgg KyAjMQpIYXJkd2FyZSBuYW1lOiBRRU1VIFN0YW5kYXJkIFBDIChpNDQwRlggKyBQSUlYLCAxOTk2 KSwgQklPUwoxLjEwLjItMXVidW50dTEgMDQvMDEvMjAxNApDYWxsIFRyYWNlOgogZHVtcF9zdGFj aysweGNhLzB4MTNlCiBwcmludF9hZGRyZXNzX2Rlc2NyaXB0aW9uKzB4NzkvMHgzMzAKID8gdnBy aW50a19mdW5jKzB4NWUvMHhmMAoga2FzYW5fcmVwb3J0KzB4MThhLzB4MmUwCiA/IHNvY2tmc19z ZXRhdHRyKzB4MTIwLzB4MTUwCiBzb2NrZnNfc2V0YXR0cisweDEyMC8weDE1MAogPyBzb2NrX3Jl Z2lzdGVyKzB4MmQwLzB4MmQwCiBub3RpZnlfY2hhbmdlKzB4OTBjLzB4ZDQwCiA/IGNob3duX2Nv bW1vbisweDJlZi8weDUxMAogY2hvd25fY29tbW9uKzB4MmVmLzB4NTEwCiA/IGNobW9kX2NvbW1v bisweDNiMC8weDNiMAogPyBfX2xvY2tfaXNfaGVsZCsweGJjLzB4MTYwCiA/IF9fc2Jfc3RhcnRf d3JpdGUrMHgxM2QvMHgyYjAKID8gX19tbnRfd2FudF93cml0ZSsweDE5YS8weDI1MAogZG9fZmNo b3duYXQrMHgxNWMvMHgxOTAKID8gX19pYTMyX3N5c19jaG1vZCsweDgwLzB4ODAKID8gdHJhY2Vf aGFyZGlycXNfb25fdGh1bmsrMHgxYS8weDFjCiBfX3g2NF9zeXNfZmNob3duYXQrMHhiZi8weDE2 MAogPyBsb2NrZGVwX2hhcmRpcnFzX29uKzB4MzlhLzB4NWUwCiBkb19zeXNjYWxsXzY0KzB4Yzgv MHg1ODAKIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKUklQOiAwMDMz OjB4NDYyNTg5CkNvZGU6IGY3IGQ4IDY0IDg5IDAyIGI4IGZmIGZmIGZmIGZmIGMzIDY2IDBmIDFm IDQ0IDAwIDAwIDQ4IDg5IGY4IDQ4IDg5CmY3IDQ4IDg5IGQ2IDQ4IDg5CmNhIDRkIDg5IGMyIDRk IDg5IGM4IDRjIDhiIDRjIDI0IDA4IDBmIDA1IDw0OD4gM2QgMDEgZjAgZmYgZmYgNzMgMDEgYzMK NDggYzcgYzEgYmMgZmYgZmYKZmYgZjcgZDggNjQgODkgMDEgNDgKUlNQOiAwMDJiOjAwMDA3ZmI0 YjJjODNjNTggRUZMQUdTOiAwMDAwMDI0NiBPUklHX1JBWDogMDAwMDAwMDAwMDAwMDEwNApSQVg6 IGZmZmZmZmZmZmZmZmZmZGEgUkJYOiAwMDAwMDAwMDAwNzJiZmEwIFJDWDogMDAwMDAwMDAwMDQ2 MjU4OQpSRFg6IDAwMDAwMDAwMDAwMDAwMDAgUlNJOiAwMDAwMDAwMDIwMDAwMGMwIFJESTogMDAw MDAwMDAwMDAwMDAwNwpSQlA6IDAwMDAwMDAwMDAwMDAwMDUgUjA4OiAwMDAwMDAwMDAwMDAxMDAw IFIwOTogMDAwMDAwMDAwMDAwMDAwMApSMTA6IDAwMDAwMDAwMDAwMDAwMDAgUjExOiAwMDAwMDAw MDAwMDAwMjQ2IFIxMjogMDAwMDdmYjRiMmM4NDZiYwpSMTM6IDAwMDAwMDAwMDA0YmM3MzMgUjE0 OiAwMDAwMDAwMDAwNmY1MTM4IFIxNTogMDAwMDAwMDBmZmZmZmZmZgoKQWxsb2NhdGVkIGJ5IHRh c2sgNDE4NToKIGthc2FuX2ttYWxsb2MrMHhhMC8weGQwCiBfX2ttYWxsb2MrMHgxNGEvMHgzNTAK IHNrX3Byb3RfYWxsb2MrMHhmNi8weDI5MAogc2tfYWxsb2MrMHgzZC8weGMwMAogYWZfYWxnX2Fj Y2VwdCsweDllLzB4NjcwCiBoYXNoX2FjY2VwdCsweDRhMy8weDY1MAogX19zeXNfYWNjZXB0NCsw eDMwNi8weDVjMAogX194NjRfc3lzX2FjY2VwdDQrMHg5OC8weDEwMAogZG9fc3lzY2FsbF82NCsw eGM4LzB4NTgwCiBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlCgpGcmVl ZCBieSB0YXNrIDQxODQ6CiBfX2thc2FuX3NsYWJfZnJlZSsweDEyZS8weDE4MAoga2ZyZWUrMHhl Yi8weDJmMAogX19za19kZXN0cnVjdCsweDRlNi8weDZhMAogc2tfZGVzdHJ1Y3QrMHg0OC8weDcw CiBfX3NrX2ZyZWUrMHhhOS8weDI3MAogc2tfZnJlZSsweDJhLzB4MzAKIGFmX2FsZ19yZWxlYXNl KzB4NWMvMHg3MAogX19zb2NrX3JlbGVhc2UrMHhkMy8weDI4MAogc29ja19jbG9zZSsweDFhLzB4 MjAKIF9fZnB1dCsweDI3Zi8weDdmMAogdGFza193b3JrX3J1bisweDEzNi8weDFiMAogZXhpdF90 b191c2VybW9kZV9sb29wKzB4MWE3LzB4MWQwCiBkb19zeXNjYWxsXzY0KzB4NDYxLzB4NTgwCiBl bnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlCgpTeXprYWxsZXIgcmVwcm9k dWNlcjoKcjAgPSBwZXJmX2V2ZW50X29wZW4oJigweDdmMDAwMDAwMDAwMCk9ezB4MCwgMHg3MCwg MHgwLCAweDAsIDB4MCwgMHgwLAoweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4 MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwKMHgwLCAweDAsIDB4MCwgMHgwLCAweDAs IDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsCjB4MCwgMHgwLCAw eDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgQHBlcmZfY29uZmlnX2V4dH0sIDB4MCwgMHgwLAoweGZm ZmZmZmZmZmZmZmZmZmYsIDB4MCkKcjEgPSBzb2NrZXQkYWxnKDB4MjYsIDB4NSwgMHgwKQpnZXRy dXNhZ2UoMHgwLCAweDApCmJpbmQocjEsICYoMHg3ZjAwMDAwMDAxYzApPUBhbGc9ezB4MjYsICdo YXNoXHgwMCcsIDB4MCwgMHgwLAonc2hhMjU2LXNzc2UzXHgwMCd9LCAweDgwKQpyMiA9IGFjY2Vw dChyMSwgMHgwLCAweDApCnIzID0gYWNjZXB0NCR1bml4KHIyLCAweDAsIDB4MCwgMHgwKQpyNCA9 IGR1cDMocjMsIHIwLCAweDApCmZjaG93bmF0KHI0LCAmKDB4N2YwMDAwMDAwMGMwKT0nXHgwMCcs IDB4MCwgMHgwLCAweDEwMDApCgpGaXhlczogNmQ4YzUwZGNiMDI5ICgic29ja2V0OiBjbG9zZSBy YWNlIGNvbmRpdGlvbiBiZXR3ZWVuIHNvY2tfY2xvc2UoKSBhbmQgc29ja2ZzX3NldGF0dHIoKSIp ClNpZ25lZC1vZmYtYnk6IE1hbyBXZW5hbiA8bWFvd2VuYW5AaHVhd2VpLmNvbT4KU2lnbmVkLW9m Zi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGNyeXB0by9h Zl9hbGcuYyB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL2NyeXB0by9hZl9hbGcuYyBiL2NyeXB0by9hZl9hbGcuYwpp bmRleCAxN2ViMDlkMjIyZmYuLmVjNzhhMDRlYjEzNiAxMDA2NDQKLS0tIGEvY3J5cHRvL2FmX2Fs Zy5jCisrKyBiL2NyeXB0by9hZl9hbGcuYwpAQCAtMTIyLDggKzEyMiwxMCBAQCBzdGF0aWMgdm9p ZCBhbGdfZG9fcmVsZWFzZShjb25zdCBzdHJ1Y3QgYWZfYWxnX3R5cGUgKnR5cGUsIHZvaWQgKnBy aXZhdGUpCiAKIGludCBhZl9hbGdfcmVsZWFzZShzdHJ1Y3Qgc29ja2V0ICpzb2NrKQogewotCWlm IChzb2NrLT5zaykKKwlpZiAoc29jay0+c2spIHsKIAkJc29ja19wdXQoc29jay0+c2spOworCQlz b2NrLT5zayA9IE5VTEw7CisJfQogCXJldHVybiAwOwogfQogRVhQT1JUX1NZTUJPTF9HUEwoYWZf YWxnX3JlbGVhc2UpOwotLSAKMi4yMC4xCgoKRnJvbSA0MDRiMzViMjRiYmU4OTUzMGUwYWVkNzJh MGM2YzhhNDg3ODY3ZWE1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYXVrZSBNZWhy dGVucyA8aGF1a2UubWVocnRlbnNAaW50ZWwuY29tPgpEYXRlOiBGcmksIDE1IEZlYiAyMDE5IDE3 OjU4OjU0ICswMTAwClN1YmplY3Q6IFtQQVRDSCAwOC8yMV0gbmV0OiBGaXggZm9yX2VhY2hfbmV0 ZGV2X2ZlYXR1cmUgb24gQmlnIGVuZGlhbgoKWyBVcHN0cmVhbSBjb21taXQgM2I4OWVhOWM1OTAy YWNjY2RiYmRlYzMwN2M4NWVkZDFiZjUyNTE1ZSBdCgpUaGUgZmVhdHVyZXMgYXR0cmlidXRlIGlz IG9mIHR5cGUgdTY0IGFuZCBzdG9yZWQgaW4gdGhlIG5hdGl2ZSBlbmRpYW5lcyBvbgp0aGUgc3lz dGVtLiBUaGUgZm9yX2VhY2hfc2V0X2JpdCgpIG1hY3JvIHRha2VzIGEgcG9pbnRlciB0byBhIDMy IGJpdCBhcnJheQphbmQgZ29lcyBvdmVyIHRoZSBiaXRzIGluIHRoaXMgYXJlYS4gT24gbGl0dGxl IEVuZGlhbiBzeXN0ZW1zIHRoaXMgYWxzbwp3b3JrcyB3aXRoIGFuIHU2NCBhcyB0aGUgbW9zdCBz aWduaWZpY2FudCBiaXQgaXMgb24gdGhlIGhpZ2hlc3QgYWRkcmVzcywKYnV0IG9uIGJpZyBlbmRp YW4gdGhlIHdvcmRzIGFyZSBzd2FwcGVkLiBXaGVuIHdlIGV4cGVjdCBiaXQgMTUgaGVyZSB3ZSBn ZXQKYml0IDQ3ICgxNSArIDMyKS4KClRoaXMgcGF0Y2ggY29udmVydHMgaXQgbW9yZSBvciBsZXNz IHRvIGl0cyBvd24gZm9yX2VhY2hfc2V0X2JpdCgpCmltcGxlbWVudGF0aW9uIHdoaWNoIHdvcmtz IG9uIDY0IGJpdCBpbnRlZ2VycyBkaXJlY3RseS4gVGhpcyBpcyB0aGVuCmNvbXBsZXRlbHkgaW4g aG9zdCBlbmRpYW5uZXNzIGFuZCBzaG91bGQgd29yayBsaWtlIGV4cGVjdGVkLgoKRml4ZXM6IGZk ODY3ZDUxZiAoIm5ldC9jb3JlOiBnZW5lcmljIHN1cHBvcnQgZm9yIGRpc2FibGluZyBuZXRkZXYg ZmVhdHVyZXMgZG93biBzdGFjayIpClNpZ25lZC1vZmYtYnk6IEhhdWtlIE1laHJ0ZW5zIDxoYXVr ZS5tZWhydGVuc0BpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBpbmNsdWRlL2xpbnV4L25ldGRldl9mZWF0dXJlcy5oIHwg MjMgKysrKysrKysrKysrKysrKysrKysrLS0KIG5ldC9jb3JlL2Rldi5jICAgICAgICAgICAgICAg ICAgfCAgNCArKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDQgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9uZXRkZXZfZmVhdHVyZXMuaCBiL2lu Y2x1ZGUvbGludXgvbmV0ZGV2X2ZlYXR1cmVzLmgKaW5kZXggMmIyYTZkY2UxNjMwLi5mY2UyODU2 MmJlZDIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbmV0ZGV2X2ZlYXR1cmVzLmgKKysrIGIv aW5jbHVkZS9saW51eC9uZXRkZXZfZmVhdHVyZXMuaApAQCAtMTEsNiArMTEsNyBAQAogI2RlZmlu ZSBfTElOVVhfTkVUREVWX0ZFQVRVUkVTX0gKIAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Cisj aW5jbHVkZSA8YXNtL2J5dGVvcmRlci5oPgogCiB0eXBlZGVmIHU2NCBuZXRkZXZfZmVhdHVyZXNf dDsKIApAQCAtMTU0LDggKzE1NSwyNiBAQCBlbnVtIHsKICNkZWZpbmUgTkVUSUZfRl9IV19UTFNf VFgJX19ORVRJRl9GKEhXX1RMU19UWCkKICNkZWZpbmUgTkVUSUZfRl9IV19UTFNfUlgJX19ORVRJ Rl9GKEhXX1RMU19SWCkKIAotI2RlZmluZSBmb3JfZWFjaF9uZXRkZXZfZmVhdHVyZShtYXNrX2Fk ZHIsIGJpdCkJXAotCWZvcl9lYWNoX3NldF9iaXQoYml0LCAodW5zaWduZWQgbG9uZyAqKW1hc2tf YWRkciwgTkVUREVWX0ZFQVRVUkVfQ09VTlQpCisvKiBGaW5kcyB0aGUgbmV4dCBmZWF0dXJlIHdp dGggdGhlIGhpZ2hlc3QgbnVtYmVyIG9mIHRoZSByYW5nZSBvZiBzdGFydCB0aWxsIDAuCisgKi8K K3N0YXRpYyBpbmxpbmUgaW50IGZpbmRfbmV4dF9uZXRkZXZfZmVhdHVyZSh1NjQgZmVhdHVyZSwg dW5zaWduZWQgbG9uZyBzdGFydCkKK3sKKwkvKiBsaWtlIEJJVE1BUF9MQVNUX1dPUkRfTUFTSygp IGZvciB1NjQKKwkgKiB0aGlzIHNldHMgdGhlIG1vc3Qgc2lnbmlmaWNhbnQgNjQgLSBzdGFydCB0 byAwLgorCSAqLworCWZlYXR1cmUgJj0gfjBVTEwgPj4gKC1zdGFydCAmICgoc2l6ZW9mKGZlYXR1 cmUpICogOCkgLSAxKSk7CisKKwlyZXR1cm4gZmxzNjQoZmVhdHVyZSkgLSAxOworfQorCisvKiBU aGlzIGdvZXMgZm9yIHRoZSBNU0IgdG8gdGhlIExTQiB0aHJvdWdoIHRoZSBzZXQgZmVhdHVyZSBi aXRzLAorICogbWFza19hZGRyIHNob3VsZCBiZSBhIHU2NCBhbmQgYml0IGFuIGludAorICovCisj ZGVmaW5lIGZvcl9lYWNoX25ldGRldl9mZWF0dXJlKG1hc2tfYWRkciwgYml0KQkJCQlcCisJZm9y ICgoYml0KSA9IGZpbmRfbmV4dF9uZXRkZXZfZmVhdHVyZSgobWFza19hZGRyKSwJCVwKKwkJCQkJ ICAgICAgTkVUREVWX0ZFQVRVUkVfQ09VTlQpOwlcCisJICAgICAoYml0KSA+PSAwOwkJCQkJCVwK KwkgICAgIChiaXQpID0gZmluZF9uZXh0X25ldGRldl9mZWF0dXJlKChtYXNrX2FkZHIpLCAoYml0 KSAtIDEpKQogCiAvKiBGZWF0dXJlcyB2YWxpZCBmb3IgZXRodG9vbCB0byBjaGFuZ2UgKi8KIC8q ID0gYWxsIGRlZmluZWQgbWludXMgZHJpdmVyL2RldmljZS1jbGFzcy1yZWxhdGVkICovCmRpZmYg LS1naXQgYS9uZXQvY29yZS9kZXYuYyBiL25ldC9jb3JlL2Rldi5jCmluZGV4IDQzZjhhNGZkNDk2 OC4uZGUwNjkwZTViM2RmIDEwMDY0NAotLS0gYS9uZXQvY29yZS9kZXYuYworKysgYi9uZXQvY29y ZS9kZXYuYwpAQCAtODA2NCw3ICs4MDY0LDcgQEAgc3RhdGljIG5ldGRldl9mZWF0dXJlc190IG5l dGRldl9zeW5jX3VwcGVyX2ZlYXR1cmVzKHN0cnVjdCBuZXRfZGV2aWNlICpsb3dlciwKIAluZXRk ZXZfZmVhdHVyZXNfdCBmZWF0dXJlOwogCWludCBmZWF0dXJlX2JpdDsKIAotCWZvcl9lYWNoX25l dGRldl9mZWF0dXJlKCZ1cHBlcl9kaXNhYmxlcywgZmVhdHVyZV9iaXQpIHsKKwlmb3JfZWFjaF9u ZXRkZXZfZmVhdHVyZSh1cHBlcl9kaXNhYmxlcywgZmVhdHVyZV9iaXQpIHsKIAkJZmVhdHVyZSA9 IF9fTkVUSUZfRl9CSVQoZmVhdHVyZV9iaXQpOwogCQlpZiAoISh1cHBlci0+d2FudGVkX2ZlYXR1 cmVzICYgZmVhdHVyZSkKIAkJICAgICYmIChmZWF0dXJlcyAmIGZlYXR1cmUpKSB7CkBAIC04MDg0 LDcgKzgwODQsNyBAQCBzdGF0aWMgdm9pZCBuZXRkZXZfc3luY19sb3dlcl9mZWF0dXJlcyhzdHJ1 Y3QgbmV0X2RldmljZSAqdXBwZXIsCiAJbmV0ZGV2X2ZlYXR1cmVzX3QgZmVhdHVyZTsKIAlpbnQg ZmVhdHVyZV9iaXQ7CiAKLQlmb3JfZWFjaF9uZXRkZXZfZmVhdHVyZSgmdXBwZXJfZGlzYWJsZXMs IGZlYXR1cmVfYml0KSB7CisJZm9yX2VhY2hfbmV0ZGV2X2ZlYXR1cmUodXBwZXJfZGlzYWJsZXMs IGZlYXR1cmVfYml0KSB7CiAJCWZlYXR1cmUgPSBfX05FVElGX0ZfQklUKGZlYXR1cmVfYml0KTsK IAkJaWYgKCEoZmVhdHVyZXMgJiBmZWF0dXJlKSAmJiAobG93ZXItPmZlYXR1cmVzICYgZmVhdHVy ZSkpIHsKIAkJCW5ldGRldl9kYmcodXBwZXIsICJEaXNhYmxpbmcgZmVhdHVyZSAlcE5GIG9uIGxv d2VyIGRldiAlcy5cbiIsCi0tIAoyLjIwLjEKCgpGcm9tIDMzMGVmZTBmNGJiNGRlODczNzU3ZGQ5 N2FmZDVkZDc1NzJjZDRhN2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IExvcmVuem8g QmlhbmNvbmkgPGxvcmVuem8uYmlhbmNvbmlAcmVkaGF0LmNvbT4KRGF0ZTogRnJpLCAxNSBGZWIg MjAxOSAxNToxMDozMiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMDkvMjFdIG5ldDogaXA2X2dyZTog aW5pdGlhbGl6ZSBlcnNwYW5fdmVyIGp1c3QgZm9yIGVyc3BhbgogdHVubmVscwoKWyBVcHN0cmVh bSBjb21taXQgNDk3NGQ1ZjY3OGFiYjM0NDAxNTU4NTU5ZDQ3ZTJlYTNkMWMxNWNiYSBdCgpBZnRl ciBjb21taXQgYzcwNjg2M2JjODkwICgibmV0OiBpcDZfZ3JlOiBhbHdheXMgcmVwb3J0cyBvX2tl eSB0bwp1c2Vyc3BhY2UiKSwgaXA2Z3JlIGFuZCBpcDZncmV0YXAgdHVubmVscyBzdGFydGVkIHJl cG9ydGluZyBUVU5ORUxfS0VZCm91dHB1dCBmbGFnIGV2ZW4gaWYgaXQgaXMgbm90IGNvbmZpZ3Vy ZWQuCmlwNmdyZV9maWxsX2luZm8gY2hlY2tzIGVyc3Bhbl92ZXIgdmFsdWUgdG8gYWRkIFRVTk5F TF9LRVkgZm9yCmVyc3BhbiB0dW5uZWxzLCBob3dldmVyIGluIGNvbW1pdCA4NDU4MWJkYWU5NTg3 ICgiZXJzcGFuOiBzZXQKZXJzcGFuX3ZlciB0byAxIGJ5IGRlZmF1bHQgd2hlbiBhZGRpbmcgYW4g ZXJzcGFuIGRldiIpCmVyc3Bhbl92ZXIgaXMgaW5pdGlhbGl6ZWQgdG8gMSBldmVuIGZvciBpcDZn cmUgb3IgaXA2Z3JldGFwCkZpeCB0aGUgaXNzdWUgbW92aW5nIGVyc3Bhbl92ZXIgaW5pdGlhbGl6 YXRpb24gaW4gYSBkZWRpY2F0ZWQgcm91dGluZQoKRml4ZXM6IGM3MDY4NjNiYzg5MCAoIm5ldDog aXA2X2dyZTogYWx3YXlzIHJlcG9ydHMgb19rZXkgdG8gdXNlcnNwYWNlIikKU2lnbmVkLW9mZi1i eTogTG9yZW56byBCaWFuY29uaSA8bG9yZW56by5iaWFuY29uaUByZWRoYXQuY29tPgpSZXZpZXdl ZC1ieTogR3JlZyBSb3NlIDxndnJvc2U4MTkyQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2 aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY2L2lwNl9ncmUu YyB8IDM0ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCAyMCBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2 Ni9pcDZfZ3JlLmMgYi9uZXQvaXB2Ni9pcDZfZ3JlLmMKaW5kZXggOTQ5MDMwNjFmMzI0Li5lODNj NDFjNTNmNGEgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L2lwNl9ncmUuYworKysgYi9uZXQvaXB2Ni9p cDZfZ3JlLmMKQEAgLTE3MTcsNiArMTcxNywyNCBAQCBzdGF0aWMgaW50IGlwNmVyc3Bhbl90YXBf dmFsaWRhdGUoc3RydWN0IG5sYXR0ciAqdGJbXSwgc3RydWN0IG5sYXR0ciAqZGF0YVtdLAogCXJl dHVybiAwOwogfQogCitzdGF0aWMgdm9pZCBpcDZlcnNwYW5fc2V0X3ZlcnNpb24oc3RydWN0IG5s YXR0ciAqZGF0YVtdLAorCQkJCSAgc3RydWN0IF9faXA2X3RubF9wYXJtICpwYXJtcykKK3sKKwlw YXJtcy0+ZXJzcGFuX3ZlciA9IDE7CisJaWYgKGRhdGFbSUZMQV9HUkVfRVJTUEFOX1ZFUl0pCisJ CXBhcm1zLT5lcnNwYW5fdmVyID0gbmxhX2dldF91OChkYXRhW0lGTEFfR1JFX0VSU1BBTl9WRVJd KTsKKworCWlmIChwYXJtcy0+ZXJzcGFuX3ZlciA9PSAxKSB7CisJCWlmIChkYXRhW0lGTEFfR1JF X0VSU1BBTl9JTkRFWF0pCisJCQlwYXJtcy0+aW5kZXggPSBubGFfZ2V0X3UzMihkYXRhW0lGTEFf R1JFX0VSU1BBTl9JTkRFWF0pOworCX0gZWxzZSBpZiAocGFybXMtPmVyc3Bhbl92ZXIgPT0gMikg eworCQlpZiAoZGF0YVtJRkxBX0dSRV9FUlNQQU5fRElSXSkKKwkJCXBhcm1zLT5kaXIgPSBubGFf Z2V0X3U4KGRhdGFbSUZMQV9HUkVfRVJTUEFOX0RJUl0pOworCQlpZiAoZGF0YVtJRkxBX0dSRV9F UlNQQU5fSFdJRF0pCisJCQlwYXJtcy0+aHdpZCA9IG5sYV9nZXRfdTE2KGRhdGFbSUZMQV9HUkVf RVJTUEFOX0hXSURdKTsKKwl9Cit9CisKIHN0YXRpYyB2b2lkIGlwNmdyZV9uZXRsaW5rX3Bhcm1z KHN0cnVjdCBubGF0dHIgKmRhdGFbXSwKIAkJCQlzdHJ1Y3QgX19pcDZfdG5sX3Bhcm0gKnBhcm1z KQogewpAQCAtMTc2NSwyMCArMTc4Myw2IEBAIHN0YXRpYyB2b2lkIGlwNmdyZV9uZXRsaW5rX3Bh cm1zKHN0cnVjdCBubGF0dHIgKmRhdGFbXSwKIAogCWlmIChkYXRhW0lGTEFfR1JFX0NPTExFQ1Rf TUVUQURBVEFdKQogCQlwYXJtcy0+Y29sbGVjdF9tZCA9IHRydWU7Ci0KLQlwYXJtcy0+ZXJzcGFu X3ZlciA9IDE7Ci0JaWYgKGRhdGFbSUZMQV9HUkVfRVJTUEFOX1ZFUl0pCi0JCXBhcm1zLT5lcnNw YW5fdmVyID0gbmxhX2dldF91OChkYXRhW0lGTEFfR1JFX0VSU1BBTl9WRVJdKTsKLQotCWlmIChw YXJtcy0+ZXJzcGFuX3ZlciA9PSAxKSB7Ci0JCWlmIChkYXRhW0lGTEFfR1JFX0VSU1BBTl9JTkRF WF0pCi0JCQlwYXJtcy0+aW5kZXggPSBubGFfZ2V0X3UzMihkYXRhW0lGTEFfR1JFX0VSU1BBTl9J TkRFWF0pOwotCX0gZWxzZSBpZiAocGFybXMtPmVyc3Bhbl92ZXIgPT0gMikgewotCQlpZiAoZGF0 YVtJRkxBX0dSRV9FUlNQQU5fRElSXSkKLQkJCXBhcm1zLT5kaXIgPSBubGFfZ2V0X3U4KGRhdGFb SUZMQV9HUkVfRVJTUEFOX0RJUl0pOwotCQlpZiAoZGF0YVtJRkxBX0dSRV9FUlNQQU5fSFdJRF0p Ci0JCQlwYXJtcy0+aHdpZCA9IG5sYV9nZXRfdTE2KGRhdGFbSUZMQV9HUkVfRVJTUEFOX0hXSURd KTsKLQl9CiB9CiAKIHN0YXRpYyBpbnQgaXA2Z3JlX3RhcF9pbml0KHN0cnVjdCBuZXRfZGV2aWNl ICpkZXYpCkBAIC0yMjA3LDYgKzIyMTEsNyBAQCBzdGF0aWMgaW50IGlwNmVyc3Bhbl9uZXdsaW5r KHN0cnVjdCBuZXQgKnNyY19uZXQsIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJaW50IGVycjsK IAogCWlwNmdyZV9uZXRsaW5rX3Bhcm1zKGRhdGEsICZudC0+cGFybXMpOworCWlwNmVyc3Bhbl9z ZXRfdmVyc2lvbihkYXRhLCAmbnQtPnBhcm1zKTsKIAlpZ24gPSBuZXRfZ2VuZXJpYyhuZXQsIGlw NmdyZV9uZXRfaWQpOwogCiAJaWYgKG50LT5wYXJtcy5jb2xsZWN0X21kKSB7CkBAIC0yMjUyLDYg KzIyNTcsNyBAQCBzdGF0aWMgaW50IGlwNmVyc3Bhbl9jaGFuZ2VsaW5rKHN0cnVjdCBuZXRfZGV2 aWNlICpkZXYsIHN0cnVjdCBubGF0dHIgKnRiW10sCiAJaWYgKElTX0VSUih0KSkKIAkJcmV0dXJu IFBUUl9FUlIodCk7CiAKKwlpcDZlcnNwYW5fc2V0X3ZlcnNpb24oZGF0YSwgJnApOwogCWlwNmdy ZV90dW5uZWxfdW5saW5rX21kKGlnbiwgdCk7CiAJaXA2Z3JlX3R1bm5lbF91bmxpbmsoaWduLCB0 KTsKIAlpcDZlcnNwYW5fdG5sX2NoYW5nZSh0LCAmcCwgIXRiW0lGTEFfTVRVXSk7Ci0tIAoyLjIw LjEKCgpGcm9tIDc5MTA3MzM2YTg3ZGRmNTM4ODJlOTY3NzRiNjM4NzY4ZDcyNjU0M2MgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IFBhdWwgS29jaWFsa293c2tpIDxwYXVsLmtvY2lhbGtv d3NraUBib290bGluLmNvbT4KRGF0ZTogRnJpLCAxNSBGZWIgMjAxOSAxNzoxNzowOCArMDEwMApT dWJqZWN0OiBbUEFUQ0ggMTAvMjFdIG5ldDogcGh5OiB4Z21paXRvcmdtaWk6IFN1cHBvcnQgZ2Vu ZXJpYyBQSFkgc3RhdHVzIHJlYWQKClsgVXBzdHJlYW0gY29tbWl0IDE5N2Y5YWI3ZjA4Y2U0Yjll Y2U2NjJmNzQ3YzM5OTFiMmYwZmJiNTcgXQoKU29tZSBQSFkgZHJpdmVycyBsaWtlIHRoZSBnZW5l cmljIG9uZSBkbyBub3QgcHJvdmlkZSBhIHJlYWRfc3RhdHVzCmNhbGxiYWNrIG9uIHRoZWlyIG93 biBidXQgcmVseSBvbiBnZW5waHlfcmVhZF9zdGF0dXMgYmVpbmcgY2FsbGVkCmRpcmVjdGx5LgoK V2l0aCB0aGUgY3VycmVudCBjb2RlLCB0aGlzIHJlc3VsdHMgaW4gYSBOVUxMIGZ1bmN0aW9uIHBv aW50ZXIgY2FsbC4KQ2FsbCBnZW5waHlfcmVhZF9zdGF0dXMgaW5zdGVhZCB3aGVuIHRoZXJlIGlz IG5vIHNwZWNpZmljIGNhbGxiYWNrLgoKRml4ZXM6IGY0MTFhNjE2MGJkNCAoIm5ldDogcGh5OiBB ZGQgZ21paXRvcmdtaWkgY29udmVydGVyIHN1cHBvcnQiKQpTaWduZWQtb2ZmLWJ5OiBQYXVsIEtv Y2lhbGtvd3NraSA8cGF1bC5rb2NpYWxrb3dza2lAYm9vdGxpbi5jb20+ClNpZ25lZC1vZmYtYnk6 IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9w aHkveGlsaW54X2dtaWkycmdtaWkuYyB8IDUgKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2Vy dGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9waHkveGls aW54X2dtaWkycmdtaWkuYyBiL2RyaXZlcnMvbmV0L3BoeS94aWxpbnhfZ21paTJyZ21paS5jCmlu ZGV4IDc0YTg3ODIzMTNjZi4uYmQ2MDg0ZTMxNWRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9w aHkveGlsaW54X2dtaWkycmdtaWkuYworKysgYi9kcml2ZXJzL25ldC9waHkveGlsaW54X2dtaWky cmdtaWkuYwpAQCAtNDQsNyArNDQsMTAgQEAgc3RhdGljIGludCB4Z21paXRvcmdtaWlfcmVhZF9z dGF0dXMoc3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldikKIAl1MTYgdmFsID0gMDsKIAlpbnQgZXJy OwogCi0JZXJyID0gcHJpdi0+cGh5X2Rydi0+cmVhZF9zdGF0dXMocGh5ZGV2KTsKKwlpZiAocHJp di0+cGh5X2Rydi0+cmVhZF9zdGF0dXMpCisJCWVyciA9IHByaXYtPnBoeV9kcnYtPnJlYWRfc3Rh dHVzKHBoeWRldik7CisJZWxzZQorCQllcnIgPSBnZW5waHlfcmVhZF9zdGF0dXMocGh5ZGV2KTsK IAlpZiAoZXJyIDwgMCkKIAkJcmV0dXJuIGVycjsKIAotLSAKMi4yMC4xCgoKRnJvbSBhYzY0MGY1 NTdiZGRkNmZhMjg3NmY3MmE2YmYyZTQ0M2Q1MGE4YmVkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBKb3NlIEFicmV1IDxqb3NlLmFicmV1QHN5bm9wc3lzLmNvbT4KRGF0ZTogTW9uLCAx OCBGZWIgMjAxOSAxNDozNTowMyArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMjFdIG5ldDogc3Rt bWFjOiBGaXggYSByYWNlIGluIEVFRSBlbmFibGUgY2FsbGJhY2sKClsgVXBzdHJlYW0gY29tbWl0 IDhhNzQ5M2U1OGFkNjg4ZWIyM2I4MWU0NTQ2MWM1ZDMxNGY0NDAyZjEgXQoKV2UgYXJlIHNhdmlu ZyB0aGUgc3RhdHVzIG9mIEVFRSBldmVuIGJlZm9yZSB3ZSB0cnkgdG8gZW5hYmxlIGl0LiBUaGlz CmxlYWRzIHRvIGEgcmFjZSB3aXRoIFhNSVQgZnVuY3Rpb24gdGhhdCB0cmllcyB0byBhcm0gRUVF IHRpbWVyIGJlZm9yZSB3ZQpzZXQgaXQgdXAuCgpGaXggdGhpcyBieSBvbmx5IHNhdmluZyB0aGUg RUVFIHBhcmFtZXRlcnMgYWZ0ZXIgYWxsIG9wZXJhdGlvbnMgYXJlCnBlcmZvcm1lZCB3aXRoIHN1 Y2Nlc3MuCgpTaWduZWQtb2ZmLWJ5OiBKb3NlIEFicmV1IDxqb2FicmV1QHN5bm9wc3lzLmNvbT4K Rml4ZXM6IGQ3NjU5NTVkMmFlMCAoInN0bW1hYzogYWRkIHRoZSBFbmVyZ3kgRWZmaWNpZW50IEV0 aGVybmV0IHN1cHBvcnQiKQpDYzogSm9hbyBQaW50byA8anBpbnRvQHN5bm9wc3lzLmNvbT4KQ2M6 IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KQ2M6IEdpdXNlcHBlIENhdmFs bGFybyA8cGVwcGUuY2F2YWxsYXJvQHN0LmNvbT4KQ2M6IEFsZXhhbmRyZSBUb3JndWUgPGFsZXhh bmRyZS50b3JndWVAc3QuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogLi4uL2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19l dGh0b29sLmMgIHwgMjIgKysrKysrKysrKy0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEyIGlu c2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0 aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19ldGh0b29sLmMgYi9kcml2ZXJzL25ldC9ldGhl cm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfZXRodG9vbC5jCmluZGV4IDU3MTA4NjRmYTgwOS4u OWNhZjc5YmE1ZWYxIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0 bW1hYy9zdG1tYWNfZXRodG9vbC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8v c3RtbWFjL3N0bW1hY19ldGh0b29sLmMKQEAgLTY5MiwyNSArNjkyLDI3IEBAIHN0YXRpYyBpbnQg c3RtbWFjX2V0aHRvb2xfb3Bfc2V0X2VlZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAogCQkJCSAg ICAgc3RydWN0IGV0aHRvb2xfZWVlICplZGF0YSkKIHsKIAlzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnBy aXYgPSBuZXRkZXZfcHJpdihkZXYpOworCWludCByZXQ7CiAKLQlwcml2LT5lZWVfZW5hYmxlZCA9 IGVkYXRhLT5lZWVfZW5hYmxlZDsKLQotCWlmICghcHJpdi0+ZWVlX2VuYWJsZWQpCisJaWYgKCFl ZGF0YS0+ZWVlX2VuYWJsZWQpIHsKIAkJc3RtbWFjX2Rpc2FibGVfZWVlX21vZGUocHJpdik7Ci0J ZWxzZSB7CisJfSBlbHNlIHsKIAkJLyogV2UgYXJlIGFza2luZyBmb3IgZW5hYmxpbmcgdGhlIEVF RSBidXQgaXQgaXMgc2FmZQogCQkgKiB0byB2ZXJpZnkgYWxsIGJ5IGludm9raW5nIHRoZSBlZWVf aW5pdCBmdW5jdGlvbi4KIAkJICogSW4gY2FzZSBvZiBmYWlsdXJlIGl0IHdpbGwgcmV0dXJuIGFu IGVycm9yLgogCQkgKi8KLQkJcHJpdi0+ZWVlX2VuYWJsZWQgPSBzdG1tYWNfZWVlX2luaXQocHJp dik7Ci0JCWlmICghcHJpdi0+ZWVlX2VuYWJsZWQpCisJCWVkYXRhLT5lZWVfZW5hYmxlZCA9IHN0 bW1hY19lZWVfaW5pdChwcml2KTsKKwkJaWYgKCFlZGF0YS0+ZWVlX2VuYWJsZWQpCiAJCQlyZXR1 cm4gLUVPUE5PVFNVUFA7Ci0KLQkJLyogRG8gbm90IGNoYW5nZSB0eF9scGlfdGltZXIgaW4gY2Fz ZSBvZiBmYWlsdXJlICovCi0JCXByaXYtPnR4X2xwaV90aW1lciA9IGVkYXRhLT50eF9scGlfdGlt ZXI7CiAJfQogCi0JcmV0dXJuIHBoeV9ldGh0b29sX3NldF9lZWUoZGV2LT5waHlkZXYsIGVkYXRh KTsKKwlyZXQgPSBwaHlfZXRodG9vbF9zZXRfZWVlKGRldi0+cGh5ZGV2LCBlZGF0YSk7CisJaWYg KHJldCkKKwkJcmV0dXJuIHJldDsKKworCXByaXYtPmVlZV9lbmFibGVkID0gZWRhdGEtPmVlZV9l bmFibGVkOworCXByaXYtPnR4X2xwaV90aW1lciA9IGVkYXRhLT50eF9scGlfdGltZXI7CisJcmV0 dXJuIDA7CiB9CiAKIHN0YXRpYyB1MzIgc3RtbWFjX3VzZWMycml3dCh1MzIgdXNlYywgc3RydWN0 IHN0bW1hY19wcml2ICpwcml2KQotLSAKMi4yMC4xCgoKRnJvbSBlOWM0ZjMyMzYwMWE0ODRkZjgz ODM4NWU0ZWQzYjRlZWVjZWMyMmVkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4 YW5kcmUgVG9yZ3VlIDxhbGV4YW5kcmUudG9yZ3VlQHN0LmNvbT4KRGF0ZTogRnJpLCAxNSBGZWIg MjAxOSAxMDo0OTowOSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTIvMjFdIG5ldDogc3RtbWFjOiBo YW5kbGUgZW5kaWFubmVzcyBpbiBkd21hYzRfZ2V0X3RpbWVzdGFtcAoKWyBVcHN0cmVhbSBjb21t aXQgMjI0YmFiZDYyZDZmMTk1ODE3NTdhNmQ4YmFlM2JmOTUwMWZjMTBkZSBdCgpHTUFDIElQIGlz IGxpdHRsZS1lbmRpYW4gYW5kIHVzZWQgb24gc2V2ZXJhbCBraW5kIG9mIENQVSAoYmlnIG9yIGxp dHRsZQplbmRpYW4pLiBNYWluIGNhbGxiYWNrcyBmdW5jdGlvbnMgb2YgdGhlIHN0bW1hYyBkcml2 ZXJzIHRha2UgY2FyZSBhYm91dAppdC4gSXQgd2FzIG5vdCB0aGUgY2FzZSBmb3IgZHdtYWM0X2dl dF90aW1lc3RhbXAgZnVuY3Rpb24uCgpGaXhlczogYmExZmZkNzRkZjc0ICgic3RtbWFjOiBmaXgg UFRQIHN1cHBvcnQgZm9yIEdNQUM0IikKU2lnbmVkLW9mZi1ieTogQWxleGFuZHJlIFRvcmd1ZSA8 YWxleGFuZHJlLnRvcmd1ZUBzdC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8 ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0 bW1hYy9kd21hYzRfZGVzY3MuYyB8IDkgKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNl cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVy bmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjNF9kZXNjcy5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv c3RtaWNyby9zdG1tYWMvZHdtYWM0X2Rlc2NzLmMKaW5kZXggMjAyOTlmNmY2NWZjLi43MzZlMjk2 MzViNzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3 bWFjNF9kZXNjcy5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3 bWFjNF9kZXNjcy5jCkBAIC0yNDEsMTUgKzI0MSwxOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZHdt YWM0X2dldF90aW1lc3RhbXAodm9pZCAqZGVzYywgdTMyIGF0cywgdTY0ICp0cykKIHN0YXRpYyBp bnQgZHdtYWM0X3J4X2NoZWNrX3RpbWVzdGFtcCh2b2lkICpkZXNjKQogewogCXN0cnVjdCBkbWFf ZGVzYyAqcCA9IChzdHJ1Y3QgZG1hX2Rlc2MgKilkZXNjOworCXVuc2lnbmVkIGludCByZGVzMCA9 IGxlMzJfdG9fY3B1KHAtPmRlczApOworCXVuc2lnbmVkIGludCByZGVzMSA9IGxlMzJfdG9fY3B1 KHAtPmRlczEpOworCXVuc2lnbmVkIGludCByZGVzMyA9IGxlMzJfdG9fY3B1KHAtPmRlczMpOwog CXUzMiBvd24sIGN0eHQ7CiAJaW50IHJldCA9IDE7CiAKLQlvd24gPSBwLT5kZXMzICYgUkRFUzNf T1dOOwotCWN0eHQgPSAoKHAtPmRlczMgJiBSREVTM19DT05URVhUX0RFU0NSSVBUT1IpCisJb3du ID0gcmRlczMgJiBSREVTM19PV047CisJY3R4dCA9ICgocmRlczMgJiBSREVTM19DT05URVhUX0RF U0NSSVBUT1IpCiAJCT4+IFJERVMzX0NPTlRFWFRfREVTQ1JJUFRPUl9TSElGVCk7CiAKIAlpZiAo bGlrZWx5KCFvd24gJiYgY3R4dCkpIHsKLQkJaWYgKChwLT5kZXMwID09IDB4ZmZmZmZmZmYpICYm IChwLT5kZXMxID09IDB4ZmZmZmZmZmYpKQorCQlpZiAoKHJkZXMwID09IDB4ZmZmZmZmZmYpICYm IChyZGVzMSA9PSAweGZmZmZmZmZmKSkKIAkJCS8qIENvcnJ1cHRlZCB2YWx1ZSAqLwogCQkJcmV0 ID0gLUVJTlZBTDsKIAkJZWxzZQotLSAKMi4yMC4xCgoKRnJvbSBhYTJiYTJkNGY3YmFkMDc1ZTJj MTY4MDBkMWU4MDhjNWUzZGM0NDc3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBXaWxs ZW0gZGUgQnJ1aWpuIDx3aWxsZW1iQGdvb2dsZS5jb20+CkRhdGU6IEZyaSwgMTUgRmViIDIwMTkg MTI6MTU6NDcgLTA1MDAKU3ViamVjdDogW1BBVENIIDEzLzIxXSBuZXQ6IHZhbGlkYXRlIHVudHJ1 c3RlZCBnc28gcGFja2V0cyB3aXRob3V0IGNzdW0KIG9mZmxvYWQKClsgVXBzdHJlYW0gY29tbWl0 IGQ1YmU3ZjYzMmJhZDBmNDg5ODc5ZWVkMGZmNGI5OWJkN2ZlMGI3NGMgXQoKU3l6a2FsbGVyIGFn YWluIGZvdW5kIGEgcGF0aCB0byBhIGtlcm5lbCBjcmFzaCB0aHJvdWdoIGJhZCBnc28gaW5wdXQu CkJ5IGJ1aWxkaW5nIGFuIGV4Y2Vzc2l2ZWx5IGxhcmdlIHBhY2tldCB0byBjYXVzZSBhbiBza2Ig ZmllbGQgdG8gd3JhcC4KCklmIFZJUlRJT19ORVRfSERSX0ZfTkVFRFNfQ1NVTSB3YXMgc2V0IHRo aXMgd291bGQgaGF2ZSBiZWVuIGRyb3BwZWQgaW4Kc2tiX3BhcnRpYWxfY3N1bV9zZXQuCgpHU08g cGFja2V0cyB0aGF0IGRvIG5vdCBzZXQgY2hlY2tzdW0gb2ZmbG9hZCBhcmUgc3VzcGljaW91cyBh bmQgcmFyZS4KTW9zdCBjYWxsZXJzIG9mIHZpcnRpb19uZXRfaGRyX3RvX3NrYiBhbHJlYWR5IHBh c3MgdGhlbSB0bwpza2JfcHJvYmVfdHJhbnNwb3J0X2hlYWRlci4KCk1vdmUgdGhhdCB0ZXN0IGZv cndhcmQsIGNoYW5nZSBpdCB0byBkZXRlY3QgcGFyc2UgZmFpbHVyZSBhbmQgZHJvcApwYWNrZXRz IG9uIGZhaWx1cmUgYXMgdGhvc2UgY2xlYXJ5IGFyZSBub3Qgb25lIG9mIHRoZSBsZWdpdGltYXRl ClZJUlRJT19ORVRfSERSX0dTTyB0eXBlcy4KCkZpeGVzOiBiZmQ1ZjRhM2Q2MDUgKCJwYWNrZXQ6 IEFkZCBHU08vY3N1bSBvZmZsb2FkIHN1cHBvcnQuIikKRml4ZXM6IGY0Mzc5OGMyNzY4NCAoInR1 bjogQWxsb3cgR1NPIHVzaW5nIHZpcnRpb19uZXRfaGRyIikKUmVwb3J0ZWQtYnk6IHN5emJvdCA8 c3l6a2FsbGVyQGdvb2dsZWdyb3Vwcy5jb20+ClNpZ25lZC1vZmYtYnk6IFdpbGxlbSBkZSBCcnVp am4gPHdpbGxlbWJAZ29vZ2xlLmNvbT4KUmV2aWV3ZWQtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6 ZXRAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIGluY2x1ZGUvbGludXgvc2tidWZmLmggICAgIHwgMiArLQogaW5jbHVk ZS9saW51eC92aXJ0aW9fbmV0LmggfCA5ICsrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxMCBp bnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9z a2J1ZmYuaCBiL2luY2x1ZGUvbGludXgvc2tidWZmLmgKaW5kZXggYTZkODIwYWQxN2YwLi44ZTYz YzE2Njc2NWUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvc2tidWZmLmgKKysrIGIvaW5jbHVk ZS9saW51eC9za2J1ZmYuaApAQCAtMjQxOCw3ICsyNDE4LDcgQEAgc3RhdGljIGlubGluZSB2b2lk IHNrYl9wcm9iZV90cmFuc3BvcnRfaGVhZGVyKHN0cnVjdCBza19idWZmICpza2IsCiAKIAlpZiAo c2tiX2Zsb3dfZGlzc2VjdF9mbG93X2tleXNfYmFzaWMoc2tiLCAma2V5cywgTlVMTCwgMCwgMCwg MCwgMCkpCiAJCXNrYl9zZXRfdHJhbnNwb3J0X2hlYWRlcihza2IsIGtleXMuY29udHJvbC50aG9m Zik7Ci0JZWxzZQorCWVsc2UgaWYgKG9mZnNldF9oaW50ID49IDApCiAJCXNrYl9zZXRfdHJhbnNw b3J0X2hlYWRlcihza2IsIG9mZnNldF9oaW50KTsKIH0KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9s aW51eC92aXJ0aW9fbmV0LmggYi9pbmNsdWRlL2xpbnV4L3ZpcnRpb19uZXQuaAppbmRleCBjYjQ2 MmY5YWI3ZGQuLjcxZjIzOTRhYmJmNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC92aXJ0aW9f bmV0LmgKKysrIGIvaW5jbHVkZS9saW51eC92aXJ0aW9fbmV0LmgKQEAgLTU3LDYgKzU3LDE1IEBA IHN0YXRpYyBpbmxpbmUgaW50IHZpcnRpb19uZXRfaGRyX3RvX3NrYihzdHJ1Y3Qgc2tfYnVmZiAq c2tiLAogCiAJCWlmICghc2tiX3BhcnRpYWxfY3N1bV9zZXQoc2tiLCBzdGFydCwgb2ZmKSkKIAkJ CXJldHVybiAtRUlOVkFMOworCX0gZWxzZSB7CisJCS8qIGdzbyBwYWNrZXRzIHdpdGhvdXQgTkVF RFNfQ1NVTSBkbyBub3Qgc2V0IHRyYW5zcG9ydF9vZmZzZXQuCisJCSAqIHByb2JlIGFuZCBkcm9w IGlmIGRvZXMgbm90IG1hdGNoIG9uZSBvZiB0aGUgYWJvdmUgdHlwZXMuCisJCSAqLworCQlpZiAo Z3NvX3R5cGUpIHsKKwkJCXNrYl9wcm9iZV90cmFuc3BvcnRfaGVhZGVyKHNrYiwgLTEpOworCQkJ aWYgKCFza2JfdHJhbnNwb3J0X2hlYWRlcl93YXNfc2V0KHNrYikpCisJCQkJcmV0dXJuIC1FSU5W QUw7CisJCX0KIAl9CiAKIAlpZiAoaGRyLT5nc29fdHlwZSAhPSBWSVJUSU9fTkVUX0hEUl9HU09f Tk9ORSkgewotLSAKMi4yMC4xCgoKRnJvbSAyMzAxMDg2MDg5N2E2MzYyZDBjNTg5M2Q4ODE2Njdi OGZjY2Q3OWFmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLYWktSGVuZyBGZW5nIDxr YWkuaGVuZy5mZW5nQGNhbm9uaWNhbC5jb20+CkRhdGU6IFR1ZSwgMTkgRmViIDIwMTkgMjM6NDU6 MjkgKzA4MDAKU3ViamVjdDogW1BBVENIIDE0LzIxXSBza3kyOiBJbmNyZWFzZSBEMyBkZWxheSBh Z2FpbgoKWyBVcHN0cmVhbSBjb21taXQgMTc2NWY1ZGNkMDA5NjNlMzNmMWI4YTRlMGYzNDA2MWZi YzBlMmY3ZiBdCgpBbm90aGVyIHBsYXRmb3JtIHJlcXVpcmVzIGV2ZW4gbG9uZ2VyIGRlbGF5IHRv IG1ha2UgdGhlIGRldmljZSB3b3JrCmNvcnJlY3RseSBhZnRlciBTMy4KClNvIGluY3JlYXNlIHRo ZSBkZWxheSB0byAzMDBtcy4KCkJ1Z0xpbms6IGh0dHBzOi8vYnVncy5sYXVuY2hwYWQubmV0L2J1 Z3MvMTc5ODkyMQoKU2lnbmVkLW9mZi1ieTogS2FpLUhlbmcgRmVuZyA8a2FpLmhlbmcuZmVuZ0Bj YW5vbmljYWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9za3kyLmMgfCAyICst CiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL3NreTIuYyBiL2RyaXZlcnMvbmV0L2V0 aGVybmV0L21hcnZlbGwvc2t5Mi5jCmluZGV4IDY5N2Q5YjM3NGY1ZS4uYWUyZjM1MDM5MzQzIDEw MDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL3NreTIuYworKysgYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL3NreTIuYwpAQCAtNTA4Nyw3ICs1MDg3LDcgQEAgc3Rh dGljIGludCBza3kyX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBjb25zdCBzdHJ1Y3QgcGNp X2RldmljZV9pZCAqZW50KQogCUlOSVRfV09SSygmaHctPnJlc3RhcnRfd29yaywgc2t5Ml9yZXN0 YXJ0KTsKIAogCXBjaV9zZXRfZHJ2ZGF0YShwZGV2LCBodyk7Ci0JcGRldi0+ZDNfZGVsYXkgPSAy MDA7CisJcGRldi0+ZDNfZGVsYXkgPSAzMDA7CiAKIAlyZXR1cm4gMDsKIAotLSAKMi4yMC4xCgoK RnJvbSA1ZDUxYTMzNTMyZmFlZTJkZWY0OTlmZjJjNDUxOWNmYjZlMjYxN2UxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYXNvbiBXYW5nIDxqYXNvd2FuZ0ByZWRoYXQuY29tPgpEYXRl OiBUdWUsIDE5IEZlYiAyMDE5IDE0OjUzOjQ0ICswODAwClN1YmplY3Q6IFtQQVRDSCAxNS8yMV0g dmhvc3Q6IGNvcnJlY3RseSBjaGVjayB0aGUgcmV0dXJuIHZhbHVlIG9mCiB0cmFuc2xhdGVfZGVz YygpIGluIGxvZ191c2VkKCkKClsgVXBzdHJlYW0gY29tbWl0IDgxNmRiNzY2MzU2NWNkMjNmNzRl ZDNkNWM5MjQwNTIyZTNmYjBkZGEgXQoKV2hlbiBmYWlsLCB0cmFuc2xhdGVfZGVzYygpIHJldHVy bnMgbmVnYXRpdmUgdmFsdWUsIG90aGVyd2lzZSB0aGUKbnVtYmVyIG9mIGlvdnMuIFNvIHdlIHNo b3VsZCBmYWlsIHdoZW4gdGhlIHJldHVybiB2YWx1ZSBpcyBuZWdhdGl2ZQppbnN0ZWFkIG9mIGEg YmxpbmRseSBjaGVjayBhZ2FpbnN0IHplcm8uCgpEZXRlY3RlZCBieSBDb3Zlcml0eVNjYW4sIENJ RCMgMTQ0MjU5MzogIENvbnRyb2wgZmxvdyBpc3N1ZXMgIChERUFEQ09ERSkKCkZpeGVzOiBjYzVl NzEwNzU5NDcgKCJ2aG9zdDogbG9nIGRpcnR5IHBhZ2UgY29ycmVjdGx5IikKQWNrZWQtYnk6IE1p Y2hhZWwgUy4gVHNpcmtpbiA8bXN0QHJlZGhhdC5jb20+ClJlcG9ydGVkLWJ5OiBTdGVwaGVuIEhl bW1pbmdlciA8c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc+ClNpZ25lZC1vZmYtYnk6IEphc29u IFdhbmcgPGphc293YW5nQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxl ciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL3Zob3N0L3Zob3N0LmMgfCAyICst CiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL3Zob3N0L3Zob3N0LmMgYi9kcml2ZXJzL3Zob3N0L3Zob3N0LmMKaW5kZXgg Y2Y4MmU3MjY2Mzk3Li41ZWFlY2E4MDVjOTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmhvc3Qvdmhv c3QuYworKysgYi9kcml2ZXJzL3Zob3N0L3Zob3N0LmMKQEAgLTE3ODQsNyArMTc4NCw3IEBAIHN0 YXRpYyBpbnQgbG9nX3VzZWQoc3RydWN0IHZob3N0X3ZpcnRxdWV1ZSAqdnEsIHU2NCB1c2VkX29m ZnNldCwgdTY0IGxlbikKIAogCXJldCA9IHRyYW5zbGF0ZV9kZXNjKHZxLCAodWludHB0cl90KXZx LT51c2VkICsgdXNlZF9vZmZzZXQsCiAJCQkgICAgIGxlbiwgaW92LCA2NCwgVkhPU1RfQUNDRVNT X1dPKTsKLQlpZiAocmV0KQorCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJZm9yIChp ID0gMDsgaSA8IHJldDsgaSsrKSB7Ci0tIAoyLjIwLjEKCgpGcm9tIGUyNDUyMGZiZTk1YmVjY2Q0 ZTc4ZTBiYzJjNzhjZmQ0NDkyNmEyYWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJE YXZpZCBTLiBNaWxsZXIiIDxkYXZlbUBkYXZlbWxvZnQubmV0PgpEYXRlOiBTYXQsIDE2IEZlYiAy MDE5IDEzOjQ0OjM5IC0wODAwClN1YmplY3Q6IFtQQVRDSCAxNi8yMV0gbmV0OiBBZGQgaGVhZGVy IGZvciB1c2FnZSBvZiBmbHM2NCgpCgpbIFVwc3RyZWFtIGNvbW1pdCA4NjgxZWYxZjNkMjk1YmQz NjAwMzE1MzI1ZjNiMzM5NmQ3NmQwMmY2IF0KCkZpeGVzOiAzYjg5ZWE5YzU5MDIgKCJuZXQ6IEZp eCBmb3JfZWFjaF9uZXRkZXZfZmVhdHVyZSBvbiBCaWcgZW5kaWFuIikKU3VnZ2VzdGVkLWJ5OiBF cmljIER1bWF6ZXQgPGVyaWMuZHVtYXpldEBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBpbmNsdWRlL2xpbnV4L25ldGRl dl9mZWF0dXJlcy5oIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYg LS1naXQgYS9pbmNsdWRlL2xpbnV4L25ldGRldl9mZWF0dXJlcy5oIGIvaW5jbHVkZS9saW51eC9u ZXRkZXZfZmVhdHVyZXMuaAppbmRleCBmY2UyODU2MmJlZDIuLjRjNzZmZTJjODQ4OCAxMDA2NDQK LS0tIGEvaW5jbHVkZS9saW51eC9uZXRkZXZfZmVhdHVyZXMuaAorKysgYi9pbmNsdWRlL2xpbnV4 L25ldGRldl9mZWF0dXJlcy5oCkBAIC0xMSw2ICsxMSw3IEBACiAjZGVmaW5lIF9MSU5VWF9ORVRE RVZfRkVBVFVSRVNfSAogCiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51 eC9iaXRvcHMuaD4KICNpbmNsdWRlIDxhc20vYnl0ZW9yZGVyLmg+CiAKIHR5cGVkZWYgdTY0IG5l dGRldl9mZWF0dXJlc190OwotLSAKMi4yMC4xCgoKRnJvbSAxY2RjNDViNzQwM2E0ODZmM2NkYjM0 ZmUxN2RjYTZiOTg5MmRkNDRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1 bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRhdGU6IEZyaSwgMTUgRmViIDIwMTkgMTM6MzY6 MjAgLTA4MDAKU3ViamVjdDogW1BBVENIIDE3LzIxXSB0Y3A6IGNsZWFyIGljc2tfYmFja29mZiBp biB0Y3Bfd3JpdGVfcXVldWVfcHVyZ2UoKQoKWyBVcHN0cmVhbSBjb21taXQgMDRjMDMxMTRiZTgy MTk0ZDRhNDg1OGQ0MWRiYThlMjg2YWQxNzg3YyBdCgpzb3VramluIGJhZSByZXBvcnRlZCBhIGNy YXNoIGluIHRjcF92NF9lcnIoKSBoYW5kbGluZwpJQ01QX0RFU1RfVU5SRUFDSCBhZnRlciB0Y3Bf d3JpdGVfcXVldWVfaGVhZChzaykKcmV0dXJuZWQgYSBOVUxMIHBvaW50ZXIuCgpDdXJyZW50IGxv Z2ljIHNob3VsZCBoYXZlIHByZXZlbnRlZCB0aGlzIDoKCiAgaWYgKHNlcSAhPSB0cC0+c25kX3Vu YSAgfHwgIWljc2stPmljc2tfcmV0cmFuc21pdHMgfHwKICAgICAgIWljc2stPmljc2tfYmFja29m ZiB8fCBmYXN0b3BlbikKICAgICAgYnJlYWs7CgpQcm9ibGVtIGlzIHRoZSB3cml0ZSBxdWV1ZSBt aWdodCBoYXZlIGJlZW4gcHVyZ2VkCmFuZCBpY3NrX2JhY2tvZmYgaGFzIG5vdCBiZWVuIGNsZWFy ZWQuCgpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ClJl cG9ydGVkLWJ5OiBzb3VramluIGJhZSA8c291a2ppbi5iYWVAc2Ftc3VuZy5jb20+CkFja2VkLWJ5 OiBOZWFsIENhcmR3ZWxsIDxuY2FyZHdlbGxAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2 aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY0L3RjcC5jIHwg MiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvbmV0L2lwdjQvdGNwLmMgYi9uZXQvaXB2NC90Y3AuYwppbmRleCA0MGNiZTU2MDk2 NjMuLmIxMDI5NzMxMDJiOSAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdGNwLmMKKysrIGIvbmV0L2lw djQvdGNwLmMKQEAgLTI1MzIsNiArMjUzMiw3IEBAIHZvaWQgdGNwX3dyaXRlX3F1ZXVlX3B1cmdl KHN0cnVjdCBzb2NrICpzaykKIAlza19tZW1fcmVjbGFpbShzayk7CiAJdGNwX2NsZWFyX2FsbF9y ZXRyYW5zX2hpbnRzKHRjcF9zayhzaykpOwogCXRjcF9zayhzayktPnBhY2tldHNfb3V0ID0gMDsK KwlpbmV0X2NzayhzayktPmljc2tfYmFja29mZiA9IDA7CiB9CiAKIGludCB0Y3BfZGlzY29ubmVj dChzdHJ1Y3Qgc29jayAqc2ssIGludCBmbGFncykKQEAgLTI1ODAsNyArMjU4MSw2IEBAIGludCB0 Y3BfZGlzY29ubmVjdChzdHJ1Y3Qgc29jayAqc2ssIGludCBmbGFncykKIAl0cC0+d3JpdGVfc2Vx ICs9IHRwLT5tYXhfd2luZG93ICsgMjsKIAlpZiAodHAtPndyaXRlX3NlcSA9PSAwKQogCQl0cC0+ d3JpdGVfc2VxID0gMTsKLQlpY3NrLT5pY3NrX2JhY2tvZmYgPSAwOwogCXRwLT5zbmRfY3duZCA9 IDI7CiAJaWNzay0+aWNza19wcm9iZXNfb3V0ID0gMDsKIAl0cC0+c25kX3NzdGhyZXNoID0gVENQ X0lORklOSVRFX1NTVEhSRVNIOwotLSAKMi4yMC4xCgoKRnJvbSAyYzI2MDNiNmY1NDQ4NGYxYTYw ZjY2Y2ZhYTE2MzlhMmM4ZGJjOGY0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmlj IER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRhdGU6IEZyaSwgMTUgRmViIDIwMTkgMTM6 MzY6MjEgLTA4MDAKU3ViamVjdDogW1BBVENIIDE4LzIxXSB0Y3A6IHRjcF92NF9lcnIoKSBzaG91 bGQgYmUgbW9yZSBjYXJlZnVsCgpbIFVwc3RyZWFtIGNvbW1pdCAyYzRjYzk3MTIzNjRjMDUxYjFk ZTJkMTc1ZDVmYmVhNmJlOTQ4ZWJmIF0KCklDTVAgaGFuZGxlcnMgYXJlIG5vdCB2ZXJ5IG9mdGVu IHN0cmVzc2VkLCB3ZSBzaG91bGQKbWFrZSB0aGVtIG1vcmUgcmVzaWxpZW50IHRvIGJ1Z3MgdGhh dCBtaWdodCBzdXJmYWNlIGluCnRoZSBmdXR1cmUuCgpJZiB0aGVyZSBpcyBubyBwYWNrZXQgaW4g cmV0cmFuc21pdCBxdWV1ZSwgd2Ugc2hvdWxkCmF2b2lkIGEgTlVMTCBkZXJlZi4KClNpZ25lZC1v ZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KUmVwb3J0ZWQtYnk6IHNv dWtqaW4gYmFlIDxzb3VramluLmJhZUBzYW1zdW5nLmNvbT4KQWNrZWQtYnk6IE5lYWwgQ2FyZHdl bGwgPG5jYXJkd2VsbEBnb29nbGUuY29tPgpBY2tlZC1ieTogU29oZWlsIEhhc3NhcyBZZWdhbmVo IDxzb2hlaWxAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZl bUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY0L3RjcF9pcHY0LmMgfCA0ICsrKysKIDEgZmls ZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC90Y3BfaXB2 NC5jIGIvbmV0L2lwdjQvdGNwX2lwdjQuYwppbmRleCBkZTQ3MDM4YWZkZjAuLmRhZWRkNzViYjc0 NSAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdGNwX2lwdjQuYworKysgYi9uZXQvaXB2NC90Y3BfaXB2 NC5jCkBAIC01MzUsNiArNTM1LDEwIEBAIHZvaWQgdGNwX3Y0X2VycihzdHJ1Y3Qgc2tfYnVmZiAq aWNtcF9za2IsIHUzMiBpbmZvKQogCQlpZiAoc29ja19vd25lZF9ieV91c2VyKHNrKSkKIAkJCWJy ZWFrOwogCisJCXNrYiA9IHRjcF9ydHhfcXVldWVfaGVhZChzayk7CisJCWlmIChXQVJOX09OX09O Q0UoIXNrYikpCisJCQlicmVhazsKKwogCQlpY3NrLT5pY3NrX2JhY2tvZmYtLTsKIAkJaWNzay0+ aWNza19ydG8gPSB0cC0+c3J0dF91cyA/IF9fdGNwX3NldF9ydG8odHApIDoKIAkJCQkJICAgICAg IFRDUF9USU1FT1VUX0lOSVQ7Ci0tIAoyLjIwLjEKCgpGcm9tIGVhM2I0ZDhlOWI4NTMwNzgyYTAy ZTJhMzRmNWIxOWMzMjAxY2MzZDMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE11cmFs aSBLYXJpY2hlcmkgPG0ta2FyaWNoZXJpMkB0aS5jb20+CkRhdGU6IE1vbiwgMTggRmViIDIwMTkg MTU6MTA6NTEgLTA1MDAKU3ViamVjdDogW1BBVENIIDE5LzIxXSBuZXQ6IG5ldGNwOiBGaXggZXRo c3MgZHJpdmVyIHByb2JlIGlzc3VlCgpbIFVwc3RyZWFtIGNvbW1pdCAxZjQzZjQwMGEyY2JiMDJm M2QzNGRlOGZlMzAwNzVjMDcwMjU0ODE2IF0KClJlY2VudCBjb21taXQgYmVsb3cgaGFzIGludHJv ZHVjZWQgYSBidWcgaW4gbmV0Y3AgZHJpdmVyIHRoYXQgY2F1c2VzCnRoZSBldGhzcyBkcml2ZXIg cHJvYmUgZmFpbHVyZSBhbmQgdGh1cyBicmVhayB0aGUgbmV0d29ya2luZyBmdW5jdGlvbgpvbiBL MiBTb0NzIHN1Y2ggYXMgSzJISywgSzJMLCBLMkUgZXRjLiBUaGlzIHBhdGNoIGZpeGVzIHRoZSBp c3N1ZSB0bwpyZXN0b3JlIG5ldHdvcmtpbmcgb24gdGhlIGFib3ZlIFNvQ3MuCgpGaXhlczogMjFj MzI4ZGNlY2ZjICgibmV0OiBldGhlcm5ldDogQ29udmVydCB0byB1c2luZyAlcE9GbiBpbnN0ZWFk IG9mIGRldmljZV9ub2RlLm5hbWUiKQpTaWduZWQtb2ZmLWJ5OiBNdXJhbGkgS2FyaWNoZXJpIDxt LWthcmljaGVyaTJAdGkuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvdGkvbmV0Y3BfY29yZS5j IHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvdGkvbmV0Y3BfY29yZS5jIGIvZHJpdmVy cy9uZXQvZXRoZXJuZXQvdGkvbmV0Y3BfY29yZS5jCmluZGV4IDFmNjEyMjY4Yzk5OC4uZDg0N2Y2 NzJhNzA1IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC90aS9uZXRjcF9jb3JlLmMK KysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvdGkvbmV0Y3BfY29yZS5jCkBAIC0yNTksNyArMjU5 LDcgQEAgc3RhdGljIGludCBuZXRjcF9tb2R1bGVfcHJvYmUoc3RydWN0IG5ldGNwX2RldmljZSAq bmV0Y3BfZGV2aWNlLAogCQljb25zdCBjaGFyICpuYW1lOwogCQljaGFyIG5vZGVfbmFtZVszMl07 CiAKLQkJaWYgKG9mX3Byb3BlcnR5X3JlYWRfc3RyaW5nKG5vZGUsICJsYWJlbCIsICZuYW1lKSA8 IDApIHsKKwkJaWYgKG9mX3Byb3BlcnR5X3JlYWRfc3RyaW5nKGNoaWxkLCAibGFiZWwiLCAmbmFt ZSkgPCAwKSB7CiAJCQlzbnByaW50Zihub2RlX25hbWUsIHNpemVvZihub2RlX25hbWUpLCAiJXBP Rm4iLCBjaGlsZCk7CiAJCQluYW1lID0gbm9kZV9uYW1lOwogCQl9Ci0tIAoyLjIwLjEKCgpGcm9t IDhhMjBlMGY2ZDMxMTA5NGQ4Mjc3MjczNzU5OWRiZGRkYmIyYjY4YTcgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IEFsZXhhbmRlciBEdXljayA8YWxleGFuZGVyLmguZHV5Y2tAbGludXgu aW50ZWwuY29tPgpEYXRlOiBGcmksIDE1IEZlYiAyMDE5IDE0OjQ0OjE4IC0wODAwClN1YmplY3Q6 IFtQQVRDSCAyMC8yMV0gbmV0OiBEbyBub3QgYWxsb2NhdGUgcGFnZSBmcmFnbWVudHMgdGhhdCBh cmUgbm90IHNrYgogYWxpZ25lZAoKWyBVcHN0cmVhbSBjb21taXQgM2JlZDNjYzQxNTZlZWRmNjUy YjRkZjcyYmRiMzVkNGYxYTJhNzM5ZCBdCgpUaGlzIHBhdGNoIGFkZHJlc3NlcyB0aGUgZmFjdCB0 aGF0IHRoZXJlIGFyZSBkcml2ZXJzLCBzcGVjaWZpY2FsbHkgdHVuLAp0aGF0IHdpbGwgY2FsbCBp bnRvIHRoZSBuZXR3b3JrIHBhZ2UgZnJhZ21lbnQgYWxsb2NhdG9ycyB3aXRoIGJ1ZmZlciBzaXpl cwp0aGF0IGFyZSBub3QgY2FjaGUgYWxpZ25lZC4gRG9pbmcgdGhpcyBjb3VsZCByZXN1bHQgaW4g ZGF0YSBhbGlnbm1lbnQKYW5kIERNQSBwZXJmb3JtYW5jZSBpc3N1ZXMgYXMgdGhlc2UgZnJhZ21l bnQgcG9vbHMgYXJlIGFsc28gc2hhcmVkIHdpdGggdGhlCnNrYiBhbGxvY2F0b3IgYW5kIGFueSBv dGhlciBkZXZpY2VzIHRoYXQgd2lsbCB1c2UgbmFwaV9hbGxvY19mcmFncyBvcgpuZXRkZXZfYWxs b2NfZnJhZ3MuCgpGaXhlczogZmZkZTczMjhhMzZkICgibmV0OiBTcGxpdCBuZXRkZXZfYWxsb2Nf ZnJhZyBpbnRvIF9fYWxsb2NfcGFnZV9mcmFnIGFuZCBhZGQgX19uYXBpX2FsbG9jX2ZyYWciKQpS ZXBvcnRlZC1ieTogSmFubiBIb3JuIDxqYW5uaEBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBB bGV4YW5kZXIgRHV5Y2sgPGFsZXhhbmRlci5oLmR1eWNrQGxpbnV4LmludGVsLmNvbT4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9j b3JlL3NrYnVmZi5jIHwgNCArKysrCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCgpk aWZmIC0tZ2l0IGEvbmV0L2NvcmUvc2tidWZmLmMgYi9uZXQvY29yZS9za2J1ZmYuYwppbmRleCBl ZWJjMzEwNmQzMGUuLmZjM2Q2NTJhMmRlMCAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvc2tidWZmLmMK KysrIGIvbmV0L2NvcmUvc2tidWZmLmMKQEAgLTM1Myw2ICszNTMsOCBAQCBzdGF0aWMgdm9pZCAq X19uZXRkZXZfYWxsb2NfZnJhZyh1bnNpZ25lZCBpbnQgZnJhZ3N6LCBnZnBfdCBnZnBfbWFzaykK ICAqLwogdm9pZCAqbmV0ZGV2X2FsbG9jX2ZyYWcodW5zaWduZWQgaW50IGZyYWdzeikKIHsKKwlm cmFnc3ogPSBTS0JfREFUQV9BTElHTihmcmFnc3opOworCiAJcmV0dXJuIF9fbmV0ZGV2X2FsbG9j X2ZyYWcoZnJhZ3N6LCBHRlBfQVRPTUlDKTsKIH0KIEVYUE9SVF9TWU1CT0wobmV0ZGV2X2FsbG9j X2ZyYWcpOwpAQCAtMzY2LDYgKzM2OCw4IEBAIHN0YXRpYyB2b2lkICpfX25hcGlfYWxsb2NfZnJh Zyh1bnNpZ25lZCBpbnQgZnJhZ3N6LCBnZnBfdCBnZnBfbWFzaykKIAogdm9pZCAqbmFwaV9hbGxv Y19mcmFnKHVuc2lnbmVkIGludCBmcmFnc3opCiB7CisJZnJhZ3N6ID0gU0tCX0RBVEFfQUxJR04o ZnJhZ3N6KTsKKwogCXJldHVybiBfX25hcGlfYWxsb2NfZnJhZyhmcmFnc3osIEdGUF9BVE9NSUMp OwogfQogRVhQT1JUX1NZTUJPTChuYXBpX2FsbG9jX2ZyYWcpOwotLSAKMi4yMC4xCgoKRnJvbSA5 MGEwOTkzYzNmZDJjY2UxZjcwNTNkOGFhYjk1Yzc3NGE0MjQ2OThkIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBOaWNvbGFzIERpY2h0ZWwgPG5pY29sYXMuZGljaHRlbEA2d2luZC5jb20+ CkRhdGU6IFRodSwgMTcgSmFuIDIwMTkgMTE6Mjc6MjIgKzAxMDAKU3ViamVjdDogW1BBVENIIDIx LzIxXSBhZl9wYWNrZXQ6IGZpeCByYXcgc29ja2V0cyBvdmVyIDZpbjQgdHVubmVsCgpbIFVwc3Ry ZWFtIGNvbW1pdCA4OGE4MTIxZGMxZDNkMGRiZGRkNDExYjc5ZWQyMzZiNmI2ZWE0MTVjIF0KClNp bmNlIGNvbW1pdCBjYjlmMWI3ODM4NTAsIHNjYXB5ICh3aGljaCB1c2VzIGFuIEFGX1BBQ0tFVCBz b2NrZXQgaW4KU09DS19SQVcgbW9kZSkgaXMgdW5hYmxlIHRvIHNlbmQgYSBiYXNpYyBpY21wIHBh Y2tldCBvdmVyIGEgc2l0IHR1bm5lbDoKCkhlcmUgaXMgYSBleGFtcGxlIG9mIHRoZSBzZXR1cDoK JCBpcCBsaW5rIHNldCBudGZwMiB1cAokIGlwIGFkZHIgYWRkIDEwLjEyNS4wLjEvMjQgZGV2IG50 ZnAyCiQgaXAgdHVubmVsIGFkZCB0dW4xIG1vZGUgc2l0IHR0bCA2NCBsb2NhbCAxMC4xMjUuMC4x IHJlbW90ZSAxMC4xMjUuMC4yIGRldiBudGZwMgokIGlwIGFkZHIgYWRkIGZkMDA6Y2FmZTpjYWZl OjoxLzEyOCBkZXYgdHVuMQokIGlwIGxpbmsgc2V0IGRldiB0dW4xIHVwCiQgaXAgcm91dGUgYWRk IGZkMDA6MjAwOjovNjQgZGV2IHR1bjEKJCBzY2FweQo+Pj4gcCA9IFtdCj4+PiBwICs9IElQdjYo c3JjPSdmZDAwOjEwMDo6MScsIGRzdD0nZmQwMDoyMDA6OjEnKS9JQ01QdjZFY2hvUmVxdWVzdCgp Cj4+PiBzZW5kKHAsIGNvdW50PTEsIGludGVyPTAuMSkKPj4+IHF1aXQoKQokIGlwIC1zIGxpbmsg bHMgZGV2IHR1bjEgfCBncmVwIC1BMSAiVFguKmVycm9ycyIKICAgIFRYOiBieXRlcyAgcGFja2V0 cyAgZXJyb3JzICBkcm9wcGVkIGNhcnJpZXIgY29sbHNucwogICAgMCAgICAgICAgICAwICAgICAg ICAxICAgICAgIDAgICAgICAgMCAgICAgICAwCgpUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZSBuZXR3 b3JrIG9mZnNldCBpcyBzZXQgdG8gdGhlIGhhcmRfaGVhZGVyX2xlbiBvZiB0aGUKb3V0cHV0IGRl dmljZSAodHVuMSwgaWUgMTQgKyAyMCkgYW5kIGluIG91ciBjYXNlLCBiZWNhdXNlIHRoZSBwYWNr ZXQgaXMKc21hbGwgKDQ4IGJ5dGVzKSB0aGUgcHNrYl9pbmV0X21heV9wdWxsKCkgZmFpbHMgKGl0 IHRyaWVzIHRvIHB1bGwgNDAgYnl0ZXMKKGlwdjYgaGVhZGVyKSBzdGFydGluZyBmcm9tIHRoZSBu ZXR3b3JrIG9mZnNldCkuCgpUaGlzIHByb2JsZW0gaXMgbW9yZSBnZW5lcmFsbHkgcmVsYXRlZCB0 byBkZXZpY2Ugd2l0aCB2YXJpYWJsZSBoYXJkIGhlYWRlcgpsZW5ndGguIFRvIGF2b2lkIGEgdG9v IGludHJ1c2l2ZSBwYXRjaCBpbiB0aGUgY3VycmVudCByZWxlYXNlLCBhICh1Z2x5KQp3b3JrYXJv dW5kIGlzIHByb3Bvc2VkIGluIHRoaXMgcGF0Y2guIEl0IGhhcyB0byBiZSBjbGVhbmVkIHVwIGlu IG5ldC1uZXh0LgoKTGluazogaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tl cm5lbC9naXQvdG9ydmFsZHMvbGludXguZ2l0L2NvbW1pdC8/aWQ9OTkzNjc1YTMxMDBiMQpMaW5r OiBodHRwOi8vcGF0Y2h3b3JrLm96bGFicy5vcmcvcGF0Y2gvMTAyNDQ4OS8KRml4ZXM6IGNiOWYx Yjc4Mzg1MCAoImlwOiB2YWxpZGF0ZSBoZWFkZXIgbGVuZ3RoIG9uIHZpcnR1YWwgZGV2aWNlIHht aXQiKQpDQzogV2lsbGVtIGRlIEJydWlqbiA8d2lsbGVtYkBnb29nbGUuY29tPgpDQzogTWF4aW0g TWlraXR5YW5za2l5IDxtYXhpbW1pQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogTmljb2xh cyBEaWNodGVsIDxuaWNvbGFzLmRpY2h0ZWxANndpbmQuY29tPgpBY2tlZC1ieTogV2lsbGVtIGRl IEJydWlqbiA8d2lsbGVtYkBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxs ZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3BhY2tldC9hZl9wYWNrZXQuYyB8IDMg KystCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvbmV0L3BhY2tldC9hZl9wYWNrZXQuYyBiL25ldC9wYWNrZXQvYWZfcGFja2V0LmMK aW5kZXggZDA5NDUyNTNmNDNiLi4zYjFhNzg5MDZiYzAgMTAwNjQ0Ci0tLSBhL25ldC9wYWNrZXQv YWZfcGFja2V0LmMKKysrIGIvbmV0L3BhY2tldC9hZl9wYWNrZXQuYwpAQCAtMjg4Nyw3ICsyODg3 LDggQEAgc3RhdGljIGludCBwYWNrZXRfc25kKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBt c2doZHIgKm1zZywgc2l6ZV90IGxlbikKIAkJCWdvdG8gb3V0X2ZyZWU7CiAJfSBlbHNlIGlmIChy ZXNlcnZlKSB7CiAJCXNrYl9yZXNlcnZlKHNrYiwgLXJlc2VydmUpOwotCQlpZiAobGVuIDwgcmVz ZXJ2ZSkKKwkJaWYgKGxlbiA8IHJlc2VydmUgKyBzaXplb2Yoc3RydWN0IGlwdjZoZHIpICYmCisJ CSAgICBkZXYtPm1pbl9oZWFkZXJfbGVuICE9IGRldi0+aGFyZF9oZWFkZXJfbGVuKQogCQkJc2ti X3Jlc2V0X25ldHdvcmtfaGVhZGVyKHNrYik7CiAJfQogCi0tIAoyLjIwLjEKCg== ----Next_Part(Wed_Feb_20_12_42_52_2019_421)----