Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp366250pxv; Thu, 22 Jul 2021 02:00:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyR0kW8u2R6CshN0DqGR3+gdEzG2a/7IJVCpzhI2lgRHLmbW6h/vqK1WTayL3UaZ4CuuOpW X-Received: by 2002:aa7:db11:: with SMTP id t17mr52486664eds.297.1626944453509; Thu, 22 Jul 2021 02:00:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626944453; cv=none; d=google.com; s=arc-20160816; b=lFmtQOX9kgLKsvHVwVXRrWvppeBz9Eig3LRO7ViV/MqDqhDfxYa5CZusPeTkVFWRGJ ppDRcvK+C1cwmrTHJStUYfmbzAMt5fvSVWgEP5tWsJoG0YU1sbVkVb3W19Zoz56DpeMn R/EOCGLF7gmX9HkociTnBWj6Y1A6lS2YaSWaICAxr1kBjIwznvB/9UFnzRHYTLxN73E1 Uz1uzDCYR716eHWEFoq0n0zs7s15vubWrOUb22rRDhnmaKXsG5enSuxOaieKncvPM5FP pGq8Ac4Sw1SQKaJSTC2M1MgUuKuMzSAqKmVIgg11y1907rufxUNpsPcLSyt2xyvqjjtS N2Bg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:date:cc:to:from:subject:message-id :dkim-signature; bh=CQGpw4NVj+1pbX1bDpM+6QwYRv1eEl8F0npK6+L1Tbg=; b=np6dCvPu60VFKAluoTMsCt5P92KxpfQ0UaXIgU+ecQr0tRvA2GMeIN6Q7HgC0tPmBR oRaO6jKerQGq5x3JKdZ5aDbn/g8Uyh9RJMVb0KnFNtfyklr50SbgDOyjj/HD4Pnzkpjg 1U7y3zzNjj6c6LEQtoXbwnBcK0zkzW0HYEQa0tZ1TArwbTdEuoigoJ87ZogidDm4BlqI Q4t09AFxd+sNJB2yXwZ1g4UmVlR89RnOt6iABPVR2PAAQnYceEGM7FGkBCiyeJnk77fp SqmM1Loqy0DIplh8BLM8We12NI6ru0QyPh5sb+QaAG9Zf8MTDg5h3xK+XD04uBbjni+q vEng== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=I9dqgvjV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cf9si29667919edb.132.2021.07.22.02.00.29; Thu, 22 Jul 2021 02:00:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=I9dqgvjV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231230AbhGVIPz (ORCPT + 99 others); Thu, 22 Jul 2021 04:15:55 -0400 Received: from mailgw01.mediatek.com ([60.244.123.138]:47300 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S230405AbhGVIPy (ORCPT ); Thu, 22 Jul 2021 04:15:54 -0400 X-UUID: 5f2c97cd0ad141c3b170829db3f91dff-20210722 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=CQGpw4NVj+1pbX1bDpM+6QwYRv1eEl8F0npK6+L1Tbg=; b=I9dqgvjVsyu94ZRStVDPqHQLCVnCdGMfemP7C401hgUw0ecgALoZO00+tvhSOHLAmaMZrMkFp+zozhr3lbrI3uJhInbp7x9F1mXNeH39QY/4cfeT9onC6rxYi6smwP4b0qMqVWcZkOiF5V/YVzFi2cE6FA6+N7ilo5NKZu5n/wc=; X-UUID: 5f2c97cd0ad141c3b170829db3f91dff-20210722 Received: from mtkcas06.mediatek.inc [(172.21.101.30)] by mailgw01.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1204275286; Thu, 22 Jul 2021 16:56:25 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs06n2.mediatek.inc (172.21.101.130) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 22 Jul 2021 16:56:24 +0800 Received: from mtksdccf07 (172.21.84.99) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 22 Jul 2021 16:56:24 +0800 Message-ID: <31bcc613abb0f805400faa8b8108100cb578d9b1.camel@mediatek.com> Subject: Re: [PATCH v2 5/8] ASoC: mediatek: mt8195: add platform driver From: Trevor Wu To: Chen-Yu Tsai CC: Chun-Jie Chen , , , Rob Herring , Matthias Brugger , , , , LKML , , , Jiaxin Yu , "Jimmy Cheng-Yi Chiang" , Li-Yu Yu Date: Thu, 22 Jul 2021 16:56:24 +0800 In-Reply-To: References: <20210629014736.31153-1-trevor.wu@mediatek.com> <20210629014736.31153-6-trevor.wu@mediatek.com> <9929a3a20df1a89fc94baf7c75c0c65d9a61de0f.camel@mediatek.com> <266fd1f5de56743292ac5fc64664113c0bb0e41a.camel@mediatek.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.2 MIME-Version: 1.0 X-MTK: N Content-Transfer-Encoding: base64 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gTW9uLCAyMDIxLTA3LTE5IGF0IDE4OjA1ICswODAwLCBDaGVuLVl1IFRzYWkgd3JvdGU6DQo+ IEhpLA0KPiANCj4gT24gVGh1LCBKdWwgMTUsIDIwMjEgYXQgNzowNSBQTSBUcmV2b3IgV3UgPHRy ZXZvci53dUBtZWRpYXRlay5jb20+DQo+IHdyb3RlOg0KPiA+IA0KPiA+IE9uIFR1ZSwgMjAyMS0w Ny0xMyBhdCAxNDowMCArMDgwMCwgQ2hlbi1ZdSBUc2FpIHdyb3RlOg0KPiA+ID4gT24gTW9uLCBK dWwgMTIsIDIwMjEgYXQgMTE6MTAgUE0gVHJldm9yIFd1IDwNCj4gPiA+IHRyZXZvci53dUBtZWRp YXRlay5jb20+DQo+ID4gPiB3cm90ZToNCj4gPiA+ID4gDQo+ID4gPiA+IE9uIE1vbiwgMjAyMS0w Ny0xMiBhdCAxNDo1NyArMDgwMCwgQ2hlbi1ZdSBUc2FpIHdyb3RlOg0KPiA+ID4gPiA+ICBhcmUg YWxsIGludGVybmFsIEhpLA0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IE9uIFR1ZSwgSnVuIDI5LCAy MDIxIGF0IDk6NDkgQU0gVHJldm9yIFd1IDwNCj4gPiA+ID4gPiB0cmV2b3Iud3VAbWVkaWF0ZWsu Y29tDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiANCj4gPiA+ID4gPiB3cm90ZToNCj4gPiA+ID4g PiA+IA0KPiA+ID4gPiA+ID4gVGhpcyBwYXRjaCBhZGRzIG10ODE5NSBwbGF0Zm9ybSBhbmQgYWZm aWxpYXRlZCBkcml2ZXIuDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6 IFRyZXZvciBXdSA8dHJldm9yLnd1QG1lZGlhdGVrLmNvbT4NCj4gPiA+ID4gPiA+IC0tLQ0KPiA+ ID4gPiA+ID4gIHNvdW5kL3NvYy9tZWRpYXRlay9LY29uZmlnICAgICAgICAgICAgICAgICAgICAg fCAgICA5ICsNCj4gPiA+ID4gPiA+ICBzb3VuZC9zb2MvbWVkaWF0ZWsvTWFrZWZpbGUgICAgICAg ICAgICAgICAgICAgfCAgICAxICsNCj4gPiA+ID4gPiA+ICBzb3VuZC9zb2MvbWVkaWF0ZWsvbXQ4 MTk1L01ha2VmaWxlICAgICAgICAgICAgfCAgIDExICsNCj4gPiA+ID4gPiA+ICBzb3VuZC9zb2Mv bWVkaWF0ZWsvbXQ4MTk1L210ODE5NS1hZmUtY2xrLmMgICAgfCAgODk5ICsrKysrDQo+ID4gPiA+ ID4gPiAgc291bmQvc29jL21lZGlhdGVrL210ODE5NS9tdDgxOTUtYWZlLWNsay5oICAgIHwgIDIw MSArDQo+ID4gPiA+ID4gPiAgc291bmQvc29jL21lZGlhdGVrL210ODE5NS9tdDgxOTUtYWZlLWNv bW1vbi5oIHwgIDIwMCArDQo+ID4gPiA+ID4gPiAgc291bmQvc29jL21lZGlhdGVrL210ODE5NS9t dDgxOTUtYWZlLXBjbS5jICAgIHwgMzI2NA0KPiA+ID4gPiA+ID4gKysrKysrKysrKysrKysrKysN Cj4gPiA+ID4gPiA+ICBzb3VuZC9zb2MvbWVkaWF0ZWsvbXQ4MTk1L210ODE5NS1yZWcuaCAgICAg ICAgfCAyNzkzDQo+ID4gPiA+ID4gPiArKysrKysrKysrKysrKw0KPiA+ID4gPiA+ID4gIDggZmls ZXMgY2hhbmdlZCwgNzM3OCBpbnNlcnRpb25zKCspDQo+ID4gPiA+ID4gPiAgY3JlYXRlIG1vZGUg MTAwNjQ0IHNvdW5kL3NvYy9tZWRpYXRlay9tdDgxOTUvTWFrZWZpbGUNCj4gPiA+ID4gPiA+ICBj cmVhdGUgbW9kZSAxMDA2NDQgc291bmQvc29jL21lZGlhdGVrL210ODE5NS9tdDgxOTUtYWZlLQ0K PiA+ID4gPiA+ID4gY2xrLmMNCj4gPiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgc291bmQv c29jL21lZGlhdGVrL210ODE5NS9tdDgxOTUtYWZlLQ0KPiA+ID4gPiA+ID4gY2xrLmgNCj4gPiA+ ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgc291bmQvc29jL21lZGlhdGVrL210ODE5NS9tdDgx OTUtYWZlLQ0KPiA+ID4gPiA+ID4gY29tbW9uLmgNCj4gPiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAx MDA2NDQgc291bmQvc29jL21lZGlhdGVrL210ODE5NS9tdDgxOTUtYWZlLQ0KPiA+ID4gPiA+ID4g cGNtLmMNCj4gPiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgc291bmQvc29jL21lZGlhdGVr L210ODE5NS9tdDgxOTUtcmVnLmgNCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gZGlmZiAtLWdp dCBhL3NvdW5kL3NvYy9tZWRpYXRlay9LY29uZmlnDQo+ID4gPiA+ID4gPiBiL3NvdW5kL3NvYy9t ZWRpYXRlay9LY29uZmlnDQo+ID4gPiA+ID4gPiBpbmRleCA3NGRhZTQzMzJkMTcuLjMzODlmMzgy YmUwNiAxMDA2NDQNCj4gPiA+ID4gPiA+IC0tLSBhL3NvdW5kL3NvYy9tZWRpYXRlay9LY29uZmln DQo+ID4gPiA+ID4gPiArKysgYi9zb3VuZC9zb2MvbWVkaWF0ZWsvS2NvbmZpZw0KPiA+ID4gPiA+ ID4gQEAgLTE4NCwzICsxODQsMTIgQEAgY29uZmlnDQo+ID4gPiA+ID4gPiBTTkRfU09DX01UODE5 Ml9NVDYzNTlfUlQxMDE1X1JUNTY4Mg0KPiA+ID4gPiA+ID4gICAgICAgICAgIHdpdGggdGhlIE1U NjM1OSBSVDEwMTUgUlQ1NjgyIGF1ZGlvIGNvZGVjLg0KPiA+ID4gPiA+ID4gICAgICAgICAgIFNl bGVjdCBZIGlmIHlvdSBoYXZlIHN1Y2ggZGV2aWNlLg0KPiA+ID4gPiA+ID4gICAgICAgICAgIElm IHVuc3VyZSBzZWxlY3QgIk4iLg0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gK2NvbmZpZyBT TkRfU09DX01UODE5NQ0KPiA+ID4gPiA+ID4gKyAgICAgICB0cmlzdGF0ZSAiQVNvQyBzdXBwb3J0 IGZvciBNZWRpYXRlayBNVDgxOTUgY2hpcCINCj4gPiA+ID4gPiA+ICsgICAgICAgc2VsZWN0IFNO RF9TT0NfTUVESUFURUsNCj4gPiA+ID4gPiA+ICsgICAgICAgaGVscA0KPiA+ID4gPiA+ID4gKyAg ICAgICAgIFRoaXMgYWRkcyBBU29DIHBsYXRmb3JtIGRyaXZlciBzdXBwb3J0IGZvcg0KPiA+ID4g PiA+ID4gTWVkaWF0ZWsNCj4gPiA+ID4gPiA+IE1UODE5NSBjaGlwDQo+ID4gPiA+ID4gPiArICAg ICAgICAgdGhhdCBjYW4gYmUgdXNlZCB3aXRoIG90aGVyIGNvZGVjcy4NCj4gPiA+ID4gPiA+ICsg ICAgICAgICBTZWxlY3QgWSBpZiB5b3UgaGF2ZSBzdWNoIGRldmljZS4NCj4gPiA+ID4gPiA+ICsg ICAgICAgICBJZiB1bnN1cmUgc2VsZWN0ICJOIi4NCj4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9z b3VuZC9zb2MvbWVkaWF0ZWsvTWFrZWZpbGUNCj4gPiA+ID4gPiA+IGIvc291bmQvc29jL21lZGlh dGVrL01ha2VmaWxlDQo+ID4gPiA+ID4gPiBpbmRleCBmNmNiNmI4NTA4ZTMuLjM0Nzc4Y2ExMjEw NiAxMDA2NDQNCj4gPiA+ID4gPiA+IC0tLSBhL3NvdW5kL3NvYy9tZWRpYXRlay9NYWtlZmlsZQ0K PiA+ID4gPiA+ID4gKysrIGIvc291bmQvc29jL21lZGlhdGVrL01ha2VmaWxlDQo+ID4gPiA+ID4g PiBAQCAtNSwzICs1LDQgQEAgb2JqLSQoQ09ORklHX1NORF9TT0NfTVQ2Nzk3KSArPSBtdDY3OTcv DQo+ID4gPiA+ID4gPiAgb2JqLSQoQ09ORklHX1NORF9TT0NfTVQ4MTczKSArPSBtdDgxNzMvDQo+ ID4gPiA+ID4gPiAgb2JqLSQoQ09ORklHX1NORF9TT0NfTVQ4MTgzKSArPSBtdDgxODMvDQo+ID4g PiA+ID4gPiAgb2JqLSQoQ09ORklHX1NORF9TT0NfTVQ4MTkyKSArPSBtdDgxOTIvDQo+ID4gPiA+ ID4gPiArb2JqLSQoQ09ORklHX1NORF9TT0NfTVQ4MTk1KSArPSBtdDgxOTUvDQo+ID4gPiA+ID4g PiBkaWZmIC0tZ2l0IGEvc291bmQvc29jL21lZGlhdGVrL210ODE5NS9NYWtlZmlsZQ0KPiA+ID4g PiA+ID4gYi9zb3VuZC9zb2MvbWVkaWF0ZWsvbXQ4MTk1L01ha2VmaWxlDQo+ID4gPiA+ID4gPiBu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+ID4gPiA+ID4gaW5kZXggMDAwMDAwMDAwMDAwLi5iMmM5 ZmQ4OGYzOWUNCj4gPiA+ID4gPiA+IC0tLSAvZGV2L251bGwNCj4gPiA+ID4gPiA+ICsrKyBiL3Nv dW5kL3NvYy9tZWRpYXRlay9tdDgxOTUvTWFrZWZpbGUNCj4gPiA+ID4gPiA+IEBAIC0wLDAgKzEs MTEgQEANCj4gPiA+ID4gPiA+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wDQo+ ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiArIyBwbGF0Zm9ybSBkcml2ZXINCj4gPiA+ID4gPiA+ ICtzbmQtc29jLW10ODE5NS1hZmUtb2JqcyA6PSBcDQo+ID4gPiA+ID4gPiArICAgICAgIG10ODE5 NS1hZmUtY2xrLm8gXA0KPiA+ID4gPiA+ID4gKyAgICAgICBtdDgxOTUtYWZlLXBjbS5vIFwNCj4g PiA+ID4gPiA+ICsgICAgICAgbXQ4MTk1LWRhaS1hZGRhLm8gXA0KPiA+ID4gPiA+ID4gKyAgICAg ICBtdDgxOTUtZGFpLWV0ZG0ubyBcDQo+ID4gPiA+ID4gPiArICAgICAgIG10ODE5NS1kYWktcGNt Lm8NCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICtvYmotJChDT05GSUdfU05EX1NPQ19NVDgx OTUpICs9IHNuZC1zb2MtbXQ4MTk1LWFmZS5vDQo+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvc291 bmQvc29jL21lZGlhdGVrL210ODE5NS9tdDgxOTUtYWZlLWNsay5jDQo+ID4gPiA+ID4gPiBiL3Nv dW5kL3NvYy9tZWRpYXRlay9tdDgxOTUvbXQ4MTk1LWFmZS1jbGsuYw0KPiA+ID4gPiA+ID4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gPiA+IGluZGV4IDAwMDAwMDAwMDAwMC4uNTdhYTc5 OWI0ZjQxDQo+ID4gPiA+ID4gPiAtLS0gL2Rldi9udWxsDQo+ID4gPiA+ID4gPiArKysgYi9zb3Vu ZC9zb2MvbWVkaWF0ZWsvbXQ4MTk1L210ODE5NS1hZmUtY2xrLmMNCj4gPiA+ID4gPiA+IEBAIC0w LDAgKzEsODk5IEBADQo+ID4gPiA+ID4gPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjANCj4gPiA+ID4gPiA+ICsvKg0KPiA+ID4gPiA+ID4gKyAqIG10ODE5NS1hZmUtY2xrLmMg IC0tICBNZWRpYXRlayA4MTk1IGFmZSBjbG9jayBjdHJsDQo+ID4gPiA+ID4gPiArICoNCj4gPiA+ ID4gPiA+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjEgTWVkaWFUZWsgSW5jLg0KPiA+ID4gPiA+ID4g KyAqIEF1dGhvcjogQmljeWNsZSBUc2FpIDxiaWN5Y2xlLnRzYWlAbWVkaWF0ZWsuY29tPg0KPiA+ ID4gPiA+ID4gKyAqICAgICAgICAgVHJldm9yIFd1IDx0cmV2b3Iud3VAbWVkaWF0ZWsuY29tPg0K PiA+ID4gPiA+ID4gKyAqLw0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gKyNpbmNsdWRlIDxs aW51eC9jbGsuaD4NCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsjaW5jbHVkZSAibXQ4MTk1 LWFmZS1jb21tb24uaCINCj4gPiA+ID4gPiA+ICsjaW5jbHVkZSAibXQ4MTk1LWFmZS1jbGsuaCIN Cj4gPiA+ID4gPiA+ICsjaW5jbHVkZSAibXQ4MTk1LXJlZy5oIg0KPiA+ID4gPiA+ID4gKw0KPiA+ ID4gPiA+ID4gK3N0YXRpYyBjb25zdCBjaGFyICphdWRfY2xrc1tNVDgxOTVfQ0xLX05VTV0gPSB7 DQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gTW9zdCBvZiB0aGVzZSBjbG9ja3MgYXJlIG5vdCBkZXNj cmliZWQgaW4gdGhlIGRldmljZSB0cmVlDQo+ID4gPiA+ID4gYmluZGluZy4gSWYNCj4gPiA+ID4g PiB0aGUgZHJpdmVyIG5lZWRzIHRvIHJlZmVyZW5jZSB0aGVtLCB0aGV5IHNob3VsZCBiZSBkZXNj cmliZWQuDQo+ID4gPiA+ID4gV2UNCj4gPiA+ID4gPiBzaG91bGQNCj4gPiA+ID4gPiBub3QgYmUg aGFyZC1jb2RpbmcgY2xvY2sgbmFtZXMgYWNyb3NzIGRpZmZlcmVudCBkcml2ZXJzLg0KPiA+ID4g PiA+IA0KPiA+ID4gPiANCj4gPiA+ID4gU29ycnksIEkgZGlkbid0IGtub3cgSSBoYXZlIHRvIGxp c3QgYWxsIGNsb2NrcyBpbiB0aGUgZHQtDQo+ID4gPiA+IGJpbmRpbmcuDQo+ID4gPiA+IE9yaWdp bmFsbHksIEkgdGhvdWdodCB0aGVzZSBjbG9ja3Mgd2lsbCBiZSBkZXNjcmliZWQgaW4gdGhlDQo+ ID4gPiA+IGNsb2NrDQo+ID4gPiA+IGJpbmRpbmcsIHNvIEkgZGlkbid0IGFkZCB0aGVtIHRvIHRo ZSBiaW5kaW5nIG9mIGFmZSBkcml2ZXIuDQo+ID4gPiA+IEkgd2lsbCBhZGQgdGhlc2UgY2xvY2tz IHRvIG10ODE5NS1hZmUtcGNtLnlhbWwuDQo+ID4gPiANCj4gPiA+IElmIHRoZSBkZXZpY2UgY29u c3VtZXMgY2xvY2tzLCB0aGVuIHRoZSBjbG9ja3MgdGhhdCBnZXQgY29uc3VtZWQNCj4gPiA+IHNo b3VsZA0KPiA+ID4gYmUgbGlzdGVkIGluIHRoZSBkZXZpY2UncyBiaW5kaW5ncy4gVGhpcyBpcyBu b3QgcmVsYXRlZCB0byB0aGUNCj4gPiA+IGNsb2NrDQo+ID4gPiBiaW5kaW5ncywgd2hpY2ggaXMg YSBjbG9jayBwcm92aWRlci4NCj4gPiA+IA0KPiA+IA0KPiA+IEdvdCBpdC4gVGhhbmtzLg0KPiA+ IA0KPiA+ID4gPiA+IFRoZSBtb3JlIGltcG9ydGFudCBxdWVzdGlvbiBpcywgd2h5IGRvZXMgdGhl IGRyaXZlciBuZWVkIHRvDQo+ID4gPiA+ID4gcmVmZXJlbmNlDQo+ID4gPiA+ID4gYWxsIG9mIHRo ZW0/IE1heWJlIHdlIHNob3VsZCB0YWtlIGEgc3RlcCBiYWNrIGFuZCBkcmF3IG91dCBhDQo+ID4g PiA+ID4gY2xvY2sNCj4gPiA+ID4gPiB0cmVlDQo+ID4gPiA+ID4gZGlhZ3JhbSBmb3IgdGhlIGhh cmR3YXJlPw0KPiA+ID4gPiA+IA0KPiA+ID4gPiANCj4gPiA+ID4gVGhlIGNsb2NrIHN0cnVjdHVy ZSBpcyBQTEwgLT4gTVVYIC0+IEdBVEUuDQo+ID4gPiA+IHh0YWwsIHBsbCBhbmQgZGl2aWRlciBh cmUgdGhlIHBvc3NpYmxlIGNsb2NrIGlucHV0cyBmb3IgTVVYLg0KPiA+ID4gPiBCZWNhdXNlIHdl IHNlbGVjdCB0aGUgY2xvY2sgaW5wdXQgb2YgYXVkaW8gbW9kdWxlIGJhc2VkIG9uIHRoZQ0KPiA+ ID4gPiB1c2UNCj4gPiA+ID4gY2FzZSwgd2UgdXNlIGNsa19nZXQgdG8gcmV0cml2ZSBhbGwgY2xv Y2tzIHdoaWNoIGFyZSBwb3NzaWJsZQ0KPiA+ID4gPiB0byBiZQ0KPiA+ID4gPiB1c2VkLg0KPiA+ ID4gDQo+ID4gPiBTbyBJIHNlZSBhIGNvdXBsZSB0aGUgZHJpdmVyIGlzIGRvaW5nIHJlcGFyZW50 aW5nOg0KPiA+ID4gDQo+ID4gPiAgIGEuIFJlcGFyZW50IGF1ZGlvX2ggdG8gc3RhbmRhcmQgb3Nj aWxsYXRvciB3aGVuIEFEREEgaXMgbm90DQo+ID4gPiB1c2VkLA0KPiA+ID4gICAgICBwcmVzdW1h Ymx5IHRvIGxldCB0aGUgQVBMTCBiZSB0dXJuZWQgb2ZmDQo+ID4gPiANCj4gPiA+IFdoeSBub3Qg anVzdCB0dXJuIG9mZiBhdWRpb19oPyBJdCBsb29rcyBsaWtlIGF1ZGlvX2ggZmVlZHMgYQ0KPiA+ ID4gY291cGxlDQo+ID4gPiBjbG9jaw0KPiA+ID4gZ2F0ZXMgaW4gdGhlIGF1ZGlvIHN1YnN5c3Rl bS4gSnVzdCBhIGd1ZXNzLCBidXQgaXMgdGhpcyB0aGUgQUhCDQo+ID4gPiBidXMNCj4gPiA+IGNs b2NrPw0KPiA+ID4gV2h5IG5vdCBqdXN0IGhhdmUgaXQgcGFyZW50ZWQgdG8gInVuaXZwbGxfZDci IGFsbCB0aGUgdGltZSB0aGVuPw0KPiA+ID4gDQo+ID4gDQo+ID4gU29ycnksIEkgYW0gbm90IHN1 cmUgaWYgaXQgaXMgdGhlIEFIQiBidXMgY2xvY2suDQo+ID4gSSBvbmx5IGtub3cgaG93IGF1ZGlv IG1vZHVsZSB1c2VzIHRoZSBjbG9jay4NCj4gPiBhdWRpb19oIGZlZWRzIHRvIHNvbWUgY2xvY2sg Z2F0ZSBsaWtlIGF1ZF9hZGNfaGlyZXMsIHdoaWNoIGlzIHVzZWQNCj4gPiB3aGVuDQo+ID4gc2Ft cGxpbmcgcmF0ZSBpcyBoaWdoZXIgdGhhbiA0OGtIeiwgYW5kIGhhcmR3YXJlIGRlc2lnbmVyIHN1 Z2dlc3RzDQo+ID4gdXMNCj4gPiB1c2UgYXBsbDFfY2sgd2hlbiBBRkUgcmVxdXJpcmVzIHRoZSBj bG9jay4NCj4gDQo+IEkgc2VlLiBTbyB0aGUgc2ltcGxpZmllZCBleHBsYW5hdGlvbiBpcyBoaWdo IGNsb2NrIHJhdGUgZm9yIGhpZ2ggcmVzDQo+IGF1ZGlvLg0KPiBXb3VsZCBoaWdoIGNsb2NrIHJh dGUgd29yayBmb3Igc3RhbmRhcmQgc2FtcGxlIHJhdGVzPw0KDQpBcyBmYXIgYXMgSSBrbm93LCBI VyB3aWxsIHN3aXRjaCBjbG9jayB0byBoaXJlcyBjbG9jayBhdXRvbWF0aWNhbGx5DQp3aGVuIHRo ZSByZXF1aXJlZCByYXRlIGlzIGhpZ2gsKGV4OiBhdWRfYWRjIGFuZCBhdWRfYWRjX2hpcmVzKSBz byBpdA0KY2FuJ3QgYmUgY29udHJvbGxlZCBieSBkcml2ZXIuDQoNCj4gV291bGQgdXNpbmcgYXBs bDEgb3IgdW5pdnBsbCBhbGwgdGhlIHRpbWUgd29yaywgaW5zdGVhZCBvZg0KPiByZXBhcmVudGlu Zz8NCj4gV2hhdCdzIHRoZSBnYWluIGlmIHdlIGRvIHJlcGFyZW50aW5nPw0KPiANCg0KQXMgeW91 IHNhaWQgYmVmb3JlLCB0aGUgZ2FpbiBpcyBhcGxsIGNhbiBiZSB0dXJuZWQgb2ZmIHdoZW4gdGhl IGNsb2NrDQppcyBub3QgcmVxdXJpcmVkIGJ5IEFEREEuIFRoYXQncyB3aHkgd2UgZGlkbid0IHVz ZSBhcGxsIGFsbCB0aGUgdGltZS4NCg0KPiA+IEFzIEkga25vdywgRFNQIGFsc28gcmVxdWlyZXMg YXVkaW9faC4NCj4gPiBXaGVuIHdlIGRpc2FibGUgdGhlIGNsb2NrIGluIEFGRSBkcml2ZXIsIHRo ZSByZWYgY291bnQgaW4gQ0NGIGlzDQo+ID4gbm90DQo+ID4gYmVjb21pbmcgemVybyBpZiBEU1Ag c3RpbGwgdXNlcyBpdC4NCj4gPiBCdXQgb25seSBBRkUgcmVxdWlyZXMgaGlnaGVyIGNsb2NrIHJh dGUsIHNvIHdlIHJlcGFyZW50IGF1ZGlvX2ggdG8NCj4gPiAyNk0NCj4gPiB3aGVuIGl0J3Mgbm90 IHJlcXVpcmVkIGluIGFkZGEgbW9kdWxlLg0KPiANCj4gSSBzZWUuIFdvdWxkbid0IHJlcGFyZW50 aW5nIHRoZSBjbG9jayB3aGlsZSBpdCBpcyBpbiB1c2UgYnkgYW5vdGhlcg0KPiBtb2R1bGUNCj4g Y2F1c2UgZ2xpdGNoZXM/DQoNCkkgY2hlY2tlZCB3aXRoIHRoZSBEU1Agb3duZXIuDQphdWRpb19o IGNsb2NrIGlzIHJlcXVpcmVkIGZvciBEU1AgYnVzLCBidXQgdGhlIGNsb2NrIHJhdGUgaXMgbm90 DQppbXBvcnRhbnQuDQpUaGUgb25seSB0aGluZyBpdCBjYXJlcyBpcyBhdWRpb19oIHNob3VsZCBi ZSBwb3dlcmVkIG9uLCBzbyByZXBhcmVudGluZw0KaXMgaGFybWxlc3MgZm9yIERTUC4NCg0KPiAN Cj4gPiA+IEFsc28sIHJlcGFyZW50aW5nIHJlYWxseSBzaG91bGQgYmUgZG9uZSBpbXBsaWNpdGx5 IHdpdGgNCj4gPiA+IGNsa19zZXRfcmF0ZSgpDQo+ID4gPiB3aXRoIHRoZSBjbG9jayBkcml2ZXIg c3VwcG9ydGluZyByZXBhcmVudGluZyBvbiByYXRlIGNoYW5nZXMuDQo+ID4gPiANCj4gPiA+ICAg Yi4gQXNzaWdubWVudCBvZiBQTExzIGZvciBJMlMvUENNIE1DTEsgb3V0cHV0cw0KPiA+ID4gDQo+ ID4gPiBJcyB0aGVyZSBhIHJlYXNvbiBmb3IgZXhwbGljaXQgYXNzaWdubWVudCwgb3RoZXIgdGhh biBjbG9jayByYXRlDQo+ID4gPiBjb25mbGljdHM/DQo+ID4gPiBDQ0Ygc3VwcG9ydHMgcmVxdWVz dGluZyBhbmQgbG9ja2luZyB0aGUgY2xvY2sgcmF0ZS4gQW5kIGFnYWluLA0KPiA+ID4gaW1wbGlj aXQNCj4gPiA+IHJlcGFyZW50aW5nIHNob3VsZCBiZSB0aGUgbm9ybS4gVGhlIGNsb2NrIGRyaXZl cidzIHB1cnBvc2UgaXMgdG8NCj4gPiA+IGZ1bGZpbGwNCj4gPiA+IGFueSBhbmQgYWxsIGNsb2Nr IHJhdGUgcmVxdWlyZW1lbnRzIGZyb20gaXRzIGNvbnN1bWVycy4gVGhlDQo+ID4gPiBjb25zdW1l cg0KPiA+ID4gc2hvdWxkDQo+ID4gPiBvbmx5IG5lZWQgdG8gYXNrIGZvciB0aGUgY2xvY2sgcmF0 ZSwgbm90IGEgc3BlY2lmaWMgcGFyZW50LA0KPiA+ID4gdW5sZXNzDQo+ID4gPiB0aGVyZQ0KPiA+ ID4gYXJlIGRldGFpbHMgdGhhdCBhcmUgbm90IHlldCBjb3ZlcmVkIGJ5IHRoZSBDQ0YuDQo+ID4g PiANCj4gPiANCj4gPiBGb3IgTUNMSyBvdXRwdXQsIHdlIHNob3VsZCBjb25maWd1cmUgZGl2aWRl ciB0byBnZXQgdGhlIHRhcmdldA0KPiA+IHJhdGUsDQo+ID4gYW5kIGl0IGNhbiBvbmx5IGRpdmlk ZSB0aGUgY2xvY2sgZnJvbSBjdXJyZW50IHBhcmVudCBzb3VyY2UuDQo+ID4gU28gd2Ugc2hvdWxk IGRvIHJlcGFyZW50IHRvIGRpdmlkZXIncyBwYXJlbnQgaW4gY2FzZSB0aGUgcGFyZW50DQo+ID4g cmF0ZSBpcw0KPiA+IG5vdCBhIG11bHRpcGxlIG9mIHRhcmdldCByYXRlLg0KPiANCj4gUmlnaHQu IFRoYXQgaXMgZXhwZWN0ZWQuIFdoYXQgSSdtIHNheWluZyBpcyB0aGF0IHRoZSBDQ0YgcHJvdmlk ZXMgdGhlDQo+IGZyYW1ld29yayBmb3IgYXV0b21hdGljYWxseSByZXBhcmVudGluZyBiYXNlZCBv biB0aGUgcmVxdWVzdGVkIGNsb2NrDQo+IHJhdGUuIFRoaXMgaXMgZG9uZSBpbiB0aGUgY2xvY2sg ZHJpdmVyJ3MgLmRldGVybWluZV9yYXRlIG9wLg0KPiANCj4gV2hlbiBwcm9wZXJseSBpbXBsZW1l bnRlZCwgYW5kIGFsc28gcmVzdHJpY3Rpbmcgb3IgbG9ja2luZyB0aGUgY2xvY2sNCj4gcmF0ZXMN Cj4gb2YgdGhlIFBMTHMsIHRoZW4geW91IGNhbiBzaW1wbHkgcmVxdWVzdCBhIGNsb2NrIHJhdGUg b24gdGhlIGxlYWYNCj4gY2xvY2ssDQo+IGluIHRoaXMgY2FzZSBvbmUgb2YgdGhlIE1DTEtzLCBh bmQgdGhlIENDRiBhbmQgY2xvY2sgZHJpdmVyIHdvdWxkDQo+IGhhbmRsZQ0KPiBldmVyeXRoaW5n IGVsc2UuIFRoZSBjb25zdW1lciBzaG91bGQgbm90IGJlIHJlcGFyZW50aW5nIGNsb2Nrcw0KPiBt YW51YWxseQ0KPiB1bmxlc3MgZm9yIGEgdmVyeSBnb29kIHJlYXNvbiB3aGljaCBjYW5ub3QgYmUg c2F0aXNmaWVkIGJ5IHRoZSBDQ0YuDQo+IA0KDQpJbiBzb21lIHVzZSBjYXNlcywgd2UgcmVhbGx5 IG5lZWQgdG8gcmVwYXJlbnQgY2xvY2sgbWFudWFsbHkuDQpGb3IgZXhhbXBsZSwgc3BkaWYgaW4o c2xhdmUpIC0+IC4uLi4gLT4gaTJzIG91dChtYXN0ZXIpDQoNCkFQTEwzL0FQTEw0IGFyZSByZXNl cnZlZCBmb3Igc2xhdmUgaW5wdXQgbGlrZSBlYXJjIGluIG9yIHNwZGlmIGluLA0Kd2hpY2ggY2Fu IHJlZmVyIHRvIHRoZSBleHRlcm5hbCBjbG9jayBzb3VyY2UuKEFQTEwzIHN5bmNzIHdpdGggZWFy YywNCmFuZCBBUExMNCBzeW5jcyB3aXRoIHNwZGlmIGluLikNCg0KV2hlbiBpMnMgb3V0IHNlbGVj dHMgdGhlIGNsb2NrIHNvdXJjZSB0byBBUExMNCwgdGhpcyBtYWtlcyBzdXJlIHRoYXQNCnNwZGlm IGluIGFuZCBpMnMgb3V0IHdvcmtzIGluIHRoZSBzYW1lIGNsb2NrIHNvdXJjZS4NCklmIHdlIGp1 c3QgdXNlIEFQTEwxL0FQTEwyIG9uIGkycyBvdXQsIHRoZXJlIGlzIGxpdHRsZSByYXRlIG1pc21h dGNoDQpiZXR3ZWVuIGRhdGEgaW5wdXQgYW5kIG91dHB1dC4gRmluYWxseSwgaXQgcmVzdWx0cyBp biBYUlVOLg0KDQpJZiB3ZSBvbmx5IHVzZSBzZXRfcmF0ZSwgaXQncyBwb3NzaWJsZSB0aGF0IGl0 IGNhbid0IHN3aXRjaCB0byB0aGUNCmV4cGVjdGVkIFBMTCBzb3VyY2UsIGJlY2F1c2UgdGhlIHJh dGUgb2YgQVBMTDMvQVBMTDQgc2hvdWxkIGJlIGNsb3NlIHRvDQpBUExMMS9BUExMMi4NCg0KPiA+ IA0KPiA+ID4gQSByZWxhdGVkIHF1ZXN0aW9uOiB0aGUgY2hpcCBoYXMgZml2ZSBBUExMcy4gSG93 IG1hbnkgTUNMSw0KPiA+ID4gY29tYmluYXRpb25zDQo+ID4gPiBkb2VzIHRoZSBhcHBsaWNhdGlv biBuZWVkIHRvIHN1cHBvcnQ/IEkgYXNzdW1lIHRoaXMgaW5jbHVkZXMgdGhlDQo+ID4gPiBzdGFu ZGFyZA0KPiA+ID4gMjQuNTc2IE1IeiBhbmQgMjIuNTc5MiBNSHogY2xvY2sgcmF0ZXMuDQo+ID4g PiANCj4gPiANCj4gPiBBUExMMSBhbmQgQVBMTDIgYXJlIHVzZWQgaW4gbW9zdCBBRkUgbW9kdWxl cywgc28gdGhlaXIgcmF0ZSBzaG91bGQNCj4gPiBiZQ0KPiA+IGZpeGVkLg0KPiA+IEFQTEwxIGlz IGZpeGVkIHRvIDE5NjYwODAwMEh6Lg0KPiA+IEFQTEwyIGlzIGZpeGVkIHRvIDE4MDYzMzYwMEh6 Lg0KPiA+IEFQTEwgaXMgaW5wdXRlZCB0byB0aGUgZGl2aWRlcig4Yml0KSwgYW5kIE1DTEsgaXMg dGhlIG91dHB1dCBvZg0KPiA+IGRpdmlkZXIuDQo+ID4gT3RoZXIgQVBMTHMgYXJlIHJlc2VydmVk IGZvciBzb21lIHNwZWNpYWwgdXNhZ2Ugd2hpY2ggY2FuJ3QgYmUNCj4gPiBzdXBwb3J0ZWQgYnkg QVBMTDEgJiBBUExMMi4NCj4gPiBCdXQgQVBMTDN+QVBMTDUgYXJlbid0IHVzZWQgaW4gdGhlIHNl cmllcywgc28gSSB3aWxsIHJlbW92ZSB0aGVtIGluDQo+ID4gdjMuDQo+ID4gDQo+ID4gPiA+IFNv bWUgb2YgdGhlbSBhcmUgbm90IHVzZWQgaW4gdGhpcyBzZXJpZXMsIGJlY2F1c2Ugc29tZSBtb2R1 bGVzDQo+ID4gPiA+IGFyZQ0KPiA+ID4gPiBzdGlsbCBkZXZlbG9waW5nLiBTaG91bGQgSSBvbmx5 IGtlZXAgdGhlIGNsb2NrcyB0aGF0IGhhdmUgYmVlbg0KPiA+ID4gPiB1c2VkDQo+ID4gPiA+IGlu DQo+ID4gPiA+IHRoZSBzZXJpZXM/DQo+ID4gPiANCj4gPiA+IFllcyBwbGVhc2UuIE9ubHkgYWRk IHRoZSBvbmVzIHRoYXQgYXJlIHVzZWQuIFRoaW5ncyB0aGF0IGFyZW4ndA0KPiA+ID4gdXNlZA0K PiA+ID4gZG9uJ3QgZ2V0IHRlc3RlZCBhbmQgdmVyaWZpZWQsIGFuZCBlbmQgdXAgYXMgZGVhZCBj b2RlLiBJZiB0aGVyZQ0KPiA+ID4gYXJlDQo+ID4gPiBwbGFucyB0byBleHRlbmQgdGhlbSBpbiB0 aGUgZnV0dXJlLCBhbmQgeW91IGNhbiBsZWF2ZSBjb21tZW50cw0KPiA+ID4gc3RhdGluZw0KPiA+ ID4gdGhhdCBpbnRlbnQsIGFuZCBhbHNvIG1lbnRpb24gaXQgaW4gdGhlIGNvdmVyIGxldHRlci4N Cj4gPiA+IA0KPiA+IA0KPiA+IE9LLCBJIHdpbGwgcmVtb3ZlIHRoZSB1bnVzZWQgY2xvY2sgaW4g djMuDQo+ID4gDQo+ID4gPiA+ID4gPiArICAgICAgIC8qIHh0YWwgKi8NCj4gPiA+ID4gPiA+ICsg ICAgICAgW01UODE5NV9DTEtfWFRBTF8yNk1dID0gImNsazI2bSIsDQo+ID4gPiA+ID4gPiArICAg ICAgIC8qIHBsbCAqLw0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4MTk1X0NMS19BUE1JWEVEX0FQ TEwxXSA9ICJhcGxsMSIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX0FQTUlYRURf QVBMTDJdID0gImFwbGwyIiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfQVBNSVhF RF9BUExMM10gPSAiYXBsbDMiLA0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4MTk1X0NMS19BUE1J WEVEX0FQTEw0XSA9ICJhcGxsNCIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX0FQ TUlYRURfQVBMTDVdID0gImFwbGw1IiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtf QVBNSVhFRF9IRE1JUlhfQVBMTF0gPSAiaGRtaXJ4X2FwbGwiLA0KPiA+ID4gPiA+ID4gKyAgICAg ICAvKiBkaXZpZGVyICovDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX1RPUF9BUExM MV0gPSAiYXBsbDFfY2siLA0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4MTk1X0NMS19UT1BfQVBM TDFfRDRdID0gImFwbGwxX2Q0IiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfVE9Q X0FQTEwyXSA9ICJhcGxsMl9jayIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX1RP UF9BUExMMl9ENF0gPSAiYXBsbDJfZDQiLA0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4MTk1X0NM S19UT1BfQVBMTDNdID0gImFwbGwzX2NrIiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9D TEtfVE9QX0FQTEwzX0Q0XSA9ICJhcGxsM19kNCIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgx OTVfQ0xLX1RPUF9BUExMNF0gPSAiYXBsbDRfY2siLA0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4 MTk1X0NMS19UT1BfQVBMTDRfRDRdID0gImFwbGw0X2Q0IiwNCj4gPiA+ID4gPiA+ICsgICAgICAg W01UODE5NV9DTEtfVE9QX0FQTEw1XSA9ICJhcGxsNV9jayIsDQo+ID4gPiA+ID4gPiArICAgICAg IFtNVDgxOTVfQ0xLX1RPUF9BUExMNV9ENF0gPSAiYXBsbDVfZDQiLA0KPiA+ID4gPiA+ID4gKyAg ICAgICBbTVQ4MTk1X0NMS19UT1BfQVBMTDEyX0RJVjBdID0gImFwbGwxMl9kaXYwIiwNCj4gPiA+ ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfVE9QX0FQTEwxMl9ESVYxXSA9ICJhcGxsMTJfZGl2 MSIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX1RPUF9BUExMMTJfRElWMl0gPSAi YXBsbDEyX2RpdjIiLA0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4MTk1X0NMS19UT1BfQVBMTDEy X0RJVjNdID0gImFwbGwxMl9kaXYzIiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtf VE9QX0FQTEwxMl9ESVY0XSA9ICJhcGxsMTJfZGl2NCIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtN VDgxOTVfQ0xLX1RPUF9BUExMMTJfRElWOV0gPSAiYXBsbDEyX2RpdjkiLA0KPiA+ID4gPiA+ID4g KyAgICAgICBbTVQ4MTk1X0NMS19UT1BfSERNSVJYX0FQTExdID0gImhkbWlyeF9hcGxsX2NrIiwN Cj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfVE9QX01BSU5QTExfRDRfRDRdID0gIm1h aW5wbGxfZDRfZDQiLA0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4MTk1X0NMS19UT1BfTUFJTlBM TF9ENV9EMl0gPSAibWFpbnBsbF9kNV9kMiIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVf Q0xLX1RPUF9NQUlOUExMX0Q3X0QyXSA9ICJtYWlucGxsX2Q3X2QyIiwNCj4gPiA+ID4gPiA+ICsg ICAgICAgW01UODE5NV9DTEtfVE9QX1VOSVZQTExfRDRdID0gInVuaXZwbGxfZDQiLA0KPiA+ID4g PiA+ID4gKyAgICAgICAvKiBtdXggKi8NCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtf VE9QX0FQTEwxX1NFTF0gPSAiYXBsbDFfc2VsIiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5 NV9DTEtfVE9QX0FQTEwyX1NFTF0gPSAiYXBsbDJfc2VsIiwNCj4gPiA+ID4gPiA+ICsgICAgICAg W01UODE5NV9DTEtfVE9QX0FQTEwzX1NFTF0gPSAiYXBsbDNfc2VsIiwNCj4gPiA+ID4gPiA+ICsg ICAgICAgW01UODE5NV9DTEtfVE9QX0FQTEw0X1NFTF0gPSAiYXBsbDRfc2VsIiwNCj4gPiA+ID4g PiA+ICsgICAgICAgW01UODE5NV9DTEtfVE9QX0FQTEw1X1NFTF0gPSAiYXBsbDVfc2VsIiwNCj4g PiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfVE9QX0ExU1lTX0hQX1NFTF0gPSAiYTFzeXNf aHBfc2VsIiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfVE9QX0EyU1lTX1NFTF0g PSAiYTJzeXNfc2VsIiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfVE9QX0EzU1lT X1NFTF0gPSAiYTNzeXNfc2VsIiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfVE9Q X0E0U1lTX1NFTF0gPSAiYTRzeXNfc2VsIiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9D TEtfVE9QX0FTTV9IX1NFTF0gPSAiYXNtX2hfc2VsIiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01U ODE5NV9DTEtfVE9QX0FTTV9NX1NFTF0gPSAiYXNtX21fc2VsIiwNCj4gPiA+ID4gPiA+ICsgICAg ICAgW01UODE5NV9DTEtfVE9QX0FTTV9MX1NFTF0gPSAiYXNtX2xfc2VsIiwNCj4gPiA+ID4gPiA+ ICsgICAgICAgW01UODE5NV9DTEtfVE9QX0FVRF9JRUNfU0VMXSA9ICJhdWRfaWVjX3NlbCIsDQo+ ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX1RPUF9BVURfSU5UQlVTX1NFTF0gPSAiYXVk X2ludGJ1c19zZWwiLA0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4MTk1X0NMS19UT1BfQVVESU9f SF9TRUxdID0gImF1ZGlvX2hfc2VsIiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtf VE9QX0FVRElPX0xPQ0FMX0JVU19TRUxdID0NCj4gPiA+ID4gPiA+ICJhdWRpb19sb2NhbF9idXNf c2VsIiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfVE9QX0RQVFhfTV9TRUxdID0g ImRwdHhfbV9zZWwiLA0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4MTk1X0NMS19UT1BfSU5URElS X1NFTF0gPSAiaW50ZGlyX3NlbCIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX1RP UF9JMlNPMV9NX1NFTF0gPSAiaTJzbzFfbV9zZWwiLA0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4 MTk1X0NMS19UT1BfSTJTTzJfTV9TRUxdID0gImkyc28yX21fc2VsIiwNCj4gPiA+ID4gPiA+ICsg ICAgICAgW01UODE5NV9DTEtfVE9QX0kyU0kxX01fU0VMXSA9ICJpMnNpMV9tX3NlbCIsDQo+ID4g PiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX1RPUF9JMlNJMl9NX1NFTF0gPSAiaTJzaTJfbV9z ZWwiLA0KPiA+ID4gPiA+ID4gKyAgICAgICAvKiBjbG9jayBnYXRlICovDQo+ID4gPiA+ID4gPiAr ICAgICAgIFtNVDgxOTVfQ0xLX1RPUF9NUEhPTkVfU0xBVkVfQl0gPSAibXBob25lX3NsYXZlX2Ii LA0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4MTk1X0NMS19UT1BfQ0ZHXzI2TV9BVURdID0gImNm Z18yNm1fYXVkIiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfSU5GUkFfQU9fQVVE SU9dID0gImluZnJhX2FvX2F1ZGlvIiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtf SU5GUkFfQU9fQVVESU9fMjZNX0JdID0NCj4gPiA+ID4gPiA+ICJpbmZyYV9hb19hdWRpb18yNm1f YiIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX1NDUF9BRFNQX0FVRElPRFNQXSA9 DQo+ID4gPiA+ID4gPiAic2NwX2Fkc3BfYXVkaW9kc3AiLA0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+ IA0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4MTk1X0NMS19BVURfQUZFXSA9ICJhdWRfYWZlIiwN Cj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfQVVEX0xSQ0tfQ05UXSA9ICJhdWRfbHJj a19jbnQiLA0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4MTk1X0NMS19BVURfU1BESUZJTl9UVU5F Ul9BUExMXSA9DQo+ID4gPiA+ID4gPiAiYXVkX3NwZGlmaW5fdHVuZXJfYXBsbCIsDQo+ID4gPiA+ ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX0FVRF9TUERJRklOX1RVTkVSX0RCR10gPQ0KPiA+ID4g PiA+ID4gImF1ZF9zcGRpZmluX3R1bmVyX2RiZyIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgx OTVfQ0xLX0FVRF9VTF9UTUxdID0gImF1ZF91bF90bWwiLA0KPiA+ID4gPiA+ID4gKyAgICAgICBb TVQ4MTk1X0NMS19BVURfQVBMTDFfVFVORVJdID0gImF1ZF9hcGxsMV90dW5lciIsDQo+ID4gPiA+ ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX0FVRF9BUExMMl9UVU5FUl0gPSAiYXVkX2FwbGwyX3R1 bmVyIiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfQVVEX1RPUDBfU1BERl0gPSAi YXVkX3RvcDBfc3BkZiIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX0FVRF9BUExM XSA9ICJhdWRfYXBsbCIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX0FVRF9BUExM Ml0gPSAiYXVkX2FwbGwyIiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfQVVEX0RB Q10gPSAiYXVkX2RhYyIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX0FVRF9EQUNf UFJFRElTXSA9ICJhdWRfZGFjX3ByZWRpcyIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVf Q0xLX0FVRF9UTUxdID0gImF1ZF90bWwiLA0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4MTk1X0NM S19BVURfQURDXSA9ICJhdWRfYWRjIiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtf QVVEX0RBQ19ISVJFU10gPSAiYXVkX2RhY19oaXJlcyIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtN VDgxOTVfQ0xLX0FVRF9BMVNZU19IUF0gPSAiYXVkX2Exc3lzX2hwIiwNCj4gPiA+ID4gPiA+ICsg ICAgICAgW01UODE5NV9DTEtfQVVEX0FGRV9ETUlDMV0gPSAiYXVkX2FmZV9kbWljMSIsDQo+ID4g PiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX0FVRF9BRkVfRE1JQzJdID0gImF1ZF9hZmVfZG1p YzIiLA0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4MTk1X0NMS19BVURfQUZFX0RNSUMzXSA9ICJh dWRfYWZlX2RtaWMzIiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfQVVEX0FGRV9E TUlDNF0gPSAiYXVkX2FmZV9kbWljNCIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xL X0FVRF9BRkVfMjZNX0RNSUNfVE1dID0NCj4gPiA+ID4gPiA+ICJhdWRfYWZlXzI2bV9kbWljX3Rt IiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfQVVEX1VMX1RNTF9ISVJFU10gPSAi YXVkX3VsX3RtbF9oaXJlcyIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX0FVRF9B RENfSElSRVNdID0gImF1ZF9hZGNfaGlyZXMiLA0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4MTk1 X0NMS19BVURfQUREQTZfQURDXSA9ICJhdWRfYWRkYTZfYWRjIiwNCj4gPiA+ID4gPiA+ICsgICAg ICAgW01UODE5NV9DTEtfQVVEX0FEREE2X0FEQ19ISVJFU10gPQ0KPiA+ID4gPiA+ID4gImF1ZF9h ZGRhNl9hZGNfaGlyZXMiLA0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4MTk1X0NMS19BVURfTElO RUlOX1RVTkVSXSA9ICJhdWRfbGluZWluX3R1bmVyIiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01U ODE5NV9DTEtfQVVEX0VBUkNfVFVORVJdID0gImF1ZF9lYXJjX3R1bmVyIiwNCj4gPiA+ID4gPiA+ ICsgICAgICAgW01UODE5NV9DTEtfQVVEX0kyU0lOXSA9ICJhdWRfaTJzaW4iLA0KPiA+ID4gPiA+ ID4gKyAgICAgICBbTVQ4MTk1X0NMS19BVURfVERNX0lOXSA9ICJhdWRfdGRtX2luIiwNCj4gPiA+ ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfQVVEX0kyU19PVVRdID0gImF1ZF9pMnNfb3V0IiwN Cj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfQVVEX1RETV9PVVRdID0gImF1ZF90ZG1f b3V0IiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfQVVEX0hETUlfT1VUXSA9ICJh dWRfaGRtaV9vdXQiLA0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4MTk1X0NMS19BVURfQVNSQzEx XSA9ICJhdWRfYXNyYzExIiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfQVVEX0FT UkMxMl0gPSAiYXVkX2FzcmMxMiIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX0FV RF9NVUxUSV9JTl0gPSAiYXVkX211bHRpX2luIiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5 NV9DTEtfQVVEX0lOVERJUl0gPSAiYXVkX2ludGRpciIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtN VDgxOTVfQ0xLX0FVRF9BMVNZU10gPSAiYXVkX2Exc3lzIiwNCj4gPiA+ID4gPiA+ICsgICAgICAg W01UODE5NV9DTEtfQVVEX0EyU1lTXSA9ICJhdWRfYTJzeXMiLA0KPiA+ID4gPiA+ID4gKyAgICAg ICBbTVQ4MTk1X0NMS19BVURfUENNSUZdID0gImF1ZF9wY21pZiIsDQo+ID4gPiA+ID4gPiArICAg ICAgIFtNVDgxOTVfQ0xLX0FVRF9BM1NZU10gPSAiYXVkX2Ezc3lzIiwNCj4gPiA+ID4gPiA+ICsg ICAgICAgW01UODE5NV9DTEtfQVVEX0E0U1lTXSA9ICJhdWRfYTRzeXMiLA0KPiA+ID4gPiA+ID4g KyAgICAgICBbTVQ4MTk1X0NMS19BVURfTUVNSUZfVUwxXSA9ICJhdWRfbWVtaWZfdWwxIiwNCj4g PiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfQVVEX01FTUlGX1VMMl0gPSAiYXVkX21lbWlm X3VsMiIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX0FVRF9NRU1JRl9VTDNdID0g ImF1ZF9tZW1pZl91bDMiLA0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4MTk1X0NMS19BVURfTUVN SUZfVUw0XSA9ICJhdWRfbWVtaWZfdWw0IiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9D TEtfQVVEX01FTUlGX1VMNV0gPSAiYXVkX21lbWlmX3VsNSIsDQo+ID4gPiA+ID4gPiArICAgICAg IFtNVDgxOTVfQ0xLX0FVRF9NRU1JRl9VTDZdID0gImF1ZF9tZW1pZl91bDYiLA0KPiA+ID4gPiA+ ID4gKyAgICAgICBbTVQ4MTk1X0NMS19BVURfTUVNSUZfVUw4XSA9ICJhdWRfbWVtaWZfdWw4IiwN Cj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfQVVEX01FTUlGX1VMOV0gPSAiYXVkX21l bWlmX3VsOSIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX0FVRF9NRU1JRl9VTDEw XSA9ICJhdWRfbWVtaWZfdWwxMCIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX0FV RF9NRU1JRl9ETDJdID0gImF1ZF9tZW1pZl9kbDIiLA0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4 MTk1X0NMS19BVURfTUVNSUZfREwzXSA9ICJhdWRfbWVtaWZfZGwzIiwNCj4gPiA+ID4gPiA+ICsg ICAgICAgW01UODE5NV9DTEtfQVVEX01FTUlGX0RMNl0gPSAiYXVkX21lbWlmX2RsNiIsDQo+ID4g PiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX0FVRF9NRU1JRl9ETDddID0gImF1ZF9tZW1pZl9k bDciLA0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4MTk1X0NMS19BVURfTUVNSUZfREw4XSA9ICJh dWRfbWVtaWZfZGw4IiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfQVVEX01FTUlG X0RMMTBdID0gImF1ZF9tZW1pZl9kbDEwIiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9D TEtfQVVEX01FTUlGX0RMMTFdID0gImF1ZF9tZW1pZl9kbDExIiwNCj4gPiA+ID4gPiA+ICsgICAg ICAgW01UODE5NV9DTEtfQVVEX0dBU1JDMF0gPSAiYXVkX2dhc3JjMCIsDQo+ID4gPiA+ID4gPiAr ICAgICAgIFtNVDgxOTVfQ0xLX0FVRF9HQVNSQzFdID0gImF1ZF9nYXNyYzEiLA0KPiA+ID4gPiA+ ID4gKyAgICAgICBbTVQ4MTk1X0NMS19BVURfR0FTUkMyXSA9ICJhdWRfZ2FzcmMyIiwNCj4gPiA+ ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfQVVEX0dBU1JDM10gPSAiYXVkX2dhc3JjMyIsDQo+ ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX0FVRF9HQVNSQzRdID0gImF1ZF9nYXNyYzQi LA0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4MTk1X0NMS19BVURfR0FTUkM1XSA9ICJhdWRfZ2Fz cmM1IiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfQVVEX0dBU1JDNl0gPSAiYXVk X2dhc3JjNiIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX0FVRF9HQVNSQzddID0g ImF1ZF9nYXNyYzciLA0KPiA+ID4gPiA+ID4gKyAgICAgICBbTVQ4MTk1X0NMS19BVURfR0FTUkM4 XSA9ICJhdWRfZ2FzcmM4IiwNCj4gPiA+ID4gPiA+ICsgICAgICAgW01UODE5NV9DTEtfQVVEX0dB U1JDOV0gPSAiYXVkX2dhc3JjOSIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX0FV RF9HQVNSQzEwXSA9ICJhdWRfZ2FzcmMxMCIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVf Q0xLX0FVRF9HQVNSQzExXSA9ICJhdWRfZ2FzcmMxMSIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtN VDgxOTVfQ0xLX0FVRF9HQVNSQzEyXSA9ICJhdWRfZ2FzcmMxMiIsDQo+ID4gPiA+ID4gPiArICAg ICAgIFtNVDgxOTVfQ0xLX0FVRF9HQVNSQzEzXSA9ICJhdWRfZ2FzcmMxMyIsDQo+ID4gPiA+ID4g PiArICAgICAgIFtNVDgxOTVfQ0xLX0FVRF9HQVNSQzE0XSA9ICJhdWRfZ2FzcmMxNCIsDQo+ID4g PiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX0FVRF9HQVNSQzE1XSA9ICJhdWRfZ2FzcmMxNSIs DQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX0FVRF9HQVNSQzE2XSA9ICJhdWRfZ2Fz cmMxNiIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX0FVRF9HQVNSQzE3XSA9ICJh dWRfZ2FzcmMxNyIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX0FVRF9HQVNSQzE4 XSA9ICJhdWRfZ2FzcmMxOCIsDQo+ID4gPiA+ID4gPiArICAgICAgIFtNVDgxOTVfQ0xLX0FVRF9H QVNSQzE5XSA9ICJhdWRfZ2FzcmMxOSIsDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gVGhlIE1UODE5 NV9DTEtfQVVEXyogY2xvY2tzIGFyZSBhbGwgaW50ZXJuYWwgdG8gdGhlIGF1ZGlvDQo+ID4gPiA+ ID4gc3Vic3lzdGVtOg0KPiA+ID4gPiA+IHRoZSBiaXRzIHRoYXQgY29udHJvbCB0aGVzZSBjbG9j ayBnYXRlcyBhcmUgaW4gdGhlIHNhbWUNCj4gPiA+ID4gPiBhZGRyZXNzDQo+ID4gPiA+ID4gc3Bh Y2UNCj4gPiA+ID4gPiBhcyB0aGUgYXVkaW8gcGFydHMuIFdvdWxkIGl0IGJlIHBvc3NpYmxlIHRv IG1vZGVsIHRoZW0gYXMNCj4gPiA+ID4gPiBpbnRlcm5hbA0KPiA+ID4gPiA+IEFTb0MgU1VQUExZ IHdpZGdldHM/IFRoZSBleHRlcm5hbCBvbmVzIGNvdWxkIGJlIG1vZGVsZWQgdXNpbmcNCj4gPiA+ ID4gPiBBU29DDQo+ID4gPiA+ID4gQ0xLX1NVUFBMWSB3aWRnZXRzLCBhbmQgdGhlIGRlcGVuZGVu Y2llcyBjb3VsZCBiZSBtb2RlbGVkDQo+ID4gPiA+ID4gd2l0aA0KPiA+ID4gPiA+IEFTb0MNCj4g PiA+ID4gPiByb3V0ZXMuIFRoZSBBU29DIGNvcmUgY291bGQgdGhlbiBoYW5kbGUgcG93ZXIgc2Vx dWVuY2luZywNCj4gPiA+ID4gPiB3aGljaA0KPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+IGRyaXZl ciBjdXJyZW50bHkgZG9lcyBtYW51YWxseS4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBJTU8gdGhp cyBpcyBiZXR0ZXIgdGhhbiBoYXZpbmcgdHdvIGRyaXZlcnMgaGFuZGxpbmcgdHdvDQo+ID4gPiA+ ID4gYXNwZWN0cw0KPiA+ID4gPiA+IG9mDQo+ID4gPiA+ID4gdGhlIHNhbWUgcGllY2Ugb2YgaGFy ZHdhcmUsIHdoaWxlIHRoZSB0d28gYXNwZWN0cyBhcmUNCj4gPiA+ID4gPiBpbnRlcnR3aW5lZC4N Cj4gPiA+ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+IFllcywgaXQncyBvayB0byB1c2UgdGhlIENM S19TVVBQTFkgYW5kIFNVUFBMWSB0byBtb2RlbCBzdWNoDQo+ID4gPiA+IGNsb2Nrcy4NCj4gPiA+ ID4gQnV0IHRob3NlIGNsb2NrcyBhcmUgbWFuYWdlZCBieSBDQ0YgaW4gdGhlIHByZWNlZGluZyBT T0NzIGxpa2UNCj4gPiA+ID4gbXQyNzAxLA0KPiA+ID4gPiBtdDY3NzkgYW5kIG10ODE4My4gQWRk aXRpb25hbGx5LCBpbiBzb21lIGF1ZGlvIG1vZHVsZXMsIGNsb2Nrcw0KPiA+ID4gPiBzaG91bGQN Cj4gPiA+IA0KPiA+ID4gVGhpcyBiZWluZyBhIG5ldyBkcml2ZXIsIHdlIGhhdmUgc29tZSBtb3Jl IGZyZWVkb20gdG8gaW1wcm92ZSB0aGUNCj4gPiA+IGRlc2lnbi4NCj4gPiA+IA0KPiA+ID4gPiBi ZSBlbmFibGVkIGJlZm9yZSBjb25maWd1cmluZyBwYXJhbWV0ZXJzKGh3X3BhcmFtcykuIEFzIGZh ciBhcw0KPiA+ID4gPiBJDQo+ID4gPiA+IGtub3csDQo+ID4gPiA+IGlmIHdlIHVzZSBDTEtfU1VQ UExZIG9yIFNVUFBMWSB0byBtb2RlbCBjbG9ja3MsIHRoZSBwb3dlcg0KPiA+ID4gPiBzZXF1ZW5j ZQ0KPiA+ID4gPiBpcw0KPiA+ID4gPiBjb250cm9sbGVkIGJ5IERBUE0uIEl0IHNlZW1zIHRvIGJl IGltcG9zc2libGUgdG8gZnVsZmlsbCBhbGwNCj4gPiA+ID4gdXNlDQo+ID4gPiA+IGNhc2VzLg0K PiA+ID4gPiBUaGF0J3Mgd2h5IHdlIGp1c3Qga2VlcCB0aGUgbWFudWFsIGNvbnRyb2wgc2VxdWVu Y2UgYW5kIENDRg0KPiA+ID4gPiBzZWVtcw0KPiA+ID4gPiB0byBiZQ0KPiA+ID4gPiB0aGUgYmVz dCBjaG9pY2UgdG8gbW9kZWwgc3VjaCBjbG9jayBnYXRlc3MuDQo+ID4gPiANCj4gPiA+IEkgc2Vl LiBTbyB5ZXMsIHVzaW5nIENDRiBkb2VzIGdpdmUgeW91IHJlZmVyZW5jZSBjb3VudGluZywNCj4g PiA+IGRlcGVuZGVuY3kNCj4gPiA+IHRyYWNraW5nIGFuZCBvdGhlciBhZHZhbnRhZ2VzLiBBbmQg dXNpbmcgREFQTSBzdXBwbGllcyBtZWFucyB5b3UNCj4gPiA+IGNhbid0DQo+ID4gPiBlbmFibGUg dGhlIGNsb2NrIGdhdGVzIG91dHNpZGUgb2YgREFQTSB3aXRob3V0IGJvdGggcGllY2VzIG9mDQo+ ID4gPiBjb2RlDQo+ID4gPiBmaWdodGluZyBmb3IgY29udHJvbC4NCj4gPiA+IA0KPiA+ID4gQ2Fu IHdlIGF0IGxlYXN0IG1vdmUgdGhlIGF1ZGlvIGNsb2NrIGdhdGVzIGludG8gdGhlIGF1ZGlvIGRy aXZlcg0KPiA+ID4gdGhvdWdoPw0KPiA+ID4gVGhlIGFyYml0cmFyeSBzZXBhcmF0aW9uIGludG8g dHdvIGRldmljZXMgYW5kIGRyaXZlcnMgaXMgZmlzaHkuDQo+ID4gPiBBbmQNCj4gPiA+IHdpdGgN Cj4gPiA+IHRoZSBtb3ZlIHRoZSBleHRlcm5hbCByZWZlcmVuY2VzIHRvIHRoZSBhdWRpbyBjbG9j ayBnYXRlcyBjYW4gYmUNCj4gPiA+IHJlbW92ZWQuDQo+ID4gPiANCj4gPiANCj4gPiBCZWNhdXNl IERBUE0gU1VQUExZIGNhbid0IGZpdCBvdXIgY29udHJvbCBzY2VuYXJpby4NCj4gPiBEaWQgeW91 IHN1Z2dlc3QgdXMgaW1wbGVtZW50IHRoZSBzaW1wbGUgbG9naWMgY29udHJvbChpbmNsdWRpbmcg cmVmDQo+ID4gY291bnQsIGNsb2NrIGRlcGVuZGVuY3kpIGZvciBjbG9jayBnYXRlKE1UODE5NV9D TEtfQVVEXyopIGluIGFmZQ0KPiA+IGRyaXZlcg0KPiA+IGluc3RlYWQgb2YgdXNpbmcgQ0NGPw0K PiANCj4gSSBtZWFudCBzaW1wbHkgbW92aW5nIHRoZSBDQ0YtYmFzZWQgY2xrIGRyaXZlciBjb2Rl IChjbGstbXQ4NTE2LQ0KPiBhdWQuYykNCj4gZnJvbSBgZHJpdmVycy9jbGtgIGFuZCBpbmNvcnBv cmF0aW5nIGl0IGludG8gdGhlIGF1ZGlvIGRyaXZlciwgbGlrZWx5DQo+IGluIGBtdDgxOTUtYWZl LWNsay5jYCBvciBtYXliZSBhcyBhIHNlcGFyYXRlIGZpbGUuIFNvIHRoZSBhdWRpbw0KPiBkcml2 ZXINCj4gd291bGQgYmUgYSBjbG9jayBwcm92aWRlciwgYW5kIGEgY2xvY2sgY29uc3VtZXIuIEl0 IHdpbGwgZGlyZWN0bHkgdXNlDQo+IHRoZSBjbG9ja3MgaXQgcHJvdmlkZXMsIGludGVybmFsbHks IGFuZCB5b3UgY291bGQgcmVtb3ZlIGFsbCB0aG9zZQ0KPiBjbG9jayByZWZlcmVuY2VzIGZyb20g dGhlIGRldmljZSB0cmVlLg0KPiANCj4gVGhlIGdvYWwgaXMgdG8gaGF2ZSBvbmUgaGFyZHdhcmUg cmVwcmVzZW50YXRpb24gKGRldmljZSBub2RlKSBvbmx5LA0KPiBzbw0KPiB0aGF0IGl0IG1hdGNo ZXMgdGhlIGhhcmR3YXJlLCB3aGljaCBpcyBvbmUgc2luZ2xlIHVuaWZpZWQgYmxvY2suDQo+IA0K PiBBZnRlciB0aGUgZHJpdmVyIGlzIGNvbXBsZXRlZCwgd2UgY2FuIGxvb2sgZm9yIG9wcG9ydHVu aXRpZXMgdG8NCj4gaW1wcm92ZQ0KPiBpdCwgaWYgcmVzb3VyY2VzIGFyZSBhdmFpbGFibGUuDQoN ClRoYW5rcyBmb3IgeW91ciBkZXRhaWxlZCBpbmZvcm1hdGlvbi4NCkkgd2lsbCB0cnkgdG8gbW92 ZSB0aGUgQ0NGLWJhc2VkIGNsayBkcml2ZXIgY29kZSB0byBBRkUgZHJpdmVyLg0KSWYgdGhlcmUg YXJlIG5vIG90aGVyIGludGVybmFsIGNvbmNlcm5zIGFuZCBibG9ja2luZyBwcm9ibGVtcywgSSB3 aWxsDQppbmNsdWRlIHRoZSBjaGFuZ2VzIGluIHYzLg0KDQo+ID4gPiBBbmQgcmVnYXJkaW5nIHRo ZSBjbG9jayByZXF1aXJlbWVudHMgZm9yIGRpZmZlcmVudCBtb2R1bGVzLCBjb3VsZA0KPiA+ID4g d2UNCj4gPiA+IGhhdmUNCj4gPiA+IHRoYXQgaW5mb3JtYXRpb24gcHV0IGluIGNvbW1lbnRzIHNv bWV3aGVyZSwgc28gaWYgc29tZW9uZSB3ZXJlIHRvDQo+ID4gPiByZXZpc2l0DQo+ID4gPiBpdCBs YXRlciwgdGhleSB3b3VsZCBoYXZlIHRoZSBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gdW5kZXJzdGFu ZA0KPiA+ID4gYW5kDQo+ID4gPiBwb3NzaWJseQ0KPiA+ID4gaW1wcm92ZSBpdD8gQmVjYXVzZSBy aWdodCBub3cgdGhlcmUncyBqdXN0IGEgYnVuY2ggb2YgY2xvY2tzDQo+ID4gPiBlbmFibGVkDQo+ ID4gPiBhbmQNCj4gPiA+IGRpc2FibGVkIGFuZCBub3RoaW5nIHRvIGV4cGxhaW4gd2h5IHRoYXQn cyBuZWVkZWQuDQo+ID4gPiANCj4gPiANCj4gPiBGb3IgZXhhbXBsZSwNCj4gPiBNVDgxOTVfQ0xL X0FVRF9BREMoY2xvY2sgZ2F0ZSkgaXMgb25lIG9mIHRoZSBjbG9jayBmZWVkaW5nIHRvIEFEREEN Cj4gPiBtb2R1bGUuDQo+ID4gRGlkIHlvdSB3YW50IG1lIHNob3cgdGhlIGNsb2NrIGdhdGUgbGlz dCBmZWVkaW5nIHRvIEFEREE/DQo+ID4gT24gdGhlIG90aGVyIGhhbmQsIEkgZGlkbid0IGtub3cg aG93IHRvIHNob3cgdGhlIGluZm9ybWF0aW9uDQo+ID4gcHJvcGVybHkNCj4gPiBpbiBjb21tZW50 cy4gQ291bGQgeW91IGtpbmRseSBzaGFyZSBtZSBhbiBleGFtcGxlIGZvciByZWZlcmVuY2U/DQo+ IA0KPiANCj4gRm9yIGV4YW1wbGUsIGluIGBtdDgxOTVfYWZlX2VuYWJsZV9yZWdfcndfY2xrKClg IGluIG10ODE5NS1hZmUtY2xrLmM6DQo+IA0KPiAgICAgICAgIHVuc2lnbmVkIGludCBjbGtfYXJy YXlbXSA9IHsNCj4gICAgICAgICAgICAgICAgIE1UODE5NV9DTEtfU0NQX0FEU1BfQVVESU9EU1As DQo+ICAgICAgICAgICAgICAgICBNVDgxOTVfQ0xLX1RPUF9BVURJT19MT0NBTF9CVVNfU0VMLA0K PiAgICAgICAgICAgICAgICAgTVQ4MTk1X0NMS19UT1BfQ0ZHXzI2TV9BVUQsDQo+ICAgICAgICAg ICAgICAgICBNVDgxOTVfQ0xLX0lORlJBX0FPX0FVRElPLA0KPiAgICAgICAgICAgICAgICAgTVQ4 MTk1X0NMS19JTkZSQV9BT19BVURJT18yNk1fQiwNCj4gICAgICAgICAgICAgICAgIE1UODE5NV9D TEtfVE9QX0FVRF9JTlRCVVNfU0VMLA0KPiAgICAgICAgICAgICAgICAgTVQ4MTk1X0NMS19UT1Bf QTFTWVNfSFBfU0VMLA0KPiAgICAgICAgICAgICAgICAgTVQ4MTk1X0NMS19BVURfQTFTWVNfSFAs DQo+ICAgICAgICAgICAgICAgICBNVDgxOTVfQ0xLX0FVRF9BMVNZUywNCj4gICAgICAgICAgICAg ICAgIE1UODE5NV9DTEtfVE9QX0FVRElPX0hfU0VMLA0KPiAgICAgICAgIH07DQo+IA0KPiBZb3Ug Y291bGQgYWRkIGEgY29tbWVudCBhZnRlciBlYWNoIGxpbmUgc3RhdGluZyB3aHkgdGhhdCBjbG9j ayBuZWVkcw0KPiB0bw0KPiBiZSBlbmFibGVkLiBBIHNpbXBsZSBub3RlIGxpa2UgImJ1cyBhY2Nl c3MgY2xvY2siIG9yICJpbnRlcm5hbCBsb2dpYw0KPiBjbG9jayINCj4gd291bGQgc3VmZmljZS4N Cj4gDQpPSywgSSB3aWxsIGFkZCBzaG9ydCBub3RlcyB0byBzdWNoIGNsb2NrIGxpc3RzLg0KDQo+ IFRoZSBhYm92ZSBsaXN0IGFsc28gaGFzIHNvbWUgcmVkdW5kYW5jaWVzIHRoYXQgY291bGQgYmUg ZWxpbWluYXRlZC4NCj4gTVQ4MTk1X0NMS19UT1BfQTFTWVNfSFBfU0VMIGlzIHBhcmVudCB0byBi b3RoIE1UODE5NV9DTEtfQVVEX0ExU1lTX0hQDQo+IGFuZA0KPiBNVDgxOTVfQ0xLX0FVRF9BMVNZ Uy4gV2hlbiBjbG9ja3MgYXJlIGVuYWJsZWQsIHRoZWlyIHBhcmVudHMgYXJlIGFsc28NCj4gZW5h YmxlZCBieSBDQ0YsIHNvIHRoZXJlJ3Mgbm8gbmVlZCB0byBlbmFibGUgdGhlbSBleHBsaWNpdGx5 LCB1bmxlc3MNCj4gdGhhdCBjbG9jayBhbHNvIGRpcmVjdGx5IGZlZWRzIHRoZSBjbG9jayBjb25z dW1lci4NCj4gDQpPSywgSSB3aWxsIHJldmlldyBhbGwgY2xvY2sgdXNhZ2VzIGFuZCByZW1vdmUg dGhlIHVubmVjZXNzYXJ5IGNsb2Nrcy4NCg0KPiANCj4gQW5vdGhlciB0aGluZyBJIHdhbnRlZCB0 byBicmluZyB1cDogaXMgYW55IG9mIHRoZSBjb2RlIGFmdGVyDQo+IA0KPiAgICAgc3RydWN0IG10 ODE5NV9hZmVfdHVuZXJfY2ZnIHsNCj4gDQo+IHVzZWQ/IEl0IGxvb2tzIGxpa2UgaXQgaXMgdXNl ZCB0byBjb25maWd1cmUgdGhlIGZpdmUgZXh0cmEgUExMcyBpbg0KPiB0aGUgYXVkaW8NCj4gc3Vi c3lzdGVtLCBidXQgdGhlIGV4cG9zZWQgKG5vbi1zdGF0aWMpIGZ1bmN0aW9ucyBkb24ndCBzZWVt IHRvIGJlDQo+IGNhbGxlZA0KPiBhbnl3aGVyZS4gQXJlIHRoZXkgZm9yIG1vZHVsZXMgbm90IHll dCBzdXBwb3J0ZWQ/DQo+IA0KDQpZZXMsIHR1bmVycyBhcmUgbm90IHN1cHBvcnRlZCBub3cuDQpJ IHdpbGwgcmVtb3ZlIHRoZSBjb2RlIGFuZCBhZGQgdGhlbSBiYWNrIHdoZW4gdHVuZXJzIGFyZSBy ZXF1aXJlZCBpbg0KdGhlIGZ1dHVyZS4NCg0KDQpUaGFua3MsDQpUcmV2b3INCg0KPiANCj4gUmVn YXJkcw0KPiBDaGVuWXUNCg==