X-Original-To: alpine-aports@lists.alpinelinux.org Received: from mail-qk0-f180.google.com (mail-qk0-f180.google.com [209.85.220.180]) by lists.alpinelinux.org (Postfix) with ESMTP id 206CB5C57CE for ; Mon, 23 Oct 2017 17:34:03 +0000 (GMT) Received: by mail-qk0-f180.google.com with SMTP id d67so22989557qkg.5 for ; Mon, 23 Oct 2017 10:34:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=L5FELWiHXCCKK/qXesRNyowJjU4o8S9zMFSyC1cTpTU=; b=cu0P3PQ4OIRBntPi8QV99S8NhrRm/tJkQwHcHPgnf/gBOpYBolpcmOgFQGSfHEokIM fqPgIbgFKVbxEzY6jUSvsywrstmxQWe+YFntGGv/DfvRlQclChxY/sVpI6CIhHdFtJOT f6z+daaFo1VjCPu9uIQIs8M1jkTYTQcdg36LYJRaZlNtcTtzKsrrTHXurj0JGzFnYNFh updJYBQ7jGptRQjd3VtLAsfaFFN3NpSg+ALzjEha4w1hwGlxLGtZaPU9LPQHLX4ELzwT pfI6WGif+s7Iz0mQd44or2j1VgqpPE5OQe9drfulxtvVGnL51DNISGnFHAOLPI0zL9V2 fiuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=L5FELWiHXCCKK/qXesRNyowJjU4o8S9zMFSyC1cTpTU=; b=pXXse2f6+SMufBXFbcn/ctqSXhgVONMDePgjB8TNutv/2+Rwkm8GrHoPSa5MEHG4bD p/Ku6IA8bPGTAgSlPI0R7pJMjNQYEedMfSk0NMczAiSYHRlKUvvpv6pQS2KMcvFRSaAL ThFtWXeT044r7YWkjiVZ+lWJP3LdMkarhhyGUgGoEKdFpGTtrc+IMStINoNt71wd64D+ 4VVXA835K9quD0jY0EtAthYRFSjtszz5RWWhCy0Vs5XwDQoCcBABNmAYYk/KKyNm4on7 Zy+ULlDWippQ6W1CixeexVpW5QbPRzg367SpZCbOGxqjNnHyW2ccsW5yNTkAvIOHPPOL YNcA== X-Gm-Message-State: AMCzsaVgbByo+ZtHWGCyMpvZvHpE64FLRkWoP48Mi09ysL56H2bLPrD9 MKNNZb4HtpfaN55duEViM1H7ow== X-Google-Smtp-Source: ABhQp+QMPKTZlgSu3m12yqquyQMZmFfRbHCftc5iqyHiOndIeqPN89eLrqaVyZ6D+DIdAvFwQhAaaQ== X-Received: by 10.55.169.87 with SMTP id s84mr18459613qke.305.1508780041220; Mon, 23 Oct 2017 10:34:01 -0700 (PDT) Received: from localhost.localdomain (c-71-60-35-21.hsd1.pa.comcast.net. [71.60.35.21]) by smtp.googlemail.com with ESMTPSA id j19sm5201802qkh.38.2017.10.23.10.34.00 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 23 Oct 2017 10:34:00 -0700 (PDT) From: Daniel Sabogal To: alpine-aports@lists.alpinelinux.org Subject: [alpine-aports] [PATCH] main/xen: security fixes (xsa237 - xsa244) Date: Mon, 23 Oct 2017 13:36:03 -0400 Message-Id: <20171023173604.15151-3-dsabogalcc@gmail.com> X-Mailer: git-send-email 2.14.2 In-Reply-To: <20171023173604.15151-1-dsabogalcc@gmail.com> References: <20171023173604.15151-1-dsabogalcc@gmail.com> X-Mailinglist: alpine-aports Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Q1ZFLTIwMTctMTU1OTAgWFNBLTIzNw0KWFNBLTIzOA0KQ1ZFLTIwMTctMTU1ODkgWFNBLTIzOQ0K Q1ZFLTIwMTctMTU1OTUgWFNBLTI0MA0KQ1ZFLTIwMTctMTU1ODggWFNBLTI0MQ0KQ1ZFLTIwMTct MTU1OTMgWFNBLTI0Mg0KQ1ZFLTIwMTctMTU1OTIgWFNBLTI0Mw0KQ1ZFLTIwMTctMTU1OTQgWFNB LTI0NA0KDQotLS0NCiBtYWluL3hlbi9BUEtCVUlMRCAgICAgICAgIHwgIDM3ICsrKy0NCiBtYWlu L3hlbi94c2EyMzctMS5wYXRjaCAgIHwgIDI3ICsrKw0KIG1haW4veGVuL3hzYTIzNy0yLnBhdGNo ICAgfCAgNjYgKysrKysrKw0KIG1haW4veGVuL3hzYTIzNy0zLnBhdGNoICAgfCAgNTUgKysrKysr DQogbWFpbi94ZW4veHNhMjM3LTQucGF0Y2ggICB8IDEyNCArKysrKysrKysrKysNCiBtYWluL3hl bi94c2EyMzctNS5wYXRjaCAgIHwgIDM3ICsrKysNCiBtYWluL3hlbi94c2EyMzgucGF0Y2ggICAg IHwgIDQ1ICsrKysrDQogbWFpbi94ZW4veHNhMjM5LnBhdGNoICAgICB8ICA0NiArKysrKw0KIG1h aW4veGVuL3hzYTI0MC0xLnBhdGNoICAgfCA0OTQgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKw0KIG1haW4veGVuL3hzYTI0MC0yLnBhdGNoICAgfCAgODMgKysr KysrKysNCiBtYWluL3hlbi94c2EyNDEtNC45LnBhdGNoIHwgMTIwICsrKysrKysrKysrDQogbWFp bi94ZW4veHNhMjQyLTQuOS5wYXRjaCB8ICA0MyArKysrDQogbWFpbi94ZW4veHNhMjQzLnBhdGNo ICAgICB8ICA5MyArKysrKysrKysNCiBtYWluL3hlbi94c2EyNDQucGF0Y2ggICAgIHwgIDU5ICsr KysrKw0KIDE0IGZpbGVzIGNoYW5nZWQsIDEzMjggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWluL3hlbi94c2EyMzctMS5wYXRjaA0KIGNyZWF0ZSBt b2RlIDEwMDY0NCBtYWluL3hlbi94c2EyMzctMi5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBt YWluL3hlbi94c2EyMzctMy5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWluL3hlbi94c2Ey MzctNC5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWluL3hlbi94c2EyMzctNS5wYXRjaA0K IGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWluL3hlbi94c2EyMzgucGF0Y2gNCiBjcmVhdGUgbW9kZSAx MDA2NDQgbWFpbi94ZW4veHNhMjM5LnBhdGNoDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG1haW4veGVu L3hzYTI0MC0xLnBhdGNoDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG1haW4veGVuL3hzYTI0MC0yLnBh dGNoDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG1haW4veGVuL3hzYTI0MS00LjkucGF0Y2gNCiBjcmVh dGUgbW9kZSAxMDA2NDQgbWFpbi94ZW4veHNhMjQyLTQuOS5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEw MDY0NCBtYWluL3hlbi94c2EyNDMucGF0Y2gNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWFpbi94ZW4v eHNhMjQ0LnBhdGNoDQoNCmRpZmYgLS1naXQgYS9tYWluL3hlbi9BUEtCVUlMRCBiL21haW4veGVu L0FQS0JVSUxEDQppbmRleCBlYTMyNmNkYjAzLi5hZWZkMzVmNzZkIDEwMDY0NA0KLS0tIGEvbWFp bi94ZW4vQVBLQlVJTEQNCisrKyBiL21haW4veGVuL0FQS0JVSUxEDQpAQCAtMyw3ICszLDcgQEAN CiAjIE1haW50YWluZXI6IFdpbGxpYW0gUGl0Y29jayA8bmVub2xvZEBkZXJlZmVyZW5jZWQub3Jn Pg0KIHBrZ25hbWU9eGVuDQogcGtndmVyPTQuOS4wDQotcGtncmVsPTUNCitwa2dyZWw9Ng0KIHBr Z2Rlc2M9IlhlbiBoeXBlcnZpc29yIg0KIHVybD0iaHR0cDovL3d3dy54ZW4ub3JnLyINCiBhcmNo PSJ4ODZfNjQgYXJtaGYgYWFyY2g2NCINCkBAIC04Nyw2ICs4NywxNSBAQCBvcHRpb25zPSIhc3Ry aXAiDQogIyAgICAgLSBDVkUtMjAxNy0xNDMxOSBYU0EtMjM0DQogIyAgIDQuOS4wLXI1Og0KICMg ICAgIC0gWFNBLTI0NQ0KKyMgICA0LjkuMC1yNjoNCisjICAgICAtIENWRS0yMDE3LTE1NTkwIFhT QS0yMzcNCisjICAgICAtIFhTQS0yMzgNCisjICAgICAtIENWRS0yMDE3LTE1NTg5IFhTQS0yMzkN CisjICAgICAtIENWRS0yMDE3LTE1NTk1IFhTQS0yNDANCisjICAgICAtIENWRS0yMDE3LTE1NTg4 IFhTQS0yNDENCisjICAgICAtIENWRS0yMDE3LTE1NTkzIFhTQS0yNDINCisjICAgICAtIENWRS0y MDE3LTE1NTkyIFhTQS0yNDMNCisjICAgICAtIENWRS0yMDE3LTE1NTk0IFhTQS0yNDQNCiANCiBj YXNlICIkQ0FSQ0giIGluDQogeDg2KikNCkBAIC0xNDQsNiArMTUzLDE5IEBAIHNvdXJjZT0iaHR0 cHM6Ly9kb3dubG9hZHMueGVucHJvamVjdC5vcmcvcmVsZWFzZS8kcGtnbmFtZS8kcGtndmVyLyRw a2duYW1lLSRwa2d2DQogCXhzYTIzMy5wYXRjaA0KIAl4c2EyMzQtNC45LnBhdGNoDQogCXhzYTIz NS00LjkucGF0Y2gNCisJeHNhMjM3LTEucGF0Y2gNCisJeHNhMjM3LTIucGF0Y2gNCisJeHNhMjM3 LTMucGF0Y2gNCisJeHNhMjM3LTQucGF0Y2gNCisJeHNhMjM3LTUucGF0Y2gNCisJeHNhMjM4LnBh dGNoDQorCXhzYTIzOS5wYXRjaA0KKwl4c2EyNDAtMS5wYXRjaA0KKwl4c2EyNDAtMi5wYXRjaA0K Kwl4c2EyNDEtNC45LnBhdGNoDQorCXhzYTI0Mi00LjkucGF0Y2gNCisJeHNhMjQzLnBhdGNoDQor CXhzYTI0NC5wYXRjaA0KIAl4c2EyNDUtMS5wYXRjaA0KIAl4c2EyNDUtMi5wYXRjaA0KIA0KQEAg LTQwOCw2ICs0MzAsMTkgQEAgZmI3NDIyMjVhNGYzZGJmMmE1NzRjNGE2ZTNlZjYxYTVkYTBjOTFh YWVlZDc3YTIyNDcwMjNiZGVmY2Q0ZTBiNmMwOGYxYzlmZmI0MmVhYWMNCiBhMzIyYWM2YzVhYzJm ODU4YTU5MDk2MTA4MDMyZmQ0Mjk3NGVhYWVlZWJkOGY0OTY2MTE5MTQ5NjY1ZjMyYmVkMjgxZTMz M2U3NDMxMzZlNzlhZGQyZTZmMzg0NGQ4OGI2YTNlNGQ1YTY4NWMyODA4NzAyZmQzYTllNjM5NmNk NCAgeHNhMjMzLnBhdGNoDQogY2FmZWVmMTM3Y2Q4MmNlZmMzZTk3NGI0MmI5NzRjNjU2MmU4MjJj OWIzNTllZmI2NTRhYzM3NGU2NjNkOWZjMTIzYmUyMTBlZWMxN2IyNzhmNDBlYWJiNzdjOTNkM2Jm MGZmMDNlNDQ1NjA3MTU5YWQwNzEyODA4YTYwOWE5MDYgIHhzYTIzNC00LjkucGF0Y2gNCiA4YmFi NmU1OTU3N2I1MWYwYzZiOGE1NDdjOWEzN2EyNTdiZDA0NjBlNzIxOTUxMmU4OTlkMjVmODBhNzQw ODQ3NDVkMmE0YzU0ZTU1YWQxMjUyNjY2M2Q0MGYyMThjYjhmODMzYjcxMzUwMjIwZDM2ZTM3NTBk MDAyZmY0M2QyOSAgeHNhMjM1LTQuOS5wYXRjaA0KK2E0NDdiNGYwYTUzNzlkYTQ2YjVmMGViNWI3 N2VhYjA3YzNjZmU4ZDMwM2FmNmUxMTZlMDNjN2Q4OGE5ZmM5ZWExNTQwNDMxNjU2MzFkMjkyNDhj MDc1MTZhYjhmZGZkNWRlNGRhMWNjZjBhYjczNThkOTBmYjdmOWM4N2JmMjIxICB4c2EyMzctMS5w YXRjaA0KKzEwZjJkODRmNzgzZmI4YmFlNWEzOWM0NjNhMzJmNGFjNWQ0ZDI2MTRhN2VlY2YxMDlk Y2NjZDU0MThiOGVjNWU1MjM2OTFlNzliMzU3OGQ5YzdiMTEzZjM2OGE5NGQzNjBhY2I5NTM0ODA4 YzQ0MDg1MmE5MWMzNjM2OWY4OGZkICB4c2EyMzctMi5wYXRjaA0KKzUwNjA3ZmNhMmUwMmVlZDMy MjkyN2UwMjg4Yzc3ZTdhNmM1NDE3OTRmYTJjNzBjNzhhZGEwYzJmYTc2MmI1YWQwZjNiNTEwOGVj YjlmMDFkODgyNmY4OWRhYjQ5MmQ1NmM1MDIyMzZjNzAyMzRlNmJhNzQxZTk0YTM5MzU2ZWEzICB4 c2EyMzctMy5wYXRjaA0KK2M4YWFiNTQ1Y2Q0MTE4ZTc0Y2JiMjAxMGYwYTg0NGU4ODYwOGQ0NGJk MzExN2U3NjUyMjE0NDVhODAwN2EwZGZhOWVlMGY0ZDVjMTBjM2NkN2YzMDdhOGI3NzE4ZDg5NmI5 MjhjNGUwNjQ0OWRjNjNmN2NmZWM3YTEwZDM1NmJiICB4c2EyMzctNC5wYXRjaA0KK2QzZGZiOTIw OGRlYjZmYzJiZTk0OWUzNGZjMWJlODRmYmVkMTI2OWJkOTliOGIzMWMxNzZkYTM0Y2M5MTZjNTA5 NTVjNzc2OGI0YWFjNzVkYmU0Mzc3NjM0YWU1ZDgzOTBhMDNlMGZmNWZmYTJhZDAwYjlmYWI3ODg0 NDlkZWFhICB4c2EyMzctNS5wYXRjaA0KK2IxNTRjMDkyNWJiY2VhYjQwZThmM2I2ODllMmQxZmIz MjFiNDJjNjg1ZmRjYjZiZDI5YjA0MTFjY2Q4NTY3MzE0ODBhMmZiYjgwMjVjNjMzZjllZGYzNGNl YzkzOGU1ZDg4ODhjYzcxZTgxNTgyMTJjMDc4YmI1OTVkMDdhMjlkICB4c2EyMzgucGF0Y2gNCis4 YjA5Y2QxMmM3YWRmZWY2OWEwMmEyOTY1Y2RhMjJlZjY0OTlmZDQyYzhhODRhMjBhNmFmMjMxZjQy MmE2ZThhMGU1OTc1MDFjMzI3NTMyZTE1ODBjMTA2N2VlNGJmMzU1NzllM2NmOThkZWU5MzAyZWQz NGJhODdmNzRiZjZkMiAgeHNhMjM5LnBhdGNoDQorZTIwOWU2Mjk3NTdiMzQ3MWVhZTQxNTkxM2Mz NGM2NjI4ODIxNzJkYWFkNjM0MDgzZWUyOTgyM2MyY2IzZjAwZTk4ODg2MzUyMDg1YzFhZmM1ZDBm NjIyNzgxZTY1ZmFlN2I0MWViZmNiZTZmZDVlMzdjNDI4MzM3ZjVkMjUwNmMgIHhzYTI0MC0xLnBh dGNoDQorMzQ0NTE5Y2Q4M2FkMTMyNDVkZTBlMTgzYjdhZmU1NjQ1OTdiMzBkMjA3NTZlNDRmOThj MGEwMGRmNTUwMjBkN2VmODViOTJlNzE3MDFjOTc5MTg0MmE0OGNlYzkzZTBmY2I5YmZiYTI0NDMz MTNiM2FhZmQ4ZDIxZWEzNmFiZjQgIHhzYTI0MC0yLnBhdGNoDQorNTYwZDgwNjJiNTY4M2I2NTMz YTY3ZWViYWZkZDgxZTZhOWQyYzkxOTRjYzlmOWIxNDA0NTQ0NTAzMjM4ZDRmMWQ5OGJjY2IxYWZh YzQ3N2Y2YTU1ZmZiYzY3Y2Y5NjI5YTQzZmQ2N2E3NDVjYTkwOTNlMmFkYzA0NzhkZDBkZGIgIHhz YTI0MS00LjkucGF0Y2gNCis4NmFhNzYzOTQ5Y2EzNmEzNjEyMGE0MGVhZmJkZjNhOGU4YmMwNGFj ZDMyZWU2YmMxZTNhZTkwYjE4OWI4NmI5YjE2NmI4MWE5ZTBhNGY4NmE3ZWIxZmNjODcyM2FlOGJh NmJkMGY4NGZhOTczMmU3ZTRlMWNjZWE0NWQwYjdjMSAgeHNhMjQyLTQuOS5wYXRjaA0KKzlmMjY5 ZTI2MmFhNjdmZjlhMzA0ZWQ2ZmM2NGVlOWM1YzlmNmZkNjA2ZDUyMGZjMjYxNGNkMTczY2RkYzk3 MzVhZDQyZjkxYTk3YjkxZjFiOWM1MzY4ZDU0ZDUxNDgyMDkzN2VkZDBjZTMwMmRjMzgzOWI0MjYz OThkYzZiNzAwICB4c2EyNDMucGF0Y2gNCiswZmQzNWU3NGJlNmYwNDlmMWYzNzZhYTgyOTViMTRm NTdiOTJmNWU0NWU3NDg3ZTViNDg1YzJiOGY2ZmFhMjk1MGQwZmU3ZDhhODYzNjkyYjNkYWI4YTNh N2VmMWQ5ZGQ5NGJlMmM2YjU1ZDAxODAyYjBkODZjODRkMmZhOWUyOSAgeHNhMjQ0LnBhdGNoDQog YjE5MTk3OTM0ZTg2ODVmYzJhZjczZjQwNGI1YzhjYmVkNjZkOTI0MWU1ZmY5MDJkMWE3N2ZkYzIy N2UwMDFhMTNiNzc1YTUzZDZlMzAzZDVmMjc0MTlmNTU5MDU2MWM4NGVjNjk0MDkxNTJkOTc3M2E1 ZTYwNTBjMTZlOTJmMWIgIHhzYTI0NS0xLnBhdGNoDQogNzUzNjk2NzMyMzJiMjEwN2I1OWRjMDI0 MmQ2ZmMyMjRjMDE2YjlkY2JmMzI5OWVhYjkwYTFkN2MzNjVkNjE3ZmJjOTFmN2IyNTA3NWIzOTRm ZWU5Mjc4MmRiMzdjZTgzYzQxNjM4N2ZhNWFkNGM0ZmNkNTFkMDc3NWE4YTc1NGYgIHhzYTI0NS0y LnBhdGNoDQogYzNjNDZmMjMyZjBiZDlmNzY3YjIzMmFmN2U4Y2U5MTBhNjE2NmIxMjZiZDU0Mjdi YjhkYzMyNWFlYjJjNjM0Yjk1NmRlM2ZjMjI1Y2FiNWFmNzI2NDkwNzBjODIwNWNjOGUxY2FiNzY4 OWZjMjY2YzIwNGY1MjUwODZmMWE1NjIgIHFlbXUtY29yb3V0aW5lLWd0aHJlYWQucGF0Y2gNCmRp ZmYgLS1naXQgYS9tYWluL3hlbi94c2EyMzctMS5wYXRjaCBiL21haW4veGVuL3hzYTIzNy0xLnBh dGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMC4uN2M5ZGZmOTY3Mg0K LS0tIC9kZXYvbnVsbA0KKysrIGIvbWFpbi94ZW4veHNhMjM3LTEucGF0Y2gNCkBAIC0wLDAgKzEs MjcgQEANCitGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQorU3ViamVjdDog eDg2OiBkb24ndCBhbGxvdyBNU0kgcElSUSBtYXBwaW5nIG9uIHVub3duZWQgZGV2aWNlDQorDQor TVNJIHNldHVwIHNob3VsZCBiZSBwZXJtaXR0ZWQgb25seSBmb3IgZXhpc3RpbmcgZGV2aWNlcyBv d25lZCBieSB0aGUNCityZXNwZWN0aXZlIGd1ZXN0ICh0aGUgb3BlcmF0aW9uIG1heSBzdGlsbCBi ZSBjYXJyaWVkIG91dCBieSB0aGUgZG9tYWluDQorY29udHJvbGxpbmcgdGhhdCBndWVzdCkuDQor DQorVGhpcyBpcyBwYXJ0IG9mIFhTQS0yMzcuDQorDQorUmVwb3J0ZWQtYnk6IEhXNDIgPGh3NDJA aXBzdW1qLmRlPg0KK1NpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv bT4NCitSZXZpZXdlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv bT4NCisNCistLS0gYS94ZW4vYXJjaC94ODYvaXJxLmMNCisrKysgYi94ZW4vYXJjaC94ODYvaXJx LmMNCitAQCAtMTk2Myw3ICsxOTYzLDEwIEBAIGludCBtYXBfZG9tYWluX3BpcnEoDQorICAgICAg ICAgaWYgKCAhY3B1X2hhc19hcGljICkNCisgICAgICAgICAgICAgZ290byBkb25lOw0KKyANCist ICAgICAgICBwZGV2ID0gcGNpX2dldF9wZGV2KG1zaS0+c2VnLCBtc2ktPmJ1cywgbXNpLT5kZXZm bik7DQorKyAgICAgICAgcGRldiA9IHBjaV9nZXRfcGRldl9ieV9kb21haW4oZCwgbXNpLT5zZWcs IG1zaS0+YnVzLCBtc2ktPmRldmZuKTsNCisrICAgICAgICBpZiAoICFwZGV2ICkNCisrICAgICAg ICAgICAgZ290byBkb25lOw0KKysNCisgICAgICAgICByZXQgPSBwY2lfZW5hYmxlX21zaShtc2ks ICZtc2lfZGVzYyk7DQorICAgICAgICAgaWYgKCByZXQgKQ0KKyAgICAgICAgIHsNCmRpZmYgLS1n aXQgYS9tYWluL3hlbi94c2EyMzctMi5wYXRjaCBiL21haW4veGVuL3hzYTIzNy0yLnBhdGNoDQpu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMC4uMGFkZDcwNDU4Nw0KLS0tIC9k ZXYvbnVsbA0KKysrIGIvbWFpbi94ZW4veHNhMjM3LTIucGF0Y2gNCkBAIC0wLDAgKzEsNjYgQEAN CitGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQorU3ViamVjdDogeDg2OiBl bmZvcmNlIHByb3BlciBwcml2aWxlZ2Ugd2hlbiAodW4pbWFwcGluZyBwSVJRLXMNCisNCisoVW4p bWFwcGluZyBvZiBJUlFzLCBqdXN0IGxpa2Ugb3RoZXIgUkVTT1VSQ0VfX0FERCogLyBSRVNPVVJD RV9fUkVNT1ZFKg0KK2FjdGlvbnMgKGluIEZMQVNLIHRlcm1zKSBzaG91bGQgYmUgWFNNX0RNX1BS SVYgcmF0aGVyIHRoYW4gWFNNX1RBUkdFVC4NCitUaGlzIGluIHR1cm4gcmVxdWlyZXMgYnlwYXNz aW5nIHRoZSBYU00gY2hlY2sgaW4gcGh5c2Rldl91bm1hcF9waXJxKCkNCitmb3IgdGhlIEhWTSBl bXVpcnEgY2FzZSBqdXN0IGxpa2UgaXMgYmVpbmcgZG9uZSBpbiBwaHlzZGV2X21hcF9waXJxKCku DQorVGhlIHByaW1hcnkgZ29hbCBzZWN1cml0eSB3aXNlLCBob3dldmVyLCBpcyB0byBubyBsb25n ZXIgYWxsb3cgSFZNDQorZ3Vlc3RzLCBieSBzcGVjaWZ5aW5nIHRoZWlyIG93biBkb21haW4gSUQg aW5zdGVhZCBvZiBET01JRF9TRUxGLCB0bw0KK2VudGVyIGNvZGUgcGF0aHMgaW50ZW5kZWQgZm9y IFBWIGd1ZXN0IGFuZCB0aGUgY29udHJvbCBkb21haW5zIG9mIEhWTQ0KK2d1ZXN0cyBvbmx5Lg0K Kw0KK1RoaXMgaXMgcGFydCBvZiBYU0EtMjM3Lg0KKw0KK1JlcG9ydGVkLWJ5OiBIVzQyIDxodzQy QGlwc3Vtai5kZT4NCitTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j b20+DQorUmV2aWV3ZWQtYnk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNv bT4NCisNCistLS0gYS94ZW4vYXJjaC94ODYvcGh5c2Rldi5jDQorKysrIGIveGVuL2FyY2gveDg2 L3BoeXNkZXYuYw0KK0BAIC0xMTEsNyArMTExLDcgQEAgaW50IHBoeXNkZXZfbWFwX3BpcnEoZG9t aWRfdCBkb21pZCwgaW50DQorICAgICBpZiAoIGQgPT0gTlVMTCApDQorICAgICAgICAgcmV0dXJu IC1FU1JDSDsNCisgDQorLSAgICByZXQgPSB4c21fbWFwX2RvbWFpbl9waXJxKFhTTV9UQVJHRVQs IGQpOw0KKysgICAgcmV0ID0geHNtX21hcF9kb21haW5fcGlycShYU01fRE1fUFJJViwgZCk7DQor ICAgICBpZiAoIHJldCApDQorICAgICAgICAgZ290byBmcmVlX2RvbWFpbjsNCisgDQorQEAgLTI1 NiwxMyArMjU2LDE0IEBAIGludCBwaHlzZGV2X21hcF9waXJxKGRvbWlkX3QgZG9taWQsIGludA0K KyBpbnQgcGh5c2Rldl91bm1hcF9waXJxKGRvbWlkX3QgZG9taWQsIGludCBwaXJxKQ0KKyB7DQor ICAgICBzdHJ1Y3QgZG9tYWluICpkOw0KKy0gICAgaW50IHJldDsNCisrICAgIGludCByZXQgPSAw Ow0KKyANCisgICAgIGQgPSByY3VfbG9ja19kb21haW5fYnlfYW55X2lkKGRvbWlkKTsNCisgICAg IGlmICggZCA9PSBOVUxMICkNCisgICAgICAgICByZXR1cm4gLUVTUkNIOw0KKyANCistICAgIHJl dCA9IHhzbV91bm1hcF9kb21haW5fcGlycShYU01fVEFSR0VULCBkKTsNCisrICAgIGlmICggZG9t aWQgIT0gRE9NSURfU0VMRiB8fCAhaXNfaHZtX2RvbWFpbihkKSB8fCAhaGFzX3BpcnEoZCkgKQ0K KysgICAgICAgIHJldCA9IHhzbV91bm1hcF9kb21haW5fcGlycShYU01fRE1fUFJJViwgZCk7DQor ICAgICBpZiAoIHJldCApDQorICAgICAgICAgZ290byBmcmVlX2RvbWFpbjsNCisgDQorLS0tIGEv eGVuL2luY2x1ZGUveHNtL2R1bW15LmgNCisrKysgYi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaA0K K0BAIC00NTMsNyArNDUzLDcgQEAgc3RhdGljIFhTTV9JTkxJTkUgY2hhciAqeHNtX3Nob3dfaXJx X3NpZA0KKyANCisgc3RhdGljIFhTTV9JTkxJTkUgaW50IHhzbV9tYXBfZG9tYWluX3BpcnEoWFNN X0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQpDQorIHsNCistICAgIFhTTV9BU1NFUlRfQUNU SU9OKFhTTV9UQVJHRVQpOw0KKysgICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNNX0RNX1BSSVYpOw0K KyAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwg ZCk7DQorIH0NCisgDQorQEAgLTQ2NSw3ICs0NjUsNyBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQg eHNtX21hcF9kb21haW5faXJxDQorIA0KKyBzdGF0aWMgWFNNX0lOTElORSBpbnQgeHNtX3VubWFw X2RvbWFpbl9waXJxKFhTTV9ERUZBVUxUX0FSRyBzdHJ1Y3QgZG9tYWluICpkKQ0KKyB7DQorLSAg ICBYU01fQVNTRVJUX0FDVElPTihYU01fVEFSR0VUKTsNCisrICAgIFhTTV9BU1NFUlRfQUNUSU9O KFhTTV9ETV9QUklWKTsNCisgICAgIHJldHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9uLCBj dXJyZW50LT5kb21haW4sIGQpOw0KKyB9DQorIA0KZGlmZiAtLWdpdCBhL21haW4veGVuL3hzYTIz Ny0zLnBhdGNoIGIvbWFpbi94ZW4veHNhMjM3LTMucGF0Y2gNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQppbmRleCAwMDAwMDAwMDAwLi41YzY5YzQ4MjY1DQotLS0gL2Rldi9udWxsDQorKysgYi9tYWlu L3hlbi94c2EyMzctMy5wYXRjaA0KQEAgLTAsMCArMSw1NSBAQA0KK0Zyb206IEphbiBCZXVsaWNo IDxqYmV1bGljaEBzdXNlLmNvbT4NCitTdWJqZWN0OiB4ODYvTVNJOiBkaXNhbGxvdyByZWR1bmRh bnQgZW5hYmxpbmcNCisNCitBdCB0aGUgbW9tZW50LCBYZW4gYXR0ZW1wdHMgdG8gYWxsb3cgcmVk dW5kYW50IGVuYWJsaW5nIG9mIE1TSSBieQ0KK2hhdmluZyBwY2lfZW5hYmxlX21zaSgpIHJldHVy biAwLCBhbmQgcG9pbnQgdG8gdGhlIGV4aXN0aW5nIE1TSQ0KK2Rlc2NyaXB0b3IsIHdoZW4gdGhl IG1zaSBhbHJlYWR5IGV4aXN0cy4NCisNCitVbmZvcnR1bmF0ZWx5LCBpZiBzdWJzZXF1ZW50IGVy cm9ycyBhcmUgZW5jb3VudGVyZWQsIHRoZSBjbGVhbnVwDQorcGF0aHMgYXNzdW1lIHBjaV9lbmFi bGVfbXNpKCkgaGFkIGRvbmUgZnVsbCBpbml0aWFsaXphdGlvbiwgYW5kDQoraGVuY2UgdW5kbyBl dmVyeXRoaW5nIHRoYXQgd2FzIGFzc3VtZWQgdG8gYmUgZG9uZSBieSB0aGF0DQorZnVuY3Rpb24g d2l0aG91dCBhbHNvIHVuZG9pbmcgb3RoZXIgc2V0dXAgdGhhdCB3b3VsZCBub3JtYWxseQ0KK29j Y3VyIG9ubHkgYWZ0ZXIgdGhhdCBmdW5jdGlvbiB3YXMgY2FsbGVkIChpbiBtYXBfZG9tYWluX3Bp cnEoKQ0KK2l0c2VsZikuDQorDQorUmF0aGVyIHRoYW4gdHJ5IHRvIG1ha2UgdGhlIHJlZHVuZGFu dCBlbmFibGluZyBjYXNlIHdvcmsgcHJvcGVybHksIGp1c3QNCitmb3JiaWQgaXQgZW50aXJlbHkg YnkgaGF2aW5nIHBjaV9lbmFibGVfbXNpKCkgcmV0dXJuIC1FRVhJU1Qgd2hlbiBNU0kNCitpcyBh bHJlYWR5IHNldCB1cC4NCisNCitUaGlzIGlzIHBhcnQgb2YgWFNBLTIzNy4NCisNCitSZXBvcnRl ZC1ieTogSFc0MiA8aHc0MkBpcHN1bWouZGU+DQorU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2gg PGpiZXVsaWNoQHN1c2UuY29tPg0KK1Jldmlld2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcu Y29vcGVyM0BjaXRyaXguY29tPg0KK1Jldmlld2VkLWJ5OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2Uu ZHVubGFwQGNpdHJpeC5jb20+DQorDQorLS0tIGEveGVuL2FyY2gveDg2L21zaS5jDQorKysrIGIv eGVuL2FyY2gveDg2L21zaS5jDQorQEAgLTEwNTAsMTEgKzEwNTAsMTAgQEAgc3RhdGljIGludCBf X3BjaV9lbmFibGVfbXNpKHN0cnVjdCBtc2lfaQ0KKyAgICAgb2xkX2Rlc2MgPSBmaW5kX21zaV9l bnRyeShwZGV2LCBtc2ktPmlycSwgUENJX0NBUF9JRF9NU0kpOw0KKyAgICAgaWYgKCBvbGRfZGVz YyApDQorICAgICB7DQorLSAgICAgICAgcHJpbnRrKFhFTkxPR19XQVJOSU5HICJpcnEgJWQgYWxy ZWFkeSBtYXBwZWQgdG8gTVNJIG9uICUwNHg6JTAyeDolMDJ4LiV1XG4iLA0KKysgICAgICAgIHBy aW50ayhYRU5MT0dfRVJSICJpcnEgJWQgYWxyZWFkeSBtYXBwZWQgdG8gTVNJIG9uICUwNHg6JTAy eDolMDJ4LiV1XG4iLA0KKyAgICAgICAgICAgICAgICBtc2ktPmlycSwgbXNpLT5zZWcsIG1zaS0+ YnVzLA0KKyAgICAgICAgICAgICAgICBQQ0lfU0xPVChtc2ktPmRldmZuKSwgUENJX0ZVTkMobXNp LT5kZXZmbikpOw0KKy0gICAgICAgICpkZXNjID0gb2xkX2Rlc2M7DQorLSAgICAgICAgcmV0dXJu IDA7DQorKyAgICAgICAgcmV0dXJuIC1FRVhJU1Q7DQorICAgICB9DQorIA0KKyAgICAgb2xkX2Rl c2MgPSBmaW5kX21zaV9lbnRyeShwZGV2LCAtMSwgUENJX0NBUF9JRF9NU0lYKTsNCitAQCAtMTEx OCwxMSArMTExNywxMCBAQCBzdGF0aWMgaW50IF9fcGNpX2VuYWJsZV9tc2l4KHN0cnVjdCBtc2lf DQorICAgICBvbGRfZGVzYyA9IGZpbmRfbXNpX2VudHJ5KHBkZXYsIG1zaS0+aXJxLCBQQ0lfQ0FQ X0lEX01TSVgpOw0KKyAgICAgaWYgKCBvbGRfZGVzYyApDQorICAgICB7DQorLSAgICAgICAgcHJp bnRrKFhFTkxPR19XQVJOSU5HICJpcnEgJWQgYWxyZWFkeSBtYXBwZWQgdG8gTVNJLVggb24gJTA0 eDolMDJ4OiUwMnguJXVcbiIsDQorKyAgICAgICAgcHJpbnRrKFhFTkxPR19FUlIgImlycSAlZCBh bHJlYWR5IG1hcHBlZCB0byBNU0ktWCBvbiAlMDR4OiUwMng6JTAyeC4ldVxuIiwNCisgICAgICAg ICAgICAgICAgbXNpLT5pcnEsIG1zaS0+c2VnLCBtc2ktPmJ1cywNCisgICAgICAgICAgICAgICAg UENJX1NMT1QobXNpLT5kZXZmbiksIFBDSV9GVU5DKG1zaS0+ZGV2Zm4pKTsNCistICAgICAgICAq ZGVzYyA9IG9sZF9kZXNjOw0KKy0gICAgICAgIHJldHVybiAwOw0KKysgICAgICAgIHJldHVybiAt RUVYSVNUOw0KKyAgICAgfQ0KKyANCisgICAgIG9sZF9kZXNjID0gZmluZF9tc2lfZW50cnkocGRl diwgLTEsIFBDSV9DQVBfSURfTVNJKTsNCmRpZmYgLS1naXQgYS9tYWluL3hlbi94c2EyMzctNC5w YXRjaCBiL21haW4veGVuL3hzYTIzNy00LnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5k ZXggMDAwMDAwMDAwMC4uYTE2ZWMxYmJhMQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvbWFpbi94ZW4v eHNhMjM3LTQucGF0Y2gNCkBAIC0wLDAgKzEsMTI0IEBADQorRnJvbTogSmFuIEJldWxpY2ggPGpi ZXVsaWNoQHN1c2UuY29tPg0KK1N1YmplY3Q6IHg4Ni9JUlE6IGNvbmRpdGlvbmFsbHkgcHJlc2Vy dmUgaXJxIDwtPiBwaXJxIG1hcHBpbmcgb24gbWFwIGVycm9yIHBhdGhzDQorDQorTWFwcGluZ3Mg dGhhdCBoYWQgYmVlbiBzZXQgdXAgYmVmb3JlIHNob3VsZCBub3QgYmUgdG9ybiBkb3duIHdoZW4N CitoYW5kbGluZyB1bnJlbGF0ZWQgZXJyb3JzLg0KKw0KK1RoaXMgaXMgcGFydCBvZiBYU0EtMjM3 Lg0KKw0KK1JlcG9ydGVkLWJ5OiBIVzQyIDxodzQyQGlwc3Vtai5kZT4NCitTaWduZWQtb2ZmLWJ5 OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQorUmV2aWV3ZWQtYnk6IEdlb3JnZSBE dW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4NCisNCistLS0gYS94ZW4vYXJjaC94ODYv aXJxLmMNCisrKysgYi94ZW4vYXJjaC94ODYvaXJxLmMNCitAQCAtMTI1MSw3ICsxMjUxLDggQEAg c3RhdGljIGludCBwcmVwYXJlX2RvbWFpbl9pcnFfcGlycShzdHJ1Yw0KKyAgICAgICAgIHJldHVy biAtRU5PTUVNOw0KKyAgICAgfQ0KKyAgICAgKnBpbmZvID0gaW5mbzsNCistICAgIHJldHVybiAw Ow0KKysNCisrICAgIHJldHVybiAhIWVycjsNCisgfQ0KKyANCisgc3RhdGljIHZvaWQgc2V0X2Rv bWFpbl9pcnFfcGlycShzdHJ1Y3QgZG9tYWluICpkLCBpbnQgaXJxLCBzdHJ1Y3QgcGlycSAqcGly cSkNCitAQCAtMTI5NCw3ICsxMjk1LDEwIEBAIGludCBpbml0X2RvbWFpbl9pcnFfbWFwcGluZyhz dHJ1Y3QgZG9tYWkNCisgICAgICAgICAgICAgY29udGludWU7DQorICAgICAgICAgZXJyID0gcHJl cGFyZV9kb21haW5faXJxX3BpcnEoZCwgaSwgaSwgJmluZm8pOw0KKyAgICAgICAgIGlmICggZXJy ICkNCisrICAgICAgICB7DQorKyAgICAgICAgICAgIEFTU0VSVChlcnIgPCAwKTsNCisgICAgICAg ICAgICAgYnJlYWs7DQorKyAgICAgICAgfQ0KKyAgICAgICAgIHNldF9kb21haW5faXJxX3BpcnEo ZCwgaSwgaW5mbyk7DQorICAgICB9DQorIA0KK0BAIC0xOTAyLDYgKzE5MDYsNyBAQCBpbnQgbWFw X2RvbWFpbl9waXJxKA0KKyAgICAgc3RydWN0IHBpcnEgKmluZm87DQorICAgICBzdHJ1Y3QgaXJx X2Rlc2MgKmRlc2M7DQorICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOw0KKysgICAgREVDTEFSRV9C SVRNQVAocHJlcGFyZWQsIE1BWF9NU0lfSVJRUykgPSB7fTsNCisgDQorICAgICBBU1NFUlQoc3Bp bl9pc19sb2NrZWQoJmQtPmV2ZW50X2xvY2spKTsNCisgDQorQEAgLTE5NDUsOCArMTk1MCwxMCBA QCBpbnQgbWFwX2RvbWFpbl9waXJxKA0KKyAgICAgfQ0KKyANCisgICAgIHJldCA9IHByZXBhcmVf ZG9tYWluX2lycV9waXJxKGQsIGlycSwgcGlycSwgJmluZm8pOw0KKy0gICAgaWYgKCByZXQgKQ0K KysgICAgaWYgKCByZXQgPCAwICkNCisgICAgICAgICBnb3RvIHJldm9rZTsNCisrICAgIGlmICgg IXJldCApDQorKyAgICAgICAgX19zZXRfYml0KDAsIHByZXBhcmVkKTsNCisgDQorICAgICBkZXNj ID0gaXJxX3RvX2Rlc2MoaXJxKTsNCisgDQorQEAgLTIwMTgsOCArMjAyNSwxMCBAQCBpbnQgbWFw X2RvbWFpbl9waXJxKA0KKyAgICAgICAgICAgICBpcnEgPSBjcmVhdGVfaXJxKE5VTUFfTk9fTk9E RSk7DQorICAgICAgICAgICAgIHJldCA9IGlycSA+PSAwID8gcHJlcGFyZV9kb21haW5faXJxX3Bp cnEoZCwgaXJxLCBwaXJxICsgbnIsICZpbmZvKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICA6IGlycTsNCistICAgICAgICAgICAgaWYgKCByZXQgKQ0KKysgICAgICAgICAgICBpZiAoIHJl dCA8IDAgKQ0KKyAgICAgICAgICAgICAgICAgYnJlYWs7DQorKyAgICAgICAgICAgIGlmICggIXJl dCApDQorKyAgICAgICAgICAgICAgICBfX3NldF9iaXQobnIsIHByZXBhcmVkKTsNCisgICAgICAg ICAgICAgbXNpX2Rlc2NbbnJdLmlycSA9IGlycTsNCisgDQorICAgICAgICAgICAgIGlmICggaXJx X3Blcm1pdF9hY2Nlc3MoZCwgaXJxKSAhPSAwICkNCitAQCAtMjA1MiwxNSArMjA2MSwxNSBAQCBp bnQgbWFwX2RvbWFpbl9waXJxKA0KKyAgICAgICAgICAgICAgICAgZGVzYy0+bXNpX2Rlc2MgPSBO VUxMOw0KKyAgICAgICAgICAgICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGVzYy0+bG9j aywgZmxhZ3MpOw0KKyAgICAgICAgICAgICB9DQorLSAgICAgICAgICAgIHdoaWxlICggbnItLSAp DQorKyAgICAgICAgICAgIHdoaWxlICggbnIgKQ0KKyAgICAgICAgICAgICB7DQorICAgICAgICAg ICAgICAgICBpZiAoIGlycSA+PSAwICYmIGlycV9kZW55X2FjY2VzcyhkLCBpcnEpICkNCisgICAg ICAgICAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfRVJSDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJkb20lZDogY291bGQgbm90IHJldm9rZSBhY2Nlc3MgdG8gSVJRJWQgKHBpcnEg JWQpXG4iLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkLT5kb21haW5faWQsIGlycSwg cGlycSk7DQorLSAgICAgICAgICAgICAgICBpZiAoIGluZm8gKQ0KKysgICAgICAgICAgICAgICAg aWYgKCBpbmZvICYmIHRlc3RfYml0KG5yLCBwcmVwYXJlZCkgKQ0KKyAgICAgICAgICAgICAgICAg ICAgIGNsZWFudXBfZG9tYWluX2lycV9waXJxKGQsIGlycSwgaW5mbyk7DQorLSAgICAgICAgICAg ICAgICBpbmZvID0gcGlycV9pbmZvKGQsIHBpcnEgKyBucik7DQorKyAgICAgICAgICAgICAgICBp bmZvID0gcGlycV9pbmZvKGQsIHBpcnEgKyAtLW5yKTsNCisgICAgICAgICAgICAgICAgIGlycSA9 IGluZm8tPmFyY2guaXJxOw0KKyAgICAgICAgICAgICB9DQorICAgICAgICAgICAgIG1zaV9kZXNj LT5pcnEgPSAtMTsNCitAQCAtMjA3NiwxMiArMjA4NSwxNCBAQCBpbnQgbWFwX2RvbWFpbl9waXJx KA0KKyAgICAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZkZXNjLT5sb2NrLCBmbGFncyk7DQorICAg ICAgICAgc2V0X2RvbWFpbl9pcnFfcGlycShkLCBpcnEsIGluZm8pOw0KKyAgICAgICAgIHNwaW5f dW5sb2NrX2lycXJlc3RvcmUoJmRlc2MtPmxvY2ssIGZsYWdzKTsNCisrICAgICAgICByZXQgPSAw Ow0KKyAgICAgfQ0KKyANCisgZG9uZToNCisgICAgIGlmICggcmV0ICkNCisgICAgIHsNCistICAg ICAgICBjbGVhbnVwX2RvbWFpbl9pcnFfcGlycShkLCBpcnEsIGluZm8pOw0KKysgICAgICAgIGlm ICggdGVzdF9iaXQoMCwgcHJlcGFyZWQpICkNCisrICAgICAgICAgICAgY2xlYW51cF9kb21haW5f aXJxX3BpcnEoZCwgaXJxLCBpbmZvKTsNCisgIHJldm9rZToNCisgICAgICAgICBpZiAoIGlycV9k ZW55X2FjY2VzcyhkLCBpcnEpICkNCisgICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0VSUg0K Ky0tLSBhL3hlbi9hcmNoL3g4Ni9waHlzZGV2LmMNCisrKysgYi94ZW4vYXJjaC94ODYvcGh5c2Rl di5jDQorQEAgLTE4Niw3ICsxODYsNyBAQCBpbnQgcGh5c2Rldl9tYXBfcGlycShkb21pZF90IGRv bWlkLCBpbnQNCisgICAgICAgICB9DQorICAgICAgICAgZWxzZSBpZiAoIHR5cGUgPT0gTUFQX1BJ UlFfVFlQRV9NVUxUSV9NU0kgKQ0KKyAgICAgICAgIHsNCistICAgICAgICAgICAgaWYgKCBtc2kt PmVudHJ5X25yIDw9IDAgfHwgbXNpLT5lbnRyeV9uciA+IDMyICkNCisrICAgICAgICAgICAgaWYg KCBtc2ktPmVudHJ5X25yIDw9IDAgfHwgbXNpLT5lbnRyeV9uciA+IE1BWF9NU0lfSVJRUyApDQor ICAgICAgICAgICAgICAgICByZXQgPSAtRURPTTsNCisgICAgICAgICAgICAgZWxzZSBpZiAoIG1z aS0+ZW50cnlfbnIgIT0gMSAmJiAhaW9tbXVfaW50cmVtYXAgKQ0KKyAgICAgICAgICAgICAgICAg cmV0ID0gLUVPUE5PVFNVUFA7DQorLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tc2kuaA0KKysr KyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbXNpLmgNCitAQCAtNTYsNiArNTYsOCBAQA0KKyAvKiBN QVggZml4ZWQgcGFnZXMgcmVzZXJ2ZWQgZm9yIG1hcHBpbmcgTVNJWCB0YWJsZXMuICovDQorICNk ZWZpbmUgRklYX01TSVhfTUFYX1BBR0VTICAgICAgICAgICAgICA1MTINCisgDQorKyNkZWZpbmUg TUFYX01TSV9JUlFTIDMyIC8qIGxpbWl0ZWQgYnkgTVNJIGNhcGFiaWxpdHkgc3RydWN0IHByb3Bl cnRpZXMgKi8NCisrDQorIHN0cnVjdCBtc2lfaW5mbyB7DQorICAgICB1MTYgc2VnOw0KKyAgICAg dTggYnVzOw0KZGlmZiAtLWdpdCBhL21haW4veGVuL3hzYTIzNy01LnBhdGNoIGIvbWFpbi94ZW4v eHNhMjM3LTUucGF0Y2gNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwLi4x NTViYTE1ZDA4DQotLS0gL2Rldi9udWxsDQorKysgYi9tYWluL3hlbi94c2EyMzctNS5wYXRjaA0K QEAgLTAsMCArMSwzNyBAQA0KK0Zyb206IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4N CitTdWJqZWN0OiB4ODYvRkxBU0s6IGZpeCB1bm1hcC1kb21haW4tSVJRIFhTTSBob29rDQorDQor VGhlIGNhbGxlciBhbmQgdGhlIEZMQVNLIGltcGxlbWVudGF0aW9uIG9mIHhzbV91bm1hcF9kb21h aW5faXJxKCkNCitkaXNhZ3JlZWQgYWJvdXQgd2hhdCB0aGUgImRhdGEiIGFyZ3VtZW50IHBvaW50 cyB0byBpbiB0aGUgTVNJIGNhc2U6DQorQ2hhbmdlIGJvdGggc2lkZXMgdG8gcGFzcy90YWtlIGEg UENJIGRldmljZS4NCisNCitUaGlzIGlzIHBhcnQgb2YgWFNBLTIzNy4NCisNCitTaWduZWQtb2Zm LWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQorUmV2aWV3ZWQtYnk6IEFuZHJl dyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQorDQorLS0tIGEveGVuL2FyY2gv eDg2L2lycS5jDQorKysrIGIveGVuL2FyY2gveDg2L2lycS5jDQorQEAgLTIxNDMsNyArMjE0Myw4 IEBAIGludCB1bm1hcF9kb21haW5fcGlycShzdHJ1Y3QgZG9tYWluICpkLA0KKyAgICAgICAgIG5y ID0gbXNpX2Rlc2MtPm1zaS5udmVjOw0KKyAgICAgfQ0KKyANCistICAgIHJldCA9IHhzbV91bm1h cF9kb21haW5faXJxKFhTTV9IT09LLCBkLCBpcnEsIG1zaV9kZXNjKTsNCisrICAgIHJldCA9IHhz bV91bm1hcF9kb21haW5faXJxKFhTTV9IT09LLCBkLCBpcnEsDQorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBtc2lfZGVzYyA/IG1zaV9kZXNjLT5kZXYgOiBOVUxMKTsNCisgICAgIGlm ICggcmV0ICkNCisgICAgICAgICBnb3RvIGRvbmU7DQorIA0KKy0tLSBhL3hlbi94c20vZmxhc2sv aG9va3MuYw0KKysrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYw0KK0BAIC05MTgsOCArOTE4LDgg QEAgc3RhdGljIGludCBmbGFza191bm1hcF9kb21haW5fbXNpIChzdHJ1Yw0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHUzMiAqc2lkLCBzdHJ1Y3QgYXZjX2F1ZGl0X2RhdGEg KmFkKQ0KKyB7DQorICNpZmRlZiBDT05GSUdfSEFTX1BDSQ0KKy0gICAgc3RydWN0IG1zaV9pbmZv ICptc2kgPSBkYXRhOw0KKy0gICAgdTMyIG1hY2hpbmVfYmRmID0gKG1zaS0+c2VnIDw8IDE2KSB8 IChtc2ktPmJ1cyA8PCA4KSB8IG1zaS0+ZGV2Zm47DQorKyAgICBjb25zdCBzdHJ1Y3QgcGNpX2Rl diAqcGRldiA9IGRhdGE7DQorKyAgICB1MzIgbWFjaGluZV9iZGYgPSAocGRldi0+c2VnIDw8IDE2 KSB8IChwZGV2LT5idXMgPDwgOCkgfCBwZGV2LT5kZXZmbjsNCisgDQorICAgICBBVkNfQVVESVRf REFUQV9JTklUKGFkLCBERVYpOw0KKyAgICAgYWQtPmRldmljZSA9IG1hY2hpbmVfYmRmOw0KZGlm ZiAtLWdpdCBhL21haW4veGVuL3hzYTIzOC5wYXRjaCBiL21haW4veGVuL3hzYTIzOC5wYXRjaA0K bmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAuLjBkN2Q0OGZlZjgNCi0tLSAv ZGV2L251bGwNCisrKyBiL21haW4veGVuL3hzYTIzOC5wYXRjaA0KQEAgLTAsMCArMSw0NSBAQA0K K0Zyb20gY2RjMjg4NzA3NmIxOWIzOWZhYjlmYWVjNDk1MDgyNTg2ZjMxMTNkZiBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDENCitGcm9tOiBYZW5Qcm9qZWN0IFNlY3VyaXR5IFRlYW0gPHNlY3VyaXR5 QHhlbnByb2plY3Qub3JnPg0KK0RhdGU6IFR1ZSwgNSBTZXAgMjAxNyAxMzo0MTozNyArMDIwMA0K K1N1YmplY3Q6IHg4Ni9pb3JlcSBzZXJ2ZXI6IGNvcnJlY3RseSBoYW5kbGUgYm9ndXMNCisgWEVO X0RNT1Bfeyx1bn1tYXBfaW9fcmFuZ2VfdG9faW9yZXFfc2VydmVyIGFyZ3VtZW50cw0KKw0KK01p c2JlaGF2aW5nIGRldmljZSBtb2RlbCBjYW4gcGFzcyBpbmNvcnJlY3QgWEVOX0RNT1BfbWFwLw0K K3VubWFwX2lvX3JhbmdlX3RvX2lvcmVxX3NlcnZlciBhcmd1bWVudHMsIG5hbWVseSBlbmQgPCBz dGFydCB3aGVuDQorc3BlY2lmeWluZyBhZGRyZXNzIHJhbmdlLiBXaGVuIHRoaXMgaGFwcGVucyB3 ZSBoaXQgQVNTRVJUKHMgPD0gZSkgaW4NCityYW5nZXNldF9jb250YWluc19yYW5nZSgpL3Jhbmdl c2V0X292ZXJsYXBzX3JhbmdlKCkgd2l0aCBkZWJ1ZyBidWlsZHMuDQorUHJvZHVjdGlvbiBidWls ZHMgd2lsbCBub3QgdHJhcCByaWdodCBhd2F5IGJ1dCBtYXkgbWlzYmVoYXZlIGxhdGVyDQord2hp bGUgaGFuZGxpbmcgc3VjaCBib2d1cyByYW5nZXMuDQorDQorVGhpcyBpcyBYU0EtMjM4Lg0KKw0K K1NpZ25lZC1vZmYtYnk6IFZpdGFseSBLdXpuZXRzb3YgPHZrdXpuZXRzQHJlZGhhdC5jb20+DQor UmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCistLS0NCisgeGVu L2FyY2gveDg2L2h2bS9pb3JlcS5jIHwgNiArKysrKysNCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5z ZXJ0aW9ucygrKQ0KKw0KK2RpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMgYi94 ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMNCitpbmRleCBiMmE4YjBlOTg2Li44YzhiZjFmMGVjIDEw MDY0NA0KKy0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vaW9yZXEuYw0KKysrKyBiL3hlbi9hcmNoL3g4 Ni9odm0vaW9yZXEuYw0KK0BAIC04MjAsNiArODIwLDkgQEAgaW50IGh2bV9tYXBfaW9fcmFuZ2Vf dG9faW9yZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQsDQorICAgICBz dHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqczsNCisgICAgIGludCByYzsNCisgDQorKyAgICBpZiAo IHN0YXJ0ID4gZW5kICkNCisrICAgICAgICByZXR1cm4gLUVJTlZBTDsNCisrDQorICAgICBzcGlu X2xvY2tfcmVjdXJzaXZlKCZkLT5hcmNoLmh2bV9kb21haW4uaW9yZXFfc2VydmVyLmxvY2spOw0K KyANCisgICAgIHJjID0gLUVOT0VOVDsNCitAQCAtODcyLDYgKzg3NSw5IEBAIGludCBodm1fdW5t YXBfaW9fcmFuZ2VfZnJvbV9pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwgaW9zZXJ2aWRf dCBpZCwNCisgICAgIHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzOw0KKyAgICAgaW50IHJjOw0K KyANCisrICAgIGlmICggc3RhcnQgPiBlbmQgKQ0KKysgICAgICAgIHJldHVybiAtRUlOVkFMOw0K KysNCisgICAgIHNwaW5fbG9ja19yZWN1cnNpdmUoJmQtPmFyY2guaHZtX2RvbWFpbi5pb3JlcV9z ZXJ2ZXIubG9jayk7DQorIA0KKyAgICAgcmMgPSAtRU5PRU5UOw0KZGlmZiAtLWdpdCBhL21haW4v eGVuL3hzYTIzOS5wYXRjaCBiL21haW4veGVuL3hzYTIzOS5wYXRjaA0KbmV3IGZpbGUgbW9kZSAx MDA2NDQNCmluZGV4IDAwMDAwMDAwMDAuLjVkYWVjYjVlNDcNCi0tLSAvZGV2L251bGwNCisrKyBi L21haW4veGVuL3hzYTIzOS5wYXRjaA0KQEAgLTAsMCArMSw0NiBAQA0KK0Zyb206IEphbiBCZXVs aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCitTdWJqZWN0OiB4ODYvSFZNOiBwcmVmaWxsIHBhcnRp YWxseSB1c2VkIHZhcmlhYmxlIG9uIGVtdWxhdGlvbiBwYXRocw0KKw0KK0NlcnRhaW4gaGFuZGxl cnMgaWdub3JlIHRoZSBhY2Nlc3Mgc2l6ZSAodmlvYXBpY193cml0ZSgpIGJlaW5nIHRoZQ0KK2V4 YW1wbGUgdGhpcyB3YXMgZm91bmQgd2l0aCksIHBlcmhhcHMgbGVhZGluZyB0byBzdWJzZXF1ZW50 IHJlYWRzDQorc2VlaW5nIGRhdGEgdGhhdCB3YXNuJ3QgYWN0dWFsbHkgd3JpdHRlbiBieSB0aGUg Z3Vlc3QuIEZvcg0KK2NvbnNpc3RlbmN5IGFuZCBleHRyYSBzYWZldHkgYWxzbyBkbyB0aGlzIG9u IHRoZSByZWFkIHBhdGggb2YNCitodm1fcHJvY2Vzc19pb19pbnRlcmNlcHQoKSwgZXZlbiBpZiB0 aGlzIGRvZXNuJ3QgZGlyZWN0bHkgYWZmZWN0IHdoYXQNCitndWVzdHMgZ2V0IHRvIHNlZSwgYXMg d2UndmUgc3VwcG9zZWRseSBhbHJlYWR5IGRlYWx0IHdpdGggcmVhZCBoYW5kbGVycw0KK2xlYXZp bmcgZGF0YSBjb21wbGV0ZWx5IHVuaXRpYWxpemVkLg0KKw0KK1RoaXMgaXMgWFNBLTIzOS4NCisN CitSZXBvcnRlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+DQor UmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KK1Np Z25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCisNCistLS0gYS94 ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYw0KKysrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZW11bGF0 ZS5jDQorQEAgLTEyOSw3ICsxMjksNyBAQCBzdGF0aWMgaW50IGh2bWVtdWxfZG9faW8oDQorICAg ICAgICAgLmNvdW50ID0gKnJlcHMsDQorICAgICAgICAgLmRpciA9IGRpciwNCisgICAgICAgICAu ZGYgPSBkZiwNCistICAgICAgICAuZGF0YSA9IGRhdGEsDQorKyAgICAgICAgLmRhdGEgPSBkYXRh X2lzX2FkZHIgPyBkYXRhIDogMCwNCisgICAgICAgICAuZGF0YV9pc19wdHIgPSBkYXRhX2lzX2Fk ZHIsIC8qIGlvcmVxX3QgZmllbGQgbmFtZSBpcyBtaXNsZWFkaW5nICovDQorICAgICAgICAgLnN0 YXRlID0gU1RBVEVfSU9SRVFfUkVBRFksDQorICAgICB9Ow0KKy0tLSBhL3hlbi9hcmNoL3g4Ni9o dm0vaW50ZXJjZXB0LmMNCisrKysgYi94ZW4vYXJjaC94ODYvaHZtL2ludGVyY2VwdC5jDQorQEAg LTEyNyw2ICsxMjcsNyBAQCBpbnQgaHZtX3Byb2Nlc3NfaW9faW50ZXJjZXB0KGNvbnN0IHN0cnVj DQorICAgICAgICAgICAgIGFkZHIgPSAocC0+dHlwZSA9PSBJT1JFUV9UWVBFX0NPUFkpID8NCisg ICAgICAgICAgICAgICAgICAgIHAtPmFkZHIgKyBzdGVwICogaSA6DQorICAgICAgICAgICAgICAg ICAgICBwLT5hZGRyOw0KKysgICAgICAgICAgICBkYXRhID0gMDsNCisgICAgICAgICAgICAgcmMg PSBvcHMtPnJlYWQoaGFuZGxlciwgYWRkciwgcC0+c2l6ZSwgJmRhdGEpOw0KKyAgICAgICAgICAg ICBpZiAoIHJjICE9IFg4NkVNVUxfT0tBWSApDQorICAgICAgICAgICAgICAgICBicmVhazsNCitA QCAtMTYxLDYgKzE2Miw3IEBAIGludCBodm1fcHJvY2Vzc19pb19pbnRlcmNlcHQoY29uc3Qgc3Ry dWMNCisgICAgICAgICB7DQorICAgICAgICAgICAgIGlmICggcC0+ZGF0YV9pc19wdHIgKQ0KKyAg ICAgICAgICAgICB7DQorKyAgICAgICAgICAgICAgICBkYXRhID0gMDsNCisgICAgICAgICAgICAg ICAgIHN3aXRjaCAoIGh2bV9jb3B5X2Zyb21fZ3Vlc3RfcGh5cygmZGF0YSwgcC0+ZGF0YSArIHN0 ZXAgKiBpLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHAtPnNpemUpICkNCisgICAgICAgICAgICAgICAgIHsNCmRpZmYgLS1naXQgYS9tYWluL3hl bi94c2EyNDAtMS5wYXRjaCBiL21haW4veGVuL3hzYTI0MC0xLnBhdGNoDQpuZXcgZmlsZSBtb2Rl IDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMC4uNTE1YWQyMmI2Ng0KLS0tIC9kZXYvbnVsbA0KKysr IGIvbWFpbi94ZW4veHNhMjQwLTEucGF0Y2gNCkBAIC0wLDAgKzEsNDk0IEBADQorRnJvbSA4Njc5 ODgyMzdkM2U0NzJmZTJjOTllODFhZTczM2UxMDM0MjI1NjZjIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQ0KK0Zyb206IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCitEYXRlOiBUaHUs IDI4IFNlcCAyMDE3IDE1OjE3OjI1ICswMTAwDQorU3ViamVjdDogW1BBVENIIDEvMl0geDg2OiBs aW1pdCBsaW5lYXIgcGFnZSB0YWJsZSB1c2UgdG8gYSBzaW5nbGUgbGV2ZWwNCisNCitUaGF0J3Mg dGhlIG9ubHkgd2F5IHRoYXQgdGhleSdyZSBtZWFudCB0byBiZSB1c2VkLiBXaXRob3V0IHN1Y2gg YQ0KK3Jlc3RyaWN0aW9uIGFyYml0cmFyaWx5IGxvbmcgY2hhaW5zIG9mIHNhbWUtbGV2ZWwgcGFn ZSB0YWJsZXMgY2FuIGJlDQorYnVpbHQsIHRlYXJpbmcgZG93biBvZiB3aGljaCBtYXkgdGhlbiBj YXVzZSBhcmJpdHJhcmlseSBkZWVwIHJlY3Vyc2lvbiwNCitjYXVzaW5nIGEgc3RhY2sgb3ZlcmZs b3cuIFRvIGZhY2lsaXRhdGUgdGhpcyByZXN0cmljdGlvbiwgYSBjb3VudGVyIGlzDQorYmVpbmcg aW50cm9kdWNlZCB0byB0cmFjayBib3RoIHRoZSBudW1iZXIgb2Ygc2FtZS1sZXZlbCBlbnRyaWVz IGluIGENCitwYWdlIHRhYmxlIGFzIHdlbGwgYXMgdGhlIG51bWJlciBvZiB1c2VzIG9mIGEgcGFn ZSB0YWJsZSBpbiBhbm90aGVyDQorc2FtZS1sZXZlbCBvbmUgKGNvdW50aW5nIGludG8gcG9zaXRp dmUgYW5kIG5lZ2F0aXZlIGRpcmVjdGlvbg0KK3Jlc3BlY3RpdmVseSwgdXRpbGl6aW5nIHRoZSBm YWN0IHRoYXQgYm90aCBjb3VudHMgY2FuJ3QgYmUgbm9uLXplcm8gYXQNCit0aGUgc2FtZSB0aW1l KS4NCisNCitOb3RlIHRoYXQgdGhlIGFkZGVkIGFjY291bnRpbmcgaW50cm9kdWNlcyBhIHJlc3Ry aWN0aW9uIG9uIHRoZSBudW1iZXINCitvZiB0aW1lcyBhIHBhZ2UgY2FuIGJlIHVzZWQgaW4gb3Ro ZXIgc2FtZS1sZXZlbCBwYWdlIHRhYmxlcyAtIG1vcmUgdGhhbg0KKzMyayBvZiBzdWNoIHVzZXMg YXJlIG5vIGxvbmdlciBwb3NzaWJsZS4NCisNCitOb3RlIGFsc28gdGhhdCBzb21lIHB1dF9wYWdl X2FuZF90eXBlW19wcmVlbXB0aWJsZV0oKSBjYWxscyBhcmUNCityZXBsYWNlZCB3aXRoIG9wZW4t Y29kZWQgZXF1aXZhbGVudHMuICBUaGlzIHNlZW1lZCBwcmVmZXJyYWJsZSB0bw0KK2FkZGluZyAi cGFyZW50X3RhYmxlIiB0byB0aGUgbWF0cml4IG9mIGZ1bmN0aW9ucy4NCisNCitOb3RlIGZ1cnRo ZXIgdGhhdCBjcm9zcy1kb21haW4gc2FtZS1sZXZlbCBwYWdlIHRhYmxlIHJlZmVyZW5jZXMgYXJl IG5vDQorbG9uZ2VyIHBlcm1pdHRlZCAodGhleSBwcm9iYWJseSBuZXZlciBzaG91bGQgaGF2ZSBi ZWVuKS4NCisNCitUaGlzIGlzIFhTQS0yNDAuDQorDQorUmVwb3J0ZWQtYnk6IEphbm4gSG9ybiA8 amFubmhAZ29vZ2xlLmNvbT4NCitTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hA c3VzZS5jb20+DQorU2lnbmVkLW9mZi1ieTogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBj aXRyaXguY29tPg0KKy0tLQ0KKyB4ZW4vYXJjaC94ODYvZG9tYWluLmMgICAgICAgIHwgICAxICsN CisgeGVuL2FyY2gveDg2L21tLmMgICAgICAgICAgICB8IDE3MSArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tDQorIHhlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgg fCAgIDIgKw0KKyB4ZW4vaW5jbHVkZS9hc20teDg2L21tLmggICAgIHwgIDI1ICsrKysrLS0NCisg NCBmaWxlcyBjaGFuZ2VkLCAxNzUgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pDQorDQor ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21haW4uYyBiL3hlbi9hcmNoL3g4Ni9kb21haW4u Yw0KK2luZGV4IGQ3ZTY5OTIyOGMuLmQ3ZWQ3MmMyNDYgMTAwNjQ0DQorLS0tIGEveGVuL2FyY2gv eDg2L2RvbWFpbi5jDQorKysrIGIveGVuL2FyY2gveDg2L2RvbWFpbi5jDQorQEAgLTEyMjYsNiAr MTIyNiw3IEBAIGludCBhcmNoX3NldF9pbmZvX2d1ZXN0KA0KKyAgICAgICAgICAgICAgICAgICAg IHJjID0gLUVSRVNUQVJUOw0KKyAgICAgICAgICAgICAgICAgICAgIC8qIEZhbGx0aHJvdWdoICov DQorICAgICAgICAgICAgICAgICBjYXNlIC1FUkVTVEFSVDoNCisrICAgICAgICAgICAgICAgICAg ICB2LT5hcmNoLm9sZF9ndWVzdF9wdHBnID0gTlVMTDsNCisgICAgICAgICAgICAgICAgICAgICB2 LT5hcmNoLm9sZF9ndWVzdF90YWJsZSA9DQorICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2V0 YWJsZV9nZXRfcGFnZSh2LT5hcmNoLmd1ZXN0X3RhYmxlKTsNCisgICAgICAgICAgICAgICAgICAg ICB2LT5hcmNoLmd1ZXN0X3RhYmxlID0gcGFnZXRhYmxlX251bGwoKTsNCitkaWZmIC0tZ2l0IGEv eGVuL2FyY2gveDg2L21tLmMgYi94ZW4vYXJjaC94ODYvbW0uYw0KK2luZGV4IDg2ZjVlZGE1MmQu LjFlNDY5YmQzNTQgMTAwNjQ0DQorLS0tIGEveGVuL2FyY2gveDg2L21tLmMNCisrKysgYi94ZW4v YXJjaC94ODYvbW0uYw0KK0BAIC03NDcsNiArNzQ3LDYxIEBAIHN0YXRpYyB2b2lkIHB1dF9kYXRh X3BhZ2UoDQorICAgICAgICAgcHV0X3BhZ2UocGFnZSk7DQorIH0NCisgDQorK3N0YXRpYyBib29s IGluY19saW5lYXJfZW50cmllcyhzdHJ1Y3QgcGFnZV9pbmZvICpwZykNCisrew0KKysgICAgdHlw ZW9mKHBnLT5saW5lYXJfcHRfY291bnQpIG5jID0gcmVhZF9hdG9taWMoJnBnLT5saW5lYXJfcHRf Y291bnQpLCBvYzsNCisrDQorKyAgICBkbyB7DQorKyAgICAgICAgLyoNCisrICAgICAgICAgKiBU aGUgY2hlY2sgYmVsb3cgY2hlY2tzIGZvciB0aGUgImxpbmVhciB1c2UiIGNvdW50IGJlaW5nIG5v bi16ZXJvDQorKyAgICAgICAgICogYXMgd2VsbCBhcyBvdmVyZmxvdy4gIFNpZ25lZCBpbnRlZ2Vy IG92ZXJmbG93IGlzIHVuZGVmaW5lZCBiZWhhdmlvcg0KKysgICAgICAgICAqIGFjY29yZGluZyB0 byB0aGUgQyBzcGVjLiAgSG93ZXZlciwgYXMgbG9uZyBhcyBsaW5lYXJfcHRfY291bnQgaXMNCisr ICAgICAgICAgKiBzbWFsbGVyIGluIHNpemUgdGhhbiAnaW50JywgdGhlIGFyaXRobWV0aWMgb3Bl cmF0aW9uIG9mIHRoZQ0KKysgICAgICAgICAqIGluY3JlbWVudCBiZWxvdyB3b24ndCBvdmVyZmxv dzsgcmF0aGVyIHRoZSByZXN1bHQgd2lsbCBiZSB0cnVuY2F0ZWQNCisrICAgICAgICAgKiB3aGVu IHN0b3JlZC4gIEVuc3VyZSB0aGF0IHRoaXMgaXMgYWx3YXlzIHRydWUuDQorKyAgICAgICAgICov DQorKyAgICAgICAgQlVJTERfQlVHX09OKHNpemVvZihuYykgPj0gc2l6ZW9mKGludCkpOw0KKysg ICAgICAgIG9jID0gbmMrKzsNCisrICAgICAgICBpZiAoIG5jIDw9IDAgKQ0KKysgICAgICAgICAg ICByZXR1cm4gZmFsc2U7DQorKyAgICAgICAgbmMgPSBjbXB4Y2hnKCZwZy0+bGluZWFyX3B0X2Nv dW50LCBvYywgbmMpOw0KKysgICAgfSB3aGlsZSAoIG9jICE9IG5jICk7DQorKw0KKysgICAgcmV0 dXJuIHRydWU7DQorK30NCisrDQorK3N0YXRpYyB2b2lkIGRlY19saW5lYXJfZW50cmllcyhzdHJ1 Y3QgcGFnZV9pbmZvICpwZykNCisrew0KKysgICAgdHlwZW9mKHBnLT5saW5lYXJfcHRfY291bnQp IG9jOw0KKysNCisrICAgIG9jID0gYXJjaF9mZXRjaF9hbmRfYWRkKCZwZy0+bGluZWFyX3B0X2Nv dW50LCAtMSk7DQorKyAgICBBU1NFUlQob2MgPiAwKTsNCisrfQ0KKysNCisrc3RhdGljIGJvb2wg aW5jX2xpbmVhcl91c2VzKHN0cnVjdCBwYWdlX2luZm8gKnBnKQ0KKyt7DQorKyAgICB0eXBlb2Yo cGctPmxpbmVhcl9wdF9jb3VudCkgbmMgPSByZWFkX2F0b21pYygmcGctPmxpbmVhcl9wdF9jb3Vu dCksIG9jOw0KKysNCisrICAgIGRvIHsNCisrICAgICAgICAvKiBTZWUgdGhlIHJlc3BlY3RpdmUg Y29tbWVudCBpbiBpbmNfbGluZWFyX2VudHJpZXMoKS4gKi8NCisrICAgICAgICBCVUlMRF9CVUdf T04oc2l6ZW9mKG5jKSA+PSBzaXplb2YoaW50KSk7DQorKyAgICAgICAgb2MgPSBuYy0tOw0KKysg ICAgICAgIGlmICggbmMgPj0gMCApDQorKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCisrICAg ICAgICBuYyA9IGNtcHhjaGcoJnBnLT5saW5lYXJfcHRfY291bnQsIG9jLCBuYyk7DQorKyAgICB9 IHdoaWxlICggb2MgIT0gbmMgKTsNCisrDQorKyAgICByZXR1cm4gdHJ1ZTsNCisrfQ0KKysNCisr c3RhdGljIHZvaWQgZGVjX2xpbmVhcl91c2VzKHN0cnVjdCBwYWdlX2luZm8gKnBnKQ0KKyt7DQor KyAgICB0eXBlb2YocGctPmxpbmVhcl9wdF9jb3VudCkgb2M7DQorKw0KKysgICAgb2MgPSBhcmNo X2ZldGNoX2FuZF9hZGQoJnBnLT5saW5lYXJfcHRfY291bnQsIDEpOw0KKysgICAgQVNTRVJUKG9j IDwgMCk7DQorK30NCisrDQorIC8qDQorICAqIFdlIGFsbG93IHJvb3QgdGFibGVzIHRvIG1hcCBl YWNoIG90aGVyIChhLmsuYS4gbGluZWFyIHBhZ2UgdGFibGVzKS4gSXQNCisgICogbmVlZHMgc29t ZSBzcGVjaWFsIGNhcmUgd2l0aCByZWZlcmVuY2UgY291bnRzIGFuZCBhY2Nlc3MgcGVybWlzc2lv bnM6DQorQEAgLTc3NywxNSArODMyLDM1IEBAIGdldF8jI2xldmVsIyNfbGluZWFyX3BhZ2V0YWJs ZSggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcDQorICAgICBpZiAoIChwZm4gPSBsZXZlbCMjZV9nZXRfcGZuKHBkZSkp ICE9IHBkZV9wZm4gKSAgICAgICAgICAgICAgICAgICAgICAgICBcDQorICAgICB7ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcDQorKyAgICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcHRwZyA9IG1mbl90b19wYWdlKHBk ZV9wZm4pOyAgICAgICAgICAgICAgICAgICAgICBcDQorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQor KyAgICAgICAgLyogTWFrZSBzdXJlIHRoZSBwYWdlIHRhYmxlIGJlbG9uZ3MgdG8gdGhlIGNvcnJl Y3QgZG9tYWluLiAqLyAgICAgICBcDQorKyAgICAgICAgaWYgKCB1bmxpa2VseShwYWdlX2dldF9v d25lcihwdHBnKSAhPSBkKSApICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorKyAgICAgICAg ICAgIHJldHVybiAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcDQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorICAgICAgICAgLyogTWFrZSBz dXJlIHRoZSBtYXBwZWQgZnJhbWUgYmVsb25ncyB0byB0aGUgY29ycmVjdCBkb21haW4uICovICAg ICBcDQorICAgICAgICAgaWYgKCB1bmxpa2VseSghZ2V0X3BhZ2VfZnJvbV9wYWdlbnIocGZuLCBk KSkgKSAgICAgICAgICAgICAgICAgICAgICBcDQorICAgICAgICAgICAgIHJldHVybiAwOyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcDQorICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorLSAgICAgICAgICog RW5zdXJlIHRoYXQgdGhlIG1hcHBlZCBmcmFtZSBpcyBhbiBhbHJlYWR5LXZhbGlkYXRlZCBwYWdl IHRhYmxlLiBcDQorKyAgICAgICAgICogRW5zdXJlIHRoYXQgdGhlIG1hcHBlZCBmcmFtZSBpcyBh biBhbHJlYWR5LXZhbGlkYXRlZCBwYWdlIHRhYmxlICBcDQorKyAgICAgICAgICogYW5kIGlzIG5v dCBpdHNlbGYgaGF2aW5nIGxpbmVhciBlbnRyaWVzLCBhcyB3ZWxsIGFzIHRoYXQgdGhlICAgICBc DQorKyAgICAgICAgICogY29udGFpbmluZyBwYWdlIHRhYmxlIGlzIG5vdCBpc2VsZiBpbiB1c2Ug YXMgYSBsaW5lYXIgcGFnZSB0YWJsZSBcDQorKyAgICAgICAgICogZWxzZXdoZXJlLiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorICAgICAg ICAgICogSWYgc28sIGF0b21pY2FsbHkgaW5jcmVtZW50IHRoZSBjb3VudCAoY2hlY2tpbmcgZm9y IG92ZXJmbG93KS4gICBcDQorICAgICAgICAgICovICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorICAgICAgICAgcGFnZSA9 IG1mbl90b19wYWdlKHBmbik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcDQorKyAgICAgICAgaWYgKCAhaW5jX2xpbmVhcl9lbnRyaWVzKHB0cGcpICkgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorKyAgICAgICAgeyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQor KyAgICAgICAgICAgIHB1dF9wYWdlKHBhZ2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcDQorKyAgICAgICAgICAgIHJldHVybiAwOyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorKyAgICAgICAg fSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcDQorKyAgICAgICAgaWYgKCAhaW5jX2xpbmVhcl91c2VzKHBhZ2UpICkgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorKyAgICAgICAgeyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcDQorKyAgICAgICAgICAgIGRlY19saW5lYXJfZW50cmllcyhwdHBnKTsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorKyAgICAgICAgICAgIHB1dF9wYWdlKHBhZ2Up OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorKyAg ICAgICAgICAgIHJldHVybiAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcDQorKyAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorICAgICAgICAgeSA9 IHBhZ2UtPnUuaW51c2UudHlwZV9pbmZvOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcDQorICAgICAgICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorICAgICAgICAgICAgIHggPSB5OyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc DQorQEAgLTc5Myw2ICs4NjgsOCBAQCBnZXRfIyNsZXZlbCMjX2xpbmVhcl9wYWdldGFibGUoICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KKyAgICAgICAgICAg ICAgICAgIHVubGlrZWx5KCh4ICYgKFBHVF90eXBlX21hc2t8UEdUX3ZhbGlkYXRlZCkpICE9ICAg ICAgICAgICAgXA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChQR1RfIyNsZXZlbCMjX3Bh Z2VfdGFibGV8UEdUX3ZhbGlkYXRlZCkpICkgICAgICAgXA0KKyAgICAgICAgICAgICB7ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XA0KKysgICAgICAgICAgICAgICAgZGVjX2xpbmVhcl91c2VzKHBhZ2UpOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXA0KKysgICAgICAgICAgICAgICAgZGVjX2xpbmVhcl9l bnRyaWVzKHB0cGcpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KKyAgICAg ICAgICAgICAgICAgcHV0X3BhZ2UocGFnZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXA0KKyAgICAgICAgICAgICAgICAgcmV0dXJuIDA7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KKyAgICAgICAgICAgICB9 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXA0KK0BAIC0xMjI2LDYgKzEzMDMsOSBAQCBnZXRfcGFnZV9mcm9tX2w0ZSgNCisgICAg ICAgICAgICAgbDNlX3JlbW92ZV9mbGFncygocGwzZSksIF9QQUdFX1VTRVJ8X1BBR0VfUld8X1BB R0VfQUNDRVNTRUQpOyAgIFwNCisgICAgIH0gd2hpbGUgKCAwICkNCisgDQorK3N0YXRpYyBpbnQg X3B1dF9wYWdlX3R5cGUoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSwgYm9vbCBwcmVlbXB0aWJsZSwN CisrICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwdHBnKTsNCisr DQorIHZvaWQgcHV0X3BhZ2VfZnJvbV9sMWUobDFfcGdlbnRyeV90IGwxZSwgc3RydWN0IGRvbWFp biAqbDFlX293bmVyKQ0KKyB7DQorICAgICB1bnNpZ25lZCBsb25nICAgICBwZm4gPSBsMWVfZ2V0 X3BmbihsMWUpOw0KK0BAIC0xMjk2LDE3ICsxMzc2LDIyIEBAIHN0YXRpYyBpbnQgcHV0X3BhZ2Vf ZnJvbV9sMmUobDJfcGdlbnRyeV90IGwyZSwgdW5zaWduZWQgbG9uZyBwZm4pDQorICAgICBpZiAo IGwyZV9nZXRfZmxhZ3MobDJlKSAmIF9QQUdFX1BTRSApDQorICAgICAgICAgcHV0X3N1cGVycGFn ZShsMmVfZ2V0X3BmbihsMmUpKTsNCisgICAgIGVsc2UNCistICAgICAgICBwdXRfcGFnZV9hbmRf dHlwZShsMmVfZ2V0X3BhZ2UobDJlKSk7DQorKyAgICB7DQorKyAgICAgICAgc3RydWN0IHBhZ2Vf aW5mbyAqcGcgPSBsMmVfZ2V0X3BhZ2UobDJlKTsNCisrICAgICAgICBpbnQgcmMgPSBfcHV0X3Bh Z2VfdHlwZShwZywgZmFsc2UsIG1mbl90b19wYWdlKHBmbikpOw0KKysNCisrICAgICAgICBBU1NF UlQoIXJjKTsNCisrICAgICAgICBwdXRfcGFnZShwZyk7DQorKyAgICB9DQorIA0KKyAgICAgcmV0 dXJuIDA7DQorIH0NCisgDQorLXN0YXRpYyBpbnQgX19wdXRfcGFnZV90eXBlKHN0cnVjdCBwYWdl X2luZm8gKiwgaW50IHByZWVtcHRpYmxlKTsNCistDQorIHN0YXRpYyBpbnQgcHV0X3BhZ2VfZnJv bV9sM2UobDNfcGdlbnRyeV90IGwzZSwgdW5zaWduZWQgbG9uZyBwZm4sDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaW50IHBhcnRpYWwsIGJvb2xfdCBkZWZlcikNCisgew0KKyAgICAg c3RydWN0IHBhZ2VfaW5mbyAqcGc7DQorKyAgICBpbnQgcmM7DQorIA0KKyAgICAgaWYgKCAhKGwz ZV9nZXRfZmxhZ3MobDNlKSAmIF9QQUdFX1BSRVNFTlQpIHx8IChsM2VfZ2V0X3BmbihsM2UpID09 IHBmbikgKQ0KKyAgICAgICAgIHJldHVybiAxOw0KK0BAIC0xMzI5LDIxICsxNDE0LDI4IEBAIHN0 YXRpYyBpbnQgcHV0X3BhZ2VfZnJvbV9sM2UobDNfcGdlbnRyeV90IGwzZSwgdW5zaWduZWQgbG9u ZyBwZm4sDQorICAgICBpZiAoIHVubGlrZWx5KHBhcnRpYWwgPiAwKSApDQorICAgICB7DQorICAg ICAgICAgQVNTRVJUKCFkZWZlcik7DQorLSAgICAgICAgcmV0dXJuIF9fcHV0X3BhZ2VfdHlwZShw ZywgMSk7DQorKyAgICAgICAgcmV0dXJuIF9wdXRfcGFnZV90eXBlKHBnLCB0cnVlLCBtZm5fdG9f cGFnZShwZm4pKTsNCisgICAgIH0NCisgDQorICAgICBpZiAoIGRlZmVyICkNCisgICAgIHsNCisr ICAgICAgICBjdXJyZW50LT5hcmNoLm9sZF9ndWVzdF9wdHBnID0gbWZuX3RvX3BhZ2UocGZuKTsN CisgICAgICAgICBjdXJyZW50LT5hcmNoLm9sZF9ndWVzdF90YWJsZSA9IHBnOw0KKyAgICAgICAg IHJldHVybiAwOw0KKyAgICAgfQ0KKyANCistICAgIHJldHVybiBwdXRfcGFnZV9hbmRfdHlwZV9w cmVlbXB0aWJsZShwZyk7DQorKyAgICByYyA9IF9wdXRfcGFnZV90eXBlKHBnLCB0cnVlLCBtZm5f dG9fcGFnZShwZm4pKTsNCisrICAgIGlmICggbGlrZWx5KCFyYykgKQ0KKysgICAgICAgIHB1dF9w YWdlKHBnKTsNCisrDQorKyAgICByZXR1cm4gcmM7DQorIH0NCisgDQorIHN0YXRpYyBpbnQgcHV0 X3BhZ2VfZnJvbV9sNGUobDRfcGdlbnRyeV90IGw0ZSwgdW5zaWduZWQgbG9uZyBwZm4sDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBhcnRpYWwsIGJvb2xfdCBkZWZlcikNCisg ew0KKysgICAgaW50IHJjID0gMTsNCisrDQorICAgICBpZiAoIChsNGVfZ2V0X2ZsYWdzKGw0ZSkg JiBfUEFHRV9QUkVTRU5UKSAmJiANCisgICAgICAgICAgKGw0ZV9nZXRfcGZuKGw0ZSkgIT0gcGZu KSApDQorICAgICB7DQorQEAgLTEzNTIsMTggKzE0NDQsMjIgQEAgc3RhdGljIGludCBwdXRfcGFn ZV9mcm9tX2w0ZShsNF9wZ2VudHJ5X3QgbDRlLCB1bnNpZ25lZCBsb25nIHBmbiwNCisgICAgICAg ICBpZiAoIHVubGlrZWx5KHBhcnRpYWwgPiAwKSApDQorICAgICAgICAgew0KKyAgICAgICAgICAg ICBBU1NFUlQoIWRlZmVyKTsNCistICAgICAgICAgICAgcmV0dXJuIF9fcHV0X3BhZ2VfdHlwZShw ZywgMSk7DQorKyAgICAgICAgICAgIHJldHVybiBfcHV0X3BhZ2VfdHlwZShwZywgdHJ1ZSwgbWZu X3RvX3BhZ2UocGZuKSk7DQorICAgICAgICAgfQ0KKyANCisgICAgICAgICBpZiAoIGRlZmVyICkN CisgICAgICAgICB7DQorKyAgICAgICAgICAgIGN1cnJlbnQtPmFyY2gub2xkX2d1ZXN0X3B0cGcg PSBtZm5fdG9fcGFnZShwZm4pOw0KKyAgICAgICAgICAgICBjdXJyZW50LT5hcmNoLm9sZF9ndWVz dF90YWJsZSA9IHBnOw0KKyAgICAgICAgICAgICByZXR1cm4gMDsNCisgICAgICAgICB9DQorIA0K Ky0gICAgICAgIHJldHVybiBwdXRfcGFnZV9hbmRfdHlwZV9wcmVlbXB0aWJsZShwZyk7DQorKyAg ICAgICAgcmMgPSBfcHV0X3BhZ2VfdHlwZShwZywgdHJ1ZSwgbWZuX3RvX3BhZ2UocGZuKSk7DQor KyAgICAgICAgaWYgKCBsaWtlbHkoIXJjKSApDQorKyAgICAgICAgICAgIHB1dF9wYWdlKHBnKTsN CisgICAgIH0NCistICAgIHJldHVybiAxOw0KKysNCisrICAgIHJldHVybiByYzsNCisgfQ0KKyAN Cisgc3RhdGljIGludCBhbGxvY19sMV90YWJsZShzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlKQ0KK0BA IC0xNTYxLDYgKzE2NTcsNyBAQCBzdGF0aWMgaW50IGFsbG9jX2wzX3RhYmxlKHN0cnVjdCBwYWdl X2luZm8gKnBhZ2UpDQorICAgICAgICAgew0KKyAgICAgICAgICAgICBwYWdlLT5ucl92YWxpZGF0 ZWRfcHRlcyA9IGk7DQorICAgICAgICAgICAgIHBhZ2UtPnBhcnRpYWxfcHRlID0gMDsNCisrICAg ICAgICAgICAgY3VycmVudC0+YXJjaC5vbGRfZ3Vlc3RfcHRwZyA9IE5VTEw7DQorICAgICAgICAg ICAgIGN1cnJlbnQtPmFyY2gub2xkX2d1ZXN0X3RhYmxlID0gcGFnZTsNCisgICAgICAgICB9DQor ICAgICAgICAgd2hpbGUgKCBpLS0gPiAwICkNCitAQCAtMTY1NCw2ICsxNzUxLDcgQEAgc3RhdGlj IGludCBhbGxvY19sNF90YWJsZShzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlKQ0KKyAgICAgICAgICAg ICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgIGlmICggY3VycmVudC0+YXJjaC5vbGRfZ3Vl c3RfdGFibGUgKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlLT5ucl92YWxpZGF0ZWRf cHRlcysrOw0KKysgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQtPmFyY2gub2xkX2d1ZXN0X3B0 cGcgPSBOVUxMOw0KKyAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQtPmFyY2gub2xkX2d1ZXN0 X3RhYmxlID0gcGFnZTsNCisgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgfQ0KK0BA IC0yNDAzLDE0ICsyNTAxLDIwIEBAIGludCBmcmVlX3BhZ2VfdHlwZShzdHJ1Y3QgcGFnZV9pbmZv ICpwYWcNCisgfQ0KKyANCisgDQorLXN0YXRpYyBpbnQgX19wdXRfZmluYWxfcGFnZV90eXBlKA0K Ky0gICAgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSwgdW5zaWduZWQgbG9uZyB0eXBlLCBpbnQgcHJl ZW1wdGlibGUpDQorK3N0YXRpYyBpbnQgX3B1dF9maW5hbF9wYWdlX3R5cGUoc3RydWN0IHBhZ2Vf aW5mbyAqcGFnZSwgdW5zaWduZWQgbG9uZyB0eXBlLA0KKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJvb2wgcHJlZW1wdGlibGUsIHN0cnVjdCBwYWdlX2luZm8gKnB0cGcpDQorIHsN CisgICAgIGludCByYyA9IGZyZWVfcGFnZV90eXBlKHBhZ2UsIHR5cGUsIHByZWVtcHRpYmxlKTsN CisgDQorICAgICAvKiBObyBuZWVkIGZvciBhdG9taWMgdXBkYXRlIG9mIHR5cGVfaW5mbyBoZXJl OiBub29uZSBlbHNlIHVwZGF0ZXMgaXQuICovDQorICAgICBpZiAoIHJjID09IDAgKQ0KKyAgICAg ew0KKysgICAgICAgIGlmICggcHRwZyAmJiBQR1RfdHlwZV9lcXVhbCh0eXBlLCBwdHBnLT51Lmlu dXNlLnR5cGVfaW5mbykgKQ0KKysgICAgICAgIHsNCisrICAgICAgICAgICAgZGVjX2xpbmVhcl91 c2VzKHBhZ2UpOw0KKysgICAgICAgICAgICBkZWNfbGluZWFyX2VudHJpZXMocHRwZyk7DQorKyAg ICAgICAgfQ0KKysgICAgICAgIEFTU0VSVCghcGFnZS0+bGluZWFyX3B0X2NvdW50IHx8IHBhZ2Vf Z2V0X293bmVyKHBhZ2UpLT5pc19keWluZyk7DQorICAgICAgICAgLyoNCisgICAgICAgICAgKiBS ZWNvcmQgVExCIGluZm9ybWF0aW9uIGZvciBmbHVzaCBsYXRlci4gV2UgZG8gbm90IHN0YW1wIHBh Z2UgdGFibGVzDQorICAgICAgICAgICogd2hlbiBydW5uaW5nIGluIHNoYWRvdyBtb2RlOg0KK0BA IC0yNDQ2LDggKzI1NTAsOCBAQCBzdGF0aWMgaW50IF9fcHV0X2ZpbmFsX3BhZ2VfdHlwZSgNCisg fQ0KKyANCisgDQorLXN0YXRpYyBpbnQgX19wdXRfcGFnZV90eXBlKHN0cnVjdCBwYWdlX2luZm8g KnBhZ2UsDQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwcmVlbXB0aWJsZSkNCisr c3RhdGljIGludCBfcHV0X3BhZ2VfdHlwZShzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLCBib29sIHBy ZWVtcHRpYmxlLA0KKysgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwYWdlX2luZm8g KnB0cGcpDQorIHsNCisgICAgIHVuc2lnbmVkIGxvbmcgbngsIHgsIHkgPSBwYWdlLT51LmludXNl LnR5cGVfaW5mbzsNCisgICAgIGludCByYyA9IDA7DQorQEAgLTI0NzQsMTIgKzI1NzgsMjggQEAg c3RhdGljIGludCBfX3B1dF9wYWdlX3R5cGUoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSwNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgsIG54KSkgIT0geCkgKQ0K KyAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KKyAgICAgICAgICAgICAgICAgLyogV2Ug Y2xlYXJlZCB0aGUgJ3ZhbGlkIGJpdCcgc28gd2UgZG8gdGhlIGNsZWFuIHVwLiAqLw0KKy0gICAg ICAgICAgICAgICAgcmMgPSBfX3B1dF9maW5hbF9wYWdlX3R5cGUocGFnZSwgeCwgcHJlZW1wdGli bGUpOw0KKysgICAgICAgICAgICAgICAgcmMgPSBfcHV0X2ZpbmFsX3BhZ2VfdHlwZShwYWdlLCB4 LCBwcmVlbXB0aWJsZSwgcHRwZyk7DQorKyAgICAgICAgICAgICAgICBwdHBnID0gTlVMTDsNCisg ICAgICAgICAgICAgICAgIGlmICggeCAmIFBHVF9wYXJ0aWFsICkNCisgICAgICAgICAgICAgICAg ICAgICBwdXRfcGFnZShwYWdlKTsNCisgICAgICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAg ICAgICB9DQorIA0KKysgICAgICAgICAgICBpZiAoIHB0cGcgJiYgUEdUX3R5cGVfZXF1YWwoeCwg cHRwZy0+dS5pbnVzZS50eXBlX2luZm8pICkNCisrICAgICAgICAgICAgew0KKysgICAgICAgICAg ICAgICAgLyoNCisrICAgICAgICAgICAgICAgICAqIHBhZ2Vfc2V0X3RsYmZsdXNoX3RpbWVzdGFt cCgpIGFjY2Vzc2VzIHRoZSBzYW1lIHVuaW9uDQorKyAgICAgICAgICAgICAgICAgKiBsaW5lYXJf cHRfY291bnQgbGl2ZXMgaW4uIFVudmFsaWRhdGVkIHBhZ2UgdGFibGUgcGFnZXMsDQorKyAgICAg ICAgICAgICAgICAgKiBob3dldmVyLCBzaG91bGQgb2NjdXIgZHVyaW5nIGRvbWFpbiBkZXN0cnVj dGlvbiBvbmx5DQorKyAgICAgICAgICAgICAgICAgKiBhbnl3YXkuICBVcGRhdGluZyBvZiBsaW5l YXJfcHRfY291bnQgbHVja2lseSBpcyBub3QNCisrICAgICAgICAgICAgICAgICAqIG5lY2Vzc2Fy eSBhbnltb3JlIGZvciBhIGR5aW5nIGRvbWFpbi4NCisrICAgICAgICAgICAgICAgICAqLw0KKysg ICAgICAgICAgICAgICAgQVNTRVJUKHBhZ2VfZ2V0X293bmVyKHBhZ2UpLT5pc19keWluZyk7DQor KyAgICAgICAgICAgICAgICBBU1NFUlQocGFnZS0+bGluZWFyX3B0X2NvdW50IDwgMCk7DQorKyAg ICAgICAgICAgICAgICBBU1NFUlQocHRwZy0+bGluZWFyX3B0X2NvdW50ID4gMCk7DQorKyAgICAg ICAgICAgICAgICBwdHBnID0gTlVMTDsNCisrICAgICAgICAgICAgfQ0KKysNCisgICAgICAgICAg ICAgLyoNCisgICAgICAgICAgICAgICogUmVjb3JkIFRMQiBpbmZvcm1hdGlvbiBmb3IgZmx1c2gg bGF0ZXIuIFdlIGRvIG5vdCBzdGFtcCBwYWdlDQorICAgICAgICAgICAgICAqIHRhYmxlcyB3aGVu IHJ1bm5pbmcgaW4gc2hhZG93IG1vZGU6DQorQEAgLTI0OTksNiArMjYxOSwxMyBAQCBzdGF0aWMg aW50IF9fcHV0X3BhZ2VfdHlwZShzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLA0KKyAgICAgICAgICAg ICByZXR1cm4gLUVJTlRSOw0KKyAgICAgfQ0KKyANCisrICAgIGlmICggcHRwZyAmJiBQR1RfdHlw ZV9lcXVhbCh4LCBwdHBnLT51LmludXNlLnR5cGVfaW5mbykgKQ0KKysgICAgew0KKysgICAgICAg IEFTU0VSVCghcmMpOw0KKysgICAgICAgIGRlY19saW5lYXJfdXNlcyhwYWdlKTsNCisrICAgICAg ICBkZWNfbGluZWFyX2VudHJpZXMocHRwZyk7DQorKyAgICB9DQorKw0KKyAgICAgcmV0dXJuIHJj Ow0KKyB9DQorIA0KK0BAIC0yNjM4LDYgKzI3NjUsNyBAQCBzdGF0aWMgaW50IF9fZ2V0X3BhZ2Vf dHlwZShzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLCB1bnNpZ25lZCBsb25nIHR5cGUsDQorICAgICAg ICAgICAgIHBhZ2UtPm5yX3ZhbGlkYXRlZF9wdGVzID0gMDsNCisgICAgICAgICAgICAgcGFnZS0+ cGFydGlhbF9wdGUgPSAwOw0KKyAgICAgICAgIH0NCisrICAgICAgICBwYWdlLT5saW5lYXJfcHRf Y291bnQgPSAwOw0KKyAgICAgICAgIHJjID0gYWxsb2NfcGFnZV90eXBlKHBhZ2UsIHR5cGUsIHBy ZWVtcHRpYmxlKTsNCisgICAgIH0NCisgDQorQEAgLTI2NTIsNyArMjc4MCw3IEBAIHN0YXRpYyBp bnQgX19nZXRfcGFnZV90eXBlKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UsIHVuc2lnbmVkIGxvbmcg dHlwZSwNCisgDQorIHZvaWQgcHV0X3BhZ2VfdHlwZShzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlKQ0K KyB7DQorLSAgICBpbnQgcmMgPSBfX3B1dF9wYWdlX3R5cGUocGFnZSwgMCk7DQorKyAgICBpbnQg cmMgPSBfcHV0X3BhZ2VfdHlwZShwYWdlLCBmYWxzZSwgTlVMTCk7DQorICAgICBBU1NFUlQocmMg PT0gMCk7DQorICAgICAodm9pZClyYzsNCisgfQ0KK0BAIC0yNjY4LDcgKzI3OTYsNyBAQCBpbnQg Z2V0X3BhZ2VfdHlwZShzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLCB1bnNpZ25lZCBsb25nIHR5cGUp DQorIA0KKyBpbnQgcHV0X3BhZ2VfdHlwZV9wcmVlbXB0aWJsZShzdHJ1Y3QgcGFnZV9pbmZvICpw YWdlKQ0KKyB7DQorLSAgICByZXR1cm4gX19wdXRfcGFnZV90eXBlKHBhZ2UsIDEpOw0KKysgICAg cmV0dXJuIF9wdXRfcGFnZV90eXBlKHBhZ2UsIHRydWUsIE5VTEwpOw0KKyB9DQorIA0KKyBpbnQg Z2V0X3BhZ2VfdHlwZV9wcmVlbXB0aWJsZShzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLCB1bnNpZ25l ZCBsb25nIHR5cGUpDQorQEAgLTI4NzgsMTEgKzMwMDYsMTQgQEAgaW50IHB1dF9vbGRfZ3Vlc3Rf dGFibGUoc3RydWN0IHZjcHUgKnYpDQorICAgICBpZiAoICF2LT5hcmNoLm9sZF9ndWVzdF90YWJs ZSApDQorICAgICAgICAgcmV0dXJuIDA7DQorIA0KKy0gICAgc3dpdGNoICggcmMgPSBwdXRfcGFn ZV9hbmRfdHlwZV9wcmVlbXB0aWJsZSh2LT5hcmNoLm9sZF9ndWVzdF90YWJsZSkgKQ0KKysgICAg c3dpdGNoICggcmMgPSBfcHV0X3BhZ2VfdHlwZSh2LT5hcmNoLm9sZF9ndWVzdF90YWJsZSwgdHJ1 ZSwNCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdi0+YXJjaC5vbGRfZ3Vlc3Rf cHRwZykgKQ0KKyAgICAgew0KKyAgICAgY2FzZSAtRUlOVFI6DQorICAgICBjYXNlIC1FUkVTVEFS VDoNCisgICAgICAgICByZXR1cm4gLUVSRVNUQVJUOw0KKysgICAgY2FzZSAwOg0KKysgICAgICAg IHB1dF9wYWdlKHYtPmFyY2gub2xkX2d1ZXN0X3RhYmxlKTsNCisgICAgIH0NCisgDQorICAgICB2 LT5hcmNoLm9sZF9ndWVzdF90YWJsZSA9IE5VTEw7DQorQEAgLTMwNDIsNiArMzE3Myw3IEBAIGlu dCBuZXdfZ3Vlc3RfY3IzKHVuc2lnbmVkIGxvbmcgbWZuKQ0KKyAgICAgICAgICAgICAgICAgcmMg PSAtRVJFU1RBUlQ7DQorICAgICAgICAgICAgICAgICAvKiBmYWxsdGhyb3VnaCAqLw0KKyAgICAg ICAgICAgICBjYXNlIC1FUkVTVEFSVDoNCisrICAgICAgICAgICAgICAgIGN1cnItPmFyY2gub2xk X2d1ZXN0X3B0cGcgPSBOVUxMOw0KKyAgICAgICAgICAgICAgICAgY3Vyci0+YXJjaC5vbGRfZ3Vl c3RfdGFibGUgPSBwYWdlOw0KKyAgICAgICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICAgICAg IGRlZmF1bHQ6DQorQEAgLTMzMTAsNyArMzQ0MiwxMCBAQCBsb25nIGRvX21tdWV4dF9vcCgNCisg ICAgICAgICAgICAgICAgICAgICBpZiAoIHR5cGUgPT0gUEdUX2wxX3BhZ2VfdGFibGUgKQ0KKyAg ICAgICAgICAgICAgICAgICAgICAgICBwdXRfcGFnZV9hbmRfdHlwZShwYWdlKTsNCisgICAgICAg ICAgICAgICAgICAgICBlbHNlDQorKyAgICAgICAgICAgICAgICAgICAgew0KKysgICAgICAgICAg ICAgICAgICAgICAgICBjdXJyLT5hcmNoLm9sZF9ndWVzdF9wdHBnID0gTlVMTDsNCisgICAgICAg ICAgICAgICAgICAgICAgICAgY3Vyci0+YXJjaC5vbGRfZ3Vlc3RfdGFibGUgPSBwYWdlOw0KKysg ICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAg fQ0KKyANCitAQCAtMzM0Niw2ICszNDgxLDcgQEAgbG9uZyBkb19tbXVleHRfb3AoDQorICAgICAg ICAgICAgIHsNCisgICAgICAgICAgICAgY2FzZSAtRUlOVFI6DQorICAgICAgICAgICAgIGNhc2Ug LUVSRVNUQVJUOg0KKysgICAgICAgICAgICAgICAgY3Vyci0+YXJjaC5vbGRfZ3Vlc3RfcHRwZyA9 IE5VTEw7DQorICAgICAgICAgICAgICAgICBjdXJyLT5hcmNoLm9sZF9ndWVzdF90YWJsZSA9IHBh Z2U7DQorICAgICAgICAgICAgICAgICByYyA9IDA7DQorICAgICAgICAgICAgICAgICBicmVhazsN CitAQCAtMzQyNSw2ICszNTYxLDcgQEAgbG9uZyBkb19tbXVleHRfb3AoDQorICAgICAgICAgICAg ICAgICAgICAgICAgIHJjID0gLUVSRVNUQVJUOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAv KiBmYWxsdGhyb3VnaCAqLw0KKyAgICAgICAgICAgICAgICAgICAgIGNhc2UgLUVSRVNUQVJUOg0K KysgICAgICAgICAgICAgICAgICAgICAgICBjdXJyLT5hcmNoLm9sZF9ndWVzdF9wdHBnID0gTlVM TDsNCisgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyci0+YXJjaC5vbGRfZ3Vlc3RfdGFibGUg PSBwYWdlOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCisgICAgICAgICAgICAg ICAgICAgICBkZWZhdWx0Og0KK2RpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFp bi5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaA0KK2luZGV4IDkyNGNhYWM4MzQuLjVh NTEyOTE4Y2MgMTAwNjQ0DQorLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaA0KKysr KyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgNCitAQCAtNTI3LDYgKzUyNyw4IEBAIHN0 cnVjdCBhcmNoX3ZjcHUNCisgICAgIHBhZ2V0YWJsZV90IGd1ZXN0X3RhYmxlX3VzZXI7ICAgICAg IC8qIChNRk4pIHg4Ni82NCB1c2VyLXNwYWNlIHBhZ2V0YWJsZSAqLw0KKyAgICAgcGFnZXRhYmxl X3QgZ3Vlc3RfdGFibGU7ICAgICAgICAgICAgLyogKE1GTikgZ3Vlc3Qgbm90aW9uIG9mIGNyMyAq Lw0KKyAgICAgc3RydWN0IHBhZ2VfaW5mbyAqb2xkX2d1ZXN0X3RhYmxlOyAgLyogcGFydGlhbGx5 IGRlc3RydWN0ZWQgcGFnZXRhYmxlICovDQorKyAgICBzdHJ1Y3QgcGFnZV9pbmZvICpvbGRfZ3Vl c3RfcHRwZzsgICAvKiBjb250YWluaW5nIHBhZ2UgdGFibGUgb2YgdGhlICovDQorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBmb3JtZXIsIGlmIGFueSAqLw0KKyAg ICAgLyogZ3Vlc3RfdGFibGUgaG9sZHMgYSByZWYgdG8gdGhlIHBhZ2UsIGFuZCBhbHNvIGEgdHlw ZS1jb3VudCB1bmxlc3MNCisgICAgICAqIHNoYWRvdyByZWZjb3VudHMgYXJlIGluIHVzZSAqLw0K KyAgICAgcGFnZXRhYmxlX3Qgc2hhZG93X3RhYmxlWzRdOyAgICAgICAgLyogKE1GTikgc2hhZG93 KHMpIG9mIGd1ZXN0ICovDQorZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaCBi L3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaA0KK2luZGV4IDExOWQ3ZGVjNmIuLjQ0NWRhNTBkNDcg MTAwNjQ0DQorLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oDQorKysrIGIveGVuL2luY2x1 ZGUvYXNtLXg4Ni9tbS5oDQorQEAgLTEyNCwxMSArMTI0LDExIEBAIHN0cnVjdCBwYWdlX2luZm8N CisgICAgICAgICB1MzIgdGxiZmx1c2hfdGltZXN0YW1wOw0KKyANCisgICAgICAgICAvKg0KKy0g ICAgICAgICAqIFdoZW4gUEdUX3BhcnRpYWwgaXMgdHJ1ZSB0aGVuIHRoaXMgZmllbGQgaXMgdmFs aWQgYW5kIGluZGljYXRlcw0KKy0gICAgICAgICAqIHRoYXQgUFRFcyBpbiB0aGUgcmFuZ2UgWzAs IEBucl92YWxpZGF0ZWRfcHRlcykgaGF2ZSBiZWVuIHZhbGlkYXRlZC4NCistICAgICAgICAgKiBB biBleHRyYSBwYWdlIHJlZmVyZW5jZSBtdXN0IGJlIGFjcXVpcmVkIChvciBub3QgZHJvcHBlZCkg d2hlbmV2ZXINCistICAgICAgICAgKiBQR1RfcGFydGlhbCBnZXRzIHNldCwgYW5kIGl0IG11c3Qg YmUgZHJvcHBlZCB3aGVuIHRoZSBmbGFnIGdldHMNCistICAgICAgICAgKiBjbGVhcmVkLiBUaGlz IGlzIHNvIHRoYXQgYSBnZXQoKSBsZWF2aW5nIGEgcGFnZSBpbiBwYXJ0aWFsbHkNCisrICAgICAg ICAgKiBXaGVuIFBHVF9wYXJ0aWFsIGlzIHRydWUgdGhlbiB0aGUgZmlyc3QgdHdvIGZpZWxkcyBh cmUgdmFsaWQgYW5kDQorKyAgICAgICAgICogaW5kaWNhdGUgdGhhdCBQVEVzIGluIHRoZSByYW5n ZSBbMCwgQG5yX3ZhbGlkYXRlZF9wdGVzKSBoYXZlIGJlZW4NCisrICAgICAgICAgKiB2YWxpZGF0 ZWQuIEFuIGV4dHJhIHBhZ2UgcmVmZXJlbmNlIG11c3QgYmUgYWNxdWlyZWQgKG9yIG5vdCBkcm9w cGVkKQ0KKysgICAgICAgICAqIHdoZW5ldmVyIFBHVF9wYXJ0aWFsIGdldHMgc2V0LCBhbmQgaXQg bXVzdCBiZSBkcm9wcGVkIHdoZW4gdGhlIGZsYWcNCisrICAgICAgICAgKiBnZXRzIGNsZWFyZWQu IFRoaXMgaXMgc28gdGhhdCBhIGdldCgpIGxlYXZpbmcgYSBwYWdlIGluIHBhcnRpYWxseQ0KKyAg ICAgICAgICAqIHZhbGlkYXRlZCBzdGF0ZSAod2hlcmUgdGhlIGNhbGxlciB3b3VsZCBkcm9wIHRo ZSByZWZlcmVuY2UgYWNxdWlyZWQNCisgICAgICAgICAgKiBkdWUgdG8gdGhlIGdldHRpbmcgb2Yg dGhlIHR5cGUgW2FwcGFyZW50bHldIGZhaWxpbmcgWy1FUkVTVEFSVF0pDQorICAgICAgICAgICog d291bGQgbm90IGFjY2lkZW50YWxseSByZXN1bHQgaW4gYSBwYWdlIGxlZnQgd2l0aCB6ZXJvIGdl bmVyYWwNCitAQCAtMTUyLDEwICsxNTIsMTggQEAgc3RydWN0IHBhZ2VfaW5mbw0KKyAgICAgICAg ICAqIHB1dF9wYWdlX2Zyb21fbE5lKCkgKGR1ZSB0byB0aGUgYXBwYXJlbnQgZmFpbHVyZSksIGFu ZCBoZW5jZSBpdA0KKyAgICAgICAgICAqIG11c3QgYmUgZHJvcHBlZCB3aGVuIHRoZSBwdXQgb3Bl cmF0aW9uIGlzIHJlc3VtZWQgKGFuZCBjb21wbGV0ZXMpLA0KKyAgICAgICAgICAqIGJ1dCBpdCBt dXN0IG5vdCBiZSBhY3F1aXJlZCBpZiBwaWNraW5nIHVwIHRoZSBwYWdlIGZvciB2YWxpZGF0aW9u Lg0KKysgICAgICAgICAqDQorKyAgICAgICAgICogVGhlIDNyZCBmaWVsZCwgQGxpbmVhcl9wdF9j b3VudCwgaW5kaWNhdGVzDQorKyAgICAgICAgICogLSBieSBhIHBvc2l0aXZlIHZhbHVlLCBob3cg bWFueSBzYW1lLWxldmVsIHBhZ2UgdGFibGUgZW50cmllcyBhIHBhZ2UNCisrICAgICAgICAgKiAg IHRhYmxlIGhhcywNCisrICAgICAgICAgKiAtIGJ5IGEgbmVnYXRpdmUgdmFsdWUsIGluIGhvdyBt YW55IHNhbWUtbGV2ZWwgcGFnZSB0YWJsZXMgYSBwYWdlIGlzDQorKyAgICAgICAgICogICBpbiB1 c2UuDQorICAgICAgICAgICovDQorICAgICAgICAgc3RydWN0IHsNCistICAgICAgICAgICAgdTE2 IG5yX3ZhbGlkYXRlZF9wdGVzOw0KKy0gICAgICAgICAgICBzOCBwYXJ0aWFsX3B0ZTsNCisrICAg ICAgICAgICAgdTE2IG5yX3ZhbGlkYXRlZF9wdGVzOlBBR0VUQUJMRV9PUkRFUiArIDE7DQorKyAg ICAgICAgICAgIHUxNiA6MTYgLSBQQUdFVEFCTEVfT1JERVIgLSAxIC0gMjsNCisrICAgICAgICAg ICAgczE2IHBhcnRpYWxfcHRlOjI7DQorKyAgICAgICAgICAgIHMxNiBsaW5lYXJfcHRfY291bnQ7 DQorICAgICAgICAgfTsNCisgDQorICAgICAgICAgLyoNCitAQCAtMjA2LDYgKzIxNCw5IEBAIHN0 cnVjdCBwYWdlX2luZm8NCisgI2RlZmluZSBQR1RfY291bnRfd2lkdGggICBQR19zaGlmdCg5KQ0K KyAjZGVmaW5lIFBHVF9jb3VudF9tYXNrICAgICgoMVVMPDxQR1RfY291bnRfd2lkdGgpLTEpDQor IA0KKysvKiBBcmUgdGhlICd0eXBlIG1hc2snIGJpdHMgaWRlbnRpY2FsPyAqLw0KKysjZGVmaW5l IFBHVF90eXBlX2VxdWFsKHgsIHkpICghKCgoeCkgXiAoeSkpICYgUEdUX3R5cGVfbWFzaykpDQor Kw0KKyAgLyogQ2xlYXJlZCB3aGVuIHRoZSBvd25pbmcgZ3Vlc3QgJ2ZyZWVzJyB0aGlzIHBhZ2Uu ICovDQorICNkZWZpbmUgX1BHQ19hbGxvY2F0ZWQgICAgUEdfc2hpZnQoMSkNCisgI2RlZmluZSBQ R0NfYWxsb2NhdGVkICAgICBQR19tYXNrKDEsIDEpDQorLS0gDQorMi4xNC4xDQorDQpkaWZmIC0t Z2l0IGEvbWFpbi94ZW4veHNhMjQwLTIucGF0Y2ggYi9tYWluL3hlbi94c2EyNDAtMi5wYXRjaA0K bmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAuLjVlMDU3YzU2NTINCi0tLSAv ZGV2L251bGwNCisrKyBiL21haW4veGVuL3hzYTI0MC0yLnBhdGNoDQpAQCAtMCwwICsxLDgzIEBA DQorRnJvbSBlNjE0OTc5Y2UwNTQwNDRkOWUxOTAyM2YxZWYxMGRhZTZlMzhiYWY0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQ0KK0Zyb206IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0 cml4LmNvbT4NCitEYXRlOiBGcmksIDIyIFNlcCAyMDE3IDExOjQ2OjU1ICswMTAwDQorU3ViamVj dDogW1BBVENIIDIvMl0geDg2L21tOiBEaXNhYmxlIFBWIGxpbmVhciBwYWdldGFibGVzIGJ5IGRl ZmF1bHQNCisNCitBbGxvd2luZyBwYWdldGFibGVzIHRvIHBvaW50IHRvIG90aGVyIHBhZ2V0YWJs ZXMgb2YgdGhlIHNhbWUgbGV2ZWwNCisob2Z0ZW4gY2FsbGVkICdsaW5lYXIgcGFnZXRhYmxlcycp IGhhcyBiZWVuIGluY2x1ZGVkIGluIFhlbiBzaW5jZSBpdHMNCitpbmNlcHRpb24uICBCdXQgaXQg aXMgbm90IHVzZWQgYnkgdGhlIG1vc3QgY29tbW9uIFBWIGd1ZXN0cyAoTGludXgsDQorTmV0QlNE LCBtaW5pb3MpLCBhbmQgaGFzIGJlZW4gdGhlIHNvdXJjZSBvZiBhIG51bWJlciBvZiBzdWJ0bGUN CityZWZlcmVuY2UtY291bnRpbmcgYnVncy4NCisNCitBZGQgYSBjb21tYW5kLWxpbmUgb3B0aW9u IHRvIGNvbnRyb2wgd2hldGhlciBQViBsaW5lYXIgcGFnZXRhYmxlcyBhcmUNCithbGxvd2VkIChk aXNhYmxlZCBieSBkZWZhdWx0KS4NCisNCitSZXBvcnRlZC1ieTogSmFubiBIb3JuIDxqYW5uaEBn b29nbGUuY29tPg0KK1NpZ25lZC1vZmYtYnk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBA Y2l0cml4LmNvbT4NCitSZXZpZXdlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNA Y2l0cml4LmNvbT4NCistLS0NCitDaGFuZ2VzIHNpbmNlIHYyOg0KKy0gcy9fLy0vOyBpbiBjb21t YW5kLWxpbmUgb3B0aW9uDQorLSBBZGRlZCBfX3JlYWRfbW9zdGx5DQorLS0tDQorIGRvY3MvbWlz Yy94ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duIHwgMTUgKysrKysrKysrKysrKysrDQorIHhlbi9h cmNoL3g4Ni9tbS5jICAgICAgICAgICAgICAgICAgIHwgMTAgKysrKysrKysrKw0KKyAyIGZpbGVz IGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKykNCisNCitkaWZmIC0tZ2l0IGEvZG9jcy9taXNjL3hl bi1jb21tYW5kLWxpbmUubWFya2Rvd24gYi9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJr ZG93bg0KK2luZGV4IDQ0ZDk5ODUyYWEuLjQ1ZWY4NzNhYmIgMTAwNjQ0DQorLS0tIGEvZG9jcy9t aXNjL3hlbi1jb21tYW5kLWxpbmUubWFya2Rvd24NCisrKysgYi9kb2NzL21pc2MveGVuLWNvbW1h bmQtbGluZS5tYXJrZG93bg0KK0BAIC0xMzc0LDYgKzEzNzQsMjEgQEAgVGhlIGZvbGxvd2luZyBy ZXNvdXJjZXMgYXJlIGF2YWlsYWJsZToNCisgICAgIENEUCwgb25lIENPUyB3aWxsIGNvcmVzcG9u ZCB0d28gQ0JNcyBvdGhlciB0aGFuIG9uZSB3aXRoIENBVCwgZHVlIHRvIHRoZQ0KKyAgICAgc3Vt IG9mIENCTXMgaXMgZml4ZWQsIHRoYXQgbWVhbnMgYWN0dWFsIGBjb3NfbWF4YCBpbiB1c2Ugd2ls bCBhdXRvbWF0aWNhbGx5DQorICAgICByZWR1Y2UgdG8gaGFsZiB3aGVuIENEUCBpcyBlbmFibGVk Lg0KKysNCisrIyMjIHB2LWxpbmVhci1wdA0KKys+IGA9IDxib29sZWFuPmANCisrDQorKz4gRGVm YXVsdDogYGZhbHNlYA0KKysNCisrQWxsb3cgUFYgZ3Vlc3RzIHRvIGhhdmUgcGFnZXRhYmxlIGVu dHJpZXMgcG9pbnRpbmcgdG8gb3RoZXIgcGFnZXRhYmxlcw0KKytvZiB0aGUgc2FtZSBsZXZlbCAo aS5lLiwgYWxsb3dpbmcgTDIgUFRFcyB0byBwb2ludCB0byBvdGhlciBMMiBwYWdlcykuDQorK1Ro aXMgdGVjaG5pcXVlIGlzIG9mdGVuIGNhbGxlZCAibGluZWFyIHBhZ2V0YWJsZXMiLCBhbmQgaXMg c29tZXRpbWVzDQorK3VzZWQgdG8gYWxsb3cgb3BlcmF0aW5nIHN5c3RlbXMgYSBzaW1wbGUgd2F5 IHRvIGNvbnNpc3RlbnRseSBtYXAgdGhlDQorK2N1cnJlbnQgcHJvY2VzcydzIHBhZ2V0YWJsZXMg aW50byBpdHMgb3duIHZpcnR1YWwgYWRkcmVzcyBzcGFjZS4NCisrDQorK05vbmUgb2YgdGhlIG1v c3QgY29tbW9uIFBWIG9wZXJhdGluZyBzeXN0ZW1zIChMaW51eCwgTmV0QlNELCBNaW5pT1MpDQor K3VzZSB0aGlzIHRlY2huaXF1ZSwgYnV0IHRoZXJlIG1heSBiZSBjdXN0b20gb3BlcmF0aW5nIHN5 c3RlbXMgd2hpY2gNCisrZG8uDQorIA0KKyAjIyMgcmVib290DQorID4gYD0gdFtyaXBsZV0gfCBr W2JkXSB8IGFbY3BpXSB8IHBbY2ldIHwgUFtvd2VyXSB8IGVbZmldIHwgbltvXSBbLCBbd11hcm0g fCBbY11vbGRdYA0KK2RpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0uYyBiL3hlbi9hcmNoL3g4 Ni9tbS5jDQoraW5kZXggMWU0NjliZDM1NC4uMzI5NTJhNDZiOSAxMDA2NDQNCistLS0gYS94ZW4v YXJjaC94ODYvbW0uYw0KKysrKyBiL3hlbi9hcmNoL3g4Ni9tbS5jDQorQEAgLTgxNCw2ICs4MTQs OSBAQCBzdGF0aWMgdm9pZCBkZWNfbGluZWFyX3VzZXMoc3RydWN0IHBhZ2VfaW5mbyAqcGcpDQor ICAqICAgICBmcmFtZSBpZiBpdCBpcyBtYXBwZWQgYnkgYSBkaWZmZXJlbnQgcm9vdCB0YWJsZS4g VGhpcyBpcyBzdWZmaWNpZW50IGFuZA0KKyAgKiAgICAgYWxzbyBuZWNlc3NhcnkgdG8gYWxsb3cg dmFsaWRhdGlvbiBvZiBhIHJvb3QgdGFibGUgbWFwcGluZyBpdHNlbGYuDQorICAqLw0KKytzdGF0 aWMgYm9vbCBfX3JlYWRfbW9zdGx5IHB2X2xpbmVhcl9wdF9lbmFibGUgPSBmYWxzZTsNCisrYm9v bGVhbl9wYXJhbSgicHYtbGluZWFyLXB0IiwgcHZfbGluZWFyX3B0X2VuYWJsZSk7DQorKw0KKyAj ZGVmaW5lIGRlZmluZV9nZXRfbGluZWFyX3BhZ2V0YWJsZShsZXZlbCkgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXA0KKyBzdGF0aWMgaW50ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KKyBnZXRfIyNsZXZl bCMjX2xpbmVhcl9wYWdldGFibGUoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXA0KK0BAIC04MjMsNiArODI2LDEzIEBAIGdldF8jI2xldmVsIyNfbGluZWFyX3Bh Z2V0YWJsZSggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQor ICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcDQorICAgICB1bnNpZ25lZCBsb25nIHBmbjsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcDQorKyAgICBpZiAoICFwdl9saW5lYXJfcHRfZW5hYmxlICkgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorKyAgICB7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcDQorKyAgICAgICAgZ2RwcmludGsoWEVOTE9HX1dBUk5JTkcsICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorKyAgICAgICAgICAgICAgICAgIkF0dGVtcHQg dG8gY3JlYXRlIGxpbmVhciBwLnQuIChmZWF0dXJlIGRpc2FibGVkKVxuIik7ICAgICBcDQorKyAg ICAgICAgcmV0dXJuIDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcDQorKyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcDQorICAgICBpZiAoIChsZXZlbCMjZV9nZXRfZmxhZ3MocGRlKSAmIF9QQUdFX1JX KSApICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorICAgICB7ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc DQorICAgICAgICAgZ2RwcmludGsoWEVOTE9HX1dBUk5JTkcsICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcDQorLS0gDQorMi4xNC4xDQorDQpkaWZmIC0tZ2l0IGEv bWFpbi94ZW4veHNhMjQxLTQuOS5wYXRjaCBiL21haW4veGVuL3hzYTI0MS00LjkucGF0Y2gNCm5l dyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwLi41MTRlNGM3YTRiDQotLS0gL2Rl di9udWxsDQorKysgYi9tYWluL3hlbi94c2EyNDEtNC45LnBhdGNoDQpAQCAtMCwwICsxLDEyMCBA QA0KK0Zyb206IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCitTdWJqZWN0OiB4ODY6 IGRvbid0IHN0b3JlIHBvc3NpYmx5IHN0YWxlIFRMQiBmbHVzaCB0aW1lIHN0YW1wDQorDQorV2hp bGUgdGhlIHRpbWluZyB3aW5kb3cgaXMgZXh0cmVtZWx5IG5hcnJvdywgaXQgaXMgdGhlb3JldGlj YWxseQ0KK3Bvc3NpYmxlIGZvciBhbiB1cGRhdGUgdG8gdGhlIFRMQiBmbHVzaCBjbG9jayBhbmQg YSBzdWJzZXF1ZW50IGZsdXNoDQorSVBJIHRvIGhhcHBlbiBiZXR3ZWVuIHRoZSByZWFkIGFuZCB3 cml0ZSBwYXJ0cyBvZiB0aGUgdXBkYXRlIG9mIHRoZQ0KK3Blci1wYWdlIHN0YW1wLiBFeGNsdWRl IHRoaXMgcG9zc2liaWxpdHkgYnkgZGlzYWJsaW5nIGludGVycnVwdHMNCithY3Jvc3MgdGhlIHVw ZGF0ZSwgcHJldmVudGluZyB0aGUgSVBJIHRvIGJlIHNlcnZpY2VkIGluIHRoZSBtaWRkbGUuDQor DQorVGhpcyBpcyBYU0EtMjQxLg0KKw0KK1JlcG9ydGVkLWJ5OiBKYW5uIEhvcm4gPGphbm5oQGdv b2dsZS5jb20+DQorU3VnZ2VzdGVkLWJ5OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNp dHJpeC5jb20+DQorU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t Pg0KK1Jldmlld2VkLWJ5OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+ DQorDQorLS0tIGEveGVuL2FyY2gvYXJtL3NtcC5jDQorKysrIGIveGVuL2FyY2gvYXJtL3NtcC5j DQorQEAgLTEsMyArMSw0IEBADQorKyNpbmNsdWRlIDx4ZW4vbW0uaD4NCisgI2luY2x1ZGUgPGFz bS9zeXN0ZW0uaD4NCisgI2luY2x1ZGUgPGFzbS9zbXAuaD4NCisgI2luY2x1ZGUgPGFzbS9jcHJl Z3MuaD4NCistLS0gYS94ZW4vYXJjaC94ODYvbW0uYw0KKysrKyBiL3hlbi9hcmNoL3g4Ni9tbS5j DQorQEAgLTI1MjQsNyArMjUyNCw3IEBAIHN0YXRpYyBpbnQgX3B1dF9maW5hbF9wYWdlX3R5cGUo c3RydWN0IHANCisgICAgICAgICAgKi8NCisgICAgICAgICBpZiAoICEoc2hhZG93X21vZGVfZW5h YmxlZChwYWdlX2dldF9vd25lcihwYWdlKSkgJiYNCisgICAgICAgICAgICAgICAgKHBhZ2UtPmNv dW50X2luZm8gJiBQR0NfcGFnZV90YWJsZSkpICkNCistICAgICAgICAgICAgcGFnZS0+dGxiZmx1 c2hfdGltZXN0YW1wID0gdGxiZmx1c2hfY3VycmVudF90aW1lKCk7DQorKyAgICAgICAgICAgIHBh Z2Vfc2V0X3RsYmZsdXNoX3RpbWVzdGFtcChwYWdlKTsNCisgICAgICAgICB3bWIoKTsNCisgICAg ICAgICBwYWdlLT51LmludXNlLnR5cGVfaW5mby0tOw0KKyAgICAgfQ0KK0BAIC0yNTM0LDcgKzI1 MzQsNyBAQCBzdGF0aWMgaW50IF9wdXRfZmluYWxfcGFnZV90eXBlKHN0cnVjdCBwDQorICAgICAg ICAgICAgICAgICAoUEdUX2NvdW50X21hc2t8UEdUX3ZhbGlkYXRlZHxQR1RfcGFydGlhbCkpID09 IDEpOw0KKyAgICAgICAgIGlmICggIShzaGFkb3dfbW9kZV9lbmFibGVkKHBhZ2VfZ2V0X293bmVy KHBhZ2UpKSAmJg0KKyAgICAgICAgICAgICAgICAocGFnZS0+Y291bnRfaW5mbyAmIFBHQ19wYWdl X3RhYmxlKSkgKQ0KKy0gICAgICAgICAgICBwYWdlLT50bGJmbHVzaF90aW1lc3RhbXAgPSB0bGJm bHVzaF9jdXJyZW50X3RpbWUoKTsNCisrICAgICAgICAgICAgcGFnZV9zZXRfdGxiZmx1c2hfdGlt ZXN0YW1wKHBhZ2UpOw0KKyAgICAgICAgIHdtYigpOw0KKyAgICAgICAgIHBhZ2UtPnUuaW51c2Uu dHlwZV9pbmZvIHw9IFBHVF92YWxpZGF0ZWQ7DQorICAgICB9DQorQEAgLTI1ODgsNyArMjU4OCw3 IEBAIHN0YXRpYyBpbnQgX3B1dF9wYWdlX3R5cGUoc3RydWN0IHBhZ2VfaW4NCisgICAgICAgICAg ICAgaWYgKCBwdHBnICYmIFBHVF90eXBlX2VxdWFsKHgsIHB0cGctPnUuaW51c2UudHlwZV9pbmZv KSApDQorICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgIC8qDQorLSAgICAgICAgICAg ICAgICAgKiBwYWdlX3NldF90bGJmbHVzaF90aW1lc3RhbXAoKSBhY2Nlc3NlcyB0aGUgc2FtZSB1 bmlvbg0KKysgICAgICAgICAgICAgICAgICogc2V0X3RsYmZsdXNoX3RpbWVzdGFtcCgpIGFjY2Vz c2VzIHRoZSBzYW1lIHVuaW9uDQorICAgICAgICAgICAgICAgICAgKiBsaW5lYXJfcHRfY291bnQg bGl2ZXMgaW4uIFVudmFsaWRhdGVkIHBhZ2UgdGFibGUgcGFnZXMsDQorICAgICAgICAgICAgICAg ICAgKiBob3dldmVyLCBzaG91bGQgb2NjdXIgZHVyaW5nIGRvbWFpbiBkZXN0cnVjdGlvbiBvbmx5 DQorICAgICAgICAgICAgICAgICAgKiBhbnl3YXkuICBVcGRhdGluZyBvZiBsaW5lYXJfcHRfY291 bnQgbHVja2lseSBpcyBub3QNCitAQCAtMjYwOSw3ICsyNjA5LDcgQEAgc3RhdGljIGludCBfcHV0 X3BhZ2VfdHlwZShzdHJ1Y3QgcGFnZV9pbg0KKyAgICAgICAgICAgICAgKi8NCisgICAgICAgICAg ICAgaWYgKCAhKHNoYWRvd19tb2RlX2VuYWJsZWQocGFnZV9nZXRfb3duZXIocGFnZSkpICYmDQor ICAgICAgICAgICAgICAgICAgICAocGFnZS0+Y291bnRfaW5mbyAmIFBHQ19wYWdlX3RhYmxlKSkg KQ0KKy0gICAgICAgICAgICAgICAgcGFnZS0+dGxiZmx1c2hfdGltZXN0YW1wID0gdGxiZmx1c2hf Y3VycmVudF90aW1lKCk7DQorKyAgICAgICAgICAgICAgICBwYWdlX3NldF90bGJmbHVzaF90aW1l c3RhbXAocGFnZSk7DQorICAgICAgICAgfQ0KKyANCisgICAgICAgICBpZiAoIGxpa2VseSgoeSA9 IGNtcHhjaGcoJnBhZ2UtPnUuaW51c2UudHlwZV9pbmZvLCB4LCBueCkpID09IHgpICkNCistLS0g YS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5jDQorKysrIGIveGVuL2FyY2gveDg2L21t L3NoYWRvdy9jb21tb24uYw0KK0BAIC0xNDY0LDcgKzE0NjQsNyBAQCB2b2lkIHNoYWRvd19mcmVl KHN0cnVjdCBkb21haW4gKmQsIG1mbl90DQorICAgICAgICAgICogVExCcyB3aGVuIHdlIHJldXNl IHRoZSBwYWdlLiAgQmVjYXVzZSB0aGUgZGVzdHJ1Y3RvcnMgbGVhdmUgdGhlDQorICAgICAgICAg ICogY29udGVudHMgb2YgdGhlIHBhZ2VzIGluIHBsYWNlLCB3ZSBjYW4gZGVsYXkgVExCIGZsdXNo ZXMgdW50aWwNCisgICAgICAgICAgKiBqdXN0IGJlZm9yZSB0aGUgYWxsb2NhdG9yIGhhbmRzIHRo ZSBwYWdlIG91dCBhZ2Fpbi4gKi8NCistICAgICAgICBzcC0+dGxiZmx1c2hfdGltZXN0YW1wID0g dGxiZmx1c2hfY3VycmVudF90aW1lKCk7DQorKyAgICAgICAgcGFnZV9zZXRfdGxiZmx1c2hfdGlt ZXN0YW1wKHNwKTsNCisgICAgICAgICBwZXJmY19kZWNyKHNoYWRvd19hbGxvY19jb3VudCk7DQor ICAgICAgICAgcGFnZV9saXN0X2FkZF90YWlsKHNwLCAmZC0+YXJjaC5wYWdpbmcuc2hhZG93LmZy ZWVsaXN0KTsNCisgICAgICAgICBzcCA9IG5leHQ7DQorLS0tIGEveGVuL2NvbW1vbi9wYWdlX2Fs bG9jLmMNCisrKysgYi94ZW4vY29tbW9uL3BhZ2VfYWxsb2MuYw0KK0BAIC05NjAsNyArOTYwLDcg QEAgc3RhdGljIHZvaWQgZnJlZV9oZWFwX3BhZ2VzKA0KKyAgICAgICAgIC8qIElmIGEgcGFnZSBo YXMgbm8gb3duZXIgaXQgd2lsbCBuZWVkIG5vIHNhZmV0eSBUTEIgZmx1c2guICovDQorICAgICAg ICAgcGdbaV0udS5mcmVlLm5lZWRfdGxiZmx1c2ggPSAocGFnZV9nZXRfb3duZXIoJnBnW2ldKSAh PSBOVUxMKTsNCisgICAgICAgICBpZiAoIHBnW2ldLnUuZnJlZS5uZWVkX3RsYmZsdXNoICkNCist ICAgICAgICAgICAgcGdbaV0udGxiZmx1c2hfdGltZXN0YW1wID0gdGxiZmx1c2hfY3VycmVudF90 aW1lKCk7DQorKyAgICAgICAgICAgIHBhZ2Vfc2V0X3RsYmZsdXNoX3RpbWVzdGFtcCgmcGdbaV0p Ow0KKyANCisgICAgICAgICAvKiBUaGlzIHBhZ2UgaXMgbm90IGEgZ3Vlc3QgZnJhbWUgYW55IG1v cmUuICovDQorICAgICAgICAgcGFnZV9zZXRfb3duZXIoJnBnW2ldLCBOVUxMKTsgLyogc2V0X2dw Zm5fZnJvbV9tZm4gc25vb3BzIHBnIG93bmVyICovDQorLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFy bS9mbHVzaHRsYi5oDQorKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9mbHVzaHRsYi5oDQorQEAg LTEyLDYgKzEyLDExIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB0bGJmbHVzaF9maWx0ZXIoY3B1bWEN CisgDQorICNkZWZpbmUgdGxiZmx1c2hfY3VycmVudF90aW1lKCkgICAgICAgICAgICAgICAgICgw KQ0KKyANCisrc3RhdGljIGlubGluZSB2b2lkIHBhZ2Vfc2V0X3RsYmZsdXNoX3RpbWVzdGFtcChz dHJ1Y3QgcGFnZV9pbmZvICpwYWdlKQ0KKyt7DQorKyAgICBwYWdlLT50bGJmbHVzaF90aW1lc3Rh bXAgPSB0bGJmbHVzaF9jdXJyZW50X3RpbWUoKTsNCisrfQ0KKysNCisgI2lmIGRlZmluZWQoQ09O RklHX0FSTV8zMikNCisgIyBpbmNsdWRlIDxhc20vYXJtMzIvZmx1c2h0bGIuaD4NCisgI2VsaWYg ZGVmaW5lZChDT05GSUdfQVJNXzY0KQ0KKy0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZmx1c2h0 bGIuaA0KKysrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZmx1c2h0bGIuaA0KK0BAIC0yMyw2ICsy MywyMCBAQCBERUNMQVJFX1BFUl9DUFUodTMyLCB0bGJmbHVzaF90aW1lKTsNCisgDQorICNkZWZp bmUgdGxiZmx1c2hfY3VycmVudF90aW1lKCkgdGxiZmx1c2hfY2xvY2sNCisgDQorK3N0YXRpYyBp bmxpbmUgdm9pZCBwYWdlX3NldF90bGJmbHVzaF90aW1lc3RhbXAoc3RydWN0IHBhZ2VfaW5mbyAq cGFnZSkNCisrew0KKysgICAgLyoNCisrICAgICAqIFByZXZlbnQgc3RvcmluZyBhIHN0YWxlIHRp bWUgc3RhbXAsIHdoaWNoIGNvdWxkIGhhcHBlbiBpZiBhbiB1cGRhdGUNCisrICAgICAqIHRvIHRs YmZsdXNoX2Nsb2NrIHBsdXMgYSBzdWJzZXF1ZW50IGZsdXNoIElQSSBoYXBwZW4gYmV0d2VlbiB0 aGUNCisrICAgICAqIHJlYWRpbmcgb2YgdGxiZmx1c2hfY2xvY2sgYW5kIHRoZSB3cml0aW5nIG9m IHRoZSBzdHJ1Y3QgcGFnZV9pbmZvDQorKyAgICAgKiBmaWVsZC4NCisrICAgICAqLw0KKysgICAg QVNTRVJUKGxvY2FsX2lycV9pc19lbmFibGVkKCkpOw0KKysgICAgbG9jYWxfaXJxX2Rpc2FibGUo KTsNCisrICAgIHBhZ2UtPnRsYmZsdXNoX3RpbWVzdGFtcCA9IHRsYmZsdXNoX2N1cnJlbnRfdGlt ZSgpOw0KKysgICAgbG9jYWxfaXJxX2VuYWJsZSgpOw0KKyt9DQorKw0KKyAvKg0KKyAgKiBAY3B1 X3N0YW1wIGlzIHRoZSB0aW1lc3RhbXAgYXQgbGFzdCBUTEIgZmx1c2ggZm9yIHRoZSBDUFUgd2Ug YXJlIHRlc3RpbmcuDQorICAqIEBsYXN0dXNlX3N0YW1wIGlzIGEgdGltZXN0YW1wIHRha2VuIHdo ZW4gdGhlIFBGTiB3ZSBhcmUgdGVzdGluZyB3YXMgbGFzdCANCmRpZmYgLS1naXQgYS9tYWluL3hl bi94c2EyNDItNC45LnBhdGNoIGIvbWFpbi94ZW4veHNhMjQyLTQuOS5wYXRjaA0KbmV3IGZpbGUg bW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAuLjhhZGZhNjFmZDcNCi0tLSAvZGV2L251bGwN CisrKyBiL21haW4veGVuL3hzYTI0Mi00LjkucGF0Y2gNCkBAIC0wLDAgKzEsNDMgQEANCitGcm9t OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQorU3ViamVjdDogeDg2OiBkb24ndCBh bGxvdyBwYWdlX3VubG9jaygpIHRvIGRyb3AgdGhlIGxhc3QgdHlwZSByZWZlcmVuY2UNCisNCitP bmx5IF9wdXRfcGFnZV90eXBlKCkgZG9lcyB0aGUgbmVjZXNzYXJ5IGNsZWFudXAsIGFuZCBoZW5j ZSBub3QgYWxsDQorZG9tYWluIHBhZ2VzIGNhbiBiZSByZWxlYXNlZCBkdXJpbmcgZ3Vlc3QgY2xl YW51cCAobGVhdmluZyBhcm91bmQNCit6b21iaWUgZG9tYWlucykgaWYgd2UgZ2V0IHRoaXMgd3Jv bmcuDQorDQorVGhpcyBpcyBYU0EtMjQyLg0KKw0KK1NpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNo IDxqYmV1bGljaEBzdXNlLmNvbT4NCisNCistLS0gYS94ZW4vYXJjaC94ODYvbW0uYw0KKysrKyBi L3hlbi9hcmNoL3g4Ni9tbS5jDQorQEAgLTE5MjMsNyArMTkyMywxMSBAQCB2b2lkIHBhZ2VfdW5s b2NrKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UpDQorIA0KKyAgICAgZG8gew0KKyAgICAgICAgIHgg PSB5Ow0KKysgICAgICAgIEFTU0VSVCgoeCAmIFBHVF9jb3VudF9tYXNrKSAmJiAoeCAmIFBHVF9s b2NrZWQpKTsNCisrDQorICAgICAgICAgbnggPSB4IC0gKDEgfCBQR1RfbG9ja2VkKTsNCisrICAg ICAgICAvKiBXZSBtdXN0IG5vdCBkcm9wIHRoZSBsYXN0IHJlZmVyZW5jZSBoZXJlLiAqLw0KKysg ICAgICAgIEFTU0VSVChueCAmIFBHVF9jb3VudF9tYXNrKTsNCisgICAgIH0gd2hpbGUgKCAoeSA9 IGNtcHhjaGcoJnBhZ2UtPnUuaW51c2UudHlwZV9pbmZvLCB4LCBueCkpICE9IHggKTsNCisgfQ0K KyANCitAQCAtMjYxMSw2ICsyNjE1LDE3IEBAIHN0YXRpYyBpbnQgX3B1dF9wYWdlX3R5cGUoc3Ry dWN0IHBhZ2VfaW4NCisgICAgICAgICAgICAgICAgICAgIChwYWdlLT5jb3VudF9pbmZvICYgUEdD X3BhZ2VfdGFibGUpKSApDQorICAgICAgICAgICAgICAgICBwYWdlX3NldF90bGJmbHVzaF90aW1l c3RhbXAocGFnZSk7DQorICAgICAgICAgfQ0KKysgICAgICAgIGVsc2UgaWYgKCB1bmxpa2VseSgo bnggJiAoUEdUX2xvY2tlZCB8IFBHVF9jb3VudF9tYXNrKSkgPT0NCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgKFBHVF9sb2NrZWQgfCAxKSkgKQ0KKysgICAgICAgIHsNCisrICAgICAgICAg ICAgLyoNCisrICAgICAgICAgICAgICogV2UgbXVzdCBub3QgZHJvcCB0aGUgc2Vjb25kIHRvIGxh c3QgcmVmZXJlbmNlIHdoZW4gdGhlIHBhZ2UgaXMNCisrICAgICAgICAgICAgICogbG9ja2VkLCBh cyBwYWdlX3VubG9jaygpIGRvZXNuJ3QgZG8gYW55IGNsZWFudXAgb2YgdGhlIHR5cGUuDQorKyAg ICAgICAgICAgICAqLw0KKysgICAgICAgICAgICBjcHVfcmVsYXgoKTsNCisrICAgICAgICAgICAg eSA9IHBhZ2UtPnUuaW51c2UudHlwZV9pbmZvOw0KKysgICAgICAgICAgICBjb250aW51ZTsNCisr ICAgICAgICB9DQorIA0KKyAgICAgICAgIGlmICggbGlrZWx5KCh5ID0gY21weGNoZygmcGFnZS0+ dS5pbnVzZS50eXBlX2luZm8sIHgsIG54KSkgPT0geCkgKQ0KKyAgICAgICAgICAgICBicmVhazsN CmRpZmYgLS1naXQgYS9tYWluL3hlbi94c2EyNDMucGF0Y2ggYi9tYWluL3hlbi94c2EyNDMucGF0 Y2gNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwLi5hYWZmMjc3NTE0DQot LS0gL2Rldi9udWxsDQorKysgYi9tYWluL3hlbi94c2EyNDMucGF0Y2gNCkBAIC0wLDAgKzEsOTMg QEANCitGcm9tOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KK1N1 YmplY3Q6IHg4Ni9zaGFkb3c6IERvbid0IGNyZWF0ZSBzZWxmLWxpbmVhciBzaGFkb3cgbWFwcGlu Z3MgZm9yIDQtbGV2ZWwgdHJhbnNsYXRlZCBndWVzdHMNCisNCitXaGVuIGluaXRpYWxseSBjcmVh dGluZyBhIG1vbml0b3IgdGFibGUgZm9yIDQtbGV2ZWwgdHJhbnNsYXRlZCBndWVzdHMsIGRvbid0 DQoraW5zdGFsbCBhIHNoYWRvdy1saW5lYXIgbWFwcGluZy4gIFRoaXMgbWFwcGluZyBpcyBhY3R1 YWxseSBzZWxmLWxpbmVhciwgYW5kDQordHJpcHMgdXAgdGhlIHdyaXRlYWJsZSBoZXVyaXN0aWMg bG9naWMgaW50byBmb2xsb3dpbmcgWGVuJ3MgbWFwcGluZ3MsIG5vdCB0aGUNCitndWVzdHMnIHNo YWRvd3MgaXQgd2FzIGV4cGVjdGluZyB0byBmb2xsb3cuDQorDQorQSBjb25zZXF1ZW5jZSBvZiB0 aGlzIGlzIHRoYXQgc2hfZ3Vlc3Nfd3JtYXAoKSBuZWVkcyB0byBjb3BlIHdpdGggdGhlcmUgYmVp bmcNCitubyBzaGFkb3ctbGluZWFyIG1hcHBpbmcgcHJlc2VudCwgd2hpY2ggaW4gcHJhY3RpY2Ug b2NjdXJzIG9uY2UgZWFjaCB0aW1lIGENCit2Y3B1IHN3aXRjaGVzIHRvIDQtbGV2ZWwgcGFnaW5n IGZyb20gYSBkaWZmZXJlbnQgcGFnaW5nIG1vZGUuDQorDQorQW4gYXBwcm9wcmlhdGUgc2hhZG93 LWxpbmVhciBzbG90IHdpbGwgYmUgaW5zZXJ0ZWQgaW50byB0aGUgbW9uaXRvciB0YWJsZQ0KK2Vp dGhlciB3aGlsZSBjb25zdHJ1Y3RpbmcgbG93ZXIgbGV2ZWwgbW9uaXRvciB0YWJsZXMsIG9yIGJ5 IHNoX3VwZGF0ZV9jcjMoKS4NCisNCitXaGlsZSBmaXhpbmcgdGhpcywgY2xhcmlmeSB0aGUgc2Fm ZXR5IG9mIHRoZSBvdGhlciBtYXBwaW5ncy4gIERlc3BpdGUNCithcHBlYXJpbmcgdW5zYWZlLCBp dCBpcyBjb3JyZWN0IHRvIGNyZWF0ZSBhIGd1ZXN0LWxpbmVhciBtYXBwaW5nIGZvcg0KK3RyYW5z bGF0ZWQgZG9tYWluczsgdGhpcyBpcyBzZWxmLWxpbmVhciBhbmQgZG9lc24ndCBwb2ludCBpbnRv IHRoZSB0cmFuc2xhdGVkDQorZG9tYWluLiAgRHJvcCBhIGRlYWQgY2xhdXNlIGZvciB0cmFuc2xh dGUgIT0gZXh0ZXJuYWwgZ3Vlc3RzLg0KKw0KK1RoaXMgaXMgWFNBLTI0My4NCisNCitTaWduZWQt b2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KK0Fja2Vk LWJ5OiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4NCisNCitkaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L21tL3NoYWRvdy9tdWx0aS5jIGIveGVuL2FyY2gveDg2L21tL3NoYWRvdy9tdWx0aS5jDQor aW5kZXggOGQ0ZjI0NC4uYTE4ZDI4NiAxMDA2NDQNCistLS0gYS94ZW4vYXJjaC94ODYvbW0vc2hh ZG93L211bHRpLmMNCisrKysgYi94ZW4vYXJjaC94ODYvbW0vc2hhZG93L211bHRpLmMNCitAQCAt MTQ4NSwyNiArMTQ4NSwzOCBAQCB2b2lkIHNoX2luc3RhbGxfeGVuX2VudHJpZXNfaW5fbDQoc3Ry dWN0IGRvbWFpbiAqZCwgbWZuX3QgZ2w0bWZuLCBtZm5fdCBzbDRtZm4pDQorICAgICAgICAgc2w0 ZVtzaGFkb3dfbDRfdGFibGVfb2Zmc2V0KFJPX01QVF9WSVJUX1NUQVJUKV0gPSBzaGFkb3dfbDRl X2VtcHR5KCk7DQorICAgICB9DQorIA0KKy0gICAgLyogU2hhZG93IGxpbmVhciBtYXBwaW5nIGZv ciA0LWxldmVsIHNoYWRvd3MuICBOLkIuIGZvciAzLWxldmVsDQorLSAgICAgKiBzaGFkb3dzIG9u IDY0LWJpdCB4ZW4sIHRoaXMgbGluZWFyIG1hcHBpbmcgaXMgbGF0ZXIgcmVwbGFjZWQgYnkgdGhl DQorLSAgICAgKiBtb25pdG9yIHBhZ2V0YWJsZSBzdHJ1Y3R1cmUsIHdoaWNoIGlzIGJ1aWx0IGlu IG1ha2VfbW9uaXRvcl90YWJsZQ0KKy0gICAgICogYW5kIG1haW50YWluZWQgYnkgc2hfdXBkYXRl X2xpbmVhcl9lbnRyaWVzLiAqLw0KKy0gICAgc2w0ZVtzaGFkb3dfbDRfdGFibGVfb2Zmc2V0KFNI X0xJTkVBUl9QVF9WSVJUX1NUQVJUKV0gPQ0KKy0gICAgICAgIHNoYWRvd19sNGVfZnJvbV9tZm4o c2w0bWZuLCBfX1BBR0VfSFlQRVJWSVNPUl9SVyk7DQorLQ0KKy0gICAgLyogU2VsZiBsaW5lYXIg bWFwcGluZy4gICovDQorLSAgICBpZiAoIHNoYWRvd19tb2RlX3RyYW5zbGF0ZShkKSAmJiAhc2hh ZG93X21vZGVfZXh0ZXJuYWwoZCkgKQ0KKysgICAgLyoNCisrICAgICAqIExpbmVhciBtYXBwaW5n IHNsb3RzOg0KKysgICAgICoNCisrICAgICAqIENhbGxpbmcgdGhpcyBmdW5jdGlvbiB3aXRoIGds NG1mbiA9PSBzbDRtZm4gaXMgdXNlZCB0byBjb25zdHJ1Y3QgYQ0KKysgICAgICogbW9uaXRvciB0 YWJsZSBmb3IgdHJhbnNsYXRlZCBkb21haW5zLiAgSW4gdGhpcyBjYXNlLCBnbDRtZm4gZm9ybXMg dGhlDQorKyAgICAgKiBzZWxmLWxpbmVhciBtYXBwaW5nIChpLmUuIG5vdCBwb2ludGluZyBpbnRv IHRoZSB0cmFuc2xhdGVkIGRvbWFpbiksIGFuZA0KKysgICAgICogdGhlIHNoYWRvdy1saW5lYXIg c2xvdCBpcyBza2lwcGVkLiAgVGhlIHNoYWRvdy1saW5lYXIgc2xvdCBpcyBlaXRoZXINCisrICAg ICAqIGZpbGxlZCB3aGVuIGNvbnN0cnVjdGluZyBsb3dlciBsZXZlbCBtb25pdG9yIHRhYmxlcywg b3IgdmlhDQorKyAgICAgKiBzaF91cGRhdGVfY3IzKCkgZm9yIDQtbGV2ZWwgZ3Vlc3RzLg0KKysg ICAgICoNCisrICAgICAqIENhbGxpbmcgdGhpcyBmdW5jdGlvbiB3aXRoIGdsNG1mbiAhPSBzbDRt Zm4gaXMgdXNlZCBmb3Igbm9uLXRyYW5zbGF0ZWQNCisrICAgICAqIGd1ZXN0cywgd2hlcmUgdGhl IHNoYWRvdy1saW5lYXIgc2xvdCBpcyBhY3R1YWxseSBzZWxmLWxpbmVhciwgYW5kIHRoZQ0KKysg ICAgICogZ3Vlc3QtbGluZWFyIHNsb3QgcG9pbnRzIGludG8gdGhlIGd1ZXN0cyB2aWV3IG9mIGl0 cyBwYWdldGFibGVzLg0KKysgICAgICovDQorKyAgICBpZiAoIHNoYWRvd19tb2RlX3RyYW5zbGF0 ZShkKSApDQorICAgICB7DQorLSAgICAgICAgLy8gbGluZWFyIHRhYmxlcyBtYXkgbm90IGJlIHVz ZWQgd2l0aCB0cmFuc2xhdGVkIFBWIGd1ZXN0cw0KKy0gICAgICAgIHNsNGVbc2hhZG93X2w0X3Rh YmxlX29mZnNldChMSU5FQVJfUFRfVklSVF9TVEFSVCldID0NCisrICAgICAgICBBU1NFUlQobWZu X2VxKGdsNG1mbiwgc2w0bWZuKSk7DQorKw0KKysgICAgICAgIHNsNGVbc2hhZG93X2w0X3RhYmxl X29mZnNldChTSF9MSU5FQVJfUFRfVklSVF9TVEFSVCldID0NCisgICAgICAgICAgICAgc2hhZG93 X2w0ZV9lbXB0eSgpOw0KKyAgICAgfQ0KKyAgICAgZWxzZQ0KKyAgICAgew0KKy0gICAgICAgIHNs NGVbc2hhZG93X2w0X3RhYmxlX29mZnNldChMSU5FQVJfUFRfVklSVF9TVEFSVCldID0NCistICAg ICAgICAgICAgc2hhZG93X2w0ZV9mcm9tX21mbihnbDRtZm4sIF9fUEFHRV9IWVBFUlZJU09SX1JX KTsNCisrICAgICAgICBBU1NFUlQoIW1mbl9lcShnbDRtZm4sIHNsNG1mbikpOw0KKysNCisrICAg ICAgICBzbDRlW3NoYWRvd19sNF90YWJsZV9vZmZzZXQoU0hfTElORUFSX1BUX1ZJUlRfU1RBUlQp XSA9DQorKyAgICAgICAgICAgIHNoYWRvd19sNGVfZnJvbV9tZm4oc2w0bWZuLCBfX1BBR0VfSFlQ RVJWSVNPUl9SVyk7DQorICAgICB9DQorIA0KKysgICAgc2w0ZVtzaGFkb3dfbDRfdGFibGVfb2Zm c2V0KExJTkVBUl9QVF9WSVJUX1NUQVJUKV0gPQ0KKysgICAgICAgIHNoYWRvd19sNGVfZnJvbV9t Zm4oZ2w0bWZuLCBfX1BBR0VfSFlQRVJWSVNPUl9SVyk7DQorKw0KKyAgICAgdW5tYXBfZG9tYWlu X3BhZ2Uoc2w0ZSk7DQorIH0NCisgI2VuZGlmDQorQEAgLTQ0MDUsNiArNDQxNywxMSBAQCBzdGF0 aWMgaW50IHNoX2d1ZXNzX3dybWFwKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBsb25nIHZhZGRy LCBtZm5fdCBnbWZuKQ0KKyANCisgICAgIC8qIENhcmVmdWxseSBsb29rIGluIHRoZSBzaGFkb3cg bGluZWFyIG1hcCBmb3IgdGhlIGwxZSB3ZSBleHBlY3QgKi8NCisgI2lmIFNIQURPV19QQUdJTkdf TEVWRUxTID49IDQNCisrICAgIC8qIElzIGEgc2hhZG93IGxpbmVhciBtYXAgaXMgaW5zdGFsbGVk IGluIHRoZSBmaXJzdCBwbGFjZT8gKi8NCisrICAgIHNsNHAgID0gdi0+YXJjaC5wYWdpbmcuc2hh ZG93Lmd1ZXN0X3Z0YWJsZTsNCisrICAgIHNsNHAgKz0gc2hhZG93X2w0X3RhYmxlX29mZnNldChT SF9MSU5FQVJfUFRfVklSVF9TVEFSVCk7DQorKyAgICBpZiAoICEoc2hhZG93X2w0ZV9nZXRfZmxh Z3MoKnNsNHApICYgX1BBR0VfUFJFU0VOVCkgKQ0KKysgICAgICAgIHJldHVybiAwOw0KKyAgICAg c2w0cCA9IHNoX2xpbmVhcl9sNF90YWJsZSh2KSArIHNoYWRvd19sNF9saW5lYXJfb2Zmc2V0KHZh ZGRyKTsNCisgICAgIGlmICggIShzaGFkb3dfbDRlX2dldF9mbGFncygqc2w0cCkgJiBfUEFHRV9Q UkVTRU5UKSApDQorICAgICAgICAgcmV0dXJuIDA7DQpkaWZmIC0tZ2l0IGEvbWFpbi94ZW4veHNh MjQ0LnBhdGNoIGIvbWFpbi94ZW4veHNhMjQ0LnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0K aW5kZXggMDAwMDAwMDAwMC4uYzM1YTgwYmUzMg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvbWFpbi94 ZW4veHNhMjQ0LnBhdGNoDQpAQCAtMCwwICsxLDU5IEBADQorRnJvbTogQW5kcmV3IENvb3BlciA8 YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCitTdWJqZWN0OiBbUEFUQ0hdIHg4Ni9jcHU6IEZp eCBJU1QgaGFuZGxpbmcgZHVyaW5nIFBDUFUgYnJpbmd1cA0KKw0KK0NsZWFyIElTVCByZWZlcmVu Y2VzIGluIG5ld2x5IGFsbG9jYXRlZCBJRFRzLiAgTm90aGluZyBnb29kIHdpbGwgY29tZSBvZg0K K2hhdmluZyB0aGVtIHNldCBiZWZvcmUgdGhlIFRTUyBpcyBzdWl0YWJseSBjb25zdHJ1Y3RlZCAo YWx0aG91Z2ggdGhlIGNoYW5jZXMNCitvZiB0aGUgQ1BVIHN1cnZpdmluZyBzdWNoIGFuIElTVCBp bnRlcnJ1cHQvZXhjZXB0aW9uIGlzIGV4dHJlbWVseSBzbGltKS4NCisNCitVbmlmb3JtbHkgc2V0 IHRoZSBJU1QgcmVmZXJlbmNlcyBhZnRlciB0aGUgVFNTIGlzIGluIHBsYWNlLiAgVGhpcyBmaXhl cyBhbg0KK2lzc3VlIG9uIEFNRCBoYXJkd2FyZSwgd2hlcmUgb25saW5pbmcgYSBQQ1BVIHdoaWxl IFBDUFUwIGlzIGluIEhWTSBjb250ZXh0DQord2lsbCBjYXVzZSBJU1RfTk9ORSB0byBiZSBjb3Bp ZWQgaW50byB0aGUgbmV3IElEVCwgbWFraW5nIHRoYXQgUENQVSB2dWxuZXJhYmxlDQordG8gcHJp dmlsZWdlIGVzY2FsYXRpb24gZnJvbSBQViBndWVzdHMgdW50aWwgaXQgc3Vic2VxdWVudGx5IHNj aGVkdWxlcyBhbiBIVk0NCitndWVzdC4NCisNCitUaGlzIGlzIFhTQS0yNDQNCisNCitTaWduZWQt b2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KK1Jldmll d2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQorLS0tDQorIHhlbi9hcmNo L3g4Ni9jcHUvY29tbW9uLmMgfCA1ICsrKysrDQorIHhlbi9hcmNoL3g4Ni9zbXBib290LmMgICAg fCAzICsrKw0KKyAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQ0KKw0KK2RpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvY3B1L2NvbW1vbi5jIGIveGVuL2FyY2gveDg2L2NwdS9jb21tb24u Yw0KK2luZGV4IDc4ZjU2NjcuLjZjZjM2MjggMTAwNjQ0DQorLS0tIGEveGVuL2FyY2gveDg2L2Nw dS9jb21tb24uYw0KKysrKyBiL3hlbi9hcmNoL3g4Ni9jcHUvY29tbW9uLmMNCitAQCAtNjQwLDYg KzY0MCw3IEBAIHZvaWQgX19pbml0IGVhcmx5X2NwdV9pbml0KHZvaWQpDQorICAqIC0gU2V0cyB1 cCBUU1Mgd2l0aCBzdGFjayBwb2ludGVycywgaW5jbHVkaW5nIElTVHMNCisgICogLSBJbnNlcnRz IFRTUyBzZWxlY3RvciBpbnRvIHJlZ3VsYXIgYW5kIGNvbXBhdCBHRFRzDQorICAqIC0gTG9hZHMg R0RULCBJRFQsIFRSIHRoZW4gbnVsbCBMRFQNCisrICogLSBTZXRzIHVwIElTVCByZWZlcmVuY2Vz IGluIHRoZSBJRFQNCisgICovDQorIHZvaWQgbG9hZF9zeXN0ZW1fdGFibGVzKHZvaWQpDQorIHsN CitAQCAtNzAyLDYgKzcwMywxMCBAQCB2b2lkIGxvYWRfc3lzdGVtX3RhYmxlcyh2b2lkKQ0KKyAJ YXNtIHZvbGF0aWxlICgibHRyICAldzAiIDogOiAicm0iIChUU1NfRU5UUlkgPDwgMykgKTsNCisg CWFzbSB2b2xhdGlsZSAoImxsZHQgJXcwIiA6IDogInJtIiAoMCkgKTsNCisgDQorKwlzZXRfaXN0 KCZpZHRfdGFibGVzW2NwdV1bVFJBUF9kb3VibGVfZmF1bHRdLCAgSVNUX0RGKTsNCisrCXNldF9p c3QoJmlkdF90YWJsZXNbY3B1XVtUUkFQX25taV0sCSAgICAgIElTVF9OTUkpOw0KKysJc2V0X2lz dCgmaWR0X3RhYmxlc1tjcHVdW1RSQVBfbWFjaGluZV9jaGVja10sIElTVF9NQ0UpOw0KKysNCisg CS8qDQorIAkgKiBCb3R0b20tb2Ytc3RhY2sgbXVzdCBiZSAxNi1ieXRlIGFsaWduZWQhDQorIAkg Kg0KK2RpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvc21wYm9vdC5jIGIveGVuL2FyY2gveDg2L3Nt cGJvb3QuYw0KK2luZGV4IDNjYTcxNmMuLjE2MDliNjIgMTAwNjQ0DQorLS0tIGEveGVuL2FyY2gv eDg2L3NtcGJvb3QuYw0KKysrKyBiL3hlbi9hcmNoL3g4Ni9zbXBib290LmMNCitAQCAtNzI0LDYg KzcyNCw5IEBAIHN0YXRpYyBpbnQgY3B1X3NtcGJvb3RfYWxsb2ModW5zaWduZWQgaW50IGNwdSkN CisgICAgIGlmICggaWR0X3RhYmxlc1tjcHVdID09IE5VTEwgKQ0KKyAgICAgICAgIGdvdG8gb29t Ow0KKyAgICAgbWVtY3B5KGlkdF90YWJsZXNbY3B1XSwgaWR0X3RhYmxlLCBJRFRfRU5UUklFUyAq IHNpemVvZihpZHRfZW50cnlfdCkpOw0KKysgICAgc2V0X2lzdCgmaWR0X3RhYmxlc1tjcHVdW1RS QVBfZG91YmxlX2ZhdWx0XSwgIElTVF9OT05FKTsNCisrICAgIHNldF9pc3QoJmlkdF90YWJsZXNb Y3B1XVtUUkFQX25taV0sICAgICAgICAgICBJU1RfTk9ORSk7DQorKyAgICBzZXRfaXN0KCZpZHRf dGFibGVzW2NwdV1bVFJBUF9tYWNoaW5lX2NoZWNrXSwgSVNUX05PTkUpOw0KKyANCisgICAgIGZv ciAoIHN0dWJfcGFnZSA9IDAsIGkgPSBjcHUgJiB+KFNUVUJTX1BFUl9QQUdFIC0gMSk7DQorICAg ICAgICAgICBpIDwgbnJfY3B1X2lkcyAmJiBpIDw9IChjcHUgfCAoU1RVQlNfUEVSX1BBR0UgLSAx KSk7ICsraSApDQotLSANCjIuMTQuMg0KDQoNCg0KLS0tDQpVbnN1YnNjcmliZTogIGFscGluZS1h cG9ydHMrdW5zdWJzY3JpYmVAbGlzdHMuYWxwaW5lbGludXgub3JnDQpIZWxwOiAgICAgICAgIGFs cGluZS1hcG9ydHMraGVscEBsaXN0cy5hbHBpbmVsaW51eC5vcmcNCi0tLQ0K