@zappar/zappar-cv 3.0.0-beta.3 → 3.0.0-beta.4

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.
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ZCV=t():e.ZCV=t()}(self,(function(){return(()=>{"use strict";var e,t,r={56:(e,t,r)=>{var a,n=(a="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(e){var t,r,n;e=e||{},t||(t=void 0!==e?e:{}),t.ready=new Promise((function(e,t){r=e,n=t}));var i,_={};for(i in t)t.hasOwnProperty(i)&&(_[i]=t[i]);var o="./this.program";function s(e,t){throw t}var c,u="";u=self.location.href,a&&(u=a),u=0!==u.indexOf("blob:")?u.substr(0,u.lastIndexOf("/")+1):"",c=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)};var f,l,p=t.print||console.log.bind(console),d=t.printErr||console.warn.bind(console);for(i in _)_.hasOwnProperty(i)&&(t[i]=_[i]);_=null,t.thisProgram&&(o=t.thisProgram),t.quit&&(s=t.quit),t.wasmBinary&&(l=t.wasmBinary);var m=t.noExitRuntime||!0;"object"!=typeof WebAssembly&&K("no native wasm support detected");var h,b,g=!1;function w(e,t){e||K("Assertion failed: "+t)}function y(e){var r=t["_"+e];return w(r,"Cannot call unknown function "+e+", make sure it is exported"),r}var v,E,A,T,k,R,x,L,z,I="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function M(e,t,r){var a=t+r;for(r=t;e[r]&&!(r>=a);)++r;if(16<r-t&&e.subarray&&I)return I.decode(e.subarray(t,r));for(a="";t<r;){var n=e[t++];if(128&n){var i=63&e[t++];if(192==(224&n))a+=String.fromCharCode((31&n)<<6|i);else{var _=63&e[t++];65536>(n=224==(240&n)?(15&n)<<12|i<<6|_:(7&n)<<18|i<<12|_<<6|63&e[t++])?a+=String.fromCharCode(n):(n-=65536,a+=String.fromCharCode(55296|n>>10,56320|1023&n))}}else a+=String.fromCharCode(n)}return a}function F(e,t){return e?M(A,e,t):""}function O(e,t,r,a){if(!(0<a))return 0;var n=r;a=r+a-1;for(var i=0;i<e.length;++i){var _=e.charCodeAt(i);if(55296<=_&&57343>=_&&(_=65536+((1023&_)<<10)|1023&e.charCodeAt(++i)),127>=_){if(r>=a)break;t[r++]=_}else{if(2047>=_){if(r+1>=a)break;t[r++]=192|_>>6}else{if(65535>=_){if(r+2>=a)break;t[r++]=224|_>>12}else{if(r+3>=a)break;t[r++]=240|_>>18,t[r++]=128|_>>12&63}t[r++]=128|_>>6&63}t[r++]=128|63&_}}return t[r]=0,r-n}function P(e){for(var t=0,r=0;r<e.length;++r){var a=e.charCodeAt(r);55296<=a&&57343>=a&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++r)),127>=a?++t:t=2047>=a?t+2:65535>=a?t+3:t+4}return t}function S(e){var t=P(e)+1,r=sr(t);return r&&O(e,E,r,t),r}function D(e,t){for(var r=0;r<e.length;++r)E[t++>>0]=e.charCodeAt(r);E[t>>0]=0}function C(){var e=h.buffer;v=e,t.HEAP8=E=new Int8Array(e),t.HEAP16=T=new Int16Array(e),t.HEAP32=R=new Int32Array(e),t.HEAPU8=A=new Uint8Array(e),t.HEAPU16=k=new Uint16Array(e),t.HEAPU32=x=new Uint32Array(e),t.HEAPF32=L=new Float32Array(e),t.HEAPF64=z=new Float64Array(e)}var B,U=[],V=[],N=[],G=[];function H(){var e=t.preRun.shift();U.unshift(e)}var W=0,Y=null,X=null;function q(){W++,t.monitorRunDependencies&&t.monitorRunDependencies(W)}function Z(){if(W--,t.monitorRunDependencies&&t.monitorRunDependencies(W),0==W&&(null!==Y&&(clearInterval(Y),Y=null),X)){var e=X;X=null,e()}}function K(e){throw t.onAbort&&t.onAbort(e),d(e),g=!0,b=1,e=new WebAssembly.RuntimeError("abort("+e+"). Build with -s ASSERTIONS=1 for more info."),n(e),e}t.preloadedImages={},t.preloadedAudios={};var j,J,Q,$="zappar-cv.wasm";if(String.prototype.startsWith?!$.startsWith("data:application/octet-stream;base64,"):0!==$.indexOf("data:application/octet-stream;base64,")){var ee=$;$=t.locateFile?t.locateFile(ee,u):u+ee}function te(e){for(;0<e.length;){var r=e.shift();if("function"==typeof r)r(t);else{var a=r.Ld;"number"==typeof a?void 0===r.dd?B.get(a)():B.get(a)(r.dd):a(void 0===r.dd?null:r.dd)}}}function re(e,t){if(0===e)e=Date.now();else{if(1!==e&&4!==e)return R[ur()>>2]=28,-1;e=Q()}return R[t>>2]=e/1e3|0,R[t+4>>2]=e%1e3*1e6|0,0}function ae(e){this.Xc=e-16,this.be=function(e){R[this.Xc+8>>2]=e},this.Zd=function(e){R[this.Xc+0>>2]=e},this.$d=function(){R[this.Xc+4>>2]=0},this.Yd=function(){E[this.Xc+12>>0]=0},this.ae=function(){E[this.Xc+13>>0]=0},this.Od=function(e,t){this.be(e),this.Zd(t),this.$d(),this.Yd(),this.ae()}}function ne(e,t){for(var r=0,a=e.length-1;0<=a;a--){var n=e[a];"."===n?e.splice(a,1):".."===n?(e.splice(a,1),r++):r&&(e.splice(a,1),r--)}if(t)for(;r;r--)e.unshift("..");return e}function ie(e){var t="/"===e.charAt(0),r="/"===e.substr(-1);return(e=ne(e.split("/").filter((function(e){return!!e})),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e}function _e(e){var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1);return e=t[0],t=t[1],e||t?(t&&(t=t.substr(0,t.length-1)),e+t):"."}function oe(e){if("/"===e)return"/";var t=(e=(e=ie(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)}function se(){for(var e="",t=!1,r=arguments.length-1;-1<=r&&!t;r--){if("string"!=typeof(t=0<=r?arguments[r]:"/"))throw new TypeError("Arguments to path.resolve must be strings");if(!t)return"";e=t+"/"+e,t="/"===t.charAt(0)}return(t?"/":"")+(e=ne(e.split("/").filter((function(e){return!!e})),!t).join("/"))||"."}Q=function(){return performance.now()};var ce=[];function ue(e,t){ce[e]={input:[],Mc:[],Wc:t},Se(e,fe)}var fe={open:function(e){var t=ce[e.node.ad];if(!t)throw new Ee(43);e.Kc=t,e.seekable=!1},close:function(e){e.Kc.Wc.flush(e.Kc)},flush:function(e){e.Kc.Wc.flush(e.Kc)},read:function(e,t,r,a){if(!e.Kc||!e.Kc.Wc.yd)throw new Ee(60);for(var n=0,i=0;i<a;i++){try{var _=e.Kc.Wc.yd(e.Kc)}catch(e){throw new Ee(29)}if(void 0===_&&0===n)throw new Ee(6);if(null==_)break;n++,t[r+i]=_}return n&&(e.node.timestamp=Date.now()),n},write:function(e,t,r,a){if(!e.Kc||!e.Kc.Wc.qd)throw new Ee(60);try{for(var n=0;n<a;n++)e.Kc.Wc.qd(e.Kc,t[r+n])}catch(e){throw new Ee(29)}return a&&(e.node.timestamp=Date.now()),n}},le={yd:function(e){if(!e.input.length){var t=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(t=window.prompt("Input: "))&&(t+="\n"):"function"==typeof readline&&null!==(t=readline())&&(t+="\n"),!t)return null;e.input=nr(t,!0)}return e.input.shift()},qd:function(e,t){null===t||10===t?(p(M(e.Mc,0)),e.Mc=[]):0!=t&&e.Mc.push(t)},flush:function(e){e.Mc&&0<e.Mc.length&&(p(M(e.Mc,0)),e.Mc=[])}},pe={qd:function(e,t){null===t||10===t?(d(M(e.Mc,0)),e.Mc=[]):0!=t&&e.Mc.push(t)},flush:function(e){e.Mc&&0<e.Mc.length&&(d(M(e.Mc,0)),e.Mc=[])}},de={Pc:null,Rc:function(){return de.createNode(null,"/",16895,0)},createNode:function(e,t,r,a){if(24576==(61440&r)||4096==(61440&r))throw new Ee(63);return de.Pc||(de.Pc={dir:{node:{Oc:de.Gc.Oc,Qc:de.Gc.Qc,Zc:de.Gc.Zc,fd:de.Gc.fd,Dd:de.Gc.Dd,md:de.Gc.md,Ed:de.Gc.Ed,gd:de.Gc.gd,hd:de.Gc.hd},stream:{Uc:de.Ic.Uc}},file:{node:{Oc:de.Gc.Oc,Qc:de.Gc.Qc},stream:{Uc:de.Ic.Uc,read:de.Ic.read,write:de.Ic.write,td:de.Ic.td,zd:de.Ic.zd,Bd:de.Ic.Bd}},link:{node:{Oc:de.Gc.Oc,Qc:de.Gc.Qc,bd:de.Gc.bd},stream:{}},ud:{node:{Oc:de.Gc.Oc,Qc:de.Gc.Qc},stream:Pe}}),16384==(61440&(r=Le(e,t,r,a)).mode)?(r.Gc=de.Pc.dir.node,r.Ic=de.Pc.dir.stream,r.Hc={}):32768==(61440&r.mode)?(r.Gc=de.Pc.file.node,r.Ic=de.Pc.file.stream,r.Jc=0,r.Hc=null):40960==(61440&r.mode)?(r.Gc=de.Pc.link.node,r.Ic=de.Pc.link.stream):8192==(61440&r.mode)&&(r.Gc=de.Pc.ud.node,r.Ic=de.Pc.ud.stream),r.timestamp=Date.now(),e&&(e.Hc[t]=r,e.timestamp=r.timestamp),r},oe:function(e){return e.Hc?e.Hc.subarray?e.Hc.subarray(0,e.Jc):new Uint8Array(e.Hc):new Uint8Array(0)},vd:function(e,t){var r=e.Hc?e.Hc.length:0;r>=t||(t=Math.max(t,r*(1048576>r?2:1.125)>>>0),0!=r&&(t=Math.max(t,256)),r=e.Hc,e.Hc=new Uint8Array(t),0<e.Jc&&e.Hc.set(r.subarray(0,e.Jc),0))},Wd:function(e,t){if(e.Jc!=t)if(0==t)e.Hc=null,e.Jc=0;else{var r=e.Hc;e.Hc=new Uint8Array(t),r&&e.Hc.set(r.subarray(0,Math.min(t,e.Jc))),e.Jc=t}},Gc:{Oc:function(e){var t={};return t.Jd=8192==(61440&e.mode)?e.id:1,t.pd=e.id,t.mode=e.mode,t.Ud=1,t.uid=0,t.Md=0,t.ad=e.ad,16384==(61440&e.mode)?t.size=4096:32768==(61440&e.mode)?t.size=e.Jc:40960==(61440&e.mode)?t.size=e.link.length:t.size=0,t.Fd=new Date(e.timestamp),t.Td=new Date(e.timestamp),t.Id=new Date(e.timestamp),t.Gd=4096,t.Hd=Math.ceil(t.size/t.Gd),t},Qc:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&de.Wd(e,t.size)},Zc:function(){throw Ae[44]},fd:function(e,t,r,a){return de.createNode(e,t,r,a)},Dd:function(e,t,r){if(16384==(61440&e.mode)){try{var a=xe(t,r)}catch(e){}if(a)for(var n in a.Hc)throw new Ee(55)}delete e.parent.Hc[e.name],e.parent.timestamp=Date.now(),e.name=r,t.Hc[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},md:function(e,t){delete e.Hc[t],e.timestamp=Date.now()},Ed:function(e,t){var r,a=xe(e,t);for(r in a.Hc)throw new Ee(55);delete e.Hc[t],e.timestamp=Date.now()},gd:function(e){var t,r=[".",".."];for(t in e.Hc)e.Hc.hasOwnProperty(t)&&r.push(t);return r},hd:function(e,t,r){return(e=de.createNode(e,t,41471,0)).link=r,e},bd:function(e){if(40960!=(61440&e.mode))throw new Ee(28);return e.link}},Ic:{read:function(e,t,r,a,n){var i=e.node.Hc;if(n>=e.node.Jc)return 0;if(8<(e=Math.min(e.node.Jc-n,a))&&i.subarray)t.set(i.subarray(n,n+e),r);else for(a=0;a<e;a++)t[r+a]=i[n+a];return e},write:function(e,t,r,a,n,i){if(t.buffer===E.buffer&&(i=!1),!a)return 0;if((e=e.node).timestamp=Date.now(),t.subarray&&(!e.Hc||e.Hc.subarray)){if(i)return e.Hc=t.subarray(r,r+a),e.Jc=a;if(0===e.Jc&&0===n)return e.Hc=t.slice(r,r+a),e.Jc=a;if(n+a<=e.Jc)return e.Hc.set(t.subarray(r,r+a),n),a}if(de.vd(e,n+a),e.Hc.subarray&&t.subarray)e.Hc.set(t.subarray(r,r+a),n);else for(i=0;i<a;i++)e.Hc[n+i]=t[r+i];return e.Jc=Math.max(e.Jc,n+a),a},Uc:function(e,t,r){if(1===r?t+=e.position:2===r&&32768==(61440&e.node.mode)&&(t+=e.node.Jc),0>t)throw new Ee(28);return t},td:function(e,t,r){de.vd(e.node,t+r),e.node.Jc=Math.max(e.node.Jc,t+r)},zd:function(e,t,r,a,n,i){if(0!==t)throw new Ee(28);if(32768!=(61440&e.node.mode))throw new Ee(43);if(e=e.node.Hc,2&i||e.buffer!==v){for((0<a||a+r<e.length)&&(e=e.subarray?e.subarray(a,a+r):Array.prototype.slice.call(e,a,a+r)),a=!0,i=16384*Math.ceil(r/16384),t=sr(i);r<i;)E[t+r++]=0;if(!(r=t))throw new Ee(48);E.set(e,r)}else a=!1,r=e.byteOffset;return{Xc:r,ke:a}},Bd:function(e,t,r,a,n){if(32768!=(61440&e.node.mode))throw new Ee(43);return 2&n||de.Ic.write(e,t,0,a,r,!1),0}}},me=null,he={},be=[],ge=1,we=null,ye=!0,ve={},Ee=null,Ae={};function Te(e,t){if(t=t||{},!(e=se("/",e)))return{path:"",node:null};var r,a={wd:!0,rd:0};for(r in a)void 0===t[r]&&(t[r]=a[r]);if(8<t.rd)throw new Ee(32);e=ne(e.split("/").filter((function(e){return!!e})),!1);var n=me;for(a="/",r=0;r<e.length;r++){var i=r===e.length-1;if(i&&t.parent)break;if(n=xe(n,e[r]),a=ie(a+"/"+e[r]),n.$c&&(!i||i&&t.wd)&&(n=n.$c.root),!i||t.ed)for(i=0;40960==(61440&n.mode);)if(n=Ne(a),n=Te(a=se(_e(a),n),{rd:t.rd}).node,40<i++)throw new Ee(32)}return{path:a,node:n}}function ke(e){for(var t;;){if(e===e.parent)return e=e.Rc.Ad,t?"/"!==e[e.length-1]?e+"/"+t:e+t:e;t=t?e.name+"/"+t:e.name,e=e.parent}}function Re(e,t){for(var r=0,a=0;a<t.length;a++)r=(r<<5)-r+t.charCodeAt(a)|0;return(e+r>>>0)%we.length}function xe(e,t){var r;if(r=(r=Me(e,"x"))?r:e.Gc.Zc?0:2)throw new Ee(r,e);for(r=we[Re(e.id,t)];r;r=r.Vc){var a=r.name;if(r.parent.id===e.id&&a===t)return r}return e.Gc.Zc(e,t)}function Le(e,t,r,a){return t=Re((e=new ar(e,t,r,a)).parent.id,e.name),e.Vc=we[t],we[t]=e}var ze={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090};function Ie(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t}function Me(e,t){return ye||(-1===t.indexOf("r")||292&e.mode)&&(-1===t.indexOf("w")||146&e.mode)&&(-1===t.indexOf("x")||73&e.mode)?0:2}function Fe(e,t){try{return xe(e,t),20}catch(e){}return Me(e,"wx")}var Oe,Pe={open:function(e){e.Ic=he[e.node.ad].Ic,e.Ic.open&&e.Ic.open(e)},Uc:function(){throw new Ee(70)}};function Se(e,t){he[e]={Ic:t}}function De(e,t){var r="/"===t,a=!t;if(r&&me)throw new Ee(10);if(!r&&!a){var n=Te(t,{wd:!1});if(t=n.path,(n=n.node).$c)throw new Ee(10);if(16384!=(61440&n.mode))throw new Ee(54)}t={type:e,se:{},Ad:t,Sd:[]},(e=e.Rc(t)).Rc=t,t.root=e,r?me=e:n&&(n.$c=t,n.Rc&&n.Rc.Sd.push(t))}function Ce(e,t,r){var a=Te(e,{parent:!0}).node;if(!(e=oe(e))||"."===e||".."===e)throw new Ee(28);var n=Fe(a,e);if(n)throw new Ee(n);if(!a.Gc.fd)throw new Ee(63);return a.Gc.fd(a,e,t,r)}function Be(e){return Ce(e,16895,0)}function Ue(e,t,r){void 0===r&&(r=t,t=438),Ce(e,8192|t,r)}function Ve(e,t){if(!se(e))throw new Ee(44);var r=Te(t,{parent:!0}).node;if(!r)throw new Ee(44);var a=Fe(r,t=oe(t));if(a)throw new Ee(a);if(!r.Gc.hd)throw new Ee(63);r.Gc.hd(r,t,e)}function Ne(e){if(!(e=Te(e).node))throw new Ee(44);if(!e.Gc.bd)throw new Ee(28);return se(ke(e.parent),e.Gc.bd(e))}function Ge(e,t){if(!(e=Te(e,{ed:!t}).node))throw new Ee(44);if(!e.Gc.Oc)throw new Ee(63);return e.Gc.Oc(e)}function He(e){return Ge(e,!0)}function We(e,r,a,n){if(""===e)throw new Ee(44);if("string"==typeof r){var i=ze[r];if(void 0===i)throw Error("Unknown file open mode: "+r);r=i}if(a=64&r?4095&(void 0===a?438:a)|32768:0,"object"==typeof e)var _=e;else{e=ie(e);try{_=Te(e,{ed:!(131072&r)}).node}catch(e){}}if(i=!1,64&r)if(_){if(128&r)throw new Ee(20)}else _=Ce(e,a,0),i=!0;if(!_)throw new Ee(44);if(8192==(61440&_.mode)&&(r&=-513),65536&r&&16384!=(61440&_.mode))throw new Ee(54);if(!i&&(a=_?40960==(61440&_.mode)?32:16384==(61440&_.mode)&&("r"!==Ie(r)||512&r)?31:Me(_,Ie(r)):44))throw new Ee(a);if(512&r){if(!(a="string"==typeof(a=_)?Te(a,{ed:!0}).node:a).Gc.Qc)throw new Ee(63);if(16384==(61440&a.mode))throw new Ee(31);if(32768!=(61440&a.mode))throw new Ee(28);if(i=Me(a,"w"))throw new Ee(i);a.Gc.Qc(a,{size:0,timestamp:Date.now()})}r&=-131713,(n=function(e,t){Ke||((Ke=function(){}).prototype={});var r,a=new Ke;for(r in e)a[r]=e[r];return e=a,t=function(e){for(e=e||0;e<=4096;e++)if(!be[e])return e;throw new Ee(33)}(t),e.Sc=t,be[t]=e}({node:_,path:ke(_),flags:r,seekable:!0,position:0,Ic:_.Ic,ge:[],error:!1},n)).Ic.open&&n.Ic.open(n),!t.logReadFiles||1&r||(je||(je={}),e in je||(je[e]=1,d("FS.trackingDelegate error on read file: "+e)));try{ve.onOpenFile&&(_=0,1!=(2097155&r)&&(_|=1),0!=(2097155&r)&&(_|=2),ve.onOpenFile(e,_))}catch(t){d("FS.trackingDelegate['onOpenFile']('"+e+"', flags) threw an exception: "+t.message)}return n}function Ye(e,t,r){if(null===e.Sc)throw new Ee(8);if(!e.seekable||!e.Ic.Uc)throw new Ee(70);if(0!=r&&1!=r&&2!=r)throw new Ee(28);return e.position=e.Ic.Uc(e,t,r),e.ge=[],e.position}function Xe(){Ee||((Ee=function(e,t){this.node=t,this.Xd=function(e){this.Lc=e},this.Xd(e),this.message="FS error"}).prototype=Error(),Ee.prototype.constructor=Ee,[44].forEach((function(e){Ae[e]=new Ee(e),Ae[e].stack="<generic error, no stack>"})))}function qe(e,t,r){e=ie("/dev/"+e);var a=function(e,t){var r=0;return e&&(r|=365),t&&(r|=146),r}(!!t,!!r);Ze||(Ze=64);var n=Ze++<<8|0;Se(n,{open:function(e){e.seekable=!1},close:function(){r&&r.buffer&&r.buffer.length&&r(10)},read:function(e,r,a,n){for(var i=0,_=0;_<n;_++){try{var o=t()}catch(e){throw new Ee(29)}if(void 0===o&&0===i)throw new Ee(6);if(null==o)break;i++,r[a+_]=o}return i&&(e.node.timestamp=Date.now()),i},write:function(e,t,a,n){for(var i=0;i<n;i++)try{r(t[a+i])}catch(e){throw new Ee(29)}return n&&(e.node.timestamp=Date.now()),i}}),Ue(e,a,n)}var Ze,Ke,je,Je={};function Qe(e,t,r){try{var a=e(t)}catch(e){if(e&&e.node&&ie(t)!==ie(ke(e.node)))return-54;throw e}return R[r>>2]=a.Jd,R[r+4>>2]=0,R[r+8>>2]=a.pd,R[r+12>>2]=a.mode,R[r+16>>2]=a.Ud,R[r+20>>2]=a.uid,R[r+24>>2]=a.Md,R[r+28>>2]=a.ad,R[r+32>>2]=0,J=[a.size>>>0,(j=a.size,1<=+Math.abs(j)?0<j?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],R[r+40>>2]=J[0],R[r+44>>2]=J[1],R[r+48>>2]=4096,R[r+52>>2]=a.Hd,R[r+56>>2]=a.Fd.getTime()/1e3|0,R[r+60>>2]=0,R[r+64>>2]=a.Td.getTime()/1e3|0,R[r+68>>2]=0,R[r+72>>2]=a.Id.getTime()/1e3|0,R[r+76>>2]=0,J=[a.pd>>>0,(j=a.pd,1<=+Math.abs(j)?0<j?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],R[r+80>>2]=J[0],R[r+84>>2]=J[1],0}var $e=void 0;function et(){return R[($e+=4)-4>>2]}function tt(e){if(!(e=be[e]))throw new Ee(8);return e}function rt(e){try{e()}catch(e){if(!(e instanceof br)&&"unwind"!==e)throw e&&"object"==typeof e&&e.stack&&d("exception thrown: "+[e,e.stack]),e}}var at,nt,it,_t=!1,ot=null,st=0,ct=null,ut=0,ft=0,lt=0,pt=[],dt={},mt=!1,ht=!1,bt=[];function gt(e,r,a,n){if(r&&t.od&&e==t.canvas)return t.od;var i;if(r){var _={antialias:!1,alpha:!1,Rd:1};if(n)for(var o in n)_[o]=n[o];if(void 0!==jt&&(i=function(e,t){e.xd||(e.xd=e.getContext,e.getContext=function(t,r){return"webgl"==t==(r=e.xd(t,r))instanceof WebGLRenderingContext?r:null});var r=e.getContext("webgl",t);return r?function(e,t){var r=Xt(Yt),a={pe:r,attributes:t,version:t.Rd,nd:e};return e.canvas&&(e.canvas.ie=a),Yt[r]=a,(void 0===t.Kd||t.Kd)&&function(e){if(e||(e=Zt),!e.Pd){e.Pd=!0;var t=e.nd;!function(e){var t=e.getExtension("ANGLE_instanced_arrays");t&&(e.vertexAttribDivisor=function(e,r){t.vertexAttribDivisorANGLE(e,r)},e.drawArraysInstanced=function(e,r,a,n){t.drawArraysInstancedANGLE(e,r,a,n)},e.drawElementsInstanced=function(e,r,a,n,i){t.drawElementsInstancedANGLE(e,r,a,n,i)})}(t),function(e){var t=e.getExtension("OES_vertex_array_object");t&&(e.createVertexArray=function(){return t.createVertexArrayOES()},e.deleteVertexArray=function(e){t.deleteVertexArrayOES(e)},e.bindVertexArray=function(e){t.bindVertexArrayOES(e)},e.isVertexArray=function(e){return t.isVertexArrayOES(e)})}(t),function(e){var t=e.getExtension("WEBGL_draw_buffers");t&&(e.drawBuffers=function(e,r){t.drawBuffersWEBGL(e,r)})}(t),t.me=t.getExtension("EXT_disjoint_timer_query"),t.qe=t.getExtension("WEBGL_multi_draw"),(t.getSupportedExtensions()||[]).forEach((function(e){0>e.indexOf("lose_context")&&0>e.indexOf("debug")&&t.getExtension(e)}))}}(a),r}(r,t):0}(e,_)))var s=Yt[i].nd}else s=e.getContext("2d");return s?(a&&(r||w(void 0===$t,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),t.od=s,r&&(Zt=Yt[i],t.od=$t=Zt&&Zt.nd),t.ue=r,bt.forEach((function(e){e()})),function(){function e(){ht=document.pointerLockElement===t.canvas||document.mozPointerLockElement===t.canvas||document.webkitPointerLockElement===t.canvas||document.msPointerLockElement===t.canvas}if(t.preloadPlugins||(t.preloadPlugins=[]),!xt){xt=!0;try{Lt=!0}catch(e){Lt=!1,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}zt="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:Lt?null:console.log("warning: no BlobBuilder"),It="undefined"!=typeof window?window.URL?window.URL:window.webkitURL:void 0,t.Cd||void 0!==It||(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),t.Cd=!0),t.preloadPlugins.push({canHandle:function(e){return!t.Cd&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},handle:function(e,r,a,n){var i=null;if(Lt)try{(i=new Blob([e],{type:Rt(r)})).size!==e.length&&(i=new Blob([new Uint8Array(e).buffer],{type:Rt(r)}))}catch(e){!function(e){f||(f={}),f[e]||(f[e]=1,d(e))}("Blob constructor present but fails: "+e+"; falling back to blob builder")}i||((i=new zt).append(new Uint8Array(e).buffer),i=i.getBlob());var _=It.createObjectURL(i),o=new Image;o.onload=function(){w(o.complete,"Image "+r+" could not be decoded");var n=document.createElement("canvas");n.width=o.width,n.height=o.height,n.getContext("2d").drawImage(o,0,0),t.preloadedImages[r]=n,It.revokeObjectURL(_),a&&a(e)},o.onerror=function(){console.log("Image "+_+" could not be decoded"),n&&n()},o.src=_}}),t.preloadPlugins.push({canHandle:function(e){return!t.re&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(e,r,a,n){function i(n){o||(o=!0,t.preloadedAudios[r]=n,a&&a(e))}function _(){o||(o=!0,t.preloadedAudios[r]=new Audio,n&&n())}var o=!1;if(!Lt)return _();try{var s=new Blob([e],{type:Rt(r)})}catch(e){return _()}s=It.createObjectURL(s);var c=new Audio;c.addEventListener("canplaythrough",(function(){i(c)}),!1),c.onerror=function(){if(!o){console.log("warning: browser could not fully decode audio "+r+", trying slower base64 approach");for(var t="",a=0,n=0,_=0;_<e.length;_++)for(a=a<<8|e[_],n+=8;6<=n;){var s=a>>n-6&63;n-=6,t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[s]}2==n?(t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(3&a)<<4],t+="=="):4==n&&(t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(15&a)<<2],t+="="),c.src="data:audio/x-"+r.substr(-3)+";base64,"+t,i(c)}},c.src=s,kt((function(){i(c)}),1e4)}});var r=t.canvas;r&&(r.requestPointerLock=r.requestPointerLock||r.mozRequestPointerLock||r.webkitRequestPointerLock||r.msRequestPointerLock||function(){},r.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},r.exitPointerLock=r.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",e,!1),document.addEventListener("mozpointerlockchange",e,!1),document.addEventListener("webkitpointerlockchange",e,!1),document.addEventListener("mspointerlockchange",e,!1),t.elementPointerLock&&r.addEventListener("click",(function(e){!ht&&t.canvas.requestPointerLock&&(t.canvas.requestPointerLock(),e.preventDefault())}),!1))}}()),s):null}var wt=!1,yt=void 0,vt=void 0;function Et(){return!!mt&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){}).apply(document,[]),!0)}var At=0;function Tt(e){if("function"==typeof requestAnimationFrame)requestAnimationFrame(e);else{var t=Date.now();if(0===At)At=t+1e3/60;else for(;t+2>=At;)At+=1e3/60;setTimeout(e,Math.max(At-t,0))}}function kt(e,t){setTimeout((function(){rt(e)}),t)}function Rt(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]}var xt,Lt,zt,It,Mt=[];function Ft(){var e=t.canvas;Mt.forEach((function(t){t(e.width,e.height)}))}function Ot(e,r,a){r&&a?(e.he=r,e.Nd=a):(r=e.he,a=e.Nd);var n=r,i=a;if(t.forcedAspectRatio&&0<t.forcedAspectRatio&&(n/i<t.forcedAspectRatio?n=Math.round(i*t.forcedAspectRatio):i=Math.round(n/t.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var _=Math.min(screen.width/n,screen.height/i);n=Math.round(n*_),i=Math.round(i*_)}vt?(e.width!=n&&(e.width=n),e.height!=i&&(e.height=i),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=r&&(e.width=r),e.height!=a&&(e.height=a),void 0!==e.style&&(n!=r||i!=a?(e.style.setProperty("width",n+"px","important"),e.style.setProperty("height",i+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}function Pt(){return!1}t._emscripten_is_main_browser_thread=Pt;var St,Dt=[];function Ct(e,t){x[e>>2]=t,x[e+4>>2]=t/4294967296|0}function Bt(e,t,r,a,n){function i(t){var r=0,a=0;t&&(a=y.response?y.response.byteLength:0,r=sr(a),A.set(new Uint8Array(y.response),r)),x[e+12>>2]=r,Ct(e+16,a)}var _=x[e+8>>2];if(_){var o=F(_),s=e+112,c=F(s);c||(c="GET");var u=x[s+52>>2],f=x[s+56>>2],l=!!x[s+60>>2],p=x[s+68>>2],d=x[s+72>>2];_=x[s+76>>2];var m=x[s+80>>2],h=x[s+84>>2];s=x[s+88>>2];var b=!!(1&u),g=!!(2&u);u=!!(64&u),p=p?F(p):void 0,d=d?F(d):void 0;var w=m?F(m):void 0,y=new XMLHttpRequest;if(y.withCredentials=l,y.open(c,o,!u,p,d),u||(y.timeout=f),y.je=o,y.responseType="arraybuffer",m&&y.overrideMimeType(w),_)for(;(c=x[_>>2])&&(o=x[_+4>>2]);)_+=8,c=F(c),o=F(o),y.setRequestHeader(c,o);Dt.push(y),x[e+0>>2]=Dt.length,_=h&&s?A.slice(h,h+s):null,y.onload=function(a){i(b&&!g);var n=y.response?y.response.byteLength:0;Ct(e+24,0),n&&Ct(e+32,n),k[e+40>>1]=y.readyState,k[e+42>>1]=y.status,y.statusText&&O(y.statusText,A,e+44,64),200<=y.status&&300>y.status?t&&t(e,y,a):r&&r(e,y,a)},y.onerror=function(t){i(b);var a=y.status;Ct(e+24,0),Ct(e+32,y.response?y.response.byteLength:0),k[e+40>>1]=y.readyState,k[e+42>>1]=a,r&&r(e,y,t)},y.ontimeout=function(t){r&&r(e,y,t)},y.onprogress=function(t){var r=b&&g&&y.response?y.response.byteLength:0,n=0;b&&g&&(n=sr(r),A.set(new Uint8Array(y.response),n)),x[e+12>>2]=n,Ct(e+16,r),Ct(e+24,t.loaded-r),Ct(e+32,t.total),k[e+40>>1]=y.readyState,3<=y.readyState&&0===y.status&&0<t.loaded&&(y.status=200),k[e+42>>1]=y.status,y.statusText&&O(y.statusText,A,e+44,64),a&&a(e,y,t),n&&or(n)},y.onreadystatechange=function(t){k[e+40>>1]=y.readyState,2<=y.readyState&&(k[e+42>>1]=y.status),n&&n(e,y,t)};try{y.send(_)}catch(t){r&&r(e,y,t)}}else r(e,0,"no url specified!")}function Ut(e,t,r,a){var n=St;if(n){var i=x[e+112+64>>2];i||(i=x[e+8>>2]);var _=F(i);try{var o=n.transaction(["FILES"],"readwrite").objectStore("FILES").put(t,_);o.onsuccess=function(){k[e+40>>1]=4,k[e+42>>1]=200,O("OK",A,e+44,64),r(e,0,_)},o.onerror=function(t){k[e+40>>1]=4,k[e+42>>1]=413,O("Payload Too Large",A,e+44,64),a(e,0,t)}}catch(t){a(e,0,t)}}else a(e,0,"IndexedDB not available!")}var Vt,Nt={};function Gt(){if(!Vt){var e,t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:o||"./this.program"};for(e in Nt)t[e]=Nt[e];var r=[];for(e in t)r.push(e+"="+t[e]);Vt=r}return Vt}var Ht=1,Wt=[],Yt=[];function Xt(e){for(var t=Ht++,r=e.length;r<t;r++)e[r]=null;return t}var qt,Zt,Kt,jt={};function Jt(e){return 0==e%4&&(0!=e%100||0==e%400)}function Qt(e,t){for(var r=0,a=0;a<=t;r+=e[a++]);return r}var $t,er=[31,29,31,30,31,30,31,31,30,31,30,31],tr=[31,28,31,30,31,30,31,31,30,31,30,31];function rr(e,t){for(e=new Date(e.getTime());0<t;){var r=e.getMonth(),a=(Jt(e.getFullYear())?er:tr)[r];if(!(t>a-e.getDate())){e.setDate(e.getDate()+t);break}t-=a-e.getDate()+1,e.setDate(1),11>r?e.setMonth(r+1):(e.setMonth(0),e.setFullYear(e.getFullYear()+1))}return e}function ar(e,t,r,a){e||(e=this),this.parent=e,this.Rc=e.Rc,this.$c=null,this.id=ge++,this.name=t,this.mode=r,this.Gc={},this.Ic={},this.ad=a}function nr(e,t){var r=Array(P(e)+1);return e=O(e,r,0,r.length),t&&(r.length=e),r}Object.defineProperties(ar.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}}}),Xe(),we=Array(4096),De(de,"/"),Be("/tmp"),Be("/home"),Be("/home/web_user"),function(){Be("/dev"),Se(259,{read:function(){return 0},write:function(e,t,r,a){return a}}),Ue("/dev/null",259),ue(1280,le),ue(1536,pe),Ue("/dev/tty",1280),Ue("/dev/tty1",1536);var e=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}return function(){K("randomDevice")}}();qe("random",e),qe("urandom",e),Be("/dev/shm"),Be("/dev/shm/tmp")}(),function(){Be("/proc");var e=Be("/proc/self");Be("/proc/self/fd"),De({Rc:function(){var t=Le(e,"fd",16895,73);return t.Gc={Zc:function(e,t){var r=be[+t];if(!r)throw new Ee(8);return(e={parent:null,Rc:{Ad:"fake"},Gc:{bd:function(){return r.path}}}).parent=e}},t}},"/proc/self/fd")}(),t.requestFullscreen=function(e,r){!function(e,r){function a(){mt=!1;var e=n.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e?(n.exitFullscreen=Et,yt&&n.requestPointerLock(),mt=!0,vt?("undefined"!=typeof SDL&&(R[SDL.screen>>2]=8388608|x[SDL.screen>>2]),Ot(t.canvas),Ft()):Ot(n)):(e.parentNode.insertBefore(n,e),e.parentNode.removeChild(e),vt?("undefined"!=typeof SDL&&(R[SDL.screen>>2]=-8388609&x[SDL.screen>>2]),Ot(t.canvas),Ft()):Ot(n)),t.onFullScreen&&t.onFullScreen(mt),t.onFullscreen&&t.onFullscreen(mt)}void 0===(yt=e)&&(yt=!0),void 0===(vt=r)&&(vt=!1);var n=t.canvas;wt||(wt=!0,document.addEventListener("fullscreenchange",a,!1),document.addEventListener("mozfullscreenchange",a,!1),document.addEventListener("webkitfullscreenchange",a,!1),document.addEventListener("MSFullscreenChange",a,!1));var i=document.createElement("div");n.parentNode.insertBefore(i,n),i.appendChild(n),i.requestFullscreen=i.requestFullscreen||i.mozRequestFullScreen||i.msRequestFullscreen||(i.webkitRequestFullscreen?function(){i.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(i.webkitRequestFullScreen?function(){i.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),i.requestFullscreen()}(e,r)},t.requestAnimationFrame=function(e){Tt(e)},t.setCanvasSize=function(e,r,a){Ot(t.canvas,e,r),a||Ft()},t.pauseMainLoop=function(){ot=null,st++},t.resumeMainLoop=function(){st++;var e=ut,r=ft,a=ct;ct=null,function(e){function r(){if(a<st){if(!m)try{wr(b)}catch(e){if(!(e instanceof br))throw e}return!1}return!0}w(!ct,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),ct=e;var a=st;_t=!1,nt=function(){if(!g)if(0<pt.length){var a=Date.now(),n=pt.shift();if(n.Ld(n.dd),it){var i=it,_=0==i%1?i-1:Math.floor(i);it=n.le?_:(8*i+(_+.5))/9}console.log('main loop blocker "'+n.name+'" took '+(Date.now()-a)+" ms"),t.setStatus&&(a=t.statusMessage||"Please wait...",i=dt.ne,(n=it)?n<i?t.setStatus(a+" ("+(i-n)+"/"+i+")"):t.setStatus(a):t.setStatus("")),r()&&setTimeout(nt,0)}else r()&&(lt=lt+1|0,1==ut&&1<ft&&0!=lt%ft?ot():(0==ut&&(at=Q()),g||t.preMainLoop&&!1===t.preMainLoop()||(rt(e),t.postMainLoop&&t.postMainLoop()),r()&&("object"==typeof SDL&&SDL.audio&&SDL.audio.Vd&&SDL.audio.Vd(),ot())))}}(a),function(e,r){if(ut=e,ft=r,ct)if(_t||(_t=!0),0==e)ot=function(){var e=0|Math.max(0,at+r-Q());setTimeout(nt,e)};else if(1==e)ot=function(){Tt(nt)};else if(2==e){if("undefined"==typeof setImmediate){var a=[];addEventListener("message",(function(e){"setimmediate"!==e.data&&"setimmediate"!==e.data.target||(e.stopPropagation(),a.shift()())}),!0),setImmediate=function(e){a.push(e),void 0===t.setImmediates&&(t.setImmediates=[]),t.setImmediates.push(e),postMessage({target:"setimmediate"})}}ot=function(){setImmediate(nt)}}}(e,r),ot()},t.getUserMedia=function(){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(void 0)},t.createContext=function(e,t,r,a){return gt(e,t,r,a)},function(e,t){try{var r=indexedDB.open("emscripten_filesystem",1)}catch(e){return void t()}r.onupgradeneeded=function(e){(e=e.target.result).objectStoreNames.contains("FILES")&&e.deleteObjectStore("FILES"),e.createObjectStore("FILES")},r.onsuccess=function(e){!function(e){St=e,Z()}(e.target.result)},r.onerror=function(e){t()}}(0,(function(){St=!1,Z()})),"undefined"!=typeof ENVIRONMENT_IS_FETCH_WORKER&&ENVIRONMENT_IS_FETCH_WORKER||q();var ir={D:function(e,t){return re(e,t)},a:function(e){return sr(e+16)+16},b:function(e,t,r){throw new ae(e).Od(t,r),e},e:function(e,t,r){$e=r;try{var a=tt(e);switch(t){case 0:var n=et();return 0>n?-28:We(a.path,a.flags,0,n).Sc;case 1:case 2:case 13:case 14:return 0;case 3:return a.flags;case 4:return n=et(),a.flags|=n,0;case 12:return n=et(),T[n+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return R[ur()>>2]=28,-1}}catch(e){return void 0!==Je&&e instanceof Ee||K(e),-e.Lc}},E:function(e,t,r){try{var a=tt(e);if(!a.Tc){var n=Te(a.path,{ed:!0}).node;if(!n.Gc.gd)throw new Ee(54);var i=n.Gc.gd(n);a.Tc=i}e=0;for(var _=Ye(a,0,1),o=Math.floor(_/280);o<a.Tc.length&&e+280<=r;){var s=a.Tc[o];if("."===s[0])var c=1,u=4;else{var f=xe(a.node,s);c=f.id,u=8192==(61440&f.mode)?2:16384==(61440&f.mode)?4:40960==(61440&f.mode)?10:8}J=[c>>>0,(j=c,1<=+Math.abs(j)?0<j?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],R[t+e>>2]=J[0],R[t+e+4>>2]=J[1],J=[280*(o+1)>>>0,(j=280*(o+1),1<=+Math.abs(j)?0<j?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],R[t+e+8>>2]=J[0],R[t+e+12>>2]=J[1],T[t+e+16>>1]=280,E[t+e+18>>0]=u,O(s,A,t+e+19,256),e+=280,o+=1}return Ye(a,280*o,0),e}catch(e){return void 0!==Je&&e instanceof Ee||K(e),-e.Lc}},n:function(){return 42},J:function(e,t,r){$e=r;try{var a=tt(e);switch(t){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return a.Kc?0:-59;case 21519:if(!a.Kc)return-59;var n=et();return R[n>>2]=0;case 21520:return a.Kc?-28:-59;case 21531:if(e=n=et(),!a.Ic.Qd)throw new Ee(59);return a.Ic.Qd(a,t,e);default:K("bad ioctl syscall "+t)}}catch(e){return void 0!==Je&&e instanceof Ee||K(e),-e.Lc}},I:function(e,t){try{return Qe(He,e=F(e),t)}catch(e){return void 0!==Je&&e instanceof Ee||K(e),-e.Lc}},p:function(e,t,r){$e=r;try{return We(F(e),t,r?et():0).Sc}catch(e){return void 0!==Je&&e instanceof Ee||K(e),-e.Lc}},F:function(e,t){try{return Qe(Ge,e=F(e),t)}catch(e){return void 0!==Je&&e instanceof Ee||K(e),-e.Lc}},H:function(e,t){try{return Ve(e=F(e),t=F(t)),0}catch(e){return void 0!==Je&&e instanceof Ee||K(e),-e.Lc}},K:function(e){try{if(!e)return-21;var t={__size__:390,domainname:325,machine:260,nodename:65,release:130,sysname:0,version:195};return D("Emscripten",e+t.sysname),D("emscripten",e+t.nodename),D("1.0",e+t.release),D("#1",e+t.version),D("wasm32",e+t.machine),0}catch(e){return void 0!==Je&&e instanceof Ee||K(e),-e.Lc}},G:function(e){try{var t=Te(e=F(e),{parent:!0}).node,r=oe(e),a=xe(t,r);e:{try{var n=xe(t,r)}catch(e){var i=e.Lc;break e}i=Me(t,"wx")||(16384==(61440&n.mode)?31:0)}if(i)throw new Ee(i);if(!t.Gc.md)throw new Ee(63);if(a.$c)throw new Ee(10);try{ve.willDeletePath&&ve.willDeletePath(e)}catch(t){d("FS.trackingDelegate['willDeletePath']('"+e+"') threw an exception: "+t.message)}t.Gc.md(t,r);var _=Re(a.parent.id,a.name);if(we[_]===a)we[_]=a.Vc;else for(var o=we[_];o;){if(o.Vc===a){o.Vc=a.Vc;break}o=o.Vc}try{ve.onDeletePath&&ve.onDeletePath(e)}catch(t){d("FS.trackingDelegate['onDeletePath']('"+e+"') threw an exception: "+t.message)}return 0}catch(e){return void 0!==Je&&e instanceof Ee||K(e),-e.Lc}},L:function(e){delete Dt[e-1]},c:function(){K()},h:re,P:function(e,t){return e-t},R:function(){self.postMessage({t:"gfx"})},u:function(){var e=new URL(location.origin).hostname;if(0===e.length&&(e=new URL(location.href.replace("blob:","")).hostname),/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(e))0===e.indexOf("10.")&&(e="10.*"),0===e.indexOf("192.168.")&&(e="192.168.*"),0===e.indexOf("172.")&&(e="172.*"),0===e.indexOf("127.")&&(e="127.*");else{var t=new RegExp("("+String.fromCharCode(92)+".ngrok"+String.fromCharCode(92)+".io)$","i");t.test(e)&&(e="*.ngrok.io"),(t=new RegExp("("+String.fromCharCode(92)+".ngrok-free"+String.fromCharCode(92)+".app)$","i")).test(e)&&(e="*.ngrok.io"),(t=new RegExp("("+String.fromCharCode(92)+".arweb"+String.fromCharCode(92)+".app)$","i")).test(e)&&(e="*.arweb.app")}t=P(e)+1;var r=sr(t);return O(e,A,r,t+1),r},t:function(){self.postMessage({t:"licerr"})},l:function(e,t,r){function a(){B.get(e)(t)}0<=r?kt(a,r):function(e){Tt((function(){rt(e)}))}(a)},y:function(){return 2147483648},N:Pt,w:function(e,t,r){A.copyWithin(e,t,t+r)},x:function(e){var t=A.length;if(2147483648<e)return!1;for(var r=1;4>=r;r*=2){var a=t*(1+.2/r);a=Math.min(a,e+100663296),0<(a=Math.max(e,a))%65536&&(a+=65536-a%65536);e:{try{h.grow(Math.min(2147483648,a)-v.byteLength+65535>>>16),C();var n=1;break e}catch(e){}n=void 0}if(n)return!0}return!1},M:function(e,t,r,a,n){function i(e,r){Ut(e,r.response,(function(e){rt((function(){l?B.get(l)(e):t&&t(e)}))}),(function(e){rt((function(){l?B.get(l)(e):t&&t(e)}))}))}function _(e){rt((function(){m?B.get(m)(e):n&&n(e)}))}function o(e){rt((function(){p?B.get(p)(e):r&&r(e)}))}function s(e){rt((function(){d?B.get(d)(e):a&&a(e)}))}function c(e){rt((function(){l?B.get(l)(e):t&&t(e)}))}var u=e+112,f=F(u),l=x[u+36>>2],p=x[u+40>>2],d=x[u+44>>2],m=x[u+48>>2],h=x[u+52>>2],b=!!(4&h),g=!!(32&h);if(h=!!(16&h),"EM_IDB_STORE"===f)f=x[u+84>>2],Ut(e,A.slice(f,f+x[u+88>>2]),c,o);else if("EM_IDB_DELETE"===f)!function(e,t,r){var a=St;if(a){var n=x[e+112+64>>2];n||(n=x[e+8>>2]),n=F(n);try{var i=a.transaction(["FILES"],"readwrite").objectStore("FILES").delete(n);i.onsuccess=function(r){r=r.target.result,x[e+12>>2]=0,Ct(e+16,0),Ct(e+24,0),Ct(e+32,0),k[e+40>>1]=4,k[e+42>>1]=200,O("OK",A,e+44,64),t(e,0,r)},i.onerror=function(t){k[e+40>>1]=4,k[e+42>>1]=404,O("Not Found",A,e+44,64),r(e,0,t)}}catch(t){r(e,0,t)}}else r(e,0,"IndexedDB not available!")}(e,c,o);else if(h){if(g)return 0;Bt(e,b?i:c,o,s,_)}else!function(e,t,r){var a=St;if(a){var n=x[e+112+64>>2];n||(n=x[e+8>>2]),n=F(n);try{var i=a.transaction(["FILES"],"readonly").objectStore("FILES").get(n);i.onsuccess=function(a){if(a.target.result){var n=(a=a.target.result).byteLength||a.length,i=sr(n);A.set(new Uint8Array(a),i),x[e+12>>2]=i,Ct(e+16,n),Ct(e+24,0),Ct(e+32,n),k[e+40>>1]=4,k[e+42>>1]=200,O("OK",A,e+44,64),t(e,0,a)}else k[e+40>>1]=4,k[e+42>>1]=404,O("Not Found",A,e+44,64),r(e,0,"no data")},i.onerror=function(t){k[e+40>>1]=4,k[e+42>>1]=404,O("Not Found",A,e+44,64),r(e,0,t)}}catch(t){r(e,0,t)}}else r(e,0,"IndexedDB not available!")}(e,c,g?o:b?function(e){Bt(e,i,o,s,_)}:function(e){Bt(e,c,o,s,_)});return e},B:function(e,t){try{var r=0;return Gt().forEach((function(a,n){var i=t+r;R[e+4*n>>2]=i,D(a,i),r+=a.length+1})),0}catch(e){return void 0!==Je&&e instanceof Ee||K(e),e.Lc}},C:function(e,t){try{var r=Gt();R[e>>2]=r.length;var a=0;return r.forEach((function(e){a+=e.length+1})),R[t>>2]=a,0}catch(e){return void 0!==Je&&e instanceof Ee||K(e),e.Lc}},O:function(e){wr(e)},g:function(e){try{var t=tt(e);if(null===t.Sc)throw new Ee(8);t.Tc&&(t.Tc=null);try{t.Ic.close&&t.Ic.close(t)}catch(e){throw e}finally{be[t.Sc]=null}return t.Sc=null,0}catch(e){return void 0!==Je&&e instanceof Ee||K(e),e.Lc}},q:function(e,t,r,a){try{e:{for(var n=tt(e),i=e=0;i<r;i++){var _=R[t+(8*i+4)>>2],o=n,s=R[t+8*i>>2],c=_,u=void 0,f=E;if(0>c||0>u)throw new Ee(28);if(null===o.Sc)throw new Ee(8);if(1==(2097155&o.flags))throw new Ee(8);if(16384==(61440&o.node.mode))throw new Ee(31);if(!o.Ic.read)throw new Ee(28);var l=void 0!==u;if(l){if(!o.seekable)throw new Ee(70)}else u=o.position;var p=o.Ic.read(o,f,s,c,u);l||(o.position+=p);var d=p;if(0>d){var m=-1;break e}if(e+=d,d<_)break}m=e}return R[a>>2]=m,0}catch(e){return void 0!==Je&&e instanceof Ee||K(e),e.Lc}},v:function(e,t,r,a,n){try{var i=tt(e);return-9007199254740992>=(e=4294967296*r+(t>>>0))||9007199254740992<=e?-61:(Ye(i,e,a),J=[i.position>>>0,(j=i.position,1<=+Math.abs(j)?0<j?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],R[n>>2]=J[0],R[n+4>>2]=J[1],i.Tc&&0===e&&0===a&&(i.Tc=null),0)}catch(e){return void 0!==Je&&e instanceof Ee||K(e),e.Lc}},k:function(e,t,r,a){try{e:{for(var n=tt(e),i=e=0;i<r;i++){var _=n,o=R[t+8*i>>2],s=R[t+(8*i+4)>>2],c=void 0,u=E;if(0>s||0>c)throw new Ee(28);if(null===_.Sc)throw new Ee(8);if(0==(2097155&_.flags))throw new Ee(8);if(16384==(61440&_.node.mode))throw new Ee(31);if(!_.Ic.write)throw new Ee(28);_.seekable&&1024&_.flags&&Ye(_,0,2);var f=void 0!==c;if(f){if(!_.seekable)throw new Ee(70)}else c=_.position;var l=_.Ic.write(_,u,o,s,c,void 0);f||(_.position+=l);try{_.path&&ve.onWriteToFile&&ve.onWriteToFile(_.path)}catch(e){d("FS.trackingDelegate['onWriteToFile']('"+_.path+"') threw an exception: "+e.message)}var p=l;if(0>p){var m=-1;break e}e+=p}m=e}return R[a>>2]=m,0}catch(e){return void 0!==Je&&e instanceof Ee||K(e),e.Lc}},f:function(e){var t=Date.now();return R[e>>2]=t/1e3|0,R[e+4>>2]=t%1e3*1e3|0,0},m:function(e,t){$t.bindTexture(e,Wt[t])},o:function(e,t){for(var r=0;r<e;r++){var a=$t.createTexture(),n=a&&Xt(Wt);a?(a.name=n,Wt[n]=a):qt||(qt=1282),R[t+4*r>>2]=n}},i:function(e,t,r,a,n,i,_,o,s){var c=$t,u=c.texImage2D;if(s){var f=o-5120;f=1==f?A:4==f?R:6==f?L:5==f||28922==f?x:k;var l=31-Math.clz32(f.BYTES_PER_ELEMENT);s=f.subarray(s>>l,s+n*(a*({5:3,6:4,8:2,29502:3,29504:4}[_-6402]||1)*(1<<l)+4-1&-4)>>l)}else s=null;u.call(c,e,t,r,a,n,i,_,o,s)},j:function(e,t,r){$t.texParameteri(e,t,r)},s:function e(t,r){return t=new Date(1e3*R[t>>2]),R[r>>2]=t.getUTCSeconds(),R[r+4>>2]=t.getUTCMinutes(),R[r+8>>2]=t.getUTCHours(),R[r+12>>2]=t.getUTCDate(),R[r+16>>2]=t.getUTCMonth(),R[r+20>>2]=t.getUTCFullYear()-1900,R[r+24>>2]=t.getUTCDay(),R[r+36>>2]=0,R[r+32>>2]=0,R[r+28>>2]=(t.getTime()-Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,e.sd||(e.sd=S("GMT")),R[r+40>>2]=e.sd,r},r:function(e,t){!function(){function e(e){return(e=e.toTimeString().match(/\(([A-Za-z ]+)\)$/))?e[1]:"GMT"}if(!Kt){Kt=!0;var t=(new Date).getFullYear(),r=new Date(t,0,1),a=new Date(t,6,1);t=r.getTimezoneOffset();var n=a.getTimezoneOffset(),i=Math.max(t,n);R[pr()>>2]=60*i,R[lr()>>2]=Number(t!=n),r=e(r),a=e(a),r=S(r),a=S(a),n<t?(R[fr()>>2]=r,R[fr()+4>>2]=a):(R[fr()>>2]=a,R[fr()+4>>2]=r)}}(),e=new Date(1e3*R[e>>2]),R[t>>2]=e.getSeconds(),R[t+4>>2]=e.getMinutes(),R[t+8>>2]=e.getHours(),R[t+12>>2]=e.getDate(),R[t+16>>2]=e.getMonth(),R[t+20>>2]=e.getFullYear()-1900,R[t+24>>2]=e.getDay();var r=new Date(e.getFullYear(),0,1);R[t+28>>2]=(e.getTime()-r.getTime())/864e5|0,R[t+36>>2]=-60*e.getTimezoneOffset();var a=new Date(e.getFullYear(),6,1).getTimezoneOffset();return e=0|(a!=(r=r.getTimezoneOffset())&&e.getTimezoneOffset()==Math.min(r,a)),R[t+32>>2]=e,e=R[fr()+(e?4:0)>>2],R[t+40>>2]=e,t},Q:function(){return 6},z:function(){return 28},A:function(e,t,r,a){return function(e,t,r,a){function n(e,t,r){for(e="number"==typeof e?e.toString():e||"";e.length<t;)e=r[0]+e;return e}function i(e,t){return n(e,t,"0")}function _(e,t){function r(e){return 0>e?-1:0<e?1:0}var a;return 0===(a=r(e.getFullYear()-t.getFullYear()))&&0===(a=r(e.getMonth()-t.getMonth()))&&(a=r(e.getDate()-t.getDate())),a}function o(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function s(e){e=rr(new Date(e.Nc+1900,0,1),e.ld);var t=new Date(e.getFullYear()+1,0,4),r=o(new Date(e.getFullYear(),0,4));return t=o(t),0>=_(r,e)?0>=_(t,e)?e.getFullYear()+1:e.getFullYear():e.getFullYear()-1}var c=R[a+40>>2];for(var u in a={ee:R[a>>2],de:R[a+4>>2],jd:R[a+8>>2],cd:R[a+12>>2],Yc:R[a+16>>2],Nc:R[a+20>>2],kd:R[a+24>>2],ld:R[a+28>>2],te:R[a+32>>2],ce:R[a+36>>2],fe:c?F(c):""},r=F(r),c={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})r=r.replace(new RegExp(u,"g"),c[u]);var f="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),l="January February March April May June July August September October November December".split(" ");for(u in c={"%a":function(e){return f[e.kd].substring(0,3)},"%A":function(e){return f[e.kd]},"%b":function(e){return l[e.Yc].substring(0,3)},"%B":function(e){return l[e.Yc]},"%C":function(e){return i((e.Nc+1900)/100|0,2)},"%d":function(e){return i(e.cd,2)},"%e":function(e){return n(e.cd,2," ")},"%g":function(e){return s(e).toString().substring(2)},"%G":function(e){return s(e)},"%H":function(e){return i(e.jd,2)},"%I":function(e){return 0==(e=e.jd)?e=12:12<e&&(e-=12),i(e,2)},"%j":function(e){return i(e.cd+Qt(Jt(e.Nc+1900)?er:tr,e.Yc-1),3)},"%m":function(e){return i(e.Yc+1,2)},"%M":function(e){return i(e.de,2)},"%n":function(){return"\n"},"%p":function(e){return 0<=e.jd&&12>e.jd?"AM":"PM"},"%S":function(e){return i(e.ee,2)},"%t":function(){return"\t"},"%u":function(e){return e.kd||7},"%U":function(e){var t=new Date(e.Nc+1900,0,1),r=0===t.getDay()?t:rr(t,7-t.getDay());return 0>_(r,e=new Date(e.Nc+1900,e.Yc,e.cd))?i(Math.ceil((31-r.getDate()+(Qt(Jt(e.getFullYear())?er:tr,e.getMonth()-1)-31)+e.getDate())/7),2):0===_(r,t)?"01":"00"},"%V":function(e){var t=new Date(e.Nc+1901,0,4),r=o(new Date(e.Nc+1900,0,4));t=o(t);var a=rr(new Date(e.Nc+1900,0,1),e.ld);return 0>_(a,r)?"53":0>=_(t,a)?"01":i(Math.ceil((r.getFullYear()<e.Nc+1900?e.ld+32-r.getDate():e.ld+1-r.getDate())/7),2)},"%w":function(e){return e.kd},"%W":function(e){var t=new Date(e.Nc,0,1),r=1===t.getDay()?t:rr(t,0===t.getDay()?1:7-t.getDay()+1);return 0>_(r,e=new Date(e.Nc+1900,e.Yc,e.cd))?i(Math.ceil((31-r.getDate()+(Qt(Jt(e.getFullYear())?er:tr,e.getMonth()-1)-31)+e.getDate())/7),2):0===_(r,t)?"01":"00"},"%y":function(e){return(e.Nc+1900).toString().substring(2)},"%Y":function(e){return e.Nc+1900},"%z":function(e){var t=0<=(e=e.ce);return e=Math.abs(e)/60,(t?"+":"-")+String("0000"+(e/60*100+e%60)).slice(-4)},"%Z":function(e){return e.fe},"%%":function(){return"%"}})0<=r.indexOf(u)&&(r=r.replace(new RegExp(u,"g"),c[u](a)));return(u=nr(r,!1)).length>t?0:(E.set(u,e),u.length-1)}(e,t,r,a)},d:function(e){var t=Date.now()/1e3|0;return e&&(R[e>>2]=t),t}},_r=function(){function e(e){t.asm=e.exports,h=t.asm.S,C(),B=t.asm.X,V.unshift(t.asm.T),Z()}var r={a:ir};if(q(),t.instantiateWasm)try{return t.instantiateWasm(r,e)}catch(e){return d("Module.instantiateWasm callback failed with error: "+e),!1}return r=function(e){var t=$;try{e:{try{if(t==$&&l){var r=new Uint8Array(l);break e}if(c){r=c(t);break e}throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(e){K(e)}r=void 0}var a=new WebAssembly.Module(r),n=new WebAssembly.Instance(a,e)}catch(t){throw e=t.toString(),d("failed to compile wasm module: "+e),(0<=e.indexOf("imported Memory")||0<=e.indexOf("memory import"))&&d("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),t}return[n,a]}(r),e(r[0]),t.asm}();t.___wasm_call_ctors=_r.T,t._zappar_has_initialized=_r.U,t._zappar_invert=_r.V,t._zappar_loaded=_r.W,t._zappar_pipeline_create=_r.Y,t._zappar_pipeline_destroy=_r.Z,t._zappar_pipeline_camera_frame_submit=_r._,t._zappar_pipeline_camera_frame_submit_raw_pointer=_r.$,t._zappar_pipeline_frame_update=_r.aa,t._zappar_pipeline_camera_frame_user_data=_r.ba,t._zappar_pipeline_camera_model=_r.ca,t._zappar_pipeline_frame_number=_r.da,t._zappar_pipeline_motion_accelerometer_submit=_r.ea,t._zappar_pipeline_motion_accelerometer_with_gravity_submit_int=_r.fa,t._zappar_pipeline_motion_accelerometer_without_gravity_submit_int=_r.ga,t._zappar_pipeline_motion_rotation_rate_submit_int=_r.ha,t._zappar_pipeline_motion_attitude_submit_int=_r.ia,t._zappar_pipeline_motion_rotation_rate_submit=_r.ja,t._zappar_pipeline_motion_attitude_submit=_r.ka,t._zappar_pipeline_motion_attitude_matrix_submit=_r.la,t._zappar_pipeline_camera_frame_user_facing=_r.ma,t._zappar_pipeline_camera_frame_texture_matrix=_r.na,t._zappar_pipeline_camera_pose_with_attitude=_r.oa,t._zappar_pipeline_camera_pose_with_origin=_r.pa,t._zappar_pipeline_camera_frame_camera_attitude=_r.qa,t._zappar_pipeline_camera_frame_device_attitude=_r.ra,t._zappar_pipeline_camera_frame_texture_gl=_r.sa,t._zappar_pipeline_camera_frame_upload_gl=_r.ta,t._zappar_pipeline_sequence_record_start=_r.ua,t._zappar_pipeline_sequence_record_stop=_r.va,t._zappar_pipeline_sequence_record_clear=_r.wa,t._zappar_pipeline_sequence_record_device_attitude_matrices_set=_r.xa,t._zappar_pipeline_sequence_record_data_size=_r.ya,t._zappar_pipeline_sequence_record_data=_r.za,t._zappar_pipeline_process_gl=_r.Aa,t._zappar_pipeline_camera_pose_default=_r.Ba,t._zappar_instant_world_tracker_create=_r.Ca,t._zappar_instant_world_tracker_destroy=_r.Da,t._zappar_instant_world_tracker_anchor_pose_set_from_camera_offset_raw=_r.Ea,t._zappar_instant_world_tracker_anchor_pose_raw=_r.Fa,t._zappar_instant_world_tracker_enabled_set=_r.Ga,t._zappar_instant_world_tracker_enabled=_r.Ha,t._zappar_image_tracker_create=_r.Ia,t._zappar_image_tracker_destroy=_r.Ja,t._zappar_image_tracker_target_load_from_memory=_r.Ka,t.__Z42zappar_image_tracker_target_load_from_fileP23zappar_image_tracker_tiPKc=_r.La;var or=t._free=_r.Ma;t._zappar_image_tracker_anchor_count=_r.Na,t._zappar_image_tracker_anchor_id=_r.Oa,t._zappar_image_tracker_anchor_pose_raw=_r.Pa,t._zappar_image_tracker_enabled_set=_r.Qa,t._zappar_image_tracker_enabled=_r.Ra,t._zappar_image_tracker_target_loaded_version=_r.Sa,t.__Z33zappar_image_tracker_target_countP23zappar_image_tracker_ti=_r.Ta,t.__Z46zappar_image_tracker_target_preview_compressedP23zappar_image_tracker_tii=_r.Ua,t.__Z51zappar_image_tracker_target_preview_compressed_sizeP23zappar_image_tracker_tii=_r.Va,t.__Z55zappar_image_tracker_target_preview_compressed_mimetypeP23zappar_image_tracker_tii=_r.Wa,t.__Z40zappar_image_tracker_target_preview_rgbaP23zappar_image_tracker_tii=_r.Xa,t.__Z45zappar_image_tracker_target_preview_rgba_sizeP23zappar_image_tracker_tii=_r.Ya,t.__Z46zappar_image_tracker_target_preview_rgba_widthP23zappar_image_tracker_tii=_r.Za,t.__Z47zappar_image_tracker_target_preview_rgba_heightP23zappar_image_tracker_tii=_r._a,t.__Z38zappar_image_tracker_target_radius_topP23zappar_image_tracker_tii=_r.$a,t.__Z41zappar_image_tracker_target_radius_bottomP23zappar_image_tracker_tii=_r.ab,t.__Z39zappar_image_tracker_target_side_lengthP23zappar_image_tracker_tii=_r.bb,t.__Z49zappar_image_tracker_target_physical_scale_factorP23zappar_image_tracker_tii=_r.cb,t.__Z49zappar_image_tracker_target_preview_mesh_verticesP23zappar_image_tracker_tii=_r.db,t.__Z48zappar_image_tracker_target_preview_mesh_normalsP23zappar_image_tracker_tii=_r.eb,t.__Z44zappar_image_tracker_target_preview_mesh_uvsP23zappar_image_tracker_tii=_r.fb,t.__Z48zappar_image_tracker_target_preview_mesh_indicesP23zappar_image_tracker_tii=_r.gb,t.__Z54zappar_image_tracker_target_preview_mesh_vertices_sizeP23zappar_image_tracker_tii=_r.hb,t.__Z53zappar_image_tracker_target_preview_mesh_normals_sizeP23zappar_image_tracker_tii=_r.ib,t.__Z49zappar_image_tracker_target_preview_mesh_uvs_sizeP23zappar_image_tracker_tii=_r.jb,t.__Z53zappar_image_tracker_target_preview_mesh_indices_sizeP23zappar_image_tracker_tii=_r.kb,t.__Z32zappar_image_tracker_target_typeP23zappar_image_tracker_tii=_r.lb,t._zappar_face_tracker_create=_r.mb,t._zappar_face_tracker_destroy=_r.nb,t._zappar_face_tracker_model_load_from_memory=_r.ob,t._zappar_face_tracker_anchor_count=_r.pb,t._zappar_face_tracker_anchor_id=_r.qb,t._zappar_face_tracker_anchor_pose_raw=_r.rb,t._zappar_face_tracker_anchor_identity_coefficients=_r.sb,t._zappar_face_tracker_anchor_expression_coefficients=_r.tb,t._zappar_face_tracker_enabled_set=_r.ub,t._zappar_face_tracker_enabled=_r.vb,t._zappar_face_tracker_max_faces_set=_r.wb,t._zappar_face_tracker_max_faces=_r.xb,t._zappar_face_tracker_model_loaded_version=_r.yb,t._zappar_face_landmark_create=_r.zb,t._zappar_face_landmark_destroy=_r.Ab,t.__Z27zappar_face_landmark_updateP23zappar_face_landmark_tiPKfS2_i=_r.Bb,t._zappar_face_landmark_anchor_pose=_r.Cb,t._zappar_barcode_finder_create=_r.Db,t._zappar_barcode_finder_destroy=_r.Eb,t._zappar_barcode_finder_found_number=_r.Fb,t._zappar_barcode_finder_found_text=_r.Gb,t._zappar_barcode_finder_enabled_set=_r.Hb,t._zappar_barcode_finder_enabled=_r.Ib,t._zappar_barcode_finder_found_format=_r.Jb,t._zappar_barcode_finder_formats=_r.Kb,t._zappar_barcode_finder_formats_set=_r.Lb;var sr=t._malloc=_r.Mb;t._zappar_face_mesh_create=_r.Nb,t._zappar_face_mesh_destroy=_r.Ob,t.__Z33zappar_face_mesh_load_from_memoryP19zappar_face_mesh_tiPKciiiii=_r.Pb,t.__Z29zappar_face_mesh_indices_sizeP19zappar_face_mesh_ti=_r.Qb,t.__Z25zappar_face_mesh_uvs_sizeP19zappar_face_mesh_ti=_r.Rb,t.__Z30zappar_face_mesh_vertices_sizeP19zappar_face_mesh_ti=_r.Sb,t.__Z31zappar_face_mesh_loaded_versionP19zappar_face_mesh_ti=_r.Tb,t.__Z25zappar_face_mesh_verticesP19zappar_face_mesh_ti=_r.Ub,t.__Z20zappar_face_mesh_uvsP19zappar_face_mesh_ti=_r.Vb,t.__Z24zappar_face_mesh_indicesP19zappar_face_mesh_ti=_r.Wb,t.__Z23zappar_face_mesh_updateP19zappar_face_mesh_tiPKfS2_i=_r.Xb,t.__Z29zappar_face_mesh_normals_sizeP19zappar_face_mesh_ti=_r.Yb,t.__Z24zappar_face_mesh_normalsP19zappar_face_mesh_ti=_r.Zb,t._zappar_camera_source_create=_r._b,t._zappar_camera_source_destroy=_r.$b,t._zappar_camera_source_start=_r.ac,t._zappar_camera_source_pause=_r.bc,t._zappar_camera_default_device_id=_r.cc,t._zappar_sequence_source_create=_r.dc,t.__Z28zappar_sequence_source_startP25zappar_sequence_source_ti=_r.ec,t.__Z39zappar_sequence_source_load_from_memoryP25zappar_sequence_source_tiPKci=_r.fc,t.__Z28zappar_sequence_source_pauseP25zappar_sequence_source_ti=_r.gc,t._zappar_sequence_source_destroy=_r.hc,t._zappar_sequence_source_max_playback_fps_set=_r.ic,t._zappar_log_level_set=_r.jc,t._zappar_log_level=_r.kc,t.__Z23zappar_log_redirect_setPFv18zappar_log_level_tPKcE=_r.lc,t._zappar_world_tracker_create=_r.mc,t._zappar_world_tracker_destroy=_r.nc,t._zappar_world_tracker_world_anchor_valid=_r.oc,t._zappar_world_tracker_plane_count=_r.pc,t._zappar_world_tracker_plane_pose_raw=_r.qc,t._zappar_world_tracker_world_anchor_pose_raw=_r.rc,t._zappar_world_tracker_ground_anchor_valid=_r.sc,t._zappar_world_tracker_ground_anchor_pose_raw=_r.tc,t._zappar_world_tracker_reset=_r.uc,t._zappar_world_tracker_enabled_set=_r.vc,t._zappar_world_tracker_quality=_r.wc,t._zappar_world_tracker_enabled=_r.xc,t._zappar_analytics_project_id_set=_r.yc;var cr,ur=t.___errno_location=_r.zc,fr=t.__get_tzname=_r.Ac,lr=t.__get_daylight=_r.Bc,pr=t.__get_timezone=_r.Cc,dr=t.stackSave=_r.Dc,mr=t.stackRestore=_r.Ec,hr=t.stackAlloc=_r.Fc;function br(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function gr(){function e(){if(!cr&&(cr=!0,t.calledRun=!0,!g)){if(t.noFSInit||Oe||(Oe=!0,Xe(),t.stdin=t.stdin,t.stdout=t.stdout,t.stderr=t.stderr,t.stdin?qe("stdin",t.stdin):Ve("/dev/tty","/dev/stdin"),t.stdout?qe("stdout",null,t.stdout):Ve("/dev/tty","/dev/stdout"),t.stderr?qe("stderr",null,t.stderr):Ve("/dev/tty1","/dev/stderr"),We("/dev/stdin",0),We("/dev/stdout",1),We("/dev/stderr",1)),te(V),ye=!1,te(N),r(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),t.postRun)for("function"==typeof t.postRun&&(t.postRun=[t.postRun]);t.postRun.length;){var e=t.postRun.shift();G.unshift(e)}te(G)}}if(!(0<W)){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)H();te(U),0<W||(t.setStatus?(t.setStatus("Running..."),setTimeout((function(){setTimeout((function(){t.setStatus("")}),1),e()}),1)):e())}}function wr(e){b=e,m||(t.onExit&&t.onExit(e),g=!0),s(e,new br(e))}if(t.cwrap=function(e,t,r,a){var n=(r=r||[]).every((function(e){return"number"===e}));return"string"!==t&&n&&!a?y(e):function(){return function(e,t,r,a){var n,i={string:function(e){var t=0;if(null!=e&&0!==e){var r=1+(e.length<<2);t=hr(r),O(e,A,t,r)}return t},array:function(e){var t=hr(e.length);return E.set(e,t),t}},_=y(e),o=[];if(e=0,a)for(var s=0;s<a.length;s++){var c=i[r[s]];c?(0===e&&(e=dr()),o[s]=c(a[s])):o[s]=a[s]}return n=r=_.apply(null,o),r="string"===t?F(n):"boolean"===t?!!n:n,0!==e&&mr(e),r}(e,t,r,arguments)}},t.setValue=function(e,t,r){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":E[e>>0]=t;break;case"i16":T[e>>1]=t;break;case"i32":R[e>>2]=t;break;case"i64":J=[t>>>0,(j=t,1<=+Math.abs(j)?0<j?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],R[e>>2]=J[0],R[e+4>>2]=J[1];break;case"float":L[e>>2]=t;break;case"double":z[e>>3]=t;break;default:K("invalid type for setValue: "+r)}},t.getValue=function(e,t){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return E[e>>0];case"i16":return T[e>>1];case"i32":case"i64":return R[e>>2];case"float":return L[e>>2];case"double":return z[e>>3];default:K("invalid type for getValue: "+t)}return null},t.UTF8ToString=F,X=function e(){cr||gr(),cr||(X=e)},t.run=gr,t.preInit)for("function"==typeof t.preInit&&(t.preInit=[t.preInit]);0<t.preInit.length;)t.preInit.pop()();return gr(),e});const i=n;class _{constructor(e){this._messageSender=e,this._freeBufferPool=[],this._buffer=new ArrayBuffer(16),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=1,this._startOffset=-1,this._timeoutSet=!1,this._appender={int:e=>this.int(e),bool:e=>this.int(e?1:0),float:e=>this.float(e),string:e=>this.string(e),dataWithLength:e=>this.arrayBuffer(e),type:e=>this.int(e),matrix4x4:e=>this.float32ArrayBuffer(e),matrix3x3:e=>this.float32ArrayBuffer(e),identityCoefficients:e=>this.float32ArrayBuffer(e),expressionCoefficients:e=>this.float32ArrayBuffer(e),cameraModel:e=>this.float32ArrayBuffer(e),timestamp:e=>this.double(e),barcodeFormat:e=>this.int(e),faceLandmarkName:e=>this.int(e),instantTrackerTransformOrientation:e=>this.int(e),logLevel:e=>this.int(e)},this._freeBufferPool.push(new ArrayBuffer(16)),this._freeBufferPool.push(new ArrayBuffer(16))}bufferReturn(e){this._freeBufferPool.push(e)}_ensureArrayBuffer(e){let t,r=4*(this._offset+e+8);if(this._buffer&&this._buffer.byteLength>=r)return;if(!t){let e=r;e--,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e++,t=new ArrayBuffer(e)}let a=this._buffer?this._i32View:void 0;this._buffer=t,this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),a&&this._i32View.set(a.subarray(0,this._offset))}sendMessage(e,t){this._ensureArrayBuffer(4),this._startOffset=this._offset,this._i32View[this._offset+1]=e,this._offset+=2,t(this._appender),this._i32View[this._startOffset]=this._offset-this._startOffset,this._startOffset=-1,this._sendOneTime()}_sendOneTime(){!1===this._timeoutSet&&(this._timeoutSet=!0,setTimeout((()=>{this._timeoutSet=!1,this._send()}),0))}_send(){0!==this._freeBufferPool.length?(this._i32View[0]=this._offset,this._messageSender(this._buffer),this._buffer=void 0,this._buffer=this._freeBufferPool.pop(),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=1,this._startOffset=-1):this._sendOneTime()}int(e){this._ensureArrayBuffer(1),this._i32View[this._offset]=e,this._offset++}double(e){this._ensureArrayBuffer(2),this._offset%2==1&&this._offset++,this._f64View[this._offset/2]=e,this._offset+=2}float(e){this._ensureArrayBuffer(1),this._f32View[this._offset]=e,this._offset++}int32Array(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._i32View[this._offset+t]=e[t];this._offset+=e.length}float32Array(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._f32View[this._offset+t]=e[t];this._offset+=e.length}booleanArray(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._i32View[this._offset+t]=e[t]?1:0;this._offset+=e.length}uint8ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.byteLength,this._offset++,this._u8View.set(e,4*this._offset),this._offset+=e.byteLength>>2,0!=(3&e.byteLength)&&this._offset++}arrayBuffer(e){let t=new Uint8Array(e);this.uint8ArrayBuffer(t)}uint8ClampedArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.byteLength,this._offset++,this._u8cView.set(e,4*this._offset),this._offset+=e.byteLength>>2,0!=(3&e.byteLength)&&this._offset++}float32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._f32View.set(e,this._offset),this._offset+=e.length}uint16ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++;let t=2*this._offset;this._u16View.set(e,t),this._offset+=e.length>>1,0!=(1&e.length)&&this._offset++}int32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._i32View.set(e,this._offset),this._offset+=e.length}uint32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._u32View.set(e,this._offset),this._offset+=e.length}string(e){let t=(new TextEncoder).encode(e);this._ensureArrayBuffer(t.byteLength/4),this._i32View[this._offset]=t.byteLength,this._offset++,this._u8View.set(t,4*this._offset),this._offset+=t.byteLength>>2,0!=(3&t.byteLength)&&this._offset++}}class o{constructor(){this._buffer=new ArrayBuffer(0),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=0,this._length=0,this._startOffset=-1,this._processor={int:()=>this._i32View[this._startOffset++],bool:()=>1===this._i32View[this._startOffset++],type:()=>this._i32View[this._startOffset++],float:()=>this._f32View[this._startOffset++],timestamp:()=>{this._startOffset%2==1&&this._startOffset++;let e=this._f64View[this._startOffset/2];return this._startOffset+=2,e},string:()=>{let e=this._i32View[this._startOffset++],t=(new TextDecoder).decode(new Uint8Array(this._buffer,4*this._startOffset,e));return this._startOffset+=e>>2,0!=(3&e)&&this._startOffset++,t},dataWithLength:()=>{let e=this._i32View[this._startOffset++],t=new Uint8Array(e);return t.set(this._u8View.subarray(4*this._startOffset,4*this._startOffset+e)),this._startOffset+=t.byteLength>>2,0!=(3&t.byteLength)&&this._startOffset++,t.buffer},matrix4x4:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+16)),this._startOffset+=e,t},matrix3x3:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+9)),this._startOffset+=e,t},identityCoefficients:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+50)),this._startOffset+=e,t},expressionCoefficients:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+29)),this._startOffset+=e,t},cameraModel:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+6)),this._startOffset+=e,t},barcodeFormat:()=>this._i32View[this._startOffset++],faceLandmarkName:()=>this._i32View[this._startOffset++],instantTrackerTransformOrientation:()=>this._i32View[this._startOffset++],logLevel:()=>this._i32View[this._startOffset++]}}setData(e){this._buffer=e,this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=0,this._length=0,e.byteLength>=4&&(this._offset=1,this._length=this._i32View[0]),this._startOffset=-1}hasMessage(){return this._offset+1<this._length}forMessages(e){for(;this.hasMessage();){let t=this._i32View[this._offset],r=this._i32View[this._offset+1];this._startOffset=this._offset+2,this._offset+=t,e(r,this._processor)}}}class s{constructor(e,t){this._impl=e,this._sender=t,this._deserializer=new o,this.serializersByPipelineId=new Map,this._pipeline_id_by_pipeline_id=new Map,this._pipeline_by_instance=new Map,this._pipeline_id_by_camera_source_id=new Map,this._camera_source_by_instance=new Map,this._pipeline_id_by_sequence_source_id=new Map,this._sequence_source_by_instance=new Map,this._pipeline_id_by_image_tracker_id=new Map,this._image_tracker_by_instance=new Map,this._pipeline_id_by_face_tracker_id=new Map,this._face_tracker_by_instance=new Map,this._pipeline_id_by_face_mesh_id=new Map,this._face_mesh_by_instance=new Map,this._pipeline_id_by_face_landmark_id=new Map,this._face_landmark_by_instance=new Map,this._pipeline_id_by_barcode_finder_id=new Map,this._barcode_finder_by_instance=new Map,this._pipeline_id_by_instant_world_tracker_id=new Map,this._instant_world_tracker_by_instance=new Map,this._pipeline_id_by_world_tracker_id=new Map,this._world_tracker_by_instance=new Map}processBuffer(e){this._deserializer.setData(e),this._deserializer.forMessages(((e,t)=>{switch(e){case 38:this._impl.log_level_set(t.logLevel());break;case 35:this._impl.analytics_project_id_set(t.string(),t.string());break;case 31:{let e=t.type(),r=this._impl.pipeline_create();this._pipeline_by_instance.set(e,r),this._pipeline_id_by_pipeline_id.set(e,e),this.serializersByPipelineId.set(e,new _((t=>{this._sender(e,t)})));break}case 32:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_destroy(r),this._pipeline_by_instance.delete(e);break}case 9:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_frame_update(r);break}case 8:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_camera_frame_submit(r,t.dataWithLength(),t.int(),t.int(),t.int(),t.matrix4x4(),t.cameraModel(),t.bool());break}case 10:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_accelerometer_submit(r,t.timestamp(),t.float(),t.float(),t.float());break}case 12:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_accelerometer_with_gravity_submit_int(r,t.timestamp(),t.timestamp(),t.float(),t.float(),t.float());break}case 11:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_accelerometer_without_gravity_submit_int(r,t.timestamp(),t.timestamp(),t.float(),t.float(),t.float());break}case 15:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_rotation_rate_submit(r,t.timestamp(),t.float(),t.float(),t.float());break}case 13:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_rotation_rate_submit_int(r,t.timestamp(),t.timestamp(),t.float(),t.float(),t.float());break}case 16:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_attitude_submit(r,t.timestamp(),t.float(),t.float(),t.float());break}case 14:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_attitude_submit_int(r,t.timestamp(),t.timestamp(),t.float(),t.float(),t.float());break}case 17:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_attitude_matrix_submit(r,t.matrix4x4());break}case 33:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),n=t.string(),i=this._impl.camera_source_create(a,n);this._camera_source_by_instance.set(e,i),this._pipeline_id_by_camera_source_id.set(e,r);break}case 34:{let e=t.type(),r=this._camera_source_by_instance.get(e);if(void 0===r)return;this._impl.camera_source_destroy(r),this._camera_source_by_instance.delete(e);break}case 39:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),n=this._impl.sequence_source_create(a);this._sequence_source_by_instance.set(e,n),this._pipeline_id_by_sequence_source_id.set(e,r);break}case 40:{let e=t.type(),r=this._sequence_source_by_instance.get(e);if(void 0===r)return;this._impl.sequence_source_destroy(r),this._sequence_source_by_instance.delete(e);break}case 2:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),n=this._impl.image_tracker_create(a);this._image_tracker_by_instance.set(e,n),this._pipeline_id_by_image_tracker_id.set(e,r);break}case 18:{let e=t.type(),r=this._image_tracker_by_instance.get(e);if(void 0===r)return;this._impl.image_tracker_destroy(r),this._image_tracker_by_instance.delete(e);break}case 4:{let e=t.type(),r=this._image_tracker_by_instance.get(e);if(void 0===r)return;this._impl.image_tracker_target_load_from_memory(r,t.dataWithLength());break}case 3:{let e=t.type(),r=this._image_tracker_by_instance.get(e);if(void 0===r)return;this._impl.image_tracker_enabled_set(r,t.bool());break}case 24:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),n=this._impl.face_tracker_create(a);this._face_tracker_by_instance.set(e,n),this._pipeline_id_by_face_tracker_id.set(e,r);break}case 25:{let e=t.type(),r=this._face_tracker_by_instance.get(e);if(void 0===r)return;this._impl.face_tracker_destroy(r),this._face_tracker_by_instance.delete(e);break}case 26:{let e=t.type(),r=this._face_tracker_by_instance.get(e);if(void 0===r)return;this._impl.face_tracker_model_load_from_memory(r,t.dataWithLength());break}case 27:{let e=t.type(),r=this._face_tracker_by_instance.get(e);if(void 0===r)return;this._impl.face_tracker_enabled_set(r,t.bool());break}case 28:{let e=t.type(),r=this._face_tracker_by_instance.get(e);if(void 0===r)return;this._impl.face_tracker_max_faces_set(r,t.int());break}case 29:{let e=t.type(),r=this._impl.face_mesh_create();this._face_mesh_by_instance.set(e,r);break}case 30:{let e=t.type(),r=this._face_mesh_by_instance.get(e);if(void 0===r)return;this._impl.face_mesh_destroy(r),this._face_mesh_by_instance.delete(e);break}case 36:{let e=t.type(),r=t.faceLandmarkName(),a=this._impl.face_landmark_create(r);this._face_landmark_by_instance.set(e,a);break}case 37:{let e=t.type(),r=this._face_landmark_by_instance.get(e);if(void 0===r)return;this._impl.face_landmark_destroy(r),this._face_landmark_by_instance.delete(e);break}case 20:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),n=this._impl.barcode_finder_create(a);this._barcode_finder_by_instance.set(e,n),this._pipeline_id_by_barcode_finder_id.set(e,r);break}case 21:{let e=t.type(),r=this._barcode_finder_by_instance.get(e);if(void 0===r)return;this._impl.barcode_finder_destroy(r),this._barcode_finder_by_instance.delete(e);break}case 22:{let e=t.type(),r=this._barcode_finder_by_instance.get(e);if(void 0===r)return;this._impl.barcode_finder_enabled_set(r,t.bool());break}case 23:{let e=t.type(),r=this._barcode_finder_by_instance.get(e);if(void 0===r)return;this._impl.barcode_finder_formats_set(r,t.barcodeFormat());break}case 5:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),n=this._impl.instant_world_tracker_create(a);this._instant_world_tracker_by_instance.set(e,n),this._pipeline_id_by_instant_world_tracker_id.set(e,r);break}case 19:{let e=t.type(),r=this._instant_world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.instant_world_tracker_destroy(r),this._instant_world_tracker_by_instance.delete(e);break}case 6:{let e=t.type(),r=this._instant_world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.instant_world_tracker_enabled_set(r,t.bool());break}case 7:{let e=t.type(),r=this._instant_world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.instant_world_tracker_anchor_pose_set_from_camera_offset_raw(r,t.float(),t.float(),t.float(),t.instantTrackerTransformOrientation());break}case 41:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),n=this._impl.world_tracker_create(a);this._world_tracker_by_instance.set(e,n),this._pipeline_id_by_world_tracker_id.set(e,r);break}case 42:{let e=t.type(),r=this._world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.world_tracker_destroy(r),this._world_tracker_by_instance.delete(e);break}case 43:{let e=t.type(),r=this._world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.world_tracker_enabled_set(r,t.bool());break}case 44:{let e=t.type(),r=this._world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.world_tracker_reset(r);break}}}))}exploreState(){for(let[e,t]of this._pipeline_by_instance){let r=this._pipeline_id_by_pipeline_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);a&&(a.sendMessage(7,(r=>{r.type(e),r.int(this._impl.pipeline_frame_number(t))})),a.sendMessage(6,(r=>{r.type(e),r.cameraModel(this._impl.pipeline_camera_model(t))})),a.sendMessage(5,(r=>{r.type(e),r.int(this._impl.pipeline_camera_frame_user_data(t))})),a.sendMessage(11,(r=>{r.type(e),r.matrix4x4(this._impl.pipeline_camera_frame_camera_attitude(t))})),a.sendMessage(12,(r=>{r.type(e),r.matrix4x4(this._impl.pipeline_camera_frame_device_attitude(t))})))}for(let[e,t]of this._camera_source_by_instance){let t=this._pipeline_id_by_camera_source_id.get(e);t&&this.serializersByPipelineId.get(t)}for(let[e,t]of this._sequence_source_by_instance){let t=this._pipeline_id_by_sequence_source_id.get(e);t&&this.serializersByPipelineId.get(t)}for(let[e,t]of this._image_tracker_by_instance){let r=this._pipeline_id_by_image_tracker_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);if(a){a.sendMessage(19,(r=>{r.type(e),r.int(this._impl.image_tracker_target_loaded_version(t))})),a.sendMessage(1,(r=>{r.type(e),r.int(this._impl.image_tracker_anchor_count(t))}));for(let r=0;r<this._impl.image_tracker_anchor_count(t);r++)a.sendMessage(2,(a=>{a.type(e),a.int(r),a.string(this._impl.image_tracker_anchor_id(t,r))}));for(let r=0;r<this._impl.image_tracker_anchor_count(t);r++)a.sendMessage(3,(a=>{a.type(e),a.int(r),a.matrix4x4(this._impl.image_tracker_anchor_pose_raw(t,r))}))}}for(let[e,t]of this._face_tracker_by_instance){let r=this._pipeline_id_by_face_tracker_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);if(a){a.sendMessage(18,(r=>{r.type(e),r.int(this._impl.face_tracker_model_loaded_version(t))})),a.sendMessage(13,(r=>{r.type(e),r.int(this._impl.face_tracker_anchor_count(t))}));for(let r=0;r<this._impl.face_tracker_anchor_count(t);r++)a.sendMessage(14,(a=>{a.type(e),a.int(r),a.string(this._impl.face_tracker_anchor_id(t,r))}));for(let r=0;r<this._impl.face_tracker_anchor_count(t);r++)a.sendMessage(15,(a=>{a.type(e),a.int(r),a.matrix4x4(this._impl.face_tracker_anchor_pose_raw(t,r))}));for(let r=0;r<this._impl.face_tracker_anchor_count(t);r++)a.sendMessage(16,(a=>{a.type(e),a.int(r),a.identityCoefficients(this._impl.face_tracker_anchor_identity_coefficients(t,r))}));for(let r=0;r<this._impl.face_tracker_anchor_count(t);r++)a.sendMessage(17,(a=>{a.type(e),a.int(r),a.expressionCoefficients(this._impl.face_tracker_anchor_expression_coefficients(t,r))}))}}for(let[e,t]of this._face_mesh_by_instance){let t=this._pipeline_id_by_face_mesh_id.get(e);t&&this.serializersByPipelineId.get(t)}for(let[e,t]of this._face_landmark_by_instance){let t=this._pipeline_id_by_face_landmark_id.get(e);t&&this.serializersByPipelineId.get(t)}for(let[e,t]of this._barcode_finder_by_instance){let r=this._pipeline_id_by_barcode_finder_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);if(a){a.sendMessage(8,(r=>{r.type(e),r.int(this._impl.barcode_finder_found_number(t))}));for(let r=0;r<this._impl.barcode_finder_found_number(t);r++)a.sendMessage(9,(a=>{a.type(e),a.int(r),a.string(this._impl.barcode_finder_found_text(t,r))}));for(let r=0;r<this._impl.barcode_finder_found_number(t);r++)a.sendMessage(10,(a=>{a.type(e),a.int(r),a.barcodeFormat(this._impl.barcode_finder_found_format(t,r))}))}}for(let[e,t]of this._instant_world_tracker_by_instance){let r=this._pipeline_id_by_instant_world_tracker_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);a&&a.sendMessage(4,(r=>{r.type(e),r.matrix4x4(this._impl.instant_world_tracker_anchor_pose_raw(t))}))}for(let[e,t]of this._world_tracker_by_instance){let r=this._pipeline_id_by_world_tracker_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);if(a){a.sendMessage(27,(r=>{r.type(e),r.int(this._impl.world_tracker_quality(t))})),a.sendMessage(21,(r=>{r.type(e),r.int(this._impl.world_tracker_plane_count(t))}));for(let r=0;r<this._impl.world_tracker_plane_count(t);r++)a.sendMessage(22,(a=>{a.type(e),a.int(r),a.matrix4x4(this._impl.world_tracker_plane_pose_raw(t,r))}));a.sendMessage(23,(r=>{r.type(e),r.bool(this._impl.world_tracker_world_anchor_valid(t))})),a.sendMessage(24,(r=>{r.type(e),r.matrix4x4(this._impl.world_tracker_world_anchor_pose_raw(t))})),a.sendMessage(23,(r=>{r.type(e),r.bool(this._impl.world_tracker_ground_anchor_valid(t))})),a.sendMessage(26,(r=>{r.type(e),r.matrix4x4(this._impl.world_tracker_ground_anchor_pose_raw(t))}))}}}}class c{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(){for(var e=0,t=this._funcs.length;e<t;e++)this._funcs[e]()}}class u{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(e){for(var t=0,r=this._funcs.length;t<r;t++)this._funcs[t](e)}}var f,l,p,d,m,h,b,g=r(975);!function(e){e[e.UNKNOWN=131072]="UNKNOWN",e[e.AZTEC=1]="AZTEC",e[e.CODABAR=2]="CODABAR",e[e.CODE_39=4]="CODE_39",e[e.CODE_93=8]="CODE_93",e[e.CODE_128=16]="CODE_128",e[e.DATA_MATRIX=32]="DATA_MATRIX",e[e.EAN_8=64]="EAN_8",e[e.EAN_13=128]="EAN_13",e[e.ITF=256]="ITF",e[e.MAXICODE=512]="MAXICODE",e[e.PDF_417=1024]="PDF_417",e[e.QR_CODE=2048]="QR_CODE",e[e.RSS_14=4096]="RSS_14",e[e.RSS_EXPANDED=8192]="RSS_EXPANDED",e[e.UPC_A=16384]="UPC_A",e[e.UPC_E=32768]="UPC_E",e[e.UPC_EAN_EXTENSION=65536]="UPC_EAN_EXTENSION",e[e.ALL=131071]="ALL"}(f||(f={})),function(e){e[e.EYE_LEFT=0]="EYE_LEFT",e[e.EYE_RIGHT=1]="EYE_RIGHT",e[e.EAR_LEFT=2]="EAR_LEFT",e[e.EAR_RIGHT=3]="EAR_RIGHT",e[e.NOSE_BRIDGE=4]="NOSE_BRIDGE",e[e.NOSE_TIP=5]="NOSE_TIP",e[e.NOSE_BASE=6]="NOSE_BASE",e[e.LIP_TOP=7]="LIP_TOP",e[e.LIP_BOTTOM=8]="LIP_BOTTOM",e[e.MOUTH_CENTER=9]="MOUTH_CENTER",e[e.CHIN=10]="CHIN",e[e.EYEBROW_LEFT=11]="EYEBROW_LEFT",e[e.EYEBROW_RIGHT=12]="EYEBROW_RIGHT"}(l||(l={})),function(e){e[e.WORLD=3]="WORLD",e[e.MINUS_Z_AWAY_FROM_USER=4]="MINUS_Z_AWAY_FROM_USER",e[e.MINUS_Z_HEADING=5]="MINUS_Z_HEADING",e[e.UNCHANGED=6]="UNCHANGED"}(p||(p={})),function(e){e[e.LOG_LEVEL_NONE=0]="LOG_LEVEL_NONE",e[e.LOG_LEVEL_ERROR=1]="LOG_LEVEL_ERROR",e[e.LOG_LEVEL_WARNING=2]="LOG_LEVEL_WARNING",e[e.LOG_LEVEL_VERBOSE=3]="LOG_LEVEL_VERBOSE"}(d||(d={})),function(e){e[e.FRAME_PIXEL_FORMAT_I420=0]="FRAME_PIXEL_FORMAT_I420",e[e.FRAME_PIXEL_FORMAT_I420A=1]="FRAME_PIXEL_FORMAT_I420A",e[e.FRAME_PIXEL_FORMAT_I422=2]="FRAME_PIXEL_FORMAT_I422",e[e.FRAME_PIXEL_FORMAT_I444=3]="FRAME_PIXEL_FORMAT_I444",e[e.FRAME_PIXEL_FORMAT_NV12=4]="FRAME_PIXEL_FORMAT_NV12",e[e.FRAME_PIXEL_FORMAT_RGBA=5]="FRAME_PIXEL_FORMAT_RGBA",e[e.FRAME_PIXEL_FORMAT_BGRA=6]="FRAME_PIXEL_FORMAT_BGRA",e[e.FRAME_PIXEL_FORMAT_Y=7]="FRAME_PIXEL_FORMAT_Y"}(m||(m={})),function(e){e[e.IMAGE_TRACKER_TYPE_PLANAR=0]="IMAGE_TRACKER_TYPE_PLANAR",e[e.IMAGE_TRACKER_TYPE_CYLINDRICAL=1]="IMAGE_TRACKER_TYPE_CYLINDRICAL",e[e.IMAGE_TRACKER_TYPE_CONICAL=2]="IMAGE_TRACKER_TYPE_CONICAL"}(h||(h={})),function(e){e[e.WORLD_TRACKER_QUALITY_INITIALIZING=0]="WORLD_TRACKER_QUALITY_INITIALIZING",e[e.WORLD_TRACKER_QUALITY_GOOD=1]="WORLD_TRACKER_QUALITY_GOOD",e[e.WORLD_TRACKER_QUALITY_ORIENTATION_ONLY=2]="WORLD_TRACKER_QUALITY_ORIENTATION_ONLY"}(b||(b={}));const w=new Map;class y{constructor(e){this._gl=e,this._viewports=[],this._underlyingViewport=this._gl.viewport,this._viewports.push(this._gl.getParameter(this._gl.VIEWPORT)),this._gl.viewport=(e,t,r,a)=>{this._viewports[this._viewports.length-1]=[e,t,r,a],this._underlyingViewport.call(this._gl,e,t,r,a)}}static get(e){let t=w.get(e);return t||(t=new y(e),w.set(e,t)),t}push(){this._viewports.push(this._viewports[this._viewports.length-1])}pop(){const e=this._viewports.pop(),t=this._viewports[this._viewports.length-1];e&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]||this._underlyingViewport.call(this._gl,t[0],t[1],t[2],t[3])}}var v,E=r(238);!function(e){e[e.OBJECT_URL=0]="OBJECT_URL",e[e.SRC_OBJECT=1]="SRC_OBJECT"}(v||(v={}));let A={deviceMotionMutliplier:-1,blacklisted:!1,showGyroPermissionsWarningIfNecessary:!1,showSafariPermissionsResetIfNecessary:!1,requestHighFrameRate:!1,videoWidth:640,videoHeight:480,dataWidth:320,dataHeight:240,videoElementInDOM:!1,preferMediaStreamTrackProcessorCamera:!0,preferImageBitmapCamera:!1,ios164CameraSelection:!1,forceWindowOrientation:!1,intervalMultiplier:1,trustSensorIntervals:!1};"undefined"!=typeof window&&(window.zeeProfile=A,window.location.href.indexOf("_mstppipeline")>=0&&(console.log("Configuring for MSTP camera pipeline (if supported)"),A.preferMediaStreamTrackProcessorCamera=!0),window.location.href.indexOf("_imagebitmappipeline")>=0&&(console.log("Configuring for ImageBitmap camera pipeline (if supported)"),A.preferImageBitmapCamera=!0));let T=new E.UAParser,k=(T.getOS().name||"unknown").toLowerCase(),R=(T.getEngine().name||"unknown").toLowerCase();function x(e){A.forceWindowOrientation=!0,A.preferMediaStreamTrackProcessorCamera=!1,A.intervalMultiplier=1e3,A.trustSensorIntervals=!0;let t=e.split(".");if(t.length>=2){const e=parseInt(t[0]),r=parseInt(t[1]);(e<11||11===e&&r<3)&&(A.blacklisted=!0),(e<12||12===e&&r<2)&&(A.videoElementInDOM=!0),(12===e&&r>=2||e>=13)&&(A.showGyroPermissionsWarningIfNecessary=!0),e>=13&&(A.showSafariPermissionsResetIfNecessary=!0),(e>=12&&r>1||e>=13)&&navigator.mediaDevices&&navigator.mediaDevices.getSupportedConstraints&&navigator.mediaDevices.getSupportedConstraints().frameRate&&(A.requestHighFrameRate=!0,e<14&&(A.videoHeight=360,A.dataHeight=180)),(16===e&&r>=4||e>16)&&(A.ios164CameraSelection=!0)}}function L(e,t,r){let a=e.createShader(t);if(!a)throw new Error("Unable to create shader");e.shaderSource(a,r),e.compileShader(a);let n=e.getShaderInfoLog(a);if(n&&n.trim().length>0)throw new Error("Shader compile error: "+n);return a}"webkit"===R&&"ios"!==k&&(A.deviceMotionMutliplier=1,"undefined"!=typeof window&&void 0!==window.orientation&&x("15.0")),"webkit"===R&&"ios"===k&&(A.deviceMotionMutliplier=1,x(T.getOS().version||"15.0"));class z{constructor(e){this._gl=e,this._isPaused=!0,this._hadFrames=!1,this._isUserFacing=!1,this._cameraToScreenRotation=0,this._isUploadFrame=!0,this._computedTransformRotation=-1,this._computedFrontCameraRotation=!1,this._cameraUvTransform=g.Ue(),this._framebufferWidth=0,this._framebufferHeight=0,this._framebufferId=null,this._renderTexture=null,this._isWebGL2=!1,this._isWebGL2=e.getParameter(e.VERSION).indexOf("WebGL 2")>=0,this._isWebGL2||(this._instancedArraysExtension=this._gl.getExtension("ANGLE_instanced_arrays"))}resetGLContext(){this._framebufferId=null,this._renderTexture=null,this._vertexBuffer=void 0,this._indexBuffer=void 0,this._greyscaleShader=void 0}destroy(){this.resetGLContext()}uploadFrame(e,t,r,a){let n=this._gl;const i=y.get(n);i.push();const _=n.isEnabled(n.SCISSOR_TEST),o=n.isEnabled(n.DEPTH_TEST),s=n.isEnabled(n.BLEND),c=n.isEnabled(n.CULL_FACE),u=n.isEnabled(n.STENCIL_TEST),f=n.getParameter(n.ACTIVE_TEXTURE),l=n.getParameter(n.UNPACK_FLIP_Y_WEBGL),p=n.getParameter(n.CURRENT_PROGRAM);n.activeTexture(n.TEXTURE0);const d=n.getParameter(n.TEXTURE_BINDING_2D),m=n.getParameter(n.FRAMEBUFFER_BINDING),h=n.getParameter(n.ARRAY_BUFFER_BINDING),b=n.getParameter(n.ELEMENT_ARRAY_BUFFER_BINDING);n.disable(n.SCISSOR_TEST),n.disable(n.DEPTH_TEST),n.disable(n.BLEND),n.disable(n.CULL_FACE),n.disable(n.STENCIL_TEST),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!1),n.bindTexture(n.TEXTURE_2D,e);const g=n.RGBA,w=n.RGBA,v=n.UNSIGNED_BYTE;n.texImage2D(n.TEXTURE_2D,0,g,w,v,t);let E=0,T=0;"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement?(E=t.videoWidth,T=t.videoHeight):(E=t.width,T=t.height),T>E&&(T=[E,E=T][0]),this._updateTransforms(r,a);let k=this._getFramebuffer(n,A.dataWidth/4,A.dataHeight),R=this._getVertexBuffer(n),x=this._getIndexBuffer(n),L=this._getGreyscaleShader(n);const z=n.getVertexAttrib(L.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_SIZE),I=n.getVertexAttrib(L.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_TYPE),M=n.getVertexAttrib(L.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_NORMALIZED),F=n.getVertexAttrib(L.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_STRIDE),O=n.getVertexAttribOffset(L.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_POINTER),P=n.getVertexAttrib(L.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_ENABLED),S=n.getVertexAttrib(L.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING),D=n.getVertexAttrib(L.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_SIZE),C=n.getVertexAttrib(L.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_TYPE),B=n.getVertexAttrib(L.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_NORMALIZED),U=n.getVertexAttrib(L.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_STRIDE),V=n.getVertexAttribOffset(L.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_POINTER),N=n.getVertexAttrib(L.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING),G=n.getVertexAttrib(L.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_ENABLED);let H=0,W=0;this._isWebGL2?(H=n.getVertexAttrib(L.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_DIVISOR),W=n.getVertexAttrib(L.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_DIVISOR),n.vertexAttribDivisor(L.aVertexPositionLoc,0),n.vertexAttribDivisor(L.aTextureCoordLoc,0)):this._instancedArraysExtension&&(H=n.getVertexAttrib(L.aVertexPositionLoc,this._instancedArraysExtension.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE),W=n.getVertexAttrib(L.aTextureCoordLoc,this._instancedArraysExtension.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE),this._instancedArraysExtension.vertexAttribDivisorANGLE(L.aVertexPositionLoc,0),this._instancedArraysExtension.vertexAttribDivisorANGLE(L.aTextureCoordLoc,0)),n.bindFramebuffer(n.FRAMEBUFFER,k),n.viewport(0,0,this._framebufferWidth,this._framebufferHeight),n.clear(n.COLOR_BUFFER_BIT),n.bindBuffer(n.ARRAY_BUFFER,R),n.vertexAttribPointer(L.aVertexPositionLoc,2,n.FLOAT,!1,16,0),n.enableVertexAttribArray(L.aVertexPositionLoc),n.vertexAttribPointer(L.aTextureCoordLoc,2,n.FLOAT,!1,16,8),n.enableVertexAttribArray(L.aTextureCoordLoc),n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,x),n.useProgram(L.program),n.uniform1f(L.uTexWidthLoc,A.dataWidth),n.uniformMatrix4fv(L.uUvTransformLoc,!1,this._cameraUvTransform),n.activeTexture(n.TEXTURE0),n.bindTexture(n.TEXTURE_2D,e),n.uniform1i(L.uSamplerLoc,0),n.drawElements(n.TRIANGLES,6,n.UNSIGNED_SHORT,0),n.bindBuffer(n.ARRAY_BUFFER,S),n.vertexAttribPointer(L.aVertexPositionLoc,z,I,M,F,O),n.bindBuffer(n.ARRAY_BUFFER,N),n.vertexAttribPointer(L.aTextureCoordLoc,D,C,B,U,V),n.bindBuffer(n.ARRAY_BUFFER,h),n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,b),P||n.disableVertexAttribArray(L.aVertexPositionLoc),G||n.disableVertexAttribArray(L.aTextureCoordLoc),this._isWebGL2?(n.vertexAttribDivisor(L.aVertexPositionLoc,H),n.vertexAttribDivisor(L.aTextureCoordLoc,W)):this._instancedArraysExtension&&(this._instancedArraysExtension.vertexAttribDivisorANGLE(L.aVertexPositionLoc,H),this._instancedArraysExtension.vertexAttribDivisorANGLE(L.aTextureCoordLoc,W)),n.bindFramebuffer(n.FRAMEBUFFER,m),n.useProgram(p),n.bindTexture(n.TEXTURE_2D,d),n.activeTexture(f),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,l),i.pop(),s&&n.enable(n.BLEND),c&&n.enable(n.CULL_FACE),o&&n.enable(n.DEPTH_TEST),_&&n.enable(n.SCISSOR_TEST),u&&n.enable(n.STENCIL_TEST)}readFrame(e,t){let r=this._gl,a=new Uint8Array(t);const n=r.getParameter(r.FRAMEBUFFER_BINDING);let i=this._getFramebuffer(r,A.dataWidth/4,A.dataHeight);return r.bindFramebuffer(r.FRAMEBUFFER,i),r.readPixels(0,0,this._framebufferWidth,this._framebufferHeight,r.RGBA,r.UNSIGNED_BYTE,a),r.bindFramebuffer(r.FRAMEBUFFER,n),{uvTransform:this._cameraUvTransform,data:t,texture:e,dataWidth:A.dataWidth,dataHeight:A.dataHeight,userFacing:this._computedFrontCameraRotation}}_updateTransforms(e,t){e==this._computedTransformRotation&&t==this._computedFrontCameraRotation||(this._computedTransformRotation=e,this._computedFrontCameraRotation=t,this._cameraUvTransform=this._getCameraUvTransform())}_getCameraUvTransform(){switch(this._computedTransformRotation){case 270:return new Float32Array([0,1,0,0,-1,0,0,0,0,0,1,0,1,0,0,1]);case 180:return new Float32Array([-1,0,0,0,0,-1,0,0,0,0,1,0,1,1,0,1]);case 90:return new Float32Array([0,-1,0,0,1,0,0,0,0,0,1,0,0,1,0,1])}return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}_getFramebuffer(e,t,r){if(this._framebufferWidth===t&&this._framebufferHeight===r&&this._framebufferId)return this._framebufferId;if(this._framebufferId&&(e.deleteFramebuffer(this._framebufferId),this._framebufferId=null),this._renderTexture&&(e.deleteTexture(this._renderTexture),this._renderTexture=null),this._framebufferId=e.createFramebuffer(),!this._framebufferId)throw new Error("Unable to create framebuffer");if(e.bindFramebuffer(e.FRAMEBUFFER,this._framebufferId),this._renderTexture=e.createTexture(),!this._renderTexture)throw new Error("Unable to create render texture");e.activeTexture(e.TEXTURE0);const a=e.getParameter(e.TEXTURE_BINDING_2D);e.bindTexture(e.TEXTURE_2D,this._renderTexture),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,r,0,e.RGBA,e.UNSIGNED_BYTE,null),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameterf(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,this._renderTexture,0);let n=e.checkFramebufferStatus(e.FRAMEBUFFER);if(n!==e.FRAMEBUFFER_COMPLETE)throw new Error("Framebuffer not complete: "+n.toString());return this._framebufferWidth=t,this._framebufferHeight=r,e.bindTexture(e.TEXTURE_2D,a),e.bindFramebuffer(e.FRAMEBUFFER,null),this._framebufferId}_getVertexBuffer(e){if(this._vertexBuffer)return this._vertexBuffer;if(this._vertexBuffer=e.createBuffer(),!this._vertexBuffer)throw new Error("Unable to create vertex buffer");e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer);let t=new Float32Array([-1,-1,0,0,-1,1,0,1,1,1,1,1,1,-1,1,0]);return e.bufferData(e.ARRAY_BUFFER,t,e.STATIC_DRAW),this._vertexBuffer}_getIndexBuffer(e){if(this._indexBuffer)return this._indexBuffer;if(this._indexBuffer=e.createBuffer(),!this._indexBuffer)throw new Error("Unable to create index buffer");e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer);let t=new Uint16Array([0,1,2,0,2,3]);return e.bufferData(e.ELEMENT_ARRAY_BUFFER,t,e.STATIC_DRAW),this._indexBuffer}_getGreyscaleShader(e){if(this._greyscaleShader)return this._greyscaleShader;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=L(e,e.VERTEX_SHADER,P),a=L(e,e.FRAGMENT_SHADER,S);e.attachShader(t,r),e.attachShader(t,a),function(e,t){e.linkProgram(t);let r=e.getProgramInfoLog(t);if(r&&r.trim().length>0)throw new Error("Unable to link: "+r)}(e,t);let n=e.getUniformLocation(t,"uTexWidth");if(!n)throw new Error("Unable to get uniform location uTexWidth");let i=e.getUniformLocation(t,"uUvTransform");if(!i)throw new Error("Unable to get uniform location uUvTransform");let _=e.getUniformLocation(t,"uSampler");if(!_)throw new Error("Unable to get uniform location uSampler");return this._greyscaleShader={program:t,aVertexPositionLoc:e.getAttribLocation(t,"aVertexPosition"),aTextureCoordLoc:e.getAttribLocation(t,"aTextureCoord"),uTexWidthLoc:n,uUvTransformLoc:i,uSamplerLoc:_},this._greyscaleShader}}let I,M,F,O,P="\n attribute vec4 aVertexPosition;\n attribute vec2 aTextureCoord;\n\n varying highp vec2 vTextureCoord1;\n varying highp vec2 vTextureCoord2;\n varying highp vec2 vTextureCoord3;\n varying highp vec2 vTextureCoord4;\n\n uniform float uTexWidth;\n\tuniform mat4 uUvTransform;\n\n void main(void) {\n highp vec2 offset1 = vec2(1.5 / uTexWidth, 0);\n highp vec2 offset2 = vec2(0.5 / uTexWidth, 0);\n\n gl_Position = aVertexPosition;\n vTextureCoord1 = (uUvTransform * vec4(aTextureCoord - offset1, 0, 1)).xy;\n vTextureCoord2 = (uUvTransform * vec4(aTextureCoord - offset2, 0, 1)).xy;\n vTextureCoord3 = (uUvTransform * vec4(aTextureCoord + offset2, 0, 1)).xy;\n vTextureCoord4 = (uUvTransform * vec4(aTextureCoord + offset1, 0, 1)).xy;\n }\n",S="\n varying highp vec2 vTextureCoord1;\n varying highp vec2 vTextureCoord2;\n varying highp vec2 vTextureCoord3;\n varying highp vec2 vTextureCoord4;\n\n uniform sampler2D uSampler;\n\n const lowp vec3 colorWeights = vec3(77.0 / 256.0, 150.0 / 256.0, 29.0 / 256.0);\n\n void main(void) {\n lowp vec4 outpx;\n\n outpx.r = dot(colorWeights, texture2D(uSampler, vTextureCoord1).xyz);\n outpx.g = dot(colorWeights, texture2D(uSampler, vTextureCoord2).xyz);\n outpx.b = dot(colorWeights, texture2D(uSampler, vTextureCoord3).xyz);\n outpx.a = dot(colorWeights, texture2D(uSampler, vTextureCoord4).xyz);\n\n gl_FragColor = outpx;\n }\n";var D=function(e,t,r,a){return new(r||(r=Promise))((function(n,i){function _(e){try{s(a.next(e))}catch(e){i(e)}}function o(e){try{s(a.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(_,o)}s((a=a.apply(e,t||[])).next())}))};let C=new class{constructor(){this.onOutgoingMessage=new c,this.onIncomingMessage=new u,this._outgoingMessages=[]}postIncomingMessage(e){this.onIncomingMessage.emit(e)}postOutgoingMessage(e,t){this._outgoingMessages.push({msg:e,transferables:t}),this.onOutgoingMessage.emit()}getOutgoingMessages(){let e=this._outgoingMessages;return this._outgoingMessages=[],e}},B=0;function U(e){return D(this,void 0,void 0,(function*(){let t=i({locateFile:(t,r)=>t.endsWith("zappar-cv.wasm")?e:r+t,onRuntimeInitialized:()=>{let e=function(e){let t=e.cwrap("zappar_log_level","number",[]),r=e.cwrap("zappar_log_level_set",null,["number"]),a=e.cwrap("zappar_analytics_project_id_set",null,["string","string"]),n=e.cwrap("zappar_pipeline_create","number",[]),i=e.cwrap("zappar_pipeline_destroy",null,["number"]),_=e.cwrap("zappar_pipeline_frame_update",null,["number"]),o=e.cwrap("zappar_pipeline_frame_number","number",["number"]),s=e.cwrap("zappar_pipeline_camera_model","number",["number"]),c=e.cwrap("zappar_pipeline_camera_frame_user_data","number",["number"]),u=e.cwrap("zappar_pipeline_camera_frame_submit",null,["number","number","number","number","number","number","number","number","number"]),f=e.cwrap("zappar_pipeline_camera_frame_submit_raw_pointer",null,["number","number","number","number","number","number","number","number","number","number","number"]),l=e.cwrap("zappar_pipeline_camera_frame_camera_attitude","number",["number"]),p=e.cwrap("zappar_pipeline_camera_frame_device_attitude","number",["number"]),d=e.cwrap("zappar_pipeline_motion_accelerometer_submit",null,["number","number","number","number","number"]),m=e.cwrap("zappar_pipeline_motion_accelerometer_with_gravity_submit_int",null,["number","number","number","number","number","number"]),h=e.cwrap("zappar_pipeline_motion_accelerometer_without_gravity_submit_int",null,["number","number","number","number","number","number"]),b=e.cwrap("zappar_pipeline_motion_rotation_rate_submit",null,["number","number","number","number","number"]),g=e.cwrap("zappar_pipeline_motion_rotation_rate_submit_int",null,["number","number","number","number","number","number"]),w=e.cwrap("zappar_pipeline_motion_attitude_submit",null,["number","number","number","number","number"]),y=e.cwrap("zappar_pipeline_motion_attitude_submit_int",null,["number","number","number","number","number","number"]),v=e.cwrap("zappar_pipeline_motion_attitude_matrix_submit",null,["number","number"]),E=e.cwrap("zappar_camera_source_create","number",["number","string"]),A=e.cwrap("zappar_camera_source_destroy",null,["number"]),T=e.cwrap("zappar_sequence_source_create","number",["number"]),k=e.cwrap("zappar_sequence_source_destroy",null,["number"]),R=e.cwrap("zappar_image_tracker_create","number",["number"]),x=e.cwrap("zappar_image_tracker_destroy",null,["number"]),L=e.cwrap("zappar_image_tracker_target_load_from_memory",null,["number","number","number"]),z=e.cwrap("zappar_image_tracker_target_loaded_version","number",["number"]),I=e.cwrap("zappar_image_tracker_enabled","number",["number"]),M=e.cwrap("zappar_image_tracker_enabled_set",null,["number","number"]),F=e.cwrap("zappar_image_tracker_anchor_count","number",["number"]),O=e.cwrap("zappar_image_tracker_anchor_id","string",["number","number"]),P=e.cwrap("zappar_image_tracker_anchor_pose_raw","number",["number","number"]),S=e.cwrap("zappar_face_tracker_create","number",["number"]),D=e.cwrap("zappar_face_tracker_destroy",null,["number"]),C=e.cwrap("zappar_face_tracker_model_load_from_memory",null,["number","number","number"]),B=e.cwrap("zappar_face_tracker_model_loaded_version","number",["number"]),U=e.cwrap("zappar_face_tracker_enabled_set",null,["number","number"]),V=e.cwrap("zappar_face_tracker_enabled","number",["number"]),N=e.cwrap("zappar_face_tracker_max_faces_set",null,["number","number"]),G=e.cwrap("zappar_face_tracker_max_faces","number",["number"]),H=e.cwrap("zappar_face_tracker_anchor_count","number",["number"]),W=e.cwrap("zappar_face_tracker_anchor_id","string",["number","number"]),Y=e.cwrap("zappar_face_tracker_anchor_pose_raw","number",["number","number"]),X=e.cwrap("zappar_face_tracker_anchor_identity_coefficients","number",["number","number"]),q=e.cwrap("zappar_face_tracker_anchor_expression_coefficients","number",["number","number"]),Z=e.cwrap("zappar_face_mesh_create","number",[]),K=e.cwrap("zappar_face_mesh_destroy",null,["number"]),j=e.cwrap("zappar_face_landmark_create","number",["number"]),J=e.cwrap("zappar_face_landmark_destroy",null,["number"]),Q=e.cwrap("zappar_barcode_finder_create","number",["number"]),$=e.cwrap("zappar_barcode_finder_destroy",null,["number"]),ee=e.cwrap("zappar_barcode_finder_enabled_set",null,["number","number"]),te=e.cwrap("zappar_barcode_finder_enabled","number",["number"]),re=e.cwrap("zappar_barcode_finder_found_number","number",["number"]),ae=e.cwrap("zappar_barcode_finder_found_text","string",["number","number"]),ne=e.cwrap("zappar_barcode_finder_found_format","number",["number","number"]),ie=e.cwrap("zappar_barcode_finder_formats","number",["number"]),_e=e.cwrap("zappar_barcode_finder_formats_set",null,["number","number"]),oe=e.cwrap("zappar_instant_world_tracker_create","number",["number"]),se=e.cwrap("zappar_instant_world_tracker_destroy",null,["number"]),ce=e.cwrap("zappar_instant_world_tracker_enabled_set",null,["number","number"]),ue=e.cwrap("zappar_instant_world_tracker_enabled","number",["number"]),fe=e.cwrap("zappar_instant_world_tracker_anchor_pose_raw","number",["number"]),le=e.cwrap("zappar_instant_world_tracker_anchor_pose_set_from_camera_offset_raw",null,["number","number","number","number","number"]),pe=e.cwrap("zappar_world_tracker_create","number",["number"]),de=e.cwrap("zappar_world_tracker_destroy",null,["number"]),me=e.cwrap("zappar_world_tracker_enabled","number",["number"]),he=e.cwrap("zappar_world_tracker_enabled_set",null,["number","number"]),be=e.cwrap("zappar_world_tracker_quality","number",["number"]),ge=e.cwrap("zappar_world_tracker_plane_count","number",["number"]),we=e.cwrap("zappar_world_tracker_plane_pose_raw","number",["number","number"]),ye=e.cwrap("zappar_world_tracker_world_anchor_valid","number",["number"]),ve=e.cwrap("zappar_world_tracker_world_anchor_pose_raw","number",["number"]),Ee=e.cwrap("zappar_world_tracker_ground_anchor_valid","number",["number"]),Ae=e.cwrap("zappar_world_tracker_ground_anchor_pose_raw","number",["number"]),Te=e.cwrap("zappar_world_tracker_reset",null,["number"]),ke=32,Re=e._malloc(ke),xe=(e._malloc(64),new Map),Le=(t,r)=>{let a=xe.get(t);return(!a||a[0]<r)&&(a&&e._free(a[1]),a=[r,e._malloc(r)],xe.set(t,a)),a[1]};return{log_level:()=>t(),log_level_set:e=>r(e),analytics_project_id_set:(e,t)=>a(e,t),pipeline_create:()=>n(),pipeline_destroy:()=>{i()},pipeline_frame_update:e=>_(e),pipeline_frame_number:e=>o(e),pipeline_camera_model:t=>{let r=s(t),a=new Float32Array(6);return a.set(e.HEAPF32.subarray(r/4,6+r/4)),r=a,r},pipeline_camera_frame_user_data:e=>c(e),pipeline_camera_frame_submit:(t,r,a,n,i,_,o,s)=>{ke<r.byteLength&&(e._free(Re),ke=r.byteLength,Re=e._malloc(ke));let c=Re,f=r.byteLength;e.HEAPU8.set(new Uint8Array(r),Re);let l=a,p=n,d=i,m=Le(4,_.byteLength);e.HEAPF32.set(_,m/4);let h=Le(5,o.byteLength);return e.HEAPF32.set(o,h/4),u(t,c,f,l,p,d,m,h,s?1:0)},pipeline_camera_frame_submit_raw_pointer:(t,r,a,n,i,_,o,s,c,u,l)=>{let p=r,d=a,m=n,h=i,b=_,g=o,w=Le(6,s.byteLength);e.HEAPF32.set(s,w/4);let y=c,v=Le(8,u.byteLength);return e.HEAPF32.set(u,v/4),f(t,p,d,m,h,b,g,w,y,v,l?1:0)},pipeline_camera_frame_camera_attitude:t=>{let r=l(t),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(r/4,16+r/4)),r=a,r},pipeline_camera_frame_device_attitude:t=>{let r=p(t),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(r/4,16+r/4)),r=a,r},pipeline_motion_accelerometer_submit:(e,t,r,a,n)=>d(e,t,r,a,n),pipeline_motion_accelerometer_with_gravity_submit_int:(e,t,r,a,n,i)=>m(e,t,r,a,n,i),pipeline_motion_accelerometer_without_gravity_submit_int:(e,t,r,a,n,i)=>h(e,t,r,a,n,i),pipeline_motion_rotation_rate_submit:(e,t,r,a,n)=>b(e,t,r,a,n),pipeline_motion_rotation_rate_submit_int:(e,t,r,a,n,i)=>g(e,t,r,a,n,i),pipeline_motion_attitude_submit:(e,t,r,a,n)=>w(e,t,r,a,n),pipeline_motion_attitude_submit_int:(e,t,r,a,n,i)=>y(e,t,r,a,n,i),pipeline_motion_attitude_matrix_submit:(t,r)=>{let a=Le(0,r.byteLength);return e.HEAPF32.set(r,a/4),v(t,a)},camera_source_create:(e,t)=>E(e,t),camera_source_destroy:()=>{A()},sequence_source_create:e=>T(e),sequence_source_destroy:()=>{k()},image_tracker_create:e=>R(e),image_tracker_destroy:()=>{x()},image_tracker_target_load_from_memory:(t,r)=>{ke<r.byteLength&&(e._free(Re),ke=r.byteLength,Re=e._malloc(ke));let a=Re,n=r.byteLength;return e.HEAPU8.set(new Uint8Array(r),Re),L(t,a,n)},image_tracker_target_loaded_version:e=>z(e),image_tracker_enabled:e=>{let t=I(e);return t=1===t,t},image_tracker_enabled_set:(e,t)=>M(e,t?1:0),image_tracker_anchor_count:e=>F(e),image_tracker_anchor_id:(e,t)=>O(e,t),image_tracker_anchor_pose_raw:(t,r)=>{let a=P(t,r),n=new Float32Array(16);return n.set(e.HEAPF32.subarray(a/4,16+a/4)),a=n,a},face_tracker_create:e=>S(e),face_tracker_destroy:()=>{D()},face_tracker_model_load_from_memory:(t,r)=>{ke<r.byteLength&&(e._free(Re),ke=r.byteLength,Re=e._malloc(ke));let a=Re,n=r.byteLength;return e.HEAPU8.set(new Uint8Array(r),Re),C(t,a,n)},face_tracker_model_loaded_version:e=>B(e),face_tracker_enabled_set:(e,t)=>U(e,t?1:0),face_tracker_enabled:e=>{let t=V(e);return t=1===t,t},face_tracker_max_faces_set:(e,t)=>N(e,t),face_tracker_max_faces:e=>G(e),face_tracker_anchor_count:e=>H(e),face_tracker_anchor_id:(e,t)=>W(e,t),face_tracker_anchor_pose_raw:(t,r)=>{let a=Y(t,r),n=new Float32Array(16);return n.set(e.HEAPF32.subarray(a/4,16+a/4)),a=n,a},face_tracker_anchor_identity_coefficients:(t,r)=>{let a=X(t,r),n=new Float32Array(50);return n.set(e.HEAPF32.subarray(a/4,50+a/4)),a=n,a},face_tracker_anchor_expression_coefficients:(t,r)=>{let a=q(t,r),n=new Float32Array(29);return n.set(e.HEAPF32.subarray(a/4,29+a/4)),a=n,a},face_mesh_create:()=>Z(),face_mesh_destroy:()=>{K()},face_landmark_create:e=>j(e),face_landmark_destroy:()=>{J()},barcode_finder_create:e=>Q(e),barcode_finder_destroy:()=>{$()},barcode_finder_enabled_set:(e,t)=>ee(e,t?1:0),barcode_finder_enabled:e=>{let t=te(e);return t=1===t,t},barcode_finder_found_number:e=>re(e),barcode_finder_found_text:(e,t)=>ae(e,t),barcode_finder_found_format:(e,t)=>ne(e,t),barcode_finder_formats:e=>ie(e),barcode_finder_formats_set:(e,t)=>_e(e,t),instant_world_tracker_create:e=>oe(e),instant_world_tracker_destroy:()=>{se()},instant_world_tracker_enabled_set:(e,t)=>ce(e,t?1:0),instant_world_tracker_enabled:e=>{let t=ue(e);return t=1===t,t},instant_world_tracker_anchor_pose_raw:t=>{let r=fe(t),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(r/4,16+r/4)),r=a,r},instant_world_tracker_anchor_pose_set_from_camera_offset_raw:(e,t,r,a,n)=>le(e,t,r,a,n),world_tracker_create:e=>pe(e),world_tracker_destroy:()=>{de()},world_tracker_enabled:e=>{let t=me(e);return t=1===t,t},world_tracker_enabled_set:(e,t)=>he(e,t?1:0),world_tracker_quality:e=>be(e),world_tracker_plane_count:e=>ge(e),world_tracker_plane_pose_raw:(t,r)=>{let a=we(t,r),n=new Float32Array(16);return n.set(e.HEAPF32.subarray(a/4,16+a/4)),a=n,a},world_tracker_world_anchor_valid:e=>{let t=ye(e);return t=1===t,t},world_tracker_world_anchor_pose_raw:t=>{let r=ve(t),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(r/4,16+r/4)),r=a,r},world_tracker_ground_anchor_valid:e=>{let t=Ee(e);return t=1===t,t},world_tracker_ground_anchor_pose_raw:t=>{let r=Ae(t),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(r/4,16+r/4)),r=a,r},world_tracker_reset:e=>Te(e)}}(t),r=new s(e,((e,t)=>{C.postOutgoingMessage({p:e,t:"zappar",d:t},[t])}));C.postOutgoingMessage("loaded",[]),C.onIncomingMessage.bind((a=>{var n;switch(a.t){case"zappar":r.processBuffer(a.d),C.postOutgoingMessage({t:"buf",d:a.d},[a.d]);break;case"buf":null===(n=r.serializersByPipelineId.get(a.p))||void 0===n||n.bufferReturn(a.d);break;case"cameraFrameC2S":{let t,n=a,i=r._pipeline_by_instance.get(n.p);i&&(e.pipeline_camera_frame_submit(i,n.d,n.width,n.height,n.token,n.c2d,n.cm,n.userFacing),e.pipeline_frame_update(i),t=e.pipeline_camera_frame_device_attitude(i),r.exploreState());let _={token:n.token,d:n.d,p:n.p,t:"cameraFrameRecycleS2C",att:t};C.postOutgoingMessage(_,[n.d]);break}case"streamC2S":{let n=a;(function(e,t,r,a,n,i,_){return D(this,void 0,void 0,(function*(){for(;;){let o;try{o=yield r.getReader()}catch(e){yield q(1e3);continue}try{return void(yield X(e,t,o,a,n,i,_))}catch(e){}return void(yield q(1e3))}}))})(t,e,n.s,n.p,n.userFacing,r,n.source).then((()=>{let e={t:"streamEndedS2C",p:n.p,source:n.source};C.postOutgoingMessage(e,[])})).catch((e=>{}));break}case"cameraToScreenC2S":B=a.r;break;case"imageBitmapC2S":!function(e,t,r,a){const[n,i]=function(){if(!F||!O){const e=new OffscreenCanvas(1,1);if(O=e.getContext("webgl"),!O)throw new Error("Unable to get offscreen GL context");F=new z(O)}return[F,O]}();if(M||(M=i.createTexture(),i.bindTexture(i.TEXTURE_2D,M),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR)),!M)return;(!I||I.byteLength<A.dataWidth*A.dataHeight)&&(I=new ArrayBuffer(A.dataWidth*A.dataHeight)),n.uploadFrame(M,e.i,e.r,e.userFacing);let _=n.readFrame(M,I),o={t:"imageBitmapS2C",dataWidth:_.dataWidth,dataHeight:_.dataHeight,frame:e.i,userFacing:_.userFacing,uvTransform:_.uvTransform||g.Ue(),tokenId:e.tokenId,p:e.p};a.postOutgoingMessage(o,[e.i]);let s=r._pipeline_by_instance.get(e.p);s&&(t.pipeline_camera_frame_submit(s,I,_.dataWidth,_.dataHeight,e.tokenId,e.cameraToDevice,e.cameraModel,_.userFacing),t.pipeline_frame_update(s),r.exploreState())}(a,e,r,C);break;case"sensorDataC2S":{const t=a,n=r._pipeline_by_instance.get(t.p);if(!n)break;switch(t.sensor){case"accel":e.pipeline_motion_accelerometer_submit(n,t.timestamp,t.x,t.y,t.z);break;case"accel_w_gravity_int":e.pipeline_motion_accelerometer_with_gravity_submit_int(n,t.timestamp,t.interval,t.x,t.y,t.z);break;case"accel_wo_gravity_int":e.pipeline_motion_accelerometer_without_gravity_submit_int(n,t.timestamp,t.interval,t.x,t.y,t.z);break;case"attitude_int":e.pipeline_motion_attitude_submit_int(n,t.timestamp,t.interval,t.x,t.y,t.z);break;case"attitude":e.pipeline_motion_attitude_submit(n,t.timestamp,t.x,t.y,t.z);break;case"rotation_rate_int":e.pipeline_motion_rotation_rate_submit_int(n,t.timestamp,t.interval,t.x,t.y,t.z);break;case"rotation_rate":e.pipeline_motion_rotation_rate_submit(n,t.timestamp,t.x,t.y,t.z)}break}case"attitudeMatrixC2S":{const t=a,n=r._pipeline_by_instance.get(t.p);if(!n)break;e.pipeline_motion_attitude_matrix_submit(n,t.m);break}}}))}})}))}let V=0,N=0,G=1;function H(e){return new Promise(((t,r)=>{const a=setTimeout((()=>{r("Frame timeout")}),2e3);e.read().then((e=>{clearTimeout(a),t(e)}))}))}const W=g.Ue(),Y=new Float32Array([300,300,160,120,0,0]);function X(e,t,r,a,n,i,_){var o;return D(this,void 0,void 0,(function*(){for(;;){let s=yield H(r);if(s.done)return void(null===(o=s.value)||void 0===o||o.close());let c=s.value,u=c.allocationSize();u>N&&(V>0&&e._free(V),V=e._malloc(u),N=u),yield c.copyTo(e.HEAPU8.subarray(V,V+N));let f=G;G++;const l=c.visibleRect.width,p=c.visibleRect.height;let d,m=l,h=p;switch(B){case 270:d=new Float32Array([0,1,0,0,-1,0,0,0,0,0,1,0,1,0,0,1]),m=p,h=l;break;case 180:d=new Float32Array([-1,0,0,0,0,-1,0,0,0,0,1,0,1,1,0,1]);break;case 90:d=new Float32Array([0,-1,0,0,1,0,0,0,0,0,1,0,0,1,0,1]),m=p,h=l;break;default:d=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}let b=c.clone();n?g.xJ(W,[-1,1,-1]):g.yR(W);let w=300*A.dataWidth/320;Y[0]=w,Y[1]=w,Y[2]=.5*A.dataWidth,Y[3]=.5*A.dataHeight;const y={token:f,d:b,p:a,t:"videoFrameS2C",userFacing:n,uvTransform:d,w:m,h,cameraToDevice:W,cameraModel:Y,source:_};C.postOutgoingMessage(y,[y.d,y.uvTransform.buffer]);const v=i._pipeline_by_instance.get(a);if(v){try{t.pipeline_camera_frame_submit_raw_pointer(v,V,u,Z(c.format),l,p,f,W,B,Y,n)}catch(e){}t.pipeline_frame_update(v),i.exploreState()}c.close()}}))}function q(e){return new Promise((t=>{setTimeout(t,e)}))}function Z(e){switch(e){case"I420":return m.FRAME_PIXEL_FORMAT_I420;case"I420A":return m.FRAME_PIXEL_FORMAT_I420A;case"I422":return m.FRAME_PIXEL_FORMAT_I422;case"I444":return m.FRAME_PIXEL_FORMAT_I444;case"NV12":return m.FRAME_PIXEL_FORMAT_NV12;case"RGBA":case"RGBX":return m.FRAME_PIXEL_FORMAT_RGBA;case"BGRA":case"BGRX":return m.FRAME_PIXEL_FORMAT_BGRA}return m.FRAME_PIXEL_FORMAT_Y}const K=self;C.onOutgoingMessage.bind((()=>{let e=C.getOutgoingMessages();for(let t of e)K.postMessage(t.msg,t.transferables)}));let j=e=>{e&&e.data&&"wasm"===e.data.t&&(U(location.href.startsWith("blob")?e.data.url:new URL(r(751),r.b).toString()),K.removeEventListener("message",j))};K.addEventListener("message",j),K.addEventListener("message",(e=>{C.postIncomingMessage(e.data)}))},751:(e,t,r)=>{e.exports=r.p+"8879d8857065c12983c1.wasm"}},a={};function n(e){var t=a[e];if(void 0!==t)return t.exports;var i=a[e]={exports:{}};return r[e].call(i.exports,i,i.exports,n),i.exports}return n.m=r,n.x=()=>{var e=n.O(void 0,[169],(()=>n(56)));return n.O(e)},n.amdO={},e=[],n.O=(t,r,a,i)=>{if(!r){var _=1/0;for(u=0;u<e.length;u++){for(var[r,a,i]=e[u],o=!0,s=0;s<r.length;s++)(!1&i||_>=i)&&Object.keys(n.O).every((e=>n.O[e](r[s])))?r.splice(s--,1):(o=!1,i<_&&(_=i));if(o){e.splice(u--,1);var c=a();void 0!==c&&(t=c)}}return t}i=i||0;for(var u=e.length;u>0&&e[u-1][2]>i;u--)e[u]=e[u-1];e[u]=[r,a,i]},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((t,r)=>(n.f[r](e,t),t)),[])),n.u=e=>e+".zappar-cv.js",n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var t=n.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");r.length&&(e=r[r.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{n.b=self.location+"";var e={56:1};n.f.i=(t,r)=>{e[t]||importScripts(n.p+n.u(t))};var t=self.webpackChunkZCV=self.webpackChunkZCV||[],r=t.push.bind(t);t.push=t=>{var[a,i,_]=t;for(var o in i)n.o(i,o)&&(n.m[o]=i[o]);for(_&&_(n);a.length;)e[a.pop()]=1;r(t)}})(),t=n.x,n.x=()=>n.e(169).then(t),n.x()})()}));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ZCV=t():e.ZCV=t()}(self,(function(){return(()=>{"use strict";var e,t,r={56:(e,t,r)=>{var a,n=(a="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(e){var t,r,n;e=e||{},t||(t=void 0!==e?e:{}),t.ready=new Promise((function(e,t){r=e,n=t}));var i,_={};for(i in t)t.hasOwnProperty(i)&&(_[i]=t[i]);var o="./this.program";function s(e,t){throw t}var c,u="";u=self.location.href,a&&(u=a),u=0!==u.indexOf("blob:")?u.substr(0,u.lastIndexOf("/")+1):"",c=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)};var f,l,p=t.print||console.log.bind(console),d=t.printErr||console.warn.bind(console);for(i in _)_.hasOwnProperty(i)&&(t[i]=_[i]);_=null,t.thisProgram&&(o=t.thisProgram),t.quit&&(s=t.quit),t.wasmBinary&&(l=t.wasmBinary);var m=t.noExitRuntime||!0;"object"!=typeof WebAssembly&&K("no native wasm support detected");var h,b,g=!1;function w(e,t){e||K("Assertion failed: "+t)}function y(e){var r=t["_"+e];return w(r,"Cannot call unknown function "+e+", make sure it is exported"),r}var v,E,A,T,k,R,x,L,z,I="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function M(e,t,r){var a=t+r;for(r=t;e[r]&&!(r>=a);)++r;if(16<r-t&&e.subarray&&I)return I.decode(e.subarray(t,r));for(a="";t<r;){var n=e[t++];if(128&n){var i=63&e[t++];if(192==(224&n))a+=String.fromCharCode((31&n)<<6|i);else{var _=63&e[t++];65536>(n=224==(240&n)?(15&n)<<12|i<<6|_:(7&n)<<18|i<<12|_<<6|63&e[t++])?a+=String.fromCharCode(n):(n-=65536,a+=String.fromCharCode(55296|n>>10,56320|1023&n))}}else a+=String.fromCharCode(n)}return a}function F(e,t){return e?M(A,e,t):""}function O(e,t,r,a){if(!(0<a))return 0;var n=r;a=r+a-1;for(var i=0;i<e.length;++i){var _=e.charCodeAt(i);if(55296<=_&&57343>=_&&(_=65536+((1023&_)<<10)|1023&e.charCodeAt(++i)),127>=_){if(r>=a)break;t[r++]=_}else{if(2047>=_){if(r+1>=a)break;t[r++]=192|_>>6}else{if(65535>=_){if(r+2>=a)break;t[r++]=224|_>>12}else{if(r+3>=a)break;t[r++]=240|_>>18,t[r++]=128|_>>12&63}t[r++]=128|_>>6&63}t[r++]=128|63&_}}return t[r]=0,r-n}function P(e){for(var t=0,r=0;r<e.length;++r){var a=e.charCodeAt(r);55296<=a&&57343>=a&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++r)),127>=a?++t:t=2047>=a?t+2:65535>=a?t+3:t+4}return t}function S(e){var t=P(e)+1,r=sr(t);return r&&O(e,E,r,t),r}function D(e,t){for(var r=0;r<e.length;++r)E[t++>>0]=e.charCodeAt(r);E[t>>0]=0}function C(){var e=h.buffer;v=e,t.HEAP8=E=new Int8Array(e),t.HEAP16=T=new Int16Array(e),t.HEAP32=R=new Int32Array(e),t.HEAPU8=A=new Uint8Array(e),t.HEAPU16=k=new Uint16Array(e),t.HEAPU32=x=new Uint32Array(e),t.HEAPF32=L=new Float32Array(e),t.HEAPF64=z=new Float64Array(e)}var B,U=[],V=[],N=[],G=[];function H(){var e=t.preRun.shift();U.unshift(e)}var W=0,Y=null,X=null;function q(){W++,t.monitorRunDependencies&&t.monitorRunDependencies(W)}function Z(){if(W--,t.monitorRunDependencies&&t.monitorRunDependencies(W),0==W&&(null!==Y&&(clearInterval(Y),Y=null),X)){var e=X;X=null,e()}}function K(e){throw t.onAbort&&t.onAbort(e),d(e),g=!0,b=1,e=new WebAssembly.RuntimeError("abort("+e+"). Build with -s ASSERTIONS=1 for more info."),n(e),e}t.preloadedImages={},t.preloadedAudios={};var j,J,Q,$="zappar-cv.wasm";if(String.prototype.startsWith?!$.startsWith("data:application/octet-stream;base64,"):0!==$.indexOf("data:application/octet-stream;base64,")){var ee=$;$=t.locateFile?t.locateFile(ee,u):u+ee}function te(e){for(;0<e.length;){var r=e.shift();if("function"==typeof r)r(t);else{var a=r.Ld;"number"==typeof a?void 0===r.dd?B.get(a)():B.get(a)(r.dd):a(void 0===r.dd?null:r.dd)}}}function re(e,t){if(0===e)e=Date.now();else{if(1!==e&&4!==e)return R[ur()>>2]=28,-1;e=Q()}return R[t>>2]=e/1e3|0,R[t+4>>2]=e%1e3*1e6|0,0}function ae(e){this.Xc=e-16,this.be=function(e){R[this.Xc+8>>2]=e},this.Zd=function(e){R[this.Xc+0>>2]=e},this.$d=function(){R[this.Xc+4>>2]=0},this.Yd=function(){E[this.Xc+12>>0]=0},this.ae=function(){E[this.Xc+13>>0]=0},this.Od=function(e,t){this.be(e),this.Zd(t),this.$d(),this.Yd(),this.ae()}}function ne(e,t){for(var r=0,a=e.length-1;0<=a;a--){var n=e[a];"."===n?e.splice(a,1):".."===n?(e.splice(a,1),r++):r&&(e.splice(a,1),r--)}if(t)for(;r;r--)e.unshift("..");return e}function ie(e){var t="/"===e.charAt(0),r="/"===e.substr(-1);return(e=ne(e.split("/").filter((function(e){return!!e})),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e}function _e(e){var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1);return e=t[0],t=t[1],e||t?(t&&(t=t.substr(0,t.length-1)),e+t):"."}function oe(e){if("/"===e)return"/";var t=(e=(e=ie(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)}function se(){for(var e="",t=!1,r=arguments.length-1;-1<=r&&!t;r--){if("string"!=typeof(t=0<=r?arguments[r]:"/"))throw new TypeError("Arguments to path.resolve must be strings");if(!t)return"";e=t+"/"+e,t="/"===t.charAt(0)}return(t?"/":"")+(e=ne(e.split("/").filter((function(e){return!!e})),!t).join("/"))||"."}Q=function(){return performance.now()};var ce=[];function ue(e,t){ce[e]={input:[],Mc:[],Wc:t},Se(e,fe)}var fe={open:function(e){var t=ce[e.node.ad];if(!t)throw new Ee(43);e.Kc=t,e.seekable=!1},close:function(e){e.Kc.Wc.flush(e.Kc)},flush:function(e){e.Kc.Wc.flush(e.Kc)},read:function(e,t,r,a){if(!e.Kc||!e.Kc.Wc.yd)throw new Ee(60);for(var n=0,i=0;i<a;i++){try{var _=e.Kc.Wc.yd(e.Kc)}catch(e){throw new Ee(29)}if(void 0===_&&0===n)throw new Ee(6);if(null==_)break;n++,t[r+i]=_}return n&&(e.node.timestamp=Date.now()),n},write:function(e,t,r,a){if(!e.Kc||!e.Kc.Wc.qd)throw new Ee(60);try{for(var n=0;n<a;n++)e.Kc.Wc.qd(e.Kc,t[r+n])}catch(e){throw new Ee(29)}return a&&(e.node.timestamp=Date.now()),n}},le={yd:function(e){if(!e.input.length){var t=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(t=window.prompt("Input: "))&&(t+="\n"):"function"==typeof readline&&null!==(t=readline())&&(t+="\n"),!t)return null;e.input=nr(t,!0)}return e.input.shift()},qd:function(e,t){null===t||10===t?(p(M(e.Mc,0)),e.Mc=[]):0!=t&&e.Mc.push(t)},flush:function(e){e.Mc&&0<e.Mc.length&&(p(M(e.Mc,0)),e.Mc=[])}},pe={qd:function(e,t){null===t||10===t?(d(M(e.Mc,0)),e.Mc=[]):0!=t&&e.Mc.push(t)},flush:function(e){e.Mc&&0<e.Mc.length&&(d(M(e.Mc,0)),e.Mc=[])}},de={Pc:null,Rc:function(){return de.createNode(null,"/",16895,0)},createNode:function(e,t,r,a){if(24576==(61440&r)||4096==(61440&r))throw new Ee(63);return de.Pc||(de.Pc={dir:{node:{Oc:de.Gc.Oc,Qc:de.Gc.Qc,Zc:de.Gc.Zc,fd:de.Gc.fd,Dd:de.Gc.Dd,md:de.Gc.md,Ed:de.Gc.Ed,gd:de.Gc.gd,hd:de.Gc.hd},stream:{Uc:de.Ic.Uc}},file:{node:{Oc:de.Gc.Oc,Qc:de.Gc.Qc},stream:{Uc:de.Ic.Uc,read:de.Ic.read,write:de.Ic.write,td:de.Ic.td,zd:de.Ic.zd,Bd:de.Ic.Bd}},link:{node:{Oc:de.Gc.Oc,Qc:de.Gc.Qc,bd:de.Gc.bd},stream:{}},ud:{node:{Oc:de.Gc.Oc,Qc:de.Gc.Qc},stream:Pe}}),16384==(61440&(r=Le(e,t,r,a)).mode)?(r.Gc=de.Pc.dir.node,r.Ic=de.Pc.dir.stream,r.Hc={}):32768==(61440&r.mode)?(r.Gc=de.Pc.file.node,r.Ic=de.Pc.file.stream,r.Jc=0,r.Hc=null):40960==(61440&r.mode)?(r.Gc=de.Pc.link.node,r.Ic=de.Pc.link.stream):8192==(61440&r.mode)&&(r.Gc=de.Pc.ud.node,r.Ic=de.Pc.ud.stream),r.timestamp=Date.now(),e&&(e.Hc[t]=r,e.timestamp=r.timestamp),r},oe:function(e){return e.Hc?e.Hc.subarray?e.Hc.subarray(0,e.Jc):new Uint8Array(e.Hc):new Uint8Array(0)},vd:function(e,t){var r=e.Hc?e.Hc.length:0;r>=t||(t=Math.max(t,r*(1048576>r?2:1.125)>>>0),0!=r&&(t=Math.max(t,256)),r=e.Hc,e.Hc=new Uint8Array(t),0<e.Jc&&e.Hc.set(r.subarray(0,e.Jc),0))},Wd:function(e,t){if(e.Jc!=t)if(0==t)e.Hc=null,e.Jc=0;else{var r=e.Hc;e.Hc=new Uint8Array(t),r&&e.Hc.set(r.subarray(0,Math.min(t,e.Jc))),e.Jc=t}},Gc:{Oc:function(e){var t={};return t.Jd=8192==(61440&e.mode)?e.id:1,t.pd=e.id,t.mode=e.mode,t.Ud=1,t.uid=0,t.Md=0,t.ad=e.ad,16384==(61440&e.mode)?t.size=4096:32768==(61440&e.mode)?t.size=e.Jc:40960==(61440&e.mode)?t.size=e.link.length:t.size=0,t.Fd=new Date(e.timestamp),t.Td=new Date(e.timestamp),t.Id=new Date(e.timestamp),t.Gd=4096,t.Hd=Math.ceil(t.size/t.Gd),t},Qc:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&de.Wd(e,t.size)},Zc:function(){throw Ae[44]},fd:function(e,t,r,a){return de.createNode(e,t,r,a)},Dd:function(e,t,r){if(16384==(61440&e.mode)){try{var a=xe(t,r)}catch(e){}if(a)for(var n in a.Hc)throw new Ee(55)}delete e.parent.Hc[e.name],e.parent.timestamp=Date.now(),e.name=r,t.Hc[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},md:function(e,t){delete e.Hc[t],e.timestamp=Date.now()},Ed:function(e,t){var r,a=xe(e,t);for(r in a.Hc)throw new Ee(55);delete e.Hc[t],e.timestamp=Date.now()},gd:function(e){var t,r=[".",".."];for(t in e.Hc)e.Hc.hasOwnProperty(t)&&r.push(t);return r},hd:function(e,t,r){return(e=de.createNode(e,t,41471,0)).link=r,e},bd:function(e){if(40960!=(61440&e.mode))throw new Ee(28);return e.link}},Ic:{read:function(e,t,r,a,n){var i=e.node.Hc;if(n>=e.node.Jc)return 0;if(8<(e=Math.min(e.node.Jc-n,a))&&i.subarray)t.set(i.subarray(n,n+e),r);else for(a=0;a<e;a++)t[r+a]=i[n+a];return e},write:function(e,t,r,a,n,i){if(t.buffer===E.buffer&&(i=!1),!a)return 0;if((e=e.node).timestamp=Date.now(),t.subarray&&(!e.Hc||e.Hc.subarray)){if(i)return e.Hc=t.subarray(r,r+a),e.Jc=a;if(0===e.Jc&&0===n)return e.Hc=t.slice(r,r+a),e.Jc=a;if(n+a<=e.Jc)return e.Hc.set(t.subarray(r,r+a),n),a}if(de.vd(e,n+a),e.Hc.subarray&&t.subarray)e.Hc.set(t.subarray(r,r+a),n);else for(i=0;i<a;i++)e.Hc[n+i]=t[r+i];return e.Jc=Math.max(e.Jc,n+a),a},Uc:function(e,t,r){if(1===r?t+=e.position:2===r&&32768==(61440&e.node.mode)&&(t+=e.node.Jc),0>t)throw new Ee(28);return t},td:function(e,t,r){de.vd(e.node,t+r),e.node.Jc=Math.max(e.node.Jc,t+r)},zd:function(e,t,r,a,n,i){if(0!==t)throw new Ee(28);if(32768!=(61440&e.node.mode))throw new Ee(43);if(e=e.node.Hc,2&i||e.buffer!==v){for((0<a||a+r<e.length)&&(e=e.subarray?e.subarray(a,a+r):Array.prototype.slice.call(e,a,a+r)),a=!0,i=16384*Math.ceil(r/16384),t=sr(i);r<i;)E[t+r++]=0;if(!(r=t))throw new Ee(48);E.set(e,r)}else a=!1,r=e.byteOffset;return{Xc:r,ke:a}},Bd:function(e,t,r,a,n){if(32768!=(61440&e.node.mode))throw new Ee(43);return 2&n||de.Ic.write(e,t,0,a,r,!1),0}}},me=null,he={},be=[],ge=1,we=null,ye=!0,ve={},Ee=null,Ae={};function Te(e,t){if(t=t||{},!(e=se("/",e)))return{path:"",node:null};var r,a={wd:!0,rd:0};for(r in a)void 0===t[r]&&(t[r]=a[r]);if(8<t.rd)throw new Ee(32);e=ne(e.split("/").filter((function(e){return!!e})),!1);var n=me;for(a="/",r=0;r<e.length;r++){var i=r===e.length-1;if(i&&t.parent)break;if(n=xe(n,e[r]),a=ie(a+"/"+e[r]),n.$c&&(!i||i&&t.wd)&&(n=n.$c.root),!i||t.ed)for(i=0;40960==(61440&n.mode);)if(n=Ne(a),n=Te(a=se(_e(a),n),{rd:t.rd}).node,40<i++)throw new Ee(32)}return{path:a,node:n}}function ke(e){for(var t;;){if(e===e.parent)return e=e.Rc.Ad,t?"/"!==e[e.length-1]?e+"/"+t:e+t:e;t=t?e.name+"/"+t:e.name,e=e.parent}}function Re(e,t){for(var r=0,a=0;a<t.length;a++)r=(r<<5)-r+t.charCodeAt(a)|0;return(e+r>>>0)%we.length}function xe(e,t){var r;if(r=(r=Me(e,"x"))?r:e.Gc.Zc?0:2)throw new Ee(r,e);for(r=we[Re(e.id,t)];r;r=r.Vc){var a=r.name;if(r.parent.id===e.id&&a===t)return r}return e.Gc.Zc(e,t)}function Le(e,t,r,a){return t=Re((e=new ar(e,t,r,a)).parent.id,e.name),e.Vc=we[t],we[t]=e}var ze={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090};function Ie(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t}function Me(e,t){return ye||(-1===t.indexOf("r")||292&e.mode)&&(-1===t.indexOf("w")||146&e.mode)&&(-1===t.indexOf("x")||73&e.mode)?0:2}function Fe(e,t){try{return xe(e,t),20}catch(e){}return Me(e,"wx")}var Oe,Pe={open:function(e){e.Ic=he[e.node.ad].Ic,e.Ic.open&&e.Ic.open(e)},Uc:function(){throw new Ee(70)}};function Se(e,t){he[e]={Ic:t}}function De(e,t){var r="/"===t,a=!t;if(r&&me)throw new Ee(10);if(!r&&!a){var n=Te(t,{wd:!1});if(t=n.path,(n=n.node).$c)throw new Ee(10);if(16384!=(61440&n.mode))throw new Ee(54)}t={type:e,se:{},Ad:t,Sd:[]},(e=e.Rc(t)).Rc=t,t.root=e,r?me=e:n&&(n.$c=t,n.Rc&&n.Rc.Sd.push(t))}function Ce(e,t,r){var a=Te(e,{parent:!0}).node;if(!(e=oe(e))||"."===e||".."===e)throw new Ee(28);var n=Fe(a,e);if(n)throw new Ee(n);if(!a.Gc.fd)throw new Ee(63);return a.Gc.fd(a,e,t,r)}function Be(e){return Ce(e,16895,0)}function Ue(e,t,r){void 0===r&&(r=t,t=438),Ce(e,8192|t,r)}function Ve(e,t){if(!se(e))throw new Ee(44);var r=Te(t,{parent:!0}).node;if(!r)throw new Ee(44);var a=Fe(r,t=oe(t));if(a)throw new Ee(a);if(!r.Gc.hd)throw new Ee(63);r.Gc.hd(r,t,e)}function Ne(e){if(!(e=Te(e).node))throw new Ee(44);if(!e.Gc.bd)throw new Ee(28);return se(ke(e.parent),e.Gc.bd(e))}function Ge(e,t){if(!(e=Te(e,{ed:!t}).node))throw new Ee(44);if(!e.Gc.Oc)throw new Ee(63);return e.Gc.Oc(e)}function He(e){return Ge(e,!0)}function We(e,r,a,n){if(""===e)throw new Ee(44);if("string"==typeof r){var i=ze[r];if(void 0===i)throw Error("Unknown file open mode: "+r);r=i}if(a=64&r?4095&(void 0===a?438:a)|32768:0,"object"==typeof e)var _=e;else{e=ie(e);try{_=Te(e,{ed:!(131072&r)}).node}catch(e){}}if(i=!1,64&r)if(_){if(128&r)throw new Ee(20)}else _=Ce(e,a,0),i=!0;if(!_)throw new Ee(44);if(8192==(61440&_.mode)&&(r&=-513),65536&r&&16384!=(61440&_.mode))throw new Ee(54);if(!i&&(a=_?40960==(61440&_.mode)?32:16384==(61440&_.mode)&&("r"!==Ie(r)||512&r)?31:Me(_,Ie(r)):44))throw new Ee(a);if(512&r){if(!(a="string"==typeof(a=_)?Te(a,{ed:!0}).node:a).Gc.Qc)throw new Ee(63);if(16384==(61440&a.mode))throw new Ee(31);if(32768!=(61440&a.mode))throw new Ee(28);if(i=Me(a,"w"))throw new Ee(i);a.Gc.Qc(a,{size:0,timestamp:Date.now()})}r&=-131713,(n=function(e,t){Ke||((Ke=function(){}).prototype={});var r,a=new Ke;for(r in e)a[r]=e[r];return e=a,t=function(e){for(e=e||0;e<=4096;e++)if(!be[e])return e;throw new Ee(33)}(t),e.Sc=t,be[t]=e}({node:_,path:ke(_),flags:r,seekable:!0,position:0,Ic:_.Ic,ge:[],error:!1},n)).Ic.open&&n.Ic.open(n),!t.logReadFiles||1&r||(je||(je={}),e in je||(je[e]=1,d("FS.trackingDelegate error on read file: "+e)));try{ve.onOpenFile&&(_=0,1!=(2097155&r)&&(_|=1),0!=(2097155&r)&&(_|=2),ve.onOpenFile(e,_))}catch(t){d("FS.trackingDelegate['onOpenFile']('"+e+"', flags) threw an exception: "+t.message)}return n}function Ye(e,t,r){if(null===e.Sc)throw new Ee(8);if(!e.seekable||!e.Ic.Uc)throw new Ee(70);if(0!=r&&1!=r&&2!=r)throw new Ee(28);return e.position=e.Ic.Uc(e,t,r),e.ge=[],e.position}function Xe(){Ee||((Ee=function(e,t){this.node=t,this.Xd=function(e){this.Lc=e},this.Xd(e),this.message="FS error"}).prototype=Error(),Ee.prototype.constructor=Ee,[44].forEach((function(e){Ae[e]=new Ee(e),Ae[e].stack="<generic error, no stack>"})))}function qe(e,t,r){e=ie("/dev/"+e);var a=function(e,t){var r=0;return e&&(r|=365),t&&(r|=146),r}(!!t,!!r);Ze||(Ze=64);var n=Ze++<<8|0;Se(n,{open:function(e){e.seekable=!1},close:function(){r&&r.buffer&&r.buffer.length&&r(10)},read:function(e,r,a,n){for(var i=0,_=0;_<n;_++){try{var o=t()}catch(e){throw new Ee(29)}if(void 0===o&&0===i)throw new Ee(6);if(null==o)break;i++,r[a+_]=o}return i&&(e.node.timestamp=Date.now()),i},write:function(e,t,a,n){for(var i=0;i<n;i++)try{r(t[a+i])}catch(e){throw new Ee(29)}return n&&(e.node.timestamp=Date.now()),i}}),Ue(e,a,n)}var Ze,Ke,je,Je={};function Qe(e,t,r){try{var a=e(t)}catch(e){if(e&&e.node&&ie(t)!==ie(ke(e.node)))return-54;throw e}return R[r>>2]=a.Jd,R[r+4>>2]=0,R[r+8>>2]=a.pd,R[r+12>>2]=a.mode,R[r+16>>2]=a.Ud,R[r+20>>2]=a.uid,R[r+24>>2]=a.Md,R[r+28>>2]=a.ad,R[r+32>>2]=0,J=[a.size>>>0,(j=a.size,1<=+Math.abs(j)?0<j?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],R[r+40>>2]=J[0],R[r+44>>2]=J[1],R[r+48>>2]=4096,R[r+52>>2]=a.Hd,R[r+56>>2]=a.Fd.getTime()/1e3|0,R[r+60>>2]=0,R[r+64>>2]=a.Td.getTime()/1e3|0,R[r+68>>2]=0,R[r+72>>2]=a.Id.getTime()/1e3|0,R[r+76>>2]=0,J=[a.pd>>>0,(j=a.pd,1<=+Math.abs(j)?0<j?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],R[r+80>>2]=J[0],R[r+84>>2]=J[1],0}var $e=void 0;function et(){return R[($e+=4)-4>>2]}function tt(e){if(!(e=be[e]))throw new Ee(8);return e}function rt(e){try{e()}catch(e){if(!(e instanceof br)&&"unwind"!==e)throw e&&"object"==typeof e&&e.stack&&d("exception thrown: "+[e,e.stack]),e}}var at,nt,it,_t=!1,ot=null,st=0,ct=null,ut=0,ft=0,lt=0,pt=[],dt={},mt=!1,ht=!1,bt=[];function gt(e,r,a,n){if(r&&t.od&&e==t.canvas)return t.od;var i;if(r){var _={antialias:!1,alpha:!1,Rd:1};if(n)for(var o in n)_[o]=n[o];if(void 0!==jt&&(i=function(e,t){e.xd||(e.xd=e.getContext,e.getContext=function(t,r){return"webgl"==t==(r=e.xd(t,r))instanceof WebGLRenderingContext?r:null});var r=e.getContext("webgl",t);return r?function(e,t){var r=Xt(Yt),a={pe:r,attributes:t,version:t.Rd,nd:e};return e.canvas&&(e.canvas.ie=a),Yt[r]=a,(void 0===t.Kd||t.Kd)&&function(e){if(e||(e=Zt),!e.Pd){e.Pd=!0;var t=e.nd;!function(e){var t=e.getExtension("ANGLE_instanced_arrays");t&&(e.vertexAttribDivisor=function(e,r){t.vertexAttribDivisorANGLE(e,r)},e.drawArraysInstanced=function(e,r,a,n){t.drawArraysInstancedANGLE(e,r,a,n)},e.drawElementsInstanced=function(e,r,a,n,i){t.drawElementsInstancedANGLE(e,r,a,n,i)})}(t),function(e){var t=e.getExtension("OES_vertex_array_object");t&&(e.createVertexArray=function(){return t.createVertexArrayOES()},e.deleteVertexArray=function(e){t.deleteVertexArrayOES(e)},e.bindVertexArray=function(e){t.bindVertexArrayOES(e)},e.isVertexArray=function(e){return t.isVertexArrayOES(e)})}(t),function(e){var t=e.getExtension("WEBGL_draw_buffers");t&&(e.drawBuffers=function(e,r){t.drawBuffersWEBGL(e,r)})}(t),t.me=t.getExtension("EXT_disjoint_timer_query"),t.qe=t.getExtension("WEBGL_multi_draw"),(t.getSupportedExtensions()||[]).forEach((function(e){0>e.indexOf("lose_context")&&0>e.indexOf("debug")&&t.getExtension(e)}))}}(a),r}(r,t):0}(e,_)))var s=Yt[i].nd}else s=e.getContext("2d");return s?(a&&(r||w(void 0===$t,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),t.od=s,r&&(Zt=Yt[i],t.od=$t=Zt&&Zt.nd),t.ue=r,bt.forEach((function(e){e()})),function(){function e(){ht=document.pointerLockElement===t.canvas||document.mozPointerLockElement===t.canvas||document.webkitPointerLockElement===t.canvas||document.msPointerLockElement===t.canvas}if(t.preloadPlugins||(t.preloadPlugins=[]),!xt){xt=!0;try{Lt=!0}catch(e){Lt=!1,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}zt="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:Lt?null:console.log("warning: no BlobBuilder"),It="undefined"!=typeof window?window.URL?window.URL:window.webkitURL:void 0,t.Cd||void 0!==It||(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),t.Cd=!0),t.preloadPlugins.push({canHandle:function(e){return!t.Cd&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},handle:function(e,r,a,n){var i=null;if(Lt)try{(i=new Blob([e],{type:Rt(r)})).size!==e.length&&(i=new Blob([new Uint8Array(e).buffer],{type:Rt(r)}))}catch(e){!function(e){f||(f={}),f[e]||(f[e]=1,d(e))}("Blob constructor present but fails: "+e+"; falling back to blob builder")}i||((i=new zt).append(new Uint8Array(e).buffer),i=i.getBlob());var _=It.createObjectURL(i),o=new Image;o.onload=function(){w(o.complete,"Image "+r+" could not be decoded");var n=document.createElement("canvas");n.width=o.width,n.height=o.height,n.getContext("2d").drawImage(o,0,0),t.preloadedImages[r]=n,It.revokeObjectURL(_),a&&a(e)},o.onerror=function(){console.log("Image "+_+" could not be decoded"),n&&n()},o.src=_}}),t.preloadPlugins.push({canHandle:function(e){return!t.re&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(e,r,a,n){function i(n){o||(o=!0,t.preloadedAudios[r]=n,a&&a(e))}function _(){o||(o=!0,t.preloadedAudios[r]=new Audio,n&&n())}var o=!1;if(!Lt)return _();try{var s=new Blob([e],{type:Rt(r)})}catch(e){return _()}s=It.createObjectURL(s);var c=new Audio;c.addEventListener("canplaythrough",(function(){i(c)}),!1),c.onerror=function(){if(!o){console.log("warning: browser could not fully decode audio "+r+", trying slower base64 approach");for(var t="",a=0,n=0,_=0;_<e.length;_++)for(a=a<<8|e[_],n+=8;6<=n;){var s=a>>n-6&63;n-=6,t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[s]}2==n?(t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(3&a)<<4],t+="=="):4==n&&(t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(15&a)<<2],t+="="),c.src="data:audio/x-"+r.substr(-3)+";base64,"+t,i(c)}},c.src=s,kt((function(){i(c)}),1e4)}});var r=t.canvas;r&&(r.requestPointerLock=r.requestPointerLock||r.mozRequestPointerLock||r.webkitRequestPointerLock||r.msRequestPointerLock||function(){},r.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},r.exitPointerLock=r.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",e,!1),document.addEventListener("mozpointerlockchange",e,!1),document.addEventListener("webkitpointerlockchange",e,!1),document.addEventListener("mspointerlockchange",e,!1),t.elementPointerLock&&r.addEventListener("click",(function(e){!ht&&t.canvas.requestPointerLock&&(t.canvas.requestPointerLock(),e.preventDefault())}),!1))}}()),s):null}var wt=!1,yt=void 0,vt=void 0;function Et(){return!!mt&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){}).apply(document,[]),!0)}var At=0;function Tt(e){if("function"==typeof requestAnimationFrame)requestAnimationFrame(e);else{var t=Date.now();if(0===At)At=t+1e3/60;else for(;t+2>=At;)At+=1e3/60;setTimeout(e,Math.max(At-t,0))}}function kt(e,t){setTimeout((function(){rt(e)}),t)}function Rt(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]}var xt,Lt,zt,It,Mt=[];function Ft(){var e=t.canvas;Mt.forEach((function(t){t(e.width,e.height)}))}function Ot(e,r,a){r&&a?(e.he=r,e.Nd=a):(r=e.he,a=e.Nd);var n=r,i=a;if(t.forcedAspectRatio&&0<t.forcedAspectRatio&&(n/i<t.forcedAspectRatio?n=Math.round(i*t.forcedAspectRatio):i=Math.round(n/t.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var _=Math.min(screen.width/n,screen.height/i);n=Math.round(n*_),i=Math.round(i*_)}vt?(e.width!=n&&(e.width=n),e.height!=i&&(e.height=i),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=r&&(e.width=r),e.height!=a&&(e.height=a),void 0!==e.style&&(n!=r||i!=a?(e.style.setProperty("width",n+"px","important"),e.style.setProperty("height",i+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}function Pt(){return!1}t._emscripten_is_main_browser_thread=Pt;var St,Dt=[];function Ct(e,t){x[e>>2]=t,x[e+4>>2]=t/4294967296|0}function Bt(e,t,r,a,n){function i(t){var r=0,a=0;t&&(a=y.response?y.response.byteLength:0,r=sr(a),A.set(new Uint8Array(y.response),r)),x[e+12>>2]=r,Ct(e+16,a)}var _=x[e+8>>2];if(_){var o=F(_),s=e+112,c=F(s);c||(c="GET");var u=x[s+52>>2],f=x[s+56>>2],l=!!x[s+60>>2],p=x[s+68>>2],d=x[s+72>>2];_=x[s+76>>2];var m=x[s+80>>2],h=x[s+84>>2];s=x[s+88>>2];var b=!!(1&u),g=!!(2&u);u=!!(64&u),p=p?F(p):void 0,d=d?F(d):void 0;var w=m?F(m):void 0,y=new XMLHttpRequest;if(y.withCredentials=l,y.open(c,o,!u,p,d),u||(y.timeout=f),y.je=o,y.responseType="arraybuffer",m&&y.overrideMimeType(w),_)for(;(c=x[_>>2])&&(o=x[_+4>>2]);)_+=8,c=F(c),o=F(o),y.setRequestHeader(c,o);Dt.push(y),x[e+0>>2]=Dt.length,_=h&&s?A.slice(h,h+s):null,y.onload=function(a){i(b&&!g);var n=y.response?y.response.byteLength:0;Ct(e+24,0),n&&Ct(e+32,n),k[e+40>>1]=y.readyState,k[e+42>>1]=y.status,y.statusText&&O(y.statusText,A,e+44,64),200<=y.status&&300>y.status?t&&t(e,y,a):r&&r(e,y,a)},y.onerror=function(t){i(b);var a=y.status;Ct(e+24,0),Ct(e+32,y.response?y.response.byteLength:0),k[e+40>>1]=y.readyState,k[e+42>>1]=a,r&&r(e,y,t)},y.ontimeout=function(t){r&&r(e,y,t)},y.onprogress=function(t){var r=b&&g&&y.response?y.response.byteLength:0,n=0;b&&g&&(n=sr(r),A.set(new Uint8Array(y.response),n)),x[e+12>>2]=n,Ct(e+16,r),Ct(e+24,t.loaded-r),Ct(e+32,t.total),k[e+40>>1]=y.readyState,3<=y.readyState&&0===y.status&&0<t.loaded&&(y.status=200),k[e+42>>1]=y.status,y.statusText&&O(y.statusText,A,e+44,64),a&&a(e,y,t),n&&or(n)},y.onreadystatechange=function(t){k[e+40>>1]=y.readyState,2<=y.readyState&&(k[e+42>>1]=y.status),n&&n(e,y,t)};try{y.send(_)}catch(t){r&&r(e,y,t)}}else r(e,0,"no url specified!")}function Ut(e,t,r,a){var n=St;if(n){var i=x[e+112+64>>2];i||(i=x[e+8>>2]);var _=F(i);try{var o=n.transaction(["FILES"],"readwrite").objectStore("FILES").put(t,_);o.onsuccess=function(){k[e+40>>1]=4,k[e+42>>1]=200,O("OK",A,e+44,64),r(e,0,_)},o.onerror=function(t){k[e+40>>1]=4,k[e+42>>1]=413,O("Payload Too Large",A,e+44,64),a(e,0,t)}}catch(t){a(e,0,t)}}else a(e,0,"IndexedDB not available!")}var Vt,Nt={};function Gt(){if(!Vt){var e,t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:o||"./this.program"};for(e in Nt)t[e]=Nt[e];var r=[];for(e in t)r.push(e+"="+t[e]);Vt=r}return Vt}var Ht=1,Wt=[],Yt=[];function Xt(e){for(var t=Ht++,r=e.length;r<t;r++)e[r]=null;return t}var qt,Zt,Kt,jt={};function Jt(e){return 0==e%4&&(0!=e%100||0==e%400)}function Qt(e,t){for(var r=0,a=0;a<=t;r+=e[a++]);return r}var $t,er=[31,29,31,30,31,30,31,31,30,31,30,31],tr=[31,28,31,30,31,30,31,31,30,31,30,31];function rr(e,t){for(e=new Date(e.getTime());0<t;){var r=e.getMonth(),a=(Jt(e.getFullYear())?er:tr)[r];if(!(t>a-e.getDate())){e.setDate(e.getDate()+t);break}t-=a-e.getDate()+1,e.setDate(1),11>r?e.setMonth(r+1):(e.setMonth(0),e.setFullYear(e.getFullYear()+1))}return e}function ar(e,t,r,a){e||(e=this),this.parent=e,this.Rc=e.Rc,this.$c=null,this.id=ge++,this.name=t,this.mode=r,this.Gc={},this.Ic={},this.ad=a}function nr(e,t){var r=Array(P(e)+1);return e=O(e,r,0,r.length),t&&(r.length=e),r}Object.defineProperties(ar.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}}}),Xe(),we=Array(4096),De(de,"/"),Be("/tmp"),Be("/home"),Be("/home/web_user"),function(){Be("/dev"),Se(259,{read:function(){return 0},write:function(e,t,r,a){return a}}),Ue("/dev/null",259),ue(1280,le),ue(1536,pe),Ue("/dev/tty",1280),Ue("/dev/tty1",1536);var e=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}return function(){K("randomDevice")}}();qe("random",e),qe("urandom",e),Be("/dev/shm"),Be("/dev/shm/tmp")}(),function(){Be("/proc");var e=Be("/proc/self");Be("/proc/self/fd"),De({Rc:function(){var t=Le(e,"fd",16895,73);return t.Gc={Zc:function(e,t){var r=be[+t];if(!r)throw new Ee(8);return(e={parent:null,Rc:{Ad:"fake"},Gc:{bd:function(){return r.path}}}).parent=e}},t}},"/proc/self/fd")}(),t.requestFullscreen=function(e,r){!function(e,r){function a(){mt=!1;var e=n.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e?(n.exitFullscreen=Et,yt&&n.requestPointerLock(),mt=!0,vt?("undefined"!=typeof SDL&&(R[SDL.screen>>2]=8388608|x[SDL.screen>>2]),Ot(t.canvas),Ft()):Ot(n)):(e.parentNode.insertBefore(n,e),e.parentNode.removeChild(e),vt?("undefined"!=typeof SDL&&(R[SDL.screen>>2]=-8388609&x[SDL.screen>>2]),Ot(t.canvas),Ft()):Ot(n)),t.onFullScreen&&t.onFullScreen(mt),t.onFullscreen&&t.onFullscreen(mt)}void 0===(yt=e)&&(yt=!0),void 0===(vt=r)&&(vt=!1);var n=t.canvas;wt||(wt=!0,document.addEventListener("fullscreenchange",a,!1),document.addEventListener("mozfullscreenchange",a,!1),document.addEventListener("webkitfullscreenchange",a,!1),document.addEventListener("MSFullscreenChange",a,!1));var i=document.createElement("div");n.parentNode.insertBefore(i,n),i.appendChild(n),i.requestFullscreen=i.requestFullscreen||i.mozRequestFullScreen||i.msRequestFullscreen||(i.webkitRequestFullscreen?function(){i.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(i.webkitRequestFullScreen?function(){i.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),i.requestFullscreen()}(e,r)},t.requestAnimationFrame=function(e){Tt(e)},t.setCanvasSize=function(e,r,a){Ot(t.canvas,e,r),a||Ft()},t.pauseMainLoop=function(){ot=null,st++},t.resumeMainLoop=function(){st++;var e=ut,r=ft,a=ct;ct=null,function(e){function r(){if(a<st){if(!m)try{wr(b)}catch(e){if(!(e instanceof br))throw e}return!1}return!0}w(!ct,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),ct=e;var a=st;_t=!1,nt=function(){if(!g)if(0<pt.length){var a=Date.now(),n=pt.shift();if(n.Ld(n.dd),it){var i=it,_=0==i%1?i-1:Math.floor(i);it=n.le?_:(8*i+(_+.5))/9}console.log('main loop blocker "'+n.name+'" took '+(Date.now()-a)+" ms"),t.setStatus&&(a=t.statusMessage||"Please wait...",i=dt.ne,(n=it)?n<i?t.setStatus(a+" ("+(i-n)+"/"+i+")"):t.setStatus(a):t.setStatus("")),r()&&setTimeout(nt,0)}else r()&&(lt=lt+1|0,1==ut&&1<ft&&0!=lt%ft?ot():(0==ut&&(at=Q()),g||t.preMainLoop&&!1===t.preMainLoop()||(rt(e),t.postMainLoop&&t.postMainLoop()),r()&&("object"==typeof SDL&&SDL.audio&&SDL.audio.Vd&&SDL.audio.Vd(),ot())))}}(a),function(e,r){if(ut=e,ft=r,ct)if(_t||(_t=!0),0==e)ot=function(){var e=0|Math.max(0,at+r-Q());setTimeout(nt,e)};else if(1==e)ot=function(){Tt(nt)};else if(2==e){if("undefined"==typeof setImmediate){var a=[];addEventListener("message",(function(e){"setimmediate"!==e.data&&"setimmediate"!==e.data.target||(e.stopPropagation(),a.shift()())}),!0),setImmediate=function(e){a.push(e),void 0===t.setImmediates&&(t.setImmediates=[]),t.setImmediates.push(e),postMessage({target:"setimmediate"})}}ot=function(){setImmediate(nt)}}}(e,r),ot()},t.getUserMedia=function(){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(void 0)},t.createContext=function(e,t,r,a){return gt(e,t,r,a)},function(e,t){try{var r=indexedDB.open("emscripten_filesystem",1)}catch(e){return void t()}r.onupgradeneeded=function(e){(e=e.target.result).objectStoreNames.contains("FILES")&&e.deleteObjectStore("FILES"),e.createObjectStore("FILES")},r.onsuccess=function(e){!function(e){St=e,Z()}(e.target.result)},r.onerror=function(e){t()}}(0,(function(){St=!1,Z()})),"undefined"!=typeof ENVIRONMENT_IS_FETCH_WORKER&&ENVIRONMENT_IS_FETCH_WORKER||q();var ir={D:function(e,t){return re(e,t)},a:function(e){return sr(e+16)+16},b:function(e,t,r){throw new ae(e).Od(t,r),e},e:function(e,t,r){$e=r;try{var a=tt(e);switch(t){case 0:var n=et();return 0>n?-28:We(a.path,a.flags,0,n).Sc;case 1:case 2:case 13:case 14:return 0;case 3:return a.flags;case 4:return n=et(),a.flags|=n,0;case 12:return n=et(),T[n+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return R[ur()>>2]=28,-1}}catch(e){return void 0!==Je&&e instanceof Ee||K(e),-e.Lc}},E:function(e,t,r){try{var a=tt(e);if(!a.Tc){var n=Te(a.path,{ed:!0}).node;if(!n.Gc.gd)throw new Ee(54);var i=n.Gc.gd(n);a.Tc=i}e=0;for(var _=Ye(a,0,1),o=Math.floor(_/280);o<a.Tc.length&&e+280<=r;){var s=a.Tc[o];if("."===s[0])var c=1,u=4;else{var f=xe(a.node,s);c=f.id,u=8192==(61440&f.mode)?2:16384==(61440&f.mode)?4:40960==(61440&f.mode)?10:8}J=[c>>>0,(j=c,1<=+Math.abs(j)?0<j?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],R[t+e>>2]=J[0],R[t+e+4>>2]=J[1],J=[280*(o+1)>>>0,(j=280*(o+1),1<=+Math.abs(j)?0<j?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],R[t+e+8>>2]=J[0],R[t+e+12>>2]=J[1],T[t+e+16>>1]=280,E[t+e+18>>0]=u,O(s,A,t+e+19,256),e+=280,o+=1}return Ye(a,280*o,0),e}catch(e){return void 0!==Je&&e instanceof Ee||K(e),-e.Lc}},n:function(){return 42},J:function(e,t,r){$e=r;try{var a=tt(e);switch(t){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return a.Kc?0:-59;case 21519:if(!a.Kc)return-59;var n=et();return R[n>>2]=0;case 21520:return a.Kc?-28:-59;case 21531:if(e=n=et(),!a.Ic.Qd)throw new Ee(59);return a.Ic.Qd(a,t,e);default:K("bad ioctl syscall "+t)}}catch(e){return void 0!==Je&&e instanceof Ee||K(e),-e.Lc}},I:function(e,t){try{return Qe(He,e=F(e),t)}catch(e){return void 0!==Je&&e instanceof Ee||K(e),-e.Lc}},p:function(e,t,r){$e=r;try{return We(F(e),t,r?et():0).Sc}catch(e){return void 0!==Je&&e instanceof Ee||K(e),-e.Lc}},F:function(e,t){try{return Qe(Ge,e=F(e),t)}catch(e){return void 0!==Je&&e instanceof Ee||K(e),-e.Lc}},H:function(e,t){try{return Ve(e=F(e),t=F(t)),0}catch(e){return void 0!==Je&&e instanceof Ee||K(e),-e.Lc}},K:function(e){try{if(!e)return-21;var t={__size__:390,domainname:325,machine:260,nodename:65,release:130,sysname:0,version:195};return D("Emscripten",e+t.sysname),D("emscripten",e+t.nodename),D("1.0",e+t.release),D("#1",e+t.version),D("wasm32",e+t.machine),0}catch(e){return void 0!==Je&&e instanceof Ee||K(e),-e.Lc}},G:function(e){try{var t=Te(e=F(e),{parent:!0}).node,r=oe(e),a=xe(t,r);e:{try{var n=xe(t,r)}catch(e){var i=e.Lc;break e}i=Me(t,"wx")||(16384==(61440&n.mode)?31:0)}if(i)throw new Ee(i);if(!t.Gc.md)throw new Ee(63);if(a.$c)throw new Ee(10);try{ve.willDeletePath&&ve.willDeletePath(e)}catch(t){d("FS.trackingDelegate['willDeletePath']('"+e+"') threw an exception: "+t.message)}t.Gc.md(t,r);var _=Re(a.parent.id,a.name);if(we[_]===a)we[_]=a.Vc;else for(var o=we[_];o;){if(o.Vc===a){o.Vc=a.Vc;break}o=o.Vc}try{ve.onDeletePath&&ve.onDeletePath(e)}catch(t){d("FS.trackingDelegate['onDeletePath']('"+e+"') threw an exception: "+t.message)}return 0}catch(e){return void 0!==Je&&e instanceof Ee||K(e),-e.Lc}},L:function(e){delete Dt[e-1]},c:function(){K()},h:re,P:function(e,t){return e-t},R:function(){self.postMessage({t:"gfx"})},u:function(){var e=new URL(location.origin).hostname;if(0===e.length&&(e=new URL(location.href.replace("blob:","")).hostname),/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(e))0===e.indexOf("10.")&&(e="10.*"),0===e.indexOf("192.168.")&&(e="192.168.*"),0===e.indexOf("172.")&&(e="172.*"),0===e.indexOf("127.")&&(e="127.*");else{var t=new RegExp("("+String.fromCharCode(92)+".ngrok"+String.fromCharCode(92)+".io)$","i");t.test(e)&&(e="*.ngrok.io"),(t=new RegExp("("+String.fromCharCode(92)+".ngrok-free"+String.fromCharCode(92)+".app)$","i")).test(e)&&(e="*.ngrok.io"),(t=new RegExp("("+String.fromCharCode(92)+".arweb"+String.fromCharCode(92)+".app)$","i")).test(e)&&(e="*.arweb.app")}t=P(e)+1;var r=sr(t);return O(e,A,r,t+1),r},t:function(){self.postMessage({t:"licerr"})},l:function(e,t,r){function a(){B.get(e)(t)}0<=r?kt(a,r):function(e){Tt((function(){rt(e)}))}(a)},y:function(){return 2147483648},N:Pt,w:function(e,t,r){A.copyWithin(e,t,t+r)},x:function(e){var t=A.length;if(2147483648<e)return!1;for(var r=1;4>=r;r*=2){var a=t*(1+.2/r);a=Math.min(a,e+100663296),0<(a=Math.max(e,a))%65536&&(a+=65536-a%65536);e:{try{h.grow(Math.min(2147483648,a)-v.byteLength+65535>>>16),C();var n=1;break e}catch(e){}n=void 0}if(n)return!0}return!1},M:function(e,t,r,a,n){function i(e,r){Ut(e,r.response,(function(e){rt((function(){l?B.get(l)(e):t&&t(e)}))}),(function(e){rt((function(){l?B.get(l)(e):t&&t(e)}))}))}function _(e){rt((function(){m?B.get(m)(e):n&&n(e)}))}function o(e){rt((function(){p?B.get(p)(e):r&&r(e)}))}function s(e){rt((function(){d?B.get(d)(e):a&&a(e)}))}function c(e){rt((function(){l?B.get(l)(e):t&&t(e)}))}var u=e+112,f=F(u),l=x[u+36>>2],p=x[u+40>>2],d=x[u+44>>2],m=x[u+48>>2],h=x[u+52>>2],b=!!(4&h),g=!!(32&h);if(h=!!(16&h),"EM_IDB_STORE"===f)f=x[u+84>>2],Ut(e,A.slice(f,f+x[u+88>>2]),c,o);else if("EM_IDB_DELETE"===f)!function(e,t,r){var a=St;if(a){var n=x[e+112+64>>2];n||(n=x[e+8>>2]),n=F(n);try{var i=a.transaction(["FILES"],"readwrite").objectStore("FILES").delete(n);i.onsuccess=function(r){r=r.target.result,x[e+12>>2]=0,Ct(e+16,0),Ct(e+24,0),Ct(e+32,0),k[e+40>>1]=4,k[e+42>>1]=200,O("OK",A,e+44,64),t(e,0,r)},i.onerror=function(t){k[e+40>>1]=4,k[e+42>>1]=404,O("Not Found",A,e+44,64),r(e,0,t)}}catch(t){r(e,0,t)}}else r(e,0,"IndexedDB not available!")}(e,c,o);else if(h){if(g)return 0;Bt(e,b?i:c,o,s,_)}else!function(e,t,r){var a=St;if(a){var n=x[e+112+64>>2];n||(n=x[e+8>>2]),n=F(n);try{var i=a.transaction(["FILES"],"readonly").objectStore("FILES").get(n);i.onsuccess=function(a){if(a.target.result){var n=(a=a.target.result).byteLength||a.length,i=sr(n);A.set(new Uint8Array(a),i),x[e+12>>2]=i,Ct(e+16,n),Ct(e+24,0),Ct(e+32,n),k[e+40>>1]=4,k[e+42>>1]=200,O("OK",A,e+44,64),t(e,0,a)}else k[e+40>>1]=4,k[e+42>>1]=404,O("Not Found",A,e+44,64),r(e,0,"no data")},i.onerror=function(t){k[e+40>>1]=4,k[e+42>>1]=404,O("Not Found",A,e+44,64),r(e,0,t)}}catch(t){r(e,0,t)}}else r(e,0,"IndexedDB not available!")}(e,c,g?o:b?function(e){Bt(e,i,o,s,_)}:function(e){Bt(e,c,o,s,_)});return e},B:function(e,t){try{var r=0;return Gt().forEach((function(a,n){var i=t+r;R[e+4*n>>2]=i,D(a,i),r+=a.length+1})),0}catch(e){return void 0!==Je&&e instanceof Ee||K(e),e.Lc}},C:function(e,t){try{var r=Gt();R[e>>2]=r.length;var a=0;return r.forEach((function(e){a+=e.length+1})),R[t>>2]=a,0}catch(e){return void 0!==Je&&e instanceof Ee||K(e),e.Lc}},O:function(e){wr(e)},g:function(e){try{var t=tt(e);if(null===t.Sc)throw new Ee(8);t.Tc&&(t.Tc=null);try{t.Ic.close&&t.Ic.close(t)}catch(e){throw e}finally{be[t.Sc]=null}return t.Sc=null,0}catch(e){return void 0!==Je&&e instanceof Ee||K(e),e.Lc}},q:function(e,t,r,a){try{e:{for(var n=tt(e),i=e=0;i<r;i++){var _=R[t+(8*i+4)>>2],o=n,s=R[t+8*i>>2],c=_,u=void 0,f=E;if(0>c||0>u)throw new Ee(28);if(null===o.Sc)throw new Ee(8);if(1==(2097155&o.flags))throw new Ee(8);if(16384==(61440&o.node.mode))throw new Ee(31);if(!o.Ic.read)throw new Ee(28);var l=void 0!==u;if(l){if(!o.seekable)throw new Ee(70)}else u=o.position;var p=o.Ic.read(o,f,s,c,u);l||(o.position+=p);var d=p;if(0>d){var m=-1;break e}if(e+=d,d<_)break}m=e}return R[a>>2]=m,0}catch(e){return void 0!==Je&&e instanceof Ee||K(e),e.Lc}},v:function(e,t,r,a,n){try{var i=tt(e);return-9007199254740992>=(e=4294967296*r+(t>>>0))||9007199254740992<=e?-61:(Ye(i,e,a),J=[i.position>>>0,(j=i.position,1<=+Math.abs(j)?0<j?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],R[n>>2]=J[0],R[n+4>>2]=J[1],i.Tc&&0===e&&0===a&&(i.Tc=null),0)}catch(e){return void 0!==Je&&e instanceof Ee||K(e),e.Lc}},k:function(e,t,r,a){try{e:{for(var n=tt(e),i=e=0;i<r;i++){var _=n,o=R[t+8*i>>2],s=R[t+(8*i+4)>>2],c=void 0,u=E;if(0>s||0>c)throw new Ee(28);if(null===_.Sc)throw new Ee(8);if(0==(2097155&_.flags))throw new Ee(8);if(16384==(61440&_.node.mode))throw new Ee(31);if(!_.Ic.write)throw new Ee(28);_.seekable&&1024&_.flags&&Ye(_,0,2);var f=void 0!==c;if(f){if(!_.seekable)throw new Ee(70)}else c=_.position;var l=_.Ic.write(_,u,o,s,c,void 0);f||(_.position+=l);try{_.path&&ve.onWriteToFile&&ve.onWriteToFile(_.path)}catch(e){d("FS.trackingDelegate['onWriteToFile']('"+_.path+"') threw an exception: "+e.message)}var p=l;if(0>p){var m=-1;break e}e+=p}m=e}return R[a>>2]=m,0}catch(e){return void 0!==Je&&e instanceof Ee||K(e),e.Lc}},f:function(e){var t=Date.now();return R[e>>2]=t/1e3|0,R[e+4>>2]=t%1e3*1e3|0,0},m:function(e,t){$t.bindTexture(e,Wt[t])},o:function(e,t){for(var r=0;r<e;r++){var a=$t.createTexture(),n=a&&Xt(Wt);a?(a.name=n,Wt[n]=a):qt||(qt=1282),R[t+4*r>>2]=n}},i:function(e,t,r,a,n,i,_,o,s){var c=$t,u=c.texImage2D;if(s){var f=o-5120;f=1==f?A:4==f?R:6==f?L:5==f||28922==f?x:k;var l=31-Math.clz32(f.BYTES_PER_ELEMENT);s=f.subarray(s>>l,s+n*(a*({5:3,6:4,8:2,29502:3,29504:4}[_-6402]||1)*(1<<l)+4-1&-4)>>l)}else s=null;u.call(c,e,t,r,a,n,i,_,o,s)},j:function(e,t,r){$t.texParameteri(e,t,r)},s:function e(t,r){return t=new Date(1e3*R[t>>2]),R[r>>2]=t.getUTCSeconds(),R[r+4>>2]=t.getUTCMinutes(),R[r+8>>2]=t.getUTCHours(),R[r+12>>2]=t.getUTCDate(),R[r+16>>2]=t.getUTCMonth(),R[r+20>>2]=t.getUTCFullYear()-1900,R[r+24>>2]=t.getUTCDay(),R[r+36>>2]=0,R[r+32>>2]=0,R[r+28>>2]=(t.getTime()-Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,e.sd||(e.sd=S("GMT")),R[r+40>>2]=e.sd,r},r:function(e,t){!function(){function e(e){return(e=e.toTimeString().match(/\(([A-Za-z ]+)\)$/))?e[1]:"GMT"}if(!Kt){Kt=!0;var t=(new Date).getFullYear(),r=new Date(t,0,1),a=new Date(t,6,1);t=r.getTimezoneOffset();var n=a.getTimezoneOffset(),i=Math.max(t,n);R[pr()>>2]=60*i,R[lr()>>2]=Number(t!=n),r=e(r),a=e(a),r=S(r),a=S(a),n<t?(R[fr()>>2]=r,R[fr()+4>>2]=a):(R[fr()>>2]=a,R[fr()+4>>2]=r)}}(),e=new Date(1e3*R[e>>2]),R[t>>2]=e.getSeconds(),R[t+4>>2]=e.getMinutes(),R[t+8>>2]=e.getHours(),R[t+12>>2]=e.getDate(),R[t+16>>2]=e.getMonth(),R[t+20>>2]=e.getFullYear()-1900,R[t+24>>2]=e.getDay();var r=new Date(e.getFullYear(),0,1);R[t+28>>2]=(e.getTime()-r.getTime())/864e5|0,R[t+36>>2]=-60*e.getTimezoneOffset();var a=new Date(e.getFullYear(),6,1).getTimezoneOffset();return e=0|(a!=(r=r.getTimezoneOffset())&&e.getTimezoneOffset()==Math.min(r,a)),R[t+32>>2]=e,e=R[fr()+(e?4:0)>>2],R[t+40>>2]=e,t},Q:function(){return 6},z:function(){return 28},A:function(e,t,r,a){return function(e,t,r,a){function n(e,t,r){for(e="number"==typeof e?e.toString():e||"";e.length<t;)e=r[0]+e;return e}function i(e,t){return n(e,t,"0")}function _(e,t){function r(e){return 0>e?-1:0<e?1:0}var a;return 0===(a=r(e.getFullYear()-t.getFullYear()))&&0===(a=r(e.getMonth()-t.getMonth()))&&(a=r(e.getDate()-t.getDate())),a}function o(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function s(e){e=rr(new Date(e.Nc+1900,0,1),e.ld);var t=new Date(e.getFullYear()+1,0,4),r=o(new Date(e.getFullYear(),0,4));return t=o(t),0>=_(r,e)?0>=_(t,e)?e.getFullYear()+1:e.getFullYear():e.getFullYear()-1}var c=R[a+40>>2];for(var u in a={ee:R[a>>2],de:R[a+4>>2],jd:R[a+8>>2],cd:R[a+12>>2],Yc:R[a+16>>2],Nc:R[a+20>>2],kd:R[a+24>>2],ld:R[a+28>>2],te:R[a+32>>2],ce:R[a+36>>2],fe:c?F(c):""},r=F(r),c={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})r=r.replace(new RegExp(u,"g"),c[u]);var f="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),l="January February March April May June July August September October November December".split(" ");for(u in c={"%a":function(e){return f[e.kd].substring(0,3)},"%A":function(e){return f[e.kd]},"%b":function(e){return l[e.Yc].substring(0,3)},"%B":function(e){return l[e.Yc]},"%C":function(e){return i((e.Nc+1900)/100|0,2)},"%d":function(e){return i(e.cd,2)},"%e":function(e){return n(e.cd,2," ")},"%g":function(e){return s(e).toString().substring(2)},"%G":function(e){return s(e)},"%H":function(e){return i(e.jd,2)},"%I":function(e){return 0==(e=e.jd)?e=12:12<e&&(e-=12),i(e,2)},"%j":function(e){return i(e.cd+Qt(Jt(e.Nc+1900)?er:tr,e.Yc-1),3)},"%m":function(e){return i(e.Yc+1,2)},"%M":function(e){return i(e.de,2)},"%n":function(){return"\n"},"%p":function(e){return 0<=e.jd&&12>e.jd?"AM":"PM"},"%S":function(e){return i(e.ee,2)},"%t":function(){return"\t"},"%u":function(e){return e.kd||7},"%U":function(e){var t=new Date(e.Nc+1900,0,1),r=0===t.getDay()?t:rr(t,7-t.getDay());return 0>_(r,e=new Date(e.Nc+1900,e.Yc,e.cd))?i(Math.ceil((31-r.getDate()+(Qt(Jt(e.getFullYear())?er:tr,e.getMonth()-1)-31)+e.getDate())/7),2):0===_(r,t)?"01":"00"},"%V":function(e){var t=new Date(e.Nc+1901,0,4),r=o(new Date(e.Nc+1900,0,4));t=o(t);var a=rr(new Date(e.Nc+1900,0,1),e.ld);return 0>_(a,r)?"53":0>=_(t,a)?"01":i(Math.ceil((r.getFullYear()<e.Nc+1900?e.ld+32-r.getDate():e.ld+1-r.getDate())/7),2)},"%w":function(e){return e.kd},"%W":function(e){var t=new Date(e.Nc,0,1),r=1===t.getDay()?t:rr(t,0===t.getDay()?1:7-t.getDay()+1);return 0>_(r,e=new Date(e.Nc+1900,e.Yc,e.cd))?i(Math.ceil((31-r.getDate()+(Qt(Jt(e.getFullYear())?er:tr,e.getMonth()-1)-31)+e.getDate())/7),2):0===_(r,t)?"01":"00"},"%y":function(e){return(e.Nc+1900).toString().substring(2)},"%Y":function(e){return e.Nc+1900},"%z":function(e){var t=0<=(e=e.ce);return e=Math.abs(e)/60,(t?"+":"-")+String("0000"+(e/60*100+e%60)).slice(-4)},"%Z":function(e){return e.fe},"%%":function(){return"%"}})0<=r.indexOf(u)&&(r=r.replace(new RegExp(u,"g"),c[u](a)));return(u=nr(r,!1)).length>t?0:(E.set(u,e),u.length-1)}(e,t,r,a)},d:function(e){var t=Date.now()/1e3|0;return e&&(R[e>>2]=t),t}},_r=function(){function e(e){t.asm=e.exports,h=t.asm.S,C(),B=t.asm.X,V.unshift(t.asm.T),Z()}var r={a:ir};if(q(),t.instantiateWasm)try{return t.instantiateWasm(r,e)}catch(e){return d("Module.instantiateWasm callback failed with error: "+e),!1}return r=function(e){var t=$;try{e:{try{if(t==$&&l){var r=new Uint8Array(l);break e}if(c){r=c(t);break e}throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(e){K(e)}r=void 0}var a=new WebAssembly.Module(r),n=new WebAssembly.Instance(a,e)}catch(t){throw e=t.toString(),d("failed to compile wasm module: "+e),(0<=e.indexOf("imported Memory")||0<=e.indexOf("memory import"))&&d("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),t}return[n,a]}(r),e(r[0]),t.asm}();t.___wasm_call_ctors=_r.T,t._zappar_has_initialized=_r.U,t._zappar_invert=_r.V,t._zappar_loaded=_r.W,t._zappar_pipeline_create=_r.Y,t._zappar_pipeline_destroy=_r.Z,t._zappar_pipeline_camera_frame_submit=_r._,t._zappar_pipeline_camera_frame_submit_raw_pointer=_r.$,t._zappar_pipeline_frame_update=_r.aa,t._zappar_pipeline_camera_frame_user_data=_r.ba,t._zappar_pipeline_camera_model=_r.ca,t._zappar_pipeline_frame_number=_r.da,t._zappar_pipeline_motion_accelerometer_submit=_r.ea,t._zappar_pipeline_motion_accelerometer_with_gravity_submit_int=_r.fa,t._zappar_pipeline_motion_accelerometer_without_gravity_submit_int=_r.ga,t._zappar_pipeline_motion_rotation_rate_submit_int=_r.ha,t._zappar_pipeline_motion_attitude_submit_int=_r.ia,t._zappar_pipeline_motion_rotation_rate_submit=_r.ja,t._zappar_pipeline_motion_attitude_submit=_r.ka,t._zappar_pipeline_motion_attitude_matrix_submit=_r.la,t._zappar_pipeline_camera_frame_user_facing=_r.ma,t._zappar_pipeline_camera_frame_texture_matrix=_r.na,t._zappar_pipeline_camera_pose_with_attitude=_r.oa,t._zappar_pipeline_camera_pose_with_origin=_r.pa,t._zappar_pipeline_camera_frame_camera_attitude=_r.qa,t._zappar_pipeline_camera_frame_device_attitude=_r.ra,t._zappar_pipeline_camera_frame_texture_gl=_r.sa,t._zappar_pipeline_camera_frame_upload_gl=_r.ta,t._zappar_pipeline_sequence_record_start=_r.ua,t._zappar_pipeline_sequence_record_stop=_r.va,t._zappar_pipeline_sequence_record_clear=_r.wa,t._zappar_pipeline_sequence_record_device_attitude_matrices_set=_r.xa,t._zappar_pipeline_sequence_record_data_size=_r.ya,t._zappar_pipeline_sequence_record_data=_r.za,t._zappar_pipeline_process_gl=_r.Aa,t._zappar_pipeline_camera_pose_default=_r.Ba,t._zappar_instant_world_tracker_create=_r.Ca,t._zappar_instant_world_tracker_destroy=_r.Da,t._zappar_instant_world_tracker_anchor_pose_set_from_camera_offset_raw=_r.Ea,t._zappar_instant_world_tracker_anchor_pose_raw=_r.Fa,t._zappar_instant_world_tracker_enabled_set=_r.Ga,t._zappar_instant_world_tracker_enabled=_r.Ha,t._zappar_image_tracker_create=_r.Ia,t._zappar_image_tracker_destroy=_r.Ja,t._zappar_image_tracker_target_load_from_memory=_r.Ka,t.__Z42zappar_image_tracker_target_load_from_fileP23zappar_image_tracker_tiPKc=_r.La;var or=t._free=_r.Ma;t._zappar_image_tracker_anchor_count=_r.Na,t._zappar_image_tracker_anchor_id=_r.Oa,t._zappar_image_tracker_anchor_pose_raw=_r.Pa,t._zappar_image_tracker_enabled_set=_r.Qa,t._zappar_image_tracker_enabled=_r.Ra,t._zappar_image_tracker_target_loaded_version=_r.Sa,t.__Z33zappar_image_tracker_target_countP23zappar_image_tracker_ti=_r.Ta,t.__Z46zappar_image_tracker_target_preview_compressedP23zappar_image_tracker_tii=_r.Ua,t.__Z51zappar_image_tracker_target_preview_compressed_sizeP23zappar_image_tracker_tii=_r.Va,t.__Z55zappar_image_tracker_target_preview_compressed_mimetypeP23zappar_image_tracker_tii=_r.Wa,t.__Z40zappar_image_tracker_target_preview_rgbaP23zappar_image_tracker_tii=_r.Xa,t.__Z45zappar_image_tracker_target_preview_rgba_sizeP23zappar_image_tracker_tii=_r.Ya,t.__Z46zappar_image_tracker_target_preview_rgba_widthP23zappar_image_tracker_tii=_r.Za,t.__Z47zappar_image_tracker_target_preview_rgba_heightP23zappar_image_tracker_tii=_r._a,t.__Z38zappar_image_tracker_target_radius_topP23zappar_image_tracker_tii=_r.$a,t.__Z41zappar_image_tracker_target_radius_bottomP23zappar_image_tracker_tii=_r.ab,t.__Z39zappar_image_tracker_target_side_lengthP23zappar_image_tracker_tii=_r.bb,t.__Z49zappar_image_tracker_target_physical_scale_factorP23zappar_image_tracker_tii=_r.cb,t.__Z49zappar_image_tracker_target_preview_mesh_verticesP23zappar_image_tracker_tii=_r.db,t.__Z48zappar_image_tracker_target_preview_mesh_normalsP23zappar_image_tracker_tii=_r.eb,t.__Z44zappar_image_tracker_target_preview_mesh_uvsP23zappar_image_tracker_tii=_r.fb,t.__Z48zappar_image_tracker_target_preview_mesh_indicesP23zappar_image_tracker_tii=_r.gb,t.__Z54zappar_image_tracker_target_preview_mesh_vertices_sizeP23zappar_image_tracker_tii=_r.hb,t.__Z53zappar_image_tracker_target_preview_mesh_normals_sizeP23zappar_image_tracker_tii=_r.ib,t.__Z49zappar_image_tracker_target_preview_mesh_uvs_sizeP23zappar_image_tracker_tii=_r.jb,t.__Z53zappar_image_tracker_target_preview_mesh_indices_sizeP23zappar_image_tracker_tii=_r.kb,t.__Z32zappar_image_tracker_target_typeP23zappar_image_tracker_tii=_r.lb,t._zappar_face_tracker_create=_r.mb,t._zappar_face_tracker_destroy=_r.nb,t._zappar_face_tracker_model_load_from_memory=_r.ob,t._zappar_face_tracker_anchor_count=_r.pb,t._zappar_face_tracker_anchor_id=_r.qb,t._zappar_face_tracker_anchor_pose_raw=_r.rb,t._zappar_face_tracker_anchor_identity_coefficients=_r.sb,t._zappar_face_tracker_anchor_expression_coefficients=_r.tb,t._zappar_face_tracker_enabled_set=_r.ub,t._zappar_face_tracker_enabled=_r.vb,t._zappar_face_tracker_max_faces_set=_r.wb,t._zappar_face_tracker_max_faces=_r.xb,t._zappar_face_tracker_model_loaded_version=_r.yb,t._zappar_face_landmark_create=_r.zb,t._zappar_face_landmark_destroy=_r.Ab,t.__Z27zappar_face_landmark_updateP23zappar_face_landmark_tiPKfS2_i=_r.Bb,t._zappar_face_landmark_anchor_pose=_r.Cb,t._zappar_barcode_finder_create=_r.Db,t._zappar_barcode_finder_destroy=_r.Eb,t._zappar_barcode_finder_found_number=_r.Fb,t._zappar_barcode_finder_found_text=_r.Gb,t._zappar_barcode_finder_enabled_set=_r.Hb,t._zappar_barcode_finder_enabled=_r.Ib,t._zappar_barcode_finder_found_format=_r.Jb,t._zappar_barcode_finder_formats=_r.Kb,t._zappar_barcode_finder_formats_set=_r.Lb;var sr=t._malloc=_r.Mb;t._zappar_face_mesh_create=_r.Nb,t._zappar_face_mesh_destroy=_r.Ob,t.__Z33zappar_face_mesh_load_from_memoryP19zappar_face_mesh_tiPKciiiii=_r.Pb,t.__Z29zappar_face_mesh_indices_sizeP19zappar_face_mesh_ti=_r.Qb,t.__Z25zappar_face_mesh_uvs_sizeP19zappar_face_mesh_ti=_r.Rb,t.__Z30zappar_face_mesh_vertices_sizeP19zappar_face_mesh_ti=_r.Sb,t.__Z31zappar_face_mesh_loaded_versionP19zappar_face_mesh_ti=_r.Tb,t.__Z25zappar_face_mesh_verticesP19zappar_face_mesh_ti=_r.Ub,t.__Z20zappar_face_mesh_uvsP19zappar_face_mesh_ti=_r.Vb,t.__Z24zappar_face_mesh_indicesP19zappar_face_mesh_ti=_r.Wb,t.__Z23zappar_face_mesh_updateP19zappar_face_mesh_tiPKfS2_i=_r.Xb,t.__Z29zappar_face_mesh_normals_sizeP19zappar_face_mesh_ti=_r.Yb,t.__Z24zappar_face_mesh_normalsP19zappar_face_mesh_ti=_r.Zb,t._zappar_camera_source_create=_r._b,t._zappar_camera_source_destroy=_r.$b,t._zappar_camera_source_start=_r.ac,t._zappar_camera_source_pause=_r.bc,t._zappar_camera_default_device_id=_r.cc,t._zappar_sequence_source_create=_r.dc,t.__Z28zappar_sequence_source_startP25zappar_sequence_source_ti=_r.ec,t.__Z39zappar_sequence_source_load_from_memoryP25zappar_sequence_source_tiPKci=_r.fc,t.__Z28zappar_sequence_source_pauseP25zappar_sequence_source_ti=_r.gc,t._zappar_sequence_source_destroy=_r.hc,t._zappar_sequence_source_max_playback_fps_set=_r.ic,t._zappar_log_level_set=_r.jc,t._zappar_log_level=_r.kc,t.__Z23zappar_log_redirect_setPFv18zappar_log_level_tPKcE=_r.lc,t._zappar_world_tracker_create=_r.mc,t._zappar_world_tracker_destroy=_r.nc,t._zappar_world_tracker_world_anchor_valid=_r.oc,t._zappar_world_tracker_plane_count=_r.pc,t._zappar_world_tracker_plane_pose_raw=_r.qc,t._zappar_world_tracker_world_anchor_pose_raw=_r.rc,t._zappar_world_tracker_ground_anchor_valid=_r.sc,t._zappar_world_tracker_ground_anchor_pose_raw=_r.tc,t._zappar_world_tracker_reset=_r.uc,t._zappar_world_tracker_enabled_set=_r.vc,t._zappar_world_tracker_quality=_r.wc,t._zappar_world_tracker_enabled=_r.xc,t._zappar_analytics_project_id_set=_r.yc;var cr,ur=t.___errno_location=_r.zc,fr=t.__get_tzname=_r.Ac,lr=t.__get_daylight=_r.Bc,pr=t.__get_timezone=_r.Cc,dr=t.stackSave=_r.Dc,mr=t.stackRestore=_r.Ec,hr=t.stackAlloc=_r.Fc;function br(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function gr(){function e(){if(!cr&&(cr=!0,t.calledRun=!0,!g)){if(t.noFSInit||Oe||(Oe=!0,Xe(),t.stdin=t.stdin,t.stdout=t.stdout,t.stderr=t.stderr,t.stdin?qe("stdin",t.stdin):Ve("/dev/tty","/dev/stdin"),t.stdout?qe("stdout",null,t.stdout):Ve("/dev/tty","/dev/stdout"),t.stderr?qe("stderr",null,t.stderr):Ve("/dev/tty1","/dev/stderr"),We("/dev/stdin",0),We("/dev/stdout",1),We("/dev/stderr",1)),te(V),ye=!1,te(N),r(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),t.postRun)for("function"==typeof t.postRun&&(t.postRun=[t.postRun]);t.postRun.length;){var e=t.postRun.shift();G.unshift(e)}te(G)}}if(!(0<W)){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)H();te(U),0<W||(t.setStatus?(t.setStatus("Running..."),setTimeout((function(){setTimeout((function(){t.setStatus("")}),1),e()}),1)):e())}}function wr(e){b=e,m||(t.onExit&&t.onExit(e),g=!0),s(e,new br(e))}if(t.cwrap=function(e,t,r,a){var n=(r=r||[]).every((function(e){return"number"===e}));return"string"!==t&&n&&!a?y(e):function(){return function(e,t,r,a){var n,i={string:function(e){var t=0;if(null!=e&&0!==e){var r=1+(e.length<<2);t=hr(r),O(e,A,t,r)}return t},array:function(e){var t=hr(e.length);return E.set(e,t),t}},_=y(e),o=[];if(e=0,a)for(var s=0;s<a.length;s++){var c=i[r[s]];c?(0===e&&(e=dr()),o[s]=c(a[s])):o[s]=a[s]}return n=r=_.apply(null,o),r="string"===t?F(n):"boolean"===t?!!n:n,0!==e&&mr(e),r}(e,t,r,arguments)}},t.setValue=function(e,t,r){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":E[e>>0]=t;break;case"i16":T[e>>1]=t;break;case"i32":R[e>>2]=t;break;case"i64":J=[t>>>0,(j=t,1<=+Math.abs(j)?0<j?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],R[e>>2]=J[0],R[e+4>>2]=J[1];break;case"float":L[e>>2]=t;break;case"double":z[e>>3]=t;break;default:K("invalid type for setValue: "+r)}},t.getValue=function(e,t){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return E[e>>0];case"i16":return T[e>>1];case"i32":case"i64":return R[e>>2];case"float":return L[e>>2];case"double":return z[e>>3];default:K("invalid type for getValue: "+t)}return null},t.UTF8ToString=F,X=function e(){cr||gr(),cr||(X=e)},t.run=gr,t.preInit)for("function"==typeof t.preInit&&(t.preInit=[t.preInit]);0<t.preInit.length;)t.preInit.pop()();return gr(),e});const i=n;class _{constructor(e){this._messageSender=e,this._freeBufferPool=[],this._buffer=new ArrayBuffer(16),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=1,this._startOffset=-1,this._timeoutSet=!1,this._appender={int:e=>this.int(e),bool:e=>this.int(e?1:0),float:e=>this.float(e),string:e=>this.string(e),dataWithLength:e=>this.arrayBuffer(e),type:e=>this.int(e),matrix4x4:e=>this.float32ArrayBuffer(e),matrix3x3:e=>this.float32ArrayBuffer(e),identityCoefficients:e=>this.float32ArrayBuffer(e),expressionCoefficients:e=>this.float32ArrayBuffer(e),cameraModel:e=>this.float32ArrayBuffer(e),timestamp:e=>this.double(e),barcodeFormat:e=>this.int(e),faceLandmarkName:e=>this.int(e),instantTrackerTransformOrientation:e=>this.int(e),logLevel:e=>this.int(e)},this._freeBufferPool.push(new ArrayBuffer(16)),this._freeBufferPool.push(new ArrayBuffer(16))}bufferReturn(e){this._freeBufferPool.push(e)}_ensureArrayBuffer(e){let t,r=4*(this._offset+e+8);if(this._buffer&&this._buffer.byteLength>=r)return;if(!t){let e=r;e--,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e++,t=new ArrayBuffer(e)}let a=this._buffer?this._i32View:void 0;this._buffer=t,this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),a&&this._i32View.set(a.subarray(0,this._offset))}sendMessage(e,t){this._ensureArrayBuffer(4),this._startOffset=this._offset,this._i32View[this._offset+1]=e,this._offset+=2,t(this._appender),this._i32View[this._startOffset]=this._offset-this._startOffset,this._startOffset=-1,this._sendOneTime()}_sendOneTime(){!1===this._timeoutSet&&(this._timeoutSet=!0,setTimeout((()=>{this._timeoutSet=!1,this._send()}),0))}_send(){0!==this._freeBufferPool.length?(this._i32View[0]=this._offset,this._messageSender(this._buffer),this._buffer=void 0,this._buffer=this._freeBufferPool.pop(),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=1,this._startOffset=-1):this._sendOneTime()}int(e){this._ensureArrayBuffer(1),this._i32View[this._offset]=e,this._offset++}double(e){this._ensureArrayBuffer(2),this._offset%2==1&&this._offset++,this._f64View[this._offset/2]=e,this._offset+=2}float(e){this._ensureArrayBuffer(1),this._f32View[this._offset]=e,this._offset++}int32Array(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._i32View[this._offset+t]=e[t];this._offset+=e.length}float32Array(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._f32View[this._offset+t]=e[t];this._offset+=e.length}booleanArray(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._i32View[this._offset+t]=e[t]?1:0;this._offset+=e.length}uint8ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.byteLength,this._offset++,this._u8View.set(e,4*this._offset),this._offset+=e.byteLength>>2,0!=(3&e.byteLength)&&this._offset++}arrayBuffer(e){let t=new Uint8Array(e);this.uint8ArrayBuffer(t)}uint8ClampedArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.byteLength,this._offset++,this._u8cView.set(e,4*this._offset),this._offset+=e.byteLength>>2,0!=(3&e.byteLength)&&this._offset++}float32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._f32View.set(e,this._offset),this._offset+=e.length}uint16ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++;let t=2*this._offset;this._u16View.set(e,t),this._offset+=e.length>>1,0!=(1&e.length)&&this._offset++}int32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._i32View.set(e,this._offset),this._offset+=e.length}uint32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._u32View.set(e,this._offset),this._offset+=e.length}string(e){let t=(new TextEncoder).encode(e);this._ensureArrayBuffer(t.byteLength/4),this._i32View[this._offset]=t.byteLength,this._offset++,this._u8View.set(t,4*this._offset),this._offset+=t.byteLength>>2,0!=(3&t.byteLength)&&this._offset++}}class o{constructor(){this._buffer=new ArrayBuffer(0),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=0,this._length=0,this._startOffset=-1,this._processor={int:()=>this._i32View[this._startOffset++],bool:()=>1===this._i32View[this._startOffset++],type:()=>this._i32View[this._startOffset++],float:()=>this._f32View[this._startOffset++],timestamp:()=>{this._startOffset%2==1&&this._startOffset++;let e=this._f64View[this._startOffset/2];return this._startOffset+=2,e},string:()=>{let e=this._i32View[this._startOffset++],t=(new TextDecoder).decode(new Uint8Array(this._buffer,4*this._startOffset,e));return this._startOffset+=e>>2,0!=(3&e)&&this._startOffset++,t},dataWithLength:()=>{let e=this._i32View[this._startOffset++],t=new Uint8Array(e);return t.set(this._u8View.subarray(4*this._startOffset,4*this._startOffset+e)),this._startOffset+=t.byteLength>>2,0!=(3&t.byteLength)&&this._startOffset++,t.buffer},matrix4x4:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+16)),this._startOffset+=e,t},matrix3x3:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+9)),this._startOffset+=e,t},identityCoefficients:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+50)),this._startOffset+=e,t},expressionCoefficients:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+29)),this._startOffset+=e,t},cameraModel:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+6)),this._startOffset+=e,t},barcodeFormat:()=>this._i32View[this._startOffset++],faceLandmarkName:()=>this._i32View[this._startOffset++],instantTrackerTransformOrientation:()=>this._i32View[this._startOffset++],logLevel:()=>this._i32View[this._startOffset++]}}setData(e){this._buffer=e,this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=0,this._length=0,e.byteLength>=4&&(this._offset=1,this._length=this._i32View[0]),this._startOffset=-1}hasMessage(){return this._offset+1<this._length}forMessages(e){for(;this.hasMessage();){let t=this._i32View[this._offset],r=this._i32View[this._offset+1];this._startOffset=this._offset+2,this._offset+=t,e(r,this._processor)}}}class s{constructor(e,t){this._impl=e,this._sender=t,this._deserializer=new o,this.serializersByPipelineId=new Map,this._pipeline_id_by_pipeline_id=new Map,this._pipeline_by_instance=new Map,this._pipeline_id_by_camera_source_id=new Map,this._camera_source_by_instance=new Map,this._pipeline_id_by_sequence_source_id=new Map,this._sequence_source_by_instance=new Map,this._pipeline_id_by_image_tracker_id=new Map,this._image_tracker_by_instance=new Map,this._pipeline_id_by_face_tracker_id=new Map,this._face_tracker_by_instance=new Map,this._pipeline_id_by_face_mesh_id=new Map,this._face_mesh_by_instance=new Map,this._pipeline_id_by_face_landmark_id=new Map,this._face_landmark_by_instance=new Map,this._pipeline_id_by_barcode_finder_id=new Map,this._barcode_finder_by_instance=new Map,this._pipeline_id_by_instant_world_tracker_id=new Map,this._instant_world_tracker_by_instance=new Map,this._pipeline_id_by_world_tracker_id=new Map,this._world_tracker_by_instance=new Map}processBuffer(e){this._deserializer.setData(e),this._deserializer.forMessages(((e,t)=>{switch(e){case 38:this._impl.log_level_set(t.logLevel());break;case 35:this._impl.analytics_project_id_set(t.string(),t.string());break;case 31:{let e=t.type(),r=this._impl.pipeline_create();this._pipeline_by_instance.set(e,r),this._pipeline_id_by_pipeline_id.set(e,e),this.serializersByPipelineId.set(e,new _((t=>{this._sender(e,t)})));break}case 32:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_destroy(r),this._pipeline_by_instance.delete(e);break}case 9:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_frame_update(r);break}case 8:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_camera_frame_submit(r,t.dataWithLength(),t.int(),t.int(),t.int(),t.matrix4x4(),t.cameraModel(),t.bool());break}case 10:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_accelerometer_submit(r,t.timestamp(),t.float(),t.float(),t.float());break}case 12:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_accelerometer_with_gravity_submit_int(r,t.timestamp(),t.timestamp(),t.float(),t.float(),t.float());break}case 11:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_accelerometer_without_gravity_submit_int(r,t.timestamp(),t.timestamp(),t.float(),t.float(),t.float());break}case 15:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_rotation_rate_submit(r,t.timestamp(),t.float(),t.float(),t.float());break}case 13:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_rotation_rate_submit_int(r,t.timestamp(),t.timestamp(),t.float(),t.float(),t.float());break}case 16:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_attitude_submit(r,t.timestamp(),t.float(),t.float(),t.float());break}case 14:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_attitude_submit_int(r,t.timestamp(),t.timestamp(),t.float(),t.float(),t.float());break}case 17:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_attitude_matrix_submit(r,t.matrix4x4());break}case 33:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),n=t.string(),i=this._impl.camera_source_create(a,n);this._camera_source_by_instance.set(e,i),this._pipeline_id_by_camera_source_id.set(e,r);break}case 34:{let e=t.type(),r=this._camera_source_by_instance.get(e);if(void 0===r)return;this._impl.camera_source_destroy(r),this._camera_source_by_instance.delete(e);break}case 39:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),n=this._impl.sequence_source_create(a);this._sequence_source_by_instance.set(e,n),this._pipeline_id_by_sequence_source_id.set(e,r);break}case 40:{let e=t.type(),r=this._sequence_source_by_instance.get(e);if(void 0===r)return;this._impl.sequence_source_destroy(r),this._sequence_source_by_instance.delete(e);break}case 2:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),n=this._impl.image_tracker_create(a);this._image_tracker_by_instance.set(e,n),this._pipeline_id_by_image_tracker_id.set(e,r);break}case 18:{let e=t.type(),r=this._image_tracker_by_instance.get(e);if(void 0===r)return;this._impl.image_tracker_destroy(r),this._image_tracker_by_instance.delete(e);break}case 4:{let e=t.type(),r=this._image_tracker_by_instance.get(e);if(void 0===r)return;this._impl.image_tracker_target_load_from_memory(r,t.dataWithLength());break}case 3:{let e=t.type(),r=this._image_tracker_by_instance.get(e);if(void 0===r)return;this._impl.image_tracker_enabled_set(r,t.bool());break}case 24:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),n=this._impl.face_tracker_create(a);this._face_tracker_by_instance.set(e,n),this._pipeline_id_by_face_tracker_id.set(e,r);break}case 25:{let e=t.type(),r=this._face_tracker_by_instance.get(e);if(void 0===r)return;this._impl.face_tracker_destroy(r),this._face_tracker_by_instance.delete(e);break}case 26:{let e=t.type(),r=this._face_tracker_by_instance.get(e);if(void 0===r)return;this._impl.face_tracker_model_load_from_memory(r,t.dataWithLength());break}case 27:{let e=t.type(),r=this._face_tracker_by_instance.get(e);if(void 0===r)return;this._impl.face_tracker_enabled_set(r,t.bool());break}case 28:{let e=t.type(),r=this._face_tracker_by_instance.get(e);if(void 0===r)return;this._impl.face_tracker_max_faces_set(r,t.int());break}case 29:{let e=t.type(),r=this._impl.face_mesh_create();this._face_mesh_by_instance.set(e,r);break}case 30:{let e=t.type(),r=this._face_mesh_by_instance.get(e);if(void 0===r)return;this._impl.face_mesh_destroy(r),this._face_mesh_by_instance.delete(e);break}case 36:{let e=t.type(),r=t.faceLandmarkName(),a=this._impl.face_landmark_create(r);this._face_landmark_by_instance.set(e,a);break}case 37:{let e=t.type(),r=this._face_landmark_by_instance.get(e);if(void 0===r)return;this._impl.face_landmark_destroy(r),this._face_landmark_by_instance.delete(e);break}case 20:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),n=this._impl.barcode_finder_create(a);this._barcode_finder_by_instance.set(e,n),this._pipeline_id_by_barcode_finder_id.set(e,r);break}case 21:{let e=t.type(),r=this._barcode_finder_by_instance.get(e);if(void 0===r)return;this._impl.barcode_finder_destroy(r),this._barcode_finder_by_instance.delete(e);break}case 22:{let e=t.type(),r=this._barcode_finder_by_instance.get(e);if(void 0===r)return;this._impl.barcode_finder_enabled_set(r,t.bool());break}case 23:{let e=t.type(),r=this._barcode_finder_by_instance.get(e);if(void 0===r)return;this._impl.barcode_finder_formats_set(r,t.barcodeFormat());break}case 5:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),n=this._impl.instant_world_tracker_create(a);this._instant_world_tracker_by_instance.set(e,n),this._pipeline_id_by_instant_world_tracker_id.set(e,r);break}case 19:{let e=t.type(),r=this._instant_world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.instant_world_tracker_destroy(r),this._instant_world_tracker_by_instance.delete(e);break}case 6:{let e=t.type(),r=this._instant_world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.instant_world_tracker_enabled_set(r,t.bool());break}case 7:{let e=t.type(),r=this._instant_world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.instant_world_tracker_anchor_pose_set_from_camera_offset_raw(r,t.float(),t.float(),t.float(),t.instantTrackerTransformOrientation());break}case 41:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),n=this._impl.world_tracker_create(a);this._world_tracker_by_instance.set(e,n),this._pipeline_id_by_world_tracker_id.set(e,r);break}case 42:{let e=t.type(),r=this._world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.world_tracker_destroy(r),this._world_tracker_by_instance.delete(e);break}case 43:{let e=t.type(),r=this._world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.world_tracker_enabled_set(r,t.bool());break}case 44:{let e=t.type(),r=this._world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.world_tracker_reset(r);break}}}))}exploreState(){for(let[e,t]of this._pipeline_by_instance){let r=this._pipeline_id_by_pipeline_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);a&&(a.sendMessage(7,(r=>{r.type(e),r.int(this._impl.pipeline_frame_number(t))})),a.sendMessage(6,(r=>{r.type(e),r.cameraModel(this._impl.pipeline_camera_model(t))})),a.sendMessage(5,(r=>{r.type(e),r.int(this._impl.pipeline_camera_frame_user_data(t))})),a.sendMessage(11,(r=>{r.type(e),r.matrix4x4(this._impl.pipeline_camera_frame_camera_attitude(t))})),a.sendMessage(12,(r=>{r.type(e),r.matrix4x4(this._impl.pipeline_camera_frame_device_attitude(t))})))}for(let[e,t]of this._camera_source_by_instance){let t=this._pipeline_id_by_camera_source_id.get(e);t&&this.serializersByPipelineId.get(t)}for(let[e,t]of this._sequence_source_by_instance){let t=this._pipeline_id_by_sequence_source_id.get(e);t&&this.serializersByPipelineId.get(t)}for(let[e,t]of this._image_tracker_by_instance){let r=this._pipeline_id_by_image_tracker_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);if(a){a.sendMessage(19,(r=>{r.type(e),r.int(this._impl.image_tracker_target_loaded_version(t))})),a.sendMessage(1,(r=>{r.type(e),r.int(this._impl.image_tracker_anchor_count(t))}));for(let r=0;r<this._impl.image_tracker_anchor_count(t);r++)a.sendMessage(2,(a=>{a.type(e),a.int(r),a.string(this._impl.image_tracker_anchor_id(t,r))}));for(let r=0;r<this._impl.image_tracker_anchor_count(t);r++)a.sendMessage(3,(a=>{a.type(e),a.int(r),a.matrix4x4(this._impl.image_tracker_anchor_pose_raw(t,r))}))}}for(let[e,t]of this._face_tracker_by_instance){let r=this._pipeline_id_by_face_tracker_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);if(a){a.sendMessage(18,(r=>{r.type(e),r.int(this._impl.face_tracker_model_loaded_version(t))})),a.sendMessage(13,(r=>{r.type(e),r.int(this._impl.face_tracker_anchor_count(t))}));for(let r=0;r<this._impl.face_tracker_anchor_count(t);r++)a.sendMessage(14,(a=>{a.type(e),a.int(r),a.string(this._impl.face_tracker_anchor_id(t,r))}));for(let r=0;r<this._impl.face_tracker_anchor_count(t);r++)a.sendMessage(15,(a=>{a.type(e),a.int(r),a.matrix4x4(this._impl.face_tracker_anchor_pose_raw(t,r))}));for(let r=0;r<this._impl.face_tracker_anchor_count(t);r++)a.sendMessage(16,(a=>{a.type(e),a.int(r),a.identityCoefficients(this._impl.face_tracker_anchor_identity_coefficients(t,r))}));for(let r=0;r<this._impl.face_tracker_anchor_count(t);r++)a.sendMessage(17,(a=>{a.type(e),a.int(r),a.expressionCoefficients(this._impl.face_tracker_anchor_expression_coefficients(t,r))}))}}for(let[e,t]of this._face_mesh_by_instance){let t=this._pipeline_id_by_face_mesh_id.get(e);t&&this.serializersByPipelineId.get(t)}for(let[e,t]of this._face_landmark_by_instance){let t=this._pipeline_id_by_face_landmark_id.get(e);t&&this.serializersByPipelineId.get(t)}for(let[e,t]of this._barcode_finder_by_instance){let r=this._pipeline_id_by_barcode_finder_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);if(a){a.sendMessage(8,(r=>{r.type(e),r.int(this._impl.barcode_finder_found_number(t))}));for(let r=0;r<this._impl.barcode_finder_found_number(t);r++)a.sendMessage(9,(a=>{a.type(e),a.int(r),a.string(this._impl.barcode_finder_found_text(t,r))}));for(let r=0;r<this._impl.barcode_finder_found_number(t);r++)a.sendMessage(10,(a=>{a.type(e),a.int(r),a.barcodeFormat(this._impl.barcode_finder_found_format(t,r))}))}}for(let[e,t]of this._instant_world_tracker_by_instance){let r=this._pipeline_id_by_instant_world_tracker_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);a&&a.sendMessage(4,(r=>{r.type(e),r.matrix4x4(this._impl.instant_world_tracker_anchor_pose_raw(t))}))}for(let[e,t]of this._world_tracker_by_instance){let r=this._pipeline_id_by_world_tracker_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);if(a){a.sendMessage(27,(r=>{r.type(e),r.int(this._impl.world_tracker_quality(t))})),a.sendMessage(21,(r=>{r.type(e),r.int(this._impl.world_tracker_plane_count(t))}));for(let r=0;r<this._impl.world_tracker_plane_count(t);r++)a.sendMessage(22,(a=>{a.type(e),a.int(r),a.matrix4x4(this._impl.world_tracker_plane_pose_raw(t,r))}));a.sendMessage(23,(r=>{r.type(e),r.bool(this._impl.world_tracker_world_anchor_valid(t))})),a.sendMessage(24,(r=>{r.type(e),r.matrix4x4(this._impl.world_tracker_world_anchor_pose_raw(t))})),a.sendMessage(23,(r=>{r.type(e),r.bool(this._impl.world_tracker_ground_anchor_valid(t))})),a.sendMessage(26,(r=>{r.type(e),r.matrix4x4(this._impl.world_tracker_ground_anchor_pose_raw(t))}))}}}}class c{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(){for(var e=0,t=this._funcs.length;e<t;e++)this._funcs[e]()}}class u{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(e){for(var t=0,r=this._funcs.length;t<r;t++)this._funcs[t](e)}}var f,l,p,d,m,h,b,g=r(975);!function(e){e[e.UNKNOWN=131072]="UNKNOWN",e[e.AZTEC=1]="AZTEC",e[e.CODABAR=2]="CODABAR",e[e.CODE_39=4]="CODE_39",e[e.CODE_93=8]="CODE_93",e[e.CODE_128=16]="CODE_128",e[e.DATA_MATRIX=32]="DATA_MATRIX",e[e.EAN_8=64]="EAN_8",e[e.EAN_13=128]="EAN_13",e[e.ITF=256]="ITF",e[e.MAXICODE=512]="MAXICODE",e[e.PDF_417=1024]="PDF_417",e[e.QR_CODE=2048]="QR_CODE",e[e.RSS_14=4096]="RSS_14",e[e.RSS_EXPANDED=8192]="RSS_EXPANDED",e[e.UPC_A=16384]="UPC_A",e[e.UPC_E=32768]="UPC_E",e[e.UPC_EAN_EXTENSION=65536]="UPC_EAN_EXTENSION",e[e.ALL=131071]="ALL"}(f||(f={})),function(e){e[e.EYE_LEFT=0]="EYE_LEFT",e[e.EYE_RIGHT=1]="EYE_RIGHT",e[e.EAR_LEFT=2]="EAR_LEFT",e[e.EAR_RIGHT=3]="EAR_RIGHT",e[e.NOSE_BRIDGE=4]="NOSE_BRIDGE",e[e.NOSE_TIP=5]="NOSE_TIP",e[e.NOSE_BASE=6]="NOSE_BASE",e[e.LIP_TOP=7]="LIP_TOP",e[e.LIP_BOTTOM=8]="LIP_BOTTOM",e[e.MOUTH_CENTER=9]="MOUTH_CENTER",e[e.CHIN=10]="CHIN",e[e.EYEBROW_LEFT=11]="EYEBROW_LEFT",e[e.EYEBROW_RIGHT=12]="EYEBROW_RIGHT"}(l||(l={})),function(e){e[e.WORLD=3]="WORLD",e[e.MINUS_Z_AWAY_FROM_USER=4]="MINUS_Z_AWAY_FROM_USER",e[e.MINUS_Z_HEADING=5]="MINUS_Z_HEADING",e[e.UNCHANGED=6]="UNCHANGED"}(p||(p={})),function(e){e[e.LOG_LEVEL_NONE=0]="LOG_LEVEL_NONE",e[e.LOG_LEVEL_ERROR=1]="LOG_LEVEL_ERROR",e[e.LOG_LEVEL_WARNING=2]="LOG_LEVEL_WARNING",e[e.LOG_LEVEL_VERBOSE=3]="LOG_LEVEL_VERBOSE"}(d||(d={})),function(e){e[e.FRAME_PIXEL_FORMAT_I420=0]="FRAME_PIXEL_FORMAT_I420",e[e.FRAME_PIXEL_FORMAT_I420A=1]="FRAME_PIXEL_FORMAT_I420A",e[e.FRAME_PIXEL_FORMAT_I422=2]="FRAME_PIXEL_FORMAT_I422",e[e.FRAME_PIXEL_FORMAT_I444=3]="FRAME_PIXEL_FORMAT_I444",e[e.FRAME_PIXEL_FORMAT_NV12=4]="FRAME_PIXEL_FORMAT_NV12",e[e.FRAME_PIXEL_FORMAT_RGBA=5]="FRAME_PIXEL_FORMAT_RGBA",e[e.FRAME_PIXEL_FORMAT_BGRA=6]="FRAME_PIXEL_FORMAT_BGRA",e[e.FRAME_PIXEL_FORMAT_Y=7]="FRAME_PIXEL_FORMAT_Y"}(m||(m={})),function(e){e[e.IMAGE_TRACKER_TYPE_PLANAR=0]="IMAGE_TRACKER_TYPE_PLANAR",e[e.IMAGE_TRACKER_TYPE_CYLINDRICAL=1]="IMAGE_TRACKER_TYPE_CYLINDRICAL",e[e.IMAGE_TRACKER_TYPE_CONICAL=2]="IMAGE_TRACKER_TYPE_CONICAL"}(h||(h={})),function(e){e[e.WORLD_TRACKER_QUALITY_INITIALIZING=0]="WORLD_TRACKER_QUALITY_INITIALIZING",e[e.WORLD_TRACKER_QUALITY_GOOD=1]="WORLD_TRACKER_QUALITY_GOOD",e[e.WORLD_TRACKER_QUALITY_ORIENTATION_ONLY=2]="WORLD_TRACKER_QUALITY_ORIENTATION_ONLY"}(b||(b={}));const w=new Map;class y{constructor(e){this._gl=e,this._viewports=[],this._underlyingViewport=this._gl.viewport,this._viewports.push(this._gl.getParameter(this._gl.VIEWPORT)),this._gl.viewport=(e,t,r,a)=>{this._viewports[this._viewports.length-1]=[e,t,r,a],this._underlyingViewport.call(this._gl,e,t,r,a)}}static get(e){let t=w.get(e);return t||(t=new y(e),w.set(e,t)),t}push(){this._viewports.push(this._viewports[this._viewports.length-1])}pop(){const e=this._viewports.pop(),t=this._viewports[this._viewports.length-1];e&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]||this._underlyingViewport.call(this._gl,t[0],t[1],t[2],t[3])}}var v,E=r(238);!function(e){e[e.OBJECT_URL=0]="OBJECT_URL",e[e.SRC_OBJECT=1]="SRC_OBJECT"}(v||(v={}));let A={deviceMotionMutliplier:-1,blacklisted:!1,showGyroPermissionsWarningIfNecessary:!1,showSafariPermissionsResetIfNecessary:!1,requestHighFrameRate:!1,videoWidth:640,videoHeight:480,dataWidth:320,dataHeight:240,videoElementInDOM:!1,preferMediaStreamTrackProcessorCamera:!0,preferImageBitmapCamera:!1,ios164CameraSelection:!1,forceWindowOrientation:!1,intervalMultiplier:1,trustSensorIntervals:!1};"undefined"!=typeof window&&(window.zeeProfile=A,window.location.href.indexOf("_mstppipeline")>=0&&(console.log("Configuring for MSTP camera pipeline (if supported)"),A.preferMediaStreamTrackProcessorCamera=!0),window.location.href.indexOf("_imagebitmappipeline")>=0&&(console.log("Configuring for ImageBitmap camera pipeline (if supported)"),A.preferImageBitmapCamera=!0));let T=new E.UAParser,k=(T.getOS().name||"unknown").toLowerCase(),R=(T.getEngine().name||"unknown").toLowerCase();function x(e){A.forceWindowOrientation=!0,A.preferMediaStreamTrackProcessorCamera=!1,A.intervalMultiplier=1e3,A.trustSensorIntervals=!0;let t=e.split(".");if(t.length>=2){const e=parseInt(t[0]),r=parseInt(t[1]);(e<11||11===e&&r<3)&&(A.blacklisted=!0),(e<12||12===e&&r<2)&&(A.videoElementInDOM=!0),(12===e&&r>=2||e>=13)&&(A.showGyroPermissionsWarningIfNecessary=!0),e>=13&&(A.showSafariPermissionsResetIfNecessary=!0),(e>=12&&r>1||e>=13)&&navigator.mediaDevices&&navigator.mediaDevices.getSupportedConstraints&&navigator.mediaDevices.getSupportedConstraints().frameRate&&(A.requestHighFrameRate=!0,e<14&&(A.videoHeight=360,A.dataHeight=180)),(16===e&&r>=4||e>16)&&(A.ios164CameraSelection=!0)}}function L(e,t,r){let a=e.createShader(t);if(!a)throw new Error("Unable to create shader");e.shaderSource(a,r),e.compileShader(a);let n=e.getShaderInfoLog(a);if(n&&n.trim().length>0)throw new Error("Shader compile error: "+n);return a}"webkit"===R&&"ios"!==k&&(A.deviceMotionMutliplier=1,"undefined"!=typeof window&&void 0!==window.orientation&&x("15.0")),"webkit"===R&&"ios"===k&&(A.deviceMotionMutliplier=1,x(T.getOS().version||"15.0"));class z{constructor(e){this._gl=e,this._isPaused=!0,this._hadFrames=!1,this._isUserFacing=!1,this._cameraToScreenRotation=0,this._isUploadFrame=!0,this._computedTransformRotation=-1,this._computedFrontCameraRotation=!1,this._cameraUvTransform=g.Ue(),this._framebufferWidth=0,this._framebufferHeight=0,this._framebufferId=null,this._renderTexture=null,this._isWebGL2=!1,this._isWebGL2=e.getParameter(e.VERSION).indexOf("WebGL 2")>=0,this._isWebGL2||(this._instancedArraysExtension=this._gl.getExtension("ANGLE_instanced_arrays"))}resetGLContext(){this._framebufferId=null,this._renderTexture=null,this._vertexBuffer=void 0,this._indexBuffer=void 0,this._greyscaleShader=void 0}destroy(){this.resetGLContext()}uploadFrame(e,t,r,a){let n=this._gl;const i=y.get(n);i.push();const _=n.isEnabled(n.SCISSOR_TEST),o=n.isEnabled(n.DEPTH_TEST),s=n.isEnabled(n.BLEND),c=n.isEnabled(n.CULL_FACE),u=n.isEnabled(n.STENCIL_TEST),f=n.getParameter(n.ACTIVE_TEXTURE),l=n.getParameter(n.UNPACK_FLIP_Y_WEBGL),p=n.getParameter(n.CURRENT_PROGRAM);n.activeTexture(n.TEXTURE0);const d=n.getParameter(n.TEXTURE_BINDING_2D),m=n.getParameter(n.FRAMEBUFFER_BINDING),h=n.getParameter(n.ARRAY_BUFFER_BINDING),b=n.getParameter(n.ELEMENT_ARRAY_BUFFER_BINDING);n.disable(n.SCISSOR_TEST),n.disable(n.DEPTH_TEST),n.disable(n.BLEND),n.disable(n.CULL_FACE),n.disable(n.STENCIL_TEST),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!1),n.bindTexture(n.TEXTURE_2D,e);const g=n.RGBA,w=n.RGBA,v=n.UNSIGNED_BYTE;n.texImage2D(n.TEXTURE_2D,0,g,w,v,t);let E=0,T=0;"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement?(E=t.videoWidth,T=t.videoHeight):(E=t.width,T=t.height),T>E&&(T=[E,E=T][0]),this._updateTransforms(r,a);let k=this._getFramebuffer(n,A.dataWidth/4,A.dataHeight),R=this._getVertexBuffer(n),x=this._getIndexBuffer(n),L=this._getGreyscaleShader(n);const z=n.getVertexAttrib(L.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_SIZE),I=n.getVertexAttrib(L.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_TYPE),M=n.getVertexAttrib(L.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_NORMALIZED),F=n.getVertexAttrib(L.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_STRIDE),O=n.getVertexAttribOffset(L.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_POINTER),P=n.getVertexAttrib(L.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_ENABLED),S=n.getVertexAttrib(L.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING),D=n.getVertexAttrib(L.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_SIZE),C=n.getVertexAttrib(L.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_TYPE),B=n.getVertexAttrib(L.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_NORMALIZED),U=n.getVertexAttrib(L.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_STRIDE),V=n.getVertexAttribOffset(L.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_POINTER),N=n.getVertexAttrib(L.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING),G=n.getVertexAttrib(L.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_ENABLED);let H=0,W=0;this._isWebGL2?(H=n.getVertexAttrib(L.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_DIVISOR),W=n.getVertexAttrib(L.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_DIVISOR),n.vertexAttribDivisor(L.aVertexPositionLoc,0),n.vertexAttribDivisor(L.aTextureCoordLoc,0)):this._instancedArraysExtension&&(H=n.getVertexAttrib(L.aVertexPositionLoc,this._instancedArraysExtension.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE),W=n.getVertexAttrib(L.aTextureCoordLoc,this._instancedArraysExtension.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE),this._instancedArraysExtension.vertexAttribDivisorANGLE(L.aVertexPositionLoc,0),this._instancedArraysExtension.vertexAttribDivisorANGLE(L.aTextureCoordLoc,0)),n.bindFramebuffer(n.FRAMEBUFFER,k),n.viewport(0,0,this._framebufferWidth,this._framebufferHeight),n.clear(n.COLOR_BUFFER_BIT),n.bindBuffer(n.ARRAY_BUFFER,R),n.vertexAttribPointer(L.aVertexPositionLoc,2,n.FLOAT,!1,16,0),n.enableVertexAttribArray(L.aVertexPositionLoc),n.vertexAttribPointer(L.aTextureCoordLoc,2,n.FLOAT,!1,16,8),n.enableVertexAttribArray(L.aTextureCoordLoc),n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,x),n.useProgram(L.program),n.uniform1f(L.uTexWidthLoc,A.dataWidth),n.uniformMatrix4fv(L.uUvTransformLoc,!1,this._cameraUvTransform),n.activeTexture(n.TEXTURE0),n.bindTexture(n.TEXTURE_2D,e),n.uniform1i(L.uSamplerLoc,0),n.drawElements(n.TRIANGLES,6,n.UNSIGNED_SHORT,0),n.bindBuffer(n.ARRAY_BUFFER,S),n.vertexAttribPointer(L.aVertexPositionLoc,z,I,M,F,O),n.bindBuffer(n.ARRAY_BUFFER,N),n.vertexAttribPointer(L.aTextureCoordLoc,D,C,B,U,V),n.bindBuffer(n.ARRAY_BUFFER,h),n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,b),P||n.disableVertexAttribArray(L.aVertexPositionLoc),G||n.disableVertexAttribArray(L.aTextureCoordLoc),this._isWebGL2?(n.vertexAttribDivisor(L.aVertexPositionLoc,H),n.vertexAttribDivisor(L.aTextureCoordLoc,W)):this._instancedArraysExtension&&(this._instancedArraysExtension.vertexAttribDivisorANGLE(L.aVertexPositionLoc,H),this._instancedArraysExtension.vertexAttribDivisorANGLE(L.aTextureCoordLoc,W)),n.bindFramebuffer(n.FRAMEBUFFER,m),n.useProgram(p),n.bindTexture(n.TEXTURE_2D,d),n.activeTexture(f),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,l),i.pop(),s&&n.enable(n.BLEND),c&&n.enable(n.CULL_FACE),o&&n.enable(n.DEPTH_TEST),_&&n.enable(n.SCISSOR_TEST),u&&n.enable(n.STENCIL_TEST)}readFrame(e,t){let r=this._gl,a=new Uint8Array(t);const n=r.getParameter(r.FRAMEBUFFER_BINDING);let i=this._getFramebuffer(r,A.dataWidth/4,A.dataHeight);return r.bindFramebuffer(r.FRAMEBUFFER,i),r.readPixels(0,0,this._framebufferWidth,this._framebufferHeight,r.RGBA,r.UNSIGNED_BYTE,a),r.bindFramebuffer(r.FRAMEBUFFER,n),{uvTransform:this._cameraUvTransform,data:t,texture:e,dataWidth:A.dataWidth,dataHeight:A.dataHeight,userFacing:this._computedFrontCameraRotation}}_updateTransforms(e,t){e==this._computedTransformRotation&&t==this._computedFrontCameraRotation||(this._computedTransformRotation=e,this._computedFrontCameraRotation=t,this._cameraUvTransform=this._getCameraUvTransform())}_getCameraUvTransform(){switch(this._computedTransformRotation){case 270:return new Float32Array([0,1,0,0,-1,0,0,0,0,0,1,0,1,0,0,1]);case 180:return new Float32Array([-1,0,0,0,0,-1,0,0,0,0,1,0,1,1,0,1]);case 90:return new Float32Array([0,-1,0,0,1,0,0,0,0,0,1,0,0,1,0,1])}return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}_getFramebuffer(e,t,r){if(this._framebufferWidth===t&&this._framebufferHeight===r&&this._framebufferId)return this._framebufferId;if(this._framebufferId&&(e.deleteFramebuffer(this._framebufferId),this._framebufferId=null),this._renderTexture&&(e.deleteTexture(this._renderTexture),this._renderTexture=null),this._framebufferId=e.createFramebuffer(),!this._framebufferId)throw new Error("Unable to create framebuffer");if(e.bindFramebuffer(e.FRAMEBUFFER,this._framebufferId),this._renderTexture=e.createTexture(),!this._renderTexture)throw new Error("Unable to create render texture");e.activeTexture(e.TEXTURE0);const a=e.getParameter(e.TEXTURE_BINDING_2D);e.bindTexture(e.TEXTURE_2D,this._renderTexture),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,r,0,e.RGBA,e.UNSIGNED_BYTE,null),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameterf(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,this._renderTexture,0);let n=e.checkFramebufferStatus(e.FRAMEBUFFER);if(n!==e.FRAMEBUFFER_COMPLETE)throw new Error("Framebuffer not complete: "+n.toString());return this._framebufferWidth=t,this._framebufferHeight=r,e.bindTexture(e.TEXTURE_2D,a),e.bindFramebuffer(e.FRAMEBUFFER,null),this._framebufferId}_getVertexBuffer(e){if(this._vertexBuffer)return this._vertexBuffer;if(this._vertexBuffer=e.createBuffer(),!this._vertexBuffer)throw new Error("Unable to create vertex buffer");e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer);let t=new Float32Array([-1,-1,0,0,-1,1,0,1,1,1,1,1,1,-1,1,0]);return e.bufferData(e.ARRAY_BUFFER,t,e.STATIC_DRAW),this._vertexBuffer}_getIndexBuffer(e){if(this._indexBuffer)return this._indexBuffer;if(this._indexBuffer=e.createBuffer(),!this._indexBuffer)throw new Error("Unable to create index buffer");e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer);let t=new Uint16Array([0,1,2,0,2,3]);return e.bufferData(e.ELEMENT_ARRAY_BUFFER,t,e.STATIC_DRAW),this._indexBuffer}_getGreyscaleShader(e){if(this._greyscaleShader)return this._greyscaleShader;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=L(e,e.VERTEX_SHADER,P),a=L(e,e.FRAGMENT_SHADER,S);e.attachShader(t,r),e.attachShader(t,a),function(e,t){e.linkProgram(t);let r=e.getProgramInfoLog(t);if(r&&r.trim().length>0)throw new Error("Unable to link: "+r)}(e,t);let n=e.getUniformLocation(t,"uTexWidth");if(!n)throw new Error("Unable to get uniform location uTexWidth");let i=e.getUniformLocation(t,"uUvTransform");if(!i)throw new Error("Unable to get uniform location uUvTransform");let _=e.getUniformLocation(t,"uSampler");if(!_)throw new Error("Unable to get uniform location uSampler");return this._greyscaleShader={program:t,aVertexPositionLoc:e.getAttribLocation(t,"aVertexPosition"),aTextureCoordLoc:e.getAttribLocation(t,"aTextureCoord"),uTexWidthLoc:n,uUvTransformLoc:i,uSamplerLoc:_},this._greyscaleShader}}let I,M,F,O,P="\n attribute vec4 aVertexPosition;\n attribute vec2 aTextureCoord;\n\n varying highp vec2 vTextureCoord1;\n varying highp vec2 vTextureCoord2;\n varying highp vec2 vTextureCoord3;\n varying highp vec2 vTextureCoord4;\n\n uniform float uTexWidth;\n\tuniform mat4 uUvTransform;\n\n void main(void) {\n highp vec2 offset1 = vec2(1.5 / uTexWidth, 0);\n highp vec2 offset2 = vec2(0.5 / uTexWidth, 0);\n\n gl_Position = aVertexPosition;\n vTextureCoord1 = (uUvTransform * vec4(aTextureCoord - offset1, 0, 1)).xy;\n vTextureCoord2 = (uUvTransform * vec4(aTextureCoord - offset2, 0, 1)).xy;\n vTextureCoord3 = (uUvTransform * vec4(aTextureCoord + offset2, 0, 1)).xy;\n vTextureCoord4 = (uUvTransform * vec4(aTextureCoord + offset1, 0, 1)).xy;\n }\n",S="\n varying highp vec2 vTextureCoord1;\n varying highp vec2 vTextureCoord2;\n varying highp vec2 vTextureCoord3;\n varying highp vec2 vTextureCoord4;\n\n uniform sampler2D uSampler;\n\n const lowp vec3 colorWeights = vec3(77.0 / 256.0, 150.0 / 256.0, 29.0 / 256.0);\n\n void main(void) {\n lowp vec4 outpx;\n\n outpx.r = dot(colorWeights, texture2D(uSampler, vTextureCoord1).xyz);\n outpx.g = dot(colorWeights, texture2D(uSampler, vTextureCoord2).xyz);\n outpx.b = dot(colorWeights, texture2D(uSampler, vTextureCoord3).xyz);\n outpx.a = dot(colorWeights, texture2D(uSampler, vTextureCoord4).xyz);\n\n gl_FragColor = outpx;\n }\n";var D=function(e,t,r,a){return new(r||(r=Promise))((function(n,i){function _(e){try{s(a.next(e))}catch(e){i(e)}}function o(e){try{s(a.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(_,o)}s((a=a.apply(e,t||[])).next())}))};let C=new class{constructor(){this.onOutgoingMessage=new c,this.onIncomingMessage=new u,this._outgoingMessages=[]}postIncomingMessage(e){this.onIncomingMessage.emit(e)}postOutgoingMessage(e,t){this._outgoingMessages.push({msg:e,transferables:t}),this.onOutgoingMessage.emit()}getOutgoingMessages(){let e=this._outgoingMessages;return this._outgoingMessages=[],e}},B=0;function U(e){return D(this,void 0,void 0,(function*(){let t=i({locateFile:(t,r)=>t.endsWith("zappar-cv.wasm")?e:r+t,onRuntimeInitialized:()=>{let e=function(e){let t=e.cwrap("zappar_log_level","number",[]),r=e.cwrap("zappar_log_level_set",null,["number"]),a=e.cwrap("zappar_analytics_project_id_set",null,["string","string"]),n=e.cwrap("zappar_pipeline_create","number",[]),i=e.cwrap("zappar_pipeline_destroy",null,["number"]),_=e.cwrap("zappar_pipeline_frame_update",null,["number"]),o=e.cwrap("zappar_pipeline_frame_number","number",["number"]),s=e.cwrap("zappar_pipeline_camera_model","number",["number"]),c=e.cwrap("zappar_pipeline_camera_frame_user_data","number",["number"]),u=e.cwrap("zappar_pipeline_camera_frame_submit",null,["number","number","number","number","number","number","number","number","number"]),f=e.cwrap("zappar_pipeline_camera_frame_submit_raw_pointer",null,["number","number","number","number","number","number","number","number","number","number","number"]),l=e.cwrap("zappar_pipeline_camera_frame_camera_attitude","number",["number"]),p=e.cwrap("zappar_pipeline_camera_frame_device_attitude","number",["number"]),d=e.cwrap("zappar_pipeline_motion_accelerometer_submit",null,["number","number","number","number","number"]),m=e.cwrap("zappar_pipeline_motion_accelerometer_with_gravity_submit_int",null,["number","number","number","number","number","number"]),h=e.cwrap("zappar_pipeline_motion_accelerometer_without_gravity_submit_int",null,["number","number","number","number","number","number"]),b=e.cwrap("zappar_pipeline_motion_rotation_rate_submit",null,["number","number","number","number","number"]),g=e.cwrap("zappar_pipeline_motion_rotation_rate_submit_int",null,["number","number","number","number","number","number"]),w=e.cwrap("zappar_pipeline_motion_attitude_submit",null,["number","number","number","number","number"]),y=e.cwrap("zappar_pipeline_motion_attitude_submit_int",null,["number","number","number","number","number","number"]),v=e.cwrap("zappar_pipeline_motion_attitude_matrix_submit",null,["number","number"]),E=e.cwrap("zappar_camera_source_create","number",["number","string"]),A=e.cwrap("zappar_camera_source_destroy",null,["number"]),T=e.cwrap("zappar_sequence_source_create","number",["number"]),k=e.cwrap("zappar_sequence_source_destroy",null,["number"]),R=e.cwrap("zappar_image_tracker_create","number",["number"]),x=e.cwrap("zappar_image_tracker_destroy",null,["number"]),L=e.cwrap("zappar_image_tracker_target_load_from_memory",null,["number","number","number"]),z=e.cwrap("zappar_image_tracker_target_loaded_version","number",["number"]),I=e.cwrap("zappar_image_tracker_enabled","number",["number"]),M=e.cwrap("zappar_image_tracker_enabled_set",null,["number","number"]),F=e.cwrap("zappar_image_tracker_anchor_count","number",["number"]),O=e.cwrap("zappar_image_tracker_anchor_id","string",["number","number"]),P=e.cwrap("zappar_image_tracker_anchor_pose_raw","number",["number","number"]),S=e.cwrap("zappar_face_tracker_create","number",["number"]),D=e.cwrap("zappar_face_tracker_destroy",null,["number"]),C=e.cwrap("zappar_face_tracker_model_load_from_memory",null,["number","number","number"]),B=e.cwrap("zappar_face_tracker_model_loaded_version","number",["number"]),U=e.cwrap("zappar_face_tracker_enabled_set",null,["number","number"]),V=e.cwrap("zappar_face_tracker_enabled","number",["number"]),N=e.cwrap("zappar_face_tracker_max_faces_set",null,["number","number"]),G=e.cwrap("zappar_face_tracker_max_faces","number",["number"]),H=e.cwrap("zappar_face_tracker_anchor_count","number",["number"]),W=e.cwrap("zappar_face_tracker_anchor_id","string",["number","number"]),Y=e.cwrap("zappar_face_tracker_anchor_pose_raw","number",["number","number"]),X=e.cwrap("zappar_face_tracker_anchor_identity_coefficients","number",["number","number"]),q=e.cwrap("zappar_face_tracker_anchor_expression_coefficients","number",["number","number"]),Z=e.cwrap("zappar_face_mesh_create","number",[]),K=e.cwrap("zappar_face_mesh_destroy",null,["number"]),j=e.cwrap("zappar_face_landmark_create","number",["number"]),J=e.cwrap("zappar_face_landmark_destroy",null,["number"]),Q=e.cwrap("zappar_barcode_finder_create","number",["number"]),$=e.cwrap("zappar_barcode_finder_destroy",null,["number"]),ee=e.cwrap("zappar_barcode_finder_enabled_set",null,["number","number"]),te=e.cwrap("zappar_barcode_finder_enabled","number",["number"]),re=e.cwrap("zappar_barcode_finder_found_number","number",["number"]),ae=e.cwrap("zappar_barcode_finder_found_text","string",["number","number"]),ne=e.cwrap("zappar_barcode_finder_found_format","number",["number","number"]),ie=e.cwrap("zappar_barcode_finder_formats","number",["number"]),_e=e.cwrap("zappar_barcode_finder_formats_set",null,["number","number"]),oe=e.cwrap("zappar_instant_world_tracker_create","number",["number"]),se=e.cwrap("zappar_instant_world_tracker_destroy",null,["number"]),ce=e.cwrap("zappar_instant_world_tracker_enabled_set",null,["number","number"]),ue=e.cwrap("zappar_instant_world_tracker_enabled","number",["number"]),fe=e.cwrap("zappar_instant_world_tracker_anchor_pose_raw","number",["number"]),le=e.cwrap("zappar_instant_world_tracker_anchor_pose_set_from_camera_offset_raw",null,["number","number","number","number","number"]),pe=e.cwrap("zappar_world_tracker_create","number",["number"]),de=e.cwrap("zappar_world_tracker_destroy",null,["number"]),me=e.cwrap("zappar_world_tracker_enabled","number",["number"]),he=e.cwrap("zappar_world_tracker_enabled_set",null,["number","number"]),be=e.cwrap("zappar_world_tracker_quality","number",["number"]),ge=e.cwrap("zappar_world_tracker_plane_count","number",["number"]),we=e.cwrap("zappar_world_tracker_plane_pose_raw","number",["number","number"]),ye=e.cwrap("zappar_world_tracker_world_anchor_valid","number",["number"]),ve=e.cwrap("zappar_world_tracker_world_anchor_pose_raw","number",["number"]),Ee=e.cwrap("zappar_world_tracker_ground_anchor_valid","number",["number"]),Ae=e.cwrap("zappar_world_tracker_ground_anchor_pose_raw","number",["number"]),Te=e.cwrap("zappar_world_tracker_reset",null,["number"]),ke=32,Re=e._malloc(ke),xe=(e._malloc(64),new Map),Le=(t,r)=>{let a=xe.get(t);return(!a||a[0]<r)&&(a&&e._free(a[1]),a=[r,e._malloc(r)],xe.set(t,a)),a[1]};return{log_level:()=>t(),log_level_set:e=>r(e),analytics_project_id_set:(e,t)=>a(e,t),pipeline_create:()=>n(),pipeline_destroy:()=>{i()},pipeline_frame_update:e=>_(e),pipeline_frame_number:e=>o(e),pipeline_camera_model:t=>{let r=s(t),a=new Float32Array(6);return a.set(e.HEAPF32.subarray(r/4,6+r/4)),r=a,r},pipeline_camera_frame_user_data:e=>c(e),pipeline_camera_frame_submit:(t,r,a,n,i,_,o,s)=>{ke<r.byteLength&&(e._free(Re),ke=r.byteLength,Re=e._malloc(ke));let c=Re,f=r.byteLength;e.HEAPU8.set(new Uint8Array(r),Re);let l=a,p=n,d=i,m=Le(4,_.byteLength);e.HEAPF32.set(_,m/4);let h=Le(5,o.byteLength);return e.HEAPF32.set(o,h/4),u(t,c,f,l,p,d,m,h,s?1:0)},pipeline_camera_frame_submit_raw_pointer:(t,r,a,n,i,_,o,s,c,u,l)=>{let p=r,d=a,m=n,h=i,b=_,g=o,w=Le(6,s.byteLength);e.HEAPF32.set(s,w/4);let y=c,v=Le(8,u.byteLength);return e.HEAPF32.set(u,v/4),f(t,p,d,m,h,b,g,w,y,v,l?1:0)},pipeline_camera_frame_camera_attitude:t=>{let r=l(t),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(r/4,16+r/4)),r=a,r},pipeline_camera_frame_device_attitude:t=>{let r=p(t),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(r/4,16+r/4)),r=a,r},pipeline_motion_accelerometer_submit:(e,t,r,a,n)=>d(e,t,r,a,n),pipeline_motion_accelerometer_with_gravity_submit_int:(e,t,r,a,n,i)=>m(e,t,r,a,n,i),pipeline_motion_accelerometer_without_gravity_submit_int:(e,t,r,a,n,i)=>h(e,t,r,a,n,i),pipeline_motion_rotation_rate_submit:(e,t,r,a,n)=>b(e,t,r,a,n),pipeline_motion_rotation_rate_submit_int:(e,t,r,a,n,i)=>g(e,t,r,a,n,i),pipeline_motion_attitude_submit:(e,t,r,a,n)=>w(e,t,r,a,n),pipeline_motion_attitude_submit_int:(e,t,r,a,n,i)=>y(e,t,r,a,n,i),pipeline_motion_attitude_matrix_submit:(t,r)=>{let a=Le(0,r.byteLength);return e.HEAPF32.set(r,a/4),v(t,a)},camera_source_create:(e,t)=>E(e,t),camera_source_destroy:()=>{A()},sequence_source_create:e=>T(e),sequence_source_destroy:()=>{k()},image_tracker_create:e=>R(e),image_tracker_destroy:()=>{x()},image_tracker_target_load_from_memory:(t,r)=>{ke<r.byteLength&&(e._free(Re),ke=r.byteLength,Re=e._malloc(ke));let a=Re,n=r.byteLength;return e.HEAPU8.set(new Uint8Array(r),Re),L(t,a,n)},image_tracker_target_loaded_version:e=>z(e),image_tracker_enabled:e=>{let t=I(e);return t=1===t,t},image_tracker_enabled_set:(e,t)=>M(e,t?1:0),image_tracker_anchor_count:e=>F(e),image_tracker_anchor_id:(e,t)=>O(e,t),image_tracker_anchor_pose_raw:(t,r)=>{let a=P(t,r),n=new Float32Array(16);return n.set(e.HEAPF32.subarray(a/4,16+a/4)),a=n,a},face_tracker_create:e=>S(e),face_tracker_destroy:()=>{D()},face_tracker_model_load_from_memory:(t,r)=>{ke<r.byteLength&&(e._free(Re),ke=r.byteLength,Re=e._malloc(ke));let a=Re,n=r.byteLength;return e.HEAPU8.set(new Uint8Array(r),Re),C(t,a,n)},face_tracker_model_loaded_version:e=>B(e),face_tracker_enabled_set:(e,t)=>U(e,t?1:0),face_tracker_enabled:e=>{let t=V(e);return t=1===t,t},face_tracker_max_faces_set:(e,t)=>N(e,t),face_tracker_max_faces:e=>G(e),face_tracker_anchor_count:e=>H(e),face_tracker_anchor_id:(e,t)=>W(e,t),face_tracker_anchor_pose_raw:(t,r)=>{let a=Y(t,r),n=new Float32Array(16);return n.set(e.HEAPF32.subarray(a/4,16+a/4)),a=n,a},face_tracker_anchor_identity_coefficients:(t,r)=>{let a=X(t,r),n=new Float32Array(50);return n.set(e.HEAPF32.subarray(a/4,50+a/4)),a=n,a},face_tracker_anchor_expression_coefficients:(t,r)=>{let a=q(t,r),n=new Float32Array(29);return n.set(e.HEAPF32.subarray(a/4,29+a/4)),a=n,a},face_mesh_create:()=>Z(),face_mesh_destroy:()=>{K()},face_landmark_create:e=>j(e),face_landmark_destroy:()=>{J()},barcode_finder_create:e=>Q(e),barcode_finder_destroy:()=>{$()},barcode_finder_enabled_set:(e,t)=>ee(e,t?1:0),barcode_finder_enabled:e=>{let t=te(e);return t=1===t,t},barcode_finder_found_number:e=>re(e),barcode_finder_found_text:(e,t)=>ae(e,t),barcode_finder_found_format:(e,t)=>ne(e,t),barcode_finder_formats:e=>ie(e),barcode_finder_formats_set:(e,t)=>_e(e,t),instant_world_tracker_create:e=>oe(e),instant_world_tracker_destroy:()=>{se()},instant_world_tracker_enabled_set:(e,t)=>ce(e,t?1:0),instant_world_tracker_enabled:e=>{let t=ue(e);return t=1===t,t},instant_world_tracker_anchor_pose_raw:t=>{let r=fe(t),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(r/4,16+r/4)),r=a,r},instant_world_tracker_anchor_pose_set_from_camera_offset_raw:(e,t,r,a,n)=>le(e,t,r,a,n),world_tracker_create:e=>pe(e),world_tracker_destroy:()=>{de()},world_tracker_enabled:e=>{let t=me(e);return t=1===t,t},world_tracker_enabled_set:(e,t)=>he(e,t?1:0),world_tracker_quality:e=>be(e),world_tracker_plane_count:e=>ge(e),world_tracker_plane_pose_raw:(t,r)=>{let a=we(t,r),n=new Float32Array(16);return n.set(e.HEAPF32.subarray(a/4,16+a/4)),a=n,a},world_tracker_world_anchor_valid:e=>{let t=ye(e);return t=1===t,t},world_tracker_world_anchor_pose_raw:t=>{let r=ve(t),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(r/4,16+r/4)),r=a,r},world_tracker_ground_anchor_valid:e=>{let t=Ee(e);return t=1===t,t},world_tracker_ground_anchor_pose_raw:t=>{let r=Ae(t),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(r/4,16+r/4)),r=a,r},world_tracker_reset:e=>Te(e)}}(t),r=new s(e,((e,t)=>{C.postOutgoingMessage({p:e,t:"zappar",d:t},[t])}));C.postOutgoingMessage("loaded",[]),C.onIncomingMessage.bind((a=>{var n;switch(a.t){case"zappar":r.processBuffer(a.d),C.postOutgoingMessage({t:"buf",d:a.d},[a.d]);break;case"buf":null===(n=r.serializersByPipelineId.get(a.p))||void 0===n||n.bufferReturn(a.d);break;case"cameraFrameC2S":{let t,n=a,i=r._pipeline_by_instance.get(n.p);i&&(e.pipeline_camera_frame_submit(i,n.d,n.width,n.height,n.token,n.c2d,n.cm,n.userFacing),e.pipeline_frame_update(i),t=e.pipeline_camera_frame_device_attitude(i),r.exploreState());let _={token:n.token,d:n.d,p:n.p,t:"cameraFrameRecycleS2C",att:t};C.postOutgoingMessage(_,[n.d]);break}case"streamC2S":{let n=a;(function(e,t,r,a,n,i,_){return D(this,void 0,void 0,(function*(){for(;;){let o;try{o=yield r.getReader()}catch(e){yield q(1e3);continue}try{return void(yield X(e,t,o,a,n,i,_))}catch(e){}return void(yield q(1e3))}}))})(t,e,n.s,n.p,n.userFacing,r,n.source).then((()=>{let e={t:"streamEndedS2C",p:n.p,source:n.source};C.postOutgoingMessage(e,[])})).catch((e=>{}));break}case"cameraToScreenC2S":B=a.r;break;case"imageBitmapC2S":!function(e,t,r,a){const[n,i]=function(){if(!F||!O){const e=new OffscreenCanvas(1,1);if(O=e.getContext("webgl"),!O)throw new Error("Unable to get offscreen GL context");F=new z(O)}return[F,O]}();if(M||(M=i.createTexture(),i.bindTexture(i.TEXTURE_2D,M),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR)),!M)return;(!I||I.byteLength<A.dataWidth*A.dataHeight)&&(I=new ArrayBuffer(A.dataWidth*A.dataHeight)),n.uploadFrame(M,e.i,e.r,e.userFacing);let _=n.readFrame(M,I),o={t:"imageBitmapS2C",dataWidth:_.dataWidth,dataHeight:_.dataHeight,frame:e.i,userFacing:_.userFacing,uvTransform:_.uvTransform||g.Ue(),tokenId:e.tokenId,p:e.p};a.postOutgoingMessage(o,[e.i]);let s=r._pipeline_by_instance.get(e.p);s&&(t.pipeline_camera_frame_submit(s,I,_.dataWidth,_.dataHeight,e.tokenId,e.cameraToDevice,e.cameraModel,_.userFacing),t.pipeline_frame_update(s),r.exploreState())}(a,e,r,C);break;case"sensorDataC2S":{const t=a,n=r._pipeline_by_instance.get(t.p);if(!n)break;switch(t.sensor){case"accel":e.pipeline_motion_accelerometer_submit(n,t.timestamp,t.x,t.y,t.z);break;case"accel_w_gravity_int":e.pipeline_motion_accelerometer_with_gravity_submit_int(n,t.timestamp,t.interval,t.x,t.y,t.z);break;case"accel_wo_gravity_int":e.pipeline_motion_accelerometer_without_gravity_submit_int(n,t.timestamp,t.interval,t.x,t.y,t.z);break;case"attitude_int":e.pipeline_motion_attitude_submit_int(n,t.timestamp,t.interval,t.x,t.y,t.z);break;case"attitude":e.pipeline_motion_attitude_submit(n,t.timestamp,t.x,t.y,t.z);break;case"rotation_rate_int":e.pipeline_motion_rotation_rate_submit_int(n,t.timestamp,t.interval,t.x,t.y,t.z);break;case"rotation_rate":e.pipeline_motion_rotation_rate_submit(n,t.timestamp,t.x,t.y,t.z)}break}case"attitudeMatrixC2S":{const t=a,n=r._pipeline_by_instance.get(t.p);if(!n)break;e.pipeline_motion_attitude_matrix_submit(n,t.m);break}}}))}})}))}let V=0,N=0,G=1;function H(e){return new Promise(((t,r)=>{const a=setTimeout((()=>{r("Frame timeout")}),2e3);e.read().then((e=>{clearTimeout(a),t(e)}))}))}const W=g.Ue(),Y=new Float32Array([300,300,160,120,0,0]);function X(e,t,r,a,n,i,_){var o;return D(this,void 0,void 0,(function*(){for(;;){let s=yield H(r);if(s.done)return void(null===(o=s.value)||void 0===o||o.close());let c=s.value,u=c.allocationSize();u>N&&(V>0&&e._free(V),V=e._malloc(u),N=u),yield c.copyTo(e.HEAPU8.subarray(V,V+N));let f=G;G++;const l=c.visibleRect.width,p=c.visibleRect.height;let d,m=l,h=p;switch(B){case 270:d=new Float32Array([0,1,0,0,-1,0,0,0,0,0,1,0,1,0,0,1]),m=p,h=l;break;case 180:d=new Float32Array([-1,0,0,0,0,-1,0,0,0,0,1,0,1,1,0,1]);break;case 90:d=new Float32Array([0,-1,0,0,1,0,0,0,0,0,1,0,0,1,0,1]),m=p,h=l;break;default:d=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}let b=c.clone();n?g.xJ(W,[-1,1,-1]):g.yR(W);let w=300*A.dataWidth/320;Y[0]=w,Y[1]=w,Y[2]=.5*A.dataWidth,Y[3]=.5*A.dataHeight;const y={token:f,d:b,p:a,t:"videoFrameS2C",userFacing:n,uvTransform:d,w:m,h,cameraToDevice:W,cameraModel:Y,source:_};C.postOutgoingMessage(y,[y.d,y.uvTransform.buffer]);const v=i._pipeline_by_instance.get(a);if(v){try{t.pipeline_camera_frame_submit_raw_pointer(v,V,u,Z(c.format),l,p,f,W,B,Y,n)}catch(e){}t.pipeline_frame_update(v),i.exploreState()}c.close()}}))}function q(e){return new Promise((t=>{setTimeout(t,e)}))}function Z(e){switch(e){case"I420":return m.FRAME_PIXEL_FORMAT_I420;case"I420A":return m.FRAME_PIXEL_FORMAT_I420A;case"I422":return m.FRAME_PIXEL_FORMAT_I422;case"I444":return m.FRAME_PIXEL_FORMAT_I444;case"NV12":return m.FRAME_PIXEL_FORMAT_NV12;case"RGBA":case"RGBX":return m.FRAME_PIXEL_FORMAT_RGBA;case"BGRA":case"BGRX":return m.FRAME_PIXEL_FORMAT_BGRA}return m.FRAME_PIXEL_FORMAT_Y}const K=self;C.onOutgoingMessage.bind((()=>{let e=C.getOutgoingMessages();for(let t of e)K.postMessage(t.msg,t.transferables)}));let j=e=>{e&&e.data&&"wasm"===e.data.t&&(U(location.href.startsWith("blob")?e.data.url:new URL(r(751),r.b).toString()),K.removeEventListener("message",j))};K.addEventListener("message",j),K.addEventListener("message",(e=>{C.postIncomingMessage(e.data)}))},751:(e,t,r)=>{e.exports=r.p+"22a0ba3553d400112656.wasm"}},a={};function n(e){var t=a[e];if(void 0!==t)return t.exports;var i=a[e]={exports:{}};return r[e].call(i.exports,i,i.exports,n),i.exports}return n.m=r,n.x=()=>{var e=n.O(void 0,[169],(()=>n(56)));return n.O(e)},n.amdO={},e=[],n.O=(t,r,a,i)=>{if(!r){var _=1/0;for(u=0;u<e.length;u++){for(var[r,a,i]=e[u],o=!0,s=0;s<r.length;s++)(!1&i||_>=i)&&Object.keys(n.O).every((e=>n.O[e](r[s])))?r.splice(s--,1):(o=!1,i<_&&(_=i));if(o){e.splice(u--,1);var c=a();void 0!==c&&(t=c)}}return t}i=i||0;for(var u=e.length;u>0&&e[u-1][2]>i;u--)e[u]=e[u-1];e[u]=[r,a,i]},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((t,r)=>(n.f[r](e,t),t)),[])),n.u=e=>e+".zappar-cv.js",n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var t=n.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");r.length&&(e=r[r.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{n.b=self.location+"";var e={56:1};n.f.i=(t,r)=>{e[t]||importScripts(n.p+n.u(t))};var t=self.webpackChunkZCV=self.webpackChunkZCV||[],r=t.push.bind(t);t.push=t=>{var[a,i,_]=t;for(var o in i)n.o(i,o)&&(n.m[o]=i[o]);for(_&&_(n);a.length;)e[a.pop()]=1;r(t)}})(),t=n.x,n.x=()=>n.e(169).then(t),n.x()})()}));