From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=40.92.11.70; helo=nam04-sn1-obe.outbound.protection.outlook.com; envelope-from=vanjeff_919@hotmail.com; receiver=edk2-devel@lists.01.org Received: from NAM04-SN1-obe.outbound.protection.outlook.com (mail-oln040092011070.outbound.protection.outlook.com [40.92.11.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 52F42209603CD for ; Mon, 28 May 2018 06:15:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+9nLdQaVOs2OaeU5TU1FxsqI1pCKeNwsorqdVMWomo4=; b=FIXUX1uPHLzc5rfNlWwRR9AaNFtEc+WzJ2ig3fg+OowQbxpYx/Ozd2ayfaJRNBWIJv5PuV+L3LAlgr9eYEt32qcjP0S3Re9ZTJbl2TvNCCL7PLUyKA0qee2XS9HT+A0nnSrPbnMGQAT4thF5bD3GvJwTWkT9oytCJRMiAdo1KR53oLA/3E7ZOwnz2JaUO4qtP3Ea5dm2XI5bwcvWv8bSiSybPzDfgsOQW9PLY+zduALQCU2i6F41c3blHR5S1NysbOWfMnY6Yqg9454xH072tS29DVAk/qVwaPhz+p5/hPL5Aa2Q2gD9J+Z0UJdUmvmLiZJT4nAWktIbxw5qmQDrbw== Received: from BN3NAM04FT005.eop-NAM04.prod.protection.outlook.com (10.152.92.56) by BN3NAM04HT078.eop-NAM04.prod.protection.outlook.com (10.152.93.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.820.8; Mon, 28 May 2018 13:15:33 +0000 Received: from SN6PR19MB2269.namprd19.prod.outlook.com (10.152.92.53) by BN3NAM04FT005.mail.protection.outlook.com (10.152.92.108) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.20.820.8 via Frontend Transport; Mon, 28 May 2018 13:15:33 +0000 Received: from SN6PR19MB2269.namprd19.prod.outlook.com ([fe80::10c6:5dee:f2ac:2909]) by SN6PR19MB2269.namprd19.prod.outlook.com ([fe80::10c6:5dee:f2ac:2909%13]) with mapi id 15.20.0797.017; Mon, 28 May 2018 13:15:33 +0000 From: Fan Jeff To: "lersek@redhat.com" , "Marvin.Haeuser@outlook.com" CC: "edk2-devel@lists.01.org" , "eric.dong@intel.com" Thread-Topic: =?utf-8?B?UmU6562U5aSNOiBbZWRrMl0gQ3B1UzNEYXRhRHhlIC8gRHhlUmVnaXN0ZXJD?= =?utf-8?Q?puFeaturesLib_dependency.?= Thread-Index: AQHT9oX0DijwX7OxuU2Mt3ZgfDG2ZA== Date: Mon, 28 May 2018 13:15:32 +0000 Message-ID: References: 0aLXOIrHYEiZ-sEy4m3engAAAAABCdGi1ziKx2BImfrBMuJt3p4AAZKZ_vc1 Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:7254C232403599C10550F6BA18B95DA3A553F228D28C3E922A428AE68034B020; UpperCasedChecksum:533E4BA5ADD99A4FB2C0BFF792DACE853AE7D85B3FCF4030B3FA93922C324796; SizeAsReceived:7258; Count:46 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [1X4/l6zNQwVtOK8vO+mt6oSP0itx/jbI] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; BN3NAM04HT078; 7:q60bRhaWZtSnHSjWMKTOw9yNBP2u9bIN2EX4iwgWf+UMm81KqB46u4Gjgi3glykWAqsxZi0SpbVCuXsCX7NFQlWI9T0O9YFdnvXvKf8SPQMSG1ou3IAOWvNHvE2/yRBwuO44dRej8I0Ylf7Naa7W4wgfATGmtlQVpp5oTNSc36d8j1/NQA+UzdM012vVjMtcHeI473JntrXyISYfomJMQ4l/G4zx1t3xr5WCKRDObaNO6jh9pGEG05OqujU0EQdZ x-incomingheadercount: 46 x-eopattributedmessage: 0 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031324274)(2017031323274)(201702181274)(2017031322404)(1603101448)(1601125466)(1701031045); SRVR:BN3NAM04HT078; x-ms-exchange-slblob-mailprops: =?utf-8?B?N0ZOSUF6V0M3VHF0bGxUK05MbGRncHJ2b1JDQnQxb3gyazN1a3ozTEJzT3h3?= =?utf-8?B?UEE0OGdnd0R0bFpzaUM4eGxNdmZxMHRzbTFMbXV1SzErQnNSWjIzS0p5ZjJY?= =?utf-8?B?ejhsaFZ0MndPNUlEUE5xTVhGV3ZxdlFvQ2ZMMFNzM1AxemdlMHpUYzVYN3hX?= =?utf-8?B?UEU2YVI2akVrWXZITWlrWkl0WjYzMTdQL3VNcHY2dGFxbFB2blphekJlWThy?= =?utf-8?B?aVhHT1BJSWlFMTZWekNUU0RwNGF2ZGU2bXRSU1FtVW1zV0VjL2MxbkUwZCt1?= =?utf-8?B?ZUI4ZFVDMlh5eDB5RFE3bit4KzF3YzRZeXVJVE04aStsL2J6ZnVnbmphU2ZL?= =?utf-8?B?SlkzRjUyaW9rQlRjT3ZqOEVaSXpXdEFXRmNyc3Mrc0dwaGs1L2pZVXI2NzJU?= =?utf-8?B?WHNOcUVQRnZPK3JVYWRZL25aeFdSWjd5RCtMUTQyMkRJUnBtRTYyUnJMbndE?= =?utf-8?B?TVluakFKamJHVEhuY1QreU94N3hmOVppbjNKc3BVMzlCVHdIb2F2V0NISFBq?= =?utf-8?B?NmU5blIyMkZMVXF5cHMzUm5za3BYVzhleFJ5SkplUDdLdGJTT0wrMnd1bkp4?= =?utf-8?B?b24xRjlGN0ZRMklSNDRrNlFMTk5GREVTaDNNWmY0UUJEUURsblhBakR6bFk2?= =?utf-8?B?M25IL0V5MjlIa1ZmSmw0UndNdllEMkF6emRpdjkvWEw0R1JTQjRKWXk5SWJ1?= =?utf-8?B?WDc1SUpBUFV2ckk3bVY5ZnMvNGtqSVoyb2pDajlXSmNiOXBLdFdHdklwd0Fr?= =?utf-8?B?MlJHb3IvanZzODk1QzM5cXBTSWJoVFljZ1B2dytvcUtkOUtxdHFQRG1Pa291?= =?utf-8?B?bVo5SlQwM0ZpTHM3b0sza080MHpsaUw0S3AvNkhNTWlDaFBTNmZ5SzFMd2U0?= =?utf-8?B?QWFQQnRzU3ZmSDltWGdoVTNGcTY3ZDd2dC92RHlpUXBweWo2NWJobk5ub0tq?= =?utf-8?B?UmZGaUZsY1EzT09PV0p1Q2RVSlY2NC9XU2Q0akVXMFJsUDBDeGJnd2d4cmZR?= =?utf-8?B?Q0RscHd0eXZuNm9rNjJIQ3FsRFVLeXp4M3J3WUZodHl3Q3lHVytwYmtud2Qz?= =?utf-8?B?NmREVFl4SkN1M1RCYWk3U3dsZStRMlRsdlZWUHpsUm9hN1EyUjNmYzJSZGVG?= =?utf-8?B?R3FwVm16UUNTZGZWSStGdXpXdjF6V0FHRFRFdGx0dHhJbGI3QytUWUwySDNm?= =?utf-8?B?Zm9aMW1qcnJyVEN3eXcxZHBybHVmSFNvMnFsVGVCWmVPVnB1ZEZJNzRrRHgr?= =?utf-8?B?WldER1UvbVRGbmpLTm41Q0x4S1V5ZnRUTFpzRWRldGlrR3dpWXRKak0vdmM0?= =?utf-8?B?SlQ1Y0lUNUpWeUE3bjVjM0ZrZEVuWjFZUUU1bGlXQ25rRXRnUHQxRjlzeVg2?= =?utf-8?B?MHc4aldyNnk5aDg3bWVVZWMxMGp2OWduMUJZMmZnOFFDMEM1bXhFS2F1ZTFF?= =?utf-8?Q?/n1FjUiF9uZmdUTEPMg=3D?= x-ms-traffictypediagnostic: BN3NAM04HT078: x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(444000031); SRVR:BN3NAM04HT078; BCL:0; PCL:0; RULEID:; SRVR:BN3NAM04HT078; x-forefront-prvs: 06860EDC7B x-forefront-antispam-report: SFV:NSPM; SFS:(7070007)(377424004)(189003)(199004)(966005)(81156014)(3660700001)(8936002)(45080400002)(83332001)(25786009)(20460500001)(16297215004)(4326008)(2501003)(74316002)(3280700002)(575784001)(86362001)(5660300001)(87572001)(5250100002)(6436002)(76176011)(82202002)(2900100001)(59450400001)(6346003)(26005)(54906003)(6506007)(7696005)(102836004)(110136005)(33656002)(6306002)(9686003)(97736004)(55016002)(54896002)(606006)(73972006)(236005)(99286004)(53546011)(68736007)(446003)(105586002)(224303003)(106356001)(14454004)(486006)(39060400002)(476003)(104016004)(4001150100001)(15852004)(213903007)(32563001)(19627235001); DIR:OUT; SFP:1901; SCL:1; SRVR:BN3NAM04HT078; H:SN6PR19MB2269.namprd19.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:; received-spf: None (protection.outlook.com: hotmail.com does not designate permitted sender hosts) authentication-results: spf=none (sender IP is ) smtp.mailfrom=vanjeff_919@hotmail.com; x-microsoft-antispam-message-info: e2/UAn1Cz7rb9UofhPlWa+xP80HJzNoCbjucW/AXVdfEGF/zZuPJW/XOOgaWNTE4PJDED0I1+ysCLWZaG1vHm2bH0aS547227gkY9IOJYWhloQcBTWyLAwc0sUY8jLq58puG9JO6qrncWQzYU7kDI8un6j0rFlG5Pbec322jZMKK39rUB9xEaYsr4agDxzt4 MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 9b6698b1-84e8-45d0-9b1a-08d5c49d17f1 X-OriginatorOrg: hotmail.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: d4d70346-2c10-4f39-8c00-e767963926d9 X-MS-Exchange-CrossTenant-Network-Message-Id: 9b6698b1-84e8-45d0-9b1a-08d5c49d17f1 X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: d4d70346-2c10-4f39-8c00-e767963926d9 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 May 2018 13:15:32.6381 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3NAM04HT078 X-Content-Filtered-By: Mailman/MimeDel 2.1.26 Subject: =?UTF-8?B?UmU6IOetlOWkjTogQ3B1UzNEYXRhRHhlIC8gRHhlUmVnaXN0ZXJDcHVGZWF0dXJlc0xpYiBkZXBlbmRlbmN5Lg==?= X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 May 2018 13:15:36 -0000 Content-Language: zh-CN Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksDQoNClRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIGFzc3VtZXMgQ3B1UzNEYXRhRHhlIHdh cyBkaXNwYXRjaGVkIGJlZm9yZSBDcHVGZWF0dXJlc0R4ZS4gSSBkbyBub3QgcmVtZW1iZXIgY2xl YXJseSB3aHkgSSBtYWRlIHRoaXMgYXNzdW1wdGlvbiBiZWZvcmUuIChJdCBtYXliZSBvbmx5IGR1 ZSB0byBDcHVTM0RhdGFEeGUgd2FzIGp1c3QgZGlzcGF0Y2hlZCBmaXJzdGx5IG9uIGFsbCBteSB2 YWxpZGF0aW9uIHBsYXRmb3Jtcy4pLA0KDQpJIGFncmVlIHRoaXMgaXMgb25lIGJ1Zy4gIFNpbXBs eSwgd2UgY291bGQgaW1wbGVtZW50IG9uZSBBbGxvY2F0ZUFjcGlDcHVEYXRhKCkgaW4gRFhFIGlu c3RhbmNlIGFzIFBFSSBpbnN0YW5jZS4NCg0KVGhhbmtzIQ0KDQpKZWZmDQoNCg0KDQoNCuWPkeiH quaIkeeahOWwj+exs+aJi+acug0K5ZyoIEZhbiBKZWZmIDx2YW5qZWZmXzkxOUBob3RtYWlsLmNv bT7vvIwyMDE45bm0NeaciDI45pelIOS4i+WNiDU6NTDlhpnpgZPvvJoNCg0KSGksDQoNCg0KDQpU aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBhc3N1bWVzIENwdVMzRGF0YUR4ZSB3YXMgZGlzcGF0 Y2hlZCBiZWZvcmUgQ3B1RmVhdHVyZXNEeGUuIEkgZG8gbm90IHJlbWVtYmVyIGNsZWFybHkgd2h5 IEkgbWFkZSB0aGlzIGFzc3VtcHRpb24gYmVmb3JlLiAoSXQgbWF5YmUgb25seSBkdWUgdG8gQ3B1 UzNEYXRhRHhlIHdhcyBqdXN0IGRpc3BhdGNoZWQgZmlyc3RseSBvbiBhbGwgbXkgdmFsaWRhdGlv biBwbGF0Zm9ybXMuKSwNCg0KSSBhZ3JlZSB0aGlzIGlzIG9uZSBidWcuICBTaW1wbHksIHdlIGNv dWxkIGltcGxlbWVudCBvbmUgQWxsb2NhdGVBY3BpQ3B1RGF0YSgpIGluIERYRSBpbnN0YW5jZSBh cyBQRUkgaW5zdGFuY2UuDQoNCg0KDQpUaGFua3MhDQoNCkplZmYNCg0KDQoNCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fDQpGcm9tOiBlZGsyLWRldmVsIDxlZGsyLWRldmVsLWJvdW5j ZXNAbGlzdHMuMDEub3JnPiBvbiBiZWhhbGYgb2YgTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0 LmNvbT4NClNlbnQ6IEZyaWRheSwgTWF5IDI1LCAyMDE4IDc6NDA6MzIgUE0NClRvOiBNYXJ2aW4g SMOkdXNlcg0KQ2M6IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnOyBlcmljLmRvbmdAaW50ZWwuY29t DQpTdWJqZWN0OiBSZTogW2VkazJdIENwdVMzRGF0YUR4ZSAvIER4ZVJlZ2lzdGVyQ3B1RmVhdHVy ZXNMaWIgZGVwZW5kZW5jeS4NCg0KT24gMDUvMjUvMTggMTI6NTQsIE1hcnZpbiBIP3VzZXIgd3Jv dGU6DQo+IEdvb2QgZGF5LA0KPg0KPiBXaGlsZSBJIHdhcyBpbnNwZWN0aW5nIENwdVMzRGF0YUR4 ZSBhbmQgdGhlIG1vZHVsZXMgZGVwZW5kaW5nIG9uIGl0cw0KPiBQQ0QgUGNkQ3B1UzNEYXRhQWRk cmVzcywNCg0KKFNpZGUgcmVtYXJrOiBzZWUgZS5nLiB0aGUgY29tbWl0IG1lc3NhZ2Ugb24gOTJi ODdmMWM4YzBiLCAiT3ZtZlBrZzoNCmJ1aWxkIENwdVMzRGF0YUR4ZSBmb3IgLUQgU01NX1JFUVVJ UkUiLCAyMDE1LTExLTMwLikNCg0KPiBJIG5vdGljZWQgdGhhdCBEeGVSZWdpc3RlckNwdUZlYXR1 cmVzTGliIHNlZW1pbmdseSBoYXMgYW4gYXNzZXJ0ZWQNCj4gZGVwZW5kZW5jeSBvbiB0aGUgUENE IGJlaW5nIHJlYWR5IHdoZW4gaXQgaXRzIGV4ZWN1dGVkLiBJIGRpZCBuZWl0aGVyDQo+IHNlZSBh IERlcGV4IGVudHJ5LCBub3IgYW4gZXZlbnQgY2FsbGJhY2sgZW5zdXJpbmcgQ3B1UzNEYXRhRHhl IGhhcw0KPiBiZWVuIGxvYWRlZCwgbmVpdGhlciBleHBvc2VkIGJ5IENwdVMzRGF0YUR4ZSwgbm9y IGNvbnN1bWVkIGJ5IHRoaXMNCj4gbGlicmFyeS4NCj4gaHR0cHM6Ly9naXRodWIuY29tL3RpYW5v Y29yZS9lZGsyL2Jsb2IvbWFzdGVyL1VlZmlDcHVQa2cvTGlicmFyeS9SZWdpc3RlckNwdUZlYXR1 cmVzTGliL0R4ZVJlZ2lzdGVyQ3B1RmVhdHVyZXNMaWIuYyNMMjExDQoNCiJEeGVSZWdpc3RlckNw dUZlYXR1cmVzTGliLmluZiIgaGFzIGEgZGVwZXggb24NCiJnRWRraWlDcHVGZWF0dXJlc1NldERv bmVHdWlkIi4NCg0KTm8gbW9kdWxlIGluIHRoZSBvcGVuIHNvdXJjZSBlZGsyIHRyZWUgcHJvZHVj ZXMgdGhpcyBwcm90b2NvbCBHVUlELCB0aHVzDQpJIHRoaW5rIHRoaXMgbGlicmFyeSBpbnN0YW5j ZSBpcyB1bnVzYWJsZSB3aXRob3V0IG90aGVyLCBvdXQtb2YtdHJlZSwNCm1vZHVsZXMuIEkgYXNz dW1lIHRoYXQgb25lIG9mIHRob3NlIG1vZHVsZXMgc2F0aXNmaWVzIHRoZSBkZXBlbmRlbmN5DQpz b21laG93Lg0KDQpOb3RlIHRoYXQgQ3B1UzNEYXRhRHhlIGlzIGEgcGxhdGZvcm0gZHJpdmVyIFsx XTsgaXQgaXMgcG9zc2libGUgdGhhdCB0aGUNCnBsYXRmb3JtIHRoYXQgaW5jbHVkZXMgRHhlUmVn aXN0ZXJDcHVGZWF0dXJlc0xpYiBpbiBhIGRyaXZlciAqYWxzbyoNCmluY2x1ZGVzIHN1Y2ggYSBD cHVTM0RhdGFEeGUgdmFyaWFudCB0aGF0IHBvcHVsYXRlcyB0aGUgUENEIGFuZCB0aGVuDQppbnN0 YWxscyBnRWRraWlDcHVGZWF0dXJlc1NldERvbmVHdWlkLg0KDQpbMV0gSSBzdWdnZXN0IHJldmll d2luZyB0aGUgbWVzc2FnZSBvZiBjb21taXQgYmZlYzVlZmE1NmNhDQooIlVlZmlDcHVQa2cvQ3B1 UzNEYXRhRHhlOiBBZGQgbW9kdWxlIHRvIGluaXRpYWxpemUgQUNQSV9DUFVfREFUQSBmb3INClMz IiwgMjAxNS0xMS0yNSkuDQoNCkluIGZhY3QsIHRoZSBzZXJpZXMgdGhhdCBhZGRlZCAiRHhlUmVn aXN0ZXJDcHVGZWF0dXJlc0xpYi5pbmYiICh3aXRoIHRoZQ0KZGVwZXggbWVudGlvbmVkIGFib3Zl KSAqYWxzbyogbW9kaWZpZWQgQ3B1UzNEYXRhRHhlOiBzZWUgWzJdIGFuZCBbM10uDQoNClsyXSA4 YjM3MWU5M2YyMDYgKCJVZWZpQ3B1UGtnL0NwdVMzRGF0YUR4ZTogQ29uc3VtZSB0aGUgZXhpc3Rp bmcNCiAgICBQY2RDcHVTM0RhdGFBZGRyZXNzIiwgMjAxNy0wMy0yMikNCg0KWzNdICJbZWRrMl0g W1BBVENIIDAwLzExXSBBZGQgQ1BVIGZlYXR1cmVzIGRyaXZlciINCiAgICBodHRwczovL2J1Z3pp bGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTQyMQ0KICAgIGh0dHA6Ly9taWQubWFp bC1hcmNoaXZlLmNvbS8yMDE3MDMwOTA4MzU1My42MDE2LTEtamVmZi5mYW5AaW50ZWwuY29tDQoN ClRoaXMgc3VnZ2VzdHMgdGhhdCB0aGVyZSBpcyBhbiBvdXQtb2YtdHJlZSBtb2R1bGUgdGhhdCBw b3B1bGF0ZXMNClBjZENwdVMzRGF0YUFkZHJlc3MgYmVmb3JlICpib3RoKiBDcHVTM0RhdGFEeGUg YW5kDQpEeGVSZWdpc3RlckNwdUZlYXR1cmVzTGliIGFjY2VzcyB0aGUgUENELiBGb3IgYWNoaWV2 aW5nIHRoaXMga2luZCBvZg0Kb3JkZXJpbmcsIGl0IHdvdWxkIGJlIGVub3VnaCBmb3IgYSBkcml2 ZXIgdG8gZmlyc3QgcG9wdWxhdGUgdGhlIFBDRCwgYW5kDQp0aGVuIGluc3RhbGwgImdFZmlNcFNl cnZpY2VQcm90b2NvbEd1aWQiLCBhcyBib3RoDQoiRHhlUmVnaXN0ZXJDcHVGZWF0dXJlc0xpYi5p bmYiIGFuZCAiQ3B1UzNEYXRhRHhlLmluZiIgZGVwZW5kIG9uIHRoYXQuDQoNCj4gSXMgdGhlcmUg YW55dGhpbmcgSSdtIG1pc3NpbmcgdGhhdCBlbnN1cmVzIHRoZSBleGVjdXRpb24gb2YNCj4gQ3B1 UzNEYXRhRHhlIHByaW9yIHRvIGV4ZWN1dGluZyB0aGUgZGVwZW5kZW50IGNvZGU/IElmIG5vdCwg c2hvdWxkDQo+IHRoZXJlIGJlIGEgZHVtbXkgcHJvdG9jb2wgZXhwb3NlZD8gUGlTbW1DcHVEeGVT bW0gYWxzbyByZXRyaWV2ZXMgdGhpcw0KPiBQQ0QsIGhvd2V2ZXIgc2FmZWx5IHF1aXRzIHdoZW4g aXQgaGFzIG5vdCBiZWVuIHNldC4gSG93ZXZlciwgdGhpcw0KPiBjb3VsZCBjYXVzZSB1bmV4cGVj dGVkIGJlaGF2aW9yIHdoZW4gdGhlIFBDRCBpcyBzZXQgYWZ0ZXIgdGhpcyBjb2RlDQo+IGhhcyBi ZWVuIGV4ZWN1dGVkLiBJIGRpZCBub3Qgbm90aWNlIGFueSBkZXBlbmRlbmN5IHNhdGlzZmFjdGlv bg0KPiBhY3Rpb25zIGhlcmUgZWl0aGVyLg0KDQpUaGUgb3JkZXJpbmcgYmV0d2VlbiBDcHVTM0Rh dGFEeGUgYW5kIFBpU21tQ3B1RHhlU21tIGlzIHNhZmU7IGl0J3MNCm9yY2hlc3RyYXRlZCBieSBQ bGF0Zm9ybSBCRFMuIFNlZSBjb21taXQgOTJiODdmMWM4YzBiIGFib3ZlLg0KDQo+IEZ1cnRoZXJt b3JlLCBub3QgZGlyZWN0bHkgcmVsYXRlZCB0byB0aGlzIGRlcGVuZGVuY3kgaXNzdWUsIHRoZSBE WEUNCj4gY29kZSBvYnZpb3VzbHkgZG9lcyBub3QgaW1wbGVtZW50IEFsbG9jYXRlQWNwaUNwdURh dGEoKSBlbnRpcmVseS4NCg0KTW9yZSBwcmVjaXNlbHksIHRoZSBEWEUgY29kZSBleHBlY3RzIEFs bG9jYXRlQWNwaUNwdURhdGEoKSBuZXZlciB0byBiZQ0KY2FsbGVkOyBpLmUuLCB3aGVuIHRoZSBj b21tb24gIlJlZ2lzdGVyQ3B1RmVhdHVyZXNMaWIuYyIgc291cmNlIGZpbGUgaXMNCmV4ZWN1dGVk IGluIERYRSwgdGhlIGV4cGVjdGF0aW9uIGlzIHRoYXQgaXQgbmV2ZXIgcmVhY2hlcyB0aGUgY2Fs bCB0bw0KQWxsb2NhdGVBY3BpQ3B1RGF0YSgpLg0KDQo+IEhlbmNlLCB0aGUgaWYtYnJhbmNoIGZv bGxvd2luZyBpdHMgY2FsbCwgd2lsbCBlaXRoZXIgYWRkIGFub3RoZXIgbGF5ZXINCj4gb2YgZmly aW5nIEFTU0VSVHMsIG9yIGl0IHdpbGwgcGxhaW5seSBkbyBub3RoaW5nLiBNYXliZSBpdCBjb3Vs ZCBiZQ0KPiBtb3ZlZCBpbnRvIHRoZSBjdXJyZW50IEFsbG9jYXRlQWNwaUNwdURhdGEoKSBmdW5j dGlvbiBhbmQgaXQgYmUNCj4gcmVuYW1lZCBhY2NvcmRpbmdseT8NCj4gaHR0cHM6Ly9naXRodWIu Y29tL3RpYW5vY29yZS9lZGsyL2Jsb2IvbWFzdGVyL1VlZmlDcHVQa2cvTGlicmFyeS9SZWdpc3Rl ckNwdUZlYXR1cmVzTGliL1JlZ2lzdGVyQ3B1RmVhdHVyZXNMaWIuYyNMNTI2DQoNClNvcnJ5LCBJ IGRvbid0IHVuZGVyc3RhbmQgeW91ciBwb2ludCAtLSBDcHVSZWdpc3RlclRhYmxlV3JpdGVXb3Jr ZXIoKSBpcw0KdXNlZCBpbiBib3RoIFBFSSBhbmQgRFhFLCBhbmQgaXQncyBpbXBsZW1lbnRlZCBm b3IgdGhlIGdlbmVyYWwgY2FzZS4NCldoZW4gaXQgcnVucyBpbiBEWEUsIHRoZSBleHBlY3RhdGlv biBpcyBhcHBhcmVudGx5IHRoYXQNCkFsbG9jYXRlQWNwaUNwdURhdGEoKSB3aWxsIG5ldmVyIGJl IG5lZWRlZCAvIHJlYWNoZWQsIGhlbmNlIHRoZQ0KQVNTRVJUKEZBTFNFKSBzdHViIGltcGxlbWVu dGF0aW9uIGZvciB0aGUgbGF0dGVyLCBpbg0KIkR4ZVJlZ2lzdGVyQ3B1RmVhdHVyZXNMaWIuYyIu DQoNCk9oIHdhaXQsIEkgdGhpbmsgeW91IG1pc3R5cGVkIHlvdXIgcG9pbnQuIFRoZSAiaWYiIHRo YXQgeW91IHJlZmVyIHRvDQpkb2VzIG5vdCAqZm9sbG93KiB0aGUgY2FsbCB0byBBbGxvY2F0ZUFj cGlDcHVEYXRhKCkuIEl0ICpwcmVjZWRlcyoNCihndWFyZHMpIGl0LiBXaGF0IHRoZSAiaWYiIGZv bGxvd3MgaXMgdGhlIFBjZEdldDY0KCkgY2FsbCwgZm9yDQpQY2RDcHVTM0RhdGFBZGRyZXNzLiBJ biBEWEUsIHRoYXQgUGNkR2V0NjQoKSBpcyBleHBlY3RlZCB0byByZXR1cm4gYQ0Kbm9uemVybyB2 YWx1ZSwgaGVuY2UgQWxsb2NhdGVBY3BpQ3B1RGF0YSgpIGlzIG5ldmVyIGNhbGxlZCwgYW5kIHRo ZQ0KYXNzZXJ0aW9ucyBhYm91dCB0aGUgcmV0dXJuIHZhbHVlIG9mIEFsbG9jYXRlQWNwaUNwdURh dGEoKSBhcmUNCmlycmVsZXZhbnQgKHVucmVhY2hlZCkuDQoNClRoYW5rcw0KTGFzemxvDQpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KZWRrMi1kZXZlbCBt YWlsaW5nIGxpc3QNCmVkazItZGV2ZWxAbGlzdHMuMDEub3JnDQpodHRwczovL2xpc3RzLjAxLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2VkazItZGV2ZWwNCg==