diff --git a/js/meshopt_simplifier.js b/js/meshopt_simplifier.js index ee81ff581..61cbc6770 100644 --- a/js/meshopt_simplifier.js +++ b/js/meshopt_simplifier.js @@ -5,7 +5,7 @@ var MeshoptSimplifier = (function() { // Built with clang version 16.0.0 // Built from meshoptimizer 0.19 - var wasm = "b9H79Tebbbe9xk9Geueu9Geub9Gbb9Gquuuuuuu99uueu9GPuuuuuuuuu99uuuueu9Gvuuuuub9Gluuuub9Gduub9Giuuue999Gluuuueu9GiuuueuisPdilvorwDbqqbeqlve9Weiiviebeoweuecj;jekrNero9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bbz9TW79O9V9Wt9F79P9T9W29P9M95be8E9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9OcttV9P9I91tW7bdX9TW79O9V9Wt9F79P9T9W29P9M959t9J9H2Wboa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9Wbrl79IV9RbwDwebcekdkxq;d9mPdbk8KbabaeadaialavcbcbaoarawaDcbcbz:cjjjbk:183iKuY99Pu8Jjjjjbcj;bb9RgP8KjjjjbaPcKfcbc;Kbz:kjjjb8AaPcualcdtgsalcFFFFi0Egzcbyd;S1jjbHjjjjbbgHBdKaPceBd94aPaHBdwaPazcbyd;S1jjbHjjjjbbgOBd3aPcdBd94aPaOBdxaPcuadcitadcFFFFe0Ecbyd;S1jjbHjjjjbbgABdaaPciBd94aPaABdzaPcwfaeadalcbz:djjjbaPazcbyd;S1jjbHjjjjbbgCBd8KaPclBd94aPazcbyd;S1jjbHjjjjbbgXBdyaPcvBd94arcd4hQalcd4alfhLcehKinaKgrcethKaraL6mbkcbhYaPcuarcdtgKarcFFFFi0Ecbyd;S1jjbHjjjjbbgLBd8SaPcoBd94aLcFeaKz:kjjjbh8AdnalTmbavcd4hEarcufh3inaiaYaE2cdtfg5ydlgrcH4ar7c:F:b:DD2a5ydbgrcH4ar7c;D;O:B8J27a5ydwgrcH4ar7c:3F;N8N27hLcbhrdndnina8AaLa3GgLcdtfg8EydbgKcuSmeaiaKaE2cdtfa5cxz:njjjbTmdarcefgraLfhLara39nmbxdkka8EaYBdbaYhKkaCaYcdtfaKBdbaYcefgYal9hmbkcbhraXhKinaKarBdbaKclfhKalarcefgr9hmbkcbhraChKaXhLindnaraKydbg3SmbaLaXa3cdtfg3ydbBdba3arBdbkaKclfhKaLclfhLalarcefgr9hmbkkcbhLaPalcbyd;S1jjbHjjjjbbg5Bd8WaPcrBd94aPazcbyd;S1jjbHjjjjbbgrBd80aPcwBd94aPazcbyd;S1jjbHjjjjbbgKBdUaPcDBd94arcFeasz:kjjjbh8FaKcFeasz:kjjjbhadnalTmbaAcwfhhindnaHaLcdtgrfydbggTmbaAaOarfydbcitfh8Jaaarfh8Ka8FarfhYcbhEindndna8JaEcitfydbg8AaL9hmbaYaLBdba8KaLBdbxekdnaHa8Acdtgsfydbg8LTmbaAaOasfydbcitgrfydbaLSmea8Lcufh8EaharfhKcbhrina8EarSmearcefhraKydbh3aKcwfhKa3aL9hmbkara8L6mekaaasfgraLa8AarydbcuSEBdbaYa8AaLaYydbcuSEBdbkaEcefgEag9hmbkkaLcefgLal9hmbkaChKaXhLaah3a8FhEcbhrindndnaraKydbg8E9hmbdnaraLydbg8E9hmbaEydbh8Edna3ydbg8Acu9hmba8Ecu9hmba5arfcb86bbxika5arfhYdnara8ASmbara8ESmbaYce86bbxikaYcl86bbxdkdnaraXa8Ecdtg8Afydb9hmbdna3ydbgYcuSmbaraYSmbaEydbgscuSmbarasSmbaaa8AfydbggcuSmbaga8ESmba8Fa8Afydbg8AcuSmba8Aa8ESmbdnaCaYcdtfydbaCa8Acdtfydb9hmbaCascdtfydbaCagcdtfydb9hmba5arfcd86bbxlka5arfcl86bbxika5arfcl86bbxdka5arfcl86bbxeka5arfa5a8EfRbb86bbkaKclfhKaLclfhLa3clfh3aEclfhEalarcefgr9hmbkaqceGTmba5hralhKindnarRbbce9hmbarcl86bbkarcefhraKcufgKmbkkcualc8S2alc;D;O;f8U0Ecbyd;S1jjbHjjjjbbh8KaPcKfaPyd94gYcdtfa8KBdbaPaYcefgsBd94a8Kaialavz:ejjjbdnalTmbdnamTmbaQcdth8Aa8KcxfhEcbh8Eina8Ka8Ec8S2fgr9cb83dxarc8Kf9cb83dbarc3f9cb83dbarcCf9cb83dbaohraxhKaEhLamh3inaLarIdbaKIdbNUdbarclfhraKclfhKaLclfhLa3cufg3mbkaoa8AfhoaEc8SfhEa8Ecefg8Eal9hmbxdkka8KcxfhralhKinar9cb83dbarcKf9cb83dbarczf9cb83dbarcwf9cb83dbarc8SfhraKcufgKmbkkaPcKfascdtfcualc:Se2gralc;0:l;0k0Ecbyd;S1jjbHjjjjbbgKBdbaPaYcdfBd94aKcbarz:kjjjbhodnadTmba8Kcxfh8EaPcjefc8Sfh8Lcbh8Aindna8Kaea8AcdtfgrclfydbgYc8S2g3fgKIdba8Karydbgsc8S2gEfgLIdbg8M:tg8Na8Karcwfydbggc8S2g8JfgrIdlaLIdlgy:tg8PNarIdba8M:tgIaKIdlay:tg8RN:tg8Sa8SNa8RarIdwaLIdwgR:tg8UNa8PaKIdwaR:tg8VN:tg8Wa8WNa8VaINa8Ua8NN:tg8Xa8XNMM:rg8YJbbbb9ETmba8Sa8Y:vh8Sa8Xa8Y:vh8Xa8Wa8Y:vh8WkaPa8Y:rg8YUd:Oecbhra8Lcbcjez:kjjjb8Aa8Va8VNa8Na8NNa8Ra8RNMMg8Za8UNa8Va8Va8UNa8NaINa8Ra8PNMMg80N:tJbbbbJbbjZa8Za8Ua8UNaIaINa8Pa8PNMMg81Na80a80N:tgB:vaBJbbbb9BEgBNh83a81a8VNa8Ua80N:taBNhUa8Za8PNa8Ra80N:taBNh85a81a8RNa8Pa80N:taBNh86a8ZaINa8Na80N:taBNh87a81a8NNaIa80N:taBNh88a8Ya8SaRNa8Wa8MNaya8XNMM:mg8NNg80a8NNhIa8Sa80Nh8Ra8Xa80Nh8Ua8Wa80Nh8Va8EaEfhLa8Ea3fh3a8Ea8JfhEa8Ya8SNg80a8XNhBa80a8WNh8Za8Ya8XNg8Na8WNh81a8Sa80Nh8Sa8Xa8NNh89a8Wa8Ya8WNNh8:aR:mhRay:mhya8M:mh8MinaPcjefarfgKc;Sbfa8YaUa3arfIdbaLarfIdbg8N:tg80Na83aEarfIdba8N:tg8PNMg8WNUdbaKc;mbfa8Ya86a80Na85a8PNMg8XNUdbaKc8Sfa8Ya88a80Na87a8PNMg80NUdbaKc:mefa8YaRa8WNaya8XNa8Na8Ma80NMMMg8NNUdba8Ya8Wa8XNNaBMhBa8Ya8Wa80NNa8ZMh8Za8Ya8Xa80NNa81Mh81a8Ya8Na8NNNaIMhIa8Ya8Wa8NNNa8RMh8Ra8Ya8Xa8NNNa8UMh8Ua8Ya80a8NNNa8VMh8Va8Ya8Wa8WNNa8SMh8Sa8Ya8Xa8XNNa89Mh89a8Ya80a80NNa8:Mh8:arclfgrca9hmbkaPaIUd:KeaPa8RUd:GeaPa8UUd:CeaPa8VUd:yeaPaBUdNeaPa8ZUd:qeaPa81Ud:meaPa8SUd1eaPa89Ud:eeaPa8:UdjeaoaCascdtfydbc:Se2faPcjefz:fjjjbaoaCaYcdtfydbc:Se2faPcjefz:fjjjbaoaCagcdtfydbc:Se2faPcjefz:fjjjba8Acifg8Aad6mbkaPcjefc8Sfhscbh8Aincbh8Eina5aea8Ecdtc:81jjbfydbg3a8AfcdtfydbgYfRbbhrdndna5aea8Ea8AfcdtfydbgKfRbbgLc99fcFeGcpe0mbarceSmbarcd9hmekdnaLcufcFeGce0mba8FaKcdtfydbaY9hmekdnarcufcFeGce0mbaaaYcdtfydbaK9hmekdnaLcv2arfc:G1jjbfRbbTmbaCaYcdtfydbaCaKcdtfydb0mekJbbacJbbjZarceSEh8XaLceShEa8Kaea3cdtc:81jjbfydba8Afcdtfydbc8S2fhrdna8KaYc8S2fgLIdwa8KaKc8S2fg3Idwg8P:tg8Ya8YNaLIdba3IdbgI:tg8Wa8WNaLIdla3Idlg8R:tg80a80NMM:rg8NJbbbb9ETmba8Ya8N:vh8Ya80a8N:vh80a8Wa8N:vh8WkJbbaca8XaEEh8VdnarIdwa8P:tg8Xa8Ya8Xa8YNarIdbaI:tgBa8WNa80arIdla8R:tg8ZNMMg8UN:tg8Xa8XNaBa8Wa8UN:tg8Ya8YNa8Za80a8UN:tg8Wa8WNMM:rg80Jbbbb9ETmba8Xa80:vh8Xa8Wa80:vh8Wa8Ya80:vh8Ykcbhrascbcjez:kjjjb8AaoaCaKcdtfydbc:Se2fgEa8Ya8Va8NNg80a8YNNg8UaEIdbMUdbaEa8Wa80a8WNg8VNgBaEIdlMUdlaEa8Xa80a8XNg8NNg8ZaEIdwMUdwaEa8Va8YNg8VaEIdxMUdxaEa8Na8YNg81aEIdzMUdzaEa8Na8WNg8SaEIdCMUdCaEa8Ya80a8Xa8PNa8YaINa8Ra8WNMM:mg8PNg8NNg8YaEIdKMUdKaEa8Wa8NNg8WaEId3MUd3aEa8Xa8NNg8XaEIdaMUdaaEa8Na8PNg8NaEId8KMUd8KaEa80aEIdyMUdyinaEarfgKc8Sfg3aPcjefarfgLc8SfIdba3IdbMUdbaKc;mbfg3aLc;mbfIdba3IdbMUdbaKc;Sbfg3aLc;SbfIdba3IdbMUdbaKc:mefgKaLc:mefIdbaKIdbMUdbarclfgrca9hmbkaoaCaYcdtfydbc:Se2fgEa8UaEIdbMUdbaEaBaEIdlMUdlaEa8ZaEIdwMUdwaEa8VaEIdxMUdxaEa81aEIdzMUdzaEa8SaEIdCMUdCaEa8YaEIdKMUdKaEa8WaEId3MUd3aEa8XaEIdaMUdaaEa8NaEId8KMUd8KaEa80aEIdyMUdycbhrinaEarfgKc8Sfg3aPcjefarfgLc8SfIdba3IdbMUdbaKc;mbfg3aLc;mbfIdba3IdbMUdbaKc;Sbfg3aLc;SbfIdba3IdbMUdbaKc:mefgKaLc:mefIdbaKIdbMUdbarclfgrca9hmbkka8Ecefg8Eci9hmbka8Acifg8Aad6mbkkdnabaeSmbabaeadcdtz:jjjjb8Akcuadcx2adc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbhhaPcKfaPyd94grcdtfahBdbaParcefgKBd94aPcKfaKcdtfcuadcdtadcFFFFi0Ecbyd;S1jjbHjjjjbbgvBdbaParcdfgKBd94aPcKfaKcdtfazcbyd;S1jjbHjjjjbbgiBdbaParcifgKBd94aPcKfaKcdtfalcbyd;S1jjbHjjjjbbgZBdbaParclfBd94JbbbbhBdnadaw9nmbaDaDNh8Vahcwfhna8KcxfhxJbbbbhBinaPcwfabadgmalaCz:djjjbcbh8LabhYcbhsincbhrindnaCaYarfydbgLcdtgefydbgEaCabarc:81jjbfydbasfcdtfydbgKcdtfydbg8ESmba5aKfRbbg8Acv2a5aLfRbbg3fc;q1jjbfRbbg8Ja3cv2a8Afggc;q1jjbfRbbgdVcFeGTmbdnagc:G1jjbfRbbTmba8EaE0mekdna3a8A9hmba3cufcFeGce0mba8FaefydbaK9hmekaha8Lcx2fg3aKaLadcFeGgEEBdla3aLaKaEEBdba3aEa8JGcb9hBdwa8Lcefh8Lkarclfgrcx9hmbkaYcxfhYascifgsam6mbkdndna8LTmbcbheinaoaCahaecx2fgEydbg8Ecdtfydbc:Se2fgLIdwa8KaEydlg8Ac8S2gKfgrIdwg8XNaLIdzarIdbg80NaLIdaMg8Ya8YMMa8XNaLIdlarIdlg8NNaLIdCa8XNaLId3Mg8Ya8YMMa8NNaLIdba80NaLIdxa8NNaLIdKMg8Ya8YMMa80NaLId8KMMMh8WaCa8Aa8EaEydwgYEgscdtfydbhgaEcwfh8JaEclfhdaxaKfh3aLIdyh8Pcbhrina3arfIdbg8YJbbb;aNaLarfgKc:mefIdba8XaKc;SbfIdbNa80aKc8SfIdbNa8NaKc;mbfIdbNMMMNa8Ya8YNa8PNa8WMMh8Warclfgrca9hmbkaoagc:Se2fgLIdwa8Ka8Ea8AaYEgYc8S2gKfgrIdwg80NaLIdzarIdbg8NNaLIdaMg8Ya8YMMa80NaLIdlarIdlg8PNaLIdCa80NaLId3Mg8Ya8YMMa8PNaLIdba8NNaLIdxa8PNaLIdKMg8Ya8YMMa8NNaLId8KMMMh8XaxaKfh3aLIdyhIcbhrina3arfIdbg8YJbbb;aNaLarfgKc:mefIdba80aKc;SbfIdbNa8NaKc8SfIdbNa8PaKc;mbfIdbNMMMNa8Ya8YNaINa8XMMh8Xarclfgrca9hmbkada8AaYa8W:lg8Ya8X:lg8W9FgrEBdbaEa8EasarEBdba8Ja8Ya8WarEUdbaecefgea8L9hmbkaPcjefcbcj;abz:kjjjb8Aanhra8LhKinaPcjefarydbcO4c;8ZGfgLaLydbcefBdbarcxfhraKcufgKmbkcbhrcbhKinaPcjefarfgLydbh3aLaKBdba3aKfhKarclfgrcj;ab9hmbkcbhranhKinaPcjefaKydbcO4c;8ZGfgLaLydbgLcefBdbavaLcdtfarBdbaKcxfhKa8Larcefgr9hmbkamaw9RgLci9UhcdnalTmbcbhraihKinaKarBdbaKclfhKalarcefgr9hmbkkcbh9caZcbalz:kjjjbhJaLcO9Uh9eacce4hTcbhScbhsdninahavascdtfydbcx2fgYIdwg8Wa8V9EmeaSac9pmeJFFuuh8YdnaTa8L9pmbahavaTcdtfydbcx2fIdwJbb;aZNh8Ykdna8Wa8Y9ETmbaSa9e0mdkdnaJaCaYydlg9hcdtg9ifydbgLfg6RbbaJaCaYydbgecdtg9kfydbg0fg9mRbbVmbdnaHa0cdtgrfydbg3TmbaAaOarfydbcitfhra8KaLc8S2fggcwfhdagclfhza8Ka0c8S2fg8Jcwfhqa8JclfhQcbhKceh8AdnindnaiarydbcdtfydbgEaLSmbaiarclfydbcdtfydbg8EaLSmba8Ka8Ec8S2fg8EIdba8KaEc8S2fgEIdbg8X:tg8YaQIdbaEIdlg80:tg8NNa8JIdba8X:tg8Pa8EIdla80:tg8WN:ta8YazIdba80:tgINagIdba8X:tg8Ra8WN:tNa8WaqIdbaEIdwg80:tg8UNa8Na8EIdwa80:tg8XN:ta8WadIdba80:tg80NaIa8XN:tNa8Xa8PNa8Ua8YN:ta8Xa8RNa80a8YN:tNMMJbbbb9DmdkarcwfhraKcefgKa36h8Aa3aK9hmbkka8AceGTmbaTcefhTxekaYcwfhKaoaLc:Se2faoa0c:Se2fz:fjjjbdndndndna5aefg3Rbbc9:fPdebdkaehrinaiarcdtgrfaLBdbaXarfydbgrae9hmbxikkaXa9ifydbhraXa9kfydbheaia9kfa9hBdbarh9hkaiaecdtfa9hBdbka9mce86bba6ce86bbaKIdbg8YaBaBa8Y9DEhBa9ccefh9ccecda3RbbceSEaSfhSkascefgsa8L9hmbkka9cTmbdnalTmbcbhKa8FhrindnarydbgLcuSmbdnaKaiaLcdtg3fydbgL9hmba8Fa3fydbhLkaraLBdbkarclfhralaKcefgK9hmbkcbhKaahrindnarydbgLcuSmbdnaKaiaLcdtg3fydbgL9hmbaaa3fydbhLkaraLBdbkarclfhralaKcefgK9hmbkkcbhdabhrcbhEindnaiarydbcdtfydbgKaiarclfydbcdtfydbgLSmbaKaiarcwfydbcdtfydbg3SmbaLa3Smbabadcdtfg8EaKBdba8EclfaLBdba8Ecwfa3BdbadcifhdkarcxfhraEcifgEam9pmdxbkkamhdxdkadaw0mbkkdnakTmbakaB:rUdbkaPyd94grcdtaPcKffc98fhKdninarTmeaKydbcbyd;W1jjbH:bjjjbbaKc98fhKarcufhrxbkkaPcj;bbf8Kjjjjbadk;pleouabydbcbaicdtz:kjjjb8Aadci9UhvdnadTmbabydbhodnalTmbaehradhwinaoalarydbcdtfydbcdtfgDaDydbcefBdbarclfhrawcufgwmbxdkkaehradhwinaoarydbcdtfgDaDydbcefBdbarclfhrawcufgwmbkkdnaiTmbabydbhrabydlhwcbhDaihoinawaDBdbawclfhwarydbaDfhDarclfhraocufgombkkdnadci6mbavceavce0EhqabydlhvabydwhrinaecwfydbhwaeclfydbhDaeydbhodnalTmbalawcdtfydbhwalaDcdtfydbhDalaocdtfydbhokaravaocdtfgdydbcitfaDBdbaradydbcitfawBdladadydbcefBdbaravaDcdtfgdydbcitfawBdbaradydbcitfaoBdladadydbcefBdbaravawcdtfgwydbcitfaoBdbarawydbcitfaDBdlawawydbcefBdbaecxfheaqcufgqmbkkdnaiTmbabydlhrabydbhwinararydbawydb9RBdbawclfhwarclfhraicufgimbkkk:Zldouv998Jjjjjbca9Rglczfcwfcbyd11jjbBdbalcb8Pdj1jjb83izalcwfcbydN1jjbBdbalcb8Pd:m1jjb83ibdnadTmbaicd4hvdnabTmbavcdthocbhraehwinabarc8S2fgiaearav2cdtfgDIdbUdbaiaDIdlUdlaiaDIdwUdwcbhiinalczfaifgDawaifIdbgqaDIdbgkakaq9EEUdbalaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkawaofhwarcefgrad9hmbxdkkavcdthrcbhwincbhiinalczfaifgDaeaifIdbgqaDIdbgkakaq9EEUdbalaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkaearfheawcefgwad9hmbkkdnabTmbadTmbJbbbbJbbjZalIdbalIdzgk:tJbbbb:xgqalIdlalIdCgx:tgmamaq9DEgqalIdwalIdKgm:tgPaPaq9DEgq:vaqJbbbb9BEhqinabaqabIdbak:tNUdbabclfgiaqaiIdbax:tNUdbabcwfgiaqaiIdbam:tNUdbabc8Sfhbadcufgdmbkkk:3deluabaeIdbabIdbMUdbabaeIdlabIdlMUdlabaeIdwabIdwMUdwabaeIdxabIdxMUdxabaeIdzabIdzMUdzabaeIdCabIdCMUdCabaeIdKabIdKMUdKabaeId3abId3MUd3abaeIdaabIdaMUdaabaeId8KabId8KMUd8KabaeIdyabIdyMUdycbhdinabadfgic8Sfglaeadfgvc8SfIdbalIdbMUdbaic;mbfglavc;mbfIdbalIdbMUdbaic;Sbfglavc;SbfIdbalIdbMUdbaic:mefgiavc:mefIdbaiIdbMUdbadclfgdca9hmbkk:Qdidui99ducbhi8Jjjjjbca9Rglczfcwfcbyd11jjbBdbalcb8Pdj1jjb83izalcwfcbydN1jjbBdbalcb8Pd:m1jjb83ibdndnaembJbbjFhvJbbjFhoJbbjFhrxekadcd4cdthwincbhdinalczfadfgDabadfIdbgoaDIdbgrarao9EEUdbaladfgDaoaDIdbgrarao9DEUdbadclfgdcx9hmbkabawfhbaicefgiae9hmbkalIdwalIdK:thralIdlalIdC:thoalIdbalIdz:thvkavJbbbb:xgvaoaoav9DEgoararao9DEk9DeeuabcFeaicdtz:kjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk9teiucbcbyd;01jjbgeabcifc98GfgbBd;01jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;01jjbgeabcrfc94GfgbBd;01jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd;01jjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd;01jjbfgdBd;01jjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk6eiucbhidnadTmbdninabRbbglaeRbbgv9hmeaecefheabcefhbadcufgdmbxdkkalav9Rhikaikk:cedbcjwk9PFFuuFFuuFFuuFFuFFFuFFFuFbbbbbbbbeeebeebebbeeebebbbbbebebbbbbebbbdbbbbbbbbbbbbbbbeeeeebebbbbbebbbbbeebbbbbbc;Swkxebbbdbbbj9Kbb"; + var wasm = "b9H79Tebbbe9sq9Geueu9Geub9Gbb9Gquuuuuuu99uueu9GPuuuuuuuuu99uuuueu9Gvuuuuub9Gluuuub9Giuuue999Gluuuueu9GiuuueuiPmdilvorwbDDbeDlve9Weiiviebeoweuecj;jekrNero9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bbz9TW79O9V9Wt9F79P9T9W29P9M95be8E9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9OcttV9P9I91tW7bdX9TW79O9V9Wt9F79P9T9W29P9M959t9J9H2Wbva9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9Wbol79IV9RbrDwebcekdqkq;H9Amdbk8KbabaeadaialavcbcbaoarawaDcbcbz:cjjjbk:m9iiKuY99Ou8Jjjjjbcj;bb9RgP8KjjjjbaPcKfcbc;Kbz:jjjjb8AaPcualcdtgsalcFFFFi0Egzcbyd;S1jjbHjjjjbbgHBdKaPceBd94aPaHBdwaPazcbyd;S1jjbHjjjjbbgOBd3aPcdBd94aPaOBdxaPcuadcitadcFFFFe0Ecbyd;S1jjbHjjjjbbgABdaaPciBd94aPaABdzaPcwfaeadalcbz:djjjbaPazcbyd;S1jjbHjjjjbbgCBd8KaPclBd94aPazcbyd;S1jjbHjjjjbbgXBdyaPcvBd94arcd4hQalcd4alfhLcehKinaKgrcethKaraL6mbkcbhYaPcuarcdtgKarcFFFFi0Ecbyd;S1jjbHjjjjbbgLBd8SaPcoBd94aLcFeaKz:jjjjbh8AdnalTmbavcd4hEarcufh3inaiaYaE2cdtfg5ydlgrcH4ar7c:F:b:DD2a5ydbgrcH4ar7c;D;O:B8J27a5ydwgrcH4ar7c:3F;N8N27hLcbhrdndnina8AaLa3GgLcdtfg8EydbgKcuSmeaiaKaE2cdtfa5cxz:mjjjbTmdarcefgraLfhLara39nmbxdkka8EaYBdbaYhKkaCaYcdtfaKBdbaYcefgYal9hmbkcbhraXhKinaKarBdbaKclfhKalarcefgr9hmbkcbhraChKaXhLindnaraKydbg3SmbaLaXa3cdtfg3ydbBdba3arBdbkaKclfhKaLclfhLalarcefgr9hmbkkcbhLaPalcbyd;S1jjbHjjjjbbg5Bd8WaPcrBd94aPazcbyd;S1jjbHjjjjbbgrBd80aPcwBd94aPazcbyd;S1jjbHjjjjbbgKBdUaPcDBd94arcFeasz:jjjjbh8FaKcFeasz:jjjjbhadnalTmbaAcwfhhindnaHaLcdtgrfydbggTmbaAaOarfydbcitfh8Jaaarfh8Ka8FarfhYcbhEindndna8JaEcitfydbg8AaL9hmbaYaLBdba8KaLBdbxekdnaHa8Acdtgsfydbg8LTmbaAaOasfydbcitgrfydbaLSmea8Lcufh8EaharfhKcbhrina8EarSmearcefhraKydbh3aKcwfhKa3aL9hmbkara8L6mekaaasfgraLa8AarydbcuSEBdbaYa8AaLaYydbcuSEBdbkaEcefgEag9hmbkkaLcefgLal9hmbkaChKaXhLaah3a8FhEcbhrindndnaraKydbg8E9hmbdnaraLydbg8E9hmbaEydbh8Edna3ydbg8Acu9hmba8Ecu9hmba5arfcb86bbxika5arfhYdnara8ASmbara8ESmbaYce86bbxikaYcl86bbxdkdnaraXa8Ecdtg8Afydb9hmbdna3ydbgYcuSmbaraYSmbaEydbgscuSmbarasSmbaaa8AfydbggcuSmbaga8ESmba8Fa8Afydbg8AcuSmba8Aa8ESmbdnaCaYcdtfydbaCa8Acdtfydb9hmbaCascdtfydbaCagcdtfydb9hmba5arfcd86bbxlka5arfcl86bbxika5arfcl86bbxdka5arfcl86bbxeka5arfa5a8EfRbb86bbkaKclfhKaLclfhLa3clfh3aEclfhEalarcefgr9hmbkaqceGTmba5hralhKindnarRbbce9hmbarcl86bbkarcefhraKcufgKmbkkcualcx2alc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbhHaPcKfaPyd94grcdtfaHBdbaParcefgsBd94aHaialavz:ejjjbdnamTmbaPcKfascdtfcuamal2gKcdtaKcFFFFi0Ecbyd;S1jjbHjjjjbbggBdbaParcdfgsBd94dnalTmbaQcdth8AamcdthYcbh8EaghEinaohraxhKaEhLamh3inaLarIdbaKIdbNUdbarclfhraKclfhKaLclfhLa3cufg3mbkaoa8AfhoaEaYfhEa8Ecefg8Eal9hmbkkaghokaPcKfascdtfcualc8S2gralc;D;O;f8U0EgLcbyd;S1jjbHjjjjbbgKBdbaPascefg3Bd94aKcbarz:jjjjbhAdndndnamTmbaPcKfa3cdtfaLcbyd;S1jjbHjjjjbbgxBdbaPascdfgKBd94axcbarz:jjjjb8AaPcKfaKcdtfcuamal2grcltgKarcFFFFb0Ecbyd;S1jjbHjjjjbbgvBdbaPascifBd94avcbaKz:jjjjb8AadmexdkcbhxcbhvadTmekcbhEaehKindnaHaKclfydbg8Ecx2fgrIdbaHaKydbg8Acx2fgLIdbg8M:tg8NaHaKcwfydbgYcx2fg3IdlaLIdlgy:tg8PNa3Idba8M:tgIarIdlay:tg8RN:tg8Sa8SNa8Ra3IdwaLIdwgR:tg8UNa8ParIdwaR:tg8RN:tg8Pa8PNa8RaINa8Ua8NN:tg8Na8NNMM:rgIJbbbb9ETmba8SaI:vh8Sa8NaI:vh8Na8PaI:vh8PkaAaCa8Acdtfydbc8S2fgra8PaI:rgIa8PNNg8RarIdbMUdbara8NaIa8NNg8VNg8UarIdlMUdlara8SaIa8SNg8WNg8XarIdwMUdwara8Va8PNg8VarIdxMUdxara8Wa8PNg8YarIdzMUdzara8Wa8NNg8WarIdCMUdCara8PaIa8SaRNa8Pa8MNaya8NNMM:mgyNg8MNg8ParIdKMUdKara8Na8MNg8NarId3MUd3ara8Sa8MNg8SarIdaMUdaara8MayNg8MarId8KMUd8KaraIarIdyMUdyaAaCa8Ecdtfydbc8S2fgra8RarIdbMUdbara8UarIdlMUdlara8XarIdwMUdwara8VarIdxMUdxara8YarIdzMUdzara8WarIdCMUdCara8ParIdKMUdKara8NarId3MUd3ara8SarIdaMUdaara8MarId8KMUd8KaraIarIdyMUdyaAaCaYcdtfydbc8S2fgra8RarIdbMUdbara8UarIdlMUdlara8XarIdwMUdwara8VarIdxMUdxara8YarIdzMUdzara8WarIdCMUdCara8ParIdKMUdKara8NarId3MUd3ara8SarIdaMUdaara8MarId8KMUd8KaraIarIdyMUdyaKcxfhKaEcifgEad6mbkcbh8EaehYincbhKina5aeaKc:81jjbfydbg8Aa8EfcdtfydbgLfRbbhrdndna5aYaKfydbg3fRbbgEc99fcFeGcpe0mbarceSmbarcd9hmekdnaEcufcFeGce0mba8Fa3cdtfydbaL9hmekdnarcufcFeGce0mbaaaLcdtfydba39hmekdnaEcv2arfc:G1jjbfRbbTmbaCaLcdtfydbaCa3cdtfydb0mekJbbacJbbjZarceSEhIaEceShsaHaea8Acdtc:81jjbfydba8Efcdtfydbcx2fhrdnaHaLcx2fgEIdwaHa3cx2fg8AIdwgy:tg8Pa8PNaEIdba8AIdbgR:tg8Na8NNaEIdla8AIdlg8R:tg8Sa8SNMM:rg8MJbbbb9ETmba8Pa8M:vh8Pa8Sa8M:vh8Sa8Na8M:vh8NkJbbacaIasEh8WdnarIdway:tgIa8PaIa8PNarIdbaR:tg8Xa8NNa8SarIdla8R:tg8VNMMg8UN:tgIaINa8Xa8Na8UN:tg8Pa8PNa8Va8Sa8UN:tg8Na8NNMM:rg8SJbbbb9ETmbaIa8S:vhIa8Na8S:vh8Na8Pa8S:vh8PkaAaCa3cdtfydbc8S2fgra8Pa8Wa8MNg8Sa8PNNg8UarIdbMUdbara8Na8Sa8NNg8WNg8XarIdlMUdlaraIa8SaINg8MNg8VarIdwMUdwara8Wa8PNg8WarIdxMUdxara8Ma8PNg8YarIdzMUdzara8Ma8NNg8ZarIdCMUdCara8Pa8SaIayNa8PaRNa8Ra8NNMM:mgyNg8MNg8ParIdKMUdKara8Na8MNg8NarId3MUd3araIa8MNgIarIdaMUdaara8MayNg8MarId8KMUd8Kara8SarIdyMUdyaAaCaLcdtfydbc8S2fgra8UarIdbMUdbara8XarIdlMUdlara8VarIdwMUdwara8WarIdxMUdxara8YarIdzMUdzara8ZarIdCMUdCara8ParIdKMUdKara8NarId3MUd3araIarIdaMUdaara8MarId8KMUd8Kara8SarIdyMUdykaKclfgKcx9hmbkaYcxfhYa8Ecifg8Ead6mbkamTmbcbh8AinJbbbbhRaHaea8AcdtfgrclfydbgYcx2fgKIdwaHarydbgscx2fgLIdwg8V:tg8Na8NNaKIdbaLIdbg8Y:tgIaINaKIdlaLIdlg8Z:tg8Sa8SNMMg8WaHarcwfydbggcx2fgrIdwa8V:tg8MNa8Na8Na8MNaIarIdba8Y:tgyNa8SarIdla8Z:tg8RNMMg8PN:tJbbbbJbbjZa8Wa8Ma8MNayayNa8Ra8RNMMg8XNa8Pa8PN:tg8U:va8UJbbbb9BEg8UNh80a8Xa8NNa8Ma8PN:ta8UNh81a8Wa8RNa8Sa8PN:ta8UNhBa8Xa8SNa8Ra8PN:ta8UNh83a8WayNaIa8PN:ta8UNhUa8XaINaya8PN:ta8UNh85aIa8RNaya8SN:tg8Pa8PNa8Sa8MNa8Ra8NN:tg8Pa8PNa8NayNa8MaIN:tg8Pa8PNMM:r:rh8Paoasam2cdtfhKaoagam2cdtfhLaoaYam2cdtfh3a8V:mh86a8Z:mh87a8Y:mh88cbhEamh8EJbbbbh8RJbbbbh8UJbbbbh8WJbbbbh8XJbbbbh8VJbbbbh8YJbbbbh8ZJbbbbh89Jbbbbh8:inaPcjefaEfgrcwfa8Pa81a3IdbaKIdbg8M:tg8SNa80aLIdba8M:tgyNMg8NNUdbarclfa8Pa83a8SNaBayNMgINUdbara8Pa85a8SNaUayNMg8SNUdbarcxfa8Pa86a8NNa87aINa8Ma88a8SNMMMg8MNUdba8Pa8NaINNa8XMh8Xa8Pa8Na8SNNa8VMh8Va8PaIa8SNNa8YMh8Ya8Pa8Ma8MNNaRMhRa8Pa8Na8MNNa8RMh8Ra8PaIa8MNNa8UMh8Ua8Pa8Sa8MNNa8WMh8Wa8Pa8Na8NNNa8ZMh8Za8PaIaINNa89Mh89a8Pa8Sa8SNNa8:Mh8:aKclfhKa3clfh3aLclfhLaEczfhEa8Ecufg8EmbkaxaCascdtfydbgKc8S2fgra8:arIdbMUdbara89arIdlMUdlara8ZarIdwMUdwara8YarIdxMUdxara8VarIdzMUdzara8XarIdCMUdCara8WarIdKMUdKara8UarId3MUd3ara8RarIdaMUdaaraRarId8KMUd8Kara8ParIdyMUdyaxaCaYcdtfydbgYc8S2fgra8:arIdbMUdbara89arIdlMUdlara8ZarIdwMUdwara8YarIdxMUdxara8VarIdzMUdzara8XarIdCMUdCara8WarIdKMUdKara8UarId3MUd3ara8RarIdaMUdaaraRarId8KMUd8Kara8ParIdyMUdyaxaCagcdtfydbgsc8S2fgra8:arIdbMUdbara89arIdlMUdlara8ZarIdwMUdwara8YarIdxMUdxara8VarIdzMUdzara8XarIdCMUdCara8WarIdKMUdKara8UarId3MUd3ara8RarIdaMUdaaraRarId8KMUd8Kara8ParIdyMUdyavaKam2cltfh8EcbhKamh3ina8EaKfgraPcjefaKfgLIdbarIdbMUdbarclfgEaLclfIdbaEIdbMUdbarcwfgEaLcwfIdbaEIdbMUdbarcxfgraLcxfIdbarIdbMUdbaKczfhKa3cufg3mbkavaYam2cltfh8EcbhKamh3ina8EaKfgraPcjefaKfgLIdbarIdbMUdbarclfgEaLclfIdbaEIdbMUdbarcwfgEaLcwfIdbaEIdbMUdbarcxfgraLcxfIdbarIdbMUdbaKczfhKa3cufg3mbkavasam2cltfh8EcbhKamh3ina8EaKfgraPcjefaKfgLIdbarIdbMUdbarclfgEaLclfIdbaEIdbMUdbarcwfgEaLcwfIdbaEIdbMUdbarcxfgraLcxfIdbarIdbMUdbaKczfhKa3cufg3mbka8Acifg8Aad6mbkkdnabaeSmbabaeadcdtz1jjjb8Akcuadcx2adc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbh8KaPcKfaPyd94grcdtfa8KBdbaParcefgKBd94aPcKfaKcdtfcuadcdtadcFFFFi0Ecbyd;S1jjbHjjjjbbgqBdbaParcdfgKBd94aPcKfaKcdtfazcbyd;S1jjbHjjjjbbgiBdbaParcifgKBd94aPcKfaKcdtfalcbyd;S1jjbHjjjjbbgZBdbaParclfBd94Jbbbbh8Ydnadaw9nmbaDaDNh8Vamclthna8KcwfhcJbbbbh8YinaPcwfabadgOalaCz:djjjbcbh8LabhYcbhsincbhrindnaCaYarfydbgLcdtgefydbgEaCabarc:81jjbfydbasfcdtfydbgKcdtfydbg8ESmba5aKfRbbg8Acv2a5aLfRbbg3fc;q1jjbfRbbg8Ja3cv2a8Afggc;q1jjbfRbbgdVcFeGTmbdnagc:G1jjbfRbbTmba8EaE0mekdna3a8A9hmba3cufcFeGce0mba8FaefydbaK9hmeka8Ka8Lcx2fg3aKaLadcFeGgEEBdla3aLaKaEEBdba3aEa8JGcb9hBdwa8Lcefh8Lkarclfgrcx9hmbkaYcxfhYascifgsaO6mbkdndna8LTmbcbh8AinJbbbbJbbjZaAaCa8Ka8Acx2fg3ydlgEa3ydbg8Ea3ydwgKEgYcdtfydbg8Jc8S2gdfgrIdyg8P:va8PJbbbb9BEarIdwaHa8EaEaKEgecx2fgKIdwg8SNarIdzaKIdbg8MNarIdaMg8Pa8PMMa8SNarIdlaKIdlgyNarIdCa8SNarId3Mg8Pa8PMMayNarIdba8MNarIdxayNarIdKMg8Pa8PMMa8MNarId8KMMM:lNh8WJbbbbJbbjZaAaCa8Ecdtfydbghc8S2gLfgrIdyg8P:va8PJbbbb9BEarIdwaHaEcx2fgKIdwgINarIdzaKIdbgRNarIdaMg8Pa8PMMaINarIdlaKIdlg8RNarIdCaINarId3Mg8Pa8PMMa8RNarIdbaRNarIdxa8RNarIdKMg8Pa8PMMaRNarId8KMMM:lNh8Xa3cwfhsa3clfhgdnamTmbaxaLfgLIdwaINaLIdzaRNaLIdaMg8Pa8PMMaINaLIdla8RNaLIdCaINaLId3Mg8Pa8PMMa8RNaLIdbaRNaLIdxa8RNaLIdKMg8Pa8PMMaRNaLId8KMMMh8NaoaEam2cdtfhKavaham2cltfhraLIdyh8UamhLinaKIdbg8PJbbb;aNarcxfIdbaIarcwfIdbNaRarIdbNa8RarclfIdbNMMMNa8Pa8PNa8UNa8NMMh8NaKclfhKarczfhraLcufgLmbkaxadfgLIdwa8SNaLIdza8MNaLIdaMg8Pa8PMMa8SNaLIdlayNaLIdCa8SNaLId3Mg8Pa8PMMayNaLIdba8MNaLIdxayNaLIdKMg8Pa8PMMa8MNaLId8KMMMhIaoaeam2cdtfhKava8Jam2cltfhraLIdyhRamhLinaKIdbg8PJbbb;aNarcxfIdba8SarcwfIdbNa8MarIdbNayarclfIdbNMMMNa8Pa8PNaRNaIMMhIaKclfhKarczfhraLcufgLmbka8WaI:lMh8Wa8Xa8N:lMh8XkagaEaea8Xa8W9FgrEBdba3a8EaYarEBdbasa8Xa8WarEUdba8Acefg8Aa8L9hmbkaPcjefcbcj;abz:jjjjb8Aachra8LhKinaPcjefarydbcO4c;8ZGfgLaLydbcefBdbarcxfhraKcufgKmbkcbhrcbhKinaPcjefarfgLydbh3aLaKBdba3aKfhKarclfgrcj;ab9hmbkcbhrachKinaPcjefaKydbcO4c;8ZGfgLaLydbgLcefBdbaqaLcdtfarBdbaKcxfhKa8Larcefgr9hmbkaOaw9RgLci9Uh9cdnalTmbcbhraihKinaKarBdbaKclfhKalarcefgr9hmbkkcbhJaZcbalz:jjjjbh9eaLcO9UhTa9cce4hSaPydwh9haPydxh9iaPydzh6cbh9kcbhgdnina8Kaqagcdtfydbcx2fgsIdwg8Na8V9Emea9ka9c9pmeJFFuuh8PdnaSa8L9pmba8KaqaScdtfydbcx2fIdwJbb;aZNh8Pkdna8Na8P9ETmba9kaT0mdkdna9eaCasydlg0cdtg9mfydbg3fg9nRbba9eaCasydbgYcdtg9ofydbg9pfg9qRbbVmbdna9ha9pcdtgrfydbgLTmba6a9iarfydbcitfhraHa3cx2fgecwfhdaeclfhhaHa9pcx2fg8Jcwfhza8JclfhQcbhKceh8AdnindnaiarydbcdtfydbgEa3Smbaiarclfydbcdtfydbg8Ea3SmbaHa8Ecx2fg8EIdbaHaEcx2fgEIdbgI:tg8PaQIdbaEIdlg8S:tg8MNa8JIdbaI:tgya8EIdla8S:tg8NN:ta8PahIdba8S:tgRNaeIdbaI:tg8Ra8NN:tNa8NazIdbaEIdwg8S:tg8UNa8Ma8EIdwa8S:tgIN:ta8NadIdba8S:tg8SNaRaIN:tNaIayNa8Ua8PN:taIa8RNa8Sa8PN:tNMMJbbbb9DmdkarcwfhraKcefgKaL6h8AaLaK9hmbkka8AceGTmbaScefhSxekaAa3c8S2gLfgraAa9pc8S2gEfgKIdbarIdbMUdbaraKIdlarIdlMUdlaraKIdwarIdwMUdwaraKIdxarIdxMUdxaraKIdzarIdzMUdzaraKIdCarIdCMUdCaraKIdKarIdKMUdKaraKId3arId3MUd3araKIdaarIdaMUdaaraKId8KarId8KMUd8KaraKIdyarIdyMUdydnamTmbaxaLfgraxaEfgKIdbarIdbMUdbaraKIdlarIdlMUdlaraKIdwarIdwMUdwaraKIdxarIdxMUdxaraKIdzarIdzMUdzaraKIdCarIdCMUdCaraKIdKarIdKMUdKaraKId3arId3MUd3araKIdaarIdaMUdaaraKId8KarId8KMUd8KaraKIdyarIdyMUdyana9p2h8Aana32heavhKamhEinaKaefgraKa8AfgLIdbarIdbMUdbarclfg8EaLclfIdba8EIdbMUdbarcwfg8EaLcwfIdba8EIdbMUdbarcxfgraLcxfIdbarIdbMUdbaKczfhKaEcufgEmbkkascwfhKdndndndna5aYfgLRbbc9:fPdebdkaYhrinaiarcdtgrfa3BdbaXarfydbgraY9hmbxikkaXa9mfydbhraXa9ofydbhYaia9ofa0Bdbarh0kaiaYcdtfa0Bdbka9qce86bba9nce86bbaKIdbg8Pa8Ya8Ya8P9DEh8YaJcefhJcecdaLRbbceSEa9kfh9kkagcefgga8L9hmbkkaJTmbdnalTmbcbhKa8FhrindnarydbgLcuSmbdnaKaiaLcdtg3fydbgL9hmba8Fa3fydbhLkaraLBdbkarclfhralaKcefgK9hmbkcbhKaahrindnarydbgLcuSmbdnaKaiaLcdtg3fydbgL9hmbaaa3fydbhLkaraLBdbkarclfhralaKcefgK9hmbkkcbhdabhrcbhEindnaiarydbcdtfydbgKaiarclfydbcdtfydbgLSmbaKaiarcwfydbcdtfydbg3SmbaLa3Smbabadcdtfg8EaKBdba8EclfaLBdba8Ecwfa3BdbadcifhdkarcxfhraEcifgEaO9pmdxbkkaOhdxdkadaw0mbkkdnakTmbaka8Y:rUdbkaPyd94grcdtaPcKffc98fhCdninarTmeaCydbcbyd;W1jjbH:bjjjbbaCc98fhCarcufhrxbkkaPcj;bbf8Kjjjjbadk;pleouabydbcbaicdtz:jjjjb8Aadci9UhvdnadTmbabydbhodnalTmbaehradhwinaoalarydbcdtfydbcdtfgDaDydbcefBdbarclfhrawcufgwmbxdkkaehradhwinaoarydbcdtfgDaDydbcefBdbarclfhrawcufgwmbkkdnaiTmbabydbhrabydlhwcbhDaihoinawaDBdbawclfhwarydbaDfhDarclfhraocufgombkkdnadci6mbavceavce0EhqabydlhvabydwhrinaecwfydbhwaeclfydbhDaeydbhodnalTmbalawcdtfydbhwalaDcdtfydbhDalaocdtfydbhokaravaocdtfgdydbcitfaDBdbaradydbcitfawBdladadydbcefBdbaravaDcdtfgdydbcitfawBdbaradydbcitfaoBdladadydbcefBdbaravawcdtfgwydbcitfaoBdbarawydbcitfaDBdlawawydbcefBdbaecxfheaqcufgqmbkkdnaiTmbabydlhrabydbhwinararydbawydb9RBdbawclfhwarclfhraicufgimbkkk:Zldouv998Jjjjjbca9Rglczfcwfcbyd11jjbBdbalcb8Pdj1jjb83izalcwfcbydN1jjbBdbalcb8Pd:m1jjb83ibdnadTmbaicd4hvdnabTmbavcdthocbhraehwinabarcx2fgiaearav2cdtfgDIdbUdbaiaDIdlUdlaiaDIdwUdwcbhiinalczfaifgDawaifIdbgqaDIdbgkakaq9EEUdbalaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkawaofhwarcefgrad9hmbxdkkavcdthrcbhwincbhiinalczfaifgDaeaifIdbgqaDIdbgkakaq9EEUdbalaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkaearfheawcefgwad9hmbkkdnabTmbadTmbJbbbbJbbjZalIdbalIdzgk:tJbbbb:xgqalIdlalIdCgx:tgmamaq9DEgqalIdwalIdKgm:tgPaPaq9DEgq:vaqJbbbb9BEhqinabaqabIdbak:tNUdbabclfgiaqaiIdbax:tNUdbabcwfgiaqaiIdbam:tNUdbabcxfhbadcufgdmbkkk:Qdidui99ducbhi8Jjjjjbca9Rglczfcwfcbyd11jjbBdbalcb8Pdj1jjb83izalcwfcbydN1jjbBdbalcb8Pd:m1jjb83ibdndnaembJbbjFhvJbbjFhoJbbjFhrxekadcd4cdthwincbhdinalczfadfgDabadfIdbgoaDIdbgrarao9EEUdbaladfgDaoaDIdbgrarao9DEUdbadclfgdcx9hmbkabawfhbaicefgiae9hmbkalIdwalIdK:thralIdlalIdC:thoalIdbalIdz:thvkavJbbbb:xgvaoaoav9DEgoararao9DEk9DeeuabcFeaicdtz:jjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk9teiucbcbyd;01jjbgeabcifc98GfgbBd;01jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;01jjbgeabcrfc94GfgbBd;01jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd;01jjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd;01jjbfgdBd;01jjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk6eiucbhidnadTmbdninabRbbglaeRbbgv9hmeaecefheabcefhbadcufgdmbxdkkalav9Rhikaikk:cedbcjwk9PFFuuFFuuFFuuFFuFFFuFFFuFbbbbbbbbeeebeebebbeeebebbbbbebebbbbbebbbdbbbbbbbbbbbbbbbeeeeebebbbbbebbbbbeebbbbbbc;Swkxebbbdbbbj9Kbb"; var wasmpack = new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]); @@ -169,8 +169,7 @@ var MeshoptSimplifier = (function() { return result; }, - // TODO: flags wrt attribute weights order? - simplifyWithAttributes: function(indices, vertex_positions, vertex_positions_stride, vertex_attributes, vertex_attributes_stride, target_index_count, target_error, flags, attribute_weights) { + simplifyWithAttributes: function(indices, vertex_positions, vertex_positions_stride, vertex_attributes, vertex_attributes_stride, target_index_count, target_error, attribute_weights, flags) { assert(indices instanceof Uint32Array || indices instanceof Int32Array || indices instanceof Uint16Array || indices instanceof Int16Array); assert(indices.length % 3 == 0); assert(vertex_positions instanceof Float32Array); diff --git a/js/meshopt_simplifier.module.d.ts b/js/meshopt_simplifier.module.d.ts index 2f2ecf2eb..882337d1a 100644 --- a/js/meshopt_simplifier.module.d.ts +++ b/js/meshopt_simplifier.module.d.ts @@ -10,7 +10,7 @@ export const MeshoptSimplifier: { simplify: (indices: Uint32Array, vertex_positions: Float32Array, vertex_positions_stride: number, target_index_count: number, target_error: number, flags?: Flags[]) => [Uint32Array, number]; - // TODO: attributes + simplifyWithAttributes: (indices: Uint32Array, vertex_positions: Float32Array, vertex_positions_stride: number, vertex_attributes: Float32Array, vertex_attributes_stride: number, target_index_count: number, target_error: number, attribute_weights: Float32Array, flags?: Flags[]) => [Uint32Array, number]; getScale: (vertex_positions: Float32Array, vertex_positions_stride: number) => number; }; diff --git a/js/meshopt_simplifier.module.js b/js/meshopt_simplifier.module.js index 0b33a179e..86363febc 100644 --- a/js/meshopt_simplifier.module.js +++ b/js/meshopt_simplifier.module.js @@ -5,7 +5,7 @@ var MeshoptSimplifier = (function() { // Built with clang version 16.0.0 // Built from meshoptimizer 0.19 - var wasm = "b9H79Tebbbe9xk9Geueu9Geub9Gbb9Gquuuuuuu99uueu9GPuuuuuuuuu99uuuueu9Gvuuuuub9Gluuuub9Gduub9Giuuue999Gluuuueu9GiuuueuisPdilvorwDbqqbeqlve9Weiiviebeoweuecj;jekrNero9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bbz9TW79O9V9Wt9F79P9T9W29P9M95be8E9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9OcttV9P9I91tW7bdX9TW79O9V9Wt9F79P9T9W29P9M959t9J9H2Wboa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9Wbrl79IV9RbwDwebcekdkxq;d9mPdbk8KbabaeadaialavcbcbaoarawaDcbcbz:cjjjbk:183iKuY99Pu8Jjjjjbcj;bb9RgP8KjjjjbaPcKfcbc;Kbz:kjjjb8AaPcualcdtgsalcFFFFi0Egzcbyd;S1jjbHjjjjbbgHBdKaPceBd94aPaHBdwaPazcbyd;S1jjbHjjjjbbgOBd3aPcdBd94aPaOBdxaPcuadcitadcFFFFe0Ecbyd;S1jjbHjjjjbbgABdaaPciBd94aPaABdzaPcwfaeadalcbz:djjjbaPazcbyd;S1jjbHjjjjbbgCBd8KaPclBd94aPazcbyd;S1jjbHjjjjbbgXBdyaPcvBd94arcd4hQalcd4alfhLcehKinaKgrcethKaraL6mbkcbhYaPcuarcdtgKarcFFFFi0Ecbyd;S1jjbHjjjjbbgLBd8SaPcoBd94aLcFeaKz:kjjjbh8AdnalTmbavcd4hEarcufh3inaiaYaE2cdtfg5ydlgrcH4ar7c:F:b:DD2a5ydbgrcH4ar7c;D;O:B8J27a5ydwgrcH4ar7c:3F;N8N27hLcbhrdndnina8AaLa3GgLcdtfg8EydbgKcuSmeaiaKaE2cdtfa5cxz:njjjbTmdarcefgraLfhLara39nmbxdkka8EaYBdbaYhKkaCaYcdtfaKBdbaYcefgYal9hmbkcbhraXhKinaKarBdbaKclfhKalarcefgr9hmbkcbhraChKaXhLindnaraKydbg3SmbaLaXa3cdtfg3ydbBdba3arBdbkaKclfhKaLclfhLalarcefgr9hmbkkcbhLaPalcbyd;S1jjbHjjjjbbg5Bd8WaPcrBd94aPazcbyd;S1jjbHjjjjbbgrBd80aPcwBd94aPazcbyd;S1jjbHjjjjbbgKBdUaPcDBd94arcFeasz:kjjjbh8FaKcFeasz:kjjjbhadnalTmbaAcwfhhindnaHaLcdtgrfydbggTmbaAaOarfydbcitfh8Jaaarfh8Ka8FarfhYcbhEindndna8JaEcitfydbg8AaL9hmbaYaLBdba8KaLBdbxekdnaHa8Acdtgsfydbg8LTmbaAaOasfydbcitgrfydbaLSmea8Lcufh8EaharfhKcbhrina8EarSmearcefhraKydbh3aKcwfhKa3aL9hmbkara8L6mekaaasfgraLa8AarydbcuSEBdbaYa8AaLaYydbcuSEBdbkaEcefgEag9hmbkkaLcefgLal9hmbkaChKaXhLaah3a8FhEcbhrindndnaraKydbg8E9hmbdnaraLydbg8E9hmbaEydbh8Edna3ydbg8Acu9hmba8Ecu9hmba5arfcb86bbxika5arfhYdnara8ASmbara8ESmbaYce86bbxikaYcl86bbxdkdnaraXa8Ecdtg8Afydb9hmbdna3ydbgYcuSmbaraYSmbaEydbgscuSmbarasSmbaaa8AfydbggcuSmbaga8ESmba8Fa8Afydbg8AcuSmba8Aa8ESmbdnaCaYcdtfydbaCa8Acdtfydb9hmbaCascdtfydbaCagcdtfydb9hmba5arfcd86bbxlka5arfcl86bbxika5arfcl86bbxdka5arfcl86bbxeka5arfa5a8EfRbb86bbkaKclfhKaLclfhLa3clfh3aEclfhEalarcefgr9hmbkaqceGTmba5hralhKindnarRbbce9hmbarcl86bbkarcefhraKcufgKmbkkcualc8S2alc;D;O;f8U0Ecbyd;S1jjbHjjjjbbh8KaPcKfaPyd94gYcdtfa8KBdbaPaYcefgsBd94a8Kaialavz:ejjjbdnalTmbdnamTmbaQcdth8Aa8KcxfhEcbh8Eina8Ka8Ec8S2fgr9cb83dxarc8Kf9cb83dbarc3f9cb83dbarcCf9cb83dbaohraxhKaEhLamh3inaLarIdbaKIdbNUdbarclfhraKclfhKaLclfhLa3cufg3mbkaoa8AfhoaEc8SfhEa8Ecefg8Eal9hmbxdkka8KcxfhralhKinar9cb83dbarcKf9cb83dbarczf9cb83dbarcwf9cb83dbarc8SfhraKcufgKmbkkaPcKfascdtfcualc:Se2gralc;0:l;0k0Ecbyd;S1jjbHjjjjbbgKBdbaPaYcdfBd94aKcbarz:kjjjbhodnadTmba8Kcxfh8EaPcjefc8Sfh8Lcbh8Aindna8Kaea8AcdtfgrclfydbgYc8S2g3fgKIdba8Karydbgsc8S2gEfgLIdbg8M:tg8Na8Karcwfydbggc8S2g8JfgrIdlaLIdlgy:tg8PNarIdba8M:tgIaKIdlay:tg8RN:tg8Sa8SNa8RarIdwaLIdwgR:tg8UNa8PaKIdwaR:tg8VN:tg8Wa8WNa8VaINa8Ua8NN:tg8Xa8XNMM:rg8YJbbbb9ETmba8Sa8Y:vh8Sa8Xa8Y:vh8Xa8Wa8Y:vh8WkaPa8Y:rg8YUd:Oecbhra8Lcbcjez:kjjjb8Aa8Va8VNa8Na8NNa8Ra8RNMMg8Za8UNa8Va8Va8UNa8NaINa8Ra8PNMMg80N:tJbbbbJbbjZa8Za8Ua8UNaIaINa8Pa8PNMMg81Na80a80N:tgB:vaBJbbbb9BEgBNh83a81a8VNa8Ua80N:taBNhUa8Za8PNa8Ra80N:taBNh85a81a8RNa8Pa80N:taBNh86a8ZaINa8Na80N:taBNh87a81a8NNaIa80N:taBNh88a8Ya8SaRNa8Wa8MNaya8XNMM:mg8NNg80a8NNhIa8Sa80Nh8Ra8Xa80Nh8Ua8Wa80Nh8Va8EaEfhLa8Ea3fh3a8Ea8JfhEa8Ya8SNg80a8XNhBa80a8WNh8Za8Ya8XNg8Na8WNh81a8Sa80Nh8Sa8Xa8NNh89a8Wa8Ya8WNNh8:aR:mhRay:mhya8M:mh8MinaPcjefarfgKc;Sbfa8YaUa3arfIdbaLarfIdbg8N:tg80Na83aEarfIdba8N:tg8PNMg8WNUdbaKc;mbfa8Ya86a80Na85a8PNMg8XNUdbaKc8Sfa8Ya88a80Na87a8PNMg80NUdbaKc:mefa8YaRa8WNaya8XNa8Na8Ma80NMMMg8NNUdba8Ya8Wa8XNNaBMhBa8Ya8Wa80NNa8ZMh8Za8Ya8Xa80NNa81Mh81a8Ya8Na8NNNaIMhIa8Ya8Wa8NNNa8RMh8Ra8Ya8Xa8NNNa8UMh8Ua8Ya80a8NNNa8VMh8Va8Ya8Wa8WNNa8SMh8Sa8Ya8Xa8XNNa89Mh89a8Ya80a80NNa8:Mh8:arclfgrca9hmbkaPaIUd:KeaPa8RUd:GeaPa8UUd:CeaPa8VUd:yeaPaBUdNeaPa8ZUd:qeaPa81Ud:meaPa8SUd1eaPa89Ud:eeaPa8:UdjeaoaCascdtfydbc:Se2faPcjefz:fjjjbaoaCaYcdtfydbc:Se2faPcjefz:fjjjbaoaCagcdtfydbc:Se2faPcjefz:fjjjba8Acifg8Aad6mbkaPcjefc8Sfhscbh8Aincbh8Eina5aea8Ecdtc:81jjbfydbg3a8AfcdtfydbgYfRbbhrdndna5aea8Ea8AfcdtfydbgKfRbbgLc99fcFeGcpe0mbarceSmbarcd9hmekdnaLcufcFeGce0mba8FaKcdtfydbaY9hmekdnarcufcFeGce0mbaaaYcdtfydbaK9hmekdnaLcv2arfc:G1jjbfRbbTmbaCaYcdtfydbaCaKcdtfydb0mekJbbacJbbjZarceSEh8XaLceShEa8Kaea3cdtc:81jjbfydba8Afcdtfydbc8S2fhrdna8KaYc8S2fgLIdwa8KaKc8S2fg3Idwg8P:tg8Ya8YNaLIdba3IdbgI:tg8Wa8WNaLIdla3Idlg8R:tg80a80NMM:rg8NJbbbb9ETmba8Ya8N:vh8Ya80a8N:vh80a8Wa8N:vh8WkJbbaca8XaEEh8VdnarIdwa8P:tg8Xa8Ya8Xa8YNarIdbaI:tgBa8WNa80arIdla8R:tg8ZNMMg8UN:tg8Xa8XNaBa8Wa8UN:tg8Ya8YNa8Za80a8UN:tg8Wa8WNMM:rg80Jbbbb9ETmba8Xa80:vh8Xa8Wa80:vh8Wa8Ya80:vh8Ykcbhrascbcjez:kjjjb8AaoaCaKcdtfydbc:Se2fgEa8Ya8Va8NNg80a8YNNg8UaEIdbMUdbaEa8Wa80a8WNg8VNgBaEIdlMUdlaEa8Xa80a8XNg8NNg8ZaEIdwMUdwaEa8Va8YNg8VaEIdxMUdxaEa8Na8YNg81aEIdzMUdzaEa8Na8WNg8SaEIdCMUdCaEa8Ya80a8Xa8PNa8YaINa8Ra8WNMM:mg8PNg8NNg8YaEIdKMUdKaEa8Wa8NNg8WaEId3MUd3aEa8Xa8NNg8XaEIdaMUdaaEa8Na8PNg8NaEId8KMUd8KaEa80aEIdyMUdyinaEarfgKc8Sfg3aPcjefarfgLc8SfIdba3IdbMUdbaKc;mbfg3aLc;mbfIdba3IdbMUdbaKc;Sbfg3aLc;SbfIdba3IdbMUdbaKc:mefgKaLc:mefIdbaKIdbMUdbarclfgrca9hmbkaoaCaYcdtfydbc:Se2fgEa8UaEIdbMUdbaEaBaEIdlMUdlaEa8ZaEIdwMUdwaEa8VaEIdxMUdxaEa81aEIdzMUdzaEa8SaEIdCMUdCaEa8YaEIdKMUdKaEa8WaEId3MUd3aEa8XaEIdaMUdaaEa8NaEId8KMUd8KaEa80aEIdyMUdycbhrinaEarfgKc8Sfg3aPcjefarfgLc8SfIdba3IdbMUdbaKc;mbfg3aLc;mbfIdba3IdbMUdbaKc;Sbfg3aLc;SbfIdba3IdbMUdbaKc:mefgKaLc:mefIdbaKIdbMUdbarclfgrca9hmbkka8Ecefg8Eci9hmbka8Acifg8Aad6mbkkdnabaeSmbabaeadcdtz:jjjjb8Akcuadcx2adc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbhhaPcKfaPyd94grcdtfahBdbaParcefgKBd94aPcKfaKcdtfcuadcdtadcFFFFi0Ecbyd;S1jjbHjjjjbbgvBdbaParcdfgKBd94aPcKfaKcdtfazcbyd;S1jjbHjjjjbbgiBdbaParcifgKBd94aPcKfaKcdtfalcbyd;S1jjbHjjjjbbgZBdbaParclfBd94JbbbbhBdnadaw9nmbaDaDNh8Vahcwfhna8KcxfhxJbbbbhBinaPcwfabadgmalaCz:djjjbcbh8LabhYcbhsincbhrindnaCaYarfydbgLcdtgefydbgEaCabarc:81jjbfydbasfcdtfydbgKcdtfydbg8ESmba5aKfRbbg8Acv2a5aLfRbbg3fc;q1jjbfRbbg8Ja3cv2a8Afggc;q1jjbfRbbgdVcFeGTmbdnagc:G1jjbfRbbTmba8EaE0mekdna3a8A9hmba3cufcFeGce0mba8FaefydbaK9hmekaha8Lcx2fg3aKaLadcFeGgEEBdla3aLaKaEEBdba3aEa8JGcb9hBdwa8Lcefh8Lkarclfgrcx9hmbkaYcxfhYascifgsam6mbkdndna8LTmbcbheinaoaCahaecx2fgEydbg8Ecdtfydbc:Se2fgLIdwa8KaEydlg8Ac8S2gKfgrIdwg8XNaLIdzarIdbg80NaLIdaMg8Ya8YMMa8XNaLIdlarIdlg8NNaLIdCa8XNaLId3Mg8Ya8YMMa8NNaLIdba80NaLIdxa8NNaLIdKMg8Ya8YMMa80NaLId8KMMMh8WaCa8Aa8EaEydwgYEgscdtfydbhgaEcwfh8JaEclfhdaxaKfh3aLIdyh8Pcbhrina3arfIdbg8YJbbb;aNaLarfgKc:mefIdba8XaKc;SbfIdbNa80aKc8SfIdbNa8NaKc;mbfIdbNMMMNa8Ya8YNa8PNa8WMMh8Warclfgrca9hmbkaoagc:Se2fgLIdwa8Ka8Ea8AaYEgYc8S2gKfgrIdwg80NaLIdzarIdbg8NNaLIdaMg8Ya8YMMa80NaLIdlarIdlg8PNaLIdCa80NaLId3Mg8Ya8YMMa8PNaLIdba8NNaLIdxa8PNaLIdKMg8Ya8YMMa8NNaLId8KMMMh8XaxaKfh3aLIdyhIcbhrina3arfIdbg8YJbbb;aNaLarfgKc:mefIdba80aKc;SbfIdbNa8NaKc8SfIdbNa8PaKc;mbfIdbNMMMNa8Ya8YNaINa8XMMh8Xarclfgrca9hmbkada8AaYa8W:lg8Ya8X:lg8W9FgrEBdbaEa8EasarEBdba8Ja8Ya8WarEUdbaecefgea8L9hmbkaPcjefcbcj;abz:kjjjb8Aanhra8LhKinaPcjefarydbcO4c;8ZGfgLaLydbcefBdbarcxfhraKcufgKmbkcbhrcbhKinaPcjefarfgLydbh3aLaKBdba3aKfhKarclfgrcj;ab9hmbkcbhranhKinaPcjefaKydbcO4c;8ZGfgLaLydbgLcefBdbavaLcdtfarBdbaKcxfhKa8Larcefgr9hmbkamaw9RgLci9UhcdnalTmbcbhraihKinaKarBdbaKclfhKalarcefgr9hmbkkcbh9caZcbalz:kjjjbhJaLcO9Uh9eacce4hTcbhScbhsdninahavascdtfydbcx2fgYIdwg8Wa8V9EmeaSac9pmeJFFuuh8YdnaTa8L9pmbahavaTcdtfydbcx2fIdwJbb;aZNh8Ykdna8Wa8Y9ETmbaSa9e0mdkdnaJaCaYydlg9hcdtg9ifydbgLfg6RbbaJaCaYydbgecdtg9kfydbg0fg9mRbbVmbdnaHa0cdtgrfydbg3TmbaAaOarfydbcitfhra8KaLc8S2fggcwfhdagclfhza8Ka0c8S2fg8Jcwfhqa8JclfhQcbhKceh8AdnindnaiarydbcdtfydbgEaLSmbaiarclfydbcdtfydbg8EaLSmba8Ka8Ec8S2fg8EIdba8KaEc8S2fgEIdbg8X:tg8YaQIdbaEIdlg80:tg8NNa8JIdba8X:tg8Pa8EIdla80:tg8WN:ta8YazIdba80:tgINagIdba8X:tg8Ra8WN:tNa8WaqIdbaEIdwg80:tg8UNa8Na8EIdwa80:tg8XN:ta8WadIdba80:tg80NaIa8XN:tNa8Xa8PNa8Ua8YN:ta8Xa8RNa80a8YN:tNMMJbbbb9DmdkarcwfhraKcefgKa36h8Aa3aK9hmbkka8AceGTmbaTcefhTxekaYcwfhKaoaLc:Se2faoa0c:Se2fz:fjjjbdndndndna5aefg3Rbbc9:fPdebdkaehrinaiarcdtgrfaLBdbaXarfydbgrae9hmbxikkaXa9ifydbhraXa9kfydbheaia9kfa9hBdbarh9hkaiaecdtfa9hBdbka9mce86bba6ce86bbaKIdbg8YaBaBa8Y9DEhBa9ccefh9ccecda3RbbceSEaSfhSkascefgsa8L9hmbkka9cTmbdnalTmbcbhKa8FhrindnarydbgLcuSmbdnaKaiaLcdtg3fydbgL9hmba8Fa3fydbhLkaraLBdbkarclfhralaKcefgK9hmbkcbhKaahrindnarydbgLcuSmbdnaKaiaLcdtg3fydbgL9hmbaaa3fydbhLkaraLBdbkarclfhralaKcefgK9hmbkkcbhdabhrcbhEindnaiarydbcdtfydbgKaiarclfydbcdtfydbgLSmbaKaiarcwfydbcdtfydbg3SmbaLa3Smbabadcdtfg8EaKBdba8EclfaLBdba8Ecwfa3BdbadcifhdkarcxfhraEcifgEam9pmdxbkkamhdxdkadaw0mbkkdnakTmbakaB:rUdbkaPyd94grcdtaPcKffc98fhKdninarTmeaKydbcbyd;W1jjbH:bjjjbbaKc98fhKarcufhrxbkkaPcj;bbf8Kjjjjbadk;pleouabydbcbaicdtz:kjjjb8Aadci9UhvdnadTmbabydbhodnalTmbaehradhwinaoalarydbcdtfydbcdtfgDaDydbcefBdbarclfhrawcufgwmbxdkkaehradhwinaoarydbcdtfgDaDydbcefBdbarclfhrawcufgwmbkkdnaiTmbabydbhrabydlhwcbhDaihoinawaDBdbawclfhwarydbaDfhDarclfhraocufgombkkdnadci6mbavceavce0EhqabydlhvabydwhrinaecwfydbhwaeclfydbhDaeydbhodnalTmbalawcdtfydbhwalaDcdtfydbhDalaocdtfydbhokaravaocdtfgdydbcitfaDBdbaradydbcitfawBdladadydbcefBdbaravaDcdtfgdydbcitfawBdbaradydbcitfaoBdladadydbcefBdbaravawcdtfgwydbcitfaoBdbarawydbcitfaDBdlawawydbcefBdbaecxfheaqcufgqmbkkdnaiTmbabydlhrabydbhwinararydbawydb9RBdbawclfhwarclfhraicufgimbkkk:Zldouv998Jjjjjbca9Rglczfcwfcbyd11jjbBdbalcb8Pdj1jjb83izalcwfcbydN1jjbBdbalcb8Pd:m1jjb83ibdnadTmbaicd4hvdnabTmbavcdthocbhraehwinabarc8S2fgiaearav2cdtfgDIdbUdbaiaDIdlUdlaiaDIdwUdwcbhiinalczfaifgDawaifIdbgqaDIdbgkakaq9EEUdbalaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkawaofhwarcefgrad9hmbxdkkavcdthrcbhwincbhiinalczfaifgDaeaifIdbgqaDIdbgkakaq9EEUdbalaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkaearfheawcefgwad9hmbkkdnabTmbadTmbJbbbbJbbjZalIdbalIdzgk:tJbbbb:xgqalIdlalIdCgx:tgmamaq9DEgqalIdwalIdKgm:tgPaPaq9DEgq:vaqJbbbb9BEhqinabaqabIdbak:tNUdbabclfgiaqaiIdbax:tNUdbabcwfgiaqaiIdbam:tNUdbabc8Sfhbadcufgdmbkkk:3deluabaeIdbabIdbMUdbabaeIdlabIdlMUdlabaeIdwabIdwMUdwabaeIdxabIdxMUdxabaeIdzabIdzMUdzabaeIdCabIdCMUdCabaeIdKabIdKMUdKabaeId3abId3MUd3abaeIdaabIdaMUdaabaeId8KabId8KMUd8KabaeIdyabIdyMUdycbhdinabadfgic8Sfglaeadfgvc8SfIdbalIdbMUdbaic;mbfglavc;mbfIdbalIdbMUdbaic;Sbfglavc;SbfIdbalIdbMUdbaic:mefgiavc:mefIdbaiIdbMUdbadclfgdca9hmbkk:Qdidui99ducbhi8Jjjjjbca9Rglczfcwfcbyd11jjbBdbalcb8Pdj1jjb83izalcwfcbydN1jjbBdbalcb8Pd:m1jjb83ibdndnaembJbbjFhvJbbjFhoJbbjFhrxekadcd4cdthwincbhdinalczfadfgDabadfIdbgoaDIdbgrarao9EEUdbaladfgDaoaDIdbgrarao9DEUdbadclfgdcx9hmbkabawfhbaicefgiae9hmbkalIdwalIdK:thralIdlalIdC:thoalIdbalIdz:thvkavJbbbb:xgvaoaoav9DEgoararao9DEk9DeeuabcFeaicdtz:kjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk9teiucbcbyd;01jjbgeabcifc98GfgbBd;01jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;01jjbgeabcrfc94GfgbBd;01jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd;01jjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd;01jjbfgdBd;01jjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk6eiucbhidnadTmbdninabRbbglaeRbbgv9hmeaecefheabcefhbadcufgdmbxdkkalav9Rhikaikk:cedbcjwk9PFFuuFFuuFFuuFFuFFFuFFFuFbbbbbbbbeeebeebebbeeebebbbbbebebbbbbebbbdbbbbbbbbbbbbbbbeeeeebebbbbbebbbbbeebbbbbbc;Swkxebbbdbbbj9Kbb"; + var wasm = "b9H79Tebbbe9sq9Geueu9Geub9Gbb9Gquuuuuuu99uueu9GPuuuuuuuuu99uuuueu9Gvuuuuub9Gluuuub9Giuuue999Gluuuueu9GiuuueuiPmdilvorwbDDbeDlve9Weiiviebeoweuecj;jekrNero9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bbz9TW79O9V9Wt9F79P9T9W29P9M95be8E9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9OcttV9P9I91tW7bdX9TW79O9V9Wt9F79P9T9W29P9M959t9J9H2Wbva9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9Wbol79IV9RbrDwebcekdqkq;H9Amdbk8KbabaeadaialavcbcbaoarawaDcbcbz:cjjjbk:m9iiKuY99Ou8Jjjjjbcj;bb9RgP8KjjjjbaPcKfcbc;Kbz:jjjjb8AaPcualcdtgsalcFFFFi0Egzcbyd;S1jjbHjjjjbbgHBdKaPceBd94aPaHBdwaPazcbyd;S1jjbHjjjjbbgOBd3aPcdBd94aPaOBdxaPcuadcitadcFFFFe0Ecbyd;S1jjbHjjjjbbgABdaaPciBd94aPaABdzaPcwfaeadalcbz:djjjbaPazcbyd;S1jjbHjjjjbbgCBd8KaPclBd94aPazcbyd;S1jjbHjjjjbbgXBdyaPcvBd94arcd4hQalcd4alfhLcehKinaKgrcethKaraL6mbkcbhYaPcuarcdtgKarcFFFFi0Ecbyd;S1jjbHjjjjbbgLBd8SaPcoBd94aLcFeaKz:jjjjbh8AdnalTmbavcd4hEarcufh3inaiaYaE2cdtfg5ydlgrcH4ar7c:F:b:DD2a5ydbgrcH4ar7c;D;O:B8J27a5ydwgrcH4ar7c:3F;N8N27hLcbhrdndnina8AaLa3GgLcdtfg8EydbgKcuSmeaiaKaE2cdtfa5cxz:mjjjbTmdarcefgraLfhLara39nmbxdkka8EaYBdbaYhKkaCaYcdtfaKBdbaYcefgYal9hmbkcbhraXhKinaKarBdbaKclfhKalarcefgr9hmbkcbhraChKaXhLindnaraKydbg3SmbaLaXa3cdtfg3ydbBdba3arBdbkaKclfhKaLclfhLalarcefgr9hmbkkcbhLaPalcbyd;S1jjbHjjjjbbg5Bd8WaPcrBd94aPazcbyd;S1jjbHjjjjbbgrBd80aPcwBd94aPazcbyd;S1jjbHjjjjbbgKBdUaPcDBd94arcFeasz:jjjjbh8FaKcFeasz:jjjjbhadnalTmbaAcwfhhindnaHaLcdtgrfydbggTmbaAaOarfydbcitfh8Jaaarfh8Ka8FarfhYcbhEindndna8JaEcitfydbg8AaL9hmbaYaLBdba8KaLBdbxekdnaHa8Acdtgsfydbg8LTmbaAaOasfydbcitgrfydbaLSmea8Lcufh8EaharfhKcbhrina8EarSmearcefhraKydbh3aKcwfhKa3aL9hmbkara8L6mekaaasfgraLa8AarydbcuSEBdbaYa8AaLaYydbcuSEBdbkaEcefgEag9hmbkkaLcefgLal9hmbkaChKaXhLaah3a8FhEcbhrindndnaraKydbg8E9hmbdnaraLydbg8E9hmbaEydbh8Edna3ydbg8Acu9hmba8Ecu9hmba5arfcb86bbxika5arfhYdnara8ASmbara8ESmbaYce86bbxikaYcl86bbxdkdnaraXa8Ecdtg8Afydb9hmbdna3ydbgYcuSmbaraYSmbaEydbgscuSmbarasSmbaaa8AfydbggcuSmbaga8ESmba8Fa8Afydbg8AcuSmba8Aa8ESmbdnaCaYcdtfydbaCa8Acdtfydb9hmbaCascdtfydbaCagcdtfydb9hmba5arfcd86bbxlka5arfcl86bbxika5arfcl86bbxdka5arfcl86bbxeka5arfa5a8EfRbb86bbkaKclfhKaLclfhLa3clfh3aEclfhEalarcefgr9hmbkaqceGTmba5hralhKindnarRbbce9hmbarcl86bbkarcefhraKcufgKmbkkcualcx2alc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbhHaPcKfaPyd94grcdtfaHBdbaParcefgsBd94aHaialavz:ejjjbdnamTmbaPcKfascdtfcuamal2gKcdtaKcFFFFi0Ecbyd;S1jjbHjjjjbbggBdbaParcdfgsBd94dnalTmbaQcdth8AamcdthYcbh8EaghEinaohraxhKaEhLamh3inaLarIdbaKIdbNUdbarclfhraKclfhKaLclfhLa3cufg3mbkaoa8AfhoaEaYfhEa8Ecefg8Eal9hmbkkaghokaPcKfascdtfcualc8S2gralc;D;O;f8U0EgLcbyd;S1jjbHjjjjbbgKBdbaPascefg3Bd94aKcbarz:jjjjbhAdndndnamTmbaPcKfa3cdtfaLcbyd;S1jjbHjjjjbbgxBdbaPascdfgKBd94axcbarz:jjjjb8AaPcKfaKcdtfcuamal2grcltgKarcFFFFb0Ecbyd;S1jjbHjjjjbbgvBdbaPascifBd94avcbaKz:jjjjb8AadmexdkcbhxcbhvadTmekcbhEaehKindnaHaKclfydbg8Ecx2fgrIdbaHaKydbg8Acx2fgLIdbg8M:tg8NaHaKcwfydbgYcx2fg3IdlaLIdlgy:tg8PNa3Idba8M:tgIarIdlay:tg8RN:tg8Sa8SNa8Ra3IdwaLIdwgR:tg8UNa8ParIdwaR:tg8RN:tg8Pa8PNa8RaINa8Ua8NN:tg8Na8NNMM:rgIJbbbb9ETmba8SaI:vh8Sa8NaI:vh8Na8PaI:vh8PkaAaCa8Acdtfydbc8S2fgra8PaI:rgIa8PNNg8RarIdbMUdbara8NaIa8NNg8VNg8UarIdlMUdlara8SaIa8SNg8WNg8XarIdwMUdwara8Va8PNg8VarIdxMUdxara8Wa8PNg8YarIdzMUdzara8Wa8NNg8WarIdCMUdCara8PaIa8SaRNa8Pa8MNaya8NNMM:mgyNg8MNg8ParIdKMUdKara8Na8MNg8NarId3MUd3ara8Sa8MNg8SarIdaMUdaara8MayNg8MarId8KMUd8KaraIarIdyMUdyaAaCa8Ecdtfydbc8S2fgra8RarIdbMUdbara8UarIdlMUdlara8XarIdwMUdwara8VarIdxMUdxara8YarIdzMUdzara8WarIdCMUdCara8ParIdKMUdKara8NarId3MUd3ara8SarIdaMUdaara8MarId8KMUd8KaraIarIdyMUdyaAaCaYcdtfydbc8S2fgra8RarIdbMUdbara8UarIdlMUdlara8XarIdwMUdwara8VarIdxMUdxara8YarIdzMUdzara8WarIdCMUdCara8ParIdKMUdKara8NarId3MUd3ara8SarIdaMUdaara8MarId8KMUd8KaraIarIdyMUdyaKcxfhKaEcifgEad6mbkcbh8EaehYincbhKina5aeaKc:81jjbfydbg8Aa8EfcdtfydbgLfRbbhrdndna5aYaKfydbg3fRbbgEc99fcFeGcpe0mbarceSmbarcd9hmekdnaEcufcFeGce0mba8Fa3cdtfydbaL9hmekdnarcufcFeGce0mbaaaLcdtfydba39hmekdnaEcv2arfc:G1jjbfRbbTmbaCaLcdtfydbaCa3cdtfydb0mekJbbacJbbjZarceSEhIaEceShsaHaea8Acdtc:81jjbfydba8Efcdtfydbcx2fhrdnaHaLcx2fgEIdwaHa3cx2fg8AIdwgy:tg8Pa8PNaEIdba8AIdbgR:tg8Na8NNaEIdla8AIdlg8R:tg8Sa8SNMM:rg8MJbbbb9ETmba8Pa8M:vh8Pa8Sa8M:vh8Sa8Na8M:vh8NkJbbacaIasEh8WdnarIdway:tgIa8PaIa8PNarIdbaR:tg8Xa8NNa8SarIdla8R:tg8VNMMg8UN:tgIaINa8Xa8Na8UN:tg8Pa8PNa8Va8Sa8UN:tg8Na8NNMM:rg8SJbbbb9ETmbaIa8S:vhIa8Na8S:vh8Na8Pa8S:vh8PkaAaCa3cdtfydbc8S2fgra8Pa8Wa8MNg8Sa8PNNg8UarIdbMUdbara8Na8Sa8NNg8WNg8XarIdlMUdlaraIa8SaINg8MNg8VarIdwMUdwara8Wa8PNg8WarIdxMUdxara8Ma8PNg8YarIdzMUdzara8Ma8NNg8ZarIdCMUdCara8Pa8SaIayNa8PaRNa8Ra8NNMM:mgyNg8MNg8ParIdKMUdKara8Na8MNg8NarId3MUd3araIa8MNgIarIdaMUdaara8MayNg8MarId8KMUd8Kara8SarIdyMUdyaAaCaLcdtfydbc8S2fgra8UarIdbMUdbara8XarIdlMUdlara8VarIdwMUdwara8WarIdxMUdxara8YarIdzMUdzara8ZarIdCMUdCara8ParIdKMUdKara8NarId3MUd3araIarIdaMUdaara8MarId8KMUd8Kara8SarIdyMUdykaKclfgKcx9hmbkaYcxfhYa8Ecifg8Ead6mbkamTmbcbh8AinJbbbbhRaHaea8AcdtfgrclfydbgYcx2fgKIdwaHarydbgscx2fgLIdwg8V:tg8Na8NNaKIdbaLIdbg8Y:tgIaINaKIdlaLIdlg8Z:tg8Sa8SNMMg8WaHarcwfydbggcx2fgrIdwa8V:tg8MNa8Na8Na8MNaIarIdba8Y:tgyNa8SarIdla8Z:tg8RNMMg8PN:tJbbbbJbbjZa8Wa8Ma8MNayayNa8Ra8RNMMg8XNa8Pa8PN:tg8U:va8UJbbbb9BEg8UNh80a8Xa8NNa8Ma8PN:ta8UNh81a8Wa8RNa8Sa8PN:ta8UNhBa8Xa8SNa8Ra8PN:ta8UNh83a8WayNaIa8PN:ta8UNhUa8XaINaya8PN:ta8UNh85aIa8RNaya8SN:tg8Pa8PNa8Sa8MNa8Ra8NN:tg8Pa8PNa8NayNa8MaIN:tg8Pa8PNMM:r:rh8Paoasam2cdtfhKaoagam2cdtfhLaoaYam2cdtfh3a8V:mh86a8Z:mh87a8Y:mh88cbhEamh8EJbbbbh8RJbbbbh8UJbbbbh8WJbbbbh8XJbbbbh8VJbbbbh8YJbbbbh8ZJbbbbh89Jbbbbh8:inaPcjefaEfgrcwfa8Pa81a3IdbaKIdbg8M:tg8SNa80aLIdba8M:tgyNMg8NNUdbarclfa8Pa83a8SNaBayNMgINUdbara8Pa85a8SNaUayNMg8SNUdbarcxfa8Pa86a8NNa87aINa8Ma88a8SNMMMg8MNUdba8Pa8NaINNa8XMh8Xa8Pa8Na8SNNa8VMh8Va8PaIa8SNNa8YMh8Ya8Pa8Ma8MNNaRMhRa8Pa8Na8MNNa8RMh8Ra8PaIa8MNNa8UMh8Ua8Pa8Sa8MNNa8WMh8Wa8Pa8Na8NNNa8ZMh8Za8PaIaINNa89Mh89a8Pa8Sa8SNNa8:Mh8:aKclfhKa3clfh3aLclfhLaEczfhEa8Ecufg8EmbkaxaCascdtfydbgKc8S2fgra8:arIdbMUdbara89arIdlMUdlara8ZarIdwMUdwara8YarIdxMUdxara8VarIdzMUdzara8XarIdCMUdCara8WarIdKMUdKara8UarId3MUd3ara8RarIdaMUdaaraRarId8KMUd8Kara8ParIdyMUdyaxaCaYcdtfydbgYc8S2fgra8:arIdbMUdbara89arIdlMUdlara8ZarIdwMUdwara8YarIdxMUdxara8VarIdzMUdzara8XarIdCMUdCara8WarIdKMUdKara8UarId3MUd3ara8RarIdaMUdaaraRarId8KMUd8Kara8ParIdyMUdyaxaCagcdtfydbgsc8S2fgra8:arIdbMUdbara89arIdlMUdlara8ZarIdwMUdwara8YarIdxMUdxara8VarIdzMUdzara8XarIdCMUdCara8WarIdKMUdKara8UarId3MUd3ara8RarIdaMUdaaraRarId8KMUd8Kara8ParIdyMUdyavaKam2cltfh8EcbhKamh3ina8EaKfgraPcjefaKfgLIdbarIdbMUdbarclfgEaLclfIdbaEIdbMUdbarcwfgEaLcwfIdbaEIdbMUdbarcxfgraLcxfIdbarIdbMUdbaKczfhKa3cufg3mbkavaYam2cltfh8EcbhKamh3ina8EaKfgraPcjefaKfgLIdbarIdbMUdbarclfgEaLclfIdbaEIdbMUdbarcwfgEaLcwfIdbaEIdbMUdbarcxfgraLcxfIdbarIdbMUdbaKczfhKa3cufg3mbkavasam2cltfh8EcbhKamh3ina8EaKfgraPcjefaKfgLIdbarIdbMUdbarclfgEaLclfIdbaEIdbMUdbarcwfgEaLcwfIdbaEIdbMUdbarcxfgraLcxfIdbarIdbMUdbaKczfhKa3cufg3mbka8Acifg8Aad6mbkkdnabaeSmbabaeadcdtz1jjjb8Akcuadcx2adc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbh8KaPcKfaPyd94grcdtfa8KBdbaParcefgKBd94aPcKfaKcdtfcuadcdtadcFFFFi0Ecbyd;S1jjbHjjjjbbgqBdbaParcdfgKBd94aPcKfaKcdtfazcbyd;S1jjbHjjjjbbgiBdbaParcifgKBd94aPcKfaKcdtfalcbyd;S1jjbHjjjjbbgZBdbaParclfBd94Jbbbbh8Ydnadaw9nmbaDaDNh8Vamclthna8KcwfhcJbbbbh8YinaPcwfabadgOalaCz:djjjbcbh8LabhYcbhsincbhrindnaCaYarfydbgLcdtgefydbgEaCabarc:81jjbfydbasfcdtfydbgKcdtfydbg8ESmba5aKfRbbg8Acv2a5aLfRbbg3fc;q1jjbfRbbg8Ja3cv2a8Afggc;q1jjbfRbbgdVcFeGTmbdnagc:G1jjbfRbbTmba8EaE0mekdna3a8A9hmba3cufcFeGce0mba8FaefydbaK9hmeka8Ka8Lcx2fg3aKaLadcFeGgEEBdla3aLaKaEEBdba3aEa8JGcb9hBdwa8Lcefh8Lkarclfgrcx9hmbkaYcxfhYascifgsaO6mbkdndna8LTmbcbh8AinJbbbbJbbjZaAaCa8Ka8Acx2fg3ydlgEa3ydbg8Ea3ydwgKEgYcdtfydbg8Jc8S2gdfgrIdyg8P:va8PJbbbb9BEarIdwaHa8EaEaKEgecx2fgKIdwg8SNarIdzaKIdbg8MNarIdaMg8Pa8PMMa8SNarIdlaKIdlgyNarIdCa8SNarId3Mg8Pa8PMMayNarIdba8MNarIdxayNarIdKMg8Pa8PMMa8MNarId8KMMM:lNh8WJbbbbJbbjZaAaCa8Ecdtfydbghc8S2gLfgrIdyg8P:va8PJbbbb9BEarIdwaHaEcx2fgKIdwgINarIdzaKIdbgRNarIdaMg8Pa8PMMaINarIdlaKIdlg8RNarIdCaINarId3Mg8Pa8PMMa8RNarIdbaRNarIdxa8RNarIdKMg8Pa8PMMaRNarId8KMMM:lNh8Xa3cwfhsa3clfhgdnamTmbaxaLfgLIdwaINaLIdzaRNaLIdaMg8Pa8PMMaINaLIdla8RNaLIdCaINaLId3Mg8Pa8PMMa8RNaLIdbaRNaLIdxa8RNaLIdKMg8Pa8PMMaRNaLId8KMMMh8NaoaEam2cdtfhKavaham2cltfhraLIdyh8UamhLinaKIdbg8PJbbb;aNarcxfIdbaIarcwfIdbNaRarIdbNa8RarclfIdbNMMMNa8Pa8PNa8UNa8NMMh8NaKclfhKarczfhraLcufgLmbkaxadfgLIdwa8SNaLIdza8MNaLIdaMg8Pa8PMMa8SNaLIdlayNaLIdCa8SNaLId3Mg8Pa8PMMayNaLIdba8MNaLIdxayNaLIdKMg8Pa8PMMa8MNaLId8KMMMhIaoaeam2cdtfhKava8Jam2cltfhraLIdyhRamhLinaKIdbg8PJbbb;aNarcxfIdba8SarcwfIdbNa8MarIdbNayarclfIdbNMMMNa8Pa8PNaRNaIMMhIaKclfhKarczfhraLcufgLmbka8WaI:lMh8Wa8Xa8N:lMh8XkagaEaea8Xa8W9FgrEBdba3a8EaYarEBdbasa8Xa8WarEUdba8Acefg8Aa8L9hmbkaPcjefcbcj;abz:jjjjb8Aachra8LhKinaPcjefarydbcO4c;8ZGfgLaLydbcefBdbarcxfhraKcufgKmbkcbhrcbhKinaPcjefarfgLydbh3aLaKBdba3aKfhKarclfgrcj;ab9hmbkcbhrachKinaPcjefaKydbcO4c;8ZGfgLaLydbgLcefBdbaqaLcdtfarBdbaKcxfhKa8Larcefgr9hmbkaOaw9RgLci9Uh9cdnalTmbcbhraihKinaKarBdbaKclfhKalarcefgr9hmbkkcbhJaZcbalz:jjjjbh9eaLcO9UhTa9cce4hSaPydwh9haPydxh9iaPydzh6cbh9kcbhgdnina8Kaqagcdtfydbcx2fgsIdwg8Na8V9Emea9ka9c9pmeJFFuuh8PdnaSa8L9pmba8KaqaScdtfydbcx2fIdwJbb;aZNh8Pkdna8Na8P9ETmba9kaT0mdkdna9eaCasydlg0cdtg9mfydbg3fg9nRbba9eaCasydbgYcdtg9ofydbg9pfg9qRbbVmbdna9ha9pcdtgrfydbgLTmba6a9iarfydbcitfhraHa3cx2fgecwfhdaeclfhhaHa9pcx2fg8Jcwfhza8JclfhQcbhKceh8AdnindnaiarydbcdtfydbgEa3Smbaiarclfydbcdtfydbg8Ea3SmbaHa8Ecx2fg8EIdbaHaEcx2fgEIdbgI:tg8PaQIdbaEIdlg8S:tg8MNa8JIdbaI:tgya8EIdla8S:tg8NN:ta8PahIdba8S:tgRNaeIdbaI:tg8Ra8NN:tNa8NazIdbaEIdwg8S:tg8UNa8Ma8EIdwa8S:tgIN:ta8NadIdba8S:tg8SNaRaIN:tNaIayNa8Ua8PN:taIa8RNa8Sa8PN:tNMMJbbbb9DmdkarcwfhraKcefgKaL6h8AaLaK9hmbkka8AceGTmbaScefhSxekaAa3c8S2gLfgraAa9pc8S2gEfgKIdbarIdbMUdbaraKIdlarIdlMUdlaraKIdwarIdwMUdwaraKIdxarIdxMUdxaraKIdzarIdzMUdzaraKIdCarIdCMUdCaraKIdKarIdKMUdKaraKId3arId3MUd3araKIdaarIdaMUdaaraKId8KarId8KMUd8KaraKIdyarIdyMUdydnamTmbaxaLfgraxaEfgKIdbarIdbMUdbaraKIdlarIdlMUdlaraKIdwarIdwMUdwaraKIdxarIdxMUdxaraKIdzarIdzMUdzaraKIdCarIdCMUdCaraKIdKarIdKMUdKaraKId3arId3MUd3araKIdaarIdaMUdaaraKId8KarId8KMUd8KaraKIdyarIdyMUdyana9p2h8Aana32heavhKamhEinaKaefgraKa8AfgLIdbarIdbMUdbarclfg8EaLclfIdba8EIdbMUdbarcwfg8EaLcwfIdba8EIdbMUdbarcxfgraLcxfIdbarIdbMUdbaKczfhKaEcufgEmbkkascwfhKdndndndna5aYfgLRbbc9:fPdebdkaYhrinaiarcdtgrfa3BdbaXarfydbgraY9hmbxikkaXa9mfydbhraXa9ofydbhYaia9ofa0Bdbarh0kaiaYcdtfa0Bdbka9qce86bba9nce86bbaKIdbg8Pa8Ya8Ya8P9DEh8YaJcefhJcecdaLRbbceSEa9kfh9kkagcefgga8L9hmbkkaJTmbdnalTmbcbhKa8FhrindnarydbgLcuSmbdnaKaiaLcdtg3fydbgL9hmba8Fa3fydbhLkaraLBdbkarclfhralaKcefgK9hmbkcbhKaahrindnarydbgLcuSmbdnaKaiaLcdtg3fydbgL9hmbaaa3fydbhLkaraLBdbkarclfhralaKcefgK9hmbkkcbhdabhrcbhEindnaiarydbcdtfydbgKaiarclfydbcdtfydbgLSmbaKaiarcwfydbcdtfydbg3SmbaLa3Smbabadcdtfg8EaKBdba8EclfaLBdba8Ecwfa3BdbadcifhdkarcxfhraEcifgEaO9pmdxbkkaOhdxdkadaw0mbkkdnakTmbaka8Y:rUdbkaPyd94grcdtaPcKffc98fhCdninarTmeaCydbcbyd;W1jjbH:bjjjbbaCc98fhCarcufhrxbkkaPcj;bbf8Kjjjjbadk;pleouabydbcbaicdtz:jjjjb8Aadci9UhvdnadTmbabydbhodnalTmbaehradhwinaoalarydbcdtfydbcdtfgDaDydbcefBdbarclfhrawcufgwmbxdkkaehradhwinaoarydbcdtfgDaDydbcefBdbarclfhrawcufgwmbkkdnaiTmbabydbhrabydlhwcbhDaihoinawaDBdbawclfhwarydbaDfhDarclfhraocufgombkkdnadci6mbavceavce0EhqabydlhvabydwhrinaecwfydbhwaeclfydbhDaeydbhodnalTmbalawcdtfydbhwalaDcdtfydbhDalaocdtfydbhokaravaocdtfgdydbcitfaDBdbaradydbcitfawBdladadydbcefBdbaravaDcdtfgdydbcitfawBdbaradydbcitfaoBdladadydbcefBdbaravawcdtfgwydbcitfaoBdbarawydbcitfaDBdlawawydbcefBdbaecxfheaqcufgqmbkkdnaiTmbabydlhrabydbhwinararydbawydb9RBdbawclfhwarclfhraicufgimbkkk:Zldouv998Jjjjjbca9Rglczfcwfcbyd11jjbBdbalcb8Pdj1jjb83izalcwfcbydN1jjbBdbalcb8Pd:m1jjb83ibdnadTmbaicd4hvdnabTmbavcdthocbhraehwinabarcx2fgiaearav2cdtfgDIdbUdbaiaDIdlUdlaiaDIdwUdwcbhiinalczfaifgDawaifIdbgqaDIdbgkakaq9EEUdbalaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkawaofhwarcefgrad9hmbxdkkavcdthrcbhwincbhiinalczfaifgDaeaifIdbgqaDIdbgkakaq9EEUdbalaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkaearfheawcefgwad9hmbkkdnabTmbadTmbJbbbbJbbjZalIdbalIdzgk:tJbbbb:xgqalIdlalIdCgx:tgmamaq9DEgqalIdwalIdKgm:tgPaPaq9DEgq:vaqJbbbb9BEhqinabaqabIdbak:tNUdbabclfgiaqaiIdbax:tNUdbabcwfgiaqaiIdbam:tNUdbabcxfhbadcufgdmbkkk:Qdidui99ducbhi8Jjjjjbca9Rglczfcwfcbyd11jjbBdbalcb8Pdj1jjb83izalcwfcbydN1jjbBdbalcb8Pd:m1jjb83ibdndnaembJbbjFhvJbbjFhoJbbjFhrxekadcd4cdthwincbhdinalczfadfgDabadfIdbgoaDIdbgrarao9EEUdbaladfgDaoaDIdbgrarao9DEUdbadclfgdcx9hmbkabawfhbaicefgiae9hmbkalIdwalIdK:thralIdlalIdC:thoalIdbalIdz:thvkavJbbbb:xgvaoaoav9DEgoararao9DEk9DeeuabcFeaicdtz:jjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk9teiucbcbyd;01jjbgeabcifc98GfgbBd;01jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;01jjbgeabcrfc94GfgbBd;01jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd;01jjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd;01jjbfgdBd;01jjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk6eiucbhidnadTmbdninabRbbglaeRbbgv9hmeaecefheabcefhbadcufgdmbxdkkalav9Rhikaikk:cedbcjwk9PFFuuFFuuFFuuFFuFFFuFFFuFbbbbbbbbeeebeebebbeeebebbbbbebebbbbbebbbdbbbbbbbbbbbbbbbeeeeebebbbbbebbbbbeebbbbbbc;Swkxebbbdbbbj9Kbb"; var wasmpack = new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]); @@ -169,8 +169,7 @@ var MeshoptSimplifier = (function() { return result; }, - // TODO: flags wrt attribute weights order? - simplifyWithAttributes: function(indices, vertex_positions, vertex_positions_stride, vertex_attributes, vertex_attributes_stride, target_index_count, target_error, flags, attribute_weights) { + simplifyWithAttributes: function(indices, vertex_positions, vertex_positions_stride, vertex_attributes, vertex_attributes_stride, target_index_count, target_error, attribute_weights, flags) { assert(indices instanceof Uint32Array || indices instanceof Int32Array || indices instanceof Uint16Array || indices instanceof Int16Array); assert(indices.length % 3 == 0); assert(vertex_positions instanceof Float32Array); diff --git a/src/simplifier.cpp b/src/simplifier.cpp index ac64bd4e8..0cb7d4afc 100644 --- a/src/simplifier.cpp +++ b/src/simplifier.cpp @@ -546,7 +546,7 @@ static float quadricError(const Quadric& Q, const QuadricGrad* G, size_t attribu r += ry * v.y; r += rz * v.z; - // see quadricUpdateAttributes for general derivation; here we need to add the parts of (eval(pos) - attr)^2 that depend on attr + // see quadricFromAttributes for general derivation; here we need to add the parts of (eval(pos) - attr)^2 that depend on attr for (size_t k = 0; k < attribute_count; ++k) { float a = va[k]; @@ -644,7 +644,7 @@ static void quadricFromAttributes(Quadric& Q, QuadricGrad* G, const Vector3& p0, // weight is scaled linearly with edge length Vector3 normal = {p10.y * p20.z - p10.z * p20.y, p10.z * p20.x - p10.x * p20.z, p10.x * p20.y - p10.y * p20.x}; float area = sqrtf(normal.x * normal.x + normal.y * normal.y + normal.z * normal.z); - float w = sqrtf(area); + float w = sqrtf(area); // TODO this needs more experimentation // we compute gradients using barycentric coordinates; barycentric coordinates can be computed as follows: // v = (d11 * d20 - d01 * d21) / denom