From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0F4921BF33F; Mon, 26 May 2025 19:00:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.41 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748286024; cv=none; b=j8hwwjT9LaotBYQ2T+uK2E6QBFqMXZplFIWpNQvMzK+wrO/mmkK/E4JnlUgkgTyUgRH7neeMO91m2xMpYYgWP1544yLM4K/+Oi4XS2pFmpOG6ZOyDEhHnljKBHnYxI36Ml/YarpKe/+hOucNcUDukp4FBZTtvHOJY6qO7U6JfMQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748286024; c=relaxed/simple; bh=ePOfC29++ESggGuGKz+Psuyc+GPSsmDJXwxn5BhMFlw=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=IlBUaPARzzf0P98lYlQxPQdqlOqaNa3FVjoq2XICY0qMUwiYY8iv6OxdwMbsj7KJUmpOQQ6szrnQPoHEbeqFVyr+LGnuMDpG5vLKPRwaIUjYH4jxm8Ny+NO0Y8SBNuA4Qd0d8B1j2pmrTeac3r1Ry0+MqrJ+z6U1NzBTUNyMoa4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=RJXBuOTX; arc=none smtp.client-ip=209.85.208.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="RJXBuOTX" Received: by mail-ed1-f41.google.com with SMTP id 4fb4d7f45d1cf-601ab204085so6450465a12.1; Mon, 26 May 2025 12:00:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748286021; x=1748890821; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=W7HLJjnq943t9tfBsG6nEO+BsP0zHoqnaSW8DhhOz60=; b=RJXBuOTX8ytqW/bqxivucyO4rLM7mTNTsJc2iKICEfnTtp33BDPrWuqgTHzBSuIZgp NOf66/xxJYrLobn1APukYi/f03QP8l1/XuxKvpkRwf25OLpdD9UotLSkgqomLHTBxjpq qEWX29fPbBuZMvtr/zzay8T73VbLvrN4fp+4mXd5Yxqciwawks4XSsApT85vIsp0Nh0o w8XcB9F+/t/VmO0AN2aW/uvEuAbbutzhiKnIjr8sxZQA6hIO441UaRs8ImfIgJkw2T/V VxsfjCtVWQuRClMdor0zEeGk7PP4wCdJ7qWjjTLWGcJKqPudumTHw2UQD2d+h3bDxpMm 33/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748286021; x=1748890821; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=W7HLJjnq943t9tfBsG6nEO+BsP0zHoqnaSW8DhhOz60=; b=O75kanv8l8l98SPbjQExe2zUWSpPq2JmKh5nH0Joo9FkSCtyTPN87Ctfn76F1Wz+Sj 4JKc+JLSic/0CckJJaUYswUQ8htsFCyZj9IB+KlGdLMa6nKenWMr4sgwU6BqOBpCybRx zfOz331dLb6JW+rMJyoymO6jHib44hZ7ADsRHFTG24FJJBMgOgrahXWv++PiSdNC5tV2 qV6BjJu7OXfJatu3Bz4dmuspMlEYN5vWJFIO/P1wExiQKjaq97mxJ8gGo2y1mB523Axe krWWYxjKqjniMRXr2D3qLZMANsSyM2L3x/Inj3u+6MuXx90rHGslKdz2f6bvIgU1+stx 7XLA== X-Forwarded-Encrypted: i=1; AJvYcCUTZA9o+n3O/6+PPRewEa4GJvyfllLWHubhNrulizth8VgUnSly2msiik5dnSi99aIX2sqJEGfp4iv6@vger.kernel.org, AJvYcCXOjBbVI1n8We8Sz5JApfj4PgKtOid6ekrjaHyqEhA/PcsDj499HsK5iHiMUn/QWWYAhp5S7yPzwLIZ7CeS@vger.kernel.org, AJvYcCXXH9NWdNHpukwO+OSmDE5dTYL/6KbkzE1B3/bt+5pVHbaK0Hu/qWjtb6CfPr5p/f4yAvpaZUizaF99Brk4@vger.kernel.org X-Gm-Message-State: AOJu0YyLlQLRh2ZYw+RhfIpN08+L6J5Ww/Ts3xJiS0zZCLLgvPiGv+MK PxOznob5OP5qsH3gmQgMM4Wp5VX7V6zFhOFejmFE/PkhI5a9J9ypQCNu X-Gm-Gg: ASbGncsOY9OzJijOTvmH8TftzDNXL2TraAdtSTNMpdf6qGDCxvBQvjul4vIGAmmymP1 E4J/LDAYEgHd1nEhBJrZtQ120+bJg5YmKLQXeSlw9Nsuxs1ZoLIGqU9TKPbuFOpTizuACawJVB9 ZaCNu/h2r1rukfkOW/vQc7tJgl8o1baHpy1Ybwqcnqg6ttztG/qVZRxZkiNTCr4dK0tIzOFIgmS 06OeqkciF9miaOIxqe1vHsxKVyq56rfOKGEIqdY1Y2SSpZfef0sC6ITE/x+tSQ1cjR2XRXd8Hgl sNTSTC5bh00GN0r5ZdsdQtuc22oS86uJYz/kB2wgeg5i8sJ1mktPVU2dnhcsPcmWdd4V6DpAzHJ RVH4NybQW1rtbGJvY X-Google-Smtp-Source: AGHT+IGIry+aoCgx9x9cr71iQ7GQxeXVX+GF2ustchqL5GOThY2B0a+6W4khGGch4NApD0EjZ99GJQ== X-Received: by 2002:a17:907:3fa8:b0:ad5:6622:114e with SMTP id a640c23a62f3a-ad64e8e0ee1mr1213181666b.30.1748286021072; Mon, 26 May 2025 12:00:21 -0700 (PDT) Received: from [192.168.20.170] (5D59A51C.catv.pool.telekom.hu. [93.89.165.28]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ad8859d7411sm75220066b.80.2025.05.26.12.00.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 26 May 2025 12:00:20 -0700 (PDT) Message-ID: Date: Mon, 26 May 2025 21:00:20 +0200 Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH RFC] spi: spi-qpic-snand: overestimate corrected bitflips Content-Language: hu To: Miquel Raynal Cc: Mark Brown , Md Sadre Alam , Varadarajan Narayanan , Sricharan Ramabadhran , linux-spi@vger.kernel.org, linux-mtd@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org References: <20250522-qpic-snand-overestimate-bitflips-v1-1-35c65c05068e@gmail.com> <875xhr5r2y.fsf@bootlin.com> From: Gabor Juhos In-Reply-To: <875xhr5r2y.fsf@bootlin.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2025. 05. 23. 16:39 keltezéssel, Miquel Raynal írta: > On 22/05/2025 at 19:33:26 +02, Gabor Juhos wrote: > >> The QPIC hardware is not capable of reporting the exact number of the >> corrected bitflips, it only reports the number of the corrected bytes. >> However the current code treats that as corrected bitflips which is >> quite inaccurate in most cases. For example, even if the hardware reports >> only one byte as corrected, that byte may have contained multiple bit >> errors from one up to the maximum number of correctable bits. >> >> Change the code to report the maximum of the possibly corrected bits, >> thus allowing upper layers to do certain actions before the data gets >> lost due to uncorrectable errors. >> >> Signed-off-by: Gabor Juhos >> --- >> The patch tries to address Miquel's concerns [1] about the corrected bit >> error reporting capabilities of the QPIC hardware. >> >> [1] https://lore.kernel.org/all/87h61e8kow.fsf@bootlin.com > > Thank you very much for attempting to improve the situation. Giving this > a second look, it will not work either and will be even worse, forcing > wear levelling after each read. So let's not change the returned value, > hopefully the real life is different as the test case and most bitflips > will be spread and not concentrated in a single byte. However I'd > welcome either a pr_warn_once() or at least a comment somewhere about > this. Ok, I will rework the patch. If it turns out that the current approach behaves badly in real life, we can still change it later. Thanks, Gabor 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 B6A2DC54FB3 for ; Mon, 26 May 2025 19:00:34 +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:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Hq37P4ut5YcAPabgrFzuhyfgQcX8I4ute49qW0Pu0rw=; b=F8Jfcadob6/HgU k9Ejyu8xlWYt95FCZj2z+h1jPqPkYKjd7kTZYesQ1NiufMMYiDkVN3YfbYr5/wwgBe3bzywI175z2 rDMZ8EiN5HBPh/k19RB8FPyl3Plph+yBo4DEFIa9SGt+khgLVmBhQvG0HHXfpaV96wAXW7iZcNT23 VIybe1z8E6CPqHCJB1FrLRDxRLtLcoMGCYcDnuMvPVOnA30vqLpn9VE4gyxY3ocPCc9nao6ToJfTM rURNICANPGr2ZzF8lj3l3vxfNc8mZ8DVDcLa7jSGDNIvmXyX8uthx++dZBSU0yi+K4St0wGkCzMY6 WjmUg/WV+oO1MImfahPQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uJd3h-00000009P1r-44Iu; Mon, 26 May 2025 19:00:25 +0000 Received: from mail-ed1-x52e.google.com ([2a00:1450:4864:20::52e]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uJd3f-00000009P1H-1C0F for linux-mtd@lists.infradead.org; Mon, 26 May 2025 19:00:24 +0000 Received: by mail-ed1-x52e.google.com with SMTP id 4fb4d7f45d1cf-601ab204085so6450464a12.1 for ; Mon, 26 May 2025 12:00:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748286021; x=1748890821; darn=lists.infradead.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=W7HLJjnq943t9tfBsG6nEO+BsP0zHoqnaSW8DhhOz60=; b=D8jgJ3wYHcbhdvstGKYPnJxkzRzU7F38iO/aqd+S5/3kvSQDVZzlbX6X7CbsGf87g2 do+kHDLIJaD3oIfHXR2h7ToVxudL5miVstEjT19ziGAmw/CZNx4cWF3qgo/71tJjvqz5 i5Wv/M5sExvhq2bkpDK01M8iuVwZ1h2n2iqTAkJdTZpHCpt3VXiKAYDlZCvxaJXXaBfW EQdbjVyA+6vBB1dksTj3D6548hcpPIc098Ctuif2VALD4cKLp4v9KByog8Y4LGy2+1nq YElvnpEN1uqEjJ2ciDBD6CKI/rGGc9Y9JWSSIqVE0kqLA0scjyNvDjt0FnsF6CPxPUJ/ QFeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748286021; x=1748890821; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=W7HLJjnq943t9tfBsG6nEO+BsP0zHoqnaSW8DhhOz60=; b=Cjae9BTPCYolX8IhOCkkOWOqJCYAJ4lNTY6u5+J136/H9F/EZd0zhPmz6sTHRiTmlp RF79nItr69zjMeEHaR6u9GaiLSw8TzVda+isDzhYLPRJv8J+YjTEx6Xrc9hDKApCZjnP RtMfdn3GFPzW05Y+vUsfgb+3Nmu9cFmyTy760acT3tT7Sq8oDKvFL4gcGYtHWopb52AV eBXkbafofqR95j/CmVe3GDOUEFeRVG0zNZKa49GVVt2RBtAo4Ami6hlU33tbNfsE8mAx kM1e0W84TA2YLIrirpQo5wSH5deVghIoI9m7MIBTeadL7Px+1sh2FSjQDg0T8VSX2wzW /Rog== X-Forwarded-Encrypted: i=1; AJvYcCVHx23jODhXYdc2bNjdT0jr7ZHjVWyStr8TqpMiL15+JFipTUZAzkVXpZUeow93iFAfwfff9oXtV0k=@lists.infradead.org X-Gm-Message-State: AOJu0YzyD86rMAhUg6TAdNtyekiIiCP7FNClB9L0iCk1NbUUU7Bo5kV6 A63EXkaLkOt4mjDsmrfVk/PqTLG0J6cAMhJtPQmHBnaONmBaqb/bGYau X-Gm-Gg: ASbGncsHs1mKNuda8M2bmTuMrbpmcjAplOT3iOPnYVZsaFODOqXhxjvGT+bhW0R5pML G87Cj++TUvpMMzJPnB+VZIfgqIm+4ZTOzQYGOPm4W84X936RmGyrSuKfg4qtw5BhH+dKf1s6T60 n6K4RMofMkSclKxcPpZITS4FMhetGDQnajCPDRb991CAmfQaxdg2yvY5DoWJNYuq6E4dYCUa5bF 9vufHV7+HDA660dA+520aX2fq2j2SgrAXb6EiuF5P7jv/7iu3WPRYWWZx3ISmNNkA4NWH5JpTEt XUhem5BKLB+cRS5XTnTy1DCNPIP8WSQxGI4SAFoGTzEZaDbY3h7DY5e7V+vW5SIi1q3s1neFoRI aV0dsRQUcSNzw5pmA X-Google-Smtp-Source: AGHT+IGIry+aoCgx9x9cr71iQ7GQxeXVX+GF2ustchqL5GOThY2B0a+6W4khGGch4NApD0EjZ99GJQ== X-Received: by 2002:a17:907:3fa8:b0:ad5:6622:114e with SMTP id a640c23a62f3a-ad64e8e0ee1mr1213181666b.30.1748286021072; Mon, 26 May 2025 12:00:21 -0700 (PDT) Received: from [192.168.20.170] (5D59A51C.catv.pool.telekom.hu. [93.89.165.28]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ad8859d7411sm75220066b.80.2025.05.26.12.00.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 26 May 2025 12:00:20 -0700 (PDT) Message-ID: Date: Mon, 26 May 2025 21:00:20 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH RFC] spi: spi-qpic-snand: overestimate corrected bitflips Content-Language: hu To: Miquel Raynal Cc: Mark Brown , Md Sadre Alam , Varadarajan Narayanan , Sricharan Ramabadhran , linux-spi@vger.kernel.org, linux-mtd@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org References: <20250522-qpic-snand-overestimate-bitflips-v1-1-35c65c05068e@gmail.com> <875xhr5r2y.fsf@bootlin.com> From: Gabor Juhos In-Reply-To: <875xhr5r2y.fsf@bootlin.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250526_120023_323272_21896BBA X-CRM114-Status: GOOD ( 17.10 ) 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 MjAyNS4gMDUuIDIzLiAxNjozOSBrZWx0ZXrDqXNzZWwsIE1pcXVlbCBSYXluYWwgw61ydGE6Cj4g T24gMjIvMDUvMjAyNSBhdCAxOTozMzoyNiArMDIsIEdhYm9yIEp1aG9zIDxqNGc4eTdAZ21haWwu Y29tPiB3cm90ZToKPiAKPj4gVGhlIFFQSUMgaGFyZHdhcmUgaXMgbm90IGNhcGFibGUgb2YgcmVw b3J0aW5nIHRoZSBleGFjdCBudW1iZXIgb2YgdGhlCj4+IGNvcnJlY3RlZCBiaXRmbGlwcywgaXQg b25seSByZXBvcnRzIHRoZSBudW1iZXIgb2YgdGhlIGNvcnJlY3RlZCBieXRlcy4KPj4gSG93ZXZl ciB0aGUgY3VycmVudCBjb2RlIHRyZWF0cyB0aGF0IGFzIGNvcnJlY3RlZCBiaXRmbGlwcyB3aGlj aCBpcwo+PiBxdWl0ZSBpbmFjY3VyYXRlIGluIG1vc3QgY2FzZXMuIEZvciBleGFtcGxlLCBldmVu IGlmIHRoZSBoYXJkd2FyZSByZXBvcnRzCj4+IG9ubHkgb25lIGJ5dGUgYXMgY29ycmVjdGVkLCB0 aGF0IGJ5dGUgbWF5IGhhdmUgY29udGFpbmVkIG11bHRpcGxlIGJpdAo+PiBlcnJvcnMgZnJvbSBv bmUgdXAgdG8gdGhlIG1heGltdW0gbnVtYmVyIG9mIGNvcnJlY3RhYmxlIGJpdHMuCj4+Cj4+IENo YW5nZSB0aGUgY29kZSB0byByZXBvcnQgdGhlIG1heGltdW0gb2YgdGhlIHBvc3NpYmx5IGNvcnJl Y3RlZCBiaXRzLAo+PiB0aHVzIGFsbG93aW5nIHVwcGVyIGxheWVycyB0byBkbyBjZXJ0YWluIGFj dGlvbnMgYmVmb3JlIHRoZSBkYXRhIGdldHMKPj4gbG9zdCBkdWUgdG8gdW5jb3JyZWN0YWJsZSBl cnJvcnMuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IEdhYm9yIEp1aG9zIDxqNGc4eTdAZ21haWwuY29t Pgo+PiAtLS0KPj4gVGhlIHBhdGNoIHRyaWVzIHRvIGFkZHJlc3MgTWlxdWVsJ3MgY29uY2VybnMg WzFdIGFib3V0IHRoZSBjb3JyZWN0ZWQgYml0Cj4+IGVycm9yIHJlcG9ydGluZyBjYXBhYmlsaXRp ZXMgb2YgdGhlIFFQSUMgaGFyZHdhcmUuCj4+Cj4+IFsxXSBodHRwczovL2xvcmUua2VybmVsLm9y Zy9hbGwvODdoNjFlOGtvdy5mc2ZAYm9vdGxpbi5jb20KPiAKPiBUaGFuayB5b3UgdmVyeSBtdWNo IGZvciBhdHRlbXB0aW5nIHRvIGltcHJvdmUgdGhlIHNpdHVhdGlvbi4gR2l2aW5nIHRoaXMKPiBh IHNlY29uZCBsb29rLCBpdCB3aWxsIG5vdCB3b3JrIGVpdGhlciBhbmQgd2lsbCBiZSBldmVuIHdv cnNlLCBmb3JjaW5nCj4gd2VhciBsZXZlbGxpbmcgYWZ0ZXIgZWFjaCByZWFkLiBTbyBsZXQncyBu b3QgY2hhbmdlIHRoZSByZXR1cm5lZCB2YWx1ZSwKPiBob3BlZnVsbHkgdGhlIHJlYWwgbGlmZSBp cyBkaWZmZXJlbnQgYXMgdGhlIHRlc3QgY2FzZSBhbmQgbW9zdCBiaXRmbGlwcwo+IHdpbGwgYmUg c3ByZWFkIGFuZCBub3QgY29uY2VudHJhdGVkIGluIGEgc2luZ2xlIGJ5dGUuIEhvd2V2ZXIgSSdk Cj4gd2VsY29tZSBlaXRoZXIgYSBwcl93YXJuX29uY2UoKSBvciBhdCBsZWFzdCBhIGNvbW1lbnQg c29tZXdoZXJlIGFib3V0Cj4gdGhpcy4KCk9rLCBJIHdpbGwgcmV3b3JrIHRoZSBwYXRjaC4gSWYg aXQgdHVybnMgb3V0IHRoYXQgdGhlIGN1cnJlbnQgYXBwcm9hY2ggYmVoYXZlcwpiYWRseSBpbiBy ZWFsIGxpZmUsIHdlIGNhbiBzdGlsbCBjaGFuZ2UgaXQgbGF0ZXIuCgpUaGFua3MsCkdhYm9yCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGlu dXggTVREIGRpc2N1c3Npb24gbWFpbGluZyBsaXN0Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vbGludXgtbXRkLwo=