From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mx.groups.io with SMTP id smtpd.web10.3569.1605752310074060611 for ; Wed, 18 Nov 2020 18:18:30 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=aXAyXIGb; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: bob.c.feng@intel.com) IronPort-SDR: 1B0ttOnHjRwOm6cm3xcQQbtVJSYcdgp5HLyjWF/6lSRYvPoYtNvXkFVs9o0Oli9ptRZ+DxbGaI BFElTLikd5cg== X-IronPort-AV: E=McAfee;i="6000,8403,9809"; a="189303249" X-IronPort-AV: E=Sophos;i="5.77,489,1596524400"; d="scan'208";a="189303249" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Nov 2020 18:18:29 -0800 IronPort-SDR: YbDBFeiUswPUL7y1jWUeU74718XwVg1Axpnkw1392cSl8V1CE0EYQEijtlZynD/uzeLA8lraNz pz5RbFEHdV8w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,489,1596524400"; d="scan'208";a="330749879" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga006.jf.intel.com with ESMTP; 18 Nov 2020 18:18:28 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 18 Nov 2020 18:18:28 -0800 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 18 Nov 2020 18:18:28 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 18 Nov 2020 18:18:28 -0800 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.170) 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.1713.5; Wed, 18 Nov 2020 18:18:27 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ln/wDLbVHYqPqeo8RrUQWxcDiGBwN7J3Ui1jdYjRNiVGPVblJCBPw8U1/Gfqzu6ouYJN2ww17wyaMmd8CZ18LpPfp2CTMXw7qc1Lpy1jnBb99DLa0avwseFGEArZe8twnLhyjupD0Z3nATFdTuTRjAahORpto2WA+1B2+E22j+Z/jR/1/GE304Z4LdPORrV1HIDFz+kyDL5lqnzCINAVesvJrRcxd/by8STdj0AEf4njWP0zyaZyWvwa+wHQXXJec17Na81eV8N2QHcol3NHulcWGr9MqnPhgiSJEZ1rhl4wZZBONz80PZYah2US/gdSXEr0YmID9cZDQ6EDAdWaGw== 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=K6ZspPUnqjxZNdhba6sL9Qs9kjrjpBrWCpA26wrUSXo=; b=SzGAGGPC4eWvQ7tqt1iQbXZDLKMNzszEkhGLboZqeXiYstttp3X75MC4MOyUuzNJgy0UlQzjJXa9sC4LOuMQwA4QEIPM5E0S9t/5pMZW0+PKVpQQA8TL1I8q874ngqqMWd3SjoaPpXpJCh0QgAFv8qnRgO85Vy6reU7ULA6bKMXt3fT8k2oDZqNRzBorp3Y4coyAFqhwHnFcQTB8qVs52/dn4DEgQ4ZK39GaZwwVenn47o5SAvhbg9s6Bo+bls7Vi8tSUqNxWdNqUyvQnJwyDj5PmHZQZosYRH2QwQHvXG2e7ZIltBJ7drr796iY/cvbmknTKubaR/uoWjZA6EqaHA== 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=K6ZspPUnqjxZNdhba6sL9Qs9kjrjpBrWCpA26wrUSXo=; b=aXAyXIGbqFVJkEi9e0t2uzmM0qYkm9qXtrtB3p5KG2tid+JOen1DEZHiCs1CdbAqaNOxI3lDZ7nFqDkHmKODUxsAadkLRsHIMMzcoSPHlMu95zgMzgKvRxDS6XW80pnrmA2oxAAdX8V1J8qJJm/eE4pUlHA3SPl31XoojcscKNk= Received: from DM6PR11MB4073.namprd11.prod.outlook.com (2603:10b6:5:19f::22) by DM5PR1101MB2107.namprd11.prod.outlook.com (2603:10b6:4:5a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3564.25; Thu, 19 Nov 2020 02:18:24 +0000 Received: from DM6PR11MB4073.namprd11.prod.outlook.com ([fe80::c9f:47ea:6321:5ccb]) by DM6PR11MB4073.namprd11.prod.outlook.com ([fe80::c9f:47ea:6321:5ccb%3]) with mapi id 15.20.3589.020; Thu, 19 Nov 2020 02:18:24 +0000 From: "Bob Feng" To: gaoliming , "devel@edk2.groups.io" , "Liang, MingyueX" CC: "Chen, Christine" Subject: Re: [edk2-devel] [PATCH V2] BaseTools: Resolve index out of range errors. Thread-Topic: [edk2-devel] [PATCH V2] BaseTools: Resolve index out of range errors. Thread-Index: AQHWuY9AWw3oH+TtU0CI6jTv3M6wJKnNJGYQgAALicCAADaEAIABWtfQ Date: Thu, 19 Nov 2020 02:18:24 +0000 Message-ID: References: <20201113073301.1028-1-mingyuex.liang@intel.com> <164876971E6C4F0C.5807@groups.io> <00df01d6bd6c$c951d7b0$5bf58710$@byosoft.com.cn> In-Reply-To: <00df01d6bd6c$c951d7b0$5bf58710$@byosoft.com.cn> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: byosoft.com.cn; dkim=none (message not signed) header.d=none;byosoft.com.cn; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.102.204.36] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0e7ba6db-dded-401c-3971-08d88c3164d0 x-ms-traffictypediagnostic: DM5PR1101MB2107: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:534; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OcN6FIjSJ9jXe2CBxtY1XagHNLKtyI11Cvbc7254mLJGIaT0wf/ATQhXR8nk3Sc5VsLpepC7ZHqWYjfkGarFWtjMdY3IAf1RpGiL70dHmJu4evsu/kQBh/p/wFjKonqfSkwf9Uzxm2MXOzRIZJF+eMn/FAp1JdkCWZVAJy+hOwi83n9B2RHfUagC7qeoDuG2LWUrZf1ECJqB1mIG/D2Up1LaZotXNs6CLq3Ujimx0QA7M3Ht8VrwfJ+y0HFmgPWmlnwXjJ5ZfZai2UnZNicy3DRUn9qu1uTppEEo50Y5Iu4ACoQZ02RtlJ96x5pVYEljpiih88qc8Xy14mQVUBfnJuzHIRG8g5zQETfbUD2v500qJFFGzWxaCVPEUi/7EvIOupl6ZRaRcWDZs9/kMPSTWA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB4073.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(366004)(39860400002)(346002)(136003)(376002)(8936002)(52536014)(186003)(86362001)(53546011)(316002)(107886003)(110136005)(4326008)(83380400001)(2906002)(478600001)(5660300002)(66946007)(71200400001)(26005)(55016002)(8676002)(76116006)(33656002)(7696005)(6506007)(66446008)(66476007)(6636002)(9686003)(66556008)(966005)(64756008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: 5oL71Y1AUnmb48bb2K8wt3I+EllERdGlgIT3xBop1LiU0X/+rjfcV7wMv+7MdrNKz7xSv8IYhY1SK7I936ME6GB5XVo2gRNlmo0WJCyWm4aorZ8nB8nobLGFgS8WbcoAyKe6TqeSWO8JAzhKI7hTlJJHhU/00sY+hxgTNf2P9CPTcTGEo7KjO6vFFARDLRpCOygAXar0itHHHEduPy6LWTRgZiqXBfBhk6pRIl3NuqFjf2QrdG8fyvQ7PGEkECUw8YBVbVGcIRIHhK4Cdb9E+Q8bIHtU8avybMxpeY2q9f8XS46UigF2EoyLWm3E9TIttTWkv4lRPVDZp3zy41HF8BHqRnLS1L8MU+cSmd3oGqEs4bWz4aXSY5YJvJ3Ha0WuuhrpUIhPwgZHx2xQdEooxm4YH47KJk3sfjA8ri/qFt6ZKyzjY+5ivkZdC7vddPfgVkbq+vwcGqivODCIRRCdrcxnehR5NuA0+AKiwH6yyMIWiTrqwPV5r/uQfjOx16fNUAk98o3/l3C6H6XpHPuhZs/cRHT3HYOSkhUG0ihEuvqxO8x01EiDJ8DDEPNX7sejcL34q2yN+hD2/ktxl3PE2R2pwHgCT8VSRlKstv11JIvU9GjmZ3py+X+lZHz9rSDNukpY97v0+Yc2w596iBtGIlS6d1Koq0I2A5dV7jFqlLNi2ZKrfeG58IpSrS4817LLcc40n4EapjwnbFDjo2is1NCOxmqR9Srt4pi0K19UlLW4mn+y3jLOy0Z3pxyuup3ILAGLq5yUuJ21Cr4/Z/s/LZRXIPXg6Shogbq1xCav+j3u4Ia11ndFJzgDzkXjkvbFZlRF0drv5nvyq4i0voPUMf48X/W5P56Aj2KhnsztByL+skxyN8SY0OKx+UXuUV/EiwPaECa8pE+hN02RAPnssg== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4073.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0e7ba6db-dded-401c-3971-08d88c3164d0 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Nov 2020 02:18:24.4499 (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: +fnPTF4zD4q8dLCmZn7/RdYNBgTSykPb++Ul3vkinVPNDoDX5gQutuRs1z9Lv1P6XMQBm6eIlTpMbiCjjffpGA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1101MB2107 Return-Path: bob.c.feng@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SSBjcmVhdGVkIGEgUFIsIGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9wdWxsLzEx MzQNCg0KVGhhbmtzLA0KQm9iDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBn YW9saW1pbmcgPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4gDQpTZW50OiBXZWRuZXNkYXksIE5v dmVtYmVyIDE4LCAyMDIwIDE6MzcgUE0NClRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgRmVuZywg Qm9iIEMgPGJvYi5jLmZlbmdAaW50ZWwuY29tPjsgTGlhbmcsIE1pbmd5dWVYIDxtaW5neXVleC5s aWFuZ0BpbnRlbC5jb20+DQpDYzogQ2hlbiwgQ2hyaXN0aW5lIDx5dXdlaS5jaGVuQGludGVsLmNv bT4NClN1YmplY3Q6IOWbnuWkjTogW2VkazItZGV2ZWxdIFtQQVRDSCBWMl0gQmFzZVRvb2xzOiBS ZXNvbHZlIGluZGV4IG91dCBvZiByYW5nZSBlcnJvcnMuDQoNCkJvYjoNCiAgSSBhbSBvayB0byBt ZXJnZSB0aGlzIGJ1ZyBmaXggZm9yIHRoaXMgc3RhYmxlIHRhZy4gUmV2aWV3ZWQtYnk6IExpbWlu ZyBHYW8gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCg0KVGhhbmtzDQpMaW1pbmcNCj4gLS0t LS3pgq7ku7bljp/ku7YtLS0tLQ0KPiDlj5Hku7bkuro6IGJvdW5jZSsyNzk1Mis2NzY2Mis0OTA1 OTUzKzg3NjEwNDVAZ3JvdXBzLmlvDQo+IDxib3VuY2UrMjc5NTIrNjc2NjIrNDkwNTk1Mys4NzYx MDQ1QGdyb3Vwcy5pbz4g5Luj6KGoIEJvYiBGZW5nDQo+IOWPkemAgeaXtumXtDogMjAyMOW5tDEx 5pyIMTjml6UgMTA6MjQNCj4g5pS25Lu25Lq6OiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgRmVuZywg Qm9iIEMgPGJvYi5jLmZlbmdAaW50ZWwuY29tPjsgTGlhbmcsIA0KPiBNaW5neXVlWCA8bWluZ3l1 ZXgubGlhbmdAaW50ZWwuY29tPg0KPiDmioTpgIE6IExpbWluZyBHYW8gPGdhb2xpbWluZ0BieW9z b2Z0LmNvbS5jbj47IENoZW4sIENocmlzdGluZSANCj4gPHl1d2VpLmNoZW5AaW50ZWwuY29tPg0K PiDkuLvpopg6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIFYyXSBCYXNlVG9vbHM6IFJlc29sdmUg aW5kZXggb3V0IG9mIHJhbmdlIA0KPiBlcnJvcnMuDQo+IA0KPiBUaGlzIHBhdGNoIGlzIHRvIGZp eCBhIGJhc2V0b29scyByZWdyZXNzaW9uIGlzc3VlLiBJZiB0aGVyZSBpcyBubyANCj4gb2JqZWN0 aW9uLCBJJ2xsIG1lcmdlIGl0IHRvbW9ycm93Lg0KPiANCj4gVGhhbmtzLA0KPiBCb2INCj4gDQo+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlv IDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIEJvYiANCj4gRmVuZw0KPiBTZW50 OiBXZWRuZXNkYXksIE5vdmVtYmVyIDE4LCAyMDIwIDk6NDEgQU0NCj4gVG86IExpYW5nLCBNaW5n eXVlWCA8bWluZ3l1ZXgubGlhbmdAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4g Q2M6IExpbWluZyBHYW8gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47IENoZW4sIENocmlzdGlu ZSANCj4gPHl1d2VpLmNoZW5AaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxd IFtQQVRDSCBWMl0gQmFzZVRvb2xzOiBSZXNvbHZlIGluZGV4IG91dCBvZiANCj4gcmFuZ2UgZXJy b3JzLg0KPiANCj4gUmV2aWV3ZWQtYnk6IEJvYiBGZW5nIDxib2IuYy5mZW5nQGludGVsLmNvbT4N Cj4gDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1pbmd5dWUgTGlhbmcg PG1pbmd5dWV4LmxpYW5nQGludGVsLmNvbT4NCj4gU2VudDogRnJpZGF5LCBOb3ZlbWJlciAxMywg MjAyMCAzOjMzIFBNDQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiBDYzogRmVuZywgQm9i IEMgPGJvYi5jLmZlbmdAaW50ZWwuY29tPjsgTGltaW5nIEdhbyANCj4gPGdhb2xpbWluZ0BieW9z b2Z0LmNvbS5jbj47IENoZW4sIENocmlzdGluZSA8eXV3ZWkuY2hlbkBpbnRlbC5jb20+DQo+IFN1 YmplY3Q6IFtQQVRDSCBWMl0gQmFzZVRvb2xzOiBSZXNvbHZlIGluZGV4IG91dCBvZiByYW5nZSBl cnJvcnMuDQo+IA0KPiBUaGlzIHByb2JsZW0gaXMgZ2VuZXJhdGVkIGJ5IHNvbHZpbmcgYnoyOTcy J3MgcGF0Y2gsIGFuZCB0aGUgY29tbWl0IElEIA0KPiBpcyAwYWY3ZjhlNmE5MjUzOTYwYmE4MjBj ZDZkZGZkOGMzNjU0M2QzMGNiLg0KPiANCj4gVGhpcyBpcyBhIHByb2JsZW0gd2hlbiB1cGRhdGlu ZyB0aGUgREVQcyBmaWxlLg0KPiBUaGUgY29kZSBkb2VzIG5vdCBjb25zaWRlciB0aGF0IHRoZXJl IGlzIG9ubHkgb25lIGxpbmUgb2YgY29udGVudCBpbiANCj4gdGhlIGZpbGUsIHNvIHRoZSBmaWx0 ZXIgY29uZGl0aW9uIGlzIGFkZGVkIHRvIHByZXZlbnQgdGhlIGluZGV4IGZyb20gZXhjZWVkaW5n IHRoZSByYW5nZS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IE1pbmd5dWUgTGlhbmcgPG1pbmd5dWV4 LmxpYW5nQGludGVsLmNvbT4NCj4gQ2M6IEJvYiBGZW5nIDxib2IuYy5mZW5nQGludGVsLmNvbT4N Cj4gQ2M6IExpbWluZyBHYW8gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4gQ2M6IFl1d2Vp IENoZW4gPHl1d2VpLmNoZW5AaW50ZWwuY29tPg0KPiAtLS0NCj4gDQo+IFYy77yaDQo+ICAgQ2hh bmdlIHRoZSB0aXRsZSB0byBtYWtlIGl0IGNsZWFyZXIgYW5kIG1vcmUgZGVzY3JpcHRpdmUuDQo+ IA0KPiAgQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vQXV0b0dlbi9JbmNsdWRlc0F1dG9HZW4ucHkg fCAzICsrLQ0KPiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQ0KPiANCj4gZGlmZiAtLWdpdCBhL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0F1dG9HZW4vSW5j bHVkZXNBdXRvR2VuLnB5DQo+IGIvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vQXV0b0dlbi9JbmNs dWRlc0F1dG9HZW4ucHkNCj4gaW5kZXggYjA2ZWY0MjU3M2ZkLi41ZWMyNmViOThiNDIgMTAwNjQ0 DQo+IC0tLSBhL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0F1dG9HZW4vSW5jbHVkZXNBdXRvR2Vu LnB5DQo+ICsrKyBiL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0F1dG9HZW4vSW5jbHVkZXNBdXRv R2VuLnB5DQo+IEBAIC0yOTEsNyArMjkxLDggQEAgJHtFTkR9DQo+ICAgICAgICAgICAgICAgICAg dGFyZ2V0aXRlbSA9IHNlbGYuR2V0UmVhbFRhcmdldChzb3VyY2VfYWJzLnN0cmlwKCIgDQo+IDoi KSkNCj4gDQo+ICAgICAgICAgICAgICAgICAgdGFyZ2V0aXRlbSArPSAiOiAiDQo+IC0gICAgICAg ICAgICAgICAgdGFyZ2V0aXRlbSArPSBsaW5lc1sxXQ0KPiArICAgICAgICAgICAgICAgIGlmIGxl bihsaW5lcyk+PTI6DQo+ICsgICAgICAgICAgICAgICAgICAgIHRhcmdldGl0ZW0gKz0gbGluZXNb MV0NCj4gICAgICAgICAgICAgICAgICBuZXdjb250ZW50LmFwcGVuZCh0YXJnZXRpdGVtKQ0KPiAg ICAgICAgICAgICAgICAgIG5ld2NvbnRlbnQuZXh0ZW5kKGxpbmVzWzI6XSkNCj4gICAgICAgICAg ICAgICAgICBuZXdjb250ZW50LmFwcGVuZCgiXG4iKQ0KPiAtLQ0KPiAyLjI5LjIud2luZG93cy4y DQo+IA0KPiANCj4gDQo+IA0KPiANCj4gDQo+IA0KPiANCj4gDQo+IA0KDQoNCg0K