From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR02-AM5-obe.outbound.protection.outlook.com (EUR02-AM5-obe.outbound.protection.outlook.com [40.107.0.65]) by mx.groups.io with SMTP id smtpd.web10.8894.1602756730285584395 for ; Thu, 15 Oct 2020 03:12:12 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=WaqMNPpF; spf=pass (domain: arm.com, ip: 40.107.0.65, mailfrom: sami.mujawar@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=z1KNZBWh/kgLvqUp4w5EmCpqSYRcBPNFQxfCgHFDTjs=; b=WaqMNPpF69KqVrt5zkn+dTjAqyHfYSrdsuBnJPyF6p8ZD074UtGPQ+nKSLK20pvYAfONRO8VnoxR1b0sGrJpWizG63mra8BJ3kU7Ov1WobpPeKoN+kGk86msyz+zKrtuQLGztuElYWevctOWcvnX+BjYnxQ3IH1IP5LdJR93BZo= Received: from DB6PR07CA0159.eurprd07.prod.outlook.com (2603:10a6:6:43::13) by VI1PR08MB5373.eurprd08.prod.outlook.com (2603:10a6:803:131::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.23; Thu, 15 Oct 2020 10:12:07 +0000 Received: from DB5EUR03FT028.eop-EUR03.prod.protection.outlook.com (2603:10a6:6:43:cafe::4b) by DB6PR07CA0159.outlook.office365.com (2603:10a6:6:43::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.12 via Frontend Transport; Thu, 15 Oct 2020 10:12:07 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT028.mail.protection.outlook.com (10.152.20.99) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.21 via Frontend Transport; Thu, 15 Oct 2020 10:12:07 +0000 Received: ("Tessian outbound 7c188528bfe0:v64"); Thu, 15 Oct 2020 10:12:07 +0000 X-CR-MTA-TID: 64aa7808 Received: from 79652728520e.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id C5B7B59A-F3EE-4E61-9156-B584B9D2AA3C.1; Thu, 15 Oct 2020 10:12:02 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 79652728520e.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 15 Oct 2020 10:12:02 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=agzxNn+Xfs+mQETuRfNrqse9HG612E6dILcbAv+B+z3zri/iDX4f7MyuX5qfJhyWd3Tlzg1v86Ui3a8pRAT0+9LbcvgMSXfVsN15ojQ2znrA/Uqxu2Pge2Lz9qMI+HspbOL7JAaRg+jdubSX5sfoRmo1uBK9cRcjEwWamDyENBsUIUoziRj1Amrx6mwcQQRQAJoOF6eO5TzBE4k5swYDwY4quzal80kcJjVSQRgK7B44DMXlb6/W3IO0gIxKQZGK+vtQ5T9vz9Tlhutq83Mz4RdAJrRR+a42hwnX8WUf4+8SVawIspPnLRszej2BNGiCyXiS106rKkKiSONP/CWL0w== 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-SenderADCheck; bh=z1KNZBWh/kgLvqUp4w5EmCpqSYRcBPNFQxfCgHFDTjs=; b=NW/zr/TxKk6VwWENWOVJ84Wd9ahEvCI6LEEB0e8inf8qA1W3Y1KT/sLCQkKT2gf9MDuMiuf+v5exz8pMK/nfjcFO+pru78l0YwlmSARdrVKT6DRPA9taBK5k/Wsany0Fw/Ex78pnZWyRgzJVaMdr/vPu+sf84wvQzGacs1ue5OFpoV42t9eWCIfM9C/gtohLLi2dwEIbEgTrUZHwMVTRirN+rUS0H9TusJWiBox+XuH502zYTOTWX2jC6xab4xdzQllTxlCfgTe144wmKYS5zU89A6zLoOOQtEAXVR2PuBWAlI4T5cMmdaxuCWqu3vo59/vMaxb8EfkP98mJ3soxHA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=z1KNZBWh/kgLvqUp4w5EmCpqSYRcBPNFQxfCgHFDTjs=; b=WaqMNPpF69KqVrt5zkn+dTjAqyHfYSrdsuBnJPyF6p8ZD074UtGPQ+nKSLK20pvYAfONRO8VnoxR1b0sGrJpWizG63mra8BJ3kU7Ov1WobpPeKoN+kGk86msyz+zKrtuQLGztuElYWevctOWcvnX+BjYnxQ3IH1IP5LdJR93BZo= Received: from DB7PR08MB3097.eurprd08.prod.outlook.com (2603:10a6:5:1d::27) by DB6PR0802MB2502.eurprd08.prod.outlook.com (2603:10a6:4:a0::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.23; Thu, 15 Oct 2020 10:11:59 +0000 Received: from DB7PR08MB3097.eurprd08.prod.outlook.com ([fe80::897b:8573:fd4b:d06b]) by DB7PR08MB3097.eurprd08.prod.outlook.com ([fe80::897b:8573:fd4b:d06b%7]) with mapi id 15.20.3477.020; Thu, 15 Oct 2020 10:11:59 +0000 From: "Sami Mujawar" To: "Fu, Siyuan" , "devel@edk2.groups.io" , "lersek@redhat.com" , "Yao, Jiewen" , "rfc@edk2.groups.io" , "Laszlo Ersek (lersek@redhat.com)" CC: "Dong, Eric" , "Ni, Ray" , Ard Biesheuvel , Supreeth Venkatesh Subject: Re: [edk2-rfc] [edk2-devel] [RFC] Support Both MM Traditional and Standalone Drivers with One MM Core Thread-Topic: [edk2-rfc] [edk2-devel] [RFC] Support Both MM Traditional and Standalone Drivers with One MM Core Thread-Index: Adad/BvDcwINIpsnRk6CdDy+J9zhMgANwhQAAADIL6AAAbmcgAAaOD0gAHF730A= Date: Thu, 15 Oct 2020 10:11:59 +0000 Message-ID: References: <91565e60-54c5-8315-142b-d7b1309fca5a@redhat.com> <35c9e93e-5bd0-c932-c27c-183a687926c7@redhat.com> In-Reply-To: Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: C43411A2106D8449807F51384702F66E.0 x-checkrecipientchecked: true Authentication-Results-Original: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [2a00:23c6:548a:4800:acf5:7de8:ad8d:3a29] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 879c4c9a-8343-4ca3-83fa-08d870f2c5af x-ms-traffictypediagnostic: DB6PR0802MB2502:|VI1PR08MB5373: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: L8nHM6ZiGqkU62AhYjI53zKkLA/wPkbG4hi2641M1ZrupOVdESDS//fZS3KxRsry2r4mLRLrkcWO0BaiquvVnuEtRQgAIPl3w2GJjb6YwNt2wUP1BYngiU7wXhTudf09umi9Fb/NI+ybV49NqINvUJlWTVWFCDFtujCJs4MBplvZlox0xgiJ3mLnvMi49fYS/oBOKi87i/blsMOf/4aQPmuHXfJ8qCLE6mBJPcatJHw1hrQcbGHu5TuZ+3veO2kj1j5uzwDIx3pmKSC4qrntZ4p8EPB4fny8jDufEvYnetkuZO6fLAVsexkadKskI2gjLgej31zO6Bxte7fZmzyjKqrQKC7SFbszI3u2yEwkaUAh7PVnuZOPiTS/uikHdbwbEgOIyCBcnV7UkaYfDIs4yA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB3097.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(346002)(376002)(136003)(39860400002)(366004)(478600001)(8936002)(2906002)(8676002)(966005)(4326008)(6506007)(55016002)(53546011)(83380400001)(33656002)(52536014)(83080400001)(5660300002)(86362001)(316002)(54906003)(110136005)(9686003)(66446008)(66476007)(66556008)(64756008)(66946007)(71200400001)(186003)(76116006)(7696005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: 8s937KZ89G1N//ynWlWQWsujggfzw60Qc5SgJh9FX2tnBnZOb6beowi9EmWMViqqDBg5dP4FSNjG2b4AuB6IObVKaXdWQGjZgL/8fQ/lyPDvF7TYn33IokMw5ZtXSGziQli099LLVp6BxybFHUjAmWpx02QuvH4d5mRaWRFfl6Z4G2QSVERSHqUM3KO/pkZQHTC/2eqrOEl20nV0+qpUbVnhjj3tUnhOkW6g7RUOJ/2mJqtpmzbWJfPf7auXXqXJs02B5a7+UH3iBDk99SKMUfqGogRuR7LrhtzEkZWSMrbkFv36WMsfje8bH5JcyPh2d2Xl5EzLOo1iDJ7hcf8jRCBQshF+quty9H7Fn7qQkAdxhGn9Zh3RcDENNNs1Po//rZwiFvcxmULkeBeve6Q0uYPvtVaxUZaCqn/QK6LCwH2h+ZNgxn4bx9W8+tjj/EUZSvYERxm8dyP3ajuAxkvpBDFCW1X8vwMxC19HXH99SbO0ybmuGF4BEUpTuGVjQEt2SOINGmH5qCoGv3tz8mR7yiax7xAPYvjEGIVFoFImLM0evTqItLXCpdzeyNeb9iqmmV03a/NZm6m7NZmtyckmeqewJrdXJfY26gSD6ne0wOzm7xx0LrMRbxKdUlFcEEbhsuwfmbXJu6LjKiB9y1mF9xTx54vFUCkYlGUsdrMtx0eVudntEmoVX87pLampw1y8gCZy0OoOBZRT9+//Qyn/DA== MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2502 Original-Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=arm.com; Return-Path: Sami.Mujawar@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT028.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: a57bde01-3373-4487-8d6a-08d870f2c0dc X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mvaf+sEoFyQ5Mz8AZtX4C+uBJvyOnaWVDecCOaF8BW58K1M56Lp6dxHoiBMTxd9dRh1hv9z4QlVoRWTMMd7zH14llylBLShpnYGVApJ5DirLIprpVczGlhc3As7vkUJWouRJz1oekXRJpxEPC+GSj8fKAZbeW+QeWV8D1RLDmjDXm3DaHYH9chNkL5I6DG1LzTotuksPj9rp8I5rhyTXTwTM6IDCxWGWmlIHEYhMh490LpgcHNH0pY2ypCmECjrb3jGFF+i/4hkHUeCqyllHKYK6jY3qez1Qrq+CN+QPh52+UQirknd/2fR2O4B5mC87+V5XPdyQXpl9tVzCIpAAnzQjzroA9rcVN62QyicIOj/r+jAqn1BOlfbtmKScHA6RHbyLbgzVl045QVyDju7nfeHISroVvk7fz8ol9eGtXjyPY3sw3qDBh8XEkZWYZtylK9FA17Wz/ag0S5vFUh6V13Nc3HrxQfZp8OxR0rBk7Kc= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(346002)(396003)(39860400002)(376002)(136003)(46966005)(26005)(54906003)(70206006)(966005)(47076004)(450100002)(70586007)(336012)(186003)(7696005)(81166007)(356005)(83080400001)(478600001)(8676002)(8936002)(110136005)(55016002)(82310400003)(52536014)(5660300002)(86362001)(83380400001)(6506007)(82740400003)(53546011)(316002)(9686003)(4326008)(2906002)(33656002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2020 10:12:07.3835 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 879c4c9a-8343-4ca3-83fa-08d870f2c5af X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT028.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5373 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgU2l5dWFuLA0KDQpJIGNhbiBzZWUgdGhlIGZvbGxvd2luZyBwb2ludHM6DQotIGN1cnJlbnQg Y29kZSBvcmdhbmlzYXRpb24gaXMgc3VjaCB0aGF0IHRoZSB0cmFkaXRpb25hbCBNTSBhbmQgc3Rh bmRhbG9uZSBNTSBhcmUgY2xlYXJseSBzZXBhcmF0ZWQuDQotIHRyYWRpdGlvbmFsIE1NIGlzIHBs YW5uZWQgdG8gYmUgZGVwcmVjYXRlZC4NCi0gc29tZSBhcmNoaXRlY3R1cmVzIG9ubHkgc3VwcG9y dCBzdGFuZGFsb25lIE1NIChlLmcuIEFybSBwbGF0Zm9ybXMpDQotIGxpZmUgc3BhbiBvZiBNTSBN aWdyYXRpb24gdXNlLWNhc2UgY29kZSBpcyB1bnRpbCB0cmFkaXRpb25hbCBNTSBpcyBkZXByZWNh dGVkLg0KDQpDb25zaWRlcmluZyB0aGUgYWJvdmUsIHdvdWxkIGl0IGJlIHBvc3NpYmxlIHRvIGhh dmUgYW4gb3B0aW9uIDMgd2hlcmUgdGhlIE1NIE1pZ3JhdGlvbiB1c2UtY2FzZSBjb2RlIGlzIHBs YWNlZCBpbiBhIHNlcGFyYXRlIGxvY2F0aW9uL3BhY2thZ2UsICBzdWNoIHRoYXQgZXhpc3Rpbmcg cGxhdGZvcm1zIGRvIG5vdCBuZWVkIGNoYW5naW5nIGFuZCBhcmUgbm90IHJlZ3Jlc3NlZD8NCkkg dW5kZXJzdGFuZCB0aGUgY29uY2VybiB3aXRoIGR1cGxpY2F0aW5nIHRoZSBNTSBpbXBsZW1lbnRh dGlvbnMsIGhvd2V2ZXIgSSB0aGluayBpdCB3b3VsZCBiZSBnb29kIHRvIG1haW50YWluIHRoZSBk ZW1hcmNhdGlvbiB0aGF0IGV4aXN0cyBiZXR3ZWVuIHRyYWRpdGlvbmFsIE1NIGFuZCBzdGFuZGFs b25lIE1NLiBGZWF0dXJlcyB0aGF0IGFyZSBiZW5lZmljaWFsIHRvIHN0YW5kYWxvbmUgTU0gY2Fu IGNlcnRhaW5seSBiZSBhZGRlZCB0byBTdGFuZGFsb25lTW1Qa2cuDQoNClJlZ2FyZHMsDQoNClNh bWkgTXVqYXdhcg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogRnUsIFNpeXVh biA8c2l5dWFuLmZ1QGludGVsLmNvbT4NClNlbnQ6IDEwIE9jdG9iZXIgMjAyMCAwMjo0MSBBTQ0K VG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBsZXJzZWtAcmVkaGF0LmNvbTsgWWFvLCBKaWV3ZW4g PGppZXdlbi55YW9AaW50ZWwuY29tPjsgcmZjQGVkazIuZ3JvdXBzLmlvOyBMYXN6bG8gRXJzZWsg KGxlcnNla0ByZWRoYXQuY29tKSA8bGVyc2VrQHJlZGhhdC5jb20+DQpDYzogRG9uZywgRXJpYyA8 ZXJpYy5kb25nQGludGVsLmNvbT47IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+OyBBcmQgQmll c2hldXZlbCA8QXJkLkJpZXNoZXV2ZWxAYXJtLmNvbT47IFNhbWkgTXVqYXdhciA8U2FtaS5NdWph d2FyQGFybS5jb20+OyBTdXByZWV0aCBWZW5rYXRlc2ggPFN1cHJlZXRoLlZlbmthdGVzaEBhcm0u Y29tPg0KU3ViamVjdDogUkU6IFtlZGsyLXJmY10gW2VkazItZGV2ZWxdIFtSRkNdIFN1cHBvcnQg Qm90aCBNTSBUcmFkaXRpb25hbCBhbmQgU3RhbmRhbG9uZSBEcml2ZXJzIHdpdGggT25lIE1NIENv cmUNCg0KSGksIEppZXdlbi9MYXN6bG8NCg0KVGhhbmtzIGZvciB5b3VyIGNvbW1lbnRzIG9uIHRo aXMuDQoNCkhpLCBBcmQvU2FtaS9TdXByZWV0aA0KDQpTaW5jZSBBUk0gYmFzZWQgcGxhdGZvcm1z IGFyZSBjdXJyZW50bHkgdGhlIG1ham9yIHVzZXIgb2YgdGhlIE1NIENvcmUgaW4gU3RhbmRhbG9u ZU1tUGtnLCBJIHdvdWxkIGxpa2UgdG8gaGVhciB5b3UgaWRlYSBhYm91dCB0aGlzIGNoYW5nZS4g RG8geW91IGhhdmUgYW55IGNvbmNlcm4gYWJvdXQgYWRkaW5nIE1NIFRyYWRpdGlvbmFsIGRyaXZl ciBzdXBwb3J0IHRvIHRoZSBTdGFuZGFsb25lIE1NIENvcmU/DQoNCkJlc3QgUmVnYXJkcw0KU2l5 dWFuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRrMi5n cm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgTGFzemxvIEVyc2Vr DQo+IFNlbnQ6IDIwMjDlubQxMOaciDnml6UgMjE6MDgNCj4gVG86IFlhbywgSmlld2VuIDxqaWV3 ZW4ueWFvQGludGVsLmNvbT47IHJmY0BlZGsyLmdyb3Vwcy5pbzsNCj4gZGV2ZWxAZWRrMi5ncm91 cHMuaW87IEZ1LCBTaXl1YW4gPHNpeXVhbi5mdUBpbnRlbC5jb20+DQo+IENjOiBEb25nLCBFcmlj IDxlcmljLmRvbmdAaW50ZWwuY29tPjsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47DQo+IGFy ZC5iaWVzaGV1dmVsQGFybS5jb207IHNhbWkubXVqYXdhckBhcm0uY29tOw0KPiBzdXByZWV0aC52 ZW5rYXRlc2hAYXJtLmNvbQ0KPiBTdWJqZWN0OiBSZTogW2VkazItcmZjXSBbZWRrMi1kZXZlbF0g W1JGQ10gU3VwcG9ydCBCb3RoIE1NIFRyYWRpdGlvbmFsIGFuZA0KPiBTdGFuZGFsb25lIERyaXZl cnMgd2l0aCBPbmUgTU0gQ29yZQ0KPg0KPiBPbiAxMC8wOS8yMCAxNDoyMywgWWFvLCBKaWV3ZW4g d3JvdGU6DQo+ID4gSU1ITywgU3RhbmRhbG9uZU1tIChpbiBTdGFuZGFsb25lTW1Qa2cpIHNob3Vs ZCBiZSB0aGUgbG9uZyB0ZXJtDQo+IGRpcmVjdGlvbiB0byByZXBsYWNlIHRoZSB0cmFkaXRpb25h bCBNTSAoaW4gTWRlTW9kdWxlUGtnKS4NCj4gPg0KPiA+IElmIHdlIHdhbnQgdG8gZG8gc29tZSBl bmhhbmNlbWVudCwgSSBwcmVmZXIgIzIgdG8gdXBkYXRlIHRoZSBvbmUgaW4NCj4gU3RhbmRhbG9u ZU1tUGtnLg0KPiA+IE9uY2Ugd2UgcmV0aXJlIHRyYW5zaXRpb25hbCBNTSwgd2UgY2FuIGRlbGV0 ZSB0aGUgUGlTbW1Db3JlIGluDQo+IE1kZU1vZHVsZVBrZy4NCj4NCj4gVGhpcyBpcyBhIGdvb2Qg aWRlYSAtLSB3aGVuIHdlIHRoaW5rIHdlIGFyZSByZWFkeSB0byByZXRpcmUgUGlTbW1Db3JlIGlu DQo+IE1kZU1vZHVsZVBrZywgYmVjYXVzZSB3ZSB0aGluayB0aGF0IFN0YW5kYWxvbmVNbVBrZyBj YW4gZnVsbHkgcmVwbGFjZQ0KPiBpdCwgcGxhdGZvcm1zIGNhbiBldmFsdWF0ZSB0aGUgbGF0dGVy IChob3BlZnVsbHkgd2l0aCBzb21lIHNpbXBsZSBEU0MgLw0KPiBGREYgbW9kaWZpY2F0aW9ucyks IGFuZCByZXBvcnQgYmFjayB3aGV0aGVyIHRoZXkgc2VlIHJlZ3Jlc3Npb25zIG9yDQo+IHdoZXRo ZXIgU3RhbmRhbG9uZU1tUGtnIGJlaGF2ZXMgYXMgYSBkcm9wLWluIHJlcGxhY2VtZW50IGluZGVl ZCwgZm9yDQo+IFBpU21tQ29yZSBpbiBNZGVNb2R1bGVQa2cuDQo+DQo+IFRoYW5rcw0KPiBMYXN6 bG8NCj4NCj4gPg0KPiA+IElmIHdlIGNob29zZSAjMSwgdGhlIEVES0lJIHdpbGwgaGF2ZSB0d28g c3RhbmRhbG9uZU1tIENvcmVzICh0aGUgb25lIGluDQo+IFN0YW5kYWxvbmVNbVBrZyBhbmQgdGhl IG9uZSBpbiBNZGVNb2R1bGVQa2cpLCB3aGljaCBtYXkgYnJpbmcgbG90cyBvZg0KPiBjb25mdXNp bmcgYW5kIHdlIG1heSBuZWVkIG1lcmdlIHRoZW0gbGF0ZXIuDQo+ID4NCj4gPiBUaGFuayB5b3UN Cj4gPiBZYW8gSmlld2VuDQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g Pj4gRnJvbTogcmZjQGVkazIuZ3JvdXBzLmlvIDxyZmNAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFs ZiBPZiBMYXN6bG8gRXJzZWsNCj4gPj4gU2VudDogRnJpZGF5LCBPY3RvYmVyIDksIDIwMjAgNzo1 NiBQTQ0KPiA+PiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IEZ1LCBTaXl1YW4gPHNpeXVhbi5m dUBpbnRlbC5jb20+Ow0KPiA+PiByZmNAZWRrMi5ncm91cHMuaW8NCj4gPj4gQ2M6IERvbmcsIEVy aWMgPGVyaWMuZG9uZ0BpbnRlbC5jb20+OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsNCj4g Pj4gYXJkLmJpZXNoZXV2ZWxAYXJtLmNvbTsgc2FtaS5tdWphd2FyQGFybS5jb207IFlhbywgSmll d2VuDQo+ID4+IDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IHN1cHJlZXRoLnZlbmthdGVzaEBhcm0u Y29tDQo+ID4+IFN1YmplY3Q6IFJlOiBbZWRrMi1yZmNdIFtlZGsyLWRldmVsXSBbUkZDXSBTdXBw b3J0IEJvdGggTU0gVHJhZGl0aW9uYWwgYW5kDQo+ID4+IFN0YW5kYWxvbmUgRHJpdmVycyB3aXRo IE9uZSBNTSBDb3JlDQo+ID4+DQo+ID4+IE9uIDEwLzA5LzIwIDA3OjIyLCBTaXl1YW4sIEZ1IHdy b3RlOg0KPiA+Pj4gSGksIEFsbA0KPiA+Pj4NCj4gPj4+IFRoaXMgZW1haWwgaXMgdG8gY29sbGVj dCBmZWVkYmFjayBhYm91dCBtYWtpbmcgb25lIGNvbW1vbiBFREsyIE1NIENvcmUNCj4gPj4gZHJp dmVyIHRvIHN1cHBvcnQgYm90aCBNTSBUcmFkaXRpb25hbCBkcml2ZXJzIGFuZCBNTSBTdGFuZGFs b25lIGRyaXZlcnMuDQo+ID4+Pg0KPiA+Pj4gV2Uga25vdyB0aGF0IFBJIFNwZWMgZGVmaW5lcyB0 d28gdHlwZXMgb2YgTU0tcmVsYXRlZCBkcml2ZXJzOiBNTQ0KPiA+PiBUcmFkaXRpb25hbCBEcml2 ZXJzIGFuZCBNTSBTdGFuZGFsb25lIERyaXZlcnMuIFRoZXJlIGFyZSB0d28gTU0gQ29yZQ0KPiA+ PiBtb2R1bGVzIGV4aXN0IGluIEVESzIgYnV0IGVhY2ggb2YgdGhlbSBjYW4gb25seSBzdXBwb3J0 IG9uZSBzaW5nbGUgdHlwZSBvZg0KPiBNTQ0KPiA+PiBkcml2ZXJzOg0KPiA+Pj4gICAgIC0gUGlT bW1Db3JlIGluIE1kZU1vZHVsZVBrZyBzdXBwb3J0cyBNTSBUcmFkaXRpb25hbCBkcml2ZXIgZGlz cGF0Y2guDQo+IEl0DQo+ID4+IGRvZXNuJ3QgaGF2ZSBGViBwYXJzaW5nIGxvZ2ljIGFuZCByZWxp ZXMgb24gRUZJIEZpcm13YXJlIFZvbHVtZTIgUHJvdG9jb2wNCj4gZm9yDQo+ID4+IGRyaXZlciBk aXNjb3ZlcnkuIEl0IGRvZXNuJ3Qgc3VwcG9ydCBNTSBTdGFuZGFsb25lIGRyaXZlci4NCj4gPj4+ ICAgICAtIFN0YW5kYWxvbmVNbUNvcmUgaW4gU3RhbmRhbG9uZU1tUGtnIHN1cHBvcnRzIE1NIFN0 YW5kYWxvbmUNCj4gZHJpdmVyDQo+ID4+IGRpc3BhdGNoLiBJdCBoYXMgRlYgcGFyc2luZyBhbmQg ZGVjb21wcmVzcyBsb2dpYyBidXQgb25seSBsaW1pdGVkIHRvIG9uZSBzaW5nbGUNCj4gPj4gZmly bXdhcmUgdm9sdW1lIChjYWxsZWQgc3RhbmRhbG9uZSBCRlYgaW4gY29kZSkuIEl0IGRvZXNuJ3Qg c3VwcG9ydCBNTQ0KPiA+PiBUcmFkaXRpb25hbCBkcml2ZXIuDQo+ID4+Pg0KPiA+Pj4gSG93ZXZl ciwgYSBwbGF0Zm9ybSBtYXkgd2FudCB0byBoYXZlIGJvdGggb2YgdGhlIHR3byB0eXBlcyBvZiBN TSBkcml2ZXJzDQo+ID4+IGNvZXhpc3QgaW4gaXRzIGZpcm13YXJlLCBmb3IgZXhhbXBsZSwgd2hl biBpdCB0cmllcyB0byB0cmFuc2ZlciBmcm9tIFRyYWRpdGlvbmFsDQo+ID4+IE1NIG1vZGUgdG8g U3RhbmRhbG9uZSBNTSBtb2RlLCBpbiBhIHN0YWdlIGJ5IHN0YWdlIG1hbm5lci4gSG93ZXZlciwN Cj4gaXQncw0KPiA+PiBub3QgcG9zc2libGUgd2l0aCBjdXJyZW50IEVESzIgTU0gQ29yZSBiZWNh dXNlIG9mIGFib3ZlIGxpbWl0YXRpb25zLiBUaHVzLA0KPiA+PiBoZXJlIHdlIHByb3Bvc2UgdG8g aGF2ZSBhIGNvbW1vbiBNTSBDb3JlIG1vZHVsZSBpbiBFREsyLCB3aGljaCBjb3VsZDoNCj4gPj4+ ICAgICAtIFN1cHBvcnQgYm90aCBNTSBUcmFkaXRpb25hbCBkcml2ZXJzIGFuZCBNTSBTdGFuZGFs b25lIGRyaXZlcnMuDQo+ID4+PiAgICAgLSBVc2Ugc2hhcmVkIERlcGV4IGV2YWx1YXRpb24gd2hl biBkaXNwYXRjaGluZyBhbGwgdGhlIE1NIGRyaXZlcnMuDQo+ID4+PiAgICAgLSBVc2UgYSBzaGFy ZWQgTU0gU3lzdGVtIFRhYmxlIHdoZW4gaW52b2tpbmcgYWxsIHRoZSBNTSBkcml2ZXJzJyBlbnRy eQ0KPiA+PiBwb2ludCwgd2hpY2ggbWVhbiBoYW5kbGUvcHJvdG9jb2wgZGF0YWJhc2UgaXMgc2hh cmVkLg0KPiA+Pj4gICAgIC0gSGF2ZSBzZWxmLWNvbnRhaW5lZCBGViBwYXJzaW5nIGFuZCBkcml2 ZXIgZGlzY292ZXJ5IGNhcGFiaWxpdHkuDQo+ID4+Pg0KPiA+Pj4gV2UgcmVhbGl6ZWQgdGhlcmUg Y291bGQgYmUgMiBwb3NzaWJsZSBvcHRpb25zIHRvIG1ha2UgdGhpcyBoYXBwZW46DQo+ID4+PiAg ICAgLSBPcHRpb24gMTogVXBkYXRlIHRoZSBNZGVNb2R1bGVQa2cgQ29yZS4gSW4gdGhpcyBhcHBy b2FjaCwgd2Ugd2lsbA0KPiBuZWVkDQo+ID4+IHRvIGFkZCB0aGUgRlYgZGVjb21wcmVzcywgZHJp dmVyIGRpc2NvdmVyeSBhbmQgTU0gU3RhbmRhbG9uZSBkcml2ZXINCj4gPj4gZGlzcGF0Y2hlciB0 byB0aGUgUGlTbW1Db3JlIG1vZHVsZSBpbiBNZGVNb2R1bGVQa2cuDQo+ID4+PiAgICAgLSBPcHRp b24gMjogVXBkYXRlIHRoZSBTdGFuZGFsb25lTW1Qa2cgQ29yZS4gV2hpY2ggbWVhbnMgYWRkaW5n IE1NDQo+ID4+IFRyYWRpdGlvbmFsIGRpc3BhdGNoZXIgYW5kIG11bHRpcGxlIEZWIHN1cHBvcnQg dG8gZXhpc3Rpbmcgc3RhbmRhbG9uZSBDb3JlIGluDQo+ID4+IFN0YW5kYWxvbmVNbVBrZy4gV2ls bCBhbHNvIG5lZWQgdG8gYWRkIFBFSS9EWEUgSVBMIG1vZHVsZSB0byBpbnZva2UgdGhlDQo+ID4+ IFN0YW5kYWxvbmUgTU0gQ29yZSBhbmQgcGFzcyBVRUZJIFN5c3RlbSBUYWJsZSB0byBpdC4NCj4g Pj4+DQo+ID4+PiBUaGUgb3B0aW9uIDEgd2lsbCBoYXZlIGxlc3MgaW1wYWN0IHRvIHRob3NlIHBs YXRmb3JtcyB3aGljaCBvbmx5IHVzZSBNTQ0KPiA+PiBTdGFuZGFsb25lIGRyaXZlcnMgY3VycmVu dGx5LCBiZWNhdXNlIHRob3NlIHBsYXRmb3JtcyBjYW4gc3RheSB3aXRoIHRoZQ0KPiA+PiB1bmNo YW5nZWQgU3RhbmRhbG9uZSBNTSBDb3JlLiBXaGlsZSBvcHRpb24gMiBsb29rcyBtb3JlIGxpa2Ug YSBjbGVhbg0KPiA+PiBzb2x1dGlvbiBiZWNhdXNlIGl0IGNvdWxkIHN1cHBvcnQgYWxsIHRoZSBj YXNlcyAoVHJhZGl0aW9uYWwgTU0gb25seSwNCj4gU3RhbmRhbG9uZQ0KPiA+PiBNTSBvbmx5LCBh bmQgbWl4LXVzZWQgcGxhdGZvcm0pLiBTbyBJJ2QgbGlrZSB0byBoZWFyIHRoZSBjb21tdW5pdHkn cw0KPiBmZWVkYmFjaw0KPiA+PiBhYm91dCB3aGljaCBvcHRpb24gaXMgcHJlZmVycmVkLCBhbmQg bGV0IG1lIGtub3cgaWYgeW91IGhhdmUgYW55IGNvbmNlcm5zDQo+IHdpdGgNCj4gPj4gdGhpcyBj aGFuZ2UuIFRoYW5rcyENCj4gPj4NCj4gPj4gV2hpY2ggbWV0aG9kIGlzIHRoZSBsZWFzdCByaXNr eSB3aXRoIHJlZ2FyZCB0byByZWdyZXNzaW9ucywgaW4geW91ciBvcGluaW9uPw0KPiA+Pg0KPiA+ PiBJIHRlbmQgdG8gcHJlZmVyICMyLiBFaXRoZXIgb3B0aW9uIGlzIG5ldXRyYWwgZm9yIEFybVZp cnRQa2cgYXQgdGhlDQo+ID4+IG1vbWVudCwgYW5kIG9wdGlvbiMyIGlzIHNhZmVyIGZvciBPdm1m UGtnIChubyByaXNrIG9mIHJlZ3Jlc3Npb24pLiBUaHVzDQo+ID4+IGZhciwgdGhlcmUgaGFzIG5v dCBiZWVuIGFueSBuZWVkICh0aGF0IEkga25vdyBvZikgZm9yIE9WTUYgdG8gc3VwcG9ydA0KPiA+ PiBzdGFuZGFsb25lIE1NIGRyaXZlcnMuDQo+ID4+DQo+ID4+IEZ1cnRoZXJtb3JlLCBpZiB3ZSB3 YW50ZWQgdG8gYWRkIE1hbmFnZW1lbnQgTW9kZSBzdXBwb3J0IHRvIEFybVZpcnRQa2cNCj4gPj4g YXQgc29tZSAobGF0ZXIpIHBvaW50LCBJIGJlbGlldmUgKD8pIHdlJ2QganVzdCB1c2UgU3RhbmRh bG9uZU1tUGtnIHJpZ2h0DQo+ID4+IGZyb20gdGhlIHN0YXJ0Lg0KPiA+Pg0KPiA+PiBJLmUuLCBm cm9tIG15IHBlcnNwZWN0aXZlLCBtaXhpbmcgTU0gbW9kdWxlIHR5cGVzLCBmb3Igc29tZSBraW5k IG9mDQo+ID4+IHRyYW5zaXRpb24gZm9yIGEgcGxhdGZvcm0gZnJvbSBvbmUgTU0gbW9kZSB0byBh bm90aGVyLCBpcyBub3QNCj4gPj4gaW1tZWRpYXRlbHkgdXNlZnVsOyBzbyBteSBnb2FsIGlzIHRv IG1pbmltaXplIHRoZSByaXNrIG9mIHJlZ3Jlc3Npb25zLg0KPiA+Pg0KPiA+PiBUaGFua3MNCj4g Pj4gTGFzemxvDQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4NCj4NCj4NCj4NCj4g DQo+DQoNCklNUE9SVEFOVCBOT1RJQ0U6IFRoZSBjb250ZW50cyBvZiB0aGlzIGVtYWlsIGFuZCBh bnkgYXR0YWNobWVudHMgYXJlIGNvbmZpZGVudGlhbCBhbmQgbWF5IGFsc28gYmUgcHJpdmlsZWdl ZC4gSWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCwgcGxlYXNlIG5vdGlmeSB0 aGUgc2VuZGVyIGltbWVkaWF0ZWx5IGFuZCBkbyBub3QgZGlzY2xvc2UgdGhlIGNvbnRlbnRzIHRv IGFueSBvdGhlciBwZXJzb24sIHVzZSBpdCBmb3IgYW55IHB1cnBvc2UsIG9yIHN0b3JlIG9yIGNv cHkgdGhlIGluZm9ybWF0aW9uIGluIGFueSBtZWRpdW0uIFRoYW5rIHlvdS4NCg==