From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jike Song Subject: Re: [ANNOUNCE] 2015-Q4 release of KVMGT (Was Re: KVMGT - the implementation of ...) Date: Wed, 27 Jan 2016 14:32:34 +0800 Message-ID: <56A86482.4090009@intel.com> References: <547FC5DE.4010701@intel.com> <562F45B4.70004@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: "Reddy, Raghuveer" , "Cowperthwaite, David J" , "Li, Susie" , "Dong, Eddie" , "Downs, Mike" , "Wang, Hongbo" To: kvm@vger.kernel.org, igvt-g@lists.01.org, intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Return-path: In-Reply-To: <562F45B4.70004@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" List-Id: kvm.vger.kernel.org SGkgYWxsLAoKV2UgYXJlIHBsZWFzZWQgdG8gYW5ub3VuY2UgYW5vdGhlciB1cGRhdGUgb2YgSW50 ZWwgR1ZULWcgZm9yIEtWTS4KCkludGVsIEdWVC1nIGZvciBLVk0gKGEuay5hLiBLVk1HVCkgaXMg YSBmdWxsIEdQVSB2aXJ0dWFsaXphdGlvbiBzb2x1dGlvbiB3aXRoIG1lZGlhdGVkIHBhc3MtdGhy b3VnaCwgc3RhcnRpbmcgZnJvbSA0dGggZ2VuZXJhdGlvbiBJbnRlbCBDb3JlKFRNKSBwcm9jZXNz b3JzIHdpdGggSW50ZWwgR3JhcGhpY3MgcHJvY2Vzc29ycy4gIEEgdmlydHVhbCBHUFUgaW5zdGFu Y2UgaXMgbWFpbnRhaW5lZCBmb3IgZWFjaCBWTSwgd2l0aCBwYXJ0IG9mIHBlcmZvcm1hbmNlIGNy aXRpY2FsIHJlc291cmNlcyBkaXJlY3RseSBhc3NpZ25lZC4gVGhlIGNhcGFiaWxpdHkgb2YgcnVu bmluZyBuYXRpdmUgZ3JhcGhpY3MgZHJpdmVyIGluc2lkZSBhIFZNLCB3aXRob3V0IGh5cGVydmlz b3IgaW50ZXJ2ZW50aW9uIGluIHBlcmZvcm1hbmNlIGNyaXRpY2FsIHBhdGhzLCBhY2hpZXZlcyBh IGdvb2QgYmFsYW5jZSBhbW9uZyBwZXJmb3JtYW5jZSwgZmVhdHVyZSwgYW5kIHNoYXJpbmcgY2Fw YWJpbGl0eS4KClJlcG9zaXRvcmllczoKCglLZXJuZWw6IGh0dHBzOi8vZ2l0aHViLmNvbS8wMW9y Zy9pZ3Z0Zy1rZXJuZWwgKDIwMTVxNC00LjIuMCBicmFuY2gpCglRZW11OiBodHRwczovL2dpdGh1 Yi5jb20vMDFvcmcvaWd2dGctcWVtdSAoa3ZtZ3RfcHVibGljMjAxNXE0IGJyYW5jaCkKClRoaXMg dXBkYXRlIGNvbnNpc3RzIG9mOgoKCS0gS1ZNR1Qgbm93IGhhcyBiZXR0ZXIgc3VwcG9ydCBmb3Ig NXRoIGdlbmVyYXRpb24gKEJyb2Fkd2VsbCkgSW50ZWwgQ29yZShUTSkgcHJvY2Vzc29ycywgMkQv M0QvTWVkaWEgd29ya2xvYWRzIGNhbiBiZSBydW4gc2ltdWx0YW5lb3VzbHkgaW4gbXVsdGlwbGUg Z3Vlc3RzLgoJLSBIb3N0IExpbnV4IGtlcm5lbCBoYXMgYmVlbiB1cGdyYWRlZCBmcm9tIDMuMTgu MCB0byA0LjIuMCAoYmFzZWQgb24gZHJtLWludGVsKQoKTmV4dCB1cGRhdGUgd2lsbCBiZSBhcm91 bmQgZWFybHkgQXByaWwsIDIwMTYuCgpLbm93biBpc3N1ZXM6CgoJLSBBdCBsZWFzdCAyR0IgbWVt b3J5IGlzIHN1Z2dlc3RlZCBmb3IgVk0gdG8gcnVuIG1vc3QgM0Qgd29ya2xvYWRzLgoJLSBVc2lu ZyBWTEMgdG8gcGxheSAub2dnIGZpbGUgbWF5IGNhdXNlIG1vc2FpYyBvciBzbG93IHJlc3BvbnNl LgoJLSBSdW5uaW5nIGhlYXZ5IDNEIHdvcmtsb2FkcyBpbiBtdWx0aXBsZSBndWVzdHMgZm9yIGNv dXBsZSBvZiBob3VycyBtYXkgY2F1c2Ugc3RhYmlsaXR5IGlzc3VlLgoKT2ZmaWNpYWwgaUdWVC1n IHBvcnRhbDogaHR0cHM6Ly8wMS5vcmcvaWd2dC1nClBsZWFzZSBzdWJzY3JpYmUgdGhlIG1haWxp bmcgbGlzdDogaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3Z0LWcKCk1v cmUgaW5mb3JtYXRpb24gYWJvdXQgYmFja2dyb3VuZCwgYXJjaGl0ZWN0dXJlIGFuZCBvdGhlcnMg YWJvdXQgSW50ZWwgR1ZULWcsIGNhbiBiZSBmb3VuZCBhdDoKCglodHRwOi8vd3d3LmxpbnV4LWt2 bS5vcmcvaW1hZ2VzL2YvZjMvMDF4MDhiLUtWTUdULWEucGRmCglodHRwczovL3d3dy51c2VuaXgu b3JnL2NvbmZlcmVuY2UvYXRjMTQvdGVjaG5pY2FsLXNlc3Npb25zL3ByZXNlbnRhdGlvbi90aWFu CgoKTm90ZTogVGhlIEtWTUdUIHByb2plY3Qgc2hvdWxkIGJlIGNvbnNpZGVyZWQgYSB3b3JrIGlu IHByb2dyZXNzLiBBcyBzdWNoIGl0IGlzIG5vdCBhIGNvbXBsZXRlIHByb2R1Y3Qgbm9yIHNob3Vs ZCBpdCBiZSBjb25zaWRlcmVkIG9uZS4gRXh0cmEgY2FyZSBzaG91bGQgYmUgdGFrZW4gd2hlbiB0 ZXN0aW5nIGFuZCBjb25maWd1cmluZyBhIHN5c3RlbSB0byB1c2UgdGhlIEtWTUdUIHByb2plY3Qu CgoKLS0KVGhhbmtzLApKaWtlCgpPbiAxMC8yNy8yMDE1IDA1OjM2IFBNLCBKaWtlIFNvbmcgd3Jv dGU6Cj4gSGkgYWxsLAo+IAo+IFdlIGFyZSBwbGVhc2VkIHRvIGFubm91bmNlIGFub3RoZXIgdXBk YXRlIG9mIEludGVsIEdWVC1nIGZvciBLVk0uCj4gCj4gSW50ZWwgR1ZULWcgaXMgYSBmdWxsIEdQ VSB2aXJ0dWFsaXphdGlvbiBzb2x1dGlvbiB3aXRoIG1lZGlhdGVkIHBhc3MtdGhyb3VnaCwgc3Rh cnRpbmcgZnJvbSA0dGggZ2VuZXJhdGlvbiBJbnRlbCBDb3JlKFRNKSBwcm9jZXNzb3JzIHdpdGgg SW50ZWwgR3JhcGhpY3MgcHJvY2Vzc29ycy4gQSB2aXJ0dWFsIEdQVSBpbnN0YW5jZSBpcyBtYWlu dGFpbmVkIGZvciBlYWNoIFZNLCB3aXRoIHBhcnQgb2YgcGVyZm9ybWFuY2UgY3JpdGljYWwgcmVz b3VyY2VzIGRpcmVjdGx5IGFzc2lnbmVkLiBUaGUgY2FwYWJpbGl0eSBvZiBydW5uaW5nIG5hdGl2 ZSBncmFwaGljcyBkcml2ZXIgaW5zaWRlIGEgVk0sIHdpdGhvdXQgaHlwZXJ2aXNvciBpbnRlcnZl bnRpb24gaW4gcGVyZm9ybWFuY2UgY3JpdGljYWwgcGF0aHMsIGFjaGlldmVzIGEgZ29vZCBiYWxh bmNlIGFtb25nIHBlcmZvcm1hbmNlLCBmZWF0dXJlLCBhbmQgc2hhcmluZyBjYXBhYmlsaXR5LiBL Vk0gaXMgc3VwcG9ydGVkIGJ5IEludGVsIEdWVC1nKGEuay5hLiBLVk1HVCkuCj4gCj4gCj4gUmVw b3NpdG9yaWVzCj4gCj4gICAgICBLZXJuZWw6IGh0dHBzOi8vZ2l0aHViLmNvbS8wMW9yZy9pZ3Z0 Zy1rZXJuZWwgKDIwMTVxMy0zLjE4LjAgYnJhbmNoKQo+ICAgICAgUWVtdTogaHR0cHM6Ly9naXRo dWIuY29tLzAxb3JnL2lndnRnLXFlbXUgKGt2bWd0X3B1YmxpYzIwMTVxMyBicmFuY2gpCj4gCj4g Cj4gVGhpcyB1cGRhdGUgY29uc2lzdHMgb2Y6Cj4gCj4gICAgICAtIEtWTUdUIGlzIG5vdyBtZXJn ZWQgd2l0aCBYZW5HVCBpbiB1bmlmaWVkIHJlcG9zaXRvcmllcyhrZXJuZWwgYW5kIHFlbXUpLCBi dXQgY3VycmVudGx5Cj4gICAgICAgIGRpZmZlcmVudCBicmFuY2hlcyBmb3IgcWVtdS4gIEtWTUdU IGFuZCBYZW5HVCBzaGFyZSBzYW1lIGlHVlQtZyBjb3JlIGxvZ2ljLgo+ICAgICAgLSBQUEdUVCBz dXBwb3J0ZWQsIGhlbmNlIHRoZSBXaW5kb3dzIGd1ZXN0IHN1cHBvcnQKPiAgICAgIC0gS1ZNR1Qg bm93IHN1cHBvcnRzIGJvdGggNHRoIGdlbmVyYXRpb24gKEhhc3dlbGwpIGFuZCA1dGggZ2VuZXJh dGlvbiAoQnJvYWR3ZWxsKSBJbnRlbCBDb3JlKFRNKSBwcm9jZXNzb3JzCj4gICAgICAtIDJELzNE L01lZGlhIGRlY29kaW5nIGhhdmUgYmVlbiB2YWxpZGF0ZWQgb24gVWJ1bnR1IDE0LjA0IGFuZCBX aW5kb3dzNy9XaW5kb3dzIDguMQo+IAo+IE5leHQgdXBkYXRlIHdpbGwgYmUgYXJvdW5kIGVhcmx5 IEphbiwgMjAxNi4KPiAKPiBLbm93biBpc3N1ZXM6Cj4gCj4gICAgICAtIEF0IGxlYXN0IDJHQiBt ZW1vcnkgaXMgc3VnZ2VzdGVkIGZvciBWTSB0byBydW4gbW9zdCAzRCB3b3JrbG9hZHMuCj4gICAg ICAtIDNEbWFyazA2IHJ1bm5pbmcgaW4gV2luZG93cyBWTSBtYXkgaGF2ZSBzb21lIHN0YWJpbGl0 eSBpc3N1ZS4KPiAgICAgIC0gVXNpbmcgVkxDIHRvIHBsYXkgLm9nZyBmaWxlIG1heSBjYXVzZSBt b3NhaWMgb3Igc2xvdyByZXNwb25zZS4KPiAKPiAKPiBQbGVhc2Ugc3Vic2NyaWJlIHRoZSBtYWls aW5nIGxpc3QgdG8gcmVwb3J0IEJVR3MsIGRpc2N1c3MsIGFuZC9vciBjb250cmlidXRlOgo+IAo+ ICAgICAgaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3Z0LWcKPiAKPiBN b3JlIGluZm9ybWF0aW9uIGFib3V0IEludGVsIEdWVC1nIGJhY2tncm91bmQsIGFyY2hpdGVjdHVy ZSwgZXRjIGNhbiBiZSBmb3VuZCBhdChtYXkgbm90IGJlIHVwLXRvLWRhdGUpOgo+IAo+ICAgICAg aHR0cHM6Ly8wMS5vcmcvaWd2dC1nCj4gICAgICBodHRwOi8vd3d3LmxpbnV4LWt2bS5vcmcvaW1h Z2VzL2YvZjMvMDF4MDhiLUtWTUdULWEucGRmCj4gICAgICBodHRwczovL3d3dy51c2VuaXgub3Jn L2NvbmZlcmVuY2UvYXRjMTQvdGVjaG5pY2FsLXNlc3Npb25zL3ByZXNlbnRhdGlvbi90aWFuCj4g Cj4gCj4gTm90ZToKPiAKPiBUaGUgS1ZNR1QgcHJvamVjdCBzaG91bGQgYmUgY29uc2lkZXJlZCBh IHdvcmsgaW4gcHJvZ3Jlc3MuIEFzIHN1Y2ggaXQgaXMgbm90IGEgY29tcGxldGUgcHJvZHVjdCBu b3Igc2hvdWxkIGl0IGJlIGNvbnNpZGVyZWQgb25lLiBFeHRyYSBjYXJlIHNob3VsZCBiZSB0YWtl biB3aGVuIHRlc3RpbmcgYW5kIGNvbmZpZ3VyaW5nIGEgc3lzdGVtIHRvIHVzZSB0aGUgS1ZNR1Qg cHJvamVjdC4KPiAKPiAKPiAtLQo+IFRoYW5rcywKPiBKaWtlCj4gCj4gT24gMTIvMDQvMjAxNCAx MDoyNCBBTSwgSmlrZSBTb25nIHdyb3RlOgo+PiBIaSBhbGwsCj4+Cj4+ICAgIFdlIGFyZSBwbGVh c2VkIHRvIGFubm91bmNlIHRoZSBmaXJzdCByZWxlYXNlIG9mIEtWTUdUIHByb2plY3QuIEtWTUdU IGlzIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBJbnRlbCBHVlQtZyB0ZWNobm9sb2d5LCBhIGZ1bGwg R1BVIHZpcnR1YWxpemF0aW9uIHNvbHV0aW9uLiBVbmRlciBJbnRlbCBHVlQtZywgYSB2aXJ0dWFs IEdQVSBpbnN0YW5jZSBpcyBtYWludGFpbmVkIGZvciBlYWNoIFZNLCB3aXRoIHBhcnQgb2YgcGVy Zm9ybWFuY2UgY3JpdGljYWwgcmVzb3VyY2VzIGRpcmVjdGx5IGFzc2lnbmVkLiBUaGUgY2FwYWJp bGl0eSBvZiBydW5uaW5nIG5hdGl2ZSBncmFwaGljcyBkcml2ZXIgaW5zaWRlIGEgVk0sIHdpdGhv dXQgaHlwZXJ2aXNvciBpbnRlcnZlbnRpb24gaW4gcGVyZm9ybWFuY2UgY3JpdGljYWwgcGF0aHMs IGFjaGlldmVzIGEgZ29vZCBiYWxhbmNlIG9mIHBlcmZvcm1hbmNlLCBmZWF0dXJlLCBhbmQgc2hh cmluZyBjYXBhYmlsaXR5Lgo+Pgo+Pgo+PiAgICBLVk1HVCBpcyBzdGlsbCBpbiB0aGUgZWFybHkg c3RhZ2U6Cj4+Cj4+ICAgICAtIEJhc2ljIGZ1bmN0aW9ucyBvZiBmdWxsIEdQVSB2aXJ0dWFsaXph dGlvbiB3b3JrcywgZ3Vlc3QgY2FuIHNlZSBhIGZ1bGwtZmVhdHVyZWQgdkdQVS4KPj4gICAgICAg V2UgcmFuIHNldmVyYWwgM0Qgd29ya2xvYWRzIHN1Y2ggYXMgbGlnaHRzbWFyaywgbmV4dWl6LCB1 cmJhbnRlcnJvciBhbmQgd2Fyc293Lgo+Pgo+PiAgICAgLSBPbmx5IExpbnV4IGd1ZXN0IHN1cHBv cnRlZCBzbyBmYXIsIGFuZCBQUEdUVCBtdXN0IGJlIGRpc2FibGVkIGluIGd1ZXN0IHRocm91Z2gg YQo+PiAgICAgICBrZXJuZWwgcGFyYW1ldGVyKHNlZSBSRUFETUUua3ZtZ3QgaW4gUUVNVSkuCj4+ Cj4+ICAgICAtIFRoaXMgZHJvcCBhbHNvIGluY2x1ZGVzIHNvbWUgWGVuIHNwZWNpZmljIGNoYW5n ZXMsIHdoaWNoIHdpbGwgYmUgY2xlYW5lZCB1cCBsYXRlci4KPj4KPj4gICAgIC0gT3VyIGVuZCBn b2FsIGlzIHRvIHVwc3RyZWFtIGJvdGggWGVuR1QgYW5kIEtWTUdULCB3aGljaCBzaGFyZXMgfjkw JSBsb2dpYyBmb3IgdkdQVQo+PiAgICAgICBkZXZpY2UgbW9kZWwgKHdpbGwgYmUgcGFydCBvZiBp OTE1IGRyaXZlciksIHdpdGggb25seSBkaWZmZXJlbmNlIGluIGh5cGVydmlzb3IKPj4gICAgICAg c3BlY2lmaWMgc2VydmljZXMKPj4KPj4gICAgIC0gaW5zdWZmaWNpZW50IHRlc3QgY292ZXJhZ2Us IHNvIHBsZWFzZSBiZWFyIHdpdGggc3RhYmlsaXR5IGlzc3VlcyA6KQo+Pgo+Pgo+Pgo+PiAgICBU aGVyZSBhcmUgdGhpbmdzIG5lZWQgdG8gYmUgaW1wcm92ZWQsIGVzcC4gdGhlIEtWTSBpbnRlcmZh Y2luZyBwYXJ0Ogo+Pgo+PiAJMQlhIGRvbWlkIHdhcyBhZGRlZCB0byBlYWNoIEtWTUdUIGd1ZXN0 Cj4+Cj4+IAkJQW4gSUQgaXMgbmVlZGVkIGZvciBmb3JlZ3JvdW5kIE9TIHN3aXRjaGluZywgZS5n Lgo+Pgo+PiAJCQkjIGVjaG8gPGRvbWlkPgk+CS9zeXMva2VybmVsL3ZndC9jb250cm9sL2ZvcmVn cm91bmRfdm0KPj4KPj4gCQlkb21pZCAwIGlzIHJlc2VydmVkIGZvciBob3N0IE9TLgo+Pgo+Pgo+ PiAgICAJMglTUkNVIHdvcmthcm91bmRzLgo+Pgo+PiAJCVNvbWUgS1ZNIGZ1bmN0aW9ucywgc3Vj aCBhczoKPj4KPj4gCQkJCWt2bV9pb19idXNfcmVnaXN0ZXJfZGV2Cj4+IAkJCQlpbnN0YWxsX25l d19tZW1zbG90cwo+Pgo+PiAJCW11c3QgYmUgY2FsbGVkICp3aXRob3V0KiAma3ZtLT5zcmN1IHJl YWQtbG9ja2VkLiBPdGhlcndpc2UgaXQgaGFuZ3MuCj4+Cj4+IAkJSW4gS1ZNR1QsIHdlIG5lZWQg dG8gcmVnaXN0ZXIgYW4gaW9kZXYgb25seSAqYWZ0ZXIqIEJBUiByZWdpc3RlcnMgYXJlCj4+IAkJ d3JpdHRlbiBieSBndWVzdC4gVGhhdCBtZWFucywgd2UgYWxyZWFkeSBoYXZlICZrdm0tPnNyY3Ug aG9sZCAtCj4+IAkJdHJhcHBpbmcvZW11bGF0aW5nIFBJTyhCQVIgcmVnaXN0ZXJzKSBtYWtlcyB1 cyBpbiBzdWNoIGEgY29uZGl0aW9uLgo+PiAJCVRoYXQgd2lsbCBtYWtlIGt2bV9pb19idXNfcmVn aXN0ZXJfZGV2IGhhbmdzLgo+Pgo+PiAJCUN1cnJlbnRseSB3ZSBoYXZlIHRvIGRpc2FibGUgcmN1 X2Fzc2lnbl9wb2ludGVyKCkgaW4gc3VjaCBmdW5jdGlvbnMuCj4+Cj4+IAkJVGhlc2Ugd2VyZSBk aXJ0eSB3b3JrYXJvdW5kcywgeW91ciBzdWdnZXN0aW9ucyBhcmUgaGlnaCB3ZWxjb21lIQo+Pgo+ Pgo+PiAJMwlzeXNjYWxscyB3ZXJlIGNhbGxlZCB0byBhY2Nlc3MgIi9kZXYvbWVtIiBmcm9tIGtl cm5lbAo+Pgo+PiAJCUFuIGluLWtlcm5lbCBtZW1zbG90IHdhcyBhZGRlZCBmb3IgYXBlcnR1cmUs IGJ1dCB1c2luZyBzeXNjYWxscyBsaWtlCj4+IAkJb3BlbiBhbmQgbW1hcCB0byBvcGVuIGFuZCBh Y2Nlc3MgdGhlIGNoYXJhY3RlciBkZXZpY2UgIi9kZXYvbWVtIiwKPj4gCQlmb3IgcGFzcy10aHJv dWdoLgo+Pgo+Pgo+Pgo+Pgo+PiBUaGUgc291cmNlIGNvZGVzKGtlcm5lbCwgcWVtdSBhcyB3ZWxs IGFzIHNlYWJpb3MpIGFyZSBhdmFpbGFibGUgYXQgZ2l0aHViOgo+Pgo+PiAJZ2l0Oi8vZ2l0aHVi LmNvbS8wMW9yZy9LVk1HVC1rZXJuZWwKPj4gCWdpdDovL2dpdGh1Yi5jb20vMDFvcmcvS1ZNR1Qt cWVtdQo+PiAJZ2l0Oi8vZ2l0aHViLmNvbS8wMW9yZy9LVk1HVC1zZWFiaW9zCj4+Cj4+IEluIHRo ZSBLVk1HVC1xZW11IHJlcG9zaXRvcnksIHRoZXJlIGlzIGEgIlJFQURNRS5rdm1ndCIgdG8gYmUg cmVmZXJyZWQuCj4+Cj4+Cj4+Cj4+IE1vcmUgaW5mb3JtYXRpb24gYWJvdXQgSW50ZWwgR1ZULWcg YW5kIEtWTUdUIGNhbiBiZSBmb3VuZCBhdDoKPj4KPj4gCWh0dHBzOi8vd3d3LnVzZW5peC5vcmcv Y29uZmVyZW5jZS9hdGMxNC90ZWNobmljYWwtc2Vzc2lvbnMvcHJlc2VudGF0aW9uL3RpYW4KPj4g CWh0dHA6Ly9ldmVudHMubGludXhmb3VuZGF0aW9uLm9yZy9zaXRlcy9ldmVudHMvZmlsZXMvc2xp ZGVzL0tWTUdULWElMjBGdWxsJTIwR1BVJTIwVmlydHVhbGl6YXRpb24lMjBTb2x1dGlvbl8xLnBk Zgo+Pgo+Pgo+PiBBcHByZWNpYXRlIHlvdXIgY29tbWVudHMsIEJVRyByZXBvcnRzLCBhbmQgY29u dHJpYnV0aW9ucyEKPj4KPj4KPj4KPj4KPj4gLS0KPj4gVGhhbmtzLAo+PiBKaWtlCj4+Cl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==