From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web08.2926.1634697742563707584 for ; Tue, 19 Oct 2021 19:42:23 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=LbvSP9P9; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: w.sheng@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10142"; a="292139174" X-IronPort-AV: E=Sophos;i="5.87,165,1631602800"; d="scan'208";a="292139174" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Oct 2021 19:42:21 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,165,1631602800"; d="scan'208";a="630963537" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by fmsmga001.fm.intel.com with ESMTP; 19 Oct 2021 19:42:21 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 19 Oct 2021 19:42:20 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 19 Oct 2021 19:42:20 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Tue, 19 Oct 2021 19:42:20 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.102) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Tue, 19 Oct 2021 19:42:20 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FJgjZ5hD48J8oGy7ejW++7fRSDV5xqCyQvuWe1Jj+DgadrHCgSKjZsbzWNJO/N0TX7sKKHMArG1TuBE/M/2AlPtOcg7xl8gwj56P10Avf2tiKq4v5Rhh5WxL1rC/ztZyHj0/DrNeeNewCLp8AJ5/um+FbDqtX82aAWsyCd63NBL7n0X2T7bdx2O7oE4cbUWM1pW9vUrFFk4eZBjXOn2S3Pxp3Jx/NXLFX3Tin6rzWObRVbnvrmsBsDy/Pbx46scp7ClTuSPK4xYCJgQV5qtY4HLa9xwX6ympZXYjnklqVpK7gOfQbet7OrRtXSmrT4HyN+VUUWecodAsjvYdjB+vcw== 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=vdp8Abhv6WncD5V1wsv0QbeyBs/BxWvojEY7YS59aCk=; b=mGtOyIHNOA3LCXw7pQ3oMIXjBBVD42jKUNO/fdoKVp7FFXtmRCTWeBfYOZk8/a7lcoHuRv6NgR8cVHsuzyl9qDzeYdfmCcKZ+kjjecmlKKTzCKsIhmYZ8LeoGoDAKoYXz47nqqFEdYlaVAd0yGFdkL8GecD5VlD7RChryrWiRYjJg6bPWy+Y/9Bxyvnh8ole+GpSCldH9M0eRRa77tS7KV3yK5nNy+BRarIHE7s57XPgGeBp2tz8aJBgOyAaLANbM1193Klx0Xb2i3FlR4PQUgUVZ7Ax+0NuPZuk+Jr1EsG9fwvZYiyaZCccwQ7sGS12++YzVVupEk6pJW0vqeE6rA== 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=vdp8Abhv6WncD5V1wsv0QbeyBs/BxWvojEY7YS59aCk=; b=LbvSP9P9cQOlnf7JftKhg0SAg5rMjh0Imi2mQ13PFpGUrKdHyWtzQdaCZunXxjputR1iZ6u+FNSgJB7iNKc6ruoadnajbNgYnxlFtgSKyEO3e1Vtzwg+52RWxXNdBtYnOqpAQXapV1YX1N3h4m5KltKdXUVXbsPy28W6l2LyAf8= Received: from PH0PR11MB4870.namprd11.prod.outlook.com (2603:10b6:510:34::16) by PH0PR11MB5047.namprd11.prod.outlook.com (2603:10b6:510:3c::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.15; Wed, 20 Oct 2021 02:42:19 +0000 Received: from PH0PR11MB4870.namprd11.prod.outlook.com ([fe80::a004:6b47:8868:1473]) by PH0PR11MB4870.namprd11.prod.outlook.com ([fe80::a004:6b47:8868:1473%9]) with mapi id 15.20.4628.015; Wed, 20 Oct 2021 02:42:19 +0000 From: "Sheng Wei" To: "Ni, Ray" , "devel@edk2.groups.io" CC: "Kowalewski, Robert" , "Huang, Jenny" , "Chaganty, Rangasai V" , "Albecki, Mateusz" Subject: Re: [PATCH v2] IntelSiliconPkg/IntelVTdDxe: Support Multi PCI Root Bus Thread-Topic: [PATCH v2] IntelSiliconPkg/IntelVTdDxe: Support Multi PCI Root Bus Thread-Index: AQHXw/wlkf4DnH6PVUijr865pXirZqvbCrHAgAAkuCA= Date: Wed, 20 Oct 2021 02:42:19 +0000 Message-ID: References: <20211018084244.15316-1-w.sheng@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.200.16 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a7bab998-cb81-4bef-8c50-08d993733c71 x-ms-traffictypediagnostic: PH0PR11MB5047: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: HekXtXRNuZ1PT8DA+wGpPySSwtTOBhn5GlZTZYm+xnxoO7L4sAafa3BY2ggxX89mEcqMgxHvSaPBHXZu6A1DabrVTpD8tOis/KIKhCsPmV/dU3vHIxv1Aq0A4t7JRuzEq+OIzfwvTQl9/F2C4hnJ5pZnZc4blnXUZXsf4+P1pBtUZhMI3c7v/jtxplBnwAbxoE9RrjMNWcHrveLaNknOidOcboH43VwhI/3ddFmlhbaCmaW12L1g0+EjEHCTTinA/oW9IKGTGjEbDfrX4TzEOe1M5DMj1fDzvu/zfFsuDsJT9gXiGJfbjnw6bf2BY43ojYoAZJm0bNOKXDb4LC1+nW8fsm99ga3eWZHq/ZN29XgyOsG3Cfe3DW05znvvVRbni1K2edKISGtBUcHmTiKTrhaKYuGdRxlCWxo0JcHP7EBSfBaY130YWdhiB+qWJwrGG59ebYWcJutaj6N7gUOh1ZApKEG/kj77jRYyQo2zvVO7VqyvopNhumqVwyu6HGyFrIWcNoziMKsJMXFm2RMTKIJI6X/c+zjYI/VEgJdT32E8cvG3joA529aczAk+6hMkZSuahfoYq6zd3ljtvCgQYh2/vLX9IxBH1RAfL8OgWKA3/3PTnaJm39BBzLOLn+vwrrSYH0Ml03n08w2Fak7qu+ClUqmJiHPDWvC8b3yL843hZCKeXn6qaE2r0spxuojkNjTTAz9Oi1D2TpremTiKGEvMX/0+XsgvRVs9zeyqlU1TR0gmoVJ3MbxQDY9dfXM0kL8kvnFlYx+PyH7zr3ZVXOT5TZvL560xnoch5prv5yU= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB4870.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(6029001)(366004)(186003)(8676002)(8936002)(6506007)(26005)(4326008)(64756008)(66946007)(66556008)(66476007)(82960400001)(66446008)(53546011)(316002)(966005)(54906003)(110136005)(9686003)(52536014)(7696005)(55016002)(76116006)(5660300002)(122000001)(38100700002)(2906002)(508600001)(83380400001)(33656002)(86362001)(71200400001)(38070700005)(107886003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?gb2312?B?NHQ2VmpuQ1EzdkRSTVZ5VDJVSjQvdnBvUndTdSswU0VxMU9sdG1pNFdjcmFj?= =?gb2312?B?SEp2OW1kUXdZYzl5QTZtOGZnV3NUZjl5VXl0Z1YzeDVwL0ZpMlhBOFNxdHkx?= =?gb2312?B?Y3pSM1dwN1Uvb1dPQVRBamUycGVpQ1pJYXZQdVJsWUdpMDZmaEFTYnN0cCt5?= =?gb2312?B?cVNhK2g5Qy96cGNPQkpJNE1MbUJPb0ZRV3dpd2tIQlVKWjk0SjB2S3dUSDhD?= =?gb2312?B?TFhvaHhLNlR1UzFsRHcxTG9oOW5xcmxaQVY4d3lUbU1MVHlQRDRDWnp3RVYy?= =?gb2312?B?clZWWU8wMEZ1TGNaSHlDVDZvT3c0R2d0eVRZbXJ2QTlqUXVYSUFtcjhTc2VM?= =?gb2312?B?V3lGT2x4YlkwUlFJcG5la01UUWtiVWJoaG9rNXlFd0RSa2NBTEJma1hJTCta?= =?gb2312?B?RU1IWkJDbGZYalpCdCtpY21hYlhiK01uTlcvTEY3QnI4QzBMQ1ZBdlNOejBu?= =?gb2312?B?ek8yb2VNa1YzUnJ5ZjJldnZmaHRWQXlvRm8wZzhuOEVaUlBsZ1RYQVRKUGJ2?= =?gb2312?B?Rnl4bVkxV3QvTjJmbVczMXBjaWl4ZFFjdWRTTkxQd2pKNE1uN1UrTTZnajhM?= =?gb2312?B?b2xhb1d5RlJkQVdSSm4rMjRrWDJxbDRHUGhPa1J1ZXJDZDVKUTk5UVQyWU5k?= =?gb2312?B?eWp4T09WTGFEWWZENHVnbHBzek9HQUk1R1hhSjNuL3NucnhWMzFoQ0t5VUpM?= =?gb2312?B?ZXAzMlo4OEU5UGdwTEZmVFBzcEY5WFJSQ2xEcWt5TXZqN3VxZUVEQUh4QWkv?= =?gb2312?B?T3BUM0UyOVNZTHZ1TG1LUDNvUEZmaUxlc2VmczJGVEhYMSt2TDZaVWVYS3NX?= =?gb2312?B?MkUzcWxPbnY0RGc0L3ZiR0loaW85SGRXRkljVFhIMzRMUkl6Mi9wcDFnOG5Q?= =?gb2312?B?UHRyMkVNelBobEhsZUtGMDNFMnJKRVFnd2pDY2ZpeXJMV21hb05kSUVhUFVI?= =?gb2312?B?MWdLRHVyRDI2SjlyWG92Y3graU12TTNQMVErUFdNanZhTHdvbGJwNkxmUkZp?= =?gb2312?B?bWx2Z005N3AyMTZPMlJkdHBkbHV4RmZtZk1FVE10cGRlNXdQYmJtSFROQmZ3?= =?gb2312?B?M29sQStqaEg5V0RubndFekRYVFFGYnJHS3BaeGs0dXVYem4zeE5GZjVJUlph?= =?gb2312?B?TDZkSTFWTUdybXVuWnI0N0hnVWFBQm1nRWdQM1ZxQXF1dTNCdHc5SVQxRlhq?= =?gb2312?B?YnlCK3VyZ283RTZGREF6VnE5Wks2U1RJbUExNVpmRnNDK3ZBQkF3RWVmREJh?= =?gb2312?B?WTFwVUxHd21FRGJuTjFlN0thajNITjVpMVZJNm0xTmU0OGRTZEtyVFY0RHdP?= =?gb2312?B?VFBuVjI3ckh2ZmE4azJ4b3QyUHVPYkVUWVB3cm1IVnNaUGRuNDN6cmhTWjZl?= =?gb2312?B?L3MyYmVpLzZnMEhOTFBXZWFmUlVvQ0E4Umk0SUNyQnkrZ1lSZVhBYWlVaEkv?= =?gb2312?B?NmR5aXFCKzBpQXQ2d2xnY1ZHcFRwc05Ibk5ZM2JiZWIrY005bC9aVzFCU3pN?= =?gb2312?B?aFVBQmswRWo5QXdWK2JObm5uMktya1RkbzhCQldwM0hWMzRGNFNzaGM2MEgv?= =?gb2312?B?UVNpN2tlZ3VvUjViMFdIeVJhUmlpUFFqckVkcmVsd3AxRHpoby9CTkV4R2tZ?= =?gb2312?B?YVhhNlZ2QW16dmIxMGdJZDFYaFQrV05qR2FmbkxXWGVaVUF1dHlINUkzNVVu?= =?gb2312?B?NnBxWVZ5UmFZTEpWU0cxa1N0aW5qS2VNdWlxTlROMTZEcEVQNWRXNFU3QlAr?= =?gb2312?B?V01KRGdCV3RYTVBucWV2R3ljZGNnK3VmVW10OUVSMjR2RjBKaks5L3pwSTd6?= =?gb2312?B?Tmh5UHZrUDlQNHg0b0lGanpsRTY2Ni84UXI1bGdaaVVlWXdwem84N0NFUU9Q?= =?gb2312?B?QTRYVkhhRnR6c0cyaHcvaENMQUxvWlRaSWV4Wmx6SDd5NkxhbmlkTXdOclZK?= =?gb2312?B?aU05emFDb1VRQ2UxNDhMemg5TDNMSWxidHdQY1JrQkxBOHBqVzRmVnVuZnRU?= =?gb2312?B?VXJ2ZjdMM2Z4RGczbTRhakZyVldZRyt4QVF2MFBndm5reUp6a3psZnptb1k1?= =?gb2312?B?Y2ErUFpNRVJZWk5NWnRILzdKczdjeHJLYXVyYWhmTk1iNk0yd0NBdk5IRWRa?= =?gb2312?B?bmtLTkhWdnFaQ2VoeGZjcERKbk1tYmVTbGxhYTJ3UUQrUThOWWFrcFpSSlNO?= =?gb2312?Q?6sDVGqsIAWeZAx4RbJtEs2g=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB4870.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a7bab998-cb81-4bef-8c50-08d993733c71 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Oct 2021 02:42:19.2729 (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: Vfk+UFl2BuC8TBRtS7AuShHoFUd29iqaWduaEVNMvEvywTiCg/kPIRs9KEY2caz4Jp6GYlENO6HZ4SKu36zxfw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5047 Return-Path: w.sheng@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SGkgUmF5LA0KVGhhbmsgeW91IGZvciBzaGFyaW5nIHRoZSBzb2x1dGlvbi4gSSBhbSB3b3JyeWlu ZyBvbiB0aGlzIGlzc3VlIG5vdy4gSSBoYXZlIGZvdW5kIHNvbWUgcHJvZHVjZSBkaWQgbm90IHN1 cHBvcnQgdGhpcyBsaWIuDQpJIHdpbGwgdXBkYXRlIHRoZSBwYXRjaC4NCkJSDQpTaGVuZyBXZWkN Cg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBOaSwgUmF5IDxyYXkubmlA aW50ZWwuY29tPg0KPiBTZW50OiAyMDIxxOoxMNTCMjDI1SA4OjI5DQo+IFRvOiBTaGVuZywgVyA8 dy5zaGVuZ0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiBDYzogS293YWxld3Nr aSwgUm9iZXJ0IDxyb2JlcnQua293YWxld3NraUBpbnRlbC5jb20+OyBIdWFuZywgSmVubnkNCj4g PGplbm55Lmh1YW5nQGludGVsLmNvbT47IENoYWdhbnR5LCBSYW5nYXNhaSBWDQo+IDxyYW5nYXNh aS52LmNoYWdhbnR5QGludGVsLmNvbT47IEFsYmVja2ksIE1hdGV1c3oNCj4gPG1hdGV1c3ouYWxi ZWNraUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJFOiBbUEFUQ0ggdjJdIEludGVsU2lsaWNvblBr Zy9JbnRlbFZUZER4ZTogU3VwcG9ydCBNdWx0aSBQQ0kgUm9vdA0KPiBCdXMNCj4gDQo+IENhbiB5 b3UgcmVseSBvbiB0aGUgUGNpUm9vdEJyaWRnZUlvIHByb3RvY29sIGluc3RhbmNlcyBpbnN0ZWFk IG9mIHRoaXMgbGlicmFyeT8NCj4gDQo+IEl0IHdpbGwgbWFrZSB0aGUgZHJpdmVyIHVzYWJsZSBp biBwbGF0Zm9ybXMgdGhhdCBkb24ndCBwcm9kdWNlIHRoZQ0KPiBQY2lIb3N0QnJpZGdlTGliLg0K PiANCj4gVGhhbmtzLA0KPiBSeWENCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gPiBGcm9tOiBTaGVuZywgVyA8dy5zaGVuZ0BpbnRlbC5jb20+DQo+ID4gU2VudDogTW9uZGF5 LCBPY3RvYmVyIDE4LCAyMDIxIDQ6NDMgUE0NCj4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8N Cj4gPiBDYzogS293YWxld3NraSwgUm9iZXJ0IDxyb2JlcnQua293YWxld3NraUBpbnRlbC5jb20+ OyBIdWFuZywgSmVubnkNCj4gPiA8amVubnkuaHVhbmdAaW50ZWwuY29tPjsgTmksIFJheSA8cmF5 Lm5pQGludGVsLmNvbT47IENoYWdhbnR5LA0KPiA+IFJhbmdhc2FpIFYgPHJhbmdhc2FpLnYuY2hh Z2FudHlAaW50ZWwuY29tPjsgQWxiZWNraSwgTWF0ZXVzeg0KPiA+IDxtYXRldXN6LmFsYmVja2lA aW50ZWwuY29tPg0KPiA+IFN1YmplY3Q6IFtQQVRDSCB2Ml0gSW50ZWxTaWxpY29uUGtnL0ludGVs VlRkRHhlOiBTdXBwb3J0IE11bHRpIFBDSQ0KPiA+IFJvb3QgQnVzDQo+ID4NCj4gPiBTb21lIHN5 c3RlbSBtYXkgaGFzIG11bHRpIFBDSSByb290IGJ1cy4gSXQgbmVlZHMgdG8gdXNlIGZ1bmN0aW9u DQo+ID4gUGNpSG9zdEJyaWRnZUdldFJvb3RCcmlkZ2VzICgpIHRvIGdldCB0aGUgcm9vdCBidXMg Y291bnQuIFRoZW4sICBzY2FuDQo+ID4gZWFjaCByb290IGJ1cyB0byBnZXQgYWxsIGRldmljZXMu DQo+ID4NCj4gPiBSRUY6IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5j Z2k/aWQ9MzY5NQ0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogUm9iZXJ0IEtvd2FsZXdza2kgPHJv YmVydC5rb3dhbGV3c2tpQGludGVsLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBTaGVuZyBXZWkg PHcuc2hlbmdAaW50ZWwuY29tPg0KPiA+IENjOiBKZW5ueSBIdWFuZyA8amVubnkuaHVhbmdAaW50 ZWwuY29tPg0KPiA+IENjOiBSYXkgTmkgPHJheS5uaUBpbnRlbC5jb20+DQo+ID4gQ2M6IFJhbmdh c2FpIFYgQ2hhZ2FudHkgPHJhbmdhc2FpLnYuY2hhZ2FudHlAaW50ZWwuY29tPg0KPiA+IENjOiBS b2JlcnQgS293YWxld3NraSA8cm9iZXJ0Lmtvd2FsZXdza2lAaW50ZWwuY29tPg0KPiA+IENjOiBB bGJlY2tpIE1hdGV1c3ogPG1hdGV1c3ouYWxiZWNraUBpbnRlbC5jb20+DQo+ID4gLS0tDQo+ID4g IC4uLi9GZWF0dXJlL1ZUZC9JbnRlbFZUZER4ZS9EbWFQcm90ZWN0aW9uLmggICAgICAgICAgICAg fCAgMSArDQo+ID4gIC4uLi9GZWF0dXJlL1ZUZC9JbnRlbFZUZER4ZS9EbWFyQWNwaVRhYmxlLmMg ICAgICAgICAgICAgfCAxNw0KPiArKysrKysrKysrKysrKy0tLQ0KPiA+ICAuLi4vRmVhdHVyZS9W VGQvSW50ZWxWVGREeGUvSW50ZWxWVGREeGUuaW5mICAgICAgICAgICAgIHwgIDEgKw0KPiA+ICAz IGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQo+ID4NCj4g PiBkaWZmIC0tZ2l0DQo+ID4gYS9TaWxpY29uL0ludGVsL0ludGVsU2lsaWNvblBrZy9GZWF0dXJl L1ZUZC9JbnRlbFZUZER4ZS9EbWFQcm90ZWN0aW9uLg0KPiA+IGgNCj4gPiBiL1NpbGljb24vSW50 ZWwvSW50ZWxTaWxpY29uUGtnL0ZlYXR1cmUvVlRkL0ludGVsVlRkRHhlL0RtYVByb3RlY3Rpb24u DQo+ID4gaA0KPiA+IGluZGV4IGEyNGZiYzM3Li45NzA2MWRlNSAxMDA2NDQNCj4gPiAtLS0NCj4g PiBhL1NpbGljb24vSW50ZWwvSW50ZWxTaWxpY29uUGtnL0ZlYXR1cmUvVlRkL0ludGVsVlRkRHhl L0RtYVByb3RlY3Rpb24uDQo+ID4gaA0KPiA+ICsrKyBiL1NpbGljb24vSW50ZWwvSW50ZWxTaWxp Y29uUGtnL0ZlYXR1cmUvVlRkL0ludGVsVlRkRHhlL0RtYVByb3RlY3QNCj4gPiArKysgaW9uLmgN Cj4gPiBAQCAtMjMsNiArMjMsNyBAQA0KPiA+ICAjaW5jbHVkZSA8TGlicmFyeS9QZXJmb3JtYW5j ZUxpYi5oPg0KPiA+ICAjaW5jbHVkZSA8TGlicmFyeS9QcmludExpYi5oPg0KPiA+ICAjaW5jbHVk ZSA8TGlicmFyeS9SZXBvcnRTdGF0dXNDb2RlTGliLmg+DQo+ID4gKyNpbmNsdWRlIDxMaWJyYXJ5 L1BjaUhvc3RCcmlkZ2VMaWIuaD4NCj4gPg0KPiA+ICAjaW5jbHVkZSA8R3VpZC9FdmVudEdyb3Vw Lmg+DQo+ID4gICNpbmNsdWRlIDxHdWlkL0FjcGkuaD4NCj4gPiBkaWZmIC0tZ2l0DQo+ID4gYS9T aWxpY29uL0ludGVsL0ludGVsU2lsaWNvblBrZy9GZWF0dXJlL1ZUZC9JbnRlbFZUZER4ZS9EbWFy QWNwaVRhYmxlLg0KPiA+IGMNCj4gPiBiL1NpbGljb24vSW50ZWwvSW50ZWxTaWxpY29uUGtnL0Zl YXR1cmUvVlRkL0ludGVsVlRkRHhlL0RtYXJBY3BpVGFibGUuDQo+ID4gYw0KPiA+IGluZGV4IDJk OWI0Mzc0Li5lNzE3YWViMiAxMDA2NDQNCj4gPiAtLS0NCj4gPiBhL1NpbGljb24vSW50ZWwvSW50 ZWxTaWxpY29uUGtnL0ZlYXR1cmUvVlRkL0ludGVsVlRkRHhlL0RtYXJBY3BpVGFibGUuDQo+ID4g Yw0KPiA+ICsrKyBiL1NpbGljb24vSW50ZWwvSW50ZWxTaWxpY29uUGtnL0ZlYXR1cmUvVlRkL0lu dGVsVlRkRHhlL0RtYXJBY3BpVGENCj4gPiArKysgYmxlLmMNCj4gPiBAQCAtNjgyLDYgKzY4Miw5 IEBAIFByb2Nlc3NEaHJkICgNCj4gPiAgICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFNlY29uZGFyeUJ1c051bWJlcjsNCj4gPiAgICBFRklfU1RBVFVT ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gPiAgICBW VERfU09VUkNFX0lEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUlk Ow0KPiA+ICsgIFBDSV9ST09UX0JSSURHRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKlJvb3RCcmlkZ2VzOw0KPiA+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUm9vdEJyaWRnZUNvdW50Ow0KPiA+ICsgIFVJTlROICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXg7DQo+ID4NCj4gPiAgICBt VnRkVW5pdEluZm9ybWF0aW9uW1Z0ZEluZGV4XS5WdGRVbml0QmFzZUFkZHJlc3MgPQ0KPiAoVUlO VE4pRG1hckRyaGQtPlJlZ2lzdGVyQmFzZUFkZHJlc3M7DQo+ID4gICAgREVCVUcgKChERUJVR19J TkZPLCIgIFZURCAoJWQpIEJhc2VBZGRyZXNzIC0gIDB4JTAxNmx4XG4iLA0KPiA+IFZ0ZEluZGV4 LCBEbWFyRHJoZC0+UmVnaXN0ZXJCYXNlQWRkcmVzcykpOyBAQCAtNjkyLDkgKzY5NSwxNyBAQA0K PiBQcm9jZXNzRGhyZCAoDQo+ID4gICAgICBtVnRkVW5pdEluZm9ybWF0aW9uW1Z0ZEluZGV4XS5Q Y2lEZXZpY2VJbmZvLkluY2x1ZGVBbGxGbGFnID0gVFJVRTsNCj4gPiAgICAgIERFQlVHICgoREVC VUdfSU5GTywiICBQcm9jZXNzRGhyZDogd2l0aCBJTkNMVURFIEFMTFxuIikpOw0KPiA+DQo+ID4g LSAgICBTdGF0dXMgPSBTY2FuUGNpQnVzKChWT0lEICopVnRkSW5kZXgsIERtYXJEcmhkLT5TZWdt ZW50TnVtYmVyLCAwLA0KPiBTY2FuQnVzQ2FsbGJhY2tSZWdpc3RlclBjaURldmljZSk7DQo+ID4g LSAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ID4gLSAgICAgIHJldHVybiBTdGF0dXM7 DQo+ID4gKyAgICBSb290QnJpZGdlcyA9IFBjaUhvc3RCcmlkZ2VHZXRSb290QnJpZGdlcyAoJlJv b3RCcmlkZ2VDb3VudCk7DQo+ID4gKyAgICBpZiAoKFJvb3RCcmlkZ2VzID09IE5VTEwpIHx8IChS b290QnJpZGdlQ291bnQgPT0gMCkpIHsNCj4gPiArICAgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRF RDsNCj4gPiArICAgIH0NCj4gPiArICAgIERFQlVHICgoREVCVUdfSU5GTywiRmluZCAlZCByb290 IGJyaWRnZXNcbiIsIFJvb3RCcmlkZ2VDb3VudCkpOw0KPiA+ICsgICAgZm9yIChJbmRleCA9IDA7 IEluZGV4IDwgUm9vdEJyaWRnZUNvdW50OyBJbmRleCsrKSB7DQo+ID4gKyAgICAgIERFQlVHICgo REVCVUdfSU5GTywiU2NhbiByb290IGJyaWRnZXMgOiAlZCwgU2VnbWVudCA6ICVkLCBCdXMgOg0K PiA+ICsgMHglMDJYXG4iLCBJbmRleCwgUm9vdEJyaWRnZXNbSW5kZXhdLlNlZ21lbnQsDQo+ID4g Um9vdEJyaWRnZXNbSW5kZXhdLkJ1cy5CYXNlKSk7DQo+ID4gKyAgICAgIFN0YXR1cyA9IFNjYW5Q Y2lCdXMoKFZPSUQgKilWdGRJbmRleCwgKFVJTlQxNikNCj4gPiArIFJvb3RCcmlkZ2VzW0luZGV4 XS5TZWdtZW50LCAoVUlOVDgpIFJvb3RCcmlkZ2VzW0luZGV4XS5CdXMuQmFzZSwNCj4gPiBTY2Fu QnVzQ2FsbGJhY2tSZWdpc3RlclBjaURldmljZSk7DQo+ID4gKyAgICAgIGlmIChFRklfRVJST1Ig KFN0YXR1cykpIHsNCj4gPiArICAgICAgICByZXR1cm4gU3RhdHVzOw0KPiA+ICsgICAgICB9DQo+ ID4gICAgICB9DQo+ID4gICAgfSBlbHNlIHsNCj4gPiAgICAgIG1WdGRVbml0SW5mb3JtYXRpb25b VnRkSW5kZXhdLlBjaURldmljZUluZm8uSW5jbHVkZUFsbEZsYWcgPQ0KPiA+IEZBTFNFOyBkaWZm IC0tZ2l0DQo+ID4gYS9TaWxpY29uL0ludGVsL0ludGVsU2lsaWNvblBrZy9GZWF0dXJlL1ZUZC9J bnRlbFZUZER4ZS9JbnRlbFZUZER4ZS5pbg0KPiA+IGYNCj4gPiBiL1NpbGljb24vSW50ZWwvSW50 ZWxTaWxpY29uUGtnL0ZlYXR1cmUvVlRkL0ludGVsVlRkRHhlL0ludGVsVlRkRHhlLmluDQo+ID4g Zg0KPiA+IGluZGV4IDIyMDYzNmFkLi4yNWZmODZmNCAxMDA2NDQNCj4gPiAtLS0NCj4gPiBhL1Np bGljb24vSW50ZWwvSW50ZWxTaWxpY29uUGtnL0ZlYXR1cmUvVlRkL0ludGVsVlRkRHhlL0ludGVs VlRkRHhlLmluDQo+ID4gZg0KPiA+ICsrKyBiL1NpbGljb24vSW50ZWwvSW50ZWxTaWxpY29uUGtn L0ZlYXR1cmUvVlRkL0ludGVsVlRkRHhlL0ludGVsVlRkRHgNCj4gPiArKysgZS5pbmYNCj4gPiBA QCAtNTUsNiArNTUsNyBAQA0KPiA+ICAgIFBlcmZvcm1hbmNlTGliDQo+ID4gICAgUHJpbnRMaWIN Cj4gPiAgICBSZXBvcnRTdGF0dXNDb2RlTGliDQo+ID4gKyAgUGNpSG9zdEJyaWRnZUxpYg0KPiA+ DQo+ID4gIFtHdWlkc10NCj4gPiAgICBnRWZpRXZlbnRFeGl0Qm9vdFNlcnZpY2VzR3VpZCAgICMj IENPTlNVTUVTICMjIEV2ZW50DQo+ID4gLS0NCj4gPiAyLjE2LjIud2luZG93cy4xDQoNCg==