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=-6.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no 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 79D79C4338F for ; Fri, 30 Jul 2021 10:09:17 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5936860F12 for ; Fri, 30 Jul 2021 10:09:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238441AbhG3KJU (ORCPT ); Fri, 30 Jul 2021 06:09:20 -0400 Received: from USAT19PA22.eemsg.mail.mil ([214.24.22.196]:27701 "EHLO USAT19PA22.eemsg.mail.mil" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238374AbhG3KJP (ORCPT ); Fri, 30 Jul 2021 06:09:15 -0400 X-Greylist: delayed 489 seconds by postgrey-1.27 at vger.kernel.org; Fri, 30 Jul 2021 06:09:15 EDT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.mil; i=@mail.mil; q=dns/txt; s=EEMSG2021v1a; t=1627639751; x=1659175751; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=hsBF9hMYzaayFbpVoR2DrlMkkuJwCAHjUk5S2E8Ol74=; b=FkoGOGjo3t0fYcBYQCbmqr6nSADsPqbjQfgrexCumBcqD1mOQGnUi4Rs 2C70MvMRhVBz0EOJaoE4Q24e0CfjYbTCgpKh5ZHXeArbzdJ588dJjt4U9 xd/AeWm/LflPyzWC3pq4aCdWkPPFLy3kZpTOTCkvTA7mLz4M+2NuFWCGc uunV9B477S59rzj+bNAyBWdQscvQ2eBWhfGcD32sGGsVD13FnSSJ9NaT+ 028RJFziVaetHe67INEYdR31cV7JqiH8P3xZkEANVKSkGeYd+sePmv37Z EORgnx/FV/5LPE95ipIMigeEd2mJYVR5I6BpSXBZrhYfEIqVGLVPYw4Nq w==; X-EEMSG-check-017: 242667599|USAT19PA22_ESA_OUT03.csd.disa.mil X-IronPort-AV: E=Sophos;i="5.84,281,1620691200"; d="scan'208";a="242667599" IronPort-HdrOrdr: A9a23:6u+CVqlKn7CCk5/a0jaSX5/6x+/pDfL23DAbv31ZSRFFG/Fwz/ re+8jy1XfP5wr5K0tQ/+xoX5PwPE80lKQFm7X5Uo3SPzUO1FHEEGgm1/qH/9SCIVyDygc+79 YDT0EWMrSZZjJHZITBkWyF+r4bsaa6GcuT69s2uk0McegcUcBdBmlCZjpzWXcGPTWuTaBJbK Z0yPA33AadRQ== Received: from edge-mech02.mail.mil ([214.21.130.229]) by USAT19PA22.eemsg.mail.mil with ESMTP/TLS/ECDHE-RSA-AES256-SHA384; 30 Jul 2021 10:00:55 +0000 Received: from UMECHPAOT.easf.csd.disa.mil (214.21.130.163) by edge-mech02.mail.mil (214.21.130.229) with Microsoft SMTP Server (TLS) id 14.3.498.0; Fri, 30 Jul 2021 09:59:55 +0000 Received: from UMECHPA7B.easf.csd.disa.mil ([169.254.8.97]) by umechpaot.easf.csd.disa.mil ([1.213.132.165]) with mapi id 14.03.0513.000; Fri, 30 Jul 2021 09:59:54 +0000 From: "Finlayson, James M CIV (USA)" To: 'Miao Wang' CC: 'Matt Wallis' , "'linux-raid@vger.kernel.org'" Subject: RE: [Non-DoD Source] Can't get RAID5/RAID6 NVMe randomread IOPS - AMD ROME what am I missing????? Thread-Topic: [Non-DoD Source] Can't get RAID5/RAID6 NVMe randomread IOPS - AMD ROME what am I missing????? Thread-Index: AQHXhBQyCYnzeb6zhEaJ8KArZSwefqtafCAAgAC1ZICAAATWAIAAE5Gw Date: Fri, 30 Jul 2021 09:59:54 +0000 Message-ID: <5EAED86C53DED2479E3E145969315A2385841727@UMECHPA7B.easf.csd.disa.mil> References: <5EAED86C53DED2479E3E145969315A2385841062@UMECHPA7B.easf.csd.disa.mil> <07195088-7E4B-4586-BB45-04890265BD62@madmonks.org> <5EAED86C53DED2479E3E145969315A23858411D1@UMECHPA7B.easf.csd.disa.mil> <21187A73-4000-4017-B016-15C03D19B799@madmonks.org> <5EAED86C53DED2479E3E145969315A23858415CB@UMECHPA7B.easf.csd.disa.mil> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [214.21.44.12] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-raid@vger.kernel.org VGhlcmUgaXMgaW50ZXJlc3QgaW4gWkZTLiAgIFdlJ3JlIHdhaXRpbmcgZm9yIHRoZSBkaXJlY3Qg SS9PIHBhdGNoZXMgdG8gc2V0dGxlIGluIE9wZW4gWkZTIGJlY2F1c2Ugd2UgY291bGRuJ3QgZmlu ZCBhbnkgd2F5IHRvIGdldCBhcm91bmQgdGhlIEFSQyAoZXZlcnl0aGluZyBoYXMgdG8gdG91Y2gg dGhlIEFSQykuICBaRlMgc3BpbnMgYW4gZW50aXJlIENQVSBjb3JlIG9yIG1vcmUgd29ycnlpbmcg YWJvdXQgd2hpY2ggQVJDIGVudHJpZXMgaXQgaGFzIHRvIGV2aWN0LiAgICAgIEkga25vdyB3aG8g aXMgZG9pbmcgdGhlIHdvcmsuICAgT25jZSBpdCBzZXR0bGVzLCBJJ2xsIHNlZSBpZiB0aGV5IGFy ZSB3aWxsaW5nIHRvIHB1Ymxpc2ggdG8gemZzLWRpc2N1c3MuDQoNCi0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQpGcm9tOiBNaWFvIFdhbmcgPHNoYW5rZXJ3YW5nbWlhb0BnbWFpbC5jb20+IA0K U2VudDogRnJpZGF5LCBKdWx5IDMwLCAyMDIxIDQ6NDYgQU0NClRvOiBGaW5sYXlzb24sIEphbWVz IE0gQ0lWIChVU0EpIDxqYW1lcy5tLmZpbmxheXNvbjQuY2l2QG1haWwubWlsPg0KQ2M6IE1hdHQg V2FsbGlzIDxtYXR0d0BtYWRtb25rcy5vcmc+OyBsaW51eC1yYWlkQHZnZXIua2VybmVsLm9yZw0K U3ViamVjdDogUmU6IFtOb24tRG9EIFNvdXJjZV0gQ2FuJ3QgZ2V0IFJBSUQ1L1JBSUQ2IE5WTWUg cmFuZG9tcmVhZCBJT1BTIC0gQU1EIFJPTUUgd2hhdCBhbSBJIG1pc3Npbmc/Pz8/Pw0KDQpIaSBK aW0sDQoNCk5pY2UgdG8gaGVhciBhYm91dCB5b3VyIGZpbmRpbmdzIG9uIGhvdyB0byBsZXQgbGlu dXggbWQgd29yayBiZXR0ZXIgb24gZmFzdCBudm1lIGRyaXZlcywgYmVjYXVzZSBwcmV2aW91c2x5 IEkgd2FzIGFsc28gc3R1Y2sgaW4gYSBzaW1pbGFyIHByb2JsZW0gYW5kIGZpbmFsbHkgZ2F2ZSB1 cC4gU2luY2UgaXQgaXMgdmVyeSBkaWZmaWN1bHQgdG8gZmluZCBzdWNoIGVudmlyb25tZW50IHdp dGggc28gbWFueSBmYXN0IG52bWUgZHJpdmVzLCBJIHdvbmRlciBpZiB5b3UgaGF2ZSBhbnkgaW50 ZXJlc3QgaW4gWkZTLiBNYXliZSB5b3UgY2FuIHNldCB1cCBhIHNpbWlsYXIgcmFpZHogY29uZmln dXJhdGlvbiBvbiB0aG9zZSBkcml2ZXMgYW5kIHNlZSB3aGV0aGVyIGl0cyBwZXJmb3JtYW5jZSBp cyBiZXR0ZXIgb3Igd29yc2UuDQoNCkNoZWVycywNCg0KTWlhbyBXYW5nDQoNCj4gMjAyMeW5tDA3 5pyIMzDml6UgMTY6MjjvvIxNYXR0IFdhbGxpcyA8bWF0dHdAbWFkbW9ua3Mub3JnPiDlhpnpgZPv vJoNCj4gDQo+IEhpIEppbSwNCj4gDQo+IFRoYXTigJlzIHNpZ25pZmljYW50bHkgYmV0dGVyIHRo YW4gSSBleHBlY3RlZCwgSSBuZWVkIHRvIHNlZSBpZiBJIGNhbiBnZXQgc29tZW9uZSB0byBzZW5k IG1lIHRoZSBib3ggSSB3YXMgdXNpbmcgc28gSSBjYW4gc3BlbmQgc29tZSBtb3JlIHRpbWUgb24g aXQuDQo+IA0KPiBHb29kIGx1Y2sgd2l0aCB0aGUgcmVzdCBvZiBpdCwgdGhlIGJpdCBJIHdhcyBs b29raW5nIGZvciBhcyBhIG5leHQgc3RlcCB3YXMgZ29pbmcgdG8gYmUgcG90ZW50aWFsbHkgdHdl YWtpbmcgc3RyaXBlIHdpZHRocyBhbmQgdGhlIGxpa2UgdG8gc2VlIGhvdyBtdWNoIGRpZmZlcmVu Y2UgaXQgbWFkZSBvbiBkaWZmZXJlbnQgd29ya2xvYWRzLg0KPiANCj4gTWF0dC4gDQo+IA0KPj4g T24gMzAgSnVsIDIwMjEsIGF0IDA4OjA1LCBGaW5sYXlzb24sIEphbWVzIE0gQ0lWIChVU0EpIDxq YW1lcy5tLmZpbmxheXNvbjQuY2l2QG1haWwubWlsPiB3cm90ZToNCj4+IA0KPj4gTWF0dCwNCj4+ IFRoYW5rIHlvdSBmb3IgdGhlIHRpcC4gICBJIGhhdmUgcHV0IDMyIHBhcnRpdGlvbnMgb24gZWFj aCBvZiBteSBOVk1lIGRyaXZlcywgbWFkZSAzMiByYWlkNSBzdHJpcGVzIGFuZCB0aGVuIG1hZGUg YW4gTFZNIGZyb20gdGhlIDMyIHJhaWQ1IHN0cmlwZXMuICAgSSB0aGVuIGNyZWF0ZWQgb25lIHBo eXNpY2FsIHZvbHVtZSBwZXIgMTAgTlZNZSBkcml2ZXMgb24gZWFjaCBzb2NrZXQuICAgIEkgYmVs aWV2ZSBJIGhhdmUgc3VjY2Vzc2Z1bGx5IGhhcm5lc3NlZCAiYWxpZW4gdGVjaG5vbG9neSIgKGlu c2lkZSBqb2tlKSB0byBjcmVhdGUgYSBGcmFua2Vuc3RlaW4ncyBtb25zdGVyLiAgIFRoZXNlIGFy ZSBzdWJzdGFudGlhbGx5IGJldHRlciB0aGFuIGRvaW5nIGEgUkFJRDAgc3RyaXBlIG92ZXIgdGhl IHBhcnRpdGlvbmVkIG1kJ3MgaW4gdGhlIHBhc3QuICBJIHdoaXBwZWQgYWxsIG9mIHRoaXMgdG9n ZXRoZXIgaW4gdHdvIDE1IG1pbnV0ZSBzZXNzaW9ucyBsYXN0IG5pZ2h0IGFuZCBqdXN0IHJpZ2h0 IG5vdywgc28gSSBtaWdodCBydW4gc29tZSBtb3JlIGV4dGVuc2l2ZSB0ZXN0cyB3aGVuIEkgaGF2 ZSB0aGUgY3ljbGVzLiAgIEkgZGlkbid0IGludGVuZCB0byBsZWF2ZSB0aGUgdGhyZWFkIGhhbmdp bmcuDQo+PiBCTFVGIC0gIGZpbyBkZXRhaWxlZCBvdXRwdXQgYmVsb3cuLi4uLg0KPj4gOSBkcml2 ZXMgcGVyIHNvY2tldCByYXcNCj4+IHNvY2tldDAsIDkgZHJpdmVzLCByYXcgNEsgcmFuZG9tIHJl YWRzIDEzLjZNIElPUFMgLCBzb2NrZXQxIDkgZHJpdmVzLCANCj4+IHJhdyA0SyByYW5kb20gcmVh ZHMgLCAxMi4zTSBJT1BTDQo+PiAlQ3B1KHMpOiAgNC40IHVzLCAyNS42IHN5LCAgMC4wIG5pLCA1 Ni43IGlkLCAgMC4wIHdhLCAxMy4xIGhpLCAgMC4yIA0KPj4gc2ksICAwLjAgc3QNCj4+IA0KPj4g OSBkYXRhIGRyaXZlcyBwZXIgc29ja2V0IFJBSUQ1L0xWTSByYXcgKDkrMSkgc29ja2V0MCwgOSBk cml2ZXMsIHJhdyANCj4+IDRLIHJhbmRvbSByZWFkcyA4LjU3TSBJT1BTICwgc29ja2V0MSA5IGRy aXZlcywgcmF3IDRLIHJhbmRvbSByZWFkcyAsIA0KPj4gOC41N00gSU9QUw0KPj4gJUNwdShzKTog IDcuMCB1cywgMjIuMyBzeSwgIDAuMCBuaSwgNTguNCBpZCwgIDAuMCB3YSwgMTIuMSBoaSwgIDAu MiANCj4+IHNpLCAgMC4wIHN0DQo+PiANCj4+IA0KPj4gQWxsLA0KPj4gSSBpbnRlbmQgdG8gdGVz dCB0aGUgNC4xNSBrZXJuZWwgcGF0Y2ggbmV4dCB3ZWVrLiAgIE15IFNBIHdvdWxkIHByZWZlciBp ZiB0aGUgcGF0Y2ggaGFzIG1hZGUgaXQgaW50byB0aGUga2VybmVsLW1sIHN0cmVhbSB5ZXQsIHNv IGhlIGNvdWxkIGluc3RhbGwgYW4gcnBtLCBidXQgSSdsbCBnZXQgaGltIHRvIGJ1aWxkIHRoZSBr ZXJuZWwgaWYgbmVlZCBiZS4NCj4+IElmIHRoZSA0LjE1IGtlcm5lbCBwYXRjaCBkb2Vzbid0IGFs bGV2aWF0ZSB0aGUgaXNzdWVzLCBJIGhhdmUgYSBzdHJvbmcgZGVzaXJlIHRvIGhhdmUgbWRyYWlk IG1hZGUgYmV0dGVyLg0KPj4gDQo+PiANCj4+IFF1aWNrIGZpbyByZXN1bHRzOg0KPj4gc29ja2V0 MDogKGc9MCk6IHJ3PXJhbmRyZWFkLCBicz0oUikgNDA5NkItNDA5NkIsIChXKSA0MDk2Qi00MDk2 QiwgKFQpIA0KPj4gNDA5NkItNDA5NkIsIGlvZW5naW5lPWxpYmFpbywgaW9kZXB0aD0xMjggLi4u DQo+PiBzb2NrZXQxOiAoZz0xKTogcnc9cmFuZHJlYWQsIGJzPShSKSA0MDk2Qi00MDk2QiwgKFcp IDQwOTZCLTQwOTZCLCAoVCkgDQo+PiA0MDk2Qi00MDk2QiwgaW9lbmdpbmU9bGliYWlvLCBpb2Rl cHRoPTEyOCAuLi4NCj4+IHNvY2tldDAtbHY6IChnPTIpOiBydz1yYW5kcmVhZCwgYnM9KFIpIDQw OTZCLTQwOTZCLCAoVykgNDA5NkItNDA5NkIsIA0KPj4gKFQpIDQwOTZCLTQwOTZCLCBpb2VuZ2lu ZT1saWJhaW8sIGlvZGVwdGg9MTI4IC4uLg0KPj4gc29ja2V0MS1sdjogKGc9Myk6IHJ3PXJhbmRy ZWFkLCBicz0oUikgNDA5NkItNDA5NkIsIChXKSA0MDk2Qi00MDk2QiwgDQo+PiAoVCkgNDA5NkIt NDA5NkIsIGlvZW5naW5lPWxpYmFpbywgaW9kZXB0aD0xMjggLi4uDQo+PiBmaW8tMy4yNg0KPj4g U3RhcnRpbmcgMjU2IHByb2Nlc3Nlcw0KPj4gDQo+PiBzb2NrZXQwOiAoZ3JvdXBpZD0wLCBqb2Jz PTY0KTogZXJyPSAwOiBwaWQ9NjQwMzI6IFRodSBKdWwgMjkgMjE6NDg6MzIgDQo+PiAyMDIxDQo+ PiByZWFkOiBJT1BTPTEzLjZNLCBCVz01MS43R2lCL3MgKDU1LjZHQi9zKSgzMTA1R2lCLzYwMDAz bXNlYykNCj4+ICAgc2xhdCAobnNlYyk6IG1pbj0xMjkyLCBtYXg9MTM3Ni43aywgYXZnPTI1NDUu MzIsIHN0ZGV2PTI2OTYuNzQNCj4+ICAgY2xhdCAodXNlYyk6IG1pbj0zNiwgbWF4PTcxNTgwLCBh dmc9NjAwLjY4LCBzdGRldj0zNjEuMzYNCj4+ICAgIGxhdCAodXNlYyk6IG1pbj0zOCwgbWF4PTcx NjE2LCBhdmc9NjAzLjMwLCBzdGRldj0zNjEuMzgNCj4+ICAgY2xhdCBwZXJjZW50aWxlcyAodXNl Yyk6DQo+PiAgICB8ICAxLjAwdGg9WyAgMTY5XSwgIDUuMDB0aD1bICAyMzFdLCAxMC4wMHRoPVsg IDI3N10sIDIwLjAwdGg9WyAgMzQ3XSwNCj4+ICAgIHwgMzAuMDB0aD1bICA0MDRdLCA0MC4wMHRo PVsgIDQ1N10sIDUwLjAwdGg9WyAgNTE5XSwgNjAuMDB0aD1bICA1OTRdLA0KPj4gICAgfCA3MC4w MHRoPVsgIDY3Nl0sIDgwLjAwdGg9WyAgNzkxXSwgOTAuMDB0aD1bICA5OTZdLCA5NS4wMHRoPVsg MTIwNV0sDQo+PiAgICB8IDk5LjAwdGg9WyAxOTA5XSwgOTkuNTB0aD1bIDI0MDldLCA5OS45MHRo PVsgMzU1Nl0sIDk5Ljk1dGg9WyAzODg0XSwNCj4+ICAgIHwgOTkuOTl0aD1bIDU1MzhdDQo+PiAg YncgKCAgTWlCL3MpOiBtaW49Mzk5NjAsIG1heD01NjY2MCwgcGVyPTIwLjk0JSwgYXZnPTUzMDQw LjY5LCBzdGRldj00OS42MSwgc2FtcGxlcz03NDg4DQo+PiAgaW9wcyAgICAgICAgOiBtaW49MTAy Mjk5NDYsIG1heD0xNDUwNDk0MSwgYXZnPTEzNTc4MzkxLjgwLCBzdGRldj0xMjY5OS42MSwgc2Ft cGxlcz03NDg4DQo+PiBsYXQgKHVzZWMpICAgOiA1MD0wLjAxJSwgMTAwPTAuMDElLCAyNTA9Ni44 MyUsIDUwMD00MC4wNiUsIDc1MD0yOS45MiUNCj4+IGxhdCAodXNlYykgICA6IDEwMDA9MTMuNDIl DQo+PiBsYXQgKG1zZWMpICAgOiAyPTguOTElLCA0PTAuODIlLCAxMD0wLjA0JSwgMjA9MC4wMSUs IDUwPTAuMDElDQo+PiBsYXQgKG1zZWMpICAgOiAxMDA9MC4wMSUNCj4+IGNwdSAgICAgICAgICA6 IHVzcj0xNC44MiUsIHN5cz00Ni41NyUsIGN0eD0zNTU2NDI0OSwgbWFqZj0wLCBtaW5mPTk3NTQN Cj4+IElPIGRlcHRocyAgICA6IDE9MC4xJSwgMj0wLjElLCA0PTAuMSUsIDg9MC4xJSwgMTY9MC4x JSwgMzI9MC4xJSwgPj02ND0xMDAuMCUNCj4+ICAgIHN1Ym1pdCAgICA6IDA9MC4wJSwgND0xMDAu MCUsIDg9MC4wJSwgMTY9MC4wJSwgMzI9MC4wJSwgNjQ9MC4wJSwgPj02ND0wLjAlDQo+PiAgICBj b21wbGV0ZSAgOiAwPTAuMCUsIDQ9MTAwLjAlLCA4PTAuMCUsIDE2PTAuMCUsIDMyPTAuMCUsIDY0 PTAuMCUsID49NjQ9MC4xJQ0KPj4gICAgaXNzdWVkIHJ3dHM6IHRvdGFsPTgxMzkwOTIwMSwwLDAs MCBzaG9ydD0wLDAsMCwwIGRyb3BwZWQ9MCwwLDAsMA0KPj4gICAgbGF0ZW5jeSAgIDogdGFyZ2V0 PTAsIHdpbmRvdz0wLCBwZXJjZW50aWxlPTEwMC4wMCUsIGRlcHRoPTEyOA0KPj4gc29ja2V0MTog KGdyb3VwaWQ9MSwgam9icz02NCk6IGVycj0gMDogcGlkPTY0MDk2OiBUaHUgSnVsIDI5IDIxOjQ4 OjMyIA0KPj4gMjAyMQ0KPj4gcmVhZDogSU9QUz0xMi4zTSwgQlc9NDYuOUdpQi9zICg1MC4zR0Iv cykoMjgxMkdpQi82MDAwM21zZWMpDQo+PiAgIHNsYXQgKG5zZWMpOiBtaW49MTI5MiwgbWF4PTE2 NzIuMmssIGF2Zz0yNjcyLjIxLCBzdGRldj0yNzQyLjA2DQo+PiAgIGNsYXQgKHVzZWMpOiBtaW49 MjUsIG1heD03MzUyNiwgYXZnPTY2My4zNSwgc3RkZXY9NjExLjA2DQo+PiAgICBsYXQgKHVzZWMp OiBtaW49MjgsIG1heD03MzU0NSwgYXZnPTY2Ni4wOSwgc3RkZXY9NjExLjA4DQo+PiAgIGNsYXQg cGVyY2VudGlsZXMgKHVzZWMpOg0KPj4gICAgfCAgMS4wMHRoPVsgIDE0M10sICA1LjAwdGg9WyAg MTkwXSwgMTAuMDB0aD1bICAyMjddLCAyMC4wMHRoPVsgIDI4NV0sDQo+PiAgICB8IDMwLjAwdGg9 WyAgMzM4XSwgNDAuMDB0aD1bICA0MDBdLCA1MC4wMHRoPVsgIDQ3OF0sIDYwLjAwdGg9WyAgNTg2 XSwNCj4+ICAgIHwgNzAuMDB0aD1bICA3MjVdLCA4MC4wMHRoPVsgIDkzMF0sIDkwLjAwdGg9WyAx MjU0XSwgOTUuMDB0aD1bIDE2MTRdLA0KPj4gICAgfCA5OS4wMHRoPVsgMzQ5MF0sIDk5LjUwdGg9 WyA0MTQ2XSwgOTkuOTB0aD1bIDYzOTBdLCA5OS45NXRoPVsgNjk4MF0sDQo+PiAgICB8IDk5Ljk5 dGg9WyA4MzU2XQ0KPj4gIGJ3ICggIE1pQi9zKTogbWluPTI4OTYyLCBtYXg9NTUzMjYsIHBlcj0x Mi43MCUsIGF2Zz00ODAzNi4xMCwgc3RkZXY9OTYuNzUsIHNhbXBsZXM9NzQ4OA0KPj4gIGlvcHMg ICAgICAgIDogbWluPTc0MTQzMjcsIG1heD0xNDE2MzYxNSwgYXZnPTEyMjk3MjE0Ljk4LCBzdGRl dj0yNDc2OC44Miwgc2FtcGxlcz03NDg4DQo+PiBsYXQgKHVzZWMpICAgOiA1MD0wLjAxJSwgMTAw PTAuMDMlLCAyNTA9MTMuNzUlLCA1MDA9MzguODQlLCA3NTA9MTguNzElDQo+PiBsYXQgKHVzZWMp ICAgOiAxMDAwPTExLjU1JQ0KPj4gbGF0IChtc2VjKSAgIDogMj0xNC4zMCUsIDQ9Mi4yMyUsIDEw PTAuNjAlLCAyMD0wLjAxJSwgNTA9MC4wMSUNCj4+IGxhdCAobXNlYykgICA6IDEwMD0wLjAxJQ0K Pj4gY3B1ICAgICAgICAgIDogdXNyPTEzLjQxJSwgc3lzPTQ0LjQ0JSwgY3R4PTM5Mzc5NzExLCBt YWpmPTAsIG1pbmY9OTk4Mg0KPj4gSU8gZGVwdGhzICAgIDogMT0wLjElLCAyPTAuMSUsIDQ9MC4x JSwgOD0wLjElLCAxNj0wLjElLCAzMj0wLjElLCA+PTY0PTEwMC4wJQ0KPj4gICAgc3VibWl0ICAg IDogMD0wLjAlLCA0PTEwMC4wJSwgOD0wLjAlLCAxNj0wLjAlLCAzMj0wLjAlLCA2ND0wLjAlLCA+ PTY0PTAuMCUNCj4+ICAgIGNvbXBsZXRlICA6IDA9MC4wJSwgND0xMDAuMCUsIDg9MC4wJSwgMTY9 MC4wJSwgMzI9MC4wJSwgNjQ9MC4wJSwgPj02ND0wLjElDQo+PiAgICBpc3N1ZWQgcnd0czogdG90 YWw9NzM3MTY4OTEzLDAsMCwwIHNob3J0PTAsMCwwLDAgZHJvcHBlZD0wLDAsMCwwDQo+PiAgICBs YXRlbmN5ICAgOiB0YXJnZXQ9MCwgd2luZG93PTAsIHBlcmNlbnRpbGU9MTAwLjAwJSwgZGVwdGg9 MTI4DQo+PiBzb2NrZXQwLWx2OiAoZ3JvdXBpZD0yLCBqb2JzPTY0KTogZXJyPSAwOiBwaWQ9NjQx NjY6IFRodSBKdWwgMjkgDQo+PiAyMTo0ODozMiAyMDIxDQo+PiByZWFkOiBJT1BTPTg1NzBrLCBC Vz0zMi43R2lCL3MgKDM1LjFHQi9zKSgxOTYyR2lCLzYwMDA2bXNlYykNCj4+ICAgc2xhdCAobnNl Yyk6IG1pbj0xODczLCBtYXg9MTEwODVrLCBhdmc9NDY5NC40Nywgc3RkZXY9NDgyNS4zOQ0KPj4g ICBjbGF0ICh1c2VjKTogbWluPTI0LCBtYXg9MjE3MzksIGF2Zz05NTAuNTIsIHN0ZGV2PTk0OC44 Mw0KPj4gICAgbGF0ICh1c2VjKTogbWluPTUxLCBtYXg9MjE3NDMsIGF2Zz05NTUuMjksIHN0ZGV2 PTk0OC44OA0KPj4gICBjbGF0IHBlcmNlbnRpbGVzICh1c2VjKToNCj4+ICAgIHwgIDEuMDB0aD1b ICAxNTVdLCAgNS4wMHRoPVsgIDIxN10sIDEwLjAwdGg9WyAgMjY1XSwgMjAuMDB0aD1bICAzMzhd LA0KPj4gICAgfCAzMC4wMHRoPVsgIDQwNF0sIDQwLjAwdGg9WyAgNDg2XSwgNTAuMDB0aD1bICA1 OTRdLCA2MC4wMHRoPVsgIDc2Nl0sDQo+PiAgICB8IDcwLjAwdGg9WyAxMDI5XSwgODAuMDB0aD1b IDE0MThdLCA5MC4wMHRoPVsgMjA4OV0sIDk1LjAwdGg9WyAyNzM3XSwNCj4+ICAgIHwgOTkuMDB0 aD1bIDQ0OTBdLCA5OS41MHRoPVsgNTY2OV0sIDk5LjkwdGg9WyA4NTg2XSwgOTkuOTV0aD1bIDk4 OTZdLA0KPj4gICAgfCA5OS45OXRoPVsxMjEyNV0NCj4+ICBidyAoICBNaUIvcyk6IG1pbj0yNDY1 NywgbWF4PTM3NDUzLCBwZXI9LTI1LjE3JSwgYXZnPTMzNTE2LjAwLCBzdGRldj0zNS4zMiwgc2Ft cGxlcz03NjE2DQo+PiAgaW9wcyAgICAgICAgOiBtaW49NjMxMjMyNiwgbWF4PTk1ODgwMDcsIGF2 Zz04NTgwMDc2LjAzLCBzdGRldj05MDQxLjg4LCBzYW1wbGVzPTc2MTYNCj4+IGxhdCAodXNlYykg ICA6IDUwPTAuMDElLCAxMDA9MC4wMSUsIDI1MD04LjQwJSwgNTAwPTMzLjIxJSwgNzUwPTE3LjU0 JQ0KPj4gbGF0ICh1c2VjKSAgIDogMTAwMD05Ljg5JQ0KPj4gbGF0IChtc2VjKSAgIDogMj0xOS45 MyUsIDQ9OS41OCUsIDEwPTEuNDAlLCAyMD0wLjA1JSwgNTA9MC4wMSUNCj4+IGNwdSAgICAgICAg ICA6IHVzcj05LjAxJSwgc3lzPTUxLjQ4JSwgY3R4PTI3ODI5OTUwLCBtYWpmPTAsIG1pbmY9OTAy OA0KPj4gSU8gZGVwdGhzICAgIDogMT0wLjElLCAyPTAuMSUsIDQ9MC4xJSwgOD0wLjElLCAxNj0w LjElLCAzMj0wLjElLCA+PTY0PTEwMC4wJQ0KPj4gICAgc3VibWl0ICAgIDogMD0wLjAlLCA0PTEw MC4wJSwgOD0wLjAlLCAxNj0wLjAlLCAzMj0wLjAlLCA2ND0wLjAlLCA+PTY0PTAuMCUNCj4+ICAg IGNvbXBsZXRlICA6IDA9MC4wJSwgND0xMDAuMCUsIDg9MC4wJSwgMTY9MC4wJSwgMzI9MC4wJSwg NjQ9MC4wJSwgPj02ND0wLjElDQo+PiAgICBpc3N1ZWQgcnd0czogdG90YWw9NTE0Mjc1MzIzLDAs MCwwIHNob3J0PTAsMCwwLDAgZHJvcHBlZD0wLDAsMCwwDQo+PiAgICBsYXRlbmN5ICAgOiB0YXJn ZXQ9MCwgd2luZG93PTAsIHBlcmNlbnRpbGU9MTAwLjAwJSwgZGVwdGg9MTI4DQo+PiBzb2NrZXQx LWx2OiAoZ3JvdXBpZD0zLCBqb2JzPTY0KTogZXJyPSAwOiBwaWQ9NjQyMzA6IFRodSBKdWwgMjkg DQo+PiAyMTo0ODozMiAyMDIxDQo+PiByZWFkOiBJT1BTPTg1NzFrLCBCVz0zMi43R2lCL3MgKDM1 LjFHQi9zKSgxOTYyR2lCLzYwMDA2bXNlYykNCj4+ICAgc2xhdCAobnNlYyk6IG1pbj0xODIzLCBt YXg9MTQzNjJrLCBhdmc9NDgwOS4zMCwgc3RkZXY9NDk0MC40Mg0KPj4gICBjbGF0ICh1c2VjKTog bWluPTUwLCBtYXg9MjI4NTYsIGF2Zz05NTAuMzEsIHN0ZGV2PTk0OC4xMw0KPj4gICAgbGF0ICh1 c2VjKTogbWluPTU0LCBtYXg9MjI4NjAsIGF2Zz05NTUuMTksIHN0ZGV2PTk0OC4xOQ0KPj4gICBj bGF0IHBlcmNlbnRpbGVzICh1c2VjKToNCj4+ICAgIHwgIDEuMDB0aD1bICAxNTddLCAgNS4wMHRo PVsgIDIyMV0sIDEwLjAwdGg9WyAgMjY5XSwgMjAuMDB0aD1bICAzNDNdLA0KPj4gICAgfCAzMC4w MHRoPVsgIDQxMl0sIDQwLjAwdGg9WyAgNDkwXSwgNTAuMDB0aD1bICA2MDNdLCA2MC4wMHRoPVsg IDc2Nl0sDQo+PiAgICB8IDcwLjAwdGg9WyAxMDI5XSwgODAuMDB0aD1bIDE0MThdLCA5MC4wMHRo PVsgMjA4OV0sIDk1LjAwdGg9WyAyNzM3XSwNCj4+ICAgIHwgOTkuMDB0aD1bIDQyOTNdLCA5OS41 MHRoPVsgNTYwNF0sIDk5LjkwdGg9WyA5NTAzXSwgOTkuOTV0aD1bMTA2ODNdLA0KPj4gICAgfCA5 OS45OXRoPVsxMjY0OV0NCj4+ICBidyAoICBNaUIvcyk6IG1pbj0yMzQzNCwgbWF4PTM2OTA5LCBw ZXI9LTI1LjE3JSwgYXZnPTMzNTE3LjE0LCBzdGRldj01MC4zNiwgc2FtcGxlcz03NjE2DQo+PiAg aW9wcyAgICAgICAgOiBtaW49NTk5OTIyMCwgbWF4PTk0NDg4MTgsIGF2Zz04NTgwMzY4LjY5LCBz dGRldj0xMjg5Mi45Mywgc2FtcGxlcz03NjE2DQo+PiBsYXQgKHVzZWMpICAgOiAxMDA9MC4wMSUs IDI1MD03Ljg4JSwgNTAwPTMzLjA5JSwgNzUwPTE4LjA5JSwgMTAwMD0xMC4wMiUNCj4+IGxhdCAo bXNlYykgICA6IDI9MTkuOTElLCA0PTkuNzUlLCAxMD0xLjE2JSwgMjA9MC4wOCUsIDUwPTAuMDEl DQo+PiBjcHUgICAgICAgICAgOiB1c3I9OS4xNCUsIHN5cz01MS45NCUsIGN0eD0yNTUyNDgwOCwg bWFqZj0wLCBtaW5mPTkwMzcNCj4+IElPIGRlcHRocyAgICA6IDE9MC4xJSwgMj0wLjElLCA0PTAu MSUsIDg9MC4xJSwgMTY9MC4xJSwgMzI9MC4xJSwgPj02ND0xMDAuMCUNCj4+ICAgIHN1Ym1pdCAg ICA6IDA9MC4wJSwgND0xMDAuMCUsIDg9MC4wJSwgMTY9MC4wJSwgMzI9MC4wJSwgNjQ9MC4wJSwg Pj02ND0wLjAlDQo+PiAgICBjb21wbGV0ZSAgOiAwPTAuMCUsIDQ9MTAwLjAlLCA4PTAuMCUsIDE2 PTAuMCUsIDMyPTAuMCUsIDY0PTAuMCUsID49NjQ9MC4xJQ0KPj4gICAgaXNzdWVkIHJ3dHM6IHRv dGFsPTUxNDI5NDAxMCwwLDAsMCBzaG9ydD0wLDAsMCwwIGRyb3BwZWQ9MCwwLDAsMA0KPj4gICAg bGF0ZW5jeSAgIDogdGFyZ2V0PTAsIHdpbmRvdz0wLCBwZXJjZW50aWxlPTEwMC4wMCUsIGRlcHRo PTEyOA0KPj4gDQo+PiBSdW4gc3RhdHVzIGdyb3VwIDAgKGFsbCBqb2JzKToNCj4+ICBSRUFEOiBi dz01MS43R2lCL3MgKDU1LjZHQi9zKSwgNTEuN0dpQi9zLTUxLjdHaUIvcyANCj4+ICg1NS42R0Iv cy01NS42R0IvcyksIGlvPTMxMDVHaUIgKDMzMzRHQiksIHJ1bj02MDAwMy02MDAwM21zZWMNCj4+ IA0KPj4gUnVuIHN0YXR1cyBncm91cCAxIChhbGwgam9icyk6DQo+PiAgUkVBRDogYnc9NDYuOUdp Qi9zICg1MC4zR0IvcyksIDQ2LjlHaUIvcy00Ni45R2lCL3MgDQo+PiAoNTAuM0dCL3MtNTAuM0dC L3MpLCBpbz0yODEyR2lCICgzMDE5R0IpLCBydW49NjAwMDMtNjAwMDNtc2VjDQo+PiANCj4+IFJ1 biBzdGF0dXMgZ3JvdXAgMiAoYWxsIGpvYnMpOg0KPj4gIFJFQUQ6IGJ3PTMyLjdHaUIvcyAoMzUu MUdCL3MpLCAzMi43R2lCL3MtMzIuN0dpQi9zIA0KPj4gKDM1LjFHQi9zLTM1LjFHQi9zKSwgaW89 MTk2MkdpQiAoMjEwNkdCKSwgcnVuPTYwMDA2LTYwMDA2bXNlYw0KPj4gDQo+PiBSdW4gc3RhdHVz IGdyb3VwIDMgKGFsbCBqb2JzKToNCj4+ICBSRUFEOiBidz0zMi43R2lCL3MgKDM1LjFHQi9zKSwg MzIuN0dpQi9zLTMyLjdHaUIvcyANCj4+ICgzNS4xR0Ivcy0zNS4xR0IvcyksIGlvPTE5NjJHaUIg KDIxMDdHQiksIHJ1bj02MDAwNi02MDAwNm1zZWMNCj4+IA0KPj4gRGlzayBzdGF0cyAocmVhZC93 cml0ZSk6DQo+PiBudm1lMG4xOiBpb3M9OTAzMzY2OTQvMCwgbWVyZ2U9MC8wLCB0aWNrcz00NTEw MjE2My8wLCANCj4+IGluX3F1ZXVlPTQ1MTAyMTYzLCB1dGlsPTk3LjQ0JQ0KPj4gbnZtZTFuMTog aW9zPTkwMzM3MTUzLzAsIG1lcmdlPTAvMCwgdGlja3M9NDc0MjI4ODYvMCwgDQo+PiBpbl9xdWV1 ZT00NzQyMjg4NywgdXRpbD05Ny44MSUNCj4+IG52bWUybjE6IGlvcz05MDMzNzUxNi8wLCBtZXJn ZT0wLzAsIHRpY2tzPTQ2NDE5NzgyLzAsIA0KPj4gaW5fcXVldWU9NDY0MTk3ODIsIHV0aWw9OTcu OTUlDQo+PiBudm1lM24xOiBpb3M9OTAzMzc4NDMvMCwgbWVyZ2U9MC8wLCB0aWNrcz00NjI1NjM3 NC8wLCANCj4+IGluX3F1ZXVlPTQ2MjU2Mzc0LCB1dGlsPTk3Ljk1JQ0KPj4gbnZtZTRuMTogaW9z PTkwMzM3NzQyLzAsIG1lcmdlPTAvMCwgdGlja3M9NTkxMjIyMjYvMCwgDQo+PiBpbl9xdWV1ZT01 OTEyMjIyNSwgdXRpbD05OC4xOSUNCj4+IG52bWU1bjE6IGlvcz05MDMzODgxMy8wLCBtZXJnZT0w LzAsIHRpY2tzPTU3ODExNzU4LzAsIA0KPj4gaW5fcXVldWU9NTc4MTE3NTgsIHV0aWw9OTguMzMl DQo+PiBudm1lNm4xOiBpb3M9OTAzMzkxOTQvMCwgbWVyZ2U9MC8wLCB0aWNrcz01NzM2OTMzNy8w LCANCj4+IGluX3F1ZXVlPTU3MzY5MzM3LCB1dGlsPTk4LjM3JQ0KPj4gbnZtZTduMTogaW9zPTkw MzM5MDQ4LzAsIG1lcmdlPTAvMCwgdGlja3M9NTU3OTEwNzYvMCwgDQo+PiBpbl9xdWV1ZT01NTc5 MTA3NiwgdXRpbD05OC43OCUNCj4+IG52bWU4bjE6IGlvcz05MDM0MDIzNC8wLCBtZXJnZT0wLzAs IHRpY2tzPTQ0OTc3MDAxLzAsIA0KPj4gaW5fcXVldWU9NDQ5NzcwMDEsIHV0aWw9OTkuMDElDQo+ PiBudm1lMTJuMTogaW9zPTgxODE5NjA4LzAsIG1lcmdlPTAvMCwgdGlja3M9MjY3ODgwODAvMCwg DQo+PiBpbl9xdWV1ZT0yNjc4ODA3OSwgdXRpbD05OS4yNCUNCj4+IG52bWUxM24xOiBpb3M9ODE4 MTk4MzEvMCwgbWVyZ2U9MC8wLCB0aWNrcz0yNjczNjY4Mi8wLCANCj4+IGluX3F1ZXVlPTI2NzM2 NjgxLCB1dGlsPTk5LjU3JQ0KPj4gbnZtZTE0bjE6IGlvcz04MTgyMDAwNi8wLCBtZXJnZT0wLzAs IHRpY2tzPTI2NzcyOTUxLzAsIA0KPj4gaW5fcXVldWU9MjY3NzI5NTEsIHV0aWw9OTkuNjclDQo+ PiBudm1lMTVuMTogaW9zPTgxODIwMjE1LzAsIG1lcmdlPTAvMCwgdGlja3M9MjY3NDE1MzIvMCwg DQo+PiBpbl9xdWV1ZT0yNjc0MTUzMiwgdXRpbD05OS43OCUNCj4+IG52bWUxN24xOiBpb3M9ODE4 MTk5MjIvMCwgbWVyZ2U9MC8wLCB0aWNrcz03NjQ1OTE5Mi8wLCANCj4+IGluX3F1ZXVlPTc2NDU5 MTkyLCB1dGlsPTk5Ljg0JQ0KPj4gbnZtZTE4bjE6IGlvcz04MTgyMDE0Ni8wLCBtZXJnZT0wLzAs IHRpY2tzPTg2NzU2MzA5LzAsIA0KPj4gaW5fcXVldWU9ODY3NTYzMDksIHV0aWw9OTkuODIlDQo+ PiBudm1lMTluMTogaW9zPTgxODIwNDgxLzAsIG1lcmdlPTAvMCwgdGlja3M9NzUwMDg5MTkvMCwg DQo+PiBpbl9xdWV1ZT03NTAwODkxOSwgdXRpbD0xMDAuMDAlDQo+PiBudm1lMjBuMTogaW9zPTgx ODE5NjkwLzAsIG1lcmdlPTAvMCwgdGlja3M9OTE4ODgyNzQvMCwgDQo+PiBpbl9xdWV1ZT05MTg4 ODI3NSwgdXRpbD0xMDAuMDAlDQo+PiBudm1lMjFuMTogaW9zPTgxODIxODA5LzAsIG1lcmdlPTAv MCwgdGlja3M9MjY2NTMwNTYvMCwgDQo+PiBpbl9xdWV1ZT0yNjY1MzA1NywgdXRpbD0xMDAuMDAl IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+PiBGcm9tOiBNYXR0IFdhbGxpcyA8bWF0dHdA bWFkbW9ua3Mub3JnPg0KPj4gU2VudDogV2VkbmVzZGF5LCBKdWx5IDI4LCAyMDIxIDg6NTQgUE0N Cj4+IFRvOiBGaW5sYXlzb24sIEphbWVzIE0gQ0lWIChVU0EpIDxqYW1lcy5tLmZpbmxheXNvbjQu Y2l2QG1haWwubWlsPg0KPj4gQ2M6IGxpbnV4LXJhaWRAdmdlci5rZXJuZWwub3JnDQo+PiBTdWJq ZWN0OiBSZTogW05vbi1Eb0QgU291cmNlXSBDYW4ndCBnZXQgUkFJRDUvUkFJRDYgTlZNZSByYW5k b21yZWFkIElPUFMgLSBBTUQgUk9NRSB3aGF0IGFtIEkgbWlzc2luZz8/Pz8/DQo+PiANCj4+IEhp IEppbSwNCj4+IA0KPj4gVG90YWxseSBnZXQgdGhlIEZyYW5rZW5zdGVpbuKAmXMgbW9uc3RlciBh c3BlY3QsIEkgdHJ5IG5vdCB0byBidWlsZCB0aG9zZSB3aGVyZSBJIGNhbiwgYnV0IGF0IHRoZSBt b21lbnQgSSBkb27igJl0IHRoaW5rIHRoZXJl4oCZcyBtdWNoIHRoYXQgY2FuIGJlIGRvbmUgYWJv dXQgaXQuDQo+PiBOb3Qgc3VyZSBpZiBMVk0gaXMgYmV0dGVyIHRoYW4gTURSQUlEIDAsIGl0IGp1 c3QgZ2l2ZXMgeW91IG1vcmUgY29udHJvbCBvdmVyIHRoZSB2b2x1bWVzIHRoYXQgY2FuIGJlIGNy ZWF0ZWQsIGluc3RlYWQgb2YgaGF2aW5nIGl0IGFsbCBpbiBvbmUgYmlnIGNodW5rLiBJZiB5b3Ug anVzdCBuZWVkIG9uZSBiaWcgY2h1bmssIHRoZW4gTURSQUlEIDAgaXMgcHJvYmFibHkgZmluZS4N Cj4+IA0KPj4gSSB0aGluayBpZiB5b3UgY2FuIGNyZWF0ZSBhIGNvdXBsZSBvZiBzY3JpcHRzIHRo YXQgYWxsb3dzIHRoZSBhZG1pbiB0byBmYWlsIGEgZHJpdmUgb3V0IG9mIGFsbCB0aGUgYXJyYXlz IHRoYXQgaXTigJlzIGluIGF0IG9uY2UsIHRoZW4gaXQncyBub3QgdGhhdCBtdWNoIHdvcnNlIHRo YW4gbWFuYWdpbmcgYW4gTURSQUlEIGlzIG5vcm1hbGx5LiANCj4+IA0KPj4gTWF0dC4NCj4+IA0K Pj4+IE9uIDI4IEp1bCAyMDIxLCBhdCAyMDo0MywgRmlubGF5c29uLCBKYW1lcyBNIENJViAoVVNB KSA8amFtZXMubS5maW5sYXlzb240LmNpdkBtYWlsLm1pbD4gd3JvdGU6DQo+Pj4gDQo+Pj4gTWF0 dCwNCj4+PiBJIGhhdmUgcHV0IGFzIG1hbnkgYXMgMzIgcGFydGl0aW9ucyBvbiBhIGRyaXZlIChi YXNlZCB1cG9uIGdyZWF0IGFkdmljZSBmcm9tIHRoaXMgbGlzdCkgYW5kIGRvbmUgUkFJRDYgb3Zl ciB0aGVtLCBidXQgSSB3YXMgY29uY2VybmVkIGFib3V0IG91ciBzdXN0YWluYWJpbGl0eSBsb25n IHRlcm0uICAgICBBcyBhIHJlc2VhcmNoZXIsIEkgY2FuIGRvIHRoZXNlIGNvb2wgc2NpZW5jZSBl eHBlcmltZW50cywgYnV0IEkgc3RpbGwgaGF2ZSB0byBoYW5kIGRlc2lnbnMgIHRvIHN1c3RhaW5t ZW50IGZvbGtzLiAgSSB3YXMgYWxzbyBydW5uaW5nIGludG8gYW4gaXNzdWUgb2YgZG9pbmcgYSBt ZHJhaWQgUkFJRDAgb24gdG9wIG9mIHRoZSBSQUlENidzIHNvIEkgY291bGQgdG9zcyBvbmUgIHhm cyBmaWxlIHN5c3RlbSBvbiB0b3AgZWFjaCBvZiB0aGUgbnVtYSBub2RlJ3MgZHJpdmVzIGFuZCB0 aGUgbGFzdCBSQUlEMCBzdHJpcGUgb2YgYWxsIG9mIHRoZSBSQUlENidzIGNvdWxkbid0IGdlbmVy YXRlIHRoZSBxdWV1ZSBkZXB0aCBuZWVkZWQuICAgIFdlIGV2ZW4gcmVjb21waWxlZCB0aGUga2Vy bmVsIHRvIGNoYW5nZSB0aGUgbWRyYWlkIG5yX3JlcXVlc3QgbWF4IGZyb20gMTI4IHRvIDEwMjMu ICANCj4+PiANCj4+PiBJIHdpbGwgaGF2ZSB0byB0cnkgdGhlIExWTSBleHBlcmltZW50LiAgSSdt IGFuIExWTSAgbmVvcGh5dGUsIHNvIGl0IG1pZ2h0IHRha2UgbWUgdGhlIHJlc3Qgb2YgdG9kYXkv dG9tb3Jyb3cgdG8gZ2V0IG5ldyByZXN1bHRzIGFzIEkgdGVuZCB0byBsZXQgbWRyYWlkIGRvIGFs bCBvZiBpdHMgdm9sdW1lIGJ1aWxkcyB3aXRob3V0IGZvcmNpbmcsIHNvIHRoYXQgd2lsbCB0YWtl IGEgYml0IG9mIHRpbWUgYWxzby4gIE9uY2UgbWlnaHQgYmUgYWJsZSB0byBhcmd1ZSB0aGF0IGNv bmZpZ3VyYXRpb24gaXNuJ3QgdG9vIG11Y2ggb2YgYSAiRnJhbmtlbnN0ZWluJ3MgbW9uc3RlciIg Zm9yIG1lIHRvIGhhbmQgaXQgb2ZmLg0KPj4+IA0KPj4+IFRoYW5rcywNCj4+PiBKaW0NCj4+PiAN Cj4+PiANCj4+PiANCj4+PiANCj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4+IEZy b206IE1hdHQgV2FsbGlzIDxtYXR0d0BtYWRtb25rcy5vcmc+DQo+Pj4gU2VudDogV2VkbmVzZGF5 LCBKdWx5IDI4LCAyMDIxIDY6MzIgQU0NCj4+PiBUbzogRmlubGF5c29uLCBKYW1lcyBNIENJViAo VVNBKSA8amFtZXMubS5maW5sYXlzb240LmNpdkBtYWlsLm1pbD4NCj4+PiBDYzogbGludXgtcmFp ZEB2Z2VyLmtlcm5lbC5vcmcNCj4+PiBTdWJqZWN0OiBbTm9uLURvRCBTb3VyY2VdIFJlOiBDYW4n dCBnZXQgUkFJRDUvUkFJRDYgTlZNZSByYW5kb21yZWFkIElPUFMgLSBBTUQgUk9NRSB3aGF0IGFt IEkgbWlzc2luZz8/Pz8/DQo+Pj4gDQo+Pj4gSGkgSmltLA0KPj4+IA0KPj4+PiBPbiAyOCBKdWwg MjAyMSwgYXQgMDY6MzIsIEZpbmxheXNvbiwgSmFtZXMgTSBDSVYgKFVTQSkgPGphbWVzLm0uZmlu bGF5c29uNC5jaXZAbWFpbC5taWw+IHdyb3RlOg0KPj4+PiANCj4+Pj4gU29ycnksIHRoaXMgd2ls bCBiZSBhIGxvbmcgZW1haWwgd2l0aCBldmVyeXRoaW5nIEkgZmluZCB0byBiZSByZWxldmFudCwg YnV0IEkgY2FuIGdldCBvdmVyIDExMEdCL3Mgb2YgNGtCIHJhbmRvbSByZWFkcyBmcm9tIGluZGl2 aWR1YWwgTlZNZSBTU0RzLCBidXQgSSdtIGF0IGEgbG9zcyB3aHkgbWRyYWlkIGNhbiBvbmx5IGRv IGEgdmVyeSBzbWFsbCAgZnJhY3Rpb24gb2YgaXQuICAgSSdtIGF0IG15ICJvcmdhbml6YXRpb25h bCB3b3JsZCByZWNvcmQiIGZvciBzdXN0YWluZWQgSU9QUywgYnV0IEkgbmVlZCBwcm90ZWN0ZWQg SU9QUyB0byBkbyBzb21ldGhpbmcgdXNlZnVsLiAgICAgVGhpcyBpcyBldmVyeXRoaW5nIEkgZG8g dG8gYSBzZXJ2ZXIgdG8gbWFrZSB0aGUgSS9PIGNyYW5rLi4uLi5NeSByb2xlIGlzIHRoYXQgb2Yg YSBsYWIgcmVzZWFyY2hlci9yZXNpZGVudCBleHBlcnQvY29uc3VsdGFudC4gICBJJ20ganVzdCBz dHVtcGVkIHdoeSBJIGNhbid0IGRvIGJldHRlci4gICBJZiB0aGVyZSBpcyBhIGZpbmUgbWFudWFs IHRoYXQgc29tZWJvZHkgY2FuIHBvaW50IG1lIHRvLCBJJ20gaGFwcHkgdG8gcmVhZCBpdOKApg0K Pj4+IA0KPj4+IEkgYW0gcHJvYmFibHkgZ29pbmcgdG8gZ2V0IGNvcnJlY3RlZCBvbiBzb21lIGlm IG5vdCBhbGwgb2YgdGhpcywgYnV0IGZyb20gd2hhdCBJIHVuZGVyc3RhbmQsIGFuZCBmcm9tIG15 IG93biBsaXR0bGUgZXhwZXJpbWVudHMgb24gYSBzaW1pbGFyIEludGVsIGJhc2VkIHN5c3RlbeKA piAxLiBOVk1lIGlzIHN0dXBpZCBmYXN0LCB5b3UgbmVlZCBhIGdvb2QgY2h1bmsgb2YgQ1BVIHBl cmZvcm1hbmNlIHRvIG1heCBpdCBvdXQuDQo+Pj4gMi4gTW9zdCBibG9jayBJTyBpbiB0aGUga2Vy bmVsIGlzIGxpbWl0ZWQgaW4gdGVybXMgb2YgdGhyZWFkaW5nLCBpdCANCj4+PiBtYXkgZXZlbiBi ZSBlc3NlbnRpYWxseSBzaW5nbGUgdGhyZWFkZWQuIChUaGlzIGlzIHdoZXJlIEkgd2lsbCBnZXQg DQo+Pj4gY29ycmVjdGVkKSAzLiBBRkFJQ1QsIHRoaXMgaW5jbHVkZXMgbWRyYWlkLCB0aGVyZeKA mXMgYSBzaW5nbGUgdGhyZWFkIA0KPj4+IHBlciBSQUlEIGRldmljZSBoYW5kbGluZyBhbGwgdGhl IFJBSUQgY2FsY3VsYXRpb25zLiAobWRYX3JhaWQ2KQ0KPj4+IA0KPj4+IFdoYXQgSSBkaWQgdG8g Z2V0IElPUHMgdXAgaW4gYSBzeXN0ZW0gd2l0aCAyNCBOVk1lLCBzcGxpdCB1cCBpbnRvIDEyIHBl ciBOVU1BIGRvbWFpbi4NCj4+PiAxLiBDcmVhdGUgOCBwYXJ0aXRpb25zIG9uIGVhY2ggZHJpdmUg KHRoaXMgbWF5IGJlIG92ZXJraWxsLCBJIGp1c3Qgc3RhcnRlZCBoZXJlIGZvciBzb21lIHJlYXNv bikgMi4gQ3JlYXRlIDggUkFJRDYgYXJyYXlzIHdpdGggMSBwYXJ0aXRpb24gcGVyIGRyaXZlLg0K Pj4+IDMuIFVzZSBMVk0gdG8gY3JlYXRlIGEgc2luZ2xlIHN0cmlwZWQgbG9naWNhbCB2b2x1bWUg b3ZlciBhbGwgOCBSQUlEIHZvbHVtZXMuIFJBSUQgMCs2IGFzIGl0IHdlcmUuDQo+Pj4gDQo+Pj4g WW91IG5vdyBoYXZlIGFuIExWTSB0aHJlYWQgdGhhdCBpcyBiYXNpY2FsbHkgZG9pbmcgbm90aGlu ZyBtb3JlIHRoYW4gY2h1bmtpbmcgdGhlIGRhdGEgYXMgaXQgY29tZXMgaW4sIHRoZW4sIHNlbmRp bmcgdGhlIGNodW5rcyB0byA4IHNlcGFyYXRlIFJBSUQgZGV2aWNlcywgZWFjaCB3aXRoIHRoZWly IG93biB0aHJlYWRzLCBidWZmZXJzLCBxdWV1ZXMgZXRjLCBhbGwgb2Ygd2hpY2ggY2FuIGJlIHNw cmVhZCBvdmVyIG1vcmUgY29yZXMuDQo+Pj4gDQo+Pj4gSSBzYXcgYSBzaWduaWZpY2FudCAoZm9y IG1lLCBzaWduaWZpY2FudCBpcyA+MjAlKSBpbmNyZWFzZSBpbiBJT1BzIGRvaW5nIHRoaXMuIA0K Pj4+IA0KPj4+IFlvdSBzdGlsbCBoYXZlIFJBSUQ2IHByb3RlY3Rpb24sIGJ1dCB5b3UgbWlnaHQg d2FudCB0byB3cml0ZSBhIGNvdXBsZSBvZiBzY3JpcHRzIHRvIGhlbHAgeW91IG1hbmFnZSB0aGUg YXJyYXlzLCBiZWNhdXNlIGEgc2luZ2xlIGZhaWxlZCBkcml2ZSBub3cgbmVlZHMgdG8gYmUgcmVt b3ZlZCBmcm9tIDggUkFJRCB2b2x1bWVzLiANCj4+PiANCj4+PiBUaGVyZeKAmXMgbm90IGEgbG90 IG9mIGNhcGFjaXR5IGxvc3QgZG9pbmcgdGhpcywgcHJldHR5IHN1cmUgSSBsb3N0IGxlc3MgdGhh biAxMDBNQiB0byB0aGUgcGFydGl0aW9ucyBhbmQgdGhlIFJBSUQgb3ZlcmhlYWQuDQo+Pj4gDQo+ Pj4gWW91IHdvdWxkIG5ldmVyIGNvbnNpZGVyIHRoaXMgb24gc3Bpbm5pbmcgZGlzayBvZiBjb3Vy c2UsIHdheSB0byBzbG93IGFuZCB5b3XigJlyZSBqdXN0IGdvaW5nIHRvIG1ha2UgaXQgc2xvd2Vy LCBOVk1lIGFzIHlvdSBub3RpY2VkIGhhcyB0aGUgSU9QcyB0byBzcGFyZSwgc28gSeKAmW0gcHJl dHR5IHN1cmUgaXTigJlzIGp1c3QgdGhhdCB3ZeKAmXJlIG5vdCBhYmxlIHRvIGdldCB0aGUgZGF0 YSB0byBpdCBmYXN0IGVub3VnaC4NCj4+PiANCj4+PiBNYXR0DQoNCg==