OpenRCT 0.4.29 (#12189)

This commit is contained in:
Peppersawce
2025-12-26 19:11:32 +01:00
committed by GitHub
parent 139e1e6a86
commit 7c9a980809
3 changed files with 1186 additions and 0 deletions

View File

@@ -0,0 +1,681 @@
resource app_flags B_SINGLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "OpenRCT2",
long_info = "@LONG_INFO@"
};
resource app_signature "application/x-vnd.openrct2";
resource vector_icon {
$"6E6369663A020006023CB6D63B2254BB22543CB6D6486ED44B6555002C67DFFF"
$"AFE8F90200060437A0C900000000000037A0C94886144AD6110017232356141F"
$"1FAC0D1313FF0000000200060A39AD4B3663B0B663B039AD4B49BD1148F31D00"
$"8E530709A8761514C1982321D6B42E2EE7CA373CF2D93D4CF9E24164FBE542BC"
$"FEEF55FFFFF45E0200060A34C7BDB297C73297C734C7BD4A8ADA484C8100E08E"
$"001EEDB40039F7CF0052FDE00064FFE60081FFEB209FFFEF3BBEFFF24FDEFFF3"
$"5AFFFFF45E020006093B2D3D318CC4B18CC43B2D3D4A01D14B4D5C008E530713"
$"A06A063BCDA50364FFE60081FFEB209FFFEF3BBEFFF24FDEFFF35AFFFFF45E02"
$"00060236D78700000000000036D7874996E54AAB8300A30000FFFF0000020006"
$"053658A0B0A34C30A34C3658A04A759F4A6CFE00FF00002CFF080571FF1D14C5"
$"FF402DFFFF5C400200060634E42E2FA9DEAFA9DE34E42E48DC984A4602007300"
$"004976000083800000B6900000E7A80000FFB600000200060438B8E9B6C63036"
$"C63038B8E94AAA204A78700017232356141F1FAC0D1313FF0000000200120239"
$"3C7F2F9DD1AF9DD1393C7F49FA324A4490000000FF00FF050004005E02000605"
$"365AA2000000000000365AA24A312D4921400F1E2929121F2A2A492838388D2D"
$"4040FF2F4343020012023889FFB889FF3889FF3889FF4A5E634BA5C4000000FF"
$"00FF020006083497C70000000000003497C749011F484B94007300000F880000"
$"30AC000053CA000077E200009DF20000C8FC0000FFFF00000200060237C7DE00"
$"000000000037C7DE4983DE48281500A30000FFFF000002000602350523000000"
$"00000035052349D83247BE8A00D40000FFFF000002000607361EDEB2EBB332EB"
$"B3361EDE4A457947E2D300C9000070CA02029BCF0908BAD71513D3E32622E9F2"
$"3C35F7FF5047020006043B504CB6564F36564F3B504C4A0B9F4BDC3400172323"
$"56141F1FAC0D1313FF0000000200060A3B504BB6564F36564F3B504B4A0BA34B"
$"D506004E596111555F672A68717748878E926AB2B7B78DE9EAE69BFFFFF9A4F7"
$"F9F3E0C9D2D0FFB7C3C3053302000604B45E563740F3B740F3B45E564A42BE49"
$"B54F00B7C3C31FC1CCCCB3EEF1F1FFFFFFFF0200120C39CDC73805C4B805C439"
$"CDC74A36564A6ABF0028660025640514590B094A1302372A00008A0000990000"
$"B50446D2108EEF25D7FF33FF0200060534C9DE00000000000034C9DE4A60FC48"
$"4EB500D3000026E2000063F20000A7FC0000FFFF000003FFE60003FFFF000200"
$"06023499B40000000000003499B449BFC3484BB200C20000FFFF00000200060A"
$"3450C90000000000003450C949AA9D48E8760000000000030404020F15150518"
$"2020081D2727121E29291E222F2F41293A3A732E4141FF2F43430200060A32D2"
$"0800000000000032D20849358648DD9F0000000000030404010F151503182020"
$"051D27270B1E292914202C2C43293939812E4141FF2F434302000606304D3000"
$"0000000000304D304A7E7848CCBD000000000E1E292919222F2F3D293A3A712E"
$"4141FF2F43430200120200000034A81FB4A81F00000049DE024866E4000051FF"
$"000002001203000000334960B3496000000049EC37482218000000E60049FF00"
$"51020012043B504BB6564F36564F3B504B4A0BA34BD50600FF0090FFD9A9FFFF"
$"FFFF00040033020012053A27FFB3A04733A0473A27FF49E9B64C0B5100FF00A6"
$"FFDAC2FFFFC6FFEFFFFF00020012033A27FFB3A04733A0473A27FF49E9B64C0B"
$"5100005117004AFF000002001203398E633696B5B696B5398E6349C47848BA62"
$"000051250045FF00000200060632F05F2A76E0AA76E032F05F49F56049C22800"
$"75816B6D737F6AA36D7765CC636A5EEF555853FF4D4D4D020012033AE1E6B53D"
$"A4353DA43AE1E64A0AD74AE088000051250045FF000004FF330200120237CC06"
$"00000000000037CC064A9F294A37C6D4FF00FFFFFF020012023402ACB57B7035"
$"7B703402AC4A5A9B47B52C76FF00FFFFFF020012023897A0B4785F34767F389A"
$"2B4A64F34AEB278EFF00FFFFFF02001202374AD3B2CC9832CC98374AD34A8AA8"
$"4B71CF8EFF00FFFFFF0200120400000033035EB3035E00000049EE6848221C00"
$"FF0042FFFF5CFFDBFFFF0002001202344AEC000000000000344AEC4A692F4900"
$"7600FF00FFFFFF020006021F84001E08009E08001F84004AE1134A54A3002C67"
$"DFFFAFE8F9020006023CB6D63B2254BB22543CB6D6489C094B3E2E002C67DFFF"
$"AFE8F9020006021FBC001E28009E28001FBC004AE1114A54A4002C67DFFFAFE8"
$"F902000602BB65A1BCF11E3CF11EBB65A14B788F48610600231F20FF5A4A4202"
$"00060231D76F00000000000031D76F4A03EB450F6C00231F20FF5A4A42020012"
$"022E3AE2B329673329672E3AE24A1090423AFE530000FF00FF0200060232C14F"
$"312E6CB12E6C32C14F49FB1C40F85700231F20FF5A4A4202001203B12E6A32C1"
$"4DB2C14DB12E6A49F1CB3D30522B0000FD00FDFF00FF020012022F5102AF5102"
$"2F51022F51024A0A9A3E5FD887FF00FFFFFF02001202B37FA629E8DCA9E8DCB3"
$"7FA64A081743E84C3700FEC8000002000607B8A81837114EB7114EB8A8184A2C"
$"E5C0F58800FFFF6B2FFFFB695EFFEF628DFFDB57BBFFBF47E9FF9C34FFFF8929"
$"020012022EE7700000000000002EE7704A075446453000FF00FFFFFF48021ACB"
$"49BFFFCB49BFFFC917C230C4B4C694C6E5C462C493C6B4C452C6F5C473C6D5C4"
$"4FC6F8C449C6FEC44CC6FBC2C6C881BFBFCB88C143CA05BFA6CB6EBF73CB3BBF"
$"8DCB55BEBCCA85BD4FC917BE05C9CEBD4FC917BD4FC917BD4FC917BD4DC915BD"
$"49C912BD4BC913BD12C8DABCA4C86CBCDBC8A3BCA4C86CBCA4C86CBCA4C86CBC"
$"46C80EBB8A53BBE8C7B0BB8A53BB8A53BB8A53BB70C738BB3BC703BB55C71DBB"
$"33C6FCBB24C6EDBB2CC6F4BB24C6EDBB2452BB24C6EDBB04C6CCBAC3C68BBAE3"
$"C6ACBAC3C68BBAC3C68BBAC3C68BBABE51BAB4C67CBAB9C681BA6CC634B9DBC5"
$"A3BA24C5ECB9C5C58EB99AC562B9AFC578B99AC562B99AC562B99AC562B7CEC3"
$"96B436BFFFB602C1CAB80FBC26BFBFB476BBE7B84EC398B84ECB49BFFFC770BC"
$"26CB49BFFFCB49BFFFCB49BFFFCB49BFFF020FBC7DC1B9BC7DC1B9BC73C22EBC"
$"5FC319BC69C2A337C37CBBC1C444BBF5C3E0BBB4C47CBB9AC4ECBBA7C4B4BB99"
$"4DBB98C4F4BB99C4F1BB96C4FDBB91C511BB93C507BB91C513BB90C517BB90C5"
$"15BB87C53EBB75C58CBB7EC565BAD6C58CB999C58CBA38C58CB999C4E8B999C3"
$"A2B999C445B999C3A1B999C39FB999C3A0B999C39FB999C39EB999C39FB99EC3"
$"1BBBECC1F0BAB3C270BC1CC1DCBC7DC1B9BC4CC1CABC7DC1B9BC7DC1B9BC7DC1"
$"B9BC7DC1B90241C306B978C306B978C306B978C306B978C306B978C306B978C3"
$"06B978C306B978C306B979C306B979C306B979C306B97BC306B980C306B97DC3"
$"05B9B5C2E5BA19C2FAB9E8C2E4BA1BC2E2BA20C2E3BA1DC2E2BA20C2E2BA20C2"
$"E2BA20C2DBBA31C2C8BA53C2D2BA42C2B1BA7AC270BAC2C293BA9FC249BAE8C1"
$"E9BB28C21CBB0AC1E8BB29C1E4BB2BC1E6BB2AC1E4BB2CC1E2BB2CC1E3BB2CC1"
$"E1BB2DC1DEBB2FC1DFBB2EC1DEBB2FC1DEBB2FC1DEBB2FC1C6BB3DC194BB55C1"
$"AEBB49C121BB89C009BBAEC09ABBA9BFFBBBAFBFDEBBAFBFECBBAFBFBFBBAFBF"
$"84BBACBFA1BBAEBF64BBA9BF25BBA0BF44BBA5BEF7BB99BEA0BB82BECBBB8EBE"
$"83BB79BE4CBB64BE67BB6FBE45BB62BE39BB5CBE3FBB5FBE19BB4FBDDEBB2FBD"
$"FBBB40BDDEBB2FBDDEBB2FBDDEBB2FBDBCBB1CBD80BAF0BD9DBB07BD80BAEFBD"
$"7EBAEEBD7FBAEFBD62BAD7BD31BAA5BD48BABFBD31BAA5BD30BAA4BD30BAA5BD"
$"2EBAA2BD29BA9CBD2BBA9FBD22BA94BD15BA83BD1BBA8CBCFDBA64BCDABA20BC"
$"E9BA43BCDABA20BCD9BA20BCDABA20BCD8BA1DBCD7BA19BCD7BA1BBCC4B9EDBC"
$"B6B98FBCB9B9BFBCB6B98ABCB6B980BCB6B985BCB5B97DBCB5B978BCB5B97BBC"
$"B5B978BCB5B978BCB5B978BCB6B874BF06B756BDB0B798BF11B754BF27B750BF"
$"1CB752BF2EB74FBF3BB74DBF34B74EBF3FB74DBF47B74BBF43B74CBF4DB74BBF"
$"58B749BF53B74ABF72B746BFA7B743BF8DB744BFB9B742BFDEB742BFCCB742BF"
$"E7B742BFF9B742BFF0B742BFFFB742C009B743C004B742C043B745C0B1B755C0"
$"7BB74BC0B1B755C0B1B755C0B1B755C122B76BC1E0B7C3C189B790C1E3B7C4C1"
$"E7B7C7C1E5B7C6C1E82CC1E92CC1E92CC1EBB7C9C1EFB7CCC1EDB7CBC220B7E9"
$"C271B830C24CB80BC279B838C287B847C280B83FC28EB84EC29BB85EC295B856"
$"C2A2B866C2AEB876C2A8B86EC2B5B880C2C3B895C2BCB88BC2C9B8A0C2D5B8B5"
$"C2D0B8ABC2D8B8BAC2DCB8C2C2DAB8BEC2E4B8D4C2F2B8F8C2EBB8E6C2F6B906"
$"C2FDB922C2FAB914C302B939C306B96AC305B951C306B96EC306B978C306B973"
$"C306B978C306B978C306B978C306B978022EC39AB9CCC39AB9CCC39AB9E3C381"
$"BA07C390B9F8C37FBA09C37BBA0DC37DBA0BC37BBA0DC37BBA0DC37BBA0DC378"
$"BA0FC371BA14C375BA12C36FBA15C36ABA18C36DBA17C368BA19C363BA1BC365"
$"BA1AC363BA1BC363BA1BC363BA1BC35ABA1EC346BA20C350BA20C2FFBA20C270"
$"BA20C2B7BA20C276BA20C282BA1DC27DBA1FC284BA1DC288BA1BC286BA1CC288"
$"BA1BC289BA1BC288BA1B47BA1AC28CBA19C28BBA1AC28CBA19C28CBA19C28CBA"
$"19C28EBA18C291BA17C28FBA17C298BA13C2A3BA07C29EBA0EC2A4BA06C2A7BA"
$"02C2A6BA04C2A7BA02C2A8BA01C2A8BA01C2A9B9FFC2ACB9FBC2AAB9FDC2ADB9"
$"F9C2AFB9F4C2AEB9F6C2B0B9F2C2B2B9EEC2B1B9F0C2B2B9EDC2B3B9ECC2B2B9"
$"EDC2B3B9EBC2B4B9E7C2B4B9E9C2B5B9E6C2B5B9E3C2B5B9E4C2B6B9E1C2B6B9"
$"DEC2B6B9DFC2B7B9DDC2B7B9DCC2B7B9DDC2B7B9DAC2B8B9D5C2B7B9D8C2B8B9"
$"D5C2B8B9D5C2B8B9D5C2B8B9D2C2B8B9CCC2B8B9CFC2B8B9C9C2B8B9C4C2B8B9"
$"C7C2B8B9C4C2B8B9C3C2B8B9C4C2B7B9C1C2B7B9BCC2B7B9BFC2B7B9BCC2B6B9"
$"BBC2B7B9BBC2B6B9B9C2B5B9B6C2B6B9B8C2B5B9B4C2B4B9B0C2B4B9B2C2B3B9"
$"AEC2B2B9ABC2B3B9ADC2B1B9A9C2AFB9A4C2B0B9A6C2ADB9A0C2A8B997C2ABB9"
$"9BC2A6B995C2A3B991C2A5B993C29EB98BC291B982C298B986C28FB981C28DB9"
$"7FC28EB980C284B97BC270B978C27AB978C2B7B978C346B978C2FFB978C374B9"
$"78C39AB9CCC39AB99EC39AB9CCC39AB9CCC39AB9CCC39AB9CC0235C4E8C6CAC4"
$"E8C6CAC4B6C6FCC452C760C484C72EC44FC763C449C769C44CC766C441C771C4"
$"31C781C439C779C40EC7A4C3C8C7EAC3EBC7C7C36AC848C2AFC903C30CC8A6C2"
$"ACC906C2A6C90CC2A9C909C29CC916C289C929C293C91FC25BC957C1FFC9B3C2"
$"2DC985C13FCA73BFBFCBF2C07FCB33BFA6CBD9BF73CBA6BF8DCBC0BEBCCAEFBD"
$"4FC982BE05CA38BD4DC980BD49C97CBD4BC97EBD12C945BCA4C8D7BCDBC90EBC"
$"46C879BB8AC7BDBBE8C81BBB80C7B3BB6DC7A0BB76C7A9BB55C788BB24C757BB"
$"3CC76FBB24C757BB24C757BB24C757BB04C737BAC3C6F6BAE3C716BAC3C6F6BA"
$"C3C6F6BAC3C6F6BACAC6D9BAD7C69FBAD0C6BCBAECC643BB17C58CBB02C5E7BB"
$"1AC580BB1FC569BB1CC574BB27C547BB36C504BB2EC526BB37C501BB38C4FABB"
$"38C4FEBB39C4F6BB3CC4EDBB3BC4F1BB3EC4E3BB42C4CFBB40C4D9BB42C4CFBB"
$"42C4CFBB42C4CFBB4BC4A9BB5DC45CBB54C483BB80C3C5BBC6C297BBA3C32EBB"
$"CEC272BBDFC229BBD6C24DBBE3C216BBECC1F0BBE8C203BC16C13BBC69BFD1BC"
$"40C086BC82BF68BCB2BE95BC9ABEFEBCB2BD19BCB2BA20BCB2BB9CBECDBA20C3"
$"03BA20C0E8BA20C303BB9CC303BE95C303BD19C31BBEFEC34CBFD1C334BF68C3"
$"50BFE3C358C005C354BFF4C359C009C35BC011C35AC00DC35CC015C35EC01DC3"
$"5DC019C361C02CC368C04AC364C03BC369C050C36DC05EC36BC057C374C080C3"
$"84C0C2C37CC0A1C38CC0E6C39DC12EC394C10AC39EC134C3A1C142C3A0C13BC3"
$"A1C143C3A2C145C3A2C1444AC1B8C3F1C29EC3D7C22BC3F7C2B5C401C2E3C3FC"
$"C2CCC402C2E6C403C2EBC403C2E8C449C418C4D4C673C48EC546C4DBC690C4E8"
$"C6CAC4E1C6ADC4E8C6CAC4E8C6CAC4E8C6CAC4E8C6CA0215BF92BF0FBF92BF0F"
$"BF92BF0FBF92BF0FBF92BF0FBF8DC152BF82C5D6BF87C394BF82C5D6BF82C5D6"
$"BF82C5D6BF80C65CBF7EC767BF7FC6E1BF7DC7BDBF7BC86ABF7CC813BF7BC86A"
$"BF7BC86ABF7BC86ABF7AC8CEBF78C997BF79C933BF77CA47BF73CBA6BF75CAF6"
$"BEBCCAEFBD4FC982BE05CA38BD4FC982BD4FC981BD4FC982BD4FC980BD4FC97D"
$"BD4FC97EBD5EC900BD7DC806BD6EC883BD7DC806BD7DC806BD7DC806BD84C7CE"
$"BD91C75EBD8AC796BDA5C6BDBDCCC57DBDB8C61DBDCCC57CBDCCC57CBDCCC57C"
$"BE0FC355BE95BF05BE52C12DBE9ABD63BEA5BA20BE9FBBC2BEEDBA20BF7DBA20"
$"BF35BA20BF84BBC5BF92BF0FBF8BBD6ABF92BF0F020EC452C760C452C760C44F"
$"C763C449C769C44CC766C3BDC7F5C2A6C90CC332C880C2A6C908C2A5C901C2A5"
$"C905C295C87DC276C775C286C7F9C26BC71BC256C666C261C6C0C256C666C256"
$"C666C256C666C20BC3EEC175BEFFC1C0C176C183BD5FC19EBA20C191BBBFC1E4"
$"BA20C26FBA20C229BA20C272BBB3C278BEDAC275BD46C30CC185C435C6DAC3A1"
$"C42FC435C6DAC435C6DAC435C6DAC43FC707C452C760C448C733C452C7600222"
$"BD15BA20BD15BA20BD15BBCDBD15BF26BD15BD79BCD8C077BC5FC319BC9CC1C8"
$"BC41C3BFBC06C50CBC24C465BC06C50CBC06C50CBC06C50CBC03C51BBBFEC538"
$"BC00C529BBDDC5F1BB9AC762BBBBC6AABB98C76CBB95C77FBB97C776BB95C77F"
$"BB95C77FBB95C77FBB92C78EBB8DC7ABBB90C79CBB8CC7B1BB8AC7BDBB8BC7B7"
$"BB8AC7BDBB8AC7BDBB8AC7BDBB80C7B3BB6DC7A0BB76C7A9BB55C788BB24C757"
$"BB3CC76FBB24C757BB24C757BB24C757BB04C737BAC3C6F6BAE3C716BAC3C6F6"
$"BAC3C6F6BAC3C6F6BACAC6D9BAD7C69FBAD0C6BCBAECC643BB17C58CBB02C5E7"
$"BB1AC580BB1FC569BB1CC574BB27C547BB36C504BB2EC526BB37C501BB38C4FA"
$"BB38C4FEBB39C4F6BB3CC4EDBB3BC4F1BB3EC4E3BB42C4CFBB40C4D9BB42C4CF"
$"BB42C4CFBB42C4CFBB4BC4A9BB5DC45CBB54C482BB80C3C5BBC6C297BBA3C32E"
$"BBCEC272BBDFC229BBD6C24DBBE3C216BBECC1F0BBE8C203BC16C13BBC69BFD1"
$"BC40C086BC82BF68BCB2BE95BC9ABEFEBCB2BD19BCB2BA20BCB2BB9CBCD3BA20"
$"BD15BA20BCF4BA20BD15BA20BD15BA20BD15BA20BD15BA200220C55BC012C55B"
$"C012C55BC059C55BC0E6C55BC09FC55AC14CC55AC1B9C55AC1B2C55AC1B9C55A"
$"C1B9C55AC1B9C55AC211C3F1C29EC4C9C276C3D7C22BC3A2C1454AC1B8C3A2C1"
$"44C3A1C142C3A1C143C3A1C141C3A0C13FC3A0C140C395C11CC339C0D6C371C0"
$"F9C31EC0C6C2DCC0A6C2FFC0B5C29DC08AC1FBC057C252C06FC1DCC04FC19BC0"
$"3FC1BCC047C117C020BFDBBFF7C080C007BFD9BFF7BFD6BFF7BFD7BFF7BFD6BF"
$"E7BFD6BFC2BFD6BFD4BFD6BFB4BFD6BF99BFD6BFA6BFD6BF84BFD6BF6FBFD6BF"
$"74BFD6BF6CBFD6BF64BFD6BF68BFD6BF64BFD6BF64BFD6BF64BFD7BF65BFDBBF"
$"65BFD9BF65C06ABF77C187BF9AC0F8BF88C187BF9AC187BF9AC187BF9AC1B4BF"
$"9FC20EBFAAC1E1BFA5C21DBFACC23CBFB0C22DBFAEC23DBFB0C23DBFB0C23DBF"
$"B0C23DBFB0C23DBFB0C23DBFB0C261BFB5C2A9BFBDC285BFB9C2E0BFC4C34CBF"
$"D1C316BFCBC3F1BFE6C539C00EC495BFFAC539C00EC539C00EC539C00EC544C0"
$"0FC55BC012C54FC011C55BC012C55BC012C55BC012C55BC0120208C151BD96C1"
$"51BD96C0CBBD96BFBFBD94C045BD95BFB6BD87BFA2BD6FBFACBD7BBED4BD80BD"
$"3ABDA4BE07BD92BD46BE0EBD5FBEE2BD53BE78BD59BF55BD4FC03BBD54BFC8BE"
$"F8C045C24CC059C0A2C04FC1F8BF6EC151BD96C1A5BE82C151BD960607FF1FC1"
$"E9BB5FC1E9BB5FC1E9BC25C1E9BDB0C1E9BCEBC149BDB0C009BDB0C0A9BDB0C0"
$"09BCEBC009BB5FC009BC25C009BACEC0F9BA58C074BA58C17EBA58C1E9BB5FC1"
$"E9BACEC1E9BB5FBB5F0607FF1FC1E9BB5FC1E9BB5FC1E9BC25C1E9BDB0C1E9BC"
$"EBC149BDB0C009BDB0C0A9BDB0C009BCEBC009BB5FC009BC25C009BACEC0F9BA"
$"58C074BA58C17EBA58C1E9BB5FC1E9BACEC1E9BB5FBB5F0607FF1FC1E9BB6AC1"
$"E9BB6AC1E9BC2CC1E9BDB0C1E9BCEEC149BDB0C009BDB0C0A9BDB0C009BCEEC0"
$"09BB6AC009BC2CC009BAD9C0F9BA63C074BA63C17EBA63C1E9BB6AC1E9BAD9C1"
$"E9BB6ABB6A0607FF1FC1E9BB6AC1E9BB6AC1E9BC2CC1E9BDB0C1E9BCEEC149BD"
$"B0C009BDB0C0A9BDB0C009BCEEC009BB6AC009BC2CC009BAD9C0F9BA63C074BA"
$"63C17EBA63C1E9BB6AC1E9BAD9C1E9BB6ABB6A020EC3C8C7EAC3C8C7EAC35CC8"
$"85C286C9B9C2F1C91FC181C9AEBF78C997C07DC9A2BEC0C98EBD4FC97DBE08C9"
$"85BD4DC97CBD49C97CBD4BC97CBD12C945BCA4C8D7BCDBC90EBCA4C8D7BCA4C8"
$"D6BCA4C8D6BCB856BCE0C7E0BCCCC832BCEBC7B4BD01C75B39C787BD31C75CBD"
$"91C75EBD61C75DBE35C761BF7EC767BEDAC764C07BC76CC276C775C179C770C2"
$"C3C777C35FC77AC311C778C382C79FC3C8C7EAC3A5C7C5C3C8C7EA0228BD07BA"
$"1DBD07BA1DBD0CBA1FBD17BA20BD12BA20BCDBBA20BC63BA20BC9FBA20BC51BA"
$"20BC34BA12BC41BA1BBC2FBA0FBC27BA07BC2BBA0BBC18B9F8BC0FB9CCBC0FB9"
$"E3BC0FB99EBC63B978BC34B978BC9FB978BD17B978BCDBB978BD14B978BD0EB9"
$"79BD11B979BD0DB97ABD0BB97ABD0CB97ABD07B97BBCFEB97FBD02B97DBCFDB9"
$"80BCFAB982BCFBB981BCF7B984BCF2B988BCF5B986BCF1B989BCEFB98CBCF0B9"
$"8ABCEDB98DBCEAB992BCECB990BCE9B993BCE6B997BCE8B995BCE5B999BCE3B9"
$"9DBCE4B99BBCE1B9A0BCDFB9A6BCE0B9A3BCDEB9A7BCDDB9AABCDEB9A9BCDBB9"
$"B1BCD9B9C1BCD9B9B9BCD8B9C2BCD8B9C5BCD8B9C4BCD8B9C8BCD8B9CCBCD8B9"
$"CABCD8B9CFBCD8B9D3BCD8B9D1BCD8B9D5BCD9B9D7BCD8B9D6BCD9B9DCBCDBB9"
$"E5BCDAB9E1BCDBB9E8BCDDB9ECBCDCB9EABCDDB9EDBCDDB9EDBCDDB9EDBCDEB9"
$"EFBCDFB9F3BCDEB9F1BCE0B9F4BCE0B9F6BCE0B9F5BCE2B9FABCE6BA01BCE4B9"
$"FEBCE6BA01BCE7BA02BCE6BA02BCE8BA04BCEABA07BCE9BA06BCEFBA0EBCFBBA"
$"17BCF5BA13BCFCBA18BCFEBA19BCFDBA18BCFEBA19BCFEBA19BCFEBA19BCFEBA"
$"19BCFFBA19BCFEBA19BD00BA1ABD03BA1CBD02BA1BBD03BA1CBD04BA1CBD04BA"
$"1CBD05BA1CBD07BA1DBD06BA1DBD07BA1DBD07BA1DBD07BA1DBD07BA1D0232BF"
$"B5B743BFB5B743BFB1B743BFA8B743BFADB743BFA4B744BF9AB745BF9FB744BF"
$"99B745BF96B745BF97B745BF8BB746BF76B748BF81B747BF75B748BF73B748BF"
$"74B748BF51B74CBF11B75ABF30B753BF0BB75CBF01B75FBF06B75DBEFCB760BE"
$"F1B763BEF6B761BEE2B767BEC4B772BED3B76CBEBBB775BEA8B77CBEB1B779BE"
$"A3B77EBE98B783BE9DB781BE8FB787BE7DB78FBE86B78BBE7CB790BE79B791BE"
$"7BB790BE75B793BE6EB797BE72B795BE69B799BE60B79EBE65B79BBE5CB7A0BE"
$"53B7A5BE57B7A3BE3DB7B1BE14B7CD3CB7BFBE10B7D0BE08B7D6BE0CB7D3BE04"
$"B7D8BDFDB7DFBE00B7DBBDF5B7E5BDE6B7F1BDEDB7EBBDE2B7F4BDDBB7FBBDDE"
$"B7F8BDD7B7FEBDD0B805BDD4B801BDCCB808BDC6B80FBDC9B80BBDC0B814BDB4"
$"B820BDBAB81ABD9CB83ABD75B872BD87B855BD73B875BD6EB87DBD70B879BD6E"
$"B87DBD6DB87FBD6DB87EBD6BB882BD66B88ABD68B886BD54B8ABBD3AB8F1BD45"
$"B8CDBD36B8FDBD30B917BD33B90ABD2AB937BD26B978BD26B957BD26B978BD26"
$"B978BD26B978BCFFB978BCB2B978BCD9B978BCB2B978BCB2B978BCB2B978BCB2"
$"B900BD44B833BCE8B88FBD6DB80ABDD4B7C5BD9EB7E5BDE2B7BEBDFFB7AEBDF0"
$"B7B6BE1BB7A0BE59B786BE3AB792BE59B786BE59B786BE59B786BE65B782BE7C"
$"B77ABE70B77EBEA8B76BBF06B756BED6B75FBF11B754BF27B750BF1CB752BF2E"
$"B74FBF3BB74DBF34B74EBF3FB74DBF47B74BBF43B74CBF4DB74BBF58B749BF53"
$"B74ABF72B747BFA7B743BF8CB745BFABB743BFB2B743BFAEB743BFB3B743BFB5"
$"B743BFB4B743BFB5B743BFB5B743BFB5B743BFB5B7430605FF01BFDBB742BFDB"
$"B742BFA8B742BF7FB978BF7FB840BF37B978BEA7B978BEEFB978BEA7B840BFDB"
$"B742BF30B742BFDBB742B7420609FFFF01C268B978C268B97846B978C19CB978"
$"C1E0B978C19CB843BFDEB742C0D5B748BFE1B742BFE7B742BFE4B742BFECB742"
$"BFF7B742BFF1B742BFF8B743BFFCB743BFFAB743BFFDB743C000B743BFFEB743"
$"44B756C268B978C268B84CC268B978B9780228C4B4C72DC4B4C72DC493C74DC4"
$"52C78EC473C76EC44FC791C449C797C44CC794C3C0C820C2AFC931C338C8A9C2"
$"ACC931C2A5C92FC2A8C930C29CC92DC289C929C292C92BC11FC8DABF7BC898C0"
$"17C8B3BECFC879BD7DC834BE25C85ABD7DC834BD7DC834BD7DC834BD48C828BC"
$"E0C80EBD14C81CBC71C7F2BB95C7AEBC02C7D2BB95C7AEBB95C7AEBB95C7AEBB"
$"88C7A9BB6DC7A0BB7AC7A4BB54C797BB24C785BB3CC78EBB24C785BB24C786BB"
$"24C785BB24C786BB24C785BB24C786BB04C765BAC3C724BAE3C745BA60C6C1B9"
$"9AC5FBB9FDC65EB99AC5FBB99AC5FBB99AC5FBB99AC5EDB99AC5CDB99AC5DDB9"
$"9AC5B0B99AC570B99AC591B99AC56CB99AC566B99AC569B99AC4E9B999C3D0B9"
$"99C452B999C3CFB999C3CDB999C3CEB999C3CDB999C3CFB999C3CEB999C3CFB9"
$"99C3CFB999C3CFB999C3D0B999C3D0B999C3D0B99EC425BB36C4F9BA39C4A4BB"
$"37C4FABB38C4FABB38C4FABB3CC4FBBB42C4FDBB3FC4FCBB42C4FDBB42C4FEBB"
$"42C4FEBB82C513BC06C53ABBC3C527BC97C564BDCCC5ABBD2FC588BDCCC5ABBD"
$"CCC5ABBDCCC5ABBE5BC5CABF82C604BEEDC5E7C071C632C256C694C165C660C2"
$"F8C6B7C435C708C398C6DDC453C711C490C722C472C719C49CC725C4B4C72DC4"
$"A8C729C4B4C72DC4B4C72DC4B4C72DC4B4C72D0232C4B4C6FEC4B4C6FEC4A8C7"
$"0AC490C722C49CC716C47BC737C452C760C467C74BC44FC763C449C769C44CC7"
$"66C41EC794C3C8C7EAC3F3C7BFC382C830C2F6C8BCC33CC876C2DEC8D4C2AFC9"
$"03C2C7C8EBC2ACC902C2A5C901C2A8C902C28BC8FBC257C8F0C271C8F6C162C8"
$"BDBF7BC86AC06DC894BECFC84BBD7DC806BE25C82CBD7DC806BD7DC806BD7DC8"
$"06BD48C7FABCE0C7E0BD14C7EEBC82C7C8BBC8C790BC25C7AEBBB7C78BBB95C7"
$"7FBBA6C785BB95C77FBB95C77FBB95C77FBB6FC773BB24C757BB4AC765BB24C7"
$"57BB24C757BB24C757BB24C757BB24C757BB24C757BB04C737BAC3C6F6BAE4C7"
$"16BA60C693B99AC5CDB9FDC630B99AC5CDB99AC5CDB99AC5CDB99AC5CDB99AC5"
$"CCB99AC5CDB99AC5B9B99AC58CB99AC5A3B99AC589B99AC585B99AC587B99AC5"
$"7EB99AC570B99AC577B99AC566B99AC553B99AC55CB99AC512B99AC47CB99AC4"
$"C8B999C464B999C433B999C44BB999C423B999C401B999C412B999C3F1B999C3"
$"D0B999C3E1B999C3D0B999C3D0B999C3D0B999C3D0B999C3D0B999C3D0B999C3"
$"D0B999C3D0B999C3D0B999C3CFB999C3CFB999C3CFB999C3CFB999C3CEB999C3"
$"CEB999C3BEB999C39FB999C3AEB99AC3F3BB36C4CBBA36C474BB3AC4CDBB42C4"
$"CFBB3EC4CEBB42C4CFBB42C4CFBB42C4CFBB5FC4D9BB9AC4ECBB7CC4E2BBBDC4"
$"F7BC06C50CBBE1C501BC97C535BDCCC57CBD2FC55ABDCCC57CBDCCC57DBDCCC5"
$"7CBE5BC59CBF82C5D6BEEDC5B9C071C604C256C666C165C632C2F8C689C435C6"
$"DAC398C6AFC444C6DEC461C6E6C452C6E2C47DC6EEC4B4C6FEC498C6F6C4B4C6"
$"FEC4B4C6FEC4B4C6FEC4B4C6FE0605FB01C55BC1DBC55BC1DBC55BC1DBC55AC1"
$"DBC55AC1DBC55AC1DBC55AC1DBC55BC1DBC55AC1DBC55BC1DBC1DB0221C55BBF"
$"A7C55BBFA7C55BC058C55BC1B9C55BC108C55AC1B9C55AC1B9C55AC1B9C55AC1"
$"96C368C04AC4F7C0DEC334C036C2BCC012C2FAC023C28DC005C225BFECC25BBF"
$"F8C1F5BFE1C18EBFCEC1C3BFD7C10DBFB8BFDBBF99C07DBFA5BFD9BF99BFD6BF"
$"99BFD7BF99BFD6BF99BFD6BF99BFD6BF99BFD6BEEDBFD6BD94BFD6BE40BFD6BD"
$"8BBFD6BD79BFD6BD82BFD8BD79BFDBBD79BFD9BD79BFE5BD7ABFFBBD7ABFF0BD"
$"7AC000BD7AC009BD7BC004BD7AC050BD7DC0E5BD89C09ABD82C109BD8DC151BD"
$"96C12DBD91C151BD96C151BD96C151BD96C161BD99C181BD9DC171BD9BC19ABD"
$"A1C1CBBDA9C1B3BDA5C1D5BDABC1E9BDAFC1DFBDADC1E9BDAFC1E9BDAFC1E9BD"
$"AFC1F6BDB1C20FBDB6C203BDB4C217BDB8C228BDBBC220BDBAC22FBDBDC23BBD"
$"BFC235BDBEC2453BC25ABDC6C250BDC4C263BDC8C276BDCDC26DBDCBC278BDCD"
$"C27DBDCFC27BBDCEC29ABDD6C2D3BDE5C2B7BDDDC2DDBDE8C2F2BDEEC2E7BDEB"
$"C2F7BDEFC303BDF3C2FDBDF1C46ABE5FC55BBFA7C55BBF04C55BBFA7C55BBFA7"
$"C55BBFA7C55BBFA70221C55BBFA7C55BBFA7C55BC058C55BC1B9C55BC108C55A"
$"C1B9C55AC1B9C55AC1B9C55AC196C368C04AC4F7C0DEC334C036C2BCC012C2FA"
$"C023C28DC005C225BFECC25BBFF8C1F5BFE1C18EBFCEC1C3BFD7C10DBFB8BFDB"
$"BF99C07DBFA5BFD9BF99BFD6BF99BFD7BF99BFD6BF99BFD6BF99BFD6BF99BFD6"
$"BEEDBFD6BD94BFD6BE40BFD6BD8BBFD6BD79BFD6BD82BFD8BD79BFDBBD79BFD9"
$"BD79BFE5BD7ABFFBBD7ABFF0BD7AC000BD7AC009BD7BC004BD7AC050BD7DC0E5"
$"BD89C09ABD82C109BD8DC151BD96C12DBD91C151BD96C151BD96C151BD96C161"
$"BD99C181BD9DC171BD9BC19ABDA1C1CBBDA9C1B3BDA5C1D5BDABC1E9BDAFC1DF"
$"BDADC1E9BDAFC1E9BDAFC1E9BDAFC1F6BDB1C20FBDB6C203BDB4C217BDB8C228"
$"BDBBC220BDBAC22FBDBDC23BBDBFC235BDBEC2453BC25ABDC6C250BDC4C263BD"
$"C8C276BDCDC26DBDCBC278BDCDC27DBDCFC27BBDCEC29ABDD6C2D3BDE5C2B7BD"
$"DDC2DDBDE8C2F2BDEEC2E7BDEBC2F7BDEFC303BDF3C2FDBDF1C46ABE5FC55BBF"
$"A7C55BBF04C55BBFA7C55BBFA7C55BBFA7C55BBFA70608FF7FC2B8B9CCC2B8B9"
$"CCC2B8B9FAC270BA20C298BA20C229BA20C19CBA20C1E2BA20C1B5BA20C1CAB9"
$"CCC1CAB9FAC1CAB99EC19CB978C1B5B978C1E2B978C270B978C229B978C298B9"
$"78C2B8B9CCC2B8B99EC2B8B9CCB9CC0608FF7FC1CAB9CCC1CAB9CCC1CAB9FAC1"
$"9CBA20C1B5BA20C0E5BA20BF77BA20C02EBA20BF69BA20BF5CB9CCBF5CB9FABF"
$"5CB99EBF77B978BF69B978C02EB978C19CB978C0E5B978C1B5B978C1CAB9CCC1"
$"CAB99EC1CAB9CCB9CC0608FF7FBEA4BA20BEA4BA20BE20BA20BD17BA20BD9BBA"
$"20BCF4BA20BCD8B9CCBCD8B9FABCD8B99EBD17B978BCF4B978BD9BB978BEA4B9"
$"78BE20B978BE86B978BE6EB9CCBE6EB99EBE6EB9FABEA4BA20BE86BA20BEA4BA"
$"20BA200607FF1FBEA7B978BEA7B978BEA7B9B0BEA7BA20BEA7B9E8BEA6BA20BE"
$"A4BA20BEA5BA20BE86BA20BE6EB9CCBE6EB9FABE6EB99EBEA4B978BE86B978BE"
$"A5B978BEA7B978BEA6B978BEA7B978B9780608FF7FBF77BA20BF77BA20BF31BA"
$"20BEA4BA20BEEABA20BE86BA20BE6EB9CCBE6EB9FABE6EB99EBEA4B978BE86B9"
$"78BEEAB978BF77B978BF31B978BF69B978BF5CB9CCBF5CB99EBF5CB9FABF77BA"
$"20BF69BA20BF77BA20BA200608FF7FBF25BB06BF25BB06BF25BBB0BF25BD05BF"
$"25BC5BBED7BD05BE39BD05BE88BD05BE39BC5BBE39BB06BE39BBB0BE39BAC9BE"
$"AFBA98BE6EBA98BEB0BA98BEB0BA98BEB0BA98BEF1BA98BF25BB06BF25BAC9BF"
$"25BB06BB060608FF7FBF25BB06BF25BB06BF25BBB0BF25BD05BF25BC5BBED7BD"
$"05BE39BD05BE88BD05BE39BC5BBE39BB06BE39BBB0BE39BAC9BEAFBA98BE6EBA"
$"98BEB0BA98BEB0BA98BEB0BA98BEF1BA98BF25BB06BF25BAC9BF25BB06BB0602"
$"0BBD82BB12BD82BB12BD82BBBCBD82BD11BD82BC66BD52BD11BCF2BD11BD22BD"
$"11BCF2BC66BCF2BB12BCF2BBBCBCF2BB0EBCF3BB07BCF2BB0A39BAD2BD35BAA4"
$"BD12BAA7BD36BAA4BD38BAA3BD37BAA3BD39BAA3BD3ABAA3BD3ABAA3BD3ABAA3"
$"BD3ABAA3BD3ABAA3BD62BAA3BD82BB12BD82BAD5BD82BB12BD82BB12BD82BB12"
$"BD82BB12020BBD82BB12BD82BB12BD82BBBCBD82BD11BD82BC66BD52BD11BCF2"
$"BD11BD22BD11BCF2BC66BCF2BB12BCF2BBBCBCF2BB0EBCF3BB07BCF2BB0A39BA"
$"D2BD35BAA4BD12BAA7BD36BAA4BD38BAA3BD37BAA3BD39BAA3BD3ABAA3BD3ABA"
$"A3BD3ABAA3BD3ABAA3BD3ABAA3BD62BAA3BD82BB12BD82BAD5BD82BB12BD82BB"
$"12BD82BB12BD82BB120212C303BAA5C303BAA5C303BB70C303BD06C303BC3B48"
$"BD06C2C8BD06C2DCBD06C2C8BC5BC2C8BB06C2C8BBB1C2C8BAFFC2C9BAF0C2C9"
$"BAF7C2C9BAEDC2CABAE6C2CABAE9C2CBBAE3C2CBBADDC2CBBAE0C2CCBADAC2CD"
$"BAD4C2CCBAD7C2CDBAD2C2CEBACCC2CEBACFC2CFBAC9C2D1BAC2C2D0BAC5C2D2"
$"BAC0C2D3BABCC2D2BABEC2D3BABCC2D3BABCC2D3BABCC2D6BAB3C2DDBAA7C2D9"
$"BAACC2DDBAA6C2DEBAA4C2DEBAA5C2DFBAA3C2E0BAA2C2DFBAA2C2E5BA9B48BA"
$"98C2EABA98C2F7BA98C303BAA5C2FDBA9DC303BAA5C303BAA5C303BAA5C303BA"
$"A50212C303BAA5C303BAA5C303BB70C303BD06C303BC3B48BD06C2C8BD06C2DC"
$"BD06C2C8BC5BC2C8BB06C2C8BBB1C2C8BAFFC2C9BAF0C2C9BAF7C2C9BAEDC2CA"
$"BAE6C2CABAE9C2CBBAE3C2CBBADDC2CBBAE0C2CCBADAC2CDBAD4C2CCBAD7C2CD"
$"BAD2C2CEBACCC2CEBACFC2CFBAC9C2D1BAC2C2D0BAC5C2D2BAC0C2D3BABCC2D2"
$"BABEC2D3BABCC2D3BABCC2D3BABCC2D6BAB3C2DDBAA7C2D9BAACC2DDBAA6C2DE"
$"BAA4C2DEBAA5C2DFBAA3C2E0BAA2C2DFBAA2C2E5BA9B48BA98C2EABA98C2F7BA"
$"98C303BAA5C2FDBA9DC303BAA5C303BAA5C303BAA5C303BAA50609FFFF01BD38"
$"BAA3BD38BAA3BD2EBAA5BD0FBB13BD0FBAB0BD0FBB1EBD0FBD11BD0FBD11BD05"
$"BD11BCF2BD11BCFCBD11BCF2BC66BCF2BB12BCF2BBBCBCF2BB0EBCF3BB07BCF2"
$"BB0A39BAD2BD35BAA4BD12BAA7BD36BAA4BD38BAA3BD37BAA3BD38BAA3BAA302"
$"0ABEB0BA98BEB0BA98BEB0BA98BEAFBA98BEAFBA98BE9CBA9ABE4CBB07BE4CBA"
$"B1BE4CBB12BE4CBD05BE4CBD05BE45BD05BE39BD05BE3FBD05BE39BC5BBE39BB"
$"06BE39BBB0BE39BAC9BEAFBA98BE6EBA98BEB0BA98BEB0BA98BEB0BA98BEB0BA"
$"98BEB0BA98BEB0BA98BEB0BA98BEB0BA98BEB0BA98BEB0BA9806047FBD3ABAA3"
$"BD3ABAA3BD38BAA3BD35BAA4BD37BAA4BD37BAA3BD3ABAA3BD38BAA3BD3ABAA3"
$"BAA30205BCB2BA20BCB2BA20BECDBA20C303BA20C0E8BA20C303BA7AC303BB2F"
$"C303BAD5C0E8BB2FBCB2BB2FBECDBB2FBCB2BAD5BCB2BA20BCB2BA7ABCB2BA20"
$"0215C39AB9CCC39AB9CCC39AB9E3C381BA07C390B9F8C37FBA09C37BBA0DC37D"
$"BA0BC37BBA0DC37BBA0DC37BBA0DC378BA0FC371BA14C375BA12C36FBA15C36A"
$"BA18C36DBA17C368BA19C363BA1BC365BA1AC363BA1BC363BA1BC363BA1BC35A"
$"BA1EC346BA20C350BA20C0FABA20BC63BA20BEAEBA20BC51BA20BC34BA12BC41"
$"BA1BBC2FBA0FBC27BA07BC2BBA0BBC18B9F8BC0FB9CCBC0FB9E3BC0FB99EBC63"
$"B978BC34B978BC7DB978BCB2B978BC98B978BCB2B978BCB2B978BCB2B978BECD"
$"B978C303B978C0E8B978C303B978C303B978C303B978C319B978C346B978C330"
$"B978C374B978C39AB9CCC39AB99EC39AB9CCC39AB9CCC39AB9CCC39AB9CC0230"
$"C4B4C6FEC4B4C6FEC4A8C70AC490C722C49CC716C47BC737C452C760C467C74B"
$"C44FC763C449C769C44CC766C41EC794C3C8C7EAC3F3C7BFC382C830C2F6C8BC"
$"C33CC876C2DEC8D4C2AFC903C2C7C8EBC2ACC902C2A5C901C2A8C902C28BC8FB"
$"C257C8F0C271C8F6C162C8BDBF7BC86AC06DC894BECFC84BBD7DC806BE25C82C"
$"BD7DC806BD7DC806BD7DC806BD48C7FABCE0C7E0BD14C7EEBC82C7C8BBC8C790"
$"BC25C7AEBBB7C78BBB95C77FBBA6C785BB95C77FBB95C77FBB95C77FBB6FC773"
$"BB24C757BB4AC765BB24C757BB24C757BB24C757BB24C757BB24C757BB24C757"
$"BB04C737BAC3C6F6BAE4C716BA60C693B99AC5CDB9FDC630B99AC5CDB99AC5CD"
$"B99AC5CDB99AC5CDB99AC5CCB99AC5CDB99AC5B9B99AC58CB99AC5A3B99AC589"
$"B99AC585B99AC587B99AC57BB99AC566B99AC570B99AC55FB99AC553B99AC559"
$"B99AC512B99AC47CB99AC4C8B999C464B999C433B999C44BB9994BB999C401B9"
$"99C412B999C3F1B999C3D0B999C3E1B999C3D0B999C3D0B999C3D0B999C3D0B9"
$"99C3CFB999C3D0B999C3CFB999C3CEB999C3CEB999C3BEB999C39FB999C3AEB9"
$"9AC3F3BB36C4CBBA36C474BB3AC4CDBB42C4CFBB3EC4CEBB42C4CFBB42C4CFBB"
$"42C4CFBB5FC4D9BB9AC4ECBB7CC4E2BBBDC4F7BC06C50CBBE1C501BC97C535BD"
$"CCC57CBD2FC55ABDCCC57CBDCCC57DBDCCC57CBE5BC59CBF82C5D6BEEDC5B9C0"
$"71C604C256C666C165C632C2F8C689C435C6DAC398C6AFC444C6DEC461C6E6C4"
$"52C6E2C47DC6EEC4B4C6FEC498C6F6C4B4C6FEC4B4C6FEC4B4C6FEC4B4C6FE02"
$"3DBCF2BD11BCF2BD11BCF2BC66BCF2BB12BCF2BBBCBCF2BB0FBCF2BB0ABCF2BB"
$"0CBCF2BB08BCF3BB05BCF3BB06BCF3BB03BCF3BB01BCF3BB02BCF3BAFFBCF4BA"
$"FCBCF3BAFEBCF4BAFCBCF4BAFBBCF4BAFCBCF4BAF9BCF5BAF3BCF4BAF6BCF5BA"
$"F3BCF5BAF2BCF5BAF2BCF5BAF139BAF039BAF139BAEF39BAEE39BAEF39BAECBC"
$"F7BAE9BCF7BAEBBCF7BAE9BCF8BAE7BCF8BAE8BCF8BAE7BCF8BAE7BCF8BAE7BC"
$"F8BAE5BCF9BAE1BCF9BAE3BCFABAE0BCFBBADEBCFABADFBCFBBADEBCFBBADCBC"
$"FBBADDBCFBBADBBCFCBAD9BCFCBADABCFCBAD9BCFCBAD9BCFCBAD9BCFCBAD9BC"
$"FDBAD8BCFDBAD8BCFDBAD7BCFEBAD4BCFEBAD5BCFFBAD3BCFFBAD2BCFFBAD3BC"
$"FFBAD2BD00BAD1BD00BAD1BD00BAD1BD01BAD0BD00BAD0BD01BACEBD02BACCBD"
$"02BACDBD07BAC2BD15BAB3BD0EBABABD17BAB1BD1CBAAEBD19BAAFBD1DBAADBD"
$"1EBAACBD1DBAACBD20BAABBD22BAAABD21BAAABD25BAA8BD2BBAA6BD28BAA7BD"
$"2BBAA6BD2CBAA5BD2CBAA5BD2DBAA5BD2FBAA5BD2EBAA5BD30BAA4BD30BAA4BD"
$"30BAA4BD31BAA4BD32BAA4BD31BAA4BD33BAA4BD34BAA4BD33BAA4BD35BAA4BD"
$"38BAA3BD36BAA3BD39BAA3BD3ABAA3BD39BAA3BD3CBAA3BD3FBAA4BD3EBAA3BD"
$"40BAA4BD41BAA4BD40BAA4BD42BAA4BD45BAA4BD43BAA4BD45BAA4BD45BAA5BD"
$"45BAA5BD46BAA5BD47BAA5BD46BAA5BD48BAA5BD4ABAA6BD49BAA6BD52BAA9BD"
$"5FBAB3BD59BAADBD60BAB4BD62BAB6BD61BAB5BD63BAB7BD65BAB9BD64BAB8BD"
$"6ABABFBD72BACDBD6FBAC6BD73BACFBD75BAD2BD74BAD1BD76BAD4BD77BAD6BD"
$"76BAD5BD77BAD7BD78BAD9BD77BAD8BD79BADBBD7ABADEBD79BADDBD7CBAE3BD"
$"7EBAEEBD7DBAE9BD7EBAEEBD7EBAEFBD7EBAEEBD7FBAF1BD80BAF5BD7FBAF3BD"
$"8034BD81BAFDBD80BAFABD81BAFFBD81BB04BD81BB01BD82BB05BD82BB08BD82"
$"BB06BD82BB0BBD82BB12BD82BB0EBD82BBBCBD82BD11BD82BC66BD52BD11BCF2"
$"BD11BD22BD11BCF2BD11BCF2BD11BCF2BD11BCF2BD110221BEB1BA98BEB1BA98"
$"BEB3BA98BEB6BA98BEB5BA98BEC0BA98BED2BA9DBEC9BA9ABED4BA9DBED7BA9E"
$"BED5BA9DBEE4BAA2BEFBBAB1BEF0BAA9BF01BAB6BF0ABAC0BF06BABABF0CBAC1"
$"BF0EBAC4BF0DBAC3BF12BAC9BF17BAD2BF15BACDBF19BAD5BF1DBADCBF1BBAD9"
$"BF1EBADEBF1FBAE3BF1EBAE1BF20BAE4BF20BAE5BF20BAE5BF21BAE7BF21BAE9"
$"BF21BAE8BF24BAF2BF25BB06BF25BAFCBF25BBB0BF25BD05BF25BC5BBED7BD05"
$"BE39BD05BE88BD05BE39BC5BBE39BB06BE39BBB0BE39BB02BE3ABAFBBE39BAFF"
$"BE3ABAF9BE3BBAF5BE3ABAF7BE3BBAF4BE3BBAF1BE3BBAF3BE3CBAF0BE3DBAEC"
$"BE3CBAEEBE42BAD8BE5CBAB8BE4DBAC6BE5DBAB7BE60BAB4BE5EBAB6BE62BAB3"
$"BE66BAB0BE64BAB1BE67BAAFBE69BAAEBE68BAAEBE6ABAADBE6EBAAABE6CBAAB"
$"BE6FBAA9BE72BAA8BE71BAA9BE7ABAA3BE8CBA9DBE83BA9FBE90BA9CBE97BA9A"
$"BE93BA9BBE97BA9ABE98BA9ABE98BA9ABE9CBA99BEA3BA98BE9FBA99BEA7BA98"
$"BEAFBA98BEABBA98BEB0BA98BEB1BA98BEB0BA98BEB1BA98BEB1BA98BEB1BA98"
$"BEB1BA98028BC4D4C673C4D4C673C48EC546C403C2EBC449C418C403C2E8C401"
$"C2E3C402C2E6C3FCC2CCC3F1C29EC3F7C2B5C3D7C22BC3A2C1454AC1B8C3A2C1"
$"44C3A1C142C3A1C143C3A1C141C3A0C13FC3A0C140C395C120C339C0D6C370C0"
$"FCC31DC0C3C2DAC09CC2FDC0B0C2AFC085C24BC058C27FC06EC212C03FC196C0"
$"13C1D5C028C100BFE2BFDBBFBEC06140BFDB40BFDBBFC2BFDBBFC1BFB5BFC2BF"
$"69BFC2BF8FBFC2BF69BEEBBF69BD3DBF69BE14BF8FBD3DBFDBBD3DBFB5BD3DBF"
$"DBBD51BFDBBD79BFDBBD65BFE5BD7ABFFBBD7ABFF0BD7AC000BD7AC009BD7BC0"
$"04BD7AC009BCC7C009BB5FC009BC13C009BB5BC009BB52C009BB56C00ABB4AC0"
$"0BBB3AC00ABB42C00CBB36C00DBB2FC00CBB33C00DBB2FC00DBB2FC00DBB2FC0"
$"0EBB2BC00FBB25C00EBB28C00FBB24C00FBB23C00FBB23C011BB1BC015BB0DC0"
$"13BB14C016BB09C019BAFFC018BB04C01DBAF6C025BAE4C021BAEDC027BAE0C0"
$"2BBAD9C029BADCC02CBAD6C030BAD0C02EBAD3C031BACDC035BAC7C033BACAC0"
$"37BAC4C03BBABFC039BAC1C03BBABEC03CBABCC03CBABDC03EBABAC042BAB5C0"
$"40BAB8C044BAB2C049BAADC046BAAFC04DBAA7C057BA9DC052BAA2C059BA9BC0"
$"5EBA96C05CBA98C061BA93C067BA8FC064BA91C069BA8CC06FBA88C06CBA8AC0"
$"74BA84C080BA7CC07ABA80C08DBA73C0AABA67C09BBA6CC0ACBA66C0B1BA64C0"
$"AEBA65C0B6BA62C0BFBA60C0BABA61C0C1BA5FC0C6BA5EC0C4BA5EC0C9BA5DC0"
$"CDBA5CC0CBBA5DC0CEBA5CC0CFBA5CC0CEBA5CC0D1BA5CC0D7BA5BC0D4BA5BC0"
$"DABA5AC0E0BA59C0DDBA5AC0E0BA59C0E1BA59C0E1BA59C0E3BA59C0E7BA59C0"
$"E5BA59C0EABA58C0EEBA58C0ECBA5843BA58C0F9BA58C0F5BA58C0FDBA58C105"
$"BA58C101BA58C106BA58C10ABA59C108BA58C10DBA59C112BA59C10FBA59C115"
$"BA5AC11CBA5BC118BA5AC11EBA5BC124BA5CC121BA5CC127BA5DC12CBA5EC129"
$"BA5DC12FBA5FC135BA60C132BA5FC139BA61C140BA64C13CBA62C143BA64C149"
$"BA67C146BA66C14BBA67C14FBA69C14DBA68C150BA6AC153BA6BC152BA6AC155"
$"BA6CC15ABA6E44BA6DC15BBA6FC15CBA6FC15CBA6FC15FBA71C164BA73C161BA"
$"72C167BA75C16CBA78C169BA76C16EBA79C172BA7CC170BA7AC174BA7DC178BA"
$"80C176BA7EC17EBA84C18ABA8DC184BA88C18F33C19ABA9CC195BA97C19EBAA0"
$"C1A4BAA7C1A1BAA3C1A7BAA9C1AABAAEC1A9BAACC1B3BAB8C1C2BACFC1BBBAC3"
$"C1C3BAD1C1C6BAD7C1C5BAD4C1C6BAD7C1C6BAD7C1C6BAD7C1C8BADAC1CCBAE2"
$"C1CABADEC1CDBAE4C1D0BAE9C1CFBAE7C1D1BAEBC1D2BAEFC1D1BAEDC1D634C1"
$"DDBB0CC1DABB02C1DEBB0FC1E0BB16C1DFBB13C1E0BB16C1E0BB17C1E0BB16C1"
$"E1BB1AC1E2BB21C1E1BB1DC1E3BB24C1E4BB2BC1E4BB28C1E5BB2CC1E5BB2FC1"
$"E5BB2EC1E5BB2FC1E5BB2FC1E5BB2FC1E6BB33C1E7BB3AC1E6BB36C1E8BB42C1"
$"E9BB52C1E8BB4AC1E9BB56C1E9BB5FC1E9BB5BC1E9BC24C1E9BDAFC1E9BCEAC1"
$"E9BDAFC1E9BDAFC1E9BDAFC1F6BDB1C20FBDB6C203BDB4C217BDB8C228BDBBC2"
$"20BDBAC22FBDBDC23BBDBFC235BDBEC2453BC25ABDC6C250BDC4C263BDC8C276"
$"BDCDC26DBDCBC278BDCDC27DBDCEC27BBDCEC29ABDD6C2D3BDE5C2B7BDDDC2DD"
$"BDE8C2F1BDEEC2E7BDEBC2F7BDEFC303BDF3C2FDBDF1C303BDA4C303BD05C303"
$"BD5548BD05C2C8BD05C2DCBD05C2C8BC5BC2C8BB06C2C8BBB1C2C8BAFFC2C9BA"
$"F0C2C9BAF7C2C9BAEDC2CABAE6C2CABAE9C2CBBAE3C2CBBADDC2CBBAE0C2CCBA"
$"DAC2CDBAD4C2CCBAD7C2CDBAD2C2CEBACCC2CEBACFC2CFBAC9C2D1BAC2C2D0BA"
$"C5C2D2BAC0C2D3BABCC2D2BABEC2D3BABCC2D3BABCC2D3BABCC2D6BAB3C2DDBA"
$"A7C2D9BAACC2DDBAA6C2DEBAA4C2DEBAA5C2DFBAA3C2E0BAA2C2DFBAA2C2E5BA"
$"9B48BA98C2EABA98C2F7BA98C303BAA5C2FDBA9DC303BA79C303BA20C303BA4C"
$"C0E8BA20BCB2BA20BECDBA20BCB2BB9CBCB2BE95BCB2BD19BC9ABEFEBC69BFD1"
$"BC82BF68BC40C086BBECC1F0BC16C13BBBE8C203BBDFC229BBE3C216BBD6C24D"
$"BBC6C297BBCEC272BBA3C32EBB5DC45CBB80C3C5BB54C482BB42C4CFBB4BC4A9"
$"BB42C4CFBB42C4CFBB42C4CFBB5FC4D9BB9AC4ECBB7CC4E2BBBDC4F7BC06C50C"
$"BBE1C501BC97C535BDCCC57CBD2FC55ABDCCC57CBDCCC57DBDCCC57CBE5BC59C"
$"BF82C5D6BEEDC5B9C071C604C256C666C165C632C2F8C689C435C6DAC398C6AF"
$"C444C6DEC461C6E6C452C6E2C47DC6EEC4B4C6FEC498C6F6C4C5C6EDC4E8C6CA"
$"C4D7C6DBC4E1C6ADC4D4C673C4DBC690C4D4C673C4D4C673C4D4C673C4D4C673"
$"020EC289C929C289C929C19BCA17BFBFCBF2C0ADCB05BFA6CBD9BF73CBA6BF8D"
$"CBC0BE83CAB6BCA4C8D7BD93C9C6BC46C879BB8AC7BDBBE8C81BBB80C7B3BB6D"
$"C7A0BB76C7A9BB7AC7A4BB95C7AEBB88C7A9BB95C7AEBB95C7AEBB95C7AEBC02"
$"C7D2BCE0C80EBC71C7F2BD14C81CBD7DC834BD48C828BD7DC834BD7DC834BD7D"
$"C834BE25C85ABF7BC898BECFC879C017C8B3C289C929C11FC8DAC289C929C289"
$"C929C289C929C289C929020EC289C929C289C929C19BCA17BFBFCBF2C0ADCB05"
$"BFA6CBD9BF73CBA6BF8DCBC0BE83CAB6BCA4C8D7BD93C9C6BC46C879BB8AC7BD"
$"BBE8C81BBB80C7B3BB6DC7A0BB76C7A9BB7AC7A4BB95C7AEBB88C7A9BB95C7AE"
$"BB95C7AEBB95C7AEBC02C7D2BCE0C80EBC71C7F2BD14C81CBD7DC834BD48C828"
$"BD7DC834BD7DC834BD7DC834BE25C85ABF7BC898BECFC879C017C8B3C289C929"
$"C11FC8DAC289C929C289C929C289C929C289C929021EC306B978C306B978C306"
$"B978C306B979C306B978C305B979C303B979C304B979C303B979C303B978C303"
$"B978C0E9B978BCB5B978BECFB978BCB5B978BCB5B978BCB5B978BCB6B874BF06"
$"B756BDB0B798BF11B754BF27B750BF1CB752BF2EB74FBF3BB74DBF34B74EBF3F"
$"B74DBF47B74BBF43B74CBF4DB74BBF58B749BF53B74ABF84B744BFDEB742BFB0"
$"B742C027B742C0B1B755C06EB748C0B1B755C0B1B755C0B1B755C122B76AC1E0"
$"B7C3C189B790C1E3B7C4C1E7B7C7C1E5B7C6C1E82CC1E92CC1E92CC1EBB7C9C1"
$"EFB7CCC1EDB7CBC220B7E9C271B830C24BB80BC279B838C287B847C280B83FC2"
$"8EB84EC29BB85EC295B856C2A2B866C2AEB876C2A8B86EC2B5B880C2C3B895C2"
$"BCB88BC2C9B8A0C2D5B8B5C2D0B8ABC2D8B8BAC2DCB8C2C2DAB8BEC2E4B8D4C2"
$"F2B8F8C2ECB8E6C2F6B906C2FDB922C2FAB914C302B939C306B96AC305B951C3"
$"06B96EC306B978C306B973C306B978C306B978C306B978C306B9780205BF69BD"
$"56BF69BD56BF8FBD56BFDBBD56BFB5BD56BFDBBE3CBFDBC009BFDBBF23BFB5C0"
$"09BF69C009BF8FC009BF69BF23BF69BD56BF69BE3CBF69BD56023BBCF2BD11BC"
$"F2BD11BCF2BC66BCF2BB12BCF2BBBCBCF2BB0FBCF2BB0ABCF2BB0CBCF2BB08BC"
$"F3BB05BCF3BB06BCF3BB03BCF3BB01BCF3BB02BCF3BAFFBCF4BAFCBCF3BAFEBC"
$"F4BAFCBCF4BAFBBCF4BAFCBCF4BAF9BCF5BAF3BCF4BAF6BCF5BAF3BCF5BAF2BC"
$"F5BAF2BCF5BAF139BAF039BAF139BAEFBCF7BAEC39BAEDBCF7BAEBBCF7BAE9BC"
$"F7BAEABCF7BAE9BCF8BAE7BCF8BAE8BCF8BAE7BCF8BAE7BCF8BAE7BCF8BAE5BC"
$"F9BAE1BCF9BAE3BCFABAE0BCFBBADEBCFABADFBCFBBADEBCFBBADCBCFBBADDBC"
$"FBBADBBCFCBAD9BCFCBADABCFCBAD9BCFCBAD9BCFCBAD9BCFDBAD7BCFEBAD4BC"
$"FEBAD6BCFFBAD3BCFFBAD2BCFFBAD3BCFFBAD2BD00BAD1BD00BAD1BD01BACFBD"
$"02BACCBD01BACEBD07BAC2BD15BAB3BD0EBABABD17BAB1BD1CBAAEBD19BAAFBD"
$"1DBAADBD1EBAACBD1DBAACBD20BAABBD22BAAABD21BAAABD25BAA8BD2BBAA6BD"
$"28BAA7BD2BBAA6BD2CBAA5BD2CBAA5BD2DBAA5BD2FBAA5BD2EBAA5BD30BAA4BD"
$"30BAA4BD30BAA4BD31BAA4BD32BAA4BD31BAA4BD33BAA4BD34BAA4BD33BAA4BD"
$"35BAA4BD38BAA3BD36BAA3BD39BAA3BD3ABAA3BD39BAA3BD3CBAA3BD3FBAA4BD"
$"3EBAA3BD40BAA4BD41BAA4BD40BAA4BD42BAA4BD45BAA4BD43BAA4BD45BAA4BD"
$"45BAA5BD45BAA5BD46BAA5BD47BAA5BD46BAA5BD48BAA5BD4ABAA6BD49BAA6BD"
$"52BAA9BD5FBAB3BD59BAADBD61BAB4BD62BAB6BD61BAB5BD63BAB7BD65BAB9BD"
$"64BAB8BD6ABABFBD72BACDBD6FBAC6BD73BACFBD75BAD2BD74BAD1BD76BAD4BD"
$"77BAD6BD76BAD5BD77BAD7BD78BAD9BD77BAD8BD79BADBBD7ABADEBD79BADDBD"
$"7CBAE3BD7EBAEEBD7DBAE9BD7EBAEEBD7EBAEFBD7EBAEEBD7FBAF1BD80BAF5BD"
$"7FBAF3BD8034BD81BAFDBD80BAFABD81BAFFBD81BB04BD81BB01BD82BB05BD82"
$"BB08BD82BB06BD82BB0BBD82BB12BD82BB0EBD82BBBCBD82BD11BD82BC66BD52"
$"BD11BCF2BD11BD22BD11BCF2BD11BCF2BD11BCF2BD11BCF2BD110221BEB1BA98"
$"BEB1BA98BEB3BA98BEB6BA98BEB5BA98BEC0BA98BED2BA9DBEC9BA9ABED4BA9D"
$"BED7BA9EBED5BA9DBEE4BAA2BEFBBAB1BEF0BAA9BF01BAB6BF0ABAC0BF06BABA"
$"BF0CBAC1BF0EBAC4BF0DBAC3BF12BAC9BF17BAD2BF15BACDBF19BAD5BF1DBADC"
$"BF1BBAD9BF1EBADEBF1FBAE3BF1EBAE1BF20BAE4BF20BAE5BF20BAE5BF21BAE7"
$"BF21BAE9BF21BAE8BF24BAF2BF25BB06BF25BAFCBF25BBB0BF25BD05BF25BC5B"
$"BED7BD05BE39BD05BE88BD05BE39BC5BBE39BB06BE39BBB0BE39BB02BE3ABAFB"
$"BE39BAFFBE3ABAF9BE3BBAF5BE3ABAF7BE3BBAF4BE3BBAF1BE3BBAF3BE3CBAF0"
$"BE3DBAECBE3CBAEEBE42BAD8BE5CBAB8BE4DBAC6BE5DBAB7BE60BAB4BE5FBAB5"
$"BE62BAB3BE66BAB0BE64BAB1BE67BAAFBE69BAAEBE68BAAEBE6ABAADBE6EBAAA"
$"BE6CBAABBE6FBAA9BE72BAA8BE71BAA9BE7ABAA3BE8CBA9DBE83BA9FBE90BA9C"
$"BE97BA9ABE93BA9BBE97BA9ABE98BA9ABE98BA9ABE9CBA99BEA3BA98BE9FBA99"
$"BEA7BA98BEAFBA98BEABBA98BEB0BA98BEB1BA98BEB0BA98BEB1BA98BEB1BA98"
$"BEB1BA98BEB1BA980291C4D4C673C4D4C673C48EC546C403C2EBC449C418C403"
$"C2E8C401C2E3C402C2E6C3FCC2CCC3F1C29EC3F7C2B5C3D7C22BC3A2C1454AC1"
$"B8C3A2C144C3A1C142C3A1C143C3A1C141C3A0C13FC3A0C140C395C120C339C0"
$"D6C370C0FCC31DC0C3C2DAC09CC2FDC0B0C2AFC085C24BC058C27FC06EC212C0"
$"3FC196C013C1D5C028C100BFE2BFDBBFBEC06140BFDB40BFDBBFC2BFDBBFC1BF"
$"B5BFC2BF69BFC2BF8FBFC2BF69BEEBBF69BD3DBF69BE14BF8FBD3DBFDBBD3DBF"
$"B5BD3DBFDBBD51BFDBBD79BFDBBD65BFE5BD7ABFFBBD7ABFF0BD7AC000BD7AC0"
$"09BD7BC004BD7AC009BCCAC009BB6AC009BC1AC009BB65C009BB5BC009BB60C0"
$"09BB5BC009BB5AC009BB5AC00ABB55C00ABB4DC00ABB51C00BBB4CC00BBB4AC0"
$"0BBB4BC00BBB46C00CBB3DC00CBB42C00DBB38C00FBB2FC00EBB34C00FBB2FC0"
$"0FBB2FC00FBB2FC010BB2BC012BB24C011BB28C012BB20C014BB19C013BB1DC0"
$"17BB12C01BBB05C019BB0BC01DBB01C020BAFBC01EBAFEC02134C023BAF3C022"
$"BAF5C027BAEBC02FBADCC02BBAE3C032BAD6C039BACCC035BAD1C039BACCC039"
$"BACCC039BACCC03DBAC7C044BABDC040BAC2C045BABCC048BAB8C046BABAC04A"
$"BAB6C04EBAB1C04CBAB4C050BAAFC053BAABC052BAADC056BAA9C05BBAA4C058"
$"BAA6C05EBAA1C064BA9BC061BA9EC06BBA95C07BBA8AC073BA8FC07DBA88C082"
$"BA85C080BA87C086BA83C08EBA7EC08ABA80C090BA7DC093BA7BC091BA7CC0A3"
$"BA73C0C6BA68C0B5BA6DC0C8BA68C0CCBA67C0CABA68C0CEBA67C0D2BA66C0D0"
$"BA66C0D3BA66C0D7BA65C0D5BA65C0DABA65C0E1BA64C0DDBA64C0E4BA64C0EC"
$"BA63C0E8BA63C0ECBA63C0EDBA63C0EDBA63C0F1BA63C0F9BA63C0F5BA63C0FD"
$"BA63C105BA63C101BA63C107BA63C10ABA63C108BA63C10DBA63C112BA64C10F"
$"BA64C115BA64C11BBA65C118BA65C11FBA66C125BA67C122BA66C126BA67C127"
$"BA67C126BA67C129BA68C12DBA69C12BBA68C130BA69C134BA6BC132BA6AC135"
$"BA6BC137BA6BC136BA6BC139BA6CC13FBA6EC13CBA6DC140BA6EC143BA6FC142"
$"BA6FC145BA70C149BA72C147BA71C14BBA72C14EBA74C14DBA73C151BA7544BA"
$"78C155BA76C15ABA79C160BA7CC15DBA7AC161BA7CC162BA7DC161BA7CC165BA"
$"7FC16BBA82C168BA80C175BA88C189BA97C17FBA8FC18CBA99C192BA9FC18FBA"
$"9CC195BAA1C19ABAA6C197BAA4C19DBAAAC1A3BAB0C1A0BAADC1A6BAB3C1ABBA"
$"B9C1A8BAB6C1ADBABCC1B2BAC2C1B0BABFC1B5BAC6C1B9BACCC1B7BAC9C1BCBA"
$"D0C1C1BAD8C1BFBAD4C1C3BADBC1C6BAE1C1C5BADEC1CABAE8C1D1BAF7C1CEBA"
$"EFC1D3BAFBC1D7BB04C1D5BB00C1D8BB07C1D9BB0CC1D9BB0AC1DBBB10C1DDBB"
$"19C1DCBB15C1DEBB1BC1E0BB20C1DFBB1EC1E0BB22C1E1BB24C1E0BB23C1E1BB"
$"27C1E2BB2CC1E2BB2AC1E2BB2CC1E3BB2DC1E2BB2CC1E3BB2DC1E3BB2FC1E3BB"
$"2EC1E3BB2FC1E3BB2FC1E3BB2FC1E3BB2FC1E3BB2FC1E3BB2FC1E4BB34C1E6BB"
$"3DC1E5BB38C1E6BB42C1E7BB4AC1E7BB46C1E7BB4BC1E8BB4DC1E8BB4CC1E8BB"
$"51C1E9BB5AC1E8BB55C1E9BB5AC1E9BB5BC1E9BB5BC1E9BB60C1E9BB6AC1E9BB"
$"65C1E9BC2CC1E9BDAFC1E9BCEDC1E9BDAFC1E9BDAFC1E9BDAFC1F6BDB1C20FBD"
$"B6C203BDB4C217BDB8C228BDBBC220BDBAC22FBDBDC23BBDBFC235BDBEC2453B"
$"C25ABDC6C250BDC4C263BDC8C276BDCDC26DBDCBC278BDCDC27DBDCFC27BBDCE"
$"C29ABDD6C2D3BDE5C2B7BDDDC2DDBDE8C2F1BDEEC2E7BDEBC2F7BDEFC303BDF3"
$"C2FDBDF1C303BDA4C303BD06C303BD5548BD06C2C8BD06C2DCBD06C2C8BC5BC2"
$"C8BB06C2C8BBB1C2C8BAFFC2C9BAF0C2C9BAF7C2C9BAEDC2CABAE6C2CABAE9C2"
$"CBBAE3C2CBBADDC2CBBAE0C2CCBADAC2CDBAD4C2CCBAD7C2CDBAD2C2CEBACCC2"
$"CEBACFC2CFBAC9C2D1BAC2C2D0BAC5C2D2BAC0C2D3BABCC2D2BABEC2D3BABCC2"
$"D3BABCC2D3BABCC2D6BAB3C2DDBAA7C2D9BAACC2DDBAA6C2DEBAA4C2DEBAA5C2"
$"DFBAA3C2E0BAA2C2DFBAA2C2E5BA9B48BA98C2EABA98C2F7BA98C303BAA5C2FD"
$"BA9DC303BA79C303BA20C303BA4CC0E8BA20BCB2BA20BECDBA20BCB2BB9CBCB2"
$"BE95BCB2BD19BC9ABEFEBC69BFD1BC82BF68BC40C086BBECC1F0BC16C13BBBE8"
$"C203BBDFC229BBE3C216BBD6C24DBBC6C297BBCEC272BBA3C32EBB5DC45CBB80"
$"C3C5BB54C482BB42C4CFBB4BC4A9BB42C4CFBB42C4CFBB42C4CFBB5FC4D9BB9A"
$"C4ECBB7CC4E2BBBDC4F7BC06C50CBBE1C501BC97C535BDCCC57CBD2FC55ABDCC"
$"C57CBDCCC57DBDCCC57CBE5BC59CBF82C5D6BEEDC5B9C071C604C256C666C165"
$"C632C2F8C689C435C6DAC398C6AFC444C6DEC461C6E6C452C6E2C47DC6EEC4B4"
$"C6FEC498C6F6C4C5C6EDC4E8C6CAC4D7C6DBC4E1C6ADC4D4C673C4DBC690C4D4"
$"C673C4D4C673C4D4C673C4D4C673021AC2D7B92DC2D7B92DC2D7B92EC2D6B92F"
$"C2D6B92EC2D6B92FC2D6B92FC2D6B92FC2CBB941C2A6B957C2BBB94EC295B95F"
$"C268B967C280B964C23DB96BC1D1B957C209B966C1BFB953C19AB947C1ADB94D"
$"C19AB947C19AB947C19AB947C16DB937C10EB907C13DB922C10EB907C10EB907"
$"C10EB907C10DB906C10CB905C10CB906C042B893BFFEB78FBFCAB7EBC007B780"
$"C022B76BC013B774C02EB764C04BB75AC03CB75EC04BB75AC04BB75AC04BB75A"
$"C04EB75AC055B758C052B759C060B756C07AB754C06DB754C07AB754C07BB754"
$"C07AB75442B753C0B1B755C09EB753C0B1B755C0B1B755C0B1B755C103B75DC1"
$"CAB7B6C167B77EC1D2B7BAC1E0B7C3C1D9B7BEC1E3B7C4C1E7B7C7C1E5B7C6C1"
$"E82CC1E92CC1E92CC29FB83AC2D7B92DC309B8D5C2D7B92DC2D7B92DC2D7B92D"
$"C2D7B92D0606FF07C539BFAFC539BFAFC539C037C539C147C539C0BFC4BBC084"
$"C23EBFB5C2C3BFC9C23EBFB5C280BDF9C20BBDE6C316BE13C539BFAFC540BED7"
$"C539BFAFBFAF0605EF01C2DEB957C2DEB957C2D5B8E5BFF2B758C1F9B74FC0A5"
$"B779C127B957C2DEB957C290B957C2DEB957B9570606FF07C49DC6AAC49DC6AA"
$"C438C4E2C36EC152C3D3C31AC317C0D840C03444C03BBFC7C14EC00EC580C00E"
$"C580C193C5E3C49DC6AAC318C647C49DC6AAC6AA0206C431C72BC431C72BC431"
$"C76FC431C7F8C431C7B4C3F1C842C371C8D6C3B1C88CC2DFC8B7C1BAC877C24C"
$"C89745C7D7C1C6C696C1C2C737C294C6C8C431C72BC363C6F9C431C72B020CC3"
$"79B9CCC379B9CCC379B9F7C329BA19C355BA19C0F0BA19BC80BA19BEB8BA19BC"
$"53BA19BC2FB9CCBC2FB9F7BC2FB9A2BC80B97FBC53B97FBC9AB97FBCCDB97FBC"
$"B3B97FBCCDB97FBCCDB97FBCCDB97FBED6B97FC2E8B97FC0DFB97FC2E8B97FC2"
$"E8B97FC2E8B97FC2FEB97FC329B97FC313B97FC355B97FC379B9CCC379B9A2C3"
$"79B9CCC379B9CCC379B9CCC379B9CC020BC2D3BA53C2D3BA53C2D3BA76C2D3BA"
$"BCC2D3BA99C2CCBACFC2C8BB06C2C8BAEAC2C8BBB1C2C8BD06C2C8BC5CC2CCBD"
$"06C2D3BD06C2CFBD06C2D3BD51C2D3BDE6C2D3BD9BC2B7BDDEC27DBDCFC29ABD"
$"D6C24DBDC4C1E9BDAFC21CBDB9C1E938C1E9BA53C1E9BB72C237BA53C2D3BA53"
$"C285BA53C2D3BA53C2D3BA53C2D3BA53C2D3BA530605EF01C55AC1DBC55AC1DB"
$"C55AC1DBC55BC1DBC55AC1DBC55BC1DBC55AC1DBC55AC1DBC55AC1DBC55AC1DB"
$"C1DB0605BE01C55AC1DBC55AC1DBC55AC1DBC55AC1DBC55BC1DBC55AC1DBC55B"
$"C1DBC55AC1DBC1DB0247BFBFB476BFBFB476BBE7B84EB436BFFFB80FBC26B602"
$"C1CAB999C561B7CDC396B999C4CCB999C3A2B999C437B999C3A1B999C39FB999"
$"C3A0B999C39FB999C39EB999C39FB99EC31BBBECC1F0BAB3C270BC16C13BBC69"
$"BFD1BC40C086BC82BF68BCB2BE95BC9ABEFEBCB2BD19BCB2BA20BCB2BB9CBC98"
$"BA20BC63BA20BC7DBA20BC51BA20BC34BA12BC41BA1BBC2FBA0FBC27BA07BC2B"
$"BA0BBC18B9F8BC0FB9CCBC0FB9E3BC0FB99EBC63B978BC34B978BC7DB978BCB2"
$"B978BC98B978BCB2B978BCB2B978BCB2B978BCB2B8FFBD44B833BCE8B88FBD6D"
$"B80ABDD4B7C5BD9EB7E5BDE2B7BDBDFFB7AEBDF0B7B6BE1BB7A0BE59B786BE3A"
$"B792BE59B786BE59B786BE59B786BE65B782BE7CB77ABE70B77EBEA8B76BBF06"
$"B756BED6B75FBF11B754BF27B750BF1CB752BF2EB74FBF3BB74DBF34B74EBF3F"
$"B74DBF47B74BBF43B74CBF4DB74BBF58B749BF53B74ABF84B744BFDEB742BFB0"
$"B742C027B742C0B1B755C06EB748C0B1B755C0B1B755C0B1B755C103B75DC1CA"
$"B7B6C167B77EC1D2B7BAC1E0B7C3C1D9B7BEC1E3B7C4C1E7B7C7C1E5B7C6C1E8"
$"2CC1E92CC1E92CC1EBB7C9C1EFB7CCC1EDB7CBC220B7E9C271B830C24BB80BC2"
$"79B838C287B847C280B83FC28EB84EC29BB85EC295B856C2A2B866C2AEB876C2"
$"A8B86EC2B5B880C2C3B895C2BCB88BC2C9B8A0C2D5B8B5C2D0B8ABC2D8B8BAC2"
$"DCB8C2C2DAB8BEC2E4B8D4C2F2B8F8C2ECB8E6C2F6B906C2FDB922C2FAB914C3"
$"02B939C306B96AC305B951C306B96EC306B978C306B973C306B978C306B978C3"
$"06B978C31CB978C346B978C331B978C374B978C39AB9CCC39AB99EC39AB9E3C3"
$"81BA07C390B9F8C37FBA09C37BBA0DC37DBA0BC37BBA0DC37BBA0DC37BBA0DC3"
$"78BA0FC371BA14C375BA12C36FBA15C36ABA18C36DBA17C368BA19C363BA1BC3"
$"65BA1AC363BA1BC363BA1BC363BA1BC35ABA1EC346BA20C350BA20C330BA20C3"
$"03BA20C319BA20C303BB66C303BDF3C303BCADC46ABE5FC55ABFA7C55ABF04C5"
$"5AC058C55AC1B9C55AC108C55AC1B9C55AC1B9C55AC1B9C55AC1B9C55AC1B9C5"
$"5AC1B9C55AC211C3F1C29EC4C9C276C3F7C2B5C401C2E3C3FCC2CCC402C2E6C4"
$"03C2EBC403C2E8C449C418C4D4C673C48EC546C6FBC44CCB49BFFFC922C226C7"
$"70BC26BFBFB476C398B84EBFBFB476BFBFB476BFBFB476BFBFB4760605EF01C5"
$"5AC1DBC55AC1DBC55AC1DBC55BC1DBC55AC1DBC55BC1DBC55AC1DBC55AC1DBC5"
$"5AC1DBC55AC1DBC1DB0211C4B4C694C4B4C694C493C6B4C452C6F5C473C6D5C4"
$"4FC6F8C449C6FEC44CC6FBC2C6C881BFBFCB88C143CA05BFA6CB6EBF73CB3BBF"
$"8DCB55BE83CA4CBCA4C86CBD93C95CBC46C80EBB8A53BBE8C7B0BB68C730BB24"
$"C6EDBB46C70EBB24C6EDBB2452BB24C6EDBB04C6CCBAC3C68BBAE3C6ACBA60C6"
$"28B99AC562B9FDC5C5B7CEC396B436BFFFB602C1CAB436BFFFB436BFFFB436BF"
$"FFB80FBC26BFBFB476BBE7B84EC398B84ECB49BFFFC770BC26C917C230C4B4C6"
$"94C6E5C462C4B4C694C4B4C694C4B4C694C4B4C6940609FFFF01BFBFB37EBFBF"
$"B37EBB95B7A9B33FBFFFB76ABBD4B76AC42ABFBF60BB95C855C0CDCB72C2E9C9"
$"56C1DBCA64C318C927C377C8C8C348C8F8C3BAC885C43FC800C3FDC842C6EAC5"
$"55CC40BFFFC995C2AAC815BBD4BFBFB37EC3EAB7A9BFBFB37EB37E0608FF7FC0"
$"09B33BC009B33BC009B493C009B743C009B5EBC004B742BFF9B742BFFFB742BF"
$"EFB742BFDCB741BFE6B741BFCAB741BFA8B743BFB9B742BFA8B5EBBFA8B33BBF"
$"A8B493BFC8B33BC009B33BBFE9B33BC009B33BB33B0205BFA7B38ABFA7B38ABF"
$"C8B38AC009B38ABFE9B38AC009B3BCC009B41FC009B3EEBFE9B41FBFA7B41FBF"
$"C8B41FBFA7B3EEBFA7B38ABFA7B3BCBFA7B38A0606FF07C02AB351C02AB351C0"
$"2AB37EBFD8B3A2C005B3A2BFACB3A2BF87B351BF87B37EBF87B324BFD820BFAC"
$"20C00520C02AB351C02AB324C02AB351B3510606FF07C02AB351C02AB351C02A"
$"B37EBFD8B3A2C005B3A2BFACB3A2BF87B351BF87B37EBF87B324BFD820BFAC20"
$"C00520C02AB351C02AB324C02AB351B3510605BF01C023B343C023B343C01EB3"
$"1DBFB9B30BBFE9B2F4BFE1B31ABFFAB35DBFFBB34BC00EB35BC023B343B34302"
$"07C009B3B9C009B3B9BFE9B3C7BFA7B3E3BFC8B3D5BFA7B49FBFA7B617BFA7B5"
$"5BBFC8B604C009B5DDBFE9B5F1C01FB5D8C04AB5CEC035B5D3C049B521C045B3"
$"C7C047B474C031B3C2C009B3B9C01DB3BEC009B3B90204C009B3B9C009B3B9C1"
$"B7B415C511B4CBC364B470C364B526C009B5DDC1B7B581C009B526C009B3B9C0"
$"09B470C009B3B90205BFDCB5DDBFDCB5DDBFE8B5DFC001B5E3BFF4B5E1C001B6"
$"55C001B73AC001B6C7BFF4B739BFDCB738BFE8B738BFDCB6C4BFDCB5DDBFDCB6"
$"51BFDCB5DD420A000100000A010101000A020102000A030103000A040104000A"
$"050105000A060106000A070107000A080108000A090109000A0A010A000A0B01"
$"0B000A0C010C000A0B010D000A0D010E000A0E010F000A0F0110000A10011100"
$"0A110112000A120113000A130114000A140115000A150116000A160117000A17"
$"0118000A180119000A18011A000A19011B000A1A011C000A1B011D000A0B011E"
$"000A1C011F000A0B0120000A1D0121000A0B0122000A0A0123000A0A0124000A"
$"0A0125000A1E0126000A1F0127000A200128000A2103292A2B000A22012C000A"
$"23012D000A24012E000A25012F000A2603303132000A270133000A280134000A"
$"290135000A2A0136000A2B0137000A2C0138000A2D0139000A2E013A000A2F02"
$"3B3C000A30013D000A31023E3F000A320140000A330141000A340142000A3501"
$"43000A360144000A370145000A380146000A39014700"
};

View File

@@ -0,0 +1,127 @@
SUMMARY="Open source re-implementation of RollerCoaster Tycoon 2"
DESCRIPTION="OpenRCT2 is an open-source re-implementation of RollerCoaster Tycoon 2 by Chris Sawyer.
The gameplay revolves around building and maintaining an amusement park containing attractions, shops and facilities.
OpenRCT2 requires the original files from RollerCoaster Tycoon 2 in order to play.
If you have the original RollerCoaster Tycoon and its expansion packs, you can point \
OpenRCT2 to these in order to play the original scenarios.
Multithreaded rendering is disabled by default as it crashes on Haiku in certain maps and title sequences."
HOMEPAGE="https://openrct2.io/"
COPYRIGHT="2015-2025 OpenRCT2 team"
LICENSE="GNU GPL v3"
REVISION="1"
SOURCE_URI="https://github.com/OpenRCT2/OpenRCT2/archive/refs/tags/v$portVersion.tar.gz"
CHECKSUM_SHA256="88492fb962236b8a23794620f7b075aac01674676385d68dca650b7f9664fcc0"
SOURCE_DIR="OpenRCT2-$portVersion"
SOURCE_URI_2="https://github.com/OpenRCT2/title-sequences/releases/download/v0.4.26/title-sequences.zip"
CHECKSUM_SHA256_2="dabb9787b1576342fca4dd9f64b3f8cfa04a7e6ce9c2bb9610f47b762905c858"
SOURCE_URI_3="https://github.com/OpenRCT2/objects/releases/download/v1.7.5/objects.zip"
CHECKSUM_SHA256_3="c8b9d3039a920f67caf15b09e8312cc4f80d59ed7fe0288625b9ccedef606797"
SOURCE_URI_4="https://github.com/OpenRCT2/OpenSoundEffects/releases/download/v1.0.6/opensound.zip"
CHECKSUM_SHA256_4="06b90f3e19c216752df441d551b26a9e3e1ba7755bdd2102504b73bf993608be"
SOURCE_URI_5="https://github.com/OpenRCT2/OpenMusic/releases/download/v1.6.1/openmusic.zip"
CHECKSUM_SHA256_5="994b350d3b180ee1cb9619fe27f7ebae3a1a5232840c4bd47a89f33fa89de1a1"
PATCHES="openrct2-$portVersion.patchset"
ADDITIONAL_FILES="openrct2.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
openrct2$secondaryArchSuffix = $portVersion
cmd:openrct2
cmd:openrct2_cli
lib:libopenrct2$secondaryArchSuffix
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libcurl$secondaryArchSuffix
lib:libflac$secondaryArchSuffix
lib:libfontconfig$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libicuuc$secondaryArchSuffix
lib:libogg$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libSDL2_2.0$secondaryArchSuffix
lib:libspeexdsp$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libvorbisfile$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libzip$secondaryArchSuffix
lib:libzstd$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
nlohmann_json$secondaryArchSuffix
devel:libcurl$secondaryArchSuffix
devel:libflac$secondaryArchSuffix
devel:libfontconfig$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libGL$secondaryArchSuffix
devel:libogg$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libpsl$secondaryArchSuffix
devel:libSDL2_2.0$secondaryArchSuffix
devel:libspeexdsp$secondaryArchSuffix
devel:libssh2$secondaryArchSuffix
devel:libssl$secondaryArchSuffix
devel:libvorbisfile$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:libzip$secondaryArchSuffix
devel:libzstd$secondaryArchSuffix
"
BUILD_PREREQUIRES="
#cmd:ccache # Optional, to enable ccache during build
#cmd:clang >= 19 # Needed to build with clang, 12 is too old, 19 is known to work
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
export CXXFLAGS="-D_DEFAULT_SOURCE -D_BSD_SOURCE" LDFLAGS="-lbsd -lnetwork"
# Setup game assets
mkdir -p $sourceDir/data/sequence && cp -r $sourceDir2/* $sourceDir/data/sequence
mkdir -p $sourceDir/data/object && cp -r $sourceDir3/* $sourceDir/data/object
cp -rt $sourceDir/data $sourceDir4/* $sourceDir5/*
# Add "-DCMAKE_CXX_COMPILER=clang++" to build with clang
# korli suggests adding "-DDISABLE_OPENGL=1" to disable OpenGL-related
# linker warnings when using gcc (OpenGL renderer is experimental anyway)
cmake -Bbuild -S. $cmakeDirArgs \
-DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON
make -C build $jobArgs
}
INSTALL()
{
# Needed to generate g2.dat
make -C build install
# Generate the rdef
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/openrct2.rdef.in > openrct2.rdef
addResourcesToBinaries openrct2.rdef $prefix/bin/openrct2
# Make the app name uppercase
mkdir -p $appsDir && mv $prefix/bin/openrct2 $appsDir/OpenRCT2
# Then link it back in lowercase for cmdline and to have man make sense
ln -s $appsDir/OpenRCT2 $prefix/bin/openrct2
addAppDeskbarSymlink $appsDir/OpenRCT2
}

View File

@@ -0,0 +1,378 @@
From f710637402541c59f0c90a1d4882374cb9c16050 Mon Sep 17 00:00:00 2001
From: Peppersawce <michaelpeppers89@yahoo.it>
Date: Tue, 25 Nov 2025 15:16:58 +0100
Subject: Haiku patches
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9a8e0c8..234c3e3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -368,7 +368,7 @@ else ()
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
endif ()
- if (APPLE AND NOT USE_MMAP)
+ if (HAIKU OR (APPLE AND NOT USE_MMAP))
set(CMAKE_POSITION_INDEPENDENT_CODE OFF)
else ()
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
diff --git a/src/openrct2-ui/CMakeLists.txt b/src/openrct2-ui/CMakeLists.txt
index cd3e3cc..d46972e 100644
--- a/src/openrct2-ui/CMakeLists.txt
+++ b/src/openrct2-ui/CMakeLists.txt
@@ -38,7 +38,7 @@ endif ()
if (NOT DISABLE_OPENGL AND NOT EMSCRIPTEN)
# GL doesn't work nicely with macOS, while find_package doesn't work with multiarch on Ubuntu.
- if (APPLE)
+ if (APPLE OR HAIKU)
find_package(OpenGL REQUIRED)
elseif (NOT WIN32)
PKG_CHECK_MODULES(GL REQUIRED gl)
@@ -100,7 +100,7 @@ endif ()
if (NOT DISABLE_OPENGL)
if (WIN32)
target_link_libraries(openrct2 opengl32)
- elseif (APPLE)
+ elseif (APPLE OR HAIKU)
target_link_libraries(openrct2 ${OPENGL_LIBRARY})
else ()
target_link_libraries(openrct2 ${GL_LIBRARIES})
diff --git a/src/openrct2-ui/UiContext.Linux.cpp b/src/openrct2-ui/UiContext.Linux.cpp
index 7b2978d..cb785aa 100644
--- a/src/openrct2-ui/UiContext.Linux.cpp
+++ b/src/openrct2-ui/UiContext.Linux.cpp
@@ -129,14 +129,14 @@ namespace OpenRCT2::Ui
void OpenFolder(const std::string& path) override
{
- const char* args[] = { "xdg-open", path.c_str(), nullptr };
+ const char* args[] = { "open", path.c_str(), nullptr };
Platform::Execute(args);
}
void OpenURL(const std::string& url) override
{
#ifndef __EMSCRIPTEN__
- const char* args[] = { "xdg-open", url.c_str(), nullptr };
+ const char* args[] = { "open", url.c_str(), nullptr };
Platform::Execute(args);
#else
MAIN_THREAD_EM_ASM({ window.open(UTF8ToString($0)); }, url.c_str());
diff --git a/src/openrct2/CMakeLists.txt b/src/openrct2/CMakeLists.txt
index f314c9c..e74c6be 100644
--- a/src/openrct2/CMakeLists.txt
+++ b/src/openrct2/CMakeLists.txt
@@ -180,7 +180,7 @@ if (MINGW)
target_link_libraries(libopenrct2 -fstack-protector-strong)
endif()
-if (UNIX AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "BSD")
+if (UNIX AND NOT HAIKU AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "BSD")
# Include libdl for dlopen
target_link_libraries(libopenrct2 dl)
endif ()
diff --git a/src/openrct2/Context.cpp b/src/openrct2/Context.cpp
index 78867e2..a7b9229 100644
--- a/src/openrct2/Context.cpp
+++ b/src/openrct2/Context.cpp
@@ -479,7 +479,7 @@ namespace OpenRCT2
_discordService = std::make_unique<Network::DiscordService>();
}
#endif
-
+#ifndef __HAIKU__
if (Platform::ProcessIsElevated())
{
std::string elevationWarning = _localisationService->GetString(STR_ADMIN_NOT_RECOMMENDED);
@@ -492,6 +492,7 @@ namespace OpenRCT2
_uiContext->ShowMessageBox(elevationWarning);
}
}
+#endif
if (Platform::IsRunningInWine())
{
diff --git a/src/openrct2/Version.h b/src/openrct2/Version.h
index 1467479..bccdc0c 100644
--- a/src/openrct2/Version.h
+++ b/src/openrct2/Version.h
@@ -72,6 +72,9 @@
#ifdef __EMSCRIPTEN__
#define OPENRCT2_PLATFORM "Emscripten"
#endif
+#ifdef __HAIKU__
+ #define OPENRCT2_PLATFORM "Haiku"
+#endif
#ifndef OPENRCT2_PLATFORM
#error Unknown platform!
#endif
diff --git a/src/openrct2/audio/Audio.cpp b/src/openrct2/audio/Audio.cpp
index a12c789..d74d808 100644
--- a/src/openrct2/audio/Audio.cpp
+++ b/src/openrct2/audio/Audio.cpp
@@ -128,7 +128,7 @@ namespace OpenRCT2::Audio
}
}
-#ifndef __linux__
+#if not defined(__linux__) && not defined(__HAIKU__)
// The first device is always system default on Windows and macOS
std::string defaultDevice = LanguageGetString(STR_OPTIONS_SOUND_VALUE_DEFAULT);
devices.insert(devices.begin(), defaultDevice);
diff --git a/src/openrct2/core/FileScanner.cpp b/src/openrct2/core/FileScanner.cpp
index 74a3d54..f9afe7e 100644
--- a/src/openrct2/core/FileScanner.cpp
+++ b/src/openrct2/core/FileScanner.cpp
@@ -12,7 +12,7 @@
#define WIN32_LEAN_AND_MEAN
#endif
#include <windows.h>
-#elif defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
+#elif defined(__unix__) || defined(__HAIKU__) || (defined(__APPLE__) && defined(__MACH__))
#include <dirent.h>
#include <sys/stat.h>
#include <sys/types.h>
@@ -251,7 +251,7 @@ private:
#endif // _WIN32
-#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
+#if defined(__unix__) || defined(__HAIKU__) || (defined(__APPLE__) && defined(__MACH__))
class FileScannerUnix final : public FileScannerBase
{
@@ -290,7 +290,9 @@ private:
{
DirectoryChild result;
result.Name = std::string(node->d_name);
- if (node->d_type == DT_DIR)
+ struct stat stbuf;
+ stat(node->d_name, &stbuf);
+ if (S_ISDIR(stbuf.st_mode))
{
result.Type = DirectoryChildType::directory;
}
@@ -324,7 +326,7 @@ std::unique_ptr<IFileScanner> Path::ScanDirectory(const std::string& pattern, bo
{
#ifdef _WIN32
return std::make_unique<FileScannerWindows>(pattern, recurse);
-#elif defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
+#elif defined(__unix__) || defined(__HAIKU__) || (defined(__APPLE__) && defined(__MACH__))
return std::make_unique<FileScannerUnix>(pattern, recurse);
#endif
}
diff --git a/src/openrct2/core/String.cpp b/src/openrct2/core/String.cpp
index 10218ef..f7be97c 100644
--- a/src/openrct2/core/String.cpp
+++ b/src/openrct2/core/String.cpp
@@ -38,7 +38,7 @@
#include "StringBuilder.h"
#include "UTF8.h"
-#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
+#if defined(__unix__) || defined(__HAIKU__) || (defined(__APPLE__) && defined(__MACH__))
#include <strings.h>
#define _stricmp(x, y) strcasecmp((x), (y))
#endif
diff --git a/src/openrct2/network/Socket.cpp b/src/openrct2/network/Socket.cpp
index 73e2447..c2f26df 100644
--- a/src/openrct2/network/Socket.cpp
+++ b/src/openrct2/network/Socket.cpp
@@ -74,6 +74,10 @@
#endif // _WIN32
// clang-format on
+#ifdef __HAIKU__
+ #include <sys/sockio.h>
+#endif
+
#include "Socket.h"
namespace OpenRCT2::Network
diff --git a/src/openrct2/platform/Platform.Linux.cpp b/src/openrct2/platform/Platform.Linux.cpp
index 28ab833..cbf10a3 100644
--- a/src/openrct2/platform/Platform.Linux.cpp
+++ b/src/openrct2/platform/Platform.Linux.cpp
@@ -38,6 +38,10 @@
#include "../localisation/Language.h"
#include "Platform.h"
+ #ifdef __HAIKU__
+ #include <image.h>
+ #endif
+
namespace OpenRCT2::Platform
{
// EnvLangGuard allows us to temporarily set the user's locale
@@ -150,8 +154,8 @@ namespace OpenRCT2::Platform
};
static constexpr u8string_view SearchLocations[] = {
"/data",
- "../share/openrct2",
- "/usr/local/share/openrct2",
+ "/boot/system/data/openrct2",
+ "/boot/home/config/data/openrct2",
"/var/lib/openrct2",
"/usr/share/openrct2",
};
@@ -180,6 +184,16 @@ namespace OpenRCT2::Platform
{
LOG_FATAL("failed to read /proc/self/exe");
}
+ #elif defined(__HAIKU__)
+ image_info info;
+ int32 cookie = 0;
+
+ while (get_next_image_info(B_CURRENT_TEAM, &cookie, &info) >= B_OK) {
+ if (info.type == B_APP_IMAGE) {
+ strlcpy(exePath, info.name, sizeof(exePath));
+ break;
+ }
+ }
#elif defined(__FreeBSD__) || defined(__NetBSD__)
#if defined(__FreeBSD__)
const int32_t mib[] = {
--
2.52.0
From e355dd5da70c07362e52a4cdbd4f87aaced01aee Mon Sep 17 00:00:00 2001
From: Jérome Duval <jerome.duval@gmail.com>
Date: Tue, 23 Dec 2025 11:58:37 +0100
Subject: Haiku patch for gcc
diff --git a/src/openrct2-ui/UiContext.Linux.cpp b/src/openrct2-ui/UiContext.Linux.cpp
index cb785aa..12513c6 100644
--- a/src/openrct2-ui/UiContext.Linux.cpp
+++ b/src/openrct2-ui/UiContext.Linux.cpp
@@ -7,7 +7,7 @@
* OpenRCT2 is licensed under the GNU General Public License version 3.
*****************************************************************************/
-#if (defined(__unix__) || defined(__EMSCRIPTEN__)) && !defined(__ANDROID__) && !defined(__APPLE__)
+#if (defined(__unix__) || defined(__HAIKU__) || defined(__EMSCRIPTEN__)) && !defined(__ANDROID__) && !defined(__APPLE__)
#include "UiContext.h"
diff --git a/src/openrct2/core/Range.hpp b/src/openrct2/core/Range.hpp
index 49adfd9..f055e10 100644
--- a/src/openrct2/core/Range.hpp
+++ b/src/openrct2/core/Range.hpp
@@ -29,6 +29,10 @@ struct Range
T Change{};
private:
+ #if defined(__GNUC__) && !defined(__clang__)
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
+ #endif
Iterator(const Range& range, T initialValue)
: Lower(range.Lower)
, Upper(range.Upper)
@@ -36,6 +40,9 @@ struct Range
, Change(range.Upper >= range.Lower ? 1 : -1)
{
}
+ #if defined(__GNUC__) && !defined(__clang__)
+ #pragma GCC diagnostic pop
+ #endif
public:
Iterator& operator++()
diff --git a/src/openrct2/platform/Platform.Linux.cpp b/src/openrct2/platform/Platform.Linux.cpp
index cbf10a3..c057f30 100644
--- a/src/openrct2/platform/Platform.Linux.cpp
+++ b/src/openrct2/platform/Platform.Linux.cpp
@@ -7,7 +7,7 @@
* OpenRCT2 is licensed under the GNU General Public License version 3.
*****************************************************************************/
-#if defined(__unix__) && !defined(__ANDROID__) && !defined(__APPLE__) && !defined(__EMSCRIPTEN__)
+#if (defined(__unix__) || defined(__HAIKU__)) && !defined(__ANDROID__) && !defined(__APPLE__) && !defined(__EMSCRIPTEN__)
#include "../Diagnostic.h"
diff --git a/src/openrct2/platform/Platform.Posix.cpp b/src/openrct2/platform/Platform.Posix.cpp
index 5329756..f8dee1e 100644
--- a/src/openrct2/platform/Platform.Posix.cpp
+++ b/src/openrct2/platform/Platform.Posix.cpp
@@ -7,7 +7,7 @@
* OpenRCT2 is licensed under the GNU General Public License version 3.
*****************************************************************************/
-#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) || defined(__FreeBSD__) || defined(__NetBSD__)
+#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__HAIKU__)
#include "Platform.h"
diff --git a/src/openrct2/platform/Platform.h b/src/openrct2/platform/Platform.h
index 00603ad..9b003ca 100644
--- a/src/openrct2/platform/Platform.h
+++ b/src/openrct2/platform/Platform.h
@@ -102,7 +102,7 @@ namespace OpenRCT2::Platform
std::string GetUsername();
std::string GetSteamPath();
-#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) || defined(__FreeBSD__) || defined(__NetBSD__)
+#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__HAIKU__)
std::string GetEnvironmentPath(const char* name);
std::string GetHomePath();
#endif
--
2.52.0
From 936cfa6bf2731701fb85bf71784da4cb3dfe13ef Mon Sep 17 00:00:00 2001
From: Peppersawce <michaelpeppers89@yahoo.it>
Date: Tue, 23 Dec 2025 14:58:19 +0100
Subject: Disable installing linux desktop files
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 234c3e3..47e9f57 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -517,6 +517,7 @@ if (NOT MACOS_BUNDLE OR (MACOS_BUNDLE AND WITH_TESTS))
endif()
install(TARGETS "openrct2-cli" OPTIONAL RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
install(FILES ${DOC_FILES} DESTINATION "${CMAKE_INSTALL_DOCDIR}")
+ if (NOT HAIKU)
install(FILES "distribution/linux/io.openrct2.openrct2.appdata.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo")
if (NOT DISABLE_GUI)
install(FILES "resources/logo/icon_x16.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps" RENAME "openrct2.png")
@@ -534,6 +535,7 @@ if (NOT MACOS_BUNDLE OR (MACOS_BUNDLE AND WITH_TESTS))
install(FILES "distribution/linux/io.openrct2.uri.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications")
endif()
install(FILES "distribution/linux/io.openrct2.mimeinfo.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/mime/packages/" RENAME "openrct2.xml")
+ endif()
install(DIRECTORY "distribution/man/" DESTINATION "${CMAKE_INSTALL_MANDIR}/man6" FILES_MATCHING PATTERN "*.6")
if (MACOS_USE_DEPENDENCIES)
--
2.52.0
From b726196c72e9fc298607fb4f72cc180055062632 Mon Sep 17 00:00:00 2001
From: Peppersawce <michaelpeppers89@yahoo.it>
Date: Wed, 24 Dec 2025 14:51:59 +0100
Subject: Disable multi-threading by default
diff --git a/src/openrct2/config/Config.cpp b/src/openrct2/config/Config.cpp
index a2fa8d8..1d482b9 100644
--- a/src/openrct2/config/Config.cpp
+++ b/src/openrct2/config/Config.cpp
@@ -226,7 +226,7 @@ namespace OpenRCT2::Config
// Always have multi-threading disabled in debug builds, this makes things slower.
model->multiThreading = false;
#else
- model->multiThreading = reader->GetBoolean("multithreading", true);
+ model->multiThreading = reader->GetBoolean("multithreading", false);
#endif // _DEBUG
model->trapCursor = reader->GetBoolean("trap_cursor", false);
model->autoOpenShops = reader->GetBoolean("auto_open_shops", false);
--
2.52.0