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 69460C4345F for ; Tue, 30 Apr 2024 10:46:08 +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=CDGskt5kMwjdZwWgjJuS+u4hCtm+N/YymIuaKg81zF8=; b=jh4/6HjiGA/poS TnpY1e7Qiz/y1o/Di5FfvygEGDteNVb+ACoFRtaIMtTbDSFm3WHQ4qoxV9wFNe4x2VuKMCyzaB5pC qACfvyqv3rOs4nCLOzCPeT0hUnjSgndxz19D+Ujp5RK+d/mnhO6hf2iz72jTK/VFv4o8P4Bl3g1h+ UByVHF1lzBtgO15oL2/7YRlPpW6pfPdIiffFGD1dTrEC8H3xzC4oTGbN8UJVA+BhbUnKlSJ2ZO+Tz E6wHMAvJYEZdyvNpg8EnZb7P2Yb0qI9QipQ8upP+eczuA6hFxEcfr27kiBPYXnCFu8RHOhz2XiJO9 qjvRtQxDZymtsWMAHnyg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s1kzg-000000063Qf-0yPT; Tue, 30 Apr 2024 10:45: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 1s1kzd-000000063NW-07yz for linux-arm-kernel@lists.infradead.org; Tue, 30 Apr 2024 10:45:51 +0000 Received: from mail.maildlp.com (unknown [172.18.186.231]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4VTGxW6T5Sz6J74t; Tue, 30 Apr 2024 18:42:55 +0800 (CST) Received: from lhrpeml500005.china.huawei.com (unknown [7.191.163.240]) by mail.maildlp.com (Postfix) with ESMTPS id 3BD24140B3C; Tue, 30 Apr 2024 18:45:36 +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; Tue, 30 Apr 2024 11:45:35 +0100 Date: Tue, 30 Apr 2024 11:45:34 +0100 From: Jonathan Cameron To: "Rafael J. Wysocki" CC: Gavin Shan , Thomas Gleixner , Peter Zijlstra , , , , , , , , , Russell King , Miguel Luis , James Morse , Salil Mehta , Jean-Philippe Brucker , Catalin Marinas , Will Deacon , Marc Zyngier , Hanjun Guo , "Ingo Molnar" , Borislav Petkov , Dave Hansen , , , , Lorenzo Pieralisi , "Sudeep Holla" Subject: Re: [PATCH v8 04/16] ACPI: processor: Move checks and availability of acpi_processor earlier Message-ID: <20240430114534.0000600e@huawei.com> In-Reply-To: References: <20240426135126.12802-1-Jonathan.Cameron@huawei.com> <20240426135126.12802-5-Jonathan.Cameron@huawei.com> <80a2e07f-ecb2-48af-b2be-646f17e0e63e@redhat.com> <20240430102838.00006e04@Huawei.com> <20240430111341.00003dba@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-20240430_034549_567563_017A882B X-CRM114-Status: GOOD ( 52.86 ) 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 T24gVHVlLCAzMCBBcHIgMjAyNCAxMjoxNzozOCArMDIwMAoiUmFmYWVsIEouIFd5c29ja2kiIDxy YWZhZWxAa2VybmVsLm9yZz4gd3JvdGU6Cgo+IE9uIFR1ZSwgQXByIDMwLCAyMDI0IGF0IDEyOjEz 4oCvUE0gSm9uYXRoYW4gQ2FtZXJvbgo+IDxKb25hdGhhbi5DYW1lcm9uQGh1YXdlaS5jb20+IHdy b3RlOgo+ID4KPiA+IE9uIFR1ZSwgMzAgQXByIDIwMjQgMTA6Mjg6MzggKzAxMDAKPiA+IEpvbmF0 aGFuIENhbWVyb24gPEpvbmF0aGFuLkNhbWVyb25ASHVhd2VpLmNvbT4gd3JvdGU6Cj4gPiAgCj4g PiA+IE9uIFR1ZSwgMzAgQXByIDIwMjQgMTQ6MTc6MjQgKzEwMDAKPiA+ID4gR2F2aW4gU2hhbiA8 Z3NoYW5AcmVkaGF0LmNvbT4gd3JvdGU6Cj4gPiA+ICAKPiA+ID4gPiBPbiA0LzI2LzI0IDIzOjUx LCBKb25hdGhhbiBDYW1lcm9uIHdyb3RlOiAgCj4gPiA+ID4gPiBNYWtlIHRoZSBwZXJfY3B1KHBy b2Nlc3NvcnMsIGNwdSkgZW50cmllcyBhdmFpbGFibGUgZWFybGllciBzbyB0aGF0Cj4gPiA+ID4g PiB0aGV5IGFyZSBhdmFpbGFibGUgaW4gYXJjaF9yZWdpc3Rlcl9jcHUoKSBhcyBBUk02NCB3aWxs IG5lZWQgYWNjZXNzCj4gPiA+ID4gPiB0byB0aGUgYWNwaV9oYW5kbGUgdG8gZGlzdGluZ3Vpc2gg YmV0d2VlbiBhY3BpX3Byb2Nlc3Nvcl9hZGQoKQo+ID4gPiA+ID4gYW5kIGVhcmxpZXIgcmVnaXN0 cmF0aW9uIGF0dGVtcHRzICh3aGljaCB3aWxsIGZhaWwgYXMgX1NUQSBjYW5ub3QKPiA+ID4gPiA+ IGJlIGNoZWNrZWQpLgo+ID4gPiA+ID4KPiA+ID4gPiA+IFJlb3JkZXIgdGhlIHJlbW92ZSBmbG93 IHRvIGNsZWFyIHRoaXMgcGVyX2NwdSgpIGFmdGVyCj4gPiA+ID4gPiBhcmNoX3VucmVnaXN0ZXJf Y3B1KCkgaGFzIGNvbXBsZXRlZCwgYWxsb3dpbmcgaXQgdG8gYmUgdXNlZCBpbgo+ID4gPiA+ID4g dGhlcmUgYXMgd2VsbC4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBOb3RlIHRoYXQgb24geDg2IGZvciB0 aGUgQ1BVIGhvdHBsdWcgY2FzZSwgdGhlIHByLT5pZCBwcmlvciB0bwo+ID4gPiA+ID4gYWNwaV9t YXBfY3B1KCkgbWF5IGJlIGludmFsaWQuIFRodXMgdGhlIHBlcl9jcHUoKSBzdHJ1Y3R1cmVzCj4g PiA+ID4gPiBtdXN0IGJlIGluaXRpYWxpemVkIGFmdGVyIHRoYXQgY2FsbCBvciBhZnRlciBjaGVj a2luZyB0aGUgSUQKPiA+ID4gPiA+IGlzIHZhbGlkIChub3QgaG90cGx1ZyBwYXRoKS4KPiA+ID4g PiA+Cj4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBKb25hdGhhbiBDYW1lcm9uIDxKb25hdGhhbi5D YW1lcm9uQGh1YXdlaS5jb20+Cj4gPiA+ID4gPgo+ID4gPiA+ID4gLS0tCj4gPiA+ID4gPiB2ODog T24gYnVnZ3kgYmlvcyBkZXRlY3Rpb24gd2hlbiBzZXR0aW5nIHBlcl9jcHUgc3RydWN0dXJlcwo+ ID4gPiA+ID4gICAgICBkbyBub3QgY2Fycnkgb24uCj4gPiA+ID4gPiAgICAgIEZpeCB1cCB0aGUg Y2xlYXJpbmcgb2YgcGVyIGNwdSBzdHJ1Y3R1cmVzIHRvIHJlbW92ZSB1bndhbnRlZAo+ID4gPiA+ ID4gICAgICBzaWRlIGVmZmVjdHMgYW5kIGVuc3VyZSBhbiBlcnJvciBjb2RlIGlzbid0IHVzZSB0 byByZWZlcmVuY2UgdGhlbS4KPiA+ID4gPiA+IC0tLQo+ID4gPiA+ID4gICBkcml2ZXJzL2FjcGkv YWNwaV9wcm9jZXNzb3IuYyB8IDc5ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t Cj4gPiA+ID4gPiAgIDEgZmlsZSBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCspLCAzMSBkZWxldGlv bnMoLSkKPiA+ID4gPiA+Cj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY3BpL2FjcGlf cHJvY2Vzc29yLmMgYi9kcml2ZXJzL2FjcGkvYWNwaV9wcm9jZXNzb3IuYwo+ID4gPiA+ID4gaW5k ZXggYmEwYTZmMGFjODQxLi4zYjE4MGUyMWYzMjUgMTAwNjQ0Cj4gPiA+ID4gPiAtLS0gYS9kcml2 ZXJzL2FjcGkvYWNwaV9wcm9jZXNzb3IuYwo+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9hY3BpL2Fj cGlfcHJvY2Vzc29yLmMKPiA+ID4gPiA+IEBAIC0xODMsOCArMTgzLDM4IEBAIHN0YXRpYyB2b2lk IF9faW5pdCBhY3BpX3BjY19jcHVmcmVxX2luaXQodm9pZCkge30KPiA+ID4gPiA+ICAgI2VuZGlm IC8qIENPTkZJR19YODYgKi8KPiA+ID4gPiA+Cj4gPiA+ID4gPiAgIC8qIEluaXRpYWxpemF0aW9u ICovCj4gPiA+ID4gPiArc3RhdGljIERFRklORV9QRVJfQ1BVKHZvaWQgKiwgcHJvY2Vzc29yX2Rl dmljZV9hcnJheSk7Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiArc3RhdGljIGJvb2wgYWNwaV9wcm9j ZXNzb3Jfc2V0X3Blcl9jcHUoc3RydWN0IGFjcGlfcHJvY2Vzc29yICpwciwKPiA+ID4gPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBhY3BpX2RldmljZSAqZGV2aWNl KQo+ID4gPiA+ID4gK3sKPiA+ID4gPiA+ICsgQlVHX09OKHByLT5pZCA+PSBucl9jcHVfaWRzKTsg IAo+ID4gPiA+Cj4gPiA+ID4gT25lIGJsYW5rIGxpbmUgYWZ0ZXIgQlVHX09OKCkgaWYgd2UgbmVl ZCB0byBmb2xsb3cgb3JpZ2luYWwgaW1wbGVtZW50YXRpb24uICAKPiA+ID4KPiA+ID4gU3VyZSB1 bmludGVudGlvbmFsIC0gSSdsbCBwdXQgdGhhdCBiYWNrLgo+ID4gPiAgCj4gPiA+ID4gIAo+ID4g PiA+ID4gKyAvKgo+ID4gPiA+ID4gKyAgKiBCdWdneSBCSU9TIGNoZWNrLgo+ID4gPiA+ID4gKyAg KiBBQ1BJIGlkIG9mIHByb2Nlc3NvcnMgY2FuIGJlIHJlcG9ydGVkIHdyb25nbHkgYnkgdGhlIEJJ T1MuCj4gPiA+ID4gPiArICAqIERvbid0IHRydXN0IGl0IGJsaW5kbHkKPiA+ID4gPiA+ICsgICov Cj4gPiA+ID4gPiArIGlmIChwZXJfY3B1KHByb2Nlc3Nvcl9kZXZpY2VfYXJyYXksIHByLT5pZCkg IT0gTlVMTCAmJgo+ID4gPiA+ID4gKyAgICAgcGVyX2NwdShwcm9jZXNzb3JfZGV2aWNlX2FycmF5 LCBwci0+aWQpICE9IGRldmljZSkgewo+ID4gPiA+ID4gKyAgICAgICAgIGRldl93YXJuKCZkZXZp Y2UtPmRldiwKPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAiQklPUyByZXBvcnRlZCB3cm9u ZyBBQ1BJIGlkICVkIGZvciB0aGUgcHJvY2Vzc29yXG4iLAo+ID4gPiA+ID4gKyAgICAgICAgICAg ICAgICAgIHByLT5pZCk7Cj4gPiA+ID4gPiArICAgICAgICAgLyogR2l2ZSB1cCwgYnV0IGRvIG5v dCBhYm9ydCB0aGUgbmFtZXNwYWNlIHNjYW4uICovICAKPiA+ID4gPgo+ID4gPiA+IEl0IGRlcGVu ZHMgb24gaG93IHRoZSByZXR1cm4gdmFsdWUgaXMgaGFuZGxlZCBieSB0aGUgY2FsbGVyIGlmIHRo ZSBuYW1lc3BhY2UKPiA+ID4gPiBpcyBjb250aW51ZWQgdG8gYmUgc2Nhbm5lZC4gVGhlIGNhbGxl ciBjYW4gYmUgYWNwaV9wcm9jZXNzb3JfaG90YWRkX2luaXQoKQo+ID4gPiA+IGFuZCBhY3BpX3By b2Nlc3Nvcl9nZXRfaW5mbygpIGFmdGVyIHRoaXMgcGF0Y2ggaXMgYXBwbGllZC4gU28gSSB0aGlu ayB0aGlzCj4gPiA+ID4gc3BlY2lmaWMgY29tbWVudCBuZWVkIHRvIGJlIG1vdmVkIHRvIHRoZSBj YWxsZXIuICAKPiA+ID4KPiA+ID4gR29vZCBwb2ludC4gVGhpcyBnZXRzIG1lc3N5IGFuZCB3YXMg YW4gdW5pbnRlbmRlZCBjaGFuZ2UuCj4gPiA+Cj4gPiA+IFByZXZpb3VzbHkgdGhlIG9wdGlvbnMg d2VyZToKPiA+ID4gMSkgYWNwaV9wcm9jZXNzb3JfZ2V0X2luZm8oKSBmYWlsZWQgZm9yIG90aGVy IHJlYXNvbnMgLSB0aGlzIGNvZGUgd2FzIG5ldmVyIGNhbGxlZC4KPiA+ID4gMikgYWNwaV9wcm9j ZXNzb3JfZ2V0X2luZm8oKSBzdWNjZWVkZWQgd2l0aG91dCBhY3BpX3Byb2Nlc3Nvcl9ob3RhZGRf aW5pdCAobm9uIGhvdHBsdWcpCj4gPiA+ICAgIHRoaXMgY29kZSB0aGVuIHJhbiBhbmQgd291bGQg cGFwZXIgb3ZlciB0aGUgcHJvYmxlbSBkb2luZyBhIGJ1bmNoIG9mIGNsZWFudXAgdW5kZXIgZXJy Lgo+ID4gPiAzKSBhY3BpX3Byb2Nlc3Nvcl9nZXRfaW5mbygpIHN1Y2NlZWRlZCB3aXRoIGFjcGlf cHJvY2Vzc29yX2hvdGFkZF9pbml0IGNhbGxlZC4KPiA+ID4gICAgVGhpcyBjb2RlIHRoZW4gcmFu IGFuZCB3b3VsZCBwYXBlciBvdmVyIHRoZSBwcm9ibGVtIGRvaW5nIGEgYnVuY2ggb2YgY2xlYW51 cCB1bmRlciBlcnIuCj4gPiA+Cj4gPiA+IFdlIHNob3VsZCBtYWludGFpbiB0aGF0IG9yIGFyZ3Vl IGNsZWFubHkgYWdhaW5zdCBpdC4KPiA+ID4KPiA+ID4gVGhpcyBpc24ndCBoZWxwZWQgdGhlIHRo ZSBmYWN0IEkgaGF2ZSBubyBpZGVhIHdoaWNoIGNhc2VzIHdlIGNhcmUgYWJvdXQgZm9yIHRoYXQg Ymlvcwo+ID4gPiBidWcgaGFuZGxpbmcuICBEbyBhbnkgb2YgdGhvc2UgYmlvcydzIGV2ZXIgZG8g aG90cGx1Zz8gIEd1ZXNzIHdlIGhhdmUgdG8gdHJ5IGFuZCBtYWludGFpbgo+ID4gPiB3aGF0ZXZl ciBwcm90ZWN0aW9uIHRoaXMgd2FzIG9mZmVyaW5nLgo+ID4gPgo+ID4gPiBBbHNvLCB0aGUgb3Jp Z2luYWwgY29kZSBsZWFrcyBkYXRhIGluIHNvbWUgcGF0aHMgYW5kIEkgaGF2ZSBsaW1pdGVkIGlk ZWEKPiA+ID4gb2Ygd2hldGhlciBpdCBpcyBpbnRlbnRpb25hbCBvciBub3QuIFNvIHRvIHRpZHkg dGhlIGlzc3VlIHVwIHRoYXQgeW91J3ZlIGlkZW50aWZpZWQKPiA+ID4gSSdsbCBuZWVkIHRvIHRy eSBhbmQgbWFrZSB0aGF0IGNvZGUgY29uc2lzdGVudCBmaXJzdC4KPiA+ID4KPiA+ID4gSSBzdXNw ZWN0IHRoZSBvbmx5IHdheSB0byBkbyB0aGF0IGlzIGdvaW5nIHRvIGJlIHRvIGR1cGxpY2F0ZSB0 aGUgYWxsb2NhdGlvbnMgd2UKPiA+ID4gJ3dhbnQnIHRvIGxlYWsgdG8gZGVhbCB3aXRoIHRoZSBi aW9zIGJ1ZyBkZXRlY3Rpb24uCj4gPiA+Cj4gPiA+IEZvciBleGFtcGxlIGFjcGlfcHJvY2Vzc29y X2dldF9pbmZvKCkgZmFpbGluZyBsZWFrcyBwciBhbmQgcHItPnRocm90dGxpbmcuc2hhcmVkX2Nw dV9tYXAKPiA+ID4gYmVmb3JlIHRoaXMgc2VyaWVzLiBBZnRlciB0aGlzIHNlcmllcyB3ZSBuZWVk IHByIHRvIGxlYWsgYmVjYXVzZSBpdCdzIHVzZWQgZm9yIHRoZSBkZXRlY3Rpb24KPiA+ID4gdmlh IHByb2Nlc3Nvcl9kZXZpY2VfYXJyYXkuCj4gPiA+Cj4gPiA+IEknbGwgd29yayB0aHJvdWdoIHRo aXMgYnV0IGl0J3MgZ29pbmcgdG8gYmUgdHJpY2t5IHRvIHRlbGwgaWYgd2UgZ2V0IHJpZ2h0Lgo+ ID4gPiBTdGVwIDEgd2lsbCBiZSBjbG9zaW5nIHRoZSBleGlzdGluZyBsZWFrcyBhbmQgdGhlbiB3 ZSB3aWxsIGhhdmUgc29tZXRoaW5nCj4gPiA+IGNvbnNpc3RlbnQgdG8gYnVpbGQgb24uCj4gPiA+ ICAKPiA+IEkgJ3RoaW5rJyB0aGF0IGZpeGluZyB0aGUgb3JpZ2luYWwgbGVha3MgbWFrZXMgdGhp cyBhbGwgbXVjaCBtb3JlIHN0cmFpZ2h0IGZvcndhcmQuCj4gPiBUaGF0IHJldHVybiAwIGZvciBh Y3BpX3Byb2Nlc3Nvcl9nZXRfaW5mbygpIG5ldmVyIG1hZGUgc2Vuc2UgYXMgZmFyIGFzIEkgY2Fu IHRlbGwuCj4gPiBUaGUgcHIgaXNuJ3QgdXNlZCBhZnRlciB0aGlzIHBvaW50Lgo+ID4KPiA+IFdo YXQgYWJvdXQgc29tZXRoaW5nIGFsb25nIGxpbmVzIG9mLgo+ID4KPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2FjcGkvYWNwaV9wcm9jZXNzb3IuYyBiL2RyaXZlcnMvYWNwaS9hY3BpX3Byb2Nlc3Nv ci5jCj4gPiBpbmRleCAxNjFjOTVjOWQ2MGEuLjk3Y2ZmNDQ5MjMwNCAxMDA2NDQKPiA+IC0tLSBh L2RyaXZlcnMvYWNwaS9hY3BpX3Byb2Nlc3Nvci5jCj4gPiArKysgYi9kcml2ZXJzL2FjcGkvYWNw aV9wcm9jZXNzb3IuYwo+ID4gQEAgLTM5Miw4ICszOTIsMTAgQEAgc3RhdGljIGludCBhY3BpX3By b2Nlc3Nvcl9hZGQoc3RydWN0IGFjcGlfZGV2aWNlICpkZXZpY2UsCj4gPiAgICAgICAgIGRldmlj ZS0+ZHJpdmVyX2RhdGEgPSBwcjsKPiA+Cj4gPiAgICAgICAgIHJlc3VsdCA9IGFjcGlfcHJvY2Vz c29yX2dldF9pbmZvKGRldmljZSk7Cj4gPiAtICAgICAgIGlmIChyZXN1bHQpIC8qIFByb2Nlc3Nv ciBpcyBub3QgcGh5c2ljYWxseSBwcmVzZW50IG9yIHVuYXZhaWxhYmxlICovCj4gPiAtICAgICAg ICAgICAgICAgcmV0dXJuIDA7Cj4gPiArICAgICAgIGlmIChyZXN1bHQpIHsgLyogUHJvY2Vzc29y IGlzIG5vdCBwaHlzaWNhbGx5IHByZXNlbnQgb3IgdW5hdmFpbGFibGUgKi8KPiA+ICsgICAgICAg ICAgICAgICByZXN1bHQgPSAwOyAgCj4gCj4gQXMgcGVyIG15IHByZXZpb3VzIG1lc3NhZ2UgKGp1 c3Qgc2VudCkgdGhpcyBzaG91bGQgYmUgYW4gZXJyb3IgY29kZSwKPiBhcyByZXR1cm5pbmcgMCBm cm9tIGFjcGlfcHJvY2Vzc29yX2FkZCgpIGlzIGdlbmVyYWxseSBwcm9ibGVtYXRpYy4KT2suIEkn bGwgc3dpdGNoIHRvIHRoYXQsIGJ1dCBhcyBhIHNlcGFyYXRlIHByZWN1c29yIHBhdGNoLiBJbmRl cGVuZGVudCBvZgp0aGUgbWVtb3J5IGxlYWsgZml4ZXMuCgpKb25hdGhhbgoKPiAKPiA+ICsgICAg ICAgICAgICAgICBnb3RvIGVycl9mcmVlX3Rocm90dGxpbmdfbWFzazsKPiA+ICsgICAgICAgfQo+ ID4KPiA+ICAgICAgICAgQlVHX09OKHByLT5pZCA+PSBucl9jcHVfaWRzKTsKPiA+ICAKCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2Vy bmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0 cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVs Cg==