From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.31; helo=mga06.intel.com; envelope-from=ruiyu.ni@intel.com; receiver=edk2-devel@lists.01.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 3205C20359A86 for ; Thu, 9 Nov 2017 16:48:48 -0800 (PST) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga104.jf.intel.com with ESMTP; 09 Nov 2017 16:52:51 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,371,1505804400"; d="scan'208";a="148123345" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga004.jf.intel.com with ESMTP; 09 Nov 2017 16:52:50 -0800 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 9 Nov 2017 16:52:50 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.152]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.213]) with mapi id 14.03.0319.002; Fri, 10 Nov 2017 08:52:48 +0800 From: "Ni, Ruiyu" To: Laszlo Ersek , "Justen, Jordan L" , Jeff Fan CC: "Kinney, Michael D" , "edk2-devel@lists.01.org" , "Yao, Jiewen" , "Dong, Eric" , Ard Biesheuvel Thread-Topic: [edk2] [PATCH 3/4] UefiCpuPkg/MtrrLib: Update algorithm to calculate optimal settings Thread-Index: AQHTQzbswd4TLjpf8E2+WggDFOcMPKMK6aiAgAAFA4CAAJR3YP//v+CAgACJ5qD//+A3gIABRf0w Date: Fri, 10 Nov 2017 00:52:47 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5BAB8FCF@SHSMSX104.ccr.corp.intel.com> References: <20171012084810.148196-1-ruiyu.ni@intel.com> <20171012084810.148196-4-ruiyu.ni@intel.com> <03e369bb-77c4-0134-258f-bdae62cbc8c5@redhat.com> <151019243761.10467.634318081879242382@jljusten-skl> <734D49CCEBEEF84792F5B80ED585239D5BAB7B62@SHSMSX104.ccr.corp.intel.com> <151021054953.14125.10727630216824816281@jljusten-skl> <734D49CCEBEEF84792F5B80ED585239D5BAB804D@SHSMSX104.ccr.corp.intel.com> <9474d983-b1c1-b83b-34ef-10bb84586ef6@redhat.com> In-Reply-To: <9474d983-b1c1-b83b-34ef-10bb84586ef6@redhat.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiOWMxOWJkNzgtY2JmNC00ZjM5LThiZmEtY2NlN2QxZjNjNDhjIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiJKK2NDdHR2QTM4YjBQelpDZHl3aHVIYm80N04rNkZJSkJpXC9KVElsTlR5ZXFaWktEcVJ4SHgxNlprcTFGVnFmQyJ9 x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH 3/4] UefiCpuPkg/MtrrLib: Update algorithm to calculate optimal settings 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: Fri, 10 Nov 2017 00:48:49 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTGFzemxvIEVyc2VrIFtt YWlsdG86bGVyc2VrQHJlZGhhdC5jb21dDQo+IFNlbnQ6IFRodXJzZGF5LCBOb3ZlbWJlciA5LCAy MDE3IDk6MTYgUE0NCj4gVG86IE5pLCBSdWl5dSA8cnVpeXUubmlAaW50ZWwuY29tPjsgSnVzdGVu LCBKb3JkYW4gTA0KPiA8am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT47IEplZmYgRmFuIDx2YW5q ZWZmXzkxOUBob3RtYWlsLmNvbT4NCj4gQ2M6IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQu a2lubmV5QGludGVsLmNvbT47IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnOw0KPiBZYW8sIEppZXdl biA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29t PjsgQXJkDQo+IEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+DQo+IFN1Ympl Y3Q6IFJlOiBbZWRrMl0gW1BBVENIIDMvNF0gVWVmaUNwdVBrZy9NdHJyTGliOiBVcGRhdGUgYWxn b3JpdGhtIHRvDQo+IGNhbGN1bGF0ZSBvcHRpbWFsIHNldHRpbmdzDQo+IA0KPiBPbiAxMS8wOS8x NyAwODoxMSwgTmksIFJ1aXl1IHdyb3RlOg0KPiA+IFRoZSBvbGQgdmVyc2lvbiBpcyBub3QganVz dCBzbG93Lg0KPiA+IEl0IGNhbm5vdCB3b3JrIGluIGNlcnRhaW4gY2FzZXMuIFRoYXQncyB3aHkg dGhlIG5ldyB2ZXJzaW9uIHdhcyBkZXZlbG9wZWQuDQo+ID4NCj4gPiBUaGUgbmV3IHZlcnNpb24g YWRkcyBhIG5ldyBBUEkgd2hpY2ggYWxsb3dzIGNhbGxlciB0byBwYXNzIGluIHRoZQ0KPiA+IHNj cmF0Y2ggYnVmZmVyIGluc3RlYWQgb2YgdXNpbmcgdGhlIHN0YWNrLiBJZiBhIHBsYXRmb3JtIGhh cyBsaW1pdGVkDQo+ID4gc3RhY2ssIGl0IGNhbiB1c2UgdGhhdCBBUEkuDQo+IA0KPiAoMSkgT0ss IHNvIGxldCBtZSBzdW1tYXJpemU6DQo+IA0KPiAoMWEpIFJheSBhbmQgSmVmZiBjb25maXJtZWQg dGhhdCB0aGUgQVAgc3RhY2tzIHNob3VsZCBiZSBhZmZlY3RlZCBpbg0KPiAqbmVpdGhlciogUGlT bW1DcHVEeGVTbW0gKm5vciogdGhlIE1wSW5pdExpYiBjbGllbnQgbW9kdWxlcyAoQ3B1TXBQZWks DQo+IENwdUR4ZSkuDQo+IA0KPiAoMWIpIFRoZXJlIGlzIGEgbmV3IE10cnJMaWIgY2xhc3MgQVBJ IHRoYXQgYWxsb3dzIHRoZSBjbGllbnQgbW9kdWxlIHRvIHBhc3MgaW4gYQ0KPiBwcmVhbGxvY2F0 ZWQgc2NyYXRjaCBidWZmZXIuDQo+IA0KPiAoMWEpIHNvdW5kcyBncmVhdC4NCj4gDQo+ICgxYikg aXMgYW4gb3B0aW9uIHdlIG1heSBvciBtYXkgbm90IHdhbnQgdG8gZXhlcmNpc2UgaW4gT1ZNRi4g SSBoYXZlIHRoZQ0KPiBwYXRjaGVzIHJlYWR5IGZvciBlbmxhcmdpbmcgdGhlIHRlbXAgU0VDL1BF SSBSQU0gKGFuZCBhcyBwYXJ0IG9mIHRoYXQsIHRoZQ0KPiB0ZW1wIHN0YWNrKSwgd2hpY2ggaXMg b25lIGFsdGVybmF0aXZlLiBIb3dldmVyLCBiZWNhdXNlIE9WTUYncyBQRUkgcGhhc2UgcnVucw0K PiBmcm9tIFJBTSAoYW5kIG5vdCBmbGFzaCksIHRoZSBvdGhlciBhbHRlcm5hdGl2ZSBpcyBqdXN0 IHRvIGFkZCBhIHN1ZmZpY2llbnRseSBsYXJnZQ0KPiBzdGF0aWMgVUlOVDggYXJyYXkgdG8gUGxh dGZvcm1QZWksIGFuZCBwYXNzIHRoYXQgYXMgc2NyYXRjaCBzcGFjZSB0byBNdHJyTGliLg0KPiAN Cj4gDQo+ICgyKSBIb3dldmVyOiBJIGRvbid0IGtub3cgKmhvdyogdGhlIG5ldyBBUEkgLS0NCj4g TXRyclNldE1lbW9yeUF0dHJpYnV0ZXNJbk10cnJTZXR0aW5ncygpIC0tIGlzIHN1cHBvc2VkIHRv IGJlIHVzZWQuIEluDQo+IE92bWZQa2cvUGxhdGZvcm1QZWksIHdlIGhhdmUgdGhlIGZvbGxvd2lu ZyBNdHJyTGliIGNhbGxzOg0KPiANCj4gKiBPdm1mUGtnL1BsYXRmb3JtUGVpL1hlbi5jOg0KPiAN Cj4gLSBNdHJyU2V0TWVtb3J5QXR0cmlidXRlKCkNCj4gDQo+IChpbiBhIGxvb3AsIGJhc2ljYWxs eSkNCj4gDQo+ICogT3ZtZlBrZy9QbGF0Zm9ybVBlaS9NZW1EZXRlY3QuYzoNCj4gDQo+IC0gSXNN dHJyU3VwcG9ydGVkKCkNCj4gLSBNdHJyR2V0QWxsTXRycnMoKQ0KPiAtIE10cnJTZXRBbGxNdHJy cygpDQo+IC0gTXRyclNldE1lbW9yeUF0dHJpYnV0ZSgpDQo+IA0KPiBJcyBteSB1bmRlcnN0YW5k aW5nIGNvcnJlY3QgdGhhdCBNdHJyU2V0TWVtb3J5QXR0cmlidXRlKCkgaXMgdGhlIG9ubHkgZnVu Y3Rpb24NCj4gdGhhdCBpcyBhZmZlY3RlZD8NCg0KMS4geWVzLiBPbmx5IE10cnJTZXRNZW1vcnlB dHRyaWJ1dGUoKSBjYWxsIGluIE9WTUYgaXMgYWZmZWN0ZWQuDQoNCj4gDQo+IA0KPiAoMykgSXMg bXkgdW5kZXJzdGFuZGluZyBjb3JyZWN0IHRoYXQNCj4gTXRyclNldE1lbW9yeUF0dHJpYnV0ZXNJ bk10cnJTZXR0aW5ncygpIHNob3VsZCBiZSB1c2VkIGxpa2UgdGhpczoNCj4gDQo+ICgzYSkgc3Rh cnQgd2l0aCBNdHJyR2V0QWxsTXRycnMoKQ0KPiANCj4gKDNiKSBjb2xsZWN0IGFsbCAqZm9yZXNl ZWFibGUqIE10cnJTZXRNZW1vcnlBdHRyaWJ1dGUoKSBjYWxscyBpbnRvIGFuDQo+ICAgICAgYXJy YXkgb2YgTVRSUl9NRU1PUllfUkFOR0UgZWxlbWVudHMNCj4gDQo+ICgzYykgUGVyZm9ybSBhIGJh dGNoIHVwZGF0ZSBvbiB0aGUgb3V0cHV0IG9mICgzYSkgYnkgY2FsbGluZw0KPiAgICAgIE10cnJT ZXRNZW1vcnlBdHRyaWJ1dGVzSW5NdHJyU2V0dGluZ3MoKS4gRm9yIHRoaXMsIHRoZSBhcnJheSBm cm9tDQo+ICAgICAgKDNiKSwgcGx1cyBhIGNhbGxlci1hbGxvY2F0ZWQgc2NyYXRjaCBzcGFjZSwg aGF2ZSB0byBiZSBwYXNzZWQgaW4sLg0KPiANCj4gKDNkKSBGaW5hbGx5LCBjYWxsIE10cnJTZXRB bGxNdHJycygpLg0KPiANCj4gSXMgdGhpcyBjb3JyZWN0Pw0KDQoyLiB5ZXMuIEluIHN1bW1hcnks IHRoZXJlIGFyZSB0aHJlZSB3YXlzIHRvIGNhbGwgdGhpcyBuZXcgQVBJLiBUaGUgZmlyc3Qgd2F5 IGlzIHdoYXQNCiAgICB5b3UgZGVzY3JpYmVkLiBUaGUgc2Vjb25kIHdheSBpcyBhIGJpdCBjaGFu Z2UgdG8gKDNhKSwgWmVyb01lbSgpIGlzIGNhbGxlZCANCiAgICBpbnN0ZWFkIG9mIE10cnJHZXRB bGxNdHJycygpIHRvIGluaXRpYWxpemUgdGhlIE1UUlIuIFRoZSB0aGlyZCB3YXkgaXMgdG8gY2Fs bA0KICAgIHRoaXMgbmV3IEFQSSB1c2luZyBOVUxMIE10cnJTZXR0aW5nLCB3aGljaCBjYXVzZSB0 aGUgQVBJIGl0c2VsZiB0byByZXRyaWV2ZQ0KICAgIHRoZSBjdXJyZW50IE1UUlIgc2V0dGluZ3Mg ZnJvbSBDUFUsIGFwcGx5IHRoZSBuZXcgc2V0dGluZywgd3JpdGUgdG8gQ1BVLg0KICAgIEJ1dCB0 aGUgdGhpcmQgd2F5IGRvZXNuJ3Qgc3VwcG9ydCBiYXRjaCBzZXR0aW5nLg0KDQo+IA0KPiBJIHRo aW5rIHdlIGNvdWxkIHVzZSB0aGlzLiBKb3JkYW4sIHdoaWNoIGFsdGVybmF0aXZlIGRvIHlvdSBw cmVmZXI7IGxhcmdlciBzdGFjaw0KPiBhbmQgdW5jaGFuZ2VkIGNvZGUgaW4gUGxhdGZvcm1QZWks IG9yIHNhbWUgc3RhY2sgYW5kIHVwZGF0ZWQgY29kZSBpbg0KPiBQbGF0Zm9ybVBlaT8NCj4gDQo+ IA0KPiAoNCkgUmF5OiB3b3VsZCBpdCBiZSBwb3NzaWJsZSB0byBleHBvc2UgU0NSQVRDSF9CVUZG RVJfU0laRSAod2l0aCBhIG5ldw0KPiBuYW1lIE1UUlJfU0NSQVRDSF9CVUZGRVJfU0laRSkgaW4g dGhlIGxpYnJhcnkgY2xhc3MgaGVhZGVyPyBJIHNlZSB0aGUgbmV3DQo+IFJFVFVSTl9CVUZGRVJf VE9PX1NNQUxMIHN0YXR1cyBjb2RlcywgYW5kIEkgZG9uJ3QgcmVhbGx5IHdhbnQgdG8gZGVhbCB3 aXRoDQo+IHRoZW0uIFRoZSBsaWJyYXJ5IGNsYXNzIGhlYWRlciBzaG91bGQgcHJvdmlkZSBjbGll bnRzIHdpdGggYSBzaXplIG1hY3JvIHRoYXQNCj4gKmd1YXJhbnRlZXMqIHRoYXQgUkVUVVJOX0JV RkZFUl9UT09fU01BTEwgd2lsbCBub3Qgb2NjdXIuDQo+IA0KPiBQcmFjdGljYWxseSBzcGVha2lu ZywgSSB3b3VsZCB1c2UgTVRSUl9TQ1JBVENIX0JVRkZFUl9TSVpFIGluIHRoZSBkZWZpbml0aW9u DQo+IG9mIHRoZSBzdGF0aWMgVUlOVDggYXJyYXkgaW4gUGxhdGZvcm1QZWkuIChJZiBKb3JkYW4g cHJlZmVycyB0aGlzIGFsdGVybmF0aXZlIHRvIHRoZQ0KPiBsYXJnZXIgdGVtcCBzdGFjay4pDQoN CjMuIE5vdCBxdWl0ZSBjb3JyZWN0LiBCZWNhdXNlIGV2ZW4gd2hlbiBwYXNzIGluIHRoZSBzY3Jh dGNoIGJ1ZmZlciB3aG9zZSBzaXplIGVxdWFsDQogICAgdG8gTVRSUl9TQ1JBVENIX0JVRkZFUl9T SVpFLCB0aGUgQlVGRkVSX1RPT19TTUFMTCBjb3VsZCBiZSByZXR1cm5lZC4NCiAgICBUaGF0J3Mg d2h5IHRoZSBCVUZGRVJfVE9PX1NNQUxMIHN0YXR1cyBpcyBpbnZlbnRlZC4gSXQgcmVxdWlyZXMg Y2FsbGVyIHRvIHJlLXN1cHBseQ0KICAgIHRoZSBlbm91Z2ggc2NyYXRjaCBidWZmZXIgZm9yIGNh bGN1bGF0aW9uLg0KICAgIEFzIHN1Y2gsIEkgZG8gbm90IHRoaW5rIGV4cG9zaW5nIFNDUkFUQ0hf QlVGRkVSX1NJWkUgaGVscHMuDQogICAgV2hlbiBpbXBsZW1lbnRpbmcgdGhlIGNvZGUsIEkgdHJp ZWQgdG8gZmluZCBvdXQgdGhlIG1heGltdW0gc2NyYXRjaCBidWZmZXIgc2l6ZSBidXQNCiAgICBm b3VuZCB0aGF0IHRoZSBtYXhpbXVtIGNvdWxkIGJlIHVwIHRvIDI1NktCLiBJIGNhbm5vdCB1c2Ug c3VjaCBsYXJnZSBzdGFjayBiZWNhdXNlDQogICAgYXMgSm9yZGFuIHNhaWQsIE1TVkMgd2lsbCBp bmplY3Qgc29tZSBjb2RlIHJlc3VsdHMgaW4gdW5yZXNvbHZlZCBzeW1ib2wgaW4gRURLSUkgY29k ZS4NCiAgICBBbmQgRHhlSXBsIG9ubHkgYWxsb2NhdGVzIDEyOEtCIHN0YWNrIGZvciB3aG9sZSBE WEUgcGhhc2UuDQoNCg0KPiANCj4gVGhhbmtzIQ0KPiBMYXN6bG8NCj4gDQo+ID4+IC0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IGVkazItZGV2ZWwgW21haWx0bzplZGsyLWRl dmVsLWJvdW5jZXNAbGlzdHMuMDEub3JnXSBPbiBCZWhhbGYNCj4gPj4gT2YgSm9yZGFuIEp1c3Rl bg0KPiA+PiBTZW50OiBUaHVyc2RheSwgTm92ZW1iZXIgOSwgMjAxNyAyOjU2IFBNDQo+ID4+IFRv OiBOaSwgUnVpeXUgPHJ1aXl1Lm5pQGludGVsLmNvbT47IExhc3psbyBFcnNlayA8bGVyc2VrQHJl ZGhhdC5jb20+DQo+ID4+IENjOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBp bnRlbC5jb20+OyBlZGsyLQ0KPiA+PiBkZXZlbEBsaXN0cy4wMS5vcmc7IFlhbywgSmlld2VuIDxq aWV3ZW4ueWFvQGludGVsLmNvbT47IERvbmcsIEVyaWMNCj4gPj4gPGVyaWMuZG9uZ0BpbnRlbC5j b20+OyBBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4NCj4gPj4gU3Vi amVjdDogUmU6IFtlZGsyXSBbUEFUQ0ggMy80XSBVZWZpQ3B1UGtnL010cnJMaWI6IFVwZGF0ZSBh bGdvcml0aG0NCj4gPj4gdG8gY2FsY3VsYXRlIG9wdGltYWwgc2V0dGluZ3MNCj4gPj4NCj4gPj4g T24gMjAxNy0xMS0wOCAxOTowNDozNSwgTmksIFJ1aXl1IHdyb3RlOg0KPiA+Pj4gSm9yZGFuLCBM YXN6bG8sDQo+ID4+Pg0KPiA+Pj4gSSBkaWRuJ3QgcmVhbGl6ZSB0aGF0IGEgcGxhdGZvcm0gbWF5 IGhhdmUgbGVzcyB0aGFuIDQtcGFnZSBzdGFjaw0KPiA+Pj4gYmVmb3JlIG1lbW9yeSBpcyByZWFk eS4gSWYgSSB3YXMgYXdhcmUgb2YgdGhhdCwgSSB3b3VsZCBjaGFuZ2UgdGhlDQo+ID4+PiBkZWZh dWx0IHNjcmF0Y2ggYnVmZmVyIHNpemUgdG8gMiBwYWdlLCB3aGljaCBzaG91bGQgYmUgZW5vdWdo IHRvby4NCj4gPj4NCj4gPj4gVGhpcyBkb2VzIG5vdCBzb3VuZCBtdWNoIGJldHRlci4gSSdtIHNh eWluZyB0aGF0IHRoZSBCQVNFIGxpYnJhcnkNCj4gPj4gc2hvdWxkIG9ubHkgdXNlIGF0IG1vc3Qg YSBmZXcgaHVuZHJlZCBieXRlcyBvZiBzdGFjay4NCj4gPj4NCj4gPj4gQXBwYXJlbnRseSB0aGUg b2xkIGFsZ29yaXRobSBkaWQgbm90IHVzZSBtdWNoIG1lbW9yeSwgYnV0IHBlcmhhcHMgd2FzDQo+ ID4+IHNsb3c/IENhbiB3ZSBwdXQgaXQgYmFjayBpbiBwbGFjZSBmb3IgdGhlIEJBU0UgdmVyc2lv biBvZiB0aGUgbGlicmFyeT8NCj4gPj4gVGhlbiwgd2UgY2FuIGFkZCBhIERYRSBzcGVjaWZpYyB2 ZXJzaW9uIHRoYXQgdXNlcyBhIGxhcmdlIGJ1ZmZlcg0KPiA+PiB3aGljaCBpdCBjYW4gYWxsb2Nh dGUsIGFuZCBwb3RlbnRpYWxseSBmcmVlLg0KPiA+Pg0KPiA+PiAtSm9yZGFuDQo+ID4+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ID4+IGVkazItZGV2 ZWwgbWFpbGluZyBsaXN0DQo+ID4+IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnDQo+ID4+IGh0dHBz Oi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vZWRrMi1kZXZlbA0KDQo=