@minimalcorp/tsunagi 0.1.48 → 0.1.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/.next/standalone/apps/web/.next/BUILD_ID +1 -1
  2. package/.next/standalone/apps/web/.next/build-manifest.json +5 -5
  3. package/.next/standalone/apps/web/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/apps/web/.next/server/app/_global-error/page/build-manifest.json +2 -2
  5. package/.next/standalone/apps/web/.next/server/app/_global-error/page.js +1 -1
  6. package/.next/standalone/apps/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  7. package/.next/standalone/apps/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/apps/web/.next/server/app/_global-error.html +1 -1
  9. package/.next/standalone/apps/web/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  11. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  13. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  14. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/standalone/apps/web/.next/server/app/_not-found/page/build-manifest.json +2 -2
  16. package/.next/standalone/apps/web/.next/server/app/_not-found/page.js +1 -1
  17. package/.next/standalone/apps/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  18. package/.next/standalone/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/apps/web/.next/server/app/_not-found.html +1 -1
  20. package/.next/standalone/apps/web/.next/server/app/_not-found.rsc +13 -13
  21. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_full.segment.rsc +13 -13
  22. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  23. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_index.segment.rsc +8 -8
  24. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  25. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  26. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  27. package/.next/standalone/apps/web/.next/server/app/index.html +1 -1
  28. package/.next/standalone/apps/web/.next/server/app/index.rsc +15 -15
  29. package/.next/standalone/apps/web/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  30. package/.next/standalone/apps/web/.next/server/app/index.segments/_full.segment.rsc +15 -15
  31. package/.next/standalone/apps/web/.next/server/app/index.segments/_head.segment.rsc +4 -4
  32. package/.next/standalone/apps/web/.next/server/app/index.segments/_index.segment.rsc +8 -8
  33. package/.next/standalone/apps/web/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  34. package/.next/standalone/apps/web/.next/server/app/page/build-manifest.json +2 -2
  35. package/.next/standalone/apps/web/.next/server/app/page.js +1 -1
  36. package/.next/standalone/apps/web/.next/server/app/page.js.nft.json +1 -1
  37. package/.next/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/apps/web/.next/server/app/settings/page/build-manifest.json +2 -2
  39. package/.next/standalone/apps/web/.next/server/app/settings/page.js +1 -1
  40. package/.next/standalone/apps/web/.next/server/app/settings/page.js.nft.json +1 -1
  41. package/.next/standalone/apps/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/apps/web/.next/server/app/settings.html +1 -1
  43. package/.next/standalone/apps/web/.next/server/app/settings.rsc +15 -15
  44. package/.next/standalone/apps/web/.next/server/app/settings.segments/_full.segment.rsc +15 -15
  45. package/.next/standalone/apps/web/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  46. package/.next/standalone/apps/web/.next/server/app/settings.segments/_index.segment.rsc +8 -8
  47. package/.next/standalone/apps/web/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  48. package/.next/standalone/apps/web/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
  49. package/.next/standalone/apps/web/.next/server/app/settings.segments/settings.segment.rsc +3 -3
  50. package/.next/standalone/apps/web/.next/server/app/tasks/[id]/page/build-manifest.json +2 -2
  51. package/.next/standalone/apps/web/.next/server/app/tasks/[id]/page.js +5 -4
  52. package/.next/standalone/apps/web/.next/server/app/tasks/[id]/page.js.nft.json +1 -1
  53. package/.next/standalone/apps/web/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__0h4wzcb._.js → [root-of-the-server]__0.c7m6m._.js} +2 -2
  55. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__02o_btn._.js +9 -0
  56. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__08uda78._.js +3 -0
  57. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0jj9045._.js +3 -0
  58. package/.next/standalone/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__09m_0f6._.js → [root-of-the-server]__0kpobap._.js} +2 -2
  59. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0m52zsj._.js +3 -0
  60. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0mo_9ei._.js +1 -1
  61. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0stter-._.js +4 -0
  62. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__11y.qj~._.js +3 -0
  63. package/.next/standalone/apps/web/.next/server/chunks/ssr/_00mhd_n._.js +7 -0
  64. package/.next/standalone/apps/web/.next/server/chunks/ssr/_0g.cd6a._.js +1 -1
  65. package/.next/standalone/apps/web/.next/server/chunks/ssr/_0i7y5ac._.js +3 -0
  66. package/.next/standalone/apps/web/.next/server/chunks/ssr/_0iscwmf._.js +14 -0
  67. package/.next/standalone/apps/web/.next/server/chunks/ssr/_0ldtf2a._.js +7 -0
  68. package/.next/standalone/apps/web/.next/server/chunks/ssr/_0ydcfna._.js +3 -0
  69. package/.next/standalone/apps/web/.next/server/chunks/ssr/_0z8pikg._.js +7 -0
  70. package/.next/standalone/apps/web/.next/server/chunks/ssr/_0zu_05y._.js +3 -0
  71. package/.next/standalone/apps/web/.next/server/chunks/ssr/apps_web_src_app_settings_page_tsx_0i6itlb._.js +1 -1
  72. package/.next/standalone/apps/web/.next/server/chunks/ssr/apps_web_src_app_tasks_[id]_page_tsx_0jshsm2._.js +12 -12
  73. package/.next/standalone/apps/web/.next/server/chunks/ssr/apps_web_src_app_tasks_layout_tsx_02s00ls._.js +3 -0
  74. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0qvxljj._.js → node_modules_0-5m30v._.js} +1 -1
  75. package/.next/standalone/apps/web/.next/server/chunks/ssr/node_modules_0-bra0k._.js +3 -0
  76. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0zir34w._.js → node_modules_0-nk4sk._.js} +1 -1
  77. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0dmu3re._.js → node_modules_0-yxz.k._.js} +1 -1
  78. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0p8a~x3._.js → node_modules_01l-p1x._.js} +1 -1
  79. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0pksdi6._.js → node_modules_053ofle._.js} +1 -1
  80. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_04g5ove._.js → node_modules_0azs4bs._.js} +1 -1
  81. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_049fpp9._.js → node_modules_0br2zvr._.js} +1 -1
  82. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0akt-n8._.js → node_modules_0g-5xh6._.js} +1 -1
  83. package/.next/standalone/apps/web/.next/server/chunks/ssr/node_modules_0k6b-s.._.js +6 -0
  84. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0bvpcr6._.js → node_modules_0kuu0i_._.js} +1 -1
  85. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0gq_a6h._.js → node_modules_0ljm1cj._.js} +1 -1
  86. package/.next/standalone/apps/web/.next/server/chunks/ssr/node_modules_0mogzs3._.js +6 -0
  87. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0v6uk6x._.js → node_modules_0ne-fkd._.js} +1 -1
  88. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0soq_if._.js → node_modules_0rgnv~i._.js} +1 -1
  89. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0b48qku._.js → node_modules_0s5.073._.js} +1 -1
  90. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_076bd-f._.js → node_modules_0wg2e2t._.js} +1 -1
  91. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0bnsxo_._.js → node_modules_0zxpl-b._.js} +1 -1
  92. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0ydrd8p._.js → node_modules_10vm5h.._.js} +1 -1
  93. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_10xgk_8.js → node_modules_next_dist_esm_build_templates_app-page_061~hf9.js} +3 -3
  94. package/.next/standalone/apps/web/.next/server/middleware-build-manifest.js +5 -5
  95. package/.next/standalone/apps/web/.next/server/pages/404.html +1 -1
  96. package/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
  97. package/.next/standalone/apps/web/.next/server/server-reference-manifest.js +1 -1
  98. package/.next/standalone/apps/web/.next/server/server-reference-manifest.json +1 -1
  99. package/.next/standalone/apps/web/.next/static/chunks/0.ahnhx-ugzbt.js +7 -0
  100. package/.next/standalone/apps/web/.next/static/chunks/01fuewnm93_l5.js +1 -0
  101. package/.next/standalone/apps/web/.next/static/chunks/0bhssqb0~3~7n.js +23 -0
  102. package/.next/standalone/apps/web/.next/static/chunks/0ekz145m0f5h8.js +1 -0
  103. package/.next/standalone/apps/web/.next/static/chunks/0makl-d3f0_qh.js +2878 -0
  104. package/.next/standalone/apps/web/.next/static/chunks/0mtq6r6l61k.f.js +31 -0
  105. package/.next/standalone/apps/web/.next/static/chunks/0n.xodexdkf03.js +1 -0
  106. package/.next/standalone/apps/web/.next/static/chunks/0ohaa3~lhhv1b.js +5 -0
  107. package/.next/standalone/apps/web/.next/static/chunks/0p19bzg3v08hf.js +1 -0
  108. package/.next/standalone/apps/web/.next/static/chunks/0pg.320d4u8z5.js +1 -0
  109. package/.next/standalone/apps/web/.next/static/chunks/0plamn018wq.u.css +4 -0
  110. package/.next/standalone/apps/web/.next/static/chunks/0qbchjvhms-.9.js +5 -0
  111. package/.next/standalone/apps/web/.next/static/chunks/{0pfyw6txeoy_p.js → 0tcznr_934_ai.js} +8 -8
  112. package/.next/standalone/apps/web/.next/static/chunks/0ywpi-uf71k8s.js +1 -0
  113. package/.next/standalone/apps/web/.next/static/chunks/12av8cpq.8slk.js +5 -0
  114. package/.next/standalone/apps/web/.next/static/chunks/12n4j5ugu5jbn.js +12 -0
  115. package/.next/standalone/apps/web/.next/static/chunks/16ehoz1y-qf39.js +5 -0
  116. package/.next/standalone/apps/web/.next/static/chunks/{turbopack-07pr2uza0.4cp.js → turbopack-0s_.rdhg458.a.js} +1 -1
  117. package/.next/standalone/apps/web/package.json +3 -0
  118. package/.next/standalone/apps/web/public/vad/ort-wasm-simd-threaded.mjs +59 -0
  119. package/.next/standalone/apps/web/public/vad/ort-wasm-simd-threaded.wasm +0 -0
  120. package/.next/standalone/apps/web/public/vad/silero_vad_v5.onnx +0 -0
  121. package/.next/standalone/apps/web/public/vad/vad.worklet.bundle.min.js +1 -0
  122. package/dist/server/routes/tasks.js +9 -0
  123. package/dist/server/routes/whisper.js +8 -1
  124. package/dist/whisper-server/README.md +1 -1
  125. package/dist/whisper-server/server.py +54 -9
  126. package/npm-shrinkwrap.json +2 -2
  127. package/package.json +1 -1
  128. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__00qvk7s._.js +0 -3
  129. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0a8.h72._.js +0 -3
  130. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0d7excn._.js +0 -10
  131. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0n83hx6._.js +0 -3
  132. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0w3_4.k._.js +0 -10
  133. package/.next/standalone/apps/web/.next/server/chunks/ssr/_04l3mh~._.js +0 -10
  134. package/.next/standalone/apps/web/.next/server/chunks/ssr/_0_2b4wf._.js +0 -3
  135. package/.next/standalone/apps/web/.next/server/chunks/ssr/_0_3mc_u._.js +0 -14
  136. package/.next/standalone/apps/web/.next/server/chunks/ssr/_0e3431w._.js +0 -10
  137. package/.next/standalone/apps/web/.next/server/chunks/ssr/_0lirkqp._.js +0 -10
  138. package/.next/standalone/apps/web/.next/server/chunks/ssr/_0s18_3n._.js +0 -3
  139. package/.next/standalone/apps/web/.next/static/chunks/04fnr6blquen6.js +0 -7
  140. package/.next/standalone/apps/web/.next/static/chunks/04g3fzo25y9_g.js +0 -23
  141. package/.next/standalone/apps/web/.next/static/chunks/04h-q2fe2awuu.css +0 -4
  142. package/.next/standalone/apps/web/.next/static/chunks/04ie1rttuhc99.js +0 -1
  143. package/.next/standalone/apps/web/.next/static/chunks/05n6~h_wwg.jj.js +0 -5
  144. package/.next/standalone/apps/web/.next/static/chunks/06l-vwr5pldup.js +0 -12
  145. package/.next/standalone/apps/web/.next/static/chunks/06sk6d3k059.n.js +0 -1
  146. package/.next/standalone/apps/web/.next/static/chunks/0_ygv4z~5c_9z.js +0 -5
  147. package/.next/standalone/apps/web/.next/static/chunks/0apjd6p1xsnc3.js +0 -31
  148. package/.next/standalone/apps/web/.next/static/chunks/0imnlpmbrdgiv.js +0 -5
  149. package/.next/standalone/apps/web/.next/static/chunks/0z43cogzp17lz.js +0 -7
  150. package/.next/standalone/apps/web/.next/static/chunks/0zjymvayyxt-d.js +0 -5
  151. package/.next/standalone/apps/web/.next/static/chunks/167xa3jy_0g.u.js +0 -1
  152. /package/.next/standalone/apps/web/.next/static/{q_5b0iJOSXBWJiPytDA2j → w7do3hyV84oyognhRCQuA}/_buildManifest.js +0 -0
  153. /package/.next/standalone/apps/web/.next/static/{q_5b0iJOSXBWJiPytDA2j → w7do3hyV84oyognhRCQuA}/_clientMiddlewareManifest.js +0 -0
  154. /package/.next/standalone/apps/web/.next/static/{q_5b0iJOSXBWJiPytDA2j → w7do3hyV84oyognhRCQuA}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[99189,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.baseAssetPath=void 0,c.baseAssetPath="/"},3623,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.defaultModelFetcher=void 0,c.defaultModelFetcher=a=>fetch(a).then(a=>a.arrayBuffer())},64332,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.log=void 0;let d=a=>b=>{console.log(`VAD | ${a} >`,b)};c.log={error:d("error"),debug:d("debug"),warn:d("warn")}},24278,(a,b,c)=>{"use strict";var d,f;Object.defineProperty(c,"__esModule",{value:!0}),c.Message=void 0,(f=d||(c.Message=d={})).AudioFrame="AUDIO_FRAME",f.SpeechStart="SPEECH_START",f.VADMisfire="VAD_MISFIRE",f.SpeechEnd="SPEECH_END",f.SpeechStop="SPEECH_STOP",f.SpeechRealStart="SPEECH_REAL_START",f.FrameProcessed="FRAME_PROCESSED"},39934,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.FrameProcessor=c.validateOptions=c.defaultFrameProcessorOptions=void 0;let d=a.r(64332),f=a.r(24278);c.defaultFrameProcessorOptions={positiveSpeechThreshold:.3,negativeSpeechThreshold:.25,preSpeechPadMs:800,redemptionMs:1400,minSpeechMs:400,submitUserSpeechOnPause:!1},c.validateOptions=function(a){(a.positiveSpeechThreshold<0||a.positiveSpeechThreshold>1)&&d.log.error("positiveSpeechThreshold should be a number between 0 and 1"),(a.negativeSpeechThreshold<0||a.negativeSpeechThreshold>a.positiveSpeechThreshold)&&d.log.error("negativeSpeechThreshold should be between 0 and positiveSpeechThreshold"),a.preSpeechPadMs<0&&d.log.error("preSpeechPadMs should be positive"),a.redemptionMs<0&&d.log.error("redemptionMs should be positive"),a.minSpeechMs<0&&d.log.error("minSpeechMs should be positive")};let g=a=>{let b=a.reduce((a,b)=>(a.push(a.at(-1)+b.length),a),[0]),c=new Float32Array(b.at(-1));return a.forEach((a,d)=>{let f=b[d];c.set(a,f)}),c};function h(a,b){let c=Math.floor(a.redemptionMs/b);return{redemptionFrames:c,preSpeechPadFrames:Math.floor(a.preSpeechPadMs/b),minSpeechFrames:Math.floor(a.minSpeechMs/b)}}c.FrameProcessor=class{constructor(a,b,c,d){this.modelProcessFunc=a,this.modelResetFunc=b,this.options=c,this.msPerFrame=d,this.speaking=!1,this.redemptionCounter=0,this.speechFrameCount=0,this.active=!1,this.speechRealStartFired=!1,this.setOptions=a=>{this.options={...this.options,...a};let{redemptionFrames:b,preSpeechPadFrames:c,minSpeechFrames:d}=h(this.options,this.msPerFrame);this.redemptionFrames=b,this.preSpeechPadFrames=c,this.minSpeechFrames=d},this.reset=()=>{this.speaking=!1,this.speechRealStartFired=!1,this.audioBuffer=[],this.modelResetFunc(),this.redemptionCounter=0,this.speechFrameCount=0},this.pause=a=>{this.active=!1,this.options.submitUserSpeechOnPause?this.endSegment(a):this.reset()},this.resume=()=>{this.active=!0},this.endSegment=a=>{let b=this.audioBuffer;this.audioBuffer=[];let c=this.speaking;if(this.reset(),c)if(b.reduce((a,b)=>b.isSpeech?a+1:a,0)>=this.minSpeechFrames){let c=g(b.map(a=>a.frame));a({msg:f.Message.SpeechEnd,audio:c})}else a({msg:f.Message.VADMisfire});return{}},this.process=async(a,b)=>{if(!this.active)return;let c=await this.modelProcessFunc(a),d=c.isSpeech>=this.options.positiveSpeechThreshold;if(b({probs:c,msg:f.Message.FrameProcessed,frame:a}),this.audioBuffer.push({frame:a,isSpeech:d}),d&&(this.speechFrameCount++,this.redemptionCounter=0),d&&!this.speaking&&(this.speaking=!0,b({msg:f.Message.SpeechStart})),this.speaking&&this.speechFrameCount===this.minSpeechFrames&&!this.speechRealStartFired&&(this.speechRealStartFired=!0,b({msg:f.Message.SpeechRealStart})),c.isSpeech<this.options.negativeSpeechThreshold&&this.speaking&&++this.redemptionCounter>=this.redemptionFrames){this.redemptionCounter=0,this.speechFrameCount=0,this.speaking=!1,this.speechRealStartFired=!1;let a=this.audioBuffer;if(this.audioBuffer=[],a.reduce((a,b)=>b.isSpeech?a+1:a,0)>=this.minSpeechFrames){let c=g(a.map(a=>a.frame));b({msg:f.Message.SpeechEnd,audio:c})}else b({msg:f.Message.VADMisfire})}if(!this.speaking){for(;this.audioBuffer.length>this.preSpeechPadFrames;)this.audioBuffer.shift();this.speechFrameCount=0}},this.audioBuffer=[];const{redemptionFrames:i,preSpeechPadFrames:j,minSpeechFrames:k}=h(this.options,this.msPerFrame);this.redemptionFrames=i,this.preSpeechPadFrames=j,this.minSpeechFrames=k,this.reset()}}},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},22055,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.resolveBackendAndExecutionProviders=c.registerBackend=void 0;let d=new Map,f=[];c.registerBackend=(a,b,c)=>{if(b&&"function"==typeof b.init&&"function"==typeof b.createInferenceSessionHandler){let g=d.get(a);if(void 0===g)d.set(a,{backend:b,priority:c});else if(g.priority>c)return;else if(g.priority===c&&g.backend!==b)throw Error(`cannot register backend "${a}" using priority ${c}`);if(c>=0){let b=f.indexOf(a);-1!==b&&f.splice(b,1);for(let b=0;b<f.length;b++)if(d.get(f[b]).priority<=c)return void f.splice(b,0,a);f.push(a)}return}throw TypeError("not a valid backend")};let g=async a=>{let b=d.get(a);if(!b)return"backend not found.";if(b.initialized)return b.backend;{if(b.aborted)return b.error;let c=!!b.initPromise;try{return c||(b.initPromise=b.backend.init(a)),await b.initPromise,b.initialized=!0,b.backend}catch(a){return c||(b.error=`${a}`,b.aborted=!0),b.error}finally{delete b.initPromise}}};c.resolveBackendAndExecutionProviders=async a=>{let b,c=a.executionProviders||[],d=c.map(a=>"string"==typeof a?a:a.name),h=0===d.length?f:d,i=[],j=new Set;for(let a of h){let c=await g(a);"string"==typeof c?i.push({name:a,err:c}):(b||(b=c),b===c&&j.add(a))}if(!b)throw Error(`no available backend found. ERR: ${i.map(a=>`[${a.name}] ${a.err}`).join(", ")}`);for(let{name:a,err:b}of i)d.includes(a)&&console.warn(`removing requested execution provider "${a}" from session options because it is not available: ${b}`);let k=c.filter(a=>j.has("string"==typeof a?a:a.name));return[b,new Proxy(a,{get:(a,b)=>"executionProviders"===b?k:Reflect.get(a,b)})]}},71976,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.registerBackend=void 0;var d=a.r(22055);Object.defineProperty(c,"registerBackend",{enumerable:!0,get:function(){return d.registerBackend}})},72165,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.version=void 0,c.version="1.30.0"},98708,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.env=void 0;let d=a.r(72165),f="warning";c.env={wasm:{},webgl:{},webgpu:{},versions:{common:d.version},set logLevel(value){if(void 0===value)return;if("string"!=typeof value||-1===["verbose","info","warning","error","fatal"].indexOf(value))throw Error(`Unsupported logging level: ${value}`);f=value},get logLevel(){return f}},Object.defineProperty(c.env,"logLevel",{enumerable:!0})},79840,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.env=void 0,c.env=a.r(98708).env},18593,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.tensorToImageData=c.tensorToDataURL=void 0,c.tensorToDataURL=(a,b)=>{let c="u">typeof document?document.createElement("canvas"):new OffscreenCanvas(1,1);c.width=a.dims[3],c.height=a.dims[2];let d=c.getContext("2d");if(null!=d){let f,g,h,i;b?.tensorLayout!==void 0&&"NHWC"===b.tensorLayout?(f=a.dims[2],g=a.dims[3]):(f=a.dims[3],g=a.dims[2]);let j=b?.format!==void 0?b.format:"RGB",k=b?.norm;void 0===k||void 0===k.mean?h=[255,255,255,255]:"number"==typeof k.mean?h=[k.mean,k.mean,k.mean,k.mean]:(h=[k.mean[0],k.mean[1],k.mean[2],0],void 0!==k.mean[3]&&(h[3]=k.mean[3])),void 0===k||void 0===k.bias?i=[0,0,0,0]:"number"==typeof k.bias?i=[k.bias,k.bias,k.bias,k.bias]:(i=[k.bias[0],k.bias[1],k.bias[2],0],void 0!==k.bias[3]&&(i[3]=k.bias[3]));let l=g*f,m=0,n=l,o=2*l,p=-1;"RGBA"===j?(m=0,n=l,o=2*l,p=3*l):"RGB"===j?(m=0,n=l,o=2*l):"RBG"===j&&(m=0,o=l,n=2*l);for(let b=0;b<g;b++)for(let c=0;c<f;c++)d.fillStyle="rgba("+(a.data[m++]-i[0])*h[0]+","+(a.data[n++]-i[1])*h[1]+","+(a.data[o++]-i[2])*h[2]+","+(-1===p?255:(a.data[p++]-i[3])*h[3])+")",d.fillRect(c,b,1,1);if("toDataURL"in c)return c.toDataURL();throw Error("toDataURL is not supported")}throw Error("Can not access image data")},c.tensorToImageData=(a,b)=>{let c,d="u">typeof document?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d");if(null!=d){let f,g,h,i,j;b?.tensorLayout!==void 0&&"NHWC"===b.tensorLayout?(f=a.dims[2],g=a.dims[1],h=a.dims[3]):(f=a.dims[3],g=a.dims[2],h=a.dims[1]);let k=void 0!==b&&void 0!==b.format?b.format:"RGB",l=b?.norm;void 0===l||void 0===l.mean?i=[255,255,255,255]:"number"==typeof l.mean?i=[l.mean,l.mean,l.mean,l.mean]:(i=[l.mean[0],l.mean[1],l.mean[2],255],void 0!==l.mean[3]&&(i[3]=l.mean[3])),void 0===l||void 0===l.bias?j=[0,0,0,0]:"number"==typeof l.bias?j=[l.bias,l.bias,l.bias,l.bias]:(j=[l.bias[0],l.bias[1],l.bias[2],0],void 0!==l.bias[3]&&(j[3]=l.bias[3]));let m=g*f;if(void 0!==b&&(void 0!==b.format&&4===h&&"RGBA"!==b.format||3===h&&"RGB"!==b.format&&"BGR"!==b.format))throw Error("Tensor format doesn't match input tensor dims");let n=0,o=1,p=2,q=3,r=0,s=m,t=2*m,u=-1;"RGBA"===k?(r=0,s=m,t=2*m,u=3*m):"RGB"===k?(r=0,s=m,t=2*m):"RBG"===k&&(r=0,t=m,s=2*m),c=d.createImageData(f,g);for(let b=0;b<g*f;n+=4,o+=4,p+=4,q+=4,b++)c.data[n]=(a.data[r++]-j[0])*i[0],c.data[o]=(a.data[s++]-j[1])*i[1],c.data[p]=(a.data[t++]-j[2])*i[2],c.data[q]=-1===u?255:(a.data[u++]-j[3])*i[3]}else throw Error("Can not access image data");return c}},94159,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.tensorFromPinnedBuffer=c.tensorFromMLTensor=c.tensorFromGpuBuffer=c.tensorFromTexture=c.tensorFromImage=c.bufferToTensor=void 0;let d=a.r(42301);c.bufferToTensor=(a,b)=>{let c,f;if(void 0===a)throw Error("Image buffer must be defined");if(void 0===b.height||void 0===b.width)throw Error("Image height and width must be defined");if("NHWC"===b.tensorLayout)throw Error("NHWC Tensor layout is not supported yet");let{height:g,width:h}=b,i=b.norm??{mean:255,bias:0};c="number"==typeof i.mean?[i.mean,i.mean,i.mean,i.mean]:[i.mean[0],i.mean[1],i.mean[2],i.mean[3]??255],f="number"==typeof i.bias?[i.bias,i.bias,i.bias,i.bias]:[i.bias[0],i.bias[1],i.bias[2],i.bias[3]??0];let j=void 0!==b.format?b.format:"RGBA",k=void 0!==b.tensorFormat&&void 0!==b.tensorFormat?b.tensorFormat:"RGB",l=g*h,m=new Float32Array("RGBA"===k?4*l:3*l),n=4,o=0,p=1,q=2,r=3,s=0,t=l,u=2*l,v=-1;"RGB"===j&&(n=3,o=0,p=1,q=2,r=-1),"RGBA"===k?v=3*l:"RBG"===k?(s=0,u=l,t=2*l):"BGR"===k&&(u=0,t=l,s=2*l);for(let b=0;b<l;b++,o+=n,q+=n,p+=n,r+=n)m[s++]=(a[o]+f[0])/c[0],m[t++]=(a[p]+f[1])/c[1],m[u++]=(a[q]+f[2])/c[2],-1!==v&&-1!==r&&(m[v++]=(a[r]+f[3])/c[3]);return"RGBA"===k?new d.Tensor("float32",m,[1,4,g,h]):new d.Tensor("float32",m,[1,3,g,h])};let f=async(a,b)=>{let d,f="u">typeof HTMLImageElement&&a instanceof HTMLImageElement,g="u">typeof ImageData&&a instanceof ImageData,h="u">typeof ImageBitmap&&a instanceof ImageBitmap,i="string"==typeof a,j=b??{},k=()=>{if("u">typeof document)return document.createElement("canvas");if("u">typeof OffscreenCanvas)return new OffscreenCanvas(1,1);throw Error("Canvas is not supported")},l=a=>"u">typeof HTMLCanvasElement&&a instanceof HTMLCanvasElement||a instanceof OffscreenCanvas?a.getContext("2d"):null;if(f){let c=k();c.width=a.width,c.height=a.height;let f=l(c);if(null!=f){let c=a.height,g=a.width;if(void 0!==b&&void 0!==b.resizedHeight&&void 0!==b.resizedWidth&&(c=b.resizedHeight,g=b.resizedWidth),void 0!==b){if(j=b,void 0!==b.tensorFormat)throw Error("Image input config format must be RGBA for HTMLImageElement");j.tensorFormat="RGBA",j.height=c,j.width=g}else j.tensorFormat="RGBA",j.height=c,j.width=g;f.drawImage(a,0,0),d=f.getImageData(0,0,g,c).data}else throw Error("Can not access image data")}else if(g){let c,f;if(void 0!==b&&void 0!==b.resizedWidth&&void 0!==b.resizedHeight?(c=b.resizedHeight,f=b.resizedWidth):(c=a.height,f=a.width),void 0!==b&&(j=b),j.format="RGBA",j.height=c,j.width=f,void 0!==b){let b=k();b.width=f,b.height=c;let g=l(b);if(null!=g)g.putImageData(a,0,0),d=g.getImageData(0,0,f,c).data;else throw Error("Can not access image data")}else d=a.data}else if(h){if(void 0===b)throw Error("Please provide image config with format for Imagebitmap");let f=k();f.width=a.width,f.height=a.height;let g=l(f);if(null!=g){let b=a.height,f=a.width;return g.drawImage(a,0,0,f,b),d=g.getImageData(0,0,f,b).data,j.height=b,j.width=f,(0,c.bufferToTensor)(d,j)}throw Error("Can not access image data")}else if(i)return new Promise((b,d)=>{let f=k(),g=l(f);if(!a||!g)return d();let h=new Image;h.crossOrigin="Anonymous",h.src=a,h.onload=()=>{f.width=h.width,f.height=h.height,g.drawImage(h,0,0,f.width,f.height);let a=g.getImageData(0,0,f.width,f.height);j.height=f.height,j.width=f.width,b((0,c.bufferToTensor)(a.data,j))}});else throw Error("Input data provided is not supported - aborted tensor creation");if(void 0!==d)return(0,c.bufferToTensor)(d,j);throw Error("Input data provided is not supported - aborted tensor creation")};c.tensorFromImage=f,c.tensorFromTexture=(a,b)=>{let{width:c,height:f,download:g,dispose:h}=b;return new d.Tensor({location:"texture",type:"float32",texture:a,dims:[1,f,c,4],download:g,dispose:h})},c.tensorFromGpuBuffer=(a,b)=>{let{dataType:c,dims:f,download:g,dispose:h}=b;return new d.Tensor({location:"gpu-buffer",type:c??"float32",gpuBuffer:a,dims:f,download:g,dispose:h})},c.tensorFromMLTensor=(a,b)=>{let{dataType:c,dims:f,download:g,dispose:h}=b;return new d.Tensor({location:"ml-tensor",type:c??"float32",mlTensor:a,dims:f,download:g,dispose:h})},c.tensorFromPinnedBuffer=(a,b,c)=>new d.Tensor({location:"cpu-pinned",type:a,data:b,dims:c??[b.length]})},80469,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.checkTypedArray=c.NUMERIC_TENSOR_TYPEDARRAY_TO_TYPE_MAP=c.NUMERIC_TENSOR_TYPE_TO_TYPEDARRAY_MAP=void 0,c.NUMERIC_TENSOR_TYPE_TO_TYPEDARRAY_MAP=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),c.NUMERIC_TENSOR_TYPEDARRAY_TO_TYPE_MAP=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]);let d=!1;c.checkTypedArray=()=>{if(!d){d=!0;let a="u">typeof BigInt64Array&&BigInt64Array.from,b="u">typeof BigUint64Array&&BigUint64Array.from,f=globalThis.Float16Array,g=void 0!==f&&f.from;a&&(c.NUMERIC_TENSOR_TYPE_TO_TYPEDARRAY_MAP.set("int64",BigInt64Array),c.NUMERIC_TENSOR_TYPEDARRAY_TO_TYPE_MAP.set(BigInt64Array,"int64")),b&&(c.NUMERIC_TENSOR_TYPE_TO_TYPEDARRAY_MAP.set("uint64",BigUint64Array),c.NUMERIC_TENSOR_TYPEDARRAY_TO_TYPE_MAP.set(BigUint64Array,"uint64")),g?(c.NUMERIC_TENSOR_TYPE_TO_TYPEDARRAY_MAP.set("float16",f),c.NUMERIC_TENSOR_TYPEDARRAY_TO_TYPE_MAP.set(f,"float16")):c.NUMERIC_TENSOR_TYPE_TO_TYPEDARRAY_MAP.set("float16",Uint16Array)}}},67610,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.tensorReshape=c.calculateSize=void 0;let d=a.r(42301);c.calculateSize=a=>{let b=1;for(let c=0;c<a.length;c++){let d=a[c];if("number"!=typeof d||!Number.isSafeInteger(d))throw TypeError(`dims[${c}] must be an integer, got: ${d}`);if(d<0)throw RangeError(`dims[${c}] must be a non-negative integer, got: ${d}`);b*=d}return b},c.tensorReshape=(a,b)=>{switch(a.location){case"cpu":return new d.Tensor(a.type,a.data,b);case"cpu-pinned":return new d.Tensor({location:"cpu-pinned",data:a.data,type:a.type,dims:b});case"texture":return new d.Tensor({location:"texture",texture:a.texture,type:a.type,dims:b});case"gpu-buffer":return new d.Tensor({location:"gpu-buffer",gpuBuffer:a.gpuBuffer,type:a.type,dims:b});case"ml-tensor":return new d.Tensor({location:"ml-tensor",mlTensor:a.mlTensor,type:a.type,dims:b});default:throw Error(`tensorReshape: tensor location ${a.location} is not supported`)}}},42301,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.Tensor=void 0;let d=a.r(18593),f=a.r(94159),g=a.r(80469),h=a.r(67610);c.Tensor=class{constructor(a,b,c){let d,f;if((0,g.checkTypedArray)(),"object"==typeof a&&"location"in a)switch(this.dataLocation=a.location,d=a.type,f=a.dims,a.location){case"cpu-pinned":{const b=g.NUMERIC_TENSOR_TYPE_TO_TYPEDARRAY_MAP.get(d);if(!b)throw TypeError(`unsupported type "${d}" to create tensor from pinned buffer`);if(!(a.data instanceof b))throw TypeError(`buffer should be of type ${b.name}`);this.cpuData=a.data;break}case"texture":if("float32"!==d)throw TypeError(`unsupported type "${d}" to create tensor from texture`);this.gpuTextureData=a.texture,this.downloader=a.download,this.disposer=a.dispose;break;case"gpu-buffer":if("float32"!==d&&"float16"!==d&&"int32"!==d&&"int64"!==d&&"uint32"!==d&&"uint8"!==d&&"bool"!==d&&"uint4"!==d&&"int4"!==d)throw TypeError(`unsupported type "${d}" to create tensor from gpu buffer`);this.gpuBufferData=a.gpuBuffer,this.downloader=a.download,this.disposer=a.dispose;break;case"ml-tensor":if("float32"!==d&&"float16"!==d&&"int32"!==d&&"int64"!==d&&"uint32"!==d&&"uint64"!==d&&"int8"!==d&&"uint8"!==d&&"bool"!==d&&"uint4"!==d&&"int4"!==d)throw TypeError(`unsupported type "${d}" to create tensor from MLTensor`);this.mlTensorData=a.mlTensor,this.downloader=a.download,this.disposer=a.dispose;break;default:throw Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let h,i;if("string"==typeof a)if(d=a,i=c,"string"===a){if(!Array.isArray(b))throw TypeError("A string tensor's data must be a string array.");h=b}else{const c=g.NUMERIC_TENSOR_TYPE_TO_TYPEDARRAY_MAP.get(a);if(void 0===c)throw TypeError(`Unsupported tensor type: ${a}.`);if(Array.isArray(b))if("float16"===a&&c===Uint16Array||"uint4"===a||"int4"===a)throw TypeError(`Creating a ${a} tensor from number array is not supported. Please use ${c.name} as data.`);else h="uint64"===a||"int64"===a?c.from(b,BigInt):c.from(b);else if(b instanceof c)h=b;else if(b instanceof Uint8ClampedArray)if("uint8"===a)h=Uint8Array.from(b);else throw TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if("float16"===a&&b instanceof Uint16Array&&c!==Uint16Array)h=new globalThis.Float16Array(b.buffer,b.byteOffset,b.length);else throw TypeError(`A ${d} tensor's data must be type of ${c}`)}else if(i=b,Array.isArray(a)){if(0===a.length)throw TypeError("Tensor type cannot be inferred from an empty array.");const b=typeof a[0];if("string"===b)d="string",h=a;else if("boolean"===b)d="bool",h=Uint8Array.from(a);else throw TypeError(`Invalid element type of data array: ${b}.`)}else if(a instanceof Uint8ClampedArray)d="uint8",h=Uint8Array.from(a);else{const b=g.NUMERIC_TENSOR_TYPEDARRAY_TO_TYPE_MAP.get(a.constructor);if(void 0===b)throw TypeError(`Unsupported type for tensor data: ${a.constructor}.`);d=b,h=a}if(void 0===i)i=[h.length];else if(!Array.isArray(i))throw TypeError("A tensor's dims must be a number array");f=i,this.cpuData=h,this.dataLocation="cpu"}const i=(0,h.calculateSize)(f);if(this.cpuData&&i!==this.cpuData.length)if(("uint4"===d||"int4"===d)&&Math.ceil(i/2)===this.cpuData.length);else throw Error(`Tensor's size(${i}) does not match data length(${this.cpuData.length}).`);this.type=d,this.dims=f,this.size=i}static async fromImage(a,b){return(0,f.tensorFromImage)(a,b)}static fromTexture(a,b){return(0,f.tensorFromTexture)(a,b)}static fromGpuBuffer(a,b){return(0,f.tensorFromGpuBuffer)(a,b)}static fromMLTensor(a,b){return(0,f.tensorFromMLTensor)(a,b)}static fromPinnedBuffer(a,b,c){return(0,f.tensorFromPinnedBuffer)(a,b,c)}toDataURL(a){return(0,d.tensorToDataURL)(this,a)}toImageData(a){return(0,d.tensorToImageData)(this,a)}get data(){if(this.ensureValid(),!this.cpuData)throw Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(a){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":if(!this.downloader)throw Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let b=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=b,a&&this.disposer&&(this.disposer(),this.disposer=void 0),b}finally{this.isDownloading=!1}default:throw Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if("none"===this.dataLocation)throw Error("The tensor is disposed.")}reshape(a){if(this.ensureValid(),this.downloader||this.disposer)throw Error("Cannot reshape a tensor that owns GPU resource.");return(0,h.tensorReshape)(this,a)}}},31056,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.Tensor=void 0,c.Tensor=a.r(42301).Tensor},6065,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.TRACE_EVENT_END=c.TRACE_EVENT_BEGIN=c.TRACE_FUNC_END=c.TRACE_FUNC_BEGIN=c.TRACE=void 0;let d=a.r(98708);c.TRACE=(a,b)=>{(void 0===d.env.trace?d.env.wasm.trace:d.env.trace)&&console.timeStamp(`${a}::ORT::${b}`)};let f=(a,b)=>{let d=Error().stack?.split(/\r\n|\r|\n/g)||[],f=!1;for(let g=0;g<d.length;g++){if(f&&!d[g].includes("TRACE_FUNC")){let f=`FUNC_${a}::${d[g].trim().split(" ")[1]}`;b&&(f+=`::${b}`),(0,c.TRACE)("CPU",f);return}d[g].includes("TRACE_FUNC")&&(f=!0)}};c.TRACE_FUNC_BEGIN=a=>{(void 0===d.env.trace?d.env.wasm.trace:d.env.trace)&&f("BEGIN",a)},c.TRACE_FUNC_END=a=>{(void 0===d.env.trace?d.env.wasm.trace:d.env.trace)&&f("END",a)},c.TRACE_EVENT_BEGIN=a=>{(void 0===d.env.trace?d.env.wasm.trace:d.env.trace)&&console.time(`ORT::${a}`)},c.TRACE_EVENT_END=a=>{(void 0===d.env.trace?d.env.wasm.trace:d.env.trace)&&console.timeEnd(`ORT::${a}`)}},91787,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.InferenceSession=void 0;let d=a.r(22055),f=a.r(31056),g=a.r(6065);class h{constructor(a){this.handler=a}async run(a,b,c){(0,g.TRACE_FUNC_BEGIN)(),(0,g.TRACE_EVENT_BEGIN)("InferenceSession.run");let d={},h={};if("object"!=typeof a||null===a||a instanceof f.Tensor||Array.isArray(a))throw TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let i=!0;if("object"==typeof b){if(null===b)throw TypeError("Unexpected argument[1]: cannot be null.");if(b instanceof f.Tensor)throw TypeError("'fetches' cannot be a Tensor");if(Array.isArray(b)){if(0===b.length)throw TypeError("'fetches' cannot be an empty array.");for(let a of(i=!1,b)){if("string"!=typeof a)throw TypeError("'fetches' must be a string array or an object.");if(-1===this.outputNames.indexOf(a))throw RangeError(`'fetches' contains invalid output name: ${a}.`);d[a]=null}if("object"==typeof c&&null!==c)h=c;else if(void 0!==c)throw TypeError("'options' must be an object.")}else{let a=!1,g=Object.getOwnPropertyNames(b);for(let c of this.outputNames)if(-1!==g.indexOf(c)){let g=b[c];(null===g||g instanceof f.Tensor)&&(a=!0,i=!1,d[c]=g)}if(a){if("object"==typeof c&&null!==c)h=c;else if(void 0!==c)throw TypeError("'options' must be an object.")}else h=b}}else if(void 0!==b)throw TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let b of this.inputNames)if(void 0===a[b])throw Error(`input '${b}' is missing in 'feeds'.`);if(i)for(let a of this.outputNames)d[a]=null;let j=await this.handler.run(a,d,h),k={};for(let a in j)if(Object.hasOwnProperty.call(j,a)){let b=j[a];b instanceof f.Tensor?k[a]=b:k[a]=new f.Tensor(b.type,b.data,b.dims)}return(0,g.TRACE_EVENT_END)("InferenceSession.run"),(0,g.TRACE_FUNC_END)(),k}async release(){return this.handler.dispose()}static async create(a,b,c,f){let i;(0,g.TRACE_FUNC_BEGIN)(),(0,g.TRACE_EVENT_BEGIN)("InferenceSession.create");let j={};if("string"==typeof a){if(i=a,"object"==typeof b&&null!==b)j=b;else if(void 0!==b)throw TypeError("'options' must be an object.")}else if(a instanceof Uint8Array){if(i=a,"object"==typeof b&&null!==b)j=b;else if(void 0!==b)throw TypeError("'options' must be an object.")}else if(a instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&a instanceof SharedArrayBuffer){let d=0,g=a.byteLength;if("object"==typeof b&&null!==b)j=b;else if("number"==typeof b){if(!Number.isSafeInteger(d=b))throw RangeError("'byteOffset' must be an integer.");if(d<0||d>=a.byteLength)throw RangeError(`'byteOffset' is out of range [0, ${a.byteLength}).`);if(g=a.byteLength-d,"number"==typeof c){if(!Number.isSafeInteger(g=c))throw RangeError("'byteLength' must be an integer.");if(g<=0||d+g>a.byteLength)throw RangeError(`'byteLength' is out of range (0, ${a.byteLength-d}].`);if("object"==typeof f&&null!==f)j=f;else if(void 0!==f)throw TypeError("'options' must be an object.")}else if(void 0!==c)throw TypeError("'byteLength' must be a number.")}else if(void 0!==b)throw TypeError("'options' must be an object.");i=new Uint8Array(a,d,g)}else throw TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let[k,l]=await (0,d.resolveBackendAndExecutionProviders)(j),m=await k.createInferenceSessionHandler(i,l);return(0,g.TRACE_EVENT_END)("InferenceSession.create"),(0,g.TRACE_FUNC_END)(),new h(m)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}c.InferenceSession=h},90416,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.InferenceSession=void 0,c.InferenceSession=a.r(91787).InferenceSession},39210,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0})},51724,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0})},67273,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0})},45608,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0})},20696,(a,b,c)=>{"use strict";var d=a.e&&a.e.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c);var f=Object.getOwnPropertyDescriptor(b,c);(!f||("get"in f?!b.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return b[c]}}),Object.defineProperty(a,d,f)}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),f=a.e&&a.e.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(c,"__esModule",{value:!0}),f(a.r(71976),c),f(a.r(79840),c),f(a.r(90416),c),f(a.r(31056),c),f(a.r(39210),c),f(a.r(51724),c),f(a.r(6065),c),f(a.r(67273),c),f(a.r(45608),c)},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},26151,(a,b,c)=>{"use strict";let d,f,g,h,i;var j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am=Object.create,an=Object.defineProperty,ao=Object.getOwnPropertyDescriptor,ap=Object.getOwnPropertyNames,aq=Object.getPrototypeOf,ar=Object.prototype.hasOwnProperty,as=(a,b,c)=>()=>{if(c)throw c[0];try{return a&&(b=a(a=0)),b}catch(a){throw c=[a],a}},at=(a,b)=>{for(var c in b)an(a,c,{get:b[c],enumerable:!0})},au=(a,b,c,d)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let f of ap(b))ar.call(a,f)||f===c||an(a,f,{get:()=>b[f],enumerable:!(d=ao(b,f))||d.enumerable});return a},av=a=>au(an({},"__esModule",{value:!0}),a),aw=as(()=>{j=!!("u">typeof process&&process.versions&&process.versions.node)}),ax=as(()=>{aw(),k=j||typeof location>"u"?void 0:location.origin,l=(()=>{if(!j)return"u">typeof document?document.currentScript?.src:"u">typeof self?self.location?.href:void 0})(),m=()=>{if(l&&!l.startsWith("blob:"))return l.substring(0,l.lastIndexOf("/")+1)},n=(a,b)=>{try{let c=b??l;return(c?new URL(a,c):new URL(a)).origin===k}catch{return!1}},o=async a=>{let b=await (await fetch(a,{credentials:"same-origin"})).blob();return URL.createObjectURL(b)},p=async a=>(await import(a)).default,q=void 0,r=async(a,b,c,d)=>{let f=q&&!(a||b);if(f)if(l)f=n(l)||d&&!c;else if(d&&!c)f=!0;else throw Error("cannot determine the script source URL.");if(f)return[void 0,q];{let d,f,g="ort-wasm-simd-threaded.mjs",h=a??((a,b)=>{let c=b??l;try{return(c?new URL(a,c):new URL(a)).href}catch{return}})(g,b),i=!j&&c&&h&&!n(h,b),k=i?await o(h):h??(d=g,f=b,`${f??"./"}${d}`);return[i?k:void 0,await p(k)]}}}),ay=as(()=>{ax(),t=!1,u=!1,v=!1,w=async a=>{if(t)return Promise.resolve();if(u)throw Error("multiple calls to 'initializeWebAssembly()' detected.");if(v)throw Error("previous call to 'initializeWebAssembly()' failed.");u=!0;let b=a.initTimeout,c=a.numThreads;if(!1!==a.simd){if("relaxed"===a.simd){if(!(()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}})())throw Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!(()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}})())throw Error("WebAssembly SIMD is not supported in the current environment.")}let d=(()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return"u">typeof MessageChannel&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}})();c>1&&!d&&("u">typeof self&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+c+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),a.numThreads=c=1);let f=a.wasmPaths,g="string"==typeof f?f:void 0,h=f?.mjs,i=h?.href??h,j=f?.wasm,k=j?.href??j,l=a.wasmBinary,[n,o]=await r(i,g,c>1,!!l||!!k),p=!1,q=[];if(b>0&&q.push(new Promise(a=>{setTimeout(()=>{p=!0,a()},b)})),q.push(new Promise((a,b)=>{let d={numThreads:c};if(l)d.wasmBinary=l,d.locateFile=a=>a;else if(k||g)d.locateFile=a=>k??g+a;else if(i&&0!==i.indexOf("blob:"))d.locateFile=a=>new URL(a,i).href;else if(n){let a=m();a&&(d.locateFile=b=>a+b)}o(d).then(b=>{u=!1,t=!0,s=b,a(),n&&URL.revokeObjectURL(n)},a=>{u=!1,v=!0,b(a)})})),await Promise.race(q),p)throw Error(`WebAssembly backend initializing failed due to timeout: ${b}ms`)},x=()=>{if(t&&s)return s;throw Error("WebAssembly is not initialized yet.")}}),az=as(()=>{ay(),y=(a,b)=>{let c=x(),d=c.lengthBytesUTF8(a)+1,f=c._malloc(d);return c.stringToUTF8(a,f,d),b.push(f),f},z=(a,b,c,d)=>{if("object"==typeof a&&null!==a){if(c.has(a))throw Error("Circular reference in options");c.add(a)}Object.entries(a).forEach(([a,f])=>{let g=b?b+a:a;if("object"==typeof f)z(f,g+".",c,d);else if("string"==typeof f||"number"==typeof f)d(g,f.toString());else if("boolean"==typeof f)d(g,f?"1":"0");else throw Error(`Can't handle extra config type: ${typeof f}`)})},A=a=>{let b=x(),c=b.stackSave();try{let c=b.PTR_SIZE,d=b.stackAlloc(2*c);b._OrtGetLastError(d,d+c);let f=Number(b.getValue(d,4===c?"i32":"i64")),g=b.getValue(d+c,"*"),h=g?b.UTF8ToString(g):"";throw Error(`${a} ERROR_CODE: ${f}, ERROR_MESSAGE: ${h}`)}finally{b.stackRestore(c)}}}),aA=as(()=>{ay(),az(),B=a=>{let b=x(),c=0,d=[],f=a||{};try{if(a?.logSeverityLevel===void 0)f.logSeverityLevel=2;else if("number"!=typeof a.logSeverityLevel||!Number.isInteger(a.logSeverityLevel)||a.logSeverityLevel<0||a.logSeverityLevel>4)throw Error(`log severity level is not valid: ${a.logSeverityLevel}`);if(a?.logVerbosityLevel===void 0)f.logVerbosityLevel=0;else if("number"!=typeof a.logVerbosityLevel||!Number.isInteger(a.logVerbosityLevel))throw Error(`log verbosity level is not valid: ${a.logVerbosityLevel}`);a?.terminate===void 0&&(f.terminate=!1);let g=0;return a?.tag!==void 0&&(g=y(a.tag,d)),c=b._OrtCreateRunOptions(f.logSeverityLevel,f.logVerbosityLevel,!!f.terminate,g),0===c&&A("Can't create run options."),a?.extra!==void 0&&z(a.extra,"",new WeakSet,(a,f)=>{let g=y(a,d),h=y(f,d);0!==b._OrtAddRunConfigEntry(c,g,h)&&A(`Can't set a run config entry: ${a} - ${f}.`)}),[c,d]}catch(a){throw 0!==c&&b._OrtReleaseRunOptions(c),d.forEach(a=>b._free(a)),a}}}),aB=as(()=>{ay(),az(),C=(a,b,c,d)=>{let f=y(b,d),g=y(c,d);0!==x()._OrtAddSessionConfigEntry(a,f,g)&&A(`Can't set a session config entry: ${b} - ${c}.`)},D=async(a,b,c)=>{for(let d of b.executionProviders){let b="string"==typeof d?d:d.name,f=[];switch(b){case"webnn":if(b="WEBNN",C(a,"session.disable_quant_qdq","1",c),C(a,"session.disable_qdq_constant_folding","1",c),"string"!=typeof d){let b=d?.deviceType;b&&C(a,"deviceType",b,c)}break;case"webgpu":if(b="JS","string"!=typeof d&&d?.preferredLayout){if("NCHW"!==d.preferredLayout&&"NHWC"!==d.preferredLayout)throw Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${d.preferredLayout}`);C(a,"preferredLayout",d.preferredLayout,c)}break;case"wasm":case"cpu":continue;default:throw Error(`not supported execution provider: ${b}`)}let g=y(b,c),h=f.length,i=0,j=0;if(h>0){i=x()._malloc(h*x().PTR_SIZE),c.push(i),j=x()._malloc(h*x().PTR_SIZE),c.push(j);for(let a=0;a<h;a++)x().setValue(i+a*x().PTR_SIZE,f[a][0],"*"),x().setValue(j+a*x().PTR_SIZE,f[a][1],"*")}await x()._OrtAppendExecutionProvider(a,g,i,j,h)!==0&&A(`Can't append execution provider: ${b}.`)}},E=async a=>{var b;let c,d=x(),f=0,g=[],h=a||{};(b=h).extra||(b.extra={}),b.extra.session||(b.extra.session={}),(c=b.extra.session).use_ort_model_bytes_directly||(c.use_ort_model_bytes_directly="1"),b.executionProviders&&b.executionProviders.some(a=>("string"==typeof a?a:a.name)==="webgpu")&&(b.enableMemPattern=!1);try{let a=(a=>{switch(a){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"layout":return 3;case"all":return 99;default:throw Error(`unsupported graph optimization level: ${a}`)}})(h.graphOptimizationLevel??"all"),b=(a=>{switch(a){case"sequential":return 0;case"parallel":return 1;default:throw Error(`unsupported execution mode: ${a}`)}})(h.executionMode??"sequential"),c="string"==typeof h.logId?y(h.logId,g):0,i=h.logSeverityLevel??2;if(!Number.isInteger(i)||i<0||i>4)throw Error(`log severity level is not valid: ${i}`);let j=h.logVerbosityLevel??0;if(!Number.isInteger(j)||j<0||j>4)throw Error(`log verbosity level is not valid: ${j}`);let k="string"==typeof h.optimizedModelFilePath?y(h.optimizedModelFilePath,g):0;if(f=d._OrtCreateSessionOptions(a,!!h.enableCpuMemArena,!!h.enableMemPattern,b,!!h.enableProfiling,0,c,i,j,k),0===f&&A("Can't create session options."),h.executionProviders&&await D(f,h,g),void 0!==h.enableGraphCapture){if("boolean"!=typeof h.enableGraphCapture)throw Error(`enableGraphCapture must be a boolean value: ${h.enableGraphCapture}`);C(f,"enableGraphCapture",h.enableGraphCapture.toString(),g)}if(h.freeDimensionOverrides)for(let[a,b]of Object.entries(h.freeDimensionOverrides)){if("string"!=typeof a)throw Error(`free dimension override name must be a string: ${a}`);if("number"!=typeof b||!Number.isInteger(b)||b<0)throw Error(`free dimension override value must be a non-negative integer: ${b}`);let c=y(a,g);0!==d._OrtAddFreeDimensionOverride(f,c,b)&&A(`Can't set a free dimension override: ${a} - ${b}.`)}return void 0!==h.extra&&z(h.extra,"",new WeakSet,(a,b)=>{C(f,a,b,g)}),[f,g]}catch(a){throw 0!==f&&0!==d._OrtReleaseSessionOptions(f)&&A("Can't release session options."),g.forEach(a=>d._free(a)),a}}}),aC=as(()=>{F=a=>{switch(a){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw Error(`unsupported data type: ${a}`)}},G=a=>{switch(a){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw Error(`unsupported data type: ${a}`)}},H=(a,b)=>{let c=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][a],d="number"==typeof b?b:b.reduce((a,b)=>a*b,1);return c>0?Math.ceil(d*c):void 0},I=a=>{switch(a){case"float16":return"u">typeof Float16Array?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":case"bool":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw Error(`unsupported type: ${a}`)}},J=a=>{switch(a){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw Error(`unsupported logging level: ${a}`)}},K=a=>"float32"===a||"float16"===a||"int32"===a||"int64"===a||"uint32"===a||"uint8"===a||"bool"===a||"uint4"===a||"int4"===a,L=a=>"float32"===a||"float16"===a||"int32"===a||"int64"===a||"uint32"===a||"uint64"===a||"int8"===a||"uint8"===a||"bool"===a||"uint4"===a||"int4"===a,M=a=>{switch(a){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw Error(`unsupported data location: ${a}`)}}}),aD=as(()=>{aw(),N=async b=>{if("string"!=typeof b)return b instanceof Blob?new Uint8Array(await b.arrayBuffer()):b instanceof Uint8Array?b:new Uint8Array(b);if(j)try{let{readFile:c}=a.r(12714);return new Uint8Array(await c(b))}catch(c){if("ERR_FS_FILE_TOO_LARGE"===c.code){let{createReadStream:c}=a.r(2157),d=c(b),f=[];for await(let a of d)f.push(a);return new Uint8Array(Buffer.concat(f))}throw c}{let a=await fetch(b);if(!a.ok)throw Error(`failed to load external data file: ${b}`);let c=a.headers.get("Content-Length"),d=c?parseInt(c,10):0;if(d<0x40000000)return new Uint8Array(await a.arrayBuffer());{if(!a.body)throw Error(`failed to load external data file: ${b}, no response body.`);let c=a.body.getReader(),f;try{f=new ArrayBuffer(d)}catch(a){if(a instanceof RangeError){let a=Math.ceil(d/65536);f=new WebAssembly.Memory({initial:a,maximum:a}).buffer}else throw a}let g=0;for(;;){let{done:a,value:b}=await c.read();if(a)break;let d=b.byteLength;new Uint8Array(f,g,d).set(b),g+=d}return new Uint8Array(f,0,d)}}}}),aE=as(()=>{O=a.r(20696),aA(),aB(),aC(),ay(),az(),aD(),P=async a=>{var b,c;b=a.wasm.numThreads,c=J(a.logLevel),0!==x()._OrtInit(b,c)&&A("Can't initialize onnxruntime.")},Q=async(a,b)=>{x().asyncInit?.();let c=a.webgpu.adapter;if("webgpu"===b){if(typeof navigator>"u"||!navigator.gpu)throw Error("WebGPU is not supported in current environment");if(c){if("object"!=typeof c.limits||"object"!=typeof c.features||"function"!=typeof c.requestDevice)throw Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let b=a.webgpu.powerPreference;if(void 0!==b&&"low-power"!==b&&"high-performance"!==b)throw Error(`Invalid powerPreference setting: "${b}"`);let d=a.webgpu.forceFallbackAdapter;if(void 0!==d&&"boolean"!=typeof d)throw Error(`Invalid forceFallbackAdapter setting: "${d}"`);if(!(c=await navigator.gpu.requestAdapter({powerPreference:b,forceFallbackAdapter:d})))throw Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}}if("webnn"===b&&(typeof navigator>"u"||!navigator.ml))throw Error("WebNN is not supported in current environment")},R=new Map,S=(a,b)=>{let c=x(),d=c.stackSave(),f=0;try{let d=c.PTR_SIZE,g=c.stackAlloc(2*d);0!==c._OrtGetInputOutputMetadata(a,b,g,g+d)&&A("Can't get session input/output metadata.");let h=Number(c.getValue(g,"*"));f=Number(c.getValue(g+d,"*"));let i=c.HEAP32[f/4];if(0===i)return[h,0];let j=c.HEAPU32[f/4+1],k=[];for(let a=0;a<j;a++){let b=Number(c.getValue(f+8+a*d,"*"));k.push(0!==b?c.UTF8ToString(b):Number(c.getValue(f+8+(a+j)*d,"*")))}return[h,i,k]}finally{c.stackRestore(d),0!==f&&c._OrtFree(f)}},T=a=>{let b=x(),c=b._malloc(a.byteLength);if(0===c)throw Error(`Can't create a session. failed to allocate a buffer of size ${a.byteLength}.`);return b.HEAPU8.set(a,c),[c,a.byteLength]},U=async(a,b)=>{let c,d,f=x();Array.isArray(a)?[c,d]=a:a.buffer===f.HEAPU8.buffer?[c,d]=[a.byteOffset,a.byteLength]:[c,d]=T(a);let g=0,h=0,i=[],j=[],k=[];try{if([h,i]=await E(b),b?.externalData&&f.mountExternalData){let a=[];for(let c of b.externalData){let b="string"==typeof c?c:c.path,d="string"==typeof c?c:c.data;a.push(N(d).then(a=>{f.mountExternalData(b,a)}))}await Promise.all(a)}for(let a of b?.executionProviders??[])if(("string"==typeof a?a:a.name)==="webnn"){if(f.shouldTransferToMLTensor=!1,"string"!=typeof a){let b=a?.context,c=a?.gpuDevice,d=a?.deviceType,g=a?.powerPreference;b?f.currentContext=b:c?f.currentContext=await f.webnnCreateMLContext(c):f.currentContext=await f.webnnCreateMLContext({deviceType:d,powerPreference:g})}else f.currentContext=await f.webnnCreateMLContext();break}g=await f._OrtCreateSession(c,d,h),f.webgpuOnCreateSession?.(g),0===g&&A("Can't create a session."),f.jsepOnCreateSession?.(),f.currentContext&&(f.webnnRegisterMLContext(g,f.currentContext),f.currentContext=void 0,f.shouldTransferToMLTensor=!0);let[a,l]=(a=>{let b=x(),c=b.stackSave();try{let c=b.PTR_SIZE,d=b.stackAlloc(2*c);0!==b._OrtGetInputOutputCount(a,d,d+c)&&A("Can't get session input/output count.");let f=4===c?"i32":"i64";return[Number(b.getValue(d,f)),Number(b.getValue(d+c,f))]}finally{b.stackRestore(c)}})(g),m=!!b?.enableGraphCapture,n=[],o=[],p=[],q=[];for(let b=0;b<a;b++){let[a,c,d]=S(g,b);0===a&&A("Can't get an input name."),j.push(a);let h=f.UTF8ToString(a);n.push(h),p.push(0===c?{name:h,isTensor:!1}:{name:h,isTensor:!0,type:G(c),shape:d})}for(let b=0;b<l;b++){let[c,d,h]=S(g,b+a);0===c&&A("Can't get an output name."),k.push(c);let i=f.UTF8ToString(c);o.push(i),q.push(0===d?{name:i,isTensor:!1}:{name:i,isTensor:!0,type:G(d),shape:h})}return R.set(g,[g,j,k,null,m,!1]),[g,n,o,p,q]}catch(a){throw j.forEach(a=>f._OrtFree(a)),k.forEach(a=>f._OrtFree(a)),0!==g&&0!==f._OrtReleaseSession(g)&&A("Can't release session."),a}finally{f._free(c),0!==h&&0!==f._OrtReleaseSessionOptions(h)&&A("Can't release session options."),i.forEach(a=>f._free(a)),f.unmountExternalData?.()}},V=a=>{let b=x(),c=R.get(a);if(!c)throw Error(`cannot release session. invalid session id: ${a}`);let[d,f,g,h,i]=c;h&&(i&&0!==b._OrtClearBoundOutputs(h.handle)&&A("Can't clear bound outputs."),0!==b._OrtReleaseBinding(h.handle)&&A("Can't release IO binding.")),b.jsepOnReleaseSession?.(a),b.webnnOnReleaseSession?.(a),b.webgpuOnReleaseSession?.(a),f.forEach(a=>b._OrtFree(a)),g.forEach(a=>b._OrtFree(a)),0!==b._OrtReleaseSession(d)&&A("Can't release session."),R.delete(a)},W=async(a,b,c,d,f,g,h=!1)=>{if(!a)return void b.push(0);let i=x(),j=i.PTR_SIZE,k=a[0],l=a[1],m=a[3],n=m,o,p;if("string"===k&&("gpu-buffer"===m||"ml-tensor"===m))throw Error("String tensor is not supported on GPU.");if(h&&"gpu-buffer"!==m)throw Error(`External buffer must be provided for input/output index ${g} when enableGraphCapture is true.`);if("gpu-buffer"===m){let b=a[2].gpuBuffer;p=H(F(k),l);{let a=i.jsepRegisterBuffer;if(!a)throw Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');o=a(d,g,b,p)}}else if("ml-tensor"===m){let b=a[2].mlTensor;p=H(F(k),l);let c=i.webnnRegisterMLTensor;if(!c)throw Error('Tensor location "ml-tensor" is not supported without using WebNN.');o=c(d,b,F(k),l)}else{let b=a[2];if(Array.isArray(b)){p=j*b.length,o=i._malloc(p),c.push(o);for(let a=0;a<b.length;a++){if("string"!=typeof b[a])throw TypeError(`tensor data at index ${a} is not a string`);i.setValue(o+a*j,y(b[a],c),"*")}}else{let a=i.webnnIsGraphInput,g=i.webnnIsGraphOutput;if("string"!==k&&a&&g){let h=i.UTF8ToString(f);if(a(d,h)||g(d,h)){let a=F(k);p=H(a,l),n="ml-tensor";let c=i.webnnCreateTemporaryTensor,f=i.webnnUploadTensor;if(!c||!f)throw Error('Tensor location "ml-tensor" is not supported without using WebNN.');let g=await c(d,a,l);f(g,new Uint8Array(b.buffer,b.byteOffset,b.byteLength)),o=g}else p=b.byteLength,o=i._malloc(p),c.push(o),i.HEAPU8.set(new Uint8Array(b.buffer,b.byteOffset,p),o)}else p=b.byteLength,o=i._malloc(p),c.push(o),i.HEAPU8.set(new Uint8Array(b.buffer,b.byteOffset,p),o)}}let q=i.stackSave(),r=i.stackAlloc(4*l.length);try{l.forEach((a,b)=>i.setValue(r+b*j,a,4===j?"i32":"i64"));let a=i._OrtCreateTensor(F(k),o,p,r,l.length,M(n));0===a&&A(`Can't create tensor for input/output. session=${d}, index=${g}.`),b.push(a)}finally{i.stackRestore(q)}},X=async(a,b,c,d,f,g)=>{let h=x(),i=h.PTR_SIZE,j=R.get(a);if(!j)throw Error(`cannot run inference. invalid session id: ${a}`);let k=j[0],l=j[1],m=j[2],n=j[3],o=j[4],p=(j[5],b.length),q=d.length,r=0,s=[],t=[],u=[],v=[],w=[],y=h.stackSave(),z=h.stackAlloc(p*i),C=h.stackAlloc(p*i),D=h.stackAlloc(q*i),E=h.stackAlloc(q*i);try{let j;[r,s]=B(g),(0,O.TRACE_EVENT_BEGIN)("wasm prepareInputOutputTensor");for(let d=0;d<p;d++)await W(c[d],t,v,a,l[b[d]],b[d],o);for(let b=0;b<q;b++)await W(f[b],u,v,a,m[d[b]],p+d[b],o);(0,O.TRACE_EVENT_END)("wasm prepareInputOutputTensor");for(let a=0;a<p;a++)h.setValue(z+a*i,t[a],"*"),h.setValue(C+a*i,l[b[a]],"*");for(let a=0;a<q;a++)h.setValue(D+a*i,u[a],"*"),h.setValue(E+a*i,m[d[a]],"*");h.jsepOnRunStart?.(k),h.webnnOnRunStart?.(k),j=await h._OrtRun(k,C,z,p,E,q,D,r),0!==j&&A("failed to call OrtRun().");let x=[],y=[];(0,O.TRACE_EVENT_BEGIN)("wasm ProcessOutputTensor");for(let b=0;b<q;b++){let c=Number(h.getValue(D+b*i,"*"));if(c===u[b]||w.includes(u[b])){x.push(f[b]),c!==u[b]&&0!==h._OrtReleaseTensor(c)&&A("Can't release tensor.");continue}let g=h.stackSave(),j=h.stackAlloc(4*i),k=!1,l,m=0;try{0!==h._OrtGetTensorData(c,j,j+i,j+2*i,j+3*i)&&A(`Can't access output tensor data on index ${b}.`);let f=4===i?"i32":"i64",g=Number(h.getValue(j,f));m=h.getValue(j+i,"*");let o=h.getValue(j+2*i,"*"),p=Number(h.getValue(j+3*i,f)),q=[];for(let a=0;a<p;a++)q.push(Number(h.getValue(o+a*i,f)));0!==h._OrtFree(o)&&A("Can't free memory for tensor dims.");let r=q.reduce((a,b)=>a*b,1);l=G(g);let s=n?.outputPreferredLocations[d[b]];if("string"===l){if("gpu-buffer"===s||"ml-tensor"===s)throw Error("String tensor is not supported on GPU.");let a=[];for(let b=0;b<r;b++){let c=h.getValue(m+b*i,"*"),d=h.getValue(m+(b+1)*i,"*"),f=b===r-1?void 0:d-c;a.push(h.UTF8ToString(c,f))}x.push([l,q,a,"cpu"])}else if("gpu-buffer"===s&&r>0){let a=h.jsepGetBuffer;if(!a)throw Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let b=a(m),d=H(g,r);if(void 0===d||!K(l))throw Error(`Unsupported data type: ${l}`);k=!0,x.push([l,q,{gpuBuffer:b,download:h.jsepCreateDownloader(b,d,l),dispose:()=>{0!==h._OrtReleaseTensor(c)&&A("Can't release tensor.")}},"gpu-buffer"])}else if("ml-tensor"===s&&r>0){let b=h.webnnEnsureTensor,d=h.webnnIsGraphInputOutputTypeSupported;if(!b||!d)throw Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(void 0===H(g,r)||!L(l))throw Error(`Unsupported data type: ${l}`);if(!d(a,l,!1))throw Error(`preferredLocation "ml-tensor" for ${l} output is not supported by current WebNN Context.`);let f=await b(a,m,g,q,!1);k=!0,x.push([l,q,{mlTensor:f,download:h.webnnCreateMLTensorDownloader(m,l),dispose:()=>{h.webnnReleaseTensorId(m),h._OrtReleaseTensor(c)}},"ml-tensor"])}else if("ml-tensor-cpu-output"===s&&r>0){let a=h.webnnCreateMLTensorDownloader(m,l)(),b=x.length;k=!0,y.push((async()=>{let d=[b,await a];return h.webnnReleaseTensorId(m),h._OrtReleaseTensor(c),d})()),x.push([l,q,[],"cpu"])}else{let a=new(I(l))(r);new Uint8Array(a.buffer,a.byteOffset,a.byteLength).set(h.HEAPU8.subarray(m,m+a.byteLength)),x.push([l,q,a,"cpu"])}}finally{h.stackRestore(g),"string"===l&&m&&h._free(m),k||h._OrtReleaseTensor(c)}}for(let[b,c]of(n&&!o&&(0!==h._OrtClearBoundOutputs(n.handle)&&A("Can't clear bound outputs."),R.set(a,[k,l,m,n,o,!1])),await Promise.all(y)))x[b][2]=c;return(0,O.TRACE_EVENT_END)("wasm ProcessOutputTensor"),x}finally{h.webnnOnRunEnd?.(k),h.stackRestore(y),t.forEach(a=>h._OrtReleaseTensor(a)),u.forEach(a=>h._OrtReleaseTensor(a)),v.forEach(a=>h._free(a)),0!==r&&h._OrtReleaseRunOptions(r),s.forEach(a=>h._free(a))}},Y=a=>{let b=x(),c=R.get(a);if(!c)throw Error("invalid session id");let d=c[0],f=b._OrtEndProfiling(d);0===f&&A("Can't get an profile file name."),b._OrtFree(f)}}),aF=as(()=>{Z=a.r(20696),aE(),ay(),ax(),$=!1,_=!1,aa=!1,ab=async()=>{if(!_){if($)throw Error("multiple calls to 'initWasm()' detected.");if(aa)throw Error("previous call to 'initWasm()' failed.");$=!0;try{await w(Z.env.wasm),await P(Z.env),_=!0}catch(a){throw aa=!0,a}finally{$=!1}}},ac=async a=>{await Q(Z.env,a)},ad=async a=>T(a),ae=async(a,b)=>U(a,b),af=async a=>{V(a)},ag=async(a,b,c,d,f,g)=>X(a,b,c,d,f,g),ah=async a=>{Y(a)}}),aG=as(()=>{ai=a.r(20696),aF(),aC(),aw(),aD(),aj=(a,b)=>{switch(a.location){case"cpu":return[a.type,a.dims,a.data,"cpu"];case"gpu-buffer":return[a.type,a.dims,{gpuBuffer:a.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[a.type,a.dims,{mlTensor:a.mlTensor},"ml-tensor"];default:throw Error(`invalid data location: ${a.location} for ${b()}`)}},ak=a=>{switch(a[3]){case"cpu":return new ai.Tensor(a[0],a[2],a[1]);case"gpu-buffer":{let b=a[0];if(!K(b))throw Error(`not supported data type: ${b} for deserializing GPU tensor`);let{gpuBuffer:c,download:d,dispose:f}=a[2];return ai.Tensor.fromGpuBuffer(c,{dataType:b,dims:a[1],download:d,dispose:f})}case"ml-tensor":{let b=a[0];if(!L(b))throw Error(`not supported data type: ${b} for deserializing MLTensor tensor`);let{mlTensor:c,download:d,dispose:f}=a[2];return ai.Tensor.fromMLTensor(c,{dataType:b,dims:a[1],download:d,dispose:f})}default:throw Error(`invalid data location: ${a[3]}`)}},al=class{async fetchModelAndCopyToWasmMemory(a){return ad(await N(a))}async loadModel(a,b){let c;(0,ai.TRACE_FUNC_BEGIN)(),c="string"==typeof a?j?await N(a):await this.fetchModelAndCopyToWasmMemory(a):a,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await ae(c,b),(0,ai.TRACE_FUNC_END)()}async dispose(){return af(this.sessionId)}async run(a,b,c){(0,ai.TRACE_FUNC_BEGIN)();let d=[],f=[];Object.entries(a).forEach(a=>{let b=a[0],c=a[1],g=this.inputNames.indexOf(b);if(-1===g)throw Error(`invalid input '${b}'`);d.push(c),f.push(g)});let g=[],h=[];Object.entries(b).forEach(a=>{let b=a[0],c=a[1],d=this.outputNames.indexOf(b);if(-1===d)throw Error(`invalid output '${b}'`);g.push(c),h.push(d)});let i=d.map((a,b)=>aj(a,()=>`input "${this.inputNames[f[b]]}"`)),j=g.map((a,b)=>a?aj(a,()=>`output "${this.outputNames[h[b]]}"`):null),k=await ag(this.sessionId,f,i,h,j,c),l={};for(let a=0;a<k.length;a++)l[this.outputNames[h[a]]]=g[a]??ak(k[a]);return(0,ai.TRACE_FUNC_END)(),l}startProfiling(){}endProfiling(){ah(this.sessionId)}}}),aH={};at(aH,{OnnxruntimeWebAssemblyBackend:()=>aK,initializeFlags:()=>aJ,wasmBackend:()=>aL});var aI,aJ,aK,aL,aM=as(()=>{aI=a.r(20696),aF(),aG(),aJ=()=>{("number"!=typeof aI.env.wasm.initTimeout||aI.env.wasm.initTimeout<0)&&(aI.env.wasm.initTimeout=0);let b=aI.env.wasm.simd;if("boolean"!=typeof b&&void 0!==b&&"fixed"!==b&&"relaxed"!==b&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${b}". Reset it to \`false\` and ignore SIMD feature checking.`),aI.env.wasm.simd=!1),"boolean"!=typeof aI.env.wasm.proxy&&(aI.env.wasm.proxy=!1),"boolean"!=typeof aI.env.wasm.trace&&(aI.env.wasm.trace=!1),"number"!=typeof aI.env.wasm.numThreads||!Number.isInteger(aI.env.wasm.numThreads)||aI.env.wasm.numThreads<=0)if("u">typeof self&&!self.crossOriginIsolated)aI.env.wasm.numThreads=1;else{let b=typeof navigator>"u"?a.r(60526).cpus().length:navigator.hardwareConcurrency;aI.env.wasm.numThreads=Math.min(4,Math.ceil((b||1)/2))}},aL=new(aK=class{async init(a){aJ(),await ab(),await ac(a)}async createInferenceSessionHandler(a,b){let c=new al;return await c.loadModel(a,b),c}})}),aN={};at(aN,{default:()=>aQ}),b.exports=av(aN),d=a.r(20696),f=b.exports,au(aN,d,"default"),f&&au(f,d,"default");var aO=(i=null!=(g=a.r(20696))?am(aq(g)):{},au(!h&&g&&g.__esModule?i:an(i,"default",{value:g,enumerable:!0}),g)),aP=a.r(20696),aQ=aO;{let a=(aM(),av(aH)).wasmBackend;(0,aP.registerBackend)("cpu",a,10),(0,aP.registerBackend)("wasm",a,10)}Object.defineProperty(aP.env.versions,"web",{value:"1.30.0",enumerable:!0})},39311,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0})},30947,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.SileroLegacy=void 0;let d=a.r(64332);class f{constructor(a,b,c,d,f){this.ortInstance=a,this._session=b,this._h=c,this._c=d,this._sr=f,this.reset_state=()=>{let a=Array(128).fill(0);this._h=new this.ortInstance.Tensor("float32",a,[2,1,64]),this._c=new this.ortInstance.Tensor("float32",a,[2,1,64])},this.process=async a=>{let b={input:new this.ortInstance.Tensor("float32",a,[1,a.length]),h:this._h,c:this._c,sr:this._sr},c=await this._session.run(b);this._h=c.hn,this._c=c.cn;let[d]=c.output?.data;return{notSpeech:1-d,isSpeech:d}},this.release=async()=>{await this._session.release(),this._h.dispose(),this._c.dispose(),this._sr.dispose()}}}c.SileroLegacy=f,f.new=async(a,b)=>{d.log.debug("initializing vad");let c=await b(),g=await a.InferenceSession.create(c),h=new a.Tensor("int64",[16000n]),i=Array(128).fill(0),j=new a.Tensor("float32",i,[2,1,64]),k=new a.Tensor("float32",i,[2,1,64]);return d.log.debug("vad is initialized"),new f(a,g,j,k,h)}},16985,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.Silero=void 0;let d=a.r(64332);function f(a){let b=Array(256).fill(0);return new a.Tensor("float32",b,[2,1,128])}class g{constructor(a,b,c,d){this._session=a,this._state=b,this._sr=c,this.ortInstance=d,this._context=new Float32Array(64),this.reset_state=()=>{this._state=f(this.ortInstance),this._context=new Float32Array(64)},this.process=async a=>{let b=new Float32Array(64+a.length);b.set(this._context,0),b.set(a,64),this._context=a.slice(-64);let c={input:new this.ortInstance.Tensor("float32",b,[1,b.length]),state:this._state,sr:this._sr},d=await this._session.run(c);if(!d.stateN)throw Error("No state from model");if(this._state=d.stateN,!d.output?.data)throw Error("No output from model");let f=d.output.data[0];if("number"!=typeof f)throw Error("Weird output data");return{notSpeech:1-f,isSpeech:f}},this.release=async()=>{await this._session.release(),this._state.dispose(),this._sr.dispose()}}}c.Silero=g,g.new=async(a,b)=>{d.log.debug("Loading VAD...");let c=await b(),h=await a.InferenceSession.create(c),i=new a.Tensor("int64",[16000n]),j=f(a);return d.log.debug("...finished loading VAD"),new g(h,j,i,a)}},10713,(a,b,c)=>{"use strict";var d=a.e&&a.e.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c);var f=Object.getOwnPropertyDescriptor(b,c);(!f||("get"in f?!b.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return b[c]}}),Object.defineProperty(a,d,f)}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),f=a.e&&a.e.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(c,"__esModule",{value:!0}),c.Silero=c.SileroLegacy=void 0,f(a.r(39311),c);var g=a.r(30947);Object.defineProperty(c,"SileroLegacy",{enumerable:!0,get:function(){return g.SileroLegacy}});var h=a.r(16985);Object.defineProperty(c,"Silero",{enumerable:!0,get:function(){return h.Silero}})},32928,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.Resampler=void 0;let d=a.r(64332);c.Resampler=class{constructor(a){this.options=a,this.process=a=>{let b=[];for(let c of a)for(this.inputBuffer.push(c);this.hasEnoughDataForFrame();){let a=this.generateOutputFrame();b.push(a)}return b},a.nativeSampleRate<16e3&&d.log.error("nativeSampleRate is too low. Should have 16000 = targetSampleRate <= nativeSampleRate"),this.inputBuffer=[]}async *stream(a){for(let b of a)for(this.inputBuffer.push(b);this.hasEnoughDataForFrame();){let a=this.generateOutputFrame();yield a}}hasEnoughDataForFrame(){return this.inputBuffer.length*this.options.targetSampleRate/this.options.nativeSampleRate>=this.options.targetFrameSize}generateOutputFrame(){let a=new Float32Array(this.options.targetFrameSize),b=0,c=0;for(;b<this.options.targetFrameSize;){let d=0,f=0;for(;c<Math.min(this.inputBuffer.length,(b+1)*this.options.nativeSampleRate/this.options.targetSampleRate);){let a=this.inputBuffer[c];void 0!==a&&(d+=a,f++),c++}a[b]=d/f,b++}return this.inputBuffer=this.inputBuffer.slice(c),a}}},33484,(a,b,c)=>{"use strict";var d=a.e&&a.e.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c);var f=Object.getOwnPropertyDescriptor(b,c);(!f||("get"in f?!b.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return b[c]}}),Object.defineProperty(a,d,f)}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),f=a.e&&a.e.__setModuleDefault||(Object.create?function(a,b){Object.defineProperty(a,"default",{enumerable:!0,value:b})}:function(a,b){a.default=b}),g=a.e&&a.e.__importStar||function(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)"default"!==c&&Object.prototype.hasOwnProperty.call(a,c)&&d(b,a,c);return f(b,a),b};Object.defineProperty(c,"__esModule",{value:!0}),c.NonRealTimeVAD=c.defaultNonRealTimeVADOptions=void 0;let h=g(a.r(26151)),i=a.r(99189),j=a.r(3623),k=a.r(39934),l=a.r(24278),m=a.r(10713),n=a.r(32928);c.defaultNonRealTimeVADOptions={...k.defaultFrameProcessorOptions,modelURL:i.baseAssetPath+"silero_vad_legacy.onnx",modelFetcher:j.defaultModelFetcher},c.NonRealTimeVAD=class{static async new(a={}){let b={...c.defaultNonRealTimeVADOptions,...a};(0,k.validateOptions)(b),void 0!==b.ortConfig&&b.ortConfig(h);let d=()=>b.modelFetcher(b.modelURL),f=await m.SileroLegacy.new(h,d),g=new k.FrameProcessor(f.process,f.reset_state,{positiveSpeechThreshold:b.positiveSpeechThreshold,negativeSpeechThreshold:b.negativeSpeechThreshold,redemptionMs:b.redemptionMs,preSpeechPadMs:b.preSpeechPadMs,minSpeechMs:b.minSpeechMs,submitUserSpeechOnPause:b.submitUserSpeechOnPause},96);return g.resume(),new this(d,h,b,g)}constructor(a,b,c,d){this.modelFetcher=a,this.ort=b,this.options=c,this.frameProcessor=d,this.frameSamples=1536}async *run(a,b){let c={nativeSampleRate:b,targetSampleRate:16e3,targetFrameSize:this.frameSamples},d=new n.Resampler(c),f=0,g=0,h=0;for await(let b of d.stream(a)){let a=[];for(let c of(await this.frameProcessor.process(b,b=>{a.push(b)}),a))switch(c.msg){case l.Message.SpeechStart:f=h*this.frameSamples/16;break;case l.Message.SpeechEnd:g=(h+1)*this.frameSamples/16,yield{audio:c.audio,start:f,end:g}}h++}let i=[];for(let a of(this.frameProcessor.endSegment(a=>{i.push(a)}),i))a.msg===l.Message.SpeechEnd&&(yield{audio:a.audio,start:f,end:h*this.frameSamples/16})}}},29831,(a,b,c)=>{"use strict";function d(a,b,c){for(let d=0;d<c.length;d++)a.setUint8(b+d,c.charCodeAt(d))}Object.defineProperty(c,"__esModule",{value:!0}),c.audioFileToArray=c.encodeWAV=c.arrayBufferToBase64=c.minFramesForTargetMS=void 0,c.minFramesForTargetMS=function(a,b,c=16e3){return Math.ceil(a*c/1e3/b)},c.arrayBufferToBase64=function(a){let b=new Uint8Array(a),c=b.byteLength,d=Array(c);for(let a=0;a<c;a++){let c=b[a];if(void 0===c)break;d[a]=String.fromCharCode(c)}return btoa(d.join(""))},c.encodeWAV=function(a,b=3,c=16e3,f=1,g=32){let h=g/8,i=f*h,j=new ArrayBuffer(44+a.length*h),k=new DataView(j);return d(k,0,"RIFF"),k.setUint32(4,36+a.length*h,!0),d(k,8,"WAVE"),d(k,12,"fmt "),k.setUint32(16,16,!0),k.setUint16(20,b,!0),k.setUint16(22,f,!0),k.setUint32(24,c,!0),k.setUint32(28,c*i,!0),k.setUint16(32,i,!0),k.setUint16(34,g,!0),d(k,36,"data"),k.setUint32(40,a.length*h,!0),1===b?function(a,b,c){for(let d=0;d<c.length;d++,b+=2){let f=Math.max(-1,Math.min(1,c[d]));a.setInt16(b,f<0?32768*f:32767*f,!0)}}(k,44,a):function(a,b,c){for(let d=0;d<c.length;d++,b+=4)a.setFloat32(b,c[d],!0)}(k,44,a),j},c.audioFileToArray=async function(a){let b=new OfflineAudioContext(1,1,44100),c=new FileReader,d=null;if(await new Promise(f=>{c.addEventListener("loadend",()=>{let a=c.result;b.decodeAudioData(a,a=>{d=a,b.startRendering().then(()=>{console.log("Rendering completed successfully"),f()}).catch(a=>{console.error("Rendering failed: ",a)})},a=>{console.log("Error with decoding audio data: ",a)})}),c.readAsArrayBuffer(a)}),null===d)throw Error("some shit");let f=d,g=new Float32Array(f.length);for(let a=0;a<f.length;a++)for(let b=0;b<f.numberOfChannels;b++){let c=f.getChannelData(b)[a],d=g[a];if(void 0===c||void 0===d)throw Error("sample or out[i] is undefined");g[a]=d+c}return{audio:g,sampleRate:f.sampleRate}}},96114,(a,b,c)=>{"use strict";var d,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aI,aJ,aK,aL,aM,aN,aO,aP,aQ,aR,aS,aT,aU,aV,aW,aX,aY,aZ,a$,a_,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG;let bH;d=Object.defineProperty,f=Object.getOwnPropertyDescriptor,g=Object.getOwnPropertyNames,h=Object.prototype.hasOwnProperty,i=a.t,j=(a,b,c)=>()=>{if(c)throw c[0];try{return a&&(b=a(a=0)),b}catch(a){throw c=[a],a}},k=(a,b)=>{for(var c in b)d(a,c,{get:b[c],enumerable:!0})},l=a=>((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let i of g(b))h.call(a,i)||void 0===i||d(a,i,{get:()=>b[i],enumerable:!(c=f(b,i))||c.enumerable});return a})(d({},"__esModule",{value:!0}),a),r=j(()=>{m=new Map,n=[],o=(a,b,c)=>{if(b&&"function"==typeof b.init&&"function"==typeof b.createInferenceSessionHandler){let d=m.get(a);if(void 0===d)m.set(a,{backend:b,priority:c});else{if(d.priority>c)return;if(d.priority===c&&d.backend!==b)throw Error(`cannot register backend "${a}" using priority ${c}`)}if(c>=0){let b=n.indexOf(a);-1!==b&&n.splice(b,1);for(let b=0;b<n.length;b++)if(m.get(n[b]).priority<=c)return void n.splice(b,0,a);n.push(a)}return}throw TypeError("not a valid backend")},p=async a=>{let b=m.get(a);if(!b)return"backend not found.";if(b.initialized)return b.backend;if(b.aborted)return b.error;{let c=!!b.initPromise;try{return c||(b.initPromise=b.backend.init(a)),await b.initPromise,b.initialized=!0,b.backend}catch(a){return c||(b.error=`${a}`,b.aborted=!0),b.error}finally{delete b.initPromise}}},q=async a=>{let b=a.executionProviders||[],c=b.map(a=>"string"==typeof a?a:a.name),d=0===c.length?n:c,f,g=[],h=new Set;for(let a of d){let b=await p(a);"string"==typeof b?g.push({name:a,err:b}):(f||(f=b),f===b&&h.add(a))}if(!f)throw Error(`no available backend found. ERR: ${g.map(a=>`[${a.name}] ${a.err}`).join(", ")}`);for(let{name:a,err:b}of g)c.includes(a)&&console.warn(`removing requested execution provider "${a}" from session options because it is not available: ${b}`);let i=b.filter(a=>h.has("string"==typeof a?a:a.name));return[f,new Proxy(a,{get:(a,b)=>"executionProviders"===b?i:Reflect.get(a,b)})]}}),s=j(()=>{r()}),u=j(()=>{t="1.30.0"}),x=j(()=>{u(),v="warning",Object.defineProperty(w={wasm:{},webgl:{},webgpu:{},versions:{common:t},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}`);v=e}},get logLevel(){return v}},"logLevel",{enumerable:!0})}),z=j(()=>{x(),y=w}),C=j(()=>{A=(a,b)=>{let c="u">typeof document?document.createElement("canvas"):new OffscreenCanvas(1,1);c.width=a.dims[3],c.height=a.dims[2];let d=c.getContext("2d");if(null!=d){let f,g;b?.tensorLayout!==void 0&&"NHWC"===b.tensorLayout?(f=a.dims[2],g=a.dims[3]):(f=a.dims[3],g=a.dims[2]);let h=b?.format!==void 0?b.format:"RGB",i=b?.norm,j,k;void 0===i||void 0===i.mean?j=[255,255,255,255]:"number"==typeof i.mean?j=[i.mean,i.mean,i.mean,i.mean]:(j=[i.mean[0],i.mean[1],i.mean[2],0],void 0!==i.mean[3]&&(j[3]=i.mean[3])),void 0===i||void 0===i.bias?k=[0,0,0,0]:"number"==typeof i.bias?k=[i.bias,i.bias,i.bias,i.bias]:(k=[i.bias[0],i.bias[1],i.bias[2],0],void 0!==i.bias[3]&&(k[3]=i.bias[3]));let l=g*f,m=0,n=l,o=2*l,p=-1;"RGBA"===h?(m=0,n=l,o=2*l,p=3*l):"RGB"===h?(m=0,n=l,o=2*l):"RBG"===h&&(m=0,o=l,n=2*l);for(let b=0;b<g;b++)for(let c=0;c<f;c++)d.fillStyle="rgba("+(a.data[m++]-k[0])*j[0]+","+(a.data[n++]-k[1])*j[1]+","+(a.data[o++]-k[2])*j[2]+","+(-1===p?255:(a.data[p++]-k[3])*j[3])+")",d.fillRect(c,b,1,1);if("toDataURL"in c)return c.toDataURL();throw Error("toDataURL is not supported")}throw Error("Can not access image data")},B=(a,b)=>{let c="u">typeof document?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),d;if(null!=c){let f,g,h;b?.tensorLayout!==void 0&&"NHWC"===b.tensorLayout?(f=a.dims[2],g=a.dims[1],h=a.dims[3]):(f=a.dims[3],g=a.dims[2],h=a.dims[1]);let i=void 0!==b&&void 0!==b.format?b.format:"RGB",j=b?.norm,k,l;void 0===j||void 0===j.mean?k=[255,255,255,255]:"number"==typeof j.mean?k=[j.mean,j.mean,j.mean,j.mean]:(k=[j.mean[0],j.mean[1],j.mean[2],255],void 0!==j.mean[3]&&(k[3]=j.mean[3])),void 0===j||void 0===j.bias?l=[0,0,0,0]:"number"==typeof j.bias?l=[j.bias,j.bias,j.bias,j.bias]:(l=[j.bias[0],j.bias[1],j.bias[2],0],void 0!==j.bias[3]&&(l[3]=j.bias[3]));let m=g*f;if(void 0!==b&&(void 0!==b.format&&4===h&&"RGBA"!==b.format||3===h&&"RGB"!==b.format&&"BGR"!==b.format))throw Error("Tensor format doesn't match input tensor dims");let n=0,o=1,p=2,q=3,r=0,s=m,t=2*m,u=-1;"RGBA"===i?(r=0,s=m,t=2*m,u=3*m):"RGB"===i?(r=0,s=m,t=2*m):"RBG"===i&&(r=0,t=m,s=2*m),d=c.createImageData(f,g);for(let b=0;b<g*f;n+=4,o+=4,p+=4,q+=4,b++)d.data[n]=(a.data[r++]-l[0])*k[0],d.data[o]=(a.data[s++]-l[1])*k[1],d.data[p]=(a.data[t++]-l[2])*k[2],d.data[q]=-1===u?255:(a.data[u++]-l[3])*k[3]}else throw Error("Can not access image data");return d}}),J=j(()=>{T(),D=(a,b)=>{if(void 0===a)throw Error("Image buffer must be defined");if(void 0===b.height||void 0===b.width)throw Error("Image height and width must be defined");if("NHWC"===b.tensorLayout)throw Error("NHWC Tensor layout is not supported yet");let{height:c,width:d}=b,f=b.norm??{mean:255,bias:0},g,h;g="number"==typeof f.mean?[f.mean,f.mean,f.mean,f.mean]:[f.mean[0],f.mean[1],f.mean[2],f.mean[3]??255],h="number"==typeof f.bias?[f.bias,f.bias,f.bias,f.bias]:[f.bias[0],f.bias[1],f.bias[2],f.bias[3]??0];let i=void 0!==b.format?b.format:"RGBA",j=void 0!==b.tensorFormat&&void 0!==b.tensorFormat?b.tensorFormat:"RGB",k=c*d,l=new Float32Array("RGBA"===j?4*k:3*k),m=4,n=0,o=1,p=2,q=3,r=0,s=k,t=2*k,u=-1;"RGB"===i&&(m=3,n=0,o=1,p=2,q=-1),"RGBA"===j?u=3*k:"RBG"===j?(r=0,t=k,s=2*k):"BGR"===j&&(t=0,s=k,r=2*k);for(let b=0;b<k;b++,n+=m,p+=m,o+=m,q+=m)l[r++]=(a[n]+h[0])/g[0],l[s++]=(a[o]+h[1])/g[1],l[t++]=(a[p]+h[2])/g[2],-1!==u&&-1!==q&&(l[u++]=(a[q]+h[3])/g[3]);return"RGBA"===j?new S("float32",l,[1,4,c,d]):new S("float32",l,[1,3,c,d])},E=async(a,b)=>{let c="u">typeof HTMLImageElement&&a instanceof HTMLImageElement,d="u">typeof ImageData&&a instanceof ImageData,f="u">typeof ImageBitmap&&a instanceof ImageBitmap,g="string"==typeof a,h,i=b??{},j=()=>{if("u">typeof document)return document.createElement("canvas");if("u">typeof OffscreenCanvas)return new OffscreenCanvas(1,1);throw Error("Canvas is not supported")},k=a=>"u">typeof HTMLCanvasElement&&a instanceof HTMLCanvasElement||a instanceof OffscreenCanvas?a.getContext("2d"):null;if(c){let c=j();c.width=a.width,c.height=a.height;let d=k(c);if(null!=d){let c=a.height,f=a.width;if(void 0!==b&&void 0!==b.resizedHeight&&void 0!==b.resizedWidth&&(c=b.resizedHeight,f=b.resizedWidth),void 0!==b){if(i=b,void 0!==b.tensorFormat)throw Error("Image input config format must be RGBA for HTMLImageElement");i.tensorFormat="RGBA",i.height=c,i.width=f}else i.tensorFormat="RGBA",i.height=c,i.width=f;d.drawImage(a,0,0),h=d.getImageData(0,0,f,c).data}else throw Error("Can not access image data")}else if(d){let c,d;if(void 0!==b&&void 0!==b.resizedWidth&&void 0!==b.resizedHeight?(c=b.resizedHeight,d=b.resizedWidth):(c=a.height,d=a.width),void 0!==b&&(i=b),i.format="RGBA",i.height=c,i.width=d,void 0!==b){let b=j();b.width=d,b.height=c;let f=k(b);if(null!=f)f.putImageData(a,0,0),h=f.getImageData(0,0,d,c).data;else throw Error("Can not access image data")}else h=a.data}else if(f){if(void 0===b)throw Error("Please provide image config with format for Imagebitmap");let c=j();c.width=a.width,c.height=a.height;let d=k(c);if(null!=d){let b=a.height,c=a.width;return d.drawImage(a,0,0,c,b),h=d.getImageData(0,0,c,b).data,i.height=b,i.width=c,D(h,i)}throw Error("Can not access image data")}else{if(g)return new Promise((b,c)=>{let d=j(),f=k(d);if(!a||!f)return c();let g=new Image;g.crossOrigin="Anonymous",g.src=a,g.onload=()=>{d.width=g.width,d.height=g.height,f.drawImage(g,0,0,d.width,d.height);let a=f.getImageData(0,0,d.width,d.height);i.height=d.height,i.width=d.width,b(D(a.data,i))}});throw Error("Input data provided is not supported - aborted tensor creation")}if(void 0!==h)return D(h,i);throw Error("Input data provided is not supported - aborted tensor creation")},F=(a,b)=>{let{width:c,height:d,download:f,dispose:g}=b;return new S({location:"texture",type:"float32",texture:a,dims:[1,d,c,4],download:f,dispose:g})},G=(a,b)=>{let{dataType:c,dims:d,download:f,dispose:g}=b;return new S({location:"gpu-buffer",type:c??"float32",gpuBuffer:a,dims:d,download:f,dispose:g})},H=(a,b)=>{let{dataType:c,dims:d,download:f,dispose:g}=b;return new S({location:"ml-tensor",type:c??"float32",mlTensor:a,dims:d,download:f,dispose:g})},I=(a,b,c)=>new S({location:"cpu-pinned",type:a,data:b,dims:c??[b.length]})}),O=j(()=>{K=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),L=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),M=!1,N=()=>{if(!M){M=!0;let a="u">typeof BigInt64Array&&BigInt64Array.from,b="u">typeof BigUint64Array&&BigUint64Array.from,c=globalThis.Float16Array,d="u">typeof c&&c.from;a&&(K.set("int64",BigInt64Array),L.set(BigInt64Array,"int64")),b&&(K.set("uint64",BigUint64Array),L.set(BigUint64Array,"uint64")),d?(K.set("float16",c),L.set(c,"float16")):K.set("float16",Uint16Array)}}}),R=j(()=>{T(),P=a=>{let b=1;for(let c=0;c<a.length;c++){let d=a[c];if("number"!=typeof d||!Number.isSafeInteger(d))throw TypeError(`dims[${c}] must be an integer, got: ${d}`);if(d<0)throw RangeError(`dims[${c}] must be a non-negative integer, got: ${d}`);b*=d}return b},Q=(a,b)=>{switch(a.location){case"cpu":return new S(a.type,a.data,b);case"cpu-pinned":return new S({location:"cpu-pinned",data:a.data,type:a.type,dims:b});case"texture":return new S({location:"texture",texture:a.texture,type:a.type,dims:b});case"gpu-buffer":return new S({location:"gpu-buffer",gpuBuffer:a.gpuBuffer,type:a.type,dims:b});case"ml-tensor":return new S({location:"ml-tensor",mlTensor:a.mlTensor,type:a.type,dims:b});default:throw Error(`tensorReshape: tensor location ${a.location} is not supported`)}}}),T=j(()=>{C(),J(),O(),R(),S=class{constructor(a,b,c){let d,f;if(N(),"object"==typeof a&&"location"in a)switch(this.dataLocation=a.location,d=a.type,f=a.dims,a.location){case"cpu-pinned":{let b=K.get(d);if(!b)throw TypeError(`unsupported type "${d}" to create tensor from pinned buffer`);if(!(a.data instanceof b))throw TypeError(`buffer should be of type ${b.name}`);this.cpuData=a.data;break}case"texture":if("float32"!==d)throw TypeError(`unsupported type "${d}" to create tensor from texture`);this.gpuTextureData=a.texture,this.downloader=a.download,this.disposer=a.dispose;break;case"gpu-buffer":if("float32"!==d&&"float16"!==d&&"int32"!==d&&"int64"!==d&&"uint32"!==d&&"uint8"!==d&&"bool"!==d&&"uint4"!==d&&"int4"!==d)throw TypeError(`unsupported type "${d}" to create tensor from gpu buffer`);this.gpuBufferData=a.gpuBuffer,this.downloader=a.download,this.disposer=a.dispose;break;case"ml-tensor":if("float32"!==d&&"float16"!==d&&"int32"!==d&&"int64"!==d&&"uint32"!==d&&"uint64"!==d&&"int8"!==d&&"uint8"!==d&&"bool"!==d&&"uint4"!==d&&"int4"!==d)throw TypeError(`unsupported type "${d}" to create tensor from MLTensor`);this.mlTensorData=a.mlTensor,this.downloader=a.download,this.disposer=a.dispose;break;default:throw Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let g,h;if("string"==typeof a)if(d=a,h=c,"string"===a){if(!Array.isArray(b))throw TypeError("A string tensor's data must be a string array.");g=b}else{let c=K.get(a);if(void 0===c)throw TypeError(`Unsupported tensor type: ${a}.`);if(Array.isArray(b)){if("float16"===a&&c===Uint16Array||"uint4"===a||"int4"===a)throw TypeError(`Creating a ${a} tensor from number array is not supported. Please use ${c.name} as data.`);g="uint64"===a||"int64"===a?c.from(b,BigInt):c.from(b)}else if(b instanceof c)g=b;else if(b instanceof Uint8ClampedArray)if("uint8"===a)g=Uint8Array.from(b);else throw TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if("float16"===a&&b instanceof Uint16Array&&c!==Uint16Array)g=new globalThis.Float16Array(b.buffer,b.byteOffset,b.length);else throw TypeError(`A ${d} tensor's data must be type of ${c}`)}else if(h=b,Array.isArray(a)){if(0===a.length)throw TypeError("Tensor type cannot be inferred from an empty array.");let b=typeof a[0];if("string"===b)d="string",g=a;else if("boolean"===b)d="bool",g=Uint8Array.from(a);else throw TypeError(`Invalid element type of data array: ${b}.`)}else if(a instanceof Uint8ClampedArray)d="uint8",g=Uint8Array.from(a);else{let b=L.get(a.constructor);if(void 0===b)throw TypeError(`Unsupported type for tensor data: ${a.constructor}.`);d=b,g=a}if(void 0===h)h=[g.length];else if(!Array.isArray(h))throw TypeError("A tensor's dims must be a number array");f=h,this.cpuData=g,this.dataLocation="cpu"}let g=P(f);if(this.cpuData&&g!==this.cpuData.length&&("uint4"!==d&&"int4"!==d||Math.ceil(g/2)!==this.cpuData.length))throw Error(`Tensor's size(${g}) does not match data length(${this.cpuData.length}).`);this.type=d,this.dims=f,this.size=g}static async fromImage(a,b){return E(a,b)}static fromTexture(a,b){return F(a,b)}static fromGpuBuffer(a,b){return G(a,b)}static fromMLTensor(a,b){return H(a,b)}static fromPinnedBuffer(a,b,c){return I(a,b,c)}toDataURL(a){return A(this,a)}toImageData(a){return B(this,a)}get data(){if(this.ensureValid(),!this.cpuData)throw Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(a){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":if(!this.downloader)throw Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let b=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=b,a&&this.disposer&&(this.disposer(),this.disposer=void 0),b}finally{this.isDownloading=!1}default:throw Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if("none"===this.dataLocation)throw Error("The tensor is disposed.")}reshape(a){if(this.ensureValid(),this.downloader||this.disposer)throw Error("Cannot reshape a tensor that owns GPU resource.");return Q(this,a)}}}),V=j(()=>{T(),U=S}),aa=j(()=>{x(),W=(a,b)=>{(typeof w.trace>"u"?w.wasm.trace:w.trace)&&console.timeStamp(`${a}::ORT::${b}`)},X=(a,b)=>{let c=Error().stack?.split(/\r\n|\r|\n/g)||[],d=!1;for(let f=0;f<c.length;f++){if(d&&!c[f].includes("TRACE_FUNC")){let d=`FUNC_${a}::${c[f].trim().split(" ")[1]}`;b&&(d+=`::${b}`),W("CPU",d);return}c[f].includes("TRACE_FUNC")&&(d=!0)}},Y=a=>{(typeof w.trace>"u"?w.wasm.trace:w.trace)&&X("BEGIN",a)},Z=a=>{(typeof w.trace>"u"?w.wasm.trace:w.trace)&&X("END",a)},$=a=>{(typeof w.trace>"u"?w.wasm.trace:w.trace)&&console.time(`ORT::${a}`)},_=a=>{(typeof w.trace>"u"?w.wasm.trace:w.trace)&&console.timeEnd(`ORT::${a}`)}}),ac=j(()=>{r(),V(),aa(),ab=class a{constructor(a){this.handler=a}async run(a,b,c){Y(),$("InferenceSession.run");let d={},f={};if("object"!=typeof a||null===a||a instanceof U||Array.isArray(a))throw TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let g=!0;if("object"==typeof b){if(null===b)throw TypeError("Unexpected argument[1]: cannot be null.");if(b instanceof U)throw TypeError("'fetches' cannot be a Tensor");if(Array.isArray(b)){if(0===b.length)throw TypeError("'fetches' cannot be an empty array.");for(let a of(g=!1,b)){if("string"!=typeof a)throw TypeError("'fetches' must be a string array or an object.");if(-1===this.outputNames.indexOf(a))throw RangeError(`'fetches' contains invalid output name: ${a}.`);d[a]=null}if("object"==typeof c&&null!==c)f=c;else if("u">typeof c)throw TypeError("'options' must be an object.")}else{let a=!1,h=Object.getOwnPropertyNames(b);for(let c of this.outputNames)if(-1!==h.indexOf(c)){let f=b[c];(null===f||f instanceof U)&&(a=!0,g=!1,d[c]=f)}if(a){if("object"==typeof c&&null!==c)f=c;else if("u">typeof c)throw TypeError("'options' must be an object.")}else f=b}}else if("u">typeof b)throw TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let b of this.inputNames)if(typeof a[b]>"u")throw Error(`input '${b}' is missing in 'feeds'.`);if(g)for(let a of this.outputNames)d[a]=null;let h=await this.handler.run(a,d,f),i={};for(let a in h)if(Object.hasOwnProperty.call(h,a)){let b=h[a];b instanceof U?i[a]=b:i[a]=new U(b.type,b.data,b.dims)}return _("InferenceSession.run"),Z(),i}async release(){return this.handler.dispose()}static async create(b,c,d,f){Y(),$("InferenceSession.create");let g,h={};if("string"==typeof b){if(g=b,"object"==typeof c&&null!==c)h=c;else if("u">typeof c)throw TypeError("'options' must be an object.")}else if(b instanceof Uint8Array){if(g=b,"object"==typeof c&&null!==c)h=c;else if("u">typeof c)throw TypeError("'options' must be an object.")}else if(b instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&b instanceof SharedArrayBuffer){let a=0,i=b.byteLength;if("object"==typeof c&&null!==c)h=c;else if("number"==typeof c){if(!Number.isSafeInteger(a=c))throw RangeError("'byteOffset' must be an integer.");if(a<0||a>=b.byteLength)throw RangeError(`'byteOffset' is out of range [0, ${b.byteLength}).`);if(i=b.byteLength-a,"number"==typeof d){if(!Number.isSafeInteger(i=d))throw RangeError("'byteLength' must be an integer.");if(i<=0||a+i>b.byteLength)throw RangeError(`'byteLength' is out of range (0, ${b.byteLength-a}].`);if("object"==typeof f&&null!==f)h=f;else if("u">typeof f)throw TypeError("'options' must be an object.")}else if("u">typeof d)throw TypeError("'byteLength' must be a number.")}else if("u">typeof c)throw TypeError("'options' must be an object.");g=new Uint8Array(b,a,i)}else throw TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let[i,j]=await q(h),k=await i.createInferenceSessionHandler(g,j);return _("InferenceSession.create"),Z(),new a(k)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}}),ae=j(()=>{ac(),ad=ab}),af=j(()=>{}),ag=j(()=>{}),ah=j(()=>{}),ai=j(()=>{}),k(aj={},{InferenceSession:()=>ad,TRACE:()=>W,TRACE_EVENT_BEGIN:()=>$,TRACE_EVENT_END:()=>_,TRACE_FUNC_BEGIN:()=>Y,TRACE_FUNC_END:()=>Z,Tensor:()=>U,env:()=>y,registerBackend:()=>o}),ak=j(()=>{s(),z(),ae(),V(),af(),ag(),aa(),ah(),ai()}),al=j(()=>{}),k(am={},{default:()=>ao}),ap=j(()=>{bc(),aH(),aA(),(an=globalThis.self?.name==="ort-wasm-proxy-worker")&&(self.onmessage=a=>{let{type:b,in:c}=a.data;try{switch(b){case"init-wasm":aF(c.wasm).then(()=>{a1(c).then(()=>{postMessage({type:b})},a=>{postMessage({type:b,err:a})})},a=>{postMessage({type:b,err:a})});break;case"init-ep":{let{epName:a,env:d}=c;a2(d,a).then(()=>{postMessage({type:b})},a=>{postMessage({type:b,err:a})});break}case"copy-from":{let{buffer:a}=c,d=a5(a);postMessage({type:b,out:d});break}case"create":{let{model:a,options:d}=c;a6(a,d).then(a=>{postMessage({type:b,out:a})},a=>{postMessage({type:b,err:a})});break}case"release":a7(c),postMessage({type:b});break;case"run":{let{sessionId:a,inputIndices:d,inputs:f,outputIndices:g,options:h}=c;a9(a,d,f,g,Array(g.length).fill(null),h).then(a=>{a.some(a=>"cpu"!==a[3])?postMessage({type:b,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:b,out:a},bb([...f,...a]))},a=>{postMessage({type:b,err:a})});break}case"end-profiling":ba(c),postMessage({type:b})}}catch(a){postMessage({type:b,err:a})}}),ao=an?null:a=>new Worker(a??ar,{type:"classic",name:"ort-wasm-proxy-worker"})}),aA=j(()=>{al(),aq=typeof location>"u"?void 0:location.origin,ar="u">typeof document?document.currentScript?.src:"u">typeof self?self.location?.href:void 0,as=()=>{if(ar&&!ar.startsWith("blob:"))return ar.substring(0,ar.lastIndexOf("/")+1)},at=(a,b)=>{try{let c=b??ar;return(c?new URL(a,c):new URL(a)).origin===aq}catch{return!1}},au=async a=>{let b=await (await fetch(a,{credentials:"same-origin"})).blob();return URL.createObjectURL(b)},av=async a=>(await import(a)).default,aw=(ap(),l(am)).default,ax=async()=>{if(!ar)throw Error("Failed to load proxy worker: cannot determine the script source URL.");if(at(ar))return[void 0,aw()];let a=await au(ar);return[a,aw(a)]},ay=void 0,az=async(a,b,c,d)=>{let f=ay&&!(a||b);if(f)if(ar)f=at(ar)||d&&!c;else if(d&&!c)f=!0;else throw Error("cannot determine the script source URL.");if(f)return[void 0,ay];{let d,f,g="ort-wasm-simd-threaded.mjs",h=a??((a,b)=>{let c=b??ar;try{return(c?new URL(a,c):new URL(a)).href}catch{return}})(g,b),i=c&&h&&!at(h,b),j=i?await au(h):h??(d=g,f=b,`${f??"./"}${d}`);return[i?j:void 0,await av(j)]}}}),aH=j(()=>{aA(),aC=!1,aD=!1,aE=!1,aF=async a=>{if(aC)return Promise.resolve();if(aD)throw Error("multiple calls to 'initializeWebAssembly()' detected.");if(aE)throw Error("previous call to 'initializeWebAssembly()' failed.");aD=!0;let b=a.initTimeout,c=a.numThreads;if(!1!==a.simd){if("relaxed"===a.simd){if(!(()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}})())throw Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!(()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}})())throw Error("WebAssembly SIMD is not supported in the current environment.")}let d=(()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return"u">typeof MessageChannel&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}})();c>1&&!d&&("u">typeof self&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+c+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),a.numThreads=c=1);let f=a.wasmPaths,g="string"==typeof f?f:void 0,h=f?.mjs,i=h?.href??h,j=f?.wasm,k=j?.href??j,l=a.wasmBinary,[m,n]=await az(i,g,c>1,!!l||!!k),o=!1,p=[];if(b>0&&p.push(new Promise(a=>{setTimeout(()=>{o=!0,a()},b)})),p.push(new Promise((a,b)=>{let d={numThreads:c};if(l)d.wasmBinary=l,d.locateFile=a=>a;else if(k||g)d.locateFile=a=>k??g+a;else if(i&&0!==i.indexOf("blob:"))d.locateFile=a=>new URL(a,i).href;else if(m){let a=as();a&&(d.locateFile=b=>a+b)}n(d).then(b=>{aD=!1,aC=!0,aB=b,a(),m&&URL.revokeObjectURL(m)},a=>{aD=!1,aE=!0,b(a)})})),await Promise.race(p),o)throw Error(`WebAssembly backend initializing failed due to timeout: ${b}ms`)},aG=()=>{if(aC&&aB)return aB;throw Error("WebAssembly is not initialized yet.")}}),aL=j(()=>{aH(),aI=(a,b)=>{let c=aG(),d=c.lengthBytesUTF8(a)+1,f=c._malloc(d);return c.stringToUTF8(a,f,d),b.push(f),f},aJ=(a,b,c,d)=>{if("object"==typeof a&&null!==a){if(c.has(a))throw Error("Circular reference in options");c.add(a)}Object.entries(a).forEach(([a,f])=>{let g=b?b+a:a;if("object"==typeof f)aJ(f,g+".",c,d);else if("string"==typeof f||"number"==typeof f)d(g,f.toString());else if("boolean"==typeof f)d(g,f?"1":"0");else throw Error(`Can't handle extra config type: ${typeof f}`)})},aK=a=>{let b=aG(),c=b.stackSave();try{let c=b.PTR_SIZE,d=b.stackAlloc(2*c);b._OrtGetLastError(d,d+c);let f=Number(b.getValue(d,4===c?"i32":"i64")),g=b.getValue(d+c,"*"),h=g?b.UTF8ToString(g):"";throw Error(`${a} ERROR_CODE: ${f}, ERROR_MESSAGE: ${h}`)}finally{b.stackRestore(c)}}}),aN=j(()=>{aH(),aL(),aM=a=>{let b=aG(),c=0,d=[],f=a||{};try{if(a?.logSeverityLevel===void 0)f.logSeverityLevel=2;else if("number"!=typeof a.logSeverityLevel||!Number.isInteger(a.logSeverityLevel)||a.logSeverityLevel<0||a.logSeverityLevel>4)throw Error(`log severity level is not valid: ${a.logSeverityLevel}`);if(a?.logVerbosityLevel===void 0)f.logVerbosityLevel=0;else if("number"!=typeof a.logVerbosityLevel||!Number.isInteger(a.logVerbosityLevel))throw Error(`log verbosity level is not valid: ${a.logVerbosityLevel}`);a?.terminate===void 0&&(f.terminate=!1);let g=0;return a?.tag!==void 0&&(g=aI(a.tag,d)),c=b._OrtCreateRunOptions(f.logSeverityLevel,f.logVerbosityLevel,!!f.terminate,g),0===c&&aK("Can't create run options."),a?.extra!==void 0&&aJ(a.extra,"",new WeakSet,(a,f)=>{let g=aI(a,d),h=aI(f,d);0!==b._OrtAddRunConfigEntry(c,g,h)&&aK(`Can't set a run config entry: ${a} - ${f}.`)}),[c,d]}catch(a){throw 0!==c&&b._OrtReleaseRunOptions(c),d.forEach(a=>b._free(a)),a}}}),aR=j(()=>{aH(),aL(),aO=(a,b,c,d)=>{let f=aI(b,d),g=aI(c,d);0!==aG()._OrtAddSessionConfigEntry(a,f,g)&&aK(`Can't set a session config entry: ${b} - ${c}.`)},aP=async(a,b,c)=>{for(let d of b.executionProviders){let b="string"==typeof d?d:d.name,f=[];switch(b){case"webnn":if(b="WEBNN",aO(a,"session.disable_quant_qdq","1",c),aO(a,"session.disable_qdq_constant_folding","1",c),"string"!=typeof d){let b=d?.deviceType;b&&aO(a,"deviceType",b,c)}break;case"webgpu":if(b="JS","string"!=typeof d&&d?.preferredLayout){if("NCHW"!==d.preferredLayout&&"NHWC"!==d.preferredLayout)throw Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${d.preferredLayout}`);aO(a,"preferredLayout",d.preferredLayout,c)}break;case"wasm":case"cpu":continue;default:throw Error(`not supported execution provider: ${b}`)}let g=aI(b,c),h=f.length,i=0,j=0;if(h>0){i=aG()._malloc(h*aG().PTR_SIZE),c.push(i),j=aG()._malloc(h*aG().PTR_SIZE),c.push(j);for(let a=0;a<h;a++)aG().setValue(i+a*aG().PTR_SIZE,f[a][0],"*"),aG().setValue(j+a*aG().PTR_SIZE,f[a][1],"*")}await aG()._OrtAppendExecutionProvider(a,g,i,j,h)!==0&&aK(`Can't append execution provider: ${b}.`)}},aQ=async a=>{var b;let c,d=aG(),f=0,g=[],h=a||{};(b=h).extra||(b.extra={}),b.extra.session||(b.extra.session={}),(c=b.extra.session).use_ort_model_bytes_directly||(c.use_ort_model_bytes_directly="1"),b.executionProviders&&b.executionProviders.some(a=>("string"==typeof a?a:a.name)==="webgpu")&&(b.enableMemPattern=!1);try{let a=(a=>{switch(a){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"layout":return 3;case"all":return 99;default:throw Error(`unsupported graph optimization level: ${a}`)}})(h.graphOptimizationLevel??"all"),b=(a=>{switch(a){case"sequential":return 0;case"parallel":return 1;default:throw Error(`unsupported execution mode: ${a}`)}})(h.executionMode??"sequential"),c="string"==typeof h.logId?aI(h.logId,g):0,i=h.logSeverityLevel??2;if(!Number.isInteger(i)||i<0||i>4)throw Error(`log severity level is not valid: ${i}`);let j=h.logVerbosityLevel??0;if(!Number.isInteger(j)||j<0||j>4)throw Error(`log verbosity level is not valid: ${j}`);let k="string"==typeof h.optimizedModelFilePath?aI(h.optimizedModelFilePath,g):0;if(f=d._OrtCreateSessionOptions(a,!!h.enableCpuMemArena,!!h.enableMemPattern,b,!!h.enableProfiling,0,c,i,j,k),0===f&&aK("Can't create session options."),h.executionProviders&&await aP(f,h,g),void 0!==h.enableGraphCapture){if("boolean"!=typeof h.enableGraphCapture)throw Error(`enableGraphCapture must be a boolean value: ${h.enableGraphCapture}`);aO(f,"enableGraphCapture",h.enableGraphCapture.toString(),g)}if(h.freeDimensionOverrides)for(let[a,b]of Object.entries(h.freeDimensionOverrides)){if("string"!=typeof a)throw Error(`free dimension override name must be a string: ${a}`);if("number"!=typeof b||!Number.isInteger(b)||b<0)throw Error(`free dimension override value must be a non-negative integer: ${b}`);let c=aI(a,g);0!==d._OrtAddFreeDimensionOverride(f,c,b)&&aK(`Can't set a free dimension override: ${a} - ${b}.`)}return void 0!==h.extra&&aJ(h.extra,"",new WeakSet,(a,b)=>{aO(f,a,b,g)}),[f,g]}catch(a){throw 0!==f&&0!==d._OrtReleaseSessionOptions(f)&&aK("Can't release session options."),g.forEach(a=>d._free(a)),a}}}),a$=j(()=>{aS=a=>{switch(a){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw Error(`unsupported data type: ${a}`)}},aT=a=>{switch(a){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw Error(`unsupported data type: ${a}`)}},aU=(a,b)=>{let c=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][a],d="number"==typeof b?b:b.reduce((a,b)=>a*b,1);return c>0?Math.ceil(d*c):void 0},aV=a=>{switch(a){case"float16":return"u">typeof Float16Array?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":case"bool":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw Error(`unsupported type: ${a}`)}},aW=a=>{switch(a){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw Error(`unsupported logging level: ${a}`)}},aX=a=>"float32"===a||"float16"===a||"int32"===a||"int64"===a||"uint32"===a||"uint8"===a||"bool"===a||"uint4"===a||"int4"===a,aY=a=>"float32"===a||"float16"===a||"int32"===a||"int64"===a||"uint32"===a||"uint64"===a||"int8"===a||"uint8"===a||"bool"===a||"uint4"===a||"int4"===a,aZ=a=>{switch(a){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw Error(`unsupported data location: ${a}`)}}}),a0=j(()=>{al(),a_=async a=>{if("string"!=typeof a)return a instanceof Blob?new Uint8Array(await a.arrayBuffer()):a instanceof Uint8Array?a:new Uint8Array(a);{let b=await fetch(a);if(!b.ok)throw Error(`failed to load external data file: ${a}`);let c=b.headers.get("Content-Length"),d=c?parseInt(c,10):0;if(d<0x40000000)return new Uint8Array(await b.arrayBuffer());{if(!b.body)throw Error(`failed to load external data file: ${a}, no response body.`);let c=b.body.getReader(),f;try{f=new ArrayBuffer(d)}catch(a){if(a instanceof RangeError){let a=Math.ceil(d/65536);f=new WebAssembly.Memory({initial:a,maximum:a}).buffer}else throw a}let g=0;for(;;){let{done:a,value:b}=await c.read();if(a)break;let d=b.byteLength;new Uint8Array(f,g,d).set(b),g+=d}return new Uint8Array(f,0,d)}}}}),bc=j(()=>{ak(),aN(),aR(),a$(),aH(),aL(),a0(),a1=async a=>{var b,c;b=a.wasm.numThreads,c=aW(a.logLevel),0!==aG()._OrtInit(b,c)&&aK("Can't initialize onnxruntime.")},a2=async(a,b)=>{aG().asyncInit?.();let c=a.webgpu.adapter;if("webgpu"===b){if(typeof navigator>"u"||!navigator.gpu)throw Error("WebGPU is not supported in current environment");if(c){if("object"!=typeof c.limits||"object"!=typeof c.features||"function"!=typeof c.requestDevice)throw Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let b=a.webgpu.powerPreference;if(void 0!==b&&"low-power"!==b&&"high-performance"!==b)throw Error(`Invalid powerPreference setting: "${b}"`);let d=a.webgpu.forceFallbackAdapter;if(void 0!==d&&"boolean"!=typeof d)throw Error(`Invalid forceFallbackAdapter setting: "${d}"`);if(!(c=await navigator.gpu.requestAdapter({powerPreference:b,forceFallbackAdapter:d})))throw Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}}if("webnn"===b&&(typeof navigator>"u"||!navigator.ml))throw Error("WebNN is not supported in current environment")},a3=new Map,a4=(a,b)=>{let c=aG(),d=c.stackSave(),f=0;try{let d=c.PTR_SIZE,g=c.stackAlloc(2*d);0!==c._OrtGetInputOutputMetadata(a,b,g,g+d)&&aK("Can't get session input/output metadata.");let h=Number(c.getValue(g,"*"));f=Number(c.getValue(g+d,"*"));let i=c.HEAP32[f/4];if(0===i)return[h,0];let j=c.HEAPU32[f/4+1],k=[];for(let a=0;a<j;a++){let b=Number(c.getValue(f+8+a*d,"*"));k.push(0!==b?c.UTF8ToString(b):Number(c.getValue(f+8+(a+j)*d,"*")))}return[h,i,k]}finally{c.stackRestore(d),0!==f&&c._OrtFree(f)}},a5=a=>{let b=aG(),c=b._malloc(a.byteLength);if(0===c)throw Error(`Can't create a session. failed to allocate a buffer of size ${a.byteLength}.`);return b.HEAPU8.set(a,c),[c,a.byteLength]},a6=async(a,b)=>{let c,d,f=aG();Array.isArray(a)?[c,d]=a:a.buffer===f.HEAPU8.buffer?[c,d]=[a.byteOffset,a.byteLength]:[c,d]=a5(a);let g=0,h=0,i=[],j=[],k=[];try{if([h,i]=await aQ(b),b?.externalData&&f.mountExternalData){let a=[];for(let c of b.externalData){let b="string"==typeof c?c:c.path,d="string"==typeof c?c:c.data;a.push(a_(d).then(a=>{f.mountExternalData(b,a)}))}await Promise.all(a)}for(let a of b?.executionProviders??[])if(("string"==typeof a?a:a.name)==="webnn"){if(f.shouldTransferToMLTensor=!1,"string"!=typeof a){let b=a?.context,c=a?.gpuDevice,d=a?.deviceType,g=a?.powerPreference;b?f.currentContext=b:c?f.currentContext=await f.webnnCreateMLContext(c):f.currentContext=await f.webnnCreateMLContext({deviceType:d,powerPreference:g})}else f.currentContext=await f.webnnCreateMLContext();break}g=await f._OrtCreateSession(c,d,h),f.webgpuOnCreateSession?.(g),0===g&&aK("Can't create a session."),f.jsepOnCreateSession?.(),f.currentContext&&(f.webnnRegisterMLContext(g,f.currentContext),f.currentContext=void 0,f.shouldTransferToMLTensor=!0);let[a,l]=(a=>{let b=aG(),c=b.stackSave();try{let c=b.PTR_SIZE,d=b.stackAlloc(2*c);0!==b._OrtGetInputOutputCount(a,d,d+c)&&aK("Can't get session input/output count.");let f=4===c?"i32":"i64";return[Number(b.getValue(d,f)),Number(b.getValue(d+c,f))]}finally{b.stackRestore(c)}})(g),m=!!b?.enableGraphCapture,n=[],o=[],p=[],q=[];for(let b=0;b<a;b++){let[a,c,d]=a4(g,b);0===a&&aK("Can't get an input name."),j.push(a);let h=f.UTF8ToString(a);n.push(h),p.push(0===c?{name:h,isTensor:!1}:{name:h,isTensor:!0,type:aT(c),shape:d})}for(let b=0;b<l;b++){let[c,d,h]=a4(g,b+a);0===c&&aK("Can't get an output name."),k.push(c);let i=f.UTF8ToString(c);o.push(i),q.push(0===d?{name:i,isTensor:!1}:{name:i,isTensor:!0,type:aT(d),shape:h})}return a3.set(g,[g,j,k,null,m,!1]),[g,n,o,p,q]}catch(a){throw j.forEach(a=>f._OrtFree(a)),k.forEach(a=>f._OrtFree(a)),0!==g&&0!==f._OrtReleaseSession(g)&&aK("Can't release session."),a}finally{f._free(c),0!==h&&0!==f._OrtReleaseSessionOptions(h)&&aK("Can't release session options."),i.forEach(a=>f._free(a)),f.unmountExternalData?.()}},a7=a=>{let b=aG(),c=a3.get(a);if(!c)throw Error(`cannot release session. invalid session id: ${a}`);let[d,f,g,h,i]=c;h&&(i&&0!==b._OrtClearBoundOutputs(h.handle)&&aK("Can't clear bound outputs."),0!==b._OrtReleaseBinding(h.handle)&&aK("Can't release IO binding.")),b.jsepOnReleaseSession?.(a),b.webnnOnReleaseSession?.(a),b.webgpuOnReleaseSession?.(a),f.forEach(a=>b._OrtFree(a)),g.forEach(a=>b._OrtFree(a)),0!==b._OrtReleaseSession(d)&&aK("Can't release session."),a3.delete(a)},a8=async(a,b,c,d,f,g,h=!1)=>{if(!a)return void b.push(0);let i=aG(),j=i.PTR_SIZE,k=a[0],l=a[1],m=a[3],n=m,o,p;if("string"===k&&("gpu-buffer"===m||"ml-tensor"===m))throw Error("String tensor is not supported on GPU.");if(h&&"gpu-buffer"!==m)throw Error(`External buffer must be provided for input/output index ${g} when enableGraphCapture is true.`);if("gpu-buffer"===m){let b=a[2].gpuBuffer;p=aU(aS(k),l);{let a=i.jsepRegisterBuffer;if(!a)throw Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');o=a(d,g,b,p)}}else if("ml-tensor"===m){let b=a[2].mlTensor;p=aU(aS(k),l);let c=i.webnnRegisterMLTensor;if(!c)throw Error('Tensor location "ml-tensor" is not supported without using WebNN.');o=c(d,b,aS(k),l)}else{let b=a[2];if(Array.isArray(b)){p=j*b.length,o=i._malloc(p),c.push(o);for(let a=0;a<b.length;a++){if("string"!=typeof b[a])throw TypeError(`tensor data at index ${a} is not a string`);i.setValue(o+a*j,aI(b[a],c),"*")}}else{let a=i.webnnIsGraphInput,g=i.webnnIsGraphOutput;if("string"!==k&&a&&g){let h=i.UTF8ToString(f);if(a(d,h)||g(d,h)){let a=aS(k);p=aU(a,l),n="ml-tensor";let c=i.webnnCreateTemporaryTensor,f=i.webnnUploadTensor;if(!c||!f)throw Error('Tensor location "ml-tensor" is not supported without using WebNN.');let g=await c(d,a,l);f(g,new Uint8Array(b.buffer,b.byteOffset,b.byteLength)),o=g}else p=b.byteLength,o=i._malloc(p),c.push(o),i.HEAPU8.set(new Uint8Array(b.buffer,b.byteOffset,p),o)}else p=b.byteLength,o=i._malloc(p),c.push(o),i.HEAPU8.set(new Uint8Array(b.buffer,b.byteOffset,p),o)}}let q=i.stackSave(),r=i.stackAlloc(4*l.length);try{l.forEach((a,b)=>i.setValue(r+b*j,a,4===j?"i32":"i64"));let a=i._OrtCreateTensor(aS(k),o,p,r,l.length,aZ(n));0===a&&aK(`Can't create tensor for input/output. session=${d}, index=${g}.`),b.push(a)}finally{i.stackRestore(q)}},a9=async(a,b,c,d,f,g)=>{let h=aG(),i=h.PTR_SIZE,j=a3.get(a);if(!j)throw Error(`cannot run inference. invalid session id: ${a}`);let k=j[0],l=j[1],m=j[2],n=j[3],o=j[4],p=(j[5],b.length),q=d.length,r=0,s=[],t=[],u=[],v=[],w=[],x=h.stackSave(),y=h.stackAlloc(p*i),z=h.stackAlloc(p*i),A=h.stackAlloc(q*i),B=h.stackAlloc(q*i);try{let j;[r,s]=aM(g),$("wasm prepareInputOutputTensor");for(let d=0;d<p;d++)await a8(c[d],t,v,a,l[b[d]],b[d],o);for(let b=0;b<q;b++)await a8(f[b],u,v,a,m[d[b]],p+d[b],o);_("wasm prepareInputOutputTensor");for(let a=0;a<p;a++)h.setValue(y+a*i,t[a],"*"),h.setValue(z+a*i,l[b[a]],"*");for(let a=0;a<q;a++)h.setValue(A+a*i,u[a],"*"),h.setValue(B+a*i,m[d[a]],"*");h.jsepOnRunStart?.(k),h.webnnOnRunStart?.(k),j=await h._OrtRun(k,z,y,p,B,q,A,r),0!==j&&aK("failed to call OrtRun().");let x=[],C=[];$("wasm ProcessOutputTensor");for(let b=0;b<q;b++){let c=Number(h.getValue(A+b*i,"*"));if(c===u[b]||w.includes(u[b])){x.push(f[b]),c!==u[b]&&0!==h._OrtReleaseTensor(c)&&aK("Can't release tensor.");continue}let g=h.stackSave(),j=h.stackAlloc(4*i),k=!1,l,m=0;try{0!==h._OrtGetTensorData(c,j,j+i,j+2*i,j+3*i)&&aK(`Can't access output tensor data on index ${b}.`);let f=4===i?"i32":"i64",g=Number(h.getValue(j,f));m=h.getValue(j+i,"*");let o=h.getValue(j+2*i,"*"),p=Number(h.getValue(j+3*i,f)),q=[];for(let a=0;a<p;a++)q.push(Number(h.getValue(o+a*i,f)));0!==h._OrtFree(o)&&aK("Can't free memory for tensor dims.");let r=q.reduce((a,b)=>a*b,1);l=aT(g);let s=n?.outputPreferredLocations[d[b]];if("string"===l){if("gpu-buffer"===s||"ml-tensor"===s)throw Error("String tensor is not supported on GPU.");let a=[];for(let b=0;b<r;b++){let c=h.getValue(m+b*i,"*"),d=h.getValue(m+(b+1)*i,"*"),f=b===r-1?void 0:d-c;a.push(h.UTF8ToString(c,f))}x.push([l,q,a,"cpu"])}else if("gpu-buffer"===s&&r>0){let a=h.jsepGetBuffer;if(!a)throw Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let b=a(m),d=aU(g,r);if(void 0===d||!aX(l))throw Error(`Unsupported data type: ${l}`);k=!0,x.push([l,q,{gpuBuffer:b,download:h.jsepCreateDownloader(b,d,l),dispose:()=>{0!==h._OrtReleaseTensor(c)&&aK("Can't release tensor.")}},"gpu-buffer"])}else if("ml-tensor"===s&&r>0){let b=h.webnnEnsureTensor,d=h.webnnIsGraphInputOutputTypeSupported;if(!b||!d)throw Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(void 0===aU(g,r)||!aY(l))throw Error(`Unsupported data type: ${l}`);if(!d(a,l,!1))throw Error(`preferredLocation "ml-tensor" for ${l} output is not supported by current WebNN Context.`);let f=await b(a,m,g,q,!1);k=!0,x.push([l,q,{mlTensor:f,download:h.webnnCreateMLTensorDownloader(m,l),dispose:()=>{h.webnnReleaseTensorId(m),h._OrtReleaseTensor(c)}},"ml-tensor"])}else if("ml-tensor-cpu-output"===s&&r>0){let a=h.webnnCreateMLTensorDownloader(m,l)(),b=x.length;k=!0,C.push((async()=>{let d=[b,await a];return h.webnnReleaseTensorId(m),h._OrtReleaseTensor(c),d})()),x.push([l,q,[],"cpu"])}else{let a=new(aV(l))(r);new Uint8Array(a.buffer,a.byteOffset,a.byteLength).set(h.HEAPU8.subarray(m,m+a.byteLength)),x.push([l,q,a,"cpu"])}}finally{h.stackRestore(g),"string"===l&&m&&h._free(m),k||h._OrtReleaseTensor(c)}}for(let[b,c]of(n&&!o&&(0!==h._OrtClearBoundOutputs(n.handle)&&aK("Can't clear bound outputs."),a3.set(a,[k,l,m,n,o,!1])),await Promise.all(C)))x[b][2]=c;return _("wasm ProcessOutputTensor"),x}finally{h.webnnOnRunEnd?.(k),h.stackRestore(x),t.forEach(a=>h._OrtReleaseTensor(a)),u.forEach(a=>h._OrtReleaseTensor(a)),v.forEach(a=>h._free(a)),0!==r&&h._OrtReleaseRunOptions(r),s.forEach(a=>h._free(a))}},ba=a=>{let b=aG(),c=a3.get(a);if(!c)throw Error("invalid session id");let d=c[0],f=b._OrtEndProfiling(d);0===f&&aK("Can't get an profile file name."),b._OrtFree(f)},bb=a=>{let b=[];for(let c of a){let a=c[2];!Array.isArray(a)&&"buffer"in a&&b.push(a.buffer)}return b}}),bv=j(()=>{ak(),bc(),aH(),aA(),bd=()=>!!y.wasm.proxy&&"u">typeof document,bf=!1,bg=!1,bh=!1,bk=new Map,bl=(a,b)=>{let c=bk.get(a);c?c.push(b):bk.set(a,[b])},bm=()=>{if(bf||!bg||bh||!be)throw Error("worker not ready")},bn=a=>{switch(a.data.type){case"init-wasm":bf=!1,a.data.err?(bh=!0,bj[1](a.data.err)):(bg=!0,bj[0]()),bi&&(URL.revokeObjectURL(bi),bi=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let b=bk.get(a.data.type);a.data.err?b.shift()[1](a.data.err):b.shift()[0](a.data.out)}}},bo=async()=>{if(!bg){if(bf)throw Error("multiple calls to 'initWasm()' detected.");if(bh)throw Error("previous call to 'initWasm()' failed.");if(bf=!0,bd())return new Promise((a,b)=>{be?.terminate(),ax().then(([c,d])=>{try{(be=d).onerror=a=>b(a),be.onmessage=bn,bj=[a,b];let f={type:"init-wasm",in:y};if(!f.in.wasm.wasmPaths&&c){let a=as();a&&(f.in.wasm.wasmPaths=a)}be.postMessage(f),bi=c}catch(a){b(a)}},b)});try{await aF(y.wasm),await a1(y),bg=!0}catch(a){throw bh=!0,a}finally{bf=!1}}},bp=async a=>{if(bd())return bm(),new Promise((b,c)=>{bl("init-ep",[b,c]);let d={type:"init-ep",in:{epName:a,env:y}};be.postMessage(d)});await a2(y,a)},bq=async a=>bd()?(bm(),new Promise((b,c)=>{bl("copy-from",[b,c]),be.postMessage({type:"copy-from",in:{buffer:a}},[a.buffer])})):a5(a),br=async(a,b)=>{if(!bd())return a6(a,b);if(b?.preferredOutputLocation)throw Error('session option "preferredOutputLocation" is not supported for proxy.');return bm(),new Promise((c,d)=>{bl("create",[c,d]);let f={type:"create",in:{model:a,options:{...b}}},g=[];a instanceof Uint8Array&&g.push(a.buffer),be.postMessage(f,g)})},bs=async a=>{if(bd())return bm(),new Promise((b,c)=>{bl("release",[b,c]),be.postMessage({type:"release",in:a})});a7(a)},bt=async(a,b,c,d,f,g)=>{if(!bd())return a9(a,b,c,d,f,g);if(c.some(a=>"cpu"!==a[3]))throw Error("input tensor on GPU is not supported for proxy.");if(f.some(a=>a))throw Error("pre-allocated output tensor is not supported for proxy.");return bm(),new Promise((f,h)=>{bl("run",[f,h]),be.postMessage({type:"run",in:{sessionId:a,inputIndices:b,inputs:c,outputIndices:d,options:g}},bb(c))})},bu=async a=>{if(bd())return bm(),new Promise((b,c)=>{bl("end-profiling",[b,c]),be.postMessage({type:"end-profiling",in:a})});ba(a)}}),bz=j(()=>{ak(),bv(),a$(),al(),a0(),bw=(a,b)=>{switch(a.location){case"cpu":return[a.type,a.dims,a.data,"cpu"];case"gpu-buffer":return[a.type,a.dims,{gpuBuffer:a.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[a.type,a.dims,{mlTensor:a.mlTensor},"ml-tensor"];default:throw Error(`invalid data location: ${a.location} for ${b()}`)}},bx=a=>{switch(a[3]){case"cpu":return new U(a[0],a[2],a[1]);case"gpu-buffer":{let b=a[0];if(!aX(b))throw Error(`not supported data type: ${b} for deserializing GPU tensor`);let{gpuBuffer:c,download:d,dispose:f}=a[2];return U.fromGpuBuffer(c,{dataType:b,dims:a[1],download:d,dispose:f})}case"ml-tensor":{let b=a[0];if(!aY(b))throw Error(`not supported data type: ${b} for deserializing MLTensor tensor`);let{mlTensor:c,download:d,dispose:f}=a[2];return U.fromMLTensor(c,{dataType:b,dims:a[1],download:d,dispose:f})}default:throw Error(`invalid data location: ${a[3]}`)}},by=class{async fetchModelAndCopyToWasmMemory(a){return bq(await a_(a))}async loadModel(a,b){let c;Y(),c="string"==typeof a?await this.fetchModelAndCopyToWasmMemory(a):a,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await br(c,b),Z()}async dispose(){return bs(this.sessionId)}async run(a,b,c){Y();let d=[],f=[];Object.entries(a).forEach(a=>{let b=a[0],c=a[1],g=this.inputNames.indexOf(b);if(-1===g)throw Error(`invalid input '${b}'`);d.push(c),f.push(g)});let g=[],h=[];Object.entries(b).forEach(a=>{let b=a[0],c=a[1],d=this.outputNames.indexOf(b);if(-1===d)throw Error(`invalid output '${b}'`);g.push(c),h.push(d)});let i=d.map((a,b)=>bw(a,()=>`input "${this.inputNames[f[b]]}"`)),j=g.map((a,b)=>a?bw(a,()=>`output "${this.outputNames[h[b]]}"`):null),k=await bt(this.sessionId,f,i,h,j,c),l={};for(let a=0;a<k.length;a++)l[this.outputNames[h[a]]]=g[a]??bx(k[a]);return Z(),l}startProfiling(){}endProfiling(){bu(this.sessionId)}}}),k(bA={},{OnnxruntimeWebAssemblyBackend:()=>bC,initializeFlags:()=>bB,wasmBackend:()=>bD}),bE=j(()=>{ak(),bv(),bz(),bB=()=>{("number"!=typeof y.wasm.initTimeout||y.wasm.initTimeout<0)&&(y.wasm.initTimeout=0);let a=y.wasm.simd;if("boolean"!=typeof a&&void 0!==a&&"fixed"!==a&&"relaxed"!==a&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${a}". Reset it to \`false\` and ignore SIMD feature checking.`),y.wasm.simd=!1),"boolean"!=typeof y.wasm.proxy&&(y.wasm.proxy=!1),"boolean"!=typeof y.wasm.trace&&(y.wasm.trace=!1),"number"!=typeof y.wasm.numThreads||!Number.isInteger(y.wasm.numThreads)||y.wasm.numThreads<=0)if("u">typeof self&&!self.crossOriginIsolated)y.wasm.numThreads=1;else{let a=typeof navigator>"u"?i("node:os").cpus().length:navigator.hardwareConcurrency;y.wasm.numThreads=Math.min(4,Math.ceil((a||1)/2))}},bD=new(bC=class{async init(a){bB(),await bo(),await bp(a)}async createInferenceSessionHandler(a,b){let c=new by;return await c.loadModel(a,b),c}})}),k(bF={},{InferenceSession:()=>ad,TRACE:()=>W,TRACE_EVENT_BEGIN:()=>$,TRACE_EVENT_END:()=>_,TRACE_FUNC_BEGIN:()=>Y,TRACE_FUNC_END:()=>Z,Tensor:()=>U,default:()=>bG,env:()=>y,registerBackend:()=>o}),ak(),ak(),ak(),bG=aj,bH=(bE(),l(bA)).wasmBackend,o("cpu",bH,10),o("wasm",bH,10),Object.defineProperty(y.versions,"web",{value:"1.30.0",enumerable:!0}),b.exports=l(bF)},57155,(a,b,c)=>{"use strict";var d=a.e&&a.e.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c);var f=Object.getOwnPropertyDescriptor(b,c);(!f||("get"in f?!b.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return b[c]}}),Object.defineProperty(a,d,f)}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),f=a.e&&a.e.__setModuleDefault||(Object.create?function(a,b){Object.defineProperty(a,"default",{enumerable:!0,value:b})}:function(a,b){a.default=b}),g=a.e&&a.e.__importStar||function(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)"default"!==c&&Object.prototype.hasOwnProperty.call(a,c)&&d(b,a,c);return f(b,a),b};Object.defineProperty(c,"__esModule",{value:!0}),c.MicVAD=c.getDefaultRealTimeVADOptions=c.ort=c.DEFAULT_MODEL=void 0;let h=g(a.r(96114)),i=a.r(3623),j=a.r(39934),k=a.r(64332),l=a.r(24278),m=a.r(10713),n=a.r(32928);c.DEFAULT_MODEL="legacy",c.ort=h;let o={legacy:"silero_vad_legacy.onnx",v5:"silero_vad_v5.onnx",v6:"silero_vad_v6.onnx"};async function p(a,b,c,d,f){await c.audioWorklet.addModule(a),b.processorOptions={...b.processorOptions??{},frameSamples:d};let g=new AudioWorkletNode(c,"vad-helper-worklet",b);return g.port.onmessage=async a=>{let b=a.data;if(!("object"==typeof b&&b&&"message"in b))return void console.error("Invalid message event",b);if(b.message===l.Message.AudioFrame){if(!("data"in b&&b.data instanceof ArrayBuffer))return void console.log("Audio frame message has no data");let a=new Float32Array(b.data);await f(a)}},g}async function q(a,b,c){let d=new n.Resampler({nativeSampleRate:a.sampleRate,targetSampleRate:16e3,targetFrameSize:b});k.log.debug("using script processor");let f=a.createScriptProcessor(4096,1,1),g=!1;return f.onaudioprocess=async a=>{if(!g){g=!0;try{let b=a.inputBuffer.getChannelData(0);for(let f of(a.outputBuffer.getChannelData(0).fill(0),d.process(b)))await c(f)}catch(a){console.error("Error processing audio:",a)}finally{g=!1}}},f.connect(a.destination),f}c.getDefaultRealTimeVADOptions=a=>({...j.defaultFrameProcessorOptions,onFrameProcessed:()=>{},onVADMisfire:()=>{k.log.debug("VAD misfire")},onSpeechStart:()=>{k.log.debug("Detected speech start")},onSpeechEnd:()=>{k.log.debug("Detected speech end")},onSpeechRealStart:()=>{k.log.debug("Detected real speech start")},baseAssetPath:"./",onnxWASMBasePath:"./",model:a,workletOptions:{},getStream:async()=>await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0}}),pauseStream:async a=>{a.getTracks().forEach(a=>{a.stop()})},resumeStream:async()=>await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0}}),ortConfig:a=>{a.env.logLevel="error"},startOnLoad:!0,processorType:"auto"});class r{constructor(a,b,c,d,f=!1,g=null,h=null,i=null,j=null,m=null,n=null,o="uninitialized",r=!1){this.options=a,this.frameProcessor=b,this.model=c,this.frameSamples=d,this.listening=f,this.errored=g,this._stream=h,this._audioContext=i,this._vadNode=j,this._mediaStreamAudioSourceNode=m,this._audioProcessorAdapterType=n,this.initializationState=o,this.ownsAudioContext=r,this.getAudioInstances=()=>{if(null===this._stream||null===this._audioContext||null==this._vadNode||null==this._mediaStreamAudioSourceNode)throw Error("MicVAD has null stream, audio context, or processor adapter");return{stream:this._stream,audioContext:this._audioContext,vadNode:this._vadNode,mediaStreamAudioSourceNode:this._mediaStreamAudioSourceNode}},this.setErrored=a=>{this.initializationState="errored",this.errored=a},this.start=async()=>{switch(this.initializationState){case"uninitialized":k.log.debug("initializing micVAD"),this.initializationState="initializing",this.frameProcessor.resume();try{this._stream=await this.options.getStream()}catch(a){throw a instanceof Error?this.setErrored(a.message):this.setErrored(String(a)),a}if(this.options.audioContext?(console.log("using custom audio context"),this._audioContext=this.options.audioContext):(console.log("using default audio context"),this._audioContext=new AudioContext,this.ownsAudioContext=!0),!this._audioContext)throw this.setErrored("Audio context is null"),Error("Audio context is null");switch(this._audioProcessorAdapterType="auto"==this.options.processorType?"audioWorklet"in this._audioContext&&"function"==typeof AudioWorkletNode?"AudioWorklet":"ScriptProcessor":this.options.processorType,this._audioProcessorAdapterType){case"AudioWorklet":this._vadNode=await p(this.options.baseAssetPath+"vad.worklet.bundle.min.js",this.options.workletOptions,this._audioContext,this.frameSamples,this.processFrame);break;case"ScriptProcessor":this._vadNode=await q(this._audioContext,this.frameSamples,this.processFrame);break;default:throw Error(`Unsupported audio processor adapter type: ${this._audioProcessorAdapterType}`)}this._mediaStreamAudioSourceNode=new MediaStreamAudioSourceNode(this._audioContext,{mediaStream:this._stream}),this._mediaStreamAudioSourceNode.connect(this._vadNode),k.log.debug("started micVAD"),this.listening=!0,this.initializationState="initialized";break;case"initializing":k.log.warn("start called while initializing");break;case"initialized":{if(this.listening)return;this.listening=!0,this.frameProcessor.resume();let{stream:a,audioContext:b,vadNode:c}=this.getAudioInstances();this._stream=await this.options.resumeStream(a);let d=new MediaStreamAudioSourceNode(b,{mediaStream:this._stream});this._mediaStreamAudioSourceNode=d,d.connect(c);break}case"destroyed":k.log.warn("start called after destroyed");break;case"errored":k.log.error("start called after errored");break;default:k.log.warn("weird initialization state")}},this.pause=async()=>{if(!this.listening)return;this.listening=!1;let{stream:a,mediaStreamAudioSourceNode:b}=this.getAudioInstances();await this.options.pauseStream(a),b.disconnect(),this.frameProcessor.pause(this.handleFrameProcessorEvent)},this.destroy=async()=>{k.log.debug("destroy called"),this.initializationState="destroyed";let{vadNode:a}=this.getAudioInstances();a instanceof AudioWorkletNode&&a.port.postMessage(l.Message.SpeechStop),this.listening&&await this.pause(),await this.model.release(),this.ownsAudioContext&&await this._audioContext?.close()},this.setOptions=a=>{this.frameProcessor.setOptions(a)},this.processFrame=async a=>{await this.frameProcessor.process(a,this.handleFrameProcessorEvent)},this.handleFrameProcessorEvent=a=>{switch(a.msg){case l.Message.FrameProcessed:this.options.onFrameProcessed(a.probs,a.frame);break;case l.Message.SpeechStart:this.options.onSpeechStart();break;case l.Message.SpeechRealStart:this.options.onSpeechRealStart();break;case l.Message.VADMisfire:this.options.onVADMisfire();break;case l.Message.SpeechEnd:this.options.onSpeechEnd(a.audio)}}}static async new(a={}){let b,d={...(0,c.getDefaultRealTimeVADOptions)(a.model??c.DEFAULT_MODEL),...a};(0,j.validateOptions)(d),c.ort.env.wasm.wasmPaths=d.onnxWASMBasePath,void 0!==d.ortConfig&&d.ortConfig(c.ort);let f=d.baseAssetPath+o[d.model],g="legacy"===d.model?m.SileroLegacy.new:m.Silero.new;try{b=await g(c.ort,()=>(0,i.defaultModelFetcher)(f))}catch(a){throw console.error(`Encountered an error while loading model file ${f}`),a}let h="legacy"===d.model?1536:512,k=new j.FrameProcessor(b.process,b.reset_state,{positiveSpeechThreshold:d.positiveSpeechThreshold,negativeSpeechThreshold:d.negativeSpeechThreshold,redemptionMs:d.redemptionMs,preSpeechPadMs:d.preSpeechPadMs,minSpeechMs:d.minSpeechMs,submitUserSpeechOnPause:d.submitUserSpeechOnPause},h/16),l=new r(d,k,b,h);if(d.startOnLoad)try{await l.start()}catch(a){throw console.error("Error starting micVad",a),a}return l}}c.MicVAD=r},92377,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.getDefaultRealTimeVADOptions=c.MicVAD=c.DEFAULT_MODEL=c.utils=c.NonRealTimeVAD=c.Message=c.FrameProcessor=c.defaultModelFetcher=c.baseAssetPath=void 0;var d=a.r(99189);Object.defineProperty(c,"baseAssetPath",{enumerable:!0,get:function(){return d.baseAssetPath}});var f=a.r(3623);Object.defineProperty(c,"defaultModelFetcher",{enumerable:!0,get:function(){return f.defaultModelFetcher}});var g=a.r(39934);Object.defineProperty(c,"FrameProcessor",{enumerable:!0,get:function(){return g.FrameProcessor}});var h=a.r(24278);Object.defineProperty(c,"Message",{enumerable:!0,get:function(){return h.Message}});var i=a.r(33484);Object.defineProperty(c,"NonRealTimeVAD",{enumerable:!0,get:function(){return i.NonRealTimeVAD}});let j=a.r(29831);c.utils={audioFileToArray:j.audioFileToArray,minFramesForTargetMS:j.minFramesForTargetMS,arrayBufferToBase64:j.arrayBufferToBase64,encodeWAV:j.encodeWAV};var k=a.r(57155);Object.defineProperty(c,"DEFAULT_MODEL",{enumerable:!0,get:function(){return k.DEFAULT_MODEL}}),Object.defineProperty(c,"MicVAD",{enumerable:!0,get:function(){return k.MicVAD}}),Object.defineProperty(c,"getDefaultRealTimeVADOptions",{enumerable:!0,get:function(){return k.getDefaultRealTimeVADOptions}})}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__11y.qj~._.js.map