Code/HumanoidRetargeter/Core/Formats/Mmd/MmdJapaneseEncoding.cs

Internal static class that decodes Shift-JIS/CP932-like byte sequences used by MMD files into a .NET string. It implements a custom Decode(byte[], int) that handles single-byte ASCII, half-width katakana, double-byte lead/trail decoding via a large embedded mapping table stored as a base64 Unicode string.

Encoded Data
using System.Text;

namespace HumanoidRetargeter.Core.Formats.Mmd;

// CP932 byte-to-Unicode mapping. Embedded because s&box forbids CodePagesEncodingProvider.
// Rows: leads 81-9F/E0-FC; columns: trails 40-7E/80-FC. Invalid pairs map to U+FFFD.
internal static class MmdJapaneseEncoding
{
	internal static string Decode( byte[] data ) => Decode( data, data.Length );

	internal static string Decode( byte[] data, int count )
	{
		var result = new StringBuilder( count );
		for ( var i = 0; i < count; i++ )
		{
			var value = data[ i ];
			if ( value < 0x80 )
				result.Append( (char)value );
			else if ( value is >= 0xa1 and <= 0xdf )
				result.Append( (char)(0xff61 + value - 0xa1) );
			else if ( value is >= 0x81 and <= 0x9f or >= 0xe0 and <= 0xfc )
			{
				if ( i + 1 >= count || data[ i + 1 ] is < 0x40 or > 0xfc or 0x7f )
				{
					result.Append( '\ufffd' );
					continue;
				}
				var trail = data[ ++i ];
				var row = value <= 0x9f ? value - 0x81 : value - 0xe0 + 31;
				var column = trail < 0x7f ? trail - 0x40 : trail - 0x41;
				result.Append( Table[ row * 188 + column ] );
			}
			else
				result.Append( value == 0x80 ? '\u0080' : (char)(0xf8f0 + (value == 0xa0 ? 0 : value - 0xfc)) );
		}
		return result.ToString();
	}

	private static readonly string Table = Encoding.Unicode.GetString( Convert.FromBase64String(
		"ADABMAIwDP8O//swGv8b/x//Af+bMJwwtABA/6gAPv/j/z///TD+MJ0wnjADMN1OBTAGMAcw/DAVIBAgD/88/17/JSJc/yYgJSAYIBkgHCAdIAj/Cf8UMBUw" +
		"O/89/1v/Xf8IMAkwCjALMAwwDTAOMA8wEDARMAv/Df+xANcA9wAd/2AiHP8e/2YiZyIeIjQiQiZAJrAAMiAzIAMh5f8E/+D/4f8F/wP/Bv8K/yD/pwAGJgUm" +
		"yyXPJc4lxyXGJaEloCWzJbIlvSW8JTsgEjCSIZAhkSGTIRMw/f/9//3//f/9//3//f/9//3//f/9/wgiCyKGIocigiKDIioiKSL9//3//f/9//3//f/9//3/" +
		"JyIoIuL/0iHUIQAiAyL9//3//f/9//3//f/9//3//f/9//3/ICKlIhIjAiIHImEiUiJqImsiGiI9Ih0iNSIrIiwi/f/9//3//f/9//3//f8rITAgbyZtJmom" +
		"ICAhILYA/f/9//3//f/vJf3//f/9//3//f/9//3//f/9//3//f/9//3//f/9/xD/Ef8S/xP/FP8V/xb/F/8Y/xn//f/9//3//f/9//3//f8h/yL/I/8k/yX/" +
		"Jv8n/yj/Kf8q/yv/LP8t/y7/L/8w/zH/Mv8z/zT/Nf82/zf/OP85/zr//f/9//3//f/9//3/Qf9C/0P/RP9F/0b/R/9I/0n/Sv9L/0z/Tf9O/0//UP9R/1L/" +
		"U/9U/1X/Vv9X/1j/Wf9a//3//f/9//3/QTBCMEMwRDBFMEYwRzBIMEkwSjBLMEwwTTBOME8wUDBRMFIwUzBUMFUwVjBXMFgwWTBaMFswXDBdMF4wXzBgMGEw" +
		"YjBjMGQwZTBmMGcwaDBpMGowazBsMG0wbjBvMHAwcTByMHMwdDB1MHYwdzB4MHkwejB7MHwwfTB+MH8wgDCBMIIwgzCEMIUwhjCHMIgwiTCKMIswjDCNMI4w" +
		"jzCQMJEwkjCTMP3//f/9//3//f/9//3//f/9//3//f+hMKIwozCkMKUwpjCnMKgwqTCqMKswrDCtMK4wrzCwMLEwsjCzMLQwtTC2MLcwuDC5MLowuzC8ML0w" +
		"vjC/MMAwwTDCMMMwxDDFMMYwxzDIMMkwyjDLMMwwzTDOMM8w0DDRMNIw0zDUMNUw1jDXMNgw2TDaMNsw3DDdMN4w3zDgMOEw4jDjMOQw5TDmMOcw6DDpMOow" +
		"6zDsMO0w7jDvMPAw8TDyMPMw9DD1MPYw/f/9//3//f/9//3//f/9/5EDkgOTA5QDlQOWA5cDmAOZA5oDmwOcA50DngOfA6ADoQOjA6QDpQOmA6cDqAOpA/3/" +
		"/f/9//3//f/9//3//f+xA7IDswO0A7UDtgO3A7gDuQO6A7sDvAO9A74DvwPAA8EDwwPEA8UDxgPHA8gDyQP9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/EAQRBBIEEwQUBBUEAQQWBBcEGAQZBBoEGwQcBB0EHgQfBCAEIQQiBCME" +
		"JAQlBCYEJwQoBCkEKgQrBCwELQQuBC8E/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/MAQxBDIEMwQ0BDUEUQQ2BDcEOAQ5BDoEOwQ8BD0EPgQ/BEAE" +
		"QQRCBEMERARFBEYERwRIBEkESgRLBEwETQROBE8E/f/9//3//f/9//3//f/9//3//f/9//3//f8AJQIlDCUQJRglFCUcJSwlJCU0JTwlASUDJQ8lEyUbJRcl" +
		"IyUzJSslOyVLJSAlLyUoJTclPyUdJTAlJSU4JUIl/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3/YCRhJGIkYyRkJGUkZiRnJGgkaSRqJGskbCRtJG4kbyRwJHEkciRzJGAhYSFiIWMhZCFlIWYhZyFoIWkh/f9JMxQzIjNNMxgzJzMDMzYzUTNXMw0z" +
		"JjMjMyszSjM7M5wznTOeM44zjzPEM6Ez/f/9//3//f/9//3//f/9/3szHTAfMBYhzTMhIaQypTKmMqcyqDIxMjIyOTJ+M30zfDNSImEiKyIuIhEiGiKlIiAi" +
		"HyK/IjUiKSIqIv3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/nE4WVQNaP5bAVBthKGP2WSKQdYQcg1B6qmDhYyVu7WVmhKaC9ZuTaCdXoWVxYptb0Fl7hvSYYn2+fY6b" +
		"FmKffLeIiVu1Xgljl2ZIaMeVjZdPZ+VOCk9NT51PSVDyVjdZ1FkBWglc32APYXBhE2YFabpwT3Vwdft5rX3vfcOADoRjiAKLVZB6kDtTlU6lTt9XsoDBkO94" +
		"AE7xWKJuOJAyeiiDi4IvnEFRcFO9VOFU4Fb7WRVf8pjrbeSALYVilnCWoJb7lwtU81OHW89wvX/Cj+iWb1Ncnbp6EU6TePyBJm4YVgRVHWsahTuc5VmpU2Zt" +
		"3HSPlUJWkU5LkPKWT4MMmeFTtlUwW3FfIGbzZgRoOGzzbCltW3TIdk56NJjxgluIYIrtkrJtq3XKdsWZpmABi4qNspWOaa1ThlESVzBYRFm0W/ZeKGCpY/Rj" +
		"v2wUb45wFHFZcdVxP3MBfnaC0YKXhWCQW5IbnWlYvGVabCV1+VEuWWVZgF/cX7xi+mUqaidrtGuLc8F/VoksnQ6dxJ6hXJZse4MEUUtctmHGgXZoYXJZTvpP" +
		"eFNpYCluT3rzlwtOFlPuTlVPPU+hT3NPoFLvUwlWD1nBWrZb4VvReYdmnGe2Z0xrs2xrcMJzjXm+eTx6h3uxgtuCBIN3g++D04Nmh7KKKVaojOaPTpAel4qG" +
		"xE/oXBFiWXI7deWBvYL+hsCMxZYTmdWZy04aT+OJ3lZKWMpY+17rXypglGBiYNBhEmLQYjllQZtmZrBod21wcEx1hnZ1faWC+YeLlY6WnYzxUb5SFlmzVLNb" +
		"Fl1oYYJpr22NeMuEV4hyiqeTuJpsbaiZ2YajV/9nzoYOkoNSh1YEVNNe4WK5ZDxoOGi7a3JzunhrepqJ0olrjQOP7ZCjlZSWaZdmW7NcfWlNmE6Ym2Mgeytq" +
		"f2q2aA2cX29yUp1VcGDsYjttB27RbluEEIlEjxROOZz2UxtpOmqElypoXFHDerKE3JGMk1tWKJ0iaAWDMYSlfAhSxYLmdH5Og0+gUdJbClLYUudS+12aVSpY" +
		"5lmMW5hb21tyXnleo2AfYWNhvmHbY2Jl0WdTaPpoPmtTa1dsIm+Xb0VvsHQYdeN2C3f/eqF7IXzpfTZ/8H+dgGaCnoOzicyKq4yEkFGUk5WRlaKVZZbTlyiZ" +
		"GII4TitUuFzMXalzTHY8d6lc638LjcGWEZhUmFiYAU8OT3FTnFVoVvpXR1kJW8RbkFwMXn5ezF/uYzpn12XiZR9ny2jEaF9qMF7FaxdsfWx/dUh5Y1sAegB9" +
		"vV+PiRiKtIx3jcyOHY/imA6aPJuATn1QAFGTWZxbL2KAYuxkOmugcpF1R3mpf/uHvIpwi6xjyoOglwlUA1SrVVRoWGpwiid4dWfNnnRTolsagVCGBpAYTkVO" +
		"x04RT8pTOFSuWxNfJWBRZT1nQmxybONseHADdHZ6rnoIexp9/nxmfedlW3K7U0Vc6F3SYuBiGWMgblqGMYrdjfiSAW+meVqbqE6rTqxOm0+gT9FQR1H2enFR" +
		"9lFUUyFTf1PrU6xVg1jhXDdfSl8vYFBgbWAfY1llS2rBbMJy7XLvd/iABYEIgk6F95Dhk/+XV5lamvBO3VEtXIFmbWlAXPJmdWmJc1BogXzFUORSR1f+XSaT" +
		"pGUjaz1rNHSBeb15S3vKfbmCzIN/iF+JOYvRj9GRH1SAkl1ONlDlUzpT13KWc+l35oKvjsaZyJnSmXdRGmFehrBVenp2UNNbR5CFljJO22rnkVFcSFyYY596" +
		"k2x0l2GPqnqKcYiWgnwXaHB+UWhsk/JSG1SrhROKpH/NjuGQZlOIiEF5wk++UBFSRFFTVS1X6nOLV1FZYl+EX3VgdmFnYalhsmM6ZGxlb2ZCaBNuZnU9evt8" +
		"TH2ZfUt+a38Og0qDzYYIimOKZov9jhqYj524gs6P6JuHUh9ig2TAb5mWQWiRUCBremxUb3R6UH1AiCOKCGf2TjlQJlBlUHxROFJjUqdVD1cFWMxa+l6yYfhh" +
		"82JyYxxpKWp9cqxyLnMUeG94eX0Md6mAi4kZi+KM0o5jkHWTepZVmBOaeJ5DUZ9Ts1N7XiZfG26QboRz/nNDfTeCAIr6ilCWTk4LUORTfFT6VtFZZFvxXate" +
		"J184YkVlr2dWbtByyny0iKGA4YDwg06Gh4rojTeSx5ZnmBOflE6STg1PSFNJVD5UL1qMX6Ffn2CnaI5qWnSBeJ6KpIp3i5CRXk7Jm6ROfE+vTxlQFlBJUWxR" +
		"n1K5Uv5SmlPjUxFUDlSJVVFXold9WVRbXVuPW+Vd5133XXheg16aXrdeGF9SYExhl2LYYqdjO2UCZkNm9GZtZyFol2jLaV9sKm1pbS9unW4ydYd2bHg/euB8" +
		"BX0YfV59sX0VgAOAr4CxgFSBj4EqglKDTIhhiBuLooz8jMqQdZFxkj94/JKklU2WBZiZmdiaO51bUqtS91MIVNVY92Lgb2qMX4+5nktRO1JKVP1WQHp3kWCd" +
		"0p5EcwlvcIERdf1f2mComttyvI9kawOYyk7wVmRXvlhaWmhgx2EPZgZmOWixaPdt1XU6fW6CQpubTlBPyVMGVW9d5l3uXftnmWxzdAJ4UIqWk9+IUFenXitj" +
		"tVCsUI1RAGfJVF5Yu1mwW2lfTWKhYz1oc2sIbn1wx5GAchV4JnhteY5lMH3cg8GICY+blmRSKFdQZ2p/oYy0UUJXKpY6WIpptICyVA5d/FeVePqdXE9KUotU" +
		"PmQoZhRn9WeEelZ7In0vk1xorZs5exlTilE3Ut9b9mKuZOZkLWe6a6mF0ZaQdtabTGMGk6ubv3ZSZglOmFDCU3Fc6GCSZGNlX2jmccpzI3WXe4J+lYaDi9uM" +
		"eJEQmaxlq2aLa9VO1E46T39POlL4U/JT41XbVutYy1nJWf9ZUFtNXAJeK17XXx1gB2MvZVxbr2W9ZehlnWdia3trD2xFc0l5wXn4fBl9K32igAKB84GWiV6K" +
		"aYpmioyK7orHjNyMzJb8mG9ri048T41PUFFXW/pbSGEBY0JmIWvLbrtsPnK9dNR1wXg6eQyAM4DqgZSEno9QbH+eD19Yiyud+nr4jo1b65YDTvFT91cxWcla" +
		"pFuJYH9uBm++deqMn1sAheB7clD0Z52CYVxKhR5+DoKZUQRcaGNmjZxlbnE+eRd9BYAdi8qObpDHhqqQH1D6UjpcU2d8cDVyTJHIkSuT5YLCWzFf+WA7TtZT" +
		"iFtLYjFnimvpcuBzLnprgaONUpGWmRJR11NqVP9biGM5aqx9AJfaVs5TaFSXWzFc3l3uTwFh/mIybcB5y3lCfU1+0n/tgR+CkIRGiHKJkIt0ji+PMZBLkWyR" +
		"xpackcBOT09FUUFTk18OYtRnQWwLbmNzJn7NkYOS1FMZWb9b0W1deS5+m3x+WJ9x+lFTiPCPyk/7XCVmrHfjehyC/5nGUapf7GVvaYlr822WbmRv/nYUfeFd" +
		"dZCHkQaY5lEdUkBikWbZZhputl7SfXJ/+GavhfeF+IqpUtlTc1mPXpBfVWDkkmSWt1AfUd1SIFNHU+xT6FRGVTFVF1ZoWb5ZPFq1WwZcD1wRXBpchF6KXuBe" +
		"cF9/YoRi22KMY3djB2YMZi1mdmZ+Z6JoH2o1arxsiG0JblhuPHEmcWdxx3UBd114AXllefB54HoRe6d8OX2WgNaDi4RJhV2I84gfijyKVIpzimGM3oykkWaS" +
		"fpMYlJyWmJcKTghOHk5XTpdRcFLOVzRYzFgiWzhexWD+ZGFnVmdEbbZyc3VjeriEcou4kSCTMVb0V/6Y7WINaZZr7XFUfneAcoLmid+YVYexjztcOE/hT7VP" +
		"B1UgWt1b6VvDX05hL2OwZUtm7mibaXht8W0zdbl1H3deeeZ5M33jga+CqoWqiTqKq46bjzKQ3ZEHl7pOwU4DUnVY7FgLXBp1PVxOgQqKxY9jlm2XJXvPigiY" +
		"YpHzVqhTF5A5VIJXJV6oYzRsinBhd4t84H9wiEKQVJEQkxiTj5ZedMSaB11pXXBlomeojduWbmNJZxlpxYMXmMCW/oiEb3pk+FsWTixwXXUvZsRRNlLiUtNZ" +
		"gV8nYBBiP2V0ZR9mdGbyaBZoY2sFbnJyH3Xbdr58VoDwWP2If4mgipOKy4odkJKRUpdZl4llDnoGgbuWLV7cYBpipWUUZpBn83dNek18Pn4KgayMZI3hjV+O" +
		"qXgHUtlipWNCZJhiLYqDesB7rIrqlnZ9DIJJh9lOSFFDU2BTo1sCXBZc3V0mYkdisGQTaDRoyWxFbRdt02dcb05xfXHLZX96rXvafUp+qH96gRuCOYKmhW6K" +
		"zoz1jXiQd5CtkpGSg5Wum01ShFU4bzZxaFGFeVV+s4HOfExWUVioXKpj/mb9Zlpp2XKPdY51DnlWed95l3wgfUR9B4Y0ijuWYZAgn+dQdVLMU+JTCVCqVe5Y" +
		"T1k9cotbZFwdU+Ng82BcY4NjP2O7Y81k6WX5ZuNdzWn9aRVv5XGJTul1+HaTet98z32cfWGASYNYg2yEvIT7hcWIcI0BkG2Ql5MclxKaz1CXWI5h04E1hQiN" +
		"IJDDT3RQR1JzU29gSWNfZyxus40fkNdPXlzKjM9lmn1SU5aIdlHDY1hba1sKXA1kUWdckNZOGlkqWXBsUYo+VRVYpVnwYFNiwWc1glVpQJbEmSiaU08GWP5b" +
		"EICxXC9ehV8gYEthNGL/ZvBs3m7OgH+B1IKLiLiMAJAukIqW257bm+NO8FMnWSx7jZFMmPmd3W4ncFNTRFWFW1hinmLTYqJs728idBeKOJTBb/6KOIPnUfiG" +
		"6lPpU0ZPVJCwj2pZMYH9Xep6v4/aaDeM+HJInD1qsIo5TlhTBlZmV8ViomPmZU5r4W1bbq1w7Xfveqp7u309gMaAy4aViluT41bHWD5frWWWZoBqtWs3dceK" +
		"JFDldzBXG19lYHpmYGz0dRp6bn/0gRiHRZCzmcl7XHX5elF7xIQQkOl5kno2g+FaQHctTvJOmVvgX71iPGbxZ+hsa4Z3iDuKTpHzktCZF2omcCpz54JXhK+M" +
		"AU5GUctRi1X1WxZeM16BXhRfNV9rX7Rf8mERY6JmHWdub1JyOnU6d3SAOYF4gXaHv4rcioWN842akneVApjlnMVSV2P0dhVniGzNc8OMrpNzliVtnFgOacxp" +
		"/Y+ak9t1GpBaWAJotGP7aUNPLG/YZ7uPJoW0fVSTP2lwb2pX91gsWyx9KnIKVOORtJ2tTk5PXFB1UENSnoxIVCRYmlsdXpVerV73Xh9fjGC1Yjpj0GOvaEBs" +
		"h3iOeQt64H1HggKK5opEjhOQuJAtkdiRDp/lbFhk4mR1ZfRuhHYbe2mQ0ZO6bvJUuV+kZE2P7Y9EknhRa1gpWVVcl177bY9+HHW8jOKOW5i5cB1Pv2uxbzB1" +
		"+5ZOURBUNVhXWKxZYFySX5dlXGchbnt234PtjBSQ/ZBNkyV4OniqUqZeH1d0WRJgElBaUaxRzVEAUhBVVFhYWFdZlVv2XItdvGCVYi1kcWdDaLxo32jXdtht" +
		"b26bbW9wyHFTX9h1d3lJe1R7UnvWfHF9MFJjhGmF5IUOigSLRowPjgOQD5AZlHaWLZgwmtiVzVDVUgxUAlgOXKdhnmQebbN35Xr0gASEU5CFkuBcB50/U5df" +
		"s1+cbXlyY3e/eeR70mvscq2KA2hhavhRgXo0aUpc9pzrgsVbSZEecHhWb1zHYGZljGxajEGQE5hRVMdmDZJIWaOQhVFNTupRmYUOi1hwemNLk2JptJkEfnd1" +
		"V1Ngad+O45ZdbIxOPFwQX+mPAlPRjImAeYb/XuVlc05lUYJZP1zul/tOilnNX42K4W+weWJ551txhCtzsXF0XvVfe2OaZMNxmHxDTvxeS07cV6JWqWDDbw19" +
		"/YAzgb+Bso+XiaSG9F2KYq1kh4l3Z+JsPm02dDR4Rlp1f62CrJnzT8Ne3WKSY1dlb2fDdkxyzIC6gCmPTZENUPlXklqFaHNpZHH9creM8ljgjGqWGZB/h+R5" +
		"53cphC9PZVJaU81iz2fKbH12lHuVfDaChIXrj91mIG8Gcht+q4PBmaae/VGxe3J4uHuHgEh76GphXoyAUXVgdWtRYpKMbnp2l5HqmhBPcH+cYk97pZXpnHpW" +
		"WVjkhryWNE8kUkpTzVPbUwZeLGSRZX9nPmxObEhyr3Ltc1R1QX4sgumFqYzEe8aRaXESmO+YPWNpZmp15HbQeEOF7oYqU1FTJlSDWYdefF+yYElieWKrYpBl" +
		"1GvMbLJ1rnaReNh5y313f6WAq4i5iruMf5Bel9uYC2o4fJlQPlyuX4dn2Gs1dAl3jn87n8pnF3o5U4t17ZpmX52B8YOYgDxfxV9idUZ7PJBnaOtZm1oQfX52" +
		"LIv1T2pfGWo3bAJv4nRoeWiIVYp5jN9ez2PFddJ514Iok/KSnITthi2cwVRsX4xlXG0VcKeM04w7mE9l9nQNTthO4FcrWWZazFuoUQNenF4WYHZid2WnZW5m" +
		"bm02ciZ7UIGagZmCXIugjOaMdI0clkSWrk+rZGZrHoJhhGqF6JABXFNpqJh6hFeFD09vUqlfRV4NZ495eYEHiYaJ9W0XX1ViuGzPTmlykpsGUjtUdFazWKRh" +
		"bmIacW5ZiXzefBt98JaHZV6AGU51T3VRQFhjXnNeCl/EZyZOPYWJlVuWc3wBmPtQwVhWdqd4JVKldxGFhntPUAlZR3LHe+h9uo/Uj02Qv0/JUilaAV+tl91P" +
		"F4LqkgNXVWNpayt13IgUj0J631KTWFVhCmKuZs1rP3zpgyNQ+E8FU0ZUMVhJWZ1b8FzvXCldll6xYmdjPmW5ZQtn1WzhbPlwMngrft6As4IMhOyEAocSiSqK" +
		"SoymkNKS/ZjznGydT06hTo1QVlJKV6hZPV7YX9lfP2K0Zhtn0GfSaJJRIX2qgKiBAIuMjL+MfpIyliBULJgXU9VQXFOoWLJkNGdncmZ3RnrmkcNSoWyGawBY" +
		"TF5UWSxn+3/hUcZ2aWToeFSbu57LV7lZJ2aaZ85r6VTZaVVenIGVZ6qb/mdSnF1opk7jT8hTuWIrZ6tsxI+tT21+v54HTmJhgG4rbxOFc1QqZ0Wb812Ve6xc" +
		"xlsch0pu0YQUegiBmVmNfBFsIHfZUiJZIXFfctt3J5dhnQtpf1oYWqVRDVR9VA5m33b3j5iS9JzqWV1yxW5NUclov33sfWKXup54ZCFqAoOEWV9b22sbc/J2" +
		"sn0XgJmEMlEoZ9me7nZiZ/9SBZkkXDtifnywjE9VtmALfYCVAVNfTrZRHFk6cjaAzpElX+J3hFN5XwR9rIUzio2OVpfzZ66FU5QJYQhhuWxSdu2KOI8vVVFP" +
		"KlHHUstTpVt9XqBggmHWYwln2mdnboxtNnM3czF1UHnViJiKSpCRkPWQxJaNhxVZiE5ZTw5OiYo/jxCYrVB8XpZZuVu4Xtpj+mPBZNxmSmnYaQtttm6UcSh1" +
		"r3qKfwCASYTJhIGJIYsKjmWQfZYKmX5hkWIya4NsdG3Mf/x/wG2Ff7qH+IhlZ7GDPJj3lhttYX09hGqRcU51U1BdBGvrb82FLYaniSlSD1RlXE5nqGgGdIN0" +
		"4nXPiOGIzJHilniWi1+Hc8t6ToSgY2V1iVJBbZxuCXRZdWt4knyGltx6jZ+2T25hxWVchoZOrk7aUCFOzFHuW5llgWi8bR9zQnatdxx653xvgtKKfJDPkXWW" +
		"GJibUtF9K1CYU5dny23QcTN06IEqj6OWV5yfnmB0QViZbS99XpjkTjZPi0+3UbFSul0cYLJzPHnTgjSSt5b2lgqXl55in6ZmdGsXUqNSyHDCiMleS2CQYSNv" +
		"SXE+fPR9b4DuhCOQLJNCVG+b02qJcMKM740yl7RSQVrKXgRfF2d8aZRpam0Pb2Jy/HLtewGAfoBLh86QbVGTnoR5i4Ayk9aKLVCMVHGKamvEjAeB0WCgZ/Kd" +
		"mU6YThCca4rBhWiFAGl+bpd4VYH9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9/wxfEE4VTipOMU42TjxOP05CTlZOWE6CToVOa4yKThKCDV+OTp5On06gTqJOsE6zTrZOzk7NTsROxk7CTtdO3k7tTt9O904JT1pP" +
		"ME9bT11PV09HT3ZPiE+PT5hPe09pT3BPkU9vT4ZPlk8YUdRP30/OT9hP20/RT9pP0E/kT+VPGlAoUBRQKlAlUAVQHE/2TyFQKVAsUP5P708RUAZQQ1BHUANn" +
		"VVBQUEhQWlBWUGxQeFCAUJpQhVC0ULJQyVDKULNQwlDWUN5Q5VDtUONQ7lD5UPVQCVEBUQJRFlEVURRRGlEhUTpRN1E8UTtRP1FAUVJRTFFUUWJR+HppUWpR" +
		"blGAUYJR2FaMUYlRj1GRUZNRlVGWUaRRplGiUalRqlGrUbNRsVGyUbBRtVG9UcVRyVHbUeBRVYbpUe1R8FH1Uf5RBFILUhRSDlInUipSLlIzUjlST1JEUktS" +
		"TFJeUlRSalJ0UmlSc1J/Un1SjVKUUpJScVKIUpFSqI+nj6xSrVK8UrVSwVLNUtdS3lLjUuZS7ZjgUvNS9VL4UvlSBlMIUzh1DVMQUw9TFVMaUyNTL1MxUzNT" +
		"OFNAU0ZTRVMXTklTTVPWUV5TaVNuUxhZe1N3U4JTllOgU6ZTpVOuU7BTtlPDUxJ82ZbfU/xm7nHuU+hT7VP6UwFUPVRAVCxULVQ8VC5UNlQpVB1UTlSPVHVU" +
		"jlRfVHFUd1RwVJJUe1SAVHZUhFSQVIZUx1SiVLhUpVSsVMRUyFSoVKtUwlSkVL5UvFTYVOVU5lQPVRRV/VTuVO1U+lTiVDlVQFVjVUxVLlVcVUVVVlVXVThV" +
		"M1VdVZlVgFWvVIpVn1V7VX5VmFWeVa5VfFWDValVh1WoVdpVxVXfVcRV3FXkVdRVFFb3VRZW/lX9VRtW+VVOVlBW33E0VjZWMlY4VmtWZFYvVmxWalaGVoBW" +
		"ilagVpRWj1alVq5Wtla0VsJWvFbBVsNWwFbIVs5W0VbTVtdW7lb5VgBX/1YEVwlXCFcLVw1XE1cYVxZXx1UcVyZXN1c4V05XO1dAV09XaVfAV4hXYVd/V4lX" +
		"k1egV7NXpFeqV7BXw1fGV9RX0lfTVwpY1lfjVwtYGVgdWHJYIVhiWEtYcFjAa1JYPVh5WIVYuVifWKtYuljeWLtYuFiuWMVY01jRWNdY2VjYWOVY3FjkWN9Y" +
		"71j6WPlY+1j8WP1YAlkKWRBZG1mmaCVZLFktWTJZOFk+WdJ6VVlQWU5ZWllYWWJZYFlnWWxZaVl4WYFZnVleT6tPo1myWcZZ6FncWY1Z2VnaWSVaH1oRWhxa" +
		"CVoaWkBabFpJWjVaNlpiWmpamlq8Wr5ay1rCWr1a41rXWuZa6VrWWvpa+1oMWwtbFlsyW9BaKls2Wz5bQ1tFW0BbUVtVW1pbW1tlW2lbcFtzW3VbeFuIZXpb" +
		"gFuDW6ZbuFvDW8dbyVvUW9Bb5FvmW+Jb3lvlW+tb8Fv2W/NbBVwHXAhcDVwTXCBcIlwoXDhcOVxBXEZcTlxTXFBcT1xxW2xcblxiTnZceVyMXJFclFybWatc" +
		"u1y2XLxct1zFXL5cx1zZXOlc/Vz6XO1cjF3qXAtdFV0XXVxdH10bXRFdFF0iXRpdGV0YXUxdUl1OXUtdbF1zXXZdh12EXYJdol2dXaxdrl29XZBdt128Xcld" +
		"zV3TXdJd1l3bXetd8l31XQteGl4ZXhFeG142XjdeRF5DXkBeTl5XXlReX15iXmReR151XnZeel68nn9eoF7BXsJeyF7QXs9e1l7jXt1e2l7bXuJe4V7oXule" +
		"7F7xXvNe8F70Xvhe/l4DXwlfXV9cXwtfEV8WXylfLV84X0FfSF9MX05fL19RX1ZfV19ZX2FfbV9zX3dfg1+CX39fil+IX5Ffh1+eX5lfmF+gX6hfrV+8X9Zf" +
		"+1/kX/hf8V/dX7Ng/18hYGBgGWAQYClgDmAxYBtgFWArYCZgD2A6YFpgQWBqYHdgX2BKYEZgTWBjYENgZGBCYGxga2BZYIFgjWDnYINgmmCEYJtglmCXYJJg" +
		"p2CLYOFguGDgYNNgtGDwX71gxmC1YNhgTWEVYQZh9mD3YABh9GD6YANhIWH7YPFgDWEOYUdhPmEoYSdhSmE/YTxhLGE0YT1hQmFEYXNhd2FYYVlhWmFrYXRh" +
		"b2FlYXFhX2FdYVNhdWGZYZZhh2GsYZRhmmGKYZFhq2GuYcxhymHJYfdhyGHDYcZhumHLYXl/zWHmYeNh9mH6YfRh/2H9Yfxh/mEAYghiCWINYgxiFGIbYh5i" +
		"IWIqYi5iMGIyYjNiQWJOYl5iY2JbYmBiaGJ8YoJiiWJ+YpJik2KWYtRig2KUYtdi0WK7Ys9i/2LGYtRkyGLcYsxiymLCYsdim2LJYgxj7mLxYidjAmMIY+9i" +
		"9WJQYz5jTWMcZE9jlmOOY4Bjq2N2Y6Njj2OJY59jtWNrY2ljvmPpY8BjxmPjY8lj0mP2Y8RjFmQ0ZAZkE2QmZDZkHWUXZChkD2RnZG9kdmROZCpllWSTZKVk" +
		"qWSIZLxk2mTSZMVkx2S7ZNhkwmTxZOdkCYLgZOFkrGLjZO9kLGX2ZPRk8mT6ZABl/WQYZRxlBWUkZSNlK2U0ZTVlN2U2ZThlS3VIZVZlVWVNZVhlXmVdZXJl" +
		"eGWCZYNlioubZZ9lq2W3ZcNlxmXBZcRlzGXSZdtl2WXgZeFl8WVyZwpmA2b7ZXNnNWY2ZjRmHGZPZkRmSWZBZl5mXWZkZmdmaGZfZmJmcGaDZohmjmaJZoRm" +
		"mGadZsFmuWbJZr5mvGbEZrhm1mbaZuBmP2bmZulm8Gb1ZvdmD2cWZx5nJmcnZziXLmc/ZzZnQWc4ZzdnRmdeZ2BnWWdjZ2RniWdwZ6lnfGdqZ4xni2emZ6Fn" +
		"hWe3Z+9ntGfsZ7Nn6We4Z+Rn3mfdZ+Jn7me5Z85nxmfnZ5xqHmhGaCloQGhNaDJoTmizaCtoWWhjaHdof2ifaI9orWiUaJ1om2iDaK5quWh0aLVooGi6aA9p" +
		"jWh+aAFpymgIadhoImkmaeFoDGnNaNRo52jVaDZpEmkEaddo42glaflo4GjvaChpKmkaaSNpIWnGaHlpd2lcaXhpa2lUaX5pbmk5aXRpPWlZaTBpYWleaV1p" +
		"gWlqabJprmnQab9pwWnTab5pzmnoW8pp3Wm7acNpp2kuapFpoGmcaZVptGneaehpAmobav9pCmv5afJp52kFarFpHmrtaRRq62kKahJqwWojahNqRGoManJq" +
		"Nmp4akdqYmpZamZqSGo4aiJqkGqNaqBqhGqiaqNql2oXhrtqw2rCarhqs2qsat5q0Wrfaqpq2mrqavtqBWsWhvpqEmsWazGbH2s4azdr3HY5a+6YR2tDa0lr" +
		"UGtZa1RrW2tfa2FreGt5a39rgGuEa4NrjWuYa5Vrnmuka6prq2uva7JrsWuza7drvGvGa8tr02vfa+xr62vza+9rvp4IbBNsFGwbbCRsI2xebFVsYmxqbIJs" +
		"jWyabIFsm2x+bGhsc2ySbJBsxGzxbNNsvWzXbMVs3WyubLFsvmy6bNts72zZbOpsH21NiDZtK209bThtGW01bTNtEm0MbWNtk21kbVpteW1ZbY5tlW3kb4Vt" +
		"+W0VbgputW3HbeZtuG3Gbext3m3Mbeht0m3Fbfpt2W3kbdVt6m3ubS1ubm4ubhlucm5fbj5uI25rbitudm5Nbh9uQ246bk5uJG7/bh1uOG6CbqpumG7Jbrdu" +
		"0269bq9uxG6ybtRu1W6PbqVuwm6fbkFvEW9McOxu+G7+bj9v8m4xb+9uMm/Mbj5vE2/3boZvem94b4FvgG9vb1tv829tb4JvfG9Yb45vkW/Cb2Zvs2+jb6Fv" +
		"pG+5b8Zvqm/fb9Vv7G/Ub9hv8W/ub9tvCXALcPpvEXABcA9w/m8bcBpwdG8dcBhwH3AwcD5wMnBRcGNwmXCScK9w8XCscLhws3CucN9wy3DdcNlwCXH9cBxx" +
		"GXFlcVVxiHFmcWJxTHFWcWxxj3H7cYRxlXGocaxx13G5cb5x0nHJcdRxznHgcexx53H1cfxx+XH/cQ1yEHIbcihyLXIscjByMnI7cjxyP3JAckZyS3JYcnRy" +
		"fnKCcoFyh3KScpZyonKncrlysnLDcsZyxHLOctJy4nLgcuFy+XL3cg9QF3MKcxxzFnMdczRzL3MpcyVzPnNOc09z2J5Xc2pzaHNwc3hzdXN7c3pzyHOzc85z" +
		"u3PAc+Vz7nPec6J0BXRvdCV0+HMydDp0VXQ/dF90WXRBdFx0aXRwdGN0anR2dH50i3SedKd0ynTPdNR08XPgdON053TpdO508nTwdPF0+HT3dAR1A3UFdQx1" +
		"DnUNdRV1E3UedSZ1LHU8dUR1TXVKdUl1W3VGdVp1aXVkdWd1a3VtdXh1dnWGdYd1dHWKdYl1gnWUdZp1nXWldaN1wnWzdcN1tXW9dbh1vHWxdc11ynXSddl1" +
		"43Xedf51/3X8dQF28HX6dfJ183ULdg12CXYfdid2IHYhdiJ2JHY0djB2O3ZHdkh2RnZcdlh2YXZidmh2aXZqdmd2bHZwdnJ2dnZ4dnx2gHaDdoh2i3aOdpZ2" +
		"k3aZdpp2sHa0drh2uXa6dsJ2zXbWdtJ23nbhduV253bqdi+G+3YIdwd3BHcpdyR3HncldyZ3G3c3dzh3R3dad2h3a3dbd2V3f3d+d3l3jneLd5F3oHeed7B3" +
		"tne5d793vHe9d7t3x3fNd9d32nfcd+N37nf8dwx4EngmeSB4KnlFeI54dHiGeHx4mniMeKN4tXiqeK940XjGeMt41Hi+eLx4xXjKeOx453jaeP149HgHeRJ5" +
		"EXkZeSx5K3lAeWB5V3lfeVp5VXlTeXp5f3mKeZ15p3lLn6p5rnmzebl5unnJedV553nseeF543kIeg16GHoZeiB6H3qAeTF6O3o+ejd6Q3pXekl6YXpieml6" +
		"nZ9wenl6fXqIepd6lXqYepZ6qXrIerB6tnrFesR6v3qDkMd6ynrNes961XrTetl62nrdeuF64nrmeu168HoCew97CnsGezN7GHsZex57NXsoezZ7UHt6ewR7" +
		"TXsLe0x7RXt1e2V7dHtne3B7cXtse257nXuYe597jXuce5p7i3uSe497XXuZe8t7wXvMe897tHvGe9176XsRfBR85nvle2B8AHwHfBN883v3exd8DXz2eyN8" +
		"J3wqfB98N3wrfD18THxDfFR8T3xAfFB8WHxffGR8VnxlfGx8dXyDfJB8pHytfKJ8q3yhfKh8s3yyfLF8rny5fL18wHzFfMJ82HzSfNx84nw7m+988nz0fPZ8" +
		"+nwGfQJ9HH0VfQp9RX1LfS59Mn0/fTV9Rn1zfVZ9Tn1yfWh9bn1PfWN9k32JfVt9j319fZt9un2ufaN9tX3Hfb19q309fqJ9r33cfbh9n32wfdh93X3kfd59" +
		"+33yfeF9BX4KfiN+IX4SfjF+H34Jfgt+In5GfmZ+O341fjl+Q343fjJ+On5nfl1+Vn5efll+Wn55fmp+aX58fnt+g37VfX1+ro9/foh+iX6MfpJ+kH6TfpR+" +
		"ln6Ofpt+nH44fzp/RX9Mf01/Tn9Qf1F/VX9Uf1h/X39gf2h/aX9nf3h/gn+Gf4N/iH+Hf4x/lH+ef51/mn+jf69/sn+5f65/tn+4f3GLxX/Gf8p/1X/Uf+F/" +
		"5n/pf/N/+X/cmAaABIALgBKAGIAZgByAIYAogD+AO4BKgEaAUoBYgFqAX4BigGiAc4BygHCAdoB5gH2Af4CEgIaAhYCbgJOAmoCtgJBRrIDbgOWA2YDdgMSA" +
		"2oDWgAmB74DxgBuBKYEjgS+BS4GLlkaBPoFTgVGB/IBxgW6BZYFmgXSBg4GIgYqBgIGCgaCBlYGkgaOBX4GTgamBsIG1gb6BuIG9gcCBwoG6gcmBzYHRgdmB" +
		"2IHIgdqB34HggeeB+oH7gf6BAYICggWCB4IKgg2CEIIWgimCK4I4gjOCQIJZgliCXYJagl+CZIJigmiCaoJrgi6CcYJ3gniCfoKNgpKCq4KfgruCrILhguOC" +
		"34LSgvSC84L6gpODA4P7gvmC3oIGg9yCCYPZgjWDNIMWgzKDMYNAgzmDUINFgy+DK4MXgxiDhYOag6qDn4Oig5aDI4OOg4eDioN8g7WDc4N1g6CDiYOog/SD" +
		"E4Trg86D/YMDhNiDC4TBg/eDB4Tgg/KDDYQihCCEvYM4hAaF+4NthCqEPIRahYSEd4RrhK2EboSChGmERoQshG+EeYQ1hMqEYoS5hL+En4TZhM2Eu4TahNCE" +
		"wYTGhNaEoYQhhf+E9IQXhRiFLIUfhRWFFIX8hECFY4VYhUiFQYUChkuFVYWAhaSFiIWRhYqFqIVthZSFm4XqhYeFnIV3hX6FkIXJhbqFz4W5hdCF1YXdheWF" +
		"3IX5hQqGE4YLhv6F+oUGhiKGGoYwhj+GTYZVTlSGX4ZnhnGGk4ajhqmGqoaLhoyGtoavhsSGxoawhsmGI4irhtSG3obphuyG34bbhu+GEocGhwiHAIcDh/uG" +
		"EYcJhw2H+YYKhzSHP4c3hzuHJYcphxqHYIdfh3iHTIdOh3SHV4doh26HWYdTh2OHaocFiKKHn4eCh6+Hy4e9h8CH0IfWlquHxIezh8eHxoe7h++H8ofghw+I" +
		"DYj+h/aH94cOiNKHEYgWiBWIIoghiDGINog5iCeIO4hEiEKIUohZiF6IYohriIGIfoieiHWIfYi1iHKIgoiXiJKIroiZiKKIjYikiLCIv4ixiMOIxIjUiNiI" +
		"2YjdiPmIAon8iPSI6IjyiASJDIkKiROJQ4keiSWJKokriUGJRIk7iTaJOIlMiR2JYIleiWaJZIltiWqJb4l0iXeJfomDiYiJiomTiZiJoYmpiaaJrImvibKJ" +
		"uom9ib+JwInaidyJ3YnnifSJ+IkDihaKEIoMihuKHYolijaKQYpbilKKRopIinyKbYpsimKKhYqCioSKqIqhipGKpYqmipqKo4rEis2KworaiuuK84rniuSK" +
		"8YoUi+CK4or3it6K24oMiweLGovhihaLEIsXiyCLM4urlyaLK4s+iyiLQYtMi0+LTotJi1aLW4tai2uLX4tsi2+LdIt9i4CLjIuOi5KLk4uWi5mLmos6jEGM" +
		"P4xIjEyMToxQjFWMYoxsjHiMeoyCjImMhYyKjI2MjoyUjHyMmIwdYq2Mqoy9jLKMs4yujLaMyIzBjOSM44zajP2M+oz7jASNBY0KjQeND40NjRCNTp8Tjc2M" +
		"FI0WjWeNbY1xjXONgY2ZjcKNvo26jc+N2o3WjcyN243LjeqN643fjeON/I0IjgmO/40djh6OEI4fjkKONY4wjjSOSo5HjkmOTI5QjkiOWY5kjmCOKo5jjlWO" +
		"do5yjnyOgY6HjoWOhI6LjoqOk46RjpSOmY6qjqGOrI6wjsaOsY6+jsWOyI7LjtuO4478jvuO647+jgqPBY8VjxKPGY8TjxyPH48bjwyPJo8zjzuPOY9Fj0KP" +
		"Po9Mj0mPRo9Oj1ePXI9ij2OPZI+cj5+Po4+tj6+Pt4/aj+WP4o/qj++Ph5D0jwWQ+Y/6jxGQFZAhkA2QHpAWkAuQJ5A2kDWQOZD4j0+QUJBRkFKQDpBJkD6Q" +
		"VpBYkF6QaJBvkHaQqJZykIKQfZCBkICQipCJkI+QqJCvkLGQtZDikOSQSGLbkAKREpEZkTKRMJFKkVaRWJFjkWWRaZFzkXKRi5GJkYKRopGrka+RqpG1kbSR" +
		"upHAkcGRyZHLkdCR1pHfkeGR25H8kfWR9pEekv+RFJIskhWSEZJekleSRZJJkmSSSJKVkj+SS5JQkpySlpKTkpuSWpLPkrmSt5Lpkg+T+pJEky6TGZMikxqT" +
		"I5M6kzWTO5Nck2CTfJNuk1aTsJOsk62TlJO5k9aT15Pok+WT2JPDk92T0JPIk+STGpQUlBOUA5QHlBCUNpQrlDWUIZQ6lEGUUpRElFuUYJRilF6UapQpknCU" +
		"dZR3lH2UWpR8lH6UgZR/lIKVh5WKlZSVlpWYlZmVoJWolaeVrZW8lbuVuZW+lcqV9m/Dlc2VzJXVldSV1pXcleGV5ZXilSGWKJYuli+WQpZMlk+WS5Z3llyW" +
		"XpZdll+WZpZylmyWjZaYlpWWl5aqlqeWsZaylrCWtJa2lriWuZbOlsuWyZbNlk2J3JYNl9WW+ZYElwaXCJcTlw6XEZcPlxaXGZcklyqXMJc5lz2XPpdEl0aX" +
		"SJdCl0mXXJdgl2SXZpdol9JSa5dxl3mXhZd8l4GXepeGl4uXj5eQl5yXqJeml6OXs5e0l8OXxpfIl8uX3Jftl0+f8pffevaX9ZcPmAyYOJgkmCGYN5g9mEaY" +
		"T5hLmGuYb5hwmHGYdJhzmKqYr5ixmLaYxJjDmMaY6ZjrmAOZCZkSmRSZGJkhmR2ZHpkkmSCZLJkumT2ZPplCmUmZRZlQmUuZUZlSmUyZVZmXmZiZpZmtma6Z" +
		"vJnfmduZ3ZnYmdGZ7ZnumfGZ8pn7mfiZAZoPmgWa4pkZmiuaN5pFmkKaQJpDmj6aVZpNmluaV5pfmmKaZZpkmmmaa5pqmq2asJq8msCaz5rRmtOa1Jremt+a" +
		"4prjmuaa75rrmu6a9Jrxmvea+5oGmxibGpsfmyKbI5slmyebKJspmyqbLpsvmzKbRJtDm0+bTZtOm1GbWJt0m5Obg5uRm5abl5ufm6CbqJu0m8Cbypu5m8ab" +
		"z5vRm9Kb45vim+Sb1Jvhmzqc8pvxm/CbFZwUnAmcE5wMnAacCJwSnAqcBJwunBucJZwknCGcMJxHnDKcRpw+nFqcYJxnnHaceJznnOyc8JwJnQid65wDnQad" +
		"Kp0mna+dI50fnUSdFZ0SnUGdP50+nUadSJ1dnV6dZJ1RnVCdWZ1ynYmdh52rnW+dep2anaSdqZ2yncSdwZ27nbidup3Gnc+dwp3ZndOd+J3mne2d7539nRqe" +
		"G54ennWeeZ59noGeiJ6Lnoyekp6VnpGenZ6lnqmeuJ6qnq2eYZfMns6ez57QntSe3J7ent2e4J7lnuie7570nvae9575nvue/J79ngefCJ+3dhWfIZ8snz6f" +
		"Sp9Sn1SfY59fn2CfYZ9mn2efbJ9qn3efcp92n5WfnJ+gny9Yx2lZkGR03FGZcf3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f+KfhyJSJOIktyEyU+7cDFm" +
		"yGj5kvtmRV8oTuFO/E4ATwNPOU9WT5JPik+aT5RPzU9AUCJQ/08eUEZQcFBCUJRQ9FDYUEpRZFGdUb5R7FEVUpxSplLAUttSAFMHUyRTclOTU7JT3VMO+pxU" +
		"ilSpVP9UhlVZV2VXrFfIV8dXD/oQ+p5YslgLWVNZW1ldWWNZpFm6WVZbwFsvddhb7FseXKZculz1XCddU10R+kJdbV24Xbld0F0hXzRfZ1+3X95fXWCFYIpg" +
		"3mDVYCBh8mARYTdhMGGYYRNipmL1Y2BknWTOZE5lAGYVZjtmCWYuZh5mJGZlZldmWWYS+nNmmWagZrJmv2b6Zg5nKflmZ7tnUmjAZwFoRGjPaBP6aGkU+php" +
		"4mkwamtqRmpzan5q4mrkatZrP2xcbIZsb2zabARth21vbZZtrG3Pbfht8m38bTluXG4nbjxuv26Ib7Vv9W8FcAdwKHCFcKtwD3EEcVxxRnFHcRX6wXH+cbFy" +
		"vnIkcxb6d3O9c8lz1nPjc9JzB3T1cyZ0KnQpdC50YnSJdJ90AXVvdYJ2nHaedpt2pnYX+kZ3r1IheE54ZHh6eDB5GPoZ+hr6lHkb+pt50Xrnehz663qeex36" +
		"SH1cfbd9oH3WfVJ+R3+hfx76AYNig3+Dx4P2g0iEtIRThVmFa4Uf+rCFIPoh+geI9YgSijeKeYqnir6K34oi+vaKU4t/i/CM9IwSjXaNI/rPjiT6JfpnkN6Q" +
		"JvoVkSeR2pHXkd6R7ZHukeSR5ZEGkhCSCpI6kkCSPJJOklmSUZI5kmeSp5J3kniS55LXktmS0JIn+tWS4JLTkiWTIZP7kij6HpP/kh2TApNwk1eTpJPGk96T" +
		"+JMxlEWUSJSSldz5Kfqdlq+WM5c7l0OXTZdPl1GXVZdXmGWYKvor+ieZLPqemU6a2ZrcmnWbcpuPm7Gbu5sAnHCda50t+hme0Z79//3/cCFxIXIhcyF0IXUh" +
		"diF3IXgheSHi/+T/B/8C//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f8A4AHgAuAD4ATgBeAG4AfgCOAJ4ArgC+AM4A3gDuAP4BDgEeAS4BPgFOAV4BbgF+AY4BngGuAb4Bzg" +
		"HeAe4B/gIOAh4CLgI+Ak4CXgJuAn4CjgKeAq4CvgLOAt4C7gL+Aw4DHgMuAz4DTgNeA24DfgOOA54DrgO+A84D3gPuA/4EDgQeBC4EPgROBF4EbgR+BI4Eng" +
		"SuBL4EzgTeBO4E/gUOBR4FLgU+BU4FXgVuBX4FjgWeBa4FvgXOBd4F7gX+Bg4GHgYuBj4GTgZeBm4GfgaOBp4Grga+Bs4G3gbuBv4HDgceBy4HPgdOB14Hbg" +
		"d+B44HngeuB74HzgfeB+4H/ggOCB4ILgg+CE4IXghuCH4IjgieCK4IvgjOCN4I7gj+CQ4JHgkuCT4JTgleCW4JfgmOCZ4Jrgm+Cc4J3gnuCf4KDgoeCi4KPg" +
		"pOCl4Kbgp+Co4KngquCr4KzgreCu4K/gsOCx4LLgs+C04LXgtuC34LjgueC64LvgvOC94L7gv+DA4MHgwuDD4MTgxeDG4MfgyODJ4Mrgy+DM4M3gzuDP4NDg" +
		"0eDS4NPg1ODV4Nbg1+DY4Nng2uDb4Nzg3eDe4N/g4ODh4OLg4+Dk4OXg5uDn4Ojg6eDq4Ovg7ODt4O7g7+Dw4PHg8uDz4PTg9eD24Pfg+OD54Prg++D84P3g" +
		"/uD/4ADhAeEC4QPhBOEF4QbhB+EI4QnhCuEL4QzhDeEO4Q/hEOER4RLhE+EU4RXhFuEX4RjhGeEa4RvhHOEd4R7hH+Eg4SHhIuEj4SThJeEm4SfhKOEp4Srh" +
		"K+Es4S3hLuEv4TDhMeEy4TPhNOE14TbhN+E44TnhOuE74TzhPeE+4T/hQOFB4ULhQ+FE4UXhRuFH4UjhSeFK4UvhTOFN4U7hT+FQ4VHhUuFT4VThVeFW4Vfh" +
		"WOFZ4VrhW+Fc4V3hXuFf4WDhYeFi4WPhZOFl4WbhZ+Fo4WnhauFr4WzhbeFu4W/hcOFx4XLhc+F04XXhduF34XjheeF64XvhfOF94X7hf+GA4YHhguGD4YTh" +
		"heGG4YfhiOGJ4Yrhi+GM4Y3hjuGP4ZDhkeGS4ZPhlOGV4Zbhl+GY4ZnhmuGb4ZzhneGe4Z/hoOGh4aLho+Gk4aXhpuGn4ajhqeGq4avhrOGt4a7hr+Gw4bHh" +
		"suGz4bThteG24bfhuOG54brhu+G84b3hvuG/4cDhweHC4cPhxOHF4cbhx+HI4cnhyuHL4czhzeHO4c/h0OHR4dLh0+HU4dXh1uHX4djh2eHa4dvh3OHd4d7h" +
		"3+Hg4eHh4uHj4eTh5eHm4efh6OHp4erh6+Hs4e3h7uHv4fDh8eHy4fPh9OH14fbh9+H44fnh+uH74fzh/eH+4f/hAOIB4gLiA+IE4gXiBuIH4gjiCeIK4gvi" +
		"DOIN4g7iD+IQ4hHiEuIT4hTiFeIW4hfiGOIZ4hriG+Ic4h3iHuIf4iDiIeIi4iPiJOIl4ibiJ+Io4iniKuIr4iziLeIu4i/iMOIx4jLiM+I04jXiNuI34jji" +
		"OeI64jviPOI94j7iP+JA4kHiQuJD4kTiReJG4kfiSOJJ4kriS+JM4k3iTuJP4lDiUeJS4lPiVOJV4lbiV+JY4lniWuJb4lziXeJe4l/iYOJh4mLiY+Jk4mXi" +
		"ZuJn4mjiaeJq4mvibOJt4m7ib+Jw4nHicuJz4nTideJ24nfieOJ54nrie+J84n3ifuJ/4oDigeKC4oPihOKF4obih+KI4oniiuKL4ozijeKO4o/ikOKR4pLi" +
		"k+KU4pXiluKX4pjimeKa4pvinOKd4p7in+Kg4qHiouKj4qTipeKm4qfiqOKp4qriq+Ks4q3iruKv4rDiseKy4rPitOK14rbit+K44rniuuK74rziveK+4r/i" +
		"wOLB4sLiw+LE4sXixuLH4sjiyeLK4svizOLN4s7iz+LQ4tHi0uLT4tTi1eLW4tfi2OLZ4tri2+Lc4t3i3uLf4uDi4eLi4uPi5OLl4ubi5+Lo4uni6uLr4uzi" +
		"7eLu4u/i8OLx4vLi8+L04vXi9uL34vji+eL64vvi/OL94v7i/+IA4wHjAuMD4wTjBeMG4wfjCOMJ4wrjC+MM4w3jDuMP4xDjEeMS4xPjFOMV4xbjF+MY4xnj" +
		"GuMb4xzjHeMe4x/jIOMh4yLjI+Mk4yXjJuMn4yjjKeMq4yvjLOMt4y7jL+Mw4zHjMuMz4zTjNeM24zfjOOM54zrjO+M84z3jPuM/40DjQeNC40PjRONF40bj" +
		"R+NI40njSuNL40zjTeNO40/jUONR41LjU+NU41XjVuNX41jjWeNa41vjXONd417jX+Ng42HjYuNj42TjZeNm42fjaONp42rja+Ns423jbuNv43DjceNy43Pj" +
		"dON143bjd+N443njeuN743zjfeN+43/jgOOB44Ljg+OE44XjhuOH44jjieOK44vjjOON447jj+OQ45HjkuOT45TjleOW45fjmOOZ45rjm+Oc453jnuOf46Dj" +
		"oeOi46PjpOOl46bjp+Oo46njquOr46zjreOu46/jsOOx47Ljs+O047XjtuO347jjueO647vjvOO9477jv+PA48HjwuPD48TjxePG48fjyOPJ48rjy+PM483j" +
		"zuPP49Dj0ePS49Pj1OPV49bj1+PY49nj2uPb49zj3ePe49/j4OPh4+Lj4+Pk4+Xj5uPn4+jj6ePq4+vj7OPt4+7j7+Pw4/Hj8uPz4/Tj9eP24/fj+OP54/rj" +
		"++P84/3j/uP/4wDkAeQC5APkBOQF5AbkB+QI5AnkCuQL5AzkDeQO5A/kEOQR5BLkE+QU5BXkFuQX5BjkGeQa5BvkHOQd5B7kH+Qg5CHkIuQj5CTkJeQm5Cfk" +
		"KOQp5CrkK+Qs5C3kLuQv5DDkMeQy5DPkNOQ15DbkN+Q45DnkOuQ75DzkPeQ+5D/kQORB5ELkQ+RE5EXkRuRH5EjkSeRK5EvkTORN5E7kT+RQ5FHkUuRT5FTk" +
		"VeRW5FfkWORZ5FrkW+Rc5F3kXuRf5GDkYeRi5GPkZORl5GbkZ+Ro5GnkauRr5GzkbeRu5G/kcORx5HLkc+R05HXkduR35HjkeeR65HvkfOR95H7kf+SA5IHk" +
		"guSD5ITkheSG5IfkiOSJ5Irki+SM5I3kjuSP5JDkkeSS5JPklOSV5Jbkl+SY5JnkmuSb5JzkneSe5J/koOSh5KLko+Sk5KXkpuSn5KjkqeSq5KvkrOSt5K7k" +
		"r+Sw5LHksuSz5LTkteS25LfkuOS55Lrku+S85L3kvuS/5MDkweTC5MPkxOTF5Mbkx+TI5MnkyuTL5MzkzeTO5M/k0OTR5NLk0+TU5NXk1uTX5Njk2eTa5Nvk" +
		"3OTd5N7k3+Tg5OHk4uTj5OTk5eTm5Ofk6OTp5Ork6+Ts5O3k7uTv5PDk8eTy5PPk9OT15Pbk9+T45Pnk+uT75Pzk/eT+5P/kAOUB5QLlA+UE5QXlBuUH5Qjl" +
		"CeUK5QvlDOUN5Q7lD+UQ5RHlEuUT5RTlFeUW5RflGOUZ5RrlG+Uc5R3lHuUf5SDlIeUi5SPlJOUl5SblJ+Uo5SnlKuUr5SzlLeUu5S/lMOUx5TLlM+U05TXl" +
		"NuU35TjlOeU65TvlPOU95T7lP+VA5UHlQuVD5UTlReVG5UflSOVJ5UrlS+VM5U3lTuVP5VDlUeVS5VPlVOVV5VblV+VY5VnlWuVb5VzlXeVe5V/lYOVh5WLl" +
		"Y+Vk5WXlZuVn5WjlaeVq5WvlbOVt5W7lb+Vw5XHlcuVz5XTldeV25XfleOV55Xrle+V85X3lfuV/5YDlgeWC5YPlhOWF5Yblh+WI5YnliuWL5YzljeWO5Y/l" +
		"kOWR5ZLlk+WU5ZXlluWX5ZjlmeWa5ZvlnOWd5Z7ln+Wg5aHlouWj5aTlpeWm5aflqOWp5arlq+Ws5a3lruWv5bDlseWy5bPltOW15bblt+W45bnluuW75bzl" +
		"veW+5b/lwOXB5cLlw+XE5cXlxuXH5cjlyeXK5cvlzOXN5c7lz+XQ5dHl0uXT5dTl1eXW5dfl2OXZ5drl2+Xc5d3l3uXf5eDl4eXi5ePl5OXl5ebl5+Xo5enl" +
		"6uXr5ezl7eXu5e/l8OXx5fLl8+X05fXl9uX35fjl+eX65fvl/OX95f7l/+UA5gHmAuYD5gTmBeYG5gfmCOYJ5grmC+YM5g3mDuYP5hDmEeYS5hPmFOYV5hbm" +
		"F+YY5hnmGuYb5hzmHeYe5h/mIOYh5iLmI+Yk5iXmJuYn5ijmKeYq5ivmLOYt5i7mL+Yw5jHmMuYz5jTmNeY25jfmOOY55jrmO+Y85j3mPuY/5kDmQeZC5kPm" +
		"ROZF5kbmR+ZI5knmSuZL5kzmTeZO5k/mUOZR5lLmU+ZU5lXmVuZX5ljmWeZa5lvmXOZd5l7mX+Zg5mHmYuZj5mTmZeZm5mfmaOZp5mrma+Zs5m3mbuZv5nDm" +
		"ceZy5nPmdOZ15nbmd+Z45nnmeuZ75nzmfeZ+5n/mgOaB5oLmg+aE5oXmhuaH5ojmieaK5ovmjOaN5o7mj+aQ5pHmkuaT5pTmleaW5pfmmOaZ5prmm+ac5p3m" +
		"nuaf5qDmoeai5qPmpOal5qbmp+ao5qnmquar5qzmreau5q/msOax5rLms+a05rXmtua35rjmuea65rvmvOa95r7mv+bA5sHmwubD5sTmxebG5sfmyObJ5srm" +
		"y+bM5s3mzubP5tDm0ebS5tPm1ObV5tbm1+bY5tnm2ubb5tzm3ebe5t/m4Obh5uLm4+bk5uXm5ubn5ujm6ebq5uvm7Obt5u7m7+bw5vHm8ubz5vTm9eb25vfm" +
		"+Ob55vrm++b85v3m/ub/5gDnAecC5wPnBOcF5wbnB+cI5wnnCucL5wznDecO5w/nEOcR5xLnE+cU5xXnFucX5xjnGeca5xvnHOcd5x7nH+cg5yHnIucj5yTn" +
		"Jecm5yfnKOcp5yrnK+cs5y3nLucv5zDnMecy5zPnNOc15zbnN+c45znnOuc75zznPec+5z/nQOdB50LnQ+dE50XnRudH50jnSedK50vnTOdN507nT+dQ51Hn" +
		"UudT51TnVedW51fncCFxIXIhcyF0IXUhdiF3IXgheSFgIWEhYiFjIWQhZSFmIWchaCFpIeL/5P8H/wL/MTIWISEhNSKKfhyJSJOIktyEyU+7cDFmyGj5kvtm" +
		"RV8oTuFO/E4ATwNPOU9WT5JPik+aT5RPzU9AUCJQ/08eUEZQcFBCUJRQ9FDYUEpRZFGdUb5R7FEVUpxSplLAUttSAFMHUyRTclOTU7JT3VMO+pxUilSpVP9U" +
		"hlVZV2VXrFfIV8dXD/oQ+p5YslgLWVNZW1ldWWNZpFm6WVZbwFsvddhb7FseXKZculz1XCddU10R+kJdbV24Xbld0F0hXzRfZ1+3X95fXWCFYIpg3mDVYCBh" +
		"8mARYTdhMGGYYRNipmL1Y2BknWTOZE5lAGYVZjtmCWYuZh5mJGZlZldmWWYS+nNmmWagZrJmv2b6Zg5nKflmZ7tnUmjAZwFoRGjPaBP6aGkU+php4mkwamtq" +
		"Rmpzan5q4mrkatZrP2xcbIZsb2zabARth21vbZZtrG3Pbfht8m38bTluXG4nbjxuv26Ib7Vv9W8FcAdwKHCFcKtwD3EEcVxxRnFHcRX6wXH+cbFyvnIkcxb6" +
		"d3O9c8lz1nPjc9JzB3T1cyZ0KnQpdC50YnSJdJ90AXVvdYJ2nHaedpt2pnYX+kZ3r1IheE54ZHh6eDB5GPoZ+hr6lHkb+pt50Xrnehz663qeex36SH1cfbd9" +
		"oH3WfVJ+R3+hfx76AYNig3+Dx4P2g0iEtIRThVmFa4Uf+rCFIPoh+geI9YgSijeKeYqnir6K34oi+vaKU4t/i/CM9IwSjXaNI/rPjiT6JfpnkN6QJvoVkSeR" +
		"2pHXkd6R7ZHukeSR5ZEGkhCSCpI6kkCSPJJOklmSUZI5kmeSp5J3kniS55LXktmS0JIn+tWS4JLTkiWTIZP7kij6HpP/kh2TApNwk1eTpJPGk96T+JMxlEWU" +
		"SJSSldz5Kfqdlq+WM5c7l0OXTZdPl1GXVZdXmGWYKvor+ieZLPqemU6a2ZrcmnWbcpuPm7Gbu5sAnHCda50t+hme0Z79//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" +
		"/f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3/" ) );
}