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.web10.2548.1588035856393847164 for ; Mon, 27 Apr 2020 18:04:16 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=xrbuhhV8; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: guomin.jiang@intel.com) IronPort-SDR: fSSuOHwSAIc71CYOtcOn25ScJAYE4VXo38NPnk209I6A/afIUVH48PrTc74VIysszMkxlHgmjd ftGcc8W6Wrzw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Apr 2020 18:04:15 -0700 IronPort-SDR: Nyvw85/QR9WkV4spQTQVBXyjtGUuS4ABayHPO1ISuIvXOYviAzCah5pnJMXjOl7AQArwlBQ9Oo jkLtcRZmKxdw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,325,1583222400"; d="scan'208";a="260923464" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga006.jf.intel.com with ESMTP; 27 Apr 2020 18:04:12 -0700 Received: from FMSEDG001.ED.cps.intel.com (10.1.192.133) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 27 Apr 2020 18:04:11 -0700 Received: from NAM02-CY1-obe.outbound.protection.outlook.com (104.47.37.54) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 27 Apr 2020 18:03:48 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MlTSbFK28sQ1BIQPWIAN7YCNo+IkE3tm6tFadSpqEjTtMVdyecAXEKCaQM1I+hAaTZEokQLIoDEpf2sgL2Fld9imfW0XYlVOEBsERZPc9v27ObNUCH2/os1YhcfA/6kk12ifpE3kOFLgjbvhPOpm5Cgg9lX1pG67YU/jGLGT8q+KujW/RMUicI8lOIKCLFKTXcKrvxYOB9HZkDvw1Htf5Qntb9RHpKh4JygOI81L6MwNo6B7Spdhxowqy8BcRvlP79+d9Fz02A6FEZsmxHTkvuH/5N3nl97mejmhpHT0nSu8Wqnq/Elc/92SOC1kdTvAK3Ewm+VgW9hmbT7ytJPB7w== 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=EBELK0rpZYlDHbc1Q//TJTm2gOcGIRQSzK3ESMpcfxk=; b=SMFPgQ5VUS+/FZhrFCyCc04vwoo+chK7bPvwrUyKGs478p9WsgR12IinDdoY2fhspTZ7WVfXvVYpX065SdT2Wh5yJSG/u5EvJ3z1PZzS8WKjR1leMfKf61Au+ZREQgD3zkgYaH1MH9nssz1Ro+hdhsgsm9VdnotgIZZlNGyB1eQC3TeuD1pmozacgPDsu1SmMQmAU6j723XjTIKs0fyTo+yY8uD8DaBkSm49/CdptZ+l62Zk+wcePXLITQhDUvEgjKaojmhA0LYMo+2/FmlndrNyRl7rM29Kx72NeSlrjMx2eXE1B2lX9W8/NwajLo4jlLr0fSk29Qqj1aY5f4I6pA== 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=EBELK0rpZYlDHbc1Q//TJTm2gOcGIRQSzK3ESMpcfxk=; b=xrbuhhV8OyocisIU/XrX2zUTh1iIgnGKwg0bO2fXKI9ULKzGYu69QbuKSWh8lVyqusOpD9nTmPTR5iEnJOo5cgYxQVCa84seeXCsQj8ULJzv70MJJN+kXgniSelHqsKgj5PWblfp9EVBMwKlJkPgFiMZoTIdZutOuQe1i1iI2e0= Received: from DM6PR11MB2955.namprd11.prod.outlook.com (2603:10b6:5:65::31) by DM6PR11MB4579.namprd11.prod.outlook.com (2603:10b6:5:2ab::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.22; Tue, 28 Apr 2020 01:03:31 +0000 Received: from DM6PR11MB2955.namprd11.prod.outlook.com ([fe80::ccd4:4b0d:535a:58be]) by DM6PR11MB2955.namprd11.prod.outlook.com ([fe80::ccd4:4b0d:535a:58be%7]) with mapi id 15.20.2937.023; Tue, 28 Apr 2020 01:03:30 +0000 From: "Guomin Jiang" To: "devel@edk2.groups.io" , "jeremy.linton@arm.com" CC: "Wu, Hao A" , "Ni, Ray" , "Kinney, Michael D" , "Tian, Feng" , "Wang, Jian J" , "ard.biesheuvel@arm.com" Subject: Re: [edk2-devel] [PATCH] MdeModulePkg/UsbBusDxe: On reset rebuild descriptor table Thread-Topic: [edk2-devel] [PATCH] MdeModulePkg/UsbBusDxe: On reset rebuild descriptor table Thread-Index: AQHWHOGb4AckBcN8X02LfCwtfbQxwKiNqRYAgAAJZYCAAAO10A== Date: Tue, 28 Apr 2020 01:03:30 +0000 Message-ID: References: <20200427221625.599302-1-jeremy.linton@arm.com> <2153b0dc-e6d8-4483-7f11-48c24ee24ed3@arm.com> In-Reply-To: <2153b0dc-e6d8-4483-7f11-48c24ee24ed3@arm.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.2.0.6 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: spf=none (sender IP is ) smtp.mailfrom=guomin.jiang@intel.com; x-originating-ip: [134.191.221.109] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 62607dc3-62ef-4094-3b5e-08d7eb0ff795 x-ms-traffictypediagnostic: DM6PR11MB4579: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0387D64A71 x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB2955.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(366004)(346002)(39860400002)(396003)(376002)(136003)(6506007)(478600001)(7696005)(53546011)(66946007)(4326008)(54906003)(186003)(316002)(966005)(26005)(5660300002)(110136005)(86362001)(76116006)(66476007)(66556008)(64756008)(66446008)(8676002)(33656002)(9686003)(2906002)(55016002)(81156014)(71200400001)(52536014)(8936002);DIR:OUT;SFP:1102; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Rt1B0ydKp/T0hJUTx5K/iW6WWmx2AbTm04zQtkJHCbZEOVgsvspycOXChSKMvzf3tK9QHSbnnPdvvA3bX4LhKjbmNlZhbJhCSsRTFnLMS8KQ849pTz9+Af2IdUTmFjVQB+MWtY9EsZIBR892u0ajJLX4lG3yooYSgxttVICT8SPdDBdz1wNxSShuDJd9+aJTQBo/Xsv8fjAUKfLoNxzOfxG59JzzNu4J5HFarl9mA6rMDwZJjpnlp1wR+cU7qUhv+O/D+6b29KLQGG/EFLKjr1yndEiqhDrNc2DUcyVyqxV5nF5S3nOg16VVXMTA+o3CwG8lEj6G/camuwe01xehkjpofcX5qMJnI3qWHG0I2C6Ay9wdxLHl+lBEYInQJ4JnbZuZGoXs8VM6ll5/DlsLfuHWdJaIqb+Eoq+AKK6DGenuvZkfLzhg6BFH+SpK6jliI7yNMr7+J3Hf7CTgiht6gPuSyQQ8N1G+8tBNg8RD8Y96mY7JOcSIvqDW0melsIcLBaly/DjMFA9+lzxEoa2zEQ== x-ms-exchange-antispam-messagedata: f/vEMnv+ZTxFJlmbDQvfSh1LDuh5P6e6kmbidyeb66lVMWWipiusQfXCMJsUMOoy0EKrYRTNnUlJ3BWCFRFUXxbgcfwjIo5XPJDmhPO8sqHodHcqkQB1ljE+5xlr4CnHwCY6TkyPKKbuvuww9ntfUvbWc/IYAykgEUkhXXZphEIzXBRJhCXco2tJTykgACIGjmYARfZINqku2x+aUHD6WV07fLpww+zETsh1asDBtBO5beaX6779iFy2CKK1ItpdayEBgSz78hz7XsQVeBthNGvzLTv+glquB35iBgSIxFaoLUdjzuB6hytHfg+eqtfWo0JppKALhYWDcrk5gB58xNB6Q248W50NEMNeK3HGn0a53b/DZVZXGI2j1V8e2ujk/teZGPWzLfGvxYHuSzZ9onyH6MawvGhe0SCZE0Wkv5yQ/e7FzwDoxp1RkgukoubCRdgX5nYuYeVk1c1xpkjG6vRy0qSAeSt8HneZmi3WXXCVaWT11kjeRjM8UjC1g/q91YeauPyUVvPnGkr6QervsMJ580HYq2vN3N44DoaIuG25GR6/uYeNyhl6I5Sy6wkVXzY0cU9+4Rf2QT7tQV6SfaBW1hoO61pjqdCitfF7t7K5xXslLc51M8WNkRw9ZgVmkD8fs89yKEI086F+OBtv0pyV0zSeVKzB6+2HOywOcVEmC3EtnZkqygFyo6x23ANEzoT6V0jW88F9cwHR3dXra9Qpay5JF6/f1EJ8RYtS3ERYQWWpee5DwmY3Fcgm3tEf+ZAz2gs//O2BTr6JfymYs3dFHAKAbCi43UOPvWucezXiZGBlHi0B4P0+LWntBAFx MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 62607dc3-62ef-4094-3b5e-08d7eb0ff795 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Apr 2020 01:03:30.6014 (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: Vh4vqwBm7LUUoyxnrSQktqDwPAGvg0agZRUQwdAc+/hTyjvKWkBT05bE0cK9CDXpFr5jRX3c5myn4zlQ1HvQjQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4579 Return-Path: guomin.jiang@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgSmVyZW15LA0KDQpMZXQgbW92ZSB0aGUgZGlzY3Vzc2lvbiBpbnRvIGh0dHBzOi8vZWRrMi5n cm91cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzU4MTI1LCBhbmQgSSB3aWxsIGFkZCBoaXN0b3J5IGlu IHRoYXQgbWVzc2FnZS4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBk ZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBK ZXJlbXkNCj4gTGludG9uDQo+IFNlbnQ6IFR1ZXNkYXksIEFwcmlsIDI4LCAyMDIwIDg6NDQgQU0N Cj4gVG86IEppYW5nLCBHdW9taW4gPGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+OyBkZXZlbEBlZGsy Lmdyb3Vwcy5pbw0KPiBDYzogV3UsIEhhbyBBIDxoYW8uYS53dUBpbnRlbC5jb20+OyBOaSwgUmF5 IDxyYXkubmlAaW50ZWwuY29tPjsgS2lubmV5LA0KPiBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5u ZXlAaW50ZWwuY29tPjsgVGlhbiwgRmVuZyA8ZmVuZy50aWFuQGludGVsLmNvbT47DQo+IFdhbmcs IEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgYXJkLmJpZXNoZXV2ZWxAYXJtLmNvbQ0K PiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSF0gTWRlTW9kdWxlUGtnL1VzYkJ1c0R4 ZTogT24gcmVzZXQNCj4gcmVidWlsZCBkZXNjcmlwdG9yIHRhYmxlDQo+IA0KPiBIaSENCj4gDQo+ IE9uIDQvMjcvMjAgNzoxNSBQTSwgSmlhbmcsIEd1b21pbiB3cm90ZToNCj4gPiBIaSBKZXJlbXks DQo+ID4NCj4gPiBZb3UgY2FuIHJlZmVyIGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9t ZXNzYWdlLzU4MTI1IGZvciBkaXNjdXNzaW9uDQo+IGFib3V0IHRoaXMgc29sdXRpb24uDQo+IA0K PiBPaCBmdW4sIG9kZCBob3cgYSBidWcgY2FuIGV4aXN0IGluIGEgY29kZSBiYXNlIGZvciB5ZWFy cyBhbmQgdGhlbiB0aGlzDQo+IGhhcHBlbnMuLiBJIHdpbGwgbW92ZSB0aGUgZGlzY3Vzc2lvbiB0 aGVyZS4NCj4gDQo+IFRoYW5rcywNCj4gDQo+ID4NCj4gPiBUd28gaXNzdWUgSSBmb3VuZDoNCj4g PiAxLiBNZW1vcnkgbGVha2FnZSBtYXkgb2NjdXIgaWYgZG9pbmcgc28gYW5kIEkgYW0gaW52ZXN0 aWdhdGluZyBpdC4NCj4gDQo+IEl0IHNlZW1zIG91ciBzb2x1dGlvbnMgZGlmZmVyIGEgYml0Pw0K DQpNZW1vcnkgbGVha2FnZSB3aWxsIGhhcHBlbmVkIHdoZW4gaW52b2tlIFVzYkJ1aWxkRGVzY1Rh YmxlKCksIGJlY2F1c2UgdGhlIG9sZCBhbGxvY2F0ZWQgYnVmZmVyIGhhdmVuJ3QgYmVlbiBmcmVl ZCBidXQgYWxsb2NhdGVkIG5ldw0KPiANCj4gPiAyLiBJdCB0ZXN0IHBhc3Mgd2l0aCBPVk1GIGJ1 dCBmYWlsIGluIHJlYWwgcGxhdGZvcm0sIGFuZCBJIGFtIGZpZ3VyaW5nIG91dCB0aGUNCj4gZmxv dy4NCj4gDQo+IEhtbSwgSSd2ZSBiZWVuIHNlZWluZyB0aGlzIG9uIGEgUlBJIHdpdGggYW4gYXR0 YWNoZWQgVVNCMyBodWIgYW5kIDUgYmF5IFVTQg0KPiBKQk9ELiAodGhlcmUgaXMgYW5vdGhlciBw cm9ibGVtIGJ1dCB0aGUgcmVzZXQgY3Jhc2ggaXMga2VlcHMgdGhlIG1hY2hpbmUNCj4gZnJvbSBi b290aW5nKS4NCj4gDQo+IA0KPiANCj4gDQo+ID4NCj4gPiBCZXN0IFJlZ2FyZHMNCj4gPiBHdW9t aW4NCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBkZXZl bEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZg0KPiBK ZXJlbXkNCj4gPj4gTGludG9uDQo+ID4+IFNlbnQ6IFR1ZXNkYXksIEFwcmlsIDI4LCAyMDIwIDY6 MTYgQU0NCj4gPj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4+IENjOiBXdSwgSGFvIEEg PGhhby5hLnd1QGludGVsLmNvbT47IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+Ow0KPiA+PiBL aW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBUaWFuLCBGZW5n DQo+ID4+IDxmZW5nLnRpYW5AaW50ZWwuY29tPjsgV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0Bp bnRlbC5jb20+Ow0KPiA+PiBhcmQuYmllc2hldXZlbEBhcm0uY29tOyBKZXJlbXkgTGludG9uIDxq ZXJlbXkubGludG9uQGFybS5jb20+DQo+ID4+IFN1YmplY3Q6IFtlZGsyLWRldmVsXSBbUEFUQ0hd IE1kZU1vZHVsZVBrZy9Vc2JCdXNEeGU6IE9uIHJlc2V0DQo+ID4+IHJlYnVpbGQgZGVzY3JpcHRv ciB0YWJsZQ0KPiA+Pg0KPiA+PiBEdXJpbmcgcG9ydCByZXNldCwgdGhlIGRldmljZSBkZXNjcmlw dG9ycyBzaG91bGQgYmUgY2hlY2tlZCBiZWZvcmUNCj4gPj4gYXR0ZW1wdGluZyB0byBzZXQgYW4g ZW5kcG9pbnQgY29uZmlndXJhdGlvbi4NCj4gPj4NCj4gPj4gSW4gcGFydGljdWxhciB0aGlzIGZp eGVzIGEgY3Jhc2ggZHVlIHRvIEFTU0VSVChUcnNSaW5nICE9IE5VTEwpIGluDQo+ID4+IFhoY1N5 bmNUcnNSaW5nKCkuIFRoYXQgY3Jhc2ggaGFwcGVucyBkdXJpbmcgZXJyb3IgcmVjb3Zlcnkgb24g ZGV2aWNlcw0KPiA+PiBhdHRhY2hlZCB0byBYSENJIGhvc3RzLiBUaGlzIGlzIGJlY2F1c2UgdGhl IHBvcnQgZGlzYWJsZSBjbGVhcnMgYW5kDQo+ID4+IGRlYWxsb2NhdHMgYWxsIHRoZSBFUCBkYXRh IHN0cnVjdHVyZXMuIFdoZW4gdGhlIHBvcnQgaXMgcmVjb25maWd1cmVkDQo+ID4+IHdpdGhvdXQg Zmlyc3QgcmVxdWVzdGluZyB0aGUgRVAgZGVzY3JpcHRvcnMsDQo+ID4+IFhoY1NldENvbmZpZ0Nt ZFs2NF0oKSBpcyBub3QgYmVpbmcgY2FsbGVkIGJlY2F1c2UgdGhlDQo+ID4+IE51bUNvbmZpZ3Vy YXRpb25zIHJlbWFpbnMgMC4NCj4gPj4NCj4gPj4gV2UgY291bGQgYXR0ZW1wdCB0byByZWJ1aWxk IHRoZSBFUCBkZXNjcmlwdGlvbnMgZGlyZWN0bHkgZnJvbSB0aGUNCj4gPj4gWEhDSSBkcml2ZXIu IE9UT0gsIGl0cyBwcm9iYWJseSBnb29kIHByYWN0aWNlIHRvIGFzc3VyZSB0aGUgZGV2aWNlDQo+ ID4+IGRlc2NyaXB0aW9uIGlzIHdoYXQgd2UgZXhwZWN0IGZyb20gd2l0aGluIHRoZSBjb3JlIFVT QiBzdWJzeXN0ZW0NCj4gPj4gZHVyaW5nIHJlc2V0Lg0KPiA+Pg0KPiA+PiBTaWduZWQtb2ZmLWJ5 OiBKZXJlbXkgTGludG9uIDxqZXJlbXkubGludG9uQGFybS5jb20+DQo+ID4+IC0tLQ0KPiA+PiAg IE1kZU1vZHVsZVBrZy9CdXMvVXNiL1VzYkJ1c0R4ZS9Vc2JCdXMuYyB8IDggKysrKysrKysNCj4g Pj4gICAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspDQo+ID4+DQo+ID4+IGRpZmYgLS1n aXQgYS9NZGVNb2R1bGVQa2cvQnVzL1VzYi9Vc2JCdXNEeGUvVXNiQnVzLmMNCj4gPj4gYi9NZGVN b2R1bGVQa2cvQnVzL1VzYi9Vc2JCdXNEeGUvVXNiQnVzLmMNCj4gPj4gaW5kZXggNGI0OTE1YzAx OS4uMTdiYjY5MWJmOCAxMDA2NDQNCj4gPj4gLS0tIGEvTWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNi QnVzRHhlL1VzYkJ1cy5jDQo+ID4+ICsrKyBiL01kZU1vZHVsZVBrZy9CdXMvVXNiL1VzYkJ1c0R4 ZS9Vc2JCdXMuYw0KPiA+PiBAQCAtODc0LDYgKzg3NCwxNCBAQCBVc2JJb1BvcnRSZXNldCAoDQo+ ID4+ICAgICAvLyBpcyBpbiBDT05GSUdVUkVEIHN0YXRlLg0KPiA+Pg0KPiA+PiAgICAgLy8NCj4g Pj4NCj4gPj4gICAgIGlmIChEZXYtPkFjdGl2ZUNvbmZpZyAhPSBOVUxMKSB7DQo+ID4+DQo+ID4+ ICsgICAgU3RhdHVzID0gVXNiQnVpbGREZXNjVGFibGUgKERldik7DQo+ID4+DQo+ID4+ICsNCj4g Pj4NCj4gPj4gKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ID4+DQo+ID4+ICsgICAg ICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiVXNiSW9Qb3J0UmVzZXQ6IGZhaWxlZCB0byBidWlsZA0K PiA+PiArIGRlc2NyaXB0b3IgdGFibGUNCj4gPj4gZm9yICVkIC0gJXJcbiIsDQo+ID4+DQo+ID4+ ICsgICAgICAgICAgICAgICAgIERldi0+QWRkcmVzcywgU3RhdHVzKSk7DQo+ID4+DQo+ID4+ICsg ICAgICBnb3RvIE9OX0VYSVQ7DQo+ID4+DQo+ID4+ICsgICAgfQ0KPiA+Pg0KPiA+PiArDQo+ID4+ DQo+ID4+ICAgICAgIFN0YXR1cyA9IFVzYlNldENvbmZpZyAoRGV2LA0KPiA+PiBEZXYtPkFjdGl2 ZUNvbmZpZy0+RGVzYy5Db25maWd1cmF0aW9uVmFsdWUpOw0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+ PiAgICAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ID4+DQo+ID4+IC0tDQo+ID4+IDIu MjQuMQ0KPiA+Pg0KPiA+Pg0KPiA+PiAtPS09LT0tPS09LT0NCj4gPj4gR3JvdXBzLmlvIExpbmtz OiBZb3UgcmVjZWl2ZSBhbGwgbWVzc2FnZXMgc2VudCB0byB0aGlzIGdyb3VwLg0KPiA+Pg0KPiA+ PiBWaWV3L1JlcGx5IE9ubGluZSAoIzU4MTkzKToNCj4gPj4gaHR0cHM6Ly9lZGsyLmdyb3Vwcy5p by9nL2RldmVsL21lc3NhZ2UvNTgxOTMNCj4gPj4gTXV0ZSBUaGlzIFRvcGljOiBodHRwczovL2dy b3Vwcy5pby9tdC83MzMxNTY5MC80Mzk5MjIyDQo+ID4+IEdyb3VwIE93bmVyOiBkZXZlbCtvd25l ckBlZGsyLmdyb3Vwcy5pbw0KPiA+PiBVbnN1YnNjcmliZTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5p by9nL2RldmVsL3Vuc3ViDQo+ID4+IFtndW9taW4uamlhbmdAaW50ZWwuY29tXSAtPS09LT0tPS09 LT0NCj4gPg0KPiANCj4gDQo+IA0KDQo=