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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id C7D8FC433EF for ; Wed, 25 May 2022 15:16:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=kNktiouAZkqMiiCrkJ41jg5JFvK5etNxMuXDFjg6TA0=; b=dBb5ipfvK1gFrZ JkYPP82wmlgNgLo5TrObwhqKa/CkUnhdTY1hTOrseAXL2mSXhVyhnxJTwZTcLvDTdfWuRAaGxnZzM pqF4vstBB/WM3PeJSlGJgqozO7ci91nCnobWWwkSHQ19FHA/Pm325Q7P5nzuFw8cR93XMElTowEI/ POdUHNcm46S5quaomtrvFGg+lylg8dW5YftOl1SVHu86HBgDFA5jOIM3Tids/VIutPW1r0mw/CGGd XYMjlxm9xXUK8q6tiCWZCjpFi7rybl3pU0OwYiAjNhrgOIQhEabdI9kVzV6gEl7SmARgyYkvFgsDV mylT6ewnRi2/z1cArSeA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ntsia-00BXbO-VC; Wed, 25 May 2022 15:14:37 +0000 Received: from mail-ej1-x62f.google.com ([2a00:1450:4864:20::62f]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1ntsiU-00BXZ9-7M for linux-arm-kernel@lists.infradead.org; Wed, 25 May 2022 15:14:35 +0000 Received: by mail-ej1-x62f.google.com with SMTP id n10so42339241ejk.5 for ; Wed, 25 May 2022 08:14:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=N0DLRyvhYQws/uDrfQE8sQCM/KPaWx1mRukzJpy5NL8=; b=ODYXA2QMyEyFqhbnSQBmSM+ygqmVZ/ybDGQx0tqj24UnFu8YuuttxjesoArJe1hQm4 2xBCnNmiu7L7GXnlCC1IOj5xJNyYDclPw2LLsksFBldfENN3BAs6wZZef59LKorF2kw4 lsS9Pf5hgx5IykMMbJNfhFxal/mdNaT/wKFf8aZV4Ftn3qIjl5AZ+NsQr6FPtCXNPCOp L6UBKgWYePIp+9vUglFGdwdqBWI04DfqShQ9rGhtpnJmi4MJEkLW/bMF56Sk2WGZft5Z 2ExPYu73s0/PBe+lA54QWsiCUZkiMv8vhl4woqAnrMSTisKLYTfFDVjxQYa+stCyJ1yZ rO5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=N0DLRyvhYQws/uDrfQE8sQCM/KPaWx1mRukzJpy5NL8=; b=hXydlnILV+k1nB+odXfD+hSzDTWVIuw9VXSX0p+nkEJq9QdjqluHfLscCuIzi3RSB5 gv8C97a/oNlwxoNCy6HBbdpDuGODutooHcXHHpc27PLNFVdFCMPPcF2yBLqtdcliLoki meoQ5DECfAjcsAl9YZ1a/SwKBO6bZLDD0AByTn3t2hU3+3mT4n4I/P+a5GQKRP+ttONV +tgBq4H+I273r2+HVX9BpUv6O68KISvE3IsD3G2NDfg+vVAW7B5tM+m4zLci15E0xCwt kNI2rEwwzNv1ijWq0czZMU0lL5j4te/UO+iCxpr+5D9n9GWwnk7OE3Iw5p6StreDopmH T2jQ== X-Gm-Message-State: AOAM5330lN7gTLJB2WXYK1R0llOhDZOtfeEKD9CKynL5rEPVpemc4Nmc 3AmRoSxQZ9aOVnNi2SMdlVildZgzqEBNgQ== X-Google-Smtp-Source: ABdhPJyDYUWr7WsUfU2UkSrze2TpRl0OKBAwQZd2lt4o3mKY/6e85c3H6TJqm4gYGRp8ozryfnTSLw== X-Received: by 2002:a17:907:3e1b:b0:6fe:e1a4:a331 with SMTP id hp27-20020a1709073e1b00b006fee1a4a331mr14407040ejc.72.1653491668116; Wed, 25 May 2022 08:14:28 -0700 (PDT) Received: from kista.localnet (213-161-3-76.dynamic.telemach.net. [213.161.3.76]) by smtp.gmail.com with ESMTPSA id w12-20020a170906130c00b006fec69a3978sm4095743ejb.207.2022.05.25.08.14.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 May 2022 08:14:27 -0700 (PDT) From: Jernej =?utf-8?B?xaBrcmFiZWM=?= To: Roman Stratiienko Cc: mripard@kernel.org, wens@csie.org, airlied@linux.ie, Daniel Vetter , Samuel Holland , dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, megi@xff.cz Subject: Re: Re: Re: Re: [PATCH] drm/sun4i: Fix blend registers corruption for DE2.0/DE3.0 Date: Wed, 25 May 2022 17:14:26 +0200 Message-ID: <10083449.nUPlyArG6x@kista> In-Reply-To: References: <20220524135249.49993-1-roman.o.stratiienko@globallogic.com> <3174733.44csPzL39Z@kista> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220525_081430_329698_60E90C91 X-CRM114-Status: GOOD ( 39.05 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org RG5lIHNyZWRhLCAyNS4gbWFqIDIwMjIgb2IgMTY6NTU6NTYgQ0VTVCBqZSBSb21hbiBTdHJhdGlp ZW5rbyBuYXBpc2FsKGEpOgo+INCy0YIsIDI0INC80LDRjyAyMDIyINCzLiDQsiAyMjoxNCwgSmVy bmVqIMWga3JhYmVjIDxqZXJuZWouc2tyYWJlY0BnbWFpbC5jb20+Ogo+ID4KPiA+IERuZSB0b3Jl aywgMjQuIG1haiAyMDIyIG9iIDE5OjE0OjM1IENFU1QgamUgUm9tYW4gU3RyYXRpaWVua28gbmFw aXNhbChhKToKPiA+ID4gQnkgdGhlIHdheSwgbm90IHJlbGF0ZWQgdG8gdGhpcyBpc3N1ZToKPiA+ ID4KPiA+ID4gSSBjaGVycnktcGlja2VkCj4gPiA+IGh0dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5v cmcvcHJvamVjdC9kcmktZGV2ZWwvcGF0Y2gvCjIwMjIwNDI0MTYyNjMzLjEyMzY5LTktc2FtdWVs QHNob2xsYW5kLm9yZy8KPiA+ID4gYW5kIGdvdCBhIGJsYW5rIEZCIGNvbnNvbGUgb24gT1BJMy4K PiA+ID4gQ2FuIHlvdSBjaGVjayBpdCBwbGVhc2U/Cj4gPgo+ID4gUmVwbHkgdG8gdGhhdCBwYXRj aCBhbmQgd2UnbGwgdGFsay4KPiAKPiBEZXNwaXRlIHRoZSBmYWN0IHRoYXQgSSBhbSB0aGUgb3Jp Z2luYWwgYXV0aG9yIG9mIHRoZSBwYXRjaGVzIEknbSBub3QKPiBldmVuIGluIENDLCBzbyBJIGNh biByZXNwb25kIHRvIHRoaXMgdGhyZWFkLgoKQWN0dWFsbHksIG1hbnkgcGVvcGxlIGNvbWUgdXAg d2l0aCBzaW1pbGFyIGlkZWEuCgo+IElzIHRoZXJlIGFueSBvdGhlciB3YXkgdG8gcmVzcG9uZCB0 byB0aGUgbWVzc2FnZSB3aGVyZSB5b3UncmUgbm90IGluIENDPwoKT2YgY291cnNlLCBJIGRvd25s b2FkIHBhdGNoIGFzIG1ib3ggYW5kIGltcG9ydCBpdCBpbiBteSBlLW1haWwgY2xpZW50LiBBIHJl cGx5IAp0byBpdCB3aWxsIGNvbnRpbnVlIHRoZSB0aHJlYWQuCgpCZXN0IHJlZ2FyZHMsCkplcm5l agoKPiAKPiA+Cj4gPiBCZXN0IHJlZ2FyZHMsCj4gPiBKZXJuZWoKPiA+Cj4gPiA+Cj4gPiA+IFJl Z2FyZHMsCj4gPiA+IFJvbWFuCj4gPiA+Cj4gPiA+Cj4gPiA+Cj4gPiA+INCy0YIsIDI0INC80LDR jyAyMDIyINCzLiDQsiAyMDoxMCwgUm9tYW4gU3RyYXRpaWVua28gPHIuc3RyYXRpaWVua29AZ21h aWwuY29tPjoKPiA+ID4gPgo+ID4gPiA+IFBsZWFzZSBkcmFmdCBhIHRlc3QgZm9yIHRoZSB6cG9z IGlzc3VlIHlvdSdyZSBtZW50aW9uaW5nLgo+ID4gPiA+Cj4gPiA+ID4gSXQncyB2ZXJ5IGVhc3kg dG8gZG8gd2l0aCBrbXN4eCB1c2luZyBweXRob24gd3JhcHBlci4KPiA+ID4gPgo+ID4gPiA+IE9y IGV4cGxhaW4gc3RlcHMgdG8gcmVwcm9kdWNlIGhlcmUsIEkgd2lsbCB3cml0ZSBpdCBieSBteXNl bGYuCj4gPiA+ID4KPiA+ID4gPiBUaGFua3MuCj4gPiA+ID4gUmVnYXJkcwo+ID4gPiA+IFJvbWFu Cj4gPiA+ID4KPiA+ID4gPiDQstGCLCAyNCDQvNCw0Y8gMjAyMiDQsy4g0LIgMTk6MjEsIEplcm5l aiDFoGtyYWJlYyA8amVybmVqLnNrcmFiZWNAZ21haWwuY29tPjoKPiA+ID4gPiA+Cj4gPiA+ID4g PiBEbmUgdG9yZWssIDI0LiBtYWogMjAyMiBvYiAxNzozMToxMyBDRVNUIGplIFJvbWFuIFN0cmF0 aWllbmtvCj4gPiBuYXBpc2FsKGEpOgo+ID4gPiA+ID4gPiBOQUsgZm9yIHRoaXMuIEZ1cnRoZXIg dGVzdGluZyBzaG93ZWQgc3VjaCBhbiBhcHByb2FjaCBpcyBub3QgCnJlbGlhYmxlCj4gPiA+ID4g PiA+IGR1ZSB0byAuYXRvbWljX3VwZGF0ZSgpIGNhbGxiYWNrIGNhbGxlZCBvbmx5IGluIGNhc2Ug cGxhbmVzIGhhdmUgCnNvbWUKPiA+ID4gPiA+ID4gY2hhbmdlcy4KPiA+ID4gPiA+Cj4gPiA+ID4g PiBBZGRpdGlvbmFsbHksIEkgdGhpbmsgaXQgd291bGQgYmUgYmV0dGVyIHRvIGZpeCB1bmRlcmxh eWluZyB6cG9zIAppc3N1ZQo+ID4gZmlyc3QKPiA+ID4gPiA+IChhdHRlbXB0ZWQgbWFueSB0aW1l cykgYW5kIHRoZW4gd29ycnkgYWJvdXQgYmxlbmRpbmcuCj4gPiA+ID4gPgo+ID4gPiA+ID4gQmVz dCByZWdhcmRzLAo+ID4gPiA+ID4gSmVybmVqCj4gPiA+ID4gPgo+ID4gPiA+ID4gPgo+ID4gPiA+ ID4gPiDQstGCLCAyNCDQvNCw0Y8gMjAyMiDQsy4g0LIgMTY6NTIsIFJvbWFuIFN0cmF0aWllbmtv Cj4gPiA8ci5zdHJhdGlpZW5rb0BnbWFpbC5jb20+Ogo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ ID4gQ29ycnVwdGlvbiBoYXBwZW5zIHdoZW4gcGxhbmUgenBvcyBpcyB1cGRhdGVkCj4gPiA+ID4g PiA+ID4KPiA+ID4gPiA+ID4gPiBFeGFtcGxlIHNjZW5hcmlvOgo+ID4gPiA+ID4gPiA+Cj4gPiA+ ID4gPiA+ID4gSW5pdGlhbCBmcmFtZSBibGVuZGVyIHN0YXRlOgo+ID4gPiA+ID4gPiA+ICAgICBQ TEFORV9aUE9TID0gezAsIDEsIDIsIDN9Cj4gPiA+ID4gPiA+ID4gICAgIEJMRF9ST1VURSAgPSB7 MCwgMSwgMiwgMH0KPiA+ID4gPiA+ID4gPiAgICAgQkxEX0VOICAgICA9IHsxLCAxLCAxLCAwfQo+ ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gTmV3IGZyYW1lIGNvbW1pdCAoT25seSBaUE9TIGhh cyBiZWVuIGNoYW5nZWQpOgo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gICAgIFBMQU5FX1pQ T1MgPSB7MC0+MiwgMS0+MCwgMi0+MSwgM30KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IEV4 cGVjdGVkIHJlc3VsdHMgYWZ0ZXIgcGxhbmUgc3RhdGUgdXBkYXRlOgo+ID4gPiA+ID4gPiA+ICAg ICAgICAgICAgICAgICBaMCBaMSBaMiBaMwo+ID4gPiA+ID4gPiA+ICAgICBCTERfUk9VVEUgPSB7 MSwgMiwgMCwgMH0KPiA+ID4gPiA+ID4gPiAgICAgQkxEX0VOICAgID0gezEsIDEsIDEsIDB9Cj4g PiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiBXaGF0IGlzIGN1cnJlbnRseSBoYXBwZW5pbmc6Cj4g PiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiAxLiBzdW44aV92aV9sYXllcl9lbmFibGUoZW5hYmxl ZD10cnVlLCB6cG9zPTIsIG9sZF96cG9zPTApOgo+ID4gPiA+ID4gPiA+ICAgICBCTERfUk9VVEUg PSB7MS0+MCwgMSwgMi0+MCwgMH0KPiA+ID4gPiA+ID4gPiAgICAgQkxEX0VOICAgID0gezEtPjAs IDEsIDEtPjEsIDB9Cj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiAyLiBzdW44aV91aV9sYXll cl9lbmFibGUoZW5hYmxlZD10cnVlLCB6cG9zPTAsIG9sZF96cG9zPTEpOgo+ID4gPiA+ID4gPiA+ ICAgICBCTERfUk9VVEUgPSB7MC0+MSwgMS0+MCwgMCwgMH0KPiA+ID4gPiA+ID4gPiAgICAgQkxE X0VOICAgID0gezAtPjEsIDEtPjAsIDEsIDB9Cj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiAz LiBzdW44aV91aV9sYXllcl9lbmFibGUoZW5hYmxlZD10cnVlLCB6cG9zPTEsIG9sZF96cG9zPTIp Ogo+ID4gPiA+ID4gPiA+ICAgICBCTERfUk9VVEUgPSB7MSwgMC0+MiwgMC0+MCwgMH0KPiA+ID4g PiA+ID4gPiAgICAgQkxEX0VOICAgID0gezEsIDAtPjIsIDEtPjAsIDB9Cj4gPiA+ID4gPiA+ID4K PiA+ID4gPiA+ID4gPiBBZnRlciB1cGRhdGluZyBvZiBhbGwgdGhlIHBsYW5lcyB3ZSBhcmUgZW5k aW5nIHVwIHdpdGggCkJMRF9FTlsyXT0wLAo+ID4gPiA+ID4gPiA+IHdoaWNoIG1ha2VzIHRoaXMg Y2hhbm5lbCBkaXNhYmxlZC4KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IFRvIGZpeCB0aGlz IGlzc3VlLCBjbGVhciBCTEVORCByZWdpc3RlcnMgYmVmb3JlIHVwZGF0aW5nIHRoZSAKcGxhbmVz Cj4gPiA+ID4gPiA+ID4gYW5kIGRvIG5vdCBjbGVhciB0aGUgb2xkIHN0YXRlIHdoaWxlIHByb2Nl c3NpbmcgZXZlcnkgcGxhbmUuCj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiBTaWduZWQtb2Zm LWJ5OiBSb21hbiBTdHJhdGlpZW5rbwo+ID4gPHJvbWFuLm8uc3RyYXRpaWVua29AZ2xvYmFsbG9n aWMuY29tPgo+ID4gPiA+ID4gPiA+IC0tLQo+ID4gPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0v c3VuNGkvc3VuOGlfbWl4ZXIuYyAgICB8IDE2ICsrKysrKysrKysrKysrKwo+ID4gPiA+ID4gPiA+ ICBkcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuOGlfdWlfbGF5ZXIuYyB8IDI4ICsrKwo+ID4gKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL3N1bjRp L3N1bjhpX3ZpX2xheWVyLmMgfCAyOCArKysKPiA+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4g PiA+ID4gPiA+ID4gIDMgZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgNDggZGVsZXRp b25zKC0pCj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3N1bjRpL3N1bjhpX21peGVyLmMgYi9kcml2ZXJzL2dwdS8KZHJtLwo+ID4gc3VuNGkv Cj4gPiA+ID4gPiBzdW44aV9taXhlci5jCj4gPiA+ID4gPiA+ID4gaW5kZXggZjVlOGFlYWEzY2Rm Li4wMDQzNzdhMDAwZmMgMTAwNjQ0Cj4gPiA+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L3N1bjRpL3N1bjhpX21peGVyLmMKPiA+ID4gPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v c3VuNGkvc3VuOGlfbWl4ZXIuYwo+ID4gPiA+ID4gPiA+IEBAIC0yNDgsNiArMjQ4LDIxIEBAIGlu dCBzdW44aV9taXhlcl9kcm1fZm9ybWF0X3RvX2h3KHUzMiAKZm9ybWF0LAo+ID4gdTMyCj4gPiA+ ID4gPiAqaHdfZm9ybWF0KQo+ID4gPiA+ID4gPiA+ICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4g PiA+ID4gPiA+ID4gIH0KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ICtzdGF0aWMgdm9pZCBz dW44aV9hdG9taWNfYmVnaW4oc3RydWN0IHN1bnhpX2VuZ2luZSAqZW5naW5lLAo+ID4gPiA+ID4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUg Km9sZF9zdGF0ZSkKPiA+ID4gPiA+ID4gPiArewo+ID4gPiA+ID4gPiA+ICsgICAgICAgc3RydWN0 IHN1bjhpX21peGVyICptaXhlciA9IAplbmdpbmVfdG9fc3VuOGlfbWl4ZXIoZW5naW5lKTsKPiA+ ID4gPiA+ID4gPiArICAgICAgIHUzMiBibGRfYmFzZSA9IHN1bjhpX2JsZW5kZXJfYmFzZShtaXhl cik7Cj4gPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiA+ICsgICAgICAgcmVnbWFwX3dyaXRlKGVu Z2luZS0+cmVncywKPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICBTVU44SV9NSVhF Ul9CTEVORF9QSVBFX0NUTChibGRfYmFzZSksCj4gPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAg ICAgICAgMCk7Cj4gPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiA+ICsgICAgICAgcmVnbWFwX3dy aXRlKGVuZ2luZS0+cmVncywKPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICBTVU44 SV9NSVhFUl9CTEVORF9ST1VURShibGRfYmFzZSksCj4gPiA+ID4gPiA+ID4gKyAgICAgICAgICAg ICAgICAgICAgMCk7Cj4gPiA+ID4gPiA+ID4gK30KPiA+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ ID4gIHN0YXRpYyB2b2lkIHN1bjhpX21peGVyX2NvbW1pdChzdHJ1Y3Qgc3VueGlfZW5naW5lICpl bmdpbmUpCj4gPiA+ID4gPiA+ID4gIHsKPiA+ID4gPiA+ID4gPiAgICAgICAgIERSTV9ERUJVR19E UklWRVIoIkNvbW1pdHRpbmcgY2hhbmdlc1xuIik7Cj4gPiA+ID4gPiA+ID4gQEAgLTI5OSw2ICsz MTQsNyBAQCBzdGF0aWMgc3RydWN0IGRybV9wbGFuZQo+ID4gKipzdW44aV9sYXllcnNfaW5pdChz dHJ1Y3QKPiA+ID4gPiA+IGRybV9kZXZpY2UgKmRybSwKPiA+ID4gPiA+ID4gPiAgfQo+ID4gPiA+ ID4gPiA+Cj4gPiA+ID4gPiA+ID4gIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3VueGlfZW5naW5lX29w cyBzdW44aV9lbmdpbmVfb3BzID0gewo+ID4gPiA+ID4gPiA+ICsgICAgICAgLmF0b21pY19iZWdp biAgID0gc3VuOGlfYXRvbWljX2JlZ2luLAo+ID4gPiA+ID4gPiA+ICAgICAgICAgLmNvbW1pdCAg ICAgICAgID0gc3VuOGlfbWl4ZXJfY29tbWl0LAo+ID4gPiA+ID4gPiA+ICAgICAgICAgLmxheWVy c19pbml0ICAgID0gc3VuOGlfbGF5ZXJzX2luaXQsCj4gPiA+ID4gPiA+ID4gIH07Cj4gPiA+ID4g PiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW44aV91aV9sYXllci5j IGIvZHJpdmVycy8KZ3B1Lwo+ID4gZHJtLwo+ID4gPiA+ID4gc3VuNGkvc3VuOGlfdWlfbGF5ZXIu Ywo+ID4gPiA+ID4gPiA+IGluZGV4IDc4NDVjMmE1M2E3Zi4uYjI5NGE4ODI2MjZhIDEwMDY0NAo+ ID4gPiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW44aV91aV9sYXllci5j Cj4gPiA+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjhpX3VpX2xheWVy LmMKPiA+ID4gPiA+ID4gPiBAQCAtMjQsOCArMjQsNyBAQAo+ID4gPiA+ID4gPiA+ICAjaW5jbHVk ZSAic3VuOGlfdWlfc2NhbGVyLmgiCj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiAgc3RhdGlj IHZvaWQgc3VuOGlfdWlfbGF5ZXJfZW5hYmxlKHN0cnVjdCBzdW44aV9taXhlciAqbWl4ZXIsIApp bnQKPiA+IGNoYW5uZWwsCj4gPiA+ID4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGludCBvdmVybGF5LCBib29sIGVuYWJsZSwgCnVuc2lnbmVkCj4gPiBpbnQKPiA+ID4g PiA+IHpwb3MsCj4gPiA+ID4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGludCBvbGRfenBvcykKPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaW50IG92ZXJsYXksIGJvb2wgZW5hYmxlLCAKdW5zaWduZWQKPiA+IGlu dAo+ID4gPiA+ID4genBvcykKPiA+ID4gPiA+ID4gPiAgewo+ID4gPiA+ID4gPiA+ICAgICAgICAg dTMyIHZhbCwgYmxkX2Jhc2UsIGNoX2Jhc2U7Cj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiBA QCAtNDQsMTggKzQzLDYgQEAgc3RhdGljIHZvaWQgc3VuOGlfdWlfbGF5ZXJfZW5hYmxlKHN0cnVj dAo+ID4gc3VuOGlfbWl4ZXIKPiA+ID4gPiA+ICptaXhlciwgaW50IGNoYW5uZWwsCj4gPiA+ID4g PiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgClNVTjhJX01JWEVSX0NIQU5fVUlfTEFZ RVJfQVRUUihjaF9iYXNlLAo+ID4gPiA+ID4gb3ZlcmxheSksCj4gPiA+ID4gPiA+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgU1VOOElfTUlYRVJfQ0hBTl9VSV9MQVlFUl9BVFRSX0VOLCAK dmFsKTsKPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IC0gICAgICAgaWYgKCFlbmFibGUgfHwg enBvcyAhPSBvbGRfenBvcykgewo+ID4gPiA+ID4gPiA+IC0gICAgICAgICAgICAgICByZWdtYXBf dXBkYXRlX2JpdHMobWl4ZXItPmVuZ2luZS5yZWdzLAo+ID4gPiA+ID4gPiA+IC0KPiA+IFNVTjhJ X01JWEVSX0JMRU5EX1BJUEVfQ1RMKGJsZF9iYXNlKSwKPiA+ID4gPiA+ID4gPiAtCj4gPiA+ID4g PiBTVU44SV9NSVhFUl9CTEVORF9QSVBFX0NUTF9FTihvbGRfenBvcyksCj4gPiA+ID4gPiA+ID4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsKPiA+ID4gPiA+ID4gPiAtCj4g PiA+ID4gPiA+ID4gLSAgICAgICAgICAgICAgIHJlZ21hcF91cGRhdGVfYml0cyhtaXhlci0+ZW5n aW5lLnJlZ3MsCj4gPiA+ID4gPiA+ID4gLQo+ID4gU1VOOElfTUlYRVJfQkxFTkRfUk9VVEUoYmxk X2Jhc2UpLAo+ID4gPiA+ID4gPiA+IC0KPiA+ID4gPiA+IFNVTjhJX01JWEVSX0JMRU5EX1JPVVRF X1BJUEVfTVNLKG9sZF96cG9zKSwKPiA+ID4gPiA+ID4gPiAtICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDApOwo+ID4gPiA+ID4gPiA+IC0gICAgICAgfQo+ID4gPiA+ID4gPiA+IC0K PiA+ID4gPiA+ID4gPiAgICAgICAgIGlmIChlbmFibGUpIHsKPiA+ID4gPiA+ID4gPiAgICAgICAg ICAgICAgICAgdmFsID0gU1VOOElfTUlYRVJfQkxFTkRfUElQRV9DVExfRU4oenBvcyk7Cj4gPiA+ ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiBAQCAtMjkxLDMxICsyNzgsMjQgQEAgc3RhdGljIGludCAK c3VuOGlfdWlfbGF5ZXJfYXRvbWljX2NoZWNrKHN0cnVjdAo+ID4gPiA+ID4gZHJtX3BsYW5lICpw bGFuZSwKPiA+ID4gPiA+ID4gPiAgc3RhdGljIHZvaWQgc3VuOGlfdWlfbGF5ZXJfYXRvbWljX2Rp c2FibGUoc3RydWN0IGRybV9wbGFuZSAKKnBsYW5lLAo+ID4gPiA+ID4gPiA+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCAKZHJtX2F0b21pY19zdGF0ZQo+ ID4gKnN0YXRlKQo+ID4gPiA+ID4gPiA+ICB7Cj4gPiA+ID4gPiA+ID4gLSAgICAgICBzdHJ1Y3Qg ZHJtX3BsYW5lX3N0YXRlICpvbGRfc3RhdGUgPQo+ID4gPiA+ID4gZHJtX2F0b21pY19nZXRfb2xk X3BsYW5lX3N0YXRlKHN0YXRlLAo+ID4gPiA+ID4gPiA+IC0KPiA+ID4gPiA+IHBsYW5lKTsKPiA+ ID4gPiA+ID4gPiAgICAgICAgIHN0cnVjdCBzdW44aV91aV9sYXllciAqbGF5ZXIgPQo+ID4gcGxh bmVfdG9fc3VuOGlfdWlfbGF5ZXIocGxhbmUpOwo+ID4gPiA+ID4gPiA+IC0gICAgICAgdW5zaWdu ZWQgaW50IG9sZF96cG9zID0gb2xkX3N0YXRlLT5ub3JtYWxpemVkX3pwb3M7Cj4gPiA+ID4gPiA+ ID4gICAgICAgICBzdHJ1Y3Qgc3VuOGlfbWl4ZXIgKm1peGVyID0gbGF5ZXItPm1peGVyOwo+ID4g PiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gLSAgICAgICBzdW44aV91aV9sYXllcl9lbmFibGUobWl4 ZXIsIGxheWVyLT5jaGFubmVsLCBsYXllci0KPm92ZXJsYXksCj4gPiA+ID4gPiBmYWxzZSwgMCwK PiA+ID4gPiA+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGRfenBvcyk7Cj4g PiA+ID4gPiA+ID4gKyAgICAgICBzdW44aV91aV9sYXllcl9lbmFibGUobWl4ZXIsIGxheWVyLT5j aGFubmVsLCBsYXllci0KPm92ZXJsYXksCj4gPiA+ID4gPiBmYWxzZSwgMCk7Cj4gPiA+ID4gPiA+ ID4gIH0KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ICBzdGF0aWMgdm9pZCBzdW44aV91aV9s YXllcl9hdG9taWNfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgCipwbGFuZSwKPiA+ID4gPiA+ID4g PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fYXRv bWljX3N0YXRlCj4gPiAqc3RhdGUpCj4gPiA+ID4gPiA+ID4gIHsKPiA+ID4gPiA+ID4gPiAtICAg ICAgIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm9sZF9zdGF0ZSA9Cj4gPiA+ID4gPiBkcm1fYXRv bWljX2dldF9vbGRfcGxhbmVfc3RhdGUoc3RhdGUsCj4gPiA+ID4gPiA+ID4gLQo+ID4gPiA+ID4g cGxhbmUpOwo+ID4gPiA+ID4gPiA+ICAgICAgICAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqbmV3 X3N0YXRlID0KPiA+ID4gPiA+IGRybV9hdG9taWNfZ2V0X25ld19wbGFuZV9zdGF0ZShzdGF0ZSwK PiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gcGxhbmUpOwo+ID4gPiA+ID4gPiA+ICAgICAgICAgc3Ry dWN0IHN1bjhpX3VpX2xheWVyICpsYXllciA9Cj4gPiBwbGFuZV90b19zdW44aV91aV9sYXllcihw bGFuZSk7Cj4gPiA+ID4gPiA+ID4gICAgICAgICB1bnNpZ25lZCBpbnQgenBvcyA9IG5ld19zdGF0 ZS0+bm9ybWFsaXplZF96cG9zOwo+ID4gPiA+ID4gPiA+IC0gICAgICAgdW5zaWduZWQgaW50IG9s ZF96cG9zID0gb2xkX3N0YXRlLT5ub3JtYWxpemVkX3pwb3M7Cj4gPiA+ID4gPiA+ID4gICAgICAg ICBzdHJ1Y3Qgc3VuOGlfbWl4ZXIgKm1peGVyID0gbGF5ZXItPm1peGVyOwo+ID4gPiA+ID4gPiA+ Cj4gPiA+ID4gPiA+ID4gICAgICAgICBpZiAoIW5ld19zdGF0ZS0+dmlzaWJsZSkgewo+ID4gPiA+ ID4gPiA+ICAgICAgICAgICAgICAgICBzdW44aV91aV9sYXllcl9lbmFibGUobWl4ZXIsIGxheWVy LT5jaGFubmVsLAo+ID4gPiA+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbGF5ZXItPm92ZXJsYXksIGZhbHNlLCAwLAo+ID4gb2xkX3pwb3MpOwo+ID4gPiA+ID4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXItPm92ZXJsYXks IGZhbHNlLCAwKTsKPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgcmV0dXJuOwo+ID4gPiA+ ID4gPiA+ICAgICAgICAgfQo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gQEAgLTMyOCw3ICsz MDgsNyBAQCBzdGF0aWMgdm9pZCAKc3VuOGlfdWlfbGF5ZXJfYXRvbWljX3VwZGF0ZShzdHJ1Y3QK PiA+ID4gPiA+IGRybV9wbGFuZSAqcGxhbmUsCj4gPiA+ID4gPiA+ID4gICAgICAgICBzdW44aV91 aV9sYXllcl91cGRhdGVfYnVmZmVyKG1peGVyLCBsYXllci0+Y2hhbm5lbCwKPiA+ID4gPiA+ID4g PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXItPm92ZXJsYXksIHBs YW5lKTsKPiA+ID4gPiA+ID4gPiAgICAgICAgIHN1bjhpX3VpX2xheWVyX2VuYWJsZShtaXhlciwg bGF5ZXItPmNoYW5uZWwsIGxheWVyLQo+b3ZlcmxheSwKPiA+ID4gPiA+ID4gPiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB0cnVlLCB6cG9zLCBvbGRfenBvcyk7Cj4gPiA+ID4gPiA+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSwgenBvcyk7Cj4gPiA+ID4gPiA+ID4g IH0KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9w bGFuZV9oZWxwZXJfZnVuY3MKPiA+IHN1bjhpX3VpX2xheWVyX2hlbHBlcl9mdW5jcyA9Cj4gPiA+ ID4gPiB7Cj4gPiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9z dW44aV92aV9sYXllci5jIGIvZHJpdmVycy8KZ3B1Lwo+ID4gZHJtLwo+ID4gPiA+ID4gc3VuNGkv c3VuOGlfdmlfbGF5ZXIuYwo+ID4gPiA+ID4gPiA+IGluZGV4IGJiN2M0MzAzNmRmYS4uNDY1MzI0 NGIyZmQ4IDEwMDY0NAo+ID4gPiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9z dW44aV92aV9sYXllci5jCj4gPiA+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3N1bjRp L3N1bjhpX3ZpX2xheWVyLmMKPiA+ID4gPiA+ID4gPiBAQCAtMTgsOCArMTgsNyBAQAo+ID4gPiA+ ID4gPiA+ICAjaW5jbHVkZSAic3VuOGlfdmlfc2NhbGVyLmgiCj4gPiA+ID4gPiA+ID4KPiA+ID4g PiA+ID4gPiAgc3RhdGljIHZvaWQgc3VuOGlfdmlfbGF5ZXJfZW5hYmxlKHN0cnVjdCBzdW44aV9t aXhlciAqbWl4ZXIsIAppbnQKPiA+IGNoYW5uZWwsCj4gPiA+ID4gPiA+ID4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGludCBvdmVybGF5LCBib29sIGVuYWJsZSwgCnVuc2lnbmVk Cj4gPiBpbnQKPiA+ID4gPiA+IHpwb3MsCj4gPiA+ID4gPiA+ID4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBvbGRfenBvcykKPiA+ID4gPiA+ID4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG92ZXJsYXksIGJvb2wgZW5hYmxlLCAK dW5zaWduZWQKPiA+IGludAo+ID4gPiA+ID4genBvcykKPiA+ID4gPiA+ID4gPiAgewo+ID4gPiA+ ID4gPiA+ICAgICAgICAgdTMyIHZhbCwgYmxkX2Jhc2UsIGNoX2Jhc2U7Cj4gPiA+ID4gPiA+ID4K PiA+ID4gPiA+ID4gPiBAQCAtMzgsMTggKzM3LDYgQEAgc3RhdGljIHZvaWQgc3VuOGlfdmlfbGF5 ZXJfZW5hYmxlKHN0cnVjdAo+ID4gc3VuOGlfbWl4ZXIKPiA+ID4gPiA+ICptaXhlciwgaW50IGNo YW5uZWwsCj4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgClNVTjhJX01J WEVSX0NIQU5fVklfTEFZRVJfQVRUUihjaF9iYXNlLAo+ID4gPiA+ID4gb3ZlcmxheSksCj4gPiA+ ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgU1VOOElfTUlYRVJfQ0hBTl9WSV9M QVlFUl9BVFRSX0VOLCAKdmFsKTsKPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IC0gICAgICAg aWYgKCFlbmFibGUgfHwgenBvcyAhPSBvbGRfenBvcykgewo+ID4gPiA+ID4gPiA+IC0gICAgICAg ICAgICAgICByZWdtYXBfdXBkYXRlX2JpdHMobWl4ZXItPmVuZ2luZS5yZWdzLAo+ID4gPiA+ID4g PiA+IC0KPiA+IFNVTjhJX01JWEVSX0JMRU5EX1BJUEVfQ1RMKGJsZF9iYXNlKSwKPiA+ID4gPiA+ ID4gPiAtCj4gPiA+ID4gPiBTVU44SV9NSVhFUl9CTEVORF9QSVBFX0NUTF9FTihvbGRfenBvcyks Cj4gPiA+ID4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsKPiA+ ID4gPiA+ID4gPiAtCj4gPiA+ID4gPiA+ID4gLSAgICAgICAgICAgICAgIHJlZ21hcF91cGRhdGVf Yml0cyhtaXhlci0+ZW5naW5lLnJlZ3MsCj4gPiA+ID4gPiA+ID4gLQo+ID4gU1VOOElfTUlYRVJf QkxFTkRfUk9VVEUoYmxkX2Jhc2UpLAo+ID4gPiA+ID4gPiA+IC0KPiA+ID4gPiA+IFNVTjhJX01J WEVSX0JMRU5EX1JPVVRFX1BJUEVfTVNLKG9sZF96cG9zKSwKPiA+ID4gPiA+ID4gPiAtICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDApOwo+ID4gPiA+ID4gPiA+IC0gICAgICAgfQo+ ID4gPiA+ID4gPiA+IC0KPiA+ID4gPiA+ID4gPiAgICAgICAgIGlmIChlbmFibGUpIHsKPiA+ID4g PiA+ID4gPiAgICAgICAgICAgICAgICAgdmFsID0gU1VOOElfTUlYRVJfQkxFTkRfUElQRV9DVExf RU4oenBvcyk7Cj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiBAQCAtMzk1LDMxICszODIsMjQg QEAgc3RhdGljIGludCAKc3VuOGlfdmlfbGF5ZXJfYXRvbWljX2NoZWNrKHN0cnVjdAo+ID4gPiA+ ID4gZHJtX3BsYW5lICpwbGFuZSwKPiA+ID4gPiA+ID4gPiAgc3RhdGljIHZvaWQgc3VuOGlfdmlf bGF5ZXJfYXRvbWljX2Rpc2FibGUoc3RydWN0IGRybV9wbGFuZSAKKnBsYW5lLAo+ID4gPiA+ID4g PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCAKZHJt X2F0b21pY19zdGF0ZQo+ID4gKnN0YXRlKQo+ID4gPiA+ID4gPiA+ICB7Cj4gPiA+ID4gPiA+ID4g LSAgICAgICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpvbGRfc3RhdGUgPQo+ID4gPiA+ID4gZHJt X2F0b21pY19nZXRfb2xkX3BsYW5lX3N0YXRlKHN0YXRlLAo+ID4gPiA+ID4gPiA+IC0KPiA+ID4g PiA+IHBsYW5lKTsKPiA+ID4gPiA+ID4gPiAgICAgICAgIHN0cnVjdCBzdW44aV92aV9sYXllciAq bGF5ZXIgPQo+ID4gcGxhbmVfdG9fc3VuOGlfdmlfbGF5ZXIocGxhbmUpOwo+ID4gPiA+ID4gPiA+ IC0gICAgICAgdW5zaWduZWQgaW50IG9sZF96cG9zID0gb2xkX3N0YXRlLT5ub3JtYWxpemVkX3pw b3M7Cj4gPiA+ID4gPiA+ID4gICAgICAgICBzdHJ1Y3Qgc3VuOGlfbWl4ZXIgKm1peGVyID0gbGF5 ZXItPm1peGVyOwo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gLSAgICAgICBzdW44aV92aV9s YXllcl9lbmFibGUobWl4ZXIsIGxheWVyLT5jaGFubmVsLCBsYXllci0KPm92ZXJsYXksCj4gPiA+ ID4gPiBmYWxzZSwgMCwKPiA+ID4gPiA+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBvbGRfenBvcyk7Cj4gPiA+ID4gPiA+ID4gKyAgICAgICBzdW44aV92aV9sYXllcl9lbmFibGUo bWl4ZXIsIGxheWVyLT5jaGFubmVsLCBsYXllci0KPm92ZXJsYXksCj4gPiA+ID4gPiBmYWxzZSwg MCk7Cj4gPiA+ID4gPiA+ID4gIH0KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ICBzdGF0aWMg dm9pZCBzdW44aV92aV9sYXllcl9hdG9taWNfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgCipwbGFu ZSwKPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlCj4gPiAqc3RhdGUpCj4gPiA+ID4gPiA+ID4gIHsKPiA+ ID4gPiA+ID4gPiAtICAgICAgIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm9sZF9zdGF0ZSA9Cj4g PiA+ID4gPiBkcm1fYXRvbWljX2dldF9vbGRfcGxhbmVfc3RhdGUoc3RhdGUsCj4gPiA+ID4gPiA+ ID4gLQo+ID4gPiA+ID4gcGxhbmUpOwo+ID4gPiA+ID4gPiA+ICAgICAgICAgc3RydWN0IGRybV9w bGFuZV9zdGF0ZSAqbmV3X3N0YXRlID0KPiA+ID4gPiA+IGRybV9hdG9taWNfZ2V0X25ld19wbGFu ZV9zdGF0ZShzdGF0ZSwKPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gcGxhbmUpOwo+ID4gPiA+ID4g PiA+ICAgICAgICAgc3RydWN0IHN1bjhpX3ZpX2xheWVyICpsYXllciA9Cj4gPiBwbGFuZV90b19z dW44aV92aV9sYXllcihwbGFuZSk7Cj4gPiA+ID4gPiA+ID4gICAgICAgICB1bnNpZ25lZCBpbnQg enBvcyA9IG5ld19zdGF0ZS0+bm9ybWFsaXplZF96cG9zOwo+ID4gPiA+ID4gPiA+IC0gICAgICAg dW5zaWduZWQgaW50IG9sZF96cG9zID0gb2xkX3N0YXRlLT5ub3JtYWxpemVkX3pwb3M7Cj4gPiA+ ID4gPiA+ID4gICAgICAgICBzdHJ1Y3Qgc3VuOGlfbWl4ZXIgKm1peGVyID0gbGF5ZXItPm1peGVy Owo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gICAgICAgICBpZiAoIW5ld19zdGF0ZS0+dmlz aWJsZSkgewo+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICBzdW44aV92aV9sYXllcl9lbmFi bGUobWl4ZXIsIGxheWVyLT5jaGFubmVsLAo+ID4gPiA+ID4gPiA+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbGF5ZXItPm92ZXJsYXksIGZhbHNlLCAwLAo+ID4gb2xkX3pw b3MpOwo+ID4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bGF5ZXItPm92ZXJsYXksIGZhbHNlLCAwKTsKPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAg cmV0dXJuOwo+ID4gPiA+ID4gPiA+ICAgICAgICAgfQo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ ID4gQEAgLTQzMiw3ICs0MTIsNyBAQCBzdGF0aWMgdm9pZCAKc3VuOGlfdmlfbGF5ZXJfYXRvbWlj X3VwZGF0ZShzdHJ1Y3QKPiA+ID4gPiA+IGRybV9wbGFuZSAqcGxhbmUsCj4gPiA+ID4gPiA+ID4g ICAgICAgICBzdW44aV92aV9sYXllcl91cGRhdGVfYnVmZmVyKG1peGVyLCBsYXllci0+Y2hhbm5l bCwKPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5 ZXItPm92ZXJsYXksIHBsYW5lKTsKPiA+ID4gPiA+ID4gPiAgICAgICAgIHN1bjhpX3ZpX2xheWVy X2VuYWJsZShtaXhlciwgbGF5ZXItPmNoYW5uZWwsIGxheWVyLQo+b3ZlcmxheSwKPiA+ID4gPiA+ ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlLCB6cG9zLCBvbGRfenBvcyk7 Cj4gPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSwgenBvcyk7 Cj4gPiA+ID4gPiA+ID4gIH0KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ICBzdGF0aWMgY29u c3Qgc3RydWN0IGRybV9wbGFuZV9oZWxwZXJfZnVuY3MKPiA+IHN1bjhpX3ZpX2xheWVyX2hlbHBl cl9mdW5jcyA9Cj4gPiA+ID4gPiB7Cj4gPiA+ID4gPiA+ID4gLS0KPiA+ID4gPiA+ID4gPiAyLjMw LjIKPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4KPiA+ID4gPiA+Cj4gPiA+Cj4g Pgo+ID4KPiAKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5p bmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8v bGludXgtYXJtLWtlcm5lbAo=