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 6C593C41535 for ; Tue, 19 Dec 2023 07:55:53 +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=95zz6MCi3SodrxdGXmq2JWXFP91tGm7mr9UdTmk3ej0=; b=iadatqiVkmRtET PN5UKS9u8TSVfup7PmusQmYbkuWb4ynU5xf8WljCKxxF9BsZZYbARjcuM5+mHD4G3Ym9EJCEug5aQ NoiHEWQ1/A/0Aljy1SM42U+xcsUYlo+O6R/aSoquJmu3QqWxUBXeoyhmK9P9q4ZhPKuRCMNIdsVK2 pzTi49PjQyQjL+P5LI0cJvMVJB18g/goMF7bBea+tdIc0Whmc2vgBTh8H2rqt/PcclhhNn6HB3Yfo vUw+MtYGwLlgvYng0Gg7wWzPRqwNq8sH0oeCiz5b2INIauDawUckByvxTGxQxkmOFRFbpa1e0eMXe urLfc27K1j7osaf3s/aA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rFUws-00DAP4-0r; Tue, 19 Dec 2023 07:55:30 +0000 Received: from relay6-d.mail.gandi.net ([217.70.183.198]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rFUwo-00DANH-00; Tue, 19 Dec 2023 07:55:28 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id 238FDC000B; Tue, 19 Dec 2023 07:55:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1702972520; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=NZXHfcE8iV40Vx6zOQ3A1z/zKCAFk19AQvCsz5cKV2k=; b=A1zyJPqeBC5Dif3oK8hakbVcuQQHQwi4BYa/8qZANOzdws66iSlDfaUPaaafuOpKMWy4SG wWAve1Gjpm1bvkK/QOcA9o6oOLuGbqJgls3NxwxHH9oc/1MCqORHre2eYxNZJQlO/ZzMsJ 5AK9lnXgpjgNJhK7zfnrg4vKz5ciaiIijDNSkByHynUWpwDIoxD/S/RKT72TPy6wfrCb4C pburPoxHz4kVzOaDj0U0hRI3ftpc+6ARkMfb+//JIfPgZ9sn4kHuPZDF/cROuT8IIBfLBh z1TWk1BWyIp/706xhpccd+LpdbId0WNdYwxqvXv/QqHLOofdYVwwgROrW+s06A== Date: Tue, 19 Dec 2023 08:55:17 +0100 From: Miquel Raynal To: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= Cc: Srinivas Kandagatla , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Greg Kroah-Hartman , Michael Walle , linux-mtd@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, u-boot@lists.denx.de, =?UTF-8?B?UmFmYcWC?= =?UTF-8?B?IE1pxYJlY2tp?= Subject: Re: [PATCH 4/4] nvmem: layouts: add U-Boot env layout Message-ID: <20231219085517.4b6ec4fc@xps-13> In-Reply-To: <13bc621c-5fcb-4710-912c-06e3e80d7337@gmail.com> References: <20231218133722.16150-1-zajec5@gmail.com> <20231218133722.16150-4-zajec5@gmail.com> <20231218152116.59d59bad@xps-13> <13bc621c-5fcb-4710-912c-06e3e80d7337@gmail.com> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-GND-Sasl: miquel.raynal@bootlin.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231218_235526_446256_3272C908 X-CRM114-Status: GOOD ( 43.02 ) 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 SGkgUmFmYcWCLAoKemFqZWM1QGdtYWlsLmNvbSB3cm90ZSBvbiBNb24sIDE4IERlYyAyMDIzIDIz OjEwOjIwICswMTAwOgoKPiBPbiAxOC4xMi4yMDIzIDE1OjIxLCBNaXF1ZWwgUmF5bmFsIHdyb3Rl Ogo+ID4gSGkgUmFmYcWCLAo+ID4gCj4gPiB6YWplYzVAZ21haWwuY29tIHdyb3RlIG9uIE1vbiwg MTggRGVjIDIwMjMgMTQ6Mzc6MjIgKzAxMDA6Cj4gPiAgIAo+ID4+IEZyb206IFJhZmHFgiBNacWC ZWNraSA8cmFmYWxAbWlsZWNraS5wbD4KPiA+Pgo+ID4+IFRoaXMgcGF0Y2ggbW92ZXMgYWxsIGdl bmVyaWMgKE5WTUVNIGRldmljZXMgaW5kZXBlbmRlbnQpIGNvZGUgZnJvbSBOVk1FTQo+ID4+IGRl dmljZSBkcml2ZXIgdG8gTlZNRU0gbGF5b3V0IGRyaXZlci4gVGhlbiBpdCBhZGRzIGEgc2ltcGxl IE5WTUVNIGxheW91dAo+ID4+IGNvZGUgb24gdG9wIG9mIGl0Lgo+ID4+Cj4gPj4gVGhhbmtzIHRv IHByb3BlciBsYXlvdXQgaXQncyBwb3NzaWJsZSB0byBzdXBwb3J0IFUtQm9vdCBlbnYgZGF0YSBz dG9yZWQKPiA+PiBvbiBhbnkga2luZCBvZiBOVk1FTSBkZXZpY2UuCj4gPj4KPiA+PiBGb3IgYmFj a3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIG9sZCBEVCBiaW5kaW5ncyB3ZSBuZWVkIHRvIGtlZXAg b2xkCj4gPj4gTlZNRU0gZGV2aWNlIGRyaXZlciBmdW5jdGlvbmFsLiBUbyBhdm9pZCBjb2RlIGR1 cGxpY2F0aW9uIGEgcGFyc2luZwo+ID4+IGZ1bmN0aW9uIGlzIGV4cG9ydGVkIGFuZCByZXVzZWQg aW4gaXQuCj4gPj4KPiA+PiBTaWduZWQtb2ZmLWJ5OiBSYWZhxYIgTWnFgmVja2kgPHJhZmFsQG1p bGVja2kucGw+Cj4gPj4gLS0tICAKPiA+IAo+ID4gSSBoYXZlIGEgY291cGxlIG9mIGNvbW1lbnRz IGFib3V0IHRoZSBvcmlnaW5hbCBkcml2ZXIgd2hpY2ggZ2V0cwo+ID4gY29weS1wYXN0ZWQgaW4g dGhlIG5ldyBsYXlvdXQgZHJpdmVyLCBtYXliZSB5b3UgY291bGQgY2xlYW4gdGhlc2UKPiA+ICh0 aGUgbWVtb3J5IGxlYWsgc2hvdWxkIGJlIGZpeGVkIGJlZm9yZSB0aGUgbWlncmF0aW9uIHNvIGl0 IGNhbiBiZQo+ID4gYmFja3BvcnRlZCBlYXNpbHksIHRoZSBvdGhlcnMgYXJlIGp1c3Qgc3R5bGUg c28gaXQgY2FuIGJlIGRvbmUgYWZ0ZXIsIEkKPiA+IGRvbid0IG1pbmQpLgo+ID4gCj4gPiAuLi4K PiA+ICAgCj4gPj4gK2ludCB1X2Jvb3RfZW52X3BhcnNlKHN0cnVjdCBkZXZpY2UgKmRldiwgc3Ry dWN0IG52bWVtX2RldmljZSAqbnZtZW0sCj4gPj4gKwkJICAgICBlbnVtIHVfYm9vdF9lbnZfZm9y bWF0IGZvcm1hdCkKPiA+PiArewo+ID4+ICsJc2l6ZV90IGNyYzMyX2RhdGFfb2Zmc2V0Owo+ID4+ ICsJc2l6ZV90IGNyYzMyX2RhdGFfbGVuOwo+ID4+ICsJc2l6ZV90IGNyYzMyX29mZnNldDsKPiA+ PiArCXNpemVfdCBkYXRhX29mZnNldDsKPiA+PiArCXNpemVfdCBkYXRhX2xlbjsKPiA+PiArCXNp emVfdCBkZXZfc2l6ZTsKPiA+PiArCXVpbnQzMl90IGNyYzMyOwo+ID4+ICsJdWludDMyX3QgY2Fs YzsKPiA+PiArCXVpbnQ4X3QgKmJ1ZjsKPiA+PiArCWludCBieXRlczsKPiA+PiArCWludCBlcnI7 Cj4gPj4gKwo+ID4+ICsJZGV2X3NpemUgPSBudm1lbV9kZXZfc2l6ZShudm1lbSk7Cj4gPj4gKwo+ ID4+ICsJYnVmID0ga2NhbGxvYygxLCBkZXZfc2l6ZSwgR0ZQX0tFUk5FTCk7ICAKPiA+IAo+ID4g T3V0IG9mIGN1cmlvc2l0eSwgd2h5IGtjYWxsb2MoMSwuLi4pIHJhdGhlciB0aGFuIGt6YWxsb2Mo KSA/ICAKPiAKPiBJIHVzZWQga2NhbGxvYygpIGluaXRpYWxseSBhcyBJIGRpZG4ndCBuZWVkIGJ1 ZmZlciB0byBiZSB6ZXJvZWQuCgpJIHRoaW5rIGtjYWxsb2MoKSBpbml0aWFsaXplcyB0aGUgbWVt b3J5IHRvIHplcm8uCmh0dHBzOi8vZWxpeGlyLmJvb3RsaW4uY29tL2xpbnV4L2xhdGVzdC9zb3Vy Y2UvaW5jbHVkZS9saW51eC9zbGFiLmgjTDY1OQoKSWYgeW91IGRvbid0IG5lZWQgaXQgeW91IGNh biBzd2l0Y2ggdG8ga21hbGxvYygpIGluc3RlYWQsIEkgZG9uJ3QgbWluZCwKYnV0IGtjYWxsb2Mo KSBpcyBtZWFudCB0byBiZSB1c2VkIHdpdGggYXJyYXlzLCBJIGRvbid0IHNlZSB0aGUgcG9pbnQg b2YKdXNpbmcga2NhbGxvYygpIGluIHRoaXMgY2FzZS4KCj4gCj4gSSBzZWUgdGhhdCBtZW1vcnkt YWxsb2NhdGlvbi5yc3QgaG93ZXZlciBzYXlzOgo+ICA+IEFuZCwgdG8gYmUgb24gdGhlIHNhZmUg c2lkZSBpdCdzIGJlc3QgdG8gdXNlIHJvdXRpbmVzIHRoYXQgc2V0IG1lbW9yeSB0byB6ZXJvLCBs aWtlIGt6YWxsb2MoKS4gIAo+IAo+IEl0J3MgcHJvYmFibHkgY2xvc2UgdG8gemVybyBjb3N0IHRv IHplcm8gdGhhdCBidWZmZXIgc28gaXQgY291bGQgYmUga3phbGxvYygpLgo+IAo+IAo+ID4+ICsJ aWYgKCFidWYpIHsKPiA+PiArCQllcnIgPSAtRU5PTUVNOwo+ID4+ICsJCWdvdG8gZXJyX291dDsg IAo+ID4gCj4gPiBXZSBjb3VsZCBkaXJlY3RseSByZXR1cm4gRU5PTUVNIGhlcmUgSSBndWVzcy4K PiA+ICAgCj4gPj4gKwl9Cj4gPj4gKwo+ID4+ICsJYnl0ZXMgPSBudm1lbV9kZXZpY2VfcmVhZChu dm1lbSwgMCwgZGV2X3NpemUsIGJ1Zik7Cj4gPj4gKwlpZiAoYnl0ZXMgPCAwKQo+ID4+ICsJCXJl dHVybiBieXRlczsKPiA+PiArCWVsc2UgaWYgKGJ5dGVzICE9IGRldl9zaXplKQo+ID4+ICsJCXJl dHVybiAtRUlPOyAgCj4gPiAKPiA+IERvbid0IHdlIG5lZWQgdG8gZnJlZSBidWYgaW4gdGhlIGFi b3ZlIGNhc2VzPwo+ID4gICAKPiA+PiArCXN3aXRjaCAoZm9ybWF0KSB7Cj4gPj4gKwljYXNlIFVf Qk9PVF9GT1JNQVRfU0lOR0xFOgo+ID4+ICsJCWNyYzMyX29mZnNldCA9IG9mZnNldG9mKHN0cnVj dCB1X2Jvb3RfZW52X2ltYWdlX3NpbmdsZSwgY3JjMzIpOwo+ID4+ICsJCWNyYzMyX2RhdGFfb2Zm c2V0ID0gb2Zmc2V0b2Yoc3RydWN0IHVfYm9vdF9lbnZfaW1hZ2Vfc2luZ2xlLCBkYXRhKTsKPiA+ PiArCQlkYXRhX29mZnNldCA9IG9mZnNldG9mKHN0cnVjdCB1X2Jvb3RfZW52X2ltYWdlX3Npbmds ZSwgZGF0YSk7Cj4gPj4gKwkJYnJlYWs7Cj4gPj4gKwljYXNlIFVfQk9PVF9GT1JNQVRfUkVEVU5E QU5UOgo+ID4+ICsJCWNyYzMyX29mZnNldCA9IG9mZnNldG9mKHN0cnVjdCB1X2Jvb3RfZW52X2lt YWdlX3JlZHVuZGFudCwgY3JjMzIpOwo+ID4+ICsJCWNyYzMyX2RhdGFfb2Zmc2V0ID0gb2Zmc2V0 b2Yoc3RydWN0IHVfYm9vdF9lbnZfaW1hZ2VfcmVkdW5kYW50LCBkYXRhKTsKPiA+PiArCQlkYXRh X29mZnNldCA9IG9mZnNldG9mKHN0cnVjdCB1X2Jvb3RfZW52X2ltYWdlX3JlZHVuZGFudCwgZGF0 YSk7Cj4gPj4gKwkJYnJlYWs7Cj4gPj4gKwljYXNlIFVfQk9PVF9GT1JNQVRfQlJPQURDT006Cj4g Pj4gKwkJY3JjMzJfb2Zmc2V0ID0gb2Zmc2V0b2Yoc3RydWN0IHVfYm9vdF9lbnZfaW1hZ2VfYnJv YWRjb20sIGNyYzMyKTsKPiA+PiArCQljcmMzMl9kYXRhX29mZnNldCA9IG9mZnNldG9mKHN0cnVj dCB1X2Jvb3RfZW52X2ltYWdlX2Jyb2FkY29tLCBkYXRhKTsKPiA+PiArCQlkYXRhX29mZnNldCA9 IG9mZnNldG9mKHN0cnVjdCB1X2Jvb3RfZW52X2ltYWdlX2Jyb2FkY29tLCBkYXRhKTsKPiA+PiAr CQlicmVhazsKPiA+PiArCX0KPiA+PiArCWNyYzMyID0gbGUzMl90b19jcHUoKihfX2xlMzIgKiko YnVmICsgY3JjMzJfb2Zmc2V0KSk7ICAKPiA+IAo+ID4gTG9va3MgYSBiaXQgY29udm9sdXRlZCwg YW55IGNoYW5jZXMgd2UgY2FuIHVzZSBpbnRlcm1lZGlhdGUgdmFyaWFibGVzCj4gPiB0byBoZWxw IGRlY2lwaGVyIHRoaXM/Cj4gPiAgIAo+ID4+ICsJY3JjMzJfZGF0YV9sZW4gPSBkZXZfc2l6ZSAt IGNyYzMyX2RhdGFfb2Zmc2V0Owo+ID4+ICsJZGF0YV9sZW4gPSBkZXZfc2l6ZSAtIGRhdGFfb2Zm c2V0Owo+ID4+ICsKPiA+PiArCWNhbGMgPSBjcmMzMih+MCwgYnVmICsgY3JjMzJfZGF0YV9vZmZz ZXQsIGNyYzMyX2RhdGFfbGVuKSBeIH4wTDsKPiA+PiArCWlmIChjYWxjICE9IGNyYzMyKSB7Cj4g Pj4gKwkJZGV2X2VycihkZXYsICJJbnZhbGlkIGNhbGN1bGF0ZWQgQ1JDMzI6IDB4JTA4eCAoZXhw ZWN0ZWQ6IDB4JTA4eClcbiIsIGNhbGMsIGNyYzMyKTsKPiA+PiArCQllcnIgPSAtRUlOVkFMOwo+ ID4+ICsJCWdvdG8gZXJyX2tmcmVlOwo+ID4+ICsJfQo+ID4+ICsKPiA+PiArCWJ1ZltkZXZfc2l6 ZSAtIDFdID0gJ1wwJzsKPiA+PiArCWVyciA9IHVfYm9vdF9lbnZfcGFyc2VfY2VsbHMoZGV2LCBu dm1lbSwgYnVmLCBkYXRhX29mZnNldCwgZGF0YV9sZW4pOwo+ID4+ICsJaWYgKGVycikKPiA+PiAr CQlkZXZfZXJyKGRldiwgIkZhaWxlZCB0byBhZGQgY2VsbHM6ICVkXG4iLCBlcnIpOyAgCj4gPiAK PiA+IFBsZWFzZSBkcm9wIHRoaXMgZXJyb3IgbWVzc2FnZSwgdGhlIG9ubHkgcmVhc29uIGZvciB3 aGljaCB0aGUgZnVuY3Rpb24KPiA+IGNhbGwgd291bGQgZmFpbCBpcyBhcHBhcmVudGx5IGFuIEVO T01FTSBjYXNlLgo+ID4gICAKPiA+PiArCj4gPj4gK2Vycl9rZnJlZToKPiA+PiArCWtmcmVlKGJ1 Zik7Cj4gPj4gK2Vycl9vdXQ6Cj4gPj4gKwlyZXR1cm4gZXJyOwo+ID4+ICt9Cj4gPj4gK0VYUE9S VF9TWU1CT0xfR1BMKHVfYm9vdF9lbnZfcGFyc2UpOwo+ID4+ICsKPiA+PiArc3RhdGljIGludCB1 X2Jvb3RfZW52X2FkZF9jZWxscyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBudm1lbV9kZXZp Y2UgKm52bWVtKQo+ID4+ICt7Cj4gPj4gKwljb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkICptYXRj aDsKPiA+PiArCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbGF5b3V0X25wOwo+ID4+ICsJZW51bSB1X2Jv b3RfZW52X2Zvcm1hdCBmb3JtYXQ7Cj4gPj4gKwo+ID4+ICsJbGF5b3V0X25wID0gb2ZfbnZtZW1f bGF5b3V0X2dldF9jb250YWluZXIobnZtZW0pOwo+ID4+ICsJaWYgKCFsYXlvdXRfbnApCj4gPj4g KwkJcmV0dXJuIC1FTk9FTlQ7Cj4gPj4gKwo+ID4+ICsJbWF0Y2ggPSBvZl9tYXRjaF9ub2RlKHVf Ym9vdF9lbnZfb2ZfbWF0Y2hfdGFibGUsIGxheW91dF9ucCk7Cj4gPj4gKwlpZiAoIW1hdGNoKQo+ ID4+ICsJCXJldHVybiAtRU5PRU5UOwo+ID4+ICsKPiA+PiArCWZvcm1hdCA9ICh1aW50cHRyX3Qp bWF0Y2gtPmRhdGE7ICAKPiA+IAo+ID4gSW4gdGhlIGNvcmUgdGhlcmUgaXMgY3VycmVudGx5IGFu IHVudXNlZCBoZWxwZXIgY2FsbGVkCj4gPiBudm1lbV9sYXlvdXRfZ2V0X21hdGNoX2RhdGEoKSB3 aGljaCBkb2VzIHRoYXQuIEkgdGhpbmsgdGhlIG9yaWdpbmFsCj4gPiBpbnRlbnQgb2YgdGhpcyBm dW5jdGlvbiB3YXMgdG8gYmUgdXNlZCBpbiB0aGlzIGRyaXZlciwgc28gZGVwZW5kaW5nIG9uCj4g PiB5b3VyIHByZWZlcmVuY2UsIGNhbiB5b3UgcGxlYXNlIGVpdGhlciB1c2UgaXQgb3IgcmVtb3Zl IGl0PyAgCj4gCj4gVGhlIHByb2JsZW0gaXMgdGhhdCBudm1lbV9sYXlvdXRfZ2V0X21hdGNoX2Rh dGEoKSB1c2VzOgo+IGxheW91dC0+ZGV2LmRyaXZlcgoKSSdtIHN1cnByaXNlZCAuZHJpdmVyIGlz IHVuc2V0LiBXZWxsIGFueXdheSwgcGxlYXNlIGVpdGhlciBmaXggdGhlIGNvcmUKaGVscGVyIGFu ZCB1c2UgaXQgb3IgZHJvcCB0aGUgY29yZSBoZWxwZXIsIGJlY2F1c2Ugd2UgaGF2ZSBubyB1c2Vy IGZvcgppdCBvdGhlcndpc2U/Cgo+IEl0IGRvZXNuJ3Qgd29yayB3aXRoIGxheW91dHMgZHJpdmVy IChzaW5jZSByZWZhY3RvcmluZz8pIGFzIGRyaXZlciBpcwo+IE5VTEwuIFRoYXQgcmVzdWx0cyBp biBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2Ugd2hlbiB0cnlpbmcgdG8gcmVhY2gKPiBvZl9tYXRj aF90YWJsZS4KPiAKPiBUaGF0IGlzIHdoeSBJIHVzZWQgdV9ib290X2Vudl9vZl9tYXRjaF90YWJs ZSBkaXJlY3RseS4KPiAKPiBJZiB5b3Uga25vdyBob3cgdG8gZml4IG52bWVtX2xheW91dF9nZXRf bWF0Y2hfZGF0YSgpIHRoYXQgd291bGQgYmUKPiBncmVhdC4gRG8gd2UgbmVlZCBkcml2ZXJfcmVn aXN0ZXIoKSBzb21ld2hlcmUgaW4gTlZNRU0gY29yZT8KPiAKCgpUaGFua3MsCk1pcXXDqGwKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1r ZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpo dHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJu ZWwK