From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web11.128021.1597988002495991586 for ; Thu, 20 Aug 2020 22:33:22 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=zR9zecKz; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: nathaniel.l.desimone@intel.com) IronPort-SDR: O0O0wK7P033/gEN3BtIBteYdtkrsc5v20736I9Bav898bqxOUunkvff2yEnK4ox49l3Yg9t3jX 1IApAGBhM1xA== X-IronPort-AV: E=McAfee;i="6000,8403,9719"; a="135528159" X-IronPort-AV: E=Sophos;i="5.76,335,1592895600"; d="scan'208";a="135528159" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Aug 2020 22:33:22 -0700 IronPort-SDR: AcK0ap9xesmiYFiyifHlb93ro1+/fuDpfgS/p9BsMZOj/kiOGHriAIIoHrAGVZm9JFIbxXRJZJ cddnt/8DSAZg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,335,1592895600"; d="scan'208";a="293723297" Received: from unknown (HELO fmsmsx606.amr.corp.intel.com) ([10.18.84.216]) by orsmga003.jf.intel.com with ESMTP; 20 Aug 2020 22:33:21 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 20 Aug 2020 22:33:21 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) 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; Thu, 20 Aug 2020 22:33:21 -0700 Received: from FMSEDG001.ED.cps.intel.com (10.1.192.133) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Thu, 20 Aug 2020 22:33:21 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.170) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 20 Aug 2020 22:33:16 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IEGmesamP08uIp/NbYlu6ZaG9Bm9/YD5fdUAdyM//yPhb7gkggtKtHK0KOOyAlpUhuelKYZUCZmKU41R9kDo1GhXpK2OC6mTotMD0mboiPG5ky+fVBtPCFJFqnt+zRqYVYc/Htqb2pJdusfbsvLLvWKlii1UYXPEgPguApMDBrT3/FeZeWYNHublN7yUiwdbLsCGngud0+3F1DxDaB2xkzVnQD7KPtlemmejQE0gd6leqCiPF78gZrcT9uRO1mK8nPv0OC9YnfJmwZ909Ro45glUM47tqFW1V5xKo71ZrjpiJKVRbAZHsdOWmUClnccZeoiez1n3h5U1gD0yxVOVYg== 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=Enc97sfRguFENN7hWs7O6tnPMBsMlMKacc11YDidOks=; b=X+f3a3P8on9i2AMD8N/BNa8sLfnSKCePZAsxj8/6BjRmY1vNd1IrgmwxUM769Mh9Zyl+41DCoDPQBdZL1KJutYWQY4oW1QRCtsSk13ZMP3y7ISYZj+MqUU+9QgpMk6psb2eooiTksIvQY94T/Ysb/lDY2LNA5FKXPRumaSmmrWuL+rn7JKjcNNJ1VBaDWO5iu+kQnJJlubzXjYc4BRx/ykkwbdYMfpk2lnEDaegBl+jsvLHVVn5UqYzFdkHTEH6PGmJWZWsDnPFiIIl/cRpUae+9HmZll8GFEXd1U0/5LbLTer3X5r+C7DEaRgUc4jjBvSpqBV4ftkSYyJXHbbNmtw== 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=Enc97sfRguFENN7hWs7O6tnPMBsMlMKacc11YDidOks=; b=zR9zecKzvG0YBgSiafwIy1hFkU1Yoki3ZPPuGEN68L7Bi2YRRp7mIpiFB+4Gd3dl+2l1wN92cCqGBinelqOsxOo55SPj92HiMIDkG+JgsVwYrvxmtwoRAKOipW0nmfcszk6HNOhFsEjcJWI7AdbqOy+kYsjhI89AmYQT/8NVoHg= Received: from MWHPR1101MB2160.namprd11.prod.outlook.com (2603:10b6:301:5b::12) by MWHPR1101MB2254.namprd11.prod.outlook.com (2603:10b6:301:58::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.25; Fri, 21 Aug 2020 05:33:14 +0000 Received: from MWHPR1101MB2160.namprd11.prod.outlook.com ([fe80::24df:561d:46a:d33a]) by MWHPR1101MB2160.namprd11.prod.outlook.com ([fe80::24df:561d:46a:d33a%4]) with mapi id 15.20.3305.026; Fri, 21 Aug 2020 05:33:14 +0000 From: "Nate DeSimone" To: "devel@edk2.groups.io" , "michael.kubacki@outlook.com" CC: "Gao, Liming" , "Kinney, Michael D" , "Jiang, Guomin" , "Xu, Wei6" Subject: Re: [edk2-devel] [PATCH v2 2/6] FmpDevicePkg: Add LastAttemptStatus.h Thread-Topic: [edk2-devel] [PATCH v2 2/6] FmpDevicePkg: Add LastAttemptStatus.h Thread-Index: AQHWb1TcRXyiudVrhUC00OwHHCZcoqkxmYAAgAGWmICAABPngIAM9Tyg Date: Fri, 21 Aug 2020 05:33:14 +0000 Message-ID: References: <20200810202753.1318-1-michael.kubacki@outlook.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZjc5YmY1ZTYtOWM4OS00YzUxLWFlYmUtNDA4NzUwNTVmZTJjIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoidCtYN1paYkNZaDFXZisyRjgrd210YjlnQ2hNaDNOUjgwcHBiZzFYOHloSmxDMHBpeG1lc3A3RW56Tno4eU8rMSJ9 dlp-reaction: no-action dlp-version: 11.5.1.3 dlp-product: dlpe-windows x-ctpclassification: CTP_NT authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [50.53.190.176] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d43ef521-6382-4da2-0e39-08d84593b367 x-ms-traffictypediagnostic: MWHPR1101MB2254: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: jBVZVVSNRe8VNsJTF4iyaA/PDEYWwT7KevKJ+nI3lpuzwX0iaqBo2sKkQv6pMCv4cXoFVm7FtD/sxaYNEBpOuDV3Y/tBl9CTbzSh7Vt0CM+2hulZb21gSbd/0u32gJUZ8+Ijb/XqmuE5eLu4T1gvauA//VGlPGLTyMPchmnSqIeuMZppzVaiEoDaUKRGRW4r8PAQWxbuuyBik5g2E/C59u8hNmFjA2EDMh8QY+US9D8L/jJ9RNqvuEB97Z4w2EcCK74agHde9vT3bFusDDNEAEFUQDEPESxoN+XRyhuQjspilvkPvJ8FSGl0OIHTLOuJ4Sbd9CFfxWovgEpkooLsMHt0fI9cPz3w8sk3sQj5C8pFvTOPgIfIdl/FLBJqGrBIUK306OE93r9GiCPBCCTGpg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1101MB2160.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39860400002)(376002)(346002)(366004)(136003)(396003)(66476007)(53546011)(66446008)(66556008)(64756008)(966005)(71200400001)(478600001)(66946007)(83380400001)(8676002)(8936002)(52536014)(76116006)(4326008)(186003)(2906002)(107886003)(7696005)(26005)(55016002)(5660300002)(86362001)(33656002)(45080400002)(54906003)(110136005)(9686003)(316002)(6506007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: +3iYyoTaHVoB+lZKBe7CUz9LUokf8wvdnsZo9Ltuw1SW07kdA/LBrvuPg44xA/VxeJSDho0jFruMhfnZ2rT+tJPgucH0fzWwYROnMMVDjhflqBo2IOY06EplmnCvNEFRNRhVwCYeY2X6vE9ZUI0jZ0j5ZB0N7VOoCXCzorb5lYvlGPc6hGEieku6WgrblpKto8VeMEu3M7O8NHT+rhbNbBpqLU4liU9OGrOjhs+QksZTXdksrE93t0sZZir7Y/tTMHrEh6EmkiuoTm4cjAtRRuVLxaUE9nbFxOdSJfWXqVw8l4Aqo/hijp+byS0IVIvNsBmKXbaLF6Blg+NuIW5yW9hI0KWvNnCfsMORkgqZUjPDRdgqYqJTlD4ekeuKQy36n//JrsTGvMPE570T76JbjOhQvVF1Pn6LLgOPXv3jiOJ1x8vboUsea3Wx3XWGESbjq/7IphhEOpicwoGWrC5RKMNpAAPEjEy03fmU2ksD4FfHhMqBHHruZMCkcr6jIoNUE3NqWPFmftKEA/lCYki9EZV4dLuGDWXofy1WgnRVtJNteMi4jpKKCIccs8ZCQHRqhiqYu12lXTjkEQScm0AHWes4SmfOOEjhks2et21inL22prFmqiGO1iply16ns/lyZApYVUNsjg0Q1GV5r5TY/Q== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR1101MB2160.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d43ef521-6382-4da2-0e39-08d84593b367 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Aug 2020 05:33:14.4879 (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: r+uevHLZHP/ygQ0nYS/Ml59APpjK/2dhgie+zkGuOXUWRGNi7kNTR7nejjF2khyzkUm+TxlbZEZZbo9dc2GOYGYbTAuLwPxDxurJ+2SC/u4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1101MB2254 Return-Path: nathaniel.l.desimone@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTWljaGFlbCwNCg0KSSBndWVzcyBJIG1pZ2h0IG5vdCB1bmRlcnN0YW5kIHRoZSBleGFjdCB1 c2UgY2FzZXMgZm9yIHRoZSBlbnVtLiBJdCBzZWVtcyBsaWtlIHRoZSBtZWFuaW5nIG9mIHRoZSBl cnJvciBjb2RlcyB5b3Ugb25seSB3YW50IHRvIGJlIGtub3duIHdpdGhpbiBGbXBEZXZpY2VQa2cs IGJ1dCBpdCBhcHBlYXJzIHRvIG1lIHRoYXQgdGhlIGVycm9yIGNvZGUgdmFsdWVzIGNvdWxkIHRy YXZlcnNlIHRvIGRyaXZlcnMgb3V0c2lkZSB0aGlzIHBhY2thZ2UsIGlzIHRoYXQgY29ycmVjdD8N Cg0KVGhhbmtzLA0KTmF0ZQ0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogZGV2 ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgTWlj aGFlbCBLdWJhY2tpDQpTZW50OiBUdWVzZGF5LCBBdWd1c3QgMTEsIDIwMjAgMTE6NTggQU0NClRv OiBEZXNpbW9uZSwgTmF0aGFuaWVsIEwgPG5hdGhhbmllbC5sLmRlc2ltb25lQGludGVsLmNvbT47 IGRldmVsQGVkazIuZ3JvdXBzLmlvDQpDYzogR2FvLCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwu Y29tPjsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgSmlh bmcsIEd1b21pbiA8Z3VvbWluLmppYW5nQGludGVsLmNvbT47IFh1LCBXZWk2IDx3ZWk2Lnh1QGlu dGVsLmNvbT4NClN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYyIDIvNl0gRm1wRGV2 aWNlUGtnOiBBZGQgTGFzdEF0dGVtcHRTdGF0dXMuaA0KDQpJIHJlYWxpemVkIHRoZXJlIGlzIHJv b20gZm9yIG1pc2ludGVycHJldGF0aW9uIG9mIHRoZSBtYWNyb3MgTEFTVF9BVFRFTVBUX1NUQVRV U19EUklWRVJfRVJST1JfQ09VTlQgYW5kIExBU1RfQVRURU1QVF9TVEFUVVNfREVQRU5ERU5DWV9F UlJPUl9DT1VOVCBiYXNlZCBvbiBuYW1lLg0KDQpJZiB0aGVyZSdzIG5vIGZ1cnRoZXIgZmVlZGJh Y2sgb24gdGhlIHRvcGljLCBJJ2xsIGNoYW5nZSB0aGVtIHRvIExBU1RfQVRURU1QVF9TVEFUVVNf RFJJVkVSX0VSUk9SX1JBTkdFX0xFTkdUSCBhbmQgTEFTVF9BVFRFTVBUX1NUQVRVU19ERVBFTkRF TkNZX0VSUk9SX1JBTkdFX0xFTkdUSC4NCg0KVGhhbmtzLA0KTWljaGFlbA0KDQpPbiA4LzExLzIw MjAgMTA6NDYgQU0sIE1pY2hhZWwgS3ViYWNraSB3cm90ZToNCj4gIzE6IEluIHYzLCBJJ20gZ29p bmcgdG8gc3BsaXQgaXQgc3VjaCB0aGF0IHRoZSBkZWZpbmVzIGFyZSBpbiB0aGUgDQo+IHB1Ymxp YyBoZWFkZXIgYW5kIHRoZSBlbnVtIHNwZWNpZnlpbmcgdGhlIGludGVybmFsIGRyaXZlciBhbmQg DQo+IGRlcGVuZGVuY3kgcmFuZ2VzIGFyZSBpbiBhIHByaXZhdGUgaGVhZGVyIHRvIEZtcERldmlj ZVBrZy4NCj4gDQo+IEhlcmUncyB0aGUgY3VycmVudCBzZXQgb2YgdjMgY2hhbmdlcyB0byBhZ3Jl ZSB1cG9uIGJlZm9yZSBzZW5kaW5nIGEgc2VyaWVzOg0KPiAxLiBNb3ZlIHRoZSBkZWZpbmVzIGZv ciB0aGUgcmFuZ2VzIHRvIGEgcHVibGljIGhlYWRlciAyLiBNb3ZlIHRoZSBlbnVtIA0KPiB0byBh IHByaXZhdGUgaW5zdGFuY2UgZmlsZSAzLiBSZW5hbWUgDQo+IExBU1RfQVRURU1QVF9TVEFUVVNf TElCUkFSWV9FUlJPUl9NSU5fRVJST1JfQ09ERSB0byANCj4gTEFTVF9BVFRFTVBUX1NUQVRVU19E RVZJQ0VfTElCUkFSWV9FUlJPUl9NSU5fRVJST1JfQ09ERQ0KPiA0LiBJbmNsdWRlIGEgY29tbWVu dCB0byBleHBsaWNpdGx5IHN0YXRlIG5ldyBjb2RlcyB3aXRoaW4gYSBnaXZlbiANCj4gcmFuZ2Ug bXVzdCBiZSBhZGRlZCBhdCB0aGUgZW5kIG9mIHRoZSByYW5nZQ0KPiANCj4gUGxlYXNlIGxldCBt ZSBrbm93IGlmIHRoZXJlJ3MgYW55IGZ1cnRoZXIgZmVlZGJhY2suDQo+IA0KPiBUaGFua3MsDQo+ IE1pY2hhZWwNCj4gDQo+IE9uIDgvMTAvMjAyMCA1OjMxIFBNLCBEZXNpbW9uZSwgTmF0aGFuaWVs IEwgd3JvdGU6DQo+PiBNeSBmZWVkYmFjazoNCj4+DQo+PiAjMTogV2h5IGlzIExhc3RBdHRlbXB0 U3RhdHVzLmggaW4gUHJpdmF0ZUluY2x1ZGU/IFNlZW1zIGxpa2UgDQo+PiBzb21ldGhpbmcgeW91 IHdvdWxkIHdhbnQgdG8gaGF2ZSBhcyBhIHB1YmxpYyBoZWFkZXIuDQo+Pg0KPj4gIzI6IElmIHNv bWVvbmUgaW5zZXJ0cyBhIG5ldyBlbnVtIHZhbHVlIGluIHRoZSBtaWRkbGUgb2YgDQo+PiBMQVNU X0FUVEVNUFRfU1RBVFVTX0VYUEFOREVEX0VSUk9SX0xJU1QgaXQgd2lsbCBtYWtlIGl0IGRpZmZp Y3VsdCB0byANCj4+IGRlY29kZSBlcnJvciBjb2RlcyBpbiB0aGUgZnV0dXJlLiBFaXRoZXIgcHV0 IGEgY29tbWVudCB0aGF0IG5ldyBlcnJvciANCj4+IGNvZGUgc2hvdWxkIGdvIG9uIHRoZSBib3R0 b20uIE9yIGFkZCBzb21lIHNwYWNlIGJldHdlZW4gZWFjaCBlbnRyeSANCj4+IHVzaW5nIHNvbWV0 aGluZyBsaWtlIHRoaXM6DQo+Pg0KPj4gZW51bSBMQVNUX0FUVEVNUFRfU1RBVFVTX0VYUEFOREVE X0VSUk9SX0xJU1QNCj4+IHsNCj4+IMKgwqAgTEFTVF9BVFRFTVBUX1NUQVRVU19EUklWRVJfRVJS T1JfR0VUX0ZNUF9IRUFERVIgPSANCj4+IExBU1RfQVRURU1QVF9TVEFUVVNfRVJST1JfVU5TVUND RVNTRlVMX1ZFTkRPUl9SQU5HRV9NSU4sDQo+PiDCoMKgIExBU1RfQVRURU1QVF9TVEFUVVNfRFJJ VkVSX0VSUk9SX1BST0dSRVNTX0NBTExCQUNLX0VSUk9SID0gDQo+PiBMQVNUX0FUVEVNUFRfU1RB VFVTX0VSUk9SX1VOU1VDQ0VTU0ZVTF9WRU5ET1JfUkFOR0VfTUlOICsgMTAsDQo+PiDCoMKgIExB U1RfQVRURU1QVF9TVEFUVVNfRFJJVkVSX0VSUk9SX0NIRUNLX1BPV0VSX0FQSSA9IA0KPj4gTEFT VF9BVFRFTVBUX1NUQVRVU19FUlJPUl9VTlNVQ0NFU1NGVUxfVkVORE9SX1JBTkdFX01JTiArIDIw LA0KPj4gwqDCoCBMQVNUX0FUVEVNUFRfU1RBVFVTX0RSSVZFUl9FUlJPUl9DSEVDS19TWVNfVEhF Uk1BTF9BUEkgPSANCj4+IExBU1RfQVRURU1QVF9TVEFUVVNfRVJST1JfVU5TVUNDRVNTRlVMX1ZF TkRPUl9SQU5HRV9NSU4gKyAzMCwNCj4+IMKgwqAgTEFTVF9BVFRFTVBUX1NUQVRVU19EUklWRVJf RVJST1JfVEhFUk1BTCA9IA0KPj4gTEFTVF9BVFRFTVBUX1NUQVRVU19FUlJPUl9VTlNVQ0NFU1NG VUxfVkVORE9SX1JBTkdFX01JTiArIDQwLA0KPj4gwqDCoCBMQVNUX0FUVEVNUFRfU1RBVFVTX0RS SVZFUl9FUlJPUl9DSEVDS19TWVNfRU5WX0FQSSA9IA0KPj4gTEFTVF9BVFRFTVBUX1NUQVRVU19F UlJPUl9VTlNVQ0NFU1NGVUxfVkVORE9SX1JBTkdFX01JTiArIDUwLA0KPj4gwqDCoCBMQVNUX0FU VEVNUFRfU1RBVFVTX0RSSVZFUl9FUlJPUl9TWVNURU1fRU5WID0gDQo+PiBMQVNUX0FUVEVNUFRf U1RBVFVTX0VSUk9SX1VOU1VDQ0VTU0ZVTF9WRU5ET1JfUkFOR0VfTUlOICsgNjAsDQo+Pg0KPj4g VGhlbiB5b3UgY2FuIGluc2VydCBzb21ldGhpbmcgaW4gdGhlIG1pZGRsZSBieSBhZGRpbmcgKzUu DQo+Pg0KPj4gVGhhbmtzLA0KPj4gTmF0ZQ0KPj4NCj4+IO+7v09uIDgvMTAvMjAsIDE6MjggUE0s ICJkZXZlbEBlZGsyLmdyb3Vwcy5pbyBvbiBiZWhhbGYgb2YgTWljaGFlbCANCj4+IEt1YmFja2ki IDxkZXZlbEBlZGsyLmdyb3Vwcy5pbyBvbiBiZWhhbGYgb2YgDQo+PiBtaWNoYWVsLmt1YmFja2lA b3V0bG9vay5jb20+IHdyb3RlOg0KPj4NCj4+IMKgwqDCoMKgIEZyb206IE1pY2hhZWwgS3ViYWNr aSA8bWljaGFlbC5rdWJhY2tpQG1pY3Jvc29mdC5jb20+DQo+Pg0KPj4gwqDCoMKgwqAgSW50cm9k dWNlcyBhIGhlYWRlciBmaWxlIHRvIGNvbnRhaW4gTGFzdCBBdHRlbXB0IFN0YXR1cyBjb2RlcyAN Cj4+IHRoYXQNCj4+IMKgwqDCoMKgIGRlZmluZSBncmFudWxhciBGbXBEZXZpY2VQa2cgdXNhZ2Ug b2YgdGhlIFVFRkkgU3BlY2lmaWNhdGlvbg0KPj4gwqDCoMKgwqAgZGVmaW5lZCB2ZW5kb3IgcmFu Z2UuIFRoZSB2ZW5kb3IgcmFuZ2UgaXMgZGVzY3JpYmVkIGluIFVFRkkNCj4+IMKgwqDCoMKgIFNw ZWNpZmljYXRpb24gMi44QSBzZWN0aW9uIDIzLjQuDQo+Pg0KPj4gwqDCoMKgwqAgV2l0aCB0aGlz IGNoYW5nZSwgRm1wRGV2aWNlUGtnIGN1cnJlbnRseSBkZWZpbmVzIHRocmVlIHN1YnJhbmdlcyAN Cj4+IG9mDQo+PiDCoMKgwqDCoCB0aGUgTGFzdCBBdHRlbXB0IFN0YXR1cyB2ZW5kb3IgcmFuZ2U6 DQo+PiDCoMKgwqDCoMKgwqAgMS4gRHJpdmVyIC0gQ29kZXMgcmV0dXJuZWQgZnJvbSBvcGVyYXRp b25zIHBlcmZvcm1lZCBieSB0aGUNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBGbXBEeGUgZHJpdmVy Lg0KPj4gwqDCoMKgwqDCoMKgIDIuIERlcGVuZGVuY3kgLSBDb2RlcyByZXR1cm5lZCBmcm9tIEZN UCBkZXBlbmRlbmN5IHJlbGF0ZWQNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBmdW5jdGlvbmFsaXR5 IChlLmcuIEZtcERlcGVuZGVuY3lMaWIpLg0KPj4gwqDCoMKgwqDCoMKgIDMuIExpYnJhcnkgLSBD b2RlcyByZXR1cm5lZCBmcm9tIEZtcERldmljZUxpYiBpbnN0YW5jZXMuDQo+Pg0KPj4gwqDCoMKg wqAgQ2M6IExpbWluZyBHYW8gPGxpbWluZy5nYW9AaW50ZWwuY29tPg0KPj4gwqDCoMKgwqAgQ2M6 IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPj4gwqDCoMKg wqAgQ2M6IEd1b21pbiBKaWFuZyA8Z3VvbWluLmppYW5nQGludGVsLmNvbT4NCj4+IMKgwqDCoMKg IENjOiBXZWk2IFh1IDx3ZWk2Lnh1QGludGVsLmNvbT4NCj4+IMKgwqDCoMKgIFNpZ25lZC1vZmYt Ynk6IE1pY2hhZWwgS3ViYWNraSA8bWljaGFlbC5rdWJhY2tpQG1pY3Jvc29mdC5jb20+DQo+PiDC oMKgwqDCoCAtLS0NCj4+IMKgwqDCoMKgwqAgRm1wRGV2aWNlUGtnL1ByaXZhdGVJbmNsdWRlL0xh c3RBdHRlbXB0U3RhdHVzLmggfCA4MQ0KPj4gKysrKysrKysrKysrKysrKysrKysNCj4+IMKgwqDC oMKgwqAgMSBmaWxlIGNoYW5nZWQsIDgxIGluc2VydGlvbnMoKykNCj4+DQo+PiDCoMKgwqDCoCBk aWZmIC0tZ2l0IGEvRm1wRGV2aWNlUGtnL1ByaXZhdGVJbmNsdWRlL0xhc3RBdHRlbXB0U3RhdHVz LmgNCj4+IGIvRm1wRGV2aWNlUGtnL1ByaXZhdGVJbmNsdWRlL0xhc3RBdHRlbXB0U3RhdHVzLmgN Cj4+IMKgwqDCoMKgIG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+PiDCoMKgwqDCoCBpbmRleCAwMDAw MDAwMDAwMDAuLjAxZTk2YjIzZWRhZA0KPj4gwqDCoMKgwqAgLS0tIC9kZXYvbnVsbA0KPj4gwqDC oMKgwqAgKysrIGIvRm1wRGV2aWNlUGtnL1ByaXZhdGVJbmNsdWRlL0xhc3RBdHRlbXB0U3RhdHVz LmgNCj4+IMKgwqDCoMKgIEBAIC0wLDAgKzEsODEgQEANCj4+IMKgwqDCoMKgICsvKiogQGZpbGUN Cj4+IMKgwqDCoMKgICvCoCBEZWZpbmVzIGxhc3QgYXR0ZW1wdCBzdGF0dXMgY29kZXMgdXNlZCBp biBGbXBEZXZpY2VQa2cuDQo+PiDCoMKgwqDCoCArDQo+PiDCoMKgwqDCoCArwqAgQ29weXJpZ2h0 IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uPEJSPg0KPj4gwqDCoMKgwqAgKw0KPj4gwqDCoMKg wqAgK8KgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+PiDC oMKgwqDCoCArDQo+PiDCoMKgwqDCoCArKiovDQo+PiDCoMKgwqDCoCArDQo+PiDCoMKgwqDCoCAr I2lmbmRlZiBfX0ZNUF9MQVNUX0FUVEVNUFRfU1RBVFVTX0hfXw0KPj4gwqDCoMKgwqAgKyNkZWZp bmUgX19GTVBfTEFTVF9BVFRFTVBUX1NUQVRVU19IX18NCj4+IMKgwqDCoMKgICsNCj4+IMKgwqDC oMKgICsvLw0KPj4gwqDCoMKgwqAgKy8vIFNpemUgb2YgdGhlIGVycm9yIGNvZGUgcmFuZ2UgZm9y IEZNUCBkcml2ZXItc3BlY2lmaWMgZXJyb3JzDQo+PiDCoMKgwqDCoCArLy8NCj4+IMKgwqDCoMKg ICsjZGVmaW5lIExBU1RfQVRURU1QVF9TVEFUVVNfRFJJVkVSX0VSUk9SX0NPVU5UwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgDQo+PiAweDgwDQo+PiDCoMKgwqDCoCArDQo+PiDCoMKgwqDCoCAr Ly8NCj4+IMKgwqDCoMKgICsvLyBTaXplIG9mIHRoZSBlcnJvciBjb2RlIHJhbmdlIGZvciBGTVAg ZGVwZW5kZW5jeSByZWxhdGVkIA0KPj4gZXJyb3JzDQo+PiDCoMKgwqDCoCArLy8NCj4+IMKgwqDC oMKgICsjZGVmaW5lIExBU1RfQVRURU1QVF9TVEFUVVNfREVQRU5ERU5DWV9FUlJPUl9DT1VOVMKg wqDCoMKgwqDCoMKgwqDCoCANCj4+IDB4MjANCj4+IMKgwqDCoMKgICsNCj4+IMKgwqDCoMKgICsj ZGVmaW5lIExBU1RfQVRURU1QVF9TVEFUVVNfRFJJVkVSX01BWF9FUlJPUl9DT0RFX1ZBTFVFICAg ICANCj4+IExBU1RfQVRURU1QVF9TVEFUVVNfRVJST1JfVU5TVUNDRVNTRlVMX1ZFTkRPUl9SQU5H RV9NSU4gKyBcDQo+PiDCoMKgwqDCoCArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgDQo+PiBMQVNUX0FUVEVNUFRfU1RBVFVTX0RSSVZFUl9FUlJPUl9DT1VOVCAt IDENCj4+IMKgwqDCoMKgICsNCj4+IMKgwqDCoMKgICsjZGVmaW5lIExBU1RfQVRURU1QVF9TVEFU VVNfREVQRU5ERU5DWV9NQVhfRVJST1JfQ09ERV9WQUxVRQ0KPj4gTEFTVF9BVFRFTVBUX1NUQVRV U19EUklWRVJfTUFYX0VSUk9SX0NPREVfVkFMVUUgKyBcDQo+PiDCoMKgwqDCoCArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQo+PiBMQVNUX0FUVEVNUFRfU1RB VFVTX0RFUEVOREVOQ1lfRVJST1JfQ09VTlQNCj4+IMKgwqDCoMKgICsNCj4+IMKgwqDCoMKgICsj ZGVmaW5lIExBU1RfQVRURU1QVF9TVEFUVVNfTElCUkFSWV9NQVhfRVJST1JfQ09ERV9WQUxVRQ0K Pj4gTEFTVF9BVFRFTVBUX1NUQVRVU19FUlJPUl9VTlNVQ0NFU1NGVUxfVkVORE9SX1JBTkdFX01B WCAtIDENCj4+IMKgwqDCoMKgICsNCj4+IMKgwqDCoMKgICsvLw0KPj4gwqDCoMKgwqAgKy8vIExh c3QgYXR0ZW1wdCBzdGF0dXMgY29kZXMgZGVmaW5lZCBmb3IgYWRkaXRpb25hbCBncmFudWxhcml0 eSANCj4+IGluIHRoZSBGTVAgc3RhY2suDQo+PiDCoMKgwqDCoCArLy8NCj4+IMKgwqDCoMKgICsv LyBUaGVzZSBjb2RlcyBhcmUgZGVmaW5lZCB3aXRoaW4gdGhlIGhpZ2hlci1sZXZlbCBVRUZJIA0K Pj4gc3BlY2lmaWNhdGlvbiBkZWZpbmVkIFVOU1VDQ0VTU0ZVTF9WRU5ET1JfUkFOR0UuDQo+PiDC oMKgwqDCoCArLy8NCj4+IMKgwqDCoMKgICsvLyBUaGUgZm9sbG93aW5nIGxhc3QgYXR0ZW1wdCBz dGF0dXMgY29kZSByYW5nZXMgYXJlIGRlZmluZWQgDQo+PiBmb3IgdGhlIGZvbGxvd2luZyBjb3Jy ZXNwb25kaW5nIGNvbXBvbmVudDoNCj4+IMKgwqDCoMKgICsvL8KgwqAgKiBMQVNUX0FUVEVNUFRf U1RBVFVTX0RSSVZFUiAtIEZNUCBkcml2ZXINCj4+IMKgwqDCoMKgICsvL8KgwqAgKiBMQVNUX0FU VEVNUFRfU1RBVFVTX0RFUEVOREVOQ1kgLSBGTVAgZGVwZW5kZW5jeSANCj4+IGZ1bmN0aW9uYWxp dHkNCj4+IMKgwqDCoMKgICsvL8KgwqAgKiBMQVNUX0FUVEVNUFRfU1RBVFVTX0xJQlJBUlkgLSBG TVAgZGV2aWNlIGxpYnJhcnkgDQo+PiBpbnN0YW5jZXMNCj4+IMKgwqDCoMKgICsvLw0KPj4gwqDC oMKgwqAgK2VudW0gTEFTVF9BVFRFTVBUX1NUQVRVU19FWFBBTkRFRF9FUlJPUl9MSVNUDQo+PiDC oMKgwqDCoCArew0KPj4gwqDCoMKgwqAgKw0KPj4gTEFTVF9BVFRFTVBUX1NUQVRVU19EUklWRVJf RVJST1JfR0VUX0ZNUF9IRUFERVLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA9IA0K Pj4gTEFTVF9BVFRFTVBUX1NUQVRVU19FUlJPUl9VTlNVQ0NFU1NGVUxfVkVORE9SX1JBTkdFX01J TiwNCj4+IMKgwqDCoMKgICvCoCBMQVNUX0FUVEVNUFRfU1RBVFVTX0RSSVZFUl9FUlJPUl9QUk9H UkVTU19DQUxMQkFDS19FUlJPUsKgwqDCoMKgwqDCoMKgIA0KPj4gLA0KPj4gwqDCoMKgwqAgK8Kg IExBU1RfQVRURU1QVF9TVEFUVVNfRFJJVkVSX0VSUk9SX0NIRUNLX1BPV0VSX0FQScKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCANCj4+ICwNCj4+IMKgwqDCoMKgICvCoCBMQVNUX0FUVEVN UFRfU1RBVFVTX0RSSVZFUl9FUlJPUl9DSEVDS19TWVNfVEhFUk1BTF9BUEnCoMKgwqDCoMKgwqDC oMKgwqAgDQo+PiAsDQo+PiDCoMKgwqDCoCArwqAgTEFTVF9BVFRFTVBUX1NUQVRVU19EUklWRVJf RVJST1JfVEhFUk1BTMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgDQo+PiAsDQo+PiDCoMKgwqDCoCArwqAgTEFTVF9BVFRFTVBUX1NUQVRVU19EUklWRVJfRVJS T1JfQ0hFQ0tfU1lTX0VOVl9BUEnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCANCj4+ICwNCj4+ IMKgwqDCoMKgICvCoCBMQVNUX0FUVEVNUFRfU1RBVFVTX0RSSVZFUl9FUlJPUl9TWVNURU1fRU5W wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCANCj4+ICwNCj4+IMKgwqDC oMKgICvCoCBMQVNUX0FUVEVNUFRfU1RBVFVTX0RSSVZFUl9FUlJPUl9HRVRfRk1QX0hFQURFUl9T SVpFwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCANCj4+ICwNCj4+IMKgwqDCoMKgICvCoCBMQVNUX0FU VEVNUFRfU1RBVFVTX0RSSVZFUl9FUlJPUl9HRVRfQUxMX0hFQURFUl9TSVpFwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCANCj4+ICwNCj4+IMKgwqDCoMKgICvCoCBMQVNUX0FUVEVNUFRfU1RBVFVTX0RS SVZFUl9FUlJPUl9HRVRfRk1QX0hFQURFUl9WRVJTSU9OwqDCoMKgwqDCoMKgwqDCoCANCj4+ICwN Cj4+IMKgwqDCoMKgICvCoCBMQVNUX0FUVEVNUFRfU1RBVFVTX0RSSVZFUl9FUlJPUl9JTUFHRV9O T1RfUFJPVklERUTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgDQo+PiAsDQo+PiDCoMKgwqDCoCAr wqAgTEFTVF9BVFRFTVBUX1NUQVRVU19EUklWRVJfRVJST1JfSU1BR0VfTk9UX1VQREFUQUJMRcKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgDQo+PiAsDQo+PiDCoMKgwqDCoCArwqAgTEFTVF9BVFRFTVBU X1NUQVRVU19EUklWRVJfRVJST1JfSU5WQUxJRF9DRVJUSUZJQ0FURcKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgDQo+PiAsDQo+PiDCoMKgwqDCoCArwqAgTEFTVF9BVFRFTVBUX1NUQVRVU19EUklWRVJf RVJST1JfSU5WQUxJRF9JTUFHRV9JTkRFWMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgDQo+PiAsDQo+ PiDCoMKgwqDCoCArwqAgTEFTVF9BVFRFTVBUX1NUQVRVU19EUklWRVJfRVJST1JfSU5WQUxJRF9L RVlfTEVOR1RIwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIA0KPj4gLA0KPj4gwqDCoMKgwqAgK8Kg IExBU1RfQVRURU1QVF9TVEFUVVNfRFJJVkVSX0VSUk9SX0lOVkFMSURfS0VZX0xFTkdUSF9WQUxV RcKgwqDCoMKgwqDCoCANCj4+ICwNCj4+IMKgwqDCoMKgICvCoCBMQVNUX0FUVEVNUFRfU1RBVFVT X0RSSVZFUl9FUlJPUl9WRVJTSU9OX1RPT19MT1fCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgDQo+PiAsDQo+PiDCoMKgwqDCoCArwqAgTEFTVF9BVFRFTVBUX1NUQVRVU19EUklWRVJfRVJS T1JfREVWSUNFX0xPQ0tFRMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgDQo+PiAs DQo+PiDCoMKgwqDCoCArwqAgTEFTVF9BVFRFTVBUX1NUQVRVU19EUklWRVJfRVJST1JfSU1BR0Vf QVVUSF9GQUlMVVJFwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIA0KPj4gLA0KPj4gwqDCoMKgwqAg K8KgIExBU1RfQVRURU1QVF9TVEFUVVNfRFJJVkVSX0VSUk9SX1BST1RPQ09MX0FSR19NSVNTSU5H wqDCoMKgwqDCoMKgwqDCoMKgwqAgDQo+PiAsDQo+PiDCoMKgwqDCoCArDQo+PiBMQVNUX0FUVEVN UFRfU1RBVFVTX0RSSVZFUl9FUlJPUl9NQVhfRVJST1JfQ09ERcKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgID0gDQo+PiBMQVNUX0FUVEVNUFRfU1RBVFVTX0RSSVZFUl9NQVhfRVJST1Jf Q09ERV9WQUxVRSwNCj4+IMKgwqDCoMKgICsNCj4+IMKgwqDCoMKgICvCoCBMQVNUX0FUVEVNUFRf U1RBVFVTX0RFUEVOREVOQ1lfRVJST1JfR0VUX0RFUEVYX0ZBSUxVUkXCoMKgwqDCoMKgwqDCoMKg wqAgDQo+PiAsDQo+PiDCoMKgwqDCoCArwqAgTEFTVF9BVFRFTVBUX1NUQVRVU19ERVBFTkRFTkNZ X0VSUk9SX05PX0VORF9PUENPREXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCANCj4+ICwNCj4+ IMKgwqDCoMKgICvCoCBMQVNUX0FUVEVNUFRfU1RBVFVTX0RFUEVOREVOQ1lfRVJST1JfVU5LTk9X Tl9PUENPREXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgDQo+PiAsDQo+PiDCoMKgwqDCoCArwqAg TEFTVF9BVFRFTVBUX1NUQVRVU19ERVBFTkRFTkNZX0VSUk9SX01FTU9SWV9BTExPQ0FUSU9OX0ZB SUxFRMKgwqAgDQo+PiAsDQo+PiDCoMKgwqDCoCArwqAgTEFTVF9BVFRFTVBUX1NUQVRVU19ERVBF TkRFTkNZX0VSUk9SX0dVSURfQkVZT05EX0RFUEVYwqDCoMKgwqDCoMKgwqDCoMKgIA0KPj4gLA0K Pj4gwqDCoMKgwqAgK8KgIExBU1RfQVRURU1QVF9TVEFUVVNfREVQRU5ERU5DWV9FUlJPUl9WRVJT SU9OX0JFWU9ORF9ERVBFWMKgwqDCoMKgwqDCoCANCj4+ICwNCj4+IMKgwqDCoMKgICvCoCBMQVNU X0FUVEVNUFRfU1RBVFVTX0RFUEVOREVOQ1lfRVJST1JfVkVSU0lPTl9TVFJfQkVZT05EX0RFUEVY wqDCoCANCj4+ICwNCj4+IMKgwqDCoMKgICvCoCBMQVNUX0FUVEVNUFRfU1RBVFVTX0RFUEVOREVO Q1lfRVJST1JfRk1QX05PVF9GT1VORMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIA0KPj4gLA0K Pj4gwqDCoMKgwqAgK8KgIExBU1RfQVRURU1QVF9TVEFUVVNfREVQRU5ERU5DWV9FUlJPUl9QVVNI X0ZBSUxVUkXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIA0KPj4gLA0KPj4gwqDCoMKgwqAg K8KgIExBU1RfQVRURU1QVF9TVEFUVVNfREVQRU5ERU5DWV9FUlJPUl9QT1BfRkFJTFVSRcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCANCj4+ICwNCj4+IMKgwqDCoMKgICsNCj4+IExBU1Rf QVRURU1QVF9TVEFUVVNfREVQRU5ERU5DWV9FUlJPUl9NQVhfRVJST1JfQ09ERcKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCA9IA0KPj4gTEFTVF9BVFRFTVBUX1NUQVRVU19ERVBFTkRFTkNZX01BWF9F UlJPUl9DT0RFX1ZBTFVFLA0KPj4gwqDCoMKgwqAgKw0KPj4gwqDCoMKgwqAgK8KgIExBU1RfQVRU RU1QVF9TVEFUVVNfTElCUkFSWV9FUlJPUl9NSU5fRVJST1JfQ09ERcKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCANCj4+ICwNCj4+IMKgwqDCoMKgICsNCj4+IExBU1RfQVRURU1QVF9TVEFU VVNfTElCUkFSWV9FUlJPUl9NQVhfRVJST1JfQ09ERcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCA9IA0KPj4gTEFTVF9BVFRFTVBUX1NUQVRVU19MSUJSQVJZX01BWF9FUlJPUl9DT0RFX1ZB TFVFDQo+PiDCoMKgwqDCoCArfTsNCj4+IMKgwqDCoMKgICsNCj4+IMKgwqDCoMKgICsjZW5kaWYN Cj4+IMKgwqDCoMKgIC0tDQo+PiDCoMKgwqDCoCAyLjI4LjAud2luZG93cy4xDQo+Pg0KPj4NCj4+ IMKgwqDCoMKgIA0KPj4NCj4+DQoNCg0KDQo=