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 BD298C433EF for ; Mon, 13 Dec 2021 09:32:45 +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:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=DgJLiTgqShW1uv5tr6iF0NmYzVYwedGqypXsKcevGrE=; b=HG0K25uCy3Hwcj 56prKE3CbQY5OD1jxfe39hPdicOTafn56SZDg57qXES4kkvYc+BnvVIGIWDrnUmPudQR9GdG5lxoz hiAomdOW3SS1z6VCL3VQZ1Dy+JbrWne//JKRt/+cO227G9JNcOu9tkyUTBXiuH1DQojVPq8Jxa3wA h+DiMaDtLKp20n10i+nXAvq9420aKHecEJRERexGhDnZ1tdYQhxJqq25upunM/gyTLhJD73IhAOGy 2o6vxdnZKCxQePCglC0BNcAHW0KLdpPaENHw7qmAh/frfRNLd9oxBMUvva4H4GOdvR/RlTTFznnwE n7Bt1NafSbt4EAR7tnHg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mwhgj-008eSW-3S; Mon, 13 Dec 2021 09:32:05 +0000 Received: from relay4-d.mail.gandi.net ([217.70.183.196]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mwhen-008dtj-Bx; Mon, 13 Dec 2021 09:30:07 +0000 Received: (Authenticated sender: miquel.raynal@bootlin.com) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 1E583E0019; Mon, 13 Dec 2021 09:29:58 +0000 (UTC) Date: Mon, 13 Dec 2021 10:29:56 +0100 From: Miquel Raynal To: "xiangsheng.hou" Cc: , , , , , , , , , , , , Subject: Re: [RFC,v4,2/5] mtd: nand: ecc: mtk: Convert to the ECC infrastructure Message-ID: <20211213102956.559e98a1@xps13> In-Reply-To: <4debdf60521d13a2ee54e65fa2f545040e74fed7.camel@mediatek.com> References: <20211130083202.14228-1-xiangsheng.hou@mediatek.com> <20211130083202.14228-3-xiangsheng.hou@mediatek.com> <20211209113209.71fe8ea7@xps13> <20211210103426.0850d8d5@xps13> <4debdf60521d13a2ee54e65fa2f545040e74fed7.camel@mediatek.com> Organization: Bootlin X-Mailer: Claws Mail 3.17.7 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211213_013005_728918_4D63CA27 X-CRM114-Status: GOOD ( 38.30 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org SGkgWGlhbmdzaGVuZywKCnhpYW5nc2hlbmcuaG91QG1lZGlhdGVrLmNvbSB3cm90ZSBvbiBTYXQs IDExIERlYyAyMDIxIDExOjI1OjQ2ICswODAwOgoKPiBIaSBNaXF1ZWwsCj4gCj4gT24gRnJpLCAy MDIxLTEyLTEwIGF0IDEwOjM0ICswMTAwLCBNaXF1ZWwgUmF5bmFsIHdyb3RlOgo+ID4gSGVsbG8s Cj4gPiAKPiA+IHhpYW5nc2hlbmcuaG91QG1lZGlhdGVrLmNvbSB3cm90ZSBvbiBGcmksIDEwIERl YyAyMDIxIDE3OjA5OjE0ICswODAwOiAgCj4gPiA+ICAgCj4gPiA+ID4gQXMgdGhpcyB3aWxsIGJl IHRoZSBleGFjdCBzYW1lIGZ1bmN0aW9uIGZvciBhbGwgdGhlIHBpcGVsaW5lZAo+ID4gPiA+IGVu Z2luZXMsCj4gPiA+ID4gSSBhbSB0ZW1wdGVkIHRvIHB1dCB0aGlzIGluIHRoZSBjb3JlLiBJJ2xs IHNvb24gc2VuZCBhIGl0ZXJhdGlvbiwKPiA+ID4gPiBzdGF5Cj4gPiA+ID4gdHVuZWQuCj4gPiA+ ID4gICAgIAo+ID4gPiAKPiA+ID4gTG9vayBmb3J3YXJkIHRvIHRoZSBmdW5jdGlvbi4gIAo+ID4g Cj4gPiBJIHNlbnQgdGhlIG5ldyB2ZXJzaW9uIHllc3RlcmRheSBidXQgSQo+ID4gKiBmb3Jnb3Qg dG8gQ0M6IHlvdQo+ID4gKiBmb3Jnb3QgYWJvdXQgdGhhdCBmdW5jdGlvbiBhcyB3ZWxsCj4gPiAK PiA+IExldCdzIGlnbm9yZSB0aGlzIGNvbW1lbnQgZm9yIG5vdywgc2VuZCB5b3VyIGRyaXZlciB3 aXRoIHRoZSBzYW1lCj4gPiBmdW5jdGlvbiBpbiBpdCBhbmQgSSdsbCBjbGVhbiB0aGF0IHVwIGxh dGVyLgo+ID4gCj4gPiBIZXJlIGlzIHRoZSBuZXcgaXRlcmF0aW9uLCBzb3JyeSBmb3IgZm9yZ2V0 dGluZyB0byBzZW5kIGl0IHRvIHlvdSBhcwo+ID4gd2VsbDoKPiA+ICAgCj4gaHR0cHM6Ly9sb3Jl Lmtlcm5lbC5vcmcvbGludXgtbXRkLzIwMjExMjA5MTc0MDQ2LjUzNTIyOS0xLW1pcXVlbC5yYXlu YWxAYm9vdGxpbi5jb20vVC8KPiA+IEFuZCBoZXJlIGlzIGEgR2l0aHViIGJyYW5jaCBhcyB3ZWxs Ogo+ID4gaHR0cHM6Ly9naXRodWIuY29tL21pcXVlbHJheW5hbC9saW51eC90cmVlL2VjYy1lbmdp bmUgIAo+IAo+IEdvdCBpdCwgVGhhbmtzLgo+IAo+ID4gICAKPiA+ID4gPiA+ICsJCQkJc3RydWN0 IG5hbmRfcGFnZV9pb19yZXEgKnJlcSkKPiA+ID4gPiA+ICt7Cj4gPiA+ID4gPiArCXN0cnVjdCBt dGtfZWNjX2VuZ2luZSAqZW5nID0gbmFuZF90b19lY2NfY3R4KG5hbmQpOwo+ID4gPiA+ID4gKwlp bnQgc3RlcF9zaXplID0gbmFuZC0+ZWNjLmN0eC5jb25mLnN0ZXBfc2l6ZTsKPiA+ID4gPiA+ICsJ dm9pZCAqZGF0YWJ1ZiwgKm9vYmJ1ZjsKPiA+ID4gPiA+ICsJaW50IGk7Cj4gPiA+ID4gPiArCj4g PiA+ID4gPiArCWlmIChyZXEtPnR5cGUgPT0gTkFORF9QQUdFX1dSSVRFKSB7Cj4gPiA+ID4gPiAr CQlkYXRhYnVmID0gKHZvaWQgKilyZXEtPmRhdGFidWYub3V0Owo+ID4gPiA+ID4gKwkJb29iYnVm ID0gKHZvaWQgKilyZXEtPm9vYmJ1Zi5vdXQ7Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiArCQkvKgo+ ID4gPiA+ID4gKwkJICogQ29udmVydCB0aGUgc291cmNlIGRhdGFidWYgYW5kIG9vYmJ1ZiB0byBN VEsKPiA+ID4gPiA+IEVDQwo+ID4gPiA+ID4gKwkJICogb24tZmxhc2ggZGF0YSBmb3JtYXQuCj4g PiA+ID4gPiArCQkgKi8KPiA+ID4gPiA+ICsJCWZvciAoaSA9IDA7IGkgPCBlbmctPm5zdGVwczsg aSsrKSB7Cj4gPiA+ID4gPiArCQkJaWYgKGkgPT0gZW5nLT5iYm1fY3RsLnNlY3Rpb24pCj4gPiA+ ID4gPiArCQkJCWVuZy0+YmJtX2N0bC5iYm1fc3dhcChuYW5kLAo+ID4gPiA+ID4gKwkJCQkJCSAg ICAgIGRhdGFidWYsCj4gPiA+ID4gPiBvb2JidWYpOyAgICAKPiA+ID4gPiAKPiA+ID4gPiBEbyB5 b3UgcmVhbGx5IG5lZWQgdGhpcyBzd2FwPyBJc24ndCB0aGUgb3ZlcmFsbCBtb3ZlIGVub3VnaCB0 bwo+ID4gPiA+IHB1dAo+ID4gPiA+IHRoZQo+ID4gPiA+IEJCTSBhdCB0aGUgcmlnaHQgcGxhY2U/ Cj4gPiA+ID4gICAgIAo+ID4gPiAKPiA+ID4gRm9yIE9QU19SQVcgbW9kZSwgbmVlZCBvcmdhbml6 ZSBmbGFzaCBkYXRhIGluIHRoZSBNVEsgRUNDIGVuZ2luZQo+ID4gPiBkYXRhCj4gPiA+IGZvcm1h dC4gT3RoZXIgb3BlcmF0aW9uIGluIHRoaXMgZnVuY3Rpb24gb25seSBvcmdhbml6ZSBkYXRhIGJ5 Cj4gPiA+IHNlY3Rpb24KPiA+ID4gYW5kIG5vdCBpbmNsdWRlIEJCTSBzd2FwLgo+ID4gPiAKPiA+ ID4gRm9yIG90aGVyIG1vZGUsIHRoaXMgZnVuY3Rpb24gd2lsbCBub3QgYmUgY2FsbGVkLiAgCj4g PiAKPiA+IENhbiB5b3UgdHJ5IHRvIGV4cGxhaW4gdGhpcyB3aXRoIGFuIGFzY2lpIHNjaGVtYSBh Z2Fpbj8gSSdtIHNvcnJ5IGJ1dAo+ID4gSQo+ID4gZG9uJ3QgZm9sbG93IGl0LiBJcyB0aGUgQkJN IHBsYWNlZCBpbiB0aGUgZmlyc3QgYnl0ZXMgb2YgdGhlIGZpcnN0Cj4gPiBvb2IKPiA+IGFyZWEg YnkgdGhlIGVuZ2luZT8gT3IgaXMgaXQgcGxhY2Ugc29tZXdoZXJlIGVsc2U/Cj4gPiAgIAo+IAo+ IFllcywgdGhlIEJCTSB3aWxsIGF0IHRoZSBmaXJzdCBPT0IgYXJlYSBpbiBOQU5EIHN0YW5kYXJk IGxheW91dCBhZnRlcgo+IEJCTSBzd2FwLgo+IAo+IDAuIERpZmZlcmVudGlhbCBvbi1mbGFzaCBk YXRhIGxheW91dAo+IAo+IE5BTkQgc3RhbmRhcmQgcGFnZSBsYXlvdXQKPiArLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSsKPiB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgIHwKPiB8ICAgICAgICAgICAgbWFpbiBhcmVhICAgICAgICAg fCAgIE9PQiBhcmVhIHwKPiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgIHwKPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSsKPiAK PiBNVEsgRUNDIG9uLWZsYXNoIHBhZ2UgbGF5b3V0ICgyIHNlY3Rpb24gZm9yIGV4YW1wbGUpCj4g Ky0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0rCj4gfCAgICAgICAg ICAgIHwgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICB8ICAgIAo+IHwgc2VjdGlvbigwKSB8 IE9PQigwKSB8IHNlY3Rpb24oMSkgfCBPT0IoMSkgfAo+IHwgICAgICAgICAgICB8ICAgICAgICB8 ICAgICAgICAgICAgfCAgICAgICAgfCAKPiArLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLSsKCkkgdGhpbmsgd2UgYXJlIGFsaWduZWQgb24gdGhhdCBwYXJ0LgoKVGhl IEJCTSBpcyBwdXJlbHkgYSB1c2VyIGNvbmNlcHRpb24sIGl0IGlzIG5vdCBzb21ldGhpbmcgd2ly ZWQgaW4gdGhlCmhhcmR3YXJlLiBXaGF0IEkgbWVhbiBpczogd2h5IGRvICp5b3UqIHRoaW5rIHRo ZSBCQk0gc2hvdWxkIGJlIGxvY2F0ZWQKaW4gdGhlIG1pZGRsZSBvZiBzZWN0aW9uICMxID8KClRo ZXJlIGlzIG9uZSBsYXlvdXQ6IHRoZSBsYXlvdXQgZnJvbSB0aGUgTkFORC9NVEQgcGVyc3BlY3Rp dmUuClRoZXJlIGlzIGFub3RoZXIgbGF5b3V0OiB0aGUgbGF5b3V0IG9mIHlvdXIgRUNDIGVuZ2lu ZS4KCkp1c3QgY29uc2lkZXIgdGhhdCB0aGUgQkJNIHNob3VsZCBiZSBhdCBieXRlIDAgb2YgT09C ICMwIGFuZCB5b3Ugd2lsbApub3QgbmVlZCBhbnkgQkJNIHN3YXAgb3BlcmF0aW9uIGFueW1vcmUu IEkgZG9uJ3QgdW5kZXJzdGFuZCB3aHkgeW91CmFic29sdXRlbHkgd2FudCB0byBwdXQgaXQgaW4g c2VjdGlvbiAjMS4KCj4gVGhlIHN0YW5kYXJkIEJCTSBwb3NpdGlvbiB3aWxsIGJlIHNlY3Rpb24o MSkgbWFpbiBkYXRhLAo+IG5lZWQgZG8gdGhlIEJCTSBzd2FwIG9wZXJhdGlvbi4KPiAKPiByZXF1 ZXN0IGJ1ZmZlciBpbmNsdWRlIHJlcS0+ZGF0YWJ1ZiBhbmQgcmVxLT5vb2JidWYuCj4gKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gfCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 Cj4gfCAgICAgcmVxLT5kYXRhYnVmICAgICAgICAgICB8Cj4gfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8Cj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gCj4gKy0tLS0tLS0t LS0tLS0rCj4gfCAgICAgICAgICAgICB8Cj4gfCByZXEtPm9vYmJ1ZiB8Cj4gfCAgICAgICAgICAg ICB8Cj4gKy0tLS0tLS0tLS0tLS0rCj4gCj4gMS4gRm9yIHRoZSBPUFNfUkFXIG1vZGUKPiAKPiBF eHBlY3QgdGhlIG9uLWZsYXNoIGRhdGEgZm9ybWF0IGlzIGxpa2UgTVRLIEVDQyBsYXlvdXQuCj4g VGhlIHNuZmkgY29udHJvbGxlciB3aWxsIHB1dCB0aGUgb24tZmxhc2ggZGF0YSBhcyBpcwo+IHNw aV9tZW1fb3AtPmRhdGEuYnVmLm91dC4KPiAKPiBUaGVyZWZvcmUsIHRoZSBFQ0MgZW5naW5lIGhh dmUgdG8gcmVvcmdhbml6ZSB0aGUgcmVxdWVzdAo+IGRhdGEgYW5kIE9PQiBidWZmZXIgaW4gNCBw YXJ0IGZvciBlYWNoIHNlY3Rpb24gaW4KPiBPUFNfUkFXIG1vZGUuCj4gCj4gMSkgQkJNIHN3YXAs IG9ubHkgZm9yIHRoZSBzZWN0aW9uIG5lZWQgZG8gdGhlIHN3YXAKPiAyKSBzZWN0aW9uIG1haW4g ZGF0YQo+IDMpIE9PQiBmcmVlIGRhdGEKPiA0KSBPT0IgRUNDIGRhdGEKPiAKPiBUaGUgQkJNIHN3 YXAgd2lsbCBlbnN1cmUgdGhlIEJCTSBwb3NpdGlvbiBpbiBNVEsgRUNDCj4gb24tZmxhc2ggbGF5 b3V0IGlzIHNhbWUgYXMgTkFORCBzdGFuZGFyZCBsYXlvdXQgaW4KPiBPUFNfUkFXIG1vZGUuCj4g Cj4gZm9yIChpID0gMDsgaSA8IGVuZy0+bnN0ZXBzOyBpKyspIHsKPiAKPiAgICAgICAgIC8qIHBh cnQgMTogQkJNIHN3YXAgKi8KPiAgICAgICAgIGlmIChpID09IGVuZy0+YmJtX2N0bC5zZWN0aW9u KQo+ICAgICAgICAgICAgICAgICBlbmctPmJibV9jdGwuYmJtX3N3YXAobmFuZCwKPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFidWYsIG9vYmJ1Zik7Cj4gCj4gCS8q IHBhcnQgMjogbWFpbiBkYXRhIGluIHRoaXMgc2VjdGlvbiAqLwo+ICAgICAgICAgbWVtY3B5KG10 a19lY2Nfc2VjdGlvbl9wdHIobmFuZCwgaSksCj4gICAgICAgICAgICAgICAgZGF0YWJ1ZiArIG10 a19lY2NfZGF0YV9vZmYobmFuZCwgaSksCj4gICAgICAgICAgICAgICAgc3RlcF9zaXplKTsKPiAK PiAgICAgICAgIC8qIHBhcnQgMzogT09CIGZyZWUgZGF0YSAqLwo+ICAgICAgICAgbWVtY3B5KG10 a19lY2Nfb29iX2ZyZWVfcHRyKG5hbmQsIGkpLAo+ICAgICAgICAgICAgICAgIG9vYmJ1ZiArIG10 a19lY2Nfb29iX2ZyZWVfcG9zaXRpb24obmFuZCwgaSksCj4gICAgICAgICAgICAgICAgZW5nLT5v b2JfZnJlZSk7Cj4gCj4gICAgICAgICAvKiBwYXJ0IDQ6IE9PQiBFQ0MgZGF0YSAqLwo+ICAgICAg ICAgbWVtY3B5KG10a19lY2Nfb29iX2ZyZWVfcHRyKG5hbmQsIGkpICsgZW5nLT5vb2JfZnJlZSwK PiAgICAgICAgICAgICAgICBvb2JidWYgKyBlbmctPm9vYl9mcmVlICogZW5nLT5uc3RlcHMgKwo+ ICAgICAgICAgICAgICAgIGkgKiBlbmctPm9vYl9lY2MsCj4gICAgICAgICAgICAgICAgZW5nLT5v b2JfZWNjKTsKPiB9Cj4gCj4gMi4gRm9yIG5vbiBPUFNfUkFXIG1vZGUKPiAKPiBUaGUgc25maSBo YXZlIGEgZnVuY3Rpb24gY2FsbGVkIGF1dG8gZm9ybWF0IHdpdGggRUNDIGVuYWJsZS4KPiBUaGlz IHdpbGwgYXV0byByZW9yZ2FuaXplIHRoZSByZXF1ZXN0IGRhdGEgYW5kIG9vYiBkYXRhIGluCj4g TVRLIEVDQyBwYWdlIGxheW91dCBieSB0aGUgc25maSBjb250cm9sbGVyIGV4Y2VwdCB0aGUgQkJN IHBvc2l0aW9uLgo+IAo+IFRoZXJlZm9yZSwgdGhlIEVDQyBlbmdpbmUgb25seSBuZWVkIGRvIHRo ZSBCQk0gc3dhcCBhZnRlciBzZXQgT09CIGRhdGEKPiBieXRlcyBpbiBPUFNfQVVUTyBvciBhZnRl ciBtZW1jcHkgb29iIGRhdGEgaW4gT1BTX1BMQUNFX09PQiBmb3Igd3JpdGUKPiBvcGVyYXRpb24u Cj4gCj4gVGhlIEJCTSBzd2FwIGFsc28gZW5zdXJlIHRoZSBCQk0gcG9zaXRpb24gaW4gTVRLIEVD QyBvbi1mbGFzaAo+IGxheW91dCBpcwo+IHNhbWUgYXMgTkFORCBzdGFuZGFyZCBsYXlvdXQgaW4g bm9uIE9QU19SQVcgbW9kZS4KPiAKPiBpZiAocmVxLT5vb2JsZW4pIHsKPiAgICAgICAgIGlmIChy ZXEtPm1vZGUgPT0gTVREX09QU19BVVRPX09PQikgewo+ICAgICAgICAgICAgICAgICByZXQgPSBt dGRfb29ibGF5b3V0X3NldF9kYXRhYnl0ZXMobXRkLAo+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxLT5vb2JidWYub3V0LAo+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5nLT5ib3VuY2Vfb29iX2J1 ZiwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl cS0+b29ib2ZmcywKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG10ZC0+b29iYXZhaWwpOwo+ICAgICAgICAgICAgICAgICBpZiAocmV0KQo+ICAgICAg ICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4gICAgICAgICB9IGVsc2Ugewo+ICAgICAg ICAgICAgICAgICBtZW1jcHkoZW5nLT5ib3VuY2Vfb29iX2J1ZiArIHJlcS0+b29ib2ZmcywKPiAg ICAgICAgICAgICAgICAgICAgICAgIHJlcS0+b29iYnVmLm91dCwKPiAgICAgICAgICAgICAgICAg ICAgICAgIHJlcS0+b29ibGVuKTsKPiAgICAgICAgIH0KPiB9Cj4gCj4gZW5nLT5iYm1fY3RsLmJi bV9zd2FwKG5hbmQsICh2b2lkICopcmVxLT5kYXRhYnVmLm91dCwKPiAgICAgICAgICAgICAgICAg ICAgICAgZW5nLT5ib3VuY2Vfb29iX2J1Zik7Cj4gCj4gVGhhbmtzCj4gWGlhbmdzaGVuZyBIb3UK CgpUaGFua3MsCk1pcXXDqGwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpMaW51eCBNVEQgZGlzY3Vzc2lvbiBtYWlsaW5nIGxpc3QKaHR0cDov L2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1tdGQvCg==