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=-6.8 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, 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 D5D1AC43381 for ; Tue, 19 Feb 2019 12:19:40 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9ECCB217D7 for ; Tue, 19 Feb 2019 12:19:40 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="hzPPxrZH"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="If4zMXmu" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9ECCB217D7 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:References: To:From:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=3SlQwgjL3qwjtpHdFWquRf1xkwh2uCvkLBMQd8gS9u8=; b=hzPPxrZHFgujp4at4kVtF0fbT UKhAlXZXsp7iRg06ZkK+f2wRZ5ek1eiAzYVnA+JdMagFQ1z72WTTm41xHbGu1FySHTBIRW0+KvS8Q JMR3cu3x9Upx7doO66BlFesyrr4+LReL0ZdQUbdCm3x9AbvXTb4x5ca1e7I+3qa6tgPJ95bQ/QLUj xnkdq7ixzlBDnt981NlZO9qJf0sTtnNHVilwFuGnVT62SGPAi/SGB102zX29qtHX02yu4y4VKGC4B abYe3H9io1Vs4zYY/Z0bmP97eSrpWeyhiND5tRXyEhC1SSgsfswBP7S/BozKE8qkuhVcwN951ixXi MLEVLAN7g==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gw4N0-0004dg-Sg; Tue, 19 Feb 2019 12:19:30 +0000 Received: from mail-lf1-x143.google.com ([2a00:1450:4864:20::143]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gw4Mt-0004c1-KK; Tue, 19 Feb 2019 12:19:27 +0000 Received: by mail-lf1-x143.google.com with SMTP id g2so14703780lfh.11; Tue, 19 Feb 2019 04:19:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=OWHl/3Rb07ooAl59hD3hcwMdp3rn+YvuzVR5g4cxJiU=; b=If4zMXmuHp7plwealjlexNHTjtE1YPVYLpHvBQSdd7MuHvGrhDCnUyX8S8rVt7ud55 ueBnv/5le3GZg4LgQqsJxHOm3Ml5SDExdfyvndQJ6oqDc0hmBZtAsFnlUlnnHrkOp1UB kqrMHdnVTSccARO8iQ2eiTgENLplBwx6VDdNgn3YO8TImPzMRNgUVWP9OfVdwSu8yu2J PMaYMyiUudgEbdMlwGGbItNBrlUpdsuXXNKWgT6bHOn1jug4n+4fb+WTxUVJt6j2ERVt g/XlnwY64wuWa0lvlEIkRipga8UbVPBSk3HbKBywhirhWoHeoBH7qyiry887hm6oUdSu kYPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=OWHl/3Rb07ooAl59hD3hcwMdp3rn+YvuzVR5g4cxJiU=; b=DlHQjXRIEEvlo3Nt/rFIk0T1V92QKBmKXXwuoPpeZ6JXY84Y//pBoaOXyI4qPo9dC5 jQMXn05mnPS2yzAaK8JV2ZGpiN6LjDvR7ugjdsXr0W3cysttwNWijbx1NjbKwcMD865G DMcIPzp1bwIVLzwmNIJXOWt0eUlv1WkdWThYZj0RHkJ1pKQtUGoqJTBilYRwCJt5VB5D aqS/xsKyXIMJp5dYVXFzEbIHUsYunDVwPSdOyayXiR2HWgY50ZVKFDxwOQUpsUHkJ8YK ohhU6Ygvdb4hdQ7sSUYV+WlHq1LIE+YRMKbh1EWOFOc6C2/4ALuTpQSVN/JAKdwJVkGj yJ5g== X-Gm-Message-State: AHQUAuaQ6p+hojU4FPhbagwTBzJtz4miVpD9W0r2PflW7O/H38CulLUx mxQ1lR9B64zN6h8YhYdPc/g= X-Google-Smtp-Source: AHgI3IZ7ZKI/yaZqqEPmxynewEBc6EBjJAKn2wGfWUjwdU/R0cymdngFkpz3UjkSF4mKTQxn7toP+w== X-Received: by 2002:a19:7dc1:: with SMTP id y184mr15890052lfc.131.1550578761347; Tue, 19 Feb 2019 04:19:21 -0800 (PST) Received: from [192.168.0.106] (rev-10.ethnet.com.pl. [87.204.29.10]) by smtp.gmail.com with ESMTPSA id j3sm2312767lfk.79.2019.02.19.04.19.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 19 Feb 2019 04:19:20 -0800 (PST) Subject: Re: [PATCH 06/14] media: platform: fix several typos From: Andrzej Pietrasiewicz To: Mauro Carvalho Chehab References: <362e90167292e8d0c03a8d0753cc26b89549d854.1550518128.git.mchehab+samsung@kernel.org> <8328b00f-d48f-187e-e53f-c52ac50b5b61@gmail.com> Message-ID: <30c9086d-1120-698d-9a5f-4e456928e208@gmail.com> Date: Tue, 19 Feb 2019 13:19:18 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: <8328b00f-d48f-187e-e53f-c52ac50b5b61@gmail.com> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190219_041923_886569_C5ED42AB X-CRM114-Status: GOOD ( 23.35 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Andrew-CT Chen , Alexandre Belloni , Minghsiu Tsai , Heiko Stuebner , Maxime Ripard , Stanimir Varbanov , Patrice Chotard , Andrzej Hajda , "Lad, Prabhakar" , Laurent Pinchart , Sylwester Nawrocki , Michal Simek , Alexandre Torgue , linux-samsung-soc@vger.kernel.org, Jonathan Corbet , Chen-Yu Tsai , Krzysztof Kozlowski , linux-stm32@st-md-mailman.stormreply.com, linux-rockchip@lists.infradead.org, Ludovic Desroches , Kukjin Kim , Linux Media Mailing List , Kamil Debski , Maxime Coquelin , linux-arm-msm@vger.kernel.org, Houlong Wei , Mauro Carvalho Chehab , Benoit Parrot , Jeongtae Park , linux-mediatek@lists.infradead.org, Jacek Anaszewski , Yong Deng , Matthias Brugger , Hugues Fruchet , Tiffany Lin , linux-arm-kernel@lists.infradead.org, Hyun Kwon , Jacob chen , linux-renesas-soc@vger.kernel.org, Kyungmin Park , Kieran Bingham , Jean-Christophe Trotin , Philipp Zabel , =?UTF-8?Q?Niklas_S=c3=b6derlund?= , Eugen Hristev Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgYWdhaW4sCgpXIGRuaXUgMTkuMDIuMjAxOSBvwqAxMzoxNywgQW5kcnplaiBQaWV0cmFzaWV3 aWN6IHBpc3plOgo+IEhpIE1hdXJvLAo+IAo+IAo+IFcgZG5pdSAxOC4wMi4yMDE5IG/CoDIwOjI5 LCBNYXVybyBDYXJ2YWxobyBDaGVoYWIgcGlzemU6Cj4+IFVzZSBjb2Rlc3BlbGwgdG8gZml4IGxv dHMgb2YgdHlwb3Mgb3ZlciBmcm9udGVuZHMuCj4+Cj4+IE1hbnVhbGx5IHZlcmlmaWVkIHRvIGF2 b2lkIGZhbHNlLXBvc2l0aXZlcy4KPj4KPj4gU2lnbmVkLW9mZi1ieTogTWF1cm8gQ2FydmFsaG8g Q2hlaGFiIDxtY2hlaGFiK3NhbXN1bmdAa2VybmVsLm9yZz4KPiAKCkkgbWVhbnQKPiBmb3IgZHJp dmVycy9tZWRpYS9wbGF0Zm9ybS9zcDUtanBlZy5jOgoKZm9yIGRyaXZlcnMvbWVkaWEvcGxhdGZv cm0vc3A1LWpwZWcvKgoKQWNrZWQtYnk6IEFuZHJ6ZWogUGlldHJhc2lld2ljeiA8YW5kcnplanRw MjAxMEBnbWFpbC5jb20+Cgo+IAo+PiAtLS0KPj4gwqAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9L Y29uZmlnwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMiArLQo+ PiDCoCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL2F0bWVsL2F0bWVsLWlzaS5jwqDCoMKgwqDCoMKg wqDCoMKgwqAgfMKgIDQgKystLQo+PiDCoCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL2NvZGEvY29k YS1qcGVnLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAyICstCj4+IMKgIGRyaXZlcnMvbWVk aWEvcGxhdGZvcm0vZGF2aW5jaS9pc2lmLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAg NCArKy0tCj4+IMKgIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vZGF2aW5jaS92cGJlLmPCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMiArLQo+PiDCoCBkcml2ZXJzL21lZGlhL3BsYXRmb3Jt L2RhdmluY2kvdnBpZi5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIgKy0KPj4gwqAg ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9kYXZpbmNpL3ZwaWZfZGlzcGxheS5jwqDCoMKgwqDCoCB8 wqAgNCArKy0tCj4+IMKgIC4uLi9tZWRpYS9wbGF0Zm9ybS9leHlub3M0LWlzL2ZpbWMtaXMtY29t bWFuZC5owqDCoMKgIHzCoCAyICstCj4+IMKgIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vZXh5bm9z NC1pcy9maW1jLWlzLXBhcmFtLmjCoCB8wqAgMiArLQo+PiDCoCBkcml2ZXJzL21lZGlhL3BsYXRm b3JtL2V4eW5vczQtaXMvbWVkaWEtZGV2LmjCoMKgwqDCoMKgIHzCoCAyICstCj4+IMKgIGRyaXZl cnMvbWVkaWEvcGxhdGZvcm0vZXh5bm9zNC1pcy9taXBpLWNzaXMuY8KgwqDCoMKgwqAgfMKgIDQg KystLQo+PiDCoCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL21hcnZlbGwtY2NpYy9tbXAtZHJpdmVy LmPCoMKgIHzCoCA0ICsrLS0KPj4gwqAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstbWRwL210 a19tZHBfY29yZS5owqDCoMKgwqDCoCB8wqAgNiArKystLS0KPj4gwqAgZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9tdGstdmNvZGVjL210a192Y29kZWNfZGVjLmMgfMKgIDIgKy0KPj4gwqAgZHJpdmVy cy9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL210a192Y29kZWNfZHJ2LmggfMKgIDQgKystLQo+ PiDCoCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmMuYyB8 wqAgMiArLQo+PiDCoCAuLi4vbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy92ZGVjL3ZkZWNfaDI2 NF9pZi5jwqAgfMKgIDQgKystLQo+PiDCoCAuLi4vbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy92 ZGVjL3ZkZWNfdnA4X2lmLmPCoMKgIHzCoCAyICstCj4+IMKgIGRyaXZlcnMvbWVkaWEvcGxhdGZv cm0vbXRrLXZjb2RlYy92ZGVjX2Rydl9pZi5owqDCoMKgIHzCoCAyICstCj4+IMKgIGRyaXZlcnMv bWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy92ZGVjX3ZwdV9pZi5owqDCoMKgIHzCoCAyICstCj4+ IMKgIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vb21hcC9vbWFwX3ZvdXQuY8KgwqDCoMKgwqDCoMKg wqDCoMKgwqAgfMKgIDQgKystLQo+PiDCoCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL29tYXAvb21h cF92b3V0ZGVmLmjCoMKgwqDCoMKgwqDCoMKgIHzCoCA0ICsrLS0KPj4gwqAgZHJpdmVycy9tZWRp YS9wbGF0Zm9ybS9vbWFwM2lzcC9pc3AuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAy ICstCj4+IMKgIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vb21hcDNpc3AvaXNwY2NkYy5jwqDCoMKg wqDCoMKgwqDCoMKgIHzCoCA0ICsrLS0KPj4gwqAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9vbWFw M2lzcC9pc3Bjc2kyLmPCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIgKy0KPj4gwqAgZHJpdmVycy9t ZWRpYS9wbGF0Zm9ybS9weGFfY2FtZXJhLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg fMKgIDIgKy0KPj4gwqAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9xY29tL3ZlbnVzL2NvcmUuaMKg wqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAyICstCj4+IMKgIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0v cmNhci12aW4vcmNhci1kbWEuY8KgwqDCoMKgwqDCoMKgwqAgfMKgIDIgKy0KPj4gwqAgZHJpdmVy cy9tZWRpYS9wbGF0Zm9ybS9yY2FyLXZpbi9yY2FyLXY0bDIuY8KgwqDCoMKgwqDCoMKgIHzCoCA0 ICsrLS0KPj4gwqAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9yb2NrY2hpcC9yZ2EvcmdhLWh3LmPC oMKgwqDCoMKgwqAgfMKgIDYgKysrLS0tCj4+IMKgIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vczNj LWNhbWlmL2NhbWlmLWNvcmUuaMKgwqDCoMKgwqAgfMKgIDIgKy0KPj4gwqAgZHJpdmVycy9tZWRp YS9wbGF0Zm9ybS9zNXAtanBlZy9qcGVnLWNvcmUuaMKgwqDCoMKgwqDCoMKgIHzCoCA0ICsrLS0K Pj4gwqAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zNXAtbWZjL3M1cF9tZmNfY29tbW9uLmjCoMKg wqAgfMKgIDIgKy0KPj4gwqAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zNXAtbWZjL3M1cF9tZmNf Y3RybC5jwqDCoMKgwqDCoCB8wqAgMiArLQo+PiDCoCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL3M1 cC1tZmMvczVwX21mY19kZWMuY8KgwqDCoMKgwqDCoCB8wqAgMiArLQo+PiDCoCBkcml2ZXJzL21l ZGlhL3BsYXRmb3JtL3M1cC1tZmMvczVwX21mY19vcHJfdjUuY8KgwqDCoCB8wqAgMiArLQo+PiDC oCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL3M1cC1tZmMvczVwX21mY19vcHJfdjYuY8KgwqDCoCB8 wqAgNCArKy0tCj4+IMKgIC4uLi9tZWRpYS9wbGF0Zm9ybS9zdGkvYzhzZWN0cGZlL2M4c2VjdHBm ZS1jb3JlLmjCoCB8wqAgMiArLQo+PiDCoCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL3N0aS9kZWx0 YS9kZWx0YS5owqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIgKy0KPj4gwqAgZHJpdmVycy9tZWRp YS9wbGF0Zm9ybS9zdGkvaHZhL2h2YS1oMjY0LmPCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIgKy0K Pj4gwqAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zdG0zMi9zdG0zMi1kY21pLmPCoMKgwqDCoMKg wqDCoMKgwqAgfMKgIDIgKy0KPj4gwqAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zdW54aS9zdW42 aS1jc2kvc3VuNmlfY3NpLmggfMKgIDIgKy0KPj4gwqAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS90 aS12cGUvdnBkbWEuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMTQgKysrKysrKy0tLS0t LS0KPj4gwqAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS90aS12cGUvdnBlLmPCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIgKy0KPj4gwqAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92 c3AxL3ZzcDFfYnJ4LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDQgKystLQo+PiDCoCBk cml2ZXJzL21lZGlhL3BsYXRmb3JtL3hpbGlueC94aWxpbngtdmlwLmPCoMKgwqDCoMKgwqDCoMKg IHzCoCAyICstCj4+IMKgIDQ2IGZpbGVzIGNoYW5nZWQsIDcwIGluc2VydGlvbnMoKyksIDcwIGRl bGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9LY29u ZmlnIAo+PiBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vS2NvbmZpZwo+PiBpbmRleCA2Y2ZmMjZi MjlhMzguLjRhY2JlZDE4OTY0NCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS9LY29uZmlnCj4+ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vS2NvbmZpZwo+PiBAQCAt NjY4LDcgKzY2OCw3IEBAIG1lbnVjb25maWcgU0RSX1BMQVRGT1JNX0RSSVZFUlMKPj4gwqAgaWYg U0RSX1BMQVRGT1JNX0RSSVZFUlMKPj4gwqAgY29uZmlnIFZJREVPX1JDQVJfRFJJRgo+PiAtwqDC oMKgIHRyaXN0YXRlICJSZW5lc2FzIERpZ2l0aWFsIFJhZGlvIEludGVyZmFjZSAoRFJJRikiCj4+ ICvCoMKgwqAgdHJpc3RhdGUgIlJlbmVzYXMgRGlnaXRhbCBSYWRpbyBJbnRlcmZhY2UgKERSSUYp Igo+PiDCoMKgwqDCoMKgIGRlcGVuZHMgb24gVklERU9fVjRMMgo+PiDCoMKgwqDCoMKgIGRlcGVu ZHMgb24gQVJDSF9SRU5FU0FTIHx8IENPTVBJTEVfVEVTVAo+PiDCoMKgwqDCoMKgIHNlbGVjdCBW SURFT0JVRjJfVk1BTExPQwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9h dG1lbC9hdG1lbC1pc2kuYyAKPj4gYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2F0bWVsL2F0bWVs LWlzaS5jCj4+IGluZGV4IGZkYjI1NWU0YTk1Ni4uMDhiOGQ1NTgzMDgwIDEwMDY0NAo+PiAtLS0g YS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2F0bWVsL2F0bWVsLWlzaS5jCj4+ICsrKyBiL2RyaXZl cnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtaXNpLmMKPj4gQEAgLTExMCw3ICsxMTAsNyBA QCBzdHJ1Y3QgYXRtZWxfaXNpIHsKPj4gwqDCoMKgwqDCoCBib29swqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGVuYWJsZV9wcmV2aWV3X3BhdGg7Cj4+IMKgwqDCoMKgwqAgc3RydWN0IGNv bXBsZXRpb27CoMKgwqDCoMKgwqDCoCBjb21wbGV0ZTsKPj4gLcKgwqDCoCAvKiBJU0kgcGVyaXBo ZXJpYWwgY2xvY2sgKi8KPj4gK8KgwqDCoCAvKiBJU0kgcGVyaXBoZXJhbCBjbG9jayAqLwo+PiDC oMKgwqDCoMKgIHN0cnVjdCBjbGvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICpwY2xrOwo+PiDCoMKg wqDCoMKgIHVuc2lnbmVkIGludMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaXJxOwo+PiBAQCAtMTA3 OCw3ICsxMDc4LDcgQEAgc3RhdGljIHZvaWQgaXNpX2dyYXBoX25vdGlmeV91bmJpbmQoc3RydWN0 IAo+PiB2NGwyX2FzeW5jX25vdGlmaWVyICpub3RpZmllciwKPj4gwqDCoMKgwqDCoCBkZXZfZGJn KGlzaS0+ZGV2LCAiUmVtb3ZpbmcgJXNcbiIsIAo+PiB2aWRlb19kZXZpY2Vfbm9kZV9uYW1lKGlz aS0+dmRldikpOwo+PiAtwqDCoMKgIC8qIENoZWNrcyBpbnRlcm5hbHkgaWYgdmRldiBoYXZlIGJl ZW4gaW5pdCBvciBub3QgKi8KPj4gK8KgwqDCoCAvKiBDaGVja3MgaW50ZXJuYWxseSBpZiB2ZGV2 IGhhdmUgYmVlbiBpbml0IG9yIG5vdCAqLwo+PiDCoMKgwqDCoMKgIHZpZGVvX3VucmVnaXN0ZXJf ZGV2aWNlKGlzaS0+dmRldik7Cj4+IMKgIH0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEv cGxhdGZvcm0vY29kYS9jb2RhLWpwZWcuYyAKPj4gYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2Nv ZGEvY29kYS1qcGVnLmMKPj4gaW5kZXggOWY4OTlhNmNlZmVkLi4zOWEyMzUxYzFlNDggMTAwNjQ0 Cj4+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vY29kYS9jb2RhLWpwZWcuYwo+PiArKysg Yi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2NvZGEvY29kYS1qcGVnLmMKPj4gQEAgLTEwMyw3ICsx MDMsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBjaHJvbWFfYWNfdmFsdWVbMTYyICsg Cj4+IDJdID0gewo+PiDCoCAvKgo+PiDCoMKgICogUXVhbnRpemF0aW9uIHRhYmxlcyBmb3IgbHVt aW5hbmNlIGFuZCBjaHJvbWluYW5jZSBjb21wb25lbnRzIGluCj4+IC0gKiB6aWctemFnIHNjYW4g b3JkZXIgZnJvbSB0aGUgRnJlZXNjYWxlIGkuTVggVlBVIGxpYmFyaWVzCj4+ICsgKiB6aWctemFn IHNjYW4gb3JkZXIgZnJvbSB0aGUgRnJlZXNjYWxlIGkuTVggVlBVIGxpYnJhcmllcwo+PiDCoMKg ICovCj4+IMKgIHN0YXRpYyB1bnNpZ25lZCBjaGFyIGx1bWFfcVs2NF0gPSB7Cj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2RhdmluY2kvaXNpZi5jIAo+PiBiL2RyaXZlcnMv bWVkaWEvcGxhdGZvcm0vZGF2aW5jaS9pc2lmLmMKPj4gaW5kZXggMzQwZjgyMThmNTRkLi40N2Nl Y2QxMGViOWYgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vZGF2aW5jaS9p c2lmLmMKPj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9kYXZpbmNpL2lzaWYuYwo+PiBA QCAtMzI4LDcgKzMyOCw3IEBAIHN0YXRpYyB2b2lkIGlzaWZfY29uZmlnX2JjbGFtcChzdHJ1Y3Qg Cj4+IGlzaWZfYmxhY2tfY2xhbXAgKmJjKQo+PiDCoMKgwqDCoMKgIGlmIChiYy0+ZW4pIHsKPj4g wqDCoMKgwqDCoMKgwqDCoMKgIHZhbCA9IGJjLT5iY19tb2RlX2NvbG9yIDw8IElTSUZfQkNfTU9E RV9DT0xPUl9TSElGVDsKPj4gLcKgwqDCoMKgwqDCoMKgIC8qIEVuYWJsZSBCQyBhbmQgaG9yaXpv bnRhbCBjbGFtcCBjYWN1bGF0aW9uIHBhcmFtYXRlcnMgKi8KPj4gK8KgwqDCoMKgwqDCoMKgIC8q IEVuYWJsZSBCQyBhbmQgaG9yaXpvbnRhbCBjbGFtcCBjYWxjdWxhdGlvbiBwYXJhbWV0ZXJzICov Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB2YWwgPSB2YWwgfCAxIHwgKGJjLT5ob3J6Lm1vZGUgPDwg SVNJRl9IT1JaX0JDX01PREVfU0hJRlQpOwo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgcmVndyh2YWws IENMQU1QQ0ZHKTsKPj4gQEAgLTM1OCw3ICszNTgsNyBAQCBzdGF0aWMgdm9pZCBpc2lmX2NvbmZp Z19iY2xhbXAoc3RydWN0IAo+PiBpc2lmX2JsYWNrX2NsYW1wICpiYykKPj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgcmVndyhiYy0+aG9yei53aW5fc3RhcnRfdl9jYWxjLCBDTEhXSU4yKTsK Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIH0KPj4gLcKgwqDCoMKgwqDCoMKgIC8qIHZlcnRpY2FsIGNs YW1wIGNhY3VsYXRpb24gcGFyYW1hdGVycyAqLwo+PiArwqDCoMKgwqDCoMKgwqAgLyogdmVydGlj YWwgY2xhbXAgY2FsY3VsYXRpb24gcGFyYW1ldGVycyAqLwo+PiDCoMKgwqDCoMKgwqDCoMKgwqAg LyogUmVzZXQgY2xhbXAgdmFsdWUgc2VsIGZvciBwcmV2aW91cyBsaW5lICovCj4+IMKgwqDCoMKg wqDCoMKgwqDCoCB2YWwgfD0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0v ZGF2aW5jaS92cGJlLmMgCj4+IGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9kYXZpbmNpL3ZwYmUu Ywo+PiBpbmRleCA0NzY2YTdhMjNkMTYuLjgzMzkxNjNhNTIzMSAxMDA2NDQKPj4gLS0tIGEvZHJp dmVycy9tZWRpYS9wbGF0Zm9ybS9kYXZpbmNpL3ZwYmUuYwo+PiArKysgYi9kcml2ZXJzL21lZGlh L3BsYXRmb3JtL2RhdmluY2kvdnBiZS5jCj4+IEBAIC0yNDIsNyArMjQyLDcgQEAgc3RhdGljIGlu dCB2cGJlX3NldF9vdXRwdXQoc3RydWN0IHZwYmVfZGV2aWNlIAo+PiAqdnBiZV9kZXYsIGludCBp bmRleCkKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGdvdG8gdW5sb2NrOwo+PiDCoMKgwqDCoMKgIC8q Cj4+IC3CoMKgwqDCoCAqIEl0IGlzIGFzc3VtZWQgdGhhdCB2ZW5jIG9yIGV4dGVuYWwgZW5jb2Rl ciB3aWxsIHNldCBhIGRlZmF1bHQKPj4gK8KgwqDCoMKgICogSXQgaXMgYXNzdW1lZCB0aGF0IHZl bmMgb3IgZXh0ZXJuYWwgZW5jb2RlciB3aWxsIHNldCBhIGRlZmF1bHQKPj4gwqDCoMKgwqDCoMKg ICogbW9kZSBpbiB0aGUgc3ViIGRldmljZS4gRm9yIGV4dGVybmFsIGVuY29kZXIgb3IgTENEIHBh bm5lbCAKPj4gb3V0cHV0LAo+PiDCoMKgwqDCoMKgwqAgKiB3ZSBhbHNvIG5lZWQgdG8gc2V0IHVw IHRoZSBsY2QgcG9ydCBmb3IgdGhlIHJlcXVpcmVkIG1vZGUuIFNvIAo+PiBzZXR1cAo+PiDCoMKg wqDCoMKgwqAgKiB0aGUgbGNkIHBvcnQgZm9yIHRoZSBkZWZhdWx0IG1vZGUgdGhhdCBpcyBjb25m aWd1cmVkIGluIHRoZSAKPj4gYm9hcmQKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxh dGZvcm0vZGF2aW5jaS92cGlmLmMgCj4+IGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9kYXZpbmNp L3ZwaWYuYwo+PiBpbmRleCAxNjM1MmUyMjYzZDIuLmRmNjY0NjFmNWQ0ZiAxMDA2NDQKPj4gLS0t IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9kYXZpbmNpL3ZwaWYuYwo+PiArKysgYi9kcml2ZXJz L21lZGlhL3BsYXRmb3JtL2RhdmluY2kvdnBpZi5jCj4+IEBAIC0xLDcgKzEsNyBAQAo+PiDCoCAv Kgo+PiDCoMKgICogdnBpZiAtIFZpZGVvIFBvcnQgSW50ZXJmYWNlIGRyaXZlcgo+PiDCoMKgICog VlBJRiBpcyBhIHJlY2VpdmVyIGFuZCB0cmFuc21pdHRlciBmb3IgdmlkZW8gZGF0YS4gSXQgaGFz IHR3byAKPj4gY2hhbm5lbHMoMCwgMSkKPj4gLSAqIHRoYXQgcmVjZWl2ZWluZyB2aWRlbyBieXRl IHN0cmVhbSBhbmQgdHdvIGNoYW5uZWxzKDIsIDMpIGZvciB2aWRlbyAKPj4gb3V0cHV0Lgo+PiAr ICogdGhhdCByZWNlaXZpbmcgdmlkZW8gYnl0ZSBzdHJlYW0gYW5kIHR3byBjaGFubmVscygyLCAz KSBmb3IgdmlkZW8gCj4+IG91dHB1dC4KPj4gwqDCoCAqIFRoZSBoYXJkd2FyZSBzdXBwb3J0cyBT RFRWLCBIRFRWIGZvcm1hdHMsIHJhdyBkYXRhIGNhcHR1cmUuCj4+IMKgwqAgKiBDdXJyZW50bHks IHRoZSBkcml2ZXIgc3VwcG9ydHMgTlRTQyBhbmQgUEFMIHN0YW5kYXJkcy4KPj4gwqDCoCAqCj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2RhdmluY2kvdnBpZl9kaXNwbGF5 LmMgCj4+IGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9kYXZpbmNpL3ZwaWZfZGlzcGxheS5jCj4+ IGluZGV4IDM1MTc0ODdkOTc2MC4uZjRiNGYyYTFkZmMwIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJz L21lZGlhL3BsYXRmb3JtL2RhdmluY2kvdnBpZl9kaXNwbGF5LmMKPj4gKysrIGIvZHJpdmVycy9t ZWRpYS9wbGF0Zm9ybS9kYXZpbmNpL3ZwaWZfZGlzcGxheS5jCj4+IEBAIC0xMzgsNyArMTM4LDcg QEAgc3RhdGljIGludCB2cGlmX2J1ZmZlcl9xdWV1ZV9zZXR1cChzdHJ1Y3QgCj4+IHZiMl9xdWV1 ZSAqdnEsCj4+IMKgwqAgKiB2cGlmX2J1ZmZlcl9xdWV1ZSA6IENhbGxiYWNrIGZ1bmN0aW9uIHRv IGFkZCBidWZmZXIgdG8gRE1BIHF1ZXVlCj4+IMKgwqAgKiBAdmI6IHB0ciB0byB2YjJfYnVmZmVy Cj4+IMKgwqAgKgo+PiAtICogVGhpcyBjYWxsYmFjayBmdWNudGlvbiBxdWV1ZXMgdGhlIGJ1ZmZl ciB0byBETUEgZW5naW5lCj4+ICsgKiBUaGlzIGNhbGxiYWNrIGZ1bmN0aW9uIHF1ZXVlcyB0aGUg YnVmZmVyIHRvIERNQSBlbmdpbmUKPj4gwqDCoCAqLwo+PiDCoCBzdGF0aWMgdm9pZCB2cGlmX2J1 ZmZlcl9xdWV1ZShzdHJ1Y3QgdmIyX2J1ZmZlciAqdmIpCj4+IMKgIHsKPj4gQEAgLTYzNSw3ICs2 MzUsNyBAQCBzdGF0aWMgaW50IHZwaWZfdHJ5X2ZtdF92aWRfb3V0KHN0cnVjdCBmaWxlICpmaWxl LCAKPj4gdm9pZCAqcHJpdiwKPj4gwqDCoMKgwqDCoCBzdHJ1Y3QgdjRsMl9waXhfZm9ybWF0ICpw aXhmbXQgPSAmZm10LT5mbXQucGl4Owo+PiDCoMKgwqDCoMKgIC8qCj4+IC3CoMKgwqDCoCAqIHRv IHN1cHJlc3MgdjRsLWNvbXBsaWFuY2Ugd2FybmluZ3Mgc2lsZW50bHkgY29ycmVjdAo+PiArwqDC oMKgwqAgKiB0byBzdXBwcmVzcyB2NGwtY29tcGxpYW5jZSB3YXJuaW5ncyBzaWxlbnRseSBjb3Jy ZWN0Cj4+IMKgwqDCoMKgwqDCoCAqIHRoZSBwaXhlbGZvcm1hdAo+PiDCoMKgwqDCoMKgwqAgKi8K Pj4gwqDCoMKgwqDCoCBpZiAocGl4Zm10LT5waXhlbGZvcm1hdCAhPSBWNEwyX1BJWF9GTVRfWVVW NDIyUCkKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vZXh5bm9zNC1pcy9m aW1jLWlzLWNvbW1hbmQuaCAKPj4gYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQtaXMv ZmltYy1pcy1jb21tYW5kLmgKPj4gaW5kZXggMGQxZjUyZTM5NGIxLi5iMDZiNTZiODkwZDUgMTAw NjQ0Cj4+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vZXh5bm9zNC1pcy9maW1jLWlzLWNv bW1hbmQuaAo+PiArKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQtaXMvZmltYy1p cy1jb21tYW5kLmgKPj4gQEAgLTE4LDcgKzE4LDcgQEAKPj4gwqAgI2RlZmluZSBGSU1DX0lTX0NP TU1BTkRfVkVSwqDCoMKgIDExMCAvKiBGSU1DLUlTIGNvbW1hbmQgc2V0IHZlcnNpb24gCj4+IDEu MTAgKi8KPj4gLS8qIEVudW1lcmF0aW9uIG9mIGNvbW1hbmRzIGJlZXR3ZWVuIHRoZSBGSU1DLUlT IGFuZCB0aGUgaG9zdCAKPj4gcHJvY2Vzc29yLiAqLwo+PiArLyogRW51bWVyYXRpb24gb2YgY29t bWFuZHMgYmV0d2VlbiB0aGUgRklNQy1JUyBhbmQgdGhlIGhvc3QgCj4+IHByb2Nlc3Nvci4gKi8K Pj4gwqAgLyogSE9TVCB0byBGSU1DLUlTICovCj4+IMKgICNkZWZpbmUgSElDX1BSRVZJRVdfU1RJ TEzCoMKgwqAgMHgwMDAxCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4 eW5vczQtaXMvZmltYy1pcy1wYXJhbS5oIAo+PiBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vZXh5 bm9zNC1pcy9maW1jLWlzLXBhcmFtLmgKPj4gaW5kZXggOGUzMWY3NjQyNzc2Li4yMjkyM2EzZDQw NWUgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vZXh5bm9zNC1pcy9maW1j LWlzLXBhcmFtLmgKPj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9leHlub3M0LWlzL2Zp bWMtaXMtcGFyYW0uaAo+PiBAQCAtMjk4LDcgKzI5OCw3IEBAIGVudW0gaXNwX2FmX21vZGUgewo+ PiDCoCAjZGVmaW5lIElTUF9GTEFTSF9DT01NQU5EX0FVVE/CoMKgwqDCoMKgwqDCoMKgwqDCoMKg IDIKPj4gwqAgI2RlZmluZSBJU1BfRkxBU0hfQ09NTUFORF9UT1JDSMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgMyAvKiAzIHNlYyAqLwo+PiAtLyogRmxhc2ggcmVkLWV5ZSBjb21tYWRzICovCj4+ICsv KiBGbGFzaCByZWQtZXllIGNvbW1hbmRzICovCj4+IMKgICNkZWZpbmUgSVNQX0ZMQVNIX1JFREVZ RV9ESVNBQkxFwqDCoMKgwqDCoMKgwqAgMAo+PiDCoCAjZGVmaW5lIElTUF9GTEFTSF9SRURFWUVf RU5BQkxFwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21l ZGlhL3BsYXRmb3JtL2V4eW5vczQtaXMvbWVkaWEtZGV2LmggCj4+IGIvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9leHlub3M0LWlzL21lZGlhLWRldi5oCj4+IGluZGV4IDlmNTI3NjcwMzk1YS4uYTdj OTQ5MGJiY2I0IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQt aXMvbWVkaWEtZGV2LmgKPj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9leHlub3M0LWlz L21lZGlhLWRldi5oCj4+IEBAIC03OSw3ICs3OSw3IEBAIHN0cnVjdCBmaW1jX2NhbWNsa19pbmZv IHsKPj4gwqAgLyoqCj4+IMKgwqAgKiBzdHJ1Y3QgZmltY19zZW5zb3JfaW5mbyAtIGltYWdlIGRh dGEgc291cmNlIHN1YmRldiBpbmZvcm1hdGlvbgo+PiAtICogQHBkYXRhOiBzZW5zb3IncyBhdHJy aWJ1dGVzIHBhc3NlZCBhcyBtZWRpYSBkZXZpY2UncyBwbGF0Zm9ybSBkYXRhCj4+ICsgKiBAcGRh dGE6IHNlbnNvcidzIGF0dHJpYnV0ZXMgcGFzc2VkIGFzIG1lZGlhIGRldmljZSdzIHBsYXRmb3Jt IGRhdGEKPj4gwqDCoCAqIEBhc2Q6IGFzeW5jaHJvbm91cyBzdWJkZXYgcmVnaXN0cmF0aW9uIGRh dGEgc3RydWN0dXJlCj4+IMKgwqAgKiBAc3ViZGV2OiBpbWFnZSBzZW5zb3IgdjRsMiBzdWJkZXYK Pj4gwqDCoCAqIEBob3N0OiBmaW1jIGRldmljZSB0aGUgc2Vuc29yIGlzIGN1cnJlbnRseSBsaW5r ZWQgdG8KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vZXh5bm9zNC1pcy9t aXBpLWNzaXMuYyAKPj4gYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQtaXMvbWlwaS1j c2lzLmMKPj4gaW5kZXggMzVjYjAxNjIwODViLi4yMzRlMDQ3ZTNlOGYgMTAwNjQ0Cj4+IC0tLSBh L2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vZXh5bm9zNC1pcy9taXBpLWNzaXMuYwo+PiArKysgYi9k cml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQtaXMvbWlwaS1jc2lzLmMKPj4gQEAgLTE4Myw3 ICsxODMsNyBAQCBzdHJ1Y3QgY3Npc19kcnZkYXRhIHsKPj4gwqDCoCAqIEBpbmRleDogdGhlIGhh cmR3YXJlIGluc3RhbmNlIGluZGV4Cj4+IMKgwqAgKiBAcGRldjogQ1NJUyBwbGF0Zm9ybSBkZXZp Y2UKPj4gwqDCoCAqIEBwaHk6IHBvaW50ZXIgdG8gdGhlIENTSVMgZ2VuZXJpYyBQSFkKPj4gLSAq IEByZWdzOiBtbWFwZWQgSS9PIHJlZ2lzdGVycyBtZW1vcnkKPj4gKyAqIEByZWdzOiBtbWFwcGVk IEkvTyByZWdpc3RlcnMgbWVtb3J5Cj4+IMKgwqAgKiBAc3VwcGxpZXM6IENTSVMgcmVndWxhdG9y IHN1cHBsaWVzCj4+IMKgwqAgKiBAY2xvY2s6IENTSVMgY2xvY2tzCj4+IMKgwqAgKiBAaXJxOiBy ZXF1ZXN0ZWQgczVwLW1pcGktY3NpcyBpcnEgbnVtYmVyCj4+IEBAIC03NDUsNyArNzQ1LDcgQEAg c3RhdGljIGludCBzNXBjc2lzX3BhcnNlX2R0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgCj4+ICpw ZGV2LAo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgZ290byBlcnI7Cj4+IMKgwqDCoMKgwqAgfQo+PiAt wqDCoMKgIC8qIEdldCBNSVBJIENTSS0yIGJ1cyBjb25maWdyYXRpb24gZnJvbSB0aGUgZW5kcG9p bnQgbm9kZS4gKi8KPj4gK8KgwqDCoCAvKiBHZXQgTUlQSSBDU0ktMiBidXMgY29uZmlndXJhdGlv biBmcm9tIHRoZSBlbmRwb2ludCBub2RlLiAqLwo+PiDCoMKgwqDCoMKgIG9mX3Byb3BlcnR5X3Jl YWRfdTMyKG5vZGUsICJzYW1zdW5nLGNzaXMtaHMtc2V0dGxlIiwKPj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZzdGF0ZS0+aHNfc2V0dGxlKTsKPj4gwqDCoMKg wqDCoCBzdGF0ZS0+d2Nsa19leHQgPSBvZl9wcm9wZXJ0eV9yZWFkX2Jvb2wobm9kZSwKPj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbWFydmVsbC1jY2ljL21tcC1kcml2ZXIu YyAKPj4gYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL21hcnZlbGwtY2NpYy9tbXAtZHJpdmVyLmMK Pj4gaW5kZXggNzBhMjgzM2RiMGQxLi5hZjc2ZWI2Mzc3NzMgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZl cnMvbWVkaWEvcGxhdGZvcm0vbWFydmVsbC1jY2ljL21tcC1kcml2ZXIuYwo+PiArKysgYi9kcml2 ZXJzL21lZGlhL3BsYXRmb3JtL21hcnZlbGwtY2NpYy9tbXAtZHJpdmVyLmMKPj4gQEAgLTI0MCw4 ICsyNDAsOCBAQCBzdGF0aWMgdm9pZCBtbXBjYW1fY2FsY19kcGh5KHN0cnVjdCBtY2FtX2NhbWVy YSAKPj4gKm1jYW0pCj4+IMKgwqDCoMKgwqDCoCAqwqAgYml0IDggfiBiaXQgMTU6IEhTX1NFVFRM RQo+PiDCoMKgwqDCoMKgwqAgKsKgwqAgVGltZSBpbnRlcnZhbCBkdXJpbmcgd2hpY2ggdGhlIEhT Cj4+IMKgwqDCoMKgwqDCoCAqwqDCoCByZWNlaXZlciBzaGFsbCBpZ25vcmUgYW55IERhdGEgTGFu ZQo+PiAtwqDCoMKgwqAgKsKgwqAgSFMgdHJhbnNpc3Rpb25zLgo+PiAtwqDCoMKgwqAgKsKgwqAg VGhlIHZhdWxlIGhhcyBiZWVuIGNhbGlicmF0ZWQgb24KPj4gK8KgwqDCoMKgICrCoMKgIEhTIHRy YW5zaXRpb25zLgo+PiArwqDCoMKgwqAgKsKgwqAgVGhlIHZhbHVlIGhhcyBiZWVuIGNhbGlicmF0 ZWQgb24KPj4gwqDCoMKgwqDCoMKgICrCoMKgIGRpZmZlcmVudCBib2FyZHMuIEl0IHNlZW1zIHRv IHdvcmsgd2VsbC4KPj4gwqDCoMKgwqDCoMKgICoKPj4gwqDCoMKgwqDCoMKgICrCoCBNb3JlIGRl dGFpbCBwbGVhc2UgcmVmZXIKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0v bXRrLW1kcC9tdGtfbWRwX2NvcmUuaCAKPj4gYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1t ZHAvbXRrX21kcF9jb3JlLmgKPj4gaW5kZXggYWQxY2ZmMzA2ZWZkLi5lNWFiYjFhYmIzYTMgMTAw NjQ0Cj4+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcC9tdGtfbWRwX2NvcmUu aAo+PiArKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1tZHAvbXRrX21kcF9jb3JlLmgK Pj4gQEAgLTQxLDcgKzQxLDcgQEAKPj4gwqAgI2RlZmluZSBNVEtfTURQX0NUWF9FUlJPUsKgwqDC oMKgwqDCoMKgIEJJVCg1KQo+PiDCoCAvKioKPj4gLSAqwqAgc3RydWN0IG10a19tZHBfcGl4X2Fs aWduIC0gYWxpZ25lbWVudCBvZiBpbWFnZQo+PiArICrCoCBzdHJ1Y3QgbXRrX21kcF9waXhfYWxp Z24gLSBhbGlnbm1lbnQgb2YgaW1hZ2UKPj4gwqDCoCAqwqAgQG9yZ193OiBzb3VyY2UgYWxpZ25t ZW50IG9mIHdpZHRoCj4+IMKgwqAgKsKgIEBvcmdfaDogc291cmNlIGFsaWdubWVudCBvZiBoZWln aHQKPj4gwqDCoCAqwqAgQHRhcmdldF93OiBkc3QgYWxpZ25tZW50IG9mIHdpZHRoCj4+IEBAIC0x MjIsOCArMTIyLDggQEAgc3RydWN0IG10a19tZHBfZnJhbWUgewo+PiDCoCAvKioKPj4gwqDCoCAq IHN0cnVjdCBtdGtfbWRwX3ZhcmlhbnQgLSBpbWFnZSBwcm9jZXNzb3IgdmFyaWFudCBpbmZvcm1h dGlvbgo+PiDCoMKgICogQHBpeF9tYXg6wqDCoMKgwqDCoMKgwqAgbWF4aW11bSBsaW1pdCBvZiBp bWFnZSBzaXplCj4+IC0gKiBAcGl4X21pbjrCoMKgwqDCoMKgwqDCoCBtaW5pbXVuIGxpbWl0IG9m IGltYWdlIHNpemUKPj4gLSAqIEBwaXhfYWxpZ246wqDCoMKgwqDCoMKgwqAgYWxpZ25lbWVudCBv ZiBpbWFnZQo+PiArICogQHBpeF9taW46wqDCoMKgwqDCoMKgwqAgbWluaW11bSBsaW1pdCBvZiBp bWFnZSBzaXplCj4+ICsgKiBAcGl4X2FsaWduOsKgwqDCoMKgwqDCoMKgIGFsaWdubWVudCBvZiBp bWFnZQo+PiDCoMKgICogQGhfc2NhbGVfdXBfbWF4OsKgwqDCoCBtYXhpbXVtIHNjYWxlLXVwIGlu IGhvcml6b250YWwKPj4gwqDCoCAqIEB2X3NjYWxlX3VwX21heDrCoMKgwqAgbWF4aW11bSBzY2Fs ZS11cCBpbiB2ZXJ0aWNhbAo+PiDCoMKgICogQGhfc2NhbGVfZG93bl9tYXg6wqDCoMKgIG1heGlt dW0gc2NhbGUtZG93biBpbiBob3Jpem9udGFsCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlh L3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19kZWMuYyAKPj4gYi9kcml2ZXJzL21lZGlh L3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19kZWMuYwo+PiBpbmRleCBiYTYxOTY0N2Jj MTAuLjc5NGFiYTY4NTEyMCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9t dGstdmNvZGVjL210a192Y29kZWNfZGVjLmMKPj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS9tdGstdmNvZGVjL210a192Y29kZWNfZGVjLmMKPj4gQEAgLTExNzAsNyArMTE3MCw3IEBAIHN0 YXRpYyB2b2lkIHZiMm9wc192ZGVjX2J1Zl9xdWV1ZShzdHJ1Y3QgCj4+IHZiMl9idWZmZXIgKnZi KQo+PiDCoMKgwqDCoMKgIHJldCA9IHZkZWNfaWZfZGVjb2RlKGN0eCwgJnNyY19tZW0sIE5VTEws ICZyZXNfY2hnKTsKPj4gwqDCoMKgwqDCoCBpZiAocmV0IHx8ICFyZXNfY2hnKSB7Cj4+IMKgwqDC oMKgwqDCoMKgwqDCoCAvKgo+PiAtwqDCoMKgwqDCoMKgwqDCoCAqIGZiID09IE5VTEwgbWVuYXMg dG8gcGFyc2UgU1BTL1BQUyBoZWFkZXIgb3IKPj4gK8KgwqDCoMKgwqDCoMKgwqAgKiBmYiA9PSBO VUxMIG1lYW5zIHRvIHBhcnNlIFNQUy9QUFMgaGVhZGVyIG9yCj4+IMKgwqDCoMKgwqDCoMKgwqDC oMKgICogcmVzb2x1dGlvbiBpbmZvIGluIHNyY19tZW0uIERlY29kZSBjYW4gZmFpbAo+PiDCoMKg wqDCoMKgwqDCoMKgwqDCoCAqIGlmIHRoZXJlIGlzIG5vIFNQUyBoZWFkZXIgb3IgcGljdHVyZSBp bmZvCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgICogaW4gYnMKPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2Rydi5oIAo+PiBiL2RyaXZl cnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2Rydi5oCj4+IGluZGV4IDhh YmE2OTU1NWIxMi4uZTdlMmExMDhkZWY5IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL21lZGlhL3Bs YXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19kcnYuaAo+PiArKysgYi9kcml2ZXJzL21lZGlh L3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19kcnYuaAo+PiBAQCAtMTUxLDkgKzE1MSw5 IEBAIHN0cnVjdCBtdGtfcV9kYXRhIHsKPj4gwqDCoCAqIEBpbnRyYV9wZXJpb2Q6IEkgZnJhbWUg cGVyaW9kCj4+IMKgwqAgKiBAZ29wX3NpemU6IGdyb3VwIG9mIHBpY3R1cmUgc2l6ZSwgaXQncyB1 c2VkIGFzIHRoZSBpbnRyYSBmcmFtZSAKPj4gcGVyaW9kCj4+IMKgwqAgKiBAZnJhbWVyYXRlX251 bTogZnJhbWUgcmF0ZSBudW1lcmF0b3IuIGV4OiBmcmFtZXJhdGVfbnVtPTMwIGFuZAo+PiAtICrC oMKgwqDCoMKgwqDCoMKgwqDCoCBmcmFtZXJhdGVfZGVub209MSBtZW5hcyBGUFMgaXMgMzAKPj4g KyAqwqDCoMKgwqDCoMKgwqDCoMKgwqAgZnJhbWVyYXRlX2Rlbm9tPTEgbWVhbnMgRlBTIGlzIDMw Cj4+IMKgwqAgKiBAZnJhbWVyYXRlX2Rlbm9tOiBmcmFtZSByYXRlIGRlbm9taW5hdG9yLiBleDog ZnJhbWVyYXRlX251bT0zMCBhbmQKPj4gLSAqwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZyYW1l cmF0ZV9kZW5vbT0xIG1lbmFzIEZQUyBpcyAzMAo+PiArICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgZnJhbWVyYXRlX2Rlbm9tPTEgbWVhbnMgRlBTIGlzIDMwCj4+IMKgwqAgKiBAaDI2NF9tYXhf cXA6IE1heCB2YWx1ZSBmb3IgSC4yNjQgcXVhbnRpemF0aW9uIHBhcmFtZXRlcgo+PiDCoMKgICog QGgyNjRfcHJvZmlsZTogVjRMMiBkZWZpbmVkIEguMjY0IHByb2ZpbGUKPj4gwqDCoCAqIEBoMjY0 X2xldmVsOiBWNEwyIGRlZmluZWQgSC4yNjQgbGV2ZWwKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv bWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2VuYy5jIAo+PiBiL2RyaXZlcnMv bWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2VuYy5jCj4+IGluZGV4IGQxZjEy MjU3YmY2Ni4uMmFmNjU0MjQwZDk2IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRm b3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmMuYwo+PiArKysgYi9kcml2ZXJzL21lZGlhL3Bs YXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmMuYwo+PiBAQCAtMzkzLDcgKzM5Myw3IEBA IHN0YXRpYyB2b2lkIG10a192ZW5jX3NldF9wYXJhbShzdHJ1Y3QgCj4+IG10a192Y29kZWNfY3R4 ICpjdHgsCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBwYXJhbS0+aW5wdXRfeXV2X2ZtdCA9IFZFTkNf WVVWX0ZPUk1BVF9OVjIxOwo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgYnJlYWs7Cj4+IMKgwqDCoMKg wqAgZGVmYXVsdDoKPj4gLcKgwqDCoMKgwqDCoMKgIG10a192NGwyX2VycigiVW5zdXBwb3J0IGZv dXJjYyA9JWQiLCBxX2RhdGFfc3JjLT5mbXQtPmZvdXJjYyk7Cj4+ICvCoMKgwqDCoMKgwqDCoCBt dGtfdjRsMl9lcnIoIlVuc3VwcG9ydGVkIGZvdXJjYyA9JWQiLCBxX2RhdGFfc3JjLT5mbXQtPmZv dXJjYyk7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBicmVhazsKPj4gwqDCoMKgwqDCoCB9Cj4+IMKg wqDCoMKgwqAgcGFyYW0tPmgyNjRfcHJvZmlsZSA9IGVuY19wYXJhbXMtPmgyNjRfcHJvZmlsZTsK Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy92ZGVjL3Zk ZWNfaDI2NF9pZi5jIAo+PiBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy92ZGVj L3ZkZWNfaDI2NF9pZi5jCj4+IGluZGV4IGFhM2NlNDE4OThiYy4uMDJjOTYwYzYzYWMwIDEwMDY0 NAo+PiAtLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvdmRlYy92ZGVjX2gy NjRfaWYuYwo+PiArKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvdmRlYy92 ZGVjX2gyNjRfaWYuYwo+PiBAQCAtNTUsNyArNTUsNyBAQCBzdHJ1Y3QgaDI2NF9mYiB7Cj4+IMKg IC8qKgo+PiDCoMKgICogc3RydWN0IGgyNjRfcmluZ19mYl9saXN0IC0gcmluZyBmcmFtZSBidWZm ZXIgbGlzdAo+PiAtICogQGZiX2xpc3TCoMKgIDogZnJhbWUgYnVmZmVyIGFycmFyeQo+PiArICog QGZiX2xpc3TCoMKgIDogZnJhbWUgYnVmZmVyIGFycmF5Cj4+IMKgwqAgKiBAcmVhZF9pZHjCoCA6 IHJlYWQgaW5kZXgKPj4gwqDCoCAqIEB3cml0ZV9pZHggOiB3cml0ZSBpbmRleAo+PiDCoMKgICog QGNvdW50wqDCoMKgwqAgOiBidWZmZXIgY291bnQgaW4gbGlzdAo+PiBAQCAtNzIsNyArNzIsNyBA QCBzdHJ1Y3QgaDI2NF9yaW5nX2ZiX2xpc3Qgewo+PiDCoCAvKioKPj4gwqDCoCAqIHN0cnVjdCB2 ZGVjX2gyNjRfZGVjX2luZm8gLSBkZWNvZGUgaW5mb3JtYXRpb24KPj4gwqDCoCAqIEBkcGJfc3rC oMKgwqDCoMKgwqDCoCA6IGRlY29kaW5nIHBpY3R1cmUgYnVmZmVyIHNpemUKPj4gLSAqIEByZXNv bHV0aW9uX2NoYW5nZWTCoCA6IHJlc29sdGlvbiBjaGFuZ2UgaGFwcGVuCj4+ICsgKiBAcmVzb2x1 dGlvbl9jaGFuZ2VkwqAgOiByZXNvbHV0aW9uIGNoYW5nZSBoYXBwZW4KPj4gwqDCoCAqIEByZWFs bG9jX212X2J1ZsKgwqDCoCA6IGZsYWcgdG8gbm90aWZ5IGRyaXZlciB0byByZS1hbGxvY2F0ZSBt diBidWZmZXIKPj4gwqDCoCAqIEByZXNlcnZlZMKgwqDCoMKgwqDCoMKgIDogZm9yIDggYnl0ZXMg YWxpZ25tZW50Cj4+IMKgwqAgKiBAYnNfZG1hwqDCoMKgwqDCoMKgwqAgOiBJbnB1dCBiaXQtc3Ry ZWFtIGJ1ZmZlciBkbWEgYWRkcmVzcwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0 Zm9ybS9tdGstdmNvZGVjL3ZkZWMvdmRlY192cDhfaWYuYyAKPj4gYi9kcml2ZXJzL21lZGlhL3Bs YXRmb3JtL210ay12Y29kZWMvdmRlYy92ZGVjX3ZwOF9pZi5jCj4+IGluZGV4IDNlODRhNzYxZGIz YS4uYmFjMzcyMzAzOGRlIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210 ay12Y29kZWMvdmRlYy92ZGVjX3ZwOF9pZi5jCj4+ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZv cm0vbXRrLXZjb2RlYy92ZGVjL3ZkZWNfdnA4X2lmLmMKPj4gQEAgLTEyMCw3ICsxMjAsNyBAQCBz dHJ1Y3QgdmRlY192cDhfaHdfcmVnX2Jhc2Ugewo+PiDCoCAvKioKPj4gwqDCoCAqIHN0cnVjdCB2 ZGVjX3ZwOF92cHVfaW5zdCAtIFZQVSBpbnN0YW5jZSBmb3IgVlA4IGRlY29kZQo+PiDCoMKgICog QHdxX2hkwqDCoMKgIDogV2FpdCBxdWV1ZSB0byB3YWl0IFZQVSBtZXNzYWdlIGFjawo+PiAtICog QHNpZ25hbGVkwqDCoMKgIDogMSAtIEhvc3QgaGFzIHJlY2VpdmVkIGFjayBtZXNzYWdlIGZyb20g VlBVLCAwIC0gbm90IAo+PiByZWNldmllCj4+ICsgKiBAc2lnbmFsZWTCoMKgwqAgOiAxIC0gSG9z dCBoYXMgcmVjZWl2ZWQgYWNrIG1lc3NhZ2UgZnJvbSBWUFUsIDAgLSBub3QgCj4+IHJlY2VpdmUK Pj4gwqDCoCAqIEBmYWlsdXJlwqDCoMKgIDogVlBVIGV4ZWN1dGlvbiByZXN1bHQgc3RhdHVzIDAg LSBzdWNjZXNzLCBvdGhlcnMgLSBmYWlsCj4+IMKgwqAgKiBAaW5zdF9hZGRywqDCoMKgIDogVlBV IGRlY29kZXIgaW5zdGFuY2UgYWRkcmVzcwo+PiDCoMKgICovCj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvdmRlY19kcnZfaWYuaCAKPj4gYi9kcml2ZXJz L21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvdmRlY19kcnZfaWYuaAo+PiBpbmRleCBkZWQxMTU0 NDgxY2QuLjlhMjE1OTFmMzgxOCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS9tdGstdmNvZGVjL3ZkZWNfZHJ2X2lmLmgKPj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS9tdGstdmNvZGVjL3ZkZWNfZHJ2X2lmLmgKPj4gQEAgLTgwLDcgKzgwLDcgQEAgdm9pZCB2ZGVj X2lmX2RlaW5pdChzdHJ1Y3QgbXRrX3Zjb2RlY19jdHggKmN0eCk7Cj4+IMKgwqAgKiB2ZGVjX2lm X2RlY29kZSgpIC0gdHJpZ2dlciBkZWNvZGUKPj4gwqDCoCAqIEBjdHjCoMKgwqAgOiBbaW5dIHY0 bDIgY29udGV4dAo+PiDCoMKgICogQGJzwqDCoMKgIDogW2luXSBpbnB1dCBiaXRzdHJlYW0KPj4g LSAqIEBmYsKgwqDCoCA6IFtpbl0gZnJhbWUgYnVmZmVyIHRvIHN0b3JlIGRlY29kZWQgZnJhbWUs IHdoZW4gbnVsbCBtZW5hcyAKPj4gcGFyc2UKPj4gKyAqIEBmYsKgwqDCoCA6IFtpbl0gZnJhbWUg YnVmZmVyIHRvIHN0b3JlIGRlY29kZWQgZnJhbWUsIHdoZW4gbnVsbCBtZWFucyAKPj4gcGFyc2UK Pj4gwqDCoCAqwqDCoMKgIGhlYWRlciBvbmx5Cj4+IMKgwqAgKiBAcmVzX2NoZ8KgwqDCoCA6IFtv dXRdIHJlc29sdXRpb24gY2hhbmdlIGhhcHBlbnMgaWYgY3VycmVudCBicyBoYXZlIAo+PiBkaWZm ZXJlbnQKPj4gwqDCoCAqwqDCoMKgIHBpY3R1cmUgd2lkdGgvaGVpZ2h0Cj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvdmRlY192cHVfaWYuaCAKPj4gYi9k cml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvdmRlY192cHVfaWYuaAo+PiBpbmRleCBj ZDM3YmIyYTYxMGYuLjc5ZDhlYWM3ZjVlMiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9tdGstdmNvZGVjL3ZkZWNfdnB1X2lmLmgKPj4gKysrIGIvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9tdGstdmNvZGVjL3ZkZWNfdnB1X2lmLmgKPj4gQEAgLTYyLDcgKzYyLDcgQEAgaW50 IHZwdV9kZWNfc3RhcnQoc3RydWN0IHZkZWNfdnB1X2luc3QgKnZwdSwgCj4+IHVpbnQzMl90ICpk YXRhLCB1bnNpZ25lZCBpbnQgbGVuKTsKPj4gwqAgLyoqCj4+IMKgwqAgKiB2cHVfZGVjX2VuZCAt IGVuZCBkZWNvZGluZywgYmFzaWNhbGx5IHRoZSBmdW5jdGlvbiB3aWxsIGJlIAo+PiBpbnZva2Vk IG9uY2UKPj4gwqDCoCAqwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB3aGVuIEhXIGRlY29k aW5nIGRvbmUgaW50ZXJydXB0IHJlY2VpdmVkIAo+PiBzdWNjZXNzZnVsbHkuIFRoZQo+PiAtICrC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRlY29kZXIgaW4gVlBVIHdpbGwgY29udGludXRl IHRvIGRvIHJlZmVyZW5lIGZyYW1lIAo+PiBtYW5hZ2VtZW50Cj4+ICsgKsKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgZGVjb2RlciBpbiBWUFUgd2lsbCBjb250aW51ZSB0byBkbyByZWZlcmVu Y2UgZnJhbWUgCj4+IG1hbmFnZW1lbnQKPj4gwqDCoCAqwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBhbmQgY2hlY2sgaWYgdGhlcmUgaXMgYSBuZXcgZGVjb2RlZCBmcmFtZSBhdmFpbGFibGUg Cj4+IHRvIGRpc3BsYXkuCj4+IMKgwqAgKgo+PiDCoMKgICogQHZwdSA6IGluc3RhbmNlIGZvciB2 ZGVjX3ZwdV9pbnN0Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL29tYXAv b21hcF92b3V0LmMgCj4+IGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9vbWFwL29tYXBfdm91dC5j Cj4+IGluZGV4IGZmM2RlMmRjZTVhMi4uMzdmMGQ3MTQ2ZGZhIDEwMDY0NAo+PiAtLS0gYS9kcml2 ZXJzL21lZGlhL3BsYXRmb3JtL29tYXAvb21hcF92b3V0LmMKPj4gKysrIGIvZHJpdmVycy9tZWRp YS9wbGF0Zm9ybS9vbWFwL29tYXBfdm91dC5jCj4+IEBAIC0xMTI5LDcgKzExMjksNyBAQCBzdGF0 aWMgaW50IHZpZGlvY19zX2ZtdF92aWRfb3V0KHN0cnVjdCBmaWxlIAo+PiAqZmlsZSwgdm9pZCAq ZmgsCj4+IMKgwqDCoMKgwqAgfQo+PiDCoMKgwqDCoMKgIHRpbWluZyA9ICZkc3NkZXYtPnBhbmVs LnRpbWluZ3M7Cj4+IC3CoMKgwqAgLyogV2UgZG9udCBzdXBwb3J0IFJHQjI0LXBhY2tlZCBtb2Rl IGlmIHZyZmIgcm90YXRpb24KPj4gK8KgwqDCoCAvKiBXZSBkb24ndCBzdXBwb3J0IFJHQjI0LXBh Y2tlZCBtb2RlIGlmIHZyZmIgcm90YXRpb24KPj4gwqDCoMKgwqDCoMKgICogaXMgZW5hYmxlZCov Cj4+IMKgwqDCoMKgwqAgaWYgKChpc19yb3RhdGlvbl9lbmFibGVkKHZvdXQpKSAmJgo+PiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmLT5mbXQucGl4LnBpeGVsZm9ybWF0ID09IFY0TDJfUElY X0ZNVF9SR0IyNCkgewo+PiBAQCAtMTE0Nyw3ICsxMTQ3LDcgQEAgc3RhdGljIGludCB2aWRpb2Nf c19mbXRfdmlkX291dChzdHJ1Y3QgZmlsZSAKPj4gKmZpbGUsIHZvaWQgKmZoLAo+PiDCoMKgwqDC oMKgwqDCoMKgwqAgdm91dC0+ZmJ1Zi5mbXQud2lkdGggPSB0aW1pbmctPnhfcmVzOwo+PiDCoMKg wqDCoMKgIH0KPj4gLcKgwqDCoCAvKiBjaGFuZ2UgdG8gc2FtbGxlciBzaXplIGlzIE9LICovCj4+ ICvCoMKgwqAgLyogY2hhbmdlIHRvIHNtYWxsZXIgc2l6ZSBpcyBPSyAqLwo+PiDCoMKgwqDCoMKg IGJwcCA9IG9tYXBfdm91dF90cnlfZm9ybWF0KCZmLT5mbXQucGl4KTsKPj4gwqDCoMKgwqDCoCBm LT5mbXQucGl4LnNpemVpbWFnZSA9IGYtPmZtdC5waXgud2lkdGggKiBmLT5mbXQucGl4LmhlaWdo dCAqIGJwcDsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vb21hcC9vbWFw X3ZvdXRkZWYuaCAKPj4gYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL29tYXAvb21hcF92b3V0ZGVm LmgKPj4gaW5kZXggNTZiNjMwYjFjOGI0Li5jNzQwMzkzYzg1MDkgMTAwNjQ0Cj4+IC0tLSBhL2Ry aXZlcnMvbWVkaWEvcGxhdGZvcm0vb21hcC9vbWFwX3ZvdXRkZWYuaAo+PiArKysgYi9kcml2ZXJz L21lZGlhL3BsYXRmb3JtL29tYXAvb21hcF92b3V0ZGVmLmgKPj4gQEAgLTM3LDcgKzM3LDcgQEAK Pj4gwqAgI2RlZmluZSBWSURfTUFYX1dJRFRIwqDCoMKgwqDCoMKgwqAgMTI4MMKgwqDCoCAvKiBM YXJnZXN0IHdpZHRoICovCj4+IMKgICNkZWZpbmUgVklEX01BWF9IRUlHSFTCoMKgwqDCoMKgwqDC oCA3MjDCoMKgwqAgLyogTGFyZ2VzdCBoZWlnaHQgKi8KPj4gLS8qIE1pbWltdW0gcmVxdWlyZW1l bnQgaXMgMngyIGZvciBEU1MgKi8KPj4gKy8qIE1pbmltdW0gcmVxdWlyZW1lbnQgaXMgMngyIGZv ciBEU1MgKi8KPj4gwqAgI2RlZmluZSBWSURfTUlOX1dJRFRIwqDCoMKgwqDCoMKgwqAgMgo+PiDC oCAjZGVmaW5lIFZJRF9NSU5fSEVJR0hUwqDCoMKgwqDCoMKgwqAgMgo+PiBAQCAtMTM1LDcgKzEz NSw3IEBAIHN0cnVjdCBvbWFwX3ZvdXRfZGV2aWNlIHsKPj4gwqDCoMKgwqDCoCBlbnVtIG9tYXBf Y29sb3JfbW9kZSBkc3NfbW9kZTsKPj4gwqDCoMKgwqDCoCAvKiB3ZSBkb24ndCBhbGxvdyB0byBy ZXF1ZXN0IG5ldyBidWZmZXIgd2hlbiBvbGQgYnVmZmVycyBhcmUKPj4gLcKgwqDCoMKgICogc3Rp bGwgbW1hcGVkCj4+ICvCoMKgwqDCoCAqIHN0aWxsIG1tYXBwZWQKPj4gwqDCoMKgwqDCoMKgICov Cj4+IMKgwqDCoMKgwqAgaW50IG1tYXBfY291bnQ7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21l ZGlhL3BsYXRmb3JtL29tYXAzaXNwL2lzcC5jIAo+PiBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0v b21hcDNpc3AvaXNwLmMKPj4gaW5kZXggMTNmMjgyOGQ4ODBkLi5iZDU3MTc0ZDgxYTcgMTAwNjQ0 Cj4+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vb21hcDNpc3AvaXNwLmMKPj4gKysrIGIv ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9vbWFwM2lzcC9pc3AuYwo+PiBAQCAtMTUxNyw3ICsxNTE3 LDcgQEAgdm9pZCBvbWFwM2lzcF9wcmludF9zdGF0dXMoc3RydWN0IGlzcF9kZXZpY2UgKmlzcCkK Pj4gwqDCoCAqCj4+IMKgwqAgKiBUbyBzb2x2ZSB0aGlzIHByb2JsZW0gcG93ZXIgbWFuYWdlbWVu dCBzdXBwb3J0IGlzIHNwbGl0IGludG8gCj4+IHByZXBhcmUvY29tcGxldGUKPj4gwqDCoCAqIGFu ZCBzdXNwZW5kL3Jlc3VtZSBvcGVyYXRpb25zLiBUaGUgcGlwZWxpbmVzIGFyZSBzdG9wcGVkIGlu IAo+PiBwcmVwYXJlKCkgYW5kIHRoZQo+PiAtICogSVNQIGNsb2NrcyBnZXQgZGlzYWJsZWQgaW4g c3VzcGVuZCgpLiBTaW1pbGFybHksIHRoZSBjbG9ja3MgYXJlIAo+PiByZWVuYWJsZWQgaW4KPj4g KyAqIElTUCBjbG9ja3MgZ2V0IGRpc2FibGVkIGluIHN1c3BlbmQoKS4gU2ltaWxhcmx5LCB0aGUg Y2xvY2tzIGFyZSAKPj4gcmUtZW5hYmxlZCBpbgo+PiDCoMKgICogcmVzdW1lKCksIGFuZCB0aGUg dGhlIHBpcGVsaW5lcyBhcmUgcmVzdGFydGVkIGluIGNvbXBsZXRlKCkuCj4+IMKgwqAgKgo+PiDC oMKgICogVE9ETzogUE0gZGVwZW5kZW5jaWVzIGJldHdlZW4gdGhlIElTUCBhbmQgc2Vuc29ycyBh cmUgbm90IAo+PiBtb2RlbGxlZCBleHBsaWNpdGx5Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21l ZGlhL3BsYXRmb3JtL29tYXAzaXNwL2lzcGNjZGMuYyAKPj4gYi9kcml2ZXJzL21lZGlhL3BsYXRm b3JtL29tYXAzaXNwL2lzcGNjZGMuYwo+PiBpbmRleCAxNGExYzI0MDM3YzQuLjI2MWFkMTE3NWY5 OCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9vbWFwM2lzcC9pc3BjY2Rj LmMKPj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9vbWFwM2lzcC9pc3BjY2RjLmMKPj4g QEAgLTE1OTQsNyArMTU5NCw3IEBAIHN0YXRpYyBpbnQgY2NkY19pc3JfYnVmZmVyKHN0cnVjdCAK Pj4gaXNwX2NjZGNfZGV2aWNlICpjY2RjKQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIDA7 Cj4+IMKgwqDCoMKgwqAgLyogV2UncmUgaW4gY29udGludW91cyBtb2RlLCBhbmQgbWVtb3J5IHdy aXRlcyB3ZXJlIGRpc2FibGVkIGR1ZSAKPj4gdG8gYQo+PiAtwqDCoMKgwqAgKiBidWZmZXIgdW5k ZXJydW4uIFJlZW5hYmxlIHRoZW0gbm93IHRoYXQgd2UgaGF2ZSBhIGJ1ZmZlci4gVGhlIAo+PiBi dWZmZXIKPj4gK8KgwqDCoMKgICogYnVmZmVyIHVuZGVycnVuLiBSZS1lbmFibGUgdGhlbSBub3cg dGhhdCB3ZSBoYXZlIGEgYnVmZmVyLiBUaGUgCj4+IGJ1ZmZlcgo+PiDCoMKgwqDCoMKgwqAgKiBh ZGRyZXNzIGhhcyBiZWVuIHNldCBpbiBjY2RjX3ZpZGVvX3F1ZXVlLgo+PiDCoMKgwqDCoMKgwqAg Ki8KPj4gwqDCoMKgwqDCoCBpZiAoY2NkYy0+c3RhdGUgPT0gSVNQX1BJUEVMSU5FX1NUUkVBTV9D T05USU5VT1VTICYmIAo+PiBjY2RjLT51bmRlcnJ1bikgewo+PiBAQCAtMTcxMiw3ICsxNzEyLDcg QEAgc3RhdGljIHZvaWQgY2NkY192ZDFfaXNyKHN0cnVjdCBpc3BfY2NkY19kZXZpY2UgCj4+ICpj Y2RjKQo+PiDCoMKgwqDCoMKgwqAgKiBkYXRhIHRvIG1lbW9yeSB0aGUgQ0NEQyBhbmQgTFNDIGFy ZSBzdG9wcGVkIGltbWVkaWF0ZWx5IGJ1dAo+PiDCoMKgwqDCoMKgwqAgKiB3aXRob3V0IGNoYW5n ZSB0aGUgQ0NEQyBzdG9wcGluZyBzdGF0ZSBtYWNoaW5lLiBUaGUgQ0NEQwo+PiDCoMKgwqDCoMKg wqAgKiBzdG9wcGluZyBzdGF0ZSBtYWNoaW5lIHNob3VsZCBiZSB1c2VkIG9ubHkgd2hlbiB1c2Vy IHJlcXVlc3QKPj4gLcKgwqDCoMKgICogZm9yIHN0b3BwaW5nIGlzIHJlY2VpdmVkIChTSU5HTEVT SE9UIGlzIGFuIGV4ZXB0aW9uKS4KPj4gK8KgwqDCoMKgICogZm9yIHN0b3BwaW5nIGlzIHJlY2Vp dmVkIChTSU5HTEVTSE9UIGlzIGFuIGV4Y2VwdGlvbikuCj4+IMKgwqDCoMKgwqDCoCAqLwo+PiDC oMKgwqDCoMKgIHN3aXRjaCAoY2NkYy0+c3RhdGUpIHsKPj4gwqDCoMKgwqDCoCBjYXNlIElTUF9Q SVBFTElORV9TVFJFQU1fU0lOR0xFU0hPVDoKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEv cGxhdGZvcm0vb21hcDNpc3AvaXNwY3NpMi5jIAo+PiBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0v b21hcDNpc3AvaXNwY3NpMi5jCj4+IGluZGV4IDljMTgwZjYwN2JjYi4uZGE2NmVhNjViZTVkIDEw MDY0NAo+PiAtLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL29tYXAzaXNwL2lzcGNzaTIuYwo+ PiArKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL29tYXAzaXNwL2lzcGNzaTIuYwo+PiBAQCAt NzEwLDcgKzcxMCw3IEBAIHN0YXRpYyB2b2lkIGNzaTJfaXNyX2N0eChzdHJ1Y3QgaXNwX2NzaTJf ZGV2aWNlIAo+PiAqY3NpMiwKPj4gwqDCoMKgwqDCoCAvKiBTa2lwIGludGVycnVwdHMgdW50aWwg d2UgcmVhY2ggdGhlIGZyYW1lIHNraXAgY291bnQuIFRoZSBDU0kyIAo+PiB3aWxsIGJlCj4+IMKg wqDCoMKgwqDCoCAqIGF1dG9tYXRpY2FsbHkgZGlzYWJsZWQsIGFzIHRoZSBmcmFtZSBza2lwIGNv dW50IGhhcyBiZWVuIAo+PiBwcm9ncmFtbWVkCj4+IC3CoMKgwqDCoCAqIGluIHRoZSBDU0kyX0NU eF9DVFJMMTo6Q09VTlQgZmllbGQsIHNvIHJlZW5hYmxlIGl0Lgo+PiArwqDCoMKgwqAgKiBpbiB0 aGUgQ1NJMl9DVHhfQ1RSTDE6OkNPVU5UIGZpZWxkLCBzbyByZS1lbmFibGUgaXQuCj4+IMKgwqDC oMKgwqDCoCAqCj4+IMKgwqDCoMKgwqDCoCAqIEl0IHdvdWxkIGhhdmUgYmVlbiBuaWNlIHRvIHJl bHkgb24gdGhlIEZSQU1FX05VTUJFUiBpbnRlcnJ1cHQgCj4+IGluc3RlYWQKPj4gwqDCoMKgwqDC oMKgICogYnV0IGl0IHR1cm5lZCBvdXQgdGhhdCB0aGUgaW50ZXJydXB0IGlzIG9ubHkgZ2VuZXJh dGVkIHdoZW4gCj4+IHRoZSBDU0kyCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRm b3JtL3B4YV9jYW1lcmEuYyAKPj4gYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3B4YV9jYW1lcmEu Ywo+PiBpbmRleCAzY2YzYzYzOTBjYzguLjRmZTIyODc1MmE0MyAxMDA2NDQKPj4gLS0tIGEvZHJp dmVycy9tZWRpYS9wbGF0Zm9ybS9weGFfY2FtZXJhLmMKPj4gKysrIGIvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9weGFfY2FtZXJhLmMKPj4gQEAgLTE2MzEsNyArMTYzMSw3IEBAIHN0YXRpYyBpbnQg cHhhX2NhbWVyYV9zZXRfYnVzX3BhcmFtKHN0cnVjdCAKPj4gcHhhX2NhbWVyYV9kZXYgKnBjZGV2 KQo+PiDCoMKgwqDCoMKgIHBjZGV2LT5jaGFubmVscyA9IDE7Cj4+IC3CoMKgwqAgLyogTWFrZSBj aG9pc2VzLCBiYXNlZCBvbiBwbGF0Zm9ybSBwcmVmZXJlbmNlcyAqLwo+PiArwqDCoMKgIC8qIE1h a2UgY2hvaWNlcywgYmFzZWQgb24gcGxhdGZvcm0gcHJlZmVyZW5jZXMgKi8KPj4gwqDCoMKgwqDC oCBpZiAoKGNvbW1vbl9mbGFncyAmIFY0TDJfTUJVU19IU1lOQ19BQ1RJVkVfSElHSCkgJiYKPj4g wqDCoMKgwqDCoMKgwqDCoMKgIChjb21tb25fZmxhZ3MgJiBWNEwyX01CVVNfSFNZTkNfQUNUSVZF X0xPVykpIHsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChwY2Rldi0+cGxhdGZvcm1fZmxhZ3Mg JiBQWEFfQ0FNRVJBX0hTUCkKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0v cWNvbS92ZW51cy9jb3JlLmggCj4+IGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9xY29tL3ZlbnVz L2NvcmUuaAo+PiBpbmRleCA3OWM3ZTgxNmM3MDYuLjdhM2ZlYjVjZWUwMCAxMDA2NDQKPj4gLS0t IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9xY29tL3ZlbnVzL2NvcmUuaAo+PiArKysgYi9kcml2 ZXJzL21lZGlhL3BsYXRmb3JtL3Fjb20vdmVudXMvY29yZS5oCj4+IEBAIC0yMTksNyArMjE5LDcg QEAgc3RydWN0IHZlbnVzX2J1ZmZlciB7Cj4+IMKgICNkZWZpbmUgdG9fdmVudXNfYnVmZmVyKHB0 cinCoMKgwqAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IAo+PiB2ZW51c19idWZmZXIsIHZiKQo+ PiDCoCAvKioKPj4gLSAqIHN0cnVjdCB2ZW51c19pbnN0IC0gaG9sZHMgcGVyIGluc3RhbmNlIHBh cmFtZXJ0ZXJzCj4+ICsgKiBzdHJ1Y3QgdmVudXNfaW5zdCAtIGhvbGRzIHBlciBpbnN0YW5jZSBw YXJhbWV0ZXJzCj4+IMKgwqAgKgo+PiDCoMKgICogQGxpc3Q6wqDCoMKgIHVzZWQgZm9yIGF0dGFj aCBhbiBpbnN0YW5jZSB0byB0aGUgY29yZQo+PiDCoMKgICogQGxvY2s6wqDCoMKgIGluc3RhbmNl IGxvY2sKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcmNhci12aW4vcmNh ci1kbWEuYyAKPj4gYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3JjYXItdmluL3JjYXItZG1hLmMK Pj4gaW5kZXggYmViOTI0ODk5MmE0Li4yMjA3YTMxZDM1NWUgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZl cnMvbWVkaWEvcGxhdGZvcm0vcmNhci12aW4vcmNhci1kbWEuYwo+PiArKysgYi9kcml2ZXJzL21l ZGlhL3BsYXRmb3JtL3JjYXItdmluL3JjYXItZG1hLmMKPj4gQEAgLTY4MSw3ICs2ODEsNyBAQCBz dGF0aWMgaW50IHJ2aW5fc2V0dXAoc3RydWN0IHJ2aW5fZGV2ICp2aW4pCj4+IMKgwqDCoMKgwqDC oMKgwqDCoCBicmVhazsKPj4gwqDCoMKgwqDCoCB9Cj4+IC3CoMKgwqAgLyogRW5hYmxlIFZTWU5D IEZpZWxkIFRvb2dsZSBtb2RlIGFmdGVyIG9uZSBWU1lOQyBpbnB1dCAqLwo+PiArwqDCoMKgIC8q IEVuYWJsZSBWU1lOQyBGaWVsZCBUb2dnbGUgbW9kZSBhZnRlciBvbmUgVlNZTkMgaW5wdXQgKi8K Pj4gwqDCoMKgwqDCoCBpZiAodmluLT5pbmZvLT5tb2RlbCA9PSBSQ0FSX0dFTjMpCj4+IMKgwqDC oMKgwqDCoMKgwqDCoCBkbXIyID0gVk5ETVIyX0ZURVY7Cj4+IMKgwqDCoMKgwqAgZWxzZQo+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9yY2FyLXZpbi9yY2FyLXY0bDIuYyAK Pj4gYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3JjYXItdmluL3JjYXItdjRsMi5jCj4+IGluZGV4 IDdhMjg1MTc5MGI5MS4uN2NiZGNiZjliMDkwIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL21lZGlh L3BsYXRmb3JtL3JjYXItdmluL3JjYXItdjRsMi5jCj4+ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxh dGZvcm0vcmNhci12aW4vcmNhci12NGwyLmMKPj4gQEAgLTY2NSw3ICs2NjUsNyBAQCBzdGF0aWMg dm9pZCBydmluX21jX3RyeV9mb3JtYXQoc3RydWN0IHJ2aW5fZGV2ICp2aW4sCj4+IMKgwqDCoMKg wqDCoCAqIFRoZSBWNEwyIHNwZWNpZmljYXRpb24gY2xlYXJseSBkb2N1bWVudHMgdGhlIGNvbG9y c3BhY2UgZmllbGRzCj4+IMKgwqDCoMKgwqDCoCAqIGFzIGJlaW5nIHNldCBieSBkcml2ZXJzIGZv ciBjYXB0dXJlIGRldmljZXMuIFVzaW5nIHRoZSB2YWx1ZXMKPj4gwqDCoMKgwqDCoMKgICogc3Vw cGxpZWQgYnkgdXNlcnNwYWNlIHRodXMgd291bGRuJ3QgY29tcGx5IHdpdGggdGhlIEFQSS4gVW50 aWwKPj4gLcKgwqDCoMKgICogdGhlIEFQSSBpcyB1cGRhdGVkIGZvcmNlIGZpeGVkIHZhdWxlcy4K Pj4gK8KgwqDCoMKgICogdGhlIEFQSSBpcyB1cGRhdGVkIGZvcmNlIGZpeGVkIHZhbHVlcy4KPj4g wqDCoMKgwqDCoMKgICovCj4+IMKgwqDCoMKgwqAgcGl4LT5jb2xvcnNwYWNlID0gUlZJTl9ERUZB VUxUX0NPTE9SU1BBQ0U7Cj4+IMKgwqDCoMKgwqAgcGl4LT54ZmVyX2Z1bmMgPSBWNEwyX01BUF9Y RkVSX0ZVTkNfREVGQVVMVChwaXgtPmNvbG9yc3BhY2UpOwo+PiBAQCAtOTY0LDcgKzk2NCw3IEBA IHZvaWQgcnZpbl92NGwyX3VucmVnaXN0ZXIoc3RydWN0IHJ2aW5fZGV2ICp2aW4pCj4+IMKgwqDC oMKgwqAgdjRsMl9pbmZvKCZ2aW4tPnY0bDJfZGV2LCAiUmVtb3ZpbmcgJXNcbiIsCj4+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgdmlkZW9fZGV2aWNlX25vZGVfbmFtZSgmdmluLT52ZGV2KSk7Cj4+ IC3CoMKgwqAgLyogQ2hlY2tzIGludGVybmFseSBpZiB2ZGV2IGhhdmUgYmVlbiBpbml0IG9yIG5v dCAqLwo+PiArwqDCoMKgIC8qIENoZWNrcyBpbnRlcm5hbGx5IGlmIHZkZXYgaGF2ZSBiZWVuIGlu aXQgb3Igbm90ICovCj4+IMKgwqDCoMKgwqAgdmlkZW9fdW5yZWdpc3Rlcl9kZXZpY2UoJnZpbi0+ dmRldik7Cj4+IMKgIH0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcm9j a2NoaXAvcmdhL3JnYS1ody5jIAo+PiBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcm9ja2NoaXAv cmdhL3JnYS1ody5jCj4+IGluZGV4IDk2ZDFiMWIzZmU4ZS4uODQzZTUwZDE3YTcyIDEwMDY0NAo+ PiAtLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3JvY2tjaGlwL3JnYS9yZ2EtaHcuYwo+PiAr KysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3JvY2tjaGlwL3JnYS9yZ2EtaHcuYwo+PiBAQCAt MjU2LDcgKzI1Niw3IEBAIHN0YXRpYyB2b2lkIHJnYV9jbWRfc2V0X3RyYW5zX2luZm8oc3RydWN0 IHJnYV9jdHggCj4+ICpjdHgpCj4+IMKgwqDCoMKgwqAgfQo+PiDCoMKgwqDCoMKgIC8qCj4+IC3C oMKgwqDCoCAqIENhY2x1YXRlIHRoZSB1cC9kb3duIHNjYWxpbmcgbW9kZS9mYWN0b3IuCj4+ICvC oMKgwqDCoCAqIENhbGN1bGF0ZSB0aGUgdXAvZG93biBzY2FsaW5nIG1vZGUvZmFjdG9yLgo+PiDC oMKgwqDCoMKgwqAgKgo+PiDCoMKgwqDCoMKgwqAgKiBSR0EgdXNlZCB0byBzY2FsZSB0aGUgcGlj dHVyZSBmaXJzdCwgYW5kIHRoZW4gcm90YXRlIHNlY29uZCwKPj4gwqDCoMKgwqDCoMKgICogc28g d2UgbmVlZCB0byBzd2FwIHRoZSB3L2ggd2hlbiByb3RhdGUgZGVncmVlIGlzIDkwLzI3MC4KPj4g QEAgLTMwNCw3ICszMDQsNyBAQCBzdGF0aWMgdm9pZCByZ2FfY21kX3NldF90cmFuc19pbmZvKHN0 cnVjdCByZ2FfY3R4IAo+PiAqY3R4KQo+PiDCoMKgwqDCoMKgIH0KPj4gwqDCoMKgwqDCoCAvKgo+ PiAtwqDCoMKgwqAgKiBDYWNsdWF0ZSB0aGUgZnJhbWVidWZmZXIgdmlydHVhbCBzdHJpZGVzIGFu ZCBhY3RpdmUgc2l6ZSwKPj4gK8KgwqDCoMKgICogQ2FsY3VsYXRlIHRoZSBmcmFtZWJ1ZmZlciB2 aXJ0dWFsIHN0cmlkZXMgYW5kIGFjdGl2ZSBzaXplLAo+PiDCoMKgwqDCoMKgwqAgKiBub3RlIHRo YXQgdGhlIHN0ZXAgb2YgdmlyX3N0cmlkZSAvIHZpcl93aWR0aCBpcyA0IGJ5dGUgd29yZHMKPj4g wqDCoMKgwqDCoMKgICovCj4+IMKgwqDCoMKgwqAgc3JjX3Zpcl9pbmZvLmRhdGEudmlyX3N0cmlk ZSA9IGN0eC0+aW4uc3RyaWRlID4+IDI7Cj4+IEBAIC0zMTgsNyArMzE4LDcgQEAgc3RhdGljIHZv aWQgcmdhX2NtZF9zZXRfdHJhbnNfaW5mbyhzdHJ1Y3QgcmdhX2N0eCAKPj4gKmN0eCkKPj4gwqDC oMKgwqDCoCBkc3RfYWN0X2luZm8uZGF0YS5hY3Rfd2lkdGggPSBkc3RfdyAtIDE7Cj4+IMKgwqDC oMKgwqAgLyoKPj4gLcKgwqDCoMKgICogQ2FjbHVhdGUgdGhlIHNvdXJjZSBmcmFtZWJ1ZmZlciBi YXNlIGFkZHJlc3Mgd2l0aCBvZmZzZXQgcGl4ZWwuCj4+ICvCoMKgwqDCoCAqIENhbGN1bGF0ZSB0 aGUgc291cmNlIGZyYW1lYnVmZmVyIGJhc2UgYWRkcmVzcyB3aXRoIG9mZnNldCBwaXhlbC4KPj4g wqDCoMKgwqDCoMKgICovCj4+IMKgwqDCoMKgwqAgc3JjX29mZnNldHMgPSByZ2FfZ2V0X2FkZHJf b2Zmc2V0KCZjdHgtPmluLCBzcmNfeCwgc3JjX3ksCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3JjX3csIHNyY19oKTsKPj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbWVkaWEvcGxhdGZvcm0vczNjLWNhbWlmL2NhbWlmLWNvcmUuaCAKPj4gYi9kcml2ZXJz L21lZGlhL3BsYXRmb3JtL3MzYy1jYW1pZi9jYW1pZi1jb3JlLmgKPj4gaW5kZXggMWY1YzhjOTRj ZTg5Li5iZTVlNzM1N2RmZmMgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0v czNjLWNhbWlmL2NhbWlmLWNvcmUuaAo+PiArKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3Mz Yy1jYW1pZi9jYW1pZi1jb3JlLmgKPj4gQEAgLTI2MCw3ICsyNjAsNyBAQCBzdHJ1Y3QgY2FtaWZf dnAgewo+PiDCoMKgICogQGNsb2NrOsKgwqDCoMKgwqAgY2xvY2tzIHJlcXVpcmVkIGZvciB0aGUg Q0FNSUYgb3BlcmF0aW9uCj4+IMKgwqAgKiBAbG9jazrCoMKgwqDCoMKgIG11dGV4IHByb3RlY3Rp bmcgdGhpcyBkYXRhIHN0cnVjdHVyZQo+PiDCoMKgICogQHNsb2NrOsKgwqDCoMKgwqAgc3Bpbmxv Y2sgcHJvdGVjdGluZyBDQU1JRiByZWdpc3RlcnMKPj4gLSAqIEBpb19iYXNlOsKgwqDCoMKgwqAg c3RhcnQgYWRkcmVzcyBvZiB0aGUgbW1hcGVkIENBTUlGIHJlZ2lzdGVycwo+PiArICogQGlvX2Jh c2U6wqDCoMKgwqDCoCBzdGFydCBhZGRyZXNzIG9mIHRoZSBtbWFwcGVkIENBTUlGIHJlZ2lzdGVy cwo+PiDCoMKgICovCj4+IMKgIHN0cnVjdCBjYW1pZl9kZXYgewo+PiDCoMKgwqDCoMKgIHN0cnVj dCBtZWRpYV9kZXZpY2XCoMKgwqDCoMKgwqDCoCBtZWRpYV9kZXY7Cj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL21lZGlhL3BsYXRmb3JtL3M1cC1qcGVnL2pwZWctY29yZS5oIAo+PiBiL2RyaXZlcnMv bWVkaWEvcGxhdGZvcm0vczVwLWpwZWcvanBlZy1jb3JlLmgKPj4gaW5kZXggOTBmZGE0YjcyMGVi Li4xNDRjMTAyZmYwNWYgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vczVw LWpwZWcvanBlZy1jb3JlLmgKPj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zNXAtanBl Zy9qcGVnLWNvcmUuaAo+PiBAQCAtMTUzLDcgKzE1Myw3IEBAIHN0cnVjdCBzNXBfanBlZ192YXJp YW50IHsKPj4gwqAgLyoqCj4+IMKgwqAgKiBzdHJ1Y3QganBlZ19mbXQgLSBkcml2ZXIncyBpbnRl cm5hbCBjb2xvciBmb3JtYXQgZGF0YQo+PiAtICogQG5hbWU6wqDCoMKgIGZvcm1hdCBkZXNjcml0 cGlvbgo+PiArICogQG5hbWU6wqDCoMKgIGZvcm1hdCBkZXNjcmlwdGlvbgo+PiDCoMKgICogQGZv dXJjYzrCoMKgwqAgdGhlIGZvdXJjYyBjb2RlLCAwIGlmIG5vdCBhcHBsaWNhYmxlCj4+IMKgwqAg KiBAZGVwdGg6wqDCoMKgIG51bWJlciBvZiBiaXRzIHBlciBwaXhlbAo+PiDCoMKgICogQGNvbHBs YW5lczrCoMKgwqAgbnVtYmVyIG9mIGNvbG9yIHBsYW5lcyAoMSBmb3IgcGFja2VkIGZvcm1hdHMp Cj4+IEBAIC0xOTMsNyArMTkzLDcgQEAgc3RydWN0IHM1cF9qcGVnX21hcmtlciB7Cj4+IMKgwqAg KiBAc29zOsKgwqDCoCBTT1MgbWFya2VyJ3MgcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIGJ1ZmZl ciBiZWdpbm5pbmcKPj4gwqDCoCAqIEBkaHQ6wqDCoMKgIERIVCBtYXJrZXJzJyBwb3NpdGlvbnMg cmVsYXRpdmUgdG8gdGhlIGJ1ZmZlciBiZWdpbm5pbmcKPj4gwqDCoCAqIEBkcXQ6wqDCoMKgIERR VCBtYXJrZXJzJyBwb3NpdGlvbnMgcmVsYXRpdmUgdG8gdGhlIGJ1ZmZlciBiZWdpbm5pbmcKPj4g LSAqIEBzb2Y6wqDCoMKgIFNPRjAgbWFya2VyJ3MgcG9zdGl0aW9uIHJlbGF0aXZlIHRvIHRoZSBi dWZmZXIgYmVnaW5uaW5nCj4+ICsgKiBAc29mOsKgwqDCoCBTT0YwIG1hcmtlcidzIHBvc2l0aW9u IHJlbGF0aXZlIHRvIHRoZSBidWZmZXIgYmVnaW5uaW5nCj4+IMKgwqAgKiBAc29mX2xlbjrCoMKg wqAgU09GMCBtYXJrZXIncyBwYXlsb2FkIGxlbmd0aCAod2l0aG91dCBsZW5ndGggZmllbGQgCj4+ IGl0c2VsZikKPj4gwqDCoCAqIEBjb21wb25lbnRzOsKgwqDCoCBudW1iZXIgb2YgaW1hZ2UgY29t cG9uZW50cwo+PiDCoMKgICogQHNpemU6wqDCoMKgIGltYWdlIGJ1ZmZlciBzaXplIGluIGJ5dGVz Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3M1cC1tZmMvczVwX21mY19j b21tb24uaCAKPj4gYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3M1cC1tZmMvczVwX21mY19jb21t b24uaAo+PiBpbmRleCAyMDQ0MmE5YjlmN2EuLjI0MTQ4MDIwYmFhOSAxMDA2NDQKPj4gLS0tIGEv ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zNXAtbWZjL3M1cF9tZmNfY29tbW9uLmgKPj4gKysrIGIv ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zNXAtbWZjL3M1cF9tZmNfY29tbW9uLmgKPj4gQEAgLTI2 OCw3ICsyNjgsNyBAQCBzdHJ1Y3QgczVwX21mY19wcml2X2J1ZiB7Cj4+IMKgwqAgKiBAZW5jX2N0 cmxfaGFuZGxlcjrCoMKgwqAgY29udHJvbCBmcmFtZXdvcmsgaGFuZGxlciBmb3IgZW5jb2RpbmcK Pj4gwqDCoCAqIEBwbTrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBvd2VyIG1hbmFnZW1lbnQgY29u dHJvbAo+PiDCoMKgICogQHZhcmlhbnQ6wqDCoMKgwqDCoMKgwqAgTUZDIGhhcmR3YXJlIHZhcmlh bnQgaW5mb3JtYXRpb24KPj4gLSAqIEBudW1faW5zdDrCoMKgwqDCoMKgwqDCoCBjb3V0ZXIgb2Yg YWN0aXZlIE1GQyBpbnN0YW5jZXMKPj4gKyAqIEBudW1faW5zdDrCoMKgwqDCoMKgwqDCoCBjb3Vu dGVyIG9mIGFjdGl2ZSBNRkMgaW5zdGFuY2VzCj4+IMKgwqAgKiBAaXJxbG9jazrCoMKgwqDCoMKg wqDCoCBsb2NrIGZvciBvcGVyYXRpb25zIG9uIHZpZGVvYnVmMiBxdWV1ZXMKPj4gwqDCoCAqIEBj b25kbG9jazrCoMKgwqDCoMKgwqDCoCBsb2NrIGZvciBjaGFuZ2luZy9jaGVja2luZyBpZiBhIGNv bnRleHQgaXMgCj4+IHJlYWR5IHRvIGJlCj4+IMKgwqAgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg cHJvY2Vzc2VkCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3M1cC1tZmMv czVwX21mY19jdHJsLmMgCj4+IGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zNXAtbWZjL3M1cF9t ZmNfY3RybC5jCj4+IGluZGV4IGVlN2IxNWIzMzVlMC4uOWY4MzJiYTdiYzhjIDEwMDY0NAo+PiAt LS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3M1cC1tZmMvczVwX21mY19jdHJsLmMKPj4gKysr IGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zNXAtbWZjL3M1cF9tZmNfY3RybC5jCj4+IEBAIC01 MSw3ICs1MSw3IEBAIGludCBzNXBfbWZjX2xvYWRfZmlybXdhcmUoc3RydWN0IHM1cF9tZmNfZGV2 ICpkZXYpCj4+IMKgwqDCoMKgwqAgc3RydWN0IGZpcm13YXJlICpmd19ibG9iOwo+PiDCoMKgwqDC oMKgIGludCBpLCBlcnIgPSAtRUlOVkFMOwo+PiAtwqDCoMKgIC8qIEZpcm1hcmUgaGFzIHRvIGJl IHByZXNlbnQgYXMgYSBzZXBhcmF0ZSBmaWxlIG9yIGNvbXBpbGVkCj4+ICvCoMKgwqAgLyogRmly bXdhcmUgaGFzIHRvIGJlIHByZXNlbnQgYXMgYSBzZXBhcmF0ZSBmaWxlIG9yIGNvbXBpbGVkCj4+ IMKgwqDCoMKgwqDCoCAqIGludG8ga2VybmVsLiAqLwo+PiDCoMKgwqDCoMKgIG1mY19kZWJ1Z19l bnRlcigpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zNXAtbWZjL3M1 cF9tZmNfZGVjLmMgCj4+IGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zNXAtbWZjL3M1cF9tZmNf ZGVjLmMKPj4gaW5kZXggZjRjMGUzYThmMjdkLi5lMTExZjljNDcxNzkgMTAwNjQ0Cj4+IC0tLSBh L2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vczVwLW1mYy9zNXBfbWZjX2RlYy5jCj4+ICsrKyBiL2Ry aXZlcnMvbWVkaWEvcGxhdGZvcm0vczVwLW1mYy9zNXBfbWZjX2RlYy5jCj4+IEBAIC02MDIsNyAr NjAyLDcgQEAgc3RhdGljIGludCB2aWRpb2NfcXVlcnlidWYoc3RydWN0IGZpbGUgKmZpbGUsIHZv aWQgCj4+ICpwcml2LAo+PiDCoMKgwqDCoMKgIGludCBpOwo+PiDCoMKgwqDCoMKgIGlmIChidWYt Pm1lbW9yeSAhPSBWNEwyX01FTU9SWV9NTUFQKSB7Cj4+IC3CoMKgwqDCoMKgwqDCoCBtZmNfZXJy KCJPbmx5IG1tYXBlZCBidWZmZXJzIGNhbiBiZSB1c2VkXG4iKTsKPj4gK8KgwqDCoMKgwqDCoMKg IG1mY19lcnIoIk9ubHkgbW1hcHBlZCBidWZmZXJzIGNhbiBiZSB1c2VkXG4iKTsKPj4gwqDCoMKg wqDCoMKgwqDCoMKgIHJldHVybiAtRUlOVkFMOwo+PiDCoMKgwqDCoMKgIH0KPj4gwqDCoMKgwqDC oCBtZmNfZGVidWcoMiwgIlN0YXRlOiAlZCwgYnVmLT50eXBlOiAlZFxuIiwgY3R4LT5zdGF0ZSwg YnVmLT50eXBlKTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vczVwLW1m Yy9zNXBfbWZjX29wcl92NS5jIAo+PiBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vczVwLW1mYy9z NXBfbWZjX29wcl92NS5jCj4+IGluZGV4IDA5MTM4ODEyMTlmZi4uNjE0NGU5NWY2NDI1IDEwMDY0 NAo+PiAtLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3M1cC1tZmMvczVwX21mY19vcHJfdjUu Ywo+PiArKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3M1cC1tZmMvczVwX21mY19vcHJfdjUu Ywo+PiBAQCAtMTI5Myw3ICsxMjkzLDcgQEAgc3RhdGljIGludCBzNXBfbWZjX3J1bl9pbml0X2Rl Y19idWZmZXJzKHN0cnVjdCAKPj4gczVwX21mY19jdHggKmN0eCkKPj4gwqDCoMKgwqDCoMKgICog Rmlyc3Qgc2V0IHRoZSBvdXRwdXQgZnJhbWUgYnVmZmVycwo+PiDCoMKgwqDCoMKgwqAgKi8KPj4g wqDCoMKgwqDCoCBpZiAoY3R4LT5jYXB0dXJlX3N0YXRlICE9IFFVRVVFX0JVRlNfTU1BUEVEKSB7 Cj4+IC3CoMKgwqDCoMKgwqDCoCBtZmNfZXJyKCJJdCBzZWVtcyB0aGF0IG5vdCBhbGwgZGVzdGlu YXRpb24gYnVmZmVycyB3ZXJlIAo+PiBtbWFwZWRcbk1GQyByZXF1aXJlcyB0aGF0IGFsbCBkZXN0 aW5hdGlvbiBhcmUgbW1hcGVkIGJlZm9yZSBzdGFydGluZyAKPj4gcHJvY2Vzc2luZ1xuIik7Cj4+ ICvCoMKgwqDCoMKgwqDCoCBtZmNfZXJyKCJJdCBzZWVtcyB0aGF0IG5vdCBhbGwgZGVzdGluYXRp b24gYnVmZmVycyB3ZXJlIAo+PiBtbWFwcGVkXG5NRkMgcmVxdWlyZXMgdGhhdCBhbGwgZGVzdGlu YXRpb24gYXJlIG1tYXBwZWQgYmVmb3JlIHN0YXJ0aW5nIAo+PiBwcm9jZXNzaW5nXG4iKTsKPj4g wqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAtRUFHQUlOOwo+PiDCoMKgwqDCoMKgIH0KPj4gwqDC oMKgwqDCoCBpZiAobGlzdF9lbXB0eSgmY3R4LT5zcmNfcXVldWUpKSB7Cj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3M1cC1tZmMvczVwX21mY19vcHJfdjYuYyAKPj4gYi9k cml2ZXJzL21lZGlhL3BsYXRmb3JtL3M1cC1tZmMvczVwX21mY19vcHJfdjYuYwo+PiBpbmRleCA3 YzYyOWJlNDMyMDUuLjI4MTY5OWFiN2ZlMSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9zNXAtbWZjL3M1cF9tZmNfb3ByX3Y2LmMKPj4gKysrIGIvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9zNXAtbWZjL3M1cF9tZmNfb3ByX3Y2LmMKPj4gQEAgLTUzLDcgKzUzLDcgQEAgc3Rh dGljIGludCBzNXBfbWZjX2FsbG9jX2RlY190ZW1wX2J1ZmZlcnNfdjYoc3RydWN0IAo+PiBzNXBf bWZjX2N0eCAqY3R4KQo+PiDCoMKgwqDCoMKgIHJldHVybiAwOwo+PiDCoCB9Cj4+IC0vKiBSZWxl YXNlIHRlbXByb2FyeSBidWZmZXJzIGZvciBkZWNvZGluZyAqLwo+PiArLyogUmVsZWFzZSB0ZW1w b3JhcnkgYnVmZmVycyBmb3IgZGVjb2RpbmcgKi8KPj4gwqAgc3RhdGljIHZvaWQgczVwX21mY19y ZWxlYXNlX2RlY19kZXNjX2J1ZmZlcl92NihzdHJ1Y3QgczVwX21mY19jdHggKmN0eCkKPj4gwqAg ewo+PiDCoMKgwqDCoMKgIC8qIE5PUCAqLwo+PiBAQCAtMTkyOCw3ICsxOTI4LDcgQEAgc3RhdGlj IGlubGluZSBpbnQgCj4+IHM1cF9tZmNfcnVuX2luaXRfZGVjX2J1ZmZlcnMoc3RydWN0IHM1cF9t ZmNfY3R4ICpjdHgpCj4+IMKgwqDCoMKgwqAgaWYgKGN0eC0+Y2FwdHVyZV9zdGF0ZSAhPSBRVUVV RV9CVUZTX01NQVBFRCkgewo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgbWZjX2VycigiSXQgc2VlbXMg dGhhdCBub3QgYWxsIGRlc3RpbmF0aW9uIGJ1ZmZlcnMgd2VyZVxuIgo+PiAtwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAibW1hcGVkLk1GQyByZXF1aXJlcyB0aGF0IGFsbCBkZXN0aW5hdGlvbiBhcmUg bW1hcGVkXG4iCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJtbWFwcGVkLk1GQyByZXF1aXJl cyB0aGF0IGFsbCBkZXN0aW5hdGlvbiBhcmUgbW1hcHBlZFxuIgo+PiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAiYmVmb3JlIHN0YXJ0aW5nIHByb2Nlc3NpbmcuXG4iKTsKPj4gwqDCoMKgwqDC oMKgwqDCoMKgIHJldHVybiAtRUFHQUlOOwo+PiDCoMKgwqDCoMKgIH0KPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vc3RpL2M4c2VjdHBmZS9jOHNlY3RwZmUtY29yZS5oIAo+ PiBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vc3RpL2M4c2VjdHBmZS9jOHNlY3RwZmUtY29yZS5o Cj4+IGluZGV4IDNkYmIzYTI4N2NjMC4uYzlkNjAyMTkwNGNkIDEwMDY0NAo+PiAtLS0gYS9kcml2 ZXJzL21lZGlhL3BsYXRmb3JtL3N0aS9jOHNlY3RwZmUvYzhzZWN0cGZlLWNvcmUuaAo+PiArKysg Yi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3N0aS9jOHNlY3RwZmUvYzhzZWN0cGZlLWNvcmUuaAo+ PiBAQCAtMTkzLDcgKzE5Myw3IEBAIHN0cnVjdCBjOHNlY3RwZmVpIHsKPj4gwqAgI2RlZmluZSBD OFNFQ1RQRkVfU1lTX0VOQUJMRcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBCSVQoMCkKPj4gwqAg LyoKPj4gLSAqIFBvbnRlciByZWNvcmQgZGF0YSBzdHJ1Y3R1cmUgcmVxdWlyZWQgZm9yIGVhY2gg aW5wdXQgYmxvY2sKPj4gKyAqIFBvaW50ZXIgcmVjb3JkIGRhdGEgc3RydWN0dXJlIHJlcXVpcmVk IGZvciBlYWNoIGlucHV0IGJsb2NrCj4+IMKgwqAgKiBzZWUgVGFibGUgODIgb24gcGFnZSAxNjcg b2YgZnVuY3Rpb25hbCBzcGVjaWZpY2F0aW9uLgo+PiDCoMKgICovCj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL21lZGlhL3BsYXRmb3JtL3N0aS9kZWx0YS9kZWx0YS5oIAo+PiBiL2RyaXZlcnMvbWVk aWEvcGxhdGZvcm0vc3RpL2RlbHRhL2RlbHRhLmgKPj4gaW5kZXggMmJhOTk5MjJjMDViLi45MTQ1 NTYwMzBlNzAgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vc3RpL2RlbHRh L2RlbHRhLmgKPj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zdGkvZGVsdGEvZGVsdGEu aAo+PiBAQCAtMjg2LDcgKzI4Niw3IEBAIHN0cnVjdCBkZWx0YV9kZWMgewo+PiDCoMKgwqDCoMKg wqAgKiBIZWFkZXIgcGFyc2luZyBtdXN0IGJlIGRvbmUgdXNpbmcgZGVjb2RlKCksIGdpdmluZwo+ PiDCoMKgwqDCoMKgwqAgKiBleHBsaWNpdGx5IGhlYWRlciBhY2Nlc3MgdW5pdCBvciBmaXJzdCBh Y2Nlc3MgdW5pdCBvZiBiaXRzdHJlYW0uCj4+IMKgwqDCoMKgwqDCoCAqIElmIG5vIHZhbGlkIGhl YWRlciBpcyBmb3VuZCwgZ2V0X3N0cmVhbWluZm8gd2lsbCByZXR1cm4gCj4+IC1FTk9EQVRBLAo+ PiAtwqDCoMKgwqAgKiBpbiB0aGlzIGNhc2UgdGhlIG5leHQgYmlzdHJlYW0gYWNjZXNzIHVuaXQg bXVzdCBiZSBkZWNvZGVkIHRpbGwKPj4gK8KgwqDCoMKgICogaW4gdGhpcyBjYXNlIHRoZSBuZXh0 IGJpdHN0cmVhbSBhY2Nlc3MgdW5pdCBtdXN0IGJlIGRlY29kZWQgdGlsbAo+PiDCoMKgwqDCoMKg wqAgKiBnZXRfc3RyZWFtaW5mbyBiZWNvbWVzIHN1Y2Nlc3NmdWwuCj4+IMKgwqDCoMKgwqDCoCAq Lwo+PiDCoMKgwqDCoMKgIGludCAoKmdldF9zdHJlYW1pbmZvKShzdHJ1Y3QgZGVsdGFfY3R4ICpj dHgsCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3N0aS9odmEvaHZhLWgy NjQuYyAKPj4gYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3N0aS9odmEvaHZhLWgyNjQuYwo+PiBp bmRleCBiNjFhNWQzMzdkMmEuLmMzNGY3Y2Y1YWVkMiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9t ZWRpYS9wbGF0Zm9ybS9zdGkvaHZhL2h2YS1oMjY0LmMKPj4gKysrIGIvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9zdGkvaHZhL2h2YS1oMjY0LmMKPj4gQEAgLTYyNiw3ICs2MjYsNyBAQCBzdGF0aWMg aW50IGh2YV9oMjY0X3ByZXBhcmVfdGFzayhzdHJ1Y3QgaHZhX2N0eCAKPj4gKnBjdHgsCj4+IMKg wqDCoMKgwqAgdGQtPmZyYW1lX3dpZHRoID0gZnJhbWVfd2lkdGg7Cj4+IMKgwqDCoMKgwqAgdGQt PmZyYW1lX2hlaWdodCA9IGZyYW1lX2hlaWdodDsKPj4gLcKgwqDCoCAvKiBzZXQgZnJhbWUgYWxp Z25lbWVudCAqLwo+PiArwqDCoMKgIC8qIHNldCBmcmFtZSBhbGlnbm1lbnQgKi8KPj4gwqDCoMKg wqDCoCB0ZC0+d2luZG93X3dpZHRoID3CoCBmcmFtZV93aWR0aDsKPj4gwqDCoMKgwqDCoCB0ZC0+ d2luZG93X2hlaWdodCA9IGZyYW1lX2hlaWdodDsKPj4gwqDCoMKgwqDCoCB0ZC0+d2luZG93X2hv cml6b250YWxfb2Zmc2V0ID0gMDsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZv cm0vc3RtMzIvc3RtMzItZGNtaS5jIAo+PiBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vc3RtMzIv c3RtMzItZGNtaS5jCj4+IGluZGV4IDY3MzI4NzQxMTRjZi4uNWZlNWIzOGZhOTAxIDEwMDY0NAo+ PiAtLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3N0bTMyL3N0bTMyLWRjbWkuYwo+PiArKysg Yi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3N0bTMyL3N0bTMyLWRjbWkuYwo+PiBAQCAtMTU0NCw3 ICsxNTQ0LDcgQEAgc3RhdGljIHZvaWQgZGNtaV9ncmFwaF9ub3RpZnlfdW5iaW5kKHN0cnVjdCAK Pj4gdjRsMl9hc3luY19ub3RpZmllciAqbm90aWZpZXIsCj4+IMKgwqDCoMKgwqAgZGV2X2RiZyhk Y21pLT5kZXYsICJSZW1vdmluZyAlc1xuIiwgCj4+IHZpZGVvX2RldmljZV9ub2RlX25hbWUoZGNt aS0+dmRldikpOwo+PiAtwqDCoMKgIC8qIENoZWNrcyBpbnRlcm5hbHkgaWYgdmRldiBoYXMgYmVl biBpbml0IG9yIG5vdCAqLwo+PiArwqDCoMKgIC8qIENoZWNrcyBpbnRlcm5hbGx5IGlmIHZkZXYg aGFzIGJlZW4gaW5pdCBvciBub3QgKi8KPj4gwqDCoMKgwqDCoCB2aWRlb191bnJlZ2lzdGVyX2Rl dmljZShkY21pLT52ZGV2KTsKPj4gwqAgfQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9zdW54aS9zdW42aS1jc2kvc3VuNmlfY3NpLmggCj4+IGIvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9zdW54aS9zdW42aS1jc2kvc3VuNmlfY3NpLmgKPj4gaW5kZXggMGJiMDAwNzEyYzMz Li44NWY5N2Q0ZjA4NmUgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vc3Vu eGkvc3VuNmktY3NpL3N1bjZpX2NzaS5oCj4+ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0v c3VueGkvc3VuNmktY3NpL3N1bjZpX2NzaS5oCj4+IEBAIC02NSw3ICs2NSw3IEBAIGJvb2wgc3Vu NmlfY3NpX2lzX2Zvcm1hdF9zdXBwb3J0ZWQoc3RydWN0IHN1bjZpX2NzaSAKPj4gKmNzaSwgdTMy IHBpeGZvcm1hdCwKPj4gwqAgaW50IHN1bjZpX2NzaV9zZXRfcG93ZXIoc3RydWN0IHN1bjZpX2Nz aSAqY3NpLCBib29sIGVuYWJsZSk7Cj4+IMKgIC8qKgo+PiAtICogc3VuNmlfY3NpX3VwZGF0ZV9j b25maWcoKSAtIHVwZGF0ZSB0aGUgY3NpIHJlZ2lzdGVyIHNldHR0aW5ncwo+PiArICogc3VuNmlf Y3NpX3VwZGF0ZV9jb25maWcoKSAtIHVwZGF0ZSB0aGUgY3NpIHJlZ2lzdGVyIHNldHRpbmdzCj4+ IMKgwqAgKiBAY3NpOsKgwqDCoCBwb2ludGVyIHRvIHRoZSBjc2kKPj4gwqDCoCAqIEBjb25maWc6 wqDCoMKgIHNlZSBzdHJ1Y3Qgc3VuNmlfY3NpX2NvbmZpZwo+PiDCoMKgICovCj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3RpLXZwZS92cGRtYS5jIAo+PiBiL2RyaXZlcnMv bWVkaWEvcGxhdGZvcm0vdGktdnBlL3ZwZG1hLmMKPj4gaW5kZXggZTJjZjJiOTBlNTAwLi4xZGEy Y2IzYWFmMGMgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdGktdnBlL3Zw ZG1hLmMKPj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS90aS12cGUvdnBkbWEuYwo+PiBA QCAtNDA0LDcgKzQwNCw3IEBAIEVYUE9SVF9TWU1CT0wodnBkbWFfbWFwX2Rlc2NfYnVmKTsKPj4g wqAgLyoKPj4gwqDCoCAqIHVubWFwIGRlc2NyaXB0b3IvcGF5bG9hZCBETUEgYnVmZmVyLCBkaXNh YmxpbmcgRE1BIGFjY2VzcyBhbmQKPj4gLSAqIGFsbG93aW5nIHRoZSBtYWluIHByb2Nlc3NvciB0 byBhY2NlcyB0aGUgZGF0YQo+PiArICogYWxsb3dpbmcgdGhlIG1haW4gcHJvY2Vzc29yIHRvIGFj Y2VzcyB0aGUgZGF0YQo+PiDCoMKgICovCj4+IMKgIHZvaWQgdnBkbWFfdW5tYXBfZGVzY19idWYo c3RydWN0IHZwZG1hX2RhdGEgKnZwZG1hLCBzdHJ1Y3QgdnBkbWFfYnVmIAo+PiAqYnVmKQo+PiDC oCB7Cj4+IEBAIC01MDEsNyArNTAxLDcgQEAgdm9pZCB2cGRtYV9yZXNldF9kZXNjX2xpc3Qoc3Ry dWN0IHZwZG1hX2Rlc2NfbGlzdCAKPj4gKmxpc3QpCj4+IMKgIEVYUE9SVF9TWU1CT0wodnBkbWFf cmVzZXRfZGVzY19saXN0KTsKPj4gwqAgLyoKPj4gLSAqIGZyZWUgdGhlIGJ1ZmZlciBhbGxvY2F0 ZWQgZm90IHRoZSBWUERNQSBkZXNjcmlwdG9yIGxpc3QsIHRoaXMgCj4+IHNob3VsZCBiZQo+PiAr ICogZnJlZSB0aGUgYnVmZmVyIGFsbG9jYXRlZCBmb3IgdGhlIFZQRE1BIGRlc2NyaXB0b3IgbGlz dCwgdGhpcyAKPj4gc2hvdWxkIGJlCj4+IMKgwqAgKiBjYWxsZWQgd2hlbiB0aGUgdXNlciBkb2Vz bid0IHdhbnQgdG8gdXNlIFZQRE1BIGFueSBtb3JlLgo+PiDCoMKgICovCj4+IMKgIHZvaWQgdnBk bWFfZnJlZV9kZXNjX2xpc3Qoc3RydWN0IHZwZG1hX2Rlc2NfbGlzdCAqbGlzdCkKPj4gQEAgLTc5 MCw3ICs3OTAsNyBAQCBzdGF0aWMgdm9pZCBkdW1wX2R0ZChzdHJ1Y3QgdnBkbWFfZHRkICpkdGQp Cj4+IMKgwqAgKiBhcHBlbmQgYW4gb3V0Ym91bmQgZGF0YSB0cmFuc2ZlciBkZXNjcmlwdG9yIHRv IHRoZSBnaXZlbiAKPj4gZGVzY3JpcHRvciBsaXN0LAo+PiDCoMKgICogdGhpcyBzZXRzIHVwIGEg J2NsaWVudCB0byBtZW1vcnknIFZQRE1BIHRyYW5zZmVyIGZvciB0aGUgZ2l2ZW4gCj4+IFZQRE1B IGNoYW5uZWwKPj4gwqDCoCAqCj4+IC0gKiBAbGlzdDogdnBkbWEgZGVzYyBsaXN0IHRvIHdoaWNo IHdlIGFkZCB0aGlzIGRlY3JpcHRvcgo+PiArICogQGxpc3Q6IHZwZG1hIGRlc2MgbGlzdCB0byB3 aGljaCB3ZSBhZGQgdGhpcyBkZXNjcmlwdG9yCj4+IMKgwqAgKiBAd2lkdGg6IHdpZHRoIG9mIHRo ZSBpbWFnZSBpbiBwaXhlbHMgaW4gbWVtb3J5Cj4+IMKgwqAgKiBAY19yZWN0OiBjb21wb3NlIHBh cmFtcyBvZiBvdXRwdXQgaW1hZ2UKPj4gwqDCoCAqIEBmbXQ6IHZwZG1hIGRhdGEgZm9ybWF0IG9m IHRoZSBidWZmZXIKPj4gQEAgLTc5OCw3ICs3OTgsNyBAQCBzdGF0aWMgdm9pZCBkdW1wX2R0ZChz dHJ1Y3QgdnBkbWFfZHRkICpkdGQpCj4+IMKgwqAgKiBtYXhfd2lkdGg6IGVudW0gZm9yIG1heGlt dW0gd2lkdGggb2YgZGF0YSB0cmFuc2Zlcgo+PiDCoMKgICogbWF4X2hlaWdodDogZW51bSBmb3Ig bWF4aW11bSBoZWlnaHQgb2YgZGF0YSB0cmFuc2Zlcgo+PiDCoMKgICogY2hhbjogVlBETUEgY2hh bm5lbAo+PiAtICogZmxhZ3M6IFZQRE1BIGZsYWdzIHRvIGNvbmZpZ3VyZSBzb21lIGRlc2NyaXB0 b3IgZmlsZWRzCj4+ICsgKiBmbGFnczogVlBETUEgZmxhZ3MgdG8gY29uZmlndXJlIHNvbWUgZGVz Y3JpcHRvciBmaWVsZHMKPj4gwqDCoCAqLwo+PiDCoCB2b2lkIHZwZG1hX2FkZF9vdXRfZHRkKHN0 cnVjdCB2cGRtYV9kZXNjX2xpc3QgKmxpc3QsIGludCB3aWR0aCwKPj4gwqDCoMKgwqDCoMKgwqDC oMKgIGludCBzdHJpZGUsIGNvbnN0IHN0cnVjdCB2NGwyX3JlY3QgKmNfcmVjdCwKPj4gQEAgLTg2 MywxNCArODYzLDE0IEBAIEVYUE9SVF9TWU1CT0wodnBkbWFfcmF3Y2hhbl9hZGRfb3V0X2R0ZCk7 Cj4+IMKgwqAgKiBhcHBlbmQgYW4gaW5ib3VuZCBkYXRhIHRyYW5zZmVyIGRlc2NyaXB0b3IgdG8g dGhlIGdpdmVuIAo+PiBkZXNjcmlwdG9yIGxpc3QsCj4+IMKgwqAgKiB0aGlzIHNldHMgdXAgYSAn bWVtb3J5IHRvIGNsaWVudCcgVlBETUEgdHJhbnNmZXIgZm9yIHRoZSBnaXZlbiAKPj4gVlBETUEg Y2hhbm5lbAo+PiDCoMKgICoKPj4gLSAqIEBsaXN0OiB2cGRtYSBkZXNjIGxpc3QgdG8gd2hpY2gg d2UgYWRkIHRoaXMgZGVjcmlwdG9yCj4+ICsgKiBAbGlzdDogdnBkbWEgZGVzYyBsaXN0IHRvIHdo aWNoIHdlIGFkZCB0aGlzIGRlc2NyaXB0b3IKPj4gwqDCoCAqIEB3aWR0aDogd2lkdGggb2YgdGhl IGltYWdlIGluIHBpeGVscyBpbiBtZW1vcnkobm90IHRoZSBjcm9wcGVkIAo+PiB3aWR0aCkKPj4g wqDCoCAqIEBjX3JlY3Q6IGNyb3AgcGFyYW1zIG9mIGlucHV0IGltYWdlCj4+IMKgwqAgKiBAZm10 OiB2cGRtYSBkYXRhIGZvcm1hdCBvZiB0aGUgYnVmZmVyCj4+IMKgwqAgKiBkbWFfYWRkcjogZG1h IGFkZHJlc3MgYXMgc2VlbiBieSBWUERNQQo+PiDCoMKgICogY2hhbjogVlBETUEgY2hhbm5lbAo+ PiDCoMKgICogZmllbGQ6IHRvcCBvciBib3R0b20gZmllbGQgaW5mbyBvZiB0aGUgaW5wdXQgaW1h Z2UKPj4gLSAqIGZsYWdzOiBWUERNQSBmbGFncyB0byBjb25maWd1cmUgc29tZSBkZXNjcmlwdG9y IGZpbGVkcwo+PiArICogZmxhZ3M6IFZQRE1BIGZsYWdzIHRvIGNvbmZpZ3VyZSBzb21lIGRlc2Ny aXB0b3IgZmllbGRzCj4+IMKgwqAgKiBmcmFtZV93aWR0aC9oZWlnaHQ6IHRoZSBjb21wbGV0ZSB3 aWR0aC9oZWlnaHQgb2YgdGhlIGltYWdlIAo+PiBwcmVzZW50ZWQgdG8gdGhlCj4+IMKgwqAgKsKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgY2xpZW50ICh0aGlzIG1ha2VzIHNlbnNlIHdoZW4gbXVsdGlw bGUgY2hhbm5lbHMgYXJlCj4+IMKgwqAgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29ubmVjdGVk IHRvIHRoZSBzYW1lIGNsaWVudCwgZm9ybWluZyBhIGxhcmdlciBmcmFtZSkKPj4gQEAgLTEwMDgs NyArMTAwOCw3IEBAIHVuc2lnbmVkIGludCB2cGRtYV9nZXRfbGlzdF9tYXNrKHN0cnVjdCAKPj4g dnBkbWFfZGF0YSAqdnBkbWEsIGludCBpcnFfbnVtKQo+PiDCoCB9Cj4+IMKgIEVYUE9SVF9TWU1C T0wodnBkbWFfZ2V0X2xpc3RfbWFzayk7Cj4+IC0vKiBjbGVhciBwcmV2aW9zdWx5IG9jY3VyZWQg bGlzdCBpbnR0ZXJ1cHRzIGluIHRoZSBMSVNUX1NUQVQgcmVnaXN0ZXIgKi8KPj4gKy8qIGNsZWFy IHByZXZpb3VzbHkgb2NjdXJyZWQgbGlzdCBpbnRlcnVwdHMgaW4gdGhlIExJU1RfU1RBVCByZWdp c3RlciAqLwo+PiDCoCB2b2lkIHZwZG1hX2NsZWFyX2xpc3Rfc3RhdChzdHJ1Y3QgdnBkbWFfZGF0 YSAqdnBkbWEsIGludCBpcnFfbnVtLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBpbnQgbGlzdF9udW0pCj4+IMKgIHsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxh dGZvcm0vdGktdnBlL3ZwZS5jIAo+PiBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdGktdnBlL3Zw ZS5jCj4+IGluZGV4IGQ3MDg3MWQwYWQyZC4uMjA3ZTdlNzZjMDQ4IDEwMDY0NAo+PiAtLS0gYS9k cml2ZXJzL21lZGlhL3BsYXRmb3JtL3RpLXZwZS92cGUuYwo+PiArKysgYi9kcml2ZXJzL21lZGlh L3BsYXRmb3JtL3RpLXZwZS92cGUuYwo+PiBAQCAtODc2LDcgKzg3Niw3IEBAIHN0YXRpYyBpbnQg c2V0X3NyY2RzdF9wYXJhbXMoc3RydWN0IHZwZV9jdHggKmN0eCkKPj4gwqDCoMKgwqDCoMKgwqDC oMKgIC8qCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgICogd2UgbWFrZSBzdXJlIHRoYXQgdGhlIHNv dXJjZSBpbWFnZSBoYXMgYSAxNiBieXRlIGFsaWduZWQKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqAg KiBzdHJpZGUsIHdlIG5lZWQgdG8gZG8gdGhlIHNhbWUgZm9yIHRoZSBtb3Rpb24gdmVjdG9yIGJ1 ZmZlcgo+PiAtwqDCoMKgwqDCoMKgwqDCoCAqIGJ5IGFsaWduaW5nIGl0J3Mgc3RyaWRlIHRvIHRo ZSBuZXh0IDE2IGJ5dGUgYm91bmRyeS4gdGhpcwo+PiArwqDCoMKgwqDCoMKgwqDCoCAqIGJ5IGFs aWduaW5nIGl0J3Mgc3RyaWRlIHRvIHRoZSBuZXh0IDE2IGJ5dGUgYm91bmRhcnkuIHRoaXMKPj4g wqDCoMKgwqDCoMKgwqDCoMKgwqAgKiBleHRyYSBzcGFjZSB3aWxsIG5vdCBiZSB1c2VkIGJ5IHRo ZSBkZS1pbnRlcmxhY2VyLCBidXQgd2lsbAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIGVuc3Vy ZSB0aGF0IHZwZG1hIG9wZXJhdGVzIGNvcnJlY3RseQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoCAq Lwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92c3AxL3ZzcDFfYnJ4LmMg Cj4+IGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92c3AxL3ZzcDFfYnJ4LmMKPj4gaW5kZXggNWU1 MDE3OGIwNTdkLi41OGFkMjQ4Y2Q3ZjcgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxh dGZvcm0vdnNwMS92c3AxX2JyeC5jCj4+ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdnNw MS92c3AxX2JyeC5jCj4+IEBAIC0yOTYsNyArMjk2LDcgQEAgc3RhdGljIHZvaWQgYnJ4X2NvbmZp Z3VyZV9zdHJlYW0oc3RydWN0IAo+PiB2c3AxX2VudGl0eSAqZW50aXR5LAo+PiDCoMKgwqDCoMKg IC8qCj4+IMKgwqDCoMKgwqDCoCAqIFRoZSBoYXJkd2FyZSBpcyBleHRyZW1lbHkgZmxleGlibGUg YnV0IHdlIGhhdmUgbm8gdXNlcnNwYWNlIAo+PiBBUEkgdG8KPj4gwqDCoMKgwqDCoMKgICogZXhw b3NlIGFsbCB0aGUgcGFyYW1ldGVycywgbm9yIGlzIGl0IGNsZWFyIHdoZXRoZXIgd2Ugd291bGQg Cj4+IGhhdmUgdXNlCj4+IC3CoMKgwqDCoCAqIGNhc2VzIGZvciBhbGwgdGhlIHN1cHBvcnRlZCBt b2Rlcy4gTGV0J3MganVzdCBoYXJjb2RlIHRoZSAKPj4gcGFyYW1ldGVycwo+PiArwqDCoMKgwqAg KiBjYXNlcyBmb3IgYWxsIHRoZSBzdXBwb3J0ZWQgbW9kZXMuIExldCdzIGp1c3QgaGFyZGNvZGUg dGhlIAo+PiBwYXJhbWV0ZXJzCj4+IMKgwqDCoMKgwqDCoCAqIHRvIHNhbmUgZGVmYXVsdCB2YWx1 ZXMgZm9yIG5vdy4KPj4gwqDCoMKgwqDCoMKgICovCj4+IEBAIC0zNzMsNyArMzczLDcgQEAgc3Rh dGljIHZvaWQgYnJ4X2NvbmZpZ3VyZV9zdHJlYW0oc3RydWN0IAo+PiB2c3AxX2VudGl0eSAqZW50 aXR5LAo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgdnNwMV9icnhfd3JpdGUoYnJ4LCBkbGIsIFZJNl9C UlVfQ1RSTChpKSwgY3RybCk7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAvKgo+PiAtwqDCoMKgwqDC oMKgwqDCoCAqIEhhcmNvZGUgdGhlIGJsZW5kaW5nIGZvcm11bGEgdG8KPj4gK8KgwqDCoMKgwqDC oMKgwqAgKiBIYXJkY29kZSB0aGUgYmxlbmRpbmcgZm9ybXVsYSB0bwo+PiDCoMKgwqDCoMKgwqDC oMKgwqDCoCAqCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgICrCoMKgwqAgRFNUYyA9IERTVGMgKiAo MSAtIFNSQ2EpICsgU1JDYyAqIFNSQ2EKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqAgKsKgwqDCoCBE U1RhID0gRFNUYSAqICgxIC0gU1JDYSkgKyBTUkNhCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21l ZGlhL3BsYXRmb3JtL3hpbGlueC94aWxpbngtdmlwLmMgCj4+IGIvZHJpdmVycy9tZWRpYS9wbGF0 Zm9ybS94aWxpbngveGlsaW54LXZpcC5jCj4+IGluZGV4IDE4Zjk4ODM4MTExYi4uMDhhODI1YzNh M2Y2IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3hpbGlueC94aWxpbngt dmlwLmMKPj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS94aWxpbngveGlsaW54LXZpcC5j Cj4+IEBAIC0xNjYsNyArMTY2LDcgQEAgRVhQT1JUX1NZTUJPTF9HUEwoeHZpcF9zZXRfZm9ybWF0 X3NpemUpOwo+PiDCoMKgICogdGhlIHJlZ2lzdGVyLCBvdGhlcndpc2UgdGhlIGJpdG1hc2sgaXMg Y2xlYXJlZCBmcm9tIHRoZSByZWdpc3Rlcgo+PiDCoMKgICogd2hlbiB0aGUgZmxhZyBAc2V0IGlz IGZhbHNlLgo+PiDCoMKgICoKPj4gLSAqIEZveCBlYW1wbGUsIHRoaXMgZnVuY3Rpb24gY2FuIGJl IHVzZWQgdG8gc2V0IGEgY29udHJvbCB3aXRoIGEgCj4+IGJvb2xlYW4gdmFsdWUKPj4gKyAqIEZv eCBleGFtcGxlLCB0aGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIHNldCBhIGNvbnRyb2wgd2l0 aCBhIAo+PiBib29sZWFuIHZhbHVlCj4+IMKgwqAgKiByZXF1ZXN0ZWQgYnkgdXNlcnMuIElmIHRo ZSBjYWxsZXIga25vd3Mgd2hldGhlciB0byBzZXQgb3IgY2xlYXIgCj4+IGluIHRoZSBmaXJzdAo+ PiDCoMKgICogcGxhY2UsIHRoZSBjYWxsZXIgc2hvdWxkIGNhbGwgeHZpcF9jbHIoKSBvciB4dmlw X3NldCgpIGRpcmVjdGx5IAo+PiBpbnN0ZWFkIG9mCj4+IMKgwqAgKiB1c2luZyB0aGlzIGZ1bmN0 aW9uLgo+PgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K bGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZy YWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGlu dXgtYXJtLWtlcm5lbAo=