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 2B163CD11DD for ; Wed, 27 Mar 2024 01:28:31 +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=gojshyhU1Wj8evhTcJbJ3YCATPRL3oeTuJc7Ora/ZSY=; b=FBYOyym6oemaGQ rZXBk2F5lcfXo+Asy/rYqaxT46vZ2EMewyGmjaJi10BKpvATOjcSBxC5iJ4U4UFOfl9a3IbtnPppy 1P7s0LnQPZJkBbn1ybmuqfIImSgDxMt7CUu89xEUUQ/+SE6jJxy/AX1kKIsOyBaT0AO0E8tkR/l9e 8L4I2on4ioZo2MtrwW/t9tmcWYzdRGzVMH21AtcsyhHgV788e+skj05IkbIIwq5upTAfmHsLiigBP FyZGtImS/4lzsnpvDZZ2YZ6awHD26PtMYClB7yOauIL86M/3kxQqadeUBaozzEU2FnB2ONBf7BwFE rhChhV1kgLciuet+3CvQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rpI5S-000000075CI-4Ap2; Wed, 27 Mar 2024 01:28:19 +0000 Received: from sin.source.kernel.org ([2604:1380:40e1:4800::1]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rpI5L-0000000759v-2RYG for linux-riscv@lists.infradead.org; Wed, 27 Mar 2024 01:28:13 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id EC7A9CE2496; Wed, 27 Mar 2024 01:28:04 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CC606C433F1; Wed, 27 Mar 2024 01:28:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711502884; bh=tsD1Jo9bLVDB9au4XppIzlJwr4H/IPzxGg62vjK5zl4=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=hNDC+7s0VfwR+gTfhz2HUgmUnSqlpSpwat9bUdUF8qcUUcJcuP/ClB89Wd+BYhFF5 ubSJ1zx2I9f+NWaX97dCfLgvWGhM34r4BSqbDqpDHOWs77VVabA1guPHdU9g4LmVfA bup/pfgu2cxyo5sHfx5oJ3ZqUVAxSt8VDzyLObUb+xMSZ9/2KZ/J1myva/cVHEaPEs zBItPMxmpV1Vem1Xlmjljr9AH/SfP1BYVS+FhkqRAf4HVKJcmvJCmd7qbqCPNRoNjP LudduteyX54EwisQZtSjXvxquEmfpeATshe1j2QG+VW+UMlk3HBCoVkjkaaBNrFLct V4teYOp4Rvugw== Date: Wed, 27 Mar 2024 09:14:47 +0800 From: Jisheng Zhang To: Charles Lohr Cc: Palmer Dabbelt , cleger@rivosinc.com, Conor Dooley , samuel.holland@sifive.com, Paul Walmsley , aou@eecs.berkeley.edu, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Conor Dooley , ajones@ventanamicro.com, dlemoal@kernel.org, Bjorn Topel , Atish Patra Subject: Re: [PATCH] riscv: deprecate CONFIG_MMU=n 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-20240326_182812_050608_82250C83 X-CRM114-Status: GOOD ( 59.32 ) 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 T24gVHVlLCBNYXIgMjYsIDIwMjQgYXQgMDE6MjU6MDhQTSAtMDcwMCwgQ2hhcmxlcyBMb2hyIHdy b3RlOgo+IEppc2hlbmcsIGFyZSB5b3UgdXNpbmcgbXVzbCBvciB1Y2xpYmM/IEkndmUgYmVlbiBo YXZpbmcgZGlmZmljdWx0eQo+IGdldHRpbmcgbmV3IHZlcnNpb25zIG9mIGVhY2ggd29ya2luZyB3 aXRoIHRoZSBuZXdlciBrZXJuZWxzIHdpdGgKPiBzeXN0ZW0gY2FsbHMgbm90IGxpbmluZyB1cC4K CkhpIENoYXJsZXMsCgpJIHRlc3RlZCBub21tdSBsaW51eCB3aXRoIHVjbGliYywgYm90aCBydjMy IGFuZCBydjY0CgpUaGFua3MKCj4gCj4gQWxzbywgaXMgdGhlcmUgYSBiZXR0ZXIgcGxhY2UgdG8g YXNrIHF1ZXN0aW9ucyBhYm91dCB0aGUgbW9yZQo+IHVzZXItc3BhY3kgc3R1ZmY/ICBUaGF0J3Mg cmVhbGx5IHdoZXJlIEkndmUgYmVlbiBzdHJ1Z2dsaW5nIHRvCj4gbWFpbnRhaW4gdGhpbmdzLCBr ZWVwaW5nIGJ1aWxkcm9vdCB3b3JraW5nIHdoZW4gdGFyZ2V0aW5nIFJWMzIgTk9NTVUuCj4gVGhh bmtmdWxseSBhIGxvdCBvZiB0aGUgc3RpY2tpZXN0IHByb2JsZW1zIGhhdmUgYWxsIGJlZW4gdXBz dHJlYW1lZC4KPiAKPiBDaGFybGVzCj4gCj4gT24gTW9uLCBNYXIgMjUsIDIwMjQgYXQgMTA6MTLi gK9BTSBKaXNoZW5nIFpoYW5nIDxqc3poYW5nQGtlcm5lbC5vcmc+IHdyb3RlOgo+ID4KPiA+IE9u IFRodSwgTWFyIDE0LCAyMDI0IGF0IDA5OjAyOjQzUE0gKzA4MDAsIEppc2hlbmcgWmhhbmcgd3Jv dGU6Cj4gPiA+IE9uIFRodSwgTWFyIDE0LCAyMDI0IGF0IDA4OjQ2OjIxUE0gKzA4MDAsIEppc2hl bmcgWmhhbmcgd3JvdGU6Cj4gPiA+ID4gT24gVHVlLCBGZWIgMjcsIDIwMjQgYXQgMDg6Mzg6NTBB TSAtMDgwMCwgUGFsbWVyIERhYmJlbHQgd3JvdGU6Cj4gPiA+ID4gPiBPbiBUdWUsIDI3IEZlYiAy MDI0IDAxOjExOjQxIFBTVCAoLTA4MDApLCBjbGVnZXJAcml2b3NpbmMuY29tIHdyb3RlOgo+ID4g PiA+ID4gPgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBPbiAyNi8wMi8yMDI0IDIwOjAwLCBDaGFy bGVzIExvaHIgd3JvdGU6Cj4gPiA+ID4gPiA+ID4gV09BSCEgUGxlYXNlIERPIE5PVCBkZXByZWNh dGUgTk9NTVUuIEkgdXNlIHRoZSBOT01NVSBidWlsZCBjb25zdGFudGx5Cj4gPiA+ID4gPiA+ID4g YW5kIE5PTU1VIExpbnV4IG9uIFJJU0MtViBpcyB0aGUgYXZlbnVlIHVzZWQgYnkgbWFueSBGUEdB IHNvZnQgY29yZXMKPiA+ID4gPiA+ID4gPiBmb3IgTGludXgsIGFzIHdlbGwgYXMgc29tZSBsaW1p dGVkIHN5c3RlbXMuCj4gPiA+ID4gPgo+ID4gPiA+ID4gT0suCj4gPiA+ID4gPgo+ID4gPiA+ID4g SSBqdXN0IGJ1aWxkIHRlc3QgdGhpcyBzdHVmZiwgYXMgSSBkb24ndCByZWFsbHkgaGF2ZSBhIHVz ZSBmb3IgaXQKPiA+ID4gPiA+IHBlcnNvbmFsbHkuICBJIGZpZ3VyZWQgaWYgbm9ib2R5J3MgcmVw b3J0aW5nIGJ1Z3MgdGhlbiBwcm9iYWJseSBpdCdzIGJyb2tlbgo+ID4gPiA+ID4gYW5kIG5vYm9k eSdzIG5vdGljZWQgYmVjYXVzZSBub2JvZHkncyB1c2luZyBpdC4KPiA+ID4gPiA+Cj4gPiA+ID4g PiA+ID4gSSBnZXQgbmV3IGNvcGllcyBvZiB0aGUga2VybmVsIHdoZW4gdGhlcmUgYXJlIHJlbGVh c2VzIGFuZCB0ZXN0IHRoZW0KPiA+ID4gPiA+ID4gPiBmcmVxdWVudGx5IHRvIG1ha2Ugc3VyZSBl dmVyeXRoaW5nIGlzIHN0aWxsIHdvcmtpbmcgYXMgZXhwZWN0ZWQuCj4gPiA+ID4gPgo+ID4gPiA+ ID4gSSdkIGFjdHVhbGx5IGV4cGVjdGVkIGl0IHRvIGJlIGJyb2tlbiwgYnV0IEkgZ3Vlc3Mgd2Ug bWFuYWdlZCB0byBhdm9pZAo+ID4gPiA+ID4gc2NyZXdpbmcgdGhpbmdzIHVwIDspCj4gPiA+ID4g Pgo+ID4gPiA+ID4gPiA+IEZvciB1cyB3ZSBqdXN0IGRvbid0IGNhcmUgYWJvdXQgWElQLiBJIG1l YW4gaWYgc29tZW9uZSBkaWQgcHVzaCBpdAo+ID4gPiA+Cj4gPiA+ID4gSSBkb24ndCBjYXJlIFhJ UCBlaXRoZXIsIGFuZCBJTUhPIHRoZSBYSVAncyBtYWludGVuYW5jZSBlZmZvcnQgaXMgbXVjaAo+ ID4gPiA+IGJpZ2dlciB0aGFuIE5PTU1VKGp1c3QgY2hlY2sgdGhlIHZhcmlvdXMgWElQX0ZJWFVQ KiBvciBDT05GSUdfWElQX0tFUk5FTAo+ID4gPiA+IG1hY3JvcyBhcm91bmQgbG93bGV2ZWwgcGd0 YWJsZS5oLCBwYWdlLmgpLiBJZiB3ZSBjYW4gcmVtb3ZlIFhJUCwgdGhlCj4gPiA+ID4gY29kZSBy ZWFkYWJpbGl0eSB3aWxsIGJlIG11Y2ggYmV0dGVyLgo+ID4gPiA+Cj4gPiA+ID4gT3Igc2VuZGlu ZyBvdXQgYSBzaW1pbGFyIFhJUCBkZXByZWNhdGlvbiBwYXRjaCB0byBzZWUgd2hldGhlciB0aGVy ZSdzCj4gPiA+ID4gYW55IGNvbXBsYWluID8gOykKPiA+ID4gPgo+ID4gPiA+ID4gPiA+IHRocm91 Z2ggdG8gZnJ1aXRpb24sIEknZCBhbHNvIHRlc3QgYW5kIHVzZSBpdCwgYnV0IEkgdXJnZSB5b3Ug cGxlYXNlCj4gPiA+ID4gPiA+ID4gZG8gbm90IGRlcHJlY2F0ZSB0aGlzLiAgV2hpbGUgaXQncyBz b21ldGltZXMgbmVlZGVkIGEgYml0IG9mIGEKPiA+ID4gPgo+ID4gPiA+ICsxIGZvciB1cmdlIHRo ZSB1cHN0cmVhbSBwbGVhc2UgZG8gbm90IGRlcHJlY2F0ZSBOT01NVS4KPiA+ID4gPgo+ID4gPiA+ IEJlc2lkZXMgdGhlIHNvZnQoRlBHQSkgY29yZSBtZW50aW9uZWQgYnkgQ2hhcmxlcywgaGVyZSBp cyBhbm90aGVyIHJlYWwKPiA+ID4KPiA+ID4gQW5kIEknZCBsaWtlIHRvIHdyaXRlIG1vcmUgYWJv dXQgc29mdCBjb3JlOiByaXNjdiBpcyBhIGZyZWUgYW5kIG9wZW4KPiA+ID4gSVNBLCB0aGlzIG1h a2UgaXQgcmVhbGx5IGdvb2QgZm9yIGVkdWNhdGlvbiwgZm9yIHNpbXBsZSByaXNjdgo+ID4gPiBp bXBsZW1lbnRhdGlvbiBvciBlbXVsYXRvci4gT25jZSByaXNjdiBJTUEgaXMgaW1wbGVtZW50ZWQo ZXZlbiBpZiBNTVUsCj4gPiA+IGNhY2hlLCBUTEIgc3R1ZmYgZG9uJ3QgZXhpc3QpLCBpdCdzIG5v dCBmYXIgYXdheSBmcm9tIG1ha2luZyBsaW51eAo+ID4gPiBydW5uaW5nIG9uIHRoZSBGUEdBIG9y IGVtdWxhdG9yLiBJZiB0aGUgZ2FpbiBpcyBsYXJnZXIgdGhhbiB0aGUgbWFpbnRlbmFuY2UKPiA+ ID4gZWZmb3J0LCBJJ2QgbGlrZSB0byB1cmdlIGtlZXBpbmcgdGhlIE5PTU1VIHN1cHBvcnQuCj4g PiA+Cj4gPiA+IFRoYW5rcyBhIGxvdAo+ID4gPgo+ID4gPiA+IHVzYWdlIGNhc2U6IEFzIGlzIGtu b3duLCBTb3BoZ28gQ1YxODAwQiBwbGF0Zm9ybXMgc3VjaCBhcyBNaWxrIER1bwo+ID4gPiA+IGNv bnRhaW5zIHR3byBDOTA2IGNvcmUsIG9uZShhLmsuYSBiaWcgY29yZSkgd2l0aCBNTVUgYW5vdGhl cihhLmsuYSBzbWFsbAo+ID4gPiA+IGNvcmUpdy9vIE1NVS4gVGhlIHZlbmRvciBzZGsgcnVucyBm cmVlcnRvcyBvbiB0aGUgc21hbGwgY29yZSwgYnV0IGl0Cj4gPiA+ID4gZG9lc24ndCBwcmV2ZW50 IHVzZXJzIHRvIHJ1biBvdGhlciBPUyBzdWNoIGFzIHRocmVhZHgsIHplcGh5ciBvciBub21tdQo+ ID4gPiA+IGxpbnV4IG9uIHRoZSBzbWFsbCBjb3JlLiBJbiBmYWN0LCBJIHN1Y2Vzc2Z1bGx5IGJy b3VnaHQgdXAgbm9tbXUgbGludXgKPiA+ID4gPiBvbiB0aGUgc21hbGwgY29yZS4gSSBkaWRuJ3Qg anVzdCBzZW5kIG91dCB0aGUgcGF0Y2hlcyBpbiB0aW1lIGR1cmluZyB0aGlzCj4gPiA+ID4gZGV2 IHdpbmRvdyBkdW8gdG8gbXkgcGVyc29uYWwgY2FyZWVyIHJlYXNvbihJIHNwZW50IHRoZSB0aW1l IG9uIGh1bnRpbmcKPiA+ID4gPiBmb3IgYSBuZXcgam9iKQo+ID4gPiA+Cj4gPiA+ID4gSSBwbGFu IHRvIHNlbmQgb3V0IE5PTU1VIHJlbGF0ZWQgcGF0Y2hlcyBvbmNlIDYuOS1yYzEgaXMgb3V0Lgo+ ID4KPiA+IEFzIGlzIHByb21pc2VkLCB0aGUgTk9NTVUgaW1wcm92ZW1lbnQgcGF0Y2hlcyBhcmUg c2VudCBvdXQKPiA+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xpbnV4LXJpc2N2LzIwMjQwMzI1 MTY0MDIxLjMyMjktMS1qc3poYW5nQGtlcm5lbC5vcmcvVC8jdAo+ID4KPiA+IFRoYW5rcwo+ID4K PiA+ID4gPgo+ID4gPiA+ID4gPiA+IGNyZWF0aXZlIGJ1aWxkIHRvIGdldCBldmVyeXRoaW5nIHdv cmtpbmcsIEkndmUgbmV2ZXIgbmVlZGVkIHRvIHBhdGNoCj4gPiA+ID4gPiA+ID4gYW55dGhpbmcg aW4gdGhlIGtlcm5lbCBiZXlvbmQgcGF0Y2hpbmcgaW4gYSBjdXN0b20gY29uc29sZSBmb3Igc2Vy aWFsCj4gPiA+ID4gPiA+ID4gb3V0cHV0Lgo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+Cj4gPiA+ ID4gPiA+IEhleSBDaGFybGVzLAo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBObyB3b3JyaWVzLCB3 ZSBhY3R1YWxseSBkaWQgbm90IGV4cGVjdGVkIE5PTU1VIHRvIGhhdmUgKnNvIG1hbnkqIHVzZXJz Lgo+ID4gPiA+ID4gPiBJIGd1ZXNzIGRlcHJlY2F0aW5nIHN0dWZmIGlzIGEgZ29vZCB3YXkgdG8g aGF2ZSBpbW1lZGlhdGUgZmVlZGJhY2sgOykuCj4gPiA+ID4gPiA+IEhhdmluZyBGRFBJQyBwc0FC SSB0byBiZSBtZXJnZWQgdXBzdHJlYW0gY291bGQgYWxzbyBwcm9iYWJseSBiZSBhCj4gPiA+ID4g PiA+IHBvc2l0aXZlIHBvaW50IHRvd2FyZCBhIGJldHRlciBOT01NVSBzdXBwb3J0Lgo+ID4gPiA+ ID4KPiA+ID4gPiA+IFlhLCB0aGF0J3MgcHJvYmFibHkgdGhlIHJpZ2h0IHdheSB0byBkbyBpdC4g IFRvdWNoaW5nIGFueXRoaW5nIGluIHRoZSBwc0FCSQo+ID4gPiA+ID4gaXMgcHJldHR5IG1pc2Vy YWJsZSwgdGhvdWdoLCBzbyBJIGRvbid0IHJlYWxseSB3YW50IHRvIGZvcmNlIHBlb3BsZSB0byBk bwo+ID4gPiA+ID4gaXQuLi4KPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gSSBhbSBoYXBweSB0byBk aXNjdXNzIHRoZSBwb3NzaWJpbGl0eSBvZiBtZSBhbmQgb3Igb25lIG9mIHRoZSBvdGhlcgo+ID4g PiA+ID4gPiA+IFJJU0MtViBzb2Z0IChGUEdBKSBjb3JlIHBlb3BsZSBzdGVwcGluZyB1cCB0byB0 cnkgdG8gYmUgbW9yZSBhY3RpdmUsCj4gPiA+ID4gPiA+ID4gYnV0IHNvIGZhciB3ZSd2ZSBqdXN0 IGJlZW4gdmVyeSB3ZWxsIHNlcnZpY2VkIGJ5IHRoZSBjdXJyZW50IE5PTU1VCj4gPiA+ID4gPiA+ ID4gTGludXggc2V0dXAuCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IEl0IGNvdWxkIHByb2JhYmx5 IGJlIG5pY2UgdG8gaGF2ZSBzb21lIGZlZWRiYWNrL1Rlc3RlZC1ieTogZnJvbSBOT01NVQo+ID4g PiA+ID4gPiB1c2VycyBmb3IgbmV3IHJlbGVhc2VzIHRoZW4uCj4gPiA+ID4gPgo+ID4gPiA+ID4g SGF2aW5nIG1vcmUgdXBzdHJlYW0gaW50ZXJhY3Rpb24gZnJvbSB1c2VycyBpcyBhbHdheXMgYXBw cmVjaWF0ZWQsIHRoYXQncwo+ID4gPiA+ID4gdGhlIGJlc3Qgd2F5IHRvIHByb3ZlIHBlb3BsZSBh cmUgdXNpbmcgdGhlIGNvZGUuICBJZiB5b3UgZ3V5cyBoYXZlIHRoZSB0aW1lCj4gPiA+ID4gPiBp dCdkIGJlIGdyZWF0IHRvIGdldCB0aGlzIGludG8gc29tZSBzb3J0IG9mIENJLCBpZGVhbGx5IHJ1 bm5pbmcgb24gc29tZSByZWFsCj4gPiA+ID4gPiBwbGF0Zm9ybS4KPiA+ID4gPgo+ID4gPiA+IEFz IGFib3ZlLCBJJ2QgYWxzbyBsaWtlIHRvIHN0ZXAgdXAgb24gdGhlIE5PTU1VIHN0dWZmLCBhdCBs ZWFzdCB0ZXN0Cj4gPiA+ID4gbm9tbXUgb24gbWlsa3YgZHVvJ3Mgc21hbGwgY29yZS4gQW5kIGNh biBiZSBzZWVuIGZyb20gbXkgZ2l0IGNvbW1pdAo+ID4gPiA+IGhpc3RvdHJ5LCBJIHdhcyBhY3Rp dmUsIGFuZCBJIGJlbGl2ZSBJIHdpbGwgc3RpbGwgYmUgYWN0aXZlIG9uIHJpc2N2IGxpbnV4Cj4g PiA+ID4ga2VybmVsIGRldmVsb3BtZW50Lgo+ID4gPiA+Cj4gPiA+ID4gPgo+ID4gPiA+ID4gPiBU aGFua3MsCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IENsw6ltZW50Cj4gPiA+ID4gPiA+Cj4gPiA+ ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiBDaGFybGVzCj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4g Pgo+ID4gPiA+ID4gPiA+IE9uIE1vbiwgRmViIDI2LCAyMDI0IGF0IDg6MDPigK9BTSBDb25vciBE b29sZXkgPGNvbm9yQGtlcm5lbC5vcmc+IHdyb3RlOgo+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ ID4gPiA+IE9uIE1vbiwgRmViIDI2LCAyMDI0IGF0IDA0OjI1OjI0UE0gKzAxMDAsIENsw6ltZW50 IEzDqWdlciB3cm90ZToKPiA+ID4gPiA+ID4gPiA+ID4gSSBndWVzcyBJIGNvdWxkIGFsc28gbWFy ayBYSVAgYXMgZGVwcmVjYXRlZC4KPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiBJJ20g bm90IHNvIHN1cmUsIHBlb3BsZSByZWNlbnRseSBhZGRlZCBYSVAgc3VwcG9ydCB0byBRRU1VIChh bmQgc2VudAo+ID4gPiA+ID4gPiA+ID4ga2VybmVsIGZpeGVzIGluIERlY2VtYmVyKS4gWElQIGlz IGFsc28gbm90IG5lYXJseSBhcyBtdWNoIG9mIGEgcHJvYmxlbQo+ID4gPiA+ID4gPiA+ID4gdG8g c3VwcG9ydCwgdGhlcmUncyBmYXIgbGVzcyB0aGF0IGl0IGRvZXMgZGlmZmVyZW50bHksIHRoZSBt YWluIGJhcnJpZXIKPiA+ID4gPiA+ID4gPiA+IHdhcyB0aGUgaW5hYmlsaXR5IHRvIHRlc3QgaXQg d2hpY2ggaXMgbm8gbG9uZ2VyIHRoZSBjYXNlLgo+ID4gPiA+ID4gPiA+ID4gVGhhdCBzYWlkLCBY SVAgaXMgZ29ubmEga2lsbCBpdHNlbGYgb2ZmIEkgZmVlbCBhcyBpdCBkb2VzIG5vdCBzdXBwb3J0 Cj4gPiA+ID4gPiA+ID4gPiBydW50aW1lIHBhdGNoaW5nIGFuZCB0aGVyZWZvcmUgaXMgZXh0cmVt ZWx5IGxpbWl0ZWQgb24gZXh0ZW5zaW9ucywgZ2l2ZW4KPiA+ID4gPiA+ID4gPiA+IHdlIHVzZSBh bHRlcm5hdGl2ZXMgZm9yIGFsbCBvZiB0aGF0IChhbHRob3VnaCBJIHN1cHBvc2UgaWYgc29tZW9u ZSBoYXMgYQo+ID4gPiA+ID4gPiA+ID4gdXNlY2FzZSB0aGV5IGNvdWxkIG1ha2UgbmFzdHkgbWFj cm9zIHdvcnNlIGFuZCBpbXBsZW1lbnQgYSBjb21waWxldGltZQo+ID4gPiA+ID4gPiA+ID4gc3dp dGNoIGluIHRoZSBhbHRlcm5hdGl2ZXMgdG9vKS4KPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ ID4gPiBDaGVlcnMsCj4gPiA+ID4gPiA+ID4gPiBDb25vci4KPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ ID4gPiA+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwo+ID4gPiA+ID4gPiA+ID4gbGludXgtcmlzY3YgbWFpbGluZyBsaXN0Cj4gPiA+ID4gPiA+ID4g PiBsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCj4gPiA+ID4gPiA+ID4gPiBodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJpc2N2Cj4gPiA+ID4g Pgo+ID4gPiA+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KPiA+ID4gPiA+IGxpbnV4LXJpc2N2IG1haWxpbmcgbGlzdAo+ID4gPiA+ID4gbGludXgtcmlz Y3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwo+ID4gPiA+ID4gaHR0cDovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KbGludXgtcmlzY3YgbWFpbGluZyBsaXN0CmxpbnV4LXJp c2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1h bi9saXN0aW5mby9saW51eC1yaXNjdgo=