From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-002e3701.pphosted.com (mx0b-002e3701.pphosted.com [148.163.143.35]) by mx.groups.io with SMTP id smtpd.web11.3238.1571218987123996346 for ; Wed, 16 Oct 2019 02:43:07 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: hpe.com, ip: 148.163.143.35, mailfrom: prvs=0192f9752e=sunnywang@hpe.com) Received: from pps.filterd (m0150244.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id x9G9fZPS020262; Wed, 16 Oct 2019 09:43:06 GMT Received: from g2t2354.austin.hpe.com (g2t2354.austin.hpe.com [15.233.44.27]) by mx0b-002e3701.pphosted.com with ESMTP id 2vnytsh3wt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 16 Oct 2019 09:43:06 +0000 Received: from G2W6311.americas.hpqcorp.net (g2w6311.austin.hp.com [16.197.64.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by g2t2354.austin.hpe.com (Postfix) with ESMTPS id 3EC43AC; Wed, 16 Oct 2019 09:43:05 +0000 (UTC) Received: from G4W9326.americas.hpqcorp.net (16.208.32.96) by G2W6311.americas.hpqcorp.net (16.197.64.53) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Wed, 16 Oct 2019 09:43:05 +0000 Received: from G4W10205.americas.hpqcorp.net (2002:10cf:520f::10cf:520f) by G4W9326.americas.hpqcorp.net (2002:10d0:2060::10d0:2060) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Wed, 16 Oct 2019 09:43:04 +0000 Received: from NAM04-BN3-obe.outbound.protection.outlook.com (15.241.52.11) by G4W10205.americas.hpqcorp.net (16.207.82.15) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Wed, 16 Oct 2019 09:43:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dQfAt3mwsxm7qVNmaY+iZd+nIfzao/P0JWTnH6ojpdYG3vmwsKHIBxCAfuy6ymwNn1CfXKr8F3dvJIzD0SwGU1ASjw9NzctL+sC3y7ZWaSd0iQNdcNonLJO3/jF6D5HiJbWxFHkmNir0sO9iecuQdcK8nnD5tMfoisNjg4ksIHdgnXPKQKvnoaU3DdjjUQNk15PDlxBWQfnpRwfcNalTJGxIb6YAV9TUrZmS8lO2xBV5xuOdEbC17QAngXi8qRgVktkro5dCa41zoVsuxQFUbgP+fPs6lMl8FiA/2eDEUyvvUemvmwTAlfDl2OWqZ5pRCt6B4ZGIsBAivX5VMJrCHQ== 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=PoilvrIPoFR5w/4XjobGJK/7UhrFYBdes6QzLoClcx8=; b=DHHnZOVajSAG0SXeIEHw1VLYMOtSj5tNtwnfY2YYaI6Rr9hbEWvHnsAoxAkyWWbJRq021L3y7ZL9GIGWFHR6tTIuSY/jhO3vRGpWvbZkdZK+bVg3oUSpTwU18Ot6tySI8ITLNsLmw0eqE7MfXKowpO1jgfike1a5uGhtBZkP/q9+mj3SpobKljF6gLsAHcObyGiPqzrseg4Jgi/wRWVvmuMVoU7f/jri45wbiC3/DnVmD9ZpuskRpHnHZlKRit4YfmAPDr6UWuZXefilJMiZbMn5oSYlQu19rLwel3Ih7G76vNLqE0BBHDmzjKuPd+zv2nCPh3FHDRNh1Q5doskFrA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hpe.com; dmarc=pass action=none header.from=hpe.com; dkim=pass header.d=hpe.com; arc=none Received: from DF4PR8401MB0969.NAMPRD84.PROD.OUTLOOK.COM (10.169.87.143) by DF4PR8401MB0972.NAMPRD84.PROD.OUTLOOK.COM (10.169.86.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2347.16; Wed, 16 Oct 2019 09:43:02 +0000 Received: from DF4PR8401MB0969.NAMPRD84.PROD.OUTLOOK.COM ([fe80::d1ca:f8fb:45e:4c30]) by DF4PR8401MB0969.NAMPRD84.PROD.OUTLOOK.COM ([fe80::d1ca:f8fb:45e:4c30%12]) with mapi id 15.20.2347.023; Wed, 16 Oct 2019 09:43:02 +0000 From: "Wang, Sunny (HPS SW)" To: "Gao, Zhichao" , "devel@edk2.groups.io" , "lersek@redhat.com" , Jian J Wang , Hao A Wu CC: "Ni, Ray" , "Li, Walon" , "Wang, Sunny (HPS SW)" Subject: Re: [edk2-devel] [PATCH] MdeModulePkg/BdsDxe: Make PlatformRecovery work regardless of OsIndications Thread-Topic: [edk2-devel] [PATCH] MdeModulePkg/BdsDxe: Make PlatformRecovery work regardless of OsIndications Thread-Index: AQHVg/UPrZq7RfSAWkOeMmSivq+kkqdc6BCAgAAJagCAAAYx4A== Date: Wed, 16 Oct 2019 09:43:02 +0000 Message-ID: References: <20191016074007.17572-1-sunnywang@hpe.com> <573f0624-50c5-1f12-ed4a-a4747339c839@redhat.com> <3CE959C139B4C44DBEA1810E3AA6F9000B857321@SHSMSX101.ccr.corp.intel.com> In-Reply-To: <3CE959C139B4C44DBEA1810E3AA6F9000B857321@SHSMSX101.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [16.242.247.139] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b3478e8f-0ed2-48f4-5704-08d7521d3d1b x-ms-office365-filtering-ht: Tenant x-ms-traffictypediagnostic: DF4PR8401MB0972: x-ms-exchange-purlcount: 3 x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1751; x-forefront-prvs: 0192E812EC x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6029001)(136003)(366004)(376002)(346002)(39860400002)(396003)(189003)(13464003)(199004)(43544003)(51914003)(33656002)(305945005)(11346002)(478600001)(486006)(66066001)(14454004)(81166006)(81156014)(8936002)(2906002)(446003)(74316002)(476003)(4326008)(966005)(229853002)(5660300002)(52536014)(6436002)(7736002)(256004)(14444005)(3846002)(6116002)(316002)(7696005)(54906003)(9686003)(99286004)(6306002)(55016002)(110136005)(102836004)(86362001)(53546011)(6506007)(2201001)(71190400001)(71200400001)(26005)(8676002)(25786009)(6246003)(76116006)(66476007)(66946007)(66446008)(186003)(66556008)(64756008)(2501003)(19627235002)(76176011)(26953001);DIR:OUT;SFP:1102;SCL:1;SRVR:DF4PR8401MB0972;H:DF4PR8401MB0969.NAMPRD84.PROD.OUTLOOK.COM;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: hpe.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 3Kp5JirWMo2R9zxoqfITewaM4WjQEBsZCkt2GGvA47IP1yBnIF4CXeVtWyWj58/TJZY7j+C7ssKZoRbaT2akfvW565prkXIY2T5J9gj3YnmeF+jKyjCOiXTChWHxIQp3LRSgn6xF1d9aNd1Iuioe+ST/gDyyYL1sOHNUrzZGeug0UziGxh/9rcokHq5OAVpRay7cRetf1pkxrbn08/YJn/c/wIpuxIgYOFePtJpiUZiIJ6PdoeKK/IlGYbSb4iOvWXP5hxe2JXNJSTZTpijlNnJ3vXNVuOM4LykUzYYxcNCTZSsN/gNpl0dAdtVhrDVSMggEseHzbfWmQEmgWx8ssX7YxnfdP4z3zy/t18HKoWesRzdAZb9+l+Yl0RLVOFoOM6YZi1glzu7HrSbV6EMuFhqpUi0Ybx+TYj2gwALPXDu6M6bd5+hUcptY850p88Z/l2Pq2MCwJHP9MyaG6Jdgyw== X-MS-Exchange-CrossTenant-Network-Message-Id: b3478e8f-0ed2-48f4-5704-08d7521d3d1b X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Oct 2019 09:43:02.7866 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 105b2061-b669-4b31-92ac-24d304d195dc X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: XXBmvaH3g92yfJtLvGWRgRSnIgq8Aq8RQo4V98MTNmt8JsJ2zr2UmUFOotre/+O17gJShWw5az4O3wlys49iDQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DF4PR8401MB0972 X-OriginatorOrg: hpe.com X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.95,1.0.8 definitions=2019-10-16_03:2019-10-15,2019-10-16 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 lowpriorityscore=0 bulkscore=0 mlxlogscore=999 mlxscore=0 spamscore=0 clxscore=1011 impostorscore=0 phishscore=0 priorityscore=1501 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-1908290000 definitions=main-1910160086 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzIGZvciBjYXRjaGluZyB0aGlzLCBMYXN6bG8uIA0KVGhhbmtzIGZvciB0aGUgc3VnZ2Vz dGlvbiBhbmQgaW5mb3JtYXRpb24sIFpoaWNoYW8uIE5leHQgdGltZSwgSSB3aWxsIGRlZmluaXRl bHkgdGFrZSBjYXJlIG9mIHRoaXMgaW4gdGhlIGZpcnN0IHBsYWNlLiANCg0KSGkgSmlhbiBhbmQg SGFvLCANCkkgZm9yZ290IHRvIGFkZCBib3RoIG9mIHlvdSBpbiBDYy4gU29ycnkgYWJvdXQgdGhh dC4gSSB3aWxsIHNlbmQgeW91IGd1eXMgYSBuZXcgcGF0Y2ggd2l0aCB0aGUgdXBkYXRlZCBjb21t aXQgbWVzc2FnZSBiZWxvdy4gSWYgeW91IGd1eXMgbmVlZCBtZSB0byByZXNlbmQgYW4gZW1haWwg dG8gZWRrMi1kZXZlbCBmb3IgdGhlIG5ldyBwYXRjaCwgZmVlbCBmcmVlIHRvIGxldCBtZSBrbm93 Lg0KDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KTWRl TW9kdWxlUGtnL0Jkc0R4ZTogRml4IFBsYXRmb3JtUmVjb3ZlcnkgaXNzdWUNCg0KRm9yIG5vdywg UGxhdGZvcm1SZWNvdmVyeSBkb2Vzbid0IHdvcmsgaWYgT3NJbmRpY2F0aW9ucyB2YXJpYWJsZSAN CmRvZXNuJ3QgZXhpc3QsIHdoaWNoIGlzIHdyb25nLiAgDQpBY2NvcmRpbmcgdG8gdGhlIFVFRkkg c3BlY2lmaWNhdGlvbiBzZWN0aW9uIDMuNC4xIGFuZCAzLjQuMiwgaWYgDQpwcm9jZXNzaW5nIG9m IEJvb3RPcmRlciBkb2VzIG5vdCByZXN1bHQgaW4gc3VjY2VzcywgdGhlIE9zUmVjb3ZlcnkNCmFu ZCBQbGF0Zm9ybVJlY292ZXJ5IG9wdGlvbnMgc2hvdWxkIHN0aWxsIGJlIHByb2Nlc3NlZCByZWdh cmRsZXNzIG9mDQp0aGUgZXhpc3RlbmNlIG9mIHRoZSBPc0luZGljYXRpb25zIHZhcmlhYmxlLiAg DQpUaGVyZWZvcmUsIHVwZGF0ZSB0aGUgY29kZSB0byBjaGVjayBQY2RQbGF0Zm9ybVJlY292ZXJ5 U3VwcG9ydCBpbnN0ZWFkIA0Kb2YgdGhlIHZhbHVlIG9mIE9zSW5kaWNhdGlvbnMgdmFyaWFibGUg KFBsYXRmb3JtUmVjb3ZlcnkpIHRvIGZpeA0KdGhpcyBpc3N1ZS4NCg0KQ2M6IEppYW4gSiBXYW5n IDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+DQpDYzogSGFvIFd1IDxoYW8uYS53dUBpbnRlbC5jb20+ DQpDYzogUmF5IE5pIDxyYXkubmlAaW50ZWwuY29tPg0KQ2M6IFpoaWNoYW8gR2FvIDx6aGljaGFv Lmdhb0BpbnRlbC5jb20+DQpDYzogV2Fsb24gTGkgPHdhbG9uLmxpQGhwZS5jb20+DQpTaWduZWQt b2ZmLWJ5OiBTdW5ueSBXYW5nIDxzdW5ueXdhbmdAaHBlLmNvbT4NCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KUmVnYXJkcywNClN1bm55IFdhbmcN Cg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IEdhbywgWmhpY2hhbyBbbWFpbHRv OnpoaWNoYW8uZ2FvQGludGVsLmNvbV0gDQpTZW50OiBXZWRuZXNkYXksIE9jdG9iZXIgMTYsIDIw MTkgNDozNiBQTQ0KVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBsZXJzZWtAcmVkaGF0LmNvbTsg V2FuZywgU3VubnkgKEhQUyBTVykgPHN1bm55d2FuZ0BocGUuY29tPg0KQ2M6IE5pLCBSYXkgPHJh eS5uaUBpbnRlbC5jb20+OyBMaSwgV2Fsb24gPHdhbG9uLmxpQGhwZS5jb20+DQpTdWJqZWN0OiBS RTogW2VkazItZGV2ZWxdIFtQQVRDSF0gTWRlTW9kdWxlUGtnL0Jkc0R4ZTogTWFrZSBQbGF0Zm9y bVJlY292ZXJ5IHdvcmsgcmVnYXJkbGVzcyBvZiBPc0luZGljYXRpb25zDQpJbXBvcnRhbmNlOiBI aWdoDQoNCk1kZU1vZHVsZVBrZy9CZHNEeGU6IERvIFBsYXRmb3JtUmVjb3ZlcnkgcmVnYXJkbGVz cyBvZiBPc0luZGljYXRpb25zDQoNCkFjY29yZGluZyB0byB0aGUgVUVGSSBzcGVjaWZpY2F0aW9u IHNlY3Rpb24gMy40LjEgYW5kIDMuNC4yLCB0aGUgT3NSZWNvdmVyeSBhbmQgUGxhdGZvcm1SZWNv dmVyeSBvcHRpb25zIHNob3VsZCBzdGlsbCBiZSBwcm9jZXNzZWQgcmVnYXJkbGVzcyBvZiB0aGUg dmFsdWUgb2YgT3NJbmRpY2F0aW9ucyB2YXJpYWJsZSBpZiBwcm9jZXNzaW5nIG9mIEJvb3RPcmRl ciBkb2VzIG5vdCByZXN1bHQgaW4gc3VjY2Vzcy4NClRoZXJlZm9yZSwgdXBkYXRlIHRoZSBjb2Rl IHRvIGNoZWNrIFBjZFBsYXRmb3JtUmVjb3ZlcnlTdXBwb3J0IGluc3RlYWQgb2YgdGhlIHZhbHVl IG9mIE9zSW5kaWNhdGlvbnMgdmFyaWFibGUgKFBsYXRmb3JtUmVjb3ZlcnkpLg0KDQpJIHN1Z2dl c3QgdG8gdXNlIHRoZSBhYm92ZSB0aXRsZSBiZWNhdXNlIG9mIHRoZSBsZW5ndGggbGltaXRhdGlv bi4gQW5kIEkgYWxzbyBicmVhayB0aGUgY29tbWl0IG1lc3NhZ2UgaW50byBzZXJ2YWwgbGluZXMu DQpIZXJlIGlzIHRoZSBkZXZlbG9wbWVudCBwcm9jZXNzIGZvciBlZGsgb3BlbiBzb3VyY2UgbGlu azogaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS90aWFub2NvcmUuZ2l0aHViLmlvL3dpa2kv RURLLUlJLURldmVsb3BtZW50LVByb2Nlc3MuIFRoYXQgd291bGQgaGVscCB5b3UgdG8gc2VuZCBh IHBhdGNoIGluIGEgYmFzaWMgY29ycmVjdCBmb3JtYXQuDQpXaXRoIHRoZSBjb21taXQgbWFzc2Fn ZSBpc3N1ZSBhZGRyZXNzZWQsIFJldmlld2VkLWJ5OiBaaGljaGFvIEdhbyA8emhpY2hhby5nYW9A aW50ZWwuY29tPg0KDQpUaGFua3MsDQpaaGljaGFvDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gW21haWx0bzpkZXZlbEBlZGsyLmdy b3Vwcy5pb10gT24gQmVoYWxmIE9mIA0KPiBMYXN6bG8gRXJzZWsNCj4gU2VudDogV2VkbmVzZGF5 LCBPY3RvYmVyIDE2LCAyMDE5IDQ6MDIgUE0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBz dW5ueXdhbmdAaHBlLmNvbQ0KPiBDYzogTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47IEdhbywg WmhpY2hhbyA8emhpY2hhby5nYW9AaW50ZWwuY29tPjsgDQo+IFdhbG9uIExpIDx3YWxvbi5saUBo cGUuY29tPg0KPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSF0gTWRlTW9kdWxlUGtn L0Jkc0R4ZTogTWFrZSANCj4gUGxhdGZvcm1SZWNvdmVyeSB3b3JrIHJlZ2FyZGxlc3Mgb2YgT3NJ bmRpY2F0aW9ucw0KPiANCj4gT24gMTAvMTYvMTkgMDk6NDAsIFdhbmcsIFN1bm55IChIUFMgU1cp IHdyb3RlOg0KPiA+IEFjY29yZGluZyB0byB0aGUgVUVGSSBzcGVjaWZpY2F0aW9uIHNlY3Rpb24g My40LjEgYW5kIDMuNC4yLCB0aGUgDQo+ID4gT3NSZWNvdmVyeQ0KPiBhbmQgUGxhdGZvcm1SZWNv dmVyeSBvcHRpb25zIHNob3VsZCBzdGlsbCBiZSBwcm9jZXNzZWQgcmVnYXJkbGVzcyBvZiANCj4g dGhlIHZhbHVlIG9mIE9zSW5kaWNhdGlvbnMgdmFyaWFibGUgaWYgcHJvY2Vzc2luZyBvZiBCb290 T3JkZXIgZG9lcyANCj4gbm90IHJlc3VsdCBpbiBzdWNjZXNzLiBUaGVyZWZvcmUsIHVwZGF0ZSB0 aGUgY29kZSB0byBjaGVjayANCj4gUGNkUGxhdGZvcm1SZWNvdmVyeVN1cHBvcnQgaW5zdGVhZCBv ZiB0aGUgdmFsdWUgb2YgT3NJbmRpY2F0aW9ucyB2YXJpYWJsZSAoUGxhdGZvcm1SZWNvdmVyeSku DQo+IA0KPiBQbGVhc2Ugd3JhcCB0aGUgY29tbWl0IG1lc3NhZ2UgdG8gNzQgY2hhcmFjdGVycy4N Cj4gDQo+IChDYW4gYmUgZG9uZSBvbiBwdXNoLCBpZiB0aGUgbWFpbnRhaW5lciBhY2NlcHRzIHRo ZSBwYXRjaC4pDQo+IA0KPiBUaGFua3MNCj4gTGFzemxvDQo+IA0KPiA+DQo+ID4gQ2M6IFJheSBO aSA8cmF5Lm5pQGludGVsLmNvbT4NCj4gPiBDYzogWmhpY2hhbyBHYW8gPHpoaWNoYW8uZ2FvQGlu dGVsLmNvbT4NCj4gPiBDYzogV2Fsb24gTGkgPHdhbG9uLmxpQGhwZS5jb20+DQo+ID4gU2lnbmVk LW9mZi1ieTogU3VubnkgV2FuZyA8c3Vubnl3YW5nQGhwZS5jb20+DQo+ID4gLS0tDQo+ID4gIE1k ZU1vZHVsZVBrZy9Vbml2ZXJzYWwvQmRzRHhlL0Jkc0VudHJ5LmMgfCA0ICsrLS0NCj4gPiAgMSBm aWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRp ZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0Jkc0R4ZS9CZHNFbnRyeS5jDQo+IGIv TWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9CZHNEeGUvQmRzRW50cnkuYw0KPiA+IGluZGV4IGQ2ZWMz MTExOGMuLmQzODdkYmU3YWMgMTAwNjQ0DQo+ID4gLS0tIGEvTWRlTW9kdWxlUGtnL1VuaXZlcnNh bC9CZHNEeGUvQmRzRW50cnkuYw0KPiA+ICsrKyBiL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvQmRz RHhlL0Jkc0VudHJ5LmMNCj4gPiBAQCAtNiw3ICs2LDcgQEANCj4gPiAgICB0byBlbnRlciBCRFMg cGhhc2UuDQo+ID4NCj4gPiAgQ29weXJpZ2h0IChjKSAyMDA0IC0gMjAxOSwgSW50ZWwgQ29ycG9y YXRpb24uIEFsbCByaWdodHMgDQo+ID4gcmVzZXJ2ZWQuPEJSPg0KPiA+IC0oQykgQ29weXJpZ2h0 IDIwMTYgSGV3bGV0dCBQYWNrYXJkIEVudGVycHJpc2UgRGV2ZWxvcG1lbnQgTFA8QlI+DQo+ID4g KyhDKSBDb3B5cmlnaHQgMjAxNi0yMDE5IEhld2xldHQgUGFja2FyZCBFbnRlcnByaXNlIERldmVs b3BtZW50IA0KPiA+ICtMUDxCUj4NCj4gPiAgKEMpIENvcHlyaWdodCAyMDE1IEhld2xldHQtUGFj a2FyZCBEZXZlbG9wbWVudCBDb21wYW55LCBMLlAuPEJSPg0KPiA+ICBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+DQo+ID4gQEAgLTEwNjksNyArMTA2OSw3 IEBAIEJkc0VudHJ5ICgNCj4gPiAgICB9DQo+ID4NCj4gPiAgICBpZiAoIUJvb3RTdWNjZXNzKSB7 DQo+ID4gLSAgICBpZiAoUGxhdGZvcm1SZWNvdmVyeSkgew0KPiA+ICsgICAgaWYgKFBjZEdldEJv b2wgKFBjZFBsYXRmb3JtUmVjb3ZlcnlTdXBwb3J0KSkgew0KPiA+ICAgICAgICBMb2FkT3B0aW9u cyA9IEVmaUJvb3RNYW5hZ2VyR2V0TG9hZE9wdGlvbnMgKCZMb2FkT3B0aW9uQ291bnQsDQo+IExv YWRPcHRpb25UeXBlUGxhdGZvcm1SZWNvdmVyeSk7DQo+ID4gICAgICAgIFByb2Nlc3NMb2FkT3B0 aW9ucyAoTG9hZE9wdGlvbnMsIExvYWRPcHRpb25Db3VudCk7DQo+ID4gICAgICAgIEVmaUJvb3RN YW5hZ2VyRnJlZUxvYWRPcHRpb25zIChMb2FkT3B0aW9ucywgTG9hZE9wdGlvbkNvdW50KTsNCj4g Pg0KPiANCj4gDQo+IA0KDQo=