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=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9D2E5C31E51 for ; Tue, 18 Jun 2019 04:23:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3A90E2084D for ; Tue, 18 Jun 2019 04:23:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725870AbfFREXt (ORCPT ); Tue, 18 Jun 2019 00:23:49 -0400 Received: from shards.monkeyblade.net ([23.128.96.9]:42330 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725826AbfFREXt (ORCPT ); Tue, 18 Jun 2019 00:23:49 -0400 Received: from localhost (unknown [IPv6:2601:601:9f80:35cd::3d5]) (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 22AF5142CC466 for ; Mon, 17 Jun 2019 21:23:46 -0700 (PDT) Date: Mon, 17 Jun 2019 21:23:43 -0700 (PDT) Message-Id: <20190617.212343.443341561831312574.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(Mon_Jun_17_21_23_43_2019_561)--" 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]); Mon, 17 Jun 2019 21:23:47 -0700 (PDT) Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org ----Next_Part(Mon_Jun_17_21_23_43_2019_561)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for v4.19 and v5.1 -stable, respectively. Thank you. ----Next_Part(Mon_Jun_17_21_23_43_2019_561)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_419.mbox" RnJvbSA5NTBlYTBiNzM5MDgzY2Q3MWJjYTBjYWIxOWQwYjAzNjA3MmNjNzEzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRh dGU6IFNhdCwgMTUgSnVuIDIwMTkgMTY6NDA6NTIgLTA3MDAKU3ViamVjdDogW1BBVENIIDAxLzE3 XSBheDI1OiBmaXggaW5jb25zaXN0ZW50IGxvY2sgc3RhdGUgaW4gYXgyNV9kZXN0cm95X3RpbWVy CgpbIFVwc3RyZWFtIGNvbW1pdCBkNGQ1ZDhlODNjOTYxNmFlZWYyOGEyODY5Y2VhNDljYzNmYjM1 NTI2IF0KCkJlZm9yZSB0aHJlYWQgaW4gcHJvY2VzcyBjb250ZXh0IHVzZXMgYmhfbG9ja19zb2Nr KCkKd2UgbXVzdCBkaXNhYmxlIGJoLgoKc3lzYm90IHJlcG9ydGVkIDoKCldBUk5JTkc6IGluY29u c2lzdGVudCBsb2NrIHN0YXRlCjUuMi4wLXJjMysgIzMyIE5vdCB0YWludGVkCgppbmNvbnNpc3Rl bnQge1NPRlRJUlEtT04tV30gLT4ge0lOLVNPRlRJUlEtV30gdXNhZ2UuCmJsa2lkLzI2NTgxIFtI QzBbMF06U0MxWzFdOkhFMTpTRTBdIHRha2VzOgowMDAwMDAwMGUwZGE4NWVlIChzbG9jay1BRl9B WDI1KXsrLj8ufSwgYXQ6IHNwaW5fbG9jayBpbmNsdWRlL2xpbnV4L3NwaW5sb2NrLmg6MzM4IFtp bmxpbmVdCjAwMDAwMDAwZTBkYTg1ZWUgKHNsb2NrLUFGX0FYMjUpeysuPy59LCBhdDogYXgyNV9k ZXN0cm95X3RpbWVyKzB4NTMvMHhjMCBuZXQvYXgyNS9hZl9heDI1LmM6Mjc1CntTT0ZUSVJRLU9O LVd9IHN0YXRlIHdhcyByZWdpc3RlcmVkIGF0OgogIGxvY2tfYWNxdWlyZSsweDE2Zi8weDNmMCBr ZXJuZWwvbG9ja2luZy9sb2NrZGVwLmM6NDMwMwogIF9fcmF3X3NwaW5fbG9jayBpbmNsdWRlL2xp bnV4L3NwaW5sb2NrX2FwaV9zbXAuaDoxNDIgW2lubGluZV0KICBfcmF3X3NwaW5fbG9jaysweDJm LzB4NDAga2VybmVsL2xvY2tpbmcvc3BpbmxvY2suYzoxNTEKICBzcGluX2xvY2sgaW5jbHVkZS9s aW51eC9zcGlubG9jay5oOjMzOCBbaW5saW5lXQogIGF4MjVfcnRfYXV0b2JpbmQrMHgzY2EvMHg3 MjAgbmV0L2F4MjUvYXgyNV9yb3V0ZS5jOjQyOQogIGF4MjVfY29ubmVjdC5jb2xkKzB4MzAvMHhh NCBuZXQvYXgyNS9hZl9heDI1LmM6MTIyMQogIF9fc3lzX2Nvbm5lY3QrMHgyNjQvMHgzMzAgbmV0 L3NvY2tldC5jOjE4MzQKICBfX2RvX3N5c19jb25uZWN0IG5ldC9zb2NrZXQuYzoxODQ1IFtpbmxp bmVdCiAgX19zZV9zeXNfY29ubmVjdCBuZXQvc29ja2V0LmM6MTg0MiBbaW5saW5lXQogIF9feDY0 X3N5c19jb25uZWN0KzB4NzMvMHhiMCBuZXQvc29ja2V0LmM6MTg0MgogIGRvX3N5c2NhbGxfNjQr MHhmZC8weDY4MCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzozMDEKICBlbnRyeV9TWVNDQUxMXzY0 X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlCmlycSBldmVudCBzdGFtcDogMjI3MgpoYXJkaXJxcyBs YXN0ICBlbmFibGVkIGF0ICgyMjcyKTogWzxmZmZmZmZmZjgxMDA2NWYzPl0gdHJhY2VfaGFyZGly cXNfb25fdGh1bmsrMHgxYS8weDFjCmhhcmRpcnFzIGxhc3QgZGlzYWJsZWQgYXQgKDIyNzEpOiBb PGZmZmZmZmZmODEwMDY2MGY+XSB0cmFjZV9oYXJkaXJxc19vZmZfdGh1bmsrMHgxYS8weDFjCnNv ZnRpcnFzIGxhc3QgIGVuYWJsZWQgYXQgKDE1MjIpOiBbPGZmZmZmZmZmODc0MDA2NTQ+XSBfX2Rv X3NvZnRpcnErMHg2NTQvMHg5NGMga2VybmVsL3NvZnRpcnEuYzozMjAKc29mdGlycXMgbGFzdCBk aXNhYmxlZCBhdCAoMjI2Nyk6IFs8ZmZmZmZmZmY4MTQ0OTAxMD5dIGludm9rZV9zb2Z0aXJxIGtl cm5lbC9zb2Z0aXJxLmM6Mzc0IFtpbmxpbmVdCnNvZnRpcnFzIGxhc3QgZGlzYWJsZWQgYXQgKDIy NjcpOiBbPGZmZmZmZmZmODE0NDkwMTA+XSBpcnFfZXhpdCsweDE4MC8weDFkMCBrZXJuZWwvc29m dGlycS5jOjQxNAoKb3RoZXIgaW5mbyB0aGF0IG1pZ2h0IGhlbHAgdXMgZGVidWcgdGhpczoKIFBv c3NpYmxlIHVuc2FmZSBsb2NraW5nIHNjZW5hcmlvOgoKICAgICAgIENQVTAKICAgICAgIC0tLS0K ICBsb2NrKHNsb2NrLUFGX0FYMjUpOwogIDxJbnRlcnJ1cHQ+CiAgICBsb2NrKHNsb2NrLUFGX0FY MjUpOwoKICoqKiBERUFETE9DSyAqKioKCjEgbG9jayBoZWxkIGJ5IGJsa2lkLzI2NTgxOgogIzA6 IDAwMDAwMDAwMTBmZDE1NGQgKCgmYXgyNS0+ZHRpbWVyKSl7Ky4tLn0sIGF0OiBsb2NrZGVwX2Nv cHlfbWFwIGluY2x1ZGUvbGludXgvbG9ja2RlcC5oOjE3NSBbaW5saW5lXQogIzA6IDAwMDAwMDAw MTBmZDE1NGQgKCgmYXgyNS0+ZHRpbWVyKSl7Ky4tLn0sIGF0OiBjYWxsX3RpbWVyX2ZuKzB4ZTAv MHg3MjAga2VybmVsL3RpbWUvdGltZXIuYzoxMzEyCgpzdGFjayBiYWNrdHJhY2U6CkNQVTogMSBQ SUQ6IDI2NTgxIENvbW06IGJsa2lkIE5vdCB0YWludGVkIDUuMi4wLXJjMysgIzMyCkhhcmR3YXJl IG5hbWU6IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBFbmdpbmUvR29vZ2xlIENvbXB1dGUgRW5naW5l LCBCSU9TIEdvb2dsZSAwMS8wMS8yMDExCkNhbGwgVHJhY2U6CiA8SVJRPgogX19kdW1wX3N0YWNr IGxpYi9kdW1wX3N0YWNrLmM6NzcgW2lubGluZV0KIGR1bXBfc3RhY2srMHgxNzIvMHgxZjAgbGli L2R1bXBfc3RhY2suYzoxMTMKIHByaW50X3VzYWdlX2J1Zy5jb2xkKzB4MzkzLzB4NGEyIGtlcm5l bC9sb2NraW5nL2xvY2tkZXAuYzoyOTM1CiB2YWxpZF9zdGF0ZSBrZXJuZWwvbG9ja2luZy9sb2Nr ZGVwLmM6Mjk0OCBbaW5saW5lXQogbWFya19sb2NrX2lycSBrZXJuZWwvbG9ja2luZy9sb2NrZGVw LmM6MzEzOCBbaW5saW5lXQogbWFya19sb2NrKzB4ZDQ2LzB4MTM3MCBrZXJuZWwvbG9ja2luZy9s b2NrZGVwLmM6MzUxMwogbWFya19pcnFmbGFncyBrZXJuZWwvbG9ja2luZy9sb2NrZGVwLmM6MzM5 MSBbaW5saW5lXQogX19sb2NrX2FjcXVpcmUrMHgxNTlmLzB4NTQ5MCBrZXJuZWwvbG9ja2luZy9s b2NrZGVwLmM6Mzc0NQogbG9ja19hY3F1aXJlKzB4MTZmLzB4M2YwIGtlcm5lbC9sb2NraW5nL2xv Y2tkZXAuYzo0MzAzCiBfX3Jhd19zcGluX2xvY2sgaW5jbHVkZS9saW51eC9zcGlubG9ja19hcGlf c21wLmg6MTQyIFtpbmxpbmVdCiBfcmF3X3NwaW5fbG9jaysweDJmLzB4NDAga2VybmVsL2xvY2tp bmcvc3BpbmxvY2suYzoxNTEKIHNwaW5fbG9jayBpbmNsdWRlL2xpbnV4L3NwaW5sb2NrLmg6MzM4 IFtpbmxpbmVdCiBheDI1X2Rlc3Ryb3lfdGltZXIrMHg1My8weGMwIG5ldC9heDI1L2FmX2F4MjUu YzoyNzUKIGNhbGxfdGltZXJfZm4rMHgxOTMvMHg3MjAga2VybmVsL3RpbWUvdGltZXIuYzoxMzIy CiBleHBpcmVfdGltZXJzIGtlcm5lbC90aW1lL3RpbWVyLmM6MTM2NiBbaW5saW5lXQogX19ydW5f dGltZXJzIGtlcm5lbC90aW1lL3RpbWVyLmM6MTY4NSBbaW5saW5lXQogX19ydW5fdGltZXJzIGtl cm5lbC90aW1lL3RpbWVyLmM6MTY1MyBbaW5saW5lXQogcnVuX3RpbWVyX3NvZnRpcnErMHg2NmYv MHgxNzQwIGtlcm5lbC90aW1lL3RpbWVyLmM6MTY5OAogX19kb19zb2Z0aXJxKzB4MjVjLzB4OTRj IGtlcm5lbC9zb2Z0aXJxLmM6MjkzCiBpbnZva2Vfc29mdGlycSBrZXJuZWwvc29mdGlycS5jOjM3 NCBbaW5saW5lXQogaXJxX2V4aXQrMHgxODAvMHgxZDAga2VybmVsL3NvZnRpcnEuYzo0MTQKIGV4 aXRpbmdfaXJxIGFyY2gveDg2L2luY2x1ZGUvYXNtL2FwaWMuaDo1MzYgW2lubGluZV0KIHNtcF9h cGljX3RpbWVyX2ludGVycnVwdCsweDEzYi8weDU1MCBhcmNoL3g4Ni9rZXJuZWwvYXBpYy9hcGlj LmM6MTA2OAogYXBpY190aW1lcl9pbnRlcnJ1cHQrMHhmLzB4MjAgYXJjaC94ODYvZW50cnkvZW50 cnlfNjQuUzo4MDYKIDwvSVJRPgpSSVA6IDAwMzM6MHg3Zjg1OGQ1YzMyMzIKQ29kZTogOGIgNjEg MDggNDggOGIgODQgMjQgZDggMDAgMDAgMDAgNGMgODkgNDQgMjQgMjggNDggOGIgYWMgMjQgZDAg MDAgMDAgMDAgNGMgOGIgYjQgMjQgZTggMDAgMDAgMDAgNDggODkgN2MgMjQgNjggNDggODkgNGMg MjQgNzggPDQ4PiA4OSA0NCAyNCA1OCA4YiA4NCAyNCBlMCAwMCAwMCAwMCA4OSA4NCAyNCA4NCAw MCAwMCAwMCA4YiA4NCAyNApSU1A6IDAwMmI6MDAwMDdmZmNhZjBjZjVjMCBFRkxBR1M6IDAwMDAw MjA2IE9SSUdfUkFYOiBmZmZmZmZmZmZmZmZmZjEzClJBWDogMDAwMDdmODU4ZDdkMjdhOCBSQlg6 IDAwMDA3Zjg1OGQ3ZDg4MjAgUkNYOiAwMDAwN2Y4NThkMzk0MGQ4ClJEWDogMDAwMDdmZmNhZjBj Zjc5OCBSU0k6IDAwMDAwMDAwZjVlNjE2ZjMgUkRJOiAwMDAwN2Y4NThkMzk0ZmVlClJCUDogMDAw MDAwMDAwMDAwMDAwMCBSMDg6IDAwMDA3ZmZjYWYwY2Y3ODAgUjA5OiAwMDAwN2Y4NThkN2RiNDgw ClIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6IDAwMDAwMDAwMDk2OTFhNzUgUjEyOiAwMDAwMDAw MDAwMDAwMDA1ClIxMzogMDAwMDAwMDBmNWU2MTZmMyBSMTQ6IDAwMDAwMDAwMDAwMDAwMDAgUjE1 OiAwMDAwN2ZmY2FmMGNmNzk4CgpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0 QGdvb2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QgPHN5emthbGxlckBnb29nbGVncm91cHMu Y29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogbmV0L2F4MjUvYXgyNV9yb3V0ZS5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5z ZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC9heDI1L2F4MjVfcm91dGUuYyBiL25ldC9heDI1 L2F4MjVfcm91dGUuYwppbmRleCA2NmY3NGM4NWNmNmIuLjY2ZDU0ZmMxMTgzMSAxMDA2NDQKLS0t IGEvbmV0L2F4MjUvYXgyNV9yb3V0ZS5jCisrKyBiL25ldC9heDI1L2F4MjVfcm91dGUuYwpAQCAt NDI5LDkgKzQyOSwxMSBAQCBpbnQgYXgyNV9ydF9hdXRvYmluZChheDI1X2NiICpheDI1LCBheDI1 X2FkZHJlc3MgKmFkZHIpCiAJfQogCiAJaWYgKGF4MjUtPnNrICE9IE5VTEwpIHsKKwkJbG9jYWxf YmhfZGlzYWJsZSgpOwogCQliaF9sb2NrX3NvY2soYXgyNS0+c2spOwogCQlzb2NrX3Jlc2V0X2Zs YWcoYXgyNS0+c2ssIFNPQ0tfWkFQUEVEKTsKIAkJYmhfdW5sb2NrX3NvY2soYXgyNS0+c2spOwor CQlsb2NhbF9iaF9lbmFibGUoKTsKIAl9CiAKIHB1dDoKLS0gCjIuMjAuMQoKCkZyb20gZGI4N2Rl MDA4NGRhMmM3MGE3NjA5Y2VhZmMzNDY1MjUzN2IxMzI4NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogSXZhbiBWZWNlcmEgPGl2ZWNlcmFAcmVkaGF0LmNvbT4KRGF0ZTogRnJpLCAxNCBK dW4gMjAxOSAxNzo0ODozNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMTddIGJlMm5ldDogRml4 IG51bWJlciBvZiBSeCBxdWV1ZXMgdXNlZCBmb3IgZmxvdyBoYXNoaW5nCgpbIFVwc3RyZWFtIGNv bW1pdCA3MThmNGEyNTM3MDg5ZWE0MTkwM2JmMzU3MDcxMzA2MTYzYmM3YzA0IF0KCk51bWJlciBv ZiBSeCBxdWV1ZXMgdXNlZCBmb3IgZmxvdyBoYXNoaW5nIHJldHVybmVkIGJ5IHRoZSBkcml2ZXIg aXMKaW5jb3JyZWN0IGFuZCB0aGlzIGJ1ZyBwcmV2ZW50cyB1c2VyIHRvIHVzZSB0aGUgbGFzdCBS eCBxdWV1ZSBpbgppbmRpcmVjdGlvbiB0YWJsZS4KCkxldCdzIHNheSB3ZSBoYXZlIGEgTklDIHdp dGggNiBjb21iaW5lZCBxdWV1ZXM6Cgpbcm9vdEBzbS0wMyB+XSMgZXRodG9vbCAtbCBlbnA0czBm MApDaGFubmVsIHBhcmFtZXRlcnMgZm9yIGVucDRzMGYwOgpQcmUtc2V0IG1heGltdW1zOgpSWDog ICAgICAgICAgICAgNQpUWDogICAgICAgICAgICAgNQpPdGhlcjogICAgICAgICAgMApDb21iaW5l ZDogICAgICAgNgpDdXJyZW50IGhhcmR3YXJlIHNldHRpbmdzOgpSWDogICAgICAgICAgICAgMApU WDogICAgICAgICAgICAgMApPdGhlcjogICAgICAgICAgMApDb21iaW5lZDogICAgICAgNgoKRGVm YXVsdCBpbmRpcmVjdGlvbiB0YWJsZSBtYXBzIGFsbCAoNikgcXVldWVzIGVxdWFsbHkgYnV0IHRo ZSBkcml2ZXIKcmVwb3J0cyBvbmx5IDUgcmluZ3MgYXZhaWxhYmxlLgoKW3Jvb3RAc20tMDMgfl0j IGV0aHRvb2wgLXggZW5wNHMwZjAKUlggZmxvdyBoYXNoIGluZGlyZWN0aW9uIHRhYmxlIGZvciBl bnA0czBmMCB3aXRoIDUgUlggcmluZyhzKToKICAgIDA6ICAgICAgMCAgICAgMSAgICAgMiAgICAg MyAgICAgNCAgICAgNSAgICAgMCAgICAgMQogICAgODogICAgICAyICAgICAzICAgICA0ICAgICA1 ICAgICAwICAgICAxICAgICAyICAgICAzCiAgIDE2OiAgICAgIDQgICAgIDUgICAgIDAgICAgIDEg ICAgIDIgICAgIDMgICAgIDQgICAgIDUKICAgMjQ6ICAgICAgMCAgICAgMSAgICAgMiAgICAgMyAg ICAgNCAgICAgNSAgICAgMCAgICAgMQouLi4KCk5vdyBjaGFuZ2UgaW5kaXJlY3Rpb24gdGFibGUg c29tZWhvdzoKCltyb290QHNtLTAzIH5dIyBldGh0b29sIC1YIGVucDRzMGYwIHdlaWdodCAxIDEK W3Jvb3RAc20tMDMgfl0jIGV0aHRvb2wgLXggZW5wNHMwZjAKUlggZmxvdyBoYXNoIGluZGlyZWN0 aW9uIHRhYmxlIGZvciBlbnA0czBmMCB3aXRoIDYgUlggcmluZyhzKToKICAgIDA6ICAgICAgMCAg ICAgMCAgICAgMCAgICAgMCAgICAgMCAgICAgMCAgICAgMCAgICAgMAouLi4KICAgNjQ6ICAgICAg MSAgICAgMSAgICAgMSAgICAgMSAgICAgMSAgICAgMSAgICAgMSAgICAgMQouLi4KCk5vdyBpdCBp cyBub3QgcG9zc2libGUgdG8gY2hhbmdlIG1hcHBpbmcgYmFjayB0byBlcXVhbCAoZGVmYXVsdCkg c3RhdGU6Cgpbcm9vdEBzbS0wMyB+XSMgZXRodG9vbCAtWCBlbnA0czBmMCBlcXVhbCA2CkNhbm5v dCBzZXQgUlggZmxvdyBoYXNoIGNvbmZpZ3VyYXRpb246IEludmFsaWQgYXJndW1lbnQKCkZpeGVz OiA1OTRhZDU0YTJjM2IgKCJiZTJuZXQ6IEFkZCBzdXBwb3J0IGZvciBzZXR0aW5nIGFuZCBnZXR0 aW5nIHJ4IGZsb3cgaGFzaCBvcHRpb25zIikKUmVwb3J0ZWQtYnk6IFRpYW5oYW8gPHRpemhhb0By ZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBJdmFuIFZlY2VyYSA8aXZlY2VyYUByZWRoYXQuY29t PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogZHJpdmVycy9uZXQvZXRoZXJuZXQvZW11bGV4L2JlbmV0L2JlX2V0aHRvb2wuYyB8IDIgKy0K IDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2VtdWxleC9iZW5ldC9iZV9ldGh0b29sLmMgYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9lbXVsZXgvYmVuZXQvYmVfZXRodG9vbC5jCmluZGV4IDNmNjc0OWZj ODg5Zi4uYmZiMTZhNDc0NDkwIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9lbXVs ZXgvYmVuZXQvYmVfZXRodG9vbC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2VtdWxleC9i ZW5ldC9iZV9ldGh0b29sLmMKQEAgLTExMDUsNyArMTEwNSw3IEBAIHN0YXRpYyBpbnQgYmVfZ2V0 X3J4bmZjKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsIHN0cnVjdCBldGh0b29sX3J4bmZjICpj bWQsCiAJCWNtZC0+ZGF0YSA9IGJlX2dldF9yc3NfaGFzaF9vcHRzKGFkYXB0ZXIsIGNtZC0+Zmxv d190eXBlKTsKIAkJYnJlYWs7CiAJY2FzZSBFVEhUT09MX0dSWFJJTkdTOgotCQljbWQtPmRhdGEg PSBhZGFwdGVyLT5udW1fcnhfcXMgLSAxOworCQljbWQtPmRhdGEgPSBhZGFwdGVyLT5udW1fcnhf cXM7CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCXJldHVybiAtRUlOVkFMOwotLSAKMi4yMC4xCgoK RnJvbSBjMTZmMmY1ZjU1MzQ2NzZmZTA2ZWVkNGJjNmUzOWEyNDhmOWI2MTI1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBIYWl5YW5nIFpoYW5nIDxoYWl5YW5nekBtaWNyb3NvZnQuY29t PgpEYXRlOiBUaHUsIDEzIEp1biAyMDE5IDIxOjA2OjUzICswMDAwClN1YmplY3Q6IFtQQVRDSCAw My8xN10gaHZfbmV0dnNjOiBTZXQgcHJvYmUgbW9kZSB0byBzeW5jCgpbIFVwc3RyZWFtIGNvbW1p dCA5YTMzNjI5YmE2YjI2Y2FlYmQ3M2UzYzU4MWJhMWU2MDY4YzY5NmE3IF0KCkZvciBiZXR0ZXIg Y29uc2lzdGVuY3kgb2Ygc3ludGhldGljIE5JQyBuYW1lcywgd2Ugc2V0IHRoZSBwcm9iZSBtb2Rl IHRvClBST0JFX0ZPUkNFX1NZTkNIUk9OT1VTLiBTbyB0aGUgbmFtZXMgY2FuIGJlIGFsaWduZWQg d2l0aCB0aGUgdm1idXMKY2hhbm5lbCBvZmZlciBzZXF1ZW5jZS4KCkZpeGVzOiBhZjBhNTY0NmNi OGQgKCJ1c2UgdGhlIG5ldyBhc3luYyBwcm9iaW5nIGZlYXR1cmUgZm9yIHRoZSBoeXBlcnYgZHJp dmVycyIpClNpZ25lZC1vZmYtYnk6IEhhaXlhbmcgWmhhbmcgPGhhaXlhbmd6QG1pY3Jvc29mdC5j b20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4K LS0tCiBkcml2ZXJzL25ldC9oeXBlcnYvbmV0dnNjX2Rydi5jIHwgMiArLQogMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvaHlwZXJ2L25ldHZzY19kcnYuYyBiL2RyaXZlcnMvbmV0L2h5cGVydi9uZXR2c2NfZHJ2LmMK aW5kZXggOWQ2OTliZDVmNzE1Li5jZjZiOWIxNzcxZjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0 L2h5cGVydi9uZXR2c2NfZHJ2LmMKKysrIGIvZHJpdmVycy9uZXQvaHlwZXJ2L25ldHZzY19kcnYu YwpAQCAtMjQwNSw3ICsyNDA1LDcgQEAgc3RhdGljIHN0cnVjdCAgaHZfZHJpdmVyIG5ldHZzY19k cnYgPSB7CiAJLnByb2JlID0gbmV0dnNjX3Byb2JlLAogCS5yZW1vdmUgPSBuZXR2c2NfcmVtb3Zl LAogCS5kcml2ZXIgPSB7Ci0JCS5wcm9iZV90eXBlID0gUFJPQkVfUFJFRkVSX0FTWU5DSFJPTk9V UywKKwkJLnByb2JlX3R5cGUgPSBQUk9CRV9GT1JDRV9TWU5DSFJPTk9VUywKIAl9LAogfTsKIAot LSAKMi4yMC4xCgoKRnJvbSAwOWY4ZWQ5NDNlZDQ2MjdmNTQ5ODgxODFiNWI4MDI3ZDQ2YTU4NGEx IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdv b2dsZS5jb20+CkRhdGU6IFRodSwgNiBKdW4gMjAxOSAxNDozMjozNCAtMDcwMApTdWJqZWN0OiBb UEFUQ0ggMDQvMTddIGlwdjY6IGZsb3dsYWJlbDogZmw2X3NvY2tfbG9va3VwKCkgbXVzdCB1c2UK IGF0b21pY19pbmNfbm90X3plcm8KClsgVXBzdHJlYW0gY29tbWl0IDY1YTNjNDk3YzBlOTY1YTU1 MjAwOGRiOGJjMjY1M2Y2MmJjOTI1YTEgXQoKQmVmb3JlIHRha2luZyBhIHJlZmNvdW50LCBtYWtl IHN1cmUgdGhlIG9iamVjdCBpcyBub3QgYWxyZWFkeQpzY2hlZHVsZWQgZm9yIGRlbGV0aW9uLgoK U2FtZSBmaXggaXMgbmVlZGVkIGluIGlwdjZfZmxvd2xhYmVsX29wdCgpCgpGaXhlczogMTgzNjc2 ODFhMTBiICgiaXB2NiBmbG93bGFiZWw6IENvbnZlcnQgbnAtPmlwdjZfZmxfbGlzdCB0byBSQ1Uu IikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpDYzog V2lsbGVtIGRlIEJydWlqbiA8d2lsbGVtYkBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjYvaXA2X2Zsb3ds YWJlbC5jIHwgNyArKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAzIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY2L2lwNl9mbG93bGFiZWwuYyBiL25ldC9p cHY2L2lwNl9mbG93bGFiZWwuYwppbmRleCBiZTVmM2Q3Y2ViOTYuLmY5OTRmNTBlMTUxNiAxMDA2 NDQKLS0tIGEvbmV0L2lwdjYvaXA2X2Zsb3dsYWJlbC5jCisrKyBiL25ldC9pcHY2L2lwNl9mbG93 bGFiZWwuYwpAQCAtMjU0LDkgKzI1NCw5IEBAIHN0cnVjdCBpcDZfZmxvd2xhYmVsICpmbDZfc29j a19sb29rdXAoc3RydWN0IHNvY2sgKnNrLCBfX2JlMzIgbGFiZWwpCiAJcmN1X3JlYWRfbG9ja19i aCgpOwogCWZvcl9lYWNoX3NrX2ZsX3JjdShucCwgc2ZsKSB7CiAJCXN0cnVjdCBpcDZfZmxvd2xh YmVsICpmbCA9IHNmbC0+Zmw7Ci0JCWlmIChmbC0+bGFiZWwgPT0gbGFiZWwpIHsKKworCQlpZiAo ZmwtPmxhYmVsID09IGxhYmVsICYmIGF0b21pY19pbmNfbm90X3plcm8oJmZsLT51c2VycykpIHsK IAkJCWZsLT5sYXN0dXNlID0gamlmZmllczsKLQkJCWF0b21pY19pbmMoJmZsLT51c2Vycyk7CiAJ CQlyY3VfcmVhZF91bmxvY2tfYmgoKTsKIAkJCXJldHVybiBmbDsKIAkJfQpAQCAtNjIyLDcgKzYy Miw4IEBAIGludCBpcHY2X2Zsb3dsYWJlbF9vcHQoc3RydWN0IHNvY2sgKnNrLCBjaGFyIF9fdXNl ciAqb3B0dmFsLCBpbnQgb3B0bGVuKQogCQkJCQkJZ290byBkb25lOwogCQkJCQl9CiAJCQkJCWZs MSA9IHNmbC0+Zmw7Ci0JCQkJCWF0b21pY19pbmMoJmZsMS0+dXNlcnMpOworCQkJCQlpZiAoIWF0 b21pY19pbmNfbm90X3plcm8oJmZsMS0+dXNlcnMpKQorCQkJCQkJZmwxID0gTlVMTDsKIAkJCQkJ YnJlYWs7CiAJCQkJfQogCQkJfQotLSAKMi4yMC4xCgoKRnJvbSBhNjQwMTcyOWMzYWQ3MjYzNjNm MjIxNDVhYzg5ZWMwMmQ5MjE0OTIyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKZXJl bXkgU293ZGVuIDxqZXJlbXlAYXphemVsLm5ldD4KRGF0ZTogU3VuLCAxNiBKdW4gMjAxOSAxNjo1 NDozNyArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMDUvMTddIGxhcGI6IGZpeGVkIGxlYWsgb2YgY29u dHJvbC1ibG9ja3MuCgpbIFVwc3RyZWFtIGNvbW1pdCA2YmU4ZTI5N2Y5YmNlYTY2NmVhODVhYzdh NmNkOWQ1MmQ2ZGVhZjkyIF0KCmxhcGJfcmVnaXN0ZXIgY2FsbHMgbGFwYl9jcmVhdGVfY2IsIHdo aWNoIGluaXRpYWxpemVzIHRoZSBjb250cm9sLQpibG9jaydzIHJlZi1jb3VudCB0byBvbmUsIGFu ZCBfX2xhcGJfaW5zZXJ0X2NiLCB3aGljaCBpbmNyZW1lbnRzIGl0IHdoZW4KYWRkaW5nIHRoZSBu ZXcgYmxvY2sgdG8gdGhlIGxpc3Qgb2YgYmxvY2tzLgoKbGFwYl91bnJlZ2lzdGVyIGNhbGxzIF9f bGFwYl9yZW1vdmVfY2IsIHdoaWNoIGRlY3JlbWVudHMgdGhlIHJlZi1jb3VudAp3aGVuIHJlbW92 aW5nIGNvbnRyb2wtYmxvY2sgZnJvbSB0aGUgbGlzdCBvZiBibG9ja3MsIGFuZCBjYWxscyBsYXBi X3B1dAppdHNlbGYgdG8gZGVjcmVtZW50IHRoZSByZWYtY291bnQgYmVmb3JlIHJldHVybmluZy4K Ckhvd2V2ZXIsIGxhcGJfdW5yZWdpc3RlciBhbHNvIGNhbGxzIF9fbGFwYl9kZXZ0b3N0cnVjdCB0 byBsb29rIHVwIHRoZQpyaWdodCBjb250cm9sLWJsb2NrIGZvciB0aGUgZ2l2ZW4gbmV0X2Rldmlj ZSwgYW5kIF9fbGFwYl9kZXZ0b3N0cnVjdAphbHNvIGJ1bXBzIHRoZSByZWYtY291bnQsIHdoaWNo IG1lYW5zIHRoYXQgd2hlbiBsYXBiX3VucmVnaXN0ZXIgcmV0dXJucwp0aGUgcmVmLWNvdW50IGlz IHN0aWxsIDEgYW5kIHRoZSBjb250cm9sLWJsb2NrIGlzIGxlYWtlZC4KCkNhbGwgbGFwYl9wdXQg YWZ0ZXIgX19sYXBiX2RldnRvc3RydWN0IHRvIGZpeCBsZWFrLgoKUmVwb3J0ZWQtYnk6IHN5emJv dCthZmI5ODA2NzZjODM2YjRhMGFmYUBzeXprYWxsZXIuYXBwc3BvdG1haWwuY29tClNpZ25lZC1v ZmYtYnk6IEplcmVteSBTb3dkZW4gPGplcmVteUBhemF6ZWwubmV0PgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2xhcGIvbGFwYl9p ZmFjZS5jIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQg YS9uZXQvbGFwYi9sYXBiX2lmYWNlLmMgYi9uZXQvbGFwYi9sYXBiX2lmYWNlLmMKaW5kZXggZGI2 ZTBhZmUzYTIwLi4xNzQwZjg1MjAwMmUgMTAwNjQ0Ci0tLSBhL25ldC9sYXBiL2xhcGJfaWZhY2Uu YworKysgYi9uZXQvbGFwYi9sYXBiX2lmYWNlLmMKQEAgLTE4Miw2ICsxODIsNyBAQCBpbnQgbGFw Yl91bnJlZ2lzdGVyKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCiAJbGFwYiA9IF9fbGFwYl9kZXZ0 b3N0cnVjdChkZXYpOwogCWlmICghbGFwYikKIAkJZ290byBvdXQ7CisJbGFwYl9wdXQobGFwYik7 CiAKIAlsYXBiX3N0b3BfdDF0aW1lcihsYXBiKTsKIAlsYXBiX3N0b3BfdDJ0aW1lcihsYXBiKTsK LS0gCjIuMjAuMQoKCkZyb20gMmVlMDQyZTJlOWZmZWU3ZWI3NTdmY2YxZjJlZjhjNDhjZDc1Nzk3 NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBn b29nbGUuY29tPgpEYXRlOiBTYXQsIDE1IEp1biAyMDE5IDE2OjI4OjQ4IC0wNzAwClN1YmplY3Q6 IFtQQVRDSCAwNi8xN10gbmVpZ2g6IGZpeCB1c2UtYWZ0ZXItZnJlZSByZWFkIGluIHBuZWlnaF9n ZXRfbmV4dAoKWyBVcHN0cmVhbSBjb21taXQgZjNlOTJjYjhlMmViOGMyN2QxMDllNmZkNzNkM2E2 OWE4YzA5ZTI4OCBdCgpOaW5lIHllYXJzIGFnbywgSSBhZGRlZCBSQ1UgaGFuZGxpbmcgdG8gbmVp Z2hib3Vycywgbm90IHBuZWlnaGJvdXJzLgoocG5laWdoIGFyZSBub3QgY29tbW9ubHkgdXNlZCkK ClVuZm9ydHVuYXRlbHkgSSBtaXNzZWQgdGhhdCAvcHJvYyBkdW1wIG9wZXJhdGlvbnMgd291bGQg dXNlIGEKY29tbW9uIGVudHJ5IGFuZCBleGl0IHBvaW50IDogbmVpZ2hfc2VxX3N0YXJ0KCkgYW5k IG5laWdoX3NlcV9zdG9wKCkKCldlIG5lZWQgdG8gcmVhZF9sb2NrKHRibC0+bG9jaykgb3Igcmlz ayB1c2UtYWZ0ZXItZnJlZSB3aGlsZQppdGVyYXRpbmcgdGhlIHBuZWlnaCBzdHJ1Y3R1cmVzLgoK V2UgbWlnaHQgbGF0ZXIgY29udmVydCBwbmVpZ2ggdG8gUkNVIGFuZCByZXZlcnQgdGhpcyBwYXRj aC4KCnN5c2JvdCByZXBvcnRlZCA6CgpCVUc6IEtBU0FOOiB1c2UtYWZ0ZXItZnJlZSBpbiBwbmVp Z2hfZ2V0X25leHQuaXNyYS4wKzB4MjRiLzB4MjgwIG5ldC9jb3JlL25laWdoYm91ci5jOjMxNTgK UmVhZCBvZiBzaXplIDggYXQgYWRkciBmZmZmODg4MDk3ZjJhNzAwIGJ5IHRhc2sgc3l6LWV4ZWN1 dG9yLjAvOTgyNQoKQ1BVOiAxIFBJRDogOTgyNSBDb21tOiBzeXotZXhlY3V0b3IuMCBOb3QgdGFp bnRlZCA1LjIuMC1yYzQrICMzMgpIYXJkd2FyZSBuYW1lOiBHb29nbGUgR29vZ2xlIENvbXB1dGUg RW5naW5lL0dvb2dsZSBDb21wdXRlIEVuZ2luZSwgQklPUyBHb29nbGUgMDEvMDEvMjAxMQpDYWxs IFRyYWNlOgogX19kdW1wX3N0YWNrIGxpYi9kdW1wX3N0YWNrLmM6NzcgW2lubGluZV0KIGR1bXBf c3RhY2srMHgxNzIvMHgxZjAgbGliL2R1bXBfc3RhY2suYzoxMTMKIHByaW50X2FkZHJlc3NfZGVz Y3JpcHRpb24uY29sZCsweDdjLzB4MjBkIG1tL2thc2FuL3JlcG9ydC5jOjE4OAogX19rYXNhbl9y ZXBvcnQuY29sZCsweDFiLzB4NDAgbW0va2FzYW4vcmVwb3J0LmM6MzE3CiBrYXNhbl9yZXBvcnQr MHgxMi8weDIwIG1tL2thc2FuL2NvbW1vbi5jOjYxNAogX19hc2FuX3JlcG9ydF9sb2FkOF9ub2Fi b3J0KzB4MTQvMHgyMCBtbS9rYXNhbi9nZW5lcmljX3JlcG9ydC5jOjEzMgogcG5laWdoX2dldF9u ZXh0LmlzcmEuMCsweDI0Yi8weDI4MCBuZXQvY29yZS9uZWlnaGJvdXIuYzozMTU4CiBuZWlnaF9z ZXFfbmV4dCsweGRiLzB4MjEwIG5ldC9jb3JlL25laWdoYm91ci5jOjMyNDAKIHNlcV9yZWFkKzB4 OWNmLzB4MTExMCBmcy9zZXFfZmlsZS5jOjI1OAogcHJvY19yZWdfcmVhZCsweDFmYy8weDJjMCBm cy9wcm9jL2lub2RlLmM6MjIxCiBkb19sb29wX3JlYWR2X3dyaXRldiBmcy9yZWFkX3dyaXRlLmM6 NzE0IFtpbmxpbmVdCiBkb19sb29wX3JlYWR2X3dyaXRldiBmcy9yZWFkX3dyaXRlLmM6NzAxIFtp bmxpbmVdCiBkb19pdGVyX3JlYWQrMHg0YTQvMHg2NjAgZnMvcmVhZF93cml0ZS5jOjkzNQogdmZz X3JlYWR2KzB4ZjAvMHgxNjAgZnMvcmVhZF93cml0ZS5jOjk5Nwoga2VybmVsX3JlYWR2IGZzL3Nw bGljZS5jOjM1OSBbaW5saW5lXQogZGVmYXVsdF9maWxlX3NwbGljZV9yZWFkKzB4NDc1LzB4ODkw IGZzL3NwbGljZS5jOjQxNAogZG9fc3BsaWNlX3RvKzB4MTI3LzB4MTgwIGZzL3NwbGljZS5jOjg3 Nwogc3BsaWNlX2RpcmVjdF90b19hY3RvcisweDJkMi8weDk3MCBmcy9zcGxpY2UuYzo5NTQKIGRv X3NwbGljZV9kaXJlY3QrMHgxZGEvMHgyYTAgZnMvc3BsaWNlLmM6MTA2MwogZG9fc2VuZGZpbGUr MHg1OTcvMHhkMDAgZnMvcmVhZF93cml0ZS5jOjE0NjQKIF9fZG9fc3lzX3NlbmRmaWxlNjQgZnMv cmVhZF93cml0ZS5jOjE1MjUgW2lubGluZV0KIF9fc2Vfc3lzX3NlbmRmaWxlNjQgZnMvcmVhZF93 cml0ZS5jOjE1MTEgW2lubGluZV0KIF9feDY0X3N5c19zZW5kZmlsZTY0KzB4MWRkLzB4MjIwIGZz L3JlYWRfd3JpdGUuYzoxNTExCiBkb19zeXNjYWxsXzY0KzB4ZmQvMHg2ODAgYXJjaC94ODYvZW50 cnkvY29tbW9uLmM6MzAxCiBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJl ClJJUDogMDAzMzoweDQ1OTJjOQpDb2RlOiBmZCBiNyBmYiBmZiBjMyA2NiAyZSAwZiAxZiA4NCAw MCAwMCAwMCAwMCAwMCA2NiA5MCA0OCA4OSBmOCA0OCA4OSBmNyA0OCA4OSBkNiA0OCA4OSBjYSA0 ZCA4OSBjMiA0ZCA4OSBjOCA0YyA4YiA0YyAyNCAwOCAwZiAwNSA8NDg+IDNkIDAxIGYwIGZmIGZm IDBmIDgzIGNiIGI3IGZiIGZmIGMzIDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwClJTUDogMDAy YjowMDAwN2Y0YWFiNTFkYzc4IEVGTEFHUzogMDAwMDAyNDYgT1JJR19SQVg6IDAwMDAwMDAwMDAw MDAwMjgKUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDAwMDAwMDAwMDAwNCBSQ1g6IDAw MDAwMDAwMDA0NTkyYzkKUkRYOiAwMDAwMDAwMDAwMDAwMDAwIFJTSTogMDAwMDAwMDAwMDAwMDAw NCBSREk6IDAwMDAwMDAwMDAwMDAwMDUKUkJQOiAwMDAwMDAwMDAwNzViZjIwIFIwODogMDAwMDAw MDAwMDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKUjEwOiAwMDAwMDAwMDgwMDAwMDAwIFIx MTogMDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAwMDA3ZjRhYWI1MWU2ZDQKUjEzOiAwMDAwMDAwMDAw NGM2ODlkIFIxNDogMDAwMDAwMDAwMDRkYjgyOCBSMTU6IDAwMDAwMDAwZmZmZmZmZmYKCkFsbG9j YXRlZCBieSB0YXNrIDk4Mjc6CiBzYXZlX3N0YWNrKzB4MjMvMHg5MCBtbS9rYXNhbi9jb21tb24u Yzo3MQogc2V0X3RyYWNrIG1tL2thc2FuL2NvbW1vbi5jOjc5IFtpbmxpbmVdCiBfX2thc2FuX2tt YWxsb2MgbW0va2FzYW4vY29tbW9uLmM6NDg5IFtpbmxpbmVdCiBfX2thc2FuX2ttYWxsb2MuY29u c3Rwcm9wLjArMHhjZi8weGUwIG1tL2thc2FuL2NvbW1vbi5jOjQ2Mgoga2FzYW5fa21hbGxvYysw eDkvMHgxMCBtbS9rYXNhbi9jb21tb24uYzo1MDMKIF9fZG9fa21hbGxvYyBtbS9zbGFiLmM6MzY2 MCBbaW5saW5lXQogX19rbWFsbG9jKzB4MTVjLzB4NzQwIG1tL3NsYWIuYzozNjY5CiBrbWFsbG9j IGluY2x1ZGUvbGludXgvc2xhYi5oOjU1MiBbaW5saW5lXQogcG5laWdoX2xvb2t1cCsweDE5Yy8w eDRhMCBuZXQvY29yZS9uZWlnaGJvdXIuYzo3MzEKIGFycF9yZXFfc2V0X3B1YmxpYyBuZXQvaXB2 NC9hcnAuYzoxMDEwIFtpbmxpbmVdCiBhcnBfcmVxX3NldCsweDYxMy8weDcyMCBuZXQvaXB2NC9h cnAuYzoxMDI2CiBhcnBfaW9jdGwrMHg2NTIvMHg3ZjAgbmV0L2lwdjQvYXJwLmM6MTIyNgogaW5l dF9pb2N0bCsweDJhMC8weDM0MCBuZXQvaXB2NC9hZl9pbmV0LmM6OTI2CiBzb2NrX2RvX2lvY3Rs KzB4ZDgvMHgyZjAgbmV0L3NvY2tldC5jOjEwNDMKIHNvY2tfaW9jdGwrMHgzZWQvMHg3ODAgbmV0 L3NvY2tldC5jOjExOTQKIHZmc19pb2N0bCBmcy9pb2N0bC5jOjQ2IFtpbmxpbmVdCiBmaWxlX2lv Y3RsIGZzL2lvY3RsLmM6NTA5IFtpbmxpbmVdCiBkb192ZnNfaW9jdGwrMHhkNWYvMHgxMzgwIGZz L2lvY3RsLmM6Njk2CiBrc3lzX2lvY3RsKzB4YWIvMHhkMCBmcy9pb2N0bC5jOjcxMwogX19kb19z eXNfaW9jdGwgZnMvaW9jdGwuYzo3MjAgW2lubGluZV0KIF9fc2Vfc3lzX2lvY3RsIGZzL2lvY3Rs LmM6NzE4IFtpbmxpbmVdCiBfX3g2NF9zeXNfaW9jdGwrMHg3My8weGIwIGZzL2lvY3RsLmM6NzE4 CiBkb19zeXNjYWxsXzY0KzB4ZmQvMHg2ODAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6MzAxCiBl bnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlCgpGcmVlZCBieSB0YXNrIDk4 MjQ6CiBzYXZlX3N0YWNrKzB4MjMvMHg5MCBtbS9rYXNhbi9jb21tb24uYzo3MQogc2V0X3RyYWNr IG1tL2thc2FuL2NvbW1vbi5jOjc5IFtpbmxpbmVdCiBfX2thc2FuX3NsYWJfZnJlZSsweDEwMi8w eDE1MCBtbS9rYXNhbi9jb21tb24uYzo0NTEKIGthc2FuX3NsYWJfZnJlZSsweGUvMHgxMCBtbS9r YXNhbi9jb21tb24uYzo0NTkKIF9fY2FjaGVfZnJlZSBtbS9zbGFiLmM6MzQzMiBbaW5saW5lXQog a2ZyZWUrMHhjZi8weDIyMCBtbS9zbGFiLmM6Mzc1NQogcG5laWdoX2lmZG93bl9hbmRfdW5sb2Nr IG5ldC9jb3JlL25laWdoYm91ci5jOjgxMiBbaW5saW5lXQogX19uZWlnaF9pZmRvd24rMHgyMzYv MHgyZjAgbmV0L2NvcmUvbmVpZ2hib3VyLmM6MzU2CiBuZWlnaF9pZmRvd24rMHgyMC8weDMwIG5l dC9jb3JlL25laWdoYm91ci5jOjM3MgogYXJwX2lmZG93bisweDFkLzB4MjEgbmV0L2lwdjQvYXJw LmM6MTI3NAogaW5ldGRldl9kZXN0cm95IG5ldC9pcHY0L2RldmluZXQuYzozMTkgW2lubGluZV0K IGluZXRkZXZfZXZlbnQrMHhhMTQvMHgxMWYwIG5ldC9pcHY0L2RldmluZXQuYzoxNTQ0CiBub3Rp Zmllcl9jYWxsX2NoYWluKzB4YzIvMHgyMzAga2VybmVsL25vdGlmaWVyLmM6OTUKIF9fcmF3X25v dGlmaWVyX2NhbGxfY2hhaW4ga2VybmVsL25vdGlmaWVyLmM6Mzk2IFtpbmxpbmVdCiByYXdfbm90 aWZpZXJfY2FsbF9jaGFpbisweDJlLzB4NDAga2VybmVsL25vdGlmaWVyLmM6NDAzCiBjYWxsX25l dGRldmljZV9ub3RpZmllcnNfaW5mbysweDNmLzB4OTAgbmV0L2NvcmUvZGV2LmM6MTc0OQogY2Fs bF9uZXRkZXZpY2Vfbm90aWZpZXJzX2V4dGFjayBuZXQvY29yZS9kZXYuYzoxNzYxIFtpbmxpbmVd CiBjYWxsX25ldGRldmljZV9ub3RpZmllcnMgbmV0L2NvcmUvZGV2LmM6MTc3NSBbaW5saW5lXQog cm9sbGJhY2tfcmVnaXN0ZXJlZF9tYW55KzB4OWI5LzB4ZmMwIG5ldC9jb3JlL2Rldi5jOjgxNzgK IHJvbGxiYWNrX3JlZ2lzdGVyZWQrMHgxMDkvMHgxZDAgbmV0L2NvcmUvZGV2LmM6ODIyMAogdW5y ZWdpc3Rlcl9uZXRkZXZpY2VfcXVldWUgbmV0L2NvcmUvZGV2LmM6OTI2NyBbaW5saW5lXQogdW5y ZWdpc3Rlcl9uZXRkZXZpY2VfcXVldWUrMHgxZWUvMHgyYzAgbmV0L2NvcmUvZGV2LmM6OTI2MAog dW5yZWdpc3Rlcl9uZXRkZXZpY2UgaW5jbHVkZS9saW51eC9uZXRkZXZpY2UuaDoyNjMxIFtpbmxp bmVdCiBfX3R1bl9kZXRhY2grMHhkOGEvMHgxMDQwIGRyaXZlcnMvbmV0L3R1bi5jOjcyNAogdHVu X2RldGFjaCBkcml2ZXJzL25ldC90dW4uYzo3NDEgW2lubGluZV0KIHR1bl9jaHJfY2xvc2UrMHhl MC8weDE4MCBkcml2ZXJzL25ldC90dW4uYzozNDUxCiBfX2ZwdXQrMHgyZmYvMHg4OTAgZnMvZmls ZV90YWJsZS5jOjI4MAogX19fX2ZwdXQrMHgxNi8weDIwIGZzL2ZpbGVfdGFibGUuYzozMTMKIHRh c2tfd29ya19ydW4rMHgxNDUvMHgxYzAga2VybmVsL3Rhc2tfd29yay5jOjExMwogdHJhY2Vob29r X25vdGlmeV9yZXN1bWUgaW5jbHVkZS9saW51eC90cmFjZWhvb2suaDoxODUgW2lubGluZV0KIGV4 aXRfdG9fdXNlcm1vZGVfbG9vcCsweDI3My8weDJjMCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzox NjgKIHByZXBhcmVfZXhpdF90b191c2VybW9kZSBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzoxOTkg W2lubGluZV0KIHN5c2NhbGxfcmV0dXJuX3Nsb3dwYXRoIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5j OjI3OSBbaW5saW5lXQogZG9fc3lzY2FsbF82NCsweDU4ZS8weDY4MCBhcmNoL3g4Ni9lbnRyeS9j b21tb24uYzozMDQKIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKClRo ZSBidWdneSBhZGRyZXNzIGJlbG9uZ3MgdG8gdGhlIG9iamVjdCBhdCBmZmZmODg4MDk3ZjJhNzAw CiB3aGljaCBiZWxvbmdzIHRvIHRoZSBjYWNoZSBrbWFsbG9jLTY0IG9mIHNpemUgNjQKVGhlIGJ1 Z2d5IGFkZHJlc3MgaXMgbG9jYXRlZCAwIGJ5dGVzIGluc2lkZSBvZgogNjQtYnl0ZSByZWdpb24g W2ZmZmY4ODgwOTdmMmE3MDAsIGZmZmY4ODgwOTdmMmE3NDApClRoZSBidWdneSBhZGRyZXNzIGJl bG9uZ3MgdG8gdGhlIHBhZ2U6CnBhZ2U6ZmZmZmVhMDAwMjVmY2E4MCByZWZjb3VudDoxIG1hcGNv dW50OjAgbWFwcGluZzpmZmZmODg4MGFhNDAwMzQwIGluZGV4OjB4MApmbGFnczogMHgxZmZmYzAw MDAwMDAyMDAoc2xhYikKcmF3OiAwMWZmZmMwMDAwMDAwMjAwIGZmZmZlYTAwMDI1MGQ1NDggZmZm ZmVhMDAwMjU3MjZjOCBmZmZmODg4MGFhNDAwMzQwCnJhdzogMDAwMDAwMDAwMDAwMDAwMCBmZmZm ODg4MDk3ZjJhMDAwIDAwMDAwMDAxMDAwMDAwMjAgMDAwMDAwMDAwMDAwMDAwMApwYWdlIGR1bXBl ZCBiZWNhdXNlOiBrYXNhbjogYmFkIGFjY2VzcyBkZXRlY3RlZAoKTWVtb3J5IHN0YXRlIGFyb3Vu ZCB0aGUgYnVnZ3kgYWRkcmVzczoKIGZmZmY4ODgwOTdmMmE2MDA6IDAwIDAwIDAwIDAwIDAwIDAw IDAwIDAwIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjCiBmZmZmODg4MDk3ZjJhNjgwOiBmYiBmYiBm YiBmYiBmYiBmYiBmYiBmYiBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYwo+ZmZmZjg4ODA5N2YyYTcw MDogZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMKICAgICAg ICAgICAgICAgICAgIF4KIGZmZmY4ODgwOTdmMmE3ODA6IGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZi IGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjCiBmZmZmODg4MDk3ZjJhODAwOiBmYiBmYiBmYiBmYiBm YiBmYiBmYiBmYiBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYwoKRml4ZXM6IDc2N2U5N2UxZTBkYiAo Im5laWdoOiBSQ1UgY29udmVyc2lvbiBvZiBzdHJ1Y3QgbmVpZ2hib3VyIikKU2lnbmVkLW9mZi1i eTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6Ym90 IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWls bGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9jb3JlL25laWdoYm91ci5jIHwgNyAr KysrKysrCiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbmV0 L2NvcmUvbmVpZ2hib3VyLmMgYi9uZXQvY29yZS9uZWlnaGJvdXIuYwppbmRleCA0ZTRhYzc3YzY4 MTYuLmNkOWU5OTFmMjFkNyAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvbmVpZ2hib3VyLmMKKysrIGIv bmV0L2NvcmUvbmVpZ2hib3VyLmMKQEAgLTI3NTEsNiArMjc1MSw3IEBAIHN0YXRpYyB2b2lkICpu ZWlnaF9nZXRfaWR4X2FueShzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgbG9mZl90ICpwb3MpCiB9CiAK IHZvaWQgKm5laWdoX3NlcV9zdGFydChzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgbG9mZl90ICpwb3Ms IHN0cnVjdCBuZWlnaF90YWJsZSAqdGJsLCB1bnNpZ25lZCBpbnQgbmVpZ2hfc2VxX2ZsYWdzKQor CV9fYWNxdWlyZXModGJsLT5sb2NrKQogCV9fYWNxdWlyZXMocmN1X2JoKQogewogCXN0cnVjdCBu ZWlnaF9zZXFfc3RhdGUgKnN0YXRlID0gc2VxLT5wcml2YXRlOwpAQCAtMjc2MSw2ICsyNzYyLDcg QEAgdm9pZCAqbmVpZ2hfc2VxX3N0YXJ0KHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBsb2ZmX3QgKnBv cywgc3RydWN0IG5laWdoX3RhYmxlICp0YmwKIAogCXJjdV9yZWFkX2xvY2tfYmgoKTsKIAlzdGF0 ZS0+bmh0ID0gcmN1X2RlcmVmZXJlbmNlX2JoKHRibC0+bmh0KTsKKwlyZWFkX2xvY2soJnRibC0+ bG9jayk7CiAKIAlyZXR1cm4gKnBvcyA/IG5laWdoX2dldF9pZHhfYW55KHNlcSwgcG9zKSA6IFNF UV9TVEFSVF9UT0tFTjsKIH0KQEAgLTI3OTQsOCArMjc5NiwxMyBAQCB2b2lkICpuZWlnaF9zZXFf bmV4dChzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgdm9pZCAqdiwgbG9mZl90ICpwb3MpCiBFWFBPUlRf U1lNQk9MKG5laWdoX3NlcV9uZXh0KTsKIAogdm9pZCBuZWlnaF9zZXFfc3RvcChzdHJ1Y3Qgc2Vx X2ZpbGUgKnNlcSwgdm9pZCAqdikKKwlfX3JlbGVhc2VzKHRibC0+bG9jaykKIAlfX3JlbGVhc2Vz KHJjdV9iaCkKIHsKKwlzdHJ1Y3QgbmVpZ2hfc2VxX3N0YXRlICpzdGF0ZSA9IHNlcS0+cHJpdmF0 ZTsKKwlzdHJ1Y3QgbmVpZ2hfdGFibGUgKnRibCA9IHN0YXRlLT50Ymw7CisKKwlyZWFkX3VubG9j aygmdGJsLT5sb2NrKTsKIAlyY3VfcmVhZF91bmxvY2tfYmgoKTsKIH0KIEVYUE9SVF9TWU1CT0wo bmVpZ2hfc2VxX3N0b3ApOwotLSAKMi4yMC4xCgoKRnJvbSA0MjI3ZGRmY2Q1YzZmYzEzZWY5OTJi ZDkwN2I1OGViMGY0NTZmNjg4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBMaW51cyBX YWxsZWlqIDxsaW51cy53YWxsZWlqQGxpbmFyby5vcmc+CkRhdGU6IEZyaSwgMTQgSnVuIDIwMTkg MDA6MjU6MjAgKzAyMDAKU3ViamVjdDogW1BBVENIIDA3LzE3XSBuZXQ6IGRzYTogcnRsODM2Njog Rml4IHVwIFZMQU4gZmlsdGVyaW5nCgpbIFVwc3RyZWFtIGNvbW1pdCA3NjBjODBiNzBiZWQyY2Qw MTYzMGU4NTk1ZDFiYmRlOTEwMzM5ZjMxIF0KCldlIGdldCB0aGlzIHJlZ3Jlc3Npb24gd2hlbiB1 c2luZyBSVEw4MzY2UkIgYXMgcGFydCBvZiBhIGJyaWRnZQp3aXRoIE9wZW5XcnQ6CgpXQVJOSU5H OiBDUFU6IDAgUElEOiAxMzQ3IGF0IG5ldC9zd2l0Y2hkZXYvc3dpdGNoZGV2LmM6MjkxCgkgc3dp dGNoZGV2X3BvcnRfYXR0cl9zZXRfbm93KzB4ODAvMHhhNApsYW4wOiBDb21taXQgb2YgYXR0cmli dXRlIChpZD03KSBmYWlsZWQuCiguLi4pCnJlYWx0ZWstc21pIHN3aXRjaCBsYW4wOiBmYWlsZWQg dG8gaW5pdGlhbGl6ZSB2bGFuIGZpbHRlcmluZyBvbiB0aGlzIHBvcnQKClRoaXMgaXMgYmVjYXVz ZSBpdCBpcyB0cnlpbmcgdG8gZGlzYWJsZSBWTEFOIGZpbHRlcmluZwpvbiBWTEFOMCwgYXMgd2Ug aGF2ZSBmb3Jnb3QgdG8gYWRkIDEgdG8gdGhlIHBvcnQgbnVtYmVyCnRvIGdldCB0aGUgcmlnaHQg VkxBTiBpbiBydGw4MzY2X3ZsYW5fZmlsdGVyaW5nKCk6IHdoZW4Kd2UgaW5pdGlhbGl6ZSB0aGUg VkxBTiB3ZSBhc3NvY2lhdGUgVkxBTjEgd2l0aCBwb3J0IDAsClZMQU4yIHdpdGggcG9ydCAxIGV0 Yywgc28gd2UgbmVlZCB0byBhZGQgMSB0byB0aGUgcG9ydApvZmZzZXQuCgpGaXhlczogZDg2NTI5 NTZjZjM3ICgibmV0OiBkc2E6IHJlYWx0ZWstc21pOiBBZGQgUmVhbHRlayBTTUkgZHJpdmVyIikK U2lnbmVkLW9mZi1ieTogTGludXMgV2FsbGVpaiA8bGludXMud2FsbGVpakBsaW5hcm8ub3JnPgpT aWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQog ZHJpdmVycy9uZXQvZHNhL3J0bDgzNjYuYyB8IDcgKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDQg aW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9k c2EvcnRsODM2Ni5jIGIvZHJpdmVycy9uZXQvZHNhL3J0bDgzNjYuYwppbmRleCA2ZGVkZDQzNDQy Y2MuLjM1Yjc2N2JhZjIxZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZHNhL3J0bDgzNjYuYwor KysgYi9kcml2ZXJzL25ldC9kc2EvcnRsODM2Ni5jCkBAIC0zMDcsNyArMzA3LDggQEAgaW50IHJ0 bDgzNjZfdmxhbl9maWx0ZXJpbmcoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCwgYm9v bCB2bGFuX2ZpbHRlcmluZykKIAlzdHJ1Y3QgcnRsODM2Nl92bGFuXzRrIHZsYW40azsKIAlpbnQg cmV0OwogCi0JaWYgKCFzbWktPm9wcy0+aXNfdmxhbl92YWxpZChzbWksIHBvcnQpKQorCS8qIFVz ZSBWTEFOIG5yIHBvcnQgKyAxIHNpbmNlIFZMQU4wIGlzIG5vdCB2YWxpZCAqLworCWlmICghc21p LT5vcHMtPmlzX3ZsYW5fdmFsaWQoc21pLCBwb3J0ICsgMSkpCiAJCXJldHVybiAtRUlOVkFMOwog CiAJZGV2X2luZm8oc21pLT5kZXYsICIlcyBmaWx0ZXJpbmcgb24gcG9ydCAlZFxuIiwKQEAgLTMx OCwxMiArMzE5LDEyIEBAIGludCBydGw4MzY2X3ZsYW5fZmlsdGVyaW5nKHN0cnVjdCBkc2Ffc3dp dGNoICpkcywgaW50IHBvcnQsIGJvb2wgdmxhbl9maWx0ZXJpbmcpCiAJICogVGhlIGhhcmR3YXJl IHN1cHBvcnQgZmlsdGVyIElEIChGSUQpIDAuLjcsIEkgaGF2ZSBubyBjbHVlIGhvdyB0bwogCSAq IHN1cHBvcnQgdGhpcyBpbiB0aGUgZHJpdmVyIHdoZW4gdGhlIGNhbGxiYWNrIG9ubHkgc2F5cyBv bi9vZmYuCiAJICovCi0JcmV0ID0gc21pLT5vcHMtPmdldF92bGFuXzRrKHNtaSwgcG9ydCwgJnZs YW40ayk7CisJcmV0ID0gc21pLT5vcHMtPmdldF92bGFuXzRrKHNtaSwgcG9ydCArIDEsICZ2bGFu NGspOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKIAkvKiBKdXN0IHNldCB0aGUgZmlsdGVy IHRvIEZJRCAxIGZvciBub3cgdGhlbiAqLwotCXJldCA9IHJ0bDgzNjZfc2V0X3ZsYW4oc21pLCBw b3J0LAorCXJldCA9IHJ0bDgzNjZfc2V0X3ZsYW4oc21pLCBwb3J0ICsgMSwKIAkJCSAgICAgICB2 bGFuNGsubWVtYmVyLAogCQkJICAgICAgIHZsYW40ay51bnRhZywKIAkJCSAgICAgICAxKTsKLS0g CjIuMjAuMQoKCkZyb20gYjQ0MmVkODJiMGQxYjdlMTBiMjFjOTIzZTcxY2JjYmViNDVjYjMwZSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogVGFlaGVlIFlvbyA8YXA0MjAwNzNAZ21haWwu Y29tPgpEYXRlOiBTdW4sIDkgSnVuIDIwMTkgMjM6MjY6MjEgKzA5MDAKU3ViamVjdDogW1BBVENI IDA4LzE3XSBuZXQ6IG9wZW52c3dpdGNoOiBkbyBub3QgZnJlZSB2cG9ydCBpZgogcmVnaXN0ZXJf bmV0ZGV2aWNlKCkgaXMgZmFpbGVkLgoKWyBVcHN0cmVhbSBjb21taXQgMzA5YjY2OTcwZWUyYWJm NzIxZWNkMDg3NmE0ODk0MGZhMGI5OWEzNSBdCgpJbiBvcmRlciB0byBjcmVhdGUgYW4gaW50ZXJu YWwgdnBvcnQsIGludGVybmFsX2Rldl9jcmVhdGUoKSBpcyB1c2VkIGFuZAp0aGF0IGNhbGxzIHJl Z2lzdGVyX25ldGRldmljZSgpIGludGVybmFsbHkuCklmIHJlZ2lzdGVyX25ldGRldmljZSgpIGZh aWxzLCBpdCBjYWxscyBkZXYtPnByaXZfZGVzdHJ1Y3RvcigpIHRvIGZyZWUKcHJpdmF0ZSBkYXRh IG9mIG5ldGRldi4gYWN0dWFsbHksIGEgcHJpdmF0ZSBkYXRhIG9mIHRoaXMgaXMgYSB2cG9ydC4K CkhlbmNlIGludGVybmFsX2Rldl9jcmVhdGUoKSBzaG91bGQgbm90IGZyZWUgYW5kIHVzZSBhIHZw b3J0IGFmdGVyIGZhaWx1cmUKb2YgcmVnaXN0ZXJfbmV0ZGV2aWNlKCkuCgpUZXN0IGNvbW1hbmQK ICAgIG92cy1kcGN0bCBhZGQtZHAgYm9uZGluZ19tYXN0ZXJzCgpTcGxhdCBsb29rcyBsaWtlOgpb IDEwMzUuNjY3NzY3XSBrYXNhbjogR1BGIGNvdWxkIGJlIGNhdXNlZCBieSBOVUxMLXB0ciBkZXJl ZiBvciB1c2VyIG1lbW9yeSBhY2Nlc3MKWyAxMDM1LjY3NTk1OF0gZ2VuZXJhbCBwcm90ZWN0aW9u IGZhdWx0OiAwMDAwIFsjMV0gU01QIERFQlVHX1BBR0VBTExPQyBLQVNBTiBQVEkKWyAxMDM1LjY3 NjkxNl0gQ1BVOiAxIFBJRDogMTAyOCBDb21tOiBvdnMtdnN3aXRjaGQgVGFpbnRlZDogRyAgICBC ICAgICAgICAgICAgIDUuMi4wLXJjMysgIzI0MApbIDEwMzUuNjc2OTE2XSBSSVA6IDAwMTA6aW50 ZXJuYWxfZGV2X2NyZWF0ZSsweDJlNS8weDRlMCBbb3BlbnZzd2l0Y2hdClsgMTAzNS42NzY5MTZd IENvZGU6IDQ4IGMxIGVhIDAzIDgwIDNjIDAyIDAwIDBmIDg1IDlmIDAxIDAwIDAwIDRjIDhiIDIz IDQ4IGI4IDAwIDAwIDAwIDAwIDAwIGZjIGZmIGRmIDQ5IDhkIGJjIDI0IDYwIDA1IDAwIDAwIDQ4 IDg5IGZhIDQ4IGMxIGVhIDAzIDw4MD4gM2MgMDIgMDAgMGYgODUgODYgMDEgMDAgMDAgNDkgOGIg YmMgMjQgNjAgMDUgMDAgMDAgZTggZTQgNjggZjQKWyAxMDM1LjcxMzcyMF0gUlNQOiAwMDE4OmZm ZmY4ODgxMGRjYjc1NzggRUZMQUdTOiAwMDAxMDIwNgpbIDEwMzUuNzEzNzIwXSBSQVg6IGRmZmZm YzAwMDAwMDAwMDAgUkJYOiBmZmZmODg4MTBkMTNmZTA4IFJDWDogZmZmZmZmZmY4NDI5NzcwNApb IDEwMzUuNzEzNzIwXSBSRFg6IDAwMDAwMDAwMDAwMDAwYWMgUlNJOiAwMDAwMDAwMDAwMDAwMDAw IFJESTogMDAwMDAwMDAwMDAwMDU2MApbIDEwMzUuNzEzNzIwXSBSQlA6IDAwMDAwMDAwZmZmZmZm ZWYgUjA4OiBmZmZmZmJmZmYwZDNiODgxIFIwOTogZmZmZmZiZmZmMGQzYjg4MQpbIDEwMzUuNzEz NzIwXSBSMTA6IDAwMDAwMDAwMDAwMDAwMDEgUjExOiBmZmZmZmJmZmYwZDNiODgwIFIxMjogMDAw MDAwMDAwMDAwMDAwMApbIDEwMzUuNzY4Nzc2XSBSMTM6IDAwMDA2MDdlZTQ2MGI5MDAgUjE0OiBm ZmZmODg4MTBkY2I3NjkwIFIxNTogZmZmZjg4ODEwZGNiNzY5OApbIDEwMzUuNzc3NzA5XSBGUzog IDAwMDA3ZjAyMDk1ZmM5ODAoMDAwMCkgR1M6ZmZmZjg4ODExYjQwMDAwMCgwMDAwKSBrbmxHUzow MDAwMDAwMDAwMDAwMDAwClsgMTAzNS43Nzc3MDldIENTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAw MCBDUjA6IDAwMDAwMDAwODAwNTAwMzMKWyAxMDM1Ljc3NzcwOV0gQ1IyOiAwMDAwN2ZmZGYwMWQy ZjI4IENSMzogMDAwMDAwMDEwODI1ODAwMCBDUjQ6IDAwMDAwMDAwMDAxMDA2ZTAKWyAxMDM1Ljc3 NzcwOV0gQ2FsbCBUcmFjZToKWyAxMDM1Ljc3NzcwOV0gIG92c192cG9ydF9hZGQrMHgyNjcvMHg0 ZjAgW29wZW52c3dpdGNoXQpbIDEwMzUuNzc3NzA5XSAgbmV3X3Zwb3J0KzB4MTUvMHgxZTAgW29w ZW52c3dpdGNoXQpbIDEwMzUuNzc3NzA5XSAgb3ZzX3Zwb3J0X2NtZF9uZXcrMHg1NjcvMHhkMTAg W29wZW52c3dpdGNoXQpbIDEwMzUuNzc3NzA5XSAgPyBvdnNfZHBfY21kX2R1bXArMHg0OTAvMHg0 OTAgW29wZW52c3dpdGNoXQpbIDEwMzUuNzc3NzA5XSAgPyBfX2ttYWxsb2MrMHgxMzEvMHgyZTAK WyAxMDM1Ljc3NzcwOV0gID8gZ2VubF9mYW1pbHlfcmN2X21zZysweGE1NC8weDEwMzAKWyAxMDM1 Ljc3NzcwOV0gIGdlbmxfZmFtaWx5X3Jjdl9tc2crMHg2M2EvMHgxMDMwClsgMTAzNS43Nzc3MDld ICA/IGdlbmxfdW5yZWdpc3Rlcl9mYW1pbHkrMHg2MzAvMHg2MzAKWyAxMDM1Ljg0MTY4MV0gID8g ZGVidWdfc2hvd19hbGxfbG9ja3MrMHgyZDAvMHgyZDAKWyAuLi4gXQoKRml4ZXM6IGNmMTI0ZGI1 NjZlNiAoIm5ldDogRml4IGluY29uc2lzdGVudCB0ZWFyZG93biBhbmQgcmVsZWFzZSBvZiBwcml2 YXRlIG5ldGRldiBzdGF0ZS4iKQpTaWduZWQtb2ZmLWJ5OiBUYWVoZWUgWW9vIDxhcDQyMDA3M0Bn bWFpbC5jb20+ClJldmlld2VkLWJ5OiBHcmVnIFJvc2UgPGd2cm9zZTgxOTJAZ21haWwuY29tPgpT aWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQog bmV0L29wZW52c3dpdGNoL3Zwb3J0LWludGVybmFsX2Rldi5jIHwgMTggKysrKysrKysrKysrLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9uZXQvb3BlbnZzd2l0Y2gvdnBvcnQtaW50ZXJuYWxfZGV2LmMgYi9uZXQvb3Bl bnZzd2l0Y2gvdnBvcnQtaW50ZXJuYWxfZGV2LmMKaW5kZXggYmI5NWM0M2FhZTc2Li41YTMwNGNm Yzg0MjMgMTAwNjQ0Ci0tLSBhL25ldC9vcGVudnN3aXRjaC92cG9ydC1pbnRlcm5hbF9kZXYuYwor KysgYi9uZXQvb3BlbnZzd2l0Y2gvdnBvcnQtaW50ZXJuYWxfZGV2LmMKQEAgLTE2OSw3ICsxNjks OSBAQCBzdGF0aWMgc3RydWN0IHZwb3J0ICppbnRlcm5hbF9kZXZfY3JlYXRlKGNvbnN0IHN0cnVj dCB2cG9ydF9wYXJtcyAqcGFybXMpCiB7CiAJc3RydWN0IHZwb3J0ICp2cG9ydDsKIAlzdHJ1Y3Qg aW50ZXJuYWxfZGV2ICppbnRlcm5hbF9kZXY7CisJc3RydWN0IG5ldF9kZXZpY2UgKmRldjsKIAlp bnQgZXJyOworCWJvb2wgZnJlZV92cG9ydCA9IHRydWU7CiAKIAl2cG9ydCA9IG92c192cG9ydF9h bGxvYygwLCAmb3ZzX2ludGVybmFsX3Zwb3J0X29wcywgcGFybXMpOwogCWlmIChJU19FUlIodnBv cnQpKSB7CkBAIC0xNzcsOCArMTc5LDkgQEAgc3RhdGljIHN0cnVjdCB2cG9ydCAqaW50ZXJuYWxf ZGV2X2NyZWF0ZShjb25zdCBzdHJ1Y3QgdnBvcnRfcGFybXMgKnBhcm1zKQogCQlnb3RvIGVycm9y OwogCX0KIAotCXZwb3J0LT5kZXYgPSBhbGxvY19uZXRkZXYoc2l6ZW9mKHN0cnVjdCBpbnRlcm5h bF9kZXYpLAotCQkJCSAgcGFybXMtPm5hbWUsIE5FVF9OQU1FX1VTRVIsIGRvX3NldHVwKTsKKwlk ZXYgPSBhbGxvY19uZXRkZXYoc2l6ZW9mKHN0cnVjdCBpbnRlcm5hbF9kZXYpLAorCQkJICAgcGFy bXMtPm5hbWUsIE5FVF9OQU1FX1VTRVIsIGRvX3NldHVwKTsKKwl2cG9ydC0+ZGV2ID0gZGV2Owog CWlmICghdnBvcnQtPmRldikgewogCQllcnIgPSAtRU5PTUVNOwogCQlnb3RvIGVycm9yX2ZyZWVf dnBvcnQ7CkBAIC0xOTksOCArMjAyLDEwIEBAIHN0YXRpYyBzdHJ1Y3QgdnBvcnQgKmludGVybmFs X2Rldl9jcmVhdGUoY29uc3Qgc3RydWN0IHZwb3J0X3Bhcm1zICpwYXJtcykKIAogCXJ0bmxfbG9j aygpOwogCWVyciA9IHJlZ2lzdGVyX25ldGRldmljZSh2cG9ydC0+ZGV2KTsKLQlpZiAoZXJyKQor CWlmIChlcnIpIHsKKwkJZnJlZV92cG9ydCA9IGZhbHNlOwogCQlnb3RvIGVycm9yX3VubG9jazsK Kwl9CiAKIAlkZXZfc2V0X3Byb21pc2N1aXR5KHZwb3J0LT5kZXYsIDEpOwogCXJ0bmxfdW5sb2Nr KCk7CkBAIC0yMTAsMTEgKzIxNSwxMiBAQCBzdGF0aWMgc3RydWN0IHZwb3J0ICppbnRlcm5hbF9k ZXZfY3JlYXRlKGNvbnN0IHN0cnVjdCB2cG9ydF9wYXJtcyAqcGFybXMpCiAKIGVycm9yX3VubG9j azoKIAlydG5sX3VubG9jaygpOwotCWZyZWVfcGVyY3B1KHZwb3J0LT5kZXYtPnRzdGF0cyk7CisJ ZnJlZV9wZXJjcHUoZGV2LT50c3RhdHMpOwogZXJyb3JfZnJlZV9uZXRkZXY6Ci0JZnJlZV9uZXRk ZXYodnBvcnQtPmRldik7CisJZnJlZV9uZXRkZXYoZGV2KTsKIGVycm9yX2ZyZWVfdnBvcnQ6Ci0J b3ZzX3Zwb3J0X2ZyZWUodnBvcnQpOworCWlmIChmcmVlX3Zwb3J0KQorCQlvdnNfdnBvcnRfZnJl ZSh2cG9ydCk7CiBlcnJvcjoKIAlyZXR1cm4gRVJSX1BUUihlcnIpOwogfQotLSAKMi4yMC4xCgoK RnJvbSBiOWI3ZmY4ODNmMzg5YzZkNGViZGQyZTkxNGE5MTcwODc5NzNhMGJiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBJb2FuYSBDaW9ybmVpIDxpb2FuYS5jaW9ybmVpQG54cC5jb20+ CkRhdGU6IFRodSwgMTMgSnVuIDIwMTkgMDk6Mzc6NTEgKzAzMDAKU3ViamVjdDogW1BBVENIIDA5 LzE3XSBuZXQ6IHBoeWxpbms6IHNldCB0aGUgYXV0b25lZyBzdGF0ZSBpbgogcGh5bGlua19waHlf Y2hhbmdlCgpbIFVwc3RyZWFtIGNvbW1pdCBlZjdiZmE4NDcyNWQ4OTFiYmRiODg3MDdlZDU1YjJj YmY5NDk0MmJiIF0KClRoZSBwaHlfc3RhdGUgZmllbGQgb2YgcGh5bGluayBzaG91bGQgY2Fycnkg b25seSB2YWxpZCBpbmZvcm1hdGlvbgplc3BlY2lhbGx5IHdoZW4gdGhpcyBjYW4gYmUgcGFzc2Vk IHRvIHRoZSAubWFjX2NvbmZpZyBjYWxsYmFjay4KVXBkYXRlIHRoZSBhbl9lbmFibGVkIGZpZWxk IHdpdGggdGhlIGF1dG9uZWcgc3RhdGUgaW4gdGhlCnBoeWxpbmtfcGh5X2NoYW5nZSBmdW5jdGlv bi4KCkZpeGVzOiA5NTI1YWU4Mzk1OWIgKCJwaHlsaW5rOiBhZGQgcGh5bGluayBpbmZyYXN0cnVj dHVyZSIpClNpZ25lZC1vZmYtYnk6IElvYW5hIENpb3JuZWkgPGlvYW5hLmNpb3JuZWlAbnhwLmNv bT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0Pgot LS0KIGRyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmMgYi9kcml2 ZXJzL25ldC9waHkvcGh5bGluay5jCmluZGV4IGY2ZTcwZjJkZmQxMi4uYzVhNTA5MTI5YWU2IDEw MDY0NAotLS0gYS9kcml2ZXJzL25ldC9waHkvcGh5bGluay5jCisrKyBiL2RyaXZlcnMvbmV0L3Bo eS9waHlsaW5rLmMKQEAgLTY2Miw2ICs2NjIsNyBAQCBzdGF0aWMgdm9pZCBwaHlsaW5rX3BoeV9j aGFuZ2Uoc3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldiwgYm9vbCB1cCwKIAkJcGwtPnBoeV9zdGF0 ZS5wYXVzZSB8PSBNTE9fUEFVU0VfQVNZTTsKIAlwbC0+cGh5X3N0YXRlLmludGVyZmFjZSA9IHBo eWRldi0+aW50ZXJmYWNlOwogCXBsLT5waHlfc3RhdGUubGluayA9IHVwOworCXBsLT5waHlfc3Rh dGUuYW5fZW5hYmxlZCA9IHBoeWRldi0+YXV0b25lZzsKIAltdXRleF91bmxvY2soJnBsLT5zdGF0 ZV9tdXRleCk7CiAKIAlwaHlsaW5rX3J1bl9yZXNvbHZlKHBsKTsKLS0gCjIuMjAuMQoKCkZyb20g OGUyYjczOWVkOGM3MjM1MDkzZWI5ODEyZjMwYjE1NGI5ODM2YjVlZCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogWW91bmcgWGlhbyA8OTJzaXV5YW5nQGdtYWlsLmNvbT4KRGF0ZTogRnJp LCAxNCBKdW4gMjAxOSAxNToxMzowMiArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTAvMTddIG5mYzog RW5zdXJlIHByZXNlbmNlIG9mIHJlcXVpcmVkIGF0dHJpYnV0ZXMgaW4gdGhlCiBkZWFjdGl2YXRl X3RhcmdldCBoYW5kbGVyCgpbIFVwc3RyZWFtIGNvbW1pdCAzODUwOTdhMzY3NTc0OWNiYzllOTdj MDg1YzBlNWRmZTQyNjljYTUxIF0KCkNoZWNrIHRoYXQgdGhlIE5GQ19BVFRSX1RBUkdFVF9JTkRF WCBhdHRyaWJ1dGVzIChpbiBhZGRpdGlvbiB0bwpORkNfQVRUUl9ERVZJQ0VfSU5ERVgpIGFyZSBw cm92aWRlZCBieSB0aGUgbmV0bGluayBjbGllbnQgcHJpb3IgdG8KYWNjZXNzaW5nIHRoZW0uIFRo aXMgcHJldmVudHMgcG90ZW50aWFsIHVuaGFuZGxlZCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UK ZXhjZXB0aW9ucyB3aGljaCBjYW4gYmUgdHJpZ2dlcmVkIGJ5IG1hbGljaW91cyB1c2VyLW1vZGUg cHJvZ3JhbXMsCmlmIHRoZXkgb21pdCBvbmUgb3IgYm90aCBvZiB0aGVzZSBhdHRyaWJ1dGVzLgoK U2lnbmVkLW9mZi1ieTogWW91bmcgWGlhbyA8OTJzaXV5YW5nQGdtYWlsLmNvbT4KU2lnbmVkLW9m Zi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9uZmMv bmV0bGluay5jIHwgMyArKy0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVs ZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQvbmZjL25ldGxpbmsuYyBiL25ldC9uZmMvbmV0bGlu ay5jCmluZGV4IDM3NjE4MWNjMWRlZi4uOWYyODc1ZWZiNGFjIDEwMDY0NAotLS0gYS9uZXQvbmZj L25ldGxpbmsuYworKysgYi9uZXQvbmZjL25ldGxpbmsuYwpAQCAtOTIyLDcgKzkyMiw4IEBAIHN0 YXRpYyBpbnQgbmZjX2dlbmxfZGVhY3RpdmF0ZV90YXJnZXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwK IAl1MzIgZGV2aWNlX2lkeCwgdGFyZ2V0X2lkeDsKIAlpbnQgcmM7CiAKLQlpZiAoIWluZm8tPmF0 dHJzW05GQ19BVFRSX0RFVklDRV9JTkRFWF0pCisJaWYgKCFpbmZvLT5hdHRyc1tORkNfQVRUUl9E RVZJQ0VfSU5ERVhdIHx8CisJICAgICFpbmZvLT5hdHRyc1tORkNfQVRUUl9UQVJHRVRfSU5ERVhd KQogCQlyZXR1cm4gLUVJTlZBTDsKIAogCWRldmljZV9pZHggPSBubGFfZ2V0X3UzMihpbmZvLT5h dHRyc1tORkNfQVRUUl9ERVZJQ0VfSU5ERVhdKTsKLS0gCjIuMjAuMQoKCkZyb20gOTQxMzJmNWNi YjA3ZmNmZmM4NjlkM2IxMTg0ZWM5YTg1MzVhZDQ5YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogTmVpbCBIb3JtYW4gPG5ob3JtYW5AdHV4ZHJpdmVyLmNvbT4KRGF0ZTogVGh1LCAxMyBK dW4gMjAxOSAwNjozNTo1OSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMTddIHNjdHA6IEZyZWUg Y29va2llIGJlZm9yZSB3ZSBtZW1kdXAgYSBuZXcgb25lCgpbIFVwc3RyZWFtIGNvbW1pdCBjZTk1 MGYxMDUwY2VjZTVlNDA2YTVjZGU3MjNjNjliYmE2MGUxYjI2IF0KCkJhc2VkIG9uIGNvbW1lbnRz IGZyb20gWGluLCBldmVuIGFmdGVyIGZpeGVzIGZvciBvdXIgcmVjZW50IHN5emJvdApyZXBvcnQg b2YgY29va2llIG1lbW9yeSBsZWFrcywgaXRzIHBvc3NpYmxlIHRvIGdldCBhIHJlc2VuZCBvZiBh biBJTklUCmNodW5rIHdoaWNoIHdvdWxkIGxlYWQgdG8gdXMgbGVha2luZyBjb29raWUgbWVtb3J5 LgoKVG8gZW5zdXJlIHRoYXQgd2UgZG9uJ3QgbGVhayBjb29raWUgbWVtb3J5LCBmcmVlIGFueSBw cmV2aW91c2x5CmFsbG9jYXRlZCBjb29raWUgZmlyc3QuCgpDaGFuZ2Ugbm90ZXMKdjEtPnYyCnVw ZGF0ZSBzdWJzeXN0ZW0gdGFnIGluIHN1YmplY3QgKGRhdmVtKQpyZXBlYXQga2ZyZWUgY2hlY2sg Zm9yIHBlZXJfcmFuZG9tIGFuZCBwZWVyX2htYWNzICh4aW4pCgp2Mi0+djMKbmV0LT5zY3RwCmFs c28gZnJlZSBwZWVyX2NodW5rcwoKdjMtPnY0CmZpeCBzdWJqZWN0IHRhZ3MKCnY0LT52NQpyZW1v dmUgY3V0IGxpbmUKClNpZ25lZC1vZmYtYnk6IE5laWwgSG9ybWFuIDxuaG9ybWFuQHR1eGRyaXZl ci5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QrZjdlOTE1M2IwMzdlYWM5YjFkZjhAc3l6a2FsbGVy LmFwcHNwb3RtYWlsLmNvbQpDQzogTWFyY2VsbyBSaWNhcmRvIExlaXRuZXIgPG1hcmNlbG8ubGVp dG5lckBnbWFpbC5jb20+CkNDOiBYaW4gTG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+CkNDOiAi RGF2aWQgUy4gTWlsbGVyIiA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KQ0M6IG5ldGRldkB2Z2VyLmtl cm5lbC5vcmcKQWNrZWQtYnk6IE1hcmNlbG8gUmljYXJkbyBMZWl0bmVyIDxtYXJjZWxvLmxlaXRu ZXJAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogbmV0L3NjdHAvc21fbWFrZV9jaHVuay5jIHwgOCArKysrKysrKwogMSBm aWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC9zY3RwL3NtX21h a2VfY2h1bmsuYyBiL25ldC9zY3RwL3NtX21ha2VfY2h1bmsuYwppbmRleCBhZTY1YTFjZmE1OTYu LmZiNTQ2YjJkNjdjYSAxMDA2NDQKLS0tIGEvbmV0L3NjdHAvc21fbWFrZV9jaHVuay5jCisrKyBi L25ldC9zY3RwL3NtX21ha2VfY2h1bmsuYwpAQCAtMjYwMCw2ICsyNjAwLDggQEAgc3RhdGljIGlu dCBzY3RwX3Byb2Nlc3NfcGFyYW0oc3RydWN0IHNjdHBfYXNzb2NpYXRpb24gKmFzb2MsCiAJY2Fz ZSBTQ1RQX1BBUkFNX1NUQVRFX0NPT0tJRToKIAkJYXNvYy0+cGVlci5jb29raWVfbGVuID0KIAkJ CW50b2hzKHBhcmFtLnAtPmxlbmd0aCkgLSBzaXplb2Yoc3RydWN0IHNjdHBfcGFyYW1oZHIpOwor CQlpZiAoYXNvYy0+cGVlci5jb29raWUpCisJCQlrZnJlZShhc29jLT5wZWVyLmNvb2tpZSk7CiAJ CWFzb2MtPnBlZXIuY29va2llID0ga21lbWR1cChwYXJhbS5jb29raWUtPmJvZHksIGFzb2MtPnBl ZXIuY29va2llX2xlbiwgZ2ZwKTsKIAkJaWYgKCFhc29jLT5wZWVyLmNvb2tpZSkKIAkJCXJldHZh bCA9IDA7CkBAIC0yNjY0LDYgKzI2NjYsOCBAQCBzdGF0aWMgaW50IHNjdHBfcHJvY2Vzc19wYXJh bShzdHJ1Y3Qgc2N0cF9hc3NvY2lhdGlvbiAqYXNvYywKIAkJCWdvdG8gZmFsbF90aHJvdWdoOwog CiAJCS8qIFNhdmUgcGVlcidzIHJhbmRvbSBwYXJhbWV0ZXIgKi8KKwkJaWYgKGFzb2MtPnBlZXIu cGVlcl9yYW5kb20pCisJCQlrZnJlZShhc29jLT5wZWVyLnBlZXJfcmFuZG9tKTsKIAkJYXNvYy0+ cGVlci5wZWVyX3JhbmRvbSA9IGttZW1kdXAocGFyYW0ucCwKIAkJCQkJICAgIG50b2hzKHBhcmFt LnAtPmxlbmd0aCksIGdmcCk7CiAJCWlmICghYXNvYy0+cGVlci5wZWVyX3JhbmRvbSkgewpAQCAt MjY3Nyw2ICsyNjgxLDggQEAgc3RhdGljIGludCBzY3RwX3Byb2Nlc3NfcGFyYW0oc3RydWN0IHNj dHBfYXNzb2NpYXRpb24gKmFzb2MsCiAJCQlnb3RvIGZhbGxfdGhyb3VnaDsKIAogCQkvKiBTYXZl IHBlZXIncyBITUFDIGxpc3QgKi8KKwkJaWYgKGFzb2MtPnBlZXIucGVlcl9obWFjcykKKwkJCWtm cmVlKGFzb2MtPnBlZXIucGVlcl9obWFjcyk7CiAJCWFzb2MtPnBlZXIucGVlcl9obWFjcyA9IGtt ZW1kdXAocGFyYW0ucCwKIAkJCQkJICAgIG50b2hzKHBhcmFtLnAtPmxlbmd0aCksIGdmcCk7CiAJ CWlmICghYXNvYy0+cGVlci5wZWVyX2htYWNzKSB7CkBAIC0yNjkyLDYgKzI2OTgsOCBAQCBzdGF0 aWMgaW50IHNjdHBfcHJvY2Vzc19wYXJhbShzdHJ1Y3Qgc2N0cF9hc3NvY2lhdGlvbiAqYXNvYywK IAkJaWYgKCFlcC0+YXV0aF9lbmFibGUpCiAJCQlnb3RvIGZhbGxfdGhyb3VnaDsKIAorCQlpZiAo YXNvYy0+cGVlci5wZWVyX2NodW5rcykKKwkJCWtmcmVlKGFzb2MtPnBlZXIucGVlcl9jaHVua3Mp OwogCQlhc29jLT5wZWVyLnBlZXJfY2h1bmtzID0ga21lbWR1cChwYXJhbS5wLAogCQkJCQkgICAg bnRvaHMocGFyYW0ucC0+bGVuZ3RoKSwgZ2ZwKTsKIAkJaWYgKCFhc29jLT5wZWVyLnBlZXJfY2h1 bmtzKQotLSAKMi4yMC4xCgoKRnJvbSBiNzg0MTNmMzAwMmMwMTc4OWJiZGZiM2IwOGI0ZDhjZjgy NmEzZDRkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIFBhdWwgQWRyaWFuIEds YXViaXR6IDxnbGF1Yml0ekBwaHlzaWsuZnUtYmVybGluLmRlPgpEYXRlOiBUdWUsIDExIEp1biAy MDE5IDE3OjM4OjM3ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxMi8xN10gc3VuaHY6IEZpeCBkZXZp Y2UgbmFtaW5nIGluY29uc2lzdGVuY3kgYmV0d2Vlbgogc3VuaHZfY29uc29sZSBhbmQgc3VuaHZf cmVnCgpbIFVwc3RyZWFtIGNvbW1pdCAwN2E2ZDYzZWIxYjU0YjVmYjM4MDkyNzgwZmU2MThkZmUx ZDk2ZTIzIF0KCkluIGQ1YTJhYTI0LCB0aGUgbmFtZSBpbiBzdHJ1Y3QgY29uc29sZSBzdW5odl9j b25zb2xlIHdhcyBjaGFuZ2VkIGZyb20gInR0eVMiCnRvICJ0dHlIViIgd2hpbGUgdGhlIG5hbWUg aW4gc3RydWN0IHVhcnRfb3BzIHN1bmh2X3BvcHMgcmVtYWluZWQgdW5jaGFuZ2VkLgoKVGhpcyBy ZXN1bHRzIGluIHRoZSBoeXBlcnZpc29yIGNvbnNvbGUgZGV2aWNlIHRvIGJlIGxpc3RlZCBhcyAi dHR5SFYwIiB1bmRlcgovcHJvYy9jb25zb2xlcyB3aGlsZSB0aGUgZGV2aWNlIG5vZGUgaXMgc3Rp bGwgbmFtZWQgInR0eVMwIjoKCnJvb3RAb3Nha2E6fiMgY2F0IC9wcm9jL2NvbnNvbGVzCnR0eUhW MCAgICAgICAgICAgICAgIC1XLSAoRUMgcCAgKSAgICA0OjY0CnR0eTAgICAgICAgICAgICAgICAg IC1XVSAoRSAgICAgKSAgICA0OjEKcm9vdEBvc2FrYTp+IyByZWFkbGluayAvc3lzL2Rldi9jaGFy LzQ6NjQKLi4vLi4vZGV2aWNlcy9yb290L2YwMjgzNmYwL2YwMjg1NjkwL3R0eS90dHlTMApyb290 QG9zYWthOn4jCgpUaGlzIG1lYW5zIHRoYXQgYW55IHVzZXJsYW5kIGNvZGUgd2hpY2ggdHJpZXMg dG8gZGV0ZXJtaW5lIHRoZSBuYW1lIG9mIHRoZQpkZXZpY2UgZmlsZSBvZiB0aGUgaHlwZXJ2aXNv ciBjb25zb2xlIGRldmljZSBjYW4gbm90IHJlbHkgb24gdGhlIGluZm9ybWF0aW9uCnByb3ZpZGVk IGJ5IC9wcm9jL2NvbnNvbGVzLiBJbiBwYXJ0aWN1bGFyLCBib290aW5nIGN1cnJlbnQgdmVyc2lv bnMgb2YgZGViaWFuLQppbnN0YWxsZXIgaW5zaWRlIGEgU1BBUkMgTERPTSB3aWxsIGZhaWwgd2l0 aCB0aGUgaW5zdGFsbGVyIHVuYWJsZSB0byBkZXRlcm1pbmUKdGhlIGNvbnNvbGUgZGV2aWNlLgoK QWZ0ZXIgcmVuYW1pbmcgdGhlIGRldmljZSBpbiBzdHJ1Y3QgdWFydF9vcHMgc3VuaHZfcG9wcyB0 byAidHR5SFYiIGFzIHdlbGwsCnRoZSBpbmNvbnNpc3RlbmN5IGlzIGZpeGVkIGFuZCBpdCBpcyBw b3NzaWJsZSBhZ2FpbiB0byBkZXRlcm1pbmUgdGhlIG5hbWUKb2YgdGhlIGRldmljZSBmaWxlIG9m IHRoZSBoeXBlcnZpc29yIGNvbnNvbGUgZGV2aWNlIGJ5IHJlYWRpbmcgdGhlIGNvbnRlbnRzCm9m IC9wcm9jL2NvbnNvbGU6Cgpyb290QG9zYWthOn4jIGNhdCAvcHJvYy9jb25zb2xlcwp0dHlIVjAg ICAgICAgICAgICAgICAtVy0gKEVDIHAgICkgICAgNDo2NAp0dHkwICAgICAgICAgICAgICAgICAt V1UgKEUgICAgICkgICAgNDoxCnJvb3RAb3Nha2E6fiMgcmVhZGxpbmsgL3N5cy9kZXYvY2hhci80 OjY0Ci4uLy4uL2RldmljZXMvcm9vdC9mMDI4MzZmMC9mMDI4NTY5MC90dHkvdHR5SFYwCnJvb3RA b3Nha2E6fiMKCldpdGggdGhpcyBjaGFuZ2UsIGRlYmlhbi1pbnN0YWxsZXIgd29ya3MgY29ycmVj dGx5IHdoZW4gaW5zdGFsbGluZyBpbnNpZGUKYSBTUEFSQyBMRE9NLgoKU2lnbmVkLW9mZi1ieTog Sm9obiBQYXVsIEFkcmlhbiBHbGF1Yml0eiA8Z2xhdWJpdHpAcGh5c2lrLmZ1LWJlcmxpbi5kZT4K U2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0K IGRyaXZlcnMvdHR5L3NlcmlhbC9zdW5odi5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5z ZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy90dHkvc2VyaWFs L3N1bmh2LmMgYi9kcml2ZXJzL3R0eS9zZXJpYWwvc3VuaHYuYwppbmRleCA2M2UzNGQ4NjhkZTgu LmY4NTAzZjhmYzQ0ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy90dHkvc2VyaWFsL3N1bmh2LmMKKysr IGIvZHJpdmVycy90dHkvc2VyaWFsL3N1bmh2LmMKQEAgLTM5Nyw3ICszOTcsNyBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IHVhcnRfb3BzIHN1bmh2X3BvcHMgPSB7CiBzdGF0aWMgc3RydWN0IHVhcnRf ZHJpdmVyIHN1bmh2X3JlZyA9IHsKIAkub3duZXIJCQk9IFRISVNfTU9EVUxFLAogCS5kcml2ZXJf bmFtZQkJPSAic3VuaHYiLAotCS5kZXZfbmFtZQkJPSAidHR5UyIsCisJLmRldl9uYW1lCQk9ICJ0 dHlIViIsCiAJLm1ham9yCQkJPSBUVFlfTUFKT1IsCiB9OwogCi0tIAoyLjIwLjEKCgpGcm9tIDk4 MjQ5MTFhMzc0YzBjMjE2NmFlZGYyOTY4OTMzMTk2NGE5YTE5NWUgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IFhpbiBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNvbT4KRGF0ZTogU3VuLCAx NiBKdW4gMjAxOSAxNzoyNDowNyArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTMvMTddIHRpcGM6IHB1 cmdlIGRlZmVycmVkcSBsaXN0IGZvciBlYWNoIGdycCBtZW1iZXIgaW4KIHRpcGNfZ3JvdXBfZGVs ZXRlCgpbIFVwc3RyZWFtIGNvbW1pdCA1Y2YwMjYxMmIzM2YxMDRmZTEwMTViMmRmYWYxNzU4YWQz Njc1NTg4IF0KClN5emJvdCByZXBvcnRlZCBhIG1lbWxlYWsgY2F1c2VkIGJ5IGdycCBtZW1iZXJz JyBkZWZlcnJlZHEgbGlzdCBub3QKcHVyZ2VkIHdoZW4gdGhlIGdycCBpcyBiZSBkZWxldGVkLgoK VGhlIGlzc3VlIG9jY3VycyB3aGVuIG1vcmUobXNnX2dycF9iY19zZXFubyhoZHIpLCBtLT5iY19y Y3Zfbnh0KSBpbgp0aXBjX2dyb3VwX2ZpbHRlcl9tc2coKSBhbmQgdGhlIHNrYiB3aWxsIHN0YXkg aW4gZGVmZXJyZWRxLgoKU28gZml4IGl0IGJ5IGNhbGxpbmcgX19za2JfcXVldWVfcHVyZ2UgZm9y IGVhY2ggbWVtYmVyJ3MgZGVmZXJyZWRxCmluIHRpcGNfZ3JvdXBfZGVsZXRlKCkgd2hlbiBhIHRp cGMgc2sgbGVhdmVzIHRoZSBncnAuCgpGaXhlczogYjg3YTVlYTMxYzkzICgidGlwYzogZ3VhcmFu dGVlIGdyb3VwIHVuaWNhc3QgZG9lc24ndCBieXBhc3MgZ3JvdXAgYnJvYWRjYXN0IikKUmVwb3J0 ZWQtYnk6IHN5emJvdCs3OGZiZTY3OWM4Y2E4ZDI2NGE4ZEBzeXprYWxsZXIuYXBwc3BvdG1haWwu Y29tClNpZ25lZC1vZmYtYnk6IFhpbiBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNvbT4KQWNrZWQt Ynk6IFlpbmcgWHVlIDx5aW5nLnh1ZUB3aW5kcml2ZXIuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3RpcGMvZ3JvdXAuYyB8 IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvbmV0L3Rp cGMvZ3JvdXAuYyBiL25ldC90aXBjL2dyb3VwLmMKaW5kZXggMDZmZWUxNDJmMDlmLi4zZWU5M2I1 YzE5YjYgMTAwNjQ0Ci0tLSBhL25ldC90aXBjL2dyb3VwLmMKKysrIGIvbmV0L3RpcGMvZ3JvdXAu YwpAQCAtMjE4LDYgKzIxOCw3IEBAIHZvaWQgdGlwY19ncm91cF9kZWxldGUoc3RydWN0IG5ldCAq bmV0LCBzdHJ1Y3QgdGlwY19ncm91cCAqZ3JwKQogCiAJcmJ0cmVlX3Bvc3RvcmRlcl9mb3JfZWFj aF9lbnRyeV9zYWZlKG0sIHRtcCwgdHJlZSwgdHJlZV9ub2RlKSB7CiAJCXRpcGNfZ3JvdXBfcHJv dG9feG1pdChncnAsIG0sIEdSUF9MRUFWRV9NU0csICZ4bWl0cSk7CisJCV9fc2tiX3F1ZXVlX3B1 cmdlKCZtLT5kZWZlcnJlZHEpOwogCQlsaXN0X2RlbCgmbS0+bGlzdCk7CiAJCWtmcmVlKG0pOwog CX0KLS0gCjIuMjAuMQoKCkZyb20gZjFlMWIzZGE1OGM4MTAyNGQ5ZmYwMmQ4MjIwMTI5MDA1N2E4 NDZkYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogU3RlcGhlbiBCYXJiZXIgPHNtYmFy YmVyQGNocm9taXVtLm9yZz4KRGF0ZTogRnJpLCAxNCBKdW4gMjAxOSAyMzo0MjozNyAtMDcwMApT dWJqZWN0OiBbUEFUQ0ggMTQvMTddIHZzb2NrL3ZpcnRpbzogc2V0IFNPQ0tfRE9ORSBvbiBwZWVy IHNodXRkb3duCgpbIFVwc3RyZWFtIGNvbW1pdCA0MmY1Y2RhNWVhZjQzOTZhOTM5YWU5YmI0M2Ji OGQxZDA5YzFiMTVjIF0KClNldCB0aGUgU09DS19ET05FIGZsYWcgdG8gbWF0Y2ggdGhlIFRDUF9D TE9TSU5HIHN0YXRlIHdoZW4gYSBwZWVyIGhhcwpzaHV0IGRvd24gYW5kIHRoZXJlIGlzIG5vdGhp bmcgbGVmdCB0byByZWFkLgoKVGhpcyBmaXhlcyB0aGUgZm9sbG93aW5nIGJ1ZzoKMSkgUGVlciBz ZW5kcyBTSFVURE9XTihSRFdSKS4KMikgU29ja2V0IGVudGVycyBUQ1BfQ0xPU0lORyBidXQgU09D S19ET05FIGlzIG5vdCBzZXQuCjMpIHJlYWQoKSByZXR1cm5zIC1FTk9UQ09OTiB1bnRpbCBjbG9z ZSgpIGlzIGNhbGxlZCwgdGhlbiByZXR1cm5zIDAuCgpTaWduZWQtb2ZmLWJ5OiBTdGVwaGVuIEJh cmJlciA8c21iYXJiZXJAY2hyb21pdW0ub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxs ZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3Ztd192c29jay92aXJ0aW9fdHJhbnNw b3J0X2NvbW1vbi5jIHwgNCArKystCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3Ztd192c29jay92aXJ0aW9fdHJhbnNwb3J0 X2NvbW1vbi5jIGIvbmV0L3Ztd192c29jay92aXJ0aW9fdHJhbnNwb3J0X2NvbW1vbi5jCmluZGV4 IGYzZjNkMDZjYjZkOC4uZTMwZjUzNzI4NzI1IDEwMDY0NAotLS0gYS9uZXQvdm13X3Zzb2NrL3Zp cnRpb190cmFuc3BvcnRfY29tbW9uLmMKKysrIGIvbmV0L3Ztd192c29jay92aXJ0aW9fdHJhbnNw b3J0X2NvbW1vbi5jCkBAIC04NzEsOCArODcxLDEwIEBAIHZpcnRpb190cmFuc3BvcnRfcmVjdl9j b25uZWN0ZWQoc3RydWN0IHNvY2sgKnNrLAogCQlpZiAobGUzMl90b19jcHUocGt0LT5oZHIuZmxh Z3MpICYgVklSVElPX1ZTT0NLX1NIVVRET1dOX1NFTkQpCiAJCQl2c2stPnBlZXJfc2h1dGRvd24g fD0gU0VORF9TSFVURE9XTjsKIAkJaWYgKHZzay0+cGVlcl9zaHV0ZG93biA9PSBTSFVURE9XTl9N QVNLICYmCi0JCSAgICB2c29ja19zdHJlYW1faGFzX2RhdGEodnNrKSA8PSAwKQorCQkgICAgdnNv Y2tfc3RyZWFtX2hhc19kYXRhKHZzaykgPD0gMCkgeworCQkJc29ja19zZXRfZmxhZyhzaywgU09D S19ET05FKTsKIAkJCXNrLT5za19zdGF0ZSA9IFRDUF9DTE9TSU5HOworCQl9CiAJCWlmIChsZTMy X3RvX2NwdShwa3QtPmhkci5mbGFncykpCiAJCQlzay0+c2tfc3RhdGVfY2hhbmdlKHNrKTsKIAkJ YnJlYWs7Ci0tIAoyLjIwLjEKCgpGcm9tIGYxN2U0NTFjNzgyY2EyOWY5ZGRmOTc1Y2VlOTBkNzEw MzRkY2ViZWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEFsYWEgSGxlaWhlbCA8YWxh YUBtZWxsYW5veC5jb20+CkRhdGU6IFN1biwgMTkgTWF5IDIwMTkgMTE6MTE6NDkgKzAzMDAKU3Vi amVjdDogW1BBVENIIDE1LzE3XSBuZXQvbWx4NTogQXZvaWQgcmVsb2FkaW5nIGFscmVhZHkgcmVt b3ZlZCBkZXZpY2VzCgpQcmlvciB0byByZWxvYWRpbmcgYSBkZXZpY2Ugd2UgbXVzdCBmaXJzdCB2 ZXJpZnkgdGhhdCBpdCB3YXMgbm90IGFscmVhZHkKcmVtb3ZlZC4gT3RoZXJ3aXNlLCB0aGUgYXR0 ZW1wdCB0byByZW1vdmUgdGhlIGRldmljZSB3aWxsIGRvIG5vdGhpbmcsIGFuZAppbiB0aGF0IGNh c2Ugd2Ugd2lsbCBlbmQgdXAgcHJvY2VlZGluZyB3aXRoIGFkZGluZyBhbiBuZXcgZGV2aWNlIHRo YXQgbm8Kb25lIHdhcyBleHBlY3RpbmcgdG8gcmVtb3ZlLCBsZWF2aW5nIGJlaGluZCB1c2VkIHJl c291cmNlcyBzdWNoIGFzIEVRcyB0aGF0CmNhdXNlcyBhIGZhaWx1cmUgdG8gZGVzdHJveSBjb21w IEVRcyBhbmQgc3luZHJvbWUgKDB4MzBmNDMzKS4KCkZpeCB0aGF0IGJ5IG1ha2luZyBzdXJlIHRo YXQgd2UgdHJ5IHRvIHJlbW92ZSBhbmQgYWRkIGEgZGV2aWNlIChiYXNlZCBvbiBhCnByb3RvY29s KSBvbmx5IGlmIHRoZSBkZXZpY2UgaXMgYWxyZWFkeSBhZGRlZC4KCkZpeGVzOiBjNTQ0N2M3MDU5 NGIgKCJuZXQvbWx4NTogRS1Td2l0Y2gsIFJlbG9hZCBJQiBpbnRlcmZhY2Ugd2hlbiBzd2l0Y2hp bmcgZGV2bGluayBtb2RlcyIpClNpZ25lZC1vZmYtYnk6IEFsYWEgSGxlaWhlbCA8YWxhYUBtZWxs YW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3gu Y29tPgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9kZXYuYyB8 IDI1ICsrKysrKysrKysrKysrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxh bm94L21seDUvY29yZS9kZXYuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUv Y29yZS9kZXYuYwppbmRleCAzN2JhN2M3ODg1OWQuLjFjMjI1YmU5YzdkYiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Rldi5jCisrKyBiL2RyaXZl cnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9kZXYuYwpAQCAtMzQyLDExICszNDIs MzIgQEAgdm9pZCBtbHg1X3VucmVnaXN0ZXJfaW50ZXJmYWNlKHN0cnVjdCBtbHg1X2ludGVyZmFj ZSAqaW50ZikKIH0KIEVYUE9SVF9TWU1CT0wobWx4NV91bnJlZ2lzdGVyX2ludGVyZmFjZSk7CiAK Ky8qIE11c3QgYmUgY2FsbGVkIHdpdGggaW50Zl9tdXRleCBoZWxkICovCitzdGF0aWMgYm9vbCBt bHg1X2hhc19hZGRlZF9kZXZfYnlfcHJvdG9jb2woc3RydWN0IG1seDVfY29yZV9kZXYgKm1kZXYs IGludCBwcm90b2NvbCkKK3sKKwlzdHJ1Y3QgbWx4NV9kZXZpY2VfY29udGV4dCAqZGV2X2N0eDsK KwlzdHJ1Y3QgbWx4NV9pbnRlcmZhY2UgKmludGY7CisJYm9vbCBmb3VuZCA9IGZhbHNlOworCisJ bGlzdF9mb3JfZWFjaF9lbnRyeShpbnRmLCAmaW50Zl9saXN0LCBsaXN0KSB7CisJCWlmIChpbnRm LT5wcm90b2NvbCA9PSBwcm90b2NvbCkgeworCQkJZGV2X2N0eCA9IG1seDVfZ2V0X2RldmljZShp bnRmLCAmbWRldi0+cHJpdik7CisJCQlpZiAoZGV2X2N0eCAmJiB0ZXN0X2JpdChNTFg1X0lOVEVS RkFDRV9BRERFRCwgJmRldl9jdHgtPnN0YXRlKSkKKwkJCQlmb3VuZCA9IHRydWU7CisJCQlicmVh azsKKwkJfQorCX0KKworCXJldHVybiBmb3VuZDsKK30KKwogdm9pZCBtbHg1X3JlbG9hZF9pbnRl cmZhY2Uoc3RydWN0IG1seDVfY29yZV9kZXYgKm1kZXYsIGludCBwcm90b2NvbCkKIHsKIAltdXRl eF9sb2NrKCZtbHg1X2ludGZfbXV0ZXgpOwotCW1seDVfcmVtb3ZlX2Rldl9ieV9wcm90b2NvbCht ZGV2LCBwcm90b2NvbCk7Ci0JbWx4NV9hZGRfZGV2X2J5X3Byb3RvY29sKG1kZXYsIHByb3RvY29s KTsKKwlpZiAobWx4NV9oYXNfYWRkZWRfZGV2X2J5X3Byb3RvY29sKG1kZXYsIHByb3RvY29sKSkg eworCQltbHg1X3JlbW92ZV9kZXZfYnlfcHJvdG9jb2wobWRldiwgcHJvdG9jb2wpOworCQltbHg1 X2FkZF9kZXZfYnlfcHJvdG9jb2wobWRldiwgcHJvdG9jb2wpOworCX0KIAltdXRleF91bmxvY2so Jm1seDVfaW50Zl9tdXRleCk7CiB9CiAKLS0gCjIuMjAuMQoKCkZyb20gN2ViOTM5YzBkNzRjYTA0 OWJhNWVmNjg4ZjYwNTBmNTExYTRmNWNiYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog TWF4aW1lIENoZXZhbGxpZXIgPG1heGltZS5jaGV2YWxsaWVyQGJvb3RsaW4uY29tPgpEYXRlOiBU dWUsIDExIEp1biAyMDE5IDExOjUxOjQyICswMjAwClN1YmplY3Q6IFtQQVRDSCAxNi8xN10gbmV0 OiBtdnBwMjogcHJzOiBGaXggcGFyc2VyIHJhbmdlIGZvciBWSUQgZmlsdGVyaW5nCgpbIFVwc3Ry ZWFtIGNvbW1pdCA0NmIwMDkwYTY2MzZjZjM0YzBlODU2ZjE1ZGQwM2UxNWJhNGNkZGE2IF0KClZJ RCBmaWx0ZXJpbmcgaXMgaW1wbGVtZW50ZWQgaW4gdGhlIEhlYWRlciBQYXJzZXIsIHdpdGggb25l IHJhbmdlIG9mIDExCnZpZHMgYmVpbmcgYXNzaWduZWQgZm9yIGVhY2ggbm8tbG9vcGJhY2sgcG9y dC4KCk1ha2Ugc3VyZSB3ZSB1c2UgdGhlIHBlci1wb3J0IHJhbmdlIHdoZW4gbG9va2luZyBmb3Ig ZXhpc3RpbmcgZW50cmllcyBpbgp0aGUgUGFyc2VyLgoKU2luY2Ugd2UgdXNlZCBhIGdsb2JhbCBy YW5nZSBpbnN0ZWFkIG9mIGEgcGVyLXBvcnQgb25lLCB0aGlzIGNhdXNlcyBWSURzCnRvIGJlIHJl bW92ZWQgZnJvbSB0aGUgd2hpdGVsaXN0IGZyb20gYWxsIHBvcnRzIG9mIHRoZSBzYW1lIFBQdjIK aW5zdGFuY2UuCgpGaXhlczogNTZiZWRhM2RiNjAyICgibmV0OiBtdnBwMjogQWRkIGhhcmR3YXJl IG9mZmxvYWRpbmcgZm9yIFZMQU4gZmlsdGVyaW5nIikKU3VnZ2VzdGVkLWJ5OiBZdXJpIENoaXBj aGV2IDx5dXJpY0BtYXJ2ZWxsLmNvbT4KU2lnbmVkLW9mZi1ieTogTWF4aW1lIENoZXZhbGxpZXIg PG1heGltZS5jaGV2YWxsaWVyQGJvb3RsaW4uY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBN aWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFy dmVsbC9tdnBwMi9tdnBwMl9wcnMuYyB8IDE3ICsrKysrKysrLS0tLS0tLS0tCiAxIGZpbGUgY2hh bmdlZCwgOCBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvbmV0L2V0aGVybmV0L21hcnZlbGwvbXZwcDIvbXZwcDJfcHJzLmMgYi9kcml2ZXJzL25ldC9l dGhlcm5ldC9tYXJ2ZWxsL212cHAyL212cHAyX3Bycy5jCmluZGV4IDM5MmZkODk1ZjI3OC4uZTBk YTRkYjNiZjU2IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL212cHAy L212cHAyX3Bycy5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvbXZwcDIvbXZw cDJfcHJzLmMKQEAgLTE5MDUsOCArMTkwNSw3IEBAIHN0YXRpYyBpbnQgbXZwcDJfcHJzX2lwNl9p bml0KHN0cnVjdCBtdnBwMiAqcHJpdikKIH0KIAogLyogRmluZCB0Y2FtIGVudHJ5IHdpdGggbWF0 Y2hlZCBwYWlyIDx2aWQscG9ydD4gKi8KLXN0YXRpYyBpbnQgbXZwcDJfcHJzX3ZpZF9yYW5nZV9m aW5kKHN0cnVjdCBtdnBwMiAqcHJpdiwgaW50IHBtYXAsIHUxNiB2aWQsCi0JCQkJICAgIHUxNiBt YXNrKQorc3RhdGljIGludCBtdnBwMl9wcnNfdmlkX3JhbmdlX2ZpbmQoc3RydWN0IG12cHAyX3Bv cnQgKnBvcnQsIHUxNiB2aWQsIHUxNiBtYXNrKQogewogCXVuc2lnbmVkIGNoYXIgYnl0ZVsyXSwg ZW5hYmxlWzJdOwogCXN0cnVjdCBtdnBwMl9wcnNfZW50cnkgcGU7CkBAIC0xOTE0LDEzICsxOTEz LDEzIEBAIHN0YXRpYyBpbnQgbXZwcDJfcHJzX3ZpZF9yYW5nZV9maW5kKHN0cnVjdCBtdnBwMiAq cHJpdiwgaW50IHBtYXAsIHUxNiB2aWQsCiAJaW50IHRpZDsKIAogCS8qIEdvIHRocm91Z2ggdGhl IGFsbCBlbnRyaWVzIHdpdGggTVZQUDJfUFJTX0xVX1ZJRCAqLwotCWZvciAodGlkID0gTVZQUDJf UEVfVklEX0ZJTFRfUkFOR0VfU1RBUlQ7Ci0JICAgICB0aWQgPD0gTVZQUDJfUEVfVklEX0ZJTFRf UkFOR0VfRU5EOyB0aWQrKykgewotCQlpZiAoIXByaXYtPnByc19zaGFkb3dbdGlkXS52YWxpZCB8 fAotCQkgICAgcHJpdi0+cHJzX3NoYWRvd1t0aWRdLmx1ICE9IE1WUFAyX1BSU19MVV9WSUQpCisJ Zm9yICh0aWQgPSBNVlBQMl9QUlNfVklEX1BPUlRfRklSU1QocG9ydC0+aWQpOworCSAgICAgdGlk IDw9IE1WUFAyX1BSU19WSURfUE9SVF9MQVNUKHBvcnQtPmlkKTsgdGlkKyspIHsKKwkJaWYgKCFw b3J0LT5wcml2LT5wcnNfc2hhZG93W3RpZF0udmFsaWQgfHwKKwkJICAgIHBvcnQtPnByaXYtPnBy c19zaGFkb3dbdGlkXS5sdSAhPSBNVlBQMl9QUlNfTFVfVklEKQogCQkJY29udGludWU7CiAKLQkJ bXZwcDJfcHJzX2luaXRfZnJvbV9odyhwcml2LCAmcGUsIHRpZCk7CisJCW12cHAyX3Byc19pbml0 X2Zyb21faHcocG9ydC0+cHJpdiwgJnBlLCB0aWQpOwogCiAJCW12cHAyX3Byc190Y2FtX2RhdGFf Ynl0ZV9nZXQoJnBlLCAyLCAmYnl0ZVswXSwgJmVuYWJsZVswXSk7CiAJCW12cHAyX3Byc190Y2Ft X2RhdGFfYnl0ZV9nZXQoJnBlLCAzLCAmYnl0ZVsxXSwgJmVuYWJsZVsxXSk7CkBAIC0xOTUwLDcg KzE5NDksNyBAQCBpbnQgbXZwcDJfcHJzX3ZpZF9lbnRyeV9hZGQoc3RydWN0IG12cHAyX3BvcnQg KnBvcnQsIHUxNiB2aWQpCiAJbWVtc2V0KCZwZSwgMCwgc2l6ZW9mKHBlKSk7CiAKIAkvKiBTY2Fu IFRDQU0gYW5kIHNlZSBpZiBlbnRyeSB3aXRoIHRoaXMgPHZpZCxwb3J0PiBhbHJlYWR5IGV4aXN0 ICovCi0JdGlkID0gbXZwcDJfcHJzX3ZpZF9yYW5nZV9maW5kKHByaXYsICgxIDw8IHBvcnQtPmlk KSwgdmlkLCBtYXNrKTsKKwl0aWQgPSBtdnBwMl9wcnNfdmlkX3JhbmdlX2ZpbmQocG9ydCwgdmlk LCBtYXNrKTsKIAogCXJlZ192YWwgPSBtdnBwMl9yZWFkKHByaXYsIE1WUFAyX01IX1JFRyhwb3J0 LT5pZCkpOwogCWlmIChyZWdfdmFsICYgTVZQUDJfRFNBX0VYVEVOREVEKQpAQCAtMjAwOCw3ICsy MDA3LDcgQEAgdm9pZCBtdnBwMl9wcnNfdmlkX2VudHJ5X3JlbW92ZShzdHJ1Y3QgbXZwcDJfcG9y dCAqcG9ydCwgdTE2IHZpZCkKIAlpbnQgdGlkOwogCiAJLyogU2NhbiBUQ0FNIGFuZCBzZWUgaWYg ZW50cnkgd2l0aCB0aGlzIDx2aWQscG9ydD4gYWxyZWFkeSBleGlzdCAqLwotCXRpZCA9IG12cHAy X3Byc192aWRfcmFuZ2VfZmluZChwcml2LCAoMSA8PCBwb3J0LT5pZCksIHZpZCwgMHhmZmYpOwor CXRpZCA9IG12cHAyX3Byc192aWRfcmFuZ2VfZmluZChwb3J0LCB2aWQsIDB4ZmZmKTsKIAogCS8q IE5vIHN1Y2ggZW50cnkgKi8KIAlpZiAodGlkIDwgMCkKLS0gCjIuMjAuMQoKCkZyb20gNzhhOGY1 NWRmYzE5MDU2MDY4MDNiOTU3YTkzNDQyMTIxZTIxMWY2NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogTWF4aW1lIENoZXZhbGxpZXIgPG1heGltZS5jaGV2YWxsaWVyQGJvb3RsaW4uY29t PgpEYXRlOiBUdWUsIDExIEp1biAyMDE5IDExOjUxOjQzICswMjAwClN1YmplY3Q6IFtQQVRDSCAx Ny8xN10gbmV0OiBtdnBwMjogcHJzOiBVc2UgdGhlIGNvcnJlY3QgaGVscGVycyB3aGVuIHJlbW92 aW5nCiBhbGwgVklEIGZpbHRlcnMKClsgVXBzdHJlYW0gY29tbWl0IDZiN2EzNDMwYzE2MzQ1NWNm OGE1MTRkNjM2YmRhNTJiMDQ2NTQ5NzIgXQoKV2hlbiByZW1vdmluZyBhbGwgVklEIGZpbHRlcnMs IHRoZSBtdnBwMl9wcnNfdmlkX2VudHJ5X3JlbW92ZSB3b3VsZCBiZQpjYWxsZWQgd2l0aCB0aGUg VENBTSBpZCBpbmNvcnJlY3RseSB1c2VkIGFzIGEgVklELCBjYXVzaW5nIHRoZSB3cm9uZwpUQ0FN IGVudHJpZXMgdG8gYmUgaW52YWxpZGF0ZWQuCgpGaXggdGhpcyBieSBkaXJlY3RseSBpbnZhbGlk YXRpbmcgZW50cmllcyBpbiB0aGUgVklEIHJhbmdlLgoKRml4ZXM6IDU2YmVkYTNkYjYwMiAoIm5l dDogbXZwcDI6IEFkZCBoYXJkd2FyZSBvZmZsb2FkaW5nIGZvciBWTEFOIGZpbHRlcmluZyIpClN1 Z2dlc3RlZC1ieTogWXVyaSBDaGlwY2hldiA8eXVyaWNAbWFydmVsbC5jb20+ClNpZ25lZC1vZmYt Ynk6IE1heGltZSBDaGV2YWxsaWVyIDxtYXhpbWUuY2hldmFsbGllckBib290bGluLmNvbT4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRy aXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvbXZwcDIvbXZwcDJfcHJzLmMgfCA2ICsrKystLQog MSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL212cHAyL212cHAyX3Bycy5jIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9tdnBwMi9tdnBwMl9wcnMuYwppbmRleCBlMGRhNGRi M2JmNTYuLmFlMjI0MDA3NGQ4ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFy dmVsbC9tdnBwMi9tdnBwMl9wcnMuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxs L212cHAyL212cHAyX3Bycy5jCkBAIC0yMDI1LDggKzIwMjUsMTAgQEAgdm9pZCBtdnBwMl9wcnNf dmlkX3JlbW92ZV9hbGwoc3RydWN0IG12cHAyX3BvcnQgKnBvcnQpCiAKIAlmb3IgKHRpZCA9IE1W UFAyX1BSU19WSURfUE9SVF9GSVJTVChwb3J0LT5pZCk7CiAJICAgICB0aWQgPD0gTVZQUDJfUFJT X1ZJRF9QT1JUX0xBU1QocG9ydC0+aWQpOyB0aWQrKykgewotCQlpZiAocHJpdi0+cHJzX3NoYWRv d1t0aWRdLnZhbGlkKQotCQkJbXZwcDJfcHJzX3ZpZF9lbnRyeV9yZW1vdmUocG9ydCwgdGlkKTsK KwkJaWYgKHByaXYtPnByc19zaGFkb3dbdGlkXS52YWxpZCkgeworCQkJbXZwcDJfcHJzX2h3X2lu dihwcml2LCB0aWQpOworCQkJcHJpdi0+cHJzX3NoYWRvd1t0aWRdLnZhbGlkID0gZmFsc2U7CisJ CX0KIAl9CiB9CiAKLS0gCjIuMjAuMQoK ----Next_Part(Mon_Jun_17_21_23_43_2019_561)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_51.mbox" RnJvbSBlZjM4ODM3NmNmNWU3NWQ1Y2U4NjUzZDU4ZTUzYjg5NzJiZGNiYjBjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRh dGU6IFNhdCwgMTUgSnVuIDIwMTkgMTY6NDA6NTIgLTA3MDAKU3ViamVjdDogW1BBVENIIDAxLzMx XSBheDI1OiBmaXggaW5jb25zaXN0ZW50IGxvY2sgc3RhdGUgaW4gYXgyNV9kZXN0cm95X3RpbWVy CgpbIFVwc3RyZWFtIGNvbW1pdCBkNGQ1ZDhlODNjOTYxNmFlZWYyOGEyODY5Y2VhNDljYzNmYjM1 NTI2IF0KCkJlZm9yZSB0aHJlYWQgaW4gcHJvY2VzcyBjb250ZXh0IHVzZXMgYmhfbG9ja19zb2Nr KCkKd2UgbXVzdCBkaXNhYmxlIGJoLgoKc3lzYm90IHJlcG9ydGVkIDoKCldBUk5JTkc6IGluY29u c2lzdGVudCBsb2NrIHN0YXRlCjUuMi4wLXJjMysgIzMyIE5vdCB0YWludGVkCgppbmNvbnNpc3Rl bnQge1NPRlRJUlEtT04tV30gLT4ge0lOLVNPRlRJUlEtV30gdXNhZ2UuCmJsa2lkLzI2NTgxIFtI QzBbMF06U0MxWzFdOkhFMTpTRTBdIHRha2VzOgowMDAwMDAwMGUwZGE4NWVlIChzbG9jay1BRl9B WDI1KXsrLj8ufSwgYXQ6IHNwaW5fbG9jayBpbmNsdWRlL2xpbnV4L3NwaW5sb2NrLmg6MzM4IFtp bmxpbmVdCjAwMDAwMDAwZTBkYTg1ZWUgKHNsb2NrLUFGX0FYMjUpeysuPy59LCBhdDogYXgyNV9k ZXN0cm95X3RpbWVyKzB4NTMvMHhjMCBuZXQvYXgyNS9hZl9heDI1LmM6Mjc1CntTT0ZUSVJRLU9O LVd9IHN0YXRlIHdhcyByZWdpc3RlcmVkIGF0OgogIGxvY2tfYWNxdWlyZSsweDE2Zi8weDNmMCBr ZXJuZWwvbG9ja2luZy9sb2NrZGVwLmM6NDMwMwogIF9fcmF3X3NwaW5fbG9jayBpbmNsdWRlL2xp bnV4L3NwaW5sb2NrX2FwaV9zbXAuaDoxNDIgW2lubGluZV0KICBfcmF3X3NwaW5fbG9jaysweDJm LzB4NDAga2VybmVsL2xvY2tpbmcvc3BpbmxvY2suYzoxNTEKICBzcGluX2xvY2sgaW5jbHVkZS9s aW51eC9zcGlubG9jay5oOjMzOCBbaW5saW5lXQogIGF4MjVfcnRfYXV0b2JpbmQrMHgzY2EvMHg3 MjAgbmV0L2F4MjUvYXgyNV9yb3V0ZS5jOjQyOQogIGF4MjVfY29ubmVjdC5jb2xkKzB4MzAvMHhh NCBuZXQvYXgyNS9hZl9heDI1LmM6MTIyMQogIF9fc3lzX2Nvbm5lY3QrMHgyNjQvMHgzMzAgbmV0 L3NvY2tldC5jOjE4MzQKICBfX2RvX3N5c19jb25uZWN0IG5ldC9zb2NrZXQuYzoxODQ1IFtpbmxp bmVdCiAgX19zZV9zeXNfY29ubmVjdCBuZXQvc29ja2V0LmM6MTg0MiBbaW5saW5lXQogIF9feDY0 X3N5c19jb25uZWN0KzB4NzMvMHhiMCBuZXQvc29ja2V0LmM6MTg0MgogIGRvX3N5c2NhbGxfNjQr MHhmZC8weDY4MCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzozMDEKICBlbnRyeV9TWVNDQUxMXzY0 X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlCmlycSBldmVudCBzdGFtcDogMjI3MgpoYXJkaXJxcyBs YXN0ICBlbmFibGVkIGF0ICgyMjcyKTogWzxmZmZmZmZmZjgxMDA2NWYzPl0gdHJhY2VfaGFyZGly cXNfb25fdGh1bmsrMHgxYS8weDFjCmhhcmRpcnFzIGxhc3QgZGlzYWJsZWQgYXQgKDIyNzEpOiBb PGZmZmZmZmZmODEwMDY2MGY+XSB0cmFjZV9oYXJkaXJxc19vZmZfdGh1bmsrMHgxYS8weDFjCnNv ZnRpcnFzIGxhc3QgIGVuYWJsZWQgYXQgKDE1MjIpOiBbPGZmZmZmZmZmODc0MDA2NTQ+XSBfX2Rv X3NvZnRpcnErMHg2NTQvMHg5NGMga2VybmVsL3NvZnRpcnEuYzozMjAKc29mdGlycXMgbGFzdCBk aXNhYmxlZCBhdCAoMjI2Nyk6IFs8ZmZmZmZmZmY4MTQ0OTAxMD5dIGludm9rZV9zb2Z0aXJxIGtl cm5lbC9zb2Z0aXJxLmM6Mzc0IFtpbmxpbmVdCnNvZnRpcnFzIGxhc3QgZGlzYWJsZWQgYXQgKDIy NjcpOiBbPGZmZmZmZmZmODE0NDkwMTA+XSBpcnFfZXhpdCsweDE4MC8weDFkMCBrZXJuZWwvc29m dGlycS5jOjQxNAoKb3RoZXIgaW5mbyB0aGF0IG1pZ2h0IGhlbHAgdXMgZGVidWcgdGhpczoKIFBv c3NpYmxlIHVuc2FmZSBsb2NraW5nIHNjZW5hcmlvOgoKICAgICAgIENQVTAKICAgICAgIC0tLS0K ICBsb2NrKHNsb2NrLUFGX0FYMjUpOwogIDxJbnRlcnJ1cHQ+CiAgICBsb2NrKHNsb2NrLUFGX0FY MjUpOwoKICoqKiBERUFETE9DSyAqKioKCjEgbG9jayBoZWxkIGJ5IGJsa2lkLzI2NTgxOgogIzA6 IDAwMDAwMDAwMTBmZDE1NGQgKCgmYXgyNS0+ZHRpbWVyKSl7Ky4tLn0sIGF0OiBsb2NrZGVwX2Nv cHlfbWFwIGluY2x1ZGUvbGludXgvbG9ja2RlcC5oOjE3NSBbaW5saW5lXQogIzA6IDAwMDAwMDAw MTBmZDE1NGQgKCgmYXgyNS0+ZHRpbWVyKSl7Ky4tLn0sIGF0OiBjYWxsX3RpbWVyX2ZuKzB4ZTAv MHg3MjAga2VybmVsL3RpbWUvdGltZXIuYzoxMzEyCgpzdGFjayBiYWNrdHJhY2U6CkNQVTogMSBQ SUQ6IDI2NTgxIENvbW06IGJsa2lkIE5vdCB0YWludGVkIDUuMi4wLXJjMysgIzMyCkhhcmR3YXJl IG5hbWU6IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBFbmdpbmUvR29vZ2xlIENvbXB1dGUgRW5naW5l LCBCSU9TIEdvb2dsZSAwMS8wMS8yMDExCkNhbGwgVHJhY2U6CiA8SVJRPgogX19kdW1wX3N0YWNr IGxpYi9kdW1wX3N0YWNrLmM6NzcgW2lubGluZV0KIGR1bXBfc3RhY2srMHgxNzIvMHgxZjAgbGli L2R1bXBfc3RhY2suYzoxMTMKIHByaW50X3VzYWdlX2J1Zy5jb2xkKzB4MzkzLzB4NGEyIGtlcm5l bC9sb2NraW5nL2xvY2tkZXAuYzoyOTM1CiB2YWxpZF9zdGF0ZSBrZXJuZWwvbG9ja2luZy9sb2Nr ZGVwLmM6Mjk0OCBbaW5saW5lXQogbWFya19sb2NrX2lycSBrZXJuZWwvbG9ja2luZy9sb2NrZGVw LmM6MzEzOCBbaW5saW5lXQogbWFya19sb2NrKzB4ZDQ2LzB4MTM3MCBrZXJuZWwvbG9ja2luZy9s b2NrZGVwLmM6MzUxMwogbWFya19pcnFmbGFncyBrZXJuZWwvbG9ja2luZy9sb2NrZGVwLmM6MzM5 MSBbaW5saW5lXQogX19sb2NrX2FjcXVpcmUrMHgxNTlmLzB4NTQ5MCBrZXJuZWwvbG9ja2luZy9s b2NrZGVwLmM6Mzc0NQogbG9ja19hY3F1aXJlKzB4MTZmLzB4M2YwIGtlcm5lbC9sb2NraW5nL2xv Y2tkZXAuYzo0MzAzCiBfX3Jhd19zcGluX2xvY2sgaW5jbHVkZS9saW51eC9zcGlubG9ja19hcGlf c21wLmg6MTQyIFtpbmxpbmVdCiBfcmF3X3NwaW5fbG9jaysweDJmLzB4NDAga2VybmVsL2xvY2tp bmcvc3BpbmxvY2suYzoxNTEKIHNwaW5fbG9jayBpbmNsdWRlL2xpbnV4L3NwaW5sb2NrLmg6MzM4 IFtpbmxpbmVdCiBheDI1X2Rlc3Ryb3lfdGltZXIrMHg1My8weGMwIG5ldC9heDI1L2FmX2F4MjUu YzoyNzUKIGNhbGxfdGltZXJfZm4rMHgxOTMvMHg3MjAga2VybmVsL3RpbWUvdGltZXIuYzoxMzIy CiBleHBpcmVfdGltZXJzIGtlcm5lbC90aW1lL3RpbWVyLmM6MTM2NiBbaW5saW5lXQogX19ydW5f dGltZXJzIGtlcm5lbC90aW1lL3RpbWVyLmM6MTY4NSBbaW5saW5lXQogX19ydW5fdGltZXJzIGtl cm5lbC90aW1lL3RpbWVyLmM6MTY1MyBbaW5saW5lXQogcnVuX3RpbWVyX3NvZnRpcnErMHg2NmYv MHgxNzQwIGtlcm5lbC90aW1lL3RpbWVyLmM6MTY5OAogX19kb19zb2Z0aXJxKzB4MjVjLzB4OTRj IGtlcm5lbC9zb2Z0aXJxLmM6MjkzCiBpbnZva2Vfc29mdGlycSBrZXJuZWwvc29mdGlycS5jOjM3 NCBbaW5saW5lXQogaXJxX2V4aXQrMHgxODAvMHgxZDAga2VybmVsL3NvZnRpcnEuYzo0MTQKIGV4 aXRpbmdfaXJxIGFyY2gveDg2L2luY2x1ZGUvYXNtL2FwaWMuaDo1MzYgW2lubGluZV0KIHNtcF9h cGljX3RpbWVyX2ludGVycnVwdCsweDEzYi8weDU1MCBhcmNoL3g4Ni9rZXJuZWwvYXBpYy9hcGlj LmM6MTA2OAogYXBpY190aW1lcl9pbnRlcnJ1cHQrMHhmLzB4MjAgYXJjaC94ODYvZW50cnkvZW50 cnlfNjQuUzo4MDYKIDwvSVJRPgpSSVA6IDAwMzM6MHg3Zjg1OGQ1YzMyMzIKQ29kZTogOGIgNjEg MDggNDggOGIgODQgMjQgZDggMDAgMDAgMDAgNGMgODkgNDQgMjQgMjggNDggOGIgYWMgMjQgZDAg MDAgMDAgMDAgNGMgOGIgYjQgMjQgZTggMDAgMDAgMDAgNDggODkgN2MgMjQgNjggNDggODkgNGMg MjQgNzggPDQ4PiA4OSA0NCAyNCA1OCA4YiA4NCAyNCBlMCAwMCAwMCAwMCA4OSA4NCAyNCA4NCAw MCAwMCAwMCA4YiA4NCAyNApSU1A6IDAwMmI6MDAwMDdmZmNhZjBjZjVjMCBFRkxBR1M6IDAwMDAw MjA2IE9SSUdfUkFYOiBmZmZmZmZmZmZmZmZmZjEzClJBWDogMDAwMDdmODU4ZDdkMjdhOCBSQlg6 IDAwMDA3Zjg1OGQ3ZDg4MjAgUkNYOiAwMDAwN2Y4NThkMzk0MGQ4ClJEWDogMDAwMDdmZmNhZjBj Zjc5OCBSU0k6IDAwMDAwMDAwZjVlNjE2ZjMgUkRJOiAwMDAwN2Y4NThkMzk0ZmVlClJCUDogMDAw MDAwMDAwMDAwMDAwMCBSMDg6IDAwMDA3ZmZjYWYwY2Y3ODAgUjA5OiAwMDAwN2Y4NThkN2RiNDgw ClIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6IDAwMDAwMDAwMDk2OTFhNzUgUjEyOiAwMDAwMDAw MDAwMDAwMDA1ClIxMzogMDAwMDAwMDBmNWU2MTZmMyBSMTQ6IDAwMDAwMDAwMDAwMDAwMDAgUjE1 OiAwMDAwN2ZmY2FmMGNmNzk4CgpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0 QGdvb2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QgPHN5emthbGxlckBnb29nbGVncm91cHMu Y29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogbmV0L2F4MjUvYXgyNV9yb3V0ZS5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5z ZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC9heDI1L2F4MjVfcm91dGUuYyBiL25ldC9heDI1 L2F4MjVfcm91dGUuYwppbmRleCA2NmY3NGM4NWNmNmIuLjY2ZDU0ZmMxMTgzMSAxMDA2NDQKLS0t IGEvbmV0L2F4MjUvYXgyNV9yb3V0ZS5jCisrKyBiL25ldC9heDI1L2F4MjVfcm91dGUuYwpAQCAt NDI5LDkgKzQyOSwxMSBAQCBpbnQgYXgyNV9ydF9hdXRvYmluZChheDI1X2NiICpheDI1LCBheDI1 X2FkZHJlc3MgKmFkZHIpCiAJfQogCiAJaWYgKGF4MjUtPnNrICE9IE5VTEwpIHsKKwkJbG9jYWxf YmhfZGlzYWJsZSgpOwogCQliaF9sb2NrX3NvY2soYXgyNS0+c2spOwogCQlzb2NrX3Jlc2V0X2Zs YWcoYXgyNS0+c2ssIFNPQ0tfWkFQUEVEKTsKIAkJYmhfdW5sb2NrX3NvY2soYXgyNS0+c2spOwor CQlsb2NhbF9iaF9lbmFibGUoKTsKIAl9CiAKIHB1dDoKLS0gCjIuMjAuMQoKCkZyb20gYTM3MWM3 M2IxZmIyYTc3NjMyYzIwMTYyOTNhMWRiNTY4ZWU1MWVlNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogSXZhbiBWZWNlcmEgPGl2ZWNlcmFAcmVkaGF0LmNvbT4KRGF0ZTogRnJpLCAxNCBK dW4gMjAxOSAxNzo0ODozNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMzFdIGJlMm5ldDogRml4 IG51bWJlciBvZiBSeCBxdWV1ZXMgdXNlZCBmb3IgZmxvdyBoYXNoaW5nCgpbIFVwc3RyZWFtIGNv bW1pdCA3MThmNGEyNTM3MDg5ZWE0MTkwM2JmMzU3MDcxMzA2MTYzYmM3YzA0IF0KCk51bWJlciBv ZiBSeCBxdWV1ZXMgdXNlZCBmb3IgZmxvdyBoYXNoaW5nIHJldHVybmVkIGJ5IHRoZSBkcml2ZXIg aXMKaW5jb3JyZWN0IGFuZCB0aGlzIGJ1ZyBwcmV2ZW50cyB1c2VyIHRvIHVzZSB0aGUgbGFzdCBS eCBxdWV1ZSBpbgppbmRpcmVjdGlvbiB0YWJsZS4KCkxldCdzIHNheSB3ZSBoYXZlIGEgTklDIHdp dGggNiBjb21iaW5lZCBxdWV1ZXM6Cgpbcm9vdEBzbS0wMyB+XSMgZXRodG9vbCAtbCBlbnA0czBm MApDaGFubmVsIHBhcmFtZXRlcnMgZm9yIGVucDRzMGYwOgpQcmUtc2V0IG1heGltdW1zOgpSWDog ICAgICAgICAgICAgNQpUWDogICAgICAgICAgICAgNQpPdGhlcjogICAgICAgICAgMApDb21iaW5l ZDogICAgICAgNgpDdXJyZW50IGhhcmR3YXJlIHNldHRpbmdzOgpSWDogICAgICAgICAgICAgMApU WDogICAgICAgICAgICAgMApPdGhlcjogICAgICAgICAgMApDb21iaW5lZDogICAgICAgNgoKRGVm YXVsdCBpbmRpcmVjdGlvbiB0YWJsZSBtYXBzIGFsbCAoNikgcXVldWVzIGVxdWFsbHkgYnV0IHRo ZSBkcml2ZXIKcmVwb3J0cyBvbmx5IDUgcmluZ3MgYXZhaWxhYmxlLgoKW3Jvb3RAc20tMDMgfl0j IGV0aHRvb2wgLXggZW5wNHMwZjAKUlggZmxvdyBoYXNoIGluZGlyZWN0aW9uIHRhYmxlIGZvciBl bnA0czBmMCB3aXRoIDUgUlggcmluZyhzKToKICAgIDA6ICAgICAgMCAgICAgMSAgICAgMiAgICAg MyAgICAgNCAgICAgNSAgICAgMCAgICAgMQogICAgODogICAgICAyICAgICAzICAgICA0ICAgICA1 ICAgICAwICAgICAxICAgICAyICAgICAzCiAgIDE2OiAgICAgIDQgICAgIDUgICAgIDAgICAgIDEg ICAgIDIgICAgIDMgICAgIDQgICAgIDUKICAgMjQ6ICAgICAgMCAgICAgMSAgICAgMiAgICAgMyAg ICAgNCAgICAgNSAgICAgMCAgICAgMQouLi4KCk5vdyBjaGFuZ2UgaW5kaXJlY3Rpb24gdGFibGUg c29tZWhvdzoKCltyb290QHNtLTAzIH5dIyBldGh0b29sIC1YIGVucDRzMGYwIHdlaWdodCAxIDEK W3Jvb3RAc20tMDMgfl0jIGV0aHRvb2wgLXggZW5wNHMwZjAKUlggZmxvdyBoYXNoIGluZGlyZWN0 aW9uIHRhYmxlIGZvciBlbnA0czBmMCB3aXRoIDYgUlggcmluZyhzKToKICAgIDA6ICAgICAgMCAg ICAgMCAgICAgMCAgICAgMCAgICAgMCAgICAgMCAgICAgMCAgICAgMAouLi4KICAgNjQ6ICAgICAg MSAgICAgMSAgICAgMSAgICAgMSAgICAgMSAgICAgMSAgICAgMSAgICAgMQouLi4KCk5vdyBpdCBp cyBub3QgcG9zc2libGUgdG8gY2hhbmdlIG1hcHBpbmcgYmFjayB0byBlcXVhbCAoZGVmYXVsdCkg c3RhdGU6Cgpbcm9vdEBzbS0wMyB+XSMgZXRodG9vbCAtWCBlbnA0czBmMCBlcXVhbCA2CkNhbm5v dCBzZXQgUlggZmxvdyBoYXNoIGNvbmZpZ3VyYXRpb246IEludmFsaWQgYXJndW1lbnQKCkZpeGVz OiA1OTRhZDU0YTJjM2IgKCJiZTJuZXQ6IEFkZCBzdXBwb3J0IGZvciBzZXR0aW5nIGFuZCBnZXR0 aW5nIHJ4IGZsb3cgaGFzaCBvcHRpb25zIikKUmVwb3J0ZWQtYnk6IFRpYW5oYW8gPHRpemhhb0By ZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBJdmFuIFZlY2VyYSA8aXZlY2VyYUByZWRoYXQuY29t PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogZHJpdmVycy9uZXQvZXRoZXJuZXQvZW11bGV4L2JlbmV0L2JlX2V0aHRvb2wuYyB8IDIgKy0K IDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2VtdWxleC9iZW5ldC9iZV9ldGh0b29sLmMgYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9lbXVsZXgvYmVuZXQvYmVfZXRodG9vbC5jCmluZGV4IDRjMjE4MzQx YzUxYi4uNmU2MzVkZWJjN2ZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9lbXVs ZXgvYmVuZXQvYmVfZXRodG9vbC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2VtdWxleC9i ZW5ldC9iZV9ldGh0b29sLmMKQEAgLTExMDUsNyArMTEwNSw3IEBAIHN0YXRpYyBpbnQgYmVfZ2V0 X3J4bmZjKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsIHN0cnVjdCBldGh0b29sX3J4bmZjICpj bWQsCiAJCWNtZC0+ZGF0YSA9IGJlX2dldF9yc3NfaGFzaF9vcHRzKGFkYXB0ZXIsIGNtZC0+Zmxv d190eXBlKTsKIAkJYnJlYWs7CiAJY2FzZSBFVEhUT09MX0dSWFJJTkdTOgotCQljbWQtPmRhdGEg PSBhZGFwdGVyLT5udW1fcnhfcXMgLSAxOworCQljbWQtPmRhdGEgPSBhZGFwdGVyLT5udW1fcnhf cXM7CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCXJldHVybiAtRUlOVkFMOwotLSAKMi4yMC4xCgoK RnJvbSA4MzU2NTI5ZTQxODRhODlhZWU2NzBlOTQ0ODI5NWRmYzgxMWMxNGEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBIYWl5YW5nIFpoYW5nIDxoYWl5YW5nekBtaWNyb3NvZnQuY29t PgpEYXRlOiBUaHUsIDEzIEp1biAyMDE5IDIxOjA2OjUzICswMDAwClN1YmplY3Q6IFtQQVRDSCAw My8zMV0gaHZfbmV0dnNjOiBTZXQgcHJvYmUgbW9kZSB0byBzeW5jCgpbIFVwc3RyZWFtIGNvbW1p dCA5YTMzNjI5YmE2YjI2Y2FlYmQ3M2UzYzU4MWJhMWU2MDY4YzY5NmE3IF0KCkZvciBiZXR0ZXIg Y29uc2lzdGVuY3kgb2Ygc3ludGhldGljIE5JQyBuYW1lcywgd2Ugc2V0IHRoZSBwcm9iZSBtb2Rl IHRvClBST0JFX0ZPUkNFX1NZTkNIUk9OT1VTLiBTbyB0aGUgbmFtZXMgY2FuIGJlIGFsaWduZWQg d2l0aCB0aGUgdm1idXMKY2hhbm5lbCBvZmZlciBzZXF1ZW5jZS4KCkZpeGVzOiBhZjBhNTY0NmNi OGQgKCJ1c2UgdGhlIG5ldyBhc3luYyBwcm9iaW5nIGZlYXR1cmUgZm9yIHRoZSBoeXBlcnYgZHJp dmVycyIpClNpZ25lZC1vZmYtYnk6IEhhaXlhbmcgWmhhbmcgPGhhaXlhbmd6QG1pY3Jvc29mdC5j b20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4K LS0tCiBkcml2ZXJzL25ldC9oeXBlcnYvbmV0dnNjX2Rydi5jIHwgMiArLQogMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvaHlwZXJ2L25ldHZzY19kcnYuYyBiL2RyaXZlcnMvbmV0L2h5cGVydi9uZXR2c2NfZHJ2LmMK aW5kZXggYjIwZmIwZmI1OTViLi5lN2Q4ODg0YjFhMTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0 L2h5cGVydi9uZXR2c2NfZHJ2LmMKKysrIGIvZHJpdmVycy9uZXQvaHlwZXJ2L25ldHZzY19kcnYu YwpAQCAtMjQxNCw3ICsyNDE0LDcgQEAgc3RhdGljIHN0cnVjdCAgaHZfZHJpdmVyIG5ldHZzY19k cnYgPSB7CiAJLnByb2JlID0gbmV0dnNjX3Byb2JlLAogCS5yZW1vdmUgPSBuZXR2c2NfcmVtb3Zl LAogCS5kcml2ZXIgPSB7Ci0JCS5wcm9iZV90eXBlID0gUFJPQkVfUFJFRkVSX0FTWU5DSFJPTk9V UywKKwkJLnByb2JlX3R5cGUgPSBQUk9CRV9GT1JDRV9TWU5DSFJPTk9VUywKIAl9LAogfTsKIAot LSAKMi4yMC4xCgoKRnJvbSA4MWQ1MTU3YmFhMjYwMzE2Zjg3NzI1MTJiODQ5ZTZlNDI1NmRmZjY2 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdv b2dsZS5jb20+CkRhdGU6IFRodSwgNiBKdW4gMjAxOSAxNDozMjozNCAtMDcwMApTdWJqZWN0OiBb UEFUQ0ggMDQvMzFdIGlwdjY6IGZsb3dsYWJlbDogZmw2X3NvY2tfbG9va3VwKCkgbXVzdCB1c2UK IGF0b21pY19pbmNfbm90X3plcm8KClsgVXBzdHJlYW0gY29tbWl0IDY1YTNjNDk3YzBlOTY1YTU1 MjAwOGRiOGJjMjY1M2Y2MmJjOTI1YTEgXQoKQmVmb3JlIHRha2luZyBhIHJlZmNvdW50LCBtYWtl IHN1cmUgdGhlIG9iamVjdCBpcyBub3QgYWxyZWFkeQpzY2hlZHVsZWQgZm9yIGRlbGV0aW9uLgoK U2FtZSBmaXggaXMgbmVlZGVkIGluIGlwdjZfZmxvd2xhYmVsX29wdCgpCgpGaXhlczogMTgzNjc2 ODFhMTBiICgiaXB2NiBmbG93bGFiZWw6IENvbnZlcnQgbnAtPmlwdjZfZmxfbGlzdCB0byBSQ1Uu IikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpDYzog V2lsbGVtIGRlIEJydWlqbiA8d2lsbGVtYkBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjYvaXA2X2Zsb3ds YWJlbC5jIHwgNyArKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAzIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY2L2lwNl9mbG93bGFiZWwuYyBiL25ldC9p cHY2L2lwNl9mbG93bGFiZWwuYwppbmRleCBiZTVmM2Q3Y2ViOTYuLmY5OTRmNTBlMTUxNiAxMDA2 NDQKLS0tIGEvbmV0L2lwdjYvaXA2X2Zsb3dsYWJlbC5jCisrKyBiL25ldC9pcHY2L2lwNl9mbG93 bGFiZWwuYwpAQCAtMjU0LDkgKzI1NCw5IEBAIHN0cnVjdCBpcDZfZmxvd2xhYmVsICpmbDZfc29j a19sb29rdXAoc3RydWN0IHNvY2sgKnNrLCBfX2JlMzIgbGFiZWwpCiAJcmN1X3JlYWRfbG9ja19i aCgpOwogCWZvcl9lYWNoX3NrX2ZsX3JjdShucCwgc2ZsKSB7CiAJCXN0cnVjdCBpcDZfZmxvd2xh YmVsICpmbCA9IHNmbC0+Zmw7Ci0JCWlmIChmbC0+bGFiZWwgPT0gbGFiZWwpIHsKKworCQlpZiAo ZmwtPmxhYmVsID09IGxhYmVsICYmIGF0b21pY19pbmNfbm90X3plcm8oJmZsLT51c2VycykpIHsK IAkJCWZsLT5sYXN0dXNlID0gamlmZmllczsKLQkJCWF0b21pY19pbmMoJmZsLT51c2Vycyk7CiAJ CQlyY3VfcmVhZF91bmxvY2tfYmgoKTsKIAkJCXJldHVybiBmbDsKIAkJfQpAQCAtNjIyLDcgKzYy Miw4IEBAIGludCBpcHY2X2Zsb3dsYWJlbF9vcHQoc3RydWN0IHNvY2sgKnNrLCBjaGFyIF9fdXNl ciAqb3B0dmFsLCBpbnQgb3B0bGVuKQogCQkJCQkJZ290byBkb25lOwogCQkJCQl9CiAJCQkJCWZs MSA9IHNmbC0+Zmw7Ci0JCQkJCWF0b21pY19pbmMoJmZsMS0+dXNlcnMpOworCQkJCQlpZiAoIWF0 b21pY19pbmNfbm90X3plcm8oJmZsMS0+dXNlcnMpKQorCQkJCQkJZmwxID0gTlVMTDsKIAkJCQkJ YnJlYWs7CiAJCQkJfQogCQkJfQotLSAKMi4yMC4xCgoKRnJvbSAyNTEwNDQ4YmFiMDAyY2ViOWZh NTU3NGUxNjcyMDQxMzBmOTJjYmNiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKZXJl bXkgU293ZGVuIDxqZXJlbXlAYXphemVsLm5ldD4KRGF0ZTogU3VuLCAxNiBKdW4gMjAxOSAxNjo1 NDozNyArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMDUvMzFdIGxhcGI6IGZpeGVkIGxlYWsgb2YgY29u dHJvbC1ibG9ja3MuCgpbIFVwc3RyZWFtIGNvbW1pdCA2YmU4ZTI5N2Y5YmNlYTY2NmVhODVhYzdh NmNkOWQ1MmQ2ZGVhZjkyIF0KCmxhcGJfcmVnaXN0ZXIgY2FsbHMgbGFwYl9jcmVhdGVfY2IsIHdo aWNoIGluaXRpYWxpemVzIHRoZSBjb250cm9sLQpibG9jaydzIHJlZi1jb3VudCB0byBvbmUsIGFu ZCBfX2xhcGJfaW5zZXJ0X2NiLCB3aGljaCBpbmNyZW1lbnRzIGl0IHdoZW4KYWRkaW5nIHRoZSBu ZXcgYmxvY2sgdG8gdGhlIGxpc3Qgb2YgYmxvY2tzLgoKbGFwYl91bnJlZ2lzdGVyIGNhbGxzIF9f bGFwYl9yZW1vdmVfY2IsIHdoaWNoIGRlY3JlbWVudHMgdGhlIHJlZi1jb3VudAp3aGVuIHJlbW92 aW5nIGNvbnRyb2wtYmxvY2sgZnJvbSB0aGUgbGlzdCBvZiBibG9ja3MsIGFuZCBjYWxscyBsYXBi X3B1dAppdHNlbGYgdG8gZGVjcmVtZW50IHRoZSByZWYtY291bnQgYmVmb3JlIHJldHVybmluZy4K Ckhvd2V2ZXIsIGxhcGJfdW5yZWdpc3RlciBhbHNvIGNhbGxzIF9fbGFwYl9kZXZ0b3N0cnVjdCB0 byBsb29rIHVwIHRoZQpyaWdodCBjb250cm9sLWJsb2NrIGZvciB0aGUgZ2l2ZW4gbmV0X2Rldmlj ZSwgYW5kIF9fbGFwYl9kZXZ0b3N0cnVjdAphbHNvIGJ1bXBzIHRoZSByZWYtY291bnQsIHdoaWNo IG1lYW5zIHRoYXQgd2hlbiBsYXBiX3VucmVnaXN0ZXIgcmV0dXJucwp0aGUgcmVmLWNvdW50IGlz IHN0aWxsIDEgYW5kIHRoZSBjb250cm9sLWJsb2NrIGlzIGxlYWtlZC4KCkNhbGwgbGFwYl9wdXQg YWZ0ZXIgX19sYXBiX2RldnRvc3RydWN0IHRvIGZpeCBsZWFrLgoKUmVwb3J0ZWQtYnk6IHN5emJv dCthZmI5ODA2NzZjODM2YjRhMGFmYUBzeXprYWxsZXIuYXBwc3BvdG1haWwuY29tClNpZ25lZC1v ZmYtYnk6IEplcmVteSBTb3dkZW4gPGplcmVteUBhemF6ZWwubmV0PgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2xhcGIvbGFwYl9p ZmFjZS5jIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQg YS9uZXQvbGFwYi9sYXBiX2lmYWNlLmMgYi9uZXQvbGFwYi9sYXBiX2lmYWNlLmMKaW5kZXggZGI2 ZTBhZmUzYTIwLi4xNzQwZjg1MjAwMmUgMTAwNjQ0Ci0tLSBhL25ldC9sYXBiL2xhcGJfaWZhY2Uu YworKysgYi9uZXQvbGFwYi9sYXBiX2lmYWNlLmMKQEAgLTE4Miw2ICsxODIsNyBAQCBpbnQgbGFw Yl91bnJlZ2lzdGVyKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCiAJbGFwYiA9IF9fbGFwYl9kZXZ0 b3N0cnVjdChkZXYpOwogCWlmICghbGFwYikKIAkJZ290byBvdXQ7CisJbGFwYl9wdXQobGFwYik7 CiAKIAlsYXBiX3N0b3BfdDF0aW1lcihsYXBiKTsKIAlsYXBiX3N0b3BfdDJ0aW1lcihsYXBiKTsK LS0gCjIuMjAuMQoKCkZyb20gNDcyNzk1NDJkNDUwOTBlM2I3NTc2MTQ4ODU0MzYzYzU4ZWViOTgx MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBn b29nbGUuY29tPgpEYXRlOiBTYXQsIDE1IEp1biAyMDE5IDE2OjI4OjQ4IC0wNzAwClN1YmplY3Q6 IFtQQVRDSCAwNi8zMV0gbmVpZ2g6IGZpeCB1c2UtYWZ0ZXItZnJlZSByZWFkIGluIHBuZWlnaF9n ZXRfbmV4dAoKWyBVcHN0cmVhbSBjb21taXQgZjNlOTJjYjhlMmViOGMyN2QxMDllNmZkNzNkM2E2 OWE4YzA5ZTI4OCBdCgpOaW5lIHllYXJzIGFnbywgSSBhZGRlZCBSQ1UgaGFuZGxpbmcgdG8gbmVp Z2hib3Vycywgbm90IHBuZWlnaGJvdXJzLgoocG5laWdoIGFyZSBub3QgY29tbW9ubHkgdXNlZCkK ClVuZm9ydHVuYXRlbHkgSSBtaXNzZWQgdGhhdCAvcHJvYyBkdW1wIG9wZXJhdGlvbnMgd291bGQg dXNlIGEKY29tbW9uIGVudHJ5IGFuZCBleGl0IHBvaW50IDogbmVpZ2hfc2VxX3N0YXJ0KCkgYW5k IG5laWdoX3NlcV9zdG9wKCkKCldlIG5lZWQgdG8gcmVhZF9sb2NrKHRibC0+bG9jaykgb3Igcmlz ayB1c2UtYWZ0ZXItZnJlZSB3aGlsZQppdGVyYXRpbmcgdGhlIHBuZWlnaCBzdHJ1Y3R1cmVzLgoK V2UgbWlnaHQgbGF0ZXIgY29udmVydCBwbmVpZ2ggdG8gUkNVIGFuZCByZXZlcnQgdGhpcyBwYXRj aC4KCnN5c2JvdCByZXBvcnRlZCA6CgpCVUc6IEtBU0FOOiB1c2UtYWZ0ZXItZnJlZSBpbiBwbmVp Z2hfZ2V0X25leHQuaXNyYS4wKzB4MjRiLzB4MjgwIG5ldC9jb3JlL25laWdoYm91ci5jOjMxNTgK UmVhZCBvZiBzaXplIDggYXQgYWRkciBmZmZmODg4MDk3ZjJhNzAwIGJ5IHRhc2sgc3l6LWV4ZWN1 dG9yLjAvOTgyNQoKQ1BVOiAxIFBJRDogOTgyNSBDb21tOiBzeXotZXhlY3V0b3IuMCBOb3QgdGFp bnRlZCA1LjIuMC1yYzQrICMzMgpIYXJkd2FyZSBuYW1lOiBHb29nbGUgR29vZ2xlIENvbXB1dGUg RW5naW5lL0dvb2dsZSBDb21wdXRlIEVuZ2luZSwgQklPUyBHb29nbGUgMDEvMDEvMjAxMQpDYWxs IFRyYWNlOgogX19kdW1wX3N0YWNrIGxpYi9kdW1wX3N0YWNrLmM6NzcgW2lubGluZV0KIGR1bXBf c3RhY2srMHgxNzIvMHgxZjAgbGliL2R1bXBfc3RhY2suYzoxMTMKIHByaW50X2FkZHJlc3NfZGVz Y3JpcHRpb24uY29sZCsweDdjLzB4MjBkIG1tL2thc2FuL3JlcG9ydC5jOjE4OAogX19rYXNhbl9y ZXBvcnQuY29sZCsweDFiLzB4NDAgbW0va2FzYW4vcmVwb3J0LmM6MzE3CiBrYXNhbl9yZXBvcnQr MHgxMi8weDIwIG1tL2thc2FuL2NvbW1vbi5jOjYxNAogX19hc2FuX3JlcG9ydF9sb2FkOF9ub2Fi b3J0KzB4MTQvMHgyMCBtbS9rYXNhbi9nZW5lcmljX3JlcG9ydC5jOjEzMgogcG5laWdoX2dldF9u ZXh0LmlzcmEuMCsweDI0Yi8weDI4MCBuZXQvY29yZS9uZWlnaGJvdXIuYzozMTU4CiBuZWlnaF9z ZXFfbmV4dCsweGRiLzB4MjEwIG5ldC9jb3JlL25laWdoYm91ci5jOjMyNDAKIHNlcV9yZWFkKzB4 OWNmLzB4MTExMCBmcy9zZXFfZmlsZS5jOjI1OAogcHJvY19yZWdfcmVhZCsweDFmYy8weDJjMCBm cy9wcm9jL2lub2RlLmM6MjIxCiBkb19sb29wX3JlYWR2X3dyaXRldiBmcy9yZWFkX3dyaXRlLmM6 NzE0IFtpbmxpbmVdCiBkb19sb29wX3JlYWR2X3dyaXRldiBmcy9yZWFkX3dyaXRlLmM6NzAxIFtp bmxpbmVdCiBkb19pdGVyX3JlYWQrMHg0YTQvMHg2NjAgZnMvcmVhZF93cml0ZS5jOjkzNQogdmZz X3JlYWR2KzB4ZjAvMHgxNjAgZnMvcmVhZF93cml0ZS5jOjk5Nwoga2VybmVsX3JlYWR2IGZzL3Nw bGljZS5jOjM1OSBbaW5saW5lXQogZGVmYXVsdF9maWxlX3NwbGljZV9yZWFkKzB4NDc1LzB4ODkw IGZzL3NwbGljZS5jOjQxNAogZG9fc3BsaWNlX3RvKzB4MTI3LzB4MTgwIGZzL3NwbGljZS5jOjg3 Nwogc3BsaWNlX2RpcmVjdF90b19hY3RvcisweDJkMi8weDk3MCBmcy9zcGxpY2UuYzo5NTQKIGRv X3NwbGljZV9kaXJlY3QrMHgxZGEvMHgyYTAgZnMvc3BsaWNlLmM6MTA2MwogZG9fc2VuZGZpbGUr MHg1OTcvMHhkMDAgZnMvcmVhZF93cml0ZS5jOjE0NjQKIF9fZG9fc3lzX3NlbmRmaWxlNjQgZnMv cmVhZF93cml0ZS5jOjE1MjUgW2lubGluZV0KIF9fc2Vfc3lzX3NlbmRmaWxlNjQgZnMvcmVhZF93 cml0ZS5jOjE1MTEgW2lubGluZV0KIF9feDY0X3N5c19zZW5kZmlsZTY0KzB4MWRkLzB4MjIwIGZz L3JlYWRfd3JpdGUuYzoxNTExCiBkb19zeXNjYWxsXzY0KzB4ZmQvMHg2ODAgYXJjaC94ODYvZW50 cnkvY29tbW9uLmM6MzAxCiBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJl ClJJUDogMDAzMzoweDQ1OTJjOQpDb2RlOiBmZCBiNyBmYiBmZiBjMyA2NiAyZSAwZiAxZiA4NCAw MCAwMCAwMCAwMCAwMCA2NiA5MCA0OCA4OSBmOCA0OCA4OSBmNyA0OCA4OSBkNiA0OCA4OSBjYSA0 ZCA4OSBjMiA0ZCA4OSBjOCA0YyA4YiA0YyAyNCAwOCAwZiAwNSA8NDg+IDNkIDAxIGYwIGZmIGZm IDBmIDgzIGNiIGI3IGZiIGZmIGMzIDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwClJTUDogMDAy YjowMDAwN2Y0YWFiNTFkYzc4IEVGTEFHUzogMDAwMDAyNDYgT1JJR19SQVg6IDAwMDAwMDAwMDAw MDAwMjgKUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDAwMDAwMDAwMDAwNCBSQ1g6IDAw MDAwMDAwMDA0NTkyYzkKUkRYOiAwMDAwMDAwMDAwMDAwMDAwIFJTSTogMDAwMDAwMDAwMDAwMDAw NCBSREk6IDAwMDAwMDAwMDAwMDAwMDUKUkJQOiAwMDAwMDAwMDAwNzViZjIwIFIwODogMDAwMDAw MDAwMDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKUjEwOiAwMDAwMDAwMDgwMDAwMDAwIFIx MTogMDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAwMDA3ZjRhYWI1MWU2ZDQKUjEzOiAwMDAwMDAwMDAw NGM2ODlkIFIxNDogMDAwMDAwMDAwMDRkYjgyOCBSMTU6IDAwMDAwMDAwZmZmZmZmZmYKCkFsbG9j YXRlZCBieSB0YXNrIDk4Mjc6CiBzYXZlX3N0YWNrKzB4MjMvMHg5MCBtbS9rYXNhbi9jb21tb24u Yzo3MQogc2V0X3RyYWNrIG1tL2thc2FuL2NvbW1vbi5jOjc5IFtpbmxpbmVdCiBfX2thc2FuX2tt YWxsb2MgbW0va2FzYW4vY29tbW9uLmM6NDg5IFtpbmxpbmVdCiBfX2thc2FuX2ttYWxsb2MuY29u c3Rwcm9wLjArMHhjZi8weGUwIG1tL2thc2FuL2NvbW1vbi5jOjQ2Mgoga2FzYW5fa21hbGxvYysw eDkvMHgxMCBtbS9rYXNhbi9jb21tb24uYzo1MDMKIF9fZG9fa21hbGxvYyBtbS9zbGFiLmM6MzY2 MCBbaW5saW5lXQogX19rbWFsbG9jKzB4MTVjLzB4NzQwIG1tL3NsYWIuYzozNjY5CiBrbWFsbG9j IGluY2x1ZGUvbGludXgvc2xhYi5oOjU1MiBbaW5saW5lXQogcG5laWdoX2xvb2t1cCsweDE5Yy8w eDRhMCBuZXQvY29yZS9uZWlnaGJvdXIuYzo3MzEKIGFycF9yZXFfc2V0X3B1YmxpYyBuZXQvaXB2 NC9hcnAuYzoxMDEwIFtpbmxpbmVdCiBhcnBfcmVxX3NldCsweDYxMy8weDcyMCBuZXQvaXB2NC9h cnAuYzoxMDI2CiBhcnBfaW9jdGwrMHg2NTIvMHg3ZjAgbmV0L2lwdjQvYXJwLmM6MTIyNgogaW5l dF9pb2N0bCsweDJhMC8weDM0MCBuZXQvaXB2NC9hZl9pbmV0LmM6OTI2CiBzb2NrX2RvX2lvY3Rs KzB4ZDgvMHgyZjAgbmV0L3NvY2tldC5jOjEwNDMKIHNvY2tfaW9jdGwrMHgzZWQvMHg3ODAgbmV0 L3NvY2tldC5jOjExOTQKIHZmc19pb2N0bCBmcy9pb2N0bC5jOjQ2IFtpbmxpbmVdCiBmaWxlX2lv Y3RsIGZzL2lvY3RsLmM6NTA5IFtpbmxpbmVdCiBkb192ZnNfaW9jdGwrMHhkNWYvMHgxMzgwIGZz L2lvY3RsLmM6Njk2CiBrc3lzX2lvY3RsKzB4YWIvMHhkMCBmcy9pb2N0bC5jOjcxMwogX19kb19z eXNfaW9jdGwgZnMvaW9jdGwuYzo3MjAgW2lubGluZV0KIF9fc2Vfc3lzX2lvY3RsIGZzL2lvY3Rs LmM6NzE4IFtpbmxpbmVdCiBfX3g2NF9zeXNfaW9jdGwrMHg3My8weGIwIGZzL2lvY3RsLmM6NzE4 CiBkb19zeXNjYWxsXzY0KzB4ZmQvMHg2ODAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6MzAxCiBl bnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlCgpGcmVlZCBieSB0YXNrIDk4 MjQ6CiBzYXZlX3N0YWNrKzB4MjMvMHg5MCBtbS9rYXNhbi9jb21tb24uYzo3MQogc2V0X3RyYWNr IG1tL2thc2FuL2NvbW1vbi5jOjc5IFtpbmxpbmVdCiBfX2thc2FuX3NsYWJfZnJlZSsweDEwMi8w eDE1MCBtbS9rYXNhbi9jb21tb24uYzo0NTEKIGthc2FuX3NsYWJfZnJlZSsweGUvMHgxMCBtbS9r YXNhbi9jb21tb24uYzo0NTkKIF9fY2FjaGVfZnJlZSBtbS9zbGFiLmM6MzQzMiBbaW5saW5lXQog a2ZyZWUrMHhjZi8weDIyMCBtbS9zbGFiLmM6Mzc1NQogcG5laWdoX2lmZG93bl9hbmRfdW5sb2Nr IG5ldC9jb3JlL25laWdoYm91ci5jOjgxMiBbaW5saW5lXQogX19uZWlnaF9pZmRvd24rMHgyMzYv MHgyZjAgbmV0L2NvcmUvbmVpZ2hib3VyLmM6MzU2CiBuZWlnaF9pZmRvd24rMHgyMC8weDMwIG5l dC9jb3JlL25laWdoYm91ci5jOjM3MgogYXJwX2lmZG93bisweDFkLzB4MjEgbmV0L2lwdjQvYXJw LmM6MTI3NAogaW5ldGRldl9kZXN0cm95IG5ldC9pcHY0L2RldmluZXQuYzozMTkgW2lubGluZV0K IGluZXRkZXZfZXZlbnQrMHhhMTQvMHgxMWYwIG5ldC9pcHY0L2RldmluZXQuYzoxNTQ0CiBub3Rp Zmllcl9jYWxsX2NoYWluKzB4YzIvMHgyMzAga2VybmVsL25vdGlmaWVyLmM6OTUKIF9fcmF3X25v dGlmaWVyX2NhbGxfY2hhaW4ga2VybmVsL25vdGlmaWVyLmM6Mzk2IFtpbmxpbmVdCiByYXdfbm90 aWZpZXJfY2FsbF9jaGFpbisweDJlLzB4NDAga2VybmVsL25vdGlmaWVyLmM6NDAzCiBjYWxsX25l dGRldmljZV9ub3RpZmllcnNfaW5mbysweDNmLzB4OTAgbmV0L2NvcmUvZGV2LmM6MTc0OQogY2Fs bF9uZXRkZXZpY2Vfbm90aWZpZXJzX2V4dGFjayBuZXQvY29yZS9kZXYuYzoxNzYxIFtpbmxpbmVd CiBjYWxsX25ldGRldmljZV9ub3RpZmllcnMgbmV0L2NvcmUvZGV2LmM6MTc3NSBbaW5saW5lXQog cm9sbGJhY2tfcmVnaXN0ZXJlZF9tYW55KzB4OWI5LzB4ZmMwIG5ldC9jb3JlL2Rldi5jOjgxNzgK IHJvbGxiYWNrX3JlZ2lzdGVyZWQrMHgxMDkvMHgxZDAgbmV0L2NvcmUvZGV2LmM6ODIyMAogdW5y ZWdpc3Rlcl9uZXRkZXZpY2VfcXVldWUgbmV0L2NvcmUvZGV2LmM6OTI2NyBbaW5saW5lXQogdW5y ZWdpc3Rlcl9uZXRkZXZpY2VfcXVldWUrMHgxZWUvMHgyYzAgbmV0L2NvcmUvZGV2LmM6OTI2MAog dW5yZWdpc3Rlcl9uZXRkZXZpY2UgaW5jbHVkZS9saW51eC9uZXRkZXZpY2UuaDoyNjMxIFtpbmxp bmVdCiBfX3R1bl9kZXRhY2grMHhkOGEvMHgxMDQwIGRyaXZlcnMvbmV0L3R1bi5jOjcyNAogdHVu X2RldGFjaCBkcml2ZXJzL25ldC90dW4uYzo3NDEgW2lubGluZV0KIHR1bl9jaHJfY2xvc2UrMHhl MC8weDE4MCBkcml2ZXJzL25ldC90dW4uYzozNDUxCiBfX2ZwdXQrMHgyZmYvMHg4OTAgZnMvZmls ZV90YWJsZS5jOjI4MAogX19fX2ZwdXQrMHgxNi8weDIwIGZzL2ZpbGVfdGFibGUuYzozMTMKIHRh c2tfd29ya19ydW4rMHgxNDUvMHgxYzAga2VybmVsL3Rhc2tfd29yay5jOjExMwogdHJhY2Vob29r X25vdGlmeV9yZXN1bWUgaW5jbHVkZS9saW51eC90cmFjZWhvb2suaDoxODUgW2lubGluZV0KIGV4 aXRfdG9fdXNlcm1vZGVfbG9vcCsweDI3My8weDJjMCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzox NjgKIHByZXBhcmVfZXhpdF90b191c2VybW9kZSBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzoxOTkg W2lubGluZV0KIHN5c2NhbGxfcmV0dXJuX3Nsb3dwYXRoIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5j OjI3OSBbaW5saW5lXQogZG9fc3lzY2FsbF82NCsweDU4ZS8weDY4MCBhcmNoL3g4Ni9lbnRyeS9j b21tb24uYzozMDQKIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKClRo ZSBidWdneSBhZGRyZXNzIGJlbG9uZ3MgdG8gdGhlIG9iamVjdCBhdCBmZmZmODg4MDk3ZjJhNzAw CiB3aGljaCBiZWxvbmdzIHRvIHRoZSBjYWNoZSBrbWFsbG9jLTY0IG9mIHNpemUgNjQKVGhlIGJ1 Z2d5IGFkZHJlc3MgaXMgbG9jYXRlZCAwIGJ5dGVzIGluc2lkZSBvZgogNjQtYnl0ZSByZWdpb24g W2ZmZmY4ODgwOTdmMmE3MDAsIGZmZmY4ODgwOTdmMmE3NDApClRoZSBidWdneSBhZGRyZXNzIGJl bG9uZ3MgdG8gdGhlIHBhZ2U6CnBhZ2U6ZmZmZmVhMDAwMjVmY2E4MCByZWZjb3VudDoxIG1hcGNv dW50OjAgbWFwcGluZzpmZmZmODg4MGFhNDAwMzQwIGluZGV4OjB4MApmbGFnczogMHgxZmZmYzAw MDAwMDAyMDAoc2xhYikKcmF3OiAwMWZmZmMwMDAwMDAwMjAwIGZmZmZlYTAwMDI1MGQ1NDggZmZm ZmVhMDAwMjU3MjZjOCBmZmZmODg4MGFhNDAwMzQwCnJhdzogMDAwMDAwMDAwMDAwMDAwMCBmZmZm ODg4MDk3ZjJhMDAwIDAwMDAwMDAxMDAwMDAwMjAgMDAwMDAwMDAwMDAwMDAwMApwYWdlIGR1bXBl ZCBiZWNhdXNlOiBrYXNhbjogYmFkIGFjY2VzcyBkZXRlY3RlZAoKTWVtb3J5IHN0YXRlIGFyb3Vu ZCB0aGUgYnVnZ3kgYWRkcmVzczoKIGZmZmY4ODgwOTdmMmE2MDA6IDAwIDAwIDAwIDAwIDAwIDAw IDAwIDAwIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjCiBmZmZmODg4MDk3ZjJhNjgwOiBmYiBmYiBm YiBmYiBmYiBmYiBmYiBmYiBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYwo+ZmZmZjg4ODA5N2YyYTcw MDogZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMKICAgICAg ICAgICAgICAgICAgIF4KIGZmZmY4ODgwOTdmMmE3ODA6IGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZi IGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjCiBmZmZmODg4MDk3ZjJhODAwOiBmYiBmYiBmYiBmYiBm YiBmYiBmYiBmYiBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYwoKRml4ZXM6IDc2N2U5N2UxZTBkYiAo Im5laWdoOiBSQ1UgY29udmVyc2lvbiBvZiBzdHJ1Y3QgbmVpZ2hib3VyIikKU2lnbmVkLW9mZi1i eTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6Ym90 IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWls bGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9jb3JlL25laWdoYm91ci5jIHwgNyAr KysrKysrCiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbmV0 L2NvcmUvbmVpZ2hib3VyLmMgYi9uZXQvY29yZS9uZWlnaGJvdXIuYwppbmRleCA5YjlkYTUxNDI2 MTMuLmNjZTRmYmNkN2RjYiAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvbmVpZ2hib3VyLmMKKysrIGIv bmV0L2NvcmUvbmVpZ2hib3VyLmMKQEAgLTMxOTksNiArMzE5OSw3IEBAIHN0YXRpYyB2b2lkICpu ZWlnaF9nZXRfaWR4X2FueShzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgbG9mZl90ICpwb3MpCiB9CiAK IHZvaWQgKm5laWdoX3NlcV9zdGFydChzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgbG9mZl90ICpwb3Ms IHN0cnVjdCBuZWlnaF90YWJsZSAqdGJsLCB1bnNpZ25lZCBpbnQgbmVpZ2hfc2VxX2ZsYWdzKQor CV9fYWNxdWlyZXModGJsLT5sb2NrKQogCV9fYWNxdWlyZXMocmN1X2JoKQogewogCXN0cnVjdCBu ZWlnaF9zZXFfc3RhdGUgKnN0YXRlID0gc2VxLT5wcml2YXRlOwpAQCAtMzIwOSw2ICszMjEwLDcg QEAgdm9pZCAqbmVpZ2hfc2VxX3N0YXJ0KHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBsb2ZmX3QgKnBv cywgc3RydWN0IG5laWdoX3RhYmxlICp0YmwKIAogCXJjdV9yZWFkX2xvY2tfYmgoKTsKIAlzdGF0 ZS0+bmh0ID0gcmN1X2RlcmVmZXJlbmNlX2JoKHRibC0+bmh0KTsKKwlyZWFkX2xvY2soJnRibC0+ bG9jayk7CiAKIAlyZXR1cm4gKnBvcyA/IG5laWdoX2dldF9pZHhfYW55KHNlcSwgcG9zKSA6IFNF UV9TVEFSVF9UT0tFTjsKIH0KQEAgLTMyNDIsOCArMzI0NCwxMyBAQCB2b2lkICpuZWlnaF9zZXFf bmV4dChzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgdm9pZCAqdiwgbG9mZl90ICpwb3MpCiBFWFBPUlRf U1lNQk9MKG5laWdoX3NlcV9uZXh0KTsKIAogdm9pZCBuZWlnaF9zZXFfc3RvcChzdHJ1Y3Qgc2Vx X2ZpbGUgKnNlcSwgdm9pZCAqdikKKwlfX3JlbGVhc2VzKHRibC0+bG9jaykKIAlfX3JlbGVhc2Vz KHJjdV9iaCkKIHsKKwlzdHJ1Y3QgbmVpZ2hfc2VxX3N0YXRlICpzdGF0ZSA9IHNlcS0+cHJpdmF0 ZTsKKwlzdHJ1Y3QgbmVpZ2hfdGFibGUgKnRibCA9IHN0YXRlLT50Ymw7CisKKwlyZWFkX3VubG9j aygmdGJsLT5sb2NrKTsKIAlyY3VfcmVhZF91bmxvY2tfYmgoKTsKIH0KIEVYUE9SVF9TWU1CT0wo bmVpZ2hfc2VxX3N0b3ApOwotLSAKMi4yMC4xCgoKRnJvbSBkOTRmY2VmOWFiODBmZjA1MGQwNWVm YWQ5MTYwOGFhZTI0NDJlYWEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBMaW51cyBX YWxsZWlqIDxsaW51cy53YWxsZWlqQGxpbmFyby5vcmc+CkRhdGU6IEZyaSwgMTQgSnVuIDIwMTkg MDA6MjU6MjAgKzAyMDAKU3ViamVjdDogW1BBVENIIDA3LzMxXSBuZXQ6IGRzYTogcnRsODM2Njog Rml4IHVwIFZMQU4gZmlsdGVyaW5nCgpbIFVwc3RyZWFtIGNvbW1pdCA3NjBjODBiNzBiZWQyY2Qw MTYzMGU4NTk1ZDFiYmRlOTEwMzM5ZjMxIF0KCldlIGdldCB0aGlzIHJlZ3Jlc3Npb24gd2hlbiB1 c2luZyBSVEw4MzY2UkIgYXMgcGFydCBvZiBhIGJyaWRnZQp3aXRoIE9wZW5XcnQ6CgpXQVJOSU5H OiBDUFU6IDAgUElEOiAxMzQ3IGF0IG5ldC9zd2l0Y2hkZXYvc3dpdGNoZGV2LmM6MjkxCgkgc3dp dGNoZGV2X3BvcnRfYXR0cl9zZXRfbm93KzB4ODAvMHhhNApsYW4wOiBDb21taXQgb2YgYXR0cmli dXRlIChpZD03KSBmYWlsZWQuCiguLi4pCnJlYWx0ZWstc21pIHN3aXRjaCBsYW4wOiBmYWlsZWQg dG8gaW5pdGlhbGl6ZSB2bGFuIGZpbHRlcmluZyBvbiB0aGlzIHBvcnQKClRoaXMgaXMgYmVjYXVz ZSBpdCBpcyB0cnlpbmcgdG8gZGlzYWJsZSBWTEFOIGZpbHRlcmluZwpvbiBWTEFOMCwgYXMgd2Ug aGF2ZSBmb3Jnb3QgdG8gYWRkIDEgdG8gdGhlIHBvcnQgbnVtYmVyCnRvIGdldCB0aGUgcmlnaHQg VkxBTiBpbiBydGw4MzY2X3ZsYW5fZmlsdGVyaW5nKCk6IHdoZW4Kd2UgaW5pdGlhbGl6ZSB0aGUg VkxBTiB3ZSBhc3NvY2lhdGUgVkxBTjEgd2l0aCBwb3J0IDAsClZMQU4yIHdpdGggcG9ydCAxIGV0 Yywgc28gd2UgbmVlZCB0byBhZGQgMSB0byB0aGUgcG9ydApvZmZzZXQuCgpGaXhlczogZDg2NTI5 NTZjZjM3ICgibmV0OiBkc2E6IHJlYWx0ZWstc21pOiBBZGQgUmVhbHRlayBTTUkgZHJpdmVyIikK U2lnbmVkLW9mZi1ieTogTGludXMgV2FsbGVpaiA8bGludXMud2FsbGVpakBsaW5hcm8ub3JnPgpT aWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQog ZHJpdmVycy9uZXQvZHNhL3J0bDgzNjYuYyB8IDcgKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDQg aW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9k c2EvcnRsODM2Ni5jIGIvZHJpdmVycy9uZXQvZHNhL3J0bDgzNjYuYwppbmRleCA2ZGVkZDQzNDQy Y2MuLjM1Yjc2N2JhZjIxZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZHNhL3J0bDgzNjYuYwor KysgYi9kcml2ZXJzL25ldC9kc2EvcnRsODM2Ni5jCkBAIC0zMDcsNyArMzA3LDggQEAgaW50IHJ0 bDgzNjZfdmxhbl9maWx0ZXJpbmcoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCwgYm9v bCB2bGFuX2ZpbHRlcmluZykKIAlzdHJ1Y3QgcnRsODM2Nl92bGFuXzRrIHZsYW40azsKIAlpbnQg cmV0OwogCi0JaWYgKCFzbWktPm9wcy0+aXNfdmxhbl92YWxpZChzbWksIHBvcnQpKQorCS8qIFVz ZSBWTEFOIG5yIHBvcnQgKyAxIHNpbmNlIFZMQU4wIGlzIG5vdCB2YWxpZCAqLworCWlmICghc21p LT5vcHMtPmlzX3ZsYW5fdmFsaWQoc21pLCBwb3J0ICsgMSkpCiAJCXJldHVybiAtRUlOVkFMOwog CiAJZGV2X2luZm8oc21pLT5kZXYsICIlcyBmaWx0ZXJpbmcgb24gcG9ydCAlZFxuIiwKQEAgLTMx OCwxMiArMzE5LDEyIEBAIGludCBydGw4MzY2X3ZsYW5fZmlsdGVyaW5nKHN0cnVjdCBkc2Ffc3dp dGNoICpkcywgaW50IHBvcnQsIGJvb2wgdmxhbl9maWx0ZXJpbmcpCiAJICogVGhlIGhhcmR3YXJl IHN1cHBvcnQgZmlsdGVyIElEIChGSUQpIDAuLjcsIEkgaGF2ZSBubyBjbHVlIGhvdyB0bwogCSAq IHN1cHBvcnQgdGhpcyBpbiB0aGUgZHJpdmVyIHdoZW4gdGhlIGNhbGxiYWNrIG9ubHkgc2F5cyBv bi9vZmYuCiAJICovCi0JcmV0ID0gc21pLT5vcHMtPmdldF92bGFuXzRrKHNtaSwgcG9ydCwgJnZs YW40ayk7CisJcmV0ID0gc21pLT5vcHMtPmdldF92bGFuXzRrKHNtaSwgcG9ydCArIDEsICZ2bGFu NGspOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKIAkvKiBKdXN0IHNldCB0aGUgZmlsdGVy IHRvIEZJRCAxIGZvciBub3cgdGhlbiAqLwotCXJldCA9IHJ0bDgzNjZfc2V0X3ZsYW4oc21pLCBw b3J0LAorCXJldCA9IHJ0bDgzNjZfc2V0X3ZsYW4oc21pLCBwb3J0ICsgMSwKIAkJCSAgICAgICB2 bGFuNGsubWVtYmVyLAogCQkJICAgICAgIHZsYW40ay51bnRhZywKIAkJCSAgICAgICAxKTsKLS0g CjIuMjAuMQoKCkZyb20gYzE4ZmU3MDYwM2YxOTBjOTk3NDE0MGUwZjAwMjUyYzBkODNkYzMxYiBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogVGFlaGVlIFlvbyA8YXA0MjAwNzNAZ21haWwu Y29tPgpEYXRlOiBTdW4sIDkgSnVuIDIwMTkgMjM6MjY6MjEgKzA5MDAKU3ViamVjdDogW1BBVENI IDA4LzMxXSBuZXQ6IG9wZW52c3dpdGNoOiBkbyBub3QgZnJlZSB2cG9ydCBpZgogcmVnaXN0ZXJf bmV0ZGV2aWNlKCkgaXMgZmFpbGVkLgoKWyBVcHN0cmVhbSBjb21taXQgMzA5YjY2OTcwZWUyYWJm NzIxZWNkMDg3NmE0ODk0MGZhMGI5OWEzNSBdCgpJbiBvcmRlciB0byBjcmVhdGUgYW4gaW50ZXJu YWwgdnBvcnQsIGludGVybmFsX2Rldl9jcmVhdGUoKSBpcyB1c2VkIGFuZAp0aGF0IGNhbGxzIHJl Z2lzdGVyX25ldGRldmljZSgpIGludGVybmFsbHkuCklmIHJlZ2lzdGVyX25ldGRldmljZSgpIGZh aWxzLCBpdCBjYWxscyBkZXYtPnByaXZfZGVzdHJ1Y3RvcigpIHRvIGZyZWUKcHJpdmF0ZSBkYXRh IG9mIG5ldGRldi4gYWN0dWFsbHksIGEgcHJpdmF0ZSBkYXRhIG9mIHRoaXMgaXMgYSB2cG9ydC4K CkhlbmNlIGludGVybmFsX2Rldl9jcmVhdGUoKSBzaG91bGQgbm90IGZyZWUgYW5kIHVzZSBhIHZw b3J0IGFmdGVyIGZhaWx1cmUKb2YgcmVnaXN0ZXJfbmV0ZGV2aWNlKCkuCgpUZXN0IGNvbW1hbmQK ICAgIG92cy1kcGN0bCBhZGQtZHAgYm9uZGluZ19tYXN0ZXJzCgpTcGxhdCBsb29rcyBsaWtlOgpb IDEwMzUuNjY3NzY3XSBrYXNhbjogR1BGIGNvdWxkIGJlIGNhdXNlZCBieSBOVUxMLXB0ciBkZXJl ZiBvciB1c2VyIG1lbW9yeSBhY2Nlc3MKWyAxMDM1LjY3NTk1OF0gZ2VuZXJhbCBwcm90ZWN0aW9u IGZhdWx0OiAwMDAwIFsjMV0gU01QIERFQlVHX1BBR0VBTExPQyBLQVNBTiBQVEkKWyAxMDM1LjY3 NjkxNl0gQ1BVOiAxIFBJRDogMTAyOCBDb21tOiBvdnMtdnN3aXRjaGQgVGFpbnRlZDogRyAgICBC ICAgICAgICAgICAgIDUuMi4wLXJjMysgIzI0MApbIDEwMzUuNjc2OTE2XSBSSVA6IDAwMTA6aW50 ZXJuYWxfZGV2X2NyZWF0ZSsweDJlNS8weDRlMCBbb3BlbnZzd2l0Y2hdClsgMTAzNS42NzY5MTZd IENvZGU6IDQ4IGMxIGVhIDAzIDgwIDNjIDAyIDAwIDBmIDg1IDlmIDAxIDAwIDAwIDRjIDhiIDIz IDQ4IGI4IDAwIDAwIDAwIDAwIDAwIGZjIGZmIGRmIDQ5IDhkIGJjIDI0IDYwIDA1IDAwIDAwIDQ4 IDg5IGZhIDQ4IGMxIGVhIDAzIDw4MD4gM2MgMDIgMDAgMGYgODUgODYgMDEgMDAgMDAgNDkgOGIg YmMgMjQgNjAgMDUgMDAgMDAgZTggZTQgNjggZjQKWyAxMDM1LjcxMzcyMF0gUlNQOiAwMDE4OmZm ZmY4ODgxMGRjYjc1NzggRUZMQUdTOiAwMDAxMDIwNgpbIDEwMzUuNzEzNzIwXSBSQVg6IGRmZmZm YzAwMDAwMDAwMDAgUkJYOiBmZmZmODg4MTBkMTNmZTA4IFJDWDogZmZmZmZmZmY4NDI5NzcwNApb IDEwMzUuNzEzNzIwXSBSRFg6IDAwMDAwMDAwMDAwMDAwYWMgUlNJOiAwMDAwMDAwMDAwMDAwMDAw IFJESTogMDAwMDAwMDAwMDAwMDU2MApbIDEwMzUuNzEzNzIwXSBSQlA6IDAwMDAwMDAwZmZmZmZm ZWYgUjA4OiBmZmZmZmJmZmYwZDNiODgxIFIwOTogZmZmZmZiZmZmMGQzYjg4MQpbIDEwMzUuNzEz NzIwXSBSMTA6IDAwMDAwMDAwMDAwMDAwMDEgUjExOiBmZmZmZmJmZmYwZDNiODgwIFIxMjogMDAw MDAwMDAwMDAwMDAwMApbIDEwMzUuNzY4Nzc2XSBSMTM6IDAwMDA2MDdlZTQ2MGI5MDAgUjE0OiBm ZmZmODg4MTBkY2I3NjkwIFIxNTogZmZmZjg4ODEwZGNiNzY5OApbIDEwMzUuNzc3NzA5XSBGUzog IDAwMDA3ZjAyMDk1ZmM5ODAoMDAwMCkgR1M6ZmZmZjg4ODExYjQwMDAwMCgwMDAwKSBrbmxHUzow MDAwMDAwMDAwMDAwMDAwClsgMTAzNS43Nzc3MDldIENTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAw MCBDUjA6IDAwMDAwMDAwODAwNTAwMzMKWyAxMDM1Ljc3NzcwOV0gQ1IyOiAwMDAwN2ZmZGYwMWQy ZjI4IENSMzogMDAwMDAwMDEwODI1ODAwMCBDUjQ6IDAwMDAwMDAwMDAxMDA2ZTAKWyAxMDM1Ljc3 NzcwOV0gQ2FsbCBUcmFjZToKWyAxMDM1Ljc3NzcwOV0gIG92c192cG9ydF9hZGQrMHgyNjcvMHg0 ZjAgW29wZW52c3dpdGNoXQpbIDEwMzUuNzc3NzA5XSAgbmV3X3Zwb3J0KzB4MTUvMHgxZTAgW29w ZW52c3dpdGNoXQpbIDEwMzUuNzc3NzA5XSAgb3ZzX3Zwb3J0X2NtZF9uZXcrMHg1NjcvMHhkMTAg W29wZW52c3dpdGNoXQpbIDEwMzUuNzc3NzA5XSAgPyBvdnNfZHBfY21kX2R1bXArMHg0OTAvMHg0 OTAgW29wZW52c3dpdGNoXQpbIDEwMzUuNzc3NzA5XSAgPyBfX2ttYWxsb2MrMHgxMzEvMHgyZTAK WyAxMDM1Ljc3NzcwOV0gID8gZ2VubF9mYW1pbHlfcmN2X21zZysweGE1NC8weDEwMzAKWyAxMDM1 Ljc3NzcwOV0gIGdlbmxfZmFtaWx5X3Jjdl9tc2crMHg2M2EvMHgxMDMwClsgMTAzNS43Nzc3MDld ICA/IGdlbmxfdW5yZWdpc3Rlcl9mYW1pbHkrMHg2MzAvMHg2MzAKWyAxMDM1Ljg0MTY4MV0gID8g ZGVidWdfc2hvd19hbGxfbG9ja3MrMHgyZDAvMHgyZDAKWyAuLi4gXQoKRml4ZXM6IGNmMTI0ZGI1 NjZlNiAoIm5ldDogRml4IGluY29uc2lzdGVudCB0ZWFyZG93biBhbmQgcmVsZWFzZSBvZiBwcml2 YXRlIG5ldGRldiBzdGF0ZS4iKQpTaWduZWQtb2ZmLWJ5OiBUYWVoZWUgWW9vIDxhcDQyMDA3M0Bn bWFpbC5jb20+ClJldmlld2VkLWJ5OiBHcmVnIFJvc2UgPGd2cm9zZTgxOTJAZ21haWwuY29tPgpT aWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQog bmV0L29wZW52c3dpdGNoL3Zwb3J0LWludGVybmFsX2Rldi5jIHwgMTggKysrKysrKysrKysrLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9uZXQvb3BlbnZzd2l0Y2gvdnBvcnQtaW50ZXJuYWxfZGV2LmMgYi9uZXQvb3Bl bnZzd2l0Y2gvdnBvcnQtaW50ZXJuYWxfZGV2LmMKaW5kZXggMjZmNzFjYmY3NTI3Li41OTkzNDA1 YzI1YzEgMTAwNjQ0Ci0tLSBhL25ldC9vcGVudnN3aXRjaC92cG9ydC1pbnRlcm5hbF9kZXYuYwor KysgYi9uZXQvb3BlbnZzd2l0Y2gvdnBvcnQtaW50ZXJuYWxfZGV2LmMKQEAgLTE3MCw3ICsxNzAs OSBAQCBzdGF0aWMgc3RydWN0IHZwb3J0ICppbnRlcm5hbF9kZXZfY3JlYXRlKGNvbnN0IHN0cnVj dCB2cG9ydF9wYXJtcyAqcGFybXMpCiB7CiAJc3RydWN0IHZwb3J0ICp2cG9ydDsKIAlzdHJ1Y3Qg aW50ZXJuYWxfZGV2ICppbnRlcm5hbF9kZXY7CisJc3RydWN0IG5ldF9kZXZpY2UgKmRldjsKIAlp bnQgZXJyOworCWJvb2wgZnJlZV92cG9ydCA9IHRydWU7CiAKIAl2cG9ydCA9IG92c192cG9ydF9h bGxvYygwLCAmb3ZzX2ludGVybmFsX3Zwb3J0X29wcywgcGFybXMpOwogCWlmIChJU19FUlIodnBv cnQpKSB7CkBAIC0xNzgsOCArMTgwLDkgQEAgc3RhdGljIHN0cnVjdCB2cG9ydCAqaW50ZXJuYWxf ZGV2X2NyZWF0ZShjb25zdCBzdHJ1Y3QgdnBvcnRfcGFybXMgKnBhcm1zKQogCQlnb3RvIGVycm9y OwogCX0KIAotCXZwb3J0LT5kZXYgPSBhbGxvY19uZXRkZXYoc2l6ZW9mKHN0cnVjdCBpbnRlcm5h bF9kZXYpLAotCQkJCSAgcGFybXMtPm5hbWUsIE5FVF9OQU1FX1VTRVIsIGRvX3NldHVwKTsKKwlk ZXYgPSBhbGxvY19uZXRkZXYoc2l6ZW9mKHN0cnVjdCBpbnRlcm5hbF9kZXYpLAorCQkJICAgcGFy bXMtPm5hbWUsIE5FVF9OQU1FX1VTRVIsIGRvX3NldHVwKTsKKwl2cG9ydC0+ZGV2ID0gZGV2Owog CWlmICghdnBvcnQtPmRldikgewogCQllcnIgPSAtRU5PTUVNOwogCQlnb3RvIGVycm9yX2ZyZWVf dnBvcnQ7CkBAIC0yMDAsOCArMjAzLDEwIEBAIHN0YXRpYyBzdHJ1Y3QgdnBvcnQgKmludGVybmFs X2Rldl9jcmVhdGUoY29uc3Qgc3RydWN0IHZwb3J0X3Bhcm1zICpwYXJtcykKIAogCXJ0bmxfbG9j aygpOwogCWVyciA9IHJlZ2lzdGVyX25ldGRldmljZSh2cG9ydC0+ZGV2KTsKLQlpZiAoZXJyKQor CWlmIChlcnIpIHsKKwkJZnJlZV92cG9ydCA9IGZhbHNlOwogCQlnb3RvIGVycm9yX3VubG9jazsK Kwl9CiAKIAlkZXZfc2V0X3Byb21pc2N1aXR5KHZwb3J0LT5kZXYsIDEpOwogCXJ0bmxfdW5sb2Nr KCk7CkBAIC0yMTEsMTEgKzIxNiwxMiBAQCBzdGF0aWMgc3RydWN0IHZwb3J0ICppbnRlcm5hbF9k ZXZfY3JlYXRlKGNvbnN0IHN0cnVjdCB2cG9ydF9wYXJtcyAqcGFybXMpCiAKIGVycm9yX3VubG9j azoKIAlydG5sX3VubG9jaygpOwotCWZyZWVfcGVyY3B1KHZwb3J0LT5kZXYtPnRzdGF0cyk7CisJ ZnJlZV9wZXJjcHUoZGV2LT50c3RhdHMpOwogZXJyb3JfZnJlZV9uZXRkZXY6Ci0JZnJlZV9uZXRk ZXYodnBvcnQtPmRldik7CisJZnJlZV9uZXRkZXYoZGV2KTsKIGVycm9yX2ZyZWVfdnBvcnQ6Ci0J b3ZzX3Zwb3J0X2ZyZWUodnBvcnQpOworCWlmIChmcmVlX3Zwb3J0KQorCQlvdnNfdnBvcnRfZnJl ZSh2cG9ydCk7CiBlcnJvcjoKIAlyZXR1cm4gRVJSX1BUUihlcnIpOwogfQotLSAKMi4yMC4xCgoK RnJvbSBiOTIyOWIwNjViN2ExYzdlMGMwODcxZjJkNzY3N2EwMWNhZWY2ZDFkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBJb2FuYSBDaW9ybmVpIDxpb2FuYS5jaW9ybmVpQG54cC5jb20+ CkRhdGU6IFRodSwgMTMgSnVuIDIwMTkgMDk6Mzc6NTEgKzAzMDAKU3ViamVjdDogW1BBVENIIDA5 LzMxXSBuZXQ6IHBoeWxpbms6IHNldCB0aGUgYXV0b25lZyBzdGF0ZSBpbgogcGh5bGlua19waHlf Y2hhbmdlCgpbIFVwc3RyZWFtIGNvbW1pdCBlZjdiZmE4NDcyNWQ4OTFiYmRiODg3MDdlZDU1YjJj YmY5NDk0MmJiIF0KClRoZSBwaHlfc3RhdGUgZmllbGQgb2YgcGh5bGluayBzaG91bGQgY2Fycnkg b25seSB2YWxpZCBpbmZvcm1hdGlvbgplc3BlY2lhbGx5IHdoZW4gdGhpcyBjYW4gYmUgcGFzc2Vk IHRvIHRoZSAubWFjX2NvbmZpZyBjYWxsYmFjay4KVXBkYXRlIHRoZSBhbl9lbmFibGVkIGZpZWxk IHdpdGggdGhlIGF1dG9uZWcgc3RhdGUgaW4gdGhlCnBoeWxpbmtfcGh5X2NoYW5nZSBmdW5jdGlv bi4KCkZpeGVzOiA5NTI1YWU4Mzk1OWIgKCJwaHlsaW5rOiBhZGQgcGh5bGluayBpbmZyYXN0cnVj dHVyZSIpClNpZ25lZC1vZmYtYnk6IElvYW5hIENpb3JuZWkgPGlvYW5hLmNpb3JuZWlAbnhwLmNv bT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0Pgot LS0KIGRyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmMgYi9kcml2 ZXJzL25ldC9waHkvcGh5bGluay5jCmluZGV4IDg5NzUwYzdkZmQ2Zi4uZDhmOTE5ZmU0OWZkIDEw MDY0NAotLS0gYS9kcml2ZXJzL25ldC9waHkvcGh5bGluay5jCisrKyBiL2RyaXZlcnMvbmV0L3Bo eS9waHlsaW5rLmMKQEAgLTYzOCw2ICs2MzgsNyBAQCBzdGF0aWMgdm9pZCBwaHlsaW5rX3BoeV9j aGFuZ2Uoc3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldiwgYm9vbCB1cCwKIAkJcGwtPnBoeV9zdGF0 ZS5wYXVzZSB8PSBNTE9fUEFVU0VfQVNZTTsKIAlwbC0+cGh5X3N0YXRlLmludGVyZmFjZSA9IHBo eWRldi0+aW50ZXJmYWNlOwogCXBsLT5waHlfc3RhdGUubGluayA9IHVwOworCXBsLT5waHlfc3Rh dGUuYW5fZW5hYmxlZCA9IHBoeWRldi0+YXV0b25lZzsKIAltdXRleF91bmxvY2soJnBsLT5zdGF0 ZV9tdXRleCk7CiAKIAlwaHlsaW5rX3J1bl9yZXNvbHZlKHBsKTsKLS0gCjIuMjAuMQoKCkZyb20g ZjIxNDM0Zjc4ZDBjMDViOTU1YjM2ZjBiMjQwMTg5NjRlYjdiODdmNyBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogSm9obiBGYXN0YWJlbmQgPGpvaG4uZmFzdGFiZW5kQGdtYWlsLmNvbT4K RGF0ZTogV2VkLCAxMiBKdW4gMjAxOSAxNzoyMzo1NyArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMTAv MzFdIG5ldDogdGxzLCBjb3JyZWN0bHkgYWNjb3VudCBmb3IgY29waWVkIGJ5dGVzIHdpdGgKIG11 bHRpcGxlIHNrX21zZ3MKClsgVXBzdHJlYW0gY29tbWl0IDY0OGVlNmNlYTdkZGU0YTVjZGY4MTdl NWQ5NjRmZDYwYjIyMDA2YTQgXQoKdGxzX3N3X2RvX3NlbmRwYWdlIG5lZWRzIHRvIHJldHVybiB0 aGUgdG90YWwgbnVtYmVyIG9mIGJ5dGVzIHNlbnQKcmVnYXJkbGVzcyBvZiBob3cgbWFueSBza19t c2dzIGFyZSBhbGxvY2F0ZWQuIFVuZm9ydHVuYXRlbHksIGNvcGllZAoodGhlIHZhbHVlIHdlIHJl dHVybiB1cCB0aGUgc3RhY2spIGlzIHplcm8nZCBiZWZvcmUgZWFjaCBuZXcgc2tfbXNnCmlzIGFs bG9jYXRlZCBzbyB3ZSBvbmx5IHJldHVybiB0aGUgY29waWVkIHNpemUgb2YgdGhlIGxhc3Qgc2tf bXNnIHVzZWQuCgpUaGUgY2FsbGVyIChzcGxpY2UsIGV0Yy4pIG9mIHNlbmRwYWdlIHdpbGwgdGhl biBiZWxpZXZlIG9ubHkgcGFydApvZiBpdHMgZGF0YSB3YXMgc2VudCBhbmQgc2VuZCB0aGUgbWlz c2luZyBjaHVua3MgYWdhaW4uIEhvd2V2ZXIsCmJlY2F1c2UgdGhlIGRhdGEgYWN0dWFsbHkgd2Fz IHNlbnQgdGhlIHJlY2VpdmVyIHdpbGwgZ2V0IG11bHRpcGxlCmNvcGllcyBvZiB0aGUgc2FtZSBk YXRhLgoKVG8gcmVwcm9kdWNlIHRoaXMgZG8gbXVsdGlwbGUgc2VuZGZpbGUgY2FsbHMgd2l0aCBh IGxlbmd0aCBjbG9zZSB0bwp0aGUgbWF4IHJlY29yZCBzaXplLiBUaGlzIHdpbGwgaW4gdHVybiBj YWxsIHNwbGljZS9zZW5kcGFnZSwgc2VuZHBhZ2UKbWF5IHVzZSBtdWx0aXBsZSBza19tc2cgaW4g dGhpcyBjYXNlIGFuZCB0aGVuIHJldHVybnMgdGhlIGluY29ycmVjdApudW1iZXIgb2YgYnl0ZXMu IFRoaXMgd2lsbCBjYXVzZSBzcGxpY2UgdG8gcmVzZW5kIGNyZWF0aW5nIGR1cGxpY2F0ZQpkYXRh IG9uIHRoZSByZWNlaXZlci4gQW5kcmUgY3JlYXRlZCBhIEMgcHJvZ3JhbSB0aGF0IGNhbiBlYXNp bHkKZ2VuZXJhdGUgdGhpcyBjYXNlIHNvIHdlIHdpbGwgcHVzaCBhIHNpbWlsYXIgc2VsZnRlc3Qg Zm9yIHRoaXMgdG8KYnBmLW5leHQgc2hvcnRseS4KClRoZSBmaXggaXMgdG8gX25vdF8gemVybyB0 aGUgY29waWVkIGZpZWxkIHNvIHRoYXQgdGhlIHRvdGFsIHNlbnQKYnl0ZXMgaXMgcmV0dXJuZWQu CgpSZXBvcnRlZC1ieTogU3RlaW5hciBILiBHdW5kZXJzb24gPHN0ZWluYXIra2VybmVsQGd1bmRl cnNvbi5ubz4KUmVwb3J0ZWQtYnk6IEFuZHJlIFRvbXQgPGFuZHJlQHRvbXQubmV0PgpUZXN0ZWQt Ynk6IEFuZHJlIFRvbXQgPGFuZHJlQHRvbXQubmV0PgpGaXhlczogZDgyOWU5YzQxMTJiICgidGxz OiBjb252ZXJ0IHRvIGdlbmVyaWMgc2tfbXNnIGludGVyZmFjZSIpClNpZ25lZC1vZmYtYnk6IEpv aG4gRmFzdGFiZW5kIDxqb2huLmZhc3RhYmVuZEBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERh dmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvdGxzL3Rsc19zdy5j IHwgMSAtCiAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC90 bHMvdGxzX3N3LmMgYi9uZXQvdGxzL3Rsc19zdy5jCmluZGV4IGQzNTBmZjczYTM5MS4uNDFlMTdl ZDBjOTRlIDEwMDY0NAotLS0gYS9uZXQvdGxzL3Rsc19zdy5jCisrKyBiL25ldC90bHMvdGxzX3N3 LmMKQEAgLTExMjgsNyArMTEyOCw2IEBAIHN0YXRpYyBpbnQgdGxzX3N3X2RvX3NlbmRwYWdlKHN0 cnVjdCBzb2NrICpzaywgc3RydWN0IHBhZ2UgKnBhZ2UsCiAKIAkJZnVsbF9yZWNvcmQgPSBmYWxz ZTsKIAkJcmVjb3JkX3Jvb20gPSBUTFNfTUFYX1BBWUxPQURfU0laRSAtIG1zZ19wbC0+c2cuc2l6 ZTsKLQkJY29waWVkID0gMDsKIAkJY29weSA9IHNpemU7CiAJCWlmIChjb3B5ID49IHJlY29yZF9y b29tKSB7CiAJCQljb3B5ID0gcmVjb3JkX3Jvb207Ci0tIAoyLjIwLjEKCgpGcm9tIGMxYzI4MWNj ZWVhMjA5OGQ2ODUzOGVlYzQ3YzYyZDdjYTc5M2E0NzMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IFlvdW5nIFhpYW8gPDkyc2l1eWFuZ0BnbWFpbC5jb20+CkRhdGU6IEZyaSwgMTQgSnVu IDIwMTkgMTU6MTM6MDIgKzA4MDAKU3ViamVjdDogW1BBVENIIDExLzMxXSBuZmM6IEVuc3VyZSBw cmVzZW5jZSBvZiByZXF1aXJlZCBhdHRyaWJ1dGVzIGluIHRoZQogZGVhY3RpdmF0ZV90YXJnZXQg aGFuZGxlcgoKWyBVcHN0cmVhbSBjb21taXQgMzg1MDk3YTM2NzU3NDljYmM5ZTk3YzA4NWMwZTVk ZmU0MjY5Y2E1MSBdCgpDaGVjayB0aGF0IHRoZSBORkNfQVRUUl9UQVJHRVRfSU5ERVggYXR0cmli dXRlcyAoaW4gYWRkaXRpb24gdG8KTkZDX0FUVFJfREVWSUNFX0lOREVYKSBhcmUgcHJvdmlkZWQg YnkgdGhlIG5ldGxpbmsgY2xpZW50IHByaW9yIHRvCmFjY2Vzc2luZyB0aGVtLiBUaGlzIHByZXZl bnRzIHBvdGVudGlhbCB1bmhhbmRsZWQgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlCmV4Y2VwdGlv bnMgd2hpY2ggY2FuIGJlIHRyaWdnZXJlZCBieSBtYWxpY2lvdXMgdXNlci1tb2RlIHByb2dyYW1z LAppZiB0aGV5IG9taXQgb25lIG9yIGJvdGggb2YgdGhlc2UgYXR0cmlidXRlcy4KClNpZ25lZC1v ZmYtYnk6IFlvdW5nIFhpYW8gPDkyc2l1eWFuZ0BnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERh dmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvbmZjL25ldGxpbmsu YyB8IDMgKystCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvbmV0L25mYy9uZXRsaW5rLmMgYi9uZXQvbmZjL25ldGxpbmsuYwppbmRl eCAzNzYxODFjYzFkZWYuLjlmMjg3NWVmYjRhYyAxMDA2NDQKLS0tIGEvbmV0L25mYy9uZXRsaW5r LmMKKysrIGIvbmV0L25mYy9uZXRsaW5rLmMKQEAgLTkyMiw3ICs5MjIsOCBAQCBzdGF0aWMgaW50 IG5mY19nZW5sX2RlYWN0aXZhdGVfdGFyZ2V0KHN0cnVjdCBza19idWZmICpza2IsCiAJdTMyIGRl dmljZV9pZHgsIHRhcmdldF9pZHg7CiAJaW50IHJjOwogCi0JaWYgKCFpbmZvLT5hdHRyc1tORkNf QVRUUl9ERVZJQ0VfSU5ERVhdKQorCWlmICghaW5mby0+YXR0cnNbTkZDX0FUVFJfREVWSUNFX0lO REVYXSB8fAorCSAgICAhaW5mby0+YXR0cnNbTkZDX0FUVFJfVEFSR0VUX0lOREVYXSkKIAkJcmV0 dXJuIC1FSU5WQUw7CiAKIAlkZXZpY2VfaWR4ID0gbmxhX2dldF91MzIoaW5mby0+YXR0cnNbTkZD X0FUVFJfREVWSUNFX0lOREVYXSk7Ci0tIAoyLjIwLjEKCgpGcm9tIDA5NjIyNGEzOWU2MjIzN2Vh OWY2NWNjNDMwNjQ1ZTVhMmMyNGEwZmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE5l aWwgSG9ybWFuIDxuaG9ybWFuQHR1eGRyaXZlci5jb20+CkRhdGU6IFRodSwgMTMgSnVuIDIwMTkg MDY6MzU6NTkgLTA0MDAKU3ViamVjdDogW1BBVENIIDEyLzMxXSBzY3RwOiBGcmVlIGNvb2tpZSBi ZWZvcmUgd2UgbWVtZHVwIGEgbmV3IG9uZQoKWyBVcHN0cmVhbSBjb21taXQgY2U5NTBmMTA1MGNl Y2U1ZTQwNmE1Y2RlNzIzYzY5YmJhNjBlMWIyNiBdCgpCYXNlZCBvbiBjb21tZW50cyBmcm9tIFhp biwgZXZlbiBhZnRlciBmaXhlcyBmb3Igb3VyIHJlY2VudCBzeXpib3QKcmVwb3J0IG9mIGNvb2tp ZSBtZW1vcnkgbGVha3MsIGl0cyBwb3NzaWJsZSB0byBnZXQgYSByZXNlbmQgb2YgYW4gSU5JVApj aHVuayB3aGljaCB3b3VsZCBsZWFkIHRvIHVzIGxlYWtpbmcgY29va2llIG1lbW9yeS4KClRvIGVu c3VyZSB0aGF0IHdlIGRvbid0IGxlYWsgY29va2llIG1lbW9yeSwgZnJlZSBhbnkgcHJldmlvdXNs eQphbGxvY2F0ZWQgY29va2llIGZpcnN0LgoKQ2hhbmdlIG5vdGVzCnYxLT52Mgp1cGRhdGUgc3Vi c3lzdGVtIHRhZyBpbiBzdWJqZWN0IChkYXZlbSkKcmVwZWF0IGtmcmVlIGNoZWNrIGZvciBwZWVy X3JhbmRvbSBhbmQgcGVlcl9obWFjcyAoeGluKQoKdjItPnYzCm5ldC0+c2N0cAphbHNvIGZyZWUg cGVlcl9jaHVua3MKCnYzLT52NApmaXggc3ViamVjdCB0YWdzCgp2NC0+djUKcmVtb3ZlIGN1dCBs aW5lCgpTaWduZWQtb2ZmLWJ5OiBOZWlsIEhvcm1hbiA8bmhvcm1hbkB0dXhkcml2ZXIuY29tPgpS ZXBvcnRlZC1ieTogc3l6Ym90K2Y3ZTkxNTNiMDM3ZWFjOWIxZGY4QHN5emthbGxlci5hcHBzcG90 bWFpbC5jb20KQ0M6IE1hcmNlbG8gUmljYXJkbyBMZWl0bmVyIDxtYXJjZWxvLmxlaXRuZXJAZ21h aWwuY29tPgpDQzogWGluIExvbmcgPGx1Y2llbi54aW5AZ21haWwuY29tPgpDQzogIkRhdmlkIFMu IE1pbGxlciIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+CkNDOiBuZXRkZXZAdmdlci5rZXJuZWwub3Jn CkFja2VkLWJ5OiBNYXJjZWxvIFJpY2FyZG8gTGVpdG5lciA8bWFyY2Vsby5sZWl0bmVyQGdtYWls LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0 PgotLS0KIG5ldC9zY3RwL3NtX21ha2VfY2h1bmsuYyB8IDggKysrKysrKysKIDEgZmlsZSBjaGFu Z2VkLCA4IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9uZXQvc2N0cC9zbV9tYWtlX2NodW5r LmMgYi9uZXQvc2N0cC9zbV9tYWtlX2NodW5rLmMKaW5kZXggYWU2NWExY2ZhNTk2Li5mYjU0NmIy ZDY3Y2EgMTAwNjQ0Ci0tLSBhL25ldC9zY3RwL3NtX21ha2VfY2h1bmsuYworKysgYi9uZXQvc2N0 cC9zbV9tYWtlX2NodW5rLmMKQEAgLTI2MDAsNiArMjYwMCw4IEBAIHN0YXRpYyBpbnQgc2N0cF9w cm9jZXNzX3BhcmFtKHN0cnVjdCBzY3RwX2Fzc29jaWF0aW9uICphc29jLAogCWNhc2UgU0NUUF9Q QVJBTV9TVEFURV9DT09LSUU6CiAJCWFzb2MtPnBlZXIuY29va2llX2xlbiA9CiAJCQludG9ocyhw YXJhbS5wLT5sZW5ndGgpIC0gc2l6ZW9mKHN0cnVjdCBzY3RwX3BhcmFtaGRyKTsKKwkJaWYgKGFz b2MtPnBlZXIuY29va2llKQorCQkJa2ZyZWUoYXNvYy0+cGVlci5jb29raWUpOwogCQlhc29jLT5w ZWVyLmNvb2tpZSA9IGttZW1kdXAocGFyYW0uY29va2llLT5ib2R5LCBhc29jLT5wZWVyLmNvb2tp ZV9sZW4sIGdmcCk7CiAJCWlmICghYXNvYy0+cGVlci5jb29raWUpCiAJCQlyZXR2YWwgPSAwOwpA QCAtMjY2NCw2ICsyNjY2LDggQEAgc3RhdGljIGludCBzY3RwX3Byb2Nlc3NfcGFyYW0oc3RydWN0 IHNjdHBfYXNzb2NpYXRpb24gKmFzb2MsCiAJCQlnb3RvIGZhbGxfdGhyb3VnaDsKIAogCQkvKiBT YXZlIHBlZXIncyByYW5kb20gcGFyYW1ldGVyICovCisJCWlmIChhc29jLT5wZWVyLnBlZXJfcmFu ZG9tKQorCQkJa2ZyZWUoYXNvYy0+cGVlci5wZWVyX3JhbmRvbSk7CiAJCWFzb2MtPnBlZXIucGVl cl9yYW5kb20gPSBrbWVtZHVwKHBhcmFtLnAsCiAJCQkJCSAgICBudG9ocyhwYXJhbS5wLT5sZW5n dGgpLCBnZnApOwogCQlpZiAoIWFzb2MtPnBlZXIucGVlcl9yYW5kb20pIHsKQEAgLTI2NzcsNiAr MjY4MSw4IEBAIHN0YXRpYyBpbnQgc2N0cF9wcm9jZXNzX3BhcmFtKHN0cnVjdCBzY3RwX2Fzc29j aWF0aW9uICphc29jLAogCQkJZ290byBmYWxsX3Rocm91Z2g7CiAKIAkJLyogU2F2ZSBwZWVyJ3Mg SE1BQyBsaXN0ICovCisJCWlmIChhc29jLT5wZWVyLnBlZXJfaG1hY3MpCisJCQlrZnJlZShhc29j LT5wZWVyLnBlZXJfaG1hY3MpOwogCQlhc29jLT5wZWVyLnBlZXJfaG1hY3MgPSBrbWVtZHVwKHBh cmFtLnAsCiAJCQkJCSAgICBudG9ocyhwYXJhbS5wLT5sZW5ndGgpLCBnZnApOwogCQlpZiAoIWFz b2MtPnBlZXIucGVlcl9obWFjcykgewpAQCAtMjY5Miw2ICsyNjk4LDggQEAgc3RhdGljIGludCBz Y3RwX3Byb2Nlc3NfcGFyYW0oc3RydWN0IHNjdHBfYXNzb2NpYXRpb24gKmFzb2MsCiAJCWlmICgh ZXAtPmF1dGhfZW5hYmxlKQogCQkJZ290byBmYWxsX3Rocm91Z2g7CiAKKwkJaWYgKGFzb2MtPnBl ZXIucGVlcl9jaHVua3MpCisJCQlrZnJlZShhc29jLT5wZWVyLnBlZXJfY2h1bmtzKTsKIAkJYXNv Yy0+cGVlci5wZWVyX2NodW5rcyA9IGttZW1kdXAocGFyYW0ucCwKIAkJCQkJICAgIG50b2hzKHBh cmFtLnAtPmxlbmd0aCksIGdmcCk7CiAJCWlmICghYXNvYy0+cGVlci5wZWVyX2NodW5rcykKLS0g CjIuMjAuMQoKCkZyb20gZTEwYTBjYThkY2JmNDE0Y2YyMjczNzYyNWQzM2M0MGUxNGNkMmMxMCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiBQYXVsIEFkcmlhbiBHbGF1Yml0eiA8 Z2xhdWJpdHpAcGh5c2lrLmZ1LWJlcmxpbi5kZT4KRGF0ZTogVHVlLCAxMSBKdW4gMjAxOSAxNzoz ODozNyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTMvMzFdIHN1bmh2OiBGaXggZGV2aWNlIG5hbWlu ZyBpbmNvbnNpc3RlbmN5IGJldHdlZW4KIHN1bmh2X2NvbnNvbGUgYW5kIHN1bmh2X3JlZwoKWyBV cHN0cmVhbSBjb21taXQgMDdhNmQ2M2ViMWI1NGI1ZmIzODA5Mjc4MGZlNjE4ZGZlMWQ5NmUyMyBd CgpJbiBkNWEyYWEyNCwgdGhlIG5hbWUgaW4gc3RydWN0IGNvbnNvbGUgc3VuaHZfY29uc29sZSB3 YXMgY2hhbmdlZCBmcm9tICJ0dHlTIgp0byAidHR5SFYiIHdoaWxlIHRoZSBuYW1lIGluIHN0cnVj dCB1YXJ0X29wcyBzdW5odl9wb3BzIHJlbWFpbmVkIHVuY2hhbmdlZC4KClRoaXMgcmVzdWx0cyBp biB0aGUgaHlwZXJ2aXNvciBjb25zb2xlIGRldmljZSB0byBiZSBsaXN0ZWQgYXMgInR0eUhWMCIg dW5kZXIKL3Byb2MvY29uc29sZXMgd2hpbGUgdGhlIGRldmljZSBub2RlIGlzIHN0aWxsIG5hbWVk ICJ0dHlTMCI6Cgpyb290QG9zYWthOn4jIGNhdCAvcHJvYy9jb25zb2xlcwp0dHlIVjAgICAgICAg ICAgICAgICAtVy0gKEVDIHAgICkgICAgNDo2NAp0dHkwICAgICAgICAgICAgICAgICAtV1UgKEUg ICAgICkgICAgNDoxCnJvb3RAb3Nha2E6fiMgcmVhZGxpbmsgL3N5cy9kZXYvY2hhci80OjY0Ci4u Ly4uL2RldmljZXMvcm9vdC9mMDI4MzZmMC9mMDI4NTY5MC90dHkvdHR5UzAKcm9vdEBvc2FrYTp+ IwoKVGhpcyBtZWFucyB0aGF0IGFueSB1c2VybGFuZCBjb2RlIHdoaWNoIHRyaWVzIHRvIGRldGVy bWluZSB0aGUgbmFtZSBvZiB0aGUKZGV2aWNlIGZpbGUgb2YgdGhlIGh5cGVydmlzb3IgY29uc29s ZSBkZXZpY2UgY2FuIG5vdCByZWx5IG9uIHRoZSBpbmZvcm1hdGlvbgpwcm92aWRlZCBieSAvcHJv Yy9jb25zb2xlcy4gSW4gcGFydGljdWxhciwgYm9vdGluZyBjdXJyZW50IHZlcnNpb25zIG9mIGRl Ymlhbi0KaW5zdGFsbGVyIGluc2lkZSBhIFNQQVJDIExET00gd2lsbCBmYWlsIHdpdGggdGhlIGlu c3RhbGxlciB1bmFibGUgdG8gZGV0ZXJtaW5lCnRoZSBjb25zb2xlIGRldmljZS4KCkFmdGVyIHJl bmFtaW5nIHRoZSBkZXZpY2UgaW4gc3RydWN0IHVhcnRfb3BzIHN1bmh2X3BvcHMgdG8gInR0eUhW IiBhcyB3ZWxsLAp0aGUgaW5jb25zaXN0ZW5jeSBpcyBmaXhlZCBhbmQgaXQgaXMgcG9zc2libGUg YWdhaW4gdG8gZGV0ZXJtaW5lIHRoZSBuYW1lCm9mIHRoZSBkZXZpY2UgZmlsZSBvZiB0aGUgaHlw ZXJ2aXNvciBjb25zb2xlIGRldmljZSBieSByZWFkaW5nIHRoZSBjb250ZW50cwpvZiAvcHJvYy9j b25zb2xlOgoKcm9vdEBvc2FrYTp+IyBjYXQgL3Byb2MvY29uc29sZXMKdHR5SFYwICAgICAgICAg ICAgICAgLVctIChFQyBwICApICAgIDQ6NjQKdHR5MCAgICAgICAgICAgICAgICAgLVdVIChFICAg ICApICAgIDQ6MQpyb290QG9zYWthOn4jIHJlYWRsaW5rIC9zeXMvZGV2L2NoYXIvNDo2NAouLi8u Li9kZXZpY2VzL3Jvb3QvZjAyODM2ZjAvZjAyODU2OTAvdHR5L3R0eUhWMApyb290QG9zYWthOn4j CgpXaXRoIHRoaXMgY2hhbmdlLCBkZWJpYW4taW5zdGFsbGVyIHdvcmtzIGNvcnJlY3RseSB3aGVu IGluc3RhbGxpbmcgaW5zaWRlCmEgU1BBUkMgTERPTS4KClNpZ25lZC1vZmYtYnk6IEpvaG4gUGF1 bCBBZHJpYW4gR2xhdWJpdHogPGdsYXViaXR6QHBoeXNpay5mdS1iZXJsaW4uZGU+ClNpZ25lZC1v ZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJz L3R0eS9zZXJpYWwvc3VuaHYuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdHR5L3NlcmlhbC9zdW5odi5j IGIvZHJpdmVycy90dHkvc2VyaWFsL3N1bmh2LmMKaW5kZXggNjNlMzRkODY4ZGU4Li5mODUwM2Y4 ZmM0NGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdHR5L3NlcmlhbC9zdW5odi5jCisrKyBiL2RyaXZl cnMvdHR5L3NlcmlhbC9zdW5odi5jCkBAIC0zOTcsNyArMzk3LDcgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCB1YXJ0X29wcyBzdW5odl9wb3BzID0gewogc3RhdGljIHN0cnVjdCB1YXJ0X2RyaXZlciBz dW5odl9yZWcgPSB7CiAJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKIAkuZHJpdmVyX25hbWUJCT0g InN1bmh2IiwKLQkuZGV2X25hbWUJCT0gInR0eVMiLAorCS5kZXZfbmFtZQkJPSAidHR5SFYiLAog CS5tYWpvcgkJCT0gVFRZX01BSk9SLAogfTsKIAotLSAKMi4yMC4xCgoKRnJvbSBhZTYzMmE1MTg0 MmJlOGEzNDBiMzBlNWIxYzkwZGU5Y2FjNTI2MzE5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBYaW4gTG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+CkRhdGU6IFN1biwgMTYgSnVuIDIw MTkgMTc6MjQ6MDcgKzA4MDAKU3ViamVjdDogW1BBVENIIDE0LzMxXSB0aXBjOiBwdXJnZSBkZWZl cnJlZHEgbGlzdCBmb3IgZWFjaCBncnAgbWVtYmVyIGluCiB0aXBjX2dyb3VwX2RlbGV0ZQoKWyBV cHN0cmVhbSBjb21taXQgNWNmMDI2MTJiMzNmMTA0ZmUxMDE1YjJkZmFmMTc1OGFkMzY3NTU4OCBd CgpTeXpib3QgcmVwb3J0ZWQgYSBtZW1sZWFrIGNhdXNlZCBieSBncnAgbWVtYmVycycgZGVmZXJy ZWRxIGxpc3Qgbm90CnB1cmdlZCB3aGVuIHRoZSBncnAgaXMgYmUgZGVsZXRlZC4KClRoZSBpc3N1 ZSBvY2N1cnMgd2hlbiBtb3JlKG1zZ19ncnBfYmNfc2Vxbm8oaGRyKSwgbS0+YmNfcmN2X254dCkg aW4KdGlwY19ncm91cF9maWx0ZXJfbXNnKCkgYW5kIHRoZSBza2Igd2lsbCBzdGF5IGluIGRlZmVy cmVkcS4KClNvIGZpeCBpdCBieSBjYWxsaW5nIF9fc2tiX3F1ZXVlX3B1cmdlIGZvciBlYWNoIG1l bWJlcidzIGRlZmVycmVkcQppbiB0aXBjX2dyb3VwX2RlbGV0ZSgpIHdoZW4gYSB0aXBjIHNrIGxl YXZlcyB0aGUgZ3JwLgoKRml4ZXM6IGI4N2E1ZWEzMWM5MyAoInRpcGM6IGd1YXJhbnRlZSBncm91 cCB1bmljYXN0IGRvZXNuJ3QgYnlwYXNzIGdyb3VwIGJyb2FkY2FzdCIpClJlcG9ydGVkLWJ5OiBz eXpib3QrNzhmYmU2NzljOGNhOGQyNjRhOGRAc3l6a2FsbGVyLmFwcHNwb3RtYWlsLmNvbQpTaWdu ZWQtb2ZmLWJ5OiBYaW4gTG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+CkFja2VkLWJ5OiBZaW5n IFh1ZSA8eWluZy54dWVAd2luZHJpdmVyLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWls bGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC90aXBjL2dyb3VwLmMgfCAxICsKIDEg ZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL25ldC90aXBjL2dyb3Vw LmMgYi9uZXQvdGlwYy9ncm91cC5jCmluZGV4IDYzZjM5MjAxZTQxZS4uZGYwYzBjNGIzOGQ1IDEw MDY0NAotLS0gYS9uZXQvdGlwYy9ncm91cC5jCisrKyBiL25ldC90aXBjL2dyb3VwLmMKQEAgLTIx OCw2ICsyMTgsNyBAQCB2b2lkIHRpcGNfZ3JvdXBfZGVsZXRlKHN0cnVjdCBuZXQgKm5ldCwgc3Ry dWN0IHRpcGNfZ3JvdXAgKmdycCkKIAogCXJidHJlZV9wb3N0b3JkZXJfZm9yX2VhY2hfZW50cnlf c2FmZShtLCB0bXAsIHRyZWUsIHRyZWVfbm9kZSkgewogCQl0aXBjX2dyb3VwX3Byb3RvX3htaXQo Z3JwLCBtLCBHUlBfTEVBVkVfTVNHLCAmeG1pdHEpOworCQlfX3NrYl9xdWV1ZV9wdXJnZSgmbS0+ ZGVmZXJyZWRxKTsKIAkJbGlzdF9kZWwoJm0tPmxpc3QpOwogCQlrZnJlZShtKTsKIAl9Ci0tIAoy LjIwLjEKCgpGcm9tIGRiZWEwM2FhMGY2YTNhZTI2YzcyNTNmMzA1ZDY0YWMyNzI0YTI2NDkgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFN0ZXBoZW4gQmFyYmVyIDxzbWJhcmJlckBjaHJv bWl1bS5vcmc+CkRhdGU6IEZyaSwgMTQgSnVuIDIwMTkgMjM6NDI6MzcgLTA3MDAKU3ViamVjdDog W1BBVENIIDE1LzMxXSB2c29jay92aXJ0aW86IHNldCBTT0NLX0RPTkUgb24gcGVlciBzaHV0ZG93 bgoKWyBVcHN0cmVhbSBjb21taXQgNDJmNWNkYTVlYWY0Mzk2YTkzOWFlOWJiNDNiYjhkMWQwOWMx YjE1YyBdCgpTZXQgdGhlIFNPQ0tfRE9ORSBmbGFnIHRvIG1hdGNoIHRoZSBUQ1BfQ0xPU0lORyBz dGF0ZSB3aGVuIGEgcGVlciBoYXMKc2h1dCBkb3duIGFuZCB0aGVyZSBpcyBub3RoaW5nIGxlZnQg dG8gcmVhZC4KClRoaXMgZml4ZXMgdGhlIGZvbGxvd2luZyBidWc6CjEpIFBlZXIgc2VuZHMgU0hV VERPV04oUkRXUikuCjIpIFNvY2tldCBlbnRlcnMgVENQX0NMT1NJTkcgYnV0IFNPQ0tfRE9ORSBp cyBub3Qgc2V0LgozKSByZWFkKCkgcmV0dXJucyAtRU5PVENPTk4gdW50aWwgY2xvc2UoKSBpcyBj YWxsZWQsIHRoZW4gcmV0dXJucyAwLgoKU2lnbmVkLW9mZi1ieTogU3RlcGhlbiBCYXJiZXIgPHNt YmFyYmVyQGNocm9taXVtLm9yZz4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZl bUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC92bXdfdnNvY2svdmlydGlvX3RyYW5zcG9ydF9jb21t b24uYyB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQoKZGlmZiAtLWdpdCBhL25ldC92bXdfdnNvY2svdmlydGlvX3RyYW5zcG9ydF9jb21tb24u YyBiL25ldC92bXdfdnNvY2svdmlydGlvX3RyYW5zcG9ydF9jb21tb24uYwppbmRleCBmM2YzZDA2 Y2I2ZDguLmUzMGY1MzcyODcyNSAxMDA2NDQKLS0tIGEvbmV0L3Ztd192c29jay92aXJ0aW9fdHJh bnNwb3J0X2NvbW1vbi5jCisrKyBiL25ldC92bXdfdnNvY2svdmlydGlvX3RyYW5zcG9ydF9jb21t b24uYwpAQCAtODcxLDggKzg3MSwxMCBAQCB2aXJ0aW9fdHJhbnNwb3J0X3JlY3ZfY29ubmVjdGVk KHN0cnVjdCBzb2NrICpzaywKIAkJaWYgKGxlMzJfdG9fY3B1KHBrdC0+aGRyLmZsYWdzKSAmIFZJ UlRJT19WU09DS19TSFVURE9XTl9TRU5EKQogCQkJdnNrLT5wZWVyX3NodXRkb3duIHw9IFNFTkRf U0hVVERPV047CiAJCWlmICh2c2stPnBlZXJfc2h1dGRvd24gPT0gU0hVVERPV05fTUFTSyAmJgot CQkgICAgdnNvY2tfc3RyZWFtX2hhc19kYXRhKHZzaykgPD0gMCkKKwkJICAgIHZzb2NrX3N0cmVh bV9oYXNfZGF0YSh2c2spIDw9IDApIHsKKwkJCXNvY2tfc2V0X2ZsYWcoc2ssIFNPQ0tfRE9ORSk7 CiAJCQlzay0+c2tfc3RhdGUgPSBUQ1BfQ0xPU0lORzsKKwkJfQogCQlpZiAobGUzMl90b19jcHUo cGt0LT5oZHIuZmxhZ3MpKQogCQkJc2stPnNrX3N0YXRlX2NoYW5nZShzayk7CiAJCWJyZWFrOwot LSAKMi4yMC4xCgoKRnJvbSBiYjI5ZWUzYTE3NWNjZDYxODBmZDg0ZTg4ZjU1NWU5NjkzNGYxOWQ0 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFhIEhsZWloZWwgPGFsYWFAbWVsbGFu b3guY29tPgpEYXRlOiBTdW4sIDE5IE1heSAyMDE5IDExOjExOjQ5ICswMzAwClN1YmplY3Q6IFtQ QVRDSCAxNi8zMV0gbmV0L21seDU6IEF2b2lkIHJlbG9hZGluZyBhbHJlYWR5IHJlbW92ZWQgZGV2 aWNlcwoKUHJpb3IgdG8gcmVsb2FkaW5nIGEgZGV2aWNlIHdlIG11c3QgZmlyc3QgdmVyaWZ5IHRo YXQgaXQgd2FzIG5vdCBhbHJlYWR5CnJlbW92ZWQuIE90aGVyd2lzZSwgdGhlIGF0dGVtcHQgdG8g cmVtb3ZlIHRoZSBkZXZpY2Ugd2lsbCBkbyBub3RoaW5nLCBhbmQKaW4gdGhhdCBjYXNlIHdlIHdp bGwgZW5kIHVwIHByb2NlZWRpbmcgd2l0aCBhZGRpbmcgYW4gbmV3IGRldmljZSB0aGF0IG5vCm9u ZSB3YXMgZXhwZWN0aW5nIHRvIHJlbW92ZSwgbGVhdmluZyBiZWhpbmQgdXNlZCByZXNvdXJjZXMg c3VjaCBhcyBFUXMgdGhhdApjYXVzZXMgYSBmYWlsdXJlIHRvIGRlc3Ryb3kgY29tcCBFUXMgYW5k IHN5bmRyb21lICgweDMwZjQzMykuCgpGaXggdGhhdCBieSBtYWtpbmcgc3VyZSB0aGF0IHdlIHRy eSB0byByZW1vdmUgYW5kIGFkZCBhIGRldmljZSAoYmFzZWQgb24gYQpwcm90b2NvbCkgb25seSBp ZiB0aGUgZGV2aWNlIGlzIGFscmVhZHkgYWRkZWQuCgpGaXhlczogYzU0NDdjNzA1OTRiICgibmV0 L21seDU6IEUtU3dpdGNoLCBSZWxvYWQgSUIgaW50ZXJmYWNlIHdoZW4gc3dpdGNoaW5nIGRldmxp bmsgbW9kZXMiKQpTaWduZWQtb2ZmLWJ5OiBBbGFhIEhsZWloZWwgPGFsYWFAbWVsbGFub3guY29t PgpTaWduZWQtb2ZmLWJ5OiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KLS0t CiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZGV2LmMgfCAyNSArKysr KysrKysrKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgMiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1 L2NvcmUvZGV2LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZGV2 LmMKaW5kZXggZWJjMDQ2ZmE5N2QzLi5mNmIxZGE5OWU2YzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv bmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9kZXYuYworKysgYi9kcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZGV2LmMKQEAgLTI0OCwxMSArMjQ4LDMyIEBAIHZv aWQgbWx4NV91bnJlZ2lzdGVyX2ludGVyZmFjZShzdHJ1Y3QgbWx4NV9pbnRlcmZhY2UgKmludGYp CiB9CiBFWFBPUlRfU1lNQk9MKG1seDVfdW5yZWdpc3Rlcl9pbnRlcmZhY2UpOwogCisvKiBNdXN0 IGJlIGNhbGxlZCB3aXRoIGludGZfbXV0ZXggaGVsZCAqLworc3RhdGljIGJvb2wgbWx4NV9oYXNf YWRkZWRfZGV2X2J5X3Byb3RvY29sKHN0cnVjdCBtbHg1X2NvcmVfZGV2ICptZGV2LCBpbnQgcHJv dG9jb2wpCit7CisJc3RydWN0IG1seDVfZGV2aWNlX2NvbnRleHQgKmRldl9jdHg7CisJc3RydWN0 IG1seDVfaW50ZXJmYWNlICppbnRmOworCWJvb2wgZm91bmQgPSBmYWxzZTsKKworCWxpc3RfZm9y X2VhY2hfZW50cnkoaW50ZiwgJmludGZfbGlzdCwgbGlzdCkgeworCQlpZiAoaW50Zi0+cHJvdG9j b2wgPT0gcHJvdG9jb2wpIHsKKwkJCWRldl9jdHggPSBtbHg1X2dldF9kZXZpY2UoaW50ZiwgJm1k ZXYtPnByaXYpOworCQkJaWYgKGRldl9jdHggJiYgdGVzdF9iaXQoTUxYNV9JTlRFUkZBQ0VfQURE RUQsICZkZXZfY3R4LT5zdGF0ZSkpCisJCQkJZm91bmQgPSB0cnVlOworCQkJYnJlYWs7CisJCX0K Kwl9CisKKwlyZXR1cm4gZm91bmQ7Cit9CisKIHZvaWQgbWx4NV9yZWxvYWRfaW50ZXJmYWNlKHN0 cnVjdCBtbHg1X2NvcmVfZGV2ICptZGV2LCBpbnQgcHJvdG9jb2wpCiB7CiAJbXV0ZXhfbG9jaygm bWx4NV9pbnRmX211dGV4KTsKLQltbHg1X3JlbW92ZV9kZXZfYnlfcHJvdG9jb2wobWRldiwgcHJv dG9jb2wpOwotCW1seDVfYWRkX2Rldl9ieV9wcm90b2NvbChtZGV2LCBwcm90b2NvbCk7CisJaWYg KG1seDVfaGFzX2FkZGVkX2Rldl9ieV9wcm90b2NvbChtZGV2LCBwcm90b2NvbCkpIHsKKwkJbWx4 NV9yZW1vdmVfZGV2X2J5X3Byb3RvY29sKG1kZXYsIHByb3RvY29sKTsKKwkJbWx4NV9hZGRfZGV2 X2J5X3Byb3RvY29sKG1kZXYsIHByb3RvY29sKTsKKwl9CiAJbXV0ZXhfdW5sb2NrKCZtbHg1X2lu dGZfbXV0ZXgpOwogfQogCi0tIAoyLjIwLjEKCgpGcm9tIDE3ZGEwNTQ0Y2ZkMDY4NDM0OGY2YmRl YmJhYzU2M2Q1NDFmMTg1ZWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFN0ZWZhbm8g QnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+CkRhdGU6IFR1ZSwgMTEgSnVuIDIwMTkgMDA6Mjc6 MDUgKzAyMDAKU3ViamVjdDogW1BBVENIIDE3LzMxXSB2eGxhbjogRG9uJ3QgYXNzdW1lIGxpbmVh ciBidWZmZXJzIGluIGVycm9yIGhhbmRsZXIKClsgVXBzdHJlYW0gY29tbWl0IDgzOTlhNjkzMGQx MmY1OTY1MjMwZjRmZjA1ODIyOGE0Y2M4MGMwYjkgXQoKSW4gY29tbWl0IGMzYTQzYjlmZWM4YSAo InZ4bGFuOiBJQ01QIGVycm9yIGxvb2t1cCBoYW5kbGVyIikgSSB3cm9uZ2x5CmFzc3VtZWQgYnVm ZmVycyBmcm9tIGljbXBfc29ja2V0X2RlbGl2ZXIoKSB3b3VsZCBiZSBsaW5lYXIuIFRoaXMgaXMg bm90CnRoZSBjYXNlOiBpY21wX3NvY2tldF9kZWxpdmVyKCkgb25seSBndWFyYW50ZWVzIHdlIGhh dmUgOCBieXRlcyBvZiBsaW5lYXIKZGF0YS4KCkVyaWMgZml4ZWQgdGhpcyBzYW1lIGlzc3VlIGZv ciBmb3UgYW5kIGZvdTYgaW4gY29tbWl0cyAyNmZjMTgxZTZjYWMKKCJmb3UsIGZvdTY6IGRvIG5v dCBhc3N1bWUgbGluZWFyIHNrYnMiKSBhbmQgNTM1NWVkNjM4OGUyICgiZm91LCBmb3U2Ogphdm9p ZCB1bmluaXQtdmFsdWUgaW4gZ3VlX2VycigpIGFuZCBndWU2X2VycigpIikuCgpVc2UgcHNrYl9t YXlfcHVsbCgpIGluc3RlYWQgb2YgY2hlY2tpbmcgc2tiLT5sZW4sIGFuZCB0YWtlIGludG8gYWNj b3VudAp0aGUgZmFjdCB3ZSBsYXRlciBhY2Nlc3MgdGhlIFZYTEFOIGhlYWRlciB3aXRoIHVkcF9o ZHIoKSwgc28gd2UgYWxzbwpuZWVkIHRvIHN1bSBza2JfdHJhbnNwb3J0X2hlYWRlcigpIGhlcmUu CgpSZXBvcnRlZC1ieTogR3VpbGxhdW1lIE5hdWx0IDxnbmF1bHRAcmVkaGF0LmNvbT4KRml4ZXM6 IGMzYTQzYjlmZWM4YSAoInZ4bGFuOiBJQ01QIGVycm9yIGxvb2t1cCBoYW5kbGVyIikKU2lnbmVk LW9mZi1ieTogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1i eTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0 L3Z4bGFuLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRp b24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92eGxhbi5jIGIvZHJpdmVycy9uZXQvdnhs YW4uYwppbmRleCBkNzZkZmVkOGQ5YmIuLjM4ZWNiNjZmYjNlOSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9uZXQvdnhsYW4uYworKysgYi9kcml2ZXJzL25ldC92eGxhbi5jCkBAIC0xNzY1LDcgKzE3NjUs NyBAQCBzdGF0aWMgaW50IHZ4bGFuX2Vycl9sb29rdXAoc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qg c2tfYnVmZiAqc2tiKQogCXN0cnVjdCB2eGxhbmhkciAqaGRyOwogCV9fYmUzMiB2bmk7CiAKLQlp ZiAoc2tiLT5sZW4gPCBWWExBTl9ITEVOKQorCWlmICghcHNrYl9tYXlfcHVsbChza2IsIHNrYl90 cmFuc3BvcnRfb2Zmc2V0KHNrYikgKyBWWExBTl9ITEVOKSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAK IAloZHIgPSB2eGxhbl9oZHIoc2tiKTsKLS0gCjIuMjAuMQoKCkZyb20gZjAwZDQxNmI3YTA3YTMw OTI5ODQ0YjJiODhhODNlMGJhZjliZDZhMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog U3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAxMSBKdW4gMjAx OSAwMDoyNzowNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTgvMzFdIGdlbmV2ZTogRG9uJ3QgYXNz dW1lIGxpbmVhciBidWZmZXJzIGluIGVycm9yIGhhbmRsZXIKClsgVXBzdHJlYW0gY29tbWl0IGVj Y2M3M2E2YjJjYjZjMDRiZmJjNDBhMDc2OWYzYzQyOGRmYmEyMzIgXQoKSW4gY29tbWl0IGEwNzk2 NjQ0N2YzOSAoImdlbmV2ZTogSUNNUCBlcnJvciBsb29rdXAgaGFuZGxlciIpIEkgd3JvbmdseQph c3N1bWVkIGJ1ZmZlcnMgZnJvbSBpY21wX3NvY2tldF9kZWxpdmVyKCkgd291bGQgYmUgbGluZWFy LiBUaGlzIGlzIG5vdAp0aGUgY2FzZTogaWNtcF9zb2NrZXRfZGVsaXZlcigpIG9ubHkgZ3VhcmFu dGVlcyB3ZSBoYXZlIDggYnl0ZXMgb2YgbGluZWFyCmRhdGEuCgpFcmljIGZpeGVkIHRoaXMgc2Ft ZSBpc3N1ZSBmb3IgZm91IGFuZCBmb3U2IGluIGNvbW1pdHMgMjZmYzE4MWU2Y2FjCigiZm91LCBm b3U2OiBkbyBub3QgYXNzdW1lIGxpbmVhciBza2JzIikgYW5kIDUzNTVlZDYzODhlMiAoImZvdSwg Zm91NjoKYXZvaWQgdW5pbml0LXZhbHVlIGluIGd1ZV9lcnIoKSBhbmQgZ3VlNl9lcnIoKSIpLgoK VXNlIHBza2JfbWF5X3B1bGwoKSBpbnN0ZWFkIG9mIGNoZWNraW5nIHNrYi0+bGVuLCBhbmQgdGFr ZSBpbnRvIGFjY291bnQKdGhlIGZhY3Qgd2UgbGF0ZXIgYWNjZXNzIHRoZSBHRU5FVkUgaGVhZGVy IHdpdGggdWRwX2hkcigpLCBzbyB3ZSBhbHNvCm5lZWQgdG8gc3VtIHNrYl90cmFuc3BvcnRfaGVh ZGVyKCkgaGVyZS4KClJlcG9ydGVkLWJ5OiBHdWlsbGF1bWUgTmF1bHQgPGduYXVsdEByZWRoYXQu Y29tPgpGaXhlczogYTA3OTY2NDQ3ZjM5ICgiZ2VuZXZlOiBJQ01QIGVycm9yIGxvb2t1cCBoYW5k bGVyIikKU2lnbmVkLW9mZi1ieTogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4K U2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0K IGRyaXZlcnMvbmV0L2dlbmV2ZS5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZ2VuZXZlLmMgYi9k cml2ZXJzL25ldC9nZW5ldmUuYwppbmRleCA1NTgzZDk5MzQ4MGQuLmZmZTQyMTk0NDQyOSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9uZXQvZ2VuZXZlLmMKKysrIGIvZHJpdmVycy9uZXQvZ2VuZXZlLmMK QEAgLTM5Niw3ICszOTYsNyBAQCBzdGF0aWMgaW50IGdlbmV2ZV91ZHBfZW5jYXBfZXJyX2xvb2t1 cChzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2IpCiAJdTggemVyb192bmlbM10g PSB7IDAgfTsKIAl1OCAqdm5pID0gemVyb192bmk7CiAKLQlpZiAoc2tiLT5sZW4gPCBHRU5FVkVf QkFTRV9ITEVOKQorCWlmICghcHNrYl9tYXlfcHVsbChza2IsIHNrYl90cmFuc3BvcnRfb2Zmc2V0 KHNrYikgKyBHRU5FVkVfQkFTRV9ITEVOKSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKIAlnZW5ldmVo ID0gZ2VuZXZlX2hkcihza2IpOwotLSAKMi4yMC4xCgoKRnJvbSAxZTc1ZTUwM2JhNDM1YmI2ODg5 OTVhM2VmM2Y0ZDc4YmJkNzAyZTQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhp bWUgQ2hldmFsbGllciA8bWF4aW1lLmNoZXZhbGxpZXJAYm9vdGxpbi5jb20+CkRhdGU6IFR1ZSwg MTEgSnVuIDIwMTkgMTE6NTE6NDIgKzAyMDAKU3ViamVjdDogW1BBVENIIDE5LzMxXSBuZXQ6IG12 cHAyOiBwcnM6IEZpeCBwYXJzZXIgcmFuZ2UgZm9yIFZJRCBmaWx0ZXJpbmcKClsgVXBzdHJlYW0g Y29tbWl0IDQ2YjAwOTBhNjYzNmNmMzRjMGU4NTZmMTVkZDAzZTE1YmE0Y2RkYTYgXQoKVklEIGZp bHRlcmluZyBpcyBpbXBsZW1lbnRlZCBpbiB0aGUgSGVhZGVyIFBhcnNlciwgd2l0aCBvbmUgcmFu Z2Ugb2YgMTEKdmlkcyBiZWluZyBhc3NpZ25lZCBmb3IgZWFjaCBuby1sb29wYmFjayBwb3J0LgoK TWFrZSBzdXJlIHdlIHVzZSB0aGUgcGVyLXBvcnQgcmFuZ2Ugd2hlbiBsb29raW5nIGZvciBleGlz dGluZyBlbnRyaWVzIGluCnRoZSBQYXJzZXIuCgpTaW5jZSB3ZSB1c2VkIGEgZ2xvYmFsIHJhbmdl IGluc3RlYWQgb2YgYSBwZXItcG9ydCBvbmUsIHRoaXMgY2F1c2VzIFZJRHMKdG8gYmUgcmVtb3Zl ZCBmcm9tIHRoZSB3aGl0ZWxpc3QgZnJvbSBhbGwgcG9ydHMgb2YgdGhlIHNhbWUgUFB2MgppbnN0 YW5jZS4KCkZpeGVzOiA1NmJlZGEzZGI2MDIgKCJuZXQ6IG12cHAyOiBBZGQgaGFyZHdhcmUgb2Zm bG9hZGluZyBmb3IgVkxBTiBmaWx0ZXJpbmciKQpTdWdnZXN0ZWQtYnk6IFl1cmkgQ2hpcGNoZXYg PHl1cmljQG1hcnZlbGwuY29tPgpTaWduZWQtb2ZmLWJ5OiBNYXhpbWUgQ2hldmFsbGllciA8bWF4 aW1lLmNoZXZhbGxpZXJAYm9vdGxpbi5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxl ciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxs L212cHAyL212cHAyX3Bycy5jIHwgMTcgKysrKysrKystLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCA4IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWFydmVsbC9tdnBwMi9tdnBwMl9wcnMuYyBiL2RyaXZlcnMvbmV0L2V0aGVy bmV0L21hcnZlbGwvbXZwcDIvbXZwcDJfcHJzLmMKaW5kZXggMzkyZmQ4OTVmMjc4Li5lMGRhNGRi M2JmNTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvbXZwcDIvbXZw cDJfcHJzLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9tdnBwMi9tdnBwMl9w cnMuYwpAQCAtMTkwNSw4ICsxOTA1LDcgQEAgc3RhdGljIGludCBtdnBwMl9wcnNfaXA2X2luaXQo c3RydWN0IG12cHAyICpwcml2KQogfQogCiAvKiBGaW5kIHRjYW0gZW50cnkgd2l0aCBtYXRjaGVk IHBhaXIgPHZpZCxwb3J0PiAqLwotc3RhdGljIGludCBtdnBwMl9wcnNfdmlkX3JhbmdlX2ZpbmQo c3RydWN0IG12cHAyICpwcml2LCBpbnQgcG1hcCwgdTE2IHZpZCwKLQkJCQkgICAgdTE2IG1hc2sp CitzdGF0aWMgaW50IG12cHAyX3Byc192aWRfcmFuZ2VfZmluZChzdHJ1Y3QgbXZwcDJfcG9ydCAq cG9ydCwgdTE2IHZpZCwgdTE2IG1hc2spCiB7CiAJdW5zaWduZWQgY2hhciBieXRlWzJdLCBlbmFi bGVbMl07CiAJc3RydWN0IG12cHAyX3Byc19lbnRyeSBwZTsKQEAgLTE5MTQsMTMgKzE5MTMsMTMg QEAgc3RhdGljIGludCBtdnBwMl9wcnNfdmlkX3JhbmdlX2ZpbmQoc3RydWN0IG12cHAyICpwcml2 LCBpbnQgcG1hcCwgdTE2IHZpZCwKIAlpbnQgdGlkOwogCiAJLyogR28gdGhyb3VnaCB0aGUgYWxs IGVudHJpZXMgd2l0aCBNVlBQMl9QUlNfTFVfVklEICovCi0JZm9yICh0aWQgPSBNVlBQMl9QRV9W SURfRklMVF9SQU5HRV9TVEFSVDsKLQkgICAgIHRpZCA8PSBNVlBQMl9QRV9WSURfRklMVF9SQU5H RV9FTkQ7IHRpZCsrKSB7Ci0JCWlmICghcHJpdi0+cHJzX3NoYWRvd1t0aWRdLnZhbGlkIHx8Ci0J CSAgICBwcml2LT5wcnNfc2hhZG93W3RpZF0ubHUgIT0gTVZQUDJfUFJTX0xVX1ZJRCkKKwlmb3Ig KHRpZCA9IE1WUFAyX1BSU19WSURfUE9SVF9GSVJTVChwb3J0LT5pZCk7CisJICAgICB0aWQgPD0g TVZQUDJfUFJTX1ZJRF9QT1JUX0xBU1QocG9ydC0+aWQpOyB0aWQrKykgeworCQlpZiAoIXBvcnQt PnByaXYtPnByc19zaGFkb3dbdGlkXS52YWxpZCB8fAorCQkgICAgcG9ydC0+cHJpdi0+cHJzX3No YWRvd1t0aWRdLmx1ICE9IE1WUFAyX1BSU19MVV9WSUQpCiAJCQljb250aW51ZTsKIAotCQltdnBw Ml9wcnNfaW5pdF9mcm9tX2h3KHByaXYsICZwZSwgdGlkKTsKKwkJbXZwcDJfcHJzX2luaXRfZnJv bV9odyhwb3J0LT5wcml2LCAmcGUsIHRpZCk7CiAKIAkJbXZwcDJfcHJzX3RjYW1fZGF0YV9ieXRl X2dldCgmcGUsIDIsICZieXRlWzBdLCAmZW5hYmxlWzBdKTsKIAkJbXZwcDJfcHJzX3RjYW1fZGF0 YV9ieXRlX2dldCgmcGUsIDMsICZieXRlWzFdLCAmZW5hYmxlWzFdKTsKQEAgLTE5NTAsNyArMTk0 OSw3IEBAIGludCBtdnBwMl9wcnNfdmlkX2VudHJ5X2FkZChzdHJ1Y3QgbXZwcDJfcG9ydCAqcG9y dCwgdTE2IHZpZCkKIAltZW1zZXQoJnBlLCAwLCBzaXplb2YocGUpKTsKIAogCS8qIFNjYW4gVENB TSBhbmQgc2VlIGlmIGVudHJ5IHdpdGggdGhpcyA8dmlkLHBvcnQ+IGFscmVhZHkgZXhpc3QgKi8K LQl0aWQgPSBtdnBwMl9wcnNfdmlkX3JhbmdlX2ZpbmQocHJpdiwgKDEgPDwgcG9ydC0+aWQpLCB2 aWQsIG1hc2spOworCXRpZCA9IG12cHAyX3Byc192aWRfcmFuZ2VfZmluZChwb3J0LCB2aWQsIG1h c2spOwogCiAJcmVnX3ZhbCA9IG12cHAyX3JlYWQocHJpdiwgTVZQUDJfTUhfUkVHKHBvcnQtPmlk KSk7CiAJaWYgKHJlZ192YWwgJiBNVlBQMl9EU0FfRVhURU5ERUQpCkBAIC0yMDA4LDcgKzIwMDcs NyBAQCB2b2lkIG12cHAyX3Byc192aWRfZW50cnlfcmVtb3ZlKHN0cnVjdCBtdnBwMl9wb3J0ICpw b3J0LCB1MTYgdmlkKQogCWludCB0aWQ7CiAKIAkvKiBTY2FuIFRDQU0gYW5kIHNlZSBpZiBlbnRy eSB3aXRoIHRoaXMgPHZpZCxwb3J0PiBhbHJlYWR5IGV4aXN0ICovCi0JdGlkID0gbXZwcDJfcHJz X3ZpZF9yYW5nZV9maW5kKHByaXYsICgxIDw8IHBvcnQtPmlkKSwgdmlkLCAweGZmZik7CisJdGlk ID0gbXZwcDJfcHJzX3ZpZF9yYW5nZV9maW5kKHBvcnQsIHZpZCwgMHhmZmYpOwogCiAJLyogTm8g c3VjaCBlbnRyeSAqLwogCWlmICh0aWQgPCAwKQotLSAKMi4yMC4xCgoKRnJvbSAwMWQxMDEyYzM0 MDk3YmFmYTJhMDY2ZjM4YjE3MDdmZjhlZDg3YzI0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBNYXhpbWUgQ2hldmFsbGllciA8bWF4aW1lLmNoZXZhbGxpZXJAYm9vdGxpbi5jb20+CkRh dGU6IFR1ZSwgMTEgSnVuIDIwMTkgMTE6NTE6NDMgKzAyMDAKU3ViamVjdDogW1BBVENIIDIwLzMx XSBuZXQ6IG12cHAyOiBwcnM6IFVzZSB0aGUgY29ycmVjdCBoZWxwZXJzIHdoZW4gcmVtb3ZpbmcK IGFsbCBWSUQgZmlsdGVycwoKWyBVcHN0cmVhbSBjb21taXQgNmI3YTM0MzBjMTYzNDU1Y2Y4YTUx NGQ2MzZiZGE1MmIwNDY1NDk3MiBdCgpXaGVuIHJlbW92aW5nIGFsbCBWSUQgZmlsdGVycywgdGhl IG12cHAyX3Byc192aWRfZW50cnlfcmVtb3ZlIHdvdWxkIGJlCmNhbGxlZCB3aXRoIHRoZSBUQ0FN IGlkIGluY29ycmVjdGx5IHVzZWQgYXMgYSBWSUQsIGNhdXNpbmcgdGhlIHdyb25nClRDQU0gZW50 cmllcyB0byBiZSBpbnZhbGlkYXRlZC4KCkZpeCB0aGlzIGJ5IGRpcmVjdGx5IGludmFsaWRhdGlu ZyBlbnRyaWVzIGluIHRoZSBWSUQgcmFuZ2UuCgpGaXhlczogNTZiZWRhM2RiNjAyICgibmV0OiBt dnBwMjogQWRkIGhhcmR3YXJlIG9mZmxvYWRpbmcgZm9yIFZMQU4gZmlsdGVyaW5nIikKU3VnZ2Vz dGVkLWJ5OiBZdXJpIENoaXBjaGV2IDx5dXJpY0BtYXJ2ZWxsLmNvbT4KU2lnbmVkLW9mZi1ieTog TWF4aW1lIENoZXZhbGxpZXIgPG1heGltZS5jaGV2YWxsaWVyQGJvb3RsaW4uY29tPgpTaWduZWQt b2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVy cy9uZXQvZXRoZXJuZXQvbWFydmVsbC9tdnBwMi9tdnBwMl9wcnMuYyB8IDYgKysrKy0tCiAxIGZp bGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvbXZwcDIvbXZwcDJfcHJzLmMgYi9kcml2ZXJz L25ldC9ldGhlcm5ldC9tYXJ2ZWxsL212cHAyL212cHAyX3Bycy5jCmluZGV4IGUwZGE0ZGIzYmY1 Ni4uYWUyMjQwMDc0ZDhlIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxs L212cHAyL212cHAyX3Bycy5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvbXZw cDIvbXZwcDJfcHJzLmMKQEAgLTIwMjUsOCArMjAyNSwxMCBAQCB2b2lkIG12cHAyX3Byc192aWRf cmVtb3ZlX2FsbChzdHJ1Y3QgbXZwcDJfcG9ydCAqcG9ydCkKIAogCWZvciAodGlkID0gTVZQUDJf UFJTX1ZJRF9QT1JUX0ZJUlNUKHBvcnQtPmlkKTsKIAkgICAgIHRpZCA8PSBNVlBQMl9QUlNfVklE X1BPUlRfTEFTVChwb3J0LT5pZCk7IHRpZCsrKSB7Ci0JCWlmIChwcml2LT5wcnNfc2hhZG93W3Rp ZF0udmFsaWQpCi0JCQltdnBwMl9wcnNfdmlkX2VudHJ5X3JlbW92ZShwb3J0LCB0aWQpOworCQlp ZiAocHJpdi0+cHJzX3NoYWRvd1t0aWRdLnZhbGlkKSB7CisJCQltdnBwMl9wcnNfaHdfaW52KHBy aXYsIHRpZCk7CisJCQlwcml2LT5wcnNfc2hhZG93W3RpZF0udmFsaWQgPSBmYWxzZTsKKwkJfQog CX0KIH0KIAotLSAKMi4yMC4xCgoKRnJvbSBhNzgzMTBiZjQ3ZGQzYmQxYzIzMGVkZjRjZjY5ZDY0 MWM4OGYxYmY5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSGFuY29jayA8 aGFuY29ja0BzZWRzeXN0ZW1zLmNhPgpEYXRlOiBXZWQsIDEyIEp1biAyMDE5IDE0OjMzOjMyIC0w NjAwClN1YmplY3Q6IFtQQVRDSCAyMS8zMV0gbmV0OiBkc2E6IG1pY3JvY2hpcDogRG9uJ3QgdHJ5 IHRvIHJlYWQgc3RhdHMgZm9yIHVudXNlZAogcG9ydHMKClsgVXBzdHJlYW0gY29tbWl0IDZiYjll Mzc2YzJhNGNjNTEyMGMzYmY1ZmQzMDQ4YjlhMGE2ZWMxZjggXQoKSWYgc29tZSBvZiB0aGUgc3dp dGNoIHBvcnRzIHdlcmUgbm90IGxpc3RlZCBpbiB0aGUgZGV2aWNlIHRyZWUsIGR1ZSB0bwpiZWlu ZyB1bnVzZWQsIHRoZSBrc3pfbWliX3JlYWRfd29yayBmdW5jdGlvbiBlbmRlZCB1cCBhY2Nlc3Np bmcgYSBOVUxMCmRwLT5zbGF2ZSBwb2ludGVyIGFuZCBjYXVzaW5nIGFuIG9vcHMuIFNraXAgY2hl Y2tpbmcgc3RhdGlzdGljcyBmb3IgYW55CnVudXNlZCBwb3J0cy4KCkZpeGVzOiA3YzZmZjQ3MGFh ODY3ZjUzICgibmV0OiBkc2E6IG1pY3JvY2hpcDogYWRkIE1JQiBjb3VudGVyIHJlYWRpbmcgc3Vw cG9ydCIpClNpZ25lZC1vZmYtYnk6IFJvYmVydCBIYW5jb2NrIDxoYW5jb2NrQHNlZHN5c3RlbXMu Y2E+ClJldmlld2VkLWJ5OiBWaXZpZW4gRGlkZWxvdCA8dml2aWVuLmRpZGVsb3RAZ21haWwuY29t PgpSZXZpZXdlZC1ieTogQW5kcmV3IEx1bm4gPGFuZHJld0BsdW5uLmNoPgpSZXZpZXdlZC1ieTog RmxvcmlhbiBGYWluZWxsaSA8Zi5mYWluZWxsaUBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERh dmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9kc2Ev bWljcm9jaGlwL2tzel9jb21tb24uYyB8IDMgKysrCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRp b25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZHNhL21pY3JvY2hpcC9rc3pfY29tbW9u LmMgYi9kcml2ZXJzL25ldC9kc2EvbWljcm9jaGlwL2tzel9jb21tb24uYwppbmRleCAzOWRhY2U4 ZTM1MTIuLmY0NjA4NmZhOTA2NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZHNhL21pY3JvY2hp cC9rc3pfY29tbW9uLmMKKysrIGIvZHJpdmVycy9uZXQvZHNhL21pY3JvY2hpcC9rc3pfY29tbW9u LmMKQEAgLTgzLDYgKzgzLDkgQEAgc3RhdGljIHZvaWQga3N6X21pYl9yZWFkX3dvcmsoc3RydWN0 IHdvcmtfc3RydWN0ICp3b3JrKQogCWludCBpOwogCiAJZm9yIChpID0gMDsgaSA8IGRldi0+bWli X3BvcnRfY250OyBpKyspIHsKKwkJaWYgKGRzYV9pc191bnVzZWRfcG9ydChkZXYtPmRzLCBpKSkK KwkJCWNvbnRpbnVlOworCiAJCXAgPSAmZGV2LT5wb3J0c1tpXTsKIAkJbWliID0gJnAtPm1pYjsK IAkJbXV0ZXhfbG9jaygmbWliLT5jbnRfbXV0ZXgpOwotLSAKMi4yMC4xCgoKRnJvbSAyMTNkNWJl MjgyNzIzYTgwOTE4ODFhMzBhMWIyYzg5MTc2NDMxNDdhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBNYXhpbWUgQ2hldmFsbGllciA8bWF4aW1lLmNoZXZhbGxpZXJAYm9vdGxpbi5jb20+ CkRhdGU6IFdlZCwgMTIgSnVuIDIwMTkgMTc6MTg6MzggKzAyMDAKU3ViamVjdDogW1BBVENIIDIy LzMxXSBuZXQ6IGV0aHRvb2w6IEFsbG93IG1hdGNoaW5nIG9uIHZsYW4gREVJIGJpdApNSU1FLVZl cnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVu dC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKWyBVcHN0cmVhbSBjb21taXQgZjBkMmNhMTUzMTM3 N2U3ZGE4ODg5MTNlMjc3ZWVmYWMwNWE1OWI2ZiBdCgpVc2luZyBldGh0b29sLCB1c2VycyBjYW4g c3BlY2lmeSBhIGNsYXNzaWZpY2F0aW9uIGFjdGlvbiBtYXRjaGluZyBvbiB0aGUKZnVsbCB2bGFu IHRhZywgd2hpY2ggaW5jbHVkZXMgdGhlIERFSSBiaXQgKGFsc28gcHJldmlvdXNseSBjYWxsZWQg Q0ZJKS4KCkhvd2V2ZXIsIHdoZW4gY29udmVydGluZyB0aGUgZXRob29sX2Zsb3dfc3BlYyB0byBh IGZsb3dfcnVsZSwgd2UgdXNlCmRpc3NlY3RvciBrZXlzIHRvIHJlcHJlc2VudCB0aGUgbWF0Y2hp bmcgcGF0dGVybnMuCgpTaW5jZSB0aGUgdmxhbiBkaXNzZWN0b3Iga2V5IGRvZXNuJ3QgaW5jbHVk ZSB0aGUgREVJIGJpdCwgdGhpcwppbmZvcm1hdGlvbiB3YXMgc2lsZW50bHkgZGlzY2FyZGVkIHdo ZW4gdHJhbnNsYXRpbmcgdGhlIGV0aHRvb2wKZmxvdyBzcGVjIGluIHRvIGEgZmxvd19ydWxlLgoK VGhpcyBjb21taXQgYWRkcyB0aGUgREVJIGJpdCBpbnRvIHRoZSB2bGFuIGRpc3NlY3RvciBrZXks IGFuZCBhbGxvd3MKcHJvcGFnYXRpbmcgdGhlIGluZm9ybWF0aW9uIHRvIHRoZSBkcml2ZXIgd2hl biBwYXJzaW5nIHRoZSBldGh0b29sIGZsb3cKc3BlYy4KCkZpeGVzOiBlY2E0MjA1ZjllYzMgKCJl dGh0b29sOiBhZGQgZXRodG9vbF9yeF9mbG93X3NwZWMgdG8gZmxvd19ydWxlIHN0cnVjdHVyZSB0 cmFuc2xhdG9yIikKUmVwb3J0ZWQtYnk6IE1pY2hhxYIgTWlyb3PFgmF3IDxtaXJxLWxpbnV4QHJl cmUucW1xbS5wbD4KU2lnbmVkLW9mZi1ieTogTWF4aW1lIENoZXZhbGxpZXIgPG1heGltZS5jaGV2 YWxsaWVyQGJvb3RsaW4uY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogaW5jbHVkZS9uZXQvZmxvd19kaXNzZWN0b3IuaCB8IDEgKwog bmV0L2NvcmUvZXRodG9vbC5jICAgICAgICAgICB8IDUgKysrKysKIDIgZmlsZXMgY2hhbmdlZCwg NiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvZmxvd19kaXNzZWN0b3Iu aCBiL2luY2x1ZGUvbmV0L2Zsb3dfZGlzc2VjdG9yLmgKaW5kZXggMmIyNjk3OWVmYjQ4Li5mYzBk NDcxYWY0YjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbmV0L2Zsb3dfZGlzc2VjdG9yLmgKKysrIGIv aW5jbHVkZS9uZXQvZmxvd19kaXNzZWN0b3IuaApAQCAtNDYsNiArNDYsNyBAQCBzdHJ1Y3QgZmxv d19kaXNzZWN0b3Jfa2V5X3RhZ3MgewogCiBzdHJ1Y3QgZmxvd19kaXNzZWN0b3Jfa2V5X3ZsYW4g ewogCXUxNgl2bGFuX2lkOjEyLAorCQl2bGFuX2RlaToxLAogCQl2bGFuX3ByaW9yaXR5OjM7CiAJ X19iZTE2CXZsYW5fdHBpZDsKIH07CmRpZmYgLS1naXQgYS9uZXQvY29yZS9ldGh0b29sLmMgYi9u ZXQvY29yZS9ldGh0b29sLmMKaW5kZXggNzI4NWExOWJiMTM1Li43Yjg0ZTAxNDYzM2EgMTAwNjQ0 Ci0tLSBhL25ldC9jb3JlL2V0aHRvb2wuYworKysgYi9uZXQvY29yZS9ldGh0b29sLmMKQEAgLTMw MjIsNiArMzAyMiwxMSBAQCBldGh0b29sX3J4X2Zsb3dfcnVsZV9jcmVhdGUoY29uc3Qgc3RydWN0 IGV0aHRvb2xfcnhfZmxvd19zcGVjX2lucHV0ICppbnB1dCkKIAkJCW1hdGNoLT5tYXNrLnZsYW4u dmxhbl9pZCA9CiAJCQkJbnRvaHMoZXh0X21fc3BlYy0+dmxhbl90Y2kpICYgMHgwZmZmOwogCisJ CQltYXRjaC0+a2V5LnZsYW4udmxhbl9kZWkgPQorCQkJCSEhKGV4dF9oX3NwZWMtPnZsYW5fdGNp ICYgaHRvbnMoMHgxMDAwKSk7CisJCQltYXRjaC0+bWFzay52bGFuLnZsYW5fZGVpID0KKwkJCQkh IShleHRfbV9zcGVjLT52bGFuX3RjaSAmIGh0b25zKDB4MTAwMCkpOworCiAJCQltYXRjaC0+a2V5 LnZsYW4udmxhbl9wcmlvcml0eSA9CiAJCQkJKG50b2hzKGV4dF9oX3NwZWMtPnZsYW5fdGNpKSAm IDB4ZTAwMCkgPj4gMTM7CiAJCQltYXRjaC0+bWFzay52bGFuLnZsYW5fcHJpb3JpdHkgPQotLSAK Mi4yMC4xCgoKRnJvbSA1ZmUyMWNiNzQyNjNmOTM1NTcxNzExODIzZWQ1NzFjMzI2YTQzNmJlIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFZHdhcmQgU3JvdWppIDxlZHdhcmRzQG1lbGxh bm94LmNvbT4KRGF0ZTogVGh1LCAyMyBNYXkgMjAxOSAxOTo0NTozOCArMDMwMApTdWJqZWN0OiBb UEFUQ0ggMjMvMzFdIG5ldC9tbHg1OiBVcGRhdGUgcGNpIGVycm9yIGhhbmRsZXIgZW50cmllcyBh bmQgY29tbWFuZAogdHJhbnNsYXRpb24KCkFkZCBtaXNzaW5nIGVudHJpZXMgZm9yIGNyZWF0ZS9k ZXN0cm95IFVDVFggYW5kIFVNRU0gY29tbWFuZHMuClRoaXMgY291bGQgZ2V0IHVzIHdyb25nICJ1 bmtub3duIEZXIGNvbW1hbmQiIGVycm9yIGluIGZsb3dzCndoZXJlIHdlIHVuYmluZCB0aGUgZGV2 aWNlIG9yIHJlc2V0IHRoZSBkcml2ZXIuCgpBbHNvIHRoZSB0cmFuc2xhdGlvbiBvZiB0aGVzZSBj b21tYW5kcyBmcm9tIG9wY29kZXMgdG8gc3RyaW5nCndhcyBtaXNzaW5nLgoKRml4ZXM6IDZlMzcy MmJhYWMwNCAoIklCL21seDU6IFVzZSB0aGUgY29ycmVjdCBjb21tYW5kcyBmb3IgVU1FTSBhbmQg VUNUWCBhbGxvY2F0aW9uIikKU2lnbmVkLW9mZi1ieTogRWR3YXJkIFNyb3VqaSA8ZWR3YXJkc0Bt ZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFu b3guY29tPgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9jbWQu YyB8IDggKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvY21kLmMgYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvY21kLmMKaW5kZXggYmU0OGM2NDQw MjUxLi5jMjA1YTgwYWJkZWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxh bm94L21seDUvY29yZS9jbWQuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9t bHg1L2NvcmUvY21kLmMKQEAgLTQ0MSw2ICs0NDEsMTAgQEAgc3RhdGljIGludCBtbHg1X2ludGVy bmFsX2Vycl9yZXRfdmFsdWUoc3RydWN0IG1seDVfY29yZV9kZXYgKmRldiwgdTE2IG9wLAogCWNh c2UgTUxYNV9DTURfT1BfQ1JFQVRFX0dFTkVSQUxfT0JKRUNUOgogCWNhc2UgTUxYNV9DTURfT1Bf TU9ESUZZX0dFTkVSQUxfT0JKRUNUOgogCWNhc2UgTUxYNV9DTURfT1BfUVVFUllfR0VORVJBTF9P QkpFQ1Q6CisJY2FzZSBNTFg1X0NNRF9PUF9DUkVBVEVfVUNUWDoKKwljYXNlIE1MWDVfQ01EX09Q X0RFU1RST1lfVUNUWDoKKwljYXNlIE1MWDVfQ01EX09QX0NSRUFURV9VTUVNOgorCWNhc2UgTUxY NV9DTURfT1BfREVTVFJPWV9VTUVNOgogCWNhc2UgTUxYNV9DTURfT1BfQUxMT0NfTUVNSUM6CiAJ CSpzdGF0dXMgPSBNTFg1X0RSSVZFUl9TVEFUVVNfQUJPUlRFRDsKIAkJKnN5bmQgPSBNTFg1X0RS SVZFUl9TWU5EOwpAQCAtNjI5LDYgKzYzMywxMCBAQCBjb25zdCBjaGFyICptbHg1X2NvbW1hbmRf c3RyKGludCBjb21tYW5kKQogCU1MWDVfQ09NTUFORF9TVFJfQ0FTRShBTExPQ19NRU1JQyk7CiAJ TUxYNV9DT01NQU5EX1NUUl9DQVNFKERFQUxMT0NfTUVNSUMpOwogCU1MWDVfQ09NTUFORF9TVFJf Q0FTRShRVUVSWV9IT1NUX1BBUkFNUyk7CisJTUxYNV9DT01NQU5EX1NUUl9DQVNFKENSRUFURV9V Q1RYKTsKKwlNTFg1X0NPTU1BTkRfU1RSX0NBU0UoREVTVFJPWV9VQ1RYKTsKKwlNTFg1X0NPTU1B TkRfU1RSX0NBU0UoQ1JFQVRFX1VNRU0pOworCU1MWDVfQ09NTUFORF9TVFJfQ0FTRShERVNUUk9Z X1VNRU0pOwogCWRlZmF1bHQ6IHJldHVybiAidW5rbm93biBjb21tYW5kIG9wY29kZSI7CiAJfQog fQotLSAKMi4yMC4xCgoKRnJvbSA4NTk2M2FiODE1MjY3Y2VhNzE0Y2IwMDk3OTViNzEyMjE1ZjMx NTRiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBJZG8gU2NoaW1tZWwgPGlkb3NjaEBt ZWxsYW5veC5jb20+CkRhdGU6IFR1ZSwgMTEgSnVuIDIwMTkgMTA6MTk6NDEgKzAzMDAKU3ViamVj dDogW1BBVENIIDI0LzMxXSBtbHhzdzogc3BlY3RydW1fcm91dGVyOiBSZWZyZXNoIG5leHRob3Ag bmVpZ2hib3VyIHdoZW4KIGl0IGJlY29tZXMgZGVhZAoKVGhlIGRyaXZlciB0cmllcyB0byBwZXJp b2RpY2FsbHkgcmVmcmVzaCBuZWlnaGJvdXJzIHRoYXQgYXJlIHVzZWQgdG8KcmVhY2ggbmV4dGhv cHMuIFRoaXMgaXMgZG9uZSBieSBwZXJpb2RpY2FsbHkgY2FsbGluZyBuZWlnaF9ldmVudF9zZW5k KCkuCgpIb3dldmVyLCBpZiB0aGUgbmVpZ2hib3VyIGJlY29tZXMgZGVhZCwgdGhlcmUgaXMgbm90 aGluZyB3ZSBjYW4gZG8gdG8KcmV0dXJuIGl0IHRvIGEgY29ubmVjdGVkIHN0YXRlIGFuZCB0aGUg YWJvdmUgZnVuY3Rpb24gY2FsbCBpcyBiYXNpY2FsbHkKYSBOT1AuCgpUaGlzIHJlc3VsdHMgaW4g dGhlIG5leHRob3AgbmV2ZXIgYmVpbmcgd3JpdHRlbiB0byB0aGUgZGV2aWNlJ3MKYWRqYWNlbmN5 IHRhYmxlIGFuZCB0aGVyZWZvcmUgbmV2ZXIgdXNlZCB0byBmb3J3YXJkIHBhY2tldHMuCgpGaXgg dGhpcyBieSBkcm9wcGluZyBvdXIgcmVmZXJlbmNlIGZyb20gdGhlIGRlYWQgbmVpZ2hib3VyIGFu ZAphc3NvY2lhdGluZyB0aGUgbmV4dGhvcCB3aXRoIGEgbmV3IG5laWdiaG91ciB3aGljaCB3ZSB3 aWxsIHRyeSB0bwpyZWZyZXNoLgoKRml4ZXM6IGE3ZmY4N2FjZDk5NSAoIm1seHN3OiBzcGVjdHJ1 bV9yb3V0ZXI6IEltcGxlbWVudCBuZXh0LWhvcCByb3V0aW5nIikKU2lnbmVkLW9mZi1ieTogSWRv IFNjaGltbWVsIDxpZG9zY2hAbWVsbGFub3guY29tPgpSZXBvcnRlZC1ieTogQWxleCBWZWJlciA8 YWxleHZlQG1lbGxhbm94LmNvbT4KVGVzdGVkLWJ5OiBBbGV4IFZlYmVyIDxhbGV4dmVAbWVsbGFu b3guY29tPgpBY2tlZC1ieTogSmlyaSBQaXJrbyA8amlyaUBtZWxsYW5veC5jb20+ClNpZ25lZC1v ZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiAuLi4vZXRo ZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW1fcm91dGVyLmMgfCA3MyArKysrKysrKysrKysr KysrKystCiAxIGZpbGUgY2hhbmdlZCwgNzAgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1 bV9yb3V0ZXIuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seHN3L3NwZWN0cnVt X3JvdXRlci5jCmluZGV4IDkwMmU3NjZhOGVkMy4uMThkMjliOGY3NjNmIDEwMDY0NAotLS0gYS9k cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bV9yb3V0ZXIuYworKysg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bV9yb3V0ZXIuYwpA QCAtMjM2Myw3ICsyMzYzLDcgQEAgc3RhdGljIHZvaWQgbWx4c3dfc3Bfcm91dGVyX3Byb2JlX3Vu cmVzb2x2ZWRfbmV4dGhvcHMoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogc3RhdGljIHZvaWQK IG1seHN3X3NwX25leHRob3BfbmVpZ2hfdXBkYXRlKHN0cnVjdCBtbHhzd19zcCAqbWx4c3dfc3As CiAJCQkgICAgICBzdHJ1Y3QgbWx4c3dfc3BfbmVpZ2hfZW50cnkgKm5laWdoX2VudHJ5LAotCQkJ ICAgICAgYm9vbCByZW1vdmluZyk7CisJCQkgICAgICBib29sIHJlbW92aW5nLCBib29sIGRlYWQp OwogCiBzdGF0aWMgZW51bSBtbHhzd19yZWdfcmF1aHRfb3AgbWx4c3dfc3BfcmF1aHRfb3AoYm9v bCBhZGRpbmcpCiB7CkBAIC0yNDk0LDcgKzI0OTQsOCBAQCBzdGF0aWMgdm9pZCBtbHhzd19zcF9y b3V0ZXJfbmVpZ2hfZXZlbnRfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAKIAltZW1j cHkobmVpZ2hfZW50cnktPmhhLCBoYSwgRVRIX0FMRU4pOwogCW1seHN3X3NwX25laWdoX2VudHJ5 X3VwZGF0ZShtbHhzd19zcCwgbmVpZ2hfZW50cnksIGVudHJ5X2Nvbm5lY3RlZCk7Ci0JbWx4c3df c3BfbmV4dGhvcF9uZWlnaF91cGRhdGUobWx4c3dfc3AsIG5laWdoX2VudHJ5LCAhZW50cnlfY29u bmVjdGVkKTsKKwltbHhzd19zcF9uZXh0aG9wX25laWdoX3VwZGF0ZShtbHhzd19zcCwgbmVpZ2hf ZW50cnksICFlbnRyeV9jb25uZWN0ZWQsCisJCQkJICAgICAgZGVhZCk7CiAKIAlpZiAoIW5laWdo X2VudHJ5LT5jb25uZWN0ZWQgJiYgbGlzdF9lbXB0eSgmbmVpZ2hfZW50cnktPm5leHRob3BfbGlz dCkpCiAJCW1seHN3X3NwX25laWdoX2VudHJ5X2Rlc3Ryb3kobWx4c3dfc3AsIG5laWdoX2VudHJ5 KTsKQEAgLTM0NTgsMTMgKzM0NTksNzkgQEAgc3RhdGljIHZvaWQgX19tbHhzd19zcF9uZXh0aG9w X25laWdoX3VwZGF0ZShzdHJ1Y3QgbWx4c3dfc3BfbmV4dGhvcCAqbmgsCiAJbmgtPnVwZGF0ZSA9 IDE7CiB9CiAKK3N0YXRpYyBpbnQKK21seHN3X3NwX25leHRob3BfZGVhZF9uZWlnaF9yZXBsYWNl KHN0cnVjdCBtbHhzd19zcCAqbWx4c3dfc3AsCisJCQkJICAgIHN0cnVjdCBtbHhzd19zcF9uZWln aF9lbnRyeSAqbmVpZ2hfZW50cnkpCit7CisJc3RydWN0IG5laWdoYm91ciAqbiwgKm9sZF9uID0g bmVpZ2hfZW50cnktPmtleS5uOworCXN0cnVjdCBtbHhzd19zcF9uZXh0aG9wICpuaDsKKwlib29s IGVudHJ5X2Nvbm5lY3RlZDsKKwl1OCBudWRfc3RhdGUsIGRlYWQ7CisJaW50IGVycjsKKworCW5o ID0gbGlzdF9maXJzdF9lbnRyeSgmbmVpZ2hfZW50cnktPm5leHRob3BfbGlzdCwKKwkJCSAgICAg IHN0cnVjdCBtbHhzd19zcF9uZXh0aG9wLCBuZWlnaF9saXN0X25vZGUpOworCisJbiA9IG5laWdo X2xvb2t1cChuaC0+bmhfZ3JwLT5uZWlnaF90YmwsICZuaC0+Z3dfYWRkciwgbmgtPnJpZi0+ZGV2 KTsKKwlpZiAoIW4pIHsKKwkJbiA9IG5laWdoX2NyZWF0ZShuaC0+bmhfZ3JwLT5uZWlnaF90Ymws ICZuaC0+Z3dfYWRkciwKKwkJCQkgbmgtPnJpZi0+ZGV2KTsKKwkJaWYgKElTX0VSUihuKSkKKwkJ CXJldHVybiBQVFJfRVJSKG4pOworCQluZWlnaF9ldmVudF9zZW5kKG4sIE5VTEwpOworCX0KKwor CW1seHN3X3NwX25laWdoX2VudHJ5X3JlbW92ZShtbHhzd19zcCwgbmVpZ2hfZW50cnkpOworCW5l aWdoX2VudHJ5LT5rZXkubiA9IG47CisJZXJyID0gbWx4c3dfc3BfbmVpZ2hfZW50cnlfaW5zZXJ0 KG1seHN3X3NwLCBuZWlnaF9lbnRyeSk7CisJaWYgKGVycikKKwkJZ290byBlcnJfbmVpZ2hfZW50 cnlfaW5zZXJ0OworCisJcmVhZF9sb2NrX2JoKCZuLT5sb2NrKTsKKwludWRfc3RhdGUgPSBuLT5u dWRfc3RhdGU7CisJZGVhZCA9IG4tPmRlYWQ7CisJcmVhZF91bmxvY2tfYmgoJm4tPmxvY2spOwor CWVudHJ5X2Nvbm5lY3RlZCA9IG51ZF9zdGF0ZSAmIE5VRF9WQUxJRCAmJiAhZGVhZDsKKworCWxp c3RfZm9yX2VhY2hfZW50cnkobmgsICZuZWlnaF9lbnRyeS0+bmV4dGhvcF9saXN0LAorCQkJICAg IG5laWdoX2xpc3Rfbm9kZSkgeworCQluZWlnaF9yZWxlYXNlKG9sZF9uKTsKKwkJbmVpZ2hfY2xv bmUobik7CisJCV9fbWx4c3dfc3BfbmV4dGhvcF9uZWlnaF91cGRhdGUobmgsICFlbnRyeV9jb25u ZWN0ZWQpOworCQltbHhzd19zcF9uZXh0aG9wX2dyb3VwX3JlZnJlc2gobWx4c3dfc3AsIG5oLT5u aF9ncnApOworCX0KKworCW5laWdoX3JlbGVhc2Uobik7CisKKwlyZXR1cm4gMDsKKworZXJyX25l aWdoX2VudHJ5X2luc2VydDoKKwluZWlnaF9lbnRyeS0+a2V5Lm4gPSBvbGRfbjsKKwltbHhzd19z cF9uZWlnaF9lbnRyeV9pbnNlcnQobWx4c3dfc3AsIG5laWdoX2VudHJ5KTsKKwluZWlnaF9yZWxl YXNlKG4pOworCXJldHVybiBlcnI7Cit9CisKIHN0YXRpYyB2b2lkCiBtbHhzd19zcF9uZXh0aG9w X25laWdoX3VwZGF0ZShzdHJ1Y3QgbWx4c3dfc3AgKm1seHN3X3NwLAogCQkJICAgICAgc3RydWN0 IG1seHN3X3NwX25laWdoX2VudHJ5ICpuZWlnaF9lbnRyeSwKLQkJCSAgICAgIGJvb2wgcmVtb3Zp bmcpCisJCQkgICAgICBib29sIHJlbW92aW5nLCBib29sIGRlYWQpCiB7CiAJc3RydWN0IG1seHN3 X3NwX25leHRob3AgKm5oOwogCisJaWYgKGxpc3RfZW1wdHkoJm5laWdoX2VudHJ5LT5uZXh0aG9w X2xpc3QpKQorCQlyZXR1cm47CisKKwlpZiAoZGVhZCkgeworCQlpbnQgZXJyOworCisJCWVyciA9 IG1seHN3X3NwX25leHRob3BfZGVhZF9uZWlnaF9yZXBsYWNlKG1seHN3X3NwLAorCQkJCQkJCSAg bmVpZ2hfZW50cnkpOworCQlpZiAoZXJyKQorCQkJZGV2X2VycihtbHhzd19zcC0+YnVzX2luZm8t PmRldiwgIkZhaWxlZCB0byByZXBsYWNlIGRlYWQgbmVpZ2hcbiIpOworCQlyZXR1cm47CisJfQor CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShuaCwgJm5laWdoX2VudHJ5LT5uZXh0aG9wX2xpc3QsCiAJ CQkgICAgbmVpZ2hfbGlzdF9ub2RlKSB7CiAJCV9fbWx4c3dfc3BfbmV4dGhvcF9uZWlnaF91cGRh dGUobmgsIHJlbW92aW5nKTsKLS0gCjIuMjAuMQoKCkZyb20gODljNGYxNjQ5Y2VmMjNhMDAwNzJm ZWY4YzIxZjg0ZTI4OWE1ZGVmZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQ2hyaXMg TWkgPGNocmlzbUBtZWxsYW5veC5jb20+CkRhdGU6IFRodSwgMTYgTWF5IDIwMTkgMTc6MzY6NDMg KzA4MDAKU3ViamVjdDogW1BBVENIIDI1LzMxXSBuZXQvbWx4NWU6IEFkZCBuZG9fc2V0X2ZlYXR1 cmUgZm9yIHVwbGluayByZXByZXNlbnRvcgoKQWZ0ZXIgd2UgaGF2ZSBhIGRlZGljYXRlZCB1cGxp bmsgcmVwcmVzZW50b3IsIHRoZSBuZXcgbmV0ZGV2IG9wcwpkb2Vzbid0IHN1cHBvcnQgbmRvX3Nl dF9mZWF0dXJlLiBCZWNhdXNlIG9mIHRoYXQsIHdlIGNhbid0IGNoYW5nZQpzb21lIGZlYXR1cmVz LCBlZy4gcnh2bGFuLiBOb3cgYWRkIGl0IGJhY2suCgpJbiB0aGlzIHBhdGNoLCBJIGFsc28gZG8g YSBjbGVhbnVwIGZvciB0aGUgZmVhdHVyZXMgZmxhZyBoYW5kbGluZywKZWcuIHJlbW92ZSBkdXBs aWNhdGUgTkVUSUZfRl9IV19UQyBmbGFnIHNldHRpbmcuCgpGaXhlczogYWVjMDAyZjZmODJjICgi bmV0L21seDVlOiBVbmluc3RhbnRpYXRlIGVzdyBtYW5hZ2VyIHZwb3J0IG5ldGRldiBvbiBzd2l0 Y2hkZXYgbW9kZSIpClNpZ25lZC1vZmYtYnk6IENocmlzIE1pIDxjaHJpc21AbWVsbGFub3guY29t PgpSZXZpZXdlZC1ieTogUm9pIERheWFuIDxyb2lkQG1lbGxhbm94LmNvbT4KUmV2aWV3ZWQtYnk6 IFZsYWQgQnVzbG92IDx2bGFkYnVAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBTYWVlZCBN YWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9t ZWxsYW5veC9tbHg1L2NvcmUvZW4uaCAgICAgIHwgIDEgKwogZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4NS9jb3JlL2VuX21haW4uYyB8ICAzICstLQogZHJpdmVycy9uZXQvZXRoZXJu ZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX3JlcC5jICB8IDEwICsrKysrKy0tLS0KIDMgZmlsZXMg Y2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbi5oIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuLmgKaW5kZXggZDNlYWYyY2VhYTM5Li5hODAw MzFiMmNmYWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUv Y29yZS9lbi5oCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9l bi5oCkBAIC0xMDU5LDYgKzEwNTksNyBAQCB2b2lkIG1seDVlX2RlbF92eGxhbl9wb3J0KHN0cnVj dCBuZXRfZGV2aWNlICpuZXRkZXYsIHN0cnVjdCB1ZHBfdHVubmVsX2luZm8gKnRpKQogbmV0ZGV2 X2ZlYXR1cmVzX3QgbWx4NWVfZmVhdHVyZXNfY2hlY2soc3RydWN0IHNrX2J1ZmYgKnNrYiwKIAkJ CQkgICAgICAgc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldiwKIAkJCQkgICAgICAgbmV0ZGV2X2Zl YXR1cmVzX3QgZmVhdHVyZXMpOworaW50IG1seDVlX3NldF9mZWF0dXJlcyhzdHJ1Y3QgbmV0X2Rl dmljZSAqbmV0ZGV2LCBuZXRkZXZfZmVhdHVyZXNfdCBmZWF0dXJlcyk7CiAjaWZkZWYgQ09ORklH X01MWDVfRVNXSVRDSAogaW50IG1seDVlX3NldF92Zl9tYWMoc3RydWN0IG5ldF9kZXZpY2UgKmRl diwgaW50IHZmLCB1OCAqbWFjKTsKIGludCBtbHg1ZV9zZXRfdmZfcmF0ZShzdHJ1Y3QgbmV0X2Rl dmljZSAqZGV2LCBpbnQgdmYsIGludCBtaW5fdHhfcmF0ZSwgaW50IG1heF90eF9yYXRlKTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9tYWlu LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fbWFpbi5jCmlu ZGV4IDFlMjY4OGUyZWQ0Ny4uN2FhOTAwNjMwZDY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fbWFpbi5jCisrKyBiL2RyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9tYWluLmMKQEAgLTM2OTgsOCArMzY5OCw3IEBA IHN0YXRpYyBpbnQgbWx4NWVfaGFuZGxlX2ZlYXR1cmUoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRl diwKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBtbHg1ZV9zZXRfZmVhdHVyZXMoc3RydWN0 IG5ldF9kZXZpY2UgKm5ldGRldiwKLQkJCSAgICAgIG5ldGRldl9mZWF0dXJlc190IGZlYXR1cmVz KQoraW50IG1seDVlX3NldF9mZWF0dXJlcyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LCBuZXRk ZXZfZmVhdHVyZXNfdCBmZWF0dXJlcykKIHsKIAluZXRkZXZfZmVhdHVyZXNfdCBvcGVyX2ZlYXR1 cmVzID0gbmV0ZGV2LT5mZWF0dXJlczsKIAlpbnQgZXJyID0gMDsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9yZXAuYyBiL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9yZXAuYwppbmRleCAwYjA5ZmE5MTAxOWQu LmZkOGNlZGUwNDBiOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gv bWx4NS9jb3JlL2VuX3JlcC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21s eDUvY29yZS9lbl9yZXAuYwpAQCAtMTM1MCw2ICsxMzUwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBuZXRfZGV2aWNlX29wcyBtbHg1ZV9uZXRkZXZfb3BzX3VwbGlua19yZXAgPSB7CiAJLm5kb19n ZXRfdmZfc3RhdHMgICAgICAgID0gbWx4NWVfZ2V0X3ZmX3N0YXRzLAogCS5uZG9fc2V0X3ZmX3Zs YW4gICAgICAgICA9IG1seDVlX3VwbGlua19yZXBfc2V0X3ZmX3ZsYW4sCiAJLm5kb19nZXRfcG9y dF9wYXJlbnRfaWQJID0gbWx4NWVfcmVwX2dldF9wb3J0X3BhcmVudF9pZCwKKwkubmRvX3NldF9m ZWF0dXJlcyAgICAgICAgPSBtbHg1ZV9zZXRfZmVhdHVyZXMsCiB9OwogCiBib29sIG1seDVlX2Vz d2l0Y2hfcmVwKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYpCkBAIC0xNDIzLDEwICsxNDI0LDkg QEAgc3RhdGljIHZvaWQgbWx4NWVfYnVpbGRfcmVwX25ldGRldihzdHJ1Y3QgbmV0X2RldmljZSAq bmV0ZGV2KQogCiAJbmV0ZGV2LT53YXRjaGRvZ190aW1lbyAgICA9IDE1ICogSFo7CiAKKwluZXRk ZXYtPmZlYXR1cmVzICAgICAgIHw9IE5FVElGX0ZfTkVUTlNfTE9DQUw7CiAKLQluZXRkZXYtPmZl YXR1cmVzCSB8PSBORVRJRl9GX0hXX1RDIHwgTkVUSUZfRl9ORVROU19MT0NBTDsKLQluZXRkZXYt Pmh3X2ZlYXR1cmVzICAgICAgfD0gTkVUSUZfRl9IV19UQzsKLQorCW5ldGRldi0+aHdfZmVhdHVy ZXMgICAgfD0gTkVUSUZfRl9IV19UQzsKIAluZXRkZXYtPmh3X2ZlYXR1cmVzICAgIHw9IE5FVElG X0ZfU0c7CiAJbmV0ZGV2LT5od19mZWF0dXJlcyAgICB8PSBORVRJRl9GX0lQX0NTVU07CiAJbmV0 ZGV2LT5od19mZWF0dXJlcyAgICB8PSBORVRJRl9GX0lQVjZfQ1NVTTsKQEAgLTE0MzUsNyArMTQz NSw5IEBAIHN0YXRpYyB2b2lkIG1seDVlX2J1aWxkX3JlcF9uZXRkZXYoc3RydWN0IG5ldF9kZXZp Y2UgKm5ldGRldikKIAluZXRkZXYtPmh3X2ZlYXR1cmVzICAgIHw9IE5FVElGX0ZfVFNPNjsKIAlu ZXRkZXYtPmh3X2ZlYXR1cmVzICAgIHw9IE5FVElGX0ZfUlhDU1VNOwogCi0JaWYgKHJlcC0+dnBv cnQgIT0gTUxYNV9WUE9SVF9VUExJTkspCisJaWYgKHJlcC0+dnBvcnQgPT0gTUxYNV9WUE9SVF9V UExJTkspCisJCW5ldGRldi0+aHdfZmVhdHVyZXMgfD0gTkVUSUZfRl9IV19WTEFOX0NUQUdfUlg7 CisJZWxzZQogCQluZXRkZXYtPmZlYXR1cmVzIHw9IE5FVElGX0ZfVkxBTl9DSEFMTEVOR0VEOwog CiAJbmV0ZGV2LT5mZWF0dXJlcyB8PSBuZXRkZXYtPmh3X2ZlYXR1cmVzOwotLSAKMi4yMC4xCgoK RnJvbSA5MTJlZDA5YzVkNzllZGU5OTEyODkwYTk1ZmU2NDRiYjdhN2IyMWQzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKaXJpIFBpcmtvIDxqaXJpQG1lbGxhbm94LmNvbT4KRGF0ZTog VHVlLCAxMSBKdW4gMjAxOSAxMDoxOTo0MyArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMjYvMzFdIG1s eHN3OiBzcGVjdHJ1bV9mbG93ZXI6IEZpeCBUT1MgbWF0Y2hpbmcKClRoZSBUT1MgdmFsdWUgd2Fz IG5vdCBleHRyYWN0ZWQgY29ycmVjdGx5LiBGaXggaXQuCgpGaXhlczogODc5OTZmOTFmNzM5ICgi bWx4c3c6IHNwZWN0cnVtX2Zsb3dlcjogQWRkIHN1cHBvcnQgZm9yIGlwIHRvcyIpClJlcG9ydGVk LWJ5OiBBbGV4YW5kZXIgUGV0cm92c2tpeSA8YWxleHBlQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9m Zi1ieTogSmlyaSBQaXJrbyA8amlyaUBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IElkbyBT Y2hpbW1lbCA8aWRvc2NoQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWls bGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxh bm94L21seHN3L3NwZWN0cnVtX2Zsb3dlci5jIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBp bnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seHN3L3NwZWN0cnVtX2Zsb3dlci5jIGIvZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW1fZmxvd2VyLmMKaW5kZXggMTVmODA0NDUzY2Q2 Li45NmIyM2M4NTZmNGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94 L21seHN3L3NwZWN0cnVtX2Zsb3dlci5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxh bm94L21seHN3L3NwZWN0cnVtX2Zsb3dlci5jCkBAIC0yNDcsOCArMjQ3LDggQEAgc3RhdGljIGlu dCBtbHhzd19zcF9mbG93ZXJfcGFyc2VfaXAoc3RydWN0IG1seHN3X3NwICptbHhzd19zcCwKIAkJ CQkgICAgICAgbWF0Y2gubWFzay0+dG9zICYgMHgzKTsKIAogCW1seHN3X3NwX2FjbF9ydWxlaV9r ZXltYXNrX3UzMihydWxlaSwgTUxYU1dfQUZLX0VMRU1FTlRfSVBfRFNDUCwKLQkJCQkgICAgICAg bWF0Y2gua2V5LT50b3MgPj4gNiwKLQkJCQkgICAgICAgbWF0Y2gubWFzay0+dG9zID4+IDYpOwor CQkJCSAgICAgICBtYXRjaC5rZXktPnRvcyA+PiAyLAorCQkJCSAgICAgICBtYXRjaC5tYXNrLT50 b3MgPj4gMik7CiAKIAlyZXR1cm4gMDsKIH0KLS0gCjIuMjAuMQoKCkZyb20gYWQ1ODA2Njg1MDhi YmM2ZWI0NzZkODQwMTBjYWM2MjY0MzJiYjdiZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogUmFlZCBTYWxlbSA8cmFlZHNAbWVsbGFub3guY29tPgpEYXRlOiBTdW4sIDIgSnVuIDIwMTkg MTI6MDQ6MDggKzAzMDAKU3ViamVjdDogW1BBVENIIDI3LzMxXSBuZXQvbWx4NWU6IEZpeCBzb3Vy Y2UgcG9ydCBtYXRjaGluZyBpbiBmZGIgcGVlciBmbG93CiBydWxlCgpUaGUgY2l0ZWQgY29tbWl0 IGNoYW5nZWQgdGhlIGluaXRpYWxpemF0aW9uIHBsYWNlbWVudCBvZiB0aGUgZXN3aXRjaAphdHRy aWJ1dGVzIHNvIGl0IGlzIGRvbmUgcHJpb3IgdG8gcGFyc2UgdGMgYWN0aW9ucyBmdW5jdGlvbiBj YWxsLAppbmNsdWRpbmcgYW1vbmcgb3RoZXJzIHRoZSBpbl9yZXAgYW5kIGluX21kZXYgZmllbGRz IHdoaWNoIGFyZSBtaXN0YWtlbmx5CnJlYXNzaWduZWQgaW5zaWRlIHRoZSBwYXJzZSBhY3Rpb25z IGZ1bmN0aW9uLgoKVGhpcyBicmVha3MgdGhlIHNvdXJjZSBwb3J0IG1hdGNoaW5nIGNyaXRlcmlh IG9mIHRoZSBwZWVyIHJlZGlyZWN0IHJ1bGUuCgpGaXggYnkgcmVtb3ZpbmcgdGhlIG5vdyByZWR1 bmRhbnQgcmVhc3NpZ25tZW50IG9mIHRoZSBhbHJlYWR5IGluaXRpYWxpemVkCmZpZWxkcy4KCkZp eGVzOiA5ODhhYjljNzM2M2EgKCJuZXQvbWx4NWU6IEludHJvZHVjZSBtbHg1ZV9mbG93X2Vzd19h dHRyX2luaXQoKSBoZWxwZXIiKQpTaWduZWQtb2ZmLWJ5OiBSYWVkIFNhbGVtIDxyYWVkc0BtZWxs YW5veC5jb20+ClJldmlld2VkLWJ5OiBSb2kgRGF5YW4gPHJvaWRAbWVsbGFub3guY29tPgpTaWdu ZWQtb2ZmLWJ5OiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KLS0tCiBkcml2 ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fdGMuYyB8IDMgLS0tCiAxIGZp bGUgY2hhbmdlZCwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhl cm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fdGMuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21l bGxhbm94L21seDUvY29yZS9lbl90Yy5jCmluZGV4IDRjYjIzNjMxNjE2Yi4uYTQzZGRmYzBmZjBi IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5f dGMuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fdGMu YwpAQCAtMjU3Miw5ICsyNTcyLDYgQEAgc3RhdGljIGludCBwYXJzZV90Y19mZGJfYWN0aW9ucyhz dHJ1Y3QgbWx4NWVfcHJpdiAqcHJpdiwKIAlpZiAoIWZsb3dfYWN0aW9uX2hhc19lbnRyaWVzKGZs b3dfYWN0aW9uKSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlhdHRyLT5pbl9yZXAgPSBycHJpdi0+ cmVwOwotCWF0dHItPmluX21kZXYgPSBwcml2LT5tZGV2OwotCiAJZmxvd19hY3Rpb25fZm9yX2Vh Y2goaSwgYWN0LCBmbG93X2FjdGlvbikgewogCQlzd2l0Y2ggKGFjdC0+aWQpIHsKIAkJY2FzZSBG TE9XX0FDVElPTl9EUk9QOgotLSAKMi4yMC4xCgoKRnJvbSAxYTRjZDU3YTU0NjJhZTQ2YmI1ODIy OWI2MzM2YWRiYThkMGY3OGQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRyIE1h Y2hhdGEgPHBldHJtQG1lbGxhbm94LmNvbT4KRGF0ZTogVHVlLCAxMSBKdW4gMjAxOSAxMDoxOTo0 NSArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMjgvMzFdIG1seHN3OiBzcGVjdHJ1bV9idWZmZXJzOiBS ZWR1Y2UgcG9vbCBzaXplIG9uIFNwZWN0cnVtLTIKCkR1ZSB0byBhbiBpc3N1ZSBvbiBTcGVjdHJ1 bS0yLCBpbiBmcm9udC1wYW5lbCBwb3J0cyBzcGxpdCBmb3VyIHdheXMsIDIgb3V0Cm9mIDMyIHBv cnQgYnVmZmVycyBjYW5ub3QgYmUgdXNlZC4gVG8gd29yayBhcm91bmQgdGhpcywgdGhlIG5leHQg RlcgcmVsZWFzZQp3aWxsIG1hcmsgdGhlbSBhcyB1bnVzZWQsIGFuZCB3aWxsIHJlcG9ydCBjb3Jy ZXNwb25kaW5nbHkgbG93ZXIgdG90YWwKc2hhcmVkIGJ1ZmZlciBzaXplLiBtbHhzdyB3aWxsIHBp Y2sgdXAgdGhlIG5ldyB2YWx1ZSB0aHJvdWdoIGEgcXVlcnkgdG8KY2FwX3RvdGFsX2J1ZmZlcl9z aXplIHJlc291cmNlLiBIb3dldmVyIHRoZSBpbml0aWFsIHNpemUgZm9yIHNoYXJlZCBidWZmZXIK cG9vbCAwIGlzIGhhcmQtY29kZWQgYW5kIHRoZXJlZm9yZSBuZWVkcyB0byBiZSB1cGRhdGVkLgoK VGh1cyByZWR1Y2UgdGhlIHBvb2wgc2l6ZSBieSAyLjcgTWlCICh3aGljaCBjb3JyZXNwb25kcyB0 byAyLzMyIG9mIHRoZQp0b3RhbCBzaXplIG9mIDQyIE1pQiksIGFuZCByb3VuZCBkb3duIHRvIHRo ZSB3aG9sZSBudW1iZXIgb2YgY2VsbHMuCgpGaXhlczogZmUwOTliZjY4MmFiICgibWx4c3c6IHNw ZWN0cnVtX2J1ZmZlcnM6IEFkZCBTcGVjdHJ1bS0yIHNoYXJlZCBidWZmZXIgY29uZmlndXJhdGlv biIpClNpZ25lZC1vZmYtYnk6IFBldHIgTWFjaGF0YSA8cGV0cm1AbWVsbGFub3guY29tPgpBY2tl ZC1ieTogSmlyaSBQaXJrbyA8amlyaUBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IElkbyBT Y2hpbW1lbCA8aWRvc2NoQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWls bGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxh bm94L21seHN3L3NwZWN0cnVtX2J1ZmZlcnMuYyB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIg aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bV9idWZmZXJzLmMgYi9kcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bV9idWZmZXJzLmMKaW5kZXggZDYzM2JlZjVm MTA1Li43N2ZlM2VkMzhkMWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxh bm94L21seHN3L3NwZWN0cnVtX2J1ZmZlcnMuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9t ZWxsYW5veC9tbHhzdy9zcGVjdHJ1bV9idWZmZXJzLmMKQEAgLTQxMSw5ICs0MTEsOSBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IG1seHN3X3NwX3NiX3ByIG1seHN3X3NwMV9zYl9wcnNbXSA9IHsKIAlN TFhTV19TUF9TQl9QUihNTFhTV19SRUdfU0JQUl9NT0RFX1NUQVRJQywgTUxYU1dfU1BfU0JfSU5G SSksCiB9OwogCi0jZGVmaW5lIE1MWFNXX1NQMl9TQl9QUl9JTkdSRVNTX1NJWkUJNDA5NjAwMDAK KyNkZWZpbmUgTUxYU1dfU1AyX1NCX1BSX0lOR1JFU1NfU0laRQkzODEyODc1MgorI2RlZmluZSBN TFhTV19TUDJfU0JfUFJfRUdSRVNTX1NJWkUJMzgxMjg3NTIKICNkZWZpbmUgTUxYU1dfU1AyX1NC X1BSX0lOR1JFU1NfTU5HX1NJWkUgKDIwMCAqIDEwMDApCi0jZGVmaW5lIE1MWFNXX1NQMl9TQl9Q Ul9FR1JFU1NfU0laRQk0MDk2MDAwMAogCiBzdGF0aWMgY29uc3Qgc3RydWN0IG1seHN3X3NwX3Ni X3ByIG1seHN3X3NwMl9zYl9wcnNbXSA9IHsKIAkvKiBJbmdyZXNzIHBvb2xzLiAqLwotLSAKMi4y MC4xCgoKRnJvbSAyZWQwYTk1MDUwZGFjYWI0OGY0NDY4ZWQ0MGRjMjc0NmRiY2IzMWJjIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFbGkgQnJpdHN0ZWluIDxlbGlickBtZWxsYW5veC5j b20+CkRhdGU6IFN1biwgMiBKdW4gMjAxOSAxMzo0Nzo1OSArMDAwMApTdWJqZWN0OiBbUEFUQ0gg MjkvMzFdIG5ldC9tbHg1ZTogU3VwcG9ydCB0YWdnZWQgdHVubmVsIG92ZXIgYm9uZAoKU3RhY2tl ZCBkZXZpY2VzIGxpa2UgYm9uZCBpbnRlcmZhY2UgbWF5IGhhdmUgYSBWTEFOIGRldmljZSBvbiB0 b3Agb2YKdGhlbS4gRGV0ZWN0IGxhZyBzdGF0ZSBjb3JyZWN0bHkgdW5kZXIgdGhpcyBjb25kaXRp b24sIGFuZCByZXR1cm4gdGhlCmNvcnJlY3Qgcm91dGVkIG5ldCBkZXZpY2UsIGFjY29yZGluZyB0 byBpdCB0aGUgZW5jYXAgaGVhZGVyIGlzIGJ1aWx0LgoKRml4ZXM6IGUzMmVlNmM3OGVmYSAoIm5l dC9tbHg1ZTogU3VwcG9ydCB0dW5uZWwgZW5jYXAgb3ZlciB0YWdnZWQgRXRoZXJuZXQiKQpTaWdu ZWQtb2ZmLWJ5OiBFbGkgQnJpdHN0ZWluIDxlbGlickBtZWxsYW5veC5jb20+ClJldmlld2VkLWJ5 OiBSb2kgRGF5YW4gPHJvaWRAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBTYWVlZCBNYWhh bWVlZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxs YW5veC9tbHg1L2NvcmUvZW4vdGNfdHVuLmMgfCAxMSArKysrKystLS0tLQogMSBmaWxlIGNoYW5n ZWQsIDYgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW4vdGNfdHVuLmMgYi9kcml2ZXJzL25l dC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW4vdGNfdHVuLmMKaW5kZXggZWVjMDdiMzRi NGFkLi41ZWZlOWI1ZDkwODYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxh bm94L21seDUvY29yZS9lbi90Y190dW4uYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxs YW5veC9tbHg1L2NvcmUvZW4vdGNfdHVuLmMKQEAgLTExLDI0ICsxMSwyNSBAQCBzdGF0aWMgaW50 IGdldF9yb3V0ZV9hbmRfb3V0X2RldnMoc3RydWN0IG1seDVlX3ByaXYgKnByaXYsCiAJCQkJICBz dHJ1Y3QgbmV0X2RldmljZSAqKnJvdXRlX2RldiwKIAkJCQkgIHN0cnVjdCBuZXRfZGV2aWNlICoq b3V0X2RldikKIHsKKwlzdHJ1Y3QgbmV0X2RldmljZSAqdXBsaW5rX2RldiwgKnVwbGlua191cHBl ciwgKnJlYWxfZGV2OwogCXN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdyA9IHByaXYtPm1kZXYtPnBy aXYuZXN3aXRjaDsKLQlzdHJ1Y3QgbmV0X2RldmljZSAqdXBsaW5rX2RldiwgKnVwbGlua191cHBl cjsKIAlib29sIGRzdF9pc19sYWdfZGV2OwogCisJcmVhbF9kZXYgPSBpc192bGFuX2RldihkZXYp ID8gdmxhbl9kZXZfcmVhbF9kZXYoZGV2KSA6IGRldjsKIAl1cGxpbmtfZGV2ID0gbWx4NV9lc3dp dGNoX3VwbGlua19nZXRfcHJvdG9fZGV2KGVzdywgUkVQX0VUSCk7CiAJdXBsaW5rX3VwcGVyID0g bmV0ZGV2X21hc3Rlcl91cHBlcl9kZXZfZ2V0KHVwbGlua19kZXYpOwogCWRzdF9pc19sYWdfZGV2 ID0gKHVwbGlua191cHBlciAmJgogCQkJICBuZXRpZl9pc19sYWdfbWFzdGVyKHVwbGlua191cHBl cikgJiYKLQkJCSAgZGV2ID09IHVwbGlua191cHBlciAmJgorCQkJICByZWFsX2RldiA9PSB1cGxp bmtfdXBwZXIgJiYKIAkJCSAgbWx4NV9sYWdfaXNfc3Jpb3YocHJpdi0+bWRldikpOwogCiAJLyog aWYgdGhlIGVncmVzcyBkZXZpY2UgaXNuJ3Qgb24gdGhlIHNhbWUgSFcgZS1zd2l0Y2ggb3IKIAkg KiBpdCdzIGEgTEFHIGRldmljZSwgdXNlIHRoZSB1cGxpbmsKIAkgKi8KLQlpZiAoIW5ldGRldl9w b3J0X3NhbWVfcGFyZW50X2lkKHByaXYtPm5ldGRldiwgZGV2KSB8fAorCWlmICghbmV0ZGV2X3Bv cnRfc2FtZV9wYXJlbnRfaWQocHJpdi0+bmV0ZGV2LCByZWFsX2RldikgfHwKIAkgICAgZHN0X2lz X2xhZ19kZXYpIHsKLQkJKnJvdXRlX2RldiA9IHVwbGlua19kZXY7Ci0JCSpvdXRfZGV2ID0gKnJv dXRlX2RldjsKKwkJKnJvdXRlX2RldiA9IGRldjsKKwkJKm91dF9kZXYgPSB1cGxpbmtfZGV2Owog CX0gZWxzZSB7CiAJCSpyb3V0ZV9kZXYgPSBkZXY7CiAJCWlmIChpc192bGFuX2Rldigqcm91dGVf ZGV2KSkKLS0gCjIuMjAuMQoKCkZyb20gMTExNmMyZTFkMjAwYWQ4MGU5YWVhNDliYmYxMjk2MzY3 MjZjODAxNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogV2lsbGVtIGRlIEJydWlqbiA8 d2lsbGVtYkBnb29nbGUuY29tPgpEYXRlOiBGcmksIDcgSnVuIDIwMTkgMTc6NTc6NDggLTA0MDAK U3ViamVjdDogW1BBVENIIDMwLzMxXSBuZXQ6IGNvcnJlY3QgdWRwIHplcm9jb3B5IHJlZmNudCBh bHNvIHdoZW4gemVyb2NvcHkKIG9ubHkgb24gYXBwZW5kCgpbIFVwc3RyZWFtIGNvbW1pdCA1MjI5 MjRiNTgzMDgyZjUxYjhhMjQwNjYyNGEyZjI3YzIyMTE5YjIwIF0KClRoZSBiZWxvdyBwYXRjaCBm aXhlcyBhbiBpbmNvcnJlY3QgemVyb2NvcHkgcmVmY250IGluY3JlbWVudCB3aGVuCmFwcGVuZGlu ZyB3aXRoIE1TR19NT1JFIHRvIGFuIGV4aXN0aW5nIHplcm9jb3B5IHVkcCBza2IuCgogIHNlbmQo Li4sIE1TR19aRVJPQ09QWSB8IE1TR19NT1JFKTsJLy8gcmVmY250IDEKICBzZW5kKC4uLCBNU0df WkVST0NPUFkgfCBNU0dfTU9SRSk7CS8vIHJlZmNudCBzdGlsbCAxIChiYXIgZnJhZ3MpCgpCdXQg aXQgbWlzc2VkIHRoYXQgemVyb2NvcHkgbmVlZCBub3QgYmUgcGFzc2VkIGF0IHRoZSBmaXJzdCBz ZW5kLiBUaGUKcmlnaHQgdGVzdCB3aGV0aGVyIHRoZSB1YXJnIGlzIG5ld2x5IGFsbG9jYXRlZCBh bmQgdGh1cyBoYXMgZXh0cmEKcmVmY250IDEgaXMgbm90ICFza2IsIGJ1dCAhc2tiX3pjb3B5LgoK ICBzZW5kKC4uLCBNU0dfTU9SRSk7CQkJLy8gPG5vIHVhcmc+CiAgc2VuZCguLiwgTVNHX1pFUk9D T1BZKTsJCS8vIHJlZmNudCAxCgpGaXhlczogMTAwZjZkOGUwOTkwNSAoIm5ldDogY29ycmVjdCB6 ZXJvY29weSByZWZjbnQgd2l0aCB1ZHAgTVNHX01PUkUiKQpSZXBvcnRlZC1ieTogc3l6Ym90IDxz eXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KU2lnbmVkLW9mZi1ieTogV2lsbGVtIGRlIEJydWlq biA8d2lsbGVtYkBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRh dmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvaXBfb3V0cHV0LmMgIHwgMiArLQogbmV0 L2lwdjYvaXA2X291dHB1dC5jIHwgMiArLQogMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMo KyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvaXBfb3V0cHV0LmMgYi9u ZXQvaXB2NC9pcF9vdXRwdXQuYwppbmRleCBhYzc3MDk0MGFkYjkuLjEwODZjM2NjYjYwMSAxMDA2 NDQKLS0tIGEvbmV0L2lwdjQvaXBfb3V0cHV0LmMKKysrIGIvbmV0L2lwdjQvaXBfb3V0cHV0LmMK QEAgLTkyMyw3ICs5MjMsNyBAQCBzdGF0aWMgaW50IF9faXBfYXBwZW5kX2RhdGEoc3RydWN0IHNv Y2sgKnNrLAogCQl1YXJnID0gc29ja196ZXJvY29weV9yZWFsbG9jKHNrLCBsZW5ndGgsIHNrYl96 Y29weShza2IpKTsKIAkJaWYgKCF1YXJnKQogCQkJcmV0dXJuIC1FTk9CVUZTOwotCQlleHRyYV91 cmVmID0gIXNrYjsJLyogb25seSBleHRyYSByZWYgaWYgIU1TR19NT1JFICovCisJCWV4dHJhX3Vy ZWYgPSAhc2tiX3pjb3B5KHNrYik7CS8qIG9ubHkgcmVmIG9uIG5ldyB1YXJnICovCiAJCWlmIChy dC0+ZHN0LmRldi0+ZmVhdHVyZXMgJiBORVRJRl9GX1NHICYmCiAJCSAgICBjc3VtbW9kZSA9PSBD SEVDS1NVTV9QQVJUSUFMKSB7CiAJCQlwYWdlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9uZXQvaXB2 Ni9pcDZfb3V0cHV0LmMgYi9uZXQvaXB2Ni9pcDZfb3V0cHV0LmMKaW5kZXggYjVlMGM4NWJjZDU3 Li5lZDlmNmE3ZDIyNGIgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L2lwNl9vdXRwdXQuYworKysgYi9u ZXQvaXB2Ni9pcDZfb3V0cHV0LmMKQEAgLTEzNDQsNyArMTM0NCw3IEBAIHN0YXRpYyBpbnQgX19p cDZfYXBwZW5kX2RhdGEoc3RydWN0IHNvY2sgKnNrLAogCQl1YXJnID0gc29ja196ZXJvY29weV9y ZWFsbG9jKHNrLCBsZW5ndGgsIHNrYl96Y29weShza2IpKTsKIAkJaWYgKCF1YXJnKQogCQkJcmV0 dXJuIC1FTk9CVUZTOwotCQlleHRyYV91cmVmID0gIXNrYjsJLyogb25seSBleHRyYSByZWYgaWYg IU1TR19NT1JFICovCisJCWV4dHJhX3VyZWYgPSAhc2tiX3pjb3B5KHNrYik7CS8qIG9ubHkgcmVm IG9uIG5ldyB1YXJnICovCiAJCWlmIChydC0+ZHN0LmRldi0+ZmVhdHVyZXMgJiBORVRJRl9GX1NH ICYmCiAJCSAgICBjc3VtbW9kZSA9PSBDSEVDS1NVTV9QQVJUSUFMKSB7CiAJCQlwYWdlZCA9IHRy dWU7Ci0tIAoyLjIwLjEKCgpGcm9tIDYzNzliMjU2ZDZmNWMxOWEwMWQwMTQxZTAwMWViYjBmYTgx ZjViOWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEFsYWEgSGxlaWhlbCA8YWxhYUBt ZWxsYW5veC5jb20+CkRhdGU6IFN1biwgMjYgTWF5IDIwMTkgMTE6NTY6MjcgKzAzMDAKU3ViamVj dDogW1BBVENIIDMxLzMxXSBuZXQvbWx4NWU6IEF2b2lkIGRldGFjaGluZyBub24tZXhpc3Rpbmcg bmV0ZGV2IHVuZGVyCiBzd2l0Y2hkZXYgbW9kZQoKQWZ0ZXIgaW50cm9kdWNpbmcgZGVkaWNhdGVk IHVwbGluayByZXByZXNlbnRvciwgdGhlIG5ldGRldiBpbnN0YW5jZQpzZXQgb3ZlciB0aGUgZXN3 IG1hbmFnZXIgdnBvcnQgKFBGKSBiZWNhbWUgbm8gbG9uZ2VyIGluIHVzZSwgc28gaXQgd2FzCnJl bW92ZWQgaW4gdGhlIGNpdGVkIGNvbW1pdCBvbmNlIHdlJ3JlIG9uIHN3aXRjaGRldiBtb2RlLgpI b3dldmVyLCB0aGUgbWx4NWVfZGV0YWNoIGZ1bmN0aW9uIHdhcyBub3QgdXBkYXRlZCBhY2NvcmRp bmdseSwgYW5kIGl0CnN0aWxsIHRyaWVzIHRvIGRldGFjaCBhIG5vbi1leGlzdGluZyBuZXRkZXYs IGNhdXNpbmcgYSBrZXJuZWwgY3Jhc2guCgpUaGlzIHBhdGNoIGZpeGVzIHRoaXMgaXNzdWUuCgpG aXhlczogYWVjMDAyZjZmODJjICgibmV0L21seDVlOiBVbmluc3RhbnRpYXRlIGVzdyBtYW5hZ2Vy IHZwb3J0IG5ldGRldiBvbiBzd2l0Y2hkZXYgbW9kZSIpClNpZ25lZC1vZmYtYnk6IEFsYWEgSGxl aWhlbCA8YWxhYUBtZWxsYW5veC5jb20+ClJldmlld2VkLWJ5OiBSb2kgRGF5YW4gPHJvaWRAbWVs bGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94 LmNvbT4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fbWFp bi5jIHwgNSArKysrKwogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9tYWluLmMgYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fbWFpbi5jCmluZGV4IDdh YTkwMDYzMGQ2Ny4uNmE4ZGM3Mzg1NWM5IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5l dC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fbWFpbi5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0 L21lbGxhbm94L21seDUvY29yZS9lbl9tYWluLmMKQEAgLTUxNjUsNiArNTE2NSwxMSBAQCBzdGF0 aWMgdm9pZCBtbHg1ZV9kZXRhY2goc3RydWN0IG1seDVfY29yZV9kZXYgKm1kZXYsIHZvaWQgKnZw cml2KQogCXN0cnVjdCBtbHg1ZV9wcml2ICpwcml2ID0gdnByaXY7CiAJc3RydWN0IG5ldF9kZXZp Y2UgKm5ldGRldiA9IHByaXYtPm5ldGRldjsKIAorI2lmZGVmIENPTkZJR19NTFg1X0VTV0lUQ0gK KwlpZiAoTUxYNV9FU1dJVENIX01BTkFHRVIobWRldikgJiYgdnByaXYgPT0gbWRldikKKwkJcmV0 dXJuOworI2VuZGlmCisKIAlpZiAoIW5ldGlmX2RldmljZV9wcmVzZW50KG5ldGRldikpCiAJCXJl dHVybjsKIAotLSAKMi4yMC4xCgo= ----Next_Part(Mon_Jun_17_21_23_43_2019_561)----