From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id A6A8BAC18A0 for ; Tue, 9 Jan 2024 16:20:08 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=jsAe3U/FqFYKgK2/3dwOnebz9WTYhheR3rjI8E7JV6o=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1704817207; v=1; b=dfoIc2y/qol9erCXYYuYGHmSx/KRUeU0eeb5XWkunfPI7MDqIKACJz/BOqHxChQuXm2y9C6s wb8tVnEGA6CHsDMBuG5+uyzcGsW54DVibtQrZb/rB2XfPo9p0uMQrnhTfxyp3jD1EiQIWwGoecu AeJneLTOOTtcWIU0lSIRRt+8= X-Received: by 127.0.0.2 with SMTP id ZwPwYY7687511xSnpNXGfmp6; Tue, 09 Jan 2024 08:20:07 -0800 X-Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web10.20953.1704817205948253334 for ; Tue, 09 Jan 2024 08:20:06 -0800 X-IronPort-AV: E=McAfee;i="6600,9927,10947"; a="484425153" X-IronPort-AV: E=Sophos;i="6.04,183,1695711600"; d="scan'208";a="484425153" X-Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jan 2024 08:19:56 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.04,183,1695711600"; d="scan'208";a="23928035" X-Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmviesa001.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 09 Jan 2024 08:19:58 -0800 X-Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 9 Jan 2024 08:19:56 -0800 X-Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Tue, 9 Jan 2024 08:19:56 -0800 X-Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.169) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Tue, 9 Jan 2024 08:19:56 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N897GBYSQm319nflfGj5xoaZBmH0P3+oJZbb6D0sVqAScqnxAJw6+qyCE5EdRWyc/KSOg+YAaxJ76CNijc6ugdNAzhGPPl+u0GzylW4vCRMgeDhCD7TcUfTELNndUfMx8uVNf6G1AB1Oz4LmDgTAIWfce6gantkQpMBssvWKTCifuxKXJBO6SEX0Yq3j/mLwQqduJ7C4njjiIvAOJu77CnRYxunXkG1D3qqApQx2tHNtB6BUgcLBAXDbCTSRFB3JYckF7LfyZ42mj5yjV0wn88pYTY1qfHz9ZXS3HnDlFNsluWdmn7Xi+tuJnbCAAQOFQS4Y0l5bw1FX5J+UtchAdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=WBRXnC0DNoUQBaGBjqzbsuX9GaNMQPCApq8vuodajOk=; b=c291BpDU7f+TJouf3qfs+dEfwpTofOtjYVDgiBHQ1OHptOTz3NWFg0oSVObav0aGq9QTvcNeaaHOcV7U5Pfb9vHYxms4Rr4yCvYzPBiOqpmk7Y98XKNBapvmvu5uMk+/5idiOPjaXjewFL1kkY5uTMIVxcaF5tfLTwmdaSbVKhnrkkoU6q+z+RYTsmyinpSVMWzPZ7SG3/Jv3eDEYcKnCLf3DOrHw2MlYyzXokTPG4nPYiBO7H+QCV4RxuVUNS25bBBfVU0Le6rQrMGBKc07WEzNCZy0kEwrtsPt26SYSSaPLTdar2YkE24RR0dd4zI/LTWYLWsRMzedVenBr5NjRA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none X-Received: from PH8PR11MB6856.namprd11.prod.outlook.com (2603:10b6:510:22b::7) by DS0PR11MB7649.namprd11.prod.outlook.com (2603:10b6:8:146::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.23; Tue, 9 Jan 2024 16:19:53 +0000 X-Received: from PH8PR11MB6856.namprd11.prod.outlook.com ([fe80::1ecf:18bf:776a:986a]) by PH8PR11MB6856.namprd11.prod.outlook.com ([fe80::1ecf:18bf:776a:986a%7]) with mapi id 15.20.7159.020; Tue, 9 Jan 2024 16:19:53 +0000 From: "Andrei Warkentin" To: Sunil V L , Pedro Falcato CC: "devel@edk2.groups.io" , "dhaval@rivosinc.com" , yorange , Ard Biesheuvel , Leif Lindholm Subject: Re: [edk2-devel] [PATCH v10 4/5] MdePkg: Utilize Cache Management Operations Implementation For RISC-V Thread-Topic: [edk2-devel] [PATCH v10 4/5] MdePkg: Utilize Cache Management Operations Implementation For RISC-V Thread-Index: AQHaLdWQr+3G84Hk9EqvFqByqK36YbDQD3uAgAAi8YCAAA/PAIAAXGgAgAB/8YCAALRiAA== Date: Tue, 9 Jan 2024 16:19:53 +0000 Message-ID: References: <17828.1704727587183697949@groups.io> <6131.1704730982570913230@groups.io> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH8PR11MB6856:EE_|DS0PR11MB7649:EE_ x-ms-office365-filtering-correlation-id: 69986604-372c-4e54-8232-08dc112ed029 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: BtQmoWdL9aALGqgUAStTSKgIKzs7YDIVKuYLWbusDFU9lPaCcHCxIrfJPWoE58NYz504PUhfJn4hM8elZP2z4ETRWZmjiTJ/DNgHdfxn7u2LVWcj4q5zGPUj0Pk25Dj7pmARf+x2OaBhanpWQrvPha3pL+H5lwBEC/eGFJcuTC27ox6rnMGzJmtVkt3bgGIoRV4EQ9jqY1MY4FfqRpQr4ecvE6+VdD/7q04eM07UZ5E5ladHcKOEAvIP38QobW+sHISviCWjscQ/S9vkFHNbj8kXV5EZPJ7Hxe+4eYLERU7BXk4BXVQDB1GTq7tXF4RSGLHspGuigb75qk/Q0KE32JKcqeAcdY9drg7BGueh/zWfYNbOKpNJpYwYteWO6X3tf0QpiXSMtgy70E0er5ZZAo4REIdgMpyOhPg3X46Rj2uckFbUMnQv19XxFI3hkoC+bDj/Yr57l2HzHo2sejN1R2i83R3uSv6cV5mHdEd+l1uW4oMjzmGama/ag+zdxA8d6da42x/D0F7zhzcHKJJsvTrucVN/232tsTWam99SgwyHdgAVwCABU4QFd8FfPrjc5UxMpz7bysLNBH4W4tTju+fCJfYV4c3y6VnIWxOEUwODKeTMV2QCssC8nan5d7TO x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YUFYbFBRYVp3aGg4c010aHhhTXRKVUhCeFRWZVQwT0U4WEx6cWJjS1hZdnBz?= =?utf-8?B?NUxLYUtxNFA4QW5vdEFSaWRva3FwdE5DbVRpMDFHeVZGWWxjUEJ1b0QzLzBj?= =?utf-8?B?R2sydlg0eTVkdGYxQXBmK296Y1dsRU12ejRnMHIyM0htam0raUR4dk85ekxX?= =?utf-8?B?VEk1TTJYTk5nS0E4R1ZSWFBtbloxZVlLY2hvZlF1WTVwcUlKalJDM0ZhejND?= =?utf-8?B?T3Jtb1k0Y2Q0VHFUYVRqMDBuajJZT2w0emJGeVd6VXRLeVIxZFpDNDcwSnNp?= =?utf-8?B?ekNKQkcrNjduZm1YQURZS084b3N1anhhSUNaZmFiRnJYSXVLdHNGTThyT2xl?= =?utf-8?B?MUtEd29CUFhwQjBXWDhKRURXZ0czZ0JsSlhOU29oQUduM0lqQUk1blhtVCtZ?= =?utf-8?B?WmNsNUx0enJkSE94RzRCS3FYTysxUGhhaDBaUVpYL2tIQ2VybEdJelY1NnRU?= =?utf-8?B?QkpXTjV2c0lpS0RlTXM1WUIwbldQU0RYK1NyRVRTdUR2bmU2ZG0zMGRQYzFz?= =?utf-8?B?MW9TNW5LcUUvalpTbmV3QVpGUHBoVjRsS1dSWndJTlRKTzdmeHkrOWhZNzlW?= =?utf-8?B?ZHVoMjJTUUFMK1RyMWFoSFJaSDVabThqZVhsNUJMb1Mwa3N3TW9PQXFzL0dq?= =?utf-8?B?V0NRcVhWSnlCdHM2VG55Y2ZUdk54b1MwalZFZ1BIYlNyMWcycDFWVVdFNGg5?= =?utf-8?B?RTlVd0ExWlZuSWk1a0dYdE96TnhQaktleXlBTUovMFlhLzhCbVJjVGJqZ1ky?= =?utf-8?B?UVk1TFJkSHJFeVlBYjd1eDk2dmZ4VnQrV05jUk5vbWRIR2ZwdHhJWlp5c2Z5?= =?utf-8?B?TWlTVU9hZFdZaWhyTGhLUWJuYmhURlNXbVhiTHdQYzlJZnVwbUF3Q25ESmNo?= =?utf-8?B?dXZKbVVhSmtvbDFMb2ZhOWdtOHVHSThEaEVOcjRpOUJTSzlqcDh4SGNtNlF3?= =?utf-8?B?UW1OeVhkdC9LWDE3SWt1YURNc2gzd240aFpLOVVjSmh3UW9CL2UvQ1V1aFAz?= =?utf-8?B?WVBtb1BwUkJnTW05Q0FiZjRhdWJUSzFTQWVzY2NIaG9vOC8xNUovWC82eHFX?= =?utf-8?B?cnhFZlFZaGxZM05hM0xmazg5QW5TUzZJZWNoZXFoZnA5c0JkaXRtMWh6KzZO?= =?utf-8?B?TDNuSXc3MVZGK1hac1V1aXVOZ2tLL2dYVFZqWnhsYUdYMGV4R0psWGp0cGlz?= =?utf-8?B?Z3MyY0s3a1JDdm9IVXdORE9tTTA1TFRzVXBkZnZzQlBsbzBDNitzajZiaHk0?= =?utf-8?B?ZVFYdG1LQVlQSTlrUVM2b2VEY2U0YTkrV3Y5SCtZTVZCRER0amxGdmp5dmRn?= =?utf-8?B?VXpReE8vdVRzNTFMY2ZvVUUrK05FaitIdWwvRU9ZeGZrS09BZ3gxc3ZaaENx?= =?utf-8?B?ZVNOK0ltWnluK2xQSmlzbmtzQTRhRGhCaXVZWlJUWlY2OTZLdHZ2NkJJWHdw?= =?utf-8?B?bmFjc3hHK0ZOTGNZUnhoOFE3WU9CTVpFRlVxOWdlWFYzSWFuUUtOalVGZ1Qv?= =?utf-8?B?M3ZTSDJxVUo4VGFvdUdFMFRBaUI1bUxvZzJncTB2bG82Yzl2dC9EKzJlQlR1?= =?utf-8?B?RDd1U1VVOTk0bmwySEJQY2VvYTNHMmRNcjNhditGT3pweW5GTDhOMm5JZ2lt?= =?utf-8?B?emtrQW9QSzROdnM0aWlub3Q0RnllYWRLeTN5WldRQ25kZ2hQSytpUnBpVllG?= =?utf-8?B?bkZzd1BZOUhWY1ZWdU9DVHRheU5idWZHSHpEZWlzK0k5aWFUVlJBbUZFMEk5?= =?utf-8?B?NkRkb29ZQWsvY28yT0kyWWNmSmtUb21pTFpOdXMwcytpMHVYSHhlZHVTVkNI?= =?utf-8?B?ZmJDb2NJUzRXT1RKOWs4aGtodktEUmtBL2FyUEt1TVE5eWZQWlRpc1F1M3d4?= =?utf-8?B?MGRFb0tLVFgySHRKNmRqalVyZzliMVJOeFBtLzRZYVc1MTIxMzE2bnNHQzJG?= =?utf-8?B?MWdaMUk1MVZXOGh1Y0JpMlVTS1BucjJHOTNLdnFXUjNYZkRwYndjdW8rNmlK?= =?utf-8?B?WXpyV3dPR1FxV0JhZ25lNlBIV1QzUTZ2bWFtVlpzKy9URkZFSjlvNFFFOURx?= =?utf-8?B?YWFOSDYzNTRuZVdIRFZ5aUhXWFN1cHFhc2kwMDk2SVNDNW4yU0Q0RjBPRWJX?= =?utf-8?B?K0RESXFhdUwvMS9ucWljUW1ib0ZnMnlFa0xENlZvOVFpcXF3Q3RyVVlZd0o1?= =?utf-8?B?dlE9PQ==?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH8PR11MB6856.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 69986604-372c-4e54-8232-08dc112ed029 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Jan 2024 16:19:53.5477 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 8KcLD3dP7cqdPbH0dZ+zEkbw4XQxeha31yOcmATGj64insWv56ZpipBoXoLo3PI8O3xwZHNbofyCBQVF4qPX+i1x5N0Aj3uf8w5a3YYp9mI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB7649 X-OriginatorOrg: intel.com Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,andrei.warkentin@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: eIXe1TOpD95FrDSYxB7SFCUkx7686176AA= Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b="dfoIc2y/"; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io Rm9yIG5vdywgdGhpcyBpcyByZWFsbHkgc29tZXRoaW5nIHRoYXQgb3VnaHQgdG8gYmUgaGlkZGVu IGJ5IERtYUxpYiBhYnN0cmFjdGlvbiAoTWFwL1VubWFwKS4gVGhpcyB3b3VsZCBhbGxvdyB0aGUg ZHJpdmVyIHRvIGJlIG1pbmltYWxseSBhd2FyZSBvZiBob3cgdGhlIElQIGlzIGludGVncmF0ZWQg aW50byB0aGUgU29DLg0KDQpBDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJv bTogU3VuaWwgViBMIDxzdW5pbHZsQHZlbnRhbmFtaWNyby5jb20+DQo+IFNlbnQ6IE1vbmRheSwg SmFudWFyeSA4LCAyMDI0IDExOjMyIFBNDQo+IFRvOiBQZWRybyBGYWxjYXRvIDxwZWRyby5mYWxj YXRvQGdtYWlsLmNvbT4NCj4gQ2M6IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBkaGF2YWxAcml2b3Np bmMuY29tOyB5b3JhbmdlDQo+IDx5YW5nY2hlbmcud29ya0Bmb3htYWlsLmNvbT47IFdhcmtlbnRp biwgQW5kcmVpDQo+IDxhbmRyZWkud2Fya2VudGluQGludGVsLmNvbT47IEFyZCBCaWVzaGV1dmVs IDxhcmRiK3RpYW5vY29yZUBrZXJuZWwub3JnPjsNCj4gTGVpZiBMaW5kaG9sbSA8cXVpY19sbGlu ZGhvbEBxdWljaW5jLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjEw IDQvNV0gTWRlUGtnOiBVdGlsaXplIENhY2hlDQo+IE1hbmFnZW1lbnQgT3BlcmF0aW9ucyBJbXBs ZW1lbnRhdGlvbiBGb3IgUklTQy1WDQo+IA0KPiBPbiBNb24sIEphbiAwOCwgMjAyNCBhdCAwOTo1 Mzo0NlBNICswMDAwLCBQZWRybyBGYWxjYXRvIHdyb3RlOg0KPiA+IE9uIE1vbiwgSmFuIDgsIDIw MjQgYXQgNDoyM+KAr1BNIERoYXZhbCBTaGFybWEgPGRoYXZhbEByaXZvc2luYy5jb20+DQo+IHdy b3RlOg0KPiA+ID4NCj4gPiA+IEhpIHlhbmdjaGVuZy9QZWRybywNCj4gPg0KPiA+ICtDQyBhIGJ1 bmNoIG9mIHJlbGV2YW50IHBlb3BsZQ0KPiA+DQo+ID4gSGksIChGWUkgeW91IGRpZCBub3QgQ0Mg bWUpDQo+ID4NCj4gPiBMb29raW5nIGF0IHlhbmdjaGVuZydzIGV4YW1wbGU6DQo+ID4NCj4gPiAg IFN0YXR1cyA9IFByZXBhcmVEbWFEYXRhIChncElkbWFjRGVzYywgTGVuZ3RoLCBCdWZmZXIpOyA8 LS0gV2Ugd3JpdGUNCj4gPiB0byB0aGUgSURNQUMgZGVzYw0KPiA+ICAgaWYgKEVGSV9FUlJPUiAo U3RhdHVzKSkgew0KPiA+ICAgICBnb3RvIG91dDsNCj4gPiAgIH0NCj4gPg0KPiA+ICAgV3JpdGVC YWNrRGF0YUNhY2hlUmFuZ2UgKGdwSWRtYWNEZXNjLCBEZXNjUGFnZXMgKiBFRklfUEFHRV9TSVpF KTsNCj4gPiA8LS0gTWFrZSBzdXJlIGl0J3MgRE1BLWNvaGVyZW50DQo+ID4gICBTdGFydERtYSAo TGVuZ3RoKTsgPC0tIFdlJ3ZlIGZsdXNoZWQgdGhlIGNhY2hlLCBldmVyeXRoaW5nIGlzIG5vdyBp bg0KPiA+IERSQU0gYW5kIERNQS1jb2hlcmVudCwgc3RhcnQgRE1BDQo+ID4NCj4gPiB3aGljaCBz Y3JlYW1zIG9mICJiYWQgYWJzdHJhY3Rpb25zIiBiZWNhdXNlIHlvdSBkb24ndCBhY3R1YWxseSBu ZWVkIHRvDQo+ID4gd3JpdGUgZGF0YSBiYWNrLCBpZiB0aGUgZGV2aWNlIGFuZCBwbGF0Zm9ybSBh cmUgRE1BIGNvaGVyZW50Lg0KPiA+DQo+ID4gU28gd2hhdCB3ZSB3YW50IGhlcmUgcmVhbGx5IGRl cGVuZHMuIE15IGxvY2FsICJWb2x1bWUgSTogUklTQy1WDQo+ID4gVW5wcml2aWxlZ2VkIElTQSBW MjAxOTEyMTMiIHNheXMsIHNlY3Rpb24gQS41Og0KPiA+DQo+ID4gIlRhYmxlIEEuNSBwcm92aWRl cyBhIG1hcHBpbmcgb2YgTGludXggbWVtb3J5IG9yZGVyaW5nIG1hY3JvcyBvbnRvDQo+ID4gUklT Qy1WIG1lbW9yeSBpbnN0cnVjdGlvbnMuDQo+ID4gVGhlIExpbnV4IGZlbmNlcyBkbWEgcm1iKCkg YW5kIGRtYSB3bWIoKSBtYXAgb250byBGRU5DRSBSLFIgYW5kIEZFTkNFDQo+ID4gVyxXLCByZXNw ZWN0aXZlbHksIHNpbmNlIHRoZSBSSVNDLVYgVW5peCBQbGF0Zm9ybSByZXF1aXJlcyBjb2hlcmVu dA0KPiA+IERNQSwgYnV0IHdvdWxkIGJlIG1hcHBlZCBvbnRvIEZFTkNFIFJJLFJJIGFuZCBGRU5D RSBXTyxXTywNCj4gPiByZXNwZWN0aXZlbHksIG9uIGEgcGxhdGZvcm0gd2l0aCBub24tY29oZXJl bnQgRE1BLg0KPiA+IFBsYXRmb3JtcyB3aXRoIG5vbi0NCj4gPiBjb2hlcmVudCBETUEgbWF5IGFs c28gcmVxdWlyZSBhIG1lY2hhbmlzbSBieSB3aGljaCBjYWNoZSBsaW5lcyBjYW4gYmUNCj4gPiBm bHVzaGVkIGFuZC9vciBpbnZhbGlkYXRlZC4NCj4gPiBTdWNoIG1lY2hhbmlzbXMgd2lsbCBiZSBk ZXZpY2Utc3BlY2lmaWMgYW5kL29yIHN0YW5kYXJkaXplZCBpbiBhDQo+ID4gZnV0dXJlIGV4dGVu c2lvbiB0byB0aGUgSVNBLiINCj4gPg0KPiA+IFRoZSAoY3VycmVudCBkYXRlKSBSSVNDViBQbGF0 Zm9ybSBTcGVjIGFsc28gc2F5czogIk1lbW9yeSBhY2Nlc3NlcyBieQ0KPiA+IEkvTyBtYXN0ZXJz IGNhbiBiZSBjb2hlcmVudCBvciBub24tY29oZXJlbnQgd2l0aCByZXNwZWN0IHRvIGFsbA0KPiA+ IGhhcnQtcmVsYXRlZCBjYWNoZXMuIg0KPiA+IHdoaWNoIGlzIGJyaWxsaWFudGx5IHVzZWxlc3Mu DQo+ID4NCj4gPiBzbyBJIHRoaW5rIHRoZSBiZXN0IHNvbHV0aW9uIGhlcmUgaXMgdG86DQo+ID4N Cj4gPiAxKSBBZGQgYSBuZXcgUENEIGZvciBwbGF0Zm9ybSBETUEgY29oZXJlbmN5LCBhbmQgdGVz dCB0aGF0IG9uDQo+ID4gV3JpdGVCYWNrRGF0YUNhY2hlUmFuZ2UncyBBU1NFUlQgKGlmICghQ29o ZXJlbnQpIEFTU0VSVCgpIGVsc2UNCj4gPiByZXR1cm47KQ0KPiA+IDIpIEFkZCBhIG1vcmUgYWJz dHJhY3RpbmcgQVBJIHRoYXQgZG9lc24ndCBuZWNlc3NhcmlseSBtYXAgdG8NCj4gPiBXcml0ZUJh Y2tEYXRhQ2FjaGUgd2hlbiBhbGwgd2Ugd2FudGVkIHdhcyB0byBhc3NlcnQgRE1BIGNvaGVyZW5j eQ0KPiA+DQo+ID4gYnV0LCBhbGFzLCBJJ3ZlIHNlZW4gYSBsb3QgbGVzcyBmdW5reSBwbGF0Zm9y bXMgdGhhbiBtYW55IG9mIHlvdSwgYW5kDQo+ID4gRE1BL2NhY2hlLWNvaGVyZW5jeSBpcyBub3Qg cmVhbGx5IG15IHRoaW5nLCBzbyBJJ2xsIGRlZmVyIHRvIG90aGVycy4uDQo+ID4NCj4gTXkgcHJl ZmVyZW5jZSBpcyBqdXN0IHJlbW92ZSB0aGUgYXNzZXJ0aW9uIGFuZCBhZGQgdGhlIGRlYnVnIHZl cmJvc2UNCj4gbWVzc2FnZSBpbnN0ZWFkIG9mIGNoYW5naW5nIGRyaXZlcnMvaW50cm9kdWNlIG5l dyBpbnRlcmZhY2VzLiBJdCBpcyBhIG5vcCBpbg0KPiBsaW51eCBhcyB3ZWxsIGlmIENNTyBpcyBu b3QgcHJlc2VudC4NCj4gDQo+IFRoYW5rcywNCj4gU3VuaWwNCg0KCi09LT0tPS09LT0tPS09LT0t PS09LT0tCkdyb3Vwcy5pbyBMaW5rczogWW91IHJlY2VpdmUgYWxsIG1lc3NhZ2VzIHNlbnQgdG8g dGhpcyBncm91cC4KVmlldy9SZXBseSBPbmxpbmUgKCMxMTM0NTcpOiBodHRwczovL2VkazIuZ3Jv dXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS8xMTM0NTcKTXV0ZSBUaGlzIFRvcGljOiBodHRwczovL2dy b3Vwcy5pby9tdC8xMDMxNTA0MzUvNzY4NjE3NgpHcm91cCBPd25lcjogZGV2ZWwrb3duZXJAZWRr Mi5ncm91cHMuaW8KVW5zdWJzY3JpYmU6IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC91 bnN1YiBbcmViZWNjYUBvcGVuZncuaW9dCi09LT0tPS09LT0tPS09LT0tPS09LT0tCgoNCg==