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=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no 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 4F20AC432C0 for ; Mon, 25 Nov 2019 05:54:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id E2D7420748 for ; Mon, 25 Nov 2019 05:54:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725747AbfKYFyy (ORCPT ); Mon, 25 Nov 2019 00:54:54 -0500 Received: from shards.monkeyblade.net ([23.128.96.9]:43782 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725497AbfKYFyx (ORCPT ); Mon, 25 Nov 2019 00:54:53 -0500 Received: from localhost (c-73-35-209-67.hsd1.wa.comcast.net [73.35.209.67]) (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 5474914C7306B for ; Sun, 24 Nov 2019 21:54:52 -0800 (PST) Date: Sun, 24 Nov 2019 21:54:49 -0800 (PST) Message-Id: <20191124.215449.619700122316097004.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(Sun_Nov_24_21_54_49_2019_313)--" 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]); Sun, 24 Nov 2019 21:54:52 -0800 (PST) Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org ----Next_Part(Sun_Nov_24_21_54_49_2019_313)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for v4.19 and v5.3 -stable, respectively. Thank you! ----Next_Part(Sun_Nov_24_21_54_49_2019_313)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_419.mbox" RnJvbSAwNDJhZDVhYjBiMzAwMWZhNTBmOGEwZTY0YmI3OWM0MmM4NTQzNGMzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRyIE1hY2hhdGEgPHBldHJtQG1lbGxhbm94LmNvbT4KRGF0 ZTogTW9uLCAxOCBOb3YgMjAxOSAwOToxODo0MiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMTBd IG1seHN3OiBzcGVjdHJ1bV9yb3V0ZXI6IEZpeCBkZXRlcm1pbmluZyB1bmRlcmxheSBmb3IgYQog R1JFIHR1bm5lbAoKWyBVcHN0cmVhbSBjb21taXQgMWZjMTY1Nzc3NWRjMWIxOWU5YWMxZDQ2YjQw NTRlZDhhZTVkOTlhYiBdCgpUaGUgaGVscGVyIG1seHN3X3NwX2lwaXBfZGV2X3VsX3RiX2lkKCkg ZGV0ZXJtaW5lcyB0aGUgdW5kZXJsYXkgVlJGIG9mIGEKR1JFIHR1bm5lbC4gRm9yIGEgdHVubmVs IHdpdGhvdXQgYSBib3VuZCBkZXZpY2UsIGl0IHVzZXMgdGhlIHNhbWUgVlJGIHRoYXQKdGhlIHR1 bm5lbCBpcyBpbi4gSG93ZXZlciBpbiBMaW51eCwgYSBHUkUgdHVubmVsIHdpdGhvdXQgYSBib3Vu ZCBkZXZpY2UKdXNlcyB0aGUgbWFpbiBWUkYgYXMgdGhlIHVuZGVybGF5LiBGaXggdGhlIGZ1bmN0 aW9uIGFjY29yZGluZ2x5LgoKbWx4c3cgZnVydGhlciBhc3N1bWVkIHRoYXQgbW92aW5nIGEgdHVu bmVsIHRvIGEgZGlmZmVyZW50IFZSRiBjb3VsZCBjYXVzZQpjb25mbGljdCBpbiBsb2NhbCB0dW5u ZWwgZW5kcG9pbnQgYWRkcmVzcywgd2hpY2ggY2Fubm90IGJlIG9mZmxvYWRlZC4KSG93ZXZlciwg dGhlIG9ubHkgd2F5IHRoYXQgYW4gdW5kZXJsYXkgY291bGQgYmUgY2hhbmdlZCBieSBtb3Zpbmcg dGhlCnR1bm5lbCBkZXZpY2UgaXRzZWxmIGlzIGlmIHRoZSB0dW5uZWwgZGV2aWNlIGRvZXMgbm90 IGhhdmUgYSBib3VuZCBkZXZpY2UuCkJ1dCBpbiB0aGF0IGNhc2UgdGhlIHVuZGVybGF5IGlzIGFs d2F5cyB0aGUgbWFpbiBWUkYsIHNvIHRoZXJlIGlzIG5vCm9wcG9ydHVuaXR5IHRvIGludHJvZHVj ZSBhIGNvbmZsaWN0IGJ5IG1vdmluZyBzdWNoIGRldmljZS4gVGh1cyB0aGlzIGNoZWNrCmNvbnN0 aXR1dGVzIGEgZGVhZCBjb2RlLCBhbmQgY2FuIGJlIHJlbW92ZWQsIHdoaWNoIGRvLgoKRml4ZXM6 IDZkZGI3NDI2YTdkNCAoIm1seHN3OiBzcGVjdHJ1bV9yb3V0ZXI6IEludHJvZHVjZSBsb29wYmFj ayBSSUZzIikKU2lnbmVkLW9mZi1ieTogUGV0ciBNYWNoYXRhIDxwZXRybUBtZWxsYW5veC5jb20+ ClNpZ25lZC1vZmYtYnk6IElkbyBTY2hpbW1lbCA8aWRvc2NoQG1lbGxhbm94LmNvbT4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIC4uLi9l dGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bV9yb3V0ZXIuYyB8IDE5ICstLS0tLS0tLS0t LS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMTggZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3Ry dW1fcm91dGVyLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1 bV9yb3V0ZXIuYwppbmRleCAyYWI5Y2YyNWEwOGEuLjNmNTRiM2NhMzhiYSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW1fcm91dGVyLmMKKysr IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW1fcm91dGVyLmMK QEAgLTk3MCw3ICs5NzAsNyBAQCB1MzIgbWx4c3dfc3BfaXBpcF9kZXZfdWxfdGJfaWQoY29uc3Qg c3RydWN0IG5ldF9kZXZpY2UgKm9sX2RldikKIAlpZiAoZCkKIAkJcmV0dXJuIGwzbWRldl9maWJf dGFibGUoZCkgPyA6IFJUX1RBQkxFX01BSU47CiAJZWxzZQotCQlyZXR1cm4gbDNtZGV2X2ZpYl90 YWJsZShvbF9kZXYpID8gOiBSVF9UQUJMRV9NQUlOOworCQlyZXR1cm4gUlRfVEFCTEVfTUFJTjsK IH0KIAogc3RhdGljIHN0cnVjdCBtbHhzd19zcF9yaWYgKgpAQCAtMTUzMiwyNyArMTUzMiwxMCBA QCBzdGF0aWMgaW50IG1seHN3X3NwX25ldGRldmljZV9pcGlwX29sX3ZyZl9ldmVudChzdHJ1Y3Qg bWx4c3dfc3AgKm1seHN3X3NwLAogewogCXN0cnVjdCBtbHhzd19zcF9pcGlwX2VudHJ5ICppcGlw X2VudHJ5ID0KIAkJbWx4c3dfc3BfaXBpcF9lbnRyeV9maW5kX2J5X29sX2RldihtbHhzd19zcCwg b2xfZGV2KTsKLQllbnVtIG1seHN3X3NwX2wzcHJvdG8gdWxfcHJvdG87Ci0JdW5pb24gbWx4c3df c3BfbDNhZGRyIHNhZGRyOwotCXUzMiB1bF90Yl9pZDsKIAogCWlmICghaXBpcF9lbnRyeSkKIAkJ cmV0dXJuIDA7CiAKLQkvKiBGb3IgZmxhdCBjb25maWd1cmF0aW9uIGNhc2VzLCBtb3Zpbmcgb3Zl cmxheSB0byBhIGRpZmZlcmVudCBWUkYgbWlnaHQKLQkgKiBjYXVzZSBsb2NhbCBhZGRyZXNzIGNv bmZsaWN0LCBhbmQgdGhlIGNvbmZsaWN0aW5nIHR1bm5lbHMgbmVlZCB0byBiZQotCSAqIGRlbW90 ZWQuCi0JICovCi0JdWxfdGJfaWQgPSBtbHhzd19zcF9pcGlwX2Rldl91bF90Yl9pZChvbF9kZXYp OwotCXVsX3Byb3RvID0gbWx4c3dfc3AtPnJvdXRlci0+aXBpcF9vcHNfYXJyW2lwaXBfZW50cnkt PmlwaXB0XS0+dWxfcHJvdG87Ci0Jc2FkZHIgPSBtbHhzd19zcF9pcGlwX25ldGRldl9zYWRkcih1 bF9wcm90bywgb2xfZGV2KTsKLQlpZiAobWx4c3dfc3BfaXBpcF9kZW1vdGVfdHVubmVsX2J5X3Nh ZGRyKG1seHN3X3NwLCB1bF9wcm90bywKLQkJCQkJCSBzYWRkciwgdWxfdGJfaWQsCi0JCQkJCQkg aXBpcF9lbnRyeSkpIHsKLQkJbWx4c3dfc3BfaXBpcF9lbnRyeV9kZW1vdGVfdHVubmVsKG1seHN3 X3NwLCBpcGlwX2VudHJ5KTsKLQkJcmV0dXJuIDA7Ci0JfQotCiAJcmV0dXJuIF9fbWx4c3dfc3Bf aXBpcF9lbnRyeV91cGRhdGVfdHVubmVsKG1seHN3X3NwLCBpcGlwX2VudHJ5LAogCQkJCQkJICAg dHJ1ZSwgZmFsc2UsIGZhbHNlLCBleHRhY2spOwogfQotLSAKMi4yMC4xCgoKRnJvbSAyMGI3Mzcw ZjRmNGMxNTYwMTNhODliZjMxZTFhZWY5NWI0YjkxNDQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBMdWlnaSBSaXp6byA8bHJpenpvQGdvb2dsZS5jb20+CkRhdGU6IEZyaSwgMTUgTm92 IDIwMTkgMTI6MTI6MjUgLTA4MDAKU3ViamVjdDogW1BBVENIIDAyLzEwXSBuZXQvbWx4NF9lbjog Zml4IG1seDQgZXRodG9vbCAtTiBpbnNlcnRpb24KClsgVXBzdHJlYW0gY29tbWl0IDM0ZTU5ODM2 NTY1ZTM2ZmFkZTE0NjRlMDU0YTM1NTFjMWEwMzY0YmUgXQoKZXRodG9vbCBleHBlY3RzIEVUSFRP T0xfR1JYQ0xTUkxBTEwgdG8gc2V0IGV0aHRvb2xfcnhuZmMtPmRhdGEgd2l0aCB0aGUKdG90YWwg bnVtYmVyIG9mIGVudHJpZXMgaW4gdGhlIHJ4IGNsYXNzaWZpZXIgdGFibGUuICBTdXJwcmlzaW5n bHksIG1seDQKaXMgbWlzc2luZyB0aGlzIHBhcnQgKGluIHByaW5jaXBsZSBldGh0b29sIGNvdWxk IHN0aWxsIG1vdmUgZm9yd2FyZCBhbmQKdHJ5IHRoZSBpbnNlcnQpLgoKVGVzdGVkOiBjb21waWxl ZCBhbmQgcnVuIGNvbW1hbmQ6CglwaGgxMzp+IyBldGh0b29sIC1OIGV0aDEgZmxvdy10eXBlIHVk cDQgIHF1ZXVlIDQKCUFkZGVkIHJ1bGUgd2l0aCBJRCAyNTUKClNpZ25lZC1vZmYtYnk6IEx1aWdp IFJpenpvIDxscml6em9AZ29vZ2xlLmNvbT4KUmV2aWV3ZWQtYnk6IFRhcmlxIFRvdWthbiA8dGFy aXF0QG1lbGxhbm94LmNvbT4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0 L2VuX2V0aHRvb2wuYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9lbl9ldGh0b29sLmMg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2VuX2V0aHRvb2wuYwppbmRleCA5 NGM1OTkzOWE4Y2YuLjk0OWVjNzBiNmMxMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJu ZXQvbWVsbGFub3gvbWx4NC9lbl9ldGh0b29sLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4NC9lbl9ldGh0b29sLmMKQEAgLTE3NDUsNiArMTc0NSw3IEBAIHN0YXRpYyBp bnQgbWx4NF9lbl9nZXRfcnhuZmMoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IGV0aHRv b2xfcnhuZmMgKmNtZCwKIAkJZXJyID0gbWx4NF9lbl9nZXRfZmxvdyhkZXYsIGNtZCwgY21kLT5m cy5sb2NhdGlvbik7CiAJCWJyZWFrOwogCWNhc2UgRVRIVE9PTF9HUlhDTFNSTEFMTDoKKwkJY21k LT5kYXRhID0gTUFYX05VTV9PRl9GU19SVUxFUzsKIAkJd2hpbGUgKCghZXJyIHx8IGVyciA9PSAt RU5PRU5UKSAmJiBwcmlvcml0eSA8IGNtZC0+cnVsZV9jbnQpIHsKIAkJCWVyciA9IG1seDRfZW5f Z2V0X2Zsb3coZGV2LCBjbWQsIGkpOwogCQkJaWYgKCFlcnIpCi0tIAoyLjIwLjEKCgpGcm9tIDgx OTE2ZGRhZmZhMWU2NWIxM2YzNzAwYmEwZmQzODNkNGRhZWQzNTUgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IFRhcmlxIFRvdWthbiA8dGFyaXF0QG1lbGxhbm94LmNvbT4KRGF0ZTogTW9u LCAxOCBOb3YgMjAxOSAxMTo0MTowNCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDMvMTBdIG5ldC9t bHg0X2VuOiBGaXggd3JvbmcgbGltaXRhdGlvbiBmb3IgbnVtYmVyIG9mIFRYCiByaW5ncwoKWyBV cHN0cmVhbSBjb21taXQgMjc0NGJmNDI2ODBmNjRlYmYyZWU4YTAwMzU0ODk3ODU3YzA3MzMzMSBd CgpYRFBfVFggcmluZ3Mgc2hvdWxkIG5vdCBiZSBsaW1pdGVkIGJ5IG1heF9udW1fdHhfcmluZ3Nf cF91cC4KVG8gbWFrZSBzdXJlIHRvdGFsIG51bWJlciBvZiBUWCByaW5ncyBuZXZlciBleGNlZWQg TUFYX1RYX1JJTkdTLAphZGQgc2ltaWxhciBjaGVjayBpbiBtbHg0X2VuX2FsbG9jX3R4X3F1ZXVl X3Blcl90YygpLCB3aGVyZQphIG5ldyB2YWx1ZSBpcyBhc3NpZ25lZCBmb3IgbnVtX3VwLgoKRml4 ZXM6IDdlMWRjNWU5MjZkNSAoIm5ldC9tbHg0X2VuOiBMaW1pdCB0aGUgbnVtYmVyIG9mIFRYIHJp bmdzIikKU2lnbmVkLW9mZi1ieTogVGFyaXEgVG91a2FuIDx0YXJpcXRAbWVsbGFub3guY29tPgpT aWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQog ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9lbl9ldGh0b29sLmMgfCA4ICsrKyst LS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2VuX25ldGRldi5jICB8IDkg KysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9lbl9l dGh0b29sLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2VuX2V0aHRvb2wu YwppbmRleCA5NDllYzcwYjZjMTMuLmU2MzlhMzY1YWMyZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9lbl9ldGh0b29sLmMKKysrIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9lbl9ldGh0b29sLmMKQEAgLTE4MTIsNiArMTgxMiw3IEBA IHN0YXRpYyBpbnQgbWx4NF9lbl9zZXRfY2hhbm5lbHMoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwK IAlzdHJ1Y3QgbWx4NF9lbl9kZXYgKm1kZXYgPSBwcml2LT5tZGV2OwogCXN0cnVjdCBtbHg0X2Vu X3BvcnRfcHJvZmlsZSBuZXdfcHJvZjsKIAlzdHJ1Y3QgbWx4NF9lbl9wcml2ICp0bXA7CisJaW50 IHRvdGFsX3R4X2NvdW50OwogCWludCBwb3J0X3VwID0gMDsKIAlpbnQgeGRwX2NvdW50OwogCWlu dCBlcnIgPSAwOwpAQCAtMTgyNiwxMyArMTgyNywxMiBAQCBzdGF0aWMgaW50IG1seDRfZW5fc2V0 X2NoYW5uZWxzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAKIAltdXRleF9sb2NrKCZtZGV2LT5z dGF0ZV9sb2NrKTsKIAl4ZHBfY291bnQgPSBwcml2LT50eF9yaW5nX251bVtUWF9YRFBdID8gY2hh bm5lbC0+cnhfY291bnQgOiAwOwotCWlmIChjaGFubmVsLT50eF9jb3VudCAqIHByaXYtPnByb2Yt Pm51bV91cCArIHhkcF9jb3VudCA+Ci0JICAgIHByaXYtPm1kZXYtPnByb2ZpbGUubWF4X251bV90 eF9yaW5nc19wX3VwICogcHJpdi0+cHJvZi0+bnVtX3VwKSB7CisJdG90YWxfdHhfY291bnQgPSBj aGFubmVsLT50eF9jb3VudCAqIHByaXYtPnByb2YtPm51bV91cCArIHhkcF9jb3VudDsKKwlpZiAo dG90YWxfdHhfY291bnQgPiBNQVhfVFhfUklOR1MpIHsKIAkJZXJyID0gLUVJTlZBTDsKIAkJZW5f ZXJyKHByaXYsCiAJCSAgICAgICAiVG90YWwgbnVtYmVyIG9mIFRYIGFuZCBYRFAgcmluZ3MgKCVk KSBleGNlZWRzIHRoZSBtYXhpbXVtIHN1cHBvcnRlZCAoJWQpXG4iLAotCQkgICAgICAgY2hhbm5l bC0+dHhfY291bnQgKiBwcml2LT5wcm9mLT5udW1fdXAgICsgeGRwX2NvdW50LAotCQkgICAgICAg TUFYX1RYX1JJTkdTKTsKKwkJICAgICAgIHRvdGFsX3R4X2NvdW50LCBNQVhfVFhfUklOR1MpOwog CQlnb3RvIG91dDsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxh bm94L21seDQvZW5fbmV0ZGV2LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0 L2VuX25ldGRldi5jCmluZGV4IDBkN2ZkM2YwNDNjZi4uNTg2OGVjMTFkYjFhIDEwMDY0NAotLS0g YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2VuX25ldGRldi5jCisrKyBiL2Ry aXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDQvZW5fbmV0ZGV2LmMKQEAgLTkyLDYgKzky LDcgQEAgaW50IG1seDRfZW5fYWxsb2NfdHhfcXVldWVfcGVyX3RjKHN0cnVjdCBuZXRfZGV2aWNl ICpkZXYsIHU4IHRjKQogCXN0cnVjdCBtbHg0X2VuX2RldiAqbWRldiA9IHByaXYtPm1kZXY7CiAJ c3RydWN0IG1seDRfZW5fcG9ydF9wcm9maWxlIG5ld19wcm9mOwogCXN0cnVjdCBtbHg0X2VuX3By aXYgKnRtcDsKKwlpbnQgdG90YWxfY291bnQ7CiAJaW50IHBvcnRfdXAgPSAwOwogCWludCBlcnIg PSAwOwogCkBAIC0xMDUsNiArMTA2LDE0IEBAIGludCBtbHg0X2VuX2FsbG9jX3R4X3F1ZXVlX3Bl cl90YyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1OCB0YykKIAkJCQkgICAgICBNTFg0X0VOX05V TV9VUF9ISUdIOwogCW5ld19wcm9mLnR4X3JpbmdfbnVtW1RYXSA9IG5ld19wcm9mLm51bV90eF9y aW5nc19wX3VwICoKIAkJCQkgICBuZXdfcHJvZi5udW1fdXA7CisJdG90YWxfY291bnQgPSBuZXdf cHJvZi50eF9yaW5nX251bVtUWF0gKyBuZXdfcHJvZi50eF9yaW5nX251bVtUWF9YRFBdOworCWlm ICh0b3RhbF9jb3VudCA+IE1BWF9UWF9SSU5HUykgeworCQllcnIgPSAtRUlOVkFMOworCQllbl9l cnIocHJpdiwKKwkJICAgICAgICJUb3RhbCBudW1iZXIgb2YgVFggYW5kIFhEUCByaW5ncyAoJWQp IGV4Y2VlZHMgdGhlIG1heGltdW0gc3VwcG9ydGVkICglZClcbiIsCisJCSAgICAgICB0b3RhbF9j b3VudCwgTUFYX1RYX1JJTkdTKTsKKwkJZ290byBvdXQ7CisJfQogCWVyciA9IG1seDRfZW5fdHJ5 X2FsbG9jX3Jlc291cmNlcyhwcml2LCB0bXAsICZuZXdfcHJvZiwgdHJ1ZSk7CiAJaWYgKGVycikK IAkJZ290byBvdXQ7Ci0tIAoyLjIwLjEKCgpGcm9tIDlmNThiYTQ5ZTZlOTIwZTllZTFhYzhjNGYz ODhkYmExY2IxNmJjMzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IERhbiBDYXJwZW50 ZXIgPGRhbi5jYXJwZW50ZXJAb3JhY2xlLmNvbT4KRGF0ZTogV2VkLCAyMCBOb3YgMjAxOSAxNToz NDozOCArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMDQvMTBdIG5ldDogcnRuZXRsaW5rOiBwcmV2ZW50 IHVuZGVyZmxvd3MgaW4gZG9fc2V0dmZpbmZvKCkKClsgVXBzdHJlYW0gY29tbWl0IGQ2NThjOGY1 NmVjN2IzZGU4MDUxYTI0YWZiMjVkYTliYTNjMzg4YzUgXQoKVGhlICJpdm0tPnZmIiB2YXJpYWJs ZSBpcyBhIHUzMiwgYnV0IHRoZSBwcm9ibGVtIGlzIHRoYXQgYSBudW1iZXIgb2YKZHJpdmVycyBj YXN0IGl0IHRvIGFuIGludCBhbmQgdGhlbiBmb3JnZXQgdG8gY2hlY2sgZm9yIG5lZ2F0aXZlcy4g IEFuCmV4YW1wbGUgb2YgdGhpcyBpcyBpbiB0aGUgY3hnYjQgZHJpdmVyLgoKZHJpdmVycy9uZXQv ZXRoZXJuZXQvY2hlbHNpby9jeGdiNC9jeGdiNF9tYWluLmMKICAyODkwICBzdGF0aWMgaW50IGN4 Z2I0X21nbXRfZ2V0X3ZmX2NvbmZpZyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAogIDI4OTEgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB2Ziwgc3RydWN0IGlmbGFfdmZf aW5mbyAqaXZpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5e Xl5eXgogIDI4OTIgIHsKICAyODkzICAgICAgICAgIHN0cnVjdCBwb3J0X2luZm8gKnBpID0gbmV0 ZGV2X3ByaXYoZGV2KTsKICAyODk0ICAgICAgICAgIHN0cnVjdCBhZGFwdGVyICphZGFwID0gcGkt PmFkYXB0ZXI7CiAgMjg5NSAgICAgICAgICBzdHJ1Y3QgdmZfaW5mbyAqdmZpbmZvOwogIDI4OTYK ICAyODk3ICAgICAgICAgIGlmICh2ZiA+PSBhZGFwLT5udW1fdmZzKQogICAgICAgICAgICAgICAg ICAgIF5eXl5eXl5eXl5eXl5eXl5eXl4KICAyODk4ICAgICAgICAgICAgICAgICAgcmV0dXJuIC1F SU5WQUw7CiAgMjg5OSAgICAgICAgICB2ZmluZm8gPSAmYWRhcC0+dmZpbmZvW3ZmXTsKICAgICAg ICAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCgpUaGVyZSBhcmUgNDggZnVuY3Rp b25zIGFmZmVjdGVkLgoKZHJpdmVycy9uZXQvZXRoZXJuZXQvaGlzaWxpY29uL2huczMvaG5zM3Bm L2hjbGdlX21haW4uYzo4NDM1IGhjbGdlX3NldF92Zl92bGFuX2ZpbHRlcigpIHdhcm46IGNhbiAn dmZpZCcgdW5kZXJmbG93ICdzMzJtaW4tMjE0NzQ4MzY0NicKZHJpdmVycy9uZXQvZXRoZXJuZXQv ZnJlZXNjYWxlL2VuZXRjL2VuZXRjX3BmLmM6Mzc3IGVuZXRjX3BmX3NldF92Zl9tYWMoKSB3YXJu OiBjYW4gJ3ZmJyB1bmRlcmZsb3cgJ3MzMm1pbi0yMTQ3NDgzNjQ2Jwpkcml2ZXJzL25ldC9ldGhl cm5ldC9jaGVsc2lvL2N4Z2I0L2N4Z2I0X21haW4uYzoyODk5IGN4Z2I0X21nbXRfZ2V0X3ZmX2Nv bmZpZygpIHdhcm46IGNhbiAndmYnIHVuZGVyZmxvdyAnczMybWluLTI1NCcKZHJpdmVycy9uZXQv ZXRoZXJuZXQvY2hlbHNpby9jeGdiNC9jeGdiNF9tYWluLmM6Mjk2MCBjeGdiNF9tZ210X3NldF92 Zl9yYXRlKCkgd2FybjogY2FuICd2ZicgdW5kZXJmbG93ICdzMzJtaW4tMjU0Jwpkcml2ZXJzL25l dC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2I0L2N4Z2I0X21haW4uYzozMDE5IGN4Z2I0X21nbXRfc2V0 X3ZmX3JhdGUoKSB3YXJuOiBjYW4gJ3ZmJyB1bmRlcmZsb3cgJ3MzMm1pbi0yNTQnCmRyaXZlcnMv bmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjQvY3hnYjRfbWFpbi5jOjMwMzggY3hnYjRfbWdtdF9z ZXRfdmZfdmxhbigpIHdhcm46IGNhbiAndmYnIHVuZGVyZmxvdyAnczMybWluLTI1NCcKZHJpdmVy cy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiNC9jeGdiNF9tYWluLmM6MzA4NiBjeGdiNF9tZ210 X3NldF92Zl9saW5rX3N0YXRlKCkgd2FybjogY2FuICd2ZicgdW5kZXJmbG93ICdzMzJtaW4tMjU0 Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IvY3hnYjIuYzo3OTEgZ2V0X2VlcHJv bSgpIHdhcm46IGNhbiAnaScgdW5kZXJmbG93ICdzMzJtaW4tKC00KSwwLDQtczMybWF4Jwpkcml2 ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfc3Jpb3YuYzo4MiBibnh0X3NldF92 Zl9zcG9vZmNoaygpIHdhcm46IGNhbiAndmZfaWQnIHVuZGVyZmxvdyAnczMybWluLTY1NTM0Jwpk cml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfc3Jpb3YuYzoxNjQgYm54dF9z ZXRfdmZfdHJ1c3QoKSB3YXJuOiBjYW4gJ3ZmX2lkJyB1bmRlcmZsb3cgJ3MzMm1pbi02NTUzNCcK ZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0X3NyaW92LmM6MTg2IGJueHRf Z2V0X3ZmX2NvbmZpZygpIHdhcm46IGNhbiAndmZfaWQnIHVuZGVyZmxvdyAnczMybWluLTY1NTM0 Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfc3Jpb3YuYzoyMjggYm54 dF9zZXRfdmZfbWFjKCkgd2FybjogY2FuICd2Zl9pZCcgdW5kZXJmbG93ICdzMzJtaW4tNjU1MzQn CmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dF9zcmlvdi5jOjI2NCBibnh0 X3NldF92Zl92bGFuKCkgd2FybjogY2FuICd2Zl9pZCcgdW5kZXJmbG93ICdzMzJtaW4tNjU1MzQn CmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dF9zcmlvdi5jOjI5MyBibnh0 X3NldF92Zl9idygpIHdhcm46IGNhbiAndmZfaWQnIHVuZGVyZmxvdyAnczMybWluLTY1NTM0Jwpk cml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfc3Jpb3YuYzozMzMgYm54dF9z ZXRfdmZfbGlua19zdGF0ZSgpIHdhcm46IGNhbiAndmZfaWQnIHVuZGVyZmxvdyAnczMybWluLTY1 NTM0Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9zcmlvdi5jOjI1 OTUgYm54MnhfdmZfb3BfcHJlcCgpIHdhcm46IGNhbiAndmZpZHgnIHVuZGVyZmxvdyAnczMybWlu LTYzJwpkcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9zcmlvdi5jOjI1 OTUgYm54MnhfdmZfb3BfcHJlcCgpIHdhcm46IGNhbiAndmZpZHgnIHVuZGVyZmxvdyAnczMybWlu LTYzJwpkcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF92ZnBmLmM6MjI4 MSBibngyeF9wb3N0X3ZmX2J1bGxldGluKCkgd2FybjogY2FuICd2ZicgdW5kZXJmbG93ICdzMzJt aW4tNjMnCmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X3ZmcGYuYzoy Mjg1IGJueDJ4X3Bvc3RfdmZfYnVsbGV0aW4oKSB3YXJuOiBjYW4gJ3ZmJyB1bmRlcmZsb3cgJ3Mz Mm1pbi02MycKZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfdmZwZi5j OjIyODYgYm54MnhfcG9zdF92Zl9idWxsZXRpbigpIHdhcm46IGNhbiAndmYnIHVuZGVyZmxvdyAn czMybWluLTYzJwpkcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF92ZnBm LmM6MjI5MiBibngyeF9wb3N0X3ZmX2J1bGxldGluKCkgd2FybjogY2FuICd2ZicgdW5kZXJmbG93 ICdzMzJtaW4tNjMnCmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X3Zm cGYuYzoyMjk3IGJueDJ4X3Bvc3RfdmZfYnVsbGV0aW4oKSB3YXJuOiBjYW4gJ3ZmJyB1bmRlcmZs b3cgJ3MzMm1pbi02MycKZHJpdmVycy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FsY25pYy9xbGNuaWNf c3Jpb3ZfcGYuYzoxODMyIHFsY25pY19zcmlvdl9zZXRfdmZfbWFjKCkgd2FybjogY2FuICd2Zicg dW5kZXJmbG93ICdzMzJtaW4tMjU0Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9xbG9naWMvcWxjbmlj L3FsY25pY19zcmlvdl9wZi5jOjE4NjQgcWxjbmljX3NyaW92X3NldF92Zl90eF9yYXRlKCkgd2Fy bjogY2FuICd2ZicgdW5kZXJmbG93ICdzMzJtaW4tMjU0Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9x bG9naWMvcWxjbmljL3FsY25pY19zcmlvdl9wZi5jOjE5MzcgcWxjbmljX3NyaW92X3NldF92Zl92 bGFuKCkgd2FybjogY2FuICd2ZicgdW5kZXJmbG93ICdzMzJtaW4tMjU0Jwpkcml2ZXJzL25ldC9l dGhlcm5ldC9xbG9naWMvcWxjbmljL3FsY25pY19zcmlvdl9wZi5jOjIwMDUgcWxjbmljX3NyaW92 X2dldF92Zl9jb25maWcoKSB3YXJuOiBjYW4gJ3ZmJyB1bmRlcmZsb3cgJ3MzMm1pbi0yNTQnCmRy aXZlcnMvbmV0L2V0aGVybmV0L3Fsb2dpYy9xbGNuaWMvcWxjbmljX3NyaW92X3BmLmM6MjAzNiBx bGNuaWNfc3Jpb3Zfc2V0X3ZmX3Nwb29mY2hrKCkgd2FybjogY2FuICd2ZicgdW5kZXJmbG93ICdz MzJtaW4tMjU0Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9lbXVsZXgvYmVuZXQvYmVfbWFpbi5jOjE5 MTQgYmVfZ2V0X3ZmX2NvbmZpZygpIHdhcm46IGNhbiAndmYnIHVuZGVyZmxvdyAnczMybWluLTY1 NTM0Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9lbXVsZXgvYmVuZXQvYmVfbWFpbi5jOjE5MTUgYmVf Z2V0X3ZmX2NvbmZpZygpIHdhcm46IGNhbiAndmYnIHVuZGVyZmxvdyAnczMybWluLTY1NTM0Jwpk cml2ZXJzL25ldC9ldGhlcm5ldC9lbXVsZXgvYmVuZXQvYmVfbWFpbi5jOjE5MjIgYmVfc2V0X3Zm X3R2dCgpIHdhcm46IGNhbiAndmYnIHVuZGVyZmxvdyAnczMybWluLTY1NTM0Jwpkcml2ZXJzL25l dC9ldGhlcm5ldC9lbXVsZXgvYmVuZXQvYmVfbWFpbi5jOjE5NTEgYmVfY2xlYXJfdmZfdHZ0KCkg d2FybjogY2FuICd2ZicgdW5kZXJmbG93ICdzMzJtaW4tNjU1MzQnCmRyaXZlcnMvbmV0L2V0aGVy bmV0L2VtdWxleC9iZW5ldC9iZV9tYWluLmM6MjA2MyBiZV9zZXRfdmZfdHhfcmF0ZSgpIHdhcm46 IGNhbiAndmYnIHVuZGVyZmxvdyAnczMybWluLTY1NTM0Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9l bXVsZXgvYmVuZXQvYmVfbWFpbi5jOjIwOTEgYmVfc2V0X3ZmX2xpbmtfc3RhdGUoKSB3YXJuOiBj YW4gJ3ZmJyB1bmRlcmZsb3cgJ3MzMm1pbi02NTUzNCcKZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50 ZWwvaWNlL2ljZV92aXJ0Y2hubF9wZi5jOjI2MDkgaWNlX3NldF92Zl9wb3J0X3ZsYW4oKSB3YXJu OiBjYW4gJ3ZmX2lkJyB1bmRlcmZsb3cgJ3MzMm1pbi02NTUzNCcKZHJpdmVycy9uZXQvZXRoZXJu ZXQvaW50ZWwvaWNlL2ljZV92aXJ0Y2hubF9wZi5jOjMwNTAgaWNlX2dldF92Zl9jZmcoKSB3YXJu OiBjYW4gJ3ZmX2lkJyB1bmRlcmZsb3cgJ3MzMm1pbi02NTUzNCcKZHJpdmVycy9uZXQvZXRoZXJu ZXQvaW50ZWwvaWNlL2ljZV92aXJ0Y2hubF9wZi5jOjMxMDMgaWNlX3NldF92Zl9zcG9vZmNoaygp IHdhcm46IGNhbiAndmZfaWQnIHVuZGVyZmxvdyAnczMybWluLTY1NTM0Jwpkcml2ZXJzL25ldC9l dGhlcm5ldC9pbnRlbC9pY2UvaWNlX3ZpcnRjaG5sX3BmLmM6MzE4MSBpY2Vfc2V0X3ZmX21hYygp IHdhcm46IGNhbiAndmZfaWQnIHVuZGVyZmxvdyAnczMybWluLTY1NTM0Jwpkcml2ZXJzL25ldC9l dGhlcm5ldC9pbnRlbC9pY2UvaWNlX3ZpcnRjaG5sX3BmLmM6MzIzNyBpY2Vfc2V0X3ZmX3RydXN0 KCkgd2FybjogY2FuICd2Zl9pZCcgdW5kZXJmbG93ICdzMzJtaW4tNjU1MzQnCmRyaXZlcnMvbmV0 L2V0aGVybmV0L2ludGVsL2ljZS9pY2VfdmlydGNobmxfcGYuYzozMjg2IGljZV9zZXRfdmZfbGlu a19zdGF0ZSgpIHdhcm46IGNhbiAndmZfaWQnIHVuZGVyZmxvdyAnczMybWluLTY1NTM0Jwpkcml2 ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9pNDBlL2k0MGVfdmlydGNobmxfcGYuYzozOTE5IGk0MGVf dmFsaWRhdGVfdmYoKSB3YXJuOiBjYW4gJ3ZmX2lkJyB1bmRlcmZsb3cgJ3MzMm1pbi0yMTQ3NDgz NjQ2Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9pNDBlL2k0MGVfdmlydGNobmxfcGYuYzoz OTU3IGk0MGVfbmRvX3NldF92Zl9tYWMoKSB3YXJuOiBjYW4gJ3ZmX2lkJyB1bmRlcmZsb3cgJ3Mz Mm1pbi0yMTQ3NDgzNjQ2Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9pNDBlL2k0MGVfdmly dGNobmxfcGYuYzo0MTA0IGk0MGVfbmRvX3NldF92Zl9wb3J0X3ZsYW4oKSB3YXJuOiBjYW4gJ3Zm X2lkJyB1bmRlcmZsb3cgJ3MzMm1pbi0yMTQ3NDgzNjQ2Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9p bnRlbC9pNDBlL2k0MGVfdmlydGNobmxfcGYuYzo0MjYzIGk0MGVfbmRvX3NldF92Zl9idygpIHdh cm46IGNhbiAndmZfaWQnIHVuZGVyZmxvdyAnczMybWluLTIxNDc0ODM2NDYnCmRyaXZlcnMvbmV0 L2V0aGVybmV0L2ludGVsL2k0MGUvaTQwZV92aXJ0Y2hubF9wZi5jOjQzMDkgaTQwZV9uZG9fZ2V0 X3ZmX2NvbmZpZygpIHdhcm46IGNhbiAndmZfaWQnIHVuZGVyZmxvdyAnczMybWluLTIxNDc0ODM2 NDYnCmRyaXZlcnMvbmV0L2V0aGVybmV0L2ludGVsL2k0MGUvaTQwZV92aXJ0Y2hubF9wZi5jOjQz NzEgaTQwZV9uZG9fc2V0X3ZmX2xpbmtfc3RhdGUoKSB3YXJuOiBjYW4gJ3ZmX2lkJyB1bmRlcmZs b3cgJ3MzMm1pbi0yMTQ3NDgzNjQ2Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9pNDBlL2k0 MGVfdmlydGNobmxfcGYuYzo0NDQxIGk0MGVfbmRvX3NldF92Zl9zcG9vZmNoaygpIHdhcm46IGNh biAndmZfaWQnIHVuZGVyZmxvdyAnczMybWluLTIxNDc0ODM2NDYnCmRyaXZlcnMvbmV0L2V0aGVy bmV0L2ludGVsL2k0MGUvaTQwZV92aXJ0Y2hubF9wZi5jOjQ0NDEgaTQwZV9uZG9fc2V0X3ZmX3Nw b29mY2hrKCkgd2FybjogY2FuICd2Zl9pZCcgdW5kZXJmbG93ICdzMzJtaW4tMjE0NzQ4MzY0NicK ZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvaTQwZS9pNDBlX3ZpcnRjaG5sX3BmLmM6NDUwNCBp NDBlX25kb19zZXRfdmZfdHJ1c3QoKSB3YXJuOiBjYW4gJ3ZmX2lkJyB1bmRlcmZsb3cgJ3MzMm1p bi0yMTQ3NDgzNjQ2JwoKU2lnbmVkLW9mZi1ieTogRGFuIENhcnBlbnRlciA8ZGFuLmNhcnBlbnRl ckBvcmFjbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogbmV0L2NvcmUvcnRuZXRsaW5rLmMgfCAyMyArKysrKysrKysrKysrKysr KysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK CmRpZmYgLS1naXQgYS9uZXQvY29yZS9ydG5ldGxpbmsuYyBiL25ldC9jb3JlL3J0bmV0bGluay5j CmluZGV4IGMwZGU3M2IxMjU4MC4uZGJiM2MwYzdjMTMyIDEwMDY0NAotLS0gYS9uZXQvY29yZS9y dG5ldGxpbmsuYworKysgYi9uZXQvY29yZS9ydG5ldGxpbmsuYwpAQCAtMjEyNiw2ICsyMTI2LDgg QEAgc3RhdGljIGludCBkb19zZXR2ZmluZm8oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0 IG5sYXR0ciAqKnRiKQogCWlmICh0YltJRkxBX1ZGX01BQ10pIHsKIAkJc3RydWN0IGlmbGFfdmZf bWFjICppdm0gPSBubGFfZGF0YSh0YltJRkxBX1ZGX01BQ10pOwogCisJCWlmIChpdm0tPnZmID49 IElOVF9NQVgpCisJCQlyZXR1cm4gLUVJTlZBTDsKIAkJZXJyID0gLUVPUE5PVFNVUFA7CiAJCWlm IChvcHMtPm5kb19zZXRfdmZfbWFjKQogCQkJZXJyID0gb3BzLT5uZG9fc2V0X3ZmX21hYyhkZXYs IGl2bS0+dmYsCkBAIC0yMTM3LDYgKzIxMzksOCBAQCBzdGF0aWMgaW50IGRvX3NldHZmaW5mbyhz dHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgbmxhdHRyICoqdGIpCiAJaWYgKHRiW0lGTEFf VkZfVkxBTl0pIHsKIAkJc3RydWN0IGlmbGFfdmZfdmxhbiAqaXZ2ID0gbmxhX2RhdGEodGJbSUZM QV9WRl9WTEFOXSk7CiAKKwkJaWYgKGl2di0+dmYgPj0gSU5UX01BWCkKKwkJCXJldHVybiAtRUlO VkFMOwogCQllcnIgPSAtRU9QTk9UU1VQUDsKIAkJaWYgKG9wcy0+bmRvX3NldF92Zl92bGFuKQog CQkJZXJyID0gb3BzLT5uZG9fc2V0X3ZmX3ZsYW4oZGV2LCBpdnYtPnZmLCBpdnYtPnZsYW4sCkBA IC0yMTY5LDYgKzIxNzMsOCBAQCBzdGF0aWMgaW50IGRvX3NldHZmaW5mbyhzdHJ1Y3QgbmV0X2Rl dmljZSAqZGV2LCBzdHJ1Y3QgbmxhdHRyICoqdGIpCiAJCWlmIChsZW4gPT0gMCkKIAkJCXJldHVy biAtRUlOVkFMOwogCisJCWlmIChpdnZsWzBdLT52ZiA+PSBJTlRfTUFYKQorCQkJcmV0dXJuIC1F SU5WQUw7CiAJCWVyciA9IG9wcy0+bmRvX3NldF92Zl92bGFuKGRldiwgaXZ2bFswXS0+dmYsIGl2 dmxbMF0tPnZsYW4sCiAJCQkJCSAgIGl2dmxbMF0tPnFvcywgaXZ2bFswXS0+dmxhbl9wcm90byk7 CiAJCWlmIChlcnIgPCAwKQpAQCAtMjE3OSw2ICsyMTg1LDggQEAgc3RhdGljIGludCBkb19zZXR2 ZmluZm8oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IG5sYXR0ciAqKnRiKQogCQlzdHJ1 Y3QgaWZsYV92Zl90eF9yYXRlICppdnQgPSBubGFfZGF0YSh0YltJRkxBX1ZGX1RYX1JBVEVdKTsK IAkJc3RydWN0IGlmbGFfdmZfaW5mbyBpdmY7CiAKKwkJaWYgKGl2dC0+dmYgPj0gSU5UX01BWCkK KwkJCXJldHVybiAtRUlOVkFMOwogCQllcnIgPSAtRU9QTk9UU1VQUDsKIAkJaWYgKG9wcy0+bmRv X2dldF92Zl9jb25maWcpCiAJCQllcnIgPSBvcHMtPm5kb19nZXRfdmZfY29uZmlnKGRldiwgaXZ0 LT52ZiwgJml2Zik7CkBAIC0yMTk3LDYgKzIyMDUsOCBAQCBzdGF0aWMgaW50IGRvX3NldHZmaW5m byhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgbmxhdHRyICoqdGIpCiAJaWYgKHRiW0lG TEFfVkZfUkFURV0pIHsKIAkJc3RydWN0IGlmbGFfdmZfcmF0ZSAqaXZ0ID0gbmxhX2RhdGEodGJb SUZMQV9WRl9SQVRFXSk7CiAKKwkJaWYgKGl2dC0+dmYgPj0gSU5UX01BWCkKKwkJCXJldHVybiAt RUlOVkFMOwogCQllcnIgPSAtRU9QTk9UU1VQUDsKIAkJaWYgKG9wcy0+bmRvX3NldF92Zl9yYXRl KQogCQkJZXJyID0gb3BzLT5uZG9fc2V0X3ZmX3JhdGUoZGV2LCBpdnQtPnZmLApAQCAtMjIwOSw2 ICsyMjE5LDggQEAgc3RhdGljIGludCBkb19zZXR2ZmluZm8oc3RydWN0IG5ldF9kZXZpY2UgKmRl diwgc3RydWN0IG5sYXR0ciAqKnRiKQogCWlmICh0YltJRkxBX1ZGX1NQT09GQ0hLXSkgewogCQlz dHJ1Y3QgaWZsYV92Zl9zcG9vZmNoayAqaXZzID0gbmxhX2RhdGEodGJbSUZMQV9WRl9TUE9PRkNI S10pOwogCisJCWlmIChpdnMtPnZmID49IElOVF9NQVgpCisJCQlyZXR1cm4gLUVJTlZBTDsKIAkJ ZXJyID0gLUVPUE5PVFNVUFA7CiAJCWlmIChvcHMtPm5kb19zZXRfdmZfc3Bvb2ZjaGspCiAJCQll cnIgPSBvcHMtPm5kb19zZXRfdmZfc3Bvb2ZjaGsoZGV2LCBpdnMtPnZmLApAQCAtMjIyMCw2ICsy MjMyLDggQEAgc3RhdGljIGludCBkb19zZXR2ZmluZm8oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwg c3RydWN0IG5sYXR0ciAqKnRiKQogCWlmICh0YltJRkxBX1ZGX0xJTktfU1RBVEVdKSB7CiAJCXN0 cnVjdCBpZmxhX3ZmX2xpbmtfc3RhdGUgKml2bCA9IG5sYV9kYXRhKHRiW0lGTEFfVkZfTElOS19T VEFURV0pOwogCisJCWlmIChpdmwtPnZmID49IElOVF9NQVgpCisJCQlyZXR1cm4gLUVJTlZBTDsK IAkJZXJyID0gLUVPUE5PVFNVUFA7CiAJCWlmIChvcHMtPm5kb19zZXRfdmZfbGlua19zdGF0ZSkK IAkJCWVyciA9IG9wcy0+bmRvX3NldF92Zl9saW5rX3N0YXRlKGRldiwgaXZsLT52ZiwKQEAgLTIy MzMsNiArMjI0Nyw4IEBAIHN0YXRpYyBpbnQgZG9fc2V0dmZpbmZvKHN0cnVjdCBuZXRfZGV2aWNl ICpkZXYsIHN0cnVjdCBubGF0dHIgKip0YikKIAogCQllcnIgPSAtRU9QTk9UU1VQUDsKIAkJaXZy c3NxX2VuID0gbmxhX2RhdGEodGJbSUZMQV9WRl9SU1NfUVVFUllfRU5dKTsKKwkJaWYgKGl2cnNz cV9lbi0+dmYgPj0gSU5UX01BWCkKKwkJCXJldHVybiAtRUlOVkFMOwogCQlpZiAob3BzLT5uZG9f c2V0X3ZmX3Jzc19xdWVyeV9lbikKIAkJCWVyciA9IG9wcy0+bmRvX3NldF92Zl9yc3NfcXVlcnlf ZW4oZGV2LCBpdnJzc3FfZW4tPnZmLAogCQkJCQkJCSAgIGl2cnNzcV9lbi0+c2V0dGluZyk7CkBA IC0yMjQzLDYgKzIyNTksOCBAQCBzdGF0aWMgaW50IGRvX3NldHZmaW5mbyhzdHJ1Y3QgbmV0X2Rl dmljZSAqZGV2LCBzdHJ1Y3QgbmxhdHRyICoqdGIpCiAJaWYgKHRiW0lGTEFfVkZfVFJVU1RdKSB7 CiAJCXN0cnVjdCBpZmxhX3ZmX3RydXN0ICppdnQgPSBubGFfZGF0YSh0YltJRkxBX1ZGX1RSVVNU XSk7CiAKKwkJaWYgKGl2dC0+dmYgPj0gSU5UX01BWCkKKwkJCXJldHVybiAtRUlOVkFMOwogCQll cnIgPSAtRU9QTk9UU1VQUDsKIAkJaWYgKG9wcy0+bmRvX3NldF92Zl90cnVzdCkKIAkJCWVyciA9 IG9wcy0+bmRvX3NldF92Zl90cnVzdChkZXYsIGl2dC0+dmYsIGl2dC0+c2V0dGluZyk7CkBAIC0y MjUzLDE1ICsyMjcxLDE4IEBAIHN0YXRpYyBpbnQgZG9fc2V0dmZpbmZvKHN0cnVjdCBuZXRfZGV2 aWNlICpkZXYsIHN0cnVjdCBubGF0dHIgKip0YikKIAlpZiAodGJbSUZMQV9WRl9JQl9OT0RFX0dV SURdKSB7CiAJCXN0cnVjdCBpZmxhX3ZmX2d1aWQgKml2dCA9IG5sYV9kYXRhKHRiW0lGTEFfVkZf SUJfTk9ERV9HVUlEXSk7CiAKKwkJaWYgKGl2dC0+dmYgPj0gSU5UX01BWCkKKwkJCXJldHVybiAt RUlOVkFMOwogCQlpZiAoIW9wcy0+bmRvX3NldF92Zl9ndWlkKQogCQkJcmV0dXJuIC1FT1BOT1RT VVBQOwotCiAJCXJldHVybiBoYW5kbGVfdmZfZ3VpZChkZXYsIGl2dCwgSUZMQV9WRl9JQl9OT0RF X0dVSUQpOwogCX0KIAogCWlmICh0YltJRkxBX1ZGX0lCX1BPUlRfR1VJRF0pIHsKIAkJc3RydWN0 IGlmbGFfdmZfZ3VpZCAqaXZ0ID0gbmxhX2RhdGEodGJbSUZMQV9WRl9JQl9QT1JUX0dVSURdKTsK IAorCQlpZiAoaXZ0LT52ZiA+PSBJTlRfTUFYKQorCQkJcmV0dXJuIC1FSU5WQUw7CiAJCWlmICgh b3BzLT5uZG9fc2V0X3ZmX2d1aWQpCiAJCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAKLS0gCjIuMjAu MQoKCkZyb20gOGU1OGY0MWQ2ZDUzN2NkYjYwZDk4MGU1Y2Y3MDc4OGJkYTM5YWU3MiBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRGF2aWRlIENhcmF0dGkgPGRjYXJhdHRpQHJlZGhhdC5j b20+CkRhdGU6IFR1ZSwgMTkgTm92IDIwMTkgMjM6NDc6MzMgKzAxMDAKU3ViamVjdDogW1BBVENI IDA1LzEwXSBuZXQvc2NoZWQ6IGFjdF9wZWRpdDogZml4IFdBUk4oKSBpbiB0aGUgdHJhZmZpYyBw YXRoCgpbIFVwc3RyZWFtIGNvbW1pdCBmNjcxNjlmZWY4ZGJjYzFhYzZhNmExMDllY2FhZDBkM2Iy NTkwMDJjIF0KCndoZW4gY29uZmlndXJpbmcgYWN0X3BlZGl0IHJ1bGVzLCB0aGUgbnVtYmVyIG9m IGtleXMgaXMgdmFsaWRhdGVkIG9ubHkgb24KYWRkaXRpb24gb2YgYSBuZXcgZW50cnkuIFRoaXMg aXMgbm90IHN1ZmZpY2llbnQgdG8gYXZvaWQgaGl0dGluZyBhIFdBUk4oKQppbiB0aGUgdHJhZmZp YyBwYXRoOiBmb3IgZXhhbXBsZSwgaXQgaXMgcG9zc2libGUgdG8gcmVwbGFjZSBhIHZhbGlkIGVu dHJ5CndpdGggYSBuZXcgb25lIGhhdmluZyAwIGV4dGVuZGVkIGtleXMsIHRodXMgY2F1c2luZyBz cGxhdHMgaW4gZG1lc2cgbGlrZToKCiBwZWRpdCBCVUc6IGluZGV4IDQyCiBXQVJOSU5HOiBDUFU6 IDIgUElEOiA0MDU0IGF0IG5ldC9zY2hlZC9hY3RfcGVkaXQuYzo0MTAgdGNmX3BlZGl0X2FjdCsw eGM4NC8weDEyMDAgW2FjdF9wZWRpdF0KIFsuLi5dCiBSSVA6IDAwMTA6dGNmX3BlZGl0X2FjdCsw eGM4NC8weDEyMDAgW2FjdF9wZWRpdF0KIENvZGU6IDg5IGZhIDQ4IGMxIGVhIDAzIDBmIGI2IDA0 IDAyIDg0IGMwIDc0IDA4IDNjIDAzIDBmIDhlIGFjIDAwIDAwIDAwIDQ4IDhiIDQ0IDI0IDEwIDQ4 IGM3IGM3IGEwIGM0IGU0IGMwIDhiIDcwIDE4IGU4IDFjIDMwIDk1IGVhIDwwZj4gMGIgZTkgYTAg ZmEgZmYgZmYgZTggMDAgMDMgZjUgZWEgZTkgMTQgZjQgZmYgZmYgNDggODkgNTggNDAgZTkKIFJT UDogMDAxODpmZmZmODg4MDc3YzlmMzIwIEVGTEFHUzogMDAwMTAyODYKIFJBWDogMDAwMDAwMDAw MDAwMDAwMCBSQlg6IDAwMDAwMDAwMDAwMDAwMDAgUkNYOiBmZmZmZmZmZmFjMjk4M2EyCiBSRFg6 IDAwMDAwMDAwMDAwMDAwMDEgUlNJOiAwMDAwMDAwMDAwMDAwMDA4IFJESTogZmZmZjg4ODA1Mzky N2JlYwogUkJQOiBkZmZmZmMwMDAwMDAwMDAwIFIwODogZmZmZmVkMTAwYTcyNjIwOSBSMDk6IGZm ZmZlZDEwMGE3MjYyMDkKIFIxMDogMDAwMDAwMDAwMDAwMDAwMSBSMTE6IGZmZmZlZDEwMGE3MjYy MDggUjEyOiBmZmZmODg4MDRiZWVhNzgwCiBSMTM6IGZmZmY4ODgwNzlhNzc0MDAgUjE0OiBmZmZm ODg4MDRiZWVhNzgwIFIxNTogZmZmZjg4ODAyN2FiMjAwMAogRlM6ICAwMDAwN2ZkZWVjOWJkNzQw KDAwMDApIEdTOmZmZmY4ODgwNTM5MDAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMAog Q1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMwogQ1IyOiAw MDAwN2ZmZGIzZGZkMDAwIENSMzogMDAwMDAwMDA0YWRiNDAwNiBDUjQ6IDAwMDAwMDAwMDAxNjA2 ZTAKIENhbGwgVHJhY2U6CiAgdGNmX2FjdGlvbl9leGVjKzB4MTA1LzB4M2YwCiAgdGNmX2NsYXNz aWZ5KzB4ZjIvMHg0MTAKICBfX2Rldl9xdWV1ZV94bWl0KzB4Y2JmLzB4MmFlMAogIGlwX2Zpbmlz aF9vdXRwdXQyKzB4NzExLzB4MWZiMAogIGlwX291dHB1dCsweDFiZi8weDRiMAogIGlwX3NlbmRf c2tiKzB4MzcvMHhhMAogIHJhd19zZW5kbXNnKzB4MTgwYy8weDI0MzAKICBzb2NrX3NlbmRtc2cr MHhkYi8weDExMAogIF9fc3lzX3NlbmR0bysweDI1Ny8weDJiMAogIF9feDY0X3N5c19zZW5kdG8r MHhkZC8weDFiMAogIGRvX3N5c2NhbGxfNjQrMHhhNS8weDRlMAogIGVudHJ5X1NZU0NBTExfNjRf YWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKIFJJUDogMDAzMzoweDdmZGVlYjcyZTk5MwogQ29kZTog NDggOGIgMGQgZTAgNzQgMmMgMDAgZjcgZDggNjQgODkgMDEgNDggODMgYzggZmYgYzMgNjYgMGYg MWYgNDQgMDAgMDAgODMgM2QgMGQgZDYgMmMgMDAgMDAgNzUgMTMgNDkgODkgY2EgYjggMmMgMDAg MDAgMDAgMGYgMDUgPDQ4PiAzZCAwMSBmMCBmZiBmZiA3MyAzNCBjMyA0OCA4MyBlYyAwOCBlOCA0 YiBjYyAwMCAwMCA0OCA4OSAwNCAyNAogUlNQOiAwMDJiOjAwMDA3ZmZkYjNkZThhMTggRUZMQUdT OiAwMDAwMDI0NiBPUklHX1JBWDogMDAwMDAwMDAwMDAwMDAyYwogUkFYOiBmZmZmZmZmZmZmZmZm ZmRhIFJCWDogMDAwMDU1YzgxOTcyYjcwMCBSQ1g6IDAwMDA3ZmRlZWI3MmU5OTMKIFJEWDogMDAw MDAwMDAwMDAwMDA0MCBSU0k6IDAwMDA1NWM4MTk3MmI3MDAgUkRJOiAwMDAwMDAwMDAwMDAwMDAz CiBSQlA6IDAwMDA3ZmZkYjNkZWExMzAgUjA4OiAwMDAwNTVjODE5NzI4NTEwIFIwOTogMDAwMDAw MDAwMDAwMDAxMAogUjEwOiAwMDAwMDAwMDAwMDAwMDAwIFIxMTogMDAwMDAwMDAwMDAwMDI0NiBS MTI6IDAwMDAwMDAwMDAwMDAwNDAKIFIxMzogMDAwMDU1YzgxOTcyYjZjMCBSMTQ6IDAwMDA1NWM4 MTk3Mjk2OWMgUjE1OiAwMDAwMDAwMDAwMDAwMDgwCgpGaXggdGhpcyBtb3ZpbmcgdGhlIGNoZWNr IG9uICdua2V5cycgZWFybGllciBpbiB0Y2ZfcGVkaXRfaW5pdCgpLCBzbyB0aGF0CmF0dGVtcHRz IHRvIGluc3RhbGwgcnVsZXMgaGF2aW5nIDAga2V5cyBhcmUgYWx3YXlzIHJlamVjdGVkIHdpdGgg LUVJTlZBTC4KCkZpeGVzOiAxZGExNzdlNGMzZjQgKCJMaW51eC0yLjYuMTItcmMyIikKU2lnbmVk LW9mZi1ieTogRGF2aWRlIENhcmF0dGkgPGRjYXJhdHRpQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQv YWN0X3BlZGl0LmMgfCAxMiArKysrKy0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlv bnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL2FjdF9wZWRpdC5j IGIvbmV0L3NjaGVkL2FjdF9wZWRpdC5jCmluZGV4IDMzYzBjYzVlZjIyOS4uY2UxNGZhZmIzNmEx IDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvYWN0X3BlZGl0LmMKKysrIGIvbmV0L3NjaGVkL2FjdF9w ZWRpdC5jCkBAIC00Niw3ICs0Niw3IEBAIHN0YXRpYyBzdHJ1Y3QgdGNmX3BlZGl0X2tleV9leCAq dGNmX3BlZGl0X2tleXNfZXhfcGFyc2Uoc3RydWN0IG5sYXR0ciAqbmxhLAogCWludCBlcnIgPSAt RUlOVkFMOwogCWludCByZW07CiAKLQlpZiAoIW5sYSB8fCAhbikKKwlpZiAoIW5sYSkKIAkJcmV0 dXJuIE5VTEw7CiAKIAlrZXlzX2V4ID0ga2NhbGxvYyhuLCBzaXplb2YoKmspLCBHRlBfS0VSTkVM KTsKQEAgLTE2OSw2ICsxNjksMTAgQEAgc3RhdGljIGludCB0Y2ZfcGVkaXRfaW5pdChzdHJ1Y3Qg bmV0ICpuZXQsIHN0cnVjdCBubGF0dHIgKm5sYSwKIAl9CiAKIAlwYXJtID0gbmxhX2RhdGEocGF0 dHIpOworCWlmICghcGFybS0+bmtleXMpIHsKKwkJTkxfU0VUX0VSUl9NU0dfTU9EKGV4dGFjaywg IlBlZGl0IHJlcXVpcmVzIGtleXMgdG8gYmUgcGFzc2VkIik7CisJCXJldHVybiAtRUlOVkFMOwor CX0KIAlrc2l6ZSA9IHBhcm0tPm5rZXlzICogc2l6ZW9mKHN0cnVjdCB0Y19wZWRpdF9rZXkpOwog CWlmIChubGFfbGVuKHBhdHRyKSA8IHNpemVvZigqcGFybSkgKyBrc2l6ZSkgewogCQlOTF9TRVRf RVJSX01TR19BVFRSKGV4dGFjaywgcGF0dHIsICJMZW5ndGggb2YgVENBX1BFRElUX1BBUk1TIG9y IFRDQV9QRURJVF9QQVJNU19FWCBwZWRpdCBhdHRyaWJ1dGUgaXMgaW52YWxpZCIpOwpAQCAtMTgy LDEyICsxODYsNiBAQCBzdGF0aWMgaW50IHRjZl9wZWRpdF9pbml0KHN0cnVjdCBuZXQgKm5ldCwg c3RydWN0IG5sYXR0ciAqbmxhLAogCWluZGV4ID0gcGFybS0+aW5kZXg7CiAJZXJyID0gdGNmX2lk cl9jaGVja19hbGxvYyh0biwgJmluZGV4LCBhLCBiaW5kKTsKIAlpZiAoIWVycikgewotCQlpZiAo IXBhcm0tPm5rZXlzKSB7Ci0JCQl0Y2ZfaWRyX2NsZWFudXAodG4sIGluZGV4KTsKLQkJCU5MX1NF VF9FUlJfTVNHX01PRChleHRhY2ssICJQZWRpdCByZXF1aXJlcyBrZXlzIHRvIGJlIHBhc3NlZCIp OwotCQkJcmV0ID0gLUVJTlZBTDsKLQkJCWdvdG8gb3V0X2ZyZWU7Ci0JCX0KIAkJcmV0ID0gdGNm X2lkcl9jcmVhdGUodG4sIGluZGV4LCBlc3QsIGEsCiAJCQkJICAgICAmYWN0X3BlZGl0X29wcywg YmluZCwgZmFsc2UpOwogCQlpZiAocmV0KSB7Ci0tIAoyLjIwLjEKCgpGcm9tIDIyZjcxNjcwMmVm OGU0OGQ5ZjU1ZTcwZjAxYTExMDU2MmM3N2ZkZWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IFhpbiBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNvbT4KRGF0ZTogTW9uLCAxOCBOb3YgMjAx OSAxNzozOTozNCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDYvMTBdIG5ldDogc2NoZWQ6IGVuc3Vy ZSBvcHRzX2xlbiA8PSBJUF9UVU5ORUxfT1BUU19NQVggaW4KIGFjdF90dW5uZWxfa2V5CgpbIFVw c3RyZWFtIGNvbW1pdCA0ZjBlOTdkMDcwOTg0ZDQ4N2RmMDI3ZjE2M2U1MmJiNzJkMTcxM2Q4IF0K CmluZm8tPm9wdGlvbnNfbGVuIGlzICd1OCcgdHlwZSwgYW5kIHdoZW4gb3B0c19sZW4gd2l0aCBh IHZhbHVlID4KSVBfVFVOTkVMX09QVFNfTUFYLCAnaW5mby0+b3B0aW9uc19sZW4gPSBvcHRzX2xl bicgd2lsbCBjYXN0IGludAp0byB1OCBhbmQgc2V0IGEgd3JvbmcgdmFsdWUgdG8gaW5mby0+b3B0 aW9uc19sZW4uCgpLZXJuZWwgY3Jhc2hlZCBpbiBteSB0ZXN0IHdoZW4gZG9pbmc6CgogICMgb3B0 cz0iMDEwMjo4MDowMDgwMDAyMiIKICAjIGZvciBpIGluIHsxLi45OX07IGRvIG9wdHM9IiRvcHRz LDAxMDI6ODA6MDA4MDAwMjIiOyBkb25lCiAgIyBpcCBsaW5rIGFkZCBuYW1lIGdlbmV2ZTAgdHlw ZSBnZW5ldmUgZHN0cG9ydCAwIGV4dGVybmFsCiAgIyB0YyBxZGlzYyBhZGQgZGV2IGV0aDAgaW5n cmVzcwogICMgdGMgZmlsdGVyIGFkZCBkZXYgZXRoMCBwcm90b2NvbCBpcCBwYXJlbnQgZmZmZjog XAogICAgICAgZmxvd2VyIGluZGV2IGV0aDAgaXBfcHJvdG8gdWRwIGFjdGlvbiB0dW5uZWxfa2V5 IFwKICAgICAgIHNldCBzcmNfaXAgMTAuMC45OS4xOTIgZHN0X2lwIDEwLjAuOTkuMTkzIFwKICAg ICAgIGRzdF9wb3J0IDYwODEgaWQgMTEgZ2VuZXZlX29wdHMgJG9wdHMgXAogICAgICAgYWN0aW9u IG1pcnJlZCBlZ3Jlc3MgcmVkaXJlY3QgZGV2IGdlbmV2ZTAKClNvIHdlIHNob3VsZCBkbyB0aGUg c2ltaWxhciBjaGVjayBhcyBjbHNfZmxvd2VyIGRvZXMsIHJldHVybiBlcnJvcgp3aGVuIG9wdHNf bGVuID4gSVBfVFVOTkVMX09QVFNfTUFYIGluIHR1bm5lbF9rZXlfY29weV9vcHRzKCkuCgpGaXhl czogMGVkNTI2OWY5ZTQxICgibmV0L3NjaGVkOiBhZGQgdHVubmVsIG9wdGlvbiBzdXBwb3J0IHRv IGFjdF90dW5uZWxfa2V5IikKU2lnbmVkLW9mZi1ieTogWGluIExvbmcgPGx1Y2llbi54aW5AZ21h aWwuY29tPgpSZXZpZXdlZC1ieTogU2ltb24gSG9ybWFuIDxzaW1vbi5ob3JtYW5AbmV0cm9ub21l LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0 PgotLS0KIG5ldC9zY2hlZC9hY3RfdHVubmVsX2tleS5jIHwgNCArKysrCiAxIGZpbGUgY2hhbmdl ZCwgNCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL2FjdF90dW5uZWxfa2V5 LmMgYi9uZXQvc2NoZWQvYWN0X3R1bm5lbF9rZXkuYwppbmRleCA0MzMwOWZmMmI1ZGMuLmU0ZmM2 YjJiYzI5ZCAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL2FjdF90dW5uZWxfa2V5LmMKKysrIGIvbmV0 L3NjaGVkL2FjdF90dW5uZWxfa2V5LmMKQEAgLTEzNyw2ICsxMzcsMTAgQEAgc3RhdGljIGludCB0 dW5uZWxfa2V5X2NvcHlfb3B0cyhjb25zdCBzdHJ1Y3QgbmxhdHRyICpubGEsIHU4ICpkc3QsCiAJ CQlpZiAob3B0X2xlbiA8IDApCiAJCQkJcmV0dXJuIG9wdF9sZW47CiAJCQlvcHRzX2xlbiArPSBv cHRfbGVuOworCQkJaWYgKG9wdHNfbGVuID4gSVBfVFVOTkVMX09QVFNfTUFYKSB7CisJCQkJTkxf U0VUX0VSUl9NU0coZXh0YWNrLCAiVHVubmVsIG9wdGlvbnMgZXhjZWVkcyBtYXggc2l6ZSIpOwor CQkJCXJldHVybiAtRUlOVkFMOworCQkJfQogCQkJaWYgKGRzdCkgewogCQkJCWRzdF9sZW4gLT0g b3B0X2xlbjsKIAkJCQlkc3QgKz0gb3B0X2xlbjsKLS0gCjIuMjAuMQoKCkZyb20gZjUwODhlZjgw OThjYjJlOWFjNWJhNzE1MmNjMmQ1YjMwMDVkZjI5ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogTWFydGluIEhhYmV0cyA8bWhhYmV0c0Bzb2xhcmZsYXJlLmNvbT4KRGF0ZTogVGh1LCAy MSBOb3YgMjAxOSAxNzo1MjoxNSArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMDcvMTBdIHNmYzogT25s eSBjYW5jZWwgdGhlIFBQUyB3b3JrcXVldWUgaWYgaXQgZXhpc3RzCgpbIFVwc3RyZWFtIGNvbW1p dCA3MjNlYjUzNjkwMDQxNzQwYTEzYWM3OGVmZWFmNjgwNGY1ZDY4NGM5IF0KClRoZSB3b3JrcXVl dWUgb25seSBleGlzdHMgZm9yIHRoZSBwcmltYXJ5IFBGLiBGb3Igb3RoZXIgZnVuY3Rpb25zCndl IGhpdCBhIFdBUk5fT04gaW4ga2VybmVsL3dvcmtxdWV1ZS5jLgoKRml4ZXM6IDdjMjM2YzQzYjgz OCAoInNmYzogQWRkIHN1cHBvcnQgZm9yIElFRUUtMTU4OCBQVFAiKQpTaWduZWQtb2ZmLWJ5OiBN YXJ0aW4gSGFiZXRzIDxtaGFiZXRzQHNvbGFyZmxhcmUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJu ZXQvc2ZjL3B0cC5jIHwgMyArKy0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zZmMvcHRwLmMg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zZmMvcHRwLmMKaW5kZXggZjIxNjYxNTMyZWQzLi5jYzhm YmYzOThjMGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3NmYy9wdHAuYworKysg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zZmMvcHRwLmMKQEAgLTE1MzQsNyArMTUzNCw4IEBAIHZv aWQgZWZ4X3B0cF9yZW1vdmUoc3RydWN0IGVmeF9uaWMgKmVmeCkKIAkodm9pZCllZnhfcHRwX2Rp c2FibGUoZWZ4KTsKIAogCWNhbmNlbF93b3JrX3N5bmMoJmVmeC0+cHRwX2RhdGEtPndvcmspOwot CWNhbmNlbF93b3JrX3N5bmMoJmVmeC0+cHRwX2RhdGEtPnBwc193b3JrKTsKKwlpZiAoZWZ4LT5w dHBfZGF0YS0+cHBzX3dvcmt3cSkKKwkJY2FuY2VsX3dvcmtfc3luYygmZWZ4LT5wdHBfZGF0YS0+ cHBzX3dvcmspOwogCiAJc2tiX3F1ZXVlX3B1cmdlKCZlZngtPnB0cF9kYXRhLT5yeHEpOwogCXNr Yl9xdWV1ZV9wdXJnZSgmZWZ4LT5wdHBfZGF0YS0+dHhxKTsKLS0gCjIuMjAuMQoKCkZyb20gNmMz NWYwMWU5YjlmNjQ4ZjA2ZDY4ODg2N2NlNjk3OTQxNjE3MjIzMSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogUm9pIERheWFuIDxyb2lkQG1lbGxhbm94LmNvbT4KRGF0ZTogV2VkLCAxMyBO b3YgMjAxOSAxNDo0MjowMCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMTBdIG5ldC9tbHg1ZTog Rml4IHNldCB2ZiBsaW5rIHN0YXRlIGVycm9yIGZsb3cKClsgVXBzdHJlYW0gY29tbWl0IDc1MTAy MTIxOGY3ZTY2ZWU5YmJhYTJiZTIzMDU2ZTQ0N2NkNzVlYzQgXQoKQmVmb3JlIHRoaXMgY29tbWl0 IHRoZSBuZG8gYWx3YXlzIHJldHVybmVkIHN1Y2Nlc3MuCkZpeCB0aGF0LgoKRml4ZXM6IDFhYjIw NjhhNGM2NiAoIm5ldC9tbHg1OiBJbXBsZW1lbnQgdnBvcnRzIGFkbWluIHN0YXRlIGJhY2t1cC9y ZXN0b3JlIikKU2lnbmVkLW9mZi1ieTogUm9pIERheWFuIDxyb2lkQG1lbGxhbm94LmNvbT4KUmV2 aWV3ZWQtYnk6IFZsYWQgQnVzbG92IDx2bGFkYnVAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5 OiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KLS0tCiBkcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRjaC5jIHwgMiArLQogMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2guYyBiL2RyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lc3dpdGNoLmMKaW5kZXggNTVjY2Q5MGJlZWIwLi43 MzY2MDMzY2QzMWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21s eDUvY29yZS9lc3dpdGNoLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4 NS9jb3JlL2Vzd2l0Y2guYwpAQCAtMTg2MSw3ICsxODYxLDcgQEAgaW50IG1seDVfZXN3aXRjaF9z ZXRfdnBvcnRfc3RhdGUoc3RydWN0IG1seDVfZXN3aXRjaCAqZXN3LAogCiB1bmxvY2s6CiAJbXV0 ZXhfdW5sb2NrKCZlc3ctPnN0YXRlX2xvY2spOwotCXJldHVybiAwOworCXJldHVybiBlcnI7CiB9 CiAKIGludCBtbHg1X2Vzd2l0Y2hfZ2V0X3Zwb3J0X2NvbmZpZyhzdHJ1Y3QgbWx4NV9lc3dpdGNo ICplc3csCi0tIAoyLjIwLjEKCgpGcm9tIGEyZTNhMDZhYzY0YjBhMjMwOGU0MTBiZjYyMjk2NzVj ZTY0MmMzZWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyYW4gQmVuIEVsaXNoYSA8 ZXJhbmJlQG1lbGxhbm94LmNvbT4KRGF0ZTogU3VuLCAxNyBOb3YgMjAxOSAxMDoxODo1OSArMDIw MApTdWJqZWN0OiBbUEFUQ0ggMDkvMTBdIG5ldC9tbHhmdzogVmVyaWZ5IEZTTSBlcnJvciBjb2Rl IHRyYW5zbGF0aW9uIGRvZXNuJ3QKIGV4Y2VlZCBhcnJheSBzaXplCgpbIFVwc3RyZWFtIGNvbW1p dCAzMGU5ZTA1NTBiZjY5M2M5NGJjMTU4Mjc3ODFmZTQyZGQ2MGJlNjM0IF0KCkFycmF5IG1seGZ3 X2ZzbV9zdGF0ZV9lcnJfc3RyIGNvbnRhaW5zIHZhbHVlIHRvIHN0cmluZyB0cmFuc2xhdGlvbiwg d2hlbgp2YWx1ZXMgYXJlIHByb3ZpZGVkIGJ5IG1seGZ3X2Rldi4gSWYgdmFsdWUgaXMgbGFyZ2Vy IHRoYW4KTUxYRldfRlNNX1NUQVRFX0VSUl9NQVgsIHJldHVybiAidW5rbm93biBlcnJvciIgYXMg ZXhwZWN0ZWQgaW5zdGVhZCBvZgpyZWFkaW5nIGFuIGFkZHJlc3MgdGhhbiBleGNlZWQgYXJyYXkg c2l6ZS4KCkZpeGVzOiA0MTBlZDEzY2FlMzkgKCJBZGQgdGhlIG1seGZ3IG1vZHVsZSBmb3IgTWVs bGFub3ggZmlybXdhcmUgZmxhc2ggcHJvY2VzcyIpClNpZ25lZC1vZmYtYnk6IEVyYW4gQmVuIEVs aXNoYSA8ZXJhbmJlQG1lbGxhbm94LmNvbT4KQWNrZWQtYnk6IEppcmkgUGlya28gPGppcmlAbWVs bGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94 LmNvbT4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhmdy9tbHhmd19mc20u YyB8IDIgKysKIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhmdy9tbHhmd19mc20uYyBiL2RyaXZlcnMv bmV0L2V0aGVybmV0L21lbGxhbm94L21seGZ3L21seGZ3X2ZzbS5jCmluZGV4IDJjZjg5MTI2ZmIy My4uZDc2NWU3YTY5ZDZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHhmdy9tbHhmd19mc20uYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9t bHhmdy9tbHhmd19mc20uYwpAQCAtODYsNiArODYsOCBAQCBzdGF0aWMgaW50IG1seGZ3X2ZzbV9z dGF0ZV93YWl0KHN0cnVjdCBtbHhmd19kZXYgKm1seGZ3X2RldiwgdTMyIGZ3aGFuZGxlLAogCQly ZXR1cm4gZXJyOwogCiAJaWYgKGZzbV9zdGF0ZV9lcnIgIT0gTUxYRldfRlNNX1NUQVRFX0VSUl9P SykgeworCQlmc21fc3RhdGVfZXJyID0gbWluX3QoZW51bSBtbHhmd19mc21fc3RhdGVfZXJyLAor CQkJCSAgICAgIGZzbV9zdGF0ZV9lcnIsIE1MWEZXX0ZTTV9TVEFURV9FUlJfTUFYKTsKIAkJcHJf ZXJyKCJGaXJtd2FyZSBmbGFzaCBmYWlsZWQ6ICVzXG4iLAogCQkgICAgICAgbWx4ZndfZnNtX3N0 YXRlX2Vycl9zdHJbZnNtX3N0YXRlX2Vycl0pOwogCQlyZXR1cm4gLUVJTlZBTDsKLS0gCjIuMjAu MQoKCkZyb20gODdhZWMyYmJhOGU1ZjgzODc2ZjVhMmMyNDc0YjUzOGQ2YWMxMjZkYyBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWFvciBHb3R0bGllYiA8bWFvcmdAbWVsbGFub3guY29t PgpEYXRlOiBUaHUsIDUgU2VwIDIwMTkgMDk6NTY6MTAgKzAzMDAKU3ViamVjdDogW1BBVENIIDEw LzEwXSBuZXQvbWx4NTogRml4IGF1dG8gZ3JvdXAgc2l6ZSBjYWxjdWxhdGlvbgoKWyBVcHN0cmVh bSBjb21taXQgOTdmZDhkYTI4MWY4MGU3ZTY5ZTAxMTRiYzkwNjU3NTczNGQ0ZGZhZiBdCgpPbmNl IGFsbCB0aGUgbGFyZ2UgZmxvdyBncm91cHMgKGRlZmluZWQgYnkgdGhlIHVzZXIgd2hlbiB0aGUg ZmxvdyB0YWJsZQppcyBjcmVhdGVkIC0gbWF4X251bV9ncm91cHMpIHdlcmUgY3JlYXRlZCwgdGhl biBhbGwgdGhlIGZvbGxvd2luZyBuZXcKZmxvdyBncm91cHMgd2lsbCBoYXZlIG9ubHkgb25lIGZs b3cgdGFibGUgZW50cnksIGV2ZW4gdGhvdWdoIHRoZSBmbG93IHRhYmxlCmhhcyBwbGFjZSB0byBs YXJnZXIgZ3JvdXBzLgpGaXggdGhlIGNvbmRpdGlvbiB0byBwcmVmZXIgbGFyZ2UgZmxvdyBncm91 cC4KCkZpeGVzOiBmMGQyMmQxODc0NzMgKCJuZXQvbWx4NV9jb3JlOiBJbnRyb2R1Y2UgZmxvdyBz dGVlcmluZyBhdXRvZ3JvdXBlZCBmbG93IHRhYmxlIikKU2lnbmVkLW9mZi1ieTogTWFvciBHb3R0 bGllYiA8bWFvcmdAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBTYWVlZCBNYWhhbWVlZCA8 c2FlZWRtQG1lbGxhbm94LmNvbT4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9t bHg1L2NvcmUvZnNfY29yZS5jIHwgMTAgKysrKysrLS0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4NS9jb3JlL2ZzX2NvcmUuaCB8ICAxICsKIDIgZmlsZXMgY2hhbmdlZCwgNyBp bnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDUvY29yZS9mc19jb3JlLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5l dC9tZWxsYW5veC9tbHg1L2NvcmUvZnNfY29yZS5jCmluZGV4IGMwNzlmODU1OTNkNi4uODJhNTMz MTcyODVkIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2Nv cmUvZnNfY29yZS5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29y ZS9mc19jb3JlLmMKQEAgLTUyMCw3ICs1MjAsNyBAQCBzdGF0aWMgdm9pZCBkZWxfc3dfZmxvd19n cm91cChzdHJ1Y3QgZnNfbm9kZSAqbm9kZSkKIAogCXJoYXNodGFibGVfZGVzdHJveSgmZmctPmZ0 ZXNfaGFzaCk7CiAJaWRhX2Rlc3Ryb3koJmZnLT5mdGVfYWxsb2NhdG9yKTsKLQlpZiAoZnQtPmF1 dG9ncm91cC5hY3RpdmUpCisJaWYgKGZ0LT5hdXRvZ3JvdXAuYWN0aXZlICYmIGZnLT5tYXhfZnRl cyA9PSBmdC0+YXV0b2dyb3VwLmdyb3VwX3NpemUpCiAJCWZ0LT5hdXRvZ3JvdXAubnVtX2dyb3Vw cy0tOwogCWVyciA9IHJobHRhYmxlX3JlbW92ZSgmZnQtPmZnc19oYXNoLAogCQkJICAgICAgJmZn LT5oYXNoLApAQCAtMTA2NSw2ICsxMDY1LDggQEAgbWx4NV9jcmVhdGVfYXV0b19ncm91cGVkX2Zs b3dfdGFibGUoc3RydWN0IG1seDVfZmxvd19uYW1lc3BhY2UgKm5zLAogCiAJZnQtPmF1dG9ncm91 cC5hY3RpdmUgPSB0cnVlOwogCWZ0LT5hdXRvZ3JvdXAucmVxdWlyZWRfZ3JvdXBzID0gbWF4X251 bV9ncm91cHM7CisJLyogV2Ugc2F2ZSBwbGFjZSBmb3IgZmxvdyBncm91cHMgaW4gYWRkaXRpb24g dG8gbWF4IHR5cGVzICovCisJZnQtPmF1dG9ncm91cC5ncm91cF9zaXplID0gZnQtPm1heF9mdGUg LyAobWF4X251bV9ncm91cHMgKyAxKTsKIAogCXJldHVybiBmdDsKIH0KQEAgLTEyNzAsOCArMTI3 Miw3IEBAIHN0YXRpYyBzdHJ1Y3QgbWx4NV9mbG93X2dyb3VwICphbGxvY19hdXRvX2Zsb3dfZ3Jv dXAoc3RydWN0IG1seDVfZmxvd190YWJsZSAgKmZ0CiAJCXJldHVybiBFUlJfUFRSKC1FTk9FTlQp OwogCiAJaWYgKGZ0LT5hdXRvZ3JvdXAubnVtX2dyb3VwcyA8IGZ0LT5hdXRvZ3JvdXAucmVxdWly ZWRfZ3JvdXBzKQotCQkvKiBXZSBzYXZlIHBsYWNlIGZvciBmbG93IGdyb3VwcyBpbiBhZGRpdGlv biB0byBtYXggdHlwZXMgKi8KLQkJZ3JvdXBfc2l6ZSA9IGZ0LT5tYXhfZnRlIC8gKGZ0LT5hdXRv Z3JvdXAucmVxdWlyZWRfZ3JvdXBzICsgMSk7CisJCWdyb3VwX3NpemUgPSBmdC0+YXV0b2dyb3Vw Lmdyb3VwX3NpemU7CiAKIAkvKiAgZnQtPm1heF9mdGUgPT0gZnQtPmF1dG9ncm91cC5tYXhfdHlw ZXMgKi8KIAlpZiAoZ3JvdXBfc2l6ZSA9PSAwKQpAQCAtMTI5OCw3ICsxMjk5LDggQEAgc3RhdGlj IHN0cnVjdCBtbHg1X2Zsb3dfZ3JvdXAgKmFsbG9jX2F1dG9fZmxvd19ncm91cChzdHJ1Y3QgbWx4 NV9mbG93X3RhYmxlICAqZnQKIAlpZiAoSVNfRVJSKGZnKSkKIAkJZ290byBvdXQ7CiAKLQlmdC0+ YXV0b2dyb3VwLm51bV9ncm91cHMrKzsKKwlpZiAoZ3JvdXBfc2l6ZSA9PSBmdC0+YXV0b2dyb3Vw Lmdyb3VwX3NpemUpCisJCWZ0LT5hdXRvZ3JvdXAubnVtX2dyb3VwcysrOwogCiBvdXQ6CiAJcmV0 dXJuIGZnOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9j b3JlL2ZzX2NvcmUuaCBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9m c19jb3JlLmgKaW5kZXggMzIwNzBlNWQ5OTNkLi5iYTYyZmJjZTIzYTIgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9mc19jb3JlLmgKKysrIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2ZzX2NvcmUuaApAQCAtMTIxLDYg KzEyMSw3IEBAIHN0cnVjdCBtbHg1X2Zsb3dfdGFibGUgewogCXN0cnVjdCB7CiAJCWJvb2wJCQlh Y3RpdmU7CiAJCXVuc2lnbmVkIGludAkJcmVxdWlyZWRfZ3JvdXBzOworCQl1bnNpZ25lZCBpbnQJ CWdyb3VwX3NpemU7CiAJCXVuc2lnbmVkIGludAkJbnVtX2dyb3VwczsKIAl9IGF1dG9ncm91cDsK IAkvKiBQcm90ZWN0IGZ3ZF9ydWxlcyAqLwotLSAKMi4yMC4xCgo= ----Next_Part(Sun_Nov_24_21_54_49_2019_313)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_53.mbox" RnJvbSBkMGUxMDZlMWJkNzRmNmQwZTJlODRkNTM5NzZjOGU4MTJhN2UyZDg2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRyIE1hY2hhdGEgPHBldHJtQG1lbGxhbm94LmNvbT4KRGF0 ZTogTW9uLCAxOCBOb3YgMjAxOSAwOToxODo0MiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMThd IG1seHN3OiBzcGVjdHJ1bV9yb3V0ZXI6IEZpeCBkZXRlcm1pbmluZyB1bmRlcmxheSBmb3IgYQog R1JFIHR1bm5lbAoKWyBVcHN0cmVhbSBjb21taXQgMWZjMTY1Nzc3NWRjMWIxOWU5YWMxZDQ2YjQw NTRlZDhhZTVkOTlhYiBdCgpUaGUgaGVscGVyIG1seHN3X3NwX2lwaXBfZGV2X3VsX3RiX2lkKCkg ZGV0ZXJtaW5lcyB0aGUgdW5kZXJsYXkgVlJGIG9mIGEKR1JFIHR1bm5lbC4gRm9yIGEgdHVubmVs IHdpdGhvdXQgYSBib3VuZCBkZXZpY2UsIGl0IHVzZXMgdGhlIHNhbWUgVlJGIHRoYXQKdGhlIHR1 bm5lbCBpcyBpbi4gSG93ZXZlciBpbiBMaW51eCwgYSBHUkUgdHVubmVsIHdpdGhvdXQgYSBib3Vu ZCBkZXZpY2UKdXNlcyB0aGUgbWFpbiBWUkYgYXMgdGhlIHVuZGVybGF5LiBGaXggdGhlIGZ1bmN0 aW9uIGFjY29yZGluZ2x5LgoKbWx4c3cgZnVydGhlciBhc3N1bWVkIHRoYXQgbW92aW5nIGEgdHVu bmVsIHRvIGEgZGlmZmVyZW50IFZSRiBjb3VsZCBjYXVzZQpjb25mbGljdCBpbiBsb2NhbCB0dW5u ZWwgZW5kcG9pbnQgYWRkcmVzcywgd2hpY2ggY2Fubm90IGJlIG9mZmxvYWRlZC4KSG93ZXZlciwg dGhlIG9ubHkgd2F5IHRoYXQgYW4gdW5kZXJsYXkgY291bGQgYmUgY2hhbmdlZCBieSBtb3Zpbmcg dGhlCnR1bm5lbCBkZXZpY2UgaXRzZWxmIGlzIGlmIHRoZSB0dW5uZWwgZGV2aWNlIGRvZXMgbm90 IGhhdmUgYSBib3VuZCBkZXZpY2UuCkJ1dCBpbiB0aGF0IGNhc2UgdGhlIHVuZGVybGF5IGlzIGFs d2F5cyB0aGUgbWFpbiBWUkYsIHNvIHRoZXJlIGlzIG5vCm9wcG9ydHVuaXR5IHRvIGludHJvZHVj ZSBhIGNvbmZsaWN0IGJ5IG1vdmluZyBzdWNoIGRldmljZS4gVGh1cyB0aGlzIGNoZWNrCmNvbnN0 aXR1dGVzIGEgZGVhZCBjb2RlLCBhbmQgY2FuIGJlIHJlbW92ZWQsIHdoaWNoIGRvLgoKRml4ZXM6 IDZkZGI3NDI2YTdkNCAoIm1seHN3OiBzcGVjdHJ1bV9yb3V0ZXI6IEludHJvZHVjZSBsb29wYmFj ayBSSUZzIikKU2lnbmVkLW9mZi1ieTogUGV0ciBNYWNoYXRhIDxwZXRybUBtZWxsYW5veC5jb20+ ClNpZ25lZC1vZmYtYnk6IElkbyBTY2hpbW1lbCA8aWRvc2NoQG1lbGxhbm94LmNvbT4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIC4uLi9l dGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bV9yb3V0ZXIuYyB8IDE5ICstLS0tLS0tLS0t LS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMTggZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3Ry dW1fcm91dGVyLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1 bV9yb3V0ZXIuYwppbmRleCBlNjE4YmU3Y2U2YzYuLjdiN2U1MGQyNWQyNSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW1fcm91dGVyLmMKKysr IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW1fcm91dGVyLmMK QEAgLTk5NCw3ICs5OTQsNyBAQCB1MzIgbWx4c3dfc3BfaXBpcF9kZXZfdWxfdGJfaWQoY29uc3Qg c3RydWN0IG5ldF9kZXZpY2UgKm9sX2RldikKIAlpZiAoZCkKIAkJcmV0dXJuIGwzbWRldl9maWJf dGFibGUoZCkgPyA6IFJUX1RBQkxFX01BSU47CiAJZWxzZQotCQlyZXR1cm4gbDNtZGV2X2ZpYl90 YWJsZShvbF9kZXYpID8gOiBSVF9UQUJMRV9NQUlOOworCQlyZXR1cm4gUlRfVEFCTEVfTUFJTjsK IH0KIAogc3RhdGljIHN0cnVjdCBtbHhzd19zcF9yaWYgKgpAQCAtMTU5OCwyNyArMTU5OCwxMCBA QCBzdGF0aWMgaW50IG1seHN3X3NwX25ldGRldmljZV9pcGlwX29sX3ZyZl9ldmVudChzdHJ1Y3Qg bWx4c3dfc3AgKm1seHN3X3NwLAogewogCXN0cnVjdCBtbHhzd19zcF9pcGlwX2VudHJ5ICppcGlw X2VudHJ5ID0KIAkJbWx4c3dfc3BfaXBpcF9lbnRyeV9maW5kX2J5X29sX2RldihtbHhzd19zcCwg b2xfZGV2KTsKLQllbnVtIG1seHN3X3NwX2wzcHJvdG8gdWxfcHJvdG87Ci0JdW5pb24gbWx4c3df c3BfbDNhZGRyIHNhZGRyOwotCXUzMiB1bF90Yl9pZDsKIAogCWlmICghaXBpcF9lbnRyeSkKIAkJ cmV0dXJuIDA7CiAKLQkvKiBGb3IgZmxhdCBjb25maWd1cmF0aW9uIGNhc2VzLCBtb3Zpbmcgb3Zl cmxheSB0byBhIGRpZmZlcmVudCBWUkYgbWlnaHQKLQkgKiBjYXVzZSBsb2NhbCBhZGRyZXNzIGNv bmZsaWN0LCBhbmQgdGhlIGNvbmZsaWN0aW5nIHR1bm5lbHMgbmVlZCB0byBiZQotCSAqIGRlbW90 ZWQuCi0JICovCi0JdWxfdGJfaWQgPSBtbHhzd19zcF9pcGlwX2Rldl91bF90Yl9pZChvbF9kZXYp OwotCXVsX3Byb3RvID0gbWx4c3dfc3AtPnJvdXRlci0+aXBpcF9vcHNfYXJyW2lwaXBfZW50cnkt PmlwaXB0XS0+dWxfcHJvdG87Ci0Jc2FkZHIgPSBtbHhzd19zcF9pcGlwX25ldGRldl9zYWRkcih1 bF9wcm90bywgb2xfZGV2KTsKLQlpZiAobWx4c3dfc3BfaXBpcF9kZW1vdGVfdHVubmVsX2J5X3Nh ZGRyKG1seHN3X3NwLCB1bF9wcm90bywKLQkJCQkJCSBzYWRkciwgdWxfdGJfaWQsCi0JCQkJCQkg aXBpcF9lbnRyeSkpIHsKLQkJbWx4c3dfc3BfaXBpcF9lbnRyeV9kZW1vdGVfdHVubmVsKG1seHN3 X3NwLCBpcGlwX2VudHJ5KTsKLQkJcmV0dXJuIDA7Ci0JfQotCiAJcmV0dXJuIF9fbWx4c3dfc3Bf aXBpcF9lbnRyeV91cGRhdGVfdHVubmVsKG1seHN3X3NwLCBpcGlwX2VudHJ5LAogCQkJCQkJICAg dHJ1ZSwgZmFsc2UsIGZhbHNlLCBleHRhY2spOwogfQotLSAKMi4yMC4xCgoKRnJvbSA1YTA0ODAy YzVjNzczOTM5MDYwOTFkNjRkNWRkYzVhMzczMTFkZDA4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBMdWlnaSBSaXp6byA8bHJpenpvQGdvb2dsZS5jb20+CkRhdGU6IEZyaSwgMTUgTm92 IDIwMTkgMTI6MTI6MjUgLTA4MDAKU3ViamVjdDogW1BBVENIIDAyLzE4XSBuZXQvbWx4NF9lbjog Zml4IG1seDQgZXRodG9vbCAtTiBpbnNlcnRpb24KClsgVXBzdHJlYW0gY29tbWl0IDM0ZTU5ODM2 NTY1ZTM2ZmFkZTE0NjRlMDU0YTM1NTFjMWEwMzY0YmUgXQoKZXRodG9vbCBleHBlY3RzIEVUSFRP T0xfR1JYQ0xTUkxBTEwgdG8gc2V0IGV0aHRvb2xfcnhuZmMtPmRhdGEgd2l0aCB0aGUKdG90YWwg bnVtYmVyIG9mIGVudHJpZXMgaW4gdGhlIHJ4IGNsYXNzaWZpZXIgdGFibGUuICBTdXJwcmlzaW5n bHksIG1seDQKaXMgbWlzc2luZyB0aGlzIHBhcnQgKGluIHByaW5jaXBsZSBldGh0b29sIGNvdWxk IHN0aWxsIG1vdmUgZm9yd2FyZCBhbmQKdHJ5IHRoZSBpbnNlcnQpLgoKVGVzdGVkOiBjb21waWxl ZCBhbmQgcnVuIGNvbW1hbmQ6CglwaGgxMzp+IyBldGh0b29sIC1OIGV0aDEgZmxvdy10eXBlIHVk cDQgIHF1ZXVlIDQKCUFkZGVkIHJ1bGUgd2l0aCBJRCAyNTUKClNpZ25lZC1vZmYtYnk6IEx1aWdp IFJpenpvIDxscml6em9AZ29vZ2xlLmNvbT4KUmV2aWV3ZWQtYnk6IFRhcmlxIFRvdWthbiA8dGFy aXF0QG1lbGxhbm94LmNvbT4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0 L2VuX2V0aHRvb2wuYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9lbl9ldGh0b29sLmMg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2VuX2V0aHRvb2wuYwppbmRleCA5 NGM1OTkzOWE4Y2YuLjk0OWVjNzBiNmMxMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJu ZXQvbWVsbGFub3gvbWx4NC9lbl9ldGh0b29sLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4NC9lbl9ldGh0b29sLmMKQEAgLTE3NDUsNiArMTc0NSw3IEBAIHN0YXRpYyBp bnQgbWx4NF9lbl9nZXRfcnhuZmMoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IGV0aHRv b2xfcnhuZmMgKmNtZCwKIAkJZXJyID0gbWx4NF9lbl9nZXRfZmxvdyhkZXYsIGNtZCwgY21kLT5m cy5sb2NhdGlvbik7CiAJCWJyZWFrOwogCWNhc2UgRVRIVE9PTF9HUlhDTFNSTEFMTDoKKwkJY21k LT5kYXRhID0gTUFYX05VTV9PRl9GU19SVUxFUzsKIAkJd2hpbGUgKCghZXJyIHx8IGVyciA9PSAt RU5PRU5UKSAmJiBwcmlvcml0eSA8IGNtZC0+cnVsZV9jbnQpIHsKIAkJCWVyciA9IG1seDRfZW5f Z2V0X2Zsb3coZGV2LCBjbWQsIGkpOwogCQkJaWYgKCFlcnIpCi0tIAoyLjIwLjEKCgpGcm9tIDY2 ODVjNTljNGU1OTZlZjM4OWU2YzlmM2YyMDY3NzE5Zjk4OWE0MjIgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IFRhcmlxIFRvdWthbiA8dGFyaXF0QG1lbGxhbm94LmNvbT4KRGF0ZTogTW9u LCAxOCBOb3YgMjAxOSAxMTo0MTowNCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDMvMThdIG5ldC9t bHg0X2VuOiBGaXggd3JvbmcgbGltaXRhdGlvbiBmb3IgbnVtYmVyIG9mIFRYCiByaW5ncwoKWyBV cHN0cmVhbSBjb21taXQgMjc0NGJmNDI2ODBmNjRlYmYyZWU4YTAwMzU0ODk3ODU3YzA3MzMzMSBd CgpYRFBfVFggcmluZ3Mgc2hvdWxkIG5vdCBiZSBsaW1pdGVkIGJ5IG1heF9udW1fdHhfcmluZ3Nf cF91cC4KVG8gbWFrZSBzdXJlIHRvdGFsIG51bWJlciBvZiBUWCByaW5ncyBuZXZlciBleGNlZWQg TUFYX1RYX1JJTkdTLAphZGQgc2ltaWxhciBjaGVjayBpbiBtbHg0X2VuX2FsbG9jX3R4X3F1ZXVl X3Blcl90YygpLCB3aGVyZQphIG5ldyB2YWx1ZSBpcyBhc3NpZ25lZCBmb3IgbnVtX3VwLgoKRml4 ZXM6IDdlMWRjNWU5MjZkNSAoIm5ldC9tbHg0X2VuOiBMaW1pdCB0aGUgbnVtYmVyIG9mIFRYIHJp bmdzIikKU2lnbmVkLW9mZi1ieTogVGFyaXEgVG91a2FuIDx0YXJpcXRAbWVsbGFub3guY29tPgpT aWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQog ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9lbl9ldGh0b29sLmMgfCA4ICsrKyst LS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2VuX25ldGRldi5jICB8IDkg KysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9lbl9l dGh0b29sLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2VuX2V0aHRvb2wu YwppbmRleCA5NDllYzcwYjZjMTMuLmU2MzlhMzY1YWMyZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9lbl9ldGh0b29sLmMKKysrIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9lbl9ldGh0b29sLmMKQEAgLTE4MTIsNiArMTgxMiw3IEBA IHN0YXRpYyBpbnQgbWx4NF9lbl9zZXRfY2hhbm5lbHMoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwK IAlzdHJ1Y3QgbWx4NF9lbl9kZXYgKm1kZXYgPSBwcml2LT5tZGV2OwogCXN0cnVjdCBtbHg0X2Vu X3BvcnRfcHJvZmlsZSBuZXdfcHJvZjsKIAlzdHJ1Y3QgbWx4NF9lbl9wcml2ICp0bXA7CisJaW50 IHRvdGFsX3R4X2NvdW50OwogCWludCBwb3J0X3VwID0gMDsKIAlpbnQgeGRwX2NvdW50OwogCWlu dCBlcnIgPSAwOwpAQCAtMTgyNiwxMyArMTgyNywxMiBAQCBzdGF0aWMgaW50IG1seDRfZW5fc2V0 X2NoYW5uZWxzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAKIAltdXRleF9sb2NrKCZtZGV2LT5z dGF0ZV9sb2NrKTsKIAl4ZHBfY291bnQgPSBwcml2LT50eF9yaW5nX251bVtUWF9YRFBdID8gY2hh bm5lbC0+cnhfY291bnQgOiAwOwotCWlmIChjaGFubmVsLT50eF9jb3VudCAqIHByaXYtPnByb2Yt Pm51bV91cCArIHhkcF9jb3VudCA+Ci0JICAgIHByaXYtPm1kZXYtPnByb2ZpbGUubWF4X251bV90 eF9yaW5nc19wX3VwICogcHJpdi0+cHJvZi0+bnVtX3VwKSB7CisJdG90YWxfdHhfY291bnQgPSBj aGFubmVsLT50eF9jb3VudCAqIHByaXYtPnByb2YtPm51bV91cCArIHhkcF9jb3VudDsKKwlpZiAo dG90YWxfdHhfY291bnQgPiBNQVhfVFhfUklOR1MpIHsKIAkJZXJyID0gLUVJTlZBTDsKIAkJZW5f ZXJyKHByaXYsCiAJCSAgICAgICAiVG90YWwgbnVtYmVyIG9mIFRYIGFuZCBYRFAgcmluZ3MgKCVk KSBleGNlZWRzIHRoZSBtYXhpbXVtIHN1cHBvcnRlZCAoJWQpXG4iLAotCQkgICAgICAgY2hhbm5l bC0+dHhfY291bnQgKiBwcml2LT5wcm9mLT5udW1fdXAgICsgeGRwX2NvdW50LAotCQkgICAgICAg TUFYX1RYX1JJTkdTKTsKKwkJICAgICAgIHRvdGFsX3R4X2NvdW50LCBNQVhfVFhfUklOR1MpOwog CQlnb3RvIG91dDsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxh bm94L21seDQvZW5fbmV0ZGV2LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0 L2VuX25ldGRldi5jCmluZGV4IGMxNDM4YWU1MmExMS4uYmE0ZjE5NWEzNmQ2IDEwMDY0NAotLS0g YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2VuX25ldGRldi5jCisrKyBiL2Ry aXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDQvZW5fbmV0ZGV2LmMKQEAgLTkxLDYgKzkx LDcgQEAgaW50IG1seDRfZW5fYWxsb2NfdHhfcXVldWVfcGVyX3RjKHN0cnVjdCBuZXRfZGV2aWNl ICpkZXYsIHU4IHRjKQogCXN0cnVjdCBtbHg0X2VuX2RldiAqbWRldiA9IHByaXYtPm1kZXY7CiAJ c3RydWN0IG1seDRfZW5fcG9ydF9wcm9maWxlIG5ld19wcm9mOwogCXN0cnVjdCBtbHg0X2VuX3By aXYgKnRtcDsKKwlpbnQgdG90YWxfY291bnQ7CiAJaW50IHBvcnRfdXAgPSAwOwogCWludCBlcnIg PSAwOwogCkBAIC0xMDQsNiArMTA1LDE0IEBAIGludCBtbHg0X2VuX2FsbG9jX3R4X3F1ZXVlX3Bl cl90YyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1OCB0YykKIAkJCQkgICAgICBNTFg0X0VOX05V TV9VUF9ISUdIOwogCW5ld19wcm9mLnR4X3JpbmdfbnVtW1RYXSA9IG5ld19wcm9mLm51bV90eF9y aW5nc19wX3VwICoKIAkJCQkgICBuZXdfcHJvZi5udW1fdXA7CisJdG90YWxfY291bnQgPSBuZXdf cHJvZi50eF9yaW5nX251bVtUWF0gKyBuZXdfcHJvZi50eF9yaW5nX251bVtUWF9YRFBdOworCWlm ICh0b3RhbF9jb3VudCA+IE1BWF9UWF9SSU5HUykgeworCQllcnIgPSAtRUlOVkFMOworCQllbl9l cnIocHJpdiwKKwkJICAgICAgICJUb3RhbCBudW1iZXIgb2YgVFggYW5kIFhEUCByaW5ncyAoJWQp IGV4Y2VlZHMgdGhlIG1heGltdW0gc3VwcG9ydGVkICglZClcbiIsCisJCSAgICAgICB0b3RhbF9j b3VudCwgTUFYX1RYX1JJTkdTKTsKKwkJZ290byBvdXQ7CisJfQogCWVyciA9IG1seDRfZW5fdHJ5 X2FsbG9jX3Jlc291cmNlcyhwcml2LCB0bXAsICZuZXdfcHJvZiwgdHJ1ZSk7CiAJaWYgKGVycikK IAkJZ290byBvdXQ7Ci0tIAoyLjIwLjEKCgpGcm9tIGVhNTkwZmRmMTllMTEyZjdhNjRmYmM0ZTE1 OTc5ZWZiODBhZTI2ZWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IERhbiBDYXJwZW50 ZXIgPGRhbi5jYXJwZW50ZXJAb3JhY2xlLmNvbT4KRGF0ZTogV2VkLCAyMCBOb3YgMjAxOSAxNToz NDozOCArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMDQvMThdIG5ldDogcnRuZXRsaW5rOiBwcmV2ZW50 IHVuZGVyZmxvd3MgaW4gZG9fc2V0dmZpbmZvKCkKClsgVXBzdHJlYW0gY29tbWl0IGQ2NThjOGY1 NmVjN2IzZGU4MDUxYTI0YWZiMjVkYTliYTNjMzg4YzUgXQoKVGhlICJpdm0tPnZmIiB2YXJpYWJs ZSBpcyBhIHUzMiwgYnV0IHRoZSBwcm9ibGVtIGlzIHRoYXQgYSBudW1iZXIgb2YKZHJpdmVycyBj YXN0IGl0IHRvIGFuIGludCBhbmQgdGhlbiBmb3JnZXQgdG8gY2hlY2sgZm9yIG5lZ2F0aXZlcy4g IEFuCmV4YW1wbGUgb2YgdGhpcyBpcyBpbiB0aGUgY3hnYjQgZHJpdmVyLgoKZHJpdmVycy9uZXQv ZXRoZXJuZXQvY2hlbHNpby9jeGdiNC9jeGdiNF9tYWluLmMKICAyODkwICBzdGF0aWMgaW50IGN4 Z2I0X21nbXRfZ2V0X3ZmX2NvbmZpZyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAogIDI4OTEgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB2Ziwgc3RydWN0IGlmbGFfdmZf aW5mbyAqaXZpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5e Xl5eXgogIDI4OTIgIHsKICAyODkzICAgICAgICAgIHN0cnVjdCBwb3J0X2luZm8gKnBpID0gbmV0 ZGV2X3ByaXYoZGV2KTsKICAyODk0ICAgICAgICAgIHN0cnVjdCBhZGFwdGVyICphZGFwID0gcGkt PmFkYXB0ZXI7CiAgMjg5NSAgICAgICAgICBzdHJ1Y3QgdmZfaW5mbyAqdmZpbmZvOwogIDI4OTYK ICAyODk3ICAgICAgICAgIGlmICh2ZiA+PSBhZGFwLT5udW1fdmZzKQogICAgICAgICAgICAgICAg ICAgIF5eXl5eXl5eXl5eXl5eXl5eXl4KICAyODk4ICAgICAgICAgICAgICAgICAgcmV0dXJuIC1F SU5WQUw7CiAgMjg5OSAgICAgICAgICB2ZmluZm8gPSAmYWRhcC0+dmZpbmZvW3ZmXTsKICAgICAg ICAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCgpUaGVyZSBhcmUgNDggZnVuY3Rp b25zIGFmZmVjdGVkLgoKZHJpdmVycy9uZXQvZXRoZXJuZXQvaGlzaWxpY29uL2huczMvaG5zM3Bm L2hjbGdlX21haW4uYzo4NDM1IGhjbGdlX3NldF92Zl92bGFuX2ZpbHRlcigpIHdhcm46IGNhbiAn dmZpZCcgdW5kZXJmbG93ICdzMzJtaW4tMjE0NzQ4MzY0NicKZHJpdmVycy9uZXQvZXRoZXJuZXQv ZnJlZXNjYWxlL2VuZXRjL2VuZXRjX3BmLmM6Mzc3IGVuZXRjX3BmX3NldF92Zl9tYWMoKSB3YXJu OiBjYW4gJ3ZmJyB1bmRlcmZsb3cgJ3MzMm1pbi0yMTQ3NDgzNjQ2Jwpkcml2ZXJzL25ldC9ldGhl cm5ldC9jaGVsc2lvL2N4Z2I0L2N4Z2I0X21haW4uYzoyODk5IGN4Z2I0X21nbXRfZ2V0X3ZmX2Nv bmZpZygpIHdhcm46IGNhbiAndmYnIHVuZGVyZmxvdyAnczMybWluLTI1NCcKZHJpdmVycy9uZXQv ZXRoZXJuZXQvY2hlbHNpby9jeGdiNC9jeGdiNF9tYWluLmM6Mjk2MCBjeGdiNF9tZ210X3NldF92 Zl9yYXRlKCkgd2FybjogY2FuICd2ZicgdW5kZXJmbG93ICdzMzJtaW4tMjU0Jwpkcml2ZXJzL25l dC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2I0L2N4Z2I0X21haW4uYzozMDE5IGN4Z2I0X21nbXRfc2V0 X3ZmX3JhdGUoKSB3YXJuOiBjYW4gJ3ZmJyB1bmRlcmZsb3cgJ3MzMm1pbi0yNTQnCmRyaXZlcnMv bmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYjQvY3hnYjRfbWFpbi5jOjMwMzggY3hnYjRfbWdtdF9z ZXRfdmZfdmxhbigpIHdhcm46IGNhbiAndmYnIHVuZGVyZmxvdyAnczMybWluLTI1NCcKZHJpdmVy cy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiNC9jeGdiNF9tYWluLmM6MzA4NiBjeGdiNF9tZ210 X3NldF92Zl9saW5rX3N0YXRlKCkgd2FybjogY2FuICd2ZicgdW5kZXJmbG93ICdzMzJtaW4tMjU0 Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2IvY3hnYjIuYzo3OTEgZ2V0X2VlcHJv bSgpIHdhcm46IGNhbiAnaScgdW5kZXJmbG93ICdzMzJtaW4tKC00KSwwLDQtczMybWF4Jwpkcml2 ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfc3Jpb3YuYzo4MiBibnh0X3NldF92 Zl9zcG9vZmNoaygpIHdhcm46IGNhbiAndmZfaWQnIHVuZGVyZmxvdyAnczMybWluLTY1NTM0Jwpk cml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfc3Jpb3YuYzoxNjQgYm54dF9z ZXRfdmZfdHJ1c3QoKSB3YXJuOiBjYW4gJ3ZmX2lkJyB1bmRlcmZsb3cgJ3MzMm1pbi02NTUzNCcK ZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0X3NyaW92LmM6MTg2IGJueHRf Z2V0X3ZmX2NvbmZpZygpIHdhcm46IGNhbiAndmZfaWQnIHVuZGVyZmxvdyAnczMybWluLTY1NTM0 Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfc3Jpb3YuYzoyMjggYm54 dF9zZXRfdmZfbWFjKCkgd2FybjogY2FuICd2Zl9pZCcgdW5kZXJmbG93ICdzMzJtaW4tNjU1MzQn CmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dF9zcmlvdi5jOjI2NCBibnh0 X3NldF92Zl92bGFuKCkgd2FybjogY2FuICd2Zl9pZCcgdW5kZXJmbG93ICdzMzJtaW4tNjU1MzQn CmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dF9zcmlvdi5jOjI5MyBibnh0 X3NldF92Zl9idygpIHdhcm46IGNhbiAndmZfaWQnIHVuZGVyZmxvdyAnczMybWluLTY1NTM0Jwpk cml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfc3Jpb3YuYzozMzMgYm54dF9z ZXRfdmZfbGlua19zdGF0ZSgpIHdhcm46IGNhbiAndmZfaWQnIHVuZGVyZmxvdyAnczMybWluLTY1 NTM0Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9zcmlvdi5jOjI1 OTUgYm54MnhfdmZfb3BfcHJlcCgpIHdhcm46IGNhbiAndmZpZHgnIHVuZGVyZmxvdyAnczMybWlu LTYzJwpkcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9zcmlvdi5jOjI1 OTUgYm54MnhfdmZfb3BfcHJlcCgpIHdhcm46IGNhbiAndmZpZHgnIHVuZGVyZmxvdyAnczMybWlu LTYzJwpkcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF92ZnBmLmM6MjI4 MSBibngyeF9wb3N0X3ZmX2J1bGxldGluKCkgd2FybjogY2FuICd2ZicgdW5kZXJmbG93ICdzMzJt aW4tNjMnCmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X3ZmcGYuYzoy Mjg1IGJueDJ4X3Bvc3RfdmZfYnVsbGV0aW4oKSB3YXJuOiBjYW4gJ3ZmJyB1bmRlcmZsb3cgJ3Mz Mm1pbi02MycKZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfdmZwZi5j OjIyODYgYm54MnhfcG9zdF92Zl9idWxsZXRpbigpIHdhcm46IGNhbiAndmYnIHVuZGVyZmxvdyAn czMybWluLTYzJwpkcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF92ZnBm LmM6MjI5MiBibngyeF9wb3N0X3ZmX2J1bGxldGluKCkgd2FybjogY2FuICd2ZicgdW5kZXJmbG93 ICdzMzJtaW4tNjMnCmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X3Zm cGYuYzoyMjk3IGJueDJ4X3Bvc3RfdmZfYnVsbGV0aW4oKSB3YXJuOiBjYW4gJ3ZmJyB1bmRlcmZs b3cgJ3MzMm1pbi02MycKZHJpdmVycy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FsY25pYy9xbGNuaWNf c3Jpb3ZfcGYuYzoxODMyIHFsY25pY19zcmlvdl9zZXRfdmZfbWFjKCkgd2FybjogY2FuICd2Zicg dW5kZXJmbG93ICdzMzJtaW4tMjU0Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9xbG9naWMvcWxjbmlj L3FsY25pY19zcmlvdl9wZi5jOjE4NjQgcWxjbmljX3NyaW92X3NldF92Zl90eF9yYXRlKCkgd2Fy bjogY2FuICd2ZicgdW5kZXJmbG93ICdzMzJtaW4tMjU0Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9x bG9naWMvcWxjbmljL3FsY25pY19zcmlvdl9wZi5jOjE5MzcgcWxjbmljX3NyaW92X3NldF92Zl92 bGFuKCkgd2FybjogY2FuICd2ZicgdW5kZXJmbG93ICdzMzJtaW4tMjU0Jwpkcml2ZXJzL25ldC9l dGhlcm5ldC9xbG9naWMvcWxjbmljL3FsY25pY19zcmlvdl9wZi5jOjIwMDUgcWxjbmljX3NyaW92 X2dldF92Zl9jb25maWcoKSB3YXJuOiBjYW4gJ3ZmJyB1bmRlcmZsb3cgJ3MzMm1pbi0yNTQnCmRy aXZlcnMvbmV0L2V0aGVybmV0L3Fsb2dpYy9xbGNuaWMvcWxjbmljX3NyaW92X3BmLmM6MjAzNiBx bGNuaWNfc3Jpb3Zfc2V0X3ZmX3Nwb29mY2hrKCkgd2FybjogY2FuICd2ZicgdW5kZXJmbG93ICdz MzJtaW4tMjU0Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9lbXVsZXgvYmVuZXQvYmVfbWFpbi5jOjE5 MTQgYmVfZ2V0X3ZmX2NvbmZpZygpIHdhcm46IGNhbiAndmYnIHVuZGVyZmxvdyAnczMybWluLTY1 NTM0Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9lbXVsZXgvYmVuZXQvYmVfbWFpbi5jOjE5MTUgYmVf Z2V0X3ZmX2NvbmZpZygpIHdhcm46IGNhbiAndmYnIHVuZGVyZmxvdyAnczMybWluLTY1NTM0Jwpk cml2ZXJzL25ldC9ldGhlcm5ldC9lbXVsZXgvYmVuZXQvYmVfbWFpbi5jOjE5MjIgYmVfc2V0X3Zm X3R2dCgpIHdhcm46IGNhbiAndmYnIHVuZGVyZmxvdyAnczMybWluLTY1NTM0Jwpkcml2ZXJzL25l dC9ldGhlcm5ldC9lbXVsZXgvYmVuZXQvYmVfbWFpbi5jOjE5NTEgYmVfY2xlYXJfdmZfdHZ0KCkg d2FybjogY2FuICd2ZicgdW5kZXJmbG93ICdzMzJtaW4tNjU1MzQnCmRyaXZlcnMvbmV0L2V0aGVy bmV0L2VtdWxleC9iZW5ldC9iZV9tYWluLmM6MjA2MyBiZV9zZXRfdmZfdHhfcmF0ZSgpIHdhcm46 IGNhbiAndmYnIHVuZGVyZmxvdyAnczMybWluLTY1NTM0Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9l bXVsZXgvYmVuZXQvYmVfbWFpbi5jOjIwOTEgYmVfc2V0X3ZmX2xpbmtfc3RhdGUoKSB3YXJuOiBj YW4gJ3ZmJyB1bmRlcmZsb3cgJ3MzMm1pbi02NTUzNCcKZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50 ZWwvaWNlL2ljZV92aXJ0Y2hubF9wZi5jOjI2MDkgaWNlX3NldF92Zl9wb3J0X3ZsYW4oKSB3YXJu OiBjYW4gJ3ZmX2lkJyB1bmRlcmZsb3cgJ3MzMm1pbi02NTUzNCcKZHJpdmVycy9uZXQvZXRoZXJu ZXQvaW50ZWwvaWNlL2ljZV92aXJ0Y2hubF9wZi5jOjMwNTAgaWNlX2dldF92Zl9jZmcoKSB3YXJu OiBjYW4gJ3ZmX2lkJyB1bmRlcmZsb3cgJ3MzMm1pbi02NTUzNCcKZHJpdmVycy9uZXQvZXRoZXJu ZXQvaW50ZWwvaWNlL2ljZV92aXJ0Y2hubF9wZi5jOjMxMDMgaWNlX3NldF92Zl9zcG9vZmNoaygp IHdhcm46IGNhbiAndmZfaWQnIHVuZGVyZmxvdyAnczMybWluLTY1NTM0Jwpkcml2ZXJzL25ldC9l dGhlcm5ldC9pbnRlbC9pY2UvaWNlX3ZpcnRjaG5sX3BmLmM6MzE4MSBpY2Vfc2V0X3ZmX21hYygp IHdhcm46IGNhbiAndmZfaWQnIHVuZGVyZmxvdyAnczMybWluLTY1NTM0Jwpkcml2ZXJzL25ldC9l dGhlcm5ldC9pbnRlbC9pY2UvaWNlX3ZpcnRjaG5sX3BmLmM6MzIzNyBpY2Vfc2V0X3ZmX3RydXN0 KCkgd2FybjogY2FuICd2Zl9pZCcgdW5kZXJmbG93ICdzMzJtaW4tNjU1MzQnCmRyaXZlcnMvbmV0 L2V0aGVybmV0L2ludGVsL2ljZS9pY2VfdmlydGNobmxfcGYuYzozMjg2IGljZV9zZXRfdmZfbGlu a19zdGF0ZSgpIHdhcm46IGNhbiAndmZfaWQnIHVuZGVyZmxvdyAnczMybWluLTY1NTM0Jwpkcml2 ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9pNDBlL2k0MGVfdmlydGNobmxfcGYuYzozOTE5IGk0MGVf dmFsaWRhdGVfdmYoKSB3YXJuOiBjYW4gJ3ZmX2lkJyB1bmRlcmZsb3cgJ3MzMm1pbi0yMTQ3NDgz NjQ2Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9pNDBlL2k0MGVfdmlydGNobmxfcGYuYzoz OTU3IGk0MGVfbmRvX3NldF92Zl9tYWMoKSB3YXJuOiBjYW4gJ3ZmX2lkJyB1bmRlcmZsb3cgJ3Mz Mm1pbi0yMTQ3NDgzNjQ2Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9pNDBlL2k0MGVfdmly dGNobmxfcGYuYzo0MTA0IGk0MGVfbmRvX3NldF92Zl9wb3J0X3ZsYW4oKSB3YXJuOiBjYW4gJ3Zm X2lkJyB1bmRlcmZsb3cgJ3MzMm1pbi0yMTQ3NDgzNjQ2Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9p bnRlbC9pNDBlL2k0MGVfdmlydGNobmxfcGYuYzo0MjYzIGk0MGVfbmRvX3NldF92Zl9idygpIHdh cm46IGNhbiAndmZfaWQnIHVuZGVyZmxvdyAnczMybWluLTIxNDc0ODM2NDYnCmRyaXZlcnMvbmV0 L2V0aGVybmV0L2ludGVsL2k0MGUvaTQwZV92aXJ0Y2hubF9wZi5jOjQzMDkgaTQwZV9uZG9fZ2V0 X3ZmX2NvbmZpZygpIHdhcm46IGNhbiAndmZfaWQnIHVuZGVyZmxvdyAnczMybWluLTIxNDc0ODM2 NDYnCmRyaXZlcnMvbmV0L2V0aGVybmV0L2ludGVsL2k0MGUvaTQwZV92aXJ0Y2hubF9wZi5jOjQz NzEgaTQwZV9uZG9fc2V0X3ZmX2xpbmtfc3RhdGUoKSB3YXJuOiBjYW4gJ3ZmX2lkJyB1bmRlcmZs b3cgJ3MzMm1pbi0yMTQ3NDgzNjQ2Jwpkcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9pNDBlL2k0 MGVfdmlydGNobmxfcGYuYzo0NDQxIGk0MGVfbmRvX3NldF92Zl9zcG9vZmNoaygpIHdhcm46IGNh biAndmZfaWQnIHVuZGVyZmxvdyAnczMybWluLTIxNDc0ODM2NDYnCmRyaXZlcnMvbmV0L2V0aGVy bmV0L2ludGVsL2k0MGUvaTQwZV92aXJ0Y2hubF9wZi5jOjQ0NDEgaTQwZV9uZG9fc2V0X3ZmX3Nw b29mY2hrKCkgd2FybjogY2FuICd2Zl9pZCcgdW5kZXJmbG93ICdzMzJtaW4tMjE0NzQ4MzY0NicK ZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvaTQwZS9pNDBlX3ZpcnRjaG5sX3BmLmM6NDUwNCBp NDBlX25kb19zZXRfdmZfdHJ1c3QoKSB3YXJuOiBjYW4gJ3ZmX2lkJyB1bmRlcmZsb3cgJ3MzMm1p bi0yMTQ3NDgzNjQ2JwoKU2lnbmVkLW9mZi1ieTogRGFuIENhcnBlbnRlciA8ZGFuLmNhcnBlbnRl ckBvcmFjbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogbmV0L2NvcmUvcnRuZXRsaW5rLmMgfCAyMyArKysrKysrKysrKysrKysr KysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK CmRpZmYgLS1naXQgYS9uZXQvY29yZS9ydG5ldGxpbmsuYyBiL25ldC9jb3JlL3J0bmV0bGluay5j CmluZGV4IDg2OGE3NjhmNzMwMC4uNjA5ODdiZTdmZGFhIDEwMDY0NAotLS0gYS9uZXQvY29yZS9y dG5ldGxpbmsuYworKysgYi9uZXQvY29yZS9ydG5ldGxpbmsuYwpAQCAtMjE5NSw2ICsyMTk1LDgg QEAgc3RhdGljIGludCBkb19zZXR2ZmluZm8oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0 IG5sYXR0ciAqKnRiKQogCWlmICh0YltJRkxBX1ZGX01BQ10pIHsKIAkJc3RydWN0IGlmbGFfdmZf bWFjICppdm0gPSBubGFfZGF0YSh0YltJRkxBX1ZGX01BQ10pOwogCisJCWlmIChpdm0tPnZmID49 IElOVF9NQVgpCisJCQlyZXR1cm4gLUVJTlZBTDsKIAkJZXJyID0gLUVPUE5PVFNVUFA7CiAJCWlm IChvcHMtPm5kb19zZXRfdmZfbWFjKQogCQkJZXJyID0gb3BzLT5uZG9fc2V0X3ZmX21hYyhkZXYs IGl2bS0+dmYsCkBAIC0yMjA2LDYgKzIyMDgsOCBAQCBzdGF0aWMgaW50IGRvX3NldHZmaW5mbyhz dHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgbmxhdHRyICoqdGIpCiAJaWYgKHRiW0lGTEFf VkZfVkxBTl0pIHsKIAkJc3RydWN0IGlmbGFfdmZfdmxhbiAqaXZ2ID0gbmxhX2RhdGEodGJbSUZM QV9WRl9WTEFOXSk7CiAKKwkJaWYgKGl2di0+dmYgPj0gSU5UX01BWCkKKwkJCXJldHVybiAtRUlO VkFMOwogCQllcnIgPSAtRU9QTk9UU1VQUDsKIAkJaWYgKG9wcy0+bmRvX3NldF92Zl92bGFuKQog CQkJZXJyID0gb3BzLT5uZG9fc2V0X3ZmX3ZsYW4oZGV2LCBpdnYtPnZmLCBpdnYtPnZsYW4sCkBA IC0yMjM4LDYgKzIyNDIsOCBAQCBzdGF0aWMgaW50IGRvX3NldHZmaW5mbyhzdHJ1Y3QgbmV0X2Rl dmljZSAqZGV2LCBzdHJ1Y3QgbmxhdHRyICoqdGIpCiAJCWlmIChsZW4gPT0gMCkKIAkJCXJldHVy biAtRUlOVkFMOwogCisJCWlmIChpdnZsWzBdLT52ZiA+PSBJTlRfTUFYKQorCQkJcmV0dXJuIC1F SU5WQUw7CiAJCWVyciA9IG9wcy0+bmRvX3NldF92Zl92bGFuKGRldiwgaXZ2bFswXS0+dmYsIGl2 dmxbMF0tPnZsYW4sCiAJCQkJCSAgIGl2dmxbMF0tPnFvcywgaXZ2bFswXS0+dmxhbl9wcm90byk7 CiAJCWlmIChlcnIgPCAwKQpAQCAtMjI0OCw2ICsyMjU0LDggQEAgc3RhdGljIGludCBkb19zZXR2 ZmluZm8oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IG5sYXR0ciAqKnRiKQogCQlzdHJ1 Y3QgaWZsYV92Zl90eF9yYXRlICppdnQgPSBubGFfZGF0YSh0YltJRkxBX1ZGX1RYX1JBVEVdKTsK IAkJc3RydWN0IGlmbGFfdmZfaW5mbyBpdmY7CiAKKwkJaWYgKGl2dC0+dmYgPj0gSU5UX01BWCkK KwkJCXJldHVybiAtRUlOVkFMOwogCQllcnIgPSAtRU9QTk9UU1VQUDsKIAkJaWYgKG9wcy0+bmRv X2dldF92Zl9jb25maWcpCiAJCQllcnIgPSBvcHMtPm5kb19nZXRfdmZfY29uZmlnKGRldiwgaXZ0 LT52ZiwgJml2Zik7CkBAIC0yMjY2LDYgKzIyNzQsOCBAQCBzdGF0aWMgaW50IGRvX3NldHZmaW5m byhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgbmxhdHRyICoqdGIpCiAJaWYgKHRiW0lG TEFfVkZfUkFURV0pIHsKIAkJc3RydWN0IGlmbGFfdmZfcmF0ZSAqaXZ0ID0gbmxhX2RhdGEodGJb SUZMQV9WRl9SQVRFXSk7CiAKKwkJaWYgKGl2dC0+dmYgPj0gSU5UX01BWCkKKwkJCXJldHVybiAt RUlOVkFMOwogCQllcnIgPSAtRU9QTk9UU1VQUDsKIAkJaWYgKG9wcy0+bmRvX3NldF92Zl9yYXRl KQogCQkJZXJyID0gb3BzLT5uZG9fc2V0X3ZmX3JhdGUoZGV2LCBpdnQtPnZmLApAQCAtMjI3OCw2 ICsyMjg4LDggQEAgc3RhdGljIGludCBkb19zZXR2ZmluZm8oc3RydWN0IG5ldF9kZXZpY2UgKmRl diwgc3RydWN0IG5sYXR0ciAqKnRiKQogCWlmICh0YltJRkxBX1ZGX1NQT09GQ0hLXSkgewogCQlz dHJ1Y3QgaWZsYV92Zl9zcG9vZmNoayAqaXZzID0gbmxhX2RhdGEodGJbSUZMQV9WRl9TUE9PRkNI S10pOwogCisJCWlmIChpdnMtPnZmID49IElOVF9NQVgpCisJCQlyZXR1cm4gLUVJTlZBTDsKIAkJ ZXJyID0gLUVPUE5PVFNVUFA7CiAJCWlmIChvcHMtPm5kb19zZXRfdmZfc3Bvb2ZjaGspCiAJCQll cnIgPSBvcHMtPm5kb19zZXRfdmZfc3Bvb2ZjaGsoZGV2LCBpdnMtPnZmLApAQCAtMjI4OSw2ICsy MzAxLDggQEAgc3RhdGljIGludCBkb19zZXR2ZmluZm8oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwg c3RydWN0IG5sYXR0ciAqKnRiKQogCWlmICh0YltJRkxBX1ZGX0xJTktfU1RBVEVdKSB7CiAJCXN0 cnVjdCBpZmxhX3ZmX2xpbmtfc3RhdGUgKml2bCA9IG5sYV9kYXRhKHRiW0lGTEFfVkZfTElOS19T VEFURV0pOwogCisJCWlmIChpdmwtPnZmID49IElOVF9NQVgpCisJCQlyZXR1cm4gLUVJTlZBTDsK IAkJZXJyID0gLUVPUE5PVFNVUFA7CiAJCWlmIChvcHMtPm5kb19zZXRfdmZfbGlua19zdGF0ZSkK IAkJCWVyciA9IG9wcy0+bmRvX3NldF92Zl9saW5rX3N0YXRlKGRldiwgaXZsLT52ZiwKQEAgLTIz MDIsNiArMjMxNiw4IEBAIHN0YXRpYyBpbnQgZG9fc2V0dmZpbmZvKHN0cnVjdCBuZXRfZGV2aWNl ICpkZXYsIHN0cnVjdCBubGF0dHIgKip0YikKIAogCQllcnIgPSAtRU9QTk9UU1VQUDsKIAkJaXZy c3NxX2VuID0gbmxhX2RhdGEodGJbSUZMQV9WRl9SU1NfUVVFUllfRU5dKTsKKwkJaWYgKGl2cnNz cV9lbi0+dmYgPj0gSU5UX01BWCkKKwkJCXJldHVybiAtRUlOVkFMOwogCQlpZiAob3BzLT5uZG9f c2V0X3ZmX3Jzc19xdWVyeV9lbikKIAkJCWVyciA9IG9wcy0+bmRvX3NldF92Zl9yc3NfcXVlcnlf ZW4oZGV2LCBpdnJzc3FfZW4tPnZmLAogCQkJCQkJCSAgIGl2cnNzcV9lbi0+c2V0dGluZyk7CkBA IC0yMzEyLDYgKzIzMjgsOCBAQCBzdGF0aWMgaW50IGRvX3NldHZmaW5mbyhzdHJ1Y3QgbmV0X2Rl dmljZSAqZGV2LCBzdHJ1Y3QgbmxhdHRyICoqdGIpCiAJaWYgKHRiW0lGTEFfVkZfVFJVU1RdKSB7 CiAJCXN0cnVjdCBpZmxhX3ZmX3RydXN0ICppdnQgPSBubGFfZGF0YSh0YltJRkxBX1ZGX1RSVVNU XSk7CiAKKwkJaWYgKGl2dC0+dmYgPj0gSU5UX01BWCkKKwkJCXJldHVybiAtRUlOVkFMOwogCQll cnIgPSAtRU9QTk9UU1VQUDsKIAkJaWYgKG9wcy0+bmRvX3NldF92Zl90cnVzdCkKIAkJCWVyciA9 IG9wcy0+bmRvX3NldF92Zl90cnVzdChkZXYsIGl2dC0+dmYsIGl2dC0+c2V0dGluZyk7CkBAIC0y MzIyLDE1ICsyMzQwLDE4IEBAIHN0YXRpYyBpbnQgZG9fc2V0dmZpbmZvKHN0cnVjdCBuZXRfZGV2 aWNlICpkZXYsIHN0cnVjdCBubGF0dHIgKip0YikKIAlpZiAodGJbSUZMQV9WRl9JQl9OT0RFX0dV SURdKSB7CiAJCXN0cnVjdCBpZmxhX3ZmX2d1aWQgKml2dCA9IG5sYV9kYXRhKHRiW0lGTEFfVkZf SUJfTk9ERV9HVUlEXSk7CiAKKwkJaWYgKGl2dC0+dmYgPj0gSU5UX01BWCkKKwkJCXJldHVybiAt RUlOVkFMOwogCQlpZiAoIW9wcy0+bmRvX3NldF92Zl9ndWlkKQogCQkJcmV0dXJuIC1FT1BOT1RT VVBQOwotCiAJCXJldHVybiBoYW5kbGVfdmZfZ3VpZChkZXYsIGl2dCwgSUZMQV9WRl9JQl9OT0RF X0dVSUQpOwogCX0KIAogCWlmICh0YltJRkxBX1ZGX0lCX1BPUlRfR1VJRF0pIHsKIAkJc3RydWN0 IGlmbGFfdmZfZ3VpZCAqaXZ0ID0gbmxhX2RhdGEodGJbSUZMQV9WRl9JQl9QT1JUX0dVSURdKTsK IAorCQlpZiAoaXZ0LT52ZiA+PSBJTlRfTUFYKQorCQkJcmV0dXJuIC1FSU5WQUw7CiAJCWlmICgh b3BzLT5uZG9fc2V0X3ZmX2d1aWQpCiAJCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAKLS0gCjIuMjAu MQoKCkZyb20gYjkwMmNmNDIyYzIxN2U2YjYwMzlkN2Q4Yjc1OGY5YzY0NzUzMjNmOSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRGF2aWRlIENhcmF0dGkgPGRjYXJhdHRpQHJlZGhhdC5j b20+CkRhdGU6IFR1ZSwgMTkgTm92IDIwMTkgMjM6NDc6MzMgKzAxMDAKU3ViamVjdDogW1BBVENI IDA1LzE4XSBuZXQvc2NoZWQ6IGFjdF9wZWRpdDogZml4IFdBUk4oKSBpbiB0aGUgdHJhZmZpYyBw YXRoCgpbIFVwc3RyZWFtIGNvbW1pdCBmNjcxNjlmZWY4ZGJjYzFhYzZhNmExMDllY2FhZDBkM2Iy NTkwMDJjIF0KCndoZW4gY29uZmlndXJpbmcgYWN0X3BlZGl0IHJ1bGVzLCB0aGUgbnVtYmVyIG9m IGtleXMgaXMgdmFsaWRhdGVkIG9ubHkgb24KYWRkaXRpb24gb2YgYSBuZXcgZW50cnkuIFRoaXMg aXMgbm90IHN1ZmZpY2llbnQgdG8gYXZvaWQgaGl0dGluZyBhIFdBUk4oKQppbiB0aGUgdHJhZmZp YyBwYXRoOiBmb3IgZXhhbXBsZSwgaXQgaXMgcG9zc2libGUgdG8gcmVwbGFjZSBhIHZhbGlkIGVu dHJ5CndpdGggYSBuZXcgb25lIGhhdmluZyAwIGV4dGVuZGVkIGtleXMsIHRodXMgY2F1c2luZyBz cGxhdHMgaW4gZG1lc2cgbGlrZToKCiBwZWRpdCBCVUc6IGluZGV4IDQyCiBXQVJOSU5HOiBDUFU6 IDIgUElEOiA0MDU0IGF0IG5ldC9zY2hlZC9hY3RfcGVkaXQuYzo0MTAgdGNmX3BlZGl0X2FjdCsw eGM4NC8weDEyMDAgW2FjdF9wZWRpdF0KIFsuLi5dCiBSSVA6IDAwMTA6dGNmX3BlZGl0X2FjdCsw eGM4NC8weDEyMDAgW2FjdF9wZWRpdF0KIENvZGU6IDg5IGZhIDQ4IGMxIGVhIDAzIDBmIGI2IDA0 IDAyIDg0IGMwIDc0IDA4IDNjIDAzIDBmIDhlIGFjIDAwIDAwIDAwIDQ4IDhiIDQ0IDI0IDEwIDQ4 IGM3IGM3IGEwIGM0IGU0IGMwIDhiIDcwIDE4IGU4IDFjIDMwIDk1IGVhIDwwZj4gMGIgZTkgYTAg ZmEgZmYgZmYgZTggMDAgMDMgZjUgZWEgZTkgMTQgZjQgZmYgZmYgNDggODkgNTggNDAgZTkKIFJT UDogMDAxODpmZmZmODg4MDc3YzlmMzIwIEVGTEFHUzogMDAwMTAyODYKIFJBWDogMDAwMDAwMDAw MDAwMDAwMCBSQlg6IDAwMDAwMDAwMDAwMDAwMDAgUkNYOiBmZmZmZmZmZmFjMjk4M2EyCiBSRFg6 IDAwMDAwMDAwMDAwMDAwMDEgUlNJOiAwMDAwMDAwMDAwMDAwMDA4IFJESTogZmZmZjg4ODA1Mzky N2JlYwogUkJQOiBkZmZmZmMwMDAwMDAwMDAwIFIwODogZmZmZmVkMTAwYTcyNjIwOSBSMDk6IGZm ZmZlZDEwMGE3MjYyMDkKIFIxMDogMDAwMDAwMDAwMDAwMDAwMSBSMTE6IGZmZmZlZDEwMGE3MjYy MDggUjEyOiBmZmZmODg4MDRiZWVhNzgwCiBSMTM6IGZmZmY4ODgwNzlhNzc0MDAgUjE0OiBmZmZm ODg4MDRiZWVhNzgwIFIxNTogZmZmZjg4ODAyN2FiMjAwMAogRlM6ICAwMDAwN2ZkZWVjOWJkNzQw KDAwMDApIEdTOmZmZmY4ODgwNTM5MDAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMAog Q1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMwogQ1IyOiAw MDAwN2ZmZGIzZGZkMDAwIENSMzogMDAwMDAwMDA0YWRiNDAwNiBDUjQ6IDAwMDAwMDAwMDAxNjA2 ZTAKIENhbGwgVHJhY2U6CiAgdGNmX2FjdGlvbl9leGVjKzB4MTA1LzB4M2YwCiAgdGNmX2NsYXNz aWZ5KzB4ZjIvMHg0MTAKICBfX2Rldl9xdWV1ZV94bWl0KzB4Y2JmLzB4MmFlMAogIGlwX2Zpbmlz aF9vdXRwdXQyKzB4NzExLzB4MWZiMAogIGlwX291dHB1dCsweDFiZi8weDRiMAogIGlwX3NlbmRf c2tiKzB4MzcvMHhhMAogIHJhd19zZW5kbXNnKzB4MTgwYy8weDI0MzAKICBzb2NrX3NlbmRtc2cr MHhkYi8weDExMAogIF9fc3lzX3NlbmR0bysweDI1Ny8weDJiMAogIF9feDY0X3N5c19zZW5kdG8r MHhkZC8weDFiMAogIGRvX3N5c2NhbGxfNjQrMHhhNS8weDRlMAogIGVudHJ5X1NZU0NBTExfNjRf YWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKIFJJUDogMDAzMzoweDdmZGVlYjcyZTk5MwogQ29kZTog NDggOGIgMGQgZTAgNzQgMmMgMDAgZjcgZDggNjQgODkgMDEgNDggODMgYzggZmYgYzMgNjYgMGYg MWYgNDQgMDAgMDAgODMgM2QgMGQgZDYgMmMgMDAgMDAgNzUgMTMgNDkgODkgY2EgYjggMmMgMDAg MDAgMDAgMGYgMDUgPDQ4PiAzZCAwMSBmMCBmZiBmZiA3MyAzNCBjMyA0OCA4MyBlYyAwOCBlOCA0 YiBjYyAwMCAwMCA0OCA4OSAwNCAyNAogUlNQOiAwMDJiOjAwMDA3ZmZkYjNkZThhMTggRUZMQUdT OiAwMDAwMDI0NiBPUklHX1JBWDogMDAwMDAwMDAwMDAwMDAyYwogUkFYOiBmZmZmZmZmZmZmZmZm ZmRhIFJCWDogMDAwMDU1YzgxOTcyYjcwMCBSQ1g6IDAwMDA3ZmRlZWI3MmU5OTMKIFJEWDogMDAw MDAwMDAwMDAwMDA0MCBSU0k6IDAwMDA1NWM4MTk3MmI3MDAgUkRJOiAwMDAwMDAwMDAwMDAwMDAz CiBSQlA6IDAwMDA3ZmZkYjNkZWExMzAgUjA4OiAwMDAwNTVjODE5NzI4NTEwIFIwOTogMDAwMDAw MDAwMDAwMDAxMAogUjEwOiAwMDAwMDAwMDAwMDAwMDAwIFIxMTogMDAwMDAwMDAwMDAwMDI0NiBS MTI6IDAwMDAwMDAwMDAwMDAwNDAKIFIxMzogMDAwMDU1YzgxOTcyYjZjMCBSMTQ6IDAwMDA1NWM4 MTk3Mjk2OWMgUjE1OiAwMDAwMDAwMDAwMDAwMDgwCgpGaXggdGhpcyBtb3ZpbmcgdGhlIGNoZWNr IG9uICdua2V5cycgZWFybGllciBpbiB0Y2ZfcGVkaXRfaW5pdCgpLCBzbyB0aGF0CmF0dGVtcHRz IHRvIGluc3RhbGwgcnVsZXMgaGF2aW5nIDAga2V5cyBhcmUgYWx3YXlzIHJlamVjdGVkIHdpdGgg LUVJTlZBTC4KCkZpeGVzOiAxZGExNzdlNGMzZjQgKCJMaW51eC0yLjYuMTItcmMyIikKU2lnbmVk LW9mZi1ieTogRGF2aWRlIENhcmF0dGkgPGRjYXJhdHRpQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQv YWN0X3BlZGl0LmMgfCAxMiArKysrKy0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlv bnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL2FjdF9wZWRpdC5j IGIvbmV0L3NjaGVkL2FjdF9wZWRpdC5jCmluZGV4IGNkZmFhNzkzODJhMi4uYjViYzYzMWI5NmI3 IDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvYWN0X3BlZGl0LmMKKysrIGIvbmV0L3NjaGVkL2FjdF9w ZWRpdC5jCkBAIC00Myw3ICs0Myw3IEBAIHN0YXRpYyBzdHJ1Y3QgdGNmX3BlZGl0X2tleV9leCAq dGNmX3BlZGl0X2tleXNfZXhfcGFyc2Uoc3RydWN0IG5sYXR0ciAqbmxhLAogCWludCBlcnIgPSAt RUlOVkFMOwogCWludCByZW07CiAKLQlpZiAoIW5sYSB8fCAhbikKKwlpZiAoIW5sYSkKIAkJcmV0 dXJuIE5VTEw7CiAKIAlrZXlzX2V4ID0ga2NhbGxvYyhuLCBzaXplb2YoKmspLCBHRlBfS0VSTkVM KTsKQEAgLTE3MCw2ICsxNzAsMTAgQEAgc3RhdGljIGludCB0Y2ZfcGVkaXRfaW5pdChzdHJ1Y3Qg bmV0ICpuZXQsIHN0cnVjdCBubGF0dHIgKm5sYSwKIAl9CiAKIAlwYXJtID0gbmxhX2RhdGEocGF0 dHIpOworCWlmICghcGFybS0+bmtleXMpIHsKKwkJTkxfU0VUX0VSUl9NU0dfTU9EKGV4dGFjaywg IlBlZGl0IHJlcXVpcmVzIGtleXMgdG8gYmUgcGFzc2VkIik7CisJCXJldHVybiAtRUlOVkFMOwor CX0KIAlrc2l6ZSA9IHBhcm0tPm5rZXlzICogc2l6ZW9mKHN0cnVjdCB0Y19wZWRpdF9rZXkpOwog CWlmIChubGFfbGVuKHBhdHRyKSA8IHNpemVvZigqcGFybSkgKyBrc2l6ZSkgewogCQlOTF9TRVRf RVJSX01TR19BVFRSKGV4dGFjaywgcGF0dHIsICJMZW5ndGggb2YgVENBX1BFRElUX1BBUk1TIG9y IFRDQV9QRURJVF9QQVJNU19FWCBwZWRpdCBhdHRyaWJ1dGUgaXMgaW52YWxpZCIpOwpAQCAtMTgz LDEyICsxODcsNiBAQCBzdGF0aWMgaW50IHRjZl9wZWRpdF9pbml0KHN0cnVjdCBuZXQgKm5ldCwg c3RydWN0IG5sYXR0ciAqbmxhLAogCWluZGV4ID0gcGFybS0+aW5kZXg7CiAJZXJyID0gdGNmX2lk cl9jaGVja19hbGxvYyh0biwgJmluZGV4LCBhLCBiaW5kKTsKIAlpZiAoIWVycikgewotCQlpZiAo IXBhcm0tPm5rZXlzKSB7Ci0JCQl0Y2ZfaWRyX2NsZWFudXAodG4sIGluZGV4KTsKLQkJCU5MX1NF VF9FUlJfTVNHX01PRChleHRhY2ssICJQZWRpdCByZXF1aXJlcyBrZXlzIHRvIGJlIHBhc3NlZCIp OwotCQkJcmV0ID0gLUVJTlZBTDsKLQkJCWdvdG8gb3V0X2ZyZWU7Ci0JCX0KIAkJcmV0ID0gdGNm X2lkcl9jcmVhdGUodG4sIGluZGV4LCBlc3QsIGEsCiAJCQkJICAgICAmYWN0X3BlZGl0X29wcywg YmluZCwgZmFsc2UpOwogCQlpZiAocmV0KSB7Ci0tIAoyLjIwLjEKCgpGcm9tIGRlYjk2MzFmZGQ3 NDMzM2IzODQ3YTMxM2I5OWQ3ZjBiMzg1ODk1ZDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IFhpbiBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNvbT4KRGF0ZTogTW9uLCAxOCBOb3YgMjAx OSAxNzozOTozNCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDYvMThdIG5ldDogc2NoZWQ6IGVuc3Vy ZSBvcHRzX2xlbiA8PSBJUF9UVU5ORUxfT1BUU19NQVggaW4KIGFjdF90dW5uZWxfa2V5CgpbIFVw c3RyZWFtIGNvbW1pdCA0ZjBlOTdkMDcwOTg0ZDQ4N2RmMDI3ZjE2M2U1MmJiNzJkMTcxM2Q4IF0K CmluZm8tPm9wdGlvbnNfbGVuIGlzICd1OCcgdHlwZSwgYW5kIHdoZW4gb3B0c19sZW4gd2l0aCBh IHZhbHVlID4KSVBfVFVOTkVMX09QVFNfTUFYLCAnaW5mby0+b3B0aW9uc19sZW4gPSBvcHRzX2xl bicgd2lsbCBjYXN0IGludAp0byB1OCBhbmQgc2V0IGEgd3JvbmcgdmFsdWUgdG8gaW5mby0+b3B0 aW9uc19sZW4uCgpLZXJuZWwgY3Jhc2hlZCBpbiBteSB0ZXN0IHdoZW4gZG9pbmc6CgogICMgb3B0 cz0iMDEwMjo4MDowMDgwMDAyMiIKICAjIGZvciBpIGluIHsxLi45OX07IGRvIG9wdHM9IiRvcHRz LDAxMDI6ODA6MDA4MDAwMjIiOyBkb25lCiAgIyBpcCBsaW5rIGFkZCBuYW1lIGdlbmV2ZTAgdHlw ZSBnZW5ldmUgZHN0cG9ydCAwIGV4dGVybmFsCiAgIyB0YyBxZGlzYyBhZGQgZGV2IGV0aDAgaW5n cmVzcwogICMgdGMgZmlsdGVyIGFkZCBkZXYgZXRoMCBwcm90b2NvbCBpcCBwYXJlbnQgZmZmZjog XAogICAgICAgZmxvd2VyIGluZGV2IGV0aDAgaXBfcHJvdG8gdWRwIGFjdGlvbiB0dW5uZWxfa2V5 IFwKICAgICAgIHNldCBzcmNfaXAgMTAuMC45OS4xOTIgZHN0X2lwIDEwLjAuOTkuMTkzIFwKICAg ICAgIGRzdF9wb3J0IDYwODEgaWQgMTEgZ2VuZXZlX29wdHMgJG9wdHMgXAogICAgICAgYWN0aW9u IG1pcnJlZCBlZ3Jlc3MgcmVkaXJlY3QgZGV2IGdlbmV2ZTAKClNvIHdlIHNob3VsZCBkbyB0aGUg c2ltaWxhciBjaGVjayBhcyBjbHNfZmxvd2VyIGRvZXMsIHJldHVybiBlcnJvcgp3aGVuIG9wdHNf bGVuID4gSVBfVFVOTkVMX09QVFNfTUFYIGluIHR1bm5lbF9rZXlfY29weV9vcHRzKCkuCgpGaXhl czogMGVkNTI2OWY5ZTQxICgibmV0L3NjaGVkOiBhZGQgdHVubmVsIG9wdGlvbiBzdXBwb3J0IHRv IGFjdF90dW5uZWxfa2V5IikKU2lnbmVkLW9mZi1ieTogWGluIExvbmcgPGx1Y2llbi54aW5AZ21h aWwuY29tPgpSZXZpZXdlZC1ieTogU2ltb24gSG9ybWFuIDxzaW1vbi5ob3JtYW5AbmV0cm9ub21l LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0 PgotLS0KIG5ldC9zY2hlZC9hY3RfdHVubmVsX2tleS5jIHwgNCArKysrCiAxIGZpbGUgY2hhbmdl ZCwgNCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL2FjdF90dW5uZWxfa2V5 LmMgYi9uZXQvc2NoZWQvYWN0X3R1bm5lbF9rZXkuYwppbmRleCAyZjgzYTc5Zjc2YWEuLmQ1NTY2 OWUxNDc0MSAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL2FjdF90dW5uZWxfa2V5LmMKKysrIGIvbmV0 L3NjaGVkL2FjdF90dW5uZWxfa2V5LmMKQEAgLTEzNSw2ICsxMzUsMTAgQEAgc3RhdGljIGludCB0 dW5uZWxfa2V5X2NvcHlfb3B0cyhjb25zdCBzdHJ1Y3QgbmxhdHRyICpubGEsIHU4ICpkc3QsCiAJ CQlpZiAob3B0X2xlbiA8IDApCiAJCQkJcmV0dXJuIG9wdF9sZW47CiAJCQlvcHRzX2xlbiArPSBv cHRfbGVuOworCQkJaWYgKG9wdHNfbGVuID4gSVBfVFVOTkVMX09QVFNfTUFYKSB7CisJCQkJTkxf U0VUX0VSUl9NU0coZXh0YWNrLCAiVHVubmVsIG9wdGlvbnMgZXhjZWVkcyBtYXggc2l6ZSIpOwor CQkJCXJldHVybiAtRUlOVkFMOworCQkJfQogCQkJaWYgKGRzdCkgewogCQkJCWRzdF9sZW4gLT0g b3B0X2xlbjsKIAkJCQlkc3QgKz0gb3B0X2xlbjsKLS0gCjIuMjAuMQoKCkZyb20gZDljMGE1Nzc3 ZDUyYmEzYzAyMDNjOTk5YTRjNzIyYjM4ZWI5Mzc1YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogTWFydGluIEhhYmV0cyA8bWhhYmV0c0Bzb2xhcmZsYXJlLmNvbT4KRGF0ZTogVGh1LCAy MSBOb3YgMjAxOSAxNzo1MjoxNSArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMDcvMThdIHNmYzogT25s eSBjYW5jZWwgdGhlIFBQUyB3b3JrcXVldWUgaWYgaXQgZXhpc3RzCgpbIFVwc3RyZWFtIGNvbW1p dCA3MjNlYjUzNjkwMDQxNzQwYTEzYWM3OGVmZWFmNjgwNGY1ZDY4NGM5IF0KClRoZSB3b3JrcXVl dWUgb25seSBleGlzdHMgZm9yIHRoZSBwcmltYXJ5IFBGLiBGb3Igb3RoZXIgZnVuY3Rpb25zCndl IGhpdCBhIFdBUk5fT04gaW4ga2VybmVsL3dvcmtxdWV1ZS5jLgoKRml4ZXM6IDdjMjM2YzQzYjgz OCAoInNmYzogQWRkIHN1cHBvcnQgZm9yIElFRUUtMTU4OCBQVFAiKQpTaWduZWQtb2ZmLWJ5OiBN YXJ0aW4gSGFiZXRzIDxtaGFiZXRzQHNvbGFyZmxhcmUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJu ZXQvc2ZjL3B0cC5jIHwgMyArKy0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zZmMvcHRwLmMg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zZmMvcHRwLmMKaW5kZXggMDJlZDZkMWI3MTZjLi5hZjE1 YTczN2M2NzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3NmYy9wdHAuYworKysg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zZmMvcHRwLmMKQEAgLTE1MzEsNyArMTUzMSw4IEBAIHZv aWQgZWZ4X3B0cF9yZW1vdmUoc3RydWN0IGVmeF9uaWMgKmVmeCkKIAkodm9pZCllZnhfcHRwX2Rp c2FibGUoZWZ4KTsKIAogCWNhbmNlbF93b3JrX3N5bmMoJmVmeC0+cHRwX2RhdGEtPndvcmspOwot CWNhbmNlbF93b3JrX3N5bmMoJmVmeC0+cHRwX2RhdGEtPnBwc193b3JrKTsKKwlpZiAoZWZ4LT5w dHBfZGF0YS0+cHBzX3dvcmt3cSkKKwkJY2FuY2VsX3dvcmtfc3luYygmZWZ4LT5wdHBfZGF0YS0+ cHBzX3dvcmspOwogCiAJc2tiX3F1ZXVlX3B1cmdlKCZlZngtPnB0cF9kYXRhLT5yeHEpOwogCXNr Yl9xdWV1ZV9wdXJnZSgmZWZ4LT5wdHBfZGF0YS0+dHhxKTsKLS0gCjIuMjAuMQoKCkZyb20gMTQw ZTA0ODYwZGM4M2FhNzRkNzVmNzZhYjU4NWQ5YzU2NWRmOTMzMyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogRXJhbiBCZW4gRWxpc2hhIDxlcmFuYmVAbWVsbGFub3guY29tPgpEYXRlOiBT dW4sIDE3IE5vdiAyMDE5IDEwOjE4OjU5ICswMjAwClN1YmplY3Q6IFtQQVRDSCAwOC8xOF0gbmV0 L21seGZ3OiBWZXJpZnkgRlNNIGVycm9yIGNvZGUgdHJhbnNsYXRpb24gZG9lc24ndAogZXhjZWVk IGFycmF5IHNpemUKClsgVXBzdHJlYW0gY29tbWl0IDMwZTllMDU1MGJmNjkzYzk0YmMxNTgyNzc4 MWZlNDJkZDYwYmU2MzQgXQoKQXJyYXkgbWx4ZndfZnNtX3N0YXRlX2Vycl9zdHIgY29udGFpbnMg dmFsdWUgdG8gc3RyaW5nIHRyYW5zbGF0aW9uLCB3aGVuCnZhbHVlcyBhcmUgcHJvdmlkZWQgYnkg bWx4ZndfZGV2LiBJZiB2YWx1ZSBpcyBsYXJnZXIgdGhhbgpNTFhGV19GU01fU1RBVEVfRVJSX01B WCwgcmV0dXJuICJ1bmtub3duIGVycm9yIiBhcyBleHBlY3RlZCBpbnN0ZWFkIG9mCnJlYWRpbmcg YW4gYWRkcmVzcyB0aGFuIGV4Y2VlZCBhcnJheSBzaXplLgoKRml4ZXM6IDQxMGVkMTNjYWUzOSAo IkFkZCB0aGUgbWx4ZncgbW9kdWxlIGZvciBNZWxsYW5veCBmaXJtd2FyZSBmbGFzaCBwcm9jZXNz IikKU2lnbmVkLW9mZi1ieTogRXJhbiBCZW4gRWxpc2hhIDxlcmFuYmVAbWVsbGFub3guY29tPgpB Y2tlZC1ieTogSmlyaSBQaXJrbyA8amlyaUBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFNh ZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPgotLS0KIGRyaXZlcnMvbmV0L2V0aGVy bmV0L21lbGxhbm94L21seGZ3L21seGZ3X2ZzbS5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94 L21seGZ3L21seGZ3X2ZzbS5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4Zncv bWx4ZndfZnNtLmMKaW5kZXggNjc5OTA0MDZjYmEyLi4yOWU5NWQwYTZhZDEgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seGZ3L21seGZ3X2ZzbS5jCisrKyBiL2Ry aXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seGZ3L21seGZ3X2ZzbS5jCkBAIC02Niw2ICs2 Niw4IEBAIHN0YXRpYyBpbnQgbWx4ZndfZnNtX3N0YXRlX3dhaXQoc3RydWN0IG1seGZ3X2RldiAq bWx4ZndfZGV2LCB1MzIgZndoYW5kbGUsCiAJCXJldHVybiBlcnI7CiAKIAlpZiAoZnNtX3N0YXRl X2VyciAhPSBNTFhGV19GU01fU1RBVEVfRVJSX09LKSB7CisJCWZzbV9zdGF0ZV9lcnIgPSBtaW5f dChlbnVtIG1seGZ3X2ZzbV9zdGF0ZV9lcnIsCisJCQkJICAgICAgZnNtX3N0YXRlX2VyciwgTUxY RldfRlNNX1NUQVRFX0VSUl9NQVgpOwogCQlwcl9lcnIoIkZpcm13YXJlIGZsYXNoIGZhaWxlZDog JXNcbiIsCiAJCSAgICAgICBtbHhmd19mc21fc3RhdGVfZXJyX3N0cltmc21fc3RhdGVfZXJyXSk7 CiAJCU5MX1NFVF9FUlJfTVNHX01PRChleHRhY2ssICJGaXJtd2FyZSBmbGFzaCBmYWlsZWQiKTsK LS0gCjIuMjAuMQoKCkZyb20gMGMxNjZjZTkwOTA5YmRlOWJjNjAxNzMxOTU2NGNjYTZkNGU4ZTZi MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUm9pIERheWFuIDxyb2lkQG1lbGxhbm94 LmNvbT4KRGF0ZTogV2VkLCAxMyBOb3YgMjAxOSAxNDo0MjowMCArMDIwMApTdWJqZWN0OiBbUEFU Q0ggMDkvMThdIG5ldC9tbHg1ZTogRml4IHNldCB2ZiBsaW5rIHN0YXRlIGVycm9yIGZsb3cKClsg VXBzdHJlYW0gY29tbWl0IDc1MTAyMTIxOGY3ZTY2ZWU5YmJhYTJiZTIzMDU2ZTQ0N2NkNzVlYzQg XQoKQmVmb3JlIHRoaXMgY29tbWl0IHRoZSBuZG8gYWx3YXlzIHJldHVybmVkIHN1Y2Nlc3MuCkZp eCB0aGF0LgoKRml4ZXM6IDFhYjIwNjhhNGM2NiAoIm5ldC9tbHg1OiBJbXBsZW1lbnQgdnBvcnRz IGFkbWluIHN0YXRlIGJhY2t1cC9yZXN0b3JlIikKU2lnbmVkLW9mZi1ieTogUm9pIERheWFuIDxy b2lkQG1lbGxhbm94LmNvbT4KUmV2aWV3ZWQtYnk6IFZsYWQgQnVzbG92IDx2bGFkYnVAbWVsbGFu b3guY29tPgpTaWduZWQtb2ZmLWJ5OiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNv bT4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRjaC5j IHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0 Y2guYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lc3dpdGNoLmMK aW5kZXggMWYzODkxZmRlMmViLi5hM2IyY2UxMTI1MDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lc3dpdGNoLmMKKysrIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2guYwpAQCAtMjA0NCw3ICsyMDQ0LDcg QEAgaW50IG1seDVfZXN3aXRjaF9zZXRfdnBvcnRfc3RhdGUoc3RydWN0IG1seDVfZXN3aXRjaCAq ZXN3LAogCiB1bmxvY2s6CiAJbXV0ZXhfdW5sb2NrKCZlc3ctPnN0YXRlX2xvY2spOwotCXJldHVy biAwOworCXJldHVybiBlcnI7CiB9CiAKIGludCBtbHg1X2Vzd2l0Y2hfZ2V0X3Zwb3J0X2NvbmZp ZyhzdHJ1Y3QgbWx4NV9lc3dpdGNoICplc3csCi0tIAoyLjIwLjEKCgpGcm9tIGFhNGQ4OTZjN2M3 YTAzMTY0ZTM3YTBlNDg4N2NiMDRkZTdhOWFhYTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IE1hb3IgR290dGxpZWIgPG1hb3JnQG1lbGxhbm94LmNvbT4KRGF0ZTogVGh1LCA1IFNlcCAy MDE5IDA5OjU2OjEwICswMzAwClN1YmplY3Q6IFtQQVRDSCAxMC8xOF0gbmV0L21seDU6IEZpeCBh dXRvIGdyb3VwIHNpemUgY2FsY3VsYXRpb24KClsgVXBzdHJlYW0gY29tbWl0IDk3ZmQ4ZGEyODFm ODBlN2U2OWUwMTE0YmM5MDY1NzU3MzRkNGRmYWYgXQoKT25jZSBhbGwgdGhlIGxhcmdlIGZsb3cg Z3JvdXBzIChkZWZpbmVkIGJ5IHRoZSB1c2VyIHdoZW4gdGhlIGZsb3cgdGFibGUKaXMgY3JlYXRl ZCAtIG1heF9udW1fZ3JvdXBzKSB3ZXJlIGNyZWF0ZWQsIHRoZW4gYWxsIHRoZSBmb2xsb3dpbmcg bmV3CmZsb3cgZ3JvdXBzIHdpbGwgaGF2ZSBvbmx5IG9uZSBmbG93IHRhYmxlIGVudHJ5LCBldmVu IHRob3VnaCB0aGUgZmxvdyB0YWJsZQpoYXMgcGxhY2UgdG8gbGFyZ2VyIGdyb3Vwcy4KRml4IHRo ZSBjb25kaXRpb24gdG8gcHJlZmVyIGxhcmdlIGZsb3cgZ3JvdXAuCgpGaXhlczogZjBkMjJkMTg3 NDczICgibmV0L21seDVfY29yZTogSW50cm9kdWNlIGZsb3cgc3RlZXJpbmcgYXV0b2dyb3VwZWQg ZmxvdyB0YWJsZSIpClNpZ25lZC1vZmYtYnk6IE1hb3IgR290dGxpZWIgPG1hb3JnQG1lbGxhbm94 LmNvbT4KU2lnbmVkLW9mZi1ieTogU2FlZWQgTWFoYW1lZWQgPHNhZWVkbUBtZWxsYW5veC5jb20+ Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2ZzX2NvcmUuYyB8 IDEwICsrKysrKy0tLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9m c19jb3JlLmggfCAgMSArCiAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNCBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1 L2NvcmUvZnNfY29yZS5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3Jl L2ZzX2NvcmUuYwppbmRleCAzZTk5Nzk5YmRiNDAuLmE2YTY0NTMxYmM0MyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2ZzX2NvcmUuYworKysgYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZnNfY29yZS5jCkBAIC01NDks NyArNTQ5LDcgQEAgc3RhdGljIHZvaWQgZGVsX3N3X2Zsb3dfZ3JvdXAoc3RydWN0IGZzX25vZGUg Km5vZGUpCiAKIAlyaGFzaHRhYmxlX2Rlc3Ryb3koJmZnLT5mdGVzX2hhc2gpOwogCWlkYV9kZXN0 cm95KCZmZy0+ZnRlX2FsbG9jYXRvcik7Ci0JaWYgKGZ0LT5hdXRvZ3JvdXAuYWN0aXZlKQorCWlm IChmdC0+YXV0b2dyb3VwLmFjdGl2ZSAmJiBmZy0+bWF4X2Z0ZXMgPT0gZnQtPmF1dG9ncm91cC5n cm91cF9zaXplKQogCQlmdC0+YXV0b2dyb3VwLm51bV9ncm91cHMtLTsKIAllcnIgPSByaGx0YWJs ZV9yZW1vdmUoJmZ0LT5mZ3NfaGFzaCwKIAkJCSAgICAgICZmZy0+aGFzaCwKQEAgLTEwOTUsNiAr MTA5NSw4IEBAIG1seDVfY3JlYXRlX2F1dG9fZ3JvdXBlZF9mbG93X3RhYmxlKHN0cnVjdCBtbHg1 X2Zsb3dfbmFtZXNwYWNlICpucywKIAogCWZ0LT5hdXRvZ3JvdXAuYWN0aXZlID0gdHJ1ZTsKIAlm dC0+YXV0b2dyb3VwLnJlcXVpcmVkX2dyb3VwcyA9IG1heF9udW1fZ3JvdXBzOworCS8qIFdlIHNh dmUgcGxhY2UgZm9yIGZsb3cgZ3JvdXBzIGluIGFkZGl0aW9uIHRvIG1heCB0eXBlcyAqLworCWZ0 LT5hdXRvZ3JvdXAuZ3JvdXBfc2l6ZSA9IGZ0LT5tYXhfZnRlIC8gKG1heF9udW1fZ3JvdXBzICsg MSk7CiAKIAlyZXR1cm4gZnQ7CiB9CkBAIC0xMjk3LDggKzEyOTksNyBAQCBzdGF0aWMgc3RydWN0 IG1seDVfZmxvd19ncm91cCAqYWxsb2NfYXV0b19mbG93X2dyb3VwKHN0cnVjdCBtbHg1X2Zsb3df dGFibGUgICpmdAogCQlyZXR1cm4gRVJSX1BUUigtRU5PRU5UKTsKIAogCWlmIChmdC0+YXV0b2dy b3VwLm51bV9ncm91cHMgPCBmdC0+YXV0b2dyb3VwLnJlcXVpcmVkX2dyb3VwcykKLQkJLyogV2Ug c2F2ZSBwbGFjZSBmb3IgZmxvdyBncm91cHMgaW4gYWRkaXRpb24gdG8gbWF4IHR5cGVzICovCi0J CWdyb3VwX3NpemUgPSBmdC0+bWF4X2Z0ZSAvIChmdC0+YXV0b2dyb3VwLnJlcXVpcmVkX2dyb3Vw cyArIDEpOworCQlncm91cF9zaXplID0gZnQtPmF1dG9ncm91cC5ncm91cF9zaXplOwogCiAJLyog IGZ0LT5tYXhfZnRlID09IGZ0LT5hdXRvZ3JvdXAubWF4X3R5cGVzICovCiAJaWYgKGdyb3VwX3Np emUgPT0gMCkKQEAgLTEzMjUsNyArMTMyNiw4IEBAIHN0YXRpYyBzdHJ1Y3QgbWx4NV9mbG93X2dy b3VwICphbGxvY19hdXRvX2Zsb3dfZ3JvdXAoc3RydWN0IG1seDVfZmxvd190YWJsZSAgKmZ0CiAJ aWYgKElTX0VSUihmZykpCiAJCWdvdG8gb3V0OwogCi0JZnQtPmF1dG9ncm91cC5udW1fZ3JvdXBz Kys7CisJaWYgKGdyb3VwX3NpemUgPT0gZnQtPmF1dG9ncm91cC5ncm91cF9zaXplKQorCQlmdC0+ YXV0b2dyb3VwLm51bV9ncm91cHMrKzsKIAogb3V0OgogCXJldHVybiBmZzsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9mc19jb3JlLmggYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZnNfY29yZS5oCmluZGV4IGMxMjUy ZDZiZTBlZi4uODA5MDZhZmYyMWQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9t ZWxsYW5veC9tbHg1L2NvcmUvZnNfY29yZS5oCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21l bGxhbm94L21seDUvY29yZS9mc19jb3JlLmgKQEAgLTEzNyw2ICsxMzcsNyBAQCBzdHJ1Y3QgbWx4 NV9mbG93X3RhYmxlIHsKIAlzdHJ1Y3QgewogCQlib29sCQkJYWN0aXZlOwogCQl1bnNpZ25lZCBp bnQJCXJlcXVpcmVkX2dyb3VwczsKKwkJdW5zaWduZWQgaW50CQlncm91cF9zaXplOwogCQl1bnNp Z25lZCBpbnQJCW51bV9ncm91cHM7CiAJfSBhdXRvZ3JvdXA7CiAJLyogUHJvdGVjdCBmd2RfcnVs ZXMgKi8KLS0gCjIuMjAuMQoKCkZyb20gODU1ZjFlYmUzZTdjZDY1ZjU5MDk4OGI0OGMzMGUyNGM4 MmY1MjdiYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogV2lsbGVtIGRlIEJydWlqbiA8 d2lsbGVtYkBnb29nbGUuY29tPgpEYXRlOiBNb24sIDE4IE5vdiAyMDE5IDEwOjQwOjUxIC0wNTAw ClN1YmplY3Q6IFtQQVRDSCAxMS8xOF0gbmV0L3RsczogZW5hYmxlIHNrX21zZyByZWRpcmVjdCB0 byB0bHMgc29ja2V0IGVncmVzcwoKWyBVcHN0cmVhbSBjb21taXQgZDRmZmIwMmRlZTJmY2IyMGUw YzgwODZhOGQxMzA1YmY4ODU4MjBiYiBdCgpCcmluZyBiYWNrIHRsc19zd19zZW5kcGFnZV9sb2Nr ZWQuIHNrX21zZyByZWRpcmVjdGlvbiBpbnRvIGEgc29ja2V0CndpdGggVExTX1RYIHRha2VzIHRo ZSBmb2xsb3dpbmcgcGF0aDoKCiAgdGNwX2JwZl9zZW5kbXNnX3JlZGlyCiAgICB0Y3BfYnBmX3B1 c2hfbG9ja2VkCiAgICAgIHRjcF9icGZfcHVzaAogICAgICAgIGtlcm5lbF9zZW5kcGFnZV9sb2Nr ZWQKICAgICAgICAgIHNvY2stPm9wcy0+c2VuZHBhZ2VfbG9ja2VkCgpBbHNvIHVwZGF0ZSB0aGUg ZmxhZ3MgdGVzdCBpbiB0bHNfc3dfc2VuZHBhZ2VfbG9ja2VkIHRvIGFsbG93IGZsYWcKTVNHX05P X1NIQVJFRF9GUkFHUy4gYnBmX3RjcF9zZW5kbXNnIHNldHMgdGhpcy4KCkxpbms6IGh0dHBzOi8v bG9yZS5rZXJuZWwub3JnL25ldGRldi9DQStGdVRTZGFBYXdtWjJOOG5mRERLdTNYTHBYQmJNdGND VDBxNEZudEREMmduOEFTVXdAbWFpbC5nbWFpbC5jb20vVC8jdApMaW5rOiBodHRwczovL2dpdGh1 Yi5jb20vd2RlYnJ1aWova2VybmVsdG9vbHMvY29tbWl0cy9pY2VwdC4yCkZpeGVzOiAwNjA4YzY5 YzlhODAgKCJicGY6IHNrX21zZywgc29ja3ttYXB8aGFzaH0gcmVkaXJlY3QgdGhyb3VnaCBVTFAi KQpGaXhlczogZjNkZTE5YWYwZjViICgiUmV2ZXJ0IFwibmV0L3RsczogcmVtb3ZlIHVudXNlZCBm dW5jdGlvbiB0bHNfc3dfc2VuZHBhZ2VfbG9ja2VkXCIiKQpTaWduZWQtb2ZmLWJ5OiBXaWxsZW0g ZGUgQnJ1aWpuIDx3aWxsZW1iQGdvb2dsZS5jb20+CkFja2VkLWJ5OiBKb2huIEZhc3RhYmVuZCA8 am9obi5mYXN0YWJlbmRAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIg PGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogaW5jbHVkZS9uZXQvdGxzLmggIHwgIDIgKysKIG5l dC90bHMvdGxzX21haW4uYyB8ICAxICsKIG5ldC90bHMvdGxzX3N3LmMgICB8IDExICsrKysrKysr KysrCiAzIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9pbmNs dWRlL25ldC90bHMuaCBiL2luY2x1ZGUvbmV0L3Rscy5oCmluZGV4IGJkMWVmMWE5MTVlOS4uOWJm MDRhNzRhNmNiIDEwMDY0NAotLS0gYS9pbmNsdWRlL25ldC90bHMuaAorKysgYi9pbmNsdWRlL25l dC90bHMuaApAQCAtMzY0LDYgKzM2NCw4IEBAIGludCB0bHNfc2V0X3N3X29mZmxvYWQoc3RydWN0 IHNvY2sgKnNrLCBzdHJ1Y3QgdGxzX2NvbnRleHQgKmN0eCwgaW50IHR4KTsKIHZvaWQgdGxzX3N3 X3N0cnBhcnNlcl9hcm0oc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3QgdGxzX2NvbnRleHQgKmN0eCk7 CiB2b2lkIHRsc19zd19zdHJwYXJzZXJfZG9uZShzdHJ1Y3QgdGxzX2NvbnRleHQgKnRsc19jdHgp OwogaW50IHRsc19zd19zZW5kbXNnKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IG1zZ2hkciAqbXNn LCBzaXplX3Qgc2l6ZSk7CitpbnQgdGxzX3N3X3NlbmRwYWdlX2xvY2tlZChzdHJ1Y3Qgc29jayAq c2ssIHN0cnVjdCBwYWdlICpwYWdlLAorCQkJICAgaW50IG9mZnNldCwgc2l6ZV90IHNpemUsIGlu dCBmbGFncyk7CiBpbnQgdGxzX3N3X3NlbmRwYWdlKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHBh Z2UgKnBhZ2UsCiAJCSAgICBpbnQgb2Zmc2V0LCBzaXplX3Qgc2l6ZSwgaW50IGZsYWdzKTsKIHZv aWQgdGxzX3N3X2NhbmNlbF93b3JrX3R4KHN0cnVjdCB0bHNfY29udGV4dCAqdGxzX2N0eCk7CmRp ZmYgLS1naXQgYS9uZXQvdGxzL3Rsc19tYWluLmMgYi9uZXQvdGxzL3Rsc19tYWluLmMKaW5kZXgg OTMxM2RkNTEwMjNhLi5hYzJkZmUzNjAyMmQgMTAwNjQ0Ci0tLSBhL25ldC90bHMvdGxzX21haW4u YworKysgYi9uZXQvdGxzL3Rsc19tYWluLmMKQEAgLTg1Miw2ICs4NTIsNyBAQCBzdGF0aWMgaW50 IF9faW5pdCB0bHNfcmVnaXN0ZXIodm9pZCkKIHsKIAl0bHNfc3dfcHJvdG9fb3BzID0gaW5ldF9z dHJlYW1fb3BzOwogCXRsc19zd19wcm90b19vcHMuc3BsaWNlX3JlYWQgPSB0bHNfc3dfc3BsaWNl X3JlYWQ7CisJdGxzX3N3X3Byb3RvX29wcy5zZW5kcGFnZV9sb2NrZWQgICA9IHRsc19zd19zZW5k cGFnZV9sb2NrZWQsCiAKICNpZmRlZiBDT05GSUdfVExTX0RFVklDRQogCXRsc19kZXZpY2VfaW5p dCgpOwpkaWZmIC0tZ2l0IGEvbmV0L3Rscy90bHNfc3cuYyBiL25ldC90bHMvdGxzX3N3LmMKaW5k ZXggODgxZjA2ZjQ2NWY4Li40MWIyYmRjMDViYTMgMTAwNjQ0Ci0tLSBhL25ldC90bHMvdGxzX3N3 LmMKKysrIGIvbmV0L3Rscy90bHNfc3cuYwpAQCAtMTIwNCw2ICsxMjA0LDE3IEBAIHN0YXRpYyBp bnQgdGxzX3N3X2RvX3NlbmRwYWdlKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHBhZ2UgKnBhZ2Us CiAJcmV0dXJuIGNvcGllZCA/IGNvcGllZCA6IHJldDsKIH0KIAoraW50IHRsc19zd19zZW5kcGFn ZV9sb2NrZWQoc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3QgcGFnZSAqcGFnZSwKKwkJCSAgIGludCBv ZmZzZXQsIHNpemVfdCBzaXplLCBpbnQgZmxhZ3MpCit7CisJaWYgKGZsYWdzICYgfihNU0dfTU9S RSB8IE1TR19ET05UV0FJVCB8IE1TR19OT1NJR05BTCB8CisJCSAgICAgIE1TR19TRU5EUEFHRV9O T1RMQVNUIHwgTVNHX1NFTkRQQUdFX05PUE9MSUNZIHwKKwkJICAgICAgTVNHX05PX1NIQVJFRF9G UkFHUykpCisJCXJldHVybiAtRU5PVFNVUFA7CisKKwlyZXR1cm4gdGxzX3N3X2RvX3NlbmRwYWdl KHNrLCBwYWdlLCBvZmZzZXQsIHNpemUsIGZsYWdzKTsKK30KKwogaW50IHRsc19zd19zZW5kcGFn ZShzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBwYWdlICpwYWdlLAogCQkgICAgaW50IG9mZnNldCwg c2l6ZV90IHNpemUsIGludCBmbGFncykKIHsKLS0gCjIuMjAuMQoKCkZyb20gMDlkZWQxZjBlYTE5 ZDg3Y2U3NjUzNmQ2Y2RkNGNlMWQxYzc2NjdjZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogSGFuZ2JpbiBMaXUgPGxpdWhhbmdiaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDIwIE5vdiAy MDE5IDE1OjM5OjA2ICswODAwClN1YmplY3Q6IFtQQVRDSCAxMi8xOF0gaXB2Ni9yb3V0ZTogcmV0 dXJuIGlmIHRoZXJlIGlzIG5vIGZpYl9uaF9nd19mYW1pbHkKClsgVXBzdHJlYW0gY29tbWl0IDAw NGIzOTQyN2Y5NDU2OTZkYjMwYWJiMmM0ZTFhMzg1NmZmZmY4MTkgXQoKUHJldmlvdXNseSB3ZSB3 aWxsIHJldHVybiBkaXJlY3RseSBpZiAoIXJ0IHx8ICFydC0+ZmliNl9uaC5maWJfbmhfZ3dfZmFt aWx5KQppbiBmdW5jdGlvbiBydDZfcHJvYmUoKSwgYnV0IGFmdGVyIGNvbW1pdCBjYzNhODZjODAy ZjAKKCJpcHY2OiBDaGFuZ2UgcnQ2X3Byb2JlIHRvIHRha2UgYSBmaWI2X25oIiksIHRoZSBsb2dp YyBjaGFuZ2VkIHRvCnJldHVybiBpZiB0aGVyZSBpcyBmaWJfbmhfZ3dfZmFtaWx5LgoKRml4ZXM6 IGNjM2E4NmM4MDJmMCAoImlwdjY6IENoYW5nZSBydDZfcHJvYmUgdG8gdGFrZSBhIGZpYjZfbmgi KQpTaWduZWQtb2ZmLWJ5OiBIYW5nYmluIExpdSA8bGl1aGFuZ2JpbkBnbWFpbC5jb20+ClJldmll d2VkLWJ5OiBEYXZpZCBBaGVybiA8ZHNhaGVybkBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERh dmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2Ni9yb3V0ZS5j IHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvbmV0L2lwdjYvcm91dGUuYyBiL25ldC9pcHY2L3JvdXRlLmMKaW5kZXggMmIy NWEwZGUwMzY0Li41NmM4Yzk5MGI2ZjIgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L3JvdXRlLmMKKysr IGIvbmV0L2lwdjYvcm91dGUuYwpAQCAtNjM0LDcgKzYzNCw3IEBAIHN0YXRpYyB2b2lkIHJ0Nl9w cm9iZShzdHJ1Y3QgZmliNl9uaCAqZmliNl9uaCkKIAkgKiBSb3V0ZXIgUmVhY2hhYmlsaXR5IFBy b2JlIE1VU1QgYmUgcmF0ZS1saW1pdGVkCiAJICogdG8gbm8gbW9yZSB0aGFuIG9uZSBwZXIgbWlu dXRlLgogCSAqLwotCWlmIChmaWI2X25oLT5maWJfbmhfZ3dfZmFtaWx5KQorCWlmICghZmliNl9u aC0+ZmliX25oX2d3X2ZhbWlseSkKIAkJcmV0dXJuOwogCiAJbmhfZ3cgPSAmZmliNl9uaC0+Zmli X25oX2d3NjsKLS0gCjIuMjAuMQoKCkZyb20gNDQzODAyMTg1Y2FjM2E0ZjA5NjNiNjFmODY5MmMy YWYyZTMyN2U0MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP01hcmVr PTIwQmVoPUMzPUJBbj89IDxtYXJlay5iZWh1bkBuaWMuY3o+CkRhdGU6IE1vbiwgMTggTm92IDIw MTkgMTk6MTU6MDUgKzAxMDAKU3ViamVjdDogW1BBVENIIDEzLzE4XSBtZGlvX2J1czogZml4IG1k aW9fcmVnaXN0ZXJfZGV2aWNlIHdoZW4KIFJFU0VUX0NPTlRST0xMRVIgaXMgZGlzYWJsZWQKTUlN RS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNv bnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClsgVXBzdHJlYW0gY29tbWl0IDA3NWUyMzhk MTJjMjFjOGJkZTcwMGQyMWZiNDhiZTdhM2FhODAxOTQgXQoKV2hlbiBDT05GSUdfUkVTRVRfQ09O VFJPTExFUiBpcyBkaXNhYmxlZCwgdGhlCmRldm1fcmVzZXRfY29udHJvbF9nZXRfZXhjbHVzaXZl IGZ1bmN0aW9uIHJldHVybnMgLUVOT1RTVVBQLiBUaGlzIGlzIG5vdApoYW5kbGVkIGluIHN1YnNl cXVlbnQgY2hlY2sgYW5kIHRoZW4gdGhlIG1kaW8gZGV2aWNlIGZhaWxzIHRvIHByb2JlLgoKV2hl biBDT05GSUdfUkVTRVRfQ09OVFJPTExFUiBpcyBlbmFibGVkLCBpdHMgY29kZSBjaGVja3MgaW4g T0YgZm9yIHJlc2V0CmRldmljZSwgYW5kIHNpbmNlIGl0IGlzIG5vdCBwcmVzZW50LCByZXR1cm5z IC1FTk9FTlQuIC1FTk9FTlQgaXMgaGFuZGxlZC4KQWRkIC1FTk9UU1VQUCBhbHNvLgoKVGhpcyBo YXBwZW5lZCB0byBtZSB3aGVuIHVwZ3JhZGluZyBrZXJuZWwgb24gVHVycmlzIE9tbmlhLiBZb3Ug ZWl0aGVyCmhhdmUgdG8gZW5hYmxlIENPTkZJR19SRVNFVF9DT05UUk9MTEVSIG9yIHVzZSB0aGlz IHBhdGNoLgoKU2lnbmVkLW9mZi1ieTogTWFyZWsgQmVow7puIDxtYXJlay5iZWh1bkBuaWMuY3o+ CkZpeGVzOiA3MWRkNmMwZGZmNTFiICgibmV0OiBwaHk6IGFkZCBzdXBwb3J0IGZvciByZXNldC1j b250cm9sbGVyIikKQ2M6IERtaXRyeSBUb3Jva2hvdiA8ZG1pdHJ5LnRvcm9raG92QGdtYWlsLmNv bT4KQ2M6IEFuZHJldyBMdW5uIDxhbmRyZXdAbHVubi5jaD4KQ2M6IEFuZHkgU2hldmNoZW5rbyA8 YW5kcml5LnNoZXZjaGVua29AbGludXguaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogQW5kcmV3IEx1 bm4gPGFuZHJld0BsdW5uLmNoPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvcGh5L21kaW9fYnVzLmMgfCAxMSArKysr KystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9waHkvbWRpb19idXMuYyBiL2RyaXZlcnMvbmV0L3Bo eS9tZGlvX2J1cy5jCmluZGV4IGJkMDRmZTc2MjA1Ni4uMmE3OWM3YTdlOTIwIDEwMDY0NAotLS0g YS9kcml2ZXJzL25ldC9waHkvbWRpb19idXMuYworKysgYi9kcml2ZXJzL25ldC9waHkvbWRpb19i dXMuYwpAQCAtNjgsMTEgKzY4LDEyIEBAIHN0YXRpYyBpbnQgbWRpb2J1c19yZWdpc3Rlcl9yZXNl dChzdHJ1Y3QgbWRpb19kZXZpY2UgKm1kaW9kZXYpCiAJaWYgKG1kaW9kZXYtPmRldi5vZl9ub2Rl KQogCQlyZXNldCA9IGRldm1fcmVzZXRfY29udHJvbF9nZXRfZXhjbHVzaXZlKCZtZGlvZGV2LT5k ZXYsCiAJCQkJCQkJICJwaHkiKTsKLQlpZiAoUFRSX0VSUihyZXNldCkgPT0gLUVOT0VOVCB8fAot CSAgICBQVFJfRVJSKHJlc2V0KSA9PSAtRU5PVFNVUFApCi0JCXJlc2V0ID0gTlVMTDsKLQllbHNl IGlmIChJU19FUlIocmVzZXQpKQotCQlyZXR1cm4gUFRSX0VSUihyZXNldCk7CisJaWYgKElTX0VS UihyZXNldCkpIHsKKwkJaWYgKFBUUl9FUlIocmVzZXQpID09IC1FTk9FTlQgfHwgUFRSX0VSUihy ZXNldCkgPT0gLUVOT1RTVVBQKQorCQkJcmVzZXQgPSBOVUxMOworCQllbHNlCisJCQlyZXR1cm4g UFRSX0VSUihyZXNldCk7CisJfQogCiAJbWRpb2Rldi0+cmVzZXRfY3RybCA9IHJlc2V0OwogCi0t IAoyLjIwLjEKCgpGcm9tIGE2MmFiMWM4NzhjYjQ3NzdmZTZmZWMxNjJiOTFjOWY4YzdlZGRjNGQg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEl2YW4gS2hvcm9uemh1ayA8aXZhbi5raG9y b256aHVrQGxpbmFyby5vcmc+CkRhdGU6IFR1ZSwgMTkgTm92IDIwMTkgMDI6MjM6MTIgKzAyMDAK U3ViamVjdDogW1BBVENIIDE0LzE4XSB0YXByaW86IGRvbid0IHJlamVjdCBzYW1lIG1xcHJpbyBz ZXR0aW5ncwoKWyBVcHN0cmVhbSBjb21taXQgYjVhMGZhYTM1NzJhYzcwYmQzNzRiZDY2MTkwYWMz YWQ0ZmRkYWIyMCBdCgpUaGUgdGFwcmlvIHFkaXNjIGFsbG93cyB0byBzZXQgbXFwcmlvIHNldHRp bmcgYnV0IG9ubHkgb25jZS4gSW4gY2FzZQppZiBtcXByaW8gc2V0dGluZ3MgYXJlIHByb3ZpZGVk IG5leHQgdGltZSB0aGUgZXJyb3IgaXMgcmV0dXJuZWQgYXMKaXQncyBub3QgYWxsb3dlZCB0byBj aGFuZ2UgdHJhZmZpYyBjbGFzcyBtYXBwaW5nIGluLWZsaWdudCBhbmQgdGhhdAppcyBub3JtYWwu IEJ1dCBpZiBjb25maWd1cmF0aW9uIGlzIGFic29sdXRlbHkgdGhlIHNhbWUgLSBubyBuZWVkIHRv CnJldHVybiBlcnJvci4gSXQgYWxsb3dzIHRvIHByb3ZpZGUgc2FtZSBjb21tYW5kIGNvdXBsZSB0 aW1lcywKY2hhbmdpbmcgb25seSBiYXNlIHRpbWUgZm9yIGluc3RhbmNlLCBvciBjaGFuZ2luZyBv bmx5IHNjaGVkcyBtYXBzLApidXQgbGVhdmluZyBtcXByaW8gc2V0dGluZyB3L28gbW9kaWZpY2F0 aW9uLiBJdCBtb3JlIGNvcnJlc3BvbmRzIHRoZQptZXNzYWdlOiAiQ2hhbmdpbmcgdGhlIHRyYWZm aWMgbWFwcGluZyBvZiBhIHJ1bm5pbmcgc2NoZWR1bGUgaXMgbm90CnN1cHBvcnRlZCIsIHNvIHJl amVjdCBtcXByaW8gaWYgaXQncyByZWFsbHkgY2hhbmdlZC4KCkFsc28gY29ycmVjdGVkIFRDX0JJ VE1BU0sgKyAxIGZvciBjb25zaXN0ZW5jeSwgYXMgcHJvcG9zZWQuCgpGaXhlczogYTNkNDNjMGQ1 NmYxICgidGFwcmlvOiBBZGQgc3VwcG9ydCBhZGRpbmcgYW4gYWRtaW4gc2NoZWR1bGUiKQpSZXZp ZXdlZC1ieTogVmxhZGltaXIgT2x0ZWFuIDxvbHRlYW52QGdtYWlsLmNvbT4KVGVzdGVkLWJ5OiBW bGFkaW1pciBPbHRlYW4gPG9sdGVhbnZAZ21haWwuY29tPgpBY2tlZC1ieTogVmluaWNpdXMgQ29z dGEgR29tZXMgPHZpbmljaXVzLmdvbWVzQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogSXZhbiBL aG9yb256aHVrIDxpdmFuLmtob3JvbnpodWtAbGluYXJvLm9yZz4KU2lnbmVkLW9mZi1ieTogRGF2 aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9zY2hlZC9zY2hfdGFw cmlvLmMgfCAyOCArKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwg MjYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQv c2NoX3RhcHJpby5jIGIvbmV0L3NjaGVkL3NjaF90YXByaW8uYwppbmRleCA3NmJlYmU1MTYxOTQu LjkyYzA3NjZkN2Y0ZiAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL3NjaF90YXByaW8uYworKysgYi9u ZXQvc2NoZWQvc2NoX3RhcHJpby5jCkBAIC04NDIsNyArODQyLDcgQEAgc3RhdGljIGludCB0YXBy aW9fcGFyc2VfbXFwcmlvX29wdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAogCX0KIAogCS8qIFZl cmlmeSBwcmlvcml0eSBtYXBwaW5nIHVzZXMgdmFsaWQgdGNzICovCi0JZm9yIChpID0gMDsgaSA8 IFRDX0JJVE1BU0sgKyAxOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDw9IFRDX0JJVE1BU0s7IGkr KykgewogCQlpZiAocW9wdC0+cHJpb190Y19tYXBbaV0gPj0gcW9wdC0+bnVtX3RjKSB7CiAJCQlO TF9TRVRfRVJSX01TRyhleHRhY2ssICJJbnZhbGlkIHRyYWZmaWMgY2xhc3MgaW4gcHJpb3JpdHkg dG8gdHJhZmZpYyBjbGFzcyBtYXBwaW5nIik7CiAJCQlyZXR1cm4gLUVJTlZBTDsKQEAgLTEwMTQs NiArMTAxNCwyNiBAQCBzdGF0aWMgdm9pZCBzZXR1cF90eHRpbWUoc3RydWN0IHRhcHJpb19zY2hl ZCAqcSwKIAl9CiB9CiAKK3N0YXRpYyBpbnQgdGFwcmlvX21xcHJpb19jbXAoY29uc3Qgc3RydWN0 IG5ldF9kZXZpY2UgKmRldiwKKwkJCSAgICAgY29uc3Qgc3RydWN0IHRjX21xcHJpb19xb3B0ICpt cXByaW8pCit7CisJaW50IGk7CisKKwlpZiAoIW1xcHJpbyB8fCBtcXByaW8tPm51bV90YyAhPSBk ZXYtPm51bV90YykKKwkJcmV0dXJuIC0xOworCisJZm9yIChpID0gMDsgaSA8IG1xcHJpby0+bnVt X3RjOyBpKyspCisJCWlmIChkZXYtPnRjX3RvX3R4cVtpXS5jb3VudCAhPSBtcXByaW8tPmNvdW50 W2ldIHx8CisJCSAgICBkZXYtPnRjX3RvX3R4cVtpXS5vZmZzZXQgIT0gbXFwcmlvLT5vZmZzZXRb aV0pCisJCQlyZXR1cm4gLTE7CisKKwlmb3IgKGkgPSAwOyBpIDw9IFRDX0JJVE1BU0s7IGkrKykK KwkJaWYgKGRldi0+cHJpb190Y19tYXBbaV0gIT0gbXFwcmlvLT5wcmlvX3RjX21hcFtpXSkKKwkJ CXJldHVybiAtMTsKKworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IHRhcHJpb19jaGFuZ2Uo c3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBubGF0dHIgKm9wdCwKIAkJCSBzdHJ1Y3QgbmV0bGlu a19leHRfYWNrICpleHRhY2spCiB7CkBAIC0xMDY1LDYgKzEwODUsMTAgQEAgc3RhdGljIGludCB0 YXByaW9fY2hhbmdlKHN0cnVjdCBRZGlzYyAqc2NoLCBzdHJ1Y3QgbmxhdHRyICpvcHQsCiAJYWRt aW4gPSByY3VfZGVyZWZlcmVuY2UocS0+YWRtaW5fc2NoZWQpOwogCXJjdV9yZWFkX3VubG9jaygp OwogCisJLyogbm8gY2hhbmdlcyAtIG5vIG5ldyBtcXByaW8gc2V0dGluZ3MgKi8KKwlpZiAoIXRh cHJpb19tcXByaW9fY21wKGRldiwgbXFwcmlvKSkKKwkJbXFwcmlvID0gTlVMTDsKKwogCWlmICht cXByaW8gJiYgKG9wZXIgfHwgYWRtaW4pKSB7CiAJCU5MX1NFVF9FUlJfTVNHKGV4dGFjaywgIkNo YW5naW5nIHRoZSB0cmFmZmljIG1hcHBpbmcgb2YgYSBydW5uaW5nIHNjaGVkdWxlIGlzIG5vdCBz dXBwb3J0ZWQiKTsKIAkJZXJyID0gLUVOT1RTVVBQOwpAQCAtMTEzMiw3ICsxMTU2LDcgQEAgc3Rh dGljIGludCB0YXByaW9fY2hhbmdlKHN0cnVjdCBRZGlzYyAqc2NoLCBzdHJ1Y3QgbmxhdHRyICpv cHQsCiAJCQkJCSAgICBtcXByaW8tPm9mZnNldFtpXSk7CiAKIAkJLyogQWx3YXlzIHVzZSBzdXBw bGllZCBwcmlvcml0eSBtYXBwaW5ncyAqLwotCQlmb3IgKGkgPSAwOyBpIDwgVENfQklUTUFTSyAr IDE7IGkrKykKKwkJZm9yIChpID0gMDsgaSA8PSBUQ19CSVRNQVNLOyBpKyspCiAJCQluZXRkZXZf c2V0X3ByaW9fdGNfbWFwKGRldiwgaSwKIAkJCQkJICAgICAgIG1xcHJpby0+cHJpb190Y19tYXBb aV0pOwogCX0KLS0gCjIuMjAuMQoKCkZyb20gOWFiN2ZhZWZjYzJiZDBkMTY4M2JhNTJjYjkxYTIz YzI4OTkyMTI0ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWFyY2VsbyBSaWNhcmRv IExlaXRuZXIgPG1hcmNlbG8ubGVpdG5lckBnbWFpbC5jb20+CkRhdGU6IE1vbiwgMTggTm92IDIw MTkgMDk6NDY6MDkgLTAzMDAKU3ViamVjdDogW1BBVENIIDE1LzE4XSBuZXQvaXB2NDogZml4IHN5 c2N0bCBtYXggZm9yIGZpYl9tdWx0aXBhdGhfaGFzaF9wb2xpY3kKClsgVXBzdHJlYW0gY29tbWl0 IGNhNzQ5YmJiMTA4YzI0YTg3NjAxNGM4MDRmOTc3N2M1NDViZTRkNTkgXQoKQ29tbWl0IGVlYzQ4 NDRmYWU3YyAoInByb2Mvc3lzY3RsOiBhZGQgc2hhcmVkIHZhcmlhYmxlcyBmb3IgcmFuZ2UKY2hl Y2siKSBkaWQ6Ci0gICAgICAgICAgICAgICAuZXh0cmEyICAgICAgICAgPSAmdHdvLAorICAgICAg ICAgICAgICAgLmV4dHJhMiAgICAgICAgID0gU1lTQ1RMX09ORSwKaGVyZSwgd2hpY2ggZG9lc24n dCBzZWVtIHRvIGJlIGludGVudGlvbmFsLCBnaXZlbiB0aGUgY2hhbmdlbG9nLgpUaGlzIHBhdGNo IHJlc3RvcmVzIGl0IHRvIHRoZSBwcmV2aW91cywgYXMgdGhlIHZhbHVlIG9mIDIgc3RpbGwgbWFr ZXMKc2Vuc2UgKHVzZWQgaW4gZmliX211bHRpcGF0aF9oYXNoKCkpLgoKRml4ZXM6IGVlYzQ4NDRm YWU3YyAoInByb2Mvc3lzY3RsOiBhZGQgc2hhcmVkIHZhcmlhYmxlcyBmb3IgcmFuZ2UgY2hlY2si KQpDYzogTWF0dGVvIENyb2NlIDxtY3JvY2VAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogTWFy Y2VsbyBSaWNhcmRvIExlaXRuZXIgPG1hcmNlbG8ubGVpdG5lckBnbWFpbC5jb20+CkFja2VkLWJ5 OiBNYXR0ZW8gQ3JvY2UgPG1jcm9jZUByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvc3lzY3RsX25ldF9p cHY0LmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24o LSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC9zeXNjdGxfbmV0X2lwdjQuYyBiL25ldC9pcHY0L3N5 c2N0bF9uZXRfaXB2NC5jCmluZGV4IDBiOTgwZTg0MTkyNy4uYzQ1YjdkNzM4Y2QxIDEwMDY0NAot LS0gYS9uZXQvaXB2NC9zeXNjdGxfbmV0X2lwdjQuYworKysgYi9uZXQvaXB2NC9zeXNjdGxfbmV0 X2lwdjQuYwpAQCAtMTAyOCw3ICsxMDI4LDcgQEAgc3RhdGljIHN0cnVjdCBjdGxfdGFibGUgaXB2 NF9uZXRfdGFibGVbXSA9IHsKIAkJLm1vZGUJCT0gMDY0NCwKIAkJLnByb2NfaGFuZGxlcgk9IHBy b2NfZmliX211bHRpcGF0aF9oYXNoX3BvbGljeSwKIAkJLmV4dHJhMQkJPSBTWVNDVExfWkVSTywK LQkJLmV4dHJhMgkJPSBTWVNDVExfT05FLAorCQkuZXh0cmEyCQk9ICZ0d28sCiAJfSwKICNlbmRp ZgogCXsKLS0gCjIuMjAuMQoKCkZyb20gNjAwMTkxMzM5ZWZlNTc1NmJhZDQ0NzY4MjA1MTE3MWQz ZWJjYjc0OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRWxpIENvaGVuIDxlbGlAbWVs bGFub3guY29tPgpEYXRlOiBUaHUsIDMxIE9jdCAyMDE5IDA5OjAwOjQzICswMjAwClN1YmplY3Q6 IFtQQVRDSCAxNi8xOF0gbmV0L21seDVlOiBGaXggZXJyb3IgZmxvdyBjbGVhbnVwIGluCiBtbHg1 ZV90Y190dW5fY3JlYXRlX2hlYWRlcl9pcHY0LzYKClsgVXBzdHJlYW0gY29tbWl0IGE4NmRiMjI2 OWZjYTgwMTkwNzRiNzIwYmFmMmUwYTM1Y2RkYWM0ZTkgXQoKQmUgc3VyZSB0byByZWxlYXNlIHRo ZSBuZWlnaGJvdXIgaW4gY2FzZSBvZiBmYWlsdXJlcyBhZnRlciBzdWNjZXNzZnVsCnJvdXRlIGxv b2t1cC4KCkZpeGVzOiAxMDFmNGRlOWRkNTIgKCJuZXQvbWx4NWU6IE1vdmUgVEMgdHVubmVsIG9m ZmxvYWRpbmcgY29kZSB0byBzZXBhcmF0ZSBzb3VyY2UgZmlsZSIpClNpZ25lZC1vZmYtYnk6IEVs aSBDb2hlbiA8ZWxpQG1lbGxhbm94LmNvbT4KUmV2aWV3ZWQtYnk6IFJvaSBEYXlhbiA8cm9pZEBt ZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFu b3guY29tPgotLS0KIC4uLi9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW4vdGNfdHVuLmMg ICAgfCAxOCArKysrKysrKysrKystLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25z KCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21l bGxhbm94L21seDUvY29yZS9lbi90Y190dW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxh bm94L21seDUvY29yZS9lbi90Y190dW4uYwppbmRleCAzMTBmNjVlZjU0NDYuLmQ0MWM1MjBjZTBh OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vu L3RjX3R1bi5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9l bi90Y190dW4uYwpAQCAtMjMyLDEyICsyMzIsMTUgQEAgaW50IG1seDVlX3RjX3R1bl9jcmVhdGVf aGVhZGVyX2lwdjQoc3RydWN0IG1seDVlX3ByaXYgKnByaXYsCiAJaWYgKG1heF9lbmNhcF9zaXpl IDwgaXB2NF9lbmNhcF9zaXplKSB7CiAJCW1seDVfY29yZV93YXJuKHByaXYtPm1kZXYsICJlbmNh cCBzaXplICVkIHRvbyBiaWcsIG1heCBzdXBwb3J0ZWQgaXMgJWRcbiIsCiAJCQkgICAgICAgaXB2 NF9lbmNhcF9zaXplLCBtYXhfZW5jYXBfc2l6ZSk7Ci0JCXJldHVybiAtRU9QTk9UU1VQUDsKKwkJ ZXJyID0gLUVPUE5PVFNVUFA7CisJCWdvdG8gb3V0OwogCX0KIAogCWVuY2FwX2hlYWRlciA9IGt6 YWxsb2MoaXB2NF9lbmNhcF9zaXplLCBHRlBfS0VSTkVMKTsKLQlpZiAoIWVuY2FwX2hlYWRlcikK LQkJcmV0dXJuIC1FTk9NRU07CisJaWYgKCFlbmNhcF9oZWFkZXIpIHsKKwkJZXJyID0gLUVOT01F TTsKKwkJZ290byBvdXQ7CisJfQogCiAJLyogdXNlZCBieSBtbHg1ZV9kZXRhY2hfZW5jYXAgdG8g bG9va3VwIGEgbmVpZ2ggaGFzaCB0YWJsZQogCSAqIGVudHJ5IGluIHRoZSBuZWlnaCBoYXNoIHRh YmxlIHdoZW4gYSB1c2VyIGRlbGV0ZXMgYSBydWxlCkBAIC0zNDgsMTIgKzM1MSwxNSBAQCBpbnQg bWx4NWVfdGNfdHVuX2NyZWF0ZV9oZWFkZXJfaXB2NihzdHJ1Y3QgbWx4NWVfcHJpdiAqcHJpdiwK IAlpZiAobWF4X2VuY2FwX3NpemUgPCBpcHY2X2VuY2FwX3NpemUpIHsKIAkJbWx4NV9jb3JlX3dh cm4ocHJpdi0+bWRldiwgImVuY2FwIHNpemUgJWQgdG9vIGJpZywgbWF4IHN1cHBvcnRlZCBpcyAl ZFxuIiwKIAkJCSAgICAgICBpcHY2X2VuY2FwX3NpemUsIG1heF9lbmNhcF9zaXplKTsKLQkJcmV0 dXJuIC1FT1BOT1RTVVBQOworCQllcnIgPSAtRU9QTk9UU1VQUDsKKwkJZ290byBvdXQ7CiAJfQog CiAJZW5jYXBfaGVhZGVyID0ga3phbGxvYyhpcHY2X2VuY2FwX3NpemUsIEdGUF9LRVJORUwpOwot CWlmICghZW5jYXBfaGVhZGVyKQotCQlyZXR1cm4gLUVOT01FTTsKKwlpZiAoIWVuY2FwX2hlYWRl cikgeworCQllcnIgPSAtRU5PTUVNOworCQlnb3RvIG91dDsKKwl9CiAKIAkvKiB1c2VkIGJ5IG1s eDVlX2RldGFjaF9lbmNhcCB0byBsb29rdXAgYSBuZWlnaCBoYXNoIHRhYmxlCiAJICogZW50cnkg aW4gdGhlIG5laWdoIGhhc2ggdGFibGUgd2hlbiBhIHVzZXIgZGVsZXRlcyBhIHJ1bGUKLS0gCjIu MjAuMQoKCkZyb20gNmI5NjgyMTc5YmI0ZWM5YTM3MTU5ZTRiZmRhMGNjNTkxMjE0MWNjOCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJhbiBCZW4gRWxpc2hhIDxlcmFuYmVAbWVsbGFu b3guY29tPgpEYXRlOiBTdW4sIDE3IE5vdiAyMDE5IDE1OjE3OjA1ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAxNy8xOF0gbmV0L21seDVlOiBEbyBub3QgdXNlIG5vbi1FWFQgbGluayBtb2RlcyBpbiBF WFQgbW9kZQoKWyBVcHN0cmVhbSBjb21taXQgMjQ5NjA1NzQ1MDVjNDliMTAyY2ExZGZhNmJmMTA5 NjY5YmNhMmE2NiBdCgpPbiBzb21lIG9sZCBGaXJtd2FyZXMsIGNvbm5lY3RvciB0eXBlIHZhbHVl IHdhcyBub3Qgc3VwcG9ydGVkLCBhbmQgdmFsdWUKcmVhZCBmcm9tIEZXIHdhcyAwLiBGb3IgdGhv c2UsIGRyaXZlciB1c2VkIGxpbmsgbW9kZSBpbiBvcmRlciB0byBzZXQKY29ubmVjdG9yIHR5cGUg aW4gbGlua19rc2V0dGluZy4KCkFmdGVyIEZXIGV4cG9zZWQgdGhlIGNvbm5lY3RvciB0eXBlLCBk cml2ZXIgdHJhbnNsYXRlZCB0aGUgdmFsdWUgdG8gZXRodG9vbApkZWZpbml0aW9ucy4gSG93ZXZl ciwgYXMgMCBpcyBhIHZhbGlkIHZhbHVlLCBiZWZvcmUgcmV0dXJuaW5nIFBPUlRfT1RIRVIsCmRy aXZlciBydW4gdGhlIGNoZWNrIG9mIGxpbmsgbW9kZSBpbiBvcmRlciB0byBtYWludGFpbiBiYWNr d2FyZApjb21wYXRpYmlsaXR5LgoKQ2l0ZWQgcGF0Y2ggYWRkZWQgc3VwcG9ydCB0byBFWFQgbW9k ZS4gIFdpdGggYm90aCBmZWF0dXJlcyAoY29ubmVjdG9yIHR5cGUKYW5kIEVYVCBsaW5rIG1vZGVz KSAsaWYgY29ubmVjdG9yX3R5cGUgcmVhZCBmcm9tIEZXIGlzIDAgYW5kIEVYVCBtb2RlIGlzCnNl dCwgZHJpdmVyIG1pc3Rha2VubHkgY29tcGFyZSBFWFQgbGluayBtb2RlcyB0byBub24tRVhUIGxp bmsgbW9kZS4KRml4ZWQgdGhhdCBieSBza2lwcGluZyB0aGlzIGNvbXBhcmlzb24gaWYgd2UgYXJl IGluIEVYVCBtb2RlLCBhcyBjb25uZWN0b3IKdHlwZSB2YWx1ZSBpcyB2YWxpZCBpbiB0aGlzIHNj ZW5hcmlvLgoKRml4ZXM6IDZhODk3MzcyNDE3ZSAoIm5ldC9tbHg1OiBldGh0b29sLCBBZGQgZXRo dG9vbCBzdXBwb3J0IGZvciA1MEdicHMgcGVyIGxhbmUgbGluayBtb2RlcyIpClNpZ25lZC1vZmYt Ynk6IEVyYW4gQmVuIEVsaXNoYSA8ZXJhbmJlQG1lbGxhbm94LmNvbT4KUmV2aWV3ZWQtYnk6IEF5 YSBMZXZpbiA8YXlhbEBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVk IDxzYWVlZG1AbWVsbGFub3guY29tPgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94 L21seDUvY29yZS9lbl9ldGh0b29sLmMgfCAxMiArKysrKystLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX2V0aHRvb2wuYyBiL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9ldGh0b29sLmMKaW5kZXggYTliYjhlMmIz NGE3Li44ZDQ4NTY4NjAzNjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxh bm94L21seDUvY29yZS9lbl9ldGh0b29sLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVs bGFub3gvbWx4NS9jb3JlL2VuX2V0aHRvb2wuYwpAQCAtNzA4LDkgKzcwOCw5IEBAIHN0YXRpYyBp bnQgZ2V0X2ZlY19zdXBwb3J0ZWRfYWR2ZXJ0aXNlZChzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2 LAogCiBzdGF0aWMgdm9pZCBwdHlzMmV0aHRvb2xfc3VwcG9ydGVkX2FkdmVydGlzZWRfcG9ydChz dHJ1Y3QgZXRodG9vbF9saW5rX2tzZXR0aW5ncyAqbGlua19rc2V0dGluZ3MsCiAJCQkJCQkgICB1 MzIgZXRoX3Byb3RvX2NhcCwKLQkJCQkJCSAgIHU4IGNvbm5lY3Rvcl90eXBlKQorCQkJCQkJICAg dTggY29ubmVjdG9yX3R5cGUsIGJvb2wgZXh0KQogewotCWlmICghY29ubmVjdG9yX3R5cGUgfHwg Y29ubmVjdG9yX3R5cGUgPj0gTUxYNUVfQ09OTkVDVE9SX1RZUEVfTlVNQkVSKSB7CisJaWYgKCgh Y29ubmVjdG9yX3R5cGUgJiYgIWV4dCkgfHwgY29ubmVjdG9yX3R5cGUgPj0gTUxYNUVfQ09OTkVD VE9SX1RZUEVfTlVNQkVSKSB7CiAJCWlmIChldGhfcHJvdG9fY2FwICYgKE1MWDVFX1BST1RfTUFT SyhNTFg1RV8xMEdCQVNFX0NSKQogCQkJCSAgIHwgTUxYNUVfUFJPVF9NQVNLKE1MWDVFXzEwR0JB U0VfU1IpCiAJCQkJICAgfCBNTFg1RV9QUk9UX01BU0soTUxYNUVfNDBHQkFTRV9DUjQpCkBAIC04 NDIsOSArODQyLDkgQEAgc3RhdGljIGludCBwdHlzMmNvbm5lY3Rvcl90eXBlW01MWDVFX0NPTk5F Q1RPUl9UWVBFX05VTUJFUl0gPSB7CiAJCVtNTFg1RV9QT1JUX09USEVSXSAgICAgICAgICAgICAg PSBQT1JUX09USEVSLAogCX07CiAKLXN0YXRpYyB1OCBnZXRfY29ubmVjdG9yX3BvcnQodTMyIGV0 aF9wcm90bywgdTggY29ubmVjdG9yX3R5cGUpCitzdGF0aWMgdTggZ2V0X2Nvbm5lY3Rvcl9wb3J0 KHUzMiBldGhfcHJvdG8sIHU4IGNvbm5lY3Rvcl90eXBlLCBib29sIGV4dCkKIHsKLQlpZiAoY29u bmVjdG9yX3R5cGUgJiYgY29ubmVjdG9yX3R5cGUgPCBNTFg1RV9DT05ORUNUT1JfVFlQRV9OVU1C RVIpCisJaWYgKChjb25uZWN0b3JfdHlwZSB8fCBleHQpICYmIGNvbm5lY3Rvcl90eXBlIDwgTUxY NUVfQ09OTkVDVE9SX1RZUEVfTlVNQkVSKQogCQlyZXR1cm4gcHR5czJjb25uZWN0b3JfdHlwZVtj b25uZWN0b3JfdHlwZV07CiAKIAlpZiAoZXRoX3Byb3RvICYKQEAgLTk0NSw5ICs5NDUsOSBAQCBp bnQgbWx4NWVfZXRodG9vbF9nZXRfbGlua19rc2V0dGluZ3Moc3RydWN0IG1seDVlX3ByaXYgKnBy aXYsCiAJZXRoX3Byb3RvX29wZXIgPSBldGhfcHJvdG9fb3BlciA/IGV0aF9wcm90b19vcGVyIDog ZXRoX3Byb3RvX2NhcDsKIAogCWxpbmtfa3NldHRpbmdzLT5iYXNlLnBvcnQgPSBnZXRfY29ubmVj dG9yX3BvcnQoZXRoX3Byb3RvX29wZXIsCi0JCQkJCQkgICAgICAgY29ubmVjdG9yX3R5cGUpOwor CQkJCQkJICAgICAgIGNvbm5lY3Rvcl90eXBlLCBleHQpOwogCXB0eXMyZXRodG9vbF9zdXBwb3J0 ZWRfYWR2ZXJ0aXNlZF9wb3J0KGxpbmtfa3NldHRpbmdzLCBldGhfcHJvdG9fYWRtaW4sCi0JCQkJ CSAgICAgICBjb25uZWN0b3JfdHlwZSk7CisJCQkJCSAgICAgICBjb25uZWN0b3JfdHlwZSwgZXh0 KTsKIAlnZXRfbHBfYWR2ZXJ0aXNpbmcobWRldiwgZXRoX3Byb3RvX2xwLCBsaW5rX2tzZXR0aW5n cyk7CiAKIAlpZiAoYW5fc3RhdHVzID09IE1MWDVfQU5fQ09NUExFVEUpCi0tIAoyLjIwLjEKCgpG cm9tIGU5YzEyMTZhMDE5Y2NiYWJkZmZmYTdjZGEyNzg5NjcwNWNhZDY0MmMgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IFNoYW5pIFNoYXBwIDxzaGFuaXNoQG1lbGxhbm94LmNvbT4KRGF0 ZTogVHVlLCAxMiBOb3YgMjAxOSAxNToxMDowMCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTgvMThd IG5ldC9tbHg1OiBVcGRhdGUgdGhlIGxpc3Qgb2YgdGhlIFBDSSBzdXBwb3J0ZWQgZGV2aWNlcwoK WyBVcHN0cmVhbSBjb21taXQgYjdlY2E5NDAzMjJmNDdmZDMwZGFmYjcwZGEwNGQxOTNhMDE1NDA5 MCBdCgpBZGQgdGhlIHVwY29taW5nIENvbm5lY3RYLTYgTFggZGV2aWNlIElELgoKRml4ZXM6IDg1 MzI3YTljNDE1MCAoIm5ldC9tbHg1OiBVcGRhdGUgdGhlIGxpc3Qgb2YgdGhlIFBDSSBzdXBwb3J0 ZWQgZGV2aWNlcyIpClNpZ25lZC1vZmYtYnk6IFNoYW5pIFNoYXBwIDxzaGFuaXNoQG1lbGxhbm94 LmNvbT4KUmV2aWV3ZWQtYnk6IEVyYW4gQmVuIEVsaXNoYSA8ZXJhbmJlQG1lbGxhbm94LmNvbT4K U2lnbmVkLW9mZi1ieTogU2FlZWQgTWFoYW1lZWQgPHNhZWVkbUBtZWxsYW5veC5jb20+Ci0tLQog ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL21haW4uYyB8IDEgKwogMSBm aWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL21haW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21l bGxhbm94L21seDUvY29yZS9tYWluLmMKaW5kZXggZmRhNDk2NGM1Y2Y0Li41ZTJiNTYzMDVhM2Eg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9tYWlu LmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL21haW4uYwpA QCAtMTU1Miw2ICsxNTUyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkIG1s eDVfY29yZV9wY2lfdGFibGVbXSA9IHsKIAl7IFBDSV9WREVWSUNFKE1FTExBTk9YLCAweDEwMWMp LCBNTFg1X1BDSV9ERVZfSVNfVkZ9LAkvKiBDb25uZWN0WC02IFZGICovCiAJeyBQQ0lfVkRFVklD RShNRUxMQU5PWCwgMHgxMDFkKSB9LAkJCS8qIENvbm5lY3RYLTYgRHggKi8KIAl7IFBDSV9WREVW SUNFKE1FTExBTk9YLCAweDEwMWUpLCBNTFg1X1BDSV9ERVZfSVNfVkZ9LAkvKiBDb25uZWN0WCBG YW1pbHkgbWx4NUdlbiBWaXJ0dWFsIEZ1bmN0aW9uICovCisJeyBQQ0lfVkRFVklDRShNRUxMQU5P WCwgMHgxMDFmKSB9LAkJCS8qIENvbm5lY3RYLTYgTFggKi8KIAl7IFBDSV9WREVWSUNFKE1FTExB Tk9YLCAweGEyZDIpIH0sCQkJLyogQmx1ZUZpZWxkIGludGVncmF0ZWQgQ29ubmVjdFgtNSBuZXR3 b3JrIGNvbnRyb2xsZXIgKi8KIAl7IFBDSV9WREVWSUNFKE1FTExBTk9YLCAweGEyZDMpLCBNTFg1 X1BDSV9ERVZfSVNfVkZ9LAkvKiBCbHVlRmllbGQgaW50ZWdyYXRlZCBDb25uZWN0WC01IG5ldHdv cmsgY29udHJvbGxlciBWRiAqLwogCXsgUENJX1ZERVZJQ0UoTUVMTEFOT1gsIDB4YTJkNikgfSwJ CQkvKiBCbHVlRmllbGQtMiBpbnRlZ3JhdGVkIENvbm5lY3RYLTYgRHggbmV0d29yayBjb250cm9s bGVyICovCi0tIAoyLjIwLjEKCg== ----Next_Part(Sun_Nov_24_21_54_49_2019_313)----