diff --git "a/assets/index-hkCqLHt-.js" "b/assets/index-hkCqLHt-.js" new file mode 100644--- /dev/null +++ "b/assets/index-hkCqLHt-.js" @@ -0,0 +1,73 @@ +var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,a)=>(a=n==null?{}:e(i(n)),c(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),u=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var d=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=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,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function ee(e,t){return E(e.type,t,e.props)}function D(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function O(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var k=/\/+/g;function A(e,t){return typeof e==`object`&&e&&e.key!=null?O(``+e.key):t.toString(36)}function te(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function j(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,j(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+A(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(k,`$&/`)+`/`),j(o,r,i,``,function(e){return e})):o!=null&&(D(o)&&(o=ee(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(k,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u{t.exports=d()})),p=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,D());else{var t=n(l);t!==null&&A(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-Tt&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&A(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?D():S=!1}}}var D;if(typeof y==`function`)D=function(){y(ee)};else if(typeof MessageChannel<`u`){var O=new MessageChannel,k=O.port2;O.port1.onmessage=ee,D=function(){k.postMessage(null)}}else D=function(){_(ee,0)};function A(t,n){C=_(function(){t(e.unstable_now())},n)}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(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,A(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,D()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),m=o(((e,t)=>{t.exports=p()})),h=o((e=>{var t=f();function n(e){var t=`https://react.dev/errors/`+e;if(1{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=h()})),_=o((e=>{var t=m(),n=f(),r=g();function i(e){var t=`https://react.dev/errors/`+e;if(1oe||(e.current=ae[oe],ae[oe]=null,oe--)}function le(e,t){oe++,ae[oe]=e.current,e.current=t}var ue=se(null),de=se(null),fe=se(null),pe=se(null);function me(e,t){switch(le(fe,t),le(de,e),le(ue,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Jd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Jd(t),e=Yd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}ce(ue),le(ue,e)}function he(){ce(ue),ce(de),ce(fe)}function ge(e){e.memoizedState!==null&&le(pe,e);var t=ue.current,n=Yd(t,e.type);t!==n&&(le(de,e),le(ue,n))}function _e(e){de.current===e&&(ce(ue),ce(de)),pe.current===e&&(ce(pe),ip._currentValue=ie)}var ve,ye;function be(e){if(ve===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);ve=t&&t[1]||``,ye=-1)`:-1i||c[r]!==l[i]){var u=` +`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{xe=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?be(n):``}function Ce(e,t){switch(e.tag){case 26:case 27:case 5:return be(e.type);case 16:return be(`Lazy`);case 13:return e.child!==t&&t!==null?be(`Suspense Fallback`):be(`Suspense`);case 19:return be(`SuspenseList`);case 0:case 15:return Se(e.type,!1);case 11:return Se(e.type.render,!1);case 1:return Se(e.type,!0);case 31:return be(`Activity`);default:return``}}function we(e){try{var t=``,n=null;do t+=Ce(e,n),n=e,e=e.return;while(e);return t}catch(e){return` +Error generating stack: `+e.message+` +`+e.stack}}var Te=Object.prototype.hasOwnProperty,Ee=t.unstable_scheduleCallback,De=t.unstable_cancelCallback,Oe=t.unstable_shouldYield,ke=t.unstable_requestPaint,Ae=t.unstable_now,je=t.unstable_getCurrentPriorityLevel,Me=t.unstable_ImmediatePriority,Ne=t.unstable_UserBlockingPriority,Pe=t.unstable_NormalPriority,Fe=t.unstable_LowPriority,Ie=t.unstable_IdlePriority,Le=t.log,Re=t.unstable_setDisableYieldValue,ze=null,Be=null;function Ve(e){if(typeof Le==`function`&&Re(e),Be&&typeof Be.setStrictMode==`function`)try{Be.setStrictMode(ze,e)}catch{}}var He=Math.clz32?Math.clz32:Ge,Ue=Math.log,We=Math.LN2;function Ge(e){return e>>>=0,e===0?32:31-(Ue(e)/We|0)|0}var Ke=256,qe=262144,Je=4194304;function Ye(e){var t=e&42;if(t!==0)return t;switch(e&-e){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 e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Xe(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=Ye(n))):i=Ye(o):i=Ye(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Ye(n))):i=Ye(o)):i=Ye(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function Ze(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Qe(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+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 t+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 $e(){var e=Je;return Je<<=1,!(Je&62914560)&&(Je=4194304),e}function et(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function tt(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function nt(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0`u`||window.document===void 0||window.document.createElement===void 0),hn=!1;if(mn)try{var gn={};Object.defineProperty(gn,`passive`,{get:function(){hn=!0}}),window.addEventListener(`test`,gn,gn),window.removeEventListener(`test`,gn,gn)}catch{hn=!1}var _n=null,vn=null,yn=null;function bn(){if(yn)return yn;var e,t=vn,n=t.length,r,i=`value`in _n?_n.value:_n.textContent,a=i.length;for(e=0;e=Qn),tr=` `,nr=!1;function rr(e,t){switch(e){case`keyup`:return Xn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function ir(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var ar=!1;function or(e,t){switch(e){case`compositionend`:return ir(t);case`keypress`:return t.which===32?(nr=!0,tr):null;case`textInput`:return e=t.data,e===tr&&nr?null:e;default:return null}}function sr(e,t){if(ar)return e===`compositionend`||!Zn&&rr(e,t)?(e=bn(),yn=vn=_n=null,ar=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Or(n)}}function Ar(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ar(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function jr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Vt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Vt(e.document)}return t}function Mr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Nr=mn&&`documentMode`in document&&11>=document.documentMode,Pr=null,Fr=null,Ir=null,Lr=!1;function Rr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Lr||Pr==null||Pr!==Vt(r)||(r=Pr,`selectionStart`in r&&Mr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Ir&&Dr(Ir,r)||(Ir=r,r=Md(Fr,`onSelect`),0>=o,i-=o,Ai=1<<32-He(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),Ri&&Mi(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),Ri&&Mi(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return Ri&&Mi(a,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),Ri&&Mi(a,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===y&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case _:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===y){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===D&&ka(l)===r.type){n(e,r.sibling),c=a(r,o.props),Ia(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===y?(c=_i(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=gi(o.type,o.key,o.props,null,e.mode,c),Ia(c,o),c.return=e,e=c)}return s(e);case v:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=bi(o,e.mode,c),c.return=e,e=c}return s(e);case D:return o=ka(o),b(e,r,o,c)}if(re(o))return h(e,r,o,c);if(te(o)){if(l=te(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,Fa(o),c);if(o.$$typeof===C)return b(e,r,ia(e,o),c);La(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=vi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Pa=0;var i=b(e,t,n,r);return Na=null,i}catch(t){if(t===Ca||t===Ta)throw t;var a=fi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var za=Ra(!0),Ba=Ra(!1),Va=!1;function Ha(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ua(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Wa(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ga(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,W&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=li(e),ci(e,null,n),t}return ai(e,r,t,n),li(e)}function Ka(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,it(e,n)}}function qa(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ja=!1;function Ya(){if(Ja){var e=ma;if(e!==null)throw e}}function Xa(e,t,n,r){Ja=!1;var i=e.updateQueue;Va=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,m=f!==s.lane;if(m?(Hl&f)===f:(r&f)===f){f!==0&&f===pa&&(Ja=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,f);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,f=typeof h==`function`?h.call(_,d,f):h,f==null)break a;d=p({},d,f);break a;case 2:Va=!0}}f=s.callback,f!==null&&(e.flags|=64,m&&(e.flags|=8192),m=i.callbacks,m===null?i.callbacks=[f]:m.push(f))}else m={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=m,c=d):u=u.next=m,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;m=s,s=m.next,m.next=null,i.lastBaseUpdate=m,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Xl|=o,e.lanes=o,e.memoizedState=d}}function Za(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function Qa(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=M.T,s={};M.T=s,Fs(e,!1,t,n);try{var c=i(),l=M.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Ps(e,t,_a(c,r),_u(e)):Ps(e,t,r,_u(e))}catch(n){Ps(e,t,{then:function(){},status:`rejected`,reason:n},_u())}finally{N.p=a,o!==null&&s.types!==null&&(o.types=s.types),M.T=o}}function ws(){}function Ts(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=Es(e).queue;Cs(e,a,t,ie,n===null?ws:function(){return Ds(e),n(r)})}function Es(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ie,baseState:ie,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ro,lastRenderedState:ie},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ro,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Ds(e){var t=Es(e);t.next===null&&(t=e.alternate.memoizedState),Ps(e,t.next.queue,{},_u())}function Os(){return L(ip)}function ks(){return No().memoizedState}function As(){return No().memoizedState}function js(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=_u();e=Wa(n);var r=Ga(t,e,n);r!==null&&(yu(r,t,n),Ka(r,t,n)),t={cache:la()},e.payload=t;return}t=t.return}}function Ms(e,t,n){var r=_u();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Is(e)?Ls(t,n):(n=oi(e,t,n,r),n!==null&&(yu(n,e,r),Rs(n,t,r)))}function Ns(e,t,n){Ps(e,t,n,_u())}function Ps(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Is(e))Ls(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Er(s,o))return ai(e,t,i,0),Vl===null&&ii(),!1}catch{}if(n=oi(e,t,i,r),n!==null)return yu(n,e,r),Rs(n,t,r),!0}return!1}function Fs(e,t,n,r){if(r={lane:2,revertLane:gd(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Is(e)){if(t)throw Error(i(479))}else t=oi(e,n,r,2),t!==null&&yu(t,e,2)}function Is(e){var t=e.alternate;return e===B||t!==null&&t===B}function Ls(e,t){_o=go=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Rs(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,it(e,n)}}var zs={readContext:L,use:Io,useCallback:Co,useContext:Co,useEffect:Co,useImperativeHandle:Co,useLayoutEffect:Co,useInsertionEffect:Co,useMemo:Co,useReducer:Co,useRef:Co,useState:Co,useDebugValue:Co,useDeferredValue:Co,useTransition:Co,useSyncExternalStore:Co,useId:Co,useHostTransitionStatus:Co,useFormState:Co,useActionState:Co,useOptimistic:Co,useMemoCache:Co,useCacheRefresh:Co};zs.useEffectEvent=Co;var Bs={readContext:L,use:Io,useCallback:function(e,t){return Mo().memoizedState=[e,t===void 0?null:t],e},useContext:L,useEffect:us,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),cs(4194308,4,gs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return cs(4194308,4,e,t)},useInsertionEffect:function(e,t){cs(4,2,e,t)},useMemo:function(e,t){var n=Mo();t=t===void 0?null:t;var r=e();if(vo){Ve(!0);try{e()}finally{Ve(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Mo();if(n!==void 0){var i=n(t);if(vo){Ve(!0);try{n(t)}finally{Ve(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=Ms.bind(null,B,e),[r.memoizedState,e]},useRef:function(e){var t=Mo();return e={current:e},t.memoizedState=e},useState:function(e){e=Jo(e);var t=e.queue,n=Ns.bind(null,B,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:vs,useDeferredValue:function(e,t){return xs(Mo(),e,t)},useTransition:function(){var e=Jo(!1);return e=Cs.bind(null,B,e.queue,!0,!1),Mo().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=B,a=Mo();if(Ri){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),Vl===null)throw Error(i(349));Hl&127||Uo(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,us(Go.bind(null,r,o,e),[e]),r.flags|=2048,V(9,{destroy:void 0},Wo.bind(null,r,o,n,t),null),n},useId:function(){var e=Mo(),t=Vl.identifierPrefix;if(Ri){var n=ji,r=Ai;n=(r&~(1<<32-He(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=yo++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[dt]=t,o[ft]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Vd(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Pc(t)}}return zc(t),Fc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Pc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=fe.current,Gi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=Ii,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[dt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||Rd(e.nodeValue,n)),e||Hi(t,!0)}else e=qd(e).createTextNode(r),e[dt]=t,t.stateNode=e}return zc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Gi(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[dt]=t}else Ki(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;zc(t),e=!1}else n=qi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(z(t),t):(z(t),null);if(t.flags&128)throw Error(i(558))}return zc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=Gi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[dt]=t}else Ki(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;zc(t),a=!1}else a=qi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(z(t),t):(z(t),null)}return z(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Lc(t,t.updateQueue),zc(t),null);case 4:return he(),e===null&&Od(t.stateNode.containerInfo),zc(t),null;case 10:return $i(t.type),zc(t),null;case 19:if(ce(uo),r=t.memoizedState,r===null)return zc(t),null;if(a=(t.flags&128)!=0,o=r.rendering,o===null)if(a)Rc(r,!1);else{if(Yl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=fo(e),o!==null){for(t.flags|=128,Rc(r,!1),e=o.updateQueue,t.updateQueue=e,Lc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)hi(n,e),n=n.sibling;return le(uo,uo.current&1|2),Ri&&Mi(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Ae()>au&&(t.flags|=128,a=!0,Rc(r,!1),t.lanes=4194304)}else{if(!a)if(e=fo(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Lc(t,e),Rc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!Ri)return zc(t),null}else 2*Ae()-r.renderingStartTime>au&&n!==536870912&&(t.flags|=128,a=!0,Rc(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(zc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Ae(),e.sibling=null,n=uo.current,le(uo,a?n&1|2:n&1),Ri&&Mi(t,r.treeForkCount),e);case 22:case 23:return z(t),ro(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(zc(t),t.subtreeFlags&6&&(t.flags|=8192)):zc(t),n=t.updateQueue,n!==null&&Lc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&ce(ya),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),$i(ca),zc(t),null;case 25:return null;case 30:return null}throw Error(i(156,t.tag))}function Vc(e,t){switch(Pi(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return $i(ca),he(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return _e(t),null;case 31:if(t.memoizedState!==null){if(z(t),t.alternate===null)throw Error(i(340));Ki()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(z(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));Ki()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ce(uo),null;case 4:return he(),null;case 10:return $i(t.type),null;case 22:case 23:return z(t),ro(),e!==null&&ce(ya),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return $i(ca),null;case 25:return null;default:return null}}function Hc(e,t){switch(Pi(t),t.tag){case 3:$i(ca),he();break;case 26:case 27:case 5:_e(t);break;case 4:he();break;case 31:t.memoizedState!==null&&z(t);break;case 13:z(t);break;case 19:ce(uo);break;case 10:$i(t.type);break;case 22:case 23:z(t),ro(),e!==null&&ce(ya);break;case 24:$i(ca)}}function Uc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Yu(t,t.return,e)}}function Wc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Yu(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Yu(t,t.return,e)}}function Gc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Qa(t,n)}catch(t){Yu(e,e.return,t)}}}function Kc(e,t,n){n.props=qs(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Yu(e,t,n)}}function qc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Yu(e,t,n)}}function Jc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Yu(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Yu(e,t,n)}else n.current=null}function Yc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Yu(e,e.return,t)}}function Xc(e,t,n){try{var r=e.stateNode;Hd(r,e.type,n,t),r[ft]=t}catch(t){Yu(e,e.return,t)}}function Zc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&af(e.type)||e.tag===4}function Qc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Zc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&af(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function $c(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=an));else if(r!==4&&(r===27&&af(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for($c(e,t,n),e=e.sibling;e!==null;)$c(e,t,n),e=e.sibling}function el(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&af(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(el(e,t,n),e=e.sibling;e!==null;)el(e,t,n),e=e.sibling}function tl(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Vd(t,r,n),t[dt]=e,t[ft]=n}catch(t){Yu(e,e.return,t)}}var nl=!1,rl=!1,il=!1,al=typeof WeakSet==`function`?WeakSet:Set,ol=null;function sl(e,t){if(e=e.containerInfo,Gd=pp,e=jr(e),Mr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(Kd={focusedElem:e,selectionRange:n},pp=!1,ol=t;ol!==null;)if(t=ol,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,ol=e;else for(;ol!==null;){switch(t=ol,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n title`))),Vd(o,r,n),o[dt]=e,wt(o),r=o;break a;case`link`:var s=qf(`link`,`href`,a).get(r+(n.href||``));if(s){for(var c=0;cg&&(o=g,g=h,h=o);var _=kr(s,h),v=kr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,M.T=null,n=pu,pu=null;var o=lu,s=du;if(cu=0,uu=lu=null,du=0,W&6)throw Error(i(331));var c=W;if(W|=4,Il(o.current),Ol(o,o.current,s,n),W=c,ld(0,!1),Be&&typeof Be.onPostCommitFiberRoot==`function`)try{Be.onPostCommitFiberRoot(ze,o)}catch{}return!0}finally{N.p=a,M.T=r,Gu(e,t)}}function Ju(e,t,n){t=Si(n,t),t=$s(e.stateNode,t,2),e=Ga(e,t,2),e!==null&&(tt(e,2),cd(e))}function Yu(e,t,n){if(e.tag===3)Ju(e,e,n);else for(;t!==null;){if(t.tag===3){Ju(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(su===null||!su.has(r))){e=Si(n,e),n=ec(2),r=Ga(t,n,2),r!==null&&(tc(n,r,t,e),tt(r,2),cd(r));break}}t=t.return}}function Xu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Bl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(ql=!0,i.add(n),e=Zu.bind(null,e,t,n),t.then(e,e))}function Zu(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Vl===e&&(Hl&n)===n&&(Yl===4||Yl===3&&(Hl&62914560)===Hl&&300>Ae()-ru?!(W&2)&&Eu(e,0):Ql|=n,eu===Hl&&(eu=0)),cd(e)}function Qu(e,t){t===0&&(t=$e()),e=si(e,t),e!==null&&(tt(e,t),cd(e))}function $u(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Qu(e,n)}function ed(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),Qu(e,n)}function td(e,t){return Ee(e,t)}var nd=null,rd=null,id=!1,ad=!1,od=!1,sd=0;function cd(e){e!==rd&&e.next===null&&(rd===null?nd=rd=e:rd=rd.next=e),ad=!0,id||(id=!0,hd())}function ld(e,t){if(!od&&ad){od=!0;do for(var n=!1,r=nd;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-He(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,md(r,a))}else a=Hl,a=Xe(r,r===Vl?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||Ze(r,a)||(n=!0,md(r,a));r=r.next}while(n);od=!1}}function ud(){dd()}function dd(){ad=id=!1;var e=0;sd!==0&&Qd()&&(e=sd);for(var t=Ae(),n=null,r=nd;r!==null;){var i=r.next,a=fd(r,t);a===0?(r.next=null,n===null?nd=i:n.next=i,i===null&&(rd=n)):(n=r,(e!==0||a&3)&&(ad=!0)),r=i}cu!==0&&cu!==5||ld(e,!1),sd!==0&&(sd=0)}function fd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&Ud(d)&&(c=c.responseEnd,o+=u*(c`u`?null:document;function Df(e,t,n){var r=Ef;if(r&&typeof t==`string`&&t){var i=Ut(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),q.has(i)||(q.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Vd(t,`link`,e),wt(t),r.head.appendChild(t)))}}function Of(e){Cf.D(e),Df(`dns-prefetch`,e,null)}function kf(e,t){Cf.C(e,t),Df(`preconnect`,e,t)}function Af(e,t,n){Cf.L(e,t,n);var r=Ef;if(r&&e&&t){var i=`link[rel="preload"][as="`+Ut(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Ut(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Ut(n.imageSizes)+`"]`)):i+=`[href="`+Ut(e)+`"]`;var a=i;switch(t){case`style`:a=If(e);break;case`script`:a=Bf(e)}xf.has(a)||(e=p({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),xf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Lf(a))||t===`script`&&r.querySelector(Vf(a))||(t=r.createElement(`link`),Vd(t,`link`,e),wt(t),r.head.appendChild(t)))}}function jf(e,t){Cf.m(e,t);var n=Ef;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Ut(r)+`"][href="`+Ut(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Bf(e)}if(!xf.has(a)&&(e=p({rel:`modulepreload`,href:e},t),xf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Vf(a)))return}r=n.createElement(`link`),Vd(r,`link`,e),wt(r),n.head.appendChild(r)}}}function Mf(e,t,n){Cf.S(e,t,n);var r=Ef;if(r&&e){var i=Ct(r).hoistableStyles,a=If(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Lf(a)))s.loading=5;else{e=p({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=xf.get(a))&&Wf(e,n);var c=o=r.createElement(`link`);wt(c),Vd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Uf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Nf(e,t){Cf.X(e,t);var n=Ef;if(n&&e){var r=Ct(n).hoistableScripts,i=Bf(e),a=r.get(i);a||(a=n.querySelector(Vf(i)),a||(e=p({src:e,async:!0},t),(t=xf.get(i))&&Gf(e,t),a=n.createElement(`script`),wt(a),Vd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Pf(e,t){Cf.M(e,t);var n=Ef;if(n&&e){var r=Ct(n).hoistableScripts,i=Bf(e),a=r.get(i);a||(a=n.querySelector(Vf(i)),a||(e=p({src:e,async:!0,type:`module`},t),(t=xf.get(i))&&Gf(e,t),a=n.createElement(`script`),wt(a),Vd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Ff(e,t,n,r){var a=(a=fe.current)?Sf(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=If(n.href),n=Ct(a).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=If(n.href);var o=Ct(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(Lf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),xf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},xf.set(e,n),o||zf(a,e,n,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Bf(n),n=Ct(a).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function If(e){return`href="`+Ut(e)+`"`}function Lf(e){return`link[rel="stylesheet"][`+e+`]`}function Rf(e){return p({},e,{"data-precedence":e.precedence,precedence:null})}function zf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Vd(t,`link`,n),wt(t),e.head.appendChild(t))}function Bf(e){return`[src="`+Ut(e)+`"]`}function Vf(e){return`script[async]`+e}function Hf(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Ut(n.href)+`"]`);if(r)return t.instance=r,wt(r),r;var a=p({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),wt(r),Vd(r,`style`,a),Uf(r,n.precedence,e),t.instance=r;case`stylesheet`:a=If(n.href);var o=e.querySelector(Lf(a));if(o)return t.state.loading|=4,t.instance=o,wt(o),o;r=Rf(n),(a=xf.get(a))&&Wf(r,a),o=(e.ownerDocument||e).createElement(`link`),wt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Vd(o,`link`,r),t.state.loading|=4,Uf(o,n.precedence,e),t.instance=o;case`script`:return o=Bf(n.src),(a=e.querySelector(Vf(o)))?(t.instance=a,wt(a),a):(r=n,(a=xf.get(o))&&(r=p({},n),Gf(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),wt(a),Vd(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Uf(r,n.precedence,e));return t.instance}function Uf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function Yf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Xf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Zf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=If(r.href),a=t.querySelector(Lf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=ep.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,wt(a);return}a=t.ownerDocument||t,r=Rf(r),(i=xf.get(i))&&Wf(r,i),a=a.createElement(`link`),wt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Vd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=ep.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Qf=0;function $f(e,t){return e.stylesheets&&e.count===0&&np(e,e.stylesheets),0Qf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function ep(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)np(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var tp=null;function np(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,tp=new Map,t.forEach(rp,e),tp=null,ep.call(e))}function rp(e,t){if(!(t.state.loading&4)){var n=tp.get(e);if(n)var r=n.get(null);else{n=new Map,tp.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=_()})),y=f(),b=v(),x=`modulepreload`,S=function(e){return`/`+e},C={},w=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=S(t,n),t in C)return;C[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:x,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},T=s({InferenceSession:()=>Ke,TRACE:()=>Le,TRACE_EVENT_BEGIN:()=>Ve,TRACE_EVENT_END:()=>He,TRACE_FUNC_BEGIN:()=>ze,TRACE_FUNC_END:()=>Be,Tensor:()=>Fe,default:()=>Cr,env:()=>pe,registerBackend:()=>N}),E=Object.defineProperty,ee=Object.getOwnPropertyDescriptor,D=Object.getOwnPropertyNames,O=Object.prototype.hasOwnProperty,k=(e=>typeof u<`u`?u:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof u<`u`?u:e)[t]}):e)(function(e){if(typeof u<`u`)return u.apply(this,arguments);throw Error(`Dynamic require of "`+e+`" is not supported`)}),A=(e,t)=>()=>(e&&(t=e(e=0)),t),te=(e,t)=>{for(var n in t)E(e,n,{get:t[n],enumerable:!0})},j=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of D(t))!O.call(e,i)&&i!==n&&E(e,i,{get:()=>t[i],enumerable:!(r=ee(t,i))||r.enumerable});return e},ne=e=>j(E({},`__esModule`,{value:!0}),e),re,M,N,ie,ae,oe=A(()=>{re=new Map,M=[],N=(e,t,n)=>{if(t&&typeof t.init==`function`&&typeof t.createInferenceSessionHandler==`function`){let r=re.get(e);if(r===void 0)re.set(e,{backend:t,priority:n});else{if(r.priority>n)return;if(r.priority===n&&r.backend!==t)throw Error(`cannot register backend "${e}" using priority ${n}`)}if(n>=0){let t=M.indexOf(e);t!==-1&&M.splice(t,1);for(let t=0;t{let t=re.get(e);if(!t)return`backend not found.`;if(t.initialized)return t.backend;if(t.aborted)return t.error;{let n=!!t.initPromise;try{return n||(t.initPromise=t.backend.init(e)),await t.initPromise,t.initialized=!0,t.backend}catch(e){return n||(t.error=`${e}`,t.aborted=!0),t.error}finally{delete t.initPromise}}},ae=async e=>{let t=e.executionProviders||[],n=t.map(e=>typeof e==`string`?e:e.name),r=n.length===0?M:n,i,a=[],o=new Set;for(let e of r){let t=await ie(e);typeof t==`string`?a.push({name:e,err:t}):(i||=t,i===t&&o.add(e))}if(!i)throw Error(`no available backend found. ERR: ${a.map(e=>`[${e.name}] ${e.err}`).join(`, `)}`);for(let{name:e,err:t}of a)n.includes(e)&&console.warn(`removing requested execution provider "${e}" from session options because it is not available: ${t}`);let s=t.filter(e=>o.has(typeof e==`string`?e:e.name));return[i,new Proxy(e,{get:(e,t)=>t===`executionProviders`?s:Reflect.get(e,t)})]}}),se=A(()=>{oe()}),ce,le=A(()=>{ce=`1.24.0-dev.20251116-b39e144322`}),ue,de,fe=A(()=>{le(),ue=`warning`,de={wasm:{},webgl:{},webgpu:{},versions:{common:ce},set logLevel(e){if(e!==void 0){if(typeof e!=`string`||[`verbose`,`info`,`warning`,`error`,`fatal`].indexOf(e)===-1)throw Error(`Unsupported logging level: ${e}`);ue=e}},get logLevel(){return ue}},Object.defineProperty(de,`logLevel`,{enumerable:!0})}),pe,me=A(()=>{fe(),pe=de}),he,ge,_e=A(()=>{he=(e,t)=>{let n=typeof document<`u`?document.createElement(`canvas`):new OffscreenCanvas(1,1);n.width=e.dims[3],n.height=e.dims[2];let r=n.getContext(`2d`);if(r!=null){let i,a;t?.tensorLayout!==void 0&&t.tensorLayout===`NHWC`?(i=e.dims[2],a=e.dims[3]):(i=e.dims[3],a=e.dims[2]);let o=t?.format===void 0?`RGB`:t.format,s=t?.norm,c,l;s===void 0||s.mean===void 0?c=[255,255,255,255]:typeof s.mean==`number`?c=[s.mean,s.mean,s.mean,s.mean]:(c=[s.mean[0],s.mean[1],s.mean[2],0],s.mean[3]!==void 0&&(c[3]=s.mean[3])),s===void 0||s.bias===void 0?l=[0,0,0,0]:typeof s.bias==`number`?l=[s.bias,s.bias,s.bias,s.bias]:(l=[s.bias[0],s.bias[1],s.bias[2],0],s.bias[3]!==void 0&&(l[3]=s.bias[3]));let u=a*i,d=0,f=u,p=u*2,m=-1;o===`RGBA`?(d=0,f=u,p=u*2,m=u*3):o===`RGB`?(d=0,f=u,p=u*2):o===`RBG`&&(d=0,p=u,f=u*2);for(let t=0;t{let n=typeof document<`u`?document.createElement(`canvas`).getContext(`2d`):new OffscreenCanvas(1,1).getContext(`2d`),r;if(n!=null){let i,a,o;t?.tensorLayout!==void 0&&t.tensorLayout===`NHWC`?(i=e.dims[2],a=e.dims[1],o=e.dims[3]):(i=e.dims[3],a=e.dims[2],o=e.dims[1]);let s=t!==void 0&&t.format!==void 0?t.format:`RGB`,c=t?.norm,l,u;c===void 0||c.mean===void 0?l=[255,255,255,255]:typeof c.mean==`number`?l=[c.mean,c.mean,c.mean,c.mean]:(l=[c.mean[0],c.mean[1],c.mean[2],255],c.mean[3]!==void 0&&(l[3]=c.mean[3])),c===void 0||c.bias===void 0?u=[0,0,0,0]:typeof c.bias==`number`?u=[c.bias,c.bias,c.bias,c.bias]:(u=[c.bias[0],c.bias[1],c.bias[2],0],c.bias[3]!==void 0&&(u[3]=c.bias[3]));let d=a*i;if(t!==void 0&&(t.format!==void 0&&o===4&&t.format!==`RGBA`||o===3&&t.format!==`RGB`&&t.format!==`BGR`))throw Error(`Tensor format doesn't match input tensor dims`);let f=0,p=1,m=2,h=3,g=0,_=d,v=d*2,y=-1;s===`RGBA`?(g=0,_=d,v=d*2,y=d*3):s===`RGB`?(g=0,_=d,v=d*2):s===`RBG`&&(g=0,v=d,_=d*2),r=n.createImageData(i,a);for(let t=0;t{Pe(),ve=(e,t)=>{if(e===void 0)throw Error(`Image buffer must be defined`);if(t.height===void 0||t.width===void 0)throw Error(`Image height and width must be defined`);if(t.tensorLayout===`NHWC`)throw Error(`NHWC Tensor layout is not supported yet`);let{height:n,width:r}=t,i=t.norm??{mean:255,bias:0},a,o;a=typeof i.mean==`number`?[i.mean,i.mean,i.mean,i.mean]:[i.mean[0],i.mean[1],i.mean[2],i.mean[3]??255],o=typeof i.bias==`number`?[i.bias,i.bias,i.bias,i.bias]:[i.bias[0],i.bias[1],i.bias[2],i.bias[3]??0];let s=t.format===void 0?`RGBA`:t.format,c=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:`RGB`,l=n*r,u=c===`RGBA`?new Float32Array(l*4):new Float32Array(l*3),d=4,f=0,p=1,m=2,h=3,g=0,_=l,v=l*2,y=-1;s===`RGB`&&(d=3,f=0,p=1,m=2,h=-1),c===`RGBA`?y=l*3:c===`RBG`?(g=0,v=l,_=l*2):c===`BGR`&&(v=0,_=l,g=l*2);for(let t=0;t{let n=typeof HTMLImageElement<`u`&&e instanceof HTMLImageElement,r=typeof ImageData<`u`&&e instanceof ImageData,i=typeof ImageBitmap<`u`&&e instanceof ImageBitmap,a=typeof e==`string`,o,s=t??{},c=()=>{if(typeof document<`u`)return document.createElement(`canvas`);if(typeof OffscreenCanvas<`u`)return new OffscreenCanvas(1,1);throw Error(`Canvas is not supported`)},l=e=>typeof HTMLCanvasElement<`u`&&e instanceof HTMLCanvasElement||e instanceof OffscreenCanvas?e.getContext(`2d`):null;if(n){let n=c();n.width=e.width,n.height=e.height;let r=l(n);if(r!=null){let n=e.height,i=e.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(n=t.resizedHeight,i=t.resizedWidth),t!==void 0){if(s=t,t.tensorFormat!==void 0)throw Error(`Image input config format must be RGBA for HTMLImageElement`);s.tensorFormat=`RGBA`,s.height=n,s.width=i}else s.tensorFormat=`RGBA`,s.height=n,s.width=i;r.drawImage(e,0,0),o=r.getImageData(0,0,i,n).data}else throw Error(`Can not access image data`)}else if(r){let n,r;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(n=t.resizedHeight,r=t.resizedWidth):(n=e.height,r=e.width),t!==void 0&&(s=t),s.format=`RGBA`,s.height=n,s.width=r,t!==void 0){let t=c();t.width=r,t.height=n;let i=l(t);if(i!=null)i.putImageData(e,0,0),o=i.getImageData(0,0,r,n).data;else throw Error(`Can not access image data`)}else o=e.data}else if(i){if(t===void 0)throw Error(`Please provide image config with format for Imagebitmap`);let n=c();n.width=e.width,n.height=e.height;let r=l(n);if(r!=null){let t=e.height,n=e.width;return r.drawImage(e,0,0,n,t),o=r.getImageData(0,0,n,t).data,s.height=t,s.width=n,ve(o,s)}else throw Error(`Can not access image data`)}else{if(a)return new Promise((t,n)=>{let r=c(),i=l(r);if(!e||!i)return n();let a=new Image;a.crossOrigin=`Anonymous`,a.src=e,a.onload=()=>{r.width=a.width,r.height=a.height,i.drawImage(a,0,0,r.width,r.height);let e=i.getImageData(0,0,r.width,r.height);s.height=r.height,s.width=r.width,t(ve(e.data,s))}});throw Error(`Input data provided is not supported - aborted tensor creation`)}if(o!==void 0)return ve(o,s);throw Error(`Input data provided is not supported - aborted tensor creation`)},be=(e,t)=>{let{width:n,height:r,download:i,dispose:a}=t;return new Ne({location:`texture`,type:`float32`,texture:e,dims:[1,r,n,4],download:i,dispose:a})},xe=(e,t)=>{let{dataType:n,dims:r,download:i,dispose:a}=t;return new Ne({location:`gpu-buffer`,type:n??`float32`,gpuBuffer:e,dims:r,download:i,dispose:a})},Se=(e,t)=>{let{dataType:n,dims:r,download:i,dispose:a}=t;return new Ne({location:`ml-tensor`,type:n??`float32`,mlTensor:e,dims:r,download:i,dispose:a})},Ce=(e,t,n)=>new Ne({location:`cpu-pinned`,type:e,data:t,dims:n??[t.length]})}),Te,Ee,De,Oe,ke=A(()=>{Te=new Map([[`float32`,Float32Array],[`uint8`,Uint8Array],[`int8`,Int8Array],[`uint16`,Uint16Array],[`int16`,Int16Array],[`int32`,Int32Array],[`bool`,Uint8Array],[`float64`,Float64Array],[`uint32`,Uint32Array],[`int4`,Uint8Array],[`uint4`,Uint8Array]]),Ee=new Map([[Float32Array,`float32`],[Uint8Array,`uint8`],[Int8Array,`int8`],[Uint16Array,`uint16`],[Int16Array,`int16`],[Int32Array,`int32`],[Float64Array,`float64`],[Uint32Array,`uint32`]]),De=!1,Oe=()=>{if(!De){De=!0;let e=typeof BigInt64Array<`u`&&BigInt64Array.from,t=typeof BigUint64Array<`u`&&BigUint64Array.from,n=globalThis.Float16Array,r=typeof n<`u`&&n.from;e&&(Te.set(`int64`,BigInt64Array),Ee.set(BigInt64Array,`int64`)),t&&(Te.set(`uint64`,BigUint64Array),Ee.set(BigUint64Array,`uint64`)),r?(Te.set(`float16`,n),Ee.set(n,`float16`)):Te.set(`float16`,Uint16Array)}}}),Ae,je,Me=A(()=>{Pe(),Ae=e=>{let t=1;for(let n=0;n{switch(e.location){case`cpu`:return new Ne(e.type,e.data,t);case`cpu-pinned`:return new Ne({location:`cpu-pinned`,data:e.data,type:e.type,dims:t});case`texture`:return new Ne({location:`texture`,texture:e.texture,type:e.type,dims:t});case`gpu-buffer`:return new Ne({location:`gpu-buffer`,gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case`ml-tensor`:return new Ne({location:`ml-tensor`,mlTensor:e.mlTensor,type:e.type,dims:t});default:throw Error(`tensorReshape: tensor location ${e.location} is not supported`)}}}),Ne,Pe=A(()=>{_e(),we(),ke(),Me(),Ne=class{constructor(e,t,n){Oe();let r,i;if(typeof e==`object`&&`location`in e)switch(this.dataLocation=e.location,r=e.type,i=e.dims,e.location){case`cpu-pinned`:{let t=Te.get(r);if(!t)throw TypeError(`unsupported type "${r}" to create tensor from pinned buffer`);if(!(e.data instanceof t))throw TypeError(`buffer should be of type ${t.name}`);this.cpuData=e.data;break}case`texture`:if(r!==`float32`)throw TypeError(`unsupported type "${r}" to create tensor from texture`);this.gpuTextureData=e.texture,this.downloader=e.download,this.disposer=e.dispose;break;case`gpu-buffer`:if(r!==`float32`&&r!==`float16`&&r!==`int32`&&r!==`int64`&&r!==`uint32`&&r!==`uint8`&&r!==`bool`&&r!==`uint4`&&r!==`int4`)throw TypeError(`unsupported type "${r}" to create tensor from gpu buffer`);this.gpuBufferData=e.gpuBuffer,this.downloader=e.download,this.disposer=e.dispose;break;case`ml-tensor`:if(r!==`float32`&&r!==`float16`&&r!==`int32`&&r!==`int64`&&r!==`uint32`&&r!==`uint64`&&r!==`int8`&&r!==`uint8`&&r!==`bool`&&r!==`uint4`&&r!==`int4`)throw TypeError(`unsupported type "${r}" to create tensor from MLTensor`);this.mlTensorData=e.mlTensor,this.downloader=e.download,this.disposer=e.dispose;break;default:throw Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let a,o;if(typeof e==`string`)if(r=e,o=n,e===`string`){if(!Array.isArray(t))throw TypeError(`A string tensor's data must be a string array.`);a=t}else{let n=Te.get(e);if(n===void 0)throw TypeError(`Unsupported tensor type: ${e}.`);if(Array.isArray(t)){if(e===`float16`&&n===Uint16Array||e===`uint4`||e===`int4`)throw TypeError(`Creating a ${e} tensor from number array is not supported. Please use ${n.name} as data.`);a=e===`uint64`||e===`int64`?n.from(t,BigInt):n.from(t)}else if(t instanceof n)a=t;else if(t instanceof Uint8ClampedArray)if(e===`uint8`)a=Uint8Array.from(t);else throw TypeError(`A Uint8ClampedArray tensor's data must be type of uint8`);else if(e===`float16`&&t instanceof Uint16Array&&n!==Uint16Array)a=new globalThis.Float16Array(t.buffer,t.byteOffset,t.length);else throw TypeError(`A ${r} tensor's data must be type of ${n}`)}else if(o=t,Array.isArray(e)){if(e.length===0)throw TypeError(`Tensor type cannot be inferred from an empty array.`);let t=typeof e[0];if(t===`string`)r=`string`,a=e;else if(t===`boolean`)r=`bool`,a=Uint8Array.from(e);else throw TypeError(`Invalid element type of data array: ${t}.`)}else if(e instanceof Uint8ClampedArray)r=`uint8`,a=Uint8Array.from(e);else{let t=Ee.get(e.constructor);if(t===void 0)throw TypeError(`Unsupported type for tensor data: ${e.constructor}.`);r=t,a=e}if(o===void 0)o=[a.length];else if(!Array.isArray(o))throw TypeError(`A tensor's dims must be a number array`);i=o,this.cpuData=a,this.dataLocation=`cpu`}let a=Ae(i);if(this.cpuData&&a!==this.cpuData.length&&!((r===`uint4`||r===`int4`)&&Math.ceil(a/2)===this.cpuData.length))throw Error(`Tensor's size(${a}) does not match data length(${this.cpuData.length}).`);this.type=r,this.dims=i,this.size=a}static async fromImage(e,t){return ye(e,t)}static fromTexture(e,t){return be(e,t)}static fromGpuBuffer(e,t){return xe(e,t)}static fromMLTensor(e,t){return Se(e,t)}static fromPinnedBuffer(e,t,n){return Ce(e,t,n)}toDataURL(e){return he(this,e)}toImageData(e){return ge(this,e)}get data(){if(this.ensureValid(),!this.cpuData)throw 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 Error(`The data is not stored as a WebGL texture.`);return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw Error(`The data is not stored as a WebGPU buffer.`);return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw 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 Error(`The current tensor is not created with a specified data downloader.`);if(this.isDownloading)throw 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 Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw Error(`The current tensor is being downloaded.`);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 Error(`The tensor is disposed.`)}reshape(e){if(this.ensureValid(),this.downloader||this.disposer)throw Error(`Cannot reshape a tensor that owns GPU resource.`);return je(this,e)}}}),Fe,Ie=A(()=>{Pe(),Fe=Ne}),Le,Re,ze,Be,Ve,He,Ue=A(()=>{fe(),Le=(e,t)=>{(typeof de.trace>`u`?!de.wasm.trace:!de.trace)||console.timeStamp(`${e}::ORT::${t}`)},Re=(e,t)=>{let n=Error().stack?.split(/\r\n|\r|\n/g)||[],r=!1;for(let i=0;i{(typeof de.trace>`u`?!de.wasm.trace:!de.trace)||Re(`BEGIN`,e)},Be=e=>{(typeof de.trace>`u`?!de.wasm.trace:!de.trace)||Re(`END`,e)},Ve=e=>{(typeof de.trace>`u`?!de.wasm.trace:!de.trace)||console.time(`ORT::${e}`)},He=e=>{(typeof de.trace>`u`?!de.wasm.trace:!de.trace)||console.timeEnd(`ORT::${e}`)}}),We,Ge=A(()=>{oe(),Ie(),Ue(),We=class e{constructor(e){this.handler=e}async run(e,t,n){ze(),Ve(`InferenceSession.run`);let r={},i={};if(typeof e!=`object`||!e||e instanceof Fe||Array.isArray(e))throw TypeError(`'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.`);let a=!0;if(typeof t==`object`){if(t===null)throw TypeError(`Unexpected argument[1]: cannot be null.`);if(t instanceof Fe)throw TypeError(`'fetches' cannot be a Tensor`);if(Array.isArray(t)){if(t.length===0)throw TypeError(`'fetches' cannot be an empty array.`);a=!1;for(let e of t){if(typeof e!=`string`)throw TypeError(`'fetches' must be a string array or an object.`);if(this.outputNames.indexOf(e)===-1)throw RangeError(`'fetches' contains invalid output name: ${e}.`);r[e]=null}if(typeof n==`object`&&n)i=n;else if(typeof n<`u`)throw TypeError(`'options' must be an object.`)}else{let e=!1,o=Object.getOwnPropertyNames(t);for(let n of this.outputNames)if(o.indexOf(n)!==-1){let i=t[n];(i===null||i instanceof Fe)&&(e=!0,a=!1,r[n]=i)}if(e){if(typeof n==`object`&&n)i=n;else if(typeof n<`u`)throw TypeError(`'options' must be an object.`)}else i=t}}else if(typeof t<`u`)throw TypeError(`Unexpected argument[1]: must be 'fetches' or 'options'.`);for(let t of this.inputNames)if(typeof e[t]>`u`)throw Error(`input '${t}' is missing in 'feeds'.`);if(a)for(let e of this.outputNames)r[e]=null;let o=await this.handler.run(e,r,i),s={};for(let e in o)if(Object.hasOwnProperty.call(o,e)){let t=o[e];t instanceof Fe?s[e]=t:s[e]=new Fe(t.type,t.data,t.dims)}return He(`InferenceSession.run`),Be(),s}async release(){return this.handler.dispose()}static async create(t,n,r,i){ze(),Ve(`InferenceSession.create`);let a,o={};if(typeof t==`string`){if(a=t,typeof n==`object`&&n)o=n;else if(typeof n<`u`)throw TypeError(`'options' must be an object.`)}else if(t instanceof Uint8Array){if(a=t,typeof n==`object`&&n)o=n;else if(typeof n<`u`)throw TypeError(`'options' must be an object.`)}else if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&t instanceof SharedArrayBuffer){let e=t,s=0,c=t.byteLength;if(typeof n==`object`&&n)o=n;else if(typeof n==`number`){if(s=n,!Number.isSafeInteger(s))throw RangeError(`'byteOffset' must be an integer.`);if(s<0||s>=e.byteLength)throw RangeError(`'byteOffset' is out of range [0, ${e.byteLength}).`);if(c=t.byteLength-s,typeof r==`number`){if(c=r,!Number.isSafeInteger(c))throw RangeError(`'byteLength' must be an integer.`);if(c<=0||s+c>e.byteLength)throw RangeError(`'byteLength' is out of range (0, ${e.byteLength-s}].`);if(typeof i==`object`&&i)o=i;else if(typeof i<`u`)throw TypeError(`'options' must be an object.`)}else if(typeof r<`u`)throw TypeError(`'byteLength' must be a number.`)}else if(typeof n<`u`)throw TypeError(`'options' must be an object.`);a=new Uint8Array(e,s,c)}else throw TypeError(`Unexpected argument[0]: must be 'path' or 'buffer'.`);let[s,c]=await ae(o),l=await s.createInferenceSessionHandler(a,c);return He(`InferenceSession.create`),Be(),new e(l)}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}}}),Ke,qe=A(()=>{Ge(),Ke=We}),Je=A(()=>{}),Ye=A(()=>{}),Xe=A(()=>{}),Ze=A(()=>{}),Qe={};te(Qe,{InferenceSession:()=>Ke,TRACE:()=>Le,TRACE_EVENT_BEGIN:()=>Ve,TRACE_EVENT_END:()=>He,TRACE_FUNC_BEGIN:()=>ze,TRACE_FUNC_END:()=>Be,Tensor:()=>Fe,env:()=>pe,registerBackend:()=>N});var $e=A(()=>{se(),me(),qe(),Ie(),Je(),Ye(),Ue(),Xe(),Ze()}),et=A(()=>{}),tt={};te(tt,{default:()=>it});var nt,rt,it,at=A(()=>{Jn(),Ft(),Tt(),nt=`ort-wasm-proxy-worker`,rt=globalThis.self?.name===nt,rt&&(self.onmessage=e=>{let{type:t,in:n}=e.data;try{switch(t){case`init-wasm`:Nt(n.wasm).then(()=>{In(n).then(()=>{postMessage({type:t})},e=>{postMessage({type:t,err:e})})},e=>{postMessage({type:t,err:e})});break;case`init-ep`:{let{epName:e,env:r}=n;Ln(r,e).then(()=>{postMessage({type:t})},e=>{postMessage({type:t,err:e})});break}case`copy-from`:{let{buffer:e}=n,r=Vn(e);postMessage({type:t,out:r});break}case`create`:{let{model:e,options:r}=n;Hn(e,r).then(e=>{postMessage({type:t,out:e})},e=>{postMessage({type:t,err:e})});break}case`release`:Un(n),postMessage({type:t});break;case`run`:{let{sessionId:e,inputIndices:r,inputs:i,outputIndices:a,options:o}=n;Gn(e,r,i,a,Array(a.length).fill(null),o).then(e=>{e.some(e=>e[3]!==`cpu`)?postMessage({type:t,err:`Proxy does not support non-cpu tensor location.`}):postMessage({type:t,out:e},qn([...i,...e]))},e=>{postMessage({type:t,err:e})});break}case`end-profiling`:Kn(n),postMessage({type:t});break;default:}}catch(e){postMessage({type:t,err:e})}}),it=rt?null:e=>new Worker(e??mt,{type:`module`,name:nt})}),ot={};te(ot,{default:()=>ct});async function st(e={}){var t=e,n=!!globalThis.window,r=!!globalThis.WorkerGlobalScope,i=r&&self.name?.startsWith(`em-pthread`);t.mountExternalData=(e,n)=>{e.startsWith(`./`)&&(e=e.substring(2)),(t.Uc||=new Map).set(e,n)},t.unmountExternalData=()=>{delete t.Uc},globalThis.SharedArrayBuffer??new WebAssembly.Memory({initial:0,maximum:0,Be:!0}).buffer.constructor;let a=()=>{let e=e=>(...t)=>{let n=on;return t=e(...t),on==n?t:new Promise((e,t)=>{pn={resolve:e,reject:t}})};(()=>{for(let n of[`_OrtAppendExecutionProvider`,`_OrtCreateSession`,`_OrtRun`,`_OrtRunWithBinding`,`_OrtBindInput`])t[n]=e(t[n])})(),typeof jsepRunAsync<`u`&&(t._OrtRun=jsepRunAsync(t._OrtRun),t._OrtRunWithBinding=jsepRunAsync(t._OrtRunWithBinding)),a=void 0};t.asyncInit=()=>{a?.()};var o,s,c=(e,t)=>{throw t},l=import.meta.url,u=``;if(n||r){try{u=new URL(`.`,l).href}catch{}r&&(s=e=>{var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)}),o=async e=>{if(S(e))return new Promise((t,n)=>{var r=new XMLHttpRequest;r.open(`GET`,e,!0),r.responseType=`arraybuffer`,r.onload=()=>{r.status==200||r.status==0&&r.response?t(r.response):n(r.status)},r.onerror=n,r.send(null)});var t=await fetch(e,{credentials:`same-origin`});if(t.ok)return t.arrayBuffer();throw Error(t.status+` : `+t.url)}}var d,f,p,m,h,g,_=console.log.bind(console),v=console.error.bind(console),y=_,b=v,x=!1,S=e=>e.startsWith(`file://`);function C(){De.buffer!=T.buffer&&N()}if(i){let e=function(n){try{var r=n.data,i=r.Oc;if(i===`load`){let n=[];self.onmessage=e=>n.push(e),g=()=>{postMessage({Oc:`loaded`});for(let t of n)e(t);self.onmessage=e};for(let e of r.de)t[e]&&!t[e].proxy||(t[e]=(...t)=>{postMessage({Oc:`callHandler`,ce:e,args:t})},e==`print`&&(y=t[e]),e==`printErr`&&(b=t[e]));De=r.je,N(),f=r.ke,se(),Fo()}else if(i===`run`){(function(e){var t=(C(),k)[e+52>>>2>>>0];e=(C(),k)[e+56>>>2>>>0],ra(t,t-e),L(t)})(r.Nc),Ji(r.Nc,0,0,1,0,0),we(),Jt(r.Nc),w||=(Ei(),!0);try{Oe(r.he,r.Wc)}catch(e){if(e!=`unwind`)throw e}}else r.target!==`setimmediate`&&(i===`checkMailbox`?w&&Yt():i&&(b(`worker: received unknown command ${i}`),b(r)))}catch(e){throw Yi(),e}};var w=!1;self.onunhandledrejection=e=>{throw e.reason||e},self.onmessage=e}var T,E,ee,D,O,k,A,te,j,ne,re,M=!1;function N(){var e=De.buffer;t.HEAP8=T=new Int8Array(e),ee=new Int16Array(e),t.HEAPU8=E=new Uint8Array(e),D=new Uint16Array(e),t.HEAP32=O=new Int32Array(e),t.HEAPU32=k=new Uint32Array(e),A=new Float32Array(e),te=new Float64Array(e),j=new BigInt64Array(e),ne=new BigUint64Array(e)}function ie(){M=!0,i?g():Xa._b()}function ae(e){throw b(e=`Aborted(`+e+`)`),x=!0,e=new WebAssembly.RuntimeError(e+`. Build with -sASSERTIONS for more info.`),h?.(e),e}function oe(){return{a:{f:Me,J:Pe,k:ze,p:Be,l:Ve,ta:He,b:Ue,ca:We,Ka:Ke,q:qe,da:Qe,_a:$e,Ga:et,Ia:tt,$a:nt,Ya:rt,Ra:it,Xa:at,pa:ot,Ha:st,Yb:ct,Za:lt,Fa:ut,eb:dt,Da:yt,Tb:bt,Rb:Ot,Ca:At,M:jt,I:Mt,Sb:Ft,ka:Ut,Ub:Wt,Ua:Gt,Wb:Xt,La:Qt,Pb:$t,la:en,Ta:Jt,bb:tn,U:gn,n:Cn,c:Ct,sb:wn,w:Tn,L:En,z:Dn,j:On,o:kn,tb:An,G:jn,T:Mn,h:Nn,u:Pn,m:Fn,i:In,Oa:Ln,Pa:Vn,Qa:Hn,Ma:Un,Na:Wn,Qb:qn,fb:Jn,db:Zn,Y:er,rb:tr,ma:nr,cb:Yn,gb:rr,ab:ir,Xb:ar,N:Kn,hb:or,X:sr,Vb:cr,ob:kr,C:Ar,sa:jr,ra:Mr,qb:Nr,W:Pr,v:Fr,nb:Ir,mb:Lr,lb:Rr,pb:zr,kb:Br,jb:Vr,ib:Hr,Va:Kr,Wa:qr,Ja:ve,ea:Jr,oa:Yr,Sa:Xr,na:Qr,Db:No,xa:To,Eb:Mo,ya:wo,F:mo,e:no,s:eo,x:$a,D:fo,Ib:xo,ba:yo,B:ao,za:So,$:Eo,ha:bo,Fb:Ao,Gb:ko,Ba:ho,Aa:vo,Jb:go,wa:jo,aa:Co,d:to,A:io,r:ro,Cb:Po,t:so,y:po,H:oo,E:co,K:B,S:Do,ja:uo,_:Oo,Kb:z,Lb:lo,P:_o,g:$r,a:De,Ob:ge,Hb:ei,ia:ti,O:ni,qa:ri,Mb:ii,Q:ai,zb:oi,Ab:si,ua:ci,fa:li,R:ui,Ea:di,va:fi,Z:pi,xb:mi,Zb:hi,V:gi,Bb:_i,ub:vi,vb:bi,wb:xi,ga:Si,yb:Ci,Nb:wi}}}async function se(){function e(e,n){var r=Xa=e.exports;e={};for(let[t,n]of Object.entries(r))typeof n==`function`?(r=rn(n),e[t]=r):e[t]=n;return Xa=e,Xa=function(){var e=Xa,t=e=>t=>e(t)>>>0,n=e=>()=>e()>>>0;return(e=Object.assign({},e)).$b=t(e.$b),e.Cc=n(e.Cc),e.Ec=t(e.Ec),e.rd=(e=>(t,n)=>e(t,n)>>>0)(e.rd),e.wd=t(e.wd),e.xd=n(e.xd),e.Bd=t(e.Bd),e}(),xe.push(Xa.id),Ti=(e=Xa).$b,Ei=e.ac,t._OrtInit=e.bc,t._OrtGetLastError=e.cc,t._OrtCreateSessionOptions=e.dc,t._OrtAppendExecutionProvider=e.ec,t._OrtAddFreeDimensionOverride=e.fc,t._OrtAddSessionConfigEntry=e.gc,t._OrtReleaseSessionOptions=e.hc,t._OrtCreateSession=e.ic,t._OrtReleaseSession=e.jc,t._OrtGetInputOutputCount=e.kc,t._OrtGetInputOutputMetadata=e.lc,t._OrtFree=e.mc,t._OrtCreateTensor=e.nc,t._OrtGetTensorData=e.oc,t._OrtReleaseTensor=e.pc,t._OrtCreateRunOptions=e.qc,t._OrtAddRunConfigEntry=e.rc,t._OrtReleaseRunOptions=e.sc,t._OrtCreateBinding=e.tc,t._OrtBindInput=e.uc,t._OrtBindOutput=e.vc,t._OrtClearBoundOutputs=e.wc,t._OrtReleaseBinding=e.xc,t._OrtRunWithBinding=e.yc,t._OrtRun=e.zc,t._OrtEndProfiling=e.Ac,Di=t._OrtGetWebGpuDevice=e.Bc,Oi=e.Cc,ki=t._free=e.Dc,Ai=t._malloc=e.Ec,ji=t._wgpuBufferRelease=e.Fc,Mi=t._wgpuCreateInstance=e.Gc,F=e.Hc,Ni=e.Ic,Pi=e.Jc,Fi=e.Kc,Ii=e.Lc,Li=e.Pc,Ri=e.Zc,zi=e._c,Bi=e.$c,Vi=e.bd,Hi=e.cd,Ui=e.dd,Wi=e.ed,Gi=e.fd,Ki=e.gd,qi=e.hd,Ji=e.kd,Yi=e.ld,Xi=e.md,Zi=e.nd,Qi=e.od,$i=e.pd,ea=e.qd,ta=e.rd,I=e.sd,na=e.td,ra=e.ud,L=e.vd,ia=e.wd,R=e.xd,aa=e.yd,oa=e.zd,sa=e.Ad,ca=e.Bd,la=e.Cd,ua=e.Dd,da=e.Ed,fa=e.Fd,pa=e.Gd,ma=e.Hd,ha=e.Id,ga=e.Jd,_a=e.Kd,va=e.Ld,ya=e.Md,ba=e.Nd,xa=e.Od,Sa=e.Pd,Ca=e.Qd,wa=e.Rd,Ta=e.Td,Ea=e.Ud,Da=e.Vd,Oa=e.Wd,ka=e.Yd,Aa=e.Zd,ja=e._d,Ma=e.$d,Na=e.ae,Pa=e.be,Fa=e.pe,Ia=e.qe,La=e.re,Ra=e.se,za=e.te,Ba=e.ue,Va=e.ve,Ha=e.we,Ua=e.xe,Wa=e.ye,Ga=e.ze,Ka=e.Xe,qa=e.Ye,Ja=e.Ze,Ya=e._e,f=n,Xa}var n,r=oe();return t.instantiateWasm?new Promise(n=>{t.instantiateWasm(r,(t,r)=>{n(e(t,r))})}):i?e(new WebAssembly.Instance(f,oe()),f):(re??=t.locateFile?t.locateFile?t.locateFile(`ort-wasm-simd-threaded.asyncify.wasm`,u):u+`ort-wasm-simd-threaded.asyncify.wasm`:new URL(`/assets/ort-wasm-simd-threaded.asyncify-BrebZMa_.wasm`,``+import.meta.url).href,n=await async function(e){var t=re;if(!d&&!S(t))try{var n=fetch(t,{credentials:`same-origin`});return await WebAssembly.instantiateStreaming(n,e)}catch(e){b(`wasm streaming compile failed: ${e}`),b(`falling back to ArrayBuffer instantiation`)}return async function(e,t){try{var n=await async function(e){if(!d)try{var t=await o(e);return new Uint8Array(t)}catch{}if(e==re&&d)e=new Uint8Array(d);else{if(!s)throw`both async and sync fetching of the wasm failed`;e=s(e)}return e}(e);return await WebAssembly.instantiate(n,t)}catch(e){b(`failed to asynchronously prepare wasm: ${e}`),ae(e)}}(t,e)}(r),e(n.instance,n.module))}class ce{name=`ExitStatus`;constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var le=e=>{e.terminate(),e.onmessage=()=>{}},ue=[],de=0,fe=null,pe=e=>{ye.length==0&&(Ee(),Te(ye[0]));var t=ye.pop();if(!t)return 6;be.push(t),Se[e.Nc]=t,t.Nc=e.Nc;var n={Oc:`run`,he:e.ge,Wc:e.Wc,Nc:e.Nc};return t.postMessage(n,e.Yc),0},me=0,he=(e,t,...n)=>{var r,i=16*n.length,a=R(),o=ia(i),s=o>>>3;for(r of n)typeof r==`bigint`?((C(),j)[s++>>>0]=1n,(C(),j)[s++>>>0]=r):((C(),j)[s++>>>0]=0n,(C(),te)[s++>>>0]=r);return e=Xi(e,0,i,o,t),L(a),e};function ge(e){if(i)return he(0,1,e);if(p=e,!(0{if(p=e,i)throw _e(e),`unwind`;ge(e)},ye=[],be=[],xe=[],Se={},Ce=e=>{var t=e.Nc;delete Se[t],ye.push(e),be.splice(be.indexOf(e),1),e.Nc=0,Zi(t)};function we(){xe.forEach(e=>e())}var Te=e=>new Promise(n=>{e.onmessage=r=>{var i=r.data;if(r=i.Oc,i.Vc&&i.Vc!=Oi()){var a=Se[i.Vc];a?a.postMessage(i,i.Yc):b(`Internal error! Worker sent a message "${r}" to target pthread ${i.Vc}, but that thread no longer exists!`)}else r===`checkMailbox`?Yt():r===`spawnThread`?pe(i):r===`cleanupThread`?Kt(()=>{Ce(Se[i.ie])}):r===`loaded`?(e.loaded=!0,n(e)):i.target===`setimmediate`?e.postMessage(i):r===`uncaughtException`?e.onerror(i.error):r===`callHandler`?t[i.ce](...i.args):r&&b(`worker sent an unknown command ${r}`)},e.onerror=e=>{throw b(`worker sent an error! ${e.filename}:${e.lineno}: ${e.message}`),e};var r,i=[];for(r of[])t.propertyIsEnumerable(r)&&i.push(r);e.postMessage({Oc:`load`,de:i,je:De,ke:f})});function Ee(){var e=new Worker((()=>{let e=URL;return import.meta.url>`file:`&&import.meta.url<`file;`?new e(`ort.webgpu.bundle.min.mjs`,import.meta.url):new URL(import.meta.url)})(),{type:`module`,workerData:`em-pthread`,name:`em-pthread`});ye.push(e)}var De,Oe=(e,t)=>{me=0,e=ua(e,t),0-9007199254740992>e||9007199254740992>>=0);return(C(),T)[t.Qc+12>>>0]==0&&(Fe(t,!0),Ae--),Ie(t,!1),ke.push(t),ca(e)}var Ne=0,Pe=()=>{I(0,0);var e=ke.pop();aa(e.Xc),Ne=0};function Fe(e,t){t=t?1:0,(C(),T)[e.Qc+12>>>0]=t}function Ie(e,t){t=t?1:0,(C(),T)[e.Qc+13>>>0]=t}class Le{constructor(e){this.Xc=e,this.Qc=e-24}}var Re=e=>{var t=Ne;if(!t)return na(0),0;var n=new Le(t);(C(),k)[n.Qc+16>>>2>>>0]=t;var r=(C(),k)[n.Qc+4>>>2>>>0];if(!r)return na(0),t;for(var i of e){if(i===0||i===r)break;if(sa(i,r,n.Qc+16))return na(i),t}return na(r),t};function ze(){return Re([])}function Be(e){return Re([e>>>0])}function Ve(e,t,n,r){return Re([e>>>0,t>>>0,n>>>0,r>>>0])}var He=()=>{var e=ke.pop();e||ae(`no exception to throw`);var t=e.Xc;throw(C(),T)[e.Qc+13>>>0]==0&&(ke.push(e),Ie(e,!0),Fe(e,!1),Ae++),oa(t),Ne=t};function Ue(e,t,n){var r=new Le(e>>>=0);throw t>>>=0,n>>>=0,(C(),k)[r.Qc+16>>>2>>>0]=0,(C(),k)[r.Qc+4>>>2>>>0]=t,(C(),k)[r.Qc+8>>>2>>>0]=n,oa(e),Ae++,Ne=e}var We=()=>Ae;function Ge(e,t,n,r){return i?he(2,1,e,t,n,r):Ke(e,t,n,r)}function Ke(e,t,n,r){if(e>>>=0,t>>>=0,n>>>=0,r>>>=0,!globalThis.SharedArrayBuffer)return 6;var a=[];return i&&a.length===0?Ge(e,t,n,r):(e={ge:n,Nc:e,Wc:r,Yc:a},i?(e.Oc=`spawnThread`,postMessage(e,a),0):pe(e))}function qe(e){throw Ne||=e>>>0,Ne}var Je=globalThis.TextDecoder&&new TextDecoder,Ye=(e,t,n,r)=>{if(n=t+n,r)return n;for(;e[t]&&!(t>=n);)++t;return t},Xe=(e,t=0,n,r)=>{if(16<(n=Ye(e,t>>>=0,n,r))-t&&e.buffer&&Je)return Je.decode(e.buffer instanceof ArrayBuffer?e.subarray(t,n):e.slice(t,n));for(r=``;t(i=(240&i)==224?(15&i)<<12|a<<6|o:(7&i)<<18|a<<12|o<<6|63&e[t++])?r+=String.fromCharCode(i):(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|1023&i))}}else r+=String.fromCharCode(i)}return r},Ze=(e,t,n)=>(e>>>=0)?Xe((C(),E),e,t,n):``;function Qe(e,t,n){return i?he(3,1,e,t,n):0}function $e(e,t){if(i)return he(4,1,e,t)}function et(e,t){if(i)return he(5,1,e,t)}function tt(e,t,n){if(i)return he(6,1,e,t,n)}function nt(e,t,n){return i?he(7,1,e,t,n):0}function rt(e,t){if(i)return he(8,1,e,t)}function it(e,t,n){if(i)return he(9,1,e,t,n)}function at(e,t,n,r){if(i)return he(10,1,e,t,n,r)}function ot(e,t,n,r){if(i)return he(11,1,e,t,n,r)}function st(e,t,n,r){if(i)return he(12,1,e,t,n,r)}function ct(e){if(i)return he(13,1,e)}function lt(e,t){if(i)return he(14,1,e,t)}function ut(e,t,n){if(i)return he(15,1,e,t,n)}var dt=()=>ae(``),ft=e=>{e>>>=0;for(var t=``;;){var n=(C(),E)[e++>>>0];if(!n)return t;t+=String.fromCharCode(n)}},pt={},mt={},ht={},gt=class extends Error{constructor(e){super(e),this.name=`BindingError`}};function _t(e,t,n={}){return function(e,t,n={}){var r=t.name;if(!e)throw new gt(`type "${r}" must have a positive integer typeid pointer`);if(mt.hasOwnProperty(e)){if(n.ee)return;throw new gt(`Cannot register type '${r}' twice`)}mt[e]=t,delete ht[e],pt.hasOwnProperty(e)&&(t=pt[e],delete pt[e],t.forEach(e=>e()))}(e,t,n)}var vt=(e,t,n)=>{switch(t){case 1:return n?e=>(C(),T)[e>>>0]:e=>(C(),E)[e>>>0];case 2:return n?e=>(C(),ee)[e>>>1>>>0]:e=>(C(),D)[e>>>1>>>0];case 4:return n?e=>(C(),O)[e>>>2>>>0]:e=>(C(),k)[e>>>2>>>0];case 8:return n?e=>(C(),j)[e>>>3>>>0]:e=>(C(),ne)[e>>>3>>>0];default:throw TypeError(`invalid integer width (${t}): ${e}`)}};function yt(e,t,n,r,i){e>>>=0,n>>>=0,t=ft(t>>>0);let a=e=>e;if(r=r===0n){let e=8*n;a=t=>BigInt.asUintN(e,t),i=a(i)}_t(e,{name:t,Mc:a,Sc:(e,t)=>(typeof t==`number`&&(t=BigInt(t)),t),Rc:vt(t,n,!r),Tc:null})}function bt(e,t,n,r){_t(e>>>=0,{name:t=ft(t>>>0),Mc:function(e){return!!e},Sc:function(e,t){return t?n:r},Rc:function(e){return this.Mc((C(),E)[e>>>0])},Tc:null})}var xt=[],St=[0,1,,1,null,1,!0,1,!1,1];function Ct(e){9<(e>>>=0)&&--St[e+1]==0&&(St[e]=void 0,xt.push(e))}var wt=e=>{if(!e)throw new gt(`Cannot use deleted val. handle = ${e}`);return St[e]},Tt=e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:let t=xt.pop()||St.length;return St[t]=e,St[t+1]=1,t}};function Et(e){return this.Mc((C(),k)[e>>>2>>>0])}var Dt={name:`emscripten::val`,Mc:e=>{var t=wt(e);return Ct(e),t},Sc:(e,t)=>Tt(t),Rc:Et,Tc:null};function Ot(e){return _t(e>>>0,Dt)}var kt=(e,t)=>{switch(t){case 4:return function(e){return this.Mc((C(),A)[e>>>2>>>0])};case 8:return function(e){return this.Mc((C(),te)[e>>>3>>>0])};default:throw TypeError(`invalid float width (${t}): ${e}`)}};function At(e,t,n){n>>>=0,_t(e>>>=0,{name:t=ft(t>>>0),Mc:e=>e,Sc:(e,t)=>t,Rc:kt(t,n),Tc:null})}function jt(e,t,n,r,i){e>>>=0,n>>>=0,t=ft(t>>>0);let a=e=>e;if(r===0){var o=32-8*n;a=e=>e<>>o,i=a(i)}_t(e,{name:t,Mc:a,Sc:(e,t)=>t,Rc:vt(t,n,r!==0),Tc:null})}function Mt(e,t,n){function r(e){var t=(C(),k)[e>>>2>>>0];return e=(C(),k)[e+4>>>2>>>0],new i((C(),T).buffer,e,t)}var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][t];_t(e>>>=0,{name:n=ft(n>>>0),Mc:r,Rc:r},{ee:!0})}var Nt=(e,t,n)=>{var r=(C(),E);if(t>>>=0,0=o){if(t>=n)break;r[t++>>>0]=o}else if(2047>=o){if(t+1>=n)break;r[t++>>>0]=192|o>>6,r[t++>>>0]=128|63&o}else if(65535>=o){if(t+2>=n)break;r[t++>>>0]=224|o>>12,r[t++>>>0]=128|o>>6&63,r[t++>>>0]=128|63&o}else{if(t+3>=n)break;r[t++>>>0]=240|o>>18,r[t++>>>0]=128|o>>12&63,r[t++>>>0]=128|o>>6&63,r[t++>>>0]=128|63&o,a++}}r[t>>>0]=0,e=t-i}else e=0;return e},Pt=e=>{for(var t=0,n=0;n=r?t++:2047>=r?t+=2:55296<=r&&57343>=r?(t+=4,++n):t+=3}return t};function Ft(e,t){_t(e>>>=0,{name:t=ft(t>>>0),Mc(e){var t=(C(),k)[e>>>2>>>0];return t=Ze(e+4,t,!0),ki(e),t},Sc(e,t){t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n=typeof t==`string`;if(!(n||ArrayBuffer.isView(t)&&t.BYTES_PER_ELEMENT==1))throw new gt(`Cannot pass non-string to std::string`);var r=n?Pt(t):t.length,i=Ai(4+r+1),a=i+4;return(C(),k)[i>>>2>>>0]=r,n?Nt(t,a,r+1):(C(),E).set(t,a>>>0),e!==null&&e.push(ki,i),i},Rc:Et,Tc(e){ki(e)}})}var It=globalThis.TextDecoder?new TextDecoder(`utf-16le`):void 0,Lt=(e,t,n)=>{if(e>>>=1,16<(t=Ye((C(),D),e,t/2,n))-e&&It)return It.decode((C(),D).slice(e,t));for(n=``;e>>0];n+=String.fromCharCode(r)}return n},Rt=(e,t,n)=>{if(n??=2147483647,2>n)return 0;var r=t;n=(n-=2)<2*e.length?n/2:e.length;for(var i=0;i>>1>>>0]=a,t+=2}return(C(),ee)[t>>>1>>>0]=0,t-r},zt=e=>2*e.length,Bt=(e,t,n)=>{var r=``;e>>>=2;for(var i=0;!(i>=t/4);i++){var a=(C(),k)[e+i>>>0];if(!a&&!n)break;r+=String.fromCodePoint(a)}return r},Vt=(e,t,n)=>{if(t>>>=0,n??=2147483647,4>n)return 0;var r=t;n=r+n-4;for(var i=0;i>>2>>>0]=a,(t+=4)+4>n)break}return(C(),O)[t>>>2>>>0]=0,t-r},Ht=e=>{for(var t=0,n=0;n>>=0,t>>>=0,n=ft(n>>>=0),t===2)var r=Lt,i=Rt,a=zt;else r=Bt,i=Vt,a=Ht;_t(e,{name:n,Mc:e=>{var n=(C(),k)[e>>>2>>>0];return n=r(e+4,n*t,!0),ki(e),n},Sc:(e,r)=>{if(typeof r!=`string`)throw new gt(`Cannot pass non-string to C++ string type ${n}`);var o=a(r),s=Ai(4+o+t);return(C(),k)[s>>>2>>>0]=o/t,i(r,s+4,o+t),e!==null&&e.push(ki,s),s},Rc:Et,Tc(e){ki(e)}})}function Wt(e,t){_t(e>>>=0,{fe:!0,name:t=ft(t>>>0),Mc:()=>{},Sc:()=>{}})}function Gt(e){Ji(e>>>0,!r,1,!n,131072,!1),we()}var Kt=e=>{if(!x)try{if(e(),!(0Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function Jt(e){e>>>=0,qt||(Atomics.waitAsync((C(),O),e>>>2,e).value.then(Yt),e+=128,Atomics.store((C(),O),e>>>2,1))}var Yt=()=>Kt(()=>{var e=Oi();e&&(Jt(e),ea())});function Xt(e,t){(e>>>=0)==t>>>0?setTimeout(Yt):i?postMessage({Vc:e,Oc:`checkMailbox`}):(e=Se[e])&&e.postMessage({Oc:`checkMailbox`})}var Zt=[];function Qt(e,t,n,r,i){for(t>>>=0,i>>>=0,Zt.length=0,n=i>>>3,r=i+r>>>3;n>>0]?(C(),j)[n++>>>0]:(C(),te)[n++>>>0];Zt.push(a)}return(t?Qa[t]:Za[e])(...Zt)}var $t=()=>{me=0};function en(e){e>>>=0,i?postMessage({Oc:`cleanupThread`,ie:e}):Ce(Se[e])}function tn(e){}var nn=e=>{try{e()}catch(e){ae(e)}};function rn(e){var t=(...t)=>{cn.push(e);try{return e(...t)}finally{x||(cn.pop(),on&&an===1&&cn.length===0&&(an=0,me+=1,nn(qa),typeof Fibers<`u`&&Fibers.De()))}};return dn.set(e,t),t}var an=0,on=null,sn=0,cn=[],ln=new Map,un=new Map,dn=new Map,fn=0,pn=null,mn=[],hn=e=>function(e){if(!x){if(an===0){var t=!1,n=!1;e((e=0)=>{if(!x&&(sn=e,t=!0,n)){an=2,nn(()=>Ja(on)),typeof MainLoop<`u`&&MainLoop.Xd&&MainLoop.resume(),e=!1;try{var r=function(){var e=(C(),O)[on+8>>>2>>>0];return e=un.get(e),e=dn.get(e),--me,e()}()}catch(t){r=t,e=!0}var i=!1;if(!on){var a=pn;a&&(pn=null,(e?a.reject:a.resolve)(r),i=!0)}if(e&&!i)throw r}}),n=!0,t||(an=1,on=function(){var e=Ai(65548),t=e+12;if((C(),k)[e>>>2>>>0]=t,(C(),k)[e+4>>>2>>>0]=t+65536,t=cn[0],!ln.has(t)){var n=fn++;ln.set(t,n),un.set(n,t)}return t=ln.get(t),(C(),O)[e+8>>>2>>>0]=t,e}(),typeof MainLoop<`u`&&MainLoop.Xd&&MainLoop.pause(),nn(()=>Ka(on)))}else an===2?(an=0,nn(Ya),ki(on),on=null,mn.forEach(Kt)):ae(`invalid state: ${an}`);return sn}}(t=>{e().then(t)});function gn(e){return e>>>=0,hn(async()=>Tt(await wt(e)))}var _n=[],vn=e=>{var t=_n.length;return _n.push(e),t},yn=(e,t)=>{for(var n=Array(e),r=0;r>>2>>>0],o=mt[a];if(o===void 0)throw e=`parameter ${r}`,a=Ti(a),t=ft(a),ki(a),new gt(`${e} has unknown type ${t}`);n[i]=o}return n},bn=(e,t,n)=>{var r=[];return e=e(r,n),r.length&&((C(),k)[t>>>2>>>0]=Tt(r)),e},xn={},Sn=e=>{var t=xn[e];return t===void 0?ft(e):t};function Cn(e,t,n){var[r,...i]=yn(e,t>>>0);t=r.Sc.bind(r);var a=i.map(e=>e.Rc.bind(e));e--;var o={toValue:wt};switch(e=a.map((e,t)=>{var n=`argFromPtr${t}`;return o[n]=e,`${n}(args${t?`+`+8*t:``})`}),n){case 0:var s=`toValue(handle)`;break;case 2:s=`new (toValue(handle))`;break;case 3:s=``;break;case 1:o.getStringOrSymbol=Sn,s=`toValue(handle)[getStringOrSymbol(methodName)]`}return s+=`(${e})`,r.fe||(o.toReturnWire=t,o.emval_returnValue=bn,s=`return emval_returnValue(toReturnWire, destructorsRef, ${s})`),s=`return function (handle, methodName, destructorsRef, args) { + ${s} + }`,n=Function(Object.keys(o),s)(...Object.values(o)),s=`methodCaller<(${i.map(e=>e.name)}) => ${r.name}>`,vn(Object.defineProperty(n,`name`,{value:s}))}function wn(e,t){return t>>>=0,(e=wt(e>>>0))==wt(t)}function Tn(e){return(e>>>=0)?(e=Sn(e),Tt(globalThis[e])):Tt(globalThis)}function En(e){return e=Sn(e>>>0),Tt(t[e])}function Dn(e,t){return t>>>=0,e=wt(e>>>0),t=wt(t),Tt(e[t])}function On(e){9<(e>>>=0)&&(St[e+1]+=1)}function kn(e,t,n,r,i){return _n[e>>>0](t>>>0,n>>>0,r>>>0,i>>>0)}function An(e,t,n,r,i){return kn(e>>>0,t>>>0,n>>>0,r>>>0,i>>>0)}function jn(){return Tt([])}function Mn(e){e=wt(e>>>0);for(var t=Array(e.length),n=0;n>>0))}function Pn(){return Tt({})}function Fn(e){for(var t=wt(e>>>=0);t.length;){var n=t.pop();t.pop()(n)}Ct(e)}function In(e,t,n){t>>>=0,n>>>=0,e=wt(e>>>0),t=wt(t),n=wt(n),e[t]=n}function Ln(e,t){e=je(e),t>>>=0,e=new Date(1e3*e),(C(),O)[t>>>2>>>0]=e.getUTCSeconds(),(C(),O)[t+4>>>2>>>0]=e.getUTCMinutes(),(C(),O)[t+8>>>2>>>0]=e.getUTCHours(),(C(),O)[t+12>>>2>>>0]=e.getUTCDate(),(C(),O)[t+16>>>2>>>0]=e.getUTCMonth(),(C(),O)[t+20>>>2>>>0]=e.getUTCFullYear()-1900,(C(),O)[t+24>>>2>>>0]=e.getUTCDay(),e=(e.getTime()-Date.UTC(e.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,(C(),O)[t+28>>>2>>>0]=e}var Rn=e=>e%4==0&&(e%100!=0||e%400==0),zn=[0,31,60,91,121,152,182,213,244,274,305,335],Bn=[0,31,59,90,120,151,181,212,243,273,304,334];function Vn(e,t){e=je(e),t>>>=0,e=new Date(1e3*e),(C(),O)[t>>>2>>>0]=e.getSeconds(),(C(),O)[t+4>>>2>>>0]=e.getMinutes(),(C(),O)[t+8>>>2>>>0]=e.getHours(),(C(),O)[t+12>>>2>>>0]=e.getDate(),(C(),O)[t+16>>>2>>>0]=e.getMonth(),(C(),O)[t+20>>>2>>>0]=e.getFullYear()-1900,(C(),O)[t+24>>>2>>>0]=e.getDay();var n=(Rn(e.getFullYear())?zn:Bn)[e.getMonth()]+e.getDate()-1|0;(C(),O)[t+28>>>2>>>0]=n,(C(),O)[t+36>>>2>>>0]=-60*e.getTimezoneOffset(),n=new Date(e.getFullYear(),6,1).getTimezoneOffset();var r=new Date(e.getFullYear(),0,1).getTimezoneOffset();e=0|(n!=r&&e.getTimezoneOffset()==Math.min(r,n)),(C(),O)[t+32>>>2>>>0]=e}function Hn(e){e>>>=0;var t=new Date((C(),O)[e+20>>>2>>>0]+1900,(C(),O)[e+16>>>2>>>0],(C(),O)[e+12>>>2>>>0],(C(),O)[e+8>>>2>>>0],(C(),O)[e+4>>>2>>>0],(C(),O)[e>>>2>>>0],0),n=(C(),O)[e+32>>>2>>>0],r=t.getTimezoneOffset(),i=new Date(t.getFullYear(),6,1).getTimezoneOffset(),a=new Date(t.getFullYear(),0,1).getTimezoneOffset(),o=Math.min(a,i);return 0>n?(C(),O)[e+32>>>2>>>0]=+(i!=a&&o==r):0>>2>>>0]=t.getDay(),n=(Rn(t.getFullYear())?zn:Bn)[t.getMonth()]+t.getDate()-1|0,(C(),O)[e+28>>>2>>>0]=n,(C(),O)[e>>>2>>>0]=t.getSeconds(),(C(),O)[e+4>>>2>>>0]=t.getMinutes(),(C(),O)[e+8>>>2>>>0]=t.getHours(),(C(),O)[e+12>>>2>>>0]=t.getDate(),(C(),O)[e+16>>>2>>>0]=t.getMonth(),(C(),O)[e+20>>>2>>>0]=t.getYear(),e=t.getTime(),BigInt(isNaN(e)?-1:e/1e3)}function Un(e,t,n,r,a,o,s){return i?he(16,1,e,t,n,r,a,o,s):-52}function Wn(e,t,n,r,a,o){if(i)return he(17,1,e,t,n,r,a,o)}var Gn={},Kn=()=>performance.timeOrigin+performance.now();function qn(e,t){return i?he(18,1,e,t):(Gn[e]&&(clearTimeout(Gn[e].id),delete Gn[e]),t&&(Gn[e]={id:setTimeout(()=>{delete Gn[e],Kt(()=>$i(e,performance.timeOrigin+performance.now()))},t),Ce:t}),0)}function Jn(e,t,n,r){e>>>=0,t>>>=0,n>>>=0,r>>>=0;var i=new Date().getFullYear(),a=new Date(i,0,1).getTimezoneOffset();i=new Date(i,6,1).getTimezoneOffset();var o=Math.max(a,i);(C(),k)[e>>>2>>>0]=60*o,(C(),O)[t>>>2>>>0]=+(a!=i),e=(t=e=>{var t=Math.abs(e);return`UTC${0<=e?`-`:`+`}${String(Math.floor(t/60)).padStart(2,`0`)}${String(t%60).padStart(2,`0`)}`})(a),t=t(i),iDate.now(),Xn=1;function Zn(e,t,n){if(n>>>=0,!(0<=e&&3>=e))return 28;if(e===0)e=Date.now();else{if(!Xn)return 52;e=performance.timeOrigin+performance.now()}return e=Math.round(1e6*e),(C(),j)[n>>>3>>>0]=BigInt(e),0}var Qn=[],$n=(e,t)=>{Qn.length=0;for(var n;n=(C(),E)[e++>>>0];){var r=n!=105;t+=(r&=n!=112)&&t%8?4:0,Qn.push(n==112?(C(),k)[t>>>2>>>0]:n==106?(C(),j)[t>>>3>>>0]:n==105?(C(),O)[t>>>2>>>0]:(C(),te)[t>>>3>>>0]),t+=r?8:4}return Qn};function er(e,t,n){return e>>>=0,t=$n(t>>>0,n>>>0),Qa[e](...t)}function tr(e,t,n){return e>>>=0,t=$n(t>>>0,n>>>0),Qa[e](...t)}var nr=()=>{};function rr(e,t){return b(Ze(e>>>0,t>>>0))}var ir=()=>{throw me+=1,`unwind`};function ar(){return 4294901760}var or=()=>1,sr=()=>navigator.hardwareConcurrency;function cr(e){e>>>=0;var t=(C(),E).length;if(e<=t||4294901760=n;n*=2){var r=t*(1+.2/n);r=Math.min(r,e+100663296);e:{r=(Math.min(4294901760,65536*Math.ceil(Math.max(e,r)/65536))-De.buffer.byteLength+65535)/65536|0;try{De.grow(r),N();var i=1;break e}catch{}i=void 0}if(i)return!0}return!1}var lr=e=>{var t=Pt(e)+1,n=ia(t);return Nt(e,n,t),n},ur=(e,t)=>{(C(),k)[e>>>2>>>0]=t;var n=(C(),k)[e>>>2>>>0];(C(),k)[e+4>>>2>>>0]=(t-n)/4294967296},dr=e=>(C(),k)[e>>>2>>>0]+4294967296*(C(),O)[e+4>>>2>>>0],fr=[],pr=(e,t)=>{fr[e>>>0]=t},mr=[],hr=[],gr=(e,t)=>{hr[e]=new Promise(n=>t.finally(()=>n(e)))},P=e=>{if(e)return fr[e>>>0]},_r=(e,t)=>{for(e=(C(),k)[e>>>2>>>0];e;e=(C(),k)[e>>>2>>>0])t[(C(),O)[e+4>>>2>>>0]](e)},vr=(e,t,n)=>{(C(),k)[e>>>2>>>0]=t,(C(),k)[e+4>>>2>>>0]=n},yr=e=>{var t=(C(),k)[e>>>2>>>0];return e=(C(),k)[e+4>>>2>>>0],Ze(t,e)},br=e=>{var t=(C(),k)[e>>>2>>>0];return e=(C(),k)[e+4>>>2>>>0],t?Ze(t,e):e===0?``:void 0},xr=e=>{var t=br(e+4),n=(n=(C(),k)[e+12>>>2>>>0])?P(n):`auto`;if(e+=16){var r=P((C(),k)[e+4>>>2>>>0]),i=(C(),k)[e+16>>>2>>>0],a=(C(),k)[e+20>>>2>>>0];if(i){for(var o={},s=0;s>>3>>>0]}i=o}else i=void 0;e={module:r,constants:i,entryPoint:br(e+8)}}else e=void 0;return{label:t,layout:n,compute:e}},Sr=(e,t)=>{function n(n,r){n=e[n],(C(),k)[t+r>>>2>>>0]=n}n(`maxTextureDimension1D`,4),n(`maxTextureDimension2D`,8),n(`maxTextureDimension3D`,12),n(`maxTextureArrayLayers`,16),n(`maxBindGroups`,20),n(`maxBindGroupsPlusVertexBuffers`,24),n(`maxBindingsPerBindGroup`,28),n(`maxDynamicUniformBuffersPerPipelineLayout`,32),n(`maxDynamicStorageBuffersPerPipelineLayout`,36),n(`maxSampledTexturesPerShaderStage`,40),n(`maxSamplersPerShaderStage`,44),n(`maxStorageBuffersPerShaderStage`,48),n(`maxStorageTexturesPerShaderStage`,52),n(`maxUniformBuffersPerShaderStage`,56),n(`minUniformBufferOffsetAlignment`,80),n(`minStorageBufferOffsetAlignment`,84),ur(t+64,e.maxUniformBufferBindingSize),ur(t+72,e.maxStorageBufferBindingSize),n(`maxVertexBuffers`,88),ur(t+96,e.maxBufferSize),n(`maxVertexAttributes`,104),n(`maxVertexBufferArrayStride`,108),n(`maxInterStageShaderVariables`,112),n(`maxColorAttachments`,116),n(`maxColorAttachmentBytesPerSample`,120),n(`maxComputeWorkgroupStorageSize`,124),n(`maxComputeInvocationsPerWorkgroup`,128),n(`maxComputeWorkgroupSizeX`,132),n(`maxComputeWorkgroupSizeY`,136),n(`maxComputeWorkgroupSizeZ`,140),n(`maxComputeWorkgroupsPerDimension`,144),e.Ae!==void 0&&n(`maxImmediateSize`,148)},Cr=[,`validation`,`out-of-memory`,`internal`],wr=[,`compatibility`,`core`],Tr={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`},Er=[,`low-power`,`high-performance`],Dr=[,`occlusion`,`timestamp`],Or={undefined:1,unknown:1,destroyed:2};function kr(e,t,n,r,i,a){t=je(t),n=je(n),r>>>=0,i>>>=0,a>>>=0;var o=P(e>>>0);if(e={},a){var s=(C(),k)[a+12>>>2>>>0];if(s){var c=(C(),k)[a+16>>>2>>>0];e.requiredFeatures=Array.from((C(),k).subarray(c>>>2>>>0,c+4*s>>>2>>>0),e=>Tr[e])}var l=(C(),k)[a+20>>>2>>>0];if(l){let t=function(e,t,n=!1){t=l+t,(t=(C(),k)[t>>>2>>>0])==4294967295||n&&t==0||(u[e]=t)},n=function(e,t){t=l+t;var n=(C(),k)[t>>>2>>>0],r=(C(),k)[t+4>>>2>>>0];n==4294967295&&r==4294967295||(u[e]=dr(t))};var u={};t(`maxTextureDimension1D`,4),t(`maxTextureDimension2D`,8),t(`maxTextureDimension3D`,12),t(`maxTextureArrayLayers`,16),t(`maxBindGroups`,20),t(`maxBindGroupsPlusVertexBuffers`,24),t(`maxDynamicUniformBuffersPerPipelineLayout`,32),t(`maxDynamicStorageBuffersPerPipelineLayout`,36),t(`maxSampledTexturesPerShaderStage`,40),t(`maxSamplersPerShaderStage`,44),t(`maxStorageBuffersPerShaderStage`,48),t(`maxStorageTexturesPerShaderStage`,52),t(`maxUniformBuffersPerShaderStage`,56),t(`minUniformBufferOffsetAlignment`,80),t(`minStorageBufferOffsetAlignment`,84),n(`maxUniformBufferBindingSize`,64),n(`maxStorageBufferBindingSize`,72),t(`maxVertexBuffers`,88),n(`maxBufferSize`,96),t(`maxVertexAttributes`,104),t(`maxVertexBufferArrayStride`,108),t(`maxInterStageShaderVariables`,112),t(`maxColorAttachments`,116),t(`maxColorAttachmentBytesPerSample`,120),t(`maxComputeWorkgroupStorageSize`,124),t(`maxComputeInvocationsPerWorkgroup`,128),t(`maxComputeWorkgroupSizeX`,132),t(`maxComputeWorkgroupSizeY`,136),t(`maxComputeWorkgroupSizeZ`,140),t(`maxComputeWorkgroupsPerDimension`,144),t(`maxImmediateSize`,148,!0),e.requiredLimits=u}(s=(C(),k)[a+24>>>2>>>0])&&(s={label:br(s+4)},e.defaultQueue=s),e.label=br(a+4)}me+=1,gr(t,o.requestDevice(e).then(e=>{--me,Kt(()=>{fr[i>>>0]=e.queue,fr[r>>>0]=e,me+=1,gr(n,e.lost.then(t=>{Kt(()=>{e.onuncapturederror=()=>{};var r=R(),i=lr(t.message);Hi(n,Or[t.reason],i),L(r)}),--me})),e.onuncapturederror=e=>{var t=5;e.error instanceof GPUValidationError?t=2:e.error instanceof GPUOutOfMemoryError?t=3:e.error instanceof GPUInternalError&&(t=4);var n=R();e=lr(e.error.message),qi(r,t,e),L(n)},`adapterInfo`in e||(e.adapterInfo=o.info),Ki(t,1,r,0)})},e=>{--me,Kt(()=>{var i=R(),a=lr(e.message);Ki(t,3,r,a),n&&Hi(n,4,a),L(i)})}))}function Ar(e){var t=P(e>>>=0),n=mr[e];if(n){for(var r=0;r>>=0;var r=P(e>>>=0);n==4294967295&&(n=void 0);try{var i=r.getMappedRange(t>>>0,n)}catch{return 0}var a=ta(16,i.byteLength);return(C(),E).set(new Uint8Array(i),a>>>0),mr[e].push(()=>ki(a)),a}function Mr(e,t,n){n>>>=0;var r=P(e>>>=0);n==4294967295&&(n=void 0);try{var i=r.getMappedRange(t>>>0,n)}catch{return 0}var a=ta(16,i.byteLength);return(C(),E).fill(0,a,i.byteLength),mr[e].push(()=>{new Uint8Array(i).set((C(),E).subarray(a>>>0,a+i.byteLength>>>0)),ki(a)}),a}function Nr(e,t,n,r,i){e>>>=0,t=je(t),n=je(n),i>>>=0;var a=P(e);mr[e]=[],i==4294967295&&(i=void 0),me+=1,gr(t,a.mapAsync(n,r>>>0,i).then(()=>{--me,Kt(()=>{Ui(t,1,0)})},n=>{--me,Kt(()=>{R();var r=lr(n.message);Ui(t,n.name===`AbortError`?4:n.name===`OperationError`?3:0,r),delete mr[e]})}))}function Pr(e){var t=P(e>>>=0),n=mr[e];if(n){for(var r=0;r>>0]}function Ir(e,t,n){e>>>=0,t>>>=0,n>>>=0;var r=!!(C(),k)[t+32>>>2>>>0];t={label:br(t+4),usage:(C(),k)[t+16>>>2>>>0],size:dr(t+24),mappedAtCreation:r},e=P(e);try{var i=e.createBuffer(t)}catch{return!1}return fr[n>>>0]=i,r&&(mr[n]=[]),!0}function Lr(e,t,n,r){e>>>=0,t=je(t),r>>>=0,n=xr(n>>>0),e=P(e),me+=1,gr(t,e.createComputePipelineAsync(n).then(e=>{--me,Kt(()=>{fr[r>>>0]=e,Vi(t,1,r,0)})},e=>{--me,Kt(()=>{var n=R(),i=lr(e.message);Vi(t,e.reason===`validation`?3:e.reason===`internal`?4:0,r,i),L(n)})}))}function Rr(e,t,n){e>>>=0,t>>>=0,n>>>=0;var r=(C(),k)[t>>>2>>>0],i=(C(),O)[r+4>>>2>>>0];t={label:br(t+4),code:``},i===2&&(t.code=yr(r+8)),e=P(e).createShaderModule(t),fr[n>>>0]=e}var zr=e=>{(e=P(e)).onuncapturederror=null,e.destroy()};function Br(e,t){t=je(t),e=P(e>>>0),me+=1,gr(t,e.popErrorScope().then(e=>{--me,Kt(()=>{var n=5;e?e instanceof GPUValidationError?n=2:e instanceof GPUOutOfMemoryError?n=3:e instanceof GPUInternalError&&(n=4):n=1;var r=R(),i=e?lr(e.message):0;Wi(t,1,n,i),L(r)})},e=>{--me,Kt(()=>{var n=R(),r=lr(e.message);Wi(t,1,5,r),L(n)})}))}function Vr(e,t,n,r){if(t=je(t),r>>>=0,n>>>=0){var i={featureLevel:wr[(C(),O)[n+4>>>2>>>0]],powerPreference:Er[(C(),O)[n+8>>>2>>>0]],forceFallbackAdapter:!!(C(),k)[n+12>>>2>>>0]};(e=(C(),k)[n>>>2>>>0])!==0&&(C(),i.Fe=!!(C(),k)[e+8>>>2>>>0])}`gpu`in navigator?(me+=1,gr(t,navigator.gpu.requestAdapter(i).then(e=>{--me,Kt(()=>{if(e)fr[r>>>0]=e,Gi(t,1,r,0);else{var n=R(),i=lr(`WebGPU not available on this browser (requestAdapter returned null)`);Gi(t,3,r,i),L(n)}})},e=>{--me,Kt(()=>{var n=R(),i=lr(e.message);Gi(t,4,r,i),L(n)})}))):(i=R(),e=lr(`WebGPU not available on this browser (navigator.gpu is not available)`),Gi(t,3,r,e),L(i))}function Hr(e,t,n){return e>>>=0,t>>>=0,n>>>=0,hn(async()=>{var r=[];if(n){var i=(C(),O)[n>>>2>>>0];r.length=t+1,r[t]=new Promise(e=>setTimeout(e,i,0))}else r.length=t;for(var a=0;a{if(!Ur){var e,t={USER:`web_user`,LOGNAME:`web_user`,PATH:`/`,PWD:`/`,HOME:`/home/web_user`,LANG:(globalThis.navigator?.language??`C`).replace(`-`,`_`)+`.UTF-8`,_:`./this.program`};for(e in Wr)Wr[e]===void 0?delete t[e]:t[e]=Wr[e];var n=[];for(e in t)n.push(`${e}=${t[e]}`);Ur=n}return Ur};function Kr(e,t){if(i)return he(19,1,e,t);e>>>=0,t>>>=0;var n,r=0,a=0;for(n of Gr()){var o=t+r;(C(),k)[e+a>>>2>>>0]=o,r+=Nt(n,o,1/0)+1,a+=4}return 0}function qr(e,t){if(i)return he(20,1,e,t);e>>>=0,t>>>=0;var n=Gr();for(var r of((C(),k)[e>>>2>>>0]=n.length,e=0,n))e+=Pt(r)+1;return(C(),k)[t>>>2>>>0]=e,0}function Jr(e){return i?he(21,1,e):52}function Yr(e,t,n,r){return i?he(22,1,e,t,n,r):52}function Xr(e,t,n,r){return i?he(23,1,e,t,n,r):70}var Zr=[null,[],[]];function Qr(e,t,n,r){if(i)return he(24,1,e,t,n,r);t>>>=0,n>>>=0,r>>>=0;for(var a=0,o=0;o>>2>>>0],c=(C(),k)[t+4>>>2>>>0];t+=8;for(var l=0;l>>0],f=Zr[u];d===0||d===10?((u===1?y:b)(Xe(f)),f.length=0):f.push(d)}a+=c}return(C(),k)[r>>>2>>>0]=a,0}function $r(e){return e>>>0}function ei(e,t){return Sr(P(e>>>0).limits,t>>>0),1}function ti(e,t){return P(e>>>0).features.has(Tr[t])}function ni(e){return BigInt(P(e>>>0).size)}function ri(e){return BigInt(P(e>>>0).usage)}function ii(e,t){if(e>>>=0,t>>>=0){var n=br(t+4);n={label:n,timestampWrites:t=(t=(C(),k)[t+12>>>2>>>0])===0?void 0:{querySet:P((C(),k)[t+4>>>2>>>0]),beginningOfPassWriteIndex:(C(),k)[t+8>>>2>>>0],endOfPassWriteIndex:(C(),k)[t+12>>>2>>>0]}}}return t=P(e),e=Ii(0),n=t.beginComputePass(n),fr[e>>>0]=n,e}function ai(e,t,n,r,i,a){n=je(n),i=je(i),a=je(a),P(e>>>0).copyBufferToBuffer(P(t>>>0),n,P(r>>>0),i,a)}function oi(e){var t=P(e>>>0);return e=Pi(0),t=t.finish(),fr[e>>>0]=t,e}function si(e,t,n,r,i,a){a=je(a),P(e>>>0).resolveQuerySet(P(t>>>0),n,r,P(i>>>0),a)}function ci(e,t,n,r){P(e>>>0).dispatchWorkgroups(t,n,r)}function li(e,t,n){n=je(n),P(e>>>0).dispatchWorkgroupsIndirect(P(t>>>0),n)}function ui(e){P(e>>>0).end()}function di(e,t,n,r,i){r>>>=0,i>>>=0,e=P(e>>>0),n=P(n>>>0),r==0?e.setBindGroup(t,n):e.setBindGroup(t,n,(C(),k),i>>>2,r)}function fi(e,t){P(e>>>0).setPipeline(P(t>>>0))}function pi(e,t,n){P(e>>>0).Ee(P(t>>>0),n)}function mi(e,t){var n=P(e>>>0);return e=Ni(0),t=n.getBindGroupLayout(t),fr[e>>>0]=t,e}function hi(e,t){function n(e){var t=(C(),k)[e+8>>>2>>>0],n=(C(),k)[e+32>>>2>>>0],r=(C(),k)[e+36>>>2>>>0],i=0;return _r(e,{327681:e=>{i=(C(),k)[e+8>>>2>>>0]}}),t?((n=dr(e+24))==-1&&(n=void 0),t={buffer:P(t),offset:dr(e+16),size:n}):t=P(n||r||i),{binding:(C(),k)[e+4>>>2>>>0],resource:t}}e>>>=0,t={label:br(4+(t>>>=0)),layout:P((C(),k)[t+12>>>2>>>0]),entries:function(e,t){for(var r=[],i=0;i>>2>>>0],(C(),k)[t+20>>>2>>>0])},e=P(e);var r=F(0);return pr(r,e.createBindGroup(t)),r}function gi(e,t){var n;return e>>>=0,(t>>>=0)&&(n={label:br(t+4)}),t=P(e),e=Fi(0),n=t.createCommandEncoder(n),fr[e>>>0]=n,e}function _i(e,t){e>>>=0,t>>>=0,t={type:Dr[(C(),O)[t+12>>>2>>>0]],count:(C(),k)[t+16>>>2>>>0]};var n=P(e);return e=Li(0),t=n.createQuerySet(t),fr[e>>>0]=t,e}function vi(e,t){e=P(e>>>0).adapterInfo,t>>>=0,(C(),k)[t+52>>>2>>>0]=e.subgroupMinSize,(C(),k)[t+56>>>2>>>0]=e.subgroupMaxSize;var n=e.vendor+e.architecture+e.device+e.description,r=Pt(n)+1,i=Ai(r);return i&&Nt(n,i,r),n=i,r=Pt(e.vendor),vr(t+4,n,r),n+=r,r=Pt(e.architecture),vr(t+12,n,r),n+=r,r=Pt(e.device),vr(t+20,n,r),vr(t+28,n+r,Pt(e.description)),(C(),O)[t+36>>>2>>>0]=2,e=e.isFallbackAdapter?3:4,(C(),O)[t+40>>>2>>>0]=e,(C(),k)[t+44>>>2>>>0]=0,(C(),k)[t+48>>>2>>>0]=0,1}var yi={"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 bi(e,t){t>>>=0;var n=P(e>>>0);e=Ai(4*n.features.size);var r=0,i=0;for(let t of n.features)0<=(n=yi[t])&&((C(),O)[e+r>>>2>>>0]=n,r+=4,i++);(C(),k)[t+4>>>2>>>0]=e,(C(),k)[t>>>2>>>0]=i}function xi(e,t){return Sr(P(e>>>0).limits,t>>>0),1}function Si(e,t){P(e>>>0).pushErrorScope(Cr[t])}function Ci(e,t,n){t>>>=0,n>>>=0,e=P(e>>>0),t=Array.from((C(),O).subarray(n>>>2>>>0,n+4*t>>>2>>>0),e=>P(e)),e.submit(t)}function wi(e,t,n,r,i){n=je(n),r>>>=0,i>>>=0,e=P(e>>>0),t=P(t>>>0),r=(C(),E).subarray(r>>>0,r+i>>>0),e.writeBuffer(t,n,r,0,i)}i||function(){for(var e=t.numThreads-1;e--;)Ee();ue.push(async()=>{var e=async function(){if(!i)return Promise.all(ye.map(Te))}();de++,await e,--de==0&&fe&&(e=fe,fe=null,e())})}(),i||(De=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0}),N()),t.wasmBinary&&(d=t.wasmBinary),t.stackSave=()=>R(),t.stackRestore=e=>L(e),t.stackAlloc=e=>ia(e),t.setValue=function(e,t,n=`i8`){switch(n.endsWith(`*`)&&(n=`*`),n){case`i1`:case`i8`:(C(),T)[e>>>0]=t;break;case`i16`:(C(),ee)[e>>>1>>>0]=t;break;case`i32`:(C(),O)[e>>>2>>>0]=t;break;case`i64`:(C(),j)[e>>>3>>>0]=BigInt(t);break;case`float`:(C(),A)[e>>>2>>>0]=t;break;case`double`:(C(),te)[e>>>3>>>0]=t;break;case`*`:(C(),k)[e>>>2>>>0]=t;break;default:ae(`invalid type for setValue: ${n}`)}},t.getValue=function(e,t=`i8`){switch(t.endsWith(`*`)&&(t=`*`),t){case`i1`:case`i8`:return(C(),T)[e>>>0];case`i16`:return(C(),ee)[e>>>1>>>0];case`i32`:return(C(),O)[e>>>2>>>0];case`i64`:return(C(),j)[e>>>3>>>0];case`float`:return(C(),A)[e>>>2>>>0];case`double`:return(C(),te)[e>>>3>>>0];case`*`:return(C(),k)[e>>>2>>>0];default:ae(`invalid type for getValue: ${t}`)}},t.UTF8ToString=Ze,t.stringToUTF8=Nt,t.lengthBytesUTF8=Pt;var Ti,Ei,Di,Oi,ki,Ai,ji,Mi,F,Ni,Pi,Fi,Ii,Li,Ri,zi,Bi,Vi,Hi,Ui,Wi,Gi,Ki,qi,Ji,Yi,Xi,Zi,Qi,$i,ea,ta,I,na,ra,L,ia,R,aa,oa,sa,ca,la,ua,da,fa,pa,ma,ha,ga,_a,va,ya,ba,xa,Sa,Ca,wa,Ta,Ea,Da,Oa,ka,Aa,ja,Ma,Na,Pa,Fa,Ia,La,Ra,za,Ba,Va,Ha,Ua,Wa,Ga,Ka,qa,Ja,Ya,Xa,Za=[ge,_e,Ge,Qe,$e,et,tt,nt,rt,it,at,ot,st,ct,lt,ut,Un,Wn,qn,Kr,qr,Jr,Yr,Xr,Qr],Qa={937076:(e,n,r,i,a)=>{if(t===void 0||!t.Uc)return 1;if((e=Ze(Number(e>>>0))).startsWith(`./`)&&(e=e.substring(2)),!(e=t.Uc.get(e)))return 2;if(n=Number(n>>>0),r=Number(r>>>0),i=Number(i>>>0),n+r>e.byteLength)return 3;try{let o=e.subarray(n,n+r);switch(a){case 0:(C(),E).set(o,i>>>0);break;case 1:t.ad?t.ad(i,o):t.oe(i,o);break;default:return 4}return 0}catch{return 4}},937900:(e,n,r)=>{t.Sd(e,(C(),E).subarray(n>>>0,n+r>>>0))},937964:()=>t.me(),938006:e=>{t.jd(e)},938043:()=>typeof wasmOffsetConverter<`u`};function $a(e,t,n,r){var i=R();try{return va(e,t,n,r)}catch(e){if(L(i),e!==e+0)throw e;I(1,0)}}function eo(e,t,n){var r=R();try{return ha(e,t,n)}catch(e){if(L(r),e!==e+0)throw e;I(1,0)}}function to(e){var t=R();try{da(e)}catch(e){if(L(t),e!==e+0)throw e;I(1,0)}}function no(e,t){var n=R();try{return ua(e,t)}catch(e){if(L(n),e!==e+0)throw e;I(1,0)}}function ro(e,t,n){var r=R();try{la(e,t,n)}catch(e){if(L(r),e!==e+0)throw e;I(1,0)}}function io(e,t){var n=R();try{ya(e,t)}catch(e){if(L(n),e!==e+0)throw e;I(1,0)}}function ao(e,t,n,r,i,a,o){var s=R();try{return ma(e,t,n,r,i,a,o)}catch(e){if(L(s),e!==e+0)throw e;I(1,0)}}function oo(e,t,n,r,i,a){var o=R();try{fa(e,t,n,r,i,a)}catch(e){if(L(o),e!==e+0)throw e;I(1,0)}}function so(e,t,n,r){var i=R();try{_a(e,t,n,r)}catch(e){if(L(i),e!==e+0)throw e;I(1,0)}}function co(e,t,n,r,i,a,o){var s=R();try{xa(e,t,n,r,i,a,o)}catch(e){if(L(s),e!==e+0)throw e;I(1,0)}}function lo(e,t,n,r,i,a,o){var s=R();try{Sa(e,t,n,r,i,a,o)}catch(e){if(L(s),e!==e+0)throw e;I(1,0)}}function z(e,t,n,r,i,a,o,s){var c=R();try{ja(e,t,n,r,i,a,o,s)}catch(e){if(L(c),e!==e+0)throw e;I(1,0)}}function uo(e,t,n,r,i,a,o,s,c,l,u,d){var f=R();try{Ca(e,t,n,r,i,a,o,s,c,l,u,d)}catch(e){if(L(f),e!==e+0)throw e;I(1,0)}}function fo(e,t,n,r,i){var a=R();try{return ba(e,t,n,r,i)}catch(e){if(L(a),e!==e+0)throw e;I(1,0)}}function po(e,t,n,r,i){var a=R();try{pa(e,t,n,r,i)}catch(e){if(L(a),e!==e+0)throw e;I(1,0)}}function B(e,t,n,r,i,a,o,s){var c=R();try{ga(e,t,n,r,i,a,o,s)}catch(e){if(L(c),e!==e+0)throw e;I(1,0)}}function mo(e){var t=R();try{return Ma(e)}catch(e){if(L(t),e!==e+0)throw e;I(1,0)}}function ho(e,t,n){var r=R();try{return Na(e,t,n)}catch(e){if(L(r),e!==e+0)throw e;I(1,0)}}function go(e,t){var n=R();try{return Ga(e,t)}catch(e){if(L(n),e!==e+0)throw e;return I(1,0),0n}}function _o(e,t,n,r,i){var a=R();try{Pa(e,t,n,r,i)}catch(e){if(L(a),e!==e+0)throw e;I(1,0)}}function vo(e){var t=R();try{return wa(e)}catch(e){if(L(t),e!==e+0)throw e;return I(1,0),0n}}function yo(e,t,n,r,i,a){var o=R();try{return ka(e,t,n,r,i,a)}catch(e){if(L(o),e!==e+0)throw e;I(1,0)}}function bo(e,t,n,r,i,a){var o=R();try{return Fa(e,t,n,r,i,a)}catch(e){if(L(o),e!==e+0)throw e;I(1,0)}}function xo(e,t,n,r,i,a){var o=R();try{return Ia(e,t,n,r,i,a)}catch(e){if(L(o),e!==e+0)throw e;I(1,0)}}function So(e,t,n,r,i,a,o,s){var c=R();try{return Aa(e,t,n,r,i,a,o,s)}catch(e){if(L(c),e!==e+0)throw e;I(1,0)}}function Co(e,t,n,r,i){var a=R();try{return La(e,t,n,r,i)}catch(e){if(L(a),e!==e+0)throw e;return I(1,0),0n}}function wo(e,t,n,r){var i=R();try{return Ra(e,t,n,r)}catch(e){if(L(i),e!==e+0)throw e;I(1,0)}}function To(e,t,n,r){var i=R();try{return za(e,t,n,r)}catch(e){if(L(i),e!==e+0)throw e;I(1,0)}}function Eo(e,t,n,r,i,a,o,s,c,l,u,d){var f=R();try{return Ba(e,t,n,r,i,a,o,s,c,l,u,d)}catch(e){if(L(f),e!==e+0)throw e;I(1,0)}}function Do(e,t,n,r,i,a,o,s,c,l,u){var d=R();try{Va(e,t,n,r,i,a,o,s,c,l,u)}catch(e){if(L(d),e!==e+0)throw e;I(1,0)}}function Oo(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){var g=R();try{Ha(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h)}catch(e){if(L(g),e!==e+0)throw e;I(1,0)}}function ko(e,t,n,r){var i=R();try{return Ua(e,t,n,r)}catch(e){if(L(i),e!==e+0)throw e;I(1,0)}}function Ao(e,t,n,r,i){var a=R();try{return Wa(e,t,n,r,i)}catch(e){if(L(a),e!==e+0)throw e;I(1,0)}}function jo(e,t,n){var r=R();try{return Ea(e,t,n)}catch(e){if(L(r),e!==e+0)throw e;return I(1,0),0n}}function Mo(e,t,n){var r=R();try{return Ta(e,t,n)}catch(e){if(L(r),e!==e+0)throw e;I(1,0)}}function No(e,t,n){var r=R();try{return Da(e,t,n)}catch(e){if(L(r),e!==e+0)throw e;I(1,0)}}function Po(e,t,n,r){var i=R();try{Oa(e,t,n,r)}catch(e){if(L(i),e!==e+0)throw e;I(1,0)}}function Fo(){if(0{let n=new WeakMap,r,i,a=1;t.webgpuRegisterDevice=e=>{if(i!==void 0)throw Error(`another WebGPU EP inference session is being created.`);if(e){var t=n.get(e);if(!t){let r=((e,t=0)=>{var n=Bi(t);return t=zi(t,n),fr[n>>>0]=e.queue,fr[t>>>0]=e,t})(e,t=Mi(0));t=[a++,t,r],n.set(e,t)}return r=e,i=t[0],t}r=void 0,i=0};let o=new Map;t.webgpuOnCreateSession=t=>{if(i!==void 0){var n=i;if(i=void 0,t){let i=Di(n);o.set(t,i),n===0&&e(r??P(i))}r=void 0}},t.webgpuOnReleaseSession=e=>{o.delete(e)};let s=Symbol(`gpuBufferMetadata`);t.webgpuRegisterBuffer=(e,t,n)=>{if(n)return e[s]=[n,NaN],n;if(n=e[s])return n[1]++,n[0];if((t=o.get(t))===void 0)throw Error(`Invalid session handle passed to webgpuRegisterBuffer`);return t=((e,t=0)=>(e.mapState===`unmapped`||ae(),t=Ri(t),fr[t>>>0]=e,t))(e,t),e[s]=[t,1],t},t.webgpuUnregisterBuffer=e=>{let t=e[s];if(!t)throw Error(`Buffer is not registered`);t[1]--,t[1]===0&&(ji(t[0]),delete e[s])},t.webgpuGetBuffer=e=>P(e),t.webgpuCreateDownloader=(e,t,n)=>{if((n=o.get(n))===void 0)throw Error(`Invalid session handle passed to webgpuRegisterBuffer`);let r=P(n),i=16*Math.ceil(Number(t)/16);return async()=>{let n=r.createBuffer({size:i,usage:9});try{let a=r.createCommandEncoder();return a.copyBufferToBuffer(e,0,n,0,i),r.queue.submit([a.finish()]),await n.mapAsync(GPUMapMode.READ),n.getMappedRange().slice(0,t)}finally{n.destroy()}}},t.ad=(e,t)=>{var n=t.buffer;let a=t.byteOffset,o=t.byteLength;if(t=16*Math.ceil(Number(o)/16),e=P(e),!r){var s=Di(i);r=P(s)}let c=(s=r.createBuffer({mappedAtCreation:!0,size:t,usage:6})).getMappedRange();new Uint8Array(c).set(new Uint8Array(n,a,o)),s.unmap(),(n=r.createCommandEncoder()).copyBufferToBuffer(s,0,e,0,t),r.queue.submit([n.finish()]),s.destroy()}},t.webnnInit=e=>{let n=e[0];[t.me,t.jd,t.webnnEnsureTensor,t.Sd,t.webnnDownloadTensor,t.le,t.webnnEnableTraceEvent]=e.slice(1),t.webnnReleaseTensorId=t.jd,t.webnnUploadTensor=t.Sd,t.webnnRegisterMLContext=t.le,t.webnnOnRunStart=e=>n.onRunStart(e),t.webnnOnRunEnd=n.onRunEnd.bind(n),t.webnnOnReleaseSession=e=>{n.onReleaseSession(e)},t.webnnCreateMLTensorDownloader=(e,t)=>n.createMLTensorDownloader(e,t),t.webnnRegisterMLTensor=(e,t,r,i)=>n.registerMLTensor(e,t,r,i),t.webnnCreateMLContext=e=>n.createMLContext(e),t.webnnRegisterMLConstant=(e,r,i,a,o,s)=>n.registerMLConstant(e,r,i,a,o,t.Uc,s),t.webnnRegisterGraphInput=n.registerGraphInput.bind(n),t.webnnIsGraphInput=n.isGraphInput.bind(n),t.webnnRegisterGraphOutput=n.registerGraphOutput.bind(n),t.webnnIsGraphOutput=n.isGraphOutput.bind(n),t.webnnCreateTemporaryTensor=n.createTemporaryTensor.bind(n),t.webnnIsGraphInputOutputTypeSupported=n.isGraphInputOutputTypeSupported.bind(n)},M?t:new Promise((e,t)=>{m=e,h=t})}var ct,lt,ut=A(()=>{ct=st,lt=globalThis.self?.name?.startsWith(`em-pthread`),lt&&st()}),dt,ft,pt,mt,ht,gt,_t,vt,yt,bt,xt,St,Ct,wt,Tt=A(()=>{et(),dt=typeof location>`u`?void 0:location.origin,ft=import.meta.url>`file:`&&import.meta.url<`file;`,pt=()=>ft?new URL(new URL(`ort.webgpu.bundle.min.mjs`,import.meta.url).href,dt).href:import.meta.url,mt=pt(),ht=()=>{if(mt&&!mt.startsWith(`blob:`))return mt.substring(0,mt.lastIndexOf(`/`)+1)},gt=(e,t)=>{try{let n=t??mt;return(n?new URL(e,n):new URL(e)).origin===dt}catch{return!1}},_t=(e,t)=>{let n=t??mt;try{return(n?new URL(e,n):new URL(e)).href}catch{return}},vt=(e,t)=>`${t??`./`}${e}`,yt=async e=>{let t=await(await fetch(e,{credentials:`same-origin`})).blob();return URL.createObjectURL(t)},bt=async e=>(await w(async()=>{let{default:t}=await import(e);return{default:t}},[])).default,xt=(at(),ne(tt)).default,St=async()=>{if(!mt)throw Error(`Failed to load proxy worker: cannot determine the script source URL.`);if(gt(mt))return[void 0,xt()];let e=await yt(mt);return[e,xt(e)]},Ct=(ut(),ne(ot)).default,wt=async(e,t,n,r)=>{let i=Ct&&!(e||t);if(i)if(mt)i=gt(mt)||r&&!n;else if(r&&!n)i=!0;else throw Error(`cannot determine the script source URL.`);if(i)return[void 0,Ct];{let r=`ort-wasm-simd-threaded.asyncify.mjs`,i=e??_t(r,t),a=n&&i&&!gt(i,t),o=a?await yt(i):i??vt(r,t);return[a?o:void 0,await bt(o)]}}}),Et,Dt,Ot,kt,At,jt,Mt,Nt,Pt,Ft=A(()=>{Tt(),Dt=!1,Ot=!1,kt=!1,At=()=>{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}},jt=()=>{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}},Mt=()=>{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}},Nt=async e=>{if(Dt)return Promise.resolve();if(Ot)throw Error(`multiple calls to 'initializeWebAssembly()' detected.`);if(kt)throw Error(`previous call to 'initializeWebAssembly()' failed.`);Ot=!0;let t=e.initTimeout,n=e.numThreads;if(e.simd!==!1){if(e.simd===`relaxed`){if(!Mt())throw Error(`Relaxed WebAssembly SIMD is not supported in the current environment.`)}else if(!jt())throw Error(`WebAssembly SIMD is not supported in the current environment.`)}let r=At();n>1&&!r&&(typeof self<`u`&&!self.crossOriginIsolated&&console.warn(`env.wasm.numThreads is set to `+n+`, 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=n=1);let i=e.wasmPaths,a=typeof i==`string`?i:void 0,o=i?.mjs,s=o?.href??o,c=i?.wasm,l=c?.href??c,u=e.wasmBinary,[d,f]=await wt(s,a,n>1,!!u||!!l),p=!1,m=[];if(t>0&&m.push(new Promise(e=>{setTimeout(()=>{p=!0,e()},t)})),m.push(new Promise((e,t)=>{let r={numThreads:n};if(u)r.wasmBinary=u,r.locateFile=e=>e;else if(l||a)r.locateFile=e=>l??a+e;else if(s&&s.indexOf(`blob:`)!==0)r.locateFile=e=>new URL(e,s).href;else if(d){let e=ht();e&&(r.locateFile=t=>e+t)}f(r).then(t=>{Ot=!1,Dt=!0,Et=t,e(),d&&URL.revokeObjectURL(d)},e=>{Ot=!1,kt=!0,t(e)})})),await Promise.race(m),p)throw Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},Pt=()=>{if(Dt&&Et)return Et;throw Error(`WebAssembly is not initialized yet.`)}}),It,Lt,Rt,zt=A(()=>{Ft(),It=(e,t)=>{let n=Pt(),r=n.lengthBytesUTF8(e)+1,i=n._malloc(r);return n.stringToUTF8(e,i,r),t.push(i),i},Lt=(e,t,n,r)=>{if(typeof e==`object`&&e){if(n.has(e))throw Error(`Circular reference in options`);n.add(e)}Object.entries(e).forEach(([e,i])=>{let a=t?t+e:e;if(typeof i==`object`)Lt(i,a+`.`,n,r);else if(typeof i==`string`||typeof i==`number`)r(a,i.toString());else if(typeof i==`boolean`)r(a,i?`1`:`0`);else throw Error(`Can't handle extra config type: ${typeof i}`)})},Rt=e=>{let t=Pt(),n=t.stackSave();try{let n=t.PTR_SIZE,r=t.stackAlloc(2*n);t._OrtGetLastError(r,r+n);let i=Number(t.getValue(r,n===4?`i32`:`i64`)),a=t.getValue(r+n,`*`),o=a?t.UTF8ToString(a):``;throw Error(`${e} ERROR_CODE: ${i}, ERROR_MESSAGE: ${o}`)}finally{t.stackRestore(n)}}}),Bt,Vt=A(()=>{Ft(),zt(),Bt=e=>{let t=Pt(),n=0,r=[],i=e||{};try{if(e?.logSeverityLevel===void 0)i.logSeverityLevel=2;else if(typeof e.logSeverityLevel!=`number`||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw Error(`log severity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)i.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!=`number`||!Number.isInteger(e.logVerbosityLevel))throw Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(i.terminate=!1);let a=0;return e?.tag!==void 0&&(a=It(e.tag,r)),n=t._OrtCreateRunOptions(i.logSeverityLevel,i.logVerbosityLevel,!!i.terminate,a),n===0&&Rt(`Can't create run options.`),e?.extra!==void 0&&Lt(e.extra,``,new WeakSet,(e,i)=>{let a=It(e,r),o=It(i,r);t._OrtAddRunConfigEntry(n,a,o)!==0&&Rt(`Can't set a run config entry: ${e} - ${i}.`)}),[n,r]}catch(e){throw n!==0&&t._OrtReleaseRunOptions(n),r.forEach(e=>t._free(e)),e}}}),Ht,Ut,Wt,Gt,Kt,qt,Jt,Yt=A(()=>{Ft(),zt(),Ht=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 Error(`unsupported graph optimization level: ${e}`)}},Ut=e=>{switch(e){case`sequential`:return 0;case`parallel`:return 1;default:throw Error(`unsupported execution mode: ${e}`)}},Wt=e=>{e.extra||={},e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||=`1`,e.executionProviders&&e.executionProviders.some(e=>(typeof e==`string`?e:e.name)===`webgpu`)&&(e.enableMemPattern=!1)},Gt=(e,t,n,r)=>{let i=It(t,r),a=It(n,r);Pt()._OrtAddSessionConfigEntry(e,i,a)!==0&&Rt(`Can't set a session config entry: ${t} - ${n}.`)},Kt=(e,t,n,r)=>{let i=It(t,r),a=It(n,r);e.push([i,a])},qt=async(e,t,n)=>{let r=t.executionProviders;for(let i of r){let r=typeof i==`string`?i:i.name,a=[];switch(r){case`webnn`:if(r=`WEBNN`,typeof i!=`string`){let t=i?.deviceType;t&&Gt(e,`deviceType`,t,n)}break;case`webgpu`:{r=`WebGPU`;let e;if(typeof i!=`string`){let r=i;if(r.device)if(typeof GPUDevice<`u`&&r.device instanceof GPUDevice)e=r.device;else throw Error(`Invalid GPU device set in WebGPU EP options.`);let{enableGraphCapture:o}=t;if(typeof o==`boolean`&&o&&Kt(a,`enableGraphCapture`,`1`,n),typeof r.preferredLayout==`string`&&Kt(a,`preferredLayout`,r.preferredLayout,n),r.forceCpuNodeNames){let e=Array.isArray(r.forceCpuNodeNames)?r.forceCpuNodeNames:[r.forceCpuNodeNames];Kt(a,`forceCpuNodeNames`,e.join(` +`),n)}r.validationMode&&Kt(a,`validationMode`,r.validationMode,n)}let o=Pt().webgpuRegisterDevice(e);if(o){let[e,t,r]=o;Kt(a,`deviceId`,e.toString(),n),Kt(a,`webgpuInstance`,t.toString(),n),Kt(a,`webgpuDevice`,r.toString(),n)}}break;case`wasm`:case`cpu`:continue;default:throw Error(`not supported execution provider: ${r}`)}let o=It(r,n),s=a.length,c=0,l=0;if(s>0){c=Pt()._malloc(s*Pt().PTR_SIZE),n.push(c),l=Pt()._malloc(s*Pt().PTR_SIZE),n.push(l);for(let e=0;e{let t=Pt(),n=0,r=[],i=e||{};Wt(i);try{let e=Ht(i.graphOptimizationLevel??`all`),a=Ut(i.executionMode??`sequential`),o=typeof i.logId==`string`?It(i.logId,r):0,s=i.logSeverityLevel??2;if(!Number.isInteger(s)||s<0||s>4)throw Error(`log severity level is not valid: ${s}`);let c=i.logVerbosityLevel??0;if(!Number.isInteger(c)||c<0||c>4)throw Error(`log verbosity level is not valid: ${c}`);let l=typeof i.optimizedModelFilePath==`string`?It(i.optimizedModelFilePath,r):0;if(n=t._OrtCreateSessionOptions(e,!!i.enableCpuMemArena,!!i.enableMemPattern,a,!!i.enableProfiling,0,o,s,c,l),n===0&&Rt(`Can't create session options.`),i.executionProviders&&await qt(n,i,r),i.enableGraphCapture!==void 0){if(typeof i.enableGraphCapture!=`boolean`)throw Error(`enableGraphCapture must be a boolean value: ${i.enableGraphCapture}`);Gt(n,`enableGraphCapture`,i.enableGraphCapture.toString(),r)}if(i.freeDimensionOverrides)for(let[e,a]of Object.entries(i.freeDimensionOverrides)){if(typeof e!=`string`)throw Error(`free dimension override name must be a string: ${e}`);if(typeof a!=`number`||!Number.isInteger(a)||a<0)throw Error(`free dimension override value must be a non-negative integer: ${a}`);let i=It(e,r);t._OrtAddFreeDimensionOverride(n,i,a)!==0&&Rt(`Can't set a free dimension override: ${e} - ${a}.`)}return i.extra!==void 0&&Lt(i.extra,``,new WeakSet,(e,t)=>{Gt(n,e,t,r)}),[n,r]}catch(e){throw n!==0&&t._OrtReleaseSessionOptions(n)!==0&&Rt(`Can't release session options.`),r.forEach(e=>t._free(e)),e}}}),Xt,Zt,Qt,$t,en,tn,nn,rn,an=A(()=>{Xt=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 Error(`unsupported data type: ${e}`)}},Zt=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 Error(`unsupported data type: ${e}`)}},Qt=(e,t)=>{let n=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][e],r=typeof t==`number`?t:t.reduce((e,t)=>e*t,1);return n>0?Math.ceil(r*n):void 0},$t=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 Error(`unsupported type: ${e}`)}},en=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 Error(`unsupported logging level: ${e}`)}},tn=e=>e===`float32`||e===`float16`||e===`int32`||e===`int64`||e===`uint32`||e===`uint8`||e===`bool`||e===`uint4`||e===`int4`,nn=e=>e===`float32`||e===`float16`||e===`int32`||e===`int64`||e===`uint32`||e===`uint64`||e===`int8`||e===`uint8`||e===`bool`||e===`uint4`||e===`int4`,rn=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 Error(`unsupported data location: ${e}`)}}}),on,sn=A(()=>{et(),on=async e=>{if(typeof e==`string`){let t=await fetch(e);if(!t.ok)throw Error(`failed to load external data file: ${e}`);let n=t.headers.get(`Content-Length`),r=n?parseInt(n,10):0;if(r<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw Error(`failed to load external data file: ${e}, no response body.`);let n=t.body.getReader(),i;try{i=new ArrayBuffer(r)}catch(e){if(e instanceof RangeError){let e=Math.ceil(r/65536);i=new WebAssembly.Memory({initial:e,maximum:e}).buffer}else throw e}let a=0;for(;;){let{done:e,value:t}=await n.read();if(e)break;let r=t.byteLength;new Uint8Array(i,a,r).set(t),a+=r}return new Uint8Array(i,0,r)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)}}),cn,ln=A(()=>{an(),cn=(e,t)=>new($t(t))(e)}),un,dn,fn,pn,mn,hn,gn,_n=A(()=>{an(),un=[`V`,`I`,`W`,`E`,`F`],dn=(e,t)=>{console.log(`[${un[e]},${new Date().toISOString()}]${t}`)},mn=(e,t)=>{fn=e,pn=t},hn=(e,t)=>{let n=en(e);n>=en(fn)&&dn(n,typeof t==`function`?t():t)},gn=(...e)=>{pn&&hn(...e)}}),vn,yn,bn,xn,Sn,Cn,wn,Tn,En,Dn,On,kn=A(()=>{an(),_n(),vn=new Map([[`float32`,32],[`float16`,16],[`int32`,32],[`uint32`,32],[`int64`,64],[`uint64`,64],[`int8`,8],[`uint8`,8],[`int4`,4],[`uint4`,4]]),yn=(e,t)=>{if(t===`int32`)return e;let n=vn.get(t);if(!n)throw Error(`WebNN backend does not support data type: ${t}`);let r=n/8;if(e.byteLength%r!==0)throw Error(`Invalid Uint8Array length - must be a multiple of ${r}.`);let i=e.byteLength/r,a=new($t(t))(e.buffer,e.byteOffset,i);switch(t){case`int64`:case`uint64`:{let e=new Int32Array(i);for(let t=0;t2147483647n||n<-2147483648n)throw Error(`Can not convert int64 data to int32 - value out of range.`);e[t]=Number(n)}return new Uint8Array(e.buffer)}case`int8`:case`uint8`:case`uint32`:{if(t===`uint32`&&a.some(e=>e>2147483647))throw Error(`Can not convert uint32 data to int32 - value out of range.`);let e=Int32Array.from(a,Number);return new Uint8Array(e.buffer)}default:throw Error(`Unsupported data conversion from ${t} to 'int32'`)}},bn=(e,t)=>{if(t===`int32`)return e;if(e.byteLength%4!=0)throw Error(`Invalid Uint8Array length - must be a multiple of 4 (int32).`);let n=e.byteLength/4,r=new Int32Array(e.buffer,e.byteOffset,n);switch(t){case`int64`:{let e=BigInt64Array.from(r,BigInt);return new Uint8Array(e.buffer)}case`uint64`:{if(r.some(e=>e<0))throw Error(`Can not convert int32 data to uin64 - negative value found.`);let e=BigUint64Array.from(r,BigInt);return new Uint8Array(e.buffer)}case`int8`:{if(r.some(e=>e<-128||e>127))throw Error(`Can not convert int32 data to int8 - value out of range.`);let e=Int8Array.from(r,Number);return new Uint8Array(e.buffer)}case`uint8`:if(r.some(e=>e<0||e>255))throw Error(`Can not convert int32 data to uint8 - value out of range.`);return Uint8Array.from(r,Number);case`uint32`:{if(r.some(e=>e<0))throw Error(`Can not convert int32 data to uint32 - negative value found.`);let e=Uint32Array.from(r,Number);return new Uint8Array(e.buffer)}default:throw Error(`Unsupported data conversion from 'int32' to ${t}`)}},xn=1,Sn=()=>xn++,Cn=new Map([[`int8`,`int32`],[`uint8`,`int32`],[`uint32`,`int32`],[`int64`,`int32`]]),wn=(e,t)=>{let n=vn.get(e);if(!n)throw Error(`WebNN backend does not support data type: ${e}`);return t.length>0?Math.ceil(t.reduce((e,t)=>e*t)*n/8):0},Tn=class{constructor(e){this.isDataConverted=!1;let{sessionId:t,context:n,tensor:r,dataType:i,shape:a,fallbackDataType:o}=e;this.sessionId=t,this.mlContext=n,this.mlTensor=r,this.dataType=i,this.tensorShape=a,this.fallbackDataType=o}get tensor(){return this.mlTensor}get type(){return this.dataType}get fallbackType(){return this.fallbackDataType}get shape(){return this.tensorShape}get byteLength(){return wn(this.dataType,this.tensorShape)}destroy(){gn(`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),n=bn(new Uint8Array(t),this.dataType);if(e){(e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)).set(n);return}else return n.buffer}else return e?this.mlContext.readTensor(this.mlTensor,e):this.mlContext.readTensor(this.mlTensor)}canReuseTensor(e,t,n){return this.mlContext===e&&this.dataType===t&&this.tensorShape.length===n.length&&this.tensorShape.every((e,t)=>e===n[t])}setIsDataConverted(e){this.isDataConverted=e}},En=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,n,r){let i=this.tensorManager.getMLContext(e),a=this.tensorManager.getMLOpSupportLimits(e),o;if(!a?.input.dataTypes.includes(t)){if(o=Cn.get(t),!o||a?.input.dataTypes.includes(o))throw Error(`WebNN backend does not support data type: ${t}`);gn(`verbose`,()=>`[WebNN] TensorIdTracker.ensureTensor: fallback dataType from ${t} to ${o}`)}if(this.wrapper){if(this.wrapper.canReuseTensor(i,t,n))return this.wrapper.tensor;if(r){if(this.wrapper.byteLength!==wn(t,n))throw Error(`Unable to copy data to tensor with different size.`);this.activeUpload=new Uint8Array(await this.wrapper.read())}this.tensorManager.releaseTensor(this.wrapper)}let s=typeof MLTensorUsage>`u`?void 0:MLTensorUsage.READ|MLTensorUsage.WRITE;return this.wrapper=await this.tensorManager.getCachedTensor(e,t,n,s,!0,!0,o),r&&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=yn(e,this.wrapper.type),this.wrapper.setIsDataConverted(!0);else throw Error(`Unsupported fallback data type: ${this.wrapper.fallbackType}`);if(e.byteLength===this.wrapper.byteLength){this.wrapper.write(t);return}else gn(`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?bn(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 Error(`Tensor has not been created.`);return e?this.wrapper.read(e):this.wrapper.read()}},Dn=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 Error(`MLContext not found for session.`);return t}getMLOpSupportLimits(e){return this.backend.getMLOpSupportLimits(e)}reserveTensorId(){let e=Sn();return this.tensorTrackersById.set(e,new En(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,n,r,i){gn(`verbose`,()=>`[WebNN] TensorManager.ensureTensor {tensorId: ${t}, dataType: ${n}, shape: ${r}, copyOld: ${i}}`);let a=this.tensorTrackersById.get(t);if(!a)throw Error(`Tensor not found.`);return a.ensureTensor(e,n,r,i)}upload(e,t){let n=this.tensorTrackersById.get(e);if(!n)throw Error(`Tensor not found.`);n.upload(t)}async download(e,t){gn(`verbose`,()=>`[WebNN] TensorManager.download {tensorId: ${e}, dstBuffer: ${t?.byteLength}}`);let n=this.tensorTrackersById.get(e);if(!n)throw Error(`Tensor not found.`);return n.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,n,r){let i=this.getMLContext(e),a=Sn(),o=new Tn({sessionId:e,context:i,tensor:t,dataType:n,shape:r});return this.tensorTrackersById.set(a,new En(this,o)),this.externalTensors.add(o),a}async getCachedTensor(e,t,n,r,i,a,o){let s=this.getMLContext(e);for(let[r,i]of this.freeTensors.entries())if(i.canReuseTensor(s,t,n)){gn(`verbose`,()=>`[WebNN] Reusing tensor {dataType: ${t}, ${o?`fallbackDataType: ${o},`:``} shape: ${n}`);let i=this.freeTensors.splice(r,1)[0];return i.sessionId=e,i}gn(`verbose`,()=>`[WebNN] MLContext.createTensor {dataType: ${t}, ${o?`fallbackDataType: ${o},`:``} shape: ${n}}`);let c=await s.createTensor({dataType:o??t,shape:n,dimensions:n,usage:r,writable:i,readable:a});return new Tn({sessionId:e,context:s,tensor:c,dataType:t,shape:n,fallbackDataType:o})}releaseTensor(e){this.externalTensors.has(e)&&this.externalTensors.delete(e),this.freeTensors.push(e)}},On=(...e)=>new Dn(...e)}),An={};te(An,{WebNNBackend:()=>Nn});var jn,Mn,Nn,Pn=A(()=>{an(),Ft(),ln(),kn(),_n(),jn=new Map([[1,`float32`],[10,`float16`],[6,`int32`],[12,`uint32`],[7,`int64`],[13,`uint64`],[22,`int4`],[21,`uint4`],[3,`int8`],[2,`uint8`],[9,`uint8`]]),Mn=(e,t)=>{if(e===t)return!0;if(e===void 0||t===void 0)return!1;let n=Object.keys(e).sort(),r=Object.keys(t).sort();return n.length===r.length&&n.every((n,i)=>n===r[i]&&e[n]===t[n])},Nn=class{constructor(e){this.tensorManager=On(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,mn(e.logLevel,!!e.debug)}get currentSessionId(){if(this.activeSessionId===void 0)throw Error(`No active session`);return this.activeSessionId}onRunStart(e){gn(`verbose`,()=>`[WebNN] onRunStart {sessionId: ${e}}`),this.activeSessionId=e}onRunEnd(e){gn(`verbose`,()=>`[WebNN] onRunEnd {sessionId: ${e}}`);let t=this.temporarySessionTensorIds.get(e);if(t){for(let e of t)gn(`verbose`,()=>`[WebNN] releasing temporary tensor {tensorId: ${e}}`),this.tensorManager.releaseTensorId(e);this.temporarySessionTensorIds.delete(e),this.activeSessionId=void 0}}async createMLContext(e){if(e instanceof GPUDevice){let t=this.mlContextCache.findIndex(t=>t.gpuDevice===e);if(t!==-1)return this.mlContextCache[t].mlContext;{let t=await navigator.ml.createContext(e);return this.mlContextCache.push({gpuDevice:e,mlContext:t}),t}}else if(e===void 0){let e=this.mlContextCache.findIndex(e=>e.options===void 0&&e.gpuDevice===void 0);if(e!==-1)return this.mlContextCache[e].mlContext;{let e=await navigator.ml.createContext();return this.mlContextCache.push({mlContext:e}),e}}let t=this.mlContextCache.findIndex(t=>Mn(t.options,e));if(t!==-1)return this.mlContextCache[t].mlContext;{let t=await navigator.ml.createContext(e);return this.mlContextCache.push({options:e,mlContext:t}),t}}registerMLContext(e,t){this.mlContextBySessionId.set(e,t);let n=this.sessionIdsByMLContext.get(t);n||(n=new Set,this.sessionIdsByMLContext.set(t,n)),n.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 n=this.sessionIdsByMLContext.get(t);if(n.delete(e),n.size===0){this.sessionIdsByMLContext.delete(t);let e=this.mlContextCache.findIndex(e=>e.mlContext===t);e!==-1&&this.mlContextCache.splice(e,1)}}getMLContext(e){return this.mlContextBySessionId.get(e)}getMLOpSupportLimits(e){return this.mlOpSupportLimitsBySessionId.get(e)}reserveTensorId(){return this.tensorManager.reserveTensorId()}releaseTensorId(e){gn(`verbose`,()=>`[WebNN] releaseTensorId {tensorId: ${e}}`),this.tensorManager.releaseTensorId(e)}async ensureTensor(e,t,n,r,i){let a=jn.get(n);if(!a)throw Error(`Unsupported ONNX data type: ${n}`);return this.tensorManager.ensureTensor(e??this.currentSessionId,t,a,r,i)}async createTemporaryTensor(e,t,n){gn(`verbose`,()=>`[WebNN] createTemporaryTensor {onnxDataType: ${t}, shape: ${n}}`);let r=jn.get(t);if(!r)throw Error(`Unsupported ONNX data type: ${t}`);let i=this.tensorManager.reserveTensorId();await this.tensorManager.ensureTensor(e,i,r,n,!1);let a=this.temporarySessionTensorIds.get(e);return a?a.push(i):this.temporarySessionTensorIds.set(e,[i]),i}uploadTensor(e,t){if(!Pt().shouldTransferToMLTensor)throw Error(`Trying to upload to a MLTensor while shouldTransferToMLTensor is false`);gn(`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 n=await this.tensorManager.download(e);return cn(n,t)}}registerMLTensor(e,t,n,r){let i=jn.get(n);if(!i)throw Error(`Unsupported ONNX data type: ${n}`);let a=this.tensorManager.registerTensor(e,t,i,r);return gn(`verbose`,()=>`[WebNN] registerMLTensor {tensor: ${t}, dataType: ${i}, dimensions: ${r}} -> {tensorId: ${a}}`),a}registerMLConstant(e,t,n,r,i,a,o=!1){if(!a)throw Error(`External mounted files are not available.`);let s=e;e.startsWith(`./`)&&(s=e.substring(2));let c=a.get(s);if(!c)throw Error(`File with name ${s} not found in preloaded files.`);if(t+n>c.byteLength)throw Error(`Out of bounds: data offset and length exceed the external file data size.`);let l=c.slice(t,t+n).buffer,u;switch(i.dataType){case`float32`:u=new Float32Array(l);break;case`float16`:u=typeof Float16Array<`u`&&Float16Array.from?new Float16Array(l):new Uint16Array(l);break;case`int32`:u=new Int32Array(l);break;case`uint32`:u=new Uint32Array(l);break;case`int64`:if(o){let e=yn(new Uint8Array(l),`int64`);u=new Int32Array(e.buffer),i.dataType=`int32`}else u=new BigInt64Array(l);break;case`uint64`:u=new BigUint64Array(l);break;case`int8`:u=new Int8Array(l);break;case`int4`:case`uint4`:case`uint8`:u=new Uint8Array(l);break;default:throw Error(`Unsupported data type: ${i.dataType} in creating WebNN Constant from external data.`)}return gn(`verbose`,()=>`[WebNN] registerMLConstant {dataType: ${i.dataType}, shape: ${i.shape}}} ${o?`(Note: it was int64 data type and registered to int32 as workaround)`:``}`),r.constant(i,u)}registerGraphInput(e){this.temporaryGraphInputs.push(e)}registerGraphOutput(e){this.temporaryGraphOutputs.push(e)}isGraphInput(e,t){let n=this.sessionGraphInputs.get(e);return n?n.includes(t):!1}isGraphOutput(e,t){let n=this.sessionGraphOutputs.get(e);return n?n.includes(t):!1}isGraphInputOutputTypeSupported(e,t,n=!0){let r=jn.get(Xt(t)),i=this.mlOpSupportLimitsBySessionId.get(e);return typeof r>`u`?!1:n?!!i?.input.dataTypes.includes(r):!!i?.output.dataTypes.includes(r)}flush(){}}}),Fn,In,Ln,Rn,zn,Bn,Vn,Hn,Un,Wn,Gn,Kn,qn,Jn=A(()=>{$e(),Vt(),Yt(),an(),Ft(),zt(),sn(),Fn=(e,t)=>{Pt()._OrtInit(e,t)!==0&&Rt(`Can't initialize onnxruntime.`)},In=async e=>{Fn(e.wasm.numThreads,en(e.logLevel))},Ln=async(e,t)=>{Pt().asyncInit?.();let n=e.webgpu.adapter;if(t===`webgpu`){if(typeof navigator>`u`||!navigator.gpu)throw Error(`WebGPU is not supported in current environment`);if(n){if(typeof n.limits!=`object`||typeof n.features!=`object`||typeof n.requestDevice!=`function`)throw Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let t=e.webgpu.powerPreference;if(t!==void 0&&t!==`low-power`&&t!==`high-performance`)throw Error(`Invalid powerPreference setting: "${t}"`);let r=e.webgpu.forceFallbackAdapter;if(r!==void 0&&typeof r!=`boolean`)throw Error(`Invalid forceFallbackAdapter setting: "${r}"`);if(n=await navigator.gpu.requestAdapter({powerPreference:t,forceFallbackAdapter:r}),!n)throw 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 Error(`WebNN is not supported in current environment`);if(t===`webgpu`&&Pt().webgpuInit(t=>{e.webgpu.device=t}),t===`webnn`){let t=new(Pn(),ne(An)).WebNNBackend(e);Pt().webnnInit([t,()=>t.reserveTensorId(),e=>t.releaseTensorId(e),async(e,n,r,i,a)=>t.ensureTensor(e,n,r,i,a),(e,n)=>{t.uploadTensor(e,n)},async(e,n)=>t.downloadTensor(e,n),(e,n)=>t.registerMLContext(e,n),!!e.trace])}},Rn=new Map,zn=e=>{let t=Pt(),n=t.stackSave();try{let n=t.PTR_SIZE,r=t.stackAlloc(2*n);t._OrtGetInputOutputCount(e,r,r+n)!==0&&Rt(`Can't get session input/output count.`);let i=n===4?`i32`:`i64`;return[Number(t.getValue(r,i)),Number(t.getValue(r+n,i))]}finally{t.stackRestore(n)}},Bn=(e,t)=>{let n=Pt(),r=n.stackSave(),i=0;try{let r=n.PTR_SIZE,a=n.stackAlloc(2*r);n._OrtGetInputOutputMetadata(e,t,a,a+r)!==0&&Rt(`Can't get session input/output metadata.`);let o=Number(n.getValue(a,`*`));i=Number(n.getValue(a+r,`*`));let s=n.HEAP32[i/4];if(s===0)return[o,0];let c=n.HEAPU32[i/4+1],l=[];for(let e=0;e{let t=Pt(),n=t._malloc(e.byteLength);if(n===0)throw Error(`Can't create a session. failed to allocate a buffer of size ${e.byteLength}.`);return t.HEAPU8.set(e,n),[n,e.byteLength]},Hn=async(e,t)=>{let n,r,i=Pt();Array.isArray(e)?[n,r]=e:e.buffer===i.HEAPU8.buffer?[n,r]=[e.byteOffset,e.byteLength]:[n,r]=Vn(e);let a=0,o=0,s=0,c=[],l=[],u=[];try{if([o,c]=await Jt(t),t?.externalData&&i.mountExternalData){let e=[];for(let n of t.externalData){let t=typeof n==`string`?n:n.path;e.push(on(typeof n==`string`?n:n.data).then(e=>{i.mountExternalData(t,e)}))}await Promise.all(e)}for(let e of t?.executionProviders??[])if((typeof e==`string`?e:e.name)===`webnn`){if(i.shouldTransferToMLTensor=!1,typeof e!=`string`){let t=e,n=t?.context,r=t?.gpuDevice,a=t?.deviceType,o=t?.powerPreference;n?i.currentContext=n:r?i.currentContext=await i.webnnCreateMLContext(r):i.currentContext=await i.webnnCreateMLContext({deviceType:a,powerPreference:o})}else i.currentContext=await i.webnnCreateMLContext();break}a=await i._OrtCreateSession(n,r,o),i.webgpuOnCreateSession?.(a),a===0&&Rt(`Can't create a session.`),i.jsepOnCreateSession?.(),i.currentContext&&(i.webnnRegisterMLContext(a,i.currentContext),i.currentContext=void 0,i.shouldTransferToMLTensor=!0);let[e,d]=zn(a),f=!!t?.enableGraphCapture,p=[],m=[],h=[],g=[],_=[];for(let t=0;te===`gpu-buffer`||e===`ml-tensor`||e===`ml-tensor-cpu-output`)&&(s=i._OrtCreateBinding(a),s===0&&Rt(`Can't create IO binding.`),v={handle:s,outputPreferredLocations:_,outputPreferredLocationsEncoded:_.map(e=>e===`ml-tensor-cpu-output`?`ml-tensor`:e).map(e=>rn(e))}),Rn.set(a,[a,l,u,v,f,!1]),[a,p,m,h,g]}catch(e){throw l.forEach(e=>i._OrtFree(e)),u.forEach(e=>i._OrtFree(e)),s!==0&&i._OrtReleaseBinding(s)!==0&&Rt(`Can't release IO binding.`),a!==0&&i._OrtReleaseSession(a)!==0&&Rt(`Can't release session.`),e}finally{i._free(n),o!==0&&i._OrtReleaseSessionOptions(o)!==0&&Rt(`Can't release session options.`),c.forEach(e=>i._free(e)),i.unmountExternalData?.()}},Un=e=>{let t=Pt(),n=Rn.get(e);if(!n)throw Error(`cannot release session. invalid session id: ${e}`);let[r,i,a,o,s]=n;o&&(s&&t._OrtClearBoundOutputs(o.handle)!==0&&Rt(`Can't clear bound outputs.`),t._OrtReleaseBinding(o.handle)!==0&&Rt(`Can't release IO binding.`)),t.jsepOnReleaseSession?.(e),t.webnnOnReleaseSession?.(e),t.webgpuOnReleaseSession?.(e),i.forEach(e=>t._OrtFree(e)),a.forEach(e=>t._OrtFree(e)),t._OrtReleaseSession(r)!==0&&Rt(`Can't release session.`),Rn.delete(e)},Wn=async(e,t,n,r,i,a,o=!1)=>{if(!e){t.push(0);return}let s=Pt(),c=s.PTR_SIZE,l=e[0],u=e[1],d=e[3],f=d,p,m;if(l===`string`&&(d===`gpu-buffer`||d===`ml-tensor`))throw Error(`String tensor is not supported on GPU.`);if(o&&d!==`gpu-buffer`)throw Error(`External buffer must be provided for input/output index ${a} when enableGraphCapture is true.`);if(d===`gpu-buffer`){let t=e[2].gpuBuffer;m=Qt(Xt(l),u);{let e=s.webgpuRegisterBuffer;if(!e)throw Error(`Tensor location "gpu-buffer" is not supported without using WebGPU.`);p=e(t,r)}}else if(d===`ml-tensor`){let t=e[2].mlTensor;m=Qt(Xt(l),u);let n=s.webnnRegisterMLTensor;if(!n)throw Error(`Tensor location "ml-tensor" is not supported without using WebNN.`);p=n(r,t,Xt(l),u)}else{let t=e[2];if(Array.isArray(t)){m=c*t.length,p=s._malloc(m),n.push(p);for(let e=0;es.setValue(g+t*c,e,c===4?`i32`:`i64`));let e=s._OrtCreateTensor(Xt(l),p,m,g,u.length,rn(f));e===0&&Rt(`Can't create tensor for input/output. session=${r}, index=${a}.`),t.push(e)}finally{s.stackRestore(h)}},Gn=async(e,t,n,r,i,a)=>{let o=Pt(),s=o.PTR_SIZE,c=Rn.get(e);if(!c)throw Error(`cannot run inference. invalid session id: ${e}`);let l=c[0],u=c[1],d=c[2],f=c[3],p=c[4],m=c[5],h=t.length,g=r.length,_=0,v=[],y=[],b=[],x=[],S=[],C=o.stackSave(),w=o.stackAlloc(h*s),T=o.stackAlloc(h*s),E=o.stackAlloc(g*s),ee=o.stackAlloc(g*s);try{[_,v]=Bt(a),Ve(`wasm prepareInputOutputTensor`);for(let r=0;re*t,1);u=Zt(a);let _=f?.outputPreferredLocations[r[t]];if(u===`string`){if(_===`gpu-buffer`||_===`ml-tensor`)throw Error(`String tensor is not supported on GPU.`);let e=[];for(let t=0;t0){let t=o.webgpuGetBuffer;if(!t)throw Error(`preferredLocation "gpu-buffer" is not supported without using WebGPU.`);let r=t(d),i=Qt(a,g);if(i===void 0||!tn(u))throw Error(`Unsupported data type: ${u}`);l=!0;{o.webgpuRegisterBuffer(r,e,d);let t=o.webgpuCreateDownloader(r,i,e);C.push([u,h,{gpuBuffer:r,download:async()=>{let e=await t();return new($t(u))(e)},dispose:()=>{o._OrtReleaseTensor(n)!==0&&Rt(`Can't release tensor.`)}},`gpu-buffer`])}}else if(_===`ml-tensor`&&g>0){let t=o.webnnEnsureTensor,r=o.webnnIsGraphInputOutputTypeSupported;if(!t||!r)throw Error(`preferredLocation "ml-tensor" is not supported without using WebNN.`);if(Qt(a,g)===void 0||!nn(u))throw Error(`Unsupported data type: ${u}`);if(!r(e,u,!1))throw Error(`preferredLocation "ml-tensor" for ${u} output is not supported by current WebNN Context.`);let i=await t(e,d,a,h,!1);l=!0,C.push([u,h,{mlTensor:i,download:o.webnnCreateMLTensorDownloader(d,u),dispose:()=>{o.webnnReleaseTensorId(d),o._OrtReleaseTensor(n)}},`ml-tensor`])}else if(_===`ml-tensor-cpu-output`&&g>0){let e=o.webnnCreateMLTensorDownloader(d,u)(),t=C.length;l=!0,D.push((async()=>{let r=[t,await e];return o.webnnReleaseTensorId(d),o._OrtReleaseTensor(n),r})()),C.push([u,h,[],`cpu`])}else{let e=new($t(u))(g);new Uint8Array(e.buffer,e.byteOffset,e.byteLength).set(o.HEAPU8.subarray(d,d+e.byteLength)),C.push([u,h,e,`cpu`])}}finally{o.stackRestore(a),u===`string`&&d&&o._free(d),l||o._OrtReleaseTensor(n)}}f&&!p&&(o._OrtClearBoundOutputs(f.handle)!==0&&Rt(`Can't clear bound outputs.`),Rn.set(e,[l,u,d,f,p,!1]));for(let[e,t]of await Promise.all(D))C[e][2]=t;return He(`wasm ProcessOutputTensor`),C}finally{o.webnnOnRunEnd?.(l),o.stackRestore(C),n.forEach(e=>{e&&e[3]===`gpu-buffer`&&o.webgpuUnregisterBuffer(e[2].gpuBuffer)}),i.forEach(e=>{e&&e[3]===`gpu-buffer`&&o.webgpuUnregisterBuffer(e[2].gpuBuffer)}),y.forEach(e=>o._OrtReleaseTensor(e)),b.forEach(e=>o._OrtReleaseTensor(e)),x.forEach(e=>o._free(e)),_!==0&&o._OrtReleaseRunOptions(_),v.forEach(e=>o._free(e))}},Kn=e=>{let t=Pt(),n=Rn.get(e);if(!n)throw Error(`invalid session id`);let r=n[0],i=t._OrtEndProfiling(r);i===0&&Rt(`Can't get an profile file name.`),t._OrtFree(i)},qn=e=>{let t=[];for(let n of e){let e=n[2];!Array.isArray(e)&&`buffer`in e&&t.push(e.buffer)}return t}}),Yn,Xn,Zn,Qn,$n,er,tr,nr,rr,ir,ar,or,sr,cr,lr,ur,dr,fr,pr=A(()=>{$e(),Jn(),Ft(),Tt(),Yn=()=>!!pe.wasm.proxy&&typeof document<`u`,Zn=!1,Qn=!1,$n=!1,nr=new Map,rr=(e,t)=>{let n=nr.get(e);n?n.push(t):nr.set(e,[t])},ir=()=>{if(Zn||!Qn||$n||!Xn)throw Error(`worker not ready`)},ar=e=>{switch(e.data.type){case`init-wasm`:Zn=!1,e.data.err?($n=!0,tr[1](e.data.err)):(Qn=!0,tr[0]()),er&&=(URL.revokeObjectURL(er),void 0);break;case`init-ep`:case`copy-from`:case`create`:case`release`:case`run`:case`end-profiling`:{let t=nr.get(e.data.type);e.data.err?t.shift()[1](e.data.err):t.shift()[0](e.data.out);break}default:}},or=async()=>{if(!Qn){if(Zn)throw Error(`multiple calls to 'initWasm()' detected.`);if($n)throw Error(`previous call to 'initWasm()' failed.`);if(Zn=!0,Yn())return new Promise((e,t)=>{Xn?.terminate(),St().then(([n,r])=>{try{Xn=r,Xn.onerror=e=>t(e),Xn.onmessage=ar,tr=[e,t];let i={type:`init-wasm`,in:pe};!i.in.wasm.wasmPaths&&(n||ft)&&(i.in.wasm.wasmPaths={wasm:new URL(`/assets/ort-wasm-simd-threaded.asyncify-BrebZMa_.wasm`,``+import.meta.url).href}),Xn.postMessage(i),er=n}catch(e){t(e)}},t)});try{await Nt(pe.wasm),await In(pe),Qn=!0}catch(e){throw $n=!0,e}finally{Zn=!1}}},sr=async e=>{if(Yn())return ir(),new Promise((t,n)=>{rr(`init-ep`,[t,n]);let r={type:`init-ep`,in:{epName:e,env:pe}};Xn.postMessage(r)});await Ln(pe,e)},cr=async e=>Yn()?(ir(),new Promise((t,n)=>{rr(`copy-from`,[t,n]);let r={type:`copy-from`,in:{buffer:e}};Xn.postMessage(r,[e.buffer])})):Vn(e),lr=async(e,t)=>{if(Yn()){if(t?.preferredOutputLocation)throw Error(`session option "preferredOutputLocation" is not supported for proxy.`);return ir(),new Promise((n,r)=>{rr(`create`,[n,r]);let i={type:`create`,in:{model:e,options:{...t}}},a=[];e instanceof Uint8Array&&a.push(e.buffer),Xn.postMessage(i,a)})}else return Hn(e,t)},ur=async e=>{if(Yn())return ir(),new Promise((t,n)=>{rr(`release`,[t,n]);let r={type:`release`,in:e};Xn.postMessage(r)});Un(e)},dr=async(e,t,n,r,i,a)=>{if(Yn()){if(n.some(e=>e[3]!==`cpu`))throw Error(`input tensor on GPU is not supported for proxy.`);if(i.some(e=>e))throw Error(`pre-allocated output tensor is not supported for proxy.`);return ir(),new Promise((i,o)=>{rr(`run`,[i,o]);let s=n,c={type:`run`,in:{sessionId:e,inputIndices:t,inputs:s,outputIndices:r,options:a}};Xn.postMessage(c,qn(s))})}else return Gn(e,t,n,r,i,a)},fr=async e=>{if(Yn())return ir(),new Promise((t,n)=>{rr(`end-profiling`,[t,n]);let r={type:`end-profiling`,in:e};Xn.postMessage(r)});Kn(e)}}),mr,hr,gr,P=A(()=>{$e(),pr(),an(),et(),sn(),mr=(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 Error(`invalid data location: ${e.location} for ${t()}`)}},hr=e=>{switch(e[3]){case`cpu`:return new Fe(e[0],e[2],e[1]);case`gpu-buffer`:{let t=e[0];if(!tn(t))throw Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:n,download:r,dispose:i}=e[2];return Fe.fromGpuBuffer(n,{dataType:t,dims:e[1],download:r,dispose:i})}case`ml-tensor`:{let t=e[0];if(!nn(t))throw Error(`not supported data type: ${t} for deserializing MLTensor tensor`);let{mlTensor:n,download:r,dispose:i}=e[2];return Fe.fromMLTensor(n,{dataType:t,dims:e[1],download:r,dispose:i})}default:throw Error(`invalid data location: ${e[3]}`)}},gr=class{async fetchModelAndCopyToWasmMemory(e){return cr(await on(e))}async loadModel(e,t){ze();let n;n=typeof e==`string`?await this.fetchModelAndCopyToWasmMemory(e):e,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await lr(n,t),Be()}async dispose(){return ur(this.sessionId)}async run(e,t,n){ze();let r=[],i=[];Object.entries(e).forEach(e=>{let t=e[0],n=e[1],a=this.inputNames.indexOf(t);if(a===-1)throw Error(`invalid input '${t}'`);r.push(n),i.push(a)});let a=[],o=[];Object.entries(t).forEach(e=>{let t=e[0],n=e[1],r=this.outputNames.indexOf(t);if(r===-1)throw Error(`invalid output '${t}'`);a.push(n),o.push(r)});let s=r.map((e,t)=>mr(e,()=>`input "${this.inputNames[i[t]]}"`)),c=a.map((e,t)=>e?mr(e,()=>`output "${this.outputNames[o[t]]}"`):null),l=await dr(this.sessionId,i,s,o,c,n),u={};for(let e=0;eyr,initializeFlags:()=>vr,wasmBackend:()=>br});var vr,yr,br,xr=A(()=>{$e(),pr(),P(),vr=()=>{(typeof pe.wasm.initTimeout!=`number`||pe.wasm.initTimeout<0)&&(pe.wasm.initTimeout=0);let e=pe.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.`),pe.wasm.simd=!1),typeof pe.wasm.proxy!=`boolean`&&(pe.wasm.proxy=!1),typeof pe.wasm.trace!=`boolean`&&(pe.wasm.trace=!1),typeof pe.wasm.numThreads!=`number`||!Number.isInteger(pe.wasm.numThreads)||pe.wasm.numThreads<=0)if(typeof self<`u`&&!self.crossOriginIsolated)pe.wasm.numThreads=1;else{let e=typeof navigator>`u`?k(`node:os`).cpus().length:navigator.hardwareConcurrency;pe.wasm.numThreads=Math.min(4,Math.ceil((e||1)/2))}},yr=class{async init(e){vr(),await or(),await sr(e)}async createInferenceSessionHandler(e,t){let n=new gr;return await n.loadModel(e,t),n}},br=new yr});$e(),$e(),$e();var Sr=`1.25.0-dev.20260327-722743c0e2`,Cr=Qe;{let e=(xr(),ne(_r)).wasmBackend;N(`webgpu`,e,5),N(`webnn`,e,5),N(`cpu`,e,10),N(`wasm`,e,10)}Object.defineProperty(pe.versions,`web`,{value:Sr,enumerable:!0});var wr=`1.24.3`,Tr=`warning`;Object.defineProperty({wasm:{},webgl:{},webgpu:{},versions:{common:wr},set logLevel(e){if(e!==void 0){if(typeof e!=`string`||[`verbose`,`info`,`warning`,`error`,`fatal`].indexOf(e)===-1)throw Error(`Unsupported logging level: ${e}`);Tr=e}},get logLevel(){return Tr}},`logLevel`,{enumerable:!0});var Er=(e,t)=>{let n=typeof document<`u`?document.createElement(`canvas`):new OffscreenCanvas(1,1);n.width=e.dims[3],n.height=e.dims[2];let r=n.getContext(`2d`);if(r!=null){let i,a;t?.tensorLayout!==void 0&&t.tensorLayout===`NHWC`?(i=e.dims[2],a=e.dims[3]):(i=e.dims[3],a=e.dims[2]);let o=t?.format===void 0?`RGB`:t.format,s=t?.norm,c,l;s===void 0||s.mean===void 0?c=[255,255,255,255]:typeof s.mean==`number`?c=[s.mean,s.mean,s.mean,s.mean]:(c=[s.mean[0],s.mean[1],s.mean[2],0],s.mean[3]!==void 0&&(c[3]=s.mean[3])),s===void 0||s.bias===void 0?l=[0,0,0,0]:typeof s.bias==`number`?l=[s.bias,s.bias,s.bias,s.bias]:(l=[s.bias[0],s.bias[1],s.bias[2],0],s.bias[3]!==void 0&&(l[3]=s.bias[3]));let u=a*i,d=0,f=u,p=u*2,m=-1;o===`RGBA`?(d=0,f=u,p=u*2,m=u*3):o===`RGB`?(d=0,f=u,p=u*2):o===`RBG`&&(d=0,p=u,f=u*2);for(let t=0;t{let n=typeof document<`u`?document.createElement(`canvas`).getContext(`2d`):new OffscreenCanvas(1,1).getContext(`2d`),r;if(n!=null){let i,a,o;t?.tensorLayout!==void 0&&t.tensorLayout===`NHWC`?(i=e.dims[2],a=e.dims[1],o=e.dims[3]):(i=e.dims[3],a=e.dims[2],o=e.dims[1]);let s=t===void 0||t.format===void 0?`RGB`:t.format,c=t?.norm,l,u;c===void 0||c.mean===void 0?l=[255,255,255,255]:typeof c.mean==`number`?l=[c.mean,c.mean,c.mean,c.mean]:(l=[c.mean[0],c.mean[1],c.mean[2],255],c.mean[3]!==void 0&&(l[3]=c.mean[3])),c===void 0||c.bias===void 0?u=[0,0,0,0]:typeof c.bias==`number`?u=[c.bias,c.bias,c.bias,c.bias]:(u=[c.bias[0],c.bias[1],c.bias[2],0],c.bias[3]!==void 0&&(u[3]=c.bias[3]));let d=a*i;if(t!==void 0&&(t.format!==void 0&&o===4&&t.format!==`RGBA`||o===3&&t.format!==`RGB`&&t.format!==`BGR`))throw Error(`Tensor format doesn't match input tensor dims`);let f=0,p=1,m=2,h=3,g=0,_=d,v=d*2,y=-1;s===`RGBA`?(g=0,_=d,v=d*2,y=d*3):s===`RGB`?(g=0,_=d,v=d*2):s===`RBG`&&(g=0,v=d,_=d*2),r=n.createImageData(i,a);for(let t=0;t{if(e===void 0)throw Error(`Image buffer must be defined`);if(t.height===void 0||t.width===void 0)throw Error(`Image height and width must be defined`);if(t.tensorLayout===`NHWC`)throw Error(`NHWC Tensor layout is not supported yet`);let{height:n,width:r}=t,i=t.norm??{mean:255,bias:0},a,o;a=typeof i.mean==`number`?[i.mean,i.mean,i.mean,i.mean]:[i.mean[0],i.mean[1],i.mean[2],i.mean[3]??255],o=typeof i.bias==`number`?[i.bias,i.bias,i.bias,i.bias]:[i.bias[0],i.bias[1],i.bias[2],i.bias[3]??0];let s=t.format===void 0?`RGBA`:t.format,c=t.tensorFormat===void 0||t.tensorFormat===void 0?`RGB`:t.tensorFormat,l=n*r,u=c===`RGBA`?new Float32Array(l*4):new Float32Array(l*3),d=4,f=0,p=1,m=2,h=3,g=0,_=l,v=l*2,y=-1;s===`RGB`&&(d=3,f=0,p=1,m=2,h=-1),c===`RGBA`?y=l*3:c===`RBG`?(g=0,v=l,_=l*2):c===`BGR`&&(v=0,_=l,g=l*2);for(let t=0;t{let n=typeof HTMLImageElement<`u`&&e instanceof HTMLImageElement,r=typeof ImageData<`u`&&e instanceof ImageData,i=typeof ImageBitmap<`u`&&e instanceof ImageBitmap,a=typeof e==`string`,o,s=t??{},c=()=>{if(typeof document<`u`)return document.createElement(`canvas`);if(typeof OffscreenCanvas<`u`)return new OffscreenCanvas(1,1);throw Error(`Canvas is not supported`)},l=e=>typeof HTMLCanvasElement<`u`&&e instanceof HTMLCanvasElement||e instanceof OffscreenCanvas?e.getContext(`2d`):null;if(n){let n=c();n.width=e.width,n.height=e.height;let r=l(n);if(r!=null){let n=e.height,i=e.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(n=t.resizedHeight,i=t.resizedWidth),t!==void 0){if(s=t,t.tensorFormat!==void 0)throw Error(`Image input config format must be RGBA for HTMLImageElement`);s.tensorFormat=`RGBA`,s.height=n,s.width=i}else s.tensorFormat=`RGBA`,s.height=n,s.width=i;r.drawImage(e,0,0),o=r.getImageData(0,0,i,n).data}else throw Error(`Can not access image data`)}else if(r){let n,r;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(n=t.resizedHeight,r=t.resizedWidth):(n=e.height,r=e.width),t!==void 0&&(s=t),s.format=`RGBA`,s.height=n,s.width=r,t!==void 0){let t=c();t.width=r,t.height=n;let i=l(t);if(i!=null)i.putImageData(e,0,0),o=i.getImageData(0,0,r,n).data;else throw Error(`Can not access image data`)}else o=e.data}else if(i){if(t===void 0)throw Error(`Please provide image config with format for Imagebitmap`);let n=c();n.width=e.width,n.height=e.height;let r=l(n);if(r!=null){let t=e.height,n=e.width;return r.drawImage(e,0,0,n,t),o=r.getImageData(0,0,n,t).data,s.height=t,s.width=n,Or(o,s)}else throw Error(`Can not access image data`)}else if(a)return new Promise((t,n)=>{let r=c(),i=l(r);if(!e||!i)return n();let a=new Image;a.crossOrigin=`Anonymous`,a.src=e,a.onload=()=>{r.width=a.width,r.height=a.height,i.drawImage(a,0,0,r.width,r.height);let e=i.getImageData(0,0,r.width,r.height);s.height=r.height,s.width=r.width,t(Or(e.data,s))}});else throw Error(`Input data provided is not supported - aborted tensor creation`);if(o!==void 0)return Or(o,s);throw Error(`Input data provided is not supported - aborted tensor creation`)},Ar=(e,t)=>{let{width:n,height:r,download:i,dispose:a}=t;return new Br({location:`texture`,type:`float32`,texture:e,dims:[1,r,n,4],download:i,dispose:a})},jr=(e,t)=>{let{dataType:n,dims:r,download:i,dispose:a}=t;return new Br({location:`gpu-buffer`,type:n??`float32`,gpuBuffer:e,dims:r,download:i,dispose:a})},Mr=(e,t)=>{let{dataType:n,dims:r,download:i,dispose:a}=t;return new Br({location:`ml-tensor`,type:n??`float32`,mlTensor:e,dims:r,download:i,dispose:a})},Nr=(e,t,n)=>new Br({location:`cpu-pinned`,type:e,data:t,dims:n??[t.length]}),Pr=new Map([[`float32`,Float32Array],[`uint8`,Uint8Array],[`int8`,Int8Array],[`uint16`,Uint16Array],[`int16`,Int16Array],[`int32`,Int32Array],[`bool`,Uint8Array],[`float64`,Float64Array],[`uint32`,Uint32Array],[`int4`,Uint8Array],[`uint4`,Uint8Array]]),Fr=new Map([[Float32Array,`float32`],[Uint8Array,`uint8`],[Int8Array,`int8`],[Uint16Array,`uint16`],[Int16Array,`int16`],[Int32Array,`int32`],[Float64Array,`float64`],[Uint32Array,`uint32`]]),Ir=!1,Lr=()=>{if(!Ir){Ir=!0;let e=typeof BigInt64Array<`u`&&BigInt64Array.from,t=typeof BigUint64Array<`u`&&BigUint64Array.from,n=globalThis.Float16Array,r=n!==void 0&&n.from;e&&(Pr.set(`int64`,BigInt64Array),Fr.set(BigInt64Array,`int64`)),t&&(Pr.set(`uint64`,BigUint64Array),Fr.set(BigUint64Array,`uint64`)),r?(Pr.set(`float16`,n),Fr.set(n,`float16`)):Pr.set(`float16`,Uint16Array)}},Rr=e=>{let t=1;for(let n=0;n{switch(e.location){case`cpu`:return new Br(e.type,e.data,t);case`cpu-pinned`:return new Br({location:`cpu-pinned`,data:e.data,type:e.type,dims:t});case`texture`:return new Br({location:`texture`,texture:e.texture,type:e.type,dims:t});case`gpu-buffer`:return new Br({location:`gpu-buffer`,gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case`ml-tensor`:return new Br({location:`ml-tensor`,mlTensor:e.mlTensor,type:e.type,dims:t});default:throw Error(`tensorReshape: tensor location ${e.location} is not supported`)}},Br=class{constructor(e,t,n){Lr();let r,i;if(typeof e==`object`&&`location`in e)switch(this.dataLocation=e.location,r=e.type,i=e.dims,e.location){case`cpu-pinned`:{let t=Pr.get(r);if(!t)throw TypeError(`unsupported type "${r}" to create tensor from pinned buffer`);if(!(e.data instanceof t))throw TypeError(`buffer should be of type ${t.name}`);this.cpuData=e.data;break}case`texture`:if(r!==`float32`)throw TypeError(`unsupported type "${r}" to create tensor from texture`);this.gpuTextureData=e.texture,this.downloader=e.download,this.disposer=e.dispose;break;case`gpu-buffer`:if(r!==`float32`&&r!==`float16`&&r!==`int32`&&r!==`int64`&&r!==`uint32`&&r!==`uint8`&&r!==`bool`&&r!==`uint4`&&r!==`int4`)throw TypeError(`unsupported type "${r}" to create tensor from gpu buffer`);this.gpuBufferData=e.gpuBuffer,this.downloader=e.download,this.disposer=e.dispose;break;case`ml-tensor`:if(r!==`float32`&&r!==`float16`&&r!==`int32`&&r!==`int64`&&r!==`uint32`&&r!==`uint64`&&r!==`int8`&&r!==`uint8`&&r!==`bool`&&r!==`uint4`&&r!==`int4`)throw TypeError(`unsupported type "${r}" to create tensor from MLTensor`);this.mlTensorData=e.mlTensor,this.downloader=e.download,this.disposer=e.dispose;break;default:throw Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let a,o;if(typeof e==`string`)if(r=e,o=n,e===`string`){if(!Array.isArray(t))throw TypeError(`A string tensor's data must be a string array.`);a=t}else{let n=Pr.get(e);if(n===void 0)throw TypeError(`Unsupported tensor type: ${e}.`);if(Array.isArray(t)){if(e===`float16`&&n===Uint16Array||e===`uint4`||e===`int4`)throw TypeError(`Creating a ${e} tensor from number array is not supported. Please use ${n.name} as data.`);a=e===`uint64`||e===`int64`?n.from(t,BigInt):n.from(t)}else if(t instanceof n)a=t;else if(t instanceof Uint8ClampedArray)if(e===`uint8`)a=Uint8Array.from(t);else throw TypeError(`A Uint8ClampedArray tensor's data must be type of uint8`);else if(e===`float16`&&t instanceof Uint16Array&&n!==Uint16Array)a=new globalThis.Float16Array(t.buffer,t.byteOffset,t.length);else throw TypeError(`A ${r} tensor's data must be type of ${n}`)}else if(o=t,Array.isArray(e)){if(e.length===0)throw TypeError(`Tensor type cannot be inferred from an empty array.`);let t=typeof e[0];if(t===`string`)r=`string`,a=e;else if(t===`boolean`)r=`bool`,a=Uint8Array.from(e);else throw TypeError(`Invalid element type of data array: ${t}.`)}else if(e instanceof Uint8ClampedArray)r=`uint8`,a=Uint8Array.from(e);else{let t=Fr.get(e.constructor);if(t===void 0)throw TypeError(`Unsupported type for tensor data: ${e.constructor}.`);r=t,a=e}if(o===void 0)o=[a.length];else if(!Array.isArray(o))throw TypeError(`A tensor's dims must be a number array`);i=o,this.cpuData=a,this.dataLocation=`cpu`}let a=Rr(i);if(this.cpuData&&a!==this.cpuData.length&&!((r===`uint4`||r===`int4`)&&Math.ceil(a/2)===this.cpuData.length))throw Error(`Tensor's size(${a}) does not match data length(${this.cpuData.length}).`);this.type=r,this.dims=i,this.size=a}static async fromImage(e,t){return kr(e,t)}static fromTexture(e,t){return Ar(e,t)}static fromGpuBuffer(e,t){return jr(e,t)}static fromMLTensor(e,t){return Mr(e,t)}static fromPinnedBuffer(e,t,n){return Nr(e,t,n)}toDataURL(e){return Er(this,e)}toImageData(e){return Dr(this,e)}get data(){if(this.ensureValid(),!this.cpuData)throw 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 Error(`The data is not stored as a WebGL texture.`);return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw Error(`The data is not stored as a WebGPU buffer.`);return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw 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 Error(`The current tensor is not created with a specified data downloader.`);if(this.isDownloading)throw 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 Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw Error(`The current tensor is being downloaded.`);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 Error(`The tensor is disposed.`)}reshape(e){if(this.ensureValid(),this.downloader||this.disposer)throw Error(`Cannot reshape a tensor that owns GPU resource.`);return zr(this,e)}},Vr=Br,Hr=Object.defineProperty,Ur=(e,t)=>{for(var n in t)Hr(e,n,{get:t[n],enumerable:!0})},Wr={},Gr={},Kr={},qr=`4.0.1`,Jr=typeof self<`u`,Yr=!xi(Wr),Xr=!xi(Gr),Zr=Jr&&`caches`in self,Qr=globalThis.Deno!==void 0;globalThis.Bun;var $r=Qr&&Zr&&!Yr,ei=typeof process<`u`,ti=ei&&process?.release?.name===`node`&&!$r,ni=typeof window<`u`&&window.document!==void 0,ri=Jr&&[`DedicatedWorkerGlobalScope`,`ServiceWorkerGlobalScope`,`SharedWorkerGlobalScope`].includes(self.constructor?.name),ii=ni||ri||$r,ai=ti||typeof navigator<`u`&&`gpu`in navigator,oi=typeof navigator<`u`&&`ml`in navigator,si=typeof crypto<`u`&&typeof crypto.getRandomValues==`function`,ci=typeof chrome<`u`&&chrome.runtime!==void 0&&typeof chrome.runtime.id==`string`,li=typeof ServiceWorkerGlobalScope<`u`&&Jr&&self instanceof ServiceWorkerGlobalScope,ui=(()=>{if(typeof navigator>`u`)return!1;let e=navigator.userAgent,t=(navigator.vendor||``).indexOf(`Apple`)>-1,n=!e.match(/CriOS|FxiOS|EdgiOS|OPiOS|mercury|brave/i)&&!e.includes(`Chrome`)&&!e.includes(`Android`);return t&&n})(),di=Object.freeze({IS_BROWSER_ENV:ni,IS_WEBWORKER_ENV:ri,IS_WEB_ENV:ii,IS_SERVICE_WORKER_ENV:li,IS_DENO_WEB_RUNTIME:$r,IS_WEB_CACHE_AVAILABLE:Zr,IS_WEBGPU_AVAILABLE:ai,IS_WEBNN_AVAILABLE:oi,IS_SAFARI:ui,IS_PROCESS_AVAILABLE:ei,IS_NODE_ENV:ti,IS_FS_AVAILABLE:Yr,IS_PATH_AVAILABLE:Xr,IS_CRYPTO_AVAILABLE:si,IS_CHROME_AVAILABLE:ci}),fi=Yr&&Xr,pi=`./`;if(fi){let e=Object(import.meta).url;e?pi=Gr.dirname(Gr.dirname(Kr.fileURLToPath(e))):typeof __dirname<`u`&&(pi=Gr.dirname(__dirname))}var mi=fi?Gr.join(pi,`/.cache/`):null,hi=`/models/`,gi=fi?Gr.join(pi,hi):hi,_i=typeof globalThis.fetch==`function`?globalThis.fetch.bind(globalThis):void 0,vi=Object.freeze({DEBUG:10,INFO:20,WARNING:30,ERROR:40,NONE:50}),yi=vi.WARNING,bi={version:qr,backends:{onnx:{}},get logLevel(){return yi},set logLevel(e){yi=e,bi.backends.onnx?.setLogLevel?.(e)},allowRemoteModels:!0,remoteHost:`https://huggingface.co/`,remotePathTemplate:`{model}/resolve/{revision}/`,allowLocalModels:!(ni||ri||$r),localModelPath:gi,useFS:Yr,useBrowserCache:Zr,useFSCache:Yr,cacheDir:mi,useCustomCache:!1,customCache:null,useWasmCache:Zr||Yr,cacheKey:`transformers-cache`,experimental_useCrossOriginStorage:!1,fetch:_i};function xi(e){return Object.keys(e).length===0}var Si=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`)}};function Ci(e,t){e&&e(t)}var wi=class extends Si{constructor(e,t){super(),this.callback=e,this.files_loading=t}_call(e){if(e.status===`progress`){this.files_loading[e.file]={loaded:e.loaded,total:e.total};let t=Object.values(this.files_loading).reduce((e,t)=>e+t.loaded,0),n=Object.values(this.files_loading).reduce((e,t)=>e+t.total,0),r=n>0?t/n*100:0;this.callback({status:`progress_total`,name:e.name,progress:r,loaded:t,total:n,files:structuredClone(this.files_loading)})}this.callback(e)}};function Ti(e){return Number.isInteger(e)||typeof e==`bigint`}function Ei(e){return e==null||e===-1}function Di(e){let t=[],n=e;for(;Array.isArray(n);)t.push(n.length),n=n[0];return t}function Oi(...e){return Array.prototype.concat.apply([],e)}function ki(...e){return e.reduce((e,t)=>e.flatMap(e=>t.map(t=>[e,t])))}function Ai(e,t){return Math.abs((e+t)%(2*t)-t)}function ji(e,t){return Object.assign({},...t.map(t=>{if(e[t]!==void 0)return{[t]:e[t]}}))}function Mi(e,t){let n=0;for(let r of e)r===t&&++n;return n}var F={error(...e){bi.logLevel<=vi.ERROR&&console.error(...e)},warn(...e){bi.logLevel<=vi.WARNING&&console.warn(...e)},info(...e){bi.logLevel<=vi.INFO&&console.log(...e)},debug(...e){bi.logLevel<=vi.DEBUG&&console.log(...e)},log(...e){this.info(...e)}},Ni=class{constructor(e){this.trie=this._build_trie(e)}_build_trie(e){let t=Object.create(null);for(let n of e){let e=t;for(let t=0;tr&&t.push(e.slice(r,i)),t.push(o),i+=o.length,r=i):++i}return r{let e=[...Array.from({length:94},(e,t)=>t+33),...Array.from({length:12},(e,t)=>t+161),...Array.from({length:82},(e,t)=>t+174)],t=e.slice(),n=0;for(let r=0;r<256;++r)e.includes(r)||(e.push(r),t.push(256+n),n+=1);let r=t.map(e=>String.fromCharCode(e));return Object.fromEntries(e.map((e,t)=>[e,r[t]]))})(),Ii=(e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[t,e])))(Fi),Li=`.,!?…。,、।۔،`,Ri=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|[${Li}])]+`,` ?[^\\s${Li}]+`]]),zi=`\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E`,Bi=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`),Vi=(e,t=!0)=>{if(e.Regex!==void 0){let t=e.Regex.replace(/\\([#&~])/g,`$1`);t=t.replace(/\\A/g,`^`).replace(/\\z/g,`$`).replace(/\\Z/g,`(?=\\r?\\n?$)`);for(let[e,n]of Ri)t=t.replaceAll(e,n);try{return new RegExp(t,`gu`)}catch(e){if(!(e instanceof SyntaxError)||!e.message.toLowerCase().includes(`invalid property name`))throw e;let n=!1,r=t.replace(/(\\[pP])\{([^}=]+)\}/g,(e,t,r)=>{try{return RegExp(`\\p{${r}}`,`u`),`${t}{${r}}`}catch{return n=!0,`${t}{Script=${r}}`}});if(!n)throw e;try{return new RegExp(r,`gu`)}catch{throw e}}}else if(e.String!==void 0){let n=Hi(e.String);return new RegExp(t?n:`(${n})`,`gu`)}else return console.warn(`Unknown pattern type:`,e),null},Hi=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),Ui=(e,t,n)=>{let r=[],i=0;for(;ie>=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,Gi=e=>Number.isInteger(e)||typeof e==`bigint`,Ki=e=>{let t=0;for(let n of e)++t;return t},qi=e=>Zi(e.toLowerCase()),Ji=(...e)=>Array.prototype.concat.apply([],e),Yi=e=>new Map(Object.entries(e)),Xi=(e,t)=>{let n=[],r=0;for(let i of e.matchAll(t)){let t=i[0];r0&&n.push(t),r=i.index+t.length}return re.replace(/\p{M}/gu,``),Qi=(e,t,n=[])=>{if(!e||Array.isArray(e)||typeof e!=`object`)return`${t} must be a valid object`;for(let r of n)if(!(r in e))return`${t} must contain a "${r}" property`;return null},$i=e=>e.match(/\S+/g)||[],ea=class{constructor(){let e=function(...t){return e._call(...t)};return Object.setPrototypeOf(e,new.target.prototype)}},ta=class extends ea{constructor(e){super(),this.config=e}_call(e){return this.normalize(e)}},I=class extends ta{tokenize_chinese_chars(e){let t=[];for(let n=0;ne.normalize(`NFKC`)).join(`~`):e.normalize(`NFKC`),e}},ra=class extends ta{constructor(e){super(e),this.normalizers=(e.normalizers??[]).map(e=>pa(e))}normalize(e){return this.normalizers.reduce((e,t)=>t?t.normalize(e):e,e)}},L=class extends ta{normalize(e){let t=Vi(this.config.pattern??{});return t===null?e:e.replaceAll(t,this.config.content??``)}},ia=class extends ta{constructor(){super(...arguments),this.form=`NFC`}normalize(e){return e=e.normalize(this.form),e}},R=class extends ia{constructor(){super(...arguments),this.form=`NFC`}},aa=class extends ia{constructor(){super(...arguments),this.form=`NFD`}},oa=class extends ia{constructor(){super(...arguments),this.form=`NFKC`}},sa=class extends ia{constructor(){super(...arguments),this.form=`NFKD`}},ca=class extends ta{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}},la=class extends ta{normalize(e){return Zi(e)}},ua=class extends ta{normalize(e){return e.toLowerCase()}},da=class extends ta{normalize(e){return e=this.config.prepend+e,e}};function fa(e){if(e===null)return null;switch(e.type){case`BertNormalizer`:return new I(e);case`Precompiled`:return new na(e);case`Sequence`:return new ra(e);case`Replace`:return new L(e);case`NFC`:return new R(e);case`NFD`:return new aa(e);case`NFKC`:return new oa(e);case`NFKD`:return new sa(e);case`Strip`:return new ca(e);case`StripAccents`:return new la(e);case`Lowercase`:return new ua(e);case`Prepend`:return new da(e);default:throw Error(`Unknown Normalizer type: ${e.type}`)}}var pa=fa,ma=class extends ea{pre_tokenize(e,t){return(Array.isArray(e)?e.map(e=>this.pre_tokenize_text(e,t)):this.pre_tokenize_text(e,t)).flat()}_call(e,t){return this.pre_tokenize(e,t)}},ha=class extends ma{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=/'s|'t|'re|'ve|'m|'ll|'d| ?\p{L}+| ?\p{N}+| ?[^\s\p{L}\p{N}]+|\s+(?!\S)|\s+/gu,this.byte_encoder=Fi,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(e=>Array.from(this.text_encoder.encode(e),e=>this.byte_encoder[e]).join(``))}},ga=class extends ma{pre_tokenize_text(e,t){return e.match(/\w+|[^\w\s]+/g)||[]}},_a=class extends ma{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){let{section_index:n=void 0}=t??{},r=e.replaceAll(` `,this.str_rep);return!r.startsWith(this.replacement)&&(this.prepend_scheme===`always`||this.prepend_scheme===`first`&&n===0)&&(r=this.str_rep+r),[r]}},va=class extends ma{constructor(e){super(),this.config=e,this.pattern=Vi(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(e=>e):Xi(e,this.pattern)}},ya=class extends ma{constructor(e){super(),this.config=e,this.pattern=RegExp(`[^${zi}]+|[${zi}]+`,`gu`)}pre_tokenize_text(e){return e.match(this.pattern)||[]}},ba=class extends ma{constructor(e){super(),this.config=e;let t=`[^\\d]+|\\d${this.config.individual_digits?``:`+`}`;this.pattern=new RegExp(t,`gu`)}pre_tokenize_text(e){return e.match(this.pattern)||[]}},xa=class extends ma{constructor(){super(),this.pattern=RegExp(`[^\\s${zi}]+|[${zi}]`,`gu`)}pre_tokenize_text(e,t){return e.trim().match(this.pattern)||[]}},Sa=class extends ma{constructor(e){super(),this.config=e,this.pattern=Vi(this.config.pattern??{}),this.content=this.config.content??``}pre_tokenize_text(e){return this.pattern===null?[e]:[e.replaceAll(this.pattern,this.config.content??``)]}},Ca=class extends ma{constructor(e){super(),this.tokenizers=(e.pretokenizers??[]).map(e=>Da(e))}pre_tokenize_text(e,t){return this.tokenizers.reduce((e,n)=>n?n.pre_tokenize(e,t):e,[e])}},wa=class extends ma{pre_tokenize_text(e){return $i(e)}},Ta=class extends ma{constructor(e){super(),this.config=e,this._length=e.length}pre_tokenize_text(e){let t=[];for(let n=0;nthis.max_input_chars_per_word){t.push(this.unk_token);continue}let r=!1,i=0,a=[];for(;i0&&(r=this.config.continuing_subword_prefix+r),this.tokens_to_ids.has(r)){n=r;break}--t}if(n===null){r=!0;break}a.push(n),i=t}r?t.push(this.unk_token):t.push(...a)}return t}},Aa=class e{constructor(e,t){this.is_leaf=e,this.children=t}static default(){return new e(!1,new Map)}},ja=class{constructor(){this.root=Aa.default()}extend(e){for(let t of e)this.push(t)}push(e){let t=this.root;for(let n of e){let e=t.children.get(n);e===void 0&&(e=Aa.default(),t.children.set(n,e)),t=e}t.is_leaf=!0}*common_prefix_search(e){let t=this.root;if(t===void 0)return;let n=``;for(let r of e){if(n+=r,t=t.children.get(r),t===void 0)return;t.is_leaf&&(yield n)}}},Ma=class e{constructor(e,t,n,r,i){this.token_id=e,this.node_id=t,this.pos=n,this.length=r,this.score=i,this.prev=null,this.backtrace_score=0}clone(){let t=new e(this.token_id,this.node_id,this.pos,this.length,this.score);return t.prev=this.prev,t.backtrace_score=this.backtrace_score,t}},Na=class{constructor(e,t,n){this.chars=Array.from(e),this.len=this.chars.length,this.bos_token_id=t,this.eos_token_id=n,this.nodes=[],this.begin_nodes=Array.from({length:this.len+1},()=>[]),this.end_nodes=Array.from({length:this.len+1},()=>[]);let r=new Ma(this.bos_token_id??0,0,0,0,0),i=new Ma(this.eos_token_id??0,1,this.len,0,0);this.nodes.push(r.clone()),this.nodes.push(i.clone()),this.begin_nodes[this.len].push(i),this.end_nodes[0].push(r)}insert(e,t,n,r){let i=this.nodes.length,a=new Ma(r,i,e,t,n);this.begin_nodes[e].push(a),this.end_nodes[e+t].push(a),this.nodes.push(a)}viterbi(){let e=this.len,t=0;for(;t<=e;){if(this.begin_nodes[t].length==0)return[];for(let e of this.begin_nodes[t]){e.prev=null;let n=0,r=null;for(let i of this.end_nodes[t]){let t=i.backtrace_score+e.score;(r===null||t>n)&&(r=i.clone(),n=t)}if(r!==null)e.prev=r,e.backtrace_score=n;else return[]}++t}let n=[],r=this.begin_nodes[e][0].prev;if(r===null)return[];let i=r.clone();for(;i.prev!==null;)n.push(i.clone()),i=i.clone().prev.clone();return n.reverse(),n}piece(e){return this.chars.slice(e.pos,e.pos+e.length).join(``)}tokens(){return this.viterbi().map(e=>this.piece(e))}token_ids(){return this.viterbi().map(e=>e.token_id)}};function Pa(e){if(e.length===0)throw Error(`Array must not be empty`);let t=e[0],n=0;for(let r=1;r[e,t])),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=Pa(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new ja,this.trie.extend(this.vocab),this.fuse_unk=!0}populate_nodes(e){let t=e.chars,n=0;for(;ne>t,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(let t of e)if(this.size0&&this._swap(0,t),this._heap.pop(),this._sift_down(),e}replace(e){let 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){let n=this._heap[e];this._heap[e]=this._heap[t],this._heap[t]=n}_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()}},Ra=class extends Oa{constructor(e){super(e),this.tokens_to_ids=Yi(e.vocab),this.unk_token_id=this.tokens_to_ids.get(e.unk_token),this.unk_token=e.unk_token,this.vocab=Array(this.tokens_to_ids.size);for(let[e,t]of this.tokens_to_ids)this.vocab[t]=e;this.merges=Array.isArray(e.merges[0])?e.merges:e.merges.map(e=>e.split(` `,2)),this.bpe_ranks=new Map(this.merges.map((e,t)=>[JSON.stringify(e),t])),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 La(this.cache_capacity)}clear_cache(){this.cache.clear()}bpe(e){if(e.length===0)return[];let t=this.cache.get(e);if(t!==void 0)return t;let n=Array.from(e);this.end_of_word_suffix&&(n[n.length-1]+=this.end_of_word_suffix);let r=[];if(n.length>1){let e=new Ia((e,t)=>e.score`<0x${e.toString(16).toUpperCase().padStart(2,`0`)}>`);e.every(e=>this.tokens_to_ids.has(e))?t.push(...e):this.unk_token!=null&&t.push(this.unk_token)}else this.unk_token!=null&&t.push(this.unk_token)}return t}},za=class extends Oa{constructor(e,t){super(e);let n=e.vocab;this.tokens_to_ids=Yi(t.target_lang?n[t.target_lang]:n),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=Array(this.tokens_to_ids.size);for(let[e,t]of this.tokens_to_ids)this.vocab[t]=e}encode(e){return e}};function Ba(e,t){switch(e.type){case`WordPiece`:return new ka(e);case`Unigram`:return new Fa(e,t.eos_token);case`BPE`:return new Ra(e);default:if(e.vocab)return Array.isArray(e.vocab)?new Fa(e,t.eos_token):Object.hasOwn(e,`continuing_subword_prefix`)&&Object.hasOwn(e,`unk_token`)?Object.hasOwn(e,`merges`)?new Ra(e):new ka(e):new za(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 Error(`Unknown TokenizerModel type: ${e?.type}`)}}var Va=Ba,Ha=class extends ea{constructor(e){super(),this.config=e}_call(e,...t){return this.post_process(e,...t)}},Ua=class extends Ha{post_process(e,t=null,n=!0){let r=t===null?this.config.single:this.config.pair,i=[],a=[];for(let o of r)`SpecialToken`in o?n&&(i.push(o.SpecialToken.id),a.push(o.SpecialToken.type_id)):`Sequence`in o&&(o.Sequence.id===`A`?(i=Ji(i,e),a=Ji(a,Array(e.length).fill(o.Sequence.type_id))):o.Sequence.id===`B`&&(i=Ji(i,t),a=Ji(a,Array(t.length).fill(o.Sequence.type_id))));return{tokens:i,token_type_ids:a}}},Wa=class extends Ha{post_process(e,t=null){return{tokens:e,tokens_pair:t}}},Ga=class extends Ha{constructor(e){super(e),this.sep=e.sep,this.cls=e.cls}post_process(e,t=null,n=!0){n&&(e=Ji([this.cls[0]],e,[this.sep[0]]));let r=Array(e.length).fill(0);if(t){let i=[],a=n?[this.sep[0]]:[];e=Ji(e,i,t,a),r=Ji(r,Array(t.length+i.length+a.length).fill(1))}return{tokens:e,token_type_ids:r}}},Ka=class extends Ha{constructor(e){super(e),this.sep=e.sep,this.cls=e.cls}post_process(e,t,n=!0){n&&(e=Ji([this.cls[0]],e,[this.sep[0]]));let r=Array(e.length).fill(0);if(t){let i=n?[this.sep[0]]:[],a=n?[this.sep[0]]:[];e=Ji(e,i,t,a),r=Ji(r,Array(t.length+i.length+a.length).fill(1))}return{tokens:e,token_type_ids:r}}},qa=class extends Ha{constructor(e){super(e),this.processors=(e.processors??[]).map(e=>Ya(e))}post_process(e,t=null,n=!0){let r={tokens:e,tokens_pair:t};for(let e of this.processors)r=e.post_process(r.tokens,r.tokens_pair,n);return r}};function Ja(e){if(e===null)return null;switch(e.type){case`TemplateProcessing`:return new Ua(e);case`ByteLevel`:return new Wa(e);case`BertProcessing`:return new Ga(e);case`RobertaProcessing`:return new Ka(e);case`Sequence`:return new qa(e);default:throw Error(`Unknown PostProcessor type: ${e.type}`)}}var Ya=Ja,Xa=class extends ea{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(``)}},Za=class extends Xa{constructor(e){super(e),this.byte_decoder=Ii,this.text_decoder=new TextDecoder(`utf-8`,{fatal:!1,ignoreBOM:!0}),this.end_of_word_suffix=null}convert_tokens_to_string(e){let t=e.join(``),n=new Uint8Array([...t].map(e=>this.byte_decoder[e]));return this.text_decoder.decode(n)}decode_chain(e){let t=[],n=[];for(let r of e)this.added_tokens.find(e=>e.content===r)===void 0?n.push(r):(n.length>0&&(t.push(this.convert_tokens_to_string(n)),n=[]),t.push(r));return n.length>0&&t.push(this.convert_tokens_to_string(n)),t}},Qa=class extends Xa{constructor(e){super(e),this.cleanup=e.cleanup}decode_chain(e){return e.map((e,t)=>{if(t!==0){let t=this.config.prefix;e=t&&e.startsWith(t)?e.replace(t,``):` `+e}return this.cleanup&&(e=Bi(e)),e})}},$a=class extends Xa{constructor(e){super(e),this.replacement=e.replacement??`▁`}decode_chain(e){let t=[];for(let n=0;nt.replaceAll(this.suffix,n===e.length-1?``:` `))}},to=class extends Xa{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``;let t=[e[0]];for(let n=1;ne!==this.pad_token).join(``);return this.cleanup&&(n=Bi(n).replaceAll(this.word_delimiter_token,` `).trim()),n}decode_chain(e){return[this.convert_tokens_to_string(e)]}},no=class extends Xa{constructor(e){super(e),this.decoders=(e.decoders??[]).map(e=>co(e))}decode_chain(e){return this.decoders.reduce((e,t)=>t.decode_chain(e),e)}},ro=class extends Xa{decode_chain(e){let t=Vi(this.config.pattern),n=this.config.content??``;return t===null?e:e.map(e=>e.replaceAll(t,n))}},io=class extends Xa{decode_chain(e){return[e.join(``)]}},ao=class extends Xa{constructor(e){super(e),this.content=e.content??``,this.start=e.start??0,this.stop=e.stop??0}decode_chain(e){return e.map(e=>{let t=0;for(let n=0;n`)){let t=parseInt(r.slice(3,5),16);isNaN(t)||(e=t)}if(e!==null)n.push(e);else{if(n.length>0){let e=this.text_decoder.decode(Uint8Array.from(n));t.push(e),n=[]}t.push(r)}}if(n.length>0){let e=this.text_decoder.decode(Uint8Array.from(n));t.push(e),n=[]}return t}};function so(e){if(e===null)return null;switch(e.type){case`ByteLevel`:return new Za(e);case`WordPiece`:return new Qa(e);case`Metaspace`:return new $a(e);case`BPEDecoder`:return new eo(e);case`CTC`:return new to(e);case`Sequence`:return new no(e);case`Replace`:return new ro(e);case`Fuse`:return new io(e);case`Strip`:return new ao(e);case`ByteFallback`:return new oo(e);default:throw Error(`Unknown Decoder type: ${e.type}`)}}var co=so,lo=class{constructor(e,t){let n=Qi(e,`Tokenizer`,[`model`,`decoder`,`post_processor`,`pre_tokenizer`,`normalizer`]);if(n)throw Error(n);let r=Qi(t,`Config`);if(r)throw Error(r);this.tokenizer=e,this.config=t,this.normalizer=pa(this.tokenizer.normalizer),this.pre_tokenizer=Da(this.tokenizer.pre_tokenizer),this.model=Va(this.tokenizer.model,this.config),this.post_processor=Ya(this.tokenizer.post_processor),this.decoder=co(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[];let i=[],a=[];this.added_tokens_map=new Map;for(let e of this.tokenizer.added_tokens){let t=new Pi(e);if(this.added_tokens.push(t),this.model.tokens_to_ids.set(t.content,t.id),this.model.vocab[t.id]=t.content,t.special&&(this.special_tokens.push(t.content),this.all_special_ids.push(t.id)),this.added_tokens_map.set(t.content,t),t.normalized&&this.normalizer!==null){let e=this.normalizer(t.content);a.push(e),this.added_tokens_map.set(e,t)}else i.push(t.content)}(this.config.additional_special_tokens??[]).forEach(e=>{this.special_tokens.includes(e)||this.special_tokens.push(e)}),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 Ni(i),this.splitter_normalized=new Ni(a),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:n=!0,return_token_type_ids:r=null}={}){let{tokens:i,token_type_ids:a}=this.tokenize_helper(e,{text_pair:t,add_special_tokens:n}),o=i.map(e=>this.added_tokens_map.get(e)?.id??this.model.tokens_to_ids.get(e)??this.model.unk_token_id),s={ids:o,tokens:i,attention_mask:Array(o.length).fill(1)};return r&&a&&(s.token_type_ids=a),s}decode(e,t={}){if(!Array.isArray(e)||e.length===0||!Gi(e[0]))throw Error(`token_ids must be a non-empty array of integers.`);let n=e.map(e=>this.model.vocab[Number(e)]??this.model.unk_token);t.skip_special_tokens&&(n=n.filter(e=>!this.special_tokens.includes(e)));let r=this.decoder?this.decoder(n):n.join(` `);return this.decoder&&this.decoder.end_of_word_suffix&&(r=r.replaceAll(this.decoder.end_of_word_suffix,` `),t.skip_special_tokens&&(r=r.trim())),(t.clean_up_tokenization_spaces??this.clean_up_tokenization_spaces)&&(r=Bi(r)),r}tokenize(e,{text_pair:t=null,add_special_tokens:n=!1}={}){return this.tokenize_helper(e,{text_pair:t,add_special_tokens:n}).tokens}encode_text(e){if(e===null)return null;let t=this.splitter_unnormalized.split(e);return t.forEach((e,n)=>{let r=this.added_tokens_map.get(e);r&&(r.lstrip&&n>0&&(t[n-1]=t[n-1].trimEnd()),r.rstrip&&n{if(e.length===0)return[];if(this.added_tokens_map.has(e))return[e];if(this.remove_space===!0&&(e=e.trim().split(/\s+/).join(` `)),this.do_lowercase_and_remove_accent&&(e=qi(e)),this.normalizer!==null&&(e=this.normalizer(e)),e.length===0)return[];let n=this.splitter_normalized.split(e);return n.forEach((e,t)=>{let r=this.added_tokens_map.get(e);r&&(r.lstrip&&t>0&&(n[t-1]=n[t-1].trimEnd()),r.rstrip&&t{if(e.length===0)return[];if(this.added_tokens_map.has(e))return[e];let n=this.pre_tokenizer===null?[e]:this.pre_tokenizer(e,{section_index:t});return this.model(n)})})}tokenize_helper(e,{text_pair:t=null,add_special_tokens:n=!0}){let r=this.encode_text(e),i=this.encode_text(t||null);return this.post_processor?this.post_processor(r,i,n):{tokens:Ji(r??[],i??[])}}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(){let e=new Map;for(let t of this.added_tokens)e.set(t.id,t);return e}get_vocab(e=!0){let t=new Map;for(let n=0;n=`,z.ComparisonBinaryOperator],[`==`,z.ComparisonBinaryOperator],[`!=`,z.ComparisonBinaryOperator],[`<`,z.ComparisonBinaryOperator],[`>`,z.ComparisonBinaryOperator],[`+`,z.AdditiveBinaryOperator],[`-`,z.AdditiveBinaryOperator],[`~`,z.AdditiveBinaryOperator],[`*`,z.MultiplicativeBinaryOperator],[`/`,z.MultiplicativeBinaryOperator],[`%`,z.MultiplicativeBinaryOperator],[`=`,z.Equals]],ho=new Map([[`n`,` +`],[`t`,` `],[`r`,`\r`],[`b`,`\b`],[`f`,`\f`],[`v`,`\v`],[`'`,`'`],[`"`,`"`],[`\\`,`\\`]]);function go(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 _o(e,t={}){let n=[],r=go(e,t),i=0,a=0,o=e=>{let t=``;for(;e(r[i]);){if(r[i]===`\\`){if(++i,i>=r.length)throw SyntaxError(`Unexpected end of input`);let e=r[i++],n=ho.get(e);if(n===void 0)throw SyntaxError(`Unexpected escaped character: ${e}`);t+=n;continue}if(t+=r[i++],i>=r.length)throw SyntaxError(`Unexpected end of input`)}return t},s=()=>{let e=n.at(-1);e&&e.type===z.Text&&(e.value=e.value.trimEnd(),e.value===``&&n.pop())},c=()=>{for(;i0){n.push(new uo(e,z.Text));continue}}if(r[i]===`{`&&r[i+1]===`#`){i+=2;let e=r[i]===`-`;e&&++i;let t=``;for(;r[i]!==`#`||r[i+1]!==`}`;){if(i+2>=r.length)throw SyntaxError(`Missing end of comment tag`);t+=r[i++]}let a=t.endsWith(`-`);a&&(t=t.slice(0,-1)),e&&s(),n.push(new uo(t,z.Comment)),i+=2,a&&c();continue}if(r.slice(i,i+3)===`{%-`){s(),n.push(new uo(`{%`,z.OpenStatement)),i+=3;continue}if(r.slice(i,i+3)===`{{-`){s(),n.push(new uo(`{{`,z.OpenExpression)),a=0,i+=3;continue}if(o(B),r.slice(i,i+3)===`-%}`){n.push(new uo(`%}`,z.CloseStatement)),i+=3,c();continue}if(r.slice(i,i+3)===`-}}`){n.push(new uo(`}}`,z.CloseExpression)),i+=3,c();continue}let t=r[i];if(t===`-`||t===`+`){let e=n.at(-1)?.type;if(e===z.Text||e===void 0)throw SyntaxError(`Unexpected character: ${t}`);switch(e){case z.Identifier:case z.NumericLiteral:case z.StringLiteral:case z.CloseParen:case z.CloseSquareBracket:break;default:{++i;let e=o(po);n.push(new uo(`${t}${e}`,e.length>0?z.NumericLiteral:z.UnaryOperator));continue}}}for(let[e,t]of mo)if(!(e===`}}`&&a>0)&&r.slice(i,i+e.length)===e){n.push(new uo(e,t)),t===z.OpenExpression?a=0:t===z.OpenCurlyBracket?++a:t===z.CloseCurlyBracket&&--a,i+=e.length;continue main}if(t===`'`||t===`"`){++i;let e=o(e=>e!==t);n.push(new uo(e,z.StringLiteral)),++i;continue}if(po(t)){let e=o(po);if(r[i]===`.`&&po(r[i+1])){++i;let t=o(po);e=`${e}.${t}`}n.push(new uo(e,z.NumericLiteral));continue}if(fo(t)){let e=o(fo);n.push(new uo(e,z.Identifier));continue}throw SyntaxError(`Unexpected character: ${t}`)}return n}var vo=class{type=`Statement`},yo=class extends vo{constructor(e){super(),this.body=e}type=`Program`},bo=class extends vo{constructor(e,t,n){super(),this.test=e,this.body=t,this.alternate=n}type=`If`},xo=class extends vo{constructor(e,t,n,r){super(),this.loopvar=e,this.iterable=t,this.body=n,this.defaultBlock=r}type=`For`},So=class extends vo{type=`Break`},Co=class extends vo{type=`Continue`},wo=class extends vo{constructor(e,t,n){super(),this.assignee=e,this.value=t,this.body=n}type=`Set`},To=class extends vo{constructor(e,t,n){super(),this.name=e,this.args=t,this.body=n}type=`Macro`},Eo=class extends vo{constructor(e){super(),this.value=e}type=`Comment`},Do=class extends vo{type=`Expression`},Oo=class extends Do{constructor(e,t,n){super(),this.object=e,this.property=t,this.computed=n}type=`MemberExpression`},ko=class extends Do{constructor(e,t){super(),this.callee=e,this.args=t}type=`CallExpression`},Ao=class extends Do{constructor(e){super(),this.value=e}type=`Identifier`},jo=class extends Do{constructor(e){super(),this.value=e}type=`Literal`},Mo=class extends jo{type=`IntegerLiteral`},No=class extends jo{type=`FloatLiteral`},Po=class extends jo{type=`StringLiteral`},Fo=class extends jo{type=`ArrayLiteral`},Io=class extends jo{type=`TupleLiteral`},Lo=class extends jo{type=`ObjectLiteral`},Ro=class extends Do{constructor(e,t,n){super(),this.operator=e,this.left=t,this.right=n}type=`BinaryExpression`},zo=class extends Do{constructor(e,t){super(),this.operand=e,this.filter=t}type=`FilterExpression`},Bo=class extends vo{constructor(e,t){super(),this.filter=e,this.body=t}type=`FilterStatement`},Vo=class extends Do{constructor(e,t){super(),this.lhs=e,this.test=t}type=`SelectExpression`},Ho=class extends Do{constructor(e,t,n){super(),this.operand=e,this.negate=t,this.test=n}type=`TestExpression`},Uo=class extends Do{constructor(e,t){super(),this.operator=e,this.argument=t}type=`UnaryExpression`},Wo=class extends Do{constructor(e=void 0,t=void 0,n=void 0){super(),this.start=e,this.stop=t,this.step=n}type=`SliceExpression`},Go=class extends Do{constructor(e,t){super(),this.key=e,this.value=t}type=`KeywordArgumentExpression`},Ko=class extends Do{constructor(e){super(),this.argument=e}type=`SpreadExpression`},qo=class extends vo{constructor(e,t,n){super(),this.call=e,this.callerArgs=t,this.body=n}type=`CallStatement`},Jo=class extends Do{constructor(e,t,n){super(),this.condition=e,this.trueExpr=t,this.falseExpr=n}type=`Ternary`};function Yo(e){let t=new yo([]),n=0;function r(t,r){let i=e[n++];if(!i||i.type!==t)throw Error(`Parser Error: ${r}. ${i.type} !== ${t}.`);return i}function i(e){if(!c(e))throw SyntaxError(`Expected ${e}`);++n}function a(){switch(e[n].type){case z.Comment:return new Eo(e[n++].value);case z.Text:return l();case z.OpenStatement:return u();case z.OpenExpression:return d();default:throw SyntaxError(`Unexpected token type: ${e[n].type}`)}}function o(...t){return n+t.length<=e.length&&t.every((t,r)=>t===e[n+r].type)}function s(...t){return e[n]?.type===z.OpenStatement&&e[n+1]?.type===z.Identifier&&t.includes(e[n+1]?.value)}function c(...t){return n+t.length<=e.length&&t.every((t,r)=>e[n+r].type===`Identifier`&&t===e[n+r].value)}function l(){return new Po(r(z.Text,`Expected text token`).value)}function u(){if(r(z.OpenStatement,`Expected opening statement token`),e[n].type!==z.Identifier)throw SyntaxError(`Unknown statement, got ${e[n].type}`);let t=e[n].value,c;switch(t){case`set`:++n,c=f();break;case`if`:++n,c=p(),r(z.OpenStatement,`Expected {% token`),i(`endif`),r(z.CloseStatement,`Expected %} token`);break;case`macro`:++n,c=m(),r(z.OpenStatement,`Expected {% token`),i(`endmacro`),r(z.CloseStatement,`Expected %} token`);break;case`for`:++n,c=g(),r(z.OpenStatement,`Expected {% token`),i(`endfor`),r(z.CloseStatement,`Expected %} token`);break;case`call`:{++n;let e=null;o(z.OpenParen)&&(e=E());let t=j();if(t.type!==`Identifier`)throw SyntaxError(`Expected identifier following call statement`);let l=E();r(z.CloseStatement,`Expected closing statement token`);let u=[];for(;!s(`endcall`);)u.push(a());r(z.OpenStatement,`Expected '{%'`),i(`endcall`),r(z.CloseStatement,`Expected closing statement token`),c=new qo(new ko(t,l),e,u);break}case`break`:++n,r(z.CloseStatement,`Expected closing statement token`),c=new So;break;case`continue`:++n,r(z.CloseStatement,`Expected closing statement token`),c=new Co;break;case`filter`:{++n;let e=j();e instanceof Ao&&o(z.OpenParen)&&(e=T(e)),r(z.CloseStatement,`Expected closing statement token`);let t=[];for(;!s(`endfilter`);)t.push(a());r(z.OpenStatement,`Expected '{%'`),i(`endfilter`),r(z.CloseStatement,`Expected '%}'`),c=new Bo(e,t);break}default:throw SyntaxError(`Unknown statement type: ${t}`)}return c}function d(){r(z.OpenExpression,`Expected opening expression token`);let e=_();return r(z.CloseExpression,`Expected closing expression token`),e}function f(){let e=h(),t=null,c=[];if(o(z.Equals))++n,t=h();else{for(r(z.CloseStatement,`Expected %} token`);!s(`endset`);)c.push(a());r(z.OpenStatement,`Expected {% token`),i(`endset`)}return r(z.CloseStatement,`Expected closing statement token`),new wo(e,t,c)}function p(){let e=_();r(z.CloseStatement,`Expected closing statement token`);let t=[],i=[];for(;!s(`elif`,`else`,`endif`);)t.push(a());if(s(`elif`)){++n,++n;let e=p();i.push(e)}else if(s(`else`))for(++n,++n,r(z.CloseStatement,`Expected closing statement token`);!s(`endif`);)i.push(a());return new bo(e,t,i)}function m(){let e=j();if(e.type!==`Identifier`)throw SyntaxError(`Expected identifier following macro statement`);let t=E();r(z.CloseStatement,`Expected closing statement token`);let n=[];for(;!s(`endmacro`);)n.push(a());return new To(e,t,n)}function h(e=!1){let t=e?j:_,r=[t()],i=o(z.Comma);for(;i&&(++n,r.push(t()),o(z.Comma)););return i?new Io(r):r[0]}function g(){let e=h(!0);if(!(e instanceof Ao||e instanceof Io))throw SyntaxError(`Expected identifier/tuple for the loop variable, got ${e.type} instead`);if(!c(`in`))throw SyntaxError("Expected `in` keyword following loop variable");++n;let t=_();r(z.CloseStatement,`Expected closing statement token`);let i=[];for(;!s(`endfor`,`else`);)i.push(a());let o=[];if(s(`else`))for(++n,++n,r(z.CloseStatement,`Expected closing statement token`);!s(`endfor`);)o.push(a());return new xo(e,t,i,o)}function _(){return v()}function v(){let e=y();if(c(`if`)){++n;let t=y();return c(`else`)?(++n,new Jo(t,e,v())):new Vo(e,t)}return e}function y(){let t=b();for(;c(`or`);){let r=e[n];++n;let i=b();t=new Ro(r,t,i)}return t}function b(){let t=x();for(;c(`and`);){let r=e[n];++n;let i=x();t=new Ro(r,t,i)}return t}function x(){let t;for(;c(`not`);){let r=e[n];++n,t=new Uo(r,x())}return t??S()}function S(){let t=C();for(;;){let r;if(c(`not`,`in`))r=new uo(`not in`,z.Identifier),n+=2;else if(c(`in`))r=e[n++];else if(o(z.ComparisonBinaryOperator))r=e[n++];else break;let i=C();t=new Ro(r,t,i)}return t}function C(){let t=k();for(;o(z.AdditiveBinaryOperator);){let r=e[n];++n;let i=k();t=new Ro(r,t,i)}return t}function w(){let e=O(j());return o(z.OpenParen)?T(e):e}function T(e){let t=new ko(e,E());return t=O(t),o(z.OpenParen)&&(t=T(t)),t}function E(){r(z.OpenParen,`Expected opening parenthesis for arguments list`);let e=ee();return r(z.CloseParen,`Expected closing parenthesis for arguments list`),e}function ee(){let t=[];for(;!o(z.CloseParen);){let r;if(e[n].type===z.MultiplicativeBinaryOperator&&e[n].value===`*`)++n,r=new Ko(_());else if(r=_(),o(z.Equals)){if(++n,!(r instanceof Ao))throw SyntaxError(`Expected identifier for keyword argument`);let e=_();r=new Go(r,e)}t.push(r),o(z.Comma)&&++n}return t}function D(){let e=[],t=!1;for(;!o(z.CloseSquareBracket);)o(z.Colon)?(e.push(void 0),++n,t=!0):(e.push(_()),o(z.Colon)&&(++n,t=!0));if(e.length===0)throw SyntaxError(`Expected at least one argument for member/slice expression`);if(t){if(e.length>3)throw SyntaxError(`Expected 0-3 arguments for slice expression`);return new Wo(...e)}return e[0]}function O(t){for(;o(z.Dot)||o(z.OpenSquareBracket);){let i=e[n];++n;let a,o=i.type===z.OpenSquareBracket;if(o)a=D(),r(z.CloseSquareBracket,`Expected closing square bracket`);else if(a=j(),a.type!==`Identifier`)throw SyntaxError(`Expected identifier following dot operator`);t=new Oo(t,a,o)}return t}function k(){let t=A();for(;o(z.MultiplicativeBinaryOperator);){let r=e[n++],i=A();t=new Ro(r,t,i)}return t}function A(){let e=te();for(;c(`is`);){++n;let t=c(`not`);t&&++n;let r=j();if(!(r instanceof Ao))throw SyntaxError(`Expected identifier for the test`);e=new Ho(e,t,r)}return e}function te(){let e=w();for(;o(z.Pipe);){++n;let t=j();if(!(t instanceof Ao))throw SyntaxError(`Expected identifier for the filter`);o(z.OpenParen)&&(t=T(t)),e=new zo(e,t)}return e}function j(){let t=e[n++];switch(t.type){case z.NumericLiteral:{let e=t.value;return e.includes(`.`)?new No(Number(e)):new Mo(Number(e))}case z.StringLiteral:{let r=t.value;for(;o(z.StringLiteral);)r+=e[n++].value;return new Po(r)}case z.Identifier:return new Ao(t.value);case z.OpenParen:{let e=h();return r(z.CloseParen,"Expected closing parenthesis, got ${tokens[current].type} instead."),e}case z.OpenSquareBracket:{let e=[];for(;!o(z.CloseSquareBracket);)e.push(_()),o(z.Comma)&&++n;return++n,new Fo(e)}case z.OpenCurlyBracket:{let e=new Map;for(;!o(z.CloseCurlyBracket);){let t=_();r(z.Colon,`Expected colon between key and value in object literal`);let i=_();e.set(t,i),o(z.Comma)&&++n}return++n,new Lo(e)}default:throw SyntaxError(`Unexpected token: ${t.type}`)}}for(;n0)for(let i=e;it;i+=n)r.push(i);return r}function Zo(e,t,n,r=1){let i=Math.sign(r);i>=0?(t=(t??=0)<0?Math.max(e.length+t,0):Math.min(t,e.length),n=(n??=e.length)<0?Math.max(e.length+n,0):Math.min(n,e.length)):(t=(t??=e.length-1)<0?Math.max(e.length+t,-1):Math.min(t,e.length-1),n=(n??=-1)<-1?Math.max(e.length+n,-1):Math.min(n,e.length-1));let a=[];for(let o=t;i*oe.toUpperCase())}function $o(e){return es(new Date,e)}function es(e,t){let n=new Intl.DateTimeFormat(void 0,{month:`long`}),r=new Intl.DateTimeFormat(void 0,{month:`short`}),i=e=>e<10?`0`+e:e.toString();return t.replace(/%[YmdbBHM%]/g,t=>{switch(t){case`%Y`:return e.getFullYear().toString();case`%m`:return i(e.getMonth()+1);case`%d`:return i(e.getDate());case`%b`:return r.format(e);case`%B`:return n.format(e);case`%H`:return i(e.getHours());case`%M`:return i(e.getMinutes());case`%%`:return`%`;default:return t}})}function ts(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function ns(e,t,n,r){if(r===0)return e;let i=r==null||r<0?1/0:r,a=t.length===0?RegExp(`(?=)`,`gu`):new RegExp(ts(t),`gu`);return e.replaceAll(a,e=>i>0?(--i,n):e)}var rs=class extends Error{},is=class extends Error{},as=class{type=`RuntimeValue`;value;builtins=new Map;constructor(e=void 0){this.value=e}__bool__(){return new H(!!this.value)}toString(){return String(this.value)}},os=class extends as{type=`IntegerValue`},ss=class extends as{type=`FloatValue`;toString(){return this.value%1==0?this.value.toFixed(1):this.value.toString()}},V=class extends as{type=`StringValue`;builtins=new Map([[`upper`,new hs(()=>new V(this.value.toUpperCase()))],[`lower`,new hs(()=>new V(this.value.toLowerCase()))],[`strip`,new hs(()=>new V(this.value.trim()))],[`title`,new hs(()=>new V(Qo(this.value)))],[`capitalize`,new hs(()=>new V(this.value.charAt(0).toUpperCase()+this.value.slice(1)))],[`length`,new os(this.value.length)],[`rstrip`,new hs(()=>new V(this.value.trimEnd()))],[`lstrip`,new hs(()=>new V(this.value.trimStart()))],[`startswith`,new hs(e=>{if(e.length===0)throw Error(`startswith() requires at least one argument`);let t=e[0];if(t instanceof V)return new H(this.value.startsWith(t.value));if(t instanceof ps){for(let e of t.value){if(!(e instanceof V))throw Error(`startswith() tuple elements must be strings`);if(this.value.startsWith(e.value))return new H(!0)}return new H(!1)}throw Error(`startswith() argument must be a string or tuple of strings`)})],[`endswith`,new hs(e=>{if(e.length===0)throw Error(`endswith() requires at least one argument`);let t=e[0];if(t instanceof V)return new H(this.value.endsWith(t.value));if(t instanceof ps){for(let e of t.value){if(!(e instanceof V))throw Error(`endswith() tuple elements must be strings`);if(this.value.endsWith(e.value))return new H(!0)}return new H(!1)}throw Error(`endswith() argument must be a string or tuple of strings`)})],[`split`,new hs(e=>{let t=e[0]??new gs;if(!(t instanceof V||t instanceof gs))throw Error(`sep argument must be a string or null`);let n=e[1]??new os(-1);if(!(n instanceof os))throw Error(`maxsplit argument must be a number`);let r=[];if(t instanceof gs){let e=this.value.trimStart();for(let{0:t,index:i}of e.matchAll(/\S+/g)){if(n.value!==-1&&r.length>=n.value&&i!==void 0){r.push(t+e.slice(i+t.length));break}r.push(t)}}else{if(t.value===``)throw Error(`empty separator`);r=this.value.split(t.value),n.value!==-1&&r.length>n.value&&r.push(r.splice(n.value).join(t.value))}return new ps(r.map(e=>new V(e)))})],[`replace`,new hs(e=>{if(e.length<2)throw Error(`replace() requires at least two arguments`);let t=e[0],n=e[1];if(!(t instanceof V&&n instanceof V))throw Error(`replace() arguments must be strings`);let r;if(r=e.length>2?e[2].type===`KeywordArgumentsValue`?e[2].value.get(`count`)??new gs:e[2]:new gs,!(r instanceof os||r instanceof gs))throw Error(`replace() count argument must be a number or null`);return new V(ns(this.value,t.value,n.value,r.value))})]])},H=class extends as{type=`BooleanValue`},cs=/[\x7f-\uffff]/g;function ls(e){return e.replace(cs,e=>`\\u`+e.charCodeAt(0).toString(16).padStart(4,`0`))}function us(e,t={},n=0,r=!0){let{indent:i=null,ensureAscii:a=!1,separators:o=null,sortKeys:s=!1}=t,c,l;switch(o?[c,l]=o:i?(c=`,`,l=`: `):(c=`, `,l=`: `),e.type){case`NullValue`:return`null`;case`UndefinedValue`:return r?`null`:`undefined`;case`IntegerValue`:case`FloatValue`:case`BooleanValue`:return JSON.stringify(e.value);case`StringValue`:{let t=JSON.stringify(e.value);return a&&(t=ls(t)),t}case`ArrayValue`:case`ObjectValue`:{let o=i?` `.repeat(i):``,u=` +`+o.repeat(n),d=u+o;if(e.type===`ArrayValue`){let a=e.value.map(e=>us(e,t,n+1,r));return i?`[${d}${a.join(`${c}${d}`)}${u}]`:`[${a.join(c)}]`}else{let o=Array.from(e.value.entries());s&&(o=o.sort(([e],[t])=>e.localeCompare(t)));let f=o.map(([e,o])=>{let s=JSON.stringify(e);a&&(s=ls(s));let c=`${s}${l}${us(o,t,n+1,r)}`;return i?`${d}${c}`:c});return i?`{${f.join(c)}${u}}`:`{${f.join(c)}}`}}default:throw Error(`Cannot convert to JSON: ${e.type}`)}}var ds=class extends as{type=`ObjectValue`;__bool__(){return new H(this.value.size>0)}builtins=new Map([[`get`,new hs(([e,t])=>{if(!(e instanceof V))throw Error(`Object key must be a string: got ${e.type}`);return this.value.get(e.value)??t??new gs})],[`items`,new hs(()=>this.items())],[`keys`,new hs(()=>this.keys())],[`values`,new hs(()=>this.values())],[`dictsort`,new hs(e=>{let t=new Map,n=e.filter(e=>e instanceof fs?(t=e.value,!1):!0),r=n.at(0)??t.get(`case_sensitive`)??new H(!1);if(!(r instanceof H))throw Error(`case_sensitive must be a boolean`);let i=n.at(1)??t.get(`by`)??new V(`key`);if(!(i instanceof V))throw Error(`by must be a string`);if(![`key`,`value`].includes(i.value))throw Error(`by must be either 'key' or 'value'`);let a=n.at(2)??t.get(`reverse`)??new H(!1);if(!(a instanceof H))throw Error(`reverse must be a boolean`);return new ps(Array.from(this.value.entries()).map(([e,t])=>new ps([new V(e),t])).sort((e,t)=>{let n=i.value===`key`?0:1,o=e.value[n],s=t.value[n],c=xs(o,s,r.value);return a.value?-c:c}))})]]);items(){return new ps(Array.from(this.value.entries()).map(([e,t])=>new ps([new V(e),t])))}keys(){return new ps(Array.from(this.value.keys()).map(e=>new V(e)))}values(){return new ps(Array.from(this.value.values()))}toString(){return us(this,{},0,!1)}},fs=class extends ds{type=`KeywordArgumentsValue`},ps=class extends as{type=`ArrayValue`;builtins=new Map([[`length`,new os(this.value.length)]]);__bool__(){return new H(this.value.length>0)}toString(){return us(this,{},0,!1)}},ms=class extends ps{type=`TupleValue`},hs=class extends as{type=`FunctionValue`},gs=class extends as{type=`NullValue`},_s=class extends as{type=`UndefinedValue`},vs=class{constructor(e){this.parent=e}variables=new Map([[`namespace`,new hs(e=>{if(e.length===0)return new ds(new Map);if(e.length!==1||!(e[0]instanceof ds))throw 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 hs],[`odd`,e=>{if(!(e instanceof os))throw Error(`cannot odd on ${e.type}`);return e.value%2!=0}],[`even`,e=>{if(!(e instanceof os))throw 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 os||e instanceof ss],[`integer`,e=>e instanceof os],[`iterable`,e=>e.type===`ArrayValue`||e.type===`StringValue`],[`mapping`,e=>e instanceof ds],[`sequence`,e=>e instanceof ps||e instanceof ds||e instanceof V],[`lower`,e=>{let t=e.value;return e.type===`StringValue`&&t===t.toLowerCase()}],[`upper`,e=>{let 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,Cs(t))}declareVariable(e,t){if(this.variables.has(e))throw 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 Error(`Unknown variable: ${e}`)}lookupVariable(e){try{return this.resolve(e).variables.get(e)??new _s}catch{return new _s}}};function ys(e){e.set(`false`,!1),e.set(`true`,!0),e.set(`none`,null),e.set(`raise_exception`,e=>{throw Error(e)}),e.set(`range`,Xo),e.set(`strftime_now`,$o),e.set(`True`,!0),e.set(`False`,!1),e.set(`None`,null)}function bs(e,t){let n=t.split(`.`),r=e;for(let e of n)if(r instanceof ds)r=r.value.get(e)??new _s;else if(r instanceof ps){let t=parseInt(e,10);if(!isNaN(t)&&t>=0&&te instanceof os||e instanceof ss||e instanceof H,i=e=>e instanceof H?e.value?1:0:e.value;if(r(e)&&r(t)){let n=i(e),r=i(t);return nr?1:0}if(e.type!==t.type)throw Error(`Cannot compare different types: ${e.type} and ${t.type}`);switch(e.type){case`StringValue`:{let r=e.value,i=t.value;return n||(r=r.toLowerCase(),i=i.toLowerCase()),ri?1:0}default:throw Error(`Cannot compare type: ${e.type}`)}}var Ss=class{global;constructor(e){this.global=e??new vs}run(e){return this.evaluate(e,this.global)}evaluateBinaryExpression(e,t){let n=this.evaluate(e.left,t);switch(e.operator.value){case`and`:return n.__bool__().value?this.evaluate(e.right,t):n;case`or`:return n.__bool__().value?n:this.evaluate(e.right,t)}let r=this.evaluate(e.right,t);switch(e.operator.value){case`==`:return new H(n.value==r.value);case`!=`:return new H(n.value!=r.value)}if(n instanceof _s||r instanceof _s){if(r instanceof _s&&[`in`,`not in`].includes(e.operator.value))return new H(e.operator.value===`not in`);throw Error(`Cannot perform operation ${e.operator.value} on undefined values`)}else if(n instanceof gs||r instanceof gs)throw Error(`Cannot perform operation on null values`);else if(e.operator.value===`~`)return new V(n.value.toString()+r.value.toString());else if((n instanceof os||n instanceof ss)&&(r instanceof os||r instanceof ss)){let t=n.value,i=r.value;switch(e.operator.value){case`+`:case`-`:case`*`:{let a=e.operator.value===`+`?t+i:e.operator.value===`-`?t-i:t*i;return n instanceof ss||r instanceof ss?new ss(a):new os(a)}case`/`:return new ss(t/i);case`%`:{let e=t%i;return n instanceof ss||r instanceof ss?new ss(e):new os(e)}case`<`:return new H(t`:return new H(t>i);case`>=`:return new H(t>=i);case`<=`:return new H(t<=i)}}else if(n instanceof ps&&r instanceof ps)switch(e.operator.value){case`+`:return new ps(n.value.concat(r.value))}else if(r instanceof ps){let t=r.value.find(e=>e.value===n.value)!==void 0;switch(e.operator.value){case`in`:return new H(t);case`not in`:return new H(!t)}}if(n instanceof V||r instanceof V)switch(e.operator.value){case`+`:return new V(n.value.toString()+r.value.toString())}if(n instanceof V&&r instanceof V)switch(e.operator.value){case`in`:return new H(r.value.includes(n.value));case`not in`:return new H(!r.value.includes(n.value))}if(n instanceof V&&r instanceof ds)switch(e.operator.value){case`in`:return new H(r.value.has(n.value));case`not in`:return new H(!r.value.has(n.value))}throw SyntaxError(`Unknown operator "${e.operator.value}" between ${n.type} and ${r.type}`)}evaluateArguments(e,t){let n=[],r=new Map;for(let i of e)if(i.type===`SpreadExpression`){let e=i,r=this.evaluate(e.argument,t);if(!(r instanceof ps))throw Error(`Cannot unpack non-iterable type: ${r.type}`);for(let e of r.value)n.push(e)}else if(i.type===`KeywordArgumentExpression`){let e=i;r.set(e.key.value,this.evaluate(e.value,t))}else{if(r.size>0)throw Error(`Positional arguments must come before keyword arguments`);n.push(this.evaluate(i,t))}return[n,r]}applyFilter(e,t,n){if(t.type===`Identifier`){let r=t;if(r.value===`safe`)return e;if(r.value===`tojson`)return new V(us(e,{}));if(e instanceof ps)switch(r.value){case`list`:return e;case`first`:return e.value[0];case`last`:return e.value[e.value.length-1];case`length`:return new os(e.value.length);case`reverse`:return new ps(e.value.slice().reverse());case`sort`:return new ps(e.value.slice().sort((e,t)=>xs(e,t,!1)));case`join`:return new V(e.value.map(e=>e.value).join(``));case`string`:return new V(us(e,{},0,!1));case`unique`:{let t=new Set,n=[];for(let r of e.value)t.has(r.value)||(t.add(r.value),n.push(r));return new ps(n)}default:throw Error(`Unknown ArrayValue filter: ${r.value}`)}else if(e instanceof V)switch(r.value){case`length`:case`upper`:case`lower`:case`title`:case`capitalize`:{let t=e.builtins.get(r.value);if(t instanceof hs)return t.value([],n);if(t instanceof os)return t;throw Error(`Unknown StringValue filter: ${r.value}`)}case`trim`:return new V(e.value.trim());case`indent`:return new V(e.value.split(` +`).map((e,t)=>t===0||e.length===0?e:` `+e).join(` +`));case`join`:case`string`:return e;case`int`:{let t=parseInt(e.value,10);return new os(isNaN(t)?0:t)}case`float`:{let t=parseFloat(e.value);return new ss(isNaN(t)?0:t)}default:throw Error(`Unknown StringValue filter: ${r.value}`)}else if(e instanceof os||e instanceof ss)switch(r.value){case`abs`:return e instanceof os?new os(Math.abs(e.value)):new ss(Math.abs(e.value));case`int`:return new os(Math.floor(e.value));case`float`:return new ss(e.value);case`string`:return new V(e.toString());default:throw Error(`Unknown NumericValue filter: ${r.value}`)}else if(e instanceof ds)switch(r.value){case`items`:return new ps(Array.from(e.value.entries()).map(([e,t])=>new ps([new V(e),t])));case`length`:return new os(e.value.size);default:{let t=e.builtins.get(r.value);if(t)return t instanceof hs?t.value([],n):t;throw Error(`Unknown ObjectValue filter: ${r.value}`)}}else if(e instanceof H)switch(r.value){case`bool`:return new H(e.value);case`int`:return new os(e.value?1:0);case`float`:return new ss(e.value?1:0);case`string`:return new V(e.value?`true`:`false`);default:throw Error(`Unknown BooleanValue filter: ${r.value}`)}throw Error(`Cannot apply filter "${r.value}" to type: ${e.type}`)}else if(t.type===`CallExpression`){let r=t;if(r.callee.type!==`Identifier`)throw Error(`Unknown filter: ${r.callee.type}`);let i=r.callee.value;if(i===`tojson`){let[,t]=this.evaluateArguments(r.args,n),i=t.get(`indent`)??new gs;if(!(i instanceof os||i instanceof gs))throw Error(`If set, indent must be a number`);let a=t.get(`ensure_ascii`)??new H(!1);if(!(a instanceof H))throw Error(`If set, ensure_ascii must be a boolean`);let o=t.get(`sort_keys`)??new H(!1);if(!(o instanceof H))throw Error(`If set, sort_keys must be a boolean`);let s=t.get(`separators`)??new gs,c=null;if(s instanceof ps||s instanceof ms){if(s.value.length!==2)throw Error(`separators must be a tuple of two strings`);let[e,t]=s.value;if(!(e instanceof V)||!(t instanceof V))throw Error(`separators must be a tuple of two strings`);c=[e.value,t.value]}else if(!(s instanceof gs))throw Error(`If set, separators must be a tuple of two strings`);return new V(us(e,{indent:i.value,ensureAscii:a.value,sortKeys:o.value,separators:c}))}else if(i===`join`){let t;if(e instanceof V)t=Array.from(e.value);else if(e instanceof ps)t=e.value.map(e=>e.value);else throw Error(`Cannot apply filter "${i}" to type: ${e.type}`);let[a,o]=this.evaluateArguments(r.args,n),s=a.at(0)??o.get(`separator`)??new V(``);if(!(s instanceof V))throw Error(`separator must be a string`);return new V(t.join(s.value))}else if(i===`int`||i===`float`){let[t,a]=this.evaluateArguments(r.args,n),o=t.at(0)??a.get(`default`)??(i===`int`?new os(0):new ss(0));if(e instanceof V){let t=i===`int`?parseInt(e.value,10):parseFloat(e.value);return isNaN(t)?o:i===`int`?new os(t):new ss(t)}else if(e instanceof os||e instanceof ss)return e;else if(e instanceof H)return i===`int`?new os(e.value?1:0):new ss(e.value?1:0);else throw Error(`Cannot apply filter "${i}" to type: ${e.type}`)}else if(i===`default`){let[t,i]=this.evaluateArguments(r.args,n),a=t[0]??new V(``),o=t[1]??i.get(`boolean`)??new H(!1);if(!(o instanceof H))throw Error("`default` filter flag must be a boolean");return e instanceof _s||o.value&&!e.__bool__().value?a:e}if(e instanceof ps){switch(i){case`sort`:{let[t,i]=this.evaluateArguments(r.args,n),a=t.at(0)??i.get(`reverse`)??new H(!1);if(!(a instanceof H))throw Error(`reverse must be a boolean`);let o=t.at(1)??i.get(`case_sensitive`)??new H(!1);if(!(o instanceof H))throw Error(`case_sensitive must be a boolean`);let s=t.at(2)??i.get(`attribute`)??new gs;if(!(s instanceof V||s instanceof os||s instanceof gs))throw Error(`attribute must be a string, integer, or null`);let c=e=>s instanceof gs?e:bs(e,s instanceof os?String(s.value):s.value);return new ps(e.value.slice().sort((e,t)=>{let n=xs(c(e),c(t),o.value);return a.value?-n:n}))}case`selectattr`:case`rejectattr`:{let t=i===`selectattr`;if(e.value.some(e=>!(e instanceof ds)))throw Error(`\`${i}\` can only be applied to array of objects`);if(r.args.some(e=>e.type!==`StringLiteral`))throw Error(`arguments of \`${i}\` must be strings`);let[a,o,s]=r.args.map(e=>this.evaluate(e,n)),c;if(o){let e=n.tests.get(o.value);if(!e)throw Error(`Unknown test: ${o.value}`);c=e}else c=(...e)=>e[0].__bool__().value;return new ps(e.value.filter(e=>{let n=e.value.get(a.value),r=n?c(n,s):!1;return t?r:!r}))}case`map`:{let[,t]=this.evaluateArguments(r.args,n);if(t.has(`attribute`)){let n=t.get(`attribute`);if(!(n instanceof V))throw Error(`attribute must be a string`);let r=t.get(`default`);return new ps(e.value.map(e=>{if(!(e instanceof ds))throw Error(`items in map must be an object`);let t=bs(e,n.value);return t instanceof _s?r??new _s:t}))}else throw Error("`map` expressions without `attribute` set are not currently supported.")}}throw Error(`Unknown ArrayValue filter: ${i}`)}else if(e instanceof V){switch(i){case`indent`:{let[t,i]=this.evaluateArguments(r.args,n),a=t.at(0)??i.get(`width`)??new os(4);if(!(a instanceof os))throw Error(`width must be a number`);let o=t.at(1)??i.get(`first`)??new H(!1),s=t.at(2)??i.get(`blank`)??new H(!1),c=e.value.split(` +`),l=` `.repeat(a.value);return new V(c.map((e,t)=>!o.value&&t===0||!s.value&&e.length===0?e:l+e).join(` +`))}case`replace`:{let t=e.builtins.get(`replace`);if(!(t instanceof hs))throw Error(`replace filter not available`);let[i,a]=this.evaluateArguments(r.args,n);return t.value([...i,new fs(a)],n)}}throw Error(`Unknown StringValue filter: ${i}`)}else if(e instanceof ds){let t=e.builtins.get(i);if(t&&t instanceof hs){let[e,i]=this.evaluateArguments(r.args,n);return i.size>0&&e.push(new fs(i)),t.value(e,n)}throw Error(`Unknown ObjectValue filter: ${i}`)}else throw Error(`Cannot apply filter "${i}" to type: ${e.type}`)}throw Error(`Unknown filter: ${t.type}`)}evaluateFilterExpression(e,t){let n=this.evaluate(e.operand,t);return this.applyFilter(n,e.filter,t)}evaluateTestExpression(e,t){let n=this.evaluate(e.operand,t),r=t.tests.get(e.test.value);if(!r)throw Error(`Unknown test: ${e.test.value}`);let i=r(n);return new H(e.negate?!i:i)}evaluateSelectExpression(e,t){return this.evaluate(e.test,t).__bool__().value?this.evaluate(e.lhs,t):new _s}evaluateUnaryExpression(e,t){let n=this.evaluate(e.argument,t);switch(e.operator.value){case`not`:return new H(!n.value);default:throw 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 n=``;for(let r of e){let e=this.evaluate(r,t);e.type!==`NullValue`&&e.type!==`UndefinedValue`&&(n+=e.toString())}return new V(n)}evaluateIdentifier(e,t){return t.lookupVariable(e.value)}evaluateCallExpression(e,t){let[n,r]=this.evaluateArguments(e.args,t);r.size>0&&n.push(new fs(r));let i=this.evaluate(e.callee,t);if(i.type!==`FunctionValue`)throw Error(`Cannot call something that is not a function: got ${i.type}`);return i.value(n,t)}evaluateSliceExpression(e,t,n){if(!(e instanceof ps||e instanceof V))throw Error(`Slice object must be an array or string`);let r=this.evaluate(t.start,n),i=this.evaluate(t.stop,n),a=this.evaluate(t.step,n);if(!(r instanceof os||r instanceof _s))throw Error(`Slice start must be numeric or undefined`);if(!(i instanceof os||i instanceof _s))throw Error(`Slice stop must be numeric or undefined`);if(!(a instanceof os||a instanceof _s))throw Error(`Slice step must be numeric or undefined`);return e instanceof ps?new ps(Zo(e.value,r.value,i.value,a.value)):new V(Zo(Array.from(e.value),r.value,i.value,a.value).join(``))}evaluateMemberExpression(e,t){let n=this.evaluate(e.object,t),r;if(e.computed){if(e.property.type===`SliceExpression`)return this.evaluateSliceExpression(n,e.property,t);r=this.evaluate(e.property,t)}else r=new V(e.property.value);let i;if(n instanceof ds){if(!(r instanceof V))throw Error(`Cannot access property with non-string: got ${r.type}`);i=n.value.get(r.value)??n.builtins.get(r.value)}else if(n instanceof ps||n instanceof V)if(r instanceof os)i=n.value.at(r.value),n instanceof V&&(i=new V(n.value.at(r.value)));else if(r instanceof V)i=n.builtins.get(r.value);else throw Error(`Cannot access property with non-string/non-number: got ${r.type}`);else{if(!(r instanceof V))throw Error(`Cannot access property with non-string: got ${r.type}`);i=n.builtins.get(r.value)}return i instanceof as?i:new _s}evaluateSet(e,t){let n=e.value?this.evaluate(e.value,t):this.evaluateBlock(e.body,t);if(e.assignee.type===`Identifier`){let r=e.assignee.value;t.setVariable(r,n)}else if(e.assignee.type===`TupleLiteral`){let r=e.assignee;if(!(n instanceof ps))throw Error(`Cannot unpack non-iterable type in set: ${n.type}`);let i=n.value;if(i.length!==r.value.length)throw Error(`Too ${r.value.length>i.length?`few`:`many`} items to unpack in set`);for(let e=0;et.setVariable(e.loopvar.value,c);else if(e.loopvar.type===`TupleLiteral`){let t=e.loopvar;if(c.type!==`ArrayValue`)throw Error(`Cannot unpack non-iterable type: ${c.type}`);let n=c;if(t.value.length!==n.value.length)throw Error(`Too ${t.value.length>n.value.length?`few`:`many`} items to unpack`);l=e=>{for(let r=0;r0?a[t-1]:new _s],[`nextitem`,t{let r=new vs(n);t=t.slice();let i;t.at(-1)?.type===`KeywordArgumentsValue`&&(i=t.pop());for(let n=0;n{let r=new vs(n);if(e.callerArgs)for(let n=0;nthis.evaluate(e,t)));case`TupleLiteral`:return new ms(e.value.map(e=>this.evaluate(e,t)));case`ObjectLiteral`:{let n=new Map;for(let[r,i]of e.value){let e=this.evaluate(r,t);if(!(e instanceof V))throw Error(`Object keys must be strings: got ${e.type}`);n.set(e.value,this.evaluate(i,t))}return new ds(n)}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 gs;default:throw SyntaxError(`Unknown node type: ${e.type}`)}}};function Cs(e){switch(typeof e){case`number`:return Number.isInteger(e)?new os(e):new ss(e);case`string`:return new V(e);case`boolean`:return new H(e);case`undefined`:return new _s;case`object`:return e===null?new gs:Array.isArray(e)?new ps(e.map(Cs)):new ds(new Map(Object.entries(e).map(([e,t])=>[e,Cs(t)])));case`function`:return new hs((t,n)=>Cs(e(...t.map(e=>e.value))??null));default:throw Error(`Cannot convert to runtime value: ${e}`)}}var ws=` +`,Ts=`{%- `,Es=` -%}`;function Ds(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 Os(e,t=` `){let n=typeof t==`number`?` `.repeat(t):t;return As(e.body,0,n).replace(/\n$/,``)}function ks(...e){return Ts+e.join(` `)+Es}function As(e,t,n){return e.map(e=>js(e,t,n)).join(ws)}function js(e,t,n){let r=n.repeat(t);switch(e.type){case`Program`:return As(e.body,t,n);case`If`:return Ms(e,t,n);case`For`:return Ns(e,t,n);case`Set`:return Ps(e,t,n);case`Macro`:return Fs(e,t,n);case`Break`:return r+ks(`break`);case`Continue`:return r+ks(`continue`);case`CallStatement`:return Is(e,t,n);case`FilterStatement`:return Ls(e,t,n);case`Comment`:return r+`{# `+e.value+` #}`;default:return r+`{{- `+Rs(e)+` -}}`}}function Ms(e,t,n){let r=n.repeat(t),i=[],a=e;for(;a&&(i.push({test:a.test,body:a.body}),a.alternate.length===1&&a.alternate[0].type===`If`);)a=a.alternate[0];let o=r+ks(`if`,Rs(i[0].test))+ws+As(i[0].body,t+1,n);for(let e=1;e0&&(o+=ws+r+ks(`else`)+ws+As(a.alternate,t+1,n)),o+=ws+r+ks(`endif`),o}function Ns(e,t,n){let r=n.repeat(t),i=``;if(e.iterable.type===`SelectExpression`){let t=e.iterable;i=`${Rs(t.lhs)} if ${Rs(t.test)}`}else i=Rs(e.iterable);let a=r+ks(`for`,Rs(e.loopvar),`in`,i)+ws+As(e.body,t+1,n);return e.defaultBlock.length>0&&(a+=ws+r+ks(`else`)+ws+As(e.defaultBlock,t+1,n)),a+=ws+r+ks(`endfor`),a}function Ps(e,t,n){let r=n.repeat(t),i=Rs(e.assignee),a=e.value?Rs(e.value):``,o=r+ks(`set`,`${i}${e.value?` = `+a:``}`);return e.body.length===0?o:o+ws+As(e.body,t+1,n)+ws+r+ks(`endset`)}function Fs(e,t,n){let r=n.repeat(t),i=e.args.map(Rs).join(`, `);return r+ks(`macro`,`${e.name.value}(${i})`)+ws+As(e.body,t+1,n)+ws+r+ks(`endmacro`)}function Is(e,t,n){let r=n.repeat(t),i=e.callerArgs&&e.callerArgs.length>0?`(${e.callerArgs.map(Rs).join(`, `)})`:``,a=Rs(e.call),o=r+ks(`call${i}`,a)+ws;return o+=As(e.body,t+1,n)+ws,o+=r+ks(`endcall`),o}function Ls(e,t,n){let r=n.repeat(t),i=r+ks(`filter`,e.filter.type===`Identifier`?e.filter.value:Rs(e.filter))+ws;return i+=As(e.body,t+1,n)+ws,i+=r+ks(`endfilter`),i}function Rs(e,t=-1){switch(e.type){case`SpreadExpression`:return`*${Rs(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`:{let n=e,r=Ds(n),i=Rs(n.left,r),a=Rs(n.right,r+1),o=`${i} ${n.operator.value} ${a}`;return r`${Rs(e)}: ${Rs(t)}`).join(`, `)}}`;case`SliceExpression`:{let t=e;return`${t.start?Rs(t.start):``}:${t.stop?Rs(t.stop):``}${t.step?`:${Rs(t.step)}`:``}`}case`KeywordArgumentExpression`:{let t=e;return`${t.key.value}=${Rs(t.value)}`}case`Ternary`:{let n=e,r=`${Rs(n.trueExpr)} if ${Rs(n.condition,0)} else ${Rs(n.falseExpr)}`;return t>-1?`(${r})`:r}default:throw Error(`Unknown expression type: ${e.type}`)}}var zs=class{parsed;constructor(e){this.parsed=Yo(_o(e,{lstrip_blocks:!0,trim_blocks:!0}))}render(e){let t=new vs;if(ys(t),e)for(let[n,r]of Object.entries(e))t.set(n,r);return new Ss(t).run(this.parsed).value}format(e){return Os(this.parsed,e?.indent||` `)}},Bs={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`},Vs=class e{constructor(e){if(this.filePath=e,this.headers=new Headers,this.exists=Wr.existsSync(e),this.exists){this.status=200,this.statusText=`OK`;let t=Wr.statSync(e);this.headers.set(`content-length`,t.size.toString()),this.updateContentType();let n=Wr.createReadStream(e);this.body=new ReadableStream({start(e){n.on(`data`,t=>e.enqueue(t)),n.on(`end`,()=>e.close()),n.on(`error`,t=>e.error(t))},cancel(){n.destroy()}})}else this.status=404,this.statusText=`Not Found`,this.body=null}updateContentType(){let e=this.filePath.toString().split(`.`).pop().toLowerCase();this.headers.set(`content-type`,Bs[e]??`application/octet-stream`)}clone(){let t=new e(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 Wr.promises.readFile(this.filePath)).buffer}async blob(){let e=await Wr.promises.readFile(this.filePath);return new Blob([e],{type:this.headers.get(`content-type`)})}async text(){return await Wr.promises.readFile(this.filePath,`utf8`)}async json(){return JSON.parse(await this.text())}},Hs=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(di.IS_CRYPTO_AVAILABLE){let t=new Uint32Array(1);crypto.getRandomValues(t),e=t[0]}else e=Date.now()>>>0;let t=this._mt,n=(e,t)=>Math.imul(e,t)>>>0,r=[];for(let t=e||0;t>0;t=Math.floor(t/4294967296))r.push(t&4294967295);r.length||r.push(0),t[0]=19650218;for(let e=1;e<624;++e)t[e]=n(1812433253,t[e-1]^t[e-1]>>>30)+e>>>0;let i=1,a=0;for(let e=Math.max(624,r.length);e>0;--e,++i,++a)i>=624&&(t[0]=t[623],i=1),a>=r.length&&(a=0),t[i]=(t[i]^n(t[i-1]^t[i-1]>>>30,1664525))+r[a]+a>>>0;for(let e=623;e>0;--e,++i)i>=624&&(t[0]=t[623],i=1),t[i]=(t[i]^n(t[i-1]^t[i-1]>>>30,1566083941))-i>>>0;t[0]=2147483648,this._idx=624,this._gauss_next=null}_int32(){let e=this._mt;if(this._idx>=624){for(let t=0;t<624;++t){let n=e[t]&2147483648|e[(t+1)%624]&2147483647;e[t]=(e[(t+397)%624]^n>>>1^(n&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 n=this._gauss_next;if(this._gauss_next=null,n===null){let e=this.random()*2*Math.PI,t=Math.sqrt(-2*Math.log(1-this.random()));n=Math.cos(e)*t,this._gauss_next=Math.sin(e)*t}return e+n*t}shuffle(e){for(let t=e.length-1;t>0;--t){let n=32-Math.clz32(t+1),r=this._int32()>>>32-n;for(;r>t;)r=this._int32()>>>32-n;let i=e[t];e[t]=e[r],e[r]=i}}choices(e,t){return e[Us(this._random_fn,t)]}};function Us(e,t){let n=0;for(let e=0;eUs(Gs.random,e),qs=new Hs,Js=class{constructor(e){this.path=e}async match(e){let t=new Vs(Gr.join(this.path,e));if(t.exists)return t}async put(e,t,n=void 0){let r=Gr.join(this.path,e),i=r+`.tmp.${di.IS_PROCESS_AVAILABLE?process.pid:Date.now()}.${qs._int32().toString(36)}`;try{let e=t.headers.get(`Content-Length`),a=parseInt(e??`0`),o=0;await Wr.promises.mkdir(Gr.dirname(r),{recursive:!0});let s=Wr.createWriteStream(i),c=t.body.getReader();for(;;){let{done:e,value:t}=await c.read();if(e)break;await new Promise((e,n)=>{s.write(t,t=>{if(t){n(t);return}e()})}),o+=t.length;let r=a?o/a*100:0;n?.({progress:r,loaded:o,total:a})}await new Promise((e,t)=>{s.close(n=>n?t(n):e())}),await Wr.promises.rename(i,r)}catch(e){try{await Wr.promises.unlink(i)}catch{}throw e}}async delete(e){let t=Gr.join(this.path,e);try{return await Wr.promises.unlink(t),!0}catch{return!1}}},Ys={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`},Xs=100,Zs=/^(\b[\w\-.]+\b\/)?\b[\w\-.]{1,96}\b$/;function Qs(...e){return e=e.map((t,n)=>(n&&(t=t.replace(RegExp(`^/`),``)),n!==e.length-1&&(t=t.replace(RegExp(`/$`),``)),t)),e.join(`/`)}function $s(e,t=null,n=null){let r;try{r=new URL(e)}catch{return!1}return!(t&&!t.includes(r.protocol)||n&&!n.includes(r.hostname))}function ec(e){return!(!Zs.test(e)||e.includes(`..`)||e.includes(`--`)||e.endsWith(`.git`)||e.endsWith(`.ipynb`))}function tc(e,t,n){if(!n)return null;let r=Ys[e]??`Error (${e}) occurred while trying to load file`;throw Error(`${r}: "${t}".`)}async function nc(e,t,n){let r=e.headers.get(`Content-Length`),i=r?parseInt(r,10):n??0;r===null&&!n&&F.warn(`Unable to determine content-length from response headers. Will expand buffer when needed.`);let a=new Uint8Array(i),o=0,s=e.body.getReader();async function c(){let{done:e,value:n}=await s.read();if(e)return;let r=o+n.length;if(r>i){i=r;let e=new Uint8Array(i);e.set(a),a=e}return a.set(n,o),o=r,t({progress:o/i*100,loaded:o,total:i}),c()}return await c(),a}function rc(e){return $s(e,[`blob:`])}function ic(e){let t;if(typeof location<`u`&&location.href)t=location.href;else if(import.meta.url)t=import.meta.url;else return e;return new URL(e,t).href}var ac=`SHA-256`,oc=`experimental_transformers-hash-cache`,sc=e=>({algorithm:ac,value:e}),cc=class{#e=null;_getHashCache=()=>(this.#e??=caches.open(oc),this.#e);static isAvailable=()=>typeof navigator<`u`&&`crossOriginStorage`in navigator;match=async e=>{let t=await this._getFileHash(e);if(t)try{let[e]=await navigator.crossOriginStorage.requestFileHandles([sc(t)]),n=await e.getFile();return new Response(n,{headers:{"Content-Length":String(n.size)}})}catch{return}};put=async(e,t)=>{let n=await this._getFileHash(e);if(n){let e=await t.blob();await this._storeBlobInCOS(e,n)}else this._processAndStore(e,t.body)};_storeBlobInCOS=async(e,t)=>{let[n]=await navigator.crossOriginStorage.requestFileHandles([sc(t)],{create:!0}),r=await n.createWritable();await r.write(e),await r.close()};_processAndStore=async(e,t)=>{try{let n=[];for await(let e of t)n.push(e);let r=new Blob(n),i=await this._getBlobHash(r);await this._storeBlobInCOS(r,i);try{await(await this._getHashCache()).put(e,new Response(i))}catch{}}catch{}};delete=async e=>{try{return await(await this._getHashCache()).delete(e)}catch{return!1}};_getFileHash=async e=>{try{let t=await this._getHashCache(),n=await t.match(e);if(n)return n.text();let r=await this._getLfsFileHash(e);return r?(await t.put(e,new Response(r)),r):null}catch{return null}};_getLfsFileHash=async e=>{if(!e.includes(`/resolve/`))return null;let t=e.replace(`/resolve/`,`/raw/`);try{let e=(await fetch(t).then(e=>e.text())).match(/^oid sha256:([0-9a-f]+)$/m);return e?e[1]:null}catch{return null}};_getBlobHash=async e=>{let t=await e.arrayBuffer(),n=await crypto.subtle.digest(ac,t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}};async function lc(e=null){let t=null;if(bi.useCustomCache){if(!bi.customCache)throw Error("`env.useCustomCache=true`, but `env.customCache` is not defined.");if(!bi.customCache.match||!bi.customCache.put)throw 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=bi.customCache}if(!t&&bi.experimental_useCrossOriginStorage&&cc.isAvailable()&&(t=new cc),!t&&bi.useBrowserCache){if(typeof caches>`u`)throw Error(`Browser cache is not available in this environment.`);try{t=await caches.open(bi.cacheKey)}catch(e){F.warn(`An error occurred while opening the browser cache:`,e)}}if(!t&&bi.useFSCache){if(!di.IS_FS_AVAILABLE)throw Error(`File System Cache is not available in this environment.`);t=new Js(e??bi.cacheDir)}return t}async function uc(e,...t){for(let n of t)try{let t=await e.match(n);if(t)return t}catch{continue}}var dc=new class{#e;#t;constructor(e){this.#e=e,this.#t=new Map}get(e){if(!this.#t.has(e))return;let t=this.#t.get(e);return this.#t.delete(e),this.#t.set(e,t),t}put(e,t){this.#t.has(e)&&this.#t.delete(e),this.#t.set(e,t),this.#t.size>this.#e&&this.#t.delete(this.#t.keys().next().value)}delete(e){return this.#t.delete(e)}clear(){this.#t.clear()}}(100);function fc(e,t){let n=dc.get(e);if(n!==void 0)return n;let r=t().then(e=>e,t=>(dc.delete(e),Promise.reject(t)));return dc.put(e,r),r}async function pc(e){if(!$s(e,[`http:`,`https:`]))return null;let t=_c(e);return t.set(`Range`,`bytes=0-0`),bi.fetch(e,{method:`GET`,headers:t,cache:`no-store`})}function mc(e,t,n={}){return fc(JSON.stringify([e,t,n?.revision,n?.cache_dir,n?.local_files_only]),()=>hc(e,t,n))}async function hc(e,t,n){let r=await lc(n?.cache_dir),{localPath:i,remoteURL:a,proposedCacheKey:o,validModelId:s}=vc(e,t,n,r),c=await yc(r,i,o);if(c!==void 0&&typeof c!=`string`){let e=c.headers.get(`content-length`),t=c.headers.get(`content-type`);return{exists:!0,size:e?parseInt(e,10):void 0,contentType:t||void 0,fromCache:!0}}if(bi.allowLocalModels&&!$s(i,[`http:`,`https:`]))try{let e=await gc(i);if(typeof e!=`string`&&e.status!==404){let t=e.headers.get(`content-length`),n=e.headers.get(`content-type`);return{exists:!0,size:t?parseInt(t,10):void 0,contentType:n||void 0,fromCache:!1}}}catch{}if(bi.allowRemoteModels&&!n.local_files_only&&s)try{let e=await pc(a);if(e&&e.status>=200&&e.status<300){let t,n=e.headers.get(`content-type`);if(e.status===206){let n=e.headers.get(`content-range`);if(n){let e=n.match(/bytes \d+-\d+\/(\d+)/);e&&(t=parseInt(e[1],10))}}else if(e.status===200)try{await e.body?.cancel()}catch{}if(t===void 0){let n=e.headers.get(`content-length`);t=n?parseInt(n,10):void 0}return{exists:!0,size:t,contentType:n||void 0,fromCache:!1}}}catch(e){F.warn(`Unable to fetch file metadata for "${a}": ${e}`)}return{exists:!1,fromCache:!1}}async function gc(e){return bi.useFS&&!$s(e,[`http:`,`https:`,`blob:`])?new Vs(e instanceof URL?e.protocol===`file:`?e.pathname:e.toString():e):bi.fetch(e,{headers:_c(e)})}function _c(e){let t=typeof process<`u`&&process?.release?.name===`node`,n=new Headers;if(t){let t=!!{}?.TESTING_REMOTELY,r=bi.version;if(n.set(`User-Agent`,`transformers.js/${r}; is_ci/${t};`),$s(e,[`http:`,`https:`],[`huggingface.co`,`hf.co`])){let e={}?.HF_TOKEN??{}?.HF_ACCESS_TOKEN;e&&n.set(`Authorization`,`Bearer ${e}`)}}return n}function vc(e,t,n={},r=null){let i=n.revision??`main`,a=Qs(e,t),o=ec(e),s=o?Qs(bi.localModelPath,a):a,c=Qs(bi.remoteHost,bi.remotePathTemplate.replaceAll(`{model}`,e).replaceAll(`{revision}`,encodeURIComponent(i)),t);return{requestURL:a,localPath:s,remoteURL:c,proposedCacheKey:r instanceof Js?i===`main`?a:Qs(e,i,t):c,validModelId:o}}async function yc(e,t,n){if(e)return await uc(e,t,n)}async function bc(e,t,n,r,i,a,o={}){if(await n.match(r)===void 0){if(!a){let a=o.progress_callback?n=>Ci(o.progress_callback,{status:`progress`,name:e,file:t,...n}):void 0;await n.put(r,i,a)}else if(typeof i!=`string`){let e=new Headers(i.headers);e.set(`content-length`,a.byteLength.toString()),await n.put(r,new Response(a,{headers:e})).catch(e=>{F.warn(`Unable to add response to browser cache: ${e}.`)})}}}async function xc(e,t,n=!0,r={},i=!1,a=null){let{requestURL:o,localPath:s,remoteURL:c,proposedCacheKey:l,validModelId:u}=vc(e,t,r,a),d,f=!1,p;p=await yc(a,s,l);let m=p!==void 0;if(m)d=l;else{if(bi.allowLocalModels){if(!$s(o,[`http:`,`https:`]))try{p=await gc(s),d=s}catch(e){F.warn(`Unable to load from local path "${s}": "${e}"`)}else if(r.local_files_only)throw Error(`\`local_files_only=true\`, but attempted to load a remote file from: ${o}.`);else if(!bi.allowRemoteModels)throw Error(`\`env.allowRemoteModels=false\`, but attempted to load a remote file from: ${o}.`)}if(p===void 0||typeof p!=`string`&&p.status===404){if(r.local_files_only||!bi.allowRemoteModels){if(n)throw Error(`\`local_files_only=true\` or \`env.allowRemoteModels=false\` and file was not found locally at "${s}".`);return null}if(!u)throw Error(`Local file missing at "${s}" and download aborted due to invalid model ID "${e}".`);if(p=await gc(c),p.status!==200)return tc(p.status,c,n);d=l}f=a&&typeof Response<`u`&&p instanceof Response&&p.status===200}Ci(r.progress_callback,{status:`download`,name:e,file:t});let h;if(!(di.IS_NODE_ENV&&i)){let n;if(typeof p!=`string`)if(!r.progress_callback)n=new Uint8Array(await p.arrayBuffer());else if(m&&typeof navigator<`u`&&/firefox/i.test(navigator.userAgent))n=new Uint8Array(await p.arrayBuffer()),Ci(r.progress_callback,{status:`progress`,name:e,file:t,progress:100,loaded:n.length,total:n.length});else{let i,a=p.headers.get(`content-length`);if(a)i=parseInt(a,10);else try{let n=await mc(e,t,r);n.size&&(i=n.size)}catch{}n=await nc(p,n=>{Ci(r.progress_callback,{status:`progress`,name:e,file:t,...n})},i)}h=n}if(f&&d&&typeof p!=`string`&&await bc(e,t,a,d,p,h,r),di.IS_NODE_ENV&&i&&r.progress_callback&&typeof p!=`string`){let n=parseInt(p.headers.get(`content-length`),10)||0;Ci(r.progress_callback,{status:`progress`,name:e,file:t,progress:100,loaded:n,total:n})}if(Ci(r.progress_callback,{status:`done`,name:e,file:t}),h){if(!di.IS_NODE_ENV&&i)throw Error(`Cannot return path in a browser environment.`);return h}if(p instanceof Vs)return p.filePath;let g=await a?.match(d);if(g instanceof Vs)return g.filePath;if(g instanceof Response)return new Uint8Array(await g.arrayBuffer());if(typeof g==`string`)return g;throw Error(`Unable to get model file path or buffer.`)}var Sc=new Map;async function Cc(e,t,n=!0,r={},i=!1){if(!bi.allowLocalModels){if(r.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(!bi.allowRemoteModels)throw Error("Invalid configuration detected: both local and remote models are disabled. Fix by setting `env.allowLocalModels` or `env.allowRemoteModels` to `true`.")}Ci(r.progress_callback,{status:`initiate`,name:e,file:t});let a=`${e}::${t}`,o=Sc.get(a);return o||(o=xc(e,t,n,r,i,await lc(r?.cache_dir)).then(e=>(Sc.delete(a),e),e=>{throw Sc.delete(a),e}),Sc.set(a,o)),await o}async function wc(e,t,n=!0,r={}){let i=await Cc(e,t,n,r,!1);return i===null?null:new TextDecoder(`utf-8`).decode(i)}async function Tc(e,t,n=!0,r={}){let i=await wc(e,t,n,r);return i===null?{}:JSON.parse(i)}function Ec(e,[t,n,r],[i,a],o=`bilinear`,s=!1){let c=a/r,l=i/n,u=new e.constructor(i*a*t),d=n*r,f=i*a;for(let o=0;o=0;--e)i[e]=a,r[e]=t[n[e]],a*=r[e];let a=n.map((e,t)=>i[n.indexOf(t)]),o=new e.constructor(e.length);for(let n=0;n=0;--e)r+=i%t[e]*a[e],i=Math.floor(i/t[e]);o[r]=e[n]}return[o,r]}function Oc(e){let t=jc(e)[0],n=e.map(e=>Math.exp(e-t)),r=n.reduce((e,t)=>e+t,0);return n.map(e=>e/r)}function kc(e){let t=jc(e)[0],n=0;for(let r=0;re-t-r)}function Ac(e){if(e.length===0)throw Error(`Array must not be empty`);let t=e[0],n=0;for(let r=1;rt&&(t=e[r],n=r);return[t,n]}function Mc(e){return e>0&&(e&e-1)==0}var Nc=class{constructor(e){if(this.size=e|0,this.size<=1||!Mc(this.size))throw 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 e=0;ee;e<<=1)++t;this._width=t%2==0?t-1:t,this._bitrev=new Int32Array(1<>>t&3)<>>1);for(let t=0;t>>1]=e[t];return n}toComplexArray(e,t){let n=t||this.createComplexArray();for(let t=0;t>>1],n[t+1]=0;return n}transform(e,t){if(e===t)throw Error(`Input and output buffers must be different`);this._transform4(e,t,1)}realTransform(e,t){if(e===t)throw Error(`Input and output buffers must be different`);this._realTransform4(e,t,1)}inverseTransform(e,t){if(e===t)throw Error(`Input and output buffers must be different`);this._transform4(e,t,-1);for(let t=0;t>=2;i>=2;i>>=2){a=r/i<<1;let t=a>>>2;for(o=0;o>>1,i>>>1)}else for(o=0,s=0;o>>1,i>>>1,n)}let l=this.table;for(i>>=2;i>=2;i>>=2){a=r/i<<1;let t=a>>>1,s=t>>>1,c=s>>>1;for(o=0;o>>1;for(let t=2;t>1;++t){let n=(t+1-e)**2/2,r=Math.sqrt(s**2+c**2)**n,o=n*Math.atan2(c,s),l=2*t;i[l]=r*Math.cos(o),i[l+1]=r*Math.sin(o),a[l]=i[l],a[l+1]=-i[l+1]}this._slicedChirpBuffer=i.subarray(t,n),this._f=new Nc(r>>1),this._f.transform(this._chirpBuffer,a)}_transform(e,t,n){let r=this._buffer1,i=this._buffer2,a=this._outBuffer1,o=this._outBuffer2,s=this._chirpBuffer,c=this._slicedChirpBuffer,l=this._a;if(n)for(let e=0;e>1];r[e]=i*c[e],r[n]=i*c[n]}else for(let e=0;e=e.length&&(i=2*(e.length-1)-i),r[a++]=e[i]}r.sort(),n[t]=r[i]}return n}function Lc(e,t){let n=10**t;return Math.round(e*n)/n}function Rc(e){let t=Math.round(e);return Math.abs(e)%1==.5?t%2==0?t:t-1:t}function zc(e){let t=e.length,n=e[0].length,r=[t+1,n+1],i=Array.from({length:r[0]},()=>Array(r[1]).fill(1/0));i[0][0]=0;let a=Array.from({length:r[0]},()=>Array(r[1]).fill(-1));for(let t=1;t0||s>0;)switch(c.push(o-1),l.push(s-1),a[o][s]){case 0:--o,--s;break;case 1:--o;break;case 2:--s;break;default:throw Error(`Internal error in dynamic time warping. Unexpected trace[${o}, ${s}]. Please file a bug report.`)}return c.reverse(),l.reverse(),[c,l]}var Bc=(function(){let e=null;return function(t){if(!e){e=new Float32Array(65536);let t=new ArrayBuffer(4),n=new Uint32Array(t),r=new Float32Array(t);for(let t=0;t>10,s=t&1023;if(o===31)i=a|2139095040|s<<13;else if(o===0)if(s===0)i=a;else{let e=113;for(;!(s&1024);)s<<=1,--e;s&=-1025,i=a|e<<23|s<<13}else i=a|o+112<<23|s<<13;n[0]=i,e[t]=r[0]}}let n=t.length,r=e,i=new Float32Array(n);for(let e=0;eHc});var Hc={};async function Uc(e){let t=e.split(`/`).pop(),n;try{if(n=await lc(),n){let t=await n.match(e);if(t)return t}}catch(e){F.warn(`Failed to load ${t} from cache:`,e)}let r=await bi.fetch(e);if(!r.ok)throw Error(`Failed to fetch ${t}: ${r.status} ${r.statusText}`);if(n)try{await n.put(e,r.clone())}catch(e){F.warn(`Failed to cache ${t}:`,e)}return r}async function Wc(e){let t=await Uc(e);if(!t||typeof t==`string`)return null;try{return await t.arrayBuffer()}catch(e){return F.warn(`Failed to read WASM binary:`,e),null}}async function Gc(e){if(di.IS_SERVICE_WORKER_ENV||di.IS_CHROME_AVAILABLE)return e;let t=await Uc(e);if(!t||typeof t==`string`)return null;try{let e=await t.text();e=e.replaceAll(`globalThis.process?.versions?.node`,`false`);let n=new Blob([e],{type:`text/javascript`});return URL.createObjectURL(n)}catch(e){return F.warn(`Failed to read WASM factory:`,e),null}}var Kc=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 qc(e){return e<=vi.DEBUG?0:e<=vi.INFO?2:e<=vi.WARNING||e<=vi.ERROR?3:4}var Jc={0:`verbose`,1:`info`,2:`warning`,3:`error`,4:`fatal`},Yc=[],Xc,Zc,Qc=Symbol.for(`onnxruntime`);if(Qc in globalThis)Zc=globalThis[Qc];else if(di.IS_NODE_ENV){switch(Zc=Vc,process.platform){case`win32`:Yc.push(`dml`);break;case`linux`:process.arch===`x64`&&Yc.push(`cuda`);break;case`darwin`:Yc.push(`coreml`);break}Yc.push(`webgpu`),Yc.push(`cpu`),Xc=[`cpu`]}else Zc=T,di.IS_WEBNN_AVAILABLE&&Yc.push(`webnn-npu`,`webnn-gpu`,`webnn-cpu`,`webnn`),di.IS_WEBGPU_AVAILABLE&&Yc.push(`webgpu`),Yc.push(`wasm`),Xc=[`wasm`];var $c=Zc.InferenceSession;function el(e=null){if(!e)return Xc;switch(e){case`auto`:return Yc;case`gpu`:return Yc.filter(e=>[`webgpu`,`cuda`,`dml`,`webnn-gpu`].includes(e))}if(Yc.includes(e))return[Kc[e]??e];throw Error(`Unsupported device: "${e}". Should be one of: ${Yc.join(`, `)}.`)}var tl=Promise.resolve(),nl=null;async function rl(){if(nl)return nl;if(!(bi.useWasmCache&&typeof cl?.wasm?.wasmPaths==`object`&&cl?.wasm?.wasmPaths?.wasm&&cl?.wasm?.wasmPaths?.mjs)){if(di.IS_DENO_WEB_RUNTIME)throw Error(`env.useWasmCache=false is not supported in Deno's web runtime. Remove the useWasmCache override.`);return nl=Promise.resolve(),nl}return nl=(async()=>{let e=cl.wasm.wasmPaths,t=!1;await Promise.all([e.wasm&&!rc(e.wasm)?(async()=>{try{let n=await Wc(ic(e.wasm));n&&(cl.wasm.wasmBinary=n,t=!0)}catch(e){F.warn(`Failed to pre-load WASM binary:`,e)}})():Promise.resolve(),e.mjs&&!rc(e.mjs)?(async()=>{try{let t=await Gc(ic(e.mjs));t&&(cl.wasm.wasmPaths.mjs=t)}catch(e){F.warn(`Failed to pre-load WASM factory:`,e)}})():Promise.resolve()]),t||(cl.wasm.wasmPaths.mjs=e.mjs)})(),nl}async function il(e,t,n){await rl();let r=qc(bi.logLevel??vi.WARNING),i=()=>$c.create(e,{logSeverityLevel:r,...t}),a=await(di.IS_WEB_ENV?tl=tl.then(i):i());return a.config=n,a}var al=Promise.resolve();async function ol(e,t){let n=()=>e.run(t);return di.IS_WEB_ENV?al=al.then(n):n()}function sl(e){return e instanceof Zc.Tensor}var cl=Zc?.env;function ll(){return cl?.wasm?.proxy}if(cl){let e=function(e){cl.logLevel=Jc[qc(e)]};if(cl.wasm){if(!(typeof ServiceWorkerGlobalScope<`u`&&self instanceof ServiceWorkerGlobalScope)&&cl.versions?.web&&!cl.wasm.wasmPaths){let e=`https://cdn.jsdelivr.net/npm/onnxruntime-web@${cl.versions.web}/dist/`;cl.wasm.wasmPaths=di.IS_SAFARI?{mjs:`${e}ort-wasm-simd-threaded.mjs`,wasm:`${e}ort-wasm-simd-threaded.wasm`}:{mjs:`${e}ort-wasm-simd-threaded.asyncify.mjs`,wasm:`${e}ort-wasm-simd-threaded.asyncify.wasm`}}cl.wasm.proxy=!1}cl.webgpu&&(cl.webgpu.powerPreference=`high-performance`),e(bi.logLevel??vi.WARNING),bi.backends.onnx={...cl,setLogLevel:e}}var ul=async(e,t,n)=>{let r=await il(new Uint8Array(e),t);return(async e=>{let t=ll(),i=await ol(r,Object.fromEntries(Object.entries(e).map(([e,n])=>[e,(t?n.clone():n).ort_tensor])));return Array.isArray(n)?n.map(e=>new U(i[e])):new U(i[n])})},dl=class{static session_options={};static get nearest_interpolate_4d(){return this._nearest_interpolate_4d||=ul([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||=ul([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||=ul([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||=ul([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||=ul([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||=ul([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||=ul([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||=ul([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}},fl=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`}),pl=di.IS_NODE_ENV?`cpu`:`wasm`;function ml(e,t,{warn:n}={}){return e?typeof e==`string`?e:e.hasOwnProperty(t)?e[t]:(n&&n(`device not specified for "${t}". Using the default device (${pl}).`),pl):pl}var hl=(function(){let e;return async function(){if(e===void 0)if(!di.IS_WEBGPU_AVAILABLE)e=!1;else try{e=(await navigator.gpu.requestAdapter()).features.has(`shader-f16`)}catch{e=!1}return e}})(),gl=Object.freeze({auto:`auto`,fp32:`fp32`,fp16:`fp16`,q8:`q8`,int8:`int8`,uint8:`uint8`,q4:`q4`,bnb4:`bnb4`,q4f16:`q4f16`}),_l=gl.fp32,vl=Object.freeze({[fl.wasm]:gl.q8}),yl=Object.freeze({[gl.fp32]:``,[gl.fp16]:`_fp16`,[gl.int8]:`_int8`,[gl.uint8]:`_uint8`,[gl.q8]:`_quantized`,[gl.q4]:`_q4`,[gl.q4f16]:`_q4f16`,[gl.bnb4]:`_bnb4`});function bl(e,t,n,{configDtype:r=null,warn:i}={}){let a,o=!1;e&&typeof e!=`string`?e.hasOwnProperty(t)?a=e[t]:(a=null,o=!0):a=e;let s;if(a===gl.auto){if(r){let e=typeof r==`string`?r:r?.[t];if(e&&e!==gl.auto&&gl.hasOwnProperty(e))return e}s=vl[n]??_l}else s=a&&gl.hasOwnProperty(a)?a:vl[n]??_l;return o&&i&&i(`dtype not specified for "${t}". Using the default dtype (${s}) for this device (${n}).`),s}var xl=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}),U=class e{get dims(){return this.ort_tensor.dims}set dims(e){this.ort_tensor.dims=e}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(...e){return sl(e[0])?this.ort_tensor=e[0]:this.ort_tensor=new Vr(e[0],e[1],e[2]),new Proxy(this,{get:(e,t)=>{if(typeof t==`string`){let n=Number(t);if(Number.isInteger(n))return e._getitem(n)}return e[t]},set:(e,t,n)=>e[t]=n})}dispose(){this.ort_tensor.dispose()}*[Symbol.iterator](){let[e,...t]=this.dims;if(t.length>0){let n=t.reduce((e,t)=>e*t);for(let r=0;r0){let e=r.reduce((e,t)=>e*t);return this._subarray(t,e,r)}else return new e(this.type,[this.data[t]],r)}indexOf(e){let t=this.data;for(let n=0;na)throw Error(`Invalid slice: ${i}`);let o=[Math.max(t,0),Math.min(a,this.dims[e])];r.push(o),n.push(o[1]-o[0])}else throw Error(`Invalid slice: ${i}`)}let i=r.map(([e,t])=>t-e),a=i.reduce((e,t)=>e*t),o=this.data,s=new o.constructor(a),c=this.stride(),l=!0;for(let e=1;e=0;--n){let e=i[n];t+=(a%e+r[n][0])*c[n],a=Math.floor(a/e)}s[e]=o[t]}return new e(this.type,s,n)}permute(...e){return Cl(this,e)}transpose(...e){return this.permute(...e)}sum(e=null,t=!1){return this.norm(1,e,t)}norm(t=`fro`,n=null,r=!1){if(t===`fro`)t=2;else if(typeof t==`string`)throw Error(`Unsupported norm: ${t}`);let i=this.data,a=i instanceof BigInt64Array||i instanceof BigUint64Array;if(a&&t!==1)throw Error(`Expected a floating point tensor as input. Got ${this.type}`);let o,s;if(a?(o=(e,t)=>e+t,s=0n):(o=(e,n)=>e+n**t,s=0),n===null){let n=i.reduce(o,s);return t!==1&&(n**=1/t),new e(this.type,[n],[])}let[c,l,u]=Il(o,this,n,r);if(t!==1)for(let e=0;e=0;--r){let e=this.dims[r];if(r!==t){let t=i%e;n+=t*a,a*=this.dims[r]}i=Math.floor(i/e)}r[e]/=i[n]}return this}normalize(e=2,t=1){return this.clone().normalize_(e,t)}stride(){return zl(this.dims)}squeeze(t=null){return new e(this.type,this.data,jl(this.dims,t))}squeeze_(e=null){return this.dims=jl(this.dims,e),this}unsqueeze(t){return new e(this.type,this.data,Ml(this.dims,t))}unsqueeze_(e){return this.dims=Ml(this.dims,e),this}flatten_(e=0,t=-1){t=(t+this.dims.length)%this.dims.length;let n=this.dims.slice(0,e),r=this.dims.slice(e,t+1),i=this.dims.slice(t+1);return this.dims=[...n,r.reduce((e,t)=>e*t,1),...i],this}flatten(e=0,t=-1){return this.clone().flatten_(e,t)}view(...t){let n=-1;for(let e=0;er===n?e:e*t,1);t[n]=r.length/e}return new e(this.type,r,t)}neg_(){let e=this.data;for(let t=0;tt?1:0;return new e(`bool`,n,this.dims)}lt(t){let n=new Uint8Array(this.data.length),r=this.data;for(let e=0;eMath.min(e,t),this,t,n,1/0);return new e(r,i,a)}max(t=null,n=!1){if(t===null){let t=jc(this.data)[0];return new e(this.type,[t],[])}let[r,i,a]=Il((e,t)=>Math.max(e,t),this,t,n,-1/0);return new e(r,i,a)}argmin(t=null,n=!1){if(t!==null)throw Error("`dim !== null` not yet implemented.");let r=Ac(this.data)[1];return new e(`int64`,[BigInt(r)],[])}argmax(t=null,n=!1){if(t!==null)throw Error("`dim !== null` not yet implemented.");let r=jc(this.data)[1];return new e(`int64`,[BigInt(r)],[])}repeat(...t){if(t.lengthe===1)){if(t.length===this.dims.length)return this.clone();let n=t.length-this.dims.length,r=Array(n).fill(1).concat(this.dims);return new e(this.type,this.data.slice(),r)}let n=t.length-this.dims.length,r=Array(n).fill(1).concat(this.dims),i=r.map((e,n)=>e*t[n]),a=i.reduce((e,t)=>e*t,1),o=this.data,s=new o.constructor(a),c=zl(r),l=zl(i);for(let e=0;eBigInt(Math.floor(e)):BigInt;else if(this.type===`float16`&&t==`float32`&&this.data instanceof Uint16Array)return new e(t,Bc(this.data),this.dims);return new e(t,xl[t].from(this.data,n),this.dims)}};function Sl(e,t){let n=e.length;if(n!==t.reduce((e,t)=>e*t))throw Error(`cannot reshape array of size ${n} into shape (${t})`);let r=e;for(let e=t.length-1;e>=0;e--)r=r.reduce((n,r)=>{let i=n[n.length-1];return i.lengthnew U(`int64`,e,[e.length]);async function kl(e,t,n,r,i){return await(await dl.slice)({x:e,s:Ol(t),e:Ol(n),a:Ol(r),t:Ol(i??Array(r.length).fill(1))})}function Al(e,t){let n=e.data,r=t.data,i=[e.dims[0],e.dims[2]],a=new n.constructor(i[0]*i[1]),[o,s,c]=e.dims,l=0;for(let e=0;ee!==1):typeof t==`number`?e[t]===1&&e.splice(t,1):Array.isArray(t)&&(e=e.filter((e,n)=>e!==1||!t.includes(n))),e}function Ml(e,t){return t=Nl(t,e.length+1),e=e.slice(),e.splice(t,0,1),e}function Nl(e,t,n=null,r=!0){if(e<-t||e>=t){if(r)throw Error(`IndexError: index ${e} is out of bounds for dimension${n===null?``:` `+n} with size ${t}`);return e<-t?0:t}return e<0&&(e=(e%t+t)%t),e}function Pl(e,t=0){t=Nl(t,e[0].dims.length);let n=e[0].dims.slice();n[t]=e.reduce((e,n)=>e+n.dims[t],0);let r=n.reduce((e,t)=>e*t,1),i=new e[0].data.constructor(r),a=e[0].type;if(t===0){let t=0;for(let n of e){let e=n.data;i.set(e,t),t+=e.length}}else{let r=0;for(let a=0;a=0;--i){let e=s[i],l=o%e;i===t&&(l+=r),a+=l*c,c*=n[i],o=Math.floor(o/e)}i[a]=o[e]}r+=s[t]}}return new U(a,i,n)}function Fl(e,t=0){return Pl(e.map(e=>e.unsqueeze(t)),t)}function Il(e,t,n,r=!1,i=null){let a=t.data,o=t.dims;n=Nl(n,o.length);let s=o.slice();s[n]=1;let c=new a.constructor(a.length/o[n]);i!==null&&c.fill(i);for(let t=0;t=0;--e){let t=o[e];if(e!==n){let n=i%t;r+=n*a,a*=s[e]}i=Math.floor(i/t)}c[r]=e(c[r],a[t],t,r)}return r||s.splice(n,1),[t.type,c,s]}function Ll(e,t=null,n=1,r=!1){let i=e.data,a=e.dims;if(t===null){let t=i.reduce((e,t)=>e+t,0)/i.length,r=Math.sqrt(i.reduce((e,n)=>e+(n-t)**2,0)/(i.length-n)),a=new U(e.type,[t],[]);return[new U(e.type,[r],[]),a]}t=Nl(t,a.length);let o=Rl(e,t,r),s=o.data,[c,l,u]=Il((e,t,n,r)=>e+(t-s[r])**2,e,t,r);for(let e=0;ee+t,0);return new U(e.type,[t/i.length],[])}t=Nl(t,r.length);let[a,o,s]=Il((e,t)=>e+t,e,t,n);if(r[t]!==1)for(let e=0;e=0;--n)t[n]=r,r*=e[n];return t}function Bl(e,t,n,r){return new U(n,new r(e.reduce((e,t)=>e*t,1)).fill(t),e)}function W(e,t){let n,r;if(typeof t==`number`)n=`float32`,r=Float32Array;else if(typeof t==`bigint`)n=`int64`,r=BigInt64Array;else if(typeof t==`boolean`)n=`bool`,r=Uint8Array;else throw Error(`Unsupported data type: ${typeof t}`);return Bl(e,t,n,r)}function Vl(e,t){return W(e.dims,t)}function G(e){return Bl(e,1n,`int64`,BigInt64Array)}function Hl(e){return G(e.dims)}function Ul(e){return Bl(e,0n,`int64`,BigInt64Array)}function Wl(e){return Ul(e.dims)}function Gl(e){let t=e.reduce((e,t)=>e*t,1);return new U(`float32`,Float32Array.from({length:t},()=>Gs.gauss()),e)}function Kl(e,t){if(e.dims.length!==2)throw Error(`The tensor must have 2 dimensions`);if(e.dims.at(-1)%8!=0)throw Error(`The last dimension of the tensor must be a multiple of 8`);if(![`binary`,`ubinary`].includes(t))throw Error(`The precision must be either 'binary' or 'ubinary'`);let n=t===`binary`,r=n?`int8`:`uint8`,i=n?Int8Array:Uint8Array,a=e.data,o=new i(a.length/8);for(let e=0;e0?1:0,r=Math.floor(e/8),i=e%8;o[r]|=t<<7-i,n&&i===0&&(o[r]-=128)}return new U(r,o,[e.dims[0],e.dims[1]/8])}async function ql(e){if(!e)throw Error(`modelId is required for get_tokenizer_files`);return(await mc(e,`tokenizer_config.json`,{})).exists?[`tokenizer.json`,`tokenizer_config.json`]:[]}async function Jl(e,t){let n=await ql(e);return await Promise.all(n.map(n=>Tc(e,n,!0,t)))}function Yl(e){let t=e.dims;switch(t.length){case 1:return e.tolist();case 2:if(t[0]!==1)throw Error("Unable to decode tensor with `batch size !== 1`. Use `tokenizer.batch_decode(...)` for batched inputs.");return e.tolist()[0];default:throw Error(`Expected tensor to have 1-2 dimensions, got ${t.length}.`)}}var Xl=[`bos_token`,`eos_token`,`unk_token`,`sep_token`,`pad_token`,`cls_token`,`mask_token`];function Zl(e,t,n,r){for(let i of Object.keys(e)){let a=t-e[i].length,o=n(i),s=Array(a).fill(o);e[i]=r===`right`?Oi(e[i],s):Oi(s,e[i])}}function Ql(e,t){for(let n of Object.keys(e))e[n].length=t}function $l(e,...t){for(let n of t){if(!Object.hasOwn(e,n))continue;let t=e[n];if(t)if(typeof t==`object`){if(t.__type===`AddedToken`)return t.content;throw Error(`Unknown token: ${t}`)}else return t}return null}function eu(e){let t=[];for(let n of e.get_added_tokens_decoder().values())n.special&&t.push(n);return t}var K=class extends Si{return_token_type_ids=!1;padding_side=`right`;constructor(e,t){if(super(),this._tokenizerJSON=e,this._tokenizerConfig=t,this._tokenizer=new lo(e,t),this.config=t,this.padding_side=t.padding_side??this.padding_side,this.mask_token=$l(t,`mask_token`),this.mask_token_id=this._tokenizer.token_to_id(this.mask_token),this.pad_token=$l(t,`pad_token`,`eos_token`),this.pad_token_id=this._tokenizer.token_to_id(this.pad_token),this.sep_token=$l(t,`sep_token`),this.sep_token_id=this._tokenizer.token_to_id(this.sep_token),this.unk_token=$l(t,`unk_token`),this.unk_token_id=this._tokenizer.token_to_id(this.unk_token),this.bos_token=$l(t,`bos_token`),this.bos_token_id=this._tokenizer.token_to_id(this.bos_token),this.eos_token=$l(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)){let e=Object.create(null);for(let{name:t,template:n}of this.chat_template){if(typeof t!=`string`||typeof n!=`string`)throw Error(`Chat template must be a list of objects with "name" and "template" properties`);e[t]=n}this.chat_template=e}this._compiled_template_cache=new Map;let n=eu(this._tokenizer);this.all_special_ids=n.map(e=>e.id),this.all_special_tokens=n.map(e=>e.content)}static async from_pretrained(e,{progress_callback:t=null,config:n=null,cache_dir:r=null,local_files_only:i=!1,revision:a=`main`}={}){let o=await Jl(e,{progress_callback:t,config:n,cache_dir:r,local_files_only:i,revision:a});return new this(...o)}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(e=>this._tokenizer.token_to_id(e))}_call(e,{text_pair:t=null,add_special_tokens:n=!0,padding:r=!1,truncation:i=null,max_length:a=null,return_tensor:o=!0,return_token_type_ids:s=null}={}){let c=Array.isArray(e),l;if(c){if(e.length===0)throw Error(`text array must be non-empty`);if(t!==null){if(!Array.isArray(t))throw Error(`text_pair must also be an array`);if(e.length!==t.length)throw Error(`text and text_pair must have the same length`);l=e.map((e,r)=>this._encode_plus(e,{text_pair:t[r],add_special_tokens:n,return_token_type_ids:s}))}else l=e.map(e=>this._encode_plus(e,{add_special_tokens:n,return_token_type_ids:s}))}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).");l=[this._encode_plus(e,{text_pair:t,add_special_tokens:n,return_token_type_ids:s})]}if(a===null?a=this.model_max_length:i===null&&(r===!0?(F.warn("`max_length` is ignored when `padding: true` and there is no truncation strategy. To pad to max length, use `padding: 'max_length'`."),a=this.model_max_length):r===!1&&(F.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."),i=!0)),r===!0&&(a=Math.min(jc(l.map(e=>e.input_ids.length))[0],a??1/0)),a=Math.min(a,this.model_max_length??1/0),r||i)for(let e=0;ea?i&&Ql(l[e],a):r&&Zl(l[e],a,e=>e===`input_ids`?this.pad_token_id:0,this.padding_side);let u={};if(o){if(!(r&&i)&&l.some(e=>{for(let t of Object.keys(e))if(e[t].length!==l[0][t]?.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.`);let e=[l.length,l[0].input_ids.length];for(let t of Object.keys(l[0]))u[t]=new U(`int64`,BigInt64Array.from(l.flatMap(e=>e[t]).map(BigInt)),e)}else{for(let e of Object.keys(l[0]))u[e]=l.map(t=>t[e]);if(!c)for(let e of Object.keys(u))u[e]=u[e][0]}return u}_encode_text(e){return e===null?null:this._tokenizer.encode(e).tokens}_encode_plus(e,{text_pair:t=null,add_special_tokens:n=!0,return_token_type_ids:r=null}={}){let{ids:i,attention_mask:a,token_type_ids:o}=this._tokenizer.encode(e,{text_pair:t,add_special_tokens:n,return_token_type_ids:r??this.return_token_type_ids});return{input_ids:i,attention_mask:a,...o?{token_type_ids:o}:{}}}tokenize(e,{pair:t=null,add_special_tokens:n=!1}={}){return this._tokenizer.tokenize(e,{text_pair:t,add_special_tokens:n})}encode(e,{text_pair:t=null,add_special_tokens:n=!0,return_token_type_ids:r=null}={}){return this._tokenizer.encode(e,{text_pair:t,add_special_tokens:n,return_token_type_ids:r}).ids}batch_decode(e,t={}){return e instanceof U&&(e=e.tolist()),e.map(e=>this.decode(e,t))}decode(e,t={}){if(e instanceof U&&(e=Yl(e)),!Array.isArray(e)||e.length===0||!Ti(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:n=null}){return this._tokenizer.decode(e,{skip_special_tokens:t,clean_up_tokenization_spaces:n})}get_chat_template({chat_template:e=null,tools:t=null}={}){if(this.chat_template&&typeof this.chat_template==`object`){let n=this.chat_template;if(e!==null&&Object.hasOwn(n,e))e=n[e];else if(e===null)if(t!==null&&`tool_use`in n)e=n.tool_use;else if(`default`in n)e=n.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(n).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:n=null,chat_template:r=null,add_generation_prompt:i=!1,tokenize:a=!0,padding:o=!1,truncation:s=!1,max_length:c=null,return_tensor:l=!0,return_dict:u=!0,tokenizer_kwargs:d={},...f}={}){if(r=this.get_chat_template({chat_template:r,tools:t}),typeof r!=`string`)throw Error(`chat_template must be a string, but got ${typeof r}`);let p=this._compiled_template_cache.get(r);p===void 0&&(p=new zs(r),this._compiled_template_cache.set(r,p));let m=Object.create(null);for(let e of Xl){let t=$l(this.config,e);t&&(m[e]=t)}let h=p.render({messages:e,add_generation_prompt:i,tools:t,documents:n,...m,...f});if(a){let e=this._call(h,{add_special_tokens:!1,padding:o,truncation:s,max_length:c,return_tensor:l,...d});return u?e:e.input_ids}return h}};function tu(e,t,n,r){if(!(`language_codes`in e)||!Array.isArray(e.language_codes))throw 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 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 Error("Tokenizer must have `lang_to_token` attribute set and it should be a function.");let i=r.src_lang,a=r.tgt_lang;if(!e.language_codes.includes(a))throw Error(`Target language code "${a}" is not valid. Must be one of: {${e.language_codes.join(`, `)}}`);if(i!==void 0){if(!e.language_codes.includes(i))throw Error(`Source language code "${i}" is not valid. Must be one of: {${e.language_codes.join(`, `)}}`);for(let t of e._tokenizer.post_processor.config.single)if(`SpecialToken`in t&&e.languageRegex.test(t.SpecialToken.id)){t.SpecialToken.id=e.lang_to_token(i);break}}return r.forced_bos_token_id=e._tokenizer.token_to_id(e.lang_to_token(a)),e._call(t,n)}var nu={};Ur(nu,{AlbertTokenizer:()=>ru,AutoTokenizer:()=>td,BartTokenizer:()=>iu,BertTokenizer:()=>au,BlenderbotSmallTokenizer:()=>ou,BlenderbotTokenizer:()=>su,BloomTokenizer:()=>cu,CLIPTokenizer:()=>uu,CamembertTokenizer:()=>lu,CodeGenTokenizer:()=>fu,CodeLlamaTokenizer:()=>du,CohereAsrTokenizer:()=>mu,CohereTokenizer:()=>pu,ConvBertTokenizer:()=>hu,DebertaTokenizer:()=>_u,DebertaV2Tokenizer:()=>gu,DistilBertTokenizer:()=>vu,ElectraTokenizer:()=>yu,EsmTokenizer:()=>bu,FalconTokenizer:()=>xu,GPT2Tokenizer:()=>wu,GPTNeoXTokenizer:()=>Cu,GemmaTokenizer:()=>Su,HerbertTokenizer:()=>Tu,LlamaTokenizer:()=>Eu,M2M100Tokenizer:()=>Du,MBart50Tokenizer:()=>Au,MBartTokenizer:()=>ku,MPNetTokenizer:()=>Nu,MarianTokenizer:()=>Ou,MgpstrTokenizer:()=>ju,MobileBertTokenizer:()=>Mu,NllbTokenizer:()=>Pu,NougatTokenizer:()=>Fu,PreTrainedTokenizer:()=>K,Qwen2Tokenizer:()=>Iu,RoFormerTokenizer:()=>Ru,RobertaTokenizer:()=>Lu,SiglipTokenizer:()=>zu,SpeechT5Tokenizer:()=>Bu,SqueezeBertTokenizer:()=>Vu,T5Tokenizer:()=>Hu,TokenizersBackend:()=>K,VitsTokenizer:()=>Wu,Wav2Vec2CTCTokenizer:()=>Gu,WhisperTokenizer:()=>Qu,XLMRobertaTokenizer:()=>$u,XLMTokenizer:()=>ed});var ru=class extends K{return_token_type_ids=!0},iu=class extends K{},au=class extends K{return_token_type_ids=!0},ou=class extends K{},su=class extends K{},cu=class extends K{},lu=class extends K{},uu=class extends K{},du=class extends K{},fu=class extends K{},pu=class extends K{},mu=class extends K{},hu=class extends K{return_token_type_ids=!0},gu=class extends K{return_token_type_ids=!0},_u=class extends K{return_token_type_ids=!0},vu=class extends K{},yu=class extends K{return_token_type_ids=!0},bu=class extends K{},xu=class extends K{},Su=class extends K{},Cu=class extends K{},wu=class extends K{},Tu=class extends K{return_token_type_ids=!0},Eu=class extends K{padding_side=`left`},Du=class extends K{constructor(e,t){super(e,t),this.languageRegex=/^__[a-z]{2,3}__$/,this.language_codes=this.all_special_tokens.filter(e=>this.languageRegex.test(e)).map(e=>e.slice(2,-2)),this.lang_to_token=e=>`__${e}__`}_build_translation_inputs(e,t,n){return tu(this,e,t,n)}},Ou=class extends K{constructor(e,t){super(e,t),this.languageRegex=/^(>>\w+<<)\s*/g,this.supported_language_codes=Array.from(this.get_vocab().keys()).filter(e=>this.languageRegex.test(e)),F.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;let[t,...n]=e.trim().split(this.languageRegex);if(n.length===0)return super._encode_text(t);if(n.length===2){let[e,t]=n;return this.supported_language_codes.includes(e)||F.warn(`Unsupported language code "${e}" detected, which may lead to unexpected behavior. Should be one of: ${JSON.stringify(this.supported_language_codes)}`),Oi([e],super._encode_text(t))}}},ku=class extends K{constructor(e,t){super(e,t),this.languageRegex=/^[a-z]{2}_[A-Z]{2}$/,this.language_codes=this.all_special_tokens.filter(e=>this.languageRegex.test(e)).map(e=>e),this.lang_to_token=e=>e}_build_translation_inputs(e,t,n){return tu(this,e,t,n)}},Au=class extends ku{},ju=class extends K{},Mu=class extends K{return_token_type_ids=!0},Nu=class extends K{},Pu=class extends K{constructor(e,t){super(e,t),this.languageRegex=/^[a-z]{3}_[A-Z][a-z]{3}$/,this.language_codes=this.all_special_tokens.filter(e=>this.languageRegex.test(e)),this.lang_to_token=e=>e}_build_translation_inputs(e,t,n){return tu(this,e,t,n)}},Fu=class extends K{},Iu=class extends K{},Lu=class extends K{},Ru=class extends K{return_token_type_ids=!0},zu=class extends K{},Bu=class extends K{},Vu=class extends K{return_token_type_ids=!0},Hu=class extends K{},Uu=class extends Xa{decode_chain(e){let t=``;for(let n=1;n[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 Yu(e){e=e.toLowerCase();let t=Ju.get(e);if(t===void 0){let n=e.match(/^<\|([a-z]{2})\|>$/);if(n&&(e=n[1]),qu.has(e))t=e;else{let t=e.length===2?qu.keys():qu.values();throw Error(`Language "${e}" is not supported. Must be one of: ${JSON.stringify(Array.from(t))}`)}}return t}var Xu=RegExp(`^[\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E]+$`,`gu`),Zu=.1,Qu=class extends K{get timestamp_begin(){return this._tokenizer.token_to_id(`<|notimestamps|>`)+1}_decode_asr(e,{return_timestamps:t=!1,return_language:n=!1,time_precision:r=null,force_full_sequences:i=!0}={}){if(r===null)throw Error(`Must specify time_precision`);let a=null,o=t===`word`;function s(){return{language:a,timestamp:[null,null],text:``}}let c=[],l=s(),u=0,d=this.timestamp_begin,f=d+1500,p=[],m=[],h=!1,g=null,_=new Set(this.all_special_ids);for(let n of e){let e=n.tokens,i=o?n.token_timestamps:null,v=null,y=d;if(`stride`in n){let[t,i,a]=n.stride;if(u-=i,g=t-a,i&&(y=i/r+d),a)for(let t=e.length-1;t>=0;--t){let n=Number(e[t]);if(n>=d){if(v!==null&&(n-d)*r=d&&g<=f){let e=Lc((g-d)*r+u,2);if(v!==null&&g>=v)h=!0;else if(h||p.length>0&&g0&&l.timestamp[1]!==null))for(let e of l.words)e.timestamp[1]>l.timestamp[1]&&l.timestamp[1]>=e.timestamp[0]&&(e.timestamp[1]=l.timestamp[1]);c.push(l),p=[],b=[],m=[],x=[],l=s()}}else if(b.push(g),o){let e=Lc(i[n]+u,2),t;if(n+10?(p.push(b),o&&m.push(x)):p.every(e=>e.length===0)&&(l=s(),p=[],b=[],m=[],x=[])}if(p.length>0){if(i&&t)throw 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.`);let[e,n]=this.findLongestCommonSequence(p,m),r=this.decode(e);l.text=r,o&&(l.words=this.collateWordTimestamps(e,n,a)),c.push(l)}let v=Object.create(null),y=c.map(e=>e.text).join(``);if(t||n){for(let e=0;e0,o=a?[]:null,s=a?t[0]:null;for(let c=1;ce===g[n]&&s[i+n][0]-Zu<=t[c][m+n][0]).length:p.filter((e,t)=>e===g[t]).length;let v=e/1e4,y=_/e+v;_>1&&y>u&&(u=y,d=[i,o,m,h])}let[p,m,h,g]=d,_=Math.floor((m+p)/2),v=Math.floor((g+h)/2);if(a&&u===0&&r>0){let e=s[r-1][0],n=t[c].findIndex(t=>t[0]>=e);v=n===-1?l.length:n}i.push(...n.slice(0,_)),n=l.slice(v),r=n.length,a&&(o.push(...s.slice(0,_)),s=t[c].slice(v))}return i.push(...n),a?(o.push(...s),[i,o]):[i,[]]}collateWordTimestamps(e,t,n){let[r,i,a]=this.combineTokensIntoWords(e,n),o=[];for(let e=0;e=r){let e=((t-r)*n).toFixed(2);i.push(`<|${e}|>`),i.push([])}else i[i.length-1].push(t);return i=i.map(e=>typeof e==`string`?e:super.decode(e,t)),i.join(``)}splitTokensOnUnicode(e){let t=this.decode(e,{decode_with_timestamps:!0}),n=[],r=[],i=[],a=[],o=[],s=0;for(let c=0;c=this._tokenizer.token_to_id(`<|endoftext|>`),d=s.startsWith(` `),f=s.trim(),p=Xu.test(f);if(u||d||p||i.length===0)i.push(s),a.push(c),o.push(l);else{let e=i.length-1;i[e]+=s,a[e].push(...c),o[e].push(...l)}}return[i,a,o]}mergePunctuations(e,t,n,r,i){let a=structuredClone(e),o=structuredClone(t),s=structuredClone(n),c=a.length-2,l=a.length-1;for(;c>=0;)a[c].startsWith(` `)&&r.includes(a[c].trim())?(a[l]=a[c]+a[l],o[l]=Oi(o[c],o[l]),s[l]=Oi(s[c],s[l]),a[c]=``,o[c]=[],s[c]=[]):l=c,--c;for(c=0,l=1;le),o.filter(e=>e.length>0),s.filter(e=>e.length>0)]}},$u=class extends K{},ed=class extends K{return_token_type_ids=!0;constructor(e,t){super(e,t),F.warn('WARNING: `XLMTokenizer` is not yet supported by Hugging Face\'s "fast" tokenizers library. Therefore, you may experience slightly inaccurate results.')}},td=class{static async from_pretrained(e,{progress_callback:t=null,config:n=null,cache_dir:r=null,local_files_only:i=!1,revision:a=`main`}={}){let[o,s]=await Jl(e,{progress_callback:t,config:n,cache_dir:r,local_files_only:i,revision:a}),c=s.tokenizer_class?.replace(/Fast$/,``)??`PreTrainedTokenizer`,l=nu[c];return l||=(F.warn(`Unknown tokenizer class "${c}", attempting to construct from base class.`),K),new l(o,s)}},nd=`https://github.com/huggingface/transformers.js/issues/new/choose`,rd=`preprocessor_config.json`,id=rd,ad=`processor_config.json`,od=`chat_template.jinja`,sd=class extends Si{static classes=[`image_processor_class`,`tokenizer_class`,`feature_extractor_class`];static uses_processor_config=!1;static uses_chat_template_file=!1;constructor(e,t,n){super(),this.config=e,this.components=t,this.chat_template=n}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 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 Error(`Unable to decode without a tokenizer.`);return this.tokenizer.batch_decode(...e)}decode(...e){if(!this.tokenizer)throw Error(`Unable to decode without a tokenizer.`);return this.tokenizer.decode(...e)}async _call(e,...t){for(let n of[this.image_processor,this.feature_extractor,this.tokenizer])if(n)return n(e,...t);throw Error(`No image processor, feature extractor, or tokenizer found.`)}static async from_pretrained(e,t={}){let[n,r,i]=await Promise.all([this.uses_processor_config?Tc(e,ad,!0,t):{},Promise.all(this.classes.filter(e=>e in this).map(async n=>{let r=await this[n].from_pretrained(e,t);return[n.replace(/_class$/,``),r]})).then(Object.fromEntries),this.uses_chat_template_file?wc(e,od,!0,t):null]);return new this(n,r,i)}};Ur({},{ChatterboxProcessor:()=>ef,CohereAsrProcessor:()=>nf,Florence2Processor:()=>Gp,Gemma3Processor:()=>Kp,Gemma3nProcessor:()=>qp,Gemma4Processor:()=>Jp,Glm46VProcessor:()=>Xp,GraniteSpeechProcessor:()=>Zp,GroundingDinoProcessor:()=>$p,Idefics3Processor:()=>rm,JinaCLIPProcessor:()=>am,Lfm2VlProcessor:()=>om,LlavaProcessor:()=>sm,MgpstrProcessor:()=>lm,MoonshineProcessor:()=>um,OwlViTProcessor:()=>dm,PaliGemmaProcessor:()=>mm,Phi3VProcessor:()=>_m,PixtralProcessor:()=>vm,Processor:()=>sd,PyAnnoteProcessor:()=>ym,Qwen2VLProcessor:()=>Yp,Qwen2_5_VLProcessor:()=>bm,Qwen3VLProcessor:()=>xm,Sam2Processor:()=>Cm,Sam2VideoProcessor:()=>wm,SamProcessor:()=>Sm,SmolVLMProcessor:()=>rm,SpeechT5Processor:()=>Tm,UltravoxProcessor:()=>Em,VLChatProcessor:()=>im,VoxtralProcessor:()=>jm,VoxtralRealtimeProcessor:()=>Lm,Wav2Vec2Processor:()=>Rm,Wav2Vec2ProcessorWithLM:()=>zm,WhisperProcessor:()=>Bm});var cd=class extends Si{constructor(e){super(),this.config=e}static async from_pretrained(e,t={}){let n=await Tc(e,rd,!0,t);return new this(n)}};function ld(e,t){if(!(e instanceof Float32Array||e instanceof Float64Array))throw 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 ud={};Ur(ud,{ASTFeatureExtractor:()=>Nd,ChatterboxFeatureExtractor:()=>Fd,ClapFeatureExtractor:()=>Id,CohereAsrFeatureExtractor:()=>zd,DacFeatureExtractor:()=>Bd,EncodecFeatureExtractor:()=>Pd,FeatureExtractor:()=>cd,Gemma3nAudioFeatureExtractor:()=>Vd,Gemma4AudioFeatureExtractor:()=>Hd,GraniteSpeechFeatureExtractor:()=>Ud,MoonshineFeatureExtractor:()=>Wd,ParakeetFeatureExtractor:()=>Rd,PyAnnoteFeatureExtractor:()=>Gd,SeamlessM4TFeatureExtractor:()=>Kd,SnacFeatureExtractor:()=>qd,SpeechT5FeatureExtractor:()=>Jd,VoxtralRealtimeFeatureExtractor:()=>Zd,Wav2Vec2FeatureExtractor:()=>Yd,WeSpeakerFeatureExtractor:()=>Xd,WhisperFeatureExtractor:()=>Qd});var dd={fromWeb:()=>{}};async function fd(e,t){if(di.IS_BROWSER_ENV){if(di.IS_WEBWORKER_ENV)throw Error(`Unable to save a file from a Web Worker.`);let n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=e,r.click(),r.remove(),URL.revokeObjectURL(n)}else if(di.IS_FS_AVAILABLE){let n=t.stream();await(dd.fromWeb(n),Wr.createWriteStream(e),void 0)}else throw Error(`Unable to save because filesystem is disabled in this environment.`)}async function pd(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.");let n=await(await gc(e)).arrayBuffer(),r=new AudioContext({sampleRate:t});t===void 0&&F.warn(`No sampling rate provided, using default of ${r.sampleRate}Hz.`);let i=await r.decodeAudioData(n),a;if(i.numberOfChannels===2){let e=Math.sqrt(2),t=i.getChannelData(0),n=i.getChannelData(1);a=new Float32Array(t.length);for(let r=0;r2595*Math.log10(1+e/700),kaldi:e=>1127*Math.log(1+e/700),slaney:(e,t=1e3,n=15,r=27/Math.log(6.4))=>e>=t?n+Math.log(e/t)*r:3*e/200};function vd(e,t=`htk`){let n=_d[t];if(!n)throw Error(`mel_scale should be one of "htk", "slaney" or "kaldi".`);return typeof e==`number`?n(e):e.map(e=>n(e))}var yd={htk:e=>700*(10**(e/2595)-1),kaldi:e=>700*(Math.exp(e/1127)-1),slaney:(e,t=1e3,n=15,r=Math.log(6.4)/27)=>e>=n?t*Math.exp(r*(e-n)):200*e/3};function bd(e,t=`htk`){let n=yd[t];if(!n)throw Error(`mel_scale should be one of "htk", "slaney" or "kaldi".`);return typeof e==`number`?n(e):e.map(e=>n(e))}function xd(e,t){let n=Float64Array.from({length:t.length-1},(e,n)=>t[n+1]-t[n]),r=Array.from({length:e.length},()=>Array(t.length));for(let n=0;nArray(e.length));for(let t=0;te+r*n)}function Cd(e,t,n,r,i,a=null,o=`htk`,s=!1){if(a!==null&&a!==`slaney`)throw Error(`norm must be one of null or "slaney"`);if(e<2)throw Error(`Require num_frequency_bins: ${e} >= 2`);if(n>r)throw Error(`Require min_frequency: ${n} <= max_frequency: ${r}`);let c=Sd(vd(n,o),vd(r,o),t+2),l=bd(c,o),u;if(s){let t=i/((e-1)*2);u=vd(Float64Array.from({length:e},(e,n)=>n*t),o),l=c}else u=Sd(0,Math.floor(i/2),e);let d=xd(u,l);if(a!==null&&a===`slaney`)for(let n=0;ni)throw Error(`frame_length (${n}) may not be larger than fft_length (${i})`);if(T!==n)throw Error(`Length of the window (${T}) must equal frame_length (${n})`);if(r<=0)throw Error(`hop_length must be greater than zero`);if(a===null&&d!==null)throw 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(!u)throw Error("`preemphasis_htk_flavor=false` is not currently supported.");if(o){let t=Math.floor(n/2);switch(s){case`reflect`:e=wd(e,t,t);break;case`constant`:{let n=new e.constructor(e.length+2*t);n.set(e,t),e=n;break}case`semicausal`:{let n=new e.constructor(e.length+t);n.set(e,t),e=n;break}default:throw Error(`pad_mode="${s}" not implemented yet.`)}}let E=Math.floor(1+Math.floor((e.length-n)/r));y!==null&&EE?x&&(O=b):O=D=b);let k=new Fc(i),A=new Float64Array(i),te=new Float64Array(k.outputBufferSize),j=new Float32Array(ee*O);for(let i=0;i=1;--e)A[e]-=l*A[e-1];A[0]*=1-l}for(let e=0;ee**.85);break;default:throw Error(`Unknown window type ${t}.`)}if(n&&(o=o.subarray(0,e)),r===null||e===r)return o;if(e>r)throw Error(`Length of the window (${e}) may not be larger than frame_length (${r})`);let s=new Float64Array(r),c=i?Math.floor((r-e)/2):0;return s.set(o,c),s}function Ad(e,t){let n=e.reduce((e,t)=>e+t.length,0),r=new ArrayBuffer(44),i=new DataView(r);return jd(i,0,`RIFF`),i.setUint32(4,36+n*4,!0),jd(i,8,`WAVE`),jd(i,12,`fmt `),i.setUint32(16,16,!0),i.setUint16(20,3,!0),i.setUint16(22,1,!0),i.setUint32(24,t,!0),i.setUint32(28,t*4,!0),i.setUint16(32,4,!0),i.setUint16(34,32,!0),jd(i,36,`data`),i.setUint32(40,n*4,!0),new Blob([r,...e.map(e=>e.buffer)],{type:`audio/wav`})}function jd(e,t,n){for(let r=0;re+t.length,0),t=new Float32Array(e),n=0;for(let e of this.audio)t.set(e,n),n+=e.length;return t}else return this.audio}toBlob(){let e=this.audio;return e instanceof Float32Array&&(e=[e]),Ad(e,this.sampling_rate)}async save(e){return fd(e,this.toBlob())}},Nd=class extends cd{constructor(e){super(e);let t=this.config.sampling_rate;this.mel_filters=Cd(257,this.config.num_mel_bins,20,Math.floor(t/2),t,null,`kaldi`,!0),this.window=kd(400,`hann`,{periodic:!1}),this.mean=this.config.mean,this.std=this.config.std}async _extract_fbank_features(e,t){return Od(e,this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:`log`,mel_floor:1.192092955078125e-7,remove_dc_offset:!0,max_num_frames:t,transpose:!0})}async _call(e){ld(e,`ASTFeatureExtractor`);let t=await this._extract_fbank_features(e,this.config.max_length);if(this.config.do_normalize){let e=this.std*2,n=t.data;for(let t=0;t0)if(n===`rand_trunc`){let n=Math.floor(Gs.random()*(a+1));e=e.subarray(n,n+t),i=await this._extract_fbank_features(e,this.mel_filters_slaney,this.config.nb_max_samples)}else throw Error(`Truncation strategy "${n}" not implemented`);else{if(a<0){let n=new Float64Array(t);if(n.set(e),r===`repeat`)for(let r=e.length;r=1;--n)e[n]-=t*e[n-1];return await Od(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){ld(e,`ParakeetFeatureExtractor`);let t=await this._extract_fbank_features(e),n=Math.floor((e.length+Math.floor(this.config.n_fft/2)*2-this.config.n_fft)/this.config.hop_length),r=t.data;r.fill(0,n*t.dims[1]);let[i,a]=t.dims,o=new Float64Array(a),s=new Float64Array(a);for(let e=0;e1?n-1:1;for(let e=0;e=l){s.push(e.slice(c,l));break}let t=Math.max(c,c+a-o),n=Math.min(c+a,l),i;i=n<=t?c+a:this._find_split_point_energy(e,t,n,r),i=Math.max(c+1,Math.min(i,l)),s.push(e.slice(c,i)),c=i}return s}_find_split_point_energy(e,t,n,r){let i=n-t;if(i<=r)return Math.floor((t+n)/2);let a=1/0,o=t,s=i-r;for(let n=0;n<=s;n+=r){let i=0;for(let a=0;at&&(e=e.slice(0,t)),r&&e.length%i!==0){let t=i-e.length%i,n=new Float64Array(e.length+t);n.set(e),this.config.padding_value!==0&&n.fill(this.config.padding_value,e.length),e=n}let a=await this._extract_fbank_features(e,this.config.max_length),o=W([1,a.dims[0]],!0);return{input_features:a.unsqueeze_(0),input_features_mask:o}}},Hd=class extends Vd{async _extract_fbank_features(e,t){let{frame_length:n,hop_length:r,fft_length:i}=this.config,a=Math.floor(n/2),o=Math.floor((e.length+a-(n+1))/r)+1;return Od(e,this.window,n,r,{fft_length:i,center:!0,pad_mode:`semicausal`,onesided:!0,preemphasis:this.config.preemphasis,preemphasis_htk_flavor:this.config.preemphasis_htk_flavor,mel_filters:this.mel_filters,log_mel:`log`,mel_floor:this.config.mel_floor,mel_floor_mode:`add`,remove_dc_offset:!1,transpose:!0,max_num_frames:o})}async _call(e,t={}){ld(e,`Gemma4AudioFeatureExtractor`);let n=e.length,r=await super._call(e,t),{input_features:i}=r,[,a,o]=i.dims,{frame_length:s,hop_length:c}=this.config,l=Math.floor(s/2),u=s+1,d=new Uint8Array(n+l+(t.pad_to_multiple_of??128));d.fill(1,l,l+n);let f=new Uint8Array(a);for(let e=0;e({id:e,start:t*n,end:r*n,confidence:i/(r-t)})))}return r}},Kd=class extends cd{constructor(e){super(e);let t=this.config.sampling_rate;this.mel_filters=Cd(257,this.config.num_mel_bins,20,Math.floor(t/2),t,null,`kaldi`,!0),this.window=kd(400,`povey`,{periodic:!1})}async _extract_fbank_features(e,t){return e=e.map(e=>e*32768),Od(e,this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:`log`,mel_floor:1.192092955078125e-7,remove_dc_offset:!0,max_num_frames:t,transpose:!0})}async _call(e,{padding:t=!0,pad_to_multiple_of:n=2,do_normalize_per_mel_bins:r=!0,return_attention_mask:i=!0}={}){ld(e,`SeamlessM4TFeatureExtractor`);let a=await this._extract_fbank_features(e,this.config.max_length);if(r){let[e,t]=a.dims,n=a.data;for(let r=0;r0){let n=new Float32Array(t*(e+s));n.set(r),n.fill(this.config.padding_value,r.length);let c=e+s;a=new U(a.type,n,[c,t]),i&&(o=new U(`int64`,new BigInt64Array(c),[1,c]),o.data.fill(1n,0,e))}}let[s,c]=a.dims,l=this.config.stride;if(s%l!==0)throw Error(`The number of frames (${s}) must be a multiple of the stride (${l}).`);let u=a.view(1,Math.floor(s/l),c*l),d={input_features:u};if(i){let e=u.dims[1],t=new BigInt64Array(e);if(o){let e=o.data;for(let n=1,r=0;ne+t,0)/e.length,n=e.reduce((e,n)=>e+(n-t)**2,0)/e.length;return e.map(e=>(e-t)/Math.sqrt(n+1e-7))}async _call(e){ld(e,`Wav2Vec2FeatureExtractor`),e instanceof Float64Array&&(e=new Float32Array(e));let t=e;this.config.do_normalize&&(t=this._zero_mean_unit_var_norm(t));let n=[1,t.length];return{input_values:new U(`float32`,t,n),attention_mask:new U(`int64`,new BigInt64Array(t.length).fill(1n),n)}}},Xd=class extends cd{constructor(e){super(e);let t=this.config.sampling_rate;this.mel_filters=Cd(257,this.config.num_mel_bins,20,Math.floor(t/2),t,null,`kaldi`,!0),this.window=kd(400,`hamming`,{periodic:!1}),this.min_num_frames=this.config.min_num_frames}async _extract_fbank_features(e){return e=e.map(e=>e*32768),Od(e,this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:`log`,mel_floor:1.192092955078125e-7,remove_dc_offset:!0,transpose:!0,min_num_frames:this.min_num_frames})}async _call(e){ld(e,`WeSpeakerFeatureExtractor`);let t=(await this._extract_fbank_features(e)).unsqueeze_(0);if(this.config.fbank_centering_span===null){let e=t.mean(1).data,n=t.data,[r,i,a]=t.dims;for(let t=0;tr?(e.length>this.config.n_samples&&F.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`."),n=e.slice(0,r)):(n=new Float32Array(r),n.set(e)),{input_features:(await this._extract_fbank_features(n)).unsqueeze_(0)}}},$d=class{static async from_pretrained(e,t={}){let n=await Tc(e,rd,!0,t),r=n.feature_extractor_type,i=ud[r];if(!i)throw Error(`Unknown feature_extractor_type: '${r}'. Please report this at ${nd}.`);return new i(n)}},ef=class extends sd{static tokenizer_class=td;static feature_extractor_class=$d;async _call(e,t=null){let n=this.tokenizer(e),r=t?await this.feature_extractor(t):{};return{...n,...r}}},tf=new Set([`ja`,`zh`]),nf=class extends sd{static tokenizer_class=td;static feature_extractor_class=$d;static uses_processor_config=!0;get_decoder_prompt_ids(e=`en`){let t=[`▁`,`<|startofcontext|>`,`<|startoftranscript|>`,`<|emo:undefined|>`,`<|${e}|>`,`<|${e}|>`,`<|pnc|>`,`<|noitn|>`,`<|notimestamp|>`,`<|nodiarize|>`];return this.tokenizer.convert_tokens_to_ids(t)}static join_chunks(e,t=`en`){let n=e.filter(e=>e&&e.trim());if(n.length===0)return``;let r=tf.has(t)?``:` `;return[n[0].trimEnd(),...n.slice(1).map(e=>e.trim())].join(r)}async _call(e){return await this.feature_extractor(e)}},rf={},af,of,sf;if(di.IS_WEB_ENV)af=(e,t)=>{if(!self.OffscreenCanvas)throw Error(`OffscreenCanvas not supported by this environment.`);return new self.OffscreenCanvas(e,t)},sf=self.createImageBitmap,of=self.ImageData;else if(rf)sf=async e=>{let t=(await e.metadata()).channels,{data:n,info:r}=await e.rotate().raw().toBuffer({resolveWithObject:!0}),i=new uf(new Uint8ClampedArray(n),r.width,r.height,r.channels);return t!==void 0&&t!==r.channels&&i.convert(t),i};else throw Error(`Unable to load image processing library.`);var cf={0:`nearest`,1:`lanczos`,2:`bilinear`,3:`bicubic`,4:`box`,5:`hamming`},lf=new Map([[`png`,`image/png`],[`jpg`,`image/jpeg`],[`jpeg`,`image/jpeg`],[`gif`,`image/gif`]]),uf=class e{constructor(e,t,n,r){this.data=e,this.width=t,this.height=n,this.channels=r}get size(){return[this.width,this.height]}static async read(t){if(t instanceof e)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 Error(`Unsupported input type: ${typeof t}`)}static fromCanvas(t){if(!di.IS_WEB_ENV)throw Error(`fromCanvas() is only supported in browser environments.`);let n=t.getContext(`2d`).getImageData(0,0,t.width,t.height).data;return new e(n,t.width,t.height,4)}static async fromURL(e){let t=await gc(e);if(t.status!==200)throw Error(`Unable to read image from "${e}" (${t.status} ${t.statusText})`);let n=await t.blob();return this.fromBlob(n)}static async fromBlob(e){if(di.IS_WEB_ENV){let t=await sf(e),n=af(t.width,t.height).getContext(`2d`);return n.drawImage(t,0,0),new this(n.getImageData(0,0,t.width,t.height).data,t.width,t.height,4)}else{let t=rf(await e.arrayBuffer());return await sf(t)}}static fromTensor(t,n=`CHW`){if(t.dims.length!==3)throw Error(`Tensor should have 3 dimensions, but has ${t.dims.length} dimensions.`);if(n===`CHW`)t=t.transpose(1,2,0);else if(n!==`HWC`)throw Error(`Unsupported channel format: ${n}`);if(!(t.data instanceof Uint8ClampedArray||t.data instanceof Uint8Array))throw Error(`Unsupported tensor type: ${t.type}`);switch(t.dims[2]){case 1:case 2:case 3:case 4:return new e(t.data,t.dims[1],t.dims[0],t.dims[2]);default:throw Error(`Unsupported number of channels: ${t.dims[2]}`)}}grayscale(){if(this.channels===1)return this;let e=new Uint8ClampedArray(this.width*this.height*1);switch(this.channels){case 3:case 4:for(let t=0,n=0;t=0?c=r:u=-r,i>=0?l=i:d=-i,s.drawImage(o,c,l,t,n,u,d,t,n),new e(s.getImageData(0,0,t,n).data,t,n,4).convert(a)}else{let e=this.toSharp();if(r>=0&&i>=0)e=e.extract({left:Math.floor(r),top:Math.floor(i),width:t,height:n});else if(r<=0&&i<=0){let a=Math.floor(-i),o=Math.floor(-r);e=e.extend({top:a,left:o,right:t-this.width-o,bottom:n-this.height-a})}else{let a=[0,0],o=0;i<0?(a[0]=Math.floor(-i),a[1]=n-this.height-a[0]):o=Math.floor(i);let s=[0,0],c=0;r<0?(s[0]=Math.floor(-r),s[1]=t-this.width-s[0]):c=Math.floor(r),e=e.extend({top:a[0],bottom:a[1],left:s[0],right:s[1]}).extract({left:c,top:o,width:t,height:n})}return await sf(e)}}async toBlob(e=`image/png`,t=1){if(!di.IS_WEB_ENV)throw Error(`toBlob() is only supported in browser environments.`);return await this.toCanvas().convertToBlob({type:e,quality:t})}toTensor(e=`CHW`){let t=new U(`uint8`,new Uint8Array(this.data),[this.height,this.width,this.channels]);if(e!==`HWC`)if(e===`CHW`)t=t.permute(2,0,1);else throw Error(`Unsupported channel format: ${e}`);return t}toCanvas(){if(!di.IS_WEB_ENV)throw Error(`toCanvas() is only supported in browser environments.`);let e=this.clone().rgba(),t=af(e.width,e.height),n=new of(e.data,e.width,e.height);return t.getContext(`2d`).putImageData(n,0,0),t}split(){let{data:t,width:n,height:r,channels:i}=this,a=t.constructor,o=t.length/i,s=Array.from({length:i},()=>new a(o));for(let e=0;enew e(t,n,r,1))}_update(e,t,n,r=null){return this.data=e,this.width=t,this.height=n,r!==null&&(this.channels=r),this}clone(){return new e(this.data.slice(),this.width,this.height,this.channels)}convert(e){if(this.channels===e)return this;switch(e){case 1:this.grayscale();break;case 3:this.rgb();break;case 4:this.rgba();break;default:throw Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this}async save(e){if(di.IS_WEB_ENV){if(di.IS_WEBWORKER_ENV)throw Error(`Unable to save an image from a Web Worker.`);let t=e.split(`.`).pop().toLowerCase(),n=lf.get(t)??`image/png`;return fd(e,await this.toBlob(n))}else if(di.IS_FS_AVAILABLE)await this.toSharp().toFile(e);else throw Error(`Unable to save the image because filesystem is disabled in this environment.`)}toSharp(){if(di.IS_WEB_ENV)throw Error(`toSharp() is only supported in server-side environments.`);return rf(this.data,{raw:{width:this.width,height:this.height,channels:this.channels}})}};uf.read.bind(uf);function df(e,t,n=0,r=null){let i=e/t,a=Rc(i)*t;return r!==null&&a>r&&(a=Math.floor(i)*t),at&&i.push(e)}else{let e=jc(n.data)[1];if(e===c-1||(a=Oc(n.data),a[e]e*o[(t+1)%2])),u.boxes.push(n),u.classes.push(t),u.scores.push(a[t])}}l.push(u)}return l}function hf(e,t=null){let n=e.logits,r=n.dims[0];if(t!==null&&t.length!==r)throw Error(`Make sure that you pass in as many target sizes as the batch dimension of the logits`);let i=[];for(let e=0;el[n]&&(l[n]=t[n],u[n]=e)}let d=Array(a.dims[0]);for(let e=0;ee!==void 0);i.push({segmentation:c,labels:f})}return i}function gf(e,t,n,r){let i=[],a=[],o=[];for(let s=0;sn&&(i.push(l),a.push(d),o.push(u))}return[i,a,o]}function _f(e,t,n,r=.5,i=.8){let a=[],o=0,s=0,c=t[n].data;for(let t=0;t=r&&++s;let l=o>0&&s>0;return l&&=o/s>i,[l,a]}function vf(e,t,n,r,i,a=null,o=null){let[s,c]=o??e[0].dims,l=new U(`int32`,new Int32Array(s*c),[s,c]),u=[];if(o!==null)for(let t=0;tf[e]&&(d[e]=n,f[e]=i[e])}let p=0,m=l.data;for(let a=0;a200)throw Error(`absolute aspect ratio must be smaller than 200, got ${Math.max(e,t)/Math.min(e,t)}`);let o=Math.round(e/n)*n,s=Math.round(t/n)*n;if(a*o*s>i){let r=Math.sqrt(a*e*t/i);o=Math.max(n,Math.floor(e/r/n)*n),s=Math.max(n,Math.floor(t/r/n)*n)}else if(a*o*si?c=Math.floor(i*s/r):i>r&&(s=Math.floor(r*c/i)),await e.resize(c,s,{resample:n}))}async crop_margin(e,t=200){let n=e.clone().grayscale(),r=Ac(n.data)[0],i=jc(n.data)[0]-r;if(i===0)return e;let a=t/255,o=n.width,s=n.height,c=0,l=0,u=n.data;for(let e=0;ethis.preprocess(e)));return{pixel_values:Fl(n.map(e=>e.pixel_values),0),original_sizes:n.map(e=>e.original_size),reshaped_input_sizes:n.map(e=>e.reshaped_input_size)}}static async from_pretrained(e,t={}){let n=await Tc(e,id,!0,t);return new this(n)}},Sf={};Ur(Sf,{BeitFeatureExtractor:()=>Cf,BitImageProcessor:()=>wf,CHMv2ImageProcessor:()=>Ef,CLIPFeatureExtractor:()=>Of,CLIPImageProcessor:()=>Df,ChineseCLIPFeatureExtractor:()=>Tf,ConvNextFeatureExtractor:()=>Af,ConvNextImageProcessor:()=>kf,DINOv3ViTImageProcessor:()=>Ff,DPTFeatureExtractor:()=>zf,DPTImageProcessor:()=>Rf,DeiTFeatureExtractor:()=>Mf,DeiTImageProcessor:()=>jf,DetrFeatureExtractor:()=>Pf,DetrImageProcessor:()=>Nf,DonutFeatureExtractor:()=>Lf,DonutImageProcessor:()=>If,EfficientNetImageProcessor:()=>Bf,GLPNFeatureExtractor:()=>qf,Gemma3ImageProcessor:()=>Vf,Gemma4ImageProcessor:()=>Wf,Glm46VImageProcessor:()=>Kf,GroundingDinoImageProcessor:()=>Jf,Idefics3ImageProcessor:()=>Yf,ImageFeatureExtractor:()=>q,ImageProcessor:()=>q,JinaCLIPImageProcessor:()=>Zf,Lfm2VlImageProcessor:()=>rp,LlavaOnevisionImageProcessor:()=>ip,Mask2FormerImageProcessor:()=>sp,MaskFormerFeatureExtractor:()=>op,MaskFormerImageProcessor:()=>ap,MobileNetV1FeatureExtractor:()=>lp,MobileNetV1ImageProcessor:()=>cp,MobileNetV2FeatureExtractor:()=>dp,MobileNetV2ImageProcessor:()=>up,MobileNetV3FeatureExtractor:()=>pp,MobileNetV3ImageProcessor:()=>fp,MobileNetV4FeatureExtractor:()=>hp,MobileNetV4ImageProcessor:()=>mp,MobileViTFeatureExtractor:()=>_p,MobileViTImageProcessor:()=>gp,NougatImageProcessor:()=>vp,OwlViTFeatureExtractor:()=>bp,OwlViTImageProcessor:()=>yp,Owlv2ImageProcessor:()=>xp,Phi3VImageProcessor:()=>Dp,PixtralImageProcessor:()=>Op,PvtImageProcessor:()=>kp,Qwen2VLImageProcessor:()=>Gf,RTDetrImageProcessor:()=>Ap,Sam2ImageProcessor:()=>jp,Sam3ImageProcessor:()=>jp,SamImageProcessor:()=>jp,SapiensFeatureExtractor:()=>Np,SapiensImageProcessor:()=>Mp,SegformerFeatureExtractor:()=>Fp,SegformerImageProcessor:()=>Pp,SiglipImageProcessor:()=>Ip,SmolVLMImageProcessor:()=>Yf,Swin2SRImageProcessor:()=>Lp,VLMImageProcessor:()=>Xf,ViTFeatureExtractor:()=>zp,ViTImageProcessor:()=>Rp,VitMatteImageProcessor:()=>Bp,VitPoseImageProcessor:()=>Vp,YolosFeatureExtractor:()=>Up,YolosImageProcessor:()=>Hp});var Cf=class extends q{},wf=class extends q{},Tf=class extends q{},Ef=class extends q{},Df=class extends q{},Of=class extends Df{},kf=class extends q{constructor(e){super(e),this.crop_pct=this.config.crop_pct??224/256}async resize(e){let t=this.size?.shortest_edge;if(t===void 0)throw Error(`Size dictionary must contain 'shortest_edge' key.`);if(t<384){let n=Math.floor(t/this.crop_pct),[r,i]=this.get_resize_output_image_size(e,{shortest_edge:n});e=await e.resize(r,i,{resample:this.resample}),e=await e.center_crop(t,t)}else e=await e.resize(t,t,{resample:this.resample});return e}},Af=class extends kf{},jf=class extends q{},Mf=class extends jf{},Nf=class extends q{async _call(e){let t=await super._call(e),n=W([t.pixel_values.dims[0],64,64],1n);return{...t,pixel_mask:n}}post_process_object_detection(...e){return mf(...e)}post_process_panoptic_segmentation(...e){return bf(...e)}post_process_instance_segmentation(...e){return xf(...e)}},Pf=class extends Nf{},Ff=class extends q{},If=class extends q{pad_image(e,t,n,r={}){let[i,a,o]=t,s=this.image_mean;Array.isArray(this.image_mean)||(s=Array(o).fill(s));let c=this.image_std;Array.isArray(c)||(c=Array(o).fill(s));let l=s.map((e,t)=>-e/c[t]);return super.pad_image(e,t,n,{center:!0,constant_values:l,...r})}},Lf=class extends If{},Rf=class extends q{},zf=class extends Rf{},Bf=class extends q{constructor(e){super(e),this.include_top=this.config.include_top??!0,this.include_top&&(this.image_std=this.image_std.map(e=>e*e))}},Vf=class extends q{};function Hf(e,t,n,r,i){let a=r*n**2,o=Math.sqrt(a/(e*t)),s=i*n,c=Math.floor(o*e/s)*s,l=Math.floor(o*t/s)*s;if(c===0&&l===0)throw Error(`Attempting to resize to a 0 x 0 image. Resized height should be divisible by \`pooling_kernel_size * patch_size\`=${s}.`);let u=Math.floor(r/i**2)*s;return c===0?(c=s,l=Math.min(Math.floor(t/e)*s,u)):l===0&&(l=s,c=Math.min(Math.floor(e/t)*s,u)),[c,l]}function Uf(e,t,n,r,i,a,o){let s=Math.floor(t/i),c=Math.floor(n/i),l=s*c,u=i*i*r,d=new Float32Array(a*u),f=0;for(let t=0;ta),0));let l=a.dims[0]/o,u=a.dims[1],d=Math.floor(a.dims[2]/c),f=Math.floor(a.dims[3]/c);return{pixel_values:a.view(l,o,u,Math.floor(d/s),s,c,Math.floor(f/s),s,c).permute(0,3,6,4,7,2,1,5,8).view(l*d*f,u*o*c*c),image_grid_thw:new U(`int64`,[l,d,f],[1,3]),original_sizes:r,reshaped_input_sizes:i}}},Kf=class extends Gf{get_resize_output_image_size(e,t){let n=this.patch_size*this.merge_size,r=this.config.temporal_patch_size??2;return yf(e.height,e.width,n,this.min_pixels,this.max_pixels,r)}},qf=class extends q{},Jf=class extends q{async _call(e){let t=await super._call(e),n=t.pixel_values.dims,r=G([n[0],n[2],n[3]]);return{...t,pixel_mask:r}}},Yf=class extends q{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[n,r]=e.dims.slice(-2),i=r/n;return r>=n?(r=Math.ceil(r/t)*t,n=Math.floor(r/i),n=Math.ceil(n/t)*t):(n=Math.ceil(n/t)*t,r=Math.floor(n*i),r=Math.ceil(r/t)*t),{height:n,width:r}}async _call(e,{do_image_splitting:t=null,return_row_col_info:n=!1}={}){let r;if(!Array.isArray(e))r=[[e]];else{if(e.length===0||!e[0])throw Error(`No images provided.`);r=Array.isArray(e[0])?e:[e]}let i=[],a=[],o=[],s=[],c=[];for(let e of r){let n=await Promise.all(e.map(e=>this.preprocess(e)));s.push(...n.map(e=>e.original_size)),c.push(...n.map(e=>e.reshaped_input_size)),n.forEach(e=>e.pixel_values.unsqueeze_(0));let{longest_edge:r}=this.max_image_size,l;if(t??this.do_image_splitting){let e=Array(n.length),t=Array(n.length);l=await Promise.all(n.map(async(n,i)=>{let a=this.get_resize_for_vision_encoder(n.pixel_values,r),o=await Tl(n.pixel_values,{size:[a.height,a.width]}),{frames:s,num_splits_h:c,num_splits_w:l}=await this.split_image(o,this.max_image_size);return e[i]=c,t[i]=l,Pl(s,0)})),a.push(e),o.push(t)}else{let e=[r,r];l=await Promise.all(n.map(t=>Tl(t.pixel_values,{size:e}))),a.push(Array(n.length).fill(0)),o.push(Array(n.length).fill(0))}i.push(Pl(l,0))}let l=i.length,[u,d,f,p]=i[0].dims,m,h;if(l===1)m=i[0].unsqueeze_(0),h=W([l,u,f,p],!0);else{let e=Math.max(...i.map(e=>e.dims.at(0)));h=W([l,e,f,p],!0);let t=h.data,n=e*f*p;for(let r=0;rn||o>r){s=Math.ceil(a/n),c=Math.ceil(o/r);let t=Math.ceil(a/s),l=Math.ceil(o/c);for(let n=0;ne*this.rescale_factor)}pad_image(e,t,n,r){return super.pad_image(e,t,n,{constant_values:this.constant_values,center:!0,...r})}},Zf=class extends q{constructor(e){let{resize_mode:t,fill_color:n,interpolation:r,size:i,...a}=e,o=t===`squash`?{width:i,height:i}:t===`shortest`?{shortest_edge:i}:{longest_edge:i},s=r===`bicubic`?3:2;super({...a,size:o,resample:s,do_center_crop:!0,crop_size:i,do_normalize:!0})}};function Qf(e,t){return Math.round(e/t)*t}function $f(e,t,n,r,i){let a=1/0,o=[1,1],s=n*r;for(let n of t){let t=Math.abs(e-n[0]/n[1]);t.5*i*i*n[0]*n[1]&&(o=n)}return o}function ep(e,t){let n=[],r=new Set;for(let i=e;i<=t;++i)for(let a=1;a<=i;++a)for(let o=1;o<=i;++o){let i=a*o;if(i>=e&&i<=t){let e=a<<16|o;r.has(e)||(r.add(e),n.push([a,o]))}}return n.sort((e,t)=>e[0]*e[1]-t[0]*t[1])}function tp(e,t){let[n,r,i,a]=e.dims,o=Math.floor(i/t),s=Math.floor(a/t),c=t*t*r,l=e.data,u=new Float32Array(n*o*s*c),d=i*a;for(let e=0;ethis.max_image_tokens*(this.encoder_patch_size*this.downsample_factor)**2*this.max_pixels_tolerance}_get_grid_layout(e,t){let n=ep(this.min_tiles,this.max_tiles),[r,i]=$f(t/e,n,t,e,this.tile_size);return{grid_width:r,grid_height:i,target_width:this.tile_size*r,target_height:this.tile_size*i}}async _call(e,{return_row_col_info:t=null}={}){let n;n=Array.isArray(e)?Array.isArray(e[0])?e:[e]:[[e]];let r=[],i=[],a=[],o=[],s=[],c=[];for(let e of n){let t=await Promise.all(e.map(e=>this.preprocess(e,{do_pad:!1})));for(let{pixel_values:e}of t){let[,t,n]=e.dims,l=e.unsqueeze_(0),u=this.encoder_patch_size*this.downsample_factor,d=u**2,[f,p]=yf(Math.max(u,t),Math.max(u,n),u,this.min_image_tokens*d,this.max_image_tokens*d).map(e=>Math.max(u,e)),m,h=1,g=1,_=this._is_image_too_large(t,n),v=this.do_image_splitting&&!(this.min_tiles===1&&this.max_tiles===1);if(_&&v){let{grid_width:e,grid_height:r,target_width:i,target_height:a}=this._get_grid_layout(t,n);h=r,g=e;let o=await Tl(l,{size:[a,i]});m=[];for(let t=0;t(e-this.image_mean[t])/this.image_std[t]);return super.pad_image(e,t,{width:s,height:o},{center:!0,constant_values:c,...r})}async _call(e,{num_crops:t=null}={}){if(this._num_crops=t??=this.config.num_crops,t<4||Ep(t)%1!=0)throw Error(`num_crops must be a square number >= 4`);Array.isArray(e)||(e=[e]);let n=e.length,r=await Promise.all(e.map(e=>this.preprocess(e))),i=r.map(e=>e.original_size),a=r.map(e=>e.reshaped_input_size),o=[];for(let{pixel_values:e}of r){e.unsqueeze_(0);let[n,r]=e.dims.slice(-2),i=await Tl(e,{size:[Sp,Sp],mode:`bicubic`});if(t>0){let a=[],s=Ep(t),c=Tp(r/s),l=Tp(n/s);for(let t=0;te.map(e=>Sp*wp(e/Sp)));return{pixel_values:s,original_sizes:i,reshaped_input_sizes:a,image_sizes:new U(`int64`,c.flat(),[n,2]),num_img_tokens:c.map(([e,t])=>this.calc_num_image_tokens_from_image_size(t,e))}}},Op=class extends q{get_resize_output_image_size(e,t){let{longest_edge:n}=t;if(n===void 0)throw Error(`size must contain 'longest_edge'`);let[r,i]=e.size,a=Math.max(r,i)/n,o=r,s=i;a>1&&(o=Math.floor(r/a),s=Math.floor(i/a));let{patch_size:c,spatial_merge_size:l}=this.config;if(!l)throw Error(`config must contain 'spatial_merge_size'`);let u=c*l,d=Math.floor((o-1)/u)+1,f=Math.floor((s-1)/u)+1;return[d*u,f*u]}},kp=class extends q{},Ap=class extends q{post_process_object_detection(...e){return mf(...e)}},jp=class extends q{reshape_input_points(e,t,n,r=!1){e=structuredClone(e);let i=Di(e);if(i.length===3)r||(i=[1,...i]),e=[e];else if(i.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 r=0;re!==t.dims[n]))throw Error(`The first ${n.length} dimensions of 'input_points' and 'input_labels' must be the same.`);return new U(`int64`,e.flat(1/0).map(BigInt),n)}async _call(e,{input_points:t=null,input_labels:n=null,input_boxes:r=null}={}){let i=await super._call(e);if(t&&(i.input_points=this.reshape_input_points(t,i.original_sizes,i.reshaped_input_sizes)),n){if(!i.input_points)throw Error("`input_points` must be provided if `input_labels` are provided.");i.input_labels=this.add_input_labels(n,i.input_points)}return r&&(i.input_boxes=this.reshape_input_points(r,i.original_sizes,i.reshaped_input_sizes,!0)),i}async post_process_masks(e,t,n,{mask_threshold:r=0,binarize:i=!0,pad_size:a=null}={}){let o=[];a=a??this.pad_size??this.size;let s=[a.height,a.width];for(let a=0;ar&&(t[n]=1);u=new U(`bool`,t,u.dims)}o.push(u)}return o}generate_crop_boxes(e,t,{crop_n_layers:n=0,overlap_ratio:r=512/1500,points_per_crop:i=32,crop_n_points_downscale_factor:a=1}={}){}},Mp=class extends q{post_process_semantic_segmentation(...e){return hf(...e)}},Np=class extends Mp{},Pp=class extends q{post_process_semantic_segmentation(...e){return hf(...e)}},Fp=class extends Pp{},Ip=class extends q{},Lp=class extends q{pad_image(e,t,n,r={}){let[i,a,o]=t;return super.pad_image(e,t,{width:a+(n-a%n)%n,height:i+(n-i%n)%n},{mode:`symmetric`,center:!1,constant_values:-1,...r})}},Rp=class extends q{},zp=class extends Rp{},Bp=class extends q{async _call(e,t){Array.isArray(e)||(e=[e]),Array.isArray(t)||(t=[t]);let n=await Promise.all(e.map(e=>this.preprocess(e))),r=await Promise.all(t.map(e=>this.preprocess(e,{do_normalize:!1,do_convert_rgb:!1,do_convert_grayscale:!0})));return{pixel_values:Fl(n.map((e,t)=>Pl([e.pixel_values,r[t].pixel_values],0)),0),original_sizes:n.map(e=>e.original_size),reshaped_input_sizes:n.map(e=>e.reshaped_input_size)}}},Vp=class extends q{post_process_pose_estimation(e,t,{threshold:n=null}={}){let r=e.tolist(),[i,a,o,s]=e.dims,c=[];for(let e=0;e/gm,bboxes:/([^<]+)?/gm},this.size_per_bin=1e3}construct_prompts(e){typeof e==`string`&&(e=[e]);let t=[];for(let n of e)if(this.task_prompts_without_inputs.has(n))t.push(this.task_prompts_without_inputs.get(n));else{for(let[e,r]of this.task_prompts_with_input)if(n.includes(e)){t.push(r.replaceAll(`{input}`,n).replaceAll(e,``));break}t.length!==e.length&&t.push(n)}return t}post_process_generation(e,t,n){let r=this.tasks_answer_post_processing_type.get(t)??`pure_text`;e=e.replaceAll(``,``).replaceAll(``,``);let i;switch(r){case`pure_text`:i=e;break;case`description_with_bboxes`:case`bboxes`:case`phrase_grounding`:case`ocr`:let a=r===`ocr`?`quad_boxes`:`bboxes`,o=e.matchAll(this.regexes[a]),s=[],c=[];for(let[e,t,...r]of o)s.push(t?t.trim():s.at(-1)??``),c.push(r.map((e,t)=>(Number(e)+.5)/this.size_per_bin*n[t%2]));i={labels:s,[a]:c};break;default:throw Error(`Task "${t}" (of type "${r}") not yet implemented.`)}return{[t]:i}}async _call(e,t=null,n={}){if(!e&&!t)throw Error(`Either text or images must be provided`);let r=await this.image_processor(e,n),i=t?this.tokenizer(this.construct_prompts(t),n):{};return{...r,...i}}},Kp=class extends sd{static tokenizer_class=td;static image_processor_class=Wp;static uses_processor_config=!0;static uses_chat_template_file=!0;constructor(e,t,n){super(e,t,n),this.image_seq_length=this.config.image_seq_length;let{boi_token:r,image_token:i,eoi_token:a}=this.tokenizer.config;this.boi_token=r,this.image_token=i,this.eoi_token=a,this.full_image_sequence=` + +${r}${i.repeat(this.image_seq_length)}${a} + +`}async _call(e,t=null,n={}){typeof e==`string`&&(e=[e]);let r;return t&&(r=await this.image_processor(t,n),e=e.map(e=>e.replaceAll(this.boi_token,this.full_image_sequence))),{...this.tokenizer(e,n),...r}}},qp=class extends sd{static image_processor_class=Wp;static feature_extractor_class=$d;static tokenizer_class=td;static uses_processor_config=!0;static uses_chat_template_file=!0;constructor(e,t,n){super(e,t,n),this.audio_seq_length=this.config.audio_seq_length,this.image_seq_length=this.config.image_seq_length;let{audio_token_id:r,boa_token:i,audio_token:a,eoa_token:o,image_token_id:s,boi_token:c,image_token:l,eoi_token:u}=this.tokenizer.config;this.audio_token_id=r,this.boa_token=i,this.audio_token=a,this.full_audio_sequence=` + +${i}${a.repeat(this.audio_seq_length)}${o} + +`,this.image_token_id=s,this.boi_token=c,this.image_token=l,this.full_image_sequence=` + +${c}${l.repeat(this.image_seq_length)}${u} + +`}async _call(e,t=null,n=null,r={}){typeof e==`string`&&(e=[e]);let i;n&&(i=await this.feature_extractor(n,r),e=e.map(e=>e.replaceAll(this.audio_token,this.full_audio_sequence)));let a;return t&&(a=await this.image_processor(t,r),e=e.map(e=>e.replaceAll(this.image_token,this.full_image_sequence))),{...this.tokenizer(e,r),...a,...i}}},Jp=class extends sd{static uses_processor_config=!0;static uses_chat_template_file=!0;constructor(e,t,n){super(e,t,n),this.audio_ms_per_token=this.config.audio_ms_per_token??40,this.audio_seq_length=this.config.audio_seq_length??750,this.image_seq_length=this.config.image_seq_length??280;let{audio_token:r,boa_token:i,eoa_token:a,image_token:o,boi_token:s,eoi_token:c}=this.tokenizer.config;this.audio_token=r,this.boa_token=i,this.eoa_token=a,this.image_token=o,this.boi_token=s,this.eoi_token=c}static async from_pretrained(e,t={}){let[n,r,i]=await Promise.all([Tc(e,ad,!0,t),td.from_pretrained(e,t),wc(e,od,!1,t)]),a={tokenizer:r};return n.image_processor&&(a.image_processor=new Wf(n.image_processor)),n.feature_extractor&&(a.feature_extractor=new Hd(n.feature_extractor)),new this(n,a,i)}_compute_audio_num_tokens(e,t){let n=Math.round(t*20/1e3),r=Math.round(t*10/1e3),i=Math.floor(n/2),a=Math.floor((e+i-n-1)/r)+1;if(a<=0)return 0;for(let e=0;e<2;++e)a=Math.floor((a-1)/2)+1;return Math.min(a,this.audio_seq_length)}async _call(e,t=null,n=null,r={}){typeof e==`string`&&(e=[e]);let i;if(t){i=await this.image_processor(t,r);let n=i.num_soft_tokens_per_image,a=0;e=e.map(e=>e.replaceAll(this.image_token,()=>` + +${this.boi_token}${this.image_token.repeat(n[a++])}${this.eoi_token} + +`))}let a;if(n){let t=Array.isArray(n)?n:[n];a=await this.feature_extractor(t[0],r);let i=this.feature_extractor.config.sampling_rate??16e3,o=0;e=e.map(e=>e.replaceAll(this.audio_token,()=>` + +${this.boa_token}${this.audio_token.repeat(this._compute_audio_num_tokens(t[o++].length,i))}${this.eoa_token} + +`))}return{...this.tokenizer(e,r),...i,...a}}},Yp=class extends sd{static image_processor_class=Wp;static tokenizer_class=td;static image_token=`<|image_pad|>`;async _call(e,t=null,...n){Array.isArray(e)||(e=[e]);let r,i;if(t&&(r=await this.image_processor(t),i=r.image_grid_thw),i){let t=this.image_processor.config.merge_size**2,n=0,r=this.constructor.image_token,a=i.tolist();e=e.map(e=>{for(;e.includes(r);){let i=Number(a[n++].reduce((e,t)=>e*t,1n));e=e.replace(r,`<|placeholder|>`.repeat(Math.floor(i/t)))}return e.replaceAll(`<|placeholder|>`,r)})}return{...this.tokenizer(e),...r}}},Xp=class extends Yp{static image_token=`<|image|>`},Zp=class extends sd{static tokenizer_class=td;static feature_extractor_class=$d;static uses_processor_config=!0;_get_num_audio_features(e){let{hop_length:t}=this.feature_extractor.config.melspec_kwargs,{projector_window_size:n,projector_downsample_rate:r}=this.feature_extractor.config,i=Math.floor(n/r),a=Math.floor(e/t)+1,o=Math.floor(a/2);return Math.ceil(o/n)*i}async _call(e,t=null,n={}){if(Array.isArray(e))throw Error(`Batched inputs are not supported yet.`);let r={};if(t){let{input_features:n}=await this.feature_extractor(t);r.input_features=n;let i=this._get_num_audio_features(t.length);r.input_features_mask=new U(`bool`,new Uint8Array(i).fill(1),[1,i]);let a=this.config.audio_token??`<|audio|>`;if(!e.includes(a))throw Error(`The input text does not contain the audio token ${a}.`);e=e.replaceAll(a,a.repeat(i))}return{...this.tokenizer(e,{add_special_tokens:!1,...n}),...r}}};function Qp(e,t){let n=e.dims.at(-1)-1,r=e.tolist();r.fill(!1,0,1),r.fill(!1,n);let i=t.tolist();return r.map((e,t)=>e?t:null).filter(e=>e!==null).map(e=>i[e])}var $p=class extends sd{static tokenizer_class=td;static image_processor_class=Wp;async _call(e,t,n={}){let r=e?await this.image_processor(e,n):{};return{...t?this.tokenizer(t,n):{},...r}}post_process_grounded_object_detection(e,t,{box_threshold:n=.25,text_threshold:r=.25,target_sizes:i=null}={}){let{logits:a,pred_boxes:o}=e,s=a.dims[0];if(i!==null&&i.length!==s)throw Error(`Make sure that you pass in as many target sizes as the batch dimension of the logits`);let c=a.dims.at(1),l=a.sigmoid(),u=l.max(-1).tolist(),d=o.tolist().map(e=>e.map(e=>pf(e))),f=[];for(let e=0;ee.map((e,t)=>e*a[(t+1)%2])));let o=u[e],s=[],p=[],m=[];for(let i=0;i`+i.repeat(e);o+=` +`}return o+=` +${r}${a}`+i.repeat(e)+`${r}`,o}function tm(e,t,n,r){return`${t}${r}`+n.repeat(e)+`${t}`}function nm(e,t,n,r,i,a){return e===0&&t===0?tm(n,r,i,a):em(n,e,t,r,i,a)}var rm=class extends sd{static image_processor_class=Wp;static tokenizer_class=td;static uses_processor_config=!0;fake_image_token=``;image_token=``;global_img_token=``;async _call(e,t=null,n={}){n.return_row_col_info??=!0;let r;t&&(r=await this.image_processor(t,n)),Array.isArray(e)||(e=[e]);let i=r.rows??[Array(e.length).fill(0)],a=r.cols??[Array(e.length).fill(0)],o=this.config.image_seq_len,s=[],c=[];for(let t=0;tnm(e,l[t],o,this.fake_image_token,this.image_token,this.global_img_token)),d=n.split(this.image_token);if(d.length===0)throw Error(`The image token should be present in the text.`);let f=d[0];for(let e=0;ee.images).flatMap(e=>e.images).map(e=>uf.read(e)));let r=this.tokenizer,i=r.apply_chat_template(e,{tokenize:!1,add_generation_prompt:!0,chat_template:n}),a=e=>r.encode(e,{add_special_tokens:!1}),o=i.split(this.image_tag),s=o.length-1;if(t.length!==s)throw Error(`Number of images provided (${t.length}) does not match number of "${this.image_tag}" image tags (${s})`);let[c,l,u]=r.convert_tokens_to_ids([this.image_tag,this.image_start_tag,this.image_end_tag]),d=a(o[0]),f=Array(d.length).fill(!1);for(let e=1;e0){let e=await this.image_processor(t);return e.pixel_values.unsqueeze_(0),{...m,...e}}return m}},am=class extends sd{static tokenizer_class=td;static image_processor_class=Wp;async _call(e=null,t=null,n={}){if(!e&&!t)throw Error(`Either text or images must be provided`);let r=e?this.tokenizer(e,n):{},i=t?await this.image_processor(t,n):{};return{...r,...i}}},om=class extends sd{static tokenizer_class=td;static image_processor_class=Wp;async _call(e,t=null,n={}){let{image_rows:r,image_cols:i,image_sizes:a,...o}=await this.image_processor(e,{...n,return_row_col_info:!0});if(t){let e=this.config.image_token??``,{tile_size:n=512,downsample_factor:o=2,encoder_patch_size:s=16,use_thumbnail:c=!0}=this.image_processor.config,l=e=>Math.ceil(Math.floor(e/s)/o),u=l(n)**2,d=this.config.image_start_token??`<|image_start|>`,f=this.config.image_end_token??`<|image_end|>`,p=this.config.image_thumbnail??`<|img_thumbnail|>`;Array.isArray(t)||(t=[t]);let m=0;t=t.map(t=>{let n=t.split(e);return n[0]+n.slice(1).map(t=>{let n=m++,[o,s]=a[n],h=r[n],g=i[n],_=l(o)*l(s),v=d;if(h>1||g>1){let t=e.repeat(u);for(let e=0;e`+t;c&&(v+=p+e.repeat(_))}else v+=e.repeat(_);return v+f+t}).join(``)})}return{...o,...t?this.tokenizer(t,n):{}}}},sm=class extends sd{static tokenizer_class=td;static image_processor_class=Wp;static uses_processor_config=!0;async _call(e,t=null,n={}){let r=await this.image_processor(e,n);if(t){let[e,n]=r.pixel_values.dims.slice(-2),{image_token:i,patch_size:a,num_additional_image_tokens:o}=this.config,s=Math.floor(e/a)*Math.floor(n/a)+o;t=structuredClone(t),Array.isArray(t)||(t=[t]);for(let e=0;e0?i.reduce((e,t)=>e*t,1):0;c.push(n),s.push(a)}return[i(c),s]}char_decode(e){return this.char_tokenizer.batch_decode(e).map(e=>e.replaceAll(` `,``))}bpe_decode(e){return this.bpe_tokenizer.batch_decode(e)}wp_decode(e){return this.wp_tokenizer.batch_decode(e).map(e=>e.replaceAll(` `,``))}batch_decode([e,t,n]){let[r,i]=this._decode_helper(e,`char`),[a,o]=this._decode_helper(t,`bpe`),[s,c]=this._decode_helper(n,`wp`),l=[],u=[];for(let e=0;e`;function pm(e,t,n,r,i){return`${r.repeat(n*i)}${t}${e} +`}var mm=class extends sd{static tokenizer_class=td;static image_processor_class=Wp;static uses_processor_config=!1;async _call(e,t=null,n={}){t||=(F.warn(`You are using PaliGemma without a text prefix. It will perform as a picture-captioning model.`),``),Array.isArray(e)||(e=[e]),Array.isArray(t)||(t=[t]);let r=this.tokenizer.bos_token,i=this.image_processor.config.image_seq_length,a;t.some(e=>e.includes(fm))?a=t.map(e=>{let t=e.replaceAll(fm,fm.repeat(i)),n=t.lastIndexOf(fm),a=n===-1?0:n+fm.length;return t.slice(0,a)+r+t.slice(a)+` +`}):(F.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."),a=t.map(t=>pm(t,r,i,fm,e.length)));let o=this.tokenizer(a,n);return{...await this.image_processor(e,n),...o}}},hm=`<|image|>`,gm=/<\|image_\d+\|>/g,_m=class extends sd{static image_processor_class=Wp;static tokenizer_class=td;async _call(e,t=null,{padding:n=!0,truncation:r=!0,num_crops:i=null}={}){Array.isArray(e)||(e=[e]);let a,o;if(t){o=await this.image_processor(t,{num_crops:i});let{num_img_tokens:s}=o,c=e.map((e,t)=>e.split(gm).join(hm.repeat(s[t])));a=this.tokenizer(c,{padding:n,truncation:r});let l=this.tokenizer._tokenizer.token_to_id(hm);a.input_ids.map_(e=>e==l?-e:e)}else a=this.tokenizer(e);return{...a,...o}}},vm=class extends sd{static tokenizer_class=td;static image_processor_class=Wp;static uses_processor_config=!0;async _call(e,t=null,n={}){let r=await this.image_processor(e,n);if(t){let[e,n]=r.pixel_values.dims.slice(-2),{image_token:i,image_break_token:a,image_end_token:o,patch_size:s,spatial_merge_size:c}=this.config,l=s*c,u=Math.floor(e/l),d=Math.floor(n/l);t=structuredClone(t),Array.isArray(t)||(t=[t]);for(let e=0;eAm(e,o)),c=s.map(e=>e.length),l=s.flat(),u=(await Promise.all(l.map(e=>this.feature_extractor(e,n)))).map(e=>e.input_features);r.audio_values=u.length>1?Pl(u,0):u[0];let d=i[0];for(let e=0;e0){if(l>Xs)throw Error(`The number of external data chunks (${l}) exceeds the maximum allowed value (${Xs}).`);let t=Jm(o,l);for(let n of t){let t=`${r.subfolder??``}/${n}`;c.push(new Promise(async(i,a)=>{let o=await Cc(e,t,!0,r,s);i(o instanceof Uint8Array?{path:n,data:o}:n)}))}}else a.externalData!==void 0&&(c=a.externalData.map(async t=>{if(typeof t.data==`string`){let n=await Cc(e,t.data,!0,r);return{...t,data:n}}return t}));return Promise.all(c)}async function Zm(e,t,n,r=!1,i=void 0){let a=n.config?.[`transformers.js_config`]??{},o=ml(n.device??a.device,t,{warn:e=>F.info(e)}),s=el(o),c=a.device_config??{};c.hasOwnProperty(o)&&(a={...a,...c[o]});let l=bl(n.dtype??a.dtype,t,o,{configDtype:a.dtype,warn:e=>F.info(e)});if(!yl.hasOwnProperty(l))throw Error(`Invalid dtype: ${l}. Should be one of: ${Object.keys(gl).join(`, `)}`);if(o===`webgpu`&&!di.IS_NODE_ENV&&l===gl.fp16&&!await hl())throw Error(`The device (${o}) does not support fp16.`);let u=a.kv_cache_dtype,d=u?typeof u==`string`?u:u[l]??`float32`:void 0;if(d&&![`float32`,`float16`].includes(d))throw Error(`Invalid kv_cache_dtype: ${d}. Should be one of: float32, float16`);let f=yl[l],p={...n.session_options};p.executionProviders??=s;let m=a.free_dimension_overrides;m?p.freeDimensionOverrides??=m:o.startsWith(`webnn`)&&!p.freeDimensionOverrides&&F.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"]["${o}"]. When 'free_dimension_overrides' is not set, you may experience significant performance degradation.`);let h=Ym(e,t,n,f),g=await Xm(e,t,f,n,n.use_external_data_format??a.use_external_data_format,p);if(g.length>0&&(!di.IS_NODE_ENV||g.some(e=>typeof e!=`string`))&&(p.externalData=g),r&&o===`webgpu`&&u!==!1){let e=Um(n.config,{prefix:`present`,session_name:i});if(Object.keys(e).length>0&&!ll()){let t={};for(let n in e)t[n]=`gpu-buffer`;p.preferredOutputLocation=t}}return{buffer_or_path:await h,session_options:p,session_config:{dtype:l,kv_cache_dtype:d,device:o}}}async function Qm(e,t,n,r=void 0){return Object.fromEntries(await Promise.all(Object.keys(t).map(async i=>{let a=r?.[i]??!1,{buffer_or_path:o,session_options:s,session_config:c}=await Zm(e,t[i],n,a,i);return[i,await il(o,s,c)]})))}function $m(e){for(let t in e)sl(e[t])?e[t]=new U(e[t]):typeof e[t]==`object`&&$m(e[t]);return e}async function eh(e,t){let n=th(e,t);try{return $m(await ol(e,Object.fromEntries(Object.entries(n).map(([e,t])=>{let n=t.ort_tensor;return di.IS_NODE_ENV&&typeof Float16Array<`u`&&n.cpuData instanceof Float16Array&&(n.cpuData=new Uint16Array(n.cpuData.buffer)),[e,n]}))))}catch(e){let t=Object.fromEntries(Object.entries(n).map(([e,t])=>{let n={type:t.type,dims:t.dims,location:t.location};return n.location!==`gpu-buffer`&&(n.data=t.data),[e,n]}));throw F.error(`An error occurred during model execution: "${e}".`),F.error(`Inputs given to model:`,t),e}}function th(e,t){let n=Object.create(null),r=[];for(let i of e.inputNames){let e=t[i];if(!(e instanceof U)){r.push(i);continue}n[i]=ll()?e.clone():e}if(r.length>0)throw Error(`An error occurred during model execution: "Missing the following inputs: ${r.join(`, `)}.`);let i=Object.keys(t).length,a=e.inputNames.length;if(i>a){let n=Object.keys(t).filter(t=>!e.inputNames.includes(t));F.warn(`WARNING: Too many inputs were provided (${i} > ${a}). The following inputs will be ignored: "${n.join(`, `)}".`)}return n}var nh=class{},J=class extends nh{constructor({logits:e,...t}){super(),this.logits=e;let n=Object.values(t);n.length>0&&(this.attentions=n)}},rh=class extends nh{constructor({logits:e}){super(),this.logits=e}},ih=class extends nh{constructor({logits:e}){super(),this.logits=e}},ah=class extends nh{constructor({start_logits:e,end_logits:t}){super(),this.start_logits=e,this.end_logits=t}},oh=class extends nh{constructor({logits:e}){super(),this.logits=e}},sh=class extends nh{constructor({alphas:e}){super(),this.alphas=e}},ch=class extends Si{_call(e,t){throw Error("`_call` should be implemented in a subclass")}},lh=class extends Si{_call(e,t){throw Error("`_call` should be implemented in a subclass")}},uh=class extends Si{constructor(){super(),this.processors=[]}push(e){this.processors.push(e)}extend(e){this.processors.push(...e)}_call(e,t){let n=t;for(let t of this.processors)n=t(e,n);return n}[Symbol.iterator](){return this.processors.values()}},dh=class extends ch{constructor(e){super(),this.bos_token_id=e}_call(e,t){for(let n=0;n=1&&i[i.length-1]>=this.timestamp_begin,o=i.length<2||i[i.length-2]>=this.timestamp_begin;if(a&&(o?r.subarray(this.timestamp_begin).fill(-1/0):r.subarray(0,this.eos_token_id).fill(-1/0)),e[n].length===this.begin_index&&this.max_initial_timestamp_index!==null){let e=this.timestamp_begin+this.max_initial_timestamp_index;r.subarray(e+1).fill(-1/0)}let s=kc(r);Math.log(s.subarray(this.timestamp_begin).map(Math.exp).reduce((e,t)=>e+t))>jc(s.subarray(0,this.timestamp_begin))[0]&&r.subarray(0,this.timestamp_begin).fill(-1/0)}return t}},gh=class extends ch{constructor(e){super(),this.no_repeat_ngram_size=e}getNgrams(e){let t=e.length,n=[];for(let r=0;r1 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 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.`);let n=e.length,r=t.slice([0,n],null),i=t.slice([n,t.dims[0]],null);for(let e=0;ee.length>=this.max_length)}},Dh=class extends wh{constructor(e){super(),Array.isArray(e)||(e=[e]),this.eos_token_id=e}_call(e,t){return e.map(e=>{let t=e.at(-1);return this.eos_token_id.some(e=>t==e)})}},Oh=class extends Si{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 n=e.dims.at(-1),r=e.data;if(t===-1)r=r.slice(-n);else{let e=t*n;r=r.slice(e,e+n)}return r}randomSelect(e){return Ks(e)}static getSampler(e){if(e.do_sample)return new Ah(e);if(e.num_beams>1)return new jh(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 kh(e)}},kh=class extends Oh{async sample(e){let t=jc(e.data)[1];return[[BigInt(t),0]]}},Ah=class extends Oh{async sample(e){let t=e.dims.at(-1);this.generation_config.top_k>0&&(t=Math.min(this.generation_config.top_k,t));let[n,r]=await Dl(e,t),i=Oc(n.data);return Array.from({length:this.generation_config.num_beams},()=>{let e=this.randomSelect(i);return[r.data[e],Math.log(i[e])]})}},jh=class extends Oh{async sample(e){let t=e.dims.at(-1);this.generation_config.top_k>0&&(t=Math.min(this.generation_config.top_k,t));let[n,r]=await Dl(e,t),i=Oc(n.data);return Array.from({length:this.generation_config.num_beams},(e,t)=>[r.data[t],Math.log(i[t])])}},Mh=class{constructor(e){if(e)for(let t in e){if(t in this)throw TypeError(`Key "${t}" conflicts with an existing property on DynamicCache`);let n=e[t];if(!(n instanceof U))throw TypeError(`Expected a Tensor for key "${t}", got ${typeof n}`);this[t]=n}}get_seq_length(){let e=this;for(let t in e)if(t.startsWith(`past_key_values.`))return e[t].dims.at(-2);throw Error(`Unable to determine sequence length from the cache.`)}async dispose(){let e=[];for(let t of Object.values(this))t.location===`gpu-buffer`&&e.push(t.dispose());await Promise.all(e)}},Y={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,VoxtralRealtime:16},Nh={[Y.DecoderOnly]:{sessions:(e,t)=>({model:t.model_file_name??`model`}),cache_sessions:{model:!0},optional_configs:{generation_config:`generation_config.json`}},[Y.DecoderOnlyWithoutHead]:{sessions:(e,t)=>({model:t.model_file_name??`model`})},[Y.Seq2Seq]:{sessions:()=>({model:`encoder_model`,decoder_model_merged:`decoder_model_merged`}),cache_sessions:{decoder_model_merged:!0},optional_configs:{generation_config:`generation_config.json`}},[Y.Vision2Seq]:{sessions:()=>({model:`encoder_model`,decoder_model_merged:`decoder_model_merged`}),cache_sessions:{decoder_model_merged:!0},optional_configs:{generation_config:`generation_config.json`}},[Y.Musicgen]:{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`}},[Y.EncoderDecoder]:{sessions:()=>({model:`encoder_model`,decoder_model_merged:`decoder_model_merged`}),cache_sessions:{decoder_model_merged:!0}},[Y.MaskGeneration]:{sessions:()=>({model:`vision_encoder`,prompt_encoder_mask_decoder:`prompt_encoder_mask_decoder`})},[Y.ImageTextToText]:{text_only_sessions:{embed_tokens:`embed_tokens`,decoder_model_merged:`decoder_model_merged`},sessions:(e,t,n)=>{let r={...Nh[Y.ImageTextToText].text_only_sessions};return n||(r.vision_encoder=`vision_encoder`),e.is_encoder_decoder&&(r.model=`encoder_model`),r},cache_sessions:{decoder_model_merged:!0},optional_configs:{generation_config:`generation_config.json`}},[Y.AudioTextToText]:{text_only_sessions:{embed_tokens:`embed_tokens`,decoder_model_merged:`decoder_model_merged`},sessions:(e,t,n)=>{let r={...Nh[Y.AudioTextToText].text_only_sessions};return n||(r.audio_encoder=`audio_encoder`),r},cache_sessions:{decoder_model_merged:!0},optional_configs:{generation_config:`generation_config.json`}},[Y.ImageAudioTextToText]:{text_only_sessions:{embed_tokens:`embed_tokens`,decoder_model_merged:`decoder_model_merged`},sessions:(e,t,n)=>{let r={...Nh[Y.ImageAudioTextToText].text_only_sessions};return n||(r.audio_encoder=`audio_encoder`,r.vision_encoder=`vision_encoder`),r},optional_configs:{generation_config:`generation_config.json`}},[Y.Phi3V]:{sessions:()=>({prepare_inputs_embeds:`prepare_inputs_embeds`,model:`model`,vision_encoder:`vision_encoder`}),cache_sessions:{model:!0},optional_configs:{generation_config:`generation_config.json`}},[Y.MultiModality]:{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`}},[Y.AutoEncoder]:{sessions:()=>({encoder_model:`encoder_model`,decoder_model:`decoder_model`})},[Y.Supertonic]:{sessions:()=>({text_encoder:`text_encoder`,latent_denoiser:`latent_denoiser`,voice_decoder:`voice_decoder`})},[Y.Chatterbox]:{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`}},[Y.VoxtralRealtime]:{text_only_sessions:{embed_tokens:`embed_tokens`,decoder_model_merged:`decoder_model_merged`},sessions:(e,t,n)=>{let r={...Nh[Y.VoxtralRealtime].text_only_sessions};return n||(r.audio_encoder=`audio_encoder`),r},cache_sessions:{decoder_model_merged:!0,audio_encoder:!0},optional_configs:{generation_config:`generation_config.json`}},default:{sessions:(e,t)=>({model:t.model_file_name??`model`})}};function Ph(e,t,n={}){let r=Nh[e]??Nh.default;return{sessions:r.sessions(t,n,n.textOnly??!1),cache_sessions:r.cache_sessions,optional_configs:r.optional_configs}}function Fh(e,{warn:t=!0}={}){let n=e.architectures||[];for(let e of n){let t=Wh.get(e);if(t!==void 0)return t}if(e.model_type){let t=Wh.get(e.model_type);if(t!==void 0)return t;for(let t of Object.values(Rh))if(t.has(e.model_type)){let n=Wh.get(t.get(e.model_type));if(n!==void 0)return n}}if(t){let t=n.length>0?n.join(`, `):`(none)`;F.warn(`[resolve_model_type] Architecture(s) not found in MODEL_TYPE_MAPPING: [${t}] for model type '${e.model_type}'. Falling back to EncoderOnly (single model.onnx file). If you encounter issues, please report at: ${nd}`)}return Y.EncoderOnly}function Ih(e,{config:t=null,cache_dir:n=null,local_files_only:r=!1,revision:i=`main`}={}){return t===null?fc(JSON.stringify([e,n,r,i]),()=>Km.from_pretrained(e,{config:t,cache_dir:n,local_files_only:r,revision:i})):Km.from_pretrained(e,{config:t,cache_dir:n,local_files_only:r,revision:i})}async function Lh(e,{config:t=null,dtype:n=null,device:r=null,model_file_name:i=null}={}){t=await Ih(e,{config:t});let a=[`config.json`],o=t[`transformers.js_config`]??{},s=o.use_external_data_format,c=`onnx`,l=r??o.device,u=n??o.dtype,d=Fh(t),f=(e,t=null)=>{t??=e;let n=yl[bl(u,e,ml(l,e))]??``,r=`${t}${n}.onnx`,i=`${c}/${r}`;a.push(i);let o=qm(s,r,e);for(let e of Jm(r,o)){let t=`${c}/${e}`;a.push(t)}},{sessions:p,optional_configs:m}=Ph(d,t,{model_file_name:i});for(let[e,t]of Object.entries(p))f(e,t);if(m)for(let e of Object.values(m))a.push(e);return a}var Rh=null;function zh(e){Rh=e}function Bh(e){if(e instanceof U)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 U(`int64`,BigInt64Array.from(e.flat().map(e=>BigInt(e))),[e.length,e[0].length])}else return new U(`int64`,BigInt64Array.from(e.map(e=>BigInt(e))),[1,e.length])}function Vh(e){return new U(`bool`,[e],[1])}var Hh={[Y.DecoderOnly]:{can_generate:!0,forward:Xh,prepare_inputs:ng},[Y.DecoderOnlyWithoutHead]:{can_generate:!1,forward:Xh,prepare_inputs:ng},[Y.Seq2Seq]:{can_generate:!0,forward:qh,prepare_inputs:rg},[Y.Vision2Seq]:{can_generate:!0,forward:qh,prepare_inputs:rg},[Y.Musicgen]:{can_generate:!0,forward:qh},[Y.EncoderDecoder]:{can_generate:!1,forward:qh},[Y.ImageTextToText]:{can_generate:!0,forward:$h,prepare_inputs:ig},[Y.AudioTextToText]:{can_generate:!0,forward:Qh,prepare_inputs:ig},[Y.ImageAudioTextToText]:{can_generate:!0,prepare_inputs:ig},[Y.Phi3V]:{can_generate:!0,prepare_inputs:ig},[Y.MultiModality]:{can_generate:!0},[Y.AutoEncoder]:{can_generate:!1,forward:Yh},[Y.Chatterbox]:{can_generate:!0,forward:Jh},[Y.VoxtralRealtime]:{can_generate:!0,prepare_inputs:ng},default:{can_generate:!1,forward:Jh}};function Uh(e,t){let n=Wh.get(e),r=!1,i=t?.architectures?.[0];if(i&&i!==e&&e?.endsWith(`ForCausalLM`)&&i.endsWith(`ForConditionalGeneration`)){let e=Wh.get(i);e!==void 0&&(n=e,r=!0)}let a=Hh[n]??Hh.default,o=Nh[n]??Nh.default;return{typeConfig:{...a,...o},textOnly:r,modelType:n}}var Wh=new Map,Gh=new Map,Kh=new Map,X=class extends Si{main_input_name=`input_ids`;forward_params=[`input_ids`,`attention_mask`];_return_dict_in_generate_keys=null;constructor(e,t,n){super(),this.config=e,this.sessions=t,this.configs=n;let{typeConfig:r}=Uh(Kh.get(this.constructor),e);this.can_generate=r.can_generate,this._forward=r.forward,this._prepare_inputs_for_generation=r.prepare_inputs,this.can_generate&&this.forward_params.push(`past_key_values`),this.custom_config=this.config[`transformers.js_config`]??{}}async dispose(){let e=[];for(let 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:n=null,cache_dir:r=null,local_files_only:i=!1,revision:a=`main`,model_file_name:o=null,subfolder:s=`onnx`,device:c=null,dtype:l=null,use_external_data_format:u=null,session_options:d={}}={}){let f={progress_callback:t,config:n,cache_dir:r,local_files_only:i,revision:a,model_file_name:o,subfolder:s,device:c,dtype:l,use_external_data_format:u,session_options:d},p=Kh.get(this);n=f.config=await Km.from_pretrained(e,f);let{typeConfig:m,textOnly:h,modelType:g}=Uh(p,n);if(g===void 0){let e=p??n?.model_type;e!==`custom`&&F.warn(`Model type for '${e}' not found, assuming encoder-only architecture. Please report this at ${nd}.`)}if(t&&!(t instanceof wi)){let r={};try{let t=await Lh(e,{config:n,dtype:l,device:c,model_file_name:o});(await Promise.all(t.map(t=>mc(e,t,f)))).forEach((e,n)=>{if(e.exists){let i=t[n]===`config.json`;r[t[n]]={loaded:i?e.size??0:0,total:e.size??0}}})}catch(e){F.warn(`Unable to fetch model file metadata for total progress tracking: ${e}`)}Object.keys(r).length>0&&(f.progress_callback=new wi(t,r))}let _=[Qm(e,m.sessions(n,f,h),f,m.cache_sessions)];m.optional_configs&&_.push(cg(e,m.optional_configs,f));let v=await Promise.all(_);return new this(n,...v)}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,n=null){let r=new uh;if(e.repetition_penalty!==null&&e.repetition_penalty!==1&&r.push(new _h(e.repetition_penalty)),e.no_repeat_ngram_size!==null&&e.no_repeat_ngram_size>0&&r.push(new gh(e.no_repeat_ngram_size)),e.bad_words_ids!==null&&r.push(new bh(e.bad_words_ids,e.eos_token_id)),e.min_length!==null&&e.eos_token_id!==null&&e.min_length>0&&r.push(new vh(e.min_length,e.eos_token_id)),e.min_new_tokens!==null&&e.eos_token_id!==null&&e.min_new_tokens>0&&r.push(new yh(t,e.min_new_tokens,e.eos_token_id)),e.forced_bos_token_id!==null&&r.push(new dh(e.forced_bos_token_id)),e.forced_eos_token_id!==null&&r.push(new fh(e.max_length,e.forced_eos_token_id)),e.suppress_tokens!==null&&r.push(new ph(e.suppress_tokens)),e.begin_suppress_tokens!==null){let n=t>1||e.forced_bos_token_id===null?t:t+1;r.push(new mh(e.begin_suppress_tokens,n))}return e.guidance_scale!==null&&e.guidance_scale>1&&r.push(new xh(e.guidance_scale)),e.temperature===0&&e.do_sample&&(F.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&&r.push(new Sh(e.temperature)),n!==null&&r.extend(n),r}_prepare_generation_config(e,t,n=Ch){let r={...this.config};for(let e of[`decoder`,`generator`,`text_config`])e in r&&Object.assign(r,r[e]);let i=new n(r);return Object.assign(i,this.generation_config??{}),e&&Object.assign(i,e),t&&Object.assign(i,ji(t,Object.getOwnPropertyNames(i))),i}_get_stopping_criteria(e,t=null){let n=new Th;return e.max_length!==null&&n.push(new Eh(e.max_length,this.config.max_position_embeddings??null)),e.eos_token_id!==null&&n.push(new Dh(e.eos_token_id)),t&&n.extend(t),n}_validate_model_class(){if(!this.can_generate){let e=[Rh.MODEL_FOR_CAUSAL_LM_MAPPING_NAMES,Rh.MODEL_FOR_VISION_2_SEQ_MAPPING_NAMES,Rh.MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING_NAMES,Rh.MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING_NAMES].filter(Boolean),t=Kh.get(this.constructor),n=new Set,r=this.config.model_type;for(let t of e){let e=t?.get(r);e&&n.add(e)}let i=`The current model class (${t}) is not compatible with \`.generate()\`, as it doesn't have a language model head.`;throw n.size>0&&(i+=` Please use the following class instead: ${[...n].join(`, `)}`),Error(i)}}prepare_inputs_for_generation(...e){if(!this._prepare_inputs_for_generation)throw 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:n,is_encoder_decoder:r}){return n.past_key_values=this.getPastKeyValues(t,n.past_key_values),n.input_ids=new U(`int64`,e.flat(),[e.length,1]),r?`decoder_attention_mask`in n&&(n.decoder_attention_mask=Pl([n.decoder_attention_mask,G([n.decoder_attention_mask.dims[0],1])],1)):n.attention_mask=Pl([n.attention_mask,G([n.attention_mask.dims[0],1])],1),n.position_ids=null,n}_prepare_model_inputs({inputs:e,bos_token_id:t,model_kwargs:n}){let r=ji(n,this.forward_params),i=this.main_input_name;if(i in r){if(e)throw Error("`inputs`: {inputs}` were passed alongside {input_name} which is not allowed. Make sure to either pass {inputs} or {input_name}=...")}else r[i]=e;return{inputs_tensor:r[i],model_inputs:r,model_input_name:i}}async _prepare_encoder_decoder_kwargs_for_generation({inputs_tensor:e,model_inputs:t,model_input_name:n,generation_config:r}){if(this.sessions.model.inputNames.includes(`inputs_embeds`)&&!t.inputs_embeds&&`_prepare_inputs_embeds`in this){let{input_ids:e,pixel_values:n,attention_mask:r,...i}=t,a=await this._prepare_inputs_embeds(t);t={...i,...ji(a,[`inputs_embeds`,`attention_mask`])}}let{last_hidden_state:i}=await Jh(this,t);if(r.guidance_scale!==null&&r.guidance_scale>1)i=Pl([i,Vl(i,0)],0),`attention_mask`in t&&(t.attention_mask=Pl([t.attention_mask,Wl(t.attention_mask)],0));else if(t.decoder_input_ids){let e=Bh(t.decoder_input_ids).dims[0];if(e!==i.dims[0]){if(i.dims[0]!==1)throw Error(`The encoder outputs have a different batch size (${i.dims[0]}) than the decoder inputs (${e}).`);i=Pl(Array.from({length:e},()=>i),0)}}return t.encoder_outputs=i,t}_prepare_decoder_input_ids_for_generation({batch_size:e,model_input_name:t,model_kwargs:n,decoder_start_token_id:r,bos_token_id:i,generation_config:a}){let{decoder_input_ids:o,...s}=n;if(!(o instanceof U)){if(o)Array.isArray(o[0])||(o=Array.from({length:e},()=>o));else if(r??=i,this.config.model_type===`musicgen`)o=Array.from({length:e*this.config.decoder.num_codebooks},()=>[r]);else if(Array.isArray(r)){if(r.length!==e)throw Error(`\`decoder_start_token_id\` expcted to have length ${e} but got ${r.length}`);o=r}else o=Array.from({length:e},()=>[r]);o=Bh(o)}return s.decoder_attention_mask=Hl(o),{input_ids:o,model_inputs:s}}async generate({inputs:e=null,generation_config:t=null,logits_processor:n=null,stopping_criteria:r=null,streamer:i=null,...a}){this._validate_model_class(),t=this._prepare_generation_config(t,a);let{inputs_tensor:o,model_inputs:s,model_input_name:c}=this._prepare_model_inputs({inputs:e,model_kwargs:a}),l=this.config.is_encoder_decoder;l&&(`encoder_outputs`in s||(s=await this._prepare_encoder_decoder_kwargs_for_generation({inputs_tensor:o,model_inputs:s,model_input_name:c,generation_config:t})));let u;l?{input_ids:u,model_inputs:s}=this._prepare_decoder_input_ids_for_generation({batch_size:s[c].dims.at(0),model_input_name:c,model_kwargs:s,decoder_start_token_id:t.decoder_start_token_id,bos_token_id:t.bos_token_id,generation_config:t}):u=s[c];let d=u.dims.at(-1);t.max_new_tokens!==null&&(t.max_length=d+t.max_new_tokens);let f=this._get_logits_processor(t,d,n),p=this._get_stopping_criteria(t,r),m=s[c].dims.at(0),h=Oh.getSampler(t),g=Array(m).fill(0),_=u.tolist();i&&i.put(_);let v,y={},b={};for(;;){if(s=this.prepare_inputs_for_generation(_,s,t),v=await this.forward(s),t.return_dict_in_generate)if(t.output_attentions){let e=this.getAttentions(v);for(let t in e)t in y||(y[t]=[]),y[t].push(e[t])}else this._return_dict_in_generate_keys&&Object.assign(b,ji(v,this._return_dict_in_generate_keys));let e=f(_,v.logits.slice(null,-1,null).to(`float32`)),n=[];for(let t=0;te))break;s=this._update_model_kwargs_for_generation({generated_input_ids:n,outputs:v,model_inputs:s,is_encoder_decoder:l})}i&&i.end();let x=this.getPastKeyValues(v,s.past_key_values,!0),S=new U(`int64`,_.flat(),[_.length,_[0].length]);if(t.return_dict_in_generate)return{sequences:S,past_key_values:x,...y,...b};for(let e of Object.values(v))e.location===`gpu-buffer`&&e.dispose();return S}getPastKeyValues(e,t,n=!1){let r=Object.create(null);for(let i in e)if(i.startsWith(`present`)){let a=i.replace(`present_ssm`,`past_ssm`).replace(`present_conv`,`past_conv`).replace(`present_recurrent`,`past_recurrent`).replace(`present`,`past_key_values`),o=i.includes(`encoder`);if(o&&t?r[a]=t[a]:r[a]=e[i],t&&(!o||n)){let e=t[a];e.location===`gpu-buffer`&&e.dispose()}}return new Mh(r)}getAttentions(e){let t={};for(let n of[`cross_attentions`,`encoder_attentions`,`decoder_attentions`])for(let r in e)r.startsWith(n)&&(n in t||(t[n]=[]),t[n].push(e[r]));return t}addPastKeyValues(e,t){if(t)Object.assign(e,t);else{let t=this.sessions.decoder_model_merged??this.sessions.model,n=(e[this.main_input_name]??e.attention_mask)?.dims?.[0]??1,r=t?.config?.kv_cache_dtype??`float32`,i=r===`float16`?xl.float16:xl.float32,a=Um(this.config,{batch_size:n});for(let t in a)e[t]=new U(r,new i(a[t].reduce((e,t)=>e*t,1)),a[t])}}async _encode_input(e,t,n){if(!Object.hasOwn(this.sessions,e))throw Error(`Model does not have a ${e} session.`);let r=this.sessions[e];return(await eh(r,ji(t,r.inputNames)))[n]}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 qh(e,t){let{encoder_outputs:n,input_ids:r,decoder_input_ids:i,decoder_attention_mask:a,...o}=t;return n||=(await Jh(e,ji(t,e.sessions.model.inputNames))).last_hidden_state,o.input_ids=i,o.encoder_hidden_states=n,e.sessions.decoder_model_merged.inputNames.includes(`encoder_attention_mask`)&&(o.encoder_attention_mask=t.attention_mask),a&&!o.attention_mask&&(o.attention_mask=a),await Xh(e,o,!0)}async function Jh(e,t){let n=e.sessions.model,r=ji(t,n.inputNames);if(n.inputNames.includes(`inputs_embeds`)&&!r.inputs_embeds){if(!t.input_ids)throw Error("Both `input_ids` and `inputs_embeds` are missing in the model inputs.");r.inputs_embeds=await e.encode_text({input_ids:t.input_ids})}if(n.inputNames.includes(`token_type_ids`)&&!r.token_type_ids){if(!r.input_ids)throw Error("Both `input_ids` and `token_type_ids` are missing in the model inputs.");r.token_type_ids=Wl(r.input_ids)}if(n.inputNames.includes(`pixel_mask`)&&!r.pixel_mask){if(!r.pixel_values)throw Error("Both `pixel_values` and `pixel_mask` are missing in the model inputs.");let e=r.pixel_values.dims;r.pixel_mask=G([e[0],e[2],e[3]])}return await eh(n,r)}async function Yh(e,t){let n=await e.encode(t);return await e.decode(n)}async function Xh(e,t,n=!1){let r=e.sessions[n?`decoder_model_merged`:`model`],{past_key_values:i,...a}=t;return r.inputNames.includes(`use_cache_branch`)&&(a.use_cache_branch=Vh(!!i)),r.inputNames.includes(`position_ids`)&&a.attention_mask&&!a.position_ids&&(a.position_ids=tg(a,i,[`paligemma`,`gemma3_text`,`gemma3`].includes(e.config.model_type)?1:0)),r.inputNames.includes(`num_logits_to_keep`)&&!a.num_logits_to_keep&&(a.num_logits_to_keep=new U(`int64`,[0n],[])),e.addPastKeyValues(a,i),await eh(r,ji(a,r.inputNames))}async function Zh(e,{encode_function:t,merge_function:n,modality_input_names:r,modality_output_name:i,input_ids:a=null,attention_mask:o=null,position_ids:s=null,inputs_embeds:c=null,past_key_values:l=null,generation_config:u=null,logits_processor:d=null,...f}){if(!c){c=await e.encode_text({input_ids:a,...f});let s=ji(f,r);if(Object.keys(s).length>0){if(a.dims[1]!==1){let e=await t({...s,...f});({inputs_embeds:c,attention_mask:o}=n({[i]:e,inputs_embeds:c,input_ids:a,attention_mask:o}))}else if(l&&a.dims[1]===1){let e=a.dims[1],t=l.get_seq_length();o=Pl([G([a.dims[0],t]),o.slice(null,[o.dims[1]-e,o.dims[1]])],1)}}}if(!s&&[`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`,`glm_ocr`,`glm_ocr_text`].includes(e.config.model_type)){let{image_grid_thw:t,video_grid_thw:n}=f;[s]=e.get_rope_index(a,t,n,o)}return await Xh(e,{inputs_embeds:c,past_key_values:l,attention_mask:o,position_ids:s,generation_config:u,logits_processor:d},!0)}async function Qh(e,t){return await Zh(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 $h(e,t){return await Zh(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 eg(e,t=0){let[n,r]=e.dims,i=e.data,a=new BigInt64Array(i.length);for(let e=0;ee.dims[1]||i[e.at(-1)])),{...n,decoder_input_ids:Bh(t)}}function ig(e,...t){return e.config.is_encoder_decoder?rg(e,...t):ng(e,...t)}function ag({modality_token_id:e,inputs_embeds:t,modality_features:n,input_ids:r,attention_mask:i}){let a=r.tolist().map(t=>t.reduce((t,n,r)=>(n==e&&t.push(r),t),[])),o=a.reduce((e,t)=>e+t.length,0),s=n.dims[0];if(o!==s)throw Error(`Number of tokens and features do not match: tokens: ${o}, features ${s}`);let c=0;for(let e=0;e[r,await Tc(e,t[r],!1,n)])))}var lg={};Ur(lg,{ASTForAudioClassification:()=>Eg,ASTModel:()=>Tg,ASTPreTrainedModel:()=>wg,AfmoeForCausalLM:()=>bg,AfmoeModel:()=>yg,AfmoePreTrainedModel:()=>vg,AlbertForMaskedLM:()=>mg,AlbertForQuestionAnswering:()=>pg,AlbertForSequenceClassification:()=>fg,AlbertModel:()=>dg,AlbertPreTrainedModel:()=>ug,ApertusForCausalLM:()=>_g,ApertusModel:()=>gg,ApertusPreTrainedModel:()=>hg,ArceeForCausalLM:()=>Cg,ArceeModel:()=>Sg,ArceePreTrainedModel:()=>xg,BartForConditionalGeneration:()=>kg,BartForSequenceClassification:()=>Ag,BartModel:()=>Og,BartPretrainedModel:()=>Dg,BeitForImageClassification:()=>Ng,BeitModel:()=>Mg,BeitPreTrainedModel:()=>jg,BertForMaskedLM:()=>Ig,BertForQuestionAnswering:()=>zg,BertForSequenceClassification:()=>Lg,BertForTokenClassification:()=>Rg,BertModel:()=>Fg,BertPreTrainedModel:()=>Pg,BlenderbotForConditionalGeneration:()=>Hg,BlenderbotModel:()=>Vg,BlenderbotPreTrainedModel:()=>Bg,BlenderbotSmallForConditionalGeneration:()=>Gg,BlenderbotSmallModel:()=>Wg,BlenderbotSmallPreTrainedModel:()=>Ug,BloomForCausalLM:()=>Jg,BloomModel:()=>qg,BloomPreTrainedModel:()=>Kg,CHMv2ForDepthEstimation:()=>c_,CHMv2PreTrainedModel:()=>s_,CLIPModel:()=>m_,CLIPPreTrainedModel:()=>p_,CLIPSegForImageSegmentation:()=>x_,CLIPSegModel:()=>b_,CLIPSegPreTrainedModel:()=>y_,CLIPTextModel:()=>h_,CLIPTextModelWithProjection:()=>g_,CLIPVisionModel:()=>__,CLIPVisionModelWithProjection:()=>v_,CamembertForMaskedLM:()=>Zg,CamembertForQuestionAnswering:()=>e_,CamembertForSequenceClassification:()=>Qg,CamembertForTokenClassification:()=>$g,CamembertModel:()=>Xg,CamembertPreTrainedModel:()=>Yg,ChatterboxModel:()=>i_,ChatterboxPreTrainedModel:()=>r_,ChineseCLIPModel:()=>o_,ChineseCLIPPreTrainedModel:()=>a_,ClapAudioModelWithProjection:()=>f_,ClapModel:()=>u_,ClapPreTrainedModel:()=>l_,ClapTextModelWithProjection:()=>d_,CodeGenForCausalLM:()=>w_,CodeGenModel:()=>C_,CodeGenPreTrainedModel:()=>S_,Cohere2ForCausalLM:()=>A_,Cohere2Model:()=>k_,Cohere2PreTrainedModel:()=>O_,CohereAsrForConditionalGeneration:()=>N_,CohereAsrModel:()=>M_,CohereAsrPreTrainedModel:()=>j_,CohereForCausalLM:()=>D_,CohereModel:()=>E_,CoherePreTrainedModel:()=>T_,ConvBertForMaskedLM:()=>I_,ConvBertForQuestionAnswering:()=>z_,ConvBertForSequenceClassification:()=>L_,ConvBertForTokenClassification:()=>R_,ConvBertModel:()=>F_,ConvBertPreTrainedModel:()=>P_,ConvNextForImageClassification:()=>H_,ConvNextModel:()=>V_,ConvNextPreTrainedModel:()=>B_,ConvNextV2ForImageClassification:()=>G_,ConvNextV2Model:()=>W_,ConvNextV2PreTrainedModel:()=>U_,DFineForObjectDetection:()=>Q_,DFineModel:()=>Z_,DFinePreTrainedModel:()=>X_,DINOv3ConvNextModel:()=>Hv,DINOv3ConvNextPreTrainedModel:()=>Vv,DINOv3ViTModel:()=>Wv,DINOv3ViTPreTrainedModel:()=>Uv,DPTForDepthEstimation:()=>ty,DPTModel:()=>ey,DPTPreTrainedModel:()=>$v,DacDecoderModel:()=>iv,DacDecoderOutput:()=>ev,DacEncoderModel:()=>rv,DacEncoderOutput:()=>$_,DacModel:()=>nv,DacPreTrainedModel:()=>tv,DebertaForMaskedLM:()=>sv,DebertaForQuestionAnswering:()=>uv,DebertaForSequenceClassification:()=>cv,DebertaForTokenClassification:()=>lv,DebertaModel:()=>ov,DebertaPreTrainedModel:()=>av,DebertaV2ForMaskedLM:()=>gv,DebertaV2ForQuestionAnswering:()=>yv,DebertaV2ForSequenceClassification:()=>_v,DebertaV2ForTokenClassification:()=>vv,DebertaV2Model:()=>hv,DebertaV2PreTrainedModel:()=>mv,DecisionTransformerModel:()=>xv,DecisionTransformerPreTrainedModel:()=>bv,DeepseekV3ForCausalLM:()=>pv,DeepseekV3Model:()=>fv,DeepseekV3PreTrainedModel:()=>dv,DeiTForImageClassification:()=>wv,DeiTModel:()=>Cv,DeiTPreTrainedModel:()=>Sv,DepthAnythingForDepthEstimation:()=>Ev,DepthAnythingPreTrainedModel:()=>Tv,DepthProForDepthEstimation:()=>Ov,DepthProPreTrainedModel:()=>Dv,DetrForObjectDetection:()=>jv,DetrForSegmentation:()=>Mv,DetrModel:()=>Av,DetrObjectDetectionOutput:()=>Nv,DetrPreTrainedModel:()=>kv,DetrSegmentationOutput:()=>Pv,Dinov2ForImageClassification:()=>Lv,Dinov2Model:()=>Iv,Dinov2PreTrainedModel:()=>Fv,Dinov2WithRegistersForImageClassification:()=>Bv,Dinov2WithRegistersModel:()=>zv,Dinov2WithRegistersPreTrainedModel:()=>Rv,DistilBertForMaskedLM:()=>Xv,DistilBertForQuestionAnswering:()=>Yv,DistilBertForSequenceClassification:()=>qv,DistilBertForTokenClassification:()=>Jv,DistilBertModel:()=>Kv,DistilBertPreTrainedModel:()=>Gv,DonutSwinModel:()=>Qv,DonutSwinPreTrainedModel:()=>Zv,EdgeTamModel:()=>kT,EfficientNetForImageClassification:()=>iy,EfficientNetModel:()=>ry,EfficientNetPreTrainedModel:()=>ny,ElectraForMaskedLM:()=>sy,ElectraForQuestionAnswering:()=>uy,ElectraForSequenceClassification:()=>cy,ElectraForTokenClassification:()=>ly,ElectraModel:()=>oy,ElectraPreTrainedModel:()=>ay,Ernie4_5ForCausalLM:()=>py,Ernie4_5Model:()=>fy,Ernie4_5PretrainedModel:()=>dy,EsmForMaskedLM:()=>gy,EsmForSequenceClassification:()=>_y,EsmForTokenClassification:()=>vy,EsmModel:()=>hy,EsmPreTrainedModel:()=>my,EuroBertForMaskedLM:()=>xy,EuroBertForSequenceClassification:()=>Sy,EuroBertForTokenClassification:()=>Cy,EuroBertModel:()=>by,EuroBertPreTrainedModel:()=>yy,ExaoneForCausalLM:()=>Ey,ExaoneModel:()=>Ty,ExaonePreTrainedModel:()=>wy,FalconForCausalLM:()=>ky,FalconH1ForCausalLM:()=>My,FalconH1Model:()=>jy,FalconH1PreTrainedModel:()=>Ay,FalconModel:()=>Oy,FalconPreTrainedModel:()=>Dy,FastViTForImageClassification:()=>Fy,FastViTModel:()=>Py,FastViTPreTrainedModel:()=>Ny,Florence2ForConditionalGeneration:()=>Ly,Florence2PreTrainedModel:()=>Iy,GLPNForDepthEstimation:()=>_b,GLPNModel:()=>gb,GLPNPreTrainedModel:()=>hb,GPT2LMHeadModel:()=>Mb,GPT2Model:()=>jb,GPT2PreTrainedModel:()=>Ab,GPTBigCodeForCausalLM:()=>bb,GPTBigCodeModel:()=>yb,GPTBigCodePreTrainedModel:()=>vb,GPTJForCausalLM:()=>Fb,GPTJModel:()=>Pb,GPTJPreTrainedModel:()=>Nb,GPTNeoForCausalLM:()=>Cb,GPTNeoModel:()=>Sb,GPTNeoPreTrainedModel:()=>xb,GPTNeoXForCausalLM:()=>Eb,GPTNeoXModel:()=>Tb,GPTNeoXPreTrainedModel:()=>wb,Gemma2ForCausalLM:()=>Uy,Gemma2Model:()=>Hy,Gemma2PreTrainedModel:()=>Vy,Gemma3ForCausalLM:()=>Zy,Gemma3ForConditionalGeneration:()=>Xy,Gemma3Model:()=>Yy,Gemma3PreTrainedModel:()=>Jy,Gemma3nForCausalLM:()=>eb,Gemma3nForConditionalGeneration:()=>$y,Gemma3nPreTrainedModel:()=>Qy,Gemma4ForCausalLM:()=>nb,Gemma4ForConditionalGeneration:()=>tb,GemmaForCausalLM:()=>By,GemmaModel:()=>zy,GemmaPreTrainedModel:()=>Ry,GlmForCausalLM:()=>ab,GlmModel:()=>ib,GlmMoeDsaForCausalLM:()=>cb,GlmMoeDsaModel:()=>sb,GlmMoeDsaPreTrainedModel:()=>ob,GlmOcrForConditionalGeneration:()=>mb,GlmPreTrainedModel:()=>rb,GptOssForCausalLM:()=>kb,GptOssModel:()=>Ob,GptOssPreTrainedModel:()=>Db,GraniteForCausalLM:()=>Rb,GraniteModel:()=>Lb,GraniteMoeHybridForCausalLM:()=>Vb,GraniteMoeHybridModel:()=>Bb,GraniteMoeHybridPreTrainedModel:()=>zb,GranitePreTrainedModel:()=>Ib,GraniteSpeechForConditionalGeneration:()=>Wb,GroundingDinoForObjectDetection:()=>Kb,GroundingDinoPreTrainedModel:()=>Gb,GroupViTModel:()=>Jb,GroupViTPreTrainedModel:()=>qb,HeliumForCausalLM:()=>Zb,HeliumModel:()=>Xb,HeliumPreTrainedModel:()=>Yb,HieraForImageClassification:()=>ex,HieraModel:()=>$b,HieraPreTrainedModel:()=>Qb,HubertForCTC:()=>cx,HubertForSequenceClassification:()=>lx,HubertModel:()=>sx,HubertPreTrainedModel:()=>ox,HunYuanDenseV1ForCausalLM:()=>fx,HunYuanDenseV1Model:()=>dx,HunYuanDenseV1PreTrainedModel:()=>ux,IJepaForImageClassification:()=>gx,IJepaModel:()=>hx,IJepaPreTrainedModel:()=>mx,Idefics3ForConditionalGeneration:()=>px,JAISLMHeadModel:()=>yx,JAISModel:()=>vx,JAISPreTrainedModel:()=>_x,JinaCLIPModel:()=>xx,JinaCLIPPreTrainedModel:()=>bx,JinaCLIPTextModel:()=>Sx,JinaCLIPVisionModel:()=>Cx,Lfm2ForCausalLM:()=>Ex,Lfm2Model:()=>Tx,Lfm2MoeForCausalLM:()=>Ax,Lfm2MoeModel:()=>kx,Lfm2MoePreTrainedModel:()=>Ox,Lfm2PreTrainedModel:()=>wx,Lfm2VlForConditionalGeneration:()=>jx,LightOnOcrForConditionalGeneration:()=>Dx,LiteWhisperForConditionalGeneration:()=>LD,Llama4ForCausalLM:()=>Ix,Llama4PreTrainedModel:()=>Fx,LlamaForCausalLM:()=>Px,LlamaModel:()=>Nx,LlamaPreTrainedModel:()=>Mx,LlavaForConditionalGeneration:()=>Gy,LlavaOnevisionForConditionalGeneration:()=>Gy,LlavaPreTrainedModel:()=>Wy,LlavaQwen2ForCausalLM:()=>qy,LongT5ForConditionalGeneration:()=>zx,LongT5Model:()=>Rx,LongT5PreTrainedModel:()=>Lx,M2M100ForConditionalGeneration:()=>Hx,M2M100Model:()=>Vx,M2M100PreTrainedModel:()=>Bx,MBartForCausalLM:()=>$x,MBartForConditionalGeneration:()=>Zx,MBartForSequenceClassification:()=>Qx,MBartModel:()=>Xx,MBartPreTrainedModel:()=>Yx,MPNetForMaskedLM:()=>cC,MPNetForQuestionAnswering:()=>dC,MPNetForSequenceClassification:()=>lC,MPNetForTokenClassification:()=>uC,MPNetModel:()=>sC,MPNetPreTrainedModel:()=>oC,MT5ForConditionalGeneration:()=>_C,MT5Model:()=>gC,MT5PreTrainedModel:()=>hC,MarianMTModel:()=>Gx,MarianModel:()=>Wx,MarianPreTrainedModel:()=>Ux,MaskFormerForInstanceSegmentation:()=>Jx,MaskFormerModel:()=>qx,MaskFormerPreTrainedModel:()=>Kx,Metric3DForDepthEstimation:()=>tS,Metric3DPreTrainedModel:()=>eS,Metric3Dv2ForDepthEstimation:()=>rS,Metric3Dv2PreTrainedModel:()=>nS,MgpstrForSceneTextRecognition:()=>oS,MgpstrModelOutput:()=>iS,MgpstrPreTrainedModel:()=>aS,MimiDecoderModel:()=>fS,MimiDecoderOutput:()=>cS,MimiEncoderModel:()=>dS,MimiEncoderOutput:()=>sS,MimiModel:()=>uS,MimiPreTrainedModel:()=>lS,Mistral4ForCausalLM:()=>vS,Mistral4Model:()=>_S,Mistral4PreTrainedModel:()=>gS,MistralForCausalLM:()=>hS,MistralModel:()=>mS,MistralPreTrainedModel:()=>pS,MobileBertForMaskedLM:()=>xS,MobileBertForQuestionAnswering:()=>CS,MobileBertForSequenceClassification:()=>SS,MobileBertModel:()=>bS,MobileBertPreTrainedModel:()=>yS,MobileLLMForCausalLM:()=>ES,MobileLLMModel:()=>TS,MobileLLMPreTrainedModel:()=>wS,MobileNetV1ForImageClassification:()=>kS,MobileNetV1ForSemanticSegmentation:()=>AS,MobileNetV1Model:()=>OS,MobileNetV1PreTrainedModel:()=>DS,MobileNetV2ForImageClassification:()=>NS,MobileNetV2ForSemanticSegmentation:()=>PS,MobileNetV2Model:()=>MS,MobileNetV2PreTrainedModel:()=>jS,MobileNetV3ForImageClassification:()=>LS,MobileNetV3ForSemanticSegmentation:()=>RS,MobileNetV3Model:()=>IS,MobileNetV3PreTrainedModel:()=>FS,MobileNetV4ForImageClassification:()=>VS,MobileNetV4ForSemanticSegmentation:()=>HS,MobileNetV4Model:()=>BS,MobileNetV4PreTrainedModel:()=>zS,MobileViTForImageClassification:()=>GS,MobileViTModel:()=>WS,MobileViTPreTrainedModel:()=>US,MobileViTV2ForImageClassification:()=>JS,MobileViTV2Model:()=>qS,MobileViTV2PreTrainedModel:()=>KS,ModernBertDecoderForCausalLM:()=>nC,ModernBertDecoderModel:()=>tC,ModernBertDecoderPreTrainedModel:()=>eC,ModernBertForMaskedLM:()=>ZS,ModernBertForSequenceClassification:()=>QS,ModernBertForTokenClassification:()=>$S,ModernBertModel:()=>XS,ModernBertPreTrainedModel:()=>YS,Moondream1ForConditionalGeneration:()=>Ky,MoonshineForConditionalGeneration:()=>aC,MoonshineModel:()=>iC,MoonshinePreTrainedModel:()=>rC,MptForCausalLM:()=>mC,MptModel:()=>pC,MptPreTrainedModel:()=>fC,MultiModalityCausalLM:()=>yC,MultiModalityPreTrainedModel:()=>vC,MusicgenForCausalLM:()=>SC,MusicgenForConditionalGeneration:()=>CC,MusicgenModel:()=>xC,MusicgenPreTrainedModel:()=>bC,NanoChatForCausalLM:()=>EC,NanoChatModel:()=>TC,NanoChatPreTrainedModel:()=>wC,NemotronHForCausalLM:()=>kC,NemotronHModel:()=>OC,NemotronHPreTrainedModel:()=>DC,NeoBertForMaskedLM:()=>MC,NeoBertForQuestionAnswering:()=>FC,NeoBertForSequenceClassification:()=>NC,NeoBertForTokenClassification:()=>PC,NeoBertModel:()=>jC,NeoBertPreTrainedModel:()=>AC,NomicBertModel:()=>LC,NomicBertPreTrainedModel:()=>IC,OPTForCausalLM:()=>tw,OPTModel:()=>ew,OPTPreTrainedModel:()=>$C,Olmo2ForCausalLM:()=>UC,Olmo2Model:()=>HC,Olmo2PreTrainedModel:()=>VC,Olmo3ForCausalLM:()=>KC,Olmo3Model:()=>GC,Olmo3PreTrainedModel:()=>WC,OlmoForCausalLM:()=>BC,OlmoHybridForCausalLM:()=>YC,OlmoHybridModel:()=>JC,OlmoHybridPreTrainedModel:()=>qC,OlmoModel:()=>zC,OlmoPreTrainedModel:()=>RC,OpenELMForCausalLM:()=>QC,OpenELMModel:()=>ZC,OpenELMPreTrainedModel:()=>XC,OwlViTForObjectDetection:()=>sw,OwlViTModel:()=>ow,OwlViTPreTrainedModel:()=>aw,Owlv2ForObjectDetection:()=>iw,Owlv2Model:()=>rw,Owlv2PreTrainedModel:()=>nw,PaliGemmaForConditionalGeneration:()=>cw,ParakeetForCTC:()=>uw,ParakeetPreTrainedModel:()=>lw,PatchTSMixerForPrediction:()=>pw,PatchTSMixerModel:()=>fw,PatchTSMixerPreTrainedModel:()=>dw,PatchTSTForPrediction:()=>gw,PatchTSTModel:()=>hw,PatchTSTPreTrainedModel:()=>mw,Phi3ForCausalLM:()=>Sw,Phi3Model:()=>xw,Phi3PreTrainedModel:()=>bw,Phi3VForCausalLM:()=>ww,Phi3VPreTrainedModel:()=>Cw,PhiForCausalLM:()=>yw,PhiModel:()=>vw,PhiPreTrainedModel:()=>_w,PreTrainedModel:()=>X,PvtForImageClassification:()=>Dw,PvtModel:()=>Ew,PvtPreTrainedModel:()=>Tw,PyAnnoteForAudioFrameClassification:()=>Aw,PyAnnoteModel:()=>kw,PyAnnotePreTrainedModel:()=>Ow,Qwen2ForCausalLM:()=>Nw,Qwen2Model:()=>Mw,Qwen2MoeForCausalLM:()=>Iw,Qwen2MoeModel:()=>Fw,Qwen2MoePreTrainedModel:()=>Pw,Qwen2PreTrainedModel:()=>jw,Qwen2VLForCausalLM:()=>db,Qwen2VLForConditionalGeneration:()=>ub,Qwen2VLPreTrainedModel:()=>lb,Qwen2_5_VLForCausalLM:()=>pb,Qwen2_5_VLForConditionalGeneration:()=>fb,Qwen3ForCausalLM:()=>zw,Qwen3Model:()=>Rw,Qwen3MoeForCausalLM:()=>Hw,Qwen3MoeModel:()=>Vw,Qwen3MoePreTrainedModel:()=>Bw,Qwen3NextForCausalLM:()=>Gw,Qwen3NextModel:()=>Ww,Qwen3NextPreTrainedModel:()=>Uw,Qwen3PreTrainedModel:()=>Lw,Qwen3VLForCausalLM:()=>qw,Qwen3VLForConditionalGeneration:()=>Kw,Qwen3VLMoeForCausalLM:()=>Yw,Qwen3VLMoeForConditionalGeneration:()=>Jw,Qwen3_5ForCausalLM:()=>Zw,Qwen3_5ForConditionalGeneration:()=>Xw,Qwen3_5MoeForCausalLM:()=>$w,Qwen3_5MoeForConditionalGeneration:()=>Qw,RFDetrForObjectDetection:()=>aT,RFDetrModel:()=>iT,RFDetrObjectDetectionOutput:()=>oT,RFDetrPreTrainedModel:()=>rT,RTDetrForObjectDetection:()=>J_,RTDetrModel:()=>q_,RTDetrObjectDetectionOutput:()=>Y_,RTDetrPreTrainedModel:()=>K_,RTDetrV2ForObjectDetection:()=>xT,RTDetrV2Model:()=>bT,RTDetrV2ObjectDetectionOutput:()=>ST,RTDetrV2PreTrainedModel:()=>yT,ResNetForImageClassification:()=>nT,ResNetModel:()=>tT,ResNetPreTrainedModel:()=>eT,RoFormerForMaskedLM:()=>hT,RoFormerForQuestionAnswering:()=>vT,RoFormerForSequenceClassification:()=>gT,RoFormerForTokenClassification:()=>_T,RoFormerModel:()=>mT,RoFormerPreTrainedModel:()=>pT,RobertaForMaskedLM:()=>lT,RobertaForQuestionAnswering:()=>fT,RobertaForSequenceClassification:()=>uT,RobertaForTokenClassification:()=>dT,RobertaModel:()=>cT,RobertaPreTrainedModel:()=>sT,Sam2ImageSegmentationOutput:()=>ET,Sam2Model:()=>OT,Sam2PreTrainedModel:()=>DT,Sam3TrackerModel:()=>AT,SamImageSegmentationOutput:()=>CT,SamModel:()=>TT,SamPreTrainedModel:()=>wT,SapiensForDepthEstimation:()=>NT,SapiensForNormalEstimation:()=>PT,SapiensForSemanticSegmentation:()=>MT,SapiensPreTrainedModel:()=>jT,SegformerForImageClassification:()=>LT,SegformerForSemanticSegmentation:()=>RT,SegformerModel:()=>IT,SegformerPreTrainedModel:()=>FT,SiglipModel:()=>BT,SiglipPreTrainedModel:()=>zT,SiglipTextModel:()=>VT,SiglipVisionModel:()=>HT,SmolLM3ForCausalLM:()=>GT,SmolLM3Model:()=>WT,SmolLM3PreTrainedModel:()=>UT,SnacDecoderModel:()=>YT,SnacEncoderModel:()=>JT,SnacModel:()=>qT,SnacPreTrainedModel:()=>KT,SolarOpenForCausalLM:()=>QT,SolarOpenModel:()=>ZT,SolarOpenPreTrainedModel:()=>XT,SpeechT5ForSpeechToText:()=>tE,SpeechT5ForTextToSpeech:()=>nE,SpeechT5HifiGan:()=>rE,SpeechT5Model:()=>eE,SpeechT5PreTrainedModel:()=>$T,SqueezeBertForMaskedLM:()=>oE,SqueezeBertForQuestionAnswering:()=>cE,SqueezeBertForSequenceClassification:()=>sE,SqueezeBertModel:()=>aE,SqueezeBertPreTrainedModel:()=>iE,StableLmForCausalLM:()=>dE,StableLmModel:()=>uE,StableLmPreTrainedModel:()=>lE,Starcoder2ForCausalLM:()=>mE,Starcoder2Model:()=>pE,Starcoder2PreTrainedModel:()=>fE,StyleTextToSpeech2Model:()=>gE,StyleTextToSpeech2PreTrainedModel:()=>hE,SupertonicForConditionalGeneration:()=>vE,SupertonicPreTrainedModel:()=>_E,Swin2SRForImageSuperResolution:()=>TE,Swin2SRModel:()=>wE,Swin2SRPreTrainedModel:()=>CE,SwinForImageClassification:()=>xE,SwinForSemanticSegmentation:()=>SE,SwinModel:()=>bE,SwinPreTrainedModel:()=>yE,T5ForConditionalGeneration:()=>OE,T5Model:()=>DE,T5PreTrainedModel:()=>EE,TableTransformerForObjectDetection:()=>jE,TableTransformerModel:()=>AE,TableTransformerObjectDetectionOutput:()=>ME,TableTransformerPreTrainedModel:()=>kE,TrOCRForCausalLM:()=>PE,TrOCRPreTrainedModel:()=>NE,UltravoxModel:()=>Ub,UltravoxPreTrainedModel:()=>Hb,UniSpeechForCTC:()=>LE,UniSpeechForSequenceClassification:()=>RE,UniSpeechModel:()=>IE,UniSpeechPreTrainedModel:()=>FE,UniSpeechSatForAudioFrameClassification:()=>UE,UniSpeechSatForCTC:()=>VE,UniSpeechSatForSequenceClassification:()=>HE,UniSpeechSatModel:()=>BE,UniSpeechSatPreTrainedModel:()=>zE,VaultGemmaForCausalLM:()=>KE,VaultGemmaModel:()=>GE,VaultGemmaPreTrainedModel:()=>WE,ViTForImageClassification:()=>XE,ViTMAEModel:()=>QE,ViTMAEPreTrainedModel:()=>ZE,ViTMSNForImageClassification:()=>tD,ViTMSNModel:()=>eD,ViTMSNPreTrainedModel:()=>$E,ViTModel:()=>YE,ViTPreTrainedModel:()=>JE,VisionEncoderDecoderModel:()=>qE,VitMatteForImageMatting:()=>rD,VitMattePreTrainedModel:()=>nD,VitPoseForPoseEstimation:()=>aD,VitPosePreTrainedModel:()=>iD,VitsModel:()=>cD,VitsModelOutput:()=>oD,VitsPreTrainedModel:()=>sD,VoxtralForConditionalGeneration:()=>lD,VoxtralRealtimeForConditionalGeneration:()=>yD,VoxtralRealtimePreTrainedModel:()=>vD,Wav2Vec2BertForCTC:()=>SD,Wav2Vec2BertForSequenceClassification:()=>CD,Wav2Vec2BertModel:()=>xD,Wav2Vec2BertPreTrainedModel:()=>bD,Wav2Vec2ForAudioFrameClassification:()=>ax,Wav2Vec2ForCTC:()=>rx,Wav2Vec2ForSequenceClassification:()=>ix,Wav2Vec2Model:()=>nx,Wav2Vec2PreTrainedModel:()=>tx,WavLMForAudioFrameClassification:()=>AD,WavLMForCTC:()=>DD,WavLMForSequenceClassification:()=>OD,WavLMForXVector:()=>kD,WavLMModel:()=>ED,WavLMPreTrainedModel:()=>TD,WeSpeakerResNetModel:()=>MD,WeSpeakerResNetPreTrainedModel:()=>jD,WhisperForConditionalGeneration:()=>ID,WhisperModel:()=>FD,WhisperPreTrainedModel:()=>PD,XLMForQuestionAnswering:()=>UD,XLMForSequenceClassification:()=>VD,XLMForTokenClassification:()=>HD,XLMModel:()=>zD,XLMPreTrainedModel:()=>RD,XLMRobertaForMaskedLM:()=>KD,XLMRobertaForQuestionAnswering:()=>YD,XLMRobertaForSequenceClassification:()=>qD,XLMRobertaForTokenClassification:()=>JD,XLMRobertaModel:()=>GD,XLMRobertaPreTrainedModel:()=>WD,XLMWithLMHeadModel:()=>BD,XVectorOutput:()=>wD,YolosForObjectDetection:()=>QD,YolosModel:()=>ZD,YolosObjectDetectionOutput:()=>$D,YolosPreTrainedModel:()=>XD,YoutuForCausalLM:()=>nO,YoutuModel:()=>tO,YoutuPreTrainedModel:()=>eO});var ug=class extends X{},dg=class extends ug{},fg=class extends ug{async _call(e){return new J(await super._call(e))}},pg=class extends ug{async _call(e){return new ah(await super._call(e))}},mg=class extends ug{async _call(e){return new ih(await super._call(e))}},hg=class extends X{},gg=class extends hg{},_g=class extends hg{},vg=class extends X{},yg=class extends vg{},bg=class extends vg{},xg=class extends X{},Sg=class extends xg{},Cg=class extends xg{},wg=class extends X{},Tg=class extends wg{},Eg=class extends wg{},Dg=class extends X{},Og=class extends Dg{},kg=class extends Dg{},Ag=class extends Dg{async _call(e){return new J(await super._call(e))}},jg=class extends X{},Mg=class extends jg{},Ng=class extends jg{async _call(e){return new J(await super._call(e))}},Pg=class extends X{},Fg=class extends Pg{},Ig=class extends Pg{async _call(e){return new ih(await super._call(e))}},Lg=class extends Pg{async _call(e){return new J(await super._call(e))}},Rg=class extends Pg{async _call(e){return new rh(await super._call(e))}},zg=class extends Pg{async _call(e){return new ah(await super._call(e))}},Bg=class extends X{},Vg=class extends Bg{},Hg=class extends Bg{},Ug=class extends X{},Wg=class extends Ug{},Gg=class extends Ug{},Kg=class extends X{},qg=class extends Kg{},Jg=class extends Kg{},Yg=class extends X{},Xg=class extends Yg{},Zg=class extends Yg{async _call(e){return new ih(await super._call(e))}},Qg=class extends Yg{async _call(e){return new J(await super._call(e))}},$g=class extends Yg{async _call(e){return new rh(await super._call(e))}},e_=class extends Yg{async _call(e){return new ah(await super._call(e))}},t_=4299n,n_=6561n,r_=class extends X{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`]},i_=class extends r_{async encode_speech(e){return eh(this.sessions.speech_encoder,{audio_values:e})}async forward({input_ids:e=null,attention_mask:t=null,audio_values:n=null,exaggeration:r=null,position_ids:i=null,inputs_embeds:a=null,past_key_values:o=null,generation_config:s=null,logits_processor:c=null,audio_features:l=null,audio_tokens:u=null,speaker_embeddings:d=null,speaker_features:f=null,...p}){let m;if(!a){let s=this.sessions.embed_tokens.inputNames,c={input_ids:e};if(s.includes(`exaggeration`)){if(!(r instanceof U)){let t=e.dims[0];if(r==null)r=W([t],.5);else if(typeof r==`number`)r=W([t],r);else if(Array.isArray(r))r=new U(`float32`,r,[t]);else throw Error("Unsupported type for `exaggeration` input")}c.exaggeration=r}if(s.includes(`position_ids`)&&(c.position_ids=i),{inputs_embeds:a}=await eh(this.sessions.embed_tokens,c),l&&u&&d&&f&&(m={audio_features:l,audio_tokens:u,speaker_embeddings:d,speaker_features:f}),m||n)m??=await this.encode_speech(n),a=Pl([m.audio_features,a],1),t=G([a.dims[0],a.dims[1]]);else{let e=a.dims[1];if(!o||e!==1)throw Error(`Incorrect state encountered during generation.`);let n=o.get_seq_length();t=G([a.dims[0],n+e])}}return{...await Xh(this,{inputs_embeds:a,past_key_values:o,attention_mask:t,generation_config:s,logits_processor:c},!1),...m}}prepare_inputs_for_generation(e,t,n){return!t.position_ids&&this.sessions.embed_tokens.inputNames.includes(`position_ids`)&&(t.input_ids.dims[1]===1?t.position_ids=new U(`int64`,Array.from({length:e.length},(t,n)=>e[n].length-e[n].findLastIndex(e=>e==n_)-1),[e.length,1]):t.position_ids=new U(`int64`,t.input_ids.tolist().map(e=>{let t=0;return e.map(e=>e>=n_?0:t++)}).flat(),t.input_ids.dims)),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),ng(this,e,t,n)}async generate(e){let{sequences:t,audio_tokens:n,speaker_embeddings:r,speaker_features:i}=await super.generate({...e,return_dict_in_generate:!0}),a=t.slice(null,[e.input_ids.dims[1],-1]),o=Pl([n,a,W([a.dims[0],3],t_)],1),{waveform:s}=await eh(this.sessions.conditional_decoder,{speech_tokens:o,speaker_features:i,speaker_embeddings:r});return s}},a_=class extends X{},o_=class extends a_{},s_=class extends X{},c_=class extends s_{},l_=class extends X{},u_=class extends l_{},d_=class extends l_{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??`text_model`})}},f_=class extends l_{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??`audio_model`})}},p_=class extends X{},m_=class extends p_{},h_=class extends p_{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??`text_model`})}},g_=class extends p_{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??`text_model`})}},__=class extends p_{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??`vision_model`})}},v_=class extends p_{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??`vision_model`})}},y_=class extends X{},b_=class extends y_{},x_=class extends y_{},S_=class extends X{},C_=class extends S_{},w_=class extends S_{},T_=class extends X{},E_=class extends T_{},D_=class extends T_{},O_=class extends X{},k_=class extends O_{},A_=class extends O_{},j_=class extends X{requires_attention_mask=!1;main_input_name=`input_features`;forward_params=[`input_features`,`decoder_input_ids`,`decoder_attention_mask`,`past_key_values`]},M_=class extends j_{},N_=class extends j_{},P_=class extends X{},F_=class extends P_{},I_=class extends P_{async _call(e){return new ih(await super._call(e))}},L_=class extends P_{async _call(e){return new J(await super._call(e))}},R_=class extends P_{async _call(e){return new rh(await super._call(e))}},z_=class extends P_{async _call(e){return new ah(await super._call(e))}},B_=class extends X{},V_=class extends B_{},H_=class extends B_{async _call(e){return new J(await super._call(e))}},U_=class extends X{},W_=class extends U_{},G_=class extends U_{async _call(e){return new J(await super._call(e))}},K_=class extends X{},q_=class extends K_{},J_=class extends K_{async _call(e){return new Y_(await super._call(e))}},Y_=class extends nh{constructor({logits:e,pred_boxes:t}){super(),this.logits=e,this.pred_boxes=t}},X_=class extends X{},Z_=class extends X_{},Q_=class extends X_{async _call(e){return new Y_(await super._call(e))}},$_=class extends nh{constructor({audio_codes:e}){super(),this.audio_codes=e}},ev=class extends nh{constructor({audio_values:e}){super(),this.audio_values=e}},tv=class extends X{main_input_name=`input_values`;forward_params=[`input_values`]},nv=class extends tv{async encode(e){return new $_(await eh(this.sessions.encoder_model,e))}async decode(e){return new ev(await eh(this.sessions.decoder_model,e))}},rv=class extends tv{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??`encoder_model`})}},iv=class extends tv{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??`decoder_model`})}},av=class extends X{},ov=class extends av{},sv=class extends av{async _call(e){return new ih(await super._call(e))}},cv=class extends av{async _call(e){return new J(await super._call(e))}},lv=class extends av{async _call(e){return new rh(await super._call(e))}},uv=class extends av{async _call(e){return new ah(await super._call(e))}},dv=class extends X{},fv=class extends dv{},pv=class extends dv{},mv=class extends X{},hv=class extends mv{},gv=class extends mv{async _call(e){return new ih(await super._call(e))}},_v=class extends mv{async _call(e){return new J(await super._call(e))}},vv=class extends mv{async _call(e){return new rh(await super._call(e))}},yv=class extends mv{async _call(e){return new ah(await super._call(e))}},bv=class extends X{},xv=class extends bv{},Sv=class extends X{},Cv=class extends Sv{},wv=class extends Sv{async _call(e){return new J(await super._call(e))}},Tv=class extends X{},Ev=class extends Tv{},Dv=class extends X{},Ov=class extends Dv{},kv=class extends X{},Av=class extends kv{},jv=class extends kv{async _call(e){return new Nv(await super._call(e))}},Mv=class extends kv{async _call(e){return new Pv(await super._call(e))}},Nv=class extends nh{constructor({logits:e,pred_boxes:t}){super(),this.logits=e,this.pred_boxes=t}},Pv=class extends nh{constructor({logits:e,pred_boxes:t,pred_masks:n}){super(),this.logits=e,this.pred_boxes=t,this.pred_masks=n}},Fv=class extends X{},Iv=class extends Fv{},Lv=class extends Fv{async _call(e){return new J(await super._call(e))}},Rv=class extends X{},zv=class extends Rv{},Bv=class extends Rv{async _call(e){return new J(await super._call(e))}},Vv=class extends X{},Hv=class extends Vv{},Uv=class extends X{},Wv=class extends Uv{},Gv=class extends X{},Kv=class extends Gv{},qv=class extends Gv{async _call(e){return new J(await super._call(e))}},Jv=class extends Gv{async _call(e){return new rh(await super._call(e))}},Yv=class extends Gv{async _call(e){return new ah(await super._call(e))}},Xv=class extends Gv{async _call(e){return new ih(await super._call(e))}},Zv=class extends X{},Qv=class extends Zv{},$v=class extends X{},ey=class extends $v{},ty=class extends $v{},ny=class extends X{},ry=class extends ny{},iy=class extends ny{async _call(e){return new J(await super._call(e))}},ay=class extends X{},oy=class extends ay{},sy=class extends ay{async _call(e){return new ih(await super._call(e))}},cy=class extends ay{async _call(e){return new J(await super._call(e))}},ly=class extends ay{async _call(e){return new rh(await super._call(e))}},uy=class extends ay{async _call(e){return new ah(await super._call(e))}},dy=class extends X{},fy=class extends dy{},py=class extends dy{},my=class extends X{},hy=class extends my{},gy=class extends my{async _call(e){return new ih(await super._call(e))}},_y=class extends my{async _call(e){return new J(await super._call(e))}},vy=class extends my{async _call(e){return new rh(await super._call(e))}},yy=class extends X{},by=class extends yy{},xy=class extends yy{async _call(e){return new ih(await super._call(e))}},Sy=class extends yy{async _call(e){return new J(await super._call(e))}},Cy=class extends yy{async _call(e){return new rh(await super._call(e))}},wy=class extends X{},Ty=class extends wy{},Ey=class extends wy{},Dy=class extends X{},Oy=class extends Dy{},ky=class extends Dy{},Ay=class extends X{},jy=class extends Ay{},My=class extends Ay{},Ny=class extends X{},Py=class extends Ny{},Fy=class extends Ny{async _call(e){return new J(await super._call(e))}},Iy=class extends X{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`},Ly=class extends Iy{_merge_input_ids_with_image_features({inputs_embeds:e,image_features:t,input_ids:n,attention_mask:r}){return{inputs_embeds:Pl([t,e],1),attention_mask:Pl([G(t.dims.slice(0,2)),r],1)}}async _prepare_inputs_embeds({input_ids:e,pixel_values:t,inputs_embeds:n,attention_mask:r}){if(!e&&!t)throw Error("Either `input_ids` or `pixel_values` should be provided.");let i,a;return e&&(i=await this.encode_text({input_ids:e})),t&&(a=await this.encode_image({pixel_values:t})),i&&a?{inputs_embeds:n,attention_mask:r}=this._merge_input_ids_with_image_features({inputs_embeds:i,image_features:a,input_ids:e,attention_mask:r}):n=i||a,{inputs_embeds:n,attention_mask:r}}async forward({input_ids:e,pixel_values:t,attention_mask:n,decoder_input_ids:r,decoder_attention_mask:i,encoder_outputs:a,past_key_values:o,inputs_embeds:s,decoder_inputs_embeds:c}){if(s||({inputs_embeds:s,attention_mask:n}=await this._prepare_inputs_embeds({input_ids:e,pixel_values:t,inputs_embeds:s,attention_mask:n})),!a){let{last_hidden_state:e}=await Jh(this,{inputs_embeds:s,attention_mask:n});a=e}if(!c){if(!r)throw Error("Either `decoder_input_ids` or `decoder_inputs_embeds` should be provided.");c=await this.encode_text({input_ids:r})}return await Xh(this,{inputs_embeds:c,attention_mask:i,encoder_attention_mask:n,encoder_hidden_states:a,past_key_values:o},!0)}},Ry=class extends X{},zy=class extends Ry{},By=class extends Ry{},Vy=class extends X{},Hy=class extends Vy{},Uy=class extends Vy{},Wy=class extends X{forward_params=[`input_ids`,`attention_mask`,`pixel_values`,`position_ids`,`past_key_values`]},Gy=class extends Wy{_merge_input_ids_with_image_features(e){let t=e.image_features.dims.at(-1),n=e.image_features.view(-1,t);return og({image_token_id:this.config.image_token_index??this.config.image_token_id,...e,image_features:n})}},Ky=class extends Gy{},qy=class extends Gy{},Jy=class extends X{},Yy=class extends Jy{},Xy=class extends Gy{},Zy=class extends Xy{},Qy=class extends X{forward_params=[`input_ids`,`attention_mask`,`inputs_embeds`,`per_layer_inputs`,`position_ids`,`pixel_values`,`input_features`,`input_features_mask`,`past_key_values`]},$y=class extends Qy{async forward({input_ids:e=null,attention_mask:t=null,pixel_values:n=null,input_features:r=null,input_features_mask:i=null,position_ids:a=null,inputs_embeds:o=null,per_layer_inputs:s=null,past_key_values:c=null,generation_config:l=null,logits_processor:u=null,...d}){if((!o||!s)&&({inputs_embeds:o,per_layer_inputs:s}=await eh(this.sessions.embed_tokens,{input_ids:e}),e.dims[1]!==1)){if(n){let{image_features:r}=await this._encode_vision({pixel_values:n,...d});({inputs_embeds:o,attention_mask:t}=this._merge_input_ids_with_image_features({image_features:r,inputs_embeds:o,input_ids:e,attention_mask:t}))}if(r){let{audio_features:n}=await eh(this.sessions.audio_encoder,{input_features:r,input_features_mask:i});({inputs_embeds:o,attention_mask:t}=this._merge_input_ids_with_audio_features({audio_features:n,inputs_embeds:o,input_ids:e,attention_mask:t}))}}return await Xh(this,{inputs_embeds:o,per_layer_inputs:s,past_key_values:c,attention_mask:t,position_ids:a,generation_config:l,logits_processor:u},!0)}_encode_vision(e){return eh(this.sessions.vision_encoder,{pixel_values:e.pixel_values})}_merge_input_ids_with_image_features(e){let t=e.image_features.dims.at(-1),n=e.image_features.view(-1,t);return og({image_token_id:this.config.image_token_id,...e,image_features:n})}_merge_input_ids_with_audio_features(e){let t=e.audio_features.dims.at(-1),n=e.audio_features.view(-1,t);return sg({audio_token_id:this.config.audio_token_id,...e,audio_features:n})}},eb=class extends $y{},tb=class extends $y{forward_params=[`input_ids`,`attention_mask`,`inputs_embeds`,`per_layer_inputs`,`position_ids`,`pixel_values`,`image_position_ids`,`input_features`,`input_features_mask`,`past_key_values`];_encode_vision(e){return eh(this.sessions.vision_encoder,{pixel_values:e.pixel_values,pixel_position_ids:e.image_position_ids})}},nb=class extends tb{},rb=class extends X{},ib=class extends rb{},ab=class extends rb{},ob=class extends X{},sb=class extends ob{},cb=class extends ob{},lb=class extends X{forward_params=[`input_ids`,`attention_mask`,`position_ids`,`past_key_values`,`pixel_values`,`image_grid_thw`]},ub=class extends lb{image_grid_thw_name=`grid_thw`;_get_text_only_rope_index(e,t){if(t){let{data:e,dims:n}=eg(t),r=BigInt64Array.from({length:3*e.length},(t,n)=>e[n%e.length]),i=Array.from({length:n[0]},(t,r)=>jc(e.subarray(n[1]*r,n[1]*(r+1)))[0]+1n+BigInt(n[1]));return[new U(`int64`,r,[3,...n]),new U(`int64`,i,[i.length,1])]}else{let[t,n]=e.dims;return[new U(`int64`,BigInt64Array.from({length:3*t*n},(e,r)=>BigInt(Math.floor(r%n/t))),[3,...e.dims]),Ul([t,1])]}}_reorder_and_write_positions(e,t,n,r){let i=e.reduce((e,t)=>e+t.length,0),a=Array(i),o=0;for(let t=0;t<3;++t)for(let n of e){let e=n.length/3;for(let r=t*e;r<(t+1)*e;++r)a[o++]=n[r]}let s=0;for(let e=0;e(t==s&&e.push(n),e),[]).map(e=>c[e+1]),u=l.filter(e=>e==a).length,d=l.filter(e=>e==o).length,f=[],p=0,m=u,h=d;for(let e=0;et>p&&e==a),s=c.findIndex((e,t)=>t>p&&e==o),l=m>0&&e!==-1?e:c.length+1,u=h>0&&s!==-1?s:c.length+1,d,g,_,v;l0?jc(f.at(-1))[0]+1:0;f.push(Array.from({length:3*S},(e,t)=>C+t%S));let w=S+C,T=y*b*x,E=Array.from({length:T},(e,t)=>w+Math.floor(t/(b*x))),ee=Array.from({length:T},(e,t)=>w+Math.floor(t/x)%b),D=Array.from({length:T},(e,t)=>w+t%x);f.push([E,ee,D].flat()),p=d+T}if(p0?jc(f.at(-1))[0]+1:0,t=c.length-p;f.push(Array.from({length:3*t},(n,r)=>e+r%t))}return f}get_rope_index(e,t,n,r){let{vision_config:i}=this.config,a=i.spatial_merge_size??2;if(t||n){let i=e.tolist();r||=Hl(e);let o=r.tolist(),s=Array.from({length:3},()=>Array.from({length:e.dims[0]},()=>Array.from({length:e.dims[1]},()=>0))),c=t?t.tolist():[],l=n?n.tolist():[],u={image_index:0,video_index:0},d=[];for(let e=0;eo[e][n]==1),n=this._get_multimodal_rope_positions({filtered_ids:t,image_grid_thw_list:c,video_grid_thw_list:l,spatial_merge_size:a,state:u}),r=this._reorder_and_write_positions(n,o[e],s,e);d.push(jc(r)[0]+1-i[e].length)}return[new U(`int64`,s.flat(1/0),[3,e.dims[0],e.dims[1]]),new U(`int64`,d,[d.length,1])]}else return this._get_text_only_rope_index(e,r)}async encode_image({pixel_values:e,image_grid_thw:t}){return(await eh(this.sessions.vision_encoder,{pixel_values:e,[this.image_grid_thw_name]:t})).image_features}_merge_input_ids_with_image_features(e){return og({image_token_id:this.config.image_token_id,...e})}prepare_inputs_for_generation(e,t,n){if(!t.attention_mask||t.position_ids||!(this.sessions.decoder_model_merged??this.sessions.model).inputNames.includes(`position_ids`))return t;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;let e=t.past_key_values.get_seq_length();if(en+e);t.position_ids=Fl([r,r,r],0)}}return t}},db=class extends ub{},fb=class extends ub{image_grid_thw_name=`image_grid_thw`},pb=class extends db{image_grid_thw_name=`image_grid_thw`},mb=class extends fb{get_vision_position_ids(e,t,n,r){let i=Math.floor(t[0]/n),a=Math.floor(t[1]/r),o=Math.floor(t[2]/r),s=a*o*i,c=Array.from({length:s},()=>e),l=Array.from({length:s},(t,n)=>e+Math.floor(n/(o*i))),u=Array.from({length:s},(t,n)=>e+n%o);return[...c,...l,...u]}_get_multimodal_rope_positions({filtered_ids:e,image_grid_thw_list:t,video_grid_thw_list:n,spatial_merge_size:r,state:i}){let{image_token_id:a}=this.config,o=[],s=0,c=e[0]==a?1:0;for(let t=1;t<=e.length;++t){let n=tl+n%e)),l+=e}else{let e=t[i.image_index++].map(Number),n=e[0];u.push(this.get_vision_position_ids(l,e,n,r)),l+=Math.max(e[1],e[2])/r}return u}},hb=class extends X{},gb=class extends hb{},_b=class extends hb{},vb=class extends X{},yb=class extends vb{},bb=class extends vb{},xb=class extends X{},Sb=class extends xb{},Cb=class extends xb{},wb=class extends X{},Tb=class extends wb{},Eb=class extends wb{},Db=class extends X{},Ob=class extends Db{},kb=class extends Db{},Ab=class extends X{},jb=class extends Ab{},Mb=class extends Ab{},Nb=class extends X{},Pb=class extends Nb{},Fb=class extends Nb{},Ib=class extends X{},Lb=class extends Ib{},Rb=class extends Ib{},zb=class extends X{},Bb=class extends zb{},Vb=class extends zb{},Hb=class extends X{forward_params=[`input_ids`,`attention_mask`,`position_ids`,`audio_values`,`past_key_values`]},Ub=class extends Hb{_merge_input_ids_with_audio_features(e){let t=e.audio_features.dims.at(-1),n=e.audio_features.view(-1,t);return sg({audio_token_id:this.config.ignore_index??this.config.audio_token_id??this.config.audio_token_index,...e,audio_features:n})}},Wb=class extends Ub{forward_params=[`input_ids`,`attention_mask`,`input_features`,`past_key_values`]},Gb=class extends X{},Kb=class extends Gb{},qb=class extends X{},Jb=class extends qb{},Yb=class extends X{},Xb=class extends Yb{},Zb=class extends Yb{},Qb=class extends X{},$b=class extends Qb{},ex=class extends Qb{async _call(e){return new J(await super._call(e))}},tx=class extends X{},nx=class extends tx{},rx=class extends tx{async _call(e){return new oh(await super._call(e))}},ix=class extends tx{async _call(e){return new J(await super._call(e))}},ax=class extends tx{async _call(e){return new rh(await super._call(e))}},ox=class extends X{},sx=class extends tx{},cx=class extends tx{async _call(e){return new oh(await super._call(e))}},lx=class extends tx{async _call(e){return new J(await super._call(e))}},ux=class extends X{},dx=class extends ux{},fx=class extends ux{},px=class extends Gy{forward_params=[`input_ids`,`attention_mask`,`pixel_values`,`pixel_attention_mask`,`position_ids`,`past_key_values`]},mx=class extends X{},hx=class extends mx{},gx=class extends mx{async _call(e){return new J(await super._call(e))}},_x=class extends X{},vx=class extends _x{},yx=class extends _x{},bx=class extends X{},xx=class extends bx{async forward(e){let t=!e.input_ids,n=!e.pixel_values;if(t&&n)throw Error("Either `input_ids` or `pixel_values` should be provided.");if(t&&(e.input_ids=G([e.pixel_values.dims[0],1])),n){let{image_size:t}=this.config.vision_config;e.pixel_values=W([0,3,t,t],0)}let{text_embeddings:r,image_embeddings:i,l2norm_text_embeddings:a,l2norm_image_embeddings:o}=await super.forward(e),s={};return t||(s.text_embeddings=r,s.l2norm_text_embeddings=a),n||(s.image_embeddings=i,s.l2norm_image_embeddings=o),s}},Sx=class extends bx{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??`text_model`})}},Cx=class extends bx{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??`vision_model`})}},wx=class extends X{},Tx=class extends wx{},Ex=class extends wx{},Dx=class extends Gy{},Ox=class extends X{},kx=class extends Ox{},Ax=class extends Ox{},jx=class extends Gy{forward_params=[`input_ids`,`attention_mask`,`pixel_values`,`pixel_attention_mask`,`spatial_shapes`,`position_ids`,`past_key_values`]},Mx=class extends X{},Nx=class extends Mx{},Px=class extends Mx{},Fx=class extends X{},Ix=class extends Fx{},Lx=class extends X{},Rx=class extends Lx{},zx=class extends Lx{},Bx=class extends X{},Vx=class extends Bx{},Hx=class extends Bx{},Ux=class extends X{},Wx=class extends Ux{},Gx=class extends Ux{},Kx=class extends X{},qx=class extends Kx{},Jx=class extends Kx{},Yx=class extends X{},Xx=class extends Yx{},Zx=class extends Yx{},Qx=class extends Yx{async _call(e){return new J(await super._call(e))}},$x=class extends Yx{},eS=class extends X{},tS=class extends eS{},nS=class extends X{},rS=class extends nS{},iS=class extends nh{constructor({char_logits:e,bpe_logits:t,wp_logits:n}){super(),this.char_logits=e,this.bpe_logits=t,this.wp_logits=n}get logits(){return[this.char_logits,this.bpe_logits,this.wp_logits]}},aS=class extends X{},oS=class extends aS{async _call(e){return new iS(await super._call(e))}},sS=class extends nh{constructor({audio_codes:e}){super(),this.audio_codes=e}},cS=class extends nh{constructor({audio_values:e}){super(),this.audio_values=e}},lS=class extends X{main_input_name=`input_values`;forward_params=[`input_values`]},uS=class extends lS{async encode(e){return new sS(await eh(this.sessions.encoder_model,e))}async decode(e){return new cS(await eh(this.sessions.decoder_model,e))}},dS=class extends lS{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??`encoder_model`})}},fS=class extends lS{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??`decoder_model`})}},pS=class extends X{},mS=class extends pS{},hS=class extends pS{},gS=class extends X{},_S=class extends gS{},vS=class extends gS{},yS=class extends X{},bS=class extends yS{},xS=class extends yS{async _call(e){return new ih(await super._call(e))}},SS=class extends yS{async _call(e){return new J(await super._call(e))}},CS=class extends yS{async _call(e){return new ah(await super._call(e))}},wS=class extends X{},TS=class extends wS{},ES=class extends wS{},DS=class extends X{},OS=class extends DS{},kS=class extends DS{async _call(e){return new J(await super._call(e))}},AS=class extends DS{},jS=class extends X{},MS=class extends jS{},NS=class extends jS{async _call(e){return new J(await super._call(e))}},PS=class extends jS{},FS=class extends X{},IS=class extends FS{},LS=class extends FS{async _call(e){return new J(await super._call(e))}},RS=class extends FS{},zS=class extends X{},BS=class extends zS{},VS=class extends zS{async _call(e){return new J(await super._call(e))}},HS=class extends zS{},US=class extends X{},WS=class extends US{},GS=class extends US{async _call(e){return new J(await super._call(e))}},KS=class extends X{},qS=class extends KS{},JS=class extends KS{async _call(e){return new J(await super._call(e))}},YS=class extends X{},XS=class extends YS{},ZS=class extends YS{async _call(e){return new ih(await super._call(e))}},QS=class extends YS{async _call(e){return new J(await super._call(e))}},$S=class extends YS{async _call(e){return new rh(await super._call(e))}},eC=class extends X{},tC=class extends eC{},nC=class extends eC{},rC=class extends X{requires_attention_mask=!1;main_input_name=`input_values`;forward_params=[`input_values`,`decoder_input_ids`,`past_key_values`]},iC=class extends rC{},aC=class extends rC{},oC=class extends X{},sC=class extends oC{},cC=class extends oC{async _call(e){return new ih(await super._call(e))}},lC=class extends oC{async _call(e){return new J(await super._call(e))}},uC=class extends oC{async _call(e){return new rh(await super._call(e))}},dC=class extends oC{async _call(e){return new ah(await super._call(e))}},fC=class extends X{},pC=class extends fC{},mC=class extends fC{},hC=class extends X{},gC=class extends hC{},_C=class extends hC{},vC=class extends X{},yC=class extends vC{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){let t=this._generation_mode??`text`,n;if(t===`text`||!e.past_key_values){let t=this.sessions.prepare_inputs_embeds;n=await eh(t,ji(e,t.inputNames))}else{let t=this.sessions.gen_img_embeds;n=await eh(t,ji({image_ids:e.input_ids},t.inputNames))}let r={...e,...n},i=await Xh(this,r),a=this.sessions[t===`text`?`lm_head`:`gen_head`];if(!a)throw Error(`Unable to find "${a}" generation head`);let o=await eh(a,ji(i,a.inputNames));return{...n,...i,...o}}prepare_inputs_for_generation(e,t,n){let r=!!t.past_key_values;return n.guidance_scale!==null&&n.guidance_scale>1&&(r?t.input_ids=Pl([t.input_ids,t.input_ids],0):(t.input_ids=Pl([t.input_ids,Vl(t.input_ids,BigInt(n.pad_token_id))],0),t.attention_mask=Pl([t.attention_mask,Vl(t.attention_mask,0n)],0))),(r||!t.pixel_values)&&(t.pixel_values=W([0,0,3,384,384],1)),r&&(t.images_seq_mask=new U(`bool`,[,].fill(!0).fill(!1,0,1),[1,1]),t.images_emb_mask=new U(`bool`,[].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`;let t=(e.inputs??e[this.main_input_name]).dims[1],n=(await super.generate(e)).slice(null,[t,null]),r=this.sessions.image_decode,{decoded_image:i}=await eh(r,{generated_tokens:n}),a=i.add_(1).mul_(255/2).clamp_(0,255).to(`uint8`),o=[];for(let e of a){let t=uf.fromTensor(e);o.push(t)}return o}},bC=class extends X{},xC=class extends bC{},SC=class extends bC{},CC=class extends X{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){let[t,n]=e.dims,r=this.config.decoder.num_codebooks,i=n-r,a=0;for(let t=0;t0&&o<=i&&(e.data[a++]=e.data[t])}let o=Math.floor(t/r),s=a/(o*r);return new U(e.type,e.data.slice(0,a),[o,r,s])}prepare_inputs_for_generation(e,t,n){let r=BigInt(this.config.decoder.pad_token_id),i=structuredClone(e);for(let e=0;e=t&&(i[e][t]=r);return n.guidance_scale!==null&&n.guidance_scale>1&&(i=i.concat(i)),rg(this,i,t,n)}async generate(e){let t=await super.generate(e),n=this._apply_and_filter_by_delay_pattern_mask(t).unsqueeze_(0),{audio_values:r}=await eh(this.sessions.encodec_decode,{audio_codes:n});return r}},wC=class extends X{},TC=class extends wC{},EC=class extends wC{},DC=class extends X{},OC=class extends DC{},kC=class extends DC{},AC=class extends X{},jC=class extends AC{},MC=class extends AC{async _call(e){return new ih(await super._call(e))}},NC=class extends AC{async _call(e){return new J(await super._call(e))}},PC=class extends AC{async _call(e){return new rh(await super._call(e))}},FC=class extends AC{async _call(e){return new ah(await super._call(e))}},IC=class extends X{},LC=class extends IC{},RC=class extends X{},zC=class extends RC{},BC=class extends RC{},VC=class extends X{},HC=class extends VC{},UC=class extends VC{},WC=class extends X{},GC=class extends WC{},KC=class extends WC{},qC=class extends X{},JC=class extends qC{},YC=class extends qC{},XC=class extends X{},ZC=class extends XC{},QC=class extends XC{},$C=class extends X{},ew=class extends $C{},tw=class extends $C{},nw=class extends X{},rw=class extends nw{},iw=class extends nw{},aw=class extends X{},ow=class extends aw{},sw=class extends aw{},cw=class extends Gy{},lw=class extends X{},uw=class extends lw{async _call(e){return new oh(await super._call(e))}},dw=class extends X{},fw=class extends dw{},pw=class extends dw{},mw=class extends X{},hw=class extends mw{},gw=class extends mw{},_w=class extends X{},vw=class extends _w{},yw=class extends _w{},bw=class extends X{},xw=class extends bw{},Sw=class extends bw{},Cw=class extends X{forward_params=[`input_ids`,`inputs_embeds`,`attention_mask`,`position_ids`,`pixel_values`,`image_sizes`,`past_key_values`]},ww=class extends Cw{async forward({input_ids:e=null,attention_mask:t=null,pixel_values:n=null,image_sizes:r=null,position_ids:i=null,inputs_embeds:a=null,past_key_values:o=null,generation_config:s=null,logits_processor:c=null,...l}){if(!a){let t;if(n&&e.dims[1]!==1){if(!r)throw Error("`image_sizes` must be provided when `pixel_values` is provided.");({image_features:t}=await eh(this.sessions.vision_encoder,{pixel_values:n,image_sizes:r}))}else{let e=this.config.normalized_config.hidden_size;t=new U(`float32`,[],[0,e])}({inputs_embeds:a}=await eh(this.sessions.prepare_inputs_embeds,{input_ids:e,image_features:t}))}return await Xh(this,{inputs_embeds:a,past_key_values:o,attention_mask:t,position_ids:i,generation_config:s,logits_processor:c},!1)}},Tw=class extends X{},Ew=class extends Tw{},Dw=class extends Tw{async _call(e){return new J(await super._call(e))}},Ow=class extends X{},kw=class extends Ow{},Aw=class extends Ow{async _call(e){return new rh(await super._call(e))}},jw=class extends X{},Mw=class extends jw{},Nw=class extends jw{},Pw=class extends X{},Fw=class extends Pw{},Iw=class extends Pw{},Lw=class extends X{},Rw=class extends Lw{},zw=class extends Lw{},Bw=class extends X{},Vw=class extends Bw{},Hw=class extends Bw{},Uw=class extends X{},Ww=class extends Uw{},Gw=class extends Uw{},Kw=class extends fb{},qw=class extends pb{},Jw=class extends Kw{},Yw=class extends qw{},Xw=class extends Kw{},Zw=class extends Xw{},Qw=class extends Xw{},$w=class extends Zw{},eT=class extends X{},tT=class extends eT{},nT=class extends eT{async _call(e){return new J(await super._call(e))}},rT=class extends X{},iT=class extends rT{},aT=class extends rT{async _call(e){return new oT(await super._call(e))}},oT=class extends Y_{},sT=class extends X{},cT=class extends sT{},lT=class extends sT{async _call(e){return new ih(await super._call(e))}},uT=class extends sT{async _call(e){return new J(await super._call(e))}},dT=class extends sT{async _call(e){return new rh(await super._call(e))}},fT=class extends sT{async _call(e){return new ah(await super._call(e))}},pT=class extends X{},mT=class extends pT{},hT=class extends pT{async _call(e){return new ih(await super._call(e))}},gT=class extends pT{async _call(e){return new J(await super._call(e))}},_T=class extends pT{async _call(e){return new rh(await super._call(e))}},vT=class extends pT{async _call(e){return new ah(await super._call(e))}},yT=class extends X{},bT=class extends yT{},xT=class extends yT{async _call(e){return new ST(await super._call(e))}},ST=class extends Y_{},CT=class extends nh{constructor({iou_scores:e,pred_masks:t}){super(),this.iou_scores=e,this.pred_masks=t}},wT=class extends X{},TT=class extends wT{async get_image_embeddings({pixel_values:e}){return await Jh(this,{pixel_values:e})}async forward(e){e=!e.image_embeddings||!e.image_positional_embeddings?{...e,...await this.get_image_embeddings(e)}:{...e},e.input_labels??=G(e.input_points.dims.slice(0,-1));let 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 eh(this.sessions.prompt_encoder_mask_decoder,t)}async _call(e){return new CT(await super._call(e))}},ET=class extends nh{constructor({iou_scores:e,pred_masks:t,object_score_logits:n}){super(),this.iou_scores=e,this.pred_masks=t,this.object_score_logits=n}},DT=class extends X{},OT=class extends DT{async get_image_embeddings({pixel_values:e}){return await Jh(this,{pixel_values:e})}async forward(e){let{num_feature_levels:t}=this.config.vision_config;if(e=Array.from({length:t},(e,t)=>`image_embeddings.${t}`).some(t=>!e[t])?{...e,...await this.get_image_embeddings(e)}:{...e},e.input_points){if(e.input_boxes&&e.input_boxes.dims[1]!==1)throw Error("When both `input_points` and `input_boxes` are provided, the number of boxes per image must be 1.");let t=e.input_points.dims;e.input_labels??=G(t.slice(0,-1)),e.input_boxes??=W([t[0],0,4],0)}else if(e.input_boxes){let t=e.input_boxes.dims;e.input_labels=W([t[0],t[1],0],-1n),e.input_points=W([t[0],1,0,2],0)}else throw Error("At least one of `input_points` or `input_boxes` must be provided.");let n=this.sessions.prompt_encoder_mask_decoder;return await eh(n,ji(e,n.inputNames))}async _call(e){return new ET(await super._call(e))}},kT=class extends OT{},AT=class extends OT{},jT=class extends X{},MT=class extends jT{},NT=class extends jT{},PT=class extends jT{},FT=class extends X{},IT=class extends FT{},LT=class extends FT{},RT=class extends FT{},zT=class extends X{},BT=class extends zT{},VT=class extends zT{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??`text_model`})}},HT=class extends p_{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??`vision_model`})}},UT=class extends X{},WT=class extends UT{},GT=class extends UT{},KT=class extends X{main_input_name=`input_values`;forward_params=[`input_values`]},qT=class extends KT{async encode(e){return await eh(this.sessions.encoder_model,e)}async decode(e){return await eh(this.sessions.decoder_model,e)}},JT=class extends KT{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??`encoder_model`})}},YT=class extends KT{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??`decoder_model`})}},XT=class extends X{},ZT=class extends XT{},QT=class extends XT{},$T=class extends X{},eE=class extends $T{},tE=class extends $T{},nE=class extends $T{async generate_speech(e,t,{threshold:n=.5,minlenratio:r=0,maxlenratio:i=20,vocoder:a=null}={}){let{encoder_outputs:o,encoder_attention_mask:s}=await Jh(this,{input_ids:e}),c=o.dims[1]/this.config.reduction_factor,l=Math.floor(c*i),u=Math.floor(c*r),d=this.config.num_mel_bins,f=[],p=null,m=null,h=0;for(;;){++h;let e=Vh(!!m),r;r=m?m.output_sequence_out:new U(`float32`,new Float32Array(d),[1,1,d]);let i={use_cache_branch:e,output_sequence:r,encoder_attention_mask:s,speaker_embeddings:t,encoder_hidden_states:o};this.addPastKeyValues(i,p),m=await eh(this.sessions.decoder_model_merged,i),p=this.getPastKeyValues(m,p);let{prob:a,spectrum:c}=m;if(f.push(c),h>=u&&(Array.from(a.data).filter(e=>e>=n).length>0||h>=l))break}let g=Pl(f),{waveform:_}=await eh(a.sessions.model,{spectrogram:g});return{spectrogram:g,waveform:_}}},rE=class extends X{main_input_name=`spectrogram`},iE=class extends X{},aE=class extends iE{},oE=class extends iE{async _call(e){return new ih(await super._call(e))}},sE=class extends iE{async _call(e){return new J(await super._call(e))}},cE=class extends iE{async _call(e){return new ah(await super._call(e))}},lE=class extends X{},uE=class extends lE{},dE=class extends lE{},fE=class extends X{},pE=class extends fE{},mE=class extends fE{},hE=class extends X{},gE=class extends hE{},_E=class extends X{},vE=class extends _E{async generate_speech({input_ids:e,attention_mask:t,style:n,num_inference_steps:r=5,speed:i=1.05}){let{sampling_rate:a,chunk_compress_factor:o,base_chunk_size:s,latent_dim:c}=this.config,{last_hidden_state:l,durations:u}=await eh(this.sessions.text_encoder,{input_ids:e,attention_mask:t,style:n}),d=u.div(i).mul_(a),f=s*o,p=d.data,m=Int32Array.from(p,e=>Math.ceil(e/f)),h=Math.max(...m),g=e.dims[0],_=new BigInt64Array(g*h);for(let e=0;ee*t,1)),d[e]);let f=new U(l,new u(s*uD),[1,s,uD]),p=t[Symbol.asyncIterator]?.()??t[Symbol.iterator]?.();if(!p)throw Error(`input_features must be iterable or async iterable`);return{encoder_session:i,enc_kv_cache:c,enc_padding_cache:f,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:p,text_hidden_size:n.hidden_size}}async function mD(e,t){let n=t.dims[2],r=Math.floor((dD+n-3)/2)+1,i=new U(`int64`,BigInt64Array.from({length:r},(t,n)=>BigInt(e.enc_past_seq_len+n)),[1,r]),a=e.enc_past_seq_len+r,o=G([1,a]),{audio_embeds:s,present_padding_cache:c,...l}=await eh(e.encoder_session,{input_features:t,attention_mask:o,position_ids:i,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=c;for(let t in l)if(t.startsWith(`present.`)){let n=t.replace(`present`,`past_key_values`),r=e.enc_kv_cache[n];r?.location===`gpu-buffer`&&r.dispose(),e.enc_kv_cache[n]=l[t]}return e.enc_past_seq_len=a,s}async function hD(e,t){for(;e.audio_embed_total_tokens0&&e.audio_embed_queue.length>0;){let t=e.audio_embed_queue[0],n=t.tokens-e.audio_queue_offset,o=Math.min(a,n),s=e.audio_queue_offset*e.text_hidden_size;for(let n=0;n=t.tokens&&(e.audio_embed_queue.shift(),e.audio_queue_offset=0)}e.audio_consumed+=n-a}var _D=class extends wh{constructor(e){super(),this._s=e}_call(e){let t=this._s.stream_exhausted&&this._s.audio_embed_queue.length===0;return e.map(()=>t)}},vD=class extends X{forward_params=[`input_ids`,`attention_mask`,`position_ids`,`past_key_values`]},yD=class extends vD{async forward({input_ids:e,past_key_values:t,...n}){let r=e.dims[1],i=fD.get(this);i&&await hD(i,i.audio_consumed+r);let{inputs_embeds:a}=await eh(this.sessions.embed_tokens,{input_ids:e});i&&gD(i,a,r);let o={inputs_embeds:a,...n};this.addPastKeyValues(o,t);let s=this.sessions.decoder_model_merged;return await eh(s,ji(o,s.inputNames))}async generate({input_features:e,stopping_criteria:t,...n}){if(!e)throw Error(`input_features (generator/iterable) must be provided`);let r=pD(this,e);fD.set(this,r);let i=new Th;i.push(new _D(r)),t&&i.extend(t);try{return await super.generate({...n,stopping_criteria:i})}finally{r.enc_kv_cache.dispose(),fD.delete(this)}}},bD=class extends X{},xD=class extends bD{},SD=class extends bD{async _call(e){return new oh(await super._call(e))}},CD=class extends bD{async _call(e){return new J(await super._call(e))}},wD=class extends nh{constructor({logits:e,embeddings:t}){super(),this.logits=e,this.embeddings=t}},TD=class extends X{},ED=class extends TD{},DD=class extends TD{async _call(e){return new oh(await super._call(e))}},OD=class extends TD{async _call(e){return new J(await super._call(e))}},kD=class extends TD{async _call(e){return new wD(await super._call(e))}},AD=class extends TD{async _call(e){return new rh(await super._call(e))}},jD=class extends X{},MD=class extends jD{},ND=class extends Ch{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},PD=class extends X{requires_attention_mask=!1;main_input_name=`input_features`;forward_params=[`input_features`,`attention_mask`,`decoder_input_ids`,`decoder_attention_mask`,`past_key_values`]},FD=class extends PD{},ID=class extends PD{_prepare_generation_config(e,t){return super._prepare_generation_config(e,t,ND)}_retrieve_init_tokens(e){let t=[e.decoder_start_token_id],n=e.language,r=e.task;if(e.is_multilingual){n||=(F.warn(`No language specified - defaulting to English (en).`),`en`);let i=`<|${Yu(n)}|>`;t.push(e.lang_to_id[i]),t.push(e.task_to_id[r??`transcribe`])}else if(n||r)throw 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&&(F.warn("<|notimestamps|> prompt token is removed from generation_config since `return_timestamps` is set to `true`."),t.pop()),t.filter(e=>e!=null)}async generate({inputs:e=null,generation_config:t=null,logits_processor:n=null,stopping_criteria:r=null,...i}){t=this._prepare_generation_config(t,i);let a=i.decoder_input_ids??this._retrieve_init_tokens(t);if(t.return_timestamps&&(n??=new uh,n.push(new hh(t,a))),t.begin_suppress_tokens&&(n??=new uh,n.push(new mh(t.begin_suppress_tokens,a.length))),t.return_token_timestamps){if(!t.alignment_heads)throw 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`&&F.warn(`Token-level timestamps may not be reliable for task 'translate'.`),t.output_attentions=!0,t.return_dict_in_generate=!0}if(t.return_timestamps&&!i.max_new_tokens)return this._generate_with_seek({inputs:e,generation_config:t,logits_processor:n,init_tokens:a,kwargs:i});let o=await super.generate({inputs:e,generation_config:t,logits_processor:n,decoder_input_ids:a,...i});return t.return_token_timestamps&&(o.token_timestamps=this._extract_token_timestamps(o,t.alignment_heads,t.num_frames,.02,a.length)),o}async _generate_with_seek({inputs:e,generation_config:t,logits_processor:n,init_tokens:r,kwargs:i}){let a=t.no_timestamps_token_id+1,o=Array.isArray(t.eos_token_id)?t.eos_token_id[0]:t.eos_token_id,s=t.return_token_timestamps,c=e,l=c.dims[2],u=2*this.config.max_source_positions,d=0,f=[],p=[];for(;de+n)}if(v.length>0&&v.at(-1)===o&&v.pop(),v.length===0)break;let b=v.map(e=>e>=a),x=v.length>=2&&b[v.length-1]&&!b[v.length-2],S=[];for(let e=0;e0)if(x)C=e-d;else{let e=S.at(-1);C=(v[e-1]-a)*2,w=e}else C=e-d;let T=Math.floor(d/2),E=a+1500;for(let e=0;e=a&&(v[e]=Math.min(v[e]+T,E));f.push(...v.slice(0,w)),y&&p.push(...y.slice(0,w)),d+=C}f.push(o);let m=[...r,...f];if(s){let e=new U(`int64`,m.map(BigInt),[1,m.length]),t=[...Array(r.length).fill(0),...p,0];return{sequences:e,token_timestamps:new U(`float32`,new Float32Array(t),[1,t.length])}}return new U(`int64`,m.map(BigInt),[1,m.length])}_extract_token_timestamps(e,t,n=null,r=.02,i=0){if(!e.cross_attentions)throw Error("Model outputs must contain cross attentions to extract timestamps. This is most likely because the model was not exported with `output_attentions=True`.");n??F.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 a=this.config.median_filter_width;a===void 0&&(F.warn("Model config has no `median_filter_width`, using default value of 7."),a=7);let o=e.cross_attentions,s=Array.from({length:this.config.decoder_layers},(e,t)=>Pl(o.map(e=>e[t]),2)),c=Fl(t.map(([e,t])=>{if(e>=s.length)throw Error(`Layer index ${e} is out of bounds for cross attentions (length ${s.length}).`);return n?s[e].slice(null,t,null,[0,n]):s[e].slice(null,t)})).transpose(1,0,2,3),[l,u]=Ll(c,-2,0,!0),d=c.clone();for(let e=0;e0?d.slice(null,null,[i,d.dims[2]],null):d,1)],p=e.sequences.dims,m=new U(`float32`,new Float32Array(p[0]*p[1]),p);for(let e=0;et[n+1]-t[n])).map(e=>!!e),o=[];for(let e=0;e0&&s.push(o.at(-1)),m[e].data.set(s)}return m}},LD=class extends ID{},RD=class extends X{},zD=class extends RD{},BD=class extends RD{async _call(e){return new ih(await super._call(e))}},VD=class extends RD{async _call(e){return new J(await super._call(e))}},HD=class extends RD{async _call(e){return new rh(await super._call(e))}},UD=class extends RD{async _call(e){return new ah(await super._call(e))}},WD=class extends X{},GD=class extends WD{},KD=class extends WD{async _call(e){return new ih(await super._call(e))}},qD=class extends WD{async _call(e){return new J(await super._call(e))}},JD=class extends WD{async _call(e){return new rh(await super._call(e))}},YD=class extends WD{async _call(e){return new ah(await super._call(e))}},XD=class extends X{},ZD=class extends XD{},QD=class extends XD{async _call(e){return new $D(await super._call(e))}},$D=class extends nh{constructor({logits:e,pred_boxes:t}){super(),this.logits=e,this.pred_boxes=t}},eO=class extends X{},tO=class extends eO{},nO=class extends eO{},rO=new Map([[`bert`,`BertModel`],[`eurobert`,`EuroBertModel`],[`neobert`,`NeoBertModel`],[`modernbert`,`ModernBertModel`],[`nomic_bert`,`NomicBertModel`],[`roformer`,`RoFormerModel`],[`electra`,`ElectraModel`],[`esm`,`EsmModel`],[`convbert`,`ConvBertModel`],[`camembert`,`CamembertModel`],[`deberta`,`DebertaModel`],[`deberta-v2`,`DebertaV2Model`],[`mpnet`,`MPNetModel`],[`albert`,`AlbertModel`],[`distilbert`,`DistilBertModel`],[`roberta`,`RobertaModel`],[`xlm`,`XLMModel`],[`xlm-roberta`,`XLMRobertaModel`],[`clap`,`ClapModel`],[`clip`,`CLIPModel`],[`clipseg`,`CLIPSegModel`],[`chinese_clip`,`ChineseCLIPModel`],[`siglip`,`SiglipModel`],[`jina_clip`,`JinaCLIPModel`],[`mobilebert`,`MobileBertModel`],[`squeezebert`,`SqueezeBertModel`],[`wav2vec2`,`Wav2Vec2Model`],[`wav2vec2-bert`,`Wav2Vec2BertModel`],[`unispeech`,`UniSpeechModel`],[`unispeech-sat`,`UniSpeechSatModel`],[`hubert`,`HubertModel`],[`wavlm`,`WavLMModel`],[`audio-spectrogram-transformer`,`ASTModel`],[`vits`,`VitsModel`],[`pyannote`,`PyAnnoteModel`],[`wespeaker-resnet`,`WeSpeakerResNetModel`],[`detr`,`DetrModel`],[`rt_detr`,`RTDetrModel`],[`rt_detr_v2`,`RTDetrV2Model`],[`rf_detr`,`RFDetrModel`],[`d_fine`,`DFineModel`],[`table-transformer`,`TableTransformerModel`],[`vit`,`ViTModel`],[`ijepa`,`IJepaModel`],[`pvt`,`PvtModel`],[`vit_msn`,`ViTMSNModel`],[`vit_mae`,`ViTMAEModel`],[`groupvit`,`GroupViTModel`],[`fastvit`,`FastViTModel`],[`mobilevit`,`MobileViTModel`],[`mobilevitv2`,`MobileViTV2Model`],[`owlvit`,`OwlViTModel`],[`owlv2`,`Owlv2Model`],[`beit`,`BeitModel`],[`deit`,`DeiTModel`],[`hiera`,`HieraModel`],[`convnext`,`ConvNextModel`],[`convnextv2`,`ConvNextV2Model`],[`dinov2`,`Dinov2Model`],[`dinov2_with_registers`,`Dinov2WithRegistersModel`],[`dinov3_vit`,`DINOv3ViTModel`],[`dinov3_convnext`,`DINOv3ConvNextModel`],[`resnet`,`ResNetModel`],[`swin`,`SwinModel`],[`swin2sr`,`Swin2SRModel`],[`donut-swin`,`DonutSwinModel`],[`yolos`,`YolosModel`],[`dpt`,`DPTModel`],[`glpn`,`GLPNModel`],[`hifigan`,`SpeechT5HifiGan`],[`efficientnet`,`EfficientNetModel`],[`decision_transformer`,`DecisionTransformerModel`],[`patchtst`,`PatchTSTModel`],[`patchtsmixer`,`PatchTSMixerModel`],[`mobilenet_v1`,`MobileNetV1Model`],[`mobilenet_v2`,`MobileNetV2Model`],[`mobilenet_v3`,`MobileNetV3Model`],[`mobilenet_v4`,`MobileNetV4Model`],[`maskformer`,`MaskFormerModel`],[`mgp-str`,`MgpstrForSceneTextRecognition`],[`style_text_to_speech_2`,`StyleTextToSpeech2Model`]]),iO=new Map([[`t5`,`T5Model`],[`longt5`,`LongT5Model`],[`mt5`,`MT5Model`],[`bart`,`BartModel`],[`mbart`,`MBartModel`],[`marian`,`MarianModel`],[`whisper`,`WhisperModel`],[`cohere_asr`,`CohereAsrModel`],[`m2m_100`,`M2M100Model`],[`blenderbot`,`BlenderbotModel`],[`blenderbot-small`,`BlenderbotSmallModel`]]),aO=new Map([[`mimi`,`MimiModel`],[`dac`,`DacModel`],[`snac`,`SnacModel`]]),oO=new Map([[`bloom`,`BloomModel`],[`jais`,`JAISModel`],[`gpt2`,`GPT2Model`],[`gpt_oss`,`GptOssModel`],[`gptj`,`GPTJModel`],[`gpt_bigcode`,`GPTBigCodeModel`],[`gpt_neo`,`GPTNeoModel`],[`gpt_neox`,`GPTNeoXModel`],[`codegen`,`CodeGenModel`],[`llama`,`LlamaModel`],[`apertus`,`ApertusModel`],[`nanochat`,`NanoChatModel`],[`arcee`,`ArceeModel`],[`afmoe`,`AfmoeModel`],[`lfm2`,`Lfm2Model`],[`lfm2_moe`,`Lfm2MoeModel`],[`smollm3`,`SmolLM3Model`],[`exaone`,`ExaoneModel`],[`olmo`,`OlmoModel`],[`olmo2`,`Olmo2Model`],[`olmo3`,`Olmo3Model`],[`olmo_hybrid`,`OlmoHybridModel`],[`mobilellm`,`MobileLLMModel`],[`granite`,`GraniteModel`],[`granitemoehybrid`,`GraniteMoeHybridModel`],[`cohere`,`CohereModel`],[`cohere2`,`Cohere2Model`],[`gemma`,`GemmaModel`],[`gemma2`,`Gemma2Model`],[`vaultgemma`,`VaultGemmaModel`],[`gemma3_text`,`Gemma3Model`],[`helium`,`HeliumModel`],[`glm`,`GlmModel`],[`glm_moe_dsa`,`GlmMoeDsaModel`],[`openelm`,`OpenELMModel`],[`qwen2`,`Qwen2Model`],[`qwen2_moe`,`Qwen2MoeModel`],[`qwen3`,`Qwen3Model`],[`qwen3_moe`,`Qwen3MoeModel`],[`qwen3_next`,`Qwen3NextModel`],[`phi`,`PhiModel`],[`phi3`,`Phi3Model`],[`mpt`,`MptModel`],[`opt`,`OPTModel`],[`mistral`,`MistralModel`],[`mistral4`,`Mistral4Model`],[`ministral`,`MinistralModel`],[`ministral3`,`Ministral3Model`],[`ernie4_5`,`Ernie4_5ForCausalLM`],[`starcoder2`,`Starcoder2Model`],[`deepseek_v3`,`DeepseekV3Model`],[`falcon`,`FalconModel`],[`falcon_h1`,`FalconH1Model`],[`nemotron_h`,`NemotronHModel`],[`solar_open`,`SolarOpenModel`],[`stablelm`,`StableLmModel`],[`modernbert-decoder`,`ModernBertDecoderModel`],[`hunyuan_v1_dense`,`HunYuanDenseV1Model`],[`youtu`,`YoutuModel`]]),sO=new Map([[`speecht5`,`SpeechT5ForSpeechToText`],[`whisper`,`WhisperForConditionalGeneration`],[`lite-whisper`,`LiteWhisperForConditionalGeneration`],[`moonshine`,`MoonshineForConditionalGeneration`],[`cohere_asr`,`CohereAsrForConditionalGeneration`]]),cO=new Map([[`speecht5`,`SpeechT5ForTextToSpeech`]]),lO=new Map([[`vits`,`VitsModel`],[`musicgen`,`MusicgenForConditionalGeneration`],[`supertonic`,`SupertonicForConditionalGeneration`]]),uO=new Map([[`bert`,`BertForSequenceClassification`],[`eurobert`,`EuroBertForSequenceClassification`],[`neobert`,`NeoBertForSequenceClassification`],[`modernbert`,`ModernBertForSequenceClassification`],[`roformer`,`RoFormerForSequenceClassification`],[`electra`,`ElectraForSequenceClassification`],[`esm`,`EsmForSequenceClassification`],[`convbert`,`ConvBertForSequenceClassification`],[`camembert`,`CamembertForSequenceClassification`],[`deberta`,`DebertaForSequenceClassification`],[`deberta-v2`,`DebertaV2ForSequenceClassification`],[`mpnet`,`MPNetForSequenceClassification`],[`albert`,`AlbertForSequenceClassification`],[`distilbert`,`DistilBertForSequenceClassification`],[`roberta`,`RobertaForSequenceClassification`],[`xlm`,`XLMForSequenceClassification`],[`xlm-roberta`,`XLMRobertaForSequenceClassification`],[`bart`,`BartForSequenceClassification`],[`mbart`,`MBartForSequenceClassification`],[`mobilebert`,`MobileBertForSequenceClassification`],[`squeezebert`,`SqueezeBertForSequenceClassification`]]),dO=new Map([[`bert`,`BertForTokenClassification`],[`eurobert`,`EuroBertForTokenClassification`],[`neobert`,`NeoBertForTokenClassification`],[`modernbert`,`ModernBertForTokenClassification`],[`roformer`,`RoFormerForTokenClassification`],[`electra`,`ElectraForTokenClassification`],[`esm`,`EsmForTokenClassification`],[`convbert`,`ConvBertForTokenClassification`],[`camembert`,`CamembertForTokenClassification`],[`deberta`,`DebertaForTokenClassification`],[`deberta-v2`,`DebertaV2ForTokenClassification`],[`mpnet`,`MPNetForTokenClassification`],[`distilbert`,`DistilBertForTokenClassification`],[`roberta`,`RobertaForTokenClassification`],[`xlm`,`XLMForTokenClassification`],[`xlm-roberta`,`XLMRobertaForTokenClassification`]]),fO=new Map([[`t5`,`T5ForConditionalGeneration`],[`longt5`,`LongT5ForConditionalGeneration`],[`mt5`,`MT5ForConditionalGeneration`],[`bart`,`BartForConditionalGeneration`],[`mbart`,`MBartForConditionalGeneration`],[`marian`,`MarianMTModel`],[`m2m_100`,`M2M100ForConditionalGeneration`],[`blenderbot`,`BlenderbotForConditionalGeneration`],[`blenderbot-small`,`BlenderbotSmallForConditionalGeneration`]]),pO=new Map([[`bloom`,`BloomForCausalLM`],[`gpt2`,`GPT2LMHeadModel`],[`gpt_oss`,`GptOssForCausalLM`],[`jais`,`JAISLMHeadModel`],[`gptj`,`GPTJForCausalLM`],[`gpt_bigcode`,`GPTBigCodeForCausalLM`],[`gpt_neo`,`GPTNeoForCausalLM`],[`gpt_neox`,`GPTNeoXForCausalLM`],[`codegen`,`CodeGenForCausalLM`],[`llama`,`LlamaForCausalLM`],[`nanochat`,`NanoChatForCausalLM`],[`apertus`,`ApertusForCausalLM`],[`llama4_text`,`Llama4ForCausalLM`],[`arcee`,`ArceeForCausalLM`],[`afmoe`,`AfmoeForCausalLM`],[`lfm2`,`Lfm2ForCausalLM`],[`lfm2_moe`,`Lfm2MoeForCausalLM`],[`smollm3`,`SmolLM3ForCausalLM`],[`exaone`,`ExaoneForCausalLM`],[`olmo`,`OlmoForCausalLM`],[`olmo2`,`Olmo2ForCausalLM`],[`olmo3`,`Olmo3ForCausalLM`],[`olmo_hybrid`,`OlmoHybridForCausalLM`],[`mobilellm`,`MobileLLMForCausalLM`],[`granite`,`GraniteForCausalLM`],[`granitemoehybrid`,`GraniteMoeHybridForCausalLM`],[`cohere`,`CohereForCausalLM`],[`cohere2`,`Cohere2ForCausalLM`],[`gemma`,`GemmaForCausalLM`],[`gemma2`,`Gemma2ForCausalLM`],[`vaultgemma`,`VaultGemmaForCausalLM`],[`gemma3_text`,`Gemma3ForCausalLM`],[`gemma3`,`Gemma3ForCausalLM`],[`helium`,`HeliumForCausalLM`],[`glm`,`GlmForCausalLM`],[`glm_moe_dsa`,`GlmMoeDsaForCausalLM`],[`openelm`,`OpenELMForCausalLM`],[`qwen2`,`Qwen2ForCausalLM`],[`qwen2_moe`,`Qwen2MoeForCausalLM`],[`qwen3`,`Qwen3ForCausalLM`],[`qwen3_moe`,`Qwen3MoeForCausalLM`],[`qwen3_next`,`Qwen3NextForCausalLM`],[`qwen2_vl`,`Qwen2VLForCausalLM`],[`qwen2_5_vl`,`Qwen2_5_VLForCausalLM`],[`qwen3_vl`,`Qwen3VLForCausalLM`],[`qwen3_vl_moe`,`Qwen3VLMoeForCausalLM`],[`qwen3_5`,`Qwen3_5ForCausalLM`],[`qwen3_5_text`,`Qwen3_5ForCausalLM`],[`qwen3_5_moe`,`Qwen3_5MoeForCausalLM`],[`gemma3n`,`Gemma3nForCausalLM`],[`gemma4`,`Gemma4ForCausalLM`],[`phi`,`PhiForCausalLM`],[`phi3`,`Phi3ForCausalLM`],[`mpt`,`MptForCausalLM`],[`opt`,`OPTForCausalLM`],[`mbart`,`MBartForCausalLM`],[`mistral`,`MistralForCausalLM`],[`mistral4`,`Mistral4ForCausalLM`],[`ministral`,`MinistralForCausalLM`],[`ministral3`,`Ministral3ForCausalLM`],[`ernie4_5`,`Ernie4_5ForCausalLM`],[`starcoder2`,`Starcoder2ForCausalLM`],[`deepseek_v3`,`DeepseekV3ForCausalLM`],[`falcon`,`FalconForCausalLM`],[`falcon_h1`,`FalconH1ForCausalLM`],[`nemotron_h`,`NemotronHForCausalLM`],[`trocr`,`TrOCRForCausalLM`],[`solar_open`,`SolarOpenForCausalLM`],[`stablelm`,`StableLmForCausalLM`],[`modernbert-decoder`,`ModernBertDecoderForCausalLM`],[`hunyuan_v1_dense`,`HunYuanDenseV1ForCausalLM`],[`youtu`,`YoutuForCausalLM`],[`phi3_v`,`Phi3VForCausalLM`]]),mO=new Map([[`multi_modality`,`MultiModalityCausalLM`]]),hO=new Map([[`bert`,`BertForMaskedLM`],[`eurobert`,`EuroBertForMaskedLM`],[`neobert`,`NeoBertForMaskedLM`],[`modernbert`,`ModernBertForMaskedLM`],[`roformer`,`RoFormerForMaskedLM`],[`electra`,`ElectraForMaskedLM`],[`esm`,`EsmForMaskedLM`],[`convbert`,`ConvBertForMaskedLM`],[`camembert`,`CamembertForMaskedLM`],[`deberta`,`DebertaForMaskedLM`],[`deberta-v2`,`DebertaV2ForMaskedLM`],[`mpnet`,`MPNetForMaskedLM`],[`albert`,`AlbertForMaskedLM`],[`distilbert`,`DistilBertForMaskedLM`],[`roberta`,`RobertaForMaskedLM`],[`xlm`,`XLMWithLMHeadModel`],[`xlm-roberta`,`XLMRobertaForMaskedLM`],[`mobilebert`,`MobileBertForMaskedLM`],[`squeezebert`,`SqueezeBertForMaskedLM`]]),gO=new Map([[`bert`,`BertForQuestionAnswering`],[`neobert`,`NeoBertForQuestionAnswering`],[`roformer`,`RoFormerForQuestionAnswering`],[`electra`,`ElectraForQuestionAnswering`],[`convbert`,`ConvBertForQuestionAnswering`],[`camembert`,`CamembertForQuestionAnswering`],[`deberta`,`DebertaForQuestionAnswering`],[`deberta-v2`,`DebertaV2ForQuestionAnswering`],[`mpnet`,`MPNetForQuestionAnswering`],[`albert`,`AlbertForQuestionAnswering`],[`distilbert`,`DistilBertForQuestionAnswering`],[`roberta`,`RobertaForQuestionAnswering`],[`xlm`,`XLMForQuestionAnswering`],[`xlm-roberta`,`XLMRobertaForQuestionAnswering`],[`mobilebert`,`MobileBertForQuestionAnswering`],[`squeezebert`,`SqueezeBertForQuestionAnswering`]]),_O=new Map([[`vision-encoder-decoder`,`VisionEncoderDecoderModel`],[`idefics3`,`Idefics3ForConditionalGeneration`],[`smolvlm`,`SmolVLMForConditionalGeneration`]]),vO=new Map([[`llava`,`LlavaForConditionalGeneration`],[`llava_onevision`,`LlavaOnevisionForConditionalGeneration`],[`moondream1`,`Moondream1ForConditionalGeneration`],[`florence2`,`Florence2ForConditionalGeneration`],[`qwen2_vl`,`Qwen2VLForConditionalGeneration`],[`qwen2_5_vl`,`Qwen2_5_VLForConditionalGeneration`],[`qwen3_vl`,`Qwen3VLForConditionalGeneration`],[`qwen3_vl_moe`,`Qwen3VLMoeForConditionalGeneration`],[`qwen3_5`,`Qwen3_5ForConditionalGeneration`],[`qwen3_5_moe`,`Qwen3_5MoeForConditionalGeneration`],[`lfm2_vl`,`Lfm2VlForConditionalGeneration`],[`idefics3`,`Idefics3ForConditionalGeneration`],[`smolvlm`,`SmolVLMForConditionalGeneration`],[`paligemma`,`PaliGemmaForConditionalGeneration`],[`llava_qwen2`,`LlavaQwen2ForCausalLM`],[`gemma3`,`Gemma3ForConditionalGeneration`],[`gemma3n`,`Gemma3nForConditionalGeneration`],[`gemma4`,`Gemma4ForConditionalGeneration`],[`mistral3`,`Mistral3ForConditionalGeneration`],[`lighton_ocr`,`LightOnOcrForConditionalGeneration`],[`glm_ocr`,`GlmOcrForConditionalGeneration`]]),yO=new Map([[`granite_speech`,`GraniteSpeechForConditionalGeneration`],[`ultravox`,`UltravoxModel`],[`voxtral`,`VoxtralForConditionalGeneration`],[`voxtral_realtime`,`VoxtralRealtimeForConditionalGeneration`]]),bO=new Map([[`vision-encoder-decoder`,`VisionEncoderDecoderModel`]]),xO=new Map([[`vit`,`ViTForImageClassification`],[`ijepa`,`IJepaForImageClassification`],[`pvt`,`PvtForImageClassification`],[`vit_msn`,`ViTMSNForImageClassification`],[`fastvit`,`FastViTForImageClassification`],[`mobilevit`,`MobileViTForImageClassification`],[`mobilevitv2`,`MobileViTV2ForImageClassification`],[`beit`,`BeitForImageClassification`],[`deit`,`DeiTForImageClassification`],[`hiera`,`HieraForImageClassification`],[`convnext`,`ConvNextForImageClassification`],[`convnextv2`,`ConvNextV2ForImageClassification`],[`dinov2`,`Dinov2ForImageClassification`],[`dinov2_with_registers`,`Dinov2WithRegistersForImageClassification`],[`resnet`,`ResNetForImageClassification`],[`swin`,`SwinForImageClassification`],[`segformer`,`SegformerForImageClassification`],[`efficientnet`,`EfficientNetForImageClassification`],[`mobilenet_v1`,`MobileNetV1ForImageClassification`],[`mobilenet_v2`,`MobileNetV2ForImageClassification`],[`mobilenet_v3`,`MobileNetV3ForImageClassification`],[`mobilenet_v4`,`MobileNetV4ForImageClassification`]]),SO=new Map([[`detr`,`DetrForObjectDetection`],[`rt_detr`,`RTDetrForObjectDetection`],[`rt_detr_v2`,`RTDetrV2ForObjectDetection`],[`rf_detr`,`RFDetrForObjectDetection`],[`d_fine`,`DFineForObjectDetection`],[`table-transformer`,`TableTransformerForObjectDetection`],[`yolos`,`YolosForObjectDetection`]]),CO=new Map([[`owlvit`,`OwlViTForObjectDetection`],[`owlv2`,`Owlv2ForObjectDetection`],[`grounding-dino`,`GroundingDinoForObjectDetection`]]),wO=new Map([[`detr`,`DetrForSegmentation`],[`clipseg`,`CLIPSegForImageSegmentation`]]),TO=new Map([[`segformer`,`SegformerForSemanticSegmentation`],[`sapiens`,`SapiensForSemanticSegmentation`],[`swin`,`SwinForSemanticSegmentation`],[`mobilenet_v1`,`MobileNetV1ForSemanticSegmentation`],[`mobilenet_v2`,`MobileNetV2ForSemanticSegmentation`],[`mobilenet_v3`,`MobileNetV3ForSemanticSegmentation`],[`mobilenet_v4`,`MobileNetV4ForSemanticSegmentation`]]),EO=new Map([[`detr`,`DetrForSegmentation`],[`maskformer`,`MaskFormerForInstanceSegmentation`]]),DO=new Map([[`sam`,`SamModel`],[`sam2`,`Sam2Model`],[`edgetam`,`EdgeTamModel`],[`sam3_tracker`,`Sam3TrackerModel`]]),OO=new Map([[`wav2vec2`,`Wav2Vec2ForCTC`],[`wav2vec2-bert`,`Wav2Vec2BertForCTC`],[`unispeech`,`UniSpeechForCTC`],[`unispeech-sat`,`UniSpeechSatForCTC`],[`wavlm`,`WavLMForCTC`],[`hubert`,`HubertForCTC`],[`parakeet_ctc`,`ParakeetForCTC`]]),kO=new Map([[`wav2vec2`,`Wav2Vec2ForSequenceClassification`],[`wav2vec2-bert`,`Wav2Vec2BertForSequenceClassification`],[`unispeech`,`UniSpeechForSequenceClassification`],[`unispeech-sat`,`UniSpeechSatForSequenceClassification`],[`wavlm`,`WavLMForSequenceClassification`],[`hubert`,`HubertForSequenceClassification`],[`audio-spectrogram-transformer`,`ASTForAudioClassification`]]),AO=new Map([[`wavlm`,`WavLMForXVector`]]),jO=new Map([[`unispeech-sat`,`UniSpeechSatForAudioFrameClassification`],[`wavlm`,`WavLMForAudioFrameClassification`],[`wav2vec2`,`Wav2Vec2ForAudioFrameClassification`],[`pyannote`,`PyAnnoteForAudioFrameClassification`]]),MO=new Map([[`vitmatte`,`VitMatteForImageMatting`]]),NO=new Map([[`patchtst`,`PatchTSTForPrediction`],[`patchtsmixer`,`PatchTSMixerForPrediction`]]),PO=new Map([[`swin2sr`,`Swin2SRForImageSuperResolution`]]),FO=new Map([[`chmv2`,`CHMv2ForDepthEstimation`],[`dpt`,`DPTForDepthEstimation`],[`depth_anything`,`DepthAnythingForDepthEstimation`],[`glpn`,`GLPNForDepthEstimation`],[`sapiens`,`SapiensForDepthEstimation`],[`depth_pro`,`DepthProForDepthEstimation`],[`metric3d`,`Metric3DForDepthEstimation`],[`metric3dv2`,`Metric3Dv2ForDepthEstimation`]]),IO=new Map([[`sapiens`,`SapiensForNormalEstimation`]]),LO=new Map([[`vitpose`,`VitPoseForPoseEstimation`]]),RO=new Map([[`clip`,`CLIPVisionModelWithProjection`],[`siglip`,`SiglipVisionModel`],[`jina_clip`,`JinaCLIPVisionModel`]]),zO=[[rO,Y.EncoderOnly],[iO,Y.EncoderDecoder],[oO,Y.DecoderOnlyWithoutHead],[aO,Y.AutoEncoder],[uO,Y.EncoderOnly],[dO,Y.EncoderOnly],[fO,Y.Seq2Seq],[sO,Y.Seq2Seq],[pO,Y.DecoderOnly],[mO,Y.MultiModality],[hO,Y.EncoderOnly],[gO,Y.EncoderOnly],[_O,Y.Vision2Seq],[vO,Y.ImageTextToText],[yO,Y.AudioTextToText],[xO,Y.EncoderOnly],[wO,Y.EncoderOnly],[EO,Y.EncoderOnly],[TO,Y.EncoderOnly],[MO,Y.EncoderOnly],[NO,Y.EncoderOnly],[PO,Y.EncoderOnly],[FO,Y.EncoderOnly],[IO,Y.EncoderOnly],[LO,Y.EncoderOnly],[SO,Y.EncoderOnly],[CO,Y.EncoderOnly],[DO,Y.MaskGeneration],[OO,Y.EncoderOnly],[kO,Y.EncoderOnly],[cO,Y.Seq2Seq],[lO,Y.EncoderOnly],[AO,Y.EncoderOnly],[jO,Y.EncoderOnly],[RO,Y.EncoderOnly]];for(let[e,t]of zO)for(let n of e.values()){Wh.set(n,t);let e=lg[n];Kh.set(e,n),Gh.set(n,e)}var BO=[[`MusicgenForConditionalGeneration`,CC,Y.Musicgen],[`Phi3VForCausalLM`,ww,Y.Phi3V],[`CLIPTextModelWithProjection`,g_,Y.EncoderOnly],[`SiglipTextModel`,VT,Y.EncoderOnly],[`JinaCLIPTextModel`,Sx,Y.EncoderOnly],[`ClapTextModelWithProjection`,d_,Y.EncoderOnly],[`ClapAudioModelWithProjection`,f_,Y.EncoderOnly],[`DacEncoderModel`,rv,Y.EncoderOnly],[`DacDecoderModel`,iv,Y.EncoderOnly],[`MimiEncoderModel`,dS,Y.EncoderOnly],[`MimiDecoderModel`,fS,Y.EncoderOnly],[`SnacEncoderModel`,JT,Y.EncoderOnly],[`SnacDecoderModel`,YT,Y.EncoderOnly],[`Gemma3nForConditionalGeneration`,$y,Y.ImageAudioTextToText],[`Gemma4ForConditionalGeneration`,tb,Y.ImageAudioTextToText],[`SupertonicForConditionalGeneration`,vE,Y.Supertonic],[`ChatterboxModel`,i_,Y.Chatterbox],[`VoxtralRealtimeForConditionalGeneration`,yD,Y.VoxtralRealtime]];for(let[e,t,n]of BO)Wh.set(e,n),Kh.set(t,e),Gh.set(e,t);var VO=new Map([[`modnet`,wO],[`birefnet`,wO],[`isnet`,wO],[`ben`,wO]]);for(let[e,t]of VO.entries())t.set(e,`PreTrainedModel`),Wh.set(e,Y.EncoderOnly),Gh.set(e,X);var HO=new Set(VO.keys());Wh.set(`PreTrainedModel`,Y.EncoderOnly),Kh.set(X,`PreTrainedModel`);var UO={MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING_NAMES:uO,MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING_NAMES:dO,MODEL_FOR_TEXT_TO_SPECTROGRAM_MAPPING_NAMES:cO,MODEL_FOR_TEXT_TO_WAVEFORM_MAPPING_NAMES:lO,MODEL_FOR_MASKED_LM_MAPPING_NAMES:hO,MODEL_FOR_QUESTION_ANSWERING_MAPPING_NAMES:gO,MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING_NAMES:xO,MODEL_FOR_IMAGE_SEGMENTATION_MAPPING_NAMES:wO,MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING_NAMES:TO,MODEL_FOR_UNIVERSAL_SEGMENTATION_MAPPING_NAMES:EO,MODEL_FOR_OBJECT_DETECTION_MAPPING_NAMES:SO,MODEL_FOR_ZERO_SHOT_OBJECT_DETECTION_MAPPING_NAMES:CO,MODEL_FOR_MASK_GENERATION_MAPPING_NAMES:DO,MODEL_FOR_CTC_MAPPING_NAMES:OO,MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING_NAMES:kO,MODEL_FOR_AUDIO_XVECTOR_MAPPING_NAMES:AO,MODEL_FOR_AUDIO_FRAME_CLASSIFICATION_MAPPING_NAMES:jO,MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING_NAMES:bO,MODEL_FOR_IMAGE_MATTING_MAPPING_NAMES:MO,MODEL_FOR_IMAGE_TO_IMAGE_MAPPING_NAMES:PO,MODEL_FOR_DEPTH_ESTIMATION_MAPPING_NAMES:FO,MODEL_FOR_NORMAL_ESTIMATION_MAPPING_NAMES:IO,MODEL_FOR_POSE_ESTIMATION_MAPPING_NAMES:LO,MODEL_FOR_IMAGE_FEATURE_EXTRACTION_MAPPING_NAMES:RO,MODEL_FOR_IMAGE_TEXT_TO_TEXT_MAPPING_NAMES:vO,MODEL_FOR_AUDIO_TEXT_TO_TEXT_MAPPING_NAMES:yO,MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING_NAMES:fO,MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING_NAMES:sO,MODEL_FOR_CAUSAL_LM_MAPPING_NAMES:pO,MODEL_FOR_VISION_2_SEQ_MAPPING_NAMES:_O};zh(UO);var WO=class{static MODEL_CLASS_MAPPINGS=null;static BASE_IF_FAIL=!1;static supports(e){if(!this.MODEL_CLASS_MAPPINGS)return!1;for(let t of this.MODEL_CLASS_MAPPINGS)if(t.has(e))return!0;return this.BASE_IF_FAIL}static async from_pretrained(e,{progress_callback:t=null,config:n=null,cache_dir:r=null,local_files_only:i=!1,revision:a=`main`,model_file_name:o=null,subfolder:s=`onnx`,device:c=null,dtype:l=null,use_external_data_format:u=null,session_options:d={}}={}){let f={progress_callback:t,config:n,cache_dir:r,local_files_only:i,revision:a,model_file_name:o,subfolder:s,device:c,dtype:l,use_external_data_format:u,session_options:d};if(f.config=await Km.from_pretrained(e,f),!this.MODEL_CLASS_MAPPINGS)throw Error("`MODEL_CLASS_MAPPINGS` not implemented for this type of `AutoClass`: "+this.name);let{model_type:p}=f.config;for(let t of this.MODEL_CLASS_MAPPINGS){let n=t.get(p);if(!n){for(let e of t.values())if(e[0]===p){n=e;break}if(!n)continue}return await lg[n].from_pretrained(e,f)}if(this.BASE_IF_FAIL)return HO.has(p)||F.warn(`Unknown model class "${p}", attempting to construct from base class.`),await X.from_pretrained(e,f);throw Error(`Unsupported model type: ${p}`)}},GO=class extends WO{static MODEL_CLASS_MAPPINGS=zO.map(e=>e[0]);static BASE_IF_FAIL=!0},KO=class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING_NAMES]},qO=class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING_NAMES]},JO=class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING_NAMES]},YO=class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING_NAMES]},XO=class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_TEXT_TO_SPECTROGRAM_MAPPING_NAMES]},ZO=class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_TEXT_TO_WAVEFORM_MAPPING_NAMES]},QO=class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_CAUSAL_LM_MAPPING_NAMES]},$O=class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_MASKED_LM_MAPPING_NAMES]},ek=class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_QUESTION_ANSWERING_MAPPING_NAMES]},tk=class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_VISION_2_SEQ_MAPPING_NAMES]},nk=class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING_NAMES]},rk=class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_IMAGE_SEGMENTATION_MAPPING_NAMES]},ik=class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING_NAMES]},ak=class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_UNIVERSAL_SEGMENTATION_MAPPING_NAMES]},ok=class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_OBJECT_DETECTION_MAPPING_NAMES]},sk=class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_ZERO_SHOT_OBJECT_DETECTION_MAPPING_NAMES]};(class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_MASK_GENERATION_MAPPING_NAMES]});var ck=class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_CTC_MAPPING_NAMES]},lk=class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING_NAMES]};(class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_AUDIO_XVECTOR_MAPPING_NAMES]}),class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_AUDIO_FRAME_CLASSIFICATION_MAPPING_NAMES]};var uk=class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING_NAMES]};(class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_IMAGE_MATTING_MAPPING_NAMES]});var dk=class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_IMAGE_TO_IMAGE_MAPPING_NAMES]},fk=class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_DEPTH_ESTIMATION_MAPPING_NAMES]};(class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_NORMAL_ESTIMATION_MAPPING_NAMES]}),class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_POSE_ESTIMATION_MAPPING_NAMES]};var pk=class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_IMAGE_FEATURE_EXTRACTION_MAPPING_NAMES]};(class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_IMAGE_TEXT_TO_TEXT_MAPPING_NAMES]}),class extends WO{static MODEL_CLASS_MAPPINGS=[UO.MODEL_FOR_AUDIO_TEXT_TO_TEXT_MAPPING_NAMES]};async function mk(e){return Array.isArray(e)||(e=[e]),await Promise.all(e.map(e=>uf.read(e)))}async function hk(e,t){return Array.isArray(e)||(e=[e]),await Promise.all(e.map(e=>typeof e==`string`||e instanceof URL?pd(e,t):e instanceof Float64Array?new Float32Array(e):e))}function gk(e,t){t&&(e=e.map(e=>e|0));let[n,r,i,a]=e;return{xmin:n,ymin:r,xmax:i,ymax:a}}var _k=class extends Si{constructor({task:e,model:t,tokenizer:n=null,processor:r=null}){super(),this.task=e,this.model=t,this.tokenizer=n,this.processor=r}async dispose(){await this.model.dispose()}},vk=class extends _k{async _call(e,{top_k:t=1}={}){let n=this.tokenizer(e,{padding:!0,truncation:!0}),r=await this.model(n),{problem_type:i,id2label:a}=this.model.config,o=i===`multi_label_classification`?e=>e.sigmoid():e=>new U(`float32`,Oc(e.data),e.dims),s=[];for(let e of r.logits){let n=await Dl(o(e),t),r=n[0].tolist(),i=n[1].tolist().map((e,t)=>({label:a?a[e]:`LABEL_${e}`,score:r[t]}));t===1?s.push(...i):s.push(i)}return Array.isArray(e)||t===1?s:s[0]}},yk=class extends _k{async _call(e,{ignore_labels:t=[`O`]}={}){let n=Array.isArray(e),r=this.tokenizer(n?e:[e],{padding:!0,truncation:!0}),i=(await this.model(r)).logits,a=this.model.config.id2label,o=[];for(let e=0;ee==u),i=a[e].tolist(),f=o[e].tolist();for(let n=1;ne==t[n])!==-1)&&(i[n]=-1/0,f[n]=-1/0);let p=Oc(i).map((e,t)=>[e,t]),m=Oc(f).map((e,t)=>[e,t]);p[0][0]=0,m[0][0]=0;let h=ki(p,m).filter(e=>e[0][1]<=e[1][1]).map(e=>[e[0][1],e[1][1],e[0][0]*e[1][0]]).sort((e,t)=>t[2]-e[2]),g=[];for(let e=0;ee==n);if(c===-1)throw Error(`Mask token (${r}) not found in text.`);let l=a[e][c],u=await Dl(new U(`float32`,Oc(l.data),l.dims),t),d=u[0].tolist(),f=u[1].tolist();o.push(f.map((e,t)=>{let n=i.slice();return n[c]=e,{score:d[t],token:Number(e),token_str:this.tokenizer.decode([e]),sequence:this.tokenizer.decode(n,{skip_special_tokens:!0})}}))}return Array.isArray(e)?o:o[0]}},Sk=class extends _k{_key=`generated_text`;async _call(e,t={}){Array.isArray(e)||(e=[e]),this.model.config.prefix&&(e=e.map(e=>this.model.config.prefix+e));let n=this.model.config.task_specific_params;n&&n[this.task]&&n[this.task].prefix&&(e=e.map(e=>n[this.task].prefix+e));let r=this.tokenizer,i={padding:!0,truncation:!0},a;a=this.task===`translation`&&`_build_translation_inputs`in r?r._build_translation_inputs(e,i,t):r(e,i);let o=await this.model.generate({...a,...t});return r.batch_decode(o,{skip_special_tokens:!0}).map(e=>({[this._key]:e}))}},Ck=class extends Sk{_key=`summary_text`},wk=class extends Sk{_key=`translation_text`};function Tk(e){return Array.isArray(e)&&e.every(e=>`role`in e&&`content`in e)}var Ek=class extends _k{async _call(e,t={}){let n=!1,r=!1,i=t.add_special_tokens??(this.tokenizer.add_bos_token||this.tokenizer.add_eos_token)??!1,a=t.tokenizer_encode_kwargs,o;if(typeof e==`string`)o=e=[e];else if(Array.isArray(e)&&e.every(e=>typeof e==`string`))n=!0,o=e;else{if(Tk(e))e=[e];else if(Array.isArray(e)&&e.every(Tk))n=!0;else throw Error(`Input must be a string, an array of strings, a Chat, or an array of Chats`);r=!0,o=e.map(e=>this.tokenizer.apply_chat_template(e,{tokenize:!1,add_generation_prompt:!0,...a})),i=!1,a=void 0}let s=r?!1:t.return_full_text??!0;this.tokenizer.padding_side=`left`;let c=this.tokenizer(o,{add_special_tokens:i,padding:!0,truncation:!0,...a}),l=await this.model.generate({...c,...t}),u=this.tokenizer.batch_decode(l,{skip_special_tokens:!0}),d;!s&&c.input_ids.dims.at(-1)>0&&(d=this.tokenizer.batch_decode(c.input_ids,{skip_special_tokens:!0}).map(e=>e.length));let f=Array.from({length:e.length},e=>[]);for(let t=0;t[e.toLowerCase(),t])),this.entailment_id=this.label2id.entailment,this.entailment_id===void 0&&(F.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&&(F.warn(`Could not find 'contradiction' in label2id mapping. Using 0 as contradiction_id.`),this.contradiction_id=0)}async _call(e,t,{hypothesis_template:n=`This example is {}.`,multi_label:r=!1}={}){let i=Array.isArray(e);i||(e=[e]),Array.isArray(t)||(t=[t]);let a=t.map(e=>n.replace(`{}`,e)),o=r||t.length===1,s=[];for(let n of e){let e=[];for(let t of a){let r=this.tokenizer(n,{text_pair:t,padding:!0,truncation:!0}),i=await this.model(r);o?e.push([i.logits.data[this.contradiction_id],i.logits.data[this.entailment_id]]):e.push(i.logits.data[this.entailment_id])}let r=(o?e.map(e=>Oc(e)[1]):Oc(e)).map((e,t)=>[e,t]).sort((e,t)=>t[0]-e[0]);s.push({sequence:n,labels:r.map(e=>t[e[1]]),scores:r.map(e=>e[0])})}return i?s:s[0]}},Ok=class extends _k{async _call(e,{top_k:t=5}={}){let n=this.processor.feature_extractor.config.sampling_rate,r=await hk(e,n),i=this.model.config.id2label,a=[];for(let e of r){let n=await this.processor(e),r=(await this.model(n)).logits[0],o=await Dl(new U(`float32`,Oc(r.data),r.dims),t),s=o[0].tolist(),c=o[1].tolist().map((e,t)=>({label:i?i[e]:`LABEL_${e}`,score:s[t]}));a.push(c)}return Array.isArray(e)?a:a[0]}},kk=class extends _k{async _call(e,t,{hypothesis_template:n=`This is a sound of {}.`}={}){let r=!Array.isArray(e);r&&(e=[e]);let i=t.map(e=>n.replace(`{}`,e)),a=this.tokenizer(i,{padding:!0,truncation:!0}),o=this.processor.feature_extractor.config.sampling_rate,s=await hk(e,o),c=[];for(let e of s){let n=await this.processor(e),r=Oc((await this.model({...a,...n})).logits_per_audio.data);c.push([...r].map((e,n)=>({score:e,label:t[n]})))}return r?c[0]:c}},Ak=class extends _k{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);case`cohere_asr`:return this._call_cohere_asr(e,t);default:throw Error(`AutomaticSpeechRecognitionPipeline does not support model type '${this.model.config.model_type}'.`)}}async _call_wav2vec2(e,t){t.language&&F.warn('`language` parameter is not yet supported for `wav2vec2` models, defaulting to "English".'),t.task&&F.warn('`task` parameter is not yet supported for `wav2vec2` models, defaulting to "transcribe".');let n=!Array.isArray(e),r=n?[e]:e,i=this.processor.feature_extractor.config.sampling_rate,a=await hk(r,i),o=[];for(let e of a){let t=await this.processor(e),n=(await this.model(t)).logits[0],r=[];for(let e of n)r.push(jc(e.data)[1]);let i=this.tokenizer.decode(r,{skip_special_tokens:!0}).trim();o.push({text:i})}return n?o[0]:o}async _call_whisper(e,t){let n=t.return_timestamps??!1,r=t.chunk_length_s??0,i=t.force_full_sequences??!1,a=t.stride_length_s??null,o={...t};n===`word`&&(o.return_token_timestamps=!0,o.return_timestamps=!0);let s=!Array.isArray(e),c=s?[e]:e,l=this.processor.feature_extractor.config,u=l.chunk_length/this.model.config.max_source_positions,d=l.hop_length,f=l.sampling_rate,p=await hk(c,f),m=[];for(let e of p){let t=[];if(r>0){if(a===null)a=r/6;else if(r<=a)throw Error("`chunk_length_s` must be larger than `stride_length_s`.");let n=f*r,i=f*a,o=n-2*i,s=0;for(;;){let r=s+n,a=e.subarray(s,r),c=await this.processor(a),l=s===0,u=r>=e.length;if(t.push({stride:[a.length,l?0:i,u?0:i],input_features:c.input_features,is_last:u}),u)break;s+=o}}else t=[{stride:[e.length,0,0],input_features:(await this.processor(e)).input_features,is_last:!0}];for(let e of t){o.num_frames=Math.floor(e.stride[0]/d);let t=await this.model.generate({inputs:e.input_features,...o});if(n===`word`){let n=t.sequences.tolist()[0],r=t.token_timestamps.tolist()[0],i=this.tokenizer.timestamp_begin,a=Math.max(n.findIndex(e=>Number(e)>=i),0);e.tokens=n.slice(a),e.token_timestamps=r.slice(a).map(e=>Lc(e,2))}else e.tokens=t[0].tolist();e.stride=e.stride.map(e=>e/f)}let[s,c]=this.tokenizer._decode_asr(t,{time_precision:u,return_timestamps:n,force_full_sequences:i});m.push({text:s,...c})}return s?m[0]:m}async _call_moonshine(e,t){let n=!Array.isArray(e),r=n?[e]:e,i=this.processor.feature_extractor.config.sampling_rate,a=await hk(r,i),o=[];for(let e of a){let n=await this.processor(e),r=Math.floor(e.length/i)*6,a=await this.model.generate({max_new_tokens:r,...t,...n}),s=this.processor.batch_decode(a,{skip_special_tokens:!0})[0];o.push({text:s})}return n?o[0]:o}async _call_cohere_asr(e,t){let n=!Array.isArray(e),r=n?[e]:e,i=this.processor.feature_extractor,a=i.config.sampling_rate,o=await hk(r,a),s=t.language??`en`,c=this.processor.get_decoder_prompt_ids(s),l=[];for(let e of o){let n=i.split_audio(e),r=[];for(let e of n){let n=await this.processor(e),i=await this.model.generate({...n,decoder_input_ids:c,...t}),a=this.tokenizer.decode(i[0].tolist(),{skip_special_tokens:!0}).trim();r.push(a)}let a=this.processor.constructor.join_chunks(r,s);l.push({text:a})}return n?l[0]:l}},jk=class extends _k{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 bi.fetch(e)).arrayBuffer())),e instanceof Float32Array)e=new U(`float32`,e,[e.length]);else if(!(e instanceof U))throw 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 Error(`Expected speaker embeddings batch size to be 1 or ${t}, but got ${e.dims[0]}.`)}return e}_postprocess_waveform(e,t,n,r=null){let i=t.data,[a,o]=t.dims,s=r?r.data:null,c=[];for(let e=0;e({generated_text:e.trim()}));a.push(r)}return n?a:a[0]}},Nk=class extends _k{async _call(e,{top_k:t=5}={}){let n=await mk(e),{pixel_values:r}=await this.processor(n),i=await this.model({pixel_values:r}),{id2label:a}=this.model.config,o=[];for(let e of i.logits){let n=await Dl(new U(`float32`,Oc(e.data),e.dims),t),r=n[0].tolist(),i=n[1].tolist().map((e,t)=>({label:a?a[e]:`LABEL_${e}`,score:r[t]}));o.push(i)}return Array.isArray(e)?o:o[0]}},Pk={panoptic:`post_process_panoptic_segmentation`,instance:`post_process_instance_segmentation`,semantic:`post_process_semantic_segmentation`},Fk=class extends _k{async _call(e,{threshold:t=.5,mask_threshold:n=.5,overlap_mask_area_threshold:r=.8,label_ids_to_fuse:i=null,target_sizes:a=null,subtask:o=null}={}){if(Array.isArray(e)&&e.length!==1)throw Error(`Image segmentation pipeline currently only supports a batch size of 1.`);let s=await mk(e),c=s.map(e=>[e.height,e.width]),l=await this.processor(s),{inputNames:u,outputNames:d}=this.model.sessions.model;if(!u.includes(`pixel_values`)){if(u.length!==1)throw Error(`Expected a single input name, but got ${u.length} inputs: ${u}.`);let e=u[0];if(e in l)throw Error(`Input name ${e} already exists in the inputs.`);l[e]=l.pixel_values}let f=await this.model(l),p=null;if(o!==null)p=Pk[o];else if(this.processor.image_processor){for(let[e,t]of Object.entries(Pk))if(t in this.processor.image_processor){p=this.processor.image_processor[t].bind(this.processor.image_processor),o=e;break}}let m=this.model.config.id2label,h=[];if(!o){let e=1e-5,t=f[d[0]];for(let n=0;nt<-e||t>1+e)&&i.sigmoid_();let a=await uf.fromTensor(i.mul_(255).to(`uint8`)).resize(r[1],r[0]);h.push({label:null,score:null,mask:a})}}else if(o===`panoptic`||o===`instance`){let e=p(f,t,n,r,i,a??c)[0],o=e.segmentation;for(let t of e.segments_info){let e=new Uint8ClampedArray(o.data.length);for(let n=0;n{let n=e.clone();return n.putAlpha(r[t].mask),n});return Array.isArray(e)?i:i[0]}},Lk=class extends _k{async _call(e,t,{hypothesis_template:n=`This is a photo of {}`}={}){let r=Array.isArray(e),i=await mk(e),a=t.map(e=>n.replace(`{}`,e)),o=this.tokenizer(a,{padding:this.model.config.model_type===`siglip`?`max_length`:!0,truncation:!0}),{pixel_values:s}=await this.processor(i),c=await this.model({...o,pixel_values:s}),l=this.model.config.model_type===`siglip`?e=>e.sigmoid().data:e=>Oc(e.data),u=[];for(let e of c.logits_per_image){let n=[...l(e)].map((e,n)=>({score:e,label:t[n]}));n.sort((e,t)=>t.score-e.score),u.push(n)}return r?u:u[0]}},Rk=class extends _k{async _call(e,{threshold:t=.9,percentage:n=!1}={}){let r=Array.isArray(e);if(r&&e.length!==1)throw Error(`Object detection pipeline currently only supports a batch size of 1.`);let i=await mk(e),a=n?null:i.map(e=>[e.height,e.width]),{pixel_values:o,pixel_mask:s}=await this.processor(i),c=await this.model({pixel_values:o,pixel_mask:s}),l=this.processor.image_processor.post_process_object_detection(c,t,a),{id2label:u}=this.model.config,d=l.map(e=>e.boxes.map((t,r)=>({score:e.scores[r],label:u[e.classes[r]],box:gk(t,!n)})));return r?d:d[0]}},zk=class extends _k{async _call(e,t,{threshold:n=.1,top_k:r=null,percentage:i=!1}={}){let a=Array.isArray(e),o=await mk(e),s=this.tokenizer(t,{padding:!0,truncation:!0}),c=await this.processor(o),l=[];for(let e=0;e({score:e.scores[n],label:e.labels[n],box:gk(t,!i)}))}else{let e=this.processor.image_processor.post_process_object_detection(f,n,u,!0)[0];p=e.boxes.map((n,r)=>({score:e.scores[r],label:t[e.classes[r]],box:gk(n,!i)}))}p.sort((e,t)=>t.score-e.score),r!==null&&(p=p.slice(0,r)),l.push(p)}return a?l:l[0]}},Bk=class extends _k{async _call(e,t,n={}){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]}let r=(await mk(e))[0],{pixel_values:i}=await this.processor(r),a=`${t}`,o=this.tokenizer(a,{add_special_tokens:!1,padding:!0,truncation:!0}).input_ids,s=await this.model.generate({inputs:i,max_length:this.model.config.decoder.max_position_embeddings,decoder_input_ids:o,...n}),c=this.tokenizer.batch_decode(s)[0].match(/(.*?)<\/s_answer>/),l=null;return c&&c.length>=2&&(l=c[1].trim()),[{answer:l}]}},Vk=class extends _k{async _call(e){let t=await mk(e),n=await this.processor(t),r=await this.model(n),i=[];for(let e of r.reconstruction){let t=e.squeeze().clamp_(0,1).mul_(255).round_().to(`uint8`);i.push(uf.fromTensor(t))}return Array.isArray(e)?i:i[0]}},Hk=class extends _k{async _call(e){let t=await mk(e),n=await this.processor(t),{predicted_depth:r}=await this.model(n),i=[];for(let e=0;e{let e=new Worker(new URL(`/assets/worker-Bv61e-dB.js`,``+import.meta.url),{type:`module`});return e.onmessage=e=>{let{type:n,...i}=e.data;switch(n){case`status`:t(i.status),i.status===`ready`&&r(null);break;case`progress`:r(i);break;case`error`:a(i.message),t(`error`),s.current?.onComplete?.(``,i.message);break;case`update`:s.current?.onUpdate?.(i.text);break;case`complete`:t(`ready`),s.current?.onComplete?.(i.text),s.current=null;break}},o.current=e,()=>e.terminate()},[]),{status:e,loadProgress:n,error:i,checkWebGPU:(0,y.useCallback)(()=>{o.current?.postMessage({type:`check`})},[]),loadModel:(0,y.useCallback)(()=>{o.current?.postMessage({type:`load`})},[]),generate:(0,y.useCallback)(async({messages:e,imageUrl:t,audioUrl:n,enableThinking:r,onUpdate:i,onComplete:a})=>{s.current={onUpdate:i,onComplete:a};let c=null;if(n)try{c=await pd(n,16e3)}catch(e){console.error(`Audio decode failed:`,e)}let l={type:`generate`,messages:e,imageUrl:t||null,audioData:c,enableThinking:r||!1};o.current?.postMessage(l,c?[c.buffer]:[])},[]),interrupt:(0,y.useCallback)(()=>{o.current?.postMessage({type:`interrupt`})},[])}}var Kk=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),Z=o(((e,t)=>{t.exports=Kk()}))();function qk({onSubmit:e,disabled:t}){let[n,r]=(0,y.useState)(null),[i,a]=(0,y.useState)(null),[o,s]=(0,y.useState)(``),[c,l]=(0,y.useState)(!1),u=(0,y.useRef)(null),d=(0,y.useRef)([]),f=(0,y.useRef)(null),p=(0,y.useRef)(null);function m(e){let t=e.target.files?.[0];t&&r({url:URL.createObjectURL(t),file:t})}async function h(){try{let e=await navigator.mediaDevices.getUserMedia({audio:!0}),t=new MediaRecorder(e);d.current=[],t.ondataavailable=e=>{e.data.size>0&&d.current.push(e.data)},t.onstop=()=>{clearTimeout(p.current);let t=new Blob(d.current,{type:`audio/webm`});a({url:URL.createObjectURL(t),blob:t}),e.getTracks().forEach(e=>e.stop())},p.current=setTimeout(()=>{t.state===`recording`&&t.stop()},3e4),u.current=t,t.start(),l(!0)}catch(e){console.error(`Mic access denied:`,e)}}function g(){u.current?.stop(),l(!1)}function _(){!n&&!i&&!o.trim()||(e({imageUrl:n?.url||null,audioUrl:i?.url||null,text:o.trim()||null}),r(null),a(null),s(``))}let v=n||i||o.trim();return(0,Z.jsxs)(`div`,{className:`px-4 py-3 border-t border-[var(--color-outline)]`,children:[(n||i)&&(0,Z.jsxs)(`div`,{className:`flex gap-2 mb-2`,children:[n&&(0,Z.jsxs)(`div`,{className:`relative`,children:[(0,Z.jsx)(`img`,{src:n.url,alt:`Upload`,className:`h-16 w-16 object-cover rounded-xl border border-[var(--color-outline)]`}),(0,Z.jsx)(`button`,{onClick:()=>{URL.revokeObjectURL(n.url),r(null)},className:`absolute -top-1.5 -right-1.5 w-5 h-5 bg-[var(--color-surface-high)] rounded-full text-xs flex items-center justify-center hover:bg-[var(--color-surface)] cursor-pointer`,children:`×`})]}),i&&(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1.5 bg-[var(--color-surface)] rounded-xl`,children:[(0,Z.jsx)(`audio`,{controls:!0,src:i.url,className:`h-7 max-w-[200px]`}),(0,Z.jsx)(`button`,{onClick:()=>{URL.revokeObjectURL(i.url),a(null)},className:`text-xs text-[var(--color-text-secondary)] hover:text-[var(--color-text)] cursor-pointer`,children:`×`})]})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`input`,{ref:f,type:`file`,accept:`image/*`,capture:`environment`,onChange:m,className:`hidden`}),(0,Z.jsx)(`button`,{onClick:()=>f.current?.click(),disabled:t,className:`p-2 rounded-full text-[var(--color-text-secondary)] hover:bg-[var(--color-surface)] disabled:opacity-30 transition-colors cursor-pointer`,title:`Add image`,children:(0,Z.jsxs)(`svg`,{width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Z.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}),(0,Z.jsx)(`circle`,{cx:`8.5`,cy:`8.5`,r:`1.5`}),(0,Z.jsx)(`path`,{d:`m21 15-5-5L5 21`})]})}),(0,Z.jsx)(`button`,{onClick:c?g:h,disabled:t,className:`p-2 rounded-full disabled:opacity-30 transition-colors cursor-pointer ${c?`text-[var(--color-red)] bg-red-500/10 animate-pulse`:`text-[var(--color-text-secondary)] hover:bg-[var(--color-surface)]`}`,title:c?`Stop recording`:`Record audio`,children:c?(0,Z.jsx)(`svg`,{width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`currentColor`,children:(0,Z.jsx)(`rect`,{x:`6`,y:`6`,width:`12`,height:`12`,rx:`2`})}):(0,Z.jsxs)(`svg`,{width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Z.jsx)(`path`,{d:`M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z`}),(0,Z.jsx)(`path`,{d:`M19 10v2a7 7 0 0 1-14 0v-2`}),(0,Z.jsx)(`line`,{x1:`12`,x2:`12`,y1:`19`,y2:`22`})]})}),(0,Z.jsx)(`input`,{type:`text`,value:o,onChange:e=>s(e.target.value),onKeyDown:e=>{e.key===`Enter`&&v&&!t&&_()},placeholder:`Message Gemma 4...`,disabled:t,className:`flex-1 bg-[var(--color-surface)] border border-[var(--color-outline)] rounded-xl px-4 py-2.5 text-sm text-[var(--color-text)] placeholder:text-[var(--color-text-secondary)]/50 focus:border-[var(--color-blue)]/50 focus:outline-none disabled:opacity-50`}),(0,Z.jsx)(`button`,{onClick:_,disabled:t||!v,className:`px-5 py-2.5 bg-[var(--color-blue)] hover:bg-[var(--color-blue)]/90 text-white text-sm font-medium rounded-xl transition-colors disabled:opacity-30 disabled:cursor-not-allowed cursor-pointer`,children:`Send`})]})]})}function Jk(e,t){let n=t||{};return(e[e.length-1]===``?[...e,``]:e).join((n.padRight?` `:``)+`,`+(n.padLeft===!1?``:` `)).trim()}var Yk=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Xk=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Zk={};function Qk(e,t){return((t||Zk).jsx?Xk:Yk).test(e)}var $k=/[ \t\n\f\r]/g;function eA(e){return typeof e==`object`?e.type===`text`?tA(e.value):!1:tA(e)}function tA(e){return e.replace($k,``)===``}var nA=class{constructor(e,t,n){this.normal=t,this.property=e,n&&(this.space=n)}};nA.prototype.normal={},nA.prototype.property={},nA.prototype.space=void 0;function rA(e,t){let n={},r={};for(let t of e)Object.assign(n,t.property),Object.assign(r,t.normal);return new nA(n,r,t)}function iA(e){return e.toLowerCase()}var aA=class{constructor(e,t){this.attribute=t,this.property=e}};aA.prototype.attribute=``,aA.prototype.booleanish=!1,aA.prototype.boolean=!1,aA.prototype.commaOrSpaceSeparated=!1,aA.prototype.commaSeparated=!1,aA.prototype.defined=!1,aA.prototype.mustUseProperty=!1,aA.prototype.number=!1,aA.prototype.overloadedBoolean=!1,aA.prototype.property=``,aA.prototype.spaceSeparated=!1,aA.prototype.space=void 0;var oA=s({boolean:()=>cA,booleanish:()=>lA,commaOrSpaceSeparated:()=>pA,commaSeparated:()=>fA,number:()=>Q,overloadedBoolean:()=>uA,spaceSeparated:()=>dA}),sA=0,cA=mA(),lA=mA(),uA=mA(),Q=mA(),dA=mA(),fA=mA(),pA=mA();function mA(){return 2**++sA}var hA=Object.keys(oA),gA=class extends aA{constructor(e,t,n,r){let i=-1;if(super(e,t),_A(this,`space`,r),typeof n==`number`)for(;++i4&&n.slice(0,4)===`data`&&AA.test(t)){if(t.charAt(4)===`-`){let e=t.slice(5).replace(kA,NA);r=`data`+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=t.slice(4);if(!kA.test(e)){let n=e.replace(OA,MA);n.charAt(0)!==`-`&&(n=`-`+n),t=`data`+n}}i=gA}return new i(r,t)}function MA(e){return`-`+e.toLowerCase()}function NA(e){return e.charAt(1).toUpperCase()}var PA=rA([yA,SA,wA,TA,EA],`html`),FA=rA([yA,CA,wA,TA,EA],`svg`);function IA(e){return e.join(` `).trim()}var LA=o(((e,t)=>{var n=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,r=/\n/g,i=/^\s*/,a=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,c=/^[;\s]*/,l=/^\s+|\s+$/g,u=` +`,d=`/`,f=`*`,p=``,m=`comment`,h=`declaration`;function g(e,t){if(typeof e!=`string`)throw TypeError(`First argument must be a string`);if(!e)return[];t||={};var l=1,g=1;function v(e){var t=e.match(r);t&&(l+=t.length);var n=e.lastIndexOf(u);g=~n?e.length-n:g+e.length}function y(){var e={line:l,column:g};return function(t){return t.position=new b(e),C(),t}}function b(e){this.start=e,this.end={line:l,column:g},this.source=t.source}b.prototype.content=e;function x(n){var r=Error(t.source+`:`+l+`:`+g+`: `+n);if(r.reason=n,r.filename=t.source,r.line=l,r.column=g,r.source=e,!t.silent)throw r}function S(t){var n=t.exec(e);if(n){var r=n[0];return v(r),e=e.slice(r.length),n}}function C(){S(i)}function w(e){var t;for(e||=[];t=T();)t!==!1&&e.push(t);return e}function T(){var t=y();if(!(d!=e.charAt(0)||f!=e.charAt(1))){for(var n=2;p!=e.charAt(n)&&(f!=e.charAt(n)||d!=e.charAt(n+1));)++n;if(n+=2,p===e.charAt(n-1))return x(`End of comment missing`);var r=e.slice(2,n-2);return g+=2,v(r),e=e.slice(n),g+=2,t({type:m,comment:r})}}function E(){var e=y(),t=S(a);if(t){if(T(),!S(o))return x(`property missing ':'`);var r=S(s),i=e({type:h,property:_(t[0].replace(n,p)),value:r?_(r[0].replace(n,p)):p});return S(c),i}}function ee(){var e=[];w(e);for(var t;t=E();)t!==!1&&(e.push(t),w(e));return e}return C(),ee()}function _(e){return e?e.replace(l,p):p}t.exports=g})),RA=o((e=>{var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,`__esModule`,{value:!0}),e.default=r;var n=t(LA());function r(e,t){let r=null;if(!e||typeof e!=`string`)return r;let i=(0,n.default)(e),a=typeof t==`function`;return i.forEach(e=>{if(e.type!==`declaration`)return;let{property:n,value:i}=e;a?t(n,i,e):i&&(r||={},r[n]=i)}),r}})),zA=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.camelCase=void 0;var t=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,r=/^[^-]+$/,i=/^-(webkit|moz|ms|o|khtml)-/,a=/^-(ms)-/,o=function(e){return!e||r.test(e)||t.test(e)},s=function(e,t){return t.toUpperCase()},c=function(e,t){return`${t}-`};e.camelCase=function(e,t){return t===void 0&&(t={}),o(e)?e:(e=e.toLowerCase(),e=t.reactCompat?e.replace(a,c):e.replace(i,c),e.replace(n,s))}})),BA=o(((e,t)=>{var n=(e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})(RA()),r=zA();function i(e,t){var i={};return!e||typeof e!=`string`||(0,n.default)(e,function(e,n){e&&n&&(i[(0,r.camelCase)(e,t)]=n)}),i}i.default=i,t.exports=i})),VA=UA(`end`),HA=UA(`start`);function UA(e){return t;function t(t){let n=t&&t.position&&t.position[e]||{};if(typeof n.line==`number`&&n.line>0&&typeof n.column==`number`&&n.column>0)return{line:n.line,column:n.column,offset:typeof n.offset==`number`&&n.offset>-1?n.offset:void 0}}}function WA(e){let t=HA(e),n=VA(e);if(t&&n)return{start:t,end:n}}function GA(e){return!e||typeof e!=`object`?``:`position`in e||`type`in e?qA(e.position):`start`in e||`end`in e?qA(e):`line`in e||`column`in e?KA(e):``}function KA(e){return JA(e&&e.line)+`:`+JA(e&&e.column)}function qA(e){return KA(e&&e.start)+`-`+KA(e&&e.end)}function JA(e){return e&&typeof e==`number`?e:1}var YA=class extends Error{constructor(e,t,n){super(),typeof t==`string`&&(n=t,t=void 0);let r=``,i={},a=!1;if(t&&(i=`line`in t&&`column`in t||`start`in t&&`end`in t?{place:t}:`type`in t?{ancestors:[t],place:t.position}:{...t}),typeof e==`string`?r=e:!i.cause&&e&&(a=!0,r=e.message,i.cause=e),!i.ruleId&&!i.source&&typeof n==`string`){let e=n.indexOf(`:`);e===-1?i.ruleId=n:(i.source=n.slice(0,e),i.ruleId=n.slice(e+1))}if(!i.place&&i.ancestors&&i.ancestors){let e=i.ancestors[i.ancestors.length-1];e&&(i.place=e.position)}let o=i.place&&`start`in i.place?i.place.start:i.place;this.ancestors=i.ancestors||void 0,this.cause=i.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file=``,this.message=r,this.line=o?o.line:void 0,this.name=GA(i.place)||`1:1`,this.place=i.place||void 0,this.reason=this.message,this.ruleId=i.ruleId||void 0,this.source=i.source||void 0,this.stack=a&&i.cause&&typeof i.cause.stack==`string`?i.cause.stack:``,this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}};YA.prototype.file=``,YA.prototype.name=``,YA.prototype.reason=``,YA.prototype.message=``,YA.prototype.stack=``,YA.prototype.column=void 0,YA.prototype.line=void 0,YA.prototype.ancestors=void 0,YA.prototype.cause=void 0,YA.prototype.fatal=void 0,YA.prototype.place=void 0,YA.prototype.ruleId=void 0,YA.prototype.source=void 0;var XA=l(BA(),1),ZA={}.hasOwnProperty,QA=new Map,$A=/[A-Z]/g,ej=new Set([`table`,`tbody`,`thead`,`tfoot`,`tr`]),tj=new Set([`td`,`th`]),nj=`https://github.com/syntax-tree/hast-util-to-jsx-runtime`;function rj(e,t){if(!t||t.Fragment===void 0)throw TypeError("Expected `Fragment` in options");let n=t.filePath||void 0,r;if(t.development){if(typeof t.jsxDEV!=`function`)throw TypeError("Expected `jsxDEV` in options when `development: true`");r=mj(n,t.jsxDEV)}else{if(typeof t.jsx!=`function`)throw TypeError("Expected `jsx` in production options");if(typeof t.jsxs!=`function`)throw TypeError("Expected `jsxs` in production options");r=pj(n,t.jsx,t.jsxs)}let i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||`react`,evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space===`svg`?FA:PA,stylePropertyNameCase:t.stylePropertyNameCase||`dom`,tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},a=ij(i,e,void 0);return a&&typeof a!=`string`?a:i.create(e,i.Fragment,{children:a||void 0},void 0)}function ij(e,t,n){if(t.type===`element`)return aj(e,t,n);if(t.type===`mdxFlowExpression`||t.type===`mdxTextExpression`)return oj(e,t);if(t.type===`mdxJsxFlowElement`||t.type===`mdxJsxTextElement`)return cj(e,t,n);if(t.type===`mdxjsEsm`)return sj(e,t);if(t.type===`root`)return lj(e,t,n);if(t.type===`text`)return uj(e,t)}function aj(e,t,n){let r=e.schema,i=r;t.tagName.toLowerCase()===`svg`&&r.space===`html`&&(i=FA,e.schema=i),e.ancestors.push(t);let a=bj(e,t.tagName,!1),o=hj(e,t),s=_j(e,t);return ej.has(t.tagName)&&(s=s.filter(function(e){return typeof e==`string`?!eA(e):!0})),dj(e,o,a,t),fj(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function oj(e,t){if(t.data&&t.data.estree&&e.evaluater){let n=t.data.estree.body[0];return n.type,e.evaluater.evaluateExpression(n.expression)}xj(e,t.position)}function sj(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);xj(e,t.position)}function cj(e,t,n){let r=e.schema,i=r;t.name===`svg`&&r.space===`html`&&(i=FA,e.schema=i),e.ancestors.push(t);let a=t.name===null?e.Fragment:bj(e,t.name,!0),o=gj(e,t),s=_j(e,t);return dj(e,o,a,t),fj(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function lj(e,t,n){let r={};return fj(r,_j(e,t)),e.create(t,e.Fragment,r,n)}function uj(e,t){return t.value}function dj(e,t,n,r){typeof n!=`string`&&n!==e.Fragment&&e.passNode&&(t.node=r)}function fj(e,t){if(t.length>0){let n=t.length>1?t:t[0];n&&(e.children=n)}}function pj(e,t,n){return r;function r(e,r,i,a){let o=Array.isArray(i.children)?n:t;return a?o(r,i,a):o(r,i)}}function mj(e,t){return n;function n(n,r,i,a){let o=Array.isArray(i.children),s=HA(n);return t(r,i,a,o,{columnNumber:s?s.column-1:void 0,fileName:e,lineNumber:s?s.line:void 0},void 0)}}function hj(e,t){let n={},r,i;for(i in t.properties)if(i!==`children`&&ZA.call(t.properties,i)){let a=vj(e,i,t.properties[i]);if(a){let[i,o]=a;e.tableCellAlignToStyle&&i===`align`&&typeof o==`string`&&tj.has(t.tagName)?r=o:n[i]=o}}if(r){let t=n.style||={};t[e.stylePropertyNameCase===`css`?`text-align`:`textAlign`]=r}return n}function gj(e,t){let n={};for(let r of t.attributes)if(r.type===`mdxJsxExpressionAttribute`)if(r.data&&r.data.estree&&e.evaluater){let t=r.data.estree.body[0];t.type;let i=t.expression;i.type;let a=i.properties[0];a.type,Object.assign(n,e.evaluater.evaluateExpression(a.argument))}else xj(e,t.position);else{let i=r.name,a;if(r.value&&typeof r.value==`object`)if(r.value.data&&r.value.data.estree&&e.evaluater){let t=r.value.data.estree.body[0];t.type,a=e.evaluater.evaluateExpression(t.expression)}else xj(e,t.position);else a=r.value===null?!0:r.value;n[i]=a}return n}function _j(e,t){let n=[],r=-1,i=e.passKeys?new Map:QA;for(;++ri?0:i+t:t>i?i:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);a0?(Nj(e,e.length,0,t),e):t}var Fj={}.hasOwnProperty;function Ij(e){let t={},n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)==65535||(n&65535)==65534||n>1114111?`�`:String.fromCodePoint(n)}function Bj(e){return e.replace(/[\t\n\r ]+/g,` `).replace(/^ | $/g,``).toLowerCase().toUpperCase()}var Vj=Qj(/[A-Za-z]/),Hj=Qj(/[\dA-Za-z]/),Uj=Qj(/[#-'*+\--9=?A-Z^-~]/);function Wj(e){return e!==null&&(e<32||e===127)}var Gj=Qj(/\d/),Kj=Qj(/[\dA-Fa-f]/),qj=Qj(/[!-/:-@[-`{-~]/);function $(e){return e!==null&&e<-2}function Jj(e){return e!==null&&(e<0||e===32)}function Yj(e){return e===-2||e===-1||e===32}var Xj=Qj(/\p{P}|\p{S}/u),Zj=Qj(/\s/);function Qj(e){return t;function t(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function $j(e){let t=[],n=-1,r=0,i=0;for(;++n55295&&a<57344){let t=e.charCodeAt(n+1);a<56320&&t>56319&&t<57344?(o=String.fromCharCode(a,t),i=1):o=`�`}else o=String.fromCharCode(a);o&&=(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+i+1,``),i&&=(n+=i,0)}return t.join(``)+e.slice(r)}function eM(e,t,n,r){let i=r?r-1:1/0,a=0;return o;function o(r){return Yj(r)?(e.enter(n),s(r)):t(r)}function s(r){return Yj(r)&&a++o))return;let n=t.events.length,a=n,s,c;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){if(s){c=t.events[a][1].end;break}s=!0}for(_(r),e=n;er;){let r=n[i];t.containerState=r[1],r[0].exit.call(t,e)}n.length=r}function v(){i.write([null]),a=void 0,i=void 0,t.containerState._closeFlow=void 0}}function oM(e,t,n){return eM(e,e.attempt(this.parser.constructs.document,t,n),`linePrefix`,this.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)}function sM(e){if(e===null||Jj(e)||Zj(e))return 1;if(Xj(e))return 2}function cM(e,t,n){let r=[],i=-1;for(;++i1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let d={...e[r][1].end},f={...e[n][1].start};fM(d,-c),fM(f,c),o={type:c>1?`strongSequence`:`emphasisSequence`,start:d,end:{...e[r][1].end}},s={type:c>1?`strongSequence`:`emphasisSequence`,start:{...e[n][1].start},end:f},a={type:c>1?`strongText`:`emphasisText`,start:{...e[r][1].end},end:{...e[n][1].start}},i={type:c>1?`strong`:`emphasis`,start:{...o.start},end:{...s.end}},e[r][1].end={...o.start},e[n][1].start={...s.end},l=[],e[r][1].end.offset-e[r][1].start.offset&&(l=Pj(l,[[`enter`,e[r][1],t],[`exit`,e[r][1],t]])),l=Pj(l,[[`enter`,i,t],[`enter`,o,t],[`exit`,o,t],[`enter`,a,t]]),l=Pj(l,cM(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),l=Pj(l,[[`exit`,a,t],[`enter`,s,t],[`exit`,s,t],[`exit`,i,t]]),e[n][1].end.offset-e[n][1].start.offset?(u=2,l=Pj(l,[[`enter`,e[n][1],t],[`exit`,e[n][1],t]])):u=0,Nj(e,r-1,n-r+3,l),n=r+l.length-u-2;break}}for(n=-1;++n0&&Yj(t)?eM(e,v,`linePrefix`,a+1)(t):v(t)}function v(t){return t===null||$(t)?e.check(TM,h,b)(t):(e.enter(`codeFlowValue`),y(t))}function y(t){return t===null||$(t)?(e.exit(`codeFlowValue`),v(t)):(e.consume(t),y)}function b(n){return e.exit(`codeFenced`),t(n)}function x(e,t,n){let i=0;return a;function a(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c}function c(t){return e.enter(`codeFencedFence`),Yj(t)?eM(e,l,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):l(t)}function l(t){return t===s?(e.enter(`codeFencedFenceSequence`),u(t)):n(t)}function u(t){return t===s?(i++,e.consume(t),u):i>=o?(e.exit(`codeFencedFenceSequence`),Yj(t)?eM(e,d,`whitespace`)(t):d(t)):n(t)}function d(r){return r===null||$(r)?(e.exit(`codeFencedFence`),t(r)):n(r)}}}function OM(e,t,n){let r=this;return i;function i(t){return t===null?n(t):(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}var kM={name:`codeIndented`,tokenize:jM},AM={partial:!0,tokenize:MM};function jM(e,t,n){let r=this;return i;function i(t){return e.enter(`codeIndented`),eM(e,a,`linePrefix`,5)(t)}function a(e){let t=r.events[r.events.length-1];return t&&t[1].type===`linePrefix`&&t[2].sliceSerialize(t[1],!0).length>=4?o(e):n(e)}function o(t){return t===null?c(t):$(t)?e.attempt(AM,o,c)(t):(e.enter(`codeFlowValue`),s(t))}function s(t){return t===null||$(t)?(e.exit(`codeFlowValue`),o(t)):(e.consume(t),s)}function c(n){return e.exit(`codeIndented`),t(n)}}function MM(e,t,n){let r=this;return i;function i(t){return r.parser.lazy[r.now().line]?n(t):$(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),i):eM(e,a,`linePrefix`,5)(t)}function a(e){let a=r.events[r.events.length-1];return a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(e):$(e)?i(e):n(e)}}var NM={name:`codeText`,previous:FM,resolve:PM,tokenize:IM};function PM(e){let t=e.length-4,n=3,r,i;if((e[n][1].type===`lineEnding`||e[n][1].type===`space`)&&(e[t][1].type===`lineEnding`||e[t][1].type===`space`)){for(r=n;++r=this.left.length+this.right.length)throw RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return ethis.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){let r=t||0;this.setCursor(Math.trunc(e));let i=this.right.splice(this.right.length-r,1/0);return n&&RM(this.left,n),i.reverse()}pop(){return this.setCursor(1/0),this.left.pop()}push(e){this.setCursor(1/0),this.left.push(e)}pushMany(e){this.setCursor(1/0),RM(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),RM(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0))if(e=4?t(i):e.interrupt(r.parser.constructs.flow,n,t)(i)}}function KM(e,t,n,r,i,a,o,s,c){let l=c||1/0,u=0;return d;function d(t){return t===60?(e.enter(r),e.enter(i),e.enter(a),e.consume(t),e.exit(a),f):t===null||t===32||t===41||Wj(t)?n(t):(e.enter(r),e.enter(o),e.enter(s),e.enter(`chunkString`,{contentType:`string`}),h(t))}function f(n){return n===62?(e.enter(a),e.consume(n),e.exit(a),e.exit(i),e.exit(r),t):(e.enter(s),e.enter(`chunkString`,{contentType:`string`}),p(n))}function p(t){return t===62?(e.exit(`chunkString`),e.exit(s),f(t)):t===null||t===60||$(t)?n(t):(e.consume(t),t===92?m:p)}function m(t){return t===60||t===62||t===92?(e.consume(t),p):p(t)}function h(i){return!u&&(i===null||i===41||Jj(i))?(e.exit(`chunkString`),e.exit(s),e.exit(o),e.exit(r),t(i)):u999||l===null||l===91||l===93&&!c||l===94&&!s&&`_hiddenFootnoteSupport`in o.parser.constructs?n(l):l===93?(e.exit(a),e.enter(i),e.consume(l),e.exit(i),e.exit(r),t):$(l)?(e.enter(`lineEnding`),e.consume(l),e.exit(`lineEnding`),u):(e.enter(`chunkString`,{contentType:`string`}),d(l))}function d(t){return t===null||t===91||t===93||$(t)||s++>999?(e.exit(`chunkString`),u(t)):(e.consume(t),c||=!Yj(t),t===92?f:d)}function f(t){return t===91||t===92||t===93?(e.consume(t),s++,d):d(t)}}function JM(e,t,n,r,i,a){let o;return s;function s(t){return t===34||t===39||t===40?(e.enter(r),e.enter(i),e.consume(t),e.exit(i),o=t===40?41:t,c):n(t)}function c(n){return n===o?(e.enter(i),e.consume(n),e.exit(i),e.exit(r),t):(e.enter(a),l(n))}function l(t){return t===o?(e.exit(a),c(o)):t===null?n(t):$(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),eM(e,l,`linePrefix`)):(e.enter(`chunkString`,{contentType:`string`}),u(t))}function u(t){return t===o||t===null||$(t)?(e.exit(`chunkString`),l(t)):(e.consume(t),t===92?d:u)}function d(t){return t===o||t===92?(e.consume(t),u):u(t)}}function YM(e,t){let n;return r;function r(i){return $(i)?(e.enter(`lineEnding`),e.consume(i),e.exit(`lineEnding`),n=!0,r):Yj(i)?eM(e,r,n?`linePrefix`:`lineSuffix`)(i):t(i)}}var XM={name:`definition`,tokenize:QM},ZM={partial:!0,tokenize:$M};function QM(e,t,n){let r=this,i;return a;function a(t){return e.enter(`definition`),o(t)}function o(t){return qM.call(r,e,s,n,`definitionLabel`,`definitionLabelMarker`,`definitionLabelString`)(t)}function s(t){return i=Bj(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),c):n(t)}function c(t){return Jj(t)?YM(e,l)(t):l(t)}function l(t){return KM(e,u,n,`definitionDestination`,`definitionDestinationLiteral`,`definitionDestinationLiteralMarker`,`definitionDestinationRaw`,`definitionDestinationString`)(t)}function u(t){return e.attempt(ZM,d,d)(t)}function d(t){return Yj(t)?eM(e,f,`whitespace`)(t):f(t)}function f(a){return a===null||$(a)?(e.exit(`definition`),r.parser.defined.push(i),t(a)):n(a)}}function $M(e,t,n){return r;function r(t){return Jj(t)?YM(e,i)(t):n(t)}function i(t){return JM(e,a,n,`definitionTitle`,`definitionTitleMarker`,`definitionTitleString`)(t)}function a(t){return Yj(t)?eM(e,o,`whitespace`)(t):o(t)}function o(e){return e===null||$(e)?t(e):n(e)}}var eN={name:`hardBreakEscape`,tokenize:tN};function tN(e,t,n){return r;function r(t){return e.enter(`hardBreakEscape`),e.consume(t),i}function i(r){return $(r)?(e.exit(`hardBreakEscape`),t(r)):n(r)}}var nN={name:`headingAtx`,resolve:rN,tokenize:iN};function rN(e,t){let n=e.length-2,r=3,i,a;return e[r][1].type===`whitespace`&&(r+=2),n-2>r&&e[n][1].type===`whitespace`&&(n-=2),e[n][1].type===`atxHeadingSequence`&&(r===n-1||n-4>r&&e[n-2][1].type===`whitespace`)&&(n-=r+1===n?2:4),n>r&&(i={type:`atxHeadingText`,start:e[r][1].start,end:e[n][1].end},a={type:`chunkText`,start:e[r][1].start,end:e[n][1].end,contentType:`text`},Nj(e,r,n-r+1,[[`enter`,i,t],[`enter`,a,t],[`exit`,a,t],[`exit`,i,t]])),e}function iN(e,t,n){let r=0;return i;function i(t){return e.enter(`atxHeading`),a(t)}function a(t){return e.enter(`atxHeadingSequence`),o(t)}function o(t){return t===35&&r++<6?(e.consume(t),o):t===null||Jj(t)?(e.exit(`atxHeadingSequence`),s(t)):n(t)}function s(n){return n===35?(e.enter(`atxHeadingSequence`),c(n)):n===null||$(n)?(e.exit(`atxHeading`),t(n)):Yj(n)?eM(e,s,`whitespace`)(n):(e.enter(`atxHeadingText`),l(n))}function c(t){return t===35?(e.consume(t),c):(e.exit(`atxHeadingSequence`),s(t))}function l(t){return t===null||t===35||Jj(t)?(e.exit(`atxHeadingText`),s(t)):(e.consume(t),l)}}var aN=`address.article.aside.base.basefont.blockquote.body.caption.center.col.colgroup.dd.details.dialog.dir.div.dl.dt.fieldset.figcaption.figure.footer.form.frame.frameset.h1.h2.h3.h4.h5.h6.head.header.hr.html.iframe.legend.li.link.main.menu.menuitem.nav.noframes.ol.optgroup.option.p.param.search.section.summary.table.tbody.td.tfoot.th.thead.title.tr.track.ul`.split(`.`),oN=[`pre`,`script`,`style`,`textarea`],sN={concrete:!0,name:`htmlFlow`,resolveTo:uN,tokenize:dN},cN={partial:!0,tokenize:pN},lN={partial:!0,tokenize:fN};function uN(e){let t=e.length;for(;t--&&!(e[t][0]===`enter`&&e[t][1].type===`htmlFlow`););return t>1&&e[t-2][1].type===`linePrefix`&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function dN(e,t,n){let r=this,i,a,o,s,c;return l;function l(e){return u(e)}function u(t){return e.enter(`htmlFlow`),e.enter(`htmlFlowData`),e.consume(t),d}function d(s){return s===33?(e.consume(s),f):s===47?(e.consume(s),a=!0,h):s===63?(e.consume(s),i=3,r.interrupt?t:M):Vj(s)?(e.consume(s),o=String.fromCharCode(s),g):n(s)}function f(a){return a===45?(e.consume(a),i=2,p):a===91?(e.consume(a),i=5,s=0,m):Vj(a)?(e.consume(a),i=4,r.interrupt?t:M):n(a)}function p(i){return i===45?(e.consume(i),r.interrupt?t:M):n(i)}function m(i){return i===`CDATA[`.charCodeAt(s++)?(e.consume(i),s===6?r.interrupt?t:D:m):n(i)}function h(t){return Vj(t)?(e.consume(t),o=String.fromCharCode(t),g):n(t)}function g(s){if(s===null||s===47||s===62||Jj(s)){let c=s===47,l=o.toLowerCase();return!c&&!a&&oN.includes(l)?(i=1,r.interrupt?t(s):D(s)):aN.includes(o.toLowerCase())?(i=6,c?(e.consume(s),_):r.interrupt?t(s):D(s)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(s):a?v(s):y(s))}return s===45||Hj(s)?(e.consume(s),o+=String.fromCharCode(s),g):n(s)}function _(i){return i===62?(e.consume(i),r.interrupt?t:D):n(i)}function v(t){return Yj(t)?(e.consume(t),v):E(t)}function y(t){return t===47?(e.consume(t),E):t===58||t===95||Vj(t)?(e.consume(t),b):Yj(t)?(e.consume(t),y):E(t)}function b(t){return t===45||t===46||t===58||t===95||Hj(t)?(e.consume(t),b):x(t)}function x(t){return t===61?(e.consume(t),S):Yj(t)?(e.consume(t),x):y(t)}function S(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),c=t,C):Yj(t)?(e.consume(t),S):w(t)}function C(t){return t===c?(e.consume(t),c=null,T):t===null||$(t)?n(t):(e.consume(t),C)}function w(t){return t===null||t===34||t===39||t===47||t===60||t===61||t===62||t===96||Jj(t)?x(t):(e.consume(t),w)}function T(e){return e===47||e===62||Yj(e)?y(e):n(e)}function E(t){return t===62?(e.consume(t),ee):n(t)}function ee(t){return t===null||$(t)?D(t):Yj(t)?(e.consume(t),ee):n(t)}function D(t){return t===45&&i===2?(e.consume(t),te):t===60&&i===1?(e.consume(t),j):t===62&&i===4?(e.consume(t),N):t===63&&i===3?(e.consume(t),M):t===93&&i===5?(e.consume(t),re):$(t)&&(i===6||i===7)?(e.exit(`htmlFlowData`),e.check(cN,ie,O)(t)):t===null||$(t)?(e.exit(`htmlFlowData`),O(t)):(e.consume(t),D)}function O(t){return e.check(lN,k,ie)(t)}function k(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),A}function A(t){return t===null||$(t)?O(t):(e.enter(`htmlFlowData`),D(t))}function te(t){return t===45?(e.consume(t),M):D(t)}function j(t){return t===47?(e.consume(t),o=``,ne):D(t)}function ne(t){if(t===62){let n=o.toLowerCase();return oN.includes(n)?(e.consume(t),N):D(t)}return Vj(t)&&o.length<8?(e.consume(t),o+=String.fromCharCode(t),ne):D(t)}function re(t){return t===93?(e.consume(t),M):D(t)}function M(t){return t===62?(e.consume(t),N):t===45&&i===2?(e.consume(t),M):D(t)}function N(t){return t===null||$(t)?(e.exit(`htmlFlowData`),ie(t)):(e.consume(t),N)}function ie(n){return e.exit(`htmlFlow`),t(n)}}function fN(e,t,n){let r=this;return i;function i(t){return $(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a):n(t)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}function pN(e,t,n){return r;function r(r){return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),e.attempt(hM,t,n)}}var mN={name:`htmlText`,tokenize:hN};function hN(e,t,n){let r=this,i,a,o;return s;function s(t){return e.enter(`htmlText`),e.enter(`htmlTextData`),e.consume(t),c}function c(t){return t===33?(e.consume(t),l):t===47?(e.consume(t),x):t===63?(e.consume(t),y):Vj(t)?(e.consume(t),w):n(t)}function l(t){return t===45?(e.consume(t),u):t===91?(e.consume(t),a=0,m):Vj(t)?(e.consume(t),v):n(t)}function u(t){return t===45?(e.consume(t),p):n(t)}function d(t){return t===null?n(t):t===45?(e.consume(t),f):$(t)?(o=d,j(t)):(e.consume(t),d)}function f(t){return t===45?(e.consume(t),p):d(t)}function p(e){return e===62?te(e):e===45?f(e):d(e)}function m(t){return t===`CDATA[`.charCodeAt(a++)?(e.consume(t),a===6?h:m):n(t)}function h(t){return t===null?n(t):t===93?(e.consume(t),g):$(t)?(o=h,j(t)):(e.consume(t),h)}function g(t){return t===93?(e.consume(t),_):h(t)}function _(t){return t===62?te(t):t===93?(e.consume(t),_):h(t)}function v(t){return t===null||t===62?te(t):$(t)?(o=v,j(t)):(e.consume(t),v)}function y(t){return t===null?n(t):t===63?(e.consume(t),b):$(t)?(o=y,j(t)):(e.consume(t),y)}function b(e){return e===62?te(e):y(e)}function x(t){return Vj(t)?(e.consume(t),S):n(t)}function S(t){return t===45||Hj(t)?(e.consume(t),S):C(t)}function C(t){return $(t)?(o=C,j(t)):Yj(t)?(e.consume(t),C):te(t)}function w(t){return t===45||Hj(t)?(e.consume(t),w):t===47||t===62||Jj(t)?T(t):n(t)}function T(t){return t===47?(e.consume(t),te):t===58||t===95||Vj(t)?(e.consume(t),E):$(t)?(o=T,j(t)):Yj(t)?(e.consume(t),T):te(t)}function E(t){return t===45||t===46||t===58||t===95||Hj(t)?(e.consume(t),E):ee(t)}function ee(t){return t===61?(e.consume(t),D):$(t)?(o=ee,j(t)):Yj(t)?(e.consume(t),ee):T(t)}function D(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),i=t,O):$(t)?(o=D,j(t)):Yj(t)?(e.consume(t),D):(e.consume(t),k)}function O(t){return t===i?(e.consume(t),i=void 0,A):t===null?n(t):$(t)?(o=O,j(t)):(e.consume(t),O)}function k(t){return t===null||t===34||t===39||t===60||t===61||t===96?n(t):t===47||t===62||Jj(t)?T(t):(e.consume(t),k)}function A(e){return e===47||e===62||Jj(e)?T(e):n(e)}function te(r){return r===62?(e.consume(r),e.exit(`htmlTextData`),e.exit(`htmlText`),t):n(r)}function j(t){return e.exit(`htmlTextData`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),ne}function ne(t){return Yj(t)?eM(e,re,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):re(t)}function re(t){return e.enter(`htmlTextData`),o(t)}}var gN={name:`labelEnd`,resolveAll:bN,resolveTo:xN,tokenize:SN},_N={tokenize:CN},vN={tokenize:wN},yN={tokenize:TN};function bN(e){let t=-1,n=[];for(;++t=3&&(a===null||$(a))?(e.exit(`thematicBreak`),t(a)):n(a)}function c(t){return t===i?(e.consume(t),r++,c):(e.exit(`thematicBreakSequence`),Yj(t)?eM(e,s,`whitespace`)(t):s(t))}}var PN={continuation:{tokenize:RN},exit:BN,name:`list`,tokenize:LN},FN={partial:!0,tokenize:VN},IN={partial:!0,tokenize:zN};function LN(e,t,n){let r=this,i=r.events[r.events.length-1],a=i&&i[1].type===`linePrefix`?i[2].sliceSerialize(i[1],!0).length:0,o=0;return s;function s(t){let i=r.containerState.type||(t===42||t===43||t===45?`listUnordered`:`listOrdered`);if(i===`listUnordered`?!r.containerState.marker||t===r.containerState.marker:Gj(t)){if(r.containerState.type||(r.containerState.type=i,e.enter(i,{_container:!0})),i===`listUnordered`)return e.enter(`listItemPrefix`),t===42||t===45?e.check(MN,n,l)(t):l(t);if(!r.interrupt||t===49)return e.enter(`listItemPrefix`),e.enter(`listItemValue`),c(t)}return n(t)}function c(t){return Gj(t)&&++o<10?(e.consume(t),c):(!r.interrupt||o<2)&&(r.containerState.marker?t===r.containerState.marker:t===41||t===46)?(e.exit(`listItemValue`),l(t)):n(t)}function l(t){return e.enter(`listItemMarker`),e.consume(t),e.exit(`listItemMarker`),r.containerState.marker=r.containerState.marker||t,e.check(hM,r.interrupt?n:u,e.attempt(FN,f,d))}function u(e){return r.containerState.initialBlankLine=!0,a++,f(e)}function d(t){return Yj(t)?(e.enter(`listItemPrefixWhitespace`),e.consume(t),e.exit(`listItemPrefixWhitespace`),f):n(t)}function f(n){return r.containerState.size=a+r.sliceSerialize(e.exit(`listItemPrefix`),!0).length,t(n)}}function RN(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(hM,i,a);function i(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,eM(e,t,`listItemIndent`,r.containerState.size+1)(n)}function a(n){return r.containerState.furtherBlankLines||!Yj(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(IN,t,o)(n))}function o(i){return r.containerState._closeFlow=!0,r.interrupt=void 0,eM(e,e.attempt(PN,t,n),`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(i)}}function zN(e,t,n){let r=this;return eM(e,i,`listItemIndent`,r.containerState.size+1);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`listItemIndent`&&i[2].sliceSerialize(i[1],!0).length===r.containerState.size?t(e):n(e)}}function BN(e){e.exit(this.containerState.type)}function VN(e,t,n){let r=this;return eM(e,i,`listItemPrefixWhitespace`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:5);function i(e){let i=r.events[r.events.length-1];return!Yj(e)&&i&&i[1].type===`listItemPrefixWhitespace`?t(e):n(e)}}var HN={name:`setextUnderline`,resolveTo:UN,tokenize:WN};function UN(e,t){let n=e.length,r,i,a;for(;n--;)if(e[n][0]===`enter`){if(e[n][1].type===`content`){r=n;break}e[n][1].type===`paragraph`&&(i=n)}else e[n][1].type===`content`&&e.splice(n,1),!a&&e[n][1].type===`definition`&&(a=n);let o={type:`setextHeading`,start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type=`setextHeadingText`,a?(e.splice(i,0,[`enter`,o,t]),e.splice(a+1,0,[`exit`,e[r][1],t]),e[r][1].end={...e[a][1].end}):e[r][1]=o,e.push([`exit`,o,t]),e}function WN(e,t,n){let r=this,i;return a;function a(t){let a=r.events.length,s;for(;a--;)if(r.events[a][1].type!==`lineEnding`&&r.events[a][1].type!==`linePrefix`&&r.events[a][1].type!==`content`){s=r.events[a][1].type===`paragraph`;break}return!r.parser.lazy[r.now().line]&&(r.interrupt||s)?(e.enter(`setextHeadingLine`),i=t,o(t)):n(t)}function o(t){return e.enter(`setextHeadingLineSequence`),s(t)}function s(t){return t===i?(e.consume(t),s):(e.exit(`setextHeadingLineSequence`),Yj(t)?eM(e,c,`lineSuffix`)(t):c(t))}function c(r){return r===null||$(r)?(e.exit(`setextHeadingLine`),t(r)):n(r)}}var GN={tokenize:KN};function KN(e){let t=this,n=e.attempt(hM,r,e.attempt(this.parser.constructs.flowInitial,i,eM(e,e.attempt(this.parser.constructs.flow,i,e.attempt(VM,i)),`linePrefix`)));return n;function r(r){if(r===null){e.consume(r);return}return e.enter(`lineEndingBlank`),e.consume(r),e.exit(`lineEndingBlank`),t.currentConstruct=void 0,n}function i(r){if(r===null){e.consume(r);return}return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),t.currentConstruct=void 0,n}}var qN={resolveAll:ZN()},JN=XN(`string`),YN=XN(`text`);function XN(e){return{resolveAll:ZN(e===`text`?QN:void 0),tokenize:t};function t(t){let n=this,r=this.parser.constructs[e],i=t.attempt(r,a,o);return a;function a(e){return c(e)?i(e):o(e)}function o(e){if(e===null){t.consume(e);return}return t.enter(`data`),t.consume(e),s}function s(e){return c(e)?(t.exit(`data`),i(e)):(t.consume(e),s)}function c(e){if(e===null)return!0;let t=r[e],i=-1;if(t)for(;++isP,contentInitial:()=>tP,disable:()=>cP,document:()=>eP,flow:()=>rP,flowInitial:()=>nP,insideSpan:()=>oP,string:()=>iP,text:()=>aP}),eP={42:PN,43:PN,45:PN,48:PN,49:PN,50:PN,51:PN,52:PN,53:PN,54:PN,55:PN,56:PN,57:PN,62:_M},tP={91:XM},nP={[-2]:kM,[-1]:kM,32:kM},rP={35:nN,42:MN,45:[HN,MN],60:sN,61:HN,95:MN,96:EM,126:EM},iP={38:CM,92:xM},aP={[-5]:AN,[-4]:AN,[-3]:AN,33:EN,38:CM,42:lM,60:[pM,mN],91:ON,92:[eN,xM],93:gN,95:lM,96:NM},oP={null:[lM,qN]},sP={null:[42,95]},cP={null:[]};function lP(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},i={},a=[],o=[],s=[],c={attempt:C(x),check:C(S),consume:v,enter:y,exit:b,interrupt:C(S,{interrupt:!0})},l={code:null,containerState:{},defineSkip:h,events:[],now:m,parser:e,previous:null,sliceSerialize:f,sliceStream:p,write:d},u=t.tokenize.call(l,c);return t.resolveAll&&a.push(t),l;function d(e){return o=Pj(o,e),g(),o[o.length-1]===null?(w(t,0),l.events=cM(a,l.events,l),l.events):[]}function f(e,t){return dP(p(e),t)}function p(e){return uP(o,e)}function m(){let{_bufferIndex:e,_index:t,line:n,column:i,offset:a}=r;return{_bufferIndex:e,_index:t,line:n,column:i,offset:a}}function h(e){i[e.line]=e.column,E()}function g(){let e;for(;r._index-1){let e=o[0];typeof e==`string`?o[0]=e.slice(r):o.shift()}a>0&&o.push(e[i].slice(0,a))}return o}function dP(e,t){let n=-1,r=[],i;for(;++n0){let e=a.tokenStack[a.tokenStack.length-1];(e[1]||TP).call(a,void 0,e[0])}for(r.position={start:SP(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:SP(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},d=-1;++d0&&(r.className=[`language-`+i[0]]);let a={type:`element`,tagName:`code`,properties:r,children:[{type:`text`,value:n}]};return t.meta&&(a.data={meta:t.meta}),e.patch(t,a),a=e.applyData(t,a),a={type:`element`,tagName:`pre`,properties:{},children:[a]},e.patch(t,a),a}function AP(e,t){let n={type:`element`,tagName:`del`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function jP(e,t){let n={type:`element`,tagName:`em`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function MP(e,t){let n=typeof e.options.clobberPrefix==`string`?e.options.clobberPrefix:`user-content-`,r=String(t.identifier).toUpperCase(),i=$j(r.toLowerCase()),a=e.footnoteOrder.indexOf(r),o,s=e.footnoteCounts.get(r);s===void 0?(s=0,e.footnoteOrder.push(r),o=e.footnoteOrder.length):o=a+1,s+=1,e.footnoteCounts.set(r,s);let c={type:`element`,tagName:`a`,properties:{href:`#`+n+`fn-`+i,id:n+`fnref-`+i+(s>1?`-`+s:``),dataFootnoteRef:!0,ariaDescribedBy:[`footnote-label`]},children:[{type:`text`,value:String(o)}]};e.patch(t,c);let l={type:`element`,tagName:`sup`,properties:{},children:[c]};return e.patch(t,l),e.applyData(t,l)}function NP(e,t){let n={type:`element`,tagName:`h`+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function PP(e,t){if(e.options.allowDangerousHtml){let n={type:`raw`,value:t.value};return e.patch(t,n),e.applyData(t,n)}}function FP(e,t){let n=t.referenceType,r=`]`;if(n===`collapsed`?r+=`[]`:n===`full`&&(r+=`[`+(t.label||t.identifier)+`]`),t.type===`imageReference`)return[{type:`text`,value:`![`+t.alt+r}];let i=e.all(t),a=i[0];a&&a.type===`text`?a.value=`[`+a.value:i.unshift({type:`text`,value:`[`});let o=i[i.length-1];return o&&o.type===`text`?o.value+=r:i.push({type:`text`,value:r}),i}function IP(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return FP(e,t);let i={src:$j(r.url||``),alt:t.alt};r.title!==null&&r.title!==void 0&&(i.title=r.title);let a={type:`element`,tagName:`img`,properties:i,children:[]};return e.patch(t,a),e.applyData(t,a)}function LP(e,t){let n={src:$j(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);let r={type:`element`,tagName:`img`,properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function RP(e,t){let n={type:`text`,value:t.value.replace(/\r?\n|\r/g,` `)};e.patch(t,n);let r={type:`element`,tagName:`code`,properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function zP(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return FP(e,t);let i={href:$j(r.url||``)};r.title!==null&&r.title!==void 0&&(i.title=r.title);let a={type:`element`,tagName:`a`,properties:i,children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}function BP(e,t){let n={href:$j(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);let r={type:`element`,tagName:`a`,properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function VP(e,t,n){let r=e.all(t),i=n?HP(n):UP(t),a={},o=[];if(typeof t.checked==`boolean`){let e=r[0],n;e&&e.type===`element`&&e.tagName===`p`?n=e:(n={type:`element`,tagName:`p`,properties:{},children:[]},r.unshift(n)),n.children.length>0&&n.children.unshift({type:`text`,value:` `}),n.children.unshift({type:`element`,tagName:`input`,properties:{type:`checkbox`,checked:t.checked,disabled:!0},children:[]}),a.className=[`task-list-item`]}let s=-1;for(;++s1}function WP(e,t){let n={},r=e.all(t),i=-1;for(typeof t.start==`number`&&t.start!==1&&(n.start=t.start);++i0){let r={type:`element`,tagName:`tbody`,properties:{},children:e.wrap(n,!0)},a=HA(t.children[1]),o=VA(t.children[t.children.length-1]);a&&o&&(r.position={start:a,end:o}),i.push(r)}let a={type:`element`,tagName:`table`,properties:{},children:e.wrap(i,!0)};return e.patch(t,a),e.applyData(t,a)}function YP(e,t,n){let r=n?n.children:void 0,i=(r?r.indexOf(t):1)===0?`th`:`td`,a=n&&n.type===`table`?n.align:void 0,o=a?a.length:t.children.length,s=-1,c=[];for(;++s0,!0),r[0]),i=r.index+r[0].length,r=n.exec(t);return a.push(eF(t.slice(i),i>0,!1)),a.join(``)}function eF(e,t,n){let r=0,i=e.length;if(t){let t=e.codePointAt(r);for(;t===ZP||t===QP;)r++,t=e.codePointAt(r)}if(n){let t=e.codePointAt(i-1);for(;t===ZP||t===QP;)i--,t=e.codePointAt(i-1)}return i>r?e.slice(r,i):``}function tF(e,t){let n={type:`text`,value:$P(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function nF(e,t){let n={type:`element`,tagName:`hr`,properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}var rF={blockquote:DP,break:OP,code:kP,delete:AP,emphasis:jP,footnoteReference:MP,heading:NP,html:PP,imageReference:IP,image:LP,inlineCode:RP,linkReference:zP,link:BP,listItem:VP,list:WP,paragraph:GP,root:KP,strong:qP,table:JP,tableCell:XP,tableRow:YP,text:tF,thematicBreak:nF,toml:iF,yaml:iF,definition:iF,footnoteDefinition:iF};function iF(){}var aF=typeof self==`object`?self:globalThis,oF=(e,t)=>{let n=(t,n)=>(e.set(n,t),t),r=i=>{if(e.has(i))return e.get(i);let[a,o]=t[i];switch(a){case 0:case-1:return n(o,i);case 1:{let e=n([],i);for(let t of o)e.push(r(t));return e}case 2:{let e=n({},i);for(let[t,n]of o)e[r(t)]=r(n);return e}case 3:return n(new Date(o),i);case 4:{let{source:e,flags:t}=o;return n(new RegExp(e,t),i)}case 5:{let e=n(new Map,i);for(let[t,n]of o)e.set(r(t),r(n));return e}case 6:{let e=n(new Set,i);for(let t of o)e.add(r(t));return e}case 7:{let{name:e,message:t}=o;return n(new aF[e](t),i)}case 8:return n(BigInt(o),i);case`BigInt`:return n(Object(BigInt(o)),i);case`ArrayBuffer`:return n(new Uint8Array(o).buffer,o);case`DataView`:{let{buffer:e}=new Uint8Array(o);return n(new DataView(e),o)}}return n(new aF[a](o),i)};return r},sF=e=>oF(new Map,e)(0),cF=``,{toString:lF}={},{keys:uF}=Object,dF=e=>{let t=typeof e;if(t!==`object`||!e)return[0,t];let n=lF.call(e).slice(8,-1);switch(n){case`Array`:return[1,cF];case`Object`:return[2,cF];case`Date`:return[3,cF];case`RegExp`:return[4,cF];case`Map`:return[5,cF];case`Set`:return[6,cF];case`DataView`:return[1,n]}return n.includes(`Array`)?[1,n]:n.includes(`Error`)?[7,n]:[2,n]},fF=([e,t])=>e===0&&(t===`function`||t===`symbol`),pF=(e,t,n,r)=>{let i=(e,t)=>{let i=r.push(e)-1;return n.set(t,i),i},a=r=>{if(n.has(r))return n.get(r);let[o,s]=dF(r);switch(o){case 0:{let t=r;switch(s){case`bigint`:o=8,t=r.toString();break;case`function`:case`symbol`:if(e)throw TypeError(`unable to serialize `+s);t=null;break;case`undefined`:return i([-1],r)}return i([o,t],r)}case 1:{if(s){let e=r;return s===`DataView`?e=new Uint8Array(r.buffer):s===`ArrayBuffer`&&(e=new Uint8Array(r)),i([s,[...e]],r)}let e=[],t=i([o,e],r);for(let t of r)e.push(a(t));return t}case 2:{if(s)switch(s){case`BigInt`:return i([s,r.toString()],r);case`Boolean`:case`Number`:case`String`:return i([s,r.valueOf()],r)}if(t&&`toJSON`in r)return a(r.toJSON());let n=[],c=i([o,n],r);for(let t of uF(r))(e||!fF(dF(r[t])))&&n.push([a(t),a(r[t])]);return c}case 3:return i([o,r.toISOString()],r);case 4:{let{source:e,flags:t}=r;return i([o,{source:e,flags:t}],r)}case 5:{let t=[],n=i([o,t],r);for(let[n,i]of r)(e||!(fF(dF(n))||fF(dF(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!fF(dF(n)))&&t.push(a(n));return n}}let{message:c}=r;return i([o,{name:s,message:c}],r)};return a},mF=(e,{json:t,lossy:n}={})=>{let r=[];return pF(!(t||n),!!t,new Map,r)(e),r},hF=typeof structuredClone==`function`?(e,t)=>t&&(`json`in t||`lossy`in t)?sF(mF(e,t)):structuredClone(e):(e,t)=>sF(mF(e,t));function gF(e,t){let n=[{type:`text`,value:`↩`}];return t>1&&n.push({type:`element`,tagName:`sup`,properties:{},children:[{type:`text`,value:String(t)}]}),n}function _F(e,t){return`Back to reference `+(e+1)+(t>1?`-`+t:``)}function vF(e){let t=typeof e.options.clobberPrefix==`string`?e.options.clobberPrefix:`user-content-`,n=e.options.footnoteBackContent||gF,r=e.options.footnoteBackLabel||_F,i=e.options.footnoteLabel||`Footnotes`,a=e.options.footnoteLabelTagName||`h2`,o=e.options.footnoteLabelProperties||{className:[`sr-only`]},s=[],c=-1;for(;++c0&&d.push({type:`text`,value:` `});let e=typeof n==`string`?n:n(c,u);typeof e==`string`&&(e={type:`text`,value:e}),d.push({type:`element`,tagName:`a`,properties:{href:`#`+t+`fnref-`+l+(u>1?`-`+u:``),dataFootnoteBackref:``,ariaLabel:typeof r==`string`?r:r(c,u),className:[`data-footnote-backref`]},children:Array.isArray(e)?e:[e]})}let p=a[a.length-1];if(p&&p.type===`element`&&p.tagName===`p`){let e=p.children[p.children.length-1];e&&e.type===`text`?e.value+=` `:p.children.push({type:`text`,value:` `}),p.children.push(...d)}else a.push(...d);let m={type:`element`,tagName:`li`,properties:{id:t+`fn-`+l},children:e.wrap(a,!0)};e.patch(i,m),s.push(m)}if(s.length!==0)return{type:`element`,tagName:`section`,properties:{dataFootnotes:!0,className:[`footnotes`]},children:[{type:`element`,tagName:a,properties:{...hF(o),id:`footnote-label`},children:[{type:`text`,value:i}]},{type:`text`,value:` +`},{type:`element`,tagName:`ol`,properties:{},children:e.wrap(s,!0)},{type:`text`,value:` +`}]}}var yF=(function(e){if(e==null)return wF;if(typeof e==`function`)return CF(e);if(typeof e==`object`)return Array.isArray(e)?bF(e):xF(e);if(typeof e==`string`)return SF(e);throw Error(`Expected function, string, or object as test`)});function bF(e){let t=[],n=-1;for(;++n`:``))+`)`})}return u;function u(){let l=DF,u,d,f;if((!t||a(e,i,c[c.length-1]||void 0))&&(l=kF(n(e,c)),l[0]===!1))return l;if(`children`in e&&e.children){let t=e;if(t.children&&l[0]!==`skip`)for(d=(r?t.children.length:-1)+o,f=c.concat(t);d>-1&&d0&&n.push({type:`text`,value:` +`}),n}function RF(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function zF(e,t){let n=NF(e,t),r=n.one(e,void 0),i=vF(n),a=Array.isArray(r)?{type:`root`,children:r}:r||{type:`root`,children:[]};return i&&(`children`in a,a.children.push({type:`text`,value:` +`},i)),a}function BF(e,t){return e&&`run`in e?async function(n,r){let i=zF(n,{file:r,...t});await e.run(i,r)}:function(n,r){return zF(n,{file:r,...e||t})}}function VF(e){if(e)throw e}var HF=o(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=Object.prototype.toString,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=function(e){return typeof Array.isArray==`function`?Array.isArray(e):r.call(e)===`[object Array]`},s=function(e){if(!e||r.call(e)!==`[object Object]`)return!1;var t=n.call(e,`constructor`),i=e.constructor&&e.constructor.prototype&&n.call(e.constructor.prototype,`isPrototypeOf`);if(e.constructor&&!t&&!i)return!1;for(var a in e);return a===void 0||n.call(e,a)},c=function(e,t){i&&t.name===`__proto__`?i(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},l=function(e,t){if(t===`__proto__`){if(!n.call(e,t))return;if(a)return a(e,t).value}return e[t]};t.exports=function e(){var t,n,r,i,a,u,d=arguments[0],f=1,p=arguments.length,m=!1;for(typeof d==`boolean`&&(m=d,d=arguments[1]||{},f=2),(d==null||typeof d!=`object`&&typeof d!=`function`)&&(d={});ft.length,o;r&&t.push(i);try{o=e.apply(this,t)}catch(e){let t=e;if(r&&n)throw t;return i(t)}r||(o&&o.then&&typeof o.then==`function`?o.then(a,i):o instanceof Error?i(o):a(o))}function i(e,...r){n||(n=!0,t(e,...r))}function a(e){i(null,e)}}var KF={basename:qF,dirname:JF,extname:YF,join:XF,sep:`/`};function qF(e,t){if(t!==void 0&&typeof t!=`string`)throw TypeError(`"ext" argument must be a string`);$F(e);let n=0,r=-1,i=e.length,a;if(t===void 0||t.length===0||t.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(a){n=i+1;break}}else r<0&&(a=!0,r=i+1);return r<0?``:e.slice(n,r)}if(t===e)return``;let o=-1,s=t.length-1;for(;i--;)if(e.codePointAt(i)===47){if(a){n=i+1;break}}else o<0&&(a=!0,o=i+1),s>-1&&(e.codePointAt(i)===t.codePointAt(s--)?s<0&&(r=i):(s=-1,r=o));return n===r?r=o:r<0&&(r=e.length),e.slice(n,r)}function JF(e){if($F(e),e.length===0)return`.`;let t=-1,n=e.length,r;for(;--n;)if(e.codePointAt(n)===47){if(r){t=n;break}}else r||=!0;return t<0?e.codePointAt(0)===47?`/`:`.`:t===1&&e.codePointAt(0)===47?`//`:e.slice(0,t)}function YF(e){$F(e);let t=e.length,n=-1,r=0,i=-1,a=0,o;for(;t--;){let s=e.codePointAt(t);if(s===47){if(o){r=t+1;break}continue}n<0&&(o=!0,n=t+1),s===46?i<0?i=t:a!==1&&(a=1):i>-1&&(a=-1)}return i<0||n<0||a===0||a===1&&i===n-1&&i===r+1?``:e.slice(i,n)}function XF(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+=`/`),t?`/`+n:n}function QF(e,t){let n=``,r=0,i=-1,a=0,o=-1,s,c;for(;++o<=e.length;){if(o2){if(c=n.lastIndexOf(`/`),c!==n.length-1){c<0?(n=``,r=0):(n=n.slice(0,c),r=n.length-1-n.lastIndexOf(`/`)),i=o,a=0;continue}}else if(n.length>0){n=``,r=0,i=o,a=0;continue}}t&&(n=n.length>0?n+`/..`:`..`,r=2)}else n.length>0?n+=`/`+e.slice(i+1,o):n=e.slice(i+1,o),r=o-i-1;i=o,a=0}else s===46&&a>-1?a++:a=-1}return n}function $F(e){if(typeof e!=`string`)throw TypeError(`Path must be a string. Received `+JSON.stringify(e))}var eI={cwd:tI};function tI(){return`/`}function nI(e){return!!(typeof e==`object`&&e&&`href`in e&&e.href&&`protocol`in e&&e.protocol&&e.auth===void 0)}function rI(e){if(typeof e==`string`)e=new URL(e);else if(!nI(e)){let t=TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code=`ERR_INVALID_ARG_TYPE`,t}if(e.protocol!==`file:`){let e=TypeError(`The URL must be of scheme file`);throw e.code=`ERR_INVALID_URL_SCHEME`,e}return iI(e)}function iI(e){if(e.hostname!==``){let e=TypeError(`File URL host must be "localhost" or empty on darwin`);throw e.code=`ERR_INVALID_FILE_URL_HOST`,e}let t=e.pathname,n=-1;for(;++n0){let[r,...a]=t,o=n[i][1];UF(o)&&UF(r)&&(r=(0,fI.default)(!0,o,r)),n[i]=[e,r,...a]}}}}().freeze();function hI(e,t){if(typeof t!=`function`)throw TypeError("Cannot `"+e+"` without `parser`")}function gI(e,t){if(typeof t!=`function`)throw TypeError("Cannot `"+e+"` without `compiler`")}function _I(e,t){if(t)throw Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function vI(e){if(!UF(e)||typeof e.type!=`string`)throw TypeError("Expected node, got `"+e+"`")}function yI(e,t,n){if(!n)throw Error("`"+e+"` finished async. Use `"+t+"` instead")}function bI(e){return xI(e)?e:new oI(e)}function xI(e){return!!(e&&typeof e==`object`&&`message`in e&&`messages`in e)}function SI(e){return typeof e==`string`||CI(e)}function CI(e){return!!(e&&typeof e==`object`&&`byteLength`in e&&`byteOffset`in e)}var wI=[],TI={allowDangerousHtml:!0},EI=/^(https?|ircs?|mailto|xmpp)$/i,DI=[{from:`astPlugins`,id:`remove-buggy-html-in-markdown-parser`},{from:`allowDangerousHtml`,id:`remove-buggy-html-in-markdown-parser`},{from:`allowNode`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`allowElement`},{from:`allowedTypes`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`allowedElements`},{from:`className`,id:`remove-classname`},{from:`disallowedTypes`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`disallowedElements`},{from:`escapeHtml`,id:`remove-buggy-html-in-markdown-parser`},{from:`includeElementIndex`,id:`#remove-includeelementindex`},{from:`includeNodeIndex`,id:`change-includenodeindex-to-includeelementindex`},{from:`linkTarget`,id:`remove-linktarget`},{from:`plugins`,id:`change-plugins-to-remarkplugins`,to:`remarkPlugins`},{from:`rawSourcePos`,id:`#remove-rawsourcepos`},{from:`renderers`,id:`change-renderers-to-components`,to:`components`},{from:`source`,id:`change-source-to-children`,to:`children`},{from:`sourcePos`,id:`#remove-sourcepos`},{from:`transformImageUri`,id:`#add-urltransform`,to:`urlTransform`},{from:`transformLinkUri`,id:`#add-urltransform`,to:`urlTransform`}];function OI(e){let t=kI(e),n=AI(e);return jI(t.runSync(t.parse(n),n),e)}function kI(e){let t=e.rehypePlugins||wI,n=e.remarkPlugins||wI,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...TI}:TI;return mI().use(EP).use(n).use(BF,r).use(t)}function AI(e){let t=e.children||``,n=new oI;return typeof t==`string`?n.value=t:``+t,n}function jI(e,t){let n=t.allowedElements,r=t.allowElement,i=t.components,a=t.disallowedElements,o=t.skipHtml,s=t.unwrapDisallowed,c=t.urlTransform||MI;for(let e of DI)Object.hasOwn(t,e.from)&&``+e.from+(e.to?"use `"+e.to+"` instead":`remove it`)+e.id;return AF(e,l),rj(e,{Fragment:Z.Fragment,components:i,ignoreInvalidStyle:!0,jsx:Z.jsx,jsxs:Z.jsxs,passKeys:!0,passNode:!0});function l(e,t,i){if(e.type===`raw`&&i&&typeof t==`number`)return o?i.children.splice(t,1):i.children[t]={type:`text`,value:e.value},t;if(e.type===`element`){let t;for(t in Tj)if(Object.hasOwn(Tj,t)&&Object.hasOwn(e.properties,t)){let n=e.properties[t],r=Tj[t];(r===null||r.includes(e.tagName))&&(e.properties[t]=c(String(n||``),t,e))}}if(e.type===`element`){let o=n?!n.includes(e.tagName):a?a.includes(e.tagName):!1;if(!o&&r&&typeof t==`number`&&(o=!r(e,t,i)),o&&i&&typeof t==`number`)return s&&e.children?i.children.splice(t,1,...e.children):i.children.splice(t,1),t}}}function MI(e){let t=e.indexOf(`:`),n=e.indexOf(`?`),r=e.indexOf(`#`),i=e.indexOf(`/`);return t===-1||i!==-1&&t>i||n!==-1&&t>n||r!==-1&&t>r||EI.test(e.slice(0,t))?e:``}function NI(e,t){let n=String(e);if(typeof t!=`string`)throw TypeError(`Expected character`);let r=0,i=n.indexOf(t);for(;i!==-1;)r++,i=n.indexOf(t,i+t.length);return r}function PI(e){if(typeof e!=`string`)throw TypeError(`Expected a string`);return e.replace(/[|\\{}()[\]^$+*?.]/g,`\\$&`).replace(/-/g,`\\x2d`)}function FI(e,t,n){let r=yF((n||{}).ignore||[]),i=II(t),a=-1;for(;++a0?{type:`text`,value:a}:void 0),a===!1?r.lastIndex=n+1:(s!==n&&u.push({type:`text`,value:e.value.slice(s,n)}),Array.isArray(a)?u.push(...a):a&&u.push(a),s=n+d[0].length,l=!0),!r.global)break;d=r.exec(e.value)}return l?(s?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],r=n.indexOf(`)`),i=NI(e,`(`),a=NI(e,`)`);for(;r!==-1&&i>a;)e+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(`)`),a++;return[e,n]}function eL(e,t){let n=e.input.charCodeAt(e.index-1);return(e.index===0||Zj(n)||Xj(n))&&(!t||n!==47)}uL.peek=lL;function tL(){this.buffer()}function nL(e){this.enter({type:`footnoteReference`,identifier:``,label:``},e)}function rL(){this.buffer()}function iL(e){this.enter({type:`footnoteDefinition`,identifier:``,label:``,children:[]},e)}function aL(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Bj(this.sliceSerialize(e)).toLowerCase(),n.label=t}function oL(e){this.exit(e)}function sL(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Bj(this.sliceSerialize(e)).toLowerCase(),n.label=t}function cL(e){this.exit(e)}function lL(){return`[`}function uL(e,t,n,r){let i=n.createTracker(r),a=i.move(`[^`),o=n.enter(`footnoteReference`),s=n.enter(`reference`);return a+=i.move(n.safe(n.associationId(e),{after:`]`,before:a})),s(),o(),a+=i.move(`]`),a}function dL(){return{enter:{gfmFootnoteCallString:tL,gfmFootnoteCall:nL,gfmFootnoteDefinitionLabelString:rL,gfmFootnoteDefinition:iL},exit:{gfmFootnoteCallString:aL,gfmFootnoteCall:oL,gfmFootnoteDefinitionLabelString:sL,gfmFootnoteDefinition:cL}}}function fL(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:uL},unsafe:[{character:`[`,inConstruct:[`label`,`phrasing`,`reference`]}]};function n(e,n,r,i){let a=r.createTracker(i),o=a.move(`[^`),s=r.enter(`footnoteDefinition`),c=r.enter(`label`);return o+=a.move(r.safe(r.associationId(e),{before:o,after:`]`})),c(),o+=a.move(`]:`),e.children&&e.children.length>0&&(a.shift(4),o+=a.move((t?` +`:` `)+r.indentLines(r.containerFlow(e,a.current()),t?mL:pL))),s(),o}}function pL(e,t,n){return t===0?e:mL(e,t,n)}function mL(e,t,n){return(n?``:` `)+e}var hL=[`autolink`,`destinationLiteral`,`destinationRaw`,`reference`,`titleQuote`,`titleApostrophe`];bL.peek=xL;function gL(){return{canContainEols:[`delete`],enter:{strikethrough:vL},exit:{strikethrough:yL}}}function _L(){return{unsafe:[{character:`~`,inConstruct:`phrasing`,notInConstruct:hL}],handlers:{delete:bL}}}function vL(e){this.enter({type:`delete`,children:[]},e)}function yL(e){this.exit(e)}function bL(e,t,n,r){let i=n.createTracker(r),a=n.enter(`strikethrough`),o=i.move(`~~`);return o+=n.containerPhrasing(e,{...i.current(),before:o,after:`~`}),o+=i.move(`~~`),a(),o}function xL(){return`~`}function SL(e){return e.length}function CL(e,t){let n=t||{},r=(n.align||[]).concat(),i=n.stringLength||SL,a=[],o=[],s=[],c=[],l=0,u=-1;for(;++ul&&(l=e[u].length);++ac[a])&&(c[a]=e)}t.push(o)}o[u]=t,s[u]=r}let d=-1;if(typeof r==`object`&&`length`in r)for(;++dc[d]&&(c[d]=i),p[d]=i),f[d]=o}o.splice(1,0,f),s.splice(1,0,p),u=-1;let m=[];for(;++u `),a.shift(2);let o=n.indentLines(n.containerFlow(e,a.current()),DL);return i(),o}function DL(e,t,n){return`>`+(n?``:` `)+e}function OL(e,t){return kL(e,t.inConstruct,!0)&&!kL(e,t.notInConstruct,!1)}function kL(e,t,n){if(typeof t==`string`&&(t=[t]),!t||t.length===0)return n;let r=-1;for(;++ro&&(o=a):a=1,i=r+t.length,r=n.indexOf(t,i);return o}function ML(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function NL(e){let t=e.options.fence||"`";if(t!=="`"&&t!==`~`)throw Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function PL(e,t,n,r){let i=NL(n),a=e.value||``,o=i==="`"?`GraveAccent`:`Tilde`;if(ML(e,n)){let e=n.enter(`codeIndented`),t=n.indentLines(a,FL);return e(),t}let s=n.createTracker(r),c=i.repeat(Math.max(jL(a,i)+1,3)),l=n.enter(`codeFenced`),u=s.move(c);if(e.lang){let t=n.enter(`codeFencedLang${o}`);u+=s.move(n.safe(e.lang,{before:u,after:` `,encode:["`"],...s.current()})),t()}if(e.lang&&e.meta){let t=n.enter(`codeFencedMeta${o}`);u+=s.move(` `),u+=s.move(n.safe(e.meta,{before:u,after:` +`,encode:["`"],...s.current()})),t()}return u+=s.move(` +`),a&&(u+=s.move(a+` +`)),u+=s.move(c),l(),u}function FL(e,t,n){return(n?``:` `)+e}function IL(e){let t=e.options.quote||`"`;if(t!==`"`&&t!==`'`)throw Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function LL(e,t,n,r){let i=IL(n),a=i===`"`?`Quote`:`Apostrophe`,o=n.enter(`definition`),s=n.enter(`label`),c=n.createTracker(r),l=c.move(`[`);return l+=c.move(n.safe(n.associationId(e),{before:l,after:`]`,...c.current()})),l+=c.move(`]: `),s(),!e.url||/[\0- \u007F]/.test(e.url)?(s=n.enter(`destinationLiteral`),l+=c.move(`<`),l+=c.move(n.safe(e.url,{before:l,after:`>`,...c.current()})),l+=c.move(`>`)):(s=n.enter(`destinationRaw`),l+=c.move(n.safe(e.url,{before:l,after:e.title?` `:` +`,...c.current()}))),s(),e.title&&(s=n.enter(`title${a}`),l+=c.move(` `+i),l+=c.move(n.safe(e.title,{before:l,after:i,...c.current()})),l+=c.move(i),s()),o(),l}function RL(e){let t=e.options.emphasis||`*`;if(t!==`*`&&t!==`_`)throw Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function zL(e){return`&#x`+e.toString(16).toUpperCase()+`;`}function BL(e,t,n){let r=sM(e),i=sM(t);return r===void 0?i===void 0?n===`_`?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===1?i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}VL.peek=HL;function VL(e,t,n,r){let i=RL(n),a=n.enter(`emphasis`),o=n.createTracker(r),s=o.move(i),c=o.move(n.containerPhrasing(e,{after:i,before:s,...o.current()})),l=c.charCodeAt(0),u=BL(r.before.charCodeAt(r.before.length-1),l,i);u.inside&&(c=zL(l)+c.slice(1));let d=c.charCodeAt(c.length-1),f=BL(r.after.charCodeAt(0),d,i);f.inside&&(c=c.slice(0,-1)+zL(d));let p=o.move(i);return a(),n.attentionEncodeSurroundingInfo={after:f.outside,before:u.outside},s+c+p}function HL(e,t,n){return n.options.emphasis||`*`}function UL(e,t){let n=!1;return AF(e,function(e){if(`value`in e&&/\r?\n|\r/.test(e.value)||e.type===`break`)return n=!0,!1}),!!((!e.depth||e.depth<3)&&Dj(e)&&(t.options.setext||n))}function WL(e,t,n,r){let i=Math.max(Math.min(6,e.depth||1),1),a=n.createTracker(r);if(UL(e,n)){let t=n.enter(`headingSetext`),r=n.enter(`phrasing`),o=n.containerPhrasing(e,{...a.current(),before:` +`,after:` +`});return r(),t(),o+` +`+(i===1?`=`:`-`).repeat(o.length-(Math.max(o.lastIndexOf(`\r`),o.lastIndexOf(` +`))+1))}let o=`#`.repeat(i),s=n.enter(`headingAtx`),c=n.enter(`phrasing`);a.move(o+` `);let l=n.containerPhrasing(e,{before:`# `,after:` +`,...a.current()});return/^[\t ]/.test(l)&&(l=zL(l.charCodeAt(0))+l.slice(1)),l=l?o+` `+l:o,n.options.closeAtx&&(l+=` `+o),c(),s(),l}GL.peek=KL;function GL(e){return e.value||``}function KL(){return`<`}qL.peek=JL;function qL(e,t,n,r){let i=IL(n),a=i===`"`?`Quote`:`Apostrophe`,o=n.enter(`image`),s=n.enter(`label`),c=n.createTracker(r),l=c.move(`![`);return l+=c.move(n.safe(e.alt,{before:l,after:`]`,...c.current()})),l+=c.move(`](`),s(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(s=n.enter(`destinationLiteral`),l+=c.move(`<`),l+=c.move(n.safe(e.url,{before:l,after:`>`,...c.current()})),l+=c.move(`>`)):(s=n.enter(`destinationRaw`),l+=c.move(n.safe(e.url,{before:l,after:e.title?` `:`)`,...c.current()}))),s(),e.title&&(s=n.enter(`title${a}`),l+=c.move(` `+i),l+=c.move(n.safe(e.title,{before:l,after:i,...c.current()})),l+=c.move(i),s()),l+=c.move(`)`),o(),l}function JL(){return`!`}YL.peek=XL;function YL(e,t,n,r){let i=e.referenceType,a=n.enter(`imageReference`),o=n.enter(`label`),s=n.createTracker(r),c=s.move(`![`),l=n.safe(e.alt,{before:c,after:`]`,...s.current()});c+=s.move(l+`][`),o();let u=n.stack;n.stack=[],o=n.enter(`reference`);let d=n.safe(n.associationId(e),{before:c,after:`]`,...s.current()});return o(),n.stack=u,a(),i===`full`||!l||l!==d?c+=s.move(d+`]`):i===`shortcut`?c=c.slice(0,-1):c+=s.move(`]`),c}function XL(){return`!`}ZL.peek=QL;function ZL(e,t,n){let r=e.value||``,i="`",a=-1;for(;RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=` `+r+` `);++a\u007F]/.test(e.url))}eR.peek=tR;function eR(e,t,n,r){let i=IL(n),a=i===`"`?`Quote`:`Apostrophe`,o=n.createTracker(r),s,c;if($L(e,n)){let t=n.stack;n.stack=[],s=n.enter(`autolink`);let r=o.move(`<`);return r+=o.move(n.containerPhrasing(e,{before:r,after:`>`,...o.current()})),r+=o.move(`>`),s(),n.stack=t,r}s=n.enter(`link`),c=n.enter(`label`);let l=o.move(`[`);return l+=o.move(n.containerPhrasing(e,{before:l,after:`](`,...o.current()})),l+=o.move(`](`),c(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(c=n.enter(`destinationLiteral`),l+=o.move(`<`),l+=o.move(n.safe(e.url,{before:l,after:`>`,...o.current()})),l+=o.move(`>`)):(c=n.enter(`destinationRaw`),l+=o.move(n.safe(e.url,{before:l,after:e.title?` `:`)`,...o.current()}))),c(),e.title&&(c=n.enter(`title${a}`),l+=o.move(` `+i),l+=o.move(n.safe(e.title,{before:l,after:i,...o.current()})),l+=o.move(i),c()),l+=o.move(`)`),s(),l}function tR(e,t,n){return $L(e,n)?`<`:`[`}nR.peek=rR;function nR(e,t,n,r){let i=e.referenceType,a=n.enter(`linkReference`),o=n.enter(`label`),s=n.createTracker(r),c=s.move(`[`),l=n.containerPhrasing(e,{before:c,after:`]`,...s.current()});c+=s.move(l+`][`),o();let u=n.stack;n.stack=[],o=n.enter(`reference`);let d=n.safe(n.associationId(e),{before:c,after:`]`,...s.current()});return o(),n.stack=u,a(),i===`full`||!l||l!==d?c+=s.move(d+`]`):i===`shortcut`?c=c.slice(0,-1):c+=s.move(`]`),c}function rR(){return`[`}function iR(e){let t=e.options.bullet||`*`;if(t!==`*`&&t!==`+`&&t!==`-`)throw Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function aR(e){let t=iR(e),n=e.options.bulletOther;if(!n)return t===`*`?`-`:`*`;if(n!==`*`&&n!==`+`&&n!==`-`)throw Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function oR(e){let t=e.options.bulletOrdered||`.`;if(t!==`.`&&t!==`)`)throw Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function sR(e){let t=e.options.rule||`*`;if(t!==`*`&&t!==`-`&&t!==`_`)throw Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function cR(e,t,n,r){let i=n.enter(`list`),a=n.bulletCurrent,o=e.ordered?oR(n):iR(n),s=e.ordered?o===`.`?`)`:`.`:aR(n),c=t&&n.bulletLastUsed?o===n.bulletLastUsed:!1;if(!e.ordered){let t=e.children?e.children[0]:void 0;if((o===`*`||o===`-`)&&t&&(!t.children||!t.children[0])&&n.stack[n.stack.length-1]===`list`&&n.stack[n.stack.length-2]===`listItem`&&n.stack[n.stack.length-3]===`list`&&n.stack[n.stack.length-4]===`listItem`&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(c=!0),sR(n)===o&&t){let t=-1;for(;++t-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+a);let o=a.length+1;(i===`tab`||i===`mixed`&&(t&&t.type===`list`&&t.spread||e.spread))&&(o=Math.ceil(o/4)*4);let s=n.createTracker(r);s.move(a+` `.repeat(o-a.length)),s.shift(o);let c=n.enter(`listItem`),l=n.indentLines(n.containerFlow(e,s.current()),u);return c(),l;function u(e,t,n){return t?(n?``:` `.repeat(o))+e:(n?a:a+` `.repeat(o-a.length))+e}}function dR(e,t,n,r){let i=n.enter(`paragraph`),a=n.enter(`phrasing`),o=n.containerPhrasing(e,r);return a(),i(),o}var fR=yF([`break`,`delete`,`emphasis`,`footnote`,`footnoteReference`,`image`,`imageReference`,`inlineCode`,`inlineMath`,`link`,`linkReference`,`mdxJsxTextElement`,`mdxTextExpression`,`strong`,`text`,`textDirective`]);function pR(e,t,n,r){return(e.children.some(function(e){return fR(e)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function mR(e){let t=e.options.strong||`*`;if(t!==`*`&&t!==`_`)throw Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}hR.peek=gR;function hR(e,t,n,r){let i=mR(n),a=n.enter(`strong`),o=n.createTracker(r),s=o.move(i+i),c=o.move(n.containerPhrasing(e,{after:i,before:s,...o.current()})),l=c.charCodeAt(0),u=BL(r.before.charCodeAt(r.before.length-1),l,i);u.inside&&(c=zL(l)+c.slice(1));let d=c.charCodeAt(c.length-1),f=BL(r.after.charCodeAt(0),d,i);f.inside&&(c=c.slice(0,-1)+zL(d));let p=o.move(i+i);return a(),n.attentionEncodeSurroundingInfo={after:f.outside,before:u.outside},s+c+p}function gR(e,t,n){return n.options.strong||`*`}function _R(e,t,n,r){return n.safe(e.value,r)}function vR(e){let t=e.options.ruleRepetition||3;if(t<3)throw Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function yR(e,t,n){let r=(sR(n)+(n.options.ruleSpaces?` `:``)).repeat(vR(n));return n.options.ruleSpaces?r.slice(0,-1):r}var bR={blockquote:EL,break:AL,code:PL,definition:LL,emphasis:VL,hardBreak:AL,heading:WL,html:GL,image:qL,imageReference:YL,inlineCode:ZL,link:eR,linkReference:nR,list:cR,listItem:uR,paragraph:dR,root:pR,strong:hR,text:_R,thematicBreak:yR};function xR(){return{enter:{table:SR,tableData:ER,tableHeader:ER,tableRow:wR},exit:{codeText:DR,table:CR,tableData:TR,tableHeader:TR,tableRow:TR}}}function SR(e){let t=e._align;this.enter({type:`table`,align:t.map(function(e){return e===`none`?null:e}),children:[]},e),this.data.inTable=!0}function CR(e){this.exit(e),this.data.inTable=void 0}function wR(e){this.enter({type:`tableRow`,children:[]},e)}function TR(e){this.exit(e)}function ER(e){this.enter({type:`tableCell`,children:[]},e)}function DR(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,OR));let n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function OR(e,t){return t===`|`?t:e}function kR(e){let t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,i=t.stringLength,a=n?` `:`|`;return{unsafe:[{character:`\r`,inConstruct:`tableCell`},{character:` +`,inConstruct:`tableCell`},{atBreak:!0,character:`|`,after:`[ :-]`},{character:`|`,inConstruct:`tableCell`},{atBreak:!0,character:`:`,after:`-`},{atBreak:!0,character:`-`,after:`[:|-]`}],handlers:{inlineCode:f,table:o,tableCell:c,tableRow:s}};function o(e,t,n,r){return l(u(e,n,r),e.align)}function s(e,t,n,r){let i=l([d(e,n,r)]);return i.slice(0,i.indexOf(` +`))}function c(e,t,n,r){let i=n.enter(`tableCell`),o=n.enter(`phrasing`),s=n.containerPhrasing(e,{...r,before:a,after:a});return o(),i(),s}function l(e,t){return CL(e,{align:t,alignDelimiters:r,padding:n,stringLength:i})}function u(e,t,n){let r=e.children,i=-1,a=[],o=t.enter(`table`);for(;++i0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}var sz={tokenize:hz,partial:!0};function cz(){return{document:{91:{name:`gfmFootnoteDefinition`,tokenize:fz,continuation:{tokenize:pz},exit:mz}},text:{91:{name:`gfmFootnoteCall`,tokenize:dz},93:{name:`gfmPotentialFootnoteCall`,add:`after`,tokenize:lz,resolveTo:uz}}}}function lz(e,t,n){let r=this,i=r.events.length,a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),o;for(;i--;){let e=r.events[i][1];if(e.type===`labelImage`){o=e;break}if(e.type===`gfmFootnoteCall`||e.type===`labelLink`||e.type===`label`||e.type===`image`||e.type===`link`)break}return s;function s(i){if(!o||!o._balanced)return n(i);let s=Bj(r.sliceSerialize({start:o.end,end:r.now()}));return s.codePointAt(0)!==94||!a.includes(s.slice(1))?n(i):(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(i),e.exit(`gfmFootnoteCallLabelMarker`),t(i))}}function uz(e,t){let n=e.length;for(;n--;)if(e[n][1].type===`labelImage`&&e[n][0]===`enter`){e[n][1];break}e[n+1][1].type=`data`,e[n+3][1].type=`gfmFootnoteCallLabelMarker`;let r={type:`gfmFootnoteCall`,start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:`gfmFootnoteCallMarker`,start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;let a={type:`gfmFootnoteCallString`,start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},o={type:`chunkString`,contentType:`string`,start:Object.assign({},a.start),end:Object.assign({},a.end)},s=[e[n+1],e[n+2],[`enter`,r,t],e[n+3],e[n+4],[`enter`,i,t],[`exit`,i,t],[`enter`,a,t],[`enter`,o,t],[`exit`,o,t],[`exit`,a,t],e[e.length-2],e[e.length-1],[`exit`,r,t]];return e.splice(n,e.length-n+1,...s),e}function dz(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a=0,o;return s;function s(t){return e.enter(`gfmFootnoteCall`),e.enter(`gfmFootnoteCallLabelMarker`),e.consume(t),e.exit(`gfmFootnoteCallLabelMarker`),c}function c(t){return t===94?(e.enter(`gfmFootnoteCallMarker`),e.consume(t),e.exit(`gfmFootnoteCallMarker`),e.enter(`gfmFootnoteCallString`),e.enter(`chunkString`).contentType=`string`,l):n(t)}function l(s){if(a>999||s===93&&!o||s===null||s===91||Jj(s))return n(s);if(s===93){e.exit(`chunkString`);let a=e.exit(`gfmFootnoteCallString`);return i.includes(Bj(r.sliceSerialize(a)))?(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(s),e.exit(`gfmFootnoteCallLabelMarker`),e.exit(`gfmFootnoteCall`),t):n(s)}return Jj(s)||(o=!0),a++,e.consume(s),s===92?u:l}function u(t){return t===91||t===92||t===93?(e.consume(t),a++,l):l(t)}}function fz(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a,o=0,s;return c;function c(t){return e.enter(`gfmFootnoteDefinition`)._container=!0,e.enter(`gfmFootnoteDefinitionLabel`),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),l}function l(t){return t===94?(e.enter(`gfmFootnoteDefinitionMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionMarker`),e.enter(`gfmFootnoteDefinitionLabelString`),e.enter(`chunkString`).contentType=`string`,u):n(t)}function u(t){if(o>999||t===93&&!s||t===null||t===91||Jj(t))return n(t);if(t===93){e.exit(`chunkString`);let n=e.exit(`gfmFootnoteDefinitionLabelString`);return a=Bj(r.sliceSerialize(n)),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),e.exit(`gfmFootnoteDefinitionLabel`),f}return Jj(t)||(s=!0),o++,e.consume(t),t===92?d:u}function d(t){return t===91||t===92||t===93?(e.consume(t),o++,u):u(t)}function f(t){return t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),i.includes(a)||i.push(a),eM(e,p,`gfmFootnoteDefinitionWhitespace`)):n(t)}function p(e){return t(e)}}function pz(e,t,n){return e.check(hM,t,e.attempt(sz,t,n))}function mz(e){e.exit(`gfmFootnoteDefinition`)}function hz(e,t,n){let r=this;return eM(e,i,`gfmFootnoteDefinitionIndent`,5);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`gfmFootnoteDefinitionIndent`&&i[2].sliceSerialize(i[1],!0).length===4?t(e):n(e)}}function gz(e){let t=(e||{}).singleTilde,n={name:`strikethrough`,tokenize:i,resolveAll:r};return t??=!0,{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(e,t){let n=-1;for(;++n1?r(a):(e.consume(a),o++,c);if(o<2&&!t)return r(a);let l=e.exit(`strikethroughSequenceTemporary`),u=sM(a);return l._open=!u||u===2&&!!s,l._close=!s||s===2&&!!u,n(a)}}}var _z=class{constructor(){this.map=[]}add(e,t,n){vz(this,e,t,n)}consume(e){if(this.map.sort(function(e,t){return e[0]-t[0]}),this.map.length===0)return;let t=this.map.length,n=[];for(;t>0;)--t,n.push(e.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),e.length=this.map[t][0];n.push(e.slice()),e.length=0;let r=n.pop();for(;r;){for(let t of r)e.push(t);r=n.pop()}this.map.length=0}};function vz(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i-1;){let e=r.events[t][1].type;if(e===`lineEnding`||e===`linePrefix`)t--;else break}let i=t>-1?r.events[t][1].type:null,a=i===`tableHead`||i===`tableRow`?S:c;return a===S&&r.parser.lazy[r.now().line]?n(e):a(e)}function c(t){return e.enter(`tableHead`),e.enter(`tableRow`),l(t)}function l(e){return e===124?u(e):(o=!0,a+=1,u(e))}function u(t){return t===null?n(t):$(t)?a>1?(a=0,r.interrupt=!0,e.exit(`tableRow`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),p):n(t):Yj(t)?eM(e,u,`whitespace`)(t):(a+=1,o&&(o=!1,i+=1),t===124?(e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),o=!0,u):(e.enter(`data`),d(t)))}function d(t){return t===null||t===124||Jj(t)?(e.exit(`data`),u(t)):(e.consume(t),t===92?f:d)}function f(t){return t===92||t===124?(e.consume(t),d):d(t)}function p(t){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(t):(e.enter(`tableDelimiterRow`),o=!1,Yj(t)?eM(e,m,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):m(t))}function m(t){return t===45||t===58?g(t):t===124?(o=!0,e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),h):x(t)}function h(t){return Yj(t)?eM(e,g,`whitespace`)(t):g(t)}function g(t){return t===58?(a+=1,o=!0,e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),_):t===45?(a+=1,_(t)):t===null||$(t)?b(t):x(t)}function _(t){return t===45?(e.enter(`tableDelimiterFiller`),v(t)):x(t)}function v(t){return t===45?(e.consume(t),v):t===58?(o=!0,e.exit(`tableDelimiterFiller`),e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),y):(e.exit(`tableDelimiterFiller`),y(t))}function y(t){return Yj(t)?eM(e,b,`whitespace`)(t):b(t)}function b(n){return n===124?m(n):n===null||$(n)?!o||i!==a?x(n):(e.exit(`tableDelimiterRow`),e.exit(`tableHead`),t(n)):x(n)}function x(e){return n(e)}function S(t){return e.enter(`tableRow`),C(t)}function C(n){return n===124?(e.enter(`tableCellDivider`),e.consume(n),e.exit(`tableCellDivider`),C):n===null||$(n)?(e.exit(`tableRow`),t(n)):Yj(n)?eM(e,C,`whitespace`)(n):(e.enter(`data`),w(n))}function w(t){return t===null||t===124||Jj(t)?(e.exit(`data`),C(t)):(e.consume(t),t===92?T:w)}function T(t){return t===92||t===124?(e.consume(t),w):w(t)}}function Sz(e,t){let n=-1,r=!0,i=0,a=[0,0,0,0],o=[0,0,0,0],s=!1,c=0,l,u,d,f=new _z;for(;++nn[2]+1){let t=n[2]+1,r=n[3]-n[2]-1;e.add(t,r,[])}}e.add(n[3]+1,0,[[`exit`,o,t]])}return i!==void 0&&(a.end=Object.assign({},Tz(t.events,i)),e.add(i,0,[[`exit`,a,t]]),a=void 0),a}function wz(e,t,n,r,i){let a=[],o=Tz(t.events,n);i&&(i.end=Object.assign({},o),a.push([`exit`,i,t])),r.end=Object.assign({},o),a.push([`exit`,r,t]),e.add(n+1,0,a)}function Tz(e,t){let n=e[t],r=n[0]===`enter`?`start`:`end`;return n[1][r]}var Ez={name:`tasklistCheck`,tokenize:Oz};function Dz(){return{text:{91:Ez}}}function Oz(e,t,n){let r=this;return i;function i(t){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(t):(e.enter(`taskListCheck`),e.enter(`taskListCheckMarker`),e.consume(t),e.exit(`taskListCheckMarker`),a)}function a(t){return Jj(t)?(e.enter(`taskListCheckValueUnchecked`),e.consume(t),e.exit(`taskListCheckValueUnchecked`),o):t===88||t===120?(e.enter(`taskListCheckValueChecked`),e.consume(t),e.exit(`taskListCheckValueChecked`),o):n(t)}function o(t){return t===93?(e.enter(`taskListCheckMarker`),e.consume(t),e.exit(`taskListCheckMarker`),e.exit(`taskListCheck`),s):n(t)}function s(r){return $(r)?t(r):Yj(r)?e.check({tokenize:kz},t,n)(r):n(r)}}function kz(e,t,n){return eM(e,r,`whitespace`);function r(e){return e===null?n(e):t(e)}}function Az(e){return Ij([KR(),cz(),gz(e),bz(),Dz()])}var jz={};function Mz(e){let t=this,n=e||jz,r=t.data(),i=r.micromarkExtensions||=[],a=r.fromMarkdownExtensions||=[],o=r.toMarkdownExtensions||=[];i.push(Az(n)),a.push(FR()),o.push(IR(n))}var Nz=[Mz],Pz={p:({children:e})=>(0,Z.jsx)(`p`,{className:`mb-3 last:mb-0`,children:e}),strong:({children:e})=>(0,Z.jsx)(`strong`,{className:`font-semibold text-[var(--color-text)]`,children:e}),em:({children:e})=>(0,Z.jsx)(`em`,{className:`italic`,children:e}),h1:({children:e})=>(0,Z.jsx)(`h1`,{className:`text-xl font-bold mb-2 mt-4`,children:e}),h2:({children:e})=>(0,Z.jsx)(`h2`,{className:`text-lg font-bold mb-2 mt-3`,children:e}),h3:({children:e})=>(0,Z.jsx)(`h3`,{className:`text-base font-bold mb-1 mt-2`,children:e}),ul:({children:e})=>(0,Z.jsx)(`ul`,{className:`list-disc pl-5 mb-3 space-y-1`,children:e}),ol:({children:e})=>(0,Z.jsx)(`ol`,{className:`list-decimal pl-5 mb-3 space-y-1`,children:e}),li:({children:e})=>(0,Z.jsx)(`li`,{className:`leading-relaxed`,children:e}),a:({href:e,children:t})=>(0,Z.jsx)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:`text-[var(--color-blue)] hover:underline`,children:t}),blockquote:({children:e})=>(0,Z.jsx)(`blockquote`,{className:`border-l-2 border-[var(--color-blue)]/40 pl-3 my-2 text-[var(--color-text-secondary)]`,children:e}),code:({inline:e,className:t,children:n})=>{if(e)return(0,Z.jsx)(`code`,{className:`px-1.5 py-0.5 bg-[var(--color-surface-high)] rounded text-[13px] font-mono text-[var(--color-blue)]`,children:n});let r=t?.replace(`language-`,``)||``;return(0,Z.jsxs)(`div`,{className:`my-3 rounded-xl overflow-hidden border border-[var(--color-outline)]`,children:[r&&(0,Z.jsx)(`div`,{className:`px-3 py-1.5 bg-[var(--color-surface-high)] text-[10px] font-mono text-[var(--color-text-secondary)] uppercase tracking-wider border-b border-[var(--color-outline)]`,children:r}),(0,Z.jsx)(`pre`,{className:`p-3 bg-[var(--color-surface)] overflow-x-auto`,children:(0,Z.jsx)(`code`,{className:`text-[13px] font-mono leading-relaxed text-[var(--color-text)]`,children:n})})]})},table:({children:e})=>(0,Z.jsx)(`div`,{className:`my-3 overflow-x-auto`,children:(0,Z.jsx)(`table`,{className:`w-full text-sm border-collapse`,children:e})}),th:({children:e})=>(0,Z.jsx)(`th`,{className:`text-left px-3 py-2 bg-[var(--color-surface)] border border-[var(--color-outline)] font-medium`,children:e}),td:({children:e})=>(0,Z.jsx)(`td`,{className:`px-3 py-2 border border-[var(--color-outline)]`,children:e}),hr:()=>(0,Z.jsx)(`hr`,{className:`my-4 border-[var(--color-outline)]`})};function Fz({children:e}){return(0,Z.jsx)(OI,{remarkPlugins:Nz,components:Pz,children:e})}var Iz=`‹‹THINK››`,Lz=`‹‹/THINK››`;function Rz(e){let t=e.indexOf(Iz),n=e.indexOf(Lz);return t!==-1&&n!==-1?{thinking:e.slice(t+9,n).trim(),response:e.slice(n+10).trim()}:t!==-1&&n===-1?{thinking:e.slice(t+9).trim(),response:null}:{thinking:null,response:e}}function zz({thinking:e}){let[t,n]=(0,y.useState)(!1);return e?(0,Z.jsxs)(`div`,{className:`mb-3`,children:[(0,Z.jsxs)(`button`,{onClick:()=>n(e=>!e),className:`flex items-center gap-1.5 text-[11px] text-[var(--color-text-secondary)] hover:text-[var(--color-text)] transition-colors cursor-pointer`,children:[(0,Z.jsx)(`span`,{className:`transition-transform ${t?`rotate-90`:``}`,children:`▶`}),(0,Z.jsx)(`span`,{children:`💭 Thinking`})]}),t&&(0,Z.jsx)(`div`,{className:`mt-1.5 pl-4 border-l-2 border-[var(--color-blue)]/20 text-xs text-[var(--color-text-secondary)]/80 leading-relaxed whitespace-pre-wrap`,children:e})]}):null}function Bz({text:e}){let{thinking:t,response:n}=Rz(e);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(zz,{thinking:t}),n&&(0,Z.jsx)(Fz,{children:n}),n===null&&t&&(0,Z.jsx)(`span`,{className:`text-[11px] text-[var(--color-text-secondary)] italic`,children:`thinking...`})]})}function Vz({messages:e,streamingText:t,isStreaming:n}){return(0,Z.jsxs)(`div`,{className:`px-4 py-4 space-y-6`,children:[e.map((e,t)=>(0,Z.jsx)(Hz,{msg:e},t)),n&&t&&(0,Z.jsxs)(`div`,{className:`flex gap-3`,children:[(0,Z.jsx)(`div`,{className:`w-7 h-7 rounded-lg bg-gradient-to-br from-[#3186FF] to-[#4FA0FF] flex items-center justify-center text-white text-xs font-bold shrink-0`,children:`G`}),(0,Z.jsxs)(`div`,{className:`text-sm text-[var(--color-text)] leading-relaxed pt-1 min-w-0`,children:[(0,Z.jsx)(Bz,{text:t}),(0,Z.jsx)(`span`,{className:`inline-block w-1.5 h-4 bg-[var(--color-blue)] animate-pulse ml-0.5 align-text-bottom rounded-sm`})]})]})]})}function Hz({msg:e}){let t=e.role===`user`;return(0,Z.jsxs)(`div`,{className:`flex gap-3`,children:[(0,Z.jsx)(`div`,{className:`w-7 h-7 rounded-lg flex items-center justify-center text-xs font-bold shrink-0 ${t?`bg-[var(--color-surface-high)] text-[var(--color-text-secondary)]`:`bg-gradient-to-br from-[#3186FF] to-[#4FA0FF] text-white`}`,children:t?`Y`:`G`}),(0,Z.jsxs)(`div`,{className:`flex-1 min-w-0 pt-0.5`,children:[e.videoUrl?(0,Z.jsx)(`video`,{controls:!0,src:e.videoUrl,className:`max-w-sm max-h-48 rounded-xl mb-2 border border-[var(--color-outline)]`}):e.imageUrl?(0,Z.jsx)(`img`,{src:e.imageUrl,alt:`Attached`,className:`max-w-xs max-h-48 rounded-xl mb-2 border border-[var(--color-outline)]`}):null,e.audioUrl&&(0,Z.jsx)(`audio`,{controls:!0,src:e.audioUrl,className:`mb-2 h-8 max-w-xs`}),t?(0,Z.jsx)(`div`,{className:`text-sm text-[var(--color-text)] leading-relaxed`,children:e.content.filter(e=>e.type===`text`).map(e=>e.text).join(``)}):(0,Z.jsx)(`div`,{className:`text-sm text-[var(--color-text)] leading-relaxed`,children:(0,Z.jsx)(Bz,{text:e.content})})]})]})}function Uz({loadProgress:e,isCached:t}){let n=e?.progress==null?0:Math.round(e.progress),r=e?.file?.split(`/`).pop()||``;return(0,Z.jsxs)(`div`,{className:`w-72 flex flex-col items-center gap-2`,children:[(0,Z.jsx)(`div`,{className:`w-full h-1.5 bg-[var(--color-surface)] rounded-full overflow-hidden`,children:(0,Z.jsx)(`div`,{className:`h-full bg-[var(--color-blue)] transition-all duration-300 rounded-full`,style:{width:`${n}%`}})}),(0,Z.jsxs)(`p`,{className:`text-[var(--color-text-secondary)] text-xs`,children:[t?`Loading from cache`:`Downloading model`,r?` — ${r} ${n}%`:`...`]})]})}var Wz=[{icon:`📷`,label:`Image`,tilt:0,rx:130,ry:45,duration:10,phase:0},{icon:`🎤`,label:`Audio`,tilt:45,rx:130,ry:45,duration:13,phase:0},{icon:`💬`,label:`Text`,tilt:90,rx:130,ry:45,duration:11,phase:0},{icon:`🎬`,label:`Video`,tilt:135,rx:130,ry:45,duration:15,phase:0}].map(e=>({...e,tiltRad:e.tilt*Math.PI/180}));function Gz(){let e=(0,y.useRef)([]);return(0,y.useEffect)(()=>{let t,n=performance.now();function r(){let i=(performance.now()-n)/1e3;for(let t=0;t0?20:1,r.style.opacity=.5+u*.5}t=requestAnimationFrame(r)}return t=requestAnimationFrame(r),()=>cancelAnimationFrame(t)},[]),(0,Z.jsxs)(`div`,{className:`relative w-80 h-80 mx-auto`,children:[(0,Z.jsx)(`svg`,{className:`absolute inset-0 w-full h-full`,viewBox:`-160 -160 320 320`,children:Wz.map(e=>(0,Z.jsx)(`ellipse`,{cx:`0`,cy:`0`,rx:e.rx,ry:e.ry,fill:`none`,stroke:`var(--color-text-secondary)`,opacity:`0.15`,strokeWidth:`1`,transform:`rotate(${e.tilt})`},e.label))}),(0,Z.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center z-10`,children:(0,Z.jsx)(`div`,{className:`w-16 h-16 rounded-2xl bg-gradient-to-br from-[#3186FF] to-[#4FA0FF] flex items-center justify-center text-white text-2xl font-bold shadow-[0_0_40px_rgba(60,144,255,0.3)]`,children:`G`})}),(0,Z.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center pointer-events-none`,children:(0,Z.jsx)(`div`,{className:`w-28 h-28 rounded-full bg-[var(--color-blue)]/8 animate-pulse`})}),Wz.map((t,n)=>(0,Z.jsxs)(`div`,{ref:t=>e.current[n]=t,className:`absolute flex flex-col items-center gap-0.5 px-2.5 py-1.5 bg-[var(--color-surface)]/90 border border-[var(--color-outline)] rounded-xl backdrop-blur-sm`,style:{transform:`translate(-50%, -50%)`},children:[(0,Z.jsx)(`span`,{className:`text-base leading-none`,children:t.icon}),(0,Z.jsx)(`span`,{className:`text-[9px] text-[var(--color-text-secondary)] font-medium leading-none`,children:t.label})]},t.label))]})}async function Kz(e,{maxFrames:t=1}={}){return new Promise((n,r)=>{let i=document.createElement(`video`);i.crossOrigin=`anonymous`,i.muted=!0,i.preload=`auto`,i.onloadedmetadata=async()=>{let e=Math.min(i.duration,60),r=Math.min(Math.floor(e),t),a=e/r,o=document.createElement(`canvas`);o.width=Math.min(i.videoWidth,512),o.height=Math.round(o.width*(i.videoHeight/i.videoWidth));let s=o.getContext(`2d`),c=[];for(let e=0;eo.toBlob(e,`image/jpeg`,.8));c.push(URL.createObjectURL(t))}n(c)},i.onerror=()=>r(Error(`Failed to load video`)),i.src=e})}function qz(e,t){return new Promise(n=>{e.currentTime=t,e.onseeked=()=>n()})}var Jz=`You are a helpful assistant. When given images, describe and analyze them. When given audio, transcribe or describe it. Be concise and helpful.`,Yz=[{label:`Describe this patch`,text:`What do you see in this image? Describe it in detail.`,icon:`📷`,imageUrl:`https://upload.wikimedia.org/wikipedia/commons/thumb/1/16/Artemis_II_patch.svg/500px-Artemis_II_patch.svg.png`},{label:`Transcribe audio`,text:`Transcribe this audio recording.`,icon:`🎤`,audioUrl:`/neil-armstrong.oga`},{label:`Analyze video`,text:`Describe what is happening in this video.`,icon:`🎬`,videoUrl:`http://images-assets.nasa.gov/video/One_Small_Step_Comparison_720p/One_Small_Step_Comparison_720p~small.mp4`},{label:`Explain a concept`,text:`Explain quantum entanglement in simple terms.`,icon:`💡`}],Xz=`https://huggingface.co/onnx-community/gemma-4-E2B-it-ONNX`,Zz=`bg-gradient-to-br from-[#3186FF] to-[#4FA0FF]`;function Qz(e,t){let n=e.split(/\s+/).length,r=(performance.now()-t)/1e3;return r>.5?Math.round(n/r*10)/10:null}function $z({children:e}){return(0,Z.jsx)(`div`,{className:`min-h-screen flex items-center justify-center px-4`,children:(0,Z.jsxs)(`div`,{className:`text-center max-w-md`,children:[(0,Z.jsx)(`h1`,{className:`text-2xl font-bold mb-3`,children:`Gemma 4 WebGPU`}),e]})})}function eB(){let{status:e,loadProgress:t,error:n,checkWebGPU:r,loadModel:i,generate:a}=Gk(),[o,s]=(0,y.useState)([]),[c,l]=(0,y.useState)(``),[u,d]=(0,y.useState)(!1),[f,p]=(0,y.useState)(null),[m,h]=(0,y.useState)(()=>localStorage.getItem(`gemma4-cached`)===`true`),[g,_]=(0,y.useState)(!1),[v,b]=(0,y.useState)(()=>localStorage.getItem(`gemma4-theme`)||`system`);(0,y.useEffect)(()=>{let e=document.documentElement;e.classList.remove(`dark`,`light`),v!==`system`&&e.classList.add(v),localStorage.setItem(`gemma4-theme`,v)},[v]);let x=(0,y.useRef)(null),S=(0,y.useRef)(0),C=(0,y.useRef)(0);(0,y.useEffect)(()=>{r()},[r]),(0,y.useEffect)(()=>{cancelAnimationFrame(C.current),C.current=requestAnimationFrame(()=>{x.current?.scrollIntoView({behavior:`smooth`})})},[o,c]),(0,y.useEffect)(()=>{e===`ready`&&(h(!0),localStorage.setItem(`gemma4-cached`,`true`))},[e]);let w=(0,y.useCallback)(async({imageUrl:e,audioUrl:t,videoUrl:n,text:r})=>{let i=null;if(n)try{i=(await Kz(n))[0]??null}catch(e){console.error(`Frame extraction failed:`,e)}let c=e||i,u=[];c&&u.push({type:`image`}),t&&u.push({type:`audio`}),u.push({type:`text`,text:r||`Describe this.`});let f={role:`user`,content:u,imageUrl:c,audioUrl:t,videoUrl:n},m=[...o,f];s(m);let h=[{role:`system`,content:Jz},...m.map(e=>({role:e.role,content:e.content}))];l(``),d(!0),p(null),S.current=performance.now(),a({messages:h,imageUrl:c,audioUrl:t,enableThinking:g,onUpdate:e=>{let t=Qz(e,S.current);t!==null&&p(t),l(e)},onComplete:(e,t)=>{!t&&e&&(p(Qz(e,S.current)),s(t=>[...t,{role:`assistant`,content:e}])),l(``),d(!1)}})},[o,a,g]);if(e===`webgpu-unavailable`)return(0,Z.jsx)($z,{children:(0,Z.jsx)(`p`,{className:`text-[var(--color-text-secondary)]`,children:`WebGPU is required. Use Chrome 113+ or Edge 113+.`})});if(n)return(0,Z.jsx)($z,{children:(0,Z.jsxs)(`p`,{className:`text-[var(--color-red)] text-sm font-mono`,children:[`Error: `,n]})});let T=e===`idle`||e===`webgpu-available`||e===`loading`;return(0,Z.jsxs)(`div`,{className:`min-h-screen flex flex-col max-w-3xl mx-auto`,children:[(0,Z.jsxs)(`header`,{className:`flex items-center justify-between px-4 py-3 border-b border-[var(--color-outline)]`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,Z.jsx)(`div`,{className:`w-7 h-7 rounded-lg ${Zz} flex items-center justify-center text-white text-xs font-bold`,children:`G`}),(0,Z.jsx)(`a`,{href:Xz,target:`_blank`,rel:`noopener`,className:`text-base font-medium hover:text-[var(--color-blue)] transition-colors`,children:`Gemma 4`}),o.length>0&&!u&&(0,Z.jsx)(`button`,{onClick:()=>{s([]),l(``),p(null)},className:`ml-2 px-2 py-0.5 text-[10px] text-[var(--color-text-secondary)] hover:text-[var(--color-text)] border border-[var(--color-outline)] rounded-lg transition-colors cursor-pointer`,children:`New chat`})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-3 text-xs text-[var(--color-text-secondary)]`,children:[!T&&(0,Z.jsx)(`button`,{onClick:()=>_(e=>!e),className:`flex items-center gap-1.5 px-2 py-0.5 rounded-full border transition-colors cursor-pointer ${g?`border-[var(--color-blue)]/50 bg-[var(--color-blue)]/10 text-[var(--color-blue)]`:`border-[var(--color-outline)] text-[var(--color-text-secondary)] hover:border-[var(--color-blue)]/30`}`,title:g?`Thinking mode on`:`Thinking mode off`,children:(0,Z.jsx)(`span`,{className:`text-[10px] font-medium`,children:`💭 Think`})}),f!=null&&(0,Z.jsxs)(`span`,{className:`font-mono text-[var(--color-green)]`,children:[f,` tok/s`]}),m&&!T&&(0,Z.jsx)(`span`,{className:`px-2 py-0.5 rounded-full bg-[var(--color-green)]/10 text-[var(--color-green)] text-[10px] font-medium`,children:`Cached`}),(0,Z.jsx)(`span`,{className:`hidden sm:inline`,children:`In-Browser · WebGPU`}),(0,Z.jsx)(`button`,{onClick:()=>b(e=>e===`dark`?`light`:e===`light`?`system`:`dark`),className:`p-1 rounded-full hover:bg-[var(--color-surface)] transition-colors cursor-pointer`,title:`Theme: ${v}`,children:v===`dark`?`🌙`:v===`light`?`☀️`:`💻`})]})]}),T?(0,Z.jsxs)(`div`,{className:`flex-1 flex flex-col items-center justify-center gap-6 px-4`,children:[(0,Z.jsx)(Gz,{}),(0,Z.jsxs)(`div`,{className:`text-center -mt-2`,children:[(0,Z.jsx)(`h2`,{className:`text-4xl font-bold mb-2 tracking-tight`,children:(0,Z.jsx)(`a`,{href:Xz,target:`_blank`,rel:`noopener`,className:`hover:text-[var(--color-blue)] transition-colors`,children:`Gemma 4 E2B`})}),(0,Z.jsx)(`p`,{className:`text-[var(--color-text-secondary)] text-sm`,children:`Multimodal AI running entirely in your browser via WebGPU`})]}),e===`loading`?(0,Z.jsx)(Uz,{loadProgress:t,isCached:m}):(0,Z.jsx)(`button`,{onClick:i,className:`px-8 py-3 bg-[var(--color-blue)] hover:bg-[var(--color-blue)]/90 text-white text-sm font-medium rounded-xl transition-colors cursor-pointer`,children:m?`Load Model (cached)`:`Load Model`}),(0,Z.jsxs)(`footer`,{className:`mt-4 text-[10px] text-[var(--color-text-secondary)]/50`,children:[`Powered by `,(0,Z.jsx)(`a`,{href:`https://huggingface.co/docs/transformers.js`,target:`_blank`,rel:`noopener`,className:`underline hover:text-[var(--color-text-secondary)]`,children:`Transformers.js`})]})]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`flex-1 overflow-y-auto`,children:[o.length===0&&!u?(0,Z.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-6 px-4 py-12`,children:[(0,Z.jsxs)(`div`,{className:`text-center`,children:[(0,Z.jsx)(`div`,{className:`w-12 h-12 rounded-2xl ${Zz} flex items-center justify-center text-white text-xl font-bold mx-auto mb-4`,children:`G`}),(0,Z.jsx)(`h2`,{className:`text-xl font-medium mb-1`,children:`How can I help?`}),(0,Z.jsx)(`p`,{className:`text-sm text-[var(--color-text-secondary)]`,children:`Send text, images, audio, or video — all processed locally.`})]}),(0,Z.jsx)(`div`,{className:`grid grid-cols-2 gap-2 max-w-md w-full`,children:Yz.map(e=>(0,Z.jsxs)(`button`,{onClick:()=>w({imageUrl:e.imageUrl||null,audioUrl:e.audioUrl||null,videoUrl:e.videoUrl||null,text:e.text}),className:`text-left p-3 bg-[var(--color-surface)] hover:bg-[var(--color-surface-high)] border border-[var(--color-outline)] rounded-xl text-sm transition-colors cursor-pointer`,children:[e.imageUrl&&(0,Z.jsx)(`img`,{src:e.imageUrl,alt:``,className:`w-full h-20 object-contain rounded-lg mb-2 bg-black/20`}),e.audioUrl&&(0,Z.jsx)(`div`,{className:`mb-2 text-[10px] text-[var(--color-text-secondary)]/60 truncate`,children:`🎤 Neil Armstrong — Apollo 11`}),e.videoUrl&&(0,Z.jsx)(`div`,{className:`mb-2 text-[10px] text-[var(--color-text-secondary)]/60 truncate`,children:`🎬 One Small Step — NASA (0:56)`}),(0,Z.jsx)(`span`,{className:`mr-1.5`,children:e.icon}),(0,Z.jsx)(`span`,{className:`text-[var(--color-text-secondary)]`,children:e.label})]},e.label))})]}):(0,Z.jsx)(Vz,{messages:o,streamingText:c,isStreaming:u}),(0,Z.jsx)(`div`,{ref:x})]}),(0,Z.jsx)(qk,{onSubmit:w,disabled:u}),(0,Z.jsxs)(`div`,{className:`text-center py-2 text-[10px] text-[var(--color-text-secondary)]/40`,children:[m&&(0,Z.jsx)(`span`,{children:`Cached · `}),`Powered by `,(0,Z.jsx)(`a`,{href:`https://huggingface.co/docs/transformers.js`,target:`_blank`,rel:`noopener`,className:`underline hover:text-[var(--color-text-secondary)]`,children:`Transformers.js`})]})]})]})}(0,b.createRoot)(document.getElementById(`root`)).render((0,Z.jsx)(y.StrictMode,{children:(0,Z.jsx)(eB,{})})); \ No newline at end of file