The following lists publicly available data sources and R packages by sport. For a more comprehensive list, see this CRAN task view on sports analytics data.

Baseball

American football

Basketball

Hockey

Soccer (football)

More sports!

LS0tCnRpdGxlOiAiU3BvcnRzIERhdGEiCm91dHB1dDogaHRtbF9kb2N1bWVudAotLS0KClRoZSBmb2xsb3dpbmcgbGlzdHMgcHVibGljbHkgYXZhaWxhYmxlIGRhdGEgc291cmNlcyBhbmQgYFJgIHBhY2thZ2VzIGJ5IHNwb3J0LiBGb3IgYSBtb3JlIGNvbXByZWhlbnNpdmUgbGlzdCwgc2VlIFt0aGlzIENSQU4gdGFzayB2aWV3IG9uIHNwb3J0cyBhbmFseXRpY3MgZGF0YV0oaHR0cHM6Ly9jcmFuLnItcHJvamVjdC5vcmcvd2ViL3ZpZXdzL1Nwb3J0c0FuYWx5dGljcy5odG1sKS4KCiMjIEJhc2ViYWxsCgotIFtgTGFobWFuYCBwYWNrYWdlXShodHRwczovL2NyYW4uci1wcm9qZWN0Lm9yZy93ZWIvcGFja2FnZXMvTGFobWFuL2luZGV4Lmh0bWwpIC0gY29sbGVjdGlvbiBvZiB0YWJsZXMgYnVpbHQgdXNpbmcgW1NlYW4gTGFobWFuJ3MgaGlzdG9yaWNhbCBkYXRhYmFzZSBnb2luZyBiYWNrIHRvIDE4NzEhXShodHRwOi8vd3d3LnNlYW5sYWhtYW4uY29tL2Jhc2ViYWxsLWFyY2hpdmUvc3RhdGlzdGljcy8pLgotIFtgYmFzZWJhbGxyYCBwYWNrYWdlXShodHRwOi8vYmlsbHBldHRpLmdpdGh1Yi5pby9iYXNlYmFsbHIvKSBieSBCaWxsIFBldHRpIC0gcHJvdmlkZXMgYWNjZXNzIHRvIGRhdGEgZnJvbSBGYW5HcmFwaHMuY29tLCBCYXNlYmFsbC1SZWZlcmVuY2UuY29tLCBhbG9uZyB3aXRoIHBpdGNoLWxldmVsIFBJVENIZi94IGFuZCBTdGF0Y2FzdCBkYXRhIGZyb20gdGhlIFtCYXNlYmFsbCBTYXZhbnQgc2l0ZV0oaHR0cHM6Ly9iYXNlYmFsbHNhdmFudC5tbGIuY29tLykuCi0gW2ByZXRyb2AgcGFja2FnZV0oaHR0cHM6Ly9naXRodWIuY29tL2JlYW51bWJlci9yZXRybykgYnkgQmVuIEJhdW1lciAtIGVuYWJsZXMgZWFzeSBhY2Nlc3MgdG8gYW5kIGNyZWF0aW9uIG9mIGEgW1JldHJvc2hlZXRdKGh0dHBzOi8vd3d3LnJldHJvc2hlZXQub3JnLykgZGF0YWJhc2UuCi0gW2BzdGF0Y2FzdHJgIHBhY2thZ2VdKGh0dHBzOi8vZ2l0aHViLmNvbS9iZWFudW1iZXIvc3RhdGNhc3RyKSBieSBCZW4gQmF1bWVyIC0gZW5hYmxlcyBlYXN5IGNyZWF0aW9uIG9mIGEgU3RhdGNhc3QgZGF0YWJhc2UgdXNpbmcgW2BiYXNlYmFsbHJgXQoKIyMgQW1lcmljYW4gZm9vdGJhbGwKCi0gW2BuZmxzY3JhcFJgLWRhdGEgcmVwb3NpdG9yeV0oaHR0cHM6Ly9naXRodWIuY29tL3J5dXJrby9uZmxzY3JhcFItZGF0YSkgYnkgUm9uIFl1cmtvIC0gcmVwb3NpdG9yeSBvZiBORkwgcGxheS1ieS1wbGF5IGRhdGEgZnJvbSAyMDA5IHRvIDIwMTkuIFRoaXMgd2FzIGNvbnN0cnVjdGVkIHVzaW5nIHRoZSBbYG5mbHNjcmFwUmBdKGh0dHBzOi8vZ2l0aHViLmNvbS9tYWtzaW1ob3Jvd2l0ei9uZmxzY3JhcFIpIHBhY2thZ2Ugd2hpY2ggdW5mb3J0dW5hdGVseSBpcyBubyBsb25nZXIgYWJsZSB0byBzY3JhcGUgZGF0YSBkdWUgdG8gY2hhbmdlcyBtYWRlIGJ5IHRoZSBORkwuIFRoZSBkYXRhIGluY2x1ZGUgYWR2YW5jZWQgc3RhdGlzdGljcyBnZW5lcmF0ZWQgYnkgdGhlIGBuZmxzY3JhcFJgIFtleHBlY3RlZCBwb2ludHMgKEVQKSBhbmQgd2luIHByb2JhYmlsaXR5IChXUCkgbW9kZWxzXShodHRwczovL2FyeGl2Lm9yZy9hYnMvMTgwMi4wMDk5OCkuCi0gW2BuZmxmYXN0UmAtZGF0YSByZXBvc2l0b3J5XShodHRwczovL2dpdGh1Yi5jb20vZ3VnYTMxYmIvbmZsZmFzdFItZGF0YSkgYnkgU2ViYXN0aWFuIENhcmwgYW5kIEJlbiBCYWxkd2luIC0gcmVwb3NpdG9yeSBvZiBORkwgZGF0YSBnb2luZyBiYWNrIHRvIDIwMDAhIFRoaXMgd2FzIGNvbnN0cnVjdGVkIHVzaW5nIHRoZSBbYG5mbGZhc3RSYF0oaHR0cHM6Ly9tcmNhc2ViLmdpdGh1Yi5pby9uZmxmYXN0Ui8pIHBhY2thZ2UgYW5kIHdhcyBoZWF2aWx5IGluc3BpcmVkIGJ5IGBuZmxzY3JhcFJgLCBpbmNsdWRpbmcgdGhlIHVzZSBvZiB0aGUgYG5mbHNjcmFwUmAgbW9kZWxzIGZvciBjYWxjdWxhdGluZyBFUCBhbmQgV1AuCi0gW2BjZmJmYXN0UmBdKGh0dHBzOi8vc2FpZW1naWxhbmkuZ2l0aHViLmlvL2NmYmZhc3RSLykgYnkgU2FpZW0gR2lsYW5pIGV0IGFsIC0gYFJgIHBhY2thZ2UgdG8gYWNjZXNzIHRvIGNvbGxlZ2UgZm9vdGJhbGwgcGxheS1ieS1wbGF5IGRhdGEgYmFzZWQgb24gYSB3cmFwcGVyIGFyb3VuZCBbaHR0cHM6Ly9jb2xsZWdlZm9vdGJhbGxkYXRhLmNvbS9dKGh0dHBzOi8vY29sbGVnZWZvb3RiYWxsZGF0YS5jb20vKSB3aGlsZSBpbmNsdWRpbmcgRVAgYW5kIFdQIGVzdGltYXRlcy4gSXRzIHdlYnNpdGUgY29udGFpbnMgYW4gZXh0ZW5zaXZlIG51bWJlciBvZiBleGFtcGxlcy4gSXQncyB0aGUgZXZvbHV0aW9uIG9mIHRoZSBwcmV2aW91cyBbYGNmYnNjcmFwUmBdKGh0dHBzOi8vZ2l0aHViLmNvbS9tZXlzdWJiL2NmYnNjcmFwUikgcGFja2FnZSBieSBNZXlhcHBhbiBTdWJiYWlhaCBldCBhbC4KCiMjIEJhc2tldGJhbGwKCi0gW2BuY2FhaG9vcHJgIHBhY2thZ2VdKGh0dHBzOi8vZ2l0aHViLmNvbS9sYmVuejczMC9uY2FhaG9vcFIpIGJ5IEx1a2UgQmVueiAtIHByb3ZpZGVzIGFjY2VzcyB0byBtZW4ncyBOQ0FBIGJhc2tldGJhbGwgcGxheS1ieS1wbGF5IGRhdGEsIGFsb25nIHdpdGggd2luIHByb2JhYmlsaXR5IGVzdGltYXRlcy4KLSBbYHduY2FhaG9vcFJgIHBhY2thZ2VdKGh0dHBzOi8vZ2l0aHViLmNvbS9zbmVzdGxlci93bmNhYWhvb3BSKSBieSBTZXRoIEJlcnJ5IGFuZCBTY290dCBOZXN0bGVyIC0gaW5zcGlyZWQgYnkgYG5jYWFob29wcmAsIHRoaXMgcHJvdmlkZXMgYWNjZXNzIHRvIHdvbWVuJ3MgTkNBQSBiYXNrZXRiYWxsIHBsYXktYnktcGxheSBkYXRhIGFuZCBvdGhlciBpbmZvcm1hdGlvbi4KLSBbYG5iYXN0YXRSYCBwYWNrYWdlXShodHRwOi8vYXNiY2xsYy5jb20vbmJhc3RhdFIvKSBieSBBbGV4IEJyZXNsZXIgLSBjb21wcmVoZW5zaXZlIHBhY2thZ2UgZm9yIGFjY2Vzc2luZyBOQkEgZGF0YSBzdWNoIGFzIHBsYXktYnktcGxheSBhbmQgc2hvdCBsb2NhdGlvbnMuCi0gW2BweWJhbGxgIHB5dGhvbiBwYWNrYWdlXShodHRwczovL2Jhc2tldGJhbGxyZWxhdGl2aXR5LmdpdGh1Yi5pby9weV9iYWxsL19idWlsZC9odG1sL2luZGV4Lmh0bWwpIGJ5IFBhdHJpY2sgTWNGYXJsYW5lIC0gY29tcHJlaGVuc2l2ZSBweXRob24gcGFja2FnZSBmb3IgYWNjZXNzaW5nIGJvdGggTkJBIGFuZCBXTkJBIGRhdGEgc2ltaWxhciB0byBgbmJhc3RhdFJgLgotIFtgYmFsbHJgIHBhY2thZ2VdKGh0dHBzOi8vZ2l0aHViLmNvbS9ydGVsbW9yZS9iYWxscikgYnkgUnlhbiBFbG1vcmUgLSBwcm92aWRlcyBlYXN5IGFjY2VzcyB0byBzdGF0cyBmcm9tIGJhc2tldGJhbGwtcmVmZXJlbmNlLmNvbS4KLSBbRWlnaHQgVGhpcnR5IEZvdXJdKGh0dHBzOi8vZWlnaHR0aGlydHlmb3VyLmNvbS8pIGJ5IFVkYW0gU2luZ2ggU2FpbmkgLSByZXBvc2l0b3J5IG9mIHJlYWRpbHkgYXZhaWxhYmxlIE5CQSBwbGF5LWJ5LXBsYXkgY3N2IGRhdGFzZXRzLCBpbmNsdWRpbmcgZmlsZXMgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCBwbGF5ZXJzIG9uIGNvdXJ0IGF0IHRoZSBwb3NzZXNzaW9uIGxldmVsLgotIFtob29wcl0oaHR0cHM6Ly9zYWllbWdpbGFuaS5naXRodWIuaW8vaG9vcFIvaW5kZXguaHRtbCkgYnkgU2FpZW0gR2lsYW5pIC0gcHJvdmlkZXMgYWNjZXNzIHRvIGxpdmUgcGxheSBieSBwbGF5IGFuZCBib3ggc2NvcmUgZGF0YSBmcm9tIEVTUE4gd2l0aCBzaG90IGxvY2F0aW9ucyB3aGVuIGF2YWlsYWJsZSBmb3IgbWVuJ3MgY29sbGVnZSBhbmQgcHJvZmVzc2lvbmFsIGJhc2tldGJhbGwuCi0gW3dlaG9vcF0oaHR0cHM6Ly9zYWllbWdpbGFuaS5naXRodWIuaW8vd2Vob29wL2luZGV4Lmh0bWwpIGJ5IFNhaWVtIEdpbGFuaSBhbmQgR2VvZmYgSHV0Y2hpbnNvbiAtIGBSYCBwYWNrYWdlIGZvciB3b3JraW5nIHdpdGggd29tZW7igJlzIGNvbGxlZ2UgYW5kIHByb2Zlc3Npb25hbCBiYXNrZXRiYWxsIGRhdGEsIHdpdGggZnVuY3Rpb25zIHRvIGFjY2VzcyBsaXZlIHBsYXkgYnkgcGxheSBhbmQgYm94IHNjb3JlIGRhdGEgZnJvbSBFU1BOIHdpdGggc2hvdCBsb2NhdGlvbnMgd2hlbiBhdmFpbGFibGUuCgoKIyMgSG9ja2V5CgotIFtgbmhsYXBpYCBwYWNrYWdlXShodHRwczovL2dpdGh1Yi5jb20vam96ZWZoYWpuYWxhL25obGFwaSkgYnkgSm96ZWYgSGFqbmFsYSAtIG5ldyBwYWNrYWdlIGZvciBhY2Nlc3NpbmcgZGF0YSBmcm9tIHRoZSBvcGVuIE5ITCBBUEkgKGxvb2tzIHByb21pc2luZyEpLgotIFtgbndobFJgIHBhY2thZ2VdKGh0dHBzOi8vZ2l0aHViLmNvbS9qZmxhbmNlci9ud2hsUikgYnkgSmFrZSBGbGFuY2VyIC0gcHJvdmlkZXMgYWNjZXNzIHRvIE5XSEwgcGxheS1ieS1wbGF5IGRhdGEuCi0gW2BlbGl0ZWAgcGFja2FnZV0oaHR0cHM6Ly9naXRodWIuY29tL2VvcHBlMTAyMi9lbGl0ZSkgYnkgRXZhbiBPcHBlbmhlaW1lciAtIHByb3ZpZGVzIGVhc3kgYWNjZXNzIHRvIGRhdGEgZnJvbSBbRWxpdGUgUHJvc3BlY3RzXShodHRwczovL3d3dy5lbGl0ZXByb3NwZWN0cy5jb20vKS4KLSBbRXZvbHZpbmctSG9ja2V5IHNjcmFwZXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9ldm9sdmluZ3dpbGQvZXZvbHZpbmctaG9ja2V5KSAtIGBSYCBzY3JpcHQgZm9yIGFjY2Vzc2luZyBOSEwncyBwdWJsaWNseSBhdmFpbGFibGUgZGF0YSAodXNlZCBpbiBjb25zdHJ1Y3Rpb24gb2YgW0V2b2x2aW5nLUhvY2tleS5jb21dKGh0dHBzOi8vZXZvbHZpbmctaG9ja2V5LmNvbS8pKS4KLSBbTWV0YSBIb2NrZXldKGh0dHA6Ly9tZXRhaG9ja2V5LmNvbS9yZXNvdXJjZXMvKSAtIHZhcmlvdXMgaG9ja2V5IGRhdGEgYW5kIGNvZGluZyByZXNvdXJjZXMuCi0gW01vbmV5UHVja10oaHR0cDovL21vbmV5cHVjay5jb20vZGF0YS5odG0pIC0gcGxheWVyLCB0ZWFtLCBhbmQgc2hvdC1sZXZlbCBkYXRhIGF2YWlsYWJsZSB0byBkb3dubG9hZCBnb2luZyBiYWNrIHRvIDIwMDcuCi0gW0JpZyBEYXRhIEN1cCAyMDIxIHNhbXBsZV0oaHR0cHM6Ly9naXRodWIuY29tL2JpZ2RhdGFjdXAvQmlnLURhdGEtQ3VwLTIwMjEpIC0gU3RhdGhsZXRlcy10cmFja2VkIGp1bmlvciBob2NrZXkgZGF0YSBmcm9tIHRoZSBFcmllIE90dGVycyBhbmQgd29tZW7igJlzIGhvY2tleSBkYXRhIGZyb20gdGhlIE9seW1waWNzIGFuZCBOQ0FBLgotIEFuZCBhIHZhcmlldHkgb2YgW3dvbWVucyBob2NrZXkgZGF0YSBzb3VyY2VzIGhlcmVdKGh0dHBzOi8vd3d3Lndoa3loYWMuY29tL2RhdGEpIGZyb20gdGhlIG9yZ2FuaXplcnMgb2YgW1dIS1lIQUNdKGh0dHBzOi8vd3d3Lndoa3loYWMuY29tL2hvbWUpLgoKIyMgU29jY2VyIChmb290YmFsbCkKCi0gW2Bud3NsUmAgcGFja2FnZV0oaHR0cHM6Ly9naXRodWIuY29tL2Fkcm9yMS9ud3NsUikgYnkgQXJpZWxsZSBEcm9yIGFuZCBTb3BoaWEgVGFubmlyIC0gY29udGFpbnMgZGF0YXNldHMgYW5kIGZ1bmN0aW9ucyB0byBhY2Nlc3MgZGF0YSBmcm9tIHRoZSBOYXRpb25hbCBXb21lbuKAmXMgU29jY2VyIExlYWd1ZSAoTldTTCkuIF9VbmZvcnR1bmF0ZWx5IGl0cyBzY3JhcGluZyBmdW5jdGlvbnMgZG8gbm90IGFwcGVhciB0byB3b3JrIGFueW1vcmUsIGJ1dCBpdCBzdGlsbCBpbmNsdWRlcyBwcmV2aW91c2x5IGRvd25sb2FkZWQgZGF0YXNldHMuXwotIFtgZmNzY3JhcFJgIHBhY2thZ2VdKGh0dHBzOi8vZ2l0aHViLmNvbS9yeXVya28vZmNzY3JhcFIpIGJ5IFJvbiBZdXJrbyAtIGFjY2Vzc2VzIEVTUE4ncyBjb21tZW50YXJ5IGRhdGEgZm9yIHNvY2NlciBtYXRjaGVzIChjb3VsZCB1c2UgYW4gdXBkYXRlLi4uKQotIFtgZW5nc29jY2VyZGF0YWAgcGFja2FnZV0oaHR0cHM6Ly9naXRodWIuY29tL2phbGFwaWMvZW5nc29jY2VyZGF0YSkgYnkgSmFtZXMgQ3VybGV5IC0gcGFja2FnZSBpbmNsdWRlcyBjb21wbGV0ZSBkYXRhc2V0cyBmb3IgRW5nbGlzaCBhbmQgRXVyb3BlYW4gc29jY2VyIGxlYWd1ZXMuCi0gW1N0YXRzQm9tYiBPcGVuIERhdGFdKGh0dHBzOi8vZ2l0aHViLmNvbS9zdGF0c2JvbWIvb3Blbi1kYXRhKSAtIGZyZWUgc2FtcGxlIFN0YXRzQm9tYiB0byB1c2UgKFt1bmRlciB0ZXJtcyBhbmQgY29uZGl0aW9uc10oaHR0cHM6Ly9zdGF0c2JvbWIuY29tL2FjYWRlbXkvKSkgd2l0aCBwbGF5ZXIgbG9jYXRpb25zIG9uIHNob3QgYXR0ZW1wdHMgYW5kIHBhc3NlcywgYWxvbmcgd2l0aCBkZXRhaWxlZCBkZWZlbnNpdmUgaW5mb3JtYXRpb24uCi0gW0ludGVybmF0aW9uYWwgZm9vdGJhbGwgcmVzdWx0cyBmcm9tIDE4NzIgdG8gMjAyMF0oaHR0cHM6Ly93d3cua2FnZ2xlLmNvbS9tYXJ0ajQyL2ludGVybmF0aW9uYWwtZm9vdGJhbGwtcmVzdWx0cy1mcm9tLTE4NzItdG8tMjAxNy9kYXRhKSBieSBNYXJ0IErDvHJpc29vIC0gS2FnZ2xlIGRhdGFzZXQgd2l0aCByZXN1bHRzIGZvciA+IDQwLDAwMCBpbnRlcm5hdGlvbmFsIGZvb3RiYWxsIG1hdGNoZXMgZ29pbmcgYmFjayB0byAxODcyIQotIFtBbWVyaWNhbiBTb2NjZXIgQW5hbHlzaXMgYXBwXShodHRwczovL2FwcC5hbWVyaWNhbnNvY2NlcmFuYWx5c2lzLmNvbS8jIS8pIC0gcGxheWVyIGFuZCB0ZWFtIGxldmVsIGRhdGEgZm9yIE1MUywgTldTTCwgYW5kIG1vcmUgQW1lcmljYW4gc29jY2VyIGxlYWd1ZXMgYXJlIGF2YWlsYWJsZSBkb3dubG9hZCBmb3IgZnJlZSEKCiMjIE1vcmUgc3BvcnRzIQoKLSBbYHNwb3J0eVJgXShodHRwczovL2dpdGh1Yi5jb20vcm9zc2RydWNrZXIvc3BvcnR5UikgLSBgUmAgcGFja2FnZSB3aXRoIHBsb3R0aW5nIGZ1bmN0aW9ucyBmb3IgYSB2YXJpZXR5IG9mIHNwb3J0cyBhbmQgdHlwZXMgb2YgZmllbGRzL2NvdXJ0cy4KLSBbYGRldWNlYCBwYWNrYWdlXShodHRwczovL2dpdGh1Yi5jb20vc2tvdmFsL2RldWNlKSBieSBTdGVwaGFuaWUgS292YWxjaGlrIC0gcHJvdmlkZXMgZWFzeSBhY2Nlc3MgdG8gcHJvZmVzc2lvbmFsIHRlbm5pcyBkYXRhIGZyb20gW0plZmYgU2Fja21hbm4ncyBkYXRhIHJlcG9zaXRvcmllc10oaHR0cHM6Ly9naXRodWIuY29tL0plZmZTYWNrbWFubikuCi0gW2Bjcmlja2V0ZGF0YWAgcGFja2FnZV0oaHR0cHM6Ly9kb2NzLnJvcGVuc2NpLm9yZy9jcmlja2V0ZGF0YS8pIGJ5IFJvYiBIeW5kbWFuIC0gcHJvdmlkZXMgYWNjZXNzIHRvIGRhdGEgZnJvbSBbRVNQTkNyaWNpbmZvXShodHRwczovL3d3dy5lc3BuY3JpY2luZm8uY29tLykuCi0gW0NyaWNzaGVldF0oaHR0cHM6Ly9jcmljc2hlZXQub3JnLykgLSBiYWxsLWJ5LWJhbGwgQ1NWIGRhdGEgZm9yIG1lbidzIGFuZCB3b21lbidzIG1hdGNoZXMgYWNyb3NzIHRvdXJuYW1lbnRzIGFuZCBsZWFndWVzIChiYXNpY2FsbHkgaXQncyBSZXRyb3NoZWV0IGZvciBDcmlja2V0KS4KLSBbV29ybGQgQ2hhbXBpb25zaGlwIFJvd2luZyBTcGxpdCBUaW1lcyBhbmQgU3Ryb2tlcyBwZXIgTWludXRlXShodHRwczovL2dpdGh1Yi5jb20vZGFuaWNodXNmdS9yb3dpbmdfcGFjaW5nX3Byb2ZpbGVzKSBieSBEYW5pIENodSAtIHJlcG9zaXRvcnkgd2l0aCBDU1YgZmlsZXMgZm9yIFdvcmxkIFJvd2luZyBDaGFtcGlvbnNoaXAgcGFjaW5nIHByb2ZpbGUgcHJvamVjdAotIFtDaHJpcyBMb25nJ3MgcmVwb3NpdG9yaWVzXShodHRwczovL2dpdGh1Yi5jb20vb2N0b25pb24/dGFiPXJlcG9zaXRvcmllcykgLSBhbiBpbmNyZWRpYmxlIG51bWJlciBvZiBkaWZmZXJlbnQgZGF0YXNldHMgZm9yIGEgdmFyaWV0eSBvZiBzcG9ydHMgdGhhdCBJIHdvbid0IGF0dGVtcHQgdG8gc3VtbWFyaXplLCBmZWVsIGZyZWUgdG8gZGl2ZSBpbiEKLSBbUk9wZW5Eb3RhXShodHRwczovL2dpdGh1Yi5jb20vcm9zZHlhbmEvUk9wZW5Eb3RhKSAtIEFuIFIgcGFja2FnZSB0aGF0IHdvcmtzIGFzIGFuIEFQSSBjbGllbnQgZm9yIERPVEEyIGJhc2VkIG9uIE9wZW5Eb3RhLgotIFtLYWdnbGUgZVNwb3J0cyBkYXRhc2V0c10oaHR0cHM6Ly93d3cua2FnZ2xlLmNvbS9zZWFyY2g/cT1lU3BvcnRzK2luJTNBZGF0YXNldHMpIC0gS2FnZ2xlIHNlZW1zIHRvIGJlIHRoZSBvbmx5IGxvY2F0aW9uIHdpdGggcHVibGljbHkgYXZhaWxhYmxlIGVTcG9ydHMgZGF0YS4KCgoKCgoKCg==