From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 92C5C2940A for ; Tue, 23 Jan 2024 21:13:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.211.166.137 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706044392; cv=none; b=AdbFr5ww1TMotzokqZIEsD1FZHbvWTnZ5jclfo6MWf70JU69kLZp1ZD0tzo/BL1E4EkZoJj1AkOUmlA3C0d3dW1Uw3tcezolwSmDJQ768wtV4C3fGgisYnopYYSz9Y9fiEnMnAhnoKHHMrA2YaWsAAH9ReihuW5OuThfUh+iiNA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706044392; c=relaxed/simple; bh=y2tVhOoHqbkrgoEwdopUBYrq/O3nTt8UTKN6fH85W78=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=mR0TeH4yJL36/oL5gYhzf7ewFLGWhKQ/w4JIChkiiSbJfxdpaJhjgVTDEpMbh5gtQQGWBDto6yJ/oEeRuna901LXb1SGINnUMkxGJlgMCey9BsAo18KcKZyONi1MwRpCZr4yhgw6gY+drU71a0OTDFpx9ieXyT2K6ejqc9+i/Yg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=armlinux.org.uk header.i=@armlinux.org.uk header.b=khPcMMPP; arc=none smtp.client-ip=140.211.166.137 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=armlinux.org.uk header.i=@armlinux.org.uk header.b="khPcMMPP" Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 135F342F37 for ; Tue, 23 Jan 2024 21:13:10 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 135F342F37 Authentication-Results: smtp4.osuosl.org; dkim=pass (2048-bit key) header.d=armlinux.org.uk header.i=@armlinux.org.uk header.a=rsa-sha256 header.s=pandora-2019 header.b=khPcMMPP X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -2.098 X-Spam-Level: Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WkR-EqnmWE63 for ; Tue, 23 Jan 2024 21:13:05 +0000 (UTC) Received: from pandora.armlinux.org.uk (pandora.armlinux.org.uk [IPv6:2001:4d48:ad52:32c8:5054:ff:fe00:142]) by smtp4.osuosl.org (Postfix) with ESMTPS id EF31F41E4C for ; Tue, 23 Jan 2024 21:13:04 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org EF31F41E4C DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=armlinux.org.uk; s=pandora-2019; h=Sender:In-Reply-To: Content-Transfer-Encoding:Content-Type:MIME-Version:References: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-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=SHg3OZ8rSfuStuI/t9nj9uzIE/yE48Lbl7/EYKvNYzQ=; b=khPcMMPPOS3B4SHAZHQpR7RIZd z0s3275zIx+WRubbX4rCLVwWchIc3qCgsHQ3SwLBSBDibxOjWpdZE7n17u5PeYPR8bEUixN8TdGnV tUzdOJ3cH38ZGg96a3RPK0Le/3lPA3HHqYnWBDe2Rr1Qq0ALcz2XOY+hOSS7f6wFs59Dvxa1eMwF+ fUimAV6KLbZbkzTlDfLDOyXIbY1cevpyffkEOj8oZWaSIA7Shw/Bpk6kPVR6XctAKYol+IABzZfTt UA0Q4XsCOoepZOTZ96m6rptCs2EJNYKdmVTmM6SbZdtMydRWeBJQChp3Fz2W54mOdTUEaQh5PNI9s x197biww==; Received: from shell.armlinux.org.uk ([fd8f:7570:feb6:1:5054:ff:fe00:4ec]:56660) by pandora.armlinux.org.uk with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1rSO4f-00036p-05; Tue, 23 Jan 2024 21:12:49 +0000 Received: from linux by shell.armlinux.org.uk with local (Exim 4.94.2) (envelope-from ) id 1rSO4b-0002Gq-Oh; Tue, 23 Jan 2024 21:12:45 +0000 Date: Tue, 23 Jan 2024 21:12:45 +0000 From: "Russell King (Oracle)" To: "Rafael J. Wysocki" Cc: Jonathan Cameron , linux-pm@vger.kernel.org, loongarch@lists.linux.dev, linux-acpi@vger.kernel.org, linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-riscv@lists.infradead.org, kvmarm@lists.linux.dev, x86@kernel.org, acpica-devel@lists.linuxfoundation.org, linux-csky@vger.kernel.org, linux-doc@vger.kernel.org, linux-ia64@vger.kernel.org, linux-parisc@vger.kernel.org, Salil Mehta , Jean-Philippe Brucker , jianyong.wu@arm.com, justin.he@arm.com, James Morse Subject: Re: [PATCH RFC v3 05/21] ACPI: Rename ACPI_HOTPLUG_CPU to include 'present' Message-ID: References: Precedence: bulk X-Mailing-List: acpica-devel@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Sender: Russell King (Oracle) On Tue, Jan 23, 2024 at 08:57:08PM +0000, Russell King (Oracle) wrote: > On Tue, Jan 23, 2024 at 09:17:18PM +0100, Rafael J. Wysocki wrote: > > On Tue, Jan 23, 2024 at 9:09 PM Russell King (Oracle) > > wrote: > > > > > > On Tue, Jan 23, 2024 at 08:27:05PM +0100, Rafael J. Wysocki wrote: > > > > On Tue, Jan 23, 2024 at 7:59 PM Russell King (Oracle) > > > > wrote: > > > > > > > > > > On Tue, Jan 23, 2024 at 07:26:57PM +0100, Rafael J. Wysocki wrote: > > > > > > On Tue, Jan 23, 2024 at 7:20 PM Russell King (Oracle) > > > > > > wrote: > > > > > > > > > > > > > > On Tue, Jan 23, 2024 at 06:43:59PM +0100, Rafael J. Wysocki wrote: > > > > > > > > On Tue, Jan 23, 2024 at 5:36 PM Russell King (Oracle) > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > On Tue, Jan 23, 2024 at 05:15:54PM +0100, Rafael J. Wysocki wrote: > > > > > > > > > > On Tue, Jan 23, 2024 at 2:28 PM Russell King (Oracle) > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > On Mon, Jan 22, 2024 at 06:00:13PM +0000, Jonathan Cameron wrote: > > > > > > > > > > > > On Mon, 18 Dec 2023 21:35:16 +0100 > > > > > > > > > > > > "Rafael J. Wysocki" wrote: > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Dec 13, 2023 at 1:49 PM Russell King wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > From: James Morse > > > > > > > > > > > > > > > > > > > > > > > > > > > > The code behind ACPI_HOTPLUG_CPU allows a not-present CPU to become > > > > > > > > > > > > > > present. > > > > > > > > > > > > > > > > > > > > > > > > > > Right. > > > > > > > > > > > > > > > > > > > > > > > > > > > This isn't the only use of HOTPLUG_CPU. On arm64 and riscv > > > > > > > > > > > > > > CPUs can be taken offline as a power saving measure. > > > > > > > > > > > > > > > > > > > > > > > > > > But still there is the case in which a non-present CPU can become > > > > > > > > > > > > > present, isn't it there? > > > > > > > > > > > > > > > > > > > > > > > > Not yet defined by the architectures (and I'm assuming it probably never will be). > > > > > > > > > > > > > > > > > > > > > > > > The original proposal we took to ARM was to do exactly that - they pushed > > > > > > > > > > > > back hard on the basis there was no architecturally safe way to implement it. > > > > > > > > > > > > Too much of the ARM arch has to exist from the start of time. > > > > > > > > > > > > > > > > > > > > > > > > https://lore.kernel.org/linux-arm-kernel/cbaa6d68-6143-e010-5f3c-ec62f879ad95@arm.com/ > > > > > > > > > > > > is one of the relevant threads of the kernel side of that discussion. > > > > > > > > > > > > > > > > > > > > > > > > Not to put specific words into the ARM architects mouths, but the > > > > > > > > > > > > short description is that there is currently no demand for working > > > > > > > > > > > > out how to make physical CPU hotplug possible, as such they will not > > > > > > > > > > > > provide an architecturally compliant way to do it for virtual CPU hotplug and > > > > > > > > > > > > another means is needed (which is why this series doesn't use the present bit > > > > > > > > > > > > for that purpose and we have the Online capable bit in MADT/GICC) > > > > > > > > > > > > > > > > > > > > > > > > It was a 'fun' dance of several years to get to that clarification. > > > > > > > > > > > > As another fun fact, the same is defined for x86, but I don't think > > > > > > > > > > > > anyone has used it yet (GICC for ARM has an online capable bit in the flags to > > > > > > > > > > > > enable this, which was remarkably similar to the online capable bit in the > > > > > > > > > > > > flags of the Local APIC entries as added fairly recently). > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On arm64 an offline CPU may be disabled by firmware, preventing it from > > > > > > > > > > > > > > being brought back online, but it remains present throughout. > > > > > > > > > > > > > > > > > > > > > > > > > > > > Adding code to prevent user-space trying to online these disabled CPUs > > > > > > > > > > > > > > needs some additional terminology. > > > > > > > > > > > > > > > > > > > > > > > > > > > > Rename the Kconfig symbol CONFIG_ACPI_HOTPLUG_PRESENT_CPU to reflect > > > > > > > > > > > > > > that it makes possible CPUs present. > > > > > > > > > > > > > > > > > > > > > > > > > > Honestly, I don't think that this change is necessary or even useful. > > > > > > > > > > > > > > > > > > > > > > > > Whilst it's an attempt to avoid future confusion, the rename is > > > > > > > > > > > > not something I really care about so my advice to Russell is drop > > > > > > > > > > > > it unless you are attached to it! > > > > > > > > > > > > > > > > > > > > > > While I agree that it isn't a necessity, I don't fully agree that it > > > > > > > > > > > isn't useful. > > > > > > > > > > > > > > > > > > > > > > One of the issues will be that while Arm64 will support hotplug vCPU, > > > > > > > > > > > it won't be setting ACPI_HOTPLUG_CPU because it doesn't support > > > > > > > > > > > the present bit changing. So I can see why James decided to rename > > > > > > > > > > > it - because with Arm64's hotplug vCPU, the idea that ACPI_HOTPLUG_CPU > > > > > > > > > > > somehow enables hotplug CPU support is now no longer true. > > > > > > > > > > > > > > > > > > > > > > Keeping it as ACPI_HOTPLUG_CPU makes the code less obvious, because it > > > > > > > > > > > leads one to assume that it ought to be enabled for Arm64's > > > > > > > > > > > implementatinon, and that could well cause issues in the future if > > > > > > > > > > > people make the assumption that "ACPI_HOTPLUG_CPU" means hotplug CPU > > > > > > > > > > > is supported in ACPI. It doesn't anymore. > > > > > > > > > > > > > > > > > > > > On x86 there is no confusion AFAICS. It's always meant "as long as > > > > > > > > > > the platform supports it". > > > > > > > > > > > > > > > > > > That's x86, which supports physical CPU hotplug. We're introducing > > > > > > > > > support for Arm64 here which doesn't support physical CPU hotplug. > > > > > > > > > > > > > > > > > > ACPI-based Physical Virtual > > > > > > > > > Arch HOTPLUG_CPU ACPI_HOTPLUG_CPU Hotplug Hotplug Hotplug > > > > > > > > > Arm64 Y N Y N Y > > > > > > > > > x86 Y Y Y Y Y > > > > > > > > > > > > > > > > > > So ACPI_HOTPLUG_CPU becomes totally misnamed with the introduction > > > > > > > > > of hotplug on Arm64. > > > > > > > > > > > > > > > > > > If we want to just look at stuff from an x86 perspective, then yes, > > > > > > > > > it remains correct to call it ACPI_HOTPLUG_CPU. It isn't correct as > > > > > > > > > soon as we add Arm64, as I already said. > > > > > > > > > > > > > > > > And if you rename it, it becomes less confusing for ARM64, but more > > > > > > > > confusing for x86, which basically is my point. > > > > > > > > > > > > > > > > IMO "hotplug" covers both cases well enough and "hotplug present" is > > > > > > > > only accurate for one of them. > > > > > > > > > > > > > > > > > And honestly, a two line quip to my reasoned argument is not IMHO > > > > > > > > > an acceptable reply. > > > > > > > > > > > > > > > > Well, I'm not even sure how to respond to this ... > > > > > > > > > > > > > > The above explanation you give would have been useful... > > > > > > > > > > > > > > I don't see how "hotplug" covers both cases. As I've tried to point > > > > > > > out many times now, ACPI_HOTPLUG_CPU is N for Arm64, yet it supports > > > > > > > ACPI based hotplug. How does ACPI_HOTPLUG_CPU cover Arm64 if it's > > > > > > > N there? > > > > > > > > > > > > But IIUC this change is preliminary for changing it (or equivalent > > > > > > option with a different name) to Y, isn't it? > > > > > > > > > > No. As I keep saying, ACPI_HOTPLUG_CPU ends up N on Arm64 even when > > > > > it supports hotplug CPU via ACPI. > > > > > > > > > > Even with the full Arm64 patch set here, under arch/ we still only > > > > > have: > > > > > > > > > > arch/loongarch/Kconfig: select ACPI_HOTPLUG_PRESENT_CPU if ACPI_PROCESSOR && HOTPLUG_CPU > > > > > arch/x86/Kconfig: select ACPI_HOTPLUG_PRESENT_CPU if ACPI_PROCESSOR && HOTPLUG_CPU > > > > > > > > > > To say it yet again, ACPI_HOTPLUG_(PRESENT_)CPU is *never* set on > > > > > Arm64. > > > > > > > > Allright, so ARM64 is not going to use the code that is conditional on > > > > ACPI_HOTPLUG_CPU today. > > > > > > > > Fair enough. > > > > > > > > > > > IMHO it totally doesn't, and moreover, it goes against what > > > > > > > one would logically expect - and this is why I have a problem with > > > > > > > your effective NAK for this change. I believe you are basically > > > > > > > wrong on this for the reasons I've given - that ACPI_HOTPLUG_CPU > > > > > > > will be N for Arm64 despite it supporting ACPI-based CPU hotplug. > > > > > > > > > > > > So I still have to understand how renaming it for all architectures > > > > > > (including x86) is supposed to help. > > > > > > > > > > > > It will still be the same option under a different name. How does > > > > > > that change things technically? > > > > > > > > > > Do you think that it makes any sense to have support for ACPI-based > > > > > hotplug CPU > > > > > > > > So this is all about what you and I mean by "ACPI-based hotplug CPU". > > > > > > > > > *and* having it functional with a configuration symbol > > > > > named "ACPI_HOTPLUG_CPU" to be set to N ? That's essentially what > > > > > you are advocating for... > > > > > > > > Setting ACPI_HOTPLUG_CPU to N means that you are not going to compile > > > > the code that is conditional on it. > > > > > > > > That code allows the processor driver to be removed from CPUs and > > > > arch_unregister_cpu() to be called from within acpi_bus_trim() (among > > > > other things). On the way up, it allows arch_register_cpu() to be > > > > called from within acpi_bus_scan(). If these things are not done, > > > > what I mean by "ACPI-based hotplug CPU" is not supported. > > > > > > Even on Arm64, arch_register_cpu() and arch_unregister_cpu() will be > > > called when the CPU in the VM is hot-removed or hot-added... > > > > In a different way, however. > > This is getting tiresome. The goal posts keep moving. This isn't a > discussion, this is a "you're wrong and I'm going to keep changing my > argument if you agree with me to make you always wrong". > > Sorry, no point continuing this. Let me be clear why I'm exhasperated by this. I've been giving you a technical argument (Arm64 supporting ACPI hotplug CPU, but ACPI_HOTPLUG_CPU=n) for many many emails. You seemed to misunderstand that, expecting ACPI_HOTPLUG_CPU to become Y later in the series. When that became clear that it wasn't, you've changed tack. It then became about whether two functions get called or not. When I pointed out that they are still going to be called, oh no, it's not about whether those two functions will be called but how they get called. Essentially, what this comes down to is that _you_ have no technical argument against the change, just _you_ don't personally want it and it doesn't matter what justification I come up with, you're always going to tell me something different. So why not state that you personally don't want it in the first place? Why this game of cat and mouse and the constantly changing arguments. I guess it's to waste developers time. Well, I'm calling you out for this, because I'm that pissed off at the amount of time you're causing to be wasted. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last! 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 ACF58C47DDB for ; Tue, 23 Jan 2024 21:13:27 +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:MIME-Version:References: 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=Xcp6TcyD2xfOL9soxAISRGfAccUmn2DLgdxObBEsbwc=; b=UAy3WeElnARZIJ WOxBXmYFb+c72kUmJxhMxQI96LhuRm2YoeY9bKox1wlKOHOxvmN3qiAsi5czb2+dTKAJbSepBTWhJ zKk0Y/jUNf7uCREE/1wadV/RQUhlvl1xD3YQyWJhBIVhxQoGCHxFbqalVfm15/yAZXU9DooxVFT4t yXSlxke3QJgP8Eh1nTP6hGa/ZesX0nSnCq1iAKHYtaP+oN5UplGkJfpySHbvWtk6R2YoTjWwqdEFb lcaGFAaOhxjxjPt3cbbpoFXd6H0KA4oJMFsxr5N3xDtLXGglkZNVOs58od7rufdPmCH4GLDMvFiN6 4AicTbkVqQImmN8mojfg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rSO55-000UVx-2D; Tue, 23 Jan 2024 21:13:15 +0000 Received: from pandora.armlinux.org.uk ([2001:4d48:ad52:32c8:5054:ff:fe00:142]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rSO50-000USb-23; Tue, 23 Jan 2024 21:13:13 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=armlinux.org.uk; s=pandora-2019; h=Sender:In-Reply-To: Content-Transfer-Encoding:Content-Type:MIME-Version:References: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-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=SHg3OZ8rSfuStuI/t9nj9uzIE/yE48Lbl7/EYKvNYzQ=; b=khPcMMPPOS3B4SHAZHQpR7RIZd z0s3275zIx+WRubbX4rCLVwWchIc3qCgsHQ3SwLBSBDibxOjWpdZE7n17u5PeYPR8bEUixN8TdGnV tUzdOJ3cH38ZGg96a3RPK0Le/3lPA3HHqYnWBDe2Rr1Qq0ALcz2XOY+hOSS7f6wFs59Dvxa1eMwF+ fUimAV6KLbZbkzTlDfLDOyXIbY1cevpyffkEOj8oZWaSIA7Shw/Bpk6kPVR6XctAKYol+IABzZfTt UA0Q4XsCOoepZOTZ96m6rptCs2EJNYKdmVTmM6SbZdtMydRWeBJQChp3Fz2W54mOdTUEaQh5PNI9s x197biww==; Received: from shell.armlinux.org.uk ([fd8f:7570:feb6:1:5054:ff:fe00:4ec]:56660) by pandora.armlinux.org.uk with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1rSO4f-00036p-05; Tue, 23 Jan 2024 21:12:49 +0000 Received: from linux by shell.armlinux.org.uk with local (Exim 4.94.2) (envelope-from ) id 1rSO4b-0002Gq-Oh; Tue, 23 Jan 2024 21:12:45 +0000 Date: Tue, 23 Jan 2024 21:12:45 +0000 From: "Russell King (Oracle)" To: "Rafael J. Wysocki" Cc: Jonathan Cameron , linux-pm@vger.kernel.org, loongarch@lists.linux.dev, linux-acpi@vger.kernel.org, linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-riscv@lists.infradead.org, kvmarm@lists.linux.dev, x86@kernel.org, acpica-devel@lists.linuxfoundation.org, linux-csky@vger.kernel.org, linux-doc@vger.kernel.org, linux-ia64@vger.kernel.org, linux-parisc@vger.kernel.org, Salil Mehta , Jean-Philippe Brucker , jianyong.wu@arm.com, justin.he@arm.com, James Morse Subject: Re: [PATCH RFC v3 05/21] ACPI: Rename ACPI_HOTPLUG_CPU to include 'present' Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240123_131310_822526_D42AC39B X-CRM114-Status: GOOD ( 73.26 ) X-BeenThere: linux-riscv@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-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gVHVlLCBKYW4gMjMsIDIwMjQgYXQgMDg6NTc6MDhQTSArMDAwMCwgUnVzc2VsbCBLaW5nIChP cmFjbGUpIHdyb3RlOgo+IE9uIFR1ZSwgSmFuIDIzLCAyMDI0IGF0IDA5OjE3OjE4UE0gKzAxMDAs IFJhZmFlbCBKLiBXeXNvY2tpIHdyb3RlOgo+ID4gT24gVHVlLCBKYW4gMjMsIDIwMjQgYXQgOTow OeKAr1BNIFJ1c3NlbGwgS2luZyAoT3JhY2xlKQo+ID4gPGxpbnV4QGFybWxpbnV4Lm9yZy51az4g d3JvdGU6Cj4gPiA+Cj4gPiA+IE9uIFR1ZSwgSmFuIDIzLCAyMDI0IGF0IDA4OjI3OjA1UE0gKzAx MDAsIFJhZmFlbCBKLiBXeXNvY2tpIHdyb3RlOgo+ID4gPiA+IE9uIFR1ZSwgSmFuIDIzLCAyMDI0 IGF0IDc6NTnigK9QTSBSdXNzZWxsIEtpbmcgKE9yYWNsZSkKPiA+ID4gPiA8bGludXhAYXJtbGlu dXgub3JnLnVrPiB3cm90ZToKPiA+ID4gPiA+Cj4gPiA+ID4gPiBPbiBUdWUsIEphbiAyMywgMjAy NCBhdCAwNzoyNjo1N1BNICswMTAwLCBSYWZhZWwgSi4gV3lzb2NraSB3cm90ZToKPiA+ID4gPiA+ ID4gT24gVHVlLCBKYW4gMjMsIDIwMjQgYXQgNzoyMOKAr1BNIFJ1c3NlbGwgS2luZyAoT3JhY2xl KQo+ID4gPiA+ID4gPiA8bGludXhAYXJtbGludXgub3JnLnVrPiB3cm90ZToKPiA+ID4gPiA+ID4g Pgo+ID4gPiA+ID4gPiA+IE9uIFR1ZSwgSmFuIDIzLCAyMDI0IGF0IDA2OjQzOjU5UE0gKzAxMDAs IFJhZmFlbCBKLiBXeXNvY2tpIHdyb3RlOgo+ID4gPiA+ID4gPiA+ID4gT24gVHVlLCBKYW4gMjMs IDIwMjQgYXQgNTozNuKAr1BNIFJ1c3NlbGwgS2luZyAoT3JhY2xlKQo+ID4gPiA+ID4gPiA+ID4g PGxpbnV4QGFybWxpbnV4Lm9yZy51az4gd3JvdGU6Cj4gPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4g PiA+ID4gPiA+IE9uIFR1ZSwgSmFuIDIzLCAyMDI0IGF0IDA1OjE1OjU0UE0gKzAxMDAsIFJhZmFl bCBKLiBXeXNvY2tpIHdyb3RlOgo+ID4gPiA+ID4gPiA+ID4gPiA+IE9uIFR1ZSwgSmFuIDIzLCAy MDI0IGF0IDI6MjjigK9QTSBSdXNzZWxsIEtpbmcgKE9yYWNsZSkKPiA+ID4gPiA+ID4gPiA+ID4g PiA8bGludXhAYXJtbGludXgub3JnLnVrPiB3cm90ZToKPiA+ID4gPiA+ID4gPiA+ID4gPiA+Cj4g PiA+ID4gPiA+ID4gPiA+ID4gPiBPbiBNb24sIEphbiAyMiwgMjAyNCBhdCAwNjowMDoxM1BNICsw MDAwLCBKb25hdGhhbiBDYW1lcm9uIHdyb3RlOgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBPbiBN b24sIDE4IERlYyAyMDIzIDIxOjM1OjE2ICswMTAwCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICJS YWZhZWwgSi4gV3lzb2NraSIgPHJhZmFlbEBrZXJuZWwub3JnPiB3cm90ZToKPiA+ID4gPiA+ID4g PiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBPbiBXZWQsIERlYyAxMywgMjAy MyBhdCAxOjQ54oCvUE0gUnVzc2VsbCBLaW5nIDxybWsra2VybmVsQGFybWxpbnV4Lm9yZy51az4g d3JvdGU6Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4g PiA+ID4gRnJvbTogSmFtZXMgTW9yc2UgPGphbWVzLm1vcnNlQGFybS5jb20+Cj4gPiA+ID4gPiA+ ID4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gVGhlIGNvZGUgYmVo aW5kIEFDUElfSE9UUExVR19DUFUgYWxsb3dzIGEgbm90LXByZXNlbnQgQ1BVIHRvIGJlY29tZQo+ ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gcHJlc2VudC4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IFJpZ2h0Lgo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBUaGlzIGlzbid0IHRoZSBvbmx5IHVz ZSBvZiBIT1RQTFVHX0NQVS4gT24gYXJtNjQgYW5kIHJpc2N2Cj4gPiA+ID4gPiA+ID4gPiA+ID4g PiA+ID4gPiBDUFVzIGNhbiBiZSB0YWtlbiBvZmZsaW5lIGFzIGEgcG93ZXIgc2F2aW5nIG1lYXN1 cmUuCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBC dXQgc3RpbGwgdGhlcmUgaXMgdGhlIGNhc2UgaW4gd2hpY2ggYSBub24tcHJlc2VudCBDUFUgY2Fu IGJlY29tZQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHByZXNlbnQsIGlzbid0IGl0IHRoZXJl Pwo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBOb3QgeWV0 IGRlZmluZWQgYnkgdGhlIGFyY2hpdGVjdHVyZXMgKGFuZCBJJ20gYXNzdW1pbmcgaXQgcHJvYmFi bHkgbmV2ZXIgd2lsbCBiZSkuCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4g PiA+ID4gPiA+IFRoZSBvcmlnaW5hbCBwcm9wb3NhbCB3ZSB0b29rIHRvIEFSTSB3YXMgdG8gZG8g ZXhhY3RseSB0aGF0IC0gdGhleSBwdXNoZWQKPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gYmFjayBo YXJkIG9uIHRoZSBiYXNpcyB0aGVyZSB3YXMgbm8gYXJjaGl0ZWN0dXJhbGx5IHNhZmUgd2F5IHRv IGltcGxlbWVudCBpdC4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gVG9vIG11Y2ggb2YgdGhlIEFS TSBhcmNoIGhhcyB0byBleGlzdCBmcm9tIHRoZSBzdGFydCBvZiB0aW1lLgo+ID4gPiA+ID4gPiA+ ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBodHRwczovL2xvcmUua2VybmVsLm9y Zy9saW51eC1hcm0ta2VybmVsL2NiYWE2ZDY4LTYxNDMtZTAxMC01ZjNjLWVjNjJmODc5YWQ5NUBh cm0uY29tLwo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBpcyBvbmUgb2YgdGhlIHJlbGV2YW50IHRo cmVhZHMgb2YgdGhlIGtlcm5lbCBzaWRlIG9mIHRoYXQgZGlzY3Vzc2lvbi4KPiA+ID4gPiA+ID4g PiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gTm90IHRvIHB1dCBzcGVjaWZpYyB3 b3JkcyBpbnRvIHRoZSBBUk0gYXJjaGl0ZWN0cyBtb3V0aHMsIGJ1dCB0aGUKPiA+ID4gPiA+ID4g PiA+ID4gPiA+ID4gc2hvcnQgZGVzY3JpcHRpb24gaXMgdGhhdCB0aGVyZSBpcyBjdXJyZW50bHkg bm8gZGVtYW5kIGZvciB3b3JraW5nCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IG91dCBob3cgdG8g bWFrZSBwaHlzaWNhbCBDUFUgaG90cGx1ZyBwb3NzaWJsZSwgYXMgc3VjaCB0aGV5IHdpbGwgbm90 Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHByb3ZpZGUgYW4gYXJjaGl0ZWN0dXJhbGx5IGNvbXBs aWFudCB3YXkgdG8gZG8gaXQgZm9yIHZpcnR1YWwgQ1BVIGhvdHBsdWcgYW5kCj4gPiA+ID4gPiA+ ID4gPiA+ID4gPiA+IGFub3RoZXIgbWVhbnMgaXMgbmVlZGVkICh3aGljaCBpcyB3aHkgdGhpcyBz ZXJpZXMgZG9lc24ndCB1c2UgdGhlIHByZXNlbnQgYml0Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ IGZvciB0aGF0IHB1cnBvc2UgYW5kIHdlIGhhdmUgdGhlIE9ubGluZSBjYXBhYmxlIGJpdCBpbiBN QURUL0dJQ0MpCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ IEl0IHdhcyBhICdmdW4nIGRhbmNlIG9mIHNldmVyYWwgeWVhcnMgdG8gZ2V0IHRvIHRoYXQgY2xh cmlmaWNhdGlvbi4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gQXMgYW5vdGhlciBmdW4gZmFjdCwg dGhlIHNhbWUgaXMgZGVmaW5lZCBmb3IgeDg2LCBidXQgSSBkb24ndCB0aGluawo+ID4gPiA+ID4g PiA+ID4gPiA+ID4gPiBhbnlvbmUgaGFzIHVzZWQgaXQgeWV0IChHSUNDIGZvciBBUk0gaGFzIGFu IG9ubGluZSBjYXBhYmxlIGJpdCBpbiB0aGUgZmxhZ3MgdG8KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ ID4gZW5hYmxlIHRoaXMsIHdoaWNoIHdhcyByZW1hcmthYmx5IHNpbWlsYXIgdG8gdGhlIG9ubGlu ZSBjYXBhYmxlIGJpdCBpbiB0aGUKPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gZmxhZ3Mgb2YgdGhl IExvY2FsIEFQSUMgZW50cmllcyBhcyBhZGRlZCBmYWlybHkgcmVjZW50bHkpLgo+ID4gPiA+ID4g PiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiA+ ID4gPiA+ID4gPiBPbiBhcm02NCBhbiBvZmZsaW5lIENQVSBtYXkgYmUgZGlzYWJsZWQgYnkgZmly bXdhcmUsIHByZXZlbnRpbmcgaXQgZnJvbQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gYmVp bmcgYnJvdWdodCBiYWNrIG9ubGluZSwgYnV0IGl0IHJlbWFpbnMgcHJlc2VudCB0aHJvdWdob3V0 Lgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ IEFkZGluZyBjb2RlIHRvIHByZXZlbnQgdXNlci1zcGFjZSB0cnlpbmcgdG8gb25saW5lIHRoZXNl IGRpc2FibGVkIENQVXMKPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IG5lZWRzIHNvbWUgYWRk aXRpb25hbCB0ZXJtaW5vbG9neS4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4g PiA+ID4gPiA+ID4gPiA+ID4gPiBSZW5hbWUgdGhlIEtjb25maWcgc3ltYm9sIENPTkZJR19BQ1BJ X0hPVFBMVUdfUFJFU0VOVF9DUFUgdG8gcmVmbGVjdAo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ ID4gdGhhdCBpdCBtYWtlcyBwb3NzaWJsZSBDUFVzIHByZXNlbnQuCj4gPiA+ID4gPiA+ID4gPiA+ ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBIb25lc3RseSwgSSBkb24ndCB0aGlu ayB0aGF0IHRoaXMgY2hhbmdlIGlzIG5lY2Vzc2FyeSBvciBldmVuIHVzZWZ1bC4KPiA+ID4gPiA+ ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gV2hpbHN0IGl0J3MgYW4gYXR0 ZW1wdCB0byBhdm9pZCBmdXR1cmUgY29uZnVzaW9uLCB0aGUgcmVuYW1lIGlzCj4gPiA+ID4gPiA+ ID4gPiA+ID4gPiA+IG5vdCBzb21ldGhpbmcgSSByZWFsbHkgY2FyZSBhYm91dCBzbyBteSBhZHZp Y2UgdG8gUnVzc2VsbCBpcyBkcm9wCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGl0IHVubGVzcyB5 b3UgYXJlIGF0dGFjaGVkIHRvIGl0IQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4g PiA+ID4gPiA+IFdoaWxlIEkgYWdyZWUgdGhhdCBpdCBpc24ndCBhIG5lY2Vzc2l0eSwgSSBkb24n dCBmdWxseSBhZ3JlZSB0aGF0IGl0Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBpc24ndCB1c2VmdWwu Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gT25lIG9mIHRoZSBp c3N1ZXMgd2lsbCBiZSB0aGF0IHdoaWxlIEFybTY0IHdpbGwgc3VwcG9ydCBob3RwbHVnIHZDUFUs Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBpdCB3b24ndCBiZSBzZXR0aW5nIEFDUElfSE9UUExVR19D UFUgYmVjYXVzZSBpdCBkb2Vzbid0IHN1cHBvcnQKPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHRoZSBw cmVzZW50IGJpdCBjaGFuZ2luZy4gU28gSSBjYW4gc2VlIHdoeSBKYW1lcyBkZWNpZGVkIHRvIHJl bmFtZQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gaXQgLSBiZWNhdXNlIHdpdGggQXJtNjQncyBob3Rw bHVnIHZDUFUsIHRoZSBpZGVhIHRoYXQgQUNQSV9IT1RQTFVHX0NQVQo+ID4gPiA+ID4gPiA+ID4g PiA+ID4gc29tZWhvdyBlbmFibGVzIGhvdHBsdWcgQ1BVIHN1cHBvcnQgaXMgbm93IG5vIGxvbmdl ciB0cnVlLgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IEtlZXBp bmcgaXQgYXMgQUNQSV9IT1RQTFVHX0NQVSBtYWtlcyB0aGUgY29kZSBsZXNzIG9idmlvdXMsIGJl Y2F1c2UgaXQKPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGxlYWRzIG9uZSB0byBhc3N1bWUgdGhhdCBp dCBvdWdodCB0byBiZSBlbmFibGVkIGZvciBBcm02NCdzCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBp bXBsZW1lbnRhdGlub24sIGFuZCB0aGF0IGNvdWxkIHdlbGwgY2F1c2UgaXNzdWVzIGluIHRoZSBm dXR1cmUgaWYKPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHBlb3BsZSBtYWtlIHRoZSBhc3N1bXB0aW9u IHRoYXQgIkFDUElfSE9UUExVR19DUFUiIG1lYW5zIGhvdHBsdWcgQ1BVCj4gPiA+ID4gPiA+ID4g PiA+ID4gPiBpcyBzdXBwb3J0ZWQgaW4gQUNQSS4gSXQgZG9lc24ndCBhbnltb3JlLgo+ID4gPiA+ ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiA+ID4gT24geDg2IHRoZXJlIGlzIG5vIGNvbmZ1 c2lvbiBBRkFJQ1MuICBJdCdzIGFsd2F5cyBtZWFudCAiYXMgbG9uZyBhcwo+ID4gPiA+ID4gPiA+ ID4gPiA+IHRoZSBwbGF0Zm9ybSBzdXBwb3J0cyBpdCIuCj4gPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ ID4gPiA+ID4gPiA+IFRoYXQncyB4ODYsIHdoaWNoIHN1cHBvcnRzIHBoeXNpY2FsIENQVSBob3Rw bHVnLiBXZSdyZSBpbnRyb2R1Y2luZwo+ID4gPiA+ID4gPiA+ID4gPiBzdXBwb3J0IGZvciBBcm02 NCBoZXJlIHdoaWNoIGRvZXNuJ3Qgc3VwcG9ydCBwaHlzaWNhbCBDUFUgaG90cGx1Zy4KPiA+ID4g PiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQUNQSS1iYXNlZCAgICAgIFBoeXNpY2FsICAgICAgICBWaXJ0 dWFsCj4gPiA+ID4gPiA+ID4gPiA+IEFyY2ggICAgSE9UUExVR19DUFUgICAgIEFDUElfSE9UUExV R19DUFUgICAgICAgIEhvdHBsdWcgICAgICAgICBIb3RwbHVnICAgICAgICAgSG90cGx1Zwo+ID4g PiA+ID4gPiA+ID4gPiBBcm02NCAgIFkgICAgICAgICAgICAgICBOICAgICAgICAgICAgICAgICAg ICAgICBZICAgICAgICAgICAgICAgTiAgICAgICAgICAgICAgIFkKPiA+ID4gPiA+ID4gPiA+ID4g eDg2ICAgICBZICAgICAgICAgICAgICAgWSAgICAgICAgICAgICAgICAgICAgICAgWSAgICAgICAg ICAgICAgIFkgICAgICAgICAgICAgICBZCj4gPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4g PiA+IFNvIEFDUElfSE9UUExVR19DUFUgYmVjb21lcyB0b3RhbGx5IG1pc25hbWVkIHdpdGggdGhl IGludHJvZHVjdGlvbgo+ID4gPiA+ID4gPiA+ID4gPiBvZiBob3RwbHVnIG9uIEFybTY0Lgo+ID4g PiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiBJZiB3ZSB3YW50IHRvIGp1c3QgbG9vayBh dCBzdHVmZiBmcm9tIGFuIHg4NiBwZXJzcGVjdGl2ZSwgdGhlbiB5ZXMsCj4gPiA+ID4gPiA+ID4g PiA+IGl0IHJlbWFpbnMgY29ycmVjdCB0byBjYWxsIGl0IEFDUElfSE9UUExVR19DUFUuIEl0IGlz bid0IGNvcnJlY3QgYXMKPiA+ID4gPiA+ID4gPiA+ID4gc29vbiBhcyB3ZSBhZGQgQXJtNjQsIGFz IEkgYWxyZWFkeSBzYWlkLgo+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+IEFuZCBpZiB5 b3UgcmVuYW1lIGl0LCBpdCBiZWNvbWVzIGxlc3MgY29uZnVzaW5nIGZvciBBUk02NCwgYnV0IG1v cmUKPiA+ID4gPiA+ID4gPiA+IGNvbmZ1c2luZyBmb3IgeDg2LCB3aGljaCBiYXNpY2FsbHkgaXMg bXkgcG9pbnQuCj4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gSU1PICJob3RwbHVnIiBj b3ZlcnMgYm90aCBjYXNlcyB3ZWxsIGVub3VnaCBhbmQgImhvdHBsdWcgcHJlc2VudCIgaXMKPiA+ ID4gPiA+ID4gPiA+IG9ubHkgYWNjdXJhdGUgZm9yIG9uZSBvZiB0aGVtLgo+ID4gPiA+ID4gPiA+ ID4KPiA+ID4gPiA+ID4gPiA+ID4gQW5kIGhvbmVzdGx5LCBhIHR3byBsaW5lIHF1aXAgdG8gbXkg cmVhc29uZWQgYXJndW1lbnQgaXMgbm90IElNSE8KPiA+ID4gPiA+ID4gPiA+ID4gYW4gYWNjZXB0 YWJsZSByZXBseS4KPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiBXZWxsLCBJJ20gbm90 IGV2ZW4gc3VyZSBob3cgdG8gcmVzcG9uZCB0byB0aGlzIC4uLgo+ID4gPiA+ID4gPiA+Cj4gPiA+ ID4gPiA+ID4gVGhlIGFib3ZlIGV4cGxhbmF0aW9uIHlvdSBnaXZlIHdvdWxkIGhhdmUgYmVlbiB1 c2VmdWwuLi4KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IEkgZG9uJ3Qgc2VlIGhvdyAiaG90 cGx1ZyIgY292ZXJzIGJvdGggY2FzZXMuIEFzIEkndmUgdHJpZWQgdG8gcG9pbnQKPiA+ID4gPiA+ ID4gPiBvdXQgbWFueSB0aW1lcyBub3csIEFDUElfSE9UUExVR19DUFUgaXMgTiBmb3IgQXJtNjQs IHlldCBpdCBzdXBwb3J0cwo+ID4gPiA+ID4gPiA+IEFDUEkgYmFzZWQgaG90cGx1Zy4gSG93IGRv ZXMgQUNQSV9IT1RQTFVHX0NQVSBjb3ZlciBBcm02NCBpZiBpdCdzCj4gPiA+ID4gPiA+ID4gTiB0 aGVyZT8KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gQnV0IElJVUMgdGhpcyBjaGFuZ2UgaXMgcHJl bGltaW5hcnkgZm9yIGNoYW5naW5nIGl0IChvciBlcXVpdmFsZW50Cj4gPiA+ID4gPiA+IG9wdGlv biB3aXRoIGEgZGlmZmVyZW50IG5hbWUpIHRvIFksIGlzbid0IGl0Pwo+ID4gPiA+ID4KPiA+ID4g PiA+IE5vLiBBcyBJIGtlZXAgc2F5aW5nLCBBQ1BJX0hPVFBMVUdfQ1BVIGVuZHMgdXAgTiBvbiBB cm02NCBldmVuIHdoZW4KPiA+ID4gPiA+IGl0IHN1cHBvcnRzIGhvdHBsdWcgQ1BVIHZpYSBBQ1BJ Lgo+ID4gPiA+ID4KPiA+ID4gPiA+IEV2ZW4gd2l0aCB0aGUgZnVsbCBBcm02NCBwYXRjaCBzZXQg aGVyZSwgdW5kZXIgYXJjaC8gd2Ugc3RpbGwgb25seQo+ID4gPiA+ID4gaGF2ZToKPiA+ID4gPiA+ Cj4gPiA+ID4gPiBhcmNoL2xvb25nYXJjaC9LY29uZmlnOiBzZWxlY3QgQUNQSV9IT1RQTFVHX1BS RVNFTlRfQ1BVIGlmIEFDUElfUFJPQ0VTU09SICYmIEhPVFBMVUdfQ1BVCj4gPiA+ID4gPiBhcmNo L3g4Ni9LY29uZmlnOiAgICAgICBzZWxlY3QgQUNQSV9IT1RQTFVHX1BSRVNFTlRfQ1BVICAgICAg ICAgaWYgQUNQSV9QUk9DRVNTT1IgJiYgSE9UUExVR19DUFUKPiA+ID4gPiA+Cj4gPiA+ID4gPiBU byBzYXkgaXQgeWV0IGFnYWluLCBBQ1BJX0hPVFBMVUdfKFBSRVNFTlRfKUNQVSBpcyAqbmV2ZXIq IHNldCBvbgo+ID4gPiA+ID4gQXJtNjQuCj4gPiA+ID4KPiA+ID4gPiBBbGxyaWdodCwgc28gQVJN NjQgaXMgbm90IGdvaW5nIHRvIHVzZSB0aGUgY29kZSB0aGF0IGlzIGNvbmRpdGlvbmFsIG9uCj4g PiA+ID4gQUNQSV9IT1RQTFVHX0NQVSB0b2RheS4KPiA+ID4gPgo+ID4gPiA+IEZhaXIgZW5vdWdo Lgo+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gSU1ITyBpdCB0b3RhbGx5IGRvZXNuJ3QsIGFuZCBtb3Jl b3ZlciwgaXQgZ29lcyBhZ2FpbnN0IHdoYXQKPiA+ID4gPiA+ID4gPiBvbmUgd291bGQgbG9naWNh bGx5IGV4cGVjdCAtIGFuZCB0aGlzIGlzIHdoeSBJIGhhdmUgYSBwcm9ibGVtIHdpdGgKPiA+ID4g PiA+ID4gPiB5b3VyIGVmZmVjdGl2ZSBOQUsgZm9yIHRoaXMgY2hhbmdlLiBJIGJlbGlldmUgeW91 IGFyZSBiYXNpY2FsbHkKPiA+ID4gPiA+ID4gPiB3cm9uZyBvbiB0aGlzIGZvciB0aGUgcmVhc29u cyBJJ3ZlIGdpdmVuIC0gdGhhdCBBQ1BJX0hPVFBMVUdfQ1BVCj4gPiA+ID4gPiA+ID4gd2lsbCBi ZSBOIGZvciBBcm02NCBkZXNwaXRlIGl0IHN1cHBvcnRpbmcgQUNQSS1iYXNlZCBDUFUgaG90cGx1 Zy4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gU28gSSBzdGlsbCBoYXZlIHRvIHVuZGVyc3RhbmQg aG93IHJlbmFtaW5nIGl0IGZvciBhbGwgYXJjaGl0ZWN0dXJlcwo+ID4gPiA+ID4gPiAoaW5jbHVk aW5nIHg4NikgaXMgc3VwcG9zZWQgdG8gaGVscC4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gSXQg d2lsbCBzdGlsbCBiZSB0aGUgc2FtZSBvcHRpb24gdW5kZXIgYSBkaWZmZXJlbnQgbmFtZS4gIEhv dyBkb2VzCj4gPiA+ID4gPiA+IHRoYXQgY2hhbmdlIHRoaW5ncyB0ZWNobmljYWxseT8KPiA+ID4g PiA+Cj4gPiA+ID4gPiBEbyB5b3UgdGhpbmsgdGhhdCBpdCBtYWtlcyBhbnkgc2Vuc2UgdG8gaGF2 ZSBzdXBwb3J0IGZvciBBQ1BJLWJhc2VkCj4gPiA+ID4gPiBob3RwbHVnIENQVQo+ID4gPiA+Cj4g PiA+ID4gU28gdGhpcyBpcyBhbGwgYWJvdXQgd2hhdCB5b3UgYW5kIEkgbWVhbiBieSAiQUNQSS1i YXNlZCBob3RwbHVnIENQVSIuCj4gPiA+ID4KPiA+ID4gPiA+ICphbmQqIGhhdmluZyBpdCBmdW5j dGlvbmFsIHdpdGggYSBjb25maWd1cmF0aW9uIHN5bWJvbAo+ID4gPiA+ID4gbmFtZWQgIkFDUElf SE9UUExVR19DUFUiIHRvIGJlIHNldCB0byBOID8gVGhhdCdzIGVzc2VudGlhbGx5IHdoYXQKPiA+ ID4gPiA+IHlvdSBhcmUgYWR2b2NhdGluZyBmb3IuLi4KPiA+ID4gPgo+ID4gPiA+IFNldHRpbmcg QUNQSV9IT1RQTFVHX0NQVSB0byBOIG1lYW5zIHRoYXQgeW91IGFyZSBub3QgZ29pbmcgdG8gY29t cGlsZQo+ID4gPiA+IHRoZSBjb2RlIHRoYXQgaXMgY29uZGl0aW9uYWwgb24gaXQuCj4gPiA+ID4K PiA+ID4gPiBUaGF0IGNvZGUgYWxsb3dzIHRoZSBwcm9jZXNzb3IgZHJpdmVyIHRvIGJlIHJlbW92 ZWQgZnJvbSBDUFVzIGFuZAo+ID4gPiA+IGFyY2hfdW5yZWdpc3Rlcl9jcHUoKSB0byBiZSBjYWxs ZWQgZnJvbSB3aXRoaW4gYWNwaV9idXNfdHJpbSgpICAoYW1vbmcKPiA+ID4gPiBvdGhlciB0aGlu Z3MpLiAgT24gdGhlIHdheSB1cCwgaXQgYWxsb3dzIGFyY2hfcmVnaXN0ZXJfY3B1KCkgdG8gYmUK PiA+ID4gPiBjYWxsZWQgZnJvbSB3aXRoaW4gYWNwaV9idXNfc2NhbigpLiAgSWYgdGhlc2UgdGhp bmdzIGFyZSBub3QgZG9uZSwKPiA+ID4gPiB3aGF0IEkgbWVhbiBieSAiQUNQSS1iYXNlZCBob3Rw bHVnIENQVSIgaXMgbm90IHN1cHBvcnRlZC4KPiA+ID4KPiA+ID4gRXZlbiBvbiBBcm02NCwgYXJj aF9yZWdpc3Rlcl9jcHUoKSBhbmQgYXJjaF91bnJlZ2lzdGVyX2NwdSgpIHdpbGwgYmUKPiA+ID4g Y2FsbGVkIHdoZW4gdGhlIENQVSBpbiB0aGUgVk0gaXMgaG90LXJlbW92ZWQgb3IgaG90LWFkZGVk Li4uCj4gPiAKPiA+IEluIGEgZGlmZmVyZW50IHdheSwgaG93ZXZlci4KPiAKPiBUaGlzIGlzIGdl dHRpbmcgdGlyZXNvbWUuIFRoZSBnb2FsIHBvc3RzIGtlZXAgbW92aW5nLiBUaGlzIGlzbid0IGEK PiBkaXNjdXNzaW9uLCB0aGlzIGlzIGEgInlvdSdyZSB3cm9uZyBhbmQgSSdtIGdvaW5nIHRvIGtl ZXAgY2hhbmdpbmcgbXkKPiBhcmd1bWVudCBpZiB5b3UgYWdyZWUgd2l0aCBtZSB0byBtYWtlIHlv dSBhbHdheXMgd3JvbmciLgo+IAo+IFNvcnJ5LCBubyBwb2ludCBjb250aW51aW5nIHRoaXMuCgpM ZXQgbWUgYmUgY2xlYXIgd2h5IEknbSBleGhhc3BlcmF0ZWQgYnkgdGhpcy4KCkkndmUgYmVlbiBn aXZpbmcgeW91IGEgdGVjaG5pY2FsIGFyZ3VtZW50IChBcm02NCBzdXBwb3J0aW5nIEFDUEkKaG90 cGx1ZyBDUFUsIGJ1dCBBQ1BJX0hPVFBMVUdfQ1BVPW4pIGZvciBtYW55IG1hbnkgZW1haWxzLiBZ b3UKc2VlbWVkIHRvIG1pc3VuZGVyc3RhbmQgdGhhdCwgZXhwZWN0aW5nIEFDUElfSE9UUExVR19D UFUgdG8gYmVjb21lClkgbGF0ZXIgaW4gdGhlIHNlcmllcy4KCldoZW4gdGhhdCBiZWNhbWUgY2xl YXIgdGhhdCBpdCB3YXNuJ3QsIHlvdSd2ZSBjaGFuZ2VkIHRhY2suIEl0IHRoZW4KYmVjYW1lIGFi b3V0IHdoZXRoZXIgdHdvIGZ1bmN0aW9ucyBnZXQgY2FsbGVkIG9yIG5vdC4KCldoZW4gSSBwb2lu dGVkIG91dCB0aGF0IHRoZXkgYXJlIHN0aWxsIGdvaW5nIHRvIGJlIGNhbGxlZCwgb2ggbm8sCml0 J3Mgbm90IGFib3V0IHdoZXRoZXIgdGhvc2UgdHdvIGZ1bmN0aW9ucyB3aWxsIGJlIGNhbGxlZCBi dXQKaG93IHRoZXkgZ2V0IGNhbGxlZC4KCkVzc2VudGlhbGx5LCB3aGF0IHRoaXMgY29tZXMgZG93 biB0byBpcyB0aGF0IF95b3VfIGhhdmUgbm8gdGVjaG5pY2FsCmFyZ3VtZW50IGFnYWluc3QgdGhl IGNoYW5nZSwganVzdCBfeW91XyBkb24ndCBwZXJzb25hbGx5IHdhbnQgaXQKYW5kIGl0IGRvZXNu J3QgbWF0dGVyIHdoYXQganVzdGlmaWNhdGlvbiBJIGNvbWUgdXAgd2l0aCwgeW91J3JlCmFsd2F5 cyBnb2luZyB0byB0ZWxsIG1lIHNvbWV0aGluZyBkaWZmZXJlbnQuCgpTbyB3aHkgbm90IHN0YXRl IHRoYXQgeW91IHBlcnNvbmFsbHkgZG9uJ3Qgd2FudCBpdCBpbiB0aGUgZmlyc3QKcGxhY2U/IFdo eSB0aGlzIGdhbWUgb2YgY2F0IGFuZCBtb3VzZSBhbmQgdGhlIGNvbnN0YW50bHkgY2hhbmdpbmcK YXJndW1lbnRzLiBJIGd1ZXNzIGl0J3MgdG8gd2FzdGUgZGV2ZWxvcGVycyB0aW1lLgoKV2VsbCwg SSdtIGNhbGxpbmcgeW91IG91dCBmb3IgdGhpcywgYmVjYXVzZSBJJ20gdGhhdCBwaXNzZWQgb2Zm CmF0IHRoZSBhbW91bnQgb2YgdGltZSB5b3UncmUgY2F1c2luZyB0byBiZSB3YXN0ZWQuCgotLSAK Uk1LJ3MgUGF0Y2ggc3lzdGVtOiBodHRwczovL3d3dy5hcm1saW51eC5vcmcudWsvZGV2ZWxvcGVy L3BhdGNoZXMvCkZUVFAgaXMgaGVyZSEgODBNYnBzIGRvd24gMTBNYnBzIHVwLiBEZWNlbnQgY29u bmVjdGl2aXR5IGF0IGxhc3QhCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpsaW51eC1yaXNjdiBtYWlsaW5nIGxpc3QKbGludXgtcmlzY3ZAbGlzdHMuaW5m cmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xp bnV4LXJpc2N2Cg== 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 B9D5EC47258 for ; Tue, 23 Jan 2024 21:13:44 +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:MIME-Version:References: 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=hboSksEElYXwdkks4K4jNYnwa4rjpXm+mC5hcyzD9mk=; b=Cy5UJhXLo2ZUbb /Izn9yb3bB78pCBM+QDNVk6FTaLHCLyNVkQxfcicrAJCcWQ8qWo2rZQdq8t3IqlW66D2UjtODzEuh 4ZZNd0J9uVV55YrK8SFoo0+RK8kSratJk6G1q3on4Xg42S8EWVJ9sbJrPF9RHdQ+1EJ0yz7rUgN0g d67JEDbOuPPDPQzLrLCOaYmtp8MnxCVGPONwDgzVsntQzvvBGTEh93vechapTT18Wu2+r7KsXdPSJ w/cX6CU0ygIA76gY2A8fa4jIyi0QLNSgVzHEy3V7x7ToPzMrXbF8tL8B4b9vdIdArWTh4NwZIHgJX jaeQwiXWGLH+w2+GMw4A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rSO54-000UVJ-1a; Tue, 23 Jan 2024 21:13:14 +0000 Received: from pandora.armlinux.org.uk ([2001:4d48:ad52:32c8:5054:ff:fe00:142]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rSO50-000USb-23; Tue, 23 Jan 2024 21:13:13 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=armlinux.org.uk; s=pandora-2019; h=Sender:In-Reply-To: Content-Transfer-Encoding:Content-Type:MIME-Version:References: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-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=SHg3OZ8rSfuStuI/t9nj9uzIE/yE48Lbl7/EYKvNYzQ=; b=khPcMMPPOS3B4SHAZHQpR7RIZd z0s3275zIx+WRubbX4rCLVwWchIc3qCgsHQ3SwLBSBDibxOjWpdZE7n17u5PeYPR8bEUixN8TdGnV tUzdOJ3cH38ZGg96a3RPK0Le/3lPA3HHqYnWBDe2Rr1Qq0ALcz2XOY+hOSS7f6wFs59Dvxa1eMwF+ fUimAV6KLbZbkzTlDfLDOyXIbY1cevpyffkEOj8oZWaSIA7Shw/Bpk6kPVR6XctAKYol+IABzZfTt UA0Q4XsCOoepZOTZ96m6rptCs2EJNYKdmVTmM6SbZdtMydRWeBJQChp3Fz2W54mOdTUEaQh5PNI9s x197biww==; Received: from shell.armlinux.org.uk ([fd8f:7570:feb6:1:5054:ff:fe00:4ec]:56660) by pandora.armlinux.org.uk with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1rSO4f-00036p-05; Tue, 23 Jan 2024 21:12:49 +0000 Received: from linux by shell.armlinux.org.uk with local (Exim 4.94.2) (envelope-from ) id 1rSO4b-0002Gq-Oh; Tue, 23 Jan 2024 21:12:45 +0000 Date: Tue, 23 Jan 2024 21:12:45 +0000 From: "Russell King (Oracle)" To: "Rafael J. Wysocki" Cc: Jonathan Cameron , linux-pm@vger.kernel.org, loongarch@lists.linux.dev, linux-acpi@vger.kernel.org, linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-riscv@lists.infradead.org, kvmarm@lists.linux.dev, x86@kernel.org, acpica-devel@lists.linuxfoundation.org, linux-csky@vger.kernel.org, linux-doc@vger.kernel.org, linux-ia64@vger.kernel.org, linux-parisc@vger.kernel.org, Salil Mehta , Jean-Philippe Brucker , jianyong.wu@arm.com, justin.he@arm.com, James Morse Subject: Re: [PATCH RFC v3 05/21] ACPI: Rename ACPI_HOTPLUG_CPU to include 'present' Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240123_131310_822526_D42AC39B X-CRM114-Status: GOOD ( 73.26 ) 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 T24gVHVlLCBKYW4gMjMsIDIwMjQgYXQgMDg6NTc6MDhQTSArMDAwMCwgUnVzc2VsbCBLaW5nIChP cmFjbGUpIHdyb3RlOgo+IE9uIFR1ZSwgSmFuIDIzLCAyMDI0IGF0IDA5OjE3OjE4UE0gKzAxMDAs IFJhZmFlbCBKLiBXeXNvY2tpIHdyb3RlOgo+ID4gT24gVHVlLCBKYW4gMjMsIDIwMjQgYXQgOTow OeKAr1BNIFJ1c3NlbGwgS2luZyAoT3JhY2xlKQo+ID4gPGxpbnV4QGFybWxpbnV4Lm9yZy51az4g d3JvdGU6Cj4gPiA+Cj4gPiA+IE9uIFR1ZSwgSmFuIDIzLCAyMDI0IGF0IDA4OjI3OjA1UE0gKzAx MDAsIFJhZmFlbCBKLiBXeXNvY2tpIHdyb3RlOgo+ID4gPiA+IE9uIFR1ZSwgSmFuIDIzLCAyMDI0 IGF0IDc6NTnigK9QTSBSdXNzZWxsIEtpbmcgKE9yYWNsZSkKPiA+ID4gPiA8bGludXhAYXJtbGlu dXgub3JnLnVrPiB3cm90ZToKPiA+ID4gPiA+Cj4gPiA+ID4gPiBPbiBUdWUsIEphbiAyMywgMjAy NCBhdCAwNzoyNjo1N1BNICswMTAwLCBSYWZhZWwgSi4gV3lzb2NraSB3cm90ZToKPiA+ID4gPiA+ ID4gT24gVHVlLCBKYW4gMjMsIDIwMjQgYXQgNzoyMOKAr1BNIFJ1c3NlbGwgS2luZyAoT3JhY2xl KQo+ID4gPiA+ID4gPiA8bGludXhAYXJtbGludXgub3JnLnVrPiB3cm90ZToKPiA+ID4gPiA+ID4g Pgo+ID4gPiA+ID4gPiA+IE9uIFR1ZSwgSmFuIDIzLCAyMDI0IGF0IDA2OjQzOjU5UE0gKzAxMDAs IFJhZmFlbCBKLiBXeXNvY2tpIHdyb3RlOgo+ID4gPiA+ID4gPiA+ID4gT24gVHVlLCBKYW4gMjMs IDIwMjQgYXQgNTozNuKAr1BNIFJ1c3NlbGwgS2luZyAoT3JhY2xlKQo+ID4gPiA+ID4gPiA+ID4g PGxpbnV4QGFybWxpbnV4Lm9yZy51az4gd3JvdGU6Cj4gPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4g PiA+ID4gPiA+IE9uIFR1ZSwgSmFuIDIzLCAyMDI0IGF0IDA1OjE1OjU0UE0gKzAxMDAsIFJhZmFl bCBKLiBXeXNvY2tpIHdyb3RlOgo+ID4gPiA+ID4gPiA+ID4gPiA+IE9uIFR1ZSwgSmFuIDIzLCAy MDI0IGF0IDI6MjjigK9QTSBSdXNzZWxsIEtpbmcgKE9yYWNsZSkKPiA+ID4gPiA+ID4gPiA+ID4g PiA8bGludXhAYXJtbGludXgub3JnLnVrPiB3cm90ZToKPiA+ID4gPiA+ID4gPiA+ID4gPiA+Cj4g PiA+ID4gPiA+ID4gPiA+ID4gPiBPbiBNb24sIEphbiAyMiwgMjAyNCBhdCAwNjowMDoxM1BNICsw MDAwLCBKb25hdGhhbiBDYW1lcm9uIHdyb3RlOgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBPbiBN b24sIDE4IERlYyAyMDIzIDIxOjM1OjE2ICswMTAwCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICJS YWZhZWwgSi4gV3lzb2NraSIgPHJhZmFlbEBrZXJuZWwub3JnPiB3cm90ZToKPiA+ID4gPiA+ID4g PiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBPbiBXZWQsIERlYyAxMywgMjAy MyBhdCAxOjQ54oCvUE0gUnVzc2VsbCBLaW5nIDxybWsra2VybmVsQGFybWxpbnV4Lm9yZy51az4g d3JvdGU6Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4g PiA+ID4gRnJvbTogSmFtZXMgTW9yc2UgPGphbWVzLm1vcnNlQGFybS5jb20+Cj4gPiA+ID4gPiA+ ID4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gVGhlIGNvZGUgYmVo aW5kIEFDUElfSE9UUExVR19DUFUgYWxsb3dzIGEgbm90LXByZXNlbnQgQ1BVIHRvIGJlY29tZQo+ ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gcHJlc2VudC4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IFJpZ2h0Lgo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBUaGlzIGlzbid0IHRoZSBvbmx5IHVz ZSBvZiBIT1RQTFVHX0NQVS4gT24gYXJtNjQgYW5kIHJpc2N2Cj4gPiA+ID4gPiA+ID4gPiA+ID4g PiA+ID4gPiBDUFVzIGNhbiBiZSB0YWtlbiBvZmZsaW5lIGFzIGEgcG93ZXIgc2F2aW5nIG1lYXN1 cmUuCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBC dXQgc3RpbGwgdGhlcmUgaXMgdGhlIGNhc2UgaW4gd2hpY2ggYSBub24tcHJlc2VudCBDUFUgY2Fu IGJlY29tZQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHByZXNlbnQsIGlzbid0IGl0IHRoZXJl Pwo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBOb3QgeWV0 IGRlZmluZWQgYnkgdGhlIGFyY2hpdGVjdHVyZXMgKGFuZCBJJ20gYXNzdW1pbmcgaXQgcHJvYmFi bHkgbmV2ZXIgd2lsbCBiZSkuCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4g PiA+ID4gPiA+IFRoZSBvcmlnaW5hbCBwcm9wb3NhbCB3ZSB0b29rIHRvIEFSTSB3YXMgdG8gZG8g ZXhhY3RseSB0aGF0IC0gdGhleSBwdXNoZWQKPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gYmFjayBo YXJkIG9uIHRoZSBiYXNpcyB0aGVyZSB3YXMgbm8gYXJjaGl0ZWN0dXJhbGx5IHNhZmUgd2F5IHRv IGltcGxlbWVudCBpdC4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gVG9vIG11Y2ggb2YgdGhlIEFS TSBhcmNoIGhhcyB0byBleGlzdCBmcm9tIHRoZSBzdGFydCBvZiB0aW1lLgo+ID4gPiA+ID4gPiA+ ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBodHRwczovL2xvcmUua2VybmVsLm9y Zy9saW51eC1hcm0ta2VybmVsL2NiYWE2ZDY4LTYxNDMtZTAxMC01ZjNjLWVjNjJmODc5YWQ5NUBh cm0uY29tLwo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBpcyBvbmUgb2YgdGhlIHJlbGV2YW50IHRo cmVhZHMgb2YgdGhlIGtlcm5lbCBzaWRlIG9mIHRoYXQgZGlzY3Vzc2lvbi4KPiA+ID4gPiA+ID4g PiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gTm90IHRvIHB1dCBzcGVjaWZpYyB3 b3JkcyBpbnRvIHRoZSBBUk0gYXJjaGl0ZWN0cyBtb3V0aHMsIGJ1dCB0aGUKPiA+ID4gPiA+ID4g PiA+ID4gPiA+ID4gc2hvcnQgZGVzY3JpcHRpb24gaXMgdGhhdCB0aGVyZSBpcyBjdXJyZW50bHkg bm8gZGVtYW5kIGZvciB3b3JraW5nCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IG91dCBob3cgdG8g bWFrZSBwaHlzaWNhbCBDUFUgaG90cGx1ZyBwb3NzaWJsZSwgYXMgc3VjaCB0aGV5IHdpbGwgbm90 Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHByb3ZpZGUgYW4gYXJjaGl0ZWN0dXJhbGx5IGNvbXBs aWFudCB3YXkgdG8gZG8gaXQgZm9yIHZpcnR1YWwgQ1BVIGhvdHBsdWcgYW5kCj4gPiA+ID4gPiA+ ID4gPiA+ID4gPiA+IGFub3RoZXIgbWVhbnMgaXMgbmVlZGVkICh3aGljaCBpcyB3aHkgdGhpcyBz ZXJpZXMgZG9lc24ndCB1c2UgdGhlIHByZXNlbnQgYml0Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ IGZvciB0aGF0IHB1cnBvc2UgYW5kIHdlIGhhdmUgdGhlIE9ubGluZSBjYXBhYmxlIGJpdCBpbiBN QURUL0dJQ0MpCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ IEl0IHdhcyBhICdmdW4nIGRhbmNlIG9mIHNldmVyYWwgeWVhcnMgdG8gZ2V0IHRvIHRoYXQgY2xh cmlmaWNhdGlvbi4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gQXMgYW5vdGhlciBmdW4gZmFjdCwg dGhlIHNhbWUgaXMgZGVmaW5lZCBmb3IgeDg2LCBidXQgSSBkb24ndCB0aGluawo+ID4gPiA+ID4g PiA+ID4gPiA+ID4gPiBhbnlvbmUgaGFzIHVzZWQgaXQgeWV0IChHSUNDIGZvciBBUk0gaGFzIGFu IG9ubGluZSBjYXBhYmxlIGJpdCBpbiB0aGUgZmxhZ3MgdG8KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ ID4gZW5hYmxlIHRoaXMsIHdoaWNoIHdhcyByZW1hcmthYmx5IHNpbWlsYXIgdG8gdGhlIG9ubGlu ZSBjYXBhYmxlIGJpdCBpbiB0aGUKPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gZmxhZ3Mgb2YgdGhl IExvY2FsIEFQSUMgZW50cmllcyBhcyBhZGRlZCBmYWlybHkgcmVjZW50bHkpLgo+ID4gPiA+ID4g PiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiA+ ID4gPiA+ID4gPiBPbiBhcm02NCBhbiBvZmZsaW5lIENQVSBtYXkgYmUgZGlzYWJsZWQgYnkgZmly bXdhcmUsIHByZXZlbnRpbmcgaXQgZnJvbQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gYmVp bmcgYnJvdWdodCBiYWNrIG9ubGluZSwgYnV0IGl0IHJlbWFpbnMgcHJlc2VudCB0aHJvdWdob3V0 Lgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ IEFkZGluZyBjb2RlIHRvIHByZXZlbnQgdXNlci1zcGFjZSB0cnlpbmcgdG8gb25saW5lIHRoZXNl IGRpc2FibGVkIENQVXMKPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IG5lZWRzIHNvbWUgYWRk aXRpb25hbCB0ZXJtaW5vbG9neS4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4g PiA+ID4gPiA+ID4gPiA+ID4gPiBSZW5hbWUgdGhlIEtjb25maWcgc3ltYm9sIENPTkZJR19BQ1BJ X0hPVFBMVUdfUFJFU0VOVF9DUFUgdG8gcmVmbGVjdAo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ ID4gdGhhdCBpdCBtYWtlcyBwb3NzaWJsZSBDUFVzIHByZXNlbnQuCj4gPiA+ID4gPiA+ID4gPiA+ ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBIb25lc3RseSwgSSBkb24ndCB0aGlu ayB0aGF0IHRoaXMgY2hhbmdlIGlzIG5lY2Vzc2FyeSBvciBldmVuIHVzZWZ1bC4KPiA+ID4gPiA+ ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gV2hpbHN0IGl0J3MgYW4gYXR0 ZW1wdCB0byBhdm9pZCBmdXR1cmUgY29uZnVzaW9uLCB0aGUgcmVuYW1lIGlzCj4gPiA+ID4gPiA+ ID4gPiA+ID4gPiA+IG5vdCBzb21ldGhpbmcgSSByZWFsbHkgY2FyZSBhYm91dCBzbyBteSBhZHZp Y2UgdG8gUnVzc2VsbCBpcyBkcm9wCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGl0IHVubGVzcyB5 b3UgYXJlIGF0dGFjaGVkIHRvIGl0IQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4g PiA+ID4gPiA+IFdoaWxlIEkgYWdyZWUgdGhhdCBpdCBpc24ndCBhIG5lY2Vzc2l0eSwgSSBkb24n dCBmdWxseSBhZ3JlZSB0aGF0IGl0Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBpc24ndCB1c2VmdWwu Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gT25lIG9mIHRoZSBp c3N1ZXMgd2lsbCBiZSB0aGF0IHdoaWxlIEFybTY0IHdpbGwgc3VwcG9ydCBob3RwbHVnIHZDUFUs Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBpdCB3b24ndCBiZSBzZXR0aW5nIEFDUElfSE9UUExVR19D UFUgYmVjYXVzZSBpdCBkb2Vzbid0IHN1cHBvcnQKPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHRoZSBw cmVzZW50IGJpdCBjaGFuZ2luZy4gU28gSSBjYW4gc2VlIHdoeSBKYW1lcyBkZWNpZGVkIHRvIHJl bmFtZQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gaXQgLSBiZWNhdXNlIHdpdGggQXJtNjQncyBob3Rw bHVnIHZDUFUsIHRoZSBpZGVhIHRoYXQgQUNQSV9IT1RQTFVHX0NQVQo+ID4gPiA+ID4gPiA+ID4g PiA+ID4gc29tZWhvdyBlbmFibGVzIGhvdHBsdWcgQ1BVIHN1cHBvcnQgaXMgbm93IG5vIGxvbmdl ciB0cnVlLgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IEtlZXBp bmcgaXQgYXMgQUNQSV9IT1RQTFVHX0NQVSBtYWtlcyB0aGUgY29kZSBsZXNzIG9idmlvdXMsIGJl Y2F1c2UgaXQKPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGxlYWRzIG9uZSB0byBhc3N1bWUgdGhhdCBp dCBvdWdodCB0byBiZSBlbmFibGVkIGZvciBBcm02NCdzCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBp bXBsZW1lbnRhdGlub24sIGFuZCB0aGF0IGNvdWxkIHdlbGwgY2F1c2UgaXNzdWVzIGluIHRoZSBm dXR1cmUgaWYKPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHBlb3BsZSBtYWtlIHRoZSBhc3N1bXB0aW9u IHRoYXQgIkFDUElfSE9UUExVR19DUFUiIG1lYW5zIGhvdHBsdWcgQ1BVCj4gPiA+ID4gPiA+ID4g PiA+ID4gPiBpcyBzdXBwb3J0ZWQgaW4gQUNQSS4gSXQgZG9lc24ndCBhbnltb3JlLgo+ID4gPiA+ ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiA+ID4gT24geDg2IHRoZXJlIGlzIG5vIGNvbmZ1 c2lvbiBBRkFJQ1MuICBJdCdzIGFsd2F5cyBtZWFudCAiYXMgbG9uZyBhcwo+ID4gPiA+ID4gPiA+ ID4gPiA+IHRoZSBwbGF0Zm9ybSBzdXBwb3J0cyBpdCIuCj4gPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ ID4gPiA+ID4gPiA+IFRoYXQncyB4ODYsIHdoaWNoIHN1cHBvcnRzIHBoeXNpY2FsIENQVSBob3Rw bHVnLiBXZSdyZSBpbnRyb2R1Y2luZwo+ID4gPiA+ID4gPiA+ID4gPiBzdXBwb3J0IGZvciBBcm02 NCBoZXJlIHdoaWNoIGRvZXNuJ3Qgc3VwcG9ydCBwaHlzaWNhbCBDUFUgaG90cGx1Zy4KPiA+ID4g PiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQUNQSS1iYXNlZCAgICAgIFBoeXNpY2FsICAgICAgICBWaXJ0 dWFsCj4gPiA+ID4gPiA+ID4gPiA+IEFyY2ggICAgSE9UUExVR19DUFUgICAgIEFDUElfSE9UUExV R19DUFUgICAgICAgIEhvdHBsdWcgICAgICAgICBIb3RwbHVnICAgICAgICAgSG90cGx1Zwo+ID4g PiA+ID4gPiA+ID4gPiBBcm02NCAgIFkgICAgICAgICAgICAgICBOICAgICAgICAgICAgICAgICAg ICAgICBZICAgICAgICAgICAgICAgTiAgICAgICAgICAgICAgIFkKPiA+ID4gPiA+ID4gPiA+ID4g eDg2ICAgICBZICAgICAgICAgICAgICAgWSAgICAgICAgICAgICAgICAgICAgICAgWSAgICAgICAg ICAgICAgIFkgICAgICAgICAgICAgICBZCj4gPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4g PiA+IFNvIEFDUElfSE9UUExVR19DUFUgYmVjb21lcyB0b3RhbGx5IG1pc25hbWVkIHdpdGggdGhl IGludHJvZHVjdGlvbgo+ID4gPiA+ID4gPiA+ID4gPiBvZiBob3RwbHVnIG9uIEFybTY0Lgo+ID4g PiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiBJZiB3ZSB3YW50IHRvIGp1c3QgbG9vayBh dCBzdHVmZiBmcm9tIGFuIHg4NiBwZXJzcGVjdGl2ZSwgdGhlbiB5ZXMsCj4gPiA+ID4gPiA+ID4g PiA+IGl0IHJlbWFpbnMgY29ycmVjdCB0byBjYWxsIGl0IEFDUElfSE9UUExVR19DUFUuIEl0IGlz bid0IGNvcnJlY3QgYXMKPiA+ID4gPiA+ID4gPiA+ID4gc29vbiBhcyB3ZSBhZGQgQXJtNjQsIGFz IEkgYWxyZWFkeSBzYWlkLgo+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+IEFuZCBpZiB5 b3UgcmVuYW1lIGl0LCBpdCBiZWNvbWVzIGxlc3MgY29uZnVzaW5nIGZvciBBUk02NCwgYnV0IG1v cmUKPiA+ID4gPiA+ID4gPiA+IGNvbmZ1c2luZyBmb3IgeDg2LCB3aGljaCBiYXNpY2FsbHkgaXMg bXkgcG9pbnQuCj4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gSU1PICJob3RwbHVnIiBj b3ZlcnMgYm90aCBjYXNlcyB3ZWxsIGVub3VnaCBhbmQgImhvdHBsdWcgcHJlc2VudCIgaXMKPiA+ ID4gPiA+ID4gPiA+IG9ubHkgYWNjdXJhdGUgZm9yIG9uZSBvZiB0aGVtLgo+ID4gPiA+ID4gPiA+ ID4KPiA+ID4gPiA+ID4gPiA+ID4gQW5kIGhvbmVzdGx5LCBhIHR3byBsaW5lIHF1aXAgdG8gbXkg cmVhc29uZWQgYXJndW1lbnQgaXMgbm90IElNSE8KPiA+ID4gPiA+ID4gPiA+ID4gYW4gYWNjZXB0 YWJsZSByZXBseS4KPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiBXZWxsLCBJJ20gbm90 IGV2ZW4gc3VyZSBob3cgdG8gcmVzcG9uZCB0byB0aGlzIC4uLgo+ID4gPiA+ID4gPiA+Cj4gPiA+ ID4gPiA+ID4gVGhlIGFib3ZlIGV4cGxhbmF0aW9uIHlvdSBnaXZlIHdvdWxkIGhhdmUgYmVlbiB1 c2VmdWwuLi4KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IEkgZG9uJ3Qgc2VlIGhvdyAiaG90 cGx1ZyIgY292ZXJzIGJvdGggY2FzZXMuIEFzIEkndmUgdHJpZWQgdG8gcG9pbnQKPiA+ID4gPiA+ ID4gPiBvdXQgbWFueSB0aW1lcyBub3csIEFDUElfSE9UUExVR19DUFUgaXMgTiBmb3IgQXJtNjQs IHlldCBpdCBzdXBwb3J0cwo+ID4gPiA+ID4gPiA+IEFDUEkgYmFzZWQgaG90cGx1Zy4gSG93IGRv ZXMgQUNQSV9IT1RQTFVHX0NQVSBjb3ZlciBBcm02NCBpZiBpdCdzCj4gPiA+ID4gPiA+ID4gTiB0 aGVyZT8KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gQnV0IElJVUMgdGhpcyBjaGFuZ2UgaXMgcHJl bGltaW5hcnkgZm9yIGNoYW5naW5nIGl0IChvciBlcXVpdmFsZW50Cj4gPiA+ID4gPiA+IG9wdGlv biB3aXRoIGEgZGlmZmVyZW50IG5hbWUpIHRvIFksIGlzbid0IGl0Pwo+ID4gPiA+ID4KPiA+ID4g PiA+IE5vLiBBcyBJIGtlZXAgc2F5aW5nLCBBQ1BJX0hPVFBMVUdfQ1BVIGVuZHMgdXAgTiBvbiBB cm02NCBldmVuIHdoZW4KPiA+ID4gPiA+IGl0IHN1cHBvcnRzIGhvdHBsdWcgQ1BVIHZpYSBBQ1BJ Lgo+ID4gPiA+ID4KPiA+ID4gPiA+IEV2ZW4gd2l0aCB0aGUgZnVsbCBBcm02NCBwYXRjaCBzZXQg aGVyZSwgdW5kZXIgYXJjaC8gd2Ugc3RpbGwgb25seQo+ID4gPiA+ID4gaGF2ZToKPiA+ID4gPiA+ Cj4gPiA+ID4gPiBhcmNoL2xvb25nYXJjaC9LY29uZmlnOiBzZWxlY3QgQUNQSV9IT1RQTFVHX1BS RVNFTlRfQ1BVIGlmIEFDUElfUFJPQ0VTU09SICYmIEhPVFBMVUdfQ1BVCj4gPiA+ID4gPiBhcmNo L3g4Ni9LY29uZmlnOiAgICAgICBzZWxlY3QgQUNQSV9IT1RQTFVHX1BSRVNFTlRfQ1BVICAgICAg ICAgaWYgQUNQSV9QUk9DRVNTT1IgJiYgSE9UUExVR19DUFUKPiA+ID4gPiA+Cj4gPiA+ID4gPiBU byBzYXkgaXQgeWV0IGFnYWluLCBBQ1BJX0hPVFBMVUdfKFBSRVNFTlRfKUNQVSBpcyAqbmV2ZXIq IHNldCBvbgo+ID4gPiA+ID4gQXJtNjQuCj4gPiA+ID4KPiA+ID4gPiBBbGxyaWdodCwgc28gQVJN NjQgaXMgbm90IGdvaW5nIHRvIHVzZSB0aGUgY29kZSB0aGF0IGlzIGNvbmRpdGlvbmFsIG9uCj4g PiA+ID4gQUNQSV9IT1RQTFVHX0NQVSB0b2RheS4KPiA+ID4gPgo+ID4gPiA+IEZhaXIgZW5vdWdo Lgo+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gSU1ITyBpdCB0b3RhbGx5IGRvZXNuJ3QsIGFuZCBtb3Jl b3ZlciwgaXQgZ29lcyBhZ2FpbnN0IHdoYXQKPiA+ID4gPiA+ID4gPiBvbmUgd291bGQgbG9naWNh bGx5IGV4cGVjdCAtIGFuZCB0aGlzIGlzIHdoeSBJIGhhdmUgYSBwcm9ibGVtIHdpdGgKPiA+ID4g PiA+ID4gPiB5b3VyIGVmZmVjdGl2ZSBOQUsgZm9yIHRoaXMgY2hhbmdlLiBJIGJlbGlldmUgeW91 IGFyZSBiYXNpY2FsbHkKPiA+ID4gPiA+ID4gPiB3cm9uZyBvbiB0aGlzIGZvciB0aGUgcmVhc29u cyBJJ3ZlIGdpdmVuIC0gdGhhdCBBQ1BJX0hPVFBMVUdfQ1BVCj4gPiA+ID4gPiA+ID4gd2lsbCBi ZSBOIGZvciBBcm02NCBkZXNwaXRlIGl0IHN1cHBvcnRpbmcgQUNQSS1iYXNlZCBDUFUgaG90cGx1 Zy4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gU28gSSBzdGlsbCBoYXZlIHRvIHVuZGVyc3RhbmQg aG93IHJlbmFtaW5nIGl0IGZvciBhbGwgYXJjaGl0ZWN0dXJlcwo+ID4gPiA+ID4gPiAoaW5jbHVk aW5nIHg4NikgaXMgc3VwcG9zZWQgdG8gaGVscC4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gSXQg d2lsbCBzdGlsbCBiZSB0aGUgc2FtZSBvcHRpb24gdW5kZXIgYSBkaWZmZXJlbnQgbmFtZS4gIEhv dyBkb2VzCj4gPiA+ID4gPiA+IHRoYXQgY2hhbmdlIHRoaW5ncyB0ZWNobmljYWxseT8KPiA+ID4g PiA+Cj4gPiA+ID4gPiBEbyB5b3UgdGhpbmsgdGhhdCBpdCBtYWtlcyBhbnkgc2Vuc2UgdG8gaGF2 ZSBzdXBwb3J0IGZvciBBQ1BJLWJhc2VkCj4gPiA+ID4gPiBob3RwbHVnIENQVQo+ID4gPiA+Cj4g PiA+ID4gU28gdGhpcyBpcyBhbGwgYWJvdXQgd2hhdCB5b3UgYW5kIEkgbWVhbiBieSAiQUNQSS1i YXNlZCBob3RwbHVnIENQVSIuCj4gPiA+ID4KPiA+ID4gPiA+ICphbmQqIGhhdmluZyBpdCBmdW5j dGlvbmFsIHdpdGggYSBjb25maWd1cmF0aW9uIHN5bWJvbAo+ID4gPiA+ID4gbmFtZWQgIkFDUElf SE9UUExVR19DUFUiIHRvIGJlIHNldCB0byBOID8gVGhhdCdzIGVzc2VudGlhbGx5IHdoYXQKPiA+ ID4gPiA+IHlvdSBhcmUgYWR2b2NhdGluZyBmb3IuLi4KPiA+ID4gPgo+ID4gPiA+IFNldHRpbmcg QUNQSV9IT1RQTFVHX0NQVSB0byBOIG1lYW5zIHRoYXQgeW91IGFyZSBub3QgZ29pbmcgdG8gY29t cGlsZQo+ID4gPiA+IHRoZSBjb2RlIHRoYXQgaXMgY29uZGl0aW9uYWwgb24gaXQuCj4gPiA+ID4K PiA+ID4gPiBUaGF0IGNvZGUgYWxsb3dzIHRoZSBwcm9jZXNzb3IgZHJpdmVyIHRvIGJlIHJlbW92 ZWQgZnJvbSBDUFVzIGFuZAo+ID4gPiA+IGFyY2hfdW5yZWdpc3Rlcl9jcHUoKSB0byBiZSBjYWxs ZWQgZnJvbSB3aXRoaW4gYWNwaV9idXNfdHJpbSgpICAoYW1vbmcKPiA+ID4gPiBvdGhlciB0aGlu Z3MpLiAgT24gdGhlIHdheSB1cCwgaXQgYWxsb3dzIGFyY2hfcmVnaXN0ZXJfY3B1KCkgdG8gYmUK PiA+ID4gPiBjYWxsZWQgZnJvbSB3aXRoaW4gYWNwaV9idXNfc2NhbigpLiAgSWYgdGhlc2UgdGhp bmdzIGFyZSBub3QgZG9uZSwKPiA+ID4gPiB3aGF0IEkgbWVhbiBieSAiQUNQSS1iYXNlZCBob3Rw bHVnIENQVSIgaXMgbm90IHN1cHBvcnRlZC4KPiA+ID4KPiA+ID4gRXZlbiBvbiBBcm02NCwgYXJj aF9yZWdpc3Rlcl9jcHUoKSBhbmQgYXJjaF91bnJlZ2lzdGVyX2NwdSgpIHdpbGwgYmUKPiA+ID4g Y2FsbGVkIHdoZW4gdGhlIENQVSBpbiB0aGUgVk0gaXMgaG90LXJlbW92ZWQgb3IgaG90LWFkZGVk Li4uCj4gPiAKPiA+IEluIGEgZGlmZmVyZW50IHdheSwgaG93ZXZlci4KPiAKPiBUaGlzIGlzIGdl dHRpbmcgdGlyZXNvbWUuIFRoZSBnb2FsIHBvc3RzIGtlZXAgbW92aW5nLiBUaGlzIGlzbid0IGEK PiBkaXNjdXNzaW9uLCB0aGlzIGlzIGEgInlvdSdyZSB3cm9uZyBhbmQgSSdtIGdvaW5nIHRvIGtl ZXAgY2hhbmdpbmcgbXkKPiBhcmd1bWVudCBpZiB5b3UgYWdyZWUgd2l0aCBtZSB0byBtYWtlIHlv dSBhbHdheXMgd3JvbmciLgo+IAo+IFNvcnJ5LCBubyBwb2ludCBjb250aW51aW5nIHRoaXMuCgpM ZXQgbWUgYmUgY2xlYXIgd2h5IEknbSBleGhhc3BlcmF0ZWQgYnkgdGhpcy4KCkkndmUgYmVlbiBn aXZpbmcgeW91IGEgdGVjaG5pY2FsIGFyZ3VtZW50IChBcm02NCBzdXBwb3J0aW5nIEFDUEkKaG90 cGx1ZyBDUFUsIGJ1dCBBQ1BJX0hPVFBMVUdfQ1BVPW4pIGZvciBtYW55IG1hbnkgZW1haWxzLiBZ b3UKc2VlbWVkIHRvIG1pc3VuZGVyc3RhbmQgdGhhdCwgZXhwZWN0aW5nIEFDUElfSE9UUExVR19D UFUgdG8gYmVjb21lClkgbGF0ZXIgaW4gdGhlIHNlcmllcy4KCldoZW4gdGhhdCBiZWNhbWUgY2xl YXIgdGhhdCBpdCB3YXNuJ3QsIHlvdSd2ZSBjaGFuZ2VkIHRhY2suIEl0IHRoZW4KYmVjYW1lIGFi b3V0IHdoZXRoZXIgdHdvIGZ1bmN0aW9ucyBnZXQgY2FsbGVkIG9yIG5vdC4KCldoZW4gSSBwb2lu dGVkIG91dCB0aGF0IHRoZXkgYXJlIHN0aWxsIGdvaW5nIHRvIGJlIGNhbGxlZCwgb2ggbm8sCml0 J3Mgbm90IGFib3V0IHdoZXRoZXIgdGhvc2UgdHdvIGZ1bmN0aW9ucyB3aWxsIGJlIGNhbGxlZCBi dXQKaG93IHRoZXkgZ2V0IGNhbGxlZC4KCkVzc2VudGlhbGx5LCB3aGF0IHRoaXMgY29tZXMgZG93 biB0byBpcyB0aGF0IF95b3VfIGhhdmUgbm8gdGVjaG5pY2FsCmFyZ3VtZW50IGFnYWluc3QgdGhl IGNoYW5nZSwganVzdCBfeW91XyBkb24ndCBwZXJzb25hbGx5IHdhbnQgaXQKYW5kIGl0IGRvZXNu J3QgbWF0dGVyIHdoYXQganVzdGlmaWNhdGlvbiBJIGNvbWUgdXAgd2l0aCwgeW91J3JlCmFsd2F5 cyBnb2luZyB0byB0ZWxsIG1lIHNvbWV0aGluZyBkaWZmZXJlbnQuCgpTbyB3aHkgbm90IHN0YXRl IHRoYXQgeW91IHBlcnNvbmFsbHkgZG9uJ3Qgd2FudCBpdCBpbiB0aGUgZmlyc3QKcGxhY2U/IFdo eSB0aGlzIGdhbWUgb2YgY2F0IGFuZCBtb3VzZSBhbmQgdGhlIGNvbnN0YW50bHkgY2hhbmdpbmcK YXJndW1lbnRzLiBJIGd1ZXNzIGl0J3MgdG8gd2FzdGUgZGV2ZWxvcGVycyB0aW1lLgoKV2VsbCwg SSdtIGNhbGxpbmcgeW91IG91dCBmb3IgdGhpcywgYmVjYXVzZSBJJ20gdGhhdCBwaXNzZWQgb2Zm CmF0IHRoZSBhbW91bnQgb2YgdGltZSB5b3UncmUgY2F1c2luZyB0byBiZSB3YXN0ZWQuCgotLSAK Uk1LJ3MgUGF0Y2ggc3lzdGVtOiBodHRwczovL3d3dy5hcm1saW51eC5vcmcudWsvZGV2ZWxvcGVy L3BhdGNoZXMvCkZUVFAgaXMgaGVyZSEgODBNYnBzIGRvd24gMTBNYnBzIHVwLiBEZWNlbnQgY29u bmVjdGl2aXR5IGF0IGxhc3QhCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVs QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9s aXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==