Spaces:
Running
Running
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[360],{7746:function(e,t,r){"use strict";r.r(t),r.d(t,{InferenceSession:function(){return _},Tensor:function(){return m},env:function(){return l},registerBackend:function(){return s}});let n={},i=[],s=(e,t,r)=>{if(t&&"function"==typeof t.init&&"function"==typeof t.createSessionHandler){let s=n[e];if(void 0===s)n[e]={backend:t,priority:r};else if(s.priority>r)return;else if(s.priority===r&&s.backend!==t)throw Error(`cannot register backend "${e}" using priority ${r}`);if(r>=0){let t=i.indexOf(e);-1!==t&&i.splice(t,1);for(let t=0;t<i.length;t++)if(n[i[t]].priority<=r){i.splice(t,0,e);return}i.push(e)}return}throw TypeError("not a valid backend")},a=async e=>{let t=0===e.length?i:e,r=[];for(let e of t){let t=n[e];if(t){if(t.initialized)return t.backend;if(t.aborted)continue;let n=!!t.initPromise;try{return n||(t.initPromise=t.backend.init()),await t.initPromise,t.initialized=!0,t.backend}catch(i){n||r.push({name:e,err:i}),t.aborted=!0}finally{delete t.initPromise}}}throw Error(`no available backend found. ERR: ${r.map(e=>`[${e.name}] ${e.err}`).join(", ")}`)};class o{constructor(){this.wasm={},this.webgl={},this.logLevelInternal="warning"}set logLevel(e){if(void 0!==e){if("string"!=typeof e||-1===["verbose","info","warning","error","fatal"].indexOf(e))throw Error(`Unsupported logging level: ${e}`);this.logLevelInternal=e}}get logLevel(){return this.logLevelInternal}}let l=new o,h="undefined"!=typeof BigInt64Array&&"function"==typeof BigInt64Array.from,u="undefined"!=typeof BigUint64Array&&"function"==typeof BigUint64Array.from,c=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array]]),f=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]);h&&(c.set("int64",BigInt64Array),f.set(BigInt64Array,"int64")),u&&(c.set("uint64",BigUint64Array),f.set(BigUint64Array,"uint64"));let d=e=>{let t=1;for(let r=0;r<e.length;r++){let n=e[r];if("number"!=typeof n||!Number.isSafeInteger(n))throw TypeError(`dims[${r}] must be an integer, got: ${n}`);if(n<0)throw RangeError(`dims[${r}] must be a non-negative integer, got: ${n}`);t*=n}return t};class p{constructor(e,t,r){let n,i,s;if("string"==typeof e){if(n=e,s=r,"string"===e){if(!Array.isArray(t))throw TypeError("A string tensor's data must be a string array.");i=t}else{let r=c.get(e);if(void 0===r)throw TypeError(`Unsupported tensor type: ${e}.`);if(Array.isArray(t))i=r.from(t);else if(t instanceof r)i=t;else throw TypeError(`A ${n} tensor's data must be type of ${r}`)}}else if(s=t,Array.isArray(e)){if(0===e.length)throw TypeError("Tensor type cannot be inferred from an empty array.");let t=typeof e[0];if("string"===t)n="string",i=e;else if("boolean"===t)n="bool",i=Uint8Array.from(e);else throw TypeError(`Invalid element type of data array: ${t}.`)}else{let t=f.get(e.constructor);if(void 0===t)throw TypeError(`Unsupported type for tensor data: ${e.constructor}.`);n=t,i=e}if(void 0===s)s=[i.length];else if(!Array.isArray(s))throw TypeError("A tensor's dims must be a number array");let a=d(s);if(a!==i.length)throw Error(`Tensor's size(${a}) does not match data length(${i.length}).`);this.dims=s,this.type=n,this.data=i,this.size=a}static bufferToTensor(e,t){let r,n;if(void 0===e)throw Error("Image buffer must be defined");if(void 0===t.height||void 0===t.width)throw Error("Image height and width must be defined");let{height:i,width:s}=t,a=t.norm;r=void 0===a||void 0===a.mean?255:a.mean,n=void 0===a||void 0===a.bias?0:a.bias;let o=void 0!==t.bitmapFormat?t.bitmapFormat:"RGBA",l=void 0!==t.tensorFormat&&void 0!==t.tensorFormat?t.tensorFormat:"RGB",h=i*s,u=new Float32Array("RGBA"===l?4*h:3*h),c=4,f=0,d=1,m=2,g=3,_=0,w=h,y=2*h,v=-1;"RGB"===o&&(c=3,f=0,d=1,m=2,g=-1),"RGBA"===l?v=3*h:"RBG"===l?(_=0,y=h,w=2*h):"BGR"===l&&(y=0,w=h,_=2*h);for(let t=0;t<h;t++,f+=c,m+=c,d+=c,g+=c)u[_++]=(e[f]+n)/r,u[w++]=(e[d]+n)/r,u[y++]=(e[m]+n)/r,-1!==v&&-1!==g&&(u[v++]=(e[g]+n)/r);return"RGBA"===l?new p("float32",u,[1,4,i,s]):new p("float32",u,[1,3,i,s])}static async fromImage(e,t){let r;let n="undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement,i="undefined"!=typeof ImageData&&e instanceof ImageData,s="undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap,a="undefined"!=typeof String&&(e instanceof String||"string"==typeof e),o={};if(n){let n=document.createElement("canvas"),i=n.getContext("2d");if(null!=i){let s=e.naturalHeight,a=e.naturalWidth;if(void 0!==t&&void 0!==t.resizedHeight&&void 0!==t.resizedWidth&&(s=t.resizedHeight,a=t.resizedWidth),void 0!==t){if(o=t,void 0!==t.tensorFormat)throw Error("Image input config format must be RGBA for HTMLImageElement");if(o.tensorFormat="RGBA",void 0!==t.height&&t.height!==s)throw Error("Image input config height doesn't match HTMLImageElement height");if(o.height=s,void 0!==t.width&&t.width!==a)throw Error("Image input config width doesn't match HTMLImageElement width");o.width=a}else o.tensorFormat="RGBA",o.height=s,o.width=a;n.width=a,n.height=s,i.drawImage(e,0,0,a,s),r=i.getImageData(0,0,a,s).data}else throw Error("Can not access image data")}else if(i){let n,i;if(void 0!==t&&void 0!==t.resizedWidth&&void 0!==t.resizedHeight?(n=t.resizedHeight,i=t.resizedWidth):(n=e.height,i=e.width),void 0!==t){if(o=t,void 0!==t.bitmapFormat&&"RGBA"!==t.bitmapFormat)throw Error("Image input config format must be RGBA for ImageData");o.bitmapFormat="RGBA"}else o.bitmapFormat="RGBA";if(o.height=n,o.width=i,void 0!==t){let t=document.createElement("canvas");t.width=i,t.height=n;let s=t.getContext("2d");if(null!=s)s.putImageData(e,0,0),r=s.getImageData(0,0,i,n).data;else throw Error("Can not access image data")}else r=e.data}else if(s){if(void 0===t)throw Error("Please provide image config with format for Imagebitmap");if(void 0!==t.bitmapFormat)throw Error("Image input config format must be defined for ImageBitmap");let n=document.createElement("canvas").getContext("2d");if(null!=n){let i=e.height,s=e.width;if(n.drawImage(e,0,0,s,i),r=n.getImageData(0,0,s,i).data,void 0!==t){if(void 0!==t.height&&t.height!==i)throw Error("Image input config height doesn't match ImageBitmap height");if(o.height=i,void 0!==t.width&&t.width!==s)throw Error("Image input config width doesn't match ImageBitmap width");o.width=s}else o.height=i,o.width=s;return p.bufferToTensor(r,o)}throw Error("Can not access image data")}else if(a)return new Promise((r,n)=>{let i=document.createElement("canvas"),s=i.getContext("2d");if(!e||!s)return n();let a=new Image;a.crossOrigin="Anonymous",a.src=e,a.onload=()=>{i.width=a.width,i.height=a.height,s.drawImage(a,0,0,i.width,i.height);let e=s.getImageData(0,0,i.width,i.height);if(void 0!==t){if(void 0!==t.height&&t.height!==i.height)throw Error("Image input config height doesn't match ImageBitmap height");if(o.height=i.height,void 0!==t.width&&t.width!==i.width)throw Error("Image input config width doesn't match ImageBitmap width");o.width=i.width}else o.height=i.height,o.width=i.width;r(p.bufferToTensor(e.data,o))}});else throw Error("Input data provided is not supported - aborted tensor creation");if(void 0!==r)return p.bufferToTensor(r,o);throw Error("Input data provided is not supported - aborted tensor creation")}toImageData(e){var t,r;let n;let i=document.createElement("canvas").getContext("2d");if(null!=i){let s=this.dims[3],a=this.dims[2],o=this.dims[1],l=void 0!==e&&void 0!==e.format?e.format:"RGB",h=void 0!==e&&(null===(t=e.norm)||void 0===t?void 0:t.mean)!==void 0?e.norm.mean:255,u=void 0!==e&&(null===(r=e.norm)||void 0===r?void 0:r.bias)!==void 0?e.norm.bias:0,c=a*s;if(void 0!==e){if(void 0!==e.height&&e.height!==a)throw Error("Image output config height doesn't match tensor height");if(void 0!==e.width&&e.width!==s)throw Error("Image output config width doesn't match tensor width");if(void 0!==e.format&&4===o&&"RGBA"!==e.format||3===o&&"RGB"!==e.format&&"BGR"!==e.format)throw Error("Tensor format doesn't match input tensor dims")}let f=0,d=1,p=2,m=3,g=0,_=c,w=2*c,y=-1;"RGBA"===l?(g=0,_=c,w=2*c,y=3*c):"RGB"===l?(g=0,_=c,w=2*c):"RBG"===l&&(g=0,w=c,_=2*c),n=i.createImageData(s,a);for(let e=0;e<a*s;f+=4,d+=4,p+=4,m+=4,e++)n.data[f]=(this.data[g++]-u)*h,n.data[d]=(this.data[_++]-u)*h,n.data[p]=(this.data[w++]-u)*h,n.data[m]=-1===y?255:(this.data[y++]-u)*h}else throw Error("Can not access image data");return n}reshape(e){return new p(this.type,this.data,e)}}let m=p;class g{constructor(e){this.handler=e}async run(e,t,r){let n={},i={};if("object"!=typeof e||null===e||e instanceof m||Array.isArray(e))throw TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let s=!0;if("object"==typeof t){if(null===t)throw TypeError("Unexpected argument[1]: cannot be null.");if(t instanceof m)throw TypeError("'fetches' cannot be a Tensor");if(Array.isArray(t)){if(0===t.length)throw TypeError("'fetches' cannot be an empty array.");for(let e of(s=!1,t)){if("string"!=typeof e)throw TypeError("'fetches' must be a string array or an object.");if(-1===this.outputNames.indexOf(e))throw RangeError(`'fetches' contains invalid output name: ${e}.`);n[e]=null}if("object"==typeof r&&null!==r)i=r;else if(void 0!==r)throw TypeError("'options' must be an object.")}else{let e=!1,a=Object.getOwnPropertyNames(t);for(let r of this.outputNames)if(-1!==a.indexOf(r)){let i=t[r];(null===i||i instanceof m)&&(e=!0,s=!1,n[r]=i)}if(e){if("object"==typeof r&&null!==r)i=r;else if(void 0!==r)throw TypeError("'options' must be an object.")}else i=t}}else if(void 0!==t)throw TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let t of this.inputNames)if(void 0===e[t])throw Error(`input '${t}' is missing in 'feeds'.`);if(s)for(let e of this.outputNames)n[e]=null;let a=await this.handler.run(e,n,i),o={};for(let e in a)Object.hasOwnProperty.call(a,e)&&(o[e]=new m(a[e].type,a[e].data,a[e].dims));return o}static async create(e,t,r,n){let i;let s={};if("string"==typeof e){if(i=e,"object"==typeof t&&null!==t)s=t;else if(void 0!==t)throw TypeError("'options' must be an object.")}else if(e instanceof Uint8Array){if(i=e,"object"==typeof t&&null!==t)s=t;else if(void 0!==t)throw TypeError("'options' must be an object.")}else if(e instanceof ArrayBuffer||"undefined"!=typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer){let a=0,o=e.byteLength;if("object"==typeof t&&null!==t)s=t;else if("number"==typeof t){if(!Number.isSafeInteger(a=t))throw RangeError("'byteOffset' must be an integer.");if(a<0||a>=e.byteLength)throw RangeError(`'byteOffset' is out of range [0, ${e.byteLength}).`);if(o=e.byteLength-a,"number"==typeof r){if(!Number.isSafeInteger(o=r))throw RangeError("'byteLength' must be an integer.");if(o<=0||a+o>e.byteLength)throw RangeError(`'byteLength' is out of range (0, ${e.byteLength-a}].`);if("object"==typeof n&&null!==n)s=n;else if(void 0!==n)throw TypeError("'options' must be an object.")}else if(void 0!==r)throw TypeError("'byteLength' must be a number.")}else if(void 0!==t)throw TypeError("'options' must be an object.");i=new Uint8Array(e,a,o)}else throw TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let o=(s.executionProviders||[]).map(e=>"string"==typeof e?e:e.name),l=await a(o);return new g(await l.createSessionHandler(i,s))}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}}let _=g},357:function(e,t,r){"use strict";var n,i;e.exports=(null==(n=r.g.process)?void 0:n.env)&&"object"==typeof(null==(i=r.g.process)?void 0:i.env)?r.g.process:r(8081)},8464:function(e,t,r){!function(){var t={452:function(e){"use strict";e.exports=r(6405)}},n={};function i(e){var r=n[e];if(void 0!==r)return r.exports;var s=n[e]={exports:{}},a=!0;try{t[e](s,s.exports,i),a=!1}finally{a&&delete n[e]}return s.exports}i.ab="//";var s={};!function(){var e,t=(e=i(452))&&"object"==typeof e&&"default"in e?e.default:e,r=/https?|ftp|gopher|file/;function n(e){"string"==typeof e&&(e=_(e));var n,i,s,a,o,l,h,u,c,f=(i=(n=e).auth,s=n.hostname,a=n.protocol||"",o=n.pathname||"",l=n.hash||"",h=n.query||"",u=!1,i=i?encodeURIComponent(i).replace(/%3A/i,":")+"@":"",n.host?u=i+n.host:s&&(u=i+(~s.indexOf(":")?"["+s+"]":s),n.port&&(u+=":"+n.port)),h&&"object"==typeof h&&(h=t.encode(h)),c=n.search||h&&"?"+h||"",a&&":"!==a.substr(-1)&&(a+=":"),n.slashes||(!a||r.test(a))&&!1!==u?(u="//"+(u||""),o&&"/"!==o[0]&&(o="/"+o)):u||(u=""),l&&"#"!==l[0]&&(l="#"+l),c&&"?"!==c[0]&&(c="?"+c),{protocol:a,host:u,pathname:o=o.replace(/[?#]/g,encodeURIComponent),search:c=c.replace("#","%23"),hash:l});return""+f.protocol+f.host+f.pathname+f.search+f.hash}var a="http://",o=a+"w.w",l=/^([a-z0-9.+-]*:\/\/\/)([a-z0-9.+-]:\/*)?/i,h=/https?|ftp|gopher|file/;function u(e,t){var r="string"==typeof e?_(e):e;e="object"==typeof e?n(e):e;var i=_(t),s="";r.protocol&&!r.slashes&&(s=r.protocol,e=e.replace(r.protocol,""),s+="/"===t[0]||"/"===e[0]?"/":""),s&&i.protocol&&(s="",i.slashes||(s=i.protocol,t=t.replace(i.protocol,"")));var u=e.match(l);u&&!i.protocol&&(e=e.substr((s=u[1]+(u[2]||"")).length),/^\/\/[^/]/.test(t)&&(s=s.slice(0,-1)));var c=new URL(e,o+"/"),f=new URL(t,c).toString().replace(o,""),d=i.protocol||r.protocol;return d+=r.slashes||i.slashes?"//":"",!s&&d?f=f.replace(a,d):s&&(f=f.replace(a,"")),h.test(f)||~t.indexOf(".")||"/"===e.slice(-1)||"/"===t.slice(-1)||"/"!==f.slice(-1)||(f=f.slice(0,-1)),s&&(f=s+("/"===f[0]?f.substr(1):f)),f}function c(){}c.prototype.parse=_,c.prototype.format=n,c.prototype.resolve=u,c.prototype.resolveObject=u;var f=/^https?|ftp|gopher|file/,d=/^(.*?)([#?].*)/,p=/^([a-z0-9.+-]*:)(\/{0,3})(.*)/i,m=/^([a-z0-9.+-]*:)?\/\/\/*/i,g=/^([a-z0-9.+-]*:)(\/{0,2})\[(.*)\]$/i;function _(e,r,i){if(void 0===r&&(r=!1),void 0===i&&(i=!1),e&&"object"==typeof e&&e instanceof c)return e;var s=(e=e.trim()).match(d);e=s?s[1].replace(/\\/g,"/")+s[2]:e.replace(/\\/g,"/"),g.test(e)&&"/"!==e.slice(-1)&&(e+="/");var a=!/(^javascript)/.test(e)&&e.match(p),l=m.test(e),h="";a&&(f.test(a[1])||(h=a[1].toLowerCase(),e=""+a[2]+a[3]),a[2]||(l=!1,f.test(a[1])?(h=a[1],e=""+a[3]):e="//"+a[3]),3!==a[2].length&&1!==a[2].length||(h=a[1],e="/"+a[3]));var u,_=(s?s[1]:e).match(/^https?:\/\/[^/]+(:[0-9]+)(?=\/|$)/),w=_&&_[1],y=new c,v="",b="";try{u=new URL(e)}catch(t){v=t,h||i||!/^\/\//.test(e)||/^\/\/.+[@.]/.test(e)||(b="/",e=e.substr(1));try{u=new URL(e,o)}catch(e){return y.protocol=h,y.href=h,y}}y.slashes=l&&!b,y.host="w.w"===u.host?"":u.host,y.hostname="w.w"===u.hostname?"":u.hostname.replace(/(\[|\])/g,""),y.protocol=v?h||null:u.protocol,y.search=u.search.replace(/\\/g,"%5C"),y.hash=u.hash.replace(/\\/g,"%5C");var x=e.split("#");!y.search&&~x[0].indexOf("?")&&(y.search="?"),y.hash||""!==x[1]||(y.hash="#"),y.query=r?t.decode(u.search.substr(1)):y.search.substr(1),y.pathname=b+(a?u.pathname.replace(/['^|`]/g,function(e){return"%"+e.charCodeAt().toString(16).toUpperCase()}).replace(/((?:%[0-9A-F]{2})+)/g,function(e,t){try{return decodeURIComponent(t).split("").map(function(e){var t=e.charCodeAt();return t>256||/^[a-z0-9]$/i.test(e)?e:"%"+t.toString(16).toUpperCase()}).join("")}catch(e){return t}}):u.pathname),"about:"===y.protocol&&"blank"===y.pathname&&(y.protocol="",y.pathname=""),v&&"/"!==e[0]&&(y.pathname=y.pathname.substr(1)),h&&!f.test(h)&&"/"!==e.slice(-1)&&"/"===y.pathname&&(y.pathname=""),y.path=y.pathname+y.search,y.auth=[u.username,u.password].map(decodeURIComponent).filter(Boolean).join(":"),y.port=u.port,w&&!y.host.endsWith(w)&&(y.host+=w,y.port=w.slice(1)),y.href=b?""+y.pathname+y.search+y.hash:n(y);var E=/^(file)/.test(y.href)?["host","hostname"]:[];return Object.keys(y).forEach(function(e){~E.indexOf(e)||(y[e]=y[e]||null)}),y}s.parse=_,s.format=n,s.resolve=u,s.resolveObject=function(e,t){return _(u(e,t))},s.Url=c}(),e.exports=s}()},8081:function(e){!function(){var t={229:function(e){var t,r,n,i=e.exports={};function s(){throw Error("setTimeout has not been defined")}function a(){throw Error("clearTimeout has not been defined")}function o(e){if(t===setTimeout)return setTimeout(e,0);if((t===s||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:s}catch(e){t=s}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var l=[],h=!1,u=-1;function c(){h&&n&&(h=!1,n.length?l=n.concat(l):u=-1,l.length&&f())}function f(){if(!h){var e=o(c);h=!0;for(var t=l.length;t;){for(n=l,l=[];++u<t;)n&&n[u].run();u=-1,t=l.length}n=null,h=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function d(e,t){this.fun=e,this.array=t}function p(){}i.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];l.push(new d(e,t)),1!==l.length||h||o(f)},d.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=p,i.addListener=p,i.once=p,i.off=p,i.removeListener=p,i.removeAllListeners=p,i.emit=p,i.prependListener=p,i.prependOnceListener=p,i.listeners=function(e){return[]},i.binding=function(e){throw Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw Error("process.chdir is not supported")},i.umask=function(){return 0}}},r={};function n(e){var i=r[e];if(void 0!==i)return i.exports;var s=r[e]={exports:{}},a=!0;try{t[e](s,s.exports,n),a=!1}finally{a&&delete r[e]}return s.exports}n.ab="//";var i=n(229);e.exports=i}()},6405:function(e){!function(){"use strict";var t={815:function(e){e.exports=function(e,r,n,i){r=r||"&",n=n||"=";var s={};if("string"!=typeof e||0===e.length)return s;var a=/\+/g;e=e.split(r);var o=1e3;i&&"number"==typeof i.maxKeys&&(o=i.maxKeys);var l=e.length;o>0&&l>o&&(l=o);for(var h=0;h<l;++h){var u,c,f,d,p=e[h].replace(a,"%20"),m=p.indexOf(n);(m>=0?(u=p.substr(0,m),c=p.substr(m+1)):(u=p,c=""),f=decodeURIComponent(u),d=decodeURIComponent(c),Object.prototype.hasOwnProperty.call(s,f))?t(s[f])?s[f].push(d):s[f]=[s[f],d]:s[f]=d}return s};var t=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},577:function(e){var t=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,s,a,o){return(s=s||"&",a=a||"=",null===e&&(e=void 0),"object"==typeof e)?n(i(e),function(i){var o=encodeURIComponent(t(i))+a;return r(e[i])?n(e[i],function(e){return o+encodeURIComponent(t(e))}).join(s):o+encodeURIComponent(t(e[i]))}).join(s):o?encodeURIComponent(t(o))+a+encodeURIComponent(t(e)):""};var r=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function n(e,t){if(e.map)return e.map(t);for(var r=[],n=0;n<e.length;n++)r.push(t(e[n],n));return r}var i=Object.keys||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.push(r);return t}}},r={};function n(e){var i=r[e];if(void 0!==i)return i.exports;var s=r[e]={exports:{}},a=!0;try{t[e](s,s.exports,n),a=!1}finally{a&&delete r[e]}return s.exports}n.ab="//";var i={};i.decode=i.parse=n(815),i.encode=i.stringify=n(577),e.exports=i}()},4087:function(e,t,r){"use strict";r.d(t,{YS:function(){return H}});var n=Object.freeze({Text:"Text",NumericLiteral:"NumericLiteral",BooleanLiteral:"BooleanLiteral",StringLiteral:"StringLiteral",Identifier:"Identifier",Equals:"Equals",OpenParen:"OpenParen",CloseParen:"CloseParen",OpenStatement:"OpenStatement",CloseStatement:"CloseStatement",OpenExpression:"OpenExpression",CloseExpression:"CloseExpression",OpenSquareBracket:"OpenSquareBracket",CloseSquareBracket:"CloseSquareBracket",OpenCurlyBracket:"OpenCurlyBracket",CloseCurlyBracket:"CloseCurlyBracket",Comma:"Comma",Dot:"Dot",Colon:"Colon",Pipe:"Pipe",CallOperator:"CallOperator",AdditiveBinaryOperator:"AdditiveBinaryOperator",MultiplicativeBinaryOperator:"MultiplicativeBinaryOperator",ComparisonBinaryOperator:"ComparisonBinaryOperator",UnaryOperator:"UnaryOperator",Set:"Set",If:"If",For:"For",In:"In",Is:"Is",NotIn:"NotIn",Else:"Else",EndIf:"EndIf",ElseIf:"ElseIf",EndFor:"EndFor",And:"And",Or:"Or",Not:"UnaryOperator"}),i=Object.freeze({set:n.Set,for:n.For,in:n.In,is:n.Is,if:n.If,else:n.Else,endif:n.EndIf,elif:n.ElseIf,endfor:n.EndFor,and:n.And,or:n.Or,not:n.Not,"not in":n.NotIn,true:n.BooleanLiteral,false:n.BooleanLiteral}),s=class{constructor(e,t){this.value=e,this.type=t}};function a(e){return/\w/.test(e)}function o(e){return/[0-9]/.test(e)}var l=[["{%",n.OpenStatement],["%}",n.CloseStatement],["{{",n.OpenExpression],["}}",n.CloseExpression],["(",n.OpenParen],[")",n.CloseParen],["{",n.OpenCurlyBracket],["}",n.CloseCurlyBracket],["[",n.OpenSquareBracket],["]",n.CloseSquareBracket],[",",n.Comma],[".",n.Dot],[":",n.Colon],["|",n.Pipe],["<=",n.ComparisonBinaryOperator],[">=",n.ComparisonBinaryOperator],["==",n.ComparisonBinaryOperator],["!=",n.ComparisonBinaryOperator],["<",n.ComparisonBinaryOperator],[">",n.ComparisonBinaryOperator],["+",n.AdditiveBinaryOperator],["-",n.AdditiveBinaryOperator],["*",n.MultiplicativeBinaryOperator],["/",n.MultiplicativeBinaryOperator],["%",n.MultiplicativeBinaryOperator],["=",n.Equals]],h=new Map([["n","\n"],["t"," "],["r","\r"],["b","\b"],["f","\f"],["v","\v"],["'","'"],['"','"'],["\\","\\"]]),u=class{type="Statement"},c=class extends u{constructor(e){super(),this.body=e}type="Program"},f=class extends u{constructor(e,t,r){super(),this.test=e,this.body=t,this.alternate=r}type="If"},d=class extends u{constructor(e,t,r){super(),this.loopvar=e,this.iterable=t,this.body=r}type="For"},p=class extends u{constructor(e,t){super(),this.assignee=e,this.value=t}type="Set"},m=class extends u{type="Expression"},g=class extends m{constructor(e,t,r){super(),this.object=e,this.property=t,this.computed=r}type="MemberExpression"},_=class extends m{constructor(e,t){super(),this.callee=e,this.args=t}type="CallExpression"},w=class extends m{constructor(e){super(),this.value=e}type="Identifier"},y=class extends m{constructor(e){super(),this.value=e}type="Literal"},v=class extends y{type="NumericLiteral"},b=class extends y{type="StringLiteral"},x=class extends y{type="BooleanLiteral"},E=class extends y{type="ArrayLiteral"},k=class extends y{type="TupleLiteral"},A=class extends y{type="ObjectLiteral"},z=class extends m{constructor(e,t,r){super(),this.operator=e,this.left=t,this.right=r}type="BinaryExpression"},C=class extends m{constructor(e,t){super(),this.operand=e,this.filter=t}type="FilterExpression"},M=class extends m{constructor(e,t,r){super(),this.operand=e,this.negate=t,this.test=r}type="TestExpression"},I=class extends m{constructor(e,t){super(),this.operator=e,this.argument=t}type="UnaryExpression"},O=class extends m{constructor(e,t,r){super(),this.start=e,this.stop=t,this.step=r}type="SliceExpression"},S=class extends m{constructor(e,t){super(),this.key=e,this.value=t}type="KeywordArgumentExpression"};function $(e,t,r=1){void 0===t&&(t=e,e=0);let n=[];for(let i=e;i<t;i+=r)n.push(i);return n}function T(e,t,r,n=1){let i=Math.sign(n);i>=0?(t=(t??=0)<0?Math.max(e.length+t,0):Math.min(t,e.length),r=(r??=e.length)<0?Math.max(e.length+r,0):Math.min(r,e.length)):(t=(t??=e.length-1)<0?Math.max(e.length+t,-1):Math.min(t,e.length-1),r=(r??=-1)<-1?Math.max(e.length+r,-1):Math.min(r,e.length-1));let s=[];for(let a=t;i*a<i*r;a+=n)s.push(e[a]);return s}function B(e){return e.replace(/\b\w/g,e=>e.toUpperCase())}var U=class{type="RuntimeValue";value;builtins=new Map;constructor(e){this.value=e}__bool__(){return new L(!!this.value)}},F=class extends U{type="NumericValue"},j=class extends U{type="StringValue";builtins=new Map([["upper",new q(()=>new j(this.value.toUpperCase()))],["lower",new q(()=>new j(this.value.toLowerCase()))],["strip",new q(()=>new j(this.value.trim()))],["title",new q(()=>new j(B(this.value)))],["length",new F(this.value.length)]])},L=class extends U{type="BooleanValue"},N=class extends U{type="ObjectValue";__bool__(){return new L(this.value.size>0)}builtins=new Map([["get",new q(([e,t])=>{if(!(e instanceof j))throw Error(`Object key must be a string: got ${e.type}`);return this.value.get(e.value)??t??new X})],["items",new q(()=>new R(Array.from(this.value.entries()).map(([e,t])=>new R([new j(e),t]))))]])},R=class extends U{type="ArrayValue";builtins=new Map([["length",new F(this.value.length)]]);__bool__(){return new L(this.value.length>0)}},P=class extends R{type="TupleValue"},q=class extends U{type="FunctionValue"},X=class extends U{type="NullValue"},V=class extends U{type="UndefinedValue"},D=class{constructor(e){this.parent=e}variables=new Map([["namespace",new q(e=>{if(0===e.length)return new N(new Map);if(1!==e.length||!(e[0]instanceof N))throw Error("`namespace` expects either zero arguments or a single object argument");return e[0]})]]);tests=new Map([["boolean",e=>"BooleanValue"===e.type],["callable",e=>e instanceof q],["odd",e=>{if("NumericValue"!==e.type)throw Error(`Cannot apply test "odd" to type: ${e.type}`);return e.value%2!=0}],["even",e=>{if("NumericValue"!==e.type)throw Error(`Cannot apply test "even" to type: ${e.type}`);return e.value%2==0}],["false",e=>"BooleanValue"===e.type&&!e.value],["true",e=>"BooleanValue"===e.type&&e.value],["number",e=>"NumericValue"===e.type],["integer",e=>"NumericValue"===e.type&&Number.isInteger(e.value)],["iterable",e=>e instanceof R||e instanceof j],["lower",e=>{let t=e.value;return"StringValue"===e.type&&t===t.toLowerCase()}],["upper",e=>{let t=e.value;return"StringValue"===e.type&&t===t.toUpperCase()}],["none",e=>"NullValue"===e.type],["defined",e=>"UndefinedValue"!==e.type],["undefined",e=>"UndefinedValue"===e.type],["equalto",(e,t)=>e.value===t.value]]);set(e,t){return this.declareVariable(e,function e(t){switch(typeof t){case"number":return new F(t);case"string":return new j(t);case"boolean":return new L(t);case"object":if(null===t)return new X;if(Array.isArray(t))return new R(t.map(e));return new N(new Map(Object.entries(t).map(([t,r])=>[t,e(r)])));case"function":return new q((r,n)=>e(t(...r.map(e=>e.value))??null));default:throw Error(`Cannot convert to runtime value: ${t}`)}}(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 V}catch{return new V}}},G=class{global;constructor(e){this.global=e??new D}run(e){return this.evaluate(e,this.global)}evaluateBinaryExpression(e,t){let r=this.evaluate(e.left,t);switch(e.operator.value){case"and":return r.__bool__().value?this.evaluate(e.right,t):r;case"or":return r.__bool__().value?r:this.evaluate(e.right,t)}let n=this.evaluate(e.right,t);switch(e.operator.value){case"==":return new L(r.value==n.value);case"!=":return new L(r.value!=n.value)}if(r instanceof V||n instanceof V)throw Error("Cannot perform operation on undefined values");if(r instanceof X||n instanceof X)throw Error("Cannot perform operation on null values");if(r instanceof F&&n instanceof F)switch(e.operator.value){case"+":return new F(r.value+n.value);case"-":return new F(r.value-n.value);case"*":return new F(r.value*n.value);case"/":return new F(r.value/n.value);case"%":return new F(r.value%n.value);case"<":return new L(r.value<n.value);case">":return new L(r.value>n.value);case">=":return new L(r.value>=n.value);case"<=":return new L(r.value<=n.value)}else if(r instanceof R&&n instanceof R){if("+"===e.operator.value)return new R(r.value.concat(n.value))}else if(n instanceof R){let t=void 0!==n.value.find(e=>e.value===r.value);switch(e.operator.value){case"in":return new L(t);case"not in":return new L(!t)}}if((r instanceof j||n instanceof j)&&"+"===e.operator.value)return new j(r.value.toString()+n.value.toString());if(r instanceof j&&n instanceof j)switch(e.operator.value){case"in":return new L(n.value.includes(r.value));case"not in":return new L(!n.value.includes(r.value))}if(r instanceof j&&n instanceof N)switch(e.operator.value){case"in":return new L(n.value.has(r.value));case"not in":return new L(!n.value.has(r.value))}throw SyntaxError(`Unknown operator "${e.operator.value}" between ${r.type} and ${n.type}`)}evaluateFilterExpression(e,t){let r=this.evaluate(e.operand,t);if("Identifier"===e.filter.type){let t=e.filter;if(r instanceof R)switch(t.value){case"list":return r;case"first":return r.value[0];case"last":return r.value[r.value.length-1];case"length":return new F(r.value.length);case"reverse":return new R(r.value.reverse());case"sort":return new R(r.value.sort((e,t)=>{if(e.type!==t.type)throw Error(`Cannot compare different types: ${e.type} and ${t.type}`);switch(e.type){case"NumericValue":return e.value-t.value;case"StringValue":return e.value.localeCompare(t.value);default:throw Error(`Cannot compare type: ${e.type}`)}}));default:throw Error(`Unknown ArrayValue filter: ${t.value}`)}else if(r instanceof j)switch(t.value){case"length":return new F(r.value.length);case"upper":return new j(r.value.toUpperCase());case"lower":return new j(r.value.toLowerCase());case"title":return new j(B(r.value));case"capitalize":return new j(r.value.charAt(0).toUpperCase()+r.value.slice(1));case"trim":return new j(r.value.trim());default:throw Error(`Unknown StringValue filter: ${t.value}`)}else if(r instanceof F){if("abs"===t.value)return new F(Math.abs(r.value));throw Error(`Unknown NumericValue filter: ${t.value}`)}else if(r instanceof N)switch(t.value){case"items":return new R(Array.from(r.value.entries()).map(([e,t])=>new R([new j(e),t])));case"length":return new F(r.value.size);default:throw Error(`Unknown ObjectValue filter: ${t.value}`)}throw Error(`Cannot apply filter "${t.value}" to type: ${r.type}`)}if("CallExpression"===e.filter.type){let n=e.filter;if("Identifier"!==n.callee.type)throw Error(`Unknown filter: ${n.callee.type}`);let i=n.callee.value;if(r instanceof R){if("selectattr"===i){let e;if(r.value.some(e=>!(e instanceof N)))throw Error("`selectattr` can only be applied to array of objects");if(n.args.some(e=>"StringLiteral"!==e.type))throw Error("arguments of `selectattr` must be strings");let[i,s,a]=n.args.map(e=>this.evaluate(e,t));if(s){let r=t.tests.get(s.value);if(!r)throw Error(`Unknown test: ${s.value}`);e=r}else e=(...e)=>e[0].__bool__().value;return new R(r.value.filter(t=>{let r=t.value.get(i.value);return!!r&&e(r,a)}))}throw Error(`Unknown ArrayValue filter: ${i}`)}throw Error(`Cannot apply filter "${i}" to type: ${r.type}`)}throw Error(`Unknown filter: ${e.filter.type}`)}evaluateTestExpression(e,t){let r=this.evaluate(e.operand,t),n=t.tests.get(e.test.value);if(!n)throw Error(`Unknown test: ${e.test.value}`);let i=n(r);return new L(e.negate?!i:i)}evaluateUnaryExpression(e,t){let r=this.evaluate(e.argument,t);if("not"===e.operator.value)return new L(!r.value);throw SyntaxError(`Unknown operator: ${e.operator.value}`)}evalProgram(e,t){return this.evaluateBlock(e.body,t)}evaluateBlock(e,t){let r="";for(let n of e){let e=this.evaluate(n,t);"NullValue"!==e.type&&"UndefinedValue"!==e.type&&(r+=e.value)}return new j(r)}evaluateIdentifier(e,t){return t.lookupVariable(e.value)}evaluateCallExpression(e,t){let r=[],n=new Map;for(let i of e.args)"KeywordArgumentExpression"===i.type?n.set(i.key.value,this.evaluate(i.value,t)):r.push(this.evaluate(i,t));n.size>0&&r.push(new N(n));let i=this.evaluate(e.callee,t);if("FunctionValue"!==i.type)throw Error(`Cannot call something that is not a function: got ${i.type}`);return i.value(r,t)}evaluateSliceExpression(e,t,r){if(!(e instanceof R||e instanceof j))throw Error("Slice object must be an array or string");let n=this.evaluate(t.start,r),i=this.evaluate(t.stop,r),s=this.evaluate(t.step,r);if(!(n instanceof F||n instanceof V))throw Error("Slice start must be numeric or undefined");if(!(i instanceof F||i instanceof V))throw Error("Slice stop must be numeric or undefined");if(!(s instanceof F||s instanceof V))throw Error("Slice step must be numeric or undefined");return e instanceof R?new R(T(e.value,n.value,i.value,s.value)):new j(T(Array.from(e.value),n.value,i.value,s.value).join(""))}evaluateMemberExpression(e,t){let r,n;let i=this.evaluate(e.object,t);if(e.computed){if("SliceExpression"===e.property.type)return this.evaluateSliceExpression(i,e.property,t);r=this.evaluate(e.property,t)}else r=new j(e.property.value);if(i instanceof N){if(!(r instanceof j))throw Error(`Cannot access property with non-string: got ${r.type}`);n=i.value.get(r.value)??i.builtins.get(r.value)}else if(i instanceof R||i instanceof j){if(r instanceof F)n=i.value.at(r.value),i instanceof j&&(n=new j(i.value.at(r.value)));else if(r instanceof j)n=i.builtins.get(r.value);else throw Error(`Cannot access property with non-string/non-number: got ${r.type}`)}else{if(!(r instanceof j))throw Error(`Cannot access property with non-string: got ${r.type}`);n=i.builtins.get(r.value)}return n instanceof U?n:new V}evaluateSet(e,t){let r=this.evaluate(e.value,t);if("Identifier"===e.assignee.type){let n=e.assignee.value;t.setVariable(n,r)}else if("MemberExpression"===e.assignee.type){let n=e.assignee,i=this.evaluate(n.object,t);if(!(i instanceof N))throw Error("Cannot assign to member of non-object");if("Identifier"!==n.property.type)throw Error("Cannot assign to member with non-identifier property");i.value.set(n.property.value,r)}else throw Error(`Invalid LHS inside assignment expression: ${JSON.stringify(e.assignee)}`);return new X}evaluateIf(e,t){let r=this.evaluate(e.test,t);return this.evaluateBlock(r.__bool__().value?e.body:e.alternate,t)}evaluateFor(e,t){let r=new D(t),n=this.evaluate(e.iterable,r);if(!(n instanceof R))throw Error(`Expected iterable type in for loop: got ${n.type}`);let i="";for(let t=0;t<n.value.length;++t){let s=new Map([["index",new F(t+1)],["index0",new F(t)],["revindex",new F(n.value.length-t)],["revindex0",new F(n.value.length-t-1)],["first",new L(0===t)],["last",new L(t===n.value.length-1)],["length",new F(n.value.length)],["previtem",t>0?n.value[t-1]:new V],["nextitem",t<n.value.length-1?n.value[t+1]:new V]]);r.setVariable("loop",new N(s));let a=n.value[t];if("Identifier"===e.loopvar.type)r.setVariable(e.loopvar.value,a);else if("TupleLiteral"===e.loopvar.type){let t=e.loopvar;if("ArrayValue"!==a.type)throw Error(`Cannot unpack non-iterable type: ${a.type}`);if(t.value.length!==a.value.length)throw Error(`Too ${t.value.length>a.value.length?"few":"many"} items to unpack`);for(let e=0;e<t.value.length;++e){if("Identifier"!==t.value[e].type)throw Error(`Cannot unpack non-identifier type: ${t.value[e].type}`);r.setVariable(t.value[e].value,a.value[e])}}i+=this.evaluateBlock(e.body,r).value}return new j(i)}evaluate(e,t){if(void 0===e)return new V;switch(e.type){case"Program":return this.evalProgram(e,t);case"Set":return this.evaluateSet(e,t);case"If":return this.evaluateIf(e,t);case"For":return this.evaluateFor(e,t);case"NumericLiteral":return new F(Number(e.value));case"StringLiteral":return new j(e.value);case"BooleanLiteral":return new L(e.value);case"ArrayLiteral":return new R(e.value.map(e=>this.evaluate(e,t)));case"TupleLiteral":return new P(e.value.map(e=>this.evaluate(e,t)));case"ObjectLiteral":{let r=new Map;for(let[n,i]of e.value){let e=this.evaluate(n,t);if(!(e instanceof j))throw Error(`Object keys must be strings: got ${e.type}`);r.set(e.value,this.evaluate(i,t))}return new N(r)}case"Identifier":return this.evaluateIdentifier(e,t);case"CallExpression":return this.evaluateCallExpression(e,t);case"MemberExpression":return this.evaluateMemberExpression(e,t);case"UnaryExpression":return this.evaluateUnaryExpression(e,t);case"BinaryExpression":return this.evaluateBinaryExpression(e,t);case"FilterExpression":return this.evaluateFilterExpression(e,t);case"TestExpression":return this.evaluateTestExpression(e,t);default:throw SyntaxError(`Unknown node type: ${e.type}`)}}},H=class{parsed;constructor(e){let t=function(e,t={}){let r=[],u=function(e,t={}){return e.endsWith("\n")&&(e=e.slice(0,-1)),e=e.replace(/{#.*?#}/gs,"{##}"),t.lstrip_blocks&&(e=e.replace(/^[ \t]*({[#%])/gm,"$1")),t.trim_blocks&&(e=e.replace(/([#%]})\n/g,"$1")),e.replace(/{##}/g,"").replace(/-%}\s*/g,"%}").replace(/\s*{%-/g,"{%").replace(/-}}\s*/g,"}}").replace(/\s*{{-/g,"{{")}(e,t),c=0,f=e=>{let t="";for(;e(u[c]);){if("\\"===u[c]){if(++c>=u.length)throw SyntaxError("Unexpected end of input");let e=u[c++],r=h.get(e);if(void 0===r)throw SyntaxError(`Unexpected escaped character: ${e}`);t+=r;continue}if(t+=u[c++],c>=u.length)throw SyntaxError("Unexpected end of input")}return t};e:for(;c<u.length;){let e=r.at(-1)?.type;if(void 0===e||e===n.CloseStatement||e===n.CloseExpression){let e="";for(;c<u.length&&!("{"===u[c]&&("%"===u[c+1]||"{"===u[c+1]));)e+=u[c++];if(e.length>0){r.push(new s(e,n.Text));continue}}f(e=>/\s/.test(e));let t=u[c];if("-"===t||"+"===t){let e=r.at(-1)?.type;if(e===n.Text||void 0===e)throw SyntaxError(`Unexpected character: ${t}`);switch(e){case n.Identifier:case n.NumericLiteral:case n.BooleanLiteral:case n.StringLiteral:case n.CloseParen:case n.CloseSquareBracket:break;default:{++c;let e=f(o);r.push(new s(`${t}${e}`,e.length>0?n.NumericLiteral:n.UnaryOperator));continue}}}for(let[e,t]of l)if(u.slice(c,c+e.length)===e){r.push(new s(e,t)),c+=e.length;continue e}if("'"===t||'"'===t){++c;let e=f(e=>e!==t);r.push(new s(e,n.StringLiteral)),++c;continue}if(o(t)){let e=f(o);r.push(new s(e,n.NumericLiteral));continue}if(a(t)){let e=f(a),t=Object.hasOwn(i,e)?i[e]:n.Identifier;t===n.In&&r.at(-1)?.type===n.Not?(r.pop(),r.push(new s("not in",n.NotIn))):r.push(new s(e,t));continue}throw SyntaxError(`Unexpected character: ${t}`)}return r}(e,{lstrip_blocks:!0,trim_blocks:!0});this.parsed=function(e){let t=new c([]),r=0;function i(t,n){let i=e[r++];if(!i||i.type!==t)throw Error(`Parser Error: ${n}. ${i.type} !== ${t}.`);return i}function s(...t){return r+t.length<=e.length&&t.every((t,n)=>t===e[r+n].type)}function a(e=!1){let t=e?B:o,i=[t()],a=s(n.Comma);for(;a&&(++r,i.push(t()),s(n.Comma)););return a?new k(i):i[0]}function o(){return function(){let e=l();if(s(n.If)){++r;let t=l();return i(n.Else,"Expected else token"),new f(t,[e],[l()])}return e}()}function l(){let t=h();for(;s(n.Or);){let n=e[r];++r,t=new z(n,t,h())}return t}function h(){let t=u();for(;s(n.And);){let n=e[r];++r,t=new z(n,t,u())}return t}function u(){let t;for(;s(n.Not);){let n=e[r];++r,t=new I(n,u())}return t??function(){let t=m();for(;s(n.ComparisonBinaryOperator)||s(n.In)||s(n.NotIn);){let n=e[r];++r,t=new z(n,t,m())}return t}()}function m(){let t=$();for(;s(n.AdditiveBinaryOperator);){let n=e[r];++r,t=new z(n,t,$())}return t}function y(e){let t=new _(e,function(){i(n.OpenParen,"Expected opening parenthesis for arguments list");let e=function(){let e=[];for(;!s(n.CloseParen);){let t=o();if(s(n.Equals)){if(++r,!(t instanceof w))throw SyntaxError("Expected identifier for keyword argument");t=new S(t,o())}e.push(t),s(n.Comma)&&++r}return e}();return i(n.CloseParen,"Expected closing parenthesis for arguments list"),e}());return s(n.OpenParen)&&(t=y(t)),t}function $(){let t=T();for(;s(n.MultiplicativeBinaryOperator);){let n=e[r];++r,t=new z(n,t,T())}return t}function T(){let t=function(){let t=function(){let t=function(){let t=B();for(;s(n.Dot)||s(n.OpenSquareBracket);){let a;let l=e[r];++r;let h=l.type!==n.Dot;if(h)a=function(){let e=[],t=!1;for(;!s(n.CloseSquareBracket);)s(n.Colon)?(e.push(void 0),++r,t=!0):(e.push(o()),s(n.Colon)&&(++r,t=!0));if(0===e.length)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 O(...e)}return e[0]}(),i(n.CloseSquareBracket,"Expected closing square bracket");else if("Identifier"!==(a=B()).type)throw SyntaxError("Expected identifier following dot operator");t=new g(t,a,h)}return t}();return s(n.OpenParen)?y(t):t}();for(;s(n.Pipe);){++r;let e=B();if(!(e instanceof w))throw SyntaxError("Expected identifier for the filter");s(n.OpenParen)&&(e=y(e)),t=new C(t,e)}return t}();for(;s(n.Is);){++r;let e=s(n.Not);e&&++r;let i=B();if(i instanceof x&&(i=new w(i.value.toString())),!(i instanceof w))throw SyntaxError("Expected identifier for the test");t=new M(t,e,i)}return t}function B(){let t=e[r];switch(t.type){case n.NumericLiteral:return++r,new v(Number(t.value));case n.StringLiteral:return++r,new b(t.value);case n.BooleanLiteral:return++r,new x("true"===t.value);case n.Identifier:return++r,new w(t.value);case n.OpenParen:{++r;let t=a();if(e[r].type!==n.CloseParen)throw SyntaxError(`Expected closing parenthesis, got ${e[r].type} instead`);return++r,t}case n.OpenSquareBracket:{++r;let e=[];for(;!s(n.CloseSquareBracket);)e.push(o()),s(n.Comma)&&++r;return++r,new E(e)}case n.OpenCurlyBracket:{++r;let e=new Map;for(;!s(n.CloseCurlyBracket);){let t=o();i(n.Colon,"Expected colon between key and value in object literal");let a=o();e.set(t,a),s(n.Comma)&&++r}return++r,new A(e)}default:throw SyntaxError(`Unexpected token: ${t.type}`)}}for(;r<e.length;)t.body.push(function t(){switch(e[r].type){case n.Text:return new b(i(n.Text,"Expected text token").value);case n.OpenStatement:return function(){let l;switch(i(n.OpenStatement,"Expected opening statement token"),e[r].type){case n.Set:++r,l=function e(){let t=o();return s(n.Equals)?(++r,new p(t,e())):t}(),i(n.CloseStatement,"Expected closing statement token");break;case n.If:++r,l=function a(){let l=o();i(n.CloseStatement,"Expected closing statement token");let h=[],u=[];for(;!(e[r]?.type===n.OpenStatement&&(e[r+1]?.type===n.ElseIf||e[r+1]?.type===n.Else||e[r+1]?.type===n.EndIf));)h.push(t());if(e[r]?.type===n.OpenStatement&&e[r+1]?.type!==n.EndIf){if(++r,s(n.ElseIf))i(n.ElseIf,"Expected elseif token"),u.push(a());else for(i(n.Else,"Expected else token"),i(n.CloseStatement,"Expected closing statement token");!(e[r]?.type===n.OpenStatement&&e[r+1]?.type===n.EndIf);)u.push(t())}return new f(l,h,u)}(),i(n.OpenStatement,"Expected {% token"),i(n.EndIf,"Expected endif token"),i(n.CloseStatement,"Expected %} token");break;case n.For:++r,l=function(){let s=a(!0);if(!(s instanceof w||s instanceof k))throw SyntaxError(`Expected identifier/tuple for the loop variable, got ${s.type} instead`);i(n.In,"Expected `in` keyword following loop variable");let l=o();i(n.CloseStatement,"Expected closing statement token");let h=[];for(;function(...t){return r+t.length<=e.length&&t.some((t,n)=>t!==e[r+n].type)}(n.OpenStatement,n.EndFor);)h.push(t());return new d(s,l,h)}(),i(n.OpenStatement,"Expected {% token"),i(n.EndFor,"Expected endfor token"),i(n.CloseStatement,"Expected %} token");break;default:throw SyntaxError(`Unknown statement type: ${e[r].type}`)}return l}();case n.OpenExpression:return function(){i(n.OpenExpression,"Expected opening expression token");let e=o();return i(n.CloseExpression,"Expected closing expression token"),e}();default:throw SyntaxError(`Unexpected token type: ${e[r].type}`)}}());return t}(t)}render(e){let t=new D;for(let[r,n]of(t.set("false",!1),t.set("true",!0),t.set("raise_exception",e=>{throw Error(e)}),t.set("range",$),Object.entries(e)))t.set(r,n);return new G(t).run(this.parsed).value}}},1542:function(e,t,r){"use strict";let n;r.d(t,{ONNX:function(){return n},p:function(){return h}});var i,s,a=r(495),o=r(6388),l=r(357);let h=["wasm"];void 0!==l&&l?.release?.name==="node"?(n=a??(i||(i=r.t(a,2))),h.unshift("cpu")):(n=o??(s||(s=r.t(o,2))),"undefined"!=typeof navigator&&/iP(hone|od|ad).+16_4.+AppleWebKit/.test(navigator.userAgent)&&(n.env.wasm.simd=!1))},16:function(e,t,r){"use strict";r.d(t,{z:function(){return a}});var n=r(911);async function i(e,t){return await (0,n.yM)(e,"config.json",!0,t)}class s{constructor(e){this.model_type=null,this.is_encoder_decoder=!1,Object.assign(this,e)}static async from_pretrained(e,{progress_callback:t=null,config:r=null,cache_dir:n=null,local_files_only:s=!1,revision:a="main"}={}){return new this(r??await i(e,{progress_callback:t,config:r,cache_dir:n,local_files_only:s,revision:a}))}}class a{static async from_pretrained(...e){return s.from_pretrained(...e)}}},851:function(e,t,r){"use strict";r.d(t,{O:function(){return g}});var n=r(8386),i=r(3342),s=r(8464);let{env:a}=r(1542).ONNX,o="2.17.2",l="undefined"!=typeof self&&"caches"in self,h=!_(n),u=!_(i),c=h&&u,f=c?i.dirname(i.dirname(s.fileURLToPath("file:///mnt/c/tools/projects/PhoWhisper-next/node_modules/@xenova/transformers/src/env.js"))):"./",d=c?i.join(f,"/.cache/"):null,p="/models/",m=c?i.join(f,p):p;a?.wasm&&(a.wasm.wasmPaths=c?i.join(f,"/dist/"):`https://cdn.jsdelivr.net/npm/@xenova/transformers@${o}/dist/`);let g={backends:{onnx:a,tfjs:{}},__dirname:f,version:o,allowRemoteModels:!0,remoteHost:"https://huggingface.co/",remotePathTemplate:"{model}/resolve/{revision}/",allowLocalModels:!0,localModelPath:m,useFS:h,useBrowserCache:l,useFSCache:h,cacheDir:d,useCustomCache:!1,customCache:null};function _(e){return 0===Object.keys(e).length}},9078:function(e,t,r){"use strict";let n,i,s;r.d(t,{OBj:function(){return f.O},qCb:function(){return u.qC},EUT:function(){return eY}});var a=r(9046),o=r(9454),l=r(761),h=r(911),u=r(8709),c=r(2414),f=r(851),d=r(8741);let p="undefined"!=typeof self,m=p&&"DedicatedWorkerGlobalScope"===self.constructor.name;if(p)n=(e,t)=>{if(!self.OffscreenCanvas)throw Error("OffscreenCanvas not supported by this browser.");return new self.OffscreenCanvas(e,t)},s=self.createImageBitmap,i=self.ImageData;else if(d)s=async e=>{let t=(await e.metadata()).channels,{data:r,info:n}=await e.rotate().raw().toBuffer({resolveWithObject:!0}),i=new w(new Uint8ClampedArray(r),n.width,n.height,n.channels);return void 0!==t&&t!==n.channels&&i.convert(t),i};else throw Error("Unable to load image processing library.");let g={0:"nearest",1:"lanczos",2:"bilinear",3:"bicubic",4:"box",5:"hamming"},_=new Map([["png","image/png"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["gif","image/gif"]]);class w{constructor(e,t,r,n){this.data=e,this.width=t,this.height=r,this.channels=n}get size(){return[this.width,this.height]}static async read(e){if(e instanceof w)return e;if("string"==typeof e||e instanceof URL)return await this.fromURL(e);throw Error(`Unsupported input type: ${typeof e}`)}static async fromURL(e){let t=await (0,h.hn)(e);if(200!==t.status)throw Error(`Unable to read image from "${e}" (${t.status} ${t.statusText})`);let r=await t.blob();return this.fromBlob(r)}static async fromBlob(e){if(p){let t=await s(e),r=n(t.width,t.height).getContext("2d");return r.drawImage(t,0,0),new this(r.getImageData(0,0,t.width,t.height).data,t.width,t.height,4)}{let t=d(await e.arrayBuffer());return await s(t)}}static fromTensor(e,t="CHW"){if(3!==e.dims.length)throw Error(`Tensor should have 3 dimensions, but has ${e.dims.length} dimensions.`);if("CHW"===t)e=e.transpose(1,2,0);else if("HWC"===t);else throw Error(`Unsupported channel format: ${t}`);if(!(e.data instanceof Uint8ClampedArray||e.data instanceof Uint8Array))throw Error(`Unsupported tensor type: ${e.type}`);switch(e.dims[2]){case 1:case 2:case 3:case 4:return new w(e.data,e.dims[1],e.dims[0],e.dims[2]);default:throw Error(`Unsupported number of channels: ${e.dims[2]}`)}}grayscale(){if(1===this.channels)return this;let e=new Uint8ClampedArray(this.width*this.height*1);switch(this.channels){case 3:case 4:for(let t=0,r=0;t<this.data.length;t+=this.channels){let n=this.data[t],i=this.data[t+1],s=this.data[t+2];e[r++]=Math.round(.2989*n+.587*i+.114*s)}break;default:throw Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this._update(e,this.width,this.height,1)}rgb(){if(3===this.channels)return this;let e=new Uint8ClampedArray(this.width*this.height*3);switch(this.channels){case 1:for(let t=0,r=0;t<this.data.length;++t)e[r++]=this.data[t],e[r++]=this.data[t],e[r++]=this.data[t];break;case 4:for(let t=0,r=0;t<this.data.length;t+=4)e[r++]=this.data[t],e[r++]=this.data[t+1],e[r++]=this.data[t+2];break;default:throw Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this._update(e,this.width,this.height,3)}rgba(){if(4===this.channels)return this;let e=new Uint8ClampedArray(this.width*this.height*4);switch(this.channels){case 1:for(let t=0,r=0;t<this.data.length;++t)e[r++]=this.data[t],e[r++]=this.data[t],e[r++]=this.data[t],e[r++]=255;break;case 3:for(let t=0,r=0;t<this.data.length;t+=3)e[r++]=this.data[t],e[r++]=this.data[t+1],e[r++]=this.data[t+2],e[r++]=255;break;default:throw Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this._update(e,this.width,this.height,4)}async resize(e,t,{resample:r=2}={}){let i=g[r]??r;if(p){let r=this.channels,i=this.toCanvas(),s=n(e,t).getContext("2d");return s.drawImage(i,0,0,e,t),new w(s.getImageData(0,0,e,t).data,e,t,4).convert(r)}{let r=this.toSharp();switch(i){case"box":case"hamming":("box"===i||"hamming"===i)&&(console.warn(`Resampling method ${i} is not yet supported. Using bilinear instead.`),i="bilinear");case"nearest":case"bilinear":case"bicubic":r=r.affine([e/this.width,0,0,t/this.height],{interpolator:i});break;case"lanczos":r=r.resize({width:e,height:t,fit:"fill",kernel:"lanczos3"});break;default:throw Error(`Resampling method ${i} is not supported.`)}return await s(r)}}async pad([e,t,r,i]){if(e=Math.max(e,0),t=Math.max(t,0),r=Math.max(r,0),i=Math.max(i,0),0===e&&0===t&&0===r&&0===i)return this;if(p){let s=this.channels,a=this.toCanvas(),o=this.width+e+t,l=this.height+r+i,h=n(o,l).getContext("2d");return h.drawImage(a,0,0,this.width,this.height,e,r,o,l),new w(h.getImageData(0,0,o,l).data,o,l,4).convert(s)}{let n=this.toSharp().extend({left:e,right:t,top:r,bottom:i});return await s(n)}}async crop([e,t,r,i]){if(e=Math.max(e,0),t=Math.max(t,0),r=Math.min(r,this.width-1),i=Math.min(i,this.height-1),0===e&&0===t&&r===this.width-1&&i===this.height-1)return this;let a=r-e+1,o=i-t+1;if(p){let r=this.channels,i=this.toCanvas(),s=n(a,o).getContext("2d");return s.drawImage(i,e,t,a,o,0,0,a,o),new w(s.getImageData(0,0,a,o).data,a,o,4).convert(r)}{let r=this.toSharp().extract({left:e,top:t,width:a,height:o});return await s(r)}}async center_crop(e,t){if(this.width===e&&this.height===t)return this;let r=(this.width-e)/2,i=(this.height-t)/2;if(p){let s=this.channels,a=this.toCanvas(),o=n(e,t).getContext("2d"),l=0,h=0,u=0,c=0;return r>=0?l=r:u=-r,i>=0?h=i:c=-i,o.drawImage(a,l,h,e,t,u,c,e,t),new w(o.getImageData(0,0,e,t).data,e,t,4).convert(s)}{let n=this.toSharp();if(r>=0&&i>=0)n=n.extract({left:Math.floor(r),top:Math.floor(i),width:e,height:t});else if(r<=0&&i<=0){let s=Math.floor(-i),a=Math.floor(-r);n=n.extend({top:s,left:a,right:e-this.width-a,bottom:t-this.height-s})}else{let s=[0,0],a=0;i<0?(s[0]=Math.floor(-i),s[1]=t-this.height-s[0]):a=Math.floor(i);let o=[0,0],l=0;r<0?(o[0]=Math.floor(-r),o[1]=e-this.width-o[0]):l=Math.floor(r),n=n.extend({top:s[0],bottom:s[1],left:o[0],right:o[1]}).extract({left:l,top:a,width:e,height:t})}return await s(n)}}async toBlob(e="image/png",t=1){if(!p)throw Error("toBlob() is only supported in browser environments.");let r=this.toCanvas();return await r.convertToBlob({type:e,quality:t})}toTensor(e="CHW"){let t=new c.es("uint8",new Uint8Array(this.data),[this.height,this.width,this.channels]);if("HWC"===e);else if("CHW"===e)t=t.permute(2,0,1);else throw Error(`Unsupported channel format: ${e}`);return t}toCanvas(){if(!p)throw Error("toCanvas() is only supported in browser environments.");let e=this.clone().rgba(),t=n(e.width,e.height),r=new i(e.data,e.width,e.height);return t.getContext("2d").putImageData(r,0,0),t}_update(e,t,r,n=null){return this.data=e,this.width=t,this.height=r,null!==n&&(this.channels=n),this}clone(){return new w(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(p){if(m)throw Error("Unable to save an image from a Web Worker.");let t=e.split(".").pop().toLowerCase(),r=_.get(t)??"image/png",n=await this.toBlob(r),i=URL.createObjectURL(n),s=document.createElement("a");s.href=i,s.download=e,s.click(),s.remove()}else if(f.O.useFS){let t=this.toSharp();return await t.toFile(e)}else throw Error("Unable to save the image because filesystem is disabled in this environment.")}toSharp(){if(p)throw Error("toSharp() is only supported in server-side environments.");return d(this.data,{raw:{width:this.width,height:this.height,channels:this.channels}})}}async function y(e,t){let r;if("undefined"==typeof AudioContext)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 (0,h.hn)(e)).arrayBuffer(),i=new AudioContext({sampleRate:t});void 0===t&&console.warn(`No sampling rate provided, using default of ${i.sampleRate}Hz.`);let s=await i.decodeAudioData(n);if(2===s.numberOfChannels){let e=Math.sqrt(2),t=s.getChannelData(0),n=s.getChannelData(1);r=new Float32Array(t.length);for(let i=0;i<s.length;++i)r[i]=e*(t[i]+n[i])/2}else r=s.getChannelData(0);return r}function v(e){if(e<1)return new Float64Array;if(1===e)return new Float64Array([1]);let t=e-1,r=Math.PI/t,n=new Float64Array(e);for(let i=0;i<e;++i){let e=2*i-t;n[i]=.5+.5*Math.cos(r*e)}return n}let b={htk:e=>2595*Math.log10(1+e/700),kaldi:e=>1127*Math.log(1+e/700),slaney:(e,t=1e3,r=15,n=27/Math.log(6.4))=>e>=t?r+Math.log(e/t)*n:3*e/200};function x(e,t="htk"){let r=b[t];if(!r)throw Error('mel_scale should be one of "htk", "slaney" or "kaldi".');return"number"==typeof e?r(e):e.map(e=>r(e))}let E={htk:e=>700*(10**(e/2595)-1),kaldi:e=>700*(Math.exp(e/1127)-1),slaney:(e,t=1e3,r=15,n=Math.log(6.4)/27)=>e>=r?t*Math.exp(n*(e-r)):200*e/3};function k(e,t,r){let n=(t-e)/(r-1);return Float64Array.from({length:r},(t,r)=>e+n*r)}function A(e,t,r,n,i,s=null,a="htk",o=!1){let l;if(null!==s&&"slaney"!==s)throw Error('norm must be one of null or "slaney"');let h=k(x(r,a),x(n,a),t+2),u=function(e,t="htk"){let r=E[t];if(!r)throw Error('mel_scale should be one of "htk", "slaney" or "kaldi".');return"number"==typeof e?r(e):e.map(e=>r(e))}(h,a);if(o){let t=i/(2*e);l=x(Float64Array.from({length:e},(e,r)=>r*t),a),u=h}else l=k(0,Math.floor(i/2),e);let c=function(e,t){let r=Float64Array.from({length:t.length-1},(e,r)=>t[r+1]-t[r]),n=Array.from({length:e.length},()=>Array(t.length));for(let r=0;r<e.length;++r){let i=n[r];for(let n=0;n<t.length;++n)i[n]=t[n]-e[r]}let i=t.length-2,s=Array.from({length:i},()=>Array(e.length));for(let t=0;t<e.length;++t){let e=n[t];for(let n=0;n<i;++n){let i=-e[n]/r[n],a=e[n+2]/r[n+1];s[n][t]=Math.max(0,Math.min(i,a))}}return s}(l,u);if(null!==s&&"slaney"===s)for(let r=0;r<t;++r){let t=c[r],n=2/(u[r+2]-u[r]);for(let r=0;r<e;++r)t[r]*=n}return c}function z(e,t,r,n,i){if(r<=0)throw Error("reference must be greater than zero");if(n<=0)throw Error("min_value must be greater than zero");let s=Math.log10(r=Math.max(n,r));for(let r=0;r<e.length;++r)e[r]=t*Math.log10(Math.max(n,e[r])-s);if(null!==i){if(i<=0)throw Error("db_range must be greater than zero");let t=(0,u.Fp)(e)[0]-i;for(let r=0;r<e.length;++r)e[r]=Math.max(e[r],t)}return e}function C(e,t,r,n,{fft_length:i=null,power:s=1,center:a=!0,pad_mode:o="reflect",onesided:h=!0,preemphasis:c=null,mel_filters:f=null,mel_floor:d=1e-10,log_mel:p=null,reference:m=1,min_value:g=1e-10,db_range:_=null,remove_dc_offset:w=null,max_num_frames:y=null,do_pad:v=!0,transpose:b=!1}={}){let x=t.length;if(null===i&&(i=r),r>i)throw Error(`frame_length (${r}) may not be larger than fft_length (${i})`);if(x!==r)throw Error(`Length of the window (${x}) must equal frame_length (${r})`);if(n<=0)throw Error("hop_length must be greater than zero");if(null===s&&null!==f)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(a){if("reflect"!==o)throw Error(`pad_mode="${o}" not implemented yet.`);let t=Math.floor((i-1)/2)+1;e=function(e,t,r){let n=new e.constructor(e.length+t+r),i=e.length-1;for(let r=0;r<e.length;++r)n[t+r]=e[r];for(let r=1;r<=t;++r)n[t-r]=e[(0,l.hs)(r,i)];for(let s=1;s<=r;++s)n[i+t+s]=e[(0,l.hs)(i-s,i)];return n}(e,t,t)}let E=Math.floor(1+Math.floor((e.length-r)/n)),k=h?Math.floor(i/2)+1:i,A=E,C=E;null!==y&&(y>E?v&&(C=y):C=A=y);let M=new u.vw(i),I=new Float64Array(i),O=new Float64Array(M.outputBufferSize),S=Array(A);for(let i=0;i<A;++i){let s=i*n;for(let t=0;t<r;++t)I[t]=e[s+t];if(w){let e=0;for(let t=0;t<r;++t)e+=I[t];let t=e/r;for(let e=0;e<r;++e)I[e]-=t}if(null!==c){for(let e=r-1;e>=1;--e)I[e]-=c*I[e-1];I[0]*=1-c}for(let e=0;e<t.length;++e)I[e]*=t[e];M.realTransform(O,I);let a=Array(k);for(let e=0;e<a.length;++e){let t=e<<1;a[e]=O[t]**2+O[t+1]**2}S[i]=a}if(null!==s&&2!==s){let e=2/s;for(let t=0;t<S.length;++t){let r=S[t];for(let t=0;t<r.length;++t)r[t]**=e}}let $=f.length,T=new Float32Array($*C),B=b?[C,$]:[$,C];for(let e=0;e<$;++e){let t=f[e];for(let r=0;r<A;++r){let n=S[r],i=0;for(let e=0;e<k;++e)i+=t[e]*n[e];T[b?r*$+e:e*A+r]=Math.max(d,i)}}if(null!==s&&null!==p){let e=Math.min(T.length,A*$);switch(p){case"log":for(let t=0;t<e;++t)T[t]=Math.log(T[t]);break;case"log10":for(let t=0;t<e;++t)T[t]=Math.log10(T[t]);break;case"dB":if(1===s)!function(e,t=1,r=1e-5,n=null){z(e,20,t,r,n)}(T,m,g,_);else if(2===s)!function(e,t=1,r=1e-10,n=null){z(e,10,t,r,n)}(T,m,g,_);else throw Error(`Cannot use log_mel option '${p}' with power ${s}`);break;default:throw Error(`log_mel must be one of null, 'log', 'log10' or 'dB'. Got '${p}'`)}}return{data:T,dims:B}}function M(e,t,{periodic:r=!0,frame_length:n=null,center:i=!0}={}){let s;let a=r?e+1:e;switch(t){case"boxcar":s=new Float64Array(a).fill(1);break;case"hann":case"hann_window":s=v(a);break;case"povey":s=v(a).map(e=>Math.pow(e,.85));break;default:throw Error(`Unknown window type ${t}.`)}if(r&&(s=s.subarray(0,e)),null===n)return s;if(e>n)throw Error(`Length of the window (${e}) may not be larger than frame_length (${n})`);return s}function I(e,t=.5,r=null,n=!1){let i=e.logits,s=e.pred_boxes,[a,o,l]=i.dims;if(null!==r&&r.length!==a)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");let h=[];for(let e=0;e<a;++e){let a=null!==r?r[e]:null,c={boxes:[],classes:[],scores:[]},f=i[e],d=s[e];for(let e=0;e<o;++e){let r,i=f[e],s=[];if(n){r=i.sigmoid().data;for(let e=0;e<r.length;++e)r[e]>t&&s.push(e)}else{let e=(0,u.Fp)(i.data)[1];if(e===l-1)continue;s.push(e),r=(0,u.XA)(i.data)}for(let t of s){let n=d[e].data;n=function([e,t,r,n]){return[e-r/2,t-n/2,e+r/2,t+n/2]}(n),null!==a&&(n=n.map((e,t)=>e*a[(t+1)%2])),c.boxes.push(n),c.classes.push(t),c.scores.push(r[t])}}h.push(c)}return h}function O(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.`)}function S(e,t,r=0,n=null){let i=e/t,s=(0,u.eT)(i)*t;return null!==n&&s>n&&(s=Math.floor(i)*t),s<r&&(s=Math.ceil(i)*t),s}function $([e,t],r){return[Math.max(Math.floor(e/r),1)*r,Math.max(Math.floor(t/r),1)*r]}class T extends l.Ag{constructor(e){super(),this.config=e}}class B extends T{constructor(e){super(e),this.image_mean=this.config.image_mean??this.config.mean,this.image_std=this.config.image_std??this.config.std,this.resample=this.config.resample??2,this.do_rescale=this.config.do_rescale??!0,this.rescale_factor=this.config.rescale_factor??1/255,this.do_normalize=this.config.do_normalize,this.do_resize=this.config.do_resize,this.do_thumbnail=this.config.do_thumbnail,this.size=this.config.size,this.size_divisibility=this.config.size_divisibility??this.config.size_divisor,this.do_center_crop=this.config.do_center_crop,this.crop_size=this.config.crop_size,this.do_convert_rgb=this.config.do_convert_rgb??!0,this.do_crop_margin=this.config.do_crop_margin,this.pad_size=this.config.pad_size,this.do_pad=this.config.do_pad,this.do_pad&&!this.pad_size&&this.size&&void 0!==this.size.width&&void 0!==this.size.height&&(this.pad_size=this.size),this.do_flip_channel_order=this.config.do_flip_channel_order??!1}async thumbnail(e,t,r=2){let n=e.height,i=e.width,s=t.height,a=t.width,o=Math.min(n,s),l=Math.min(i,a);return o===n&&l===i?e:(n>i?l=Math.floor(i*o/n):i>n&&(o=Math.floor(n*l/i)),await e.resize(l,o,{resample:r}))}async crop_margin(e,t=200){let r=e.clone().grayscale(),n=(0,u.VV)(r.data)[0],i=(0,u.Fp)(r.data)[0]-n;if(0===i)return e;let s=t/255,a=r.width,o=r.height,l=0,h=0;for(let e=0;e<r.height;++e){let t=e*r.width;for(let u=0;u<r.width;++u)(r.data[t+u]-n)/i<s&&(a=Math.min(a,u),o=Math.min(o,e),l=Math.max(l,u),h=Math.max(h,e))}return e=await e.crop([a,o,l,h])}pad_image(e,t,r,{mode:n="constant",center:i=!1,constant_values:s=0}={}){let a,o;let[h,u,c]=t;if("number"==typeof r?(a=r,o=r):(a=r.width,o=r.height),a!==u||o!==h){let r=new Float32Array(a*o*c);if(Array.isArray(s))for(let e=0;e<r.length;++e)r[e]=s[e%c];else 0!==s&&r.fill(s);let[f,d]=i?[Math.floor((a-u)/2),Math.floor((o-h)/2)]:[0,0];for(let t=0;t<h;++t){let n=(t+d)*a,i=t*u;for(let t=0;t<u;++t){let s=(n+t+f)*c,a=(i+t)*c;for(let t=0;t<c;++t)r[s+t]=e[a+t]}}if("symmetric"===n){if(i)throw Error("`center` padding is not supported when `mode` is set to `symmetric`.");let t=h-1,n=u-1;for(let i=0;i<o;++i){let s=i*a,o=(0,l.hs)(i,t)*u;for(let t=0;t<a;++t){if(i<h&&t<u)continue;let a=(s+t)*c,f=(o+(0,l.hs)(t,n))*c;for(let t=0;t<c;++t)r[a+t]=e[f+t]}}}e=r,t=[o,a,c]}return[e,t]}rescale(e){for(let t=0;t<e.length;++t)e[t]=this.rescale_factor*e[t]}get_resize_output_image_size(e,t){let r,n;let[i,s]=e.size;if(this.do_thumbnail){let{height:e,width:n}=t;r=Math.min(e,n)}else Number.isInteger(t)?(r=t,n=this.config.max_size??r):void 0!==t&&(r=t.shortest_edge,n=t.longest_edge);if(void 0!==r||void 0!==n){let e=void 0===r?1:Math.max(r/i,r/s),t=i*e,a=s*e,o=void 0===n?1:Math.min(n/t,n/a),l=Math.floor(Number((t*o).toFixed(2))),h=Math.floor(Number((a*o).toFixed(2)));return void 0!==this.size_divisibility&&([l,h]=$([l,h],this.size_divisibility)),[l,h]}if(void 0!==t&&void 0!==t.width&&void 0!==t.height){let e=t.width,r=t.height;if(this.config.keep_aspect_ratio&&this.config.ensure_multiple_of){let t=r/s,n=e/i;Math.abs(1-n)<Math.abs(1-t)?t=n:n=t,r=S(t*s,this.config.ensure_multiple_of),e=S(n*i,this.config.ensure_multiple_of)}return[e,r]}if(void 0!==this.size_divisibility)return $([i,s],this.size_divisibility);throw Error(`Could not resize image due to unsupported \`this.size\` option in config: ${JSON.stringify(t)}`)}async resize(e){let[t,r]=this.get_resize_output_image_size(e,this.size);return await e.resize(t,r,{resample:this.resample})}async preprocess(e,{do_normalize:t=null,do_pad:r=null,do_convert_rgb:n=null,do_convert_grayscale:i=null,do_flip_channel_order:s=null}={}){this.do_crop_margin&&(e=await this.crop_margin(e));let[a,o]=e.size;if(n??this.do_convert_rgb?e=e.rgb():i&&(e=e.grayscale()),this.do_resize&&(e=await this.resize(e)),this.do_thumbnail&&(e=await this.thumbnail(e,this.size,this.resample)),this.do_center_crop){let t,r;Number.isInteger(this.crop_size)?(t=this.crop_size,r=this.crop_size):(t=this.crop_size.width,r=this.crop_size.height),e=await e.center_crop(t,r)}let l=[e.height,e.width],h=Float32Array.from(e.data),u=[e.height,e.width,e.channels];if(this.do_rescale&&this.rescale(h),t??this.do_normalize){let t=this.image_mean;Array.isArray(this.image_mean)||(t=Array(e.channels).fill(t));let r=this.image_std;if(Array.isArray(this.image_std)||(r=Array(e.channels).fill(t)),t.length!==e.channels||r.length!==e.channels)throw Error(`When set to arrays, the length of \`image_mean\` (${t.length}) and \`image_std\` (${r.length}) must match the number of channels in the image (${e.channels}).`);for(let n=0;n<h.length;n+=e.channels)for(let i=0;i<e.channels;++i)h[n+i]=(h[n+i]-t[i])/r[i]}if(r??this.do_pad){if(this.pad_size){let t=this.pad_image(h,[e.height,e.width,e.channels],this.pad_size);[h,u]=t}else if(this.size_divisibility){let[e,t]=$([u[1],u[0]],this.size_divisibility);[h,u]=this.pad_image(h,u,{width:e,height:t})}}if(s??this.do_flip_channel_order){if(3!==u[2])throw Error("Flipping channel order is only supported for RGB images.");for(let e=0;e<h.length;e+=3){let t=h[e];h[e]=h[e+2],h[e+2]=t}}return{original_size:[o,a],reshaped_input_size:l,pixel_values:new c.es("float32",h,u).permute(2,0,1)}}async _call(e,...t){Array.isArray(e)||(e=[e]);let r=await Promise.all(e.map(e=>this.preprocess(e)));return{pixel_values:(0,c.kn)(r.map(e=>e.pixel_values),0),original_sizes:r.map(e=>e.original_size),reshaped_input_sizes:r.map(e=>e.reshaped_input_size)}}}class U extends B{post_process_semantic_segmentation(e,t=null){let r=e.logits,n=r.dims[0];if(null!==t&&t.length!==n)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;e<n;++e){let n=null!==t?t[e]:null,s=r[e];null!==n&&(s=(0,c.sX)(s,n,"bilinear",!1));let[a,o]=n??s.dims.slice(-2),l=new c.es("int32",new Int32Array(a*o),[a,o]),h=s[0].data;for(let e=1;e<s.dims[0];++e){let t=s[e].data;for(let r=0;r<t.length;++r)t[r]>h[r]&&(h[r]=t[r],l.data[r]=e)}let u=Array(s.dims[0]),f=l.data;for(let e=0;e<f.length;++e){let t=f[e];u[t]=t}let d=u.filter(e=>void 0!==e);i.push({segmentation:l,labels:d})}return i}}class F extends B{}class j extends F{}class L extends B{}class N extends B{}class R extends B{}class P extends B{}class q extends B{}class X extends B{constructor(e){super(e),this.crop_pct=this.config.crop_pct??.875}async resize(e){let t=this.size?.shortest_edge;if(void 0===t)throw Error("Size dictionary must contain 'shortest_edge' key.");if(t<384){let r=Math.floor(t/this.crop_pct),[n,i]=this.get_resize_output_image_size(e,{shortest_edge:r});e=await e.resize(n,i,{resample:this.resample}),e=await e.center_crop(t,t)}else e=await e.resize(t,t,{resample:this.resample});return e}}class V extends X{}class D extends B{}class G extends B{}class H extends B{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))}}class W extends B{}class K extends W{}class J extends B{post_process_object_detection(...e){return I(...e)}}class Y extends J{}class Z extends B{}class Q extends B{}class ee extends B{pad_image(e,t,r,n={}){let[i,s,a]=t,o=this.image_mean;Array.isArray(this.image_mean)||(o=Array(a).fill(o));let l=this.image_std;Array.isArray(l)||(l=Array(a).fill(o));let h=o.map((e,t)=>-e/l[t]);return super.pad_image(e,t,r,{center:!0,constant_values:h,...n})}}class et extends ee{}class er extends B{async _call(e){let t=await super._call(e),r=[t.pixel_values.dims[0],64,64],n=new c.es("int64",new BigInt64Array(r.reduce((e,t)=>e*t)).fill(1n),r);return{...t,pixel_mask:n}}post_process_object_detection(...e){return I(...e)}remove_low_and_no_objects(e,t,r,n){let i=[],s=[],a=[];for(let o=0;o<e.dims[0];++o){let l=e[o],h=t[o],c=(0,u.Fp)(l.data)[1];if(c===n)continue;let f=(0,u.XA)(l.data)[c];f>r&&(i.push(h),s.push(f),a.push(c))}return[i,s,a]}check_segment_validity(e,t,r,n=.5,i=.8){let s=[],a=0,o=0;for(let i=0;i<e.length;++i)e[i]===r&&(s.push(i),++a),t[r].data[i]>=n&&++o;let l=a>0&&o>0;return l&&(l=a/o>i),[l,s]}compute_segments(e,t,r,n,i,s=null,a=null){let[o,l]=a??e[0].dims,h=new c.es("int32",new Int32Array(o*l),[o,l]),u=[];if(null!==a)for(let t=0;t<e.length;++t)e[t]=(0,c.sX)(e[t],a,"bilinear",!1);let f=new Int32Array(e[0].data.length),d=new Float32Array(e[0].data.length);for(let r=0;r<e.length;++r){let n=t[r];for(let t=0;t<e[r].data.length;++t)e[r].data[t]*=n,e[r].data[t]>d[t]&&(f[t]=r,d[t]=e[r].data[t])}let p=0;for(let s=0;s<r.length;++s){let a=r[s],[o,l]=this.check_segment_validity(f,e,s,n,i);if(o){for(let e of(++p,l))h.data[e]=p;u.push({id:p,label_id:a,score:t[s]})}}return[h,u]}post_process_panoptic_segmentation(e,t=.5,r=.5,n=.8,i=null,s=null){null===i&&(console.warn("`label_ids_to_fuse` unset. No instance will be fused."),i=new Set);let a=e.logits,o=e.pred_masks.sigmoid(),[l,h,u]=a.dims;if(u-=1,null!==s&&s.length!==l)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");let f=[];for(let e=0;e<l;++e){let l=null!==s?s[e]:null,h=a[e],d=o[e],[p,m,g]=this.remove_low_and_no_objects(h,d,t,u);if(0===g.length){let[e,t]=l??d.dims.slice(-2),r=new c.es("int32",new Int32Array(e*t).fill(-1),[e,t]);f.push({segmentation:r,segments_info:[]});continue}let[_,w]=this.compute_segments(p,m,g,r,n,i,l);f.push({segmentation:_,segments_info:w})}return f}post_process_instance_segmentation(){throw Error("Not implemented yet")}}class en extends B{post_process_object_detection(...e){return I(...e)}}class ei extends B{reshape_input_points(e,t,r){e=structuredClone(e);let n=(0,l.jg)(e);if(3===n.length)n=[1,...n],e=[e];else if(4!==n.length)throw Error("The input_points must be a 4D tensor of shape `batch_size`, `point_batch_size`, `nb_points_per_image`, `2`.");for(let n=0;n<e.length;++n){let i=t[n],s=r[n],a=[s[0]/i[0],s[1]/i[1]];for(let t=0;t<e[n].length;++t)for(let r=0;r<e[n][t].length;++r)for(let i=0;i<e[n][t][r].length;++i)e[n][t][r][i]*=a[i]}return new c.es("float32",Float32Array.from(e.flat(1/0)),n)}add_input_labels(e,t){let r=(0,l.jg)(e);if(2===r.length)r=[1,...r],e=[e];else if(3!==r.length)throw Error("The input_points must be a 4D tensor of shape `batch_size`, `point_batch_size`, `nb_points_per_image`, `2`.");if(r.some((e,r)=>e!==t.dims[r]))throw Error(`The first ${r.length} dimensions of 'input_points' and 'input_labels' must be the same.`);return new c.es("int64",e.flat(1/0).map(BigInt),r)}async _call(e,t=null,r=null){let n=await super._call(e);if(t&&(n.input_points=this.reshape_input_points(t,n.original_sizes,n.reshaped_input_sizes)),r){if(!n.input_points)throw Error("`input_points` must be provided if `input_labels` are provided.");n.input_labels=this.add_input_labels(r,n.input_points)}return n}post_process_masks(e,t,r,{mask_threshold:n=0,binarize:i=!0,pad_size:s=null}={}){let a=[],o=[(s=s??this.pad_size).height,s.width];for(let s=0;s<t.length;++s){let l=t[s],h=r[s],u=e[s],f=[];for(let e=0;e<u.dims[0];++e){let t=u[e],r=(0,c.sX)(t,o,"bilinear",!1);if(r=r.slice(null,[0,h[0]],[0,h[1]]),r=(0,c.sX)(r,l,"bilinear",!1),i){let e=new Uint8Array(r.data.length);for(let t=0;t<r.data.length;++t)r.data[t]>n&&(e[t]=1);r=new c.es("bool",e,r.dims)}f.push(r)}a.push((0,c.kn)(f))}return a}}class es extends B{pad_image(e,t,r,n={}){let[i,s,a]=t;return super.pad_image(e,t,{width:s+(r-s%r)%r,height:i+(r-i%r)%r},{mode:"symmetric",center:!1,constant_values:-1,...n})}}class ea extends B{async _call(e,t){Array.isArray(e)||(e=[e]),Array.isArray(t)||(t=[t]);let r=await Promise.all(e.map(e=>this.preprocess(e))),n=await Promise.all(t.map(e=>this.preprocess(e,{do_normalize:!1,do_convert_rgb:!1,do_convert_grayscale:!0})));return{pixel_values:(0,c.kn)(r.map((e,t)=>(0,c.d3)([e.pixel_values,n[t].pixel_values],0)),0),original_sizes:r.map(e=>e.original_size),reshaped_input_sizes:r.map(e=>e.reshaped_input_size)}}}class eo extends T{constructor(e){super(e),this.config.mel_filters??=A(Math.floor(1+this.config.n_fft/2),this.config.feature_size,0,8e3,this.config.sampling_rate,"slaney","slaney"),this.window=M(this.config.n_fft,"hann")}_extract_fbank_features(e){let{data:t,dims:r}=C(e,this.window,this.config.n_fft,this.config.hop_length,{power:2,mel_filters:this.config.mel_filters,log_mel:"log10",max_num_frames:this.config.nb_max_frames}),n=(0,u.Fp)(t)[0];for(let e=0;e<t.length;++e)t[e]=(Math.max(t[e],n-8)+4)/4;return{data:t,dims:r}}async _call(e){let t;O(e,"WhisperFeatureExtractor"),e.length>this.config.n_samples?(console.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`."),t=e.slice(0,this.config.n_samples)):(t=new Float32Array(this.config.n_samples)).set(e);let{data:r,dims:n}=this._extract_fbank_features(t);return{input_features:new c.es("float32",r,[1,...n])}}}class el extends T{_zero_mean_unit_var_norm(e){let t=e.reduce((e,t)=>e+t,0)/e.length,r=e.reduce((e,r)=>e+(r-t)**2,0)/e.length;return e.map(e=>(e-t)/Math.sqrt(r+1e-7))}async _call(e){O(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 r=[1,t.length];return{input_values:new c.es("float32",t,r),attention_mask:new c.es("int64",new BigInt64Array(t.length).fill(1n),r)}}}class eh extends T{constructor(e){super(e);let t=this.config.sampling_rate,r=A(256,this.config.num_mel_bins,20,Math.floor(t/2),t,null,"kaldi",!0);for(let e=0;e<r.length;++e)r[e].push(0);this.mel_filters=r,this.window=M(400,"povey",{periodic:!1})}_extract_fbank_features(e,t){return C(e=e.map(e=>32768*e),this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:"log",mel_floor:1192092955078125e-22,remove_dc_offset:!0,max_num_frames:t,transpose:!0})}async _call(e,{padding:t=!0,pad_to_multiple_of:r=2,do_normalize_per_mel_bins:n=!0,return_attention_mask:i=!0}={}){let s;O(e,"SeamlessM4TFeatureExtractor");let a=this._extract_fbank_features(e,this.config.max_length);if(n){let[e,t]=a.dims;for(let r=0;r<t;++r){let n=0;for(let i=0;i<e;++i)n+=a.data[i*t+r];let i=n/e,s=0;for(let n=0;n<e;++n)s+=(a.data[n*t+r]-i)**2;let o=Math.sqrt((s/=e-1)+1e-7);for(let n=0;n<e;++n){let e=n*t+r;a.data[e]=(a.data[e]-i)/o}}}if(t){let[e,t]=a.dims,n=e%r;if(n>0){let r=new Float32Array(t*(e+n));r.set(a.data),r.fill(this.config.padding_value,a.data.length);let o=e+n;a={data:r,dims:[o,t]},i&&(s=new c.es("int64",new BigInt64Array(o),[1,o])).data.fill(1n,0,e)}}let[o,l]=a.dims,h=this.config.stride;if(0!=o%h)throw Error(`The number of frames (${o}) must be a multiple of the stride (${h}).`);let u=new c.es("float32",a.data,a.dims).view(1,Math.floor(o/h),l*h),f={input_features:u};if(i){let e=u.dims[1],t=new c.es("int64",new BigInt64Array(e),[1,e]);if(s)for(let e=1,r=0;e<o;e+=h,++r)t.data[r]=s.data[e];else t.data.fill(1n);f.attention_mask=t}return f}}class eu extends T{constructor(e){super(e);let t=this.config.sampling_rate,r=A(256,this.config.num_mel_bins,20,Math.floor(t/2),t,null,"kaldi",!0);for(let e=0;e<r.length;++e)r[e].push(0);this.mel_filters=r,this.window=M(400,"hann",{periodic:!1}),this.mean=this.config.mean,this.std=this.config.std}_extract_fbank_features(e,t){return C(e,this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:"log",mel_floor:1192092955078125e-22,remove_dc_offset:!0,max_num_frames:t,transpose:!0})}async _call(e){O(e,"ASTFeatureExtractor");let t=this._extract_fbank_features(e,this.config.max_length);if(this.config.do_normalize){let e=2*this.std;for(let r=0;r<t.data.length;++r)t.data[r]=(t.data[r]-this.mean)/e}return{input_values:new c.es("float32",t.data,[1,...t.dims])}}}class ec extends T{constructor(e){super(e),this.mel_filters=A(this.config.nb_frequency_bins,this.config.feature_size,this.config.frequency_min,this.config.frequency_max,this.config.sampling_rate,null,"htk"),this.mel_filters_slaney=A(this.config.nb_frequency_bins,this.config.feature_size,this.config.frequency_min,this.config.frequency_max,this.config.sampling_rate,"slaney","slaney"),this.window=M(this.config.fft_window_size,"hann")}_get_input_mel(e,t,r,n){let i;let s=!1,a=e.length-t;if(a>0){if("rand_trunc"===r){s=!0;let r=Math.floor(Math.random()*(a+1));e=e.subarray(r,r+t),(i=this._extract_fbank_features(e,this.mel_filters_slaney,this.config.nb_max_samples)).dims=[1,...i.dims]}else throw Error(`Truncation strategy "${r}" not implemented`)}else{if(a<0){let r=new Float64Array(t);if(r.set(e),"repeat"===n)for(let n=e.length;n<t;n+=e.length)r.set(e.subarray(0,Math.min(e.length,t-n)),n);else if("repeatpad"===n)for(let t=e.length;t<-a;t+=e.length)r.set(e,t);e=r}if("fusion"===r)throw Error(`Truncation strategy "${r}" not implemented`);(i=this._extract_fbank_features(e,this.mel_filters_slaney,this.config.nb_max_samples)).dims=[1,...i.dims]}return{...i,longer:s}}_extract_fbank_features(e,t,r=null){return C(e,this.window,this.config.fft_window_size,this.config.hop_length,{power:2,mel_filters:t,log_mel:"dB",max_num_frames:r,do_pad:!1,transpose:!0})}async _call(e,{max_length:t=null}={}){O(e,"ClapFeatureExtractor");let r=this._get_input_mel(e,t??this.config.nb_max_samples,this.config.truncation,this.config.padding);return{input_features:new c.es("float32",r.data,[1,...r.dims])}}}class ef extends T{}class ed extends l.Ag{constructor(e){super(),this.feature_extractor=e}async _call(e,...t){return await this.feature_extractor(e,...t)}}class ep extends ed{async _call(...e){return await this.feature_extractor(...e)}post_process_masks(...e){return this.feature_extractor.post_process_masks(...e)}reshape_input_points(...e){return this.feature_extractor.reshape_input_points(...e)}}class em extends ed{async _call(e){return await this.feature_extractor(e)}}class eg extends ed{async _call(e){return await this.feature_extractor(e)}}class e_ extends ed{async _call(e){return await this.feature_extractor(e)}}class ew extends ed{}class ey{static FEATURE_EXTRACTOR_CLASS_MAPPING={ImageFeatureExtractor:B,WhisperFeatureExtractor:eo,ViTFeatureExtractor:D,MobileViTFeatureExtractor:W,MobileViTImageProcessor:K,OwlViTFeatureExtractor:J,Owlv2ImageProcessor:Y,CLIPFeatureExtractor:R,ChineseCLIPFeatureExtractor:P,SiglipImageProcessor:q,ConvNextFeatureExtractor:X,ConvNextImageProcessor:V,SegformerFeatureExtractor:U,BitImageProcessor:L,DPTImageProcessor:j,DPTFeatureExtractor:F,GLPNFeatureExtractor:N,BeitFeatureExtractor:Q,DeiTFeatureExtractor:Z,DetrFeatureExtractor:er,YolosFeatureExtractor:en,DonutFeatureExtractor:ee,NougatImageProcessor:et,EfficientNetImageProcessor:H,ViTImageProcessor:G,VitMatteImageProcessor:ea,SamImageProcessor:ei,Swin2SRImageProcessor:es,Wav2Vec2FeatureExtractor:el,SeamlessM4TFeatureExtractor:eh,SpeechT5FeatureExtractor:ef,ASTFeatureExtractor:eu,ClapFeatureExtractor:ec};static PROCESSOR_CLASS_MAPPING={WhisperProcessor:em,Wav2Vec2ProcessorWithLM:eg,SamProcessor:ep,SpeechT5Processor:e_,OwlViTProcessor:ew};static async from_pretrained(e,{progress_callback:t=null,config:r=null,cache_dir:n=null,local_files_only:i=!1,revision:s="main"}={}){let a=r??await (0,h.yM)(e,"preprocessor_config.json",!0,{progress_callback:t,config:r,cache_dir:n,local_files_only:i,revision:s}),o=a.feature_extractor_type??a.image_processor_type,l=this.FEATURE_EXTRACTOR_CLASS_MAPPING[o];if(!l){if(void 0!==a.size)console.warn(`Feature extractor type "${o}" not found, assuming ImageFeatureExtractor due to size parameter in config.`),l=B;else throw Error(`Unknown Feature Extractor type: ${o}`)}return new(this.PROCESSOR_CLASS_MAPPING[a.processor_class]??ed)(new l(a))}}async function ev(e){return Array.isArray(e)||(e=[e]),await Promise.all(e.map(e=>w.read(e)))}async function eb(e,t){return Array.isArray(e)||(e=[e]),await Promise.all(e.map(e=>"string"==typeof e||e instanceof URL?y(e,t):e instanceof Float64Array?new Float32Array(e):e))}function ex(e,t){t&&(e=e.map(e=>0|e));let[r,n,i,s]=e;return{xmin:r,ymin:n,xmax:i,ymax:s}}class eE extends l.Ag{constructor({task:e,model:t,tokenizer:r=null,processor:n=null}){super(),this.task=e,this.model=t,this.tokenizer=r,this.processor=n}async dispose(){await this.model.dispose()}}class ek extends eE{constructor(e){super(e)}async _call(e,{topk:t=1}={}){let r=this.tokenizer(e,{padding:!0,truncation:!0}),n=await this.model(r),i="multi_label_classification"===this.model.config.problem_type?e=>e.sigmoid().data:e=>(0,u.XA)(e.data),s=this.model.config.id2label,a=[];for(let e of n.logits){let r=i(e),n=(0,u.em)(r,t).map(e=>({label:s[e[0]],score:e[1]}));1===t?a.push(...n):a.push(n)}return Array.isArray(e)||1===t?a:a[0]}}class eA extends eE{constructor(e){super(e)}async _call(e,{ignore_labels:t=["O"]}={}){let r=Array.isArray(e),n=this.tokenizer(r?e:[e],{padding:!0,truncation:!0}),i=(await this.model(n)).logits,s=this.model.config.id2label,a=[];for(let e=0;e<i.dims[0];++e){let r=n.input_ids[e],o=i[e],l=[];for(let e=0;e<o.dims[0];++e){let n=o[e],i=(0,u.Fp)(n.data)[1],a=s?s[i]:`LABEL_${i}`;if(t.includes(a))continue;let h=this.tokenizer.decode([r[e].item()],{skip_special_tokens:!0});if(""===h)continue;let c=(0,u.XA)(n.data);l.push({entity:a,score:c[i],index:e,word:h,start:null,end:null})}a.push(l)}return r?a:a[0]}}class ez extends eE{constructor(e){super(e)}async _call(e,t,{topk:r=1}={}){let n=this.tokenizer(e,{text_pair:t,padding:!0,truncation:!0}),i=await this.model(n),s=[];for(let e=0;e<i.start_logits.dims[0];++e){let t=n.input_ids[e],a=t.indexOf(this.tokenizer.sep_token_id),o=Array.from((0,u.XA)(i.start_logits[e].data)).map((e,t)=>[e,t]).filter(e=>e[1]>a),h=Array.from((0,u.XA)(i.end_logits[e].data)).map((e,t)=>[e,t]).filter(e=>e[1]>a),c=(0,l.O7)(o,h).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]);for(let e=0;e<Math.min(c.length,r);++e){let[r,n,i]=c[e],a=[...t].slice(r,n+1),o=this.tokenizer.decode(a,{skip_special_tokens:!0});s.push({answer:o,score:i})}}return 1===r?s[0]:s}}class eC extends eE{constructor(e){super(e)}async _call(e,{topk:t=5}={}){let r=this.tokenizer(e,{padding:!0,truncation:!0}),n=await this.model(r),i=[];for(let e=0;e<r.input_ids.dims[0];++e){let s=r.input_ids[e],a=s.indexOf(this.tokenizer.mask_token_id);if(-1===a)throw Error(`Mask token (${this.tokenizer.mask_token}) not found in text.`);let o=n.logits[e][a],l=(0,u.em)((0,u.XA)(o.data),t);i.push(l.map(e=>{let t=[...s];return t[a]=e[0],{score:e[1],token:e[0],token_str:this.tokenizer.model.vocab[e[0]],sequence:this.tokenizer.decode(t,{skip_special_tokens:!0})}}))}return Array.isArray(e)?i:i[0]}}class eM extends eE{_key="generated_text";constructor(e){super(e)}async _call(e,t={}){let r;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 i=this.tokenizer,s={padding:!0,truncation:!0};r=this instanceof eO&&"_build_translation_inputs"in i?i._build_translation_inputs(e,s,t).input_ids:i(e,s).input_ids;let a=await this.model.generate(r,t);return i.batch_decode(a,{skip_special_tokens:!0}).map(e=>({[this._key]:e}))}}class eI extends eM{_key="summary_text";constructor(e){super(e)}}class eO extends eM{_key="translation_text";constructor(e){super(e)}}function eS(e){return Array.isArray(e)&&e.every(e=>"role"in e&&"content"in e)}class e$ extends eE{constructor(e){super(e)}async _call(e,t={}){let r,n,i=!1,s=!1;if("string"==typeof e)r=e=[e];else if(Array.isArray(e)&&e.every(e=>"string"==typeof e))i=!0,r=e;else{if(eS(e))e=[e];else if(Array.isArray(e)&&e.every(eS))i=!0;else throw Error("Input must be a string, an array of strings, a Chat, or an array of Chats");s=!0,r=e.map(e=>this.tokenizer.apply_chat_template(e,{tokenize:!1,add_generation_prompt:!0}))}let a=t.add_special_tokens??!1,o=!s&&(t.return_full_text??!0);this.tokenizer.padding_side="left";let{input_ids:l,attention_mask:h}=this.tokenizer(r,{add_special_tokens:a,padding:!0,truncation:!0}),u=await this.model.generate(l,t,null,{inputs_attention_mask:h}),c=this.tokenizer.batch_decode(u,{skip_special_tokens:!0});!o&&l.dims.at(-1)>0&&(n=this.tokenizer.batch_decode(l,{skip_special_tokens:!0}).map(e=>e.length));let f=Array.from({length:e.length},e=>[]);for(let t=0;t<c.length;++t){let r=Math.floor(t/u.length*e.length);n&&(c[t]=c[t].slice(n[r])),f[r].push({generated_text:s?[...e[r],{role:"assistant",content:c[t]}]:c[t]})}return i||1!==f.length?f:f[0]}}class eT extends eE{constructor(e){super(e),this.label2id=Object.fromEntries(Object.entries(this.model.config.label2id).map(([e,t])=>[e.toLowerCase(),t])),this.entailment_id=this.label2id.entailment,void 0===this.entailment_id&&(console.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,void 0===this.contradiction_id&&(console.warn("Could not find 'contradiction' in label2id mapping. Using 0 as contradiction_id."),this.contradiction_id=0)}async _call(e,t,{hypothesis_template:r="This example is {}.",multi_label:n=!1}={}){let i=Array.isArray(e);i||(e=[e]),Array.isArray(t)||(t=[t]);let s=t.map(e=>r.replace("{}",e)),a=n||1===t.length,o=[];for(let r of e){let e=[];for(let t of s){let n=this.tokenizer(r,{text_pair:t,padding:!0,truncation:!0}),i=await this.model(n);a?e.push([i.logits.data[this.contradiction_id],i.logits.data[this.entailment_id]]):e.push(i.logits.data[this.entailment_id])}let n=(a?e.map(e=>(0,u.XA)(e)[1]):(0,u.XA)(e)).map((e,t)=>[e,t]).sort((e,t)=>t[0]-e[0]);o.push({sequence:r,labels:n.map(e=>t[e[1]]),scores:n.map(e=>e[0])})}return i?o:o[0]}}class eB extends eE{constructor(e){super(e)}async _call(e,{pooling:t="none",normalize:r=!1,quantize:n=!1,precision:i="binary"}={}){let s=this.tokenizer(e,{padding:!0,truncation:!0}),a=await this.model(s),o=a.last_hidden_state??a.logits??a.token_embeddings;if("none"===t);else if("mean"===t)o=(0,c.v6)(o,s.attention_mask);else if("cls"===t)o=o.slice(null,0);else throw Error(`Pooling method '${t}' not supported.`);return r&&(o=o.normalize(2,-1)),n&&(o=(0,c.e)(o,i)),o}}class eU extends eE{constructor(e){super(e)}async _call(e,{pool:t=null}={}){let r;let n=await ev(e),{pixel_values:i}=await this.processor(n),s=await this.model({pixel_values:i});if(t){if(!("pooler_output"in s))throw Error("No pooled output was returned. Make sure the model has a 'pooler' layer when using the 'pool' option.");r=s.pooler_output}else r=s.last_hidden_state??s.logits??s.image_embeds;return r}}class eF extends eE{constructor(e){super(e)}async _call(e,{topk:t=null}={}){let r=!Array.isArray(e),n=this.processor.feature_extractor.config.sampling_rate,i=await eb(e,n),s=this.model.config.id2label,a=[];for(let e of i){let r=await this.processor(e),n=(await this.model(r)).logits[0],i=(0,u.em)((0,u.XA)(n.data),t).map(e=>({label:s[e[0]],score:e[1]}));1===t?a.push(...i):a.push(i)}return r&&1!==t?a[0]:a}}class ej extends eE{constructor(e){super(e)}async _call(e,t,{hypothesis_template:r="This is a sound of {}."}={}){let n=!Array.isArray(e);n&&(e=[e]);let i=t.map(e=>r.replace("{}",e)),s=this.tokenizer(i,{padding:!0,truncation:!0}),a=this.processor.feature_extractor.config.sampling_rate,o=await eb(e,a),l=[];for(let e of o){let r=await this.processor(e),n=await this.model({...s,...r}),i=(0,u.XA)(n.logits_per_audio.data);l.push([...i].map((e,r)=>({score:e,label:t[r]})))}return n?l[0]:l}}class eL extends eE{constructor(e){super(e)}async _call(e,t={}){switch(this.model.config.model_type){case"whisper":return this._call_whisper(e,t);case"wav2vec2":case"wav2vec2-bert":case"unispeech":case"unispeech-sat":case"hubert":return this._call_wav2vec2(e,t);default:throw Error(`AutomaticSpeechRecognitionPipeline does not support model type '${this.model.config.model_type}'.`)}}async _call_wav2vec2(e,t={}){t.language&&console.warn('`language` parameter is not yet supported for `wav2vec2` models, defaulting to "English".'),t.task&&console.warn('`task` parameter is not yet supported for `wav2vec2` models, defaulting to "transcribe".');let r=!Array.isArray(e);r&&(e=[e]);let n=this.processor.feature_extractor.config.sampling_rate,i=await eb(e,n),s=[];for(let e of i){let t=await this.processor(e),r=(await this.model(t)).logits[0],n=[];for(let e of r)n.push((0,u.Fp)(e.data)[1]);let i=this.tokenizer.decode(n);s.push({text:i})}return r?s[0]:s}async _call_whisper(e,t={}){let r=t.return_timestamps??!1,n=t.chunk_length_s??0,i=t.chunk_callback??null,s=t.force_full_sequences??!1,a=t.stride_length_s??null;"word"===r&&(t.return_token_timestamps=!0);let o=(0,l.Sw)(t,"language",null),h=(0,l.Sw)(t,"task",null);if(o||h||r){if(t.forced_decoder_ids)throw Error("Cannot specify `language`/`task`/`return_timestamps` and `forced_decoder_ids` at the same time.");let e=this.tokenizer.get_decoder_prompt_ids({language:o,task:h,no_timestamps:!r});e.length>0&&(t.forced_decoder_ids=e)}let c=!Array.isArray(e);c&&(e=[e]);let f=this.processor.feature_extractor.config.chunk_length/this.model.config.max_source_positions,d=this.processor.feature_extractor.config.hop_length,p=this.processor.feature_extractor.config.sampling_rate,m=await eb(e,p),g=[];for(let e of m){let o=[];if(n>0){if(null===a)a=n/6;else if(n<=a)throw Error("`chunk_length_s` must be larger than `stride_length_s`.");let t=p*n,r=p*a,i=t-2*r,s=0;for(;s<e.length;){let n=e.subarray(s,s+t),a=await this.processor(n),l=0===s,h=s+i>=e.length;o.push({stride:[n.length,l?0:r,h?0:r],input_features:a.input_features,is_last:h}),s+=i}}else o=[{stride:[e.length,0,0],input_features:(await this.processor(e)).input_features,is_last:!0}];for(let e of o){t.num_frames=Math.floor(e.stride[0]/d);let n=await this.model.generate(e.input_features,t);"word"===r?(e.tokens=n.sequences[0],e.token_timestamps=n.token_timestamps.tolist()[0].map(e=>(0,u.NM)(e,2))):e.tokens=n[0],e.stride=e.stride.map(e=>e/p),null!==i&&i(e)}let[l,h]=this.tokenizer._decode_asr(o,{time_precision:f,return_timestamps:r,force_full_sequences:s});g.push({text:l,...h})}return c?g[0]:g}}class eN extends eE{constructor(e){super(e)}async _call(e,t={}){let r=Array.isArray(e),n=await ev(e),{pixel_values:i}=await this.processor(n),s=[];for(let e of i){e.dims=[1,...e.dims];let r=await this.model.generate(e,t),n=this.tokenizer.batch_decode(r,{skip_special_tokens:!0}).map(e=>({generated_text:e.trim()}));s.push(n)}return r?s:s[0]}}class eR extends eE{constructor(e){super(e)}async _call(e,{topk:t=1}={}){let r=Array.isArray(e),n=await ev(e),{pixel_values:i}=await this.processor(n),s=await this.model({pixel_values:i}),a=this.model.config.id2label,o=[];for(let e of s.logits){let r=(0,u.em)((0,u.XA)(e.data),t).map(e=>({label:a[e[0]],score:e[1]}));1===t?o.push(...r):o.push(r)}return r||1===t?o:o[0]}}class eP extends eE{constructor(e){super(e),this.subtasks_mapping={panoptic:"post_process_panoptic_segmentation",instance:"post_process_instance_segmentation",semantic:"post_process_semantic_segmentation"}}async _call(e,{threshold:t=.5,mask_threshold:r=.5,overlap_mask_area_threshold:n=.8,label_ids_to_fuse:i=null,target_sizes:s=null,subtask:a=null}={}){if(Array.isArray(e)&&1!==e.length)throw Error("Image segmentation pipeline currently only supports a batch size of 1.");let o=await ev(e),l=o.map(e=>[e.height,e.width]),{pixel_values:h,pixel_mask:u}=await this.processor(o),c=await this.model({pixel_values:h,pixel_mask:u}),f=null;if(null!==a)f=this.subtasks_mapping[a];else for(let[e,t]of Object.entries(this.subtasks_mapping))if(t in this.processor.feature_extractor){f=this.processor.feature_extractor[t].bind(this.processor.feature_extractor),a=e;break}let d=this.model.config.id2label,p=[];if("panoptic"===a||"instance"===a){let e=f(c,t,r,n,i,s??l)[0],a=e.segmentation;for(let t of e.segments_info){let e=new Uint8ClampedArray(a.data.length);for(let r=0;r<a.data.length;++r)a.data[r]===t.id&&(e[r]=255);let r=new w(e,a.dims[1],a.dims[0],1);p.push({score:t.score,label:d[t.label_id],mask:r})}}else if("semantic"===a){let{segmentation:e,labels:t}=f(c,s??l)[0];for(let r of t){let t=new Uint8ClampedArray(e.data.length);for(let n=0;n<e.data.length;++n)e.data[n]===r&&(t[n]=255);let n=new w(t,e.dims[1],e.dims[0],1);p.push({score:null,label:d[r],mask:n})}}else throw Error(`Subtask ${a} not supported.`);return p}}class eq extends eE{constructor(e){super(e)}async _call(e,t,{hypothesis_template:r="This is a photo of {}"}={}){let n=Array.isArray(e),i=await ev(e),s=t.map(e=>r.replace("{}",e)),a=this.tokenizer(s,{padding:"siglip"!==this.model.config.model_type||"max_length",truncation:!0}),{pixel_values:o}=await this.processor(i),l=await this.model({...a,pixel_values:o}),h="siglip"===this.model.config.model_type?e=>e.sigmoid().data:e=>(0,u.XA)(e.data),c=[];for(let e of l.logits_per_image){let r=[...h(e)].map((e,r)=>({score:e,label:t[r]}));r.sort((e,t)=>t.score-e.score),c.push(r)}return n?c:c[0]}}class eX extends eE{constructor(e){super(e)}async _call(e,{threshold:t=.9,percentage:r=!1}={}){let n=Array.isArray(e);if(n&&1!==e.length)throw Error("Object detection pipeline currently only supports a batch size of 1.");let i=await ev(e),s=r?null:i.map(e=>[e.height,e.width]),{pixel_values:a,pixel_mask:o}=await this.processor(i),l=await this.model({pixel_values:a,pixel_mask:o}),h=this.processor.feature_extractor.post_process_object_detection(l,t,s),u=this.model.config.id2label,c=h.map(e=>e.boxes.map((t,n)=>({score:e.scores[n],label:u[e.classes[n]],box:ex(t,!r)})));return n?c:c[0]}}class eV extends eE{constructor(e){super(e)}async _call(e,t,{threshold:r=.1,topk:n=null,percentage:i=!1}={}){let s=Array.isArray(e),a=await ev(e),o=this.tokenizer(t,{padding:!0,truncation:!0}),l=await this.processor(a),h=[];for(let e=0;e<a.length;++e){let s=a[e],u=i?null:[[s.height,s.width]],c=l.pixel_values[e].unsqueeze_(0),f=await this.model({...o,pixel_values:c}),d=this.processor.feature_extractor.post_process_object_detection(f,r,u,!0)[0],p=d.boxes.map((e,r)=>({score:d.scores[r],label:t[d.classes[r]],box:ex(e,!i)})).sort((e,t)=>t.score-e.score);null!==n&&(p=p.slice(0,n)),h.push(p)}return s?h:h[0]}}class eD extends eE{constructor(e){super(e)}async _call(e,t,r={}){let n=(await ev(e))[0],{pixel_values:i}=await this.processor(n),s=`<s_docvqa><s_question>${t}</s_question><s_answer>`,a=this.tokenizer(s,{add_special_tokens:!1,padding:!0,truncation:!0}).input_ids,o=await this.model.generate(i,{...r,decoder_input_ids:a,max_length:this.model.config.decoder.max_position_embeddings}),l=this.tokenizer.batch_decode(o)[0].match(/<s_answer>(.*?)<\/s_answer>/),h=null;return l&&l.length>=2&&(h=l[1].trim()),[{answer:h}]}}class eG extends eE{DEFAULT_VOCODER_ID="Xenova/speecht5_hifigan";constructor(e){super(e),this.vocoder=e.vocoder??null}async _call(e,{speaker_embeddings:t=null}={}){return this.processor?this._call_text_to_spectrogram(e,{speaker_embeddings:t}):this._call_text_to_waveform(e)}async _call_text_to_waveform(e){let t=this.tokenizer(e,{padding:!0,truncation:!0}),{waveform:r}=await this.model(t),n=this.model.config.sampling_rate;return{audio:r.data,sampling_rate:n}}async _call_text_to_spectrogram(e,{speaker_embeddings:t}){if(this.vocoder||(console.log("No vocoder specified, using default HifiGan vocoder."),this.vocoder=await o.$Sz.from_pretrained(this.DEFAULT_VOCODER_ID,{quantized:!1})),("string"==typeof t||t instanceof URL)&&(t=new Float32Array(await (await fetch(t)).arrayBuffer())),t instanceof Float32Array)t=new c.es("float32",t,[1,t.length]);else if(!(t instanceof c.es))throw Error("Speaker embeddings must be a `Tensor`, `Float32Array`, `string`, or `URL`.");let{input_ids:r}=this.tokenizer(e,{padding:!0,truncation:!0}),{waveform:n}=await this.model.generate_speech(r,t,{vocoder:this.vocoder}),i=this.processor.feature_extractor.config.sampling_rate;return{audio:n.data,sampling_rate:i}}}class eH extends eE{constructor(e){super(e)}async _call(e){let t=await ev(e),r=await this.processor(t),n=await this.model(r),i=[];for(let e of n.reconstruction){let t=e.squeeze().clamp_(0,1).mul_(255).round_().to("uint8");i.push(w.fromTensor(t))}return i.length>1?i:i[0]}}class eW extends eE{constructor(e){super(e)}async _call(e){let t=await ev(e),r=await this.processor(t),{predicted_depth:n}=await this.model(r),i=[];for(let e=0;e<t.length;++e){let r=(0,c.sX)(n[e],t[e].size.reverse(),"bilinear",!1),s=r.mul_(255/(0,u.Fp)(r.data)[0]).to("uint8");i.push({predicted_depth:n[e],depth:w.fromTensor(s)})}return i.length>1?i:i[0]}}let eK=Object.freeze({"text-classification":{tokenizer:a.t2,pipeline:ek,model:o.o$X,default:{model:"Xenova/distilbert-base-uncased-finetuned-sst-2-english"},type:"text"},"token-classification":{tokenizer:a.t2,pipeline:eA,model:o.OjJ,default:{model:"Xenova/bert-base-multilingual-cased-ner-hrl"},type:"text"},"question-answering":{tokenizer:a.t2,pipeline:ez,model:o.wiU,default:{model:"Xenova/distilbert-base-cased-distilled-squad"},type:"text"},"fill-mask":{tokenizer:a.t2,pipeline:eC,model:o.t78,default:{model:"Xenova/bert-base-uncased"},type:"text"},summarization:{tokenizer:a.t2,pipeline:eI,model:o.Kf0,default:{model:"Xenova/distilbart-cnn-6-6"},type:"text"},translation:{tokenizer:a.t2,pipeline:eO,model:o.Kf0,default:{model:"Xenova/t5-small"},type:"text"},"text2text-generation":{tokenizer:a.t2,pipeline:eM,model:o.Kf0,default:{model:"Xenova/flan-t5-small"},type:"text"},"text-generation":{tokenizer:a.t2,pipeline:e$,model:o.Hqk,default:{model:"Xenova/gpt2"},type:"text"},"zero-shot-classification":{tokenizer:a.t2,pipeline:eT,model:o.o$X,default:{model:"Xenova/distilbert-base-uncased-mnli"},type:"text"},"audio-classification":{pipeline:eF,model:o.K2m,processor:ey,default:{model:"Xenova/wav2vec2-base-superb-ks"},type:"audio"},"zero-shot-audio-classification":{tokenizer:a.t2,pipeline:ej,model:o.$Sz,processor:ey,default:{model:"Xenova/clap-htsat-unfused"},type:"multimodal"},"automatic-speech-recognition":{tokenizer:a.t2,pipeline:eL,model:[o.hZO,o.ENH],processor:ey,default:{model:"Xenova/whisper-tiny.en"},type:"multimodal"},"text-to-audio":{tokenizer:a.t2,pipeline:eG,model:[o.z6E,o.lbf],processor:[ey,null],default:{model:"Xenova/speecht5_tts"},type:"text"},"image-to-text":{tokenizer:a.t2,pipeline:eN,model:o.tLj,processor:ey,default:{model:"Xenova/vit-gpt2-image-captioning"},type:"multimodal"},"image-classification":{pipeline:eR,model:o.En$,processor:ey,default:{model:"Xenova/vit-base-patch16-224"},type:"multimodal"},"image-segmentation":{pipeline:eP,model:[o.U$$,o.$Bv],processor:ey,default:{model:"Xenova/detr-resnet-50-panoptic"},type:"multimodal"},"zero-shot-image-classification":{tokenizer:a.t2,pipeline:eq,model:o.$Sz,processor:ey,default:{model:"Xenova/clip-vit-base-patch32"},type:"multimodal"},"object-detection":{pipeline:eX,model:o.Zn,processor:ey,default:{model:"Xenova/detr-resnet-50"},type:"multimodal"},"zero-shot-object-detection":{tokenizer:a.t2,pipeline:eV,model:o.LdW,processor:ey,default:{model:"Xenova/owlvit-base-patch32"},type:"multimodal"},"document-question-answering":{tokenizer:a.t2,pipeline:eD,model:o.DcG,processor:ey,default:{model:"Xenova/donut-base-finetuned-docvqa"},type:"multimodal"},"image-to-image":{pipeline:eH,model:o.S2d,processor:ey,default:{model:"Xenova/swin2SR-classical-sr-x2-64"},type:"image"},"depth-estimation":{pipeline:eW,model:o.hY6,processor:ey,default:{model:"Xenova/dpt-large"},type:"image"},"feature-extraction":{tokenizer:a.t2,pipeline:eB,model:o.$Sz,default:{model:"Xenova/all-MiniLM-L6-v2"},type:"text"},"image-feature-extraction":{processor:ey,pipeline:eU,model:[o.IFL,o.$Sz],default:{model:"Xenova/vit-base-patch16-224-in21k"},type:"image"}}),eJ=Object.freeze({"sentiment-analysis":"text-classification",ner:"token-classification",asr:"automatic-speech-recognition","text-to-speech":"text-to-audio",embeddings:"feature-extraction"});async function eY(e,t=null,{quantized:r=!0,progress_callback:n=null,config:i=null,cache_dir:s=null,local_files_only:a=!1,revision:o="main",model_file_name:h=null}={}){let u=eK[(e=eJ[e]??e).split("_",1)[0]];if(!u)throw Error(`Unsupported pipeline: ${e}. Must be one of [${Object.keys(eK)}]`);t||(t=u.default.model,console.log(`No model specified. Using default model: "${t}".`));let c=new Map([["tokenizer",u.tokenizer],["model",u.model],["processor",u.processor]]),f=await eZ(c,t,{quantized:r,progress_callback:n,config:i,cache_dir:s,local_files_only:a,revision:o,model_file_name:h});return f.task=e,(0,l.T2)(n,{status:"ready",task:e,model:t}),new u.pipeline(f)}async function eZ(e,t,r){let n=Object.create(null),i=[];for(let[s,a]of e.entries()){let e;a&&(e=Array.isArray(a)?new Promise(async(e,n)=>{let i;for(let n of a){if(null===n){e(null);return}try{e(await n.from_pretrained(t,r));return}catch(e){i=e}}n(i)}):a.from_pretrained(t,r),n[s]=e,i.push(e))}for(let[e,t]of(await Promise.all(i),Object.entries(n)))n[e]=await t;return n}r(16)},761:function(e,t,r){"use strict";function n(e,t){e&&e(t)}function i(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[t,e]))}function s(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}r.d(t,{$2:function(){return i},Ag:function(){return a},Gg:function(){return h},O7:function(){return d},Sw:function(){return c},T2:function(){return n},Wy:function(){return l},eG:function(){return f},fU:function(){return o},hr:function(){return s},hs:function(){return p},jg:function(){return u}});let a=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 o(e){return e?.prototype?.__proto__?.constructor?.name==="TypedArray"}function l(e){return Number.isInteger(e)||"bigint"==typeof e}function h(e){return null!=e}function u(e){let t=[],r=e;for(;Array.isArray(r);)t.push(r.length),r=r[0];return t}function c(e,t,r){let n=e[t];if(void 0!==n)return delete e[t],n;if(void 0===r)throw Error(`Key ${t} does not exist in object.`);return r}function f(...e){return Array.prototype.concat.apply([],e)}function d(...e){return e.reduce((e,t)=>e.flatMap(e=>t.map(t=>[e,t])))}function p(e,t){return Math.abs((e+t)%(2*t)-t)}},1510:function(e,t,r){"use strict";r.d(t,{GA:function(){return i},Z3:function(){return n},pQ:function(){return a}});class n{constructor(e=(e,t)=>e>t){this._heap=[],this._comparator=e}get size(){return this._heap.length}isEmpty(){return 0===this.size}peek(){return this._heap[0]}push(...e){return this.extend(e)}extend(e){for(let t of e)this._heap.push(t),this._siftUp();return this.size}pop(){let e=this.peek(),t=this.size-1;return t>0&&this._swap(0,t),this._heap.pop(),this._siftDown(),e}replace(e){let t=this.peek();return this._heap[0]=e,this._siftDown(),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 r=this._heap[e];this._heap[e]=this._heap[t],this._heap[t]=r}_siftUp(){let e=this.size-1;for(;e>0&&this._greater(e,this._parent(e));)this._swap(e,this._parent(e)),e=this._parent(e)}_siftDown(){let e=0;for(;this._left(e)<this.size&&this._greater(this._left(e),e)||this._right(e)<this.size&&this._greater(this._right(e),e);){let t=this._right(e)<this.size&&this._greater(this._right(e),this._left(e))?this._right(e):this._left(e);this._swap(e,t),e=t}}}class i{constructor(){this.root=s.default()}extend(e){for(let t of e)this.push(t)}push(e){let t=this.root;for(let r of e){let e=t.children.get(r);void 0===e&&(e=s.default(),t.children.set(r,e)),t=e}t.isLeaf=!0}*commonPrefixSearch(e){let t=this.root,r="";for(let n=0;n<e.length&&void 0!==t;++n){let i=e[n];r+=i,void 0!==(t=t.children.get(i))&&t.isLeaf&&(yield r)}}}class s{constructor(e,t){this.isLeaf=e,this.children=t}static default(){return new s(!1,new Map)}}class a{constructor(e,t,r){this.sentence=e,this.len=e.length,this.bosTokenId=t,this.eosTokenId=r,this.nodes=[],this.beginNodes=Array.from({length:this.len+1},()=>[]),this.endNodes=Array.from({length:this.len+1},()=>[]);let n=new o(this.bosTokenId,0,0,0,0),i=new o(this.eosTokenId,1,this.len,0,0);this.nodes.push(n.clone()),this.nodes.push(i.clone()),this.beginNodes[this.len].push(i),this.endNodes[0].push(n)}insert(e,t,r,n){let i=new o(n,this.nodes.length,e,t,r);this.beginNodes[e].push(i),this.endNodes[e+t].push(i),this.nodes.push(i)}viterbi(){let e=this.len,t=0;for(;t<=e;){if(0==this.beginNodes[t].length)return[];for(let e of this.beginNodes[t]){e.prev=null;let r=0,n=null;for(let i of this.endNodes[t]){let t=i.backtraceScore+e.score;(null===n||t>r)&&(n=i.clone(),r=t)}if(null===n)return[];e.prev=n,e.backtraceScore=r}++t}let r=[],n=this.beginNodes[e][0].prev;if(null===n)return[];let i=n.clone();for(;null!==i.prev;)r.push(i.clone()),i=i.clone().prev.clone();return r.reverse(),r}piece(e){return this.sentence.slice(e.pos,e.pos+e.length)}tokens(){return this.viterbi().map(e=>this.piece(e))}tokenIds(){return this.viterbi().map(e=>e.tokenId)}}class o{constructor(e,t,r,n,i){this.tokenId=e,this.nodeId=t,this.pos=r,this.length=n,this.score=i,this.prev=null,this.backtraceScore=0}clone(){let e=new o(this.tokenId,this.nodeId,this.pos,this.length,this.score);return e.prev=this.prev,e.backtraceScore=this.backtraceScore,e}}},5774:function(e,t,r){"use strict";r.d(t,{AE:function(){return g},C9:function(){return l},CJ:function(){return m},E:function(){return o},GU:function(){return u},Jj:function(){return d},Jm:function(){return s},Pg:function(){return c},Z4:function(){return w},aP:function(){return _},dZ:function(){return h},ez:function(){return p},jF:function(){return f}}),r(2414);var n=r(761),i=r(8709);class s extends n.Ag{constructor(){super(),this.processors=[]}push(e){this.processors.push(e)}extend(e){this.processors.push(...e)}_call(e,t){for(let r of t)this.processors.forEach(t=>t(e,r))}[Symbol.iterator](){return this.processors.values()}}class a extends n.Ag{_call(e,t){throw Error("`_call` should be implemented in a subclass")}}class o extends a{constructor(e){super(),this.force_token_map=Object.fromEntries(e??[])}_call(e,t){let r=this.force_token_map[e.length];return(0,n.Gg)(r)&&(t.data.fill(-1/0),t.data[r]=0),t}}class l extends a{constructor(e){super(),this.bos_token_id=e}_call(e,t){return 1===e.length&&(t.data.fill(-1/0),t.data[this.bos_token_id]=0),t}}class h extends a{constructor(e,t){super(),this.max_length=e,this.forced_eos_token_id=t}_call(e,t){}}class u extends a{constructor(e,t){super(),this.begin_suppress_tokens=e,this.begin_index=t}_call(e,t){if(e.length===this.begin_index)for(let e of this.begin_suppress_tokens)t.data[e]=-1/0;return t}}class c extends a{constructor(e){super(),this.eos_token_id=e.eos_token_id,this.no_timestamps_token_id=e.no_timestamps_token_id,this.timestamp_begin=this.no_timestamps_token_id+1,this.begin_index=(e.forced_decoder_ids||[]).length+2,e.forced_decoder_ids.slice(-1)[0][1]===this.no_timestamps_token_id&&(this.begin_index-=1),this.max_initial_timestamp_index=e.max_initial_timestamp_index}_call(e,t){let r=t.data;if(r[this.no_timestamps_token_id]=-1/0,e.length===this.begin_index-1)return r.fill(-1/0),r[this.timestamp_begin]=0,t;let n=e.slice(this.begin_index),s=n.length>=1&&n[n.length-1]>=this.timestamp_begin,a=n.length<2||n[n.length-2]>=this.timestamp_begin;if(s&&(a?r.subarray(this.timestamp_begin).fill(-1/0):r.subarray(0,this.eos_token_id).fill(-1/0)),e.length===this.begin_index&&null!==this.max_initial_timestamp_index){let e=this.timestamp_begin+this.max_initial_timestamp_index;r.subarray(e+1).fill(-1/0)}let o=(0,i.CI)(r);return Math.log(o.subarray(this.timestamp_begin).map(Math.exp).reduce((e,t)=>e+t))>(0,i.Fp)(o.subarray(0,this.timestamp_begin))[0]&&r.subarray(0,this.timestamp_begin).fill(-1/0),t}}class f extends a{constructor(e){super(),this.no_repeat_ngram_size=e}getNgrams(e){let t=e.length,r=[];for(let n=0;n<t+1-this.no_repeat_ngram_size;++n){let t=[];for(let r=0;r<this.no_repeat_ngram_size;++r)t.push(e[n+r]);r.push(t)}let n=new Map;for(let e of r){let t=JSON.stringify(e.slice(0,e.length-1)),r=n.get(t)??[];r.push(e[e.length-1]),n.set(t,r)}return n}getGeneratedNgrams(e,t){let r=t.slice(t.length+1-this.no_repeat_ngram_size,t.length);return e.get(JSON.stringify(r))??[]}calcBannedNgramTokens(e){if(e.length+1<this.no_repeat_ngram_size)return[];{let t=this.getNgrams(e);return this.getGeneratedNgrams(t,e)}}_call(e,t){for(let r of this.calcBannedNgramTokens(e))t.data[r]=-1/0;return t}}class d extends a{constructor(e){super(),this.penalty=e}_call(e,t){for(let r of e)t.data[r]<0?t.data[r]*=this.penalty:t.data[r]/=this.penalty;return t}}class p extends a{constructor(e,t){super(),this.min_length=e,this.eos_token_id=Array.isArray(t)?t:[t]}_call(e,t){if(e.length<this.min_length)for(let e of this.eos_token_id)t.data[e]=-1/0;return t}}class m extends a{constructor(e,t,r){super(),this.prompt_length_to_skip=e,this.min_new_tokens=t,this.eos_token_id=Array.isArray(r)?r:[r]}_call(e,t){if(e.length-this.prompt_length_to_skip<this.min_new_tokens)for(let e of this.eos_token_id)t.data[e]=-1/0;return t}}class g extends a{constructor(e,t){super(),this.bad_words_ids=e,this.eos_token_id=Array.isArray(t)?t:[t]}_call(e,t){for(let r of this.bad_words_ids){let n=!0;for(let t=1;t<=r.length-1&&r.length<e.length;++t)if(r.at(-t-1)!==e.at(-t)){n=!1;break}n&&(t.data[r.at(-1)]=-1/0)}return t}}let _=class{constructor(e={}){this.max_length=e.max_length??20,this.max_new_tokens=e.max_new_tokens??null,this.min_length=e.min_length??0,this.min_new_tokens=e.min_new_tokens??null,this.early_stopping=e.early_stopping??!1,this.max_time=e.max_time??null,this.do_sample=e.do_sample??!1,this.num_beams=e.num_beams??1,this.num_beam_groups=e.num_beam_groups??1,this.penalty_alpha=e.penalty_alpha??null,this.use_cache=e.use_cache??!0,this.temperature=e.temperature??1,this.top_k=e.top_k??50,this.top_p=e.top_p??1,this.typical_p=e.typical_p??1,this.epsilon_cutoff=e.epsilon_cutoff??0,this.eta_cutoff=e.eta_cutoff??0,this.diversity_penalty=e.diversity_penalty??0,this.repetition_penalty=e.repetition_penalty??1,this.encoder_repetition_penalty=e.encoder_repetition_penalty??1,this.length_penalty=e.length_penalty??1,this.no_repeat_ngram_size=e.no_repeat_ngram_size??0,this.bad_words_ids=e.bad_words_ids??null,this.force_words_ids=e.force_words_ids??null,this.renormalize_logits=e.renormalize_logits??!1,this.constraints=e.constraints??null,this.forced_bos_token_id=e.forced_bos_token_id??null,this.forced_eos_token_id=e.forced_eos_token_id??null,this.remove_invalid_values=e.remove_invalid_values??!1,this.exponential_decay_length_penalty=e.exponential_decay_length_penalty??null,this.suppress_tokens=e.suppress_tokens??null,this.begin_suppress_tokens=e.begin_suppress_tokens??null,this.forced_decoder_ids=e.forced_decoder_ids??null,this.num_return_sequences=e.num_return_sequences??1,this.output_attentions=e.output_attentions??!1,this.output_hidden_states=e.output_hidden_states??!1,this.output_scores=e.output_scores??!1,this.return_dict_in_generate=e.return_dict_in_generate??!1,this.pad_token_id=e.pad_token_id??null,this.bos_token_id=e.bos_token_id??null,this.eos_token_id=e.eos_token_id??null,this.encoder_no_repeat_ngram_size=e.encoder_no_repeat_ngram_size??0,this.decoder_start_token_id=e.decoder_start_token_id??null,this.generation_kwargs=e.generation_kwargs??{}}};class w extends n.Ag{constructor(e){super(),this.generation_config=e}_call(e,t=-1){return this.sample(e,t)}sample(e,t){throw Error("sample should be implemented in subclasses.")}getLogits(e,t){let r=e.dims.at(-1),n=e.data;if(-1===t)n=n.slice(-r);else{let e=t*r;n=n.slice(e,e+r)}return this.generation_config.temperature>0&&(n=n.map(e=>e/this.generation_config.temperature)),n}randomSelect(e){let t=Math.random()*e.reduce((e,t)=>e+t,0);for(let r=0;r<e.length;++r)if((t-=e[r])<=0)return r;return 0}static getSampler(e){if(e.do_sample)return new v(e);if(e.num_beams>1)return new b(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 y(e)}}class y extends w{sample(e,t=-1){let r=this.getLogits(e,t);return[[(0,i.Fp)(r)[1],0]]}}class v extends w{sample(e,t=-1){let r=e.dims.at(-1);this.generation_config.top_k>0&&(r=Math.min(this.generation_config.top_k,r));let n=this.getLogits(e,t),s=(0,i.em)(n,r),a=(0,i.XA)(s.map(e=>e[1]));return Array.from({length:this.generation_config.num_beams},()=>{let e=this.randomSelect(a);return[s[e][0],Math.log(a[e])]})}}class b extends w{sample(e,t=-1){let r=e.dims.at(-1);this.generation_config.top_k>0&&(r=Math.min(this.generation_config.top_k,r));let n=this.getLogits(e,t),s=(0,i.em)(n,r),a=(0,i.XA)(s.map(e=>e[1]));return Array.from({length:this.generation_config.num_beams},(e,t)=>[s[t][0],Math.log(a[t])])}}},911:function(e,t,r){"use strict";r.d(t,{hn:function(){return c},st:function(){return m},yM:function(){return g}});var n=r(7147),i=r(1418),s=r(851),a=r(761),o=r(357),l=r(9109).lW;class h{_CONTENT_TYPE_MAP={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"};constructor(e){if(this.filePath=e,this.headers=new Headers,this.exists=n.existsSync(e),this.exists){this.status=200,this.statusText="OK";let t=n.statSync(e);this.headers.set("content-length",t.size.toString()),this.updateContentType();let r=this;this.body=new ReadableStream({start(e){r.arrayBuffer().then(t=>{e.enqueue(new Uint8Array(t)),e.close()})}})}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",this._CONTENT_TYPE_MAP[e]??"application/octet-stream")}clone(){let e=new h(this.filePath);return e.exists=this.exists,e.status=this.status,e.statusText=this.statusText,e.headers=new Headers(this.headers),e}async arrayBuffer(){return(await n.promises.readFile(this.filePath)).buffer}async blob(){return new Blob([await n.promises.readFile(this.filePath)],{type:this.headers.get("content-type")})}async text(){return await n.promises.readFile(this.filePath,"utf8")}async json(){return JSON.parse(await this.text())}}function u(e,t=null,r=null){let n;try{n=new URL(e)}catch(e){return!1}return(!t||!!t.includes(n.protocol))&&(!r||!!r.includes(n.hostname))}async function c(e){if(s.O.useFS&&!u(e,["http:","https:","blob:"]))return new h(e);if(void 0===o||o?.release?.name!=="node")return fetch(e);{let t=!!o.env?.TESTING_REMOTELY,r=s.O.version,n=new Headers;if(n.set("User-Agent",`transformers.js/${r}; is_ci/${t};`),u(e,["http:","https:"],["huggingface.co","hf.co"])){let e=o.env?.HF_TOKEN??o.env?.HF_ACCESS_TOKEN;e&&n.set("Authorization",`Bearer ${e}`)}return fetch(e,{headers:n})}}let f={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"};class d{constructor(e){this.path=e}async match(e){let t=new h(i.join(this.path,e));return t.exists?t:void 0}async put(e,t){let r=l.from(await t.arrayBuffer()),s=i.join(this.path,e);try{await n.promises.mkdir(i.dirname(s),{recursive:!0}),await n.promises.writeFile(s,r)}catch(e){console.warn("An error occurred while writing the file to cache:",e)}}}async function p(e,...t){for(let r of t)try{let t=await e.match(r);if(t)return t}catch(e){continue}}async function m(e,t,r=!0,n={}){let i,o,l,h;if(!s.O.allowLocalModels){if(n.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(!s.O.allowRemoteModels)throw Error("Invalid configuration detected: both local and remote models are disabled. Fix by setting `env.allowLocalModels` or `env.allowRemoteModels` to `true`.")}if((0,a.T2)(n.progress_callback,{status:"initiate",name:e,file:t}),!i&&s.O.useBrowserCache){if("undefined"==typeof caches)throw Error("Browser cache is not available in this environment.");try{i=await caches.open("transformers-cache")}catch(e){console.warn("An error occurred while opening the browser cache:",e)}}if(!i&&s.O.useFSCache&&(i=new d(n.cache_dir??s.O.cacheDir)),!i&&s.O.useCustomCache){if(!s.O.customCache)throw Error("`env.useCustomCache=true`, but `env.customCache` is not defined.");if(!s.O.customCache.match||!s.O.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");i=s.O.customCache}let m=n.revision??"main",g=w(e,t),y=w(s.O.localModelPath,g),v=w(s.O.remoteHost,s.O.remotePathTemplate.replaceAll("{model}",e).replaceAll("{revision}",encodeURIComponent(m)),t),b="main"===m?g:w(e,m,t),x=i instanceof d?b:v,E=!1;i&&(l=await p(i,y,x));let k=void 0!==l;if(void 0===l){if(s.O.allowLocalModels){if(u(g,["http:","https:"])){if(n.local_files_only)throw Error(`\`local_files_only=true\`, but attempted to load a remote file from: ${g}.`);if(!s.O.allowRemoteModels)throw Error(`\`env.allowRemoteModels=false\`, but attempted to load a remote file from: ${g}.`)}else try{l=await c(y),o=y}catch(e){console.warn(`Unable to load from local path "${y}": "${e}"`)}}if(void 0===l||404===l.status){if(n.local_files_only||!s.O.allowRemoteModels){if(!r)return null;throw Error(`\`local_files_only=true\` or \`env.allowRemoteModels=false\` and file was not found locally at "${y}".`)}if(200!==(l=await c(v)).status)return function(e,t,r){if(!r)return null;let n=f[e]??`Error (${e}) occurred while trying to load file`;throw Error(`${n}: "${t}".`)}(l.status,v,r);o=x}E=i&&"undefined"!=typeof Response&&l instanceof Response&&200===l.status}(0,a.T2)(n.progress_callback,{status:"download",name:e,file:t});let A={status:"progress",name:e,file:t};return n.progress_callback?k&&"undefined"!=typeof navigator&&/firefox/i.test(navigator.userAgent)?(h=new Uint8Array(await l.arrayBuffer()),(0,a.T2)(n.progress_callback,{...A,progress:100,loaded:h.length,total:h.length})):h=await _(l,e=>{(0,a.T2)(n.progress_callback,{...A,...e})}):h=new Uint8Array(await l.arrayBuffer()),E&&o&&await i.match(o)===void 0&&await i.put(o,new Response(h,{headers:l.headers})).catch(e=>{console.warn(`Unable to add response to browser cache: ${e}.`)}),(0,a.T2)(n.progress_callback,{status:"done",name:e,file:t}),h}async function g(e,t,r=!0,n={}){let i=await m(e,t,r,n);return null===i?{}:JSON.parse(new TextDecoder("utf-8").decode(i))}async function _(e,t){let r=e.headers.get("Content-Length");null===r&&console.warn("Unable to determine content-length from response headers. Will expand buffer when needed.");let n=parseInt(r??"0"),i=new Uint8Array(n),s=0,a=e.body.getReader();async function o(){let{done:e,value:r}=await a.read();if(e)return;let l=s+r.length;if(l>n){let e=new Uint8Array(n=l);e.set(i),i=e}return i.set(r,s),t({progress:(s=l)/n*100,loaded:s,total:n}),o()}return await o(),i}function w(...e){return(e=e.map((t,r)=>(r&&(t=t.replace(RegExp("^/"),"")),r!==e.length-1&&(t=t.replace(RegExp("/$"),"")),t))).join("/")}},8709:function(e,t,r){"use strict";function n(e,[t,r,n],[i,s],a="bilinear",o=!1){let l=s/n,h=i/r,u=new e.constructor(i*s*t),c=r*n,f=i*s;for(let a=0;a<i;++a)for(let i=0;i<s;++i){let o=a*s+i,d=(i+.5)/l-.5,p=(a+.5)/h-.5,m=Math.floor(d),g=Math.floor(p),_=Math.min(m+1,n-1),w=Math.min(g+1,r-1),y=d-(m=Math.max(m,0)),v=p-(g=Math.max(g,0)),b=(1-y)*(1-v),x=y*(1-v),E=(1-y)*v,k=y*v,A=g*n,z=w*n,C=A+m,M=A+_,I=z+m,O=z+_;for(let r=0;r<t;++r){let t=r*c;u[r*f+o]=b*e[t+C]+x*e[t+M]+E*e[t+I]+k*e[t+O]}}return u}function i(e,t,r){let n=Array(r.length),i=Array(r.length);for(let e=r.length-1,s=1;e>=0;--e)i[e]=s,n[e]=t[r[e]],s*=n[e];let s=r.map((e,t)=>i[r.indexOf(t)]),a=new e.constructor(e.length);for(let r=0;r<e.length;++r){let n=0;for(let e=t.length-1,i=r;e>=0;--e)n+=i%t[e]*s[e],i=Math.floor(i/t[e]);a[n]=e[r]}return[a,n]}function s(e){let t=h(e)[0],r=e.map(e=>Math.exp(e-t)),n=r.reduce((e,t)=>e+t,0);return r.map(e=>e/n)}function a(e){return s(e).map(e=>Math.log(e))}function o(e,t=0){return e=Array.from(e).map((e,t)=>[t,e]).sort((e,t)=>t[1]-e[1]),null!==t&&t>0&&(e=e.slice(0,t)),e}function l(e){if(0===e.length)throw Error("Array must not be empty");let t=e[0],r=0;for(let n=1;n<e.length;++n)e[n]<t&&(t=e[n],r=n);return[t,r]}function h(e){if(0===e.length)throw Error("Array must not be empty");let t=e[0],r=0;for(let n=1;n<e.length;++n)e[n]>t&&(t=e[n],r=n);return[Number(t),r]}function u(e){return e>0&&(e&e-1)==0}r.d(t,{CI:function(){return a},Fp:function(){return h},NM:function(){return m},Nq:function(){return n},VV:function(){return l},XA:function(){return s},eT:function(){return g},em:function(){return o},nu:function(){return i},qC:function(){return p},vw:function(){return d}});class c{constructor(e){if(this.size=0|e,this.size<=1||!u(this.size))throw Error("FFT size must be a power of two larger than 1");this._csize=e<<1,this.table=new Float64Array(2*this.size);for(let e=0;e<this.table.length;e+=2){let t=Math.PI*e/this.size;this.table[e]=Math.cos(t),this.table[e+1]=-Math.sin(t)}let t=0;for(let e=1;this.size>e;e<<=1)++t;this._width=t%2==0?t-1:t,this._bitrev=new Int32Array(1<<this._width);for(let e=0;e<this._bitrev.length;++e){this._bitrev[e]=0;for(let t=0;t<this._width;t+=2){let r=this._width-t-2;this._bitrev[e]|=(e>>>t&3)<<r}}}createComplexArray(){return new Float64Array(this._csize)}fromComplexArray(e,t){let r=t||Array(e.length>>>1);for(let t=0;t<e.length;t+=2)r[t>>>1]=e[t];return r}toComplexArray(e,t){let r=t||this.createComplexArray();for(let t=0;t<r.length;t+=2)r[t]=e[t>>>1],r[t+1]=0;return r}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<e.length;++t)e[t]/=this.size}_transform4(e,t,r){let n,i;let s=this._csize,a=1<<this._width,o=s/a<<1,l=this._bitrev;if(4===o)for(n=0,i=0;n<s;n+=o,++i){let r=l[i];this._singleTransform2(t,e,n,r,a)}else for(n=0,i=0;n<s;n+=o,++i){let s=l[i];this._singleTransform4(t,e,n,s,a,r)}let h=this.table;for(a>>=2;a>=2;a>>=2){let t=(o=s/a<<1)>>>2;for(n=0;n<s;n+=o){let i=n+t-1;for(let s=n,o=0;s<i;s+=2,o+=a){let n=s,i=n+t,a=i+t,l=a+t,u=e[n],c=e[n+1],f=e[i],d=e[i+1],p=e[a],m=e[a+1],g=e[l],_=e[l+1],w=h[o],y=r*h[o+1],v=f*w-d*y,b=f*y+d*w,x=h[2*o],E=r*h[2*o+1],k=p*x-m*E,A=p*E+m*x,z=h[3*o],C=r*h[3*o+1],M=g*z-_*C,I=g*C+_*z,O=u+k,S=c+A,$=u-k,T=c-A,B=v+M,U=b+I,F=r*(v-M),j=r*(b-I);e[n]=O+B,e[n+1]=S+U,e[i]=$+j,e[i+1]=T-F,e[a]=O-B,e[a+1]=S-U,e[l]=$-j,e[l+1]=T+F}}}}_singleTransform2(e,t,r,n,i){let s=e[n],a=e[n+1],o=e[n+i],l=e[n+i+1];t[r]=s+o,t[r+1]=a+l,t[r+2]=s-o,t[r+3]=a-l}_singleTransform4(e,t,r,n,i,s){let a=2*i,o=3*i,l=e[n],h=e[n+1],u=e[n+i],c=e[n+i+1],f=e[n+a],d=e[n+a+1],p=e[n+o],m=e[n+o+1],g=l+f,_=h+d,w=l-f,y=h-d,v=u+p,b=c+m,x=s*(u-p),E=s*(c-m);t[r]=g+v,t[r+1]=_+b,t[r+2]=w+E,t[r+3]=y-x,t[r+4]=g-v,t[r+5]=_-b,t[r+6]=w-E,t[r+7]=y+x}_realTransform4(e,t,r){let n,i;let s=this._csize,a=1<<this._width,o=s/a<<1,l=this._bitrev;if(4===o)for(n=0,i=0;n<s;n+=o,++i){let r=l[i];this._singleRealTransform2(t,e,n,r>>>1,a>>>1)}else for(n=0,i=0;n<s;n+=o,++i){let s=l[i];this._singleRealTransform4(t,e,n,s>>>1,a>>>1,r)}let h=this.table;for(a>>=2;a>=2;a>>=2){let t=(o=s/a<<1)>>>1,i=t>>>1,l=i>>>1;for(n=0;n<s;n+=o)for(let s=0,o=0;s<=l;s+=2,o+=a){let a=n+s,u=a+i,c=u+i,f=c+i,d=e[a],p=e[a+1],m=e[u],g=e[u+1],_=e[c],w=e[c+1],y=e[f],v=e[f+1],b=h[o],x=r*h[o+1],E=m*b-g*x,k=m*x+g*b,A=h[2*o],z=r*h[2*o+1],C=_*A-w*z,M=_*z+w*A,I=h[3*o],O=r*h[3*o+1],S=y*I-v*O,$=y*O+v*I,T=d+C,B=p+M,U=d-C,F=p-M,j=E+S,L=k+$,N=r*(E-S),R=r*(k-$);if(e[a]=T+j,e[a+1]=B+L,e[u]=U+R,e[u+1]=F-N,0===s){e[c]=T-j,e[c+1]=B-L;continue}if(s===l)continue;let P=n+i-s,q=n+t-s;e[P]=U-r*R,e[P+1]=-F-r*N,e[q]=T-r*j,e[q+1]=-B+r*L}}let u=s>>>1;for(let t=2;t<u;t+=2)e[s-t]=e[t],e[s-t+1]=-e[t+1]}_singleRealTransform2(e,t,r,n,i){let s=e[n],a=e[n+i];t[r]=s+a,t[r+1]=0,t[r+2]=s-a,t[r+3]=0}_singleRealTransform4(e,t,r,n,i,s){let a=e[n],o=e[n+i],l=e[n+2*i],h=e[n+3*i],u=a+l,c=a-l,f=o+h,d=s*(o-h);t[r]=u+f,t[r+1]=0,t[r+2]=c,t[r+3]=-d,t[r+4]=u-f,t[r+5]=0,t[r+6]=c,t[r+7]=d}}class f{constructor(e){let t=2*(e-1),r=2*(2*e-1),n=2**Math.ceil(Math.log2(r));this.bufferSize=n,this._a=t;let i=new Float64Array(r),s=new Float64Array(n);this._chirpBuffer=new Float64Array(n),this._buffer1=new Float64Array(n),this._buffer2=new Float64Array(n),this._outBuffer1=new Float64Array(n),this._outBuffer2=new Float64Array(n);let a=-2*Math.PI/e,o=Math.cos(a),l=Math.sin(a);for(let t=0;t<r>>1;++t){let r=(t+1-e)**2/2,n=Math.sqrt(o**2+l**2)**r,a=r*Math.atan2(l,o),h=2*t;i[h]=n*Math.cos(a),i[h+1]=n*Math.sin(a),s[h]=i[h],s[h+1]=-i[h+1]}this._slicedChirpBuffer=i.subarray(t,r),this._f=new c(n>>1),this._f.transform(this._chirpBuffer,s)}_transform(e,t,r){let n=this._buffer1,i=this._buffer2,s=this._outBuffer1,a=this._outBuffer2,o=this._chirpBuffer,l=this._slicedChirpBuffer,h=this._a;if(r)for(let e=0;e<l.length;e+=2){let r=e+1,i=t[e>>1];n[e]=i*l[e],n[r]=i*l[r]}else for(let e=0;e<l.length;e+=2){let r=e+1;n[e]=t[e]*l[e]-t[r]*l[r],n[r]=t[e]*l[r]+t[r]*l[e]}this._f.transform(s,n);for(let e=0;e<o.length;e+=2){let t=e+1;i[e]=s[e]*o[e]-s[t]*o[t],i[t]=s[e]*o[t]+s[t]*o[e]}this._f.inverseTransform(a,i);for(let t=0;t<a.length;t+=2){let r=a[t+h],n=a[t+h+1],i=l[t],s=l[t+1];e[t]=r*i-n*s,e[t+1]=r*s+n*i}}transform(e,t){this._transform(e,t,!1)}realTransform(e,t){this._transform(e,t,!0)}}class d{constructor(e){this.fft_length=e,this.isPowerOfTwo=u(e),this.isPowerOfTwo?(this.fft=new c(e),this.outputBufferSize=2*e):(this.fft=new f(e),this.outputBufferSize=this.fft.bufferSize)}realTransform(e,t){this.fft.realTransform(e,t)}transform(e,t){this.fft.transform(e,t)}}function p(e,t){if(t%2==0||t<=0)throw Error("Window size must be a positive odd number");let r=new e.constructor(e.length),n=new e.constructor(t),i=Math.floor(t/2);for(let t=0;t<e.length;++t){let s=0;for(let r=-i;r<=i;++r){let i=t+r;i<0?i=Math.abs(i):i>=e.length&&(i=2*(e.length-1)-i),n[s++]=e[i]}n.sort(),r[t]=n[i]}return r}function m(e,t){let r=Math.pow(10,t);return Math.round(e*r)/r}function g(e){let t=Math.round(e);return Math.abs(e)%1==.5?t%2==0?t:t-1:t}},2414:function(e,t,r){"use strict";r.d(t,{J6:function(){return g},Ks:function(){return _},d3:function(){return d},e:function(){return y},es:function(){return o},f3:function(){return m},kn:function(){return p},r6:function(){return w},sX:function(){return l},v6:function(){return h}});var n=r(1542),i=r(8709);let s=Object.freeze({float32:Float32Array,float64:Float64Array,string:Array,int8:Int8Array,uint8:Uint8Array,int16:Int16Array,uint16:Uint16Array,int32:Int32Array,uint32:Uint32Array,int64:BigInt64Array,uint64:BigUint64Array,bool:Uint8Array}),a=n.ONNX.Tensor;class o{dims;type;data;size;constructor(...e){return e[0]instanceof a?Object.assign(this,e[0]):Object.assign(this,new a(e[0],e[1],e[2])),new Proxy(this,{get:(e,t)=>{if("string"==typeof t){let r=Number(t);if(Number.isInteger(r))return e._getitem(r)}return e[t]},set:(e,t,r)=>e[t]=r})}*[Symbol.iterator](){let[e,...t]=this.dims;if(t.length>0){let r=t.reduce((e,t)=>e*t);for(let n=0;n<e;++n)yield this._subarray(n,r,t)}else yield*this.data}_getitem(e){let[t,...r]=this.dims;if(e=f(e,t),!(r.length>0))return new o(this.type,[this.data[e]],r);{let t=r.reduce((e,t)=>e*t);return this._subarray(e,t,r)}}indexOf(e){for(let t=0;t<this.data.length;++t)if(this.data[t]==e)return t;return -1}_subarray(e,t,r){let n=e*t,i=(e+1)*t,s="subarray"in this.data?this.data.subarray(n,i):this.data.slice(n,i);return new o(this.type,s,r)}item(){if(1!==this.data.length)throw Error(`a Tensor with ${this.data.length} elements cannot be converted to Scalar`);return this.data[0]}tolist(){return function(e,t){let r=e.length;if(r!==t.reduce((e,t)=>e*t))throw Error(`cannot reshape array of size ${r} into shape (${t})`);let n=e;for(let e=t.length-1;e>=0;e--)n=n.reduce((r,n)=>{let i=r[r.length-1];return i.length<t[e]?i.push(n):r.push([n]),r},[[]]);return n[0]}(this.data,this.dims)}sigmoid(){return this.clone().sigmoid_()}sigmoid_(){for(let e=0;e<this.data.length;++e)this.data[e]=1/(1+Math.exp(-this.data[e]));return this}mul(e){return this.clone().mul_(e)}mul_(e){for(let t=0;t<this.data.length;++t)this.data[t]*=e;return this}add(e){return this.clone().add_(e)}add_(e){for(let t=0;t<this.data.length;++t)this.data[t]+=e;return this}clone(){return new o(this.type,this.data.slice(),this.dims.slice())}slice(...e){let t=[],r=[];for(let n=0;n<this.dims.length;++n){let i=e[n];if(null==i)r.push([0,this.dims[n]]),t.push(this.dims[n]);else if("number"==typeof i)i=f(i,this.dims[n],n),r.push([i,i+1]);else if(Array.isArray(i)&&2===i.length){if(i[0]>i[1])throw Error(`Invalid slice: ${i}`);let e=[Math.max(i[0],0),Math.min(i[1],this.dims[n])];r.push(e),t.push(e[1]-e[0])}else throw Error(`Invalid slice: ${i}`)}let n=r.map(([e,t])=>t-e),i=n.reduce((e,t)=>e*t),s=new this.data.constructor(i),a=this.stride();for(let e=0;e<i;++e){let t=0;for(let i=n.length-1,s=e;i>=0;--i){let e=n[i];t+=(s%e+r[i][0])*a[i],s=Math.floor(s/e)}s[e]=this.data[t]}return new o(this.type,s,t)}permute(...e){return function(e,t){let[r,n]=(0,i.nu)(e.data,e.dims,t);return new o(e.type,r,n)}(this,e)}transpose(...e){return this.permute(...e)}sum(e=null,t=!1){return this.norm(1,e,t)}norm(e="fro",t=null,r=!1){if("fro"===e)e=2;else if("string"==typeof e)throw Error(`Unsupported norm: ${e}`);if(null===t){let t=this.data.reduce((t,r)=>t+r**e,0)**(1/e);return new o(this.type,[t],[])}t=f(t,this.dims.length);let n=this.dims.slice();n[t]=1;let i=new this.data.constructor(this.data.length/this.dims[t]);for(let r=0;r<this.data.length;++r){let s=0;for(let e=this.dims.length-1,i=r,a=1;e>=0;--e){let r=this.dims[e];e!==t&&(s+=i%r*a,a*=n[e]),i=Math.floor(i/r)}i[s]+=this.data[r]**e}if(1!==e)for(let t=0;t<i.length;++t)i[t]=i[t]**(1/e);return r||n.splice(t,1),new o(this.type,i,n)}normalize_(e=2,t=1){t=f(t,this.dims.length);let r=this.norm(e,t,!0);for(let e=0;e<this.data.length;++e){let n=0;for(let r=this.dims.length-1,i=e,s=1;r>=0;--r){let e=this.dims[r];r!==t&&(n+=i%e*s,s*=this.dims[r]),i=Math.floor(i/e)}this.data[e]/=r.data[n]}return this}normalize(e=2,t=1){return this.clone().normalize_(e,t)}stride(){return function(e){let t=Array(e.length);for(let r=e.length-1,n=1;r>=0;--r)t[r]=n,n*=e[r];return t}(this.dims)}squeeze(e=null){return new o(this.type,this.data,u(this.dims,e))}squeeze_(e=null){return this.dims=u(this.dims,e),this}unsqueeze(e=null){return new o(this.type,this.data,c(this.dims,e))}unsqueeze_(e=null){return this.dims=c(this.dims,e),this}flatten_(e=0,t=-1){t=(t+this.dims.length)%this.dims.length;let r=this.dims.slice(0,e),n=this.dims.slice(e,t+1),i=this.dims.slice(t+1);return this.dims=[...r,n.reduce((e,t)=>e*t,1),...i],this}flatten(e=0,t=-1){return this.clone().flatten_(e,t)}view(...e){let t=-1;for(let r=0;r<e.length;++r)if(-1===e[r]){if(-1!==t)throw Error("Only one dimension can be inferred");t=r}if(-1!==t){let r=e.reduce((e,r,n)=>n!==t?e*r:e,1);e[t]=this.data.length/r}return new o(this.type,this.data,e)}neg_(){for(let e=0;e<this.data.length;++e)this.data[e]=-this.data[e];return this}neg(){return this.clone().neg_()}clamp_(e,t){for(let r=0;r<this.data.length;++r)this.data[r]=Math.min(Math.max(this.data[r],e),t);return this}clamp(e,t){return this.clone().clamp_(e,t)}round_(){for(let e=0;e<this.data.length;++e)this.data[e]=Math.round(this.data[e]);return this}round(){return this.clone().round_()}to(e){if(this.type===e)return this;if(!s.hasOwnProperty(e))throw Error(`Unsupported type: ${e}`);return new o(e,s[e].from(this.data),this.dims)}}function l(e,[t,r],n="bilinear",s=!1){let a=e.dims.at(-3)??1,l=e.dims.at(-2),h=e.dims.at(-1),u=(0,i.Nq)(e.data,[a,l,h],[t,r],n,s);return new o(e.type,u,[a,t,r])}function h(e,t){let r=[e.dims[0],e.dims[2]],n=new e.data.constructor(r[0]*r[1]),[i,s,a]=e.dims,l=0;for(let r=0;r<i;++r){let i=r*a*s;for(let o=0;o<a;++o){let h=0,u=0,c=r*s,f=i+o;for(let r=0;r<s;++r){let n=Number(t.data[c+r]);u+=n,h+=e.data[f+r*a]*n}let d=h/u;n[l++]=d}}return new o(e.type,n,r)}function u(e,t){return e=e.slice(),null===t?e=e.filter(e=>1!==e):"number"==typeof t?1===e[t]&&e.splice(t,1):Array.isArray(t)&&(e=e.filter((e,r)=>1!==e||!t.includes(r))),e}function c(e,t){return t=f(t,e.length+1),(e=e.slice()).splice(t,0,1),e}function f(e,t,r=null){if(e<-t||e>=t)throw Error(`IndexError: index ${e} is out of bounds for dimension${null===r?"":" "+r} with size ${t}`);return e<0&&(e=(e%t+t)%t),e}function d(e,t=0){t=f(t,e[0].dims.length);let r=e[0].dims.slice();r[t]=e.reduce((e,r)=>e+r.dims[t],0);let n=r.reduce((e,t)=>e*t,1),i=new e[0].data.constructor(n),s=e[0].type;if(0===t){let t=0;for(let r of e)i.set(r.data,t),t+=r.data.length}else{let n=0;for(let s=0;s<e.length;++s){let a=e[s];for(let e=0;e<a.data.length;++e){let s=0;for(let i=a.dims.length-1,o=e,l=1;i>=0;--i){let e=a.dims[i],h=o%e;i===t&&(h+=n),s+=h*l,l*=r[i],o=Math.floor(o/e)}i[s]=a.data[e]}n+=a.dims[t]}}return new o(s,i,r)}function p(e,t=0){return d(e.map(e=>e.unsqueeze(t)),t)}function m(e,t=null,r=1,n=!1){if(null===t){let t=e.data.reduce((e,t)=>e+t,0)/e.data.length,n=Math.sqrt(e.data.reduce((e,r)=>e+(r-t)**2,0)/(e.data.length-r)),i=new o(e.type,[t],[]);return[new o(e.type,[n],[]),i]}t=f(t,e.dims.length);let i=g(e,t,n),s=e.dims.slice();s[t]=1;let a=new e.data.constructor(e.data.length/e.dims[t]);for(let r=0;r<e.data.length;++r){let n=0;for(let i=e.dims.length-1,a=r,o=1;i>=0;--i){let r=e.dims[i];i!==t&&(n+=a%r*o,o*=s[i]),a=Math.floor(a/r)}a[n]+=(e.data[r]-i.data[n])**2}for(let n=0;n<a.length;++n)a[n]=Math.sqrt(a[n]/(e.dims[t]-r));return n||s.splice(t,1),[new o(e.type,a,s),i]}function g(e,t=null,r=!1){if(null===t){let t=e.data.reduce((e,t)=>e+t,0);return new o(e.type,[t/e.data.length],[])}t=f(t,e.dims.length);let n=e.dims.slice();n[t]=1;let i=new e.data.constructor(e.data.length/e.dims[t]);for(let r=0;r<e.data.length;++r){let s=0;for(let i=e.dims.length-1,a=r,o=1;i>=0;--i){let r=e.dims[i];i!==t&&(s+=a%r*o,o*=n[i]),a=Math.floor(a/r)}i[s]+=e.data[r]}if(1!==e.dims[t])for(let r=0;r<i.length;++r)i[r]=i[r]/e.dims[t];return r||n.splice(t,1),new o(e.type,i,n)}function _(e){let[t,r]=e.dims,n=[t+1,r+1],i=new o("float32",new Float32Array(n[0]*n[1]).fill(1/0),n),s=new o("float32",new Float32Array(n[0]*n[1]).fill(-1),n);i[0].data[0]=0;for(let n=1;n<r+1;++n)for(let r=1;r<t+1;++r){let t,a;let o=i[r-1][n-1].item(),l=i[r-1][n].item(),h=i[r][n-1].item();o<l&&o<h?(t=o,a=0):l<o&&l<h?(t=l,a=1):(t=h,a=2),i[r].data[n]=e[r-1][n-1].item()+t,s[r].data[n]=a}let a=t,l=r;s.data.fill(2,0,n[1]);for(let e=0;e<n[0];++e)s[e].data[0]=1;let h=[],u=[];for(;a>0||l>0;)switch(h.push(a-1),u.push(l-1),s[a][l].item()){case 0:--a,--l;break;case 1:--a;break;case 2:--l;break;default:throw Error(`Internal error in dynamic time warping. Unexpected trace[${a}, ${l}]. Please file a bug report.`)}return h.reverse(),u.reverse(),[h,u]}function w(e){var t;return new o("int64",new BigInt64Array((t=e.dims).reduce((e,t)=>e*t,1)).fill(1n),t)}function y(e,t){if(2!==e.dims.length)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 r="binary"===t,n=r?Int8Array:Uint8Array,i=e.data,s=new n(i.length/8);for(let e=0;e<i.length;++e){let t=i[e]>0?1:0,n=Math.floor(e/8),a=e%8;s[n]|=t<<7-a,r&&0===a&&(s[n]-=128)}return new o(r?"int8":"uint8",s,[e.dims[0],e.dims[1]/8])}}}]); |