From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 356E5606A31B for ; Fri, 23 Oct 2026 07:35:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=c40oQW99; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=UjPBsuv3 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:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Date:References: In-Reply-To:Cc:To:Subject:From:Message-ID:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Unsubscribe-Post:List-Owner; bh=JpeRWgRjuakArKBMfCUNINFVK0ecdldVY75D2kxDTZc=; b=c40oQW99yuevzMh5yYPyDTxzn1 dZOZE78hNY5xSOBe2DemjckahussGnBNL4I7+Z1IkT5JETOtx+tLaUztxczq8SM/0Gg8A2TMXNXs9 vWFvzAohQkxv4hHHRrJQjgajw7gZPqd/nVF+VhcIxjIk1IYDj0pbbjdI8pgFMYpytd+9ZO3avPllO 4XygFLEenDMB0qd34JPxmQLGdKY5PZeg9GOkxTKjFflfBx33ASWDZDnnvSO21u4zuVNKXAwl1ALz9 8r0g/LFnoadl5/M/hk5VeMv1EXMcxEEgfBmDfxl5t/ItGUhEB2yYV4IznH1mY5e/rEMHZcs3dEO/k S16hwnUw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.100.1 #2 (Red Hat Linux)) id 1xK9nu-0000000FmMt-1kuB; Fri, 23 Oct 2026 07:35:06 +0000 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.100.1 #2 (Red Hat Linux)) id 1xK9ns-0000000FmM3-02GJ for linux-mtd@lists.infradead.org; Fri, 23 Oct 2026 07:35:04 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 5DEE541288; Fri, 23 Oct 2026 07:35:03 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id EA3CD1F01828; Fri, 23 Oct 2026 07:35:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1792740903; bh=I/ebZhn9Ly8/Im4kql03EQBUmpN6lKfz+E/Pl3Vbxow=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=UjPBsuv3kUsijbsGbJg7QWkanuqz/eu+cc+ndHbtUnYYJ0C82Xf6lpT7LpCa88vU5 V7fy1mrqo4TJN7yD2Cv/nkLmT4l74B7iV8sS6qZBuyZ9ND5ZY0X3obALHufI6GsgcJ XHoTxgiCjrY0LG5v/FKdEUL8ZVEgl3crDfd/LcCU8anp5jUhgI8tQ2eut5jYNtc+SC bftM8cSZ/JkbvuXP1CVSSbLAWTqeQgNuhs0ojMJ2MuhzqKH047/Y4L63Sv2diHCpko o+KTxCxqSF3r0DYjiUxJZ8LIvl3yBBEaWyZXn/D74vJNpOPQptMKTEFOus8HvomqKk 8J6fO0TUaToWA== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [PATCH v3] ubifs: zero stale data beyond EOF before file size grows To: "Nan Lin" , chengzhihao1@huawei.com Cc: linux-mtd@lists.infradead.org, richard@nod.at, wangxiaoqing@h3c.com, zhou.kete@h3c.com In-Reply-To: <20261023071141.3507024-1-lin.nan@h3c.com> References: <9380b1bc-45b6-5d95-7260-5a8dc92acc09@huawei.com> <20261023071141.3507024-1-lin.nan@h3c.com> Date: Fri, 23 Oct 2026 07:35:02 +0000 X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sashiko-reviews@lists.linux.dev X-Archived-By: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" X-Spam-Status: No, score=-9.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on aws-us-west-2-korg-listserv-alma10-1 VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg MSBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0NyaXRpY2FsXSB1YmlmczogdW5s b2NrZWQgdWJpZnNfemVyb19lb2ZfaG9sZSgpIGluIHViaWZzX3dyaXRlX2l0ZXIoKSBjb3JydXB0 cyBkYXRhCi0tCgpjb21taXQgZjEwYjk1NmM2ZjMzZTdkMGM4YWJhMWVkOGY5NzljM2Q5ZTExOTdi ZgpBdXRob3I6IE5hbiBMaW4gPGxpbi5uYW5AaDNjLmNvbT4KCnViaWZzOiB6ZXJvIHN0YWxlIGRh dGEgYmV5b25kIEVPRiBiZWZvcmUgZmlsZSBzaXplIGdyb3dzCgpUaGlzIGNvbW1pdCBhZGRzIHVi aWZzX3plcm9fZW9mX2hvbGUoKSBhbmQgY2FsbHMgaXQgZnJvbSBkb19zZXRhdHRyKCkgYW5kCnVi aWZzX3dyaXRlX2l0ZXIoKSB0byB6ZXJvIHN0YWxlIHBvc3QtRU9GIGRhdGEgaW4gdGhlIGNhY2hl ZCBvbGQtRU9GIGZvbGlvCmJlZm9yZSBleHRlbmRpbmcgYSBmaWxlJ3Mgc2l6ZS4KCj4gZGlmZiAt LWdpdCBhL2ZzL3ViaWZzL2ZpbGUuYyBiL2ZzL3ViaWZzL2ZpbGUuYwo+IGluZGV4IGU3M2MyOGIx MmY5N2YuLmU5NGZiY2FlNmQzZDUgMTAwNjQ0Cj4gLS0tIGEvZnMvdWJpZnMvZmlsZS5jCj4gKysr IGIvZnMvdWJpZnMvZmlsZS5jCj4gQEAgLTIwMiw2ICsyMDIsNTMgQEAgc3RhdGljIHZvaWQgcmVs ZWFzZV9leGlzdGluZ19wYWdlX2J1ZGdldChzdHJ1Y3QgdWJpZnNfaW5mbyAqYykKPiAgCXViaWZz X3JlbGVhc2VfYnVkZ2V0KGMsICZyZXEpOwo+ICB9Cj4gIAo+ICsvKioKPiArICogdWJpZnNfemVy b19lb2ZfaG9sZSAtIHplcm8gdGhlIHN0YWxlIHRhaWwgb2YgdGhlIG9sZC1FT0YgZm9saW8uCj4g KyAqIEBpbm9kZTogaW5vZGUgd2hvc2Ugc2l6ZSBpcyBhYm91dCB0byBncm93Cj4gKyAqIEBuZXdf ZW5kOiBuZXcgZW5kIG9mIHRoZSBmaWxlLCBvbmx5IHVzZWQgdG8gYm91bmQgdGhlIHRhaWwKPiAr ICoKPiArICogWmVybyB0aGUgY2FjaGVkIGZvbGlvIGNvbnRhaW5pbmcgdGhlIG9sZCBFT0YgZm9y IFtvbGQgRU9GLAo+ICsgKiBtaW4oZm9saW8gZW5kLCBAbmV3X2VuZCkpIHNvIGEgc2l6ZSBleHRl bnNpb24gZG9lcyBub3QgZXhwb3NlIHN0YWxlCj4gKyAqIGRhdGEgbGVmdCBiZXlvbmQgRU9GIGJ5 IG1tYXAgd3JpdGVzLgo+ICsgKgo+ICsgKiBNdXN0IGJlIGNhbGxlZCB3aXRob3V0IHVpLT51aV9t dXRleCBoZWxkOiB3ZSBibG9jayBvbiB0aGUgb2xkLUVPRgo+ICsgKiBmb2xpbyBsb2NrLCBhbmQg LT53cml0ZXBhZ2UoKSBhbmQgLT5wYWdlX21rd3JpdGUoKSBob2xkIHRoYXQgZm9saW8KPiArICog bG9jayB3aGlsZSB0YWtpbmcgdWlfbXV0ZXg7IHRoZSByZXZlcnNlIG9yZGVyIGRlYWRsb2Nrcy4K PiArICovCj4gK3N0YXRpYyB2b2lkIHViaWZzX3plcm9fZW9mX2hvbGUoc3RydWN0IGlub2RlICpp bm9kZSwgbG9mZl90IG5ld19lbmQpCj4gK3sKPiArCWxvZmZfdCBvbGRfc2l6ZSA9IGlfc2l6ZV9y ZWFkKGlub2RlKTsKPiArCXNpemVfdCBmcm9tLCB0bzsKPiArCXN0cnVjdCBmb2xpbyAqZm9saW87 Cj4gKwo+ICsJaWYgKG5ld19lbmQgPD0gb2xkX3NpemUpCj4gKwkJcmV0dXJuOwo+ICsKPiArCWZv bGlvID0gZmlsZW1hcF9sb2NrX2ZvbGlvKGlub2RlLT5pX21hcHBpbmcsIG9sZF9zaXplID4+IFBB R0VfU0hJRlQpOwo+ICsJaWYgKElTX0VSUihmb2xpbykpCj4gKwkJcmV0dXJuOwo+ICsKPiArCS8q Cj4gKwkgKiBSZS1yZWFkIGlfc2l6ZSB1bmRlciB0aGUgZm9saW8gbG9jazogYSBjb25jdXJyZW50 IHRydW5jYXRlIG1heQo+ICsJICogaGF2ZSBzaHJ1bmsgdGhlIGZpbGUsIHR1cm5pbmcgdGhpcyBm b2xpbyBpbnRvIHZhbGlkIGRhdGEuCj4gKwkgKi8KPiArCW9sZF9zaXplID0gaV9zaXplX3JlYWQo aW5vZGUpOwo+ICsJaWYgKG5ld19lbmQgPD0gb2xkX3NpemUpCj4gKwkJZ290byBvdXQ7Cj4gKwo+ ICsJZnJvbSA9IG9mZnNldF9pbl9mb2xpbyhmb2xpbywgb2xkX3NpemUpOwo+ICsJaWYgKCFmcm9t KQo+ICsJCWdvdG8gb3V0Owo+ICsJdG8gPSBmb2xpb19jb250YWlucyhmb2xpbywgbmV3X2VuZCA+ PiBQQUdFX1NISUZUKSA/Cj4gKwkgICAgIG9mZnNldF9pbl9mb2xpbyhmb2xpbywgbmV3X2VuZCkg OiBmb2xpb19zaXplKGZvbGlvKTsKPiArCWlmICh0byA+IGZyb20pCj4gKwkJZm9saW9femVyb19y YW5nZShmb2xpbywgZnJvbSwgdG8gLSBmcm9tKTsKPiArCj4gK291dDoKPiArCWZvbGlvX3VubG9j ayhmb2xpbyk7Cj4gKwlmb2xpb19wdXQoZm9saW8pOwo+ICt9CgpbIC4uLiBdCgo+IEBAIC0xNDMz LDcgKzE0ODQsMTcgQEAgc3RhdGljIGludCB1cGRhdGVfbWN0aW1lKHN0cnVjdCBpbm9kZSAqaW5v ZGUpCj4gIAo+ICBzdGF0aWMgc3NpemVfdCB1Ymlmc193cml0ZV9pdGVyKHN0cnVjdCBraW9jYiAq aW9jYiwgc3RydWN0IGlvdl9pdGVyICpmcm9tKQo+ICB7Cj4gLQlpbnQgZXJyID0gdXBkYXRlX21j dGltZShmaWxlX2lub2RlKGlvY2ItPmtpX2ZpbHApKTsKPiArCXN0cnVjdCBpbm9kZSAqaW5vZGUg PSBmaWxlX2lub2RlKGlvY2ItPmtpX2ZpbHApOwo+ICsJaW50IGVycjsKPiArCj4gKwkvKgo+ICsJ ICogVGhlIHdyaXRlIG1heSBleHRlbmQgYmV5b25kIEVPRjogemVybyB0aGUgc3RhbGUgdGFpbCBv ZiB0aGUKPiArCSAqIG9sZC1FT0YgZm9saW8gZmlyc3QuCj4gKwkgKi8KPiArCWlmIChpb2NiLT5r aV9wb3MgPiBpX3NpemVfcmVhZChpbm9kZSkpCj4gKwkJdWJpZnNfemVyb19lb2ZfaG9sZShpbm9k ZSwgaW9jYi0+a2lfcG9zKTsKPiArCj4gKwllcnIgPSB1cGRhdGVfbWN0aW1lKGlub2RlKTsKPiAg CWlmIChlcnIpCj4gIAkJcmV0dXJuIGVycjsKCltTZXZlcml0eTogQ3JpdGljYWxdClVubGlrZSBk b19zZXRhdHRyKCkgKGNhbGxlZCB3aXRoIGlub2RlX2xvY2soaW5vZGUpIGhlbGQgdmlhIG5vdGlm eV9jaGFuZ2UoKSkKYW5kIGV4dDRfYnVmZmVyZWRfd3JpdGVfaXRlcigpIC0+IGV4dDRfd3JpdGVf Y2hlY2tzKCkgLT4KZXh0NF9ibG9ja196ZXJvX2VvZigpLCB1Ymlmc193cml0ZV9pdGVyKCkgY2Fs bHMgdWJpZnNfemVyb19lb2ZfaG9sZSgpIGJlZm9yZQpnZW5lcmljX2ZpbGVfd3JpdGVfaXRlcigp IGFjcXVpcmVzIGlub2RlX2xvY2soaW5vZGUpIGFuZCBydW5zCmdlbmVyaWNfd3JpdGVfY2hlY2tz KGlvY2IsIGZyb20pOgoKbW0vZmlsZW1hcC5jOmdlbmVyaWNfZmlsZV93cml0ZV9pdGVyKCkgewoJ aW5vZGVfbG9jayhpbm9kZSk7CglyZXQgPSBnZW5lcmljX3dyaXRlX2NoZWNrcyhpb2NiLCBmcm9t KTsKCWlmIChyZXQgPiAwKQoJCXJldCA9IF9fZ2VuZXJpY19maWxlX3dyaXRlX2l0ZXIoaW9jYiwg ZnJvbSk7Cglpbm9kZV91bmxvY2soaW5vZGUpOwp9CgpDYW4gY2FsbGluZyB1Ymlmc196ZXJvX2Vv Zl9ob2xlKCkgd2l0aG91dCBob2xkaW5nIGlub2RlX2xvY2soaW5vZGUpIGFuZApiZWZvcmUgZ2Vu ZXJpY193cml0ZV9jaGVja3MoKSBjYXVzZSBkYXRhIGNvcnJ1cHRpb24gYW5kIG90aGVyIHJlZ3Jl c3Npb25zPwoKMS4gSWYgdWJpZnNfemVyb19lb2ZfaG9sZSgpIHJlYWRzIGFuIGluaXRpYWwgb2xk X3NpemUgaW4gZm9saW8gMCAoZm9yCmV4YW1wbGUsIG9sZF9zaXplID0gMTAwKSBhbmQgY2FsbHMg ZmlsZW1hcF9sb2NrX2ZvbGlvKCkgb24gaW5kZXggMCwgYQpjb25jdXJyZW50IHdyaXRlciBvciBl eHRlbmRpbmcgZnRydW5jYXRlKCkgaG9sZGluZyBpbm9kZV9sb2NrKGlub2RlKSBjYW4KZXh0ZW5k IGlub2RlLT5pX3NpemUgaW50byBhIGxhdGVyIGZvbGlvIChmb3IgZXhhbXBsZSwgb2xkX3NpemUg YmVjb21lcyA1MTAwCmluIGZvbGlvIDEsIHdoaWxlIG5ld19lbmQgaXMgMTAwMDAgaW4gZm9saW8g MikgYmVmb3JlIGZvbGlvIDAgaXMgbG9ja2VkLgpBdCB0aGF0IHBvaW50LCBhbGwgb2YgZm9saW8g MCBpcyB2YWxpZCBjb21taXR0ZWQgZmlsZSBkYXRhLgoKV2hlbiB1Ymlmc196ZXJvX2VvZl9ob2xl KCkgYWNxdWlyZXMgdGhlIGxvY2sgb24gZm9saW8gMCBhbmQgcmUtcmVhZHMKb2xkX3NpemUgPSBp X3NpemVfcmVhZChpbm9kZSksIG5ld19lbmQgPD0gb2xkX3NpemUgaXMgc3RpbGwgZmFsc2UsIGFu ZCB0aGVyZQppcyBubyBjaGVjayB0aGF0IGZvbGlvX2NvbnRhaW5zKGZvbGlvLCBvbGRfc2l6ZSA+ PiBQQUdFX1NISUZUKS4gQ29tcHV0aW5nCmZyb20gPSBvZmZzZXRfaW5fZm9saW8oZm9saW8sIG9s ZF9zaXplKSBtYXNrcyB0aGUgbmV3IG9sZF9zaXplIGludG8gZm9saW8gMAphbmQgY2FsbHMgZm9s aW9femVyb19yYW5nZShmb2xpbywgMTAwNCwgMzA5Mikgb24gZm9saW8gMCwgemVyb2luZyBjb21t aXR0ZWQKaW4tYm91bmRzIGZpbGUgZGF0YSB3aGlsZSBsZWF2aW5nIHRoZSBhY3R1YWwgb2xkLUVP RiBmb2xpbyAoZm9saW8gMSkKdW56ZXJvZWQuCgpBIGNvbmN1cnJlbnQgc2hyaW5raW5nIHRydW5j YXRlIHRoYXQgbW92ZXMgaV9zaXplIGludG8gYW4gZWFybGllciBmb2xpbwpiZWZvcmUgdHJ1bmNh dGVfcGFnZWNhY2hlKCkgZXZpY3RzIHRoZSBsb2NrZWQgZm9saW8gd2lsbCBzaW1pbGFybHkgemVy byB0aGUKd3JvbmcgZm9saW8uIEFuZCBpZiBhIGNvbmN1cnJlbnQgZXh0ZW5kaW5nIGZ0cnVuY2F0 ZSgpIHVwZGF0ZXMgaV9zaXplIGluCnRydW5jYXRlX3NldHNpemUoKSByaWdodCBhZnRlciB1Ymlm c196ZXJvX2VvZl9ob2xlKCkgcmUtcmVhZHMgb2xkX3NpemUsCnVzZXJzcGFjZSBtbWFwIHdyaXRl cyB0byB0aGUgbmV3bHkgaW4tYm91bmRzIHJlZ2lvbiBjYW4gYmUgb3ZlcndyaXR0ZW4gYnkKZm9s aW9femVyb19yYW5nZSgpLgoKMi4gQmVjYXVzZSBpbm9kZV9sb2NrKGlub2RlKSBpcyBub3QgaGVs ZCBhbmQgZm9saW9fbG9jayBpcyBkcm9wcGVkIGJlZm9yZQp1cGRhdGVfbWN0aW1lKCkgKHdoaWNo IGNhbiBzbGVlcCBpbiB1Ymlmc19idWRnZXRfc3BhY2UoKSkgYW5kIGJlZm9yZQpnZW5lcmljX2Zp bGVfd3JpdGVfaXRlcigpIGxvY2tzIHRoZSBpbm9kZSwgYSBjb25jdXJyZW50IHRydW5jYXRlIG9y IHdyaXRlIGNhbgpjaGFuZ2UgaV9zaXplIG9yIGFuIG1tYXAgd3JpdGUgY2FuIHJlLWRpcnR5IHRo ZSBwb3N0LUVPRiB0YWlsIGluIHRoZSB3aW5kb3cKYmV0d2VlbiB1Ymlmc196ZXJvX2VvZl9ob2xl KCkgYW5kIF9fZ2VuZXJpY19maWxlX3dyaXRlX2l0ZXIoKSwgbGVhdmluZyBzdGFsZQpkYXRhIGJl eW9uZCBFT0YgdW56ZXJvZWQuCgozLiBCZWNhdXNlIGdlbmVyaWNfd3JpdGVfY2hlY2tzKCkgaGFz IG5vdCBydW4geWV0OgotIEZvciBPX0FQUEVORCBvciBSV0ZfQVBQRU5EIHdyaXRlcyB3aGVyZSBr aV9wb3Mgd2FzIHBvc2l0aW9uZWQgcGFzdCBFT0YsCiAgZ2VuZXJpY193cml0ZV9jaGVja3NfY291 bnQoKSBsYXRlciByZXNldHMgaW9jYi0+a2lfcG9zIHRvIGlfc2l6ZV9yZWFkKGlub2RlKQogIHNv IG5vIGhvbGUgaXMgY3JlYXRlZCwgYnV0IHViaWZzX3plcm9fZW9mX2hvbGUoKSBoYXMgYWxyZWFk eSBtb2RpZmllZCB0aGUKICBwYWdlIGNhY2hlLgotIEZvciB6ZXJvLWxlbmd0aCB3cml0ZXMgKGlv dl9pdGVyX2NvdW50KGZyb20pID09IDApIHdpdGgga2lfcG9zID4gaV9zaXplLAogIGdlbmVyaWNf d3JpdGVfY2hlY2tzKCkgcmV0dXJucyAwIHdpdGhvdXQgZXh0ZW5kaW5nIHRoZSBmaWxlLCBhZnRl cgogIHViaWZzX3plcm9fZW9mX2hvbGUoKSBoYXMgYWxyZWFkeSB6ZXJvZWQgdGhlIGZvbGlvIHRh aWwuCi0gRm9yIFJXRl9OT1dBSVQgd3JpdGVzICh3aGljaCBnZW5lcmljX3dyaXRlX2NoZWNrc19j b3VudCgpIHJlamVjdHMgd2l0aAogIC1FSU5WQUwgc2luY2UgRk9QX0JVRkZFUl9XQVNZTkMgaXMg bm90IHNldCkgb3Igd3JpdGVzIGZhaWxpbmcKICBnZW5lcmljX3dyaXRlX2NoZWNrX2xpbWl0cygp ICgtRUZCSUcpLCB1Ymlmc196ZXJvX2VvZl9ob2xlKCkgY2FuIGJsb2NrIG9uCiAgZmlsZW1hcF9s b2NrX2ZvbGlvKCkgYW5kIG11dGF0ZSB0aGUgcGFnZSBjYWNoZSBiZWZvcmUgdGhlIHdyaXRlIGlz CiAgcmVqZWN0ZWQuCgpTaG91bGQgdWJpZnNfd3JpdGVfaXRlcigpIGFjcXVpcmUgaW5vZGVfbG9j ayhpbm9kZSkgYW5kIHJ1bgpnZW5lcmljX3dyaXRlX2NoZWNrcygpIGJlZm9yZSBjYWxsaW5nIHVw ZGF0ZV9tY3RpbWUoKSwKdWJpZnNfemVyb19lb2ZfaG9sZSgpLCBhbmQgX19nZW5lcmljX2ZpbGVf d3JpdGVfaXRlcigpLCBvciBvdGhlcndpc2UgZW5zdXJlCnRoYXQgdWJpZnNfemVyb19lb2ZfaG9s ZSgpIHJ1bnMgdW5kZXIgaW5vZGVfbG9jayhpbm9kZSkgYWZ0ZXIgd3JpdGUgY2hlY2tzPwoKLS0g ClNhc2hpa28gQUkgcmV2aWV3IMK3IGh0dHBzOi8vc2FzaGlrby5kZXYvIy9wYXRjaHNldC8yMDI2 MTAyMzA3MTE0MS4zNTA3MDI0LTEtbGluLm5hbkBoM2MuY29tP3BhcnQ9MQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4IE1URCBkaXNj dXNzaW9uIG1haWxpbmcgbGlzdApodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2xpbnV4LW10ZC8K