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 4D452C433F5 for ; Tue, 15 Mar 2022 18:45:10 +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=CLhmEbNtBap4g5F5pPEZtIEq8U4MPRWY63eC2MQ8pkM=; b=G3Li3a9CH68mSi 5tHOfIQEWJ9H3xRL7vWe15sXcIJr+p+CpdeVhM2HPXHagzwGviU99LYgbtKPYWyPhBRK3MiJ16AjT K35J56rfK2lOk//4fOjkdZxEgNzw8h7hsG2dwD8U5sD9q524SSxASlNA4e2ukXlSmAfQgyPk0GXV4 hLVRMGVF2zira42LVlag1yQsFx83LWrk3b0jrS+ICgvkO2WUZgu1f4nRuEKrqk8MBzTSdh2i7QeGq DQHckBFx9tr2WJ6GrKJOSlJNlt+QcPtUGiyWmmfY9DcVVFEWSi83nfM9lnKlmdi9ds3TT+oagfnnC EzNFnACz9NkU5/Vp1A/g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nUCA7-00AKIE-AU; Tue, 15 Mar 2022 18:44:51 +0000 Received: from relay3-d.mail.gandi.net ([2001:4b98:dc4:8::223]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nUCA3-00AKGI-MP for linux-mtd@lists.infradead.org; Tue, 15 Mar 2022 18:44:49 +0000 Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id 03FD060004; Tue, 15 Mar 2022 18:44:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1647369884; 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=sUXC1TRkAc+wf443DH1Bu1wgw5MaaDODy+Ug1ZjaijQ=; b=ZxC80XkmvM1uRfFT4IqkrWwKS4ja8WSaA2SD4cbbtdIz3Y6513mp2Qwj0DRA1hOJ9R4j7S L53Hnu4P6R5kOpi6PUFDwHTyDsGKc1JxpOj1Bi65m1qR+t6B5nJhnoRL/IvxI5h0Ik6sgF qNQRR4oTe0v8tgSrBki+7SIHec0bcB4twicdUWz2BwyqWToTky1O09ml4KCUj7BKSAY6GL 0ggteC4SAQrT4hexHRk871/NyI/6IoM55oKNlPvc+JQu/sXK9V5xR3XIioZd1H/d+MetVW mJX5zX+mKXRvBmpReK+HguUsuHyiEmILTm4cDpsB6/wYmutAymaBtZSPcyEpuA== Date: Tue, 15 Mar 2022 19:44:42 +0100 From: Miquel Raynal To: Tokunori Ikegami Cc: linux-mtd@lists.infradead.org, Richard Weinberger , Vignesh Raghavendra Subject: Re: [PATCH v3 2/3] mtd: cfi_cmdset_0002: Move and rename chip_check/chip_ready/chip_good_for_write Message-ID: <20220315194442.77c176f1@xps13> In-Reply-To: <20220315165607.390070-3-ikegami.t@gmail.com> References: <20220315165607.390070-1-ikegami.t@gmail.com> <20220315165607.390070-3-ikegami.t@gmail.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-20220315_114448_073793_396B91C1 X-CRM114-Status: GOOD ( 29.67 ) 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 SGkgVG9rdW5vcmksCgppa2VnYW1pLnRAZ21haWwuY29tIHdyb3RlIG9uIFdlZCwgMTYgTWFyIDIw MjIgMDE6NTY6MDYgKzA5MDA6Cgo+IFRoaXMgaXMgYSBwcmVwYXJhdGlvbiBwYXRjaCBmb3IgdGhl IGZ1bmN0aW5hbCBjaGFuZ2UgdG8gZml4IHRoZSBpc3N1ZS4KCgkJCQkgICAgICBmdW5jdGlvbmFs CgpDb21taXRzIGFyZSBpbmRlcGVuZGVudCAidG8gZml4IHRoZSBpc3N1ZSIgZG9lcyBub3QgbWFr ZSBhbnkgc2Vuc2UKaGVyZSwgcGxlYXNlIGdpdmUgbW9yZSBpbmZvcm1hdGlvbiBsaWtlICJpbiBw cmVwYXJhdGlvbiB0byBhIGNoYW5nZQpleHBlY3RlZCB0byBmaXggdGhlIGJ1ZmZlcmVkIHdyaXRl cyBvbiBTMjlHTC4uLiIKCj4gCj4gU2lnbmVkLW9mZi1ieTogVG9rdW5vcmkgSWtlZ2FtaSA8aWtl Z2FtaS50QGdtYWlsLmNvbT4KPiBDYzogTWlxdWVsIFJheW5hbCA8bWlxdWVsLnJheW5hbEBib290 bGluLmNvbT4KPiBDYzogUmljaGFyZCBXZWluYmVyZ2VyIDxyaWNoYXJkQG5vZC5hdD4KPiBDYzog VmlnbmVzaCBSYWdoYXZlbmRyYSA8dmlnbmVzaHJAdGkuY29tPgo+IENjOiBsaW51eC1tdGRAbGlz dHMuaW5mcmFkZWFkLm9yZwo+IC0tLQo+ICBkcml2ZXJzL210ZC9jaGlwcy9jZmlfY21kc2V0XzAw MDIuYyB8IDgyICsrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2Vk LCAzOCBpbnNlcnRpb25zKCspLCA0NCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9tdGQvY2hpcHMvY2ZpX2NtZHNldF8wMDAyLmMgYi9kcml2ZXJzL210ZC9jaGlwcy9jZmlf Y21kc2V0XzAwMDIuYwo+IGluZGV4IDAxMjU2NThhMWQzMC4uOGYzZjAzMDlkYzAzIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvbXRkL2NoaXBzL2NmaV9jbWRzZXRfMDAwMi5jCj4gKysrIGIvZHJpdmVy cy9tdGQvY2hpcHMvY2ZpX2NtZHNldF8wMDAyLmMKPiBAQCAtODAyLDIyICs4MDIsMTIgQEAgc3Rh dGljIHN0cnVjdCBtdGRfaW5mbyAqY2ZpX2FtZHN0ZF9zZXR1cChzdHJ1Y3QgbXRkX2luZm8gKm10 ZCkKPiAgCXJldHVybiBOVUxMOwo+ICB9Cj4gIAo+IC0vKgo+IC0gKiBSZXR1cm4gdHJ1ZSBpZiB0 aGUgY2hpcCBpcyByZWFkeS4KPiAtICoKPiAtICogUmVhZHkgaXMgb25lIG9mOiByZWFkIG1vZGUs IHF1ZXJ5IG1vZGUsIGVyYXNlLXN1c3BlbmQtcmVhZCBtb2RlIChpbiBhbnkKPiAtICogbm9uLXN1 c3BlbmRlZCBzZWN0b3IpIGFuZCBpcyBpbmRpY2F0ZWQgYnkgbm8gdG9nZ2xlIGJpdHMgdG9nZ2xp bmcuCj4gLSAqCj4gLSAqIE5vdGUgdGhhdCBhbnl0aGluZyBtb3JlIGNvbXBsaWNhdGVkIHRoYW4g Y2hlY2tpbmcgaWYgbm8gYml0cyBhcmUgdG9nZ2xpbmcKPiAtICogKGluY2x1ZGluZyBjaGVja2lu ZyBEUTUgZm9yIGFuIGVycm9yIHN0YXR1cykgaXMgdHJpY2t5IHRvIGdldCB3b3JraW5nCj4gLSAq IGNvcnJlY3RseSBhbmQgaXMgdGhlcmVmb3JlIG5vdCBkb25lCShwYXJ0aWN1bGFybHkgd2l0aCBp bnRlcmxlYXZlZCBjaGlwcwo+IC0gKiBhcyBlYWNoIGNoaXAgbXVzdCBiZSBjaGVja2VkIGluZGVw ZW5kZW50bHkgb2YgdGhlIG90aGVycykuCj4gLSAqLwo+IC1zdGF0aWMgaW50IF9feGlwcmFtIGNo aXBfcmVhZHkoc3RydWN0IG1hcF9pbmZvICptYXAsIHN0cnVjdCBmbGNoaXAgKmNoaXAsCj4gLQkJ CSAgICAgICB1bnNpZ25lZCBsb25nIGFkZHIpCj4gK3N0YXRpYyBpbnQgX194aXByYW0gY2hpcF9j aGVjayhzdHJ1Y3QgbWFwX2luZm8gKm1hcCwgc3RydWN0IGZsY2hpcCAqY2hpcCwKPiArCQkJICAg ICAgIHVuc2lnbmVkIGxvbmcgYWRkciwgbWFwX3dvcmQgKmV4cGVjdGVkKQo+ICB7Cj4gIAlzdHJ1 Y3QgY2ZpX3ByaXZhdGUgKmNmaSA9IG1hcC0+ZmxkcnZfcHJpdjsKPiAtCW1hcF93b3JkIGQsIHQ7 Cj4gKwltYXBfd29yZCBvbGRkLCBjdXJkOwo+ICsJaW50IHJldDsKPiAgCj4gIAlpZiAoY2ZpX3Vz ZV9zdGF0dXNfcmVnKGNmaSkpIHsKPiAgCQltYXBfd29yZCByZWFkeSA9IENNRChDRklfU1JfRFJC KTsKPiBAQCAtODI3LDE3ICs4MTcsMzUgQEAgc3RhdGljIGludCBfX3hpcHJhbSBjaGlwX3JlYWR5 KHN0cnVjdCBtYXBfaW5mbyAqbWFwLCBzdHJ1Y3QgZmxjaGlwICpjaGlwLAo+ICAJCSAqLwo+ICAJ CWNmaV9zZW5kX2dlbl9jbWQoMHg3MCwgY2ZpLT5hZGRyX3VubG9jazEsIGNoaXAtPnN0YXJ0LCBt YXAsIGNmaSwKPiAgCQkJCSBjZmktPmRldmljZV90eXBlLCBOVUxMKTsKPiAtCQlkID0gbWFwX3Jl YWQobWFwLCBhZGRyKTsKPiArCQljdXJkID0gbWFwX3JlYWQobWFwLCBhZGRyKTsKPiAgCj4gLQkJ cmV0dXJuIG1hcF93b3JkX2FuZGVxdWFsKG1hcCwgZCwgcmVhZHksIHJlYWR5KTsKPiArCQlyZXR1 cm4gbWFwX3dvcmRfYW5kZXF1YWwobWFwLCBjdXJkLCByZWFkeSwgcmVhZHkpOwo+ICAJfQo+ICAK PiAtCWQgPSBtYXBfcmVhZChtYXAsIGFkZHIpOwo+IC0JdCA9IG1hcF9yZWFkKG1hcCwgYWRkcik7 Cj4gKwlvbGRkID0gbWFwX3JlYWQobWFwLCBhZGRyKTsKPiArCWN1cmQgPSBtYXBfcmVhZChtYXAs IGFkZHIpOwo+ICsKPiArCXJldCA9IG1hcF93b3JkX2VxdWFsKG1hcCwgb2xkZCwgY3VyZCk7Cj4g IAo+IC0JcmV0dXJuIG1hcF93b3JkX2VxdWFsKG1hcCwgZCwgdCk7Cj4gKwlpZiAoIXJldCB8fCAh ZXhwZWN0ZWQpCj4gKwkJcmV0dXJuIHJldDsKPiArCj4gKwlyZXR1cm4gbWFwX3dvcmRfZXF1YWwo bWFwLCBjdXJkLCAqZXhwZWN0ZWQpOwo+ICB9Cj4gIAo+ICsvKgo+ICsgKiBSZXR1cm4gdHJ1ZSBp ZiB0aGUgY2hpcCBpcyByZWFkeS4KPiArICoKPiArICogUmVhZHkgaXMgb25lIG9mOiByZWFkIG1v ZGUsIHF1ZXJ5IG1vZGUsIGVyYXNlLXN1c3BlbmQtcmVhZCBtb2RlIChpbiBhbnkKPiArICogbm9u LXN1c3BlbmRlZCBzZWN0b3IpIGFuZCBpcyBpbmRpY2F0ZWQgYnkgbm8gdG9nZ2xlIGJpdHMgdG9n Z2xpbmcuCj4gKyAqCj4gKyAqIE5vdGUgdGhhdCBhbnl0aGluZyBtb3JlIGNvbXBsaWNhdGVkIHRo YW4gY2hlY2tpbmcgaWYgbm8gYml0cyBhcmUgdG9nZ2xpbmcKPiArICogKGluY2x1ZGluZyBjaGVj a2luZyBEUTUgZm9yIGFuIGVycm9yIHN0YXR1cykgaXMgdHJpY2t5IHRvIGdldCB3b3JraW5nCj4g KyAqIGNvcnJlY3RseSBhbmQgaXMgdGhlcmVmb3JlIG5vdCBkb25lCShwYXJ0aWN1bGFybHkgd2l0 aCBpbnRlcmxlYXZlZCBjaGlwcwo+ICsgKiBhcyBlYWNoIGNoaXAgbXVzdCBiZSBjaGVja2VkIGlu ZGVwZW5kZW50bHkgb2YgdGhlIG90aGVycykuCj4gKyAqLwo+ICsjZGVmaW5lIGNoaXBfcmVhZHko bWFwLCBjaGlwLCBhZGRyKSBjaGlwX2NoZWNrKG1hcCwgY2hpcCwgYWRkciwgTlVMTCkKPiArCj4g IC8qCj4gICAqIFJldHVybiB0cnVlIGlmIHRoZSBjaGlwIGlzIHJlYWR5IGFuZCBoYXMgdGhlIGNv cnJlY3QgdmFsdWUuCj4gICAqCj4gQEAgLTg1NiwyOCArODY0LDE0IEBAIHN0YXRpYyBpbnQgX194 aXByYW0gY2hpcF9yZWFkeShzdHJ1Y3QgbWFwX2luZm8gKm1hcCwgc3RydWN0IGZsY2hpcCAqY2hp cCwKPiAgc3RhdGljIGludCBfX3hpcHJhbSBjaGlwX2dvb2Qoc3RydWN0IG1hcF9pbmZvICptYXAs IHN0cnVjdCBmbGNoaXAgKmNoaXAsCj4gIAkJCSAgICAgIHVuc2lnbmVkIGxvbmcgYWRkciwgbWFw X3dvcmQgZXhwZWN0ZWQpCj4gIHsKPiAtCXN0cnVjdCBjZmlfcHJpdmF0ZSAqY2ZpID0gbWFwLT5m bGRydl9wcml2Owo+IC0JbWFwX3dvcmQgb2xkZCwgY3VyZDsKPiAtCj4gLQlpZiAoY2ZpX3VzZV9z dGF0dXNfcmVnKGNmaSkpIHsKPiAtCQltYXBfd29yZCByZWFkeSA9IENNRChDRklfU1JfRFJCKTsK PiAtCj4gLQkJLyoKPiAtCQkgKiBGb3IgY2hpcHMgdGhhdCBzdXBwb3J0IHN0YXR1cyByZWdpc3Rl ciwgY2hlY2sgZGV2aWNlCj4gLQkJICogcmVhZHkgYml0Cj4gLQkJICovCj4gLQkJY2ZpX3NlbmRf Z2VuX2NtZCgweDcwLCBjZmktPmFkZHJfdW5sb2NrMSwgY2hpcC0+c3RhcnQsIG1hcCwgY2ZpLAo+ IC0JCQkJIGNmaS0+ZGV2aWNlX3R5cGUsIE5VTEwpOwo+IC0JCWN1cmQgPSBtYXBfcmVhZChtYXAs IGFkZHIpOwo+IC0KPiAtCQlyZXR1cm4gbWFwX3dvcmRfYW5kZXF1YWwobWFwLCBjdXJkLCByZWFk eSwgcmVhZHkpOwo+IC0JfQo+IC0KPiAtCW9sZGQgPSBtYXBfcmVhZChtYXAsIGFkZHIpOwo+IC0J Y3VyZCA9IG1hcF9yZWFkKG1hcCwgYWRkcik7Cj4gKwlyZXR1cm4gY2hpcF9jaGVjayhtYXAsIGNo aXAsIGFkZHIsICZleHBlY3RlZCk7CgpJIG11c3QgYWRtaXQgdGhhdCBjaGlwX2NoZWNrLCBjaGlw X2dvb2QoKSwgY2hpcF9yZWFkeSgpIGFyZSByYXRoZXIgcG9vcgpuYW1lcywgYXQgbGVhc3QgdGhl eSBkb24ndCBicmluZyBhIGxvdCBvZiBpbmZvcm1hdGlvbi4gSXMgdGhpcyBwYXJ0IG9mIGEKcmV2 ZXJ0PyBJZiB5ZXMgbWF5YmUgaXQgd291bGQgYmUgYmV0dGVyIHRvIGFjdHVhbGx5IHJldmVydCB0 aGUgcGF0Y2ggaWYKaXQgbm90IHRvbyBjb21wbGljYXRlZD8gT3RoZXJ3aXNlIEkgZG9uJ3QgcmVh bGx5IHNlZSB0aGUgcG9pbnQgb2YKaGF2aW5nIGNoaXBfZ29vZCgpIGNhbGxpbmcganVzdCBjaGlw X2NoZWNrKCk/IEFuZCBjcmVhdGluZyBhIG1hY3JvIGZvcgpjaGlwX3JlYWR5KCk/Cgo+ICt9Cj4g IAo+IC0JcmV0dXJuCW1hcF93b3JkX2VxdWFsKG1hcCwgb2xkZCwgY3VyZCkgJiYKPiAtCQltYXBf d29yZF9lcXVhbChtYXAsIGN1cmQsIGV4cGVjdGVkKTsKPiArc3RhdGljIGludCBfX3hpcHJhbSBj aGlwX2dvb2RfZm9yX3dyaXRlKHN0cnVjdCBtYXBfaW5mbyAqbWFwLAo+ICsJCQkJCXN0cnVjdCBm bGNoaXAgKmNoaXAsIHVuc2lnbmVkIGxvbmcgYWRkciwKPiArCQkJCQltYXBfd29yZCBleHBlY3Rl ZCkKPiArewo+ICsJcmV0dXJuIGNoaXBfZ29vZChtYXAsIGNoaXAsIGFkZHIsIGV4cGVjdGVkKTsK PiAgfQo+ICAKPiAgc3RhdGljIGludCBnZXRfY2hpcChzdHJ1Y3QgbWFwX2luZm8gKm1hcCwgc3Ry dWN0IGZsY2hpcCAqY2hpcCwgdW5zaWduZWQgbG9uZyBhZHIsIGludCBtb2RlKQo+IEBAIC0xNzAw LDcgKzE2OTQsNyBAQCBzdGF0aWMgaW50IF9feGlwcmFtIGRvX3dyaXRlX29uZXdvcmRfb25jZShz dHJ1Y3QgbWFwX2luZm8gKm1hcCwKPiAgCQkgKiAiY2hpcF9nb29kIiB0byBhdm9pZCB0aGUgZmFp bHVyZSBkdWUgdG8gc2NoZWR1bGluZy4KPiAgCQkgKi8KPiAgCQlpZiAodGltZV9hZnRlcihqaWZm aWVzLCB0aW1lbykgJiYKPiAtCQkgICAgIWNoaXBfZ29vZChtYXAsIGNoaXAsIGFkciwgZGF0dW0p KSB7Cj4gKwkJICAgICFjaGlwX2dvb2RfZm9yX3dyaXRlKG1hcCwgY2hpcCwgYWRyLCBkYXR1bSkp IHsKPiAgCQkJeGlwX2VuYWJsZShtYXAsIGNoaXAsIGFkcik7Cj4gIAkJCXByaW50ayhLRVJOX1dB Uk5JTkcgIk1URCAlcygpOiBzb2Z0d2FyZSB0aW1lb3V0XG4iLCBfX2Z1bmNfXyk7Cj4gIAkJCXhp cF9kaXNhYmxlKG1hcCwgY2hpcCwgYWRyKTsKPiBAQCAtMTcwOCw3ICsxNzAyLDcgQEAgc3RhdGlj IGludCBfX3hpcHJhbSBkb193cml0ZV9vbmV3b3JkX29uY2Uoc3RydWN0IG1hcF9pbmZvICptYXAs Cj4gIAkJCWJyZWFrOwo+ICAJCX0KPiAgCj4gLQkJaWYgKGNoaXBfZ29vZChtYXAsIGNoaXAsIGFk ciwgZGF0dW0pKSB7Cj4gKwkJaWYgKGNoaXBfZ29vZF9mb3Jfd3JpdGUobWFwLCBjaGlwLCBhZHIs IGRhdHVtKSkgewo+ICAJCQlpZiAoY2ZpX2NoZWNrX2Vycl9zdGF0dXMobWFwLCBjaGlwLCBhZHIp KQo+ICAJCQkJcmV0ID0gLUVJTzsKPiAgCQkJYnJlYWs7Cj4gQEAgLTE5ODAsMTQgKzE5NzQsMTQg QEAgc3RhdGljIGludCBfX3hpcHJhbSBkb193cml0ZV9idWZmZXJfd2FpdChzdHJ1Y3QgbWFwX2lu Zm8gKm1hcCwKPiAgCQkgKiAiY2hpcF9nb29kIiB0byBhdm9pZCB0aGUgZmFpbHVyZSBkdWUgdG8g c2NoZWR1bGluZy4KPiAgCQkgKi8KPiAgCQlpZiAodGltZV9hZnRlcihqaWZmaWVzLCB0aW1lbykg JiYKPiAtCQkgICAgIWNoaXBfZ29vZChtYXAsIGNoaXAsIGFkciwgZGF0dW0pKSB7Cj4gKwkJICAg ICFjaGlwX2dvb2RfZm9yX3dyaXRlKG1hcCwgY2hpcCwgYWRyLCBkYXR1bSkpIHsKPiAgCQkJcHJf ZXJyKCJNVEQgJXMoKTogc29mdHdhcmUgdGltZW91dCwgYWRkcmVzczoweCUuOGx4LlxuIiwKPiAg CQkJICAgICAgIF9fZnVuY19fLCBhZHIpOwo+ICAJCQlyZXQgPSAtRUlPOwo+ICAJCQlicmVhazsK PiAgCQl9Cj4gIAo+IC0JCWlmIChjaGlwX2dvb2QobWFwLCBjaGlwLCBhZHIsIGRhdHVtKSkgewo+ ICsJCWlmIChjaGlwX2dvb2RfZm9yX3dyaXRlKG1hcCwgY2hpcCwgYWRyLCBkYXR1bSkpIHsKPiAg CQkJaWYgKGNmaV9jaGVja19lcnJfc3RhdHVzKG1hcCwgY2hpcCwgYWRyKSkKPiAgCQkJCXJldCA9 IC1FSU87Cj4gIAkJCWJyZWFrOwoKClRoYW5rcywKTWlxdcOobAoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4IE1URCBkaXNjdXNzaW9u IG1haWxpbmcgbGlzdApodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2xpbnV4LW10ZC8K