bimplus-renderer 1.3.16 → 1.3.17

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.
@@ -6,7 +6,7 @@ var Module = (() => {
6
6
  function(Module) {
7
7
  Module = Module || {};
8
8
 
9
- var Module=typeof Module!="undefined"?Module:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=true;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=(url=>{try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}});if(ENVIRONMENT_IS_WORKER){readBinary=(url=>{try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}})}readAsync=((url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=(()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()});xhr.onerror=onerror;xhr.send(null)})}setWindowTitle=(title=>document.title=title)}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}function getCFunc(ident){var func=Module["_"+ident];return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx<endPtr){var u0=heap[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||67108864;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile="data:application/octet-stream;base64,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";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(file);if(binary){return binary}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["b"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["j"];addOnInit(Module["asm"]["c"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func=="number"){if(callback.arg===undefined){getWasmTableEntry(func)()}else{getWasmTableEntry(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function _emscripten_get_heap_max(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=_emscripten_get_heap_max();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ASSERTIONS=false;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob=="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output};function intArrayFromBase64(s){try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}var asmLibraryArg={"a":_emscripten_resize_heap};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["c"]).apply(null,arguments)};var _processVertices=Module["_processVertices"]=function(){return(_processVertices=Module["_processVertices"]=Module["asm"]["d"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["e"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["f"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["g"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["h"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["i"]).apply(null,arguments)};Module["ccall"]=ccall;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();
9
+ var Module=typeof Module!="undefined"?Module:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=true;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=(url=>{try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}});if(ENVIRONMENT_IS_WORKER){readBinary=(url=>{try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}})}readAsync=((url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=(()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()});xhr.onerror=onerror;xhr.send(null)})}setWindowTitle=(title=>document.title=title)}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}function getCFunc(ident){var func=Module["_"+ident];return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}else{var str="";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||67108864;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile="data:application/octet-stream;base64,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";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(file);if(binary){return binary}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["b"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["j"];addOnInit(Module["asm"]["c"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func=="number"){if(callback.arg===undefined){getWasmTableEntry(func)()}else{getWasmTableEntry(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function _emscripten_get_heap_max(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=_emscripten_get_heap_max();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ASSERTIONS=false;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob=="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output};function intArrayFromBase64(s){try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}var asmLibraryArg={"a":_emscripten_resize_heap};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["c"]).apply(null,arguments)};var _processVertices=Module["_processVertices"]=function(){return(_processVertices=Module["_processVertices"]=Module["asm"]["d"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["e"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["f"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["g"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["h"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["i"]).apply(null,arguments)};Module["ccall"]=ccall;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();
10
10
 
11
11
 
12
12
  return Module.ready
@@ -1 +1 @@
1
- !function(A){function I(e){if(g[e])return g[e].exports;var t=g[e]={i:e,l:!1,exports:{}};return A[e].call(t.exports,t,t.exports,I),t.l=!0,t.exports}var g={};I.m=A,I.c=g,I.d=function(A,g,e){I.o(A,g)||Object.defineProperty(A,g,{enumerable:!0,get:e})},I.r=function(A){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})},I.t=function(A,g){if(1&g&&(A=I(A)),8&g)return A;if(4&g&&"object"==typeof A&&A&&A.__esModule)return A;var e=Object.create(null);if(I.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:A}),2&g&&"string"!=typeof A)for(var t in A)I.d(e,t,function(I){return A[I]}.bind(null,t));return e},I.n=function(A){var g=A&&A.__esModule?function(){return A.default}:function(){return A};return I.d(g,"a",g),g},I.o=function(A,I){return Object.prototype.hasOwnProperty.call(A,I)},I.p="",I(I.s=11)}([function(A,I){"use strict";I.a={isWorkerRuntime:function(){return!("undefined"==typeof self||!self.postMessage)},postMessageToMaster:function(A,I){self.postMessage(A,I)},subscribeToMasterMessages:function(A){const I=I=>{A(I.data)};return self.addEventListener("message",I),()=>{self.removeEventListener("message",I)}}}},function(A,I,g){"use strict";function e(A){return C.deserialize(A)}function t(A){return C.serialize(A)}g.d(I,"a",(function(){return e})),g.d(I,"b",(function(){return t}));const n={deserialize:A=>Object.assign(Error(A.message),{name:A.name,stack:A.stack}),serialize:A=>({__error_marker:"$$error",message:A.message,name:A.name,stack:A.stack})};let C={deserialize:A=>(A=>A&&"object"==typeof A&&"__error_marker"in A&&"$$error"===A.__error_marker)(A)?n.deserialize(A):A,serialize:A=>A instanceof Error?n.serialize(A):A}},function(A,I,g){"use strict";var e,t;g.d(I,"a",(function(){return e})),g.d(I,"b",(function(){return t})),function(A){A.run="run"}(e||(e={})),function(A){A.error="error",A.init="init",A.result="result",A.running="running",A.uncaughtError="uncaughtError"}(t||(t={}))},function(A,I,g){"use strict";function e(A){return A&&"object"==typeof A&&A[n]}function t(A,I){if(!I){if(!function(A){return!(!A||"object"!=typeof A)}(A))throw Error();I=[A]}return{[n]:!0,send:A,transferables:I}}g.d(I,"b",(function(){return e})),g.d(I,"a",(function(){return t}));Symbol("thread.errors"),Symbol("thread.events"),Symbol("thread.terminate");const n=Symbol("thread.transferable");Symbol("thread.worker")},function(A,I,g){"use strict";(function(A){function e(A){return Object(Q.b)(A)?{payload:A.send,transferables:A.transferables}:{payload:A,transferables:void 0}}function t(A,I){const{payload:g,transferables:t}=e(I),n={type:a.b.error,uid:A,error:Object(E.b)(g)};c.a.postMessageToMaster(n,t)}function n(A,I,g){const{payload:t,transferables:n}=e(g),C={type:a.b.result,uid:A,complete:!!I||void 0,payload:t};c.a.postMessageToMaster(C,n)}function C(A){const I={type:a.b.uncaughtError,error:Object(E.b)(A)};c.a.postMessageToMaster(I)}function B(A,I,g){return s(this,void 0,void 0,(function*(){let e;try{e=I(...g)}catch(I){return t(A,I)}const C=y(e)?"observable":"promise";if(function(A,I){const g={type:a.b.running,uid:A,resultType:I};c.a.postMessageToMaster(g)}(A,C),y(e))e.subscribe(I=>n(A,!1,Object(E.b)(I)),I=>t(A,Object(E.b)(I)),()=>n(A,!0));else try{const I=yield e;n(A,!0,Object(E.b)(I))}catch(I){t(A,Object(E.b)(I))}}))}function i(A){if(!c.a.isWorkerRuntime())throw Error("expose() called in the master thread.");if(u)throw Error("expose() called more than once. This is not possible. Pass an object to expose() if you want to expose multiple functions.");if(u=!0,"function"==typeof A)c.a.subscribeToMasterMessages(I=>{f(I)&&!I.method&&B(I.uid,A,I.args.map(E.a))}),function(){const A={type:a.b.init,exposed:{type:"function"}};c.a.postMessageToMaster(A)}();else{if("object"!=typeof A||!A)throw Error("Invalid argument passed to expose(). Expected a function or an object, got: "+A);c.a.subscribeToMasterMessages(I=>{f(I)&&I.method&&B(I.uid,A[I.method],I.args.map(E.a))});!function(A){const I={type:a.b.init,exposed:{type:"module",methods:A}};c.a.postMessageToMaster(I)}(Object.keys(A).filter(I=>"function"==typeof A[I]))}}g.d(I,"b",(function(){return i}));var r=g(5),o=g.n(r),E=g(1),Q=g(3),a=g(2),c=g(0);g.d(I,"a",(function(){return Q.a}));var s=function(A,I,g,e){function t(A){return A instanceof g?A:new g((function(I){I(A)}))}return new(g||(g=Promise))((function(g,n){function C(A){try{i(e.next(A))}catch(A){n(A)}}function B(A){try{i(e.throw(A))}catch(A){n(A)}}function i(A){A.done?g(A.value):t(A.value).then(C,B)}i((e=e.apply(A,I||[])).next())}))};let u=!1;const f=A=>A&&A.type===a.a.run,y=A=>o()(A)||function(A){return A&&"object"==typeof A&&"function"==typeof A.subscribe}(A);"undefined"!=typeof self&&"function"==typeof self.addEventListener&&c.a.isWorkerRuntime()&&(self.addEventListener("error",A=>{setTimeout(()=>C(A.error||A),250)}),self.addEventListener("unhandledrejection",A=>{const I=A.reason;I&&"string"==typeof I.message&&setTimeout(()=>C(I),250)})),void 0!==A&&"function"==typeof A.on&&c.a.isWorkerRuntime()&&(A.on("uncaughtException",A=>{setTimeout(()=>C(A),250)}),A.on("unhandledRejection",A=>{A&&"string"==typeof A.message&&setTimeout(()=>C(A),250)}))}).call(this,g(7))},function(A,I,g){"use strict";const e=g(8).default;A.exports=A=>!(!A||!A[e]||A!==A[e]())},function(A,I,g){"use strict";function e(A){var I,g=A.Symbol;return"function"==typeof g?g.observable?I=g.observable:(I=g("observable"),g.observable=I):I="@@observable",I}g.d(I,"a",(function(){return e}))},function(A){function I(){throw new Error("setTimeout has not been defined")}function g(){throw new Error("clearTimeout has not been defined")}function e(A){if(i===setTimeout)return setTimeout(A,0);if((i===I||!i)&&setTimeout)return i=setTimeout,setTimeout(A,0);try{return i(A,0)}catch(I){try{return i.call(null,A,0)}catch(I){return i.call(this,A,0)}}}function t(){a&&E&&(a=!1,E.length?Q=E.concat(Q):c=-1,Q.length&&n())}function n(){if(!a){var A=e(t);a=!0;for(var I=Q.length;I;){for(E=Q,Q=[];++c<I;)E&&E[c].run();c=-1,I=Q.length}E=null,a=!1,function(A){if(r===clearTimeout)return clearTimeout(A);if((r===g||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(A);try{r(A)}catch(I){try{return r.call(null,A)}catch(I){return r.call(this,A)}}}(A)}}function C(A,I){this.fun=A,this.array=I}function B(){}var i,r,o=A.exports={};!function(){try{i="function"==typeof setTimeout?setTimeout:I}catch(A){i=I}try{r="function"==typeof clearTimeout?clearTimeout:g}catch(A){r=g}}();var E,Q=[],a=!1,c=-1;o.nextTick=function(A){var I=Array(arguments.length-1);if(1<arguments.length)for(var g=1;g<arguments.length;g++)I[g-1]=arguments[g];Q.push(new C(A,I)),1!==Q.length||a||e(n)},C.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=B,o.addListener=B,o.once=B,o.off=B,o.removeListener=B,o.removeAllListeners=B,o.emit=B,o.prependListener=B,o.prependOnceListener=B,o.listeners=function(){return[]},o.binding=function(){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},function(A,I,g){"use strict";g.r(I),function(A,e){var t,n=g(6);t="undefined"==typeof self?"undefined"==typeof window?void 0===A?e:A:window:self;var C=Object(n.a)(t);I.default=C}.call(this,g(9),g(10)(A))},function(A){var I=function(){return this}();try{I=I||new Function("return this")()}catch(A){"object"==typeof window&&(I=window)}A.exports=I},function(A){A.exports=function(A){if(!A.webpackPolyfill){var I=Object.create(A);I.children||(I.children=[]),Object.defineProperty(I,"loaded",{enumerable:!0,get:function(){return I.l}}),Object.defineProperty(I,"id",{enumerable:!0,get:function(){return I.i}}),Object.defineProperty(I,"exports",{enumerable:!0}),I.webpackPolyfill=1}return I}},function(A,I,g){"use strict";g.r(I);var e=g(4),t=(()=>{var A="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0;return function(I){function g(A){return I["_"+A]}function e(A,I){return A?function(A,I,g){for(var e=I+g,t=I;A[t]&&!(t>=e);)++t;if(16<t-I&&A.subarray&&k)return k.decode(A.subarray(I,t));for(var n,C="";I<t;)if(128&(n=A[I++])){var B=63&A[I++];if(192!=(224&n)){var i=63&A[I++];if(65536>(n=224==(240&n)?(15&n)<<12|B<<6|i:(7&n)<<18|B<<12|i<<6|63&A[I++]))C+=y(n);else{var r=n-65536;C+=y(55296|r>>10,56320|1023&r)}}else C+=y((31&n)<<6|B)}else C+=y(n);return C}(b,A,I):""}function t(A,I,g){return function(A,I,g,e){if(!(0<e))return 0;for(var t,n=g,C=g+e-1,B=0;B<A.length;++B){if(55296<=(t=A.charCodeAt(B))&&57343>=t)t=65536+((1023&t)<<10)|1023&A.charCodeAt(++B);if(127>=t){if(g>=C)break;I[g++]=t}else if(2047>=t){if(g+1>=C)break;I[g++]=192|t>>6,I[g++]=128|63&t}else if(65535>=t){if(g+2>=C)break;I[g++]=224|t>>12,I[g++]=128|63&t>>6,I[g++]=128|63&t}else{if(g+3>=C)break;I[g++]=240|t>>18,I[g++]=128|63&t>>12,I[g++]=128|63&t>>6,I[g++]=128|63&t}}return I[g]=0,g-n}(A,b,I,g)}function n(A){N=A,I.HEAP8=p=new Int8Array(A),I.HEAP16=new Int16Array(A),I.HEAP32=new Int32Array(A),I.HEAPU8=b=new Uint8Array(A),I.HEAPU16=new Uint16Array(A),I.HEAPU32=new Uint32Array(A),I.HEAPF32=new Float32Array(A),I.HEAPF64=new Float64Array(A)}function C(A){m.unshift(A)}function B(A){S.unshift(A)}function i(A){I.onAbort&&I.onAbort(A),F(A="Aborted("+A+")"),M=!0,1,A+=". Build with -s ASSERTIONS=1 for more info.";var g=new WebAssembly.RuntimeError(A);throw f(g),g}function r(A){return A.startsWith(T)}function o(A){try{if(A==v&&R)return new Uint8Array(R);var I=c(A);if(I)return I;if(l)return l(A);throw"both async and sync fetching of the wasm failed"}catch(A){i(A)}}function E(A){for(;0<A.length;){var g=A.shift();if("function"!=typeof g){var e=g.func;"number"==typeof e?void 0===g.arg?Q(e)():Q(e)(g.arg):e(void 0===g.arg?null:g.arg)}else g(I)}}function Q(A){var I=H[A];return I||(A>=H.length&&(H.length=A+1),H[A]=I=Y.get(A)),I}function a(A){try{return G.grow(A-N.byteLength+65535>>>16),n(G.buffer),1}catch(A){}}function c(A){return r(A)?function(A){try{for(var I=q(A),g=new Uint8Array(I.length),e=0;e<I.length;++e)g[e]=I.charCodeAt(e);return g}catch(A){throw new Error("Converting base64 string to bytes failed.")}}(A.slice(T.length)):void 0}function s(A){function g(){x||(x=!0,I.calledRun=!0,M||(!0,E(J),u(I),I.onRuntimeInitialized&&I.onRuntimeInitialized(),function(){if(I.postRun)for("function"==typeof I.postRun&&(I.postRun=[I.postRun]);I.postRun.length;)B(I.postRun.shift());E(S)}()))}A=A||D,!(0<U)&&(function(){if(I.preRun)for("function"==typeof I.preRun&&(I.preRun=[I.preRun]);I.preRun.length;)C(I.preRun.shift());E(m)}(),0<U||(I.setStatus?(I.setStatus("Running..."),setTimeout((function(){setTimeout((function(){I.setStatus("")}),1),g()}),1)):g()))}var u,f,y=String.fromCharCode;(I=void 0===(I=I||{})?{}:I).ready=new Promise((function(A,I){u=A,f=I}));var l,h=Object.assign({},I),D=[],w=!0,d="";d=self.location.href,A&&(d=A),d=0===d.indexOf("blob:")?"":d.substr(0,d.replace(/[?#].*/,"").lastIndexOf("/")+1),l=A=>{try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}catch(I){var g=c(A);if(g)return g;throw I}};I.print;var R,F=I.printErr||function(){};Object.assign(I,h),h=null,I.arguments&&(D=I.arguments),I.thisProgram&&I.thisProgram,I.quit&&I.quit,I.wasmBinary&&(R=I.wasmBinary),I.noExitRuntime,"object"!=typeof WebAssembly&&i("no native wasm support detected");var G,N,p,b,Y,M=!1,k="undefined"==typeof TextDecoder?void 0:new TextDecoder("utf8"),m=(I.INITIAL_MEMORY,[]),J=[],S=[],U=0,L=null,K=null;I.preloadedImages={},I.preloadedAudios={};var v,T="data:application/octet-stream;base64,";r(v="data:application/octet-stream;base64,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")||(v=function(A){return I.locateFile?I.locateFile(A,d):d+A}(v));var x,H=[],q="function"==typeof atob?atob:function(A){var I,g,e,t,n,C,B="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",i="",r=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{e=B.indexOf(A.charAt(r++)),I=(15&(t=B.indexOf(A.charAt(r++))))<<4|(n=B.indexOf(A.charAt(r++)))>>2,g=(3&n)<<6|(C=B.indexOf(A.charAt(r++))),i+=y(e<<2|t>>4),64!==n&&(i+=y(I)),64!==C&&(i+=y(g))}while(r<A.length);return i},j={a:function(A){var I=Math.min,g=b.length,e=2147483648;if((A>>>=0)>e)return!1;let t=(A,I)=>A+(I-A%I)%I;for(var n,C=1;4>=C;C*=2){if(n=I(n=g*(1+.2/C),A+100663296),a(I(e,t(Math.max(A,n),65536))))return!0}return!1}},P=(function(){function A(A){var g=A.exports;I.asm=g,n((G=I.asm.b).buffer),Y=I.asm.j,function(A){J.unshift(A)}(I.asm.c),function(){if(U--,I.monitorRunDependencies&&I.monitorRunDependencies(U),0==U&&(null!==L&&(clearInterval(L),L=null),K)){var A=K;K=null,A()}}()}function g(I){A(I.instance)}function e(A){return(!R&&w&&"function"==typeof fetch?fetch(v,{credentials:"same-origin"}).then((function(A){if(!A.ok)throw"failed to load wasm binary file at '"+v+"'";return A.arrayBuffer()})).catch((function(){return o(v)})):Promise.resolve().then((function(){return o(v)}))).then((function(A){return WebAssembly.instantiate(A,t)})).then((function(A){return A})).then(A,(function(A){F("failed to asynchronously prepare wasm: "+A),i(A)}))}var t={a:j};if(U++,I.monitorRunDependencies&&I.monitorRunDependencies(U),I.instantiateWasm)try{return I.instantiateWasm(t,A)}catch(A){return F("Module.instantiateWasm callback failed with error: "+A),!1}(R||"function"!=typeof WebAssembly.instantiateStreaming||r(v)||"function"!=typeof fetch?e(g):fetch(v,{credentials:"same-origin"}).then((function(A){return WebAssembly.instantiateStreaming(A,t).then(g,(function(A){return F("wasm streaming compile failed: "+A),F("falling back to ArrayBuffer instantiation"),e(g)}))}))).catch(f)}(),I.___wasm_call_ctors=function(){return(I.___wasm_call_ctors=I.asm.c).apply(null,arguments)},I._processVertices=function(){return(I._processVertices=I.asm.d).apply(null,arguments)},I._malloc=function(){return(I._malloc=I.asm.e).apply(null,arguments)},I._free=function(){return(I._free=I.asm.f).apply(null,arguments)},I.stackSave=function(){return(P=I.stackSave=I.asm.g).apply(null,arguments)}),Z=I.stackRestore=function(){return(Z=I.stackRestore=I.asm.h).apply(null,arguments)},X=I.stackAlloc=function(){return(X=I.stackAlloc=I.asm.i).apply(null,arguments)};if(I.ccall=function(A,I,n,C){var B={string:function(A){var I=0;if(null!=A&&0!==A){var g=1+(A.length<<2);t(A,I=X(g),g)}return I},array:function(A){var I=X(A.length);return function(A,I){p.set(A,I)}(A,I),I}},i=g(A),r=[],o=0;if(C)for(var E,Q=0;Q<C.length;Q++)(E=B[n[Q]])?(0===o&&(o=P()),r[Q]=E(C[Q])):r[Q]=C[Q];var a=i.apply(null,r);return a=function(A){return 0!==o&&Z(o),function(A){return"string"===I?e(A):"boolean"===I?!!A:A}(A)}(a)},K=function A(){x||s(),x||(K=A)},I.run=s,I.preInit)for("function"==typeof I.preInit&&(I.preInit=[I.preInit]);0<I.preInit.length;)I.preInit.pop()();return s(),I.ready}})();let n;Object(e.b)({initModule:()=>new Promise(n?async A=>{A()}:async A=>{(new t).then(I=>{n=I,A()})}),processVertices(A,I,g,t){let C=new Float32Array(t),B=new Float32Array(I),i=new Uint32Array(g),r=C.length/6,o=new Float32Array(4*r),E=new Float32Array(24*A);var Q,a,c,s,u,f=0;Q=f,a=f+=B.length*B.BYTES_PER_ELEMENT,c=f+=i.length*i.BYTES_PER_ELEMENT,s=f+=C.length*C.BYTES_PER_ELEMENT,u=f+=o.length*o.BYTES_PER_ELEMENT,f+=E.length*E.BYTES_PER_ELEMENT;var y=n._malloc(f),l=new Uint8Array(n.HEAPU8.buffer,y,f);l.set(new Uint8Array(B.buffer),Q),l.set(new Uint8Array(i.buffer),a),l.set(new Uint8Array(C.buffer),c);let h=l.byteOffset;n.ccall("processVertices","null",["number","number","number","number","number","number","number"],[A,h+Q,h+a,h+c,h+s,h+u]);let D=new Float32Array(l.buffer,h+s,o.length);for(let A=0;A<o.length;A++)o[A]=D[A];let w=new Float32Array(l.buffer,h+u,E.length);for(let A=0;A<E.length;A++)E[A]=w[A];return n._free(l.byteOffset),C=null,B=null,i=null,{vertices:Object(e.a)(o.buffer),boundingBoxes:Object(e.a)(E.buffer)}}})}]);
1
+ !function(A){function I(e){if(g[e])return g[e].exports;var t=g[e]={i:e,l:!1,exports:{}};return A[e].call(t.exports,t,t.exports,I),t.l=!0,t.exports}var g={};I.m=A,I.c=g,I.d=function(A,g,e){I.o(A,g)||Object.defineProperty(A,g,{enumerable:!0,get:e})},I.r=function(A){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})},I.t=function(A,g){if(1&g&&(A=I(A)),8&g)return A;if(4&g&&"object"==typeof A&&A&&A.__esModule)return A;var e=Object.create(null);if(I.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:A}),2&g&&"string"!=typeof A)for(var t in A)I.d(e,t,function(I){return A[I]}.bind(null,t));return e},I.n=function(A){var g=A&&A.__esModule?function(){return A.default}:function(){return A};return I.d(g,"a",g),g},I.o=function(A,I){return Object.prototype.hasOwnProperty.call(A,I)},I.p="",I(I.s=11)}([function(A,I){"use strict";I.a={isWorkerRuntime:function(){return!("undefined"==typeof self||!self.postMessage)},postMessageToMaster:function(A,I){self.postMessage(A,I)},subscribeToMasterMessages:function(A){const I=I=>{A(I.data)};return self.addEventListener("message",I),()=>{self.removeEventListener("message",I)}}}},function(A,I,g){"use strict";function e(A){return C.deserialize(A)}function t(A){return C.serialize(A)}g.d(I,"a",(function(){return e})),g.d(I,"b",(function(){return t}));const n={deserialize:A=>Object.assign(Error(A.message),{name:A.name,stack:A.stack}),serialize:A=>({__error_marker:"$$error",message:A.message,name:A.name,stack:A.stack})};let C={deserialize:A=>(A=>A&&"object"==typeof A&&"__error_marker"in A&&"$$error"===A.__error_marker)(A)?n.deserialize(A):A,serialize:A=>A instanceof Error?n.serialize(A):A}},function(A,I,g){"use strict";var e,t;g.d(I,"a",(function(){return e})),g.d(I,"b",(function(){return t})),function(A){A.run="run"}(e||(e={})),function(A){A.error="error",A.init="init",A.result="result",A.running="running",A.uncaughtError="uncaughtError"}(t||(t={}))},function(A,I,g){"use strict";function e(A){return A&&"object"==typeof A&&A[n]}function t(A,I){if(!I){if(!function(A){return!(!A||"object"!=typeof A)}(A))throw Error();I=[A]}return{[n]:!0,send:A,transferables:I}}g.d(I,"b",(function(){return e})),g.d(I,"a",(function(){return t}));Symbol("thread.errors"),Symbol("thread.events"),Symbol("thread.terminate");const n=Symbol("thread.transferable");Symbol("thread.worker")},function(A,I,g){"use strict";(function(A){function e(A){return Object(Q.b)(A)?{payload:A.send,transferables:A.transferables}:{payload:A,transferables:void 0}}function t(A,I){const{payload:g,transferables:t}=e(I),n={type:a.b.error,uid:A,error:Object(o.b)(g)};s.a.postMessageToMaster(n,t)}function n(A,I,g){const{payload:t,transferables:n}=e(g),C={type:a.b.result,uid:A,complete:!!I||void 0,payload:t};s.a.postMessageToMaster(C,n)}function C(A){const I={type:a.b.uncaughtError,error:Object(o.b)(A)};s.a.postMessageToMaster(I)}function B(A,I,g){return c(this,void 0,void 0,(function*(){let e;try{e=I(...g)}catch(I){return t(A,I)}const C=y(e)?"observable":"promise";if(function(A,I){const g={type:a.b.running,uid:A,resultType:I};s.a.postMessageToMaster(g)}(A,C),y(e))e.subscribe(I=>n(A,!1,Object(o.b)(I)),I=>t(A,Object(o.b)(I)),()=>n(A,!0));else try{const I=yield e;n(A,!0,Object(o.b)(I))}catch(I){t(A,Object(o.b)(I))}}))}function i(A){if(!s.a.isWorkerRuntime())throw Error("expose() called in the master thread.");if(u)throw Error("expose() called more than once. This is not possible. Pass an object to expose() if you want to expose multiple functions.");if(u=!0,"function"==typeof A)s.a.subscribeToMasterMessages(I=>{f(I)&&!I.method&&B(I.uid,A,I.args.map(o.a))}),function(){const A={type:a.b.init,exposed:{type:"function"}};s.a.postMessageToMaster(A)}();else{if("object"!=typeof A||!A)throw Error("Invalid argument passed to expose(). Expected a function or an object, got: "+A);s.a.subscribeToMasterMessages(I=>{f(I)&&I.method&&B(I.uid,A[I.method],I.args.map(o.a))});!function(A){const I={type:a.b.init,exposed:{type:"module",methods:A}};s.a.postMessageToMaster(I)}(Object.keys(A).filter(I=>"function"==typeof A[I]))}}g.d(I,"b",(function(){return i}));var r=g(5),E=g.n(r),o=g(1),Q=g(3),a=g(2),s=g(0);g.d(I,"a",(function(){return Q.a}));var c=function(A,I,g,e){function t(A){return A instanceof g?A:new g((function(I){I(A)}))}return new(g||(g=Promise))((function(g,n){function C(A){try{i(e.next(A))}catch(A){n(A)}}function B(A){try{i(e.throw(A))}catch(A){n(A)}}function i(A){A.done?g(A.value):t(A.value).then(C,B)}i((e=e.apply(A,I||[])).next())}))};let u=!1;const f=A=>A&&A.type===a.a.run,y=A=>E()(A)||function(A){return A&&"object"==typeof A&&"function"==typeof A.subscribe}(A);"undefined"!=typeof self&&"function"==typeof self.addEventListener&&s.a.isWorkerRuntime()&&(self.addEventListener("error",A=>{setTimeout(()=>C(A.error||A),250)}),self.addEventListener("unhandledrejection",A=>{const I=A.reason;I&&"string"==typeof I.message&&setTimeout(()=>C(I),250)})),void 0!==A&&"function"==typeof A.on&&s.a.isWorkerRuntime()&&(A.on("uncaughtException",A=>{setTimeout(()=>C(A),250)}),A.on("unhandledRejection",A=>{A&&"string"==typeof A.message&&setTimeout(()=>C(A),250)}))}).call(this,g(7))},function(A,I,g){"use strict";const e=g(8).default;A.exports=A=>!(!A||!A[e]||A!==A[e]())},function(A,I,g){"use strict";function e(A){var I,g=A.Symbol;return"function"==typeof g?g.observable?I=g.observable:(I=g("observable"),g.observable=I):I="@@observable",I}g.d(I,"a",(function(){return e}))},function(A){function I(){throw new Error("setTimeout has not been defined")}function g(){throw new Error("clearTimeout has not been defined")}function e(A){if(i===setTimeout)return setTimeout(A,0);if((i===I||!i)&&setTimeout)return i=setTimeout,setTimeout(A,0);try{return i(A,0)}catch(I){try{return i.call(null,A,0)}catch(I){return i.call(this,A,0)}}}function t(){a&&o&&(a=!1,o.length?Q=o.concat(Q):s=-1,Q.length&&n())}function n(){if(!a){var A=e(t);a=!0;for(var I=Q.length;I;){for(o=Q,Q=[];++s<I;)o&&o[s].run();s=-1,I=Q.length}o=null,a=!1,function(A){if(r===clearTimeout)return clearTimeout(A);if((r===g||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(A);try{r(A)}catch(I){try{return r.call(null,A)}catch(I){return r.call(this,A)}}}(A)}}function C(A,I){this.fun=A,this.array=I}function B(){}var i,r,E=A.exports={};!function(){try{i="function"==typeof setTimeout?setTimeout:I}catch(A){i=I}try{r="function"==typeof clearTimeout?clearTimeout:g}catch(A){r=g}}();var o,Q=[],a=!1,s=-1;E.nextTick=function(A){var I=Array(arguments.length-1);if(1<arguments.length)for(var g=1;g<arguments.length;g++)I[g-1]=arguments[g];Q.push(new C(A,I)),1!==Q.length||a||e(n)},C.prototype.run=function(){this.fun.apply(null,this.array)},E.title="browser",E.browser=!0,E.env={},E.argv=[],E.version="",E.versions={},E.on=B,E.addListener=B,E.once=B,E.off=B,E.removeListener=B,E.removeAllListeners=B,E.emit=B,E.prependListener=B,E.prependOnceListener=B,E.listeners=function(){return[]},E.binding=function(){throw new Error("process.binding is not supported")},E.cwd=function(){return"/"},E.chdir=function(){throw new Error("process.chdir is not supported")},E.umask=function(){return 0}},function(A,I,g){"use strict";g.r(I),function(A,e){var t,n=g(6);t="undefined"==typeof self?"undefined"==typeof window?void 0===A?e:A:window:self;var C=Object(n.a)(t);I.default=C}.call(this,g(9),g(10)(A))},function(A){var I=function(){return this}();try{I=I||new Function("return this")()}catch(A){"object"==typeof window&&(I=window)}A.exports=I},function(A){A.exports=function(A){if(!A.webpackPolyfill){var I=Object.create(A);I.children||(I.children=[]),Object.defineProperty(I,"loaded",{enumerable:!0,get:function(){return I.l}}),Object.defineProperty(I,"id",{enumerable:!0,get:function(){return I.i}}),Object.defineProperty(I,"exports",{enumerable:!0}),I.webpackPolyfill=1}return I}},function(A,I,g){"use strict";g.r(I);var e=g(4),t=(()=>{var A="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0;return function(I){function g(A){return I["_"+A]}function e(A,I){return A?function(A,I,g){for(var e=I+g,t=I;A[t]&&!(t>=e);)++t;if(16<t-I&&A.buffer&&M)return M.decode(A.subarray(I,t));for(var n,C="";I<t;)if(128&(n=A[I++])){var B=63&A[I++];if(192!=(224&n)){var i=63&A[I++];if(65536>(n=224==(240&n)?(15&n)<<12|B<<6|i:(7&n)<<18|B<<12|i<<6|63&A[I++]))C+=y(n);else{var r=n-65536;C+=y(55296|r>>10,56320|1023&r)}}else C+=y((31&n)<<6|B)}else C+=y(n);return C}(b,A,I):""}function t(A,I,g){return function(A,I,g,e){if(!(0<e))return 0;for(var t,n=g,C=g+e-1,B=0;B<A.length;++B){if(55296<=(t=A.charCodeAt(B))&&57343>=t)t=65536+((1023&t)<<10)|1023&A.charCodeAt(++B);if(127>=t){if(g>=C)break;I[g++]=t}else if(2047>=t){if(g+1>=C)break;I[g++]=192|t>>6,I[g++]=128|63&t}else if(65535>=t){if(g+2>=C)break;I[g++]=224|t>>12,I[g++]=128|63&t>>6,I[g++]=128|63&t}else{if(g+3>=C)break;I[g++]=240|t>>18,I[g++]=128|63&t>>12,I[g++]=128|63&t>>6,I[g++]=128|63&t}}return I[g]=0,g-n}(A,b,I,g)}function n(A){G=A,I.HEAP8=p=new Int8Array(A),I.HEAP16=new Int16Array(A),I.HEAP32=new Int32Array(A),I.HEAPU8=b=new Uint8Array(A),I.HEAPU16=new Uint16Array(A),I.HEAPU32=new Uint32Array(A),I.HEAPF32=new Float32Array(A),I.HEAPF64=new Float64Array(A)}function C(A){m.unshift(A)}function B(A){S.unshift(A)}function i(A){I.onAbort&&I.onAbort(A),F(A="Aborted("+A+")"),k=!0,1,A+=". Build with -s ASSERTIONS=1 for more info.";var g=new WebAssembly.RuntimeError(A);throw f(g),g}function r(A){return A.startsWith(H)}function E(A){try{if(A==v&&R)return new Uint8Array(R);var I=s(A);if(I)return I;if(l)return l(A);throw"both async and sync fetching of the wasm failed"}catch(A){i(A)}}function o(A){for(;0<A.length;){var g=A.shift();if("function"!=typeof g){var e=g.func;"number"==typeof e?void 0===g.arg?Q(e)():Q(e)(g.arg):e(void 0===g.arg?null:g.arg)}else g(I)}}function Q(A){var I=x[A];return I||(A>=x.length&&(x.length=A+1),x[A]=I=Y.get(A)),I}function a(A){try{return N.grow(A-G.byteLength+65535>>>16),n(N.buffer),1}catch(A){}}function s(A){return r(A)?function(A){try{for(var I=q(A),g=new Uint8Array(I.length),e=0;e<I.length;++e)g[e]=I.charCodeAt(e);return g}catch(A){throw new Error("Converting base64 string to bytes failed.")}}(A.slice(H.length)):void 0}function c(A){function g(){T||(T=!0,I.calledRun=!0,k||(!0,o(J),u(I),I.onRuntimeInitialized&&I.onRuntimeInitialized(),function(){if(I.postRun)for("function"==typeof I.postRun&&(I.postRun=[I.postRun]);I.postRun.length;)B(I.postRun.shift());o(S)}()))}A=A||w,!(0<U)&&(function(){if(I.preRun)for("function"==typeof I.preRun&&(I.preRun=[I.preRun]);I.preRun.length;)C(I.preRun.shift());o(m)}(),0<U||(I.setStatus?(I.setStatus("Running..."),setTimeout((function(){setTimeout((function(){I.setStatus("")}),1),g()}),1)):g()))}var u,f,y=String.fromCharCode;(I=void 0===(I=I||{})?{}:I).ready=new Promise((function(A,I){u=A,f=I}));var l,h=Object.assign({},I),w=[],d=!0,D="";D=self.location.href,A&&(D=A),D=0===D.indexOf("blob:")?"":D.substr(0,D.replace(/[?#].*/,"").lastIndexOf("/")+1),l=A=>{try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}catch(I){var g=s(A);if(g)return g;throw I}};I.print;var R,F=I.printErr||function(){};Object.assign(I,h),h=null,I.arguments&&(w=I.arguments),I.thisProgram&&I.thisProgram,I.quit&&I.quit,I.wasmBinary&&(R=I.wasmBinary),I.noExitRuntime,"object"!=typeof WebAssembly&&i("no native wasm support detected");var N,G,p,b,Y,k=!1,M="undefined"==typeof TextDecoder?void 0:new TextDecoder("utf8"),m=(I.INITIAL_MEMORY,[]),J=[],S=[],U=0,L=null,K=null;I.preloadedImages={},I.preloadedAudios={};var v,H="data:application/octet-stream;base64,";r(v="data:application/octet-stream;base64,AGFzbQEAAAABHwZgAX8Bf2ABfAF8YAF/AGAAAGAAAX9gBn9/f39/fwACBwEBYQFhAAADDAsAAQMBAQACBAIABQQFAXABAQEFBwEBgAiAgAIGCQF/AUGAjcACCwclCQFiAgABYwADAWQACwFlAAoBZgAJAWcACAFoAAcBaQAGAWoBAArTUQtPAQJ/QYAJKAIAIgEgAEEDakF8cSICaiEAAkAgAkEAIAAgAU0bDQAgAD8AQRB0SwRAIAAQAEUNAQtBgAkgADYCACABDwtBhAlBMDYCAEF/C40BACAAIAAgACAAIABECff9DeE9Aj+iRIiyAXXg70k/oKJEO49otSiCpL+gokRVRIgOVcHJP6CiRH1v6wMS1tS/oKJEVVVVVVVVxT+gIACiIAAgACAAIABEgpIuscW4sz+iRFkBjRtsBua/oKJEyIpZnOUqAECgokRLLYocJzoDwKCiRAAAAAAAAPA/oKMLAwABC6wBAwF8AX4BfyAAvSICQjSIp0H/D3EiA0GyCE0EfCADQf0HTQRAIABEAAAAAAAAAACiDwsCfCAAIACaIAJCAFkbIgBEAAAAAAAAMEOgRAAAAAAAADDDoCAAoSIBRAAAAAAAAOA/ZARAIAAgAaBEAAAAAAAA8L+gDAELIAAgAaAiACABRAAAAAAAAOC/ZUUNABogAEQAAAAAAADwP6ALIgAgAJogAkIAWRsFIAALC/wDAwN8An8BfiAAvSIGQiCIp0H/////B3EiBEGAgMCgBE8EQCAARBgtRFT7Ifk/IACmIAC9Qv///////////wCDQoCAgICAgID4/wBWGw8LAkACfyAEQf//7/4DTQRAQX8gBEGAgIDyA08NARoMAgsgAJkhACAEQf//y/8DTQRAIARB//+X/wNNBEAgACAAoEQAAAAAAADwv6AgAEQAAAAAAAAAQKCjIQBBAAwCCyAARAAAAAAAAPC/oCAARAAAAAAAAPA/oKMhAEEBDAELIARB//+NgARNBEAgAEQAAAAAAAD4v6AgAEQAAAAAAAD4P6JEAAAAAAAA8D+goyEAQQIMAQtEAAAAAAAA8L8gAKMhAEEDCyEFIAAgAKIiAiACoiIBIAEgASABIAFEL2xqLES0or+iRJr93lIt3q2/oKJEbZp0r/Kws7+gokRxFiP+xnG8v6CiRMTrmJmZmcm/oKIhAyACIAEgASABIAEgAUQR2iLjOq2QP6JE6w12JEt7qT+gokRRPdCgZg2xP6CiRG4gTMXNRbc/oKJE/4MAkiRJwj+gokQNVVVVVVXVP6CiIQEgBEH//+/+A00EQCAAIAAgAyABoKKhDwsgBUEDdCIEQYAIaisDACAAIAMgAaCiIARBoAhqKwMAoSAAoaEiACAAmiAGQgBZGyEACyAACxAAIwAgAGtBcHEiACQAIAALBgAgACQACwQAIwALpwwBB38CQCAARQ0AIABBCGsiAyAAQQRrKAIAIgFBeHEiAGohBQJAIAFBAXENACABQQNxRQ0BIAMgAygCACIBayIDQZgJKAIASQ0BIAAgAWohACADQZwJKAIARwRAIAFB/wFNBEAgAygCCCICIAFBA3YiBEEDdEGwCWpGGiACIAMoAgwiAUYEQEGICUGICSgCAEF+IAR3cTYCAAwDCyACIAE2AgwgASACNgIIDAILIAMoAhghBgJAIAMgAygCDCIBRwRAIAMoAggiAiABNgIMIAEgAjYCCAwBCwJAIANBFGoiAigCACIEDQAgA0EQaiICKAIAIgQNAEEAIQEMAQsDQCACIQcgBCIBQRRqIgIoAgAiBA0AIAFBEGohAiABKAIQIgQNAAsgB0EANgIACyAGRQ0BAkAgAyADKAIcIgJBAnRBuAtqIgQoAgBGBEAgBCABNgIAIAENAUGMCUGMCSgCAEF+IAJ3cTYCAAwDCyAGQRBBFCAGKAIQIANGG2ogATYCACABRQ0CCyABIAY2AhggAygCECICBEAgASACNgIQIAIgATYCGAsgAygCFCICRQ0BIAEgAjYCFCACIAE2AhgMAQsgBSgCBCIBQQNxQQNHDQBBkAkgADYCACAFIAFBfnE2AgQgAyAAQQFyNgIEIAAgA2ogADYCAA8LIAMgBU8NACAFKAIEIgFBAXFFDQACQCABQQJxRQRAIAVBoAkoAgBGBEBBoAkgAzYCAEGUCUGUCSgCACAAaiIANgIAIAMgAEEBcjYCBCADQZwJKAIARw0DQZAJQQA2AgBBnAlBADYCAA8LIAVBnAkoAgBGBEBBnAkgAzYCAEGQCUGQCSgCACAAaiIANgIAIAMgAEEBcjYCBCAAIANqIAA2AgAPCyABQXhxIABqIQACQCABQf8BTQRAIAUoAggiAiABQQN2IgRBA3RBsAlqRhogAiAFKAIMIgFGBEBBiAlBiAkoAgBBfiAEd3E2AgAMAgsgAiABNgIMIAEgAjYCCAwBCyAFKAIYIQYCQCAFIAUoAgwiAUcEQCAFKAIIIgJBmAkoAgBJGiACIAE2AgwgASACNgIIDAELAkAgBUEUaiICKAIAIgQNACAFQRBqIgIoAgAiBA0AQQAhAQwBCwNAIAIhByAEIgFBFGoiAigCACIEDQAgAUEQaiECIAEoAhAiBA0ACyAHQQA2AgALIAZFDQACQCAFIAUoAhwiAkECdEG4C2oiBCgCAEYEQCAEIAE2AgAgAQ0BQYwJQYwJKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgBUYbaiABNgIAIAFFDQELIAEgBjYCGCAFKAIQIgIEQCABIAI2AhAgAiABNgIYCyAFKAIUIgJFDQAgASACNgIUIAIgATYCGAsgAyAAQQFyNgIEIAAgA2ogADYCACADQZwJKAIARw0BQZAJIAA2AgAPCyAFIAFBfnE2AgQgAyAAQQFyNgIEIAAgA2ogADYCAAsgAEH/AU0EQCAAQQN2IgFBA3RBsAlqIQACf0GICSgCACICQQEgAXQiAXFFBEBBiAkgASACcjYCACAADAELIAAoAggLIQIgACADNgIIIAIgAzYCDCADIAA2AgwgAyACNgIIDwtBHyECIANCADcCECAAQf///wdNBEAgAEEIdiIBIAFBgP4/akEQdkEIcSIBdCICIAJBgOAfakEQdkEEcSICdCIEIARBgIAPakEQdkECcSIEdEEPdiABIAJyIARyayIBQQF0IAAgAUEVanZBAXFyQRxqIQILIAMgAjYCHCACQQJ0QbgLaiEBAkACQAJAQYwJKAIAIgRBASACdCIHcUUEQEGMCSAEIAdyNgIAIAEgAzYCACADIAE2AhgMAQsgAEEAQRkgAkEBdmsgAkEfRht0IQIgASgCACEBA0AgASIEKAIEQXhxIABGDQIgAkEddiEBIAJBAXQhAiAEIAFBBHFqIgdBEGooAgAiAQ0ACyAHIAM2AhAgAyAENgIYCyADIAM2AgwgAyADNgIIDAELIAQoAggiACADNgIMIAQgAzYCCCADQQA2AhggAyAENgIMIAMgADYCCAtBqAlBqAkoAgBBAWsiAEF/IAAbNgIACwuPLQELfyMAQRBrIgskAAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEH0AU0EQEGICSgCACIEQRAgAEELakF4cSAAQQtJGyIGQQN2IgB2IgFBA3EEQCABQX9zQQFxIABqIgJBA3QiBUG4CWooAgAiAUEIaiEAAkAgASgCCCIDIAVBsAlqIgVGBEBBiAkgBEF+IAJ3cTYCAAwBCyADIAU2AgwgBSADNgIICyABIAJBA3QiAkEDcjYCBCABIAJqIgEgASgCBEEBcjYCBAwMCyAGQZAJKAIAIghNDQEgAQRAAkBBAiAAdCICQQAgAmtyIAEgAHRxIgBBACAAa3FBAWsiACAAQQx2QRBxIgB2IgFBBXZBCHEiAiAAciABIAJ2IgBBAnZBBHEiAXIgACABdiIAQQF2QQJxIgFyIAAgAXYiAEEBdkEBcSIBciAAIAF2aiICQQN0IgNBuAlqKAIAIgEoAggiACADQbAJaiIDRgRAQYgJIARBfiACd3EiBDYCAAwBCyAAIAM2AgwgAyAANgIICyABQQhqIQAgASAGQQNyNgIEIAEgBmoiByACQQN0IgIgBmsiA0EBcjYCBCABIAJqIAM2AgAgCARAIAhBA3YiBUEDdEGwCWohAUGcCSgCACECAn8gBEEBIAV0IgVxRQRAQYgJIAQgBXI2AgAgAQwBCyABKAIICyEFIAEgAjYCCCAFIAI2AgwgAiABNgIMIAIgBTYCCAtBnAkgBzYCAEGQCSADNgIADAwLQYwJKAIAIgpFDQEgCkEAIAprcUEBayIAIABBDHZBEHEiAHYiAUEFdkEIcSICIAByIAEgAnYiAEECdkEEcSIBciAAIAF2IgBBAXZBAnEiAXIgACABdiIAQQF2QQFxIgFyIAAgAXZqQQJ0QbgLaigCACIBKAIEQXhxIAZrIQUgASECA0ACQCACKAIQIgBFBEAgAigCFCIARQ0BCyAAKAIEQXhxIAZrIgIgBSACIAVJIgIbIQUgACABIAIbIQEgACECDAELCyABKAIYIQkgASABKAIMIgNHBEAgASgCCCIAQZgJKAIASRogACADNgIMIAMgADYCCAwLCyABQRRqIgIoAgAiAEUEQCABKAIQIgBFDQMgAUEQaiECCwNAIAIhByAAIgNBFGoiAigCACIADQAgA0EQaiECIAMoAhAiAA0ACyAHQQA2AgAMCgtBfyEGIABBv39LDQAgAEELaiIAQXhxIQZBjAkoAgAiB0UNAEEAIAZrIQUCQAJAAkACf0EAIAZBgAJJDQAaQR8gBkH///8HSw0AGiAAQQh2IgAgAEGA/j9qQRB2QQhxIgB0IgEgAUGA4B9qQRB2QQRxIgF0IgIgAkGAgA9qQRB2QQJxIgJ0QQ92IAAgAXIgAnJrIgBBAXQgBiAAQRVqdkEBcXJBHGoLIghBAnRBuAtqKAIAIgJFBEBBACEADAELQQAhACAGQQBBGSAIQQF2ayAIQR9GG3QhAQNAAkAgAigCBEF4cSIJIAZrIgQgBU8NACAEIQUgAiEDIAYgCUcNAEEAIQUgAiEADAMLIAAgAigCFCIEIAQgAiABQR12QQRxaigCECICRhsgACAEGyEAIAFBAXQhASACDQALCyAAIANyRQRAQQAhA0ECIAh0IgBBACAAa3IgB3EiAEUNAyAAQQAgAGtxQQFrIgAgAEEMdkEQcSIAdiIBQQV2QQhxIgIgAHIgASACdiIAQQJ2QQRxIgFyIAAgAXYiAEEBdkECcSIBciAAIAF2IgBBAXZBAXEiAXIgACABdmpBAnRBuAtqKAIAIQALIABFDQELA0AgACgCBEF4cSAGayICIAVJIQEgAiAFIAEbIQUgACADIAEbIQMgACgCECIBBH8gAQUgACgCFAsiAA0ACwsgA0UNACAFQZAJKAIAIAZrTw0AIAMoAhghCCADIAMoAgwiAUcEQCADKAIIIgBBmAkoAgBJGiAAIAE2AgwgASAANgIIDAkLIANBFGoiAigCACIARQRAIAMoAhAiAEUNAyADQRBqIQILA0AgAiEEIAAiAUEUaiICKAIAIgANACABQRBqIQIgASgCECIADQALIARBADYCAAwICyAGQZAJKAIAIgFNBEBBnAkoAgAhAAJAIAEgBmsiAkEQTwRAQZAJIAI2AgBBnAkgACAGaiIDNgIAIAMgAkEBcjYCBCAAIAFqIAI2AgAgACAGQQNyNgIEDAELQZwJQQA2AgBBkAlBADYCACAAIAFBA3I2AgQgACABaiIBIAEoAgRBAXI2AgQLIABBCGohAAwKCyAGQZQJKAIAIgFJBEBBlAkgASAGayIBNgIAQaAJQaAJKAIAIgAgBmoiAjYCACACIAFBAXI2AgQgACAGQQNyNgIEIABBCGohAAwKC0EAIQAgBkEvaiIFAn9B4AwoAgAEQEHoDCgCAAwBC0HsDEJ/NwIAQeQMQoCggICAgAQ3AgBB4AwgC0EMakFwcUHYqtWqBXM2AgBB9AxBADYCAEHEDEEANgIAQYAgCyICaiIEQQAgAmsiB3EiAiAGTQ0JQcAMKAIAIgMEQEG4DCgCACIIIAJqIgkgCE0NCiADIAlJDQoLQcQMLQAAQQRxDQQCQAJAQaAJKAIAIgMEQEHIDCEAA0AgAyAAKAIAIghPBEAgCCAAKAIEaiADSw0DCyAAKAIIIgANAAsLQQAQASIBQX9GDQUgAiEEQeQMKAIAIgBBAWsiAyABcQRAIAIgAWsgASADakEAIABrcWohBAsgBCAGTQ0FIARB/v///wdLDQVBwAwoAgAiAARAQbgMKAIAIgMgBGoiByADTQ0GIAAgB0kNBgsgBBABIgAgAUcNAQwHCyAEIAFrIAdxIgRB/v///wdLDQQgBBABIgEgACgCACAAKAIEakYNAyABIQALAkAgAEF/Rg0AIAZBMGogBE0NAEHoDCgCACIBIAUgBGtqQQAgAWtxIgFB/v///wdLBEAgACEBDAcLIAEQAUF/RwRAIAEgBGohBCAAIQEMBwtBACAEaxABGgwECyAAIgFBf0cNBQwDC0EAIQMMBwtBACEBDAULIAFBf0cNAgtBxAxBxAwoAgBBBHI2AgALIAJB/v///wdLDQEgAhABIQFBABABIQAgAUF/Rg0BIABBf0YNASAAIAFNDQEgACABayIEIAZBKGpNDQELQbgMQbgMKAIAIARqIgA2AgBBvAwoAgAgAEkEQEG8DCAANgIACwJAAkACQEGgCSgCACIDBEBByAwhAANAIAEgACgCACICIAAoAgQiBWpGDQIgACgCCCIADQALDAILQZgJKAIAIgBBACAAIAFNG0UEQEGYCSABNgIAC0EAIQBBzAwgBDYCAEHIDCABNgIAQagJQX82AgBBrAlB4AwoAgA2AgBB1AxBADYCAANAIABBA3QiAkG4CWogAkGwCWoiAzYCACACQbwJaiADNgIAIABBAWoiAEEgRw0AC0GUCSAEQShrIgBBeCABa0EHcUEAIAFBCGpBB3EbIgJrIgM2AgBBoAkgASACaiICNgIAIAIgA0EBcjYCBCAAIAFqQSg2AgRBpAlB8AwoAgA2AgAMAgsgAC0ADEEIcQ0AIAIgA0sNACABIANNDQAgACAEIAVqNgIEQaAJIANBeCADa0EHcUEAIANBCGpBB3EbIgBqIgE2AgBBlAlBlAkoAgAgBGoiAiAAayIANgIAIAEgAEEBcjYCBCACIANqQSg2AgRBpAlB8AwoAgA2AgAMAQtBmAkoAgAgAUsEQEGYCSABNgIACyABIARqIQJByAwhAAJAAkACQAJAAkACQANAIAIgACgCAEcEQCAAKAIIIgANAQwCCwsgAC0ADEEIcUUNAQtByAwhAANAIAMgACgCACICTwRAIAIgACgCBGoiBSADSw0DCyAAKAIIIQAMAAsACyAAIAE2AgAgACAAKAIEIARqNgIEIAFBeCABa0EHcUEAIAFBCGpBB3EbaiIIIAZBA3I2AgQgAkF4IAJrQQdxQQAgAkEIakEHcRtqIgQgBiAIaiIHayEGIAMgBEYEQEGgCSAHNgIAQZQJQZQJKAIAIAZqIgA2AgAgByAAQQFyNgIEDAMLIARBnAkoAgBGBEBBnAkgBzYCAEGQCUGQCSgCACAGaiIANgIAIAcgAEEBcjYCBCAAIAdqIAA2AgAMAwsgBCgCBCIAQQNxQQFGBEAgAEF4cSEJAkAgAEH/AU0EQCAEKAIIIgEgAEEDdiICQQN0QbAJakYaIAEgBCgCDCIARgRAQYgJQYgJKAIAQX4gAndxNgIADAILIAEgADYCDCAAIAE2AggMAQsgBCgCGCEDAkAgBCAEKAIMIgFHBEAgBCgCCCIAIAE2AgwgASAANgIIDAELAkAgBEEUaiIAKAIAIgUNACAEQRBqIgAoAgAiBQ0AQQAhAQwBCwNAIAAhAiAFIgFBFGoiACgCACIFDQAgAUEQaiEAIAEoAhAiBQ0ACyACQQA2AgALIANFDQACQCAEIAQoAhwiAEECdEG4C2oiAigCAEYEQCACIAE2AgAgAQ0BQYwJQYwJKAIAQX4gAHdxNgIADAILIANBEEEUIAMoAhAgBEYbaiABNgIAIAFFDQELIAEgAzYCGCAEKAIQIgAEQCABIAA2AhAgACABNgIYCyAEKAIUIgBFDQAgASAANgIUIAAgATYCGAsgBiAJaiEGIAQgCWohBAsgBCAEKAIEQX5xNgIEIAcgBkEBcjYCBCAGIAdqIAY2AgAgBkH/AU0EQCAGQQN2IgFBA3RBsAlqIQACf0GICSgCACICQQEgAXQiAXFFBEBBiAkgASACcjYCACAADAELIAAoAggLIQEgACAHNgIIIAEgBzYCDCAHIAA2AgwgByABNgIIDAMLQR8hACAGQf///wdNBEAgBkEIdiIAIABBgP4/akEQdkEIcSIAdCIBIAFBgOAfakEQdkEEcSIBdCICIAJBgIAPakEQdkECcSICdEEPdiAAIAFyIAJyayIAQQF0IAYgAEEVanZBAXFyQRxqIQALIAcgADYCHCAHQgA3AhAgAEECdEG4C2ohAQJAQYwJKAIAIgJBASAAdCIDcUUEQEGMCSACIANyNgIAIAEgBzYCACAHIAE2AhgMAQsgBkEAQRkgAEEBdmsgAEEfRht0IQAgASgCACEBA0AgASICKAIEQXhxIAZGDQMgAEEddiEBIABBAXQhACACIAFBBHFqIgMoAhAiAQ0ACyADIAc2AhAgByACNgIYCyAHIAc2AgwgByAHNgIIDAILQZQJIARBKGsiAEF4IAFrQQdxQQAgAUEIakEHcRsiAmsiBzYCAEGgCSABIAJqIgI2AgAgAiAHQQFyNgIEIAAgAWpBKDYCBEGkCUHwDCgCADYCACADIAVBJyAFa0EHcUEAIAVBJ2tBB3EbakEvayIAIAAgA0EQakkbIgJBGzYCBCACQdAMKQIANwIQIAJByAwpAgA3AghB0AwgAkEIajYCAEHMDCAENgIAQcgMIAE2AgBB1AxBADYCACACQRhqIQADQCAAQQc2AgQgAEEIaiEBIABBBGohACABIAVJDQALIAIgA0YNAyACIAIoAgRBfnE2AgQgAyACIANrIgVBAXI2AgQgAiAFNgIAIAVB/wFNBEAgBUEDdiIBQQN0QbAJaiEAAn9BiAkoAgAiAkEBIAF0IgFxRQRAQYgJIAEgAnI2AgAgAAwBCyAAKAIICyEBIAAgAzYCCCABIAM2AgwgAyAANgIMIAMgATYCCAwEC0EfIQAgA0IANwIQIAVB////B00EQCAFQQh2IgAgAEGA/j9qQRB2QQhxIgB0IgEgAUGA4B9qQRB2QQRxIgF0IgIgAkGAgA9qQRB2QQJxIgJ0QQ92IAAgAXIgAnJrIgBBAXQgBSAAQRVqdkEBcXJBHGohAAsgAyAANgIcIABBAnRBuAtqIQECQEGMCSgCACICQQEgAHQiBHFFBEBBjAkgAiAEcjYCACABIAM2AgAgAyABNgIYDAELIAVBAEEZIABBAXZrIABBH0YbdCEAIAEoAgAhAQNAIAEiAigCBEF4cSAFRg0EIABBHXYhASAAQQF0IQAgAiABQQRxaiIEKAIQIgENAAsgBCADNgIQIAMgAjYCGAsgAyADNgIMIAMgAzYCCAwDCyACKAIIIgAgBzYCDCACIAc2AgggB0EANgIYIAcgAjYCDCAHIAA2AggLIAhBCGohAAwFCyACKAIIIgAgAzYCDCACIAM2AgggA0EANgIYIAMgAjYCDCADIAA2AggLQZQJKAIAIgAgBk0NAEGUCSAAIAZrIgE2AgBBoAlBoAkoAgAiACAGaiICNgIAIAIgAUEBcjYCBCAAIAZBA3I2AgQgAEEIaiEADAMLQYQJQTA2AgBBACEADAILAkAgCEUNAAJAIAMoAhwiAEECdEG4C2oiAigCACADRgRAIAIgATYCACABDQFBjAkgB0F+IAB3cSIHNgIADAILIAhBEEEUIAgoAhAgA0YbaiABNgIAIAFFDQELIAEgCDYCGCADKAIQIgAEQCABIAA2AhAgACABNgIYCyADKAIUIgBFDQAgASAANgIUIAAgATYCGAsCQCAFQQ9NBEAgAyAFIAZqIgBBA3I2AgQgACADaiIAIAAoAgRBAXI2AgQMAQsgAyAGQQNyNgIEIAMgBmoiBCAFQQFyNgIEIAQgBWogBTYCACAFQf8BTQRAIAVBA3YiAUEDdEGwCWohAAJ/QYgJKAIAIgJBASABdCIBcUUEQEGICSABIAJyNgIAIAAMAQsgACgCCAshASAAIAQ2AgggASAENgIMIAQgADYCDCAEIAE2AggMAQtBHyEAIAVB////B00EQCAFQQh2IgAgAEGA/j9qQRB2QQhxIgB0IgEgAUGA4B9qQRB2QQRxIgF0IgIgAkGAgA9qQRB2QQJxIgJ0QQ92IAAgAXIgAnJrIgBBAXQgBSAAQRVqdkEBcXJBHGohAAsgBCAANgIcIARCADcCECAAQQJ0QbgLaiEBAkACQCAHQQEgAHQiAnFFBEBBjAkgAiAHcjYCACABIAQ2AgAMAQsgBUEAQRkgAEEBdmsgAEEfRht0IQAgASgCACECA0AgAiIBKAIEQXhxIAVGDQIgAEEddiECIABBAXQhACABIAJBBHFqIgcoAhAiAg0ACyAHIAQ2AhALIAQgATYCGCAEIAQ2AgwgBCAENgIIDAELIAEoAggiACAENgIMIAEgBDYCCCAEQQA2AhggBCABNgIMIAQgADYCCAsgA0EIaiEADAELAkAgCUUNAAJAIAEoAhwiAEECdEG4C2oiAigCACABRgRAIAIgAzYCACADDQFBjAkgCkF+IAB3cTYCAAwCCyAJQRBBFCAJKAIQIAFGG2ogAzYCACADRQ0BCyADIAk2AhggASgCECIABEAgAyAANgIQIAAgAzYCGAsgASgCFCIARQ0AIAMgADYCFCAAIAM2AhgLAkAgBUEPTQRAIAEgBSAGaiIAQQNyNgIEIAAgAWoiACAAKAIEQQFyNgIEDAELIAEgBkEDcjYCBCABIAZqIgMgBUEBcjYCBCADIAVqIAU2AgAgCARAIAhBA3YiB0EDdEGwCWohAEGcCSgCACECAn9BASAHdCIHIARxRQRAQYgJIAQgB3I2AgAgAAwBCyAAKAIICyEEIAAgAjYCCCAEIAI2AgwgAiAANgIMIAIgBDYCCAtBnAkgAzYCAEGQCSAFNgIACyABQQhqIQALIAtBEGokACAAC+oQBAp/HXwBfgl9IABBAEoEQANAIAIgCEECdGooAgAhCiABIAhBBnRqIgYqAiC7IhIgBioCGLsiFyAGKgIEuyIYoiAGKgIIuyIZIAYqAhS7IhqioSIRoiAGKgIAuyITIAYqAii7IhsgGqIgFyAGKgIkuyIcoqEiFKIgHCAZoiAYIBuioSIVIAYqAhC7IhaioKAiEJlEAAAAAAAAsDxjRQRAIBogE6IgGCAWoqFEAAAAAAAA8D8gEKMiEKIhIiAcIBaiIBogEqKhIBCiISMgEiAXoiAWIBuaoqAgEKIhJCARIBCiISUgFSAQoiEmIBQgEKIhJyAWIBmiIBMgF6KhIBCiISggEiAYoiATIByaoqAgEKIhKSAbIBOiIBkgEqKhIBCiIR8LQQAhC0P//39/ITJD//9//yEzAkAgCkEATARAQ///f/8hLkP//3//IS9D//9/fyEwQ///f38hMQwBCyAGKgI4uyEqIAYqAjS7ISsgBioCMLshLEP//3//IS5D//9//yEvQ///f38hMEP//39/ITEDQCAoIAMgCyAMaiINQRhsaiIGKgIUuyIQoiAkIAYqAgy7Ih2iIB8gBioCELsiIKKgoCEhICIgEKIgIyAdoiApICCioKAhESAGKgIAuyEUIAYqAgi7IRUgBioCBLshHgJ8AkAgJSAQoiAnIB2iICYgIKKgoCIQmUQAAAAAAACwPGNFDQAgEZlEAAAAAAAAsDxjRQ0ARBgtRFT7IQnARAAAAAAAAACAIBG9Ii1CAFMbIBC9QgBTDQEaRBgtRFT7IQlARAAAAAAAAAAAIC1CAFMbDAELAnwgECARoCAQvUL///////////8Ag0KBgICAgICA+P8AVCARvUL///////////8Ag0KAgICAgICA+P8AWHFFDQAaIBG9Ii1CIIinIgdBgIDA/wNrIC2nIg5yRQRAIBAQBQwBCyAHQR52QQJxIg8gEL0iLUI/iKdyIQYCQCAtQiCIp0H/////B3EiCSAtp3JFBEACQAJAIAZBAmsOAgABAwtEGC1EVPshCUAMAwtEGC1EVPshCcAMAgtEGC1EVPsh+T8gEKYgB0H/////B3EiByAOckUNARoCQCAHQYCAwP8HRgRAIAlBgIDA/wdHDQEgBkEDdEHACGorAwAMAwtEGC1EVPsh+T8gEKYgCUGAgMD/B0cgB0GAgIAgaiAJT3FFDQIaAnwgDwRARAAAAAAAAAAAIAlBgICAIGogB0kNARoLIBAgEaOZEAULIRACQAJAAkAgBg4DBAABAgsgEJoMBAtEGC1EVPshCUAgEEQHXBQzJqahvKChDAMLIBBEB1wUMyamobygRBgtRFT7IQnAoAwCCyAGQQN0QeAIaisDACEQCyAQCwshHQJ8ICFEAAAAAAAA8L+lRAAAAAAAAPC/ICG9Qv///////////wCDQoCAgICAgID4/wBYGyIQRAAAAAAAAPA/pEQAAAAAAADwPyAQvUL///////////8Ag0KAgICAgICA+P8AWBsiEL0iLUIgiKdB/////wdxIgZBgIDA/wNPBEBEAAAAAAAAAABEGC1EVPshCUAgLUIAWRsgLacgBkGAgMD/A2tyRQ0BGkQAAAAAAAAAACAQIBChowwBCwJ8IAZB/////gNNBEBEGC1EVPsh+T8gBkGBgIDjA0kNARpEB1wUMyamkTwgECAQIBCiEAKioSAQoUQYLURU+yH5P6AMAgsgLUIAUwRARBgtRFT7Ifk/IBBEAAAAAAAA8D+gRAAAAAAAAOA/oiIQnyIRIBEgEBACokQHXBQzJqaRvKCgoSIQIBCgDAILRAAAAAAAAPA/IBChRAAAAAAAAOA/oiIQnyIRIBAQAqIgECARvUKAgICAcIO/IhAgEKKhIBEgEKCjoCAQoCIQIBCgCwshECAEIA1BBHRqIgYgHCAVoiAYIBSiIBogHqKgoCAroLYiNDgCBCAGIBIgFaIgEyAUoiAWIB6ioKAgLKC2IjU4AgAgBiAbIBWiIBkgFKIgFyAeoqCgICqgtiI2OAIIIAYgHUQYLURU+yEZQKNEAAAAAAAA4D+gRAAAAAAA/q9AohAERAAAAAAAALBAoiAQRBJwDM76IQlApEQScAzO+iEJQCAQvUL///////////8Ag0KAgICAgICA+P8AWBsiEESN7bWg98awPqVEje21oPfGsD4gEL1C////////////AINCgICAgICAgPj/AFgbRBgtRFT7IQlAo0QAAAAAAP6vQKIQBKC2OAIMIC8gLyA2lyA2vEH/////B3FBgICA/AdLIgYbIDYgL7xB/////wdxQYCAgPwHTRshLyAxIDEgNpYgBhsgNiAxvEH/////B3FBgICA/AdNGyExIC4gLiA0lyA0vEH/////B3FBgICA/AdLIgYbIDQgLrxB/////wdxQYCAgPwHTRshLiAwIDAgNJYgBhsgNCAwvEH/////B3FBgICA/AdNGyEwIDMgMyA1lyA1vEH/////B3FBgICA/AdLIgYbIDUgM7xB/////wdxQYCAgPwHTRshMyAyIDIgNZYgBhsgNSAyvEH/////B3FBgICA/AdNGyEyIAtBAWoiCyAKRw0ACwsgBSAIQeAAbGoiBiAyOAIAIAYgMDgCBCAGIDE4AgggBiAzOAIMIAYgMDgCECAGIDE4AhQgBiAyOAIYIAYgLjgCHCAGIDE4AiAgBiAyOAIkIAYgMDgCKCAGIC84AiwgBiAzOAIwIAYgLjgCNCAGIC84AjggBiAyOAI8IAZBQGsgLjgCACAGIDE4AlwgBiAuOAJYIAYgMzgCVCAGIC84AlAgBiAwOAJMIAYgMzgCSCAGIC84AkQgCiAMaiEMIAhBAWoiCCAARw0ACwsLC4cBAwBBgAgLYE+7YQVnrN0/GC1EVPsh6T+b9oHSC3PvPxgtRFT7Ifk/4mUvIn8rejwHXBQzJqaBPL3L8HqIB3A8B1wUMyamkTwYLURU+yHpPxgtRFT7Iem/0iEzf3zZAkDSITN/fNkCwABB7wgLEYAYLURU+yEJQBgtRFT7IQnAAEGACQsDgAZQ")||(v=function(A){return I.locateFile?I.locateFile(A,D):D+A}(v));var T,x=[],q="function"==typeof atob?atob:function(A){var I,g,e,t,n,C,B="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",i="",r=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{e=B.indexOf(A.charAt(r++)),I=(15&(t=B.indexOf(A.charAt(r++))))<<4|(n=B.indexOf(A.charAt(r++)))>>2,g=(3&n)<<6|(C=B.indexOf(A.charAt(r++))),i+=y(e<<2|t>>4),64!==n&&(i+=y(I)),64!==C&&(i+=y(g))}while(r<A.length);return i},j={a:function(A){var I=Math.min,g=b.length,e=2147483648;if((A>>>=0)>e)return!1;let t=(A,I)=>A+(I-A%I)%I;for(var n,C=1;4>=C;C*=2){if(n=I(n=g*(1+.2/C),A+100663296),a(I(e,t(Math.max(A,n),65536))))return!0}return!1}},P=(function(){function A(A){var g=A.exports;I.asm=g,n((N=I.asm.b).buffer),Y=I.asm.j,function(A){J.unshift(A)}(I.asm.c),function(){if(U--,I.monitorRunDependencies&&I.monitorRunDependencies(U),0==U&&(null!==L&&(clearInterval(L),L=null),K)){var A=K;K=null,A()}}()}function g(I){A(I.instance)}function e(A){return(!R&&d&&"function"==typeof fetch?fetch(v,{credentials:"same-origin"}).then((function(A){if(!A.ok)throw"failed to load wasm binary file at '"+v+"'";return A.arrayBuffer()})).catch((function(){return E(v)})):Promise.resolve().then((function(){return E(v)}))).then((function(A){return WebAssembly.instantiate(A,t)})).then((function(A){return A})).then(A,(function(A){F("failed to asynchronously prepare wasm: "+A),i(A)}))}var t={a:j};if(U++,I.monitorRunDependencies&&I.monitorRunDependencies(U),I.instantiateWasm)try{return I.instantiateWasm(t,A)}catch(A){return F("Module.instantiateWasm callback failed with error: "+A),!1}(R||"function"!=typeof WebAssembly.instantiateStreaming||r(v)||"function"!=typeof fetch?e(g):fetch(v,{credentials:"same-origin"}).then((function(A){return WebAssembly.instantiateStreaming(A,t).then(g,(function(A){return F("wasm streaming compile failed: "+A),F("falling back to ArrayBuffer instantiation"),e(g)}))}))).catch(f)}(),I.___wasm_call_ctors=function(){return(I.___wasm_call_ctors=I.asm.c).apply(null,arguments)},I._processVertices=function(){return(I._processVertices=I.asm.d).apply(null,arguments)},I._malloc=function(){return(I._malloc=I.asm.e).apply(null,arguments)},I._free=function(){return(I._free=I.asm.f).apply(null,arguments)},I.stackSave=function(){return(P=I.stackSave=I.asm.g).apply(null,arguments)}),X=I.stackRestore=function(){return(X=I.stackRestore=I.asm.h).apply(null,arguments)},Z=I.stackAlloc=function(){return(Z=I.stackAlloc=I.asm.i).apply(null,arguments)};if(I.ccall=function(A,I,n,C){var B={string:function(A){var I=0;if(null!=A&&0!==A){var g=1+(A.length<<2);t(A,I=Z(g),g)}return I},array:function(A){var I=Z(A.length);return function(A,I){p.set(A,I)}(A,I),I}},i=g(A),r=[],E=0;if(C)for(var o,Q=0;Q<C.length;Q++)(o=B[n[Q]])?(0===E&&(E=P()),r[Q]=o(C[Q])):r[Q]=C[Q];var a=i.apply(null,r);return a=function(A){return 0!==E&&X(E),function(A){return"string"===I?e(A):"boolean"===I?!!A:A}(A)}(a)},K=function A(){T||c(),T||(K=A)},I.run=c,I.preInit)for("function"==typeof I.preInit&&(I.preInit=[I.preInit]);0<I.preInit.length;)I.preInit.pop()();return c(),I.ready}})();let n;Object(e.b)({initModule:()=>new Promise(n?async A=>{A()}:async A=>{(new t).then(I=>{n=I,A()})}),processVertices(A,I,g,t){let C=new Float32Array(t),B=new Float32Array(I),i=new Uint32Array(g),r=C.length/6,E=new Float32Array(4*r),o=new Float32Array(24*A);var Q,a,s,c,u,f=0;Q=f,a=f+=B.length*B.BYTES_PER_ELEMENT,s=f+=i.length*i.BYTES_PER_ELEMENT,c=f+=C.length*C.BYTES_PER_ELEMENT,u=f+=E.length*E.BYTES_PER_ELEMENT,f+=o.length*o.BYTES_PER_ELEMENT;var y=n._malloc(f),l=new Uint8Array(n.HEAPU8.buffer,y,f);l.set(new Uint8Array(B.buffer),Q),l.set(new Uint8Array(i.buffer),a),l.set(new Uint8Array(C.buffer),s);let h=l.byteOffset;n.ccall("processVertices","null",["number","number","number","number","number","number","number"],[A,h+Q,h+a,h+s,h+c,h+u]);let w=new Float32Array(l.buffer,h+c,E.length);for(let A=0;A<E.length;A++)E[A]=w[A];let d=new Float32Array(l.buffer,h+u,o.length);for(let A=0;A<o.length;A++)o[A]=d[A];return n._free(l.byteOffset),C=null,B=null,i=null,{vertices:Object(e.a)(E.buffer),boundingBoxes:Object(e.a)(o.buffer)}}})}]);
package/package.json CHANGED
@@ -1,87 +1,87 @@
1
- {
2
- "name": "bimplus-renderer",
3
- "version": "1.3.16",
4
- "description": "bim+ renderer",
5
- "main": "dist/bimplus-renderer.js",
6
- "license": "MIT",
7
- "repository": {
8
- "type": "git",
9
- "url": "."
10
- },
11
- "scripts": {
12
- "eslint": "eslint src/** test/**",
13
- "build": "npm run build-wasm && webpack --config webpack.dev.js",
14
- "build-prod": "npm run build-wasm-prod && npm run eslint && webpack --config webpack.prod.js",
15
- "yarn-publish": "npm run build-prod && yarn publish",
16
- "yarn-publish-rc": "npm run build-prod && yarn publish --tag rc",
17
- "yarn-publish-branch": "npm run build-prod && yarn publish --tag",
18
- "npm-pack": "npm run build-prod && npm pack",
19
- "build-doc": "documentation build ./src/*.js --config doc_config.yml -f html -o ./documentation",
20
- "build-docMd": "documentation build ./src/*.js -f md -o ./documentation/Bimplus_Renderer_doc.md",
21
- "build-docConf": "npm run build-docMd && cd ./documentation && python convert_to_confluence_md.py",
22
- "build-docAll": "npm run build-doc && npm run build-docConf",
23
- "test": "npm-run-all -p -r test-polly-listen-task test-karma-task",
24
- "test-watch": "npm-run-all -p -r test-polly-listen-task test-watch--browser-task",
25
- "test-chrome": "npm-run-all -p -r test-polly-listen-task test-chrome-browser-task",
26
- "test-chrome-headless": "npm-run-all -p -r test-polly-listen-task test-chrome-headlss-task",
27
- "test-firefox": "npm-run-all -p -r test-polly-listen-task test-firefx-browser-task",
28
- "// TEST HELPERS ": "The next scripts are helpers for the test scripts which are needed because of usage of npm-run-all",
29
- "// npm run test ": "runs all test in different browsers as specified in karma.conf.js",
30
- "// npm run test-watch": "npm run test-watch runs all tests in one browser for debugging",
31
- "// firefox headless ": "cant be used because webgl is not defined",
32
- "// heap error ": "FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory: increase --max_old_space_size=4096",
33
- "test-polly-listen-task": "polly listen",
34
- "test-karma-task": "node --max_old_space_size=8192 node_modules/karma/bin/karma start ",
35
- "test-watch--browser-task": "npm run test-karma-task -- --single-run=false --browsers=ChromeExt --auto-watch",
36
- "test-chrome-browser-task": "npm run test-karma-task -- --single-run=true --browsers=ChromeExt",
37
- "test-chrome-headlss-task": "npm run test-karma-task -- --single-run=true --browsers=ChromeHeadless",
38
- "test-firefx-browser-task": "npm run test-karma-task -- --single-run=true --browsers=Firefox",
39
- "test-firefx-headlss-task": "npm run test-karma-task -- --single-run=true --browsers=FirefoxHeadless",
40
- "build-wasm": "emcc -O3 ./src/assembly/processPartitionVertices.cpp -s EXPORT_ES6=1 -s MODULARIZE=1 -s USE_ES6_IMPORT_META=0 -s ENVIRONMENT='worker' -s SINGLE_FILE=1 -s INITIAL_MEMORY=64MB -s ALLOW_MEMORY_GROWTH=1 -s EXTRA_EXPORTED_RUNTIME_METHODS=['ccall'] -s EXPORTED_FUNCTIONS=['_processVertices','_malloc','_free'] -o ./bin/processPartitionVertices.js",
41
- "build-wasm-prod": "emcc -O3 ./src/assembly/processPartitionVertices.cpp -s EXPORT_ES6=1 -s MODULARIZE=1 -s USE_ES6_IMPORT_META=0 -s ENVIRONMENT='worker' -s SINGLE_FILE=1 -s INITIAL_MEMORY=64MB -s ALLOW_MEMORY_GROWTH=1 -s EXTRA_EXPORTED_RUNTIME_METHODS=['ccall'] -s EXPORTED_FUNCTIONS=['_processVertices','_malloc','_free'] -o ./bin/processPartitionVertices.js",
42
- "code-metrics": "plato -r -d metrics src"
43
- },
44
- "devDependencies": {
45
- "@babel/core": "^7.17.8",
46
- "@babel/plugin-transform-runtime": "^7.17.0",
47
- "@babel/preset-env": "^7.16.11",
48
- "@pollyjs/adapter-xhr": "^6.0.4",
49
- "@pollyjs/cli": "^6.0.1",
50
- "@pollyjs/core": "^6.0.4",
51
- "@pollyjs/persister-rest": "^6.0.4",
52
- "babel-eslint": "^10.1.0",
53
- "babel-loader": "^8.2.4",
54
- "babel-minify-webpack-plugin": "0.3.1",
55
- "babel-plugin-transform-async-to-generator": "^6.24.1",
56
- "babel-preset-es2015": "^6.22.0",
57
- "bimplus-websdk": "0.0.183",
58
- "clean-webpack-plugin": "^3.0.0",
59
- "documentation": "^13.0.0",
60
- "eslint": "^8.12.0",
61
- "file-loader": "6.2.0",
62
- "istanbul-instrumenter-loader": "^3.0.1",
63
- "karma": "^5.2.3",
64
- "karma-chrome-launcher": "^3.1.1",
65
- "karma-coverage-istanbul-reporter": "^3.0.2",
66
- "karma-eslint": "^2.2.0",
67
- "karma-firefox-launcher": "^2.1.2",
68
- "karma-host-environment": "^3.0.3",
69
- "karma-jquery": "^0.2.4",
70
- "karma-qunit": "^4.1.1",
71
- "karma-sharding": "^4.4.0",
72
- "karma-webpack": "^4.0.2",
73
- "npm-run-all": "4.1.5",
74
- "object-hash": "^3.0.0",
75
- "qunit": "^2.18.1",
76
- "shader-loader": "1.3.1",
77
- "threads-plugin": "1.4.0",
78
- "webpack": "^4.43.0",
79
- "webpack-cli": "^3.3.11"
80
- },
81
- "dependencies": {
82
- "@babel/runtime": "^7.17.8",
83
- "dexie": "3.2.1",
84
- "threads": "1.3.0",
85
- "three": "0.128.0"
86
- }
87
- }
1
+ {
2
+ "name": "bimplus-renderer",
3
+ "version": "1.3.17",
4
+ "description": "bim+ renderer",
5
+ "main": "dist/bimplus-renderer.js",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "."
10
+ },
11
+ "scripts": {
12
+ "eslint": "eslint src/** test/**",
13
+ "build": "npm run build-wasm && webpack --config webpack.dev.js",
14
+ "build-prod": "npm run build-wasm-prod && npm run eslint && webpack --config webpack.prod.js",
15
+ "yarn-publish": "npm run build-prod && yarn publish",
16
+ "yarn-publish-rc": "npm run build-prod && yarn publish --tag rc",
17
+ "yarn-publish-branch": "npm run build-prod && yarn publish --tag",
18
+ "npm-pack": "npm run build-prod && npm pack",
19
+ "build-doc": "documentation build ./src/*.js --config doc_config.yml -f html -o ./documentation",
20
+ "build-docMd": "documentation build ./src/*.js -f md -o ./documentation/Bimplus_Renderer_doc.md",
21
+ "build-docConf": "npm run build-docMd && cd ./documentation && python convert_to_confluence_md.py",
22
+ "build-docAll": "npm run build-doc && npm run build-docConf",
23
+ "test": "npm-run-all -p -r test-polly-listen-task test-karma-task",
24
+ "test-watch": "npm-run-all -p -r test-polly-listen-task test-watch--browser-task",
25
+ "test-chrome": "npm-run-all -p -r test-polly-listen-task test-chrome-browser-task",
26
+ "test-chrome-headless": "npm-run-all -p -r test-polly-listen-task test-chrome-headlss-task",
27
+ "test-firefox": "npm-run-all -p -r test-polly-listen-task test-firefx-browser-task",
28
+ "// TEST HELPERS ": "The next scripts are helpers for the test scripts which are needed because of usage of npm-run-all",
29
+ "// npm run test ": "runs all test in different browsers as specified in karma.conf.js",
30
+ "// npm run test-watch": "npm run test-watch runs all tests in one browser for debugging",
31
+ "// firefox headless ": "cant be used because webgl is not defined",
32
+ "// heap error ": "FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory: increase --max_old_space_size=4096",
33
+ "test-polly-listen-task": "polly listen",
34
+ "test-karma-task": "node --max_old_space_size=8192 node_modules/karma/bin/karma start ",
35
+ "test-watch--browser-task": "npm run test-karma-task -- --single-run=false --browsers=ChromeExt --auto-watch",
36
+ "test-chrome-browser-task": "npm run test-karma-task -- --single-run=true --browsers=ChromeExt",
37
+ "test-chrome-headlss-task": "npm run test-karma-task -- --single-run=true --browsers=ChromeHeadless",
38
+ "test-firefx-browser-task": "npm run test-karma-task -- --single-run=true --browsers=Firefox",
39
+ "test-firefx-headlss-task": "npm run test-karma-task -- --single-run=true --browsers=FirefoxHeadless",
40
+ "build-wasm": "emcc -O3 ./src/assembly/processPartitionVertices.cpp -s EXPORT_ES6=1 -s MODULARIZE=1 -s USE_ES6_IMPORT_META=0 -s ENVIRONMENT='worker' -s SINGLE_FILE=1 -s INITIAL_MEMORY=64MB -s ALLOW_MEMORY_GROWTH=1 -s EXTRA_EXPORTED_RUNTIME_METHODS=['ccall'] -s EXPORTED_FUNCTIONS=['_processVertices','_malloc','_free'] -o ./bin/processPartitionVertices.js",
41
+ "build-wasm-prod": "emcc -O3 ./src/assembly/processPartitionVertices.cpp -s EXPORT_ES6=1 -s MODULARIZE=1 -s USE_ES6_IMPORT_META=0 -s ENVIRONMENT='worker' -s SINGLE_FILE=1 -s INITIAL_MEMORY=64MB -s ALLOW_MEMORY_GROWTH=1 -s EXTRA_EXPORTED_RUNTIME_METHODS=['ccall'] -s EXPORTED_FUNCTIONS=['_processVertices','_malloc','_free'] -o ./bin/processPartitionVertices.js",
42
+ "code-metrics": "plato -r -d metrics src"
43
+ },
44
+ "devDependencies": {
45
+ "@babel/core": "^7.17.8",
46
+ "@babel/plugin-transform-runtime": "^7.17.0",
47
+ "@babel/preset-env": "^7.16.11",
48
+ "@pollyjs/adapter-xhr": "^6.0.4",
49
+ "@pollyjs/cli": "^6.0.1",
50
+ "@pollyjs/core": "^6.0.4",
51
+ "@pollyjs/persister-rest": "^6.0.4",
52
+ "babel-eslint": "^10.1.0",
53
+ "babel-loader": "^8.2.4",
54
+ "babel-minify-webpack-plugin": "0.3.1",
55
+ "babel-plugin-transform-async-to-generator": "^6.24.1",
56
+ "babel-preset-es2015": "^6.22.0",
57
+ "bimplus-websdk": "0.0.183",
58
+ "clean-webpack-plugin": "^4.0.0",
59
+ "documentation": "^13.2.5",
60
+ "eslint": "^8.12.0",
61
+ "file-loader": "6.2.0",
62
+ "istanbul-instrumenter-loader": "^3.0.1",
63
+ "karma": "^5.2.3",
64
+ "karma-chrome-launcher": "^3.1.1",
65
+ "karma-coverage-istanbul-reporter": "^3.0.2",
66
+ "karma-eslint": "^2.2.0",
67
+ "karma-firefox-launcher": "^2.1.2",
68
+ "karma-host-environment": "^3.0.3",
69
+ "karma-jquery": "^0.2.4",
70
+ "karma-qunit": "^4.1.1",
71
+ "karma-sharding": "^4.4.0",
72
+ "karma-webpack": "^4.0.2",
73
+ "npm-run-all": "4.1.5",
74
+ "object-hash": "^3.0.0",
75
+ "qunit": "^2.18.1",
76
+ "shader-loader": "1.3.1",
77
+ "threads-plugin": "1.4.0",
78
+ "webpack": "^4.43.0",
79
+ "webpack-cli": "^3.3.11"
80
+ },
81
+ "dependencies": {
82
+ "@babel/runtime": "^7.17.8",
83
+ "dexie": "3.2.1",
84
+ "threads": "1.3.0",
85
+ "three": "0.128.0"
86
+ }
87
+ }