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 53A8BC02194 for ; Tue, 4 Feb 2025 13:37:17 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Message-ID:References:In-Reply-To:Subject:Cc:To:From :Date:MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=mlemdeBrE1BmwqDOBrCQ5xIHvdHSGDb5fqXI7afCaO8=; b=KWOY2AEmP7VI8JOV5udrPwlPA5 ZV0ilWaejWBF6OPHnOFu8VxUMMovD8+VZrBuC1iaYwmgYK0IjbFMX/mCseJ6mDkYlYI74qHCBzAXG d4gL460MVroTJDRqS0sO3qGz851Bhsy0ja5Kng0Epg8XPc7NC2bpYH0x41DyC0RRYBhdhoFSVjuwn 9mGJS+0/mJp7kRhJSIWHcYuQyhE/wKhRv7ua1uG00VUENsi9hw6njXziP63YZGpXmXgEKTbCHXm4n hAeEzDQRlykoW76wg5t3WGscDUtRQNAjQuWvNpGuVjSuUH21bL/ZHs38RuIeRpCisN00tsy74MNfA QQsK11BQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tfJ6x-00000000YHU-3lE1; Tue, 04 Feb 2025 13:37:07 +0000 Received: from mail.manjaro.org ([116.203.91.91]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tfJ5b-00000000YD3-3mtI; Tue, 04 Feb 2025 13:35:45 +0000 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=manjaro.org; s=2021; t=1738676141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=kvBsIYlSRDocRThQe1QajLzrfnVwDIRPt2pu5vzVeio=; b=w/OCtv96wqXzkV27OwKQajxsEG25scNCh4fWGsSiqz5jhj+QGewziS/h86EkJjztDYv4R2 RfGhv+VKM4YPjARKu9HpgRIg3AgwHbcyvMCGPFkbAJRA22P0aIhuA6J3Tx0wRVfs9eJdMr BgSyTyZuas03ZEfKbtnwf2CSXjKz0OnkgRDk/zzadjNJDkGRkHbutPgQ+v8nvpil68ZrJK 8wa3f/t3HnF89CJ/8zvAuagK6MEk7HX9bvnLwnhqpbGXDezQznEXDKYd1/TkUzIg35gLFE Eo63EE2hr1hIFOwy8PgeOEfGVVTgLSwbovyFajM9eSlK39WwAahWcaDtzjz7qQ== Date: Tue, 04 Feb 2025 14:35:40 +0100 From: Dragan Simic To: Quentin Schulz Cc: Quentin Schulz , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Jagan Teki , Niklas Cassel , Michael Riesch , Jonas Karlman , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski Subject: Re: [PATCH v4 3/4] arm64: dts: rockchip: add overlay tests for Rock 5B PCIe overlays In-Reply-To: <3de1cc52-5579-41b1-a333-0c4e81f96fbd@cherry.de> References: <20250131-pre-ict-jaguar-v4-0-c971e2852e8d@cherry.de> <20250131-pre-ict-jaguar-v4-3-c971e2852e8d@cherry.de> <77b5d0efa6e56bb391575aeeb4d1be80@manjaro.org> <3de1cc52-5579-41b1-a333-0c4e81f96fbd@cherry.de> Message-ID: X-Sender: dsimic@manjaro.org Authentication-Results: ORIGINATING; auth=pass smtp.auth=dsimic@manjaro.org smtp.mailfrom=dsimic@manjaro.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250204_053544_308205_CD83A48F X-CRM114-Status: GOOD ( 56.72 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org SGVsbG8gUXVlbnRpbiwKCk9uIDIwMjUtMDItMDQgMTM6MjAsIFF1ZW50aW4gU2NodWx6IHdyb3Rl Ogo+IE9uIDIvNC8yNSAxMjoyMiBQTSwgRHJhZ2FuIFNpbWljIHdyb3RlOgo+PiA+IE9uIDIwMjUt MDEtMzEgMTE6NDAsIFF1ZW50aW4gU2NodWx6IHdyb3RlOgo+Pj4gRnJvbTogUXVlbnRpbiBTY2h1 bHogPHF1ZW50aW4uc2NodWx6QGNoZXJyeS5kZT4KPj4+IAo+Pj4gQWNjb3JkaW5nIHRvIGNvbW1p dCA0MDY1ODUzNDc1NmYgKCJhcm02NDogZHRzOiByb2NrY2hpcDogQWRkIHJvY2s1Ygo+Pj4gb3Zl cmxheXMgZm9yIFBDSWUgZW5kcG9pbnQgbW9kZSIpLCBSb2NrIDVCIGNhbiBvcGVyYXRlIGluIFBD SWUgCj4+PiBlbmRwb2ludAo+Pj4gbW9kZS4gRm9yIHRoYXQgdG8gd29yaywgdGhlIHJrMzU4OC1y b2NrLTViLXBjaWUtZXAuZHRibyBvdmVybGF5IG5lZWRzIAo+Pj4gdG8KPj4+IGJlIGFwcGxpZWQg b24gUm9jayA1QiBiYXNlIERldmljZSBUcmVlLiBJZiB0aGF0IFJvY2sgNUIgaXMgY29ubmVjdGVk IAo+Pj4gdG8KPj4+IGFub3RoZXIgUm9jayA1QiwgdGhlIGxhdHRlciBuZWVkcyB0byBhcHBseSB0 aGUKPj4+IHJrMzU4OC1yb2NrLTViLXBjaWUtc3Jucy5kdGJvIG92ZXJsYXkuCj4+PiAKPj4+IElu IG9yZGVyIHRvIG1ha2Ugc3VyZSB0aGUgb3ZlcmxheXMgYXJlIHN0aWxsIHZhbGlkIGluIHRoZSBm dXR1cmUsIAo+Pj4gbGV0J3MKPj4+IGFkZCBhIHZhbGlkYXRpb24gdGVzdCBieSBhcHBseWluZyB0 aGUgb3ZlcmxheXMgb24gdG9wIG9mIHRoZSBtYWluIAo+Pj4gYmFzZQo+Pj4gYXQgYnVpbGQgdGlt ZS4KPj4+IAo+Pj4gUmV2aWV3ZWQtYnk6IEtyenlzenRvZiBLb3psb3dza2kgPGtyenlzenRvZi5r b3psb3dza2lAbGluYXJvLm9yZz4KPj4+IFJldmlld2VkLWJ5OiBOaWtsYXMgQ2Fzc2VsIDxjYXNz ZWxAa2VybmVsLm9yZz4KPj4+IFNpZ25lZC1vZmYtYnk6IFF1ZW50aW4gU2NodWx6IDxxdWVudGlu LnNjaHVsekBjaGVycnkuZGU+Cj4+PiAtLS0KPj4+IMKgYXJjaC9hcm02NC9ib290L2R0cy9yb2Nr Y2hpcC9NYWtlZmlsZSB8IDEwICsrKysrKysrLS0KPj4+IMKgMSBmaWxlIGNoYW5nZWQsIDggaW5z ZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPj4+IAo+Pj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJt NjQvYm9vdC9kdHMvcm9ja2NoaXAvTWFrZWZpbGUKPj4+IGIvYXJjaC9hcm02NC9ib290L2R0cy9y b2NrY2hpcC9NYWtlZmlsZQo+Pj4gaW5kZXgKPj4+IDI2Nzk2NmVhNjliMTk0ODg3ZDU5ZTM4YTQy MjAyMzlhOTBhOTEzMDYuLmViY2QxNmNlOTc2ZWJlNTZhOThkOTY4NTIyODk4MGNkMWYyZjE4MGEK Pj4+IDEwMDY0NAo+Pj4gLS0tIGEvYXJjaC9hcm02NC9ib290L2R0cy9yb2NrY2hpcC9NYWtlZmls ZQo+Pj4gKysrIGIvYXJjaC9hcm02NC9ib290L2R0cy9yb2NrY2hpcC9NYWtlZmlsZQo+Pj4gQEAg LTE1MCw4ICsxNTAsNiBAQCBkdGItJChDT05GSUdfQVJDSF9ST0NLQ0hJUCkgKz0gcmszNTg4LW9y YW5nZXBpLTUtIAo+Pj4gcGx1cy5kdGIKPj4+IMKgZHRiLSQoQ09ORklHX0FSQ0hfUk9DS0NISVAp ICs9IHJrMzU4OC1xdWFydHpwcm82NC5kdGIKPj4+IMKgZHRiLSQoQ09ORklHX0FSQ0hfUk9DS0NI SVApICs9IHJrMzU4OC1yb2NrLTUtaXR4LmR0Ygo+Pj4gwqBkdGItJChDT05GSUdfQVJDSF9ST0NL Q0hJUCkgKz0gcmszNTg4LXJvY2stNWIuZHRiCj4+PiAtZHRiLSQoQ09ORklHX0FSQ0hfUk9DS0NI SVApICs9IHJrMzU4OC1yb2NrLTViLXBjaWUtZXAuZHRibwo+Pj4gLWR0Yi0kKENPTkZJR19BUkNI X1JPQ0tDSElQKSArPSByazM1ODgtcm9jay01Yi1wY2llLXNybnMuZHRibwo+Pj4gwqBkdGItJChD T05GSUdfQVJDSF9ST0NLQ0hJUCkgKz0gcmszNTg4LXRpZ2VyLWhhaWtvdS5kdGIKPj4+IMKgZHRi LSQoQ09ORklHX0FSQ0hfUk9DS0NISVApICs9IHJrMzU4OC10b3licmljay14MC5kdGIKPj4+IMKg ZHRiLSQoQ09ORklHX0FSQ0hfUk9DS0NISVApICs9IHJrMzU4OC10dXJpbmctcmsxLmR0Ygo+Pj4g QEAgLTE4NiwzICsxODQsMTEgQEAgcmszNTY4LXdvbGZ2aXNpb24tcGY1LXZ6LTItdWhkLWR0YnMg Oj0KPj4+IHJrMzU2OC13b2xmdmlzaW9uLXBmNS5kdGIgXAo+Pj4gwqBkdGItJChDT05GSUdfQVJD SF9ST0NLQ0hJUCkgKz0gcmszNTg4LWVkZ2VibGUtbmV1NmEtd2lmaS5kdGIKPj4+IMKgcmszNTg4 LWVkZ2VibGUtbmV1NmEtd2lmaS1kdGJzIDo9IHJrMzU4OC1lZGdlYmxlLW5ldTZhLWlvLmR0YiBc Cj4+PiDCoMKgwqDCoCByazM1ODgtZWRnZWJsZS1uZXU2YS13aWZpLmR0Ym8KPj4+ICsKPj4+ICtk dGItJChDT05GSUdfQVJDSF9ST0NLQ0hJUCkgKz0gcmszNTg4LXJvY2stNWItcGNpZS1lcC5kdGIK Pj4+ICtyazM1ODgtcm9jay01Yi1wY2llLWVwLWR0YnMgOj0gcmszNTg4LXJvY2stNWIuZHRiIFwK Pj4+ICvCoMKgwqAgcmszNTg4LXJvY2stNWItcGNpZS1lcC5kdGJvCj4+PiArCj4+PiArZHRiLSQo Q09ORklHX0FSQ0hfUk9DS0NISVApICs9IHJrMzU4OC1yb2NrLTViLXBjaWUtc3Jucy5kdGIKPj4+ ICtyazM1ODgtcm9jay01Yi1wY2llLXNybnMtZHRicyA6PSByazM1ODgtcm9jay01Yi5kdGIgXAo+ Pj4gK8KgwqDCoCByazM1ODgtcm9jay01Yi1wY2llLXNybnMuZHRibwo+PiAKPj4gQWZ0ZXIgYSBx dWl0ZSBsZW5ndGh5IGV4Y3Vyc2lvbiBpbnRvIHRoZSBzY3JpcHRzL01ha2VmaWxlLmR0YnMgYW5k Cj4+IHNjcmlwdHMvTWFrZWZpbGUubGliIGZpbGVzLCBJJ20gYWZyYWlkIHRoYXQgdGhlIGFwcHJv YWNoIHRha2VuIGluCj4+IHRoaXMgcGF0Y2ggaXNuJ3QgcmlnaHQuwqAgUGxlYXNlIGFsbG93IG1l IHRvIGV4cGxhaW4uCj4+IAo+PiBMZXQncyBoYXZlIGEgbG9vayBhdCBhcmNoL2FybTY0L2Jvb3Qv ZHRzL3RpL01ha2VmaWxlIGZpcnN0LCBhcyBhbgo+PiBleGFtcGxlIHRoYXQgcHJvdmlkZXMgYWxy ZWFkeSBleGlzdGluZyBEVCBvdmVybGF5IGNoZWNrcy7CoCBIZXJlJ3MKPj4gYW4gZXhjZXJwdCBm cm9tIHRoYXQgTWFrZWZpbGUsIHdoaWNoIGFsc28gcHJvdmlkZXMgYW4gaW1wb3J0YW50IGN1ZQo+ PiBieSBtZW50aW9uaW5nIENPTkZJR19PRl9BTExfRFRCUzoKPj4gCj4+ICDCoCAxMiBkdGItJChD T05GSUdfQVJDSF9LMykgKz0gazMtYW02MjUtYmVhZ2xlcGxheS5kdGIKPj4gIMKgIDEzIGR0Yi0k KENPTkZJR19BUkNIX0szKSArPSBrMy1hbTYyNS1iZWFnbGVwbGF5LWNzaTItb3Y1NjQwLmR0Ym8K Pj4gIMKgIDE0IGR0Yi0kKENPTkZJR19BUkNIX0szKSArPSAKPj4gazMtYW02MjUtYmVhZ2xlcGxh eS1jc2kyLXRldmktb3Y1NjQwLmR0Ym8KPj4gCj4+ICDCoDEzNSAjIEJ1aWxkIHRpbWUgdGVzdCBv bmx5LCBlbmFibGVkIGJ5IENPTkZJR19PRl9BTExfRFRCUwo+PiAgwqAxMzYgazMtYW02MjUtYmVh Z2xlcGxheS1jc2kyLW92NTY0MC1kdGJzIDo9IGszLWFtNjI1LWJlYWdsZXBsYXkuZHRiIAo+PiBc Cj4+ICDCoDEzN8KgwqDCoMKgwqDCoMKgwqAgazMtYW02MjUtYmVhZ2xlcGxheS1jc2kyLW92NTY0 MC5kdGJvCj4+ICDCoDEzOCBrMy1hbTYyNS1iZWFnbGVwbGF5LWNzaTItdGV2aS1vdjU2NDAtZHRi cyA6PSBrMy1hbTYyNS0gCj4+IGJlYWdsZXBsYXkuZHRiIFwKPj4gIMKgMTM5wqDCoMKgwqDCoMKg wqDCoCBrMy1hbTYyNS1iZWFnbGVwbGF5LWNzaTItdGV2aS1vdjU2NDAuZHRibwo+PiAKPj4gIMKg MjEzIGR0Yi0gKz0gazMtYW02MjUtYmVhZ2xlcGxheS1jc2kyLW92NTY0MC5kdGIgXAo+PiAgwqAy MTTCoMKgwqDCoMKgwqDCoMKgIGszLWFtNjI1LWJlYWdsZXBsYXktY3NpMi10ZXZpLW92NTY0MC5k dGIgXAo+PiAKPj4gQXMgdmlzaWJsZSBhYm92ZSwgdGhlIERUIG92ZXJsYXlzIGdldCBhZGRlZCB0 byBkdGItJChDT05GSUdfQVJDSF9LMykKPj4gYXMgLmR0Ym8gZmlsZXMgKG5vdCBhcyAuZHRiIGZp bGVzKSwgd2hpbGUgdGhlIGJ1aWxkLXRpbWUgRFQgb3ZlcmxheQo+PiB0ZXN0cyBzcGVjaWZ5IHRo ZSBkZXBlbmRlbmN5IGNoYWlucyBmb3IgdGhlIG92ZXJsYXlzLgo+PiAKPj4gRXZlbiBtb3JlIGlt cG9ydGFudGx5LCB0aGUgYnVpbGQtdGltZSBvdmVybGF5IHRlc3RzIGFyZW4ndCBzdXBwb3NlZAo+ PiB0byBiZSBleGVjdXRlZCB1bnRpbCBDT05GSUdfT0ZfQUxMX0RUQlMgaXMgc2VsZWN0ZWQsIHdo aWNoIGFjdHVhbGx5Cj4+IGdldHMgaGFuZGxlZCBhdCB0aGUgdmVyeSBzdGFydCBvZiBzY3JpcHRz L01ha2VmaWxlLmR0YnM6Cj4+IAo+PiAgwqDCoCAzICMgSWYgQ09ORklHX09GX0FMTF9EVEJTIGlz IGVuYWJsZWQsIGFsbCBEVCBibG9icyBhcmUgYnVpbHQKPj4gIMKgwqAgNCBkdGItJChDT05GSUdf T0ZfQUxMX0RUQlMpICs9ICQoZHRiLSkKPiAKPiBEbyB5b3UgaGF2ZSBzb21ldGhpbmcgdG8gYmFj ayB5b3VyIGFyZ3VtZW50IHRoYXQgYnVpbGQgdGltZSB0ZXN0cwo+IHNob3VsZCBvbmx5IGJlIGRv bmUgd2hlbiBDT05GSUdfT0ZfQUxMX0RUQlMgaXMgZW5hYmxlZD8gRm9yIG5vdyB0aGlzCj4gc2Vl bXMgbGlrZSBpdCdzIHlvdXIgaW50ZXJwcmV0YXRpb24gb2YgdGhlIHVzZSBmb3IgdGhlIHN5bWJv bC4gVGhvdWdoCj4gSSBhZ3JlZSB0aGF0IGlmIHlvdSBoYWQgYW55IHRlc3QgeW91IGFic29sdXRl bHkgZGlkbid0IHdhbnQgdG8gcnVuIGluCj4gbm9ybWFsIHRpbWVzLCBoaWRpbmcgdGhlbSBiZWhp bmQgQ09ORklHX09GX0FMTF9EVEJTIHdvdWxkIGJlIHRoZSB0aGluZwo+IHRvIGRvLgoKV2VsbCwg aXQgaXNuJ3QgbXkgaW50ZXJwcmV0YXRpb24gb2YgQ09ORklHX09GX0FMTF9EVEJTLCBpdCdzIGFj dHVhbGx5CmhvdyBhcmNoL2FybTY0L2Jvb3QvZHRzL3RpL01ha2VmaWxlIHVzZXMgaXQgYWxyZWFk eSBmb3IgdGhlIERUIG92ZXJsYXkKdGVzdHMsIHdoaWNoIEkgYWxyZWFkeSBleHBsYWluZWQgYWJv dmUuCgpBbHNvLCBJIGFscmVhZHkgd3JvdGUgdGhhdCBJJ20gbm90IHZlcnkgaGFwcHkgd2l0aCB0 aGUgd2F5IHRoZSBjb25maWcKb3B0aW9uIENPTkZJR19PRl9BTExfRFRCUyBpcyB0aWVkIHRvIHRo ZSBEVCBvdmVybGF5IHRlc3RzLiAgSSdsbCBnZXQKYmFjayB0byB0aGF0IGJlbG93LgoKPj4gVGhl IHdheSB0aGlzIHBhdGNoIG1vZGlmaWVzIGFyY2gvYXJtNjQvYm9vdC9kdHMvcm9ja2NoaXAvTWFr ZWZpbGUKPj4gYWN0dWFsbHkgaXNuJ3QgY29ycmVjdCwgZGVzcGl0ZSBhcHBhcmVudGx5IHByb2R1 Y2luZyB0aGUgZGVzaXJlZAo+PiBvdXRjb21lLCBiZWNhdXNlIHRoZSB3YXkgaXQgYWRkcyByazM1 ODgtcm9jay01Yi1wY2llLWVwLmR0YiBhbmQKPj4gcmszNTg4LXJvY2stNWItcGNpZS1zcm5zLmR0 YiAoaW5zdGVhZCBvZiBhZGRpbmcgcHJvcGVyIC5kdGJvIG5hbWVzKQo+PiB0byBkdGItJChDT05G SUdfQVJDSF9ST0NLQ0hJUCkgZWZmZWN0aXZlbHkgY3JlYXRlcyBzb21lIGtpbmQgb2YKPj4gInBo b255IHRhcmdldHMiIHRoYXQgaW5kZWVkICJnZXQgdGhlIGpvYiBkb25lIiwgYnV0IHVuZm9ydHVu YXRlbHkKPj4gaW4gYSB3cm9uZyB3YXkuwqAgVGhlICJwaG9ueSB0YXJnZXRzIiBhcmUgaGFuZGxl ZCBieSB0aGUgZm9sbG93aW5nCj4+ICJtYWdpYyIgaW4gc2NyaXB0cy9NYWtlZmlsZS5kdGJzOgo+ PiAKPj4gIMKgwqAgNiAjIENvbXBvc2l0ZSBEVEIgKGkuZS4gRFRCIGNvbnN0cnVjdGVkIGJ5IG92 ZXJsYXkpCj4+ICDCoMKgIDcgbXVsdGktZHRiLXkgOj0gJChjYWxsIG11bHRpLXNlYXJjaCwgJChk dGIteSksIC5kdGIsIC1kdGJzKQo+PiAgwqDCoCA4ICMgUHJpbWl0aXZlIERUQiBjb21waWxlZCBm cm9tICouZHRzCj4+ICDCoMKgIDkgcmVhbC1kdGIteSA6PSAkKGNhbGwgcmVhbC1zZWFyY2gsICQo ZHRiLXkpLCAuZHRiLCAtZHRicykKPj4gIMKgIDEwICMgQmFzZSBEVEIgdGhhdCBvdmVybGF5IGlz IGFwcGxpZWQgb250bwo+PiAgwqAgMTEgYmFzZS1kdGIteSA6PSAkKGZpbHRlciAlLmR0YiwgJChj YWxsIHJlYWwtc2VhcmNoLCAkKG11bHRpLWR0Yi0gCj4+IHkpLCAuZHRiLCAtZHRicykpCj4+IAo+ PiAgwqAgMTggdGFyZ2V0c8KgwqDCoMKgwqDCoMKgwqAgKz0gJChyZWFsLWR0Yi15KQo+PiAKPj4g TGV0J3MgaGF2ZSBhIGxvb2sgYXQgdGhlIHJlbGV2YW50IHBhcnQgb2YgdGhlIG91dHB1dCBwcm9k dWNlZCB3aGVuCj4+ICJtYWtlIGR0YnMiIGlzIGV4ZWN1dGVkIHdpdGggdGhpcyBwYXRjaCBhcHBs aWVkOgo+PiAKPj4gIMKgIERUQ8KgwqDCoMKgIGFyY2gvYXJtNjQvYm9vdC9kdHMvcm9ja2NoaXAv cmszNTg4LXJvY2stNWItcGNpZS1lcC5kdGJvCj4+ICDCoCBPVkzCoMKgwqDCoCBhcmNoL2FybTY0 L2Jvb3QvZHRzL3JvY2tjaGlwL3JrMzU4OC1yb2NrLTViLXBjaWUtZXAuZHRiCj4+ICDCoCBEVEPC oMKgwqDCoCBhcmNoL2FybTY0L2Jvb3QvZHRzL3JvY2tjaGlwL3JrMzU4OC1yb2NrLTViLXBjaWUt c3Jucy5kdGJvCj4+ICDCoCBPVkzCoMKgwqDCoCBhcmNoL2FybTY0L2Jvb3QvZHRzL3JvY2tjaGlw L3JrMzU4OC1yb2NrLTViLXBjaWUtc3Jucy5kdGIKPj4gCj4+IE5vdGUgdGhlICJPVkwgLipkdGIi IGxpbmVzIGFib3ZlLCBpbiB3aGljaCB0aGUgIi4qZHRiIiBwYXJ0cyBhcmUKPj4gdGhlIGFib3Zl LW1lbnRpb25lZCAicGhvbnkgdGFyZ2V0cyIuwqAgVGhlIGFib3ZlLXF1b3RlZCAibWFnaWMiIGlu Cj4+IHNjcmlwdHMvTWFrZWZpbGUuZHRicyBpcyB3aGF0ICJ1bmZvbGRzIiB0aG9zZSAicGhvbnkg dGFyZ2V0cyIgdG8gbWFrZSAKPj4gdGhlbSBhcHBhcmVudGx5IHByb2R1Y2UgdGhlIGRlc2lyZWQg b3V0Y29tZSwgYnkgcG9wdWxhdGluZwo+PiB0aGUgJChyZWFsLWR0Yi15KSB2YXJpYWJsZSB3aXRo ICJyazM1ODgtcm9jay01Yi1wY2llLWVwLmR0Ym8KPj4gcmszNTg4LXJvY2stNWIuZHRiIHJrMzU4 OC1yb2NrLTViLXBjaWUtc3Jucy5kdGJvIiwgYXMgdGhlIHByb3Blcgo+PiAuZHRibyBuYW1lcyB0 aGF0IGdldCBwYXNzZWQgdG8gdGhlIGR0YyB1dGlsaXR5Lgo+PiAKPj4gRXZlbiBtb3JlICJtYWdp YyIgaW4gc2NyaXB0cy9NYWtlZmlsZS5kdGJzICJ1bmZvbGRzIiB0aGUgInBob255Cj4+IHRhcmdl dHMiIHRvIGhhdmUgdGhlIGJ1aWxkLXRpbWUgRFQgb3ZlcmxheSB0ZXN0cyBwZXJmb3JtZWQgaW4g dGhlCj4+IGFwcGFyZW50bHkgcHJvcGVyIHdheSwgd2hpbGUgdGhleSBhY3R1YWxseSBzaG91bGRu J3QgYmUgcGVyZm9ybWVkCj4+IHVubGVzcyBDT05GSUdfT0ZfQUxMX0RUQlMgaXMgYWxzbyBzZWxl Y3RlZC4KPiAKPiBJIHVuZGVyc3RhbmQgdGhlIHN5bWJvbCBDT05GSUdfT0ZfQUxMX0RUQlMgYXMg InNob3VsZCBidWlsZCBhbGwgRFRCcwo+IGZvciBhbGwgYXJjaGl0ZWN0dXJlcyBhbmQgZG8gdGVz dHMiIGFuZCBub3QgInRlc3RzIG11c3Qgb25seSBiZSBydW4KPiB3aGVuIENPTkZJR19PRl9BTExf RFRCUyBpcyBzZWxlY3RlZCIuIEkgZmluZCBpdCBzbyB1c2VmdWwgdG8gdGVzdCB0aGUKPiBhcHBs aWNhdGlvbiBvZiBvdmVybGF5cyB0byB0aGUgYmFzZSBEVEIgdGhhdCBJIGRvbid0IHRoaW5rIGl0 J3MKPiBuZWNlc3NhcmlseSBhIGdvb2QgaWRlYSB0byBoaWRlIHRob3NlIGJlaGluZCBDT05GSUdf T0ZfQUxMX0RUQlMuCgpBcyBJIHdyb3RlIGFib3ZlLCBJJ20gbm90IHZlcnkgaGFwcHkgd2l0aCBp dCBlaXRoZXIuICBJJ2xsIGV4cGxhaW4KdGhhdCBmdXJ0aGVyIGJlbG93LgoKPj4gV2l0aCBhbGwg dGhpcyBpcyBtaW5kLCB0aGlzIHBhdGNoIHNob3VsZCBiZSByZXdvcmtlZCB0byBmb2xsb3cKPj4g dGhlIHJpZ2h0IGFwcHJvYWNoIGZvciBkZWZpbmluZyBidWlsZC10aW1lIERUIG92ZXJsYXkgdGVz dHMsIHdoaWNoCj4+IGlzIGlsbHVzdHJhdGVkIGluIGFyY2gvYXJtNjQvYm9vdC9kdHMvdGkvTWFr ZWZpbGUuwqAgSW4gcGFydGljdWxhciwKPj4gd2Ugc2hvdWxkIGp1c3QgYWRkIHRoZSBmb2xsb3dp bmcgRFQgb3ZlcmxheSB0ZXN0IGRlZmluaXRpb25zIHRvCj4+IGFyY2gvYXJtNjQvYm9vdC9kdHMv cm9ja2NoaXAvTWFrZWZpbGU6Cj4+IAo+PiAxNzQgIyBCdWlsZC10aW1lIHRlc3RzIG9ubHksIGVu YWJsZWQgYnkgQ09ORklHX09GX0FMTF9EVEJTCj4+IDE3NSByazM1ODgtcm9jay01Yi1wY2llLWVw LWR0YnMgOj0gcmszNTg4LXJvY2stNWIuZHRiIFwKPj4gMTc2wqDCoMKgwqDCoMKgwqDCoCByazM1 ODgtcm9jay01Yi1wY2llLWVwLmR0Ym8KPj4gMTc3IHJrMzU4OC1yb2NrLTViLXBjaWUtc3Jucy1k dGJzIDo9IHJrMzU4OC1yb2NrLTViLmR0YiBcCj4+IDE3OMKgwqDCoMKgwqDCoMKgwqAgcmszNTg4 LXJvY2stNWItcGNpZS1zcm5zLmR0Ym8KPj4gMTc5IGR0Yi0gKz0gcmszNTg4LXJvY2stNWItcGNp ZS1lcC5kdGIgXAo+PiAxODDCoMKgwqDCoMKgwqDCoMKgIHJrMzU4OC1yb2NrLTViLXBjaWUtc3Ju cy5kdGIKPj4gCj4+IFlvdSdsbCBub3RpY2UgdGhhdCB0aGUgJChkdGItKSB2YXJpYWJsZSBwcmV0 dHkgbXVjaCBhZ2FpbiBjb250YWlucwo+PiB0aGUgc2FtZSAicGhvbnkgdGFyZ2V0cyIsIGJ1dCB0 aGF0J3MgdGhlIHdheSB0aGV5IHNob3VsZCBhY3R1YWxseQo+PiBiZSB1c2VkLsKgIEknbSBub3Qg dmVyeSBoYXBweSB3aXRoIHRoZSB3YXkgdGhleSdyZSBzcGVjaWZpZWQsIGJ1dAo+PiB3ZSBzaG91 bGQgZm9sbG93IHRoZSBhcHByb2FjaCBmcm9tIGFyY2gvYXJtNjQvYm9vdC9kdHMvdGkvTWFrZWZp bGUKPj4gYW55d2F5LCBhbmQgcG9zc2libHkgaW1wcm92ZSB0aGUgd2hvbGUgdGhpbmcgbGF0ZXIu Cj4gCj4gV2hhdCBJIGRvbid0IGxpa2UgYWJvdXQgdGhpcyBpcyB0aGF0IGl0IGFsbG93cyB0byBi dWlsZCB0aGUgRFRCTwo+IHdpdGhvdXQgcHJvdmlkaW5nIGEgYnVpbGQgdGltZSBhcHBsaWNhdGlv biB0ZXN0IHdoaWNoIG1lYW5zCj4gbWFpbnRhaW5lcihzKSBhbmQgcmV2aWV3ZXIocykgbmVlZCB0 byBwYXkgZXZlbiBtb3JlIGF0dGVudGlvbiB0byB0aGUKPiBwYXRjaCB0aGFuIHNpbXBseSBsb29r aW5nIGF0IGl0IG1hdGNoaW5nIHRoZSBwYXR0ZXJucyBvZiBob3cgb3RoZXIKPiBEVEJPcyBhcmUg YnVpbHQuIEFsc28sIHlvdSBub3cgbmVlZCB0byBlbmFibGUgQ09ORklHX09GX0FMTF9EVEJTIHRv Cj4gcnVuIHRoZSB0ZXN0cywgd2hpY2ggaXNuJ3QgZW5hYmxlZCBpbiB0aGUgZGVmYXVsdCBkZWZj b25maWcgZm9yIGFybTY0Lgo+IEkgd291bGQgYXNzdW1lIHdlIGhhdmUgc29tZSBib3RzIGJ1aWxk aW5nIHBhdGNoZXMvbWFzdGVyIHdpdGggdGhvc2UKPiBvcHRpb25zIGVuYWJsZWQgYnV0IGl0IG1p Z2h0IGJlIGEgYml0IHRvbyBsYXRlIGFscmVhZHkuCgpJIGFscmVhZHkgYWdyZWVkIGFib3ZlIGFi b3V0IENPTkZJR19PRl9BTExfRFRCUyBiZWluZyBzdWJvcHRpbWFsLApidXQgSSBkb24ndCB0aGlu ayB0aGF0IHRoZSBuZWVkIGZvciBtYWtpbmcgc3VyZSB0aGUgdGVzdHMgYXJlIHByZXNlbnQKd291 bGQgYmUgYW4gaXNzdWUuICBNYWtpbmcgc3VyZSB0aGF0IHRoZSB0ZXN0cyBhcmUgZGVmaW5lZCBz aG91bGQgYmUKc2ltcGx5IHBhcnQgb2YgdGhlIHJldmlld2luZywgYW5kIHJ1bm5pbmcgdGhvc2Ug dGVzdHMgaXMgYWN0dWFsbHkKYSBnb29kIHdheSB0byBtYWtlIHJldmlldmluZyBhIGJpdCBlYXNp ZXIuICBUaHVzLCByZXZpZXdlcnMgc2hvdWxkCmFjdHVhbGx5IGJlIG1vdGl2YXRlZCB0byBtYWtl IHN1cmUgdGhlIHRlc3RzIGFyZSBwcmVzZW50LgoKPj4gSSdkIGFjdHVhbGx5IHByZWZlciB0byBq dXN0IGhhdmUgdGhlc2UgdGVzdCBkZWZpbml0aW9ucyBhZGRlZCB0byB0aGUKPj4gZW5kIG9mIGFy Y2gvYXJtNjQvYm9vdC9kdHMvdGkvTWFrZWZpbGUsIHdpdGhvdXQgbW92aW5nIHRoZSAuZHRibyBs aW5lcwo+PiBhcm91bmQuwqAgVGhhdCB3b3VsZCBrZWVwIHRoZSB0ZXN0cyBzZXBhcmF0ZSwgd2hp Y2ggc2hvdWxkIGJlIG1vcmUKPj4gcmVhZGFibGUgd2hlbiB3ZSBnZXQgbW9yZSBvZiB0aGVtIGRl ZmluZWQuCj4gCj4gQW5kIG1vcmUgbGlrZWx5IHRvIGZvcmdldCBhYm91dCBhZGRpbmcgZWl0aGVy IHRoZSB0ZXN0cyBvciB0aGUgRFRCTwo+IGV4cGxpY2l0IHJ1bGUuCgpXZWxsLCBpZiBzb21lb25l IGNhbid0IHJlbWVtYmVyIGVpdGhlciBvZiB0aG9zZSwgdGhlbiBJIGRvbid0IHNlZSBob3cKdGhl eSBjYW4gcmVtZW1iZXIgbWFueSBvdGhlciBydWxlcyByZXF1aXJlZCB0byB3cml0ZSBEVCBjb2Rl LiA6KQoKRldJVywgYm90aCBUSSBhbmQgUXVhbGNvbW0gcGxhY2UgdGhlIHRlc3QgZGVmaW5pdGlv bnMgc2VwYXJhdGVseSBmcm9tCnRoZSBhZGRpdGlvbnMgdG8gZHRiLSQoQ09ORklHX0FSQ0hfWFla KS4KCj4+IFdpdGggdGhlIGFib3ZlLXByb3Bvc2VkIGNoYW5nZXMgaW4gcGxhY2UsIGFuZCB3aXRo IENPTkZJR19PRl9BTExfRFRCUwo+PiBzZWxlY3RlZCwgdGhlIHJlbGV2YW50IHBhcnQgb2YgdGhl ICJtYWtlIGR0YnMiIG91dHB1dCBsb29rcyBsaWtlIHRoaXM6Cj4+IAo+PiAgwqAgRFRDwqDCoMKg wqAgYXJjaC9hcm02NC9ib290L2R0cy9yb2NrY2hpcC9yazM1ODgtcm9jay01Yi5kdGIKPj4gIMKg IERUQ8KgwqDCoMKgIGFyY2gvYXJtNjQvYm9vdC9kdHMvcm9ja2NoaXAvcmszNTg4LXJvY2stNWIt cGNpZS1lcC5kdGJvCj4+ICDCoCBEVEPCoMKgwqDCoCBhcmNoL2FybTY0L2Jvb3QvZHRzL3JvY2tj aGlwL3JrMzU4OC1yb2NrLTViLXBjaWUtc3Jucy5kdGJvCj4+ICDCoCBPVkzCoMKgwqDCoCBhcmNo L2FybTY0L2Jvb3QvZHRzL3JvY2tjaGlwL3JrMzU4OC1yb2NrLTViLXBjaWUtZXAuZHRiCj4+ICDC oCBPVkzCoMKgwqDCoCBhcmNoL2FybTY0L2Jvb3QvZHRzL3JvY2tjaGlwL3JrMzU4OC1yb2NrLTVi LXBjaWUtc3Jucy5kdGIKPj4gCj4+IE5vIG1vcmUgInBob255IHRhcmdldHMiIGluIHRoZSBwcm9k dWNlZCBvdXRwdXQuIDopCj4gCj4gRnVubmlseSBlbm91Z2gsIEkgd291bGQgcHJlZmVyIHRvIHNl ZSBPVkwgZm9yIG92ZXJsYXlzIHJhdGhlciB0aGFuCj4gRFRDLCBidXQgSSBndWVzcyBpdCdzIGp1 c3Qgb25lIG1vcmUgb2NjdXJyZW5jZSBvZiBkZXZlbG9wZXJzCj4gZGlzYWdyZWVpbmcgb24gaG93 IHRvIG5hbWUgdGhpbmdzIDopCgpJIGFjdHVhbGx5IGFncmVlIHdpdGggdGhhdCwganVzdCBsaWtl IEkgcHJlZmVyIHRvIHNlZSAuZHRibyBmaWxlcwphcyBhZGRpdGlvbnMgdG8gZHRiLSQoQ09ORklH X0FSQ0hfWFlaKS4gIEl0J3MgYWxsIGFib3V0IHRoZSBvdmVybGF5cywKc28gdGhleSBzaG91bGQg YmUgYm90aCBzcGVjaWZpZWQgYW5kIGVjaG9lZCBiYWNrLgoKTW9yZW92ZXIsIHdlIGN1cnJlbnRs eSBhbHNvIGhhdmUgYWRkaXRpb25hbCAuZHRiIGZpbGVzIHdpdGggYXBwbGllZApvdmVybGF5cyBs ZWZ0IGFmdGVyIHRoZSBidWlsZCBhbmQgaW5zdGFsbGVkIGFmdGVyd2FyZHMsIHdoaWNoIGRvZXNu J3QKbWFrZSBtdWNoIHNlbnNlIHRvIG1lLiAgVG8gbWUsIHRob3NlIGFkZGl0aW9uYWwgLmR0YiBm aWxlcyBzaG91bGQgYmUKZGVsZXRlZCBhcyBidWlsZCBhcnRlZmFjdHMgYW5kIG5vdCBpbnN0YWxs ZWQuCgo+IEkga2luZCBvZiBkaXNhZ3JlZSB3aXRoIHRoZSBmZWVkYmFjayBoZXJlIGFzIHRoaXMg b25seSB0YWtlcwo+IHRpL01ha2VmaWxlIGFzIGV4YW1wbGUgd2hpbGUgKiphbGwqKiBvdGhlciBh YXJjaDY0IE1ha2VmaWxlIGhhdmUKPiBkaWZmZXJlbnQgbG9naWMsIHRoZSBvbmUgSSdtIHVzaW5n IGhlcmUgZm9yIGFtbG9naWMgKG1lc29uKSwgTlhQCj4gKGZyZWVzY2FsZSksIHFjb20gKFF1YWxj b21tKSwgUmVuZXNhcywgWGlsaW54IGFuZCBldmVuIEFhcmNoMzIgTlhQLAo+IGFuZCB0aGUgb25l IHdlIGN1cnJlbnRseSB1c2UgKG5vIGJ1aWxkIHRlc3RzKSBmb3IgTWVkaWF0ZWsuCgpIbW0sIEkg c2VlLiAgVG8gbWUsIHRoZSBhcHByb2FjaCB0YWtlbiBieSBUSSBpcyBtb3JlIGNsZWFyLCBzaW1w bHkKYmVjYXVzZSBoYXZpbmcgLmR0YiBmaWxlbmFtZXMsIGluc3RlYWQgb2YgLmR0Ym8gZmlsZW5h bWVzLCBhcyBwYXJ0IG9mCmR0Yi0kKENPTkZJR19BUkNIX1hZWikgaXMgbXVjaCBsZXNzIHJlYWRh YmxlLiAgV2hlbiB5b3Ugc2VlIGEgLmR0Ym8KdGhlcmUsIGl0J3MgY2xlYXIgdGhhdCBpdCdzIGFu IG92ZXJsYXksIGFuZCBhcyBJIHdyb3RlIGFib3ZlLCBpdCdzCmFsbCBhYm91dCB0aGUgb3Zlcmxh eXMsIHNvIHRoZXkgc2hvdWxkIGJlIGJvdGggc3BlY2lmaWVkIGluIE1ha2VmaWxlcwphbmQgZWNo b2VkIGJhY2sgYnkgdGhlIGJ1aWxkIHN5c3RlbS4KCj4gSWYgd2UgYWdyZWUgdG8gd2hhdCB5b3Ug c3VnZ2VzdCBoZXJlIHdlIGNhbmNlbCB0aGUgc2lkZS1lZmZlY3Qgb2YKPiBoYXZpbmcgdGhlIHN5 bWJvbHMgaW4gdGhlIGJhc2UgRFRCIHRoYXQgdGhpcyBwYXRjaCBzZXJpZXMgaW50cm9kdWNlcy4K PiBUaGlzIGNhbiBnbyBib3RoIHdheXMsIGVpdGhlciBnb29kIChEVCBzeW1ib2xzIGluID0gbm90 aGluZyB0byBkbyBmb3IKPiB0aGUgdXNlciwgZ2V0IHRoZSBiYXNlIERUQiBhbmQgeW91ciBEVEJP LCBwdXQgaW4gL2Jvb3QgYW5kIHRhZGEpIG9yCj4gYmFkIChEVCBzeW1ib2xzIGluID0gYmlnIHNp emUgaW5jcmVhc2UgZm9yIGJhc2UgRFRCKS4gTW9yZW92ZXIsCj4gZW5hYmxpbmcgQ09ORklHX09G X0FMTF9EVEJTIHdvdWxkIG5vdyBnZW5lcmF0ZSBhIGRpZmZlcmVudCBEVEIgdGhhbgo+IHdoZW4g aXQncyBub3QgKGtlZXBpbmcgdGhlIHN5bWJvbHMgaW4pLiBJZiB3ZSB3YW50ZWQgdG8ga2VlcCB0 aGUKPiBzeW1ib2xzIGluLCB3ZSB3b3VsZCBuZWVkIHRvIG1vZGlmeSBEVENfRkxBR1MgYXMgd2Vs bC4KPiBUaGlzIGNvdWxkIGhlbHAgbWFrZSB0aGUgZGVjaXNpb24ocykgYXMgd2VsbC4KPiAKPiBT byBJIHdvdWxkIHNheSB3aXRob3V0IG11Y2ggbW9yZSBjb250ZXh0IG9uIHRoZSBhY3R1YWwgZXhw ZWN0ZWQgdXNlCj4gZm9yIENPTkZJR19PRl9BTExfRFRCUyB0aGF0IGl0J3MgdXAgdG8gb25lJ3Mg dGFzdGUsIGFuZCBjb25zaWRlcmluZwo+IHRoZSBwcmVjZWRlbnQgaGVyZSwgbGlrZWx5IHVwIHRv IGVhY2ggYXJjaGl0ZWN0dXJlIG1haW50YWluZXJzJyB0YXN0ZS4KCkdvb2QgcG9pbnQuICBUaGlz IGp1c3Qgc2hvd3MgaG93IHN1Ym9wdGltYWwgaXMgdHlpbmcgQ09ORklHX09GX0FMTF9EVEJTCndp dGggdGhlIERUIG92ZXJsYXkgdGVzdHMuICBQZXJoYXBzIGl0IHdvdWxkIGJlIGJlc3QgdG8gcmVt b3ZlIHRoYXQKYXNzb2NpYXRpb24sIHdoaWxlIGtlZXBpbmcgdGhlIGFiaWxpdHkgdG8gc3BlY2lm eSAuZHRibyBmaWxlbmFtZXMgaW4KZHRiLSQoQ09ORklHX0FSQ0hfWFlaKS4gIFNwZWNpZnlpbmcg LmR0YiBmaWxlcyB0aGVyZSBzaW1wbHkgbG9va3Mgd3JvbmcKdG8gbWUsIGFzIEkgYWxyZWFkeSBl eHBsYWluZWQgYWJvdmUuCgo+IEkgd29uJ3QgYmUgdG9vIGRpZmZpY3VsdCB0byBjb252aW5jZSBo ZXJlLCBqdXN0IHdhbnQgc29tZSAiYXV0aG9yaXR5Igo+IG9yIGEgcGllY2Ugb2YgaGlzdG9yeSBh Ym91dCBDT05GSUdfT0ZfQUxMX0RUQlMgdGhhdCB3b3VsZCBnbyB5b3VyCj4gZGlyZWN0aW9uLCBi ZWZvcmUgZG9pbmcgdGhlIGNoYW5nZS4gSSBiZWxpZXZlIGF1dG9tYXRlZCBidWlsZCB0ZXN0cwo+ IHdpdGhvdXQgbmVlZGluZyB0byBlbmFibGUgYSBzeW1ib2wsIGFuZCB0aGF0IHRha2luZyBEVEIg YW5kIERUQk8gZnJvbQo+IHRoZSBidWlsZCBvdXRwdXQgYW5kIGFwcGx5IERUQk8gb24gdG9wIG9m IERUQiB3b3JrcyB3aXRob3V0IGhhdmluZyB0bwo+IGdvIHRocm91Z2ggc29tZSBsZW5ndGggdG8g Z2V0IHRoZSBzeW1ib2xzLCBhcmUgZ29vZCByZWFzb25zIHRvIGtlZXAgaXQKPiB0aGUgd2F5IGl0 IGlzIGluIHRoaXMgcGF0Y2ggc2VyaWVzLgoKSSdkIGxpa2UgdGhlIG1vc3QgdG8gcGVyZm9ybSB0 aGUgYWJvdmUtcHJvcG9zZWQgImRpdm9yY2luZyIgb2YgdGhlIERUCm92ZXJsYXkgdGVzdHMgZnJv bSBDT05GSUdfT0ZfQUxMX0RUQlMsIHNvIHdlIGRvbid0IGhhdmUgdG8gZW5hYmxlIGFueQphZGRp dGlvbmFsIG9wdGlvbnMgdG8gaGF2ZSB0aGUgb3ZlcmxheSB0ZXN0cyBydW4gYXV0b21hdGljYWxs eSwgYnV0CnRvIGtlZXAgLmR0Ym8gZmlsZW5hbWVzIGluIGR0Yi0kKENPTkZJR19BUkNIX1hZWiku ICBJIHRoaW5rIHRoYXQgd291bGQKYnJpbmcgdGhlIGJlc3Qgb2YgYm90aCB3b3JsZHMsIHNvIHRv IHNwZWFrLgoKPiBBZGRpdGlvbmFsbHksIGRlcGVuZGluZyBvbiB0aGUgZmVlZGJhY2ssIEkgYXNz dW1lIHdlIHdhbnQgdG8gbWlncmF0ZQo+IGFsbCBjdXJyZW50IGFyY2hpdGVjdHVyZXMgYnVpbGRp bmcgRFRCTyB0byBiZSBjb25zaXN0ZW50IGFuZCB1c2UgdGhlCj4gc2FtZSBsb2dpYyAocGVyaGFw cyBub3QgZm9yIE1lZGlhdGVrIGJlY2F1c2UgZG9pbmcgc28gd291bGQga2VlcCB0aGUKPiBEVCBz eW1ib2xzIGluIHRoZSBEVEIsIHdoaWNoIGRyYXN0aWNhbGx5IGluY3JlYXNlcyB0aGUgc2l6ZSBv ZiB0aGUKPiBEVCkuCj4gCj4gRG9lcyBhbnlvbmUgZnJvbSBEVCBtYWludGFpbmVyc2hpcCBoYXZl IGZlZWRiYWNrIHRvIHByb3ZpZGUgb24gd2hhdCBpcwo+IGV4cGVjdGVkIGhlcmUgZ2VuZXJhbGx5 IHdydCBidWlsZGluZyBhbmQgdGVzdGluZyBEVEJPcz8KPiAKPiBEb2VzIEhlaWtvIGhhdmUgYW4g b3BpbmlvbiBvbiB3aGF0IGhlIHdvdWxkIHByZWZlciB0byBzZWUgaGFwcGVuaW5nCj4gZm9yIFJv Y2tjaGlwPwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K TGludXgtcm9ja2NoaXAgbWFpbGluZyBsaXN0CkxpbnV4LXJvY2tjaGlwQGxpc3RzLmluZnJhZGVh ZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1y b2NrY2hpcAo=