From 6663fd6ab4d4a74dd0d3dc1b17f1279b32cf26b6 Mon Sep 17 00:00:00 2001 From: iqudoo Date: Mon, 25 May 2026 19:12:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96iframe=E5=86=85=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E7=9A=84=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/index.d.ts | 2 +- dist/index.js | 2 +- src/_export.js | 155 ++++++++++++-------------------- src/services/config.js | 2 +- src/services/embedScanBridge.js | 12 +++ src/services/provider/scan.js | 38 ++++++-- types/index.d.ts | 2 +- 7 files changed, 103 insertions(+), 110 deletions(-) create mode 100644 src/services/embedScanBridge.js diff --git a/dist/index.d.ts b/dist/index.d.ts index c1684c8..3d271a2 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -8,7 +8,7 @@ interface ScanConfigOptions { scanRestartDelay?: number, /** * iframe 场景下是否将 API 调用转发到父页面同名 SDK(postMessage)。 - * - `'auto'`(默认):处于子 frame(`parent !== window`)即转发,对外 API(含 `startScan`)均由父页 SDK 执行 + * - `'auto'`(默认):处于子 frame 时 `startScan` 等由父页执行;`onScanListener` 仅注册在 iframe 内,识别结果由父页 `postMessage` 回传 * - `true` / `'on'` / `'parent'`:存在父 window 时强制转发 * - `false` / `'off'` / `'local'`:始终在本页执行(子页自己要跑扫码时用) */ diff --git a/dist/index.js b/dist/index.js index 67fabb4..2db0ce9 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1 +1 @@ -!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=11)}([function(e,t,r){"use strict";t.__esModule=!0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.getVersion=function(){return o},t.getConfig=function(e){if(Object.prototype.hasOwnProperty.call(a,e))return a[e];if(Object.prototype.hasOwnProperty.call(i,e))return i[e];return},t.setConfig=function(e){e&&"object"==(void 0===e?"undefined":n(e))&&Object.assign(a,e)};var o="0.0.1.0509.2206",i={embedProxyMode:"auto"},a={}},function(e,t,r){"use strict";t.__esModule=!0,t.createUUID=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))}},function(e,t,r){"use strict";t.__esModule=!0;var n={};n="undefined"!=typeof GameGlobal?Object.assign({},GameGlobal):"undefined"==typeof window?{setTimeout:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(){return setTimeout.apply(void 0,arguments)})),setInterval:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(){return setInterval.apply(void 0,arguments)})),clearTimeout:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(){return clearTimeout.apply(void 0,arguments)})),clearInterval:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(){return clearInterval.apply(void 0,arguments)}))}:window,t.default=n},function(e,t,r){"use strict";t.__esModule=!0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.toAny=function(e,t){if(null==e)return t;var r=function(e){if("string"!=typeof e)return void 0===e?"undefined":n(e);try{var t=JSON.parse(e);return void 0===t?"undefined":n(t)}catch(t){var r=parseFloat(e);return isNaN(r)||""+r!==e?"string":"number"}}(e);null!=t&&(r=void 0===t?"undefined":n(t));switch(r){case"number":return function(e){try{return JSON.parse(e)}catch(t){return parseFloat(e)}}(e);case"boolean":return function(e){return!!e&&"false"!=e&&"0"!=e}(e);case"object":return function(e,t){if("object"===(void 0===e?"undefined":n(e)))return e;try{return JSON.parse(e)}catch(e){}return t}(e,t);case"string":return function(e,t){try{var r=void 0===e?"undefined":n(e);if("string"===r)return e;if("boolean"===r)return e?"true":"false";if("number"===r)return""+e;if("object"===r)return JSON.stringify(e)}catch(e){}return t}(e,t)}return t}},function(e,t,r){"use strict";t.__esModule=!0,t.printError=function(e){for(var t,r=arguments.length,n=Array(r>1?r-1:0),o=1;o1?r-1:0),o=1;o1?r-1:0),o=1;o0?(0,a.startScanner)((function(e){C(e=v(e))})):(0,a.stopScanner)()}function y(e,t){var r=null;return t&&"string"==typeof t&&(r=new RegExp(t)),!r||r.test(e)}function m(e){e=v(e);for(var t=!1,r=0;r100&&s(),u=r,i+=e.key,a&&clearTimeout(a),a=setTimeout((function(){s()}),100)}}}},function(e,t,r){"use strict";var n=a(r(5)),o=a(r(2)),i=r(25);function a(e){return e&&e.__esModule?e:{default:e}}var u=(0,i.exportSDK)(n.default,null,"config","setStatusListener","onScanListener","offScanListener","stopScan","startScan","scanImage","clear");(0,i.installEmbedHost)(n.default),void 0!==o.default&&(o.default.IScan=u,function(){if(o.default.__IScanReady__&&o.default.__IScanReady__(),o.default.dispatchEvent)if("function"==typeof Event)o.default.dispatchEvent(new Event("IScanReady"));else if("undefined"!=typeof document){var e=document.createEvent("Event");e.initEvent("IScanReady",!0,!0),o.default.dispatchEvent(e)}}()),e.exports={IScan:u}},function(e,t,r){"use strict";r(2),r(13)},function(e,t,r){"use strict";var n=r(14);"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(e,t){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var r=Object(e),n=1;n1)for(var r=1;r=0&&r.splice(n,1)}},t.bridgeSync=d,t.bridgeAsync=function(e,t,r){return new Promise((function(n,o){if(f()){var a=!1,u=null;r>0&&(u=setTimeout((function(){a=!0,u=null,o("bridgeAsync timeout")}),r));var s=(0,i.createUUID)()+"_"+Date.now();A=s,(l=function(e,t){a||(u&&clearTimeout(u),0==e?n(t):o(t))})&&"function"==typeof l&&(c[A]=l),d(e,Object.assign({request_id:s},t))}else o("Can't bridgeAsync, because not in runtime");var A,l})).then((function(r){var n=[e];return t&&(n.push("params:"),n.push(t)),r&&(n.push("resp:"),n.push(r)),o.printDebug.apply(void 0,["bridge resp >>>"].concat(n)),r})).catch((function(r){throw t?(0,o.printWarn)("bridge err >>>",e,"params:",t,r):(0,o.printWarn)("bridge err >>>",e,r),r}))};var n=r(3),o=r(4),i=r(1),a=r(0),u={},c={};function s(){return"undefined"==typeof window?null:window}function A(){return(0,a.getConfig)("bridgeName")?(0,a.getConfig)("bridgeName"):"__bridge_client__"}function l(){var e=s();if(e){var t=A()+"_handle_callback";e[t]||(e[t]=function(e){var t=(0,n.toAny)(e,{}),r=t.method,o=t.payload,i=t.code,a=t.request_id,s=(0,n.toAny)(o,{});a?c[a]&&c[a](i,s):u[r]&&u[r].forEach((function(e){e&&e(s)}))})}}function f(){var e=s();return!!e&&!!e[A()]&&!1!==(0,a.getConfig)("bridgeEnabled")}function d(e,t){l();var r=(0,n.toAny)(function(e){var t=e.split("."),r=s();if(r){for(;t.length>1;)r=r[t.shift()];if(r&&1==t.length&&r.hasOwnProperty(t[0])){for(var n,o=arguments.length,i=Array(o>1?o-1:0),a=1;a>>"].concat(i)),r}},function(e,t,r){"use strict";t.__esModule=!0,t.unlockScanBeep=function(){if(!1===(0,a.getConfig)("webScanBeepEnabled")||v)return;var e=M();if(!e)return;try{e.load&&e.load(),v=!0}catch(e){}},t.isSupportWebScan=function(){return"undefined"!=typeof navigator&&navigator.mediaDevices&&navigator.mediaDevices.getUserMedia&&!!E()&&!1!==(0,a.getConfig)("webScanEnabled")},t.isSupportImageScan=R,t.stopScanForWeb=function(){return Promise.resolve().then((function(){w()}))},t.startScanForImage=function(){return P().then((function(e){return e?x((0,a.getConfig)("webScanType")).then((function(t){return O(t,e)})):null})).then((function(e){return e&&e.rawValue?{result:e.rawValue}:{success:!1,error:"未识别到二维码或条形码"}}))},t.startScanForWeb=function(e){var t=null;return new Promise((function(r,n){try{w(),s.uuid=(0,i.createUUID)(),s.finish=!1,t=s.uuid;var o,u=(0,a.getConfig)("webScanCanvasStyle"),c=(0,a.getConfig)("webScanCanvasClass"),A=y("video","__webscan_video__","display: none",!1),f=!1!==(0,a.getConfig)("webScanCanvasEnabled"),d=!u&&!c?function(){if("undefined"==typeof window)return{width:300,height:300};if(C()){var e=Math.min(window.innerWidth||300,window.innerHeight||300);return{width:Math.max(1,Math.round(e)),height:Math.max(1,Math.round(e))}}return{width:300,height:300}}():{width:300,height:300},p=d.width,h=d.height,v=u||(c?"":"position: fixed; width: "+d.width+"px; height: "+d.height+"px; top: 0; left: 0; z-index: 9999;"),g=y("canvas","__webscan_canvas__",v+" display: none;",!0);g.style.display,g.style.cssText=v,g.className=c||"",o=g.style.display;var b=I(g,p,h);g.style.display="none";var E=null,_=null;f&&((E=y("button","__webscan_close_button__","display: none;",!0)).type="button",E.className=(0,a.getConfig)("webScanCloseButtonClass")||"",E.innerHTML='',E.setAttribute("aria-label","close"),E.onclick=function(e){e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),s.uuid===t&&(s.uuid=null)},E.uuid=s.uuid,R()&&((_=y("button","__webscan_pick_image_button__","display: none;",!0)).type="button",_.className=(0,a.getConfig)("webScanPickImageButtonClass")||"",_.innerHTML='',_.setAttribute("aria-label","pick image"),_.uuid=s.uuid));var M=g.getContext("2d");A.width=300,A.height=300,A.uuid=s.uuid,g.uuid=s.uuid,x((0,a.getConfig)("webScanType")).then((function(e){return navigator.mediaDevices.getUserMedia({video:{facingMode:"environment"}}).then((function(t){return{detector:e,stream:t}}))})).then((function(i){var u=i.detector,c=i.stream;if(s.uuid!==t)return m(c),void n({cancel:1});s.stream=c,s.videoEl=A;var d=function(e){var t=(0,a.getConfig)("webScanVideoMirror");if("boolean"==typeof t)return t;try{var r=e&&e.getVideoTracks&&e.getVideoTracks()[0],n=r&&r.getSettings&&r.getSettings();if(n&&"environment"===n.facingMode)return!1;if(n&&"user"===n.facingMode)return!0}catch(e){}return!C()}(c),v=!0===(0,a.getConfig)("webScanVideoMirrorVertical");A.srcObject=c,A.setAttribute("playsinline",!0),A.play(),g.style.display="none";var y=!1,w=!1,x=!1,R=function(){if(!x){x=!0,m(c),s.uuid!==t&&s.stream!==c||(s.stream=null,s.videoEl=null);try{A.pause&&A.pause(),A.srcObject=null}catch(e){}E&&(E.style.display="none"),_&&(_.style.display="none")}};_&&(_.onclick=function(n){n.preventDefault&&n.preventDefault(),n.stopPropagation&&n.stopPropagation(),s.uuid!==t||x||P().then((function(n){n&&s.uuid===t&&!x&&O(u,n).then((function(n){n&&n.rawValue&&s.uuid===t&&!x&&e&&e(n.rawValue)&&(T(),s.uuid=null,s.finish=!0,R(),r({result:n.rawValue}))})).catch((function(){}))}))});var k=function i(){try{if(A.readyState===A.HAVE_ENOUGH_DATA&&!y){g.width=b.width,g.height=b.height;var c=(m=A.videoWidth,C=A.videoHeight,x=g.width,P=g.height,{scale:O=Math.max(x/m,P/C),width:k=m*O,height:D=C*O,x:(x-k)/2,y:(P-D)/2});M.setTransform(d?-1:1,0,0,v?-1:1,d?g.width:0,v?g.height:0),M.drawImage(A,c.x,c.y,c.width,c.height),M.setTransform(1,0,0,1,0,0),f&&!w&&(w=!0,g.style.display=o||"",b=I(g,p,h),function(e,t){if(!e)return;var r=(0,a.getConfig)("webScanCloseButtonStyle")||"";e.style.cssText=l()+function(e){var t=e.getBoundingClientRect(),r=Math.max(0,Math.round(t.top+8)),n=Math.max(0,Math.round(t.right-48));return"position: fixed; top: "+r+"px; left: "+n+"px;"}(t)+r}(E,g),E&&(E.style.display="flex"),_&&(!function(e,t){if(!e)return;var r=(0,a.getConfig)("webScanPickImageButtonStyle")||"";e.style.cssText=l()+function(e){var t=e.getBoundingClientRect(),r=Math.max(0,Math.round(t.top+8+40+10)),n=Math.max(0,Math.round(t.right-48));return"position: fixed; top: "+r+"px; left: "+n+"px;"}(t)+r}(_,g),_.style.display="flex")),y=!0,u.detect(A).then((function(n){var o=n&&n[0];if(o&&o.rawValue&&s.uuid==t){if(!e||!e(o.rawValue))return;!function(e,t,r,n,o,i,a){var u=n.cornerPoints;if(u&&u.length){for(var c=0;ce[5]),r.filter(e=>"*"===e[1]).map(e=>e[0]),r.filter(e=>"*"!==e[1]).map(e=>e[0]),r.filter(e=>" "===e[2]).map(e=>e[0]),r.filter(e=>"l"===e[3][0]).map(e=>e[0]),r.filter(e=>"m"===e[3][0]).map(e=>e[0]),r.filter(e=>"r"===e[3][1]).map(e=>e[0]),r.filter(e=>"w"===e[3][2]||0!==e[4]).map(e=>e[0]),r.filter(e=>"G"===e[3][3]).map(e=>e[0]),r.filter(e=>"R"===e[3][4]).map(e=>e[0]),r.filter(e=>"I"===e[3][4]).map(e=>e[0]);var a=["LocalAverage","GlobalHistogram","FixedThreshold","BoolCast"];function u(e){return a.indexOf(e)}var c="Unknown.ASCII.ISO8859_1.ISO8859_2.ISO8859_3.ISO8859_4.ISO8859_5.ISO8859_6.ISO8859_7.ISO8859_8.ISO8859_9.ISO8859_10.ISO8859_11.ISO8859_13.ISO8859_14.ISO8859_15.ISO8859_16.Cp437.Cp1250.Cp1251.Cp1252.Cp1256.Shift_JIS.Big5.GB2312.GB18030.EUC_JP.EUC_KR.UTF16BE.UTF8.UTF16LE.UTF32BE.UTF32LE.BINARY".split(".");function s(e){return"UnicodeBig"===e?c.indexOf("UTF16BE"):c.indexOf(e)}var A=["Text","Binary","Mixed","GS1","ISO15434","UnknownECI"];function l(e){return A[e]}var f=["Ignore","Read","Require"];function d(e){return f.indexOf(e)}var p=["Plain","ECI","HRI","Escaped","Hex","HexECI"];function h(e){return p.indexOf(e)}var v={formats:[],tryHarder:!0,tryRotate:!0,tryInvert:!0,tryDownscale:!0,tryDenoise:!1,binarizer:"LocalAverage",isPure:!1,downscaleFactor:3,downscaleThreshold:500,minLineCount:2,maxNumberOfSymbols:255,validateOptionalChecksum:!1,returnErrors:!1,eanAddOnSymbol:"Ignore",textMode:"HRI",characterSet:"Unknown",tryCode39ExtendedMode:!0};function g(e){var t;return{...e,formats:i(e.formats),binarizer:u(e.binarizer),eanAddOnSymbol:d(e.eanAddOnSymbol),textMode:h(e.textMode),characterSet:s(e.characterSet),tryCode39ExtendedMode:null==(t=e.tryCode39ExtendedMode)||t}}function y(e){return{...e,format:e.format,symbology:e.symbology,contentType:l(e.contentType)}}var m={locateFile:(e,t)=>{let r=e.match(/_(.+?)\.wasm$/);return r?`https://fastly.jsdelivr.net/npm/zxing-wasm@3.0.2/dist/${r[1]}/${e}`:t+e}},w=new WeakMap;function b(e,t){return Object.is(e,t)||Object.keys(e).length===Object.keys(t).length&&Object.keys(e).every(r=>Object.hasOwn(t,r)&&e[r]===t[r])}function S(e,{overrides:t,equalityFn:r=b,fireImmediately:n=!1}={}){var o,i;let a,[u,c]=null==(o=w.get(e))?[m]:o,s=null==t?u:t;if(n){if(c&&(a=r(u,s)))return c;let t=e({...s});return w.set(e,[s,t]),t}(null==(i=a)?r(u,s):i)||w.set(e,[s])}async function C(e,t,r=v){let n,o,i={...v,...r},a=await S(e,{fireImmediately:!0});if("width"in t&&"height"in t&&"data"in t){let{data:e,width:r,height:u}=t,c=function(e){let t=e.byteLength>>2,r=new Uint8Array(t);for(let n=0;n>10}return r}(e),s=c.byteLength;if(o=a._malloc(s),!o)throw Error(`Failed to allocate ${s} bytes in WASM memory`);try{a.HEAPU8.set(c,o),n=a.readBarcodesFromPixmap(o,r,u,g(i))}finally{a._free(o)}}else{let e,r;if("buffer"in t)[e,r]=[t.byteLength,t];else if("byteLength"in t)[e,r]=[t.byteLength,new Uint8Array(t)];else{if(!("size"in t))throw TypeError("Invalid input type");[e,r]=[t.size,new Uint8Array(await t.arrayBuffer())]}if(o=a._malloc(e),!o)throw Error(`Failed to allocate ${e} bytes in WASM memory`);try{a.HEAPU8.set(r,o),n=a.readBarcodesFromImage(o,e,g(i))}finally{a._free(o)}}let u=[];for(let e=0;e{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),u=async e=>{var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw Error(t.status+" : "+t.url)}}var l,f,d,p,h=console.log.bind(console),v=console.error.bind(console),g=!1,y=!1;function m(){var e=Pt.buffer;x=new Int8Array(e),E=new Int16Array(e),n.HEAPU8=P=new Uint8Array(e),M=new Uint16Array(e),_=new Int32Array(e),R=new Uint32Array(e),I=new Float32Array(e),T=new Float64Array(e)}function w(e){var t,r;null==(t=n.onAbort)||t.call(n,e),v(e="Aborted("+e+")"),g=!0,e+=". Build with -sASSERTIONS for more info.";var o=new WebAssembly.RuntimeError(e);throw null==(r=d)||r(o),o}function b(){return function(e){return n.locateFile?n.locateFile(e,A):A+e}("zxing_reader.wasm")}async function S(e){if(!l)try{var t=await u(e);return new Uint8Array(t)}catch{}return function(e){if(e==p&&l)return new Uint8Array(l);if(c)return c(e);throw"both async and sync fetching of the wasm failed"}(e)}async function C(e,t,r){if(!e&&WebAssembly.instantiateStreaming)try{var n=fetch(t,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(n,r)}catch(e){v("wasm streaming compile failed: "+e),v("falling back to ArrayBuffer instantiation")}return async function(e,t){try{var r=await S(e);return await WebAssembly.instantiate(r,t)}catch(e){v("failed to asynchronously prepare wasm: "+e),w(e)}}(t,r)}var E,_,x,I,T,M,R,P,O=e=>{for(;e.length>0;)e.shift()(n)},k=[],D=e=>k.push(e),B=[],U=e=>B.push(e),V=e=>Et(e),j=()=>_t(),F=[],Q=0,W=0;class ${constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){R[this.ptr+4>>2]=e}get_type(){return R[this.ptr+4>>2]}set_destructor(e){R[this.ptr+8>>2]=e}get_destructor(){return R[this.ptr+8>>2]}set_caught(e){e=e?1:0,x[this.ptr+12]=e}get_caught(){return 0!=x[this.ptr+12]}set_rethrown(e){e=e?1:0,x[this.ptr+13]=e}get_rethrown(){return 0!=x[this.ptr+13]}init(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)}set_adjusted_ptr(e){R[this.ptr+16>>2]=e}get_adjusted_ptr(){return R[this.ptr+16>>2]}}var L=e=>Ct(e),q=e=>{var t=W;if(!t)return L(0),0;var r=new $(t);r.set_adjusted_ptr(t);var n=r.get_type();if(!n)return L(0),t;for(var o of e){if(0===o||o===n)break;var i=r.ptr+16;if(Tt(o,n,i))return L(o),t}return L(n),t},G={},N=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function H(e){return this.fromWireType(R[e>>2])}var K={},z={},J={},Z=class extends Error{constructor(e){super(e),this.name="InternalError"}},Y=e=>{throw new Z(e)},X=(e,t,r)=>{function n(t){var n=r(t);n.length!==e.length&&Y("Mismatched type converter count");for(var o=0;oJ[e]=t);var o=Array(t.length),i=[],a=0;{let e=t;for(let t=0;t{o[t]=z[r],++a===i.length&&n(o)}))}}0===i.length&&n(o)},ee=e=>{for(var t="";;){var r=P[e++];if(!r)return t;t+=String.fromCharCode(r)}},te=class extends Error{constructor(e){super(e),this.name="BindingError"}},re=e=>{throw new te(e)};function ne(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var n=t.name;if(e||re(`type "${n}" must have a positive integer typeid pointer`),z.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;re(`Cannot register type '${n}' twice`)}if(z[e]=t,delete J[e],K.hasOwnProperty(e)){var o=K[e];delete K[e],o.forEach(e=>e())}}function oe(e,t){return ne(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{})}var ie=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),ae=e=>{re(function(e){return e.$$.ptrType.registeredClass.name}(e)+" instance already deleted")},ue=!1,ce=e=>{},se=e=>{--e.count.value,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},Ae=e=>globalThis.FinalizationRegistry?(ue=new FinalizationRegistry(e=>{se(e.$$)}),ce=e=>ue.unregister(e),(Ae=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};ue.register(e,r,e)}return e})(e)):(Ae=e=>e,e),le=[];function fe(){}var de=(e,t)=>Object.defineProperty(t,"name",{value:e}),pe={},he=(e,t,r)=>{if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){var n=[...arguments];return e[t].overloadTable.hasOwnProperty(n.length)||re(`Function '${r}' called with an invalid number of arguments (${n.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[n.length].apply(this,n)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}},ve=(e,t,r)=>{n.hasOwnProperty(e)?((void 0===r||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[r])&&re(`Cannot register public name '${e}' twice`),he(n,e,e),n[e].overloadTable.hasOwnProperty(r)&&re(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),n[e].overloadTable[r]=t):(n[e]=t,n[e].argCount=r)};function ge(e,t,r,n,o,i,a,u){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=o,this.getActualType=i,this.upcast=a,this.downcast=u,this.pureVirtualFunctions=[]}var ye=(e,t,r)=>{for(;t!==r;)t.upcast||re(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e},me=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e};function we(e,t){if(null===t)return this.isReference&&re("null is not a valid "+this.name),0;t.$$||re(`Cannot pass "${me(t)}" as a ${this.name}`),t.$$.ptr||re("Cannot pass deleted object as a pointer of type "+this.name);var r=t.$$.ptrType.registeredClass;return ye(t.$$.ptr,r,this.registeredClass)}function be(e,t){var r;if(null===t)return this.isReference&&re("null is not a valid "+this.name),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;(!t||!t.$$)&&re(`Cannot pass "${me(t)}" as a ${this.name}`),t.$$.ptr||re("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&re(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var n=t.$$.ptrType.registeredClass;if(r=ye(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&re("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:re(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var o=t.clone();r=this.rawShare(r,Ne.toHandle(()=>o.delete())),null!==e&&e.push(this.rawDestructor,r)}break;default:re("Unsupported sharing policy")}return r}function Se(e,t){if(null===t)return this.isReference&&re("null is not a valid "+this.name),0;t.$$||re(`Cannot pass "${me(t)}" as a ${this.name}`),t.$$.ptr||re("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&re(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return ye(t.$$.ptr,r,this.registeredClass)}var Ce=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var n=Ce(e,t,r.baseClass);return null===n?null:r.downcast(n)},Ee={},_e=(e,t)=>(t=((e,t)=>{for(void 0===t&&re("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t})(e,t),Ee[t]),xe=(e,t)=>((!t.ptrType||!t.ptr)&&Y("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&Y("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Ae(Object.create(e,{$$:{value:t,writable:!0}})));function Ie(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=_e(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function o(){return this.isSmartPointer?xe(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):xe(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var i=pe[this.registeredClass.getActualType(t)];if(!i)return o.call(this);var a=this.isConst?i.constPointerType:i.pointerType,u=Ce(t,this.registeredClass,a.registeredClass);return null===u?o.call(this):this.isSmartPointer?xe(a.registeredClass.instancePrototype,{ptrType:a,ptr:u,smartPtrType:this,smartPtr:e}):xe(a.registeredClass.instancePrototype,{ptrType:a,ptr:u})}function Te(e,t,r,n,o,i,a,u,c,s,A){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=o,this.pointeeType=i,this.sharingPolicy=a,this.rawGetPointee=u,this.rawConstructor=c,this.rawShare=s,this.rawDestructor=A,o||void 0!==t.baseClass?this.toWireType=be:n?(this.toWireType=we,this.destructorFunction=null):(this.toWireType=Se,this.destructorFunction=null)}var Me=(e,t,r)=>{n.hasOwnProperty(e)||Y("Replacing nonexistent public symbol"),void 0!==n[e].overloadTable&&void 0!==r?n[e].overloadTable[r]=t:(n[e]=t,n[e].argCount=r)},Re={},Pe=(e,t,r)=>(e=e.replace(/p/g,"i"),(0,Re[e])(t,...r)),Oe=[],ke=e=>{var t=Oe[e];return t||(Oe[e]=t=Ot.get(e)),t},De=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(e.includes("j"))return Pe(e,t,r);var n=ke(t)(...r);return n},Be=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(){return De(e,t,[...arguments],r)}},Ue=function(e,t){function r(){return e.includes("j")?Be(e,t):ke(t)}e=ee(e);var n=r();return"function"!=typeof n&&re(`unknown function pointer with signature ${e}: ${t}`),n};class Ve extends Error{}var je=e=>{var t=yt(e),r=ee(t);return mt(t),r},Fe=(e,t)=>{var r=[],n={};throw t.forEach((function e(t){if(!n[t]&&!z[t]){if(J[t])return void J[t].forEach(e);r.push(t),n[t]=!0}})),new Ve(e+": "+r.map(je).join([", "]))},Qe=(e,t)=>{for(var r=[],n=0;n>2]);return r};function We(e,t,r,n,o,i){var a=t.length;a<2&&re("argTypes array size mismatch! Must at least get return value and 'this' types!");var u=null!==t[1]&&null!==r,c=function(e){for(var t=1;t{let t=(e=e.trim()).indexOf("(");return-1===t?e:e.slice(0,t)},Le=[],qe=[0,1,,1,null,1,!0,1,!1,1],Ge=e=>{e>9&&0==--qe[e+1]&&(qe[e]=void 0,Le.push(e))},Ne={toValue:e=>(e||re("Cannot use deleted val. handle = "+e),qe[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{let t=Le.pop()||qe.length;return qe[t]=e,qe[t+1]=1,t}}}},He={name:"emscripten::val",fromWireType:e=>{var t=Ne.toValue(e);return Ge(e),t},toWireType:(e,t)=>Ne.toHandle(t),readValueFromPointer:H,destructorFunction:null},Ke=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(I[e>>2])};case 8:return function(e){return this.fromWireType(T[e>>3])};default:throw TypeError(`invalid float width (${t}): ${e}`)}},ze=(e,t,r)=>{switch(t){case 1:return r?e=>x[e]:e=>P[e];case 2:return r?e=>E[e>>1]:e=>M[e>>1];case 4:return r?e=>_[e>>2]:e=>R[e>>2];default:throw TypeError(`invalid integer width (${t}): ${e}`)}},Je=(e,t,r)=>{let n=(e,t)=>{let r=0;return{next(){if(r>=e)return{done:!0};let n=r;return r++,{value:t(n),done:!1}},[Symbol.iterator](){return this}}};e[Symbol.iterator]||(e[Symbol.iterator]=function(){return n(this[t](),e=>this[r](e))})},Ze=Object.assign({optional:!0},He),Ye=(e,t,r)=>((e,t,r,n)=>{if(!(n>0))return 0;for(var o=r,i=r+n-1,a=0;a=i)break;t[r++]=u}else if(u<=2047){if(r+1>=i)break;t[r++]=192|u>>6,t[r++]=128|63&u}else if(u<=65535){if(r+2>=i)break;t[r++]=224|u>>12,t[r++]=128|u>>6&63,t[r++]=128|63&u}else{if(r+3>=i)break;t[r++]=240|u>>18,t[r++]=128|u>>12&63,t[r++]=128|u>>6&63,t[r++]=128|63&u,a++}}return t[r]=0,r-o})(e,P,t,r),Xe=e=>{for(var t=0,r=0;r=55296&&n<=57343?(t+=4,++r):t+=3}return t},et=globalThis.TextDecoder&&new TextDecoder,tt=(e,t,r,n)=>{var o=t+r;if(n)return o;for(;e[t]&&!(t>=o);)++t;return t},rt=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0;var o=tt(e,t,r,n);if(o-t>16&&e.buffer&&et)return et.decode(e.subarray(t,o));for(var i="";t>10,56320|1023&s)}}else i+=String.fromCharCode((31&a)<<6|u)}else i+=String.fromCharCode(a)}return i},nt=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,ot=(e,t,r)=>{var n=e>>1,o=tt(M,n,t/2,r);if(o-n>16&&nt)return nt.decode(M.subarray(n,o));for(var i="",a=n;a{if(null!=r||(r=2147483647),r<2)return 0;for(var n=t,o=(r-=2)<2*e.length?r/2:e.length,i=0;i>1]=a,t+=2}return E[t>>1]=0,t-n},at=e=>2*e.length,ut=(e,t,r)=>{for(var n="",o=e>>2,i=0;!(i>=t/4);i++){var a=R[o+i];if(!a&&!r)break;n+=String.fromCodePoint(a)}return n},ct=(e,t,r)=>{if(null!=r||(r=2147483647),r<4)return 0;for(var n=t,o=n+r-4,i=0;i65535&&i++,_[t>>2]=a,(t+=4)+4>o)break}return _[t>>2]=0,t-n},st=e=>{for(var t=0,r=0;r65535&&r++,t+=4;return t},At=[],lt=(e,t)=>{var r=z[e];return void 0===r&&re(`${t} has unknown type ${je(e)}`),r},ft={},dt=e=>{var t=ft[e];return void 0===t?ee(e):t},pt=(e,t)=>Math.ceil(e/t)*t,ht=e=>{var t=(e-Pt.buffer.byteLength+65535)/65536|0;try{return Pt.grow(t),m(),1}catch{}},vt={},gt=()=>{if(!gt.strings){var e,t,r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(null==(e=null==(t=globalThis.navigator)?void 0:t.language)?"C":e).replace("-","_")+".UTF-8",_:s||"./this.program"};for(var n in vt)void 0===vt[n]?delete r[n]:r[n]=vt[n];var o=[];for(var n in r)o.push(`${n}=${r[n]}`);gt.strings=o}return gt.strings};var yt,mt,wt,bt,St,Ct,Et,_t,xt,It,Tt,Mt,Rt,Pt,Ot,kt=[null,[],[]],Dt=(e,t)=>{var r=kt[e];0===t||10===t?((1===e?h:v)(rt(r)),r.length=0):r.push(t)};if((()=>{let e=fe.prototype;Object.assign(e,{isAliasOf(e){if(!(this instanceof fe&&e instanceof fe))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,o=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return t===n&&r===o},clone(){if(this.$$.ptr||ae(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=Ae(Object.create(Object.getPrototypeOf(this),{$$:{value:ie(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||ae(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&re("Object already scheduled for deletion"),ce(this),se(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||ae(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&re("Object already scheduled for deletion"),le.push(this),le.length,this.$$.deleteScheduled=!0,this}});let t=Symbol.dispose;t&&(e[t]=e.delete)})(),Object.assign(Te.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var t;null==(t=this.rawDestructor)||t.call(this,e)},readValueFromPointer:H,fromWireType:Ie}),n.noExitRuntime&&n.noExitRuntime,n.print&&(h=n.print),n.printErr&&(v=n.printErr),n.wasmBinary&&(l=n.wasmBinary),n.arguments&&n.arguments,n.thisProgram&&(s=n.thisProgram),n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.shift()();var Bt={s:e=>{var t=new $(e);return t.get_caught()||(t.set_caught(!0),Q--),t.set_rethrown(!1),F.push(t),bt(e)},x:()=>{St(0,0);var e=F.pop();xt(e.excPtr),W=0},a:()=>q([]),i:e=>q([e]),m:(e,t)=>q([e,t]),Q:()=>{var e=F.pop();e||w("no exception to throw");var t=e.excPtr;throw e.get_rethrown()||(F.push(e),e.set_rethrown(!0),e.set_caught(!1),Q++),It(t),W=t},q:(e,t,r)=>{throw new $(e).init(t,r),It(e),Q++,W=e},fa:()=>Q,d:e=>{throw W||(W=e),W},ba:()=>w(""),wa:e=>{var t=G[e];delete G[e];var r=t.rawConstructor,n=t.rawDestructor,o=t.fields,i=o.map(e=>e.getterReturnType).concat(o.map(e=>e.setterArgumentType));X([e],i,e=>{var i={};{let t=o;for(let r=0;ra.fromWireType(u(c,e)),write:(e,t)=>{var r=[];A(l,e,s.toWireType(r,t)),N(r)},optional:a.optional}}}return[{name:t.name,fromWireType:e=>{var t={};for(var r in i)t[r]=i[r].read(e);return n(e),t},toWireType:(e,t)=>{for(var o in i)if(!(o in t)&&!i[o].optional)throw TypeError(`Missing field: "${o}"`);var a=r();for(o in i)i[o].write(a,t[o]);return null!==e&&e.push(n,a),a},readValueFromPointer:H,destructorFunction:n}]})},aa:(e,t,r,n,o)=>{},qa:(e,t,r,n)=>{oe(e,{name:t=ee(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},readValueFromPointer:function(e){return this.fromWireType(P[e])},destructorFunction:null})},ua:(e,t,r,n,o,i,a,u,c,s,A,l,f)=>{A=ee(A),i=Ue(o,i),u&&(u=Ue(a,u)),s&&(s=Ue(c,s)),f=Ue(l,f);var d=(e=>{var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_"+e:e})(A);ve(d,(function(){Fe(`Cannot construct ${A} due to unbound types`,[n])})),X([e,t,r],n?[n]:[],t=>{var r,o;t=t[0],n?o=(r=t.registeredClass).instancePrototype:o=fe.prototype;var a=de(A,(function(){if(Object.getPrototypeOf(this)!==c)throw new te("Use 'new' to construct "+A);if(void 0===p.constructor_body)throw new te(A+" has no accessible constructor");var e=[...arguments],t=p.constructor_body[e.length];if(void 0===t)throw new te(`Tried to invoke ctor of ${A} with invalid number of parameters (${e.length}) - expected (${Object.keys(p.constructor_body).toString()}) parameters instead!`);return t.apply(this,e)})),c=Object.create(o,{constructor:{value:a}});a.prototype=c;var l,p=new ge(A,a,c,f,r,i,u,s);p.baseClass&&(null!=(l=p.baseClass).__derivedClasses||(l.__derivedClasses=[]),p.baseClass.__derivedClasses.push(p));var h=new Te(A,p,!0,!1,!1),v=new Te(A+"*",p,!1,!1,!1),g=new Te(A+" const*",p,!1,!0,!1);return pe[e]={pointerType:v,constPointerType:g},Me(d,a),[h,v,g]})},ta:(e,t,r,n,o,i)=>{var a=Qe(t,r);o=Ue(n,o),X([],[e],e=>{var r="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new te(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Fe(`Cannot construct ${e.name} due to unbound types`,a)},X([],a,n=>(n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=We(r,n,null,o,i),[])),[]})},F:(e,t,r,n,o,i,a,u,c,s)=>{var A=Qe(r,n);t=ee(t),t=$e(t),i=Ue(o,i,c),X([],[e],e=>{var n=`${(e=e[0]).name}.${t}`;function o(){Fe(`Cannot call ${n} due to unbound types`,A)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),u&&e.registeredClass.pureVirtualFunctions.push(t);var c=e.registeredClass.instancePrototype,s=c[t];return void 0===s||void 0===s.overloadTable&&s.className!==e.name&&s.argCount===r-2?(o.argCount=r-2,o.className=e.name,c[t]=o):(he(c,t,n),c[t].overloadTable[r-2]=o),X([],A,o=>{var u=We(n,o,e,i,a);return void 0===c[t].overloadTable?(u.argCount=r-2,c[t]=u):c[t].overloadTable[r-2]=u,[]}),[]})},oa:e=>oe(e,He),X:(e,t,r)=>{oe(e,{name:t=ee(t),fromWireType:e=>e,toWireType:(e,t)=>t,readValueFromPointer:Ke(t,r),destructorFunction:null})},Y:(e,t,r,n,o,i,a,u)=>{var c=Qe(t,r);e=ee(e),e=$e(e),o=Ue(n,o,a),ve(e,(function(){Fe(`Cannot call ${e} due to unbound types`,c)}),t-1),X([],c,r=>{var n=[r[0],null].concat(r.slice(1));return Me(e,We(e,n,null,o,i),t-1),[]})},A:(e,t,r,n,o)=>{t=ee(t);let i=e=>e;if(0===n){var a=32-8*r;i=e=>e<>>a,o=i(o)}oe(e,{name:t,fromWireType:i,toWireType:(e,t)=>t,readValueFromPointer:ze(t,r,0!==n),destructorFunction:null})},sa:(e,t,r,n)=>{r=ee(r),n=ee(n),X([],[e,t],e=>{let t=e[0];return Je(t.registeredClass.instancePrototype,r,n),[]})},t:(e,t,r)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function o(e){var t=R[e>>2],r=R[e+4>>2];return new n(x.buffer,r,t)}oe(e,{name:r=ee(r),fromWireType:o,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},va:(e,t)=>{oe(e,Ze)},pa:(e,t)=>{t=ee(t);oe(e,{name:t,fromWireType(e){var t,r=R[e>>2],n=e+4;return t=((e,t,r)=>e?rt(P,e,t,r):"")(n,r,!0),mt(e),t},toWireType(e,t){t instanceof ArrayBuffer&&(t=new Uint8Array(t));var r,n="string"==typeof t;n||ArrayBuffer.isView(t)&&1==t.BYTES_PER_ELEMENT||re("Cannot pass non-string to std::string"),r=n?Xe(t):t.length;var o=wt(4+r+1),i=o+4;(R[o>>2]=r,n)?Ye(t,i,r+1):P.set(t,i);return null!==e&&e.push(mt,o),o},readValueFromPointer:H,destructorFunction(e){mt(e)}})},S:(e,t,r)=>{var n,o,i;r=ee(r),2===t?(n=ot,o=it,i=at):(n=ut,o=ct,i=st),oe(e,{name:r,fromWireType:e=>{var r=R[e>>2],o=n(e+4,r*t,!0);return mt(e),o},toWireType:(e,n)=>{"string"!=typeof n&&re("Cannot pass non-string to C++ string type "+r);var a=i(n),u=wt(4+a+t);return R[u>>2]=a/t,o(n,u+4,a+t),null!==e&&e.push(mt,u),u},readValueFromPointer:H,destructorFunction(e){mt(e)}})},G:(e,t,r,n,o,i)=>{G[e]={name:ee(t),rawConstructor:Ue(r,n),rawDestructor:Ue(o,i),fields:[]}},xa:(e,t,r,n,o,i,a,u,c,s)=>{G[e].fields.push({fieldName:ee(t),getterReturnType:r,getter:Ue(n,o),getterContext:i,setterArgumentType:a,setter:Ue(u,c),setterContext:s})},ra:(e,t)=>{oe(e,{isVoid:!0,name:t=ee(t),fromWireType:()=>{},toWireType:(e,t)=>{}})},N:(e,t,r)=>{var[n,...o]=((e,t)=>{for(var r=Array(e),n=0;n>2],"parameter "+n);return r})(e,t),i=n.toWireType.bind(n),a=o.map(e=>e.readValueFromPointer.bind(e));e--;var u=Array(e);return(e=>{var t=At.length;return At.push(e),t})(de(`methodCaller<(${o.map(e=>e.name)}) => ${n.name}>`,(t,n,o,c)=>{for(var s=0,A=0;A{var n=[],o=e(n,r);return n.length&&(R[t>>2]=Ne.toHandle(n)),o})(i,o,l)}))},ya:Ge,C:e=>e?(e=dt(e),Ne.toHandle(globalThis[e])):Ne.toHandle(globalThis),T:e=>{e>9&&(qe[e+1]+=1)},M:(e,t,r,n,o)=>At[e](t,r,n,o),ka:e=>{N(Ne.toValue(e)),Ge(e)},ca:(e,t,r,n)=>{var o=(new Date).getFullYear(),i=new Date(o,0,1),a=new Date(o,6,1),u=i.getTimezoneOffset(),c=a.getTimezoneOffset(),s=Math.max(u,c);R[e>>2]=60*s,_[t>>2]=Number(u!=c);var A=e=>{var t=e>=0?"-":"+",r=Math.abs(e);return`UTC${t}${String(Math.floor(r/60)).padStart(2,"0")}${String(r%60).padStart(2,"0")}`},l=A(u),f=A(c);c{var t=P.length,r=2147483648;if((e>>>=0)>r)return!1;for(var n=1;n<=4;n*=2){var o=t*(1+.2/n);if(o=Math.min(o,e+100663296),ht(Math.min(r,pt(Math.max(e,o),65536))))return!0}return!1},da:(e,t)=>{var r=0,n=0;for(var o of gt()){var i=t+r;R[e+n>>2]=i,r+=Ye(o,i,1/0)+1,n+=4}return 0},ea:(e,t)=>{var r=gt();R[e>>2]=r.length;var n=0;for(var o of r)n+=Xe(o)+1;return R[t>>2]=n,0},ha:e=>52,_:function(e,t,r,n,o){return((e,t)=>{})(t,r),70},V:(e,t,r,n)=>{for(var o=0,i=0;i>2],u=R[t+4>>2];t+=8;for(var c=0;c>2]=o,0},ma:function(e,t,r){var n=j();try{return ke(e)(t,r)}catch(e){if(V(n),e!==e+0)throw e;St(1,0)}},K:function(e,t,r,n){var o=j();try{return ke(e)(t,r,n)}catch(e){if(V(o),e!==e+0)throw e;St(1,0)}},B:function(e,t,r,n,o,i){var a=j();try{return ke(e)(t,r,n,o,i)}catch(e){if(V(a),e!==e+0)throw e;St(1,0)}},O:function(e,t,r,n,o,i){var a=j();try{return ke(e)(t,r,n,o,i)}catch(e){if(V(a),e!==e+0)throw e;St(1,0)}},U:function(e,t,r,n){var o=j();try{return ke(e)(t,r,n)}catch(e){if(V(o),e!==e+0)throw e;St(1,0)}},p:function(e){var t=j();try{return ke(e)()}catch(e){if(V(t),e!==e+0)throw e;St(1,0)}},b:function(e,t){var r=j();try{return ke(e)(t)}catch(e){if(V(r),e!==e+0)throw e;St(1,0)}},D:function(e,t,r,n){var o=j();try{return ke(e)(t,r,n)}catch(e){if(V(o),e!==e+0)throw e;St(1,0)}},ja:function(e,t,r){var n=j();try{return ke(e)(t,r)}catch(e){if(V(n),e!==e+0)throw e;St(1,0)}},c:function(e,t,r){var n=j();try{return ke(e)(t,r)}catch(e){if(V(n),e!==e+0)throw e;St(1,0)}},ia:function(e,t,r,n,o){var i=j();try{return ke(e)(t,r,n,o)}catch(e){if(V(i),e!==e+0)throw e;St(1,0)}},h:function(e,t,r,n){var o=j();try{return ke(e)(t,r,n)}catch(e){if(V(o),e!==e+0)throw e;St(1,0)}},j:function(e,t,r,n,o){var i=j();try{return ke(e)(t,r,n,o)}catch(e){if(V(i),e!==e+0)throw e;St(1,0)}},r:function(e,t,r,n,o,i){var a=j();try{return ke(e)(t,r,n,o,i)}catch(e){if(V(a),e!==e+0)throw e;St(1,0)}},P:function(e,t,r,n,o,i,a){var u=j();try{return ke(e)(t,r,n,o,i,a)}catch(e){if(V(u),e!==e+0)throw e;St(1,0)}},w:function(e,t,r,n,o,i,a){var u=j();try{return ke(e)(t,r,n,o,i,a)}catch(e){if(V(u),e!==e+0)throw e;St(1,0)}},E:function(e,t,r,n,o,i,a,u){var c=j();try{return ke(e)(t,r,n,o,i,a,u)}catch(e){if(V(c),e!==e+0)throw e;St(1,0)}},L:function(e,t,r,n,o,i,a,u,c){var s=j();try{return ke(e)(t,r,n,o,i,a,u,c)}catch(e){if(V(s),e!==e+0)throw e;St(1,0)}},I:function(e,t,r,n,o,i,a,u,c,s,A,l){var f=j();try{return ke(e)(t,r,n,o,i,a,u,c,s,A,l)}catch(e){if(V(f),e!==e+0)throw e;St(1,0)}},$:function(e,t,r,n,o,i,a){var u=j();try{return Mt(e,t,r,n,o,i,a)}catch(e){if(V(u),e!==e+0)throw e;St(1,0)}},Z:function(e,t,r,n,o){var i=j();try{return Rt(e,t,r,n,o)}catch(e){if(V(i),e!==e+0)throw e;St(1,0)}},f:function(e){var t=j();try{ke(e)()}catch(e){if(V(t),e!==e+0)throw e;St(1,0)}},l:function(e,t){var r=j();try{ke(e)(t)}catch(e){if(V(r),e!==e+0)throw e;St(1,0)}},e:function(e,t,r){var n=j();try{ke(e)(t,r)}catch(e){if(V(n),e!==e+0)throw e;St(1,0)}},W:function(e,t,r,n,o,i,a,u,c){var s=j();try{ke(e)(t,r,n,o,i,a,u,c)}catch(e){if(V(s),e!==e+0)throw e;St(1,0)}},g:function(e,t,r,n){var o=j();try{ke(e)(t,r,n)}catch(e){if(V(o),e!==e+0)throw e;St(1,0)}},J:function(e,t,r,n,o,i,a){var u=j();try{ke(e)(t,r,n,o,i,a)}catch(e){if(V(u),e!==e+0)throw e;St(1,0)}},k:function(e,t,r,n,o){var i=j();try{ke(e)(t,r,n,o)}catch(e){if(V(i),e!==e+0)throw e;St(1,0)}},la:function(e,t,r,n,o,i,a,u){var c=j();try{ke(e)(t,r,n,o,i,a,u)}catch(e){if(V(c),e!==e+0)throw e;St(1,0)}},o:function(e,t,r,n,o,i){var a=j();try{ke(e)(t,r,n,o,i)}catch(e){if(V(a),e!==e+0)throw e;St(1,0)}},y:function(e,t,r,n,o,i,a){var u=j();try{ke(e)(t,r,n,o,i,a)}catch(e){if(V(u),e!==e+0)throw e;St(1,0)}},u:function(e,t,r,n,o,i,a,u){var c=j();try{ke(e)(t,r,n,o,i,a,u)}catch(e){if(V(c),e!==e+0)throw e;St(1,0)}},R:function(e,t,r,n,o,i,a,u,c){var s=j();try{ke(e)(t,r,n,o,i,a,u,c)}catch(e){if(V(s),e!==e+0)throw e;St(1,0)}},v:function(e,t,r,n,o,i,a,u,c,s){var A=j();try{ke(e)(t,r,n,o,i,a,u,c,s)}catch(e){if(V(A),e!==e+0)throw e;St(1,0)}},n:function(e,t,r,n,o,i,a,u,c,s,A){var l=j();try{ke(e)(t,r,n,o,i,a,u,c,s,A)}catch(e){if(V(l),e!==e+0)throw e;St(1,0)}},H:function(e,t,r,n,o,i,a,u,c,s,A,l,f,d,p,h){var v=j();try{ke(e)(t,r,n,o,i,a,u,c,s,A,l,f,d,p,h)}catch(e){if(V(v),e!==e+0)throw e;St(1,0)}},na:function(e,t,r,n,o,i,a,u,c,s,A,l,f,d,p,h,v){var g=j();try{ke(e)(t,r,n,o,i,a,u,c,s,A,l,f,d,p,h,v)}catch(e){if(V(g),e!==e+0)throw e;St(1,0)}},z:e=>e};var Ut=await async function(){function e(e,t){return function(e){yt=e.Ba,mt=n._free=e.Ca,wt=n._malloc=e.Ea,bt=e.Fa,St=e.Ga,Ct=e.Ha,Et=e.Ia,_t=e.Ja,xt=e.Ka,It=e.La,Tt=e.Ma,Re.viijii=e.Na,Mt=Re.iiijj=e.Oa,Re.jiji=e.Pa,Rt=Re.jiiii=e.Qa,Re.iiiiij=e.Ra,Re.iiiiijj=e.Sa,Re.iiiiiijj=e.Ta,Pt=e.za,Ot=e.Da}(Ut=e.exports),m(),Ut}var t={a:Bt};return n.instantiateWasm?new Promise((r,o)=>{n.instantiateWasm(t,(t,n)=>{r(e(t))})}):(null!=p||(p=b()),function(t){return e(t.instance)}(await C(l,p,t)))}();return function(){function e(){var e,t;n.calledRun=!0,!g&&(y=!0,Ut.Aa(),null==(e=f)||e(n),null==(t=n.onRuntimeInitialized)||t.call(n),function(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)D(n.postRun.shift());O(k)}())}!function(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)U(n.preRun.shift());O(B)}(),n.setStatus?(n.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>n.setStatus(""),1),e()},1)):e()}(),y?n:new Promise((e,t)=>{f=e,d=t})}function _(e){return S(E,e)}function x(){return function(e){w.delete(e)}(E)}function I(e){_({overrides:e,equalityFn:Object.is,fireImmediately:!1})}var T=[["aztec","Aztec"],["aztec_code","AztecCode"],["aztec_rune","AztecRune"],["code_128","Code128"],["code_39","Code39"],["code_39_standard","Code39Std"],["code_39_extended","Code39Ext"],["code_32","Code32"],["pzn","PZN"],["code_93","Code93"],["codabar","Codabar"],["databar","DataBar"],["databar_omni","DataBarOmni"],["databar_stacked","DataBarStk"],["databar_stacked_omni","DataBarStkOmni"],["databar_expanded","DataBarExp"],["databar_expanded_stacked","DataBarExpStk"],["databar_limited","DataBarLtd"],["data_matrix","DataMatrix"],["dx_film_edge","DXFilmEdge"],["ean_13","EAN13"],["ean_upc","EANUPC"],["isbn","ISBN"],["ean_8","EAN8"],["itf","ITF"],["itf_14","ITF14"],["maxi_code","MaxiCode"],["micro_qr_code","MicroQRCode"],["pdf417","PDF417"],["compact_pdf417","CompactPDF417"],["qr_code","QRCode"],["qr_code_model_1","QRCodeModel1"],["qr_code_model_2","QRCodeModel2"],["rm_qr_code","RMQRCode"],["upc_a","UPCA"],["upc_e","UPCE"],["other_barcode","OtherBarcode"],["linear_codes","AllLinear"],["matrix_codes","AllMatrix"],["gs1_codes","AllGS1"],["retail_codes","AllRetail"],["industrial_codes","AllIndustrial"],["any","All"]],M=[...T,["unknown"]].map(e=>e[0]),R=new Map(T);function P(e){for(let[t,r]of R)if(e===r)return t;return"unknown"}function O(e){try{var t;return e instanceof(null==e||null==(t=e.ownerDocument)||null==(t=t.defaultView)?void 0:t.HTMLImageElement)}catch{return!1}}function k(e){try{var t;return e instanceof(null==e||null==(t=e.ownerDocument)||null==(t=t.defaultView)?void 0:t.SVGImageElement)}catch{return!1}}function D(e){try{var t;return e instanceof(null==e||null==(t=e.ownerDocument)||null==(t=t.defaultView)?void 0:t.HTMLVideoElement)}catch{return!1}}function B(e){try{var t;return e instanceof(null==e||null==(t=e.ownerDocument)||null==(t=t.defaultView)?void 0:t.HTMLCanvasElement)}catch{return!1}}function U(e){try{return e instanceof ImageBitmap||"[object ImageBitmap]"===Object.prototype.toString.call(e)}catch{return!1}}function V(e){try{return e instanceof OffscreenCanvas||"[object OffscreenCanvas]"===Object.prototype.toString.call(e)}catch{return!1}}function j(e){try{return e instanceof VideoFrame||"[object VideoFrame]"===Object.prototype.toString.call(e)}catch{return!1}}async function F(e){if(O(e)&&!await async function(e){try{return await e.decode(),!0}catch{return!1}}(e))throw new DOMException("Failed to load or decode HTMLImageElement.","InvalidStateError");if(k(e)&&!await async function(e){try{var t;return await(null==(t=e.decode)?void 0:t.call(e)),!0}catch{return!1}}(e))throw new DOMException("Failed to load or decode SVGImageElement.","InvalidStateError");if(j(e)&&function(e){return null===e.format}(e))throw new DOMException("VideoFrame is closed.","InvalidStateError");if(D(e)&&(0===e.readyState||1===e.readyState))throw new DOMException("Invalid element or state.","InvalidStateError");if(U(e)&&function(e){return 0===e.width&&0===e.height}(e))throw new DOMException("The image source is detached.","InvalidStateError");let{width:t,height:r}=function(e){if(O(e))return{width:e.naturalWidth,height:e.naturalHeight};if(k(e))return{width:e.width.baseVal.value,height:e.height.baseVal.value};if(D(e))return{width:e.videoWidth,height:e.videoHeight};if(U(e))return{width:e.width,height:e.height};if(j(e))return{width:e.displayWidth,height:e.displayHeight};if(B(e)||V(e))return{width:e.width,height:e.height};throw TypeError("The provided value is not of type '(Blob or HTMLCanvasElement or HTMLImageElement or HTMLVideoElement or ImageBitmap or ImageData or OffscreenCanvas or SVGImageElement or VideoFrame)'.")}(e);if(0===t||0===r)return null;let n=function(e,t){try{let r=new OffscreenCanvas(e,t);if(r.getContext("2d")instanceof OffscreenCanvasRenderingContext2D)return r;throw void 0}catch{let r=document.createElement("canvas");return r.width=e,r.height=t,r}}(t,r).getContext("2d");n.drawImage(e,0,0);try{return n.getImageData(0,0,t,r)}catch{throw new DOMException("Source would taint origin.","SecurityError")}}async function Q(e){if(function(e){try{return e instanceof Blob||"[object Blob]"===Object.prototype.toString.call(e)}catch{return!1}}(e))return await async function(e){let t;try{t=await createImageBitmap(e)}catch{try{if(!globalThis.Image)return e;{t=new Image;let r="";try{r=URL.createObjectURL(e),t.src=r,await t.decode()}finally{URL.revokeObjectURL(r)}}}catch{throw new DOMException("Failed to load or decode Blob.","InvalidStateError")}}return await F(t)}(e);if(function(e){try{return e instanceof ImageData||"[object ImageData]"===Object.prototype.toString.call(e)}catch{return!1}}(e)){if(function(e){return 0===e.data.buffer.byteLength}(e))throw new DOMException("The image data has been detached.","InvalidStateError");return e}return B(e)||V(e)?function(e){let{width:t,height:r}=e;if(0===t||0===r)return null;let n=e.getContext("2d");try{return n.getImageData(0,0,t,r)}catch{throw new DOMException("Source would taint origin.","SecurityError")}}(e):await F(e)}function W(e,t){return function(e){return e instanceof DOMException||"[object DOMException]"===Object.prototype.toString.call(e)}(e)?new DOMException(`${t}: ${e.message}`,e.name):function(e){return e instanceof Error||"[object Error]"===Object.prototype.toString.call(e)}(e)?new e.constructor(`${t}: ${e.message}`):Error(`${t}: ${e}`)}function $(e,t,r){(function(e,t){if(t.has(e))throw TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function L(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw TypeError("Private element is not present on this object")}function q(e,t){return e.get(L(e,t))}var G=new WeakMap;Object.defineProperty(t,"a",{enumerable:!0,get:function(){return x}}),Object.defineProperty(t,"i",{enumerable:!0,get:function(){return"98106d24a9bc2c4a24a6e6864e0f5729bd68cf73d6f5b45bb1c824521146370c"}}),Object.defineProperty(t,"n",{enumerable:!0,get:function(){return I}}),Object.defineProperty(t,"o",{enumerable:!0,get:function(){return"3.0.2"}}),Object.defineProperty(t,"r",{enumerable:!0,get:function(){return _}}),Object.defineProperty(t,"s",{enumerable:!0,get:function(){return"b304f6656b865be11b00741d430b7d0027bc0ab4"}}),Object.defineProperty(t,"t",{enumerable:!0,get:function(){return class{constructor(e={}){$(this,G,void 0);try{var t;let r=null==e||null==(t=e.formats)?void 0:t.filter(e=>"unknown"!==e);if(0===(null==r?void 0:r.length))throw TypeError("Hint option provided, but is empty.");for(let e of null==r?[]:r)if(!R.has(e))throw TypeError(`Failed to read the 'formats' property from 'BarcodeDetectorOptions': The provided value '${e}' is not a valid enum value of type BarcodeFormat.`);(function(e,t,r){e.set(L(e,t),r)})(G,this,null==r?[]:r),_({fireImmediately:!0}).catch(()=>{})}catch(e){throw W(e,"Failed to construct 'BarcodeDetector'")}}static async getSupportedFormats(){return M.filter(e=>"unknown"!==e)}async detect(e){try{let t=await Q(e);if(null===t)return[];let r,n={textMode:"Plain",formats:q(G,this).map(e=>R.get(e))};try{r=await async function(e,t){return C(E,e,t)}(t,n)}catch(e){throw console.error(e),new DOMException("Barcode detection service unavailable.","NotSupportedError")}return r.map(e=>{let{topLeft:{x:t,y:r},topRight:{x:n,y:o},bottomLeft:{x:i,y:a},bottomRight:{x:u,y:c}}=e.position,s=Math.min(t,n,i,u),A=Math.min(r,o,a,c),l=Math.max(t,n,i,u),f=Math.max(r,o,a,c);return{boundingBox:new DOMRectReadOnly(s,A,l-s,f-A),rawValue:e.text,format:P(e.format),cornerPoints:[{x:t,y:r},{x:n,y:o},{x:u,y:c},{x:i,y:a}]}})}catch(e){throw W(e,"Failed to execute 'detect' on 'BarcodeDetector'")}}}}})},function(e,t){e.exports="data:audio/ogg;base64,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"},function(e,t,r){"use strict";t.__esModule=!0,t.request=function(e){var t=e.url,r=e.method,a=e.data,u=e.headers,c=e.json,s=e.timeout,A=Object.assign({request_id:(0,o.hex_md5)((0,n.createUUID)()+"_"+Date.now())},a);return new Promise((function(e,n){!function(e){var t,r=e.url||"",n=e.method||"GET",o=e.headers||{},a=e.data||{},u=e.json||!1,c=e.timeout||6e3,s=new XMLHttpRequest;if("GET"==n.toUpperCase())r=(0,i.appendQueryParams)(r,a),t=void 0;else{if("POST"!=n.toUpperCase())return void(e.fail&&e.fail({errMsg:"request:un support "+n}));u?t=JSON.stringify(a):(t=new FormData,Object.keys(a).forEach((function(e){var r=a[e];r instanceof File?t.append(e,r,r.name):t.append(e,r)})))}if(s.timeout=c,s.open(n.toUpperCase(),r,!0),o)for(var A in o)s.setRequestHeader(A,o[A]);u&&s.setRequestHeader("Content-Type","application/json");s.onreadystatechange=function(){if(4==s.readyState){var t=s.getAllResponseHeaders(),r={};if(t)t.split("\n").forEach((function(e){if(e){var t=e.split(": ");t.length>1&&(r[t[0]]=t[1])}}));if(s.status>=200&&s.status<300){var n={errMsg:"request:ok"};try{var o=JSON.parse(s.response);n.data=o}catch(e){n.data=s.response}n.header=r,n.statusCode=s.status,e.success&&e.success(n)}else e.fail&&e.fail({errMsg:"request:fail",data:s.response,header:r})}},s.send(t)}(Object.assign({},{url:t,method:r,data:A,headers:u,json:c,timeout:s},{success:e,fail:n}))})).then((function(e){if(e.statusCode&&200!=e.statusCode)throw e;return e}))};var n=r(1),o=r(23),i=r(24)},function(e,t,r){"use strict";t.__esModule=!0,t.hex_md5=function(e){return d(n(l(e),8*e.length))},t.b64_md5=function(e){return p(n(l(e),8*e.length))},t.str_md5=function(e){return f(n(l(e),8*e.length))},t.hex_hmac_md5=function(e,t){return d(s(e,t))},t.b64_hmac_md5=function(e,t){return p(s(e,t))},t.str_hmac_md5=function(e,t){return f(s(e,t))};function n(e,t){e[t>>5]|=128<>>9<<4)]=t;for(var r=1732584193,n=-271733879,o=-1732584194,s=271733878,l=0;l>>32-u,r);var a,u}function i(e,t,r,n,i,a,u){return o(t&r|~t&n,e,t,i,a,u)}function a(e,t,r,n,i,a,u){return o(t&n|r&~n,e,t,i,a,u)}function u(e,t,r,n,i,a,u){return o(t^r^n,e,t,i,a,u)}function c(e,t,r,n,i,a,u){return o(r^(t|~n),e,t,i,a,u)}function s(e,t){var r=l(e);r.length>16&&(r=n(r,8*e.length));for(var o=Array(16),i=Array(16),a=0;a<16;a++)o[a]=909522486^r[a],i[a]=1549556828^r[a];var u=n(o.concat(l(t)),512+8*t.length);return n(i.concat(u),640)}function A(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function l(e){for(var t=Array(),r=0;r<8*e.length;r+=8)t[r>>5]|=(255&e.charCodeAt(r/8))<>5]>>>r%32&255);return t}function d(e){for(var t="0123456789abcdef",r="",n=0;n<4*e.length;n++)r+=t.charAt(e[n>>2]>>n%4*8+4&15)+t.charAt(e[n>>2]>>n%4*8&15);return r}function p(e){for(var t="",r=0;r<4*e.length;r+=3)for(var n=(e[r>>2]>>r%4*8&255)<<16|(e[r+1>>2]>>(r+1)%4*8&255)<<8|e[r+2>>2]>>(r+2)%4*8&255,o=0;o<4;o++)8*r+6*o>32*e.length?t+="":t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(n>>6*(3-o)&63);return t}},function(e,t,r){"use strict";t.__esModule=!0,t.stringifyQuery=function(e){return Object.keys(e).map((function(t){var r=e[t];return t+"="+encodeURIComponent(r)})).join("&")},t.decodeQuery=function(e){return Object.keys(e).reduce((function(t,r){var n=e[r];return t[r]=decodeURIComponent(n),t}),{})},t.parseQueryParams=a,t.appendQueryParams=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=a(e),n=r.url,o=r.params;Object.keys(t).forEach((function(e){var r=t[e];null!=r?o[e]=r:delete o[e]}));var i=Object.keys(o).map((function(e){var t=o[e];return e+"="+encodeURIComponent(t)})).join("&");if(!n)return i;if(!i)return n;return n+"?"+i},t.getQueryString=function(e,t){var r=i.default.location.search,n=new RegExp("(^|&)"+e+"=([^&]*)(&|$)"),o=r.substr(1).match(n);if(null!=o)return decodeURIComponent(unescape(o[2]));return t};var n,o=r(2),i=(n=o)&&n.__esModule?n:{default:n};function a(e){var t="",r={};if(!e||"string"!=typeof e)return{url:t,params:r};var n="",o=e.indexOf("?"),i=e.indexOf("#"),a=e.indexOf("=");return o>=0?(t=e.substring(0,o),n=e.substring(o+1,i>0?i:e.length)):a>=0?(t="",n=e):(t=e,n=""),n.split("&").map((function(e){var t=e.indexOf("=");if(t>0){var n=e.substring(0,t),o=e.substring(t+1);r[n]=decodeURIComponent(o)}})),{url:t,params:r}}},function(e,t,r){"use strict";t.__esModule=!0,t.resolveUseParentProxy=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.installEmbedHost=function(e){if(h||"undefined"==typeof window)return;h=!0,window.addEventListener("message",(function(t){var r=t.data;if(p(r))if("probeWxEnv"!==r.kind)if("forwardScanGun"!==r.kind)"invoke"===r.kind&&r.id&&r.methodKey&&t.source&&t.source!==window&&function(e,t){var r=t.data,o=r.id,i=r.methodKey,a=function(e,t,r){return e.map((function e(o){if(o&&"object"===(void 0===o?"undefined":n(o))&&o.__IScanEmbedCb__){var i=o.__IScanEmbedCb__;return function(){var e=Array.prototype.slice.call(arguments);t.postMessage({source:"IScanEmbed",v:1,kind:"callback",cbId:i,args:e},r)}}if(null===o||"object"!==(void 0===o?"undefined":n(o)))return o;if(Array.isArray(o))return o.map(e);var a={};return Object.keys(o).forEach((function(t){a[t]=e(o[t])})),a}))}(r.params||[],t.source,t.origin);Promise.resolve().then((function(){return I.apply(void 0,[e,i].concat(a))})).then((function(e){var t=e;return t&&"function"==typeof t.then?t.then((function(e){return t=e})):t})).then((function(e){var r=function(e,t){if("onScanListener"===e&&t&&"object"===(void 0===t?"undefined":n(t))&&"string"==typeof t.key)return{__IScanEmbedListenerRef__:!0,key:t.key};return t}(i,e);t.source.postMessage({source:"IScanEmbed",v:1,kind:"invokeResult",id:o,methodKey:i,ok:!0,result:r},t.origin)})).catch((function(e){t.source.postMessage({source:"IScanEmbed",v:1,kind:"invokeResult",id:o,methodKey:i,ok:!1,error:"string"==typeof e?e:String(e&&e.message||e)},t.origin)}))}(e,t);else{if(!t.source||t.source===window)return;if("string"!=typeof r.result)return;(0,s.dispatchHardwareScanResult)(r.result)}else{if(!t.source||t.source===window)return;var o=(0,u.readWxLikeEnvFromWindow)(window);t.source.postMessage({source:"IScanEmbed",v:1,kind:"probeWxEnvResult",id:r.id,wx:o},t.origin)}}))},t.getEmbedProxyResolved=function(){return(0,o.resolveUseParentProxy)()};var o=r(9);Object.defineProperty(t,"resolveUseParentProxy",{enumerable:!0,get:function(){return o.resolveUseParentProxy}}),t.exportSDK=function(e,t){for(var r=arguments.length,o=Array(r>2?r-2:0),i=2;i=4||(w=!0,b++,_(),window.parent.postMessage({source:"IScanEmbed",v:1,kind:"probeWxEnv",id:(0,c.createUUID)()},"*"),window.setTimeout((function(){w=!1,null===(0,u.getParentWxEnvReport)()&&S()&&C()}),600)))}function E(e){var t=e.data;if(p(t))if("probeWxEnvResult"!==t.kind){if("invokeResult"===t.kind){var r=g[t.id];if(!r)return;return delete g[t.id],void(t.ok?r.resolve(function(e,t){if("onScanListener"===e&&t&&t.__IScanEmbedListenerRef__&&"string"==typeof t.key){var r=t.key;return{key:r,cancel:function(){l.delete(r),d(),x("offScanListener",[r]).catch((function(){}))}}}return t}(t.methodKey,t.result)):r.reject(new Error(t.error||"[IScan embed]: invoke failed")))}if("callback"===t.kind){var n=y[t.cbId];"function"==typeof n&&n.apply(null,t.args||[])}}else(0,u.setParentWxEnvReport)(!!t.wx)}function _(){v||"undefined"==typeof window||(v=!0,window.addEventListener("message",E))}function x(e,t){_(),C();var r=(0,c.createUUID)(),n=function(e){for(var t=[],r={},n=0;n1;)r=r[n.shift()];if(r&&1==n.length&&r.hasOwnProperty(n[0])){for(var o,i=arguments.length,a=Array(i>2?i-2:0),u=2;u1&&void 0!==arguments[1]?arguments[1]:"",r={};return Object.keys(e).forEach((function(o){var i=e[o];if("object"===(void 0===i?"undefined":n(i)))Object.assign(r,M(i,""+t+o+"."));else if("function"==typeof i){var a,u=""+t+o;Object.assign(r,((a={})[u]=u,a))}})),r}function R(e){Object.keys(e).forEach((function(t){var r=e[t];"object"===(void 0===r?"undefined":n(r))&&R(r)})),Object.freeze(e)}function P(e,t,r,n){return function(){for(var a=arguments.length,u=Array(a),c=0;c1?r-1:0),o=1;o1?r-1:0),o=1;o1?r-1:0),o=1;o0?(0,a.startScanner)((function(e){x(e=g(e))})):(0,a.stopScanner)()}function w(e,t){var r=null;return t&&"string"==typeof t&&(r=new RegExp(t)),!r||r.test(e)}function b(e){e=g(e),(0,A.forwardEmbedScanResultIfNeeded)(e);for(var t=!1,r=0;r1)for(var r=1;r=0&&r.splice(n,1)}},t.bridgeSync=d,t.bridgeAsync=function(e,t,r){return new Promise((function(n,o){if(f()){var a=!1,u=null;r>0&&(u=setTimeout((function(){a=!0,u=null,o("bridgeAsync timeout")}),r));var c=(0,i.createUUID)()+"_"+Date.now();A=c,(l=function(e,t){a||(u&&clearTimeout(u),0==e?n(t):o(t))})&&"function"==typeof l&&(s[A]=l),d(e,Object.assign({request_id:c},t))}else o("Can't bridgeAsync, because not in runtime");var A,l})).then((function(r){var n=[e];return t&&(n.push("params:"),n.push(t)),r&&(n.push("resp:"),n.push(r)),o.printDebug.apply(void 0,["bridge resp >>>"].concat(n)),r})).catch((function(r){throw t?(0,o.printWarn)("bridge err >>>",e,"params:",t,r):(0,o.printWarn)("bridge err >>>",e,r),r}))};var n=r(3),o=r(4),i=r(1),a=r(0),u={},s={};function c(){return"undefined"==typeof window?null:window}function A(){return(0,a.getConfig)("bridgeName")?(0,a.getConfig)("bridgeName"):"__bridge_client__"}function l(){var e=c();if(e){var t=A()+"_handle_callback";e[t]||(e[t]=function(e){var t=(0,n.toAny)(e,{}),r=t.method,o=t.payload,i=t.code,a=t.request_id,c=(0,n.toAny)(o,{});a?s[a]&&s[a](i,c):u[r]&&u[r].forEach((function(e){e&&e(c)}))})}}function f(){var e=c();return!!e&&!!e[A()]&&!1!==(0,a.getConfig)("bridgeEnabled")}function d(e,t){l();var r=(0,n.toAny)(function(e){var t=e.split("."),r=c();if(r){for(;t.length>1;)r=r[t.shift()];if(r&&1==t.length&&r.hasOwnProperty(t[0])){for(var n,o=arguments.length,i=Array(o>1?o-1:0),a=1;a>>"].concat(i)),r}},function(e,t,r){"use strict";t.__esModule=!0,t.unlockScanBeep=function(){if(!1===(0,a.getConfig)("webScanBeepEnabled")||v)return;var e=M();if(!e)return;try{e.load&&e.load(),v=!0}catch(e){}},t.isSupportWebScan=function(){return"undefined"!=typeof navigator&&navigator.mediaDevices&&navigator.mediaDevices.getUserMedia&&!!E()&&!1!==(0,a.getConfig)("webScanEnabled")},t.isSupportImageScan=R,t.stopScanForWeb=function(){return Promise.resolve().then((function(){w()}))},t.startScanForImage=function(){return P().then((function(e){return e?x((0,a.getConfig)("webScanType")).then((function(t){return O(t,e)})):null})).then((function(e){return e&&e.rawValue?{result:e.rawValue}:{success:!1,error:"未识别到二维码或条形码"}}))},t.startScanForWeb=function(e){var t=null;return new Promise((function(r,n){try{w(),c.uuid=(0,i.createUUID)(),c.finish=!1,t=c.uuid;var o,u=(0,a.getConfig)("webScanCanvasStyle"),s=(0,a.getConfig)("webScanCanvasClass"),A=g("video","__webscan_video__","display: none",!1),f=!1!==(0,a.getConfig)("webScanCanvasEnabled"),d=!u&&!s?function(){if("undefined"==typeof window)return{width:300,height:300};if(C()){var e=Math.min(window.innerWidth||300,window.innerHeight||300);return{width:Math.max(1,Math.round(e)),height:Math.max(1,Math.round(e))}}return{width:300,height:300}}():{width:300,height:300},p=d.width,h=d.height,v=u||(s?"":"position: fixed; width: "+d.width+"px; height: "+d.height+"px; top: 0; left: 0; z-index: 9999;"),m=g("canvas","__webscan_canvas__",v+" display: none;",!0);m.style.display,m.style.cssText=v,m.className=s||"",o=m.style.display;var b=I(m,p,h);m.style.display="none";var E=null,_=null;f&&((E=g("button","__webscan_close_button__","display: none;",!0)).type="button",E.className=(0,a.getConfig)("webScanCloseButtonClass")||"",E.innerHTML='',E.setAttribute("aria-label","close"),E.onclick=function(e){e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),c.uuid===t&&(c.uuid=null)},E.uuid=c.uuid,R()&&((_=g("button","__webscan_pick_image_button__","display: none;",!0)).type="button",_.className=(0,a.getConfig)("webScanPickImageButtonClass")||"",_.innerHTML='',_.setAttribute("aria-label","pick image"),_.uuid=c.uuid));var M=m.getContext("2d");A.width=300,A.height=300,A.uuid=c.uuid,m.uuid=c.uuid,x((0,a.getConfig)("webScanType")).then((function(e){return navigator.mediaDevices.getUserMedia({video:{facingMode:"environment"}}).then((function(t){return{detector:e,stream:t}}))})).then((function(i){var u=i.detector,s=i.stream;if(c.uuid!==t)return y(s),void n({cancel:1});c.stream=s,c.videoEl=A;var d=function(e){var t=(0,a.getConfig)("webScanVideoMirror");if("boolean"==typeof t)return t;try{var r=e&&e.getVideoTracks&&e.getVideoTracks()[0],n=r&&r.getSettings&&r.getSettings();if(n&&"environment"===n.facingMode)return!1;if(n&&"user"===n.facingMode)return!0}catch(e){}return!C()}(s),v=!0===(0,a.getConfig)("webScanVideoMirrorVertical");A.srcObject=s,A.setAttribute("playsinline",!0),A.play(),m.style.display="none";var g=!1,w=!1,x=!1,R=function(){if(!x){x=!0,y(s),c.uuid!==t&&c.stream!==s||(c.stream=null,c.videoEl=null);try{A.pause&&A.pause(),A.srcObject=null}catch(e){}E&&(E.style.display="none"),_&&(_.style.display="none")}};_&&(_.onclick=function(n){n.preventDefault&&n.preventDefault(),n.stopPropagation&&n.stopPropagation(),c.uuid!==t||x||P().then((function(n){n&&c.uuid===t&&!x&&O(u,n).then((function(n){n&&n.rawValue&&c.uuid===t&&!x&&e&&e(n.rawValue)&&(T(),c.uuid=null,c.finish=!0,R(),r({result:n.rawValue}))})).catch((function(){}))}))});var k=function i(){try{if(A.readyState===A.HAVE_ENOUGH_DATA&&!g){m.width=b.width,m.height=b.height;var s=(y=A.videoWidth,C=A.videoHeight,x=m.width,P=m.height,{scale:O=Math.max(x/y,P/C),width:k=y*O,height:D=C*O,x:(x-k)/2,y:(P-D)/2});M.setTransform(d?-1:1,0,0,v?-1:1,d?m.width:0,v?m.height:0),M.drawImage(A,s.x,s.y,s.width,s.height),M.setTransform(1,0,0,1,0,0),f&&!w&&(w=!0,m.style.display=o||"",b=I(m,p,h),function(e,t){if(!e)return;var r=(0,a.getConfig)("webScanCloseButtonStyle")||"";e.style.cssText=l()+function(e){var t=e.getBoundingClientRect(),r=Math.max(0,Math.round(t.top+8)),n=Math.max(0,Math.round(t.right-48));return"position: fixed; top: "+r+"px; left: "+n+"px;"}(t)+r}(E,m),E&&(E.style.display="flex"),_&&(!function(e,t){if(!e)return;var r=(0,a.getConfig)("webScanPickImageButtonStyle")||"";e.style.cssText=l()+function(e){var t=e.getBoundingClientRect(),r=Math.max(0,Math.round(t.top+8+40+10)),n=Math.max(0,Math.round(t.right-48));return"position: fixed; top: "+r+"px; left: "+n+"px;"}(t)+r}(_,m),_.style.display="flex")),g=!0,u.detect(A).then((function(n){var o=n&&n[0];if(o&&o.rawValue&&c.uuid==t){if(!e||!e(o.rawValue))return;!function(e,t,r,n,o,i,a){var u=n.cornerPoints;if(u&&u.length){for(var s=0;se[5]),r.filter(e=>"*"===e[1]).map(e=>e[0]),r.filter(e=>"*"!==e[1]).map(e=>e[0]),r.filter(e=>" "===e[2]).map(e=>e[0]),r.filter(e=>"l"===e[3][0]).map(e=>e[0]),r.filter(e=>"m"===e[3][0]).map(e=>e[0]),r.filter(e=>"r"===e[3][1]).map(e=>e[0]),r.filter(e=>"w"===e[3][2]||0!==e[4]).map(e=>e[0]),r.filter(e=>"G"===e[3][3]).map(e=>e[0]),r.filter(e=>"R"===e[3][4]).map(e=>e[0]),r.filter(e=>"I"===e[3][4]).map(e=>e[0]);var a=["LocalAverage","GlobalHistogram","FixedThreshold","BoolCast"];function u(e){return a.indexOf(e)}var s="Unknown.ASCII.ISO8859_1.ISO8859_2.ISO8859_3.ISO8859_4.ISO8859_5.ISO8859_6.ISO8859_7.ISO8859_8.ISO8859_9.ISO8859_10.ISO8859_11.ISO8859_13.ISO8859_14.ISO8859_15.ISO8859_16.Cp437.Cp1250.Cp1251.Cp1252.Cp1256.Shift_JIS.Big5.GB2312.GB18030.EUC_JP.EUC_KR.UTF16BE.UTF8.UTF16LE.UTF32BE.UTF32LE.BINARY".split(".");function c(e){return"UnicodeBig"===e?s.indexOf("UTF16BE"):s.indexOf(e)}var A=["Text","Binary","Mixed","GS1","ISO15434","UnknownECI"];function l(e){return A[e]}var f=["Ignore","Read","Require"];function d(e){return f.indexOf(e)}var p=["Plain","ECI","HRI","Escaped","Hex","HexECI"];function h(e){return p.indexOf(e)}var v={formats:[],tryHarder:!0,tryRotate:!0,tryInvert:!0,tryDownscale:!0,tryDenoise:!1,binarizer:"LocalAverage",isPure:!1,downscaleFactor:3,downscaleThreshold:500,minLineCount:2,maxNumberOfSymbols:255,validateOptionalChecksum:!1,returnErrors:!1,eanAddOnSymbol:"Ignore",textMode:"HRI",characterSet:"Unknown",tryCode39ExtendedMode:!0};function m(e){var t;return{...e,formats:i(e.formats),binarizer:u(e.binarizer),eanAddOnSymbol:d(e.eanAddOnSymbol),textMode:h(e.textMode),characterSet:c(e.characterSet),tryCode39ExtendedMode:null==(t=e.tryCode39ExtendedMode)||t}}function g(e){return{...e,format:e.format,symbology:e.symbology,contentType:l(e.contentType)}}var y={locateFile:(e,t)=>{let r=e.match(/_(.+?)\.wasm$/);return r?`https://fastly.jsdelivr.net/npm/zxing-wasm@3.0.2/dist/${r[1]}/${e}`:t+e}},w=new WeakMap;function b(e,t){return Object.is(e,t)||Object.keys(e).length===Object.keys(t).length&&Object.keys(e).every(r=>Object.hasOwn(t,r)&&e[r]===t[r])}function S(e,{overrides:t,equalityFn:r=b,fireImmediately:n=!1}={}){var o,i;let a,[u,s]=null==(o=w.get(e))?[y]:o,c=null==t?u:t;if(n){if(s&&(a=r(u,c)))return s;let t=e({...c});return w.set(e,[c,t]),t}(null==(i=a)?r(u,c):i)||w.set(e,[c])}async function C(e,t,r=v){let n,o,i={...v,...r},a=await S(e,{fireImmediately:!0});if("width"in t&&"height"in t&&"data"in t){let{data:e,width:r,height:u}=t,s=function(e){let t=e.byteLength>>2,r=new Uint8Array(t);for(let n=0;n>10}return r}(e),c=s.byteLength;if(o=a._malloc(c),!o)throw Error(`Failed to allocate ${c} bytes in WASM memory`);try{a.HEAPU8.set(s,o),n=a.readBarcodesFromPixmap(o,r,u,m(i))}finally{a._free(o)}}else{let e,r;if("buffer"in t)[e,r]=[t.byteLength,t];else if("byteLength"in t)[e,r]=[t.byteLength,new Uint8Array(t)];else{if(!("size"in t))throw TypeError("Invalid input type");[e,r]=[t.size,new Uint8Array(await t.arrayBuffer())]}if(o=a._malloc(e),!o)throw Error(`Failed to allocate ${e} bytes in WASM memory`);try{a.HEAPU8.set(r,o),n=a.readBarcodesFromImage(o,e,m(i))}finally{a._free(o)}}let u=[];for(let e=0;e{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),u=async e=>{var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw Error(t.status+" : "+t.url)}}var l,f,d,p,h=console.log.bind(console),v=console.error.bind(console),m=!1,g=!1;function y(){var e=Pt.buffer;x=new Int8Array(e),E=new Int16Array(e),n.HEAPU8=P=new Uint8Array(e),M=new Uint16Array(e),_=new Int32Array(e),R=new Uint32Array(e),I=new Float32Array(e),T=new Float64Array(e)}function w(e){var t,r;null==(t=n.onAbort)||t.call(n,e),v(e="Aborted("+e+")"),m=!0,e+=". Build with -sASSERTIONS for more info.";var o=new WebAssembly.RuntimeError(e);throw null==(r=d)||r(o),o}function b(){return function(e){return n.locateFile?n.locateFile(e,A):A+e}("zxing_reader.wasm")}async function S(e){if(!l)try{var t=await u(e);return new Uint8Array(t)}catch{}return function(e){if(e==p&&l)return new Uint8Array(l);if(s)return s(e);throw"both async and sync fetching of the wasm failed"}(e)}async function C(e,t,r){if(!e&&WebAssembly.instantiateStreaming)try{var n=fetch(t,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(n,r)}catch(e){v("wasm streaming compile failed: "+e),v("falling back to ArrayBuffer instantiation")}return async function(e,t){try{var r=await S(e);return await WebAssembly.instantiate(r,t)}catch(e){v("failed to asynchronously prepare wasm: "+e),w(e)}}(t,r)}var E,_,x,I,T,M,R,P,O=e=>{for(;e.length>0;)e.shift()(n)},k=[],D=e=>k.push(e),B=[],U=e=>B.push(e),V=e=>Et(e),F=()=>_t(),j=[],Q=0,W=0;class ${constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){R[this.ptr+4>>2]=e}get_type(){return R[this.ptr+4>>2]}set_destructor(e){R[this.ptr+8>>2]=e}get_destructor(){return R[this.ptr+8>>2]}set_caught(e){e=e?1:0,x[this.ptr+12]=e}get_caught(){return 0!=x[this.ptr+12]}set_rethrown(e){e=e?1:0,x[this.ptr+13]=e}get_rethrown(){return 0!=x[this.ptr+13]}init(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)}set_adjusted_ptr(e){R[this.ptr+16>>2]=e}get_adjusted_ptr(){return R[this.ptr+16>>2]}}var q=e=>Ct(e),L=e=>{var t=W;if(!t)return q(0),0;var r=new $(t);r.set_adjusted_ptr(t);var n=r.get_type();if(!n)return q(0),t;for(var o of e){if(0===o||o===n)break;var i=r.ptr+16;if(Tt(o,n,i))return q(o),t}return q(n),t},G={},N=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function K(e){return this.fromWireType(R[e>>2])}var H={},J={},z={},Z=class extends Error{constructor(e){super(e),this.name="InternalError"}},Y=e=>{throw new Z(e)},X=(e,t,r)=>{function n(t){var n=r(t);n.length!==e.length&&Y("Mismatched type converter count");for(var o=0;oz[e]=t);var o=Array(t.length),i=[],a=0;{let e=t;for(let t=0;t{o[t]=J[r],++a===i.length&&n(o)}))}}0===i.length&&n(o)},ee=e=>{for(var t="";;){var r=P[e++];if(!r)return t;t+=String.fromCharCode(r)}},te=class extends Error{constructor(e){super(e),this.name="BindingError"}},re=e=>{throw new te(e)};function ne(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var n=t.name;if(e||re(`type "${n}" must have a positive integer typeid pointer`),J.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;re(`Cannot register type '${n}' twice`)}if(J[e]=t,delete z[e],H.hasOwnProperty(e)){var o=H[e];delete H[e],o.forEach(e=>e())}}function oe(e,t){return ne(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{})}var ie=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),ae=e=>{re(function(e){return e.$$.ptrType.registeredClass.name}(e)+" instance already deleted")},ue=!1,se=e=>{},ce=e=>{--e.count.value,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},Ae=e=>globalThis.FinalizationRegistry?(ue=new FinalizationRegistry(e=>{ce(e.$$)}),se=e=>ue.unregister(e),(Ae=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};ue.register(e,r,e)}return e})(e)):(Ae=e=>e,e),le=[];function fe(){}var de=(e,t)=>Object.defineProperty(t,"name",{value:e}),pe={},he=(e,t,r)=>{if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){var n=[...arguments];return e[t].overloadTable.hasOwnProperty(n.length)||re(`Function '${r}' called with an invalid number of arguments (${n.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[n.length].apply(this,n)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}},ve=(e,t,r)=>{n.hasOwnProperty(e)?((void 0===r||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[r])&&re(`Cannot register public name '${e}' twice`),he(n,e,e),n[e].overloadTable.hasOwnProperty(r)&&re(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),n[e].overloadTable[r]=t):(n[e]=t,n[e].argCount=r)};function me(e,t,r,n,o,i,a,u){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=o,this.getActualType=i,this.upcast=a,this.downcast=u,this.pureVirtualFunctions=[]}var ge=(e,t,r)=>{for(;t!==r;)t.upcast||re(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e},ye=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e};function we(e,t){if(null===t)return this.isReference&&re("null is not a valid "+this.name),0;t.$$||re(`Cannot pass "${ye(t)}" as a ${this.name}`),t.$$.ptr||re("Cannot pass deleted object as a pointer of type "+this.name);var r=t.$$.ptrType.registeredClass;return ge(t.$$.ptr,r,this.registeredClass)}function be(e,t){var r;if(null===t)return this.isReference&&re("null is not a valid "+this.name),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;(!t||!t.$$)&&re(`Cannot pass "${ye(t)}" as a ${this.name}`),t.$$.ptr||re("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&re(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var n=t.$$.ptrType.registeredClass;if(r=ge(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&re("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:re(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var o=t.clone();r=this.rawShare(r,Ne.toHandle(()=>o.delete())),null!==e&&e.push(this.rawDestructor,r)}break;default:re("Unsupported sharing policy")}return r}function Se(e,t){if(null===t)return this.isReference&&re("null is not a valid "+this.name),0;t.$$||re(`Cannot pass "${ye(t)}" as a ${this.name}`),t.$$.ptr||re("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&re(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return ge(t.$$.ptr,r,this.registeredClass)}var Ce=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var n=Ce(e,t,r.baseClass);return null===n?null:r.downcast(n)},Ee={},_e=(e,t)=>(t=((e,t)=>{for(void 0===t&&re("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t})(e,t),Ee[t]),xe=(e,t)=>((!t.ptrType||!t.ptr)&&Y("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&Y("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Ae(Object.create(e,{$$:{value:t,writable:!0}})));function Ie(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=_e(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function o(){return this.isSmartPointer?xe(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):xe(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var i=pe[this.registeredClass.getActualType(t)];if(!i)return o.call(this);var a=this.isConst?i.constPointerType:i.pointerType,u=Ce(t,this.registeredClass,a.registeredClass);return null===u?o.call(this):this.isSmartPointer?xe(a.registeredClass.instancePrototype,{ptrType:a,ptr:u,smartPtrType:this,smartPtr:e}):xe(a.registeredClass.instancePrototype,{ptrType:a,ptr:u})}function Te(e,t,r,n,o,i,a,u,s,c,A){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=o,this.pointeeType=i,this.sharingPolicy=a,this.rawGetPointee=u,this.rawConstructor=s,this.rawShare=c,this.rawDestructor=A,o||void 0!==t.baseClass?this.toWireType=be:n?(this.toWireType=we,this.destructorFunction=null):(this.toWireType=Se,this.destructorFunction=null)}var Me=(e,t,r)=>{n.hasOwnProperty(e)||Y("Replacing nonexistent public symbol"),void 0!==n[e].overloadTable&&void 0!==r?n[e].overloadTable[r]=t:(n[e]=t,n[e].argCount=r)},Re={},Pe=(e,t,r)=>(e=e.replace(/p/g,"i"),(0,Re[e])(t,...r)),Oe=[],ke=e=>{var t=Oe[e];return t||(Oe[e]=t=Ot.get(e)),t},De=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(e.includes("j"))return Pe(e,t,r);var n=ke(t)(...r);return n},Be=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(){return De(e,t,[...arguments],r)}},Ue=function(e,t){function r(){return e.includes("j")?Be(e,t):ke(t)}e=ee(e);var n=r();return"function"!=typeof n&&re(`unknown function pointer with signature ${e}: ${t}`),n};class Ve extends Error{}var Fe=e=>{var t=gt(e),r=ee(t);return yt(t),r},je=(e,t)=>{var r=[],n={};throw t.forEach((function e(t){if(!n[t]&&!J[t]){if(z[t])return void z[t].forEach(e);r.push(t),n[t]=!0}})),new Ve(e+": "+r.map(Fe).join([", "]))},Qe=(e,t)=>{for(var r=[],n=0;n>2]);return r};function We(e,t,r,n,o,i){var a=t.length;a<2&&re("argTypes array size mismatch! Must at least get return value and 'this' types!");var u=null!==t[1]&&null!==r,s=function(e){for(var t=1;t{let t=(e=e.trim()).indexOf("(");return-1===t?e:e.slice(0,t)},qe=[],Le=[0,1,,1,null,1,!0,1,!1,1],Ge=e=>{e>9&&0==--Le[e+1]&&(Le[e]=void 0,qe.push(e))},Ne={toValue:e=>(e||re("Cannot use deleted val. handle = "+e),Le[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{let t=qe.pop()||Le.length;return Le[t]=e,Le[t+1]=1,t}}}},Ke={name:"emscripten::val",fromWireType:e=>{var t=Ne.toValue(e);return Ge(e),t},toWireType:(e,t)=>Ne.toHandle(t),readValueFromPointer:K,destructorFunction:null},He=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(I[e>>2])};case 8:return function(e){return this.fromWireType(T[e>>3])};default:throw TypeError(`invalid float width (${t}): ${e}`)}},Je=(e,t,r)=>{switch(t){case 1:return r?e=>x[e]:e=>P[e];case 2:return r?e=>E[e>>1]:e=>M[e>>1];case 4:return r?e=>_[e>>2]:e=>R[e>>2];default:throw TypeError(`invalid integer width (${t}): ${e}`)}},ze=(e,t,r)=>{let n=(e,t)=>{let r=0;return{next(){if(r>=e)return{done:!0};let n=r;return r++,{value:t(n),done:!1}},[Symbol.iterator](){return this}}};e[Symbol.iterator]||(e[Symbol.iterator]=function(){return n(this[t](),e=>this[r](e))})},Ze=Object.assign({optional:!0},Ke),Ye=(e,t,r)=>((e,t,r,n)=>{if(!(n>0))return 0;for(var o=r,i=r+n-1,a=0;a=i)break;t[r++]=u}else if(u<=2047){if(r+1>=i)break;t[r++]=192|u>>6,t[r++]=128|63&u}else if(u<=65535){if(r+2>=i)break;t[r++]=224|u>>12,t[r++]=128|u>>6&63,t[r++]=128|63&u}else{if(r+3>=i)break;t[r++]=240|u>>18,t[r++]=128|u>>12&63,t[r++]=128|u>>6&63,t[r++]=128|63&u,a++}}return t[r]=0,r-o})(e,P,t,r),Xe=e=>{for(var t=0,r=0;r=55296&&n<=57343?(t+=4,++r):t+=3}return t},et=globalThis.TextDecoder&&new TextDecoder,tt=(e,t,r,n)=>{var o=t+r;if(n)return o;for(;e[t]&&!(t>=o);)++t;return t},rt=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0;var o=tt(e,t,r,n);if(o-t>16&&e.buffer&&et)return et.decode(e.subarray(t,o));for(var i="";t>10,56320|1023&c)}}else i+=String.fromCharCode((31&a)<<6|u)}else i+=String.fromCharCode(a)}return i},nt=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,ot=(e,t,r)=>{var n=e>>1,o=tt(M,n,t/2,r);if(o-n>16&&nt)return nt.decode(M.subarray(n,o));for(var i="",a=n;a{if(null!=r||(r=2147483647),r<2)return 0;for(var n=t,o=(r-=2)<2*e.length?r/2:e.length,i=0;i>1]=a,t+=2}return E[t>>1]=0,t-n},at=e=>2*e.length,ut=(e,t,r)=>{for(var n="",o=e>>2,i=0;!(i>=t/4);i++){var a=R[o+i];if(!a&&!r)break;n+=String.fromCodePoint(a)}return n},st=(e,t,r)=>{if(null!=r||(r=2147483647),r<4)return 0;for(var n=t,o=n+r-4,i=0;i65535&&i++,_[t>>2]=a,(t+=4)+4>o)break}return _[t>>2]=0,t-n},ct=e=>{for(var t=0,r=0;r65535&&r++,t+=4;return t},At=[],lt=(e,t)=>{var r=J[e];return void 0===r&&re(`${t} has unknown type ${Fe(e)}`),r},ft={},dt=e=>{var t=ft[e];return void 0===t?ee(e):t},pt=(e,t)=>Math.ceil(e/t)*t,ht=e=>{var t=(e-Pt.buffer.byteLength+65535)/65536|0;try{return Pt.grow(t),y(),1}catch{}},vt={},mt=()=>{if(!mt.strings){var e,t,r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(null==(e=null==(t=globalThis.navigator)?void 0:t.language)?"C":e).replace("-","_")+".UTF-8",_:c||"./this.program"};for(var n in vt)void 0===vt[n]?delete r[n]:r[n]=vt[n];var o=[];for(var n in r)o.push(`${n}=${r[n]}`);mt.strings=o}return mt.strings};var gt,yt,wt,bt,St,Ct,Et,_t,xt,It,Tt,Mt,Rt,Pt,Ot,kt=[null,[],[]],Dt=(e,t)=>{var r=kt[e];0===t||10===t?((1===e?h:v)(rt(r)),r.length=0):r.push(t)};if((()=>{let e=fe.prototype;Object.assign(e,{isAliasOf(e){if(!(this instanceof fe&&e instanceof fe))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,o=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return t===n&&r===o},clone(){if(this.$$.ptr||ae(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=Ae(Object.create(Object.getPrototypeOf(this),{$$:{value:ie(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||ae(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&re("Object already scheduled for deletion"),se(this),ce(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||ae(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&re("Object already scheduled for deletion"),le.push(this),le.length,this.$$.deleteScheduled=!0,this}});let t=Symbol.dispose;t&&(e[t]=e.delete)})(),Object.assign(Te.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var t;null==(t=this.rawDestructor)||t.call(this,e)},readValueFromPointer:K,fromWireType:Ie}),n.noExitRuntime&&n.noExitRuntime,n.print&&(h=n.print),n.printErr&&(v=n.printErr),n.wasmBinary&&(l=n.wasmBinary),n.arguments&&n.arguments,n.thisProgram&&(c=n.thisProgram),n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.shift()();var Bt={s:e=>{var t=new $(e);return t.get_caught()||(t.set_caught(!0),Q--),t.set_rethrown(!1),j.push(t),bt(e)},x:()=>{St(0,0);var e=j.pop();xt(e.excPtr),W=0},a:()=>L([]),i:e=>L([e]),m:(e,t)=>L([e,t]),Q:()=>{var e=j.pop();e||w("no exception to throw");var t=e.excPtr;throw e.get_rethrown()||(j.push(e),e.set_rethrown(!0),e.set_caught(!1),Q++),It(t),W=t},q:(e,t,r)=>{throw new $(e).init(t,r),It(e),Q++,W=e},fa:()=>Q,d:e=>{throw W||(W=e),W},ba:()=>w(""),wa:e=>{var t=G[e];delete G[e];var r=t.rawConstructor,n=t.rawDestructor,o=t.fields,i=o.map(e=>e.getterReturnType).concat(o.map(e=>e.setterArgumentType));X([e],i,e=>{var i={};{let t=o;for(let r=0;ra.fromWireType(u(s,e)),write:(e,t)=>{var r=[];A(l,e,c.toWireType(r,t)),N(r)},optional:a.optional}}}return[{name:t.name,fromWireType:e=>{var t={};for(var r in i)t[r]=i[r].read(e);return n(e),t},toWireType:(e,t)=>{for(var o in i)if(!(o in t)&&!i[o].optional)throw TypeError(`Missing field: "${o}"`);var a=r();for(o in i)i[o].write(a,t[o]);return null!==e&&e.push(n,a),a},readValueFromPointer:K,destructorFunction:n}]})},aa:(e,t,r,n,o)=>{},qa:(e,t,r,n)=>{oe(e,{name:t=ee(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},readValueFromPointer:function(e){return this.fromWireType(P[e])},destructorFunction:null})},ua:(e,t,r,n,o,i,a,u,s,c,A,l,f)=>{A=ee(A),i=Ue(o,i),u&&(u=Ue(a,u)),c&&(c=Ue(s,c)),f=Ue(l,f);var d=(e=>{var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_"+e:e})(A);ve(d,(function(){je(`Cannot construct ${A} due to unbound types`,[n])})),X([e,t,r],n?[n]:[],t=>{var r,o;t=t[0],n?o=(r=t.registeredClass).instancePrototype:o=fe.prototype;var a=de(A,(function(){if(Object.getPrototypeOf(this)!==s)throw new te("Use 'new' to construct "+A);if(void 0===p.constructor_body)throw new te(A+" has no accessible constructor");var e=[...arguments],t=p.constructor_body[e.length];if(void 0===t)throw new te(`Tried to invoke ctor of ${A} with invalid number of parameters (${e.length}) - expected (${Object.keys(p.constructor_body).toString()}) parameters instead!`);return t.apply(this,e)})),s=Object.create(o,{constructor:{value:a}});a.prototype=s;var l,p=new me(A,a,s,f,r,i,u,c);p.baseClass&&(null!=(l=p.baseClass).__derivedClasses||(l.__derivedClasses=[]),p.baseClass.__derivedClasses.push(p));var h=new Te(A,p,!0,!1,!1),v=new Te(A+"*",p,!1,!1,!1),m=new Te(A+" const*",p,!1,!0,!1);return pe[e]={pointerType:v,constPointerType:m},Me(d,a),[h,v,m]})},ta:(e,t,r,n,o,i)=>{var a=Qe(t,r);o=Ue(n,o),X([],[e],e=>{var r="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new te(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{je(`Cannot construct ${e.name} due to unbound types`,a)},X([],a,n=>(n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=We(r,n,null,o,i),[])),[]})},F:(e,t,r,n,o,i,a,u,s,c)=>{var A=Qe(r,n);t=ee(t),t=$e(t),i=Ue(o,i,s),X([],[e],e=>{var n=`${(e=e[0]).name}.${t}`;function o(){je(`Cannot call ${n} due to unbound types`,A)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),u&&e.registeredClass.pureVirtualFunctions.push(t);var s=e.registeredClass.instancePrototype,c=s[t];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===r-2?(o.argCount=r-2,o.className=e.name,s[t]=o):(he(s,t,n),s[t].overloadTable[r-2]=o),X([],A,o=>{var u=We(n,o,e,i,a);return void 0===s[t].overloadTable?(u.argCount=r-2,s[t]=u):s[t].overloadTable[r-2]=u,[]}),[]})},oa:e=>oe(e,Ke),X:(e,t,r)=>{oe(e,{name:t=ee(t),fromWireType:e=>e,toWireType:(e,t)=>t,readValueFromPointer:He(t,r),destructorFunction:null})},Y:(e,t,r,n,o,i,a,u)=>{var s=Qe(t,r);e=ee(e),e=$e(e),o=Ue(n,o,a),ve(e,(function(){je(`Cannot call ${e} due to unbound types`,s)}),t-1),X([],s,r=>{var n=[r[0],null].concat(r.slice(1));return Me(e,We(e,n,null,o,i),t-1),[]})},A:(e,t,r,n,o)=>{t=ee(t);let i=e=>e;if(0===n){var a=32-8*r;i=e=>e<>>a,o=i(o)}oe(e,{name:t,fromWireType:i,toWireType:(e,t)=>t,readValueFromPointer:Je(t,r,0!==n),destructorFunction:null})},sa:(e,t,r,n)=>{r=ee(r),n=ee(n),X([],[e,t],e=>{let t=e[0];return ze(t.registeredClass.instancePrototype,r,n),[]})},t:(e,t,r)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function o(e){var t=R[e>>2],r=R[e+4>>2];return new n(x.buffer,r,t)}oe(e,{name:r=ee(r),fromWireType:o,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},va:(e,t)=>{oe(e,Ze)},pa:(e,t)=>{t=ee(t);oe(e,{name:t,fromWireType(e){var t,r=R[e>>2],n=e+4;return t=((e,t,r)=>e?rt(P,e,t,r):"")(n,r,!0),yt(e),t},toWireType(e,t){t instanceof ArrayBuffer&&(t=new Uint8Array(t));var r,n="string"==typeof t;n||ArrayBuffer.isView(t)&&1==t.BYTES_PER_ELEMENT||re("Cannot pass non-string to std::string"),r=n?Xe(t):t.length;var o=wt(4+r+1),i=o+4;(R[o>>2]=r,n)?Ye(t,i,r+1):P.set(t,i);return null!==e&&e.push(yt,o),o},readValueFromPointer:K,destructorFunction(e){yt(e)}})},S:(e,t,r)=>{var n,o,i;r=ee(r),2===t?(n=ot,o=it,i=at):(n=ut,o=st,i=ct),oe(e,{name:r,fromWireType:e=>{var r=R[e>>2],o=n(e+4,r*t,!0);return yt(e),o},toWireType:(e,n)=>{"string"!=typeof n&&re("Cannot pass non-string to C++ string type "+r);var a=i(n),u=wt(4+a+t);return R[u>>2]=a/t,o(n,u+4,a+t),null!==e&&e.push(yt,u),u},readValueFromPointer:K,destructorFunction(e){yt(e)}})},G:(e,t,r,n,o,i)=>{G[e]={name:ee(t),rawConstructor:Ue(r,n),rawDestructor:Ue(o,i),fields:[]}},xa:(e,t,r,n,o,i,a,u,s,c)=>{G[e].fields.push({fieldName:ee(t),getterReturnType:r,getter:Ue(n,o),getterContext:i,setterArgumentType:a,setter:Ue(u,s),setterContext:c})},ra:(e,t)=>{oe(e,{isVoid:!0,name:t=ee(t),fromWireType:()=>{},toWireType:(e,t)=>{}})},N:(e,t,r)=>{var[n,...o]=((e,t)=>{for(var r=Array(e),n=0;n>2],"parameter "+n);return r})(e,t),i=n.toWireType.bind(n),a=o.map(e=>e.readValueFromPointer.bind(e));e--;var u=Array(e);return(e=>{var t=At.length;return At.push(e),t})(de(`methodCaller<(${o.map(e=>e.name)}) => ${n.name}>`,(t,n,o,s)=>{for(var c=0,A=0;A{var n=[],o=e(n,r);return n.length&&(R[t>>2]=Ne.toHandle(n)),o})(i,o,l)}))},ya:Ge,C:e=>e?(e=dt(e),Ne.toHandle(globalThis[e])):Ne.toHandle(globalThis),T:e=>{e>9&&(Le[e+1]+=1)},M:(e,t,r,n,o)=>At[e](t,r,n,o),ka:e=>{N(Ne.toValue(e)),Ge(e)},ca:(e,t,r,n)=>{var o=(new Date).getFullYear(),i=new Date(o,0,1),a=new Date(o,6,1),u=i.getTimezoneOffset(),s=a.getTimezoneOffset(),c=Math.max(u,s);R[e>>2]=60*c,_[t>>2]=Number(u!=s);var A=e=>{var t=e>=0?"-":"+",r=Math.abs(e);return`UTC${t}${String(Math.floor(r/60)).padStart(2,"0")}${String(r%60).padStart(2,"0")}`},l=A(u),f=A(s);s{var t=P.length,r=2147483648;if((e>>>=0)>r)return!1;for(var n=1;n<=4;n*=2){var o=t*(1+.2/n);if(o=Math.min(o,e+100663296),ht(Math.min(r,pt(Math.max(e,o),65536))))return!0}return!1},da:(e,t)=>{var r=0,n=0;for(var o of mt()){var i=t+r;R[e+n>>2]=i,r+=Ye(o,i,1/0)+1,n+=4}return 0},ea:(e,t)=>{var r=mt();R[e>>2]=r.length;var n=0;for(var o of r)n+=Xe(o)+1;return R[t>>2]=n,0},ha:e=>52,_:function(e,t,r,n,o){return((e,t)=>{})(t,r),70},V:(e,t,r,n)=>{for(var o=0,i=0;i>2],u=R[t+4>>2];t+=8;for(var s=0;s>2]=o,0},ma:function(e,t,r){var n=F();try{return ke(e)(t,r)}catch(e){if(V(n),e!==e+0)throw e;St(1,0)}},K:function(e,t,r,n){var o=F();try{return ke(e)(t,r,n)}catch(e){if(V(o),e!==e+0)throw e;St(1,0)}},B:function(e,t,r,n,o,i){var a=F();try{return ke(e)(t,r,n,o,i)}catch(e){if(V(a),e!==e+0)throw e;St(1,0)}},O:function(e,t,r,n,o,i){var a=F();try{return ke(e)(t,r,n,o,i)}catch(e){if(V(a),e!==e+0)throw e;St(1,0)}},U:function(e,t,r,n){var o=F();try{return ke(e)(t,r,n)}catch(e){if(V(o),e!==e+0)throw e;St(1,0)}},p:function(e){var t=F();try{return ke(e)()}catch(e){if(V(t),e!==e+0)throw e;St(1,0)}},b:function(e,t){var r=F();try{return ke(e)(t)}catch(e){if(V(r),e!==e+0)throw e;St(1,0)}},D:function(e,t,r,n){var o=F();try{return ke(e)(t,r,n)}catch(e){if(V(o),e!==e+0)throw e;St(1,0)}},ja:function(e,t,r){var n=F();try{return ke(e)(t,r)}catch(e){if(V(n),e!==e+0)throw e;St(1,0)}},c:function(e,t,r){var n=F();try{return ke(e)(t,r)}catch(e){if(V(n),e!==e+0)throw e;St(1,0)}},ia:function(e,t,r,n,o){var i=F();try{return ke(e)(t,r,n,o)}catch(e){if(V(i),e!==e+0)throw e;St(1,0)}},h:function(e,t,r,n){var o=F();try{return ke(e)(t,r,n)}catch(e){if(V(o),e!==e+0)throw e;St(1,0)}},j:function(e,t,r,n,o){var i=F();try{return ke(e)(t,r,n,o)}catch(e){if(V(i),e!==e+0)throw e;St(1,0)}},r:function(e,t,r,n,o,i){var a=F();try{return ke(e)(t,r,n,o,i)}catch(e){if(V(a),e!==e+0)throw e;St(1,0)}},P:function(e,t,r,n,o,i,a){var u=F();try{return ke(e)(t,r,n,o,i,a)}catch(e){if(V(u),e!==e+0)throw e;St(1,0)}},w:function(e,t,r,n,o,i,a){var u=F();try{return ke(e)(t,r,n,o,i,a)}catch(e){if(V(u),e!==e+0)throw e;St(1,0)}},E:function(e,t,r,n,o,i,a,u){var s=F();try{return ke(e)(t,r,n,o,i,a,u)}catch(e){if(V(s),e!==e+0)throw e;St(1,0)}},L:function(e,t,r,n,o,i,a,u,s){var c=F();try{return ke(e)(t,r,n,o,i,a,u,s)}catch(e){if(V(c),e!==e+0)throw e;St(1,0)}},I:function(e,t,r,n,o,i,a,u,s,c,A,l){var f=F();try{return ke(e)(t,r,n,o,i,a,u,s,c,A,l)}catch(e){if(V(f),e!==e+0)throw e;St(1,0)}},$:function(e,t,r,n,o,i,a){var u=F();try{return Mt(e,t,r,n,o,i,a)}catch(e){if(V(u),e!==e+0)throw e;St(1,0)}},Z:function(e,t,r,n,o){var i=F();try{return Rt(e,t,r,n,o)}catch(e){if(V(i),e!==e+0)throw e;St(1,0)}},f:function(e){var t=F();try{ke(e)()}catch(e){if(V(t),e!==e+0)throw e;St(1,0)}},l:function(e,t){var r=F();try{ke(e)(t)}catch(e){if(V(r),e!==e+0)throw e;St(1,0)}},e:function(e,t,r){var n=F();try{ke(e)(t,r)}catch(e){if(V(n),e!==e+0)throw e;St(1,0)}},W:function(e,t,r,n,o,i,a,u,s){var c=F();try{ke(e)(t,r,n,o,i,a,u,s)}catch(e){if(V(c),e!==e+0)throw e;St(1,0)}},g:function(e,t,r,n){var o=F();try{ke(e)(t,r,n)}catch(e){if(V(o),e!==e+0)throw e;St(1,0)}},J:function(e,t,r,n,o,i,a){var u=F();try{ke(e)(t,r,n,o,i,a)}catch(e){if(V(u),e!==e+0)throw e;St(1,0)}},k:function(e,t,r,n,o){var i=F();try{ke(e)(t,r,n,o)}catch(e){if(V(i),e!==e+0)throw e;St(1,0)}},la:function(e,t,r,n,o,i,a,u){var s=F();try{ke(e)(t,r,n,o,i,a,u)}catch(e){if(V(s),e!==e+0)throw e;St(1,0)}},o:function(e,t,r,n,o,i){var a=F();try{ke(e)(t,r,n,o,i)}catch(e){if(V(a),e!==e+0)throw e;St(1,0)}},y:function(e,t,r,n,o,i,a){var u=F();try{ke(e)(t,r,n,o,i,a)}catch(e){if(V(u),e!==e+0)throw e;St(1,0)}},u:function(e,t,r,n,o,i,a,u){var s=F();try{ke(e)(t,r,n,o,i,a,u)}catch(e){if(V(s),e!==e+0)throw e;St(1,0)}},R:function(e,t,r,n,o,i,a,u,s){var c=F();try{ke(e)(t,r,n,o,i,a,u,s)}catch(e){if(V(c),e!==e+0)throw e;St(1,0)}},v:function(e,t,r,n,o,i,a,u,s,c){var A=F();try{ke(e)(t,r,n,o,i,a,u,s,c)}catch(e){if(V(A),e!==e+0)throw e;St(1,0)}},n:function(e,t,r,n,o,i,a,u,s,c,A){var l=F();try{ke(e)(t,r,n,o,i,a,u,s,c,A)}catch(e){if(V(l),e!==e+0)throw e;St(1,0)}},H:function(e,t,r,n,o,i,a,u,s,c,A,l,f,d,p,h){var v=F();try{ke(e)(t,r,n,o,i,a,u,s,c,A,l,f,d,p,h)}catch(e){if(V(v),e!==e+0)throw e;St(1,0)}},na:function(e,t,r,n,o,i,a,u,s,c,A,l,f,d,p,h,v){var m=F();try{ke(e)(t,r,n,o,i,a,u,s,c,A,l,f,d,p,h,v)}catch(e){if(V(m),e!==e+0)throw e;St(1,0)}},z:e=>e};var Ut=await async function(){function e(e,t){return function(e){gt=e.Ba,yt=n._free=e.Ca,wt=n._malloc=e.Ea,bt=e.Fa,St=e.Ga,Ct=e.Ha,Et=e.Ia,_t=e.Ja,xt=e.Ka,It=e.La,Tt=e.Ma,Re.viijii=e.Na,Mt=Re.iiijj=e.Oa,Re.jiji=e.Pa,Rt=Re.jiiii=e.Qa,Re.iiiiij=e.Ra,Re.iiiiijj=e.Sa,Re.iiiiiijj=e.Ta,Pt=e.za,Ot=e.Da}(Ut=e.exports),y(),Ut}var t={a:Bt};return n.instantiateWasm?new Promise((r,o)=>{n.instantiateWasm(t,(t,n)=>{r(e(t))})}):(null!=p||(p=b()),function(t){return e(t.instance)}(await C(l,p,t)))}();return function(){function e(){var e,t;n.calledRun=!0,!m&&(g=!0,Ut.Aa(),null==(e=f)||e(n),null==(t=n.onRuntimeInitialized)||t.call(n),function(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)D(n.postRun.shift());O(k)}())}!function(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)U(n.preRun.shift());O(B)}(),n.setStatus?(n.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>n.setStatus(""),1),e()},1)):e()}(),g?n:new Promise((e,t)=>{f=e,d=t})}function _(e){return S(E,e)}function x(){return function(e){w.delete(e)}(E)}function I(e){_({overrides:e,equalityFn:Object.is,fireImmediately:!1})}var T=[["aztec","Aztec"],["aztec_code","AztecCode"],["aztec_rune","AztecRune"],["code_128","Code128"],["code_39","Code39"],["code_39_standard","Code39Std"],["code_39_extended","Code39Ext"],["code_32","Code32"],["pzn","PZN"],["code_93","Code93"],["codabar","Codabar"],["databar","DataBar"],["databar_omni","DataBarOmni"],["databar_stacked","DataBarStk"],["databar_stacked_omni","DataBarStkOmni"],["databar_expanded","DataBarExp"],["databar_expanded_stacked","DataBarExpStk"],["databar_limited","DataBarLtd"],["data_matrix","DataMatrix"],["dx_film_edge","DXFilmEdge"],["ean_13","EAN13"],["ean_upc","EANUPC"],["isbn","ISBN"],["ean_8","EAN8"],["itf","ITF"],["itf_14","ITF14"],["maxi_code","MaxiCode"],["micro_qr_code","MicroQRCode"],["pdf417","PDF417"],["compact_pdf417","CompactPDF417"],["qr_code","QRCode"],["qr_code_model_1","QRCodeModel1"],["qr_code_model_2","QRCodeModel2"],["rm_qr_code","RMQRCode"],["upc_a","UPCA"],["upc_e","UPCE"],["other_barcode","OtherBarcode"],["linear_codes","AllLinear"],["matrix_codes","AllMatrix"],["gs1_codes","AllGS1"],["retail_codes","AllRetail"],["industrial_codes","AllIndustrial"],["any","All"]],M=[...T,["unknown"]].map(e=>e[0]),R=new Map(T);function P(e){for(let[t,r]of R)if(e===r)return t;return"unknown"}function O(e){try{var t;return e instanceof(null==e||null==(t=e.ownerDocument)||null==(t=t.defaultView)?void 0:t.HTMLImageElement)}catch{return!1}}function k(e){try{var t;return e instanceof(null==e||null==(t=e.ownerDocument)||null==(t=t.defaultView)?void 0:t.SVGImageElement)}catch{return!1}}function D(e){try{var t;return e instanceof(null==e||null==(t=e.ownerDocument)||null==(t=t.defaultView)?void 0:t.HTMLVideoElement)}catch{return!1}}function B(e){try{var t;return e instanceof(null==e||null==(t=e.ownerDocument)||null==(t=t.defaultView)?void 0:t.HTMLCanvasElement)}catch{return!1}}function U(e){try{return e instanceof ImageBitmap||"[object ImageBitmap]"===Object.prototype.toString.call(e)}catch{return!1}}function V(e){try{return e instanceof OffscreenCanvas||"[object OffscreenCanvas]"===Object.prototype.toString.call(e)}catch{return!1}}function F(e){try{return e instanceof VideoFrame||"[object VideoFrame]"===Object.prototype.toString.call(e)}catch{return!1}}async function j(e){if(O(e)&&!await async function(e){try{return await e.decode(),!0}catch{return!1}}(e))throw new DOMException("Failed to load or decode HTMLImageElement.","InvalidStateError");if(k(e)&&!await async function(e){try{var t;return await(null==(t=e.decode)?void 0:t.call(e)),!0}catch{return!1}}(e))throw new DOMException("Failed to load or decode SVGImageElement.","InvalidStateError");if(F(e)&&function(e){return null===e.format}(e))throw new DOMException("VideoFrame is closed.","InvalidStateError");if(D(e)&&(0===e.readyState||1===e.readyState))throw new DOMException("Invalid element or state.","InvalidStateError");if(U(e)&&function(e){return 0===e.width&&0===e.height}(e))throw new DOMException("The image source is detached.","InvalidStateError");let{width:t,height:r}=function(e){if(O(e))return{width:e.naturalWidth,height:e.naturalHeight};if(k(e))return{width:e.width.baseVal.value,height:e.height.baseVal.value};if(D(e))return{width:e.videoWidth,height:e.videoHeight};if(U(e))return{width:e.width,height:e.height};if(F(e))return{width:e.displayWidth,height:e.displayHeight};if(B(e)||V(e))return{width:e.width,height:e.height};throw TypeError("The provided value is not of type '(Blob or HTMLCanvasElement or HTMLImageElement or HTMLVideoElement or ImageBitmap or ImageData or OffscreenCanvas or SVGImageElement or VideoFrame)'.")}(e);if(0===t||0===r)return null;let n=function(e,t){try{let r=new OffscreenCanvas(e,t);if(r.getContext("2d")instanceof OffscreenCanvasRenderingContext2D)return r;throw void 0}catch{let r=document.createElement("canvas");return r.width=e,r.height=t,r}}(t,r).getContext("2d");n.drawImage(e,0,0);try{return n.getImageData(0,0,t,r)}catch{throw new DOMException("Source would taint origin.","SecurityError")}}async function Q(e){if(function(e){try{return e instanceof Blob||"[object Blob]"===Object.prototype.toString.call(e)}catch{return!1}}(e))return await async function(e){let t;try{t=await createImageBitmap(e)}catch{try{if(!globalThis.Image)return e;{t=new Image;let r="";try{r=URL.createObjectURL(e),t.src=r,await t.decode()}finally{URL.revokeObjectURL(r)}}}catch{throw new DOMException("Failed to load or decode Blob.","InvalidStateError")}}return await j(t)}(e);if(function(e){try{return e instanceof ImageData||"[object ImageData]"===Object.prototype.toString.call(e)}catch{return!1}}(e)){if(function(e){return 0===e.data.buffer.byteLength}(e))throw new DOMException("The image data has been detached.","InvalidStateError");return e}return B(e)||V(e)?function(e){let{width:t,height:r}=e;if(0===t||0===r)return null;let n=e.getContext("2d");try{return n.getImageData(0,0,t,r)}catch{throw new DOMException("Source would taint origin.","SecurityError")}}(e):await j(e)}function W(e,t){return function(e){return e instanceof DOMException||"[object DOMException]"===Object.prototype.toString.call(e)}(e)?new DOMException(`${t}: ${e.message}`,e.name):function(e){return e instanceof Error||"[object Error]"===Object.prototype.toString.call(e)}(e)?new e.constructor(`${t}: ${e.message}`):Error(`${t}: ${e}`)}function $(e,t,r){(function(e,t){if(t.has(e))throw TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function q(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw TypeError("Private element is not present on this object")}function L(e,t){return e.get(q(e,t))}var G=new WeakMap;Object.defineProperty(t,"a",{enumerable:!0,get:function(){return x}}),Object.defineProperty(t,"i",{enumerable:!0,get:function(){return"98106d24a9bc2c4a24a6e6864e0f5729bd68cf73d6f5b45bb1c824521146370c"}}),Object.defineProperty(t,"n",{enumerable:!0,get:function(){return I}}),Object.defineProperty(t,"o",{enumerable:!0,get:function(){return"3.0.2"}}),Object.defineProperty(t,"r",{enumerable:!0,get:function(){return _}}),Object.defineProperty(t,"s",{enumerable:!0,get:function(){return"b304f6656b865be11b00741d430b7d0027bc0ab4"}}),Object.defineProperty(t,"t",{enumerable:!0,get:function(){return class{constructor(e={}){$(this,G,void 0);try{var t;let r=null==e||null==(t=e.formats)?void 0:t.filter(e=>"unknown"!==e);if(0===(null==r?void 0:r.length))throw TypeError("Hint option provided, but is empty.");for(let e of null==r?[]:r)if(!R.has(e))throw TypeError(`Failed to read the 'formats' property from 'BarcodeDetectorOptions': The provided value '${e}' is not a valid enum value of type BarcodeFormat.`);(function(e,t,r){e.set(q(e,t),r)})(G,this,null==r?[]:r),_({fireImmediately:!0}).catch(()=>{})}catch(e){throw W(e,"Failed to construct 'BarcodeDetector'")}}static async getSupportedFormats(){return M.filter(e=>"unknown"!==e)}async detect(e){try{let t=await Q(e);if(null===t)return[];let r,n={textMode:"Plain",formats:L(G,this).map(e=>R.get(e))};try{r=await async function(e,t){return C(E,e,t)}(t,n)}catch(e){throw console.error(e),new DOMException("Barcode detection service unavailable.","NotSupportedError")}return r.map(e=>{let{topLeft:{x:t,y:r},topRight:{x:n,y:o},bottomLeft:{x:i,y:a},bottomRight:{x:u,y:s}}=e.position,c=Math.min(t,n,i,u),A=Math.min(r,o,a,s),l=Math.max(t,n,i,u),f=Math.max(r,o,a,s);return{boundingBox:new DOMRectReadOnly(c,A,l-c,f-A),rawValue:e.text,format:P(e.format),cornerPoints:[{x:t,y:r},{x:n,y:o},{x:u,y:s},{x:i,y:a}]}})}catch(e){throw W(e,"Failed to execute 'detect' on 'BarcodeDetector'")}}}}})},function(e,t){e.exports="data:audio/ogg;base64,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"},function(e,t,r){"use strict";t.__esModule=!0,t.request=function(e){var t=e.url,r=e.method,a=e.data,u=e.headers,s=e.json,c=e.timeout,A=Object.assign({request_id:(0,o.hex_md5)((0,n.createUUID)()+"_"+Date.now())},a);return new Promise((function(e,n){!function(e){var t,r=e.url||"",n=e.method||"GET",o=e.headers||{},a=e.data||{},u=e.json||!1,s=e.timeout||6e3,c=new XMLHttpRequest;if("GET"==n.toUpperCase())r=(0,i.appendQueryParams)(r,a),t=void 0;else{if("POST"!=n.toUpperCase())return void(e.fail&&e.fail({errMsg:"request:un support "+n}));u?t=JSON.stringify(a):(t=new FormData,Object.keys(a).forEach((function(e){var r=a[e];r instanceof File?t.append(e,r,r.name):t.append(e,r)})))}if(c.timeout=s,c.open(n.toUpperCase(),r,!0),o)for(var A in o)c.setRequestHeader(A,o[A]);u&&c.setRequestHeader("Content-Type","application/json");c.onreadystatechange=function(){if(4==c.readyState){var t=c.getAllResponseHeaders(),r={};if(t)t.split("\n").forEach((function(e){if(e){var t=e.split(": ");t.length>1&&(r[t[0]]=t[1])}}));if(c.status>=200&&c.status<300){var n={errMsg:"request:ok"};try{var o=JSON.parse(c.response);n.data=o}catch(e){n.data=c.response}n.header=r,n.statusCode=c.status,e.success&&e.success(n)}else e.fail&&e.fail({errMsg:"request:fail",data:c.response,header:r})}},c.send(t)}(Object.assign({},{url:t,method:r,data:A,headers:u,json:s,timeout:c},{success:e,fail:n}))})).then((function(e){if(e.statusCode&&200!=e.statusCode)throw e;return e}))};var n=r(1),o=r(23),i=r(24)},function(e,t,r){"use strict";t.__esModule=!0,t.hex_md5=function(e){return d(n(l(e),8*e.length))},t.b64_md5=function(e){return p(n(l(e),8*e.length))},t.str_md5=function(e){return f(n(l(e),8*e.length))},t.hex_hmac_md5=function(e,t){return d(c(e,t))},t.b64_hmac_md5=function(e,t){return p(c(e,t))},t.str_hmac_md5=function(e,t){return f(c(e,t))};function n(e,t){e[t>>5]|=128<>>9<<4)]=t;for(var r=1732584193,n=-271733879,o=-1732584194,c=271733878,l=0;l>>32-u,r);var a,u}function i(e,t,r,n,i,a,u){return o(t&r|~t&n,e,t,i,a,u)}function a(e,t,r,n,i,a,u){return o(t&n|r&~n,e,t,i,a,u)}function u(e,t,r,n,i,a,u){return o(t^r^n,e,t,i,a,u)}function s(e,t,r,n,i,a,u){return o(r^(t|~n),e,t,i,a,u)}function c(e,t){var r=l(e);r.length>16&&(r=n(r,8*e.length));for(var o=Array(16),i=Array(16),a=0;a<16;a++)o[a]=909522486^r[a],i[a]=1549556828^r[a];var u=n(o.concat(l(t)),512+8*t.length);return n(i.concat(u),640)}function A(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function l(e){for(var t=Array(),r=0;r<8*e.length;r+=8)t[r>>5]|=(255&e.charCodeAt(r/8))<>5]>>>r%32&255);return t}function d(e){for(var t="0123456789abcdef",r="",n=0;n<4*e.length;n++)r+=t.charAt(e[n>>2]>>n%4*8+4&15)+t.charAt(e[n>>2]>>n%4*8&15);return r}function p(e){for(var t="",r=0;r<4*e.length;r+=3)for(var n=(e[r>>2]>>r%4*8&255)<<16|(e[r+1>>2]>>(r+1)%4*8&255)<<8|e[r+2>>2]>>(r+2)%4*8&255,o=0;o<4;o++)8*r+6*o>32*e.length?t+="":t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(n>>6*(3-o)&63);return t}},function(e,t,r){"use strict";t.__esModule=!0,t.stringifyQuery=function(e){return Object.keys(e).map((function(t){var r=e[t];return t+"="+encodeURIComponent(r)})).join("&")},t.decodeQuery=function(e){return Object.keys(e).reduce((function(t,r){var n=e[r];return t[r]=decodeURIComponent(n),t}),{})},t.parseQueryParams=a,t.appendQueryParams=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=a(e),n=r.url,o=r.params;Object.keys(t).forEach((function(e){var r=t[e];null!=r?o[e]=r:delete o[e]}));var i=Object.keys(o).map((function(e){var t=o[e];return e+"="+encodeURIComponent(t)})).join("&");if(!n)return i;if(!i)return n;return n+"?"+i},t.getQueryString=function(e,t){var r=i.default.location.search,n=new RegExp("(^|&)"+e+"=([^&]*)(&|$)"),o=r.substr(1).match(n);if(null!=o)return decodeURIComponent(unescape(o[2]));return t};var n,o=r(2),i=(n=o)&&n.__esModule?n:{default:n};function a(e){var t="",r={};if(!e||"string"!=typeof e)return{url:t,params:r};var n="",o=e.indexOf("?"),i=e.indexOf("#"),a=e.indexOf("=");return o>=0?(t=e.substring(0,o),n=e.substring(o+1,i>0?i:e.length)):a>=0?(t="",n=e):(t=e,n=""),n.split("&").map((function(e){var t=e.indexOf("=");if(t>0){var n=e.substring(0,t),o=e.substring(t+1);r[n]=decodeURIComponent(o)}})),{url:t,params:r}}},function(e,t,r){"use strict";t.__esModule=!0,t.startScanner=function(e){if(!e||"function"!=typeof e)return;var t=s();if(!t)return;if(n=e,"scanning"===o)return;o="scanning",c(),t.addEventListener("keydown",A)},t.stopScanner=function(){if("scanning"!==o)return;o="ready",n=null,c();var e=s();e&&e.removeEventListener("keydown",A)};var n=null,o="ready",i="",a=null,u=0;function s(){return"undefined"==typeof window?null:window}function c(){i="",u=0,a&&(clearTimeout(a),a=null)}function A(e){if("scanning"===o)if(function(){var e=s(),t=e&&e.document&&e.document.activeElement;if(!t||t===e.document.body||t===e.document.documentElement)return!1;var r=t.tagName&&t.tagName.toLowerCase();return"input"===r||"textarea"===r||"select"===r||!0===t.isContentEditable}())c();else if(!(e.ctrlKey||e.metaKey||e.altKey)){if("Enter"===e.key){var t=i.replace(/[\uFF01-\uFF5E]/g,(function(e){return String.fromCharCode(e.charCodeAt(0)-65248)})).replace(/\u3002/g,".").replace(/\u2014/g,"_");return t&&function(e){e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation()}(e),c(),void(t&&n&&n(t))}if(e.key&&1===e.key.length){var r=Date.now();u&&r-u>100&&c(),u=r,i+=e.key,a&&clearTimeout(a),a=setTimeout((function(){c()}),100)}}}},function(e,t,r){"use strict";t.__esModule=!0,t.resolveUseParentProxy=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.installEmbedHost=function(e){if(p||"undefined"==typeof window)return;p=!0,(0,A.setEmbedScanResultForwarder)(y),window.addEventListener("message",(function(t){var r=t.data;if(d(r))if("probeWxEnv"!==r.kind)if("scanResultConsumed"!==r.kind)"invoke"===r.kind&&r.id&&r.methodKey&&t.source&&t.source!==window&&(l.add(t.source),function(e,t){var r=t.data,o=r.id,i=r.methodKey,a=function(e,t,r){return e.map((function e(o){if(o&&"object"===(void 0===o?"undefined":n(o))&&o.__IScanEmbedCb__){var i=o.__IScanEmbedCb__;return function(){var e=Array.prototype.slice.call(arguments);t.postMessage({source:"IScanEmbed",v:1,kind:"callback",cbId:i,args:e},r)}}if(null===o||"object"!==(void 0===o?"undefined":n(o)))return o;if(Array.isArray(o))return o.map(e);var a={};return Object.keys(o).forEach((function(t){a[t]=e(o[t])})),a}))}(r.params||[],t.source,t.origin);Promise.resolve().then((function(){return I.apply(void 0,[e,i].concat(a))})).then((function(e){var t=e;return t&&"function"==typeof t.then?t.then((function(e){return t=e})):t})).then((function(e){t.source.postMessage({source:"IScanEmbed",v:1,kind:"invokeResult",id:o,methodKey:i,ok:!0,result:e},t.origin)})).catch((function(e){t.source.postMessage({source:"IScanEmbed",v:1,kind:"invokeResult",id:o,methodKey:i,ok:!1,error:"string"==typeof e?e:String(e&&e.message||e)},t.origin)}))}(e,t));else{if(!t.source||t.source===window)return;"string"==typeof r.result&&(0,c.acknowledgeEmbedScanConsumed)(r.result)}else{if(!t.source||t.source===window)return;var o=(0,u.readWxLikeEnvFromWindow)(window);t.source.postMessage({source:"IScanEmbed",v:1,kind:"probeWxEnvResult",id:r.id,wx:o},t.origin)}}))},t.getEmbedProxyResolved=function(){return(0,o.resolveUseParentProxy)()};var o=r(9);Object.defineProperty(t,"resolveUseParentProxy",{enumerable:!0,get:function(){return o.resolveUseParentProxy}}),t.exportSDK=function(e,t){for(var r=arguments.length,o=Array(r>2?r-2:0),i=2;i=4||(w=!0,b++,_(),window.parent.postMessage({source:"IScanEmbed",v:1,kind:"probeWxEnv",id:(0,s.createUUID)()},"*"),window.setTimeout((function(){w=!1,null===(0,u.getParentWxEnvReport)()&&S()&&C()}),600)))}function E(e){var t=e.data;if(d(t))if("probeWxEnvResult"!==t.kind)if("forwardScanResult"!==t.kind){if("invokeResult"===t.kind){var r=v[t.id];if(!r)return;return delete v[t.id],void(t.ok?r.resolve(t.result):r.reject(new Error(t.error||"[IScan embed]: invoke failed")))}if("callback"===t.kind){var n=m[t.cbId];"function"==typeof n&&n.apply(null,t.args||[])}}else{"string"==typeof t.result&&(0,c.dispatchEmbedScanResult)(t.result)&&(0,o.resolveUseParentProxy)()&&window.parent.postMessage({source:"IScanEmbed",v:1,kind:"scanResultConsumed",result:t.result},"*")}else(0,u.setParentWxEnvReport)(!!t.wx)}function _(){h||"undefined"==typeof window||(h=!0,window.addEventListener("message",E))}function x(e,t){_(),C();var r=(0,s.createUUID)(),n=function(e){for(var t=[],r={},n=0;n1;)r=r[n.shift()];if(r&&1==n.length&&r.hasOwnProperty(n[0])){for(var o,i=arguments.length,a=Array(i>2?i-2:0),u=2;u1&&void 0!==arguments[1]?arguments[1]:"",r={};return Object.keys(e).forEach((function(o){var i=e[o];if("object"===(void 0===i?"undefined":n(i)))Object.assign(r,M(i,""+t+o+"."));else if("function"==typeof i){var a,u=""+t+o;Object.assign(r,((a={})[u]=u,a))}})),r}function R(e){Object.keys(e).forEach((function(t){var r=e[t];"object"===(void 0===r?"undefined":n(r))&&R(r)})),Object.freeze(e)}function P(e,t,r,n){return function(){for(var a=arguments.length,u=Array(a),s=0;s { - window.parent.postMessage( - { - source: EMBED_SOURCE, - v: EMBED_V, - kind: "forwardScanGun", - result, - }, - "*" - ); - }); -} +const EMBED_LISTENER_METHODS = new Set([ + "onScanListener", + "offScanListener", + "clear", +]); function isEmbedMessage(data) { return data && data.source === EMBED_SOURCE && data.v === EMBED_V; @@ -119,36 +105,24 @@ function hydrateEmbedParams(params, messageSource, targetOrigin) { return params.map(walk); } -function serializeEmbedInvokeResult(methodKey, result) { - if ( - methodKey === "onScanListener" && - result && - typeof result === "object" && - typeof result.key === "string" - ) { - return { __IScanEmbedListenerRef__: true, key: result.key }; +function broadcastScanResultToEmbedChildren(result) { + if (embedChildSources.size === 0 || result == null || result === "") { + return; } - return result; -} - -function deserializeEmbedInvokeResult(methodKey, raw) { - if ( - methodKey === "onScanListener" && - raw && - raw.__IScanEmbedListenerRef__ && - typeof raw.key === "string" - ) { - const key = raw.key; - return { - key, - cancel: () => { - childEmbedScanGunKeys.delete(key); - syncEmbedScanGunForwardFromChild(); - embedInvoke("offScanListener", [key]).catch(() => {}); - }, - }; - } - return raw; + embedChildSources.forEach((source) => { + try { + source.postMessage( + { + source: EMBED_SOURCE, + v: EMBED_V, + kind: "forwardScanResult", + result, + }, + "*" + ); + } catch (e) { + } + }); } let embedWxProbeScheduled = false; @@ -207,6 +181,23 @@ function embedChildOnMessage(ev) { setParentWxEnvReport(!!data.wx); return; } + if (data.kind === "forwardScanResult") { + if (typeof data.result === "string") { + const consumed = dispatchEmbedScanResult(data.result); + if (consumed && resolveUseParentProxy()) { + window.parent.postMessage( + { + source: EMBED_SOURCE, + v: EMBED_V, + kind: "scanResultConsumed", + result: data.result, + }, + "*" + ); + } + } + return; + } if (data.kind === "invokeResult") { const pending = pendingInvokes[data.id]; if (!pending) { @@ -214,7 +205,7 @@ function embedChildOnMessage(ev) { } delete pendingInvokes[data.id]; if (data.ok) { - pending.resolve(deserializeEmbedInvokeResult(data.methodKey, data.result)); + pending.resolve(data.result); } else { pending.reject(new Error(data.error || "[IScan embed]: invoke failed")); } @@ -277,7 +268,6 @@ function handleEmbedHostInvoke(lib, ev) { return out; }) .then((result) => { - const serializedResult = serializeEmbedInvokeResult(methodKey, result); ev.source.postMessage( { source: EMBED_SOURCE, @@ -286,7 +276,7 @@ function handleEmbedHostInvoke(lib, ev) { id, methodKey, ok: true, - result: serializedResult, + result, }, ev.origin ); @@ -316,6 +306,7 @@ export function installEmbedHost(lib) { return; } embedHostInstalled = true; + setEmbedScanResultForwarder(broadcastScanResultToEmbedChildren); window.addEventListener("message", (ev) => { const data = ev.data; if (!isEmbedMessage(data)) { @@ -338,15 +329,13 @@ export function installEmbedHost(lib) { ); return; } - /** 嵌入子页焦点下扫码枪的 keydown:子页转成字符串后透出,再走主页面监听与嵌入回调链路 */ - if (data.kind === "forwardScanGun") { + if (data.kind === "scanResultConsumed") { if (!ev.source || ev.source === window) { return; } - if (typeof data.result !== "string") { - return; + if (typeof data.result === "string") { + acknowledgeEmbedScanConsumed(data.result); } - dispatchHardwareScanResult(data.result); return; } if (data.kind !== "invoke") { @@ -358,6 +347,7 @@ export function installEmbedHost(lib) { if (!ev.source || ev.source === window) { return; } + embedChildSources.add(ev.source); handleEmbedHostInvoke(lib, ev); }); } @@ -420,42 +410,11 @@ function freezeObj(obj) { function createInvokeTransport(lib, method, methodName, initNames) { return function IScanInvokeProxy(...params) { if (resolveUseParentProxy()) { - if (methodName === "onScanListener") { - const listener = params[0]; - const key = params[1]; - if (!key || typeof key !== "string" || typeof listener !== "function") { - return; + if (EMBED_LISTENER_METHODS.has(methodName)) { + if (!isReadyCalled() && initNames && initNames.indexOf(method) < 0) { + throw `[IScan]:Can't call the "IScan.${method}" method, because "IScan" not ready, please confirm that "IScan.ready()" has been called. params: ${JSON.stringify(params)}` } - embedScanGunWeakListenerKey.set(listener, key); - childEmbedScanGunKeys.add(key); - syncEmbedScanGunForwardFromChild(); - embedInvoke(methodName, params).catch(() => {}); - return { - key, - cancel: () => { - childEmbedScanGunKeys.delete(key); - syncEmbedScanGunForwardFromChild(); - embedInvoke("offScanListener", [key]).catch(() => {}); - }, - }; - } - if (methodName === "offScanListener") { - const p0 = params[0]; - if (typeof p0 === "string") { - childEmbedScanGunKeys.delete(p0); - } else if (typeof p0 === "function") { - const rk = embedScanGunWeakListenerKey.get(p0); - if (rk != null && rk !== "") { - childEmbedScanGunKeys.delete(rk); - } - } - syncEmbedScanGunForwardFromChild(); - return embedInvoke(methodName, params); - } - if (methodName === "clear") { - childEmbedScanGunKeys.clear(); - syncEmbedScanGunForwardFromChild(); - return embedInvoke(methodName, params); + return _exec(lib, methodName, ...params); } return embedInvoke(methodName, params); } diff --git a/src/services/config.js b/src/services/config.js index e5ca05e..407bada 100644 --- a/src/services/config.js +++ b/src/services/config.js @@ -5,7 +5,7 @@ let _defineConfig = { let _defConfig = { /** * iframe / 嵌入场景下是否把调用转发到父页面的同名 SDK(postMessage)。 - * - 'auto'(默认):只要处于子 frame(parent !== window)即转发,含 startScan 等均走父页逻辑 + * - 'auto'(默认):处于子 frame 时 startScan 等走父页;onScanListener 仅注册在 iframe 内,识别结果由父页回传 * - true | 'on' | 'parent':在存在父 window 时强制转发 * - false | 'off' | 'local':始终在本页执行(子页自己要跑扫码时用) */ diff --git a/src/services/embedScanBridge.js b/src/services/embedScanBridge.js new file mode 100644 index 0000000..1954445 --- /dev/null +++ b/src/services/embedScanBridge.js @@ -0,0 +1,12 @@ +/** 父页识别到扫码结果时,向嵌入 iframe 转发的回调(由 installEmbedHost 注册) */ +let embedScanResultForwarder = null; + +export function setEmbedScanResultForwarder(fn) { + embedScanResultForwarder = typeof fn === "function" ? fn : null; +} + +export function forwardEmbedScanResultIfNeeded(result) { + if (embedScanResultForwarder && result != null && result !== "") { + embedScanResultForwarder(result); + } +} diff --git a/src/services/provider/scan.js b/src/services/provider/scan.js index 289b536..04d1b11 100644 --- a/src/services/provider/scan.js +++ b/src/services/provider/scan.js @@ -5,6 +5,7 @@ import { startScanner, stopScanner } from "../scanner"; import { getConfig } from "../config"; import { toAny } from "../../utils/toany"; import { printDebug } from "../../utils/logger"; +import { forwardEmbedScanResultIfNeeded } from "../embedScanBridge"; let _scan_status = "ready"; let _scan_status_listener = null; @@ -93,6 +94,7 @@ function __match(result, match) { function __result(result) { result = parseBarcodeString(result); + forwardEmbedScanResultIfNeeded(result); let matched = false; for (let i = 0; i < _scan_listener_list.length; i++) { const item = _scan_listener_list[i]; @@ -157,18 +159,38 @@ function __stopCurrentScan() { } /** - * 由嵌入子页转发过来的扫码枪按键结果,与 startScanner 走同一匹配与回调链路 - *(仅在父页的 installEmbedHost 处理 forwardScanGun 时调用)。 + * 父页通过 postMessage 将识别结果投递到嵌入 iframe 时调用(与本地扫码枪/监听同一链路)。 + * @returns {boolean} 是否有监听消费了该结果 */ -export function dispatchHardwareScanResult(raw) { +export function dispatchEmbedScanResult(raw) { const result = typeof raw === "string" ? parseBarcodeString(raw) : raw; - __scannerResult(result); + return __scannerResult(result); +} + +/** + * 嵌入 iframe 已消费扫码结果时通知父页结束当前识别(关闭摄像头/UI 等)。 + */ +export function acknowledgeEmbedScanConsumed(raw) { + const result = + typeof raw === "string" ? parseBarcodeString(raw) : raw; + if (!isScanning()) { + return; + } + const resolve = __finishScan(); + _scan_closing = true; + _scan_next_start_time = Date.now() + getScanRestartDelay(); + __stopCurrentScan().then(() => { + setTimeout(() => { + _scan_closing = false; + }, 0); + }); + resolve && resolve({ result }); } function __scannerResult(result) { if (!__hasMatchedListener(result)) { - return; + return __result(result); } if (isScanning()) { const resolve = __finishScan(); @@ -178,13 +200,13 @@ function __scannerResult(result) { _scan_closing = false; }, 0); }); - __result(result); + const matched = __result(result); resolve && resolve({ result }); - return; + return matched; } - __result(result); + return __result(result); } function __startBridgeScan() { diff --git a/types/index.d.ts b/types/index.d.ts index c1684c8..3d271a2 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -8,7 +8,7 @@ interface ScanConfigOptions { scanRestartDelay?: number, /** * iframe 场景下是否将 API 调用转发到父页面同名 SDK(postMessage)。 - * - `'auto'`(默认):处于子 frame(`parent !== window`)即转发,对外 API(含 `startScan`)均由父页 SDK 执行 + * - `'auto'`(默认):处于子 frame 时 `startScan` 等由父页执行;`onScanListener` 仅注册在 iframe 内,识别结果由父页 `postMessage` 回传 * - `true` / `'on'` / `'parent'`:存在父 window 时强制转发 * - `false` / `'off'` / `'local'`:始终在本页执行(子页自己要跑扫码时用) */