From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01olkn0801.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe02::801]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 1D6622193CF44 for ; Tue, 25 Apr 2017 09:00:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=24KKbXPQDLjz0PcrAuGz3aMDB+kaB/Oq5ZrIEnnTom8=; b=TMOzowbJV0OhYIxSgX2aMl89mc75Vi+s0J7HY96iFT/lqfRJJZaudhzyR015850AxbmLIvAiRs4IwE6beZztPMMoIH06BumEvDPrEPpUiZRCz+4j7OuBa4e4O4VwCoWklmrAWryKOGupIJURST/EKOHvf4ZcjxczMwZhhQ6DKPYeUwMMnvtCBZi+V+/LxMUUvrupWNPEBfk3254xRwmBwigneGqQmqd5NKTsGZeGlMiqKkN0EzmPRwQ/Edy8nS2BFrCidNYE2TSC9T0u0jARhr0bVLQC9vPB//OxDjjl5ru7YxYhVPqHRrK5dNgO+gxDHVOZKD5hYXItOYc5EhQdUQ== Received: from HE1EUR01FT024.eop-EUR01.prod.protection.outlook.com (10.152.0.51) by HE1EUR01HT107.eop-EUR01.prod.protection.outlook.com (10.152.0.246) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.1047.9; Tue, 25 Apr 2017 16:00:29 +0000 Received: from AM5PR0601MB2579.eurprd06.prod.outlook.com (10.152.0.54) by HE1EUR01FT024.mail.protection.outlook.com (10.152.0.164) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1047.9 via Frontend Transport; Tue, 25 Apr 2017 16:00:29 +0000 Received: from AM5PR0601MB2579.eurprd06.prod.outlook.com ([10.168.154.13]) by AM5PR0601MB2579.eurprd06.prod.outlook.com ([10.168.154.13]) with mapi id 15.01.1047.019; Tue, 25 Apr 2017 16:00:29 +0000 From: =?utf-8?B?TWFydmluIEjDpHVzZXI=?= To: "edk2-devel@lists.01.org" CC: Laszlo Ersek Thread-Topic: [PATCH 2/2] ShellPkg/Shell: eliminate double-free in RunSplitCommand() Thread-Index: AdK92caMftInK/5tdkWVEABwK3BPaQ== Date: Tue, 25 Apr 2017 16:00:29 +0000 Message-ID: Accept-Language: de-DE, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: lists.01.org; dkim=none (message not signed) header.d=none;lists.01.org; dmarc=none action=none header.from=outlook.com; x-incomingtopheadermarker: OriginalChecksum:3915202929131143FE2CAE0F1D835F2995FDF19B5912012A865CBDEB153E6EBE; UpperCasedChecksum:62437D67882C9AFF12CE3DB07BFCE98050697A03885849FE185AF1A389CECD17; SizeAsReceived:8150; Count:40 x-tmn: [aINHdW+dlUvZDhgB+iXmxul28IzevHMqxjBpA745mA9Ijhq+sDuPHU1Nvl8e2B38] x-microsoft-exchange-diagnostics: 1; HE1EUR01HT107; 5:/uRUwdnUWje1cBea2TfPcjDMDt532auWj/bZGFt6b1DO9XiZ9foRJsKTjFLUlvbG6Qmnc1Qbsp5frZHB68niDyv7+nrd37P7c6rVg3qTtTr29J72totk21zcqtWekDbB8lXhcirmXSwGzuJ1uEuP6g==; 24:OrBavu/6pGCO7OijKBDO4UNC7Z19Dkq4fff574lkFS+dHRyYXloho9uedK/r+TL1m43NxseDPITKLVKcFUtaXUKfMYPF/FvOFLjl6ynVANs=; 7:eBNmPrDT30UreCVfxN4jSclDvQbNuVojqCsjRf0oZAKUa9ZIC1vyqF40D5uEDE4yILCyUGEcFXtqiVXpU1CGOvXhU4DbMveggp6MJYT8TGkQU+hInOS1HAHTZXPJgBhxJ/BVxO2fozr6J/a914R1gL/R9XJpFaCh5RLLitBWv6Kna01Sib1Qt2u97/iwScd7e+LCV/CIvUF4JLHcXF8hQBBzLo50lJtSmF4toDfiqO6/QvaZYK1jc63ZgUXgYhw1MYCcqWacYAU1ubLcaPrnFbgRweeVgOCdRW5XA53E4DWyVHscS/OwD0jE5X6QiF4L x-incomingheadercount: 40 x-eopattributedmessage: 0 x-forefront-antispam-report: EFV:NLI; SFV:NSPM; SFS:(7070007)(98901004); DIR:OUT; SFP:1901; SCL:1; SRVR:HE1EUR01HT107; H:AM5PR0601MB2579.eurprd06.prod.outlook.com; FPR:; SPF:None; LANG:en; x-ms-office365-filtering-correlation-id: fb4cdbeb-d592-45f2-3b8b-08d48bf431ff x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201702061074)(5061506573)(5061507331)(1603103135)(2017031320274)(201702181274)(2017031322274)(1601125374)(1603101448)(1701031045); SRVR:HE1EUR01HT107; x-ms-exchange-slblob-mailprops: 6H6McBavlAgqpd6xZyE+q/WYjnJik1R+k0ZzdZFgq6Vh4m7PjfQmExTmWTDE8WdYz8ddfAQVZuHkABbISaGWyGqCcjUWxflbfrmFJhA3oZ5ZdAVOATGwJPbZS3bhL0Z4Vxs4H00f59gG/Rq3mwOSYJUzqaKYGulZxSSBfltl3LoZfgXsVMD9Nq8arI/cCpq+rYg4X9qOFQNA/qhQtykC2SRLX/2Fwe68+VUdF2Z27QNH9gzOhwqiMec6q4h96S6ABq9NHMJKZKLeJlrbCG0kK0HNmAyYbgfpD87BXXjKKf0q6p/2aHOf6lNQouOHFWFCvEkMWE2rVahs8ckGG+U9gKGrubF89P14CXLdoCuobW76anCOwyCG0nwp9YdixF6rrnuZ+I2PlDqkMIHik4wC1e9+BsFI10M2P/bazw3tqx/Lcb4fFLx4crpL4Xkqz3zIdWsSMqnP6k5s1Tm/JsSrGwaOolTe+DmD2MWRnmAngZa7HELkCXofC9Gm6fzhSPhL08mj0B1C3AZsnESize5YOwvYA72GnkBJXF+IPmKJfAQ8lbNBrn5OE4vhhvSMtaBSvbQJyUpfGrlDetHNDJWXc+CNKU3Ovz3KSAKzb4X23oKz684lOE6oMwL0LuIIrcHtthD1y4vINSJNDNc4++2743JDLVpjWcEQSnBPAk9ZHHGTm9XrZQGjpowlec/QOc1+mUEFJe3yp3wphjTWplpT88Ri2UA9EqPtKKWZbuTkbzMe0pF/klYa6uatJgzu5KJX6GBTQiuWU20= x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(444000031); SRVR:HE1EUR01HT107; BCL:0; PCL:0; RULEID:; SRVR:HE1EUR01HT107; x-forefront-prvs: 0288CD37D9 spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Apr 2017 16:00:29.1442 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1EUR01HT107 Subject: Re: [PATCH 2/2] ShellPkg/Shell: eliminate double-free in RunSplitCommand() X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Apr 2017 16:00:32 -0000 Content-Language: de-DE Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UGxlYXNlIGV4Y3VzZSB0aGUgbWlzdGFrZSwgSSBzdXBwb3NlIEkgd2FzIHJ1bm5pbmcgYSBzZWFy Y2ggZm9yICJGcmVlUG9vbCIsIHdoaWNoIG9mIGNvdXJzZSBkaWQgbm90IGZpbmQgIlNIRUxMX0ZS RUVfTk9OX05VTEwiLiBUaGFua3MgZm9yIGZpeGluZyBpdCB1cCENCg0KUmV2aWV3ZWQtYnk6IE1h cnZpbiBIw6R1c2VyIDxNYXJ2aW4uSGFldXNlckBvdXRsb29rLmNvbT4NCg0KLS0tLS1VcnNwcsO8 bmdsaWNoZSBOYWNocmljaHQtLS0tLQ0KVm9uOiBMYXN6bG8gRXJzZWsgW21haWx0bzpsZXJzZWtA cmVkaGF0LmNvbV0gDQpHZXNlbmRldDogRGllbnN0YWcsIDI1LiBBcHJpbCAyMDE3IDE1OjU3DQpB bjogZWRrMi1kZXZlbC0wMSA8ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+DQpDYzogSmFiZW4gQ2Fy c2V5IDxqYWJlbi5jYXJzZXlAaW50ZWwuY29tPjsgTWFydmluIEjDpHVzZXIgPE1hcnZpbi5IYWV1 c2VyQG91dGxvb2suY29tPjsgUWl1IFNodW1pbiA8c2h1bWluLnFpdUBpbnRlbC5jb20+OyBSdWl5 dSBOaSA8cnVpeXUubmlAaW50ZWwuY29tPg0KQmV0cmVmZjogW1BBVENIIDIvMl0gU2hlbGxQa2cv U2hlbGw6IGVsaW1pbmF0ZSBkb3VibGUtZnJlZSBpbiBSdW5TcGxpdENvbW1hbmQoKQ0KDQpDb21t aXQgYmQzZmM4MTMzYjJiICgiU2hlbGxQa2cvQXBwOiBGaXggbWVtb3J5IGxlYWsgYW5kIHNhdmUg cmVzb3VyY2VzLiIsDQoyMDE2LTA1LTIwKSBhZGRlZCBhIEZyZWVQb29sKCkgY2FsbCBmb3IgU3Bs aXQtPlNwbGl0U3RkSW4sIG5lYXIgZW5kIG9mIHRoZSBSdW5TcGxpdENvbW1hbmQoKSwgcmlnaHQg YWZ0ZXIgdGhlIHNhbWUgc2hlbGwgZmlsZSB3YXMgY2xvc2VkIHdpdGggQ2xvc2VGaWxlKCkuIFRo ZSBhcmd1bWVudCB3YXM6DQoNCj4gMSkgUnVuU3BsaXRDb21tYW5kKCkgYWxsb2NhdGVzIHRoZSBp bml0aWFsIFNwbGl0U3RkT3V0IHZpYQ0KPiAgICBDcmVhdGVGaWxlSW50ZXJmYWNlTWVtKCkuIEZy ZWUgU3BsaXRTdGRJbiBhZnRlciB0aGUgc3dhcCB0byBmaXgNCj4gICAgdGhlIG1lbW9yeSBsZWFr Lg0KDQpUaGVyZSBpcyBubyBtZW1vcnkgbGVhayBhY3R1YWxseSwgYW5kIHRoZSBGcmVlUG9vbCgp IGNhbGwgaW4gcXVlc3Rpb24gY29uc3RpdHV0ZXMgYSBkb3VibGUtZnJlZToNCg0KKGEpIFRoaXMg aXMgaG93IHRoZSBoYW5kbGUgaXMgZXN0YWJsaXNoZWQ6DQoNCiAgICBDb252ZXJ0RWZpRmlsZVBy b3RvY29sVG9TaGVsbEhhbmRsZSAoDQogICAgICBDcmVhdGVGaWxlSW50ZXJmYWNlTWVtIChVbmlj b2RlKSwNCiAgICAgIE5VTEwNCiAgICAgICk7DQoNCiAgICBDcmVhdGVGaWxlSW50ZXJmYWNlTWVt KCkgYWxsb2NhdGVzIGFuIEVGSV9GSUxFX1BST1RPQ09MX01FTSBvYmplY3QgYW5kDQogICAgcG9w dWxhdGVzIGl0IGZ1bGx5LiBDb252ZXJ0RWZpRmlsZVByb3RvY29sVG9TaGVsbEhhbmRsZSgpIGFs bG9jYXRlcw0KICAgIHNvbWUgYWRtaW5pc3RyYXRpdmUgc3RydWN0dXJlcyBhbmQgbGlua3MgdGhl IEVGSV9GSUxFX1BST1RPQ09MX01FTQ0KICAgIG9iamVjdCBpbnRvICJtRmlsZUhhbmRsZUxpc3Qi Lg0KDQooYikgRUZJX1NIRUxMX1BST1RPQ09MLkNsb3NlRmlsZSgpIGlzIHJlcXVpcmVkIHRvIGNs b3NlIHRoZQ0KICAgIFNIRUxMX0ZJTEVfSEFORExFIGFuZCB0byByZWxlYXNlIGFsbCBhc3NvY2lh dGVkIGRhdGEuIEFjY29yZGluZ2x5LA0KICAgIG5lYXIgdGhlIGVuZCBvZiBSdW5TcGxpdENvbW1h bmQoKSwgd2UgaGF2ZToNCg0KICAgIEVmaVNoZWxsQ2xvc2UoKQ0KICAgICAgU2hlbGxGaWxlSGFu ZGxlUmVtb3ZlKCkNCiAgICAgICAgLy8NCiAgICAgICAgLy8gdW5kb2VzIHRoZSBlZmZlY3RzIG9m IENvbnZlcnRFZmlGaWxlUHJvdG9jb2xUb1NoZWxsSGFuZGxlKCkNCiAgICAgICAgLy8NCiAgICAg IENvbnZlcnRTaGVsbEhhbmRsZVRvRWZpRmlsZVByb3RvY29sKCkNCiAgICAgICAgLy8NCiAgICAg ICAgLy8gbm90ZSB0aGF0IHRoaXMgZG9lcyBub3QgYWRqdXN0IHRoZSBwb2ludGVyIHZhbHVlOyBp dCdzIGEgcHVyZQ0KICAgICAgICAvLyB0eXBlIGNhc3QNCiAgICAgICAgLy8NCiAgICAgIEZpbGVI YW5kbGVDbG9zZSgpDQogICAgICAgIEZpbGVJbnRlcmZhY2VNZW1DbG9zZSgpDQogICAgICAgICAg Ly8NCiAgICAgICAgICAvLyB0ZWFycyBkb3duIEVGSV9GSUxFX1BST1RPQ09MX01FTSBjb21wbGV0 ZWx5LCB1bmRvaW5nIHRoZQ0KICAgICAgICAgIC8vIGVmZmVjdHMgb2YgQ3JlYXRlRmlsZUludGVy ZmFjZU1lbSAoKQ0KICAgICAgICAgIC8vDQoNClRoZSBGcmVlUG9vbCgpIGNhbGwgYWRkZWQgYnkg YmQzZmM4MTMzYjJiIGNvbmZsaWN0cyB3aXRoDQoNCiAgU0hFTExfRlJFRV9OT05fTlVMTChUaGlz KTsNCg0KaW4gRmlsZUludGVyZmFjZU1lbUNsb3NlKCksIHNvIHJlbW92ZSBpdC4NCg0KVGhpcyBl cnJvciBjYW4gYmUgcmVwcm9kdWNlZCBmb3IgZXhhbXBsZSB3aXRoOg0KDQo+IFNoZWxsPiBtYXAg fCBtb3JlDQo+ICdtb3JlJyBpcyBub3QgcmVjb2duaXplZCBhcyBhbiBpbnRlcm5hbCBvciBleHRl cm5hbCBjb21tYW5kLCBvcGVyYWJsZSANCj4gcHJvZ3JhbSwgb3Igc2NyaXB0IGZpbGUuDQoNCndo aWNoIHRyaWdnZXJzOg0KDQo+IEFTU0VSVCBNZGVNb2R1bGVQa2cvQ29yZS9EeGUvTWVtL1Bvb2wu Yyg2MjQpOiBDUiBoYXMgQmFkIFNpZ25hdHVyZQ0KDQp3aXRoIHRoZSBmb2xsb3dpbmcgc3RhY2sg ZHVtcDoNCg0KPiAjMCAgMHgwMDAwMDAwMDdmNmRjMDk0IGluIENwdURlYWRMb29wICgpIGF0DQo+ ICAgICBNZGVQa2cvTGlicmFyeS9CYXNlTGliL0NwdURlYWRMb29wLmM6MzcNCj4gIzEgIDB4MDAw MDAwMDA3ZjZkZDFiNCBpbiBEZWJ1Z0Fzc2VydCAoRmlsZU5hbWU9MHg3ZjZlZDlmMA0KPiAgICAg Ik1kZU1vZHVsZVBrZy9Db3JlL0R4ZS9NZW0vUG9vbC5jIiwgTGluZU51bWJlcj02MjQsDQo+ICAg ICBEZXNjcmlwdGlvbj0weDdmNmVkOWQ4ICJDUiBoYXMgQmFkIFNpZ25hdHVyZSIpIGF0DQo+ICAg ICBPdm1mUGtnL0xpYnJhcnkvUGxhdGZvcm1EZWJ1Z0xpYklvUG9ydC9EZWJ1Z0xpYi5jOjE1Mw0K PiAjMiAgMHgwMDAwMDAwMDdmNmQwNzVkIGluIENvcmVGcmVlUG9vbEkgKEJ1ZmZlcj0weDdlMjMy Yzk4LA0KPiAgICAgUG9vbFR5cGU9MHg3ZjZiYzFjNCkgYXQgTWRlTW9kdWxlUGtnL0NvcmUvRHhl L01lbS9Qb29sLmM6NjI0DQo+ICMzICAweDAwMDAwMDAwN2Y2ZDA2MGUgaW4gQ29yZUludGVybmFs RnJlZVBvb2wgKEJ1ZmZlcj0weDdlMjMyYzk4LA0KPiAgICAgUG9vbFR5cGU9MHg3ZjZiYzFjNCkg YXQgTWRlTW9kdWxlUGtnL0NvcmUvRHhlL01lbS9Qb29sLmM6NTI5DQo+ICM0ICAweDAwMDAwMDAw N2Y2ZDA2NDggaW4gQ29yZUZyZWVQb29sIChCdWZmZXI9MHg3ZTIzMmM5OCkgYXQNCj4gICAgIE1k ZU1vZHVsZVBrZy9Db3JlL0R4ZS9NZW0vUG9vbC5jOjU1Mg0KPiAjNSAgMHgwMDAwMDAwMDdkNDlm YmY4IGluIEZyZWVQb29sIChCdWZmZXI9MHg3ZTIzMmM5OCkgYXQNCj4gICAgIE1kZVBrZy9MaWJy YXJ5L1VlZmlNZW1vcnlBbGxvY2F0aW9uTGliL01lbW9yeUFsbG9jYXRpb25MaWIuYzo4MTgNCj4g IzYgIDB4MDAwMDAwMDA3ZDQ4NzVjMyBpbiBSdW5TcGxpdENvbW1hbmQgKENtZExpbmU9MHg3ZDg5 ODM5OCwNCj4gICAgIFN0ZEluPTB4MCwgU3RkT3V0PTB4MCkgYXQgU2hlbGxQa2cvQXBwbGljYXRp b24vU2hlbGwvU2hlbGwuYzoxODEzDQo+ICM3ICAweDAwMDAwMDAwN2Q0ODdkNTkgaW4gUHJvY2Vz c05ld1NwbGl0Q29tbWFuZExpbmUNCj4gICAgIChDbWRMaW5lPTB4N2Q4OTgzOTgpIGF0IFNoZWxs UGtnL0FwcGxpY2F0aW9uL1NoZWxsL1NoZWxsLmM6MjEyMQ0KPiAjOCAgMHgwMDAwMDAwMDdkNDg4 OTM3IGluIFJ1blNoZWxsQ29tbWFuZCAoQ21kTGluZT0weDdlMjMzMDE4LA0KPiAgICAgQ29tbWFu ZFN0YXR1cz0weDApIGF0IFNoZWxsUGtnL0FwcGxpY2F0aW9uL1NoZWxsL1NoZWxsLmM6MjY3MA0K PiAjOSAgMHgwMDAwMDAwMDdkNDg4YjBiIGluIFJ1bkNvbW1hbmQgKENtZExpbmU9MHg3ZTIzMzAx OCkgYXQNCj4gICAgIFNoZWxsUGtnL0FwcGxpY2F0aW9uL1NoZWxsL1NoZWxsLmM6MjczMg0KPiAj MTAgMHgwMDAwMDAwMDdkNDg2N2M4IGluIERvU2hlbGxQcm9tcHQgKCkgYXQNCj4gICAgIFNoZWxs UGtnL0FwcGxpY2F0aW9uL1NoZWxsL1NoZWxsLmM6MTM0OQ0KPiAjMTEgMHgwMDAwMDAwMDdkNDg1 MjRkIGluIFVlZmlNYWluIChJbWFnZUhhbmRsZT0weDdlMjRjODk4LA0KPiAgICAgU3lzdGVtVGFi bGU9MHg3ZjViNjAxOCkgYXQgU2hlbGxQa2cvQXBwbGljYXRpb24vU2hlbGwvU2hlbGwuYzo2MzEN Cg0KQ2M6IEphYmVuIENhcnNleSA8amFiZW4uY2Fyc2V5QGludGVsLmNvbT4NCkNjOiBNYXJ2aW4g SMOkdXNlciA8TWFydmluLkhhZXVzZXJAb3V0bG9vay5jb20+DQpDYzogUWl1IFNodW1pbiA8c2h1 bWluLnFpdUBpbnRlbC5jb20+DQpDYzogUnVpeXUgTmkgPHJ1aXl1Lm5pQGludGVsLmNvbT4NCkZp eGVzOiBiZDNmYzgxMzNiMmIxN2FkMmUwNDI3ZDFiZjZiNDRiMDhjZjJmM2IyDQpDb250cmlidXRl ZC11bmRlcjogVGlhbm9Db3JlIENvbnRyaWJ1dGlvbiBBZ3JlZW1lbnQgMS4wDQpTaWduZWQtb2Zm LWJ5OiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KLS0tDQogU2hlbGxQa2cvQXBw bGljYXRpb24vU2hlbGwvU2hlbGwuYyB8IDEgLQ0KIDEgZmlsZSBjaGFuZ2VkLCAxIGRlbGV0aW9u KC0pDQoNCmRpZmYgLS1naXQgYS9TaGVsbFBrZy9BcHBsaWNhdGlvbi9TaGVsbC9TaGVsbC5jIGIv U2hlbGxQa2cvQXBwbGljYXRpb24vU2hlbGwvU2hlbGwuYw0KaW5kZXggZmE5NTgxNzBhMWRiLi5m Y2Y0N2I1YzczM2QgMTAwNjQ0DQotLS0gYS9TaGVsbFBrZy9BcHBsaWNhdGlvbi9TaGVsbC9TaGVs bC5jDQorKysgYi9TaGVsbFBrZy9BcHBsaWNhdGlvbi9TaGVsbC9TaGVsbC5jDQpAQCAtMTgxMCw3 ICsxODEwLDYgQEAgUnVuU3BsaXRDb21tYW5kKA0KICAgfQ0KICAgaWYgKFNwbGl0LT5TcGxpdFN0 ZEluICE9IE5VTEwpIHsNCiAgICAgU2hlbGxJbmZvT2JqZWN0Lk5ld0VmaVNoZWxsUHJvdG9jb2wt PkNsb3NlRmlsZSAoU3BsaXQtPlNwbGl0U3RkSW4pOw0KLSAgICBGcmVlUG9vbCAoU3BsaXQtPlNw bGl0U3RkSW4pOw0KICAgfQ0KIA0KICAgRnJlZVBvb2woU3BsaXQpOw0KLS0NCjIuOS4zDQoNCg==