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 3B2E8C00A94 for ; Mon, 15 Apr 2024 11:12:06 +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=Cs4YmtN78Wd9CNqJmYY2GwyhedYB+puhQI6Tc0si++Y=; b=jCUBjKendpZocB 8w57+7E6GPW3p+GU+tUdz2M0OiKb/6PfWCTJLqS9EWNrKxFAlHWM0kNxVJKlcttVblj9zD3hXPU9m HmGFu4MFCjJvxp99KoltH1L4UzQRzhOgZtgP8IhI2qf25nfW3fGdrsIBd+3C0Cv9nRnaMMcUGle/e oaLJ2+IxrcYq5JLxYScsDRsEOQAZDCn95XiPw0R43iPiW7ATtKEY8isAF9/criRdh7DKT2zXyT5u3 OuSsgNjS+lCAbuH7lbmWpgIpBigy4duu621c9JHRRWqi2SN4MguuMY4s0tAlISby4oHeuEQzG9QsQ YUu5iOoYJ7HQEVD+Fb9g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rwKFc-0000000809i-1EZ1; Mon, 15 Apr 2024 11:11:52 +0000 Received: from frasgout.his.huawei.com ([185.176.79.56]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rwKFZ-0000000808t-1tJG for linux-arm-kernel@lists.infradead.org; Mon, 15 Apr 2024 11:11:51 +0000 Received: from mail.maildlp.com (unknown [172.18.186.231]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4VJ4FS2BBfz6K68f; Mon, 15 Apr 2024 19:09:48 +0800 (CST) Received: from lhrpeml500005.china.huawei.com (unknown [7.191.163.240]) by mail.maildlp.com (Postfix) with ESMTPS id BA5231400E7; Mon, 15 Apr 2024 19:11:41 +0800 (CST) Received: from localhost (10.122.247.231) by lhrpeml500005.china.huawei.com (7.191.163.240) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Mon, 15 Apr 2024 12:11:41 +0100 Date: Mon, 15 Apr 2024 12:11:40 +0100 From: Jonathan Cameron To: "Rafael J. Wysocki" CC: , , , , , , , , Russell King , Miguel Luis , James Morse , Salil Mehta , "Jean-Philippe Brucker" , Catalin Marinas , Will Deacon , , , Subject: Re: [PATCH v5 03/18] ACPI: processor: Register deferred CPUs from acpi_processor_get_info() Message-ID: <20240415121140.00006bc7@huawei.com> In-Reply-To: <20240415115203.0000011b@Huawei.com> References: <20240412143719.11398-1-Jonathan.Cameron@huawei.com> <20240412143719.11398-4-Jonathan.Cameron@huawei.com> <20240415115203.0000011b@Huawei.com> Organization: Huawei Technologies R&D (UK) Ltd. X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.29; x86_64-w64-mingw32) MIME-Version: 1.0 X-Originating-IP: [10.122.247.231] X-ClientProxiedBy: lhrpeml500004.china.huawei.com (7.191.163.9) To lhrpeml500005.china.huawei.com (7.191.163.240) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240415_041149_788669_B62837A2 X-CRM114-Status: GOOD ( 58.14 ) 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 T24gTW9uLCAxNSBBcHIgMjAyNCAxMTo1MjowMyArMDEwMApKb25hdGhhbiBDYW1lcm9uIDxKb25h dGhhbi5DYW1lcm9uQEh1YXdlaS5jb20+IHdyb3RlOgoKPiBPbiBGcmksIDEyIEFwciAyMDI0IDIw OjMwOjQwICswMjAwCj4gIlJhZmFlbCBKLiBXeXNvY2tpIiA8cmFmYWVsQGtlcm5lbC5vcmc+IHdy b3RlOgo+IAo+ID4gT24gRnJpLCBBcHIgMTIsIDIwMjQgYXQgNDozOOKAr1BNIEpvbmF0aGFuIENh bWVyb24KPiA+IDxKb25hdGhhbi5DYW1lcm9uQGh1YXdlaS5jb20+IHdyb3RlOiAgCj4gPiA+Cj4g PiA+IEZyb206IEphbWVzIE1vcnNlIDxqYW1lcy5tb3JzZUBhcm0uY29tPgo+ID4gPgo+ID4gPiBU aGUgYXJtNjQgc3BlY2lmaWMgYXJjaF9yZWdpc3Rlcl9jcHUoKSBjYWxsIG1heSBkZWZlciBDUFUg cmVnaXN0cmF0aW9uCj4gPiA+IHVudGlsIHRoZSBBQ1BJIGludGVycHJldGVyIGlzIGF2YWlsYWJs ZSBhbmQgdGhlIF9TVEEgbWV0aG9kIGNhbgo+ID4gPiBiZSBldmFsdWF0ZWQuCj4gPiA+Cj4gPiA+ IElmIHRoaXMgb2NjdXJzLCB0aGVuIGEgc2Vjb25kIGF0dGVtcHQgaXMgbWFkZSBpbgo+ID4gPiBh Y3BpX3Byb2Nlc3Nvcl9nZXRfaW5mbygpLiBOb3RlIHRoYXQgdGhlIGFybTY0IHNwZWNpZmljIGNh bGwgaGFzCj4gPiA+IG5vdCB5ZXQgYmVlbiBhZGRlZCBzbyBmb3Igbm93IHRoaXMgd2lsbCBuZXZl ciBiZSBzdWNjZXNzZnVsbHkKPiA+ID4gY2FsbGVkLgo+ID4gPgo+ID4gPiBTeXN0ZW1zIGNhbiBz dGlsbCBiZSBib290ZWQgd2l0aCAnYWNwaT1vZmYnLCBvciBub3QgaW5jbHVkZSBhbgo+ID4gPiBB Q1BJIGRlc2NyaXB0aW9uIGF0IGFsbCBhcyBpbiB0aGVzZSBjYXNlcyBhcmNoX3JlZ2lzdGVyX2Nw dSgpCj4gPiA+IHdpbGwgbm90IGhhdmUgZGVmZXJyZWQgcmVnaXN0cmF0aW9uIHdoZW4gZmlyc3Qg Y2FsbGVkLgo+ID4gPgo+ID4gPiBUaGlzIG1vdmVzIHRoZSBDUFUgcmVnaXN0ZXIgbG9naWMgYmFj ayB0byBhIHN1YnN5c19pbml0Y2FsbCgpLAo+ID4gPiB3aGlsZSB0aGUgbWVtb3J5IG5vZGVzIHdp bGwgaGF2ZSBiZWVuIHJlZ2lzdGVyZWQgZWFybGllci4KPiA+ID4gTm90ZSB0aGlzIGlzIHdoZXJl IHRoZSBjYWxsIHdhcyBwcmlvciB0byB0aGUgY2xlYW51cCBzZXJpZXMgc28KPiA+ID4gdGhlcmUg c2hvdWxkIGJlIG5vIHNpZGUgZWZmZWN0cyBvZiBtb3ZpbmcgaXQgYmFjayBhZ2FpbiBmb3IgdGhp cwo+ID4gPiBzcGVjaWZpYyBjYXNlLgo+ID4gPgo+ID4gPiBbUEFUQ0ggMDAvMjFdIEluaXRpYWwg Y2xlYW51cHMgZm9yIHZDUFUgSFAuCj4gPiA+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2FsbC9a Vnl6JTJGVmU1cFB1OEFXb0FAc2hlbGwuYXJtbGludXgub3JnLnVrLwo+ID4gPgo+ID4gPiBlLmcu IDViOTVmOTRjM2I5ZiAoIng4Ni90b3BvbG9neTogU3dpdGNoIG92ZXIgdG8gR0VORVJJQ19DUFVf REVWSUNFUyIpCj4gPiA+Cj4gPiA+IFNpZ25lZC1vZmYtYnk6IEphbWVzIE1vcnNlIDxqYW1lcy5t b3JzZUBhcm0uY29tPgo+ID4gPiBSZXZpZXdlZC1ieTogR2F2aW4gU2hhbiA8Z3NoYW5AcmVkaGF0 LmNvbT4KPiA+ID4gVGVzdGVkLWJ5OiBNaWd1ZWwgTHVpcyA8bWlndWVsLmx1aXNAb3JhY2xlLmNv bT4KPiA+ID4gVGVzdGVkLWJ5OiBWaXNobnUgUGFqanVyaSA8dmlzaG51QG9zLmFtcGVyZWNvbXB1 dGluZy5jb20+Cj4gPiA+IFRlc3RlZC1ieTogSmlhbnlvbmcgV3UgPGppYW55b25nLnd1QGFybS5j b20+Cj4gPiA+IFNpZ25lZC1vZmYtYnk6IFJ1c3NlbGwgS2luZyAoT3JhY2xlKSA8cm1rK2tlcm5l bEBhcm1saW51eC5vcmcudWs+Cj4gPiA+IENvLWRldmVsb3BlZC1ieTogSm9uYXRoYW4gQ2FtZXJv biA8Sm9uYXRoYW4uQ2FtZXJvbkBodWF3ZWkuY29tPgo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBKb2Fu dGhhbiBDYW1lcm9uIDxKb25hdGhhbi5DYW1lcm9uQGh1YXdlaS5jb20+Cj4gPiA+IC0tLQo+ID4g PiB2NTogVXBkYXRlIGNvbW1pdCBtZXNzYWdlIHRvIG1ha2UgaXQgY2xlYXIgdGhpcyBpcyBtb3Zp bmcgdGhlCj4gPiA+ICAgICBpbml0IGJhY2sgdG8gd2hlcmUgaXQgd2FzIHVudGlsIHZlcnkgcmVj ZW50bHkuCj4gPiA+Cj4gPiA+ICAgICBObyBsb25nZXIgY2hhbmdlIHRoZSBjb25kaXRpb24gaW4g dGhlIGVhcmxpZXIgcmVnaXN0cmF0aW9uIHBvaW50Cj4gPiA+ICAgICBhcyB0aGF0IHdpbGwgYmUg aGFuZGxlZCBieSB0aGUgYXJtNjQgcmVnaXN0cmF0aW9uIHJvdXRpbmUKPiA+ID4gICAgIGRlZmVy cmluZyB1bnRpbCBjYWxsZWQgYWdhaW4gaGVyZS4KPiA+ID4gLS0tCj4gPiA+ICBkcml2ZXJzL2Fj cGkvYWNwaV9wcm9jZXNzb3IuYyB8IDEyICsrKysrKysrKysrKwo+ID4gPiAgMSBmaWxlIGNoYW5n ZWQsIDEyIGluc2VydGlvbnMoKykKPiA+ID4KPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvYWNw aS9hY3BpX3Byb2Nlc3Nvci5jIGIvZHJpdmVycy9hY3BpL2FjcGlfcHJvY2Vzc29yLmMKPiA+ID4g aW5kZXggOTNlMDI5NDAzZDA1Li5jNzgzOThjZGQwNjAgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZl cnMvYWNwaS9hY3BpX3Byb2Nlc3Nvci5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvYWNwaS9hY3BpX3By b2Nlc3Nvci5jCj4gPiA+IEBAIC0zMTcsNiArMzE3LDE4IEBAIHN0YXRpYyBpbnQgYWNwaV9wcm9j ZXNzb3JfZ2V0X2luZm8oc3RydWN0IGFjcGlfZGV2aWNlICpkZXZpY2UpCj4gPiA+Cj4gPiA+ICAg ICAgICAgYyA9ICZwZXJfY3B1KGNwdV9kZXZpY2VzLCBwci0+aWQpOwo+ID4gPiAgICAgICAgIEFD UElfQ09NUEFOSU9OX1NFVCgmYy0+ZGV2LCBkZXZpY2UpOwo+ID4gPiArICAgICAgIC8qCj4gPiA+ ICsgICAgICAgICogUmVnaXN0ZXIgQ1BVcyB0aGF0IGFyZSBwcmVzZW50LiBnZXRfY3B1X2Rldmlj ZSgpIGlzIHVzZWQgdG8gc2tpcAo+ID4gPiArICAgICAgICAqIGR1cGxpY2F0ZSBDUFUgZGVzY3Jp cHRpb25zIGZyb20gZmlybXdhcmUuCj4gPiA+ICsgICAgICAgICovCj4gPiA+ICsgICAgICAgaWYg KCFpbnZhbGlkX2xvZ2ljYWxfY3B1aWQocHItPmlkKSAmJiBjcHVfcHJlc2VudChwci0+aWQpICYm Cj4gPiA+ICsgICAgICAgICAgICFnZXRfY3B1X2RldmljZShwci0+aWQpKSB7Cj4gPiA+ICsgICAg ICAgICAgICAgICBpbnQgcmV0ID0gYXJjaF9yZWdpc3Rlcl9jcHUocHItPmlkKTsKPiA+ID4gKwo+ ID4gPiArICAgICAgICAgICAgICAgaWYgKHJldCkKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgcmV0dXJuIHJldDsKPiA+ID4gKyAgICAgICB9Cj4gPiA+ICsKPiA+ID4gICAgICAgICAvKgo+ ID4gPiAgICAgICAgICAqICBFeHRyYSBQcm9jZXNzb3Igb2JqZWN0cyBtYXkgYmUgZW51bWVyYXRl ZCBvbiBNUCBzeXN0ZW1zIHdpdGgKPiA+ID4gICAgICAgICAgKiAgbGVzcyB0aGFuIHRoZSBtYXgg IyBvZiBDUFVzLiBUaGV5IHNob3VsZCBiZSBpZ25vcmVkIF9pZmYKPiA+ID4gLS0gICAgCj4gPiAK PiA+IEkgYW0gc3RpbGwgdW5zdXJlIHdoeSB0aGVyZSBuZWVkIHRvIGJlIHR3byBwYXRocyBjYWxs aW5nCj4gPiBhcmNoX3JlZ2lzdGVyX2NwdSgpIGluIGFjcGlfcHJvY2Vzc29yX2dldF9pbmZvKCku ICAKPiAKPiBJIHJlcGxpZWQgZnVydGhlciBkb3duIHRoZSB0aHJlYWQsIGJ1dCB0aGUga2V5IHBv aW50IHdhcyB0byBtYWludGFpbgo+IHRoZSBzdHJvbmcgZGlzdGluY3Rpb24gYmV0d2VlbiAnd2hh dCcgd2FzIGRvbmUgaW4gYSByZWFsIGhvdHBsdWcKPiBwYXRoIHZzIG9uZSB3aGVyZSBvbmxpbmlu ZyB3YXMgYWxsLiAgV2UgY2FuIHJlbGF4IHRoYXQgYnV0IGl0IGdvZXMKPiBjb250cmFyeSB0byB0 aGUgY2FyZWZ1bCBkYW5jZSB0aGF0IHdhcyBuZWVkZWQgdG8gZ2V0IGFueSBhZ3JlZW1lbnQKPiB0 byB0aGUgQVJNIGFyY2hpdGVjdHVyZSBhc3BlY3RzIG9mIHRoaXMuCj4gCj4gPiAKPiA+IEp1c3Qg YmVsb3cgdGhlIGNvbW1lbnQgcGFydGlhbGx5IHB1bGxlZCBpbnRvIHRoZSBwYXRjaCBjb250ZXh0 IGFib3ZlLAo+ID4gdGhlcmUgaXMgdGhpcyBjb2RlOgo+ID4gCj4gPiBpZiAoaW52YWxpZF9sb2dp Y2FsX2NwdWlkKHByLT5pZCkgfHwgIWNwdV9wcmVzZW50KHByLT5pZCkpIHsKPiA+ICAgICAgICAg IGludCByZXQgPSBhY3BpX3Byb2Nlc3Nvcl9ob3RhZGRfaW5pdChwcik7Cj4gPiAKPiA+ICAgICAg ICAgaWYgKHJldCkKPiA+ICAgICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+ID4gfQo+ID4gCj4g PiBGb3IgdGhlIHNha2Ugb2YgdGhlIGFyZ3VtZW50LCBmb2xkIGFjcGlfcHJvY2Vzc29yX2hvdGFk ZF9pbml0KCkgaW50bwo+ID4gaXQgYW5kIGRyb3AgdGhlIHJlZHVuZGFudCBfU1RBIGNoZWNrIGZy b20gaXQ6ICAKPiAKPiBJZiB3ZSBjb21iaW5lIHRoZXNlLCB0aGUgX1NUQSBjaGVjayBpcyBuZWNl c3NhcnkgYmVjYXVzZSB3ZSB3aWxsIGNhbGwgdGhpcwo+IHBhdGggZm9yIGRlbGF5ZWQgb25saW5p bmcgb2YgQVJNNjQgQ1BVcyAoaWYgdGhlIGVhcmxpZXIgcmVnaXN0cmF0aW9uIGNvZGUKPiBjYWxs IG9yIGFyY2hfcmVnaXN0ZXJfY3B1KCkgcmV0dXJuZWQgLUVQUk9CRSBkZWZlcikuIFRoYXQncyB0 aGUgb25seSB3YXkKPiB3ZSBrbm93IHRoYXQgYSBnaXZlbiBDUFUgaXMgb25saW5lIGNhcGFibGUg YnV0IGZpcm13YXJlIGlzIHNheWluZyB3ZSBjYW4ndAo+IGJyaW5nIGl0IG9ubGluZSB5ZXQgKGl0 IG1heSBiZSBiZSB2SFAgbGF0ZXIpLgoKRm9yIGFybTY0IGlnbm9yZSB0aGlzIGNvbW1lbnQuIEkn ZCBmb3Jnb3R0ZW4gd2UgbW92ZWQgaXQgaW50byB0aGUgYXJjaApzcGVjaWZpYyBjb2RlIGxhc3Qg d2Vlay4gIE1heSBuZWVkIHNpbWlsYXIgb24geDg2IEknbSBub3QgMTAwJSBzdXJlLgoKPiAKPiA+ IAo+ID4gaWYgKGludmFsaWRfbG9naWNhbF9jcHVpZChwci0+aWQpIHx8ICFjcHVfcHJlc2VudChw ci0+aWQpKSB7Cj4gPiAgICAgICAgIGlmIChpbnZhbGlkX3BoeXNfY3B1aWQocHItPnBoeXNfaWQp KQo+ID4gICAgICAgICAgICAgICAgIHJldHVybiAtRU5PREVWOwo+ID4gCj4gPiAgICAgICAgIGNw dV9tYXBzX3VwZGF0ZV9iZWdpbigpOwo+ID4gICAgICAgICBjcHVzX3dyaXRlX2xvY2soKTsKPiA+ IAo+ID4gICAgICAgIHJldCA9IGFjcGlfbWFwX2NwdShwci0+aGFuZGxlLCBwci0+cGh5c19pZCwg cHItPmFjcGlfaWQsICZwci0+aWQpOyAgCj4gCj4gSSByZWFkIHRoYXQgY2FsbCBhcwo+IAlhY3Bp X21hcF9jcHVfZm9yX3BoeXNpY2FsX2NwdV9ob3RwbHVnKCkKPiBidXQgd2UgY291bGQgbWFrZSBp dCBlcXVpdmFsZW50IG9mLgo+IAlhY3BpX21hcF9jcHVfZm9yX3doYXRldmVyX2NwdV9ob3RwbHVn KCkKPiAoSSdtIG5vdCBwcm9wb3NpbmcgdGhvc2UgbmFtZXMgdGhvdWdoIDspCj4gCj4gaW4gd2hp Y2ggY2FzZSBpdCBpcyBmaW5lIHRvIGp1c3Qgc3R1YiBpdCBvdXQgb24gQVJNNjQuCj4gPiAgICAg ICAgaWYgKHJldCkgewo+ID4gICAgICAgICAgICAgICAgIGNwdXNfd3JpdGVfdW5sb2NrKCk7Cj4g PiAgICAgICAgICAgICAgICAgY3B1X21hcHNfdXBkYXRlX2RvbmUoKTsKPiA+ICAgICAgICAgICAg ICAgICByZXR1cm4gcmV0Owo+ID4gICAgICAgIH0KPiA+ICAgICAgICByZXQgPSBhcmNoX3JlZ2lz dGVyX2NwdShwci0+aWQpOwo+ID4gICAgICAgIGlmIChyZXQpIHsKPiA+ICAgICAgICAgICAgICAg ICBhY3BpX3VubWFwX2NwdShwci0+aWQpOwo+ID4gCj4gPiAgICAgICAgICAgICAgICAgY3B1c193 cml0ZV91bmxvY2soKTsKPiA+ICAgICAgICAgICAgICAgICBjcHVfbWFwc191cGRhdGVfZG9uZSgp Owo+ID4gICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4gPiAgICAgICAgfQo+ID4gICAgICAg cHJfaW5mbygiQ1BVJWQgaGFzIGJlZW4gaG90LWFkZGVkXG4iLCBwci0+aWQpOwo+ID4gICAgICAg cHItPmZsYWdzLm5lZWRfaG90cGx1Z19pbml0ID0gMTsgIAo+IFRoaXMgb25lIG5lZWRzIG1vcmUg Y2FyZWZ1bCBoYW5kbGluZyBiZWNhdXNlIHdlIGFyZSBjYWxsaW5nIHRoaXMKPiBmb3Igbm9uIGhv dHBsdWcgY2FzZXMgb24gYXJtNjQgaW4gd2hpY2ggY2FzZSB3ZSBlbmQgdXAgc2V0dGluZyB0aGlz Cj4gZm9yIGluaXRpYWxseSBvbmxpbmUgQ1BVcyAtIHRodXMgaWYgd2Ugb2ZmbGluZSBhbmQgb25s aW5lIHRoZW0KPiBhZ2FpbiB2aWEgc3lzZnMgL3N5cy9idXMvY3B1L2RldmljZS9jcHVYL29ubGlu ZSBpdCBnb2VzIHRocm91Z2ggdGhlCj4gaG90cGx1ZyBwYXRoIGFuZCBzaG91bGQgbm90Lgo+IAo+ IFNvIEkgbmVlZCBhIHdheSB0byBkZXRlY3QgaWYgd2UgYXJlIGhvdHBsdWdnaW5nIHRoZSBjcHUg b3Igbm90Lgo+IElzIHRoZXJlIGEgc3RhbmRhcmQgd2F5IHRvIGRvIHRoaXM/ICBJIGhhdmVuJ3Qg ZmlndXJlZCBvdXQgaG93Cj4gdG8gdXNlIGZsYWdzIGluIGRyaXZlcnMgdG8gY29tbXVuaWNhdGUg dGhpcyBzdGF0ZS4KPiAKPiA+IAo+ID4gICAgICAgY3B1c193cml0ZV91bmxvY2soKTsKPiA+ICAg ICAgIGNwdV9tYXBzX3VwZGF0ZV9kb25lKCk7Cj4gPiB9Cj4gPiAKPiA+IHNvIEknbSBub3Qgc3Vy ZSB3aHkgdGhpcyBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCB0aGUgbmV3IGNvZGUuCj4gPiAKPiA+ IFNheSBhY3BpX21hcF9jcHUpIC8gYWNwaV91bm1hcF9jcHUoKSBhcmUgdHVybmVkIGludG8gYXJj aCBjYWxscy4KPiA+IFdoYXQncyB0aGUgZGlmZmVyZW5jZSB0aGVuPyAgVGhlIGxvY2tpbmcsIHdo aWNoIHNob3VsZCBiZSBmaW5lIGlmIEknbQo+ID4gbm90IG1pc3Rha2VuIGFuZCBuZWVkX2hvdHBs dWdfaW5pdCB0aGF0IG5lZWRzIHRvIGJlIHNldCBpZiB0aGlzIGNvZGUKPiA+IHJ1bnMgYWZ0ZXIg dGhlIHByb2Nlc3NvciBkcml2ZXIgaGFzIGxvYWRlZCBBRkFJQ1MuICAKPiAKPiBUaGF0J3MgdGhl IGJpdCB0aGF0IEknbSBjdXJyZW50bHkgZmluZGluZyBhIGNoYWxsZW5nZS4gSXMgdGhlcmUgYSBj bGVhbgo+IHdheSB0byBkZXRlY3QgdGhhdD8KPiAKPiBKb25hdGhhbgo+IAo+IAo+IAo+IAo+IAo+ IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gbGlu dXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKPiBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJh ZGVhZC5vcmcKPiBodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xp bnV4LWFybS1rZXJuZWwKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxp c3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0 aW5mby9saW51eC1hcm0ta2VybmVsCg==