From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web10.835.1595572017466433789 for ; Thu, 23 Jul 2020 23:26:58 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=X/EDJbVW; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: jiaxin.wu@intel.com) IronPort-SDR: pLt1iB9Z3gEx5Emj1G/hPTM8cNtgtjqANRibYw8s0oiPFTcdmQN7nuVojuAiF6mtv/ux3Hh3u5 1jk0/O6DLG4Q== X-IronPort-AV: E=McAfee;i="6000,8403,9691"; a="150651360" X-IronPort-AV: E=Sophos;i="5.75,389,1589266800"; d="scan'208";a="150651360" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jul 2020 23:26:56 -0700 IronPort-SDR: VDCeGcJV52z17Qh9FH1OqcuFaHQKY9Az0QnoWc6JaC1QtKtVTnS+RHd3HZvPpUN/erICnaXUEK uBJnPTZT2gfg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,389,1589266800"; d="scan'208";a="488635184" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga006.fm.intel.com with ESMTP; 23 Jul 2020 23:26:56 -0700 Received: from fmsmsx117.amr.corp.intel.com (10.18.116.17) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 23 Jul 2020 23:26:56 -0700 Received: from FMSEDG001.ED.cps.intel.com (10.1.192.133) by fmsmsx117.amr.corp.intel.com (10.18.116.17) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 23 Jul 2020 23:26:55 -0700 Received: from NAM02-CY1-obe.outbound.protection.outlook.com (104.47.37.53) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 23 Jul 2020 23:26:55 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W4DEZPZ5grgGlwv5g+usSDT1x4jHb+FCqTCGmcYmz3mzmoQJPXPPl9XsP2B4Yty65Dc1xMpkxL4gRwpXDeAUqdChwE2MBdD2wF/gCaTVWwHQVNIbKwGLHcBSQW6D25UAi77NcwkSZ5WTo85d2hOmivbVxSutNIcmGCeEmTpzn8iJd7nSPYc6bTAJhu2tEHfGho0emMYkea+p7z4dU4aYr+2iRXT9IbCLAetXAEqcwLRkvHWRo9vn1sZdQ69yzMzpho3I+Dl/g3FLpHgPa//aLgyuse7JZj2ao0r4TDm0hZGRIEbdBiEPCuyUuIJ03zpmyIBAVIXFqkl9a9+B4ZynWQ== 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=V6+tC/kTOEj/2ADGjNI42d5MnGhTErDabm+PuqYyqvg=; b=bNLVEx+KNctTtRzQo7fCAhfQ7CtFwCfGGu67p3F9CkU0sjXq3T0InWaxy+Ip1nox2rSXoSaL0w58GSnGX8d9Os4q+kpBwfE8WSfxJeaGX5tHZM0ICeRzqK4vCePiFM9goYlXxm1zd67pyfCORPiAzxmvZxWJZP932ZSnPJD9JcqnrglpTnCiaBiNxrJqBpJr9tpNvgLFdskfZpsn2GfC28twlJkuCgTOkKmk31gcaRflFdNCwaZWqBOzwBqe0YUMXGOAAArV5voax1szav/lVthCTpQDWNPqZM+bo3gfY3nZDScFTA2CrzY/+7cDUoY8kP6gUT42WTqJKENUvyzyxw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=V6+tC/kTOEj/2ADGjNI42d5MnGhTErDabm+PuqYyqvg=; b=X/EDJbVW1CHHuF/pxm9QIIDXzvT3Ojy3L+LLykVJy70Jr1RrIbl+3QjfcAxiZtBLWSc9RBWOKpQuCPCHjBC1HuPqQibws431n6cerRVyNMzh42Hdy7n8uizJ4sCOu+Ha5aBl7PpcwPYhqk8mNnaPj59ruSp3BNzPQr7DDlUb4+8= Received: from DM5PR11MB1372.namprd11.prod.outlook.com (2603:10b6:3:11::14) by DM5PR11MB1372.namprd11.prod.outlook.com (2603:10b6:3:11::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.21; Fri, 24 Jul 2020 06:26:54 +0000 Received: from DM5PR11MB1372.namprd11.prod.outlook.com ([fe80::fccf:bab1:154e:602e]) by DM5PR11MB1372.namprd11.prod.outlook.com ([fe80::fccf:bab1:154e:602e%8]) with mapi id 15.20.3216.021; Fri, 24 Jul 2020 06:26:54 +0000 From: "Wu, Jiaxin" To: "devel@edk2.groups.io" , "lersek@redhat.com" Subject: Re: [edk2-devel] [PATCH 00/16] OvmfPkg: support VCPU hotplug with -D SMM_REQUIRE Thread-Topic: [edk2-devel] [PATCH 00/16] OvmfPkg: support VCPU hotplug with -D SMM_REQUIRE Thread-Index: AQHV6m5T5gYSgeASk0m0k8XmOJ6ie6kXL0TQ Date: Fri, 24 Jul 2020 06:26:54 +0000 Message-ID: References: <20200223172537.28464-1-lersek@redhat.com> In-Reply-To: <20200223172537.28464-1-lersek@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNmY2ZDEwNzMtZDBiYi00N2ZlLTkzMjYtM2Y5OGIyZjNiYjkwIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiWFFFZXU5UkQ0YmJGR21WTWZKT1lpU3FMSFY3UnVGYjlXbVFuXC9BM09hRHNQcWwyWm95WVhjWVQrbmlDSDZZZE8ifQ== dlp-version: 11.2.0.6 dlp-product: dlpe-windows x-ctpclassification: CTP_NT dlp-reaction: no-action authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.202] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4d53f1d6-33ea-407f-3234-08d82f9a8f4b x-ms-traffictypediagnostic: DM5PR11MB1372: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RdUABMveoftvLJUcTmDYKWHuSWhd+cdWdarPNe17gVAwroxrPZ8Mvpb8FNbD8X0yFUlDO4vsTMrEM9pvNXSb+oV8dBSK13+/745nLghG4wuQIOhSpJquqmf6hVyxM5JOt+GMp9ZlpdJ86D9p/xKsQ6Zmf2zS9hBoiGCbTfWwqzHYlXxKbOQSFONHhgAqk2iuD594pOoOhLKjdMUrSBi4aTmgg92BybFTP6Ijp8QeDDUS4XOo0e1FrDFQetgjHez1Oi5R/sW0vNdSWukwaR3teWip09yhBY3SLqdMNaRhuIMiTGIqw851hXYubYSY68RFcozmhP5mwXwm5WNmWB+PMJXxo+T0D6Q7RhsQyj7dw8Gp9tKsRpVNQ10zX+g7fR5Nw01Qpcwqj4A4d6I4eSgMTg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR11MB1372.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(136003)(376002)(366004)(39860400002)(346002)(396003)(53546011)(55016002)(66476007)(478600001)(66446008)(26005)(8936002)(966005)(5660300002)(64756008)(52536014)(86362001)(7696005)(6506007)(33656002)(8676002)(110136005)(9686003)(316002)(186003)(2906002)(19627235002)(76116006)(71200400001)(66556008)(83380400001)(66946007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: YGiOEk2ikLYIkJda7HCltD1XhuVzHqVj/RteUQNTmrf1cg7cDjZ4Vy32+WfOreRNLBrwD0V84ntETjyNjcS3TALZlq5NjbxJajAJBwLhdYoRHynJLhylnCwDrQ2FDRtckkAX8XZUTm4m60DAd6l4sVz+jWXGZFQB++eP6BjGtuKbmV32m8FdO4XnWBh2q4N9LbFHBbPXiYZx4WnNVnVq3S1aIZ2jOaATBNfJgTddO1oJPLmDlONBI9YUtINLIpYIy0gCVHEI0BYGyKoN8FrFQizcqkCERrPl9bnLDQXGCvxfIMCbJ1BhjPam3E1swmrS1O+Y++NOZHCQEDKYF8LYEAQbqkg664MX7mBoaeJYYX9FHZ1/GlvRfWnvLMHWsfV+y0cVN8shHSVQkOUCDTwWJVhpxDnTlcjN19uoRvuQvtVgEmGxsX5Q6+aODQa+dHZWhqRbG+3bWRmMlhYOs+p20VPcLOz5slMCaSVCDENWSg/H/FrjJfbzB3A7yvUvS929 x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM5PR11MB1372.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4d53f1d6-33ea-407f-3234-08d82f9a8f4b X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jul 2020 06:26:54.7804 (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: hV3jJZttyVyCvjCuFKdmw0Nl3wlsdYlAu1BqoHPrrBuxGnZ3UxkS0H2JtyXeyMIQPyJIIVqHHQbt9HDaytw9FQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB1372 Return-Path: jiaxin.wu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGFzemxvLA0KDQpMb29rcyBPVk1GIHN1cHBvcnRzIHRoZSBDUFUgaG90cGx1ZyB3aXRoIHRo b3NlIHNlcmllcyBwYXRjaGVzLiANCg0KQ291bGQgeW91IHByb3ZpZGUgc29tZSBndWlkZSBob3cg dG8gZW5hYmxlIHRoZSBPVk1GIENQVSBob3RwbHVnIHZlcmlmaWNhdGlvbj8gSXMgdGhlcmUgYW55 IGdlbmVyYWwgd29yayBmbG93IGludHJvZHVjdGlvbiBob3cgaXQgd29ya3M/IEZvciBleGFtcGxl LCBob3cgdG8gZG8gdGhlIGhvdCBhZGQgQ1BVIGluaXRpYWxpemF0aW9uIChlLmcuIFJlZ2lzdGVy IHNldHRpbmcgLyBNaWNyb2NvZGUgdXBkYXRlLCBldGMuKT8gSSdtIHZlcnkgaW50ZXJlc3RlZCBp biB0aGlzIGZlYXR1cmUgb24gT1ZNRi4NCg0KVGhhbmsgeW91IHZlcnkgbXVjaC4NCkppYXhpbg0K DQoNCg0KDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXZlbEBl ZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBMYXN6bG8N Cj4gRXJzZWsNCj4gU2VudDogTW9uZGF5LCBGZWJydWFyeSAyNCwgMjAyMCAxOjI1IEFNDQo+IFRv OiBlZGsyLWRldmVsLWdyb3Vwcy1pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+DQo+IENjOiBBcmQg Qmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz47IERvbmcsIEVyaWMNCj4gPGVy aWMuZG9uZ0BpbnRlbC5jb20+OyBXdSwgSGFvIEEgPGhhby5hLnd1QGludGVsLmNvbT47IElnb3Ig TWFtbWVkb3YNCj4gPGltYW1tZWRvQHJlZGhhdC5jb20+OyBXYW5nLCBKaWFuIEogPGppYW4uai53 YW5nQGludGVsLmNvbT47IFlhbywNCj4gSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IEp1 c3RlbiwgSm9yZGFuIEwNCj4gPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+OyBLaW5uZXksIE1p Y2hhZWwgRA0KPiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBQaGlsaXBwZSBNYXRoaWV1 LURhdWTDqQ0KPiA8cGhpbG1kQHJlZGhhdC5jb20+OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29t Pg0KPiBTdWJqZWN0OiBbZWRrMi1kZXZlbF0gW1BBVENIIDAwLzE2XSBPdm1mUGtnOiBzdXBwb3J0 IFZDUFUgaG90cGx1ZyB3aXRoIC0NCj4gRCBTTU1fUkVRVUlSRQ0KPiANCj4gQnVnemlsbGE6IGh0 dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMg0KPiBSZXBv OiAgICAgaHR0cHM6Ly9naXRodWIuY29tL2xlcnNlay9lZGsyLmdpdA0KPiBCcmFuY2g6ICAgdmNw dV9ob3RwbHVnX3NtbV9iel8xNTEyDQo+IA0KPiBUaGlzIHNlcmllcyBpbXBsZW1lbnRzIFZDUFUg aG90cGx1ZyB3aXRoIFNNTSBmb3IgT1ZNRiwgaS5lLiwgd2hlbiBPVk1GDQo+IGlzIGJ1aWx0IHdp dGggIi1EIFNNTV9SRVFVSVJFIi4NCj4gDQo+IFNFViBzdXBwb3J0IGFuZCBob3QtdW5wbHVnIHN1 cHBvcnQgYXJlIG91dCBvZiBzY29wZSBmb3Igbm93Lg0KPiANCj4gUGF0Y2gjMTMgKCJPdm1mUGtn L0NwdUhvdHBsdWdTbW06IGNvbXBsZXRlIHJvb3QgTU1JIGhhbmRsZXIgZm9yIENQVQ0KPiBob3Rw bHVnIikgZGVzY3JpYmVzIHRlc3RzIGFuZCByZXN1bHRzIGluIHRoZSBOb3RlcyBzZWN0aW9uLg0K PiANCj4gT2J2aW91c2x5IHRoaXMgaXMgbm90IGJlaW5nIHByb3Bvc2VkIGZvciB0aGUgZWRrMi1z dGFibGUyMDIwMDIgdGFnDQo+ICh3aGljaCBpcyBpbiBoYXJkIGZlYXR1cmUgZnJlZXplKS4NCj4g DQo+IFFFTVUgbmVlZHMgcGF0Y2hlcyBmb3IgdGhpcyBmZWF0dXJlLCB0b28uIEkndmUgZG9uZSB0 aGUgZGV2ZWxvcG1lbnQNCj4gYWdhaW5zdCBhIFFFTVUgcGF0Y2ggdGhhdCBJZ29yIGhhY2tlZCB1 cCBxdWlja2x5IGF0IG15IHJlcXVlc3QuIEl0IHdhcw0KPiBuZXZlciBwb3N0ZWQgKGl0IG5lZWRz IHNvbWUgcG9saXNoIGZvciB1cHN0cmVhbWluZyksIGJ1dCBpdCBoYXMgYWxsb3dlZA0KPiBtZSB0 byB3cml0ZSBhbmQgdGVzdCB0aGlzIGZlYXR1cmUuDQo+IA0KPiBUaGUga2V5IHBhcnRzIG9mIHRo ZSBRRU1VIGNvbW1pdCBtZXNzYWdlIGFyZToNCj4gDQo+ID4geDY4OmFjcGk6IHRyaWdnZXIgU01J IGJlZm9yZSBzY2FubmluZyBmb3IgYWRkZWQvcmVtb3ZlZCBDUFVzDQo+ID4NCj4gPiBGaXJtd2Fy ZSBzaG91bGQgb25seSBzY2FuIGZvciBuZXcgQ1BVcyBhbmQgbm90IG1vZGlmeSBldmVudHMgaW4g Q1BVDQo+ID4gaG90cGx1ZyByZWdpc3RlcnMuDQo+IA0KPiBJZ29yJ3MgcGF0Y2ggaXMgYmFzZWQg b24gdXBzdHJlYW0gUUVNVSBjb21taXQgNDE4ZmE4NmRkNDY1LiBVbnRpbCBoZQ0KPiBkZWNpZGVz IHRvIHBvc3Qgb3Igb3RoZXJ3aXNlIHNoYXJlIHRoZSBwYXRjaCwgaXRzIGVmZmVjdCBjYW4gYmUN Cj4gZXhwcmVzc2VkIHdpdGggYSBkaWZmLCB0YWtlbiBpbiB0aGUgTGludXggZ3Vlc3QsIGJldHdl ZW4gZGVjb21waWxlZA0KPiBiZWZvcmUvYWZ0ZXIgdmVyc2lvbnMgb2YgdGhlIFFFTVUtZ2VuZXJh dGVkIERTRFQ6DQo+IA0KPiA+IEBAIC04MSw2ICs4MSwyNyBAQA0KPiA+ICAgICAgICAgICAgICAg ICAgUmV0dXJuIChBcmczKQ0KPiA+ICAgICAgICAgICAgICB9DQo+ID4gICAgICAgICAgfQ0KPiA+ ICsNCj4gPiArICAgICAgICBEZXZpY2UgKFNNSTApDQo+ID4gKyAgICAgICAgew0KPiA+ICsgICAg ICAgICAgICBOYW1lIChfSElELCAiUE5QMEEwNiIgLyogR2VuZXJpYyBDb250YWluZXIgRGV2aWNl ICovKSAgLy8gX0hJRDoNCj4gSGFyZHdhcmUgSUQNCj4gPiArICAgICAgICAgICAgTmFtZSAoX1VJ RCwgIlNNSSByZXNvdXJjZXMiKSAgLy8gX1VJRDogVW5pcXVlIElEDQo+ID4gKyAgICAgICAgICAg IE5hbWUgKF9TVEEsIDB4MEIpICAvLyBfU1RBOiBTdGF0dXMNCj4gPiArICAgICAgICAgICAgTmFt ZSAoX0NSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKSAgLy8gX0NSUzogQ3VycmVudCBSZXNvdXJjZQ0K PiBTZXR0aW5ncw0KPiA+ICsgICAgICAgICAgICB7DQo+ID4gKyAgICAgICAgICAgICAgICBJTyAo RGVjb2RlMTYsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgMHgwMEIyLCAgICAgICAgICAgICAv LyBSYW5nZSBNaW5pbXVtDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgMHgwMEIyLCAgICAgICAg ICAgICAvLyBSYW5nZSBNYXhpbXVtDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAg ICAgICAgICAgICAvLyBBbGlnbm1lbnQNCj4gPiArICAgICAgICAgICAgICAgICAgICAweDAxLCAg ICAgICAgICAgICAgIC8vIExlbmd0aA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICkNCj4gPiAr ICAgICAgICAgICAgfSkNCj4gPiArICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChTTUlSLCBT eXN0ZW1JTywgMHhCMiwgT25lKQ0KPiA+ICsgICAgICAgICAgICBGaWVsZCAoU01JUiwgQnl0ZUFj YywgTm9Mb2NrLCBXcml0ZUFzWmVyb3MpDQo+ID4gKyAgICAgICAgICAgIHsNCj4gPiArICAgICAg ICAgICAgICAgIFNNSUMsICAgOA0KPiA+ICsgICAgICAgICAgICB9DQo+ID4gKyAgICAgICAgfQ0K PiA+ICAgICAgfQ0KPiA+DQo+ID4gICAgICBTY29wZSAoX1NCKQ0KPiA+IEBAIC0zMDE2LDYgKzMw MzcsNyBAQA0KPiA+ICAgICAgICAgICAgICBNZXRob2QgKENTQ04sIDAsIFNlcmlhbGl6ZWQpDQo+ ID4gICAgICAgICAgICAgIHsNCj4gPiAgICAgICAgICAgICAgICAgIEFjcXVpcmUgKFxfU0IuUENJ MC5QUkVTLkNQTEssIDB4RkZGRikNCj4gPiArICAgICAgICAgICAgICAgIFxfU0IuU01JMC5TTUlD ID0gMHgwNA0KPiA+ICAgICAgICAgICAgICAgICAgTG9jYWwwID0gT25lDQo+ID4gICAgICAgICAg ICAgICAgICBXaGlsZSAoKExvY2FsMCA9PSBPbmUpKQ0KPiA+ICAgICAgICAgICAgICAgICAgew0K PiANCj4gd2hlcmUgdGhlIENTQ04gKCJDUFUgc2NhbiIpIG1ldGhvZCBpcyB0aGUgX0UwMiBHUEUg KCJDUFUgaG90cGx1ZyIpIGV2ZW50DQo+IGhhbmRsZXI6DQo+IA0KPiA+ICAgICAgTWV0aG9kIChc X0dQRS5fRTAyLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX0V4eDogRWRnZS1UcmlnZ2VyZWQgR1BF LA0KPiB4eD0weDAwLTB4RkYNCj4gPiAgICAgIHsNCj4gPiAgICAgICAgICBcX1NCLkNQVVMuQ1ND TiAoKQ0KPiA+ICAgICAgfQ0KPiANCj4gSWYgeW91J2QgbGlrZSB0byB0ZXN0IHRoaXMgc2VyaWVz LCBwbGVhc2UgYXNrIElnb3IgZm9yIHRoZSBRRU1VIHBhdGNoLg0KPiA6KQ0KPiANCj4gVGhlIHNl cmllcyBoYXMgYmVlbiBmb3JtYXR0ZWQgZm9yIHJldmlldyB3aXRoIHRoZSBmb2xsb3dpbmcgb3B0 aW9uczoNCj4gDQo+ICAgLS1zdGF0PTEwMDAgLS1zdGF0LWdyYXBoLXdpZHRoPTIwIFwNCj4gICAt LXVuaWZpZWQ9MjIgXA0KPiAgIC0tZmluZC1jb3BpZXM9NDMgLS1maW5kLWNvcGllcy1oYXJkZXIg XA0KPiAgIC0tYmFzZT1tYXN0ZXIgXA0KPiANCj4gQXQgZXZlcnkgc3RhZ2UgaW4gdGhlIHNlcmll czoNCj4gLSB0aGUgdHJlZSBidWlsZHMsDQo+IC0gIlBhdGNoQ2hlY2sucHkiIGlzIGhhcHB5LA0K PiAtIGFuZCBPVk1GIHdvcmtzIHdpdGhvdXQgcmVncmVzc2lvbnMuDQo+IA0KPiAoSG90cGx1ZyBp cyBtYWRlIGZ1bmN0aW9uYWwgYXQgcGF0Y2gjMTMsIGFuZCAiUzMgYWZ0ZXIgaG90cGx1ZyIgaXMN Cj4gY29tcGxldGVkIGF0IHBhdGNoIzE2LiBTbyB0aG9zZSBhY3Rpb25zIHNob3VsZCBub3QgYmUg YXR0ZW1wdGVkIGJlZm9yZQ0KPiBzYWlkIHJlc3BlY3RpdmUgcGF0Y2hlcy4pDQo+IA0KPiBUaGFu a3MsDQo+IExhc3psbw0KPiANCj4gQ2M6IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBs aW5hcm8ub3JnPg0KPiBDYzogRXJpYyBEb25nIDxlcmljLmRvbmdAaW50ZWwuY29tPg0KPiBDYzog SGFvIEEgV3UgPGhhby5hLnd1QGludGVsLmNvbT4NCj4gQ2M6IElnb3IgTWFtbWVkb3YgPGltYW1t ZWRvQHJlZGhhdC5jb20+DQo+IENjOiBKaWFuIEogV2FuZyA8amlhbi5qLndhbmdAaW50ZWwuY29t Pg0KPiBDYzogSmlld2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+IENjOiBKb3JkYW4g SnVzdGVuIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPg0KPiBDYzogTWljaGFlbCBLaW5uZXkg PG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiBDYzogUGhpbGlwcGUgTWF0aGlldS1EYXVk w6kgPHBoaWxtZEByZWRoYXQuY29tPg0KPiBDYzogUmF5IE5pIDxyYXkubmlAaW50ZWwuY29tPg0K PiANCj4gVGhhbmtzDQo+IExhc3psbw0KPiANCj4gTGFzemxvIEVyc2VrICgxNik6DQo+ICAgTWRl TW9kdWxlUGtnL1BpU21tQ29yZTogbG9nIFNNTSBpbWFnZSBzdGFydCBmYWlsdXJlDQo+ICAgVWVm aUNwdVBrZy9QaVNtbUNwdUR4ZVNtbTogZml4IFMzIFJlc3VtZSBmb3IgQ1BVIGhvdHBsdWcNCj4g ICBPdm1mUGtnOiBjbG9uZSBTbW1DcHVQbGF0Zm9ybUhvb2tMaWIgZnJvbSBVZWZpQ3B1UGtnDQo+ ICAgT3ZtZlBrZzogZW5hYmxlIFNNTSBNb25hcmNoIEVsZWN0aW9uIGluIFBpU21tQ3B1RHhlU21t DQo+ICAgT3ZtZlBrZzogZW5hYmxlIENQVSBob3RwbHVnIHN1cHBvcnQgaW4gUGlTbW1DcHVEeGVT bW0NCj4gICBPdm1mUGtnL0NwdUhvdHBsdWdTbW06IGludHJvZHVjZSBza2VsZXRvbiBmb3IgQ1BV IEhvdHBsdWcgU01NIGRyaXZlcg0KPiAgIE92bWZQa2cvQ3B1SG90cGx1Z1NtbTogYWRkIGhvdHBs dWcgcmVnaXN0ZXIgYmxvY2sgaGVscGVyIGZ1bmN0aW9ucw0KPiAgIE92bWZQa2cvQ3B1SG90cGx1 Z1NtbTogZGVmaW5lIHRoZSBRRU1VX0NQVUhQX0NNRF9HRVRfQVJDSF9JRA0KPiBtYWNybw0KPiAg IE92bWZQa2cvQ3B1SG90cGx1Z1NtbTogYWRkIGZ1bmN0aW9uIGZvciBjb2xsZWN0aW5nIENQVXMg d2l0aCBldmVudHMNCj4gICBPdm1mUGtnL0NwdUhvdHBsdWdTbW06IGNvbGxlY3QgQ1BVcyB3aXRo IGV2ZW50cw0KPiAgIE92bWZQa2cvQ3B1SG90cGx1Z1NtbTogaW50cm9kdWNlIFBvc3QtU01NIFBl biBmb3IgaG90LWFkZGVkIENQVXMNCj4gICBPdm1mUGtnL0NwdUhvdHBsdWdTbW06IGludHJvZHVj ZSBGaXJzdCBTTUkgSGFuZGxlciBmb3IgaG90LWFkZGVkIENQVXMNCj4gICBPdm1mUGtnL0NwdUhv dHBsdWdTbW06IGNvbXBsZXRlIHJvb3QgTU1JIGhhbmRsZXIgZm9yIENQVSBob3RwbHVnDQo+ICAg T3ZtZlBrZzogY2xvbmUgQ3B1UzNEYXRhRHhlIGZyb20gVWVmaUNwdVBrZw0KPiAgIE92bWZQa2cv Q3B1UzNEYXRhRHhlOiBzdXBlcmZpY2lhbCBjbGVhbnVwcw0KPiAgIE92bWZQa2cvQ3B1UzNEYXRh RHhlOiBlbmFibGUgUzMgcmVzdW1lIGFmdGVyIENQVSBob3RwbHVnDQo+IA0KPiAgTWRlTW9kdWxl UGtnL0NvcmUvUGlTbW1Db3JlL0Rpc3BhdGNoZXIuYw0KPiB8ICAgNiArDQo+ICBPdm1mUGtnL0Nw dUhvdHBsdWdTbW0vQXBpY0lkLmgNCj4gfCAgMjMgKysNCj4gIE92bWZQa2cvQ3B1SG90cGx1Z1Nt bS9DcHVIb3RwbHVnLmMNCj4gfCA0MjYgKysrKysrKysrKysrKysrKysrKysNCj4gIE92bWZQa2cv Q3B1SG90cGx1Z1NtbS9DcHVIb3RwbHVnU21tLmluZg0KPiB8ICA2NCArKysNCj4gIE92bWZQa2cv Q3B1SG90cGx1Z1NtbS9GaXJzdFNtaUhhbmRsZXIubmFzbQ0KPiB8IDE0OSArKysrKysrDQo+ICBP dm1mUGtnL0NwdUhvdHBsdWdTbW0vRmlyc3RTbWlIYW5kbGVyQ29udGV4dC5oDQo+IHwgIDQxICsr DQo+ICBPdm1mUGtnL0NwdUhvdHBsdWdTbW0vUG9zdFNtbVBlbi5uYXNtDQo+IHwgMTM3ICsrKysr KysNCj4gIE92bWZQa2cvQ3B1SG90cGx1Z1NtbS9RZW11Q3B1aHAuYw0KPiB8IDMwMSArKysrKysr KysrKysrKw0KPiAgT3ZtZlBrZy9DcHVIb3RwbHVnU21tL1FlbXVDcHVocC5oDQo+IHwgIDYxICsr Kw0KPiAgT3ZtZlBrZy9DcHVIb3RwbHVnU21tL1NtYmFzZS5jDQo+IHwgMjUyICsrKysrKysrKysr Kw0KPiAgT3ZtZlBrZy9DcHVIb3RwbHVnU21tL1NtYmFzZS5oDQo+IHwgIDQ2ICsrKw0KPiAgT3Zt ZlBrZy9JbmNsdWRlL0luZHVzdHJ5U3RhbmRhcmQvUTM1TWNoSWNoOS5oDQo+IHwgICA1ICstDQo+ ICBPdm1mUGtnL0luY2x1ZGUvSW5kdXN0cnlTdGFuZGFyZC9RZW11Q3B1SG90cGx1Zy5oDQo+IHwg ICAzICsNCj4gIE92bWZQa2cvT3ZtZlBrZ0lhMzIuZHNjDQo+IHwgICA3ICstDQo+ICBPdm1mUGtn L092bWZQa2dJYTMyLmZkZg0KPiB8ICAgMyArLQ0KPiAgT3ZtZlBrZy9Pdm1mUGtnSWEzMlg2NC5k c2MNCj4gfCAgIDcgKy0NCj4gIE92bWZQa2cvT3ZtZlBrZ0lhMzJYNjQuZmRmDQo+IHwgICAzICst DQo+ICBPdm1mUGtnL092bWZQa2dYNjQuZHNjDQo+IHwgICA3ICstDQo+ICBPdm1mUGtnL092bWZQ a2dYNjQuZmRmDQo+IHwgICAzICstDQo+IA0KPiBVZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1UGxh dGZvcm1Ib29rTGliTnVsbC9TbW1DcHVQbGF0Zm9ybUhvb2tMaWINCj4gTnVsbC5jID0+DQo+IE92 bWZQa2cvTGlicmFyeS9TbW1DcHVQbGF0Zm9ybUhvb2tMaWJRZW11L1NtbUNwdVBsYXRmb3JtSG9v a0xpYg0KPiBRZW11LmMgICAgIHwgIDQ1ICsrLQ0KPiANCj4gVWVmaUNwdVBrZy9MaWJyYXJ5L1Nt bUNwdVBsYXRmb3JtSG9va0xpYk51bGwvU21tQ3B1UGxhdGZvcm1Ib29rTGliDQo+IE51bGwuaW5m ID0+DQo+IE92bWZQa2cvTGlicmFyeS9TbW1DcHVQbGF0Zm9ybUhvb2tMaWJRZW11L1NtbUNwdVBs YXRmb3JtSG9va0xpYg0KPiBRZW11LmluZiB8ICAyNCArLQ0KPiAgVWVmaUNwdVBrZy9QaVNtbUNw dUR4ZVNtbS9DcHVTMy5jDQo+IHwgIDE0ICstDQo+ICB7VWVmaUNwdVBrZyA9PiBPdm1mUGtnfS9D cHVTM0RhdGFEeGUvQ3B1UzNEYXRhLmMNCj4gfCAgOTkgKysrLS0NCj4gIHtVZWZpQ3B1UGtnID0+ IE92bWZQa2d9L0NwdVMzRGF0YUR4ZS9DcHVTM0RhdGFEeGUuaW5mDQo+IHwgIDMwICstDQo+ICAy NCBmaWxlcyBjaGFuZ2VkLCAxNjY3IGluc2VydGlvbnMoKyksIDg5IGRlbGV0aW9ucygtKQ0KPiAg Y29weQ0KPiBVZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1UGxhdGZvcm1Ib29rTGliTnVsbC9TbW1D cHVQbGF0Zm9ybUhvb2tMaWINCj4gTnVsbC5jID0+DQo+IE92bWZQa2cvTGlicmFyeS9TbW1DcHVQ bGF0Zm9ybUhvb2tMaWJRZW11L1NtbUNwdVBsYXRmb3JtSG9va0xpYg0KPiBRZW11LmMgKDYxJSkN Cj4gIGNvcHkNCj4gVWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdVBsYXRmb3JtSG9va0xpYk51bGwv U21tQ3B1UGxhdGZvcm1Ib29rTGliDQo+IE51bGwuaW5mID0+DQo+IE92bWZQa2cvTGlicmFyeS9T bW1DcHVQbGF0Zm9ybUhvb2tMaWJRZW11L1NtbUNwdVBsYXRmb3JtSG9va0xpYg0KPiBRZW11Lmlu ZiAoNDMlKQ0KPiAgY29weSB7VWVmaUNwdVBrZyA9PiBPdm1mUGtnfS9DcHVTM0RhdGFEeGUvQ3B1 UzNEYXRhLmMgKDc3JSkNCj4gIGNvcHkge1VlZmlDcHVQa2cgPT4gT3ZtZlBrZ30vQ3B1UzNEYXRh RHhlL0NwdVMzRGF0YUR4ZS5pbmYgKDY5JSkNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBPdm1mUGtn L0NwdUhvdHBsdWdTbW0vQXBpY0lkLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBPdm1mUGtnL0Nw dUhvdHBsdWdTbW0vQ3B1SG90cGx1Zy5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgT3ZtZlBrZy9D cHVIb3RwbHVnU21tL0NwdUhvdHBsdWdTbW0uaW5mDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgT3Zt ZlBrZy9DcHVIb3RwbHVnU21tL0ZpcnN0U21pSGFuZGxlci5uYXNtDQo+ICBjcmVhdGUgbW9kZSAx MDA2NDQgT3ZtZlBrZy9DcHVIb3RwbHVnU21tL0ZpcnN0U21pSGFuZGxlckNvbnRleHQuaA0KPiAg Y3JlYXRlIG1vZGUgMTAwNjQ0IE92bWZQa2cvQ3B1SG90cGx1Z1NtbS9Qb3N0U21tUGVuLm5hc20N Cj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBPdm1mUGtnL0NwdUhvdHBsdWdTbW0vUWVtdUNwdWhwLmMN Cj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBPdm1mUGtnL0NwdUhvdHBsdWdTbW0vUWVtdUNwdWhwLmgN Cj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBPdm1mUGtnL0NwdUhvdHBsdWdTbW0vU21iYXNlLmMNCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NCBPdm1mUGtnL0NwdUhvdHBsdWdTbW0vU21iYXNlLmgNCj4gDQo+ IA0KPiBiYXNlLWNvbW1pdDogMWQzMjE1ZmQyNGY0N2VhYTQ4Nzc1NDJhNTliNGJiZjVhZmMwY2Zl OA0KPiAtLQ0KPiAyLjE5LjEuMy5nMzAyNDdhYTVkMjAxDQo+IA0KPiANCj4gDQoNCg==