From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v3 01/28] xen/x86: Drop unused and non-useful feature definitions Date: Tue, 15 Mar 2016 15:34:57 +0000 Message-ID: <1458056124-8024-2-git-send-email-andrew.cooper3@citrix.com> References: <1458056124-8024-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458056124-8024-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Jan Beulich List-Id: xen-devel@lists.xenproject.org Tm9uZSBvZiB0aGVzZSBmZWF0dXJlcyBhcmUgaW50ZXJlc3RpbmcgZm9yIFhlbiB0byB1c2UsIG9y IHRvIGJlIGFkdmVydGlzZWQgdG8KZ3Vlc3RzLiAgRG9pbmcgc28gaWRlbnRpZmllcyBmdXJ0aGVy IGFyZWFzIG9mIGNvZGUgd2hpY2ggY2FuIGJlIHJlbW92ZWQgbm93CnRoYXQgMzJiaXQgc3VwcG9y dCBoYXMgYmVlbiBkcm9wcGVkLgoKSUE2NCBoYXMgYSBzb2xlIHVzZXIgaW4gbWljcm9jb2RlX2lu dGVsLmMuICBXaGlsZSBpdCBpcyBwbGF1c2libGUgZm9yIGEgMzJiaXQKeDg2IGh5cGVydmlzb3Ig dG8gZ2V0IHRoZXJlIHZpYSBJQTY0J3MgeDg2IGVtdWxhdGlvbiwgYSA2NGJpdCB4ODYgaHlwZXJ2 aXNvcgptb3N0IGNlcnRhaW5seSB3b24ndC4KCk1QIHByb3ZlcyB0byBiZSBtb3JlIGNvbXBsaWNh dGVkLiAgSXQgaXMgb25seSBhZHZlcnRpc2VkIG9uIHNvbWUgSzcKcHJvY2Vzc29ycywgbm90IG9u IEs4IG9yIG5ld2VyLCBhbmQgbm93IGxpc3RlZCBhcyByZXNlcnZlZCBpbiB0aGUgQU1EIG1hbnVh bC4KQ2xlYW5pbmcgdGhpcyB1cCByZXZlYWxzIHR3byBjaHVua3Mgb2YgY29tbW9uIFNNUCBjb2Rl IHdoaWNoIHdhcyBvbmx5CmFwcGxpY2FibGUgdG8gSzcgcHJvY2Vzc29ycywgd2hpY2ggYXJlIDMy Yml0IG9ubHkuCgpXaGlsZSBjbGVhbmluZyB0aGlzIGFyZWEgdXAsIHJlbW92ZSB0aGUgaW5jb3Np c3RlbnQgdXNlIG9mIG5ld2xpbmVzIGluIHRoZQpjcHVfaGFzXyogZGVmaW5pdGlvbiBibG9jay4K ClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ Ci0tLQpDQzogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgoKdjM6IE5ldwoKVGhpcyBj bGVhbnVwIHJlbW92ZXMgdGhlIG9ubHkgdXNlcnMgb2YgVEFJTlRfVU5TQUZFX1NNUCwgYnV0IEkg aGF2ZSBsZWZ0IHRoZQppbmZyYXN0cnVjdHVyZSBpbmNhc2UgaXQgbmVlZHMgdG8gYmUgdXNlZCBp biB0aGUgZnV0dXJlLgotLS0KIHhlbi9hcmNoL3g4Ni9taWNyb2NvZGVfaW50ZWwuYyAgIHwgIDMg Ky0tCiB4ZW4vYXJjaC94ODYvc21wYm9vdC5jICAgICAgICAgICB8IDQ2IC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVy ZS5oIHwgMTggLS0tLS0tLS0tLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbigr KSwgNjYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21pY3JvY29kZV9p bnRlbC5jIGIveGVuL2FyY2gveDg2L21pY3JvY29kZV9pbnRlbC5jCmluZGV4IDBhNWY0MDMuLjY5 NDljMjUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9taWNyb2NvZGVfaW50ZWwuYworKysgYi94 ZW4vYXJjaC94ODYvbWljcm9jb2RlX2ludGVsLmMKQEAgLTk5LDggKzk5LDcgQEAgc3RhdGljIGlu dCBjb2xsZWN0X2NwdV9pbmZvKHVuc2lnbmVkIGludCBjcHVfbnVtLCBzdHJ1Y3QgY3B1X3NpZ25h dHVyZSAqY3NpZykKIAogICAgIG1lbXNldChjc2lnLCAwLCBzaXplb2YoKmNzaWcpKTsKIAotICAg IGlmICggKGMtPng4Nl92ZW5kb3IgIT0gWDg2X1ZFTkRPUl9JTlRFTCkgfHwgKGMtPng4NiA8IDYp IHx8Ci0gICAgICAgICBjcHVfaGFzKGMsIFg4Nl9GRUFUVVJFX0lBNjQpICkKKyAgICBpZiAoIChj LT54ODZfdmVuZG9yICE9IFg4Nl9WRU5ET1JfSU5URUwpIHx8IChjLT54ODYgPCA2KSApCiAgICAg ewogICAgICAgICBwcmludGsoS0VSTl9FUlIgIm1pY3JvY29kZTogQ1BVJWQgbm90IGEgY2FwYWJs ZSBJbnRlbCAiCiAgICAgICAgICAgICAgICAicHJvY2Vzc29yXG4iLCBjcHVfbnVtKTsKZGlmZiAt LWdpdCBhL3hlbi9hcmNoL3g4Ni9zbXBib290LmMgYi94ZW4vYXJjaC94ODYvc21wYm9vdC5jCmlu ZGV4IDFlYjE2Y2IuLjFjMDI2ODEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zbXBib290LmMK KysrIGIveGVuL2FyY2gveDg2L3NtcGJvb3QuYwpAQCAtOTgsMzkgKzk4LDYgQEAgc3RhdGljIHZv aWQgc21wX3N0b3JlX2NwdV9pbmZvKGludCBpZCkKICAgICAgICAgICAgIHNlY29uZGFyeV9zb2Nr ZXRfY3B1bWFzayA9IE5VTEw7CiAgICAgICAgIH0KICAgICB9Ci0KLSAgICAvKgotICAgICAqIENl cnRhaW4gQXRobG9ucyBtaWdodCB3b3JrIChmb3IgdmFyaW91cyB2YWx1ZXMgb2YgJ3dvcmsnKSBp biBTTVAKLSAgICAgKiBidXQgdGhleSBhcmUgbm90IGNlcnRpZmllZCBhcyBNUCBjYXBhYmxlLgot ICAgICAqLwotICAgIGlmICggKGMtPng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9BTUQpICYmIChj LT54ODYgPT0gNikgKQotICAgIHsKLSAgICAgICAgLyogQXRobG9uIDY2MC82NjEgaXMgdmFsaWQu ICovIAotICAgICAgICBpZiAoIChjLT54ODZfbW9kZWw9PTYpICYmICgoYy0+eDg2X21hc2s9PTAp IHx8IChjLT54ODZfbWFzaz09MSkpICkKLSAgICAgICAgICAgIGdvdG8gdmFsaWRfazc7Ci0KLSAg ICAgICAgLyogRHVyb24gNjcwIGlzIHZhbGlkICovCi0gICAgICAgIGlmICggKGMtPng4Nl9tb2Rl bD09NykgJiYgKGMtPng4Nl9tYXNrPT0wKSApCi0gICAgICAgICAgICBnb3RvIHZhbGlkX2s3Owot Ci0gICAgICAgIC8qCi0gICAgICAgICAqIEF0aGxvbiA2NjIsIER1cm9uIDY3MSwgYW5kIEF0aGxv biA+bW9kZWwgNyBoYXZlIGNhcGFiaWxpdHkgYml0LgotICAgICAgICAgKiBJdCdzIHdvcnRoIG5v dGluZyB0aGF0IHRoZSBBNSBzdGVwcGluZyAoNjYyKSBvZiBzb21lIEF0aGxvbiBYUCdzCi0gICAg ICAgICAqIGhhdmUgdGhlIE1QIGJpdCBzZXQuCi0gICAgICAgICAqIFNlZSBodHRwOi8vd3d3Lmhl aXNlLmRlL25ld3N0aWNrZXIvZGF0YS9qb3ctMTguMTAuMDEtMDAwIGZvciBtb3JlLgotICAgICAg ICAgKi8KLSAgICAgICAgaWYgKCAoKGMtPng4Nl9tb2RlbD09NikgJiYgKGMtPng4Nl9tYXNrPj0y KSkgfHwKLSAgICAgICAgICAgICAoKGMtPng4Nl9tb2RlbD09NykgJiYgKGMtPng4Nl9tYXNrPj0x KSkgfHwKLSAgICAgICAgICAgICAoYy0+eDg2X21vZGVsPiA3KSApCi0gICAgICAgICAgICBpZiAo Y3B1X2hhc19tcCkKLSAgICAgICAgICAgICAgICBnb3RvIHZhbGlkX2s3OwotCi0gICAgICAgIC8q IElmIHdlIGdldCBoZXJlLCBpdCdzIG5vdCBhIGNlcnRpZmllZCBTTVAgY2FwYWJsZSBBTUQgc3lz dGVtLiAqLwotICAgICAgICBhZGRfdGFpbnQoVEFJTlRfVU5TQUZFX1NNUCk7Ci0gICAgfQotCi0g dmFsaWRfazc6Ci0gICAgOwogfQogCiAvKgpAQCAtMTA0MiwxOSArMTAwOSw2IEBAIGludCBfX2Nw dV91cCh1bnNpZ25lZCBpbnQgY3B1KQogCiB2b2lkIF9faW5pdCBzbXBfY3B1c19kb25lKHZvaWQp CiB7Ci0gICAgLyoKLSAgICAgKiBEb24ndCB0YWludCBpZiB3ZSBhcmUgcnVubmluZyBTTVAga2Vy bmVsIG9uIGEgc2luZ2xlIG5vbi1NUAotICAgICAqIGFwcHJvdmVkIEF0aGxvbgotICAgICAqLwot ICAgIGlmICggdGFpbnRlZCAmIFRBSU5UX1VOU0FGRV9TTVAgKQotICAgIHsKLSAgICAgICAgaWYg KCBudW1fb25saW5lX2NwdXMoKSA+IDEgKQotICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAi V0FSTklORzogVGhpcyBjb21iaW5hdGlvbiBvZiBBTUQgIgotICAgICAgICAgICAgICAgICAgICJw cm9jZXNzb3JzIGlzIG5vdCBzdWl0YWJsZSBmb3IgU01QLlxuIik7Ci0gICAgICAgIGVsc2UKLSAg ICAgICAgICAgIHRhaW50ZWQgJj0gflRBSU5UX1VOU0FGRV9TTVA7Ci0gICAgfQotCiAgICAgaWYg KCBubWlfd2F0Y2hkb2cgPT0gTk1JX0xPQ0FMX0FQSUMgKQogICAgICAgICBjaGVja19ubWlfd2F0 Y2hkb2coKTsKIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlLmgg Yi94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaAppbmRleCAwMjE0MjdjLi40ZWQzNmZl IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaAorKysgYi94ZW4v aW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaApAQCAtMzEsNyArMzEsNiBAQAogI2RlZmluZSBY ODZfRkVBVFVSRV9DTU9WCSgwKjMyKzE1KSAvKiBDTU9WIGluc3RydWN0aW9uIChGQ01PVkNDIGFu ZCBGQ09NSSB0b28gaWYgRlBVIHByZXNlbnQpICovCiAjZGVmaW5lIFg4Nl9GRUFUVVJFX1BBVAkJ KDAqMzIrMTYpIC8qIFBhZ2UgQXR0cmlidXRlIFRhYmxlICovCiAjZGVmaW5lIFg4Nl9GRUFUVVJF X1BTRTM2CSgwKjMyKzE3KSAvKiAzNi1iaXQgUFNFcyAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9Q TgkJKDAqMzIrMTgpIC8qIFByb2Nlc3NvciBzZXJpYWwgbnVtYmVyICovCiAjZGVmaW5lIFg4Nl9G RUFUVVJFX0NMRkxVU0gJKDAqMzIrMTkpIC8qIFN1cHBvcnRzIHRoZSBDTEZMVVNIIGluc3RydWN0 aW9uICovCiAjZGVmaW5lIFg4Nl9GRUFUVVJFX0RTCQkoMCozMisyMSkgLyogRGVidWcgU3RvcmUg Ki8KICNkZWZpbmUgWDg2X0ZFQVRVUkVfQUNQSQkoMCozMisyMikgLyogQUNQSSB2aWEgTVNSICov CkBAIC00MCwxNiArMzksMTMgQEAKIAkJCQkgICAgICAgICAgLyogb2YgRlBVIGNvbnRleHQpLCBh bmQgQ1I0Lk9TRlhTUiBhdmFpbGFibGUgKi8KICNkZWZpbmUgWDg2X0ZFQVRVUkVfU1NFCQkoMCoz MisyNSkgLyogU3RyZWFtaW5nIFNJTUQgRXh0ZW5zaW9ucyAqLwogI2RlZmluZSBYODZfRkVBVFVS RV9TU0UyCSgwKjMyKzI2KSAvKiBTdHJlYW1pbmcgU0lNRCBFeHRlbnNpb25zLTIgKi8KLSNkZWZp bmUgWDg2X0ZFQVRVUkVfU0VMRlNOT09QCSgwKjMyKzI3KSAvKiBDUFUgc2VsZiBzbm9vcCAqLwog I2RlZmluZSBYODZfRkVBVFVSRV9IVAkJKDAqMzIrMjgpIC8qIEh5cGVyLVRocmVhZGluZyAqLwog I2RlZmluZSBYODZfRkVBVFVSRV9BQ0MJCSgwKjMyKzI5KSAvKiBBdXRvbWF0aWMgY2xvY2sgY29u dHJvbCAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9JQTY0CSgwKjMyKzMwKSAvKiBJQS02NCBwcm9j ZXNzb3IgKi8KICNkZWZpbmUgWDg2X0ZFQVRVUkVfUEJFCQkoMCozMiszMSkgLyogUGVuZGluZyBC cmVhayBFbmFibGUgKi8KIAogLyogQU1ELWRlZmluZWQgQ1BVIGZlYXR1cmVzLCBDUFVJRCBsZXZl bCAweDgwMDAwMDAxLCB3b3JkIDEgKi8KIC8qIERvbid0IGR1cGxpY2F0ZSBmZWF0dXJlIGZsYWdz IHdoaWNoIGFyZSByZWR1bmRhbnQgd2l0aCBJbnRlbCEgKi8KICNkZWZpbmUgWDg2X0ZFQVRVUkVf U1lTQ0FMTAkoMSozMisxMSkgLyogU1lTQ0FMTC9TWVNSRVQgKi8KLSNkZWZpbmUgWDg2X0ZFQVRV UkVfTVAJCSgxKjMyKzE5KSAvKiBNUCBDYXBhYmxlLiAqLwogI2RlZmluZSBYODZfRkVBVFVSRV9O WAkJKDEqMzIrMjApIC8qIEV4ZWN1dGUgRGlzYWJsZSAqLwogI2RlZmluZSBYODZfRkVBVFVSRV9N TVhFWFQJKDEqMzIrMjIpIC8qIEFNRCBNTVggZXh0ZW5zaW9ucyAqLwogI2RlZmluZSBYODZfRkVB VFVSRV9GRlhTUiAgICAgICAoMSozMisyNSkgLyogRkZYU1IgaW5zdHJ1Y3Rpb24gb3B0aW1pemF0 aW9ucyAqLwpAQCAtODgsNyArODQsNiBAQAogI2RlZmluZSBYODZfRkVBVFVSRV9FU1QJCSg0KjMy KyA3KSAvKiBFbmhhbmNlZCBTcGVlZFN0ZXAgKi8KICNkZWZpbmUgWDg2X0ZFQVRVUkVfVE0yCQko NCozMisgOCkgLyogVGhlcm1hbCBNb25pdG9yIDIgKi8KICNkZWZpbmUgWDg2X0ZFQVRVUkVfU1NT RTMJKDQqMzIrIDkpIC8qIFN1cHBsZW1lbnRhbCBTdHJlYW1pbmcgU0lNRCBFeHRlbnNpb25zLTMg Ki8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfQ0lECQkoNCozMisxMCkgLyogQ29udGV4dCBJRCAqLwog I2RlZmluZSBYODZfRkVBVFVSRV9GTUEJCSg0KjMyKzEyKSAvKiBGdXNlZCBNdWx0aXBseSBBZGQg Ki8KICNkZWZpbmUgWDg2X0ZFQVRVUkVfQ1gxNiAgICAgICAgKDQqMzIrMTMpIC8qIENNUFhDSEcx NkIgKi8KICNkZWZpbmUgWDg2X0ZFQVRVUkVfWFRQUgkoNCozMisxNCkgLyogU2VuZCBUYXNrIFBy aW9yaXR5IE1lc3NhZ2VzICovCkBAIC0xODcsNDEgKzE4MiwyOCBAQAogI2RlZmluZSBjcHVfaGFz X3NzZTIJCWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9TU0UyKQogI2RlZmluZSBjcHVfaGFzX3Nz ZTMJCWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9TU0UzKQogI2RlZmluZSBjcHVfaGFzX2h0CQli b290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfSFQpCi0jZGVmaW5lIGNwdV9oYXNfbXAJCTEKICNkZWZp bmUgY3B1X2hhc19ueAkJYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX05YKQogI2RlZmluZSBjcHVf aGFzX2NsZmx1c2gJCWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9DTEZMVVNIKQogI2RlZmluZSBj cHVfaGFzX3BhZ2UxZ2IJCWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9QQUdFMUdCKQogI2RlZmlu ZSBjcHVfaGFzX2ZzZ3NiYXNlCWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9GU0dTQkFTRSkKICNk ZWZpbmUgY3B1X2hhc19hcGVyZm1wZXJmCWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9BUEVSRk1Q RVJGKQotCiAjZGVmaW5lIGNwdV9oYXNfc21lcCAgICAgICAgICAgIGJvb3RfY3B1X2hhcyhYODZf RkVBVFVSRV9TTUVQKQogI2RlZmluZSBjcHVfaGFzX3NtYXAgICAgICAgICAgICBib290X2NwdV9o YXMoWDg2X0ZFQVRVUkVfU01BUCkKICNkZWZpbmUgY3B1X2hhc19mcHVfc2VsICAgICAgICAgKCFi b290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfTk9fRlBVX1NFTCkpCi0KICNkZWZpbmUgY3B1X2hhc19m ZnhzciAgICAgICAgICAgKChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9B TUQpIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIGJvb3RfY3B1X2hhcyhY ODZfRkVBVFVSRV9GRlhTUikpCi0KICNkZWZpbmUgY3B1X2hhc194MmFwaWMgICAgICAgICAgYm9v dF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1gyQVBJQykKLQogI2RlZmluZSBjcHVfaGFzX3BjaWQgICAg ICAgICAgICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfUENJRCkKLQogI2RlZmluZSBjcHVfaGFz X3hzYXZlICAgICAgICAgICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfWFNBVkUpCiAjZGVmaW5l IGNwdV9oYXNfYXZ4ICAgICAgICAgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9BVlgpCiAj ZGVmaW5lIGNwdV9oYXNfbHdwICAgICAgICAgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9M V1ApCiAjZGVmaW5lIGNwdV9oYXNfbXB4ICAgICAgICAgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVB VFVSRV9NUFgpCi0KICNkZWZpbmUgY3B1X2hhc19hcmNoX3BlcmZtb24gICAgYm9vdF9jcHVfaGFz KFg4Nl9GRUFUVVJFX0FSQ0hfUEVSRk1PTikKLQogI2RlZmluZSBjcHVfaGFzX3JkdHNjcCAgICAg ICAgICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfUkRUU0NQKQotCiAjZGVmaW5lIGNwdV9oYXNf c3ZtCQlib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfU1ZNKQotCiAjZGVmaW5lIGNwdV9oYXNfdm14 CQlib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfVk1YRSkKLQogI2RlZmluZSBjcHVfaGFzX2NwdWlk X2ZhdWx0aW5nCWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9DUFVJRF9GQVVMVElORykKLQogI2Rl ZmluZSBjcHVfaGFzX2N4MTYgICAgICAgICAgICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfQ1gx NikKLQogI2RlZmluZSBjcHVfaGFzX3hzYXZlb3B0CWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9Y U0FWRU9QVCkKICNkZWZpbmUgY3B1X2hhc194c2F2ZWMJCWJvb3RfY3B1X2hhcyhYODZfRkVBVFVS RV9YU0FWRUMpCiAjZGVmaW5lIGNwdV9oYXNfeGdldGJ2MQkJYm9vdF9jcHVfaGFzKFg4Nl9GRUFU VVJFX1hHRVRCVjEpCi0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==