@galacean/engine-loader 1.3.25 → 1.3.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js CHANGED
@@ -286,7 +286,7 @@ var FileHeader = /*#__PURE__*/ function() {
286
286
  exports.MeshDecoder = /*#__PURE__*/ function() {
287
287
  function MeshDecoder() {}
288
288
  MeshDecoder.decode = function decode(engine, bufferReader) {
289
- return new Promise(function(resolve) {
289
+ return new engineCore.AssetPromise(function(resolve) {
290
290
  var modelMesh = new engineCore.ModelMesh(engine);
291
291
  var jsonDataString = bufferReader.nextStr();
292
292
  var encodedMeshData = JSON.parse(jsonDataString);
@@ -420,7 +420,7 @@ function float32ArrayToVector2(float32Array, vertexCount) {
420
420
  exports.Texture2DDecoder = /*#__PURE__*/ function() {
421
421
  function Texture2DDecoder() {}
422
422
  Texture2DDecoder.decode = function decode(engine, bufferReader) {
423
- return new Promise(function(resolve, reject) {
423
+ return new engineCore.AssetPromise(function(resolve, reject) {
424
424
  var objectId = bufferReader.nextStr();
425
425
  var mipmap = !!bufferReader.nextUint8();
426
426
  var filterMode = bufferReader.nextUint8();
@@ -744,7 +744,7 @@ exports.InterpolableValueType = void 0;
744
744
  exports.AnimationClipDecoder = /*#__PURE__*/ function() {
745
745
  function AnimationClipDecoder() {}
746
746
  AnimationClipDecoder.decode = function decode(engine, bufferReader) {
747
- return new Promise(function(resolve) {
747
+ return new engineCore.AssetPromise(function(resolve) {
748
748
  var name = bufferReader.nextStr();
749
749
  var clip = new engineCore.AnimationClip(name);
750
750
  var eventsLen = bufferReader.nextUint16();
@@ -1703,6 +1703,203 @@ FontLoader = __decorate([
1703
1703
  ], false)
1704
1704
  ], FontLoader);
1705
1705
 
1706
+ // Source: https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js
1707
+ var ready;
1708
+ function getMeshoptDecoder() {
1709
+ var unpack = function unpack(data) {
1710
+ var result = new Uint8Array(data.length);
1711
+ for(var i = 0; i < data.length; ++i){
1712
+ var ch = data.charCodeAt(i);
1713
+ result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
1714
+ }
1715
+ var write = 0;
1716
+ for(var i1 = 0; i1 < data.length; ++i1){
1717
+ result[write++] = result[i1] < 60 ? wasmpack[result[i1]] : (result[i1] - 60) * 64 + result[++i1];
1718
+ }
1719
+ return result.buffer.slice(0, write);
1720
+ };
1721
+ var decode = function decode(fun, target, count, size, source, filter) {
1722
+ var sbrk = instance.exports.sbrk;
1723
+ var count4 = count + 3 & ~3;
1724
+ var tp = sbrk(count4 * size);
1725
+ var sp = sbrk(source.length);
1726
+ var heap = new Uint8Array(instance.exports.memory.buffer);
1727
+ heap.set(source, sp);
1728
+ var res = fun(tp, count, size, sp, source.length);
1729
+ if (res == 0 && filter) {
1730
+ filter(tp, count4, size);
1731
+ }
1732
+ target.set(heap.subarray(tp, tp + count * size));
1733
+ sbrk(tp - sbrk(0));
1734
+ if (res != 0) {
1735
+ throw new Error("Malformed buffer data: " + res);
1736
+ }
1737
+ };
1738
+ var createWorker = function createWorker(url) {
1739
+ var worker = {
1740
+ object: new Worker(url),
1741
+ pending: 0,
1742
+ requests: {}
1743
+ };
1744
+ worker.object.onmessage = function(event) {
1745
+ var data = event.data;
1746
+ worker.pending -= data.count;
1747
+ worker.requests[data.id][data.action](data.value);
1748
+ delete worker.requests[data.id];
1749
+ };
1750
+ return worker;
1751
+ };
1752
+ var initWorkers = function initWorkers(count) {
1753
+ var source = "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(unpack(wasm)) + "]), {})" + ".then(function(result) {instance = result.instance; instance.exports.__wasm_call_ctors();});\n" + "self.onmessage = workerProcess;\n" + 'function decode(fun, target, count, size, source, filter) {\n const sbrk = instance.exports.sbrk;\n const count4 = (count + 3) & ~3;\n const tp = sbrk(count4 * size);\n const sp = sbrk(source.length);\n const heap = new Uint8Array(instance.exports.memory.buffer);\n heap.set(source, sp);\n const res = fun(tp, count, size, sp, source.length);\n if (res == 0 && filter) {\n filter(tp, count4, size);\n }\n target.set(heap.subarray(tp, tp + count * size));\n sbrk(tp - sbrk(0));\n if (res != 0) {\n throw new Error("Malformed buffer data: " + res);\n }\n }\n' + 'function workerProcess(event) {\n ready.then(function () {\n const data = event.data;\n try {\n const target = new Uint8Array(data.count * data.size);\n decode(instance.exports[data.mode], target, data.count, data.size, data.source, instance.exports[data.filter]);\n self.postMessage({ id: data.id, count: data.count, action: "resolve", value: target }, [target.buffer]);\n } catch (error) {\n self.postMessage({\n id: data.id,\n count: data.count,\n action: "reject",\n value: error\n });\n }\n });\n }';
1754
+ var blob = new Blob([
1755
+ source
1756
+ ], {
1757
+ type: "text/javascript"
1758
+ });
1759
+ var url = URL.createObjectURL(blob);
1760
+ for(var i = 0; i < count; ++i){
1761
+ workers[i] = createWorker(url);
1762
+ }
1763
+ URL.revokeObjectURL(url);
1764
+ };
1765
+ var decodeWorker = function decodeWorker(count, size, source, mode, filter) {
1766
+ var worker = workers[0];
1767
+ for(var i = 1; i < workers.length; ++i){
1768
+ if (workers[i].pending < worker.pending) {
1769
+ worker = workers[i];
1770
+ }
1771
+ }
1772
+ return new Promise(function(resolve, reject) {
1773
+ var data = new Uint8Array(source);
1774
+ var id = requestId++;
1775
+ worker.pending += count;
1776
+ worker.requests[id] = {
1777
+ resolve: resolve,
1778
+ reject: reject
1779
+ };
1780
+ worker.object.postMessage({
1781
+ id: id,
1782
+ count: count,
1783
+ size: size,
1784
+ source: data,
1785
+ mode: mode,
1786
+ filter: filter
1787
+ }, [
1788
+ data.buffer
1789
+ ]);
1790
+ });
1791
+ };
1792
+ if (ready) return ready;
1793
+ var wasm_base = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb";
1794
+ var wasm_simd = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb";
1795
+ var wasmpack = new Uint8Array([
1796
+ 32,
1797
+ 0,
1798
+ 65,
1799
+ 2,
1800
+ 1,
1801
+ 106,
1802
+ 34,
1803
+ 33,
1804
+ 3,
1805
+ 128,
1806
+ 11,
1807
+ 4,
1808
+ 13,
1809
+ 64,
1810
+ 6,
1811
+ 253,
1812
+ 10,
1813
+ 7,
1814
+ 15,
1815
+ 116,
1816
+ 127,
1817
+ 5,
1818
+ 8,
1819
+ 12,
1820
+ 40,
1821
+ 16,
1822
+ 19,
1823
+ 54,
1824
+ 20,
1825
+ 9,
1826
+ 27,
1827
+ 255,
1828
+ 113,
1829
+ 17,
1830
+ 42,
1831
+ 67,
1832
+ 24,
1833
+ 23,
1834
+ 146,
1835
+ 148,
1836
+ 18,
1837
+ 14,
1838
+ 22,
1839
+ 45,
1840
+ 70,
1841
+ 69,
1842
+ 56,
1843
+ 114,
1844
+ 101,
1845
+ 21,
1846
+ 25,
1847
+ 63,
1848
+ 75,
1849
+ 136,
1850
+ 108,
1851
+ 28,
1852
+ 118,
1853
+ 29,
1854
+ 73,
1855
+ 115
1856
+ ]);
1857
+ // @ts-ignore
1858
+ var wasm = engineCore.SystemInfo._detectSIMDSupported() ? wasm_simd : wasm_base;
1859
+ var instance;
1860
+ ready = WebAssembly.instantiate(unpack(wasm)).then(function(result) {
1861
+ instance = result.instance;
1862
+ instance.exports.__wasm_call_ctors();
1863
+ }).then(function() {
1864
+ return {
1865
+ workerCount: 4,
1866
+ ready: ready,
1867
+ useWorkers: function useWorkers(workerCount) {
1868
+ this.workerCount = workerCount != null ? workerCount : this.workerCount;
1869
+ initWorkers(this.workerCount);
1870
+ },
1871
+ decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
1872
+ if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
1873
+ if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
1874
+ return ready.then(function() {
1875
+ var target = new Uint8Array(count * stride);
1876
+ decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
1877
+ return target;
1878
+ });
1879
+ },
1880
+ release: function release() {
1881
+ for(var i = 0; i < workers.length; i++){
1882
+ workers[i].object.terminate();
1883
+ }
1884
+ }
1885
+ };
1886
+ });
1887
+ var filters = {
1888
+ NONE: "",
1889
+ OCTAHEDRAL: "meshopt_decodeFilterOct",
1890
+ QUATERNION: "meshopt_decodeFilterQuat",
1891
+ EXPONENTIAL: "meshopt_decodeFilterExp"
1892
+ };
1893
+ var decoders = {
1894
+ ATTRIBUTES: "meshopt_decodeVertexBuffer",
1895
+ TRIANGLES: "meshopt_decodeIndexBuffer",
1896
+ INDICES: "meshopt_decodeIndexSequence"
1897
+ };
1898
+ var workers = [];
1899
+ var requestId = 0;
1900
+ return ready;
1901
+ }
1902
+
1706
1903
  /**
1707
1904
  * The glTF resource.
1708
1905
  */ var GLTFResource = /*#__PURE__*/ function(ReferResource1) {
@@ -1729,14 +1926,16 @@ FontLoader = __decorate([
1729
1926
  materials && this._disassociationSuperResource(materials);
1730
1927
  if (meshes) {
1731
1928
  for(var i = 0, n = meshes.length; i < n; i++){
1732
- this._disassociationSuperResource(meshes[i]);
1929
+ var meshArr = meshes[i];
1930
+ meshArr && this._disassociationSuperResource(meshArr);
1733
1931
  }
1734
1932
  }
1735
1933
  };
1736
1934
  _proto._disassociationSuperResource = function _disassociationSuperResource(resources) {
1737
1935
  for(var i = 0, n = resources.length; i < n; i++){
1738
- // @ts-ignore
1739
- resources[i]._disassociationSuperResource(this);
1936
+ var // @ts-ignore
1937
+ _resources_i;
1938
+ (_resources_i = resources[i]) == null ? void 0 : _resources_i._disassociationSuperResource(this);
1740
1939
  }
1741
1940
  };
1742
1941
  _create_class(GLTFResource, [
@@ -1927,6 +2126,7 @@ var TextureWrapMode;
1927
2126
  this.params = params;
1928
2127
  this.accessorBufferCache = {};
1929
2128
  this.needAnimatorController = false;
2129
+ this./** @internal */ _getPromises = [];
1930
2130
  this._resourceCache = new Map();
1931
2131
  this._progress = {
1932
2132
  taskDetail: {},
@@ -1951,7 +2151,7 @@ var TextureWrapMode;
1951
2151
  var _this = this;
1952
2152
  var parser = GLTFParserContext._parsers[type];
1953
2153
  if (!parser) {
1954
- return Promise.resolve(null);
2154
+ return engineCore.AssetPromise.resolve(null);
1955
2155
  }
1956
2156
  var cache = this._resourceCache;
1957
2157
  var cacheKey = index === undefined ? "" + type : type + ":" + index;
@@ -1967,7 +2167,7 @@ var TextureWrapMode;
1967
2167
  if (index === undefined) {
1968
2168
  resource = type === 8 ? glTFItems.map(function(_, index) {
1969
2169
  return _this.get(type, index);
1970
- }) : Promise.all(glTFItems.map(function(_, index) {
2170
+ }) : engineCore.AssetPromise.all(glTFItems.map(function(_, index) {
1971
2171
  return _this.get(type, index);
1972
2172
  }));
1973
2173
  } else {
@@ -1975,12 +2175,15 @@ var TextureWrapMode;
1975
2175
  isSubAsset && this._handleSubAsset(resource, type, index);
1976
2176
  }
1977
2177
  } else {
1978
- resource = Promise.resolve(null);
2178
+ resource = engineCore.AssetPromise.resolve(null);
1979
2179
  }
1980
2180
  } else {
1981
2181
  resource = parser.parse(this, index);
1982
2182
  isSubAsset && this._handleSubAsset(resource, type, index);
1983
2183
  }
2184
+ if (_instanceof(resource, engineCore.AssetPromise)) {
2185
+ this._getPromises.push(resource);
2186
+ }
1984
2187
  cache.set(cacheKey, resource);
1985
2188
  return resource;
1986
2189
  };
@@ -1989,7 +2192,7 @@ var TextureWrapMode;
1989
2192
  var promise = this.get(0).then(function(json) {
1990
2193
  _this.glTF = json;
1991
2194
  _this.needAnimatorController = !!(json.skins || json.animations);
1992
- return Promise.all([
2195
+ return engineCore.AssetPromise.all([
1993
2196
  _this.get(1),
1994
2197
  _this.get(5),
1995
2198
  _this.get(6),
@@ -2020,6 +2223,8 @@ var TextureWrapMode;
2020
2223
  task.total += 1;
2021
2224
  taskPromise.then(function() {
2022
2225
  _this._setTaskCompleteProgress(++task.loaded, task.total);
2226
+ }, function(e) {
2227
+ engineCore.Logger.error("Failed to complete task", e);
2023
2228
  });
2024
2229
  };
2025
2230
  _proto._handleSubAsset = function _handleSubAsset(resource, type, index) {
@@ -2052,6 +2257,8 @@ var TextureWrapMode;
2052
2257
  _this.resourceManager._onSubAssetSuccess(url, "defaultSceneRoot", item);
2053
2258
  }
2054
2259
  }
2260
+ }).catch(function(e) {
2261
+ engineCore.Logger.error("GLTFParserContext", "Failed to load " + glTFResourceKey + " " + index + ": " + e);
2055
2262
  });
2056
2263
  }
2057
2264
  };
@@ -2232,13 +2439,15 @@ function registerGLTFParser(pipeline) {
2232
2439
  bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset1, count1));
2233
2440
  }
2234
2441
  return bufferInfo;
2442
+ }).catch(function(e) {
2443
+ engineCore.Logger.error("GLTFUtil getAccessorBuffer error", e);
2235
2444
  });
2236
2445
  } else {
2237
2446
  var count = accessorCount * dataElementSize;
2238
2447
  var data = new TypedArray(count);
2239
2448
  var bufferInfo = new BufferInfo(data, false, elementStride);
2240
2449
  bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(undefined, TypedArray, undefined, count));
2241
- promise = Promise.resolve(bufferInfo);
2450
+ promise = engineCore.AssetPromise.resolve(bufferInfo);
2242
2451
  }
2243
2452
  return accessor.sparse ? promise.then(function(bufferInfo) {
2244
2453
  return GLTFUtils.processingSparseData(context, accessor, bufferInfo).then(function() {
@@ -2273,7 +2482,7 @@ function registerGLTFParser(pipeline) {
2273
2482
  var _accessor_sparse = accessor.sparse, count = _accessor_sparse.count, indices = _accessor_sparse.indices, values = _accessor_sparse.values;
2274
2483
  var indicesBufferView = bufferViews[indices.bufferView];
2275
2484
  var valuesBufferView = bufferViews[values.bufferView];
2276
- return Promise.all([
2485
+ return engineCore.AssetPromise.all([
2277
2486
  context.get(exports.GLTFParserType.BufferView, indices.bufferView),
2278
2487
  context.get(exports.GLTFParserType.BufferView, values.bufferView)
2279
2488
  ]).then(function(param) {
@@ -2300,6 +2509,8 @@ function registerGLTFParser(pipeline) {
2300
2509
  }
2301
2510
  }
2302
2511
  bufferInfo.data = data;
2512
+ }).catch(function(e) {
2513
+ engineCore.Logger.error("GLTFUtil processingSparseData error", e);
2303
2514
  });
2304
2515
  };
2305
2516
  GLTFUtils.getIndexFormat = function getIndexFormat(type) {
@@ -3817,11 +4028,10 @@ exports.GLTFExtensionMode = void 0;
3817
4028
  for(var _len = arguments.length, extra = new Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++){
3818
4029
  extra[_key - 5] = arguments[_key];
3819
4030
  }
4031
+ var _parser;
4032
+ var _parser1;
3820
4033
  var parser = GLTFParser.getExtensionParser(extensionName, exports.GLTFExtensionMode.AdditiveParse);
3821
- if (parser) {
3822
- var _parser;
3823
- (_parser = parser).additiveParse.apply(_parser, [].concat(context, parseResource, extensionSchema, ownerSchema, extra));
3824
- }
4034
+ (_parser1 = parser) == null ? void 0 : (_parser = _parser1).additiveParse.apply(_parser, [].concat(context, parseResource, extensionSchema, ownerSchema, extra));
3825
4035
  };
3826
4036
  return GLTFParser;
3827
4037
  }();
@@ -3891,7 +4101,7 @@ exports.GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
3891
4101
  var animationInfo = context.glTF.animations[index];
3892
4102
  var _animationInfo_name = animationInfo.name, name = _animationInfo_name === void 0 ? "AnimationClip" + index : _animationInfo_name;
3893
4103
  var animationClipPromise = GLTFParser.executeExtensionsCreateAndParse(animationInfo.extensions, context, animationInfo) || exports.GLTFAnimationParser._parseStandardProperty(context, new engineCore.AnimationClip(name), animationInfo);
3894
- return Promise.resolve(animationClipPromise).then(function(animationClip) {
4104
+ return engineCore.AssetPromise.resolve(animationClipPromise).then(function(animationClip) {
3895
4105
  GLTFParser.executeExtensionsAdditiveAndParse(animationInfo.extensions, context, animationClip, animationInfo);
3896
4106
  return animationClip;
3897
4107
  });
@@ -3903,7 +4113,7 @@ exports.GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
3903
4113
  var glTFSampler = samplers[j];
3904
4114
  var inputAccessor = accessors[glTFSampler.input];
3905
4115
  var outputAccessor = accessors[glTFSampler.output];
3906
- var promise = Promise.all([
4116
+ var promise = engineCore.AssetPromise.all([
3907
4117
  GLTFUtils.getAccessorBuffer(context, bufferViews, inputAccessor),
3908
4118
  GLTFUtils.getAccessorBuffer(context, bufferViews, outputAccessor)
3909
4119
  ]).then(function(bufferInfos) {
@@ -3954,7 +4164,7 @@ exports.GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
3954
4164
  // parse samplers
3955
4165
  for(var j = 0, m = len; j < m; j++)_loop(j);
3956
4166
  promises.push(context.get(exports.GLTFParserType.Scene));
3957
- return Promise.all(promises).then(function() {
4167
+ return engineCore.AssetPromise.all(promises).then(function() {
3958
4168
  for(var j = 0, m = channels.length; j < m; j++){
3959
4169
  var glTFChannel = channels[j];
3960
4170
  var target = glTFChannel.target;
@@ -4084,7 +4294,7 @@ exports.GLTFBufferParser = /*#__PURE__*/ function(GLTFParser1) {
4084
4294
  var _proto = GLTFBufferParser.prototype;
4085
4295
  _proto.parse = function parse(context, index) {
4086
4296
  var buffers = context.glTF.buffers;
4087
- return context.buffers ? Promise.resolve(context.buffers[index]) : this._parseSingleBuffer(context, buffers[index]);
4297
+ return context.buffers ? engineCore.AssetPromise.resolve(context.buffers[index]) : this._parseSingleBuffer(context, buffers[index]);
4088
4298
  };
4089
4299
  _proto._parseSingleBuffer = function _parseSingleBuffer(context, bufferInfo) {
4090
4300
  var glTFResource = context.glTFResource, contentRestorer = context.contentRestorer, resourceManager = context.resourceManager;
@@ -4171,18 +4381,15 @@ exports.GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4171
4381
  material.name = materialInfo.name;
4172
4382
  exports.GLTFMaterialParser._parseStandardProperty(context, material, materialInfo);
4173
4383
  }
4174
- return Promise.resolve(material).then(function(material) {
4175
- material || (material = exports.GLTFMaterialParser._getDefaultMaterial(engine));
4384
+ return engineCore.AssetPromise.resolve(material).then(function(material) {
4385
+ // @ts-ignore
4386
+ material || (material = engine._basicResources._getBlinnPhongMaterial());
4176
4387
  GLTFParser.executeExtensionsAdditiveAndParse(materialInfo.extensions, context, material, materialInfo);
4177
4388
  // @ts-ignore
4178
4389
  material._associationSuperResource(glTFResource);
4179
4390
  return material;
4180
4391
  });
4181
4392
  };
4182
- /** @internal */ GLTFMaterialParser1._getDefaultMaterial = function _getDefaultMaterial(engine) {
4183
- var _GLTFMaterialParser;
4184
- return (_GLTFMaterialParser = exports.GLTFMaterialParser)._defaultMaterial || (_GLTFMaterialParser._defaultMaterial = new engineCore.BlinnPhongMaterial(engine));
4185
- };
4186
4393
  /**
4187
4394
  * @internal
4188
4395
  */ GLTFMaterialParser1._checkOtherTextureTransform = function _checkOtherTextureTransform(texture, textureName) {
@@ -4204,6 +4411,8 @@ exports.GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4204
4411
  context.get(exports.GLTFParserType.Texture, baseColorTexture.index).then(function(texture) {
4205
4412
  material.baseTexture = texture;
4206
4413
  GLTFParser.executeExtensionsAdditiveAndParse(baseColorTexture.extensions, context, material, baseColorTexture);
4414
+ }).catch(function(e) {
4415
+ engineCore.Logger.error("GLTFMaterialParser: baseColorTexture error", e);
4207
4416
  });
4208
4417
  }
4209
4418
  if (material.constructor === engineCore.PBRMaterial) {
@@ -4213,6 +4422,8 @@ exports.GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4213
4422
  exports.GLTFMaterialParser._checkOtherTextureTransform(metallicRoughnessTexture, "Roughness metallic");
4214
4423
  context.get(exports.GLTFParserType.Texture, metallicRoughnessTexture.index).then(function(texture) {
4215
4424
  material.roughnessMetallicTexture = texture;
4425
+ }).catch(function(e) {
4426
+ engineCore.Logger.error("GLTFMaterialParser: metallicRoughnessTexture error", e);
4216
4427
  });
4217
4428
  }
4218
4429
  }
@@ -4222,6 +4433,8 @@ exports.GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4222
4433
  exports.GLTFMaterialParser._checkOtherTextureTransform(emissiveTexture, "Emissive");
4223
4434
  context.get(exports.GLTFParserType.Texture, emissiveTexture.index).then(function(texture) {
4224
4435
  material.emissiveTexture = texture;
4436
+ }).catch(function(e) {
4437
+ engineCore.Logger.error("GLTFMaterialParser: emissiveTexture error", e);
4225
4438
  });
4226
4439
  }
4227
4440
  if (emissiveFactor) {
@@ -4232,6 +4445,8 @@ exports.GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4232
4445
  exports.GLTFMaterialParser._checkOtherTextureTransform(normalTexture, "Normal");
4233
4446
  context.get(exports.GLTFParserType.Texture, index).then(function(texture) {
4234
4447
  material.normalTexture = texture;
4448
+ }).catch(function(e) {
4449
+ engineCore.Logger.error("GLTFMaterialParser: emissiveTexture error", e);
4235
4450
  });
4236
4451
  if (scale !== undefined) {
4237
4452
  material.normalTextureIntensity = scale;
@@ -4242,6 +4457,8 @@ exports.GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4242
4457
  exports.GLTFMaterialParser._checkOtherTextureTransform(occlusionTexture, "Occlusion");
4243
4458
  context.get(exports.GLTFParserType.Texture, index1).then(function(texture) {
4244
4459
  material.occlusionTexture = texture;
4460
+ }).catch(function(e) {
4461
+ engineCore.Logger.error("GLTFMaterialParser: occlusionTexture error", e);
4245
4462
  });
4246
4463
  if (strength !== undefined) {
4247
4464
  material.occlusionTextureIntensity = strength;
@@ -4286,7 +4503,7 @@ exports.GLTFMeshParser = (_GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1)
4286
4503
  _proto.parse = function parse(context, index) {
4287
4504
  var _loop = function(i, length) {
4288
4505
  var gltfPrimitive = meshInfo.primitives[i];
4289
- primitivePromises[i] = new Promise(function(resolve) {
4506
+ primitivePromises[i] = new engineCore.AssetPromise(function(resolve, reject) {
4290
4507
  var mesh = GLTFParser.executeExtensionsCreateAndParse(gltfPrimitive.extensions, context, gltfPrimitive, meshInfo);
4291
4508
  if (mesh) {
4292
4509
  if (_instanceof(mesh, engineCore.ModelMesh)) {
@@ -4307,7 +4524,7 @@ exports.GLTFMeshParser = (_GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1)
4307
4524
  var meshRestoreInfo = new ModelMeshRestoreInfo();
4308
4525
  meshRestoreInfo.mesh = mesh1;
4309
4526
  context.contentRestorer.meshes.push(meshRestoreInfo);
4310
- exports.GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, context.params.keepMeshData).then(resolve);
4527
+ exports.GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, context.params.keepMeshData).then(resolve, reject);
4311
4528
  }
4312
4529
  });
4313
4530
  };
@@ -4316,7 +4533,7 @@ exports.GLTFMeshParser = (_GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1)
4316
4533
  var engine = glTFResource.engine;
4317
4534
  var primitivePromises = new Array();
4318
4535
  for(var i = 0, length = meshInfo.primitives.length; i < length; i++)_loop(i);
4319
- return Promise.all(primitivePromises);
4536
+ return engineCore.AssetPromise.all(primitivePromises);
4320
4537
  };
4321
4538
  /**
4322
4539
  * @internal
@@ -4399,7 +4616,7 @@ exports.GLTFMeshParser = (_GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1)
4399
4616
  var bufferBindIndex = 0;
4400
4617
  var promises = new Array();
4401
4618
  for(var attribute in attributes)_loop(attribute);
4402
- return Promise.all(promises).then(function() {
4619
+ return engineCore.AssetPromise.all(promises).then(function() {
4403
4620
  mesh.setVertexElements(vertexElements);
4404
4621
  // Indices
4405
4622
  if (indices !== undefined) {
@@ -4449,7 +4666,7 @@ exports.GLTFMeshParser = (_GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1)
4449
4666
  var tangentTarget = targets["TANGENT"];
4450
4667
  var hasNormal = normalTarget !== undefined;
4451
4668
  var hasTangent = tangentTarget !== undefined;
4452
- var promise = Promise.all([
4669
+ var promise = engineCore.AssetPromise.all([
4453
4670
  _this._getBlendShapeData(context, glTF, accessors[targets["POSITION"]]),
4454
4671
  hasNormal ? _this._getBlendShapeData(context, glTF, accessors[normalTarget]) : null,
4455
4672
  hasTangent ? _this._getBlendShapeData(context, glTF, accessors[tangentTarget]) : null
@@ -4470,7 +4687,7 @@ exports.GLTFMeshParser = (_GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1)
4470
4687
  var blendShapeCount = glTFTargets.length;
4471
4688
  var blendShapeCollection = new Array(blendShapeCount);
4472
4689
  for(var i = 0; i < blendShapeCount; i++)_loop(i);
4473
- return Promise.all(promises).then(function() {
4690
+ return engineCore.AssetPromise.all(promises).then(function() {
4474
4691
  for(var _iterator = _create_for_of_iterator_helper_loose(blendShapeCollection), _step; !(_step = _iterator()).done;){
4475
4692
  var blendShape = _step.value;
4476
4693
  mesh.addBlendShape(blendShape.blendShape);
@@ -4518,7 +4735,7 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4518
4735
  for(var i1 = 0; i1 < sceneNodes.length; i1++){
4519
4736
  promises.push(this._parseEntityComponent(context, sceneNodes[i1]));
4520
4737
  }
4521
- return Promise.all(promises).then(function() {
4738
+ return engineCore.AssetPromise.all(promises).then(function() {
4522
4739
  GLTFParser.executeExtensionsAdditiveAndParse(sceneExtensions, context, sceneRoot, sceneInfo);
4523
4740
  return sceneRoot;
4524
4741
  });
@@ -4536,7 +4753,7 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4536
4753
  if (meshID !== undefined) {
4537
4754
  promise = this._createRenderer(context, entityInfo, entity);
4538
4755
  }
4539
- return Promise.resolve(promise).then(function() {
4756
+ return engineCore.AssetPromise.resolve(promise).then(function() {
4540
4757
  var promises = [];
4541
4758
  var children = entityInfo.children;
4542
4759
  if (children) {
@@ -4544,7 +4761,7 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4544
4761
  promises.push(_this._parseEntityComponent(context, children[i]));
4545
4762
  }
4546
4763
  }
4547
- return Promise.all(promises);
4764
+ return engineCore.AssetPromise.all(promises);
4548
4765
  });
4549
4766
  };
4550
4767
  _proto._createCamera = function _createCamera(resource, cameraSchema, entity) {
@@ -4593,13 +4810,14 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4593
4810
  var _glTFMeshPrimitives_i_material;
4594
4811
  materialPromises[i] = context.get(exports.GLTFParserType.Material, (_glTFMeshPrimitives_i_material = glTFMeshPrimitives[i].material) != null ? _glTFMeshPrimitives_i_material : -1);
4595
4812
  }
4596
- return Promise.all([
4813
+ return engineCore.AssetPromise.all([
4597
4814
  context.get(exports.GLTFParserType.Mesh, meshID),
4598
4815
  skinID !== undefined && context.get(exports.GLTFParserType.Skin, skinID),
4599
- Promise.all(materialPromises)
4816
+ engineCore.AssetPromise.all(materialPromises)
4600
4817
  ]).then(function(param) {
4601
4818
  var _loop = function(i) {
4602
- var material = materials[i] || exports.GLTFMaterialParser._getDefaultMaterial(context.glTFResource.engine);
4819
+ // @ts-ignore
4820
+ var material = materials[i] || context.glTFResource.engine._basicResources._getBlinnPhongMaterial();
4603
4821
  var glTFPrimitive = glTFMeshPrimitives[i];
4604
4822
  var mesh = meshes[i];
4605
4823
  var renderer = void 0;
@@ -4629,6 +4847,8 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4629
4847
  };
4630
4848
  var meshes = param[0], skin = param[1], materials = param[2];
4631
4849
  for(var i = 0; i < rendererCount; i++)_loop(i);
4850
+ }).catch(function(e) {
4851
+ engineCore.Logger.error("GLTFSceneParser: create renderer error", e);
4632
4852
  });
4633
4853
  };
4634
4854
  _proto._computeLocalBounds = function _computeLocalBounds(skinnedMeshRenderer, mesh, bones, rootBone, inverseBindMatrices) {
@@ -4713,7 +4933,7 @@ exports.GLTFSkinParser = /*#__PURE__*/ function(GLTFParser1) {
4713
4933
  }
4714
4934
  return skin;
4715
4935
  });
4716
- return Promise.resolve(skinPromise);
4936
+ return engineCore.AssetPromise.resolve(skinPromise);
4717
4937
  };
4718
4938
  _proto._findSkeletonRootBone = function _findSkeletonRootBone(joints, entities) {
4719
4939
  var paths = {};
@@ -4764,7 +4984,7 @@ exports.GLTFTextureParser = (_GLTFTextureParser = /*#__PURE__*/ function(GLTFPar
4764
4984
  if (!texture) {
4765
4985
  texture = exports.GLTFTextureParser._parseTexture(context, imageIndex, textureIndex, sampler, textureName);
4766
4986
  }
4767
- return Promise.resolve(texture).then(function(texture) {
4987
+ return engineCore.AssetPromise.resolve(texture).then(function(texture) {
4768
4988
  GLTFParser.executeExtensionsAdditiveAndParse(extensions, context, texture, textureInfo);
4769
4989
  // @ts-ignore
4770
4990
  texture._associationSuperResource(glTFResource);
@@ -4811,6 +5031,8 @@ exports.GLTFTextureParser = (_GLTFTextureParser = /*#__PURE__*/ function(GLTFPar
4811
5031
  context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
4812
5032
  return texture;
4813
5033
  });
5034
+ }).catch(function(e) {
5035
+ engineCore.Logger.error("GLTFTextureParser: image buffer error", e);
4814
5036
  });
4815
5037
  }
4816
5038
  return texture;
@@ -4854,7 +5076,7 @@ exports.GLTFValidator = /*#__PURE__*/ function(GLTFParser1) {
4854
5076
  }
4855
5077
  }
4856
5078
  }
4857
- return Promise.resolve(null);
5079
+ return engineCore.AssetPromise.resolve(null);
4858
5080
  };
4859
5081
  return GLTFValidator;
4860
5082
  }(GLTFParser);
@@ -4873,6 +5095,8 @@ exports.GLTFBufferViewParser = /*#__PURE__*/ function(GLTFParser1) {
4873
5095
  var extensions = bufferView.extensions, _bufferView_byteOffset = bufferView.byteOffset, byteOffset = _bufferView_byteOffset === void 0 ? 0 : _bufferView_byteOffset, byteLength = bufferView.byteLength, bufferIndex = bufferView.buffer;
4874
5096
  return extensions ? GLTFParser.executeExtensionsCreateAndParse(extensions, context, bufferView) : context.get(exports.GLTFParserType.Buffer, bufferIndex).then(function(buffer) {
4875
5097
  return new Uint8Array(buffer, byteOffset, byteLength);
5098
+ }).catch(function(e) {
5099
+ engineCore.Logger.error("GLTFBufferViewParser: buffer error", e);
4876
5100
  });
4877
5101
  };
4878
5102
  return GLTFBufferViewParser;
@@ -4890,11 +5114,13 @@ exports.GLTFAnimatorControllerParser = /*#__PURE__*/ function(GLTFParser1) {
4890
5114
  _proto.parse = function parse(context) {
4891
5115
  var _this = this;
4892
5116
  if (!context.needAnimatorController) {
4893
- return Promise.resolve(null);
5117
+ return engineCore.AssetPromise.resolve(null);
4894
5118
  }
4895
5119
  return context.get(exports.GLTFParserType.Animation).then(function(animations) {
4896
5120
  var animatorController = _this._createAnimatorController(context, animations);
4897
- return Promise.resolve(animatorController);
5121
+ return engineCore.AssetPromise.resolve(animatorController);
5122
+ }).catch(function(e) {
5123
+ engineCore.Logger.error("GLTFAnimatorControllerParser: animator controller error", e);
4898
5124
  });
4899
5125
  };
4900
5126
  _proto._createAnimatorController = function _createAnimatorController(context, animations) {
@@ -4925,203 +5151,6 @@ exports.GLTFAnimatorControllerParser = __decorate([
4925
5151
  registerGLTFParser(exports.GLTFParserType.AnimatorController)
4926
5152
  ], exports.GLTFAnimatorControllerParser);
4927
5153
 
4928
- // Source: https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js
4929
- var ready;
4930
- function getMeshoptDecoder() {
4931
- var unpack = function unpack(data) {
4932
- var result = new Uint8Array(data.length);
4933
- for(var i = 0; i < data.length; ++i){
4934
- var ch = data.charCodeAt(i);
4935
- result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
4936
- }
4937
- var write = 0;
4938
- for(var i1 = 0; i1 < data.length; ++i1){
4939
- result[write++] = result[i1] < 60 ? wasmpack[result[i1]] : (result[i1] - 60) * 64 + result[++i1];
4940
- }
4941
- return result.buffer.slice(0, write);
4942
- };
4943
- var decode = function decode(fun, target, count, size, source, filter) {
4944
- var sbrk = instance.exports.sbrk;
4945
- var count4 = count + 3 & ~3;
4946
- var tp = sbrk(count4 * size);
4947
- var sp = sbrk(source.length);
4948
- var heap = new Uint8Array(instance.exports.memory.buffer);
4949
- heap.set(source, sp);
4950
- var res = fun(tp, count, size, sp, source.length);
4951
- if (res == 0 && filter) {
4952
- filter(tp, count4, size);
4953
- }
4954
- target.set(heap.subarray(tp, tp + count * size));
4955
- sbrk(tp - sbrk(0));
4956
- if (res != 0) {
4957
- throw new Error("Malformed buffer data: " + res);
4958
- }
4959
- };
4960
- var createWorker = function createWorker(url) {
4961
- var worker = {
4962
- object: new Worker(url),
4963
- pending: 0,
4964
- requests: {}
4965
- };
4966
- worker.object.onmessage = function(event) {
4967
- var data = event.data;
4968
- worker.pending -= data.count;
4969
- worker.requests[data.id][data.action](data.value);
4970
- delete worker.requests[data.id];
4971
- };
4972
- return worker;
4973
- };
4974
- var initWorkers = function initWorkers(count) {
4975
- var source = "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(unpack(wasm)) + "]), {})" + ".then(function(result) {instance = result.instance; instance.exports.__wasm_call_ctors();});\n" + "self.onmessage = workerProcess;\n" + 'function decode(fun, target, count, size, source, filter) {\n const sbrk = instance.exports.sbrk;\n const count4 = (count + 3) & ~3;\n const tp = sbrk(count4 * size);\n const sp = sbrk(source.length);\n const heap = new Uint8Array(instance.exports.memory.buffer);\n heap.set(source, sp);\n const res = fun(tp, count, size, sp, source.length);\n if (res == 0 && filter) {\n filter(tp, count4, size);\n }\n target.set(heap.subarray(tp, tp + count * size));\n sbrk(tp - sbrk(0));\n if (res != 0) {\n throw new Error("Malformed buffer data: " + res);\n }\n }\n' + 'function workerProcess(event) {\n ready.then(function () {\n const data = event.data;\n try {\n const target = new Uint8Array(data.count * data.size);\n decode(instance.exports[data.mode], target, data.count, data.size, data.source, instance.exports[data.filter]);\n self.postMessage({ id: data.id, count: data.count, action: "resolve", value: target }, [target.buffer]);\n } catch (error) {\n self.postMessage({\n id: data.id,\n count: data.count,\n action: "reject",\n value: error\n });\n }\n });\n }';
4976
- var blob = new Blob([
4977
- source
4978
- ], {
4979
- type: "text/javascript"
4980
- });
4981
- var url = URL.createObjectURL(blob);
4982
- for(var i = 0; i < count; ++i){
4983
- workers[i] = createWorker(url);
4984
- }
4985
- URL.revokeObjectURL(url);
4986
- };
4987
- var decodeWorker = function decodeWorker(count, size, source, mode, filter) {
4988
- var worker = workers[0];
4989
- for(var i = 1; i < workers.length; ++i){
4990
- if (workers[i].pending < worker.pending) {
4991
- worker = workers[i];
4992
- }
4993
- }
4994
- return new Promise(function(resolve, reject) {
4995
- var data = new Uint8Array(source);
4996
- var id = requestId++;
4997
- worker.pending += count;
4998
- worker.requests[id] = {
4999
- resolve: resolve,
5000
- reject: reject
5001
- };
5002
- worker.object.postMessage({
5003
- id: id,
5004
- count: count,
5005
- size: size,
5006
- source: data,
5007
- mode: mode,
5008
- filter: filter
5009
- }, [
5010
- data.buffer
5011
- ]);
5012
- });
5013
- };
5014
- if (ready) return ready;
5015
- var wasm_base = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb";
5016
- var wasm_simd = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb";
5017
- var wasmpack = new Uint8Array([
5018
- 32,
5019
- 0,
5020
- 65,
5021
- 2,
5022
- 1,
5023
- 106,
5024
- 34,
5025
- 33,
5026
- 3,
5027
- 128,
5028
- 11,
5029
- 4,
5030
- 13,
5031
- 64,
5032
- 6,
5033
- 253,
5034
- 10,
5035
- 7,
5036
- 15,
5037
- 116,
5038
- 127,
5039
- 5,
5040
- 8,
5041
- 12,
5042
- 40,
5043
- 16,
5044
- 19,
5045
- 54,
5046
- 20,
5047
- 9,
5048
- 27,
5049
- 255,
5050
- 113,
5051
- 17,
5052
- 42,
5053
- 67,
5054
- 24,
5055
- 23,
5056
- 146,
5057
- 148,
5058
- 18,
5059
- 14,
5060
- 22,
5061
- 45,
5062
- 70,
5063
- 69,
5064
- 56,
5065
- 114,
5066
- 101,
5067
- 21,
5068
- 25,
5069
- 63,
5070
- 75,
5071
- 136,
5072
- 108,
5073
- 28,
5074
- 118,
5075
- 29,
5076
- 73,
5077
- 115
5078
- ]);
5079
- // @ts-ignore
5080
- var wasm = engineCore.SystemInfo._detectSIMDSupported() ? wasm_simd : wasm_base;
5081
- var instance;
5082
- ready = WebAssembly.instantiate(unpack(wasm)).then(function(result) {
5083
- instance = result.instance;
5084
- instance.exports.__wasm_call_ctors();
5085
- }).then(function() {
5086
- return {
5087
- workerCount: 4,
5088
- ready: ready,
5089
- useWorkers: function useWorkers(workerCount) {
5090
- this.workerCount = workerCount != null ? workerCount : this.workerCount;
5091
- initWorkers(this.workerCount);
5092
- },
5093
- decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
5094
- if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
5095
- if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
5096
- return ready.then(function() {
5097
- var target = new Uint8Array(count * stride);
5098
- decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
5099
- return target;
5100
- });
5101
- },
5102
- release: function release() {
5103
- for(var i = 0; i < workers.length; i++){
5104
- workers[i].object.terminate();
5105
- }
5106
- }
5107
- };
5108
- });
5109
- var filters = {
5110
- NONE: "",
5111
- OCTAHEDRAL: "meshopt_decodeFilterOct",
5112
- QUATERNION: "meshopt_decodeFilterQuat",
5113
- EXPONENTIAL: "meshopt_decodeFilterExp"
5114
- };
5115
- var decoders = {
5116
- ATTRIBUTES: "meshopt_decodeVertexBuffer",
5117
- TRIANGLES: "meshopt_decodeIndexBuffer",
5118
- INDICES: "meshopt_decodeIndexSequence"
5119
- };
5120
- var workers = [];
5121
- var requestId = 0;
5122
- return ready;
5123
- }
5124
-
5125
5154
  exports.GLTFLoader = /*#__PURE__*/ function(Loader1) {
5126
5155
  _inherits(GLTFLoader, Loader1);
5127
5156
  function GLTFLoader() {
@@ -5145,10 +5174,19 @@ exports.GLTFLoader = /*#__PURE__*/ function(Loader1) {
5145
5174
  var context = new GLTFParserContext(glTFResource, resourceManager, _extends({
5146
5175
  keepMeshData: false
5147
5176
  }, params));
5148
- return new engineCore.AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress) {
5177
+ return new engineCore.AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress, onTaskCancel) {
5149
5178
  context._setTaskCompleteProgress = setTaskCompleteProgress;
5150
5179
  context._setTaskDetailProgress = setTaskDetailProgress;
5151
- context.parse().then(resolve).catch(reject);
5180
+ onTaskCancel(function() {
5181
+ var getPromises = context._getPromises;
5182
+ for(var i = 0, n = getPromises.length; i < n; i++){
5183
+ getPromises[i].cancel();
5184
+ }
5185
+ });
5186
+ context.parse().then(resolve).catch(function(e) {
5187
+ glTFResource.destroy();
5188
+ reject(e);
5189
+ });
5152
5190
  });
5153
5191
  };
5154
5192
  /**
@@ -6697,18 +6735,24 @@ var KHR_materials_clearcoat = /*#__PURE__*/ function(GLTFExtensionParser1) {
6697
6735
  exports.GLTFMaterialParser._checkOtherTextureTransform(clearcoatTexture, "Clear coat");
6698
6736
  context.get(exports.GLTFParserType.Texture, clearcoatTexture.index).then(function(texture) {
6699
6737
  material.clearCoatTexture = texture;
6738
+ }).catch(function(e) {
6739
+ engineCore.Logger.error("KHR_materials_clearcoat: clearcoat texture error", e);
6700
6740
  });
6701
6741
  }
6702
6742
  if (clearcoatRoughnessTexture) {
6703
6743
  exports.GLTFMaterialParser._checkOtherTextureTransform(clearcoatRoughnessTexture, "Clear coat roughness");
6704
6744
  context.get(exports.GLTFParserType.Texture, clearcoatRoughnessTexture.index).then(function(texture) {
6705
6745
  material.clearCoatRoughnessTexture = texture;
6746
+ }).catch(function(e) {
6747
+ engineCore.Logger.error("KHR_materials_clearcoat: clearcoat roughness texture error", e);
6706
6748
  });
6707
6749
  }
6708
6750
  if (clearcoatNormalTexture) {
6709
6751
  exports.GLTFMaterialParser._checkOtherTextureTransform(clearcoatNormalTexture, "Clear coat normal");
6710
6752
  context.get(exports.GLTFParserType.Texture, clearcoatNormalTexture.index).then(function(texture) {
6711
6753
  material.clearCoatNormalTexture = texture;
6754
+ }).catch(function(e) {
6755
+ engineCore.Logger.error("KHR_materials_clearcoat: clearcoat normal texture error", e);
6712
6756
  });
6713
6757
  }
6714
6758
  };
@@ -6751,6 +6795,8 @@ var KHR_materials_pbrSpecularGlossiness = /*#__PURE__*/ function(GLTFExtensionPa
6751
6795
  context.get(exports.GLTFParserType.Texture, diffuseTexture.index).then(function(texture) {
6752
6796
  material.baseTexture = texture;
6753
6797
  GLTFParser.executeExtensionsAdditiveAndParse(diffuseTexture.extensions, context, material, diffuseTexture);
6798
+ }).catch(function(e) {
6799
+ engineCore.Logger.error("KHR_materials_pbrSpecularGlossiness: diffuse texture error", e);
6754
6800
  });
6755
6801
  }
6756
6802
  if (specularFactor) {
@@ -6763,6 +6809,8 @@ var KHR_materials_pbrSpecularGlossiness = /*#__PURE__*/ function(GLTFExtensionPa
6763
6809
  exports.GLTFMaterialParser._checkOtherTextureTransform(specularGlossinessTexture, "Specular glossiness");
6764
6810
  context.get(exports.GLTFParserType.Texture, specularGlossinessTexture.index).then(function(texture) {
6765
6811
  material.specularGlossinessTexture = texture;
6812
+ }).catch(function(e) {
6813
+ engineCore.Logger.error("KHR_materials_pbrSpecularGlossiness: specular glossiness texture error", e);
6766
6814
  });
6767
6815
  }
6768
6816
  material.name = ownerSchema.name;
@@ -6811,6 +6859,8 @@ var KHR_materials_variants = /*#__PURE__*/ function(GLTFExtensionParser1) {
6811
6859
  return variantNames[index].name;
6812
6860
  })
6813
6861
  });
6862
+ }).catch(function(e) {
6863
+ engineCore.Logger.error("KHR_materials_variants: material error", e);
6814
6864
  });
6815
6865
  };
6816
6866
  var _glTFResource;
@@ -6845,57 +6895,49 @@ var KHR_texture_basisu = /*#__PURE__*/ function(GLTFExtensionParser1) {
6845
6895
  }
6846
6896
  var _proto = KHR_texture_basisu.prototype;
6847
6897
  _proto.createAndParse = function createAndParse(context, schema, textureInfo) {
6848
- return _async_to_generator(function() {
6849
- var glTF, glTFResource, engine, url, sampler, textureName, source, _glTF_images_source, uri, bufferViewIndex, mimeType, imageName, samplerInfo, index, promise, bufferView;
6850
- return __generator(this, function(_state) {
6851
- glTF = context.glTF, glTFResource = context.glTFResource;
6852
- engine = glTFResource.engine, url = glTFResource.url;
6853
- sampler = textureInfo.sampler, textureName = textureInfo.name;
6854
- source = schema.source;
6855
- _glTF_images_source = glTF.images[source], uri = _glTF_images_source.uri, bufferViewIndex = _glTF_images_source.bufferView, mimeType = _glTF_images_source.mimeType, imageName = _glTF_images_source.name;
6856
- samplerInfo = sampler !== undefined && GLTFUtils.getSamplerInfo(glTF.samplers[sampler]);
6857
- if (uri) {
6858
- index = uri.lastIndexOf(".");
6859
- promise = engine.resourceManager.load({
6860
- url: engineCore.Utils.resolveAbsoluteUrl(url, uri),
6861
- type: engineCore.AssetType.KTX2
6862
- }).onProgress(undefined, context._onTaskDetail).then(function(texture) {
6863
- if (!texture.name) {
6864
- texture.name = textureName || imageName || "texture_" + index;
6865
- }
6898
+ var glTF = context.glTF, glTFResource = context.glTFResource;
6899
+ var engine = glTFResource.engine, url = glTFResource.url;
6900
+ var sampler = textureInfo.sampler, textureName = textureInfo.name;
6901
+ var source = schema.source;
6902
+ var _glTF_images_source = glTF.images[source], uri = _glTF_images_source.uri, bufferViewIndex = _glTF_images_source.bufferView, mimeType = _glTF_images_source.mimeType, imageName = _glTF_images_source.name;
6903
+ var samplerInfo = sampler !== undefined && GLTFUtils.getSamplerInfo(glTF.samplers[sampler]);
6904
+ if (uri) {
6905
+ var index = uri.lastIndexOf(".");
6906
+ var promise = engine.resourceManager.load({
6907
+ url: engineCore.Utils.resolveAbsoluteUrl(url, uri),
6908
+ type: engineCore.AssetType.KTX2
6909
+ }).onProgress(undefined, context._onTaskDetail).then(function(texture) {
6910
+ if (!texture.name) {
6911
+ texture.name = textureName || imageName || "texture_" + index;
6912
+ }
6913
+ if (sampler !== undefined) {
6914
+ GLTFUtils.parseSampler(texture, samplerInfo);
6915
+ }
6916
+ return texture;
6917
+ });
6918
+ context._addTaskCompletePromise(promise);
6919
+ return promise;
6920
+ } else {
6921
+ var bufferView = glTF.bufferViews[bufferViewIndex];
6922
+ return new engineCore.AssetPromise(function(resolve, reject) {
6923
+ context.get(exports.GLTFParserType.Buffer, bufferView.buffer).then(function(buffer) {
6924
+ var imageBuffer = new Uint8Array(buffer, bufferView.byteOffset, bufferView.byteLength);
6925
+ exports.KTX2Loader._parseBuffer(imageBuffer, engine).then(function(param) {
6926
+ var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
6927
+ var texture = exports.KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params);
6928
+ texture.name = textureName || imageName || "texture_" + bufferViewIndex;
6866
6929
  if (sampler !== undefined) {
6867
6930
  GLTFUtils.parseSampler(texture, samplerInfo);
6868
6931
  }
6869
- return texture;
6870
- });
6871
- context._addTaskCompletePromise(promise);
6872
- return [
6873
- 2,
6874
- promise
6875
- ];
6876
- } else {
6877
- bufferView = glTF.bufferViews[bufferViewIndex];
6878
- return [
6879
- 2,
6880
- context.get(exports.GLTFParserType.Buffer, bufferView.buffer).then(function(buffer) {
6881
- var imageBuffer = new Uint8Array(buffer, bufferView.byteOffset, bufferView.byteLength);
6882
- return exports.KTX2Loader._parseBuffer(imageBuffer, engine).then(function(param) {
6883
- var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
6884
- return exports.KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params);
6885
- }).then(function(texture) {
6886
- texture.name = textureName || imageName || "texture_" + bufferViewIndex;
6887
- if (sampler !== undefined) {
6888
- GLTFUtils.parseSampler(texture, samplerInfo);
6889
- }
6890
- var bufferTextureRestoreInfo = new BufferTextureRestoreInfo(texture, bufferView, mimeType);
6891
- context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
6892
- return texture;
6893
- });
6894
- })
6895
- ];
6896
- }
6932
+ var bufferTextureRestoreInfo = new BufferTextureRestoreInfo(texture, bufferView, mimeType);
6933
+ context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
6934
+ resolve(texture);
6935
+ }).catch(reject);
6936
+ }).catch(function(e) {
6937
+ engineCore.Logger.error("KHR_texture_basisu: buffer error", e);
6938
+ });
6897
6939
  });
6898
- })();
6940
+ }
6899
6941
  };
6900
6942
  return KHR_texture_basisu;
6901
6943
  }(GLTFExtensionParser);
@@ -6985,6 +7027,8 @@ var EXT_meshopt_compression = /*#__PURE__*/ function(GLTFExtensionParser1) {
6985
7027
  return getMeshoptDecoder().then(function(decoder) {
6986
7028
  return decoder.decodeGltfBuffer(schema.count, schema.byteStride, new Uint8Array(arrayBuffer, schema.byteOffset, schema.byteLength), schema.mode, schema.filter);
6987
7029
  });
7030
+ }).catch(function(e) {
7031
+ engineCore.Logger.error("EXT_meshopt_compression: buffer error", e);
6988
7032
  });
6989
7033
  };
6990
7034
  return EXT_meshopt_compression;
@@ -7007,6 +7051,8 @@ var KHR_materials_anisotropy = /*#__PURE__*/ function(GLTFExtensionParser1) {
7007
7051
  exports.GLTFMaterialParser._checkOtherTextureTransform(anisotropyTexture, "Anisotropy texture");
7008
7052
  context.get(exports.GLTFParserType.Texture, anisotropyTexture.index).then(function(texture) {
7009
7053
  material.anisotropyTexture = texture;
7054
+ }).catch(function(e) {
7055
+ engineCore.Logger.error("KHR_materials_anisotropy: anisotropy texture error", e);
7010
7056
  });
7011
7057
  }
7012
7058
  };
@@ -7034,19 +7080,10 @@ var EXT_texture_webp = /*#__PURE__*/ function(GLTFExtensionParser1) {
7034
7080
  }
7035
7081
  var _proto = EXT_texture_webp.prototype;
7036
7082
  _proto.createAndParse = function createAndParse(context, schema, textureInfo, textureIndex) {
7037
- var _this = this;
7038
- return _async_to_generator(function() {
7039
- var webPIndex, sampler, tmp, fallbackIndex, textureName, texture;
7040
- return __generator(this, function(_state) {
7041
- webPIndex = schema.source;
7042
- sampler = textureInfo.sampler, tmp = textureInfo.source, fallbackIndex = tmp === void 0 ? 0 : tmp, textureName = textureInfo.name;
7043
- texture = exports.GLTFTextureParser._parseTexture(context, _this._supportWebP ? webPIndex : fallbackIndex, textureIndex, sampler, textureName);
7044
- return [
7045
- 2,
7046
- texture
7047
- ];
7048
- });
7049
- })();
7083
+ var webPIndex = schema.source;
7084
+ var sampler = textureInfo.sampler, tmp = textureInfo.source, fallbackIndex = tmp === void 0 ? 0 : tmp, textureName = textureInfo.name;
7085
+ var texture = exports.GLTFTextureParser._parseTexture(context, this._supportWebP ? webPIndex : fallbackIndex, textureIndex, sampler, textureName);
7086
+ return texture;
7050
7087
  };
7051
7088
  return EXT_texture_webp;
7052
7089
  }(GLTFExtensionParser);