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 X-Spam-Level: X-Spam-Status: No, score=-14.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8C5ECC4320A for ; Wed, 11 Aug 2021 10:15:56 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 515C660D07 for ; Wed, 11 Aug 2021 10:15:56 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 515C660D07 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org 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=SLYknJ0FWipALuWyUntdYAz2E1ESfzN48SDqHig0DII=; b=t/3uSRHgFr9tNg uiQelsDpF+8rP8o0m5P1i75dUIgzUViSlnIaSsMq/bnfWqRjV8XevMtwSppqIgruSURJW3JgJqRmQ fZZ7ULybB0QsCt7trrUQ9dVxJ+6FY866hncIWrDFjY9tzKFQy+OK2tfZkii4IJeh6E/6eRWAya4l+ JKmzVnJvz0rUSKIM/qe6ICv7bmWTg7pH77q7Hz1v7rV7RtmFEF7zve5xVojYLA8e+68YP8cqvLF+Q BRh/eiVbYkAZLANiv9Y0mMBYpndnqcRGZrJ2Kcj8o3+gwW/SkTq99J3oQDvm1WNz7bWcne//ZCsoU CsmSlHUx0XmRwcxz3ZnA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mDlF6-006ZmG-2K; Wed, 11 Aug 2021 10:13:48 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mDlEs-006Zhq-64 for linux-arm-kernel@lists.infradead.org; Wed, 11 Aug 2021 10:13:35 +0000 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id CB58160D07; Wed, 11 Aug 2021 10:13:31 +0000 (UTC) Received: from sofa.misterjones.org ([185.219.108.64] helo=why.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1mDlEn-004I9g-Oc; Wed, 11 Aug 2021 11:13:29 +0100 Date: Wed, 11 Aug 2021 11:13:29 +0100 Message-ID: <87sfzg9tme.wl-maz@kernel.org> From: Marc Zyngier To: Anshuman Khandual Cc: linux-arm-kernel@lists.infradead.org, James Morse , Alexandru Elisei , Suzuki K Poulose , Catalin Marinas , Will Deacon , kvmarm@lists.cs.columbia.edu, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/5] KVM: arm64: Drop direct PAGE_[SHIFT|SIZE] usage as page size In-Reply-To: <4a4d320e-f09c-5198-d3cb-397d837190b1@arm.com> References: <1628578961-29097-1-git-send-email-anshuman.khandual@arm.com> <1628578961-29097-2-git-send-email-anshuman.khandual@arm.com> <25ee7799069492f2501003faec7f9732@kernel.org> <0b47c654-7e9b-a7ca-bdf4-f9607062200e@arm.com> <87zgto9z9i.wl-maz@kernel.org> <4a4d320e-f09c-5198-d3cb-397d837190b1@arm.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/27.1 (x86_64-pc-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: anshuman.khandual@arm.com, linux-arm-kernel@lists.infradead.org, james.morse@arm.com, alexandru.elisei@arm.com, suzuki.poulose@arm.com, catalin.marinas@arm.com, will@kernel.org, kvmarm@lists.cs.columbia.edu, linux-kernel@vger.kernel.org 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-20210811_031334_322662_012F7CB8 X-CRM114-Status: GOOD ( 41.70 ) 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 T24gV2VkLCAxMSBBdWcgMjAyMSAxMDozNzozNiArMDEwMCwKQW5zaHVtYW4gS2hhbmR1YWwgPGFu c2h1bWFuLmtoYW5kdWFsQGFybS5jb20+IHdyb3RlOgo+IAo+IAo+IAo+IE9uIDgvMTEvMjEgMTo0 MSBQTSwgTWFyYyBaeW5naWVyIHdyb3RlOgo+ID4gT24gV2VkLCAxMSBBdWcgMjAyMSAwNjozNDo0 NiArMDEwMCwKPiA+IEFuc2h1bWFuIEtoYW5kdWFsIDxhbnNodW1hbi5raGFuZHVhbEBhcm0uY29t PiB3cm90ZToKPiA+Pgo+ID4+Cj4gPj4KPiA+PiBPbiA4LzEwLzIxIDc6MDMgUE0sIE1hcmMgWnlu Z2llciB3cm90ZToKPiA+Pj4gT24gMjAyMS0wOC0xMCAwODowMiwgQW5zaHVtYW4gS2hhbmR1YWwg d3JvdGU6Cj4gPj4+PiBBbGwgaW5zdGFuY2VzIGhlcmUgY291bGQganVzdCBkaXJlY3RseSB0ZXN0 IGFnYWluc3QgQ09ORklHX0FSTTY0X1hYS19QQUdFUwo+ID4+Pj4gaW5zdGVhZCBvZiBldmFsdWF0 aW5nIHZpYSBQQUdFX1NISUZUIG9yIFBBR0VfU0laRS4gV2l0aCB0aGlzIGNoYW5nZSwgdGhlcmUK PiA+Pj4+IHdpbGwgYmUgbm8gc3VjaCB1c2FnZSBsZWZ0Lgo+ID4+Pj4KPiA+Pj4+IENjOiBNYXJj IFp5bmdpZXIgPG1hekBrZXJuZWwub3JnPgo+ID4+Pj4gQ2M6IEphbWVzIE1vcnNlIDxqYW1lcy5t b3JzZUBhcm0uY29tPgo+ID4+Pj4gQ2M6IEFsZXhhbmRydSBFbGlzZWkgPGFsZXhhbmRydS5lbGlz ZWlAYXJtLmNvbT4KPiA+Pj4+IENjOiBTdXp1a2kgSyBQb3Vsb3NlIDxzdXp1a2kucG91bG9zZUBh cm0uY29tPgo+ID4+Pj4gQ2M6IENhdGFsaW4gTWFyaW5hcyA8Y2F0YWxpbi5tYXJpbmFzQGFybS5j b20+Cj4gPj4+PiBDYzogV2lsbCBEZWFjb24gPHdpbGxAa2VybmVsLm9yZz4KPiA+Pj4+IENjOiBs aW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKPiA+Pj4+IENjOiBrdm1hcm1AbGlz dHMuY3MuY29sdW1iaWEuZWR1Cj4gPj4+PiBDYzogbGludXgta2VybmVsQHZnZXIua2VybmVsLm9y Zwo+ID4+Pj4gU2lnbmVkLW9mZi1ieTogQW5zaHVtYW4gS2hhbmR1YWwgPGFuc2h1bWFuLmtoYW5k dWFsQGFybS5jb20+Cj4gPj4+PiAtLS0KPiA+Pj4+IMKgYXJjaC9hcm02NC9rdm0vaHlwL3BndGFi bGUuYyB8IDYgKysrLS0tCj4gPj4+PiDCoGFyY2gvYXJtNjQvbW0vbW11LmPCoMKgwqDCoMKgwqDC oMKgwqAgfCAyICstCj4gPj4+PiDCoDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0 IGRlbGV0aW9ucygtKQo+ID4+Pj4KPiA+Pj4+IGRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2t2bS9o eXAvcGd0YWJsZS5jIGIvYXJjaC9hcm02NC9rdm0vaHlwL3BndGFibGUuYwo+ID4+Pj4gaW5kZXgg MDUzMjFmNDE2NWUzLi5hNjExMmI2ZDZlZjYgMTAwNjQ0Cj4gPj4+PiAtLS0gYS9hcmNoL2FybTY0 L2t2bS9oeXAvcGd0YWJsZS5jCj4gPj4+PiArKysgYi9hcmNoL2FybTY0L2t2bS9oeXAvcGd0YWJs ZS5jCj4gPj4+PiBAQCAtODUsNyArODUsNyBAQCBzdGF0aWMgYm9vbCBrdm1fbGV2ZWxfc3VwcG9y dHNfYmxvY2tfbWFwcGluZyh1MzIgbGV2ZWwpCj4gPj4+PiDCoMKgwqDCoMKgICogUmVqZWN0IGlu dmFsaWQgYmxvY2sgbWFwcGluZ3MgYW5kIGRvbid0IGJvdGhlciB3aXRoIDRUQiBtYXBwaW5ncyBm b3IKPiA+Pj4+IMKgwqDCoMKgwqAgKiA1Mi1iaXQgUEFzLgo+ID4+Pj4gwqDCoMKgwqDCoCAqLwo+ ID4+Pj4gLcKgwqDCoCByZXR1cm4gIShsZXZlbCA9PSAwIHx8IChQQUdFX1NJWkUgIT0gU1pfNEsg JiYgbGV2ZWwgPT0gMSkpOwo+ID4+Pj4gK8KgwqDCoCByZXR1cm4gIShsZXZlbCA9PSAwIHx8ICgh SVNfRU5BQkxFRChDT05GSUdfQVJNNjRfNEtfUEFHRVMpICYmIGxldmVsID09IDEpKTsKPiA+Pj4+ IMKgfQo+ID4+Pj4KPiA+Pj4+IMKgc3RhdGljIGJvb2wga3ZtX2Jsb2NrX21hcHBpbmdfc3VwcG9y dGVkKHU2NCBhZGRyLCB1NjQgZW5kLCB1NjQgcGh5cywgdTMyIGxldmVsKQo+ID4+Pj4gQEAgLTE1 NSw3ICsxNTUsNyBAQCBzdGF0aWMgdTY0IGt2bV9wdGVfdG9fcGh5cyhrdm1fcHRlX3QgcHRlKQo+ ID4+Pj4gwqB7Cj4gPj4+PiDCoMKgwqDCoCB1NjQgcGEgPSBwdGUgJiBLVk1fUFRFX0FERFJfTUFT SzsKPiA+Pj4+Cj4gPj4+PiAtwqDCoMKgIGlmIChQQUdFX1NISUZUID09IDE2KQo+ID4+Pj4gK8Kg wqDCoCBpZiAoSVNfRU5BQkxFRChDT05GSUdfQVJNNjRfNjRLX1BBR0VTKSkKPiA+Pj4+IMKgwqDC oMKgwqDCoMKgwqAgcGEgfD0gRklFTERfR0VUKEtWTV9QVEVfQUREUl81MV80OCwgcHRlKSA8PCA0 ODsKPiA+Pj4+Cj4gPj4+PiDCoMKgwqDCoCByZXR1cm4gcGE7Cj4gPj4+PiBAQCAtMTY1LDcgKzE2 NSw3IEBAIHN0YXRpYyBrdm1fcHRlX3Qga3ZtX3BoeXNfdG9fcHRlKHU2NCBwYSkKPiA+Pj4+IMKg ewo+ID4+Pj4gwqDCoMKgwqAga3ZtX3B0ZV90IHB0ZSA9IHBhICYgS1ZNX1BURV9BRERSX01BU0s7 Cj4gPj4+Pgo+ID4+Pj4gLcKgwqDCoCBpZiAoUEFHRV9TSElGVCA9PSAxNikKPiA+Pj4+ICvCoMKg wqAgaWYgKElTX0VOQUJMRUQoQ09ORklHX0FSTTY0XzY0S19QQUdFUykpCj4gPj4+PiDCoMKgwqDC oMKgwqDCoMKgIHB0ZSB8PSBGSUVMRF9QUkVQKEtWTV9QVEVfQUREUl81MV80OCwgcGEgPj4gNDgp Owo+ID4+Pj4KPiA+Pj4+IMKgwqDCoMKgIHJldHVybiBwdGU7Cj4gPj4+PiBkaWZmIC0tZ2l0IGEv YXJjaC9hcm02NC9tbS9tbXUuYyBiL2FyY2gvYXJtNjQvbW0vbW11LmMKPiA+Pj4+IGluZGV4IDlm ZjBkZTFiMmI5My4uOGZkZmNhMTc5ODE1IDEwMDY0NAo+ID4+Pj4gLS0tIGEvYXJjaC9hcm02NC9t bS9tbXUuYwo+ID4+Pj4gKysrIGIvYXJjaC9hcm02NC9tbS9tbXUuYwo+ID4+Pj4gQEAgLTI5Niw3 ICsyOTYsNyBAQCBzdGF0aWMgdm9pZCBhbGxvY19pbml0X2NvbnRfcG1kKHB1ZF90ICpwdWRwLAo+ ID4+Pj4gdW5zaWduZWQgbG9uZyBhZGRyLAo+ID4+Pj4gwqBzdGF0aWMgaW5saW5lIGJvb2wgdXNl XzFHX2Jsb2NrKHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBuZXh0LAo+ID4+Pj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGxvbmcgcGh5cykKPiA+Pj4+IMKgewo+ ID4+Pj4gLcKgwqDCoCBpZiAoUEFHRV9TSElGVCAhPSAxMikKPiA+Pj4+ICvCoMKgwqAgaWYgKCFJ U19FTkFCTEVEKENPTkZJR19BUk02NF80S19QQUdFUykpCj4gPj4+PiDCoMKgwqDCoMKgwqDCoMKg IHJldHVybiBmYWxzZTsKPiA+Pj4+Cj4gPj4+PiDCoMKgwqDCoCBpZiAoKChhZGRyIHwgbmV4dCB8 IHBoeXMpICYgflBVRF9NQVNLKSAhPSAwKQo+ID4+Pgo+ID4+PiBJIHBlcnNvbmFsbHkgZmluZCBp dCBhIGxvdCBsZXNzIHJlYWRhYmxlLgo+ID4+Pgo+ID4+PiBBbHNvLCB0aGVyZSBpcyBubyBldmFs dWF0aW9uIHdoYXRzb2V2ZXIuIEFsbCB0aGUgY29kZSBndWFyZGVkCj4gPj4+IGJ5IGEgUEFHRV9T SVpFL1BBR0VfU0hJRlQgdGhhdCBkb2Vzbid0IG1hdGNoIHRoZSBjb25maWd1cmF0aW9uCj4gPj4+ IGlzIGRyb3BwZWQgYXQgY29tcGlsZSB0aW1lLgo+ID4+Cj4gPj4gVGhlIHByaW1hcnkgaWRlYSBo ZXJlIGlzIHRvIHVuaWZ5IGFyb3VuZCBJU19FTkFCTEVEKENPTkZJR19BUk02NF9YWEtfUEFHRVMp Cj4gPj4gdXNhZ2UgaW4gYXJtNjQsIHJhdGhlciB0aGFuIGhhdmluZyBtdWx0aXBsZSBtZXRob2Rz IHRvIHRlc3QgcGFnZSBzaXplIHdoZW4KPiA+PiBldmVyIHJlcXVpcmVkLgo+ID4gCj4gPiBJJ20g c29ycnksIGJ1dCBJIGZpbmQgdGhlIGlkaW9tIGV4dHJlbWVseSBwYWluZnVsIHRvIHBhcnNlLiBJ ZiB5b3UgYXJlCj4gCj4gT2theSwgaXQgd2FzIG5vdCBleHBsYWluZWQgdmVyeSB3ZWxsLiBNeSBi YWQuCj4gCj4gPiBhbm5veWVkIHdpdGggdGhlICdQQUdFX1NISUZUID09IDEyLzE0LzE2JywgY29u c2lkZXIgcmVwbGFjaW5nIGl0IHdpdGgKPiA+ICdQQUdFX1NJWkUgPT0gU1pfNC8xNi82NEsnIGlu c3RlYWQuCj4gCj4gU3VyZSwgdW5kZXJzdG9vZC4gQnV0IHRoZSBwcm9ibGVtIGhlcmUgaXMgbm90 IHdpdGggUEFHRV9TSElGVC9QQUdFX1NJWkUKPiBiYXNlZCB0ZXN0cyBidXQgcmF0aGVyIGhhdmlu ZyBtdWx0aXBsZSB3YXlzIG9mIGRvaW5nIHRoZSBzYW1lIHRoaW5nIGluCj4gYXJtNjQgdHJlZS4g UGxlYXNlIGZpbmQgZnVydGhlciBleHBsYW5hdGlvbiBiZWxvdy4KPiAKPiA+IAo+ID4gSVNfRU5B QkxFRChDT05GSUdfQVJNNjRfWFhLX1BBR0VTKSBhbHNvIGdpdmVzIHRoZSB3cm9uZyBpbXByZXNz aW9uCj4gPiB0aGF0ICptdWx0aXBsZSogcGFnZSBzaXplcyBjYW4gYmUgc2VsZWN0ZWQgYXQgYW55 IGdpdmVuIHRpbWUuIFRoYXQncwo+ID4gb2J2aW91c2x5IG5vdCB0aGUgY2FzZSwgd2hpY2ggYWN0 dWFsbHkgbWFrZXMgUEFHRV9TSVpFIGEgbXVjaCBiZXR0ZXIKPiA+IGNob2ljZS4KPiAKPiBQQUdF X1NISUZUIGFuZCBQQUdFX1NJWkUgYXJlIGRlcml2ZWQgZnJvbSBDT05GSUdfQVJNNjRfWFhLX1BB R0VTLiBIZW5jZQo+IHdoeSBub3QganVzdCBkaXJlY3RseSB1c2UgdGhlIG9yaWdpbmFsIHVzZXIg c2VsZWN0ZWQgY29uZmlnIG9wdGlvbiB0aGF0Cj4gZXZlbnR1YWxseSBkZWNpZGVzIFBBR0VfU0hJ RlQgYW5kIFBBR0VfU0laRS4KPiAKPiBjb25maWcgQVJNNjRfUEFHRV9TSElGVAo+ICAgICAgICAg aW50Cj4gICAgICAgICBkZWZhdWx0IDE2IGlmIEFSTTY0XzY0S19QQUdFUwo+ICAgICAgICAgZGVm YXVsdCAxNCBpZiBBUk02NF8xNktfUEFHRVMKPiAgICAgICAgIGRlZmF1bHQgMTIKPiAKPiBhcmNo L2FybTY0L2luY2x1ZGUvYXNtL3BhZ2UtZGVmLmg6I2RlZmluZSBQQUdFX1NISUZUCUNPTkZJR19B Uk02NF9QQUdFX1NISUZUCj4gYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9wYWdlLWRlZi5oOiNkZWZp bmUgUEFHRV9TSVpFCShfQUMoMSwgVUwpIDw8IFBBR0VfU0hJRlQpCgpJJ20gc29ycnksIGJ1dCB0 aGF0J3Mgb25seSBhIGJ1aWxkIHN5c3RlbSBhcnRlZmFjdC4gUEFHRV9TSVpFL1NISUZUIGlzCndo YXQgd2UgdXNlIGluIHRoZSBrZXJuZWwgYXQgbGFyZ2UsIG5vdCBJU19FTkFCTEVEKEJMQUgpLiBJ dCBpcyBzaG9ydCwKdG8gdGhlIHBvaW50LCBhbmQgaXQgaXMgZ3VhcmFudGVlZCB0byBiZSB3aGF0 IGl0IHNheXMgb24gdGhlIHRpbi4KCklmIGJ5IHNvbWUgbWlyYWNsZSB5b3Ugd2VyZSBnb2luZyB0 byBlbmFibGUgbXVsdGlwbGUgKnNpbXVsdGFuZW91cyoKcGFnZSBzaXplcyBzdXBwb3J0IGluIHRo ZSBhcm02NCBrZXJuZWwsIEknZCBjZXJ0YWlubHkgbG9vayBhdCB0aGluZ3MKZGlmZmVyZW50bHku IFRoYW5rZnVsbHksIHRoaXMgaXNuJ3QgdGhlIGNhc2UuCgo+IEFsc28gdGhlcmUgYXJlIGFscmVh ZHkgc2ltaWxhciBJU19FTkFCTEVEKCkgaW5zdGFuY2VzIHdoaWNoIGRvIG5vdAo+IGNyZWF0ZSBt dWNoIGNvbmZ1c2lvbi4gVGhlIHBvaW50IGhlcmUgYmVpbmcsIHRvIGhhdmUganVzdCBhIHNpbmds ZQo+IG1ldGhvZCB0aGF0IGNoZWNrcyBjb21waWxlZCBwYWdlIHNpemUgc3VwcG9ydCwgaW5zdGVh ZCBvZiB0aHJlZQo+IGRpZmZlcmVudCB3YXlzIG9mIGRvaW5nIHRoZSBzYW1lIHRoaW5nLgo+IAo+ IC0gSVNfRU5BQkxFRChDT05GSUdfQVJNNjRfWFhLX1BBR0VTKQo+IC0gaWYgKFBBR0VfU0hJRlQg PT0gWFgpCj4gLSBpZiAoUEFHRV9TSVpFID09IFhYKQo+IAo+ICRnaXQgZ3JlcCBJU19FTkFCTEVE IGFyY2gvYXJtNjQvIHwgZ3JlcCBQQUdFUwo+IAo+IGFyY2gvYXJtNjQvaW5jbHVkZS9hc20vdm1h bGxvYy5oOglyZXR1cm4gSVNfRU5BQkxFRChDT05GSUdfQVJNNjRfNEtfUEFHRVMpICYmCj4gYXJj aC9hcm02NC9tbS9tbXUuYzoJCUJVR19PTighSVNfRU5BQkxFRChDT05GSUdfQVJNNjRfMTZLX1BB R0VTKSk7Cj4gYXJjaC9hcm02NC9tbS9tbXUuYzoJCUJVR19PTighSVNfRU5BQkxFRChDT05GSUdf QVJNNjRfMTZLX1BBR0VTKSk7CgozIGluc3RhbmNlcyBhcmUgaGFyZGx5IGEgY29udmluY2luZyBh cmd1bWVudC4KCm1hekBob3QtcG9vcDp+L2FybS1wbGF0Zm9ybXMkIGdpdCBncmVwIC13IFBBR0Vf U0laRSB8IGdyZXAgICc9PSBTWicKYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL25vaGFzaC8zMi9t bXUtOHh4Lmg6CWlmIChQQUdFX1NJWkUgPT0gU1pfMTZLKQpmcy9idHJmcy9kaXNrLWlvLmM6CWlm ICgoUEFHRV9TSVpFID09IFNaXzRLICYmIHNlY3RvcnNpemUgIT0gUEFHRV9TSVpFKSB8fApmcy9i dHJmcy9kaXNrLWlvLmM6CSAgICAoUEFHRV9TSVpFID09IFNaXzY0SyAmJiAoc2VjdG9yc2l6ZSAh PSBTWl80SyAmJgpmcy9idHJmcy9kaXNrLWlvLmM6CWlmIChQQUdFX1NJWkUgPT0gU1pfNjRLICYm IHNlY3RvcnNpemUgPT0gU1pfNEspIHsKCkxvb2ssIEkgd2luISA6LSkKCj4gPiAKPiA+IEFzIHRo aW5ncyBzdGFuZCwgSSBkb24ndCBwbGFuIHRvIHRha2Ugc3VjaCBhIHBhdGNoLgo+IAo+IFN1cmUs IHdpbGwgZHJvcCBpdCBmcm9tIHRoZSBzZXJpZXMgaWYgdGhlIGFib3ZlIGV4cGxhbmF0aW9uIGFu ZAo+IHRoZSByYXRpb25hbGUgZm9yIHRoZSBwYXRjaCBzdGlsbCBkb2VzIG5vdCBjb252aW5jZSB5 b3UuCgpJdCByZWFsbHkgZG9lc24ndC4gVGhpcyBpcyBvbmx5IGEgYmlrZS1zaGVkZGluZyBleGVy Y2lzZSwgd2hpY2gKaW50cm9kdWNlIHBvaW50bGVzcyBjaHVybi4KClRoYW5rcywKCglNLgoKLS0g CldpdGhvdXQgZGV2aWF0aW9uIGZyb20gdGhlIG5vcm0sIHByb2dyZXNzIGlzIG5vdCBwb3NzaWJs ZS4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4 LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFk Lm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFy bS1rZXJuZWwK