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 0F14DC61DF4 for ; Fri, 24 Nov 2023 12:52:18 +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: Subject:Cc:To:From:Message-ID:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=miVVoRhgpT4tDTjEG+sSg25J5yikzxlpwSffrtcRRiQ=; b=SFZi24FwtJwkYR GFlQQN0DO7V9o8wdPSj+CEVp0ThY7HQATprrBOsRApxeSOHTr8Xnnz/y5070uAPuXo0GgvCEHgyTs OhhbR5ctx1qfXh4c+ABuSMKov26TvvX4vNVxZDhrjh66MEtdRLXlIn2n5bwyUlUrIy+pz1Naym/7h jgW7wmwFIpXIn3gz+GBHn6H8Vzbo6JngXaQft3wGu/Ny3fV9AfzmjvX2MswdSGSeiailTaHY+xOGI QU+P4E8O53/wNWhseSgYDT9Zv110c2UG31ycAOOrMsLSrQ9+q+AnuQItmLNjbs59Wjq9oJUIx7NQd A1FJszPxBdlxshLChDqQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r6Ves-007Eun-24; Fri, 24 Nov 2023 12:51:46 +0000 Received: from ams.source.kernel.org ([2604:1380:4601:e00::1]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1r6Veo-007Esf-1q for linux-arm-kernel@lists.infradead.org; Fri, 24 Nov 2023 12:51:44 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by ams.source.kernel.org (Postfix) with ESMTP id 1D79FB83013; Fri, 24 Nov 2023 12:51:41 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5A9F0C433C7; Fri, 24 Nov 2023 12:51:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1700830300; bh=n0Ppb7Aek1/yhyaQZkBlGoo+37tHLU7EMg+F1uxGOjA=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=j3m3bFuo4rUyQrN1owEAUZA5fnueyTULAdpuBoF/36vKr1cmh3bCsWWkf89MUwG3K A5qE5xcG/1xB5REVGYMpC50mi4n8DV0H2caY4zYS/ENTtzGG1/TRo4Ake9f2Ywu6pf 3jJN3XhVIAYtSHlNHsS6w8MfE9Z4aznofzaueNUcgK35VveWzCYofmN8P1kJFuq/wy vT+PtM7c8X1vBBBYjLlMYaXuaa1HqEALbxI8xyTmRtrJ7JhtMMsXznJ/81mWwgz3Mr DkJa9fyR3r6kKT9YsJ1UdW297cknouSdrYl2LcmIAf2zNaO9dv/LaPxsujk8J0m6MU 5dxJussLgKadw== Received: from sofa.misterjones.org ([185.219.108.64] helo=goblin-girl.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1r6Vej-00G68i-V8; Fri, 24 Nov 2023 12:51:38 +0000 Date: Fri, 24 Nov 2023 12:51:36 +0000 Message-ID: <86o7fjco13.wl-maz@kernel.org> From: Marc Zyngier To: Ganapatrao Kulkarni Cc: Miguel Luis , "kvmarm@lists.linux.dev" , "kvm@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , Alexandru Elisei , Andre Przywara , Chase Conklin , Christoffer Dall , Darren Hart , Jintack Lim , Russell King , James Morse , Suzuki K Poulose , Oliver Upton , Zenghui Yu Subject: Re: [PATCH v11 00/43] KVM: arm64: Nested Virtualization support (FEAT_NV2 only) In-Reply-To: <65dc2a93-0a17-4433-b3a5-430bf516ffe9@os.amperecomputing.com> References: <20231120131027.854038-1-maz@kernel.org> <86msv7ylnu.wl-maz@kernel.org> <05733774-4210-4097-9912-fb3aa8542fdd@oracle.com> <86a5r4zafh.wl-maz@kernel.org> <134912e4-beed-4ab6-8ce1-33e69ec382b3@os.amperecomputing.com> <868r6nzc5y.wl-maz@kernel.org> <65dc2a93-0a17-4433-b3a5-430bf516ffe9@os.amperecomputing.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/29.1 (aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: gankulkarni@os.amperecomputing.com, miguel.luis@oracle.com, kvmarm@lists.linux.dev, kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, alexandru.elisei@arm.com, andre.przywara@arm.com, chase.conklin@arm.com, christoffer.dall@arm.com, darren@os.amperecomputing.com, jintack@cs.columbia.edu, rmk+kernel@armlinux.org.uk, james.morse@arm.com, suzuki.poulose@arm.com, oliver.upton@linux.dev, yuzenghui@huawei.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231124_045142_873462_0738590E X-CRM114-Status: GOOD ( 31.61 ) 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 T24gRnJpLCAyNCBOb3YgMjAyMyAxMjozNDo0MSArMDAwMCwKR2FuYXBhdHJhbyBLdWxrYXJuaSA8 Z2Fua3Vsa2FybmlAb3MuYW1wZXJlY29tcHV0aW5nLmNvbT4gd3JvdGU6Cj4gCj4gCj4gCj4gT24g MjQtMTEtMjAyMyAwMzo0OSBwbSwgTWFyYyBaeW5naWVyIHdyb3RlOgo+ID4gT24gRnJpLCAyNCBO b3YgMjAyMyAwOTo1MDozMyArMDAwMCwKPiA+IEdhbmFwYXRyYW8gS3Vsa2FybmkgPGdhbmt1bGth cm5pQG9zLmFtcGVyZWNvbXB1dGluZy5jb20+IHdyb3RlOgo+ID4+IAo+ID4+IAo+ID4+IAo+ID4+ IE9uIDIzLTExLTIwMjMgMTA6MTQgcG0sIE1hcmMgWnluZ2llciB3cm90ZToKPiA+Pj4gT24gVGh1 LCAyMyBOb3YgMjAyMyAxNjoyMTo0OCArMDAwMCwKPiA+Pj4gTWlndWVsIEx1aXMgPG1pZ3VlbC5s dWlzQG9yYWNsZS5jb20+IHdyb3RlOgo+ID4+Pj4gCj4gPj4+PiBIaSBNYXJjLAo+ID4+Pj4gCj4g Pj4+PiBPbiAyMS8xMS8yMDIzIDE4OjAyLCBNYXJjIFp5bmdpZXIgd3JvdGU6Cj4gPj4+Pj4gT24g VHVlLCAyMSBOb3YgMjAyMyAxNjo0OTo1MiArMDAwMCwKPiA+Pj4+PiBNaWd1ZWwgTHVpcyA8bWln dWVsLmx1aXNAb3JhY2xlLmNvbT4gd3JvdGU6Cj4gPj4+Pj4+IEhpIE1hcmMsCj4gPj4+Pj4+IAo+ ID4+Pj4+Pj4gT24gMjAgTm92IDIwMjMsIGF0IDEyOjA5LCBNYXJjIFp5bmdpZXIgPG1hekBrZXJu ZWwub3JnPiB3cm90ZToKPiA+Pj4+Pj4+IAo+ID4+Pj4+Pj4gVGhpcyBpcyB0aGUgNXRoIGRyb3Ag b2YgTlYgc3VwcG9ydCBvbiBhcm02NCBmb3IgdGhpcyB5ZWFyLCBhbmQgbW9zdAo+ID4+Pj4+Pj4g cHJvYmFibHkgdGhlIGxhc3Qgb25lIGZvciB0aGlzIHNpZGUgb2YgQ2hyaXN0bWFzLgo+ID4+Pj4+ Pj4gCj4gPj4+Pj4+PiBGb3IgdGhlIHByZXZpb3VzIGVwaXNvZGVzLCBzZWUgWzFdLgo+ID4+Pj4+ Pj4gCj4gPj4+Pj4+PiBXaGF0J3MgY2hhbmdlZDoKPiA+Pj4+Pj4+IAo+ID4+Pj4+Pj4gLSBEcm9w IHN1cHBvcnQgZm9yIHRoZSBvcmlnaW5hbCBGRUFUX05WLiBObyBleGlzdGluZyBoYXJkd2FyZSBz dXBwb3J0cwo+ID4+Pj4+Pj4gICAgaXQgd2l0aG91dCBGRUFUX05WMiwgYW5kIHRoZSBhcmNoaXRl Y3R1cmUgaXMgZGVwcmVjYXRpbmcgdGhlIGZvcm1lcgo+ID4+Pj4+Pj4gICAgZW50aXJlbHkuIFRo aXMgcmVzdWx0cyBpbiBmZXdlciBwYXRjaGVzLCBhbmQgYSBzbGlnaHRseSBzaW1wbGVyCj4gPj4+ Pj4+PiAgICBtb2RlbCBvdmVyYWxsLgo+ID4+Pj4+Pj4gCj4gPj4+Pj4+PiAtIFJlb3JnYW5pc2Ug dGhlIHNlcmllcyB0byBtYWtlIGl0IGEgYml0IG1vcmUgbG9naWNhbCBub3cgdGhhdCBGRUFUX05W Cj4gPj4+Pj4+PiAgICBpcyBnb25lLgo+ID4+Pj4+Pj4gCj4gPj4+Pj4+PiAtIEFwcGx5IHRoZSBO ViBpZHJlZyByZXN0cmljdGlvbnMgb24gVk0gZmlyc3QgcnVuIHJhdGhlciB0aGFuIG9uIGVhY2gK PiA+Pj4+Pj4+ICAgIGFjY2Vzcy4KPiA+Pj4+Pj4+IAo+ID4+Pj4+Pj4gLSBNYWtlIHRoZSBuZXN0 ZWQgdmdpYyBzaGFkb3cgQ1BVIGludGVyZmFjZSBhIHBlci1DUFUgc3RydWN0dXJlIHJhdGhlcgo+ ID4+Pj4+Pj4gICAgdGhhbiBwZXItdmNwdS4KPiA+Pj4+Pj4+IAo+ID4+Pj4+Pj4gLSBGaXggdGhl IEVMMCB0aW1lciBmYXN0cGF0aAo+ID4+Pj4+Pj4gCj4gPj4+Pj4+PiAtIFdvcmsgYXJvdW5kIHRo ZSBhcmNoaXRlY3R1cmUgZGVmaWNpZW5jaWVzIHdoZW4gdHJhcHBpbmcgV0ZJIGZyb20gYQo+ID4+ Pj4+Pj4gICAgTDIgZ3Vlc3QuCj4gPj4+Pj4+PiAKPiA+Pj4+Pj4+IC0gRml4IHNhbXBsaW5nIG9m IG5lc3RlZCB2Z2ljIHN0YXRlIChNSVNSLCBFTFJTUiwgRUlTUikKPiA+Pj4+Pj4+IAo+ID4+Pj4+ Pj4gLSBEcm9wIHRoZSBwYXRjaGVzIHRoYXQgaGF2ZSBhbHJlYWR5IGJlZW4gbWVyZ2VkIChOViB0 cmFwIGZvcndhcmRpbmcsCj4gPj4+Pj4+PiAgICBwZXItTU1VIFZUQ1IpCj4gPj4+Pj4+PiAKPiA+ Pj4+Pj4+IC0gUmViYXNlZCBvbiB0b3Agb2YgNi43LXJjMiArIHRoZSBGRUFUX0UySDAgc3VwcG9y dCBbMl0uCj4gPj4+Pj4+PiAKPiA+Pj4+Pj4+IFRoZSBicmFuY2ggY29udGFpbmluZyB0aGVzZSBw YXRjaGVzIChhbmQgbW9yZSkgaXMgYXQgWzNdLiBBcyBmb3IgdGhlCj4gPj4+Pj4+PiBwcmV2aW91 cyByb3VuZHMsIG15IGludGVudGlvbiBpcyB0byB0YWtlIGEgcHJlZml4IG9mIHRoaXMgc2VyaWVz IGludG8KPiA+Pj4+Pj4+IDYuOCwgcHJvdmlkZWQgdGhhdCBpdCBnZXRzIGVub3VnaCByZXZpZXdp bmcuCj4gPj4+Pj4+PiAKPiA+Pj4+Pj4+IFsxXSBodHRwczovL2xvcmUua2VybmVsLm9yZy9yLzIw MjMwNTE1MTczMTAzLjEwMTc2NjktMS1tYXpAa2VybmVsLm9yZwo+ID4+Pj4+Pj4gWzJdIGh0dHBz Oi8vbG9yZS5rZXJuZWwub3JnL3IvMjAyMzExMjAxMjM3MjEuODUxNzM4LTEtbWF6QGtlcm5lbC5v cmcKPiA+Pj4+Pj4+IFszXSBodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2Vy bmVsL2dpdC9tYXovYXJtLXBsYXRmb3Jtcy5naXQvbG9nLz9oPWt2bS1hcm02NC9udi02LjgtbnYy LW9ubHkKPiA+Pj4+Pj4+IAo+ID4+Pj4+PiBXaGlsZSBJIHdhcyB0ZXN0aW5nIHRoaXMgd2l0aCBr dm10b29sIGZvciA1LjE2IEkgbm90ZWQgdGhlIGZvbGxvd2luZyBvbiBkbWVzZzoKPiA+Pj4+Pj4g Cj4gPj4+Pj4+IFsgIDgwMy4wMTQyNThdIGt2bSBbMTkwNDBdOiBVbnN1cHBvcnRlZCBndWVzdCBz eXNfcmVnIGFjY2VzcyBhdDogODEyOWZhNTAgWzYwMDAwM2M5XQo+ID4+Pj4+PiAgICAgICAgICAg ICAgICAgICB7IE9wMCggMyksIE9wMSggNSksIENSbiggMSksIENSbSggMCksIE9wMiggMiksIGZ1 bmNfcmVhZCB9LAo+ID4+Pj4+PiAKPiA+Pj4+Pj4gVGhpcyBpcyBDUEFDUl9FTDEyLgo+ID4+Pj4+ IENQQUNSX0VMMTIgaXMgcmVkaXJlY3RlZCB0byBWTkNSWzB4MTAwXS4gSXQgcmVhbGx5IHNob3Vs ZG4ndCB0cmFwLi4uCj4gPj4+Pj4gCj4gPj4+Pj4+IFN0aWxsIG5lZWQgeWV0IHRvIGRlYnVnLgo+ ID4+Pj4+IENhbiB5b3UgZGlzYXNzZW1ibGUgdGhlIGd1ZXN0IGFyb3VuZCB0aGUgb2ZmZW5kaW5n IFBDPwo+ID4+Pj4gCj4gPj4+PiBbIDEyNDguNjg2MzUwXSBrdm0gWzcwMTNdOiBVbnN1cHBvcnRl ZCBndWVzdCBzeXNfcmVnIGFjY2VzcyBhdDogODEyYmFhNTAgWzYwMDAwM2M5XQo+ID4+Pj4gICDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgeyBPcDAoIDMpLCBPcDEoIDUpLCBDUm4oIDEp LCBDUm0oIDApLCBPcDIoIDIpLCBmdW5jX3JlYWQgfSwKPiA+Pj4+IAo+ID4+Pj4gICDCoDEyYmFh MDA6wqDCoMKgIDE0MDAwMDA4IMKgwqDCoCBiwqDCoMKgIDB4MTJiYWEyMAo+ID4+Pj4gICDCoDEy YmFhMDQ6wqDCoMKgIGQwMDBkNTAxIMKgwqDCoCBhZHJwwqDCoMKgIHgxLCAweDJkNWMwMDAKPiA+ Pj4+ICAgwqAxMmJhYTA4OsKgwqDCoCA5MTE1NDAyMSDCoMKgwqAgYWRkwqDCoMKgIHgxLCB4MSwg IzB4NTUwCj4gPj4+PiAgIMKgMTJiYWEwYzrCoMKgwqAgZjk0MDAwMjIgwqDCoMKgIGxkcsKgwqDC oCB4MiwgW3gxXQo+ID4+Pj4gICDCoDEyYmFhMTA6wqDCoMKgIGY5NDAwNDIxIMKgwqDCoCBsZHLC oMKgwqAgeDEsIFt4MSwgIzhdCj4gPj4+PiAgIMKgMTJiYWExNDrCoMKgwqAgOGEwMTAwNDIgwqDC oMKgIGFuZMKgwqDCoCB4MiwgeDIsIHgxCj4gPj4+PiAgIMKgMTJiYWExODrCoMKgwqAgZDM0NDFj NDIgwqDCoMKgIHViZnjCoMKgwqAgeDIsIHgyLCAjNCwgIzQKPiA+Pj4+ICAgwqAxMmJhYTFjOsKg wqDCoCBiNDAwMDA4MiDCoMKgwqAgY2J6wqDCoMKgIHgyLCAweDEyYmFhMmMKPiA+Pj4+ICAgwqAx MmJhYTIwOsKgwqDCoCBkMmExNzVhMCDCoMKgwqAgbW92wqDCoMKgIHgwLCAjMHhiYWQwMDAwwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIMKgwqDCoCAvLyAjMTk1ODg3MTA0Cj4gPj4+PiAgIMKgMTJi YWEyNDrCoMKgwqAgZjI5OTQyMjAgwqDCoMKgIG1vdmvCoMKgwqAgeDAsICMweGNhMTEKPiA+Pj4+ ICAgwqAxMmJhYTI4OsKgwqDCoCBkNjlmMDNlMCDCoMKgwqAgZXJldAo+ID4+Pj4gICDCoDEyYmFh MmM6wqDCoMKgIGQyYzAwMDgwIMKgwqDCoCBtb3bCoMKgwqAgeDAsICMweDQwMDAwMDAwMMKgwqDC oMKgwqDCoMKgwqDCoMKgIMKgwqDCoCAvLyAjMTcxNzk4NjkxODQKPiA+Pj4+ICAgwqAxMmJhYTMw OsKgwqDCoCBmMmIxMDAwMCDCoMKgwqAgbW92a8KgwqDCoCB4MCwgIzB4ODgwMCwgbHNsICMxNgo+ ID4+Pj4gICDCoDEyYmFhMzQ6wqDCoMKgIGYyODAwMDAwIMKgwqDCoCBtb3ZrwqDCoMKgIHgwLCAj MHgwCj4gPj4+PiAgIMKgMTJiYWEzODrCoMKgwqAgZDUxYzExMDAgwqDCoMKgIG1zcsKgwqDCoCBo Y3JfZWwyLCB4MAo+ID4+Pj4gICDCoDEyYmFhM2M6wqDCoMKgIGQ1MDMzZmRmIMKgwqDCoCBpc2IK Cl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5e Xl5eXl5eXl4KVGhpcy4KCj4gPj4+PiAgIMKgMTJiYWE0MDrCoMKgwqAgZDUzYzQxMDAgwqDCoMKg IG1yc8KgwqDCoCB4MCwgc3BfZWwxCj4gPj4+PiAgIMKgMTJiYWE0NDrCoMKgwqAgOTEwMDAwMWYg wqDCoMKgIG1vdsKgwqDCoCBzcCwgeDAKPiA+Pj4+ICAgwqAxMmJhYTQ4OsKgwqDCoCBkNTM4ZDA4 MCDCoMKgwqAgbXJzwqDCoMKgIHgwLCB0cGlkcl9lbDEKPiA+Pj4+ICAgwqAxMmJhYTRjOsKgwqDC oCBkNTFjZDA0MCDCoMKgwqAgbXNywqDCoMKgIHRwaWRyX2VsMiwgeDAKPiA+Pj4+ICAgwqAxMmJh YTUwOsKgwqDCoCBkNTNkMTA0MCDCoMKgwqAgbXJzwqDCoMKgIHgwLCBjcGFjcl9lbDEyCj4gPj4+ PiAgIMKgMTJiYWE1NDrCoMKgwqAgZDUxODEwNDAgwqDCoMKgIG1zcsKgwqDCoCBjcGFjcl9lbDEs IHgwCj4gPj4+PiAgIMKgMTJiYWE1ODrCoMKgwqAgZDUzZGMwMDAgwqDCoMKgIG1yc8KgwqDCoCB4 MCwgdmJhcl9lbDEyCj4gPj4+PiAgIMKgMTJiYWE1YzrCoMKgwqAgZDUxOGMwMDAgwqDCoMKgIG1z csKgwqDCoCB2YmFyX2VsMSwgeDAKPiA+Pj4+ICAgwqAxMmJhYTYwOsKgwqDCoCBkNTNjMTEyMCDC oMKgwqAgbXJzwqDCoMKgIHgwLCBtZGNyX2VsMgo+ID4+Pj4gICDCoDEyYmFhNjQ6wqDCoMKgIDky NzJmNDAwIMKgwqDCoCBhbmTCoMKgwqAgeDAsIHgwLCAjMHhmZmZmZmZmZmZmZmZjZmZmCj4gPj4+ PiAgIMKgMTJiYWE2ODrCoMKgwqAgOTI2NmY0MDAgwqDCoMKgIGFuZMKgwqDCoCB4MCwgeDAsICMw eGZmZmZmZmZmZmNmZmZmZmYKPiA+Pj4+ICAgwqAxMmJhYTZjOsKgwqDCoCBkNTFjMTEyMCDCoMKg wqAgbXNywqDCoMKgIG1kY3JfZWwyLCB4MAo+ID4+Pj4gICDCoDEyYmFhNzA6wqDCoMKgIGQ1M2Qy MDQwIMKgwqDCoCBtcnPCoMKgwqAgeDAsIHRjcl9lbDEyCj4gPj4+PiAgIMKgMTJiYWE3NDrCoMKg wqAgZDUxODIwNDAgwqDCoMKgIG1zcsKgwqDCoCB0Y3JfZWwxLCB4MAo+ID4+Pj4gICDCoDEyYmFh Nzg6wqDCoMKgIGQ1M2QyMDAwIMKgwqDCoCBtcnPCoMKgwqAgeDAsIHR0YnIwX2VsMTIKPiA+Pj4+ ICAgwqAxMmJhYTdjOsKgwqDCoCBkNTE4MjAwMCDCoMKgwqAgbXNywqDCoMKgIHR0YnIwX2VsMSwg eDAKPiA+Pj4+ICAgwqAxMmJhYTgwOsKgwqDCoCBkNTNkMjAyMCDCoMKgwqAgbXJzwqDCoMKgIHgw LCB0dGJyMV9lbDEyCj4gPj4+PiAgIMKgMTJiYWE4NDrCoMKgwqAgZDUxODIwMjAgwqDCoMKgIG1z csKgwqDCoCB0dGJyMV9lbDEsIHgwCj4gPj4+PiAgIMKgMTJiYWE4ODrCoMKgwqAgZDUzZGEyMDAg wqDCoMKgIG1yc8KgwqDCoCB4MCwgbWFpcl9lbDEyCj4gPj4+PiAgIMKgMTJiYWE4YzrCoMKgwqAg ZDUxOGEyMDAgwqDCoMKgIG1zcsKgwqDCoCBtYWlyX2VsMSwgeDAKPiA+Pj4+ICAgwqAxMmJhYTkw OsKgwqDCoCBkNTM4MDc2MSDCoMKgwqAgbXJzwqDCoMKgIHgxLCBzM18wX2MwX2M3XzMKPiA+Pj4+ ICAgwqAxMmJhYTk0OsKgwqDCoCBkMzQwMGMyMSDCoMKgwqAgdWJmeMKgwqDCoCB4MSwgeDEsICMw LCAjNAo+ID4+Pj4gICDCoDEyYmFhOTg6wqDCoMKgIGI0MDAwMTQxIMKgwqDCoCBjYnrCoMKgwqAg eDEsIDB4MTJiYWFjMAo+ID4+Pj4gICDCoDEyYmFhOWM6wqDCoMKgIGQ1M2QyMDYwIMKgwqDCoCBt cnPCoMKgwqAgeDAsIHMzXzVfYzJfYzBfMwo+ID4+PiAKPiA+Pj4gT0ssIHRoaXMgaXMgc3VzcGlj aW91c2x5IGNsb3NlIHRvIHRoZSBsb2NhdGlvbiBHYW5hcGF0cmFvIHdhcyBoYXZpbmcKPiA+Pj4g aXNzdWVzIHdpdGguIEFyZSB5b3UgcnVubmluZyBvbiB0aGUgc2FtZSBoYXJkd2FyZT8KPiA+Pj4g Cj4gPj4+IEluIGFueSBjYXNlLCB3ZSBzaG91bGQgbmV2ZXIgdGFrZSBhIHRyYXAgZm9yIHRoaXMg YWNjZXNzLiBDYW4geW91IGR1bXAKPiA+Pj4gSENSX0VMMiBhdCB0aGUgcG9pbnQgd2hlcmUgdGhl IGd1ZXN0IHRyYXBzIChpbiBzd2l0Y2guYyk/Cj4gPj4+IAo+ID4+IAo+ID4+IEkgaGF2ZSBkdW1w ZWQgSENSX0VMMiBiZWZvcmUgZW50cnkgdG8gTDEgaW4gYm90aCBWMTEgYW5kIFYxMC4KPiA+PiBv biBWMTAgSENSX0VMMj0weDI3NDNjODI3YzI2M2YKPiA+PiBvbiBWMTEgSENSX0VMMj0weDI3YzNj ODI3YzI2M2YKPiA+PiAKPiA+PiBvbiBWMTEgdGhlIGZ1bmN0aW9uIHZjcHVfZWwyX2UyaF9pc19z ZXQodmNwdSkgaXMgcmV0dXJuaW5nIGZhbHNlCj4gPj4gcmVzdWx0aW5nIGluIE5WMSBiaXQgc2V0 IGFsb25nIHdpdGggTlYgYW5kIE5WMi4KPiA+PiBBRkFJSywgRm9yIEwxIHRvIGJlIGluIFZIRSwg TlYxIGJpdCBzaG91bGQgYmUgemVybyBhbmQgTlY9TlYyPTEuCj4gPj4gCj4gPj4gSSBjb3VsZCBi b290IEwxIHRoZW4gTDIsIGlmIEkgaGFjayB2Y3B1X2VsMl9lMmhfaXNfc2V0IHRvIHJldHVybiB0 cnVlLgo+ID4+IFRoZXJlIGNvdWxkIGJlIGEgYnVnIGluIFYxMSBvciBFMkgwIHBhdGNoc2V0IHJl c3VsdGluZyBpbgo+ID4+IHZjcHVfZWwyX2UyaF9pc19zZXQoKSByZXR1cm5pbmcgZmFsc2U/Cj4g PiAKPiA+IFRoZSBFMkgwIHNlcmllcyBzaG91bGQgb25seSBmb3JjZSB2Y3B1X2VsMl9lMmhfaXNf c2V0KCkgdG8gcmV0dXJuCj4gPiB0cnVlLCBidXQgbm90IHNldCBpdCB0byBmYWxzZS4gQ2FuIHlv dSBkdW1wIHRoZSAqZ3Vlc3QncyogdmVyc2lvbiBvZgo+ID4gSENSX0VMMiBhdCB0aGlzIHBvaW50 Pwo+ID4gCj4gCj4gd2l0aCBWMTE6IHZoY3JfZWwyPTB4MTAwMDMwMDgwMDAwMDAwIG1hc2s9MHgx MDBhZjAwZmZmZmZmZmYKCkhvdyBpcyB0aGlzIHZhbHVlIHBvc3NpYmxlIGlmIHRoZSB3cml0ZSB0 byBIQ1JfRUwyIGhhcyB0YWtlbiBwbGFjZT8KV2hlbiBkbyB5b3Ugc2FtcGxlIHRoaXM/Cgo+IHdp dGggVjEwOiB2aGNyX2VsMj0weDQ4ODAwMDAwMAo+IHdpdGggaGFjaytWMTE6IHZoY3JfZWwyPTB4 NDg4MDAwMDAwIG1hc2s9MHgxMDBhZjAwZmZmZmZmZmYKCldlbGwsIG9mIGNvdXJzZSwgaWYgeW91 IGNvbnN0cmFpbiB0aGUgdmFsdWUgb2YgSENSX0VMMi4uLgoKCU0uCgotLSAKV2l0aG91dCBkZXZp YXRpb24gZnJvbSB0aGUgbm9ybSwgcHJvZ3Jlc3MgaXMgbm90IHBvc3NpYmxlLgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBt YWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9s aXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=