diff --git "a/assets/index-h12WNjfQ.js" "b/assets/index-h12WNjfQ.js" new file mode 100644--- /dev/null +++ "b/assets/index-h12WNjfQ.js" @@ -0,0 +1,88 @@ +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const l of o)if(l.type==="childList")for(const u of l.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&s(u)}).observe(document,{childList:!0,subtree:!0});function r(o){const l={};return o.integrity&&(l.integrity=o.integrity),o.referrerPolicy&&(l.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?l.credentials="include":o.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function s(o){if(o.ep)return;o.ep=!0;const l=r(o);fetch(o.href,l)}})();var bm={exports:{}},au={};var Qw;function gE(){if(Qw)return au;Qw=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function r(s,o,l){var u=null;if(l!==void 0&&(u=""+l),o.key!==void 0&&(u=""+o.key),"key"in o){l={};for(var d in o)d!=="key"&&(l[d]=o[d])}else l=o;return o=l.ref,{$$typeof:e,type:s,key:u,ref:o!==void 0?o:null,props:l}}return au.Fragment=t,au.jsx=r,au.jsxs=r,au}var Ww;function yE(){return Ww||(Ww=1,bm.exports=gE()),bm.exports}var I=yE(),Mm={exports:{}},Ie={};var Yw;function vE(){if(Yw)return Ie;Yw=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),l=Symbol.for("react.consumer"),u=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),_=Symbol.for("react.lazy"),g=Symbol.for("react.activity"),w=Symbol.iterator;function b(N){return N===null||typeof N!="object"?null:(N=w&&N[w]||N["@@iterator"],typeof N=="function"?N:null)}var S={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E=Object.assign,z={};function C(N,ne,re){this.props=N,this.context=ne,this.refs=z,this.updater=re||S}C.prototype.isReactComponent={},C.prototype.setState=function(N,ne){if(typeof N!="object"&&typeof N!="function"&&N!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,N,ne,"setState")},C.prototype.forceUpdate=function(N){this.updater.enqueueForceUpdate(this,N,"forceUpdate")};function L(){}L.prototype=C.prototype;function D(N,ne,re){this.props=N,this.context=ne,this.refs=z,this.updater=re||S}var R=D.prototype=new L;R.constructor=D,E(R,C.prototype),R.isPureReactComponent=!0;var P=Array.isArray;function Y(){}var O={H:null,A:null,T:null,S:null},pe=Object.prototype.hasOwnProperty;function le(N,ne,re){var ge=re.ref;return{$$typeof:e,type:N,key:ne,ref:ge!==void 0?ge:null,props:re}}function fe(N,ne){return le(N.type,ne,N.props)}function _e(N){return typeof N=="object"&&N!==null&&N.$$typeof===e}function de(N){var ne={"=":"=0",":":"=2"};return"$"+N.replace(/[=:]/g,function(re){return ne[re]})}var W=/\/+/g;function q(N,ne){return typeof N=="object"&&N!==null&&N.key!=null?de(""+N.key):ne.toString(36)}function se(N){switch(N.status){case"fulfilled":return N.value;case"rejected":throw N.reason;default:switch(typeof N.status=="string"?N.then(Y,Y):(N.status="pending",N.then(function(ne){N.status==="pending"&&(N.status="fulfilled",N.value=ne)},function(ne){N.status==="pending"&&(N.status="rejected",N.reason=ne)})),N.status){case"fulfilled":return N.value;case"rejected":throw N.reason}}throw N}function V(N,ne,re,ge,Me){var Ee=typeof N;(Ee==="undefined"||Ee==="boolean")&&(N=null);var ze=!1;if(N===null)ze=!0;else switch(Ee){case"bigint":case"string":case"number":ze=!0;break;case"object":switch(N.$$typeof){case e:case t:ze=!0;break;case _:return ze=N._init,V(ze(N._payload),ne,re,ge,Me)}}if(ze)return Me=Me(N),ze=ge===""?"."+q(N,0):ge,P(Me)?(re="",ze!=null&&(re=ze.replace(W,"$&/")+"/"),V(Me,ne,re,"",function(Ue){return Ue})):Me!=null&&(_e(Me)&&(Me=fe(Me,re+(Me.key==null||N&&N.key===Me.key?"":(""+Me.key).replace(W,"$&/")+"/")+ze)),ne.push(Me)),1;ze=0;var et=ge===""?".":ge+":";if(P(N))for(var ke=0;ke>>1,ee=V[Q];if(0>>1;Qo(re,U))geo(Me,re)?(V[Q]=Me,V[ge]=U,Q=ge):(V[Q]=re,V[ne]=U,Q=ne);else if(geo(Me,U))V[Q]=Me,V[ge]=U,Q=ge;else break e}}return X}function o(V,X){var U=V.sortIndex-X.sortIndex;return U!==0?U:V.id-X.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var l=performance;e.unstable_now=function(){return l.now()}}else{var u=Date,d=u.now();e.unstable_now=function(){return u.now()-d}}var f=[],p=[],_=1,g=null,w=3,b=!1,S=!1,E=!1,z=!1,C=typeof setTimeout=="function"?setTimeout:null,L=typeof clearTimeout=="function"?clearTimeout:null,D=typeof setImmediate<"u"?setImmediate:null;function R(V){for(var X=r(p);X!==null;){if(X.callback===null)s(p);else if(X.startTime<=V)s(p),X.sortIndex=X.expirationTime,t(f,X);else break;X=r(p)}}function P(V){if(E=!1,R(V),!S)if(r(f)!==null)S=!0,Y||(Y=!0,de());else{var X=r(p);X!==null&&se(P,X.startTime-V)}}var Y=!1,O=-1,pe=5,le=-1;function fe(){return z?!0:!(e.unstable_now()-leV&&fe());){var Q=g.callback;if(typeof Q=="function"){g.callback=null,w=g.priorityLevel;var ee=Q(g.expirationTime<=V);if(V=e.unstable_now(),typeof ee=="function"){g.callback=ee,R(V),X=!0;break t}g===r(f)&&s(f),R(V)}else s(f);g=r(f)}if(g!==null)X=!0;else{var N=r(p);N!==null&&se(P,N.startTime-V),X=!1}}break e}finally{g=null,w=U,b=!1}X=void 0}}finally{X?de():Y=!1}}}var de;if(typeof D=="function")de=function(){D(_e)};else if(typeof MessageChannel<"u"){var W=new MessageChannel,q=W.port2;W.port1.onmessage=_e,de=function(){q.postMessage(null)}}else de=function(){C(_e,0)};function se(V,X){O=C(function(){V(e.unstable_now())},X)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(V){V.callback=null},e.unstable_forceFrameRate=function(V){0>V||125Q?(V.sortIndex=U,t(p,V),r(f)===null&&V===r(p)&&(E?(L(O),O=-1):E=!0,se(P,U-Q))):(V.sortIndex=ee,t(f,V),S||b||(S=!0,Y||(Y=!0,de()))),V},e.unstable_shouldYield=fe,e.unstable_wrapCallback=function(V){var X=w;return function(){var U=w;w=X;try{return V.apply(this,arguments)}finally{w=U}}}})(Sm)),Sm}var Kw;function bE(){return Kw||(Kw=1,Tm.exports=wE()),Tm.exports}var Em={exports:{}},An={};var Jw;function ME(){if(Jw)return An;Jw=1;var e=z_();function t(f){var p="https://react.dev/errors/"+f;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Em.exports=ME(),Em.exports}var tb;function TE(){if(tb)return ru;tb=1;var e=bE(),t=z_(),r=xE();function s(n){var a="https://react.dev/errors/"+n;if(1ee||(n.current=Q[ee],Q[ee]=null,ee--)}function re(n,a){ee++,Q[ee]=n.current,n.current=a}var ge=N(null),Me=N(null),Ee=N(null),ze=N(null);function et(n,a){switch(re(Ee,a),re(Me,n),re(ge,null),a.nodeType){case 9:case 11:n=(n=a.documentElement)&&(n=n.namespaceURI)?_w(n):0;break;default:if(n=a.tagName,a=a.namespaceURI)a=_w(a),n=gw(a,n);else switch(n){case"svg":n=1;break;case"math":n=2;break;default:n=0}}ne(ge),re(ge,n)}function ke(){ne(ge),ne(Me),ne(Ee)}function Ue(n){n.memoizedState!==null&&re(ze,n);var a=ge.current,i=gw(a,n.type);a!==i&&(re(Me,n),re(ge,i))}function Tt(n){Me.current===n&&(ne(ge),ne(Me)),ze.current===n&&(ne(ze),Jc._currentValue=U)}var He,Ye;function bn(n){if(He===void 0)try{throw Error()}catch(i){var a=i.stack.trim().match(/\n( *(at )?)/);He=a&&a[1]||"",Ye=-1)":-1h||B[c]!==K[h]){var ie=` +`+B[c].replace(" at new "," at ");return n.displayName&&ie.includes("")&&(ie=ie.replace("",n.displayName)),ie}while(1<=c&&0<=h);break}}}finally{za=!1,Error.prepareStackTrace=i}return(i=n?n.displayName||n.name:"")?bn(i):""}function Rt(n,a){switch(n.tag){case 26:case 27:case 5:return bn(n.type);case 16:return bn("Lazy");case 13:return n.child!==a&&a!==null?bn("Suspense Fallback"):bn("Suspense");case 19:return bn("SuspenseList");case 0:case 15:return an(n.type,!1);case 11:return an(n.type.render,!1);case 1:return an(n.type,!0);case 31:return bn("Activity");default:return""}}function ls(n){try{var a="",i=null;do a+=Rt(n,i),i=n,n=n.return;while(n);return a}catch(c){return` +Error generating stack: `+c.message+` +`+c.stack}}var no=Object.prototype.hasOwnProperty,La=e.unstable_scheduleCallback,ao=e.unstable_cancelCallback,Pu=e.unstable_shouldYield,Iu=e.unstable_requestPaint,Mn=e.unstable_now,nr=e.unstable_getCurrentPriorityLevel,Uu=e.unstable_ImmediatePriority,ti=e.unstable_UserBlockingPriority,kr=e.unstable_NormalPriority,fn=e.unstable_LowPriority,Gu=e.unstable_IdlePriority,cs=e.log,Sh=e.unstable_setDisableYieldValue,us=null,xn=null;function ma(n){if(typeof cs=="function"&&Sh(n),xn&&typeof xn.setStrictMode=="function")try{xn.setStrictMode(us,n)}catch{}}var hn=Math.clz32?Math.clz32:Ch,Eh=Math.log,Ah=Math.LN2;function Ch(n){return n>>>=0,n===0?32:31-(Eh(n)/Ah|0)|0}var ro=256,so=262144,io=4194304;function ar(n){var a=n&42;if(a!==0)return a;switch(n&-n){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return n&261888;case 262144:case 524288:case 1048576:case 2097152:return n&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return n&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return n}}function ni(n,a,i){var c=n.pendingLanes;if(c===0)return 0;var h=0,m=n.suspendedLanes,T=n.pingedLanes;n=n.warmLanes;var A=c&134217727;return A!==0?(c=A&~m,c!==0?h=ar(c):(T&=A,T!==0?h=ar(T):i||(i=A&~n,i!==0&&(h=ar(i))))):(A=c&~m,A!==0?h=ar(A):T!==0?h=ar(T):i||(i=c&~n,i!==0&&(h=ar(i)))),h===0?0:a!==0&&a!==h&&(a&m)===0&&(m=h&-h,i=a&-a,m>=i||m===32&&(i&4194048)!==0)?a:h}function ai(n,a){return(n.pendingLanes&~(n.suspendedLanes&~n.pingedLanes)&a)===0}function ju(n,a){switch(n){case 1:case 2:case 4:case 8:case 64:return a+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Hl(){var n=io;return io<<=1,(io&62914560)===0&&(io=4194304),n}function oo(n){for(var a=[],i=0;31>i;i++)a.push(n);return a}function _a(n,a){n.pendingLanes|=a,a!==268435456&&(n.suspendedLanes=0,n.pingedLanes=0,n.warmLanes=0)}function Vu(n,a,i,c,h,m){var T=n.pendingLanes;n.pendingLanes=i,n.suspendedLanes=0,n.pingedLanes=0,n.warmLanes=0,n.expiredLanes&=i,n.entangledLanes&=i,n.errorRecoveryDisabledLanes&=i,n.shellSuspendCounter=0;var A=n.entanglements,B=n.expirationTimes,K=n.hiddenUpdates;for(i=T&~i;0"u")return null;try{return n.activeElement||n.body}catch{return n.body}}var Lh=/[\n"\\]/g;function $n(n){return n.replace(Lh,function(a){return"\\"+a.charCodeAt(0).toString(16)+" "})}function Kl(n,a,i,c,h,m,T,A){n.name="",T!=null&&typeof T!="function"&&typeof T!="symbol"&&typeof T!="boolean"?n.type=T:n.removeAttribute("type"),a!=null?T==="number"?(a===0&&n.value===""||n.value!=a)&&(n.value=""+Bt(a)):n.value!==""+Bt(a)&&(n.value=""+Bt(a)):T!=="submit"&&T!=="reset"||n.removeAttribute("value"),a!=null?Jl(n,T,Bt(a)):i!=null?Jl(n,T,Bt(i)):c!=null&&n.removeAttribute("value"),h==null&&m!=null&&(n.defaultChecked=!!m),h!=null&&(n.checked=h&&typeof h!="function"&&typeof h!="symbol"),A!=null&&typeof A!="function"&&typeof A!="symbol"&&typeof A!="boolean"?n.name=""+Bt(A):n.removeAttribute("name")}function Qu(n,a,i,c,h,m,T,A){if(m!=null&&typeof m!="function"&&typeof m!="symbol"&&typeof m!="boolean"&&(n.type=m),a!=null||i!=null){if(!(m!=="submit"&&m!=="reset"||a!=null)){_o(n);return}i=i!=null?""+Bt(i):"",a=a!=null?""+Bt(a):i,A||a===n.value||(n.value=a),n.defaultValue=a}c=c??h,c=typeof c!="function"&&typeof c!="symbol"&&!!c,n.checked=A?n.checked:!!c,n.defaultChecked=!!c,T!=null&&typeof T!="function"&&typeof T!="symbol"&&typeof T!="boolean"&&(n.name=T),_o(n)}function Jl(n,a,i){a==="number"&&go(n.ownerDocument)===n||n.defaultValue===""+i||(n.defaultValue=""+i)}function fs(n,a,i,c){if(n=n.options,a){a={};for(var h=0;h"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ac=!1;if(va)try{var Fr={};Object.defineProperty(Fr,"passive",{get:function(){ac=!0}}),window.addEventListener("test",Fr,Fr),window.removeEventListener("test",Fr,Fr)}catch{ac=!1}var ir=null,wo=null,bo=null;function Mo(){if(bo)return bo;var n,a=wo,i=a.length,c,h="value"in ir?ir.value:ir.textContent,m=h.length;for(n=0;n=ui),Eo=" ",gs=!1;function Wt(n,a){switch(n){case"keyup":return Kh.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function sd(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var En=!1;function Ao(n,a){switch(n){case"compositionend":return sd(a);case"keypress":return a.which!==32?null:(gs=!0,Eo);case"textInput":return n=a.data,n===Eo&&gs?null:n;default:return null}}function ys(n,a){if(En)return n==="compositionend"||!cc&&Wt(n,a)?(n=Mo(),bo=wo=ir=null,En=!1,n):null;switch(n){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1=a)return{node:i,offset:a-n};n=c}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=fd(i)}}function pd(n,a){return n&&a?n===a?!0:n&&n.nodeType===3?!1:a&&a.nodeType===3?pd(n,a.parentNode):"contains"in n?n.contains(a):n.compareDocumentPosition?!!(n.compareDocumentPosition(a)&16):!1:!1}function md(n){n=n!=null&&n.ownerDocument!=null&&n.ownerDocument.defaultView!=null?n.ownerDocument.defaultView:window;for(var a=go(n.document);a instanceof n.HTMLIFrameElement;){try{var i=typeof a.contentWindow.location.href=="string"}catch{i=!1}if(i)n=a.contentWindow;else break;a=go(n.document)}return a}function dc(n){var a=n&&n.nodeName&&n.nodeName.toLowerCase();return a&&(a==="input"&&(n.type==="text"||n.type==="search"||n.type==="tel"||n.type==="url"||n.type==="password")||a==="textarea"||n.contentEditable==="true")}var ip=va&&"documentMode"in document&&11>=document.documentMode,or=null,pi=null,ws=null,ko=!1;function fc(n,a,i){var c=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;ko||or==null||or!==go(c)||(c=or,"selectionStart"in c&&dc(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),ws&&hi(ws,c)||(ws=c,c=ef(pi,"onSelect"),0>=T,h-=T,aa=1<<32-hn(a)+h|i<qe?(nt=Te,Te=null):nt=Te.sibling;var lt=te(H,Te,Z[qe],ce);if(lt===null){Te===null&&(Te=nt);break}n&&Te&<.alternate===null&&a(H,Te),j=m(lt,j,qe),ot===null?Oe=lt:ot.sibling=lt,ot=lt,Te=nt}if(qe===Z.length)return i(H,Te),Qe&&ba(H,qe),Oe;if(Te===null){for(;qeqe?(nt=Te,Te=null):nt=Te.sibling;var qs=te(H,Te,lt.value,ce);if(qs===null){Te===null&&(Te=nt);break}n&&Te&&qs.alternate===null&&a(H,Te),j=m(qs,j,qe),ot===null?Oe=qs:ot.sibling=qs,ot=qs,Te=nt}if(lt.done)return i(H,Te),Qe&&ba(H,qe),Oe;if(Te===null){for(;!lt.done;qe++,lt=Z.next())lt=ue(H,lt.value,ce),lt!==null&&(j=m(lt,j,qe),ot===null?Oe=lt:ot.sibling=lt,ot=lt);return Qe&&ba(H,qe),Oe}for(Te=c(Te);!lt.done;qe++,lt=Z.next())lt=ae(Te,H,qe,lt.value,ce),lt!==null&&(n&<.alternate!==null&&Te.delete(lt.key===null?qe:lt.key),j=m(lt,j,qe),ot===null?Oe=lt:ot.sibling=lt,ot=lt);return n&&Te.forEach(function(_E){return a(H,_E)}),Qe&&ba(H,qe),Oe}function bt(H,j,Z,ce){if(typeof Z=="object"&&Z!==null&&Z.type===E&&Z.key===null&&(Z=Z.props.children),typeof Z=="object"&&Z!==null){switch(Z.$$typeof){case b:e:{for(var Oe=Z.key;j!==null;){if(j.key===Oe){if(Oe=Z.type,Oe===E){if(j.tag===7){i(H,j.sibling),ce=h(j,Z.props.children),ce.return=H,H=ce;break e}}else if(j.elementType===Oe||typeof Oe=="object"&&Oe!==null&&Oe.$$typeof===pe&&fr(Oe)===j.type){i(H,j.sibling),ce=h(j,Z.props),As(ce,Z),ce.return=H,H=ce;break e}i(H,j);break}else a(H,j);j=j.sibling}Z.type===E?(ce=ur(Z.props.children,H.mode,ce,Z.key),ce.return=H,H=ce):(ce=mi(Z.type,Z.key,Z.props,null,H.mode,ce),As(ce,Z),ce.return=H,H=ce)}return T(H);case S:e:{for(Oe=Z.key;j!==null;){if(j.key===Oe)if(j.tag===4&&j.stateNode.containerInfo===Z.containerInfo&&j.stateNode.implementation===Z.implementation){i(H,j.sibling),ce=h(j,Z.children||[]),ce.return=H,H=ce;break e}else{i(H,j);break}else a(H,j);j=j.sibling}ce=Bn(Z,H.mode,ce),ce.return=H,H=ce}return T(H);case pe:return Z=fr(Z),bt(H,j,Z,ce)}if(se(Z))return xe(H,j,Z,ce);if(de(Z)){if(Oe=de(Z),typeof Oe!="function")throw Error(s(150));return Z=Oe.call(Z),Le(H,j,Z,ce)}if(typeof Z.then=="function")return bt(H,j,Ai(Z),ce);if(Z.$$typeof===D)return bt(H,j,xi(H,Z),ce);Ci(H,Z)}return typeof Z=="string"&&Z!==""||typeof Z=="number"||typeof Z=="bigint"?(Z=""+Z,j!==null&&j.tag===6?(i(H,j.sibling),ce=h(j,Z),ce.return=H,H=ce):(i(H,j),ce=_i(Z,H.mode,ce),ce.return=H,H=ce),T(H)):i(H,j)}return function(H,j,Z,ce){try{Es=0;var Oe=bt(H,j,Z,ce);return Hr=null,Oe}catch(Te){if(Te===qr||Te===Si)throw Te;var ot=Rn(29,Te,null,H.mode);return ot.lanes=ce,ot.return=H,ot}}}var pr=Ec(!0),Ac=Ec(!1),on=!1;function Cc(n){n.updateQueue={baseState:n.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ki(n,a){n=n.updateQueue,a.updateQueue===n&&(a.updateQueue={baseState:n.baseState,firstBaseUpdate:n.firstBaseUpdate,lastBaseUpdate:n.lastBaseUpdate,shared:n.shared,callbacks:null})}function mr(n){return{lane:n,tag:0,payload:null,callback:null,next:null}}function _r(n,a,i){var c=n.updateQueue;if(c===null)return null;if(c=c.shared,(dt&2)!==0){var h=c.pending;return h===null?a.next=a:(a.next=h.next,h.next=a),c.pending=a,a=No(n),Md(n,null,i),a}return Fo(n,c,a,i),No(n)}function Oi(n,a,i){if(a=a.updateQueue,a!==null&&(a=a.shared,(i&4194048)!==0)){var c=a.lanes;c&=n.pendingLanes,i|=c,a.lanes=i,Ql(n,i)}}function kc(n,a){var i=n.updateQueue,c=n.alternate;if(c!==null&&(c=c.updateQueue,i===c)){var h=null,m=null;if(i=i.firstBaseUpdate,i!==null){do{var T={lane:i.lane,tag:i.tag,payload:i.payload,callback:null,next:null};m===null?h=m=T:m=m.next=T,i=i.next}while(i!==null);m===null?h=m=a:m=m.next=a}else h=m=a;i={baseState:c.baseState,firstBaseUpdate:h,lastBaseUpdate:m,shared:c.shared,callbacks:c.callbacks},n.updateQueue=i;return}n=i.lastBaseUpdate,n===null?i.firstBaseUpdate=a:n.next=a,i.lastBaseUpdate=a}var Oc=!1;function zi(){if(Oc){var n=Vr;if(n!==null)throw n}}function Li(n,a,i,c){Oc=!1;var h=n.updateQueue;on=!1;var m=h.firstBaseUpdate,T=h.lastBaseUpdate,A=h.shared.pending;if(A!==null){h.shared.pending=null;var B=A,K=B.next;B.next=null,T===null?m=K:T.next=K,T=B;var ie=n.alternate;ie!==null&&(ie=ie.updateQueue,A=ie.lastBaseUpdate,A!==T&&(A===null?ie.firstBaseUpdate=K:A.next=K,ie.lastBaseUpdate=B))}if(m!==null){var ue=h.baseState;T=0,ie=K=B=null,A=m;do{var te=A.lane&-536870913,ae=te!==A.lane;if(ae?(tt&te)===te:(c&te)===te){te!==0&&te===jr&&(Oc=!0),ie!==null&&(ie=ie.next={lane:0,tag:A.tag,payload:A.payload,callback:null,next:null});e:{var xe=n,Le=A;te=a;var bt=i;switch(Le.tag){case 1:if(xe=Le.payload,typeof xe=="function"){ue=xe.call(bt,ue,te);break e}ue=xe;break e;case 3:xe.flags=xe.flags&-65537|128;case 0:if(xe=Le.payload,te=typeof xe=="function"?xe.call(bt,ue,te):xe,te==null)break e;ue=g({},ue,te);break e;case 2:on=!0}}te=A.callback,te!==null&&(n.flags|=64,ae&&(n.flags|=8192),ae=h.callbacks,ae===null?h.callbacks=[te]:ae.push(te))}else ae={lane:te,tag:A.tag,payload:A.payload,callback:A.callback,next:null},ie===null?(K=ie=ae,B=ue):ie=ie.next=ae,T|=te;if(A=A.next,A===null){if(A=h.shared.pending,A===null)break;ae=A,A=ae.next,ae.next=null,h.lastBaseUpdate=ae,h.shared.pending=null}}while(!0);ie===null&&(B=ue),h.baseState=B,h.firstBaseUpdate=K,h.lastBaseUpdate=ie,m===null&&(h.shared.lanes=0),Ns|=T,n.lanes=T,n.memoizedState=ue}}function kd(n,a){if(typeof n!="function")throw Error(s(191,n));n.call(a)}function Od(n,a){var i=n.callbacks;if(i!==null)for(n.callbacks=null,n=0;nm?m:8;var T=V.T,A={};V.T=A,vp(n,!1,a,i);try{var B=h(),K=V.S;if(K!==null&&K(A,B),B!==null&&typeof B=="object"&&typeof B.then=="function"){var ie=Cd(B,c);Rc(n,a,ie,oa(n))}else Rc(n,a,c,oa(n))}catch(ue){Rc(n,a,{then:function(){},status:"rejected",reason:ue},oa())}finally{X.p=m,T!==null&&A.types!==null&&(T.types=A.types),V.T=T}}function dS(){}function gp(n,a,i,c){if(n.tag!==5)throw Error(s(476));var h=jv(n).queue;Gv(n,h,a,U,i===null?dS:function(){return Vv(n),i(c)})}function jv(n){var a=n.memoizedState;if(a!==null)return a;a={memoizedState:U,baseState:U,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ye,lastRenderedState:U},next:null};var i={};return a.next={memoizedState:i,baseState:i,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ye,lastRenderedState:i},next:null},n.memoizedState=a,n=n.alternate,n!==null&&(n.memoizedState=a),a}function Vv(n){var a=jv(n);a.next===null&&(a=n.alternate.memoizedState),Rc(n,a.next.queue,{},oa())}function yp(){return Yt(Jc)}function qv(){return G().memoizedState}function Hv(){return G().memoizedState}function fS(n){for(var a=n.return;a!==null;){switch(a.tag){case 24:case 3:var i=oa();n=mr(i);var c=_r(a,n,i);c!==null&&(ea(c,a,i),Oi(c,a,i)),a={cache:Go()},n.payload=a;return}a=a.return}}function hS(n,a,i){var c=oa();i={lane:c,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},Dd(n)?Qv(a,i):(i=mc(n,a,i,c),i!==null&&(ea(i,n,c),Wv(i,a,c)))}function $v(n,a,i){var c=oa();Rc(n,a,i,c)}function Rc(n,a,i,c){var h={lane:c,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null};if(Dd(n))Qv(a,h);else{var m=n.alternate;if(n.lanes===0&&(m===null||m.lanes===0)&&(m=a.lastRenderedReducer,m!==null))try{var T=a.lastRenderedState,A=m(T,i);if(h.hasEagerState=!0,h.eagerState=A,Dn(A,T))return Fo(n,a,h,0),xt===null&&Lo(),!1}catch{}if(i=mc(n,a,h,c),i!==null)return ea(i,n,c),Wv(i,a,c),!0}return!1}function vp(n,a,i,c){if(c={lane:2,revertLane:Zp(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},Dd(n)){if(a)throw Error(s(479))}else a=mc(n,i,c,2),a!==null&&ea(a,n,2)}function Dd(n){var a=n.alternate;return n===Be||a!==null&&a===Be}function Qv(n,a){ks=Qo=!0;var i=n.pending;i===null?a.next=a:(a.next=i.next,i.next=a),n.pending=a}function Wv(n,a,i){if((i&4194048)!==0){var c=a.lanes;c&=n.pendingLanes,i|=c,a.lanes=i,Ql(n,i)}}var Bc={readContext:Yt,use:we,useCallback:Ct,useContext:Ct,useEffect:Ct,useImperativeHandle:Ct,useLayoutEffect:Ct,useInsertionEffect:Ct,useMemo:Ct,useReducer:Ct,useRef:Ct,useState:Ct,useDebugValue:Ct,useDeferredValue:Ct,useTransition:Ct,useSyncExternalStore:Ct,useId:Ct,useHostTransitionStatus:Ct,useFormState:Ct,useActionState:Ct,useOptimistic:Ct,useMemoCache:Ct,useCacheRefresh:Ct};Bc.useEffectEvent=Ct;var Yv={readContext:Yt,use:we,useCallback:function(n,a){return F().memoizedState=[n,a===void 0?null:a],n},useContext:Yt,useEffect:Lv,useImperativeHandle:function(n,a,i){i=i!=null?i.concat([n]):null,Fd(4194308,4,Rv.bind(null,a,n),i)},useLayoutEffect:function(n,a){return Fd(4194308,4,n,a)},useInsertionEffect:function(n,a){Fd(4,2,n,a)},useMemo:function(n,a){var i=F();a=a===void 0?null:a;var c=n();if($r){ma(!0);try{n()}finally{ma(!1)}}return i.memoizedState=[c,a],c},useReducer:function(n,a,i){var c=F();if(i!==void 0){var h=i(a);if($r){ma(!0);try{i(a)}finally{ma(!1)}}}else h=a;return c.memoizedState=c.baseState=h,n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:n,lastRenderedState:h},c.queue=n,n=n.dispatch=hS.bind(null,Be,n),[c.memoizedState,n]},useRef:function(n){var a=F();return n={current:n},a.memoizedState=n},useState:function(n){n=fp(n);var a=n.queue,i=$v.bind(null,Be,a);return a.dispatch=i,[n.memoizedState,i]},useDebugValue:mp,useDeferredValue:function(n,a){var i=F();return _p(i,n,a)},useTransition:function(){var n=fp(!1);return n=Gv.bind(null,Be,n.queue,!0,!1),F().memoizedState=n,[!1,n]},useSyncExternalStore:function(n,a,i){var c=Be,h=F();if(Qe){if(i===void 0)throw Error(s(407));i=i()}else{if(i=a(),xt===null)throw Error(s(349));(tt&127)!==0||Yo(c,a,i)}h.memoizedState=i;var m={value:i,getSnapshot:a};return h.queue=m,Lv(yv.bind(null,c,m,n),[n]),c.flags|=2048,Zo(9,{destroy:void 0},Xo.bind(null,c,m,i,a),null),i},useId:function(){var n=F(),a=xt.identifierPrefix;if(Qe){var i=ra,c=aa;i=(c&~(1<<32-hn(c)-1)).toString(32)+i,a="_"+a+"R_"+i,i=Wo++,0<\/script>",m=m.removeChild(m.firstChild);break;case"select":m=typeof c.is=="string"?T.createElement("select",{is:c.is}):T.createElement("select"),c.multiple?m.multiple=!0:c.size&&(m.size=c.size);break;default:m=typeof c.is=="string"?T.createElement(h,{is:c.is}):T.createElement(h)}}m[$t]=a,m[pn]=c;e:for(T=a.child;T!==null;){if(T.tag===5||T.tag===6)m.appendChild(T.stateNode);else if(T.tag!==4&&T.tag!==27&&T.child!==null){T.child.return=T,T=T.child;continue}if(T===a)break e;for(;T.sibling===null;){if(T.return===null||T.return===a)break e;T=T.return}T.sibling.return=T.return,T=T.sibling}a.stateNode=m;e:switch(gn(m,h,c),h){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&Wr(a)}}return St(a),Fp(a,a.type,n===null?null:n.memoizedProps,a.pendingProps,i),null;case 6:if(n&&a.stateNode!=null)n.memoizedProps!==c&&Wr(a);else{if(typeof c!="string"&&a.stateNode===null)throw Error(s(166));if(n=Ee.current,Ur(a)){if(n=a.stateNode,i=a.memoizedProps,c=null,h=Ft,h!==null)switch(h.tag){case 27:case 5:c=h.memoizedProps}n[$t]=a,n=!!(n.nodeValue===i||c!==null&&c.suppressHydrationWarning===!0||pw(n.nodeValue,i)),n||Pa(a,!0)}else n=tf(n).createTextNode(c),n[$t]=a,a.stateNode=n}return St(a),null;case 31:if(i=a.memoizedState,n===null||n.memoizedState!==null){if(c=Ur(a),i!==null){if(n===null){if(!c)throw Error(s(318));if(n=a.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(s(557));n[$t]=a}else Ia(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;St(a),n=!1}else i=Ge(),n!==null&&n.memoizedState!==null&&(n.memoizedState.hydrationErrors=i),n=!0;if(!n)return a.flags&256?(Vn(a),a):(Vn(a),null);if((a.flags&128)!==0)throw Error(s(558))}return St(a),null;case 13:if(c=a.memoizedState,n===null||n.memoizedState!==null&&n.memoizedState.dehydrated!==null){if(h=Ur(a),c!==null&&c.dehydrated!==null){if(n===null){if(!h)throw Error(s(318));if(h=a.memoizedState,h=h!==null?h.dehydrated:null,!h)throw Error(s(317));h[$t]=a}else Ia(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;St(a),h=!1}else h=Ge(),n!==null&&n.memoizedState!==null&&(n.memoizedState.hydrationErrors=h),h=!0;if(!h)return a.flags&256?(Vn(a),a):(Vn(a),null)}return Vn(a),(a.flags&128)!==0?(a.lanes=i,a):(i=c!==null,n=n!==null&&n.memoizedState!==null,i&&(c=a.child,h=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(h=c.alternate.memoizedState.cachePool.pool),m=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(m=c.memoizedState.cachePool.pool),m!==h&&(c.flags|=2048)),i!==n&&i&&(a.child.flags|=8192),Ud(a,a.updateQueue),St(a),null);case 4:return ke(),n===null&&tm(a.stateNode.containerInfo),St(a),null;case 10:return xa(a.type),St(a),null;case 19:if(ne(Dt),c=a.memoizedState,c===null)return St(a),null;if(h=(a.flags&128)!==0,m=c.rendering,m===null)if(h)Ic(c,!1);else{if(Ut!==0||n!==null&&(n.flags&128)!==0)for(n=a.child;n!==null;){if(m=$o(n),m!==null){for(a.flags|=128,Ic(c,!1),n=m.updateQueue,a.updateQueue=n,Ud(a,n),a.subtreeFlags=0,n=i,i=a.child;i!==null;)xd(i,n),i=i.sibling;return re(Dt,Dt.current&1|2),Qe&&ba(a,c.treeForkCount),a.child}n=n.sibling}c.tail!==null&&Mn()>Hd&&(a.flags|=128,h=!0,Ic(c,!1),a.lanes=4194304)}else{if(!h)if(n=$o(m),n!==null){if(a.flags|=128,h=!0,n=n.updateQueue,a.updateQueue=n,Ud(a,n),Ic(c,!0),c.tail===null&&c.tailMode==="hidden"&&!m.alternate&&!Qe)return St(a),null}else 2*Mn()-c.renderingStartTime>Hd&&i!==536870912&&(a.flags|=128,h=!0,Ic(c,!1),a.lanes=4194304);c.isBackwards?(m.sibling=a.child,a.child=m):(n=c.last,n!==null?n.sibling=m:a.child=m,c.last=m)}return c.tail!==null?(n=c.tail,c.rendering=n,c.tail=n.sibling,c.renderingStartTime=Mn(),n.sibling=null,i=Dt.current,re(Dt,h?i&1|2:i&1),Qe&&ba(a,c.treeForkCount),n):(St(a),null);case 22:case 23:return Vn(a),Lc(),c=a.memoizedState!==null,n!==null?n.memoizedState!==null!==c&&(a.flags|=8192):c&&(a.flags|=8192),c?(i&536870912)!==0&&(a.flags&128)===0&&(St(a),a.subtreeFlags&6&&(a.flags|=8192)):St(a),i=a.updateQueue,i!==null&&Ud(a,i.retryQueue),i=null,n!==null&&n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(i=n.memoizedState.cachePool.pool),c=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(c=a.memoizedState.cachePool.pool),c!==i&&(a.flags|=2048),n!==null&&ne(dr),null;case 24:return i=null,n!==null&&(i=n.memoizedState.cache),a.memoizedState.cache!==i&&(a.flags|=2048),xa(Nt),St(a),null;case 25:return null;case 30:return null}throw Error(s(156,a.tag))}function yS(n,a){switch(wi(a),a.tag){case 1:return n=a.flags,n&65536?(a.flags=n&-65537|128,a):null;case 3:return xa(Nt),ke(),n=a.flags,(n&65536)!==0&&(n&128)===0?(a.flags=n&-65537|128,a):null;case 26:case 27:case 5:return Tt(a),null;case 31:if(a.memoizedState!==null){if(Vn(a),a.alternate===null)throw Error(s(340));Ia()}return n=a.flags,n&65536?(a.flags=n&-65537|128,a):null;case 13:if(Vn(a),n=a.memoizedState,n!==null&&n.dehydrated!==null){if(a.alternate===null)throw Error(s(340));Ia()}return n=a.flags,n&65536?(a.flags=n&-65537|128,a):null;case 19:return ne(Dt),null;case 4:return ke(),null;case 10:return xa(a.type),null;case 22:case 23:return Vn(a),Lc(),n!==null&&ne(dr),n=a.flags,n&65536?(a.flags=n&-65537|128,a):null;case 24:return xa(Nt),null;case 25:return null;default:return null}}function v0(n,a){switch(wi(a),a.tag){case 3:xa(Nt),ke();break;case 26:case 27:case 5:Tt(a);break;case 4:ke();break;case 31:a.memoizedState!==null&&Vn(a);break;case 13:Vn(a);break;case 19:ne(Dt);break;case 10:xa(a.type);break;case 22:case 23:Vn(a),Lc(),n!==null&&ne(dr);break;case 24:xa(Nt)}}function Uc(n,a){try{var i=a.updateQueue,c=i!==null?i.lastEffect:null;if(c!==null){var h=c.next;i=h;do{if((i.tag&n)===n){c=void 0;var m=i.create,T=i.inst;c=m(),T.destroy=c}i=i.next}while(i!==h)}}catch(A){yt(a,a.return,A)}}function Ls(n,a,i){try{var c=a.updateQueue,h=c!==null?c.lastEffect:null;if(h!==null){var m=h.next;c=m;do{if((c.tag&n)===n){var T=c.inst,A=T.destroy;if(A!==void 0){T.destroy=void 0,h=a;var B=i,K=A;try{K()}catch(ie){yt(h,B,ie)}}}c=c.next}while(c!==m)}}catch(ie){yt(a,a.return,ie)}}function w0(n){var a=n.updateQueue;if(a!==null){var i=n.stateNode;try{Od(a,i)}catch(c){yt(n,n.return,c)}}}function b0(n,a,i){i.props=Di(n.type,n.memoizedProps),i.state=n.memoizedState;try{i.componentWillUnmount()}catch(c){yt(n,a,c)}}function Gc(n,a){try{var i=n.ref;if(i!==null){switch(n.tag){case 26:case 27:case 5:var c=n.stateNode;break;case 30:c=n.stateNode;break;default:c=n.stateNode}typeof i=="function"?n.refCleanup=i(c):i.current=c}}catch(h){yt(n,a,h)}}function vr(n,a){var i=n.ref,c=n.refCleanup;if(i!==null)if(typeof c=="function")try{c()}catch(h){yt(n,a,h)}finally{n.refCleanup=null,n=n.alternate,n!=null&&(n.refCleanup=null)}else if(typeof i=="function")try{i(null)}catch(h){yt(n,a,h)}else i.current=null}function M0(n){var a=n.type,i=n.memoizedProps,c=n.stateNode;try{e:switch(a){case"button":case"input":case"select":case"textarea":i.autoFocus&&c.focus();break e;case"img":i.src?c.src=i.src:i.srcSet&&(c.srcset=i.srcSet)}}catch(h){yt(n,n.return,h)}}function Np(n,a,i){try{var c=n.stateNode;US(c,n.type,i,a),c[pn]=a}catch(h){yt(n,n.return,h)}}function x0(n){return n.tag===5||n.tag===3||n.tag===26||n.tag===27&&Is(n.type)||n.tag===4}function Dp(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||x0(n.return))return null;n=n.return}for(n.sibling.return=n.return,n=n.sibling;n.tag!==5&&n.tag!==6&&n.tag!==18;){if(n.tag===27&&Is(n.type)||n.flags&2||n.child===null||n.tag===4)continue e;n.child.return=n,n=n.child}if(!(n.flags&2))return n.stateNode}}function Rp(n,a,i){var c=n.tag;if(c===5||c===6)n=n.stateNode,a?(i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i).insertBefore(n,a):(a=i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i,a.appendChild(n),i=i._reactRootContainer,i!=null||a.onclick!==null||(a.onclick=Da));else if(c!==4&&(c===27&&Is(n.type)&&(i=n.stateNode,a=null),n=n.child,n!==null))for(Rp(n,a,i),n=n.sibling;n!==null;)Rp(n,a,i),n=n.sibling}function Gd(n,a,i){var c=n.tag;if(c===5||c===6)n=n.stateNode,a?i.insertBefore(n,a):i.appendChild(n);else if(c!==4&&(c===27&&Is(n.type)&&(i=n.stateNode),n=n.child,n!==null))for(Gd(n,a,i),n=n.sibling;n!==null;)Gd(n,a,i),n=n.sibling}function T0(n){var a=n.stateNode,i=n.memoizedProps;try{for(var c=n.type,h=a.attributes;h.length;)a.removeAttributeNode(h[0]);gn(a,c,i),a[$t]=n,a[pn]=i}catch(m){yt(n,n.return,m)}}var Yr=!1,Zt=!1,Bp=!1,S0=typeof WeakSet=="function"?WeakSet:Set,ln=null;function vS(n,a){if(n=n.containerInfo,rm=cf,n=md(n),dc(n)){if("selectionStart"in n)var i={start:n.selectionStart,end:n.selectionEnd};else e:{i=(i=n.ownerDocument)&&i.defaultView||window;var c=i.getSelection&&i.getSelection();if(c&&c.rangeCount!==0){i=c.anchorNode;var h=c.anchorOffset,m=c.focusNode;c=c.focusOffset;try{i.nodeType,m.nodeType}catch{i=null;break e}var T=0,A=-1,B=-1,K=0,ie=0,ue=n,te=null;t:for(;;){for(var ae;ue!==i||h!==0&&ue.nodeType!==3||(A=T+h),ue!==m||c!==0&&ue.nodeType!==3||(B=T+c),ue.nodeType===3&&(T+=ue.nodeValue.length),(ae=ue.firstChild)!==null;)te=ue,ue=ae;for(;;){if(ue===n)break t;if(te===i&&++K===h&&(A=T),te===m&&++ie===c&&(B=T),(ae=ue.nextSibling)!==null)break;ue=te,te=ue.parentNode}ue=ae}i=A===-1||B===-1?null:{start:A,end:B}}else i=null}i=i||{start:0,end:0}}else i=null;for(sm={focusedElem:n,selectionRange:i},cf=!1,ln=a;ln!==null;)if(a=ln,n=a.child,(a.subtreeFlags&1028)!==0&&n!==null)n.return=a,ln=n;else for(;ln!==null;){switch(a=ln,m=a.alternate,n=a.flags,a.tag){case 0:if((n&4)!==0&&(n=a.updateQueue,n=n!==null?n.events:null,n!==null))for(i=0;i title"))),gn(m,c,i),m[$t]=n,qt(m),c=m;break e;case"link":var T=zw("link","href",h).get(c+(i.href||""));if(T){for(var A=0;Abt&&(T=bt,bt=Le,Le=T);var H=hd(A,Le),j=hd(A,bt);if(H&&j&&(ae.rangeCount!==1||ae.anchorNode!==H.node||ae.anchorOffset!==H.offset||ae.focusNode!==j.node||ae.focusOffset!==j.offset)){var Z=ue.createRange();Z.setStart(H.node,H.offset),ae.removeAllRanges(),Le>bt?(ae.addRange(Z),ae.extend(j.node,j.offset)):(Z.setEnd(j.node,j.offset),ae.addRange(Z))}}}}for(ue=[],ae=A;ae=ae.parentNode;)ae.nodeType===1&&ue.push({element:ae,left:ae.scrollLeft,top:ae.scrollTop});for(typeof A.focus=="function"&&A.focus(),A=0;Ai?32:i,V.T=null,i=qp,qp=null;var m=Rs,T=es;if(Kt=0,nl=Rs=null,es=0,(dt&6)!==0)throw Error(s(331));var A=dt;if(dt|=4,R0(m.current),F0(m,m.current,T,i),dt=A,Qc(0,!1),xn&&typeof xn.onPostCommitFiberRoot=="function")try{xn.onPostCommitFiberRoot(us,m)}catch{}return!0}finally{X.p=h,V.T=c,ew(n,a)}}function nw(n,a,i){a=Pn(i,a),a=xp(n.stateNode,a,2),n=_r(n,a,2),n!==null&&(_a(n,2),wr(n))}function yt(n,a,i){if(n.tag===3)nw(n,n,i);else for(;a!==null;){if(a.tag===3){nw(a,n,i);break}else if(a.tag===1){var c=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(Ds===null||!Ds.has(c))){n=Pn(i,n),i=a0(2),c=_r(a,i,2),c!==null&&(r0(i,c,a,n),_a(c,2),wr(c));break}}a=a.return}}function Wp(n,a,i){var c=n.pingCache;if(c===null){c=n.pingCache=new MS;var h=new Set;c.set(a,h)}else h=c.get(a),h===void 0&&(h=new Set,c.set(a,h));h.has(i)||(Up=!0,h.add(i),n=AS.bind(null,n,a,i),a.then(n,n))}function AS(n,a,i){var c=n.pingCache;c!==null&&c.delete(a),n.pingedLanes|=n.suspendedLanes&i,n.warmLanes&=~i,xt===n&&(tt&i)===i&&(Ut===4||Ut===3&&(tt&62914560)===tt&&300>Mn()-qd?(dt&2)===0&&al(n,0):Gp|=i,tl===tt&&(tl=0)),wr(n)}function aw(n,a){a===0&&(a=Hl()),n=Rr(n,a),n!==null&&(_a(n,a),wr(n))}function CS(n){var a=n.memoizedState,i=0;a!==null&&(i=a.retryLane),aw(n,i)}function kS(n,a){var i=0;switch(n.tag){case 31:case 13:var c=n.stateNode,h=n.memoizedState;h!==null&&(i=h.retryLane);break;case 19:c=n.stateNode;break;case 22:c=n.stateNode._retryCache;break;default:throw Error(s(314))}c!==null&&c.delete(a),aw(n,i)}function OS(n,a){return La(n,a)}var Zd=null,sl=null,Yp=!1,Kd=!1,Xp=!1,Ps=0;function wr(n){n!==sl&&n.next===null&&(sl===null?Zd=sl=n:sl=sl.next=n),Kd=!0,Yp||(Yp=!0,LS())}function Qc(n,a){if(!Xp&&Kd){Xp=!0;do for(var i=!1,c=Zd;c!==null;){if(n!==0){var h=c.pendingLanes;if(h===0)var m=0;else{var T=c.suspendedLanes,A=c.pingedLanes;m=(1<<31-hn(42|n)+1)-1,m&=h&~(T&~A),m=m&201326741?m&201326741|1:m?m|2:0}m!==0&&(i=!0,ow(c,m))}else m=tt,m=ni(c,c===xt?m:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(m&3)===0||ai(c,m)||(i=!0,ow(c,m));c=c.next}while(i);Xp=!1}}function zS(){rw()}function rw(){Kd=Yp=!1;var n=0;Ps!==0&&jS()&&(n=Ps);for(var a=Mn(),i=null,c=Zd;c!==null;){var h=c.next,m=sw(c,a);m===0?(c.next=null,i===null?Zd=h:i.next=h,h===null&&(sl=i)):(i=c,(n!==0||(m&3)!==0)&&(Kd=!0)),c=h}Kt!==0&&Kt!==5||Qc(n),Ps!==0&&(Ps=0)}function sw(n,a){for(var i=n.suspendedLanes,c=n.pingedLanes,h=n.expirationTimes,m=n.pendingLanes&-62914561;0A)break;var ie=B.transferSize,ue=B.initiatorType;ie&&mw(ue)&&(B=B.responseEnd,T+=ie*(B"u"?null:document;function Aw(n,a,i){var c=il;if(c&&typeof a=="string"&&a){var h=$n(a);h='link[rel="'+n+'"][href="'+h+'"]',typeof i=="string"&&(h+='[crossorigin="'+i+'"]'),Ew.has(h)||(Ew.add(h),n={rel:n,crossOrigin:i,href:a},c.querySelector(h)===null&&(a=c.createElement("link"),gn(a,"link",n),qt(a),c.head.appendChild(a)))}}function ZS(n){ts.D(n),Aw("dns-prefetch",n,null)}function KS(n,a){ts.C(n,a),Aw("preconnect",n,a)}function JS(n,a,i){ts.L(n,a,i);var c=il;if(c&&n&&a){var h='link[rel="preload"][as="'+$n(a)+'"]';a==="image"&&i&&i.imageSrcSet?(h+='[imagesrcset="'+$n(i.imageSrcSet)+'"]',typeof i.imageSizes=="string"&&(h+='[imagesizes="'+$n(i.imageSizes)+'"]')):h+='[href="'+$n(n)+'"]';var m=h;switch(a){case"style":m=ol(n);break;case"script":m=ll(n)}Sa.has(m)||(n=g({rel:"preload",href:a==="image"&&i&&i.imageSrcSet?void 0:n,as:a},i),Sa.set(m,n),c.querySelector(h)!==null||a==="style"&&c.querySelector(Zc(m))||a==="script"&&c.querySelector(Kc(m))||(a=c.createElement("link"),gn(a,"link",n),qt(a),c.head.appendChild(a)))}}function eE(n,a){ts.m(n,a);var i=il;if(i&&n){var c=a&&typeof a.as=="string"?a.as:"script",h='link[rel="modulepreload"][as="'+$n(c)+'"][href="'+$n(n)+'"]',m=h;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":m=ll(n)}if(!Sa.has(m)&&(n=g({rel:"modulepreload",href:n},a),Sa.set(m,n),i.querySelector(h)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(i.querySelector(Kc(m)))return}c=i.createElement("link"),gn(c,"link",n),qt(c),i.head.appendChild(c)}}}function tE(n,a,i){ts.S(n,a,i);var c=il;if(c&&n){var h=ds(c).hoistableStyles,m=ol(n);a=a||"default";var T=h.get(m);if(!T){var A={loading:0,preload:null};if(T=c.querySelector(Zc(m)))A.loading=5;else{n=g({rel:"stylesheet",href:n,"data-precedence":a},i),(i=Sa.get(m))&&fm(n,i);var B=T=c.createElement("link");qt(B),gn(B,"link",n),B._p=new Promise(function(K,ie){B.onload=K,B.onerror=ie}),B.addEventListener("load",function(){A.loading|=1}),B.addEventListener("error",function(){A.loading|=2}),A.loading|=4,af(T,a,c)}T={type:"stylesheet",instance:T,count:1,state:A},h.set(m,T)}}}function nE(n,a){ts.X(n,a);var i=il;if(i&&n){var c=ds(i).hoistableScripts,h=ll(n),m=c.get(h);m||(m=i.querySelector(Kc(h)),m||(n=g({src:n,async:!0},a),(a=Sa.get(h))&&hm(n,a),m=i.createElement("script"),qt(m),gn(m,"link",n),i.head.appendChild(m)),m={type:"script",instance:m,count:1,state:null},c.set(h,m))}}function aE(n,a){ts.M(n,a);var i=il;if(i&&n){var c=ds(i).hoistableScripts,h=ll(n),m=c.get(h);m||(m=i.querySelector(Kc(h)),m||(n=g({src:n,async:!0,type:"module"},a),(a=Sa.get(h))&&hm(n,a),m=i.createElement("script"),qt(m),gn(m,"link",n),i.head.appendChild(m)),m={type:"script",instance:m,count:1,state:null},c.set(h,m))}}function Cw(n,a,i,c){var h=(h=Ee.current)?nf(h):null;if(!h)throw Error(s(446));switch(n){case"meta":case"title":return null;case"style":return typeof i.precedence=="string"&&typeof i.href=="string"?(a=ol(i.href),i=ds(h).hoistableStyles,c=i.get(a),c||(c={type:"style",instance:null,count:0,state:null},i.set(a,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(i.rel==="stylesheet"&&typeof i.href=="string"&&typeof i.precedence=="string"){n=ol(i.href);var m=ds(h).hoistableStyles,T=m.get(n);if(T||(h=h.ownerDocument||h,T={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},m.set(n,T),(m=h.querySelector(Zc(n)))&&!m._p&&(T.instance=m,T.state.loading=5),Sa.has(n)||(i={rel:"preload",as:"style",href:i.href,crossOrigin:i.crossOrigin,integrity:i.integrity,media:i.media,hrefLang:i.hrefLang,referrerPolicy:i.referrerPolicy},Sa.set(n,i),m||rE(h,n,i,T.state))),a&&c===null)throw Error(s(528,""));return T}if(a&&c!==null)throw Error(s(529,""));return null;case"script":return a=i.async,i=i.src,typeof i=="string"&&a&&typeof a!="function"&&typeof a!="symbol"?(a=ll(i),i=ds(h).hoistableScripts,c=i.get(a),c||(c={type:"script",instance:null,count:0,state:null},i.set(a,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(s(444,n))}}function ol(n){return'href="'+$n(n)+'"'}function Zc(n){return'link[rel="stylesheet"]['+n+"]"}function kw(n){return g({},n,{"data-precedence":n.precedence,precedence:null})}function rE(n,a,i,c){n.querySelector('link[rel="preload"][as="style"]['+a+"]")?c.loading=1:(a=n.createElement("link"),c.preload=a,a.addEventListener("load",function(){return c.loading|=1}),a.addEventListener("error",function(){return c.loading|=2}),gn(a,"link",i),qt(a),n.head.appendChild(a))}function ll(n){return'[src="'+$n(n)+'"]'}function Kc(n){return"script[async]"+n}function Ow(n,a,i){if(a.count++,a.instance===null)switch(a.type){case"style":var c=n.querySelector('style[data-href~="'+$n(i.href)+'"]');if(c)return a.instance=c,qt(c),c;var h=g({},i,{"data-href":i.href,"data-precedence":i.precedence,href:null,precedence:null});return c=(n.ownerDocument||n).createElement("style"),qt(c),gn(c,"style",h),af(c,i.precedence,n),a.instance=c;case"stylesheet":h=ol(i.href);var m=n.querySelector(Zc(h));if(m)return a.state.loading|=4,a.instance=m,qt(m),m;c=kw(i),(h=Sa.get(h))&&fm(c,h),m=(n.ownerDocument||n).createElement("link"),qt(m);var T=m;return T._p=new Promise(function(A,B){T.onload=A,T.onerror=B}),gn(m,"link",c),a.state.loading|=4,af(m,i.precedence,n),a.instance=m;case"script":return m=ll(i.src),(h=n.querySelector(Kc(m)))?(a.instance=h,qt(h),h):(c=i,(h=Sa.get(m))&&(c=g({},i),hm(c,h)),n=n.ownerDocument||n,h=n.createElement("script"),qt(h),gn(h,"link",c),n.head.appendChild(h),a.instance=h);case"void":return null;default:throw Error(s(443,a.type))}else a.type==="stylesheet"&&(a.state.loading&4)===0&&(c=a.instance,a.state.loading|=4,af(c,i.precedence,n));return a.instance}function af(n,a,i){for(var c=i.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),h=c.length?c[c.length-1]:null,m=h,T=0;T title"):null)}function sE(n,a,i){if(i===1||a.itemProp!=null)return!1;switch(n){case"meta":case"title":return!0;case"style":if(typeof a.precedence!="string"||typeof a.href!="string"||a.href==="")break;return!0;case"link":if(typeof a.rel!="string"||typeof a.href!="string"||a.href===""||a.onLoad||a.onError)break;return a.rel==="stylesheet"?(n=a.disabled,typeof a.precedence=="string"&&n==null):!0;case"script":if(a.async&&typeof a.async!="function"&&typeof a.async!="symbol"&&!a.onLoad&&!a.onError&&a.src&&typeof a.src=="string")return!0}return!1}function Fw(n){return!(n.type==="stylesheet"&&(n.state.loading&3)===0)}function iE(n,a,i,c){if(i.type==="stylesheet"&&(typeof c.media!="string"||matchMedia(c.media).matches!==!1)&&(i.state.loading&4)===0){if(i.instance===null){var h=ol(c.href),m=a.querySelector(Zc(h));if(m){a=m._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(n.count++,n=sf.bind(n),a.then(n,n)),i.state.loading|=4,i.instance=m,qt(m);return}m=a.ownerDocument||a,c=kw(c),(h=Sa.get(h))&&fm(c,h),m=m.createElement("link"),qt(m);var T=m;T._p=new Promise(function(A,B){T.onload=A,T.onerror=B}),gn(m,"link",c),i.instance=m}n.stylesheets===null&&(n.stylesheets=new Map),n.stylesheets.set(i,a),(a=i.state.preload)&&(i.state.loading&3)===0&&(n.count++,i=sf.bind(n),a.addEventListener("load",i),a.addEventListener("error",i))}}var pm=0;function oE(n,a){return n.stylesheets&&n.count===0&&lf(n,n.stylesheets),0pm?50:800)+a);return n.unsuspend=i,function(){n.unsuspend=null,clearTimeout(c),clearTimeout(h)}}:null}function sf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)lf(this,this.stylesheets);else if(this.unsuspend){var n=this.unsuspend;this.unsuspend=null,n()}}}var of=null;function lf(n,a){n.stylesheets=null,n.unsuspend!==null&&(n.count++,of=new Map,a.forEach(lE,n),of=null,sf.call(n))}function lE(n,a){if(!(a.state.loading&4)){var i=of.get(n);if(i)var c=i.get(null);else{i=new Map,of.set(n,i);for(var h=n.querySelectorAll("link[data-precedence],style[data-precedence]"),m=0;m"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),xm.exports=TE(),xm.exports}var EE=SE();var L_=Object.defineProperty,AE=Object.getOwnPropertyDescriptor,CE=Object.getOwnPropertyNames,kE=Object.prototype.hasOwnProperty,OE=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),Je=(e,t)=>()=>(e&&(t=e(e=0)),t),Au=(e,t)=>{for(var r in t)L_(e,r,{get:t[r],enumerable:!0})},zE=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of CE(t))!kE.call(e,o)&&o!==r&&L_(e,o,{get:()=>t[o],enumerable:!(s=AE(t,o))||s.enumerable});return e},Nf=e=>zE(L_({},"__esModule",{value:!0}),e),su,Hs,Hi,ab,U1,G1=Je(()=>{su=new Map,Hs=[],Hi=(e,t,r)=>{if(t&&typeof t.init=="function"&&typeof t.createInferenceSessionHandler=="function"){let s=su.get(e);if(s===void 0)su.set(e,{backend:t,priority:r});else{if(s.priority>r)return;if(s.priority===r&&s.backend!==t)throw new Error(`cannot register backend "${e}" using priority ${r}`)}if(r>=0){let o=Hs.indexOf(e);o!==-1&&Hs.splice(o,1);for(let l=0;l{let t=su.get(e);if(!t)return"backend not found.";if(t.initialized)return t.backend;if(t.aborted)return t.error;{let r=!!t.initPromise;try{return r||(t.initPromise=t.backend.init(e)),await t.initPromise,t.initialized=!0,t.backend}catch(s){return r||(t.error=`${s}`,t.aborted=!0),t.error}finally{delete t.initPromise}}},U1=async e=>{let t=e.executionProviders||[],r=t.map(f=>typeof f=="string"?f:f.name),s=r.length===0?Hs:r,o,l=[],u=new Set;for(let f of s){let p=await ab(f);typeof p=="string"?l.push({name:f,err:p}):(o||(o=p),o===p&&u.add(f))}if(!o)throw new Error(`no available backend found. ERR: ${l.map(f=>`[${f.name}] ${f.err}`).join(", ")}`);for(let{name:f,err:p}of l)r.includes(f)&&console.warn(`removing requested execution provider "${f}" from session options because it is not available: ${p}`);let d=t.filter(f=>u.has(typeof f=="string"?f:f.name));return[o,new Proxy(e,{get:(f,p)=>p==="executionProviders"?d:Reflect.get(f,p)})]}}),LE=Je(()=>{G1()}),j1,FE=Je(()=>{j1="1.24.0-dev.20251116-b39e144322"}),Am,cn,V1=Je(()=>{FE(),Am="warning",cn={wasm:{},webgl:{},webgpu:{},versions:{common:j1},set logLevel(e){if(e!==void 0){if(typeof e!="string"||["verbose","info","warning","error","fatal"].indexOf(e)===-1)throw new Error(`Unsupported logging level: ${e}`);Am=e}},get logLevel(){return Am}},Object.defineProperty(cn,"logLevel",{enumerable:!0})}),Ot,NE=Je(()=>{V1(),Ot=cn}),q1,H1,DE=Je(()=>{q1=(e,t)=>{let r=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);r.width=e.dims[3],r.height=e.dims[2];let s=r.getContext("2d");if(s!=null){let o,l;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(o=e.dims[2],l=e.dims[3]):(o=e.dims[3],l=e.dims[2]);let u=t?.format!==void 0?t.format:"RGB",d=t?.norm,f,p;d===void 0||d.mean===void 0?f=[255,255,255,255]:typeof d.mean=="number"?f=[d.mean,d.mean,d.mean,d.mean]:(f=[d.mean[0],d.mean[1],d.mean[2],0],d.mean[3]!==void 0&&(f[3]=d.mean[3])),d===void 0||d.bias===void 0?p=[0,0,0,0]:typeof d.bias=="number"?p=[d.bias,d.bias,d.bias,d.bias]:(p=[d.bias[0],d.bias[1],d.bias[2],0],d.bias[3]!==void 0&&(p[3]=d.bias[3]));let _=l*o,g=0,w=_,b=_*2,S=-1;u==="RGBA"?(g=0,w=_,b=_*2,S=_*3):u==="RGB"?(g=0,w=_,b=_*2):u==="RBG"&&(g=0,b=_,w=_*2);for(let E=0;E{let r=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),s;if(r!=null){let o,l,u;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(o=e.dims[2],l=e.dims[1],u=e.dims[3]):(o=e.dims[3],l=e.dims[2],u=e.dims[1]);let d=t!==void 0&&t.format!==void 0?t.format:"RGB",f=t?.norm,p,_;f===void 0||f.mean===void 0?p=[255,255,255,255]:typeof f.mean=="number"?p=[f.mean,f.mean,f.mean,f.mean]:(p=[f.mean[0],f.mean[1],f.mean[2],255],f.mean[3]!==void 0&&(p[3]=f.mean[3])),f===void 0||f.bias===void 0?_=[0,0,0,0]:typeof f.bias=="number"?_=[f.bias,f.bias,f.bias,f.bias]:(_=[f.bias[0],f.bias[1],f.bias[2],0],f.bias[3]!==void 0&&(_[3]=f.bias[3]));let g=l*o;if(t!==void 0&&(t.format!==void 0&&u===4&&t.format!=="RGBA"||u===3&&t.format!=="RGB"&&t.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");let w=4,b=0,S=1,E=2,z=3,C=0,L=g,D=g*2,R=-1;d==="RGBA"?(C=0,L=g,D=g*2,R=g*3):d==="RGB"?(C=0,L=g,D=g*2):d==="RBG"&&(C=0,D=g,L=g*2),s=r.createImageData(o,l);for(let P=0;P{F_(),_f=(e,t)=>{if(e===void 0)throw new Error("Image buffer must be defined");if(t.height===void 0||t.width===void 0)throw new Error("Image height and width must be defined");if(t.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");let{height:r,width:s}=t,o=t.norm??{mean:255,bias:0},l,u;typeof o.mean=="number"?l=[o.mean,o.mean,o.mean,o.mean]:l=[o.mean[0],o.mean[1],o.mean[2],o.mean[3]??255],typeof o.bias=="number"?u=[o.bias,o.bias,o.bias,o.bias]:u=[o.bias[0],o.bias[1],o.bias[2],o.bias[3]??0];let d=t.format!==void 0?t.format:"RGBA",f=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:"RGB",p=r*s,_=f==="RGBA"?new Float32Array(p*4):new Float32Array(p*3),g=4,w=0,b=1,S=2,E=3,z=0,C=p,L=p*2,D=-1;d==="RGB"&&(g=3,w=0,b=1,S=2,E=-1),f==="RGBA"?D=p*3:f==="RBG"?(z=0,L=p,C=p*2):f==="BGR"&&(L=0,C=p,z=p*2);for(let R=0;R{let r=typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement,s=typeof ImageData<"u"&&e instanceof ImageData,o=typeof ImageBitmap<"u"&&e instanceof ImageBitmap,l=typeof e=="string",u,d=t??{},f=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},p=_=>typeof HTMLCanvasElement<"u"&&_ instanceof HTMLCanvasElement||_ instanceof OffscreenCanvas?_.getContext("2d"):null;if(r){let _=f();_.width=e.width,_.height=e.height;let g=p(_);if(g!=null){let w=e.height,b=e.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(w=t.resizedHeight,b=t.resizedWidth),t!==void 0){if(d=t,t.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");d.tensorFormat="RGBA",d.height=w,d.width=b}else d.tensorFormat="RGBA",d.height=w,d.width=b;g.drawImage(e,0,0),u=g.getImageData(0,0,b,w).data}else throw new Error("Can not access image data")}else if(s){let _,g;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(_=t.resizedHeight,g=t.resizedWidth):(_=e.height,g=e.width),t!==void 0&&(d=t),d.format="RGBA",d.height=_,d.width=g,t!==void 0){let w=f();w.width=g,w.height=_;let b=p(w);if(b!=null)b.putImageData(e,0,0),u=b.getImageData(0,0,g,_).data;else throw new Error("Can not access image data")}else u=e.data}else if(o){if(t===void 0)throw new Error("Please provide image config with format for Imagebitmap");let _=f();_.width=e.width,_.height=e.height;let g=p(_);if(g!=null){let w=e.height,b=e.width;return g.drawImage(e,0,0,b,w),u=g.getImageData(0,0,b,w).data,d.height=w,d.width=b,_f(u,d)}else throw new Error("Can not access image data")}else{if(l)return new Promise((_,g)=>{let w=f(),b=p(w);if(!e||!b)return g();let S=new Image;S.crossOrigin="Anonymous",S.src=e,S.onload=()=>{w.width=S.width,w.height=S.height,b.drawImage(S,0,0,w.width,w.height);let E=b.getImageData(0,0,w.width,w.height);d.height=w.height,d.width=w.width,_(_f(E.data,d))}});throw new Error("Input data provided is not supported - aborted tensor creation")}if(u!==void 0)return _f(u,d);throw new Error("Input data provided is not supported - aborted tensor creation")},Q1=(e,t)=>{let{width:r,height:s,download:o,dispose:l}=t,u=[1,s,r,4];return new da({location:"texture",type:"float32",texture:e,dims:u,download:o,dispose:l})},W1=(e,t)=>{let{dataType:r,dims:s,download:o,dispose:l}=t;return new da({location:"gpu-buffer",type:r??"float32",gpuBuffer:e,dims:s,download:o,dispose:l})},Y1=(e,t)=>{let{dataType:r,dims:s,download:o,dispose:l}=t;return new da({location:"ml-tensor",type:r??"float32",mlTensor:e,dims:s,download:o,dispose:l})},X1=(e,t,r)=>new da({location:"cpu-pinned",type:e,data:t,dims:r??[t.length]})}),Vi,_u,Cm,Z1,BE=Je(()=>{Vi=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),_u=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),Cm=!1,Z1=()=>{if(!Cm){Cm=!0;let e=typeof BigInt64Array<"u"&&BigInt64Array.from,t=typeof BigUint64Array<"u"&&BigUint64Array.from,r=globalThis.Float16Array,s=typeof r<"u"&&r.from;e&&(Vi.set("int64",BigInt64Array),_u.set(BigInt64Array,"int64")),t&&(Vi.set("uint64",BigUint64Array),_u.set(BigUint64Array,"uint64")),s?(Vi.set("float16",r),_u.set(r,"float16")):Vi.set("float16",Uint16Array)}}}),K1,J1,PE=Je(()=>{F_(),K1=e=>{let t=1;for(let r=0;r{switch(e.location){case"cpu":return new da(e.type,e.data,t);case"cpu-pinned":return new da({location:"cpu-pinned",data:e.data,type:e.type,dims:t});case"texture":return new da({location:"texture",texture:e.texture,type:e.type,dims:t});case"gpu-buffer":return new da({location:"gpu-buffer",gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case"ml-tensor":return new da({location:"ml-tensor",mlTensor:e.mlTensor,type:e.type,dims:t});default:throw new Error(`tensorReshape: tensor location ${e.location} is not supported`)}}}),da,F_=Je(()=>{DE(),RE(),BE(),PE(),da=class{constructor(e,t,r){Z1();let s,o;if(typeof e=="object"&&"location"in e)switch(this.dataLocation=e.location,s=e.type,o=e.dims,e.location){case"cpu-pinned":{let u=Vi.get(s);if(!u)throw new TypeError(`unsupported type "${s}" to create tensor from pinned buffer`);if(!(e.data instanceof u))throw new TypeError(`buffer should be of type ${u.name}`);this.cpuData=e.data;break}case"texture":{if(s!=="float32")throw new TypeError(`unsupported type "${s}" to create tensor from texture`);this.gpuTextureData=e.texture,this.downloader=e.download,this.disposer=e.dispose;break}case"gpu-buffer":{if(s!=="float32"&&s!=="float16"&&s!=="int32"&&s!=="int64"&&s!=="uint32"&&s!=="uint8"&&s!=="bool"&&s!=="uint4"&&s!=="int4")throw new TypeError(`unsupported type "${s}" to create tensor from gpu buffer`);this.gpuBufferData=e.gpuBuffer,this.downloader=e.download,this.disposer=e.dispose;break}case"ml-tensor":{if(s!=="float32"&&s!=="float16"&&s!=="int32"&&s!=="int64"&&s!=="uint32"&&s!=="uint64"&&s!=="int8"&&s!=="uint8"&&s!=="bool"&&s!=="uint4"&&s!=="int4")throw new TypeError(`unsupported type "${s}" to create tensor from MLTensor`);this.mlTensorData=e.mlTensor,this.downloader=e.download,this.disposer=e.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let u,d;if(typeof e=="string")if(s=e,d=r,e==="string"){if(!Array.isArray(t))throw new TypeError("A string tensor's data must be a string array.");u=t}else{let f=Vi.get(e);if(f===void 0)throw new TypeError(`Unsupported tensor type: ${e}.`);if(Array.isArray(t)){if(e==="float16"&&f===Uint16Array||e==="uint4"||e==="int4")throw new TypeError(`Creating a ${e} tensor from number array is not supported. Please use ${f.name} as data.`);e==="uint64"||e==="int64"?u=f.from(t,BigInt):u=f.from(t)}else if(t instanceof f)u=t;else if(t instanceof Uint8ClampedArray)if(e==="uint8")u=Uint8Array.from(t);else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(e==="float16"&&t instanceof Uint16Array&&f!==Uint16Array)u=new globalThis.Float16Array(t.buffer,t.byteOffset,t.length);else throw new TypeError(`A ${s} tensor's data must be type of ${f}`)}else if(d=t,Array.isArray(e)){if(e.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let f=typeof e[0];if(f==="string")s="string",u=e;else if(f==="boolean")s="bool",u=Uint8Array.from(e);else throw new TypeError(`Invalid element type of data array: ${f}.`)}else if(e instanceof Uint8ClampedArray)s="uint8",u=Uint8Array.from(e);else{let f=_u.get(e.constructor);if(f===void 0)throw new TypeError(`Unsupported type for tensor data: ${e.constructor}.`);s=f,u=e}if(d===void 0)d=[u.length];else if(!Array.isArray(d))throw new TypeError("A tensor's dims must be a number array");o=d,this.cpuData=u,this.dataLocation="cpu"}let l=K1(o);if(this.cpuData&&l!==this.cpuData.length&&!((s==="uint4"||s==="int4")&&Math.ceil(l/2)===this.cpuData.length))throw new Error(`Tensor's size(${l}) does not match data length(${this.cpuData.length}).`);this.type=s,this.dims=o,this.size=l}static async fromImage(e,t){return $1(e,t)}static fromTexture(e,t){return Q1(e,t)}static fromGpuBuffer(e,t){return W1(e,t)}static fromMLTensor(e,t){return Y1(e,t)}static fromPinnedBuffer(e,t,r){return X1(e,t,r)}toDataURL(e){return q1(this,e)}toImageData(e){return H1(this,e)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(e){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":{if(!this.downloader)throw new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let t=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=t,e&&this.disposer&&(this.disposer(),this.disposer=void 0),t}finally{this.isDownloading=!1}}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw new Error("The tensor is disposed.")}reshape(e){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return J1(this,e)}}}),Ha,eM=Je(()=>{F_(),Ha=da}),Df,km,Wi,Yi,Zs,Ks,tM=Je(()=>{V1(),Df=(e,t)=>{(typeof cn.trace>"u"?!cn.wasm.trace:!cn.trace)||console.timeStamp(`${e}::ORT::${t}`)},km=(e,t)=>{let r=new Error().stack?.split(/\r\n|\r|\n/g)||[],s=!1;for(let o=0;o{(typeof cn.trace>"u"?!cn.wasm.trace:!cn.trace)||km("BEGIN",e)},Yi=e=>{(typeof cn.trace>"u"?!cn.wasm.trace:!cn.trace)||km("END",e)},Zs=e=>{(typeof cn.trace>"u"?!cn.wasm.trace:!cn.trace)||console.time(`ORT::${e}`)},Ks=e=>{(typeof cn.trace>"u"?!cn.wasm.trace:!cn.trace)||console.timeEnd(`ORT::${e}`)}}),nM,IE=Je(()=>{G1(),eM(),tM(),nM=class aM{constructor(t){this.handler=t}async run(t,r,s){Wi(),Zs("InferenceSession.run");let o={},l={};if(typeof t!="object"||t===null||t instanceof Ha||Array.isArray(t))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let u=!0;if(typeof r=="object"){if(r===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(r instanceof Ha)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(r)){if(r.length===0)throw new TypeError("'fetches' cannot be an empty array.");u=!1;for(let p of r){if(typeof p!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(p)===-1)throw new RangeError(`'fetches' contains invalid output name: ${p}.`);o[p]=null}if(typeof s=="object"&&s!==null)l=s;else if(typeof s<"u")throw new TypeError("'options' must be an object.")}else{let p=!1,_=Object.getOwnPropertyNames(r);for(let g of this.outputNames)if(_.indexOf(g)!==-1){let w=r[g];(w===null||w instanceof Ha)&&(p=!0,u=!1,o[g]=w)}if(p){if(typeof s=="object"&&s!==null)l=s;else if(typeof s<"u")throw new TypeError("'options' must be an object.")}else l=r}}else if(typeof r<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let p of this.inputNames)if(typeof t[p]>"u")throw new Error(`input '${p}' is missing in 'feeds'.`);if(u)for(let p of this.outputNames)o[p]=null;let d=await this.handler.run(t,o,l),f={};for(let p in d)if(Object.hasOwnProperty.call(d,p)){let _=d[p];_ instanceof Ha?f[p]=_:f[p]=new Ha(_.type,_.data,_.dims)}return Ks("InferenceSession.run"),Yi(),f}async release(){return this.handler.dispose()}static async create(t,r,s,o){Wi(),Zs("InferenceSession.create");let l,u={};if(typeof t=="string"){if(l=t,typeof r=="object"&&r!==null)u=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else if(t instanceof Uint8Array){if(l=t,typeof r=="object"&&r!==null)u=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer){let _=t,g=0,w=t.byteLength;if(typeof r=="object"&&r!==null)u=r;else if(typeof r=="number"){if(g=r,!Number.isSafeInteger(g))throw new RangeError("'byteOffset' must be an integer.");if(g<0||g>=_.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${_.byteLength}).`);if(w=t.byteLength-g,typeof s=="number"){if(w=s,!Number.isSafeInteger(w))throw new RangeError("'byteLength' must be an integer.");if(w<=0||g+w>_.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${_.byteLength-g}].`);if(typeof o=="object"&&o!==null)u=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else if(typeof s<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof r<"u")throw new TypeError("'options' must be an object.");l=new Uint8Array(_,g,w)}else throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let[d,f]=await U1(u),p=await d.createInferenceSessionHandler(l,f);return Ks("InferenceSession.create"),Yi(),new aM(p)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}}),N_,UE=Je(()=>{IE(),N_=nM}),GE=Je(()=>{}),jE=Je(()=>{}),VE=Je(()=>{}),qE=Je(()=>{}),rM={};Au(rM,{InferenceSession:()=>N_,TRACE:()=>Df,TRACE_EVENT_BEGIN:()=>Zs,TRACE_EVENT_END:()=>Ks,TRACE_FUNC_BEGIN:()=>Wi,TRACE_FUNC_END:()=>Yi,Tensor:()=>Ha,env:()=>Ot,registerBackend:()=>Hi});var Zi=Je(()=>{LE(),NE(),UE(),eM(),GE(),jE(),tM(),VE(),qE()}),D_=Je(()=>{}),sM={};Au(sM,{default:()=>iM});var Om,zm,iM,HE=Je(()=>{bM(),Ki(),R_(),Om="ort-wasm-proxy-worker",zm=globalThis.self?.name===Om,zm&&(self.onmessage=e=>{let{type:t,in:r}=e.data;try{switch(t){case"init-wasm":B_(r.wasm).then(()=>{j_(r).then(()=>{postMessage({type:t})},s=>{postMessage({type:t,err:s})})},s=>{postMessage({type:t,err:s})});break;case"init-ep":{let{epName:s,env:o}=r;V_(o,s).then(()=>{postMessage({type:t})},l=>{postMessage({type:t,err:l})});break}case"copy-from":{let{buffer:s}=r,o=Pf(s);postMessage({type:t,out:o});break}case"create":{let{model:s,options:o}=r;q_(s,o).then(l=>{postMessage({type:t,out:l})},l=>{postMessage({type:t,err:l})});break}case"release":H_(r),postMessage({type:t});break;case"run":{let{sessionId:s,inputIndices:o,inputs:l,outputIndices:u,options:d}=r;$_(s,o,l,u,new Array(u.length).fill(null),d).then(f=>{f.some(p=>p[3]!=="cpu")?postMessage({type:t,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:t,out:f},W_([...l,...f]))},f=>{postMessage({type:t,err:f})});break}case"end-profiling":Q_(r),postMessage({type:t});break;default:}}catch(s){postMessage({type:t,err:s})}}),iM=zm?null:e=>new Worker(e??ca,{type:"module",name:Om})}),oM={};Au(oM,{default:()=>lM});async function rb(e={}){var t=e,r=!!globalThis.window,s=!!globalThis.WorkerGlobalScope,o=s&&self.name?.startsWith("em-pthread");t.mountExternalData=(y,v)=>{y.startsWith("./")&&(y=y.substring(2)),(t.Uc||(t.Uc=new Map)).set(y,v)},t.unmountExternalData=()=>{delete t.Uc},globalThis.SharedArrayBuffer??new WebAssembly.Memory({initial:0,maximum:0,Be:!0}).buffer.constructor;let l=()=>{let y=v=>(...M)=>{let x=mn;return M=v(...M),mn!=x?new Promise((k,F)=>{Fr={resolve:k,reject:F}}):M};(()=>{for(let v of["_OrtAppendExecutionProvider","_OrtCreateSession","_OrtRun","_OrtRunWithBinding","_OrtBindInput"])t[v]=y(t[v])})(),typeof jsepRunAsync<"u"&&(t._OrtRun=jsepRunAsync(t._OrtRun),t._OrtRunWithBinding=jsepRunAsync(t._OrtRunWithBinding)),l=void 0};t.asyncInit=()=>{l?.()};var u,d,f=(y,v)=>{throw v},p=import.meta.url,_="";if(r||s){try{_=new URL(".",p).href}catch{}s&&(d=y=>{var v=new XMLHttpRequest;return v.open("GET",y,!1),v.responseType="arraybuffer",v.send(null),new Uint8Array(v.response)}),u=async y=>{if(Y(y))return new Promise((M,x)=>{var k=new XMLHttpRequest;k.open("GET",y,!0),k.responseType="arraybuffer",k.onload=()=>{k.status==200||k.status==0&&k.response?M(k.response):x(k.status)},k.onerror=x,k.send(null)});var v=await fetch(y,{credentials:"same-origin"});if(v.ok)return v.arrayBuffer();throw Error(v.status+" : "+v.url)}}var g,w,b,S,E,z,C=console.log.bind(console),L=console.error.bind(console),D=C,R=L,P=!1,Y=y=>y.startsWith("file://");function O(){nr.buffer!=le.buffer&&N()}if(o){let y=function(v){try{var M=v.data,x=M.Oc;if(x==="load"){let k=[];self.onmessage=F=>k.push(F),z=()=>{postMessage({Oc:"loaded"});for(let F of k)y(F);self.onmessage=y};for(let F of M.de)t[F]&&!t[F].proxy||(t[F]=(...G)=>{postMessage({Oc:"callHandler",ce:F,args:G})},F=="print"&&(D=t[F]),F=="printErr"&&(R=t[F]));nr=M.je,N(),w=M.ke,Me(),Ni()}else if(x==="run"){(function(k){var F=(O(),q)[k+52>>>2>>>0];k=(O(),q)[k+56>>>2>>>0],Io(F,F-k),Ce(F)})(M.Nc),Ma(M.Nc,0,0,1,0,0),Pu(),ec(M.Nc),pe||(ur(),pe=!0);try{Uu(M.he,M.Wc)}catch(k){if(k!="unwind")throw k}}else M.target!=="setimmediate"&&(x==="checkMailbox"?pe&&si():x&&(R(`worker: received unknown command ${x}`),R(M)))}catch(k){throw Gn(),k}};var pe=!1;self.onunhandledrejection=v=>{throw v.reason||v},self.onmessage=y}var le,fe,_e,de,W,q,se,V,X,U,Q,ee=!1;function N(){var y=nr.buffer;t.HEAP8=le=new Int8Array(y),_e=new Int16Array(y),t.HEAPU8=fe=new Uint8Array(y),de=new Uint16Array(y),t.HEAP32=W=new Int32Array(y),t.HEAPU32=q=new Uint32Array(y),se=new Float32Array(y),V=new Float64Array(y),X=new BigInt64Array(y),U=new BigUint64Array(y)}function ne(){ee=!0,o?z():on._b()}function re(y){throw R(y="Aborted("+y+")"),P=!0,y=new WebAssembly.RuntimeError(y+". Build with -sASSERTIONS for more info."),E?.(y),y}function ge(){return{a:{f:Gu,J:Sh,k:Eh,p:Ah,l:Ch,ta:ro,b:so,ca:io,Ka:ni,s:ai,da:Vu,_a:$l,Ga:Ql,Ia:Wl,$a:lo,Ya:co,Ra:Yl,Xa:Xl,pa:Fa,Ha:$t,Yb:pn,Za:Or,Fa:uo,eb:kh,Da:ri,Tb:ds,Rb:Hu,Ca:po,M:mo,I:Na,Sb:zh,ka:Jl,Ub:fs,Ua:Wu,Wb:Yu,La:Fh,Pb:Nh,la:yo,Ta:ec,bb:Da,U:bo,n:So,c:ho,sb:oi,w:Dh,L:rc,z:sc,j:li,o:ci,tb:Zu,G:Rh,T:Bh,h:Ph,u:ic,m:Ih,i:Uh,Oa:Gh,Pa:jh,Qa:Vh,Ma:ed,Na:td,Qb:nd,fb:Hh,db:$h,Y:Qh,rb:Wh,ma:Yh,cb:ad,gb:Xh,ab:Zh,Xb:Kh,N:qh,hb:cc,X:ui,Vb:Jh,ob:dd,C:tp,sa:np,ra:ap,qb:rp,W:sp,v:Dn,nb:hi,mb:fd,lb:hd,pb:pd,kb:md,jb:dc,ib:ip,Va:ko,Wa:fc,Ja:an,ea:lr,oa:Dr,Sa:Oo,na:cr,Db:Nc,xa:Qo,Eb:Ct,ya:Pt,F:gr,e:kc,r:_r,x:mr,D:Lc,Ib:ja,ba:Dt,B:zi,za:Be,$:ks,ha:$o,Fb:Os,Gb:Fi,Ba:Fc,Aa:Vn,Jb:Ld,wa:dp,aa:pt,d:Oc,A:Li,q:Oi,Cb:Dc,t:Od,y:jn,H:kd,E:Cs,K:Yn,S:$r,ja:zc,_:Wo,Kb:zd,Lb:Ho,P:yr,g:gd,a:nr,Ob:bn,Hb:yd,ia:vd,O:op,qa:lp,Mb:cp,Q:wd,zb:bd,Ab:hc,ua:na,fa:zo,R:Qn,Ea:bs,va:pc,Z:Lo,xb:Fo,Zb:mc,V:Rr,Bb:Md,ub:No,vb:up,wb:Rn,ga:_c,yb:Ra,Nb:xd}}}async function Me(){function y(x,k){var F=on=x.exports;x={};for(let[G,J]of Object.entries(F))typeof J=="function"?(F=tc(J),x[G]=F):x[G]=J;return on=x,on=(function(){var G=on,J=we=>$e=>we($e)>>>0,he=we=>()=>we()>>>0;return(G=Object.assign({},G)).$b=J(G.$b),G.Cc=he(G.Cc),G.Ec=J(G.Ec),G.rd=(we=>($e,ye)=>we($e,ye)>>>0)(G.rd),G.wd=J(G.wd),G.xd=he(G.xd),G.Bd=J(G.Bd),G})(),no.push(on.id),mi=(x=on).$b,ur=x.ac,t._OrtInit=x.bc,t._OrtGetLastError=x.cc,t._OrtCreateSessionOptions=x.dc,t._OrtAppendExecutionProvider=x.ec,t._OrtAddFreeDimensionOverride=x.fc,t._OrtAddSessionConfigEntry=x.gc,t._OrtReleaseSessionOptions=x.hc,t._OrtCreateSession=x.ic,t._OrtReleaseSession=x.jc,t._OrtGetInputOutputCount=x.kc,t._OrtGetInputOutputMetadata=x.lc,t._OrtFree=x.mc,t._OrtCreateTensor=x.nc,t._OrtGetTensorData=x.oc,t._OrtReleaseTensor=x.pc,t._OrtCreateRunOptions=x.qc,t._OrtAddRunConfigEntry=x.rc,t._OrtReleaseRunOptions=x.sc,t._OrtCreateBinding=x.tc,t._OrtBindInput=x.uc,t._OrtBindOutput=x.vc,t._OrtClearBoundOutputs=x.wc,t._OrtReleaseBinding=x.xc,t._OrtRunWithBinding=x.yc,t._OrtRun=x.zc,t._OrtEndProfiling=x.Ac,_i=t._OrtGetWebGpuDevice=x.Bc,gi=x.Cc,Bn=t._free=x.Dc,Br=t._malloc=x.Ec,Pn=t._wgpuBufferRelease=x.Fc,Pr=t._wgpuCreateInstance=x.Gc,Ir=x.Hc,yi=x.Ic,xs=x.Jc,In=x.Kc,Un=x.Lc,Ba=x.Pc,aa=x.Zc,ra=x._c,ba=x.$c,Do=x.bd,vi=x.cd,wi=x.dd,Ro=x.ed,Ft=x.fd,_t=x.gd,Qe=x.hd,Ma=x.kd,Gn=x.ld,Bo=x.md,Pa=x.nd,Po=x.od,gc=x.pd,Ur=x.qd,Ia=x.rd,Ge=x.sd,Ua=x.td,Io=x.ud,Ce=x.vd,Wn=x.wd,Se=x.xd,xa=x.yd,bi=x.zd,Uo=x.Ad,Gr=x.Bd,Mi=x.Cd,Ga=x.Dd,Yt=x.Ed,xi=x.Fd,yc=x.Gd,Td=x.Hd,Sd=x.Id,Ed=x.Jd,Nt=x.Kd,Go=x.Ld,Ts=x.Md,Ss=x.Nd,jo=x.Od,jr=x.Pd,Vr=x.Qd,Ad=x.Rd,vc=x.Td,Cd=x.Ud,wc=x.Vd,dr=x.Wd,Vo=x.Yd,Ti=x.Zd,bc=x._d,qr=x.$d,qo=x.ae,Si=x.be,Ei=x.pe,Mc=x.qe,xc=x.re,fr=x.se,hr=x.te,Tc=x.ue,Sc=x.ve,Hr=x.we,Es=x.xe,Ai=x.ye,As=x.ze,Ci=x.Xe,Ec=x.Ye,pr=x.Ze,Ac=x._e,w=k,on}var v,M=ge();return t.instantiateWasm?new Promise(x=>{t.instantiateWasm(M,(k,F)=>{x(y(k,F))})}):o?y(new WebAssembly.Instance(w,ge()),w):(Q??=t.locateFile?t.locateFile?t.locateFile("ort-wasm-simd-threaded.asyncify.wasm",_):_+"ort-wasm-simd-threaded.asyncify.wasm":new URL(""+new URL("ort-wasm-simd-threaded.asyncify-DFMnNRgU.wasm",import.meta.url).href,import.meta.url).href,v=await(async function(x){var k=Q;if(!g&&!Y(k))try{var F=fetch(k,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(F,x)}catch(G){R(`wasm streaming compile failed: ${G}`),R("falling back to ArrayBuffer instantiation")}return(async function(G,J){try{var he=await(async function(we){if(!g)try{var $e=await u(we);return new Uint8Array($e)}catch{}if(we==Q&&g)we=new Uint8Array(g);else{if(!d)throw"both async and sync fetching of the wasm failed";we=d(we)}return we})(G);return await WebAssembly.instantiate(he,J)}catch(we){R(`failed to asynchronously prepare wasm: ${we}`),re(we)}})(k,x)})(M),y(v.instance,v.module))}class Ee{name="ExitStatus";constructor(v){this.message=`Program terminated with exit(${v})`,this.status=v}}var ze=y=>{y.terminate(),y.onmessage=()=>{}},et=[],ke=0,Ue=null,Tt=y=>{Rt.length==0&&(Mn(),Iu(Rt[0]));var v=Rt.pop();if(!v)return 6;ls.push(v),La[y.Nc]=v,v.Nc=y.Nc;var M={Oc:"run",he:y.ge,Wc:y.Wc,Nc:y.Nc};return v.postMessage(M,y.Yc),0},He=0,Ye=(y,v,...M)=>{var x,k=16*M.length,F=Se(),G=Wn(k),J=G>>>3;for(x of M)typeof x=="bigint"?((O(),X)[J++>>>0]=1n,(O(),X)[J++>>>0]=x):((O(),X)[J++>>>0]=0n,(O(),V)[J++>>>0]=x);return y=Bo(y,0,k,G,v),Ce(F),y};function bn(y){if(o)return Ye(0,1,y);if(b=y,!(0{if(b=y,o)throw za(y),"unwind";bn(y)},Rt=[],ls=[],no=[],La={},ao=y=>{var v=y.Nc;delete La[v],Rt.push(y),ls.splice(ls.indexOf(y),1),y.Nc=0,Pa(v)};function Pu(){no.forEach(y=>y())}var Iu=y=>new Promise(v=>{y.onmessage=k=>{var F=k.data;if(k=F.Oc,F.Vc&&F.Vc!=gi()){var G=La[F.Vc];G?G.postMessage(F,F.Yc):R(`Internal error! Worker sent a message "${k}" to target pthread ${F.Vc}, but that thread no longer exists!`)}else k==="checkMailbox"?si():k==="spawnThread"?Tt(F):k==="cleanupThread"?sn(()=>{ao(La[F.ie])}):k==="loaded"?(y.loaded=!0,v(y)):F.target==="setimmediate"?y.postMessage(F):k==="uncaughtException"?y.onerror(F.error):k==="callHandler"?t[F.ce](...F.args):k&&R(`worker sent an unknown command ${k}`)},y.onerror=k=>{throw R(`worker sent an error! ${k.filename}:${k.lineno}: ${k.message}`),k};var M,x=[];for(M of[])t.propertyIsEnumerable(M)&&x.push(M);y.postMessage({Oc:"load",de:x,je:nr,ke:w})});function Mn(){var y=new Worker((()=>{let v=URL;return import.meta.url>"file:"&&import.meta.url<"file;"?new v("ort.webgpu.bundle.min.mjs",import.meta.url):new URL(import.meta.url)})(),{type:"module",workerData:"em-pthread",name:"em-pthread"});Rt.push(y)}var nr,Uu=(y,v)=>{He=0,y=Ga(y,v),0-9007199254740992>y||9007199254740992>>=0);return(O(),le)[v.Qc+12>>>0]==0&&(us(v,!0),kr--),xn(v,!1),ti.push(v),Gr(y)}var cs=0,Sh=()=>{Ge(0,0);var y=ti.pop();xa(y.Xc),cs=0};function us(y,v){v=v?1:0,(O(),le)[y.Qc+12>>>0]=v}function xn(y,v){v=v?1:0,(O(),le)[y.Qc+13>>>0]=v}class ma{constructor(v){this.Xc=v,this.Qc=v-24}}var hn=y=>{var v=cs;if(!v)return Ua(0),0;var M=new ma(v);(O(),q)[M.Qc+16>>>2>>>0]=v;var x=(O(),q)[M.Qc+4>>>2>>>0];if(!x)return Ua(0),v;for(var k of y){if(k===0||k===x)break;if(Uo(k,x,M.Qc+16))return Ua(k),v}return Ua(x),v};function Eh(){return hn([])}function Ah(y){return hn([y>>>0])}function Ch(y,v,M,x){return hn([y>>>0,v>>>0,M>>>0,x>>>0])}var ro=()=>{var y=ti.pop();y||re("no exception to throw");var v=y.Xc;throw(O(),le)[y.Qc+13>>>0]==0&&(ti.push(y),xn(y,!0),us(y,!1),kr++),bi(v),cs=v};function so(y,v,M){var x=new ma(y>>>=0);throw v>>>=0,M>>>=0,(O(),q)[x.Qc+16>>>2>>>0]=0,(O(),q)[x.Qc+4>>>2>>>0]=v,(O(),q)[x.Qc+8>>>2>>>0]=M,bi(y),kr++,cs=y}var io=()=>kr;function ar(y,v,M,x){return o?Ye(2,1,y,v,M,x):ni(y,v,M,x)}function ni(y,v,M,x){if(y>>>=0,v>>>=0,M>>>=0,x>>>=0,!globalThis.SharedArrayBuffer)return 6;var k=[];return o&&k.length===0?ar(y,v,M,x):(y={ge:M,Nc:y,Wc:x,Yc:k},o?(y.Oc="spawnThread",postMessage(y,k),0):Tt(y))}function ai(y){throw cs||=y>>>0,cs}var ju=globalThis.TextDecoder&&new TextDecoder,Hl=(y,v,M,x)=>{if(M=v+M,x)return M;for(;y[v]&&!(v>=M);)++v;return v},oo=(y,v=0,M,x)=>{if(16<(M=Hl(y,v>>>=0,M,x))-v&&y.buffer&&ju)return ju.decode(y.buffer instanceof ArrayBuffer?y.subarray(v,M):y.slice(v,M));for(x="";v(k=(240&k)==224?(15&k)<<12|F<<6|G:(7&k)<<18|F<<12|G<<6|63&y[v++])?x+=String.fromCharCode(k):(k-=65536,x+=String.fromCharCode(55296|k>>10,56320|1023&k))}}else x+=String.fromCharCode(k)}return x},_a=(y,v,M)=>(y>>>=0)?oo((O(),fe),y,v,M):"";function Vu(y,v,M){return o?Ye(3,1,y,v,M):0}function $l(y,v){if(o)return Ye(4,1,y,v)}function Ql(y,v){if(o)return Ye(5,1,y,v)}function Wl(y,v,M){if(o)return Ye(6,1,y,v,M)}function lo(y,v,M){return o?Ye(7,1,y,v,M):0}function co(y,v){if(o)return Ye(8,1,y,v)}function Yl(y,v,M){if(o)return Ye(9,1,y,v,M)}function Xl(y,v,M,x){if(o)return Ye(10,1,y,v,M,x)}function Fa(y,v,M,x){if(o)return Ye(11,1,y,v,M,x)}function $t(y,v,M,x){if(o)return Ye(12,1,y,v,M,x)}function pn(y){if(o)return Ye(13,1,y)}function Or(y,v){if(o)return Ye(14,1,y,v)}function uo(y,v,M){if(o)return Ye(15,1,y,v,M)}var kh=()=>re(""),ga=y=>{y>>>=0;for(var v="";;){var M=(O(),fe)[y++>>>0];if(!M)return v;v+=String.fromCharCode(M)}},fo={},zr={},rr=class extends Error{constructor(y){super(y),this.name="BindingError"}};function Tn(y,v,M={}){return(function(x,k,F={}){var G=k.name;if(!x)throw new rr(`type "${G}" must have a positive integer typeid pointer`);if(zr.hasOwnProperty(x)){if(F.ee)return;throw new rr(`Cannot register type '${G}' twice`)}zr[x]=k,fo.hasOwnProperty(x)&&(k=fo[x],delete fo[x],k.forEach(J=>J()))})(y,v,M)}var Lr=(y,v,M)=>{switch(v){case 1:return M?x=>(O(),le)[x>>>0]:x=>(O(),fe)[x>>>0];case 2:return M?x=>(O(),_e)[x>>>1>>>0]:x=>(O(),de)[x>>>1>>>0];case 4:return M?x=>(O(),W)[x>>>2>>>0]:x=>(O(),q)[x>>>2>>>0];case 8:return M?x=>(O(),X)[x>>>3>>>0]:x=>(O(),U)[x>>>3>>>0];default:throw new TypeError(`invalid integer width (${v}): ${y}`)}};function ri(y,v,M,x,k){y>>>=0,M>>>=0,v=ga(v>>>0);let F=G=>G;if(x=x===0n){let G=8*M;F=J=>BigInt.asUintN(G,J),k=F(k)}Tn(y,{name:v,Mc:F,Sc:(G,J)=>(typeof J=="number"&&(J=BigInt(J)),J),Rc:Lr(v,M,!x),Tc:null})}function ds(y,v,M,x){Tn(y>>>=0,{name:v=ga(v>>>0),Mc:function(k){return!!k},Sc:function(k,F){return F?M:x},Rc:function(k){return this.Mc((O(),fe)[k>>>0])},Tc:null})}var qt=[],sr=[0,1,,1,null,1,!0,1,!1,1];function ho(y){9<(y>>>=0)&&--sr[y+1]==0&&(sr[y]=void 0,qt.push(y))}var Qt=y=>{if(!y)throw new rr(`Cannot use deleted val. handle = ${y}`);return sr[y]},rn=y=>{switch(y){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:let v=qt.pop()||sr.length;return sr[v]=y,sr[v+1]=1,v}};function Zl(y){return this.Mc((O(),q)[y>>>2>>>0])}var qu={name:"emscripten::val",Mc:y=>{var v=Qt(y);return ho(y),v},Sc:(y,v)=>rn(v),Rc:Zl,Tc:null};function Hu(y){return Tn(y>>>0,qu)}var Oh=(y,v)=>{switch(v){case 4:return function(M){return this.Mc((O(),se)[M>>>2>>>0])};case 8:return function(M){return this.Mc((O(),V)[M>>>3>>>0])};default:throw new TypeError(`invalid float width (${v}): ${y}`)}};function po(y,v,M){M>>>=0,Tn(y>>>=0,{name:v=ga(v>>>0),Mc:x=>x,Sc:(x,k)=>k,Rc:Oh(v,M),Tc:null})}function mo(y,v,M,x,k){y>>>=0,M>>>=0,v=ga(v>>>0);let F=J=>J;if(x===0){var G=32-8*M;F=J=>J<>>G,k=F(k)}Tn(y,{name:v,Mc:F,Sc:(J,he)=>he,Rc:Lr(v,M,x!==0),Tc:null})}function Na(y,v,M){function x(F){var G=(O(),q)[F>>>2>>>0];return F=(O(),q)[F+4>>>2>>>0],new k((O(),le).buffer,F,G)}var k=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][v];Tn(y>>>=0,{name:M=ga(M>>>0),Mc:x,Rc:x},{ee:!0})}var Bt=(y,v,M)=>{var x=(O(),fe);if(v>>>=0,0=G){if(v>=M)break;x[v++>>>0]=G}else if(2047>=G){if(v+1>=M)break;x[v++>>>0]=192|G>>6,x[v++>>>0]=128|63&G}else if(65535>=G){if(v+2>=M)break;x[v++>>>0]=224|G>>12,x[v++>>>0]=128|G>>6&63,x[v++>>>0]=128|63&G}else{if(v+3>=M)break;x[v++>>>0]=240|G>>18,x[v++>>>0]=128|G>>12&63,x[v++>>>0]=128|G>>6&63,x[v++>>>0]=128|63&G,F++}}x[v>>>0]=0,y=v-k}else y=0;return y},ya=y=>{for(var v=0,M=0;M=x?v++:2047>=x?v+=2:55296<=x&&57343>=x?(v+=4,++M):v+=3}return v};function zh(y,v){Tn(y>>>=0,{name:v=ga(v>>>0),Mc(M){var x=(O(),q)[M>>>2>>>0];return x=_a(M+4,x,!0),Bn(M),x},Sc(M,x){x instanceof ArrayBuffer&&(x=new Uint8Array(x));var k=typeof x=="string";if(!(k||ArrayBuffer.isView(x)&&x.BYTES_PER_ELEMENT==1))throw new rr("Cannot pass non-string to std::string");var F=k?ya(x):x.length,G=Br(4+F+1),J=G+4;return(O(),q)[G>>>2>>>0]=F,k?Bt(x,J,F+1):(O(),fe).set(x,J>>>0),M!==null&&M.push(Bn,G),G},Rc:Zl,Tc(M){Bn(M)}})}var _o=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,$u=(y,v,M)=>{if(y>>>=1,16<(v=Hl((O(),de),y,v/2,M))-y&&_o)return _o.decode((O(),de).slice(y,v));for(M="";y>>0];M+=String.fromCharCode(x)}return M},go=(y,v,M)=>{if(M??=2147483647,2>M)return 0;var x=v;M=(M-=2)<2*y.length?M/2:y.length;for(var k=0;k>>1>>>0]=F,v+=2}return(O(),_e)[v>>>1>>>0]=0,v-x},Lh=y=>2*y.length,$n=(y,v,M)=>{var x="";y>>>=2;for(var k=0;!(k>=v/4);k++){var F=(O(),q)[y+k>>>0];if(!F&&!M)break;x+=String.fromCodePoint(F)}return x},Kl=(y,v,M)=>{if(v>>>=0,M??=2147483647,4>M)return 0;var x=v;M=x+M-4;for(var k=0;k>>2>>>0]=F,(v+=4)+4>M)break}return(O(),W)[v>>>2>>>0]=0,v-x},Qu=y=>{for(var v=0,M=0;M>>=0,v>>>=0,M=ga(M>>>=0),v===2)var x=$u,k=go,F=Lh;else x=$n,k=Kl,F=Qu;Tn(y,{name:M,Mc:G=>{var J=(O(),q)[G>>>2>>>0];return J=x(G+4,J*v,!0),Bn(G),J},Sc:(G,J)=>{if(typeof J!="string")throw new rr(`Cannot pass non-string to C++ string type ${M}`);var he=F(J),we=Br(4+he+v);return(O(),q)[we>>>2>>>0]=he/v,k(J,we+4,he+v),G!==null&&G.push(Bn,we),we},Rc:Zl,Tc(G){Bn(G)}})}function fs(y,v){Tn(y>>>=0,{fe:!0,name:v=ga(v>>>0),Mc:()=>{},Sc:()=>{}})}function Wu(y){Ma(y>>>0,!s,1,!r,131072,!1),Pu()}var sn=y=>{if(!P)try{if(y(),!(0Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function ec(y){y>>>=0,hs||(Atomics.waitAsync((O(),W),y>>>2,y).value.then(si),y+=128,Atomics.store((O(),W),y>>>2,1))}var si=()=>sn(()=>{var y=gi();y&&(ec(y),Ur())});function Yu(y,v){(y>>>=0)==v>>>0?setTimeout(si):o?postMessage({Vc:y,Oc:"checkMailbox"}):(y=La[y])&&y.postMessage({Oc:"checkMailbox"})}var ii=[];function Fh(y,v,M,x,k){for(v>>>=0,k>>>=0,ii.length=0,M=k>>>3,x=k+x>>>3;M>>0]?(O(),X)[M++>>>0]:(O(),V)[M++>>>0],ii.push(F)}return(v?ki[v]:Cc[y])(...ii)}var Nh=()=>{He=0};function yo(y){y>>>=0,o?postMessage({Oc:"cleanupThread",ie:y}):ao(La[y])}function Da(y){}var ps=y=>{try{y()}catch(v){re(v)}};function tc(y){var v=(...M)=>{ms.push(y);try{return y(...M)}finally{P||(ms.pop(),mn&&Fn===1&&ms.length===0&&(Fn=0,He+=1,ps(Ec),typeof Fibers<"u"&&Fibers.De()))}};return va.set(y,v),v}var Fn=0,mn=null,nc=0,ms=[],vo=new Map,_s=new Map,va=new Map,ac=0,Fr=null,ir=[],wo=y=>(function(v){if(!P){if(Fn===0){var M=!1,x=!1;v((k=0)=>{if(!P&&(nc=k,M=!0,x)){Fn=2,ps(()=>pr(mn)),typeof MainLoop<"u"&&MainLoop.Xd&&MainLoop.resume(),k=!1;try{var F=(function(){var he=(O(),W)[mn+8>>>2>>>0];return he=_s.get(he),he=va.get(he),--He,he()})()}catch(he){F=he,k=!0}var G=!1;if(!mn){var J=Fr;J&&(Fr=null,(k?J.reject:J.resolve)(F),G=!0)}if(k&&!G)throw F}}),x=!0,M||(Fn=1,mn=(function(){var k=Br(65548),F=k+12;if((O(),q)[k>>>2>>>0]=F,(O(),q)[k+4>>>2>>>0]=F+65536,F=ms[0],!vo.has(F)){var G=ac++;vo.set(F,G),_s.set(G,F)}return F=vo.get(F),(O(),W)[k+8>>>2>>>0]=F,k})(),typeof MainLoop<"u"&&MainLoop.Xd&&MainLoop.pause(),ps(()=>Ci(mn)))}else Fn===2?(Fn=0,ps(Ac),Bn(mn),mn=null,ir.forEach(sn)):re(`invalid state: ${Fn}`);return nc}})(v=>{y().then(v)});function bo(y){return y>>>=0,wo(async()=>{var v=await Qt(y);return rn(v)})}var Mo=[],xo=y=>{var v=Mo.length;return Mo.push(y),v},To=(y,v)=>{for(var M=Array(y),x=0;x>>2>>>0],G=zr[F];if(G===void 0)throw y=`parameter ${x}`,F=mi(F),v=ga(F),Bn(F),new rr(`${y} has unknown type ${v}`);M[k]=G}return M},Xu=(y,v,M)=>{var x=[];return y=y(x,M),x.length&&((O(),q)[v>>>2>>>0]=rn(x)),y},Sn={},wa=y=>{var v=Sn[y];return v===void 0?ga(y):v};function So(y,v,M){var[x,...k]=To(y,v>>>0);v=x.Sc.bind(x);var F=k.map(he=>he.Rc.bind(he));y--;var G={toValue:Qt};switch(y=F.map((he,we)=>{var $e=`argFromPtr${we}`;return G[$e]=he,`${$e}(args${we?"+"+8*we:""})`}),M){case 0:var J="toValue(handle)";break;case 2:J="new (toValue(handle))";break;case 3:J="";break;case 1:G.getStringOrSymbol=wa,J="toValue(handle)[getStringOrSymbol(methodName)]"}return J+=`(${y})`,x.fe||(G.toReturnWire=v,G.emval_returnValue=Xu,J=`return emval_returnValue(toReturnWire, destructorsRef, ${J})`),J=`return function (handle, methodName, destructorsRef, args) { + ${J} + }`,M=new Function(Object.keys(G),J)(...Object.values(G)),J=`methodCaller<(${k.map(he=>he.name)}) => ${x.name}>`,xo(Object.defineProperty(M,"name",{value:J}))}function oi(y,v){return v>>>=0,(y=Qt(y>>>0))==Qt(v)}function Dh(y){return(y>>>=0)?(y=wa(y),rn(globalThis[y])):rn(globalThis)}function rc(y){return y=wa(y>>>0),rn(t[y])}function sc(y,v){return v>>>=0,y=Qt(y>>>0),v=Qt(v),rn(y[v])}function li(y){9<(y>>>=0)&&(sr[y+1]+=1)}function ci(y,v,M,x,k){return Mo[y>>>0](v>>>0,M>>>0,x>>>0,k>>>0)}function Zu(y,v,M,x,k){return ci(y>>>0,v>>>0,M>>>0,x>>>0,k>>>0)}function Rh(){return rn([])}function Bh(y){y=Qt(y>>>0);for(var v=Array(y.length),M=0;M>>0))}function ic(){return rn({})}function Ih(y){for(var v=Qt(y>>>=0);v.length;){var M=v.pop();v.pop()(M)}ho(y)}function Uh(y,v,M){v>>>=0,M>>>=0,y=Qt(y>>>0),v=Qt(v),M=Qt(M),y[v]=M}function Gh(y,v){y=fn(y),v>>>=0,y=new Date(1e3*y),(O(),W)[v>>>2>>>0]=y.getUTCSeconds(),(O(),W)[v+4>>>2>>>0]=y.getUTCMinutes(),(O(),W)[v+8>>>2>>>0]=y.getUTCHours(),(O(),W)[v+12>>>2>>>0]=y.getUTCDate(),(O(),W)[v+16>>>2>>>0]=y.getUTCMonth(),(O(),W)[v+20>>>2>>>0]=y.getUTCFullYear()-1900,(O(),W)[v+24>>>2>>>0]=y.getUTCDay(),y=(y.getTime()-Date.UTC(y.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,(O(),W)[v+28>>>2>>>0]=y}var Ku=y=>y%4==0&&(y%100!=0||y%400==0),Ju=[0,31,60,91,121,152,182,213,244,274,305,335],oc=[0,31,59,90,120,151,181,212,243,273,304,334];function jh(y,v){y=fn(y),v>>>=0,y=new Date(1e3*y),(O(),W)[v>>>2>>>0]=y.getSeconds(),(O(),W)[v+4>>>2>>>0]=y.getMinutes(),(O(),W)[v+8>>>2>>>0]=y.getHours(),(O(),W)[v+12>>>2>>>0]=y.getDate(),(O(),W)[v+16>>>2>>>0]=y.getMonth(),(O(),W)[v+20>>>2>>>0]=y.getFullYear()-1900,(O(),W)[v+24>>>2>>>0]=y.getDay();var M=(Ku(y.getFullYear())?Ju:oc)[y.getMonth()]+y.getDate()-1|0;(O(),W)[v+28>>>2>>>0]=M,(O(),W)[v+36>>>2>>>0]=-60*y.getTimezoneOffset(),M=new Date(y.getFullYear(),6,1).getTimezoneOffset();var x=new Date(y.getFullYear(),0,1).getTimezoneOffset();y=0|(M!=x&&y.getTimezoneOffset()==Math.min(x,M)),(O(),W)[v+32>>>2>>>0]=y}function Vh(y){y>>>=0;var v=new Date((O(),W)[y+20>>>2>>>0]+1900,(O(),W)[y+16>>>2>>>0],(O(),W)[y+12>>>2>>>0],(O(),W)[y+8>>>2>>>0],(O(),W)[y+4>>>2>>>0],(O(),W)[y>>>2>>>0],0),M=(O(),W)[y+32>>>2>>>0],x=v.getTimezoneOffset(),k=new Date(v.getFullYear(),6,1).getTimezoneOffset(),F=new Date(v.getFullYear(),0,1).getTimezoneOffset(),G=Math.min(F,k);return 0>M?(O(),W)[y+32>>>2>>>0]=+(k!=F&&G==x):0>>2>>>0]=v.getDay(),M=(Ku(v.getFullYear())?Ju:oc)[v.getMonth()]+v.getDate()-1|0,(O(),W)[y+28>>>2>>>0]=M,(O(),W)[y>>>2>>>0]=v.getSeconds(),(O(),W)[y+4>>>2>>>0]=v.getMinutes(),(O(),W)[y+8>>>2>>>0]=v.getHours(),(O(),W)[y+12>>>2>>>0]=v.getDate(),(O(),W)[y+16>>>2>>>0]=v.getMonth(),(O(),W)[y+20>>>2>>>0]=v.getYear(),y=v.getTime(),BigInt(isNaN(y)?-1:y/1e3)}function ed(y,v,M,x,k,F,G){return o?Ye(16,1,y,v,M,x,k,F,G):-52}function td(y,v,M,x,k,F){if(o)return Ye(17,1,y,v,M,x,k,F)}var Nr={},qh=()=>performance.timeOrigin+performance.now();function nd(y,v){if(o)return Ye(18,1,y,v);if(Nr[y]&&(clearTimeout(Nr[y].id),delete Nr[y]),!v)return 0;var M=setTimeout(()=>{delete Nr[y],sn(()=>gc(y,performance.timeOrigin+performance.now()))},v);return Nr[y]={id:M,Ce:v},0}function Hh(y,v,M,x){y>>>=0,v>>>=0,M>>>=0,x>>>=0;var k=new Date().getFullYear(),F=new Date(k,0,1).getTimezoneOffset();k=new Date(k,6,1).getTimezoneOffset();var G=Math.max(F,k);(O(),q)[y>>>2>>>0]=60*G,(O(),W)[v>>>2>>>0]=+(F!=k),y=(v=J=>{var he=Math.abs(J);return`UTC${0<=J?"-":"+"}${String(Math.floor(he/60)).padStart(2,"0")}${String(he%60).padStart(2,"0")}`})(F),v=v(k),kDate.now();function $h(y,v,M){return M>>>=0,0<=y&&3>=y?(y===0?y=Date.now():y=performance.timeOrigin+performance.now(),y=Math.round(1e6*y),(O(),X)[M>>>3>>>0]=BigInt(y),0):28}var lc=[],rd=(y,v)=>{lc.length=0;for(var M;M=(O(),fe)[y++>>>0];){var x=M!=105;v+=(x&=M!=112)&&v%8?4:0,lc.push(M==112?(O(),q)[v>>>2>>>0]:M==106?(O(),X)[v>>>3>>>0]:M==105?(O(),W)[v>>>2>>>0]:(O(),V)[v>>>3>>>0]),v+=x?8:4}return lc};function Qh(y,v,M){return y>>>=0,v=rd(v>>>0,M>>>0),ki[y](...v)}function Wh(y,v,M){return y>>>=0,v=rd(v>>>0,M>>>0),ki[y](...v)}var Yh=()=>{};function Xh(y,v){return R(_a(y>>>0,v>>>0))}var Zh=()=>{throw He+=1,"unwind"};function Kh(){return 4294901760}var cc=()=>1,ui=()=>navigator.hardwareConcurrency;function Jh(y){y>>>=0;var v=(O(),fe).length;if(y<=v||4294901760=M;M*=2){var x=v*(1+.2/M);x=Math.min(x,y+100663296);e:{x=(Math.min(4294901760,65536*Math.ceil(Math.max(y,x)/65536))-nr.buffer.byteLength+65535)/65536|0;try{nr.grow(x),N();var k=1;break e}catch{}k=void 0}if(k)return!0}return!1}var ta=y=>{var v=ya(y)+1,M=Wn(v);return Bt(y,M,v),M},Eo=(y,v)=>{(O(),q)[y>>>2>>>0]=v;var M=(O(),q)[y>>>2>>>0];(O(),q)[y+4>>>2>>>0]=(v-M)/4294967296},gs=y=>(O(),q)[y>>>2>>>0]+4294967296*(O(),W)[y+4>>>2>>>0],Wt=[],sd=(y,v)=>{Wt[y>>>0]=v},En=[],Ao=[],ys=(y,v)=>{Ao[y]=new Promise(M=>v.finally(()=>M(y)))},Ae=y=>{if(y)return Wt[y>>>0]},id=(y,v)=>{for(y=(O(),q)[y>>>2>>>0];y;y=(O(),q)[y>>>2>>>0])v[(O(),W)[y+4>>>2>>>0]](y)},di=(y,v,M)=>{(O(),q)[y>>>2>>>0]=v,(O(),q)[y+4>>>2>>>0]=M},vs=y=>{var v=(O(),q)[y>>>2>>>0];return y=(O(),q)[y+4>>>2>>>0],_a(v,y)},Nn=y=>{var v=(O(),q)[y>>>2>>>0];return y=(O(),q)[y+4>>>2>>>0],v?_a(v,y):y===0?"":void 0},ep=y=>{var v=Nn(y+4),M=(M=(O(),q)[y+12>>>2>>>0])?Ae(M):"auto";if(y+=16){var x=Ae((O(),q)[y+4>>>2>>>0]),k=(O(),q)[y+16>>>2>>>0],F=(O(),q)[y+20>>>2>>>0];if(k){for(var G={},J=0;J>>3>>>0]}k=G}else k=void 0;y={module:x,constants:k,entryPoint:Nn(y+8)}}else y=void 0;return{label:v,layout:M,compute:y}},fi=(y,v)=>{function M(x,k){x=y[x],(O(),q)[v+k>>>2>>>0]=x}M("maxTextureDimension1D",4),M("maxTextureDimension2D",8),M("maxTextureDimension3D",12),M("maxTextureArrayLayers",16),M("maxBindGroups",20),M("maxBindGroupsPlusVertexBuffers",24),M("maxBindingsPerBindGroup",28),M("maxDynamicUniformBuffersPerPipelineLayout",32),M("maxDynamicStorageBuffersPerPipelineLayout",36),M("maxSampledTexturesPerShaderStage",40),M("maxSamplersPerShaderStage",44),M("maxStorageBuffersPerShaderStage",48),M("maxStorageTexturesPerShaderStage",52),M("maxUniformBuffersPerShaderStage",56),M("minUniformBufferOffsetAlignment",80),M("minStorageBufferOffsetAlignment",84),Eo(v+64,y.maxUniformBufferBindingSize),Eo(v+72,y.maxStorageBufferBindingSize),M("maxVertexBuffers",88),Eo(v+96,y.maxBufferSize),M("maxVertexAttributes",104),M("maxVertexBufferArrayStride",108),M("maxInterStageShaderVariables",112),M("maxColorAttachments",116),M("maxColorAttachmentBytesPerSample",120),M("maxComputeWorkgroupStorageSize",124),M("maxComputeInvocationsPerWorkgroup",128),M("maxComputeWorkgroupSizeX",132),M("maxComputeWorkgroupSizeY",136),M("maxComputeWorkgroupSizeZ",140),M("maxComputeWorkgroupsPerDimension",144),y.Ae!==void 0&&M("maxImmediateSize",148)},od=[,"validation","out-of-memory","internal"],ld=[,"compatibility","core"],Co={1:"core-features-and-limits",2:"depth-clip-control",3:"depth32float-stencil8",4:"texture-compression-bc",5:"texture-compression-bc-sliced-3d",6:"texture-compression-etc2",7:"texture-compression-astc",8:"texture-compression-astc-sliced-3d",9:"timestamp-query",10:"indirect-first-instance",11:"shader-f16",12:"rg11b10ufloat-renderable",13:"bgra8unorm-storage",14:"float32-filterable",15:"float32-blendable",16:"clip-distances",17:"dual-source-blending",18:"subgroups",19:"texture-formats-tier1",20:"texture-formats-tier2",21:"primitive-index",22:"texture-component-swizzle",327692:"chromium-experimental-unorm16-texture-formats",327729:"chromium-experimental-multi-draw-indirect"},uc=[,"low-power","high-performance"],cd=[,"occlusion","timestamp"],ud={undefined:1,unknown:1,destroyed:2};function dd(y,v,M,x,k,F){v=fn(v),M=fn(M),x>>>=0,k>>>=0,F>>>=0;var G=Ae(y>>>0);if(y={},F){var J=(O(),q)[F+12>>>2>>>0];if(J){var he=(O(),q)[F+16>>>2>>>0];y.requiredFeatures=Array.from((O(),q).subarray(he>>>2>>>0,he+4*J>>>2>>>0),ye=>Co[ye])}var we=(O(),q)[F+20>>>2>>>0];if(we){let ye=function(it,It,zs=!1){It=we+It,(It=(O(),q)[It>>>2>>>0])==4294967295||zs&&It==0||($e[it]=It)},Pe=function(it,It){It=we+It;var zs=(O(),q)[It>>>2>>>0],Yo=(O(),q)[It+4>>>2>>>0];zs==4294967295&&Yo==4294967295||($e[it]=gs(It))};var $e={};ye("maxTextureDimension1D",4),ye("maxTextureDimension2D",8),ye("maxTextureDimension3D",12),ye("maxTextureArrayLayers",16),ye("maxBindGroups",20),ye("maxBindGroupsPlusVertexBuffers",24),ye("maxDynamicUniformBuffersPerPipelineLayout",32),ye("maxDynamicStorageBuffersPerPipelineLayout",36),ye("maxSampledTexturesPerShaderStage",40),ye("maxSamplersPerShaderStage",44),ye("maxStorageBuffersPerShaderStage",48),ye("maxStorageTexturesPerShaderStage",52),ye("maxUniformBuffersPerShaderStage",56),ye("minUniformBufferOffsetAlignment",80),ye("minStorageBufferOffsetAlignment",84),Pe("maxUniformBufferBindingSize",64),Pe("maxStorageBufferBindingSize",72),ye("maxVertexBuffers",88),Pe("maxBufferSize",96),ye("maxVertexAttributes",104),ye("maxVertexBufferArrayStride",108),ye("maxInterStageShaderVariables",112),ye("maxColorAttachments",116),ye("maxColorAttachmentBytesPerSample",120),ye("maxComputeWorkgroupStorageSize",124),ye("maxComputeInvocationsPerWorkgroup",128),ye("maxComputeWorkgroupSizeX",132),ye("maxComputeWorkgroupSizeY",136),ye("maxComputeWorkgroupSizeZ",140),ye("maxComputeWorkgroupsPerDimension",144),ye("maxImmediateSize",148,!0),y.requiredLimits=$e}(J=(O(),q)[F+24>>>2>>>0])&&(J={label:Nn(J+4)},y.defaultQueue=J),y.label=Nn(F+4)}He+=1,ys(v,G.requestDevice(y).then(ye=>{--He,sn(()=>{Wt[k>>>0]=ye.queue,Wt[x>>>0]=ye,ys(M,ye.lost.then(Pe=>{sn(()=>{ye.onuncapturederror=()=>{};var it=Se(),It=ta(Pe.message);vi(M,ud[Pe.reason],It),Ce(it)})})),ye.onuncapturederror=Pe=>{var it=5;Pe.error instanceof GPUValidationError?it=2:Pe.error instanceof GPUOutOfMemoryError?it=3:Pe.error instanceof GPUInternalError&&(it=4);var It=Se();Pe=ta(Pe.error.message),Qe(x,it,Pe),Ce(It)},"adapterInfo"in ye||(ye.adapterInfo=G.info),_t(v,1,x,0)})},ye=>{--He,sn(()=>{var Pe=Se(),it=ta(ye.message);_t(v,3,x,it),M&&vi(M,4,it),Ce(Pe)})}))}function tp(y){var v=Ae(y>>>=0),M=En[y];if(M){for(var x=0;x>>=0;var x=Ae(y>>>=0);M==4294967295&&(M=void 0);try{var k=x.getMappedRange(v>>>0,M)}catch{return 0}var F=Ia(16,k.byteLength);return(O(),fe).set(new Uint8Array(k),F>>>0),En[y].push(()=>Bn(F)),F}function ap(y,v,M){M>>>=0;var x=Ae(y>>>=0);M==4294967295&&(M=void 0);try{var k=x.getMappedRange(v>>>0,M)}catch{return 0}var F=Ia(16,k.byteLength);return(O(),fe).fill(0,F,k.byteLength),En[y].push(()=>{new Uint8Array(k).set((O(),fe).subarray(F>>>0,F+k.byteLength>>>0)),Bn(F)}),F}function rp(y,v,M,x,k){y>>>=0,v=fn(v),M=fn(M),k>>>=0;var F=Ae(y);En[y]=[],k==4294967295&&(k=void 0),He+=1,ys(v,F.mapAsync(M,x>>>0,k).then(()=>{--He,sn(()=>{wi(v,1,0)})},G=>{--He,sn(()=>{Se();var J=ta(G.message);wi(v,G.name==="AbortError"?4:G.name==="OperationError"?3:0,J),delete En[y]})}))}function sp(y){var v=Ae(y>>>=0),M=En[y];if(M){for(var x=0;x>>0]}function hi(y,v,M){y>>>=0,v>>>=0,M>>>=0;var x=!!(O(),q)[v+32>>>2>>>0];v={label:Nn(v+4),usage:(O(),q)[v+16>>>2>>>0],size:gs(v+24),mappedAtCreation:x},y=Ae(y);try{var k=y.createBuffer(v)}catch{return!1}return Wt[M>>>0]=k,x&&(En[M]=[]),!0}function fd(y,v,M,x){y>>>=0,v=fn(v),x>>>=0,M=ep(M>>>0),y=Ae(y),He+=1,ys(v,y.createComputePipelineAsync(M).then(k=>{--He,sn(()=>{Wt[x>>>0]=k,Do(v,1,x,0)})},k=>{--He,sn(()=>{var F=Se(),G=ta(k.message);Do(v,k.reason==="validation"?3:k.reason==="internal"?4:0,x,G),Ce(F)})}))}function hd(y,v,M){y>>>=0,v>>>=0,M>>>=0;var x=(O(),q)[v>>>2>>>0],k=(O(),W)[x+4>>>2>>>0];v={label:Nn(v+4),code:""},k===2&&(v.code=vs(x+8)),y=Ae(y).createShaderModule(v),Wt[M>>>0]=y}var pd=y=>{(y=Ae(y)).onuncapturederror=null,y.destroy()};function md(y,v){v=fn(v),y=Ae(y>>>0),He+=1,ys(v,y.popErrorScope().then(M=>{--He,sn(()=>{var x=5;M?M instanceof GPUValidationError?x=2:M instanceof GPUOutOfMemoryError?x=3:M instanceof GPUInternalError&&(x=4):x=1;var k=Se(),F=M?ta(M.message):0;Ro(v,1,x,F),Ce(k)})},M=>{--He,sn(()=>{var x=Se(),k=ta(M.message);Ro(v,1,5,k),Ce(x)})}))}function dc(y,v,M,x){if(v=fn(v),x>>>=0,M>>>=0){var k={featureLevel:ld[(O(),W)[M+4>>>2>>>0]],powerPreference:uc[(O(),W)[M+8>>>2>>>0]],forceFallbackAdapter:!!(O(),q)[M+12>>>2>>>0]};(y=(O(),q)[M>>>2>>>0])!==0&&(O(),k.Fe=!!(O(),q)[y+8>>>2>>>0])}"gpu"in navigator?(He+=1,ys(v,navigator.gpu.requestAdapter(k).then(F=>{--He,sn(()=>{if(F)Wt[x>>>0]=F,Ft(v,1,x,0);else{var G=Se(),J=ta("WebGPU not available on this browser (requestAdapter returned null)");Ft(v,3,x,J),Ce(G)}})},F=>{--He,sn(()=>{var G=Se(),J=ta(F.message);Ft(v,4,x,J),Ce(G)})}))):(k=Se(),y=ta("WebGPU not available on this browser (navigator.gpu is not available)"),Ft(v,3,x,y),Ce(k))}function ip(y,v,M){return y>>>=0,v>>>=0,M>>>=0,wo(async()=>{var x=[];if(M){var k=(O(),W)[M>>>2>>>0];x.length=v+1,x[v]=new Promise(J=>setTimeout(J,k,0))}else x.length=v;for(var F=0;F{if(!or){var y,v={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:"./this.program"};for(y in pi)pi[y]===void 0?delete v[y]:v[y]=pi[y];var M=[];for(y in v)M.push(`${y}=${v[y]}`);or=M}return or};function ko(y,v){if(o)return Ye(19,1,y,v);y>>>=0,v>>>=0;var M,x=0,k=0;for(M of ws()){var F=v+x;(O(),q)[y+k>>>2>>>0]=F,x+=Bt(M,F,1/0)+1,k+=4}return 0}function fc(y,v){if(o)return Ye(20,1,y,v);y>>>=0,v>>>=0;var M=ws();for(var x of((O(),q)[y>>>2>>>0]=M.length,y=0,M))y+=ya(x)+1;return(O(),q)[v>>>2>>>0]=y,0}function lr(y){return o?Ye(21,1,y):52}function Dr(y,v,M,x){return o?Ye(22,1,y,v,M,x):52}function Oo(y,v,M,x){return o?Ye(23,1,y,v,M,x):70}var _d=[null,[],[]];function cr(y,v,M,x){if(o)return Ye(24,1,y,v,M,x);v>>>=0,M>>>=0,x>>>=0;for(var k=0,F=0;F>>2>>>0],J=(O(),q)[v+4>>>2>>>0];v+=8;for(var he=0;he>>0],ye=_d[we];$e===0||$e===10?((we===1?D:R)(oo(ye)),ye.length=0):ye.push($e)}k+=J}return(O(),q)[x>>>2>>>0]=k,0}function gd(y){return y>>>0}function yd(y,v){return fi(Ae(y>>>0).limits,v>>>0),1}function vd(y,v){return Ae(y>>>0).features.has(Co[v])}function op(y){return BigInt(Ae(y>>>0).size)}function lp(y){return BigInt(Ae(y>>>0).usage)}function cp(y,v){if(y>>>=0,v>>>=0){var M=Nn(v+4);M={label:M,timestampWrites:v=(v=(O(),q)[v+12>>>2>>>0])!==0?{querySet:Ae((O(),q)[v+4>>>2>>>0]),beginningOfPassWriteIndex:(O(),q)[v+8>>>2>>>0],endOfPassWriteIndex:(O(),q)[v+12>>>2>>>0]}:void 0}}return v=Ae(y),y=Un(0),M=v.beginComputePass(M),Wt[y>>>0]=M,y}function wd(y,v,M,x,k,F){M=fn(M),k=fn(k),F=fn(F),Ae(y>>>0).copyBufferToBuffer(Ae(v>>>0),M,Ae(x>>>0),k,F)}function bd(y){var v=Ae(y>>>0);return y=xs(0),v=v.finish(),Wt[y>>>0]=v,y}function hc(y,v,M,x,k,F){F=fn(F),Ae(y>>>0).resolveQuerySet(Ae(v>>>0),M,x,Ae(k>>>0),F)}function na(y,v,M,x){Ae(y>>>0).dispatchWorkgroups(v,M,x)}function zo(y,v,M){M=fn(M),Ae(y>>>0).dispatchWorkgroupsIndirect(Ae(v>>>0),M)}function Qn(y){Ae(y>>>0).end()}function bs(y,v,M,x,k){x>>>=0,k>>>=0,y=Ae(y>>>0),M=Ae(M>>>0),x==0?y.setBindGroup(v,M):y.setBindGroup(v,M,(O(),q),k>>>2,x)}function pc(y,v){Ae(y>>>0).setPipeline(Ae(v>>>0))}function Lo(y,v,M){Ae(y>>>0).Ee(Ae(v>>>0),M)}function Fo(y,v){var M=Ae(y>>>0);return y=yi(0),v=M.getBindGroupLayout(v),Wt[y>>>0]=v,y}function mc(y,v){function M(k){var F=(O(),q)[k+8>>>2>>>0],G=(O(),q)[k+32>>>2>>>0],J=(O(),q)[k+36>>>2>>>0],he=0;return id(k,{327681:we=>{he=(O(),q)[we+8>>>2>>>0]}}),F?((G=gs(k+24))==-1&&(G=void 0),F={buffer:Ae(F),offset:gs(k+16),size:G}):F=Ae(G||J||he),{binding:(O(),q)[k+4>>>2>>>0],resource:F}}y>>>=0,v={label:Nn(4+(v>>>=0)),layout:Ae((O(),q)[v+12>>>2>>>0]),entries:(function(k,F){for(var G=[],J=0;J>>2>>>0],(O(),q)[v+20>>>2>>>0])},y=Ae(y);var x=Ir(0);return sd(x,y.createBindGroup(v)),x}function Rr(y,v){var M;return y>>>=0,(v>>>=0)&&(M={label:Nn(v+4)}),v=Ae(y),y=In(0),M=v.createCommandEncoder(M),Wt[y>>>0]=M,y}function Md(y,v){y>>>=0,v>>>=0,v={type:cd[(O(),W)[v+12>>>2>>>0]],count:(O(),q)[v+16>>>2>>>0]};var M=Ae(y);return y=Ba(0),v=M.createQuerySet(v),Wt[y>>>0]=v,y}function No(y,v){y=Ae(y>>>0).adapterInfo,v>>>=0,(O(),q)[v+52>>>2>>>0]=y.subgroupMinSize,(O(),q)[v+56>>>2>>>0]=y.subgroupMaxSize;var M=y.vendor+y.architecture+y.device+y.description,x=ya(M)+1,k=Br(x);return k&&Bt(M,k,x),M=k,x=ya(y.vendor),di(v+4,M,x),M+=x,x=ya(y.architecture),di(v+12,M,x),M+=x,x=ya(y.device),di(v+20,M,x),di(v+28,M+x,ya(y.description)),(O(),W)[v+36>>>2>>>0]=2,y=y.isFallbackAdapter?3:4,(O(),W)[v+40>>>2>>>0]=y,(O(),q)[v+44>>>2>>>0]=0,(O(),q)[v+48>>>2>>>0]=0,1}var Ms={"core-features-and-limits":1,"depth-clip-control":2,"depth32float-stencil8":3,"texture-compression-bc":4,"texture-compression-bc-sliced-3d":5,"texture-compression-etc2":6,"texture-compression-astc":7,"texture-compression-astc-sliced-3d":8,"timestamp-query":9,"indirect-first-instance":10,"shader-f16":11,"rg11b10ufloat-renderable":12,"bgra8unorm-storage":13,"float32-filterable":14,"float32-blendable":15,"clip-distances":16,"dual-source-blending":17,subgroups:18,"texture-formats-tier1":19,"texture-formats-tier2":20,"primitive-index":21,"texture-component-swizzle":22,"chromium-experimental-unorm16-texture-formats":327692,"chromium-experimental-multi-draw-indirect":327729};function up(y,v){v>>>=0;var M=Ae(y>>>0);y=Br(4*M.features.size);var x=0,k=0;for(let F of M.features)0<=(M=Ms[F])&&((O(),W)[y+x>>>2>>>0]=M,x+=4,k++);(O(),q)[v+4>>>2>>>0]=y,(O(),q)[v>>>2>>>0]=k}function Rn(y,v){return fi(Ae(y>>>0).limits,v>>>0),1}function _c(y,v){Ae(y>>>0).pushErrorScope(od[v])}function Ra(y,v,M){v>>>=0,M>>>=0,y=Ae(y>>>0),v=Array.from((O(),W).subarray(M>>>2>>>0,M+4*v>>>2>>>0),x=>Ae(x)),y.submit(v)}function xd(y,v,M,x,k){M=fn(M),x>>>=0,k>>>=0,y=Ae(y>>>0),v=Ae(v>>>0),x=(O(),fe).subarray(x>>>0,x+k>>>0),y.writeBuffer(v,M,x,0,k)}o||(function(){for(var y=t.numThreads-1;y--;)Mn();et.push(async()=>{var v=(async function(){if(!o)return Promise.all(Rt.map(Iu))})();ke++,await v,--ke==0&&Ue&&(v=Ue,Ue=null,v())})})(),o||(nr=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0}),N()),t.wasmBinary&&(g=t.wasmBinary),t.stackSave=()=>Se(),t.stackRestore=y=>Ce(y),t.stackAlloc=y=>Wn(y),t.setValue=function(y,v,M="i8"){switch(M.endsWith("*")&&(M="*"),M){case"i1":case"i8":(O(),le)[y>>>0]=v;break;case"i16":(O(),_e)[y>>>1>>>0]=v;break;case"i32":(O(),W)[y>>>2>>>0]=v;break;case"i64":(O(),X)[y>>>3>>>0]=BigInt(v);break;case"float":(O(),se)[y>>>2>>>0]=v;break;case"double":(O(),V)[y>>>3>>>0]=v;break;case"*":(O(),q)[y>>>2>>>0]=v;break;default:re(`invalid type for setValue: ${M}`)}},t.getValue=function(y,v="i8"){switch(v.endsWith("*")&&(v="*"),v){case"i1":case"i8":return(O(),le)[y>>>0];case"i16":return(O(),_e)[y>>>1>>>0];case"i32":return(O(),W)[y>>>2>>>0];case"i64":return(O(),X)[y>>>3>>>0];case"float":return(O(),se)[y>>>2>>>0];case"double":return(O(),V)[y>>>3>>>0];case"*":return(O(),q)[y>>>2>>>0];default:re(`invalid type for getValue: ${v}`)}},t.UTF8ToString=_a,t.stringToUTF8=Bt,t.lengthBytesUTF8=ya;var mi,ur,_i,gi,Bn,Br,Pn,Pr,Ir,yi,xs,In,Un,Ba,aa,ra,ba,Do,vi,wi,Ro,Ft,_t,Qe,Ma,Gn,Bo,Pa,Po,gc,Ur,Ia,Ge,Ua,Io,Ce,Wn,Se,xa,bi,Uo,Gr,Mi,Ga,Yt,xi,yc,Td,Sd,Ed,Nt,Go,Ts,Ss,jo,jr,Vr,Ad,vc,Cd,wc,dr,Vo,Ti,bc,qr,qo,Si,Ei,Mc,xc,fr,hr,Tc,Sc,Hr,Es,Ai,As,Ci,Ec,pr,Ac,on,Cc=[bn,za,ar,Vu,$l,Ql,Wl,lo,co,Yl,Xl,Fa,$t,pn,Or,uo,ed,td,nd,ko,fc,lr,Dr,Oo,cr],ki={925676:(y,v,M,x,k)=>{if(t===void 0||!t.Uc)return 1;if((y=_a(Number(y>>>0))).startsWith("./")&&(y=y.substring(2)),!(y=t.Uc.get(y)))return 2;if(v=Number(v>>>0),M=Number(M>>>0),x=Number(x>>>0),v+M>y.byteLength)return 3;try{let F=y.subarray(v,v+M);switch(k){case 0:(O(),fe).set(F,x>>>0);break;case 1:t.ad?t.ad(x,F):t.oe(x,F);break;default:return 4}return 0}catch{return 4}},926500:(y,v,M)=>{t.Sd(y,(O(),fe).subarray(v>>>0,v+M>>>0))},926564:()=>t.me(),926606:y=>{t.jd(y)},926643:()=>typeof wasmOffsetConverter<"u"};function mr(y,v,M,x){var k=Se();try{return Go(y,v,M,x)}catch(F){if(Ce(k),F!==F+0)throw F;Ge(1,0)}}function _r(y,v,M){var x=Se();try{return Sd(y,v,M)}catch(k){if(Ce(x),k!==k+0)throw k;Ge(1,0)}}function Oi(y,v,M){var x=Se();try{Mi(y,v,M)}catch(k){if(Ce(x),k!==k+0)throw k;Ge(1,0)}}function kc(y,v){var M=Se();try{return Ga(y,v)}catch(x){if(Ce(M),x!==x+0)throw x;Ge(1,0)}}function Oc(y){var v=Se();try{Yt(y)}catch(M){if(Ce(v),M!==M+0)throw M;Ge(1,0)}}function zi(y,v,M,x,k,F,G){var J=Se();try{return Td(y,v,M,x,k,F,G)}catch(he){if(Ce(J),he!==he+0)throw he;Ge(1,0)}}function Li(y,v){var M=Se();try{Ts(y,v)}catch(x){if(Ce(M),x!==x+0)throw x;Ge(1,0)}}function kd(y,v,M,x,k,F){var G=Se();try{xi(y,v,M,x,k,F)}catch(J){if(Ce(G),J!==J+0)throw J;Ge(1,0)}}function Od(y,v,M,x){var k=Se();try{Nt(y,v,M,x)}catch(F){if(Ce(k),F!==F+0)throw F;Ge(1,0)}}function Cs(y,v,M,x,k,F,G){var J=Se();try{jo(y,v,M,x,k,F,G)}catch(he){if(Ce(J),he!==he+0)throw he;Ge(1,0)}}function Ho(y,v,M,x,k,F,G){var J=Se();try{jr(y,v,M,x,k,F,G)}catch(he){if(Ce(J),he!==he+0)throw he;Ge(1,0)}}function zd(y,v,M,x,k,F,G,J){var he=Se();try{bc(y,v,M,x,k,F,G,J)}catch(we){if(Ce(he),we!==we+0)throw we;Ge(1,0)}}function zc(y,v,M,x,k,F,G,J,he,we,$e,ye){var Pe=Se();try{Vr(y,v,M,x,k,F,G,J,he,we,$e,ye)}catch(it){if(Ce(Pe),it!==it+0)throw it;Ge(1,0)}}function Lc(y,v,M,x,k){var F=Se();try{return Ss(y,v,M,x,k)}catch(G){if(Ce(F),G!==G+0)throw G;Ge(1,0)}}function jn(y,v,M,x,k){var F=Se();try{yc(y,v,M,x,k)}catch(G){if(Ce(F),G!==G+0)throw G;Ge(1,0)}}function Yn(y,v,M,x,k,F,G,J){var he=Se();try{Ed(y,v,M,x,k,F,G,J)}catch(we){if(Ce(he),we!==we+0)throw we;Ge(1,0)}}function gr(y){var v=Se();try{return qr(y)}catch(M){if(Ce(v),M!==M+0)throw M;Ge(1,0)}}function Fc(y,v,M){var x=Se();try{return qo(y,v,M)}catch(k){if(Ce(x),k!==k+0)throw k;Ge(1,0)}}function Ld(y,v){var M=Se();try{return As(y,v)}catch(x){if(Ce(M),x!==x+0)throw x;return Ge(1,0),0n}}function yr(y,v,M,x,k){var F=Se();try{Si(y,v,M,x,k)}catch(G){if(Ce(F),G!==G+0)throw G;Ge(1,0)}}function Vn(y){var v=Se();try{return Ad(y)}catch(M){if(Ce(v),M!==M+0)throw M;return Ge(1,0),0n}}function Dt(y,v,M,x,k,F){var G=Se();try{return Vo(y,v,M,x,k,F)}catch(J){if(Ce(G),J!==J+0)throw J;Ge(1,0)}}function $o(y,v,M,x,k,F){var G=Se();try{return Ei(y,v,M,x,k,F)}catch(J){if(Ce(G),J!==J+0)throw J;Ge(1,0)}}function ja(y,v,M,x,k,F){var G=Se();try{return Mc(y,v,M,x,k,F)}catch(J){if(Ce(G),J!==J+0)throw J;Ge(1,0)}}function Be(y,v,M,x,k,F,G,J){var he=Se();try{return Ti(y,v,M,x,k,F,G,J)}catch(we){if(Ce(he),we!==we+0)throw we;Ge(1,0)}}function pt(y,v,M,x,k){var F=Se();try{return xc(y,v,M,x,k)}catch(G){if(Ce(F),G!==G+0)throw G;return Ge(1,0),0n}}function Pt(y,v,M,x){var k=Se();try{return fr(y,v,M,x)}catch(F){if(Ce(k),F!==F+0)throw F;Ge(1,0)}}function Qo(y,v,M,x){var k=Se();try{return hr(y,v,M,x)}catch(F){if(Ce(k),F!==F+0)throw F;Ge(1,0)}}function ks(y,v,M,x,k,F,G,J,he,we,$e,ye){var Pe=Se();try{return Tc(y,v,M,x,k,F,G,J,he,we,$e,ye)}catch(it){if(Ce(Pe),it!==it+0)throw it;Ge(1,0)}}function $r(y,v,M,x,k,F,G,J,he,we,$e){var ye=Se();try{Sc(y,v,M,x,k,F,G,J,he,we,$e)}catch(Pe){if(Ce(ye),Pe!==Pe+0)throw Pe;Ge(1,0)}}function Wo(y,v,M,x,k,F,G,J,he,we,$e,ye,Pe,it,It,zs){var Yo=Se();try{Hr(y,v,M,x,k,F,G,J,he,we,$e,ye,Pe,it,It,zs)}catch(Xo){if(Ce(Yo),Xo!==Xo+0)throw Xo;Ge(1,0)}}function Fi(y,v,M,x){var k=Se();try{return Es(y,v,M,x)}catch(F){if(Ce(k),F!==F+0)throw F;Ge(1,0)}}function Os(y,v,M,x,k){var F=Se();try{return Ai(y,v,M,x,k)}catch(G){if(Ce(F),G!==G+0)throw G;Ge(1,0)}}function dp(y,v,M){var x=Se();try{return Cd(y,v,M)}catch(k){if(Ce(x),k!==k+0)throw k;return Ge(1,0),0n}}function Ct(y,v,M){var x=Se();try{return vc(y,v,M)}catch(k){if(Ce(x),k!==k+0)throw k;Ge(1,0)}}function Nc(y,v,M){var x=Se();try{return wc(y,v,M)}catch(k){if(Ce(x),k!==k+0)throw k;Ge(1,0)}}function Dc(y,v,M,x){var k=Se();try{dr(y,v,M,x)}catch(F){if(Ce(k),F!==F+0)throw F;Ge(1,0)}}function Ni(){if(0{let v=new WeakMap,M,x,k=1;t.webgpuRegisterDevice=J=>{if(x!==void 0)throw Error("another WebGPU EP inference session is being created.");if(J){var he=v.get(J);if(!he){let we=(($e,ye=0)=>{var Pe=ba(ye);return ye=ra(ye,Pe),Wt[Pe>>>0]=$e.queue,Wt[ye>>>0]=$e,ye})(J,he=Pr(0));he=[k++,he,we],v.set(J,he)}return M=J,x=he[0],he}M=void 0,x=0};let F=new Map;t.webgpuOnCreateSession=J=>{if(x!==void 0){var he=x;if(x=void 0,J){let we=_i(he);F.set(J,we),he===0&&y(M??Ae(we))}M=void 0}},t.webgpuOnReleaseSession=J=>{F.delete(J)};let G=Symbol("gpuBufferMetadata");t.webgpuRegisterBuffer=(J,he,we)=>{if(we)return J[G]=[we,NaN],we;if(we=J[G])return we[1]++,we[0];if((he=F.get(he))===void 0)throw Error("Invalid session handle passed to webgpuRegisterBuffer");return he=(($e,ye=0)=>($e.mapState==="unmapped"||re(),ye=aa(ye),Wt[ye>>>0]=$e,ye))(J,he),J[G]=[he,1],he},t.webgpuUnregisterBuffer=J=>{let he=J[G];if(!he)throw Error("Buffer is not registered");he[1]--,he[1]===0&&(Pn(he[0]),delete J[G])},t.webgpuGetBuffer=J=>Ae(J),t.webgpuCreateDownloader=(J,he,we)=>{if((we=F.get(we))===void 0)throw Error("Invalid session handle passed to webgpuRegisterBuffer");let $e=Ae(we),ye=16*Math.ceil(Number(he)/16);return async()=>{let Pe=$e.createBuffer({size:ye,usage:9});try{let it=$e.createCommandEncoder();return it.copyBufferToBuffer(J,0,Pe,0,ye),$e.queue.submit([it.finish()]),await Pe.mapAsync(GPUMapMode.READ),Pe.getMappedRange().slice(0,he)}finally{Pe.destroy()}}},t.ad=(J,he)=>{var we=he.buffer;let $e=he.byteOffset,ye=he.byteLength;if(he=16*Math.ceil(Number(ye)/16),J=Ae(J),!M){var Pe=_i(x);M=Ae(Pe)}let it=(Pe=M.createBuffer({mappedAtCreation:!0,size:he,usage:6})).getMappedRange();new Uint8Array(it).set(new Uint8Array(we,$e,ye)),Pe.unmap(),(we=M.createCommandEncoder()).copyBufferToBuffer(Pe,0,J,0,he),M.queue.submit([we.finish()]),Pe.destroy()}},t.webnnInit=y=>{let v=y[0];[t.me,t.jd,t.webnnEnsureTensor,t.Sd,t.webnnDownloadTensor,t.le,t.webnnEnableTraceEvent]=y.slice(1),t.webnnReleaseTensorId=t.jd,t.webnnUploadTensor=t.Sd,t.webnnRegisterMLContext=t.le,t.webnnOnRunStart=M=>v.onRunStart(M),t.webnnOnRunEnd=v.onRunEnd.bind(v),t.webnnOnReleaseSession=M=>{v.onReleaseSession(M)},t.webnnCreateMLTensorDownloader=(M,x)=>v.createMLTensorDownloader(M,x),t.webnnRegisterMLTensor=(M,x,k,F)=>v.registerMLTensor(M,x,k,F),t.webnnCreateMLContext=M=>v.createMLContext(M),t.webnnRegisterMLConstant=(M,x,k,F,G,J)=>v.registerMLConstant(M,x,k,F,G,t.Uc,J),t.webnnRegisterGraphInput=v.registerGraphInput.bind(v),t.webnnIsGraphInput=v.isGraphInput.bind(v),t.webnnRegisterGraphOutput=v.registerGraphOutput.bind(v),t.webnnIsGraphOutput=v.isGraphOutput.bind(v),t.webnnCreateTemporaryTensor=v.createTemporaryTensor.bind(v),t.webnnIsGraphInputOutputTypeSupported=v.isGraphInputOutputTypeSupported.bind(v)},ee?t:new Promise((y,v)=>{S=y,E=v})}var lM,sb,$E=Je(()=>{lM=rb,sb=globalThis.self?.name?.startsWith("em-pthread"),sb&&rb()}),Lm,h_,ib,ca,cM,gf,ob,lb,Fm,cb,Nm,uM,Dm,dM,R_=Je(()=>{D_(),Lm=typeof location>"u"?void 0:location.origin,h_=import.meta.url>"file:"&&import.meta.url<"file;",ib=()=>{{if(h_){let e=URL;return new URL(new e("ort.webgpu.bundle.min.mjs",import.meta.url).href,Lm).href}return import.meta.url}},ca=ib(),cM=()=>{if(ca&&!ca.startsWith("blob:"))return ca.substring(0,ca.lastIndexOf("/")+1)},gf=(e,t)=>{try{let r=t??ca;return(r?new URL(e,r):new URL(e)).origin===Lm}catch{return!1}},ob=(e,t)=>{let r=t??ca;try{return(r?new URL(e,r):new URL(e)).href}catch{return}},lb=(e,t)=>`${t??"./"}${e}`,Fm=async e=>{let t=await(await fetch(e,{credentials:"same-origin"})).blob();return URL.createObjectURL(t)},cb=async e=>(await import(e)).default,Nm=(HE(),Nf(sM)).default,uM=async()=>{if(!ca)throw new Error("Failed to load proxy worker: cannot determine the script source URL.");if(gf(ca))return[void 0,Nm()];let e=await Fm(ca);return[e,Nm(e)]},Dm=($E(),Nf(oM)).default,dM=async(e,t,r,s)=>{let o=Dm&&!(e||t);if(o)if(ca)o=gf(ca)||s&&!r;else if(s&&!r)o=!0;else throw new Error("cannot determine the script source URL.");if(o)return[void 0,Dm];{let l="ort-wasm-simd-threaded.asyncify.mjs",u=e??ob(l,t),d=r&&u&&!gf(u,t),f=d?await Fm(u):u??lb(l,t);return[d?f:void 0,await cb(f)]}}}),Rm,yf,iu,Bm,ub,db,fb,B_,vt,Ki=Je(()=>{R_(),yf=!1,iu=!1,Bm=!1,ub=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},db=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},fb=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},B_=async e=>{if(yf)return Promise.resolve();if(iu)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(Bm)throw new Error("previous call to 'initializeWebAssembly()' failed.");iu=!0;let t=e.initTimeout,r=e.numThreads;if(e.simd!==!1){if(e.simd==="relaxed"){if(!fb())throw new Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!db())throw new Error("WebAssembly SIMD is not supported in the current environment.")}let s=ub();r>1&&!s&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+r+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),e.numThreads=r=1);let o=e.wasmPaths,l=typeof o=="string"?o:void 0,u=o?.mjs,d=u?.href??u,f=o?.wasm,p=f?.href??f,_=e.wasmBinary,[g,w]=await dM(d,l,r>1,!!_||!!p),b=!1,S=[];if(t>0&&S.push(new Promise(E=>{setTimeout(()=>{b=!0,E()},t)})),S.push(new Promise((E,z)=>{let C={numThreads:r};if(_)C.wasmBinary=_,C.locateFile=L=>L;else if(p||l)C.locateFile=L=>p??l+L;else if(d&&d.indexOf("blob:")!==0)C.locateFile=L=>new URL(L,d).href;else if(g){let L=cM();L&&(C.locateFile=D=>L+D)}w(C).then(L=>{iu=!1,yf=!0,Rm=L,E(),g&&URL.revokeObjectURL(g)},L=>{iu=!1,Bm=!0,z(L)})})),await Promise.race(S),b)throw new Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},vt=()=>{if(yf&&Rm)return Rm;throw new Error("WebAssembly is not initialized yet.")}}),ua,Rf,ct,P_=Je(()=>{Ki(),ua=(e,t)=>{let r=vt(),s=r.lengthBytesUTF8(e)+1,o=r._malloc(s);return r.stringToUTF8(e,o,s),t.push(o),o},Rf=(e,t,r,s)=>{if(typeof e=="object"&&e!==null){if(r.has(e))throw new Error("Circular reference in options");r.add(e)}Object.entries(e).forEach(([o,l])=>{let u=t?t+o:o;if(typeof l=="object")Rf(l,u+".",r,s);else if(typeof l=="string"||typeof l=="number")s(u,l.toString());else if(typeof l=="boolean")s(u,l?"1":"0");else throw new Error(`Can't handle extra config type: ${typeof l}`)})},ct=e=>{let t=vt(),r=t.stackSave();try{let s=t.PTR_SIZE,o=t.stackAlloc(2*s);t._OrtGetLastError(o,o+s);let l=Number(t.getValue(o,s===4?"i32":"i64")),u=t.getValue(o+s,"*"),d=u?t.UTF8ToString(u):"";throw new Error(`${e} ERROR_CODE: ${l}, ERROR_MESSAGE: ${d}`)}finally{t.stackRestore(r)}}}),fM,QE=Je(()=>{Ki(),P_(),fM=e=>{let t=vt(),r=0,s=[],o=e||{};try{if(e?.logSeverityLevel===void 0)o.logSeverityLevel=2;else if(typeof e.logSeverityLevel!="number"||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw new Error(`log severity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)o.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!="number"||!Number.isInteger(e.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(o.terminate=!1);let l=0;return e?.tag!==void 0&&(l=ua(e.tag,s)),r=t._OrtCreateRunOptions(o.logSeverityLevel,o.logVerbosityLevel,!!o.terminate,l),r===0&&ct("Can't create run options."),e?.extra!==void 0&&Rf(e.extra,"",new WeakSet,(u,d)=>{let f=ua(u,s),p=ua(d,s);t._OrtAddRunConfigEntry(r,f,p)!==0&&ct(`Can't set a run config entry: ${u} - ${d}.`)}),[r,s]}catch(l){throw r!==0&&t._OrtReleaseRunOptions(r),s.forEach(u=>t._free(u)),l}}}),hb,pb,mb,vf,$s,_b,hM,WE=Je(()=>{Ki(),P_(),hb=e=>{switch(e){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"layout":return 3;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${e}`)}},pb=e=>{switch(e){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${e}`)}},mb=e=>{e.extra||(e.extra={}),e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly="1"),e.executionProviders&&e.executionProviders.some(r=>(typeof r=="string"?r:r.name)==="webgpu")&&(e.enableMemPattern=!1)},vf=(e,t,r,s)=>{let o=ua(t,s),l=ua(r,s);vt()._OrtAddSessionConfigEntry(e,o,l)!==0&&ct(`Can't set a session config entry: ${t} - ${r}.`)},$s=(e,t,r,s)=>{let o=ua(t,s),l=ua(r,s);e.push([o,l])},_b=async(e,t,r)=>{let s=t.executionProviders;for(let o of s){let l=typeof o=="string"?o:o.name,u=[];switch(l){case"webnn":if(l="WEBNN",typeof o!="string"){let g=o?.deviceType;g&&vf(e,"deviceType",g,r)}break;case"webgpu":{l="WebGPU";let g;if(typeof o!="string"){let b=o;if(b.device)if(typeof GPUDevice<"u"&&b.device instanceof GPUDevice)g=b.device;else throw new Error("Invalid GPU device set in WebGPU EP options.");let{enableGraphCapture:S}=t;if(typeof S=="boolean"&&S&&$s(u,"enableGraphCapture","1",r),typeof b.preferredLayout=="string"&&$s(u,"preferredLayout",b.preferredLayout,r),b.forceCpuNodeNames){let E=Array.isArray(b.forceCpuNodeNames)?b.forceCpuNodeNames:[b.forceCpuNodeNames];$s(u,"forceCpuNodeNames",E.join(` +`),r)}b.validationMode&&$s(u,"validationMode",b.validationMode,r)}let w=vt().webgpuRegisterDevice(g);if(w){let[b,S,E]=w;$s(u,"deviceId",b.toString(),r),$s(u,"webgpuInstance",S.toString(),r),$s(u,"webgpuDevice",E.toString(),r)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${l}`)}let d=ua(l,r),f=u.length,p=0,_=0;if(f>0){p=vt()._malloc(f*vt().PTR_SIZE),r.push(p),_=vt()._malloc(f*vt().PTR_SIZE),r.push(_);for(let g=0;g{let t=vt(),r=0,s=[],o=e||{};mb(o);try{let l=hb(o.graphOptimizationLevel??"all"),u=pb(o.executionMode??"sequential"),d=typeof o.logId=="string"?ua(o.logId,s):0,f=o.logSeverityLevel??2;if(!Number.isInteger(f)||f<0||f>4)throw new Error(`log severity level is not valid: ${f}`);let p=o.logVerbosityLevel??0;if(!Number.isInteger(p)||p<0||p>4)throw new Error(`log verbosity level is not valid: ${p}`);let _=typeof o.optimizedModelFilePath=="string"?ua(o.optimizedModelFilePath,s):0;if(r=t._OrtCreateSessionOptions(l,!!o.enableCpuMemArena,!!o.enableMemPattern,u,!!o.enableProfiling,0,d,f,p,_),r===0&&ct("Can't create session options."),o.executionProviders&&await _b(r,o,s),o.enableGraphCapture!==void 0){if(typeof o.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${o.enableGraphCapture}`);vf(r,"enableGraphCapture",o.enableGraphCapture.toString(),s)}if(o.freeDimensionOverrides)for(let[g,w]of Object.entries(o.freeDimensionOverrides)){if(typeof g!="string")throw new Error(`free dimension override name must be a string: ${g}`);if(typeof w!="number"||!Number.isInteger(w)||w<0)throw new Error(`free dimension override value must be a non-negative integer: ${w}`);let b=ua(g,s);t._OrtAddFreeDimensionOverride(r,b,w)!==0&&ct(`Can't set a free dimension override: ${g} - ${w}.`)}return o.extra!==void 0&&Rf(o.extra,"",new WeakSet,(g,w)=>{vf(r,g,w,s)}),[r,s]}catch(l){throw r!==0&&t._OrtReleaseSessionOptions(r)!==0&&ct("Can't release session options."),s.forEach(u=>t._free(u)),l}}}),qi,Cf,ml,xu,Bf,I_,U_,p_,El=Je(()=>{qi=e=>{switch(e){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${e}`)}},Cf=e=>{switch(e){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${e}`)}},ml=(e,t)=>{let r=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][e],s=typeof t=="number"?t:t.reduce((o,l)=>o*l,1);return r>0?Math.ceil(s*r):void 0},xu=e=>{switch(e){case"float16":return typeof Float16Array<"u"&&Float16Array.from?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${e}`)}},Bf=e=>{switch(e){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${e}`)}},I_=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",U_=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint64"||e==="int8"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",p_=e=>{switch(e){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${e}`)}}}),G_,pM=Je(()=>{D_(),G_=async e=>{if(typeof e=="string"){let t=await fetch(e);if(!t.ok)throw new Error(`failed to load external data file: ${e}`);let r=t.headers.get("Content-Length"),s=r?parseInt(r,10):0;if(s<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw new Error(`failed to load external data file: ${e}, no response body.`);let o=t.body.getReader(),l;try{l=new ArrayBuffer(s)}catch(d){if(d instanceof RangeError){let f=Math.ceil(s/65536);l=new WebAssembly.Memory({initial:f,maximum:f}).buffer}else throw d}let u=0;for(;;){let{done:d,value:f}=await o.read();if(d)break;let p=f.byteLength;new Uint8Array(l,u,p).set(f),u+=p}return new Uint8Array(l,0,s)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)}}),mM,YE=Je(()=>{El(),mM=(e,t)=>new(xu(t))(e)}),gb,yb,vb,wb,_M,bb,Cn,gM=Je(()=>{El(),gb=["V","I","W","E","F"],yb=(e,t)=>{console.log(`[${gb[e]},${new Date().toISOString()}]${t}`)},_M=(e,t)=>{vb=e,wb=t},bb=(e,t)=>{let r=Bf(e),s=Bf(vb);r>=s&&yb(r,typeof t=="function"?t():t)},Cn=(...e)=>{wb&&bb(...e)}}),Pm,m_,Im,Mb,Um,xb,Gm,jm,Vm,Tb,yM,XE=Je(()=>{El(),gM(),Pm=new Map([["float32",32],["float16",16],["int32",32],["uint32",32],["int64",64],["uint64",64],["int8",8],["uint8",8],["int4",4],["uint4",4]]),m_=(e,t)=>{if(t==="int32")return e;let r=Pm.get(t);if(!r)throw new Error(`WebNN backend does not support data type: ${t}`);let s=r/8;if(e.byteLength%s!==0)throw new Error(`Invalid Uint8Array length - must be a multiple of ${s}.`);let o=e.byteLength/s,l=new(xu(t))(e.buffer,e.byteOffset,o);switch(t){case"int64":case"uint64":{let u=new Int32Array(o);for(let d=0;d2147483647n||f<-2147483648n)throw new Error("Can not convert int64 data to int32 - value out of range.");u[d]=Number(f)}return new Uint8Array(u.buffer)}case"int8":case"uint8":case"uint32":{if(t==="uint32"&&l.some(d=>d>2147483647))throw new Error("Can not convert uint32 data to int32 - value out of range.");let u=Int32Array.from(l,Number);return new Uint8Array(u.buffer)}default:throw new Error(`Unsupported data conversion from ${t} to 'int32'`)}},Im=(e,t)=>{if(t==="int32")return e;if(e.byteLength%4!==0)throw new Error("Invalid Uint8Array length - must be a multiple of 4 (int32).");let r=e.byteLength/4,s=new Int32Array(e.buffer,e.byteOffset,r);switch(t){case"int64":{let o=BigInt64Array.from(s,BigInt);return new Uint8Array(o.buffer)}case"uint64":{if(s.some(l=>l<0))throw new Error("Can not convert int32 data to uin64 - negative value found.");let o=BigUint64Array.from(s,BigInt);return new Uint8Array(o.buffer)}case"int8":{if(s.some(l=>l<-128||l>127))throw new Error("Can not convert int32 data to int8 - value out of range.");let o=Int8Array.from(s,Number);return new Uint8Array(o.buffer)}case"uint8":{if(s.some(o=>o<0||o>255))throw new Error("Can not convert int32 data to uint8 - value out of range.");return Uint8Array.from(s,Number)}case"uint32":{if(s.some(l=>l<0))throw new Error("Can not convert int32 data to uint32 - negative value found.");let o=Uint32Array.from(s,Number);return new Uint8Array(o.buffer)}default:throw new Error(`Unsupported data conversion from 'int32' to ${t}`)}},Mb=1,Um=()=>Mb++,xb=new Map([["int8","int32"],["uint8","int32"],["uint32","int32"],["int64","int32"]]),Gm=(e,t)=>{let r=Pm.get(e);if(!r)throw new Error(`WebNN backend does not support data type: ${e}`);return t.length>0?Math.ceil(t.reduce((s,o)=>s*o)*r/8):0},jm=class{constructor(e){this.isDataConverted=!1;let{sessionId:t,context:r,tensor:s,dataType:o,shape:l,fallbackDataType:u}=e;this.sessionId=t,this.mlContext=r,this.mlTensor=s,this.dataType=o,this.tensorShape=l,this.fallbackDataType=u}get tensor(){return this.mlTensor}get type(){return this.dataType}get fallbackType(){return this.fallbackDataType}get shape(){return this.tensorShape}get byteLength(){return Gm(this.dataType,this.tensorShape)}destroy(){Cn("verbose",()=>"[WebNN] TensorWrapper.destroy"),this.mlTensor.destroy()}write(e){this.mlContext.writeTensor(this.mlTensor,e)}async read(e){if(this.fallbackDataType){let t=await this.mlContext.readTensor(this.mlTensor),r=Im(new Uint8Array(t),this.dataType);if(e){(e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)).set(r);return}else return r.buffer}else return e?this.mlContext.readTensor(this.mlTensor,e):this.mlContext.readTensor(this.mlTensor)}canReuseTensor(e,t,r){return this.mlContext===e&&this.dataType===t&&this.tensorShape.length===r.length&&this.tensorShape.every((s,o)=>s===r[o])}setIsDataConverted(e){this.isDataConverted=e}},Vm=class{constructor(e,t){this.tensorManager=e,this.wrapper=t}get tensorWrapper(){return this.wrapper}releaseTensor(){this.tensorWrapper&&(this.tensorManager.releaseTensor(this.tensorWrapper),this.wrapper=void 0)}async ensureTensor(e,t,r,s){let o=this.tensorManager.getMLContext(e),l=this.tensorManager.getMLOpSupportLimits(e),u;if(!l?.input.dataTypes.includes(t)){if(u=xb.get(t),!u||l?.input.dataTypes.includes(u))throw new Error(`WebNN backend does not support data type: ${t}`);Cn("verbose",()=>`[WebNN] TensorIdTracker.ensureTensor: fallback dataType from ${t} to ${u}`)}if(this.wrapper){if(this.wrapper.canReuseTensor(o,t,r))return this.wrapper.tensor;if(s){if(this.wrapper.byteLength!==Gm(t,r))throw new Error("Unable to copy data to tensor with different size.");this.activeUpload=new Uint8Array(await this.wrapper.read())}this.tensorManager.releaseTensor(this.wrapper)}let d=typeof MLTensorUsage>"u"?void 0:MLTensorUsage.READ|MLTensorUsage.WRITE;return this.wrapper=await this.tensorManager.getCachedTensor(e,t,r,d,!0,!0,u),s&&this.activeUpload&&(this.wrapper.write(this.activeUpload),this.activeUpload=void 0),this.wrapper.tensor}upload(e){let t=e;if(this.wrapper){if(this.wrapper.fallbackType)if(this.wrapper.fallbackType==="int32")t=m_(e,this.wrapper.type),this.wrapper.setIsDataConverted(!0);else throw new Error(`Unsupported fallback data type: ${this.wrapper.fallbackType}`);if(e.byteLength===this.wrapper.byteLength){this.wrapper.write(t);return}else Cn("verbose",()=>"Data size does not match tensor size. Releasing tensor."),this.releaseTensor()}this.activeUpload?this.activeUpload.set(t):this.activeUpload=new Uint8Array(t)}async download(e){if(this.activeUpload){let t=this.wrapper?.isDataConverted?Im(this.activeUpload,this.wrapper?.type):this.activeUpload;if(e){e instanceof ArrayBuffer?new Uint8Array(e).set(t):new Uint8Array(e.buffer,e.byteOffset,e.byteLength).set(t);return}else return t.buffer}if(!this.wrapper)throw new Error("Tensor has not been created.");return e?this.wrapper.read(e):this.wrapper.read()}},Tb=class{constructor(e){this.backend=e,this.tensorTrackersById=new Map,this.freeTensors=[],this.externalTensors=new Set}getMLContext(e){let t=this.backend.getMLContext(e);if(!t)throw new Error("MLContext not found for session.");return t}getMLOpSupportLimits(e){return this.backend.getMLOpSupportLimits(e)}reserveTensorId(){let e=Um();return this.tensorTrackersById.set(e,new Vm(this)),e}releaseTensorId(e){let t=this.tensorTrackersById.get(e);t&&(this.tensorTrackersById.delete(e),t.tensorWrapper&&this.releaseTensor(t.tensorWrapper))}async ensureTensor(e,t,r,s,o){Cn("verbose",()=>`[WebNN] TensorManager.ensureTensor {tensorId: ${t}, dataType: ${r}, shape: ${s}, copyOld: ${o}}`);let l=this.tensorTrackersById.get(t);if(!l)throw new Error("Tensor not found.");return l.ensureTensor(e,r,s,o)}upload(e,t){let r=this.tensorTrackersById.get(e);if(!r)throw new Error("Tensor not found.");r.upload(t)}async download(e,t){Cn("verbose",()=>`[WebNN] TensorManager.download {tensorId: ${e}, dstBuffer: ${t?.byteLength}}`);let r=this.tensorTrackersById.get(e);if(!r)throw new Error("Tensor not found.");return r.download(t)}releaseTensorsForSession(e){for(let t of this.freeTensors)t.sessionId===e&&t.destroy();this.freeTensors=this.freeTensors.filter(t=>t.sessionId!==e)}registerTensor(e,t,r,s){let o=this.getMLContext(e),l=Um(),u=new jm({sessionId:e,context:o,tensor:t,dataType:r,shape:s});return this.tensorTrackersById.set(l,new Vm(this,u)),this.externalTensors.add(u),l}async getCachedTensor(e,t,r,s,o,l,u){let d=this.getMLContext(e);for(let[p,_]of this.freeTensors.entries())if(_.canReuseTensor(d,t,r)){Cn("verbose",()=>`[WebNN] Reusing tensor {dataType: ${t}, ${u?`fallbackDataType: ${u},`:""} shape: ${r}`);let g=this.freeTensors.splice(p,1)[0];return g.sessionId=e,g}Cn("verbose",()=>`[WebNN] MLContext.createTensor {dataType: ${t}, ${u?`fallbackDataType: ${u},`:""} shape: ${r}}`);let f=await d.createTensor({dataType:u??t,shape:r,dimensions:r,usage:s,writable:o,readable:l});return new jm({sessionId:e,context:d,tensor:f,dataType:t,shape:r,fallbackDataType:u})}releaseTensor(e){this.externalTensors.has(e)&&this.externalTensors.delete(e),this.freeTensors.push(e)}},yM=(...e)=>new Tb(...e)}),vM={};Au(vM,{WebNNBackend:()=>wM});var ou,Sb,wM,ZE=Je(()=>{El(),Ki(),YE(),XE(),gM(),ou=new Map([[1,"float32"],[10,"float16"],[6,"int32"],[12,"uint32"],[7,"int64"],[13,"uint64"],[22,"int4"],[21,"uint4"],[3,"int8"],[2,"uint8"],[9,"uint8"]]),Sb=(e,t)=>{if(e===t)return!0;if(e===void 0||t===void 0)return!1;let r=Object.keys(e).sort(),s=Object.keys(t).sort();return r.length===s.length&&r.every((o,l)=>o===s[l]&&e[o]===t[o])},wM=class{constructor(e){this.tensorManager=yM(this),this.mlContextBySessionId=new Map,this.sessionIdsByMLContext=new Map,this.mlContextCache=[],this.sessionGraphInputs=new Map,this.sessionGraphOutputs=new Map,this.temporaryGraphInputs=[],this.temporaryGraphOutputs=[],this.temporarySessionTensorIds=new Map,this.mlOpSupportLimitsBySessionId=new Map,_M(e.logLevel,!!e.debug)}get currentSessionId(){if(this.activeSessionId===void 0)throw new Error("No active session");return this.activeSessionId}onRunStart(e){Cn("verbose",()=>`[WebNN] onRunStart {sessionId: ${e}}`),this.activeSessionId=e}onRunEnd(e){Cn("verbose",()=>`[WebNN] onRunEnd {sessionId: ${e}}`);let t=this.temporarySessionTensorIds.get(e);if(t){for(let r of t)Cn("verbose",()=>`[WebNN] releasing temporary tensor {tensorId: ${r}}`),this.tensorManager.releaseTensorId(r);this.temporarySessionTensorIds.delete(e),this.activeSessionId=void 0}}async createMLContext(e){if(e instanceof GPUDevice){let r=this.mlContextCache.findIndex(s=>s.gpuDevice===e);if(r!==-1)return this.mlContextCache[r].mlContext;{let s=await navigator.ml.createContext(e);return this.mlContextCache.push({gpuDevice:e,mlContext:s}),s}}else if(e===void 0){let r=this.mlContextCache.findIndex(s=>s.options===void 0&&s.gpuDevice===void 0);if(r!==-1)return this.mlContextCache[r].mlContext;{let s=await navigator.ml.createContext();return this.mlContextCache.push({mlContext:s}),s}}let t=this.mlContextCache.findIndex(r=>Sb(r.options,e));if(t!==-1)return this.mlContextCache[t].mlContext;{let r=await navigator.ml.createContext(e);return this.mlContextCache.push({options:e,mlContext:r}),r}}registerMLContext(e,t){this.mlContextBySessionId.set(e,t);let r=this.sessionIdsByMLContext.get(t);r||(r=new Set,this.sessionIdsByMLContext.set(t,r)),r.add(e),this.mlOpSupportLimitsBySessionId.has(e)||this.mlOpSupportLimitsBySessionId.set(e,t.opSupportLimits()),this.temporaryGraphInputs.length>0&&(this.sessionGraphInputs.set(e,this.temporaryGraphInputs),this.temporaryGraphInputs=[]),this.temporaryGraphOutputs.length>0&&(this.sessionGraphOutputs.set(e,this.temporaryGraphOutputs),this.temporaryGraphOutputs=[])}onReleaseSession(e){this.sessionGraphInputs.delete(e),this.sessionGraphOutputs.delete(e);let t=this.mlContextBySessionId.get(e);if(!t)return;this.tensorManager.releaseTensorsForSession(e),this.mlContextBySessionId.delete(e),this.mlOpSupportLimitsBySessionId.delete(e);let r=this.sessionIdsByMLContext.get(t);if(r.delete(e),r.size===0){this.sessionIdsByMLContext.delete(t);let s=this.mlContextCache.findIndex(o=>o.mlContext===t);s!==-1&&this.mlContextCache.splice(s,1)}}getMLContext(e){return this.mlContextBySessionId.get(e)}getMLOpSupportLimits(e){return this.mlOpSupportLimitsBySessionId.get(e)}reserveTensorId(){return this.tensorManager.reserveTensorId()}releaseTensorId(e){Cn("verbose",()=>`[WebNN] releaseTensorId {tensorId: ${e}}`),this.tensorManager.releaseTensorId(e)}async ensureTensor(e,t,r,s,o){let l=ou.get(r);if(!l)throw new Error(`Unsupported ONNX data type: ${r}`);return this.tensorManager.ensureTensor(e??this.currentSessionId,t,l,s,o)}async createTemporaryTensor(e,t,r){Cn("verbose",()=>`[WebNN] createTemporaryTensor {onnxDataType: ${t}, shape: ${r}}`);let s=ou.get(t);if(!s)throw new Error(`Unsupported ONNX data type: ${t}`);let o=this.tensorManager.reserveTensorId();await this.tensorManager.ensureTensor(e,o,s,r,!1);let l=this.temporarySessionTensorIds.get(e);return l?l.push(o):this.temporarySessionTensorIds.set(e,[o]),o}uploadTensor(e,t){if(!vt().shouldTransferToMLTensor)throw new Error("Trying to upload to a MLTensor while shouldTransferToMLTensor is false");Cn("verbose",()=>`[WebNN] uploadTensor {tensorId: ${e}, data: ${t.byteLength}}`),this.tensorManager.upload(e,t)}async downloadTensor(e,t){return this.tensorManager.download(e,t)}createMLTensorDownloader(e,t){return async()=>{let r=await this.tensorManager.download(e);return mM(r,t)}}registerMLTensor(e,t,r,s){let o=ou.get(r);if(!o)throw new Error(`Unsupported ONNX data type: ${r}`);let l=this.tensorManager.registerTensor(e,t,o,s);return Cn("verbose",()=>`[WebNN] registerMLTensor {tensor: ${t}, dataType: ${o}, dimensions: ${s}} -> {tensorId: ${l}}`),l}registerMLConstant(e,t,r,s,o,l,u=!1){if(!l)throw new Error("External mounted files are not available.");let d=e;e.startsWith("./")&&(d=e.substring(2));let f=l.get(d);if(!f)throw new Error(`File with name ${d} not found in preloaded files.`);if(t+r>f.byteLength)throw new Error("Out of bounds: data offset and length exceed the external file data size.");let p=f.slice(t,t+r).buffer,_;switch(o.dataType){case"float32":_=new Float32Array(p);break;case"float16":_=typeof Float16Array<"u"&&Float16Array.from?new Float16Array(p):new Uint16Array(p);break;case"int32":_=new Int32Array(p);break;case"uint32":_=new Uint32Array(p);break;case"int64":if(u){let g=m_(new Uint8Array(p),"int64");_=new Int32Array(g.buffer),o.dataType="int32"}else _=new BigInt64Array(p);break;case"uint64":_=new BigUint64Array(p);break;case"int8":_=new Int8Array(p);break;case"int4":case"uint4":case"uint8":_=new Uint8Array(p);break;default:throw new Error(`Unsupported data type: ${o.dataType} in creating WebNN Constant from external data.`)}return Cn("verbose",()=>`[WebNN] registerMLConstant {dataType: ${o.dataType}, shape: ${o.shape}}} ${u?"(Note: it was int64 data type and registered to int32 as workaround)":""}`),s.constant(o,_)}registerGraphInput(e){this.temporaryGraphInputs.push(e)}registerGraphOutput(e){this.temporaryGraphOutputs.push(e)}isGraphInput(e,t){let r=this.sessionGraphInputs.get(e);return r?r.includes(t):!1}isGraphOutput(e,t){let r=this.sessionGraphOutputs.get(e);return r?r.includes(t):!1}isGraphInputOutputTypeSupported(e,t,r=!0){let s=ou.get(qi(t)),o=this.mlOpSupportLimitsBySessionId.get(e);return typeof s>"u"?!1:r?!!o?.input.dataTypes.includes(s):!!o?.output.dataTypes.includes(s)}flush(){}}}),Eb,j_,V_,Qs,Ab,qm,Pf,q_,H_,Hm,$_,Q_,W_,bM=Je(()=>{Zi(),QE(),WE(),El(),Ki(),P_(),pM(),Eb=(e,t)=>{vt()._OrtInit(e,t)!==0&&ct("Can't initialize onnxruntime.")},j_=async e=>{Eb(e.wasm.numThreads,Bf(e.logLevel))},V_=async(e,t)=>{vt().asyncInit?.();let r=e.webgpu.adapter;if(t==="webgpu"){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not supported in current environment");if(r){if(typeof r.limits!="object"||typeof r.features!="object"||typeof r.requestDevice!="function")throw new Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let s=e.webgpu.powerPreference;if(s!==void 0&&s!=="low-power"&&s!=="high-performance")throw new Error(`Invalid powerPreference setting: "${s}"`);let o=e.webgpu.forceFallbackAdapter;if(o!==void 0&&typeof o!="boolean")throw new Error(`Invalid forceFallbackAdapter setting: "${o}"`);if(r=await navigator.gpu.requestAdapter({powerPreference:s,forceFallbackAdapter:o}),!r)throw new Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}}if(t==="webnn"&&(typeof navigator>"u"||!navigator.ml))throw new Error("WebNN is not supported in current environment");if(t==="webgpu"&&vt().webgpuInit(s=>{e.webgpu.device=s}),t==="webnn"){let s=new(ZE(),Nf(vM)).WebNNBackend(e);vt().webnnInit([s,()=>s.reserveTensorId(),o=>s.releaseTensorId(o),async(o,l,u,d,f)=>s.ensureTensor(o,l,u,d,f),(o,l)=>{s.uploadTensor(o,l)},async(o,l)=>s.downloadTensor(o,l),(o,l)=>s.registerMLContext(o,l),!!e.trace])}},Qs=new Map,Ab=e=>{let t=vt(),r=t.stackSave();try{let s=t.PTR_SIZE,o=t.stackAlloc(2*s);t._OrtGetInputOutputCount(e,o,o+s)!==0&&ct("Can't get session input/output count.");let l=s===4?"i32":"i64";return[Number(t.getValue(o,l)),Number(t.getValue(o+s,l))]}finally{t.stackRestore(r)}},qm=(e,t)=>{let r=vt(),s=r.stackSave(),o=0;try{let l=r.PTR_SIZE,u=r.stackAlloc(2*l);r._OrtGetInputOutputMetadata(e,t,u,u+l)!==0&&ct("Can't get session input/output metadata.");let d=Number(r.getValue(u,"*"));o=Number(r.getValue(u+l,"*"));let f=r.HEAP32[o/4];if(f===0)return[d,0];let p=r.HEAPU32[o/4+1],_=[];for(let g=0;g{let t=vt(),r=t._malloc(e.byteLength);if(r===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${e.byteLength}.`);return t.HEAPU8.set(e,r),[r,e.byteLength]},q_=async(e,t)=>{let r,s,o=vt();Array.isArray(e)?[r,s]=e:e.buffer===o.HEAPU8.buffer?[r,s]=[e.byteOffset,e.byteLength]:[r,s]=Pf(e);let l=0,u=0,d=0,f=[],p=[],_=[];try{if([u,f]=await hM(t),t?.externalData&&o.mountExternalData){let R=[];for(let P of t.externalData){let Y=typeof P=="string"?P:P.path;R.push(G_(typeof P=="string"?P:P.data).then(O=>{o.mountExternalData(Y,O)}))}await Promise.all(R)}for(let R of t?.executionProviders??[])if((typeof R=="string"?R:R.name)==="webnn"){if(o.shouldTransferToMLTensor=!1,typeof R!="string"){let P=R,Y=P?.context,O=P?.gpuDevice,pe=P?.deviceType,le=P?.powerPreference;Y?o.currentContext=Y:O?o.currentContext=await o.webnnCreateMLContext(O):o.currentContext=await o.webnnCreateMLContext({deviceType:pe,powerPreference:le})}else o.currentContext=await o.webnnCreateMLContext();break}l=await o._OrtCreateSession(r,s,u),o.webgpuOnCreateSession?.(l),l===0&&ct("Can't create a session."),o.jsepOnCreateSession?.(),o.currentContext&&(o.webnnRegisterMLContext(l,o.currentContext),o.currentContext=void 0,o.shouldTransferToMLTensor=!0);let[g,w]=Ab(l),b=!!t?.enableGraphCapture,S=[],E=[],z=[],C=[],L=[];for(let R=0;RR==="gpu-buffer"||R==="ml-tensor"||R==="ml-tensor-cpu-output")&&(d=o._OrtCreateBinding(l),d===0&&ct("Can't create IO binding."),D={handle:d,outputPreferredLocations:L,outputPreferredLocationsEncoded:L.map(R=>R==="ml-tensor-cpu-output"?"ml-tensor":R).map(R=>p_(R))}),Qs.set(l,[l,p,_,D,b,!1]),[l,S,E,z,C]}catch(g){throw p.forEach(w=>o._OrtFree(w)),_.forEach(w=>o._OrtFree(w)),d!==0&&o._OrtReleaseBinding(d)!==0&&ct("Can't release IO binding."),l!==0&&o._OrtReleaseSession(l)!==0&&ct("Can't release session."),g}finally{o._free(r),u!==0&&o._OrtReleaseSessionOptions(u)!==0&&ct("Can't release session options."),f.forEach(g=>o._free(g)),o.unmountExternalData?.()}},H_=e=>{let t=vt(),r=Qs.get(e);if(!r)throw new Error(`cannot release session. invalid session id: ${e}`);let[s,o,l,u,d]=r;u&&(d&&t._OrtClearBoundOutputs(u.handle)!==0&&ct("Can't clear bound outputs."),t._OrtReleaseBinding(u.handle)!==0&&ct("Can't release IO binding.")),t.jsepOnReleaseSession?.(e),t.webnnOnReleaseSession?.(e),t.webgpuOnReleaseSession?.(e),o.forEach(f=>t._OrtFree(f)),l.forEach(f=>t._OrtFree(f)),t._OrtReleaseSession(s)!==0&&ct("Can't release session."),Qs.delete(e)},Hm=async(e,t,r,s,o,l,u=!1)=>{if(!e){t.push(0);return}let d=vt(),f=d.PTR_SIZE,p=e[0],_=e[1],g=e[3],w=g,b,S;if(p==="string"&&(g==="gpu-buffer"||g==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(u&&g!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${l} when enableGraphCapture is true.`);if(g==="gpu-buffer"){let C=e[2].gpuBuffer;S=ml(qi(p),_);{let L=d.webgpuRegisterBuffer;if(!L)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');b=L(C,s)}}else if(g==="ml-tensor"){let C=e[2].mlTensor;S=ml(qi(p),_);let L=d.webnnRegisterMLTensor;if(!L)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');b=L(s,C,qi(p),_)}else{let C=e[2];if(Array.isArray(C)){S=f*C.length,b=d._malloc(S),r.push(b);for(let L=0;Ld.setValue(z+D*f,L,f===4?"i32":"i64"));let C=d._OrtCreateTensor(qi(p),b,S,z,_.length,p_(w));C===0&&ct(`Can't create tensor for input/output. session=${s}, index=${l}.`),t.push(C)}finally{d.stackRestore(E)}},$_=async(e,t,r,s,o,l)=>{let u=vt(),d=u.PTR_SIZE,f=Qs.get(e);if(!f)throw new Error(`cannot run inference. invalid session id: ${e}`);let p=f[0],_=f[1],g=f[2],w=f[3],b=f[4],S=f[5],E=t.length,z=s.length,C=0,L=[],D=[],R=[],P=[],Y=[],O=u.stackSave(),pe=u.stackAlloc(E*d),le=u.stackAlloc(E*d),fe=u.stackAlloc(z*d),_e=u.stackAlloc(z*d);try{[C,L]=fM(l),Zs("wasm prepareInputOutputTensor");for(let se=0;seke*Ue,1);ee=Cf(re);let et=w?.outputPreferredLocations[s[se]];if(ee==="string"){if(et==="gpu-buffer"||et==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let ke=[];for(let Ue=0;Ue0){let ke=u.webgpuGetBuffer;if(!ke)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let Ue=ke(N),Tt=ml(re,ze);if(Tt===void 0||!I_(ee))throw new Error(`Unsupported data type: ${ee}`);Q=!0;{u.webgpuRegisterBuffer(Ue,e,N);let He=u.webgpuCreateDownloader(Ue,Tt,e);W.push([ee,Ee,{gpuBuffer:Ue,download:async()=>{let Ye=await He();return new(xu(ee))(Ye)},dispose:()=>{u._OrtReleaseTensor(V)!==0&&ct("Can't release tensor.")}},"gpu-buffer"])}}else if(et==="ml-tensor"&&ze>0){let ke=u.webnnEnsureTensor,Ue=u.webnnIsGraphInputOutputTypeSupported;if(!ke||!Ue)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(ml(re,ze)===void 0||!U_(ee))throw new Error(`Unsupported data type: ${ee}`);if(!Ue(e,ee,!1))throw new Error(`preferredLocation "ml-tensor" for ${ee} output is not supported by current WebNN Context.`);let Tt=await ke(e,N,re,Ee,!1);Q=!0,W.push([ee,Ee,{mlTensor:Tt,download:u.webnnCreateMLTensorDownloader(N,ee),dispose:()=>{u.webnnReleaseTensorId(N),u._OrtReleaseTensor(V)}},"ml-tensor"])}else if(et==="ml-tensor-cpu-output"&&ze>0){let ke=u.webnnCreateMLTensorDownloader(N,ee)(),Ue=W.length;Q=!0,q.push((async()=>{let Tt=[Ue,await ke];return u.webnnReleaseTensorId(N),u._OrtReleaseTensor(V),Tt})()),W.push([ee,Ee,[],"cpu"])}else{let ke=xu(ee),Ue=new ke(ze);new Uint8Array(Ue.buffer,Ue.byteOffset,Ue.byteLength).set(u.HEAPU8.subarray(N,N+Ue.byteLength)),W.push([ee,Ee,Ue,"cpu"])}}finally{u.stackRestore(X),ee==="string"&&N&&u._free(N),Q||u._OrtReleaseTensor(V)}}w&&!b&&(u._OrtClearBoundOutputs(w.handle)!==0&&ct("Can't clear bound outputs."),Qs.set(e,[p,_,g,w,b,!1]));for(let[se,V]of await Promise.all(q))W[se][2]=V;return Ks("wasm ProcessOutputTensor"),W}finally{u.webnnOnRunEnd?.(p),u.stackRestore(O),r.forEach(de=>{de&&de[3]==="gpu-buffer"&&u.webgpuUnregisterBuffer(de[2].gpuBuffer)}),o.forEach(de=>{de&&de[3]==="gpu-buffer"&&u.webgpuUnregisterBuffer(de[2].gpuBuffer)}),D.forEach(de=>u._OrtReleaseTensor(de)),R.forEach(de=>u._OrtReleaseTensor(de)),P.forEach(de=>u._free(de)),C!==0&&u._OrtReleaseRunOptions(C),L.forEach(de=>u._free(de))}},Q_=e=>{let t=vt(),r=Qs.get(e);if(!r)throw new Error("invalid session id");let s=r[0],o=t._OrtEndProfiling(s);o===0&&ct("Can't get an profile file name."),t._OrtFree(o)},W_=e=>{let t=[];for(let r of e){let s=r[2];!Array.isArray(s)&&"buffer"in s&&t.push(s.buffer)}return t}}),Ws,Ea,ul,lu,cu,wf,$m,bf,Pi,Ii,Cb,MM,xM,TM,SM,EM,AM,CM,kM=Je(()=>{Zi(),bM(),Ki(),R_(),Ws=()=>!!Ot.wasm.proxy&&typeof document<"u",ul=!1,lu=!1,cu=!1,bf=new Map,Pi=(e,t)=>{let r=bf.get(e);r?r.push(t):bf.set(e,[t])},Ii=()=>{if(ul||!lu||cu||!Ea)throw new Error("worker not ready")},Cb=e=>{switch(e.data.type){case"init-wasm":ul=!1,e.data.err?(cu=!0,$m[1](e.data.err)):(lu=!0,$m[0]()),wf&&(URL.revokeObjectURL(wf),wf=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let t=bf.get(e.data.type);e.data.err?t.shift()[1](e.data.err):t.shift()[0](e.data.out);break}}},MM=async()=>{if(!lu){if(ul)throw new Error("multiple calls to 'initWasm()' detected.");if(cu)throw new Error("previous call to 'initWasm()' failed.");if(ul=!0,Ws())return new Promise((e,t)=>{Ea?.terminate(),uM().then(([r,s])=>{try{Ea=s,Ea.onerror=l=>t(l),Ea.onmessage=Cb,$m=[e,t];let o={type:"init-wasm",in:Ot};!o.in.wasm.wasmPaths&&(r||h_)&&(o.in.wasm.wasmPaths={wasm:new URL(""+new URL("ort-wasm-simd-threaded.asyncify-DFMnNRgU.wasm",import.meta.url).href,import.meta.url).href}),Ea.postMessage(o),wf=r}catch(o){t(o)}},t)});try{await B_(Ot.wasm),await j_(Ot),lu=!0}catch(e){throw cu=!0,e}finally{ul=!1}}},xM=async e=>{if(Ws())return Ii(),new Promise((t,r)=>{Pi("init-ep",[t,r]);let s={type:"init-ep",in:{epName:e,env:Ot}};Ea.postMessage(s)});await V_(Ot,e)},TM=async e=>Ws()?(Ii(),new Promise((t,r)=>{Pi("copy-from",[t,r]);let s={type:"copy-from",in:{buffer:e}};Ea.postMessage(s,[e.buffer])})):Pf(e),SM=async(e,t)=>{if(Ws()){if(t?.preferredOutputLocation)throw new Error('session option "preferredOutputLocation" is not supported for proxy.');return Ii(),new Promise((r,s)=>{Pi("create",[r,s]);let o={type:"create",in:{model:e,options:{...t}}},l=[];e instanceof Uint8Array&&l.push(e.buffer),Ea.postMessage(o,l)})}else return q_(e,t)},EM=async e=>{if(Ws())return Ii(),new Promise((t,r)=>{Pi("release",[t,r]);let s={type:"release",in:e};Ea.postMessage(s)});H_(e)},AM=async(e,t,r,s,o,l)=>{if(Ws()){if(r.some(u=>u[3]!=="cpu"))throw new Error("input tensor on GPU is not supported for proxy.");if(o.some(u=>u))throw new Error("pre-allocated output tensor is not supported for proxy.");return Ii(),new Promise((u,d)=>{Pi("run",[u,d]);let f=r,p={type:"run",in:{sessionId:e,inputIndices:t,inputs:f,outputIndices:s,options:l}};Ea.postMessage(p,W_(f))})}else return $_(e,t,r,s,o,l)},CM=async e=>{if(Ws())return Ii(),new Promise((t,r)=>{Pi("end-profiling",[t,r]);let s={type:"end-profiling",in:e};Ea.postMessage(s)});Q_(e)}}),Qm,kb,OM,KE=Je(()=>{Zi(),kM(),El(),D_(),pM(),Qm=(e,t)=>{switch(e.location){case"cpu":return[e.type,e.dims,e.data,"cpu"];case"gpu-buffer":return[e.type,e.dims,{gpuBuffer:e.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[e.type,e.dims,{mlTensor:e.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${e.location} for ${t()}`)}},kb=e=>{switch(e[3]){case"cpu":return new Ha(e[0],e[2],e[1]);case"gpu-buffer":{let t=e[0];if(!I_(t))throw new Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:r,download:s,dispose:o}=e[2];return Ha.fromGpuBuffer(r,{dataType:t,dims:e[1],download:s,dispose:o})}case"ml-tensor":{let t=e[0];if(!U_(t))throw new Error(`not supported data type: ${t} for deserializing MLTensor tensor`);let{mlTensor:r,download:s,dispose:o}=e[2];return Ha.fromMLTensor(r,{dataType:t,dims:e[1],download:s,dispose:o})}default:throw new Error(`invalid data location: ${e[3]}`)}},OM=class{async fetchModelAndCopyToWasmMemory(e){return TM(await G_(e))}async loadModel(e,t){Wi();let r;typeof e=="string"?r=await this.fetchModelAndCopyToWasmMemory(e):r=e,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await SM(r,t),Yi()}async dispose(){return EM(this.sessionId)}async run(e,t,r){Wi();let s=[],o=[];Object.entries(e).forEach(g=>{let w=g[0],b=g[1],S=this.inputNames.indexOf(w);if(S===-1)throw new Error(`invalid input '${w}'`);s.push(b),o.push(S)});let l=[],u=[];Object.entries(t).forEach(g=>{let w=g[0],b=g[1],S=this.outputNames.indexOf(w);if(S===-1)throw new Error(`invalid output '${w}'`);l.push(b),u.push(S)});let d=s.map((g,w)=>Qm(g,()=>`input "${this.inputNames[o[w]]}"`)),f=l.map((g,w)=>g?Qm(g,()=>`output "${this.outputNames[u[w]]}"`):null),p=await AM(this.sessionId,o,d,u,f,r),_={};for(let g=0;gg_,initializeFlags:()=>__,wasmBackend:()=>LM});var __,g_,LM,JE=Je(()=>{Zi(),kM(),KE(),__=()=>{(typeof Ot.wasm.initTimeout!="number"||Ot.wasm.initTimeout<0)&&(Ot.wasm.initTimeout=0);let e=Ot.wasm.simd;if(typeof e!="boolean"&&e!==void 0&&e!=="fixed"&&e!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${e}". Reset it to \`false\` and ignore SIMD feature checking.`),Ot.wasm.simd=!1),typeof Ot.wasm.proxy!="boolean"&&(Ot.wasm.proxy=!1),typeof Ot.wasm.trace!="boolean"&&(Ot.wasm.trace=!1),typeof Ot.wasm.numThreads!="number"||!Number.isInteger(Ot.wasm.numThreads)||Ot.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)Ot.wasm.numThreads=1;else{let t=typeof navigator>"u"?OE("node:os").cpus().length:navigator.hardwareConcurrency;Ot.wasm.numThreads=Math.min(4,Math.ceil((t||1)/2))}},g_=class{async init(e){__(),await MM(),await xM(e)}async createInferenceSessionHandler(e,t){let r=new OM;return await r.loadModel(e,t),r}},LM=new g_});Zi();Zi();Zi();var eA="1.25.0-dev.20260307-d626b568e0",tA=rM;{let e=(JE(),Nf(zM)).wasmBackend;Hi("webgpu",e,5),Hi("webnn",e,5),Hi("cpu",e,10),Hi("wasm",e,10)}Object.defineProperty(Ot.versions,"web",{value:eA,enumerable:!0});const nA=Object.freeze(Object.defineProperty({__proto__:null,get InferenceSession(){return N_},get TRACE(){return Df},get TRACE_EVENT_BEGIN(){return Zs},get TRACE_EVENT_END(){return Ks},get TRACE_FUNC_BEGIN(){return Wi},get TRACE_FUNC_END(){return Yi},get Tensor(){return Ha},default:tA,get env(){return Ot},get registerBackend(){return Hi}},Symbol.toStringTag,{value:"Module"})),aA=(e,t)=>{const r=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);r.width=e.dims[3],r.height=e.dims[2];const s=r.getContext("2d");if(s!=null){let o,l;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(o=e.dims[2],l=e.dims[3]):(o=e.dims[3],l=e.dims[2]);const u=t?.format!==void 0?t.format:"RGB",d=t?.norm;let f,p;d===void 0||d.mean===void 0?f=[255,255,255,255]:typeof d.mean=="number"?f=[d.mean,d.mean,d.mean,d.mean]:(f=[d.mean[0],d.mean[1],d.mean[2],0],d.mean[3]!==void 0&&(f[3]=d.mean[3])),d===void 0||d.bias===void 0?p=[0,0,0,0]:typeof d.bias=="number"?p=[d.bias,d.bias,d.bias,d.bias]:(p=[d.bias[0],d.bias[1],d.bias[2],0],d.bias[3]!==void 0&&(p[3]=d.bias[3]));const _=l*o;let g=0,w=_,b=_*2,S=-1;u==="RGBA"?(g=0,w=_,b=_*2,S=_*3):u==="RGB"?(g=0,w=_,b=_*2):u==="RBG"&&(g=0,b=_,w=_*2);for(let E=0;E{const r=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d");let s;if(r!=null){let o,l,u;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(o=e.dims[2],l=e.dims[1],u=e.dims[3]):(o=e.dims[3],l=e.dims[2],u=e.dims[1]);const d=t!==void 0&&t.format!==void 0?t.format:"RGB",f=t?.norm;let p,_;f===void 0||f.mean===void 0?p=[255,255,255,255]:typeof f.mean=="number"?p=[f.mean,f.mean,f.mean,f.mean]:(p=[f.mean[0],f.mean[1],f.mean[2],255],f.mean[3]!==void 0&&(p[3]=f.mean[3])),f===void 0||f.bias===void 0?_=[0,0,0,0]:typeof f.bias=="number"?_=[f.bias,f.bias,f.bias,f.bias]:(_=[f.bias[0],f.bias[1],f.bias[2],0],f.bias[3]!==void 0&&(_[3]=f.bias[3]));const g=l*o;if(t!==void 0&&(t.format!==void 0&&u===4&&t.format!=="RGBA"||u===3&&t.format!=="RGB"&&t.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");const w=4;let b=0,S=1,E=2,z=3,C=0,L=g,D=g*2,R=-1;d==="RGBA"?(C=0,L=g,D=g*2,R=g*3):d==="RGB"?(C=0,L=g,D=g*2):d==="RBG"&&(C=0,D=g,L=g*2),s=r.createImageData(o,l);for(let P=0;P{if(e===void 0)throw new Error("Image buffer must be defined");if(t.height===void 0||t.width===void 0)throw new Error("Image height and width must be defined");if(t.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");const{height:r,width:s}=t,o=t.norm??{mean:255,bias:0};let l,u;typeof o.mean=="number"?l=[o.mean,o.mean,o.mean,o.mean]:l=[o.mean[0],o.mean[1],o.mean[2],o.mean[3]??255],typeof o.bias=="number"?u=[o.bias,o.bias,o.bias,o.bias]:u=[o.bias[0],o.bias[1],o.bias[2],o.bias[3]??0];const d=t.format!==void 0?t.format:"RGBA",f=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:"RGB",p=r*s,_=f==="RGBA"?new Float32Array(p*4):new Float32Array(p*3);let g=4,w=0,b=1,S=2,E=3,z=0,C=p,L=p*2,D=-1;d==="RGB"&&(g=3,w=0,b=1,S=2,E=-1),f==="RGBA"?D=p*3:f==="RBG"?(z=0,L=p,C=p*2):f==="BGR"&&(L=0,C=p,z=p*2);for(let P=0;P{const r=typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement,s=typeof ImageData<"u"&&e instanceof ImageData,o=typeof ImageBitmap<"u"&&e instanceof ImageBitmap,l=typeof e=="string";let u,d=t??{};const f=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},p=_=>typeof HTMLCanvasElement<"u"&&_ instanceof HTMLCanvasElement||_ instanceof OffscreenCanvas?_.getContext("2d"):null;if(r){const _=f();_.width=e.width,_.height=e.height;const g=p(_);if(g!=null){let w=e.height,b=e.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(w=t.resizedHeight,b=t.resizedWidth),t!==void 0){if(d=t,t.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");d.tensorFormat="RGBA",d.height=w,d.width=b}else d.tensorFormat="RGBA",d.height=w,d.width=b;g.drawImage(e,0,0),u=g.getImageData(0,0,b,w).data}else throw new Error("Can not access image data")}else if(s){let _,g;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(_=t.resizedHeight,g=t.resizedWidth):(_=e.height,g=e.width),t!==void 0&&(d=t),d.format="RGBA",d.height=_,d.width=g,t!==void 0){const w=f();w.width=g,w.height=_;const b=p(w);if(b!=null)b.putImageData(e,0,0),u=b.getImageData(0,0,g,_).data;else throw new Error("Can not access image data")}else u=e.data}else if(o){if(t===void 0)throw new Error("Please provide image config with format for Imagebitmap");const _=f();_.width=e.width,_.height=e.height;const g=p(_);if(g!=null){const w=e.height,b=e.width;return g.drawImage(e,0,0,b,w),u=g.getImageData(0,0,b,w).data,d.height=w,d.width=b,Wm(u,d)}else throw new Error("Can not access image data")}else{if(l)return new Promise((_,g)=>{const w=f(),b=p(w);if(!e||!b)return g();const S=new Image;S.crossOrigin="Anonymous",S.src=e,S.onload=()=>{w.width=S.width,w.height=S.height,b.drawImage(S,0,0,w.width,w.height);const E=b.getImageData(0,0,w.width,w.height);d.height=w.height,d.width=w.width,_(Wm(E.data,d))}});throw new Error("Input data provided is not supported - aborted tensor creation")}if(u!==void 0)return Wm(u,d);throw new Error("Input data provided is not supported - aborted tensor creation")},iA=(e,t)=>{const{width:r,height:s,download:o,dispose:l}=t,u=[1,s,r,4];return new ka({location:"texture",type:"float32",texture:e,dims:u,download:o,dispose:l})},oA=(e,t)=>{const{dataType:r,dims:s,download:o,dispose:l}=t;return new ka({location:"gpu-buffer",type:r??"float32",gpuBuffer:e,dims:s,download:o,dispose:l})},lA=(e,t)=>{const{dataType:r,dims:s,download:o,dispose:l}=t;return new ka({location:"ml-tensor",type:r??"float32",mlTensor:e,dims:s,download:o,dispose:l})},cA=(e,t,r)=>new ka({location:"cpu-pinned",type:e,data:t,dims:r??[t.length]}),gl=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),kf=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]);let Ob=!1;const uA=()=>{if(!Ob){Ob=!0;const e=typeof BigInt64Array<"u"&&BigInt64Array.from,t=typeof BigUint64Array<"u"&&BigUint64Array.from,r=globalThis.Float16Array,s=typeof r<"u"&&r.from;e&&(gl.set("int64",BigInt64Array),kf.set(BigInt64Array,"int64")),t&&(gl.set("uint64",BigUint64Array),kf.set(BigUint64Array,"uint64")),s?(gl.set("float16",r),kf.set(r,"float16")):gl.set("float16",Uint16Array)}},dA=e=>{let t=1;for(let r=0;r{switch(e.location){case"cpu":return new ka(e.type,e.data,t);case"cpu-pinned":return new ka({location:"cpu-pinned",data:e.data,type:e.type,dims:t});case"texture":return new ka({location:"texture",texture:e.texture,type:e.type,dims:t});case"gpu-buffer":return new ka({location:"gpu-buffer",gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case"ml-tensor":return new ka({location:"ml-tensor",mlTensor:e.mlTensor,type:e.type,dims:t});default:throw new Error(`tensorReshape: tensor location ${e.location} is not supported`)}};let ka=class{constructor(t,r,s){uA();let o,l;if(typeof t=="object"&&"location"in t)switch(this.dataLocation=t.location,o=t.type,l=t.dims,t.location){case"cpu-pinned":{const d=gl.get(o);if(!d)throw new TypeError(`unsupported type "${o}" to create tensor from pinned buffer`);if(!(t.data instanceof d))throw new TypeError(`buffer should be of type ${d.name}`);this.cpuData=t.data;break}case"texture":{if(o!=="float32")throw new TypeError(`unsupported type "${o}" to create tensor from texture`);this.gpuTextureData=t.texture,this.downloader=t.download,this.disposer=t.dispose;break}case"gpu-buffer":{if(o!=="float32"&&o!=="float16"&&o!=="int32"&&o!=="int64"&&o!=="uint32"&&o!=="uint8"&&o!=="bool"&&o!=="uint4"&&o!=="int4")throw new TypeError(`unsupported type "${o}" to create tensor from gpu buffer`);this.gpuBufferData=t.gpuBuffer,this.downloader=t.download,this.disposer=t.dispose;break}case"ml-tensor":{if(o!=="float32"&&o!=="float16"&&o!=="int32"&&o!=="int64"&&o!=="uint32"&&o!=="uint64"&&o!=="int8"&&o!=="uint8"&&o!=="bool"&&o!=="uint4"&&o!=="int4")throw new TypeError(`unsupported type "${o}" to create tensor from MLTensor`);this.mlTensorData=t.mlTensor,this.downloader=t.download,this.disposer=t.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let d,f;if(typeof t=="string")if(o=t,f=s,t==="string"){if(!Array.isArray(r))throw new TypeError("A string tensor's data must be a string array.");d=r}else{const p=gl.get(t);if(p===void 0)throw new TypeError(`Unsupported tensor type: ${t}.`);if(Array.isArray(r)){if(t==="float16"&&p===Uint16Array||t==="uint4"||t==="int4")throw new TypeError(`Creating a ${t} tensor from number array is not supported. Please use ${p.name} as data.`);t==="uint64"||t==="int64"?d=p.from(r,BigInt):d=p.from(r)}else if(r instanceof p)d=r;else if(r instanceof Uint8ClampedArray)if(t==="uint8")d=Uint8Array.from(r);else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(t==="float16"&&r instanceof Uint16Array&&p!==Uint16Array)d=new globalThis.Float16Array(r.buffer,r.byteOffset,r.length);else throw new TypeError(`A ${o} tensor's data must be type of ${p}`)}else if(f=r,Array.isArray(t)){if(t.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");const p=typeof t[0];if(p==="string")o="string",d=t;else if(p==="boolean")o="bool",d=Uint8Array.from(t);else throw new TypeError(`Invalid element type of data array: ${p}.`)}else if(t instanceof Uint8ClampedArray)o="uint8",d=Uint8Array.from(t);else{const p=kf.get(t.constructor);if(p===void 0)throw new TypeError(`Unsupported type for tensor data: ${t.constructor}.`);o=p,d=t}if(f===void 0)f=[d.length];else if(!Array.isArray(f))throw new TypeError("A tensor's dims must be a number array");l=f,this.cpuData=d,this.dataLocation="cpu"}const u=dA(l);if(this.cpuData&&u!==this.cpuData.length&&!((o==="uint4"||o==="int4")&&Math.ceil(u/2)===this.cpuData.length))throw new Error(`Tensor's size(${u}) does not match data length(${this.cpuData.length}).`);this.type=o,this.dims=l,this.size=u}static async fromImage(t,r){return sA(t,r)}static fromTexture(t,r){return iA(t,r)}static fromGpuBuffer(t,r){return oA(t,r)}static fromMLTensor(t,r){return lA(t,r)}static fromPinnedBuffer(t,r,s){return cA(t,r,s)}toDataURL(t){return aA(this,t)}toImageData(t){return rA(this,t)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(t){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":{if(!this.downloader)throw new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;const r=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=r,t&&this.disposer&&(this.disposer(),this.disposer=void 0),r}finally{this.isDownloading=!1}}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw new Error("The tensor is disposed.")}reshape(t){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return fA(this,t)}};const hA=ka;var Ym={},pA=Object.defineProperty,Al=(e,t)=>{for(var r in t)pA(e,r,{get:t[r],enumerable:!0})},fa={},Tr={},mA={},_A="4.0.0-next.7",Y_=typeof self<"u",bl=!RM(fa),FM=!RM(Tr),If=Y_&&"caches"in self,gA=typeof globalThis.Deno<"u",Zf=gA&&If&&!bl,NM=typeof process<"u",DM=NM&&process?.release?.name==="node"&&!Zf,X_=typeof window<"u"&&typeof window.document<"u",Z_=Y_&&["DedicatedWorkerGlobalScope","ServiceWorkerGlobalScope","SharedWorkerGlobalScope"].includes(self.constructor?.name),yA=X_||Z_||Zf,vA=DM||typeof navigator<"u"&&"gpu"in navigator,wA=typeof navigator<"u"&&"ml"in navigator,bA=typeof crypto<"u"&&typeof crypto.getRandomValues=="function",MA=typeof chrome<"u"&&typeof chrome.runtime<"u"&&typeof chrome.runtime.id=="string",xA=typeof ServiceWorkerGlobalScope<"u"&&Y_&&self instanceof ServiceWorkerGlobalScope,TA=()=>{if(typeof navigator>"u")return!1;const e=navigator.userAgent,r=(navigator.vendor||"").indexOf("Apple")>-1,s=!e.match(/CriOS|FxiOS|EdgiOS|OPiOS|mercury|brave/i)&&!e.includes("Chrome")&&!e.includes("Android");return r&&s},SA=TA(),We=Object.freeze({IS_BROWSER_ENV:X_,IS_WEBWORKER_ENV:Z_,IS_WEB_ENV:yA,IS_SERVICE_WORKER_ENV:xA,IS_DENO_WEB_RUNTIME:Zf,IS_WEB_CACHE_AVAILABLE:If,IS_WEBGPU_AVAILABLE:vA,IS_WEBNN_AVAILABLE:wA,IS_SAFARI:SA,IS_PROCESS_AVAILABLE:NM,IS_NODE_ENV:DM,IS_FS_AVAILABLE:bl,IS_PATH_AVAILABLE:FM,IS_CRYPTO_AVAILABLE:bA,IS_CHROME_AVAILABLE:MA}),K_=bl&&FM,Uf="./";if(K_){const e=Object(import.meta).url;e?Uf=Tr.dirname(Tr.dirname(mA.fileURLToPath(e))):typeof __dirname<"u"&&(Uf=Tr.dirname(__dirname))}var EA=K_?Tr.join(Uf,"/.cache/"):null,zb="/models/",AA=K_?Tr.join(Uf,zb):zb,CA=typeof globalThis.fetch=="function"?globalThis.fetch.bind(globalThis):void 0,$a=Object.freeze({DEBUG:10,INFO:20,WARNING:30,ERROR:40,NONE:50}),Lb=$a.WARNING,rt={version:_A,backends:{onnx:{}},get logLevel(){return Lb},set logLevel(e){Lb=e,rt.backends.onnx?.setLogLevel?.(e)},allowRemoteModels:!0,remoteHost:"https://huggingface.co/",remotePathTemplate:"{model}/resolve/{revision}/",allowLocalModels:!(X_||Z_||Zf),localModelPath:AA,useFS:bl,useBrowserCache:If,useFSCache:bl,cacheDir:EA,useCustomCache:!1,customCache:null,useWasmCache:If||bl,cacheKey:"transformers-cache",experimental_useCrossOriginStorage:!1,fetch:CA};function RM(e){return Object.keys(e).length===0}function $i(e,t){e&&e(t)}function kA(e){return Number.isInteger(e)||typeof e=="bigint"}function Fb(e){return e==null||e===-1}function Nb(e){const t=[];let r=e;for(;Array.isArray(r);)t.push(r.length),r=r[0];return t}function Sr(...e){return Array.prototype.concat.apply([],e)}function OA(...e){return e.reduce((t,r)=>t.flatMap(s=>r.map(o=>[s,o])))}function Gf(e,t){return Math.abs((e+t)%(2*t)-t)}function yn(e,t){return Object.assign({},...t.map(r=>{if(e[r]!==void 0)return{[r]:e[r]}}))}function zA(e,t){let r=0;for(const s of e)s===t&&++r;return r}var Re={error(...e){rt.logLevel<=$a.ERROR&&console.error(...e)},warn(...e){rt.logLevel<=$a.WARNING&&console.warn(...e)},info(...e){rt.logLevel<=$a.INFO&&console.log(...e)},debug(...e){rt.logLevel<=$a.DEBUG&&console.log(...e)},log(...e){this.info(...e)}},LA=class{constructor(e){this.trie=this._build_trie(e)}_build_trie(e){const t=Object.create(null);for(const r of e){let s=t;for(let o=0;os&&t.push(e.slice(s,o)),t.push(u),o+=u.length,s=o):++o}return s{const e=[...Array.from({length:94},(o,l)=>l+33),...Array.from({length:12},(o,l)=>l+161),...Array.from({length:82},(o,l)=>l+174)],t=e.slice();let r=0;for(let o=0;o<256;++o)e.includes(o)||(e.push(o),t.push(256+r),r+=1);const s=t.map(o=>String.fromCharCode(o));return Object.fromEntries(e.map((o,l)=>[o,s[l]]))})(),DA=e=>Object.fromEntries(Object.entries(e).map(([t,r])=>[r,t])),RA=DA(BM),Rb=".,!?…。,、।۔،",BA=new Map([["(?i:'s|'t|'re|'ve|'m|'ll|'d)","(?:'([sS]|[tT]|[rR][eE]|[vV][eE]|[mM]|[lL][lL]|[dD]))"],["(?i:[sdmt]|ll|ve|re)","(?:[sS]|[dD]|[mM]|[tT]|[lL][lL]|[vV][eE]|[rR][eE])"],["[^\\r\\n\\p{L}\\p{N}]?+","[^\\r\\n\\p{L}\\p{N}]?"],["[^\\s\\p{L}\\p{N}]++","[^\\s\\p{L}\\p{N}]+"],["(?>\\p{Nd}{510})","(?:\\p{Nd}{510})"],["\\p{Nd}{3}+","(?:\\p{Nd}{3})+"],["\\G",""],[` ?[^(\\s|[${Rb}])]+`,` ?[^\\s${Rb}]+`]]),jf="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",J_=e=>e.replace(/ \./g,".").replace(/ \?/g,"?").replace(/ \!/g,"!").replace(/ ,/g,",").replace(/ \' /g,"'").replace(/ n't/g,"n't").replace(/ 'm/g,"'m").replace(/ 's/g,"'s").replace(/ 've/g,"'ve").replace(/ 're/g,"'re"),Kf=(e,t=!0)=>{if(e.Regex!==void 0){let r=e.Regex.replace(/\\([#&~])/g,"$1");r=r.replace(/\\A/g,"^").replace(/\\z/g,"$").replace(/\\Z/g,"(?=\\r?\\n?$)");for(const[s,o]of BA)r=r.replaceAll(s,o);try{return new RegExp(r,"gu")}catch(s){if(!(s instanceof SyntaxError)||!s.message.toLowerCase().includes("invalid property name"))throw s;let o=!1;const l=r.replace(/(\\[pP])\{([^}=]+)\}/g,(u,d,f)=>{try{return new RegExp(`\\p{${f}}`,"u"),`${d}{${f}}`}catch{return o=!0,`${d}{Script=${f}}`}});if(!o)throw s;try{return new RegExp(l,"gu")}catch{throw s}}}else if(e.String!==void 0){const r=PA(e.String);return new RegExp(t?r:`(${r})`,"gu")}else return console.warn("Unknown pattern type:",e),null},PA=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),IA=(e,t,r)=>{const s=[];let o=0;for(;oe>=19968&&e<=40959||e>=13312&&e<=19903||e>=131072&&e<=173791||e>=173824&&e<=177983||e>=177984&&e<=178207||e>=178208&&e<=183983||e>=63744&&e<=64255||e>=194560&&e<=195103,GA=e=>Number.isInteger(e)||typeof e=="bigint",jA=e=>{let t=0;for(const r of e)++t;return t},VA=e=>PM(e.toLowerCase()),Qa=(...e)=>Array.prototype.concat.apply([],e),eg=e=>new Map(Object.entries(e)),qA=(e,t)=>{const r=[];let s=0;for(const o of e.matchAll(t)){const l=o[0];s0&&r.push(l),s=o.index+l.length}return se.replace(new RegExp("\\p{M}","gu"),""),Bb=(e,t,r=[])=>{if(!e||Array.isArray(e)||typeof e!="object")return`${t} must be a valid object`;for(const s of r)if(!(s in e))return`${t} must contain a "${s}" property`;return null},HA=e=>e.match(/\S+/g)||[],$A=class{constructor(){const e=function(...t){return e._call(...t)};return Object.setPrototypeOf(e,new.target.prototype)}},Cu=$A,QA=class extends Cu{constructor(e){super(),this.config=e}_call(e){return this.normalize(e)}},rs=QA,WA=class extends rs{tokenize_chinese_chars(e){const t=[];for(let r=0;rr.normalize("NFKC")).join("~"):e=e.normalize("NFKC"),e}},ZA=XA,KA=class extends rs{constructor(e){super(e),this.normalizers=(e.normalizers??[]).map(t=>IM(t))}normalize(e){return this.normalizers.reduce((t,r)=>r?r.normalize(t):t,e)}},JA=KA,eC=class extends rs{normalize(e){const t=Kf(this.config.pattern??{});return t===null?e:e.replaceAll(t,this.config.content??"")}},tC=eC,nC=class extends rs{constructor(){super(...arguments),this.form="NFC"}normalize(e){return e=e.normalize(this.form),e}},Jf=nC,aC=class extends Jf{constructor(){super(...arguments),this.form="NFC"}},rC=aC,sC=class extends Jf{constructor(){super(...arguments),this.form="NFD"}},iC=sC,oC=class extends Jf{constructor(){super(...arguments),this.form="NFKC"}},lC=oC,cC=class extends Jf{constructor(){super(...arguments),this.form="NFKD"}},uC=cC,dC=class extends rs{normalize(e){return this.config.strip_left&&this.config.strip_right?e=e.trim():(this.config.strip_left&&(e=e.trimStart()),this.config.strip_right&&(e=e.trimEnd())),e}},fC=dC,hC=class extends rs{normalize(e){return PM(e)}},pC=hC,mC=class extends rs{normalize(e){return e.toLowerCase()}},_C=mC,gC=class extends rs{normalize(e){return e=this.config.prepend+e,e}},yC=gC;function vC(e){if(e===null)return null;switch(e.type){case"BertNormalizer":return new YA(e);case"Precompiled":return new ZA(e);case"Sequence":return new JA(e);case"Replace":return new tC(e);case"NFC":return new rC(e);case"NFD":return new iC(e);case"NFKC":return new lC(e);case"NFKD":return new uC(e);case"Strip":return new fC(e);case"StripAccents":return new pC(e);case"Lowercase":return new _C(e);case"Prepend":return new yC(e);default:throw new Error(`Unknown Normalizer type: ${e.type}`)}}var IM=vC,wC=class extends Cu{pre_tokenize(e,t){return(Array.isArray(e)?e.map(r=>this.pre_tokenize_text(r,t)):this.pre_tokenize_text(e,t)).flat()}_call(e,t){return this.pre_tokenize(e,t)}},Za=wC,bC=class extends Za{constructor(e){super(),this.config=e,this.add_prefix_space=this.config.add_prefix_space??!1,this.trim_offsets=this.config.trim_offsets??!1,this.use_regex=this.config.use_regex??!0,this.pattern=new RegExp("'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+","gu"),this.byte_encoder=BM,this.text_encoder=new TextEncoder}pre_tokenize_text(e,t){return this.add_prefix_space&&!e.startsWith(" ")&&(e=" "+e),(this.use_regex?e.match(this.pattern)||[]:[e]).map(s=>Array.from(this.text_encoder.encode(s),o=>this.byte_encoder[o]).join(""))}},MC=bC,xC=class extends Za{pre_tokenize_text(e,t){return e.match(/\w+|[^\w\s]+/g)||[]}},TC=xC,SC=class extends Za{constructor(e){super(),this.replacement=e.replacement??"▁",this.str_rep=e.str_rep||this.replacement,this.prepend_scheme=e.prepend_scheme??"always"}pre_tokenize_text(e,t){const{section_index:r=void 0}=t??{};let s=e.replaceAll(" ",this.str_rep);return!s.startsWith(this.replacement)&&(this.prepend_scheme==="always"||this.prepend_scheme==="first"&&r===0)&&(s=this.str_rep+s),[s]}},EC=SC,AC=class extends Za{constructor(e){super(),this.config=e,this.pattern=Kf(this.config.pattern??{},this.config.invert??!0)}pre_tokenize_text(e){return this.pattern===null?[]:this.config.invert?e.match(this.pattern)||[]:this.config.behavior?.toLowerCase()==="removed"?e.split(this.pattern).filter(t=>t):qA(e,this.pattern)}},CC=AC,kC=class extends Za{constructor(e){super(),this.config=e,this.pattern=new RegExp(`[^${jf}]+|[${jf}]+`,"gu")}pre_tokenize_text(e){return e.match(this.pattern)||[]}},OC=kC,zC=class extends Za{constructor(e){super(),this.config=e;const t=`[^\\d]+|\\d${this.config.individual_digits?"":"+"}`;this.pattern=new RegExp(t,"gu")}pre_tokenize_text(e){return e.match(this.pattern)||[]}},LC=zC,FC=class extends Za{constructor(){super(),this.pattern=new RegExp(`[^\\s${jf}]+|[${jf}]`,"gu")}pre_tokenize_text(e,t){return e.trim().match(this.pattern)||[]}},NC=FC,DC=class extends Za{constructor(e){super(),this.config=e,this.pattern=Kf(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(e){return this.pattern===null?[e]:[e.replaceAll(this.pattern,this.config.content??"")]}},RC=DC,BC=class extends Za{constructor(e){super(),this.tokenizers=(e.pretokenizers??[]).map(t=>UM(t))}pre_tokenize_text(e,t){return this.tokenizers.reduce((r,s)=>s?s.pre_tokenize(r,t):r,[e])}},PC=BC,IC=class extends Za{pre_tokenize_text(e){return HA(e)}},UC=IC,GC=class extends Za{constructor(e){super(),this.config=e,this._length=e.length}pre_tokenize_text(e){const t=[];for(let r=0;rthis.max_input_chars_per_word){t.push(this.unk_token);continue}let o=!1,l=0;const u=[];for(;l0&&(p=this.config.continuing_subword_prefix+p),this.tokens_to_ids.has(p)){f=p;break}--d}if(f===null){o=!0;break}u.push(f),l=d}o?t.push(this.unk_token):t.push(...u)}return t}},Pb=HC,Ib=class GM{constructor(t,r){this.is_leaf=t,this.children=r}static default(){return new GM(!1,new Map)}},$C=class{constructor(){this.root=Ib.default()}extend(e){for(const t of e)this.push(t)}push(e){let t=this.root;for(const r of e){let s=t.children.get(r);s===void 0&&(s=Ib.default(),t.children.set(r,s)),t=s}t.is_leaf=!0}*common_prefix_search(e){let t=this.root;if(t===void 0)return;let r="";for(const s of e){if(r+=s,t=t.children.get(s),t===void 0)return;t.is_leaf&&(yield r)}}},QC=$C,Xm=class jM{constructor(t,r,s,o,l){this.token_id=t,this.node_id=r,this.pos=s,this.length=o,this.score=l,this.prev=null,this.backtrace_score=0}clone(){const t=new jM(this.token_id,this.node_id,this.pos,this.length,this.score);return t.prev=this.prev,t.backtrace_score=this.backtrace_score,t}},WC=class{constructor(e,t,r){this.chars=Array.from(e),this.len=this.chars.length,this.bos_token_id=t,this.eos_token_id=r,this.nodes=[],this.begin_nodes=Array.from({length:this.len+1},()=>[]),this.end_nodes=Array.from({length:this.len+1},()=>[]);const s=new Xm(this.bos_token_id??0,0,0,0,0),o=new Xm(this.eos_token_id??0,1,this.len,0,0);this.nodes.push(s.clone()),this.nodes.push(o.clone()),this.begin_nodes[this.len].push(o),this.end_nodes[0].push(s)}insert(e,t,r,s){const o=this.nodes.length,l=new Xm(s,o,e,t,r);this.begin_nodes[e].push(l),this.end_nodes[e+t].push(l),this.nodes.push(l)}viterbi(){const e=this.len;let t=0;for(;t<=e;){if(this.begin_nodes[t].length==0)return[];for(let u of this.begin_nodes[t]){u.prev=null;let d=0,f=null;for(let p of this.end_nodes[t]){const _=p.backtrace_score+u.score;(f===null||_>d)&&(f=p.clone(),d=_)}if(f!==null)u.prev=f,u.backtrace_score=d;else return[]}++t}const r=[],o=this.begin_nodes[e][0].prev;if(o===null)return[];let l=o.clone();for(;l.prev!==null;)r.push(l.clone()),l=l.clone().prev.clone();return r.reverse(),r}piece(e){return this.chars.slice(e.pos,e.pos+e.length).join("")}tokens(){return this.viterbi().map(t=>this.piece(t))}token_ids(){return this.viterbi().map(t=>t.token_id)}},YC=WC;function XC(e){if(e.length===0)throw new Error("Array must not be empty");let t=e[0],r=0;for(let s=1;s[s,o])),this.bos_token=" ",this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=t,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.unk_token=this.vocab[this.unk_token_id],this.min_score=XC(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new QC,this.trie.extend(this.vocab),this.fuse_unk=!0}populate_nodes(e){const t=e.chars,r=1;let s=0;for(;sr>s,t=1/0){this._heap=[],this._comparator=e,this._max_size=t}get size(){return this._heap.length}is_empty(){return this.size===0}peek(){return this._heap[0]}push(...e){return this.extend(e)}extend(e){for(const t of e)if(this.size0&&this._swap(0,t),this._heap.pop(),this._sift_down(),e}replace(e){const t=this.peek();return this._heap[0]=e,this._sift_down(),t}_parent(e){return(e+1>>>1)-1}_left(e){return(e<<1)+1}_right(e){return e+1<<1}_greater(e,t){return this._comparator(this._heap[e],this._heap[t])}_swap(e,t){const r=this._heap[e];this._heap[e]=this._heap[t],this._heap[t]=r}_sift_up(){this._sift_up_from(this.size-1)}_sift_up_from(e){for(;e>0&&this._greater(e,this._parent(e));)this._swap(e,this._parent(e)),e=this._parent(e)}_sift_down(){let e=0;for(;this._left(e)this.capacity&&this.cache.delete(this.cache.keys().next().value)}clear(){this.cache.clear()}},tk=ek,nk=class extends eh{constructor(e){super(e),this.tokens_to_ids=eg(e.vocab),this.unk_token_id=this.tokens_to_ids.get(e.unk_token),this.unk_token=e.unk_token,this.vocab=new Array(this.tokens_to_ids.size);for(const[r,s]of this.tokens_to_ids)this.vocab[s]=r;const t=Array.isArray(e.merges[0]);this.merges=t?e.merges:e.merges.map(r=>r.split(" ",2)),this.bpe_ranks=new Map(this.merges.map((r,s)=>[JSON.stringify(r),s])),this.end_of_word_suffix=e.end_of_word_suffix,this.continuing_subword_suffix=e.continuing_subword_suffix??null,this.byte_fallback=this.config.byte_fallback??!1,this.byte_fallback&&(this.text_encoder=new TextEncoder),this.ignore_merges=this.config.ignore_merges??!1,this.max_length_to_cache=256,this.cache_capacity=1e4,this.cache=new tk(this.cache_capacity)}clear_cache(){this.cache.clear()}bpe(e){if(e.length===0)return[];const t=this.cache.get(e);if(t!==void 0)return t;const r=Array.from(e);this.end_of_word_suffix&&(r[r.length-1]+=this.end_of_word_suffix);let s=[];if(r.length>1){const o=new JC((d,f)=>d.score`<0x${u.toString(16).toUpperCase().padStart(2,"0")}>`);l.every(u=>this.tokens_to_ids.has(u))?t.push(...l):t.push(this.unk_token)}else t.push(this.unk_token)}return t}},Gb=nk,ak=class extends eh{constructor(e,t){super(e);const r=e.vocab;this.tokens_to_ids=eg(t.target_lang?r[t.target_lang]:r),this.bos_token=t.bos_token,this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=t.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.pad_token=t.pad_token,this.pad_token_id=this.tokens_to_ids.get(this.pad_token),this.unk_token=t.unk_token,this.unk_token_id=this.tokens_to_ids.get(this.unk_token),this.vocab=new Array(this.tokens_to_ids.size);for(const[s,o]of this.tokens_to_ids)this.vocab[o]=s}encode(e){return e}},rk=ak;function sk(e,t){switch(e.type){case"WordPiece":return new Pb(e);case"Unigram":return new Ub(e,t.eos_token);case"BPE":return new Gb(e);default:if(e.vocab)return Array.isArray(e.vocab)?new Ub(e,t.eos_token):Object.hasOwn(e,"continuing_subword_prefix")&&Object.hasOwn(e,"unk_token")?Object.hasOwn(e,"merges")?new Gb(e):new Pb(e):new rk(e,{target_lang:t.target_lang,bos_token:t.bos_token,eos_token:t.eos_token,pad_token:t.pad_token,unk_token:t.unk_token});throw new Error(`Unknown TokenizerModel type: ${e?.type}`)}}var ik=sk,ok=class extends Cu{constructor(e){super(),this.config=e}_call(e,...t){return this.post_process(e,...t)}},ku=ok,lk=class extends ku{post_process(e,t=null,r=!0){const s=t===null?this.config.single:this.config.pair;let o=[],l=[];for(const u of s)"SpecialToken"in u?r&&(o.push(u.SpecialToken.id),l.push(u.SpecialToken.type_id)):"Sequence"in u&&(u.Sequence.id==="A"?(o=Qa(o,e),l=Qa(l,new Array(e.length).fill(u.Sequence.type_id))):u.Sequence.id==="B"&&(o=Qa(o,t),l=Qa(l,new Array(t.length).fill(u.Sequence.type_id))));return{tokens:o,token_type_ids:l}}},ck=lk,uk=class extends ku{post_process(e,t=null){return{tokens:e,tokens_pair:t}}},dk=uk,fk=class extends ku{constructor(e){super(e),this.sep=e.sep,this.cls=e.cls}post_process(e,t=null,r=!0){r&&(e=Qa([this.cls[0]],e,[this.sep[0]]));let s=new Array(e.length).fill(0);if(t){const o=[],l=r?[this.sep[0]]:[];e=Qa(e,o,t,l),s=Qa(s,new Array(t.length+o.length+l.length).fill(1))}return{tokens:e,token_type_ids:s}}},hk=fk,pk=class extends ku{constructor(e){super(e),this.sep=e.sep,this.cls=e.cls}post_process(e,t,r=!0){r&&(e=Qa([this.cls[0]],e,[this.sep[0]]));let s=new Array(e.length).fill(0);if(t){const o=r?[this.sep[0]]:[],l=r?[this.sep[0]]:[];e=Qa(e,o,t,l),s=Qa(s,new Array(t.length+o.length+l.length).fill(1))}return{tokens:e,token_type_ids:s}}},mk=pk,_k=class extends ku{constructor(e){super(e),this.processors=(e.processors??[]).map(t=>VM(t))}post_process(e,t=null,r=!0){let s={tokens:e,tokens_pair:t};for(const o of this.processors)s=o.post_process(s.tokens,s.tokens_pair,r);return s}},gk=_k;function yk(e){if(e===null)return null;switch(e.type){case"TemplateProcessing":return new ck(e);case"ByteLevel":return new dk(e);case"BertProcessing":return new hk(e);case"RobertaProcessing":return new mk(e);case"Sequence":return new gk(e);default:throw new Error(`Unknown PostProcessor type: ${e.type}`)}}var VM=yk,vk=class extends Cu{constructor(e){super(),this.config=e,this.added_tokens=[],this.end_of_word_suffix=null,this.trim_offsets="trim_offsets"in e?e.trim_offsets:!1}_call(e){return this.decode(e)}decode(e){return this.decode_chain(e).join("")}},Ka=vk,wk=class extends Ka{constructor(e){super(e),this.byte_decoder=RA,this.text_decoder=new TextDecoder("utf-8",{fatal:!1,ignoreBOM:!0}),this.end_of_word_suffix=null}convert_tokens_to_string(e){const t=e.join(""),r=new Uint8Array([...t].map(s=>this.byte_decoder[s]));return this.text_decoder.decode(r)}decode_chain(e){const t=[];let r=[];for(const s of e)this.added_tokens.find(o=>o.content===s)!==void 0?(r.length>0&&(t.push(this.convert_tokens_to_string(r)),r=[]),t.push(s)):r.push(s);return r.length>0&&t.push(this.convert_tokens_to_string(r)),t}},bk=wk,Mk=class extends Ka{constructor(e){super(e),this.cleanup=e.cleanup}decode_chain(e){return e.map((t,r)=>{if(r!==0){const s=this.config.prefix;s&&t.startsWith(s)?t=t.replace(s,""):t=" "+t}return this.cleanup&&(t=J_(t)),t})}},xk=Mk,Tk=class extends Ka{constructor(e){super(e),this.replacement=e.replacement??"▁"}decode_chain(e){const t=[];for(let r=0;rt.replaceAll(this.suffix,r===e.length-1?"":" "))}},Ak=Ek,Ck=class extends Ka{constructor(e){super(e),this.pad_token=e.pad_token??"",this.word_delimiter_token=e.word_delimiter_token??"",this.cleanup=e.cleanup}convert_tokens_to_string(e){if(e.length===0)return"";const t=[e[0]];for(let o=1;oo!==this.pad_token).join("");return this.cleanup&&(s=J_(s).replaceAll(this.word_delimiter_token," ").trim()),s}decode_chain(e){return[this.convert_tokens_to_string(e)]}},kk=Ck,Ok=class extends Ka{constructor(e){super(e),this.decoders=(e.decoders??[]).map(t=>qM(t))}decode_chain(e){return this.decoders.reduce((t,r)=>r.decode_chain(t),e)}},zk=Ok,Lk=class extends Ka{decode_chain(e){const t=Kf(this.config.pattern),r=this.config.content??"";return t===null?e:e.map(s=>s.replaceAll(t,r))}},Fk=Lk,Nk=class extends Ka{decode_chain(e){return[e.join("")]}},Dk=Nk,Rk=class extends Ka{constructor(e){super(e),this.content=e.content??"",this.start=e.start??0,this.stop=e.stop??0}decode_chain(e){return e.map(t=>{let r=0;for(let o=0;o")){const l=parseInt(s.slice(3,5),16);isNaN(l)||(o=l)}if(o!==null)r.push(o);else{if(r.length>0){const l=this.text_decoder.decode(Uint8Array.from(r));t.push(l),r=[]}t.push(s)}}if(r.length>0){const s=this.text_decoder.decode(Uint8Array.from(r));t.push(s),r=[]}return t}},Ik=Pk;function Uk(e){if(e===null)return null;switch(e.type){case"ByteLevel":return new bk(e);case"WordPiece":return new xk(e);case"Metaspace":return new Sk(e);case"BPEDecoder":return new Ak(e);case"CTC":return new kk(e);case"Sequence":return new zk(e);case"Replace":return new Fk(e);case"Fuse":return new Dk(e);case"Strip":return new Bk(e);case"ByteFallback":return new Ik(e);default:throw new Error(`Unknown Decoder type: ${e.type}`)}}var qM=Uk,Gk=class{constructor(e,t){const r=Bb(e,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(r)throw new Error(r);const s=Bb(t,"Config");if(s)throw new Error(s);this.tokenizer=e,this.config=t,this.normalizer=IM(this.tokenizer.normalizer),this.pre_tokenizer=UM(this.tokenizer.pre_tokenizer),this.model=ik(this.tokenizer.model,this.config),this.post_processor=VM(this.tokenizer.post_processor),this.decoder=qM(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[];const o=[],l=[];this.added_tokens_map=new Map;for(const u of this.tokenizer.added_tokens){const d=new NA(u);if(this.added_tokens.push(d),this.model.tokens_to_ids.set(d.content,d.id),this.model.vocab[d.id]=d.content,d.special&&(this.special_tokens.push(d.content),this.all_special_ids.push(d.id)),this.added_tokens_map.set(d.content,d),d.normalized&&this.normalizer!==null){const f=this.normalizer(d.content);l.push(f),this.added_tokens_map.set(f,d)}else o.push(d.content)}(this.config.additional_special_tokens??[]).forEach(u=>{this.special_tokens.includes(u)||this.special_tokens.push(u)}),this.decoder&&(this.decoder.added_tokens=this.added_tokens,this.decoder.end_of_word_suffix=this.model.end_of_word_suffix),this.splitter_unnormalized=new Db(o),this.splitter_normalized=new Db(l),this.remove_space=this.config.remove_space,this.clean_up_tokenization_spaces=this.config.clean_up_tokenization_spaces??!0,this.do_lowercase_and_remove_accent=this.config.do_lowercase_and_remove_accent??!1}encode(e,{text_pair:t=null,add_special_tokens:r=!0,return_token_type_ids:s=null}={}){const{tokens:o,token_type_ids:l}=this.tokenize_helper(e,{text_pair:t,add_special_tokens:r}),u=o.map(f=>this.added_tokens_map.get(f)?.id??this.model.tokens_to_ids.get(f)??this.model.unk_token_id),d={ids:u,tokens:o,attention_mask:new Array(u.length).fill(1)};return s&&l&&(d.token_type_ids=l),d}decode(e,t={}){if(!Array.isArray(e)||e.length===0||!GA(e[0]))throw Error("token_ids must be a non-empty array of integers.");let r=e.map(o=>this.model.vocab[Number(o)]??this.model.unk_token);t.skip_special_tokens&&(r=r.filter(o=>!this.special_tokens.includes(o)));let s=this.decoder?this.decoder(r):r.join(" ");return this.decoder&&this.decoder.end_of_word_suffix&&(s=s.replaceAll(this.decoder.end_of_word_suffix," "),t.skip_special_tokens&&(s=s.trim())),(t.clean_up_tokenization_spaces??this.clean_up_tokenization_spaces)&&(s=J_(s)),s}tokenize(e,{text_pair:t=null,add_special_tokens:r=!1}={}){return this.tokenize_helper(e,{text_pair:t,add_special_tokens:r}).tokens}encode_text(e){if(e===null)return null;const t=this.splitter_unnormalized.split(e);return t.forEach((r,s)=>{const o=this.added_tokens_map.get(r);o&&(o.lstrip&&s>0&&(t[s-1]=t[s-1].trimEnd()),o.rstrip&&s{if(r.length===0)return[];if(this.added_tokens_map.has(r))return[r];if(this.remove_space===!0&&(r=r.trim().split(/\s+/).join(" ")),this.do_lowercase_and_remove_accent&&(r=VA(r)),this.normalizer!==null&&(r=this.normalizer(r)),r.length===0)return[];const o=this.splitter_normalized.split(r);return o.forEach((l,u)=>{const d=this.added_tokens_map.get(l);d&&(d.lstrip&&u>0&&(o[u-1]=o[u-1].trimEnd()),d.rstrip&&u{if(l.length===0)return[];if(this.added_tokens_map.has(l))return[l];const u=this.pre_tokenizer!==null?this.pre_tokenizer(l,{section_index:s}):[l];return this.model(u)})})}tokenize_helper(e,{text_pair:t=null,add_special_tokens:r=!0}){const s=this.encode_text(e),o=this.encode_text(t||null);return this.post_processor?this.post_processor(s,o,r):{tokens:Qa(s??[],o??[])}}token_to_id(e){return this.model.tokens_to_ids.get(e)}id_to_token(e){return this.model.vocab[e]}get_added_tokens_decoder(){const e=new Map;for(const t of this.added_tokens)e.set(t.id,t);return e}get_vocab(e=!0){const t=new Map;for(let r=0;r=",oe.ComparisonBinaryOperator],["==",oe.ComparisonBinaryOperator],["!=",oe.ComparisonBinaryOperator],["<",oe.ComparisonBinaryOperator],[">",oe.ComparisonBinaryOperator],["+",oe.AdditiveBinaryOperator],["-",oe.AdditiveBinaryOperator],["~",oe.AdditiveBinaryOperator],["*",oe.MultiplicativeBinaryOperator],["/",oe.MultiplicativeBinaryOperator],["%",oe.MultiplicativeBinaryOperator],["=",oe.Equals]],qk=new Map([["n",` +`],["t"," "],["r","\r"],["b","\b"],["f","\f"],["v","\v"],["'","'"],['"','"'],["\\","\\"]]);function Hk(e,t={}){return e.endsWith(` +`)&&(e=e.slice(0,-1)),t.lstrip_blocks&&(e=e.replace(/^[ \t]*({[#%-])/gm,"$1")),t.trim_blocks&&(e=e.replace(/([#%-]})\n/g,"$1")),e.replace(/{%\s*(end)?generation\s*%}/gs,"")}function $k(e,t={}){const r=[],s=Hk(e,t);let o=0,l=0;const u=p=>{let _="";for(;p(s[o]);){if(s[o]==="\\"){if(++o,o>=s.length)throw new SyntaxError("Unexpected end of input");const g=s[o++],w=qk.get(g);if(w===void 0)throw new SyntaxError(`Unexpected escaped character: ${g}`);_+=w;continue}if(_+=s[o++],o>=s.length)throw new SyntaxError("Unexpected end of input")}return _},d=()=>{const p=r.at(-1);p&&p.type===oe.Text&&(p.value=p.value.trimEnd(),p.value===""&&r.pop())},f=()=>{for(;o0){r.push(new Aa(g,oe.Text));continue}}if(s[o]==="{"&&s[o+1]==="#"){o+=2;const g=s[o]==="-";g&&++o;let w="";for(;s[o]!=="#"||s[o+1]!=="}";){if(o+2>=s.length)throw new SyntaxError("Missing end of comment tag");w+=s[o++]}const b=w.endsWith("-");b&&(w=w.slice(0,-1)),g&&d(),r.push(new Aa(w,oe.Comment)),o+=2,b&&f();continue}if(s.slice(o,o+3)==="{%-"){d(),r.push(new Aa("{%",oe.OpenStatement)),o+=3;continue}if(s.slice(o,o+3)==="{{-"){d(),r.push(new Aa("{{",oe.OpenExpression)),l=0,o+=3;continue}if(u(Vb),s.slice(o,o+3)==="-%}"){r.push(new Aa("%}",oe.CloseStatement)),o+=3,f();continue}if(s.slice(o,o+3)==="-}}"){r.push(new Aa("}}",oe.CloseExpression)),o+=3,f();continue}const _=s[o];if(_==="-"||_==="+"){const g=r.at(-1)?.type;if(g===oe.Text||g===void 0)throw new SyntaxError(`Unexpected character: ${_}`);switch(g){case oe.Identifier:case oe.NumericLiteral:case oe.StringLiteral:case oe.CloseParen:case oe.CloseSquareBracket:break;default:{++o;const w=u(uu);r.push(new Aa(`${_}${w}`,w.length>0?oe.NumericLiteral:oe.UnaryOperator));continue}}}for(const[g,w]of Vk){if(g==="}}"&&l>0)continue;if(s.slice(o,o+g.length)===g){r.push(new Aa(g,w)),w===oe.OpenExpression?l=0:w===oe.OpenCurlyBracket?++l:w===oe.CloseCurlyBracket&&--l,o+=g.length;continue e}}if(_==="'"||_==='"'){++o;const g=u(w=>w!==_);r.push(new Aa(g,oe.StringLiteral)),++o;continue}if(uu(_)){let g=u(uu);if(s[o]==="."&&uu(s[o+1])){++o;const w=u(uu);g=`${g}.${w}`}r.push(new Aa(g,oe.NumericLiteral));continue}if(jb(_)){const g=u(jb);r.push(new Aa(g,oe.Identifier));continue}throw new SyntaxError(`Unexpected character: ${_}`)}return r}var Ja=class{type="Statement"},Qk=class extends Ja{constructor(e){super(),this.body=e}type="Program"},Wk=class extends Ja{constructor(e,t,r){super(),this.test=e,this.body=t,this.alternate=r}type="If"},Yk=class extends Ja{constructor(e,t,r,s){super(),this.loopvar=e,this.iterable=t,this.body=r,this.defaultBlock=s}type="For"},Xk=class extends Ja{type="Break"},Zk=class extends Ja{type="Continue"},Kk=class extends Ja{constructor(e,t,r){super(),this.assignee=e,this.value=t,this.body=r}type="Set"},Jk=class extends Ja{constructor(e,t,r){super(),this.name=e,this.args=t,this.body=r}type="Macro"},e3=class extends Ja{constructor(e){super(),this.value=e}type="Comment"},pa=class extends Ja{type="Expression"},t3=class extends pa{constructor(e,t,r){super(),this.object=e,this.property=t,this.computed=r}type="MemberExpression"},qb=class extends pa{constructor(e,t){super(),this.callee=e,this.args=t}type="CallExpression"},dl=class extends pa{constructor(e){super(),this.value=e}type="Identifier"},Cl=class extends pa{constructor(e){super(),this.value=e}type="Literal"},n3=class extends Cl{type="IntegerLiteral"},a3=class extends Cl{type="FloatLiteral"},Hb=class extends Cl{type="StringLiteral"},r3=class extends Cl{type="ArrayLiteral"},$b=class extends Cl{type="TupleLiteral"},s3=class extends Cl{type="ObjectLiteral"},du=class extends pa{constructor(e,t,r){super(),this.operator=e,this.left=t,this.right=r}type="BinaryExpression"},i3=class extends pa{constructor(e,t){super(),this.operand=e,this.filter=t}type="FilterExpression"},o3=class extends Ja{constructor(e,t){super(),this.filter=e,this.body=t}type="FilterStatement"},l3=class extends pa{constructor(e,t){super(),this.lhs=e,this.test=t}type="SelectExpression"},c3=class extends pa{constructor(e,t,r){super(),this.operand=e,this.negate=t,this.test=r}type="TestExpression"},u3=class extends pa{constructor(e,t){super(),this.operator=e,this.argument=t}type="UnaryExpression"},d3=class extends pa{constructor(e=void 0,t=void 0,r=void 0){super(),this.start=e,this.stop=t,this.step=r}type="SliceExpression"},f3=class extends pa{constructor(e,t){super(),this.key=e,this.value=t}type="KeywordArgumentExpression"},h3=class extends pa{constructor(e){super(),this.argument=e}type="SpreadExpression"},p3=class extends Ja{constructor(e,t,r){super(),this.call=e,this.callerArgs=t,this.body=r}type="CallStatement"},m3=class extends pa{constructor(e,t,r){super(),this.condition=e,this.trueExpr=t,this.falseExpr=r}type="Ternary"};function _3(e){const t=new Qk([]);let r=0;function s(U,Q){const ee=e[r++];if(!ee||ee.type!==U)throw new Error(`Parser Error: ${Q}. ${ee.type} !== ${U}.`);return ee}function o(U){if(!f(U))throw new SyntaxError(`Expected ${U}`);++r}function l(){switch(e[r].type){case oe.Comment:return new e3(e[r++].value);case oe.Text:return p();case oe.OpenStatement:return _();case oe.OpenExpression:return g();default:throw new SyntaxError(`Unexpected token type: ${e[r].type}`)}}function u(...U){return r+U.length<=e.length&&U.every((Q,ee)=>Q===e[r+ee].type)}function d(...U){return e[r]?.type===oe.OpenStatement&&e[r+1]?.type===oe.Identifier&&U.includes(e[r+1]?.value)}function f(...U){return r+U.length<=e.length&&U.every((Q,ee)=>e[r+ee].type==="Identifier"&&Q===e[r+ee].value)}function p(){return new Hb(s(oe.Text,"Expected text token").value)}function _(){if(s(oe.OpenStatement,"Expected opening statement token"),e[r].type!==oe.Identifier)throw new SyntaxError(`Unknown statement, got ${e[r].type}`);const U=e[r].value;let Q;switch(U){case"set":++r,Q=w();break;case"if":++r,Q=b(),s(oe.OpenStatement,"Expected {% token"),o("endif"),s(oe.CloseStatement,"Expected %} token");break;case"macro":++r,Q=S(),s(oe.OpenStatement,"Expected {% token"),o("endmacro"),s(oe.CloseStatement,"Expected %} token");break;case"for":++r,Q=z(),s(oe.OpenStatement,"Expected {% token"),o("endfor"),s(oe.CloseStatement,"Expected %} token");break;case"call":{++r;let ee=null;u(oe.OpenParen)&&(ee=fe());const N=X();if(N.type!=="Identifier")throw new SyntaxError("Expected identifier following call statement");const ne=fe();s(oe.CloseStatement,"Expected closing statement token");const re=[];for(;!d("endcall");)re.push(l());s(oe.OpenStatement,"Expected '{%'"),o("endcall"),s(oe.CloseStatement,"Expected closing statement token");const ge=new qb(N,ne);Q=new p3(ge,ee,re);break}case"break":++r,s(oe.CloseStatement,"Expected closing statement token"),Q=new Xk;break;case"continue":++r,s(oe.CloseStatement,"Expected closing statement token"),Q=new Zk;break;case"filter":{++r;let ee=X();ee instanceof dl&&u(oe.OpenParen)&&(ee=le(ee)),s(oe.CloseStatement,"Expected closing statement token");const N=[];for(;!d("endfilter");)N.push(l());s(oe.OpenStatement,"Expected '{%'"),o("endfilter"),s(oe.CloseStatement,"Expected '%}'"),Q=new o3(ee,N);break}default:throw new SyntaxError(`Unknown statement type: ${U}`)}return Q}function g(){s(oe.OpenExpression,"Expected opening expression token");const U=C();return s(oe.CloseExpression,"Expected closing expression token"),U}function w(){const U=E();let Q=null;const ee=[];if(u(oe.Equals))++r,Q=E();else{for(s(oe.CloseStatement,"Expected %} token");!d("endset");)ee.push(l());s(oe.OpenStatement,"Expected {% token"),o("endset")}return s(oe.CloseStatement,"Expected closing statement token"),new Kk(U,Q,ee)}function b(){const U=C();s(oe.CloseStatement,"Expected closing statement token");const Q=[],ee=[];for(;!d("elif","else","endif");)Q.push(l());if(d("elif")){++r,++r;const N=b();ee.push(N)}else if(d("else"))for(++r,++r,s(oe.CloseStatement,"Expected closing statement token");!d("endif");)ee.push(l());return new Wk(U,Q,ee)}function S(){const U=X();if(U.type!=="Identifier")throw new SyntaxError("Expected identifier following macro statement");const Q=fe();s(oe.CloseStatement,"Expected closing statement token");const ee=[];for(;!d("endmacro");)ee.push(l());return new Jk(U,Q,ee)}function E(U=!1){const Q=U?X:C,ee=[Q()],N=u(oe.Comma);for(;N&&(++r,ee.push(Q()),!!u(oe.Comma)););return N?new $b(ee):ee[0]}function z(){const U=E(!0);if(!(U instanceof dl||U instanceof $b))throw new SyntaxError(`Expected identifier/tuple for the loop variable, got ${U.type} instead`);if(!f("in"))throw new SyntaxError("Expected `in` keyword following loop variable");++r;const Q=C();s(oe.CloseStatement,"Expected closing statement token");const ee=[];for(;!d("endfor","else");)ee.push(l());const N=[];if(d("else"))for(++r,++r,s(oe.CloseStatement,"Expected closing statement token");!d("endfor");)N.push(l());return new Yk(U,Q,ee,N)}function C(){return L()}function L(){const U=D();if(f("if")){++r;const Q=D();if(f("else")){++r;const ee=L();return new m3(Q,U,ee)}else return new l3(U,Q)}return U}function D(){let U=R();for(;f("or");){const Q=e[r];++r;const ee=R();U=new du(Q,U,ee)}return U}function R(){let U=P();for(;f("and");){const Q=e[r];++r;const ee=P();U=new du(Q,U,ee)}return U}function P(){let U;for(;f("not");){const Q=e[r];++r;const ee=P();U=new u3(Q,ee)}return U??Y()}function Y(){let U=O();for(;;){let Q;if(f("not","in"))Q=new Aa("not in",oe.Identifier),r+=2;else if(f("in"))Q=e[r++];else if(u(oe.ComparisonBinaryOperator))Q=e[r++];else break;const ee=O();U=new du(Q,U,ee)}return U}function O(){let U=q();for(;u(oe.AdditiveBinaryOperator);){const Q=e[r];++r;const ee=q();U=new du(Q,U,ee)}return U}function pe(){const U=W(X());return u(oe.OpenParen)?le(U):U}function le(U){let Q=new qb(U,fe());return Q=W(Q),u(oe.OpenParen)&&(Q=le(Q)),Q}function fe(){s(oe.OpenParen,"Expected opening parenthesis for arguments list");const U=_e();return s(oe.CloseParen,"Expected closing parenthesis for arguments list"),U}function _e(){const U=[];for(;!u(oe.CloseParen);){let Q;if(e[r].type===oe.MultiplicativeBinaryOperator&&e[r].value==="*"){++r;const ee=C();Q=new h3(ee)}else if(Q=C(),u(oe.Equals)){if(++r,!(Q instanceof dl))throw new SyntaxError("Expected identifier for keyword argument");const ee=C();Q=new f3(Q,ee)}U.push(Q),u(oe.Comma)&&++r}return U}function de(){const U=[];let Q=!1;for(;!u(oe.CloseSquareBracket);)u(oe.Colon)?(U.push(void 0),++r,Q=!0):(U.push(C()),u(oe.Colon)&&(++r,Q=!0));if(U.length===0)throw new SyntaxError("Expected at least one argument for member/slice expression");if(Q){if(U.length>3)throw new SyntaxError("Expected 0-3 arguments for slice expression");return new d3(...U)}return U[0]}function W(U){for(;u(oe.Dot)||u(oe.OpenSquareBracket);){const Q=e[r];++r;let ee;const N=Q.type===oe.OpenSquareBracket;if(N)ee=de(),s(oe.CloseSquareBracket,"Expected closing square bracket");else if(ee=X(),ee.type!=="Identifier")throw new SyntaxError("Expected identifier following dot operator");U=new t3(U,ee,N)}return U}function q(){let U=se();for(;u(oe.MultiplicativeBinaryOperator);){const Q=e[r++],ee=se();U=new du(Q,U,ee)}return U}function se(){let U=V();for(;f("is");){++r;const Q=f("not");Q&&++r;const ee=X();if(!(ee instanceof dl))throw new SyntaxError("Expected identifier for the test");U=new c3(U,Q,ee)}return U}function V(){let U=pe();for(;u(oe.Pipe);){++r;let Q=X();if(!(Q instanceof dl))throw new SyntaxError("Expected identifier for the filter");u(oe.OpenParen)&&(Q=le(Q)),U=new i3(U,Q)}return U}function X(){const U=e[r++];switch(U.type){case oe.NumericLiteral:{const Q=U.value;return Q.includes(".")?new a3(Number(Q)):new n3(Number(Q))}case oe.StringLiteral:{let Q=U.value;for(;u(oe.StringLiteral);)Q+=e[r++].value;return new Hb(Q)}case oe.Identifier:return new dl(U.value);case oe.OpenParen:{const Q=E();return s(oe.CloseParen,"Expected closing parenthesis, got ${tokens[current].type} instead."),Q}case oe.OpenSquareBracket:{const Q=[];for(;!u(oe.CloseSquareBracket);)Q.push(C()),u(oe.Comma)&&++r;return++r,new r3(Q)}case oe.OpenCurlyBracket:{const Q=new Map;for(;!u(oe.CloseCurlyBracket);){const ee=C();s(oe.Colon,"Expected colon between key and value in object literal");const N=C();Q.set(ee,N),u(oe.Comma)&&++r}return++r,new s3(Q)}default:throw new SyntaxError(`Unexpected token: ${U.type}`)}}for(;r0)for(let o=e;ot;o+=r)s.push(o);return s}function Qb(e,t,r,s=1){const o=Math.sign(s);o>=0?(t=(t??=0)<0?Math.max(e.length+t,0):Math.min(t,e.length),r=(r??=e.length)<0?Math.max(e.length+r,0):Math.min(r,e.length)):(t=(t??=e.length-1)<0?Math.max(e.length+t,-1):Math.min(t,e.length-1),r=(r??=-1)<-1?Math.max(e.length+r,-1):Math.min(r,e.length-1));const l=[];for(let u=t;o*ut.toUpperCase())}function v3(e){return w3(new Date,e)}function w3(e,t){const r=new Intl.DateTimeFormat(void 0,{month:"long"}),s=new Intl.DateTimeFormat(void 0,{month:"short"}),o=l=>l<10?"0"+l:l.toString();return t.replace(/%[YmdbBHM%]/g,l=>{switch(l){case"%Y":return e.getFullYear().toString();case"%m":return o(e.getMonth()+1);case"%d":return o(e.getDate());case"%b":return s.format(e);case"%B":return r.format(e);case"%H":return o(e.getHours());case"%M":return o(e.getMinutes());case"%%":return"%";default:return l}})}function b3(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function M3(e,t,r,s){if(s===0)return e;let o=s==null||s<0?1/0:s;const l=t.length===0?new RegExp("(?=)","gu"):new RegExp(b3(t),"gu");return e.replaceAll(l,u=>o>0?(--o,r):u)}var Wb=class extends Error{},Yb=class extends Error{},Ar=class{type="RuntimeValue";value;builtins=new Map;constructor(e=void 0){this.value=e}__bool__(){return new Fe(!!this.value)}toString(){return String(this.value)}},je=class extends Ar{type="IntegerValue"},jt=class extends Ar{type="FloatValue";toString(){return this.value%1===0?this.value.toFixed(1):this.value.toString()}},be=class extends Ar{type="StringValue";builtins=new Map([["upper",new At(()=>new be(this.value.toUpperCase()))],["lower",new At(()=>new be(this.value.toLowerCase()))],["strip",new At(()=>new be(this.value.trim()))],["title",new At(()=>new be(y3(this.value)))],["capitalize",new At(()=>new be(this.value.charAt(0).toUpperCase()+this.value.slice(1)))],["length",new je(this.value.length)],["rstrip",new At(()=>new be(this.value.trimEnd()))],["lstrip",new At(()=>new be(this.value.trimStart()))],["startswith",new At(e=>{if(e.length===0)throw new Error("startswith() requires at least one argument");const t=e[0];if(t instanceof be)return new Fe(this.value.startsWith(t.value));if(t instanceof Ke){for(const r of t.value){if(!(r instanceof be))throw new Error("startswith() tuple elements must be strings");if(this.value.startsWith(r.value))return new Fe(!0)}return new Fe(!1)}throw new Error("startswith() argument must be a string or tuple of strings")})],["endswith",new At(e=>{if(e.length===0)throw new Error("endswith() requires at least one argument");const t=e[0];if(t instanceof be)return new Fe(this.value.endsWith(t.value));if(t instanceof Ke){for(const r of t.value){if(!(r instanceof be))throw new Error("endswith() tuple elements must be strings");if(this.value.endsWith(r.value))return new Fe(!0)}return new Fe(!1)}throw new Error("endswith() argument must be a string or tuple of strings")})],["split",new At(e=>{const t=e[0]??new zt;if(!(t instanceof be||t instanceof zt))throw new Error("sep argument must be a string or null");const r=e[1]??new je(-1);if(!(r instanceof je))throw new Error("maxsplit argument must be a number");let s=[];if(t instanceof zt){const o=this.value.trimStart();for(const{0:l,index:u}of o.matchAll(/\S+/g)){if(r.value!==-1&&s.length>=r.value&&u!==void 0){s.push(l+o.slice(u+l.length));break}s.push(l)}}else{if(t.value==="")throw new Error("empty separator");s=this.value.split(t.value),r.value!==-1&&s.length>r.value&&s.push(s.splice(r.value).join(t.value))}return new Ke(s.map(o=>new be(o)))})],["replace",new At(e=>{if(e.length<2)throw new Error("replace() requires at least two arguments");const t=e[0],r=e[1];if(!(t instanceof be&&r instanceof be))throw new Error("replace() arguments must be strings");let s;if(e.length>2?e[2].type==="KeywordArgumentsValue"?s=e[2].value.get("count")??new zt:s=e[2]:s=new zt,!(s instanceof je||s instanceof zt))throw new Error("replace() count argument must be a number or null");return new be(M3(this.value,t.value,r.value,s.value))})]])},Fe=class extends Ar{type="BooleanValue"},x3=/[\x7f-\uffff]/g;function Xb(e){return e.replace(x3,t=>"\\u"+t.charCodeAt(0).toString(16).padStart(4,"0"))}function Qi(e,t={},r=0,s=!0){const{indent:o=null,ensureAscii:l=!1,separators:u=null,sortKeys:d=!1}=t;let f,p;switch(u?[f,p]=u:o?(f=",",p=": "):(f=", ",p=": "),e.type){case"NullValue":return"null";case"UndefinedValue":return s?"null":"undefined";case"IntegerValue":case"FloatValue":case"BooleanValue":return JSON.stringify(e.value);case"StringValue":{let _=JSON.stringify(e.value);return l&&(_=Xb(_)),_}case"ArrayValue":case"ObjectValue":{const _=o?" ".repeat(o):"",g=` +`+_.repeat(r),w=g+_;if(e.type==="ArrayValue"){const b=e.value.map(S=>Qi(S,t,r+1,s));return o?`[${w}${b.join(`${f}${w}`)}${g}]`:`[${b.join(f)}]`}else{let b=Array.from(e.value.entries());d&&(b=b.sort(([E],[z])=>E.localeCompare(z)));const S=b.map(([E,z])=>{let C=JSON.stringify(E);l&&(C=Xb(C));const L=`${C}${p}${Qi(z,t,r+1,s)}`;return o?`${w}${L}`:L});return o?`{${S.join(f)}${g}}`:`{${S.join(f)}}`}}default:throw new Error(`Cannot convert to JSON: ${e.type}`)}}var un=class extends Ar{type="ObjectValue";__bool__(){return new Fe(this.value.size>0)}builtins=new Map([["get",new At(([e,t])=>{if(!(e instanceof be))throw new Error(`Object key must be a string: got ${e.type}`);return this.value.get(e.value)??t??new zt})],["items",new At(()=>this.items())],["keys",new At(()=>this.keys())],["values",new At(()=>this.values())],["dictsort",new At(e=>{let t=new Map;const r=e.filter(d=>d instanceof gu?(t=d.value,!1):!0),s=r.at(0)??t.get("case_sensitive")??new Fe(!1);if(!(s instanceof Fe))throw new Error("case_sensitive must be a boolean");const o=r.at(1)??t.get("by")??new be("key");if(!(o instanceof be))throw new Error("by must be a string");if(!["key","value"].includes(o.value))throw new Error("by must be either 'key' or 'value'");const l=r.at(2)??t.get("reverse")??new Fe(!1);if(!(l instanceof Fe))throw new Error("reverse must be a boolean");const u=Array.from(this.value.entries()).map(([d,f])=>new Ke([new be(d),f])).sort((d,f)=>{const p=o.value==="key"?0:1,_=d.value[p],g=f.value[p],w=y_(_,g,s.value);return l.value?-w:w});return new Ke(u)})]]);items(){return new Ke(Array.from(this.value.entries()).map(([e,t])=>new Ke([new be(e),t])))}keys(){return new Ke(Array.from(this.value.keys()).map(e=>new be(e)))}values(){return new Ke(Array.from(this.value.values()))}toString(){return Qi(this,{},0,!1)}},gu=class extends un{type="KeywordArgumentsValue"},Ke=class extends Ar{type="ArrayValue";builtins=new Map([["length",new je(this.value.length)]]);__bool__(){return new Fe(this.value.length>0)}toString(){return Qi(this,{},0,!1)}},Zb=class extends Ke{type="TupleValue"},At=class extends Ar{type="FunctionValue"},zt=class extends Ar{type="NullValue"},Et=class extends Ar{type="UndefinedValue"},Gi=class{constructor(e){this.parent=e}variables=new Map([["namespace",new At(e=>{if(e.length===0)return new un(new Map);if(e.length!==1||!(e[0]instanceof un))throw new Error("`namespace` expects either zero arguments or a single object argument");return e[0]})]]);tests=new Map([["boolean",e=>e.type==="BooleanValue"],["callable",e=>e instanceof At],["odd",e=>{if(!(e instanceof je))throw new Error(`cannot odd on ${e.type}`);return e.value%2!==0}],["even",e=>{if(!(e instanceof je))throw new Error(`cannot even on ${e.type}`);return e.value%2===0}],["false",e=>e.type==="BooleanValue"&&!e.value],["true",e=>e.type==="BooleanValue"&&e.value],["none",e=>e.type==="NullValue"],["string",e=>e.type==="StringValue"],["number",e=>e instanceof je||e instanceof jt],["integer",e=>e instanceof je],["iterable",e=>e.type==="ArrayValue"||e.type==="StringValue"],["mapping",e=>e instanceof un],["sequence",e=>e instanceof Ke||e instanceof un||e instanceof be],["lower",e=>{const t=e.value;return e.type==="StringValue"&&t===t.toLowerCase()}],["upper",e=>{const t=e.value;return e.type==="StringValue"&&t===t.toUpperCase()}],["none",e=>e.type==="NullValue"],["defined",e=>e.type!=="UndefinedValue"],["undefined",e=>e.type==="UndefinedValue"],["equalto",(e,t)=>e.value===t.value],["eq",(e,t)=>e.value===t.value]]);set(e,t){return this.declareVariable(e,Of(t))}declareVariable(e,t){if(this.variables.has(e))throw new SyntaxError(`Variable already declared: ${e}`);return this.variables.set(e,t),t}setVariable(e,t){return this.variables.set(e,t),t}resolve(e){if(this.variables.has(e))return this;if(this.parent)return this.parent.resolve(e);throw new Error(`Unknown variable: ${e}`)}lookupVariable(e){try{return this.resolve(e).variables.get(e)??new Et}catch{return new Et}}};function T3(e){e.set("false",!1),e.set("true",!0),e.set("none",null),e.set("raise_exception",t=>{throw new Error(t)}),e.set("range",g3),e.set("strftime_now",v3),e.set("True",!0),e.set("False",!1),e.set("None",null)}function Kb(e,t){const r=t.split(".");let s=e;for(const o of r)if(s instanceof un)s=s.value.get(o)??new Et;else if(s instanceof Ke){const l=parseInt(o,10);if(!isNaN(l)&&l>=0&&ll instanceof je||l instanceof jt||l instanceof Fe,o=l=>l instanceof Fe?l.value?1:0:l.value;if(s(e)&&s(t)){const l=o(e),u=o(t);return lu?1:0}if(e.type!==t.type)throw new Error(`Cannot compare different types: ${e.type} and ${t.type}`);if(e.type==="StringValue"){let l=e.value,u=t.value;return r||(l=l.toLowerCase(),u=u.toLowerCase()),lu?1:0}else throw new Error(`Cannot compare type: ${e.type}`)}var S3=class{global;constructor(e){this.global=e??new Gi}run(e){return this.evaluate(e,this.global)}evaluateBinaryExpression(e,t){const r=this.evaluate(e.left,t);switch(e.operator.value){case"and":return r.__bool__().value?this.evaluate(e.right,t):r;case"or":return r.__bool__().value?r:this.evaluate(e.right,t)}const s=this.evaluate(e.right,t);switch(e.operator.value){case"==":return new Fe(r.value==s.value);case"!=":return new Fe(r.value!=s.value)}if(r instanceof Et||s instanceof Et){if(s instanceof Et&&["in","not in"].includes(e.operator.value))return new Fe(e.operator.value==="not in");throw new Error(`Cannot perform operation ${e.operator.value} on undefined values`)}else{if(r instanceof zt||s instanceof zt)throw new Error("Cannot perform operation on null values");if(e.operator.value==="~")return new be(r.value.toString()+s.value.toString());if((r instanceof je||r instanceof jt)&&(s instanceof je||s instanceof jt)){const o=r.value,l=s.value;switch(e.operator.value){case"+":case"-":case"*":{const u=e.operator.value==="+"?o+l:e.operator.value==="-"?o-l:o*l;return r instanceof jt||s instanceof jt?new jt(u):new je(u)}case"/":return new jt(o/l);case"%":{const u=o%l;return r instanceof jt||s instanceof jt?new jt(u):new je(u)}case"<":return new Fe(o":return new Fe(o>l);case">=":return new Fe(o>=l);case"<=":return new Fe(o<=l)}}else if(r instanceof Ke&&s instanceof Ke){if(e.operator.value==="+")return new Ke(r.value.concat(s.value))}else if(s instanceof Ke){const o=s.value.find(l=>l.value===r.value)!==void 0;switch(e.operator.value){case"in":return new Fe(o);case"not in":return new Fe(!o)}}}if((r instanceof be||s instanceof be)&&e.operator.value==="+")return new be(r.value.toString()+s.value.toString());if(r instanceof be&&s instanceof be)switch(e.operator.value){case"in":return new Fe(s.value.includes(r.value));case"not in":return new Fe(!s.value.includes(r.value))}if(r instanceof be&&s instanceof un)switch(e.operator.value){case"in":return new Fe(s.value.has(r.value));case"not in":return new Fe(!s.value.has(r.value))}throw new SyntaxError(`Unknown operator "${e.operator.value}" between ${r.type} and ${s.type}`)}evaluateArguments(e,t){const r=[],s=new Map;for(const o of e)if(o.type==="SpreadExpression"){const l=o,u=this.evaluate(l.argument,t);if(!(u instanceof Ke))throw new Error(`Cannot unpack non-iterable type: ${u.type}`);for(const d of u.value)r.push(d)}else if(o.type==="KeywordArgumentExpression"){const l=o;s.set(l.key.value,this.evaluate(l.value,t))}else{if(s.size>0)throw new Error("Positional arguments must come before keyword arguments");r.push(this.evaluate(o,t))}return[r,s]}applyFilter(e,t,r){if(t.type==="Identifier"){const s=t;if(s.value==="safe")return e;if(s.value==="tojson")return new be(Qi(e,{}));if(e instanceof Ke)switch(s.value){case"list":return e;case"first":return e.value[0];case"last":return e.value[e.value.length-1];case"length":return new je(e.value.length);case"reverse":return new Ke(e.value.slice().reverse());case"sort":return new Ke(e.value.slice().sort((o,l)=>y_(o,l,!1)));case"join":return new be(e.value.map(o=>o.value).join(""));case"string":return new be(Qi(e,{},0,!1));case"unique":{const o=new Set,l=[];for(const u of e.value)o.has(u.value)||(o.add(u.value),l.push(u));return new Ke(l)}default:throw new Error(`Unknown ArrayValue filter: ${s.value}`)}else if(e instanceof be)switch(s.value){case"length":case"upper":case"lower":case"title":case"capitalize":{const o=e.builtins.get(s.value);if(o instanceof At)return o.value([],r);if(o instanceof je)return o;throw new Error(`Unknown StringValue filter: ${s.value}`)}case"trim":return new be(e.value.trim());case"indent":return new be(e.value.split(` +`).map((o,l)=>l===0||o.length===0?o:" "+o).join(` +`));case"join":case"string":return e;case"int":{const o=parseInt(e.value,10);return new je(isNaN(o)?0:o)}case"float":{const o=parseFloat(e.value);return new jt(isNaN(o)?0:o)}default:throw new Error(`Unknown StringValue filter: ${s.value}`)}else if(e instanceof je||e instanceof jt)switch(s.value){case"abs":return e instanceof je?new je(Math.abs(e.value)):new jt(Math.abs(e.value));case"int":return new je(Math.floor(e.value));case"float":return new jt(e.value);case"string":return new be(e.toString());default:throw new Error(`Unknown NumericValue filter: ${s.value}`)}else if(e instanceof un)switch(s.value){case"items":return new Ke(Array.from(e.value.entries()).map(([o,l])=>new Ke([new be(o),l])));case"length":return new je(e.value.size);default:{const o=e.builtins.get(s.value);if(o)return o instanceof At?o.value([],r):o;throw new Error(`Unknown ObjectValue filter: ${s.value}`)}}else if(e instanceof Fe)switch(s.value){case"bool":return new Fe(e.value);case"int":return new je(e.value?1:0);case"float":return new jt(e.value?1:0);case"string":return new be(e.value?"true":"false");default:throw new Error(`Unknown BooleanValue filter: ${s.value}`)}throw new Error(`Cannot apply filter "${s.value}" to type: ${e.type}`)}else if(t.type==="CallExpression"){const s=t;if(s.callee.type!=="Identifier")throw new Error(`Unknown filter: ${s.callee.type}`);const o=s.callee.value;if(o==="tojson"){const[,l]=this.evaluateArguments(s.args,r),u=l.get("indent")??new zt;if(!(u instanceof je||u instanceof zt))throw new Error("If set, indent must be a number");const d=l.get("ensure_ascii")??new Fe(!1);if(!(d instanceof Fe))throw new Error("If set, ensure_ascii must be a boolean");const f=l.get("sort_keys")??new Fe(!1);if(!(f instanceof Fe))throw new Error("If set, sort_keys must be a boolean");const p=l.get("separators")??new zt;let _=null;if(p instanceof Ke||p instanceof Zb){if(p.value.length!==2)throw new Error("separators must be a tuple of two strings");const[g,w]=p.value;if(!(g instanceof be)||!(w instanceof be))throw new Error("separators must be a tuple of two strings");_=[g.value,w.value]}else if(!(p instanceof zt))throw new Error("If set, separators must be a tuple of two strings");return new be(Qi(e,{indent:u.value,ensureAscii:d.value,sortKeys:f.value,separators:_}))}else if(o==="join"){let l;if(e instanceof be)l=Array.from(e.value);else if(e instanceof Ke)l=e.value.map(p=>p.value);else throw new Error(`Cannot apply filter "${o}" to type: ${e.type}`);const[u,d]=this.evaluateArguments(s.args,r),f=u.at(0)??d.get("separator")??new be("");if(!(f instanceof be))throw new Error("separator must be a string");return new be(l.join(f.value))}else if(o==="int"||o==="float"){const[l,u]=this.evaluateArguments(s.args,r),d=l.at(0)??u.get("default")??(o==="int"?new je(0):new jt(0));if(e instanceof be){const f=o==="int"?parseInt(e.value,10):parseFloat(e.value);return isNaN(f)?d:o==="int"?new je(f):new jt(f)}else{if(e instanceof je||e instanceof jt)return e;if(e instanceof Fe)return o==="int"?new je(e.value?1:0):new jt(e.value?1:0);throw new Error(`Cannot apply filter "${o}" to type: ${e.type}`)}}else if(o==="default"){const[l,u]=this.evaluateArguments(s.args,r),d=l[0]??new be(""),f=l[1]??u.get("boolean")??new Fe(!1);if(!(f instanceof Fe))throw new Error("`default` filter flag must be a boolean");return e instanceof Et||f.value&&!e.__bool__().value?d:e}if(e instanceof Ke){switch(o){case"sort":{const[l,u]=this.evaluateArguments(s.args,r),d=l.at(0)??u.get("reverse")??new Fe(!1);if(!(d instanceof Fe))throw new Error("reverse must be a boolean");const f=l.at(1)??u.get("case_sensitive")??new Fe(!1);if(!(f instanceof Fe))throw new Error("case_sensitive must be a boolean");const p=l.at(2)??u.get("attribute")??new zt;if(!(p instanceof be||p instanceof je||p instanceof zt))throw new Error("attribute must be a string, integer, or null");const _=g=>{if(p instanceof zt)return g;const w=p instanceof je?String(p.value):p.value;return Kb(g,w)};return new Ke(e.value.slice().sort((g,w)=>{const b=_(g),S=_(w),E=y_(b,S,f.value);return d.value?-E:E}))}case"selectattr":case"rejectattr":{const l=o==="selectattr";if(e.value.some(g=>!(g instanceof un)))throw new Error(`\`${o}\` can only be applied to array of objects`);if(s.args.some(g=>g.type!=="StringLiteral"))throw new Error(`arguments of \`${o}\` must be strings`);const[u,d,f]=s.args.map(g=>this.evaluate(g,r));let p;if(d){const g=r.tests.get(d.value);if(!g)throw new Error(`Unknown test: ${d.value}`);p=g}else p=(...g)=>g[0].__bool__().value;const _=e.value.filter(g=>{const w=g.value.get(u.value),b=w?p(w,f):!1;return l?b:!b});return new Ke(_)}case"map":{const[,l]=this.evaluateArguments(s.args,r);if(l.has("attribute")){const u=l.get("attribute");if(!(u instanceof be))throw new Error("attribute must be a string");const d=l.get("default"),f=e.value.map(p=>{if(!(p instanceof un))throw new Error("items in map must be an object");const _=Kb(p,u.value);return _ instanceof Et?d??new Et:_});return new Ke(f)}else throw new Error("`map` expressions without `attribute` set are not currently supported.")}}throw new Error(`Unknown ArrayValue filter: ${o}`)}else if(e instanceof be){switch(o){case"indent":{const[l,u]=this.evaluateArguments(s.args,r),d=l.at(0)??u.get("width")??new je(4);if(!(d instanceof je))throw new Error("width must be a number");const f=l.at(1)??u.get("first")??new Fe(!1),p=l.at(2)??u.get("blank")??new Fe(!1),_=e.value.split(` +`),g=" ".repeat(d.value),w=_.map((b,S)=>!f.value&&S===0||!p.value&&b.length===0?b:g+b);return new be(w.join(` +`))}case"replace":{const l=e.builtins.get("replace");if(!(l instanceof At))throw new Error("replace filter not available");const[u,d]=this.evaluateArguments(s.args,r);return l.value([...u,new gu(d)],r)}}throw new Error(`Unknown StringValue filter: ${o}`)}else if(e instanceof un){const l=e.builtins.get(o);if(l&&l instanceof At){const[u,d]=this.evaluateArguments(s.args,r);return d.size>0&&u.push(new gu(d)),l.value(u,r)}throw new Error(`Unknown ObjectValue filter: ${o}`)}else throw new Error(`Cannot apply filter "${o}" to type: ${e.type}`)}throw new Error(`Unknown filter: ${t.type}`)}evaluateFilterExpression(e,t){const r=this.evaluate(e.operand,t);return this.applyFilter(r,e.filter,t)}evaluateTestExpression(e,t){const r=this.evaluate(e.operand,t),s=t.tests.get(e.test.value);if(!s)throw new Error(`Unknown test: ${e.test.value}`);const o=s(r);return new Fe(e.negate?!o:o)}evaluateSelectExpression(e,t){return this.evaluate(e.test,t).__bool__().value?this.evaluate(e.lhs,t):new Et}evaluateUnaryExpression(e,t){const r=this.evaluate(e.argument,t);if(e.operator.value==="not")return new Fe(!r.value);throw new SyntaxError(`Unknown operator: ${e.operator.value}`)}evaluateTernaryExpression(e,t){return this.evaluate(e.condition,t).__bool__().value?this.evaluate(e.trueExpr,t):this.evaluate(e.falseExpr,t)}evalProgram(e,t){return this.evaluateBlock(e.body,t)}evaluateBlock(e,t){let r="";for(const s of e){const o=this.evaluate(s,t);o.type!=="NullValue"&&o.type!=="UndefinedValue"&&(r+=o.toString())}return new be(r)}evaluateIdentifier(e,t){return t.lookupVariable(e.value)}evaluateCallExpression(e,t){const[r,s]=this.evaluateArguments(e.args,t);s.size>0&&r.push(new gu(s));const o=this.evaluate(e.callee,t);if(o.type!=="FunctionValue")throw new Error(`Cannot call something that is not a function: got ${o.type}`);return o.value(r,t)}evaluateSliceExpression(e,t,r){if(!(e instanceof Ke||e instanceof be))throw new Error("Slice object must be an array or string");const s=this.evaluate(t.start,r),o=this.evaluate(t.stop,r),l=this.evaluate(t.step,r);if(!(s instanceof je||s instanceof Et))throw new Error("Slice start must be numeric or undefined");if(!(o instanceof je||o instanceof Et))throw new Error("Slice stop must be numeric or undefined");if(!(l instanceof je||l instanceof Et))throw new Error("Slice step must be numeric or undefined");return e instanceof Ke?new Ke(Qb(e.value,s.value,o.value,l.value)):new be(Qb(Array.from(e.value),s.value,o.value,l.value).join(""))}evaluateMemberExpression(e,t){const r=this.evaluate(e.object,t);let s;if(e.computed){if(e.property.type==="SliceExpression")return this.evaluateSliceExpression(r,e.property,t);s=this.evaluate(e.property,t)}else s=new be(e.property.value);let o;if(r instanceof un){if(!(s instanceof be))throw new Error(`Cannot access property with non-string: got ${s.type}`);o=r.value.get(s.value)??r.builtins.get(s.value)}else if(r instanceof Ke||r instanceof be)if(s instanceof je)o=r.value.at(s.value),r instanceof be&&(o=new be(r.value.at(s.value)));else if(s instanceof be)o=r.builtins.get(s.value);else throw new Error(`Cannot access property with non-string/non-number: got ${s.type}`);else{if(!(s instanceof be))throw new Error(`Cannot access property with non-string: got ${s.type}`);o=r.builtins.get(s.value)}return o instanceof Ar?o:new Et}evaluateSet(e,t){const r=e.value?this.evaluate(e.value,t):this.evaluateBlock(e.body,t);if(e.assignee.type==="Identifier"){const s=e.assignee.value;t.setVariable(s,r)}else if(e.assignee.type==="TupleLiteral"){const s=e.assignee;if(!(r instanceof Ke))throw new Error(`Cannot unpack non-iterable type in set: ${r.type}`);const o=r.value;if(o.length!==s.value.length)throw new Error(`Too ${s.value.length>o.length?"few":"many"} items to unpack in set`);for(let l=0;lb.setVariable(e.loopvar.value,g);else if(e.loopvar.type==="TupleLiteral"){const b=e.loopvar;if(g.type!=="ArrayValue")throw new Error(`Cannot unpack non-iterable type: ${g.type}`);const S=g;if(b.value.length!==S.value.length)throw new Error(`Too ${b.value.length>S.value.length?"few":"many"} items to unpack`);w=E=>{for(let z=0;z0?l[p-1]:new Et],["nextitem",p{const o=new Gi(s);r=r.slice();let l;r.at(-1)?.type==="KeywordArgumentsValue"&&(l=r.pop());for(let u=0;u{const p=new Gi(f);if(e.callerArgs)for(let _=0;_this.evaluate(r,t)));case"TupleLiteral":return new Zb(e.value.map(r=>this.evaluate(r,t)));case"ObjectLiteral":{const r=new Map;for(const[s,o]of e.value){const l=this.evaluate(s,t);if(!(l instanceof be))throw new Error(`Object keys must be strings: got ${l.type}`);r.set(l.value,this.evaluate(o,t))}return new un(r)}case"Identifier":return this.evaluateIdentifier(e,t);case"CallExpression":return this.evaluateCallExpression(e,t);case"MemberExpression":return this.evaluateMemberExpression(e,t);case"UnaryExpression":return this.evaluateUnaryExpression(e,t);case"BinaryExpression":return this.evaluateBinaryExpression(e,t);case"FilterExpression":return this.evaluateFilterExpression(e,t);case"FilterStatement":return this.evaluateFilterStatement(e,t);case"TestExpression":return this.evaluateTestExpression(e,t);case"SelectExpression":return this.evaluateSelectExpression(e,t);case"Ternary":return this.evaluateTernaryExpression(e,t);case"Comment":return new zt;default:throw new SyntaxError(`Unknown node type: ${e.type}`)}}};function Of(e){switch(typeof e){case"number":return Number.isInteger(e)?new je(e):new jt(e);case"string":return new be(e);case"boolean":return new Fe(e);case"undefined":return new Et;case"object":return e===null?new zt:Array.isArray(e)?new Ke(e.map(Of)):new un(new Map(Object.entries(e).map(([t,r])=>[t,Of(r)])));case"function":return new At((t,r)=>{const s=e(...t.map(o=>o.value))??null;return Of(s)});default:throw new Error(`Cannot convert to runtime value: ${e}`)}}var en=` +`,E3="{%- ",A3=" -%}";function C3(e){switch(e.operator.type){case"MultiplicativeBinaryOperator":return 4;case"AdditiveBinaryOperator":return 3;case"ComparisonBinaryOperator":return 2;case"Identifier":return e.operator.value==="and"?1:e.operator.value==="in"||e.operator.value==="not in"?2:0}return 0}function k3(e,t=" "){const r=typeof t=="number"?" ".repeat(t):t;return Wa(e.body,0,r).replace(/\n$/,"")}function vn(...e){return E3+e.join(" ")+A3}function Wa(e,t,r){return e.map(s=>O3(s,t,r)).join(en)}function O3(e,t,r){const s=r.repeat(t);switch(e.type){case"Program":return Wa(e.body,t,r);case"If":return z3(e,t,r);case"For":return L3(e,t,r);case"Set":return F3(e,t,r);case"Macro":return N3(e,t,r);case"Break":return s+vn("break");case"Continue":return s+vn("continue");case"CallStatement":return D3(e,t,r);case"FilterStatement":return R3(e,t,r);case"Comment":return s+"{# "+e.value+" #}";default:return s+"{{- "+at(e)+" -}}"}}function z3(e,t,r){const s=r.repeat(t),o=[];let l=e;for(;l&&(o.push({test:l.test,body:l.body}),l.alternate.length===1&&l.alternate[0].type==="If");)l=l.alternate[0];let u=s+vn("if",at(o[0].test))+en+Wa(o[0].body,t+1,r);for(let d=1;d0&&(u+=en+s+vn("else")+en+Wa(l.alternate,t+1,r)),u+=en+s+vn("endif"),u}function L3(e,t,r){const s=r.repeat(t);let o="";if(e.iterable.type==="SelectExpression"){const u=e.iterable;o=`${at(u.lhs)} if ${at(u.test)}`}else o=at(e.iterable);let l=s+vn("for",at(e.loopvar),"in",o)+en+Wa(e.body,t+1,r);return e.defaultBlock.length>0&&(l+=en+s+vn("else")+en+Wa(e.defaultBlock,t+1,r)),l+=en+s+vn("endfor"),l}function F3(e,t,r){const s=r.repeat(t),o=at(e.assignee),l=e.value?at(e.value):"",u=s+vn("set",`${o}${e.value?" = "+l:""}`);return e.body.length===0?u:u+en+Wa(e.body,t+1,r)+en+s+vn("endset")}function N3(e,t,r){const s=r.repeat(t),o=e.args.map(at).join(", ");return s+vn("macro",`${e.name.value}(${o})`)+en+Wa(e.body,t+1,r)+en+s+vn("endmacro")}function D3(e,t,r){const s=r.repeat(t),o=e.callerArgs&&e.callerArgs.length>0?`(${e.callerArgs.map(at).join(", ")})`:"",l=at(e.call);let u=s+vn(`call${o}`,l)+en;return u+=Wa(e.body,t+1,r)+en,u+=s+vn("endcall"),u}function R3(e,t,r){const s=r.repeat(t),o=e.filter.type==="Identifier"?e.filter.value:at(e.filter);let l=s+vn("filter",o)+en;return l+=Wa(e.body,t+1,r)+en,l+=s+vn("endfilter"),l}function at(e,t=-1){switch(e.type){case"SpreadExpression":return`*${at(e.argument)}`;case"Identifier":return e.value;case"IntegerLiteral":return`${e.value}`;case"FloatLiteral":return`${e.value}`;case"StringLiteral":return JSON.stringify(e.value);case"BinaryExpression":{const r=e,s=C3(r),o=at(r.left,s),l=at(r.right,s+1),u=`${o} ${r.operator.value} ${l}`;return s`${at(s)}: ${at(o)}`).join(", ")}}`;case"SliceExpression":{const r=e,s=r.start?at(r.start):"",o=r.stop?at(r.stop):"",l=r.step?`:${at(r.step)}`:"";return`${s}:${o}${l}`}case"KeywordArgumentExpression":{const r=e;return`${r.key.value}=${at(r.value)}`}case"Ternary":{const r=e,s=`${at(r.trueExpr)} if ${at(r.condition,0)} else ${at(r.falseExpr)}`;return t>-1?`(${s})`:s}default:throw new Error(`Unknown expression type: ${e.type}`)}}var B3=class{parsed;constructor(e){const t=$k(e,{lstrip_blocks:!0,trim_blocks:!0});this.parsed=_3(t)}render(e){const t=new Gi;if(T3(t),e)for(const[o,l]of Object.entries(e))t.set(o,l);return new S3(t).run(this.parsed).value}format(e){return k3(this.parsed,e?.indent||" ")}},Oa=class{constructor(){let e=function(...t){return e._call(...t)};return Object.setPrototypeOf(e,new.target.prototype)}_call(...e){throw Error("Must implement _call method in subclass")}},P3={txt:"text/plain",html:"text/html",css:"text/css",js:"text/javascript",json:"application/json",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif"},Vf=class HM{constructor(t){if(this.filePath=t,this.headers=new Headers,this.exists=fa.existsSync(t),this.exists){this.status=200,this.statusText="OK";let r=fa.statSync(t);this.headers.set("content-length",r.size.toString()),this.updateContentType();const s=fa.createReadStream(t);this.body=new ReadableStream({start(o){s.on("data",l=>o.enqueue(l)),s.on("end",()=>o.close()),s.on("error",l=>o.error(l))},cancel(){s.destroy()}})}else this.status=404,this.statusText="Not Found",this.body=null}updateContentType(){const t=this.filePath.toString().split(".").pop().toLowerCase();this.headers.set("content-type",P3[t]??"application/octet-stream")}clone(){let t=new HM(this.filePath);return t.exists=this.exists,t.status=this.status,t.statusText=this.statusText,t.headers=new Headers(this.headers),t}async arrayBuffer(){return(await fa.promises.readFile(this.filePath)).buffer}async blob(){const t=await fa.promises.readFile(this.filePath);return new Blob([t],{type:this.headers.get("content-type")})}async text(){return await fa.promises.readFile(this.filePath,"utf8")}async json(){return JSON.parse(await this.text())}},tg=class{constructor(e){this._mt=new Uint32Array(624),this._idx=625,this._gauss_next=null,this._random_fn=this.random.bind(this),this.seed(e)}seed(e){if(e==null)if(We.IS_CRYPTO_AVAILABLE){const u=new Uint32Array(1);crypto.getRandomValues(u),e=u[0]}else e=Date.now()>>>0;const t=this._mt,r=(u,d)=>Math.imul(u,d)>>>0,s=[];for(let u=e||0;u>0;u=Math.floor(u/4294967296))s.push(u&4294967295);s.length||s.push(0),t[0]=19650218;for(let u=1;u<624;++u)t[u]=r(1812433253,t[u-1]^t[u-1]>>>30)+u>>>0;let o=1,l=0;for(let u=Math.max(624,s.length);u>0;--u,++o,++l)o>=624&&(t[0]=t[623],o=1),l>=s.length&&(l=0),t[o]=(t[o]^r(t[o-1]^t[o-1]>>>30,1664525))+s[l]+l>>>0;for(let u=623;u>0;--u,++o)o>=624&&(t[0]=t[623],o=1),t[o]=(t[o]^r(t[o-1]^t[o-1]>>>30,1566083941))-o>>>0;t[0]=2147483648,this._idx=624,this._gauss_next=null}_int32(){const e=this._mt;if(this._idx>=624){for(let r=0;r<624;++r){const s=e[r]&2147483648|e[(r+1)%624]&2147483647;e[r]=(e[(r+397)%624]^s>>>1^(s&1?2567483615:0))>>>0}this._idx=0}let t=e[this._idx++];return t^=t>>>11,t^=t<<7&2636928640,t^=t<<15&4022730752,t^=t>>>18,t>>>0}random(){return((this._int32()>>>5)*67108864+(this._int32()>>>6))/9007199254740992}gauss(e=0,t=1){let r=this._gauss_next;if(this._gauss_next=null,r===null){const s=this.random()*2*Math.PI,o=Math.sqrt(-2*Math.log(1-this.random()));r=Math.cos(s)*o,this._gauss_next=Math.sin(s)*o}return e+r*t}shuffle(e){for(let t=e.length-1;t>0;--t){const r=32-Math.clz32(t+1);let s=this._int32()>>>32-r;for(;s>t;)s=this._int32()>>>32-r;const o=e[t];e[t]=e[s],e[s]=o}}choices(e,t){return e[$M(this._random_fn,t)]}};function $M(e,t){let r=0;for(let o=0;o$M(ng.random,e),U3=new tg,QM=class{constructor(e){this.path=e}async match(e){let t=Tr.join(this.path,e),r=new Vf(t);if(r.exists)return r}async put(e,t,r=void 0){const s=Tr.join(this.path,e),o=We.IS_PROCESS_AVAILABLE?process.pid:Date.now(),l=U3._int32().toString(36),u=s+`.tmp.${o}.${l}`;try{const d=t.headers.get("Content-Length"),f=parseInt(d??"0");let p=0;await fa.promises.mkdir(Tr.dirname(s),{recursive:!0});const _=fa.createWriteStream(u),g=t.body.getReader();for(;;){const{done:w,value:b}=await g.read();if(w)break;await new Promise((E,z)=>{_.write(b,C=>{if(C){z(C);return}E()})}),p+=b.length;const S=f?p/f*100:0;r?.({progress:S,loaded:p,total:f})}await new Promise((w,b)=>{_.close(S=>S?b(S):w())}),await fa.promises.rename(u,s)}catch(d){try{await fa.promises.unlink(u)}catch{}throw d}}async delete(e){let t=Tr.join(this.path,e);try{return await fa.promises.unlink(t),!0}catch{return!1}}},G3={400:"Bad request error occurred while trying to load file",401:"Unauthorized access to file",403:"Forbidden access to file",404:"Could not locate file",408:"Request timeout error occurred while trying to load file",500:"Internal server error error occurred while trying to load file",502:"Bad gateway error occurred while trying to load file",503:"Service unavailable error occurred while trying to load file",504:"Gateway timeout error occurred while trying to load file"},Jb=100,j3=/^(\b[\w\-.]+\b\/)?\b[\w\-.]{1,96}\b$/;function Mf(...e){return e=e.map((t,r)=>(r&&(t=t.replace(new RegExp("^/"),"")),r!==e.length-1&&(t=t.replace(new RegExp("/$"),"")),t)),e.join("/")}function kl(e,t=null,r=null){let s;try{s=new URL(e)}catch{return!1}return!(t&&!t.includes(s.protocol)||r&&!r.includes(s.hostname))}function V3(e){return!(!j3.test(e)||e.includes("..")||e.includes("--")||e.endsWith(".git")||e.endsWith(".ipynb"))}function q3(e,t,r){if(!r)return null;const s=G3[e]??`Error (${e}) occurred while trying to load file`;throw Error(`${s}: "${t}".`)}async function H3(e,t,r){const s=e.headers.get("Content-Length");let o=s?parseInt(s,10):r??0;s===null&&!r&&Re.warn("Unable to determine content-length from response headers. Will expand buffer when needed.");let l=new Uint8Array(o),u=0;const d=e.body.getReader();async function f(){const{done:p,value:_}=await d.read();if(p)return;const g=u+_.length;if(g>o){o=g;const b=new Uint8Array(o);b.set(l),l=b}l.set(_,u),u=g;const w=u/o*100;return t({progress:w,loaded:u,total:o}),f()}return await f(),l}function e1(e){return kl(e,["blob:"])}function t1(e){let t;if(typeof location<"u"&&location.href)t=location.href;else if(typeof import.meta<"u"&&import.meta.url)t=import.meta.url;else return e;return new URL(e,t).href}var WM="SHA-256",$3="experimental_transformers-hash-cache",n1=e=>({algorithm:WM,value:e}),a1=class{#t=null;_getHashCache=()=>(this.#t??=caches.open($3),this.#t);static isAvailable=()=>typeof navigator<"u"&&"crossOriginStorage"in navigator;match=async e=>{const t=await this._getFileHash(e);if(t)try{const[r]=await navigator.crossOriginStorage.requestFileHandles([n1(t)]),s=await r.getFile();return new Response(s,{headers:{"Content-Length":String(s.size)}})}catch{return}};put=async(e,t)=>{const r=await this._getFileHash(e);if(r){const s=await t.blob();await this._storeBlobInCOS(s,r)}else this._processAndStore(e,t.body)};_storeBlobInCOS=async(e,t)=>{const[r]=await navigator.crossOriginStorage.requestFileHandles([n1(t)],{create:!0}),s=await r.createWritable();await s.write(e),await s.close()};_processAndStore=async(e,t)=>{try{const r=[];for await(const l of t)r.push(l);const s=new Blob(r),o=await this._getBlobHash(s);await this._storeBlobInCOS(s,o);try{await(await this._getHashCache()).put(e,new Response(o))}catch{}}catch{}};delete=async e=>{try{return await(await this._getHashCache()).delete(e)}catch{return!1}};_getFileHash=async e=>{try{const t=await this._getHashCache(),r=await t.match(e);if(r)return r.text();const s=await this._getLfsFileHash(e);return s?(await t.put(e,new Response(s)),s):null}catch{return null}};_getLfsFileHash=async e=>{if(!e.includes("/resolve/"))return null;const t=e.replace("/resolve/","/raw/");try{const s=(await fetch(t).then(o=>o.text())).match(/^oid sha256:([0-9a-f]+)$/m);return s?s[1]:null}catch{return null}};_getBlobHash=async e=>{const t=await e.arrayBuffer(),r=await crypto.subtle.digest(WM,t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("")}};async function ag(e=null){let t=null;if(rt.useCustomCache){if(!rt.customCache)throw Error("`env.useCustomCache=true`, but `env.customCache` is not defined.");if(!rt.customCache.match||!rt.customCache.put)throw new Error("`env.customCache` must be an object which implements the `match` and `put` functions of the Web Cache API. For more information, see https://developer.mozilla.org/en-US/docs/Web/API/Cache");t=rt.customCache}if(!t&&rt.experimental_useCrossOriginStorage&&a1.isAvailable()&&(t=new a1),!t&&rt.useBrowserCache){if(typeof caches>"u")throw Error("Browser cache is not available in this environment.");try{t=await caches.open(rt.cacheKey)}catch(r){Re.warn("An error occurred while opening the browser cache:",r)}}if(!t&&rt.useFSCache){if(!We.IS_FS_AVAILABLE)throw Error("File System Cache is not available in this environment.");t=new QM(e??rt.cacheDir)}return t}async function Q3(e,...t){for(let r of t)try{let s=await e.match(r);if(s)return s}catch{continue}}var W3=class{#t;#e;constructor(e){this.#t=e,this.#e=new Map}get(e){if(!this.#e.has(e))return;const t=this.#e.get(e);return this.#e.delete(e),this.#e.set(e,t),t}put(e,t){this.#e.has(e)&&this.#e.delete(e),this.#e.set(e,t),this.#e.size>this.#t&&this.#e.delete(this.#e.keys().next().value)}delete(e){return this.#e.delete(e)}clear(){this.#e.clear()}},Y3=100,Zm=new W3(Y3);function YM(e,t){const r=Zm.get(e);if(r!==void 0)return r;const s=t().then(o=>o,o=>(Zm.delete(e),Promise.reject(o)));return Zm.put(e,s),s}async function X3(e){if(!kl(e,["http:","https:"]))return null;const t=XM(e);return t.set("Range","bytes=0-0"),rt.fetch(e,{method:"GET",headers:t,cache:"no-store"})}function th(e,t,r={}){const s=JSON.stringify([e,t,r?.revision,r?.cache_dir,r?.local_files_only]);return YM(s,()=>Z3(e,t,r))}async function Z3(e,t,r){const s=await ag(r?.cache_dir),{localPath:o,remoteURL:l,proposedCacheKey:u,validModelId:d}=ZM(e,t,r,s),f=await KM(s,o,u);if(f!==void 0&&typeof f!="string"){const p=f.headers.get("content-length"),_=f.headers.get("content-type");return{exists:!0,size:p?parseInt(p,10):void 0,contentType:_||void 0,fromCache:!0}}if(rt.allowLocalModels&&!kl(o,["http:","https:"]))try{const _=await Tu(o);if(typeof _!="string"&&_.status!==404){const g=_.headers.get("content-length"),w=_.headers.get("content-type");return{exists:!0,size:g?parseInt(g,10):void 0,contentType:w||void 0,fromCache:!1}}}catch{}if(rt.allowRemoteModels&&!r.local_files_only&&d)try{const p=await X3(l);if(p&&p.status>=200&&p.status<300){let _;const g=p.headers.get("content-type");if(p.status===206){const w=p.headers.get("content-range");if(w){const b=w.match(/bytes \d+-\d+\/(\d+)/);b&&(_=parseInt(b[1],10))}}else if(p.status===200)try{await p.body?.cancel()}catch{}if(_===void 0){const w=p.headers.get("content-length");_=w?parseInt(w,10):void 0}return{exists:!0,size:_,contentType:g||void 0,fromCache:!1}}}catch(p){Re.warn(`Unable to fetch file metadata for "${l}": ${p}`)}return{exists:!1,fromCache:!1}}async function Tu(e){return rt.useFS&&!kl(e,["http:","https:","blob:"])?new Vf(e instanceof URL?e.protocol==="file:"?e.pathname:e.toString():e):rt.fetch(e,{headers:XM(e)})}function XM(e){const t=typeof process<"u"&&process?.release?.name==="node",r=new Headers;if(t){const s=!!Ym?.TESTING_REMOTELY,o=rt.version;if(r.set("User-Agent",`transformers.js/${o}; is_ci/${s};`),kl(e,["http:","https:"],["huggingface.co","hf.co"])){const u=Ym?.HF_TOKEN??Ym?.HF_ACCESS_TOKEN;u&&r.set("Authorization",`Bearer ${u}`)}}return r}function ZM(e,t,r={},s=null){const o=r.revision??"main",l=Mf(e,t),u=V3(e),d=u?Mf(rt.localModelPath,l):l,f=Mf(rt.remoteHost,rt.remotePathTemplate.replaceAll("{model}",e).replaceAll("{revision}",encodeURIComponent(o)),t),p=s instanceof QM?o==="main"?l:Mf(e,o,t):f;return{requestURL:l,localPath:d,remoteURL:f,proposedCacheKey:p,validModelId:u}}async function KM(e,t,r){if(e)return await Q3(e,t,r)}async function K3(e,t,r,s,o,l,u={}){if(await r.match(s)===void 0)if(l)typeof o!="string"&&await r.put(s,new Response(l,{headers:o.headers})).catch(d=>{Re.warn(`Unable to add response to browser cache: ${d}.`)});else{const d=u.progress_callback?f=>$i(u.progress_callback,{status:"progress",name:e,file:t,...f}):void 0;await r.put(s,o,d)}}async function J3(e,t,r=!0,s={},o=!1,l=null){const{requestURL:u,localPath:d,remoteURL:f,proposedCacheKey:p,validModelId:_}=ZM(e,t,s,l);let g,w=!1,b;b=await KM(l,d,p);const S=b!==void 0;if(!S){if(rt.allowLocalModels)if(kl(u,["http:","https:"])){if(s.local_files_only)throw new Error(`\`local_files_only=true\`, but attempted to load a remote file from: ${u}.`);if(!rt.allowRemoteModels)throw new Error(`\`env.allowRemoteModels=false\`, but attempted to load a remote file from: ${u}.`)}else try{b=await Tu(d),g=d}catch(L){Re.warn(`Unable to load from local path "${d}": "${L}"`)}if(b===void 0||typeof b!="string"&&b.status===404){if(s.local_files_only||!rt.allowRemoteModels){if(r)throw Error(`\`local_files_only=true\` or \`env.allowRemoteModels=false\` and file was not found locally at "${d}".`);return null}if(!_)throw Error(`Local file missing at "${d}" and download aborted due to invalid model ID "${e}".`);if(b=await Tu(f),b.status!==200)return q3(b.status,f,r);g=p}w=l&&typeof Response<"u"&&b instanceof Response&&b.status===200}$i(s.progress_callback,{status:"download",name:e,file:t});let E;if(!(We.IS_NODE_ENV&&o)){let C;if(typeof b!="string")if(!s.progress_callback)C=new Uint8Array(await b.arrayBuffer());else if(S&&typeof navigator<"u"&&/firefox/i.test(navigator.userAgent))C=new Uint8Array(await b.arrayBuffer()),$i(s.progress_callback,{status:"progress",name:e,file:t,progress:100,loaded:C.length,total:C.length});else{let L;const D=b.headers.get("content-length");if(D)L=parseInt(D,10);else try{const R=await th(e,t,s);R.size&&(L=R.size)}catch{}C=await H3(b,R=>{$i(s.progress_callback,{status:"progress",name:e,file:t,...R})},L)}E=C}if(w&&g&&typeof b!="string"&&await K3(e,t,l,g,b,E,s),$i(s.progress_callback,{status:"done",name:e,file:t}),E){if(!We.IS_NODE_ENV&&o)throw new Error("Cannot return path in a browser environment.");return E}if(b instanceof Vf)return b.filePath;const z=await l?.match(g);if(z instanceof Vf)return z.filePath;if(z instanceof Response)return new Uint8Array(await z.arrayBuffer());if(typeof z=="string")return z;throw new Error("Unable to get model file path or buffer.")}async function qf(e,t,r=!0,s={},o=!1){if(!rt.allowLocalModels){if(s.local_files_only)throw Error("Invalid configuration detected: local models are disabled (`env.allowLocalModels=false`) but you have requested to only use local models (`local_files_only=true`).");if(!rt.allowRemoteModels)throw Error("Invalid configuration detected: both local and remote models are disabled. Fix by setting `env.allowLocalModels` or `env.allowRemoteModels` to `true`.")}$i(s.progress_callback,{status:"initiate",name:e,file:t});const l=await ag(s?.cache_dir);return await J3(e,t,r,s,o,l)}async function JM(e,t,r=!0,s={}){const o=await qf(e,t,r,s,!1);return o===null?null:new TextDecoder("utf-8").decode(o)}async function ss(e,t,r=!0,s={}){const o=await JM(e,t,r,s);return o===null?{}:JSON.parse(o)}function eO(e,[t,r,s],[o,l],u="bilinear",d=!1){const f=l/s,p=o/r,_=new e.constructor(o*l*t),g=r*s,w=o*l;for(let b=0;b=0;--d)o[d]=f,s[d]=t[r[d]],f*=s[d];const l=r.map((d,f)=>o[r.indexOf(f)]),u=new e.constructor(e.length);for(let d=0;d=0;--p)f+=_%t[p]*l[p],_=Math.floor(_/t[p]);u[f]=e[d]}return[u,s]}function wn(e){const t=Ht(e)[0],r=e.map(l=>Math.exp(l-t)),s=r.reduce((l,u)=>l+u,0);return r.map(l=>l/s)}function nO(e){const t=Ht(e)[0];let r=0;for(let l=0;ll-t-s)}function v_(e){if(e.length===0)throw Error("Array must not be empty");let t=e[0],r=0;for(let s=1;st&&(t=e[s],r=s);return[t,r]}function ex(e){return e>0&&(e&e-1)===0}var tx=class{constructor(e){if(this.size=e|0,this.size<=1||!ex(this.size))throw new Error("FFT size must be a power of two larger than 1");this._csize=e<<1,this.table=new Float64Array(this.size*2);for(let r=0;rr;r<<=1)++t;this._width=t%2===0?t-1:t,this._bitrev=new Int32Array(1<>>s&3)<>>1);for(let s=0;s>>1]=e[s];return r}toComplexArray(e,t){const r=t||this.createComplexArray();for(let s=0;s>>1],r[s+1]=0;return r}transform(e,t){if(e===t)throw new Error("Input and output buffers must be different");this._transform4(e,t,1)}realTransform(e,t){if(e===t)throw new Error("Input and output buffers must be different");this._realTransform4(e,t,1)}inverseTransform(e,t){if(e===t)throw new Error("Input and output buffers must be different");this._transform4(e,t,-1);for(let r=0;r>=2;l>=2;l>>=2){u=s/l<<1;const g=u>>>2;for(d=0;d>>1,l>>>1)}else for(d=0,f=0;d>>1,l>>>1,r)}const _=this.table;for(l>>=2;l>=2;l>>=2){u=s/l<<1;const w=u>>>1,b=w>>>1,S=b>>>1;for(d=0;d>>1;for(let w=2;w>1;++p){const _=(p+1-e)**2/2,g=Math.sqrt(d**2+f**2)**_,w=_*Math.atan2(f,d),b=2*p;o[b]=g*Math.cos(w),o[b+1]=g*Math.sin(w),l[b]=o[b],l[b+1]=-o[b+1]}this._slicedChirpBuffer=o.subarray(t,r),this._f=new tx(s>>1),this._f.transform(this._chirpBuffer,l)}_transform(e,t,r){const s=this._buffer1,o=this._buffer2,l=this._outBuffer1,u=this._outBuffer2,d=this._chirpBuffer,f=this._slicedChirpBuffer,p=this._a;if(r)for(let _=0;_>1,b=t[w];s[_]=b*f[_],s[g]=b*f[g]}else for(let _=0;_=e.length&&(f=2*(e.length-1)-f),s[u++]=e[f]}s.sort(),r[l]=s[o]}return r}function yu(e,t){const r=Math.pow(10,t);return Math.round(e*r)/r}function iO(e){const t=Math.round(e);return Math.abs(e)%1===.5?t%2===0?t:t-1:t}function oO(e){const t=e.length,r=e[0].length,s=[t+1,r+1],o=Array.from({length:s[0]},()=>Array(s[1]).fill(1/0));o[0][0]=0;const l=Array.from({length:s[0]},()=>Array(s[1]).fill(-1));for(let _=1;_0||d>0;)switch(f.push(u-1),p.push(d-1),l[u][d]){case 0:--u,--d;break;case 1:--u;break;case 2:--d;break;default:throw new Error(`Internal error in dynamic time warping. Unexpected trace[${u}, ${d}]. Please file a bug report.`)}return f.reverse(),p.reverse(),[f,p]}var lO=(function(){let e=null;return function(t){if(!e){e=new Float32Array(65536);const l=new ArrayBuffer(4),u=new Uint32Array(l),d=new Float32Array(l);for(let f=0;f>10;let w=f&1023;if(g===31)p=_|2139095040|w<<13;else if(g===0)if(w===0)p=_;else{let b=113;for(;(w&1024)===0;)w<<=1,--b;w&=-1025,p=_|b<<23|w<<13}else p=_|g+112<<23|w<<13;u[0]=p,e[f]=d[0]}}const r=t.length,s=e,o=new Float32Array(r);for(let l=0;lcO});var cO={};async function ax(e){const t=e.split("/").pop();let r;try{if(r=await ag(),r){const o=await r.match(e);if(o)return o}}catch(o){Re.warn(`Failed to load ${t} from cache:`,o)}const s=await rt.fetch(e);if(!s.ok)throw new Error(`Failed to fetch ${t}: ${s.status} ${s.statusText}`);if(r)try{await r.put(e,s.clone())}catch(o){Re.warn(`Failed to cache ${t}:`,o)}return s}async function uO(e){const t=await ax(e);if(!t||typeof t=="string")return null;try{return await t.arrayBuffer()}catch(r){return Re.warn("Failed to read WASM binary:",r),null}}async function dO(e){if(We.IS_SERVICE_WORKER_ENV||We.IS_CHROME_AVAILABLE)return e;const t=await ax(e);if(!t||typeof t=="string")return null;try{let r=await t.text();r=r.replaceAll("globalThis.process?.versions?.node","false");const s=new Blob([r],{type:"text/javascript"});return URL.createObjectURL(s)}catch(r){return Re.warn("Failed to read WASM factory:",r),null}}var fO=Object.freeze({auto:null,gpu:null,cpu:"cpu",wasm:"wasm",webgpu:"webgpu",cuda:"cuda",dml:"dml",coreml:"coreml",webnn:{name:"webnn",deviceType:"cpu"},"webnn-npu":{name:"webnn",deviceType:"npu"},"webnn-gpu":{name:"webnn",deviceType:"gpu"},"webnn-cpu":{name:"webnn",deviceType:"cpu"}});function rx(e){return e<=$a.DEBUG?0:e<=$a.INFO?2:e<=$a.WARNING||e<=$a.ERROR?3:4}var hO={0:"verbose",1:"info",2:"warning",3:"error",4:"fatal"},Ca=[],w_,Ml,r1=Symbol.for("onnxruntime");if(r1 in globalThis)Ml=globalThis[r1];else if(We.IS_NODE_ENV){switch(Ml=nx,process.platform){case"win32":Ca.push("dml");break;case"linux":process.arch==="x64"&&Ca.push("cuda");break;case"darwin":Ca.push("coreml");break}Ca.push("webgpu"),Ca.push("cpu"),w_=["cpu"]}else Ml=nA,We.IS_WEBNN_AVAILABLE&&Ca.push("webnn-npu","webnn-gpu","webnn-cpu","webnn"),We.IS_WEBGPU_AVAILABLE&&Ca.push("webgpu"),Ca.push("wasm"),w_=["wasm"];var pO=Ml.InferenceSession;function mO(e=null){if(!e)return w_;switch(e){case"auto":return Ca;case"gpu":return Ca.filter(t=>["webgpu","cuda","dml","webnn-gpu"].includes(t))}if(Ca.includes(e))return[fO[e]??e];throw new Error(`Unsupported device: "${e}". Should be one of: ${Ca.join(", ")}.`)}var s1=Promise.resolve(),fl=null;async function _O(){if(fl)return fl;if(!(rt.useWasmCache&&typeof Jt?.wasm?.wasmPaths=="object"&&Jt?.wasm?.wasmPaths?.wasm&&Jt?.wasm?.wasmPaths?.mjs)){if(We.IS_DENO_WEB_RUNTIME)throw new Error("env.useWasmCache=false is not supported in Deno's web runtime. Remove the useWasmCache override.");return fl=Promise.resolve(),fl}return fl=(async()=>{const t=Jt.wasm.wasmPaths;let r=!1;await Promise.all([t.wasm&&!e1(t.wasm)?(async()=>{try{const s=await uO(t1(t.wasm));s&&(Jt.wasm.wasmBinary=s,r=!0)}catch(s){Re.warn("Failed to pre-load WASM binary:",s)}})():Promise.resolve(),t.mjs&&!e1(t.mjs)?(async()=>{try{const s=await dO(t1(t.mjs));s&&(Jt.wasm.wasmPaths.mjs=s)}catch(s){Re.warn("Failed to pre-load WASM factory:",s)}})():Promise.resolve()]),r||(Jt.wasm.wasmPaths.mjs=t.mjs)})(),fl}async function sx(e,t,r){await _O();const s=rx(rt.logLevel??$a.WARNING),o=()=>pO.create(e,{logSeverityLevel:s,...t}),l=await(We.IS_WEB_ENV?s1=s1.then(o):o());return l.config=r,l}var i1=Promise.resolve();async function ix(e,t){const r=()=>e.run(t);return We.IS_WEB_ENV?i1=i1.then(r):r()}function ox(e){return e instanceof Ml.Tensor}var Jt=Ml?.env;function rg(){return Jt?.wasm?.proxy}if(Jt){let e=function(t){const r=rx(t);Jt.logLevel=hO[r]};if(Jt.wasm){if(!(typeof ServiceWorkerGlobalScope<"u"&&self instanceof ServiceWorkerGlobalScope)&&Jt.versions?.web&&!Jt.wasm.wasmPaths){const t=`https://cdn.jsdelivr.net/npm/onnxruntime-web@${Jt.versions.web}/dist/`;Jt.wasm.wasmPaths=We.IS_SAFARI?{mjs:`${t}ort-wasm-simd-threaded.mjs`,wasm:`${t}ort-wasm-simd-threaded.wasm`}:{mjs:`${t}ort-wasm-simd-threaded.asyncify.mjs`,wasm:`${t}ort-wasm-simd-threaded.asyncify.wasm`}}Jt.wasm.proxy=!1}Jt.webgpu&&(Jt.webgpu.powerPreference="high-performance"),e(rt.logLevel??$a.WARNING),rt.backends.onnx={...Jt,setLogLevel:e}}var Ys=async(e,t,r)=>{const s=await sx(new Uint8Array(e),t);return(async o=>{const l=rg(),u=Object.fromEntries(Object.entries(o).map(([f,p])=>[f,(l?p.clone():p).ort_tensor])),d=await ix(s,u);return Array.isArray(r)?r.map(f=>new me(d[f])):new me(d[r])})},xl=class{static session_options={};static get nearest_interpolate_4d(){return this._nearest_interpolate_4d||(this._nearest_interpolate_4d=Ys([8,10,18,0,58,129,1,10,41,10,1,120,10,0,10,0,10,1,115,18,1,121,34,6,82,101,115,105,122,101,42,18,10,4,109,111,100,101,34,7,110,101,97,114,101,115,116,160,1,3,18,1,114,90,31,10,1,120,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,90,15,10,1,115,18,10,10,8,8,7,18,4,10,2,8,4,98,31,10,1,121,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,66,2,16,21],this.session_options,"y")),this._nearest_interpolate_4d}static get bilinear_interpolate_4d(){return this._bilinear_interpolate_4d||(this._bilinear_interpolate_4d=Ys([8,9,18,0,58,128,1,10,40,10,1,120,10,0,10,0,10,1,115,18,1,121,34,6,82,101,115,105,122,101,42,17,10,4,109,111,100,101,34,6,108,105,110,101,97,114,160,1,3,18,1,114,90,31,10,1,120,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,90,15,10,1,115,18,10,10,8,8,7,18,4,10,2,8,4,98,31,10,1,121,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,66,2,16,20],this.session_options,"y")),this._bilinear_interpolate_4d}static get bicubic_interpolate_4d(){return this._bicubic_interpolate_4d||(this._bicubic_interpolate_4d=Ys([8,9,18,0,58,127,10,39,10,1,120,10,0,10,0,10,1,115,18,1,121,34,6,82,101,115,105,122,101,42,16,10,4,109,111,100,101,34,5,99,117,98,105,99,160,1,3,18,1,114,90,31,10,1,120,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,90,15,10,1,115,18,10,10,8,8,7,18,4,10,2,8,4,98,31,10,1,121,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,66,2,16,20],this.session_options,"y")),this._bicubic_interpolate_4d}static get matmul(){return this._matmul||(this._matmul=Ys([8,9,18,0,58,55,10,17,10,1,97,10,1,98,18,1,99,34,6,77,97,116,77,117,108,18,1,114,90,9,10,1,97,18,4,10,2,8,1,90,9,10,1,98,18,4,10,2,8,1,98,9,10,1,99,18,4,10,2,8,1,66,2,16,20],this.session_options,"c")),this._matmul}static get stft(){return this._stft||(this._stft=Ys([8,7,18,0,58,148,1,10,38,10,1,115,10,1,106,10,1,119,10,1,108,18,1,111,34,4,83,84,70,84,42,15,10,8,111,110,101,115,105,100,101,100,24,1,160,1,2,18,1,115,90,26,10,1,115,18,21,10,19,8,1,18,15,10,3,18,1,98,10,3,18,1,115,10,3,18,1,99,90,11,10,1,106,18,6,10,4,8,7,18,0,90,16,10,1,119,18,11,10,9,8,1,18,5,10,3,18,1,119,90,11,10,1,108,18,6,10,4,8,7,18,0,98,31,10,1,111,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,102,10,3,18,1,100,10,3,18,1,99,66,2,16,17],this.session_options,"o")),this._stft}static get rfft(){return this._rfft||(this._rfft=Ys([8,9,18,0,58,97,10,33,10,1,120,10,0,10,1,97,18,1,121,34,3,68,70,84,42,15,10,8,111,110,101,115,105,100,101,100,24,1,160,1,2,18,1,100,90,21,10,1,120,18,16,10,14,8,1,18,10,10,3,18,1,115,10,3,18,1,99,90,11,10,1,97,18,6,10,4,8,7,18,0,98,21,10,1,121,18,16,10,14,8,1,18,10,10,3,18,1,115,10,3,18,1,99,66,2,16,20],this.session_options,"y")),this._rfft}static get top_k(){return this._top_k||(this._top_k=Ys([8,10,18,0,58,73,10,18,10,1,120,10,1,107,18,1,118,18,1,105,34,4,84,111,112,75,18,1,116,90,9,10,1,120,18,4,10,2,8,1,90,15,10,1,107,18,10,10,8,8,7,18,4,10,2,8,1,98,9,10,1,118,18,4,10,2,8,1,98,9,10,1,105,18,4,10,2,8,7,66,2,16,21],this.session_options,["v","i"])),this._top_k}static get slice(){return this._slice||(this._slice=Ys([8,7,18,0,58,96,10,25,10,1,120,10,1,115,10,1,101,10,1,97,10,1,116,18,1,121,34,5,83,108,105,99,101,18,1,114,90,9,10,1,120,18,4,10,2,8,1,90,9,10,1,115,18,4,10,2,8,7,90,9,10,1,101,18,4,10,2,8,7,90,9,10,1,97,18,4,10,2,8,7,90,9,10,1,116,18,4,10,2,8,7,98,9,10,1,121,18,4,10,2,8,1,66,2,16,13],this.session_options,"y")),this._slice}},gO=Object.freeze({auto:"auto",gpu:"gpu",cpu:"cpu",wasm:"wasm",webgpu:"webgpu",cuda:"cuda",dml:"dml",coreml:"coreml",webnn:"webnn","webnn-npu":"webnn-npu","webnn-gpu":"webnn-gpu","webnn-cpu":"webnn-cpu"}),Km=We.IS_NODE_ENV?"cpu":"wasm";function lx(e,t,{warn:r}={}){return e?typeof e=="string"?e:e.hasOwnProperty(t)?e[t]:(r&&r(`device not specified for "${t}". Using the default device (${Km}).`),Km):Km}var yO=(function(){let e;return async function(){if(e===void 0)if(!We.IS_WEBGPU_AVAILABLE)e=!1;else try{e=(await navigator.gpu.requestAdapter()).features.has("shader-f16")}catch{e=!1}return e}})(),kn=Object.freeze({auto:"auto",fp32:"fp32",fp16:"fp16",q8:"q8",int8:"int8",uint8:"uint8",q4:"q4",bnb4:"bnb4",q4f16:"q4f16"}),o1=kn.fp32,l1=Object.freeze({[gO.wasm]:kn.q8}),b_=Object.freeze({[kn.fp32]:"",[kn.fp16]:"_fp16",[kn.int8]:"_int8",[kn.uint8]:"_uint8",[kn.q8]:"_quantized",[kn.q4]:"_q4",[kn.q4f16]:"_q4f16",[kn.bnb4]:"_bnb4"});function cx(e,t,r,{configDtype:s=null,warn:o}={}){let l,u=!1;e&&typeof e!="string"?e.hasOwnProperty(t)?l=e[t]:(l=null,u=!0):l=e;let d;if(l===kn.auto){if(s){const f=typeof s=="string"?s:s?.[t];if(f&&f!==kn.auto&&kn.hasOwnProperty(f))return f}d=l1[r]??o1}else l&&kn.hasOwnProperty(l)?d=l:d=l1[r]??o1;return u&&o&&o(`dtype not specified for "${t}". Using the default dtype (${d}) for this device (${r}).`),d}var Sl=Object.freeze({float32:Float32Array,float16:typeof Float16Array<"u"?Float16Array:Uint16Array,float64:Float64Array,string:Array,int8:Int8Array,uint8:Uint8Array,int16:Int16Array,uint16:Uint16Array,int32:Int32Array,uint32:Uint32Array,int64:BigInt64Array,uint64:BigUint64Array,bool:Uint8Array,uint4:Uint8Array,int4:Int8Array}),me=class Gt{get dims(){return this.ort_tensor.dims}set dims(t){this.ort_tensor.dims=t}get type(){return this.ort_tensor.type}get data(){return this.ort_tensor.data}get size(){return this.ort_tensor.size}get location(){return this.ort_tensor.location}ort_tensor;constructor(...t){return ox(t[0])?this.ort_tensor=t[0]:this.ort_tensor=new hA(t[0],t[1],t[2]),new Proxy(this,{get:(r,s)=>{if(typeof s=="string"){let o=Number(s);if(Number.isInteger(o))return r._getitem(o)}return r[s]},set:(r,s,o)=>r[s]=o})}dispose(){this.ort_tensor.dispose()}*[Symbol.iterator](){const[t,...r]=this.dims;if(r.length>0){const s=r.reduce((o,l)=>o*l);for(let o=0;o0){const o=s.reduce((l,u)=>l*u);return this._subarray(t,o,s)}else return new Gt(this.type,[this.data[t]],s)}indexOf(t){const r=this.data;for(let s=0;sb)throw new Error(`Invalid slice: ${g}`);const S=[Math.max(w,0),Math.min(b,this.dims[_])];s.push(S),r.push(S[1]-S[0])}else throw new Error(`Invalid slice: ${g}`)}const o=s.map(([_,g])=>g-_),l=o.reduce((_,g)=>_*g),u=this.data,d=new u.constructor(l),f=this.stride();let p=!0;for(let _=1;_=0;--w){const S=o[w];g+=(b%S+s[w][0])*f[w],b=Math.floor(b/S)}d[_]=u[g]}return new Gt(this.type,d,r)}permute(...t){return wO(this,t)}transpose(...t){return this.permute(...t)}sum(t=null,r=!1){return this.norm(1,t,r)}norm(t="fro",r=null,s=!1){if(t==="fro")t=2;else if(typeof t=="string")throw Error(`Unsupported norm: ${t}`);const o=this.data,l=o instanceof BigInt64Array||o instanceof BigUint64Array;if(l&&t!==1)throw Error(`Expected a floating point tensor as input. Got ${this.type}`);let u,d;if(l?(u=(g,w)=>g+w,d=0n):(u=(g,w)=>g+w**t,d=0),r===null){let g=o.reduce(u,d);return t!==1&&(g=g**(1/t)),new Gt(this.type,[g],[])}const[f,p,_]=wu(u,this,r,s);if(t!==1)for(let g=0;g=0;--f){const g=this.dims[f];if(f!==r){const w=p%g;d+=w*_,_*=this.dims[f]}p=Math.floor(p/g)}o[u]/=l[d]}return this}normalize(t=2,r=1){return this.clone().normalize_(t,r)}stride(){return Jm(this.dims)}squeeze(t=null){return new Gt(this.type,this.data,c1(this.dims,t))}squeeze_(t=null){return this.dims=c1(this.dims,t),this}unsqueeze(t){return new Gt(this.type,this.data,u1(this.dims,t))}unsqueeze_(t){return this.dims=u1(this.dims,t),this}flatten_(t=0,r=-1){r=(r+this.dims.length)%this.dims.length;let s=this.dims.slice(0,t),o=this.dims.slice(t,r+1),l=this.dims.slice(r+1);return this.dims=[...s,o.reduce((u,d)=>u*d,1),...l],this}flatten(t=0,r=-1){return this.clone().flatten_(t,r)}view(...t){let r=-1;for(let o=0;od!==r?l*u:l,1);t[r]=s.length/o}return new Gt(this.type,s,t)}neg_(){const t=this.data;for(let r=0;rt?1:0;return new Gt("bool",r,this.dims)}lt(t){const r=new Uint8Array(this.data.length),s=this.data;for(let o=0;oMath.min(u,d),this,t,r,1/0);return new Gt(s,o,l)}max(t=null,r=!1){if(t===null){const u=Ht(this.data)[0];return new Gt(this.type,[u],[])}const[s,o,l]=wu((u,d)=>Math.max(u,d),this,t,r,-1/0);return new Gt(s,o,l)}argmin(t=null,r=!1){if(t!==null)throw new Error("`dim !== null` not yet implemented.");const s=v_(this.data)[1];return new Gt("int64",[BigInt(s)],[])}argmax(t=null,r=!1){if(t!==null)throw new Error("`dim !== null` not yet implemented.");const s=Ht(this.data)[1];return new Gt("int64",[BigInt(s)],[])}repeat(...t){if(t.length_===1)){if(t.length===this.dims.length)return this.clone();const _=t.length-this.dims.length,g=Array(_).fill(1).concat(this.dims);return new Gt(this.type,this.data.slice(),g)}const r=t.length-this.dims.length,s=Array(r).fill(1).concat(this.dims),o=s.map((_,g)=>_*t[g]),l=o.reduce((_,g)=>_*g,1),u=this.data,d=new u.constructor(l),f=Jm(s),p=Jm(o);for(let _=0;_BigInt(Math.floor(l)):r=BigInt;else if(this.type==="float16"&&t=="float32"&&this.data instanceof Uint16Array)return new Gt(t,lO(this.data),this.dims);return new Gt(t,Sl[t].from(this.data,r),this.dims)}};function vO(e,t){const r=e.length,s=t.reduce((l,u)=>l*u);if(r!==s)throw Error(`cannot reshape array of size ${r} into shape (${t})`);let o=e;for(let l=t.length-1;l>=0;l--)o=o.reduce((u,d)=>{let f=u[u.length-1];return f.lengthnew me("int64",e,[e.length]);async function dx(e,t,r,s,o){return await(await xl.slice)({x:e,s:xf(t),e:xf(r),a:xf(s),t:xf(new Array(s.length).fill(1))})}function MO(e,t){const r=e.data,s=t.data,o=[e.dims[0],e.dims[2]],l=new r.constructor(o[0]*o[1]),[u,d,f]=e.dims;let p=0;for(let _=0;_r!==1):typeof t=="number"?e[t]===1&&e.splice(t,1):Array.isArray(t)&&(e=e.filter((r,s)=>r!==1||!t.includes(s))),e}function u1(e,t){return t=xr(t,e.length+1),e=e.slice(),e.splice(t,0,1),e}function xr(e,t,r=null,s=!0){if(e<-t||e>=t){if(s)throw new Error(`IndexError: index ${e} is out of bounds for dimension${r===null?"":" "+r} with size ${t}`);return e<-t?0:t}return e<0&&(e=(e%t+t)%t),e}function Lt(e,t=0){t=xr(t,e[0].dims.length);const r=e[0].dims.slice();r[t]=e.reduce((u,d)=>u+d.dims[t],0);const s=r.reduce((u,d)=>u*d,1),o=new e[0].data.constructor(s),l=e[0].type;if(t===0){let u=0;for(const d of e){const f=d.data;o.set(f,u),u+=f.length}}else{let u=0;for(let d=0;d=0;--w){const E=p[w];let z=b%E;w===t&&(z+=u),g+=z*S,S*=r[w],b=Math.floor(b/E)}o[g]=f[_]}u+=p[t]}}return new me(l,o,r)}function Ji(e,t=0){return Lt(e.map(r=>r.unsqueeze(t)),t)}function wu(e,t,r,s=!1,o=null){const l=t.data,u=t.dims;r=xr(r,u.length);const d=u.slice();d[r]=1;const f=new l.constructor(l.length/u[r]);o!==null&&f.fill(o);for(let p=0;p=0;--g){const S=u[g];if(g!==r){const E=w%S;_+=E*b,b*=d[g]}w=Math.floor(w/S)}f[_]=e(f[_],l[p],p,_)}return s||d.splice(r,1),[t.type,f,d]}function xO(e,t=null,r=1,s=!1){const o=e.data,l=e.dims;if(t===null){const b=o.reduce((C,L)=>C+L,0)/o.length,S=Math.sqrt(o.reduce((C,L)=>C+(L-b)**2,0)/(o.length-r)),E=new me(e.type,[b],[]);return[new me(e.type,[S],[]),E]}t=xr(t,l.length);const u=sg(e,t,s),d=u.data,[f,p,_]=wu((w,b,S,E)=>w+(b-d[E])**2,e,t,s);for(let w=0;wp+_,0);return new me(e.type,[f/o.length],[])}t=xr(t,s.length);const[l,u,d]=wu((f,p)=>f+p,e,t,r);if(s[t]!==1)for(let f=0;f=0;--r)t[r]=s,s*=e[r];return t}function ig(e,t,r,s){const o=e.reduce((l,u)=>l*u,1);return new me(r,new s(o).fill(t),e)}function On(e,t){let r,s;if(typeof t=="number")r="float32",s=Float32Array;else if(typeof t=="bigint")r="int64",s=BigInt64Array;else if(typeof t=="boolean")r="bool",s=Uint8Array;else throw new Error(`Unsupported data type: ${typeof t}`);return ig(e,t,r,s)}function M_(e,t){return On(e.dims,t)}function ha(e){return ig(e,1n,"int64",BigInt64Array)}function fx(e){return ha(e.dims)}function hx(e){return ig(e,0n,"int64",BigInt64Array)}function px(e){return hx(e.dims)}function TO(e){const t=e.reduce((r,s)=>r*s,1);return new me("float32",Float32Array.from({length:t},()=>ng.gauss()),e)}function SO(e,t){if(e.dims.length!==2)throw new Error("The tensor must have 2 dimensions");if(e.dims.at(-1)%8!==0)throw new Error("The last dimension of the tensor must be a multiple of 8");if(!["binary","ubinary"].includes(t))throw new Error("The precision must be either 'binary' or 'ubinary'");const r=t==="binary",s=r?"int8":"uint8",o=r?Int8Array:Uint8Array,l=e.data,u=new o(l.length/8);for(let d=0;d0?1:0,p=Math.floor(d/8),_=d%8;u[p]|=f<<7-_,r&&_===0&&(u[p]-=128)}return new me(s,u,[e.dims[0],e.dims[1]/8])}async function mx(e){if(!e)throw new Error("modelId is required for get_tokenizer_files");return(await th(e,"tokenizer_config.json",{})).exists?["tokenizer.json","tokenizer_config.json"]:[]}async function _x(e,t){const r=await mx(e);return await Promise.all(r.map(s=>ss(e,s,!0,t)))}function gx(e){const t=e.dims;switch(t.length){case 1:return e.tolist();case 2:if(t[0]!==1)throw new Error("Unable to decode tensor with `batch size !== 1`. Use `tokenizer.batch_decode(...)` for batched inputs.");return e.tolist()[0];default:throw new Error(`Expected tensor to have 1-2 dimensions, got ${t.length}.`)}}var EO=["bos_token","eos_token","unk_token","sep_token","pad_token","cls_token","mask_token"];function AO(e,t,r,s){for(const o of Object.keys(e)){const l=t-e[o].length,u=r(o),d=new Array(l).fill(u);e[o]=s==="right"?Sr(e[o],d):Sr(d,e[o])}}function CO(e,t){for(const r of Object.keys(e))e[r].length=t}function Ui(e,...t){for(const r of t){if(!Object.hasOwn(e,r))continue;const s=e[r];if(s)if(typeof s=="object"){if(s.__type==="AddedToken")return s.content;throw Error(`Unknown token: ${s}`)}else return s}return null}function kO(e){const t=[];for(const r of e.get_added_tokens_decoder().values())r.special&&t.push(r);return t}var De=class extends Oa{return_token_type_ids=!1;padding_side="right";constructor(e,t){if(super(),this._tokenizerJSON=e,this._tokenizerConfig=t,this._tokenizer=new jk(e,t),this.config=t,this.padding_side=t.padding_side??this.padding_side,this.mask_token=Ui(t,"mask_token"),this.mask_token_id=this._tokenizer.token_to_id(this.mask_token),this.pad_token=Ui(t,"pad_token","eos_token"),this.pad_token_id=this._tokenizer.token_to_id(this.pad_token),this.sep_token=Ui(t,"sep_token"),this.sep_token_id=this._tokenizer.token_to_id(this.sep_token),this.unk_token=Ui(t,"unk_token"),this.unk_token_id=this._tokenizer.token_to_id(this.unk_token),this.bos_token=Ui(t,"bos_token"),this.bos_token_id=this._tokenizer.token_to_id(this.bos_token),this.eos_token=Ui(t,"eos_token"),this.eos_token_id=this._tokenizer.token_to_id(this.eos_token),this.chat_template=t.chat_template??null,Array.isArray(this.chat_template)){const s=Object.create(null);for(const{name:o,template:l}of this.chat_template){if(typeof o!="string"||typeof l!="string")throw new Error('Chat template must be a list of objects with "name" and "template" properties');s[o]=l}this.chat_template=s}this._compiled_template_cache=new Map;const r=kO(this._tokenizer);this.all_special_ids=r.map(s=>s.id),this.all_special_tokens=r.map(s=>s.content)}static async from_pretrained(e,{progress_callback:t=null,config:r=null,cache_dir:s=null,local_files_only:o=!1,revision:l="main"}={}){const u=await _x(e,{progress_callback:t,config:r,cache_dir:s,local_files_only:o,revision:l});return new this(...u)}get_vocab(){return this._tokenizer.get_vocab()}get model_max_length(){return this._tokenizerConfig.model_max_length??1/0}get add_eos_token(){return this._tokenizerConfig.add_eos_token}get add_bos_token(){return this._tokenizerConfig.add_bos_token}convert_tokens_to_ids(e){return typeof e=="string"?this._tokenizer.token_to_id(e):e.map(t=>this._tokenizer.token_to_id(t))}_call(e,{text_pair:t=null,add_special_tokens:r=!0,padding:s=!1,truncation:o=null,max_length:l=null,return_tensor:u=!0,return_token_type_ids:d=null}={}){const f=Array.isArray(e);let p;if(f){if(e.length===0)throw Error("text array must be non-empty");if(t!==null){if(Array.isArray(t)){if(e.length!==t.length)throw Error("text and text_pair must have the same length")}else throw Error("text_pair must also be an array");p=e.map((g,w)=>this._encode_plus(g,{text_pair:t[w],add_special_tokens:r,return_token_type_ids:d}))}else p=e.map(g=>this._encode_plus(g,{add_special_tokens:r,return_token_type_ids:d}))}else{if(e==null)throw Error("text may not be null or undefined");if(Array.isArray(t))throw Error("When specifying `text_pair`, since `text` is a string, `text_pair` must also be a string (i.e., not an array).");p=[this._encode_plus(e,{text_pair:t,add_special_tokens:r,return_token_type_ids:d})]}if(l===null?l=this.model_max_length:o===null&&(s===!0?(Re.warn("`max_length` is ignored when `padding: true` and there is no truncation strategy. To pad to max length, use `padding: 'max_length'`."),l=this.model_max_length):s===!1&&(Re.warn("Truncation was not explicitly activated but `max_length` is provided a specific value, please use `truncation: true` to explicitly truncate examples to max length."),o=!0)),s===!0&&(l=Math.min(Ht(p.map(g=>g.input_ids.length))[0],l??1/0)),l=Math.min(l,this.model_max_length??1/0),s||o)for(let g=0;gl?o&&CO(p[g],l):s&&AO(p[g],l,w=>w==="input_ids"?this.pad_token_id:0,this.padding_side));const _={};if(u){if(!(s&&o)&&p.some(w=>{for(const b of Object.keys(w))if(w[b].length!==p[0][b]?.length)return!0;return!1}))throw Error("Unable to create tensor, you should probably activate truncation and/or padding with 'padding=true' and 'truncation=true' to have batched tensors with the same length.");const g=[p.length,p[0].input_ids.length];for(const w of Object.keys(p[0]))_[w]=new me("int64",BigInt64Array.from(p.flatMap(b=>b[w]).map(BigInt)),g)}else{for(const g of Object.keys(p[0]))_[g]=p.map(w=>w[g]);if(!f)for(const g of Object.keys(_))_[g]=_[g][0]}return _}_encode_text(e){return e===null?null:this._tokenizer.encode(e).tokens}_encode_plus(e,{text_pair:t=null,add_special_tokens:r=!0,return_token_type_ids:s=null}={}){const{ids:o,attention_mask:l,token_type_ids:u}=this._tokenizer.encode(e,{text_pair:t,add_special_tokens:r,return_token_type_ids:s??this.return_token_type_ids});return{input_ids:o,attention_mask:l,...u?{token_type_ids:u}:{}}}tokenize(e,{pair:t=null,add_special_tokens:r=!1}={}){return this._tokenizer.tokenize(e,{text_pair:t,add_special_tokens:r})}encode(e,{text_pair:t=null,add_special_tokens:r=!0,return_token_type_ids:s=null}={}){return this._tokenizer.encode(e,{text_pair:t,add_special_tokens:r,return_token_type_ids:s}).ids}batch_decode(e,t={}){return e instanceof me&&(e=e.tolist()),e.map(r=>this.decode(r,t))}decode(e,t={}){if(e instanceof me&&(e=gx(e)),!Array.isArray(e)||e.length===0||!kA(e[0]))throw Error("token_ids must be a non-empty array of integers.");return this.decode_single(e,t)}decode_single(e,{skip_special_tokens:t=!1,clean_up_tokenization_spaces:r=null}){return this._tokenizer.decode(e,{skip_special_tokens:t,clean_up_tokenization_spaces:r})}get_chat_template({chat_template:e=null,tools:t=null}={}){if(this.chat_template&&typeof this.chat_template=="object"){const r=this.chat_template;if(e!==null&&Object.hasOwn(r,e))e=r[e];else if(e===null)if(t!==null&&"tool_use"in r)e=r.tool_use;else if("default"in r)e=r.default;else throw Error(`This model has multiple chat templates with no default specified! Please either pass a chat template or the name of the template you wish to use to the 'chat_template' argument. Available template names are ${Object.keys(r).sort()}.`)}else if(e===null)if(this.chat_template)e=this.chat_template;else throw Error("Cannot use apply_chat_template() because tokenizer.chat_template is not set and no template argument was passed! For information about writing templates and setting the tokenizer.chat_template attribute, please see the documentation at https://huggingface.co/docs/transformers/main/en/chat_templating");return e}apply_chat_template(e,{tools:t=null,documents:r=null,chat_template:s=null,add_generation_prompt:o=!1,tokenize:l=!0,padding:u=!1,truncation:d=!1,max_length:f=null,return_tensor:p=!0,return_dict:_=!0,tokenizer_kwargs:g={},...w}={}){if(s=this.get_chat_template({chat_template:s,tools:t}),typeof s!="string")throw Error(`chat_template must be a string, but got ${typeof s}`);let b=this._compiled_template_cache.get(s);b===void 0&&(b=new B3(s),this._compiled_template_cache.set(s,b));const S=Object.create(null);for(const z of EO){const C=Ui(this.config,z);C&&(S[z]=C)}const E=b.render({messages:e,add_generation_prompt:o,tools:t,documents:r,...S,...w});if(l){const z=this._call(E,{add_special_tokens:!1,padding:u,truncation:d,max_length:f,return_tensor:p,...g});return _?z:z.input_ids}return E}};function og(e,t,r,s){if(!("language_codes"in e)||!Array.isArray(e.language_codes))throw new Error("Tokenizer must have `language_codes` attribute set and it should be an array of language ids.");if(!("languageRegex"in e)||!(e.languageRegex instanceof RegExp))throw new Error("Tokenizer must have `languageRegex` attribute set and it should be a regular expression.");if(!("lang_to_token"in e)||typeof e.lang_to_token!="function")throw new Error("Tokenizer must have `lang_to_token` attribute set and it should be a function.");const o=s.src_lang,l=s.tgt_lang;if(!e.language_codes.includes(l))throw new Error(`Target language code "${l}" is not valid. Must be one of: {${e.language_codes.join(", ")}}`);if(o!==void 0){if(!e.language_codes.includes(o))throw new Error(`Source language code "${o}" is not valid. Must be one of: {${e.language_codes.join(", ")}}`);for(const u of e._tokenizer.post_processor.config.single)if("SpecialToken"in u&&e.languageRegex.test(u.SpecialToken.id)){u.SpecialToken.id=e.lang_to_token(o);break}}return s.forced_bos_token_id=e._tokenizer.token_to_id(e.lang_to_token(l)),e._call(t,r)}var yx={};Al(yx,{AlbertTokenizer:()=>OO,AutoTokenizer:()=>mt,BartTokenizer:()=>zO,BertTokenizer:()=>LO,BlenderbotSmallTokenizer:()=>FO,BlenderbotTokenizer:()=>NO,BloomTokenizer:()=>DO,CLIPTokenizer:()=>BO,CamembertTokenizer:()=>RO,CodeGenTokenizer:()=>IO,CodeLlamaTokenizer:()=>PO,CohereTokenizer:()=>UO,ConvBertTokenizer:()=>GO,DebertaTokenizer:()=>VO,DebertaV2Tokenizer:()=>jO,DistilBertTokenizer:()=>qO,ElectraTokenizer:()=>HO,EsmTokenizer:()=>$O,FalconTokenizer:()=>QO,GPT2Tokenizer:()=>XO,GPTNeoXTokenizer:()=>YO,GemmaTokenizer:()=>WO,HerbertTokenizer:()=>ZO,LlamaTokenizer:()=>KO,M2M100Tokenizer:()=>JO,MBart50Tokenizer:()=>tz,MBartTokenizer:()=>vx,MPNetTokenizer:()=>rz,MarianTokenizer:()=>ez,MgpstrTokenizer:()=>nz,MobileBertTokenizer:()=>az,NllbTokenizer:()=>sz,NougatTokenizer:()=>iz,PreTrainedTokenizer:()=>De,Qwen2Tokenizer:()=>oz,RoFormerTokenizer:()=>cz,RobertaTokenizer:()=>lz,SiglipTokenizer:()=>uz,SpeechT5Tokenizer:()=>dz,SqueezeBertTokenizer:()=>fz,T5Tokenizer:()=>hz,TokenizersBackend:()=>De,VitsTokenizer:()=>mz,Wav2Vec2CTCTokenizer:()=>_z,WhisperTokenizer:()=>wz,XLMRobertaTokenizer:()=>bz,XLMTokenizer:()=>Mz});var OO=class extends De{return_token_type_ids=!0},zO=class extends De{},LO=class extends De{return_token_type_ids=!0},FO=class extends De{},NO=class extends De{},DO=class extends De{},RO=class extends De{},BO=class extends De{},PO=class extends De{},IO=class extends De{},UO=class extends De{},GO=class extends De{return_token_type_ids=!0},jO=class extends De{return_token_type_ids=!0},VO=class extends De{return_token_type_ids=!0},qO=class extends De{},HO=class extends De{return_token_type_ids=!0},$O=class extends De{},QO=class extends De{},WO=class extends De{},YO=class extends De{},XO=class extends De{},ZO=class extends De{return_token_type_ids=!0},KO=class extends De{padding_side="left"},JO=class extends De{constructor(e,t){super(e,t),this.languageRegex=/^__[a-z]{2,3}__$/,this.language_codes=this.all_special_tokens.filter(r=>this.languageRegex.test(r)).map(r=>r.slice(2,-2)),this.lang_to_token=r=>`__${r}__`}_build_translation_inputs(e,t,r){return og(this,e,t,r)}},ez=class extends De{constructor(e,t){super(e,t),this.languageRegex=/^(>>\w+<<)\s*/g,this.supported_language_codes=Array.from(this.get_vocab().keys()).filter(r=>this.languageRegex.test(r)),Re.warn('WARNING: `MarianTokenizer` is not yet supported by Hugging Face\'s "fast" tokenizers library. Therefore, you may experience slightly inaccurate results.')}_encode_text(e){if(e===null)return null;const[t,...r]=e.trim().split(this.languageRegex);if(r.length===0)return super._encode_text(t);if(r.length===2){const[s,o]=r;return this.supported_language_codes.includes(s)||Re.warn(`Unsupported language code "${s}" detected, which may lead to unexpected behavior. Should be one of: ${JSON.stringify(this.supported_language_codes)}`),Sr([s],super._encode_text(o))}}},vx=class extends De{constructor(e,t){super(e,t),this.languageRegex=/^[a-z]{2}_[A-Z]{2}$/,this.language_codes=this.all_special_tokens.filter(r=>this.languageRegex.test(r)).map(r=>r),this.lang_to_token=r=>r}_build_translation_inputs(e,t,r){return og(this,e,t,r)}},tz=class extends vx{},nz=class extends De{},az=class extends De{return_token_type_ids=!0},rz=class extends De{},sz=class extends De{constructor(e,t){super(e,t),this.languageRegex=/^[a-z]{3}_[A-Z][a-z]{3}$/,this.language_codes=this.all_special_tokens.filter(r=>this.languageRegex.test(r)),this.lang_to_token=r=>r}_build_translation_inputs(e,t,r){return og(this,e,t,r)}},iz=class extends De{},oz=class extends De{},lz=class extends De{},cz=class extends De{return_token_type_ids=!0},uz=class extends De{},dz=class extends De{},fz=class extends De{return_token_type_ids=!0},hz=class extends De{},pz=class extends Ka{decode_chain(e){let t="";for(let r=1;r[t,e]),["burmese","my"],["valencian","ca"],["flemish","nl"],["haitian","ht"],["letzeburgesch","lb"],["pushto","ps"],["panjabi","pa"],["moldavian","ro"],["moldovan","ro"],["sinhalese","si"],["castilian","es"]]);function yz(e){e=e.toLowerCase();let t=gz.get(e);if(t===void 0){const r=e.match(/^<\|([a-z]{2})\|>$/);if(r&&(e=r[1]),zf.has(e))t=e;else{const o=e.length===2?zf.keys():zf.values();throw new Error(`Language "${e}" is not supported. Must be one of: ${JSON.stringify(Array.from(o))}`)}}return t}var vz="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",d1=new RegExp(`^[${vz}]+$`,"gu"),wz=class extends De{get timestamp_begin(){return this._tokenizer.token_to_id("<|notimestamps|>")+1}_decode_asr(e,{return_timestamps:t=!1,return_language:r=!1,time_precision:s=null,force_full_sequences:o=!0}={}){if(s===null)throw Error("Must specify time_precision");let l=null;const u=t==="word";function d(){return{language:l,timestamp:[null,null],text:""}}const f=[];let p=d(),_=0;const g=this.timestamp_begin,b=g+1500;let S=[],E=[],z=!1,C=null;const L=new Set(this.all_special_ids);for(const P of e){const Y=P.tokens,O=u?P.token_timestamps:null;let pe=null,le=g;if("stride"in P){const[de,W,q]=P.stride;if(_-=W,C=de-q,W&&(le=W/s+g),q)for(let se=Y.length-1;se>=0;--se){const V=Number(Y[se]);if(V>=g){if(pe!==null&&(V-g)*s=g&&W<=b){const q=(W-g)*s+_,se=yu(q,2);if(pe!==null&&W>=pe)z=!0;else if(z||S.length>0&&W0?(S.push(fe),u&&E.push(_e)):S.every(de=>de.length===0)&&(p=d(),S=[],fe=[],E=[],_e=[])}if(S.length>0){if(o&&t)throw new Error("Whisper did not predict an ending timestamp, which can happen if audio is cut off in the middle of a word. Also make sure WhisperTimeStampLogitsProcessor was used during generation.");const[P,Y]=this.findLongestCommonSequence(S,E),O=this.decode(P);p.text=O,u&&(p.words=this.collateWordTimestamps(P,Y,l)),f.push(p)}let D=Object.create(null);const R=f.map(P=>P.text).join("");if(t||r){for(let P=0;P0;let u=l?[]:null,d=l?t[0]:null;for(let f=1;fW===le[q]&&d[R+q]<=t[f][O+q]).length:fe=Y.filter((W,q)=>W===le[q]).length;const _e=D/1e4,de=fe/D+_e;fe>1&&de>_&&(_=de,g=[R,P,O,pe])}const[b,S,E,z]=g,C=Math.floor((S+b)/2),L=Math.floor((z+E)/2);o.push(...r.slice(0,C)),r=p.slice(L),s=r.length,l&&(u.push(...d.slice(0,C)),d=t[f].slice(L))}return o.push(...r),l?(u.push(...d),[o,u]):[o,[]]}collateWordTimestamps(e,t,r){const[s,o,l]=this.combineTokensIntoWords(e,r),u=[];for(let d=0;d=s){const u=((l-s)*r).toFixed(2);o.push(`<|${u}|>`),o.push([])}else o[o.length-1].push(l);return o=o.map(l=>typeof l=="string"?l:super.decode(l,t)),o.join("")}splitTokensOnUnicode(e){const t=this.decode(e,{decode_with_timestamps:!0}),r="�",s=[],o=[],l=[];let u=[],d=[],f=0;for(let p=0;p=this._tokenizer.token_to_id("<|endoftext|>"),w=f.startsWith(" "),b=f.trim(),S=d1.test(b);if(g||w||S||o.length===0)o.push(f),l.push(p),u.push(_);else{const E=o.length-1;o[E]+=f,l[E].push(...p),u[E].push(..._)}}return[o,l,u]}mergePunctuations(e,t,r,s,o){const l=structuredClone(e),u=structuredClone(t),d=structuredClone(r);let f=l.length-2,p=l.length-1;for(;f>=0;)l[f].startsWith(" ")&&s.includes(l[f].trim())?(l[p]=l[f]+l[p],u[p]=Sr(u[f],u[p]),d[p]=Sr(d[f],d[p]),l[f]="",u[f]=[],d[f]=[]):p=f,--f;for(f=0,p=1;p_),u.filter(_=>_.length>0),d.filter(_=>_.length>0)]}},bz=class extends De{},Mz=class extends De{return_token_type_ids=!0;constructor(e,t){super(e,t),Re.warn('WARNING: `XLMTokenizer` is not yet supported by Hugging Face\'s "fast" tokenizers library. Therefore, you may experience slightly inaccurate results.')}},mt=class{static async from_pretrained(e,{progress_callback:t=null,config:r=null,cache_dir:s=null,local_files_only:o=!1,revision:l="main"}={}){const[u,d]=await _x(e,{progress_callback:t,config:r,cache_dir:s,local_files_only:o,revision:l}),f=d.tokenizer_class?.replace(/Fast$/,"")??"PreTrainedTokenizer";let p=yx[f];return p||(Re.warn(`Unknown tokenizer class "${f}", attempting to construct from base class.`),p=De),new p(u,d)}},nh="https://github.com/huggingface/transformers.js/issues/new/choose",lg="preprocessor_config.json",Su=lg,xz="processor_config.json",Tz="chat_template.jinja",Mt=class extends Oa{static classes=["image_processor_class","tokenizer_class","feature_extractor_class"];static uses_processor_config=!1;static uses_chat_template_file=!1;constructor(e,t,r){super(),this.config=e,this.components=t,this.chat_template=r}get image_processor(){return this.components.image_processor}get tokenizer(){return this.components.tokenizer}get feature_extractor(){return this.components.feature_extractor}apply_chat_template(e,t={}){if(!this.tokenizer)throw new Error("Unable to apply chat template without a tokenizer.");return this.tokenizer.apply_chat_template(e,{tokenize:!1,chat_template:this.chat_template??void 0,...t})}batch_decode(...e){if(!this.tokenizer)throw new Error("Unable to decode without a tokenizer.");return this.tokenizer.batch_decode(...e)}decode(...e){if(!this.tokenizer)throw new Error("Unable to decode without a tokenizer.");return this.tokenizer.decode(...e)}async _call(e,...t){for(const r of[this.image_processor,this.feature_extractor,this.tokenizer])if(r)return r(e,...t);throw new Error("No image processor, feature extractor, or tokenizer found.")}static async from_pretrained(e,t={}){const[r,s,o]=await Promise.all([this.uses_processor_config?ss(e,xz,!0,t):{},Promise.all(this.classes.filter(l=>l in this).map(async l=>{const u=await this[l].from_pretrained(e,t);return[l.replace(/_class$/,""),u]})).then(Object.fromEntries),this.uses_chat_template_file?JM(e,Tz,!0,t):null]);return new this(r,s,o)}},x_={};Al(x_,{ChatterboxProcessor:()=>Jz,Florence2Processor:()=>XL,Gemma3nProcessor:()=>ZL,GraniteSpeechProcessor:()=>KL,GroundingDinoProcessor:()=>eF,Idefics3Processor:()=>g1,JinaCLIPProcessor:()=>sF,Lfm2VlProcessor:()=>iF,LlavaProcessor:()=>oF,MgpstrProcessor:()=>lF,MoonshineProcessor:()=>cF,OwlViTProcessor:()=>uF,PaliGemmaProcessor:()=>fF,Phi3VProcessor:()=>pF,PixtralProcessor:()=>mF,Processor:()=>Mt,PyAnnoteProcessor:()=>_F,Qwen2VLProcessor:()=>Qx,Qwen2_5_VLProcessor:()=>Wx,Qwen3VLProcessor:()=>gF,Sam2Processor:()=>Xx,Sam2VideoProcessor:()=>yF,SamProcessor:()=>Yx,SmolVLMProcessor:()=>g1,SpeechT5Processor:()=>vF,UltravoxProcessor:()=>wF,VLChatProcessor:()=>rF,VoxtralProcessor:()=>TF,VoxtralRealtimeProcessor:()=>AF,Wav2Vec2Processor:()=>CF,Wav2Vec2ProcessorWithLM:()=>kF,WhisperProcessor:()=>OF});var zn=class extends Oa{constructor(e){super(),this.config=e}static async from_pretrained(e,t={}){const r=await ss(e,lg,!0,t);return new this(r)}};function qn(e,t){if(!(e instanceof Float32Array||e instanceof Float64Array))throw new Error(`${t} expects input to be a Float32Array or a Float64Array, but got ${e?.constructor?.name??typeof e} instead. If using the feature extractor directly, remember to use \`read_audio(url, sampling_rate)\` to obtain the raw audio data of the file/url.`)}var cg={};Al(cg,{ASTFeatureExtractor:()=>Pz,ChatterboxFeatureExtractor:()=>Iz,ClapFeatureExtractor:()=>Uz,DacFeatureExtractor:()=>Sx,EncodecFeatureExtractor:()=>Tx,FeatureExtractor:()=>zn,Gemma3nAudioFeatureExtractor:()=>Gz,GraniteSpeechFeatureExtractor:()=>jz,MoonshineFeatureExtractor:()=>Vz,ParakeetFeatureExtractor:()=>Hz,PyAnnoteFeatureExtractor:()=>Ex,SeamlessM4TFeatureExtractor:()=>$z,SnacFeatureExtractor:()=>Qz,SpeechT5FeatureExtractor:()=>Wz,VoxtralRealtimeFeatureExtractor:()=>Zz,Wav2Vec2FeatureExtractor:()=>Yz,WeSpeakerFeatureExtractor:()=>Xz,WhisperFeatureExtractor:()=>Kz});var Sz=()=>{},Ez=Sz;async function bx(e,t){if(We.IS_BROWSER_ENV){if(We.IS_WEBWORKER_ENV)throw new Error("Unable to save a file from a Web Worker.");const r=URL.createObjectURL(t),s=document.createElement("a");s.href=r,s.download=e,s.click(),s.remove(),URL.revokeObjectURL(r)}else if(We.IS_FS_AVAILABLE)t.stream(),fa.createWriteStream(e),await Ez();else throw new Error("Unable to save because filesystem is disabled in this environment.")}async function Az(e,t){if(typeof AudioContext>"u")throw Error("Unable to load audio from path/URL since `AudioContext` is not available in your environment. Instead, audio data should be passed directly to the pipeline/processor. For more information and some example code, see https://huggingface.co/docs/transformers.js/guides/node-audio-processing.");const r=await(await Tu(e)).arrayBuffer(),s=new AudioContext({sampleRate:t});typeof t>"u"&&Re.warn(`No sampling rate provided, using default of ${s.sampleRate}Hz.`);const o=await s.decodeAudioData(r);let l;if(o.numberOfChannels===2){const u=Math.sqrt(2),d=o.getChannelData(0),f=o.getChannelData(1);l=new Float32Array(d.length);for(let p=0;p2595*Math.log10(1+e/700),kaldi:e=>1127*Math.log(1+e/700),slaney:(e,t=1e3,r=15,s=27/Math.log(6.4))=>e>=t?r+Math.log(e/t)*s:3*e/200};function e_(e,t="htk"){const r=kz[t];if(!r)throw new Error('mel_scale should be one of "htk", "slaney" or "kaldi".');return typeof e=="number"?r(e):e.map(s=>r(s))}var Oz={htk:e=>700*(10**(e/2595)-1),kaldi:e=>700*(Math.exp(e/1127)-1),slaney:(e,t=1e3,r=15,s=Math.log(6.4)/27)=>e>=r?t*Math.exp(s*(e-r)):200*e/3};function zz(e,t="htk"){const r=Oz[t];if(!r)throw new Error('mel_scale should be one of "htk", "slaney" or "kaldi".');return typeof e=="number"?r(e):e.map(s=>r(s))}function Lz(e,t){const r=Float64Array.from({length:t.length-1},(u,d)=>t[d+1]-t[d]),s=Array.from({length:e.length},()=>new Array(t.length));for(let u=0;unew Array(e.length));for(let u=0;ue+s*l)}function Er(e,t,r,s,o,l=null,u="htk",d=!1){if(l!==null&&l!=="slaney")throw new Error('norm must be one of null or "slaney"');if(e<2)throw new Error(`Require num_frequency_bins: ${e} >= 2`);if(r>s)throw new Error(`Require min_frequency: ${r} <= max_frequency: ${s}`);const f=e_(r,u),p=e_(s,u),_=h1(f,p,t+2);let g=zz(_,u),w;if(d){const S=o/((e-1)*2);w=e_(Float64Array.from({length:e},(E,z)=>z*S),u),g=_}else w=h1(0,Math.floor(o/2),e);const b=Lz(w,g);if(l!==null&&l==="slaney")for(let S=0;So)throw Error(`frame_length (${r}) may not be larger than fft_length (${o})`);if(pe!==r)throw new Error(`Length of the window (${pe}) must equal frame_length (${r})`);if(s<=0)throw new Error("hop_length must be greater than zero");if(l===null&&g!==null)throw new Error("You have provided `mel_filters` but `power` is `None`. Mel spectrogram computation is not yet supported for complex-valued spectrogram. Specify `power` to fix this issue.");if(!_)throw new Error("`preemphasis_htk_flavor=false` is not currently supported.");if(u)switch(d){case"reflect":{const ee=Math.floor((o-1)/2)+1;e=Fz(e,ee,ee);break}case"constant":{const ee=Math.floor(o/2),N=new e.constructor(e.length+2*ee);N.set(e,ee),e=N;break}default:throw new Error(`pad_mode="${d}" not implemented yet.`)}let le=Math.floor(1+Math.floor((e.length-r)/s));D!==null&&lele?P&&(de=R):de=_e=R);const W=new rO(o),q=new Float64Array(o),se=new Float64Array(W.outputBufferSize),V=new Float32Array(fe*de);for(let ee=0;ee<_e;++ee){const N=ee*s,ne=Math.min(e.length-N,r);ne!==r&&q.fill(0,0,r);for(let re=0;re=1;--re)q[re]-=p*q[re-1];q[0]*=1-p}for(let re=0;reMath.pow(d,.85));break;default:throw new Error(`Unknown window type ${t}.`)}if(r&&(u=u.subarray(0,e)),s===null)return u;if(e>s)throw new Error(`Length of the window (${e}) may not be larger than frame_length (${s})`);return u}function Rz(e,t){const r=e.reduce((l,u)=>l+u.length,0),s=new ArrayBuffer(44),o=new DataView(s);return Tf(o,0,"RIFF"),o.setUint32(4,36+r*4,!0),Tf(o,8,"WAVE"),Tf(o,12,"fmt "),o.setUint32(16,16,!0),o.setUint16(20,3,!0),o.setUint16(22,1,!0),o.setUint32(24,t,!0),o.setUint32(28,t*4,!0),o.setUint16(32,4,!0),o.setUint16(34,32,!0),Tf(o,36,"data"),o.setUint32(40,r*4,!0),new Blob([s,...e.map(l=>l.buffer)],{type:"audio/wav"})}function Tf(e,t,r){for(let s=0;ss+o.length,0),t=new Float32Array(e);let r=0;for(const s of this.audio)t.set(s,r),r+=s.length;return t}else return this.audio}toBlob(){let e=this.audio;return e instanceof Float32Array&&(e=[e]),Rz(e,this.sampling_rate)}async save(e){return bx(e,this.toBlob())}},Pz=class extends zn{constructor(e){super(e);const t=this.config.sampling_rate,r=Er(257,this.config.num_mel_bins,20,Math.floor(t/2),t,null,"kaldi",!0);this.mel_filters=r,this.window=os(400,"hann",{periodic:!1}),this.mean=this.config.mean,this.std=this.config.std}async _extract_fbank_features(e,t){return is(e,this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:"log",mel_floor:1192092955078125e-22,remove_dc_offset:!0,max_num_frames:t,transpose:!0})}async _call(e){qn(e,"ASTFeatureExtractor");const t=await this._extract_fbank_features(e,this.config.max_length);if(this.config.do_normalize){const r=this.std*2,s=t.data;for(let o=0;o0)if(r==="rand_trunc"){const u=Math.floor(ng.random()*(l+1));e=e.subarray(u,u+t),o=await this._extract_fbank_features(e,this.mel_filters_slaney,this.config.nb_max_samples)}else throw new Error(`Truncation strategy "${r}" not implemented`);else{if(l<0){let u=new Float64Array(t);if(u.set(e),s==="repeat")for(let d=e.length;dt&&(e=e.slice(0,t)),s&&e.length%o!==0){const d=o-e.length%o,f=new Float64Array(e.length+d);f.set(e),this.config.padding_value!==0&&f.fill(this.config.padding_value,e.length),e=f}const l=await this._extract_fbank_features(e,this.config.max_length),u=On([1,l.dims[0]],!0);return{input_features:l.unsqueeze_(0),input_features_mask:u}}},jz=class extends zn{constructor(e){super(e);const{n_fft:t,win_length:r,n_mels:s,sample_rate:o}=e.melspec_kwargs;this.mel_filters=Er(Math.floor(1+t/2),s,0,o/2,o,null,"htk");const l=os(r,"hann");this.window=new Float64Array(t);const u=Math.floor((t-r)/2);this.window.set(l,u)}async _call(e){qn(e,"GraniteSpeechFeatureExtractor");const{n_fft:t,hop_length:r,n_mels:s}=this.config.melspec_kwargs,o=1+Math.floor((e.length-1)/r),l=o-o%2;return{input_features:(await is(e,this.window,t,r,{power:2,mel_filters:this.mel_filters,log_mel:"log10_max_norm",transpose:!0,max_num_frames:l,do_pad:!1})).view(-1,2*s).unsqueeze_(0)}}},Vz=class extends zn{async _call(e){qn(e,"MoonshineFeatureExtractor"),e instanceof Float64Array&&(e=new Float32Array(e));const t=[1,e.length];return{input_values:new me("float32",e,t)}}},qz=1e-5,Hz=class extends zn{constructor(e){super(e),this.config.mel_filters??=Er(Math.floor(1+this.config.n_fft/2),this.config.feature_size,0,this.config.sampling_rate/2,this.config.sampling_rate,"slaney","slaney");const t=os(this.config.win_length,"hann",{periodic:!1});this.window=new Float64Array(this.config.n_fft);const r=Math.floor((this.config.n_fft-this.config.win_length)/2);this.window.set(t,r)}async _extract_fbank_features(e){const t=this.config.preemphasis;e=new Float64Array(e);for(let s=e.length-1;s>=1;--s)e[s]-=t*e[s-1];return await is(e,this.window,this.window.length,this.config.hop_length,{fft_length:this.config.n_fft,power:2,mel_filters:this.config.mel_filters,log_mel:"log",mel_floor:-1/0,pad_mode:"constant",center:!0,transpose:!0,mel_offset:2**-24})}async _call(e){qn(e,"ParakeetFeatureExtractor");const t=await this._extract_fbank_features(e),r=Math.floor((e.length+Math.floor(this.config.n_fft/2)*2-this.config.n_fft)/this.config.hop_length),s=t.data;s.fill(0,r*t.dims[1]);const[o,l]=t.dims,u=new Float64Array(l),d=new Float64Array(l);for(let _=0;_1?r-1:1;for(let _=0;_({id:d,start:f*r,end:p*r,confidence:_/(p-f)})))}return s}},$z=class extends zn{constructor(e){super(e);const t=this.config.sampling_rate,r=Er(257,this.config.num_mel_bins,20,Math.floor(t/2),t,null,"kaldi",!0);this.mel_filters=r,this.window=os(400,"povey",{periodic:!1})}async _extract_fbank_features(e,t){return e=e.map(r=>r*32768),is(e,this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:"log",mel_floor:1192092955078125e-22,remove_dc_offset:!0,max_num_frames:t,transpose:!0})}async _call(e,{padding:t=!0,pad_to_multiple_of:r=2,do_normalize_per_mel_bins:s=!0,return_attention_mask:o=!0}={}){qn(e,"SeamlessM4TFeatureExtractor");let l=await this._extract_fbank_features(e,this.config.max_length);if(s){const[b,S]=l.dims,E=l.data;for(let z=0;z0){const C=new Float32Array(S*(b+z));C.set(E),C.fill(this.config.padding_value,E.length);const L=b+z;l=new me(l.type,C,[L,S]),o&&(u=new me("int64",new BigInt64Array(L),[1,L]),u.data.fill(1n,0,b))}}const[d,f]=l.dims,p=this.config.stride;if(d%p!==0)throw new Error(`The number of frames (${d}) must be a multiple of the stride (${p}).`);const g=l.view(1,Math.floor(d/p),f*p),w={input_features:g};if(o){const b=g.dims[1],S=new BigInt64Array(b);if(u){const E=u.data;for(let z=1,C=0;zo+l,0)/e.length,s=e.reduce((o,l)=>o+(l-r)**2,0)/e.length;return e.map(o=>(o-r)/Math.sqrt(s+1e-7))}async _call(e){qn(e,"Wav2Vec2FeatureExtractor"),e instanceof Float64Array&&(e=new Float32Array(e));let t=e;this.config.do_normalize&&(t=this._zero_mean_unit_var_norm(t));const r=[1,t.length];return{input_values:new me("float32",t,r),attention_mask:new me("int64",new BigInt64Array(t.length).fill(1n),r)}}},Xz=class extends zn{constructor(e){super(e);const t=this.config.sampling_rate,r=Er(257,this.config.num_mel_bins,20,Math.floor(t/2),t,null,"kaldi",!0);this.mel_filters=r,this.window=os(400,"hamming",{periodic:!1}),this.min_num_frames=this.config.min_num_frames}async _extract_fbank_features(e){return e=e.map(t=>t*32768),is(e,this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:"log",mel_floor:1192092955078125e-22,remove_dc_offset:!0,transpose:!0,min_num_frames:this.min_num_frames})}async _call(e){qn(e,"WeSpeakerFeatureExtractor");const t=(await this._extract_fbank_features(e)).unsqueeze_(0);if(this.config.fbank_centering_span===null){const r=t.mean(1).data,s=t.data,[o,l,u]=t.dims;for(let d=0;ds?(e.length>this.config.n_samples&&Re.warn("Attempting to extract features for audio longer than 30 seconds. If using a pipeline to extract transcript from a long audio clip, remember to specify `chunk_length_s` and/or `stride_length_s`."),r=e.slice(0,s)):(r=new Float32Array(s),r.set(e)),{input_features:(await this._extract_fbank_features(r)).unsqueeze_(0)}}},er=class{static async from_pretrained(e,t={}){const r=await ss(e,lg,!0,t),s=r.feature_extractor_type,o=cg[s];if(!o)throw new Error(`Unknown feature_extractor_type: '${s}'. Please report this at ${nh}.`);return new o(r)}},Jz=class extends Mt{static tokenizer_class=mt;static feature_extractor_class=er;async _call(e,t=null){const r=this.tokenizer(e),s=t?await this.feature_extractor(t):{};return{...r,...s}}},T_={},ji,Ax,Xs;if(We.IS_WEB_ENV)ji=(e,t)=>{if(!self.OffscreenCanvas)throw new Error("OffscreenCanvas not supported by this environment.");return new self.OffscreenCanvas(e,t)},Xs=self.createImageBitmap,Ax=self.ImageData;else if(T_)Xs=async e=>{const r=(await e.metadata()).channels,{data:s,info:o}=await e.rotate().raw().toBuffer({resolveWithObject:!0}),l=new Xa(new Uint8ClampedArray(s),o.width,o.height,o.channels);return r!==void 0&&r!==o.channels&&l.convert(r),l};else throw new Error("Unable to load image processing library.");var eL={0:"nearest",1:"lanczos",2:"bilinear",3:"bicubic",4:"box",5:"hamming"},tL=new Map([["png","image/png"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["gif","image/gif"]]),Xa=class Mr{constructor(t,r,s,o){this.data=t,this.width=r,this.height=s,this.channels=o}get size(){return[this.width,this.height]}static async read(t){if(t instanceof Mr)return t;if(typeof t=="string"||t instanceof URL)return await this.fromURL(t);if(t instanceof Blob)return await this.fromBlob(t);if(typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement||typeof OffscreenCanvas<"u"&&t instanceof OffscreenCanvas)return this.fromCanvas(t);throw new Error(`Unsupported input type: ${typeof t}`)}static fromCanvas(t){if(!We.IS_WEB_ENV)throw new Error("fromCanvas() is only supported in browser environments.");const s=t.getContext("2d").getImageData(0,0,t.width,t.height).data;return new Mr(s,t.width,t.height,4)}static async fromURL(t){const r=await Tu(t);if(r.status!==200)throw new Error(`Unable to read image from "${t}" (${r.status} ${r.statusText})`);const s=await r.blob();return this.fromBlob(s)}static async fromBlob(t){if(We.IS_WEB_ENV){const r=await Xs(t),s=ji(r.width,r.height).getContext("2d");return s.drawImage(r,0,0),new this(s.getImageData(0,0,r.width,r.height).data,r.width,r.height,4)}else{const r=T_(await t.arrayBuffer());return await Xs(r)}}static fromTensor(t,r="CHW"){if(t.dims.length!==3)throw new Error(`Tensor should have 3 dimensions, but has ${t.dims.length} dimensions.`);if(r==="CHW")t=t.transpose(1,2,0);else if(r!=="HWC")throw new Error(`Unsupported channel format: ${r}`);if(!(t.data instanceof Uint8ClampedArray||t.data instanceof Uint8Array))throw new Error(`Unsupported tensor type: ${t.type}`);switch(t.dims[2]){case 1:case 2:case 3:case 4:return new Mr(t.data,t.dims[1],t.dims[0],t.dims[2]);default:throw new Error(`Unsupported number of channels: ${t.dims[2]}`)}}grayscale(){if(this.channels===1)return this;const t=new Uint8ClampedArray(this.width*this.height*1);switch(this.channels){case 3:case 4:for(let r=0,s=0;r=0?f=s:_=-s,o>=0?p=o:g=-o,d.drawImage(u,f,p,t,r,_,g,t,r),new Mr(d.getImageData(0,0,t,r).data,t,r,4).convert(l)}else{let l=this.toSharp();if(s>=0&&o>=0)l=l.extract({left:Math.floor(s),top:Math.floor(o),width:t,height:r});else if(s<=0&&o<=0){const u=Math.floor(-o),d=Math.floor(-s);l=l.extend({top:u,left:d,right:t-this.width-d,bottom:r-this.height-u})}else{let u=[0,0],d=0;o<0?(u[0]=Math.floor(-o),u[1]=r-this.height-u[0]):d=Math.floor(o);let f=[0,0],p=0;s<0?(f[0]=Math.floor(-s),f[1]=t-this.width-f[0]):p=Math.floor(s),l=l.extend({top:u[0],bottom:u[1],left:f[0],right:f[1]}).extract({left:p,top:d,width:t,height:r})}return await Xs(l)}}async toBlob(t="image/png",r=1){if(!We.IS_WEB_ENV)throw new Error("toBlob() is only supported in browser environments.");return await this.toCanvas().convertToBlob({type:t,quality:r})}toTensor(t="CHW"){let r=new me("uint8",new Uint8Array(this.data),[this.height,this.width,this.channels]);if(t!=="HWC")if(t==="CHW")r=r.permute(2,0,1);else throw new Error(`Unsupported channel format: ${t}`);return r}toCanvas(){if(!We.IS_WEB_ENV)throw new Error("toCanvas() is only supported in browser environments.");const t=this.clone().rgba(),r=ji(t.width,t.height),s=new Ax(t.data,t.width,t.height);return r.getContext("2d").putImageData(s,0,0),r}split(){const{data:t,width:r,height:s,channels:o}=this,l=t.constructor,u=t.length/o,d=Array.from({length:o},()=>new l(u));for(let f=0;fnew Mr(f,r,s,1))}_update(t,r,s,o=null){return this.data=t,this.width=r,this.height=s,o!==null&&(this.channels=o),this}clone(){return new Mr(this.data.slice(),this.width,this.height,this.channels)}convert(t){if(this.channels===t)return this;switch(t){case 1:this.grayscale();break;case 3:this.rgb();break;case 4:this.rgba();break;default:throw new Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this}async save(t){if(We.IS_WEB_ENV){if(We.IS_WEBWORKER_ENV)throw new Error("Unable to save an image from a Web Worker.");const r=t.split(".").pop().toLowerCase(),s=tL.get(r)??"image/png",o=await this.toBlob(s);return bx(t,o)}else if(We.IS_FS_AVAILABLE)await this.toSharp().toFile(t);else throw new Error("Unable to save the image because filesystem is disabled in this environment.")}toSharp(){if(We.IS_WEB_ENV)throw new Error("toSharp() is only supported in server-side environments.");return T_(this.data,{raw:{width:this.width,height:this.height,channels:this.channels}})}};Xa.read.bind(Xa);function p1(e,t,r=0,s=null){const o=e/t;let l=iO(o)*t;return s!==null&&l>s&&(l=Math.floor(o)*t),lt&&C.push(D)}else{let D=Ht(z.data)[1];if(D===f-1||(L=wn(z.data),L[D]P*g[(Y+1)%2])),w.boxes.push(R),w.classes.push(D),w.scores.push(L[D])}}p.push(w)}return p}function kx(e,t=null){const r=e.logits,s=r.dims[0];if(t!==null&&t.length!==s)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");const o=[];for(let l=0;lg[C]&&(g[C]=z[C],w[C]=E)}const b=new Array(d.dims[0]);for(let E=0;EE!==void 0);o.push({segmentation:_,labels:S})}return o}function nL(e,t,r,s){const o=[],l=[],u=[];for(let d=0;dr&&(o.push(p),l.push(w),u.push(_))}return[o,l,u]}function aL(e,t,r,s=.5,o=.8){const l=[];let u=0,d=0;const f=t[r].data;for(let _=0;_=s&&++d;let p=u>0&&d>0;return p&&(p=u/d>o),[p,l]}function rL(e,t,r,s,o,l=null,u=null){const[d,f]=u??e[0].dims,p=new me("int32",new Int32Array(d*f),[d,f]),_=[];if(u!==null)for(let E=0;Ew[L]&&(g[L]=E,w[L]=C[L])}let b=0;const S=p.data;for(let E=0;E200)throw new Error(`absolute aspect ratio must be smaller than 200, got ${Math.max(e,t)/Math.min(e,t)}`);let l=Math.round(e/r)*r,u=Math.round(t/r)*r;if(l*u>o){const d=Math.sqrt(e*t/o);l=Math.floor(e/d/r)*r,u=Math.floor(t/d/r)*r}else if(l*uo?f=Math.floor(o*d/s):o>s&&(d=Math.floor(s*f/o)),await e.resize(f,d,{resample:r}))}async crop_margin(e,t=200){const r=e.clone().grayscale(),s=v_(r.data)[0],l=Ht(r.data)[0]-s;if(l===0)return e;const u=t/255;let d=r.width,f=r.height,p=0,_=0;const g=r.data;for(let w=0;wthis.preprocess(o)));return{pixel_values:Ji(r.map(o=>o.pixel_values),0),original_sizes:r.map(o=>o.original_size),reshaped_input_sizes:r.map(o=>o.reshaped_input_size)}}static async from_pretrained(e,t={}){const r=await ss(e,Su,!0,t);return new this(r)}},Hf={};Al(Hf,{BeitFeatureExtractor:()=>sL,BitImageProcessor:()=>iL,CLIPFeatureExtractor:()=>lL,CLIPImageProcessor:()=>Fx,ChineseCLIPFeatureExtractor:()=>oL,ConvNextFeatureExtractor:()=>cL,ConvNextImageProcessor:()=>Nx,DINOv3ViTImageProcessor:()=>fL,DPTFeatureExtractor:()=>pL,DPTImageProcessor:()=>Bx,DeiTFeatureExtractor:()=>uL,DeiTImageProcessor:()=>Dx,DetrFeatureExtractor:()=>dL,DetrImageProcessor:()=>Rx,DonutFeatureExtractor:()=>hL,DonutImageProcessor:()=>ug,EfficientNetImageProcessor:()=>mL,GLPNFeatureExtractor:()=>_L,GroundingDinoImageProcessor:()=>gL,Idefics3ImageProcessor:()=>m1,ImageFeatureExtractor:()=>Ve,ImageProcessor:()=>Ve,JinaCLIPImageProcessor:()=>vL,Lfm2VlImageProcessor:()=>TL,LlavaOnevisionImageProcessor:()=>SL,Mask2FormerImageProcessor:()=>AL,MaskFormerFeatureExtractor:()=>EL,MaskFormerImageProcessor:()=>dg,MobileNetV1FeatureExtractor:()=>CL,MobileNetV1ImageProcessor:()=>Px,MobileNetV2FeatureExtractor:()=>kL,MobileNetV2ImageProcessor:()=>Ix,MobileNetV3FeatureExtractor:()=>OL,MobileNetV3ImageProcessor:()=>Ux,MobileNetV4FeatureExtractor:()=>zL,MobileNetV4ImageProcessor:()=>Gx,MobileViTFeatureExtractor:()=>LL,MobileViTImageProcessor:()=>jx,NougatImageProcessor:()=>FL,OwlViTFeatureExtractor:()=>NL,OwlViTImageProcessor:()=>fg,Owlv2ImageProcessor:()=>DL,Phi3VImageProcessor:()=>BL,PixtralImageProcessor:()=>PL,PvtImageProcessor:()=>IL,Qwen2VLImageProcessor:()=>UL,RTDetrImageProcessor:()=>GL,Sam2ImageProcessor:()=>r_,Sam3ImageProcessor:()=>r_,SamImageProcessor:()=>r_,SapiensFeatureExtractor:()=>jL,SapiensImageProcessor:()=>Vx,SegformerFeatureExtractor:()=>VL,SegformerImageProcessor:()=>qx,SiglipImageProcessor:()=>qL,SmolVLMImageProcessor:()=>m1,Swin2SRImageProcessor:()=>HL,VLMImageProcessor:()=>yL,ViTFeatureExtractor:()=>$L,ViTImageProcessor:()=>Hx,VitMatteImageProcessor:()=>QL,VitPoseImageProcessor:()=>WL,YolosFeatureExtractor:()=>YL,YolosImageProcessor:()=>$x});var sL=class extends Ve{},iL=class extends Ve{},oL=class extends Ve{},Fx=class extends Ve{},lL=class extends Fx{},Nx=class extends Ve{constructor(e){super(e),this.crop_pct=this.config.crop_pct??224/256}async resize(e){const t=this.size?.shortest_edge;if(t===void 0)throw new Error("Size dictionary must contain 'shortest_edge' key.");if(t<384){const r=Math.floor(t/this.crop_pct),[s,o]=this.get_resize_output_image_size(e,{shortest_edge:r});e=await e.resize(s,o,{resample:this.resample}),e=await e.center_crop(t,t)}else e=await e.resize(t,t,{resample:this.resample});return e}},cL=class extends Nx{},Dx=class extends Ve{},uL=class extends Dx{},Rx=class extends Ve{async _call(e){const t=await super._call(e),r=[t.pixel_values.dims[0],64,64],s=On(r,1n);return{...t,pixel_mask:s}}post_process_object_detection(...e){return ah(...e)}post_process_panoptic_segmentation(...e){return zx(...e)}post_process_instance_segmentation(...e){return Lx(...e)}},dL=class extends Rx{},fL=class extends Ve{},ug=class extends Ve{pad_image(e,t,r,s={}){const[o,l,u]=t;let d=this.image_mean;Array.isArray(this.image_mean)||(d=new Array(u).fill(d));let f=this.image_std;Array.isArray(f)||(f=new Array(u).fill(d));const p=d.map((_,g)=>-_/f[g]);return super.pad_image(e,t,r,{center:!0,constant_values:p,...s})}},hL=class extends ug{},Bx=class extends Ve{},pL=class extends Bx{},mL=class extends Ve{constructor(e){super(e),this.include_top=this.config.include_top??!0,this.include_top&&(this.image_std=this.image_std.map(t=>t*t))}},_L=class extends Ve{},gL=class extends Ve{async _call(e){const t=await super._call(e),r=t.pixel_values.dims,s=ha([r[0],r[2],r[3]]);return{...t,pixel_mask:s}}},m1=class extends Ve{constructor(e){super(e),this.do_image_splitting=e.do_image_splitting??!0,this.max_image_size=e.max_image_size}get_resize_for_vision_encoder(e,t){let[r,s]=e.dims.slice(-2);const o=s/r;return s>=r?(s=Math.ceil(s/t)*t,r=Math.floor(s/o),r=Math.ceil(r/t)*t):(r=Math.ceil(r/t)*t,s=Math.floor(r*o),s=Math.ceil(s/t)*t),{height:r,width:s}}async _call(e,{do_image_splitting:t=null,return_row_col_info:r=!1}={}){let s;if(!Array.isArray(e))s=[[e]];else{if(e.length===0||!e[0])throw new Error("No images provided.");Array.isArray(e[0])?s=e:s=[e]}let o=[],l=[],u=[];const d=[],f=[];for(const z of s){let C=await Promise.all(z.map(R=>this.preprocess(R)));d.push(...C.map(R=>R.original_size)),f.push(...C.map(R=>R.reshaped_input_size)),C.forEach(R=>R.pixel_values.unsqueeze_(0));const{longest_edge:L}=this.max_image_size;let D;if(t??this.do_image_splitting){let R=new Array(C.length),P=new Array(C.length);D=await Promise.all(C.map(async(Y,O)=>{const pe=this.get_resize_for_vision_encoder(Y.pixel_values,L),le=await Ya(Y.pixel_values,{size:[pe.height,pe.width]}),{frames:fe,num_splits_h:_e,num_splits_w:de}=await this.split_image(le,this.max_image_size);return R[O]=_e,P[O]=de,Lt(fe,0)})),l.push(R),u.push(P)}else{const R=[L,L];D=await Promise.all(C.map(P=>Ya(P.pixel_values,{size:R}))),l.push(new Array(C.length).fill(0)),u.push(new Array(C.length).fill(0))}o.push(Lt(D,0))}const p=o.length,[_,g,w,b]=o[0].dims;let S,E;if(p===1)S=o[0].unsqueeze_(0),E=On([p,_,w,b],!0);else{const z=Math.max(...o.map(D=>D.dims.at(0)));E=On([p,z,w,b],!0);const C=E.data,L=z*w*b;for(let D=0;Dr||u>s){d=Math.ceil(l/r),f=Math.ceil(u/s);const p=Math.ceil(l/d),_=Math.ceil(u/f);for(let b=0;bt*this.rescale_factor)}pad_image(e,t,r,s){return super.pad_image(e,t,r,{constant_values:this.constant_values,center:!0,...s})}},vL=class extends Ve{constructor(e){const{resize_mode:t,fill_color:r,interpolation:s,size:o,...l}=e,u=t==="squash"?{width:o,height:o}:t==="shortest"?{shortest_edge:o}:{longest_edge:o},d=s==="bicubic"?3:2;super({...l,size:u,resample:d,do_center_crop:!0,crop_size:o,do_normalize:!0})}};function _1(e,t){return Math.round(e/t)*t}function wL(e,t,r,s,o){let l=1/0,u=[1,1];const d=r*s;for(const f of t){const p=Math.abs(e-f[0]/f[1]);p.5*o*o*f[0]*f[1]&&(u=f)}return u}function bL(e,t){const r=[],s=new Set;for(let o=e;o<=t;++o)for(let l=1;l<=o;++l)for(let u=1;u<=o;++u){const d=l*u;if(d>=e&&d<=t){const f=l<<16|u;s.has(f)||(s.add(f),r.push([l,u]))}}return r.sort((o,l)=>o[0]*o[1]-l[0]*l[1])}function ML(e,t){const[r,s,o,l]=e.dims,u=Math.floor(o/t),d=Math.floor(l/t),f=t*t*s,p=e.data,_=new Float32Array(r*u*d*f),g=o*l;for(let w=0;wthis.max_image_tokens*(this.encoder_patch_size*this.downsample_factor)**2*this.max_pixels_tolerance}_get_grid_layout(e,t){const r=bL(this.min_tiles,this.max_tiles),[s,o]=wL(t/e,r,t,e,this.tile_size);return{grid_width:s,grid_height:o,target_width:this.tile_size*s,target_height:this.tile_size*o}}async _call(e,{return_row_col_info:t=null}={}){let r;Array.isArray(e)?Array.isArray(e[0])?r=e:r=[e]:r=[[e]];const s=[],o=[],l=[],u=[],d=[],f=[];for(const _ of r){const g=await Promise.all(_.map(w=>this.preprocess(w,{do_pad:!1})));for(const{pixel_values:w}of g){const[,b,S]=w.dims,E=w.unsqueeze_(0),z=this.encoder_patch_size*this.downsample_factor,C=z**2,[L,D]=Ox(Math.max(z,b),Math.max(z,S),z,this.min_image_tokens*C,this.max_image_tokens*C).map(le=>Math.max(z,le));let R,P=1,Y=1;const O=this._is_image_too_large(b,S),pe=this.do_image_splitting&&!(this.min_tiles===1&&this.max_tiles===1);if(O&&pe){const{grid_width:le,grid_height:fe,target_width:_e,target_height:de}=this._get_grid_layout(b,S);P=fe,Y=le;const W=await Ya(E,{size:[de,_e]});R=[];for(let q=0;q(p-this.image_mean[_])/this.image_std[_]);return super.pad_image(e,t,{width:d,height:u},{center:!0,constant_values:f,...s})}async _call(e,{num_crops:t=null}={}){if(this._num_crops=t??=this.config.num_crops,t<4||a_(t)%1!==0)throw new Error("num_crops must be a square number >= 4");Array.isArray(e)||(e=[e]);const r=e.length,s=await Promise.all(e.map(g=>this.preprocess(g))),o=s.map(g=>g.original_size),l=s.map(g=>g.reshaped_input_size),u=[];for(const{pixel_values:g}of s){g.unsqueeze_(0);const[w,b]=g.dims.slice(-2),S=await Ya(g,{size:[la,la],mode:"bicubic"});if(t>0){const E=[],z=a_(t),C=hl(b/z),L=hl(w/z);for(let R=0;Rg.map(w=>la*n_(w/la))),p=new me("int64",f.flat(),[r,2]),_=f.map(([g,w])=>this.calc_num_image_tokens_from_image_size(w,g));return{pixel_values:d,original_sizes:o,reshaped_input_sizes:l,image_sizes:p,num_img_tokens:_}}},PL=class extends Ve{get_resize_output_image_size(e,t){const{longest_edge:r}=t;if(r===void 0)throw new Error("size must contain 'longest_edge'");const[s,o]=e.size,l=Math.max(s,o)/r;let u=s,d=o;l>1&&(u=Math.floor(s/l),d=Math.floor(o/l));const{patch_size:f,spatial_merge_size:p}=this.config;if(!p)throw new Error("config must contain 'spatial_merge_size'");const _=f*p,g=Math.floor((u-1)/_)+1,w=Math.floor((d-1)/_)+1;return[g*_,w*_]}},IL=class extends Ve{},UL=class extends Ve{constructor(e){super(e),this.min_pixels=e.min_pixels??e.size?.shortest_edge,this.max_pixels=e.max_pixels??e.size?.longest_edge,this.patch_size=e.patch_size,this.merge_size=e.merge_size}get_resize_output_image_size(e,t){const r=this.patch_size*this.merge_size;return Ox(e.height,e.width,r,this.min_pixels,this.max_pixels)}async _call(e,...t){const{pixel_values:r,original_sizes:s,reshaped_input_sizes:o}=await super._call(e,...t);let l=r;const{temporal_patch_size:u,merge_size:d,patch_size:f}=this.config;l.dims[0]===1&&(l=Lt(Array.from({length:u},()=>l),0));const p=l.dims[0]/u,_=l.dims[1],g=Math.floor(l.dims[2]/f),w=Math.floor(l.dims[3]/f),b=l.view(p,u,_,Math.floor(g/d),d,f,Math.floor(w/d),d,f).permute(0,3,6,4,7,2,1,5,8).view(p*g*w,_*u*f*f),S=new me("int64",[p,g,w],[1,3]);return{pixel_values:b,image_grid_thw:S,original_sizes:s,reshaped_input_sizes:o}}},GL=class extends Ve{post_process_object_detection(...e){return ah(...e)}},r_=class extends Ve{reshape_input_points(e,t,r,s=!1){e=structuredClone(e);let o=Nb(e);if(o.length===3)s||(o=[1,...o]),e=[e];else if(o.length!==4)throw Error("The input_points must be a 4D tensor of shape `batch_size`, `point_batch_size`, `nb_points_per_image`, `2`.");for(let l=0;ls!==t.dims[o]))throw Error(`The first ${r.length} dimensions of 'input_points' and 'input_labels' must be the same.`);return new me("int64",e.flat(1/0).map(BigInt),r)}async _call(e,{input_points:t=null,input_labels:r=null,input_boxes:s=null}={}){const o=await super._call(e);if(t&&(o.input_points=this.reshape_input_points(t,o.original_sizes,o.reshaped_input_sizes)),r){if(!o.input_points)throw Error("`input_points` must be provided if `input_labels` are provided.");o.input_labels=this.add_input_labels(r,o.input_points)}return s&&(o.input_boxes=this.reshape_input_points(s,o.original_sizes,o.reshaped_input_sizes,!0)),o}async post_process_masks(e,t,r,{mask_threshold:s=0,binarize:o=!0,pad_size:l=null}={}){const u=[];l=l??this.pad_size??this.size;const d=[l.height,l.width];for(let f=0;fs&&(b[S]=1);g=new me("bool",b,g.dims)}u.push(g)}return u}generate_crop_boxes(e,t,{crop_n_layers:r=0,overlap_ratio:s=512/1500,points_per_crop:o=32,crop_n_points_downscale_factor:l=1}={}){}},Vx=class extends Ve{post_process_semantic_segmentation(...e){return kx(...e)}},jL=class extends Vx{},qx=class extends Ve{post_process_semantic_segmentation(...e){return kx(...e)}},VL=class extends qx{},qL=class extends Ve{},HL=class extends Ve{pad_image(e,t,r,s={}){const[o,l,u]=t;return super.pad_image(e,t,{width:l+(r-l%r)%r,height:o+(r-o%r)%r},{mode:"symmetric",center:!1,constant_values:-1,...s})}},Hx=class extends Ve{},$L=class extends Hx{},QL=class extends Ve{async _call(e,t){Array.isArray(e)||(e=[e]),Array.isArray(t)||(t=[t]);const r=await Promise.all(e.map(l=>this.preprocess(l))),s=await Promise.all(t.map(l=>this.preprocess(l,{do_normalize:!1,do_convert_rgb:!1,do_convert_grayscale:!0})));return{pixel_values:Ji(r.map((l,u)=>Lt([l.pixel_values,s[u].pixel_values],0)),0),original_sizes:r.map(l=>l.original_size),reshaped_input_sizes:r.map(l=>l.reshaped_input_size)}}},WL=class extends Ve{post_process_pose_estimation(e,t,{threshold:r=null}={}){const s=e.tolist(),[o,l,u,d]=e.dims,f=[];for(let p=0;p/gm,bboxes:/([^<]+)?/gm},this.size_per_bin=1e3}construct_prompts(e){typeof e=="string"&&(e=[e]);const t=[];for(const r of e)if(this.task_prompts_without_inputs.has(r))t.push(this.task_prompts_without_inputs.get(r));else{for(const[s,o]of this.task_prompts_with_input)if(r.includes(s)){t.push(o.replaceAll("{input}",r).replaceAll(s,""));break}t.length!==e.length&&t.push(r)}return t}post_process_generation(e,t,r){const s=this.tasks_answer_post_processing_type.get(t)??"pure_text";e=e.replaceAll("","").replaceAll("","");let o;switch(s){case"pure_text":o=e;break;case"description_with_bboxes":case"bboxes":case"phrase_grounding":case"ocr":const l=s==="ocr"?"quad_boxes":"bboxes",u=e.matchAll(this.regexes[l]),d=[],f=[];for(const[p,_,...g]of u)d.push(_?_.trim():d.at(-1)??""),f.push(g.map((w,b)=>(Number(w)+.5)/this.size_per_bin*r[b%2]));o={labels:d,[l]:f};break;default:throw new Error(`Task "${t}" (of type "${s}") not yet implemented.`)}return{[t]:o}}async _call(e,t=null,r={}){if(!e&&!t)throw new Error("Either text or images must be provided");const s=await this.image_processor(e,r),o=t?this.tokenizer(this.construct_prompts(t),r):{};return{...s,...o}}},ZL=class extends Mt{static image_processor_class=Hn;static feature_extractor_class=er;static tokenizer_class=mt;static uses_processor_config=!0;static uses_chat_template_file=!0;constructor(e,t,r){super(e,t,r),this.audio_seq_length=this.config.audio_seq_length,this.image_seq_length=this.config.image_seq_length;const{audio_token_id:s,boa_token:o,audio_token:l,eoa_token:u,image_token_id:d,boi_token:f,image_token:p,eoi_token:_}=this.tokenizer.config;this.audio_token_id=s,this.boa_token=o,this.audio_token=l;const g=l.repeat(this.audio_seq_length);this.full_audio_sequence=` + +${o}${g}${u} + +`,this.image_token_id=d,this.boi_token=f,this.image_token=p;const w=p.repeat(this.image_seq_length);this.full_image_sequence=` + +${f}${w}${_} + +`}async _call(e,t=null,r=null,s={}){typeof e=="string"&&(e=[e]);let o;r&&(o=await this.feature_extractor(r,s),e=e.map(d=>d.replaceAll(this.audio_token,this.full_audio_sequence)));let l;return t&&(l=await this.image_processor(t,s),e=e.map(d=>d.replaceAll(this.image_token,this.full_image_sequence))),{...this.tokenizer(e,s),...l,...o}}},KL=class extends Mt{static tokenizer_class=mt;static feature_extractor_class=er;static uses_processor_config=!0;_get_num_audio_features(e){const{hop_length:t}=this.feature_extractor.config.melspec_kwargs,{projector_window_size:r,projector_downsample_rate:s}=this.feature_extractor.config,o=Math.floor(r/s),l=Math.floor(e/t)+1,u=Math.floor(l/2);return Math.ceil(u/r)*o}async _call(e,t=null,r={}){if(Array.isArray(e))throw new Error("Batched inputs are not supported yet.");let s={};if(t){const{input_features:l}=await this.feature_extractor(t);s.input_features=l;const u=this._get_num_audio_features(t.length),d=new Uint8Array(u).fill(1);s.input_features_mask=new me("bool",d,[1,u]);const f=this.config.audio_token??"<|audio|>";if(!e.includes(f))throw new Error(`The input text does not contain the audio token ${f}.`);e=e.replaceAll(f,f.repeat(u))}return{...this.tokenizer(e,{add_special_tokens:!1,...r}),...s}}};function JL(e,t){const s=e.dims.at(-1)-1,o=e.tolist();o.fill(!1,0,1),o.fill(!1,s);const l=t.tolist();return o.map((u,d)=>u?d:null).filter(u=>u!==null).map(u=>l[u])}var eF=class extends Mt{static tokenizer_class=mt;static image_processor_class=Hn;async _call(e,t,r={}){const s=e?await this.image_processor(e,r):{};return{...t?this.tokenizer(t,r):{},...s}}post_process_grounded_object_detection(e,t,{box_threshold:r=.25,text_threshold:s=.25,target_sizes:o=null}={}){const{logits:l,pred_boxes:u}=e,d=l.dims[0];if(o!==null&&o.length!==d)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");const f=l.dims.at(1),p=l.sigmoid(),_=p.max(-1).tolist(),g=u.tolist().map(b=>b.map(S=>Cx(S))),w=[];for(let b=0;bD.map((R,P)=>R*S[(P+1)%2])));const E=_[b],z=[],C=[],L=[];for(let D=0;D`+o.repeat(e);u+=` +`}return u+=` +${s}${l}`+o.repeat(e)+`${s}`,u}function nF(e,t,r,s){return`${t}${s}`+r.repeat(e)+`${t}`}function aF(e,t,r,s,o,l){return e===0&&t===0?nF(r,s,o,l):tF(r,e,t,s,o,l)}var g1=class extends Mt{static image_processor_class=Hn;static tokenizer_class=mt;static uses_processor_config=!0;fake_image_token="";image_token="";global_img_token="";async _call(e,t=null,r={}){r.return_row_col_info??=!0;let s;t&&(s=await this.image_processor(t,r)),Array.isArray(e)||(e=[e]);const o=s.rows??[new Array(e.length).fill(0)],l=s.cols??[new Array(e.length).fill(0)],u=this.config.image_seq_len,d=[],f=[];for(let _=0;_aF(C,b[L],u,this.fake_image_token,this.image_token,this.global_img_token)),E=g.split(this.image_token);if(E.length===0)throw new Error("The image token should be present in the text.");let z=E[0];for(let C=0;CE.images).flatMap(E=>E.images).map(E=>Xa.read(E)));const s=this.tokenizer,o=s.apply_chat_template(e,{tokenize:!1,add_generation_prompt:!0,chat_template:r}),l=E=>s.encode(E,{add_special_tokens:!1}),u=o.split(this.image_tag),d=u.length-1;if(t.length!==d)throw new Error(`Number of images provided (${t.length}) does not match number of "${this.image_tag}" image tags (${d})`);const[f,p,_]=s.convert_tokens_to_ids([this.image_tag,this.image_start_tag,this.image_end_tag]);let g=l(u[0]),w=new Array(g.length).fill(!1);for(let E=1;E0){const E=await this.image_processor(t);return E.pixel_values.unsqueeze_(0),{...S,...E}}return S}},sF=class extends Mt{static tokenizer_class=mt;static image_processor_class=Hn;async _call(e=null,t=null,r={}){if(!e&&!t)throw new Error("Either text or images must be provided");const s=e?this.tokenizer(e,r):{},o=t?await this.image_processor(t,r):{};return{...s,...o}}},iF=class extends Mt{static tokenizer_class=mt;static image_processor_class=Hn;async _call(e,t=null,r={}){const{image_rows:s,image_cols:o,image_sizes:l,...u}=await this.image_processor(e,{...r,return_row_col_info:!0});if(t){const d=this.config.image_token??"",{tile_size:f=512,downsample_factor:p=2,encoder_patch_size:_=16,use_thumbnail:g=!0}=this.image_processor.config,w=L=>Math.ceil(Math.floor(L/_)/p),b=w(f)**2,S=this.config.image_start_token??"<|image_start|>",E=this.config.image_end_token??"<|image_end|>",z=this.config.image_thumbnail??"<|img_thumbnail|>";Array.isArray(t)||(t=[t]);let C=0;t=t.map(L=>{const D=L.split(d);return D[0]+D.slice(1).map(R=>{const P=C++,[Y,O]=l[P],pe=s[P],le=o[P],fe=w(Y)*w(O);let _e=S;if(pe>1||le>1){const de=d.repeat(b);for(let W=0;W`+de;g&&(_e+=z+d.repeat(fe))}else _e+=d.repeat(fe);return _e+E+R}).join("")})}return{...u,...t?this.tokenizer(t,r):{}}}},oF=class extends Mt{static tokenizer_class=mt;static image_processor_class=Hn;static uses_processor_config=!0;async _call(e,t=null,r={}){const s=await this.image_processor(e,r);if(t){const[l,u]=s.pixel_values.dims.slice(-2),{image_token:d,patch_size:f,num_additional_image_tokens:p}=this.config,_=Math.floor(l/f)*Math.floor(u/f)+p;t=structuredClone(t),Array.isArray(t)||(t=[t]);for(let g=0;g0?S.reduce((z,C)=>z*C,1):0;f.push(b),d.push(E)}return[o(f),d]}char_decode(e){return this.char_tokenizer.batch_decode(e).map(t=>t.replaceAll(" ",""))}bpe_decode(e){return this.bpe_tokenizer.batch_decode(e)}wp_decode(e){return this.wp_tokenizer.batch_decode(e).map(t=>t.replaceAll(" ",""))}batch_decode([e,t,r]){const[s,o]=this._decode_helper(e,"char"),[l,u]=this._decode_helper(t,"bpe"),[d,f]=this._decode_helper(r,"wp"),p=[],_=[];for(let g=0;g";function dF(e,t,r,s,o){return`${s.repeat(r*o)}${t}${e} +`}var fF=class extends Mt{static tokenizer_class=mt;static image_processor_class=Hn;static uses_processor_config=!1;async _call(e,t=null,r={}){t||(Re.warn("You are using PaliGemma without a text prefix. It will perform as a picture-captioning model."),t=""),Array.isArray(e)||(e=[e]),Array.isArray(t)||(t=[t]);const s=this.tokenizer.bos_token,o=this.image_processor.config.image_seq_length;let l;t.some(f=>f.includes(pl))?l=t.map(f=>{const p=f.replaceAll(pl,pl.repeat(o)),_=p.lastIndexOf(pl),g=_===-1?0:_+pl.length;return p.slice(0,g)+s+p.slice(g)+` +`}):(Re.warn("You are passing both `text` and `images` to `PaliGemmaProcessor`. The processor expects special image tokens in the text, as many tokens as there are images per each text. It is recommended to add `` tokens in the very beginning of your text. For this call, we will infer how many images each text has and add special tokens."),l=t.map(f=>dF(f,s,o,pl,e.length)));const u=this.tokenizer(l,r);return{...await this.image_processor(e,r),...u}}},v1="<|image|>",hF=/<\|image_\d+\|>/g,pF=class extends Mt{static image_processor_class=Hn;static tokenizer_class=mt;async _call(e,t=null,{padding:r=!0,truncation:s=!0,num_crops:o=null}={}){Array.isArray(e)||(e=[e]);let l,u;if(t){u=await this.image_processor(t,{num_crops:o});const{num_img_tokens:d}=u,f=e.map((_,g)=>_.split(hF).join(v1.repeat(d[g])));l=this.tokenizer(f,{padding:r,truncation:s});const p=this.tokenizer._tokenizer.token_to_id(v1);l.input_ids.map_(_=>_==p?-_:_)}else l=this.tokenizer(e);return{...l,...u}}},mF=class extends Mt{static tokenizer_class=mt;static image_processor_class=Hn;static uses_processor_config=!0;async _call(e,t=null,r={}){const s=await this.image_processor(e,r);if(t){const[l,u]=s.pixel_values.dims.slice(-2),{image_token:d,image_break_token:f,image_end_token:p,patch_size:_,spatial_merge_size:g}=this.config,w=_*g,b=Math.floor(l/w),S=Math.floor(u/w);t=structuredClone(t),Array.isArray(t)||(t=[t]);for(let E=0;E{for(;p.includes("<|image_pad|>");){const _=Number(f[d++].reduce((g,w)=>g*w,1n));p=p.replace("<|image_pad|>","<|placeholder|>".repeat(Math.floor(_/u)))}return p.replaceAll("<|placeholder|>","<|image_pad|>")})}return{...this.tokenizer(e),...s}}},Wx=class extends Qx{},gF=class extends Wx{},Yx=class extends Mt{static image_processor_class=Hn;async _call(...e){return await this.image_processor(...e)}post_process_masks(...e){return this.image_processor.post_process_masks(...e)}reshape_input_points(...e){return this.image_processor.reshape_input_points(...e)}},Xx=class extends Yx{},yF=class extends Xx{},vF=class extends Mt{static tokenizer_class=mt;static feature_extractor_class=er;async _call(e){return await this.feature_extractor(e)}},wF=class extends Mt{static tokenizer_class=mt;static feature_extractor_class=er;static uses_processor_config=!0;async _call(e,t=null,r={}){if(Array.isArray(e))throw new Error("Batched inputs are not supported yet.");let s={};if(t){const l=t.length,{input_features:u}=await this.feature_extractor(t,{...r,max_length:l}),d=Math.round(l/this.config.encoder_ds_factor+1e-4),f=1+Math.ceil(d/this.config.stack_factor);s.audio_token_len=[f],s.audio_values=u;const p=this.config.audio_placeholder;if(!e.includes(p))throw new Error(`The input text does not contain the image token ${p}.`);e=e.replaceAll(p,p.repeat(f))}return{...this.tokenizer(e,{add_special_tokens:!1,...r}),...s}}},Sf="[AUDIO]",bF="[BEGIN_AUDIO]",MF=375;function xF(e,t){const r=[];for(let s=0;sxF(b,d)),p=f.map(b=>b.length),_=f.flat(),g=(await Promise.all(_.map(b=>this.feature_extractor(b,r)))).map(b=>b.input_features);s.audio_values=g.length>1?Lt(g,0):g[0];let w=l[0];for(let b=0;b0){if(p>Jb)throw new Error(`The number of external data chunks (${p}) exceeds the maximum allowed value (${Jb}).`);const _=Kx(u,p);for(const g of _){const w=`${s.subfolder??""}/${g}`;f.push(new Promise(async(b,S)=>{const E=await qf(e,w,!0,s,d);b(E instanceof Uint8Array?{path:g,data:E}:g)}))}}else l.externalData!==void 0&&(f=l.externalData.map(async _=>{if(typeof _.data=="string"){const g=await qf(e,_.data,!0,s);return{..._,data:g}}return _}));return Promise.all(f)}async function RF(e,t,r,s=!1,o=void 0){let l=r.config?.["transformers.js_config"]??{};const u=lx(r.device??l.device,t,{warn:R=>Re.info(R)}),d=mO(u),f=l.device_config??{};f.hasOwnProperty(u)&&(l={...l,...f[u]});const p=cx(r.dtype??l.dtype,t,u,{configDtype:l.dtype,warn:R=>Re.info(R)});if(b_.hasOwnProperty(p)){if(u==="webgpu"&&!We.IS_NODE_ENV&&p===kn.fp16&&!await yO())throw new Error(`The device (${u}) does not support fp16.`)}else throw new Error(`Invalid dtype: ${p}. Should be one of: ${Object.keys(kn).join(", ")}`);const _=l.kv_cache_dtype,g=_?typeof _=="string"?_:_[p]??"float32":void 0;if(g&&!["float32","float16"].includes(g))throw new Error(`Invalid kv_cache_dtype: ${g}. Should be one of: float32, float16`);const w=b_[p],b={...r.session_options};b.executionProviders??=d;const S=l.free_dimension_overrides;S?b.freeDimensionOverrides??=S:u.startsWith("webnn")&&!b.freeDimensionOverrides&&Re.warn(`WebNN does not currently support dynamic shapes and requires 'free_dimension_overrides' to be set in config.json, preferably as a field within config["transformers.js_config"]["device_config"]["${u}"]. When 'free_dimension_overrides' is not set, you may experience significant performance degradation.`);const E=NF(e,t,r,w),z=r.use_external_data_format??l.use_external_data_format,C=await DF(e,t,w,r,z,b);if(C.length>0&&!We.IS_NODE_ENV&&(b.externalData=C),s&&u==="webgpu"&&_!==!1){const R=rh(r.config,{prefix:"present",session_name:o});if(Object.keys(R).length>0&&!rg()){const P={};for(const Y in R)P[Y]="gpu-buffer";b.preferredOutputLocation=P}}return{buffer_or_path:await E,session_options:b,session_config:{dtype:p,kv_cache_dtype:g,device:u}}}async function BF(e,t,r,s=void 0){return Object.fromEntries(await Promise.all(Object.keys(t).map(async o=>{const l=s?.[o]??!1,{buffer_or_path:u,session_options:d,session_config:f}=await RF(e,t[o],r,l,o),p=await sx(u,d,f);return[o,p]})))}function Jx(e){for(let t in e)ox(e[t])?e[t]=new me(e[t]):typeof e[t]=="object"&&Jx(e[t]);return e}async function st(e,t){const r=PF(e,t);try{const s=Object.fromEntries(Object.entries(r).map(([l,u])=>{const d=u.ort_tensor;return We.IS_NODE_ENV&&typeof Float16Array<"u"&&d.cpuData instanceof Float16Array&&(d.cpuData=new Uint16Array(d.cpuData.buffer)),[l,d]})),o=await ix(e,s);return Jx(o)}catch(s){const o=Object.fromEntries(Object.entries(r).map(([l,u])=>{const d={type:u.type,dims:u.dims,location:u.location};return d.location!=="gpu-buffer"&&(d.data=u.data),[l,d]}));throw Re.error(`An error occurred during model execution: "${s}".`),Re.error("Inputs given to model:",o),s}}function PF(e,t){const r=Object.create(null),s=[];for(const u of e.inputNames){const d=t[u];if(!(d instanceof me)){s.push(u);continue}r[u]=rg()?d.clone():d}if(s.length>0)throw new Error(`An error occurred during model execution: "Missing the following inputs: ${s.join(", ")}.`);const o=Object.keys(t).length,l=e.inputNames.length;if(o>l){let u=Object.keys(t).filter(d=>!e.inputNames.includes(d));Re.warn(`WARNING: Too many inputs were provided (${o} > ${l}). The following inputs will be ignored: "${u.join(", ")}".`)}return r}var tn=class{},Ne=class extends tn{constructor({logits:e,...t}){super(),this.logits=e;const r=Object.values(t);r.length>0&&(this.attentions=r)}},nn=class extends tn{constructor({logits:e}){super(),this.logits=e}},dn=class extends tn{constructor({logits:e}){super(),this.logits=e}},Ln=class extends tn{constructor({start_logits:e,end_logits:t}){super(),this.start_logits=e,this.end_logits=t}},eo=class extends tn{constructor({logits:e}){super(),this.logits=e}},IF=class extends tn{constructor({alphas:e}){super(),this.alphas=e}},Cr=class extends Oa{_call(e,t){throw Error("`_call` should be implemented in a subclass")}},UF=class extends Oa{_call(e,t){throw Error("`_call` should be implemented in a subclass")}},A_=class extends Oa{constructor(){super(),this.processors=[]}push(e){this.processors.push(e)}extend(e){this.processors.push(...e)}_call(e,t){let r=t;for(const s of this.processors)r=s(e,r);return r}[Symbol.iterator](){return this.processors.values()}},GF=class extends Cr{constructor(e){super(),this.bos_token_id=e}_call(e,t){for(let r=0;r=1&&o[o.length-1]>=this.timestamp_begin,u=o.length<2||o[o.length-2]>=this.timestamp_begin;if(l&&(u?s.subarray(this.timestamp_begin).fill(-1/0):s.subarray(0,this.eos_token_id).fill(-1/0)),e[r].length===this.begin_index&&this.max_initial_timestamp_index!==null){const _=this.timestamp_begin+this.max_initial_timestamp_index;s.subarray(_+1).fill(-1/0)}const d=nO(s),f=Math.log(d.subarray(this.timestamp_begin).map(Math.exp).reduce((_,g)=>_+g)),p=Ht(d.subarray(0,this.timestamp_begin))[0];f>p&&s.subarray(0,this.timestamp_begin).fill(-1/0)}return t}},qF=class extends Cr{constructor(e){super(),this.no_repeat_ngram_size=e}getNgrams(e){const t=e.length,r=[];for(let o=0;o1 to use the classifier free guidance processor, got guidance scale ${e}.`);this.guidance_scale=e}_call(e,t){if(t.dims[0]!==2*e.length)throw new Error(`Logits should have twice the batch size of the input ids, the first half of batches corresponding to the conditional inputs, and the second half of batches corresponding to the unconditional inputs. Got batch size ${t.dims[0]} for the logits and ${e.length} for the input ids.`);const r=e.length,s=t.slice([0,r],null),o=t.slice([r,t.dims[0]],null);for(let l=0;lt.length>=this.max_length)}},KF=class extends sh{constructor(e){super(),Array.isArray(e)||(e=[e]),this.eos_token_id=e}_call(e,t){return e.map(r=>{const s=r.at(-1);return this.eos_token_id.some(o=>s==o)})}},ih=class extends Oa{constructor(e){super(),this.generation_config=e}async _call(e){return this.sample(e)}async sample(e){throw Error("sample should be implemented in subclasses.")}getLogits(e,t){let r=e.dims.at(-1),s=e.data;if(t===-1)s=s.slice(-r);else{let o=t*r;s=s.slice(o,o+r)}return s}randomSelect(e){return I3(e)}static getSampler(e){if(e.do_sample)return new eN(e);if(e.num_beams>1)return new tN(e);if(e.num_return_sequences>1)throw Error(`num_return_sequences has to be 1 when doing greedy search, but is ${e.num_return_sequences}.`);return new JF(e)}},JF=class extends ih{async sample(e){const t=Ht(e.data)[1];return[[BigInt(t),0]]}},eN=class extends ih{async sample(e){let t=e.dims.at(-1);this.generation_config.top_k>0&&(t=Math.min(this.generation_config.top_k,t));const[r,s]=await Ol(e,t),o=wn(r.data);return Array.from({length:this.generation_config.num_beams},()=>{const l=this.randomSelect(o);return[s.data[l],Math.log(o[l])]})}},tN=class extends ih{async sample(e){let t=e.dims.at(-1);this.generation_config.top_k>0&&(t=Math.min(this.generation_config.top_k,t));const[r,s]=await Ol(e,t),o=wn(r.data);return Array.from({length:this.generation_config.num_beams},(l,u)=>[s.data[u],Math.log(o[u])])}},nN=class{constructor(e){if(e)for(const t in e){if(t in this)throw new TypeError(`Key "${t}" conflicts with an existing property on DynamicCache`);const r=e[t];if(!(r instanceof me))throw new TypeError(`Expected a Tensor for key "${t}", got ${typeof r}`);this[t]=r}}get_seq_length(){const e=this;for(const t in e)if(t.startsWith("past_key_values."))return e[t].dims.at(-2);throw new Error("Unable to determine sequence length from the cache.")}async dispose(){const e=[];for(const t of Object.values(this))t.location==="gpu-buffer"&&e.push(t.dispose());await Promise.all(e)}},r2=nN,yl=null;function aN(e){yl=e}function C_(e){if(e instanceof me)return e;if(e.length===0)throw Error("items must be non-empty");if(Array.isArray(e[0])){if(e.some(t=>t.length!==e[0].length))throw Error("Unable to create tensor, you should probably activate truncation and/or padding with 'padding=True' and/or 'truncation=True' to have batched tensors with the same length.");return new me("int64",BigInt64Array.from(e.flat().map(t=>BigInt(t))),[e.length,e[0].length])}else return new me("int64",BigInt64Array.from(e.map(t=>BigInt(t))),[1,e.length])}function s2(e){return new me("bool",[e],[1])}var ve={EncoderOnly:0,EncoderDecoder:1,Seq2Seq:2,Vision2Seq:3,DecoderOnly:4,DecoderOnlyWithoutHead:5,MaskGeneration:6,ImageTextToText:7,Musicgen:8,MultiModality:9,Phi3V:10,AudioTextToText:11,AutoEncoder:12,ImageAudioTextToText:13,Supertonic:14,Chatterbox:15,MultimodalLanguageModelOnly:16,VoxtralRealtime:17},vl={[ve.DecoderOnly]:{can_generate:!0,forward:as,prepare_inputs:bu,sessions:(e,t)=>({model:t.model_file_name??"model"}),cache_sessions:{model:!0},optional_configs:{generation_config:"generation_config.json"}},[ve.DecoderOnlyWithoutHead]:{can_generate:!1,forward:as,prepare_inputs:bu,sessions:(e,t)=>({model:t.model_file_name??"model"})},[ve.Seq2Seq]:{can_generate:!0,forward:Af,prepare_inputs:$f,sessions:()=>({model:"encoder_model",decoder_model_merged:"decoder_model_merged"}),cache_sessions:{decoder_model_merged:!0},optional_configs:{generation_config:"generation_config.json"}},[ve.Vision2Seq]:{can_generate:!0,forward:Af,prepare_inputs:$f,sessions:()=>({model:"encoder_model",decoder_model_merged:"decoder_model_merged"}),cache_sessions:{decoder_model_merged:!0},optional_configs:{generation_config:"generation_config.json"}},[ve.Musicgen]:{can_generate:!0,forward:Af,sessions:()=>({model:"text_encoder",decoder_model_merged:"decoder_model_merged",encodec_decode:"encodec_decode"}),cache_sessions:{decoder_model_merged:!0},optional_configs:{generation_config:"generation_config.json"}},[ve.EncoderDecoder]:{can_generate:!1,forward:Af,sessions:()=>({model:"encoder_model",decoder_model_merged:"decoder_model_merged"}),cache_sessions:{decoder_model_merged:!0}},[ve.MaskGeneration]:{sessions:()=>({model:"vision_encoder",prompt_encoder_mask_decoder:"prompt_encoder_mask_decoder"})},[ve.ImageTextToText]:{can_generate:!0,forward:b1,prepare_inputs:fu,sessions:e=>{const t={embed_tokens:"embed_tokens",vision_encoder:"vision_encoder",decoder_model_merged:"decoder_model_merged"};return e.is_encoder_decoder&&(t.model="encoder_model"),t},cache_sessions:{decoder_model_merged:!0},optional_configs:{generation_config:"generation_config.json"}},[ve.AudioTextToText]:{can_generate:!0,forward:iN,prepare_inputs:fu,sessions:()=>({embed_tokens:"embed_tokens",audio_encoder:"audio_encoder",decoder_model_merged:"decoder_model_merged"}),cache_sessions:{decoder_model_merged:!0},optional_configs:{generation_config:"generation_config.json"}},[ve.ImageAudioTextToText]:{can_generate:!0,prepare_inputs:fu,sessions:()=>({embed_tokens:"embed_tokens",audio_encoder:"audio_encoder",vision_encoder:"vision_encoder",decoder_model_merged:"decoder_model_merged"}),optional_configs:{generation_config:"generation_config.json"}},[ve.Phi3V]:{can_generate:!0,prepare_inputs:fu,sessions:()=>({prepare_inputs_embeds:"prepare_inputs_embeds",model:"model",vision_encoder:"vision_encoder"}),cache_sessions:{model:!0},optional_configs:{generation_config:"generation_config.json"}},[ve.MultiModality]:{can_generate:!0,sessions:()=>({prepare_inputs_embeds:"prepare_inputs_embeds",model:"language_model",lm_head:"lm_head",gen_head:"gen_head",gen_img_embeds:"gen_img_embeds",image_decode:"image_decode"}),cache_sessions:{model:!0},optional_configs:{generation_config:"generation_config.json"}},[ve.AutoEncoder]:{can_generate:!1,forward:sN,sessions:()=>({encoder_model:"encoder_model",decoder_model:"decoder_model"})},[ve.Supertonic]:{sessions:()=>({text_encoder:"text_encoder",latent_denoiser:"latent_denoiser",voice_decoder:"voice_decoder"})},[ve.Chatterbox]:{can_generate:!0,forward:Js,sessions:()=>({embed_tokens:"embed_tokens",speech_encoder:"speech_encoder",model:"language_model",conditional_decoder:"conditional_decoder"}),cache_sessions:{model:!0},optional_configs:{generation_config:"generation_config.json"}},[ve.MultimodalLanguageModelOnly]:{can_generate:!0,forward:b1,prepare_inputs:fu,sessions:()=>({embed_tokens:"embed_tokens",decoder_model_merged:"decoder_model_merged"}),cache_sessions:{decoder_model_merged:!0},optional_configs:{generation_config:"generation_config.json"}},[ve.VoxtralRealtime]:{can_generate:!0,prepare_inputs:bu,sessions:()=>({embed_tokens:"embed_tokens",audio_encoder:"audio_encoder",decoder_model_merged:"decoder_model_merged"}),cache_sessions:{decoder_model_merged:!0,audio_encoder:!0},optional_configs:{generation_config:"generation_config.json"}},default:{can_generate:!1,forward:Js,sessions:(e,t)=>({model:t.model_file_name??"model"})}};function rN(e,t,r={}){const s=vl[e]??vl.default;return{sessions:s.sessions(t,r),cache_sessions:s.cache_sessions,optional_configs:s.optional_configs}}var ns=new Map,hg=new Map,Tl=new Map,$=class extends Oa{main_input_name="input_ids";forward_params=["input_ids","attention_mask"];_return_dict_in_generate_keys=null;constructor(e,t,r){super(),this.config=e,this.sessions=t,this.configs=r;const s=Tl.get(this.constructor),o=ns.get(s),l=vl[o]??vl.default;this.can_generate=l.can_generate,this._forward=l.forward,this._prepare_inputs_for_generation=l.prepare_inputs,this.can_generate&&this.forward_params.push("past_key_values"),this.custom_config=this.config["transformers.js_config"]??{}}async dispose(){const e=[];for(const t of Object.values(this.sessions))e.push(t.release?.());return await Promise.all(e)}static async from_pretrained(e,{progress_callback:t=null,config:r=null,cache_dir:s=null,local_files_only:o=!1,revision:l="main",model_file_name:u=null,subfolder:d="onnx",device:f=null,dtype:p=null,use_external_data_format:_=null,session_options:g={}}={}){const w={progress_callback:t,config:r,cache_dir:s,local_files_only:o,revision:l,model_file_name:u,subfolder:d,device:f,dtype:p,use_external_data_format:_,session_options:g},b=Tl.get(this),S=ns.get(b);r=w.config=await Eu.from_pretrained(e,w);const E=vl[S]??vl.default;if(S===void 0){const D=b??r?.model_type;D!=="custom"&&Re.warn(`Model type for '${D}' not found, assuming encoder-only architecture. Please report this at ${nh}.`)}const z=E.sessions(r,w),C=[BF(e,z,w,E.cache_sessions)];E.optional_configs&&C.push(lN(e,E.optional_configs,w));const L=await Promise.all(C);return new this(r,...L)}async _call(e){return await this.forward(e)}async forward(e){return await this._forward(this,e)}get generation_config(){return this.configs?.generation_config??null}_get_logits_processor(e,t,r=null){const s=new A_;if(e.repetition_penalty!==null&&e.repetition_penalty!==1&&s.push(new HF(e.repetition_penalty)),e.no_repeat_ngram_size!==null&&e.no_repeat_ngram_size>0&&s.push(new qF(e.no_repeat_ngram_size)),e.bad_words_ids!==null&&s.push(new WF(e.bad_words_ids,e.eos_token_id)),e.min_length!==null&&e.eos_token_id!==null&&e.min_length>0&&s.push(new $F(e.min_length,e.eos_token_id)),e.min_new_tokens!==null&&e.eos_token_id!==null&&e.min_new_tokens>0&&s.push(new QF(t,e.min_new_tokens,e.eos_token_id)),e.forced_bos_token_id!==null&&s.push(new GF(e.forced_bos_token_id)),e.forced_eos_token_id!==null&&s.push(new jF(e.max_length,e.forced_eos_token_id)),e.begin_suppress_tokens!==null){const o=t>1||e.forced_bos_token_id===null?t:t+1;s.push(new e2(e.begin_suppress_tokens,o))}return e.guidance_scale!==null&&e.guidance_scale>1&&s.push(new YF(e.guidance_scale)),e.temperature===0&&e.do_sample&&(Re.warn("`do_sample` changed to false because `temperature: 0` implies greedy sampling (always selecting the most likely token), which is incompatible with `do_sample: true`."),e.do_sample=!1),e.do_sample&&e.temperature!==null&&e.temperature!==1&&s.push(new XF(e.temperature)),r!==null&&s.extend(r),s}_prepare_generation_config(e,t,r=t2){const s={...this.config};for(const l of["decoder","generator","text_config"])l in s&&Object.assign(s,s[l]);const o=new r(s);return Object.assign(o,this.generation_config??{}),e&&Object.assign(o,e),t&&Object.assign(o,yn(t,Object.getOwnPropertyNames(o))),o}_get_stopping_criteria(e,t=null){const r=new n2;return e.max_length!==null&&r.push(new ZF(e.max_length,this.config.max_position_embeddings??null)),e.eos_token_id!==null&&r.push(new KF(e.eos_token_id)),t&&r.extend(t),r}_validate_model_class(){if(!this.can_generate){const e=[yl.MODEL_FOR_CAUSAL_LM_MAPPING_NAMES,yl.MODEL_FOR_VISION_2_SEQ_MAPPING_NAMES,yl.MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING_NAMES,yl.MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING_NAMES].filter(Boolean),t=Tl.get(this.constructor),r=new Set,s=this.config.model_type;for(const l of e){const u=l?.get(s);u&&r.add(u)}let o=`The current model class (${t}) is not compatible with \`.generate()\`, as it doesn't have a language model head.`;throw r.size>0&&(o+=` Please use the following class instead: ${[...r].join(", ")}`),Error(o)}}prepare_inputs_for_generation(...e){if(!this._prepare_inputs_for_generation)throw new Error("prepare_inputs_for_generation is not implemented for this model.");return this._prepare_inputs_for_generation(this,...e)}_update_model_kwargs_for_generation({generated_input_ids:e,outputs:t,model_inputs:r,is_encoder_decoder:s}){return r.past_key_values=this.getPastKeyValues(t,r.past_key_values),r.input_ids=new me("int64",e.flat(),[e.length,1]),s||(r.attention_mask=Lt([r.attention_mask,ha([r.attention_mask.dims[0],1])],1)),r.position_ids=null,r}_prepare_model_inputs({inputs:e,bos_token_id:t,model_kwargs:r}){const s=yn(r,this.forward_params),o=this.main_input_name;if(o in s){if(e)throw new Error("`inputs`: {inputs}` were passed alongside {input_name} which is not allowed. Make sure to either pass {inputs} or {input_name}=...")}else s[o]=e;return{inputs_tensor:s[o],model_inputs:s,model_input_name:o}}async _prepare_encoder_decoder_kwargs_for_generation({inputs_tensor:e,model_inputs:t,model_input_name:r,generation_config:s}){if(this.sessions.model.inputNames.includes("inputs_embeds")&&!t.inputs_embeds&&"_prepare_inputs_embeds"in this){const{input_ids:l,pixel_values:u,attention_mask:d,...f}=t,p=await this._prepare_inputs_embeds(t);t={...f,...yn(p,["inputs_embeds","attention_mask"])}}let{last_hidden_state:o}=await Js(this,t);if(s.guidance_scale!==null&&s.guidance_scale>1)o=Lt([o,M_(o,0)],0),"attention_mask"in t&&(t.attention_mask=Lt([t.attention_mask,px(t.attention_mask)],0));else if(t.decoder_input_ids){const l=C_(t.decoder_input_ids).dims[0];if(l!==o.dims[0]){if(o.dims[0]!==1)throw new Error(`The encoder outputs have a different batch size (${o.dims[0]}) than the decoder inputs (${l}).`);o=Lt(Array.from({length:l},()=>o),0)}}return t.encoder_outputs=o,t}_prepare_decoder_input_ids_for_generation({batch_size:e,model_input_name:t,model_kwargs:r,decoder_start_token_id:s,bos_token_id:o,generation_config:l}){let{decoder_input_ids:u,...d}=r;if(!(u instanceof me)){if(u)Array.isArray(u[0])||(u=Array.from({length:e},()=>u));else if(s??=o,this.config.model_type==="musicgen")u=Array.from({length:e*this.config.decoder.num_codebooks},()=>[s]);else if(Array.isArray(s)){if(s.length!==e)throw new Error(`\`decoder_start_token_id\` expcted to have length ${e} but got ${s.length}`);u=s}else u=Array.from({length:e},()=>[s]);u=C_(u)}return r.decoder_attention_mask=fx(u),{input_ids:u,model_inputs:d}}async generate({inputs:e=null,generation_config:t=null,logits_processor:r=null,stopping_criteria:s=null,streamer:o=null,...l}){this._validate_model_class(),t=this._prepare_generation_config(t,l);let{inputs_tensor:u,model_inputs:d,model_input_name:f}=this._prepare_model_inputs({inputs:e,model_kwargs:l});const p=this.config.is_encoder_decoder;p&&("encoder_outputs"in d||(d=await this._prepare_encoder_decoder_kwargs_for_generation({inputs_tensor:u,model_inputs:d,model_input_name:f,generation_config:t})));let _;p?{input_ids:_,model_inputs:d}=this._prepare_decoder_input_ids_for_generation({batch_size:d[f].dims.at(0),model_input_name:f,model_kwargs:d,decoder_start_token_id:t.decoder_start_token_id,bos_token_id:t.bos_token_id,generation_config:t}):_=d[f];let g=_.dims.at(-1);t.max_new_tokens!==null&&(t.max_length=g+t.max_new_tokens);const w=this._get_logits_processor(t,g,r),b=this._get_stopping_criteria(t,s),S=d[f].dims.at(0),E=ih.getSampler(t),z=new Array(S).fill(0),C=_.tolist();o&&o.put(C);let L,D={},R={};for(;;){if(d=this.prepare_inputs_for_generation(C,d,t),L=await this.forward(d),t.return_dict_in_generate)if(t.output_attentions){const _e=this.getAttentions(L);for(const de in _e)de in D||(D[de]=[]),D[de].push(_e[de])}else this._return_dict_in_generate_keys&&Object.assign(R,yn(L,this._return_dict_in_generate_keys));const O=L.logits.slice(null,-1,null).to("float32"),pe=w(C,O),le=[];for(let _e=0;_e_e))break;d=this._update_model_kwargs_for_generation({generated_input_ids:le,outputs:L,model_inputs:d,is_encoder_decoder:p})}o&&o.end();const P=this.getPastKeyValues(L,d.past_key_values,!0),Y=new me("int64",C.flat(),[C.length,C[0].length]);if(t.return_dict_in_generate)return{sequences:Y,past_key_values:P,...D,...R};for(const O of Object.values(L))O.location==="gpu-buffer"&&O.dispose();return Y}getPastKeyValues(e,t,r=!1){const s=Object.create(null);for(const o in e)if(o.startsWith("present")){const l=o.replace("present_ssm","past_ssm").replace("present_conv","past_conv").replace("present_recurrent","past_recurrent").replace("present","past_key_values"),u=o.includes("encoder");if(u&&t?s[l]=t[l]:s[l]=e[o],t&&(!u||r)){const d=t[l];d.location==="gpu-buffer"&&d.dispose()}}return new r2(s)}getAttentions(e){const t={};for(const r of["cross_attentions","encoder_attentions","decoder_attentions"])for(const s in e)s.startsWith(r)&&(r in t||(t[r]=[]),t[r].push(e[s]));return t}addPastKeyValues(e,t){if(t)Object.assign(e,t);else{const r=this.sessions.decoder_model_merged??this.sessions.model,s=(e[this.main_input_name]??e.attention_mask)?.dims?.[0]??1,o=r?.config?.kv_cache_dtype??"float32",l=o==="float16"?Sl.float16:Sl.float32,u=rh(this.config,{batch_size:s});for(const d in u){const f=u[d].reduce((p,_)=>p*_,1);e[d]=new me(o,new l(f),u[d])}}}async _encode_input(e,t,r){if(!Object.hasOwn(this.sessions,e))throw new Error(`Model does not have a ${e} session.`);const s=this.sessions[e];return(await st(s,yn(t,s.inputNames)))[r]}async encode_image(e){return this._encode_input("vision_encoder",e,"image_features")}async encode_text(e){return this._encode_input("embed_tokens",e,"inputs_embeds")}async encode_audio(e){return this._encode_input("audio_encoder",e,"audio_features")}};async function Af(e,t){let{encoder_outputs:r,input_ids:s,decoder_input_ids:o,...l}=t;if(!r){const u=yn(t,e.sessions.model.inputNames);r=(await Js(e,u)).last_hidden_state}return l.input_ids=o,l.encoder_hidden_states=r,e.sessions.decoder_model_merged.inputNames.includes("encoder_attention_mask")&&(l.encoder_attention_mask=t.attention_mask),await as(e,l,!0)}async function Js(e,t){const r=e.sessions.model,s=yn(t,r.inputNames);if(r.inputNames.includes("inputs_embeds")&&!s.inputs_embeds){if(!t.input_ids)throw new Error("Both `input_ids` and `inputs_embeds` are missing in the model inputs.");s.inputs_embeds=await e.encode_text({input_ids:t.input_ids})}if(r.inputNames.includes("token_type_ids")&&!s.token_type_ids){if(!s.input_ids)throw new Error("Both `input_ids` and `token_type_ids` are missing in the model inputs.");s.token_type_ids=px(s.input_ids)}if(r.inputNames.includes("pixel_mask")&&!s.pixel_mask){if(!s.pixel_values)throw new Error("Both `pixel_values` and `pixel_mask` are missing in the model inputs.");const o=s.pixel_values.dims;s.pixel_mask=ha([o[0],o[2],o[3]])}return await st(r,s)}async function sN(e,t){const r=await e.encode(t);return await e.decode(r)}async function as(e,t,r=!1){const s=e.sessions[r?"decoder_model_merged":"model"],{past_key_values:o,...l}=t;if(s.inputNames.includes("use_cache_branch")&&(l.use_cache_branch=s2(!!o)),s.inputNames.includes("position_ids")&&l.attention_mask&&!l.position_ids){const d=["paligemma","gemma3_text","gemma3"].includes(e.config.model_type)?1:0;l.position_ids=oN(l,o,d)}s.inputNames.includes("num_logits_to_keep")&&!l.num_logits_to_keep&&(l.num_logits_to_keep=new me("int64",[0n],[])),e.addPastKeyValues(l,o);const u=yn(l,s.inputNames);return await st(s,u)}async function i2(e,{encode_function:t,merge_function:r,modality_input_names:s,modality_output_name:o,input_ids:l=null,attention_mask:u=null,position_ids:d=null,inputs_embeds:f=null,past_key_values:p=null,generation_config:_=null,logits_processor:g=null,...w}){if(!f){f=await e.encode_text({input_ids:l,...w});const S=yn(w,s);if(Object.keys(S).length>0){if(l.dims[1]!==1){const E=await t({...S,...w});({inputs_embeds:f,attention_mask:u}=r({[o]:E,inputs_embeds:f,input_ids:l,attention_mask:u}))}else if(p&&l.dims[1]===1){const E=l.dims[1],z=p.get_seq_length();u=Lt([ha([l.dims[0],z]),u.slice(null,[u.dims[1]-E,u.dims[1]])],1)}}}if(!d&&["qwen2_vl","qwen2_vl_text","qwen2_5_vl","qwen2_5_vl_text","qwen3_vl","qwen3_vl_text","qwen3_vl_moe","qwen3_vl_moe_text","qwen3_5","qwen3_5_text","qwen3_5_moe","qwen3_5_moe_text"].includes(e.config.model_type)){const{image_grid_thw:S,video_grid_thw:E}=w;[d]=e.get_rope_index(l,S,E,u)}return await as(e,{inputs_embeds:f,past_key_values:p,attention_mask:u,position_ids:d,generation_config:_,logits_processor:g},!0)}async function iN(e,t){return await i2(e,{...t,modality_input_names:["audio_values","input_features"],modality_output_name:"audio_features",encode_function:e.encode_audio.bind(e),merge_function:e._merge_input_ids_with_audio_features.bind(e)})}async function b1(e,t){return await i2(e,{...t,modality_input_names:["pixel_values"],modality_output_name:"image_features",encode_function:e.encode_image.bind(e),merge_function:e._merge_input_ids_with_image_features.bind(e)})}function o2(e,t=0){const[r,s]=e.dims,o=e.data,l=new BigInt64Array(o.length);for(let u=0;uu.dims[1]||o[o.at(-1)])),{...r,decoder_input_ids:C_(t)}}function fu(e,...t){return e.config.is_encoder_decoder?$f(e,...t):bu(e,...t)}function l2({modality_token_id:e,inputs_embeds:t,modality_features:r,input_ids:s,attention_mask:o}){const l=s.tolist().map(p=>p.reduce((_,g,w)=>(g==e&&_.push(w),_),[])),u=l.reduce((p,_)=>p+_.length,0),d=r.dims[0];if(u!==d)throw new Error(`Number of tokens and features do not match: tokens: ${u}, features ${d}`);let f=0;for(let p=0;p{const o=await ss(e,t[s],!1,r);return[s,o]})))}var mg={};Al(mg,{ASTForAudioClassification:()=>wN,ASTModel:()=>vN,ASTPreTrainedModel:()=>vg,AfmoeForCausalLM:()=>_N,AfmoeModel:()=>mN,AfmoePreTrainedModel:()=>gg,AlbertForMaskedLM:()=>fN,AlbertForQuestionAnswering:()=>dN,AlbertForSequenceClassification:()=>uN,AlbertModel:()=>cN,AlbertPreTrainedModel:()=>Ou,ApertusForCausalLM:()=>pN,ApertusModel:()=>hN,ApertusPreTrainedModel:()=>_g,ArceeForCausalLM:()=>yN,ArceeModel:()=>gN,ArceePreTrainedModel:()=>yg,BartForConditionalGeneration:()=>MN,BartForSequenceClassification:()=>xN,BartModel:()=>bN,BartPretrainedModel:()=>oh,BeitForImageClassification:()=>SN,BeitModel:()=>TN,BeitPreTrainedModel:()=>wg,BertForMaskedLM:()=>AN,BertForQuestionAnswering:()=>ON,BertForSequenceClassification:()=>CN,BertForTokenClassification:()=>kN,BertModel:()=>EN,BertPreTrainedModel:()=>zl,BlenderbotForConditionalGeneration:()=>LN,BlenderbotModel:()=>zN,BlenderbotPreTrainedModel:()=>bg,BlenderbotSmallForConditionalGeneration:()=>NN,BlenderbotSmallModel:()=>FN,BlenderbotSmallPreTrainedModel:()=>Mg,BloomForCausalLM:()=>RN,BloomModel:()=>DN,BloomPreTrainedModel:()=>xg,CLIPModel:()=>HN,CLIPPreTrainedModel:()=>to,CLIPSegForImageSegmentation:()=>XN,CLIPSegModel:()=>YN,CLIPSegPreTrainedModel:()=>Tg,CLIPTextModel:()=>$N,CLIPTextModelWithProjection:()=>m2,CLIPVisionModel:()=>QN,CLIPVisionModelWithProjection:()=>WN,CamembertForMaskedLM:()=>PN,CamembertForQuestionAnswering:()=>GN,CamembertForSequenceClassification:()=>IN,CamembertForTokenClassification:()=>UN,CamembertModel:()=>BN,CamembertPreTrainedModel:()=>Ll,ChatterboxModel:()=>d2,ChatterboxPreTrainedModel:()=>u2,ChineseCLIPModel:()=>VN,ChineseCLIPPreTrainedModel:()=>f2,ClapAudioModelWithProjection:()=>p2,ClapModel:()=>qN,ClapPreTrainedModel:()=>lh,ClapTextModelWithProjection:()=>h2,CodeGenForCausalLM:()=>KN,CodeGenModel:()=>ZN,CodeGenPreTrainedModel:()=>Sg,Cohere2ForCausalLM:()=>n4,Cohere2Model:()=>t4,Cohere2PreTrainedModel:()=>Ag,CohereForCausalLM:()=>e4,CohereModel:()=>JN,CoherePreTrainedModel:()=>Eg,ConvBertForMaskedLM:()=>r4,ConvBertForQuestionAnswering:()=>o4,ConvBertForSequenceClassification:()=>s4,ConvBertForTokenClassification:()=>i4,ConvBertModel:()=>a4,ConvBertPreTrainedModel:()=>Fl,ConvNextForImageClassification:()=>c4,ConvNextModel:()=>l4,ConvNextPreTrainedModel:()=>Cg,ConvNextV2ForImageClassification:()=>d4,ConvNextV2Model:()=>u4,ConvNextV2PreTrainedModel:()=>kg,DFineForObjectDetection:()=>m4,DFineModel:()=>p4,DFinePreTrainedModel:()=>zg,DINOv3ConvNextModel:()=>I4,DINOv3ConvNextPreTrainedModel:()=>T2,DINOv3ViTModel:()=>U4,DINOv3ViTPreTrainedModel:()=>S2,DPTForDepthEstimation:()=>W4,DPTModel:()=>Q4,DPTPreTrainedModel:()=>Rg,DacDecoderModel:()=>v2,DacDecoderOutput:()=>g2,DacEncoderModel:()=>y2,DacEncoderOutput:()=>_2,DacModel:()=>_4,DacPreTrainedModel:()=>ch,DebertaForMaskedLM:()=>y4,DebertaForQuestionAnswering:()=>b4,DebertaForSequenceClassification:()=>v4,DebertaForTokenClassification:()=>w4,DebertaModel:()=>g4,DebertaPreTrainedModel:()=>Nl,DebertaV2ForMaskedLM:()=>x4,DebertaV2ForQuestionAnswering:()=>E4,DebertaV2ForSequenceClassification:()=>T4,DebertaV2ForTokenClassification:()=>S4,DebertaV2Model:()=>M4,DebertaV2PreTrainedModel:()=>Dl,DecisionTransformerModel:()=>A4,DecisionTransformerPreTrainedModel:()=>w2,DeiTForImageClassification:()=>k4,DeiTModel:()=>C4,DeiTPreTrainedModel:()=>Lg,DepthAnythingForDepthEstimation:()=>O4,DepthAnythingPreTrainedModel:()=>b2,DepthProForDepthEstimation:()=>z4,DepthProPreTrainedModel:()=>M2,DetrForObjectDetection:()=>F4,DetrForSegmentation:()=>N4,DetrModel:()=>L4,DetrObjectDetectionOutput:()=>Fg,DetrPreTrainedModel:()=>uh,DetrSegmentationOutput:()=>x2,Dinov2ForImageClassification:()=>R4,Dinov2Model:()=>D4,Dinov2PreTrainedModel:()=>Ng,Dinov2WithRegistersForImageClassification:()=>P4,Dinov2WithRegistersModel:()=>B4,Dinov2WithRegistersPreTrainedModel:()=>Dg,DistilBertForMaskedLM:()=>H4,DistilBertForQuestionAnswering:()=>q4,DistilBertForSequenceClassification:()=>j4,DistilBertForTokenClassification:()=>V4,DistilBertModel:()=>G4,DistilBertPreTrainedModel:()=>Rl,DonutSwinModel:()=>$4,DonutSwinPreTrainedModel:()=>E2,EdgeTamModel:()=>jB,EfficientNetForImageClassification:()=>X4,EfficientNetModel:()=>Y4,EfficientNetPreTrainedModel:()=>Bg,ElectraForMaskedLM:()=>K4,ElectraForQuestionAnswering:()=>tD,ElectraForSequenceClassification:()=>J4,ElectraForTokenClassification:()=>eD,ElectraModel:()=>Z4,ElectraPreTrainedModel:()=>Bl,Ernie4_5ForCausalLM:()=>aD,Ernie4_5Model:()=>nD,Ernie4_5PretrainedModel:()=>Pg,EsmForMaskedLM:()=>sD,EsmForSequenceClassification:()=>iD,EsmForTokenClassification:()=>oD,EsmModel:()=>rD,EsmPreTrainedModel:()=>Lu,ExaoneForCausalLM:()=>cD,ExaoneModel:()=>lD,ExaonePreTrainedModel:()=>Ig,FalconForCausalLM:()=>dD,FalconH1ForCausalLM:()=>hD,FalconH1Model:()=>fD,FalconH1PreTrainedModel:()=>Gg,FalconModel:()=>uD,FalconPreTrainedModel:()=>Ug,FastViTForImageClassification:()=>mD,FastViTModel:()=>pD,FastViTPreTrainedModel:()=>jg,Florence2ForConditionalGeneration:()=>_D,Florence2PreTrainedModel:()=>A2,GLPNForDepthEstimation:()=>ED,GLPNModel:()=>SD,GLPNPreTrainedModel:()=>Wg,GPT2LMHeadModel:()=>RD,GPT2Model:()=>DD,GPT2PreTrainedModel:()=>Jg,GPTBigCodeForCausalLM:()=>CD,GPTBigCodeModel:()=>AD,GPTBigCodePreTrainedModel:()=>Yg,GPTJForCausalLM:()=>PD,GPTJModel:()=>BD,GPTJPreTrainedModel:()=>ey,GPTNeoForCausalLM:()=>OD,GPTNeoModel:()=>kD,GPTNeoPreTrainedModel:()=>Xg,GPTNeoXForCausalLM:()=>LD,GPTNeoXModel:()=>zD,GPTNeoXPreTrainedModel:()=>Zg,Gemma2ForCausalLM:()=>wD,Gemma2Model:()=>vD,Gemma2PreTrainedModel:()=>qg,Gemma3ForCausalLM:()=>MD,Gemma3Model:()=>bD,Gemma3PreTrainedModel:()=>Hg,Gemma3nForCausalLM:()=>k2,Gemma3nForConditionalGeneration:()=>$g,Gemma3nPreTrainedModel:()=>C2,GemmaForCausalLM:()=>yD,GemmaModel:()=>gD,GemmaPreTrainedModel:()=>Vg,GlmForCausalLM:()=>TD,GlmModel:()=>xD,GlmPreTrainedModel:()=>Qg,GptOssForCausalLM:()=>ND,GptOssModel:()=>FD,GptOssPreTrainedModel:()=>Kg,GraniteForCausalLM:()=>UD,GraniteModel:()=>ID,GraniteMoeHybridForCausalLM:()=>jD,GraniteMoeHybridModel:()=>GD,GraniteMoeHybridPreTrainedModel:()=>ny,GranitePreTrainedModel:()=>ty,GraniteSpeechForConditionalGeneration:()=>VD,GroundingDinoForObjectDetection:()=>qD,GroundingDinoPreTrainedModel:()=>z2,GroupViTModel:()=>HD,GroupViTPreTrainedModel:()=>L2,HeliumForCausalLM:()=>QD,HeliumModel:()=>$D,HeliumPreTrainedModel:()=>ry,HieraForImageClassification:()=>YD,HieraModel:()=>WD,HieraPreTrainedModel:()=>sy,HubertForCTC:()=>nR,HubertForSequenceClassification:()=>aR,HubertModel:()=>tR,HubertPreTrainedModel:()=>eR,HunYuanDenseV1ForCausalLM:()=>sR,HunYuanDenseV1Model:()=>rR,HunYuanDenseV1PreTrainedModel:()=>iy,IJepaForImageClassification:()=>uR,IJepaModel:()=>cR,IJepaPreTrainedModel:()=>oy,Idefics3ForConditionalGeneration:()=>lR,JAISLMHeadModel:()=>fR,JAISModel:()=>dR,JAISPreTrainedModel:()=>ly,JinaCLIPModel:()=>hR,JinaCLIPPreTrainedModel:()=>dh,JinaCLIPTextModel:()=>N2,JinaCLIPVisionModel:()=>pR,Lfm2ForCausalLM:()=>_R,Lfm2Model:()=>mR,Lfm2MoeForCausalLM:()=>yR,Lfm2MoeModel:()=>gR,Lfm2MoePreTrainedModel:()=>uy,Lfm2PreTrainedModel:()=>cy,Lfm2VlForConditionalGeneration:()=>vR,LiteWhisperForConditionalGeneration:()=>iP,Llama4ForCausalLM:()=>MR,Llama4PreTrainedModel:()=>D2,LlamaForCausalLM:()=>bR,LlamaModel:()=>wR,LlamaPreTrainedModel:()=>dy,LlavaForConditionalGeneration:()=>Xi,LlavaOnevisionForConditionalGeneration:()=>Xi,LlavaPreTrainedModel:()=>F2,LlavaQwen2ForCausalLM:()=>oR,LongT5ForConditionalGeneration:()=>TR,LongT5Model:()=>xR,LongT5PreTrainedModel:()=>fy,M2M100ForConditionalGeneration:()=>ER,M2M100Model:()=>SR,M2M100PreTrainedModel:()=>hy,MBartForCausalLM:()=>NR,MBartForConditionalGeneration:()=>LR,MBartForSequenceClassification:()=>FR,MBartModel:()=>zR,MBartPreTrainedModel:()=>Fu,MPNetForMaskedLM:()=>y6,MPNetForQuestionAnswering:()=>b6,MPNetForSequenceClassification:()=>v6,MPNetForTokenClassification:()=>w6,MPNetModel:()=>g6,MPNetPreTrainedModel:()=>Pl,MT5ForConditionalGeneration:()=>S6,MT5Model:()=>T6,MT5PreTrainedModel:()=>xy,MarianMTModel:()=>CR,MarianModel:()=>AR,MarianPreTrainedModel:()=>py,MaskFormerForInstanceSegmentation:()=>OR,MaskFormerModel:()=>kR,MaskFormerPreTrainedModel:()=>my,Metric3DForDepthEstimation:()=>DR,Metric3DPreTrainedModel:()=>R2,Metric3Dv2ForDepthEstimation:()=>RR,Metric3Dv2PreTrainedModel:()=>B2,MgpstrForSceneTextRecognition:()=>BR,MgpstrModelOutput:()=>P2,MgpstrPreTrainedModel:()=>I2,MimiDecoderModel:()=>V2,MimiDecoderOutput:()=>G2,MimiEncoderModel:()=>j2,MimiEncoderOutput:()=>U2,MimiModel:()=>PR,MimiPreTrainedModel:()=>fh,MistralForCausalLM:()=>UR,MistralModel:()=>IR,MistralPreTrainedModel:()=>_y,MobileBertForMaskedLM:()=>jR,MobileBertForQuestionAnswering:()=>qR,MobileBertForSequenceClassification:()=>VR,MobileBertModel:()=>GR,MobileBertPreTrainedModel:()=>Nu,MobileLLMForCausalLM:()=>$R,MobileLLMModel:()=>HR,MobileLLMPreTrainedModel:()=>gy,MobileNetV1ForImageClassification:()=>WR,MobileNetV1ForSemanticSegmentation:()=>YR,MobileNetV1Model:()=>QR,MobileNetV1PreTrainedModel:()=>hh,MobileNetV2ForImageClassification:()=>ZR,MobileNetV2ForSemanticSegmentation:()=>KR,MobileNetV2Model:()=>XR,MobileNetV2PreTrainedModel:()=>ph,MobileNetV3ForImageClassification:()=>e6,MobileNetV3ForSemanticSegmentation:()=>t6,MobileNetV3Model:()=>JR,MobileNetV3PreTrainedModel:()=>mh,MobileNetV4ForImageClassification:()=>a6,MobileNetV4ForSemanticSegmentation:()=>r6,MobileNetV4Model:()=>n6,MobileNetV4PreTrainedModel:()=>_h,MobileViTForImageClassification:()=>i6,MobileViTModel:()=>s6,MobileViTPreTrainedModel:()=>yy,MobileViTV2ForImageClassification:()=>l6,MobileViTV2Model:()=>o6,MobileViTV2PreTrainedModel:()=>vy,ModernBertDecoderForCausalLM:()=>p6,ModernBertDecoderModel:()=>h6,ModernBertDecoderPreTrainedModel:()=>wy,ModernBertForMaskedLM:()=>u6,ModernBertForSequenceClassification:()=>d6,ModernBertForTokenClassification:()=>f6,ModernBertModel:()=>c6,ModernBertPreTrainedModel:()=>Du,Moondream1ForConditionalGeneration:()=>iR,MoonshineForConditionalGeneration:()=>_6,MoonshineModel:()=>m6,MoonshinePreTrainedModel:()=>by,MptForCausalLM:()=>x6,MptModel:()=>M6,MptPreTrainedModel:()=>My,MultiModalityCausalLM:()=>E6,MultiModalityPreTrainedModel:()=>q2,MusicgenForCausalLM:()=>C6,MusicgenForConditionalGeneration:()=>H2,MusicgenModel:()=>A6,MusicgenPreTrainedModel:()=>Ty,NanoChatForCausalLM:()=>O6,NanoChatModel:()=>k6,NanoChatPreTrainedModel:()=>Sy,NeoBertForMaskedLM:()=>L6,NeoBertForQuestionAnswering:()=>D6,NeoBertForSequenceClassification:()=>F6,NeoBertForTokenClassification:()=>N6,NeoBertModel:()=>z6,NeoBertPreTrainedModel:()=>Il,NomicBertModel:()=>R6,NomicBertPreTrainedModel:()=>$2,OPTForCausalLM:()=>W6,OPTModel:()=>Q6,OPTPreTrainedModel:()=>zy,Olmo2ForCausalLM:()=>U6,Olmo2Model:()=>I6,Olmo2PreTrainedModel:()=>Ay,Olmo3ForCausalLM:()=>j6,Olmo3Model:()=>G6,Olmo3PreTrainedModel:()=>Cy,OlmoForCausalLM:()=>P6,OlmoHybridForCausalLM:()=>q6,OlmoHybridModel:()=>V6,OlmoHybridPreTrainedModel:()=>ky,OlmoModel:()=>B6,OlmoPreTrainedModel:()=>Ey,OpenELMForCausalLM:()=>$6,OpenELMModel:()=>H6,OpenELMPreTrainedModel:()=>Oy,OwlViTForObjectDetection:()=>K6,OwlViTModel:()=>Z6,OwlViTPreTrainedModel:()=>Fy,Owlv2ForObjectDetection:()=>X6,Owlv2Model:()=>Y6,Owlv2PreTrainedModel:()=>Ly,PaliGemmaForConditionalGeneration:()=>J6,ParakeetForCTC:()=>eB,ParakeetPreTrainedModel:()=>Q2,PatchTSMixerForPrediction:()=>nB,PatchTSMixerModel:()=>tB,PatchTSMixerPreTrainedModel:()=>Ny,PatchTSTForPrediction:()=>rB,PatchTSTModel:()=>aB,PatchTSTPreTrainedModel:()=>Dy,Phi3ForCausalLM:()=>lB,Phi3Model:()=>oB,Phi3PreTrainedModel:()=>By,Phi3VForCausalLM:()=>Y2,Phi3VPreTrainedModel:()=>W2,PhiForCausalLM:()=>iB,PhiModel:()=>sB,PhiPreTrainedModel:()=>Ry,PreTrainedModel:()=>$,PvtForImageClassification:()=>uB,PvtModel:()=>cB,PvtPreTrainedModel:()=>Py,PyAnnoteForAudioFrameClassification:()=>fB,PyAnnoteModel:()=>dB,PyAnnotePreTrainedModel:()=>Iy,Qwen2ForCausalLM:()=>pB,Qwen2Model:()=>hB,Qwen2MoeForCausalLM:()=>_B,Qwen2MoeModel:()=>mB,Qwen2MoePreTrainedModel:()=>Gy,Qwen2PreTrainedModel:()=>Uy,Qwen2VLForCausalLM:()=>Vy,Qwen2VLForConditionalGeneration:()=>jy,Qwen2VLPreTrainedModel:()=>X2,Qwen2_5_VLForCausalLM:()=>qy,Qwen2_5_VLForConditionalGeneration:()=>Z2,Qwen3ForCausalLM:()=>yB,Qwen3Model:()=>gB,Qwen3MoeForCausalLM:()=>wB,Qwen3MoeModel:()=>vB,Qwen3MoePreTrainedModel:()=>$y,Qwen3NextForCausalLM:()=>MB,Qwen3NextModel:()=>bB,Qwen3NextPreTrainedModel:()=>Qy,Qwen3PreTrainedModel:()=>Hy,Qwen3VLForCausalLM:()=>Yy,Qwen3VLForConditionalGeneration:()=>Wy,Qwen3VLMoeForCausalLM:()=>K2,Qwen3VLMoeForConditionalGeneration:()=>xB,Qwen3_5ForCausalLM:()=>Zy,Qwen3_5ForConditionalGeneration:()=>Xy,Qwen3_5MoeForCausalLM:()=>J2,Qwen3_5MoeForConditionalGeneration:()=>TB,RFDetrForObjectDetection:()=>CB,RFDetrModel:()=>AB,RFDetrObjectDetectionOutput:()=>eT,RFDetrPreTrainedModel:()=>Jy,RTDetrForObjectDetection:()=>h4,RTDetrModel:()=>f4,RTDetrObjectDetectionOutput:()=>zu,RTDetrPreTrainedModel:()=>Og,RTDetrV2ForObjectDetection:()=>UB,RTDetrV2Model:()=>IB,RTDetrV2ObjectDetectionOutput:()=>tT,RTDetrV2PreTrainedModel:()=>ev,ResNetForImageClassification:()=>EB,ResNetModel:()=>SB,ResNetPreTrainedModel:()=>Ky,RoFormerForMaskedLM:()=>DB,RoFormerForQuestionAnswering:()=>PB,RoFormerForSequenceClassification:()=>RB,RoFormerForTokenClassification:()=>BB,RoFormerModel:()=>NB,RoFormerPreTrainedModel:()=>Gl,RobertaForMaskedLM:()=>OB,RobertaForQuestionAnswering:()=>FB,RobertaForSequenceClassification:()=>zB,RobertaForTokenClassification:()=>LB,RobertaModel:()=>kB,RobertaPreTrainedModel:()=>Ul,Sam2ImageSegmentationOutput:()=>rT,Sam2Model:()=>tv,Sam2PreTrainedModel:()=>sT,Sam3TrackerModel:()=>VB,SamImageSegmentationOutput:()=>nT,SamModel:()=>GB,SamPreTrainedModel:()=>aT,SapiensForDepthEstimation:()=>HB,SapiensForNormalEstimation:()=>$B,SapiensForSemanticSegmentation:()=>qB,SapiensPreTrainedModel:()=>gh,SegformerForImageClassification:()=>WB,SegformerForSemanticSegmentation:()=>YB,SegformerModel:()=>QB,SegformerPreTrainedModel:()=>yh,SiglipModel:()=>XB,SiglipPreTrainedModel:()=>nv,SiglipTextModel:()=>iT,SiglipVisionModel:()=>ZB,SmolLM3ForCausalLM:()=>JB,SmolLM3Model:()=>KB,SmolLM3PreTrainedModel:()=>av,SnacDecoderModel:()=>lT,SnacEncoderModel:()=>oT,SnacModel:()=>e5,SnacPreTrainedModel:()=>vh,SpeechT5ForSpeechToText:()=>n5,SpeechT5ForTextToSpeech:()=>a5,SpeechT5HifiGan:()=>r5,SpeechT5Model:()=>t5,SpeechT5PreTrainedModel:()=>wh,SqueezeBertForMaskedLM:()=>i5,SqueezeBertForQuestionAnswering:()=>l5,SqueezeBertForSequenceClassification:()=>o5,SqueezeBertModel:()=>s5,SqueezeBertPreTrainedModel:()=>Ru,StableLmForCausalLM:()=>u5,StableLmModel:()=>c5,StableLmPreTrainedModel:()=>rv,Starcoder2ForCausalLM:()=>f5,Starcoder2Model:()=>d5,Starcoder2PreTrainedModel:()=>sv,StyleTextToSpeech2Model:()=>h5,StyleTextToSpeech2PreTrainedModel:()=>cT,SupertonicForConditionalGeneration:()=>dT,SupertonicPreTrainedModel:()=>uT,Swin2SRForImageSuperResolution:()=>y5,Swin2SRModel:()=>g5,Swin2SRPreTrainedModel:()=>iv,SwinForImageClassification:()=>m5,SwinForSemanticSegmentation:()=>_5,SwinModel:()=>p5,SwinPreTrainedModel:()=>bh,T5ForConditionalGeneration:()=>w5,T5Model:()=>v5,T5PreTrainedModel:()=>ov,TableTransformerForObjectDetection:()=>M5,TableTransformerModel:()=>b5,TableTransformerObjectDetectionOutput:()=>fT,TableTransformerPreTrainedModel:()=>lv,TrOCRForCausalLM:()=>x5,TrOCRPreTrainedModel:()=>hT,UltravoxModel:()=>ay,UltravoxPreTrainedModel:()=>O2,UniSpeechForCTC:()=>S5,UniSpeechForSequenceClassification:()=>E5,UniSpeechModel:()=>T5,UniSpeechPreTrainedModel:()=>Mh,UniSpeechSatForAudioFrameClassification:()=>O5,UniSpeechSatForCTC:()=>C5,UniSpeechSatForSequenceClassification:()=>k5,UniSpeechSatModel:()=>A5,UniSpeechSatPreTrainedModel:()=>Bu,VaultGemmaForCausalLM:()=>L5,VaultGemmaModel:()=>z5,VaultGemmaPreTrainedModel:()=>cv,ViTForImageClassification:()=>D5,ViTMAEModel:()=>R5,ViTMAEPreTrainedModel:()=>pT,ViTMSNForImageClassification:()=>P5,ViTMSNModel:()=>B5,ViTMSNPreTrainedModel:()=>dv,ViTModel:()=>N5,ViTPreTrainedModel:()=>uv,VisionEncoderDecoderModel:()=>F5,VitMatteForImageMatting:()=>I5,VitMattePreTrainedModel:()=>mT,VitPoseForPoseEstimation:()=>U5,VitPosePreTrainedModel:()=>_T,VitsModel:()=>G5,VitsModelOutput:()=>gT,VitsPreTrainedModel:()=>yT,VoxtralForConditionalGeneration:()=>j5,VoxtralRealtimeForConditionalGeneration:()=>wT,VoxtralRealtimePreTrainedModel:()=>vT,Wav2Vec2BertForCTC:()=>X5,Wav2Vec2BertForSequenceClassification:()=>Z5,Wav2Vec2BertModel:()=>Y5,Wav2Vec2BertPreTrainedModel:()=>xh,Wav2Vec2ForAudioFrameClassification:()=>JD,Wav2Vec2ForCTC:()=>ZD,Wav2Vec2ForSequenceClassification:()=>KD,Wav2Vec2Model:()=>XD,Wav2Vec2PreTrainedModel:()=>ei,WavLMForAudioFrameClassification:()=>nP,WavLMForCTC:()=>J5,WavLMForSequenceClassification:()=>eP,WavLMForXVector:()=>tP,WavLMModel:()=>K5,WavLMPreTrainedModel:()=>jl,WeSpeakerResNetModel:()=>aP,WeSpeakerResNetPreTrainedModel:()=>MT,WhisperForConditionalGeneration:()=>xT,WhisperModel:()=>sP,WhisperPreTrainedModel:()=>fv,XLMForQuestionAnswering:()=>dP,XLMForSequenceClassification:()=>cP,XLMForTokenClassification:()=>uP,XLMModel:()=>oP,XLMPreTrainedModel:()=>Vl,XLMRobertaForMaskedLM:()=>hP,XLMRobertaForQuestionAnswering:()=>_P,XLMRobertaForSequenceClassification:()=>pP,XLMRobertaForTokenClassification:()=>mP,XLMRobertaModel:()=>fP,XLMRobertaPreTrainedModel:()=>ql,XLMWithLMHeadModel:()=>lP,XVectorOutput:()=>bT,YolosForObjectDetection:()=>yP,YolosModel:()=>gP,YolosObjectDetectionOutput:()=>TT,YolosPreTrainedModel:()=>hv,YoutuForCausalLM:()=>wP,YoutuModel:()=>vP,YoutuPreTrainedModel:()=>pv});var Ou=class extends ${},cN=class extends Ou{},uN=class extends Ou{async _call(e){return new Ne(await super._call(e))}},dN=class extends Ou{async _call(e){return new Ln(await super._call(e))}},fN=class extends Ou{async _call(e){return new dn(await super._call(e))}},_g=class extends ${},hN=class extends _g{},pN=class extends _g{},gg=class extends ${},mN=class extends gg{},_N=class extends gg{},yg=class extends ${},gN=class extends yg{},yN=class extends yg{},vg=class extends ${},vN=class extends vg{},wN=class extends vg{},oh=class extends ${},bN=class extends oh{},MN=class extends oh{},xN=class extends oh{async _call(e){return new Ne(await super._call(e))}},wg=class extends ${},TN=class extends wg{},SN=class extends wg{async _call(e){return new Ne(await super._call(e))}},zl=class extends ${},EN=class extends zl{},AN=class extends zl{async _call(e){return new dn(await super._call(e))}},CN=class extends zl{async _call(e){return new Ne(await super._call(e))}},kN=class extends zl{async _call(e){return new nn(await super._call(e))}},ON=class extends zl{async _call(e){return new Ln(await super._call(e))}},bg=class extends ${},zN=class extends bg{},LN=class extends bg{},Mg=class extends ${},FN=class extends Mg{},NN=class extends Mg{},xg=class extends ${},DN=class extends xg{},RN=class extends xg{},Ll=class extends ${},BN=class extends Ll{},PN=class extends Ll{async _call(e){return new dn(await super._call(e))}},IN=class extends Ll{async _call(e){return new Ne(await super._call(e))}},UN=class extends Ll{async _call(e){return new nn(await super._call(e))}},GN=class extends Ll{async _call(e){return new Ln(await super._call(e))}},jN=4299n,M1=6561n,u2=class extends ${forward_params=["input_ids","inputs_embeds","attention_mask","position_ids","audio_values","exaggeration","audio_features","audio_tokens","speaker_embeddings","speaker_features","past_key_values"];main_input_name="input_ids";_return_dict_in_generate_keys=["audio_tokens","speaker_embeddings","speaker_features"]},d2=class extends u2{async encode_speech(e){return st(this.sessions.speech_encoder,{audio_values:e})}async forward({input_ids:e=null,attention_mask:t=null,audio_values:r=null,exaggeration:s=null,position_ids:o=null,inputs_embeds:l=null,past_key_values:u=null,generation_config:d=null,logits_processor:f=null,audio_features:p=null,audio_tokens:_=null,speaker_embeddings:g=null,speaker_features:w=null,...b}){let S;if(!l){const z=this.sessions.embed_tokens.inputNames,C={input_ids:e};if(z.includes("exaggeration")){if(!(s instanceof me)){const L=e.dims[0];if(s==null)s=On([L],.5);else if(typeof s=="number")s=On([L],s);else if(Array.isArray(s))s=new me("float32",s,[L]);else throw new Error("Unsupported type for `exaggeration` input")}C.exaggeration=s}if(z.includes("position_ids")&&(C.position_ids=o),{inputs_embeds:l}=await st(this.sessions.embed_tokens,C),p&&_&&g&&w&&(S={audio_features:p,audio_tokens:_,speaker_embeddings:g,speaker_features:w}),S||r)S??=await this.encode_speech(r),l=Lt([S.audio_features,l],1),t=ha([l.dims[0],l.dims[1]]);else{const L=l.dims[1];if(!u||L!==1)throw new Error("Incorrect state encountered during generation.");const D=u.get_seq_length();t=ha([l.dims[0],D+L])}}return{...await as(this,{inputs_embeds:l,past_key_values:u,attention_mask:t,generation_config:d,logits_processor:f},!1),...S}}prepare_inputs_for_generation(e,t,r){if(!t.position_ids&&this.sessions.embed_tokens.inputNames.includes("position_ids"))if(t.input_ids.dims[1]===1){const s=Array.from({length:e.length},(o,l)=>e[l].length-e[l].findLastIndex(u=>u==M1)-1);t.position_ids=new me("int64",s,[e.length,1])}else{const o=t.input_ids.tolist().map(l=>{let u=0;return l.map(d=>d>=M1?0:u++)});t.position_ids=new me("int64",o.flat(),t.input_ids.dims)}return t.input_ids.dims[1]===1&&(delete t.audio_values,delete t.audio_features,delete t.audio_tokens,delete t.speaker_embeddings,delete t.speaker_features),bu(this,e,t)}async generate(e){const{sequences:t,audio_tokens:r,speaker_embeddings:s,speaker_features:o}=await super.generate({...e,return_dict_in_generate:!0}),l=t.slice(null,[e.input_ids.dims[1],-1]),u=On([l.dims[0],3],jN),d=Lt([r,l,u],1),{waveform:f}=await st(this.sessions.conditional_decoder,{speech_tokens:d,speaker_features:o,speaker_embeddings:s});return f}},f2=class extends ${},VN=class extends f2{},lh=class extends ${},qN=class extends lh{},h2=class extends lh{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"text_model"})}},p2=class extends lh{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"audio_model"})}},to=class extends ${},HN=class extends to{},$N=class extends to{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"text_model"})}},m2=class extends to{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"text_model"})}},QN=class extends to{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"vision_model"})}},WN=class extends to{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"vision_model"})}},Tg=class extends ${},YN=class extends Tg{},XN=class extends Tg{},Sg=class extends ${},ZN=class extends Sg{},KN=class extends Sg{},Eg=class extends ${},JN=class extends Eg{},e4=class extends Eg{},Ag=class extends ${},t4=class extends Ag{},n4=class extends Ag{},Fl=class extends ${},a4=class extends Fl{},r4=class extends Fl{async _call(e){return new dn(await super._call(e))}},s4=class extends Fl{async _call(e){return new Ne(await super._call(e))}},i4=class extends Fl{async _call(e){return new nn(await super._call(e))}},o4=class extends Fl{async _call(e){return new Ln(await super._call(e))}},Cg=class extends ${},l4=class extends Cg{},c4=class extends Cg{async _call(e){return new Ne(await super._call(e))}},kg=class extends ${},u4=class extends kg{},d4=class extends kg{async _call(e){return new Ne(await super._call(e))}},Og=class extends ${},f4=class extends Og{},h4=class extends Og{async _call(e){return new zu(await super._call(e))}},zu=class extends tn{constructor({logits:e,pred_boxes:t}){super(),this.logits=e,this.pred_boxes=t}},zg=class extends ${},p4=class extends zg{},m4=class extends zg{async _call(e){return new zu(await super._call(e))}},_2=class extends tn{constructor({audio_codes:e}){super(),this.audio_codes=e}},g2=class extends tn{constructor({audio_values:e}){super(),this.audio_values=e}},ch=class extends ${main_input_name="input_values";forward_params=["input_values"]},_4=class extends ch{async encode(e){return new _2(await st(this.sessions.encoder_model,e))}async decode(e){return new g2(await st(this.sessions.decoder_model,e))}},y2=class extends ch{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"encoder_model"})}},v2=class extends ch{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"decoder_model"})}},Nl=class extends ${},g4=class extends Nl{},y4=class extends Nl{async _call(e){return new dn(await super._call(e))}},v4=class extends Nl{async _call(e){return new Ne(await super._call(e))}},w4=class extends Nl{async _call(e){return new nn(await super._call(e))}},b4=class extends Nl{async _call(e){return new Ln(await super._call(e))}},Dl=class extends ${},M4=class extends Dl{},x4=class extends Dl{async _call(e){return new dn(await super._call(e))}},T4=class extends Dl{async _call(e){return new Ne(await super._call(e))}},S4=class extends Dl{async _call(e){return new nn(await super._call(e))}},E4=class extends Dl{async _call(e){return new Ln(await super._call(e))}},w2=class extends ${},A4=class extends w2{},Lg=class extends ${},C4=class extends Lg{},k4=class extends Lg{async _call(e){return new Ne(await super._call(e))}},b2=class extends ${},O4=class extends b2{},M2=class extends ${},z4=class extends M2{},uh=class extends ${},L4=class extends uh{},F4=class extends uh{async _call(e){return new Fg(await super._call(e))}},N4=class extends uh{async _call(e){return new x2(await super._call(e))}},Fg=class extends tn{constructor({logits:e,pred_boxes:t}){super(),this.logits=e,this.pred_boxes=t}},x2=class extends tn{constructor({logits:e,pred_boxes:t,pred_masks:r}){super(),this.logits=e,this.pred_boxes=t,this.pred_masks=r}},Ng=class extends ${},D4=class extends Ng{},R4=class extends Ng{async _call(e){return new Ne(await super._call(e))}},Dg=class extends ${},B4=class extends Dg{},P4=class extends Dg{async _call(e){return new Ne(await super._call(e))}},T2=class extends ${},I4=class extends T2{},S2=class extends ${},U4=class extends S2{},Rl=class extends ${},G4=class extends Rl{},j4=class extends Rl{async _call(e){return new Ne(await super._call(e))}},V4=class extends Rl{async _call(e){return new nn(await super._call(e))}},q4=class extends Rl{async _call(e){return new Ln(await super._call(e))}},H4=class extends Rl{async _call(e){return new dn(await super._call(e))}},E2=class extends ${},$4=class extends E2{},Rg=class extends ${},Q4=class extends Rg{},W4=class extends Rg{},Bg=class extends ${},Y4=class extends Bg{},X4=class extends Bg{async _call(e){return new Ne(await super._call(e))}},Bl=class extends ${},Z4=class extends Bl{},K4=class extends Bl{async _call(e){return new dn(await super._call(e))}},J4=class extends Bl{async _call(e){return new Ne(await super._call(e))}},eD=class extends Bl{async _call(e){return new nn(await super._call(e))}},tD=class extends Bl{async _call(e){return new Ln(await super._call(e))}},Pg=class extends ${},nD=class extends Pg{},aD=class extends Pg{},Lu=class extends ${},rD=class extends Lu{},sD=class extends Lu{async _call(e){return new dn(await super._call(e))}},iD=class extends Lu{async _call(e){return new Ne(await super._call(e))}},oD=class extends Lu{async _call(e){return new nn(await super._call(e))}},Ig=class extends ${},lD=class extends Ig{},cD=class extends Ig{},Ug=class extends ${},uD=class extends Ug{},dD=class extends Ug{},Gg=class extends ${},fD=class extends Gg{},hD=class extends Gg{},jg=class extends ${},pD=class extends jg{},mD=class extends jg{async _call(e){return new Ne(await super._call(e))}},A2=class extends ${forward_params=["input_ids","inputs_embeds","attention_mask","pixel_values","encoder_outputs","decoder_input_ids","decoder_inputs_embeds","decoder_attention_mask","past_key_values"];main_input_name="inputs_embeds"},_D=class extends A2{_merge_input_ids_with_image_features({inputs_embeds:e,image_features:t,input_ids:r,attention_mask:s}){return{inputs_embeds:Lt([t,e],1),attention_mask:Lt([ha(t.dims.slice(0,2)),s],1)}}async _prepare_inputs_embeds({input_ids:e,pixel_values:t,inputs_embeds:r,attention_mask:s}){if(!e&&!t)throw new Error("Either `input_ids` or `pixel_values` should be provided.");let o,l;return e&&(o=await this.encode_text({input_ids:e})),t&&(l=await this.encode_image({pixel_values:t})),o&&l?{inputs_embeds:r,attention_mask:s}=this._merge_input_ids_with_image_features({inputs_embeds:o,image_features:l,input_ids:e,attention_mask:s}):r=o||l,{inputs_embeds:r,attention_mask:s}}async forward({input_ids:e,pixel_values:t,attention_mask:r,decoder_input_ids:s,decoder_attention_mask:o,encoder_outputs:l,past_key_values:u,inputs_embeds:d,decoder_inputs_embeds:f}){if(d||({inputs_embeds:d,attention_mask:r}=await this._prepare_inputs_embeds({input_ids:e,pixel_values:t,inputs_embeds:d,attention_mask:r})),!l){let{last_hidden_state:_}=await Js(this,{inputs_embeds:d,attention_mask:r});l=_}if(!f){if(!s)throw new Error("Either `decoder_input_ids` or `decoder_inputs_embeds` should be provided.");f=await this.encode_text({input_ids:s})}return await as(this,{inputs_embeds:f,attention_mask:o,encoder_attention_mask:r,encoder_hidden_states:l,past_key_values:u},!0)}},Vg=class extends ${},gD=class extends Vg{},yD=class extends Vg{},qg=class extends ${},vD=class extends qg{},wD=class extends qg{},Hg=class extends ${},bD=class extends Hg{},MD=class extends Hg{},C2=class extends ${forward_params=["input_ids","attention_mask","inputs_embeds","per_layer_inputs","position_ids","pixel_values","input_features","input_features_mask","past_key_values"]},$g=class extends C2{async forward({input_ids:e=null,attention_mask:t=null,pixel_values:r=null,input_features:s=null,input_features_mask:o=null,position_ids:l=null,inputs_embeds:u=null,per_layer_inputs:d=null,past_key_values:f=null,generation_config:p=null,logits_processor:_=null,...g}){if((!u||!d)&&({inputs_embeds:u,per_layer_inputs:d}=await st(this.sessions.embed_tokens,{input_ids:e}),e.dims[1]!==1)){if(r){const{image_features:b}=await st(this.sessions.vision_encoder,{pixel_values:r});({inputs_embeds:u,attention_mask:t}=this._merge_input_ids_with_image_features({image_features:b,inputs_embeds:u,input_ids:e,attention_mask:t}))}if(s){const{audio_features:b}=await st(this.sessions.audio_encoder,{input_features:s,input_features_mask:o});({inputs_embeds:u,attention_mask:t}=this._merge_input_ids_with_audio_features({audio_features:b,inputs_embeds:u,input_ids:e,attention_mask:t}))}}return await as(this,{inputs_embeds:u,per_layer_inputs:d,past_key_values:f,attention_mask:t,position_ids:l,generation_config:p,logits_processor:_},!0)}_merge_input_ids_with_image_features(e){const t=e.image_features.dims.at(-1),r=e.image_features.view(-1,t);return pg({image_token_id:this.config.image_token_id,...e,image_features:r})}_merge_input_ids_with_audio_features(e){const t=e.audio_features.dims.at(-1),r=e.audio_features.view(-1,t);return c2({audio_token_id:this.config.audio_token_id,...e,audio_features:r})}},k2=class extends $g{},Qg=class extends ${},xD=class extends Qg{},TD=class extends Qg{},Wg=class extends ${},SD=class extends Wg{},ED=class extends Wg{},Yg=class extends ${},AD=class extends Yg{},CD=class extends Yg{},Xg=class extends ${},kD=class extends Xg{},OD=class extends Xg{},Zg=class extends ${},zD=class extends Zg{},LD=class extends Zg{},Kg=class extends ${},FD=class extends Kg{},ND=class extends Kg{},Jg=class extends ${},DD=class extends Jg{},RD=class extends Jg{},ey=class extends ${},BD=class extends ey{},PD=class extends ey{},ty=class extends ${},ID=class extends ty{},UD=class extends ty{},ny=class extends ${},GD=class extends ny{},jD=class extends ny{},O2=class extends ${forward_params=["input_ids","attention_mask","position_ids","audio_values","past_key_values"]},ay=class extends O2{_merge_input_ids_with_audio_features(e){const t=e.audio_features.dims.at(-1),r=e.audio_features.view(-1,t);return c2({audio_token_id:this.config.ignore_index??this.config.audio_token_id??this.config.audio_token_index,...e,audio_features:r})}},VD=class extends ay{forward_params=["input_ids","attention_mask","input_features","past_key_values"]},z2=class extends ${},qD=class extends z2{},L2=class extends ${},HD=class extends L2{},ry=class extends ${},$D=class extends ry{},QD=class extends ry{},sy=class extends ${},WD=class extends sy{},YD=class extends sy{async _call(e){return new Ne(await super._call(e))}},ei=class extends ${},XD=class extends ei{},ZD=class extends ei{async _call(e){return new eo(await super._call(e))}},KD=class extends ei{async _call(e){return new Ne(await super._call(e))}},JD=class extends ei{async _call(e){return new nn(await super._call(e))}},eR=class extends ${},tR=class extends ei{},nR=class extends ei{async _call(e){return new eo(await super._call(e))}},aR=class extends ei{async _call(e){return new Ne(await super._call(e))}},iy=class extends ${},rR=class extends iy{},sR=class extends iy{},F2=class extends ${forward_params=["input_ids","attention_mask","pixel_values","position_ids","past_key_values"]},Xi=class extends F2{_merge_input_ids_with_image_features(e){const t=e.image_features.dims.at(-1),r=e.image_features.view(-1,t);return pg({image_token_id:this.config.image_token_index??this.config.image_token_id,...e,image_features:r})}},iR=class extends Xi{},oR=class extends Xi{},lR=class extends Xi{forward_params=["input_ids","attention_mask","pixel_values","pixel_attention_mask","position_ids","past_key_values"]},oy=class extends ${},cR=class extends oy{},uR=class extends oy{async _call(e){return new Ne(await super._call(e))}},ly=class extends ${},dR=class extends ly{},fR=class extends ly{},dh=class extends ${},hR=class extends dh{async forward(e){const t=!e.input_ids,r=!e.pixel_values;if(t&&r)throw new Error("Either `input_ids` or `pixel_values` should be provided.");if(t&&(e.input_ids=ha([e.pixel_values.dims[0],1])),r){const{image_size:f}=this.config.vision_config;e.pixel_values=On([0,3,f,f],0)}const{text_embeddings:s,image_embeddings:o,l2norm_text_embeddings:l,l2norm_image_embeddings:u}=await super.forward(e),d={};return t||(d.text_embeddings=s,d.l2norm_text_embeddings=l),r||(d.image_embeddings=o,d.l2norm_image_embeddings=u),d}},N2=class extends dh{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"text_model"})}},pR=class extends dh{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"vision_model"})}},cy=class extends ${},mR=class extends cy{},_R=class extends cy{},uy=class extends ${},gR=class extends uy{},yR=class extends uy{},vR=class extends Xi{forward_params=["input_ids","attention_mask","pixel_values","pixel_attention_mask","spatial_shapes","position_ids","past_key_values"]},dy=class extends ${},wR=class extends dy{},bR=class extends dy{},D2=class extends ${},MR=class extends D2{},fy=class extends ${},xR=class extends fy{},TR=class extends fy{},hy=class extends ${},SR=class extends hy{},ER=class extends hy{},py=class extends ${},AR=class extends py{},CR=class extends py{},my=class extends ${},kR=class extends my{},OR=class extends my{},Fu=class extends ${},zR=class extends Fu{},LR=class extends Fu{},FR=class extends Fu{async _call(e){return new Ne(await super._call(e))}},NR=class extends Fu{},R2=class extends ${},DR=class extends R2{},B2=class extends ${},RR=class extends B2{},P2=class extends tn{constructor({char_logits:e,bpe_logits:t,wp_logits:r}){super(),this.char_logits=e,this.bpe_logits=t,this.wp_logits=r}get logits(){return[this.char_logits,this.bpe_logits,this.wp_logits]}},I2=class extends ${},BR=class extends I2{async _call(e){return new P2(await super._call(e))}},U2=class extends tn{constructor({audio_codes:e}){super(),this.audio_codes=e}},G2=class extends tn{constructor({audio_values:e}){super(),this.audio_values=e}},fh=class extends ${main_input_name="input_values";forward_params=["input_values"]},PR=class extends fh{async encode(e){return new U2(await st(this.sessions.encoder_model,e))}async decode(e){return new G2(await st(this.sessions.decoder_model,e))}},j2=class extends fh{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"encoder_model"})}},V2=class extends fh{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"decoder_model"})}},_y=class extends ${},IR=class extends _y{},UR=class extends _y{},Nu=class extends ${},GR=class extends Nu{},jR=class extends Nu{async _call(e){return new dn(await super._call(e))}},VR=class extends Nu{async _call(e){return new Ne(await super._call(e))}},qR=class extends Nu{async _call(e){return new Ln(await super._call(e))}},gy=class extends ${},HR=class extends gy{},$R=class extends gy{},hh=class extends ${},QR=class extends hh{},WR=class extends hh{async _call(e){return new Ne(await super._call(e))}},YR=class extends hh{},ph=class extends ${},XR=class extends ph{},ZR=class extends ph{async _call(e){return new Ne(await super._call(e))}},KR=class extends ph{},mh=class extends ${},JR=class extends mh{},e6=class extends mh{async _call(e){return new Ne(await super._call(e))}},t6=class extends mh{},_h=class extends ${},n6=class extends _h{},a6=class extends _h{async _call(e){return new Ne(await super._call(e))}},r6=class extends _h{},yy=class extends ${},s6=class extends yy{},i6=class extends yy{async _call(e){return new Ne(await super._call(e))}},vy=class extends ${},o6=class extends vy{},l6=class extends vy{async _call(e){return new Ne(await super._call(e))}},Du=class extends ${},c6=class extends Du{},u6=class extends Du{async _call(e){return new dn(await super._call(e))}},d6=class extends Du{async _call(e){return new Ne(await super._call(e))}},f6=class extends Du{async _call(e){return new nn(await super._call(e))}},wy=class extends ${},h6=class extends wy{},p6=class extends wy{},by=class extends ${requires_attention_mask=!1;main_input_name="input_values";forward_params=["input_values","decoder_input_ids","past_key_values"]},m6=class extends by{},_6=class extends by{},Pl=class extends ${},g6=class extends Pl{},y6=class extends Pl{async _call(e){return new dn(await super._call(e))}},v6=class extends Pl{async _call(e){return new Ne(await super._call(e))}},w6=class extends Pl{async _call(e){return new nn(await super._call(e))}},b6=class extends Pl{async _call(e){return new Ln(await super._call(e))}},My=class extends ${},M6=class extends My{},x6=class extends My{},xy=class extends ${},T6=class extends xy{},S6=class extends xy{},q2=class extends ${},E6=class extends q2{forward_params=["input_ids","pixel_values","images_seq_mask","images_emb_mask","attention_mask","position_ids","past_key_values"];constructor(...e){super(...e),this._generation_mode="text"}async forward(e){const t=this._generation_mode??"text";let r;if(t==="text"||!e.past_key_values){const d=this.sessions.prepare_inputs_embeds,f=yn(e,d.inputNames);r=await st(d,f)}else{const d=this.sessions.gen_img_embeds,f=yn({image_ids:e.input_ids},d.inputNames);r=await st(d,f)}const s={...e,...r},o=await as(this,s),l=this.sessions[t==="text"?"lm_head":"gen_head"];if(!l)throw new Error(`Unable to find "${l}" generation head`);const u=await st(l,yn(o,l.inputNames));return{...r,...o,...u}}prepare_inputs_for_generation(e,t,r){const s=!!t.past_key_values;return r.guidance_scale!==null&&r.guidance_scale>1&&(s?t.input_ids=Lt([t.input_ids,t.input_ids],0):(t.input_ids=Lt([t.input_ids,M_(t.input_ids,BigInt(r.pad_token_id))],0),t.attention_mask=Lt([t.attention_mask,M_(t.attention_mask,0n)],0))),(s||!t.pixel_values)&&(t.pixel_values=On([0,0,3,384,384],1)),s&&(t.images_seq_mask=new me("bool",new Array(1).fill(!0).fill(!1,0,1),[1,1]),t.images_emb_mask=new me("bool",new Array(0).fill(!1),[1,1,0])),t}async generate(e){return this._generation_mode="text",super.generate(e)}async generate_images(e){this._generation_mode="image";const t=(e.inputs??e[this.main_input_name]).dims[1],s=(await super.generate(e)).slice(null,[t,null]),o=this.sessions.image_decode,{decoded_image:l}=await st(o,{generated_tokens:s}),u=l.add_(1).mul_(255/2).clamp_(0,255).to("uint8"),d=[];for(const f of u){const p=Xa.fromTensor(f);d.push(p)}return d}},Ty=class extends ${},A6=class extends Ty{},C6=class extends Ty{},H2=class extends ${forward_params=["input_ids","attention_mask","encoder_outputs","decoder_input_ids","decoder_attention_mask","past_key_values"];_apply_and_filter_by_delay_pattern_mask(e){const[t,r]=e.dims,s=this.config.decoder.num_codebooks,o=r-s;let l=0;for(let f=0;f0&&g<=o&&(e.data[l++]=e.data[f])}const u=Math.floor(t/s),d=l/(u*s);return new me(e.type,e.data.slice(0,l),[u,s,d])}prepare_inputs_for_generation(e,t,r){const s=BigInt(this.config.decoder.pad_token_id);let o=structuredClone(e);for(let l=0;l=u&&(o[l][u]=s);return r.guidance_scale!==null&&r.guidance_scale>1&&(o=o.concat(o)),$f(this,o,t)}async generate(e){const t=await super.generate(e),r=this._apply_and_filter_by_delay_pattern_mask(t).unsqueeze_(0),{audio_values:s}=await st(this.sessions.encodec_decode,{audio_codes:r});return s}},Sy=class extends ${},k6=class extends Sy{},O6=class extends Sy{},Il=class extends ${},z6=class extends Il{},L6=class extends Il{async _call(e){return new dn(await super._call(e))}},F6=class extends Il{async _call(e){return new Ne(await super._call(e))}},N6=class extends Il{async _call(e){return new nn(await super._call(e))}},D6=class extends Il{async _call(e){return new Ln(await super._call(e))}},$2=class extends ${},R6=class extends $2{},Ey=class extends ${},B6=class extends Ey{},P6=class extends Ey{},Ay=class extends ${},I6=class extends Ay{},U6=class extends Ay{},Cy=class extends ${},G6=class extends Cy{},j6=class extends Cy{},ky=class extends ${},V6=class extends ky{},q6=class extends ky{},Oy=class extends ${},H6=class extends Oy{},$6=class extends Oy{},zy=class extends ${},Q6=class extends zy{},W6=class extends zy{},Ly=class extends ${},Y6=class extends Ly{},X6=class extends Ly{},Fy=class extends ${},Z6=class extends Fy{},K6=class extends Fy{},J6=class extends Xi{},Q2=class extends ${},eB=class extends Q2{async _call(e){return new eo(await super._call(e))}},Ny=class extends ${},tB=class extends Ny{},nB=class extends Ny{},Dy=class extends ${},aB=class extends Dy{},rB=class extends Dy{},Ry=class extends ${},sB=class extends Ry{},iB=class extends Ry{},By=class extends ${},oB=class extends By{},lB=class extends By{},W2=class extends ${forward_params=["input_ids","inputs_embeds","attention_mask","position_ids","pixel_values","image_sizes","past_key_values"]},Y2=class extends W2{async forward({input_ids:e=null,attention_mask:t=null,pixel_values:r=null,image_sizes:s=null,position_ids:o=null,inputs_embeds:l=null,past_key_values:u=null,generation_config:d=null,logits_processor:f=null,...p}){if(!l){let g;if(r&&e.dims[1]!==1){if(!s)throw new Error("`image_sizes` must be provided when `pixel_values` is provided.");({image_features:g}=await st(this.sessions.vision_encoder,{pixel_values:r,image_sizes:s}))}else{const w=this.config.normalized_config.hidden_size;g=new me("float32",[],[0,w])}({inputs_embeds:l}=await st(this.sessions.prepare_inputs_embeds,{input_ids:e,image_features:g}))}return await as(this,{inputs_embeds:l,past_key_values:u,attention_mask:t,position_ids:o,generation_config:d,logits_processor:f},!1)}},Py=class extends ${},cB=class extends Py{},uB=class extends Py{async _call(e){return new Ne(await super._call(e))}},Iy=class extends ${},dB=class extends Iy{},fB=class extends Iy{async _call(e){return new nn(await super._call(e))}},Uy=class extends ${},hB=class extends Uy{},pB=class extends Uy{},Gy=class extends ${},mB=class extends Gy{},_B=class extends Gy{},X2=class extends ${forward_params=["input_ids","attention_mask","position_ids","past_key_values","pixel_values","image_grid_thw"]},jy=class extends X2{image_grid_thw_name="grid_thw";get_rope_index(e,t,r,s){const{vision_config:o,image_token_id:l,video_token_id:u,vision_start_token_id:d}=this.config,f=o.spatial_merge_size??2,p=[];if(t||r){let _=e.tolist();s||(s=fx(e));const g=s.tolist(),w=Array.from({length:3},C=>Array.from({length:e.dims[0]},L=>Array.from({length:e.dims[1]},D=>1))),b=t?t.tolist():[],S=r?r.tolist():[];let E=0,z=0;for(let C=0;C<_.length;++C){const L=_[C].filter((X,U)=>g[C][U]==1),R=L.reduce((X,U,Q)=>(U==d&&X.push(Q),X),[]).map(X=>L[X+1]),P=R.filter(X=>X==l).length,Y=R.filter(X=>X==u).length;let O=[],pe=0,le=P,fe=Y;for(let X=0;XRt>pe&&an==l),Q=L.findIndex((an,Rt)=>Rt>pe&&an==u),ee=le>0&&U!==-1?U:L.length+1,N=fe>0&&Q!==-1?Q:L.length+1;let ne,re,ge,Me;ee0?Ht(O.at(-1))[0]+1:0;O.push(Array.from({length:3*ke},(an,Rt)=>Ue+Rt%ke));const Tt=ke+Ue,He=Ee*ze*et,Ye=Array.from({length:He},(an,Rt)=>Tt+Math.floor(Rt/(ze*et))),bn=Array.from({length:He},(an,Rt)=>Tt+Math.floor(Rt/et)%ze),za=Array.from({length:He},(an,Rt)=>Tt+Rt%et);O.push([Ye,bn,za].flat()),pe=ne+He}if(pe0?Ht(O.at(-1))[0]+1:0,U=L.length-pe;O.push(Array.from({length:3*U},(Q,ee)=>X+ee%U))}const _e=O.reduce((X,U)=>X+U.length,0),de=new Array(_e);let W=0;for(let X=0;X<3;++X)for(let U=0;U_[E%_.length]),b=Array.from({length:g[0]},(S,E)=>Ht(_.subarray(g[1]*E,g[1]*(E+1)))[0]+1n+BigInt(g[1]));return[new me("int64",w,[3,...g]),new me("int64",b,[b.length,1])]}else{const[_,g]=e.dims,w=BigInt64Array.from({length:3*_*g},(b,S)=>BigInt(Math.floor(S%g/_)));return[new me("int64",w,[3,...e.dims]),hx([_,1])]}}async encode_image({pixel_values:e,image_grid_thw:t}){return(await st(this.sessions.vision_encoder,{pixel_values:e,[this.image_grid_thw_name]:t})).image_features}_merge_input_ids_with_image_features(e){return pg({image_token_id:this.config.image_token_id,...e})}prepare_inputs_for_generation(e,t,r){if(t.attention_mask&&!t.position_ids)if(!t.past_key_values)[t.position_ids,t.rope_deltas]=this.get_rope_index(t.input_ids,t.image_grid_thw,t.video_grid_thw,t.attention_mask);else{t.pixel_values=null;const s=t.past_key_values.get_seq_length();if(so+u);t.position_ids=Ji([l,l,l],0)}}return t}},Vy=class extends jy{},Z2=class extends jy{image_grid_thw_name="image_grid_thw"},qy=class extends Vy{image_grid_thw_name="image_grid_thw"},Hy=class extends ${},gB=class extends Hy{},yB=class extends Hy{},$y=class extends ${},vB=class extends $y{},wB=class extends $y{},Qy=class extends ${},bB=class extends Qy{},MB=class extends Qy{},Wy=class extends Z2{},Yy=class extends qy{},xB=class extends Wy{},K2=class extends Yy{},Xy=class extends Wy{},Zy=class extends Xy{},TB=class extends Xy{},J2=class extends Zy{},Ky=class extends ${},SB=class extends Ky{},EB=class extends Ky{async _call(e){return new Ne(await super._call(e))}},Jy=class extends ${},AB=class extends Jy{},CB=class extends Jy{async _call(e){return new eT(await super._call(e))}},eT=class extends zu{},Ul=class extends ${},kB=class extends Ul{},OB=class extends Ul{async _call(e){return new dn(await super._call(e))}},zB=class extends Ul{async _call(e){return new Ne(await super._call(e))}},LB=class extends Ul{async _call(e){return new nn(await super._call(e))}},FB=class extends Ul{async _call(e){return new Ln(await super._call(e))}},Gl=class extends ${},NB=class extends Gl{},DB=class extends Gl{async _call(e){return new dn(await super._call(e))}},RB=class extends Gl{async _call(e){return new Ne(await super._call(e))}},BB=class extends Gl{async _call(e){return new nn(await super._call(e))}},PB=class extends Gl{async _call(e){return new Ln(await super._call(e))}},ev=class extends ${},IB=class extends ev{},UB=class extends ev{async _call(e){return new tT(await super._call(e))}},tT=class extends zu{},nT=class extends tn{constructor({iou_scores:e,pred_masks:t}){super(),this.iou_scores=e,this.pred_masks=t}},aT=class extends ${},GB=class extends aT{async get_image_embeddings({pixel_values:e}){return await Js(this,{pixel_values:e})}async forward(e){!e.image_embeddings||!e.image_positional_embeddings?e={...e,...await this.get_image_embeddings(e)}:e={...e},e.input_labels??=ha(e.input_points.dims.slice(0,-1));const t={image_embeddings:e.image_embeddings,image_positional_embeddings:e.image_positional_embeddings};return e.input_points&&(t.input_points=e.input_points),e.input_labels&&(t.input_labels=e.input_labels),e.input_boxes&&(t.input_boxes=e.input_boxes),await st(this.sessions.prompt_encoder_mask_decoder,t)}async _call(e){return new nT(await super._call(e))}},rT=class extends tn{constructor({iou_scores:e,pred_masks:t,object_score_logits:r}){super(),this.iou_scores=e,this.pred_masks=t,this.object_score_logits=r}},sT=class extends ${},tv=class extends sT{async get_image_embeddings({pixel_values:e}){return await Js(this,{pixel_values:e})}async forward(e){const{num_feature_levels:t}=this.config.vision_config;if(Array.from({length:t},(l,u)=>`image_embeddings.${u}`).some(l=>!e[l])?e={...e,...await this.get_image_embeddings(e)}:e={...e},e.input_points){if(e.input_boxes&&e.input_boxes.dims[1]!==1)throw new Error("When both `input_points` and `input_boxes` are provided, the number of boxes per image must be 1.");const l=e.input_points.dims;e.input_labels??=ha(l.slice(0,-1)),e.input_boxes??=On([l[0],0,4],0)}else if(e.input_boxes){const l=e.input_boxes.dims;e.input_labels=On([l[0],l[1],0],-1n),e.input_points=On([l[0],1,0,2],0)}else throw new Error("At least one of `input_points` or `input_boxes` must be provided.");const s=this.sessions.prompt_encoder_mask_decoder,o=yn(e,s.inputNames);return await st(s,o)}async _call(e){return new rT(await super._call(e))}},jB=class extends tv{},VB=class extends tv{},gh=class extends ${},qB=class extends gh{},HB=class extends gh{},$B=class extends gh{},yh=class extends ${},QB=class extends yh{},WB=class extends yh{},YB=class extends yh{},nv=class extends ${},XB=class extends nv{},iT=class extends nv{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"text_model"})}},ZB=class extends to{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"vision_model"})}},av=class extends ${},KB=class extends av{},JB=class extends av{},vh=class extends ${main_input_name="input_values";forward_params=["input_values"]},e5=class extends vh{async encode(e){return await st(this.sessions.encoder_model,e)}async decode(e){return await st(this.sessions.decoder_model,e)}},oT=class extends vh{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"encoder_model"})}},lT=class extends vh{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"decoder_model"})}},wh=class extends ${},t5=class extends wh{},n5=class extends wh{},a5=class extends wh{async generate_speech(e,t,{threshold:r=.5,minlenratio:s=0,maxlenratio:o=20,vocoder:l=null}={}){const u={input_ids:e},{encoder_outputs:d,encoder_attention_mask:f}=await Js(this,u),p=d.dims[1]/this.config.reduction_factor,_=Math.floor(p*o),g=Math.floor(p*s),w=this.config.num_mel_bins;let b=[],S=null,E=null,z=0;for(;;){++z;const D=s2(!!E);let R;E?R=E.output_sequence_out:R=new me("float32",new Float32Array(w),[1,1,w]);let P={use_cache_branch:D,output_sequence:R,encoder_attention_mask:f,speaker_embeddings:t,encoder_hidden_states:d};this.addPastKeyValues(P,S),E=await st(this.sessions.decoder_model_merged,P),S=this.getPastKeyValues(E,S);const{prob:Y,spectrum:O}=E;if(b.push(O),z>=g&&(Array.from(Y.data).filter(pe=>pe>=r).length>0||z>=_))break}const C=Lt(b),{waveform:L}=await st(l.sessions.model,{spectrogram:C});return{spectrogram:C,waveform:L}}},r5=class extends ${main_input_name="spectrogram"},Ru=class extends ${},s5=class extends Ru{},i5=class extends Ru{async _call(e){return new dn(await super._call(e))}},o5=class extends Ru{async _call(e){return new Ne(await super._call(e))}},l5=class extends Ru{async _call(e){return new Ln(await super._call(e))}},rv=class extends ${},c5=class extends rv{},u5=class extends rv{},sv=class extends ${},d5=class extends sv{},f5=class extends sv{},cT=class extends ${},h5=class extends cT{},uT=class extends ${},dT=class extends uT{async generate_speech({input_ids:e,attention_mask:t,style:r,num_inference_steps:s=5,speed:o=1.05}){const{sampling_rate:l,chunk_compress_factor:u,base_chunk_size:d,latent_dim:f}=this.config,{last_hidden_state:p,durations:_}=await st(this.sessions.text_encoder,{input_ids:e,attention_mask:t,style:r}),g=_.div(o).mul_(l),w=d*u,b=g.data,S=Int32Array.from(b,le=>Math.ceil(le/w)),E=Math.max(...S),z=e.dims[0],C=new BigInt64Array(z*E);for(let le=0;lez*C,1);f[S]=new me(p,new _(E),g[S])}const w=new me(p,new _(d*x1),[1,d,x1]),b=t[Symbol.asyncIterator]?.()??t[Symbol.iterator]?.();if(!b)throw new Error("input_features must be iterable or async iterable");return{encoder_session:o,enc_kv_cache:f,enc_padding_cache:w,enc_past_seq_len:0,audio_embed_queue:[],audio_embed_total_tokens:0,audio_queue_offset:0,audio_consumed:0,stream_exhausted:!1,chunks_iter:b,text_hidden_size:r.hidden_size}}async function H5(e,t){const r=t.dims[2],s=Math.floor((V5+r-3)/2)+1,o=new me("int64",BigInt64Array.from({length:s},(_,g)=>BigInt(e.enc_past_seq_len+g)),[1,s]),l=e.enc_past_seq_len+s,u=ha([1,l]),{audio_embeds:d,present_padding_cache:f,...p}=await st(e.encoder_session,{input_features:t,attention_mask:u,position_ids:o,past_padding_cache:e.enc_padding_cache,...e.enc_kv_cache});e.enc_padding_cache.location==="gpu-buffer"&&e.enc_padding_cache.dispose(),e.enc_padding_cache=f;for(const _ in p)if(_.startsWith("present.")){const g=_.replace("present","past_key_values"),w=e.enc_kv_cache[g];w?.location==="gpu-buffer"&&w.dispose(),e.enc_kv_cache[g]=p[_]}return e.enc_past_seq_len=l,d}async function $5(e,t){for(;e.audio_embed_total_tokens0&&e.audio_embed_queue.length>0;){const u=e.audio_embed_queue[0],d=u.tokens-e.audio_queue_offset,f=Math.min(l,d),p=e.audio_queue_offset*e.text_hidden_size;for(let _=0;_=u.tokens&&(e.audio_embed_queue.shift(),e.audio_queue_offset=0)}e.audio_consumed+=r-l}var W5=class extends sh{constructor(e){super(),this._s=e}_call(e){const t=this._s.stream_exhausted&&this._s.audio_embed_queue.length===0;return e.map(()=>t)}},vT=class extends ${forward_params=["input_ids","attention_mask","position_ids","past_key_values"]},wT=class extends vT{async forward({input_ids:e,past_key_values:t,...r}){const s=e.dims[1],o=i_.get(this);o&&await $5(o,o.audio_consumed+s);const{inputs_embeds:l}=await st(this.sessions.embed_tokens,{input_ids:e});o&&Q5(o,l,s);const u={inputs_embeds:l,...r};this.addPastKeyValues(u,t);const d=this.sessions.decoder_model_merged,f=yn(u,d.inputNames);return await st(d,f)}async generate({input_features:e,stopping_criteria:t,...r}){if(!e)throw new Error("input_features (generator/iterable) must be provided");const s=q5(this,e);i_.set(this,s);const o=new n2;o.push(new W5(s)),t&&o.extend(t);try{return await super.generate({...r,stopping_criteria:o})}finally{s.enc_kv_cache.dispose(),i_.delete(this)}}},xh=class extends ${},Y5=class extends xh{},X5=class extends xh{async _call(e){return new eo(await super._call(e))}},Z5=class extends xh{async _call(e){return new Ne(await super._call(e))}},bT=class extends tn{constructor({logits:e,embeddings:t}){super(),this.logits=e,this.embeddings=t}},jl=class extends ${},K5=class extends jl{},J5=class extends jl{async _call(e){return new eo(await super._call(e))}},eP=class extends jl{async _call(e){return new Ne(await super._call(e))}},tP=class extends jl{async _call(e){return new bT(await super._call(e))}},nP=class extends jl{async _call(e){return new nn(await super._call(e))}},MT=class extends ${},aP=class extends MT{},rP=class extends t2{return_timestamps=null;return_token_timestamps=null;num_frames=null;alignment_heads=null;task=null;language=null;no_timestamps_token_id=null;prompt_ids=null;is_multilingual=null;lang_to_id=null;task_to_id=null;max_initial_timestamp_index=1},fv=class extends ${requires_attention_mask=!1;main_input_name="input_features";forward_params=["input_features","attention_mask","decoder_input_ids","decoder_attention_mask","past_key_values"]},sP=class extends fv{},xT=class extends fv{_prepare_generation_config(e,t){return super._prepare_generation_config(e,t,rP)}_retrieve_init_tokens(e){const t=[e.decoder_start_token_id];let r=e.language;const s=e.task;if(e.is_multilingual){r||(Re.warn("No language specified - defaulting to English (en)."),r="en");const l=`<|${yz(r)}|>`;t.push(e.lang_to_id[l]),t.push(e.task_to_id[s??"transcribe"])}else if(r||s)throw new Error("Cannot specify `task` or `language` for an English-only model. If the model is intended to be multilingual, pass `is_multilingual=true` to generate, or update the generation config.");return!e.return_timestamps&&e.no_timestamps_token_id&&t.at(-1)!==e.no_timestamps_token_id?t.push(e.no_timestamps_token_id):e.return_timestamps&&t.at(-1)===e.no_timestamps_token_id&&(Re.warn("<|notimestamps|> prompt token is removed from generation_config since `return_timestamps` is set to `true`."),t.pop()),t.filter(o=>o!=null)}async generate({inputs:e=null,generation_config:t=null,logits_processor:r=null,stopping_criteria:s=null,...o}){t=this._prepare_generation_config(t,o);const l=o.decoder_input_ids??this._retrieve_init_tokens(t);if(t.return_timestamps&&(r??=new A_,r.push(new VF(t,l))),t.begin_suppress_tokens&&(r??=new A_,r.push(new e2(t.begin_suppress_tokens,l.length))),t.return_token_timestamps){if(!t.alignment_heads)throw new Error("Model generation config has no `alignment_heads`, token-level timestamps not available. See https://gist.github.com/hollance/42e32852f24243b748ae6bc1f985b13a on how to add this property to the generation config.");t.task==="translate"&&Re.warn("Token-level timestamps may not be reliable for task 'translate'."),t.output_attentions=!0,t.return_dict_in_generate=!0}const u=await super.generate({inputs:e,generation_config:t,logits_processor:r,decoder_input_ids:l,...o});return t.return_token_timestamps&&(u.token_timestamps=this._extract_token_timestamps(u,t.alignment_heads,t.num_frames)),u}_extract_token_timestamps(e,t,r=null,s=.02){if(!e.cross_attentions)throw new Error("Model outputs must contain cross attentions to extract timestamps. This is most likely because the model was not exported with `output_attentions=True`.");r==null&&Re.warn("`num_frames` has not been set, meaning the entire audio will be analyzed. This may lead to inaccurate token-level timestamps for short audios (< 30 seconds).");let o=this.config.median_filter_width;o===void 0&&(Re.warn("Model config has no `median_filter_width`, using default value of 7."),o=7);const l=e.cross_attentions,u=Array.from({length:this.config.decoder_layers},(S,E)=>Lt(l.map(z=>z[E]),2)),d=Ji(t.map(([S,E])=>{if(S>=u.length)throw new Error(`Layer index ${S} is out of bounds for cross attentions (length ${u.length}).`);return r?u[S].slice(null,E,null,[0,r]):u[S].slice(null,E)})).transpose(1,0,2,3),[f,p]=xO(d,-2,0,!0),_=d.clone();for(let S=0;S<_.dims[0];++S){const E=_[S];for(let z=0;zz[Y+1]-z[Y]),D=Sr([1],L).map(P=>!!P),R=[];for(let P=0;Pe[0]);static BASE_IF_FAIL=!0},T1=class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING_NAMES]},OP=class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING_NAMES]},o_=class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING_NAMES]},zP=class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING_NAMES]},LP=class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_TEXT_TO_SPECTROGRAM_MAPPING_NAMES]},FP=class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_TEXT_TO_WAVEFORM_MAPPING_NAMES]},mv=class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_CAUSAL_LM_MAPPING_NAMES]},NP=class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_MASKED_LM_MAPPING_NAMES]},DP=class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_QUESTION_ANSWERING_MAPPING_NAMES]},RP=class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_VISION_2_SEQ_MAPPING_NAMES]},BP=class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING_NAMES]},S1=class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_IMAGE_SEGMENTATION_MAPPING_NAMES]},E1=class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING_NAMES]},A1=class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_UNIVERSAL_SEGMENTATION_MAPPING_NAMES]},PP=class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_OBJECT_DETECTION_MAPPING_NAMES]},IP=class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_ZERO_SHOT_OBJECT_DETECTION_MAPPING_NAMES]};(class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_MASK_GENERATION_MAPPING_NAMES]});var UP=class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_CTC_MAPPING_NAMES]},GP=class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING_NAMES]};(class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_AUDIO_XVECTOR_MAPPING_NAMES]});(class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_AUDIO_FRAME_CLASSIFICATION_MAPPING_NAMES]});var jP=class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING_NAMES]};(class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_IMAGE_MATTING_MAPPING_NAMES]});var VP=class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_IMAGE_TO_IMAGE_MAPPING_NAMES]},qP=class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_DEPTH_ESTIMATION_MAPPING_NAMES]};(class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_NORMAL_ESTIMATION_MAPPING_NAMES]});(class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_POSE_ESTIMATION_MAPPING_NAMES]});var HP=class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_IMAGE_FEATURE_EXTRACTION_MAPPING_NAMES]};(class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_IMAGE_TEXT_TO_TEXT_MAPPING_NAMES]});(class extends ht{static MODEL_CLASS_MAPPINGS=[ft.MODEL_FOR_AUDIO_TEXT_TO_TEXT_MAPPING_NAMES]});async function tr(e){return Array.isArray(e)||(e=[e]),await Promise.all(e.map(t=>Xa.read(t)))}async function Mu(e,t){return Array.isArray(e)||(e=[e]),await Promise.all(e.map(r=>typeof r=="string"||r instanceof URL?Az(r,t):r instanceof Float64Array?new Float32Array(r):r))}function k_(e,t){t&&(e=e.map(u=>u|0));const[r,s,o,l]=e;return{xmin:r,ymin:s,xmax:o,ymax:l}}var Vt=class extends Oa{constructor({task:e,model:t,tokenizer:r=null,processor:s=null}){super(),this.task=e,this.model=t,this.tokenizer=r,this.processor=s}async dispose(){await this.model.dispose()}},$P=class extends Vt{async _call(e,{top_k:t=1}={}){const r=this.tokenizer(e,{padding:!0,truncation:!0}),s=await this.model(r),{problem_type:o,id2label:l}=this.model.config,u=o==="multi_label_classification"?f=>f.sigmoid():f=>new me("float32",wn(f.data),f.dims),d=[];for(const f of s.logits){const p=u(f),_=await Ol(p,t),g=_[0].tolist(),b=_[1].tolist().map((S,E)=>({label:l?l[S]:`LABEL_${S}`,score:g[E]}));t===1?d.push(...b):d.push(b)}return Array.isArray(e)||t===1?d:d[0]}},QP=class extends Vt{async _call(e,{ignore_labels:t=["O"]}={}){const r=Array.isArray(e),s=this.tokenizer(r?e:[e],{padding:!0,truncation:!0}),l=(await this.model(s)).logits,u=this.model.config.id2label,d=[];for(let f=0;fP==_),E=l[w].tolist(),z=u[w].tolist();for(let P=1;PY==b[P])!==-1)&&(E[P]=-1/0,z[P]=-1/0);const C=wn(E).map((P,Y)=>[P,Y]),L=wn(z).map((P,Y)=>[P,Y]);C[0][0]=0,L[0][0]=0;const D=OA(C,L).filter(P=>P[0][1]<=P[1][1]).map(P=>[P[0][1],P[1][1],P[0][0]*P[1][0]]).sort((P,Y)=>Y[2]-P[2]),R=[];for(let P=0;PE==r);if(_===-1)throw Error(`Mask token (${s}) not found in text.`);const g=l[f][_],w=await Ol(new me("float32",wn(g.data),g.dims),t),b=w[0].tolist(),S=w[1].tolist();u.push(S.map((E,z)=>{const C=p.slice();return C[_]=E,{score:b[z],token:Number(E),token_str:this.tokenizer.decode([E]),sequence:this.tokenizer.decode(C,{skip_special_tokens:!0})}}))}return Array.isArray(e)?u:u[0]}},_v=class extends Vt{_key="generated_text";async _call(e,t={}){Array.isArray(e)||(e=[e]),this.model.config.prefix&&(e=e.map(d=>this.model.config.prefix+d));const r=this.model.config.task_specific_params;r&&r[this.task]&&r[this.task].prefix&&(e=e.map(d=>r[this.task].prefix+d));const s=this.tokenizer,o={padding:!0,truncation:!0};let l;this.task==="translation"&&"_build_translation_inputs"in s?l=s._build_translation_inputs(e,o,t):l=s(e,o);const u=await this.model.generate({...l,...t});return s.batch_decode(u,{skip_special_tokens:!0}).map(d=>({[this._key]:d}))}},XP=class extends _v{_key="summary_text"},ZP=class extends _v{_key="translation_text"};function C1(e){return Array.isArray(e)&&e.every(t=>"role"in t&&"content"in t)}var KP=class extends Vt{async _call(e,t={}){let r=!1,s=!1,o=t.add_special_tokens??(this.tokenizer.add_bos_token||this.tokenizer.add_eos_token)??!1,l=t.tokenizer_encode_kwargs,u;if(typeof e=="string")u=e=[e];else if(Array.isArray(e)&&e.every(b=>typeof b=="string"))r=!0,u=e;else{if(C1(e))e=[e];else if(Array.isArray(e)&&e.every(C1))r=!0;else throw new Error("Input must be a string, an array of strings, a Chat, or an array of Chats");s=!0,u=e.map(b=>this.tokenizer.apply_chat_template(b,{tokenize:!1,add_generation_prompt:!0,...l})),o=!1,l=void 0}const d=s?!1:t.return_full_text??!0;this.tokenizer.padding_side="left";const f=this.tokenizer(u,{add_special_tokens:o,padding:!0,truncation:!0,...l}),p=await this.model.generate({...f,...t}),_=this.tokenizer.batch_decode(p,{skip_special_tokens:!0});let g;!d&&f.input_ids.dims.at(-1)>0&&(g=this.tokenizer.batch_decode(f.input_ids,{skip_special_tokens:!0}).map(b=>b.length));const w=Array.from({length:e.length},b=>[]);for(let b=0;b<_.length;++b){const S=Math.floor(b/p.dims[0]*e.length);g&&(_[b]=_[b].slice(g[S])),w[S].push({generated_text:s?[...e[S],{role:"assistant",content:_[b]}]:_[b]})}return!r&&w.length===1?w[0]:w}},JP=class extends Vt{constructor(e){super(e),this.label2id=Object.fromEntries(Object.entries(this.model.config.label2id).map(([t,r])=>[t.toLowerCase(),r])),this.entailment_id=this.label2id.entailment,this.entailment_id===void 0&&(Re.warn("Could not find 'entailment' in label2id mapping. Using 2 as entailment_id."),this.entailment_id=2),this.contradiction_id=this.label2id.contradiction??this.label2id.not_entailment,this.contradiction_id===void 0&&(Re.warn("Could not find 'contradiction' in label2id mapping. Using 0 as contradiction_id."),this.contradiction_id=0)}async _call(e,t,{hypothesis_template:r="This example is {}.",multi_label:s=!1}={}){const o=Array.isArray(e);o||(e=[e]),Array.isArray(t)||(t=[t]);const l=t.map(f=>r.replace("{}",f)),u=s||t.length===1,d=[];for(const f of e){const p=[];for(const w of l){const b=this.tokenizer(f,{text_pair:w,padding:!0,truncation:!0}),S=await this.model(b);u?p.push([S.logits.data[this.contradiction_id],S.logits.data[this.entailment_id]]):p.push(S.logits.data[this.entailment_id])}const g=(u?p.map(w=>wn(w)[1]):wn(p)).map((w,b)=>[w,b]).sort((w,b)=>b[0]-w[0]);d.push({sequence:f,labels:g.map(w=>t[w[1]]),scores:g.map(w=>w[0])})}return o?d:d[0]}},e8=class extends Vt{async _call(e,{top_k:t=5}={}){const r=this.processor.feature_extractor.config.sampling_rate,s=await Mu(e,r),o=this.model.config.id2label,l=[];for(const u of s){const d=await this.processor(u),p=(await this.model(d)).logits[0],_=await Ol(new me("float32",wn(p.data),p.dims),t),g=_[0].tolist(),b=_[1].tolist().map((S,E)=>({label:o?o[S]:`LABEL_${S}`,score:g[E]}));l.push(b)}return Array.isArray(e)?l:l[0]}},t8=class extends Vt{async _call(e,t,{hypothesis_template:r="This is a sound of {}."}={}){const s=!Array.isArray(e);s&&(e=[e]);const o=t.map(p=>r.replace("{}",p)),l=this.tokenizer(o,{padding:!0,truncation:!0}),u=this.processor.feature_extractor.config.sampling_rate,d=await Mu(e,u),f=[];for(const p of d){const _=await this.processor(p),g=await this.model({...l,..._}),w=wn(g.logits_per_audio.data);f.push([...w].map((b,S)=>({score:b,label:t[S]})))}return s?f[0]:f}},n8=class extends Vt{async _call(e,t={}){switch(this.model.config.model_type){case"whisper":case"lite-whisper":return this._call_whisper(e,t);case"wav2vec2":case"wav2vec2-bert":case"unispeech":case"unispeech-sat":case"hubert":case"parakeet_ctc":return this._call_wav2vec2(e,t);case"moonshine":return this._call_moonshine(e,t);default:throw new Error(`AutomaticSpeechRecognitionPipeline does not support model type '${this.model.config.model_type}'.`)}}async _call_wav2vec2(e,t){t.language&&Re.warn('`language` parameter is not yet supported for `wav2vec2` models, defaulting to "English".'),t.task&&Re.warn('`task` parameter is not yet supported for `wav2vec2` models, defaulting to "transcribe".');const r=!Array.isArray(e),s=r?[e]:e,o=this.processor.feature_extractor.config.sampling_rate,l=await Mu(s,o),u=[];for(const d of l){const f=await this.processor(d),_=(await this.model(f)).logits[0],g=[];for(const b of _)g.push(Ht(b.data)[1]);const w=this.tokenizer.decode(g,{skip_special_tokens:!0}).trim();u.push({text:w})}return r?u[0]:u}async _call_whisper(e,t){const r=t.return_timestamps??!1,s=t.chunk_length_s??0,o=t.force_full_sequences??!1;let l=t.stride_length_s??null;const u={...t};r==="word"&&(u.return_token_timestamps=!0,u.return_timestamps=!1);const d=!Array.isArray(e),f=d?[e]:e,p=this.processor.feature_extractor.config,_=p.chunk_length/this.model.config.max_source_positions,g=p.hop_length,w=p.sampling_rate,b=await Mu(f,w),S=[];for(const E of b){let z=[];if(s>0){if(l===null)l=s/6;else if(s<=l)throw Error("`chunk_length_s` must be larger than `stride_length_s`.");const D=w*s,R=w*l,P=D-2*R;let Y=0;for(;;){const O=Y+D,pe=E.subarray(Y,O),le=await this.processor(pe),fe=Y===0,_e=O>=E.length;if(z.push({stride:[pe.length,fe?0:R,_e?0:R],input_features:le.input_features,is_last:_e}),_e)break;Y+=P}}else z=[{stride:[E.length,0,0],input_features:(await this.processor(E)).input_features,is_last:!0}];for(const D of z){u.num_frames=Math.floor(D.stride[0]/g);const R=await this.model.generate({inputs:D.input_features,...u});r==="word"?(D.tokens=R.sequences.tolist()[0],D.token_timestamps=R.token_timestamps.tolist()[0].map(P=>yu(P,2))):D.tokens=R[0].tolist(),D.stride=D.stride.map(P=>P/w)}const[C,L]=this.tokenizer._decode_asr(z,{time_precision:_,return_timestamps:r,force_full_sequences:o});S.push({text:C,...L})}return d?S[0]:S}async _call_moonshine(e,t){const r=!Array.isArray(e),s=r?[e]:e,o=this.processor.feature_extractor.config.sampling_rate,l=await Mu(s,o),u=[];for(const d of l){const f=await this.processor(d),p=Math.floor(d.length/o)*6,_=await this.model.generate({max_new_tokens:p,...t,...f}),g=this.processor.batch_decode(_,{skip_special_tokens:!0})[0];u.push({text:g})}return r?u[0]:u}},a8=class extends Vt{DEFAULT_VOCODER_ID="Xenova/speecht5_hifigan";constructor(e){super(e),this.vocoder=e.vocoder??null}async _prepare_speaker_embeddings(e,t){if((typeof e=="string"||e instanceof URL)&&(e=new Float32Array(await(await rt.fetch(e)).arrayBuffer())),e instanceof Float32Array)e=new me("float32",e,[e.length]);else if(!(e instanceof me))throw new Error("Speaker embeddings must be a `Tensor`, `Float32Array`, `string`, or `URL`.");if(t>1){if(e.dims[0]===1)e=e.repeat(t,1);else if(e.dims[0]!==t)throw new Error(`Expected speaker embeddings batch size to be 1 or ${t}, but got ${e.dims[0]}.`)}return e}_postprocess_waveform(e,t,r,s=null){const o=t.data,[l,u]=t.dims,d=s?s.data:null,f=[];for(let p=0;p({generated_text:p.trim()}));l.push(f)}return r?l:l[0]}},s8=class extends Vt{async _call(e,{top_k:t=5}={}){const r=await tr(e),{pixel_values:s}=await this.processor(r),o=await this.model({pixel_values:s}),{id2label:l}=this.model.config,u=[];for(const d of o.logits){const f=await Ol(new me("float32",wn(d.data),d.dims),t),p=f[0].tolist(),g=f[1].tolist().map((w,b)=>({label:l?l[w]:`LABEL_${w}`,score:p[b]}));u.push(g)}return Array.isArray(e)?u:u[0]}},k1={panoptic:"post_process_panoptic_segmentation",instance:"post_process_instance_segmentation",semantic:"post_process_semantic_segmentation"},tS=class extends Vt{async _call(e,{threshold:t=.5,mask_threshold:r=.5,overlap_mask_area_threshold:s=.8,label_ids_to_fuse:o=null,target_sizes:l=null,subtask:u=null}={}){if(Array.isArray(e)&&e.length!==1)throw Error("Image segmentation pipeline currently only supports a batch size of 1.");const f=await tr(e),p=f.map(C=>[C.height,C.width]),_=await this.processor(f),{inputNames:g,outputNames:w}=this.model.sessions.model;if(!g.includes("pixel_values")){if(g.length!==1)throw Error(`Expected a single input name, but got ${g.length} inputs: ${g}.`);const C=g[0];if(C in _)throw Error(`Input name ${C} already exists in the inputs.`);_[C]=_.pixel_values}const b=await this.model(_);let S=null;if(u!==null)S=k1[u];else if(this.processor.image_processor){for(const[C,L]of Object.entries(k1))if(L in this.processor.image_processor){S=this.processor.image_processor[L].bind(this.processor.image_processor),u=C;break}}const E=this.model.config.id2label,z=[];if(u)if(u==="panoptic"||u==="instance"){const C=S(b,t,r,s,o,l??p)[0],L=C.segmentation;for(const D of C.segments_info){const R=new Uint8ClampedArray(L.data.length);for(let Y=0;YO<-1e-5||O>1+1e-5)&&P.sigmoid_();const Y=await Xa.fromTensor(P.mul_(255).to("uint8")).resize(R[1],R[0]);z.push({label:null,score:null,mask:Y})}}return z}},i8=class extends tS{async _call(e,t={}){const r=await tr(e),s=await super._call(e,t),o=r.map((l,u)=>{const d=l.clone();return d.putAlpha(s[u].mask),d});return Array.isArray(e)?o:o[0]}},o8=class extends Vt{async _call(e,t,{hypothesis_template:r="This is a photo of {}"}={}){const s=Array.isArray(e),o=await tr(e),l=t.map(g=>r.replace("{}",g)),u=this.tokenizer(l,{padding:this.model.config.model_type==="siglip"?"max_length":!0,truncation:!0}),{pixel_values:d}=await this.processor(o),f=await this.model({...u,pixel_values:d}),p=this.model.config.model_type==="siglip"?g=>g.sigmoid().data:g=>wn(g.data),_=[];for(const g of f.logits_per_image){const b=[...p(g)].map((S,E)=>({score:S,label:t[E]}));b.sort((S,E)=>E.score-S.score),_.push(b)}return s?_:_[0]}},l8=class extends Vt{async _call(e,{threshold:t=.9,percentage:r=!1}={}){const s=Array.isArray(e);if(s&&e.length!==1)throw Error("Object detection pipeline currently only supports a batch size of 1.");const o=await tr(e),l=r?null:o.map(w=>[w.height,w.width]),{pixel_values:u,pixel_mask:d}=await this.processor(o),f=await this.model({pixel_values:u,pixel_mask:d}),p=this.processor.image_processor.post_process_object_detection(f,t,l),{id2label:_}=this.model.config,g=p.map(w=>w.boxes.map((b,S)=>({score:w.scores[S],label:_[w.classes[S]],box:k_(b,!r)})));return s?g:g[0]}},c8=class extends Vt{async _call(e,t,{threshold:r=.1,top_k:s=null,percentage:o=!1}={}){const l=Array.isArray(e),u=await tr(e),d=this.tokenizer(t,{padding:!0,truncation:!0}),f=await this.processor(u),p=[];for(let _=0;_({score:z.scores[L],label:z.labels[L],box:k_(C,!o)}))}else{const z=this.processor.image_processor.post_process_object_detection(S,r,w,!0)[0];E=z.boxes.map((C,L)=>({score:z.scores[L],label:t[z.classes[L]],box:k_(C,!o)}))}E.sort((z,C)=>C.score-z.score),s!==null&&(E=E.slice(0,s)),p.push(E)}return l?p:p[0]}},u8=class extends Vt{async _call(e,t,r={}){if(Array.isArray(e)){if(e.length!==1)throw Error("Document Question Answering pipeline currently only supports a batch size of 1.");e=e[0]}const s=(await tr(e))[0],{pixel_values:o}=await this.processor(s),l=`${t}`,u=this.tokenizer(l,{add_special_tokens:!1,padding:!0,truncation:!0}).input_ids,d=await this.model.generate({inputs:o,max_length:this.model.config.decoder.max_position_embeddings,decoder_input_ids:u,...r}),p=this.tokenizer.batch_decode(d)[0].match(/(.*?)<\/s_answer>/);let _=null;return p&&p.length>=2&&(_=p[1].trim()),[{answer:_}]}},d8=class extends Vt{async _call(e){const t=await tr(e),r=await this.processor(t),s=await this.model(r),o=[];for(const l of s.reconstruction){const u=l.squeeze().clamp_(0,1).mul_(255).round_().to("uint8");o.push(Xa.fromTensor(u))}return Array.isArray(e)?o:o[0]}},f8=class extends Vt{async _call(e){const t=await tr(e),r=await this.processor(t),{predicted_depth:s}=await this.model(r),o=[];for(let l=0;lEu.from_pretrained(e,{config:t,cache_dir:r,local_files_only:s,revision:o}))}async function _8(e,{config:t=null,dtype:r=null,device:s=null,model_file_name:o=null}={}){t=await m8(e,{config:t});const l=["config.json"],u=t["transformers.js_config"]??{},d=u.use_external_data_format,f="onnx",p=s??u.device;let _=r??u.dtype,g;const w=t.architectures||[];let b=!1;for(const C of w){const L=ns.get(C);if(L!==void 0){g=L,b=!0;break}}if(!b&&t.model_type){const C=ns.get(t.model_type);if(C!==void 0&&(g=C,b=!0),!b){for(const L of Object.values(yl))if(L.has(t.model_type)){g=ns.get(L.get(t.model_type)),b=!0;break}}}if(!b){const C=w.length>0?w.join(", "):"(none)";Re.warn(`[get_model_files] Architecture(s) not found in MODEL_TYPE_MAPPING: [${C}] for model type '${t.model_type}'. Falling back to EncoderOnly (single model.onnx file). If you encounter issues, please report at: ${nh}`),g=ve.EncoderOnly}const S=(C,L=null)=>{L=L??C;const D=lx(p,C),R=cx(_,C,D),P=b_[R]??"",Y=`${L}${P}.onnx`,O=`${f}/${Y}`;l.push(O);const pe=Zx(d,Y,C);for(const le of Kx(Y,pe)){const fe=`${f}/${le}`;l.push(fe)}},{sessions:E,optional_configs:z}=rN(g,t,{model_file_name:o});for(const[C,L]of Object.entries(E))S(C,L);if(z)for(const C of Object.values(z))l.push(C);return l}async function g8(e){if(!e)throw new Error("modelId is required");return(await th(e,Su,{})).exists?[Su]:[]}async function y8(e,{config:t=null,dtype:r=null,device:s=null,model_file_name:o=null,include_tokenizer:l=!0,include_processor:u=!0}={}){const d=await _8(e,{config:t,dtype:r,device:s,model_file_name:o});if(l){const f=await mx(e);d.push(...f)}if(u){const f=await g8(e);d.push(...f)}return d}async function v8(e,t,r={}){e=nS[e]??e;const s=Qf[e];if(!s)throw new Error(`Unsupported pipeline task: ${e}. Must be one of [${Object.keys(Qf).join(", ")}]`);const{type:o}=s;return y8(t,{...r,include_tokenizer:o!=="audio"&&o!=="image",include_processor:o!=="text"})}async function w8(e,t=null,{progress_callback:r=null,config:s=null,cache_dir:o=null,local_files_only:l=!1,revision:u="main",device:d=null,dtype:f=null,subfolder:p="onnx",use_external_data_format:_=null,model_file_name:g=null,session_options:w={}}={}){e=nS[e]??e;const b=Qf[e.split("_",1)[0]];if(!b)throw Error(`Unsupported pipeline: ${e}. Must be one of [${Object.keys(Qf)}]`);t||(t=b.default.model,Re.info(`No model specified. Using default model: "${t}".`),!f&&b.default.dtype&&(f=b.default.dtype));const S=await v8(e,t,{device:d,dtype:f});let E={};r&&(await Promise.all(S.map(async _e=>th(t,_e)))).forEach((_e,de)=>{_e.exists&&(E[S[de]]={loaded:0,total:_e.size??0})});const z={progress_callback:r?(fe=>{if(fe.status==="progress"){E[fe.file]={loaded:fe.loaded,total:fe.total};const _e=Object.values(E).reduce((q,se)=>q+se.loaded,0),de=Object.values(E).reduce((q,se)=>q+se.total,0),W=de>0?_e/de*100:0;r({status:"progress_total",name:fe.name,progress:W,loaded:_e,total:de,files:structuredClone(E)})}r(fe)}):void 0,config:s,cache_dir:o,local_files_only:l,revision:u,device:d,dtype:f,subfolder:p,use_external_data_format:_,model_file_name:g,session_options:w},C=S.includes("tokenizer.json"),L=S.includes("preprocessor_config.json"),D=b.model;let R;if(Array.isArray(D)){const fe=s??await Eu.from_pretrained(t,z),{model_type:_e}=fe,de=D.find(W=>W.supports(_e));if(!de)throw Error(`Unsupported model type "${_e}" for task "${e}". None of the candidate model classes support this type.`);R=de.from_pretrained(t,{...z,config:fe})}else R=D.from_pretrained(t,z);const[P,Y,O]=await Promise.all([C?mt.from_pretrained(t,z):null,L?zF.from_pretrained(t,z):null,R]),pe={task:e,model:O};P&&(pe.tokenizer=P),Y&&(pe.processor=Y),$i(r,{status:"ready",task:e,model:t});const le=b.pipeline;return new le(pe)}We.IS_PROCESS_AVAILABLE;const b8=3600,M8=540,x8=60,T8=2,S8=1,E8=.05,A8=.02,C8=.85,k8=.15,O8=.75,z8=.65,L8=.5,F8=.5,N8=new Set(["am","an","as","at","be","by","do","he","if","in","is","it","me","my","no","of","on","or","so","to","up","us","we","all","and","any","are","but","can","did","for","get","has","her","him","his","how","its","let","may","not","our","out","the","too","was","who","why","you","also","does","find","from","have","into","more","need","show","some","tell","that","them","this","want","what","when","will","with","your","about","looking","notes","search","where","which"]),O1=1.2,z1=.75,D8=40,R8=e=>`task: search result | query: ${e}`,B8=(e,t)=>`title: ${e} | text: ${t}`,P8="shreyask/embeddinggemma-300m-ONNX",L1="onnx-community/Qwen3-Reranker-0.6B-ONNX",F1="shreyask/qmd-query-expansion-1.7B-ONNX",I8=[{query:"API versioning best practices"},{query:"distributed consensus algorithms"},{query:"gradient descent optimization",intent:"training neural networks"},{query:"how did coffee spread around the world"},{query:"performance",intent:"web page load times"}];let Wf=null,hu=null,Yf=null,Lf=null,aS=-1,rS=-1,pu=null,Xf=null,Ff=null,mu=null;async function U8(){if(!navigator.gpu)return!1;try{return await navigator.gpu.requestAdapter()!==null}catch{return!1}}function gv(e,t){if(!t)return;let r=-1,s=null;return o=>{switch(o.status){case"initiate":r<0&&(r=0,t({name:e,status:"downloading",progress:0}));break;case"download":break;case"progress":{const l=o.progress/100;(l-r>=.02||l>=1)&&(r=l,s&&clearTimeout(s),s=setTimeout(()=>{t({name:e,status:"downloading",progress:l})},50));break}case"done":s&&clearTimeout(s),t({name:e,status:"loading",progress:1});break;case"ready":s&&clearTimeout(s),r=1,t({name:e,status:"ready",progress:1});break}}}async function G8(e){if(Wf)return;if(hu)return await hu;const t="embedding";return e?.({name:t,status:"pending",progress:0}),hu=(async()=>{try{Wf=await w8("feature-extraction",P8,{dtype:"q4",device:"webgpu",progress_callback:gv(t,e)}),e?.({name:t,status:"ready",progress:1})}catch(r){throw e?.({name:t,status:"error",progress:0,error:r instanceof Error?r.message:String(r)}),r}finally{hu=null}})(),await hu}async function j8(e){if(Yf)return;if(pu)return await pu;const t="reranker";return e?.({name:t,status:"pending",progress:0}),pu=(async()=>{try{const r=gv(t,e);Lf=await mt.from_pretrained(L1,{progress_callback:r});const s=Lf("yes",{add_special_tokens:!1}).input_ids.data,o=Lf("no",{add_special_tokens:!1}).input_ids.data;aS=Number(s[s.length-1]),rS=Number(o[o.length-1]),Yf=await mv.from_pretrained(L1,{dtype:"q4",device:"webgpu",progress_callback:r}),e?.({name:t,status:"ready",progress:1})}catch(r){throw e?.({name:t,status:"error",progress:0,error:r instanceof Error?r.message:String(r)}),r}finally{pu=null}})(),await pu}async function V8(e){if(Xf)return;if(mu)return await mu;const t="expansion";return e?.({name:t,status:"pending",progress:0}),mu=(async()=>{try{const r=gv(t,e);Ff=await mt.from_pretrained(F1,{progress_callback:r}),Ff.chat_template||(Ff.chat_template=`{% for message in messages %}<|im_start|>{{ message.role }} +{{ message.content }}<|im_end|> +{% endfor %}{% if add_generation_prompt %}<|im_start|>assistant +{% endif %}`),Xf=await mv.from_pretrained(F1,{dtype:"q4",device:"webgpu",progress_callback:r}),e?.({name:t,status:"ready",progress:1})}catch(r){throw e?.({name:t,status:"error",progress:0,error:r instanceof Error?r.message:String(r)}),r}finally{mu=null}})(),await mu}function q8(e,t,r){return Promise.race([e,new Promise((s,o)=>setTimeout(()=>o(new Error(r)),t))])}async function H8(e){if(!await U8()){const l="WebGPU is not available in this browser";for(const u of["embedding","reranker","expansion"])e?.({name:u,status:"error",progress:0,error:l});throw new Error(l)}const r=12e4,[s,o]=await Promise.allSettled([G8(e),j8(e),q8(V8(e),r,"Expansion model timed out").catch(l=>{e?.({name:"expansion",status:"error",progress:0,error:l instanceof Error?l.message:"Failed to load expansion model"})})]);if(s.status==="rejected")throw s.reason;if(o.status==="rejected")throw o.reason}function $8(){return Wf}function Q8(){return Yf}function W8(){return Lf}function Y8(){return{yes:aS,no:rS}}function X8(){return Xf}function Z8(){return Ff}function K8(){return Wf!==null&&Yf!==null}function J8(){return Xf!==null}const sS=800,eI=[[/\n#{1}(?!#)/g,100,"h1"],[/\n#{2}(?!#)/g,90,"h2"],[/\n#{3}(?!#)/g,80,"h3"],[/\n#{4}(?!#)/g,70,"h4"],[/\n#{5}(?!#)/g,60,"h5"],[/\n#{6}(?!#)/g,50,"h6"],[/\n```/g,80,"codeblock"],[/\n(?:---|\*\*\*|___)\s*\n/g,60,"hr"],[/\n\n+/g,20,"blank"],[/\n[-*]\s/g,5,"list"],[/\n\d+\.\s/g,5,"numlist"],[/\n/g,1,"newline"]];function tI(e){const t=new Map;for(const[r,s,o]of eI)for(const l of e.matchAll(r)){const u=l.index,d=t.get(u);(!d||s>d.score)&&t.set(u,{pos:u,score:s,type:o})}return[...t.values()].sort((r,s)=>r.pos-s.pos)}function nI(e){const t=[],r=/\n```/g;let s=!1,o=0;for(const l of e.matchAll(r))s?(t.push({start:o,end:l.index+l[0].length}),s=!1):(o=l.index,s=!0);return s&&t.push({start:o,end:e.length}),t}function aI(e,t){return t.some(r=>e>r.start&&et)break;if(aI(f.pos,o))continue;const _=(t-f.pos)/r,g=1-_*_*s,w=f.score*g;w>u&&(u=w,d=f.pos)}return d}function sI(e,t=b8,r=M8,s=sS){if(e.length<=t)return[{text:e,pos:0}];const o=tI(e),l=nI(e),u=[];let d=0;for(;dd&&g<=f&&(p=g)}if(p<=d&&(p=Math.min(d+t,e.length)),u.push({text:e.slice(d,p),pos:d}),p>=e.length)break;d=p-r;const _=u.at(-1).pos;d<=_&&(d=p)}return u}function l_(e,t){const r=e.match(/^#\s+(.+)$/m);if(r)return r[1].trim();const s=t.lastIndexOf(".");return s>0?t.slice(0,s):t}function iI(e){return sI(e.body).map((r,s)=>({docId:e.id,chunkIndex:s,text:r.text,startChar:r.pos,title:e.title}))}async function iS(e){const t=$8();if(!t)throw new Error("Embedding model not loaded");return(await t(e,{pooling:"mean",normalize:!0})).tolist().map(s=>new Float32Array(s))}async function oI(e){return iS(e.map(R8))}async function lI(e){return iS(e.map(t=>B8(t.title,t.text)))}function N1(e){return e.toLowerCase().split(/[^a-z0-9]+/).filter(t=>t.length>=2)}class cI{chunks;avgDocLength;docLengths;termFreqs;docFreqs;N;constructor(t){this.chunks=t,this.N=t.length,this.docLengths=[],this.termFreqs=new Map,this.docFreqs=new Map;let r=0;for(let s=0;s0?r/this.N:0}search(t,r=20){const s=N1(t);if(s.length===0||this.N===0)return[];const o=new Float64Array(this.N);for(const u of s){const d=this.docFreqs.get(u);if(d===void 0)continue;const f=this.termFreqs.get(u),p=Math.log((this.N-d+.5)/(d+.5)+1);for(let _=0;_0&&l.push({chunk:this.chunks[u],score:o[u],source:"bm25"});return l.sort((u,d)=>d.score-u.score),l.slice(0,r)}}const uI=(e,t)=>t?`/no_think Expand this search query: ${e} +Query intent: ${t}`:`/no_think Expand this search query: ${e}`,dI=128,fI=.7,hI=20,pI=.8;function mI(e,t,r){const s=e.trim().split(` +`),o=_=>_.toLowerCase().replace(/[^a-z0-9\s]/g," ").split(/\s+/).filter(Boolean),l=[...o(t),...r?o(r):[]],u=_=>l.length===0||l.some(g=>_.toLowerCase().includes(g));let d="";const f=[];let p="";for(const _ of s){const g=_.trim();if(g.toLowerCase().startsWith("lex:")){const w=g.slice(4).trim();w&&u(w)&&(d=w)}else if(g.toLowerCase().startsWith("vec:")){const w=g.slice(4).trim();w&&u(w)&&f.push(w)}else if(g.toLowerCase().startsWith("hyde:")){const w=g.slice(5).trim();w&&u(w)&&(p=w)}}return{lex:d||t,vec:f.length>0?f:[t],hyde:p||`Information about ${t}`}}function _I(e,t){const r=Math.min(hI,t),s=new Array(r).fill(-1),o=new Array(r).fill(Number.NEGATIVE_INFINITY);let l=0;for(let u=0;u0&&d>o[f-1];)fMath.exp(S-o)),u=l.reduce((S,E)=>S+E,0),d=l.map(S=>S/u);let f=0,p=d.length;for(let S=0;S=pI){p=S+1;break}const _=r.slice(0,p),g=d.slice(0,p),w=g.reduce((S,E)=>S+E,0);let b=Math.random()*w;for(let S=0;S<_.length;S++)if(b-=g[S],b<=0)return _[S];return _[_.length-1]}async function yI(e,t,r,s){const o=[...t],l=[];for(let u=0;u=4&&l[l.length-1]===l[l.length-2]&&l[l.length-2]===l[l.length-3]&&l[l.length-3]===l[l.length-4]){o.splice(-4);break}if(l.length>=10&&l.length%5===0){const E=s.decode(l,{skip_special_tokens:!0});if(E.includes(` + +`)||E.toLowerCase().includes("hyde:")&&E.split(` +`).length>=3)break}}return o}async function vI(e,t){const r=X8(),s=Z8();if(!r||!s)throw new Error("Expansion model not loaded");const o=uI(e,t),l=s.apply_chat_template([{role:"user",content:o}],{add_generation_prompt:!0,tokenize:!1}),u=s(l,{return_tensor:!0}),d=Array.from(u.input_ids.data),f=s,p=f.model?.config?.eos_token_id??f.eos_token_id,_=Array.isArray(p)?p[0]??151643:p??151643,w=(await yI(r,d,_,s)).slice(d.length);let b=s.decode(w,{skip_special_tokens:!0});return b=b.replace(/[\s\S]*?<\/think>/g,"").trim(),mI(b,e,t)}function wI(e,t){let r=0,s=0,o=0;for(let l=0;l({chunk:o,score:wI(e,o.embedding),source:"vector"}));return s.sort((o,l)=>l.score-o.score),s.slice(0,r)}function MI(e,t=D8){const r=new Map;e.forEach((o,l)=>{const u=l<2?T8:S8;o.results.forEach((d,f)=>{const p=f+1,_=u/(x8+p),g=r.get(d.chunk.docId);g?(g.totalScore+=_,g.topRank=Math.min(g.topRank,p),g.contributions.push({source:d.source,queryType:o.queryType,query:o.query,rank:p,weight:u,rrfContribution:_}),d.score>g.bestChunkScore&&(g.bestChunk=d.chunk.text,g.bestChunkScore=d.score)):r.set(d.chunk.docId,{docId:d.chunk.docId,filepath:d.chunk.docId,title:d.chunk.title,bestChunk:d.chunk.text,bestChunkScore:d.score,totalScore:_,topRank:p,contributions:[{source:d.source,queryType:o.queryType,query:o.query,rank:p,weight:u,rrfContribution:_}]})})});for(const o of r.values())o.topRank===1&&(o.totalScore+=E8),o.topRank<=2&&(o.totalScore+=A8);return Array.from(r.values()).sort((o,l)=>l.totalScore-o.totalScore).slice(0,t).map(o=>({docId:o.docId,filepath:o.filepath,title:o.title,bestChunk:o.bestChunk,score:o.totalScore,contributions:o.contributions}))}const xI='Judge whether the Document meets the requirements based on the Query and the Instruct provided. Note that the answer can only be "yes" or "no".',TI="Given a web search query, retrieve relevant passages that answer the query";function SI(e,t,r){return`<|im_start|>system +${xI}<|im_end|> +<|im_start|>user +: ${TI} + +: ${e} + +: ${t}<|im_end|> +<|im_start|>assistant + + + +`}async function EI(e,t){const r=Q8(),s=W8(),o=Y8();if(!r||!s)throw new Error("Reranker model not loaded");const l=SI(e,t),u=s(l,{truncation:!0,max_length:2048}),d=await r(u),[,f,p]=d.logits.dims.map(Number),_=(f-1)*p,g=d.logits.data,w=g[_+o.yes],b=g[_+o.no],S=Math.max(w,b),E=Math.exp(w-S),z=Math.exp(b-S);return E/(E+z)}const AI=.9,CI=1,kI=1e-6;function OI(e){return e<=3?O8:e<=10?z8:L8}function zI(e,t){const r=e.map((l,u)=>{const d=u+1,f=OI(d),p=1/d,_=t.get(l.docId)??0;let g=f*p+(1-f)*_;if(d>3&&_u.blendedScore-l.blendedScore);const s=new Set,o=[];for(const l of r)s.has(l.docId)||(s.add(l.docId),o.push({filepath:l.filepath,title:l.title,bestChunk:l.bestChunk,score:l.blendedScore,docId:l.docId}));return o}const c_=20;function D1(e){return e<=0?0:e/(1+e)}function oS(e){const t=D1(e[0]?.score??0),r=D1(e[1]?.score??0);return e.length>0&&t>=C8&&t-r>=k8}function LI(e){return[...new Set(e.toLowerCase().split(/\s+/).map(t=>t.replace(/^[^a-z0-9]+|[^a-z0-9]+$/g,"")).filter(t=>t.length>2))]}function FI(e){const t=new Map;for(const r of e){const s=t.get(r.docId);s?s.push(r):t.set(r.docId,[r])}for(const r of t.values())r.sort((s,o)=>s.chunkIndex-o.chunkIndex);return t}function NI(e){return e.toLowerCase().split(/\s+/).map(t=>t.replace(/^[^\p{L}\p{N}]+|[^\p{L}\p{N}]+$/gu,"")).filter(t=>t.length>1&&!N8.has(t))}function DI(e,t,r){if(t.length===0)return"";const s=LI(e),o=r?NI(r):[];if(s.length===0&&o.length===0)return t[0].text;let l=t[0],u=-1;for(const d of t){const f=d.text.toLowerCase();let p=s.reduce((_,g)=>_+(f.includes(g)?1:0),0);for(const _ of o)f.includes(_)&&(p+=F8);p>u&&(l=d,u=p)}return l.text}function RI(e,t,r,s){const o=FI(r);return t.map(l=>{const u=DI(e,o.get(l.docId)??[],s);return{...l,bestChunk:u||l.bestChunk}})}async function BI(e,t,r){if(!r&&oS(t))return{lex:"",vec:[],hyde:"",source:"strong-signal",note:"Strong BM25 match detected, so expansion was skipped."};if(!J8())return{lex:"",vec:[],hyde:"",source:"fallback",note:"Expansion model unavailable, so the pipeline used the original query only."};try{return{...await vI(e,r),source:"model"}}catch(s){return{lex:"",vec:[],hyde:"",source:"fallback",note:`Expansion failed, so the pipeline used the original query only. ${String(s)}`}}}async function*PI(e){const{query:t,intent:r,embeddedChunks:s,bm25Index:o}=e,l=o.search(t,c_),u=!r&&oS(l);yield{stage:"expansion",status:"running"};const d=await BI(t,l,r);yield{stage:"expansion",status:"done",data:d},yield{stage:"search",status:"running"};const f=[],p=[...l],_=[];if(l.length>0&&f.push({results:l,queryType:"original",query:t}),!u&&d.lex.trim()){const D=o.search(d.lex,c_);D.length>0&&(p.push(...D),f.push({results:D,queryType:"lex",query:d.lex}))}const g=[{text:t,queryType:"original"}];if(!u){for(const D of d.vec)D.trim()&&g.push({text:D,queryType:"vec"});d.hyde.trim()&&g.push({text:d.hyde,queryType:"hyde"})}const w=await oI(g.map(D=>D.text));for(let D=0;D({...D,rerankScore:z.get(D.docId)??0,blendedScore:0}));yield{stage:"rerank",status:"done",data:{before:S,after:C}},yield{stage:"blend",status:"done",data:{finalResults:zI(S,z)}}}function II({onSearch:e,disabled:t}){const[r,s]=ut.useState(""),[o,l]=ut.useState(""),[u,d]=ut.useState(!1);function f(_){_.preventDefault();const g=r.trim();g&&e(g,o.trim()||void 0)}function p(_,g){s(_),g?(l(g),d(!0)):(l(""),d(!1)),e(_,g)}return I.jsxs("div",{style:{marginBottom:"1.5rem"},children:[I.jsxs("form",{onSubmit:f,style:{display:"flex",gap:"0.5rem"},children:[I.jsxs("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:"0.35rem"},children:[I.jsx("input",{type:"text",value:r,onChange:_=>s(_.target.value),disabled:t,placeholder:t?"Loading browser models…":"Enter a search query…",style:{width:"100%",padding:"0.6rem 0.9rem",fontSize:"1rem",fontFamily:"system-ui, -apple-system, sans-serif",border:"1px solid var(--input-border)",borderRadius:"6px",background:t?"var(--bg-section)":"var(--bg-input)",color:t?"var(--text-muted)":"var(--text)",outline:"none",transition:"border-color 0.15s"},onFocus:_=>{t||(_.target.style.borderColor="#4285F4")},onBlur:_=>{_.target.style.borderColor=""}}),u&&I.jsx("input",{type:"text",value:o,onChange:_=>l(_.target.value),disabled:t,placeholder:"Intent: background context to disambiguate (e.g. 'web page load times')",style:{width:"100%",padding:"0.45rem 0.9rem",fontSize:"0.85rem",fontFamily:"system-ui, -apple-system, sans-serif",border:"1px solid var(--input-border)",borderRadius:"6px",background:t?"var(--bg-section)":"var(--bg-input)",color:t?"var(--text-muted)":"var(--text-secondary)",outline:"none",transition:"border-color 0.15s"},onFocus:_=>{t||(_.target.style.borderColor="#f57f17")},onBlur:_=>{_.target.style.borderColor=""}})]}),I.jsx("button",{type:"submit",disabled:t||!r.trim(),style:{padding:"0.6rem 1.2rem",fontSize:"1rem",fontFamily:"system-ui, -apple-system, sans-serif",background:t||!r.trim()?"var(--border)":"#4285F4",color:"#fff",border:"none",borderRadius:"6px",cursor:t||!r.trim()?"not-allowed":"pointer",transition:"background 0.15s",fontWeight:600,alignSelf:"flex-start",height:"2.5rem"},children:"Search"})]}),I.jsxs("div",{style:{marginTop:"0.5rem",display:"flex",gap:"0.4rem",flexWrap:"wrap",alignItems:"center"},children:[!u&&I.jsx("button",{onClick:()=>d(!0),disabled:t,style:{padding:"0.2rem 0.5rem",fontSize:"0.75rem",fontFamily:"system-ui, -apple-system, sans-serif",background:"none",color:t?"var(--text-muted)":"#f57f17",border:"1px solid #f57f1740",borderRadius:"4px",cursor:t?"not-allowed":"pointer"},children:"+ Add intent"}),u&&!o.trim()&&I.jsx("button",{onClick:()=>{d(!1),l("")},style:{padding:"0.2rem 0.5rem",fontSize:"0.75rem",fontFamily:"system-ui, -apple-system, sans-serif",background:"none",color:"var(--text-muted)",border:"1px solid var(--border)",borderRadius:"4px",cursor:"pointer"},children:"Hide intent"}),I.jsx("span",{style:{fontSize:"0.8rem",color:"var(--text-secondary)",fontFamily:"system-ui, -apple-system, sans-serif"},children:"Demo queries:"}),I8.map(_=>I.jsxs("button",{onClick:()=>p(_.query,_.intent),disabled:t,title:_.intent?`Intent: ${_.intent}`:void 0,style:{padding:"0.25rem 0.6rem",fontSize:"0.8rem",fontFamily:"system-ui, -apple-system, sans-serif",background:"var(--example-bg)",color:t?"var(--text-muted)":"#4285F4",border:`1px solid ${_.intent?"#f57f1740":"var(--example-border)"}`,borderRadius:"4px",cursor:t?"not-allowed":"pointer"},children:[_.query,_.intent?" *":""]},_.query))]})]})}const UI={pending:"#9e9e9e",downloading:"#1976d2",loading:"#f9a825",ready:"#388e3c",error:"#d32f2f"},GI={pending:"Pending",downloading:"Downloading",loading:"Loading",ready:"Ready",error:"Error"};function jI({progress:e,color:t}){return I.jsx("div",{style:{height:"4px",background:"var(--border)",borderRadius:"2px",overflow:"hidden",marginTop:"4px"},children:I.jsx("div",{style:{height:"100%",width:`${Math.round(e*100)}%`,background:t,borderRadius:"2px",transition:"width 0.3s ease"}})})}function VI({model:e}){const t=UI[e.status],r=e.status==="downloading"||e.status==="loading";return I.jsxs("div",{style:{padding:"0.5rem 0.75rem",background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:"6px",marginBottom:"0.4rem"},children:[I.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[I.jsx("span",{style:{fontFamily:"'SF Mono', 'Fira Code', 'Cascadia Code', monospace",fontSize:"0.78rem",color:"var(--text)"},children:e.name}),I.jsxs("span",{style:{fontSize:"0.72rem",fontFamily:"system-ui, -apple-system, sans-serif",fontWeight:600,color:t,display:"flex",alignItems:"center",gap:"0.3rem"},children:[e.status==="ready"&&I.jsx("span",{style:{fontSize:"0.85rem"},children:"✓"}),e.status==="error"&&I.jsx("span",{style:{fontSize:"0.85rem"},children:"✗"}),GI[e.status],r&&I.jsxs("span",{style:{color:"var(--text-secondary)",fontWeight:400},children:[Math.round(e.progress*100),"%"]})]})]}),r&&I.jsx(jI,{progress:e.progress,color:t}),e.status==="error"&&e.error&&I.jsx("div",{style:{marginTop:"4px",fontSize:"0.72rem",color:"#d32f2f",fontFamily:"system-ui, -apple-system, sans-serif"},children:e.error})]})}function qI({models:e}){const t=e.filter(u=>u.name!=="expansion"),r=e.find(u=>u.name==="expansion"),s=t.length>0&&t.every(u=>u.status==="ready"),o=r?.status==="ready",l=r?.status==="error";return I.jsxs("div",{style:{padding:"1rem",background:"var(--bg-section)",border:"1px solid var(--border)",borderRadius:"8px",marginBottom:"1.5rem"},children:[I.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"0.6rem"},children:[I.jsx("h3",{style:{margin:0,fontSize:"0.85rem",fontFamily:"system-ui, -apple-system, sans-serif",fontWeight:600,color:"var(--text-secondary)",textTransform:"uppercase",letterSpacing:"0.05em"},children:"Models"}),s&&I.jsx("span",{style:{fontSize:"0.75rem",fontFamily:"system-ui, -apple-system, sans-serif",color:"#388e3c",fontWeight:600},children:"Search ready"})]}),!s&&I.jsx("p",{style:{margin:"0 0 0.5rem",fontSize:"0.75rem",fontFamily:"system-ui, -apple-system, sans-serif",color:"var(--text-secondary)",lineHeight:1.4},children:"First load downloads several GB of model weights. Subsequent visits use the browser cache."}),s&&!o&&!l&&I.jsx("p",{style:{margin:"0 0 0.5rem",fontSize:"0.75rem",fontFamily:"system-ui, -apple-system, sans-serif",color:"var(--text-secondary)",lineHeight:1.4},children:"Embedding and reranker ready. Compact expansion model (single-file download) loading..."}),s&&l&&I.jsx("p",{style:{margin:"0 0 0.5rem",fontSize:"0.75rem",fontFamily:"system-ui, -apple-system, sans-serif",color:"var(--text-secondary)",lineHeight:1.4},children:"Expansion model unavailable. Search uses the original query directly."}),e.map(u=>I.jsx(VI,{model:u},u.name)),e.length===0&&I.jsx("div",{style:{color:"var(--text-muted)",fontSize:"0.85rem",fontFamily:"system-ui, -apple-system, sans-serif"},children:"No models configured."})]})}function HI({color:e}){return I.jsx("span",{style:{display:"inline-block",width:"14px",height:"14px",border:"2px solid var(--border)",borderTopColor:e,borderRadius:"50%",animation:"spin 0.7s linear infinite"}})}function u_({label:e,content:t}){const r=Array.isArray(t)?t.join(` +`):t;return I.jsxs("div",{style:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:"5px",padding:"0.4rem 0.6rem",marginBottom:"0.3rem"},children:[I.jsx("div",{style:{fontSize:"0.65rem",fontWeight:700,fontFamily:"system-ui, -apple-system, sans-serif",color:"var(--text-muted)",textTransform:"uppercase",letterSpacing:"0.06em",marginBottom:"0.2rem"},children:e}),I.jsx("div",{style:{fontFamily:"'SF Mono', 'Fira Code', 'Cascadia Code', monospace",fontSize:"0.68rem",color:"var(--text)",lineHeight:1.5,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:r})]})}function $I({data:e}){const t=(e.lex.trim()?1:0)+e.vec.length+(e.hyde.trim()?1:0);return t===0?null:I.jsxs("div",{style:{fontSize:"0.72rem",fontFamily:"system-ui, -apple-system, sans-serif",color:"var(--text-secondary)",marginBottom:"0.4rem",padding:"0.3rem 0.5rem",background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:"5px"},children:["Expanded into ",I.jsx("strong",{style:{color:"var(--text)"},children:t})," search variant",t!==1?"s":""]})}function QI({state:e,accent:t,info:r}){const s=e.status==="idle",o=e.status==="running",l=e.status==="done",u=e.status==="error";return I.jsxs("div",{style:{opacity:s?.45:1,transition:"opacity 0.3s"},children:[I.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.4rem",marginBottom:"0.75rem",paddingBottom:"0.5rem",borderBottom:"1px solid var(--stage-divider)"},children:[I.jsx("span",{style:{width:"3px",height:"14px",borderRadius:"2px",background:t,flexShrink:0}}),I.jsx("h3",{style:{margin:0,fontSize:"0.78rem",fontFamily:"system-ui, -apple-system, sans-serif",fontWeight:700,color:t,textTransform:"uppercase",letterSpacing:"0.05em"},children:"Query Expansion"}),o&&I.jsx(HI,{color:t}),I.jsx(Th,{text:r})]}),s&&I.jsx("p",{style:{fontFamily:"system-ui, -apple-system, sans-serif",fontSize:"0.75rem",color:"var(--text-muted)",margin:0},children:"Awaiting query..."}),o&&I.jsx("p",{style:{fontFamily:"system-ui, -apple-system, sans-serif",fontSize:"0.75rem",color:"var(--text-secondary)",margin:0,fontStyle:"italic"},children:"Generating..."}),u&&I.jsx("div",{style:{padding:"0.45rem 0.6rem",background:"var(--error-bg)",border:"1px solid var(--error-border)",borderRadius:"5px",fontFamily:"system-ui, -apple-system, sans-serif",fontSize:"0.75rem",color:"#c62828"},children:e.error}),l&&e.data&&I.jsxs(I.Fragment,{children:[e.data.note&&I.jsx("div",{style:{padding:"0.35rem 0.5rem",marginBottom:"0.3rem",background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:"5px",fontFamily:"system-ui, -apple-system, sans-serif",fontSize:"0.72rem",color:"var(--text-secondary)",lineHeight:1.45},children:e.data.note}),I.jsx($I,{data:e.data}),e.data.lex.trim()&&I.jsx(u_,{label:"Lex",content:e.data.lex}),e.data.vec.length>0&&I.jsx(u_,{label:"Vec",content:e.data.vec}),e.data.hyde.trim()&&I.jsx(u_,{label:"HyDE",content:e.data.hyde})]})]})}function WI({color:e}){return I.jsx("span",{style:{display:"inline-block",width:"14px",height:"14px",border:"2px solid var(--border)",borderTopColor:e,borderRadius:"50%",animation:"spin 0.7s linear infinite"}})}function YI({score:e,source:t}){const r=t==="bm25"?e.toFixed(2):(e*100).toFixed(1)+"%";return I.jsx("span",{style:{padding:"0.1rem 0.35rem",borderRadius:"4px",background:"var(--bg-card)",border:"1px solid var(--border)",color:"var(--text-secondary)",fontFamily:"'SF Mono', 'Fira Code', 'Cascadia Code', monospace",fontSize:"0.65rem",fontWeight:700,flexShrink:0},children:r})}function XI({hit:e}){const[t,r]=ut.useState(!1);return I.jsxs("div",{onClick:()=>r(s=>!s),style:{padding:"0.4rem 0.6rem",background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:"5px",marginBottom:"0.25rem",cursor:"pointer",fontSize:"0.75rem"},onMouseEnter:s=>{s.currentTarget.style.boxShadow="0 1px 5px var(--shadow)"},onMouseLeave:s=>{s.currentTarget.style.boxShadow="none"},children:[I.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.4rem"},children:[I.jsx("span",{style:{flex:1,fontFamily:"system-ui, -apple-system, sans-serif",fontWeight:600,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:"0.73rem"},children:e.chunk.title}),I.jsx(YI,{score:e.score,source:e.source}),I.jsx("span",{style:{color:"var(--text-muted)",fontSize:"0.6rem"},children:t?"▲":"▼"})]}),t&&I.jsx("div",{style:{marginTop:"0.35rem",fontFamily:"'SF Mono', 'Fira Code', 'Cascadia Code', monospace",fontSize:"0.65rem",color:"var(--text-secondary)",lineHeight:1.5,whiteSpace:"pre-wrap",wordBreak:"break-word",borderTop:"1px solid var(--border-light)",paddingTop:"0.35rem"},children:e.chunk.text})]})}function ZI(e){const t=new Map;for(const r of e){const s=t.get(r.chunk.docId);(!s||r.score>s.score)&&t.set(r.chunk.docId,r)}return[...t.values()].sort((r,s)=>s.score-r.score)}function R1({label:e,hits:t,color:r,dedupe:s}){const o=s?ZI(t):t,l=o.slice(0,5);return I.jsxs("div",{style:{marginBottom:"0.7rem"},children:[I.jsxs("div",{style:{fontSize:"0.68rem",fontWeight:700,fontFamily:"system-ui, -apple-system, sans-serif",color:r,textTransform:"uppercase",letterSpacing:"0.06em",marginBottom:"0.35rem"},children:[e," ",I.jsxs("span",{style:{color:"var(--text-muted)",fontWeight:400},children:["(",o.length," docs)"]})]}),l.map((u,d)=>I.jsx(XI,{hit:u},`${u.chunk.docId}-${u.chunk.chunkIndex}-${d}`)),o.length>5&&I.jsxs("div",{style:{fontSize:"0.68rem",color:"var(--text-muted)",fontFamily:"system-ui, -apple-system, sans-serif",paddingLeft:"0.25rem"},children:["+",o.length-5," more"]})]})}function KI({state:e,accent:t,info:r}){const s=e.status==="idle",o=e.status==="running",l=e.status==="done";return I.jsxs("div",{style:{opacity:s?.45:1,transition:"opacity 0.3s"},children:[I.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.4rem",marginBottom:"0.75rem",paddingBottom:"0.5rem",borderBottom:"1px solid var(--stage-divider)"},children:[I.jsx("span",{style:{width:"3px",height:"14px",borderRadius:"2px",background:t,flexShrink:0}}),I.jsx("h3",{style:{margin:0,fontSize:"0.78rem",fontFamily:"system-ui, -apple-system, sans-serif",fontWeight:700,color:t,textTransform:"uppercase",letterSpacing:"0.05em"},children:"Parallel Search"}),o&&I.jsx(WI,{color:t}),I.jsx(Th,{text:r})]}),s&&I.jsx("p",{style:{fontFamily:"system-ui, -apple-system, sans-serif",fontSize:"0.75rem",color:"var(--text-muted)",margin:0},children:"Awaiting expansion..."}),o&&I.jsx("p",{style:{fontFamily:"system-ui, -apple-system, sans-serif",fontSize:"0.75rem",color:"var(--text-secondary)",margin:0,fontStyle:"italic"},children:"Running vector + BM25 search..."}),l&&e.data&&I.jsxs(I.Fragment,{children:[I.jsx(R1,{label:"Vector Search",hits:e.data.vectorHits,color:"#00695c",dedupe:!0}),I.jsx(R1,{label:"BM25 Search",hits:e.data.bm25Hits,color:"#5c6bc0",dedupe:!0})]})]})}function JI({color:e}){return I.jsx("span",{style:{display:"inline-block",width:"14px",height:"14px",border:"2px solid var(--border)",borderTopColor:e,borderRadius:"50%",animation:"spin 0.7s linear infinite"}})}function B1({label:e,color:t,badge:r}){return I.jsxs("div",{style:{fontSize:"0.68rem",fontWeight:700,fontFamily:"system-ui, -apple-system, sans-serif",color:t,textTransform:"uppercase",letterSpacing:"0.06em",marginBottom:"0.35rem",display:"flex",alignItems:"center",gap:"0.4rem"},children:[e,r&&I.jsx("span",{style:{color:"var(--text-muted)",fontWeight:400,fontSize:"0.65rem"},children:r})]})}function eU({result:e,rank:t}){return I.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.4rem",padding:"0.3rem 0.5rem",background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:"5px",marginBottom:"0.2rem",fontSize:"0.72rem"},children:[I.jsxs("span",{style:{fontFamily:"'SF Mono', 'Fira Code', 'Cascadia Code', monospace",color:"var(--text-muted)",fontSize:"0.65rem",minWidth:"18px"},children:["#",t]}),I.jsx("span",{style:{flex:1,fontFamily:"system-ui, -apple-system, sans-serif",color:"var(--text)",fontWeight:500,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.title}),I.jsx("span",{style:{fontFamily:"'SF Mono', 'Fira Code', 'Cascadia Code', monospace",fontSize:"0.65rem",color:"#2e7d32",fontWeight:700,flexShrink:0},children:e.score.toFixed(4)})]})}function d_({label:e,rank:t,color:r}){return I.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:"0.15rem",fontFamily:"'SF Mono', 'Fira Code', 'Cascadia Code', monospace",fontSize:"0.6rem",color:r,fontWeight:600},children:[I.jsx("span",{style:{color:"var(--text-muted)",fontWeight:400,fontSize:"0.55rem"},children:e}),"#",t]})}function tU({before:e,after:t,finalResults:r}){const o=e.slice(0,5),l=(r??[]).slice(0,5),u=[...t].sort((b,S)=>S.rerankScore-b.rerankScore),d=new Map([...e.map(b=>[b.docId,b.title]),...t.map(b=>[b.docId,b.title]),...l.map(b=>[b.docId,b.title])]),f=new Map(e.map((b,S)=>[b.docId,S+1])),p=new Map(u.map((b,S)=>[b.docId,S+1])),_=new Map((r??[]).map((b,S)=>[b.docId,S+1])),g=new Map;for(const b of[...o,...l]){const S=g.get(b.docId);g.set(b.docId,{docId:b.docId,title:d.get(b.docId)??b.title,rrfRank:f.get(b.docId),rerankRank:p.get(b.docId),finalRank:_.get(b.docId),...S})}const w=[...g.values()].sort((b,S)=>(b.finalRank??Number.POSITIVE_INFINITY)-(S.finalRank??Number.POSITIVE_INFINITY)||(b.rrfRank??Number.POSITIVE_INFINITY)-(S.rrfRank??Number.POSITIVE_INFINITY)||(b.rerankRank??Number.POSITIVE_INFINITY)-(S.rerankRank??Number.POSITIVE_INFINITY)).slice(0,5);return I.jsxs("div",{children:[w.map(b=>I.jsxs("div",{style:{padding:"0.3rem 0.5rem",background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:"5px",marginBottom:"0.2rem",fontSize:"0.7rem"},children:[I.jsx("div",{style:{fontFamily:"system-ui, -apple-system, sans-serif",color:"var(--text)",fontWeight:500,marginBottom:"0.2rem"},children:b.title}),I.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.3rem"},children:[b.rrfRank!==void 0&&I.jsxs(I.Fragment,{children:[I.jsx(d_,{label:"RRF",rank:b.rrfRank,color:"var(--text-secondary)"}),I.jsx("span",{style:{color:"var(--text-muted)",fontSize:"0.55rem"},children:"→"})]}),b.rerankRank!==void 0&&I.jsxs(I.Fragment,{children:[I.jsx(d_,{label:"Reranker",rank:b.rerankRank,color:"#f57f17"}),I.jsx("span",{style:{color:"var(--text-muted)",fontSize:"0.55rem"},children:"→"})]}),b.finalRank!==void 0?I.jsx(d_,{label:"Final",rank:b.finalRank,color:"#1b5e20"}):I.jsx("span",{style:{fontSize:"0.55rem",color:"var(--text-muted)",fontStyle:"italic"},children:"blending..."})]})]},b.docId)),I.jsx("div",{style:{fontSize:"0.62rem",fontFamily:"system-ui, -apple-system, sans-serif",color:"var(--text-muted)",marginTop:"0.3rem",fontStyle:"italic",lineHeight:1.4},children:"Final ranking blends reranker scores with retrieval position."})]})}function nU({state:e,accent:t,info:r}){const s=e.rrf.status==="done",o=e.rerank.status==="running",l=e.rerank.status==="done",u=!s&&!o&&!l;return I.jsxs("div",{style:{opacity:u?.45:1,transition:"opacity 0.3s"},children:[I.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.4rem",marginBottom:"0.75rem",paddingBottom:"0.5rem",borderBottom:"1px solid var(--stage-divider)"},children:[I.jsx("span",{style:{width:"3px",height:"14px",borderRadius:"2px",background:t,flexShrink:0}}),I.jsx("h3",{style:{margin:0,fontSize:"0.78rem",fontFamily:"system-ui, -apple-system, sans-serif",fontWeight:700,color:t,textTransform:"uppercase",letterSpacing:"0.05em"},children:"Fusion & Reranking"}),o&&I.jsx(JI,{color:t}),I.jsx(Th,{text:r})]}),u&&I.jsx("p",{style:{fontFamily:"system-ui, -apple-system, sans-serif",fontSize:"0.75rem",color:"var(--text-muted)",margin:0},children:"Awaiting search..."}),s&&e.rrf.data&&I.jsxs("div",{style:{marginBottom:"0.7rem"},children:[I.jsx(B1,{label:"RRF Fusion",color:"#558b2f",badge:`(${e.rrf.data.merged.length} docs)`}),e.rrf.data.merged.slice(0,5).map((d,f)=>I.jsx(eU,{result:d,rank:f+1},d.docId)),e.rrf.data.merged.length>5&&I.jsxs("div",{style:{fontSize:"0.68rem",color:"var(--text-muted)",fontFamily:"system-ui, -apple-system, sans-serif",paddingLeft:"0.25rem"},children:["+",e.rrf.data.merged.length-5," more"]})]}),o&&!l&&I.jsx("p",{style:{fontFamily:"system-ui, -apple-system, sans-serif",fontSize:"0.75rem",color:"var(--text-secondary)",margin:"0 0 0.6rem 0",fontStyle:"italic"},children:"Reranking with cross-encoder..."}),l&&e.rerank.data&&I.jsxs("div",{children:[I.jsx(B1,{label:"Rank Journey",color:"#33691e"}),I.jsx(tU,{before:e.rerank.data.before,after:e.rerank.data.after,finalResults:e.finalResults})]})]})}function aU({score:e}){const t=Math.round(e*100),r=t>=80?"var(--score-good-bg)":t>=50?"var(--score-mid-bg)":"var(--score-bad-bg)",s=t>=80?"#2e7d32":t>=50?"#f57f17":"var(--text-secondary)";return I.jsxs("span",{style:{display:"inline-block",padding:"0.15rem 0.45rem",borderRadius:"4px",background:r,color:s,fontFamily:"'SF Mono', 'Fira Code', 'Cascadia Code', monospace",fontSize:"0.72rem",fontWeight:700},children:[t,"%"]})}function rU({title:e,score:t,snippet:r,expanded:s,onToggle:o}){const[l,u]=ut.useState(!1),d=s!==void 0,f=d?s:l;function p(){d?o?.():u(g=>!g)}const _=r.length>200?r.slice(0,200)+"…":r;return I.jsxs("div",{onClick:p,style:{padding:"0.65rem 0.85rem",background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:"6px",marginBottom:"0.4rem",cursor:"pointer",transition:"box-shadow 0.15s"},onMouseEnter:g=>{g.currentTarget.style.boxShadow="0 2px 8px var(--shadow)"},onMouseLeave:g=>{g.currentTarget.style.boxShadow="none"},children:[I.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"0.5rem"},children:[I.jsx("span",{style:{fontFamily:"system-ui, -apple-system, sans-serif",fontSize:"0.85rem",fontWeight:600,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},children:e}),I.jsx(aU,{score:t}),I.jsx("span",{style:{color:"var(--text-muted)",fontSize:"0.75rem",flexShrink:0},children:f?"▲":"▼"})]}),I.jsx("div",{style:{marginTop:"0.4rem",fontFamily:"'SF Mono', 'Fira Code', 'Cascadia Code', monospace",fontSize:"0.72rem",color:"var(--text-secondary)",lineHeight:1.5,whiteSpace:f?"pre-wrap":"nowrap",overflow:"hidden",textOverflow:f?"unset":"ellipsis"},children:f?r:_})]})}const O_=[{label:"User Query",accent:"#5c6bc0",info:"The original search query you typed. This is the starting point for the entire pipeline."},{label:"Query Expansion",accent:"#f57f17",info:"A compact 1.7B LLM (cached locally) generates lexical keywords (lex), semantic sentences (vec), and a hypothetical document (HyDE). When BM25 already has a strong exact match, expansion is skipped."},{label:"Parallel Search",accent:"#00897b",info:"The original query always runs through BM25 and vector search. Lex variants route only to BM25, while vec and HyDE variants route to vector search, mirroring qmd's typed retrieval flow."},{label:"Fusion & Reranking",accent:"#388e3c",info:"Results are merged via Reciprocal Rank Fusion (RRF), then a cross-encoder reranker (Qwen3-Reranker-0.6B) re-scores the top candidates. Final ranking blends reranker confidence with RRF position."}];function Th({text:e}){const[t,r]=ut.useState(!1);return I.jsxs("span",{style:{position:"relative",display:"inline-flex",alignItems:"center"},onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),onClick:s=>{s.stopPropagation(),r(o=>!o)},children:[I.jsx("span",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"16px",height:"16px",borderRadius:"50%",border:"1px solid var(--border)",background:"var(--bg-card)",color:"var(--text-muted)",fontSize:"0.62rem",fontWeight:700,cursor:"help",flexShrink:0,lineHeight:1},children:"?"}),t&&I.jsx("div",{style:{position:"absolute",top:"100%",left:"50%",transform:"translateX(-50%)",marginTop:"6px",padding:"0.6rem 0.75rem",background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:"6px",boxShadow:"0 4px 16px var(--shadow)",fontSize:"0.72rem",fontFamily:"system-ui, -apple-system, sans-serif",fontWeight:400,color:"var(--text)",lineHeight:1.55,width:"220px",zIndex:100,textTransform:"none",letterSpacing:"normal"},children:e})]})}function sU({label:e,accent:t,info:r}){return I.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.4rem",marginBottom:"0.75rem",paddingBottom:"0.5rem",borderBottom:"1px solid var(--stage-divider)"},children:[I.jsx("span",{style:{width:"3px",height:"14px",borderRadius:"2px",background:t,flexShrink:0}}),I.jsx("h3",{style:{margin:0,fontSize:"0.78rem",fontFamily:"system-ui, -apple-system, sans-serif",fontWeight:700,color:t,textTransform:"uppercase",letterSpacing:"0.05em"},children:e}),I.jsx(Th,{text:r})]})}function iU(){return I.jsx("div",{style:{display:"flex",alignItems:"center",gap:"0.3rem",padding:"0.55rem 0.85rem",borderBottom:"1px solid var(--pipeline-border)",flexWrap:"wrap"},children:O_.map((e,t)=>I.jsxs(ut.Fragment,{children:[t>0&&I.jsx("span",{style:{color:"var(--text-muted)",fontSize:"0.7rem",opacity:.5,margin:"0 0.15rem"},children:"›"}),I.jsx("span",{style:{fontSize:"0.68rem",fontWeight:700,fontFamily:"system-ui, -apple-system, sans-serif",color:e.accent,textTransform:"uppercase",letterSpacing:"0.04em"},children:e.label})]},e.label))})}function oU({query:e,intent:t,accent:r,info:s}){return I.jsxs("div",{children:[I.jsx(sU,{label:"User Query",accent:r,info:s}),e?I.jsxs(I.Fragment,{children:[I.jsx("div",{style:{padding:"0.55rem 0.75rem",background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:"6px",fontFamily:"'SF Mono', 'Fira Code', 'Cascadia Code', monospace",fontSize:"0.82rem",color:"var(--text)",wordBreak:"break-word",lineHeight:1.5},children:e}),t&&I.jsxs("div",{style:{marginTop:"0.35rem",padding:"0.4rem 0.65rem",background:"var(--bg-card)",border:"1px solid #f57f1730",borderRadius:"6px",fontSize:"0.72rem",lineHeight:1.4},children:[I.jsx("span",{style:{fontFamily:"system-ui, -apple-system, sans-serif",fontWeight:700,color:"#f57f17",textTransform:"uppercase",fontSize:"0.62rem",letterSpacing:"0.04em"},children:"Intent"}),I.jsx("div",{style:{fontFamily:"'SF Mono', 'Fira Code', 'Cascadia Code', monospace",color:"var(--text-secondary)",marginTop:"0.15rem"},children:t})]})]}):I.jsx("p",{style:{fontFamily:"system-ui, -apple-system, sans-serif",fontSize:"0.8rem",color:"var(--text-muted)",margin:0},children:"No query yet."})]})}function lU({results:e}){return I.jsxs("div",{style:{padding:"0.85rem",borderTop:"1px solid var(--pipeline-border)"},children:[I.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.4rem",marginBottom:"0.6rem"},children:[I.jsx("span",{style:{width:"3px",height:"14px",borderRadius:"2px",background:"#1b5e20",flexShrink:0}}),I.jsx("h3",{style:{margin:0,fontSize:"0.82rem",fontFamily:"system-ui, -apple-system, sans-serif",fontWeight:700,color:"#1b5e20",textTransform:"uppercase",letterSpacing:"0.05em"},children:"Final Results"}),I.jsxs("span",{style:{fontSize:"0.68rem",fontFamily:"system-ui, -apple-system, sans-serif",color:"var(--text-muted)"},children:["(",e.length," docs)"]})]}),I.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(280px, 1fr))",gap:"0.4rem"},children:e.slice(0,5).map(t=>I.jsx(rU,{title:t.title,score:t.score,snippet:t.bestChunk},t.docId))})]})}function cU({state:e,query:t,intent:r}){const s=e.blend.status==="done",o=e.blend.data?.finalResults;return I.jsxs(I.Fragment,{children:[I.jsx("style",{children:` + @keyframes spin { + to { transform: rotate(360deg); } + } + `}),I.jsxs("div",{style:{borderRadius:"10px",overflow:"hidden",border:"1px solid var(--pipeline-border)",background:"var(--pipeline-bg)",boxShadow:"0 2px 12px var(--shadow)",marginBottom:"1.5rem"},children:[I.jsx(iU,{}),I.jsx("div",{className:"pipeline-grid",style:{display:"grid",gridTemplateColumns:"minmax(100px, 0.6fr) minmax(110px, 0.7fr) minmax(200px, 1.5fr) minmax(200px, 1.5fr)",gap:"0",alignItems:"start"},children:O_.map((l,u)=>I.jsxs("div",{className:"pipeline-cell",style:{padding:"0.85rem",borderTop:`3px solid ${l.accent}`,borderRight:u0&&I.jsx(lU,{results:o})]}),I.jsx("style",{children:` + @media (max-width: 768px) { + .pipeline-grid { + grid-template-columns: 1fr !important; + } + + .pipeline-cell { + border-right: none !important; + border-bottom: 1px solid var(--pipeline-border); + } + + .pipeline-cell:last-child { + border-bottom: none; + } + } + `})]})}function uU({onClose:e,onConfirm:t}){const[r,s]=ut.useState(""),[o,l]=ut.useState("pasted-document.md");function u(){const d=r.trim();d&&(t(d,o.trim()||"pasted-document.md"),e())}return I.jsx("div",{style:{position:"fixed",inset:0,background:"var(--modal-bg)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e3},onClick:d=>{d.target===d.currentTarget&&e()},children:I.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:"10px",padding:"1.5rem",width:"90%",maxWidth:"560px",boxShadow:"0 8px 32px var(--shadow)",fontFamily:"system-ui, -apple-system, sans-serif",border:"1px solid var(--border)"},children:[I.jsx("h3",{style:{margin:"0 0 1rem 0",fontSize:"1rem",color:"var(--text)"},children:"Paste Document"}),I.jsxs("div",{style:{marginBottom:"0.75rem"},children:[I.jsx("label",{style:{fontSize:"0.8rem",color:"var(--text-secondary)",display:"block",marginBottom:"0.3rem"},children:"Filename"}),I.jsx("input",{type:"text",value:o,onChange:d=>l(d.target.value),style:{width:"100%",padding:"0.45rem 0.65rem",fontSize:"0.85rem",fontFamily:"'SF Mono', 'Fira Code', 'Cascadia Code', monospace",border:"1px solid var(--input-border)",borderRadius:"5px",boxSizing:"border-box",background:"var(--bg-input)",color:"var(--text)"}})]}),I.jsxs("div",{style:{marginBottom:"1rem"},children:[I.jsx("label",{style:{fontSize:"0.8rem",color:"var(--text-secondary)",display:"block",marginBottom:"0.3rem"},children:"Content (Markdown or plain text)"}),I.jsx("textarea",{value:r,onChange:d=>s(d.target.value),rows:12,placeholder:"Paste your document content here\\u2026",style:{width:"100%",padding:"0.5rem 0.65rem",fontSize:"0.8rem",fontFamily:"'SF Mono', 'Fira Code', 'Cascadia Code', monospace",border:"1px solid var(--input-border)",borderRadius:"5px",resize:"vertical",boxSizing:"border-box",lineHeight:1.5,background:"var(--bg-input)",color:"var(--text)"}})]}),I.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:"0.5rem"},children:[I.jsx("button",{onClick:e,style:{padding:"0.5rem 1rem",fontSize:"0.85rem",fontFamily:"system-ui, -apple-system, sans-serif",background:"var(--bg-section)",color:"var(--text-secondary)",border:"1px solid var(--border)",borderRadius:"5px",cursor:"pointer"},children:"Cancel"}),I.jsx("button",{onClick:u,disabled:!r.trim(),style:{padding:"0.5rem 1rem",fontSize:"0.85rem",fontFamily:"system-ui, -apple-system, sans-serif",background:r.trim()?"#4285F4":"var(--border)",color:"#fff",border:"none",borderRadius:"5px",cursor:r.trim()?"pointer":"not-allowed",fontWeight:600},children:"Add Document"})]})]})})}function dU({documents:e,onUpload:t,onPaste:r}){const s=ut.useRef(null),[o,l]=ut.useState(!1);function u(d){const f=d.target.files;f&&f.length>0&&t(f),d.target.value=""}return I.jsxs("div",{style:{padding:"1rem",background:"var(--bg-section)",border:"1px solid var(--border)",borderRadius:"8px",marginBottom:"1.5rem",fontFamily:"system-ui, -apple-system, sans-serif"},children:[I.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"0.6rem"},children:[I.jsxs("h3",{style:{margin:0,fontSize:"0.85rem",fontWeight:600,color:"var(--text-secondary)",textTransform:"uppercase",letterSpacing:"0.05em"},children:["Documents",I.jsxs("span",{style:{marginLeft:"0.5rem",fontSize:"0.75rem",fontWeight:400,color:"var(--text-muted)"},children:["(",e.length,")"]})]}),I.jsxs("div",{style:{display:"flex",gap:"0.4rem"},children:[I.jsx("button",{onClick:()=>s.current?.click(),style:{padding:"0.3rem 0.7rem",fontSize:"0.78rem",background:"var(--bg-card)",color:"#4285F4",border:"1px solid #4285F4",borderRadius:"5px",cursor:"pointer",fontFamily:"system-ui, -apple-system, sans-serif",fontWeight:500},children:"Upload"}),I.jsx("button",{onClick:()=>l(!0),style:{padding:"0.3rem 0.7rem",fontSize:"0.78rem",background:"var(--bg-card)",color:"#34a853",border:"1px solid #34a853",borderRadius:"5px",cursor:"pointer",fontFamily:"system-ui, -apple-system, sans-serif",fontWeight:500},children:"Paste"})]})]}),I.jsx("input",{ref:s,type:"file",accept:".md,.txt",multiple:!0,style:{display:"none"},onChange:u}),e.length===0?I.jsx("p",{style:{fontSize:"0.82rem",color:"var(--text-muted)",margin:0},children:"No documents loaded. Upload .md or .txt files, or paste text. They stay local to this browser session."}):I.jsx("div",{style:{maxHeight:"180px",overflowY:"auto"},children:e.map(d=>I.jsxs("div",{style:{display:"flex",alignItems:"center",padding:"0.35rem 0.6rem",background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:"5px",marginBottom:"0.3rem",gap:"0.5rem"},children:[I.jsx("span",{style:{fontSize:"0.75rem",color:"var(--text-muted)",flexShrink:0},children:"▪"}),I.jsx("span",{style:{flex:1,fontSize:"0.8rem",fontWeight:500,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:d.title}),I.jsx("span",{style:{fontFamily:"'SF Mono', 'Fira Code', 'Cascadia Code', monospace",fontSize:"0.68rem",color:"var(--text-muted)",flexShrink:0},children:d.filepath})]},d.id))}),o&&I.jsx(uU,{onClose:()=>l(!1),onConfirm:r})]})}const fU=["api-design-principles.md","distributed-systems-overview.md","machine-learning-primer.md","history-of-coffee.md"],hU=[{title:"Faithful to qmd",body:"BM25, vector search, query expansion, RRF fusion, and reranking follow the upstream retrieval recipe instead of flattening everything into one model call."},{title:"Browser-native bits",body:"Transformers.js and WebGPU run the pipeline locally, cache model weights in the browser, and expose each stage so the search system stays inspectable."}],P1=8,I1={expansion:{status:"idle"},search:{status:"idle"},rrf:{status:"idle"},rerank:{status:"idle"},blend:{status:"idle"}};function f_(e,t){const r=new Map(e.map(s=>[s.id,s]));for(const s of t)r.set(s.id,s);return[...r.values()]}function pU({title:e,body:t}){return I.jsxs("div",{style:{padding:"0.9rem 1rem",background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:"10px",boxShadow:"0 2px 12px var(--shadow)"},children:[I.jsx("div",{style:{marginBottom:"0.35rem",fontSize:"0.74rem",fontWeight:700,letterSpacing:"0.08em",textTransform:"uppercase",color:"#4285F4"},children:e}),I.jsx("p",{style:{margin:0,fontSize:"0.84rem",lineHeight:1.6,color:"var(--text-secondary)"},children:t})]})}function mU(){const[e,t]=ut.useState([{name:"embedding",status:"pending",progress:0},{name:"reranker",status:"pending",progress:0},{name:"expansion",status:"pending",progress:0}]),[r,s]=ut.useState([]),[o,l]=ut.useState([]),[u,d]=ut.useState([]),[f,p]=ut.useState(null),[_,g]=ut.useState(I1),[w,b]=ut.useState(!1),[S,E]=ut.useState({completed:0,total:0}),[z,C]=ut.useState(""),[L,D]=ut.useState(),[R,P]=ut.useState(()=>document.documentElement.getAttribute("data-theme")==="dark"),Y=ut.useRef(0),O=e.find(W=>W.name==="embedding")?.status==="ready";ut.useEffect(()=>{H8(W=>{t(q=>q.map(se=>se.name===W.name?W:se))}).catch(console.error)},[]),ut.useEffect(()=>{async function W(){try{const q=await Promise.all(fU.map(async se=>{const X=await(await fetch(`/eval-docs/${se}`)).text(),U=l_(X,se);return{id:se,title:U,body:X,filepath:se}}));s(se=>f_(se,q))}catch(q){console.error(q)}}W()},[]),ut.useEffect(()=>{if(r.length===0){l([]),d([]),p(null),b(!1),E({completed:0,total:0});return}const W=r.flatMap(q=>iI(q));l(W),p(new cI(W))},[r]),ut.useEffect(()=>{let W=!1;if(!O||o.length===0)return d([]),b(!1),E({completed:0,total:o.length}),()=>{W=!0};async function q(){b(!0),E({completed:0,total:o.length});const se=[];for(let V=0;V({title:Q.title,text:Q.text})));if(W)return;for(let Q=0;Q{W||(console.error(se),d([]),b(!1))}),()=>{W=!0}},[o,O]);const pe=ut.useCallback(async W=>{const q=await Promise.all(Array.from(W).map(async se=>{const V=await se.text(),X=l_(V,se.name);return{id:se.name,title:X,body:V,filepath:se.name}}));s(se=>f_(se,q))},[]),le=ut.useCallback((W,q)=>{const se=l_(W,q);s(V=>f_(V,[{id:q,title:se,body:W,filepath:q}]))},[]),fe=ut.useCallback(async(W,q)=>{if(!f||u.length===0)return;const se=++Y.current;C(W),D(q),g(I1);const V=PI({query:W,intent:q,embeddedChunks:u,bm25Index:f});for await(const X of V){if(Y.current!==se)return;g(U=>({...U,[X.stage]:{status:X.status,..."data"in X?{data:X.data}:{},..."error"in X?{error:X.error}:{}}}))}},[f,u]),_e=K8()&&u.length>0&&!w,de=ut.useCallback(()=>{P(W=>{const q=!W;return document.documentElement.setAttribute("data-theme",q?"dark":"light"),localStorage.setItem("qmd-theme",q?"dark":"light"),q})},[]);return I.jsxs("div",{style:{fontFamily:"system-ui, -apple-system, sans-serif",maxWidth:1400,margin:"0 auto",padding:"1.25rem 1rem 2rem"},children:[I.jsx("style",{children:` + .showcase-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 0.85rem; + margin-top: 1rem; + } + + @media (max-width: 900px) { + .showcase-grid { + grid-template-columns: 1fr; + } + } + `}),I.jsxs("header",{style:{marginBottom:"1.5rem"},children:[I.jsxs("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"1rem"},children:[I.jsxs("div",{style:{flex:1},children:[I.jsx("div",{style:{marginBottom:"0.4rem",fontSize:"0.74rem",fontWeight:700,letterSpacing:"0.08em",textTransform:"uppercase",color:"#4285F4"},children:"QMD in the browser"}),I.jsx("h1",{style:{margin:0,fontSize:"1.7rem",color:"var(--text)"},children:"QMD Web Sandbox"}),I.jsxs("p",{style:{margin:"0.45rem 0 0",color:"var(--text-secondary)",fontSize:"0.9rem",lineHeight:1.65,maxWidth:860},children:["A browser-native sandbox that recreates the core"," ",I.jsx("a",{href:"https://github.com/tobi/qmd",target:"_blank",rel:"noopener noreferrer",style:{color:"#4285F4",textDecoration:"none"},children:"qmd"})," ","retrieval pipeline with Transformers.js, while making the local WebGPU execution path visible. Documents are chunked, embedded, searched, fused, reranked, and inspected entirely in the browser."]}),I.jsx("div",{style:{marginTop:"0.7rem",display:"inline-flex",alignItems:"center",gap:"0.35rem",flexWrap:"wrap"},children:[{label:"WebGPU",color:"#4285F4"},{label:"Local cache",color:"#34a853"},{label:"Transparent pipeline",color:"#00897b"}].map(W=>I.jsx("span",{style:{padding:"0.25rem 0.55rem",borderRadius:"999px",border:`1px solid ${W.color}30`,background:`${W.color}10`,color:W.color,fontSize:"0.72rem",fontWeight:600,fontFamily:"system-ui, -apple-system, sans-serif",whiteSpace:"nowrap"},children:W.label},W.label))})]}),I.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.75rem",flexShrink:0},children:[I.jsx("a",{href:"https://github.com/tobi/qmd",target:"_blank",rel:"noopener noreferrer",style:{fontSize:"0.78rem",color:"var(--text-secondary)",textDecoration:"none",padding:"0.35rem 0.7rem",border:"1px solid var(--border)",borderRadius:"999px",fontFamily:"system-ui, -apple-system, sans-serif",background:"var(--bg-card)"},onMouseEnter:W=>{W.currentTarget.style.color="#4285F4"},onMouseLeave:W=>{W.currentTarget.style.color="var(--text-secondary)"},children:"Original qmd"}),I.jsx("button",{onClick:de,title:R?"Switch to light mode":"Switch to dark mode",style:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:"999px",padding:"0.35rem 0.6rem",cursor:"pointer",fontSize:"1rem",lineHeight:1,color:"var(--text)"},children:R?"☀":"☾"})]})]}),I.jsx("div",{className:"showcase-grid",children:hU.map(W=>I.jsx(pU,{title:W.title,body:W.body},W.title))})]}),I.jsx(qI,{models:e}),w&&I.jsxs("div",{style:{padding:"0.6rem 1rem",background:"var(--indexing-bg)",borderRadius:8,marginBottom:"1rem",fontSize:"0.84rem",color:"var(--text)",border:"1px solid var(--border)"},children:["Indexing local chunks in the browser (",S.completed,"/",S.total,")..."]}),I.jsx(II,{onSearch:fe,disabled:!_e}),z&&I.jsx(cU,{state:_,query:z,intent:L}),I.jsx(dU,{documents:r.map(W=>({id:W.id,title:W.title,filepath:W.filepath})),onUpload:pe,onPaste:le})]})}EE.createRoot(document.getElementById("root")).render(I.jsx(ut.StrictMode,{children:I.jsx(mU,{})}));