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 8483FC433EF for ; Tue, 22 Feb 2022 16:02:35 +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=IEUJQ7Ky5uHDmnGWwKHS2CnXTQgA/De4xmtIz4SuSjg=; b=z60tpBeUthOUIc NhzRu795eDXOOG9d5ovTl54Df3t5bJPjSptmWjKaqm5ZAkqMAI6m1NqNxAVWWWBcqtJIljEvFSpwd kNSsAwoLEQM+6skDmnC043zBMjMe5iOMEjc2ispXz78bqJCG7s36EnuItuff9NXhoviIRt1oGsxfX 7A/lRS5YneB5JTKcGfOzmexadIWl3+bL2AhN3IrRm9cHr9anbHghz3sWQIwWRfaHH7VZapzixzkQe s/dWra2ztK7+BIxiZNwHXO1AsGiXJ9EL19m57ORG5cZOehOljBK1fp0M7FnZHdJI4Ga2P098OYQEa 9DRmWPOwH8Qb2Avn9BdQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nMXau-00AUJI-2E; Tue, 22 Feb 2022 16:00:52 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nMXVt-00ARjU-Oq for linux-arm-kernel@lists.infradead.org; Tue, 22 Feb 2022 15:55:43 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 4D53E616B6; Tue, 22 Feb 2022 15:55:41 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5D56FC340E8; Tue, 22 Feb 2022 15:55:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1645545340; bh=RJA6ZkYjDIYFFxzsjixQVqgf1ASSN+bxfAwsS7ajMEU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=R74R33zk5s5+bk0rSsXoh7tckfi2nKiYAr0yyryh4tOt+q2p/2/LwR9AtEXs48zZh ab2HDBT6q/VJ1HOL8mZmHfO2YCYYMkN3nhP08eEkffB3lnA3L4942dQfeOGn6XXQy8 CU9Xbjy7VIbxR1niGZbhdKU5OalMu7BQRVOLVTnBvkUhrZb4S1NKGxSYEaj89Vql6A +znm0XipjFw+romCqmq1EaoFRNw1AdPpjwt44a/MAL9cjLN+zj98HhUnapOcSD/OU9 2+LaxmvBxCYBZmJFxtpdHTDcAeMdxuGUM0w4c80ebBv2R21lR0WPSYdYiHIZoVxLhN 0y89H4IigQBog== Received: by pali.im (Postfix) id E8ACFFDB; Tue, 22 Feb 2022 16:55:37 +0100 (CET) Date: Tue, 22 Feb 2022 16:55:37 +0100 From: Pali =?utf-8?B?Um9ow6Fy?= To: Lorenzo Pieralisi Cc: robh+dt@kernel.org, Bjorn Helgaas , Thomas Petazzoni , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , Marek =?utf-8?B?QmVow7pu?= , Russell King , Marc Zyngier , linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v2 10/11] PCI: mvebu: Implement support for legacy INTx interrupts Message-ID: <20220222155537.tohm2huegiqseao5@pali> References: <20220112151814.24361-1-pali@kernel.org> <20220112151814.24361-11-pali@kernel.org> <20220211171917.GA740@lpieralisi> <20220211175202.gku5pkwn5wmjo5al@pali> <20220216234039.stxv5ndd6ai23sbb@pali> <20220222102057.GA17238@lpieralisi> <20220222105129.jg5kwmhvhggsv72n@pali> <20220222152409.GA18799@lpieralisi> <20220222154226.mwu7d3silgmwzeqc@pali> <20220222154553.GA19919@lpieralisi> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20220222154553.GA19919@lpieralisi> User-Agent: NeoMutt/20180716 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220222_075541_935242_2026C293 X-CRM114-Status: GOOD ( 58.27 ) 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 T24gVHVlc2RheSAyMiBGZWJydWFyeSAyMDIyIDE1OjQ1OjUzIExvcmVuem8gUGllcmFsaXNpIHdy b3RlOgo+IE9uIFR1ZSwgRmViIDIyLCAyMDIyIGF0IDA0OjQyOjI2UE0gKzAxMDAsIFBhbGkgUm9o w6FyIHdyb3RlOgo+ID4gT24gVHVlc2RheSAyMiBGZWJydWFyeSAyMDIyIDE1OjI0OjA5IExvcmVu em8gUGllcmFsaXNpIHdyb3RlOgo+ID4gPiBPbiBUdWUsIEZlYiAyMiwgMjAyMiBhdCAxMTo1MToy OUFNICswMTAwLCBQYWxpIFJvaMOhciB3cm90ZToKPiA+ID4gPiBPbiBUdWVzZGF5IDIyIEZlYnJ1 YXJ5IDIwMjIgMTA6MjE6MDYgTG9yZW56byBQaWVyYWxpc2kgd3JvdGU6Cj4gPiA+ID4gPiBPbiBU aHUsIEZlYiAxNywgMjAyMiBhdCAxMjo0MDozOUFNICswMTAwLCBQYWxpIFJvaMOhciB3cm90ZToK PiA+ID4gPiA+ID4gT24gRnJpZGF5IDExIEZlYnJ1YXJ5IDIwMjIgMTg6NTI6MDIgUGFsaSBSb2jD oXIgd3JvdGU6Cj4gPiA+ID4gPiA+ID4gT24gRnJpZGF5IDExIEZlYnJ1YXJ5IDIwMjIgMTc6MTk6 MTcgTG9yZW56byBQaWVyYWxpc2kgd3JvdGU6Cj4gPiA+ID4gPiA+ID4gPiBPbiBXZWQsIEphbiAx MiwgMjAyMiBhdCAwNDoxODoxM1BNICswMTAwLCBQYWxpIFJvaMOhciB3cm90ZToKPiA+ID4gPiA+ ID4gPiA+ID4gVGhpcyBhZGRzIHN1cHBvcnQgZm9yIGxlZ2FjeSBJTlR4IGludGVycnVwdHMgcmVj ZWl2ZWQgZnJvbSBvdGhlciBQQ0llCj4gPiA+ID4gPiA+ID4gPiA+IGRldmljZXMgYW5kIHdoaWNo IGFyZSByZXBvcnRlZCBieSBhIG5ldyBJTlR4IGlycSBjaGlwLgo+ID4gPiA+ID4gPiA+ID4gPiAK PiA+ID4gPiA+ID4gPiA+ID4gV2l0aCB0aGlzIGNoYW5nZSwga2VybmVsIGNhbiBkaXN0aW5ndWlz aCBiZXR3ZWVuIElOVEEsIElOVEIsIElOVEMgYW5kIElOVEQKPiA+ID4gPiA+ID4gPiA+ID4gaW50 ZXJydXB0cy4KPiA+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiA+IE5vdGUgdGhhdCBm b3IgdGhpcyBzdXBwb3J0LCBkZXZpY2UgdHJlZSBmaWxlcyBoYXMgdG8gYmUgcHJvcGVybHkgYWRq dXN0ZWQKPiA+ID4gPiA+ID4gPiA+ID4gdG8gcHJvdmlkZSAiaW50ZXJydXB0cyIgb3IgImludGVy cnVwdHMtZXh0ZW5kZWQiIHByb3BlcnR5IHdpdGggaW50eAo+ID4gPiA+ID4gPiA+ID4gPiBpbnRl cnJ1cHQgc291cmNlLCAiaW50ZXJydXB0LW5hbWVzIiBwcm9wZXJ0eSB3aXRoICJpbnR4IiBzdHJp bmcgYW5kIGFsc28KPiA+ID4gPiA+ID4gPiA+ID4gJ2ludGVycnVwdC1jb250cm9sbGVyJyBzdWJu b2RlIG11c3QgYmUgZGVmaW5lZC4KPiA+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiA+ IElmIGRldmljZSB0cmVlIGZpbGVzIGRvIG5vdCBwcm92aWRlIHRoZXNlIG5vZGVzIHRoZW4gZHJp dmVyIHdvdWxkIHdvcmsgYXMKPiA+ID4gPiA+ID4gPiA+ID4gYmVmb3JlLgo+ID4gPiA+ID4gPiA+ ID4gCj4gPiA+ID4gPiA+ID4gPiBOaXQ6IHRoaXMgaW5mb3JtYXRpb24gaXMgbm90IHVzZWZ1bC4g RFQgcnVsZXMgYXJlIHdyaXR0ZW4gaW4gRFQKPiA+ID4gPiA+ID4gPiA+IGJpbmRpbmdzLCBub3Qg aW4ga2VybmVsIGNvbW1pdCBsb2dzLiBBbGwgSSBhbSBzYXlpbmcgaXMgdGhhdCBmaXJtd2FyZQo+ ID4gPiA+ID4gPiA+ID4gZGV2ZWxvcGVycyBzaG91bGQgbm90IGhhdmUgdG8gcmVhZCB0aGlzIGxv ZyB0byB3cml0ZSBmaXJtd2FyZS4KPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBJdCB3YXMg bm90IGludGVuZGVkIGZvciBmaXJtd2FyZSBkZXZlbG9wZXJzLCBidXQgZm9yIHJldmlld2VycyBv ZiB0aGlzCj4gPiA+ID4gPiA+ID4gcGF0Y2ggdG8gdW5kZXJzdGFuZCwgd2hhdCBpcyBoYXBwZW5p bmcgaW4gY29kZSBhbmQgdGhhdCB3aXRoIG9sZCBEVAo+ID4gPiA+ID4gPiA+IGZpbGVzIHRoaXMg cGF0Y2ggZG9lcyBub3QgY2hhbmdlIGRyaXZlciBiZWhhdmlvciAoPSB3b3JrIGFzIGJlZm9yZSku Cj4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFBhbGkgUm9o w6FyIDxwYWxpQGtlcm5lbC5vcmc+Cj4gPiA+ID4gPiA+ID4gPiA+IC0tLQo+ID4gPiA+ID4gPiA+ ID4gPiAgZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2ktbXZlYnUuYyB8IDE4NSArKysrKysrKysr KysrKysrKysrKysrKysrKystLQo+ID4gPiA+ID4gPiA+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDE3 NyBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQo+ID4gPiA+ID4gPiA+ID4gPiAKPiA+ID4g PiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpLW12ZWJ1 LmMgYi9kcml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaS1tdmVidS5jCj4gPiA+ID4gPiA+ID4gPiA+ IGluZGV4IDFlOTBhYjg4ODA3NS4uZGJiNmVjYjRjYjcwIDEwMDY0NAo+ID4gPiA+ID4gPiA+ID4g PiAtLS0gYS9kcml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaS1tdmVidS5jCj4gPiA+ID4gPiA+ID4g PiA+ICsrKyBiL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpLW12ZWJ1LmMKPiA+ID4gPiA+ID4g PiA+ID4gQEAgLTU0LDkgKzU0LDEwIEBACj4gPiA+ID4gPiA+ID4gPiA+ICAJIFBDSUVfQ09ORl9B RERSX0VOKQo+ID4gPiA+ID4gPiA+ID4gPiAgI2RlZmluZSBQQ0lFX0NPTkZfREFUQV9PRkYJMHgx OGZjCj4gPiA+ID4gPiA+ID4gPiA+ICAjZGVmaW5lIFBDSUVfSU5UX0NBVVNFX09GRgkweDE5MDAK PiA+ID4gPiA+ID4gPiA+ID4gKyNkZWZpbmUgUENJRV9JTlRfVU5NQVNLX09GRgkweDE5MTAKPiA+ ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4gTml0OiBJIHVuZGVyc3RhbmQgaXQgaXMgdGVt cHRpbmcgYnV0IGhlcmUgeW91IGFyZSByZWRlZmluaW5nIG9yIGJldHRlcgo+ID4gPiA+ID4gPiA+ ID4gZ2l2aW5nIGEgcHJvcGVyIGxhYmVsIHRvIGEgcmVnaXN0ZXIuIFNlcGFyYXRlIHBhdGNoIHBs ZWFzZS4KPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBPayEKPiA+ID4gPiA+ID4gPiAKPiA+ ID4gPiA+ID4gPiA+ID4gKyNkZWZpbmUgIFBDSUVfSU5UX0lOVFgoaSkJCUJJVCgyNCtpKQo+ID4g PiA+ID4gPiA+ID4gPiAgI2RlZmluZSAgUENJRV9JTlRfUE1fUE1FCQlCSVQoMjgpCj4gPiA+ID4g PiA+ID4gPiA+IC0jZGVmaW5lIFBDSUVfTUFTS19PRkYJCTB4MTkxMAo+ID4gPiA+ID4gPiA+ID4g Cj4gPiA+ID4gPiA+ID4gPiBTZWUgYWJvdmUuCj4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4g PiA+ID4gLSNkZWZpbmUgIFBDSUVfTUFTS19FTkFCTEVfSU5UUyAgICAgICAgICAweDBmMDAwMDAw Cj4gPiA+ID4gPiA+ID4gPiA+ICsjZGVmaW5lICBQQ0lFX0lOVF9BTExfTUFTSwkJR0VOTUFTSygz MSwgMCkKPiA+ID4gPiA+ID4gPiA+ID4gICNkZWZpbmUgUENJRV9DVFJMX09GRgkJMHgxYTAwCj4g PiA+ID4gPiA+ID4gPiA+ICAjZGVmaW5lICBQQ0lFX0NUUkxfWDFfTU9ERQkJMHgwMDAxCj4gPiA+ ID4gPiA+ID4gPiA+ICAjZGVmaW5lICBQQ0lFX0NUUkxfUkNfTU9ERQkJQklUKDEpCj4gPiA+ID4g PiA+ID4gPiA+IEBAIC0xMTAsNiArMTExLDkgQEAgc3RydWN0IG12ZWJ1X3BjaWVfcG9ydCB7Cj4g PiA+ID4gPiA+ID4gPiA+ICAJc3RydWN0IG12ZWJ1X3BjaWVfd2luZG93IGlvd2luOwo+ID4gPiA+ ID4gPiA+ID4gPiAgCXUzMiBzYXZlZF9wY2llX3N0YXQ7Cj4gPiA+ID4gPiA+ID4gPiA+ICAJc3Ry dWN0IHJlc291cmNlIHJlZ3M7Cj4gPiA+ID4gPiA+ID4gPiA+ICsJc3RydWN0IGlycV9kb21haW4g KmludHhfaXJxX2RvbWFpbjsKPiA+ID4gPiA+ID4gPiA+ID4gKwlyYXdfc3BpbmxvY2tfdCBpcnFf bG9jazsKPiA+ID4gPiA+ID4gPiA+ID4gKwlpbnQgaW50eF9pcnE7Cj4gPiA+ID4gPiA+ID4gPiA+ ICB9Owo+ID4gPiA+ID4gPiA+ID4gPiAgCj4gPiA+ID4gPiA+ID4gPiA+ICBzdGF0aWMgaW5saW5l IHZvaWQgbXZlYnVfd3JpdGVsKHN0cnVjdCBtdmVidV9wY2llX3BvcnQgKnBvcnQsIHUzMiB2YWws IHUzMiByZWcpCj4gPiA+ID4gPiA+ID4gPiA+IEBAIC0yMzUsNyArMjM5LDcgQEAgc3RhdGljIHZv aWQgbXZlYnVfcGNpZV9zZXR1cF93aW5zKHN0cnVjdCBtdmVidV9wY2llX3BvcnQgKnBvcnQpCj4g PiA+ID4gPiA+ID4gPiA+ICAKPiA+ID4gPiA+ID4gPiA+ID4gIHN0YXRpYyB2b2lkIG12ZWJ1X3Bj aWVfc2V0dXBfaHcoc3RydWN0IG12ZWJ1X3BjaWVfcG9ydCAqcG9ydCkKPiA+ID4gPiA+ID4gPiA+ ID4gIHsKPiA+ID4gPiA+ID4gPiA+ID4gLQl1MzIgY3RybCwgbG5rY2FwLCBjbWQsIGRldl9yZXYs IG1hc2s7Cj4gPiA+ID4gPiA+ID4gPiA+ICsJdTMyIGN0cmwsIGxua2NhcCwgY21kLCBkZXZfcmV2 LCB1bm1hc2s7Cj4gPiA+ID4gPiA+ID4gPiA+ICAKPiA+ID4gPiA+ID4gPiA+ID4gIAkvKiBTZXR1 cCBQQ0llIGNvbnRyb2xsZXIgdG8gUm9vdCBDb21wbGV4IG1vZGUuICovCj4gPiA+ID4gPiA+ID4g PiA+ICAJY3RybCA9IG12ZWJ1X3JlYWRsKHBvcnQsIFBDSUVfQ1RSTF9PRkYpOwo+ID4gPiA+ID4g PiA+ID4gPiBAQCAtMjg4LDEwICsyOTIsMzAgQEAgc3RhdGljIHZvaWQgbXZlYnVfcGNpZV9zZXR1 cF9odyhzdHJ1Y3QgbXZlYnVfcGNpZV9wb3J0ICpwb3J0KQo+ID4gPiA+ID4gPiA+ID4gPiAgCS8q IFBvaW50IFBDSWUgdW5pdCBNQlVTIGRlY29kZSB3aW5kb3dzIHRvIERSQU0gc3BhY2UuICovCj4g PiA+ID4gPiA+ID4gPiA+ICAJbXZlYnVfcGNpZV9zZXR1cF93aW5zKHBvcnQpOwo+ID4gPiA+ID4g PiA+ID4gPiAgCj4gPiA+ID4gPiA+ID4gPiA+IC0JLyogRW5hYmxlIGludGVycnVwdCBsaW5lcyBB LUQuICovCj4gPiA+ID4gPiA+ID4gPiA+IC0JbWFzayA9IG12ZWJ1X3JlYWRsKHBvcnQsIFBDSUVf TUFTS19PRkYpOwo+ID4gPiA+ID4gPiA+ID4gPiAtCW1hc2sgfD0gUENJRV9NQVNLX0VOQUJMRV9J TlRTOwo+ID4gPiA+ID4gPiA+ID4gPiAtCW12ZWJ1X3dyaXRlbChwb3J0LCBtYXNrLCBQQ0lFX01B U0tfT0ZGKTsKPiA+ID4gPiA+ID4gPiA+ID4gKwkvKiBNYXNrIGFsbCBpbnRlcnJ1cHQgc291cmNl cy4gKi8KPiA+ID4gPiA+ID4gPiA+ID4gKwltdmVidV93cml0ZWwocG9ydCwgflBDSUVfSU5UX0FM TF9NQVNLLCBQQ0lFX0lOVF9VTk1BU0tfT0ZGKTsKPiA+ID4gPiA+ID4gPiA+ID4gKwo+ID4gPiA+ ID4gPiA+ID4gPiArCS8qIENsZWFyIGFsbCBpbnRlcnJ1cHQgY2F1c2VzLiAqLwo+ID4gPiA+ID4g PiA+ID4gPiArCW12ZWJ1X3dyaXRlbChwb3J0LCB+UENJRV9JTlRfQUxMX01BU0ssIFBDSUVfSU5U X0NBVVNFX09GRik7Cj4gPiA+ID4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gPiA+ID4gKwlpZiAo cG9ydC0+aW50eF9pcnEgPD0gMCkgewo+ID4gPiA+ID4gPiA+ID4gPiArCQkvKgo+ID4gPiA+ID4g PiA+ID4gPiArCQkgKiBXaGVuIG5laXRoZXIgInN1bW1hcnkiIGludGVycnVwdCwgbm9yICJpbnR4 IiBpbnRlcnJ1cHQgd2FzCj4gPiA+ID4gPiA+ID4gPiA+ICsJCSAqIHNwZWNpZmllZCBpbiBEVCB0 aGVuIHVubWFzayBhbGwgbGVnYWN5IElOVHggaW50ZXJydXB0cyBhcyBpbgo+ID4gPiA+ID4gPiA+ ID4gPiArCQkgKiB0aGlzIGNhc2UgZHJpdmVyIGRvZXMgbm90IHByb3ZpZGUgYSB3YXkgZm9yIG1h c2tpbmcgYW5kCj4gPiA+ID4gPiA+ID4gPiA+ICsJCSAqIHVubWFza2luZyBvZiBpbmRpdmlkdWFs IGxlZ2FjeSBJTlR4IGludGVycnVwdHMuIEluIHRoaXMgY2FzZQo+ID4gPiA+ID4gPiA+ID4gPiAr CQkgKiBhbGwgaW50ZXJydXB0cywgaW5jbHVkaW5nIGxlZ2FjeSBJTlR4IGFyZSByZXBvcnRlZCB2 aWEgb25lCj4gPiA+ID4gPiA+ID4gPiA+ICsJCSAqIHNoYXJlZCBHSUMgc291cmNlIGFuZCB0aGVy ZWZvcmUga2VybmVsIGNhbm5vdCBkaXN0aW5ndWlzaAo+ID4gPiA+ID4gPiA+ID4gPiArCQkgKiB3 aGljaCBpbmRpdmlkdWFsIGxlZ2FjeSBJTlR4IHdhcyB0cmlnZ2VyZWQuIFRoZXNlIGludGVycnVw dHMKPiA+ID4gPiA+ID4gPiA+ID4gKwkJICogYXJlIHNoYXJlZCwgc28gaXQgc2hvdWxkIG5vdCBj YXVzZSBhbnkgaXNzdWUuIEp1c3QKPiA+ID4gPiA+ID4gPiA+ID4gKwkJICogcGVyZm9ybWFuY2Ug cGVuYWx0eSBhcyBldmVyeSBQQ0llIGludGVycnVwdCBoYW5kbGVyIG5lZWRzIHRvCj4gPiA+ID4g PiA+ID4gPiA+ICsJCSAqIGJlIGNhbGxlZCB3aGVuIHNvbWUgaW50ZXJydXB0IGlzIHRyaWdnZXJl ZC4KPiA+ID4gPiA+ID4gPiA+ID4gKwkJICovCj4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4g PiA+IFRoaXMgY29tbWVudCBhcHBsaWVzIHRvIGN1cnJlbnQgbWFpbmxpbmUgcmlnaHQgKGllIGl0 IGRlc2NyaWJlcyBob3cKPiA+ID4gPiA+ID4gPiA+IGN1cnJlbnQgbWFpbmxpbmUgaGFuZGxlcyBJ TlR4KSA/IElNTyB5b3Ugc2hvdWxkIHNwbGl0IGl0IG91dCBpbiBhCj4gPiA+ID4gPiA+ID4gPiBz ZXBhcmF0ZSBwYXRjaC4KPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBUaGlzIGFib3ZlIGNv bW1lbnQgZGVzY3JpYmUgd2hhdCBoYXBwZW5zIGluIGlmLWJyYW5jaCB3aGVuIGludHhfaXJxIGlz Cj4gPiA+ID4gPiA+ID4gbm90IHNldCAoYXMgd3JpdHRlbiBpbiBjb21tZW50ICJ3aGVuIGludHgg aW50ZXJydXB0IHdhcyBub3Qgc3BlY2lmaWVkIGluCj4gPiA+ID4gPiA+ID4gRFQiKS4gWW91IGFy ZSByaWdodCB0aGF0IHRoaXMgaXMgYWxzbyB0aGUgYmVoYXZpb3IgaW4gdGhlIGN1cnJlbnQKPiA+ ID4gPiA+ID4gPiBtYWlubGluZS4KPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBJJ20gbm90 IHN1cmUgaWYgdGhpcyBjb21tZW50IGNhbiBiZSBzcGxpdCBvdXQgYXMgc3VwcG9ydCBmb3IgImlu dHgiCj4gPiA+ID4gPiA+ID4gaW50ZXJydXB0IGlzIGluIHRoaXMgcGF0Y2guCj4gPiA+ID4gPiA+ ID4gCj4gPiA+ID4gPiA+ID4gPiBJIHVuZGVyc3RhbmQgaXQgaXMgaGFyZCBidXQgYSBwYXRjaCBp cyBhIGxvZ2ljYWwgX2NoYW5nZV8sIHRoaXMKPiA+ID4gPiA+ID4gPiA+IGNvbW1lbnQgaXMgYSBj aGFuZ2UgcGVyIHNlLCBpdCBpcyBhIGNsYXJpZmljYXRpb24gb24gY3VycmVudAo+ID4gPiA+ID4g PiA+ID4gYmVoYXZpb3VyLgo+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+IE9rLCBJIGNvdWxk IHRyeSB0byBzcGxpdCB0aGlzIGNvbW1lbnQgaW50byB0d28gcGF0Y2hlcywgYnV0IHBhcnQgYWJv dXQKPiA+ID4gPiA+ID4gPiBpZi1icmFuY2ggY29tbWVudCBuZWVkcyB0byBzdGF5IGluICJ0aGlz IiBwYXRjaC4KPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IEkgaGF2ZSBkb25lIGl0IGxvY2FsbHku Cj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBMZXQgbWUga25vdyB3aGVuIEkgc2hvdWxkIHJlc2Vu ZCB0aGlzIHBhdGNoIHNlcmllcyBhbmQgSSB3aWxsIGluY2x1ZGUKPiA+ID4gPiA+ID4gaW50byBp dCBhbHNvIHRoZXNlIGNoYW5nZXMuCj4gPiA+ID4gPiAKPiA+ID4gPiA+IEhpLAo+ID4gPiA+ID4g Cj4gPiA+ID4gPiB5ZXMgcGxlYXNlIHJlc2VuZCBpdCBhbmQgSSB3aWxsIG1lcmdlIGl0Lgo+ID4g PiA+IAo+ID4gPiA+IERvbmUhCj4gPiA+ID4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGludXgt cGNpLzIwMjIwMjIyMTA0NjI1LjI4NDYxLTEtcGFsaUBrZXJuZWwub3JnL1QvI3UKPiA+ID4gCj4g PiA+IENhbiB5b3UgcmViYXNlIGl0IHBsZWFzZSBvbiB0b3Agb2YgbXkgcGNpL212ZWJ1IGJyYW5j aCA/Cj4gPiA+IAo+ID4gPiBodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2Vy bmVsL2dpdC9scGllcmFsaXNpL3BjaS5naXQvCj4gPiA+IAo+ID4gPiBGb3JnaXZlIG1lLCBJIGZv cmdvdCB0byBtZW50aW9uIHRoYXQsIHRoYW5rcy4KPiA+ID4gCj4gPiA+IExvcmVuem8KPiA+IAo+ ID4gT2shIEkgcmViYXNlZCBWMyBvbiB0b3Agb2YgYzNiZDdkYzU1M2VlYTVhMzU5NWNhM2FhMGFk ZWU5YmY4MzYyMmExZgo+ID4gKHBjaS9tdmVidSBicmFuY2ggaW4geW91ciByZXBvKSwgZml4ZWQg Y29uZmxpY3RzIGFuZCBwdXNoZWQgdG8gbXkgZ2l0Cj4gPiByZXBvIGh0dHBzOi8vZ2l0Lmtlcm5l bC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L3BhbGkvbGludXguZ2l0Lwo+ID4gYXMgY29t bWl0IDQyNDAyZjBjZmMzNjJmZmIwYjdlNDY0ZjQyMGQ2ZWFkMzQyZGFiMmIgKGxwaWVyYWxpc2kt cGNpLW12ZWJ1Cj4gPiBicmFuY2gpLiBJdCBpcyBlbm91Z2g/IE9yIGRvIHlvdSB3YW50IG1lIHRv IHJlc2VuZCBpdCB2aWEgZW1haWxzPwo+IAo+IFlvdSBuZWVkIHRvIHJlLXNlbmQgaXQgdG8gbGlu dXgtcGNpIE1MLCBJIG9ubHkgYXBwbHkgcGF0Y2hlcyBwb3N0ZWQKPiB0aGVyZSwgc29ycnkgZm9y IHRoZSBjaHVybiwgdGhhbmtzLgo+IAo+IExvcmVuem8KCkRvbmUhCmh0dHBzOi8vbG9yZS5rZXJu ZWwub3JnL2xpbnV4LXBjaS8yMDIyMDIyMjE1NTAzMC45ODgtMS1wYWxpQGtlcm5lbC5vcmcvVC8j dQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgt YXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQu b3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJt LWtlcm5lbAo=