From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web10.7361.1668656735564525890 for ; Wed, 16 Nov 2022 19:45:35 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=I6vTxcy2; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: michael.d.kinney@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1668656735; x=1700192735; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=ac6l46GXwM4lqyuxfWDLGwIysA6V5S54w4TmVUzdknQ=; b=I6vTxcy2pgjChNxFL816zELYekLwV88GOM5lYDVRRkAThRf0IlB4F7PN JCaAFoLz6+qyXxqp37+6NecmR3xwFsh1Zs8q7k3WaBd+sD/2jRc+/YVa3 mnxJFjf2HZw2O18M5b+blvRXfRr2IHWKahUV8aEkOfqTB6xSd0AHYo3VP i8Uh12f8FZd02OGYtUc6qUPGlnjfG5X782xycqT5rGEjQ612Bn3a5wUkI BSYbEjKKuMbqMBH6UF+Qwf0gkXYooxlXnPE0iCfWgLCxWz65ZThcHL8oU CFaSxv9yEFV07DF1AZ5oSwB2weHDpkxeD2ewoEU0J+XO/iS282hDVkYkm w==; X-IronPort-AV: E=McAfee;i="6500,9779,10533"; a="374878875" X-IronPort-AV: E=Sophos;i="5.96,169,1665471600"; d="scan'208";a="374878875" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Nov 2022 19:45:34 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10533"; a="728654036" X-IronPort-AV: E=Sophos;i="5.96,169,1665471600"; d="scan'208";a="728654036" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by FMSMGA003.fm.intel.com with ESMTP; 16 Nov 2022 19:45:34 -0800 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 16 Nov 2022 19:45:33 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Wed, 16 Nov 2022 19:45:33 -0800 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.176) 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.2375.31; Wed, 16 Nov 2022 19:45:32 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mdDqxXow8h6cYfdN7zGVinq3y1hUZ0946XoTyBIxYjpr0lkgPS8PppYnL8dBdsjqeDxpAAcvEJxCD76rd7BuaA3o5+tELw5MGZyOJJEmTawJbMRlDJZy3sDLuxwIGxBwF0UcAUa0EHfXkkePomgXO8qSvnR5uP53t8oae8LC8Lll7JNV7TP3CXWlLVm6V9d1pqzvpPMpMxcsdOLS9yd3aMeD+FUajSF2L78Sc3Xy+/wxOWfqYxGS1Pj85G1LNGKoc3plKfGcaiNvTOswksjLv6VcyuTUCA9Ak3zr+F0lzUhOpgofA6QL6hatwbYP7PhHK6nOS0RyX/snv08nETT8SA== 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=ac6l46GXwM4lqyuxfWDLGwIysA6V5S54w4TmVUzdknQ=; b=XZV8dZoMxkVdO8KbbQmyZ3HkfIajUJShnNJFRGr+qQ6sxfuuNIkl4LMJMs+sfQDjT0dMJyyAPhyCbgUTTiwfvp8YVydQA/3K0QQDOvZEFpkDNlbR1XgvMRESzaBae9gpyE5x44s8fR6+UexjTyi2sXgaenqIPZnPHGvW0tVPemBkb6YOlwhSv+v2ULgO4N5issdKkiQM+vtjcc6DDI3OdX/hikdc7xV/6Xucj3eyq2lbnvh+XvonUFfcJLgmB8aR4rBbHIV3yOjmKqIO0hSl3t7093AV+jyH3UTr4h1i3E8FJsrTG2h+CH7nUm1U4dm+zrUDvPDw+noNHr5zhzOLzg== 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 Received: from CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by SJ0PR11MB6695.namprd11.prod.outlook.com (2603:10b6:a03:44e::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.19; Thu, 17 Nov 2022 03:45:25 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::d936:6054:442a:9dde]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::d936:6054:442a:9dde%5]) with mapi id 15.20.5813.019; Thu, 17 Nov 2022 03:45:25 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "Lin, JackX" , "Kinney, Michael D" CC: "Chiu, Chasel" , "Desimone, Nathaniel L" , "Oram, Isaac W" , "Gao, Liming" , "Dong, Eric" , "Kuo, Donald" , "Kumar, Chandana C" Subject: Re: [edk2-devel] [edk2-platforms: PATCH] BIOS needs to present cores in order of relative performance in MADT Thread-Topic: [edk2-devel] [edk2-platforms: PATCH] BIOS needs to present cores in order of relative performance in MADT Thread-Index: AQHY+YTykaWCsNent0iLXkjDBbTsrK5CeRgA Date: Thu, 17 Nov 2022 03:45:25 +0000 Message-ID: References: <20221116062959.1695-1-jackx.lin@intel.com> In-Reply-To: <20221116062959.1695-1-jackx.lin@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO1PR11MB4929:EE_|SJ0PR11MB6695:EE_ x-ms-office365-filtering-correlation-id: f6a65096-6ad3-4d8e-286f-08dac84e2958 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 5qHPRwQeO7yO60Xzj3Gd4i4louDJgJPTDJNyuayxTm1iV9mQEoH+k9Di74bLaEcJ1DJkUKPP8Kfsm3syXoUYgf47G1PF/JhDMqRdTWX3cJRxLBW9TEsJMPJZrLucLCYK7gIBtOzChWBA8w+McxXg7Jy4c8Rd9vNYyz+zIu/8mH0XHeooeBOftZUAuVxB4mgB6zeynS+GEDJ64O+ckediYB6wlc5zUDpSBHNIpyW/XG8sEVBzAItefjApBCe9vCGL0Y+bbGj15tHcSZF4aoOVS73HSR6S33rQUWIdJIYOHypZyE2DpuXxf0+I91wDLZjV8pwQKSaz0vhEQl/f4fzwlfwpdml/LOq0c1nibGgHo6uIy8XuXcyJ/lz7JkFeYUQfSsDcRDPfHsPej91trSHALH41o0zD3d9xHP2XB/eUj0e/+h74aOgsG2jL5V0eok+andGu2gINIfHoxplUO6i0TK2YRDEZWbMzoxET4HBsIDMfBec51+5+0EX9QGs9dbjQMl7nwOGL+6yeJ67IrN56FS5qzYvYoOk4Uqhog0W/9vi3f0+GznPXMQ5+4PG5Un8eBM27G2yxVIc4dEnUcYXJwhVIz/pl7BseOSZlyTe2DxPnmBh3t0Y9+hzXvgeBg8/Wa9lUKlpEXnWbyiWu7xVAVBA5IJZrPbW86DnHH/cnKY+S/G0eD+g4xjTuOe8Skyu0D1TCg/nXTdoeBTKlptFKj5mThng5/RWvQC5GC6TZGfiCG4NSd2v9TzqeGHAr+KWVWRqaZlqFOeIRimtLLKavXRFYu5e2qFF3XhFtGkEa4or+GLUl+1y54WgSzom2czbxGCPYzcOAApaOZyh6DYDQPw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(136003)(39860400002)(376002)(396003)(346002)(451199015)(66556008)(86362001)(33656002)(83380400001)(122000001)(38100700002)(8936002)(5660300002)(2906002)(8676002)(76116006)(66946007)(82960400001)(4326008)(64756008)(41300700001)(38070700005)(9686003)(53546011)(7696005)(26005)(6506007)(107886003)(55016003)(186003)(54906003)(110136005)(66446008)(478600001)(316002)(52536014)(966005)(71200400001)(66476007)(66899015);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cjg5WXlkcWgxejBwQzhJTUkyMEQwK3poNEcvM2tLZHlmSWxTV2VrRlkrZVgz?= =?utf-8?B?SlBuSDlpM0hSS0dNeXo3OFBCRjhwS2NrY1diWExPK2pMSytQWVE0LzZBYi9H?= =?utf-8?B?aHIxeTUwZ2hxVVZQTmJIVGhUS2xpa0xrUHAzQ3cxaUUrbGtuUlJPNzd3dDhm?= =?utf-8?B?RmlwYnZtb0ljaWJ6dGVod1hOQU5PbGJzbWVlS3N0WVdxWnM0RXFNaUlVQnFO?= =?utf-8?B?d05WWVhkejdld0ZWM1p1Ui8xTnFhRE44Q3FGbEZKTy9aMExlUkgwTnVib25W?= =?utf-8?B?NFhZeHZlTTNrc015UDQwZkMyZkw0bjhkOEc2YWxYeVNKVEdIZWVORmUrS1c4?= =?utf-8?B?MS9mQUVxSG53UEM0QllVdTlqc3BmWFJhUlhZaWtHZElDT3dLVDdGWkFselhS?= =?utf-8?B?aE9ZZzBHUS9uZGhodytyaUZpeEplK29zb3VnVzkvNWdDaDZURTZsZ3RXY1Ex?= =?utf-8?B?eHk0TGdZeDBTVlBCNGk5Z1dnbFN0d29UaGk5OW9NaVRaLzZOekYwNTQybmZB?= =?utf-8?B?NmRwQW5MVktJVk1xSVRLeS9HbGlmS01XdXA2WFJZN0o5RHNSVEJMMUs3bnI5?= =?utf-8?B?TUNzUHpMa2U0YmNEVExHeUgzVlYvUnhlc3MwM2pxc0NWczJHQTRGRWVTU05a?= =?utf-8?B?Z0ZnQkFUSGFxMUliczFNUU9kMm01cWxOeUsvY3hCR1VEam5GWEYyR2Q5bnBs?= =?utf-8?B?bVZkc3N6M3V6OTZRb3M0bno1aSsraC9kTmYrODNtUlRkcDBEZDM2Z0dYaHV6?= =?utf-8?B?OTJkWWlLOFJyTlVveHB5K3NQSzczODhBa2F5enMzZU5RTG5XcTVmcmNaWndv?= =?utf-8?B?RTlzdTdUSnRpbG5IQUYwRk1meU0rZGx6UFBpM1pvMzd6SmJRT3I4RXI2Q095?= =?utf-8?B?aUtXNEM4V09kV1ZQcHZZSUYzWDNPcW1DMlM1SURLUm9OazhoaGtqQkxGL0Rh?= =?utf-8?B?b0tFVUZERXp6UkRSSDhBV1hkUzdINUlqQ2M4dWg5dWJZWmNCWkNTbXljbUxQ?= =?utf-8?B?WXNkcXZXYW95ZFI1ZDZhTG9OWTIvcFdDNmw0QmtXcHpwSFNnU1VmTkIzZXAy?= =?utf-8?B?RUpmNm1JUlVQY1I2ckZHZXcwM21XNFc5dWJuMGI4emVTUElCVVU4dXg3UkhY?= =?utf-8?B?OXVzWHZuNE1aY3lqeUdVSG1Jc2pYVkFWU3JVWnJSdU43N240NzduYUR1NXZL?= =?utf-8?B?R3Bwa05kNFFYSHZhNlBkUnJUWjhHbC9QangvNVM4ZFlOTmFZaFNSMHFrWFg0?= =?utf-8?B?RGlLcVY5bjN1dFJkbzNJRWZub2k0ekFCbWV2WGZLMjJYRXRJb3pEL3p0Y01X?= =?utf-8?B?ZGxDU2l5VkpjWFVhYmk4WER6bVA2dTV1OFBTYkJETnRxVy9NU0JIZnhPcjBq?= =?utf-8?B?SHZTYW9xNFE2UzBLSTZCWUxMVGdtZlNyQkhLekJRS1BaOUt3Z2JzRythZEky?= =?utf-8?B?ZUxFemE1OWNVU1k2Yk9sRDBtOWdaOTFOVG1QdnRoUGhmTHh2UGtOZmtVUzlx?= =?utf-8?B?K3ZqUncyRDI0UHhQVHlZY0QzUk1NS2lCTThFZnEvL2Npa3UvNkttUVNqRUth?= =?utf-8?B?Qy9ocW56a2JwTmFWaW9kSmN1ZTUxSWFkejU0ZlJ2UVRZd2daM1c2bFdjczMw?= =?utf-8?B?Sk4rQTdmZG9kSzNRM2dVTndmemxaTWNyWTcvRm9MM3J5bmtNK1dHTUwxVWN4?= =?utf-8?B?c081OHk5TXRMOVR1ZjJ1YVFSNXE0SVk5czk3SVJnRXc4YjJzdUVxdXdCamdX?= =?utf-8?B?dHorZFEyTUJQdVVYZmVhUTR5L1BnekUvUDNkMjk0V2pIRXpCQWRGUGM3UlJM?= =?utf-8?B?WWQ4bWxtS1FQY2kxOGNYcXZMM1lJT3NBRHEwam1xTGlaY0owVTJZTE1BYjV4?= =?utf-8?B?TWRLN2tnS3VaTFpnOFByanVrWDZlT2wveGZ6SzV0OEhHR1EyZ3JZeDd1dGtQ?= =?utf-8?B?Ynlwdms5VVFNSk40WUdnUjg2ZUdydVhzSzZ4WnRFWUhyMkFoQ29ZYkNHeURU?= =?utf-8?B?bmIzZlJ1QldWYWxPaGV1R2tpVVRPdEhiTHV2NFl6eU5hRk54ajB3b2prUFcx?= =?utf-8?B?NzVRcmlPT3h3ZE1JYm9CdExQaHg4RjBSNEM1V01mejhJMzZaRTJjaTlPU3pT?= =?utf-8?B?bTNMVlpDdnJydjhpR05wUENlSG1sM0NQeFNXTkk0WEtqcWZIZy9WZUJORjg1?= =?utf-8?B?enc9PQ==?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f6a65096-6ad3-4d8e-286f-08dac84e2958 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Nov 2022 03:45:25.2525 (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: vlJfcEgxxZrqR7t/vCgoOM6HJJjxjzT6TPJ7+rxma5O1NDDTTUnRhB14U04v/KaziBiip4KtYVE6zI8VMw1TvCgqx79tGpzCW0KzsybXRXI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB6695 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgSmFjaywNCg0KSSBsaWtlIHRoZXNlIHVwZGF0ZXMgdG8gY2FwdHVyZSB0aGUgOC1iaXQgY29y ZSB0eXBlIHZhbHVlcy4NCg0KRnJvbSB0aGUgU0RNIGFuZCB0aGUgTWRlUGtnL0luY2x1ZGUvUmVn aXN0ZXJzL0ludGVsL0NwdWlkLmggZmlsZQ0KSSBzZWUgdGhlIGZvbGxvd2luZyBkZWZpbmVzOg0K DQovLy8NCi8vLyBAeyBEZWZpbmUgdmFsdWUgZm9yIENQVUlEX05BVElWRV9NT0RFTF9JRF9BTkRf Q09SRV9UWVBFX0VBWC5Db3JlVHlwZQ0KLy8vDQojZGVmaW5lICAgQ1BVSURfQ09SRV9UWVBFX0lO VEVMX0FUT00gIDB4MjANCiNkZWZpbmUgICBDUFVJRF9DT1JFX1RZUEVfSU5URUxfQ09SRSAgMHg0 MA0KLy8vDQovLy8gQH0NCi8vLw0KDQpJdCBsb29rcyBsaWtlIHRoZSBkZWZhdWx0IHNvcnRpbmcg cG9saWN5IHRvIGFkZCBDUFVzIHdpdGggYQ0KQ1BVIFR5cGUgb2YgQ1BVSURfQ09SRV9UWVBFX0lO VEVMX0NPUkUgZmlyc3QsIGFuZCB0aGVuIGFkZA0KYWxsIHRoZSBvdGhlciBpbiBhbnkgb3JkZXI/ ICBJIHNlZSB0aGF0IG9ubHkgQ09SRSBhbmQgQVRPTQ0KYXJlIGRlZmluZWQgYXQgdGhpcyB0aW1l LiAgRG9lcyB0aGlzIGltcGx5IHRoYXQgdGhpcyBsb2dpYw0Kd2lsbCBuZWVkIHRvIGJlIHVwZGF0 ZWQgaWYgYWRkaXRpb25hbCBjb3JlIHR5cGVzIGFyZSBhZGRlZD8NCg0KQmVzdCByZWdhcmRzLA0K DQpNaWtlDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRr Mi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgSmFja1ggTGlu DQo+IFNlbnQ6IFR1ZXNkYXksIE5vdmVtYmVyIDE1LCAyMDIyIDEwOjMwIFBNDQo+IFRvOiBkZXZl bEBlZGsyLmdyb3Vwcy5pbw0KPiBDYzogTGluLCBKYWNrWCA8amFja3gubGluQGludGVsLmNvbT47 IExpbiwgSmFja1ggPGphY2t4LmxpbkBpbnRlbC5jb20+OyBDaGl1LCBDaGFzZWwgPGNoYXNlbC5j aGl1QGludGVsLmNvbT47IERlc2ltb25lLA0KPiBOYXRoYW5pZWwgTCA8bmF0aGFuaWVsLmwuZGVz aW1vbmVAaW50ZWwuY29tPjsgT3JhbSwgSXNhYWMgVyA8aXNhYWMudy5vcmFtQGludGVsLmNvbT47 IEdhbywgTGltaW5nIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+Ow0KPiBEb25nLCBFcmljIDxl cmljLmRvbmdAaW50ZWwuY29tPjsgS3VvLCBEb25hbGQgPGRvbmFsZC5rdW9AaW50ZWwuY29tPjsg S3VtYXIsIENoYW5kYW5hIEMgPGNoYW5kYW5hLmMua3VtYXJAaW50ZWwuY29tPg0KPiBTdWJqZWN0 OiBbZWRrMi1kZXZlbF0gW2VkazItcGxhdGZvcm1zOiBQQVRDSF0gQklPUyBuZWVkcyB0byBwcmVz ZW50IGNvcmVzIGluIG9yZGVyIG9mIHJlbGF0aXZlIHBlcmZvcm1hbmNlIGluIE1BRFQNCj4gDQo+ IEJJT1Mgc2hvdWxkIGtlZXAgTUFEVCBvcmRlcmluZyBieSBiaWcgY29yZSBmaXJzdCB0aGVuIHNt YWxsIGNvcmUNCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEphY2tYIExpbiA8SmFja1guTGluQGludGVs LmNvbT4NCj4gQ2M6IENoYXNlbCBDaGl1IDxjaGFzZWwuY2hpdUBpbnRlbC5jb20+DQo+IENjOiBO YXRlIERlU2ltb25lIDxuYXRoYW5pZWwubC5kZXNpbW9uZUBpbnRlbC5jb20+DQo+IENjOiBJc2Fh YyBPcmFtIDxpc2FhYy53Lm9yYW1AaW50ZWwuY29tPg0KPiBDYzogTGltaW5nIEdhbyA8Z2FvbGlt aW5nQGJ5b3NvZnQuY29tLmNuPg0KPiBDYzogRXJpYyBEb25nIDxlcmljLmRvbmdAaW50ZWwuY29t Pg0KPiBDYzogRG9uYWxkIEt1byA8RG9uYWxkLkt1b0BpbnRlbC5jb20+DQo+IENjOiBDaGFuZGFu YSBDIEt1bWFyIDxjaGFuZGFuYS5jLmt1bWFyQGludGVsLmNvbT4NCj4gQ2M6IEphY2tYIExpbiA8 SmFja1guTGluQGludGVsLmNvbT4NCj4gLS0tDQo+ICBQbGF0Zm9ybS9JbnRlbC9NaW5QbGF0Zm9y bVBrZy9BY3BpL0FjcGlUYWJsZXMvQWNwaVBsYXRmb3JtLmMgfCA5NA0KPiArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystLS0tLS0tDQo+ICAxIGZpbGUgY2hhbmdlZCwgODcgaW5zZXJ0aW9u cygrKSwgNyBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9N aW5QbGF0Zm9ybVBrZy9BY3BpL0FjcGlUYWJsZXMvQWNwaVBsYXRmb3JtLmMNCj4gYi9QbGF0Zm9y bS9JbnRlbC9NaW5QbGF0Zm9ybVBrZy9BY3BpL0FjcGlUYWJsZXMvQWNwaVBsYXRmb3JtLmMNCj4g aW5kZXggNmU1N2I2MzhlMC4uYmFmZTM1OTY2OCAxMDA2NDQNCj4gLS0tIGEvUGxhdGZvcm0vSW50 ZWwvTWluUGxhdGZvcm1Qa2cvQWNwaS9BY3BpVGFibGVzL0FjcGlQbGF0Zm9ybS5jDQo+ICsrKyBi L1BsYXRmb3JtL0ludGVsL01pblBsYXRmb3JtUGtnL0FjcGkvQWNwaVRhYmxlcy9BY3BpUGxhdGZv cm0uYw0KPiBAQCAtMTgsNiArMTgsNyBAQCB0eXBlZGVmIHN0cnVjdCB7DQo+ICAgIFVJTlQzMiAg IEZsYWdzOw0KPiAgICBVSU5UMzIgICBTb2NrZXROdW07DQo+ICAgIFVJTlQzMiAgIFRocmVhZDsN Cj4gKyAgVUlOVDggICAgQ3B1Q29yZVR5cGU7DQo+ICB9IEVGSV9DUFVfSURfT1JERVJfTUFQOw0K PiANCj4gIC8vDQo+IEBAIC0xMzEsNiArMTMyLDQ5IEBAIEFwcGVuZENwdU1hcFRhYmxlRW50cnkg KA0KPiANCj4gIH0NCj4gDQo+ICsvKioNCj4gKyAgRnVuY3Rpb24gd2lsbCBnbyB0aHJvdWdoIGFs bCBwcm9jZXNzb3JzIHRvIGlkZW50aWZ5IENvcmUgb3IgQXRvbQ0KPiArICBieSBjaGVja2luZyBD b3JlIFR5cGUgYW5kIHVwZGF0ZSBpbiBJc0JpZ0NvcmUuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSBD cHVBcGljSWRPcmRlclRhYmxlICAgICAgICAgUG9pbnQgdG8gYSBidWZmZXIgd2hpY2ggd2lsbCBi ZSBmaWxsZWQgaW4gQ29yZSB0eXBlIGluZm9ybWF0aW9uLg0KPiArKiovDQo+ICtWT0lEDQo+ICtT VEFUSUMNCj4gK0VGSUFQSQ0KPiArQ29sbGVjdENwdUNvcmVUeXBlICgNCj4gKyAgSU4gRUZJX0NQ VV9JRF9PUkRFUl9NQVAgICAgICAgICpDcHVBcGljSWRPcmRlclRhYmxlDQo+ICsgICkNCj4gK3sN Cj4gKyAgQ1BVSURfU1RSVUNUVVJFRF9FWFRFTkRFRF9GRUFUVVJFX0ZMQUdTX0VEWCAgICAgRWR4 Ow0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF YXg7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEFwTnVtYmVyOw0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdGF0dXM7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIENvcmVUeXBlOw0KPiArDQo+ICsgIFN0YXR1cyA9IG1NcFNlcnZpY2UtPldo b0FtSSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgbU1wU2VydmljZSwNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAmQXBOdW1iZXINCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICApOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIC8vLw0KPiAr ICAvLy8gQ2hlY2sgSGV0ZXJvIGZlYXR1cmUgaXMgc3VwcG9ydGVkDQo+ICsgIC8vLyB3aXRoIENQ VUlELihFQVg9NyxFQ1g9MCk6RURYWzE1XT0xDQo+ICsgIC8vLw0KPiArICBBc21DcHVpZEV4IChD UFVJRF9TVFJVQ1RVUkVEX0VYVEVOREVEX0ZFQVRVUkVfRkxBR1MsIDAsIE5VTEwsIE5VTEwsIE5V TEwsICZFZHguVWludDMyKTsNCj4gKyAgaWYgKEVkeC5CaXRzLkh5YnJpZCA9PSAxKSB7DQo+ICsg ICAgLy8NCj4gKyAgICAvLyBDaGVjayB3aGljaCBpcyB0aGUgcnVubmluZyBjb3JlIGJ5IHJlYWRp bmcgQ1BVSUQuKEVBWD0xQUgsIEVDWD0wMEgpOkVBWA0KPiArICAgIC8vDQo+ICsgICAgQXNtQ3B1 aWQgKENQVUlEX0hZQlJJRF9JTkZPUk1BVElPTiwgJkVheCwgTlVMTCwgTlVMTCwgTlVMTCk7DQo+ ICsgICAgQ29yZVR5cGUgPSAoVUlOVDgpICgoRWF4ICYgMHhGRjAwMDAwMCkgPj4gMjQpOw0KPiAr ICB9IGVsc2Ugew0KPiArICAgIENvcmVUeXBlID0gQ1BVSURfQ09SRV9UWVBFX0lOVEVMX0NPUkU7 DQo+ICsgIH0NCj4gKw0KPiArICBDcHVBcGljSWRPcmRlclRhYmxlW0FwTnVtYmVyXS5DcHVDb3Jl VHlwZSA9IENvcmVUeXBlOw0KPiArfQ0KPiArDQo+ICAvKioNCj4gICAgQ29sbGVjdCBhbGwgcHJv Y2Vzc29ycyBpbmZvcm1hdGlvbiBhbmQgY3JlYXRlIGEgQ3B1IEFwaWMgSWQgdGFibGUuDQo+IA0K PiBAQCAtMTM4LDcgKzE4Miw3IEBAIEFwcGVuZENwdU1hcFRhYmxlRW50cnkgKA0KPiAgKiovDQo+ ICBFRklfU1RBVFVTDQo+ICBDcmVhdGVDcHVMb2NhbEFwaWNJblRhYmxlICgNCj4gLSAgSU4gRUZJ X0NQVV9JRF9PUkRFUl9NQVAgKkNwdUFwaWNJZE9yZGVyVGFibGUNCj4gKyAgSU4gRUZJX0NQVV9J RF9PUkRFUl9NQVAgICAgICAgICAgICAgICAgICAgKkNwdUFwaWNJZE9yZGVyVGFibGUNCj4gICAg KQ0KPiAgew0KPiAgICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dGF0dXM7DQo+IEBAIC0xNDYsOSArMTkwLDI0IEBAIENyZWF0ZUNwdUxvY2FsQXBpY0luVGFibGUg KA0KPiAgICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmRleDsN Cj4gICAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3VyclByb2Nl c3NvcjsNCj4gICAgRUZJX0NQVV9JRF9PUkRFUl9NQVAgICAgICAgICAgICAgICAgICAgICAgKkNw dUlkTWFwUHRyOw0KPiArICBFRklfQ1BVX0lEX09SREVSX01BUCAgICAgICAgICAgICAgICAgICAg ICAqVGVtcENwdUFwaWNJZE9yZGVyVGFibGU7DQo+ICAgIFVJTlQzMiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFNvY2tldDsNCj4gDQo+IC0gIFN0YXR1cyAgICAgPSBFRklfU1VD Q0VTUzsNCj4gKyAgVGVtcENwdUFwaWNJZE9yZGVyVGFibGUgPSBBbGxvY2F0ZVplcm9Qb29sICht TnVtYmVyT2ZDcHVzICogc2l6ZW9mIChFRklfQ1BVX0lEX09SREVSX01BUCkpOw0KPiArICBpZiAo VGVtcENwdUFwaWNJZE9yZGVyVGFibGUgPT0gTlVMTCkgew0KPiArICAgIHJldHVybiBFRklfVU5T VVBQT1JURUQ7DQo+ICsgIH0NCj4gKw0KPiArICBDb2xsZWN0Q3B1Q29yZVR5cGUgKFRlbXBDcHVB cGljSWRPcmRlclRhYmxlKTsNCj4gKyAgbU1wU2VydmljZS0+U3RhcnR1cEFsbEFQcyAoDQo+ICsg ICAgICAgICAgICAgICAgbU1wU2VydmljZSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ly8gVGhpcw0KPiArICAgICAgICAgICAgICAgIChFRklfQVBfUFJPQ0VEVVJFKSBDb2xsZWN0Q3B1 Q29yZVR5cGUsICAgIC8vIFByb2NlZHVyZQ0KPiArICAgICAgICAgICAgICAgIFRSVUUsICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNpbmdsZVRocmVhZA0KPiArICAgICAg ICAgICAgICAgIE5VTEwsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdh aXRFdmVudA0KPiArICAgICAgICAgICAgICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC8vIFRpbWVvdXRJbk1pY3Jvc2Vjc29uZA0KPiArICAgICAgICAgICAgICAg IFRlbXBDcHVBcGljSWRPcmRlclRhYmxlLCAgICAgICAgICAgICAgICAgIC8vIFByb2NlZHVyZUFy Z3VtZW50DQo+ICsgICAgICAgICAgICAgICAgTlVMTCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLy8gRmFpbGVkQ3B1TGlzdA0KPiArICAgICAgICAgICAgICAgICk7DQo+IA0K PiAgICBmb3IgKEN1cnJQcm9jZXNzb3IgPSAwLCBJbmRleCA9IDA7IEN1cnJQcm9jZXNzb3IgPCBt TnVtYmVyT2ZDcHVzOyBDdXJyUHJvY2Vzc29yKyssIEluZGV4KyspIHsNCj4gICAgICBTdGF0dXMg PSBtTXBTZXJ2aWNlLT5HZXRQcm9jZXNzb3JJbmZvICgNCj4gQEAgLTE1Nyw5ICsyMTYsOSBAQCBD cmVhdGVDcHVMb2NhbEFwaWNJblRhYmxlICgNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZQcm9jZXNzb3JJbmZvQnVmZmVyDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0K PiANCj4gLSAgICBDcHVJZE1hcFB0ciA9IChFRklfQ1BVX0lEX09SREVSX01BUCAqKSAmQ3B1QXBp Y0lkT3JkZXJUYWJsZVtJbmRleF07DQo+ICsgICAgQ3B1SWRNYXBQdHIgPSAoRUZJX0NQVV9JRF9P UkRFUl9NQVAgKikgJlRlbXBDcHVBcGljSWRPcmRlclRhYmxlW0luZGV4XTsNCj4gICAgICBpZiAo KFByb2Nlc3NvckluZm9CdWZmZXIuU3RhdHVzRmxhZyAmIFBST0NFU1NPUl9FTkFCTEVEX0JJVCkg IT0gMCkgew0KPiAtICAgICAgQ3B1SWRNYXBQdHItPkFwaWNJZCAgPSAoVUlOVDMyKVByb2Nlc3Nv ckluZm9CdWZmZXIuUHJvY2Vzc29ySWQ7DQo+ICsgICAgICBDcHVJZE1hcFB0ci0+QXBpY0lkICA9 IChVSU5UMzIpIFByb2Nlc3NvckluZm9CdWZmZXIuUHJvY2Vzc29ySWQ7DQo+ICAgICAgICBDcHVJ ZE1hcFB0ci0+VGhyZWFkICA9IFByb2Nlc3NvckluZm9CdWZmZXIuTG9jYXRpb24uVGhyZWFkOw0K PiAgICAgICAgQ3B1SWRNYXBQdHItPkZsYWdzICAgPSAoKFByb2Nlc3NvckluZm9CdWZmZXIuU3Rh dHVzRmxhZyAmIFBST0NFU1NPUl9FTkFCTEVEX0JJVCkgIT0gMCk7DQo+ICAgICAgICBDcHVJZE1h cFB0ci0+U29ja2V0TnVtID0gUHJvY2Vzc29ySW5mb0J1ZmZlci5Mb2NhdGlvbi5QYWNrYWdlOw0K PiBAQCAtMTg0LDIyICsyNDMsNDMgQEAgQ3JlYXRlQ3B1TG9jYWxBcGljSW5UYWJsZSAoDQo+ICAg IC8vDQo+ICAgIERFQlVHICgoREVCVUdfSU5GTywgIkJzcEFwaWNJZCAtIDB4JXhcbiIsIEdldEFw aWNJZCAoKSkpOw0KPiANCj4gLQ0KPiAgICAvLw0KPiAgICAvLyBGaWxsIGluIEFjcGlQcm9jZXNz b3JVaWQuDQo+ICAgIC8vDQo+ICAgIGZvciAoU29ja2V0ID0gMDsgU29ja2V0IDwgRml4ZWRQY2RH ZXQzMiAoUGNkTWF4Q3B1U29ja2V0Q291bnQpOyBTb2NrZXQrKykgew0KPiAgICAgIGZvciAoQ3Vy clByb2Nlc3NvciA9IDAsIEluZGV4ID0gMDsgQ3VyclByb2Nlc3NvciA8IG1OdW1iZXJPZkNwdXM7 IEN1cnJQcm9jZXNzb3IrKykgew0KPiAtICAgICAgaWYgKENwdUFwaWNJZE9yZGVyVGFibGVbQ3Vy clByb2Nlc3Nvcl0uRmxhZ3MgJiYgKENwdUFwaWNJZE9yZGVyVGFibGVbQ3VyclByb2Nlc3Nvcl0u U29ja2V0TnVtID09IFNvY2tldCkpIHsNCj4gLSAgICAgICAgQ3B1QXBpY0lkT3JkZXJUYWJsZVtD dXJyUHJvY2Vzc29yXS5BY3BpUHJvY2Vzc29yVWlkID0gKENwdUFwaWNJZE9yZGVyVGFibGVbQ3Vy clByb2Nlc3Nvcl0uU29ja2V0TnVtIDw8DQo+IG1OdW1PZkJpdFNoaWZ0KSArIEluZGV4Ow0KPiAr ICAgICAgaWYgKFRlbXBDcHVBcGljSWRPcmRlclRhYmxlW0N1cnJQcm9jZXNzb3JdLkZsYWdzICYm IChUZW1wQ3B1QXBpY0lkT3JkZXJUYWJsZVtDdXJyUHJvY2Vzc29yXS5Tb2NrZXROdW0gPT0gU29j a2V0KSkgew0KPiArICAgICAgICBUZW1wQ3B1QXBpY0lkT3JkZXJUYWJsZVtDdXJyUHJvY2Vzc29y XS5BY3BpUHJvY2Vzc29yVWlkID0gKFRlbXBDcHVBcGljSWRPcmRlclRhYmxlW0N1cnJQcm9jZXNz b3JdLlNvY2tldE51bSA8PA0KPiBtTnVtT2ZCaXRTaGlmdCkgKyBJbmRleDsNCj4gICAgICAgICAg SW5kZXgrKzsNCj4gICAgICAgIH0NCj4gICAgICB9DQo+ICAgIH0NCj4gDQo+ICsgIC8vDQo+ICsg IC8vIFJlLW9yZGVyaW5nIENwdSBjb3JlcyBpbmZvcm1hdGlvbiB0byBDcHVBcGljSWRPcmRlclRh YmxlDQo+ICsgIC8vIGJ5IGJpZyBjb3JlIGZpcnN0LCB0aGVuIHNtYWxsIGNvcmUuDQo+ICsgIC8v DQo+ICsgIGZvciAoSW5kZXggPSAwLCBDdXJyUHJvY2Vzc29yID0gMDsgSW5kZXggPCBtTnVtYmVy T2ZDcHVzOyBJbmRleCsrKSB7DQo+ICsgICAgaWYgKFRlbXBDcHVBcGljSWRPcmRlclRhYmxlW0lu ZGV4XS5DcHVDb3JlVHlwZSA9PSBDUFVJRF9DT1JFX1RZUEVfSU5URUxfQ09SRSkgew0KPiArICAg ICAgQ29weU1lbSAoJkNwdUFwaWNJZE9yZGVyVGFibGVbQ3VyclByb2Nlc3Nvcl0sICZUZW1wQ3B1 QXBpY0lkT3JkZXJUYWJsZVtJbmRleF0sIHNpemVvZiAoRUZJX0NQVV9JRF9PUkRFUl9NQVApKTsN Cj4gKyAgICAgIEN1cnJQcm9jZXNzb3IrKzsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICBm b3IgKEluZGV4ID0gMDsgSW5kZXggPCBtTnVtYmVyT2ZDcHVzOyBJbmRleCsrKSB7DQo+ICsgICAg aWYgKFRlbXBDcHVBcGljSWRPcmRlclRhYmxlW0luZGV4XS5DcHVDb3JlVHlwZSAhPSBDUFVJRF9D T1JFX1RZUEVfSU5URUxfQ09SRSkgew0KPiArICAgICAgQ29weU1lbSAoJkNwdUFwaWNJZE9yZGVy VGFibGVbQ3VyclByb2Nlc3Nvcl0sICZUZW1wQ3B1QXBpY0lkT3JkZXJUYWJsZVtJbmRleF0sIHNp emVvZiAoRUZJX0NQVV9JRF9PUkRFUl9NQVApKTsNCj4gKyAgICAgIEN1cnJQcm9jZXNzb3IrKzsN Cj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiAgICBERUJVRyAoKERFQlVHX0lORk8sICI6OkFDUEk6 OiAgQVBJQyBJRCBPcmRlciBUYWJsZSBJbml0LiAgIG1OdW1PZkJpdFNoaWZ0ID0gJXhcbiIsIG1O dW1PZkJpdFNoaWZ0KSk7DQo+ICAgIERlYnVnRGlzcGxheVJlT3JkZXJUYWJsZSAoQ3B1QXBpY0lk T3JkZXJUYWJsZSk7DQo+IA0KPiArICBpZiAoVGVtcENwdUFwaWNJZE9yZGVyVGFibGUgIT0gTlVM TCkgew0KPiArICAgIEZyZWVQb29sIChUZW1wQ3B1QXBpY0lkT3JkZXJUYWJsZSk7DQo+ICsgIH0N Cj4gKw0KPiAgICByZXR1cm4gU3RhdHVzOw0KPiAgfQ0KPiANCj4gLS0NCj4gMi4zMi4wLndpbmRv d3MuMg0KPiANCj4gDQo+IA0KPiANCj4gDQoNCg==