From f7ee11676bd0429da55d2c6dc335a0fe554146b4 Mon Sep 17 00:00:00 2001 From: Chris Thompson Date: Mon, 21 Sep 2026 16:56:45 -0600 Subject: [PATCH] webui: wire the YuE2 NAR LoRA adapter into the UI #586 added NAR LoRA to the core and the maintainer asked on #499 for someone to wire it into the UI: "I added NAR LoRA support in the core, but haven't wired it into the UI yet." It missed 0.8.1, which shipped on 2026-09-17. yue2.nar_lora and yue2.nar_lora_scale have been reachable from the CLI and the server since #586, but not the WebUI. Adding them to model_params.json is not enough on its own: Yue2Panel.svelte is hand-written and renders a curated set of parameters by name, with a bespoke block for ar_lora, so an entry in the catalog that no block draws is invisible. Verified against a running server -- the options were in the bundled catalog and nothing rendered them. - model_params.json gains the pair, with an info string for the trap in the spec description: nar_lora_scale scales the LoRA deltas only, and any full vae2llm/llm2vae projection replacement in the adapter stays at full strength. The AR entries gain the "reload the model" hint that main_gguf and vae_gguf already had and that all four LoRA options require. - Yue2Panel.svelte gains the NAR block, mirroring AR: path, strength, a picker and its own error line. selectLora takes the branch instead of hardcoding ar_lora, so one uploader serves both and a failed NAR upload does not post an error under the AR field. - +page.svelte seeds nar_lora/nar_lora_scale from the loaded model's session options next to the AR pair, for a server without UI management. Also ungates the AR picker, which is a pre-existing defect rather than part of the NAR work, but could not be left alone: gating it on server.ui_management disabled AR LoRA upload in every default build, and a NAR picker copied from it would have been equally dead. The endpoint it calls, /v1/ui/upload, requires ui_enabled OR ui_management and is compiled outside the model-manager guard. Confirmed against a --ui-only server with ui_management false: HTTP 200, file written. The text and strength inputs are ungated for the same reason -- typing a server-side path needs no management rights, and the main_gguf and vae_gguf selectors beside them were never gated. dist/index.html is a genuine rebuild, since a template change cannot be applied to the committed bundle the way a config-only edit could. Verified: npm run check passes (277 files, 0 errors), npm run build succeeds, and a server built from this tree serves both pickers. Not verified end to end -- loading YuE2 with an adapter and hearing the difference is still untested. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01TMmMgd5xNGnjsQgybuUiK3 --- webui/configs/model_params.json | 6 +- webui/native/dist/index.html | 84 +++++++++---------- .../src/lib/models/yue2/Yue2Panel.svelte | 67 ++++++++++++--- webui/native/src/routes/+page.svelte | 4 +- 4 files changed, 105 insertions(+), 56 deletions(-) diff --git a/webui/configs/model_params.json b/webui/configs/model_params.json index 222e7de6b..161b02efc 100644 --- a/webui/configs/model_params.json +++ b/webui/configs/model_params.json @@ -235,8 +235,10 @@ ], "yue2": [ - {"name": "ar_lora", "type": "text", "scope": "session", "session_option": "yue2.ar_lora", "label": "ar_lora", "label_en": "AR LoRA adapter", "default": ""}, - {"name": "ar_lora_scale", "type": "number", "scope": "session", "session_option": "yue2.ar_lora_scale", "label": "ar_lora_scale", "label_en": "AR LoRA strength", "default": 1, "step": 0.1}, + {"name": "ar_lora", "type": "text", "scope": "session", "session_option": "yue2.ar_lora", "label": "ar_lora", "label_en": "AR LoRA adapter", "default": "", "placeholder": "/path/to/ar_lora_inst_v3abc.safetensors", "info": "Unfused AR adapter for score and semantic planning; relative paths resolve against the model root. Reload the model after changing this value."}, + {"name": "ar_lora_scale", "type": "number", "scope": "session", "session_option": "yue2.ar_lora_scale", "label": "ar_lora_scale", "label_en": "AR LoRA strength", "default": 1, "step": 0.1, "info": "Scales the AR adapter deltas; 0 disables it. Reload the model after changing this value."}, + {"name": "nar_lora", "type": "text", "scope": "session", "session_option": "yue2.nar_lora", "label": "nar_lora", "label_en": "NAR LoRA adapter", "default": "", "placeholder": "/path/to/nar_lora_joint_v4.safetensors", "info": "Unfused NAR adapter for acoustic detail; relative paths resolve against the model root. Reload the model after changing this value."}, + {"name": "nar_lora_scale", "type": "number", "scope": "session", "session_option": "yue2.nar_lora_scale", "label": "nar_lora_scale", "label_en": "NAR LoRA strength", "default": 1, "step": 0.1, "info": "Scales the LoRA deltas only; any full vae2llm/llm2vae projection replacements in the adapter stay at full strength. 0 disables the entire adapter. Reload the model after changing this value."}, {"name": "main_gguf", "type": "choice", "scope": "session", "session_option": "yue2.model_gguf", "label": "main_gguf", "label_en": "Main weights", "default": "yue2-3b-q8_0.gguf", "choices": ["yue2-3b-q8_0.gguf", "yue2-3b-q4_0.gguf", "yue2-3b-bf16.gguf"], "info": "Reload the model after changing this value."}, {"name": "vae_gguf", "type": "choice", "scope": "session", "session_option": "yue2.vae_gguf", "label": "vae_gguf", "label_en": "VAE weights", "default": "yue2-vae-f16.gguf", "choices": ["yue2-vae-f16.gguf", "yue2-vae-f32.gguf"], "info": "Reload the model after changing this value."}, {"name": "style", "type": "text", "label": "style", "label_en": "Style", "default": "English, indie pop, bright acoustic guitar, soft drums, warm lead vocal, polished demo mix", "placeholder": "English, city pop, groovy bass, synth, energetic vocal"}, diff --git a/webui/native/dist/index.html b/webui/native/dist/index.html index 96c2ddfad..58a54f28f 100644 --- a/webui/native/dist/index.html +++ b/webui/native/dist/index.html @@ -37,14 +37,14 @@ const element = document.currentScript.parentElement; - this.__sveltekit_1wn864=this.__sveltekit_1wn864||{};this.__sveltekit_1wn864.app=(function(Ac){"use strict";var Ui=typeof document<"u"?document.currentScript:null;function Iv(t,a){for(var r=0;rn[i]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}const jp=!1;var zl=Array.isArray,Ov=Array.prototype.indexOf,Cc=Array.prototype.includes,Mc=Array.from,Up=Object.defineProperty,ls=Object.getOwnPropertyDescriptor,Rp=Object.getOwnPropertyDescriptors,Hv=Object.prototype,Qv=Array.prototype,El=Object.getPrototypeOf,Bp=Object.isExtensible;const zc=()=>{};function Wv(t){return t()}function jl(t){for(var a=0;a{t=n,a=i});return{promise:r,resolve:t,reject:a}}function Yv(t,a){if(Array.isArray(t))return t;if(!(Symbol.iterator in t))return Array.from(t);const r=[];for(const n of t)if(r.push(n),r.length===a)break;return r}const gi=2,Vs=4,Fo=8,Np=1<<24,zn=16,vn=32,gr=64,Ul=128,bn=512,ti=1024,ai=2048,yn=4096,Ri=8192,nn=16384,ds=32768,Rl=1<<25,Vr=65536,Ec=1<<17,Dp=1<<18,Is=1<<19,Lp=1<<20,Kn=1<<25,us=65536,jc=1<<21,Os=1<<22,Ir=1<<23,hr=Symbol("$state"),Vp=Symbol("legacy props"),Kv=Symbol(""),Ip=Symbol("attributes"),Bl=Symbol("class"),Pl=Symbol("style"),Nl=Symbol("text"),Ao=Symbol("form reset"),Co=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},Op=!!globalThis.document?.contentType&&globalThis.document.contentType.includes("xml"),Mo=3,Hs=8;function Hp(t){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Xv(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Zv(t,a,r){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Jv(t){throw new Error("https://svelte.dev/e/effect_in_teardown")}function e2(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function t2(t){throw new Error("https://svelte.dev/e/effect_orphan")}function a2(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function i2(){throw new Error("https://svelte.dev/e/hydration_failed")}function n2(t){throw new Error("https://svelte.dev/e/props_invalid_value")}function r2(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function s2(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function o2(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function c2(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const l2=1,d2=2,Qp=4,u2=8,f2=16,p2=1,m2=2,g2=4,h2=8,_2=16,v2=1,b2=2,Dl="[",Ll="[!",Wp="[?",Vl="]",Qs={},ui=Symbol("uninitialized"),y2="http://www.w3.org/1999/xhtml";function k2(){console.warn("https://svelte.dev/e/derived_inert")}function Uc(t){console.warn("https://svelte.dev/e/hydration_mismatch")}function w2(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function x2(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let At=!1;function rn(t){At=t}let Xt;function hi(t){if(t===null)throw Uc(),Qs;return Xt=t}function zo(){return hi(kn(Xt))}function E(t){if(At){if(kn(Xt)!==null)throw Uc(),Qs;Xt=t}}function fs(t=1){if(At){for(var a=t,r=Xt;a--;)r=kn(r);Xt=r}}function Eo(t=!0){for(var a=0,r=Xt;;){if(r.nodeType===Hs){var n=r.data;if(n===Vl){if(a===0)return r;a-=1}else(n===Dl||n===Ll||n[0]==="["&&!isNaN(Number(n.slice(1))))&&(a+=1)}var i=kn(r);t&&r.remove(),r=i}}function Il(t){if(!t||t.nodeType!==Hs)throw Uc(),Qs;return t.data}function Yp(t){return t===this.v}function Kp(t,a){return t!=t?a==a:t!==a||t!==null&&typeof t=="object"||typeof t=="function"}function Xp(t){return!Kp(t,this.v)}let Ws=!1,S2=!1;function T2(){Ws=!0}let wa=null;function Ys(t){wa=t}function ps(t,a=!1,r){wa={p:wa,i:!1,c:null,e:null,s:t,x:null,r:Mt,l:Ws&&!a?{s:null,u:null,$:[]}:null}}function ms(t){var a=wa,r=a.e;if(r!==null){a.e=null;for(var n of r)wm(n)}return t!==void 0&&(a.x=t),a.i=!0,wa=a.p,t??{}}function jo(){return!Ws||wa!==null&&wa.l===null}let gs=[];function Zp(){var t=gs;gs=[],jl(t)}function Xn(t){if(gs.length===0&&!Ro){var a=gs;queueMicrotask(()=>{a===gs&&Zp()})}gs.push(t)}function $2(){for(;gs.length>0;)Zp()}function Jp(t){var a=Mt;if(a===null)return Zt.f|=Ir,t;if((a.f&ds)===0&&(a.f&Vs)===0)throw t;Or(t,a)}function Or(t,a){if(!(a!==null&&(a.f&nn)!==0)){for(;a!==null;){if((a.f&Ul)!==0){if((a.f&ds)===0)throw t;try{a.b.error(t);return}catch(r){t=r}}a=a.parent}throw t}}const q2=-7169;function Ba(t,a){t.f=t.f&q2|a}function Ol(t){(t.f&bn)!==0||t.deps===null?Ba(t,ti):Ba(t,yn)}function em(t){if(t!==null)for(const a of t)(a.f&gi)===0||(a.f&us)===0||(a.f^=us,em(a.deps))}function tm(t,a,r){(t.f&ai)!==0?a.add(t):(t.f&yn)!==0&&r.add(t),em(t.deps),Ba(t,ti)}const Ks=[];function Hl(t,a=zc){let r=null;const n=new Set;function i(d){if(Kp(t,d)&&(t=d,r)){const p=!Ks.length;for(const m of n)m[1](),Ks.push(m,t);if(p){for(let m=0;m{n.delete(m),n.size===0&&r&&(r(),r=null)}}return{set:i,update:c,subscribe:s}}let Rc=!1;function G2(t){var a=Rc;try{return Rc=!1,[t(),Rc]}finally{Rc=a}}function sn(t){At&&br(t)!==null&&id(t)}let am=!1;function im(){am||(am=!0,document.addEventListener("reset",t=>{Promise.resolve().then(()=>{if(!t.defaultPrevented)for(const a of t.target.elements)a[Ao]?.()})},{capture:!0}))}function Xs(t){var a=Zt,r=Mt;wn(null),xn(null);try{return t()}finally{wn(a),xn(r)}}function Ql(t,a,r,n=r){t.addEventListener(a,()=>Xs(r));const i=t[Ao];i?t[Ao]=()=>{i(),n(!0)}:t[Ao]=()=>n(!0),im()}function F2(t){let a=0,r=_s(0),n;return()=>{nd()&&(e(r),io(()=>(a===0&&(n=z(()=>t(()=>Bo(r)))),a+=1,()=>{Xn(()=>{a-=1,a===0&&(n?.(),n=void 0,Bo(r))})})))}}var A2=Vr|Is;function C2(t,a,r,n){new M2(t,a,r,n)}class M2{parent;is_pending=!1;transform_error;#e;#t=At?Xt:null;#a;#c;#n;#r=null;#i=null;#o=null;#s=null;#g=0;#l=0;#d=!1;#f=new Set;#h=new Set;#u=null;#v=F2(()=>(this.#u=_s(this.#g),()=>{this.#u=null}));constructor(a,r,n,i){this.#e=a,this.#a=r,this.#c=c=>{var s=Mt;s.b=this,s.f|=Ul,n(c)},this.parent=Mt.b,this.transform_error=i??this.parent?.transform_error??(c=>c),this.#n=no(()=>{if(At){const c=this.#t;zo();const s=c.data===Ll;if(c.data.startsWith(Wp)){const p=JSON.parse(c.data.slice(Wp.length));this.#b(p)}else s?this.#w():this.#_()}else this.#p()},A2),At&&(this.#e=Xt)}#_(){try{this.#r=on(()=>this.#c(this.#e))}catch(a){this.error(a)}}#b(a){const r=this.#a.failed,{reset:n,invoke_onerror:i}=this.#y(a);Xn(i),r&&(this.#o=on(()=>{r(this.#e,()=>a,()=>n)}))}#y(a){var r=!1,n=!1;const i=()=>{if(r){x2();return}r=!0,n&&c2(),this.#o!==null&&vs(this.#o,()=>{this.#o=null}),this.#m(()=>{this.#p()})};return{reset:i,invoke_onerror:()=>{try{n=!0,this.#a.onerror?.(a,i),n=!1}catch(s){Or(s,this.#n&&this.#n.parent)}}}}#w(){const a=this.#a.pending;a&&(this.is_pending=!0,this.#i=on(()=>a(this.#e)),Xn(()=>{var r=this.#s=document.createDocumentFragment(),n=Bi();r.append(n),this.#r=this.#m(()=>on(()=>this.#c(n))),this.#l===0&&(this.#e.before(r),this.#s=null,vs(this.#i,()=>{this.#i=null}),this.#k(Ct))}))}#p(){try{if(this.is_pending=this.has_pending_snippet(),this.#l=0,this.#g=0,this.#r=on(()=>{this.#c(this.#e)}),this.#l>0){var a=this.#s=document.createDocumentFragment();od(this.#r,a);const r=this.#a.pending;this.#i=on(()=>r(this.#e))}else this.#k(Ct)}catch(r){this.error(r)}}#k(a){this.is_pending=!1,a.transfer_effects(this.#f,this.#h)}defer_effect(a){tm(a,this.#f,this.#h)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#a.pending}#m(a){var r=Mt,n=Zt,i=wa;xn(this.#n),wn(this.#n),Ys(this.#n.ctx);try{return _r.ensure(),a()}catch(c){return Jp(c),null}finally{xn(r),wn(n),Ys(i)}}#x(a,r){if(!this.has_pending_snippet()){this.parent&&this.parent.#x(a,r);return}this.#l+=a,this.#l===0&&(this.#k(r),this.#i&&vs(this.#i,()=>{this.#i=null}),this.#s&&(this.#e.before(this.#s),this.#s=null))}update_pending_count(a,r){this.#x(a,r),this.#g+=a,!(!this.#u||this.#d)&&(this.#d=!0,Xn(()=>{this.#d=!1,this.#u&&to(this.#u,this.#g)}))}get_effect_pending(){return this.#v(),e(this.#u)}error(a){if(!this.#a.onerror&&!this.#a.failed)throw a;Ct?.is_fork?(this.#r&&Ct.skip_effect(this.#r),this.#i&&Ct.skip_effect(this.#i),this.#o&&Ct.skip_effect(this.#o),Ct.oncommit(()=>{this.#S(a)})):this.#S(a)}#S(a){this.#r&&(Qi(this.#r),this.#r=null),this.#i&&(Qi(this.#i),this.#i=null),this.#o&&(Qi(this.#o),this.#o=null),At&&(hi(this.#t),fs(),hi(Eo()));let r=this.#a.failed;const n=i=>{const{reset:c,invoke_onerror:s}=this.#y(i);s(),r&&(this.#o=this.#m(()=>{try{return on(()=>{var d=Mt;d.b=this,d.f|=Ul,r(this.#e,()=>i,()=>c)})}catch(d){return Or(d,this.#n.parent),null}}))};Xn(()=>{var i;try{i=this.transform_error(a)}catch(c){Or(c,this.#n&&this.#n.parent);return}i!==null&&typeof i=="object"&&typeof i.then=="function"?i.then(n,c=>Or(c,this.#n&&this.#n.parent)):n(i)})}}function z2(t,a,r,n){const i=jo()?Zs:ii;var c=t.filter(u=>!u.settled),s=a.map(i);if(r.length===0&&c.length===0){n(s);return}var d=Mt,p=E2(),m=c.length===1?c[0].promise:c.length>1?Promise.all(c.map(u=>u.promise)):null;function _(u){if((d.f&nn)===0){p();try{n([...s,...u])}catch(l){Or(l,d)}Bc()}}var h=nm();if(r.length===0){m.then(()=>_([])).finally(h);return}function f(){Promise.all(r.map(u=>j2(u))).then(_).catch(u=>Or(u,d)).finally(h)}m?m.then(()=>{p(),f(),Bc()}):f()}function E2(){var t=Mt,a=Zt,r=wa,n=Ct;return function(c=!0){xn(t),wn(a),Ys(r),c&&(t.f&nn)===0&&(n?.activate(),n?.apply())}}function Bc(t=!0){xn(null),wn(null),Ys(null),t&&Ct?.deactivate()}function nm(){var t=Mt,a=t.b,r=Ct,n=!!a?.is_rendered();return a?.update_pending_count(1,r),r.increment(n,t),()=>{a?.update_pending_count(-1,r),r.decrement(n,t)}}function Zs(t){var a=gi|ai;return Mt!==null&&(Mt.f|=Is),{ctx:wa,deps:null,effects:null,equals:Yp,f:a,fn:t,reactions:null,rv:0,v:ui,wv:0,parent:Mt,ac:null}}const Uo=Symbol("obsolete");function j2(t,a,r){let n=Mt;n===null&&Xv();var i=void 0,c=_s(ui),s=!Zt,d=new Set;return O2(()=>{var p=Mt,m=Pp();i=m.promise;try{Promise.resolve(t()).then(m.resolve,u=>{u!==Co&&m.reject(u)}).finally(Bc)}catch(u){m.reject(u),Bc()}var _=Ct;if(s){if((p.f&ds)!==0)var h=nm();if(n.b?.is_rendered())_.async_deriveds.get(p)?.reject(Uo);else for(const u of d.values())u.reject(Uo);d.add(m),_.async_deriveds.set(p,m)}const f=(u,l=void 0)=>{h?.(),d.delete(m),l!==Uo&&(_.activate(),l?(c.f|=Ir,to(c,l)):((c.f&Ir)!==0&&(c.f^=Ir),to(c,u)),_.deactivate())};m.promise.then(f,u=>f(null,u||"unknown"))}),Lc(()=>{for(const p of d)p.reject(Uo)}),new Promise(p=>{function m(_){function h(){_===i?p(c):m(i)}_.then(h,h)}m(i)})}function Gi(t){const a=Zs(t);return Fm(a),a}function ii(t){const a=Zs(t);return a.equals=Xp,a}function U2(t){var a=t.effects;if(a!==null){t.effects=null;for(var r=0;r{a.ac.abort(Co),a.ac=null}),a.fn!==null&&(a.teardown=zc),Po(a,0),sd(a))}function sm(t){if(t.effects!==null)for(const a of t.effects)a.teardown&&a.fn!==null&&ks(a)}let Yl=null,Js=null,Ct=null,Kl=null,En=null,Xl=null,Ro=!1,Zl=!1,eo=null,Pc=null;var om=0,z8=new Set;let B2=1;class _r{id=B2++;#e=!1;linked=!0;#t=null;#a=null;async_deriveds=new Map;current=new Map;previous=new Map;#c=new Set;#n=new Set;#r=0;#i=new Map;#o=null;#s=[];#g=[];#l=new Set;#d=new Set;#f=new Map;#h=new Set;is_fork=!1;#u=!1;constructor(){Js===null?Yl=Js=this:(Js.#a=this,this.#t=Js),Js=this}#v(){if(this.is_fork)return!0;for(const n of this.#i.keys()){for(var a=n,r=!1;a.parent!==null;){if(this.#f.has(a)){r=!0;break}a=a.parent}if(!r)return!0}return!1}skip_effect(a){this.#f.has(a)||this.#f.set(a,{d:[],m:[]}),this.#h.delete(a)}unskip_effect(a,r=n=>this.schedule(n)){var n=this.#f.get(a);if(n){this.#f.delete(a);for(var i of n.d)Ba(i,ai),r(i);for(i of n.m)Ba(i,yn),r(i)}this.#h.add(a)}#_(){this.#e=!0,om++>1e3&&(this.#m(),P2());for(const p of this.#l)this.#d.delete(p),Ba(p,ai),this.schedule(p);for(const p of this.#d)Ba(p,yn),this.schedule(p);const a=this.#s;this.#s=[],this.apply();var r=eo=[],n=[],i=Pc=[];for(const p of a)try{this.#b(p,r,n)}catch(m){throw fm(p),this.#v()||this.discard(),m}if(Ct=null,i.length>0){var c=_r.ensure();for(const p of i)c.schedule(p)}if(eo=null,Pc=null,this.#v()){this.#p(n),this.#p(r);for(const[p,m]of this.#f)um(p,m);i.length>0&&Ct.#_();return}const s=this.#y();if(s){this.#p(n),this.#p(r),s.#w(this);return}this.#l.clear(),this.#d.clear();for(const p of this.#c)p(this);this.#c.clear(),Kl=this,lm(n),lm(r),Kl=null,this.#o?.resolve();var d=Ct;if(this.#r===0&&(this.#s.length===0||d!==null)&&this.#m(),this.#s.length>0)if(d!==null){const p=d;p.#s.push(...this.#s.filter(m=>!p.#s.includes(m)))}else d=this;d!==null&&d.#_()}#b(a,r,n){a.f^=ti;for(var i=a.first;i!==null;){var c=i.f,s=(c&(vn|gr))!==0,d=s&&(c&ti)!==0,p=d||(c&Ri)!==0||this.#f.has(i);if(!p&&i.fn!==null){s?i.f^=ti:(c&Vs)!==0?r.push(i):ro(i)&&((c&zn)!==0&&this.#d.add(i),ks(i));var m=i.first;if(m!==null){i=m;continue}}for(;i!==null;){var _=i.next;if(_!==null){i=_;break}i=i.parent}}}#y(){for(var a=this.#t;a!==null;){if(!a.is_fork){for(const[r,[,n]]of this.current)if(a.current.has(r)&&!n)return a}a=a.#t}return null}#w(a){for(const[n,i]of a.current)!this.previous.has(n)&&a.previous.has(n)&&this.previous.set(n,a.previous.get(n)),this.current.set(n,i);for(const[n,i]of a.async_deriveds){const c=this.async_deriveds.get(n);c&&i.promise.then(c.resolve).catch(c.reject)}a.async_deriveds.clear(),this.transfer_effects(a.#l,a.#d);const r=n=>{var i=n.reactions;if(i!==null&&!((n.f&gi)!==0&&(n.f&(ai|yn))===0))for(const d of i){var c=d.f;if((c&gi)!==0)r(d);else{var s=d;c&(Os|zn)&&!this.async_deriveds.has(s)&&(this.#d.delete(s),Ba(s,ai),this.schedule(s))}}};for(const n of this.current.keys())r(n);this.oncommit(()=>a.discard()),a.#m(),Ct=this,this.#_()}#p(a){for(var r=0;r!h.current.get(f)[1]);if(!(!h.#e||i.length===0)){var c=i.filter(f=>!this.current.has(f));if(c.length===0)a&&h.discard();else if(r.length>0){if(a)for(const f of this.#h)h.unskip_effect(f,u=>{(u.f&(zn|Os))!==0?h.schedule(u):h.#p([u])});h.activate();var s=new Set,d=new Map;for(var p of r)dm(p,c,s,d);d=new Map;var m=[...h.current].filter(([f,u])=>{const l=this.current.get(f);return l?l[0]!==u[0]||l[1]!==u[1]:!0}).map(([f])=>f);if(m.length>0)for(const f of this.#g)(f.f&(nn|Ri|Ec))===0&&Jl(f,m,d)&&((f.f&(Os|zn))!==0?(Ba(f,ai),h.schedule(f)):h.#l.add(f));if(h.#s.length>0&&!h.#u){h.apply();for(var _ of h.#s)h.#b(_,[],[]);h.#s=[]}h.deactivate()}}}}increment(a,r){if(this.#r+=1,a){let n=this.#i.get(r)??0;this.#i.set(r,n+1)}}decrement(a,r){if(this.#r-=1,a){let n=this.#i.get(r)??0;n===1?this.#i.delete(r):this.#i.set(r,n-1)}this.#u||(this.#u=!0,Xn(()=>{this.#u=!1,this.linked&&this.flush()}))}transfer_effects(a,r){for(const n of a)this.#l.add(n);for(const n of r)this.#d.add(n);a.clear(),r.clear()}oncommit(a){this.#c.add(a)}ondiscard(a){this.#n.add(a)}settled(){return(this.#o??=Pp()).promise}static ensure(){if(Ct===null){const a=Ct=new _r;!Zl&&!Ro&&Xn(()=>{a.#e||a.flush()})}return Ct}apply(){{En=null;return}}schedule(a){if(Xl=a,a.b?.is_pending&&(a.f&(Vs|Fo|Np))!==0&&(a.f&ds)===0){a.b.defer_effect(a);return}for(var r=a;r.parent!==null;){r=r.parent;var n=r.f;if(eo!==null&&r===Mt&&(Zt===null||(Zt.f&gi)===0))return;if((n&(gr|vn))!==0){if((n&ti)===0)return;r.f^=ti}}this.#s.push(r)}#m(){if(this.linked){var a=this.#t,r=this.#a;a===null?Yl=r:a.#a=r,r===null?Js=a:r.#t=a,this.linked=!1}}}function cm(t){var a=Ro;Ro=!0;try{for(var r;;){if($2(),Ct===null)return r;Ct.flush()}}finally{Ro=a}}function P2(){try{a2()}catch(t){Or(t,Xl)}}let vr=null;function lm(t){var a=t.length;if(a!==0){for(var r=0;r0)){hs.clear();for(const i of vr){if((i.f&(nn|Ri))!==0)continue;const c=[i];let s=i.parent;for(;s!==null;)vr.has(s)&&(vr.delete(s),c.push(s)),s=s.parent;for(let d=c.length-1;d>=0;d--){const p=c[d];(p.f&(nn|Ri))===0&&ks(p)}}vr.clear()}}vr=null}}function dm(t,a,r,n){if(!r.has(t)&&(r.add(t),t.reactions!==null))for(const i of t.reactions){const c=i.f;(c&gi)!==0?dm(i,a,r,n):(c&(Os|zn))!==0&&(c&ai)===0&&Jl(i,a,n)&&(Ba(i,ai),ed(i))}}function Jl(t,a,r){const n=r.get(t);if(n!==void 0)return n;if(t.deps!==null)for(const i of t.deps){if(Cc.call(a,i))return!0;if((i.f&gi)!==0&&Jl(i,a,r))return r.set(i,!0),!0}return r.set(t,!1),!1}function ed(t){Ct.schedule(t)}function um(t,a){if(!((t.f&vn)!==0&&(t.f&ti)!==0)){(t.f&ai)!==0?a.d.push(t):(t.f&yn)!==0&&a.m.push(t),Ba(t,ti);for(var r=t.first;r!==null;)um(r,a),r=r.next}}function fm(t){Ba(t,ti);for(var a=t.first;a!==null;)fm(a),a=a.next}let Nc=new Set;const hs=new Map;let pm=!1;function _s(t,a){var r={f:0,v:t,reactions:null,equals:Yp,rv:0,wv:0};return r}function Ya(t,a){const r=_s(t);return Fm(r),r}function de(t,a=!1,r=!0){const n=_s(t);return a||(n.equals=Xp),Ws&&r&&wa!==null&&wa.l!==null&&(wa.l.s??=[]).push(n),n}function ni(t,a){return U(t,z(()=>e(t))),a}function U(t,a,r=!1){Zt!==null&&(!jn||(Zt.f&Ec)!==0)&&jo()&&(Zt.f&(gi|zn|Os|Ec))!==0&&(Jn===null||!Jn.has(t))&&o2();let n=r?ao(a):a;return to(t,n,Pc)}function to(t,a,r=null){if(!t.equals(a)){hs.set(t,yr?a:t.v);var n=_r.ensure();if(n.capture(t,a),(t.f&gi)!==0){const i=t;(t.f&ai)!==0&&Wl(i),En===null&&Ol(i)}t.wv=Mm(),mm(t,ai,r),jo()&&Mt!==null&&(Mt.f&ti)!==0&&(Mt.f&(vn|gr))===0&&(Sn===null?W2([t]):Sn.push(t)),!n.is_fork&&Nc.size>0&&!pm&&N2()}return a}function N2(){pm=!1;for(const t of Nc){(t.f&ti)!==0&&Ba(t,yn);let a;try{a=ro(t)}catch{a=!0}a&&ks(t)}Nc.clear()}function Bo(t){U(t,t.v+1)}function mm(t,a,r){var n=t.reactions;if(n!==null)for(var i=jo(),c=n.length,s=0;s{if(ys===c)return d();var p=Zt,m=ys;wn(null),Cm(c);var _=d();return wn(p),Cm(m),_};return n&&r.set("length",Ya(t.length)),new Proxy(t,{defineProperty(d,p,m){(!("value"in m)||m.configurable===!1||m.enumerable===!1||m.writable===!1)&&r2();var _=r.get(p);return _===void 0?s(()=>{var h=Ya(m.value);return r.set(p,h),h}):U(_,m.value,!0),!0},deleteProperty(d,p){var m=r.get(p);if(m===void 0){if(p in d){const _=s(()=>Ya(ui));r.set(p,_),Bo(i)}}else U(m,ui),Bo(i);return!0},get(d,p,m){if(p===hr)return t;var _=r.get(p),h=p in d;if(_===void 0&&(!h||ls(d,p)?.writable)&&(_=s(()=>{var u=ao(h?d[p]:ui),l=Ya(u);return l}),r.set(p,_)),_!==void 0){var f=e(_);return f===ui?void 0:f}return Reflect.get(d,p,m)},getOwnPropertyDescriptor(d,p){var m=Reflect.getOwnPropertyDescriptor(d,p);if(m&&"value"in m){var _=r.get(p);_&&(m.value=e(_))}else if(m===void 0){var h=r.get(p),f=h?.v;if(h!==void 0&&f!==ui)return{enumerable:!0,configurable:!0,value:f,writable:!0}}return m},has(d,p){if(p===hr)return!0;var m=r.get(p),_=m!==void 0&&m.v!==ui||Reflect.has(d,p);if(m!==void 0||Mt!==null&&(!_||ls(d,p)?.writable)){m===void 0&&(m=s(()=>{var f=_?ao(d[p]):ui,u=Ya(f);return u}),r.set(p,m));var h=e(m);if(h===ui)return!1}return _},set(d,p,m,_){var h=r.get(p),f=p in d;if(n&&p==="length")for(var u=m;uYa(ui)),r.set(u+"",l))}if(h===void 0)(!f||ls(d,p)?.writable)&&(h=s(()=>Ya(void 0)),U(h,ao(m)),r.set(p,h));else{f=h.v!==ui;var o=s(()=>ao(m));U(h,o)}var g=Reflect.getOwnPropertyDescriptor(d,p);if(g?.set&&g.set.call(_,m),!f){if(n&&typeof p=="string"){var v=r.get("length"),b=Number(p);Number.isInteger(b)&&b>=v.v&&U(v,b+1)}Bo(i)}return!0},ownKeys(d){e(i);var p=Reflect.ownKeys(d).filter(h=>{var f=r.get(h);return f===void 0||f.v!==ui});for(var[m,_]of r)_.v!==ui&&!(m in d)&&p.push(m);return p},setPrototypeOf(){s2()}})}function gm(t){try{if(t!==null&&typeof t=="object"&&hr in t)return t[hr]}catch{}return t}function D2(t,a){return Object.is(gm(t),gm(a))}var td,hm,_m,vm,bm;function ad(){if(td===void 0){td=window,hm=document,_m=/Firefox/.test(navigator.userAgent);var t=Element.prototype,a=Node.prototype,r=Text.prototype;vm=ls(a,"firstChild").get,bm=ls(a,"nextSibling").get,Bp(t)&&(t[Bl]=void 0,t[Ip]=null,t[Pl]=void 0,t.__e=void 0),Bp(r)&&(r[Nl]=void 0)}}function Bi(t=""){return document.createTextNode(t)}function br(t){return vm.call(t)}function kn(t){return bm.call(t)}function P(t,a){if(!At)return br(t);var r=br(Xt);if(r===null)r=Xt.appendChild(Bi());else if(a&&r.nodeType!==Mo){var n=Bi();return r?.before(n),hi(n),n}return a&&Dc(r),hi(r),r}function Lt(t,a=!1){if(!At){var r=br(t);return r instanceof Comment&&r.data===""?kn(r):r}if(a){if(Xt?.nodeType!==Mo){var n=Bi();return Xt?.before(n),hi(n),n}Dc(Xt)}return Xt}function W(t,a=1,r=!1){let n=At?Xt:t;for(var i;a--;)i=n,n=kn(n);if(!At)return n;if(r){if(n?.nodeType!==Mo){var c=Bi();return n===null?i?.after(c):n.before(c),hi(c),c}Dc(n)}return hi(n),n}function id(t){t.textContent=""}function ym(){return!1}function L2(t,a,r){return r?document.createElement(t,{is:r}):document.createElement(t)}function Dc(t){if(t.nodeValue.length<65536)return;let a=t.nextSibling;for(;a!==null&&a.nodeType===Mo;)a.remove(),t.nodeValue+=a.nodeValue,a=t.nextSibling}function km(t){Mt===null&&(Zt===null&&t2(),e2()),yr&&Jv()}function V2(t,a){var r=a.last;r===null?a.last=a.first=t:(r.next=t,t.prev=r,a.last=t)}function Zn(t,a){var r=Mt;r!==null&&(r.f&Ri)!==0&&(t|=Ri);var n={ctx:wa,deps:null,nodes:null,f:t|ai|bn,first:null,fn:a,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null};Ct?.register_created_effect(n);var i=n;if((t&Vs)!==0)eo!==null?eo.push(n):_r.ensure().schedule(n);else if(a!==null){try{ks(n)}catch(s){throw Qi(n),s}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&(i.f&Is)===0&&(i=i.first,(t&zn)!==0&&(t&Vr)!==0&&i!==null&&(i.f|=Vr))}if(i!==null&&(i.parent=r,r!==null&&V2(i,r),Zt!==null&&(Zt.f&gi)!==0&&(t&gr)===0)){var c=Zt;(c.effects??=[]).push(i)}return n}function nd(){return Zt!==null&&!jn}function Lc(t){const a=Zn(Fo,null);return Ba(a,ti),a.teardown=t,a}function Vc(t){km();var a=Mt.f,r=!Zt&&(a&vn)!==0&&wa!==null&&!wa.i;if(r){var n=wa;(n.e??=[]).push(t)}else return wm(t)}function wm(t){return Zn(Vs|Lp,t)}function xm(t){return km(),Zn(Fo|Lp,t)}function I2(t){_r.ensure();const a=Zn(gr|Is,t);return(r={})=>new Promise(n=>{r.outro?vs(a,()=>{Qi(a),n(void 0)}):(Qi(a),n(void 0))})}function rd(t){return Zn(Vs,t)}function He(t,a){var r=wa,n={effect:null,ran:!1,deps:t};r.l.$.push(n),n.effect=io(()=>{if(t(),!n.ran){n.ran=!0;var i=Mt;try{xn(i.parent),z(a)}finally{xn(i)}}})}function Ic(){var t=wa;io(()=>{for(var a of t.l.$){a.deps();var r=a.effect;(r.f&ti)!==0&&r.deps!==null&&Ba(r,yn),ro(r)&&ks(r),a.ran=!1}})}function O2(t){return Zn(Os|Is,t)}function io(t,a=0){return Zn(Fo|a,t)}function pe(t,a=[],r=[],n=[]){z2(n,a,r,i=>{Zn(Fo,()=>{t(...i.map(e))})})}function no(t,a=0){var r=Zn(zn|a,t);return r}function on(t){return Zn(vn|Is,t)}function Sm(t){var a=t.teardown;if(a!==null){const r=yr,n=Zt;Gm(!0),wn(null);try{a.call(null)}finally{Gm(r),wn(n)}}}function sd(t,a=!1){var r=t.first;for(t.first=t.last=null;r!==null;){const i=r.ac;i!==null&&Xs(()=>{i.abort(Co)});var n=r.next;(r.f&gr)!==0?r.parent=null:Qi(r,a),r=n}}function H2(t){for(var a=t.first;a!==null;){var r=a.next;(a.f&vn)===0&&Qi(a),a=r}}function Qi(t,a=!0){var r=!1;(a||(t.f&Dp)!==0)&&t.nodes!==null&&t.nodes.end!==null&&(Q2(t.nodes.start,t.nodes.end),r=!0),t.f|=Rl,sd(t,a&&!r),Po(t,0);var n=t.nodes&&t.nodes.t;if(n!==null)for(const c of n)c.stop();Sm(t),t.f^=Rl,t.f|=nn;var i=t.parent;i!==null&&i.first!==null&&Tm(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=t.b=null}function Q2(t,a){for(;t!==null;){var r=t===a?null:kn(t);t.remove(),t=r}}function Tm(t){var a=t.parent,r=t.prev,n=t.next;r!==null&&(r.next=n),n!==null&&(n.prev=r),a!==null&&(a.first===t&&(a.first=n),a.last===t&&(a.last=r))}function vs(t,a,r=!0){var n=[];$m(t,n,!0);var i=()=>{r&&Qi(t),a&&a()},c=n.length;if(c>0){var s=()=>--c||i();for(var d of n)d.out(s)}else i()}function $m(t,a,r){if((t.f&Ri)===0){t.f^=Ri;var n=t.nodes&&t.nodes.t;if(n!==null)for(const d of n)(d.is_global||r)&&a.push(d);for(var i=t.first;i!==null;){var c=i.next;if((i.f&gr)===0){var s=(i.f&Vr)!==0||(i.f&vn)!==0&&(t.f&zn)!==0;$m(i,a,s?r:!1)}i=c}}}function Oc(t){qm(t,!0)}function qm(t,a){if((t.f&Ri)!==0){t.f^=Ri,(t.f&ti)===0&&(Ba(t,ai),_r.ensure().schedule(t));for(var r=t.first;r!==null;){var n=r.next,i=(r.f&Vr)!==0||(r.f&vn)!==0;qm(r,i?a:!1),r=n}var c=t.nodes&&t.nodes.t;if(c!==null)for(const s of c)(s.is_global||a)&&s.in()}}function od(t,a){if(t.nodes)for(var r=t.nodes.start,n=t.nodes.end;r!==null;){var i=r===n?null:kn(r);a.append(r),r=i}}let Hc=!1,yr=!1;function Gm(t){yr=t}let Zt=null,jn=!1;function wn(t){Zt=t}let Mt=null;function xn(t){Mt=t}let Jn=null;function Fm(t){Zt!==null&&(Jn??=new Set).add(t)}let Wi=null,cn=0,Sn=null;function W2(t){Sn=t}let Am=1,bs=0,ys=bs;function Cm(t){ys=t}function Mm(){return++Am}function ro(t){var a=t.f;if((a&ai)!==0)return!0;if(a&gi&&(t.f&=~us),(a&yn)!==0){for(var r=t.deps,n=r.length,i=0;it.wv)return!0}(a&bn)!==0&&En===null&&Ba(t,ti)}return!1}function zm(t,a,r=!0){var n=t.reactions;if(n!==null&&!(Jn!==null&&Jn.has(t)))for(var i=0;i{t.ac.abort(Co)}),t.ac=null);try{t.f|=jc;var _=t.fn,h=_();t.f|=ds;var f=t.deps,u=Ct?.is_fork;if(Wi!==null){var l;if(u||Po(t,cn),f!==null&&cn>0)for(f.length=cn+Wi.length,l=0;l{c.ac.abort(Co),c.ac=null,Ba(c,ai)}),R2(c),Po(c,0)}}function Po(t,a){var r=t.deps;if(r!==null)for(var n=a;nr?.call(this,c))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?Xn(()=>{a.addEventListener(t,i,n)}):a.addEventListener(t,i,n),i}function qe(t,a,r,n,i){var c={capture:n,passive:i},s=eb(t,a,r,c);(a===document.body||a===window||a===document||a instanceof HTMLMediaElement)&&Lc(()=>{a.removeEventListener(t,s,c)})}let Bm=null;function ld(t){var a=this,r=a.ownerDocument,n=t.type,i=t.composedPath?.()||[],c=i[0]||t.target;Bm=t;var s=0,d=Bm===t&&t[Qc];if(d){var p=i.indexOf(d);if(p!==-1&&(a===document||a===window)){t[Qc]=a;return}var m=i.indexOf(a);if(m===-1)return;p<=m&&(s=p)}if(c=i[s]||t.target,c!==a){Up(t,"currentTarget",{configurable:!0,get(){return c||r}});var _=Zt,h=Mt;wn(null),xn(null);try{for(var f,u=[];c!==null&&c!==a;){try{var l=c[Qc]?.[n];l!=null&&(!c.disabled||t.target===c)&&l.call(c,t)}catch(o){f?u.push(o):f=o}if(t.cancelBubble)break;s++,c=s{throw o});throw f}}finally{t[Qc]=a,delete t.currentTarget,wn(_),xn(h)}}}const tb=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function ab(t){return tb?.createHTML(t)??t}function ib(t){var a=L2("template");return a.innerHTML=ab(t.replaceAll("","")),a.content}function Hr(t,a){var r=Mt;r.nodes===null&&(r.nodes={start:t,end:a,a:null,t:null})}function ge(t,a){var r=(a&v2)!==0,n=(a&b2)!==0,i,c=!t.startsWith("");return()=>{if(At)return Hr(Xt,null),Xt;i===void 0&&(i=ib(c?t:""+t),r||(i=br(i)));var s=n||_m?document.importNode(i,!0):i.cloneNode(!0);if(r){var d=br(s),p=s.lastChild;Hr(d,p)}else Hr(s,s);return s}}function nb(t=""){if(!At){var a=Bi(t+"");return Hr(a,a),a}var r=Xt;return r.nodeType!==Mo?(r.before(r=Bi()),hi(r)):Dc(r),Hr(r,r),r}function Qr(){if(At)return Hr(Xt,null),Xt;var t=document.createDocumentFragment(),a=document.createComment(""),r=Bi();return t.append(a,r),Hr(a,r),t}function se(t,a){if(At){var r=Mt;((r.f&ds)===0||r.nodes.end===null)&&(r.nodes.end=Xt),zo();return}t!==null&&t.before(a)}function K(t,a){var r=a==null?"":typeof a=="object"?`${a}`:a;r!==(t[Nl]??=t.nodeValue)&&(t[Nl]=r,t.nodeValue=`${r}`)}function Pm(t,a){return Nm(t,a)}function rb(t,a){ad(),a.intro=a.intro??!1;const r=a.target,n=At,i=Xt;try{for(var c=br(r);c&&(c.nodeType!==Hs||c.data!==Dl);)c=kn(c);if(!c)throw Qs;rn(!0),hi(c);const s=Nm(t,{...a,anchor:c});return rn(!1),s}catch(s){if(s instanceof Error&&s.message.split(` -`).some(d=>d.startsWith("https://svelte.dev/e/")))throw s;return s!==Qs&&console.warn("Failed to hydrate: ",s),a.recover===!1&&i2(),ad(),id(r),rn(!1),Pm(t,a)}finally{rn(n),hi(i)}}const Wc=new Map;function Nm(t,{target:a,anchor:r,props:n={},events:i,context:c,intro:s=!0,transformError:d}){ad();var p=void 0,m=I2(()=>{var _=r??a.appendChild(Bi());C2(_,{pending:()=>{}},u=>{ps({});var l=wa;if(c&&(l.c=c),i&&(n.$$events=i),At&&Hr(u,null),p=t(u,n)||{},At&&(Mt.nodes.end=Xt,Xt===null||Xt.nodeType!==Hs||Xt.data!==Vl))throw Uc(),Qs;ms()},d);var h=new Set,f=u=>{for(var l=0;l{for(var u of h)for(const g of[a,document]){var l=Wc.get(g),o=l.get(u);--o==0?(g.removeEventListener(u,ld),l.delete(u),l.size===0&&Wc.delete(g)):l.set(u,o)}Rm.delete(f),_!==r&&_.parentNode?.removeChild(_)}});return dd.set(p,m),p}let dd=new WeakMap;function sb(t,a){const r=dd.get(t);return r?(dd.delete(t),r(a)):Promise.resolve()}class ud{anchor;#e=new Map;#t=new Map;#a=new Map;#c=new Set;#n=!0;constructor(a,r=!0){this.anchor=a,this.#n=r}#r=a=>{if(this.#e.has(a)){var r=this.#e.get(a),n=this.#t.get(r);if(n)Oc(n),this.#c.delete(r);else{var i=this.#a.get(r);i&&(Oc(i.effect),this.#t.set(r,i.effect),this.#a.delete(r),i.fragment.lastChild.remove(),this.anchor.before(i.fragment),n=i.effect)}for(const[c,s]of this.#e){if(this.#e.delete(c),c===a)break;const d=this.#a.get(s);d&&(Qi(d.effect),this.#a.delete(s))}for(const[c,s]of this.#t){if(c===r||this.#c.has(c))continue;const d=()=>{if(Array.from(this.#e.values()).includes(c)){var m=document.createDocumentFragment();od(s,m),m.append(Bi()),this.#a.set(c,{effect:s,fragment:m})}else Qi(s);this.#c.delete(c),this.#t.delete(c)};this.#n||!n?(this.#c.add(c),vs(s,d,!1)):d()}}};#i=a=>{this.#e.delete(a);const r=Array.from(this.#e.values());for(const[n,i]of this.#a)r.includes(n)||(Qi(i.effect),this.#a.delete(n))};ensure(a,r){var n=Ct,i=ym();if(r&&!this.#t.has(a)&&!this.#a.has(a))if(i){var c=document.createDocumentFragment(),s=Bi();c.append(s),this.#a.set(a,{effect:on(()=>r(s)),fragment:c})}else this.#t.set(a,on(()=>r(this.anchor)));if(this.#e.set(n,a),i){for(const[d,p]of this.#t)d===a?n.unskip_effect(p):n.skip_effect(p);for(const[d,p]of this.#a)d===a?n.unskip_effect(p.effect):n.skip_effect(p.effect);n.oncommit(this.#r),n.ondiscard(this.#i)}else At&&(this.anchor=Xt),this.#r(n)}}function Te(t,a,r=!1){var n;At&&(n=Xt,zo());var i=new ud(t),c=r?Vr:0;function s(d,p){if(At){var m=Il(n);if(d!==parseInt(m.substring(1))){var _=Eo();hi(_),i.anchor=_,rn(!1),i.ensure(d,p),rn(!0);return}}i.ensure(d,p)}no(()=>{var d=!1;a((p,m=0)=>{d=!0,s(m,p)}),d||s(-1,null)},c)}function oa(t,a){return a}function ob(t,a,r){for(var n=[],i=a.length,c,s=a.length,d=0;d{if(c){if(c.pending.delete(h),c.done.add(h),c.pending.size===0){var f=t.outrogroups;fd(t,Mc(c.done)),f.delete(c),f.size===0&&(t.outrogroups=null)}}else s-=1},!1)}if(s===0){var p=n.length===0&&r!==null;if(p){var m=r,_=m.parentNode;id(_),_.append(m),t.items.clear()}fd(t,a,!p)}else c={pending:new Set(a),done:new Set},(t.outrogroups??=new Set).add(c)}function fd(t,a,r=!0){var n;if(t.pending.size>0){n=new Set;for(const s of t.pending.values())for(const d of s)n.add(t.items.get(d).e)}for(var i=0;i{var k=r();return zl(k)?k:k==null?[]:Mc(k)}),f,u=new Map,l=!0;function o(k){(b.effect.f&nn)===0&&(b.pending.delete(k),b.fallback=_,cb(b,f,s,a,n),_!==null&&(f.length===0?(_.f&Kn)===0?Oc(_):(_.f^=Kn,Do(_,null,s)):vs(_,()=>{_=null})))}function g(k){b.pending.delete(k)}var v=no(()=>{f=e(h);var k=f.length;let w=!1;if(At){var $=Il(s)===Ll;$!==(k===0)&&(s=Eo(),hi(s),rn(!1),w=!0)}for(var N=new Set,R=Ct,F=ym(),D=0;Dc(s)):(_=on(()=>c(Dm??=Bi())),_.f|=Kn)),k>N.size&&Zv(),At&&k>0&&hi(Eo()),!l)if(u.set(R,N),F){for(const[V,G]of d)N.has(V)||R.skip_effect(G.e);R.oncommit(o),R.ondiscard(g)}else o(R);w&&rn(!0),e(h)}),b={effect:v,items:d,pending:u,outrogroups:null,fallback:_};l=!1,At&&(s=Xt)}function No(t){for(;t!==null&&(t.f&vn)===0;)t=t.next;return t}function cb(t,a,r,n,i){var c=(n&u2)!==0,s=a.length,d=t.items,p=No(t.effect.first),m,_=null,h,f=[],u=[],l,o,g,v;if(c)for(v=0;v0){var D=(n&Qp)!==0&&s===0?r:null;if(c){for(v=0;v{if(h!==void 0)for(g of h)g.nodes?.a?.apply()})}function lb(t,a,r,n,i,c,s,d){var p=(s&l2)!==0?(s&f2)===0?de(r,!1,!1):_s(r):null,m=(s&d2)!==0?_s(i):null;return{v:p,i:m,e:on(()=>(c(a,p??r,m??i,d),()=>{t.delete(n)}))}}function Do(t,a,r){if(t.nodes)for(var n=t.nodes.start,i=t.nodes.end,c=a&&(a.f&Kn)===0?a.nodes.start:r;n!==null;){var s=kn(n);if(c.before(n),n===i)return;n=s}}function Wr(t,a,r){a===null?t.effect.first=r:a.next=r,r===null?t.effect.last=a:r.prev=a}function db(t,a,...r){var n=new ud(t);no(()=>{const i=a()??null;n.ensure(i,i&&(c=>i(c,...r)))},Vr)}function Yc(t,a,r){var n;At&&(n=Xt,zo());var i=new ud(t);no(()=>{var c=a()??null;if(At){var s=Il(n),d=s===Dl,p=c!==null;if(d!==p){var m=Eo();hi(m),i.anchor=m,rn(!1),i.ensure(c,c&&(_=>r(_,c))),rn(!0);return}}i.ensure(c,c&&(_=>r(_,c)))},Vr)}function ub(t,a){let r=null,n=At;var i;if(At){r=Xt;for(var c=br(document.head);c!==null&&(c.nodeType!==Hs||c.data!==t);)c=kn(c);if(c===null)rn(!1);else{var s=kn(c);c.remove(),hi(s)}}At||(i=document.head.appendChild(Bi()));try{no(()=>{var d=on(()=>a(i));d.f|=Dp})}finally{n&&(rn(!0),hi(r))}}const Lm=[...` -\r\f \v\uFEFF`];function fb(t,a,r){var n=t==null?"":""+t;if(a&&(n=n?n+" "+a:a),r){for(var i of Object.keys(r))if(r[i])n=n?n+" "+i:i;else if(n.length)for(var c=i.length,s=0;(s=n.indexOf(i,s))>=0;){var d=s+c;(s===0||Lm.includes(n[s-1]))&&(d===n.length||Lm.includes(n[d]))?n=(s===0?"":n.substring(0,s))+n.substring(d+1):s=d}}return n===""?null:n}function pb(t,a){return t==null?null:String(t)}function za(t,a,r,n,i,c){var s=t[Bl];if(At||s!==r||s===void 0){var d=fb(r,n,c);(!At||d!==t.getAttribute("class"))&&(d==null?t.removeAttribute("class"):t.className=d),t[Bl]=r}else if(c&&i!==c)for(var p in c){var m=!!c[p];(i==null||m!==!!i[p])&&t.classList.toggle(p,m)}return c}function Vm(t,a,r,n){var i=t[Pl];if(At||i!==a){var c=pb(a);(!At||c!==t.getAttribute("style"))&&(c==null?t.removeAttribute("style"):t.style.cssText=c),t[Pl]=a}return n}function er(t,a,r=!1){if(t.multiple){if(a==null)return;if(!zl(a))return w2();for(var n of t.options)n.selected=a.includes(Vo(n));return}for(n of t.options){var i=Vo(n);if(D2(i,a)){n.selected=!0;return}}(!r||a!==void 0)&&(t.selectedIndex=-1)}function kr(t){var a=new MutationObserver(()=>{"__value"in t&&er(t,t.__value)});a.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Lc(()=>{a.disconnect()})}function Lo(t,a,r=a){var n=new WeakSet,i=!0;Ql(t,"change",c=>{var s=c?"[selected]":":checked",d;if(t.multiple)d=[].map.call(t.querySelectorAll(s),Vo);else{var p=t.querySelector(s)??t.querySelector("option:not([disabled])");d=p&&Vo(p)}r(d),t.__value=d,Ct!==null&&n.add(Ct)}),rd(()=>{var c=a();if(t===document.activeElement){var s=Ct;if(n.has(s))return}if(er(t,c,i),i&&c===void 0){var d=t.querySelector(":checked");d!==null&&(c=Vo(d),r(c))}t.__value=c,i=!1}),kr(t)}function Vo(t){return"__value"in t?t.__value:t.value}const mb=Symbol("is custom element"),gb=Symbol("is html"),hb=Op?"link":"LINK",_b=Op?"progress":"PROGRESS";function Ga(t){if(At){var a=!1,r=()=>{if(!a){if(a=!0,t.hasAttribute("value")){var n=t.value;$e(t,"value",null),t.value=n}if(t.hasAttribute("checked")){var i=t.checked;$e(t,"checked",null),t.checked=i}}};t[Ao]=r,Xn(r),im()}}function Yi(t,a){var r=md(t);r.value===(r.value=a??void 0)||t.value===a&&(a!==0||t.nodeName!==_b)||(t.value=a??"")}function pd(t,a){var r=md(t);r.checked!==(r.checked=a??void 0)&&(t.checked=a)}function $e(t,a,r,n){var i=md(t);At&&(i[a]=t.getAttribute(a),a==="src"||a==="srcset"||a==="href"&&t.nodeName===hb)||i[a]!==(i[a]=r)&&(a==="loading"&&(t[Kv]=r),r==null?t.removeAttribute(a):typeof r!="string"&&vb(t).includes(a)?t[a]=r:t.setAttribute(a,r))}function md(t){return t[Ip]??={[mb]:t.nodeName.includes("-"),[gb]:t.namespaceURI===y2}}var Im=new Map;function vb(t){var a=t.getAttribute("is")||t.nodeName,r=Im.get(a);if(r)return r;Im.set(a,r=[]);for(var n,i=t,c=Element.prototype;c!==i;){n=Rp(i);for(var s in n)n[s].set&&s!=="innerHTML"&&s!=="textContent"&&s!=="innerText"&&r.push(s);i=El(i)}return r}function Ka(t,a,r=a){var n=new WeakSet;Ql(t,"input",async i=>{var c=i?t.defaultValue:t.value;if(c=gd(t)?hd(c):c,r(c),Ct!==null&&n.add(Ct),await ws(),c!==(c=a())){var s=t.selectionStart,d=t.selectionEnd,p=t.value.length;if(t.value=c??"",d!==null){var m=t.value.length;s===d&&d===p&&m>p?(t.selectionStart=m,t.selectionEnd=m):(t.selectionStart=s,t.selectionEnd=Math.min(d,m))}}}),(At&&t.defaultValue!==t.value||z(a)==null&&t.value)&&(r(gd(t)?hd(t.value):t.value),Ct!==null&&n.add(Ct)),io(()=>{var i=a();if(t===document.activeElement){var c=Ct;if(n.has(c))return}gd(t)&&i===hd(t.value)||t.type==="date"&&!i&&!t.value||i!==t.value&&(t.value=i??"")})}function bb(t,a,r=a){Ql(t,"change",n=>{var i=n?t.defaultChecked:t.checked;r(i)}),(At&&t.defaultChecked!==t.checked||z(a)==null)&&r(t.checked),io(()=>{var n=a();t.checked=!!n})}function gd(t){var a=t.type;return a==="number"||a==="range"}function hd(t){return t===""?null:+t}function yb(t,a,r){var n=ls(t,a);n&&n.set&&(t[a]=r,Lc(()=>{t[a]=null}))}function _d(t,a){return t===a||t?.[hr]===a}function Ki(t={},a,r,n){var i=wa.r,c=Mt;return rd(()=>{var s,d;return io(()=>{s=d,d=n?.()||[],z(()=>{_d(r(...d),t)||(a(t,...d),s&&_d(r(...s),t)&&a(null,...s))})}),()=>{let p=c;for(;p!==i&&p.parent!==null&&p.parent.f&Rl;)p=p.parent;const m=()=>{d&&_d(r(...d),t)&&a(null,...d)},_=p.teardown;p.teardown=()=>{m(),_?.()}}}),t}function Kc(t=!1){const a=wa,r=a.l.u;if(!r)return;let n=()=>le(a.s);if(t){let i=0,c={};const s=Zs(()=>{let d=!1;const p=a.s;for(const m in p)p[m]!==c[m]&&(c[m]=p[m],d=!0);return d&&i++,i});n=()=>e(s)}r.b.length&&xm(()=>{Om(a,n),jl(r.b)}),Vc(()=>{const i=z(()=>r.m.map(Wv));return()=>{for(const c of i)typeof c=="function"&&c()}}),r.a.length&&Vc(()=>{Om(a,n),jl(r.a)})}function Om(t,a){if(t.l.s)for(const r of t.l.s)e(r);a()}function Ut(t,a,r,n){var i=!Ws||(r&m2)!==0,c=(r&h2)!==0,s=(r&_2)!==0,d=n,p=!0,m=void 0,_=()=>s&&i?(m??=Zs(n),e(m)):(p&&(p=!1,d=s?z(n):n),d);let h;if(c){var f=hr in t||Vp in t;h=ls(t,a)?.set??(f&&a in t?w=>t[a]=w:void 0)}var u,l=!1;c?[u,l]=G2(()=>t[a]):u=t[a],u===void 0&&n!==void 0&&(u=_(),h&&(i&&n2(),h(u)));var o;if(i?o=()=>{var w=t[a];return w===void 0?_():(p=!0,w)}:o=()=>{var w=t[a];return w!==void 0&&(d=void 0),w===void 0?d:w},i&&(r&g2)===0)return o;if(h){var g=t.$$legacy;return(function(w,$){return arguments.length>0?((!i||!$||g||l)&&h($?o():w),w):o()})}var v=!1,b=((r&p2)!==0?Zs:ii)(()=>(v=!1,o()));c&&e(b);var k=Mt;return(function(w,$){if(arguments.length>0){const N=$?e(b):i&&c?ao(w):w;return U(b,N),v=!0,d!==void 0&&(d=N),w}return yr&&v||(k.f&nn)!==0?b.v:e(b)})}function kb(t){return class extends wb{constructor(a){super({component:t,...a})}}}class wb{#e;#t;constructor(a){var r=new Map,n=(c,s)=>{var d=de(s,!1,!1);return r.set(c,d),d};const i=new Proxy({...a.props||{},$$events:{}},{get(c,s){return e(r.get(s)??n(s,Reflect.get(c,s)))},has(c,s){return s===Vp?!0:(e(r.get(s)??n(s,Reflect.get(c,s))),Reflect.has(c,s))},set(c,s,d){return U(r.get(s)??n(s,d),d),Reflect.set(c,s,d)}});this.#t=(a.hydrate?rb:Pm)(a.component,{target:a.target,anchor:a.anchor,props:i,context:a.context,intro:a.intro??!1,recover:a.recover,transformError:a.transformError}),(!a?.props?.$$host||a.sync===!1)&&cm(),this.#e=i.$$events;for(const c of Object.keys(this.#t))c==="$set"||c==="$destroy"||c==="$on"||Up(this,c,{get(){return this.#t[c]},set(s){this.#t[c]=s},enumerable:!0});this.#t.$set=c=>{Object.assign(i,c)},this.#t.$destroy=()=>{sb(this.#t)}}$set(a){this.#t.$set(a)}$on(a,r){this.#e[a]=this.#e[a]||[];const n=(...i)=>r.call(this,...i);return this.#e[a].push(n),()=>{this.#e[a]=this.#e[a].filter(i=>i!==n)}}$destroy(){this.#t.$destroy()}}function xs(t){wa===null&&Hp(),Ws&&wa.l!==null?xb(wa).m.push(t):Vc(()=>{const a=z(t);if(typeof a=="function")return a})}function Xc(t){wa===null&&Hp(),xs(()=>()=>z(t))}function xb(t){var a=t.l;return a.u??={a:[],b:[],m:[]}}class vd{constructor(a,r){this.status=a,typeof r=="string"?this.body={message:r}:r?this.body=r:this.body={message:`Error: ${a}`}}toString(){return JSON.stringify(this.body)}}class bd{constructor(a,r){try{new Headers({location:r})}catch{throw new Error(`Invalid redirect location ${JSON.stringify(r)}: this string contains characters that cannot be used in HTTP headers`)}this.status=a,this.location=r}}class yd extends Error{constructor(a,r,n){super(n),this.status=a,this.text=r}}new URL("sveltekit-internal://");function Sb(t,a){return t==="/"||a==="ignore"?t:a==="never"?t.endsWith("/")?t.slice(0,-1):t:a==="always"&&!t.endsWith("/")?t+"/":t}function Tb(t){return t.split("%25").map(decodeURI).join("%25")}function $b(t){for(const a in t)t[a]=decodeURIComponent(t[a]);return t}function kd({href:t}){return t.split("#")[0]}function Yr(){}function qb(...t){let a=5381;for(const r of t)if(typeof r=="string"){let n=r.length;for(;n;)a=a*33^r.charCodeAt(--n)}else if(ArrayBuffer.isView(r)){const n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);let i=n.length;for(;i;)a=a*33^n[--i]}else throw new TypeError("value must be a string or TypedArray");return(a>>>0).toString(36)}new TextEncoder;function Gb(t){const a=atob(t),r=new Uint8Array(a.length);for(let n=0;n((t instanceof Request?t.method:a?.method||"GET")!=="GET"&&Io.delete(wd(t)),Fb(t,a));const Io=new Map;function Ab(t,a){const r=wd(t,a),n=document.querySelector(r);if(n?.textContent){n.remove();let{body:i,...c}=JSON.parse(n.textContent);n.getAttribute("data-b64")!==null&&(i=Gb(i));const d=n.getAttribute("data-ttl");return d&&Io.set(r,{body:i,init:c,ttl:1e3*Number(d)}),Promise.resolve(new Response(i,c))}return window.fetch(t,a)}function Cb(t,a,r){if(Io.size>0){const n=wd(t,r),i=Io.get(n);if(i){if(performance.now(){const i=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(n);if(i)return a.push({name:i[1],matcher:i[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const c=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(n);if(c)return a.push({name:c[1],matcher:c[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!n)return;const s=n.split(/\[(.+?)\](?!\])/);return"/"+s.map((p,m)=>{if(m%2){if(p.startsWith("x+"))return xd(String.fromCharCode(parseInt(p.slice(2),16)));if(p.startsWith("u+"))return xd(String.fromCharCode(...p.slice(2).split("-").map(o=>parseInt(o,16))));const _=Mb.exec(p),[,h,f,u,l]=_;return a.push({name:u,matcher:l,optional:!!h,rest:!!f,chained:f?m===1&&s[0]==="":!1}),f?"([^]*?)":h?"([^/]*)?":"([^/]+?)"}return xd(p)}).join("")}).join("")}/?$`),params:a}}function jb(t){return t!==""&&!/^\([^)]+\)$/.test(t)}function Ub(t){return t.slice(1).split("/").filter(jb)}function Rb(t,a,r){const n={},i=t.slice(1),c=i.filter(d=>d!==void 0);let s=0;for(let d=0;d_).join("/"),s=0),m===void 0)if(p.rest)m="";else continue;if(!p.matcher||r[p.matcher](m)){n[p.name]=m;const _=a[d+1],h=i[d+1];_&&!_.rest&&_.optional&&h&&p.chained&&(s=0),!_&&!h&&Object.keys(n).length===c.length&&(s=0);continue}if(p.optional&&p.chained){s++;continue}return}if(!s)return n}function xd(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Bb({nodes:t,server_loads:a,dictionary:r,matchers:n}){const i=new Set(a);return Object.entries(r).map(([d,[p,m,_]])=>{const{pattern:h,params:f}=Eb(d),u={id:d,exec:l=>{const o=h.exec(l);if(o)return Rb(o,f,n)},errors:[1,..._||[]].map(l=>t[l]),layouts:[0,...m||[]].map(s),leaf:c(p)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function c(d){const p=d<0;return p&&(d=~d),[p,t[d]]}function s(d){return d===void 0?d:[i.has(d),t[d]]}}function Hm(t,a=JSON.parse){try{return a(sessionStorage[t])}catch{}}function Qm(t,a,r=JSON.stringify){const n=r(a);try{sessionStorage[t]=n}catch{}}const Tn=globalThis.__sveltekit_1wn864?.base??"",Pb=globalThis.__sveltekit_1wn864?.assets??Tn??"",Nb="0.8.1",Wm="sveltekit:snapshot",Ym="sveltekit:scroll",Km="sveltekit:states",Db="sveltekit:pageurl",so="sveltekit:history",Oo="sveltekit:navigation",Ss={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Sd=location.origin;function Xm(t){if(t instanceof URL)return t;let a=document.baseURI;if(!a){const r=document.getElementsByTagName("base");a=r.length?r[0].href:document.URL}return new URL(t,a)}function Ts(){return{x:pageXOffset,y:pageYOffset}}function oo(t,a){return t.getAttribute(`data-sveltekit-${a}`)}const Zm={...Ss,"":Ss.hover};function Jm(t){let a=t.assignedSlot??t.parentNode;return a?.nodeType===11&&(a=a.host),a}function eg(t,a){for(;t&&t!==a;){if(t.nodeName.toUpperCase()==="A"&&t.hasAttribute("href"))return t;t=Jm(t)}}function Td(t,a,r){let n;try{if(n=new URL(t instanceof SVGAElement?t.href.baseVal:t.href,document.baseURI),r&&n.hash.match(/^#[^/]/)){const d=location.hash.split("#")[1]||"/";n.hash=`#${d}${n.hash}`}}catch{}const i=t instanceof SVGAElement?t.target.baseVal:t.target,c=!n||!!i||Jc(n,a,r)||(t.getAttribute("rel")||"").split(/\s+/).includes("external"),s=n?.origin===Sd&&t.hasAttribute("download");return{url:n,external:c,target:i,download:s}}function Zc(t){let a=null,r=null,n=null,i=null,c=null,s=null,d=t;for(;d&&d!==document.documentElement;)n===null&&(n=oo(d,"preload-code")),i===null&&(i=oo(d,"preload-data")),a===null&&(a=oo(d,"keepfocus")),r===null&&(r=oo(d,"noscroll")),c===null&&(c=oo(d,"reload")),s===null&&(s=oo(d,"replacestate")),d=Jm(d);function p(m){switch(m){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:Zm[n??"off"],preload_data:Zm[i??"off"],keepfocus:p(a),noscroll:p(r),reload:p(c),replace_state:p(s)}}function tg(t){const a=Hl(t);let r=!0;function n(){r=!0,a.update(s=>s)}function i(s){r=!1,a.set(s)}function c(s){let d;return a.subscribe(p=>{(d===void 0||r&&p!==d)&&s(d=p)})}return{notify:n,set:i,subscribe:c}}const ag={v:Yr};function Lb(){const{set:t,subscribe:a}=Hl(!1);let r;async function n(){clearTimeout(r);try{const i=await fetch(`${Pb}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!i.ok)return!1;const s=(await i.json()).version!==Nb;return s&&(t(!0),ag.v(),clearTimeout(r)),s}catch{return!1}}return{subscribe:a,check:n}}function Jc(t,a,r){return t.origin!==Sd||!t.pathname.startsWith(a)?!0:r?t.pathname!==location.pathname:!1}const ig=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...ig];const Vb=new Set([...ig]);[...Vb];function Ib(t){return t.filter(a=>a!=null)}function el(t,a){return t+"/"+a}function $d(t){return t instanceof vd||t instanceof yd?t.status:500}function Ob(t){return t instanceof yd?t.text:"Internal Error"}let Xi,Ho,qd;const Hb=xs.toString().includes("$$")||/function \w+\(\) \{\}/.test(xs.toString()),ng="a:";Hb?(Xi={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(ng)},Ho={current:null},qd={current:!1}):(Xi=new class{#e=Ya({});get data(){return e(this.#e)}set data(a){U(this.#e,a)}#t=Ya(null);get form(){return e(this.#t)}set form(a){U(this.#t,a)}#a=Ya(null);get error(){return e(this.#a)}set error(a){U(this.#a,a)}#c=Ya({});get params(){return e(this.#c)}set params(a){U(this.#c,a)}#n=Ya({id:null});get route(){return e(this.#n)}set route(a){U(this.#n,a)}#r=Ya({});get state(){return e(this.#r)}set state(a){U(this.#r,a)}#i=Ya(-1);get status(){return e(this.#i)}set status(a){U(this.#i,a)}#o=Ya(new URL(ng));get url(){return e(this.#o)}set url(a){U(this.#o,a)}},Ho=new class{#e=Ya(null);get current(){return e(this.#e)}set current(a){U(this.#e,a)}},qd=new class{#e=Ya(!1);get current(){return e(this.#e)}set current(a){U(this.#e,a)}},ag.v=()=>qd.current=!0);function rg(t){Object.assign(Xi,t)}const Qb=new Set(["icon","shortcut icon","apple-touch-icon"]);let Qo=null;const Kr=Hm(Ym)??{},Wo=Hm(Wm)??{},wr={url:tg({}),page:tg({}),navigating:Hl(null),updated:Lb()};function Gd(t){Kr[t]=Ts()}function Wb(t,a){let r=t+1;for(;Kr[r];)delete Kr[r],r+=1;for(r=a+1;Wo[r];)delete Wo[r],r+=1}function Yo(t,a=!1){return a?location.replace(t.href):location.href=t.href,new Promise(Yr)}async function sg(){if("serviceWorker"in navigator){const t=await navigator.serviceWorker.getRegistration(Tn||"/");t&&await t.update()}}let Fd,Ad,tl,xr,Cd,_i;const al=[],il=[];let $n=null;function nl(){$n?.fork?.then(t=>t?.discard()),$n=null,lo={element:void 0,href:void 0}}const rl=new Map,og=new Set,Yb=new Set,Ko=new Set;let ja={branch:[],error:null,url:null},cg=!1,sl=!1,lg=!0,Xo=!1,Zo=!1,dg=!1,Md=!1,ug,Si,qn,Xr;const ol=new Set,fg=new Map,pg=new Map;async function Kb(t,a,r){if(globalThis.__sveltekit_1wn864.data){const{q:c={},p:s={},l:d={},f:p={}}=globalThis.__sveltekit_1wn864.data;for(const m in c)c[m];for(const m in d)d[m];for(const m in p)p[m];for(const m in s)s[m]}document.URL!==location.href&&(location.href=location.href),_i=t,await t.hooks.init?.(),Fd=Bb(t),xr=document.documentElement,Cd=a,Ad=t.nodes[0],tl=t.nodes[1],Ad(),tl(),Si=history.state?.[so],qn=history.state?.[Oo],Si||(Si=qn=Date.now(),history.replaceState({...history.state,[so]:Si,[Oo]:qn},""));const n=Kr[Si];function i(){n&&(history.scrollRestoration="manual",scrollTo(n.x,n.y))}r?(i(),await dy(Cd,r)):(await co({type:"enter",url:Xm(_i.hash?py(new URL(location.href)):location.href),replace_state:!0}),i()),ly()}function Xb(){al.length=0,Md=!1}function mg(t){il.some(a=>a?.snapshot)&&(Wo[t]=il.map(a=>a?.snapshot?.capture()))}function gg(t){Wo[t]?.forEach((a,r)=>{il[r]?.snapshot?.restore(a)})}function hg(){Gd(Si),Qm(Ym,Kr),mg(qn),Qm(Wm,Wo)}async function Zb(t,a,r,n){let i,c;a.invalidateAll&&nl(),await co({type:"goto",url:Xm(t),keepfocus:a.keepFocus,noscroll:a.noScroll,replace_state:a.replaceState,state:a.state,redirect_count:r,nav_token:n,accept:()=>{if(a.invalidateAll){Md=!0,i=new Set;for(const[s,d]of fg)for(const[p,m]of d)m.resource?.reset(),i.add(el(s,p));c=new Set;for(const[s,d]of pg)for(const p of d.keys())c.add(el(s,p))}a.invalidate&&a.invalidate.forEach(cy)}}),a.invalidateAll&&ws().then(ws).then(()=>{for(const[s,d]of fg)for(const[p,{resource:m}]of d)i?.has(el(s,p))&&m.start();for(const[s,d]of pg)for(const[p,{resource:m}]of d)c?.has(el(s,p))&&m.reconnect()})}async function Jb(t){if(t.id!==$n?.id){nl();const a={};ol.add(a),$n={id:t.id,token:a,promise:vg({...t,preload:a}).then(r=>(ol.delete(a),r.type==="loaded"&&r.state.error&&nl(),r)),fork:null}}return $n.promise}async function zd(t){const a=(await ll(t,!1))?.route;a&&await Promise.all([...a.layouts,a.leaf].filter(Boolean).map(r=>r[1]()))}async function _g(t,a,r){const n={params:ja.params,route:{id:ja.route?.id??null},url:new URL(location.href)};if(ja={...t.state,nav:n},rg(t.props.page),ug=new _i.root({target:a,props:{...t.props,stores:wr,components:il},hydrate:r,sync:!1,transformError:void 0}),await Promise.resolve(),r){const i={from:null,to:{...n,scroll:Kr[Si]??Ts()},willUnload:!1,type:"enter",complete:Promise.resolve()};Ko.forEach(c=>c(i))}gg(qn),sl=!0}async function cl({url:t,params:a,branch:r,errors:n,status:i,error:c,route:s,form:d}){let p="never";if(Tn&&(t.pathname===Tn||t.pathname===Tn+"/"))p="always";else for(const l of r)l?.slash!==void 0&&(p=l.slash);t.pathname=Sb(t.pathname,p),t.search=t.search;const m={type:"loaded",state:{url:t,params:a,branch:r,error:c,route:s},props:{constructors:Ib(r).map(l=>l.node.component),page:Pd(Xi)}};d!==void 0&&(m.props.form=d);let _={},h=!Xi,f=0;for(let l=0;ld(new URL(s))))return!0;return!1}function jd(t,a){return t?.type==="data"?t:t?.type==="skip"?a??null:null}function ay(t,a){if(!t)return new Set(a.searchParams.keys());const r=new Set([...t.searchParams.keys(),...a.searchParams.keys()]);for(const n of r){const i=t.searchParams.getAll(n),c=a.searchParams.getAll(n);i.every(s=>c.includes(s))&&c.every(s=>i.includes(s))&&r.delete(n)}return r}function iy({error:t,url:a,route:r,params:n}){return{type:"loaded",state:{error:t,url:a,route:r,params:n,branch:[]},props:{page:Pd(Xi),constructors:[]}}}async function vg({id:t,invalidating:a,url:r,params:n,route:i,preload:c}){if($n?.id===t)return ol.delete($n.token),$n.promise;const{errors:s,layouts:d,leaf:p}=i,m=[...d,p];s.forEach(g=>g?.().catch(Yr)),m.forEach(g=>g?.[1]().catch(Yr));const _=ja.url?t!==dl(ja.url):!1,h=ja.route?i.id!==ja.route.id:!1,f=ay(ja.url,r);let u=!1;const l=m.map(async(g,v)=>{if(!g)return;const b=ja.branch[v];return g[1]===b?.loader&&!ty(u,h,_,f,b.universal?.uses,n)?b:(u=!0,Ed({loader:g[1],url:r,params:n,route:i,parent:async()=>{const w={};for(let $=0;$Promise.resolve({}),server_data_node:jd(c)}),d={node:await tl(),loader:tl,universal:null,server:null,data:null};return cl({url:r,params:i,branch:[s,d],status:t,error:a,errors:[],route:null})}catch(s){if(s instanceof bd){await Zb(new URL(s.location,location.href),{},0);return}const d=await _i.get_error_template(),p=await uo(s,{url:r,params:i,route:n}),m=String(p?.message??"").replace(/&/g,"&").replace(//g,">"),_=d({status:t,message:m}),h=new DOMParser().parseFromString(_,"text/html");throw document.documentElement.replaceChild(document.adoptNode(h.head),document.head),document.documentElement.replaceChild(document.adoptNode(h.body),document.body),s}}async function ry(t){const a=t.href;if(rl.has(a))return rl.get(a);let r;try{const n=(async()=>{let i=await _i.hooks.reroute({url:new URL(t),fetch:async(c,s)=>ey(c,s,t).promise})??t;if(typeof i=="string"){const c=new URL(t);_i.hash?c.hash=i:c.pathname=i,i=c}return i})();rl.set(a,n),r=await n}catch{rl.delete(a);return}return r}async function ll(t,a){if(t&&!Jc(t,Tn,_i.hash)){const r=await ry(t);if(!r)return;const n=sy(r);for(const i of Fd){const c=i.exec(n);if(c)return{id:dl(t),invalidating:a,route:i,params:$b(c),url:t}}}}function sy(t){return Tb(_i.hash?t.hash.replace(/^#/,"").replace(/[?#].+/,""):t.pathname.slice(Tn.length))||"/"}function dl(t){return(_i.hash?t.hash.replace(/^#/,""):t.pathname)+t.search}function bg({url:t,type:a,intent:r,delta:n,event:i,scroll:c}){let s=!1;const d=Bd(ja,r,t,a,c??null);n!==void 0&&(d.navigation.delta=n),i!==void 0&&(d.navigation.event=i);const p={...d.navigation,cancel:()=>{s=!0,d.reject(new Error("navigation cancelled"))}};return Xo||og.forEach(m=>m(p)),s?null:d}async function co({type:t,url:a,popped:r,keepfocus:n,noscroll:i,replace_state:c,state:s={},redirect_count:d=0,nav_token:p={},accept:m=Yr,block:_=Yr,event:h}){const f=Xr;Xr=p;const u=await ll(a,!1),l=t==="enter"?Bd(ja,u,a,t):bg({url:a,type:t,delta:r?.delta,intent:u,scroll:r?.scroll,event:h});if(!l){_(),Xr===p&&(Xr=f);return}const o=Si,g=qn;m(),Xo=!0,sl&&l.navigation.type!=="enter"&&wr.navigating.set(Ho.current=l.navigation);let v=u&&await vg(u);if(!v){if(Jc(a,Tn,_i.hash))return await Yo(a,c);v=await yg(a,{id:null},await uo(new yd(404,"Not Found",`Not found: ${a.pathname}`),{url:a,params:{},route:{id:null}}),404,c)}if(a=u?.url||a,Xr!==p){l.reject(new Error("navigation aborted"));return}if(!v)return;if(v.type==="redirect"){if(d<20){await co({type:t,url:new URL(v.location,a),popped:r,keepfocus:n,noscroll:i,replace_state:c,state:s,redirect_count:d+1,nav_token:p}),l.fulfil(void 0);return}if(v=await Ud({status:500,error:await uo(new Error("Redirect loop"),{url:a,params:{},route:{id:null}}),url:a,route:{id:null}}),!v)return}else if(v.props.page.status>=400&&await wr.updated.check())return await sg(),await Yo(a,c);if(Xb(),Gd(o),mg(g),v.props.page.url.pathname!==a.pathname&&(a.pathname=v.props.page.url.pathname),s=r?r.state:s,!r){const R=c?0:1,F={[so]:Si+=R,[Oo]:qn+=R,[Km]:s};(c?history.replaceState:history.pushState).call(history,F,"",a),c||Wb(Si,qn)}const b=u&&$n?.id===u.id?$n.fork:null;$n?.fork&&!b?nl():($n=null,lo={element:void 0,href:void 0}),v.props.page.state=s;let k;if(sl){const R=(await Promise.all(Array.from(Yb,I=>I(l.navigation)))).filter(I=>typeof I=="function");if(R.length>0){let I=function(){R.forEach(S=>{Ko.delete(S)})};R.push(I),R.forEach(S=>{Ko.add(S)})}const F=l.navigation.to;ja={...v.state,nav:{params:F.params,route:F.route,url:F.url}},v.props.page&&(v.props.page.url=a),!n&&document.activeElement instanceof HTMLElement&&document.activeElement!==document.body&&document.activeElement.blur();const D=b&&await b;D?k=D.commit():(Qo=null,ug.$set(v.props),Qo&&Object.assign(v.props.page,Qo),rg(v.props.page),k=K2?.()),dg=!0}else await _g(v,Cd,!1);const{activeElement:w}=document;if(await k,await ws(),await ws(),Xr!==p){l.reject(new Error("navigation aborted"));return}v.props.page&&Qo&&Object.assign(v.props.page,Qo);let $=null;if(lg){const R=r?r.scroll:i?Ts():null;R?scrollTo(R.x,R.y):($=a.hash&&document.getElementById(kg(a)))?$.scrollIntoView():scrollTo(0,0)}const N=document.activeElement!==w&&document.activeElement!==document.body;!n&&!N&&fy(a,!$),lg=!0,Xo=!1,l.fulfil(void 0),l.navigation.to&&(l.navigation.to.scroll=Ts()),Ko.forEach(R=>R(l.navigation)),t==="popstate"&&gg(qn),wr.navigating.set(Ho.current=null)}async function yg(t,a,r,n,i){return t.origin===Sd&&t.pathname===location.pathname&&!cg?await Ud({status:n,error:r,url:t,route:a}):await Yo(t,i)}let lo={element:void 0,href:void 0};function oy(){let t,a;xr.addEventListener("mousemove",s=>{const d=s.target;clearTimeout(t),t=setTimeout(()=>{i(d,Ss.hover)},20)});function r(s){s.defaultPrevented||i(s.composedPath()[0],Ss.tap)}xr.addEventListener("mousedown",r),xr.addEventListener("touchstart",r,{passive:!0});const n=new IntersectionObserver(s=>{for(const d of s)d.isIntersecting&&(zd(new URL(d.target.href)),n.unobserve(d.target))},{threshold:0});async function i(s,d){const p=eg(s,xr),m=p===lo.element&&p?.href===lo.href&&d>=a;if(!p||m)return;const{url:_,external:h,download:f}=Td(p,Tn,_i.hash);if(h||f)return;const u=Zc(p),l=_&&dl(ja.url)===dl(_);if(!(u.reload||l))if(d<=u.preload_data){lo={element:p,href:p.href},a=Ss.tap;const o=await ll(_,!1);if(!o)return;Jb(o)}else d<=u.preload_code&&(lo={element:p,href:p.href},a=d,zd(_))}function c(){n.disconnect();for(const s of xr.querySelectorAll("a")){const{url:d,external:p,download:m}=Td(s,Tn,_i.hash);if(p||m)continue;const _=Zc(s);_.reload||(_.preload_code===Ss.viewport&&n.observe(s),_.preload_code===Ss.eager&&zd(d))}}Ko.add(c),c()}function uo(t,a){if(t instanceof vd)return t.body;const r=$d(t),n=Ob(t);return _i.hooks.handleError({error:t,event:a,status:r,message:n})??{message:n}}function cy(t){if(typeof t=="function")al.push(t);else{const{href:a}=new URL(t,location.href);al.push(r=>r.href===a)}}function ly(){history.scrollRestoration="manual",addEventListener("beforeunload",a=>{let r=!1;if(hg(),!Xo){const n=Bd(ja,void 0,null,"leave"),i={...n.navigation,cancel:()=>{r=!0,n.reject(new Error("navigation cancelled"))}};og.forEach(c=>c(i))}r?(a.preventDefault(),a.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&hg()}),navigator.connection?.saveData||oy(),xr.addEventListener("click",async a=>{if(a.button||a.which!==1||a.metaKey||a.ctrlKey||a.shiftKey||a.altKey||a.defaultPrevented)return;const r=eg(a.composedPath()[0],xr);if(!r)return;const{url:n,external:i,target:c,download:s}=Td(r,Tn,_i.hash);if(!n)return;if(c==="_parent"||c==="_top"){if(window.parent!==window)return}else if(c&&c!=="_self")return;const d=Zc(r);if(!(r instanceof SVGAElement)&&n.protocol!==location.protocol&&!(n.protocol==="https:"||n.protocol==="http:")||s)return;const[m,_]=(_i.hash?n.hash.replace(/^#/,""):n.href).split("#"),h=m===kd(location);if(i||d.reload&&(!h||!_)){bg({url:n,type:"link",event:a})?Xo=!0:a.preventDefault();return}if(_!==void 0&&h){const[,f]=ja.url.href.split("#");if(f===_){if(a.preventDefault(),_===""||_==="top"&&r.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const u=r.ownerDocument.getElementById(decodeURIComponent(_));u&&(u.scrollIntoView(),u.focus())}return}if(Zo=!0,Gd(Si),t(n),!d.replace_state)return;Zo=!1}a.preventDefault(),await new Promise(f=>{requestAnimationFrame(()=>{setTimeout(f,0)}),setTimeout(f,100)}),await co({type:"link",url:n,keepfocus:d.keepfocus,noscroll:d.noscroll,replace_state:d.replace_state??n.href===location.href,event:a})}),xr.addEventListener("submit",a=>{if(a.defaultPrevented)return;const r=HTMLFormElement.prototype.cloneNode.call(a.target),n=a.submitter;if((n?.formTarget||r.target)==="_blank"||(n?.formMethod||r.method)!=="get")return;const s=new URL(n?.hasAttribute("formaction")&&n?.formAction||r.action);if(Jc(s,Tn,!1))return;const d=a.target,p=Zc(d);if(p.reload)return;a.preventDefault(),a.stopPropagation();const m=new FormData(d,n);s.search=new URLSearchParams(m).toString(),co({type:"form",url:s,keepfocus:p.keepfocus,noscroll:p.noscroll,replace_state:p.replace_state??s.href===location.href,event:a})}),addEventListener("popstate",async a=>{if(!Rd){if(a.state?.[so]){const r=a.state[so];if(Xr={},r===Si)return;const n=Kr[r],i=a.state[Km]??{},c=new URL(a.state[Db]??location.href),s=a.state[Oo],d=ja.url?kd(location)===kd(ja.url):!1;if(s===qn&&(dg||d)){i!==Xi.state&&(Xi.state=i),t(c),Kr[Si]=Ts(),n&&scrollTo(n.x,n.y),Si=r;return}const m=r-Si;await co({type:"popstate",url:c,popped:{state:i,scroll:n,delta:m},accept:()=>{Si=r,qn=s},block:()=>{history.go(-m)},nav_token:Xr,event:a})}else if(!Zo){const r=new URL(location.href);t(r),_i.hash&&location.reload()}}}),addEventListener("hashchange",()=>{Zo&&(Zo=!1,history.replaceState({...history.state,[so]:++Si,[Oo]:qn},"",location.href))});for(const a of document.querySelectorAll("link"))Qb.has(a.rel)&&(a.href=a.href);addEventListener("pageshow",a=>{a.persisted&&wr.navigating.set(Ho.current=null)});function t(a){ja.url=Xi.url=a,wr.page.set(Pd(Xi)),wr.page.notify()}}async function dy(t,{status:a=200,error:r,node_ids:n,params:i,route:c,server_route:s,data:d,form:p}){cg=!0;const m=new URL(location.href);let _;({params:i={},route:c={id:null}}=await ll(m,!1)||{}),_=Fd.find(({id:u})=>u===c.id);let h,f=!0;try{const u=n.map(async(o,g)=>{const v=d[g];return v?.uses&&(v.uses=uy(v.uses)),Ed({loader:_i.nodes[o],url:m,params:i,route:c,parent:async()=>{const b={};for(let k=0;k{const d=history.state;Rd=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(d,"",t),a&&scrollTo(c,s),Rd=!1})}else{const c=document.body,s=c.getAttribute("tabindex");c.tabIndex=-1,c.focus({preventScroll:!0,focusVisible:!1}),s!==null?c.setAttribute("tabindex",s):c.removeAttribute("tabindex")}const i=getSelection();if(i&&i.type!=="None"){const c=[];for(let s=0;s{if(i.rangeCount===c.length){for(let s=0;s{c=m,s=_});return d.catch(Yr),{navigation:{from:{params:t.params,route:{id:t.route?.id??null},url:t.url,scroll:Ts()},to:r&&{params:a?.params??null,route:{id:a?.route?.id??null},url:r,scroll:i},willUnload:!a,type:n,complete:d},fulfil:c,reject:s}}function Pd(t){return{data:t.data,error:t.error,form:t.form,params:t.params,route:t.route,state:t.state,status:t.status,url:t.url}}function py(t){const a=new URL(t);return a.hash=decodeURIComponent(t.hash),a}function kg(t){let a;if(_i.hash){const[,,r]=t.hash.split("#",3);a=r??""}else a=t.hash.slice(1);return decodeURIComponent(a)}const E8="modulepreload",j8=function(t,a){return new URL(t,a).href},U8={},Jo=function(a,r,n){let i=Promise.resolve();function c(s){const d=new Event("vite:preloadError",{cancelable:!0});if(d.payload=s,window.dispatchEvent(d),!d.defaultPrevented)throw s}return i.then(s=>{for(const d of s||[])d.status==="rejected"&&c(d.reason);return a().catch(c)})},my={},gy="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(gy);var hy=ge('
'),_y=ge(" ",1);function vy(t,a){ps(a,!0);let r=Ut(a,"components",23,()=>[]),n=Ut(a,"data_0",3,null),i=Ut(a,"data_1",3,null);xm(()=>a.stores.page.set(a.page)),Vc(()=>{a.stores,a.page,a.constructors,r(),a.form,n(),i(),a.stores.page.notify()});let c=Ya(!1),s=Ya(!1),d=Ya(null);xs(()=>{const o=a.stores.page.subscribe(()=>{e(c)&&(U(s,!0),ws().then(()=>{U(d,document.title||"untitled page",!0)}))});return U(c,!0),o});const p=Gi(()=>a.constructors[1]);var m=_y(),_=Lt(m);{var h=o=>{const g=Gi(()=>a.constructors[0]);var v=Qr(),b=Lt(v);Yc(b,()=>e(g),(k,w)=>{Ki(w(k,{get data(){return n()},get form(){return a.form},get params(){return a.page.params},children:($,N)=>{var R=Qr(),F=Lt(R);Yc(F,()=>e(p),(D,I)=>{Ki(I(D,{get data(){return i()},get form(){return a.form},get params(){return a.page.params}}),S=>r()[1]=S,()=>r()?.[1])}),se($,R)},$$slots:{default:!0}}),$=>r()[0]=$,()=>r()?.[0])}),se(o,v)},f=o=>{const g=Gi(()=>a.constructors[0]);var v=Qr(),b=Lt(v);Yc(b,()=>e(g),(k,w)=>{Ki(w(k,{get data(){return n()},get form(){return a.form},get params(){return a.page.params}}),$=>r()[0]=$,()=>r()?.[0])}),se(o,v)};Te(_,o=>{a.constructors[1]?o(h):o(f,-1)})}var u=W(_,2);{var l=o=>{var g=hy(),v=P(g);{var b=k=>{var w=nb();pe(()=>K(w,e(d))),se(k,w)};Te(v,k=>{e(s)&&k(b)})}E(g),se(o,g)};Te(u,o=>{e(c)&&o(l)})}se(t,m),ms()}const by=kb(vy),yy=[()=>Jo(()=>Promise.resolve().then(()=>$y),void 0,Ui&&Ui.tagName.toUpperCase()==="SCRIPT"&&Ui.src||new URL("_app/immutable/bundle.B8bl09_b.js",document.baseURI).href),()=>Jo(()=>Promise.resolve().then(()=>Ay),void 0,Ui&&Ui.tagName.toUpperCase()==="SCRIPT"&&Ui.src||new URL("_app/immutable/bundle.B8bl09_b.js",document.baseURI).href),()=>Jo(()=>Promise.resolve().then(()=>a4),void 0,Ui&&Ui.tagName.toUpperCase()==="SCRIPT"&&Ui.src||new URL("_app/immutable/bundle.B8bl09_b.js",document.baseURI).href)],ky=[],wy={"/":[2]},Nd={handleError:(({error:t})=>{console.error(t)}),reroute:(()=>{}),transport:{}},wg=Object.fromEntries(Object.entries(Nd.transport).map(([t,a])=>[t,a.decode])),xy=Object.fromEntries(Object.entries(Nd.transport).map(([t,a])=>[t,a.encode])),xg=Object.freeze(Object.defineProperty({__proto__:null,decode:(t,a)=>wg[t](a),decoders:wg,dictionary:wy,encoders:xy,get_error_template:()=>Jo(()=>Promise.resolve().then(()=>i4),void 0,Ui&&Ui.tagName.toUpperCase()==="SCRIPT"&&Ui.src||new URL("_app/immutable/bundle.B8bl09_b.js",document.baseURI).href).then(t=>t.default),hash:!0,hooks:Nd,matchers:my,nodes:yy,root:by,server_loads:ky},Symbol.toStringTag,{value:"Module"}));function Sy(t,a){Kb(xg,t,a)}function Ty(t,a){var r=Qr(),n=Lt(r);db(n,()=>a.children),se(t,r)}const $y=Object.freeze(Object.defineProperty({__proto__:null,component:Ty},Symbol.toStringTag,{value:"Module"})),qy={get error(){return Xi.error},get status(){return Xi.status}};wr.updated.check;const Sg=qy;var Gy=ge("

",1);function Fy(t,a){ps(a,!0);var r=Gy(),n=Lt(r),i=P(n,!0);E(n);var c=W(n,2),s=P(c,!0);E(c),pe(()=>{K(i,Sg.status),K(s,Sg.error?.message)}),se(t,r),ms()}const Ay=Object.freeze(Object.defineProperty({__proto__:null,component:Fy},Symbol.toStringTag,{value:"Module"}));T2();function ul(t,a,r){for(let n=0;nt.getChannelData(p));let s=44;for(let d=0;da.decodeAudioData(await p.arrayBuffer()))),n=r[0].sampleRate,i=r[0].numberOfChannels;for(const p of r)if(p.sampleRate!==n||p.numberOfChannels!==i)throw new Error("Generated chunks use different audio formats and cannot be joined.");const c=r.reduce((p,m)=>p+m.length,0),s=a.createBuffer(i,c,n);let d=0;for(const p of r){for(let m=0;m CTC target between words (segment) or at transcript edges (edges); matches the reference default segment.",values:["segment","edges"],required:!1,default:"segment"},{name:"merge_threshold_sec",type:"float",description:"Merge adjacent words whose gap is below this many seconds; default 0.0 disables merging.",required:!1,min:0,default:0},{name:"return_timestamps",type:"bool",description:"Request word timestamps in the result; set automatically by --words-out.",required:!1,default:!0}],session:[{name:"emission_window_sec",type:"float",description:"Center emission window length in seconds used to split long waveforms; default 30.",required:!1,min:.02,default:30},{name:"emission_context_sec",type:"float",description:"Left/right context appended to each emission window in seconds; must be below emission_window_sec; default 2.",required:!1,min:0,default:2},{name:"max_alignment_cells",type:"int",description:"Hard cap on CTC DP cells (frames x states) allocated per request; alignment fails before allocation when exceeded; default 50000000.",required:!1,min:1,default:5e7},{name:"max_target_tokens",type:"int",description:"Hard cap on flattened CTC target tokens per request; default 8192.",required:!1,min:1,default:8192},{name:"weight_type",type:"enum",description:"Weight storage type; default native (tensors kept as stored in the checkpoint).",preset:"weight_type_conv",required:!1,default:"native"}],load:[]},runtime:{tags:["gguf"]},ui:{recommended_package:"mms_forced_aligner_300m_f16",tags:["Align","GGUF"],docs:["docs/community_models/mms_forced_aligner.md","docs/speech_analysis.md","docs/gguf.md"]},package_defaults:{download:{kind:"unsupported",reason:"CC-BY-NC-4.0 checkpoint: convert locally with audiocpp_gguf; no public audio.cpp GGUF distribution is approved."}},packages:[{id:"mms_forced_aligner_300m_f16",display_name:"Meta MMS-300M Forced Aligner F16 GGUF",default:!0,format:"gguf",precision:"f16",target_directory:"MMS-Forced-Aligner-GGUF",files:["MMS-Forced-Aligner-GGUF/mms-forced-aligner-f16.gguf"],strip_prefix:"MMS-Forced-Aligner-GGUF"},{id:"mms_forced_aligner_300m_safetensors",display_name:"Meta MMS-300M Forced Aligner Safetensors",format:"safetensors",precision:"native",target_directory:"mms-300m-1130-forced-aligner",files:["config.json","model.safetensors","special_tokens_map.json","tokenizer_config.json","vocab.json"],download:{kind:"huggingface_snapshot",repo:"MahmoudAshraf/mms-300m-1130-forced-aligner",revision:"49402e9577b1158620820667c218cd494cc44486",gated:!1}},{id:"mms_forced_aligner_300m_q8_0",display_name:"Meta MMS-300M Forced Aligner Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"MMS-Forced-Aligner-GGUF",files:["MMS-Forced-Aligner-GGUF/mms-forced-aligner-q8_0.gguf"],strip_prefix:"MMS-Forced-Aligner-GGUF"}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",vocab:"model:vocab.json"},optional_files:{special_tokens_map:"model:special_tokens_map.json",tokenizer_config:"model:tokenizer_config.json",preprocessor_config:"model:preprocessor_config.json"},tensors:{weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",vocab:"model:vocab.json"},optional_files:{special_tokens_map:"model:special_tokens_map.json",tokenizer_config:"model:tokenizer_config.json",preprocessor_config:"model:preprocessor_config.json"},tensors:{weights:"model:model.safetensors"}}]},R3={schema_version:1,family:"moonshine_asr",display_name:"Moonshine Streaming ASR",description:"Moonshine tiny/small/medium streaming English speech recognition models.",category:"asr",status:"experimental",tasks:["asr"],modes:["offline","streaming"],languages:["en"],capabilities:{},options:{request:[{name:"max_tokens",type:"int",description:"Maximum generated transcript tokens. Defaults to audio-duration derived limit.",required:!1,min:0,default:0}],session:[{name:"weight_type",type:"enum",description:"Shared matmul weight storage type.",preset:"weight_type_full",required:!1,default:"native"},{name:"conv_weight_type",type:"enum",description:"Frontend convolution weight storage type.",preset:"weight_type_conv",required:!1},{name:"decoder_weight_type",type:"enum",description:"Decoder matmul weight storage type.",preset:"weight_type_full",required:!1},{name:"encoder_gelu",type:"enum",description:"Encoder GELU lowering.",values:["erf","exact","tanh","quick"],required:!1,default:"quick"},{name:"cpu_blas_scheduler",type:"bool",description:"Use BLAS/Accelerate for supported CPU encoder matmuls.",required:!1,default:!0},{name:"weight_context_mb",type:"int",description:"Weight context arena size in MiB.",required:!1,min:1,default:256},{name:"graph_arena_mb",type:"int",description:"Graph arena size in MiB.",required:!1,min:1,default:512}],load:[]},runtime:{tags:["gguf","cpu","stream"]},ui:{recommended_package:"moonshine_streaming_tiny_q8_0",tags:["ASR","GGUF","Stream"],docs:["docs/asr.md","docs/models/moonshine_asr.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"moonshine_streaming_tiny_q8_0",display_name:"Moonshine Streaming Tiny Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Moonshine-Streaming-GGUF",files:["Moonshine-Streaming-GGUF/moonshine-streaming-tiny-q8_0.gguf"],strip_prefix:"Moonshine-Streaming-GGUF"},{id:"moonshine_streaming_small_q8_0",display_name:"Moonshine Streaming Small Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"Moonshine-Streaming-GGUF",files:["Moonshine-Streaming-GGUF/moonshine-streaming-small-q8_0.gguf"],strip_prefix:"Moonshine-Streaming-GGUF"},{id:"moonshine_streaming_medium_q8_0",display_name:"Moonshine Streaming Medium Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"Moonshine-Streaming-GGUF",files:["Moonshine-Streaming-GGUF/moonshine-streaming-medium-q8_0.gguf"],strip_prefix:"Moonshine-Streaming-GGUF"},{id:"moonshine_streaming_tiny_safetensors",display_name:"Moonshine Streaming Tiny Safetensors",format:"safetensors",precision:"f32",target_directory:"moonshine-streaming-tiny",files:["config.json","tokenizer.json","model.safetensors"],download:{kind:"huggingface_snapshot",repo:"moonshine-ai/moonshine-streaming-tiny",revision:"main",gated:!1}},{id:"moonshine_streaming_small_safetensors",display_name:"Moonshine Streaming Small Safetensors",format:"safetensors",precision:"f32",target_directory:"moonshine-streaming-small",files:["config.json","tokenizer.json","model.safetensors"],download:{kind:"huggingface_snapshot",repo:"moonshine-ai/moonshine-streaming-small",revision:"main",gated:!1}},{id:"moonshine_streaming_medium_safetensors",display_name:"Moonshine Streaming Medium Safetensors",format:"safetensors",precision:"f32",target_directory:"moonshine-streaming-medium",files:["config.json","tokenizer.json","model.safetensors"],download:{kind:"huggingface_snapshot",repo:"moonshine-ai/moonshine-streaming-medium",revision:"main",gated:!1}}],dependencies:[],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_json:"model:tokenizer.json"},tensors:{weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",tokenizer_json:"model:tokenizer.json"},tensors:{weights:"model:model.safetensors"}}]},B3={schema_version:1,family:"moss_transcribe_diarize",display_name:"MOSS-Transcribe-Diarize",description:"Joint transcription, speaker diarization, and timestamps across 50+ languages with a Whisper encoder and Qwen3 decoder.",category:"asr",status:"supported",tasks:["asr"],modes:["offline","streaming"],languages:["auto","50+ languages"],capabilities:{asr:["segments","speaker_turns"]},runtime:{tags:["gguf"]},options:{request:[{name:"max_tokens",type:"int",min:1,default:5120,required:!1,description:"Maximum generated transcript tokens."},{name:"instruct",type:"string",required:!1,description:"Transcription instruction; empty uses the upstream diarization prompt."}],session:[],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"moss_transcribe_diarize_bf16",display_name:"MOSS-Transcribe-Diarize GGUF BF16",default:!0,format:"gguf",precision:"bf16",target_directory:"MOSS-Transcribe-Diarize-GGUF",files:["MOSS-Transcribe-Diarize-GGUF/moss-transcribe-diarize-bf16.gguf"],strip_prefix:"MOSS-Transcribe-Diarize-GGUF"},{id:"moss_transcribe_diarize_q8_0",display_name:"MOSS-Transcribe-Diarize GGUF Q8_0",format:"gguf",precision:"q8_0",target_directory:"MOSS-Transcribe-Diarize-GGUF",files:["MOSS-Transcribe-Diarize-GGUF/moss-transcribe-diarize-q8_0.gguf"],strip_prefix:"MOSS-Transcribe-Diarize-GGUF"},{id:"moss_transcribe_diarize_q4_k",display_name:"MOSS-Transcribe-Diarize GGUF Q4_K",format:"gguf",precision:"q4_k",target_directory:"MOSS-Transcribe-Diarize-GGUF",files:["MOSS-Transcribe-Diarize-GGUF/moss-transcribe-diarize-q4_k.gguf"],strip_prefix:"MOSS-Transcribe-Diarize-GGUF"}],dependencies:[],ui:{tags:["GGUF"],docs:[],recommended_package:"moss_transcribe_diarize_bf16"},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",generation_config:"model:generation_config.json",preprocessor_config:"model:preprocessor_config.json",processor_config:"model:processor_config.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_json:"model:tokenizer.json",vocab:"model:vocab.json",merges:"model:merges.txt"},tensors:{weights:{source:"weights:",prefix:"weights"}}}]},P3={family:"moss_tts_local",display_name:"MOSS-TTS-Local",description:"Flagship MOSS-TTS model for high-fidelity 31-language and code-switched speech, zero-shot voice cloning, long-form generation, and fine-grained Pinyin, phoneme, and duration control.",category:"tts",status:"supported",tasks:["tts","clone"],modes:["offline"],languages:["ar","cs","da","de","el","en","es","fa","fi","fr","he","hi","hu","it","ja","ko","mk","ms","nl","pl","pt","ro","ru","sv","sw","th","tl","tr","vi","yue","zh"],capabilities:{clone:["speaker_reference"]},runtime:{tags:["gguf"]},ui:{recommended_package:"moss_tts_local_v1_5_q8_0",tags:["TTS","Clone","GGUF"],docs:["docs/models/moss_tts.md","docs/tts.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"moss_tts_local_v1_5_q8_0",display_name:"MOSS-TTS-Local v1.5 Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"MOSS-TTS-Local-v1.5-GGUF",files:["MOSS-TTS-Local-v1.5-GGUF/moss-tts-local-v1.5-q8_0.gguf"],strip_prefix:"MOSS-TTS-Local-v1.5-GGUF"},{id:"moss_tts_local_v1_5_bf16",display_name:"MOSS-TTS-Local v1.5 BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"MOSS-TTS-Local-v1.5-GGUF",files:["MOSS-TTS-Local-v1.5-GGUF/moss-tts-local-v1.5-bf16.gguf"],strip_prefix:"MOSS-TTS-Local-v1.5-GGUF"}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_json:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_vocab:"model:vocab.json",tokenizer_merges:"model:merges.txt",audio_tokenizer_config:"model:audio_tokenizer/config.json"},tensors:{model_weights:{source:"weights:",prefix:"model_weights"},audio_tokenizer_weights:{source:"weights:",prefix:"audio_tokenizer_weights"}}},{format:"safetensors",roots:{model:".",audio_tokenizer:"audio_tokenizer"},files:{config:"model:config.json",tokenizer_json:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_vocab:"model:vocab.json",tokenizer_merges:"model:merges.txt",audio_tokenizer_config:"audio_tokenizer:config.json"},tensors:{model_weights:"model:model.safetensors",audio_tokenizer_weights:"audio_tokenizer:model.safetensors.index.json"}}]},N3={family:"moss_tts_nano",display_name:"MOSS-TTS-Nano",description:"Compact deployment-first MOSS-TTS model for real-time multilingual speech generation, lightweight integration, and zero-shot voice cloning.",category:"tts",status:"supported",tasks:["tts","clone"],modes:["offline"],languages:["ar","cs","da","de","el","en","es","fa","fr","hu","it","ja","ko","pl","pt","ru","sv","tr","zh"],capabilities:{clone:["speaker_reference"]},runtime:{tags:["gguf"]},ui:{recommended_package:"moss_tts_nano_100m_q8_0",tags:["TTS","Clone","GGUF"],docs:["docs/models/moss_tts.md","docs/tts.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"moss_tts_nano_100m_q8_0",display_name:"MOSS-TTS-Nano 100M Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"MOSS-TTS-Nano-100M-GGUF",files:["MOSS-TTS-Nano-100M-GGUF/moss-tts-nano-100m-q8_0.gguf"],strip_prefix:"MOSS-TTS-Nano-100M-GGUF"},{id:"moss_tts_nano_100m_bf16",display_name:"MOSS-TTS-Nano 100M BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"MOSS-TTS-Nano-100M-GGUF",files:["MOSS-TTS-Nano-100M-GGUF/moss-tts-nano-100m-bf16.gguf"],strip_prefix:"MOSS-TTS-Nano-100M-GGUF"}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_model:"model:tokenizer.model",audio_tokenizer_config:"model:audio_tokenizer/config.json"},tensors:{model_weights:{source:"weights:",prefix:"model_weights"},audio_tokenizer_weights:{source:"weights:",prefix:"audio_tokenizer_weights"}}},{format:"safetensors",roots:{model:".",audio_tokenizer:"audio_tokenizer"},files:{config:"model:config.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_model:"model:tokenizer.model",audio_tokenizer_config:"audio_tokenizer:config.json"},tensors:{model_weights:"model:model.safetensors",audio_tokenizer_weights:"audio_tokenizer:model.safetensors.index.json"}}]},D3={family:"moss_voicegen",display_name:"MOSS-VoiceGenerator",description:"MOSS voice design model: creates a speaker from a written instruction instead of a reference recording, then speaks the supplied text in that voice.",category:"community",status:"community",tasks:["design"],modes:["offline"],languages:["en","zh"],capabilities:{vdes:["style_condition"]},runtime:{tags:["gguf"]},ui:{recommended_package:"moss_voicegen_bf16_codec_f16_decode",tags:["Voice Design","GGUF"],docs:["docs/community_models/moss_voicegen.md","docs/tts.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"moss_voicegen_bf16_codec_f16_decode",display_name:"MOSS-VoiceGenerator BF16 GGUF",default:!0,format:"gguf",precision:"bf16",target_directory:"MOSS-VoiceGenerator-GGUF",files:["MOSS-VoiceGenerator-GGUF/moss_voicegen_bf16_codec_f16_decode.gguf"],strip_prefix:"MOSS-VoiceGenerator-GGUF"}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_json:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_merges:"model:merges.txt",audio_tokenizer_config:"model:audio_tokenizer/config.json"},tensors:{model_weights:{source:"weights:",prefix:"model_weights"},audio_tokenizer_weights:{source:"weights:",prefix:"audio_tokenizer_weights"}}},{format:"safetensors",roots:{model:".",audio_tokenizer:"audio_tokenizer"},files:{config:"model:config.json",tokenizer_json:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_merges:"model:merges.txt",audio_tokenizer_config:"audio_tokenizer:config.json"},tensors:{model_weights:"model:model.safetensors",audio_tokenizer_weights:"audio_tokenizer:model.safetensors.index.json"}}]},L3={schema_version:1,family:"muscriptor",display_name:"MuScriptor",description:"MuScriptor is an audio-to-symbolic model that converts music audio into symbolic note events or MIDI files, with instrument constraints, sampling, beam search, batch chunk decoding, and streaming final-result output.",category:"audio_tools",status:"supported",tasks:["midi"],modes:["offline","streaming"],languages:["music"],runtime:{tags:["gguf","stream"]},capabilities:{},options:{request:[{name:"instruments",type:"string",description:"Comma-separated instrument group names to constrain generated MIDI events; empty allows all instruments.",required:!1,default:""},{name:"output_format",type:"enum",description:"Primary output serialization written by --out; midi writes a MIDI file, json writes generated note events. Default midi.",values:["midi","json"],required:!1,default:"midi"},{name:"max_tokens",type:"int",description:"Maximum generated MIDI-event token count per chunk; default 2000.",required:!1,min:1,default:2e3},{name:"do_sample",type:"bool",description:"Use temperature sampling instead of greedy token selection; default false.",required:!1,default:!1},{name:"temperature",type:"float",description:"Sampling temperature when do_sample=true; 0 is accepted for compatibility and behaves deterministically, default 1.0.",required:!1,min:0,default:1},{name:"guidance_scale",type:"float",description:"Classifier-free guidance coefficient; 1 disables CFG, default 1.0.",required:!1,default:1},{name:"batch_size",type:"int",description:"Number of audio chunks processed per batch when prelude_forcing=false; default 1.",required:!1,min:1,default:1},{name:"num_beams",type:"int",description:"Beam-search width; 1 disables beam search, default 1.",required:!1,min:1,default:1},{name:"prelude_forcing",type:"bool",description:"Force open-note prelude tokens between sequential chunks; default true.",required:!1,default:!0},{name:"seed",type:"int",description:"Sampling seed; default 0.",required:!1,min:0,default:0}],session:[{name:"weight_type",type:"enum",description:"Transformer weight storage type; default native.",preset:"weight_type_full",required:!1,default:"native"},{name:"perf_mode",type:"enum",description:"Decoder attention mode; flash_attention uses the CUDA fast path, off keeps the exact attention path. Default flash_attention.",values:["off","flash_attention"],required:!1,default:"flash_attention"},{name:"weight_context_mb",type:"int",description:"Weight context arena size in MiB; default 512.",required:!1,min:1,default:512},{name:"conditioning_graph_arena_mb",type:"int",description:"Condition graph arena size in MiB; default 128.",required:!1,min:1,default:128},{name:"decoder_prefill_graph_arena_mb",type:"int",description:"Decoder prefill graph arena size in MiB; default 768.",required:!1,min:1,default:768},{name:"decoder_decode_graph_arena_mb",type:"int",description:"Decoder cached-step graph arena size in MiB; default 512.",required:!1,min:1,default:512}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"muscriptor_small_f32",display_name:"MuScriptor Small F32 GGUF",default:!0,format:"gguf",precision:"f32",target_directory:"MuScriptor-Small-GGUF",files:["MuScriptor-Small-GGUF/muscriptor-small-f32.gguf"],strip_prefix:"MuScriptor-Small-GGUF"}],dependencies:[],ui:{recommended_package:"muscriptor_small_f32",tags:["Music","MIDI","GGUF","Stream"],docs:["docs/models/muscriptor.md","docs/gguf.md"]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json"},tensors:{weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json"},tensors:{weights:"model:model.safetensors"}}]},V3={family:"nemotron_asr",display_name:"Nemotron 3.5 ASR",description:"NVIDIA 600M streaming ASR model for low-latency and batch transcription across 40 language-locales, with native punctuation, capitalization, automatic language detection, and configurable chunk sizes.",category:"asr",status:"supported",tasks:["asr"],modes:["offline","streaming"],languages:["ar-AR","bg-BG","cs-CZ","da-DK","de-DE","el-GR","en-GB","en-US","es-ES","es-US","et-EE","fi-FI","fr-CA","fr-FR","he-IL","hi-IN","hr-HR","hu-HU","it-IT","ja-JP","ko-KR","lt-LT","lv-LV","mt-MT","nb-NO","nl-NL","nn-NO","pl-PL","pt-BR","pt-PT","ro-RO","ru-RU","sk-SK","sl-SI","sv-SE","th-TH","tr-TR","uk-UA","vi-VN","zh-CN"],capabilities:{},runtime:{tags:["gguf","stream"]},ui:{recommended_package:"nemotron_asr_q8_0",tags:["ASR","GGUF","Stream"],docs:["docs/asr.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"nemotron_asr_q8_0",display_name:"Nemotron 3.5 ASR Streaming 0.6B Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Nemotron-3.5-ASR-Streaming-0.6B-GGUF",files:["Nemotron-3.5-ASR-Streaming-0.6B-GGUF/nemotron-3.5-asr-streaming-0.6b-q8_0.gguf"],strip_prefix:"Nemotron-3.5-ASR-Streaming-0.6B-GGUF"},{id:"nemotron_asr_f16",display_name:"Nemotron 3.5 ASR Streaming 0.6B F16 GGUF",format:"gguf",precision:"f16",target_directory:"Nemotron-3.5-ASR-Streaming-0.6B-GGUF",files:["Nemotron-3.5-ASR-Streaming-0.6B-GGUF/nemotron-3.5-asr-streaming-0.6b-f16.gguf"],strip_prefix:"Nemotron-3.5-ASR-Streaming-0.6B-GGUF"},{id:"nemotron_asr_safetensors",display_name:"Nemotron 3.5 ASR Streaming 0.6B Safetensors",format:"safetensors",precision:"native",target_directory:"nemotron-3.5-asr-streaming-0.6b",files:["config.json","model.safetensors","processor_config.json","tokenizer.json"],download:{kind:"huggingface_snapshot",repo:"nvidia/nemotron-3.5-asr-streaming-0.6b"}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",processor_config:"model:processor_config.json",tokenizer_json:"model:tokenizer.json"},tensors:{weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",processor_config:"model:processor_config.json",tokenizer_json:"model:tokenizer.json"},tensors:{weights:"model:model.safetensors"}}]},I3={schema_version:1,family:"neutts",display_name:"NeuTTS",description:"NeuTTS is an English text-to-speech family from Neuphonic. The current 2E package uses a Qwen3-style autoregressive speech-token backbone, NeuCodec waveform decoding, built-in speaker prompts, and emotion-token control.",category:"tts",status:"supported",tasks:["tts"],modes:["offline","streaming"],languages:["en"],runtime:{tags:["gguf","stream"]},capabilities:{tts:["built_in_voices","emotion_control","long_form"]},options:{request:[{name:"voice_id",type:"enum",description:"Built-in NeuTTS speaker prompt; default emily.",values:["dave","emily","greta","jo","juliette","mateo","paul","sophie","steven"],required:!1,default:"emily"},{name:"emotion",type:"enum",description:"Optional emotion token inserted between reference text and target text; neutral inserts no emotion token.",values:["angry","disgusted","sad","happy","fearful","neutral","surprised"],required:!1,default:"neutral"},{name:"max_tokens",type:"int",description:"Maximum generated speech-token count for the autoregressive generator; 0 uses the remaining model context, default 0.",required:!1,min:0,default:0},{name:"min_tokens",type:"int",description:"Minimum generated speech-token count before EOS may stop generation; default 50.",required:!1,min:0,default:50},{name:"temperature",type:"float",description:"Autoregressive sampling temperature; must be positive, default 1.0.",required:!1,min:0,default:1},{name:"top_k",type:"int",description:"Autoregressive top-k sampling limit; default 50.",required:!1,min:1,default:50},{name:"seed",type:"int",description:"Autoregressive sampling seed; omitted requests choose a random seed.",required:!1,min:0},{name:"text_chunk_mode",type:"enum",description:"Framework text chunking mode for long-form synthesis.",values:["default","tag_aware","japanese","endline"],required:!1,default:"default"},{name:"text_chunk_size",type:"int",description:"Maximum Unicode codepoints per long-form text chunk; default 600.",required:!1,min:1,default:600}],session:[{name:"weight_type",type:"enum",description:"Shared matmul weight storage type for the backbone and codec decoder; default native.",preset:"weight_type_full",required:!1,default:"native"},{name:"generator_weight_type",type:"enum",description:"Backbone matmul weight storage type; defaults to weight_type when set, otherwise native.",preset:"weight_type_full",required:!1},{name:"codec_weight_type",type:"enum",description:"NeuCodec decoder matmul weight storage type; defaults to weight_type when set, otherwise native.",preset:"weight_type_full",required:!1},{name:"codec_conv_weight_type",type:"enum",description:"NeuCodec convolution weight storage type; default native.",preset:"weight_type_conv",required:!1,default:"native"},{name:"runtime_graph_arena_mb",type:"int",description:"Reusable ggml graph arena size in MiB for NeuTTS runtime graphs; default 1024.",required:!1,min:1,default:1024}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"neutts_2e_orig",display_name:"NeuTTS 2E Original-Precision GGUF",default:!0,format:"gguf",precision:"orig",target_directory:"NeuTTS-2E-GGUF",files:["NeuTTS-2E-GGUF/neutts-2e-orig.gguf"],strip_prefix:"NeuTTS-2E-GGUF"}],dependencies:[],ui:{recommended_package:"neutts_2e_orig",tags:["TTS","GGUF","Stream"],docs:["docs/tts.md","docs/models/neutts.md","docs/gguf.md"]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer_json:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json",chat_template:"model:chat_template.jinja",codec_config:"model:neucodec_config.json",codec_preprocessor_config:"model:neucodec_preprocessor_config.json",speaker_text_dave:"model:samples/dave.txt",speaker_text_emily:"model:samples/emily.txt",speaker_text_greta:"model:samples/greta.txt",speaker_text_jo:"model:samples/jo.txt",speaker_text_juliette:"model:samples/juliette.txt",speaker_text_mateo:"model:samples/mateo.txt",speaker_text_paul:"model:samples/paul.txt",speaker_text_sophie:"model:samples/sophie.txt",speaker_text_steven:"model:samples/steven.txt"},tensors:{backbone:{source:"weights:",prefix:"backbone"},codec:{source:"weights:",prefix:"codec"},speaker_prompts:{source:"weights:",prefix:"speaker_prompts"}}},{format:"safetensors",roots:{model:".",codec:"../NeuCodec"},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer_json:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json",chat_template:"model:chat_template.jinja",codec_config:"codec:config.json",codec_preprocessor_config:"codec:preprocessor_config.json",speaker_text_dave:"model:samples/dave.txt",speaker_text_emily:"model:samples/emily.txt",speaker_text_greta:"model:samples/greta.txt",speaker_text_jo:"model:samples/jo.txt",speaker_text_juliette:"model:samples/juliette.txt",speaker_text_mateo:"model:samples/mateo.txt",speaker_text_paul:"model:samples/paul.txt",speaker_text_sophie:"model:samples/sophie.txt",speaker_text_steven:"model:samples/steven.txt"},tensors:{backbone:"model:model.safetensors",codec:"codec:model.safetensors",speaker_prompts:"model:samples/speaker_prompts.safetensors"}}]},O3={family:"niagara_asr",schema_version:1,display_name:"Niagara ASR",description:"ABR Niagara English batch ASR state-space models with attention, greedy CTC decoding, and SentencePiece tokenization.",category:"asr",status:"supported",tasks:["asr"],modes:["offline"],languages:["en"],capabilities:{},dependencies:[],options:{request:[{name:"language",type:"string",description:"Recognition language; Niagara batch models are English-only.",required:!1,default:"en"},{name:"audio_chunk_mode",type:"enum",description:"Audio chunking mode.",values:["none"],required:!1,default:"none"}],session:[{name:"weight_type",type:"enum",description:"Matmul weight storage type.",preset:"weight_type_full",required:!1,default:"native"},{name:"graph_arena_mb",type:"int",description:"Inference graph arena size in MiB.",required:!1,min:64,default:1024},{name:"weight_context_mb",type:"int",description:"Weight descriptor context size in MiB.",required:!1,min:16,default:256}],load:[]},runtime:{tags:["gguf","cpu"]},ui:{recommended_package:"niagara_19m_f32",tags:["ASR","GGUF"],docs:["docs/asr.md","docs/gguf.md"],summary:"ABR Niagara compact English speech recognition."},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf"}},packages:[{id:"niagara_19m_f32",display_name:"Niagara 19M Batch English F32 GGUF",default:!0,format:"gguf",precision:"f32",target_directory:"Niagara-ASR-GGUF",files:["Niagara-ASR-GGUF/niagara-19m-batch.en-f32.gguf"],strip_prefix:"Niagara-ASR-GGUF"},{id:"niagara_38m_f32",display_name:"Niagara 38M Batch English F32 GGUF",format:"gguf",precision:"f32",target_directory:"Niagara-ASR-GGUF",files:["Niagara-ASR-GGUF/niagara-38m-batch.en-f32.gguf"],strip_prefix:"Niagara-ASR-GGUF"}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",preprocessor_config:"model:preprocessor_config.json",tokenizer_spm:"model:sentencepiece.model"},tensors:{weights:"weights:"}}]},H3={family:"omnivoice",display_name:"OmniVoice",description:"Massively multilingual zero-shot TTS model from k2-fsa for 600+ languages, supporting short-reference voice cloning, attribute-based voice design, pronunciation controls, and nonverbal tags.",category:"tts",status:"supported",tasks:["tts","clone","design"],modes:["offline","streaming"],languages:["600+ languages"],capabilities:{clone:["speaker_reference"],design:["voice_design"]},runtime:{tags:["gguf","stream"]},ui:{recommended_package:"omnivoice_q8_0",tags:["TTS","Clone","Design","GGUF","Stream"],docs:["docs/models/omnivoice.md","docs/tts.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"omnivoice_q8_0",display_name:"OmniVoice Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"OmniVoice-GGUF",files:["OmniVoice-GGUF/omnivoice-q8_0.gguf"],strip_prefix:"OmniVoice-GGUF"},{id:"omnivoice_bf16",display_name:"OmniVoice BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"OmniVoice-GGUF",files:["OmniVoice-GGUF/omnivoice-bf16.gguf"],strip_prefix:"OmniVoice-GGUF"},{id:"omnivoice_f16",display_name:"OmniVoice F16 GGUF",format:"gguf",precision:"f16",target_directory:"OmniVoice-GGUF",files:["OmniVoice-GGUF/omnivoice-f16.gguf"],strip_prefix:"OmniVoice-GGUF"},{id:"omnivoice_safetensors",display_name:"OmniVoice Safetensors",format:"safetensors",precision:"native",target_directory:"OmniVoice",files:["config.json","model.safetensors","tokenizer.json","tokenizer_config.json","audio_tokenizer/config.json","audio_tokenizer/preprocessor_config.json","audio_tokenizer/model.safetensors"],download:{kind:"huggingface_snapshot",repo:"k2-fsa/OmniVoice"}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_json:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json",audio_tokenizer_config:"model:audio_tokenizer/config.json",audio_tokenizer_preprocessor:"model:audio_tokenizer/preprocessor_config.json"},optional_files:{chat_template:"model:chat_template.jinja"},tensors:{weights:{source:"weights:",prefix:"weights"},audio_tokenizer_weights:{source:"weights:",prefix:"audio_tokenizer_weights"}}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",tokenizer_json:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json",audio_tokenizer_config:"model:audio_tokenizer/config.json",audio_tokenizer_preprocessor:"model:audio_tokenizer/preprocessor_config.json"},optional_files:{chat_template:"model:chat_template.jinja"},tensors:{weights:"model:model.safetensors",audio_tokenizer_weights:"model:audio_tokenizer/model.safetensors"}}]},Q3={schema_version:1,family:"outetts",display_name:"Llama-OuteTTS 1.0",description:"Llama-based open-weight TTS model for 23-language speech synthesis with one-shot voice cloning from short reference audio and automatic word-alignment support.",category:"tts",status:"community",tasks:["tts","clone"],modes:["offline"],languages:["ar","be","bn","de","en","es","fa","fr","hu","it","ja","ka","ko","lt","lv","nl","pl","pt","ru","sw","ta","uk","zh"],capabilities:{clone:["speaker_reference"]},options:{request:[{name:"max_tokens",type:"int",description:"Maximum generated audio tokens per chunk. When omitted, OuteTTS estimates a safe value from each chunk.",required:!1,min:1},{name:"temperature",type:"float",description:"Sampling temperature; default 0.4 for cloning, otherwise model config default.",required:!1,min:0},{name:"top_k",type:"int",description:"Top-k sampling; default 40 for cloning, otherwise model config default.",required:!1,min:0},{name:"top_p",type:"float",description:"Nucleus sampling in (0, 1]; default 0.9 for cloning, otherwise model config default.",required:!1,min:0,max:1},{name:"min_p",type:"float",description:"Minimum probability relative to the best token; default 0.05 for cloning, otherwise model config default.",required:!1,min:0,max:1},{name:"repetition_penalty",type:"float",description:"Positive windowed repetition penalty; default 1.1.",required:!1,min:0,default:1.1},{name:"repetition_window",type:"int",description:"Recent-token penalty window; default 64.",required:!1,min:0,default:64},{name:"seed",type:"int",description:"Sampling seed; cloning defaults to 4099 for native weights and 42 for quantized weights.",required:!1,min:0},{name:"reference_text",type:"string",description:"Transcript matching the reference voice audio for voice cloning.",required:!1},{name:"reference_language",type:"string",description:"Language code used to align the reference transcript; default en.",required:!1,default:"en"},{name:"text_chunk_size",type:"int",description:"Maximum UTF-8 codepoints per long-form text chunk; default 256. Chunks are split further when required by max_tokens or context budget.",required:!1,min:1,default:256},{name:"text_chunk_mode",type:"enum",description:"Framework long-form text chunking mode; default word_budget.",preset:"text_chunk_mode_full",required:!1,default:"word_budget"}],session:[{name:"weight_type",type:"enum",description:"Language-model weight storage type. Quantized CUDA voice cloning is expanded to F32 in memory for generation correctness.",preset:"weight_type_full",required:!1,default:"native"},{name:"llama_weight_context_mb",type:"int",description:"Language-model weight context size in MiB; default 4096.",required:!1,min:1,default:4096},{name:"constant_context_mb",type:"int",description:"Language-model constant tensor context size in MiB; default 256.",required:!1,min:1,default:256},{name:"dac_weight_context_mb",type:"int",description:"DAC decoder weight context size in MiB; default 1024.",required:!1,min:1,default:1024},{name:"dac_graph_arena_mb",type:"int",description:"DAC decoder graph arena size in MiB; default 1536.",required:!1,min:1,default:1536},{name:"aligner_path",type:"path",description:"Optional Qwen3 Forced Aligner override. Cloning automatically uses the aligner embedded in a standalone OuteTTS GGUF when present.",required:!1},{name:"reference_cache_slots",type:"int",description:"Prepared reference-profile cache slots; default 1, set 0 to disable.",required:!1,min:0,default:1},{name:"mem_saver",type:"bool",description:"Release cached-step and aligner runtime state after use; default false.",required:!1,default:!1}],load:[]},runtime:{tags:["gguf"]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json",special_tokens_map:"model:special_tokens_map.json",dac_config:"model:dac/config.json"},optional_files:{aligner_config:"model:aligner/config.json",aligner_generation_config:"model:aligner/generation_config.json",aligner_tokenizer_config:"model:aligner/tokenizer_config.json",aligner_preprocessor_config:"model:aligner/preprocessor_config.json",aligner_processor_config:"model:aligner/processor_config.json",aligner_chat_template:"model:aligner/chat_template.json",aligner_chat_template_jinja:"model:aligner/chat_template.jinja",aligner_vocab:"model:aligner/vocab.json",aligner_merges:"model:aligner/merges.txt",aligner_tokenizer_json:"model:aligner/tokenizer.json"},tensors:{model_weights:{source:"weights:",prefix:"model_weights"},dac_weights:{source:"weights:",prefix:"dac_weights"},aligner_weights:{source:"weights:",prefix:"aligner_weights"}}},{format:"safetensors",roots:{model:".",dac:"../DAC.speech.v1.0"},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json",special_tokens_map:"model:special_tokens_map.json",dac_config:"dac:config.json"},tensors:{model_weights:"model:model.safetensors",dac_weights:"dac:model.safetensors"}}],packages:[{id:"outetts_1_0_1b_q8_0",display_name:"Llama-OuteTTS 1.0 1B Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Llama-OuteTTS-1.0-1B_Q8",files:["Text to audio (TTS)/Llama-OuteTTS-1.0-1B_Q8.gguf"],download:{kind:"huggingface_snapshot",repo:"mirek190/audio.cpp"}}],dependencies:[],ui:{recommended_package:"outetts_1_0_1b_q8_0",tags:["TTS","Clone","GGUF"],docs:["docs/community_models/outetts.md","docs/reports/outetts_validation.md","docs/gguf.md"]}},W3={schema_version:1,family:"parakeet_tdt",display_name:"Parakeet-TDT 0.6B v3",description:"NVIDIA Parakeet-TDT 0.6B v3 FastConformer-TDT ASR covering 25 European languages with automatic language detection. Supports the upstream Transformers-compatible safetensors package and standalone audio.cpp GGUF, with offline full-context, bounded-window long-form, and buffered streaming; the checkpoint uses unlimited bidirectional attention and is not a native cache-aware streaming model.",category:"asr",status:"community",tasks:["asr"],modes:["offline","streaming"],languages:["bg","cs","da","de","el","en","es","et","fi","fr","hr","hu","it","lt","lv","mt","nl","pl","pt","ro","ru","sk","sl","sv","uk"],runtime:{tags:["gguf","stream"]},capabilities:{asr:["word_timestamps","partial_results","vad_chunking"]},options:{request:[{name:"max_tokens",type:"int",description:"Maximum TDT generated tokens; 0 or omitted uses the model-derived limit.",required:!1,min:0,default:0},{name:"keep_language_tags",type:"bool",description:"Keep language tag tokens in decoded text; default false.",required:!1,default:!1},{name:"audio_chunk_mode",type:"enum",description:"Offline audio chunking mode. vad uses Silero VAD to skip silence; auto keeps Parakeet's existing offline_mode behavior.",values:["auto","fixed","vad","none"],required:!1,default:"auto"},{name:"audio_chunk_duration_sec",type:"float",description:"Request-level chunk duration in seconds for fixed or VAD offline chunking. Falls back to the session chunk duration when omitted.",required:!1,min:.001,default:2}],session:[{name:"weight_type",type:"enum",description:"Shared matmul weight storage type; default native.",preset:"weight_type_full",required:!1,default:"native"},{name:"matmul_weight_type",type:"enum",description:"Encoder and decoder matmul weight storage type; defaults to weight_type, which defaults to native. Q8_0 measured 1.79x faster on the tested CPU and changed roughly 8 percent of transcripts without moving aggregate word error rate.",preset:"weight_type_full",required:!1},{name:"conv_weight_type",type:"enum",description:"Convolution weight storage type; default native.",preset:"weight_type_conv",required:!1,default:"native"},{name:"perf_mode",type:"enum",description:"Encoder attention implementation. Default off uses the validated relative-attention path; flash_attention enables the fused implementation, which was numerically validated but slower on the tested hardware.",preset:"perf_mode_flash_attention",required:!1,default:"off"},{name:"weight_context_mb",type:"int",description:"Weight context arena size in MiB; default 3072.",required:!1,min:1,default:3072},{name:"encoder_graph_arena_mb",type:"int",description:"Encoder graph arena size in MiB; default 1024.",required:!1,min:1,default:1024},{name:"decoder_graph_arena_mb",type:"int",description:"Decoder graph arena size in MiB; default 256.",required:!1,min:1,default:256},{name:"audio_chunk_duration_sec",type:"float",description:"Center-region duration for buffered streaming in seconds; default 2. Fixed context windows are re-encoded rather than cache-aware.",required:!1,min:.001,default:2},{name:"left_context_sec",type:"float",description:"Past context included when re-encoding each buffered-streaming window in seconds; default 10.",required:!1,min:0,default:10},{name:"right_context_sec",type:"float",description:"Future lookahead included when re-encoding each buffered-streaming window in seconds; default 2 and adds equivalent partial-result latency.",required:!1,min:0,default:2},{name:"streaming_attention_mode",type:"enum",description:"Attention policy inside each buffered window. full_context preserves bidirectional attention over the bounded window.",values:["full_context"],required:!1,default:"full_context"},{name:"offline_mode",type:"enum",description:"Offline encoder scheduling. full_context encodes the whole utterance, long_form uses bounded overlapping windows, and auto selects long_form beyond audio_chunk_threshold_sec.",values:["full_context","long_form","auto"],required:!1,default:"full_context"},{name:"audio_chunk_threshold_sec",type:"float",description:"Duration threshold used by offline_mode=auto before switching to bounded-window long-form execution; default 30 seconds.",required:!1,min:.001,default:30},{name:"vad_model_path",type:"path",description:"Silero VAD model path used by audio_chunk_mode=vad; default assets/framework/models/silero_vad.",required:!1,default:"assets/framework/models/silero_vad"}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"parakeet_tdt_q8_0",display_name:"Parakeet-TDT 0.6B v3 Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Parakeet-TDT-0.6B-v3-GGUF",files:["Parakeet-TDT-0.6B-v3-GGUF/parakeet-tdt-0.6b-v3-q8_0.gguf"],strip_prefix:"Parakeet-TDT-0.6B-v3-GGUF"},{id:"parakeet_tdt_f16",display_name:"Parakeet-TDT 0.6B v3 F16 GGUF",format:"gguf",precision:"f16",target_directory:"Parakeet-TDT-0.6B-v3-GGUF",files:["Parakeet-TDT-0.6B-v3-GGUF/parakeet-tdt-0.6b-v3-f16.gguf"],strip_prefix:"Parakeet-TDT-0.6B-v3-GGUF"},{id:"orukeet_q8_0",display_name:"Orukeet r3 Q8_0 GGUF (Parakeet-TDT 0.6B v3 fine-tune)",format:"gguf",precision:"q8_0",target_directory:"Orukeet-GGUF",files:["Orukeet-GGUF/orukeet-q8_0.gguf"],strip_prefix:"Orukeet-GGUF"},{id:"orukeet_f16",display_name:"Orukeet r3 F16 GGUF (Parakeet-TDT 0.6B v3 fine-tune)",format:"gguf",precision:"f16",target_directory:"Orukeet-GGUF",files:["Orukeet-GGUF/orukeet-f16.gguf"],strip_prefix:"Orukeet-GGUF"}],dependencies:[],ui:{recommended_package:"parakeet_tdt_q8_0",tags:["ASR","GGUF"],docs:["docs/community_models/parakeet_tdt.md"]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",processor_config:"model:processor_config.json",tokenizer_json:"model:tokenizer.json"},tensors:{weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",processor_config:"model:processor_config.json",tokenizer_json:"model:tokenizer.json"},tensors:{weights:"model:model.safetensors"}}]},Y3={schema_version:1,family:"personaplex",display_name:"PersonaPlex",description:"PersonaPlex is a Moshi-style full-duplex speech-to-speech conversational model with Mimi audio tokenization, packaged speaker/persona prompts, streaming audio input, text generation, and generated assistant speech.",category:"tts",status:"supported",tasks:["s2s"],modes:["offline","streaming"],languages:["en"],runtime:{tags:["gguf","stream"]},capabilities:{s2s:["speaker_reference"]},options:{request:[{name:"voice_id",type:"enum",description:"Packaged PersonaPlex voice prompt id such as NATF2 or NATM1. If omitted, NATF2 is used.",values:["NATF0","NATF1","NATF2","NATF3","NATM0","NATM1","NATM2","NATM3","VARF0","VARF1","VARF2","VARF3","VARF4","VARM0","VARM1","VARM2","VARM3","VARM4"],required:!1,default:"NATF2"},{name:"system_prompt",type:"string",description:"System persona prompt. Plain text is wrapped with the required tags.",required:!1},{name:"temperature",type:"float",description:"Audio token sampling temperature; default 0.8.",required:!1,min:0,default:.8},{name:"text_temperature",type:"float",description:"Text token sampling temperature; default follows temperature.",required:!1,min:0},{name:"top_k",type:"int",description:"Audio token top-k sampling limit; default 250.",required:!1,min:0,default:250},{name:"text_top_k",type:"int",description:"Text token top-k sampling limit; default follows top_k.",required:!1,min:0},{name:"do_sample",type:"bool",description:"Enable stochastic token sampling; default true. Set false for greedy decoding.",required:!1,default:!0},{name:"seed",type:"int",description:"Seed for text and audio token sampling; default 42424242.",required:!1,min:0,default:42424242}],session:[{name:"graph_arena_mb",type:"int",description:"Reusable ggml graph arena size in MiB for PersonaPlex LM, depformer, and Mimi graphs; default 1024.",required:!1,min:1,default:1024},{name:"lm_weight_context_mb",type:"int",description:"Main LM weight metadata arena size in MiB; default 64.",required:!1,min:1,default:64},{name:"depformer_weight_context_mb",type:"int",description:"Depth transformer weight metadata arena size in MiB; default 64.",required:!1,min:1,default:64},{name:"mimi_weight_context_mb",type:"int",description:"Mimi codec weight metadata arena size in MiB; default 64.",required:!1,min:1,default:64},{name:"weight_type",type:"enum",description:"LM and Mimi matmul weight storage type; default native.",preset:"weight_type_full",required:!1,default:"native"}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"personaplex_7b_v1_q4_k",display_name:"PersonaPlex 7B v1 Q4_K GGUF",default:!0,format:"gguf",precision:"q4_k",target_directory:"PersonaPlex-GGUF",files:["PersonaPlex-GGUF/personaplex-7b-v1-q4_k.gguf"],strip_prefix:"PersonaPlex-GGUF"},{id:"personaplex_7b_v1_q8_0",display_name:"PersonaPlex 7B v1 Q8_0 GGUF",default:!1,format:"gguf",precision:"q8_0",target_directory:"PersonaPlex-GGUF",files:["PersonaPlex-GGUF/personaplex-7b-v1-q8_0.gguf"],strip_prefix:"PersonaPlex-GGUF"}],dependencies:[],ui:{recommended_package:"personaplex_7b_v1_q4_k",tags:["TTS","Stream","GGUF"],docs:["docs/models/personaplex.md","docs/tts.md","docs/gguf.md"]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_model:"model:tokenizer_spm_32k_3.model",voice_NATF0:"model:voices_safetensors/NATF0.safetensors",voice_NATF1:"model:voices_safetensors/NATF1.safetensors",voice_NATF2:"model:voices_safetensors/NATF2.safetensors",voice_NATF3:"model:voices_safetensors/NATF3.safetensors",voice_NATM0:"model:voices_safetensors/NATM0.safetensors",voice_NATM1:"model:voices_safetensors/NATM1.safetensors",voice_NATM2:"model:voices_safetensors/NATM2.safetensors",voice_NATM3:"model:voices_safetensors/NATM3.safetensors",voice_VARF0:"model:voices_safetensors/VARF0.safetensors",voice_VARF1:"model:voices_safetensors/VARF1.safetensors",voice_VARF2:"model:voices_safetensors/VARF2.safetensors",voice_VARF3:"model:voices_safetensors/VARF3.safetensors",voice_VARF4:"model:voices_safetensors/VARF4.safetensors",voice_VARM0:"model:voices_safetensors/VARM0.safetensors",voice_VARM1:"model:voices_safetensors/VARM1.safetensors",voice_VARM2:"model:voices_safetensors/VARM2.safetensors",voice_VARM3:"model:voices_safetensors/VARM3.safetensors",voice_VARM4:"model:voices_safetensors/VARM4.safetensors"},tensors:{lm_weights:{source:"weights:",prefix:"lm"},mimi_weights:{source:"weights:",prefix:"mimi"}}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",tokenizer_model:"model:tokenizer_spm_32k_3.model",voice_NATF0:"model:voices_safetensors/NATF0.safetensors",voice_NATF1:"model:voices_safetensors/NATF1.safetensors",voice_NATF2:"model:voices_safetensors/NATF2.safetensors",voice_NATF3:"model:voices_safetensors/NATF3.safetensors",voice_NATM0:"model:voices_safetensors/NATM0.safetensors",voice_NATM1:"model:voices_safetensors/NATM1.safetensors",voice_NATM2:"model:voices_safetensors/NATM2.safetensors",voice_NATM3:"model:voices_safetensors/NATM3.safetensors",voice_VARF0:"model:voices_safetensors/VARF0.safetensors",voice_VARF1:"model:voices_safetensors/VARF1.safetensors",voice_VARF2:"model:voices_safetensors/VARF2.safetensors",voice_VARF3:"model:voices_safetensors/VARF3.safetensors",voice_VARF4:"model:voices_safetensors/VARF4.safetensors",voice_VARM0:"model:voices_safetensors/VARM0.safetensors",voice_VARM1:"model:voices_safetensors/VARM1.safetensors",voice_VARM2:"model:voices_safetensors/VARM2.safetensors",voice_VARM3:"model:voices_safetensors/VARM3.safetensors",voice_VARM4:"model:voices_safetensors/VARM4.safetensors"},tensors:{lm_weights:"model:model.safetensors",mimi_weights:"model:tokenizer-e351c8d8-checkpoint125.safetensors"}}]},K3={family:"pocket_tts",display_name:"PocketTTS",description:"Kyutai 100M-parameter CPU-friendly TTS package set for real-time local synthesis and small-footprint voice cloning in English, German, Italian, Portuguese, and Spanish.",category:"tts",status:"supported",tasks:["tts","clone"],modes:["offline","streaming"],languages:["en","de","it","pt","es"],capabilities:{clone:["speaker_reference"]},runtime:{tags:["gguf"]},ui:{recommended_package:"pocket_tts_english_q8_0",default_voice:"alba",builtin_voices:["alba"],tags:["TTS","Clone","GGUF"],docs:["docs/tts.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"pocket_tts_english_q8_0",display_name:"PocketTTS English Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"PocketTTS-GGUF/english",files:["PocketTTS-GGUF/english/pocket-tts-english-q8_0.gguf","PocketTTS-GGUF/english/embeddings/alba.safetensors"],strip_prefix:"PocketTTS-GGUF/english"},{id:"pocket_tts_english_bf16",display_name:"PocketTTS English BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"PocketTTS-GGUF/english",files:["PocketTTS-GGUF/english/pocket-tts-english-bf16.gguf","PocketTTS-GGUF/english/embeddings/alba.safetensors"],strip_prefix:"PocketTTS-GGUF/english"},{id:"pocket_tts_german_q8_0",display_name:"PocketTTS German Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"PocketTTS-GGUF/german",files:["PocketTTS-GGUF/german/pocket-tts-german-q8_0.gguf"],strip_prefix:"PocketTTS-GGUF/german"},{id:"pocket_tts_german_bf16",display_name:"PocketTTS German BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"PocketTTS-GGUF/german",files:["PocketTTS-GGUF/german/pocket-tts-german-bf16.gguf"],strip_prefix:"PocketTTS-GGUF/german"},{id:"pocket_tts_italian_q8_0",display_name:"PocketTTS Italian Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"PocketTTS-GGUF/italian",files:["PocketTTS-GGUF/italian/pocket-tts-italian-q8_0.gguf"],strip_prefix:"PocketTTS-GGUF/italian"},{id:"pocket_tts_italian_bf16",display_name:"PocketTTS Italian BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"PocketTTS-GGUF/italian",files:["PocketTTS-GGUF/italian/pocket-tts-italian-bf16.gguf"],strip_prefix:"PocketTTS-GGUF/italian"},{id:"pocket_tts_portuguese_q8_0",display_name:"PocketTTS Portuguese Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"PocketTTS-GGUF/portuguese",files:["PocketTTS-GGUF/portuguese/pocket-tts-portuguese-q8_0.gguf"],strip_prefix:"PocketTTS-GGUF/portuguese"},{id:"pocket_tts_portuguese_bf16",display_name:"PocketTTS Portuguese BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"PocketTTS-GGUF/portuguese",files:["PocketTTS-GGUF/portuguese/pocket-tts-portuguese-bf16.gguf"],strip_prefix:"PocketTTS-GGUF/portuguese"},{id:"pocket_tts_spanish_q8_0",display_name:"PocketTTS Spanish Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"PocketTTS-GGUF/spanish",files:["PocketTTS-GGUF/spanish/pocket-tts-spanish-q8_0.gguf"],strip_prefix:"PocketTTS-GGUF/spanish"},{id:"pocket_tts_spanish_bf16",display_name:"PocketTTS Spanish BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"PocketTTS-GGUF/spanish",files:["PocketTTS-GGUF/spanish/pocket-tts-spanish-bf16.gguf"],strip_prefix:"PocketTTS-GGUF/spanish"},{id:"pocket_tts_english_safetensors",display_name:"PocketTTS English Safetensors",format:"safetensors",precision:"native",target_directory:"pocket-tts",files:["languages/english/embeddings/alba.safetensors","languages/english/embeddings/anna.safetensors","languages/english/embeddings/azelma.safetensors","languages/english/embeddings/bill_boerst.safetensors","languages/english/embeddings/caro_davy.safetensors","languages/english/embeddings/charles.safetensors","languages/english/embeddings/cosette.safetensors","languages/english/embeddings/eponine.safetensors","languages/english/embeddings/estelle.safetensors","languages/english/embeddings/eve.safetensors","languages/english/embeddings/fantine.safetensors","languages/english/embeddings/george.safetensors","languages/english/embeddings/giovanni.safetensors","languages/english/embeddings/jane.safetensors","languages/english/embeddings/javert.safetensors","languages/english/embeddings/jean.safetensors","languages/english/embeddings/juergen.safetensors","languages/english/embeddings/lola.safetensors","languages/english/embeddings/marius.safetensors","languages/english/embeddings/mary.safetensors","languages/english/embeddings/michael.safetensors","languages/english/embeddings/paul.safetensors","languages/english/embeddings/peter_yearsley.safetensors","languages/english/embeddings/rafael.safetensors","languages/english/embeddings/stuart_bell.safetensors","languages/english/embeddings/vera.safetensors","languages/english/model.safetensors","languages/english/tokenizer.model"],download:{kind:"huggingface_snapshot",repo:"kyutai/pocket-tts",gated:!0}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{tokenizer:"model:tokenizer.model"},optional_files:{config:"model:config.yaml"},tensors:{weights:"weights:"}},{format:"safetensors",roots:{language:"languages/english"},files:{tokenizer:"language:tokenizer.model"},optional_files:{config:"language:config.yaml"},tensors:{weights:"language:model.safetensors"}}]},X3={schema_version:1,family:"pulsevad",display_name:"PulseVAD",description:"Speech activity detection for 16 kHz mono audio with 2.1K student and 81K teacher weights.",category:"audio_tools",status:"supported",tasks:["vad"],modes:["offline"],languages:["language_agnostic"],capabilities:{vad:["speech_segments"]},runtime:{tags:["gguf"]},options:{request:[{name:"threshold",type:"float",description:"Speech probability threshold.",required:!1,default:.5,min:0,max:1},{name:"hop_size_samples",type:"int",description:"Window step in samples; 1600 samples is 100 ms at 16 kHz.",required:!1,default:1600,min:1},{name:"min_speech_duration_ms",type:"int",description:"Minimum speech segment duration in milliseconds.",required:!1,default:100,min:0},{name:"min_silence_duration_ms",type:"int",description:"Minimum silence before closing a speech segment, in milliseconds.",required:!1,default:100,min:0}],session:[{name:"weight_type",type:"enum",description:"Weight storage override; native preserves the packaged tensor types.",values:["native","f32","f16","bf16"],required:!1,default:"native"}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"pulsevad_2_1k_f32",display_name:"PulseVAD 2.1K GGUF F32",default:!0,format:"gguf",precision:"f32",target_directory:"PulseVAD-GGUF",files:["PulseVAD-GGUF/pulsevad-2.1k-f32.gguf"],strip_prefix:"PulseVAD-GGUF"},{id:"pulsevad_81k_f32",display_name:"PulseVAD 81K GGUF F32",format:"gguf",precision:"f32",target_directory:"PulseVAD-GGUF",files:["PulseVAD-GGUF/pulsevad-81k-f32.gguf"],strip_prefix:"PulseVAD-GGUF"}],dependencies:[],ui:{tags:["VAD","GGUF"],docs:["docs/models/pulsevad.md"],recommended_package:"pulsevad_2_1k_f32"},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},tensors:{weights:{source:"weights:",prefix:"weights"}}},{format:"safetensors",roots:{model:"."},tensors:{weights:"model:pulsevad-f32.safetensors"}}]},Z3={family:"qwen3_asr",display_name:"Qwen3-ASR",description:"Qwen ASR model family for language identification and speech recognition across 30 languages, 22 Chinese dialects, and multiple English accents, with robustness for noisy, long-form, and singing audio.",category:"asr",status:"supported",tasks:["asr"],modes:["offline","streaming"],languages:["zh","en","yue","ar","de","fr","es","pt","id","it","ko","ru","th","vi","ja","tr","hi","ms","nl","sv","da","fi","pl","cs","fil","fa","el","hu","mk","ro","zh dialects"],capabilities:{asr:["word_timestamps","vad_chunking","partial_results"]},options:{request:[{name:"clamp_timestamps_to_audio",type:"bool",description:"Opt-in guard for word timestamp output: keep repaired forced-aligner word spans inside the local audio chunk. Defaults to false to preserve existing timestamp repair behavior.",required:!1,default:!1},{name:"qwen3_asr.preserve_punctuation",type:"bool",description:"Opt-in text output mode for timestamped chunked ASR: preserve ASR punctuation in text_output instead of rebuilding text from aligned words.",required:!1,default:!1}]},runtime:{tags:["gguf","stream"]},ui:{recommended_package:"qwen3_asr_1_7b_q8_0",tags:["ASR","GGUF","Stream"],docs:["docs/models/qwen3.md","docs/asr.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"qwen3_asr_1_7b_q8_0",display_name:"Qwen3-ASR 1.7B Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Qwen3-ASR-1.7B-GGUF",files:["Qwen3-ASR-1.7B-GGUF/qwen3-asr-1.7b-q8_0.gguf"],strip_prefix:"Qwen3-ASR-1.7B-GGUF"},{id:"qwen3_asr_1_7b_f16",display_name:"Qwen3-ASR 1.7B F16 GGUF",format:"gguf",precision:"f16",target_directory:"Qwen3-ASR-1.7B-GGUF",files:["Qwen3-ASR-1.7B-GGUF/qwen3-asr-1.7b-f16.gguf"],strip_prefix:"Qwen3-ASR-1.7B-GGUF"},{id:"qwen3_asr_0_6b_q8_0",display_name:"Qwen3-ASR 0.6B Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"Qwen3-ASR-0.6B-GGUF",files:["Qwen3-ASR-0.6B-GGUF/qwen3-asr-0.6b-q8_0.gguf"],strip_prefix:"Qwen3-ASR-0.6B-GGUF"},{id:"qwen3_asr_0_6b_f16",display_name:"Qwen3-ASR 0.6B F16 GGUF",format:"gguf",precision:"f16",target_directory:"Qwen3-ASR-0.6B-GGUF",files:["Qwen3-ASR-0.6B-GGUF/qwen3-asr-0.6b-f16.gguf"],strip_prefix:"Qwen3-ASR-0.6B-GGUF"},{id:"qwen3_asr_1_7b_safetensors",display_name:"Qwen3-ASR 1.7B HF Safetensors",format:"safetensors",precision:"native",target_directory:"Qwen3-ASR-1.7B-hf",files:["config.json","generation_config.json","model.safetensors","processor_config.json","tokenizer_config.json","tokenizer.json"],download:{kind:"huggingface_snapshot",repo:"Qwen/Qwen3-ASR-1.7B-hf"}},{id:"qwen3_asr_0_6b_safetensors",display_name:"Qwen3-ASR 0.6B Safetensors",format:"safetensors",precision:"native",target_directory:"Qwen3-ASR-0.6B",files:["config.json","generation_config.json","model.safetensors","preprocessor_config.json","tokenizer_config.json"],download:{kind:"huggingface_snapshot",repo:"Qwen/Qwen3-ASR-0.6B"}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer_config:"model:tokenizer_config.json"},optional_files:{preprocessor_config:"model:preprocessor_config.json",processor_config:"model:processor_config.json",chat_template:"model:chat_template.json",chat_template_jinja:"model:chat_template.jinja",vocab:"model:vocab.json",merges:"model:merges.txt",tokenizer_json:"model:tokenizer.json"},tensors:{weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer_config:"model:tokenizer_config.json"},optional_files:{preprocessor_config:"model:preprocessor_config.json",processor_config:"model:processor_config.json",chat_template:"model:chat_template.json",chat_template_jinja:"model:chat_template.jinja",vocab:"model:vocab.json",merges:"model:merges.txt",tokenizer_json:"model:tokenizer.json"},tensors:{weights:"model:model.safetensors"}}]},J3={family:"qwen3_forced_aligner",display_name:"Qwen3 Forced Aligner",description:"Qwen3 non-autoregressive forced aligner that aligns transcript text to speech and returns word- or character-level timestamps across 11 supported languages.",category:"speech_analysis",status:"supported",tasks:["align"],modes:["offline"],languages:["zh","en","yue","fr","de","it","ja","ko","pt","ru","es"],capabilities:{align:["word_timestamps"]},options:{request:[{name:"clamp_timestamps_to_audio",type:"bool",description:"Opt-in guard for word timestamp output: keep repaired word spans inside the local audio input. Defaults to false to preserve existing timestamp repair behavior.",required:!1,default:!1}]},runtime:{tags:["gguf"]},ui:{recommended_package:"qwen3_forced_aligner_0_6b_q8_0",tags:["Align","GGUF"],docs:["docs/models/qwen3.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"qwen3_forced_aligner_0_6b_q8_0",display_name:"Qwen3 Forced Aligner 0.6B Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Qwen3-ForcedAligner-0.6B-GGUF",files:["Qwen3-ForcedAligner-0.6B-GGUF/qwen3-forced-aligner-0.6b-q8_0.gguf"],strip_prefix:"Qwen3-ForcedAligner-0.6B-GGUF"},{id:"qwen3_forced_aligner_0_6b_f16",display_name:"Qwen3 Forced Aligner 0.6B F16 GGUF",format:"gguf",precision:"f16",target_directory:"Qwen3-ForcedAligner-0.6B-GGUF",files:["Qwen3-ForcedAligner-0.6B-GGUF/qwen3-forced-aligner-0.6b-f16.gguf"],strip_prefix:"Qwen3-ForcedAligner-0.6B-GGUF"},{id:"qwen3_forced_aligner_0_6b_safetensors",display_name:"Qwen3 Forced Aligner 0.6B Safetensors",format:"safetensors",precision:"native",target_directory:"Qwen3-ForcedAligner-0.6B",files:["config.json","generation_config.json","model.safetensors","preprocessor_config.json","tokenizer_config.json"],download:{kind:"huggingface_snapshot",repo:"Qwen/Qwen3-ForcedAligner-0.6B"}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer_config:"model:tokenizer_config.json"},optional_files:{preprocessor_config:"model:preprocessor_config.json",processor_config:"model:processor_config.json",chat_template:"model:chat_template.json",chat_template_jinja:"model:chat_template.jinja",vocab:"model:vocab.json",merges:"model:merges.txt",tokenizer_json:"model:tokenizer.json"},tensors:{weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer_config:"model:tokenizer_config.json"},optional_files:{preprocessor_config:"model:preprocessor_config.json",processor_config:"model:processor_config.json",chat_template:"model:chat_template.json",chat_template_jinja:"model:chat_template.jinja",vocab:"model:vocab.json",merges:"model:merges.txt",tokenizer_json:"model:tokenizer.json"},tensors:{weights:"model:model.safetensors"}}]},ek={family:"qwen3_tts",display_name:"Qwen3-TTS",description:"Qwen TTS family for controllable 10-language speech synthesis, including 3-second voice cloning, CustomVoice instruction control over preset timbres, and VoiceDesign from natural-language descriptions.",category:"tts",status:"supported",tasks:["tts","clone","design"],modes:["offline"],languages:["zh","en","ja","ko","de","fr","ru","pt","es","it"],capabilities:{clone:["speaker_reference"],design:["voice_design"]},runtime:{tags:["gguf"]},ui:{recommended_package:"qwen3_tts_1_7b_base_q8_0",tags:["TTS","Clone","Design","GGUF"],docs:["docs/models/qwen3.md","docs/tts.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"qwen3_tts_1_7b_base_q8_0",display_name:"Qwen3 TTS 12Hz 1.7B Base Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Qwen3-TTS-12Hz-1.7B-Base-GGUF",files:["Qwen3-TTS-12Hz-1.7B-Base-GGUF/qwen3-tts-12hz-1.7b-base-q8_0_v2.gguf"],strip_prefix:"Qwen3-TTS-12Hz-1.7B-Base-GGUF"},{id:"qwen3_tts_1_7b_base_bf16",display_name:"Qwen3 TTS 12Hz 1.7B Base BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"Qwen3-TTS-12Hz-1.7B-Base-GGUF",files:["Qwen3-TTS-12Hz-1.7B-Base-GGUF/qwen3-tts-12hz-1.7b-base-bf16.gguf"],strip_prefix:"Qwen3-TTS-12Hz-1.7B-Base-GGUF"},{id:"qwen3_tts_1_7b_base_orig",display_name:"Qwen3 TTS 12Hz 1.7B Base Original-Dtype GGUF",format:"gguf",precision:"orig",target_directory:"Qwen3-TTS-12Hz-1.7B-Base-GGUF",files:["Qwen3-TTS-12Hz-1.7B-Base-GGUF/qwen3-tts-12hz-1.7b-base-orig.gguf"],strip_prefix:"Qwen3-TTS-12Hz-1.7B-Base-GGUF"},{id:"qwen3_tts_1_7b_customvoice_q8_0",display_name:"Qwen3 TTS 12Hz 1.7B CustomVoice Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"Qwen3-TTS-12Hz-1.7B-CustomVoice-GGUF",files:["Qwen3-TTS-12Hz-1.7B-CustomVoice-GGUF/qwen3-tts-12hz-1.7b-customvoice-q8_0.gguf"],strip_prefix:"Qwen3-TTS-12Hz-1.7B-CustomVoice-GGUF"},{id:"qwen3_tts_1_7b_customvoice_bf16",display_name:"Qwen3 TTS 12Hz 1.7B CustomVoice BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"Qwen3-TTS-12Hz-1.7B-CustomVoice-GGUF",files:["Qwen3-TTS-12Hz-1.7B-CustomVoice-GGUF/qwen3-tts-12hz-1.7b-customvoice-bf16.gguf"],strip_prefix:"Qwen3-TTS-12Hz-1.7B-CustomVoice-GGUF"},{id:"qwen3_tts_1_7b_voicedesign_q8_0",display_name:"Qwen3 TTS 12Hz 1.7B VoiceDesign Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"Qwen3-TTS-12Hz-1.7B-VoiceDesign-GGUF",files:["Qwen3-TTS-12Hz-1.7B-VoiceDesign-GGUF/qwen3-tts-12hz-1.7b-voicedesign-q8_0.gguf"],strip_prefix:"Qwen3-TTS-12Hz-1.7B-VoiceDesign-GGUF"},{id:"qwen3_tts_1_7b_voicedesign_bf16",display_name:"Qwen3 TTS 12Hz 1.7B VoiceDesign BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"Qwen3-TTS-12Hz-1.7B-VoiceDesign-GGUF",files:["Qwen3-TTS-12Hz-1.7B-VoiceDesign-GGUF/qwen3-tts-12hz-1.7b-voicedesign-bf16.gguf"],strip_prefix:"Qwen3-TTS-12Hz-1.7B-VoiceDesign-GGUF"},{id:"qwen3_tts_0_6b_base_q8_0",display_name:"Qwen3 TTS 12Hz 0.6B Base Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"Qwen3-TTS-12Hz-0.6B-Base-GGUF",files:["Qwen3-TTS-12Hz-0.6B-Base-GGUF/qwen3-tts-12hz-0.6b-base-q8_0.gguf"],strip_prefix:"Qwen3-TTS-12Hz-0.6B-Base-GGUF"},{id:"qwen3_tts_0_6b_base_bf16",display_name:"Qwen3 TTS 12Hz 0.6B Base BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"Qwen3-TTS-12Hz-0.6B-Base-GGUF",files:["Qwen3-TTS-12Hz-0.6B-Base-GGUF/qwen3-tts-12hz-0.6b-base-bf16.gguf"],strip_prefix:"Qwen3-TTS-12Hz-0.6B-Base-GGUF"},{id:"qwen3_tts_1_7b_base_safetensors",display_name:"Qwen3 TTS 12Hz 1.7B Base Safetensors",format:"safetensors",precision:"native",target_directory:"Qwen3-TTS-12Hz-1.7B-Base",files:["config.json","generation_config.json","model.safetensors","speech_tokenizer/config.json","speech_tokenizer/model.safetensors","tokenizer_config.json","vocab.json","merges.txt"],download:{kind:"huggingface_snapshot",repo:"Qwen/Qwen3-TTS-12Hz-1.7B-Base"}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer_config:"model:tokenizer_config.json",vocab:"model:vocab.json",merges:"model:merges.txt",speech_tokenizer_config:"model:speech_tokenizer/config.json"},tensors:{model_weights:{source:"weights:",prefix:"model_weights"},speech_tokenizer_weights:{source:"weights:",prefix:"speech_tokenizer_weights"}}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer_config:"model:tokenizer_config.json",vocab:"model:vocab.json",merges:"model:merges.txt",speech_tokenizer_config:"model:speech_tokenizer/config.json"},tensors:{model_weights:"model:model.safetensors",speech_tokenizer_weights:"model:speech_tokenizer/model.safetensors"}}]},tk={schema_version:1,family:"rvc",display_name:"RVC",description:"RVC is an offline retrieval-based voice conversion family packaged for audio.cpp with native HuBERT content features, RMVPE pitch extraction, optional IVF retrieval blending, packaged v1/v2 voices, and support for user-supplied RVC checkpoints.",category:"voice_conversion",status:"experimental",tasks:["vc"],modes:["offline"],languages:["language_agnostic"],runtime:{tags:["gguf"]},capabilities:{},options:{request:[{name:"voice_id",type:"enum",description:"Packaged RVC voice id; default selects the v2 default voice. Ignored when voice_model_path is provided.",values:["default","manthos","chocola","fraise"],required:!1,default:"default"},{name:"voice_model_path",type:"path",description:"Optional user RVC .pth or .pt voice checkpoint path. When set, this overrides the packaged voice id.",required:!1},{name:"pitch_extractor",type:"enum",description:"Pitch extraction method for F0-enabled voices; the native path currently supports rmvpe only.",values:["rmvpe"],required:!1,default:"rmvpe"},{name:"pitch_path",type:"path",description:"Optional CSV F0 override file with time,Hz rows sorted by time.",required:!1},{name:"retrieval_index_path",type:"path",description:"Optional user FAISS .index retrieval path used when retrieval_blend is greater than 0 for a user voice model.",required:!1},{name:"retrieval_blend",type:"float",description:"IVF retrieval feature blend rate; default 0 disables retrieval blending.",required:!1,min:0,max:1,default:0},{name:"semitone_shift",type:"int",description:"Semitone pitch shift applied before synthesis; default 0.",required:!1,default:0},{name:"pitch_filter_radius",type:"int",description:"Median filter radius for F0 smoothing; values greater than 2 enable filtering, default 3.",required:!1,min:0,default:3},{name:"output_sample_rate",type:"int",description:"Output sample rate in Hz; default 0 keeps the selected voice model sample rate.",required:!1,min:0,default:0},{name:"rms_mix_rate",type:"float",description:"RMS envelope mix rate applied after conversion; default 0.25.",required:!1,default:.25},{name:"unvoiced_protection",type:"float",description:"Unvoiced consonant protection strength; must be in [0, 1], default 0.33.",required:!1,min:0,max:1,default:.33},{name:"speaker_id",type:"int",description:"Speaker embedding id for multi-speaker RVC checkpoints; default 0.",required:!1,min:0,default:0},{name:"audio_pad_duration_sec",type:"int",description:"Long-audio chunk pad duration in seconds; default 1.",required:!1,min:1,default:1},{name:"split_query_sec",type:"int",description:"Quiet-point query window in seconds for long-audio splitting; default 5.",required:!1,min:1,default:5},{name:"split_center_sec",type:"int",description:"Long-audio split center stride in seconds; default 30.",required:!1,min:1,default:30},{name:"split_threshold_sec",type:"int",description:"Input duration in seconds before quiet-point splitting is used; default 32.",required:!1,min:1,default:32}],session:[{name:"weight_type",type:"enum",description:"Tensor storage type for native RVC, HuBERT, and RMVPE weights; default f32.",preset:"weight_type_full",required:!1,default:"f32"},{name:"voice_cache_slots",type:"int",description:"User voice model cache slots; default 4, set 0 to disable caching.",required:!1,min:0,default:4}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"rvc_f16",display_name:"RVC F16 GGUF",default:!0,format:"gguf",precision:"f16",target_directory:"RVC-GGUF",files:["RVC-GGUF/rvc-f16.gguf"],strip_prefix:"RVC-GGUF"}],dependencies:[],ui:{recommended_package:"rvc_f16",tags:["VC","GGUF"],docs:["docs/audio_tools.md","docs/gguf.md"]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{voice_v1_chocola_index:"model:voices/v1/chocola/added_IVF732_Flat_nprobe_1.index",voice_v1_fraise_index:"model:voices/v1/fraise/added_IVF802_Flat_nprobe_1.index",voice_v2_default_index:"model:voices/v2/default/added_IVF511_Flat_nprobe_1_default_v2.index",voice_v2_manthos_index:"model:voices/v2/manthos/added_IVF2586_Flat_nprobe_1_manthos_v2.index"},tensors:{support_hubert_base:{source:"weights:",prefix:"support_hubert_base"},support_rmvpe:{source:"weights:",prefix:"support_rmvpe"},voice_v1_chocola_checkpoint:{source:"weights:",prefix:"voice_v1_chocola_checkpoint"},voice_v1_chocola_index_vectors:{source:"weights:",prefix:"voice_v1_chocola_index_vectors"},voice_v1_fraise_checkpoint:{source:"weights:",prefix:"voice_v1_fraise_checkpoint"},voice_v1_fraise_index_vectors:{source:"weights:",prefix:"voice_v1_fraise_index_vectors"},voice_v2_default_checkpoint:{source:"weights:",prefix:"voice_v2_default_checkpoint"},voice_v2_default_index_vectors:{source:"weights:",prefix:"voice_v2_default_index_vectors"},voice_v2_manthos_checkpoint:{source:"weights:",prefix:"voice_v2_manthos_checkpoint"},voice_v2_manthos_index_vectors:{source:"weights:",prefix:"voice_v2_manthos_index_vectors"}}},{format:"safetensors",roots:{safetensors:"../safetensors"},files:{voice_v1_chocola_index:"safetensors:voices/v1/chocola/added_IVF732_Flat_nprobe_1.index",voice_v1_fraise_index:"safetensors:voices/v1/fraise/added_IVF802_Flat_nprobe_1.index",voice_v2_default_index:"safetensors:voices/v2/default/added_IVF511_Flat_nprobe_1_default_v2.index",voice_v2_manthos_index:"safetensors:voices/v2/manthos/added_IVF2586_Flat_nprobe_1_manthos_v2.index"},tensors:{support_hubert_base:"safetensors:support/hubert_base.safetensors",support_rmvpe:"safetensors:support/rmvpe.safetensors",voice_v1_chocola_checkpoint:"safetensors:voices/v1/chocola/chocola2333333.safetensors",voice_v1_chocola_index_vectors:"safetensors:voices/v1/chocola/added_IVF732_Flat_nprobe_1.ivf.safetensors",voice_v1_fraise_checkpoint:"safetensors:voices/v1/fraise/fraise2333333.safetensors",voice_v1_fraise_index_vectors:"safetensors:voices/v1/fraise/added_IVF802_Flat_nprobe_1.ivf.safetensors",voice_v2_default_checkpoint:"safetensors:voices/v2/default/default.safetensors",voice_v2_default_index_vectors:"safetensors:voices/v2/default/added_IVF511_Flat_nprobe_1_default_v2.ivf.safetensors",voice_v2_manthos_checkpoint:"safetensors:voices/v2/manthos/manthos.safetensors",voice_v2_manthos_index_vectors:"safetensors:voices/v2/manthos/added_IVF2586_Flat_nprobe_1_manthos_v2.ivf.safetensors"}}]},ak={schema_version:1,family:"sanotts",display_name:"sanoTTS Nano",description:"Very small multilingual text-to-speech across fourteen languages. Two graphs: the nano lineage (duration student, contextual acoustic student to mel-100, noise-fed ConvNeXt-1D decoder with an iSTFT head; voices heart 2.27M and heart-nano 294k, English, 24 kHz) and the deterministic piperlite lineage (duration student, acoustic student to a 192-channel latent, optionally through a calibration adapter, then a 3-stage ConvTranspose1d decoder with dilated residual banks; voices amy, hfc and kristin for English, vi, id, cs, de, es, fr, it, pt, ro, ru, tr, ne and hi at 1.1-1.8M parameters, 22.05 kHz). Uses an external eSpeak-ng phonemizer.",category:"tts",status:"community",tasks:["tts"],modes:["offline"],languages:["en","vi","id","cs","de","es","fr","it","pt","ro","ru","tr","ne","hi"],runtime:{tags:["gguf"]},capabilities:{tts:["long_form"]},options:{request:[{name:"speaking_rate",type:"float",description:"Duration multiplier on the voice's tuned length scale; larger is slower. Applied before the per-token clamp.",required:!1,min:.5,max:2,default:1},{name:"seed",type:"int",description:"Decoder noise seed. The decoder is noise-fed, so a given seed picks one of many valid renderings; 0 derives it from the text as sha256(text)[:8], which is what the reference implementations do. Piperlite voices are deterministic and ignore the seed.",required:!1,min:0,default:0},{name:"text_chunk_mode",type:"enum",description:"Long-form text chunking mode.",values:["word_budget"],required:!1,default:"word_budget"},{name:"text_chunk_size",type:"int",description:"Maximum Unicode codepoints per long-form text chunk; default 280.",required:!1,min:1,default:280}],session:[{name:"espeak_library_path",type:"path",description:"Optional explicit path to the eSpeak-ng shared library.",required:!1},{name:"espeak_data_path",type:"path",description:"Optional explicit path to the directory containing espeak-ng-data.",required:!1}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"ampixa/sanoTTS",revision:"main",gated:!1}},packages:[{id:"sanotts_heart_nano_orig",display_name:"sanoTTS heart-nano 294k FP32 GGUF",default:!0,format:"gguf",precision:"orig",target_directory:"sanoTTS-heart-nano-GGUF",files:["gguf/heart-nano-f32.gguf","gguf/config.json"],strip_prefix:"gguf"},{id:"sanotts_heart_orig",display_name:"sanoTTS heart 2.27M FP32 GGUF",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-heart-GGUF",files:["gguf/heart/heart-f32.gguf","gguf/heart/config.json"],strip_prefix:"gguf/heart"},{id:"sanotts_amy_orig",display_name:"sanoTTS amy 1.46M FP32 GGUF (English, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-amy-GGUF",files:["gguf/amy/amy-f32.gguf","gguf/amy/config.json"],strip_prefix:"gguf/amy"},{id:"sanotts_hfc_orig",display_name:"sanoTTS hfc 1.83M FP32 GGUF (English, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-hfc-GGUF",files:["gguf/hfc/hfc-f32.gguf","gguf/hfc/config.json"],strip_prefix:"gguf/hfc"},{id:"sanotts_kristin_orig",display_name:"sanoTTS kristin 1.40M FP32 GGUF (English, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-kristin-GGUF",files:["gguf/kristin/kristin-f32.gguf","gguf/kristin/config.json"],strip_prefix:"gguf/kristin"},{id:"sanotts_vi_orig",display_name:"sanoTTS vi 1.57M FP32 GGUF (Vietnamese, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-vi-GGUF",files:["gguf/vi/vi-f32.gguf","gguf/vi/config.json"],strip_prefix:"gguf/vi"},{id:"sanotts_id_orig",display_name:"sanoTTS id 1.56M FP32 GGUF (Indonesian, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-id-GGUF",files:["gguf/id/id-f32.gguf","gguf/id/config.json"],strip_prefix:"gguf/id"},{id:"sanotts_cs_orig",display_name:"sanoTTS cs 1.57M FP32 GGUF (Czech, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-cs-GGUF",files:["gguf/cs/cs-f32.gguf","gguf/cs/config.json"],strip_prefix:"gguf/cs"},{id:"sanotts_de_orig",display_name:"sanoTTS de 1.57M FP32 GGUF (German, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-de-GGUF",files:["gguf/de/de-f32.gguf","gguf/de/config.json"],strip_prefix:"gguf/de"},{id:"sanotts_es_orig",display_name:"sanoTTS es 1.56M FP32 GGUF (Spanish, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-es-GGUF",files:["gguf/es/es-f32.gguf","gguf/es/config.json"],strip_prefix:"gguf/es"},{id:"sanotts_fr_orig",display_name:"sanoTTS fr 1.57M FP32 GGUF (French, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-fr-GGUF",files:["gguf/fr/fr-f32.gguf","gguf/fr/config.json"],strip_prefix:"gguf/fr"},{id:"sanotts_it_orig",display_name:"sanoTTS it 1.57M FP32 GGUF (Italian, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-it-GGUF",files:["gguf/it/it-f32.gguf","gguf/it/config.json"],strip_prefix:"gguf/it"},{id:"sanotts_pt_orig",display_name:"sanoTTS pt 1.57M FP32 GGUF (Portuguese (Brazil), piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-pt-GGUF",files:["gguf/pt/pt-f32.gguf","gguf/pt/config.json"],strip_prefix:"gguf/pt"},{id:"sanotts_ro_orig",display_name:"sanoTTS ro 1.57M FP32 GGUF (Romanian, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-ro-GGUF",files:["gguf/ro/ro-f32.gguf","gguf/ro/config.json"],strip_prefix:"gguf/ro"},{id:"sanotts_ru_orig",display_name:"sanoTTS ru 1.57M FP32 GGUF (Russian, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-ru-GGUF",files:["gguf/ru/ru-f32.gguf","gguf/ru/config.json"],strip_prefix:"gguf/ru"},{id:"sanotts_tr_orig",display_name:"sanoTTS tr 1.56M FP32 GGUF (Turkish, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-tr-GGUF",files:["gguf/tr/tr-f32.gguf","gguf/tr/config.json"],strip_prefix:"gguf/tr"},{id:"sanotts_ne_orig",display_name:"sanoTTS ne 1.47M FP32 GGUF (Nepali, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-ne-GGUF",files:["gguf/ne/ne-f32.gguf","gguf/ne/config.json"],strip_prefix:"gguf/ne"},{id:"sanotts_hi_orig",display_name:"sanoTTS hi 1.50M FP32 GGUF (Hindi, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-hi-GGUF",files:["gguf/hi/hi-f32.gguf","gguf/hi/config.json"],strip_prefix:"gguf/hi"}],dependencies:[],ui:{recommended_package:"sanotts_heart_nano_orig",tags:["TTS","GGUF"],docs:["docs/tts.md","docs/community_models/sanotts.md","docs/gguf.md"]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json"},tensors:{weights:"weights:"}}]},ik={family:"seed_vc",schema_version:1,display_name:"Seed-VC",description:"Zero-shot voice conversion and singing voice conversion model for transferring timbre and style from reference audio, with low-latency realtime conversion and optional lightweight fine-tuning.",category:"voice_conversion",status:"supported",tasks:["vc","svc"],modes:["offline"],languages:["language_agnostic"],capabilities:{vc:["speaker_reference"],svc:["speaker_reference","singing"]},dependencies:[],runtime:{tags:["gguf"]},ui:{recommended_package:"seed_vc_mlx_q8_0",tags:["VC","GGUF"],docs:["docs/models/seed_vc.md","docs/audio_tools.md","docs/gguf.md"]},options:{request:[{name:"route",type:"enum",description:"Select the Seed-VC conversion route. Defaults to v2_vc for VC and v1_svc for SVC.",values:["v2_vc","v1_svc","v1_whisper_bigvgan_vc","v1_xlsr_hift_vc"],required:!1},{name:"length_adjust",type:"float",description:"Output duration multiplier; must be positive, default 1.0.",required:!1,min:0,default:1},{name:"num_inference_steps",type:"int",description:"Diffusion steps; default 30.",required:!1,min:1,default:30},{name:"inference_guidance_scale",type:"float",description:"V1 classifier-free guidance scale; default 0.7.",required:!1,min:0,default:.7},{name:"intelligibility_guidance_scale",type:"float",description:"V2 classifier-free guidance scale for source-content intelligibility; default 0.7.",required:!1,min:0,default:.7},{name:"similarity_guidance_scale",type:"float",description:"V2 classifier-free guidance scale for target-speaker similarity; default 0.7.",required:!1,min:0,default:.7},{name:"voice_anonymization",type:"bool",description:"Use randomized average-voice conditioning instead of target-speaker conditioning for V2 anonymization; default false.",required:!1,default:!1},{name:"seed",type:"int",description:"Seed for V1/V2 diffusion noise and HiFT stochastic source excitation; omitted requests choose a random seed.",required:!1,min:0},{name:"noise_path",type:"path",description:"Optional raw f32 noise file for deterministic V1/V2 diffusion noise and XLSR/HiFT source excitation.",required:!1},{name:"f0_condition",type:"bool",description:"Enable V1 F0 conditioning for singing voice conversion; default false.",required:!1,default:!1},{name:"auto_f0_adjust",type:"bool",description:"Automatically adjust V1 source pitch toward the target pitch level; default false.",required:!1,default:!1},{name:"semitone_shift",type:"int",description:"V1 pitch shift in semitones for singing voice conversion; default 0.",required:!1,default:0}],session:[{name:"weight_type",type:"enum",description:"Shared Seed-VC component weight storage type; default native, except RMVPE uses f32 unless overridden.",preset:"weight_type_full",required:!1,default:"native"}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"seed_vc_mlx_q8_0",display_name:"SeedVC-MLX Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"SeedVC-MLX-GGUF",files:["SeedVC-MLX-GGUF/seed-vc-mlx-q8_0.gguf"],strip_prefix:"SeedVC-MLX-GGUF"},{id:"seed_vc_mlx_f16",display_name:"SeedVC-MLX F16 GGUF",format:"gguf",precision:"f16",target_directory:"SeedVC-MLX-GGUF",files:["SeedVC-MLX-GGUF/seed-vc-mlx-f16.gguf"],strip_prefix:"SeedVC-MLX-GGUF"},{id:"seed_vc_mlx_orig",display_name:"SeedVC-MLX Original-Dtype GGUF",format:"gguf",precision:"orig",target_directory:"SeedVC-MLX-GGUF",files:["SeedVC-MLX-GGUF/seed-vc-mlx-orig.gguf"],strip_prefix:"SeedVC-MLX-GGUF"},{id:"seed_vc_mlx_safetensors",display_name:"SeedVC-MLX Safetensors",format:"safetensors",precision:"native",target_directory:"SeedVC-MLX",files:["seed_vc_manifest.json","v2/ar.safetensors","v2/cfm.safetensors","v2/vc_wrapper.json","astral/bsq32.json","astral/bsq2048.json","v1/svc.json","v1/whisper_bigvgan.json","v1/xlsr_hift.json","hift/config.json","bigvgan/v2_22khz_80band_256x/config.json","bigvgan/v2_44khz_128band_512x/config.json","whisper-small/config.json","hubert-large-ll60k/config.json","wav2vec2-xls-r-300m/config.json","v1/svc.safetensors","v1/whisper_bigvgan.safetensors","v1/xlsr_hift.safetensors","astral/bsq32.safetensors","astral/bsq2048.safetensors","campplus/model.safetensors","rmvpe/model.safetensors","hift/model.safetensors","bigvgan/v2_22khz_80band_256x/model.safetensors","bigvgan/v2_44khz_128band_512x/model.safetensors","whisper-small/model.safetensors","hubert-large-ll60k/model.safetensors","wav2vec2-xls-r-300m/model.safetensors"],download:{kind:"huggingface_snapshot",repo:"mlx-community/SeedVC-MLX"}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{manifest:"model:seed_vc_manifest.json",v2_wrapper_config:"model:v2/vc_wrapper.json",astral_bsq32_config:"model:astral/bsq32.json",astral_bsq2048_config:"model:astral/bsq2048.json",v1_svc_config:"model:v1/svc.json",v1_whisper_bigvgan_config:"model:v1/whisper_bigvgan.json",v1_xlsr_hift_config:"model:v1/xlsr_hift.json",hift_config:"model:hift/config.json",bigvgan_22k_config:"model:bigvgan/v2_22khz_80band_256x/config.json",bigvgan_44k_config:"model:bigvgan/v2_44khz_128band_512x/config.json",whisper_small_config:"model:whisper-small/config.json",hubert_large_config:"model:hubert-large-ll60k/config.json",wav2vec2_xlsr_config:"model:wav2vec2-xls-r-300m/config.json"},tensors:{v2_ar_weights:{source:"weights:",prefix:"v2_ar_weights"},v2_cfm_weights:{source:"weights:",prefix:"v2_cfm_weights"},v1_svc_weights:{source:"weights:",prefix:"v1_svc_weights"},v1_whisper_bigvgan_weights:{source:"weights:",prefix:"v1_whisper_bigvgan_weights"},v1_xlsr_hift_weights:{source:"weights:",prefix:"v1_xlsr_hift_weights"},astral_bsq32_weights:{source:"weights:",prefix:"astral_bsq32_weights"},astral_bsq2048_weights:{source:"weights:",prefix:"astral_bsq2048_weights"},campplus_weights:{source:"weights:",prefix:"campplus_weights"},rmvpe_weights:{source:"weights:",prefix:"rmvpe_weights"},hift_weights:{source:"weights:",prefix:"hift_weights"},bigvgan_22k_weights:{source:"weights:",prefix:"bigvgan_22k_weights"},bigvgan_44k_weights:{source:"weights:",prefix:"bigvgan_44k_weights"},whisper_small_weights:{source:"weights:",prefix:"whisper_small_weights"},hubert_large_weights:{source:"weights:",prefix:"hubert_large_weights"},wav2vec2_xlsr_weights:{source:"weights:",prefix:"wav2vec2_xlsr_weights"}}},{format:"safetensors",roots:{model:"."},files:{manifest:"model:seed_vc_manifest.json",v2_wrapper_config:"model:v2/vc_wrapper.json",astral_bsq32_config:"model:astral/bsq32.json",astral_bsq2048_config:"model:astral/bsq2048.json",v1_svc_config:"model:v1/svc.json",v1_whisper_bigvgan_config:"model:v1/whisper_bigvgan.json",v1_xlsr_hift_config:"model:v1/xlsr_hift.json",hift_config:"model:hift/config.json",bigvgan_22k_config:"model:bigvgan/v2_22khz_80band_256x/config.json",bigvgan_44k_config:"model:bigvgan/v2_44khz_128band_512x/config.json",whisper_small_config:"model:whisper-small/config.json",hubert_large_config:"model:hubert-large-ll60k/config.json",wav2vec2_xlsr_config:"model:wav2vec2-xls-r-300m/config.json"},tensors:{v2_ar_weights:"model:v2/ar.safetensors",v2_cfm_weights:"model:v2/cfm.safetensors",v1_svc_weights:"model:v1/svc.safetensors",v1_whisper_bigvgan_weights:"model:v1/whisper_bigvgan.safetensors",v1_xlsr_hift_weights:"model:v1/xlsr_hift.safetensors",astral_bsq32_weights:"model:astral/bsq32.safetensors",astral_bsq2048_weights:"model:astral/bsq2048.safetensors",campplus_weights:"model:campplus/model.safetensors",rmvpe_weights:"model:rmvpe/model.safetensors",hift_weights:"model:hift/model.safetensors",bigvgan_22k_weights:"model:bigvgan/v2_22khz_80band_256x/model.safetensors",bigvgan_44k_weights:"model:bigvgan/v2_44khz_128band_512x/model.safetensors",whisper_small_weights:"model:whisper-small/model.safetensors",hubert_large_weights:"model:hubert-large-ll60k/model.safetensors",wav2vec2_xlsr_weights:"model:wav2vec2-xls-r-300m/model.safetensors"}}]},nk={schema_version:1,family:"sense_asr",display_name:"SenseVoice-Small",description:"SenseVoice-Small multilingual speech recognition with rich event/emotion/ITN tags via a SAN-M encoder and CTC head, ported to audio.cpp.",category:"asr",status:"community",tasks:["asr"],modes:["offline","streaming"],languages:["auto","zh","en","yue","ja","ko","pt","ru","es","it","fr","de","nl","pl","tr","ar","hi","vi","th","id","ms","fa","nospeech"],capabilities:{asr:["vad_chunking","partial_results"]},options:{request:[{name:"language",type:"string",description:"Recognition language, or auto to let the model infer it from the audio.",required:!1,default:"auto"},{name:"enable_itn",type:"bool",description:"Enable inverse text normalization (adds the withitn query token).",required:!1,default:!0},{name:"keep_tags",type:"bool",description:"Keep <|event|>/<|emotion|>/<|language|> tags inline in the output text.",required:!1,default:!1},{name:"audio_chunk_mode",type:"enum",description:"Audio chunking mode: auto, fixed, or none.",values:["auto","fixed","none"],required:!1,default:"auto"},{name:"audio_chunk_duration_sec",type:"float",description:"Fixed chunk duration in seconds when not using VAD segmentation.",required:!1,min:.001,default:30}],session:[{name:"weight_type",type:"enum",description:"Shared model weight storage type.",preset:"weight_type_full",required:!1,default:"native"},{name:"encoder_graph_arena_mb",type:"int",description:"Encoder graph arena size in MB.",required:!1,min:64,default:1024},{name:"vad_model_path",type:"string",description:"Path to the Silero VAD model directory used by automatic audio chunking.",required:!1,default:"assets/framework/models/silero_vad"}],load:[]},runtime:{tags:["gguf","server","stream","cuda","metal","cpu"]},packages:[{id:"sensevoice_small_q8",display_name:"SenseVoice-Small Q8 GGUF",description:"audio.cpp GGUF built from the SenseVoice-Small checkpoint via the SenseVoice llama.cpp export script.",default:!0,format:"gguf",precision:"q8_0",target_directory:"SenseVoice-Small-GGUF",files:["sensevoice-small-q8-audiocpp-v1.gguf"],download:{kind:"huggingface_snapshot",repo:"FunAudioLLM/SenseVoiceSmall-GGUF-audiocpp",revision:"5c3fcfe748a8714216bc135476d5863084fddb72",gated:!1}}],dependencies:[],ui:{recommended_package:"sensevoice_small_q8",tags:["ASR","GGUF","Stream"],docs:["docs/community_models/sense_asr.md"],summary:"SenseVoice-Small transcription with event/emotion tags and ITN."},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{},optional_files:{},tensors:{weights:"weights:"}}]},rk={schema_version:1,family:"sheetsage2",display_name:"SheetSage2",description:"SheetSage2 audio-to-symbolic transcription. This native path consumes an input recording from a self-contained GGUF and emits an ABC score artifact.",category:"audio_tools",status:"supported",tasks:["midi"],modes:["offline"],languages:["music"],runtime:{tags:["gguf","cuda"]},capabilities:{midi:["midi_artifact"]},options:{request:[{name:"max_tokens",type:"int",description:"Maximum total decoder sequence length; default follows the embedded model context.",required:!1,min:1,default:5120}],session:[{name:"weight_type",type:"enum",description:"Decoder weight storage type; default native.",preset:"weight_type_full",required:!1,default:"native"},{name:"weight_context_mb",type:"int",description:"Weight context arena size in MiB; default 1024.",required:!1,min:1,default:1024},{name:"decoder_graph_arena_mb",type:"int",description:"Encoder/decoder graph arena size in MiB; default 1536.",required:!1,min:1,default:1536}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/SheetSage2-GGUF",revision:"main",gated:!1}},packages:[{id:"sheetsage2_orig",display_name:"SheetSage2 Original-Dtype GGUF",default:!0,format:"gguf",precision:"orig",target_directory:"SheetSage2-GGUF",files:["sheetsage2-orig.gguf"]}],dependencies:[],ui:{recommended_package:"sheetsage2_orig",tags:["Music","MIDI","GGUF"],docs:[]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json"},tensors:{weights:"weights:"}}]},sk={schema_version:1,family:"soprano_tts",display_name:"Soprano",description:"Soprano is an ultra-lightweight (~80M) English-only text-to-speech model. Syntax uses a 17-layer Qwen3-style causal LM (hidden 512, vocab 8192) that autoregressively emits per-frame 512-dimensional features; a non-iterative Vocos-style decoder (ConvNeXt backbone + single ISTFT head, n_fft 2048 / hop 512) turns those features into 32 kHz audio. No diffusion refinement is performed in the decoder.",category:"tts",status:"community",tasks:["tts"],modes:["offline","streaming"],languages:["en"],runtime:{tags:["gguf","stream"]},capabilities:{tts:["long_form"]},options:{request:[{name:"max_tokens",type:"int",description:"Maximum generated audio frames for the autoregressive LM; default 512.",required:!1,min:1,default:512},{name:"temperature",type:"float",description:"Autoregressive sampling temperature; default 0.3 (0 selects the framework default and clamps to a small positive value).",required:!1,min:0,default:.3},{name:"top_p",type:"float",description:"Nucleus sampling probability; default 0.95.",required:!1,min:0,max:1,default:.95},{name:"repetition_penalty",type:"float",description:"Repetition penalty applied to the LM head; default 1.2.",required:!1,min:1,default:1.2},{name:"eos_bias",type:"float",description:"Additive bias on the EOS token logit during generation. Positive values make the model stop sooner when speech ends (mitigating runaway generations that hit max_tokens); negative values encourage longer utterances. Default 0 disables the adjustment.",required:!1,default:0},{name:"seed",type:"int",description:"Autoregressive sampling seed; omitted requests choose a random seed.",required:!1,min:0}],session:[{name:"text_chunk_size",type:"int",description:"Maximum codepoints per sentence chunk before the model generates and decodes separately. Smaller values keep prompts short (more reliable EOS) but increase overhead. Default 200.",required:!1,min:32,default:200}],load:[{name:"backbone_weight_type",type:"enum",preset:"weight_type_full",required:!1,default:"native",description:"Storage type for the Qwen3 LM backbone weights."},{name:"decoder_weight_type",type:"enum",preset:"weight_type_conv",required:!1,default:"native",description:"Storage type for the Vocos decoder weights."}]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"WalkingCat/Soprano-1.1-80M-GGUF",revision:"main",gated:!1}},packages:[{id:"soprano_1_1_80m_q8_0",display_name:"Soprano-1.1-80M Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Soprano-1.1-80M-GGUF",files:["Soprano-1.1-80M-GGUF/soprano-1.1-80m-q8_0.gguf"],strip_prefix:"Soprano-1.1-80M-GGUF"},{id:"soprano_1_1_80m_bf16",display_name:"Soprano-1.1-80M BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"Soprano-1.1-80M-GGUF",files:["Soprano-1.1-80M-GGUF/soprano-1.1-80m-bf16.gguf"],strip_prefix:"Soprano-1.1-80M-GGUF"}],dependencies:[],ui:{recommended_package:"soprano_1_1_80m_q8_0",tags:["TTS","Stream"],docs:["docs/community_models/soprano_tts.md"]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer_json:"model:tokenizer.json"},tensors:{backbone:"weights:",decoder:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer_json:"model:tokenizer.json"},tensors:{backbone:"model:combined.safetensors",decoder:"model:combined.safetensors"}}]},ok={schema_version:1,family:"sopro_tts",display_name:"Sopro V2 Turbo",description:"Community Sopro V2 Turbo (samuel-vitorino/sopro-v2-turbo): a 120M zero-shot voice-cloning TTS. SentencePiece text tokenizer, style-prefix conditioned autoregressive semantic LM over FSQ tokens, rectified-flow acoustic DiT and a Vocos ISTFT vocoder at 24 kHz.",category:"tts",status:"community",tasks:["tts","clone"],modes:["offline","streaming"],languages:["en","pt","fr","de"],runtime:{tags:["server"]},capabilities:{clone:["speaker_reference"]},options:{request:[{name:"language",type:"string",description:"Language tag prepended to the prompt (en, pt, fr, de). Optional; helps pronunciation on ambiguous text.",required:!1,default:""},{name:"temperature",type:"float",description:"Semantic LM sampling temperature; default 0.8.",required:!1,min:0,max:2,default:.8},{name:"top_p",type:"float",description:"Nucleus sampling threshold for the semantic LM; default 0.9.",required:!1,min:0,max:1,default:.9},{name:"top_k",type:"int",description:"Top-k truncation for the semantic LM; 0 disables. Default 25.",required:!1,min:0,default:25},{name:"num_inference_steps",type:"int",description:"Acoustic rectified-flow Euler steps; default 2.",required:!1,min:1,max:32,default:2},{name:"max_seconds",type:"float",description:"Cap on generated audio per segment; long text is split into segments so total length is unbounded. Default 30.",required:!1,min:1,max:60,default:30},{name:"min_seconds",type:"float",description:"Minimum audio per segment before the semantic LM may emit EOS; default 0.4.",required:!1,min:0,max:10,default:.4},{name:"ref_seconds",type:"float",description:"Reference audio window used for cloning; default 10.",required:!1,min:1,max:30,default:10},{name:"text_chunk_size",type:"int",description:"Maximum codepoints per synthesis segment; default 300 (config.json generation.max_segment_chars).",required:!1,min:20,max:2e3,default:300},{name:"seed",type:"int",description:"Non-negative seed for semantic sampling and the acoustic noise prior; omit for a random seed.",required:!1,min:0}],session:[{name:"language",type:"string",description:"Default language tag for requests that do not set one.",required:!1,default:""}],load:[{name:"matmul_weight_type",type:"enum",preset:"weight_type_full",description:"Storage type for the matmul weights of every stage (semantic LM, acoustic DiT, encoders, vocoder head).",required:!1,default:"f32"},{name:"conv_weight_type",type:"enum",preset:"weight_type_conv",description:"Storage type for convolution weights (speaker/semantic encoders and the Vocos backbone).",required:!1,default:"f32"}]},package_defaults:{download:{kind:"unsupported",reason:"No audio.cpp GGUF build of sopro-v2-turbo is published yet: install the sopro_v2_turbo_safetensors package and run from safetensors, or pack one locally with audiocpp_gguf (one --input namespace per stage: model, semantic_encoder, speaker_encoder, vocoder)."}},packages:[{id:"sopro_v2_turbo_f16",display_name:"Sopro V2 Turbo F16 GGUF",description:"Locally packed GGUF holding all four stages plus the embedded config and tokenizer sidecars. Produced with audiocpp_gguf --family sopro_tts.",default:!0,format:"gguf",precision:"f16",target_directory:"sopro-v2-turbo-GGUF",files:["sopro-v2-turbo-GGUF/sopro-v2-turbo-f16.gguf"],strip_prefix:"sopro-v2-turbo-GGUF"},{id:"sopro_v2_turbo_safetensors",display_name:"Sopro V2 Turbo (upstream safetensors)",description:"Upstream checkpoint from samuel-vitorino/sopro-v2-turbo: config.json, tokenizer.model and the four safetensors stages. Runs directly, no conversion needed.",format:"safetensors",precision:"orig",target_directory:"sopro-v2-turbo",files:["config.json","tokenizer.model","model.safetensors","semantic_encoder.safetensors","speaker_encoder.safetensors","vocoder.safetensors"],download:{kind:"huggingface_snapshot",repo:"samuel-vitorino/sopro-v2-turbo",revision:"main",gated:!1}}],dependencies:[],ui:{recommended_package:"sopro_v2_turbo_safetensors",tags:["TTS","Clone"],docs:["docs/community_models/sopro_tts.md"]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer:"model:tokenizer.model"},tensors:{model:{source:"weights:",prefix:"model"},semantic_encoder:{source:"weights:",prefix:"semantic_encoder"},speaker_encoder:{source:"weights:",prefix:"speaker_encoder"},vocoder:{source:"weights:",prefix:"vocoder"}}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",tokenizer:"model:tokenizer.model"},tensors:{model:{source:"model:model.safetensors"},semantic_encoder:{source:"model:semantic_encoder.safetensors"},speaker_encoder:{source:"model:speaker_encoder.safetensors"},vocoder:{source:"model:vocoder.safetensors"}}}]},ck={schema_version:1,family:"sortformer_diar",display_name:"Sortformer Diarization",description:"NVIDIA Transformer-based end-to-end speaker diarization model trained primarily on English speech, predicting speaker labels directly from audio and resolving speaker ordering by arrival time for up to four speakers.",category:"speech_analysis",status:"supported",tasks:["diar"],modes:["offline"],languages:["en"],capabilities:{diar:["speaker_turns"]},dependencies:[],options:{request:[{name:"speaker_threshold",type:"float",description:"Speaker activity probability threshold used when decoding speaker turns; default 0.5.",required:!1,min:0,max:1,default:.5},{name:"speaker_min_frames",type:"int",description:"Minimum decoded segment length in model output frames; default 0 disables short-segment filtering.",required:!1,min:0,default:0},{name:"speaker_pad_frames",type:"int",description:"Pad each decoded speaker segment by this many model output frames before filtering and merging; default 0.",required:!1,min:0,default:0}],session:[{name:"graph_arena_mb",type:"int",description:"Inference graph arena size in MiB; default 512.",required:!1,min:1,default:512},{name:"weight_context_mb",type:"int",description:"Weight context size in MiB; default 128.",required:!1,min:1,default:128},{name:"session_len_sec",type:"float",description:"Base offline graph context length in seconds; must be positive, default 20.",required:!1,min:0,default:20},{name:"graph_capacity_mode",type:"enum",description:"Offline graph capacity policy; defaults to tiered on host-graph backends and fixed otherwise.",values:["fixed","tiered","grow","double"],required:!1},{name:"speaker_threshold",type:"float",description:"Default speaker activity probability threshold for decoded speaker turns; default 0.5.",required:!1,min:0,max:1,default:.5},{name:"speaker_min_frames",type:"int",description:"Default minimum decoded segment length in model output frames; default 0 disables short-segment filtering.",required:!1,min:0,default:0},{name:"speaker_pad_frames",type:"int",description:"Default decoded segment padding in model output frames; default 0.",required:!1,min:0,default:0},{name:"weight_type",type:"enum",description:"All weight storage type; default f32.",preset:"weight_type_full",required:!1,default:"f32"},{name:"matmul_weight_type",type:"enum",description:"Matmul weight storage type; defaults to weight_type when set, otherwise f32.",preset:"weight_type_full",required:!1},{name:"conv_weight_type",type:"enum",description:"Convolution weight storage type; defaults to weight_type when set, otherwise f32.",preset:"weight_type_full",required:!1}],load:[]},runtime:{tags:["gguf"]},ui:{recommended_package:"sortformer_diar_4spk_v1_q8_0",tags:["Diar","GGUF"],docs:["docs/audio_tools.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"sortformer_diar_4spk_v1_q8_0",display_name:"Sortformer Diar 4spk v1 Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Sortformer-Diar-4spk-v1-GGUF",files:["Sortformer-Diar-4spk-v1-GGUF/sortformer-diar-4spk-v1-q8_0.gguf"],strip_prefix:"Sortformer-Diar-4spk-v1-GGUF"},{id:"sortformer_diar_4spk_v1_f16",display_name:"Sortformer Diar 4spk v1 F16 GGUF",format:"gguf",precision:"f16",target_directory:"Sortformer-Diar-4spk-v1-GGUF",files:["Sortformer-Diar-4spk-v1-GGUF/sortformer-diar-4spk-v1-f16.gguf"],strip_prefix:"Sortformer-Diar-4spk-v1-GGUF"},{id:"sortformer_diar_4spk_v1_safetensors",display_name:"Sortformer Diar 4spk v1 Safetensors",format:"safetensors",precision:"native",target_directory:"diar_sortformer_4spk-v1",files:["config.json","model.safetensors","processor_config.json"],download:{kind:"huggingface_snapshot",repo:"nvidia/diar_sortformer_4spk-v1"}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",processor:"model:processor_config.json"},tensors:{weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",processor:"model:processor_config.json"},tensors:{weights:"model:model.safetensors"}}]},lk={schema_version:1,family:"sortformer_diar_v2",display_name:"Sortformer Diarization v2.1",description:"NVIDIA Sortformer v2.1 streaming speaker diarization model with four speaker channels, AOSC state, stable arrival-order speaker identities, and bounded-context offline and streaming execution. The model has no published language whitelist: it was trained primarily on English speech, includes non-English meeting data such as AISHELL-4 and AliMeeting, and may degrade on other languages. The checkpoint is governed by the NVIDIA Open Model License and is local-use only until redistribution approval.",category:"speech_analysis",status:"community",tasks:["diar"],modes:["offline","streaming"],languages:["multilingual"],capabilities:{diar:["speaker_turns"]},dependencies:[],options:{request:[{name:"speaker_threshold",type:"float",description:"Speaker activity threshold used for turn decoding; default 0.5.",required:!1,min:0,max:1,default:.5},{name:"speaker_min_frames",type:"int",description:"Minimum decoded turn duration in 80 ms model frames; default 0.",required:!1,min:0,default:0},{name:"speaker_pad_frames",type:"int",description:"Padding applied to decoded turns in model frames; default 0.",required:!1,min:0,default:0}],session:[{name:"graph_arena_mb",type:"int",description:"Inference graph arena size in MiB; default 1024.",required:!1,min:1,default:1024},{name:"weight_context_mb",type:"int",description:"Weight context size in MiB; default 1024.",required:!1,min:1,default:1024},{name:"geometry",type:"enum",description:"Streaming geometry preset; default uses the checkpoint geometry.",values:["model","streaming","very_high_latency","high_latency","low_latency"],required:!1,default:"model"},{name:"weight_type",type:"enum",description:"Default storage type for all model weights; default f32.",preset:"weight_type_full",required:!1,default:"f32"},{name:"matmul_weight_type",type:"enum",description:"Matmul weight storage type; defaults to weight_type.",preset:"weight_type_full",required:!1},{name:"conv_weight_type",type:"enum",description:"Convolution weight storage type; defaults to weight_type.",preset:"weight_type_conv",required:!1}],load:[]},runtime:{tags:["gguf","stream"]},ui:{recommended_package:"sortformer_diar_v2_1_f32_gguf_local",tags:["Diar","Stream","GGUF"],docs:["docs/community_models/sortformer_diar_v2.md","docs/speech_analysis.md","docs/gguf.md"]},package_defaults:{download:{kind:"unsupported",reason:"NVIDIA Open Model License checkpoint: convert or stage locally until redistribution approval is complete."}},packages:[{id:"sortformer_diar_v2_1_f32_local",display_name:"Sortformer Diar v2.1 F32 local package",format:"safetensors",precision:"f32",target_directory:"Sortformer-Diar-v2.1-local",files:["Sortformer-Diar-v2.1-local/config.json","Sortformer-Diar-v2.1-local/processor_config.json","Sortformer-Diar-v2.1-local/model.safetensors"],strip_prefix:"Sortformer-Diar-v2.1-local"},{id:"sortformer_diar_v2_1_f32_gguf_local",display_name:"Sortformer Diar v2.1 F32 GGUF local package",default:!0,format:"gguf",precision:"f32",target_directory:"Sortformer-Diar-v2.1-local",files:["Sortformer-Diar-v2.1-local/sortformer-v2.1-f32.gguf"],strip_prefix:"Sortformer-Diar-v2.1-local"},{id:"sortformer_diar_v2_1_f16_mixed_gguf_local",display_name:"Sortformer Diar v2.1 mixed F16/F32 GGUF local package",format:"gguf",precision:"f16",target_directory:"Sortformer-Diar-v2.1-local",files:["Sortformer-Diar-v2.1-local/sortformer-v2.1-f16-mixed.gguf"],strip_prefix:"Sortformer-Diar-v2.1-local"}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",processor:"model:processor_config.json"},tensors:{weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",processor:"model:processor_config.json"},tensors:{weights:"model:model.safetensors"}}]},dk={family:"stable_audio",display_name:"Stable Audio 3",description:"Stability AI generative audio model family for text-to-music, sound effects, audio-to-audio editing, inpainting, continuation, variable-length generation, and LoRA personalization.",category:"audio_generation",status:"supported",tasks:["music","sfx","edit"],modes:["offline"],languages:["en"],capabilities:{music:["lyrics"],sfx:["prompt_generation"],edit:["prompt_editing"]},runtime:{tags:["gguf"]},ui:{recommended_package:"stable_audio_3_medium_q8_0",tags:["Music","SFX","Edit","GGUF"],docs:["docs/models/stable_audio.md","docs/music_generation.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"stable_audio_3_medium_q8_0",display_name:"Stable Audio 3 Medium Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Stable-Audio-3-Medium-GGUF",files:["Stable-Audio-3-Medium-GGUF/stable-audio-3-medium-q8_0.gguf"],strip_prefix:"Stable-Audio-3-Medium-GGUF"},{id:"stable_audio_3_medium_f16",display_name:"Stable Audio 3 Medium F16 GGUF",format:"gguf",precision:"f16",target_directory:"Stable-Audio-3-Medium-GGUF",files:["Stable-Audio-3-Medium-GGUF/stable-audio-3-medium-f16.gguf"],strip_prefix:"Stable-Audio-3-Medium-GGUF"},{id:"stable_audio_3_small_music_q8_0",display_name:"Stable Audio 3 Small Music Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"Stable-Audio-3-Small-Music-GGUF",files:["Stable-Audio-3-Small-Music-GGUF/stable-audio-3-small-music-q8_0.gguf"],strip_prefix:"Stable-Audio-3-Small-Music-GGUF"},{id:"stable_audio_3_small_music_f16",display_name:"Stable Audio 3 Small Music F16 GGUF",format:"gguf",precision:"f16",target_directory:"Stable-Audio-3-Small-Music-GGUF",files:["Stable-Audio-3-Small-Music-GGUF/stable-audio-3-small-music-f16.gguf"],strip_prefix:"Stable-Audio-3-Small-Music-GGUF"},{id:"stable_audio_3_small_sfx_q8_0",display_name:"Stable Audio 3 Small SFX Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"Stable-Audio-3-Small-SFX-GGUF",files:["Stable-Audio-3-Small-SFX-GGUF/stable-audio-3-small-sfx-q8_0.gguf"],strip_prefix:"Stable-Audio-3-Small-SFX-GGUF"},{id:"stable_audio_3_small_sfx_f16",display_name:"Stable Audio 3 Small SFX F16 GGUF",format:"gguf",precision:"f16",target_directory:"Stable-Audio-3-Small-SFX-GGUF",files:["Stable-Audio-3-Small-SFX-GGUF/stable-audio-3-small-sfx-f16.gguf"],strip_prefix:"Stable-Audio-3-Small-SFX-GGUF"},{id:"stable_audio_3_medium_safetensors",display_name:"Stable Audio 3 Medium Safetensors",format:"safetensors",precision:"native",target_directory:"stable-audio-3-medium",files:["model_config.json","model.safetensors"],download:{kind:"huggingface_snapshot",repo:"stabilityai/stable-audio-3-medium",gated:!0}},{id:"stable_audio_3_small_music_safetensors",display_name:"Stable Audio 3 Small Music Safetensors",format:"safetensors",precision:"native",target_directory:"stable-audio-3-small-music",files:["model_config.json","model.safetensors"],download:{kind:"huggingface_snapshot",repo:"stabilityai/stable-audio-3-small-music",gated:!0}},{id:"stable_audio_3_small_sfx_safetensors",display_name:"Stable Audio 3 Small SFX Safetensors",format:"safetensors",precision:"native",target_directory:"stable-audio-3-small-sfx",files:["model_config.json","model.safetensors"],download:{kind:"huggingface_snapshot",repo:"stabilityai/stable-audio-3-small-sfx",gated:!0}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{model_config:"model:model_config.json",t5_config:"model:t5gemma-b-b-ul2/config.json",t5_tokenizer_json:"model:t5gemma-b-b-ul2/tokenizer.json",t5_tokenizer_model:"model:t5gemma-b-b-ul2/tokenizer.model",t5_tokenizer_config:"model:t5gemma-b-b-ul2/tokenizer_config.json"},tensors:{model_weights:{source:"weights:",prefix:"model_weights"},t5_weights:{source:"weights:",prefix:"t5_weights"}}},{format:"safetensors",roots:{model:".",t5:"t5gemma-b-b-ul2"},files:{model_config:"model:model_config.json",t5_config:"t5:config.json",t5_tokenizer_json:"t5:tokenizer.json",t5_tokenizer_model:"t5:tokenizer.model",t5_tokenizer_config:"t5:tokenizer_config.json"},tensors:{model_weights:"model:model.safetensors",t5_weights:"t5:model.safetensors"}},{format:"safetensors",roots:{model:".",t5:"../t5-base"},files:{model_config:"model:model_config.json",t5_config:"t5:config.json",t5_tokenizer_json:"t5:tokenizer.json",t5_tokenizer_model:"t5:spiece.model",t5_tokenizer_config:"t5:config.json"},tensors:{model_weights:"model:Foundation_1.safetensors",t5_weights:"t5:model.safetensors"}}]},uk={family:"supertonic",display_name:"Supertonic 3",description:"Supertone on-device TTS model designed for fast local speech synthesis across 31 languages, with preset voices and compact deployment for browser, mobile, and desktop applications.",category:"tts",status:"supported",tasks:["tts"],modes:["offline","streaming"],languages:["en","ko","ja","ar","bg","cs","da","de","el","es","et","fi","fr","hi","hr","hu","id","it","lt","lv","nl","pl","pt","ro","ru","sk","sl","sv","tr","uk","vi"],capabilities:{tts:["built_in_voices","long_form"]},runtime:{tags:["gguf","stream"]},ui:{recommended_package:"supertonic_3_orig",tags:["TTS","GGUF","Stream"],docs:["docs/tts.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"supertonic_3_q8_0",display_name:"Supertonic 3 Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"Supertonic-3-GGUF",files:["Supertonic-3-GGUF/supertonic-3-q8_0.gguf"],strip_prefix:"Supertonic-3-GGUF"},{id:"supertonic_3_f16",display_name:"Supertonic 3 F16 GGUF",format:"gguf",precision:"f16",target_directory:"Supertonic-3-GGUF",files:["Supertonic-3-GGUF/supertonic-3-f16.gguf"],strip_prefix:"Supertonic-3-GGUF"},{id:"supertonic_3_orig",display_name:"Supertonic 3 Original-Dtype GGUF",default:!0,format:"gguf",precision:"orig",target_directory:"Supertonic-3-GGUF",files:["Supertonic-3-GGUF/supertonic-3-orig.gguf"],strip_prefix:"Supertonic-3-GGUF"},{id:"supertonic_3_safetensors",display_name:"Supertonic 3 Safetensors",format:"safetensors",precision:"native",target_directory:"supertonic-3",files:["config/tts.json","config/unicode_indexer.json","ggml/supertonic.safetensors","voice_styles/F1.json","voice_styles/F2.json","voice_styles/F3.json","voice_styles/F4.json","voice_styles/F5.json","voice_styles/M1.json","voice_styles/M2.json","voice_styles/M3.json","voice_styles/M4.json","voice_styles/M5.json"],download:{kind:"huggingface_snapshot",repo:"mlx-community/supertonic-3-mlx"}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{tts_config:"model:config/tts.json",unicode_indexer:"model:config/unicode_indexer.json",voice_style_F1:"model:voice_styles/F1.json",voice_style_F2:"model:voice_styles/F2.json",voice_style_F3:"model:voice_styles/F3.json",voice_style_F4:"model:voice_styles/F4.json",voice_style_F5:"model:voice_styles/F5.json",voice_style_M1:"model:voice_styles/M1.json",voice_style_M2:"model:voice_styles/M2.json",voice_style_M3:"model:voice_styles/M3.json",voice_style_M4:"model:voice_styles/M4.json",voice_style_M5:"model:voice_styles/M5.json"},tensors:{weights:{source:"weights:",prefix:"weights"}}},{format:"safetensors",roots:{model:"."},files:{tts_config:"model:config/tts.json",unicode_indexer:"model:config/unicode_indexer.json",voice_style_F1:"model:voice_styles/F1.json",voice_style_F2:"model:voice_styles/F2.json",voice_style_F3:"model:voice_styles/F3.json",voice_style_F4:"model:voice_styles/F4.json",voice_style_F5:"model:voice_styles/F5.json",voice_style_M1:"model:voice_styles/M1.json",voice_style_M2:"model:voice_styles/M2.json",voice_style_M3:"model:voice_styles/M3.json",voice_style_M4:"model:voice_styles/M4.json",voice_style_M5:"model:voice_styles/M5.json"},tensors:{weights:"model:ggml/supertonic.safetensors"}}]},fk={schema_version:1,family:"universr",display_name:"UniverSR",description:"Complex-STFT flow-matching audio super-resolution to 48 kHz.",category:"audio_tools",status:"supported",tasks:["s2s"],modes:["offline"],languages:["language_agnostic"],capabilities:{s2s:["audio_enhancement"]},runtime:{tags:["gguf"]},options:{request:[{name:"audio_chunk_duration_sec",type:"float",description:"Independent audio segments concatenated after inference; zero processes the whole file. Chunking changes global normalization context.",min:0,default:0,required:!1},{name:"input_sample_rate",type:"int",description:"Effective input bandwidth sample rate: 8000, 12000, 16000, or 24000 Hz.",required:!1},{name:"sampler_mode",type:"enum",description:"Fixed-step ODE integration method.",values:["euler","midpoint","rk4"],default:"midpoint",required:!1},{name:"num_inference_steps",type:"int",description:"ODE integration steps.",min:1,default:4,required:!1},{name:"guidance_scale",type:"float",description:"Classifier-free guidance scale; zero disables guidance.",min:0,default:1.5,required:!1},{name:"seed",type:"int",description:"Initial flow noise seed.",min:0,default:42,required:!1}],session:[{name:"weight_type",type:"enum",description:"Weight storage type; native preserves the GGUF tensor types.",preset:"weight_type_full",required:!1,default:"native"}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"universr_audio_orig",display_name:"UniverSR Audio GGUF F32",default:!0,format:"gguf",precision:"f32",target_directory:"UniverSR-GGUF",files:["UniverSR-GGUF/universr-audio-orig.gguf"],strip_prefix:"UniverSR-GGUF"},{id:"universr_speech_orig",display_name:"UniverSR Speech GGUF F32",format:"gguf",precision:"f32",target_directory:"UniverSR-GGUF",files:["UniverSR-GGUF/universr-speech-orig.gguf"],strip_prefix:"UniverSR-GGUF"}],dependencies:[],ui:{tags:["GGUF"],docs:[],recommended_package:"universr_audio_orig"},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json"},tensors:{weights:{source:"weights:",prefix:"weights"},frontend:{source:"weights:",prefix:"frontend"}}}]},pk={family:"vevo2",display_name:"Vevo2",description:"Unified controllable framework for English and Chinese speech and singing voice generation, voice conversion, and editing, with tokenizers that disentangle content, prosody, melody, style, and timbre.",category:"voice_conversion",status:"supported",tasks:["tts","music","vc","edit","svc","s2s"],modes:["offline"],languages:["en","zh"],capabilities:{music:["lyrics"],vc:["speaker_reference"],svc:["speaker_reference","singing"],s2s:["speaker_reference"],edit:["prompt_editing"]},runtime:{tags:["gguf"]},ui:{recommended_package:"vevo2_q8_0",tags:["TTS","Music","VC","Edit","GGUF"],docs:["docs/models/vevo2.md","docs/tts.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"vevo2_q8_0",display_name:"Vevo2 Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Vevo2-GGUF",files:["Vevo2-GGUF/vevo2-q8_0.gguf"],strip_prefix:"Vevo2-GGUF"},{id:"vevo2_f16",display_name:"Vevo2 F16 GGUF",format:"gguf",precision:"f16",target_directory:"Vevo2-GGUF",files:["Vevo2-GGUF/vevo2-f16.gguf"],strip_prefix:"Vevo2-GGUF"},{id:"vevo2_orig",display_name:"Vevo2 Original-Dtype GGUF",format:"gguf",precision:"orig",target_directory:"Vevo2-GGUF",files:["Vevo2-GGUF/vevo2-orig.gguf"],strip_prefix:"Vevo2-GGUF"}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{ar_config:"model:contentstyle_modeling/posttrained/config.json",ar_amphion_config:"model:contentstyle_modeling/posttrained/amphion_config.json",ar_generation_config:"model:contentstyle_modeling/posttrained/generation_config.json",ar_tokenizer_config:"model:contentstyle_modeling/posttrained/tokenizer_config.json",ar_tokenizer_json:"model:contentstyle_modeling/posttrained/tokenizer.json",ar_vocab:"model:contentstyle_modeling/posttrained/vocab.json",ar_merges:"model:contentstyle_modeling/posttrained/merges.txt",ar_added_tokens:"model:contentstyle_modeling/posttrained/added_tokens.json",ar_special_tokens:"model:contentstyle_modeling/posttrained/special_tokens_map.json",fm_config:"model:acoustic_modeling/fm_emilia101k_singnet7k_repa/config.json",fm_text_config:"model:acoustic_modeling/fm_emilia101k_singnet7k_repa_text/config.json",vocoder_config:"model:vocoder/config.json",whisper_config:"model:whisper-medium/config.json"},tensors:{content_style_tokenizer_weights:{source:"weights:",prefix:"content_style_tokenizer_weights"},prosody_tokenizer_weights:{source:"weights:",prefix:"prosody_tokenizer_weights"},ar_weights:{source:"weights:",prefix:"ar_weights"},fm_weights:{source:"weights:",prefix:"fm_weights"},fm_whisper_stats:{source:"weights:",prefix:"fm_whisper_stats"},fm_text_weights:{source:"weights:",prefix:"fm_text_weights"},fm_text_whisper_stats:{source:"weights:",prefix:"fm_text_whisper_stats"},vocoder_weights_0:{source:"weights:",prefix:"vocoder_weights_0"},vocoder_weights_1:{source:"weights:",prefix:"vocoder_weights_1"},vocoder_weights_2:{source:"weights:",prefix:"vocoder_weights_2"},whisper_weights:{source:"weights:",prefix:"whisper_weights"}}},{format:"safetensors",roots:{model:".",whisper:"../whisper-medium"},files:{ar_config:"model:contentstyle_modeling/posttrained/config.json",ar_amphion_config:"model:contentstyle_modeling/posttrained/amphion_config.json",ar_generation_config:"model:contentstyle_modeling/posttrained/generation_config.json",ar_tokenizer_config:"model:contentstyle_modeling/posttrained/tokenizer_config.json",ar_tokenizer_json:"model:contentstyle_modeling/posttrained/tokenizer.json",ar_vocab:"model:contentstyle_modeling/posttrained/vocab.json",ar_merges:"model:contentstyle_modeling/posttrained/merges.txt",ar_added_tokens:"model:contentstyle_modeling/posttrained/added_tokens.json",ar_special_tokens:"model:contentstyle_modeling/posttrained/special_tokens_map.json",fm_config:"model:acoustic_modeling/fm_emilia101k_singnet7k_repa/config.json",fm_text_config:"model:acoustic_modeling/fm_emilia101k_singnet7k_repa_text/config.json",vocoder_config:"model:vocoder/config.json",whisper_config:"whisper:config.json"},tensors:{content_style_tokenizer_weights:"model:tokenizer/contentstyle_fvq16384_12.5hz/model.safetensors",prosody_tokenizer_weights:"model:tokenizer/prosody_fvq512_6.25hz/model.safetensors",ar_weights:"model:contentstyle_modeling/posttrained/model.safetensors",fm_weights:"model:acoustic_modeling/fm_emilia101k_singnet7k_repa/model.safetensors",fm_whisper_stats:"model:acoustic_modeling/fm_emilia101k_singnet7k_repa/whisper_stats.safetensors",fm_text_weights:"model:acoustic_modeling/fm_emilia101k_singnet7k_repa_text/model.safetensors",fm_text_whisper_stats:"model:acoustic_modeling/fm_emilia101k_singnet7k_repa_text/whisper_stats.safetensors",vocoder_weights_0:"model:vocoder/model.safetensors",vocoder_weights_1:"model:vocoder/model_1.safetensors",vocoder_weights_2:"model:vocoder/model_2.safetensors",whisper_weights:"whisper:model.safetensors"}}]},mk={schema_version:1,family:"vibeasr",display_name:"VibeVoice-ASR-BitNet",description:"VibeASR.cpp's CPU-first VibeVoice ASR port: an INT8 (I8_S) audio VAE encoder feeding a ternary (I2_S) Qwen2 decoder, ported to audio.cpp.",category:"asr",status:"community",tasks:["asr"],modes:["offline"],languages:["en","zh","fr","it","ko","pt","vi"],capabilities:{},options:{request:[{name:"output_format",type:"enum",description:"Prompt suffix asked of the decoder: plain transcription text, or JSON rows with Start/End/Speaker/Content.",values:["text","json"],required:!1,default:"text"},{name:"context",type:"string",description:"Extra context injected into the prompt (names, jargon) to bias the transcription.",required:!1,default:""},{name:"max_new_tokens",type:"int",description:"Cap on decoded tokens for one request.",required:!1,min:1,default:1024}],session:[{name:"encoder_graph_arena_mb",type:"int",description:"VAE encoder graph arena size in MB.",required:!1,min:16,default:64},{name:"prefill_graph_arena_mb",type:"int",description:"Decoder prefill graph arena size in MB.",required:!1,min:16,default:256},{name:"decode_graph_arena_mb",type:"int",description:"Decoder single-step graph arena size in MB.",required:!1,min:16,default:256}],load:[]},runtime:{tags:["gguf","cpu"]},packages:[{id:"vibeasr_bitnet_i2_s",display_name:"VibeVoice-ASR-BitNet I8_S encoder + I2_S decoder",description:"Upstream VibeASR.cpp GGUF package. The two GGUFs carry the VibeASR ggml fork's type ids and need one pass of tools/community_models/convert_vibeasr_gguf.py --in-place before audio.cpp can load them.",default:!0,format:"gguf",precision:"native",target_directory:"VibeVoice-ASR-BitNet",files:["vibeasr-vae-encoder-i8_s.gguf","vibeasr-lm-i2_s-embed-q6_k.gguf","tokenizer.json","tokenizer_config.json"],download:{kind:"huggingface_snapshot",repo:"microsoft/VibeVoice-ASR-BitNet",revision:"main",gated:!1}}],dependencies:[],ui:{recommended_package:"vibeasr_bitnet_i2_s",tags:["ASR","GGUF"],docs:["docs/community_models/vibeasr.md"],summary:"INT8 encoder plus ternary Qwen2 decoder transcription on CPU."},sources:[{format:"gguf",roots:{model:"."},files:{tokenizer_json:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json"},optional_files:{},tensors:{vae_weights:"model:vibeasr-vae-encoder-i8_s.gguf",lm_weights:"model:vibeasr-lm-i2_s-embed-q6_k.gguf"}}]},gk={family:"vibevoice",display_name:"VibeVoice",description:"Microsoft long-form multi-speaker TTS model for expressive conversational audio such as podcasts, supporting up to 90 minutes of speech with as many as four speakers.",category:"tts",status:"supported",tasks:["tts"],modes:["offline"],languages:["en","zh"],capabilities:{tts:["multi_speaker","long_form"]},runtime:{tags:["gguf"]},ui:{recommended_package:"vibevoice_1_5b_q8_0",tags:["TTS","GGUF"],docs:["docs/tts.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"vibevoice_1_5b_q8_0",display_name:"VibeVoice 1.5B Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"VibeVoice-1.5B-GGUF",files:["VibeVoice-1.5B-GGUF/vibevoice-1.5b-q8_0.gguf"],strip_prefix:"VibeVoice-1.5B-GGUF"},{id:"vibevoice_1_5b_bf16",display_name:"VibeVoice 1.5B BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"VibeVoice-1.5B-GGUF",files:["VibeVoice-1.5B-GGUF/vibevoice-1.5b-bf16.gguf"],strip_prefix:"VibeVoice-1.5B-GGUF"},{id:"vibevoice_7b_q8_0",display_name:"VibeVoice 7B Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"VibeVoice-7B-GGUF",files:["vibevoice-7b-q8_0.gguf"],download:{kind:"huggingface_snapshot",repo:"audio-cpp/VibeVoice-7B-GGUF",revision:"main",gated:!1}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",preprocessor_config:"model:preprocessor_config.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_json:"model:tokenizer.json",tokenizer_vocab:"model:vocab.json",tokenizer_merges:"model:merges.txt"},tensors:{model_weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",preprocessor_config:"model:preprocessor_config.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_json:"model:tokenizer.json",tokenizer_vocab:"model:vocab.json",tokenizer_merges:"model:merges.txt"},tensors:{model_weights:"model:model.safetensors.index.json"}}]},hk={family:"vibevoice_asr",display_name:"VibeVoice ASR",description:"Microsoft long-form speech-to-text model that processes up to 60 minutes of audio in one pass and produces structured transcripts with speakers, timestamps, content, hotwords, and 50+ language support.",category:"asr",status:"supported",tasks:["asr"],modes:["offline"],languages:["auto","51 languages"],capabilities:{asr:["segments","speaker_turns","vad_chunking"]},runtime:{tags:["gguf"]},ui:{recommended_package:"vibevoice_asr_q8_0",tags:["ASR","GGUF"],docs:["docs/asr.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"vibevoice_asr_q8_0",display_name:"VibeVoice ASR Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"VibeVoice-ASR-GGUF",files:["VibeVoice-ASR-GGUF/vibevoice-asr-q8_0.gguf"],strip_prefix:"VibeVoice-ASR-GGUF"},{id:"vibevoice_asr_f16",display_name:"VibeVoice ASR F16 GGUF",format:"gguf",precision:"f16",target_directory:"VibeVoice-ASR-GGUF",files:["VibeVoice-ASR-GGUF/vibevoice-asr-f16.gguf"],strip_prefix:"VibeVoice-ASR-GGUF"}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_json:"model:tokenizer.json",tokenizer_vocab:"model:vocab.json",tokenizer_merges:"model:merges.txt"},optional_files:{preprocessor_config:"model:preprocessor_config.json"},tensors:{model_weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_json:"model:tokenizer.json",tokenizer_vocab:"model:vocab.json",tokenizer_merges:"model:merges.txt"},optional_files:{preprocessor_config:"model:preprocessor_config.json"},tensors:{model_weights:"model:model.safetensors.index.json"}}]},_k={family:"vibevoice_asr_streaming",display_name:"VibeVoice ASR Streaming",description:"Microsoft VibeVoice ASR Streaming models (7B and 1.5B) for chunked streaming speech-to-text with persistent decoder state.",category:"asr",status:"supported",tasks:["asr"],modes:["offline","streaming"],languages:["en","zh","es","pt","de","ja","ko","fr","ru","it"],capabilities:{asr:["speaker_turns","vad_chunking"]},options:{request:[{name:"language",type:"string",description:"ASR language label.",required:!1,default:"auto"},{name:"context",type:"string",description:"Extra context or hotwords injected into the streaming prompt.",required:!1,default:""},{name:"max_tokens",type:"int",description:"Maximum generated transcript tokens per chunk.",required:!1,min:1,default:256},{name:"temperature",type:"float",description:"Sampling temperature; 0 uses deterministic decoding.",required:!1,min:0,default:0},{name:"top_p",type:"float",description:"Nucleus sampling probability.",required:!1,min:.001,max:1,default:1},{name:"top_k",type:"int",description:"Top-k sampling limit; 0 disables top-k filtering.",required:!1,min:0,default:0},{name:"num_beams",type:"int",description:"Beam count for deterministic beam search.",required:!1,min:1,default:1},{name:"repetition_penalty",type:"float",description:"Generation repetition penalty.",required:!1,min:.001,default:1},{name:"seed",type:"int",description:"Acoustic latent sampling seed.",required:!1,default:42},{name:"audio_chunk_mode",type:"enum",description:"Offline audio chunking mode: auto, fixed, vad, or none.",values:["auto","fixed","vad","none"],required:!1,default:"auto"},{name:"audio_chunk_duration_sec",type:"float",description:"Audio chunk duration in seconds for fixed and VAD chunking.",required:!1,min:.001,default:1200}]},runtime:{tags:["gguf"]},ui:{recommended_package:"vibevoice_asr_streaming_7b_q8_0",tags:["ASR","Streaming","GGUF"],docs:["docs/asr.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/VibeVoice-ASR-Streaming-7B-GGUF",revision:"main",gated:!1}},packages:[{id:"vibevoice_asr_streaming_7b_q8_0",display_name:"VibeVoice ASR Streaming 7B Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"VibeVoice-ASR-Streaming-7B-GGUF",files:["vibevoice-asr-streaming-7b-q8_0.gguf"]},{id:"vibevoice_asr_streaming_7b_bf16",display_name:"VibeVoice ASR Streaming 7B BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"VibeVoice-ASR-Streaming-7B-GGUF",files:["vibevoice-asr-streaming-7b-bf16.gguf"]},{id:"vibevoice_asr_streaming_7b_q4_k",display_name:"VibeVoice ASR Streaming 7B Q4_K GGUF",format:"gguf",precision:"q4_k",target_directory:"VibeVoice-ASR-Streaming-7B-GGUF",files:["vibevoice-asr-streaming-7b-q4_k.gguf"]},{id:"vibevoice_asr_streaming_1_5b_q8_0",display_name:"VibeVoice ASR Streaming 1.5B Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"VibeVoice-ASR-Streaming-1.5B-GGUF",files:["vibevoice-asr-streaming-1.5b-q8_0.gguf"],download:{kind:"huggingface_snapshot",repo:"christopherthompson81/VibeVoice-ASR-Streaming-1.5B-GGUF",revision:"main",gated:!1}},{id:"vibevoice_asr_streaming_1_5b_bf16",display_name:"VibeVoice ASR Streaming 1.5B BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"VibeVoice-ASR-Streaming-1.5B-GGUF",files:["vibevoice-asr-streaming-1.5b-bf16.gguf"],download:{kind:"huggingface_snapshot",repo:"christopherthompson81/VibeVoice-ASR-Streaming-1.5B-GGUF",revision:"main",gated:!1}},{id:"vibevoice_asr_streaming_1_5b_q4_k",display_name:"VibeVoice ASR Streaming 1.5B Q4_K GGUF",format:"gguf",precision:"q4_k",target_directory:"VibeVoice-ASR-Streaming-1.5B-GGUF",files:["vibevoice-asr-streaming-1.5b-q4_k.gguf"],download:{kind:"huggingface_snapshot",repo:"christopherthompson81/VibeVoice-ASR-Streaming-1.5B-GGUF",revision:"main",gated:!1}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_json:"model:tokenizer.json",tokenizer_vocab:"model:vocab.json",tokenizer_merges:"model:merges.txt"},optional_files:{preprocessor_config:"model:preprocessor_config.json"},tensors:{model_weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_json:"model:tokenizer.json",tokenizer_vocab:"model:vocab.json",tokenizer_merges:"model:merges.txt"},optional_files:{preprocessor_config:"model:preprocessor_config.json"},tensors:{model_weights:"model:model.safetensors.index.json"}}]},vk={family:"vietneu_tts",display_name:"VieNeu-TTS v3 Turbo",description:"On-device Vietnamese TTS model with instant voice cloning from 3-5 seconds of reference audio, English-Vietnamese code-switching, streaming playback, batched generation, and conversation mode.",category:"tts",status:"community",tasks:["tts","clone"],modes:["offline"],languages:["vi","en"],capabilities:{clone:["speaker_reference"]},runtime:{tags:["gguf"]},ui:{recommended_package:"vietneu_tts_v3_turbo_q8_0",tags:["TTS","Clone","GGUF"],docs:["docs/community_models/vietneu_tts.md","docs/tts.md","docs/gguf.md"]},packages:[{id:"vietneu_tts_v3_turbo_q8_0",display_name:"VieNeu-TTS v3 Turbo GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"VieNeu-TTS-v3-Turbo-GGUF",files:["model.gguf"],strip_prefix:".",download:{kind:"huggingface_snapshot",repo:"phuocnguyen90/VieNeu-TTS-v3-Turbo-GGUF"}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_config:"model:tokenizer_config.json",speech_tokenizer_config:"model:speech_tokenizer/config.json"},optional_files:{generation_config:"model:generation_config.json",vocab:"model:vocab.json",merges:"model:merges.txt",tokenizer_json:"model:tokenizer.json",special_tokens_map:"model:special_tokens_map.json"},tensors:{model_weights:{source:"weights:",prefix:"model_weights"},speech_tokenizer_weights:{source:"weights:",prefix:"speech_tokenizer_weights"}}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",tokenizer_config:"model:tokenizer_config.json",speech_tokenizer_config:"model:speech_tokenizer/config.json"},optional_files:{generation_config:"model:generation_config.json",vocab:"model:vocab.json",merges:"model:merges.txt",tokenizer_json:"model:tokenizer.json",special_tokens_map:"model:special_tokens_map.json"},tensors:{model_weights:"model:model.safetensors",speech_tokenizer_weights:"model:speech_tokenizer/model.safetensors"}}]},bk={schema_version:1,family:"voxcpm1",display_name:"VoxCPM1",description:"OpenBMB VoxCPM 0.5B tokenizer-free TTS model supporting short-reference voice cloning and streaming output (16kHz).",category:"tts",status:"supported",tasks:["tts","clone"],modes:["offline","streaming"],languages:["zh","en","ja","ko"],capabilities:{clone:["speaker_reference"]},dependencies:[],options:{request:[{name:"text_chunk_mode",type:"enum",description:"Text chunking mode; default tag_aware.",preset:"text_chunk_mode_full",required:!1,default:"tag_aware"},{name:"seed",type:"int",description:"Random seed for MiniCPM and diffusion sampling.",required:!1},{name:"max_tokens",type:"int",description:"Maximum MiniCPM output tokens.",required:!1,default:1024},{name:"min_tokens",type:"int",description:"Minimum MiniCPM output tokens before an EOS stop is honored.",required:!1,default:0},{name:"num_inference_steps",type:"int",description:"CFM diffusion sampling steps.",required:!1,default:50},{name:"guidance_scale",type:"float",description:"CFM classifier-free guidance rate.",required:!1,default:2},{name:"retry_badcase",type:"bool",description:"Retry the request when generation is detected as a bad case.",required:!1,default:!0},{name:"retry_badcase_max_times",type:"int",description:"Maximum bad-case retry count.",required:!1,default:2},{name:"retry_badcase_ratio_threshold",type:"float",description:"Bad-case ratio threshold for retry decisions.",required:!1},{name:"prompt_text",type:"string",description:"Text prompt for prompt-continuation voice cloning.",required:!1},{name:"reference_text",type:"string",description:"Alias for prompt_text; text prompt for prompt-continuation voice cloning.",required:!1}],session:[{name:"mem_saver",type:"bool",description:"Use tighter graph workspaces and release request runtime graphs; default false.",required:!1,default:!1},{name:"prompt_cache_slots",type:"int",description:"Prompt and prompt-audio embedding cache slots; default 1.",required:!1,default:1},{name:"weight_type",type:"enum",description:"Model weight storage type.",preset:"weight_type_full",required:!1,default:"native"},{name:"audiovae_weight_type",type:"enum",description:"AudioVAE weight storage type.",preset:"weight_type_full",required:!1,default:"native"},{name:"weight_context_mb",type:"int",description:"Model weight graph context size in MB.",required:!1},{name:"text_embedding_graph_context_mb",type:"int",description:"Text embedding graph context size in MB.",required:!1},{name:"lm_step_graph_context_mb",type:"int",description:"LM step graph context size in MB.",required:!1},{name:"projection_graph_context_mb",type:"int",description:"Projection graph context size in MB.",required:!1},{name:"local_encoder_graph_context_mb",type:"int",description:"Local encoder graph context size in MB.",required:!1},{name:"dit_graph_context_mb",type:"int",description:"DiT estimator graph context size in MB.",required:!1},{name:"audiovae_weight_context_mb",type:"int",description:"AudioVAE weight graph context size in MB.",required:!1},{name:"audiovae_graph_context_mb",type:"int",description:"AudioVAE decoder graph context size in MB.",required:!1},{name:"audiovae_encoder_graph_context_mb",type:"int",description:"AudioVAE encoder graph context size in MB.",required:!1},{name:"audiovae_latent_capacity",type:"int",description:"AudioVAE decoder latent frame capacity.",required:!1},{name:"audiovae_encoder_sample_capacity",type:"int",description:"AudioVAE encoder sample capacity.",required:!1}],load:[{name:"weight_type",type:"enum",description:"Model weight storage type selected at load time.",preset:"weight_type_full",required:!1,default:"native"},{name:"audiovae_weight_type",type:"enum",description:"AudioVAE weight storage type selected at load time.",preset:"weight_type_full",required:!1,default:"native"}]},runtime:{tags:["gguf","stream"]},ui:{recommended_package:"voxcpm1_0_5b_q8_0",tags:["TTS","Clone","GGUF","Stream"],docs:["docs/tts.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"voxcpm1_0_5b_q8_0",display_name:"VoxCPM 0.5B Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"VoxCPM1-GGUF",files:["VoxCPM1-GGUF/voxcpm-0.5b-q8_0-audiovae-f16.gguf"],strip_prefix:"VoxCPM1-GGUF"}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_json:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json"},optional_files:{special_tokens_map:"model:special_tokens_map.json"},tensors:{weights:{source:"weights:"},audiovae_weights:{source:"weights:"}}}]},yk={family:"voxcpm2",display_name:"VoxCPM2",description:"OpenBMB tokenizer-free TTS model supporting 30 languages and 9 Chinese dialects, with 48 kHz output, natural-language voice design, controllable short-reference voice cloning, and expressive style guidance.",category:"tts",status:"supported",tasks:["tts","clone","design"],modes:["offline","streaming"],languages:["ar","my","zh","zh dialects","da","nl","en","fi","fr","de","el","he","hi","id","it","ja","km","ko","lo","ms","no","pl","pt","ru","es","sw","sv","tl","th","tr","vi"],capabilities:{clone:["speaker_reference"],design:["voice_design"]},runtime:{tags:["gguf","stream"]},ui:{recommended_package:"voxcpm2_q8_0",tags:["TTS","Clone","Design","GGUF","Stream"],docs:["docs/tts.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"voxcpm2_q8_0",display_name:"VoxCPM2 Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"VoxCPM2-GGUF",files:["VoxCPM2-GGUF/voxcpm2-q8_0.gguf"],strip_prefix:"VoxCPM2-GGUF"},{id:"voxcpm2_bf16",display_name:"VoxCPM2 BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"VoxCPM2-GGUF",files:["VoxCPM2-GGUF/voxcpm2-bf16.gguf"],strip_prefix:"VoxCPM2-GGUF"},{id:"voxcpm2_orig",display_name:"VoxCPM2 Original-Dtype GGUF",format:"gguf",precision:"orig",target_directory:"VoxCPM2-GGUF",files:["VoxCPM2-GGUF/voxcpm2-orig.gguf"],strip_prefix:"VoxCPM2-GGUF"},{id:"voxcpm2_safetensors",display_name:"VoxCPM2 Safetensors",format:"safetensors",precision:"native",target_directory:"VoxCPM2",files:["config.json","model.safetensors","tokenizer.json","tokenizer_config.json"],download:{kind:"huggingface_snapshot",repo:"OpenBMB/VoxCPM2"}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_json:"model:tokenizer.json",special_tokens_map:"model:special_tokens_map.json"},tensors:{weights:{source:"weights:",prefix:"weights"},audiovae_weights:{source:"weights:",prefix:"audiovae_weights"}}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_json:"model:tokenizer.json",special_tokens_map:"model:special_tokens_map.json"},tensors:{weights:"model:model.safetensors",audiovae_weights:"model:audiovae.safetensors"}}]},kk={family:"voxtral_realtime",display_name:"Voxtral Mini 4B Realtime",description:"Mistral 13-language realtime ASR model with a natively streaming causal audio encoder, configurable low-latency transcription delay, and accuracy competitive with offline open-source systems.",category:"asr",status:"supported",tasks:["asr"],modes:["offline","streaming"],languages:["en","zh","hi","es","ar","fr","pt","ru","de","ja","ko","it","nl"],capabilities:{asr:["partial_results"]},runtime:{tags:["gguf","stream"]},ui:{recommended_package:"voxtral_realtime_q8_0",tags:["ASR","GGUF","Stream"],docs:["docs/models/voxtral_realtime.md","docs/asr.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"voxtral_realtime_q8_0",display_name:"Voxtral Mini 4B Realtime Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Voxtral-Mini-4B-Realtime-2602-GGUF",files:["Voxtral-Mini-4B-Realtime-2602-GGUF/voxtral-mini-4b-realtime-2602-q8_0.gguf"],strip_prefix:"Voxtral-Mini-4B-Realtime-2602-GGUF"},{id:"voxtral_realtime_q4_k",display_name:"Voxtral Mini 4B Realtime Q4_K GGUF",format:"gguf",precision:"q4_k",target_directory:"Voxtral-Mini-4B-Realtime-2602-GGUF",files:["Voxtral-Mini-4B-Realtime-2602-GGUF/voxtral-mini-4b-realtime-2602-q4_k.gguf"],strip_prefix:"Voxtral-Mini-4B-Realtime-2602-GGUF"},{id:"voxtral_realtime_bf16",display_name:"Voxtral Mini 4B Realtime BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"Voxtral-Mini-4B-Realtime-2602-GGUF",files:["Voxtral-Mini-4B-Realtime-2602-GGUF/voxtral-mini-4b-realtime-2602-bf16.gguf"],strip_prefix:"Voxtral-Mini-4B-Realtime-2602-GGUF"}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",generation_config:"model:generation_config.json",processor_config:"model:processor_config.json",tekken:"model:tekken.json"},optional_files:{params:"model:params.json",readme:"model:README.md"},tensors:{weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",generation_config:"model:generation_config.json",processor_config:"model:processor_config.json",tekken:"model:tekken.json"},optional_files:{params:"model:params.json",readme:"model:README.md"},tensors:{weights:"model:model.safetensors"}}]},wk={schema_version:1,family:"yue2",display_name:"YuE2",description:"YuE2 music generation model with symbolic ABC planning, semantic codec generation, NAR acoustic flow synthesis, and Oobleck VAE decode.",category:"audio_generation",status:"supported",tasks:["music"],modes:["offline"],languages:["en"],capabilities:{music:["lyrics","style_control"]},runtime:{tags:["gguf"]},dependencies:[],ui:{recommended_package:"yue2_main_q8_0",tags:["Music","GGUF"],docs:["docs/models/yue2.md","docs/music_generation.md","docs/gguf.md"]},options:{request:[{name:"style",type:"string",description:"Song style/tags.",required:!0},{name:"lyrics",type:"string",description:"Lyrics text. If omitted, the CLI text input is used.",required:!0},{name:"cot",type:"enum",values:["off","melody","full"],description:"Symbolic planning route. off skips ABC generation; melody/full generate or consume ABC before music tokens.",required:!1,default:"full"},{name:"abc",type:"string",description:"External ABC score text for melody/full routes.",required:!1},{name:"abc_file",type:"string",description:"Path to an external ABC score file for melody/full routes.",required:!1},{name:"nar_noise_file",type:"string",description:"Path to a raw float32 noise file for NAR generation, shaped [frames,64].",required:!1},{name:"guidance_scale",type:"float",description:"Semantic classifier-free guidance scale. Default follows the upstream route defaults.",required:!1,min:0,max:20},{name:"seed",type:"int",description:"Generation seed.",required:!1,min:0,default:1234},{name:"num_inference_steps",type:"int",description:"NAR midpoint ODE steps.",required:!1,min:1,default:8},{name:"abc_temperature",type:"float",description:"ABC planner sampling temperature.",required:!1,min:0,max:5},{name:"abc_top_p",type:"float",description:"ABC planner nucleus sampling probability.",required:!1,min:0,max:1},{name:"abc_top_k",type:"int",description:"ABC planner top-k sampling limit.",required:!1,min:1},{name:"abc_repetition_penalty",type:"float",description:"ABC planner repetition penalty.",required:!1,min:.001},{name:"abc_penalty_window",type:"int",description:"ABC planner repetition penalty window.",required:!1,min:1},{name:"abc_min_tokens",type:"int",description:"Minimum ABC planner tokens before EOS is accepted.",required:!1,min:0},{name:"abc_max_tokens",type:"int",description:"Maximum ABC planner tokens.",required:!1,min:1},{name:"semantic_temperature",type:"float",description:"Semantic codec sampling temperature.",required:!1,min:0,max:5},{name:"semantic_top_p",type:"float",description:"Semantic codec nucleus sampling probability.",required:!1,min:0,max:1},{name:"semantic_top_k",type:"int",description:"Semantic codec top-k sampling limit.",required:!1,min:1},{name:"semantic_repetition_penalty",type:"float",description:"Semantic codec repetition penalty.",required:!1,min:.001},{name:"semantic_penalty_window",type:"int",description:"Semantic codec repetition penalty window.",required:!1,min:1},{name:"semantic_min_tokens",type:"int",description:"Minimum semantic tokens before EOS is accepted.",required:!1,min:0},{name:"semantic_max_tokens",type:"int",description:"Maximum semantic codec tokens.",required:!1,min:1}],session:[{name:"ar_lora",type:"string",description:"Unfused AR LoRA safetensors file. Absolute path or relative to the model root. Requires session reload.",required:!1},{name:"ar_lora_scale",type:"float",description:"AR LoRA delta scale; zero disables the adapter. Requires session reload.",required:!1,default:1},{name:"nar_lora",type:"string",description:"Unfused NAR adapter safetensors file. Absolute path or relative to the model root. Requires session reload.",required:!1},{name:"nar_lora_scale",type:"float",description:"NAR LoRA delta scale; full vae2llm/llm2vae replacements are unscaled. Zero disables the entire adapter. Requires session reload.",required:!1,default:1},{name:"weight_type",type:"enum",values:["native","f32","f16","bf16","q8_0","q4_0","q4_k"],description:"Shared weight storage type.",required:!1,default:"native"},{name:"model_weight_type",type:"enum",values:["native","f32","f16","bf16","q8_0","q4_0","q4_k"],description:"YuE2 MoT weight storage type.",required:!1,default:"native"},{name:"model_gguf",type:"string",description:"Yue2 main AR/NAR component GGUF file relative to the model root.",required:!1,default:"yue2-3b-q8_0.gguf"},{name:"vae_gguf",type:"string",description:"Yue2 VAE component GGUF file relative to the model root.",required:!1,default:"yue2-vae-f16.gguf"},{name:"vae_weight_type",type:"enum",values:["native","f32","f16","bf16","q8_0","q4_0","q4_k"],description:"YuE2 VAE weight storage type.",required:!1,default:"native"},{name:"model_weight_context_mb",type:"int",description:"YuE2 MoT weight context size in MiB.",required:!1,min:1,default:6144},{name:"vae_weight_context_mb",type:"int",description:"YuE2 VAE weight context size in MiB.",required:!1,min:1,default:1536},{name:"ar_prefill_graph_arena_mb",type:"int",description:"AR prefill graph arena size in MiB.",required:!1,min:1,default:4096},{name:"ar_decode_graph_arena_mb",type:"int",description:"AR one-token decode graph arena size in MiB.",required:!1,min:1,default:1536},{name:"nar_graph_arena_mb",type:"int",description:"NAR acoustic flow graph arena size in MiB.",required:!1,min:1,default:6144},{name:"vae_graph_arena_mb",type:"int",description:"VAE decode graph arena size in MiB.",required:!1,min:1,default:1536}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/Yue2-3B-GGUF",revision:"main",gated:!1}},packages:[{id:"yue2_main_q8_0",display_name:"Yue2 3B Main Q8_0",default:!0,format:"gguf",precision:"q8_0",target_directory:"Yue2-3B-GGUF",files:["sidecars/yue2-model-config.json","sidecars/yue2-generation-config.json","sidecars/yue2-qwen.tiktoken","sidecars/yue2-vae-config.json","yue2-3b-q8_0.gguf"]},{id:"yue2_main_bf16",display_name:"Yue2 3B Main BF16",format:"gguf",precision:"bf16",target_directory:"Yue2-3B-GGUF",files:["sidecars/yue2-model-config.json","sidecars/yue2-generation-config.json","sidecars/yue2-qwen.tiktoken","sidecars/yue2-vae-config.json","yue2-3b-bf16.gguf"]},{id:"yue2_main_q4_0",display_name:"Yue2 3B Main Q4_0",format:"gguf",precision:"q4_0",target_directory:"Yue2-3B-GGUF",files:["sidecars/yue2-model-config.json","sidecars/yue2-generation-config.json","sidecars/yue2-qwen.tiktoken","sidecars/yue2-vae-config.json","yue2-3b-q4_0.gguf"]},{id:"yue2_vae_f16",display_name:"Yue2 VAE F16",format:"gguf",precision:"f16",target_directory:"Yue2-3B-GGUF",files:["sidecars/yue2-model-config.json","sidecars/yue2-generation-config.json","sidecars/yue2-qwen.tiktoken","sidecars/yue2-vae-config.json","yue2-vae-f16.gguf"]},{id:"yue2_vae_f32",display_name:"Yue2 VAE F32",format:"gguf",precision:"f32",target_directory:"Yue2-3B-GGUF",files:["sidecars/yue2-model-config.json","sidecars/yue2-generation-config.json","sidecars/yue2-qwen.tiktoken","sidecars/yue2-vae-config.json","yue2-vae-f32.gguf"]}],sources:[{format:"gguf",roots:{model:"."},files:{model_config:"model:sidecars/yue2-model-config.json",generation_config:"model:sidecars/yue2-generation-config.json",tiktoken:"model:sidecars/yue2-qwen.tiktoken",vae_config:"model:sidecars/yue2-vae-config.json"}},{format:"safetensors",roots:{model:"YuE2-3B",vae:"YuE2-Vae"},files:{model_config:"model:config.json",generation_config:"model:yue2_generation_config.json",tiktoken:"model:qwen.tiktoken",vae_config:"vae:config.json"},tensors:{model_weights:"model:model.safetensors",vae_weights:"vae:model.safetensors"}}]},xk={schema_version:1,family:"zipvoice",display_name:"ZipVoice",description:"Community ZipVoice / ZipVoice-Distill flow-matching TTS with a TTSZipformer backbone (U-Net downsampling stacks, compact relative position attention), duration prediction from prompt ratio, Euler solver with t-shift and classifier-free guidance, and Vocos mel-24kHz vocoder (k2-fsa/ZipVoice).",category:"tts",status:"community",tasks:["tts","clone"],modes:["offline"],languages:["en","zh"],runtime:{tags:["server"]},capabilities:{clone:["speaker_reference"]},options:{request:[{name:"reference_text",type:"string",description:"Transcript matching the reference voice audio; required for zero-shot cloning.",required:!0},{name:"guidance_scale",type:"float",description:"Classifier-free guidance scale; default 3.0 for ZipVoice-Distill (guidance-scale embedding), 1.0 for ZipVoice (batched CFG). 0 disables guidance.",required:!1,min:0,max:10,default:3},{name:"num_inference_steps",type:"int",description:"Euler ODE steps; default 8 for ZipVoice-Distill, 16 for ZipVoice.",required:!1,min:1,max:64,default:8},{name:"t_shift",type:"float",description:"Shift timesteps toward low SNR (smaller = stronger shift); default 0.5.",required:!1,min:.05,max:1,default:.5},{name:"speed",type:"float",description:"Speech speed multiplier applied through the prompt-duration ratio; default 1.0.",required:!1,min:.5,max:2,default:1},{name:"feat_scale",type:"float",description:"Feature scale applied to log-mel features; default 0.1 (reference default).",required:!1,min:.01,max:1,default:.1},{name:"target_rms",type:"float",description:"Target RMS for prompt loudness normalization; 0 disables. Default 0.1.",required:!1,min:0,max:1,default:.1},{name:"seed",type:"int",description:"Noise seed; default 666 (reference default).",required:!1,min:0,default:666},{name:"lang",type:"string",description:"espeak language for phonemization; default en-us.",required:!1,default:"en-us"}],session:[{name:"vocos_path",type:"string",description:"Path to the Vocos vocoder checkpoint (vocos.safetensors or GGUF); required unless bundled in the model GGUF or placed next to the checkpoint.",required:!1},{name:"guidance_scale",type:"float",description:"Default guidance scale for requests that do not set it.",required:!1,min:0,max:10,default:3},{name:"num_inference_steps",type:"int",description:"Default Euler steps for requests that do not set it.",required:!1,min:1,max:64,default:8},{name:"t_shift",type:"float",description:"Default timestep shift for requests that do not set it.",required:!1,min:.05,max:1,default:.5},{name:"espeak_library_path",type:"string",description:"Path to the espeak-ng shared library (e.g. /opt/homebrew/lib/libespeak-ng.dylib) for tokenizer=espeak.",required:!1},{name:"espeak_data_path",type:"string",description:"Path to the espeak-ng data directory or package for tokenizer=espeak.",required:!1}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"davidxifeng/zipvoice-gguf",revision:"main",gated:!1}},packages:[{id:"zipvoice_distill_gguf",display_name:"ZipVoice-Distill GGUF (local conversion)",description:"Self-contained GGUF: flow-matching model, bundled Vocos vocoder and the embedded text-frontend sidecars (tokens, config, zh tables) in one file. Converted from k2-fsa/ZipVoice with export_zipvoice_zh_dict.py + convert_zipvoice.py.",default:!0,format:"gguf",precision:"orig",target_directory:"ZipVoice-Distill-GGUF",files:["zipvoice-distill-orig.gguf"]},{id:"zipvoice_distill_q8_0",display_name:"ZipVoice-Distill GGUF (Q8_0)",description:"Self-contained Q8_0 GGUF with bundled Vocos and embedded text-frontend sidecars.",format:"gguf",precision:"q8_0",target_directory:"ZipVoice-Distill-GGUF",files:["zipvoice-distill-q8_0.gguf"]}],dependencies:[],ui:{recommended_package:"zipvoice_distill_gguf",tags:["TTS","Clone"],docs:["docs/community_models/zipvoice.md"]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{tokens:"model:tokens.txt",model_config:"model:model.json"},optional_files:{zh_chars:"model:zh_chars.tsv",zh_phrases:"model:zh_phrases.tsv",zh_syllables:"model:zh_syllables.tsv",zh_jieba_dict:"model:zh_jieba_dict.txt",zh_hmm_model:"model:zh_hmm_model.txt"},tensors:{model:{source:"weights:",prefix:"model"}},optional_tensors:{vocos_vocoder:{source:"weights:",prefix:"vocos"}}}]},Sk={models:JSON.parse('[{"id":"omnivoice","display_name":"OmniVoice (tts)","family":"omnivoice","path":"models/OmniVoice","task":"tts","mode":"offline","download_id":"omnivoice","min_vram_gb":10},{"id":"pocket-tts","display_name":"Pocket TTS (tts)","family":"pocket_tts","path":"models/pocket-tts","task":"tts","mode":"offline","download_id":"pocket_tts","min_vram_gb":2},{"id":"dots-tts-soar","display_name":"DotTTS SOAR (tts + clone)","family":"dots_tts","path":"models/DotTTS-SOAR-GGUF","task":"tts","mode":"offline","download_id":"dots_tts_soar_q8_0","min_vram_gb":8},{"id":"dots-tts-meanflow","display_name":"DotTTS MeanFlow (tts + clone)","family":"dots_tts","path":"models/DotTTS-MF-GGUF","task":"tts","mode":"offline","download_id":"dots_tts_mf_q8_0","min_vram_gb":8},{"id":"neutts-2e","display_name":"NeuTTS 2E (tts, preset voices)","family":"neutts","path":"models/NeuTTS-2E-GGUF","task":"tts","mode":"offline","download_id":"neutts_2e_orig","min_vram_gb":4},{"id":"kokoro-tts","display_name":"Kokoro 82M (tts, preset voices)","family":"kokoro_tts","path":"models/Kokoro-82M-GGUF/kokoro-82m-q8_0.gguf","task":"tts","mode":"offline","download_id":"kokoro_82m_q8_0","min_vram_gb":1,"input_hint_en":"**Kokoro 82M**: multilingual TTS with built-in preset voices. Choose a language and voice; no reference audio is needed."},{"id":"qwen3-tts","display_name":"Qwen3-TTS 0.6B (tts)","family":"qwen3_tts","path":"models/Qwen3-TTS-12Hz-0.6B-Base","task":"tts","mode":"offline","download_id":"qwen3_tts_0_6b_base","min_vram_gb":5},{"id":"qwen3-tts-1.7b","display_name":"Qwen3-TTS 1.7B Base (tts)","family":"qwen3_tts","path":"models/Qwen3-TTS-12Hz-1.7B-Base","task":"tts","mode":"offline","download_id":"qwen3_tts_1_7b_base","min_vram_gb":8},{"id":"qwen3-tts-1.7b-custom","display_name":"Qwen3-TTS 1.7B CustomVoice (tts)","family":"qwen3_tts","path":"models/Qwen3-TTS-12Hz-1.7B-CustomVoice","task":"tts","mode":"offline","download_id":"qwen3_tts_1_7b_custom_voice","min_vram_gb":8},{"id":"breeze-tts","display_name":"BreezeTTS 2 VoiceDesign","family":"breeze_tts","path":"models/Breeze-TTS-2-GGUF/breeze-tts-2-q8_0.gguf","task":"vdes","mode":"offline","download_id":"breeze_tts_2_q8_0","min_vram_gb":8,"input_hint_en":"**BreezeTTS 2 VoiceDesign**: enter text and describe the target voice in Model parameters. No reference voice is required."},{"id":"breeze-tts-clone","display_name":"BreezeTTS 2 Clone","family":"breeze_tts","path":"models/Breeze-TTS-2-GGUF/breeze-tts-2-q8_0.gguf","task":"clon","mode":"offline","download_id":"breeze_tts_2_q8_0","min_vram_gb":8,"input_hint_en":"**BreezeTTS 2 Clone**: upload a reference voice and provide the matching reference transcript."},{"id":"cosyvoice3","display_name":"CosyVoice3 Clone","family":"cosyvoice3","path":"models/CosyVoice3-GGUF/cosyvoice3-q8_0.gguf","task":"clon","mode":"offline","download_id":"cosyvoice3_q8_0","min_vram_gb":8,"input_hint_en":"**CosyVoice3 Clone**: upload a reference voice and provide the matching reference transcript. Use `template_name` for zero-shot or cross-lingual requests."},{"id":"cosyvoice3-instruct","display_name":"CosyVoice3 Instruct","family":"cosyvoice3","path":"models/CosyVoice3-GGUF/cosyvoice3-q8_0.gguf","task":"tts","mode":"offline","download_id":"cosyvoice3_q8_0","min_vram_gb":8,"input_hint_en":"**CosyVoice3 Instruct**: upload a reference voice, provide its transcript, and set `template_name=instruct` with an instruction."},{"id":"miotts","display_name":"MioTTS 1.7B (tts; needs MioCodec)","family":"miotts","path":"models/MioTTS-1.7B","task":"tts","mode":"offline","download_id":"miotts_1_7b","min_vram_gb":8},{"id":"sopro-tts","display_name":"Sopro V2 Turbo (tts + clone)","family":"sopro_tts","path":"models/sopro-v2-turbo","task":"tts","mode":"offline","download_id":"sopro_v2_turbo_safetensors","min_vram_gb":2,"request_options":["language","temperature","top_p","top_k","num_inference_steps","max_seconds","min_seconds","ref_seconds","text_chunk_size","seed"]},{"id":"soprano-tts","display_name":"Soprano TTS (tts)","family":"soprano_tts","path":"models/Soprano-1.1-80M-GGUF","task":"tts","mode":"offline","download_id":"soprano_1_1_80m_q8_0","min_vram_gb":1},{"id":"sanotts","display_name":"sanoTTS voice family (tts, community)","family":"sanotts","path":"models/sanoTTS-heart-nano-GGUF/heart-nano-f32.gguf","task":"tts","mode":"offline","download_id":"sanotts_heart_nano_orig","min_vram_gb":1},{"id":"voxcpm2","display_name":"VoxCPM2 (tts)","family":"voxcpm2","path":"models/VoxCPM2","task":"tts","mode":"offline","download_id":"voxcpm2","session_options":{"voxcpm2.weight_type":"q8_0"},"min_vram_gb":6},{"id":"voxcpm1","display_name":"VoxCPM1 0.5B (tts + clone)","family":"voxcpm1","path":"models/VoxCPM1-GGUF","task":"tts","mode":"offline","download_id":"voxcpm1_0_5b_q8_0","min_vram_gb":4},{"id":"vibevoice","display_name":"VibeVoice 1.5B/7B (tts, long-form/multi-speaker)","family":"vibevoice","path":"models/VibeVoice-1.5B","task":"tts","mode":"offline","download_id":"vibevoice_1_5b","min_vram_gb":7},{"id":"vibevoice-7b","display_name":"VibeVoice 7B (tts, long-form/multi-speaker)","family":"vibevoice","path":"models/VibeVoice-7B-GGUF","task":"tts","mode":"offline","download_id":"vibevoice_7b_q8_0","min_vram_gb":16},{"id":"index-tts2","display_name":"IndexTTS2 (tts 中英克隆+情感)","display_name_en":"IndexTTS2 (tts, zh/en clone + emotion)","family":"index_tts2","path":"models/IndexTTS-2","task":"tts","mode":"offline","download_id":"index_tts2","min_vram_gb":8},{"id":"index-tts2.5","display_name":"IndexTTS2.5 (tts 多语种克隆+情感, GGUF Q8)","display_name_en":"IndexTTS2.5 (tts, zh/en/ja/es/ar clone + emotion, GGUF Q8)","family":"index_tts2","path":"models/IndexTTS2.5-GGUF","task":"tts","mode":"offline","download_id":"index_tts2_5_q8_0","min_vram_gb":8,"input_hint":"**IndexTTS2.5**:中/英/日/西/阿零样本克隆;上传参考音色即克隆;可在『其它参数(JSON)』里传 `lang`(默认 auto:含汉字按中文,否则按英文)与情感选项。许可证为 bilibili Model Use License(非 OSI),商用前请确认条款。","input_hint_en":"**IndexTTS2.5**: zero-shot cloning in zh/en/ja/es/ar. Upload a reference voice to clone; pass `lang` (default auto: zh when the text contains Han characters, otherwise en) and emotion options through the JSON box. Weights are under the bilibili Model Use License (not OSI-approved) — check terms before commercial use."},{"id":"irodori-tts","display_name":"Irodori-TTS v4.1 Small (tts 日语, GGUF Q8)","display_name_en":"Irodori-TTS v4.1 Small (ja tts, GGUF Q8)","family":"irodori_tts","path":"models/Irodori-TTS-v4-Small-GGUF","task":"tts","mode":"offline","download_id":"irodori_tts_v4_small_q8_0","min_vram_gb":4,"input_hint":"**Irodori-TTS v4.1 Small**:日语 TTS;可不上传参考音色直接生成,也可上传参考音色进行克隆;可在声音设计页用日语 caption 描述音色。","input_hint_en":"**Irodori-TTS v4.1 Small**: Japanese TTS. Generate without a reference voice, clone from an uploaded reference, or use the voice-design page with a Japanese voice caption."},{"id":"irodori-tts-v3-500m","display_name":"Irodori-TTS 500M v3 (tts 日语)","display_name_en":"Irodori-TTS 500M v3 (ja tts)","family":"irodori_tts","path":"models/Irodori-TTS-500M-v3-GGUF","task":"tts","mode":"offline","download_id":"irodori_tts_500m_v3_q8_0","min_vram_gb":4},{"id":"moss-tts-local","display_name":"MOSS-TTS-Local v1.5 (tts)","family":"moss_tts_local","path":"models/MOSS-TTS-Local-Transformer-v1.5","task":"tts","mode":"offline","download_id":"moss_tts_local_v1_5","min_vram_gb":8},{"id":"moss-tts-nano","display_name":"MOSS-TTS-Nano 100M (tts)","family":"moss_tts_nano","path":"models/MOSS-TTS-Nano-100M","task":"tts","mode":"offline","download_id":"moss_tts_nano_100m","min_vram_gb":2},{"id":"magpie-tts","display_name":"MagpieTTS Multilingual 357M v2607 (tts, preset voices)","display_name_en":"MagpieTTS Multilingual 357M v2607 (tts, preset voices)","family":"magpie_tts","path":"models/MagpieTTS-Multilingual-357M-GGUF","task":"tts","mode":"offline","download_id":"magpie_tts_q8_0","min_vram_gb":4,"input_hint":"**MagpieTTS**:多语种离线 TTS;使用打包 speaker map 里的 `voice_id`,不需要上传参考音频。当前 GGUF 包不包含日语 phoneme 表,因此日语路径不可用。","input_hint_en":"**MagpieTTS**: multilingual offline TTS with packaged speaker prompts selected by `voice_id`; no reference upload is needed. The current GGUF package does not include the Japanese phoneme table, so Japanese is not available."},{"id":"fireredtts3-instruct","display_name":"FireRedTTS3 Instruct Clone","family":"fireredtts3","path":"models/FireRedTTS3-Instruct-GGUF/fireredtts3-instruct-q8_0.gguf","task":"clon","mode":"offline","download_id":"fireredtts3_instruct_q8_0","min_vram_gb":8,"input_hint_en":"**FireRedTTS3 Instruct Clone**: official Instruct `generate_tts` path. Upload a reference voice and provide the matching reference transcript. For no-reference voice design, use the VoiceDesign entry."},{"id":"fireredtts3-base","display_name":"FireRedTTS3 Base (voice clone)","family":"fireredtts3","path":"models/FireRedTTS3-Base-GGUF/fireredtts3-base-q8_0.gguf","task":"clon","mode":"offline","download_id":"fireredtts3_base_q8_0","min_vram_gb":8,"input_hint_en":"**FireRedTTS3 Base**: zero-shot voice cloning. Upload a reference voice and provide the matching reference transcript."},{"id":"firered-audio-tts","display_name":"FireRedAudio Clone","family":"firered_audio","path":"models/FireRedAudio-GGUF/firered-audio-q8_0.gguf","task":"clon","mode":"offline","download_id":"firered_audio_q8_0","min_vram_gb":10,"input_hint_en":"**FireRedAudio Clone**: upload a reference voice and provide the matching reference transcript. For no-reference voice design, use the VoiceDesign entry."},{"id":"supertonic","display_name":"Supertonic 3 (tts 预置音色/多语种)","display_name_en":"Supertonic 3 (tts, preset voices)","family":"supertonic","path":"models/supertonic-3","task":"tts","mode":"offline","download_id":"supertonic_3","min_vram_gb":2},{"id":"higgs-audio-tts","display_name":"Higgs Audio v3 TTS 4B (tts 克隆, GGUF Q8)","display_name_en":"Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8)","family":"higgs_audio_tts","path":"models/Higgs-Audio-v3-TTS-4B-GGUF","task":"tts","mode":"offline","download_id":"higgs_audio_v3_tts_4b","min_vram_gb":6,"input_hint":"**Higgs Audio v3 TTS**:Q8_0 GGUF 包(权重已量化,不用再设 weight_type);上传参考音色即声音克隆,留空用默认音色;长文本自动分段。","input_hint_en":"**Higgs Audio v3 TTS**: Q8_0 GGUF package (already quantized — no weight_type needed). Upload a reference voice to clone, or leave it empty for the default voice; long text is chunked automatically."},{"id":"fish-audio-s2-pro","display_name":"Fish Audio S2 Pro (tts 克隆/控制标记, GGUF Q8)","display_name_en":"Fish Audio S2 Pro (tts + clone/control tags, GGUF Q8)","family":"fish_audio","path":"models/Fish-Audio-S2-Pro-GGUF","task":"tts","mode":"offline","download_id":"fish_audio_s2_pro","min_vram_gb":8,"input_hint":"**Fish Audio S2 Pro**:Q8_0 GGUF 包;中英+自动语种;上传参考音色即克隆;正文里可写行内控制标记(如 (laugh))。","input_hint_en":"**Fish Audio S2 Pro**: Q8_0 GGUF package; English/Chinese plus auto language. Upload a reference voice to clone; inline control tags such as (laugh) can be written in the text."},{"id":"audio8-tts","display_name":"Audio8 TTS Preview 0.6B (tts 克隆, GGUF Q8)","display_name_en":"Audio8 TTS Preview 0.6B (tts + clone, GGUF Q8)","family":"audio8_tts","path":"models/Audio8-TTS-Preview-0.6B-GGUF","task":"tts","mode":"offline","download_id":"audio8_tts_preview_0_6b_q8_0","min_vram_gb":4,"input_hint":"**Audio8 TTS Preview 0.6B**:多语种 TTS / 零样本克隆(支持 yue/zh/nl/en/fr/de/it/ja/ko/pl/es/auto);上传参考音色+参考文本即克隆,留空为普通 TTS;长文本自动分句。","input_hint_en":"**Audio8 TTS Preview 0.6B**: multilingual TTS and zero-shot clone (yue/zh/nl/en/fr/de/it/ja/ko/pl/es/auto). Upload a reference voice + transcript to clone; leave empty for plain TTS. Long text is chunked automatically."},{"id":"glm-tts","display_name":"GLM-TTS (tts 克隆, 社区)","display_name_en":"GLM-TTS (tts + clone, community)","family":"glm_tts","path":"models/GLM-TTS","task":"tts","mode":"offline","download_id":"glm_tts","min_vram_gb":8,"input_hint":"**GLM-TTS**(社区模型):中英 TTS / voice clone;上传参考音色即克隆。","input_hint_en":"**GLM-TTS** (community): Chinese/English TTS and voice clone. Upload a reference voice to clone."},{"id":"outetts","display_name":"Llama-OuteTTS 1.0 1B (tts 克隆, 社区)","display_name_en":"Llama-OuteTTS 1.0 1B (tts + clone, community)","family":"outetts","path":"models/Llama-OuteTTS-1.0-1B","task":"tts","mode":"offline","download_id":"outetts_1_0_1b","min_vram_gb":4,"input_hint":"**OuteTTS 1.0 1B**(社区模型):23 种语言,DAC 编解码;上传参考音色即克隆。","input_hint_en":"**OuteTTS 1.0 1B** (community): 23 languages, IBM DAC codec. Upload a reference voice to clone."},{"id":"vietneu-tts","display_name":"VieNeu-TTS v3 Turbo (tts 越南语, 社区)","display_name_en":"VieNeu-TTS v3 Turbo (vi tts, community)","family":"vietneu_tts","path":"models/VieNeu-TTS-v3-Turbo","task":"tts","mode":"offline","download_id":"vietneu_tts_v3_turbo","min_vram_gb":4,"input_hint":"**VieNeu-TTS v3 Turbo**(社区模型):越南语 / 英语;上传参考音色即克隆。","input_hint_en":"**VieNeu-TTS v3 Turbo** (community): Vietnamese and English. Upload a reference voice to clone."},{"id":"inflect-v2","display_name":"Inflect Micro v2 (tts 英语, 社区)","display_name_en":"Inflect Micro v2 (en tts, community)","family":"inflect_v2","path":"models/Inflect-Micro-v2","task":"tts","mode":"offline","download_id":"inflect_micro_v2","min_vram_gb":2,"input_hint":"**Inflect Micro v2**(社区模型):英语离线 TTS;Micro 是默认包,Nano 可通过模型管理器另装后手动选择路径。","input_hint_en":"**Inflect Micro v2** (community): English offline TTS. Micro is the default package; Nano can be installed separately and selected manually."},{"id":"dramabox","display_name":"DramaBox (tts 克隆, GGUF Q8)","display_name_en":"DramaBox (tts + clone, GGUF Q8)","family":"dramabox","path":"models/DramaBox-GGUF","task":"tts","mode":"offline","download_id":"dramabox_q8_0","min_vram_gb":16,"input_hint":"**DramaBox**:英语 TTS / voice clone;上传参考音色可克隆,长文本建议写清楚说话人描述。","input_hint_en":"**DramaBox**: English TTS and voice clone. Upload a reference voice to clone; for long text, keep speaker wording explicit."},{"id":"confucius4-tts","display_name":"Confucius4-TTS (voice clone, GGUF)","display_name_en":"Confucius4-TTS (voice clone, GGUF)","family":"confucius4_tts","path":"models/Confucius4-TTS-GGUF","task":"clon","mode":"offline","download_id":"confucius4_tts_orig","min_vram_gb":8,"input_hint":"**Confucius4-TTS**:需要参考音色;当前中文/英语路径更可靠,非中英语种仍在验证中。","input_hint_en":"**Confucius4-TTS**: requires a reference voice. Chinese/English are the most reliable paths; other languages are still being validated."},{"id":"echo-tts","display_name":"Echo-TTS (voice clone)","family":"echo_tts","path":"models/Echo-TTS-GGUF","task":"clon","mode":"offline","download_id":"echo_tts_q8_0","min_vram_gb":8,"input_hint_en":"**Echo-TTS**: English zero-shot cloning at 44.1 kHz. Upload a reference voice -- no transcript needed. Output is CC-BY-NC-SA and may not be used commercially."},{"id":"zipvoice","display_name":"ZipVoice (中英零样本克隆)","display_name_en":"ZipVoice (zh/en zero-shot cloning)","family":"zipvoice","path":"models/ZipVoice-Distill-GGUF","task":"clon","mode":"offline","download_id":"zipvoice_distill_gguf","min_vram_gb":4,"input_hint":"**ZipVoice**:中/英零样本声音克隆(k2-fsa TTSZipformer flow-matching + Vocos,蒸馏版 8 步采样)。上传参考音频,并在『参考文本’里填入它的逐字转写——参考音频与参考文本必须配对;合成文本支持中文、英文及混排。权重 Apache-2.0。","input_hint_en":"**ZipVoice**: zero-shot voice cloning in zh/en (k2-fsa TTSZipformer flow matching + Vocos, distilled 8-step sampling). Upload a reference clip and put its exact transcript in the reference-text box — the clip and the transcript must match; synthesis text supports zh/en/mixed. Weights are Apache-2.0."},{"id":"chatterbox","display_name":"Chatterbox (voice clone)","family":"chatterbox","path":"models/chatterbox","task":"clon","mode":"offline","download_id":"chatterbox","min_vram_gb":12},{"id":"chatterbox-turbo","display_name":"Chatterbox Turbo (tts)","family":"chatterbox_turbo","path":"models/Chatterbox-Turbo-GGUF/chatterbox-turbo-q8_0.gguf","task":"tts","mode":"offline","download_id":"chatterbox_turbo_q8_0","min_vram_gb":4,"input_hint_en":"**Chatterbox Turbo**: fast English TTS with the built-in voice. No reference voice is required."},{"id":"ace-step","display_name":"ACE-Step 1.5 (music gen)","family":"ace_step","path":"models/Ace-Step1.5","task":"gen","mode":"offline","download_id":"ace_step","default_text":"upbeat pop music with bright vocals and energetic drums","session_options":{"ace_step.mem_saver":"true","ace_step.dit_weight_type":"q8_0","ace_step.text_encoder_weight_type":"q8_0","ace_step.planner_weight_type":"q8_0"},"min_vram_gb":8},{"id":"minimax-music3","display_name":"MiniMax-Music3 (song gen)","family":"minimax_music3","path":"models/MiniMax-Music3-GGUF","task":"gen","mode":"offline","download_id":"minimax_music3_q4_0","min_vram_gb":12},{"id":"yue2","display_name":"Yue2 3B (song gen)","family":"yue2","path":"models/Yue2-3B-GGUF","task":"gen","mode":"offline","download_id":"yue2_main_q8_0","default_text":"[Verse]\\nSoft morning light is touching the window.\\nI hear the city waking below.\\n[Chorus]\\nStay with the rhythm, let it carry us home.\\nSing with the sunrise, we are never alone.","min_vram_gb":12,"input_hint_en":"**Yue2 3B**: provide lyrics and a style prompt. The default inference combo is Main Q8_0 + VAE F16; choose other main/VAE files from Model parameters before loading."},{"id":"sheetsage2","display_name":"SheetSage2 (audio to ABC)","family":"sheetsage2","path":"models/SheetSage2-GGUF/sheetsage2-orig.gguf","task":"midi","mode":"offline","download_id":"sheetsage2_orig","min_vram_gb":8,"input_hint_en":"**SheetSage2**: upload a song or instrumental recording to transcribe it into an ABC score artifact."},{"id":"stable-audio-small-music","display_name":"Stable Audio 3 Small Music (gen)","family":"stable_audio","path":"models/stable-audio-3-small-music","task":"gen","mode":"offline","download_id":"stable_audio_3_small_music","min_vram_gb":4},{"id":"stable-audio-small-sfx","display_name":"Stable Audio 3 Small SFX (gen)","family":"stable_audio","path":"models/stable-audio-3-small-sfx","task":"gen","mode":"offline","download_id":"stable_audio_3_small_sfx","min_vram_gb":4},{"id":"stable-audio-medium","display_name":"Stable Audio 3 Medium (gen)","family":"stable_audio","path":"models/stable-audio-3-medium","task":"gen","mode":"offline","download_id":"stable_audio_3_medium","session_options":{"stable_audio.mem_saver":"true"},"min_vram_gb":10},{"id":"heartmula","display_name":"HeartMuLa 3B (music gen)","family":"heartmula","path":"models/HeartMuLa","task":"gen","mode":"offline","download_id":"heartmula","session_options":{"heartmula.mem_saver":"true"},"min_vram_gb":24},{"id":"minimax-h3","display_name":"MiniMax-H3 Q4 (sound generation)","family":"minimax_h3","path":"models/MiniMax-H3-Q4-GGUF/dit.gguf","task":"gen","mode":"offline","download_id":"minimax_h3","min_vram_gb":20,"default_options":{"num_inference_steps":12,"height":32,"width":32,"num_frames":241,"guidance_scale":1,"dit_acceleration":"none","return_video":false},"input_hint_en":"MiniMax-H3 uses a joint audio/video DiT. The default Q4 DiT is the quality-first choice; the optional CUDA-only INT8 ConvRot DiT trades slightly more VRAM for higher speed. Native Studio uses 12 denoising steps, a 32x32 latent canvas, quality-first full-DiT execution, and disables video decoding for practical audio-only generation on a 24 GB GPU."},{"id":"midashenglm-gen","display_name":"MiDashengLM-Gen (audio generation)","family":"midashenglm_gen","path":"models/MiDashengLM-Gen-GGUF/midashenglm-gen-q8_0.gguf","task":"gen","mode":"offline","download_id":"midashenglm_gen_q8_0","min_vram_gb":8,"input_hint_en":"**MiDashengLM-Gen**: text-conditioned audio generation. The duration field controls the generation budget."},{"id":"controlfoley","display_name":"ControlFoley (Foley/SFX)","family":"controlfoley","path":"models/ControlFoley-GGUF/controlfoley-large-44k-q8_0.gguf","task":"gen","mode":"offline","download_id":"controlfoley_large_44k_q8_0","min_vram_gb":12,"request_options":["video"],"input_hint_en":"**ControlFoley**: Foley generation from text, video, text+video, audio+video, or video only. Upload video in the Video field; upload source audio for AC-V2A."},{"id":"firered-audio-semantic-edit","display_name":"FireRedAudio Semantic Edit","family":"firered_audio","path":"models/FireRedAudio-GGUF/firered-audio-q8_0.gguf","task":"gen","mode":"offline","download_id":"firered_audio_q8_0","min_vram_gb":10,"input_hint_en":"**FireRedAudio Semantic Edit**: upload source audio and describe the content edit in Model parameters."},{"id":"firered-audio-acoustic-edit","display_name":"FireRedAudio Acoustic Edit","family":"firered_audio","path":"models/FireRedAudio-GGUF/firered-audio-q8_0.gguf","task":"gen","mode":"offline","download_id":"firered_audio_q8_0","min_vram_gb":10,"input_hint_en":"**FireRedAudio Acoustic Edit**: upload source audio and use a trained acoustic instruction such as `shift the pitch by 3 steps`."},{"id":"canary-asr","display_name":"Canary 180M Flash","family":"canary_asr","path":"models/Canary-180M-Flash-GGUF","task":"asr","mode":"offline","download_id":"canary_180m_flash_f32"},{"id":"cohere-asr","display_name":"Cohere Transcribe","family":"cohere_asr","path":"models/Cohere-Transcribe-GGUF","task":"asr","mode":"offline","download_id":"cohere_transcribe_bf16"},{"id":"moss-transcribe-diarize","display_name":"MOSS-Transcribe-Diarize","family":"moss_transcribe_diarize","path":"models/MOSS-Transcribe-Diarize-GGUF","task":"asr","mode":"offline","download_id":"moss_transcribe_diarize_bf16"},{"id":"qwen3-asr","display_name":"Qwen3-ASR 0.6B (asr)","family":"qwen3_asr","path":"models/Qwen3-ASR-0.6B","task":"asr","mode":"offline","download_id":"qwen3_asr_0_6b","min_vram_gb":3},{"id":"qwen3-asr-1.7b","display_name":"Qwen3-ASR 1.7B HF (asr)","family":"qwen3_asr","path":"models/Qwen3-ASR-1.7B-hf","task":"asr","mode":"offline","download_id":"qwen3_asr_1_7b_hf","min_vram_gb":6,"input_hint":"**Qwen3-ASR 1.7B**(HF 原生权重,免转换):精度高于 0.6B;长音频自动分段转写;8G 卡显存偏紧,长音频建议先短段试跑。","input_hint_en":"**Qwen3-ASR 1.7B**: native Hugging Face weights with no conversion required. It is more accurate than the 0.6B model and automatically chunks long audio; test short clips first on an 8 GB GPU."},{"id":"r2t2-asr","display_name":"Confucius4-R2T2 (asr, 实时流式)","display_name_en":"Confucius4-R2T2 (asr, real-time streaming)","family":"confucius4_r2t2","path":"models/Confucius4-R2T2-GGUF/r2t2-q8_0.gguf","task":"asr","mode":"offline","download_id":"confucius4_r2t2_q8_0","min_vram_gb":5,"input_hint":"**Confucius4-R2T2**:网易有道实时流式 ASR,Qwen3-ASR-1.7B 微调,LSP 稳定前缀解码;提交文本永不回改,支持 80ms-2s 分块;Q8_0 GGUF(2.3G,自包含单文件),也支持 F16。","input_hint_en":"**Confucius4-R2T2**: NetEase Youdao real-time streaming ASR, a Qwen3-ASR 1.7B fine-tune with Longest Stable Prefix decoding. Committed text is never revised; 80 ms-2 s chunks; Q8_0 GGUF (2.3 GB, self-contained single file), F16 also available."},{"id":"niagara-asr-19m","display_name":"Niagara ASR 19M (asr)","display_name_en":"Niagara ASR 19M (asr)","family":"niagara_asr","path":"models/Niagara-ASR-GGUF/niagara-19m-batch.en-f32.gguf","task":"asr","mode":"offline","download_id":"niagara_19m_f32","min_vram_gb":1,"input_hint":"**Niagara ASR 19M**:ABR 英语离线 ASR,F32 GGUF 权重。","input_hint_en":"**Niagara ASR 19M**: ABR English offline ASR with F32 GGUF weights."},{"id":"niagara-asr-38m","display_name":"Niagara ASR 38M (asr)","display_name_en":"Niagara ASR 38M (asr)","family":"niagara_asr","path":"models/Niagara-ASR-GGUF/niagara-38m-batch.en-f32.gguf","task":"asr","mode":"offline","download_id":"niagara_38m_f32","min_vram_gb":1,"input_hint":"**Niagara ASR 38M**:ABR 英语离线 ASR,F32 GGUF 权重。","input_hint_en":"**Niagara ASR 38M**: ABR English offline ASR with F32 GGUF weights."},{"id":"moonshine-asr-tiny","display_name":"Moonshine Streaming Tiny (asr, GGUF Q8)","display_name_en":"Moonshine Streaming Tiny (asr, GGUF Q8)","family":"moonshine_asr","path":"models/Moonshine-Streaming-GGUF/moonshine-streaming-tiny-q8_0.gguf","task":"asr","mode":"offline","download_id":"moonshine_streaming_tiny_q8_0","min_vram_gb":1,"input_hint":"**Moonshine Streaming Tiny**:英语 ASR,轻量 GGUF Q8 包;支持离线与流式模式。","input_hint_en":"**Moonshine Streaming Tiny**: lightweight English ASR GGUF Q8 package with offline and streaming support."},{"id":"moonshine-asr-small","display_name":"Moonshine Streaming Small (asr, GGUF Q8)","display_name_en":"Moonshine Streaming Small (asr, GGUF Q8)","family":"moonshine_asr","path":"models/Moonshine-Streaming-GGUF/moonshine-streaming-small-q8_0.gguf","task":"asr","mode":"offline","download_id":"moonshine_streaming_small_q8_0","min_vram_gb":2,"input_hint":"**Moonshine Streaming Small**:英语 ASR,GGUF Q8 包;支持离线与流式模式。","input_hint_en":"**Moonshine Streaming Small**: English ASR GGUF Q8 package with offline and streaming support."},{"id":"moonshine-asr-medium","display_name":"Moonshine Streaming Medium (asr, GGUF Q8)","display_name_en":"Moonshine Streaming Medium (asr, GGUF Q8)","family":"moonshine_asr","path":"models/Moonshine-Streaming-GGUF/moonshine-streaming-medium-q8_0.gguf","task":"asr","mode":"offline","download_id":"moonshine_streaming_medium_q8_0","min_vram_gb":2,"input_hint":"**Moonshine Streaming Medium**:英语 ASR,GGUF Q8 包;支持离线与流式模式。","input_hint_en":"**Moonshine Streaming Medium**: English ASR GGUF Q8 package with offline and streaming support."},{"id":"citrinet-asr","display_name":"Citrinet ASR (asr)","family":"citrinet_asr","path":"models/citrinet","task":"asr","mode":"offline","download_id":"citrinet_asr","min_vram_gb":2},{"id":"nemotron-asr","display_name":"Nemotron 3.5 ASR 0.6B (asr, 100+语种)","display_name_en":"Nemotron 3.5 ASR 0.6B (asr, 100+ languages)","family":"nemotron_asr","path":"models/nemotron-3.5-asr-streaming-0.6b","task":"asr","mode":"offline","download_id":"nemotron_asr","min_vram_gb":4,"input_hint":"**Nemotron ASR**:100+ 语种,语种码为 BCP-47(如 en-US / zh-CN),留空=auto;模型自带长音频处理。","input_hint_en":"**Nemotron ASR**: supports more than 100 languages using BCP-47 codes such as en-US or zh-CN. Leave language blank for automatic detection; long audio is handled by the model."},{"id":"higgs-audio-stt","display_name":"Higgs Audio v3 STT (asr, 英语)","display_name_en":"Higgs Audio v3 STT (asr, English)","family":"higgs_audio_stt","path":"models/higgs-audio-v3-stt","task":"asr","mode":"offline","download_id":"higgs_audio_stt","min_vram_gb":8,"input_hint":"**Higgs Audio STT**:英语转写;可在文本框填指令(默认相当于 Transcribe the speech.);离线模式自动切分长音频。","input_hint_en":"**Higgs Audio STT**: English transcription. The text box accepts an instruction; offline mode automatically chunks long audio."},{"id":"hviske-asr","display_name":"Hviske v5.3 (asr, 丹麦语)","display_name_en":"Hviske v5.3 (asr, Danish)","family":"hviske_asr","path":"models/hviske-v5.3","task":"asr","mode":"offline","download_id":"hviske_asr","min_vram_gb":6,"input_hint":"**Hviske ASR**:丹麦语专用;模型侧自动分段。","input_hint_en":"**Hviske ASR**: dedicated Danish transcription with automatic model-side segmentation."},{"id":"vibevoice-asr","display_name":"VibeVoice ASR (asr, 多语种+说话人分段)","display_name_en":"VibeVoice ASR (asr, multilingual + speaker turns)","family":"vibevoice_asr","path":"models/VibeVoice-ASR","task":"asr","mode":"offline","download_id":"vibevoice_asr","min_vram_gb":20,"input_hint":"**VibeVoice ASR**:自动语种,可输出分段/说话人轮次;文本框可填上下文提示(如 The recording is a meeting conversation.)。权重 17.3G,8G 卡跑不动。","input_hint_en":"**VibeVoice ASR**: automatic language detection with segment and speaker-turn output. The text box accepts a context prompt. Its 17.3 GB weights require substantially more than 8 GB VRAM."},{"id":"vibevoice-asr-streaming-7b","display_name":"VibeVoice ASR Streaming 7B (asr, 多语种+流式)","display_name_en":"VibeVoice ASR Streaming 7B (asr, multilingual + streaming)","family":"vibevoice_asr_streaming","path":"models/VibeVoice-ASR-Streaming-7B-GGUF/vibevoice-asr-streaming-7b-q8_0.gguf","task":"asr","mode":"offline","download_id":"vibevoice_asr_streaming_7b_q8_0","min_vram_gb":18,"input_hint":"**VibeVoice ASR Streaming 7B**:多语种 ASR,支持长音频流式解码和说话人轮次;文本框可填上下文提示。","input_hint_en":"**VibeVoice ASR Streaming 7B**: multilingual ASR with long-audio streaming decode and speaker-turn output. The text box accepts a context prompt."},{"id":"vibevoice-asr-streaming-1.5b","display_name":"VibeVoice ASR Streaming 1.5B (asr, 多语种+流式)","display_name_en":"VibeVoice ASR Streaming 1.5B (asr, multilingual + streaming)","family":"vibevoice_asr_streaming","path":"models/VibeVoice-ASR-Streaming-1.5B-GGUF/vibevoice-asr-streaming-1.5b-q8_0.gguf","task":"asr","mode":"offline","download_id":"vibevoice_asr_streaming_1_5b_q8_0","min_vram_gb":6,"input_hint":"**VibeVoice ASR Streaming 1.5B**:7B 的较小版本,功能相同,显存占用更低,准确率略低;文本框可填上下文提示。","input_hint_en":"**VibeVoice ASR Streaming 1.5B**: the smaller sibling of the 7B with the same features, lower VRAM use, and somewhat lower accuracy. The text box accepts a context prompt."},{"id":"voxtral-realtime","display_name":"Voxtral Mini 4B Realtime (asr, 自动语种+流式)","display_name_en":"Voxtral Mini 4B Realtime (asr, auto + streaming)","family":"voxtral_realtime","path":"models/Voxtral-Mini-4B-Realtime-2602-GGUF","task":"asr","mode":"offline","download_id":"voxtral_realtime","min_vram_gb":8},{"id":"fun-asr-nano","display_name":"Fun-ASR-Nano 2512 (asr, GGUF Q8)","display_name_en":"Fun-ASR-Nano 2512 (asr, GGUF Q8)","family":"fun_asr_nano","path":"models/Fun-ASR-Nano-2512-GGUF","task":"asr","mode":"offline","download_id":"fun_asr_nano_2512_q8_0","min_vram_gb":4,"input_hint":"**Fun-ASR-Nano**:轻量离线 ASR;支持 auto/中文/英语/日语。","input_hint_en":"**Fun-ASR-Nano**: lightweight offline ASR; supports auto, Chinese, English and Japanese."},{"id":"parakeet-tdt","display_name":"Parakeet-TDT 0.6B v3 (asr, 流式)","display_name_en":"Parakeet-TDT 0.6B v3 (asr + streaming)","family":"parakeet_tdt","path":"models/parakeet-tdt-0.6b-v3","task":"asr","mode":"offline","download_id":"parakeet_tdt","min_vram_gb":4,"input_hint":"**Parakeet-TDT**:离线/长音频/流式 ASR;支持多种欧洲语言,留空=自动。","input_hint_en":"**Parakeet-TDT**: offline, long-form and streaming ASR for many European languages; leave language empty for auto."},{"id":"orukeet","display_name":"Orukeet r3 (asr, Parakeet 微调)","display_name_en":"Orukeet r3 (asr, Parakeet fine-tune)","family":"parakeet_tdt","path":"models/Orukeet-GGUF/orukeet-q8_0.gguf","task":"asr","mode":"offline","download_id":"orukeet_q8_0","min_vram_gb":4,"input_hint":"**Orukeet r3**:Parakeet-TDT 0.6B v3 微调权重,同引擎/同分词器;CC BY-SA 4.0,留空=自动语种。","input_hint_en":"**Orukeet r3**: fine-tuned Parakeet-TDT 0.6B v3 weights on the same engine and tokenizer; CC BY-SA 4.0, leave language empty for auto."},{"id":"kroko-asr","display_name":"Kroko Community ASR (asr, GGUF Q8)","display_name_en":"Kroko Community ASR (asr, GGUF Q8)","family":"kroko_asr","path":"models/Kroko-ASR-GGUF","task":"asr","mode":"offline","download_id":"kroko_asr_community_q8_0","min_vram_gb":4,"input_hint":"**Kroko Community ASR**:GGUF Q8 包;离线转写,支持时间戳。","input_hint_en":"**Kroko Community ASR**: GGUF Q8 package for offline transcription with timestamps."},{"id":"granite5asr","display_name":"Granite Speech 5.0 470M TurboCTC (asr)","display_name_en":"Granite Speech 5.0 470M TurboCTC (asr)","family":"granite5asr","path":"granite5asr","task":"asr","mode":"offline","download_id":"granite5asr_q8_0","min_vram_gb":4,"input_hint":"**Granite Speech 5.0 TurboCTC**:IBM 470M 英语 ASR;超快 Conformer CTC 转写;支持长音频自动分段与流式模式。","input_hint_en":"**Granite Speech 5.0 TurboCTC**: IBM 470M English ASR with ultra-fast Conformer CTC architecture, supporting long-form audio segmentation and streaming mode."},{"id":"sense-asr","display_name":"SenseVoice-Small (asr, 流式, 社区)","display_name_en":"SenseVoice-Small (asr + streaming, community)","family":"sense_asr","path":"models/SenseVoice-Small-GGUF","task":"asr","mode":"offline","download_id":"sensevoice_small_q8","min_vram_gb":4,"input_hint":"**SenseVoice-Small**(社区模型):多语种 ASR,事件/情感/语言标签,ITN 可开关;离线与流式模式。","input_hint_en":"**SenseVoice-Small** (community): multilingual ASR with event/emotion/language tags, optional ITN; offline and streaming modes."},{"id":"firered-audio-asr","display_name":"FireRedAudio (ASR / audio QA)","family":"firered_audio","path":"models/FireRedAudio-GGUF/firered-audio-q8_0.gguf","task":"asr","mode":"offline","download_id":"firered_audio_q8_0","min_vram_gb":10,"input_hint_en":"**FireRedAudio ASR**: upload audio, then use the text box as the transcription or audio-understanding instruction."},{"id":"chatterbox-vc","display_name":"Chatterbox (vc 声音转换)","display_name_en":"Chatterbox (voice conversion)","family":"chatterbox","path":"models/chatterbox","task":"vc","mode":"offline","download_id":"chatterbox","min_vram_gb":12,"input_hint":"**Chatterbox VC**:上传源语音和目标音色参考;模型保留源语音内容,将说话人音色转换为目标音色,输出 24kHz 单声道。","input_hint_en":"**Chatterbox VC**: upload source speech and a target-voice reference. It preserves the source content and converts the speaker identity; output is 24 kHz mono."},{"id":"meanvc2","display_name":"MeanVC2 (voice conversion)","display_name_en":"MeanVC2 (voice conversion)","family":"meanvc2","path":"models/MeanVC2-GGUF/meanvc2-120ms-40ms-fp32.gguf","task":"vc","mode":"offline","download_id":"meanvc2_120ms_40ms_f32","min_vram_gb":6,"input_hint":"**MeanVC2**:上传源语音和目标音色参考;默认 120 ms / 40 ms checkpoint 使用 F32 GGUF。","input_hint_en":"**MeanVC2**: upload source speech and a target-voice reference. The default 120 ms / 40 ms checkpoint uses F32 GGUF."},{"id":"vevo2","display_name":"Vevo2 (vc 语音转换, GGUF Q8)","display_name_en":"Vevo2 (voice conversion, GGUF Q8)","family":"vevo2","path":"models/Vevo2-GGUF","task":"vc","mode":"offline","download_id":"vevo2_gguf","min_vram_gb":6},{"id":"vevo2-svc","display_name":"Vevo2 (svc 歌声转换, GGUF Q8)","display_name_en":"Vevo2 (singing voice conversion, GGUF Q8)","family":"vevo2","path":"models/Vevo2-GGUF","task":"svc","mode":"offline","download_id":"vevo2_gguf","min_vram_gb":6,"input_hint":"**Vevo2 歌声转换 (svc)**:上传源歌声 + 目标歌手参考音色,默认 route=style_preserved_svc。style_converted_svc / singing_style_conversion 等风格转换 route 需在『其它参数(JSON)』里补 `style_ref`(服务器本地 wav 路径)/ `style_ref_text` / `target_text`。","input_hint_en":"**Vevo2 singing conversion**: upload source singing and a target-singer reference. The default route is style_preserved_svc; style-conversion routes also accept style_ref, style_ref_text and target_text in Additional options."},{"id":"vevo2-s2s","display_name":"Vevo2 (s2s 语音编辑, GGUF Q8)","display_name_en":"Vevo2 (speech editing, GGUF Q8)","family":"vevo2","path":"models/Vevo2-GGUF","task":"s2s","mode":"offline","download_id":"vevo2_gguf","min_vram_gb":6,"input_hint":"**Vevo2 语音编辑 (s2s)**:上传要编辑的源语音,并在『其它参数(JSON)』里填 `{\\"target_text\\": \\"替换后的完整句子\\"}`(编辑保持原说话人音色,可不上传目标音色)。","input_hint_en":"**Vevo2 speech editing**: upload source speech and set target_text to the complete replacement sentence in Additional options. Editing preserves the original speaker and does not require a target-voice reference."},{"id":"seed-vc","display_name":"Seed-VC (vc 语音转换)","display_name_en":"Seed-VC (voice conversion)","family":"seed_vc","path":"models/SeedVC-MLX","task":"vc","mode":"offline","download_id":"seed_vc","min_vram_gb":4},{"id":"seed-vc-svc","display_name":"Seed-VC (svc 歌声转换)","display_name_en":"Seed-VC (singing voice conversion)","family":"seed_vc","path":"models/SeedVC-MLX","task":"svc","mode":"offline","download_id":"seed_vc","min_vram_gb":4,"input_hint":"**Seed-VC 歌声转换 (svc)**:上传源歌声 + 目标歌手参考音色,默认 route=v1_svc(带 F0 条件)。可在『其它参数(JSON)』里调 `auto_f0_adjust` / `semi_tone_shift` / `f0_condition`。","input_hint_en":"**Seed-VC singing conversion**: upload source singing and a target-singer reference. The default route is v1_svc with F0 conditioning."},{"id":"rvc","display_name":"RVC (vc, GGUF F16)","display_name_en":"RVC (voice conversion, GGUF F16)","family":"rvc","path":"models/RVC-GGUF","task":"vc","mode":"offline","download_id":"rvc_f16","min_vram_gb":4,"input_hint":"**RVC**:所选 GGUF 即目标音色;上传源语音即可转换;索引/音高等选项可用 JSON 传。","input_hint_en":"**RVC**: the selected GGUF is the target voice; upload source speech to convert. Index and pitch options can be passed through the JSON box."},{"id":"miocodec","display_name":"MioCodec (vc; codec dependency)","family":"miocodec","path":"models/MioCodec-25Hz-44.1kHz-v2","task":"vc","mode":"offline","download_id":"miocodec_25hz_44k_v2","min_vram_gb":3},{"id":"personaplex","display_name":"PersonaPlex 7B v1 (speech conversation)","display_name_en":"PersonaPlex 7B v1 (speech conversation)","family":"personaplex","path":"models/PersonaPlex-GGUF","task":"s2s","mode":"offline","download_id":"personaplex_7b_v1_q4_k","min_vram_gb":8,"request_options":["voice_id","system_prompt","temperature","text_temperature","top_k","text_top_k","do_sample","seed"],"input_hint":"**PersonaPlex**:上传用户语音,模型返回语音回复;文本框可填写 assistant system/persona prompt;`voice_id` 选择打包音色,也可上传参考音色覆盖。","input_hint_en":"**PersonaPlex**: upload user speech and receive a spoken response. The text box provides the assistant system/persona prompt; `voice_id` selects a packaged voice, and an uploaded reference voice overrides it."},{"id":"apollo","display_name":"Apollo","family":"apollo","path":"models/Apollo-GGUF","task":"s2s","mode":"offline","download_id":"apollo_orig"},{"id":"universr-audio","display_name":"UniverSR Audio","family":"universr","path":"models/UniverSR-GGUF","task":"s2s","mode":"offline","download_id":"universr_audio_orig"},{"id":"universr-speech","display_name":"UniverSR Speech","family":"universr","path":"models/UniverSR-GGUF","task":"s2s","mode":"offline","download_id":"universr_speech_orig"},{"id":"audiosr","display_name":"AudioSR (audio super-resolution)","family":"audiosr","path":"models/AudioSR-GGUF/audiosr-basic-f32.gguf","task":"s2s","mode":"offline","download_id":"audiosr_basic_f32","min_vram_gb":8,"input_hint_en":"**AudioSR**: upload a source audio file to generate a super-resolved output."},{"id":"htdemucs","display_name":"HTDemucs (sep 音源分离)","display_name_en":"HTDemucs (source separation)","family":"htdemucs","path":"models/htdemucs","task":"sep","mode":"offline","download_id":"htdemucs","min_vram_gb":3},{"id":"bs-roformer","display_name":"BS-RoFormer (sep 人声分离)","display_name_en":"BS-RoFormer (vocal separation)","family":"bs_roformer","path":"models/BS-RoFormer-ep368-GGUF/bs-roformer-ep368-q8_0.gguf","task":"sep","mode":"offline","download_id":"bs_roformer_q8_0","min_vram_gb":3},{"id":"mel-band-roformer","display_name":"Mel-Band RoFormer (sep 人声分离)","display_name_en":"Mel-Band RoFormer (vocal separation)","family":"mel_band_roformer","path":"models/mel-roformer-mlx","task":"sep","mode":"offline","download_id":"mel_band_roformer","min_vram_gb":3},{"id":"pulsevad-2.1k","display_name":"PulseVAD 2.1K","family":"pulsevad","path":"models/PulseVAD-GGUF","task":"vad","mode":"offline","download_id":"pulsevad_2_1k_f32"},{"id":"pulsevad-81k","display_name":"PulseVAD 81K","family":"pulsevad","path":"models/PulseVAD-GGUF","task":"vad","mode":"offline","download_id":"pulsevad_81k_f32"},{"id":"silero-vad","display_name":"Silero VAD (vad, bundled)","family":"silero_vad","path":"assets/framework/models/silero_vad","task":"vad","mode":"offline","min_vram_gb":1},{"id":"marblenet-vad","display_name":"MarbleNet VAD (vad, bundled)","family":"marblenet_vad","path":"assets/framework/models/marblenet_vad","task":"vad","mode":"offline","min_vram_gb":1},{"id":"sortformer-diar","display_name":"Sortformer Diarization 4spk (diar)","family":"sortformer_diar","path":"models/diar_sortformer_4spk-v1","task":"diar","mode":"offline","download_id":"sortformer_diar_4spk_v1","min_vram_gb":2},{"id":"qwen3-forced-aligner","display_name":"Qwen3 Forced Aligner (align)","family":"qwen3_forced_aligner","path":"models/Qwen3-ForcedAligner-0.6B","task":"align","mode":"offline","download_id":"qwen3_forced_aligner_0_6b","min_vram_gb":3},{"id":"muscriptor-small","display_name":"MuScriptor Small (audio to MIDI)","family":"muscriptor","path":"models/MuScriptor-Small-GGUF","task":"midi","mode":"offline","download_id":"muscriptor_small_f32","min_vram_gb":4},{"id":"qwen3-tts-1.7b-vdesign","display_name":"Qwen3-TTS 1.7B VoiceDesign (vdes)","family":"qwen3_tts","path":"models/Qwen3-TTS-12Hz-1.7B-VoiceDesign","task":"vdes","mode":"offline","download_id":"qwen3_tts_1_7b_voice_design","min_vram_gb":8,"input_hint":"**Qwen3-TTS VoiceDesign**:在『音色描述』里用文字描述想要的声音(如“低沉磁性的中年男声,语速偏慢”),配上要念的文本即可,无需参考音频。","input_hint_en":"**Qwen3-TTS VoiceDesign**: describe the desired voice, then enter the text to synthesize. No reference recording is required."},{"id":"fireredtts3-instruct-vdesign","display_name":"FireRedTTS3 Instruct VoiceDesign","family":"fireredtts3","path":"models/FireRedTTS3-Instruct-GGUF/fireredtts3-instruct-q8_0.gguf","task":"vdes","mode":"offline","download_id":"fireredtts3_instruct_q8_0","min_vram_gb":8,"input_hint_en":"**FireRedTTS3 VoiceDesign**: describe the target voice in Voice description, then enter the text to synthesize."},{"id":"firered-audio-vdesign","display_name":"FireRedAudio VoiceDesign","family":"firered_audio","path":"models/FireRedAudio-GGUF/firered-audio-q8_0.gguf","task":"vdes","mode":"offline","download_id":"firered_audio_q8_0","min_vram_gb":10,"input_hint_en":"**FireRedAudio VoiceDesign**: describe the target voice in Voice description, then enter the text to synthesize."},{"id":"irodori-tts-vdesign","display_name":"Irodori-TTS v4.1 Small VoiceDesign (vdes 日语, GGUF Q8)","display_name_en":"Irodori-TTS v4.1 Small VoiceDesign (ja vdes, GGUF Q8)","family":"irodori_tts","path":"models/Irodori-TTS-v4-Small-GGUF","task":"vdes","mode":"offline","download_id":"irodori_tts_v4_small_q8_0","min_vram_gb":4,"input_hint":"**Irodori-TTS v4.1 VoiceDesign**(日语):『音色描述』用日语 caption 描述音色(如「落ち着いた大人の男性。深く響く声。」),文本填要念的日语内容,无需参考音频。","input_hint_en":"**Irodori-TTS v4.1 VoiceDesign**: provide a Japanese voice caption and Japanese synthesis text. No reference recording is required."},{"id":"irodori-tts-v3-vdesign","display_name":"Irodori-TTS 600M v3 VoiceDesign (vdes 日语)","display_name_en":"Irodori-TTS 600M v3 VoiceDesign (ja vdes)","family":"irodori_tts","path":"models/Irodori-TTS-600M-v3-VoiceDesign-GGUF","task":"vdes","mode":"offline","download_id":"irodori_tts_600m_v3_voicedesign_q8_0","min_vram_gb":4,"input_hint":"**Irodori-TTS v3 VoiceDesign**(日语):『音色描述』用日语 caption 描述音色(如「落ち着いた大人の男性。深く響く声。」),文本填要念的日语内容,无需参考音频。","input_hint_en":"**Irodori-TTS v3 VoiceDesign**: provide a Japanese voice caption and Japanese synthesis text. No reference recording is required."}]')},Tk={canary_asr:[{name:"target_language",type:"choice",label:"Target language",default:"",choices:["","en","de","es","fr"]},{name:"pnc",type:"bool",label:"Punctuation and capitalization",default:!0},{name:"audio_chunk_mode",type:"choice",label:"Audio chunk mode",default:"auto",choices:["auto","fixed","none"]},{name:"audio_chunk_duration_sec",type:"number",label:"Audio chunk duration (s)",default:40,minimum:.02,maximum:40,step:.1}],cohere_asr:[{name:"pnc",type:"bool",label:"Punctuation and capitalization",default:!0},{name:"audio_chunk_mode",type:"choice",label:"Audio chunk mode",default:"auto",choices:["auto","quiet_energy","fixed","none"]},{name:"audio_chunk_duration_sec",type:"number",label:"Audio chunk duration (s)",default:35,minimum:.04,maximum:35,step:.1}],moss_transcribe_diarize:[{name:"instruct",type:"text",label:"Instruction",default:"",lines:3}],apollo:[{name:"audio_chunk_duration_sec",type:"number",label:"Audio chunk duration (s)",default:0,minimum:0,step:1},{name:"audio_chunk_overlap_sec",type:"number",label:"Audio chunk overlap (s)",default:1,minimum:0,step:.1},{name:"edge_pad_duration_sec",type:"number",label:"Edge padding (s)",default:0,minimum:0,step:.1}],universr:[{name:"input_sample_rate",type:"choice",label:"Input bandwidth (Hz)",default:"",choices:["",8e3,12e3,16e3,24e3]},{name:"audio_chunk_duration_sec",type:"number",label:"Audio chunk duration (s)",default:0,minimum:0,step:1},{name:"sampler_mode",type:"choice",label:"Sampler",default:"midpoint",choices:["euler","midpoint","rk4"]},{name:"num_inference_steps",type:"number",label:"Inference steps",default:4,minimum:1,step:1},{name:"guidance_scale",type:"number",label:"Guidance scale",default:1.5,minimum:0,step:.1}],pulsevad:[{name:"threshold",type:"slider",label:"Speech threshold",default:.5,minimum:0,maximum:1,step:.01},{name:"hop_size_samples",type:"number",label:"Hop size (samples)",default:1600,minimum:1,step:1},{name:"min_speech_duration_ms",type:"number",label:"Minimum speech (ms)",default:100,minimum:0,step:1},{name:"min_silence_duration_ms",type:"number",label:"Minimum silence (ms)",default:100,minimum:0,step:1}],echo_tts:[{name:"num_inference_steps",type:"slider",label:"num_inference_steps",label_en:"Sampling steps",default:40,minimum:8,maximum:40,step:1,precision:0,info:"Euler sampler steps."},{name:"text_guidance_scale",type:"slider",label:"text_guidance_scale",label_en:"Text guidance",default:3,minimum:0,maximum:10,step:.1},{name:"speaker_guidance_scale",type:"slider",label:"speaker_guidance_scale",label_en:"Speaker guidance",default:8,minimum:0,maximum:15,step:.1},{name:"truncation_factor",type:"slider",label:"truncation_factor",label_en:"Noise truncation",default:.8,minimum:0,maximum:1,step:.05},{name:"guidance_interval",type:"slider",label:"guidance_interval",label_en:"Guidance interval",default:1,minimum:1,maximum:3,step:1,precision:0,info:"Refresh the unconditional CFG lanes every Nth guided step. Higher is faster and works best with more steps; 1 is highest fidelity."},{name:"reference_duration_sec",type:"slider",label:"reference_duration_sec",label_en:"Reference trim (s)",default:15,minimum:1,maximum:60,step:1,info:"Trim the speaker reference before encoding. Around 10 s usually clones best."},{name:"seed",type:"number",label:"seed",label_en:"Seed",default:0,minimum:0,step:1,precision:0}],_comment:"WebUI TTS 高级参数控件配置:按模型 family 动态生成控件(gr.render)。每项字段:name=选项键;type=slider|number|bool|text|choice;scope=session 时写入 session_options,否则随请求 options 透传给模型;label/info=显示文案;default=默认值(应等于模型默认,已按 src/models//*.cpp 校对);minimum/maximum/step=数值范围;precision=0 表示整数;choices=下拉候选。seed/max_tokens 已有专用输入框,勿在此重复;参考文本用『参考文本』框(reference_text);文件路径/parity 类参数(如 *_noise_file)未纳入,可用『其它参数(JSON)』兜底框传。",qwen3_tts:[{name:"temperature",type:"slider",label:"temperature",default:.9,minimum:0,maximum:2,step:.05},{name:"top_k",type:"number",label:"top_k",default:50,minimum:0,step:1,precision:0},{name:"top_p",type:"slider",label:"top_p",default:1,minimum:0,maximum:1,step:.01},{name:"repetition_penalty",type:"slider",label:"repetition_penalty",default:1.05,minimum:1,maximum:2,step:.01},{name:"do_sample",type:"bool",label:"do_sample",default:!0},{name:"instruct",type:"text",label:"instruct(仅 VoiceDesign/CustomVoice)",default:"",placeholder:"风格/音色指令,Base 版忽略"},{name:"speaker",type:"text",label:"speaker(仅 CustomVoice)",default:"",placeholder:"内置音色名,其它版忽略"}],vibevoice:[{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:10,minimum:1,step:1,precision:0,info:"扩散步数(官方默认 10),越大越慢越稳"},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:1.3,minimum:0,maximum:5,step:.1,info:"CFG 引导强度"},{name:"max_length_times",type:"number",label:"max_length_times",default:2,minimum:.1,step:.1,info:"最大输出长度倍数"},{name:"temperature",type:"slider",label:"temperature",default:1,minimum:.05,maximum:2,step:.05},{name:"top_p",type:"slider",label:"top_p",default:1,minimum:.05,maximum:1,step:.01},{name:"do_sample",type:"bool",label:"do_sample",default:!1},{name:"voice_samples",type:"text",label:"voice_samples(多说话人,逗号分隔 wav,≤4)",default:"",placeholder:"D:/a.wav,D:/b.wav — 用此项时勿再上传参考音色"}],voxcpm2:[{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:10,minimum:1,step:1,precision:0,info:"CFM/DiT 步数"},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2,minimum:0,maximum:5,step:.1},{name:"text_chunk_mode",type:"choice",label:"text_chunk_mode",default:"tag_aware",choices:["default","tag_aware","japanese","endline"]},{name:"min_tokens",type:"number",label:"min_tokens",default:2,minimum:0,step:1,precision:0},{name:"retry_badcase",type:"bool",label:"retry_badcase(自动重试异常输出)",default:!0}],voxcpm1:[{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:10,minimum:1,step:1,precision:0,info:"CFM/DiT 步数"},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2,minimum:0,maximum:5,step:.1},{name:"min_tokens",type:"number",label:"min_tokens",default:2,minimum:0,step:1,precision:0},{name:"retry_badcase",type:"bool",label:"retry_badcase(自动重试异常输出)",default:!0}],miotts:[{name:"temperature",type:"slider",label:"temperature",default:.8,minimum:0,maximum:2,step:.05},{name:"top_k",type:"number",label:"top_k",default:50,minimum:0,step:1,precision:0},{name:"top_p",type:"slider",label:"top_p",default:1,minimum:0,maximum:1,step:.01},{name:"repetition_penalty",type:"slider",label:"repetition_penalty",default:1,minimum:1,maximum:1.5,step:.01},{name:"best_of_n",type:"number",label:"best_of_n(候选数,>1 自动开启)",default:1,minimum:1,maximum:8,step:1,precision:0}],chatterbox:[{name:"exaggeration",type:"slider",label:"exaggeration",default:.5,minimum:0,maximum:2,step:.05,info:"改动后需重新『加载模型』才生效"},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:.5,minimum:0,maximum:1,step:.05,info:"改动后需重新『加载模型』才生效"},{name:"temperature",type:"slider",label:"temperature",default:.8,minimum:0,maximum:2,step:.05},{name:"repetition_penalty",type:"slider",label:"repetition_penalty",default:1.2,minimum:1,maximum:2,step:.01}],"chatterbox-vc":[{name:"s3gen_cfg_rate",type:"slider",label:"s3gen_cfg_rate(音色引导强度)",label_en:"s3gen_cfg_rate (voice guidance)",default:.7,minimum:0,maximum:2,step:.05},{name:"num_inference_steps",type:"number",label:"num_inference_steps(生成步数)",label_en:"num_inference_steps",default:10,minimum:1,maximum:100,step:1,precision:0}],omnivoice:[{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:32,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2,minimum:0,maximum:5,step:.1},{name:"speed",type:"slider",label:"speed",default:1,minimum:.5,maximum:2,step:.05},{name:"instruct",type:"text",label:"instruct(风格/音色指令)",default:"",placeholder:"如:以轻快的语气朗读"}],sense_asr:[{name:"enable_itn",type:"bool",label:"enable_itn(逆文本规范化)",label_en:"enable_itn",default:!0},{name:"keep_tags",type:"bool",label:"keep_tags(保留语言/情绪/事件标签)",label_en:"keep_tags",default:!1},{name:"audio_chunk_mode",type:"choice",label:"audio_chunk_mode",default:"auto",choices:["auto","fixed","none"]},{name:"audio_chunk_duration_sec",type:"number",label:"audio_chunk_duration_sec",default:30,minimum:.001,step:1}],confucius4_r2t2:[{name:"chunk_size_ms",type:"slider",scope:"session",session_option:"confucius4_r2t2.chunk_size_ms",label:"chunk_size_ms(流式分块毫秒)",label_en:"chunk_size_ms (streaming chunk, ms)",default:320,minimum:80,maximum:2e3,step:10,precision:0,info:"80-2000ms:越小延迟越低;320ms 在 Apple Silicon 上延迟与速度较均衡。",info_en:"80-2000 ms. Lower means lower latency; 320 ms balances latency and speed on Apple Silicon."},{name:"unfixed_chunk_num",type:"number",scope:"session",session_option:"confucius4_r2t2.unfixed_chunk_num",label:"unfixed_chunk_num(前 N 块不用稳定前缀)",label_en:"unfixed_chunk_num (leading chunks without prefix)",default:2,minimum:0,maximum:10,step:1,precision:0,info:"开头若干块不使用已识别文本作为前缀提示。",info_en:"Leading chunks that decode without a stable-prefix prompt."},{name:"unfixed_token_num",type:"number",scope:"session",session_option:"confucius4_r2t2.unfixed_token_num",label:"unfixed_token_num(回滚 token 数)",label_en:"unfixed_token_num (rollback tokens)",default:5,minimum:0,maximum:20,step:1,precision:0,info:"作为前缀前从累积文本回滚的 token 数,用于降低边界抖动。",info_en:"Tokens rolled back from the accumulated text before it is used as the prefix prompt."},{name:"rollback_punctuation",type:"bool",scope:"session",session_option:"confucius4_r2t2.rollback_punctuation",label:"rollback_punctuation(句末标点不回滚)",label_en:"rollback_punctuation (keep trailing punctuation)",default:!1,info:"输出已以标点结尾时不再回滚 token。",info_en:"Do not roll back tokens when the output already ends with punctuation."},{name:"max_new_tokens",type:"number",scope:"session",session_option:"confucius4_r2t2.max_tokens",label:"max_new_tokens(每分块解码上限)",label_en:"max_new_tokens (per-chunk decode budget)",default:32,minimum:1,maximum:256,step:1,precision:0,info:"每个流式分块的贪婪解码上限(会话级,区别于离线 max_tokens)。",info_en:"Greedy decode budget per streaming chunk (session-scoped; distinct from offline max_tokens)."}],pocket_tts:[{name:"frames_after_eos",type:"number",label:"frames_after_eos(-1=自动)",default:-1,minimum:-1,step:1,precision:0}],neutts:[{name:"voice_id",type:"choice",label:"voice_id(内置音色)",label_en:"voice_id (built-in voice)",default:"emily",choices:["dave","emily","greta","jo","juliette","mateo","paul","sophie","steven"]},{name:"emotion",type:"choice",label:"emotion(情绪)",label_en:"emotion",default:"neutral",choices:["angry","disgusted","sad","happy","fearful","neutral","surprised"]}],magpie_tts:[{name:"language",type:"choice",label:"language",default:"en",choices:["en","ar-AE","ar-MSA","ar-SA","de","es","fr","hi","it","ko","pt-BR","vi","zh"]},{name:"voice_id",type:"choice",label:"voice_id(打包音色)",label_en:"voice_id (packaged voice)",default:"Aria",choices:["Aria","Jason","John","Leo","Sofia"]},{name:"temperature",type:"slider",label:"temperature",default:.6,minimum:0,maximum:2,step:.05},{name:"top_k",type:"number",label:"top_k",default:80,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2.5,minimum:0,maximum:6,step:.1},{name:"text_chunk_size",type:"number",label:"text_chunk_size",default:300,minimum:1,step:1,precision:0},{name:"text_chunk_mode",type:"choice",label:"text_chunk_mode",default:"default",choices:["default","tag_aware","japanese","endline"]}],breeze_tts:[{name:"instruction",type:"text",label:"instruction",label_en:"Instruction",default:"",placeholder:"Describe the target voice for VoiceDesign."},{name:"text_chunk_size",type:"number",label:"text_chunk_size",default:600,minimum:1,step:1,precision:0},{name:"text_chunk_mode",type:"choice",label:"text_chunk_mode",default:"default",choices:["default","tag_aware","japanese","endline"]},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:1,minimum:0,maximum:10,step:.1},{name:"temperature",type:"slider",label:"temperature",default:.9,minimum:0,maximum:2,step:.05},{name:"depth_temperature",type:"slider",label:"depth_temperature",default:.9,minimum:0,maximum:2,step:.05},{name:"top_k",type:"number",label:"top_k",default:50,minimum:0,step:1,precision:0},{name:"top_p",type:"slider",label:"top_p",default:1,minimum:0,maximum:1,step:.01}],"breeze-tts":[{name:"text_chunk_size",type:"number",label:"text_chunk_size",default:600,minimum:1,step:1,precision:0},{name:"text_chunk_mode",type:"choice",label:"text_chunk_mode",default:"default",choices:["default","tag_aware","japanese","endline"]},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:1,minimum:0,maximum:10,step:.1},{name:"temperature",type:"slider",label:"temperature",default:.9,minimum:0,maximum:2,step:.05},{name:"depth_temperature",type:"slider",label:"depth_temperature",default:.9,minimum:0,maximum:2,step:.05},{name:"top_k",type:"number",label:"top_k",default:50,minimum:0,step:1,precision:0},{name:"top_p",type:"slider",label:"top_p",default:1,minimum:0,maximum:1,step:.01}],cosyvoice3:[{name:"template_name",type:"choice",label:"template_name",default:"zero_shot",choices:["zero_shot","cross_lingual","instruct"]},{name:"instruction",type:"text",label:"instruction",label_en:"Instruction",default:"",placeholder:"Used by template_name=instruct."},{name:"text_chunk_size",type:"number",label:"text_chunk_size",default:600,minimum:1,step:1,precision:0},{name:"text_chunk_mode",type:"choice",label:"text_chunk_mode",default:"default",choices:["default","tag_aware","japanese","endline"]},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:10,minimum:1,step:1,precision:0},{name:"min_tokens",type:"number",label:"min_tokens",default:0,minimum:0,step:1,precision:0},{name:"top_k",type:"number",label:"top_k",default:25,minimum:1,step:1,precision:0}],inflect_v2:[{name:"speaking_rate",type:"slider",label:"speaking_rate(语速倍率)",label_en:"speaking_rate",default:1,minimum:.5,maximum:2,step:.05},{name:"variation",type:"slider",label:"variation(音色变化)",label_en:"variation",default:.667,minimum:0,maximum:1,step:.01},{name:"text_chunk_size",type:"number",label:"text_chunk_size(长文本分段字符数)",label_en:"text_chunk_size",default:280,minimum:1,step:1,precision:0}],sanotts:[{name:"speaking_rate",type:"slider",label:"speaking_rate(语速倍率)",label_en:"speaking_rate",default:1,minimum:.5,maximum:2,step:.05},{name:"text_chunk_size",type:"number",label:"text_chunk_size(长文本分段字符数)",label_en:"text_chunk_size",default:280,minimum:1,step:1,precision:0},{name:"text_chunk_mode",type:"choice",label:"text_chunk_mode",default:"word_budget",choices:["word_budget"]}],dramabox:[{name:"negative_prompt",type:"text",label:"negative_prompt(负向提示)",label_en:"negative_prompt",default:"",placeholder:"留空=模型内置质量提示",placeholder_en:"Blank = built-in quality prompt"},{name:"duration_sec",type:"number",label:"duration_sec(0=自动估时)",label_en:"duration_sec (0 = auto)",default:0,minimum:0,step:.5},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:30,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2.5,minimum:0,maximum:8,step:.1},{name:"spatio_temporal_guidance_scale",type:"slider",label:"spatio_temporal_guidance_scale",default:1.5,minimum:0,maximum:5,step:.1},{name:"duration_scale",type:"slider",label:"duration_scale(自动估时倍率)",label_en:"duration_scale",default:1.1,minimum:.5,maximum:2,step:.05},{name:"reference_duration_sec",type:"number",label:"reference_duration_sec(参考音频裁剪/重复秒数)",label_en:"reference_duration_sec",default:10,minimum:0,step:.5},{name:"guidance_rescale",type:"text",label:"guidance_rescale",default:"auto",placeholder:"auto 或数值"},{name:"audio_chunk_threshold_sec",type:"number",label:"audio_chunk_threshold_sec(长文本阈值)",label_en:"audio_chunk_threshold_sec",default:45,minimum:0,step:1},{name:"audio_chunk_duration_sec",type:"number",label:"audio_chunk_duration_sec(长文本分段目标时长)",label_en:"audio_chunk_duration_sec",default:37,minimum:0,step:1},{name:"cross_fade_duration_sec",type:"number",label:"cross_fade_duration_sec(分段交叉淡化)",label_en:"cross_fade_duration_sec",default:.05,minimum:0,step:.01}],confucius4_tts:[{name:"temperature",type:"slider",label:"temperature",default:.8,minimum:0,maximum:2,step:.05},{name:"top_p",type:"slider",label:"top_p",default:.8,minimum:0,maximum:1,step:.01},{name:"top_k",type:"number",label:"top_k",default:30,minimum:1,step:1,precision:0},{name:"num_beams",type:"number",label:"num_beams",default:3,minimum:1,step:1,precision:0},{name:"repetition_penalty",type:"slider",label:"repetition_penalty",default:10,minimum:0,maximum:20,step:.1},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:25,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:.7,minimum:0,maximum:2,step:.05},{name:"text_chunk_size",type:"number",label:"text_chunk_size",default:80,minimum:1,step:1,precision:0},{name:"text_chunk_mode",type:"choice",label:"text_chunk_mode",default:"default",choices:["default","tag_aware","japanese","endline"]},{name:"cross_fade_duration_sec",type:"number",label:"cross_fade_duration_sec",default:.3,minimum:0,step:.05},{name:"edge_fade_duration_sec",type:"number",label:"edge_fade_duration_sec",default:.1,minimum:0,step:.05},{name:"edge_pad_duration_sec",type:"number",label:"edge_pad_duration_sec",default:.1,minimum:0,step:.05}],ace_step:[{name:"route",type:"choice",label:"route(操作类型)",default:"text2music",choices:["text2music","complete","lego","extract","cover","cover-nofsq","repaint","remix"],info:"cover/remix=换词翻唱,非 text2music 需上传源音频;详见 webui/README.md"},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:8,minimum:1,maximum:20,step:1,precision:0,info:"扩散步数(turbo 上限 20);remix 路由不填时默认 16,其他路由默认 8"},{name:"shift",type:"slider",label:"shift(时间步弯曲)",default:3,minimum:1,maximum:5,step:.5,info:"原版 turbo 默认 3.0;1.0 会明显劣化 remix 换词咬字"},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:1,minimum:0,maximum:5,step:.1},{name:"audio_cover_strength",type:"slider",label:"【cover】audio_cover_strength",default:1,minimum:0,maximum:1,step:.05,info:"1=贴近原曲,0=自由发挥;建议 0.5"},{name:"cover_noise_strength",type:"slider",label:"【cover】cover_noise_strength",default:0,minimum:0,maximum:1,step:.05,info:"保旋律强度;推荐 0.1~0.25"},{name:"source_caption",type:"text",label:"【remix】source_caption",default:"",placeholder:"源歌曲描述;『🔍 分析』自动填"},{name:"source_lyrics",type:"text",lines:4,label:"【remix】source_lyrics",default:"",placeholder:"源歌曲原歌词;『🔍 分析』自动填"},{name:"flow_edit_n_min",type:"slider",label:"【remix】flow_edit_n_min",default:0,minimum:0,maximum:1,step:.05,info:"调大更保源曲、换词更弱"},{name:"flow_edit_n_max",type:"slider",label:"【remix】flow_edit_n_max",default:1,minimum:0,maximum:1,step:.05,info:"唱不出新歌词时降到 0.7~0.9"},{name:"flow_edit_n_avg",type:"number",label:"【remix】flow_edit_n_avg",default:2,minimum:1,maximum:4,step:1,precision:0,info:"每步多次采样取平均(remix 默认 2);1=最快"},{name:"bpm",type:"number",label:"【曲谱】BPM",default:0,minimum:0,step:1,precision:0,info:"0=不指定"},{name:"keyscale",type:"text",label:"【曲谱】keyscale",default:"",placeholder:"如 F major"},{name:"timesignature",type:"text",label:"【曲谱】timesignature",default:"",placeholder:"如 4"}],minimax_music3:[{name:"num_inference_steps",type:"number",label:"Flow steps per window",default:30,minimum:1,maximum:200,step:1,precision:0,info:"Flow-matching Euler steps per 200-frame denoising window."},{name:"guidance_scale",type:"slider",label:"Flow guidance scale",default:1.7,minimum:0,maximum:10,step:.1},{name:"ar_guidance_scale",type:"slider",label:"AR guidance scale",default:1.5,minimum:0,maximum:10,step:.1,info:"Classifier-free guidance of the semantic and residual code sampling."},{name:"top_k",type:"number",label:"top_k",default:50,minimum:1,maximum:1024,step:1,precision:0}],yue2:[{name:"ar_lora",type:"text",scope:"session",session_option:"yue2.ar_lora",label:"ar_lora",label_en:"AR LoRA adapter",default:""},{name:"ar_lora_scale",type:"number",scope:"session",session_option:"yue2.ar_lora_scale",label:"ar_lora_scale",label_en:"AR LoRA strength",default:1,step:.1},{name:"main_gguf",type:"choice",scope:"session",session_option:"yue2.model_gguf",label:"main_gguf",label_en:"Main weights",default:"yue2-3b-q8_0.gguf",choices:["yue2-3b-q8_0.gguf","yue2-3b-q4_0.gguf","yue2-3b-bf16.gguf"],info:"Reload the model after changing this value."},{name:"vae_gguf",type:"choice",scope:"session",session_option:"yue2.vae_gguf",label:"vae_gguf",label_en:"VAE weights",default:"yue2-vae-f16.gguf",choices:["yue2-vae-f16.gguf","yue2-vae-f32.gguf"],info:"Reload the model after changing this value."},{name:"style",type:"text",label:"style",label_en:"Style",default:"English, indie pop, bright acoustic guitar, soft drums, warm lead vocal, polished demo mix",placeholder:"English, city pop, groovy bass, synth, energetic vocal"},{name:"abc",type:"text",label:"abc",label_en:"ABC score",default:"",placeholder:"Optional ABC notation. Use cot=melody or cot=full.",lines:4},{name:"abc_file",type:"text",label:"abc_file",label_en:"ABC file path",default:"",placeholder:"/path/to/score.abc"},{name:"cot",type:"choice",label:"cot",label_en:"Planning route",default:"off",choices:["off","melody","full"],info:"off = direct generation; melody/full use or generate ABC planning."},{name:"guidance_scale",type:"slider",label:"guidance_scale",label_en:"Semantic guidance",default:1.01,minimum:0,maximum:5,step:.01},{name:"num_inference_steps",type:"number",label:"num_inference_steps",label_en:"NAR steps",default:8,minimum:1,maximum:64,step:1,precision:0},{name:"abc_temperature",type:"slider",label:"abc_temperature",label_en:"ABC temperature",default:.7,minimum:0,maximum:2,step:.05},{name:"abc_top_p",type:"slider",label:"abc_top_p",label_en:"ABC top-p",default:.9,minimum:.01,maximum:1,step:.01},{name:"abc_top_k",type:"number",label:"abc_top_k",label_en:"ABC top-k",default:30,minimum:1,step:1,precision:0},{name:"abc_repetition_penalty",type:"slider",label:"abc_repetition_penalty",label_en:"ABC repetition penalty",default:1.005,minimum:.1,maximum:2,step:.001},{name:"abc_penalty_window",type:"number",label:"abc_penalty_window",label_en:"ABC penalty window",default:100,minimum:1,step:1,precision:0},{name:"abc_min_tokens",type:"number",label:"abc_min_tokens",label_en:"ABC min tokens",default:32,minimum:0,step:1,precision:0},{name:"abc_max_tokens",type:"number",label:"abc_max_tokens",label_en:"ABC max tokens",default:4096,minimum:1,step:1,precision:0},{name:"semantic_temperature",type:"slider",label:"semantic_temperature",label_en:"Semantic temperature",default:1,minimum:0,maximum:2,step:.05},{name:"semantic_top_p",type:"slider",label:"semantic_top_p",label_en:"Semantic top-p",default:.95,minimum:.01,maximum:1,step:.01},{name:"semantic_top_k",type:"number",label:"semantic_top_k",label_en:"Semantic top-k",default:100,minimum:1,step:1,precision:0},{name:"semantic_repetition_penalty",type:"slider",label:"semantic_repetition_penalty",label_en:"Semantic repetition penalty",default:1.2,minimum:.1,maximum:2,step:.01},{name:"semantic_penalty_window",type:"number",label:"semantic_penalty_window",label_en:"Semantic penalty window",default:50,minimum:1,step:1,precision:0},{name:"semantic_min_tokens",type:"number",label:"semantic_min_tokens",label_en:"Semantic min tokens",default:200,minimum:0,step:1,precision:0},{name:"semantic_max_tokens",type:"number",label:"semantic_max_tokens",label_en:"Semantic max tokens",default:9e3,minimum:1,step:1,precision:0}],minimax_h3:[{name:"num_inference_steps",type:"number",label:"Denoising steps",default:12,minimum:1,maximum:50,step:1,precision:0,info:"Twelve denoising steps provide a practical quality and performance balance."},{name:"num_frames",type:"number",label:"Output frames",default:241,minimum:5,maximum:1441,step:4,precision:0,info:"Approximately 24 frames per output second; 241 frames produces about 10 seconds of audio."},{name:"guidance_scale",type:"slider",label:"Guidance scale",default:1,minimum:0,maximum:5,step:.1},{name:"sampler",type:"choice",label:"Sampler",default:"euler",choices:["euler","res_multistep","dpmpp_2m","unipc"]},{name:"dit_acceleration",type:"choice",label:"DiT acceleration",default:"none",choices:["none","spectrum","first_block_cache"],info:"None uses the quality-first full-DiT path. Acceleration modes are experimental and may distort some outputs."},{name:"return_video",type:"bool",label:"Decode video",default:!1,info:"Disabled by default to reduce memory use and return audio only."}],stable_audio:[{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:8,minimum:1,step:1,precision:0,info:"RF 扩散步数"},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:1,minimum:0,maximum:5,step:.1},{name:"audio_input_kind",type:"choice",label:"audio_input_kind(仅上传源音频时生效)",default:"init_audio",choices:["init_audio","inpaint_audio"]},{name:"init_noise_level",type:"slider",label:"init_noise_level(init_audio 强度)",default:1,minimum:0,maximum:1,step:.05}],seed_vc:[{name:"route",type:"choice",label:"route(转换路径)",default:"",choices:["","v2_vc","v1_whisper_bigvgan_vc","v1_xlsr_hift_vc","v1_svc"],info:"留空=按任务默认"},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:30,minimum:1,step:1,precision:0,info:"CFM 扩散步数"},{name:"length_adjust",type:"slider",label:"length_adjust(时长伸缩)",default:1,minimum:.5,maximum:2,step:.05},{name:"intelligibility_cfg_rate",type:"slider",label:"intelligibility_cfg_rate(仅 v2_vc)",default:.7,minimum:0,maximum:1,step:.05},{name:"similarity_cfg_rate",type:"slider",label:"similarity_cfg_rate(仅 v2_vc)",default:.7,minimum:0,maximum:1,step:.05},{name:"inference_cfg_rate",type:"slider",label:"inference_cfg_rate(仅 v1 路径)",default:.7,minimum:0,maximum:1,step:.05}],rvc:[{name:"voice_id",type:"choice",label:"voice_id(打包音色)",label_en:"voice_id",default:"default",choices:["default","manthos","chocola","fraise"]},{name:"voice_model_path",type:"text",label:"voice_model_path(自定义 RVC .pth/.pt)",label_en:"voice_model_path",default:"",placeholder:"留空=使用打包音色"},{name:"retrieval_index_path",type:"text",label:"retrieval_index_path(FAISS index)",label_en:"retrieval_index_path",default:"",placeholder:"可选 .index 路径"},{name:"retrieval_blend",type:"slider",label:"retrieval_blend",default:0,minimum:0,maximum:1,step:.05},{name:"semitone_shift",type:"number",label:"semitone_shift(半音变调)",label_en:"semitone_shift",default:0,step:1,precision:0},{name:"pitch_filter_radius",type:"number",label:"pitch_filter_radius",default:3,minimum:0,step:1,precision:0},{name:"output_sample_rate",type:"number",label:"output_sample_rate(0=跟随音色)",label_en:"output_sample_rate (0 = voice default)",default:0,minimum:0,step:1e3,precision:0},{name:"rms_mix_rate",type:"slider",label:"rms_mix_rate",default:.25,minimum:0,maximum:1,step:.05},{name:"unvoiced_protection",type:"slider",label:"unvoiced_protection",default:.33,minimum:0,maximum:1,step:.01},{name:"speaker_id",type:"number",label:"speaker_id",default:0,minimum:0,step:1,precision:0},{name:"audio_pad_duration_sec",type:"number",label:"audio_pad_duration_sec",default:1,minimum:1,step:1,precision:0},{name:"split_query_sec",type:"number",label:"split_query_sec",default:5,minimum:1,step:1,precision:0},{name:"split_center_sec",type:"number",label:"split_center_sec",default:30,minimum:1,step:1,precision:0},{name:"split_threshold_sec",type:"number",label:"split_threshold_sec",default:32,minimum:1,step:1,precision:0}],meanvc2:[{name:"seed",type:"number",label:"seed",default:42,minimum:0,step:1,precision:0}],personaplex:[{name:"voice_id",type:"choice",label:"voice_id(打包音色)",label_en:"voice_id (packaged voice)",default:"NATF2",choices:["NATF0","NATF1","NATF2","NATF3","NATM0","NATM1","NATM2","NATM3","VARF0","VARF1","VARF2","VARF3","VARF4","VARM0","VARM1","VARM2","VARM3","VARM4"]},{name:"system_prompt",type:"text",label:"system_prompt",default:"",placeholder:"Leave blank to use the text box as the system prompt."},{name:"temperature",type:"slider",label:"temperature",default:.8,minimum:0,maximum:2,step:.05},{name:"text_temperature",type:"slider",label:"text_temperature",default:.8,minimum:0,maximum:2,step:.05},{name:"top_k",type:"number",label:"top_k",default:250,minimum:0,step:1,precision:0},{name:"text_top_k",type:"number",label:"text_top_k",default:250,minimum:0,step:1,precision:0},{name:"do_sample",type:"bool",label:"do_sample",default:!0}],vevo2:[{name:"route",type:"choice",label:"route(任务路线)",default:"",choices:["","style_preserved_vc","style_converted_vc","style_preserved_svc","style_converted_svc","singing_style_conversion","editing"],info:"留空=按任务默认;详见 webui/README.md"},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:32,minimum:1,step:1,precision:0,info:"流匹配步数"},{name:"use_pitch_shift",type:"choice",label:"use_pitch_shift(自动音高对齐)",default:"",choices:["","true","false"],info:"留空=按路线默认"},{name:"audio_chunk_duration_sec",type:"number",label:"audio_chunk_duration_sec(源音频分段秒数)",default:0,minimum:0,step:1,info:"0=关闭;仅用于 source-audio VC/SVC 路线"},{name:"cross_fade_duration_sec",type:"number",label:"cross_fade_duration_sec(分段重叠/淡化秒数)",default:1,minimum:0,step:.1,info:"source-audio 分段启用时作为输入重叠和输出交叉淡化时长"},{name:"temperature",type:"slider",label:"temperature(AR 路线用)",default:.7,minimum:0,maximum:2,step:.05,info:"默认取自模型 generation_config.json"},{name:"top_k",type:"number",label:"top_k(AR 路线用)",default:20,minimum:0,step:1,precision:0,info:"默认取自模型 generation_config.json"},{name:"top_p",type:"slider",label:"top_p(AR 路线用)",default:.8,minimum:0,maximum:1,step:.01}],heartmula:[{name:"tags",type:"text",label:"tags(逗号分隔)",default:"pop",placeholder:"pop,bright,drums,female vocals",info:"风格/情绪/乐器/人声标签"},{name:"temperature",type:"slider",label:"temperature",default:1,minimum:0,maximum:2,step:.05},{name:"top_k",type:"number",label:"top_k",default:50,minimum:0,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale(MuLa CFG)",default:1.5,minimum:0,maximum:5,step:.1},{name:"num_inference_steps",type:"number",label:"num_inference_steps(codec 步数)",default:10,minimum:1,step:1,precision:0},{name:"infinite_mode",type:"bool",label:"infinite_mode(长输出分段生成)",default:!1},{name:"codec_guidance_scale",type:"slider",label:"codec_guidance_scale",default:1.25,minimum:0,maximum:5,step:.05}],index_tts2:[{name:"lang",type:"choice",label:"lang(语种提示, 仅 IndexTTS2.5 模型)",label_en:"lang (language hint, IndexTTS2.5 models only)",default:"auto",choices:["auto","zh","en","ja","es","ar"],info:"仅对 IndexTTS2.5(多语种)模型生效:auto 含汉字按中文,否则按英文;日/西/阿建议显式选择",info_en:"Only applies to IndexTTS2.5 (multilingual) models: auto picks zh when the text contains Han characters, otherwise en; set ja/es/ar explicitly"},{name:"emotion_text",type:"text",label:"emotion_text(情绪参考文本)",label_en:"emotion_text (emotion reference text)",default:"",placeholder:"例:你吓死我了!你是鬼吗?",placeholder_en:"e.g. You scared me to death!",info:"填写后自动开启情感条件(use_emotion_text)",info_en:"Setting this enables emotion conditioning."},{name:"emotion_alpha",type:"slider",label:"emotion_alpha(情感强度)",label_en:"emotion_alpha",default:1,minimum:0,maximum:1,step:.05},{name:"use_emotion_text",type:"bool",label:"use_emotion_text(从朗读文本推断情感)",label_en:"use_emotion_text (infer from text)",default:!1},{name:"use_random_emotion",type:"bool",label:"use_random_emotion(随机情感)",label_en:"use_random_emotion",default:!1},{name:"interval_silence_ms",type:"number",label:"interval_silence_ms(分段间静音)",label_en:"interval_silence_ms",default:200,minimum:0,step:50,precision:0},{name:"duration_factor",type:"slider",label:"duration_factor(语速/时长倍率,>1 更慢,<1 更快)",label_en:"duration_factor (duration multiplier; >1 slower, <1 faster)",default:1,minimum:.5,maximum:2,step:.05,info:"对齐官方 IndexTTS2.5 的 duration_factor:缩放输出时长,不改变音色/内容",info_en:"Matches official IndexTTS2.5 duration_factor: scales output duration without changing timbre or content"}],zipvoice:[{name:"guidance_scale",type:"slider",label:"guidance_scale(引导强度,0=关闭)",label_en:"guidance_scale (0 disables CFG)",default:3,minimum:0,maximum:10,step:.5},{name:"num_inference_steps",type:"number",label:"num_inference_steps(Euler 步数)",label_en:"num_inference_steps",default:8,minimum:1,maximum:64,step:1,precision:0},{name:"t_shift",type:"slider",label:"t_shift(时间步偏移,越小越偏低 SNR)",label_en:"t_shift (timestep shift)",default:.5,minimum:.05,maximum:1,step:.05},{name:"speed",type:"slider",label:"speed(语速倍率)",label_en:"speed (duration multiplier)",default:1,minimum:.5,maximum:2,step:.05},{name:"lang",type:"text",label:"lang(英文段 espeak 语言)",label_en:"lang (espeak voice for English runs)",default:"en-us",placeholder:"en-us"}],irodori_tts:[{name:"num_inference_steps",type:"number",label:"num_inference_steps(RF 扩散步数)",label_en:"num_inference_steps",default:40,minimum:1,step:1,precision:0},{name:"duration_sec",type:"number",label:"duration_sec(0=模型自动预测时长)",label_en:"duration_sec (0 = auto)",default:0,minimum:0,step:.5},{name:"duration_scale",type:"slider",label:"duration_scale(语速倒数,越大越慢)",label_en:"duration_scale",default:1,minimum:.5,maximum:2,step:.05}],moss_tts_local:[{name:"do_sample",type:"bool",label:"do_sample",default:!0},{name:"temperature",type:"slider",label:"temperature",default:1.7,minimum:0,maximum:2.5,step:.05},{name:"top_p",type:"slider",label:"top_p",default:.8,minimum:0,maximum:1,step:.01},{name:"top_k",type:"number",label:"top_k",default:25,minimum:0,step:1,precision:0},{name:"repetition_penalty",type:"slider",label:"repetition_penalty",default:1,minimum:1,maximum:2,step:.01}],moss_tts_nano:[{name:"do_sample",type:"bool",label:"do_sample",default:!0},{name:"temperature",type:"slider",label:"temperature",default:1.7,minimum:0,maximum:2.5,step:.05},{name:"top_p",type:"slider",label:"top_p",default:.8,minimum:0,maximum:1,step:.01},{name:"top_k",type:"number",label:"top_k",default:25,minimum:0,step:1,precision:0},{name:"repetition_penalty",type:"slider",label:"repetition_penalty",default:1,minimum:1,maximum:2,step:.01}],audiosr:[{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:50,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:3.5,minimum:0,maximum:10,step:.1},{name:"ddim_eta",type:"slider",label:"ddim_eta",default:1,minimum:0,maximum:1,step:.05},{name:"audio_chunk_duration_sec",type:"number",label:"audio_chunk_duration_sec",default:15,minimum:1,step:1},{name:"audio_chunk_overlap_sec",type:"number",label:"audio_chunk_overlap_sec",default:2,minimum:0,step:.5}],controlfoley:[{name:"duration_sec",type:"number",label:"duration_sec",default:8,minimum:.1,step:.5},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:25,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:4.5,minimum:0,maximum:10,step:.1},{name:"negative_prompt",type:"text",label:"negative_prompt",default:"",placeholder:"optional negative prompt"},{name:"mask_away_clip",type:"bool",label:"mask_away_clip",default:!1}],midashenglm_gen:[{name:"duration_sec",type:"number",label:"duration_sec",default:20,minimum:.1,step:.5},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2,minimum:0,maximum:10,step:.1},{name:"stop_threshold",type:"slider",label:"stop_threshold",default:.5,minimum:0,maximum:1,step:.05},{name:"min_stop_step",type:"number",label:"min_stop_step",default:5,minimum:0,step:1,precision:0}],"fireredtts3-base":[{name:"language",type:"choice",label:"language",default:"Chinese",choices:["Chinese","English","Cantonese","Japanese","Korean","Spanish","French","Russian","Arabic","Turkish","Indonesian","Portuguese","Italian","Dutch","Vietnamese","German","Ukrainian","Thai","Polish","Romanian","Greek","Czech","Finnish","Hindi","ZH_Anhui","ZH_Fujian","ZH_Gansu","ZH_Guizhou","ZH_Hebei","ZH_Henan","ZH_Hubei","ZH_Hunan","ZH_Jiangxi","ZH_Liaoning","ZH_Minnan","ZH_Ningxia","ZH_Shaanxi","ZH_Shandong","ZH_Shanghai","ZH_Shanxi","ZH_Sichuan","ZH_Tianjin","ZH_Wenzhou","ZH_Wu","ZH_Yunnan"]},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:10,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2,minimum:0,maximum:10,step:.1},{name:"stop_threshold",type:"slider",label:"stop_threshold",default:.5,minimum:0,maximum:1,step:.05}],"fireredtts3-instruct":[{name:"template_name",type:"choice",label:"template_name",default:"instruct_tts",choices:["instruct_tts"]},{name:"language",type:"choice",label:"language",default:"Chinese",choices:["Chinese","English","Cantonese","Japanese","Korean","Spanish","French","Russian","Arabic","Turkish","Indonesian","Portuguese","Italian","Dutch","Vietnamese","German","Ukrainian","Thai","Polish","Romanian","Greek","Czech","Finnish","Hindi","ZH_Anhui","ZH_Fujian","ZH_Gansu","ZH_Guizhou","ZH_Hebei","ZH_Henan","ZH_Hubei","ZH_Hunan","ZH_Jiangxi","ZH_Liaoning","ZH_Minnan","ZH_Ningxia","ZH_Shaanxi","ZH_Shandong","ZH_Shanghai","ZH_Shanxi","ZH_Tianjin","ZH_Wenzhou","ZH_Wu","ZH_Yunnan"]},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:10,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2,minimum:0,maximum:10,step:.1},{name:"stop_threshold",type:"slider",label:"stop_threshold",default:.5,minimum:0,maximum:1,step:.05},{name:"text_chunk_size",type:"number",label:"text_chunk_size",default:600,minimum:1,step:1,precision:0},{name:"text_chunk_mode",type:"choice",label:"text_chunk_mode",default:"default",choices:["default","tag_aware","japanese","endline"]}],"fireredtts3-instruct-vdesign":[{name:"template_name",type:"choice",label:"template_name",default:"voice_design",choices:["voice_design"]},{name:"language",type:"choice",label:"language",default:"Chinese",choices:["Chinese","English","Cantonese","Japanese","Korean","Spanish","French","Russian","Arabic","Turkish","Indonesian","Portuguese","Italian","Dutch","Vietnamese","German","Ukrainian","Thai","Polish","Romanian","Greek","Czech","Finnish","Hindi","ZH_Anhui","ZH_Fujian","ZH_Gansu","ZH_Guizhou","ZH_Hebei","ZH_Henan","ZH_Hubei","ZH_Hunan","ZH_Jiangxi","ZH_Liaoning","ZH_Minnan","ZH_Ningxia","ZH_Shaanxi","ZH_Shandong","ZH_Shanghai","ZH_Shanxi","ZH_Tianjin","ZH_Wenzhou","ZH_Wu","ZH_Yunnan"]},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:10,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2,minimum:0,maximum:10,step:.1},{name:"stop_threshold",type:"slider",label:"stop_threshold",default:.5,minimum:0,maximum:1,step:.05}],"firered-audio-tts":[{name:"template_name",type:"choice",label:"template_name",default:"tts_clone",choices:["tts_clone"]},{name:"language",type:"choice",label:"language",default:"zh",choices:["zh","en"]},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:10,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2,minimum:0,maximum:10,step:.1},{name:"max_new_audio_steps",type:"number",label:"max_new_audio_steps",default:750,minimum:1,step:1,precision:0},{name:"top_k",type:"number",label:"top_k",default:20,minimum:0,step:1,precision:0},{name:"top_p",type:"slider",label:"top_p",default:.8,minimum:0,maximum:1,step:.01},{name:"temperature",type:"slider",label:"temperature",default:.7,minimum:0,maximum:2,step:.05}],"firered-audio-vdesign":[{name:"template_name",type:"choice",label:"template_name",default:"voice_design",choices:["voice_design"]},{name:"language",type:"choice",label:"language",default:"zh",choices:["zh","en"]},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:10,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2,minimum:0,maximum:10,step:.1},{name:"max_new_audio_steps",type:"number",label:"max_new_audio_steps",default:750,minimum:1,step:1,precision:0}],"firered-audio-semantic-edit":[{name:"template_name",type:"choice",label:"template_name",default:"semantic_edit",choices:["semantic_edit"]},{name:"language",type:"choice",label:"language",default:"zh",choices:["zh","en"]},{name:"instruction",type:"text",label:"instruction",default:"",placeholder:"delete '比普通的茶叶要'"},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:10,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2,minimum:0,maximum:10,step:.1},{name:"max_new_audio_steps",type:"number",label:"max_new_audio_steps",default:750,minimum:1,step:1,precision:0},{name:"max_new_text_tokens",type:"number",label:"max_new_text_tokens",default:512,minimum:1,step:1,precision:0}],"firered-audio-acoustic-edit":[{name:"template_name",type:"choice",label:"template_name",default:"acoustic_edit",choices:["acoustic_edit"]},{name:"language",type:"choice",label:"language",default:"zh",choices:["zh","en"]},{name:"instruction",type:"text",label:"instruction",default:"shift the pitch by 3 steps",placeholder:"shift the pitch by 3 steps"},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:10,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2,minimum:0,maximum:10,step:.1},{name:"max_new_audio_steps",type:"number",label:"max_new_audio_steps",default:750,minimum:1,step:1,precision:0}],"firered-audio-asr":[{name:"template_name",type:"choice",label:"template_name",default:"asr",choices:["asr","understand"]},{name:"language",type:"choice",label:"language",default:"zh",choices:["zh","en"]},{name:"enable_thinking",type:"bool",label:"enable_thinking",default:!1},{name:"max_new_tokens",type:"number",label:"max_new_tokens",default:512,minimum:1,step:1,precision:0},{name:"top_k",type:"number",label:"top_k",default:20,minimum:0,step:1,precision:0},{name:"top_p",type:"slider",label:"top_p",default:.8,minimum:0,maximum:1,step:.01},{name:"temperature",type:"slider",label:"temperature",default:.7,minimum:0,maximum:2,step:.05}],sopro_tts:[{name:"language",type:"choice",label:"language",label_en:"Language tag",default:"",choices:["","en","pt","fr","de"],info:"Optional <|lang_xx|> tag; helps pronunciation on ambiguous text."},{name:"temperature",type:"slider",label:"temperature",label_en:"Temperature",default:.8,minimum:0,maximum:2,step:.05},{name:"top_p",type:"slider",label:"top_p",label_en:"Top-p",default:.9,minimum:0,maximum:1,step:.01},{name:"top_k",type:"number",label:"top_k",label_en:"Top-k",default:25,minimum:0,step:1,precision:0,info:"0 disables top-k truncation."},{name:"num_inference_steps",type:"number",label:"num_inference_steps",label_en:"Acoustic steps",default:2,minimum:1,maximum:32,step:1,precision:0,info:"Rectified-flow Euler steps for the acoustic head."},{name:"max_seconds",type:"number",label:"max_seconds",label_en:"Max seconds per segment",default:30,minimum:1,maximum:60,step:.5,precision:1},{name:"min_seconds",type:"number",label:"min_seconds",label_en:"Min seconds per segment",default:.4,minimum:0,maximum:10,step:.1,precision:1,info:"Must not exceed max_seconds."},{name:"ref_seconds",type:"number",label:"ref_seconds",label_en:"Reference seconds",default:10,minimum:1,maximum:30,step:.5,precision:1,info:"Reference window used for cloning."},{name:"text_chunk_size",type:"number",label:"text_chunk_size",label_en:"Segment size",default:300,minimum:20,maximum:2e3,step:10,precision:0,info:"Max codepoints per synthesis segment."}],supertonic:[{name:"voice",type:"choice",label:"voice(预置音色:M 男声 / F 女声)",label_en:"voice (M = male, F = female presets)",default:"M1",choices:["M1","M2","M3","M4","M5","F1","F2","F3","F4","F5"]},{name:"speaking_rate",type:"slider",label:"speaking_rate(语速倍率)",label_en:"speaking_rate",default:1.05,minimum:.5,maximum:2,step:.05},{name:"num_inference_steps",type:"number",label:"num_inference_steps(流匹配步数)",label_en:"num_inference_steps",default:8,minimum:1,step:1,precision:0}],audio8_tts:[{name:"temperature",type:"slider",label:"temperature",default:.7,minimum:0,maximum:2,step:.05},{name:"top_p",type:"slider",label:"top_p",default:.9,minimum:0,maximum:1,step:.01},{name:"top_k",type:"number",label:"top_k",default:50,minimum:0,step:1,precision:0},{name:"max_tokens",type:"number",label:"max_tokens",default:1024,minimum:1,step:1,precision:0}]},Fg=Object.assign({"../../../../model_specs/ace_step.json":Ly,"../../../../model_specs/apollo.json":Vy,"../../../../model_specs/audio8_asr.json":Iy,"../../../../model_specs/audio8_tts.json":Oy,"../../../../model_specs/audiosr.json":Hy,"../../../../model_specs/auk.json":Qy,"../../../../model_specs/breeze_tts.json":Wy,"../../../../model_specs/bs_roformer.json":Yy,"../../../../model_specs/builtin_audio_utils.json":Ky,"../../../../model_specs/canary_asr.json":Xy,"../../../../model_specs/chatterbox.json":Zy,"../../../../model_specs/chatterbox_turbo.json":Jy,"../../../../model_specs/citrinet_asr.json":e3,"../../../../model_specs/cohere_asr.json":t3,"../../../../model_specs/confucius4_r2t2.json":a3,"../../../../model_specs/confucius4_tts.json":i3,"../../../../model_specs/controlfoley.json":n3,"../../../../model_specs/cosyvoice3.json":r3,"../../../../model_specs/dots_tts.json":s3,"../../../../model_specs/dramabox.json":o3,"../../../../model_specs/echo_tts.json":c3,"../../../../model_specs/f5_tts.json":l3,"../../../../model_specs/firered_audio.json":d3,"../../../../model_specs/fireredtts3.json":u3,"../../../../model_specs/fish_audio.json":f3,"../../../../model_specs/fun_asr_nano.json":p3,"../../../../model_specs/glm_tts.json":m3,"../../../../model_specs/granite5asr.json":g3,"../../../../model_specs/heartmula.json":h3,"../../../../model_specs/higgs_audio_stt.json":_3,"../../../../model_specs/higgs_audio_tts.json":v3,"../../../../model_specs/htdemucs.json":b3,"../../../../model_specs/hviske_asr.json":y3,"../../../../model_specs/index_tts2.json":k3,"../../../../model_specs/inflect_v2.json":w3,"../../../../model_specs/irodori_tts.json":x3,"../../../../model_specs/kokoro_tts.json":S3,"../../../../model_specs/kroko_asr.json":T3,"../../../../model_specs/liveavatar.json":$3,"../../../../model_specs/magpie_tts.json":q3,"../../../../model_specs/meanvc2.json":G3,"../../../../model_specs/mel_band_roformer.json":F3,"../../../../model_specs/midashenglm_gen.json":A3,"../../../../model_specs/minimax_h3.json":C3,"../../../../model_specs/minimax_music3.json":M3,"../../../../model_specs/miocodec.json":z3,"../../../../model_specs/miotts.json":E3,"../../../../model_specs/mira_tts.json":j3,"../../../../model_specs/mms_forced_aligner.json":U3,"../../../../model_specs/moonshine_asr.json":R3,"../../../../model_specs/moss_transcribe_diarize.json":B3,"../../../../model_specs/moss_tts_local.json":P3,"../../../../model_specs/moss_tts_nano.json":N3,"../../../../model_specs/moss_voicegen.json":D3,"../../../../model_specs/muscriptor.json":L3,"../../../../model_specs/nemotron_asr.json":V3,"../../../../model_specs/neutts.json":I3,"../../../../model_specs/niagara_asr.json":O3,"../../../../model_specs/omnivoice.json":H3,"../../../../model_specs/outetts.json":Q3,"../../../../model_specs/parakeet_tdt.json":W3,"../../../../model_specs/personaplex.json":Y3,"../../../../model_specs/pocket_tts.json":K3,"../../../../model_specs/pulsevad.json":X3,"../../../../model_specs/qwen3_asr.json":Z3,"../../../../model_specs/qwen3_forced_aligner.json":J3,"../../../../model_specs/qwen3_tts.json":ek,"../../../../model_specs/rvc.json":tk,"../../../../model_specs/sanotts.json":ak,"../../../../model_specs/seed_vc.json":ik,"../../../../model_specs/sense_asr.json":nk,"../../../../model_specs/sheetsage2.json":rk,"../../../../model_specs/soprano_tts.json":sk,"../../../../model_specs/sopro_tts.json":ok,"../../../../model_specs/sortformer_diar.json":ck,"../../../../model_specs/sortformer_diar_v2.json":lk,"../../../../model_specs/stable_audio.json":dk,"../../../../model_specs/supertonic.json":uk,"../../../../model_specs/universr.json":fk,"../../../../model_specs/vevo2.json":pk,"../../../../model_specs/vibeasr.json":mk,"../../../../model_specs/vibevoice.json":gk,"../../../../model_specs/vibevoice_asr.json":hk,"../../../../model_specs/vibevoice_asr_streaming.json":_k,"../../../../model_specs/vietneu_tts.json":vk,"../../../../model_specs/voxcpm1.json":bk,"../../../../model_specs/voxcpm2.json":yk,"../../../../model_specs/voxtral_realtime.json":kk,"../../../../model_specs/yue2.json":wk,"../../../../model_specs/zipvoice.json":xk}),Wd=Object.values(Fg).flatMap(t=>(t.packages||[]).map(a=>({...a,family:t.family}))),$k=new Map(Object.values(Fg).map(t=>[t.family,t])),qk=new Set(["canary_asr","cohere_asr","moss_transcribe_diarize","confucius4_r2t2","audiosr","controlfoley","breeze_tts","cosyvoice3","firered_audio","fireredtts3","irodori_tts","kokoro_tts","meanvc2","midashenglm_gen","sanotts"]),Gk=/[\u3400-\u4dbf\u4e00-\u9fff\uf900-\ufaff]/u;function ec(t,a){for(const r of[t,a])if(r&&!Gk.test(r))return r;return""}function Fk(t,a,r){return ec(a,r)||t.replace(/_/g," ")}const Ag=t=>t.replace(/\\/g,"/").replace(/^\.\//,"").replace(/^models\//i,"").replace(/\/$/,"").toLowerCase(),Cg=t=>t.toLowerCase().replace(/[^a-z0-9]/g,"");function Yd(t){return t.find(a=>a.default)||t.find(a=>a.precision==="q8_0")||t[0]}function Mg(t){const a=Wd.filter(d=>d.family===t.family);if(!a.length)return[];if(t.family==="ace_step"||t.family==="minimax_music3"||!t.download_id)return a;const r=a.find(d=>d.id===t.download_id);if(r){const d=r.id.replace(/_(?:q8_0|q8|f16|fp16|bf16|safetensors|orig)$/i,""),p=a.filter(m=>m.id.replace(/_(?:q8_0|q8|f16|fp16|bf16|safetensors|orig)$/i,"")===d);return p.length?p:[r]}const n=Cg(t.download_id),i=a.filter(d=>{const p=Cg(d.id);return p.startsWith(n)||n.startsWith(p)});if(i.length)return i;const c=Ag(t.path),s=a.filter(d=>Ag(d.target_directory)===c);if(s.length){const d=new Set(s.map(m=>m.id.replace(/_(?:q8_0|q8|f16|fp16|bf16|safetensors|orig)$/i,""))),p=a.filter(m=>d.has(m.id.replace(/_(?:q8_0|q8|f16|fp16|bf16|safetensors|orig)$/i,"")));return p.length?p:s}return a}function Ak(t){const a=Wd.filter(i=>i.family===t.family&&i.format==="gguf");if(!a.length)return[];if(t.family==="sanotts"||!t.download_id)return a;const r=a.find(i=>i.id===t.download_id);if(!r)return Mg(t);const n=a.filter(i=>i.target_directory===r.target_directory);return n.length?n:[r]}function zg(t,a){return a&&t.id===a?0:t.default?1:["q4_k","q4_0","q8_0","q8"].includes(t.precision)?2:["f16","fp16","bf16"].includes(t.precision)?3:t.precision==="f32"?4:t.precision==="orig"?5:6}function Kd(t){if(t.family==="sanotts"){if(t.id.includes("_heart_nano_"))return"Heart Nano";if(t.id.includes("_heart_"))return"Heart";if(t.id.includes("_amy_"))return"Amy";if(t.id.includes("_hfc_"))return"HFC";if(t.id.includes("_kristin_"))return"Kristin";if(t.id.includes("_vi_"))return"Vietnamese";if(t.id.includes("_id_"))return"Indonesian"}if(t.family==="ace_step"){const a=t.precision==="bf16"?"BF16":["q8_0","q8"].includes(t.precision)?"Q8":t.precision.toUpperCase();return t.id.includes("_xl_turbo_")?`GGUF Turbo XL ${a}`:t.id.includes("_xl_sft_")?`GGUF Turbo XL SFT ${a}`:t.id.includes("_turbo_")?`GGUF Turbo ${a}`:`GGUF ${a}`}return t.family==="irodori_tts"&&t.id.includes("_anime_")?"Anime Q8":t.family==="yue2"?t.id==="yue2_main_q8_0"?"Main Q8_0":t.id==="yue2_main_q4_0"?"Main Q4_0":t.id==="yue2_main_bf16"?"Main BF16":t.id==="yue2_vae_f16"?"VAE F16":t.id==="yue2_vae_f32"?"VAE F32":t.display_name||"Yue2 component":t.format==="safetensors"?"Safetensors":t.id.includes("int8_dit")?"GGUF Q4 ConvRot":t.precision==="q4_k"||t.precision==="q4_0"?"GGUF Q4":t.precision==="q8_0"||t.precision==="q8"?"GGUF Q8":t.precision==="bf16"?"GGUF BF16":t.precision==="f16"||t.precision==="fp16"?"GGUF FP16":`GGUF ${t.precision.toUpperCase()}`}function Xd(t){let a;if(t.format==="gguf"&&t.family==="minimax_h3"){const i=t.id.includes("int8_dit")?"dit_int8.gguf":"dit.gguf";a=t.files?.find(c=>c.toLowerCase().endsWith(`/${i}`))}else{if(t.format==="gguf"&&(t.family==="minimax_music3"||t.family==="yue2"))return`models/${t.target_directory}`;t.format==="gguf"&&(a=t.files?.find(i=>i.toLowerCase().endsWith(".gguf")))}if(!a)return`models/${t.target_directory}`;let r=a.replace(/\\/g,"/");const n=(t.strip_prefix||"").replace(/\\/g,"/").replace(/\/$/,"");return n&&r.startsWith(`${n}/`)&&(r=r.slice(n.length+1)),`models/${t.target_directory}/${r}`.replace(/\/+/g,"/")}function Zd(t){if(t.family==="minimax_music3"){if(t.id==="minimax_music3_q8_0")return{"minimax_music3.language_model_gguf":"language_model_q8_0.gguf","minimax_music3.rvq_depth_decoder_gguf":"rvq_depth_decoder_q8_0.gguf","minimax_music3.flow_transformer_gguf":"transformer_q8_0.gguf"};if(t.id==="minimax_music3_bf16")return{"minimax_music3.language_model_gguf":"language_model_bf16.gguf","minimax_music3.rvq_depth_decoder_gguf":"rvq_depth_decoder_bf16.gguf","minimax_music3.flow_transformer_gguf":"transformer_bf16.gguf"};if(t.id==="minimax_music3_q4_0")return{"minimax_music3.language_model_gguf":"language_model_q4_0.gguf","minimax_music3.rvq_depth_decoder_gguf":"rvq_depth_decoder_q8_0.gguf","minimax_music3.flow_transformer_gguf":"transformer_q4_0.gguf"}}}function Ck(t){const a=qk.has(t.family);if(t.family==="yue2"){const s=Wd.filter(p=>p.family===t.family&&p.format==="gguf"),d=new Map([["yue2_main_q8_0",0],["yue2_main_q4_0",1],["yue2_main_bf16",2],["yue2_vae_f16",3],["yue2_vae_f32",4]]);return s.filter(p=>p.format==="gguf").sort((p,m)=>(d.get(p.id)??99)-(d.get(m.id)??99)).map(p=>({id:p.id,label:Kd(p),path:Xd(p),format:p.format,precision:p.precision,session_options:Zd(p)}))}const r=a?Ak(t):Mg(t);if(t.family==="ace_step"||t.family==="minimax_music3"||a)return r.filter(s=>s.format==="gguf").sort((s,d)=>a?zg(s,t.download_id)-zg(d,t.download_id):+(d.default===!0)-+(s.default===!0)).map(s=>({id:s.id,label:Kd(s),path:Xd(s),format:s.format,precision:s.precision,session_options:Zd(s)}));const n=Yd(r.filter(s=>s.format==="gguf"&&["q8_0","q8"].includes(s.precision))),i=Yd(r.filter(s=>s.format==="gguf"&&["f16","fp16"].includes(s.precision)))||Yd(r.filter(s=>s.format==="gguf"&&s.precision==="bf16")),c=!n&&!i?r.filter(s=>s.format==="gguf"):[];return[n,i,...c].filter(s=>s!==void 0).map(s=>({id:s.id,label:Kd(s),path:Xd(s),format:s.format,precision:s.precision,session_options:Zd(s)}))}const Fi=Sk.models.flatMap(t=>{const a=Ck(t);if(t.download_id&&a.length===0)return[];const r=a[0],n=$k.get(t.family);return[{...t,display_name:ec(t.display_name_en,t.display_name)||t.id,input_hint:ec(t.input_hint_en,t.input_hint),download_id:r?.id||t.download_id,install_packages:a,path:r?.path||t.path,request_options:n?.options?.request?.map(i=>i.name),required_request_options:n?.options?.request?.filter(i=>i.required===!0).map(i=>i.name),builtin_voices:n?.ui?.builtin_voices,default_voice:n?.ui?.default_voice}]}),Eg=Object.fromEntries(Object.entries(Tk).filter(t=>Array.isArray(t[1])).map(([t,a])=>[t,a.map(r=>({...r,label:Fk(r.name,r.label_en,r.label),placeholder:ec(r.placeholder_en,r.placeholder),info:ec(r.info_en,r.info)}))])),Mk={tts:"Text to speech",clon:"Voice cloning",asr:"Transcription",gen:"Music & sound",midi:"Audio to MIDI",vc:"Voice conversion",svc:"Singing conversion",s2s:"Speech editing",sep:"Source separation",vad:"Voice activity",diar:"Speaker diarization",align:"Forced alignment",vdes:"Voice design",spk:"Speaker analysis"},zk={code:"it",name:"Italiano",translations:JSON.parse(`{"request.minimaxFrames":"{frames} fotogrammi di output allineati","param.minimax_h3.num_inference_steps.label":"Passaggi di denoising","param.minimax_h3.num_inference_steps.info":"Dodici passaggi di denoising offrono un buon equilibrio tra qualità e prestazioni.","param.minimax_h3.num_frames.label":"Fotogrammi di output","param.minimax_h3.num_frames.info":"Calcolati dalla durata a circa 24 fotogrammi per secondo di output. Modificando i fotogrammi si aggiorna anche la durata.","param.minimax_h3.guidance_scale.label":"Scala di guida","param.minimax_h3.sampler.label":"Campionatore","param.minimax_h3.dit_acceleration.label":"Accelerazione DiT","param.minimax_h3.dit_acceleration.info":"None usa il percorso DiT completo orientato alla qualità. Le modalità accelerate sono sperimentali e possono distorcere alcuni risultati.","param.minimax_h3.return_video.label":"Decodifica video","param.minimax_h3.return_video.info":"Disattivata per impostazione predefinita per ridurre l'uso della memoria e restituire solo l'audio.","model.minimax_h3.hint":"MiniMax-H3 usa un DiT audio/video congiunto. GGUF Q4 privilegia la qualità; GGUF Q4 ConvRot, solo CUDA, usa un po' più VRAM per una maggiore velocità. Il percorso DiT completo predefinito privilegia la qualità audio e disattiva la decodifica video.","status.modelReady":"{model} è caricato e pronto.","status.runningTask":"Esecuzione di {task}...","status.completeIn":"Completato in {seconds} s.","status.packageAvailable":"{model} userà {format}. Ora è disponibile nello Studio.","app.nativeStudio":"Studio nativo","nav.studio":"Studio","nav.arena":"Arena","nav.models":"Modelli","nav.runtime":"Runtime","language.label":"Lingua dell'interfaccia","theme.label":"Tema","theme.system":"Sistema","theme.dark":"Scuro","theme.light":"Chiaro","workflow.tts":"Sintesi vocale","workflow.asr":"ASR / Trascrizione","workflow.music":"Generazione musicale","workflow.vc":"Conversione vocale","workflow.sep":"Separazione sorgenti","workflow.analysis":"Analisi audio","workflow.design":"Progettazione voce","studio.eyebrow":"INTELLIGENZA AUDIO LOCALE","studio.title":"Studio audio","studio.subtitle.tts":"Genera una voce naturale dal testo, con voci predefinite e clonazione quando supportate.","studio.subtitle.asr":"Trascrivi l'audio parlato in testo, con controlli di lingua e timestamp quando supportati.","studio.subtitle.music":"Crea musica e suoni da una descrizione, un testo o un audio di riferimento.","studio.subtitle.vc":"Trasforma una registrazione in un'altra voce conservando l'interpretazione parlata o cantata.","studio.subtitle.sep":"Separa una registrazione in voce, strumenti o altre tracce audio disponibili.","studio.subtitle.analysis":"Analizza attività vocale, parlanti, tempi e allineamento dell'audio.","studio.subtitle.design":"Crea o perfeziona una voce da una descrizione e dai controlli di riferimento supportati.","studio.model":"Modello","studio.noModel":"Nessun modello selezionato","studio.resident":"Caricato","studio.notInstalled":"Non installato","studio.available":"Disponibile","studio.chooseInstalled":"Scegli un modello installato","studio.notDownloaded":"non scaricato","studio.pathFound":"Percorso trovato","studio.pathMissing":"Percorso mancante","studio.pathUnknown":"Percorso non verificato","studio.load":"Carica modello","studio.unload":"Scarica modello","studio.working":"Elaborazione…","studio.bundledLoaded":"Integrato · caricato","request.label":"RICHIESTA","request.title":"Input e controlli","request.prompt":"Prompt","request.text":"Testo","request.splitLongText":"Dividi e unisci testi lunghi","request.charactersPerChunk":"Caratteri per segmento","request.language":"Lingua","request.autoLanguage":"vuoto = automatico","request.seed":"Seed","request.randomSeed":"-1 = casuale","request.maxTokens":"Token massimi","request.sourceAudio":"Audio sorgente","request.recordMicrophone":"Registra microfono","voice.quickStart":"Voci demo per avvio rapido","voice.useReference":"Usa un file audio di riferimento qui sotto","voice.reference":"Voce di riferimento","voice.required":"obbligatoria","voice.optional":"opzionale","voice.referenceText":"Testo di riferimento","voice.transcript":"Trascrizione di riferimento","voice.saved":"Voci salvate","voice.browserOnly":"solo in questo browser","voice.chooseSaved":"Scegli una voce salvata...","voice.libraryName":"Nome nella libreria","voice.save":"Salva voce","common.delete":"Elimina","common.cancel":"Annulla","common.close":"Chiudi","common.refresh":"Aggiorna","common.browse":"Sfoglia","common.apply":"Applica","options.modelParameters":"Parametri del modello","options.additional":"Opzioni aggiuntive","run.run":"Esegui","run.cancel":"Annulla","run.working":"Elaborazione…","result.title":"Risultato","result.label":"RISULTATO","result.saveWav":"Salva WAV","result.empty":"L'audio generato e i risultati strutturati appariranno qui.","models.eyebrow":"LIBRERIA MODELLI","models.title":"Pacchetti locali","models.subtitle":"Scarica e gestisci i pacchetti dei modelli senza uscire dall'interfaccia.","models.folder":"Cartella modelli","models.useDefault":"Usa predefinita","models.showTypes":"Mostra tipi di modello","models.stopDownload":"Interrompi download","models.cleanPartial":"Elimina download parziale","runtime.title":"Registro sessione","runtime.status":"Stato","runtime.backend":"Backend","runtime.registered":"Registrati","runtime.resident":"Caricati","runtime.noEvents":"Nessun evento.","folder.title":"Scegli una cartella","folder.up":"Livello superiore","folder.select":"Seleziona questa cartella","common.applying":"Applicazione…","common.disabled":"Disabilitato","common.enabled":"Abilitato","file.choose":"Scegli file","file.none":"Nessun file selezionato","folder.closeLabel":"Chiudi selettore cartelle","folder.empty":"Questa cartella non contiene sottocartelle.","folder.eyebrow":"CARTELLA MODELLI","folder.loading":"Caricamento...","folder.loadingFolders":"Caricamento cartelle...","footer.embedded":"SvelteKit · incorporato in audiocpp_server","models.checkingSize":"verifica dimensione…","models.default":"Predefinita","models.downloaded":"Scaricato","models.folderHint":"download, rilevamento locale e caricamento dei modelli","models.folderPlaceholder":"cartella models accanto ad audiocpp_server","models.hfAccess":"Accesso HF richiesto","models.model":"modello","models.queued":"in coda","models.reinstall":"Reinstalla","models.selected":"Selezionato","models.sharedPackage":"Usa il pacchetto condiviso {name} mostrato sopra.","models.sizeUnavailable":"dimensione non disponibile","models.stopping":"arresto","models.update":"Aggiorna","models.updateAvailable":"Aggiornamento disponibile","models.upToDate":"Aggiornato","models.variants":"varianti","models.versionUnknown":"Versione sconosciuta","nav.primary":"Navigazione principale","nav.workflows":"Flussi di lavoro audio","arena.eyebrow":"ARENA","arena.title.tts":"Confronto TTS","arena.title.vc":"Confronto conversione vocale","arena.title.asr":"Confronto ASR","arena.subtitle":"Esegue lo stesso input sui modelli installati e sui pacchetti scelti, uno dopo l'altro.","arena.subtitle.tts":"Esegue lo stesso testo sui modelli TTS e sui pacchetti scelti.","arena.subtitle.vc":"Esegue lo stesso audio sorgente sui modelli di conversione vocale scelti.","arena.subtitle.asr":"Esegue lo stesso audio sorgente sui modelli ASR scelti e confronta le trascrizioni.","arena.mode.tts":"TTS","arena.mode.vc":"Conversione vocale","arena.mode.asr":"ASR","arena.input.label":"Input","arena.input.title":"Richiesta condivisa","arena.input.textPlaceholder":"Inserisci un prompt da confrontare tra modelli TTS","arena.input.groundTruth":"Testo atteso","arena.input.groundTruthPlaceholder":"Incolla la trascrizione attesa per calcolare il WER","arena.shared":"condivisa","arena.voice.label":"Voce","arena.voice.modelDefault":"Predefinita del modello","arena.voice.builtin":"Voce demo integrata","arena.voice.reference":"Audio di riferimento","arena.voice.builtinNote":"Le voci integrate vengono passate come voice ID a ogni modello. Questo tipo di voce non richiede testo di riferimento.","arena.voice.targetSpeaker":"Audio parlante target","arena.voice.clearTarget":"Cancella target","arena.voice.clearReference":"Cancella riferimento","arena.options.shared":"Opzioni condivise","arena.queue.label":"Coda","arena.queue.title":"Modelli","arena.queue.add":"Aggiungi","arena.queue.remove":"Rimuovi","arena.queue.clear":"Cancella","arena.queue.empty":"Aggiungi modelli installati o pacchetti di precisione da confrontare.","arena.run":"Esegui arena","arena.package.label":"Pacchetto","arena.package.configured":"Configurato","arena.results.title":"Confronta output","arena.results.empty":"Nessun risultato arena.","arena.metric.wall":"tempo","arena.metric.rtf":"rtf","arena.metric.wer":"wer","arena.itemStatus.queued":"in coda","arena.itemStatus.loading":"caricamento","arena.itemStatus.running":"esecuzione","arena.itemStatus.done":"completato","arena.itemStatus.failed":"fallito","arena.itemStatus.skipped":"saltato","arena.status.duplicate":"{model} {package} è già nell'arena.","arena.status.loadingModel":"Caricamento modello","arena.status.runningRequest":"Esecuzione richiesta","arena.status.addModel":"Aggiungi almeno un modello all'arena.","arena.status.running":"Esecuzione arena {mode}...","arena.status.complete":"Esecuzione arena completata.","arena.note.skippedTargetVoice":"Saltato perché questo modello VC richiede audio del parlante target.","arena.note.skippedReferenceText":"Saltato perché questo modello richiede testo di riferimento per l'input voce selezionato.","arena.note.builtinVoice":"Voce integrata usata: {voice}.","arena.note.referenceVoice":"Voce di riferimento usata.","arena.note.referenceUnsupported":"Voce predefinita usata; la voce di riferimento non è supportata.","arena.note.defaultVoice":"Voce predefinita usata: {voice}.","arena.note.skippedReferenceVoice":"Saltato perché questo modello richiede una voce di riferimento.","arena.error.seed":"Il seed deve essere -1 o un intero unsigned a 32 bit (0-4294967295).","arena.error.jsonObject":"deve essere un oggetto","arena.error.invalidJson":"JSON opzioni arena non valido: {error}","arena.error.unregistered":"Il modello configurato non è registrato da questo server.","arena.error.notDownloaded":"{package} non è scaricato.","arena.error.loadFailed":"Il modello non è stato caricato.","arena.error.missingCatalog":"Il modello non è più nel catalogo.","arena.error.enterTtsText":"Inserisci testo per l'arena TTS.","arena.error.chooseAsrSource":"Scegli audio sorgente per l'arena ASR.","arena.error.chooseVcSource":"Scegli audio sorgente per l'arena VC.","arena.error.noAudio":"La risposta non include audio.","request.alignmentText":"Testo di allineamento","request.context":"Prompt di contesto","request.contextHint":"terminologia o nomi opzionali","request.duration":"Durata in secondi","request.liveDescription":"Elabora richieste consecutive di quattro secondi usando la modalità streaming del modello.","request.liveTitle":"Trascrizione microfono in diretta","request.lyrics":"Testo della canzone","request.optional":"opzionale","request.recordingMicrophone":"Registrazione microfono","request.soundPlaceholder":"Descrivi il suono o la musica…","request.startLive":"Avvia diretta","request.stopLive":"Ferma diretta","request.stopRecording":"Ferma registrazione","request.textPlaceholder":"Inserisci il testo…","request.voiceDescription":"Descrizione della voce","request.voiceDescriptionPlaceholder":"Una voce calda e calma con ritmo misurato…","result.track":"traccia","result.tracks":"tracce","runtime.eyebrow":"RUNTIME","runtime.subtitle":"Eventi del ciclo di vita e delle richieste nel browser.","status.ready":"Pronto","studio.estimatedVram":"VRAM stimata: {value} GB","studio.vram":"VRAM —","task.align":"Allineamento forzato","task.asr":"Trascrizione","task.clon":"Clonazione vocale","task.diar":"Diarizzazione parlanti","task.gen":"Generazione musicale","task.s2s":"Modifica del parlato","task.sep":"Separazione sorgenti","task.svc":"Conversione della voce cantata","task.tts":"Sintesi vocale","task.vad":"Attività vocale","task.vc":"Conversione vocale","task.vdes":"Progettazione voce","voice.bundledNote":"L'audio di riferimento incluso e la relativa trascrizione vengono forniti automaticamente.","voice.namePlaceholder":"La mia voce di riferimento","voice.recommendedClone":"consigliata per la clonazione","voice.recording":"Registrazione voce di riferimento","voice.requiredClone":"obbligatoria per questa clonazione vocale","voice.transcriptPlaceholder":"Digita le parole esatte dell'audio di riferimento oppure carica il file .txt corrispondente."}`)},Ek={code:"pl",name:"Polski",translations:JSON.parse('{"request.minimaxFrames":"{frames} wyrównanych klatek wyjściowych","param.minimax_h3.num_inference_steps.label":"Kroki odszumiania","param.minimax_h3.num_inference_steps.info":"Dwanaście kroków odszumiania zapewnia praktyczną równowagę jakości i wydajności.","param.minimax_h3.num_frames.label":"Klatki wyjściowe","param.minimax_h3.num_frames.info":"Obliczane z czasu trwania przy około 24 klatkach na sekundę wyjścia. Zmiana liczby klatek aktualizuje również czas trwania.","param.minimax_h3.guidance_scale.label":"Skala naprowadzania","param.minimax_h3.sampler.label":"Próbnik","param.minimax_h3.dit_acceleration.label":"Przyspieszenie DiT","param.minimax_h3.dit_acceleration.info":"None używa pełnej ścieżki DiT nastawionej na jakość. Tryby przyspieszone są eksperymentalne i mogą zniekształcać niektóre wyniki.","param.minimax_h3.return_video.label":"Dekoduj wideo","param.minimax_h3.return_video.info":"Domyślnie wyłączone, aby zmniejszyć zużycie pamięci i zwracać tylko dźwięk.","model.minimax_h3.hint":"MiniMax-H3 korzysta ze wspólnego DiT audio/wideo. GGUF Q4 stawia na jakość; dostępny tylko dla CUDA GGUF Q4 ConvRot używa nieco więcej VRAM, aby działać szybciej. Domyślna pełna ścieżka DiT nadaje priorytet jakości dźwięku, a dekodowanie wideo jest wyłączone.","status.modelReady":"{model} jest załadowany i gotowy.","status.runningTask":"Uruchamianie: {task}...","status.completeIn":"Ukończono w {seconds} s.","status.packageAvailable":"{model} użyje {format}. Model jest dostępny w Studio.","app.nativeStudio":"Studio natywne","nav.studio":"Studio","nav.arena":"Arena","nav.models":"Modele","nav.runtime":"Środowisko","language.label":"Język interfejsu","theme.label":"Motyw","theme.system":"System","theme.dark":"Ciemny","theme.light":"Jasny","workflow.tts":"Synteza mowy","workflow.asr":"ASR / Transkrypcja","workflow.music":"Generowanie muzyki","workflow.vc":"Konwersja głosu","workflow.sep":"Separacja źródeł","workflow.analysis":"Analiza dźwięku","workflow.design":"Projektowanie głosu","studio.eyebrow":"LOKALNA INTELIGENCJA AUDIO","studio.title":"Studio audio","studio.subtitle.tts":"Generuj naturalną mowę z tekstu, korzystając z gotowych głosów i klonowania, gdy model je obsługuje.","studio.subtitle.asr":"Transkrybuj mowę z nagrań na tekst, korzystając z ustawień języka i znaczników czasu, gdy są obsługiwane.","studio.subtitle.music":"Twórz muzykę i dźwięki na podstawie opisu, tekstu piosenki lub nagrania referencyjnego.","studio.subtitle.vc":"Przekształcaj nagranie w inny głos, zachowując sposób mówienia lub śpiewania.","studio.subtitle.sep":"Rozdzielaj nagranie na wokal, instrumenty lub inne dostępne ścieżki.","studio.subtitle.analysis":"Analizuj aktywność mowy, mówców, czas i wyrównanie nagrania.","studio.subtitle.design":"Twórz lub dopracowuj głos na podstawie opisu i obsługiwanych ustawień referencyjnych.","studio.model":"Model","studio.noModel":"Nie wybrano modelu","studio.resident":"Załadowany","studio.notInstalled":"Nie zainstalowano","studio.available":"Dostępny","studio.chooseInstalled":"Wybierz zainstalowany model","studio.notDownloaded":"nie pobrano","studio.pathFound":"Ścieżka znaleziona","studio.pathMissing":"Brak ścieżki","studio.pathUnknown":"Ścieżka niesprawdzona","studio.load":"Załaduj model","studio.unload":"Wyładuj model","studio.working":"Przetwarzanie…","studio.bundledLoaded":"Wbudowany · załadowany","request.label":"ŻĄDANIE","request.title":"Dane wejściowe i ustawienia","request.prompt":"Polecenie","request.text":"Tekst","request.splitLongText":"Dziel i łącz długi tekst","request.charactersPerChunk":"Znaki na fragment","request.language":"Język","request.autoLanguage":"puste = automatycznie","request.seed":"Ziarno","request.randomSeed":"-1 = losowe","request.maxTokens":"Maksymalna liczba tokenów","request.sourceAudio":"Dźwięk źródłowy","request.recordMicrophone":"Nagraj mikrofon","voice.quickStart":"Szybkie głosy demonstracyjne","voice.useReference":"Użyj pliku dźwiękowego poniżej","voice.reference":"Głos referencyjny","voice.required":"wymagany","voice.optional":"opcjonalny","voice.referenceText":"Tekst referencyjny","voice.transcript":"Transkrypcja referencyjna","voice.saved":"Zapisane głosy","voice.browserOnly":"tylko w tej przeglądarce","voice.chooseSaved":"Wybierz zapisany głos...","voice.libraryName":"Nazwa w bibliotece","voice.save":"Zapisz głos","common.delete":"Usuń","common.cancel":"Anuluj","common.close":"Zamknij","common.refresh":"Odśwież","common.browse":"Przeglądaj","common.apply":"Zastosuj","options.modelParameters":"Parametry modelu","options.additional":"Dodatkowe opcje","run.run":"Uruchom","run.cancel":"Anuluj","run.working":"Przetwarzanie…","result.title":"Wynik","result.label":"WYNIK","result.saveWav":"Zapisz WAV","result.empty":"W tym miejscu pojawi się wygenerowany dźwięk i wyniki strukturalne.","models.eyebrow":"BIBLIOTEKA MODELI","models.title":"Pakiety lokalne","models.subtitle":"Pobieraj i zarządzaj pakietami modeli bez opuszczania interfejsu.","models.folder":"Folder modeli","models.useDefault":"Użyj domyślnego","models.showTypes":"Pokaż typy modeli","models.stopDownload":"Zatrzymaj pobieranie","models.cleanPartial":"Usuń częściowe pobieranie","runtime.title":"Dziennik sesji","runtime.status":"Stan","runtime.backend":"Backend","runtime.registered":"Zarejestrowane","runtime.resident":"Załadowane","runtime.noEvents":"Brak zdarzeń.","folder.title":"Wybierz folder","folder.up":"Poziom wyżej","folder.select":"Wybierz ten folder","common.applying":"Stosowanie…","common.disabled":"Wyłączone","common.enabled":"Włączone","file.choose":"Wybierz plik","file.none":"Nie wybrano pliku","folder.closeLabel":"Zamknij przeglądarkę folderów","folder.empty":"Ten folder nie zawiera podfolderów.","folder.eyebrow":"FOLDER MODELI","folder.loading":"Ładowanie...","folder.loadingFolders":"Ładowanie folderów...","footer.embedded":"SvelteKit · wbudowany w audiocpp_server","models.checkingSize":"sprawdzanie rozmiaru…","models.default":"Domyślnie","models.downloaded":"Pobrano","models.folderHint":"pobieranie, wykrywanie lokalne i ładowanie modeli","models.folderPlaceholder":"folder models obok audiocpp_server","models.hfAccess":"Wymagany dostęp do HF","models.model":"model","models.queued":"w kolejce","models.reinstall":"Zainstaluj ponownie","models.selected":"Wybrano","models.sharedPackage":"Używa wspólnego pakietu {name} pokazanego powyżej.","models.sizeUnavailable":"rozmiar niedostępny","models.stopping":"zatrzymywanie","models.update":"Aktualizuj","models.updateAvailable":"Dostępna aktualizacja","models.upToDate":"Aktualny","models.variants":"warianty","models.versionUnknown":"Nieznana wersja","nav.primary":"Główna nawigacja","nav.workflows":"Przepływy pracy audio","arena.eyebrow":"ARENA","arena.title.tts":"Porównanie TTS","arena.title.vc":"Porównanie konwersji głosu","arena.title.asr":"Porównanie ASR","arena.subtitle":"Uruchamia ten sam input na wybranych zainstalowanych modelach i wariantach pakietów, jeden po drugim.","arena.subtitle.tts":"Uruchamia ten sam tekst na wybranych modelach TTS i wariantach pakietów.","arena.subtitle.vc":"Uruchamia to samo audio źródłowe na wybranych modelach konwersji głosu.","arena.subtitle.asr":"Uruchamia to samo audio źródłowe na wybranych modelach ASR i porównuje transkrypcje.","arena.mode.tts":"TTS","arena.mode.vc":"Konwersja głosu","arena.mode.asr":"ASR","arena.input.label":"Dane wejściowe","arena.input.title":"Wspólne żądanie","arena.input.textPlaceholder":"Wpisz jeden prompt do porównania modeli TTS","arena.input.groundTruth":"Tekst referencyjny","arena.input.groundTruthPlaceholder":"Wklej oczekiwaną transkrypcję, aby obliczyć WER","arena.shared":"wspólne","arena.voice.label":"Głos","arena.voice.modelDefault":"Domyślny modelu","arena.voice.builtin":"Wbudowany głos demo","arena.voice.reference":"Audio referencyjne","arena.voice.builtinNote":"Wbudowane głosy są przekazywane jako voice ID do każdego modelu. Ten typ głosu nie wymaga tekstu referencyjnego.","arena.voice.targetSpeaker":"Audio głosu docelowego","arena.voice.clearTarget":"Wyczyść cel","arena.voice.clearReference":"Wyczyść referencję","arena.options.shared":"Wspólne opcje","arena.queue.label":"Kolejka","arena.queue.title":"Modele","arena.queue.add":"Dodaj","arena.queue.remove":"Usuń","arena.queue.clear":"Wyczyść","arena.queue.empty":"Dodaj zainstalowane modele lub pakiety precyzji do porównania.","arena.run":"Uruchom arenę","arena.package.label":"Pakiet","arena.package.configured":"Skonfigurowany","arena.results.title":"Porównaj wyniki","arena.results.empty":"Brak wyników areny.","arena.metric.wall":"czas","arena.metric.rtf":"rtf","arena.metric.wer":"wer","arena.itemStatus.queued":"w kolejce","arena.itemStatus.loading":"ładowanie","arena.itemStatus.running":"uruchomione","arena.itemStatus.done":"gotowe","arena.itemStatus.failed":"błąd","arena.itemStatus.skipped":"pominięto","arena.status.duplicate":"{model} {package} jest już w arenie.","arena.status.loadingModel":"Ładowanie modelu","arena.status.runningRequest":"Uruchamianie żądania","arena.status.addModel":"Dodaj co najmniej jeden model do areny.","arena.status.running":"Uruchamianie areny {mode}...","arena.status.complete":"Arena zakończona.","arena.note.skippedTargetVoice":"Pominięto, ponieważ ten model VC wymaga audio głosu docelowego.","arena.note.skippedReferenceText":"Pominięto, ponieważ ten model wymaga tekstu referencyjnego dla wybranego wejścia głosu.","arena.note.builtinVoice":"Użyto wbudowanego głosu: {voice}.","arena.note.referenceVoice":"Użyto głosu referencyjnego.","arena.note.referenceUnsupported":"Użyto domyślnego głosu; głos referencyjny nie jest obsługiwany.","arena.note.defaultVoice":"Użyto domyślnego głosu: {voice}.","arena.note.skippedReferenceVoice":"Pominięto, ponieważ ten model wymaga głosu referencyjnego.","arena.error.seed":"Ziarno musi być -1 albo 32-bitową liczbą unsigned (0-4294967295).","arena.error.jsonObject":"musi być obiektem","arena.error.invalidJson":"Nieprawidłowy JSON opcji areny: {error}","arena.error.unregistered":"Skonfigurowany model nie jest zarejestrowany przez ten serwer.","arena.error.notDownloaded":"{package} nie został pobrany.","arena.error.loadFailed":"Model nie został załadowany.","arena.error.missingCatalog":"Modelu nie ma już w katalogu.","arena.error.enterTtsText":"Wpisz tekst dla areny TTS.","arena.error.chooseAsrSource":"Wybierz audio źródłowe dla areny ASR.","arena.error.chooseVcSource":"Wybierz audio źródłowe dla areny VC.","arena.error.noAudio":"Odpowiedź nie zawiera audio.","request.alignmentText":"Tekst do wyrównania","request.context":"Kontekst","request.contextHint":"opcjonalna terminologia lub nazwy","request.duration":"Czas trwania w sekundach","request.liveDescription":"Przetwarza kolejne czterosekundowe żądania w trybie strumieniowym modelu.","request.liveTitle":"Transkrypcja mikrofonu na żywo","request.lyrics":"Tekst utworu","request.optional":"opcjonalne","request.recordingMicrophone":"Nagrywanie mikrofonu","request.soundPlaceholder":"Opisz dźwięk lub muzykę…","request.startLive":"Uruchom na żywo","request.stopLive":"Zatrzymaj na żywo","request.stopRecording":"Zatrzymaj nagrywanie","request.textPlaceholder":"Wprowadź tekst…","request.voiceDescription":"Opis głosu","request.voiceDescriptionPlaceholder":"Ciepły, spokojny głos o umiarkowanym tempie…","result.track":"ścieżka","result.tracks":"ścieżki","runtime.eyebrow":"ŚRODOWISKO","runtime.subtitle":"Zdarzenia cyklu życia i żądań po stronie przeglądarki.","status.ready":"Gotowe","studio.estimatedVram":"Szacowane VRAM: {value} GB","studio.vram":"VRAM —","task.align":"Wymuszone wyrównanie","task.asr":"Transkrypcja","task.clon":"Klonowanie głosu","task.diar":"Diarizacja mówców","task.gen":"Generowanie muzyki","task.s2s":"Edycja mowy","task.sep":"Separacja źródeł","task.svc":"Konwersja głosu śpiewanego","task.tts":"Synteza mowy","task.vad":"Aktywność głosowa","task.vc":"Konwersja głosu","task.vdes":"Projektowanie głosu","voice.bundledNote":"Dołączone audio referencyjne i jego transkrypcja zostaną użyte automatycznie.","voice.namePlaceholder":"Mój głos referencyjny","voice.recommendedClone":"zalecana do klonowania","voice.recording":"Nagrywanie głosu referencyjnego","voice.requiredClone":"wymagana dla tego klonowania głosu","voice.transcriptPlaceholder":"Wpisz dokładne słowa z audio referencyjnego lub wczytaj pasujący plik .txt powyżej."}')},jk={code:"ru",name:"Русский",translations:JSON.parse('{"request.minimaxFrames":"{frames} выровненных выходных кадров","param.minimax_h3.num_inference_steps.label":"Шаги шумоподавления","param.minimax_h3.num_inference_steps.info":"Двенадцать шагов обеспечивают практичный баланс качества и производительности.","param.minimax_h3.num_frames.label":"Выходные кадры","param.minimax_h3.num_frames.info":"Рассчитываются из длительности примерно по 24 кадра на секунду вывода. Изменение числа кадров также обновляет длительность.","param.minimax_h3.guidance_scale.label":"Масштаб управления","param.minimax_h3.sampler.label":"Сэмплер","param.minimax_h3.dit_acceleration.label":"Ускорение DiT","param.minimax_h3.dit_acceleration.info":"None использует полный DiT с приоритетом качества. Режимы ускорения экспериментальны и могут искажать некоторые результаты.","param.minimax_h3.return_video.label":"Декодировать видео","param.minimax_h3.return_video.info":"По умолчанию выключено для снижения расхода памяти и возврата только аудио.","model.minimax_h3.hint":"MiniMax-H3 использует совместный аудио/видео DiT. GGUF Q4 ориентирован на качество; доступный только в CUDA GGUF Q4 ConvRot использует немного больше VRAM ради скорости. Полный DiT по умолчанию отдаёт приоритет качеству звука, а декодирование видео отключено.","status.modelReady":"{model} загружен и готов.","status.runningTask":"Выполняется: {task}...","status.completeIn":"Завершено за {seconds} с.","status.packageAvailable":"{model} будет использовать {format}. Модель доступна в Studio.","app.nativeStudio":"Нативная студия","nav.studio":"Студия","nav.arena":"Арена","nav.models":"Модели","nav.runtime":"Среда","language.label":"Язык интерфейса","theme.label":"Тема","theme.system":"Системная","theme.dark":"Тёмная","theme.light":"Светлая","workflow.tts":"Синтез речи","workflow.asr":"ASR / Распознавание","workflow.music":"Генерация музыки","workflow.vc":"Преобразование голоса","workflow.sep":"Разделение источников","workflow.analysis":"Анализ аудио","workflow.design":"Дизайн голоса","studio.eyebrow":"ЛОКАЛЬНЫЙ АУДИО ИНТЕЛЛЕКТ","studio.title":"Аудиостудия","studio.subtitle.tts":"Создавайте естественную речь из текста с готовыми голосами и клонированием, если они поддерживаются.","studio.subtitle.asr":"Преобразуйте речь из аудио в текст с настройками языка и временных меток, если они поддерживаются.","studio.subtitle.music":"Создавайте музыку и звуки по описанию, тексту песни или эталонному аудио.","studio.subtitle.vc":"Преобразуйте запись в другой голос, сохраняя манеру речи или пения.","studio.subtitle.sep":"Разделяйте запись на вокал, инструменты и другие доступные аудиодорожки.","studio.subtitle.analysis":"Анализируйте речевую активность, говорящих, время и выравнивание аудио.","studio.subtitle.design":"Создавайте и настраивайте голос по текстовому описанию и поддерживаемым эталонным параметрам.","studio.model":"Модель","studio.noModel":"Модель не выбрана","studio.resident":"Загружена","studio.notInstalled":"Не установлена","studio.available":"Доступна","studio.chooseInstalled":"Выберите установленную модель","studio.notDownloaded":"не скачана","studio.pathFound":"Путь найден","studio.pathMissing":"Путь отсутствует","studio.pathUnknown":"Путь не проверен","studio.load":"Загрузить модель","studio.unload":"Выгрузить модель","studio.working":"Обработка…","studio.bundledLoaded":"Встроена · загружена","request.label":"ЗАПРОС","request.title":"Ввод и управление","request.prompt":"Запрос","request.text":"Текст","request.splitLongText":"Разделять и объединять длинный текст","request.charactersPerChunk":"Символов в части","request.language":"Язык","request.autoLanguage":"пусто = автоматически","request.seed":"Seed","request.randomSeed":"-1 = случайно","request.maxTokens":"Максимум токенов","request.sourceAudio":"Исходное аудио","request.recordMicrophone":"Записать микрофон","voice.quickStart":"Демонстрационные голоса","voice.useReference":"Использовать файл эталонного аудио ниже","voice.reference":"Эталонный голос","voice.required":"обязательно","voice.optional":"необязательно","voice.referenceText":"Эталонный текст","voice.transcript":"Эталонная расшифровка","voice.saved":"Сохранённые голоса","voice.browserOnly":"только в этом браузере","voice.chooseSaved":"Выберите сохранённый голос...","voice.libraryName":"Имя в библиотеке","voice.save":"Сохранить голос","common.delete":"Удалить","common.cancel":"Отмена","common.close":"Закрыть","common.refresh":"Обновить","common.browse":"Обзор","common.apply":"Применить","options.modelParameters":"Параметры модели","options.additional":"Дополнительные параметры","run.run":"Запустить","run.cancel":"Отмена","run.working":"Обработка…","result.title":"Результат","result.label":"РЕЗУЛЬТАТ","result.saveWav":"Сохранить WAV","result.empty":"Здесь появятся созданное аудио и структурированные результаты.","models.eyebrow":"БИБЛИОТЕКА МОДЕЛЕЙ","models.title":"Локальные пакеты","models.subtitle":"Скачивайте пакеты моделей и управляйте ими прямо в интерфейсе.","models.folder":"Папка моделей","models.useDefault":"По умолчанию","models.showTypes":"Типы моделей","models.stopDownload":"Остановить загрузку","models.cleanPartial":"Удалить частичную загрузку","runtime.title":"Журнал сеанса","runtime.status":"Состояние","runtime.backend":"Backend","runtime.registered":"Зарегистрировано","runtime.resident":"Загружено","runtime.noEvents":"Событий пока нет.","folder.title":"Выберите папку","folder.up":"На уровень выше","folder.select":"Выбрать эту папку","common.applying":"Применение…","common.disabled":"Выключено","common.enabled":"Включено","file.choose":"Выбрать файл","file.none":"Файл не выбран","folder.closeLabel":"Закрыть выбор папки","folder.empty":"В этой папке нет вложенных папок.","folder.eyebrow":"ПАПКА МОДЕЛЕЙ","folder.loading":"Загрузка...","folder.loadingFolders":"Загрузка папок...","footer.embedded":"SvelteKit · встроен в audiocpp_server","models.checkingSize":"проверка размера…","models.default":"По умолчанию","models.downloaded":"Скачано","models.folderHint":"загрузка, локальное обнаружение и загрузка моделей","models.folderPlaceholder":"папка models рядом с audiocpp_server","models.hfAccess":"Требуется доступ HF","models.model":"модель","models.queued":"в очереди","models.reinstall":"Переустановить","models.selected":"Выбрано","models.sharedPackage":"Использует общий пакет {name}, показанный выше.","models.sizeUnavailable":"размер недоступен","models.stopping":"остановка","models.update":"Обновить","models.updateAvailable":"Доступно обновление","models.upToDate":"Актуально","models.variants":"варианты","models.versionUnknown":"Версия неизвестна","nav.primary":"Основная навигация","nav.workflows":"Рабочие процессы аудио","arena.eyebrow":"АРЕНА","arena.title.tts":"Сравнение TTS","arena.title.vc":"Сравнение преобразования голоса","arena.title.asr":"Сравнение ASR","arena.subtitle":"Запускает один и тот же ввод через выбранные установленные модели и варианты пакетов по очереди.","arena.subtitle.tts":"Запускает один и тот же текст через выбранные модели TTS и варианты пакетов.","arena.subtitle.vc":"Запускает одно и то же исходное аудио через выбранные модели преобразования голоса.","arena.subtitle.asr":"Запускает одно и то же исходное аудио через выбранные модели ASR и сравнивает расшифровки.","arena.mode.tts":"TTS","arena.mode.vc":"Преобразование голоса","arena.mode.asr":"ASR","arena.input.label":"Ввод","arena.input.title":"Общий запрос","arena.input.textPlaceholder":"Введите один запрос для сравнения моделей TTS","arena.input.groundTruth":"Эталонный текст","arena.input.groundTruthPlaceholder":"Вставьте ожидаемую расшифровку для расчёта WER","arena.shared":"общий","arena.voice.label":"Голос","arena.voice.modelDefault":"По умолчанию модели","arena.voice.builtin":"Встроенный демо-голос","arena.voice.reference":"Эталонное аудио","arena.voice.builtinNote":"Встроенные голоса передаются каждой модели как voice ID. Для этого источника голоса эталонный текст не требуется.","arena.voice.targetSpeaker":"Аудио целевого говорящего","arena.voice.clearTarget":"Очистить цель","arena.voice.clearReference":"Очистить эталон","arena.options.shared":"Общие параметры","arena.queue.label":"Очередь","arena.queue.title":"Модели","arena.queue.add":"Добавить","arena.queue.remove":"Удалить","arena.queue.clear":"Очистить","arena.queue.empty":"Добавьте установленные модели или пакеты точности для сравнения.","arena.run":"Запустить арену","arena.package.label":"Пакет","arena.package.configured":"Настроено","arena.results.title":"Сравнить вывод","arena.results.empty":"Результатов арены пока нет.","arena.metric.wall":"время","arena.metric.rtf":"rtf","arena.metric.wer":"wer","arena.itemStatus.queued":"в очереди","arena.itemStatus.loading":"загрузка","arena.itemStatus.running":"выполняется","arena.itemStatus.done":"готово","arena.itemStatus.failed":"ошибка","arena.itemStatus.skipped":"пропущено","arena.status.duplicate":"{model} {package} уже есть в арене.","arena.status.loadingModel":"Загрузка модели","arena.status.runningRequest":"Выполнение запроса","arena.status.addModel":"Добавьте хотя бы одну модель в арену.","arena.status.running":"Выполняется арена {mode}...","arena.status.complete":"Выполнение арены завершено.","arena.note.skippedTargetVoice":"Пропущено: этой VC-модели нужно аудио целевого говорящего.","arena.note.skippedReferenceText":"Пропущено: этой модели нужен эталонный текст для выбранного голосового ввода.","arena.note.builtinVoice":"Использован встроенный голос: {voice}.","arena.note.referenceVoice":"Использован эталонный голос.","arena.note.referenceUnsupported":"Использован голос по умолчанию; эталонный голос не поддерживается.","arena.note.defaultVoice":"Использован голос по умолчанию: {voice}.","arena.note.skippedReferenceVoice":"Пропущено: этой модели нужен эталонный голос.","arena.error.seed":"Seed должен быть -1 или 32-битным unsigned-целым (0-4294967295).","arena.error.jsonObject":"должен быть объектом","arena.error.invalidJson":"Недопустимый JSON параметров арены: {error}","arena.error.unregistered":"Настроенная модель не зарегистрирована этим сервером.","arena.error.notDownloaded":"{package} не скачан.","arena.error.loadFailed":"Модель не загрузилась.","arena.error.missingCatalog":"Модели больше нет в каталоге.","arena.error.enterTtsText":"Введите текст для арены TTS.","arena.error.chooseAsrSource":"Выберите исходное аудио для арены ASR.","arena.error.chooseVcSource":"Выберите исходное аудио для арены VC.","arena.error.noAudio":"Ответ не содержит аудио.","request.alignmentText":"Текст для выравнивания","request.context":"Контекстный запрос","request.contextHint":"необязательные термины или имена","request.duration":"Длительность в секундах","request.liveDescription":"Обрабатывает последовательные четырёхсекундные запросы в потоковом режиме модели.","request.liveTitle":"Распознавание с микрофона в реальном времени","request.lyrics":"Текст песни","request.optional":"необязательно","request.recordingMicrophone":"Запись микрофона","request.soundPlaceholder":"Опишите звук или музыку…","request.startLive":"Запустить","request.stopLive":"Остановить","request.stopRecording":"Остановить запись","request.textPlaceholder":"Введите текст…","request.voiceDescription":"Описание голоса","request.voiceDescriptionPlaceholder":"Тёплый спокойный голос с размеренным темпом…","result.track":"дорожка","result.tracks":"дорожки","runtime.eyebrow":"СРЕДА","runtime.subtitle":"События жизненного цикла и запросов в браузере.","status.ready":"Готово","studio.estimatedVram":"Оценка VRAM: {value} ГБ","studio.vram":"VRAM —","task.align":"Принудительное выравнивание","task.asr":"Распознавание речи","task.clon":"Клонирование голоса","task.diar":"Диаризация говорящих","task.gen":"Генерация музыки","task.s2s":"Редактирование речи","task.sep":"Разделение источников","task.svc":"Преобразование вокала","task.tts":"Синтез речи","task.vad":"Голосовая активность","task.vc":"Преобразование голоса","task.vdes":"Дизайн голоса","voice.bundledNote":"Встроенное эталонное аудио и соответствующая расшифровка подставляются автоматически.","voice.namePlaceholder":"Мой эталонный голос","voice.recommendedClone":"рекомендуется для клонирования","voice.recording":"Запись эталонного голоса","voice.requiredClone":"требуется для этого клонирования","voice.transcriptPlaceholder":"Введите точные слова из эталонного аудио или загрузите соответствующий файл .txt выше."}')},Uk={code:"zh",name:"中文",translations:{"request.minimaxFrames":"{frames} 个对齐输出帧","param.minimax_h3.num_inference_steps.label":"去噪步数","param.minimax_h3.num_inference_steps.info":"十二个去噪步骤可在质量和性能之间取得实用的平衡。","param.minimax_h3.num_frames.label":"输出帧数","param.minimax_h3.num_frames.info":"根据时长自动计算,每秒输出约 24 帧。编辑帧数也会更新时长。","param.minimax_h3.guidance_scale.label":"引导强度","param.minimax_h3.sampler.label":"采样器","param.minimax_h3.dit_acceleration.label":"DiT 加速","param.minimax_h3.dit_acceleration.info":"“none”使用质量优先的完整 DiT 路径。加速模式为实验性功能,可能使某些输出失真。","param.minimax_h3.return_video.label":"解码视频","param.minimax_h3.return_video.info":"默认禁用以减少内存占用,并仅返回音频。","model.minimax_h3.hint":"MiniMax-H3 使用联合音频/视频 DiT。GGUF Q4 是质量优先版本;仅支持 CUDA 的 GGUF Q4 ConvRot 使用稍多显存以提高速度。默认完整 DiT 路径优先保证音频质量,并禁用视频解码。","status.modelReady":"{model} 已加载并准备就绪。","status.runningTask":"正在运行{task}...","status.completeIn":"已在 {seconds} 秒内完成。","status.packageAvailable":"{model} 将使用 {format},现可在工作室中使用。","app.nativeStudio":"原生工作室","nav.studio":"工作室","nav.arena":"对比场","nav.models":"模型","nav.runtime":"运行环境","language.label":"界面语言","theme.label":"主题","theme.system":"跟随系统","theme.dark":"深色","theme.light":"浅色","workflow.tts":"文本转语音","workflow.asr":"ASR / 转录","workflow.music":"音乐生成","workflow.vc":"语音转换","workflow.sep":"音源分离","workflow.analysis":"音频分析","workflow.design":"音色设计","studio.eyebrow":"本地音频智能","studio.title":"音频工作室","studio.subtitle.tts":"从文本生成自然语音,并在模型支持时使用预设音色或声音克隆。","studio.subtitle.asr":"将语音音频转为文本,并在模型支持时设置语言和时间戳。","studio.subtitle.music":"根据描述、歌词或参考音频创作音乐和声音。","studio.subtitle.vc":"将录音转换为另一种声音,同时保留原有的说话或演唱表现。","studio.subtitle.sep":"将录音分离为人声、乐器或其他可用音轨。","studio.subtitle.analysis":"分析语音活动、说话人、时间信息和音频对齐。","studio.subtitle.design":"根据文字描述和支持的参考控制创建或调整声音。","studio.model":"模型","studio.noModel":"未选择模型","studio.resident":"已加载","studio.notInstalled":"未安装","studio.available":"可用","studio.chooseInstalled":"选择已安装的模型","studio.notDownloaded":"未下载","studio.pathFound":"已找到路径","studio.pathMissing":"路径不存在","studio.pathUnknown":"尚未检查路径","studio.load":"加载模型","studio.unload":"卸载模型","studio.working":"处理中…","studio.bundledLoaded":"内置 · 已加载","request.label":"请求","request.title":"输入与控制","request.prompt":"提示词","request.text":"文本","request.splitLongText":"拆分并合并长文本","request.charactersPerChunk":"每段字符数","request.language":"语言","request.autoLanguage":"留空 = 自动","request.seed":"随机种子","request.randomSeed":"-1 = 随机","request.maxTokens":"最大令牌数","request.sourceAudio":"源音频","request.recordMicrophone":"录制麦克风","voice.quickStart":"快速开始演示音色","voice.useReference":"使用下方参考音频文件","voice.reference":"参考音色","voice.required":"必需","voice.optional":"可选","voice.referenceText":"参考文本","voice.transcript":"参考转录","voice.saved":"已保存音色","voice.browserOnly":"仅存储在此浏览器中","voice.chooseSaved":"选择已保存音色...","voice.libraryName":"库名称","voice.save":"保存音色","common.delete":"删除","common.cancel":"取消","common.close":"关闭","common.refresh":"刷新","common.browse":"浏览","common.apply":"应用","options.modelParameters":"模型参数","options.additional":"其他选项","run.run":"运行","run.cancel":"取消","run.working":"处理中…","result.title":"输出","result.label":"结果","result.saveWav":"保存 WAV","result.empty":"生成的音频和结构化结果将显示在这里。","models.eyebrow":"模型库","models.title":"本地软件包","models.subtitle":"无需离开原生界面即可下载和管理模型包。","models.folder":"模型文件夹","models.useDefault":"使用默认值","models.showTypes":"显示模型类型","models.stopDownload":"停止下载","models.cleanPartial":"清理部分下载","runtime.title":"会话日志","runtime.status":"状态","runtime.backend":"后端","runtime.registered":"已注册","runtime.resident":"已加载","runtime.noEvents":"暂无事件。","folder.title":"选择文件夹","folder.up":"上一级","folder.select":"选择此文件夹","common.applying":"正在应用…","common.disabled":"已禁用","common.enabled":"已启用","file.choose":"选择文件","file.none":"未选择文件","folder.closeLabel":"关闭文件夹浏览器","folder.empty":"此文件夹没有子文件夹。","folder.eyebrow":"模型文件夹","folder.loading":"正在加载...","folder.loadingFolders":"正在加载文件夹...","footer.embedded":"SvelteKit · 内置于 audiocpp_server","models.checkingSize":"正在检查大小…","models.default":"默认","models.downloaded":"已下载","models.folderHint":"用于下载、本地检测和模型加载","models.folderPlaceholder":"audiocpp_server 旁的 models 文件夹","models.hfAccess":"需要 HF 访问权限","models.model":"模型","models.queued":"排队中","models.reinstall":"重新安装","models.selected":"已选择","models.sharedPackage":"使用上方显示的共享 {name} 软件包。","models.sizeUnavailable":"大小不可用","models.stopping":"正在停止","models.update":"更新","models.updateAvailable":"有可用更新","models.upToDate":"已是最新","models.variants":"变体","models.versionUnknown":"版本未知","nav.primary":"主导航","nav.workflows":"音频工作流程","arena.eyebrow":"对比场","arena.title.tts":"TTS 对比","arena.title.vc":"语音转换对比","arena.title.asr":"ASR 对比","arena.subtitle":"用同一输入依次运行已选择的已安装模型和精度包,方便比较输出。","arena.subtitle.tts":"用同一文本依次运行已选择的 TTS 模型和精度包。","arena.subtitle.vc":"用同一源音频依次运行已选择的语音转换模型。","arena.subtitle.asr":"用同一源音频依次运行已选择的 ASR 模型并比较转录结果。","arena.mode.tts":"TTS","arena.mode.vc":"语音转换","arena.mode.asr":"ASR","arena.input.label":"输入","arena.input.title":"共享请求","arena.input.textPlaceholder":"输入一段文本,用于对比多个 TTS 模型","arena.input.groundTruth":"真实文本","arena.input.groundTruthPlaceholder":"粘贴期望转录文本以计算 WER","arena.shared":"共享","arena.voice.label":"声音","arena.voice.modelDefault":"模型默认","arena.voice.builtin":"内置演示声音","arena.voice.reference":"参考音频","arena.voice.builtinNote":"内置声音会作为 voice ID 传给每个模型。此声音来源不需要参考文本。","arena.voice.targetSpeaker":"目标说话人音频","arena.voice.clearTarget":"清除目标","arena.voice.clearReference":"清除参考","arena.options.shared":"共享选项","arena.queue.label":"队列","arena.queue.title":"模型","arena.queue.add":"添加","arena.queue.remove":"移除","arena.queue.clear":"清空","arena.queue.empty":"添加已安装模型或精度包进行对比。","arena.run":"运行对比","arena.package.label":"软件包","arena.package.configured":"已配置","arena.results.title":"比较输出","arena.results.empty":"暂无对比结果。","arena.metric.wall":"耗时","arena.metric.rtf":"RTF","arena.metric.wer":"WER","arena.itemStatus.queued":"排队中","arena.itemStatus.loading":"加载中","arena.itemStatus.running":"运行中","arena.itemStatus.done":"完成","arena.itemStatus.failed":"失败","arena.itemStatus.skipped":"跳过","arena.status.duplicate":"{model} {package} 已在对比队列中。","arena.status.loadingModel":"正在加载模型","arena.status.runningRequest":"正在运行请求","arena.status.addModel":"请至少添加一个模型到对比场。","arena.status.running":"正在运行 {mode} 对比...","arena.status.complete":"对比运行完成。","arena.note.skippedTargetVoice":"已跳过:此语音转换模型需要目标说话人音频。","arena.note.skippedReferenceText":"已跳过:此模型对所选声音输入需要参考文本。","arena.note.builtinVoice":"使用内置声音:{voice}。","arena.note.referenceVoice":"使用参考声音。","arena.note.referenceUnsupported":"使用模型默认声音;此模型不支持参考声音。","arena.note.defaultVoice":"使用默认声音:{voice}。","arena.note.skippedReferenceVoice":"已跳过:此模型需要参考声音。","arena.error.seed":"Seed 必须为 -1 或 0 到 4294967295 的无符号 32 位整数。","arena.error.jsonObject":"必须是对象","arena.error.invalidJson":"对比场选项 JSON 无效:{error}","arena.error.unregistered":"此服务器未注册已配置模型。","arena.error.notDownloaded":"{package} 未下载。","arena.error.loadFailed":"模型未加载。","arena.error.missingCatalog":"模型已不在目录中。","arena.error.enterTtsText":"请输入 TTS 对比文本。","arena.error.chooseAsrSource":"请选择 ASR 对比的源音频。","arena.error.chooseVcSource":"请选择语音转换对比的源音频。","arena.error.noAudio":"响应中没有音频。","request.alignmentText":"对齐文本","request.context":"上下文提示","request.contextHint":"可选术语或名称","request.duration":"持续时间(秒)","request.liveDescription":"使用模型的流式模式连续处理四秒请求。","request.liveTitle":"实时麦克风转录","request.lyrics":"歌词","request.optional":"可选","request.recordingMicrophone":"正在录制麦克风","request.soundPlaceholder":"描述声音或音乐…","request.startLive":"开始实时处理","request.stopLive":"停止实时处理","request.stopRecording":"停止录制","request.textPlaceholder":"输入文本…","request.voiceDescription":"音色描述","request.voiceDescriptionPlaceholder":"温暖、平静且语速适中的声音…","result.track":"音轨","result.tracks":"音轨","runtime.eyebrow":"运行环境","runtime.subtitle":"浏览器端生命周期和请求事件。","status.ready":"就绪","studio.estimatedVram":"预计 VRAM:{value} GB","studio.vram":"VRAM —","task.align":"强制对齐","task.asr":"语音转录","task.clon":"声音克隆","task.diar":"说话人分离","task.gen":"音乐生成","task.s2s":"语音编辑","task.sep":"音源分离","task.svc":"歌声音色转换","task.tts":"文本转语音","task.vad":"语音活动检测","task.vc":"语音转换","task.vdes":"音色设计","voice.bundledNote":"内置参考音频及其匹配转录将自动提供。","voice.namePlaceholder":"我的参考音色","voice.recommendedClone":"建议用于克隆","voice.recording":"正在录制参考音色","voice.requiredClone":"此声音克隆必需","voice.transcriptPlaceholder":"输入参考音频中的准确文字,或加载上方匹配的 .txt 文件。"}},Jd={"app.nativeStudio":"Native Studio","nav.studio":"Studio","nav.arena":"Arena","nav.models":"Models","nav.runtime":"Runtime","nav.primary":"Primary navigation","nav.workflows":"Audio workflows","language.label":"Interface language","theme.label":"Theme","theme.system":"System","theme.dark":"Dark","theme.light":"Light","arena.eyebrow":"ARENA","arena.title.tts":"TTS comparison","arena.title.vc":"Voice conversion comparison","arena.title.asr":"ASR comparison","arena.subtitle":"Run the same input through selected installed models and package variants, one after another.","arena.subtitle.tts":"Run the same text through selected TTS models and package variants.","arena.subtitle.vc":"Run the same source audio through selected voice conversion models.","arena.subtitle.asr":"Run the same source audio through selected ASR models and compare transcripts.","arena.mode.tts":"TTS","arena.mode.vc":"Voice conversion","arena.mode.asr":"ASR","arena.input.label":"Input","arena.input.title":"Shared request","arena.input.textPlaceholder":"Enter one prompt to compare across TTS models","arena.input.groundTruth":"Ground truth text","arena.input.groundTruthPlaceholder":"Paste the expected transcript to calculate WER","arena.shared":"shared","arena.voice.label":"Voice","arena.voice.modelDefault":"Model default","arena.voice.builtin":"Built-in demo voice","arena.voice.reference":"Reference audio","arena.voice.builtinNote":"Built-in voices are passed as voice IDs for each model. Reference text is not required for this voice source.","arena.voice.targetSpeaker":"Target speaker audio","arena.voice.clearTarget":"Clear target","arena.voice.clearReference":"Clear reference","arena.options.shared":"Shared options","arena.queue.label":"Queue","arena.queue.title":"Models","arena.queue.add":"Add","arena.queue.remove":"Remove","arena.queue.clear":"Clear","arena.queue.empty":"Add installed models or dtype packages to compare.","arena.run":"Run arena","arena.package.label":"Package","arena.package.configured":"Configured","arena.results.title":"Compare outputs","arena.results.empty":"No arena results yet.","arena.metric.wall":"wall","arena.metric.rtf":"rtf","arena.metric.wer":"wer","arena.itemStatus.queued":"queued","arena.itemStatus.loading":"loading","arena.itemStatus.running":"running","arena.itemStatus.done":"done","arena.itemStatus.failed":"failed","arena.itemStatus.skipped":"skipped","arena.status.duplicate":"{model} {package} is already in the arena.","arena.status.loadingModel":"Loading model","arena.status.runningRequest":"Running request","arena.status.addModel":"Add at least one model to the arena.","arena.status.running":"Running {mode} arena...","arena.status.complete":"Arena run complete.","arena.note.skippedTargetVoice":"Skipped because this VC model requires target speaker audio.","arena.note.skippedReferenceText":"Skipped because this model requires reference text for the selected voice input.","arena.note.builtinVoice":"Used built-in voice: {voice}.","arena.note.referenceVoice":"Used reference voice.","arena.note.referenceUnsupported":"Used default voice; reference voice is not supported.","arena.note.defaultVoice":"Used default voice: {voice}.","arena.note.skippedReferenceVoice":"Skipped because this model requires a reference voice.","arena.error.seed":"Seed must be -1 or an unsigned 32-bit integer (0 to 4294967295).","arena.error.jsonObject":"must be an object","arena.error.invalidJson":"Arena options JSON is invalid: {error}","arena.error.unregistered":"Configured model is not registered by this server.","arena.error.notDownloaded":"{package} is not downloaded.","arena.error.loadFailed":"Model did not load.","arena.error.missingCatalog":"Model is no longer in the catalog.","arena.error.enterTtsText":"Enter text for the TTS arena.","arena.error.chooseAsrSource":"Choose source audio for the ASR arena.","arena.error.chooseVcSource":"Choose source audio for the VC arena.","arena.error.noAudio":"Response did not include audio.","workflow.tts":"Text to speech","workflow.asr":"ASR / Transcription","workflow.music":"Music generation","workflow.vc":"Voice conversion","workflow.sep":"Source separation","workflow.analysis":"Audio analysis","workflow.design":"Voice design","task.tts":"Text to speech","task.clon":"Voice cloning","task.asr":"Transcription","task.gen":"Music generation","task.midi":"Audio to MIDI","task.vc":"Voice conversion","task.svc":"Singing voice conversion","task.s2s":"Speech editing","task.sep":"Source separation","task.vad":"Voice activity","task.diar":"Speaker diarization","task.align":"Forced alignment","task.vdes":"Voice design","studio.eyebrow":"LOCAL AUDIO INTELLIGENCE","studio.title":"Audio studio","studio.subtitle.tts":"Generate natural speech from text, with voice presets and cloning when supported.","studio.subtitle.asr":"Transcribe spoken audio into text, with language and timestamp controls when supported.","studio.subtitle.music":"Create music and sound from a prompt, lyrics, or reference audio when supported.","studio.subtitle.vc":"Transform a recording into another voice while preserving the spoken or sung performance.","studio.subtitle.sep":"Split a recording into vocals, instruments, or other available audio stems.","studio.subtitle.analysis":"Analyze audio for speech activity, speakers, timing, and alignment.","studio.subtitle.design":"Create or refine a voice from a written description and supported reference controls.","studio.model":"Model","studio.noModel":"No model selected","studio.resident":"Resident","studio.notInstalled":"Not installed","studio.available":"Available","studio.chooseInstalled":"Choose an installed model","studio.notDownloaded":"not downloaded","studio.pathFound":"Path found","studio.pathMissing":"Path missing","studio.pathUnknown":"Path not inspected","studio.estimatedVram":"{value} GB estimated VRAM","studio.vram":"VRAM —","studio.load":"Load model","studio.unload":"Unload model","studio.working":"Working…","studio.bundledLoaded":"Bundled · loaded","request.label":"REQUEST","request.title":"Input & controls","request.prompt":"Prompt","request.alignmentText":"Alignment text","request.text":"Text","request.soundPlaceholder":"Describe the sound or music…","request.textPlaceholder":"Enter the text…","request.splitLongText":"Split and merge long text","request.charactersPerChunk":"Characters per chunk","request.lyrics":"Lyrics","request.optional":"optional","request.context":"Context prompt","request.contextHint":"optional terminology or names","request.voiceDescription":"Voice description","request.voiceDescriptionPlaceholder":"A warm, calm voice with measured pacing…","request.language":"Language","request.autoLanguage":"blank = auto","request.seed":"Seed","request.randomSeed":"-1 = random","request.maxTokens":"Maximum tokens","request.duration":"Duration seconds","request.autoDuration":"-1 = auto","request.rewriteCaption":"Rewrite caption","request.rewritingCaption":"Rewriting caption...","request.minimaxFrames":"{frames} aligned output frames","request.sourceAudio":"Source audio","request.stopRecording":"Stop recording","request.recordingMicrophone":"Recording microphone","request.recordMicrophone":"Record microphone","request.liveTitle":"Live microphone transcription","request.liveDescription":"Processes consecutive four-second requests using the model's streaming mode.","request.stopLive":"Stop live","request.startLive":"Start live","voice.quickStart":"Quick-start voice presets (demo voices)","voice.configured":"Configured voices","voice.useReference":"Use a reference audio file below","voice.bundledNote":"The bundled reference audio and its matching transcript are supplied automatically.","voice.reference":"Reference voice","voice.required":"required","voice.optional":"optional","voice.referenceText":"Reference text","voice.recording":"Recording voice reference","voice.transcript":"Reference transcript","voice.requiredClone":"required for this voice clone","voice.recommendedClone":"recommended for cloning","voice.transcriptPlaceholder":"Type the exact words spoken in the reference audio, or load a matching .txt file above.","voice.saved":"Saved voices","voice.browserOnly":"stored only in this browser","voice.chooseSaved":"Choose a saved voice...","voice.libraryName":"Library name","voice.namePlaceholder":"My reference voice","voice.save":"Save voice","common.delete":"Delete","common.enabled":"Enabled","common.disabled":"Disabled","common.cancel":"Cancel","common.close":"Close","common.refresh":"Refresh","common.browse":"Browse","common.apply":"Apply","common.applying":"Applying…","file.choose":"Choose file","file.none":"No file chosen","file.preview":"Preview","file.clear":"Clear file","options.modelParameters":"Model parameters","options.additional":"Additional options","param.minimax_h3.num_inference_steps.label":"Denoising steps","param.minimax_h3.num_inference_steps.info":"Twelve denoising steps provide a practical quality and performance balance.","param.minimax_h3.num_frames.label":"Output frames","param.minimax_h3.num_frames.info":"Calculated from duration at approximately 24 frames per output second. Editing frames also updates duration.","param.minimax_h3.guidance_scale.label":"Guidance scale","param.minimax_h3.sampler.label":"Sampler","param.minimax_h3.dit_acceleration.label":"DiT acceleration","param.minimax_h3.dit_acceleration.info":"None uses the quality-first full-DiT path. Acceleration modes are experimental and may distort some outputs.","param.minimax_h3.return_video.label":"Decode video","param.minimax_h3.return_video.info":"Disabled by default to reduce memory use and return audio only.","model.minimax_h3.hint":"MiniMax-H3 uses a joint audio/video DiT. GGUF Q4 is the quality-first choice; CUDA-only GGUF Q4 ConvRot uses slightly more VRAM for higher speed. The default full-DiT path prioritizes audio quality and video decoding is disabled.","run.run":"Run","run.cancel":"Cancel","run.working":"Working…","result.label":"RESULT","result.title":"Output","result.track":"track","result.tracks":"tracks","result.saveWav":"Save WAV","result.empty":"Generated audio and structured results appear here.","models.eyebrow":"MODEL LIBRARY","models.title":"Local packages","models.subtitle":"Download and manage model packages without leaving the native interface.","models.folder":"Models folder","models.folderHint":"downloads, local detection, and model loading","models.folderPlaceholder":"models folder beside audiocpp_server","models.default":"Default","models.useDefault":"Use default","models.showTypes":"Show model types","models.model":"model","models.variants":"variants","models.update":"Update","models.reinstall":"Reinstall","models.upToDate":"Up to date","models.updateAvailable":"Update available","models.versionUnknown":"Version unknown","models.selected":"Selected","models.downloaded":"Downloaded","models.queued":"queued","models.stopping":"stopping","models.checkingSize":"checking size…","models.hfAccess":"HF access required","models.sizeUnavailable":"size unavailable","models.stopDownload":"Stop download","models.cleanPartial":"Clean partial download","models.sharedPackage":"Uses the shared {name} package shown above.","runtime.eyebrow":"RUNTIME","runtime.title":"Session log","runtime.subtitle":"Browser-side lifecycle and request events.","runtime.status":"Status","runtime.backend":"Backend","runtime.registered":"Registered","runtime.resident":"Resident","runtime.noEvents":"No events yet.","status.ready":"Ready","status.modelReady":"{model} is resident and ready.","status.runningTask":"Running {task}...","status.completeIn":"Complete in {seconds}s.","status.packageAvailable":"{model} will use {format}. It is available in Studio.","folder.eyebrow":"MODELS FOLDER","folder.title":"Choose a folder","folder.closeLabel":"Close folder browser","folder.loading":"Loading...","folder.up":"Up one level","folder.loadingFolders":"Loading folders...","folder.empty":"This folder has no subfolders.","folder.select":"Select this folder","footer.embedded":"SvelteKit · embedded in audiocpp_server"},Rk=Object.assign({"../../lang/lang_it.json":zk,"../../lang/lang_pl.json":Ek,"../../lang/lang_ru.json":jk,"../../lang/lang_zh.json":Uk}),hl=new Map([["en",Jd]]),jg=[{code:"en",name:"English"}];for(const[t,a]of Object.entries(Rk).sort(([r],[n])=>r.localeCompare(n))){const r=t.match(/lang_([^/\\.]+)\.json$/)?.[1]?.toLowerCase(),n=(a.code||r||"").trim().toLowerCase();!n||n==="en"||!a.name||!a.translations||(hl.set(n,a.translations),jg.push({code:n,name:a.name}))}const Bk=jg;function Ug(t){const a=hl.get(t)||Jd;return(r,n={},i=r)=>{let c=a[r]||Jd[r]||i;for(const[s,d]of Object.entries(n))c=c.replaceAll(`{${s}}`,String(d));return c}}function Rg(t){for(const a of t){const r=a.toLowerCase();if(hl.has(r))return r;const n=r.split("-")[0];if(hl.has(n))return n}return"en"}var Pk=ge(' '),Nk=ge('',2),Dk=ge(''),Lk=ge('
');function Sr(t,a){ps(a,!1);const r=de(),n=de();let i=Ut(a,"file",8,null),c=Ut(a,"src",8,""),s=Ut(a,"name",8,""),d=Ut(a,"kind",8,"audio"),p=Ut(a,"label",8,"Preview"),m=de(""),_=de(null);function h(){e(m)&&(URL.revokeObjectURL(e(m)),U(m,""))}Xc(h),He(()=>(le(i()),e(_)),()=>{i()!==e(_)&&(h(),U(_,i()),i()&&U(m,URL.createObjectURL(i())))}),He(()=>(e(m),le(c())),()=>{U(r,e(m)||c())}),He(()=>(le(i()),le(s())),()=>{U(n,i()?.name||s())}),Ic(),Kc();var f=Qr(),u=Lt(f);{var l=o=>{var g=Lk(),v=P(g),b=P(v),k=P(b,!0);E(b);var w=W(b,2);{var $=D=>{var I=Pk(),S=P(I,!0);E(I),pe(()=>K(S,e(n))),se(D,I)};Te(w,D=>{e(n)&&D($)})}E(v);var N=W(v,2);{var R=D=>{var I=Nk();pe(()=>$e(I,"src",e(r))),se(D,I)},F=D=>{var I=Dk();pe(()=>$e(I,"src",e(r))),se(D,I)};Te(N,D=>{d()==="video"?D(R):D(F,-1)})}E(g),pe(()=>K(k,p())),se(o,g)};Te(u,o=>{e(r)&&o(l)})}se(t,f),ms()}const Vk=/^\s*(Speaker\s+\d+\s*:)\s*(.*)$/i,Bg=new Set(["。","!","?","!","?",";",";","…","."]),Ik=new Set(["mr","mrs","ms","dr","prof","sr","jr","st","mt","rev","hon","vs","etc","eg","ie","approx","dept","est","fig","no","vol","jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec","inc","ltd","co","corp"]);function Pg(t){return t>="0"&&t<="9"}function Ok(t){return/[\p{L}\p{N}']/u.test(t)}function Hk(t,a){const r=t[a+1];if(r!==void 0&&!/\s/.test(r)||a>0&&Pg(t[a-1])&&r!==void 0&&Pg(r))return!1;let n=a;for(;n>0&&Ok(t[n-1]);)n-=1;const i=t.slice(n,a);return i.length===1&&/\p{L}/u.test(i)?!1:!Ik.has(i.toLowerCase())}function Qk(t){const a=[];let r=0;for(let n=0;na;){let i=n.lastIndexOf(" ",a);i<=0&&(i=a);const c=n.slice(0,i).trim();c&&r.push(c),n=n.slice(i).trim()}return n&&r.push(n),r}function Yk(t,a){const r=Vk.exec(t),n=r?`${r[1]} `:"",i=r?r[2]:t.trim(),c=Math.max(1,a-n.length),s=Qk(i);s.length||s.push(i);const d=[];let p="",m="";for(const _ of s){const h=_.trimEnd();if(!h)continue;const f=_.slice(h.length);if(p&&p.length+m.length+h.length>c&&(d.push(n+p.trim()),p="",m=""),h.length<=c){p=p?`${p}${m}${h}`:h,m=f;continue}p&&(d.push(n+p.trim()),p="",m="");for(const u of Wk(h,c))d.push(n+u)}return p&&d.push(n+p.trim()),d.length?d:[t]}function Kk(t,a){const r=[];for(const s of t.split(/\r?\n/))s.trim()&&r.push(...s.length>a?Yk(s,a):[s]);const n=[];let i=[],c=0;for(const s of r){const d=i.length?1:0;i.length&&c+d+s.length>a&&(n.push(i.join(` + this.__sveltekit_1wn864=this.__sveltekit_1wn864||{};this.__sveltekit_1wn864.app=(function(Cc){"use strict";var Ei=typeof document<"u"?document.currentScript:null;function Ov(t,a){for(var r=0;rn[i]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}const Up=!1;var zl=Array.isArray,Hv=Array.prototype.indexOf,Mc=Array.prototype.includes,zc=Array.from,Ep=Object.defineProperty,ps=Object.getOwnPropertyDescriptor,Rp=Object.getOwnPropertyDescriptors,Qv=Object.prototype,Wv=Array.prototype,jl=Object.getPrototypeOf,Bp=Object.isExtensible;const jc=()=>{};function Yv(t){return t()}function Ul(t){for(var a=0;a{t=n,a=i});return{promise:r,resolve:t,reject:a}}function Kv(t,a){if(Array.isArray(t))return t;if(!(Symbol.iterator in t))return Array.from(t);const r=[];for(const n of t)if(r.push(n),r.length===a)break;return r}const pi=2,Qs=4,zo=8,Np=1<<24,zn=16,yn=32,vr=64,El=128,kn=512,ii=1024,ni=2048,wn=4096,Ri=8192,nn=16384,ms=32768,Rl=1<<25,Or=65536,Uc=1<<17,Dp=1<<18,Ws=1<<19,Lp=1<<20,Zn=1<<25,gs=65536,Ec=1<<21,Ys=1<<22,Hr=1<<23,br=Symbol("$state"),Vp=Symbol("legacy props"),Xv=Symbol(""),Ip=Symbol("attributes"),Bl=Symbol("class"),Pl=Symbol("style"),Nl=Symbol("text"),jo=Symbol("form reset"),Uo=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},Op=!!globalThis.document?.contentType&&globalThis.document.contentType.includes("xml"),Eo=3,Ks=8;function Hp(t){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Zv(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Jv(t,a,r){throw new Error("https://svelte.dev/e/each_key_duplicate")}function e2(t){throw new Error("https://svelte.dev/e/effect_in_teardown")}function t2(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function a2(t){throw new Error("https://svelte.dev/e/effect_orphan")}function i2(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function n2(){throw new Error("https://svelte.dev/e/hydration_failed")}function r2(t){throw new Error("https://svelte.dev/e/props_invalid_value")}function s2(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function o2(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function c2(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function l2(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const d2=1,u2=2,Qp=4,f2=8,p2=16,m2=1,g2=2,h2=4,_2=8,v2=16,b2=1,y2=2,Dl="[",Ll="[!",Wp="[?",Vl="]",Xs={},li=Symbol("uninitialized"),k2="http://www.w3.org/1999/xhtml";function w2(){console.warn("https://svelte.dev/e/derived_inert")}function Rc(t){console.warn("https://svelte.dev/e/hydration_mismatch")}function x2(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function S2(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let Gt=!1;function rn(t){Gt=t}let Jt;function mi(t){if(t===null)throw Rc(),Xs;return Jt=t}function Ro(){return mi(xn(Jt))}function j(t){if(Gt){if(xn(Jt)!==null)throw Rc(),Xs;Jt=t}}function yr(t=1){if(Gt){for(var a=t,r=Jt;a--;)r=xn(r);Jt=r}}function Bo(t=!0){for(var a=0,r=Jt;;){if(r.nodeType===Ks){var n=r.data;if(n===Vl){if(a===0)return r;a-=1}else(n===Dl||n===Ll||n[0]==="["&&!isNaN(Number(n.slice(1))))&&(a+=1)}var i=xn(r);t&&r.remove(),r=i}}function Il(t){if(!t||t.nodeType!==Ks)throw Rc(),Xs;return t.data}function Yp(t){return t===this.v}function Kp(t,a){return t!=t?a==a:t!==a||t!==null&&typeof t=="object"||typeof t=="function"}function Xp(t){return!Kp(t,this.v)}let Zs=!1,$2=!1;function T2(){Zs=!0}let xa=null;function Js(t){xa=t}function hs(t,a=!1,r){xa={p:xa,i:!1,c:null,e:null,s:t,x:null,r:At,l:Zs&&!a?{s:null,u:null,$:[]}:null}}function _s(t){var a=xa,r=a.e;if(r!==null){a.e=null;for(var n of r)wm(n)}return t!==void 0&&(a.x=t),a.i=!0,xa=a.p,t??{}}function Po(){return!Zs||xa!==null&&xa.l===null}let vs=[];function Zp(){var t=vs;vs=[],Ul(t)}function Jn(t){if(vs.length===0&&!Do){var a=vs;queueMicrotask(()=>{a===vs&&Zp()})}vs.push(t)}function q2(){for(;vs.length>0;)Zp()}function Jp(t){var a=At;if(a===null)return ea.f|=Hr,t;if((a.f&ms)===0&&(a.f&Qs)===0)throw t;Qr(t,a)}function Qr(t,a){if(!(a!==null&&(a.f&nn)!==0)){for(;a!==null;){if((a.f&El)!==0){if((a.f&ms)===0)throw t;try{a.b.error(t);return}catch(r){t=r}}a=a.parent}throw t}}const G2=-7169;function Ba(t,a){t.f=t.f&G2|a}function Ol(t){(t.f&kn)!==0||t.deps===null?Ba(t,ii):Ba(t,wn)}function em(t){if(t!==null)for(const a of t)(a.f&pi)===0||(a.f&gs)===0||(a.f^=gs,em(a.deps))}function tm(t,a,r){(t.f&ni)!==0?a.add(t):(t.f&wn)!==0&&r.add(t),em(t.deps),Ba(t,ii)}const eo=[];function Hl(t,a=jc){let r=null;const n=new Set;function i(d){if(Kp(t,d)&&(t=d,r)){const p=!eo.length;for(const m of n)m[1](),eo.push(m,t);if(p){for(let m=0;m{n.delete(m),n.size===0&&r&&(r(),r=null)}}return{set:i,update:c,subscribe:s}}let Bc=!1;function F2(t){var a=Bc;try{return Bc=!1,[t(),Bc]}finally{Bc=a}}function sn(t){Gt&&xr(t)!==null&&id(t)}let am=!1;function im(){am||(am=!0,document.addEventListener("reset",t=>{Promise.resolve().then(()=>{if(!t.defaultPrevented)for(const a of t.target.elements)a[jo]?.()})},{capture:!0}))}function to(t){var a=ea,r=At;Sn(null),$n(null);try{return t()}finally{Sn(a),$n(r)}}function Ql(t,a,r,n=r){t.addEventListener(a,()=>to(r));const i=t[jo];i?t[jo]=()=>{i(),n(!0)}:t[jo]=()=>n(!0),im()}function A2(t){let a=0,r=ys(0),n;return()=>{nd()&&(e(r),oo(()=>(a===0&&(n=z(()=>t(()=>Lo(r)))),a+=1,()=>{Jn(()=>{a-=1,a===0&&(n?.(),n=void 0,Lo(r))})})))}}var C2=Or|Ws;function M2(t,a,r,n){new z2(t,a,r,n)}class z2{parent;is_pending=!1;transform_error;#e;#t=Gt?Jt:null;#a;#c;#n;#r=null;#i=null;#o=null;#s=null;#g=0;#l=0;#d=!1;#f=new Set;#h=new Set;#u=null;#v=A2(()=>(this.#u=ys(this.#g),()=>{this.#u=null}));constructor(a,r,n,i){this.#e=a,this.#a=r,this.#c=c=>{var s=At;s.b=this,s.f|=El,n(c)},this.parent=At.b,this.transform_error=i??this.parent?.transform_error??(c=>c),this.#n=co(()=>{if(Gt){const c=this.#t;Ro();const s=c.data===Ll;if(c.data.startsWith(Wp)){const p=JSON.parse(c.data.slice(Wp.length));this.#b(p)}else s?this.#w():this.#_()}else this.#p()},C2),Gt&&(this.#e=Jt)}#_(){try{this.#r=on(()=>this.#c(this.#e))}catch(a){this.error(a)}}#b(a){const r=this.#a.failed,{reset:n,invoke_onerror:i}=this.#y(a);Jn(i),r&&(this.#o=on(()=>{r(this.#e,()=>a,()=>n)}))}#y(a){var r=!1,n=!1;const i=()=>{if(r){S2();return}r=!0,n&&l2(),this.#o!==null&&ks(this.#o,()=>{this.#o=null}),this.#m(()=>{this.#p()})};return{reset:i,invoke_onerror:()=>{try{n=!0,this.#a.onerror?.(a,i),n=!1}catch(s){Qr(s,this.#n&&this.#n.parent)}}}}#w(){const a=this.#a.pending;a&&(this.is_pending=!0,this.#i=on(()=>a(this.#e)),Jn(()=>{var r=this.#s=document.createDocumentFragment(),n=Bi();r.append(n),this.#r=this.#m(()=>on(()=>this.#c(n))),this.#l===0&&(this.#e.before(r),this.#s=null,ks(this.#i,()=>{this.#i=null}),this.#k(Ft))}))}#p(){try{if(this.is_pending=this.has_pending_snippet(),this.#l=0,this.#g=0,this.#r=on(()=>{this.#c(this.#e)}),this.#l>0){var a=this.#s=document.createDocumentFragment();od(this.#r,a);const r=this.#a.pending;this.#i=on(()=>r(this.#e))}else this.#k(Ft)}catch(r){this.error(r)}}#k(a){this.is_pending=!1,a.transfer_effects(this.#f,this.#h)}defer_effect(a){tm(a,this.#f,this.#h)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#a.pending}#m(a){var r=At,n=ea,i=xa;$n(this.#n),Sn(this.#n),Js(this.#n.ctx);try{return kr.ensure(),a()}catch(c){return Jp(c),null}finally{$n(r),Sn(n),Js(i)}}#x(a,r){if(!this.has_pending_snippet()){this.parent&&this.parent.#x(a,r);return}this.#l+=a,this.#l===0&&(this.#k(r),this.#i&&ks(this.#i,()=>{this.#i=null}),this.#s&&(this.#e.before(this.#s),this.#s=null))}update_pending_count(a,r){this.#x(a,r),this.#g+=a,!(!this.#u||this.#d)&&(this.#d=!0,Jn(()=>{this.#d=!1,this.#u&&ro(this.#u,this.#g)}))}get_effect_pending(){return this.#v(),e(this.#u)}error(a){if(!this.#a.onerror&&!this.#a.failed)throw a;Ft?.is_fork?(this.#r&&Ft.skip_effect(this.#r),this.#i&&Ft.skip_effect(this.#i),this.#o&&Ft.skip_effect(this.#o),Ft.oncommit(()=>{this.#S(a)})):this.#S(a)}#S(a){this.#r&&(Yi(this.#r),this.#r=null),this.#i&&(Yi(this.#i),this.#i=null),this.#o&&(Yi(this.#o),this.#o=null),Gt&&(mi(this.#t),yr(),mi(Bo()));let r=this.#a.failed;const n=i=>{const{reset:c,invoke_onerror:s}=this.#y(i);s(),r&&(this.#o=this.#m(()=>{try{return on(()=>{var d=At;d.b=this,d.f|=El,r(this.#e,()=>i,()=>c)})}catch(d){return Qr(d,this.#n.parent),null}}))};Jn(()=>{var i;try{i=this.transform_error(a)}catch(c){Qr(c,this.#n&&this.#n.parent);return}i!==null&&typeof i=="object"&&typeof i.then=="function"?i.then(n,c=>Qr(c,this.#n&&this.#n.parent)):n(i)})}}function j2(t,a,r,n){const i=Po()?ao:ri;var c=t.filter(u=>!u.settled),s=a.map(i);if(r.length===0&&c.length===0){n(s);return}var d=At,p=U2(),m=c.length===1?c[0].promise:c.length>1?Promise.all(c.map(u=>u.promise)):null;function _(u){if((d.f&nn)===0){p();try{n([...s,...u])}catch(l){Qr(l,d)}Pc()}}var h=nm();if(r.length===0){m.then(()=>_([])).finally(h);return}function f(){Promise.all(r.map(u=>E2(u))).then(_).catch(u=>Qr(u,d)).finally(h)}m?m.then(()=>{p(),f(),Pc()}):f()}function U2(){var t=At,a=ea,r=xa,n=Ft;return function(c=!0){$n(t),Sn(a),Js(r),c&&(t.f&nn)===0&&(n?.activate(),n?.apply())}}function Pc(t=!0){$n(null),Sn(null),Js(null),t&&Ft?.deactivate()}function nm(){var t=At,a=t.b,r=Ft,n=!!a?.is_rendered();return a?.update_pending_count(1,r),r.increment(n,t),()=>{a?.update_pending_count(-1,r),r.decrement(n,t)}}function ao(t){var a=pi|ni;return At!==null&&(At.f|=Ws),{ctx:xa,deps:null,effects:null,equals:Yp,f:a,fn:t,reactions:null,rv:0,v:li,wv:0,parent:At,ac:null}}const No=Symbol("obsolete");function E2(t,a,r){let n=At;n===null&&Zv();var i=void 0,c=ys(li),s=!ea,d=new Set;return H2(()=>{var p=At,m=Pp();i=m.promise;try{Promise.resolve(t()).then(m.resolve,u=>{u!==Uo&&m.reject(u)}).finally(Pc)}catch(u){m.reject(u),Pc()}var _=Ft;if(s){if((p.f&ms)!==0)var h=nm();if(n.b?.is_rendered())_.async_deriveds.get(p)?.reject(No);else for(const u of d.values())u.reject(No);d.add(m),_.async_deriveds.set(p,m)}const f=(u,l=void 0)=>{h?.(),d.delete(m),l!==No&&(_.activate(),l?(c.f|=Hr,ro(c,l)):((c.f&Hr)!==0&&(c.f^=Hr),ro(c,u)),_.deactivate())};m.promise.then(f,u=>f(null,u||"unknown"))}),Vc(()=>{for(const p of d)p.reject(No)}),new Promise(p=>{function m(_){function h(){_===i?p(c):m(i)}_.then(h,h)}m(i)})}function Si(t){const a=ao(t);return Fm(a),a}function ri(t){const a=ao(t);return a.equals=Xp,a}function R2(t){var a=t.effects;if(a!==null){t.effects=null;for(var r=0;r{a.ac.abort(Uo),a.ac=null}),a.fn!==null&&(a.teardown=jc),Vo(a,0),sd(a))}function sm(t){if(t.effects!==null)for(const a of t.effects)a.teardown&&a.fn!==null&&Ss(a)}let Yl=null,io=null,Ft=null,Kl=null,jn=null,Xl=null,Do=!1,Zl=!1,no=null,Nc=null;var om=0,R8=new Set;let P2=1;class kr{id=P2++;#e=!1;linked=!0;#t=null;#a=null;async_deriveds=new Map;current=new Map;previous=new Map;#c=new Set;#n=new Set;#r=0;#i=new Map;#o=null;#s=[];#g=[];#l=new Set;#d=new Set;#f=new Map;#h=new Set;is_fork=!1;#u=!1;constructor(){io===null?Yl=io=this:(io.#a=this,this.#t=io),io=this}#v(){if(this.is_fork)return!0;for(const n of this.#i.keys()){for(var a=n,r=!1;a.parent!==null;){if(this.#f.has(a)){r=!0;break}a=a.parent}if(!r)return!0}return!1}skip_effect(a){this.#f.has(a)||this.#f.set(a,{d:[],m:[]}),this.#h.delete(a)}unskip_effect(a,r=n=>this.schedule(n)){var n=this.#f.get(a);if(n){this.#f.delete(a);for(var i of n.d)Ba(i,ni),r(i);for(i of n.m)Ba(i,wn),r(i)}this.#h.add(a)}#_(){this.#e=!0,om++>1e3&&(this.#m(),N2());for(const p of this.#l)this.#d.delete(p),Ba(p,ni),this.schedule(p);for(const p of this.#d)Ba(p,wn),this.schedule(p);const a=this.#s;this.#s=[],this.apply();var r=no=[],n=[],i=Nc=[];for(const p of a)try{this.#b(p,r,n)}catch(m){throw fm(p),this.#v()||this.discard(),m}if(Ft=null,i.length>0){var c=kr.ensure();for(const p of i)c.schedule(p)}if(no=null,Nc=null,this.#v()){this.#p(n),this.#p(r);for(const[p,m]of this.#f)um(p,m);i.length>0&&Ft.#_();return}const s=this.#y();if(s){this.#p(n),this.#p(r),s.#w(this);return}this.#l.clear(),this.#d.clear();for(const p of this.#c)p(this);this.#c.clear(),Kl=this,lm(n),lm(r),Kl=null,this.#o?.resolve();var d=Ft;if(this.#r===0&&(this.#s.length===0||d!==null)&&this.#m(),this.#s.length>0)if(d!==null){const p=d;p.#s.push(...this.#s.filter(m=>!p.#s.includes(m)))}else d=this;d!==null&&d.#_()}#b(a,r,n){a.f^=ii;for(var i=a.first;i!==null;){var c=i.f,s=(c&(yn|vr))!==0,d=s&&(c&ii)!==0,p=d||(c&Ri)!==0||this.#f.has(i);if(!p&&i.fn!==null){s?i.f^=ii:(c&Qs)!==0?r.push(i):lo(i)&&((c&zn)!==0&&this.#d.add(i),Ss(i));var m=i.first;if(m!==null){i=m;continue}}for(;i!==null;){var _=i.next;if(_!==null){i=_;break}i=i.parent}}}#y(){for(var a=this.#t;a!==null;){if(!a.is_fork){for(const[r,[,n]]of this.current)if(a.current.has(r)&&!n)return a}a=a.#t}return null}#w(a){for(const[n,i]of a.current)!this.previous.has(n)&&a.previous.has(n)&&this.previous.set(n,a.previous.get(n)),this.current.set(n,i);for(const[n,i]of a.async_deriveds){const c=this.async_deriveds.get(n);c&&i.promise.then(c.resolve).catch(c.reject)}a.async_deriveds.clear(),this.transfer_effects(a.#l,a.#d);const r=n=>{var i=n.reactions;if(i!==null&&!((n.f&pi)!==0&&(n.f&(ni|wn))===0))for(const d of i){var c=d.f;if((c&pi)!==0)r(d);else{var s=d;c&(Ys|zn)&&!this.async_deriveds.has(s)&&(this.#d.delete(s),Ba(s,ni),this.schedule(s))}}};for(const n of this.current.keys())r(n);this.oncommit(()=>a.discard()),a.#m(),Ft=this,this.#_()}#p(a){for(var r=0;r!h.current.get(f)[1]);if(!(!h.#e||i.length===0)){var c=i.filter(f=>!this.current.has(f));if(c.length===0)a&&h.discard();else if(r.length>0){if(a)for(const f of this.#h)h.unskip_effect(f,u=>{(u.f&(zn|Ys))!==0?h.schedule(u):h.#p([u])});h.activate();var s=new Set,d=new Map;for(var p of r)dm(p,c,s,d);d=new Map;var m=[...h.current].filter(([f,u])=>{const l=this.current.get(f);return l?l[0]!==u[0]||l[1]!==u[1]:!0}).map(([f])=>f);if(m.length>0)for(const f of this.#g)(f.f&(nn|Ri|Uc))===0&&Jl(f,m,d)&&((f.f&(Ys|zn))!==0?(Ba(f,ni),h.schedule(f)):h.#l.add(f));if(h.#s.length>0&&!h.#u){h.apply();for(var _ of h.#s)h.#b(_,[],[]);h.#s=[]}h.deactivate()}}}}increment(a,r){if(this.#r+=1,a){let n=this.#i.get(r)??0;this.#i.set(r,n+1)}}decrement(a,r){if(this.#r-=1,a){let n=this.#i.get(r)??0;n===1?this.#i.delete(r):this.#i.set(r,n-1)}this.#u||(this.#u=!0,Jn(()=>{this.#u=!1,this.linked&&this.flush()}))}transfer_effects(a,r){for(const n of a)this.#l.add(n);for(const n of r)this.#d.add(n);a.clear(),r.clear()}oncommit(a){this.#c.add(a)}ondiscard(a){this.#n.add(a)}settled(){return(this.#o??=Pp()).promise}static ensure(){if(Ft===null){const a=Ft=new kr;!Zl&&!Do&&Jn(()=>{a.#e||a.flush()})}return Ft}apply(){{jn=null;return}}schedule(a){if(Xl=a,a.b?.is_pending&&(a.f&(Qs|zo|Np))!==0&&(a.f&ms)===0){a.b.defer_effect(a);return}for(var r=a;r.parent!==null;){r=r.parent;var n=r.f;if(no!==null&&r===At&&(ea===null||(ea.f&pi)===0))return;if((n&(vr|yn))!==0){if((n&ii)===0)return;r.f^=ii}}this.#s.push(r)}#m(){if(this.linked){var a=this.#t,r=this.#a;a===null?Yl=r:a.#a=r,r===null?io=a:r.#t=a,this.linked=!1}}}function cm(t){var a=Do;Do=!0;try{for(var r;;){if(q2(),Ft===null)return r;Ft.flush()}}finally{Do=a}}function N2(){try{i2()}catch(t){Qr(t,Xl)}}let wr=null;function lm(t){var a=t.length;if(a!==0){for(var r=0;r0)){bs.clear();for(const i of wr){if((i.f&(nn|Ri))!==0)continue;const c=[i];let s=i.parent;for(;s!==null;)wr.has(s)&&(wr.delete(s),c.push(s)),s=s.parent;for(let d=c.length-1;d>=0;d--){const p=c[d];(p.f&(nn|Ri))===0&&Ss(p)}}wr.clear()}}wr=null}}function dm(t,a,r,n){if(!r.has(t)&&(r.add(t),t.reactions!==null))for(const i of t.reactions){const c=i.f;(c&pi)!==0?dm(i,a,r,n):(c&(Ys|zn))!==0&&(c&ni)===0&&Jl(i,a,n)&&(Ba(i,ni),ed(i))}}function Jl(t,a,r){const n=r.get(t);if(n!==void 0)return n;if(t.deps!==null)for(const i of t.deps){if(Mc.call(a,i))return!0;if((i.f&pi)!==0&&Jl(i,a,r))return r.set(i,!0),!0}return r.set(t,!1),!1}function ed(t){Ft.schedule(t)}function um(t,a){if(!((t.f&yn)!==0&&(t.f&ii)!==0)){(t.f&ni)!==0?a.d.push(t):(t.f&wn)!==0&&a.m.push(t),Ba(t,ii);for(var r=t.first;r!==null;)um(r,a),r=r.next}}function fm(t){Ba(t,ii);for(var a=t.first;a!==null;)fm(a),a=a.next}let Dc=new Set;const bs=new Map;let pm=!1;function ys(t,a){var r={f:0,v:t,reactions:null,equals:Yp,rv:0,wv:0};return r}function Wa(t,a){const r=ys(t);return Fm(r),r}function le(t,a=!1,r=!0){const n=ys(t);return a||(n.equals=Xp),Zs&&r&&xa!==null&&xa.l!==null&&(xa.l.s??=[]).push(n),n}function Ya(t,a){return U(t,z(()=>e(t))),a}function U(t,a,r=!1){ea!==null&&(!Un||(ea.f&Uc)!==0)&&Po()&&(ea.f&(pi|zn|Ys|Uc))!==0&&(tr===null||!tr.has(t))&&c2();let n=r?so(a):a;return ro(t,n,Nc)}function ro(t,a,r=null){if(!t.equals(a)){bs.set(t,Sr?a:t.v);var n=kr.ensure();if(n.capture(t,a),(t.f&pi)!==0){const i=t;(t.f&ni)!==0&&Wl(i),jn===null&&Ol(i)}t.wv=Mm(),mm(t,ni,r),Po()&&At!==null&&(At.f&ii)!==0&&(At.f&(yn|vr))===0&&(Tn===null?Y2([t]):Tn.push(t)),!n.is_fork&&Dc.size>0&&!pm&&D2()}return a}function D2(){pm=!1;for(const t of Dc){(t.f&ii)!==0&&Ba(t,wn);let a;try{a=lo(t)}catch{a=!0}a&&Ss(t)}Dc.clear()}function Lo(t){U(t,t.v+1)}function mm(t,a,r){var n=t.reactions;if(n!==null)for(var i=Po(),c=n.length,s=0;s{if(xs===c)return d();var p=ea,m=xs;Sn(null),Cm(c);var _=d();return Sn(p),Cm(m),_};return n&&r.set("length",Wa(t.length)),new Proxy(t,{defineProperty(d,p,m){(!("value"in m)||m.configurable===!1||m.enumerable===!1||m.writable===!1)&&s2();var _=r.get(p);return _===void 0?s(()=>{var h=Wa(m.value);return r.set(p,h),h}):U(_,m.value,!0),!0},deleteProperty(d,p){var m=r.get(p);if(m===void 0){if(p in d){const _=s(()=>Wa(li));r.set(p,_),Lo(i)}}else U(m,li),Lo(i);return!0},get(d,p,m){if(p===br)return t;var _=r.get(p),h=p in d;if(_===void 0&&(!h||ps(d,p)?.writable)&&(_=s(()=>{var u=so(h?d[p]:li),l=Wa(u);return l}),r.set(p,_)),_!==void 0){var f=e(_);return f===li?void 0:f}return Reflect.get(d,p,m)},getOwnPropertyDescriptor(d,p){var m=Reflect.getOwnPropertyDescriptor(d,p);if(m&&"value"in m){var _=r.get(p);_&&(m.value=e(_))}else if(m===void 0){var h=r.get(p),f=h?.v;if(h!==void 0&&f!==li)return{enumerable:!0,configurable:!0,value:f,writable:!0}}return m},has(d,p){if(p===br)return!0;var m=r.get(p),_=m!==void 0&&m.v!==li||Reflect.has(d,p);if(m!==void 0||At!==null&&(!_||ps(d,p)?.writable)){m===void 0&&(m=s(()=>{var f=_?so(d[p]):li,u=Wa(f);return u}),r.set(p,m));var h=e(m);if(h===li)return!1}return _},set(d,p,m,_){var h=r.get(p),f=p in d;if(n&&p==="length")for(var u=m;uWa(li)),r.set(u+"",l))}if(h===void 0)(!f||ps(d,p)?.writable)&&(h=s(()=>Wa(void 0)),U(h,so(m)),r.set(p,h));else{f=h.v!==li;var o=s(()=>so(m));U(h,o)}var g=Reflect.getOwnPropertyDescriptor(d,p);if(g?.set&&g.set.call(_,m),!f){if(n&&typeof p=="string"){var v=r.get("length"),b=Number(p);Number.isInteger(b)&&b>=v.v&&U(v,b+1)}Lo(i)}return!0},ownKeys(d){e(i);var p=Reflect.ownKeys(d).filter(h=>{var f=r.get(h);return f===void 0||f.v!==li});for(var[m,_]of r)_.v!==li&&!(m in d)&&p.push(m);return p},setPrototypeOf(){o2()}})}function gm(t){try{if(t!==null&&typeof t=="object"&&br in t)return t[br]}catch{}return t}function L2(t,a){return Object.is(gm(t),gm(a))}var td,hm,_m,vm,bm;function ad(){if(td===void 0){td=window,hm=document,_m=/Firefox/.test(navigator.userAgent);var t=Element.prototype,a=Node.prototype,r=Text.prototype;vm=ps(a,"firstChild").get,bm=ps(a,"nextSibling").get,Bp(t)&&(t[Bl]=void 0,t[Ip]=null,t[Pl]=void 0,t.__e=void 0),Bp(r)&&(r[Nl]=void 0)}}function Bi(t=""){return document.createTextNode(t)}function xr(t){return vm.call(t)}function xn(t){return bm.call(t)}function B(t,a){if(!Gt)return xr(t);var r=xr(Jt);if(r===null)r=Jt.appendChild(Bi());else if(a&&r.nodeType!==Eo){var n=Bi();return r?.before(n),mi(n),n}return a&&Lc(r),mi(r),r}function It(t,a=!1){if(!Gt){var r=xr(t);return r instanceof Comment&&r.data===""?xn(r):r}if(a){if(Jt?.nodeType!==Eo){var n=Bi();return Jt?.before(n),mi(n),n}Lc(Jt)}return Jt}function W(t,a=1,r=!1){let n=Gt?Jt:t;for(var i;a--;)i=n,n=xn(n);if(!Gt)return n;if(r){if(n?.nodeType!==Eo){var c=Bi();return n===null?i?.after(c):n.before(c),mi(c),c}Lc(n)}return mi(n),n}function id(t){t.textContent=""}function ym(){return!1}function V2(t,a,r){return r?document.createElement(t,{is:r}):document.createElement(t)}function Lc(t){if(t.nodeValue.length<65536)return;let a=t.nextSibling;for(;a!==null&&a.nodeType===Eo;)a.remove(),t.nodeValue+=a.nodeValue,a=t.nextSibling}function km(t){At===null&&(ea===null&&a2(),t2()),Sr&&e2()}function I2(t,a){var r=a.last;r===null?a.last=a.first=t:(r.next=t,t.prev=r,a.last=t)}function er(t,a){var r=At;r!==null&&(r.f&Ri)!==0&&(t|=Ri);var n={ctx:xa,deps:null,nodes:null,f:t|ni|kn,first:null,fn:a,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null};Ft?.register_created_effect(n);var i=n;if((t&Qs)!==0)no!==null?no.push(n):kr.ensure().schedule(n);else if(a!==null){try{Ss(n)}catch(s){throw Yi(n),s}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&(i.f&Ws)===0&&(i=i.first,(t&zn)!==0&&(t&Or)!==0&&i!==null&&(i.f|=Or))}if(i!==null&&(i.parent=r,r!==null&&I2(i,r),ea!==null&&(ea.f&pi)!==0&&(t&vr)===0)){var c=ea;(c.effects??=[]).push(i)}return n}function nd(){return ea!==null&&!Un}function Vc(t){const a=er(zo,null);return Ba(a,ii),a.teardown=t,a}function Ic(t){km();var a=At.f,r=!ea&&(a&yn)!==0&&xa!==null&&!xa.i;if(r){var n=xa;(n.e??=[]).push(t)}else return wm(t)}function wm(t){return er(Qs|Lp,t)}function xm(t){return km(),er(zo|Lp,t)}function O2(t){kr.ensure();const a=er(vr|Ws,t);return(r={})=>new Promise(n=>{r.outro?ks(a,()=>{Yi(a),n(void 0)}):(Yi(a),n(void 0))})}function rd(t){return er(Qs,t)}function We(t,a){var r=xa,n={effect:null,ran:!1,deps:t};r.l.$.push(n),n.effect=oo(()=>{if(t(),!n.ran){n.ran=!0;var i=At;try{$n(i.parent),z(a)}finally{$n(i)}}})}function Oc(){var t=xa;oo(()=>{for(var a of t.l.$){a.deps();var r=a.effect;(r.f&ii)!==0&&r.deps!==null&&Ba(r,wn),lo(r)&&Ss(r),a.ran=!1}})}function H2(t){return er(Ys|Ws,t)}function oo(t,a=0){return er(zo|a,t)}function pe(t,a=[],r=[],n=[]){j2(n,a,r,i=>{er(zo,()=>{t(...i.map(e))})})}function co(t,a=0){var r=er(zn|a,t);return r}function on(t){return er(yn|Ws,t)}function Sm(t){var a=t.teardown;if(a!==null){const r=Sr,n=ea;Gm(!0),Sn(null);try{a.call(null)}finally{Gm(r),Sn(n)}}}function sd(t,a=!1){var r=t.first;for(t.first=t.last=null;r!==null;){const i=r.ac;i!==null&&to(()=>{i.abort(Uo)});var n=r.next;(r.f&vr)!==0?r.parent=null:Yi(r,a),r=n}}function Q2(t){for(var a=t.first;a!==null;){var r=a.next;(a.f&yn)===0&&Yi(a),a=r}}function Yi(t,a=!0){var r=!1;(a||(t.f&Dp)!==0)&&t.nodes!==null&&t.nodes.end!==null&&(W2(t.nodes.start,t.nodes.end),r=!0),t.f|=Rl,sd(t,a&&!r),Vo(t,0);var n=t.nodes&&t.nodes.t;if(n!==null)for(const c of n)c.stop();Sm(t),t.f^=Rl,t.f|=nn;var i=t.parent;i!==null&&i.first!==null&&$m(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=t.b=null}function W2(t,a){for(;t!==null;){var r=t===a?null:xn(t);t.remove(),t=r}}function $m(t){var a=t.parent,r=t.prev,n=t.next;r!==null&&(r.next=n),n!==null&&(n.prev=r),a!==null&&(a.first===t&&(a.first=n),a.last===t&&(a.last=r))}function ks(t,a,r=!0){var n=[];Tm(t,n,!0);var i=()=>{r&&Yi(t),a&&a()},c=n.length;if(c>0){var s=()=>--c||i();for(var d of n)d.out(s)}else i()}function Tm(t,a,r){if((t.f&Ri)===0){t.f^=Ri;var n=t.nodes&&t.nodes.t;if(n!==null)for(const d of n)(d.is_global||r)&&a.push(d);for(var i=t.first;i!==null;){var c=i.next;if((i.f&vr)===0){var s=(i.f&Or)!==0||(i.f&yn)!==0&&(t.f&zn)!==0;Tm(i,a,s?r:!1)}i=c}}}function Hc(t){qm(t,!0)}function qm(t,a){if((t.f&Ri)!==0){t.f^=Ri,(t.f&ii)===0&&(Ba(t,ni),kr.ensure().schedule(t));for(var r=t.first;r!==null;){var n=r.next,i=(r.f&Or)!==0||(r.f&yn)!==0;qm(r,i?a:!1),r=n}var c=t.nodes&&t.nodes.t;if(c!==null)for(const s of c)(s.is_global||a)&&s.in()}}function od(t,a){if(t.nodes)for(var r=t.nodes.start,n=t.nodes.end;r!==null;){var i=r===n?null:xn(r);a.append(r),r=i}}let Qc=!1,Sr=!1;function Gm(t){Sr=t}let ea=null,Un=!1;function Sn(t){ea=t}let At=null;function $n(t){At=t}let tr=null;function Fm(t){ea!==null&&(tr??=new Set).add(t)}let Ki=null,cn=0,Tn=null;function Y2(t){Tn=t}let Am=1,ws=0,xs=ws;function Cm(t){xs=t}function Mm(){return++Am}function lo(t){var a=t.f;if((a&ni)!==0)return!0;if(a&pi&&(t.f&=~gs),(a&wn)!==0){for(var r=t.deps,n=r.length,i=0;it.wv)return!0}(a&kn)!==0&&jn===null&&Ba(t,ii)}return!1}function zm(t,a,r=!0){var n=t.reactions;if(n!==null&&!(tr!==null&&tr.has(t)))for(var i=0;i{t.ac.abort(Uo)}),t.ac=null);try{t.f|=Ec;var _=t.fn,h=_();t.f|=ms;var f=t.deps,u=Ft?.is_fork;if(Ki!==null){var l;if(u||Vo(t,cn),f!==null&&cn>0)for(f.length=cn+Ki.length,l=0;l{c.ac.abort(Uo),c.ac=null,Ba(c,ni)}),B2(c),Vo(c,0)}}function Vo(t,a){var r=t.deps;if(r!==null)for(var n=a;nr?.call(this,c))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?Jn(()=>{a.addEventListener(t,i,n)}):a.addEventListener(t,i,n),i}function Te(t,a,r,n,i){var c={capture:n,passive:i},s=tb(t,a,r,c);(a===document.body||a===window||a===document||a instanceof HTMLMediaElement)&&Vc(()=>{a.removeEventListener(t,s,c)})}let Bm=null;function ld(t){var a=this,r=a.ownerDocument,n=t.type,i=t.composedPath?.()||[],c=i[0]||t.target;Bm=t;var s=0,d=Bm===t&&t[Wc];if(d){var p=i.indexOf(d);if(p!==-1&&(a===document||a===window)){t[Wc]=a;return}var m=i.indexOf(a);if(m===-1)return;p<=m&&(s=p)}if(c=i[s]||t.target,c!==a){Ep(t,"currentTarget",{configurable:!0,get(){return c||r}});var _=ea,h=At;Sn(null),$n(null);try{for(var f,u=[];c!==null&&c!==a;){try{var l=c[Wc]?.[n];l!=null&&(!c.disabled||t.target===c)&&l.call(c,t)}catch(o){f?u.push(o):f=o}if(t.cancelBubble)break;s++,c=s{throw o});throw f}}finally{t[Wc]=a,delete t.currentTarget,Sn(_),$n(h)}}}const ab=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function ib(t){return ab?.createHTML(t)??t}function nb(t){var a=V2("template");return a.innerHTML=ib(t.replaceAll("","")),a.content}function Wr(t,a){var r=At;r.nodes===null&&(r.nodes={start:t,end:a,a:null,t:null})}function ge(t,a){var r=(a&b2)!==0,n=(a&y2)!==0,i,c=!t.startsWith("");return()=>{if(Gt)return Wr(Jt,null),Jt;i===void 0&&(i=nb(c?t:""+t),r||(i=xr(i)));var s=n||_m?document.importNode(i,!0):i.cloneNode(!0);if(r){var d=xr(s),p=s.lastChild;Wr(d,p)}else Wr(s,s);return s}}function rb(t=""){if(!Gt){var a=Bi(t+"");return Wr(a,a),a}var r=Jt;return r.nodeType!==Eo?(r.before(r=Bi()),mi(r)):Lc(r),Wr(r,r),r}function Yr(){if(Gt)return Wr(Jt,null),Jt;var t=document.createDocumentFragment(),a=document.createComment(""),r=Bi();return t.append(a,r),Wr(a,r),t}function oe(t,a){if(Gt){var r=At;((r.f&ms)===0||r.nodes.end===null)&&(r.nodes.end=Jt),Ro();return}t!==null&&t.before(a)}function K(t,a){var r=a==null?"":typeof a=="object"?`${a}`:a;r!==(t[Nl]??=t.nodeValue)&&(t[Nl]=r,t.nodeValue=`${r}`)}function Pm(t,a){return Nm(t,a)}function sb(t,a){ad(),a.intro=a.intro??!1;const r=a.target,n=Gt,i=Jt;try{for(var c=xr(r);c&&(c.nodeType!==Ks||c.data!==Dl);)c=xn(c);if(!c)throw Xs;rn(!0),mi(c);const s=Nm(t,{...a,anchor:c});return rn(!1),s}catch(s){if(s instanceof Error&&s.message.split(` +`).some(d=>d.startsWith("https://svelte.dev/e/")))throw s;return s!==Xs&&console.warn("Failed to hydrate: ",s),a.recover===!1&&n2(),ad(),id(r),rn(!1),Pm(t,a)}finally{rn(n),mi(i)}}const Yc=new Map;function Nm(t,{target:a,anchor:r,props:n={},events:i,context:c,intro:s=!0,transformError:d}){ad();var p=void 0,m=O2(()=>{var _=r??a.appendChild(Bi());M2(_,{pending:()=>{}},u=>{hs({});var l=xa;if(c&&(l.c=c),i&&(n.$$events=i),Gt&&Wr(u,null),p=t(u,n)||{},Gt&&(At.nodes.end=Jt,Jt===null||Jt.nodeType!==Ks||Jt.data!==Vl))throw Rc(),Xs;_s()},d);var h=new Set,f=u=>{for(var l=0;l{for(var u of h)for(const g of[a,document]){var l=Yc.get(g),o=l.get(u);--o==0?(g.removeEventListener(u,ld),l.delete(u),l.size===0&&Yc.delete(g)):l.set(u,o)}Rm.delete(f),_!==r&&_.parentNode?.removeChild(_)}});return dd.set(p,m),p}let dd=new WeakMap;function ob(t,a){const r=dd.get(t);return r?(dd.delete(t),r(a)):Promise.resolve()}class ud{anchor;#e=new Map;#t=new Map;#a=new Map;#c=new Set;#n=!0;constructor(a,r=!0){this.anchor=a,this.#n=r}#r=a=>{if(this.#e.has(a)){var r=this.#e.get(a),n=this.#t.get(r);if(n)Hc(n),this.#c.delete(r);else{var i=this.#a.get(r);i&&(Hc(i.effect),this.#t.set(r,i.effect),this.#a.delete(r),i.fragment.lastChild.remove(),this.anchor.before(i.fragment),n=i.effect)}for(const[c,s]of this.#e){if(this.#e.delete(c),c===a)break;const d=this.#a.get(s);d&&(Yi(d.effect),this.#a.delete(s))}for(const[c,s]of this.#t){if(c===r||this.#c.has(c))continue;const d=()=>{if(Array.from(this.#e.values()).includes(c)){var m=document.createDocumentFragment();od(s,m),m.append(Bi()),this.#a.set(c,{effect:s,fragment:m})}else Yi(s);this.#c.delete(c),this.#t.delete(c)};this.#n||!n?(this.#c.add(c),ks(s,d,!1)):d()}}};#i=a=>{this.#e.delete(a);const r=Array.from(this.#e.values());for(const[n,i]of this.#a)r.includes(n)||(Yi(i.effect),this.#a.delete(n))};ensure(a,r){var n=Ft,i=ym();if(r&&!this.#t.has(a)&&!this.#a.has(a))if(i){var c=document.createDocumentFragment(),s=Bi();c.append(s),this.#a.set(a,{effect:on(()=>r(s)),fragment:c})}else this.#t.set(a,on(()=>r(this.anchor)));if(this.#e.set(n,a),i){for(const[d,p]of this.#t)d===a?n.unskip_effect(p):n.skip_effect(p);for(const[d,p]of this.#a)d===a?n.unskip_effect(p.effect):n.skip_effect(p.effect);n.oncommit(this.#r),n.ondiscard(this.#i)}else Gt&&(this.anchor=Jt),this.#r(n)}}function $e(t,a,r=!1){var n;Gt&&(n=Jt,Ro());var i=new ud(t),c=r?Or:0;function s(d,p){if(Gt){var m=Il(n);if(d!==parseInt(m.substring(1))){var _=Bo();mi(_),i.anchor=_,rn(!1),i.ensure(d,p),rn(!0);return}}i.ensure(d,p)}co(()=>{var d=!1;a((p,m=0)=>{d=!0,s(m,p)}),d||s(-1,null)},c)}function da(t,a){return a}function cb(t,a,r){for(var n=[],i=a.length,c,s=a.length,d=0;d{if(c){if(c.pending.delete(h),c.done.add(h),c.pending.size===0){var f=t.outrogroups;fd(t,zc(c.done)),f.delete(c),f.size===0&&(t.outrogroups=null)}}else s-=1},!1)}if(s===0){var p=n.length===0&&r!==null;if(p){var m=r,_=m.parentNode;id(_),_.append(m),t.items.clear()}fd(t,a,!p)}else c={pending:new Set(a),done:new Set},(t.outrogroups??=new Set).add(c)}function fd(t,a,r=!0){var n;if(t.pending.size>0){n=new Set;for(const s of t.pending.values())for(const d of s)n.add(t.items.get(d).e)}for(var i=0;i{var k=r();return zl(k)?k:k==null?[]:zc(k)}),f,u=new Map,l=!0;function o(k){(b.effect.f&nn)===0&&(b.pending.delete(k),b.fallback=_,lb(b,f,s,a,n),_!==null&&(f.length===0?(_.f&Zn)===0?Hc(_):(_.f^=Zn,Oo(_,null,s)):ks(_,()=>{_=null})))}function g(k){b.pending.delete(k)}var v=co(()=>{f=e(h);var k=f.length;let w=!1;if(Gt){var T=Il(s)===Ll;T!==(k===0)&&(s=Bo(),mi(s),rn(!1),w=!0)}for(var N=new Set,R=Ft,F=ym(),D=0;Dc(s)):(_=on(()=>c(Dm??=Bi())),_.f|=Zn)),k>N.size&&Jv(),Gt&&k>0&&mi(Bo()),!l)if(u.set(R,N),F){for(const[V,G]of d)N.has(V)||R.skip_effect(G.e);R.oncommit(o),R.ondiscard(g)}else o(R);w&&rn(!0),e(h)}),b={effect:v,items:d,pending:u,outrogroups:null,fallback:_};l=!1,Gt&&(s=Jt)}function Io(t){for(;t!==null&&(t.f&yn)===0;)t=t.next;return t}function lb(t,a,r,n,i){var c=(n&f2)!==0,s=a.length,d=t.items,p=Io(t.effect.first),m,_=null,h,f=[],u=[],l,o,g,v;if(c)for(v=0;v0){var D=(n&Qp)!==0&&s===0?r:null;if(c){for(v=0;v{if(h!==void 0)for(g of h)g.nodes?.a?.apply()})}function db(t,a,r,n,i,c,s,d){var p=(s&d2)!==0?(s&p2)===0?le(r,!1,!1):ys(r):null,m=(s&u2)!==0?ys(i):null;return{v:p,i:m,e:on(()=>(c(a,p??r,m??i,d),()=>{t.delete(n)}))}}function Oo(t,a,r){if(t.nodes)for(var n=t.nodes.start,i=t.nodes.end,c=a&&(a.f&Zn)===0?a.nodes.start:r;n!==null;){var s=xn(n);if(c.before(n),n===i)return;n=s}}function Kr(t,a,r){a===null?t.effect.first=r:a.next=r,r===null?t.effect.last=a:r.prev=a}function ub(t,a,...r){var n=new ud(t);co(()=>{const i=a()??null;n.ensure(i,i&&(c=>i(c,...r)))},Or)}function Kc(t,a,r){var n;Gt&&(n=Jt,Ro());var i=new ud(t);co(()=>{var c=a()??null;if(Gt){var s=Il(n),d=s===Dl,p=c!==null;if(d!==p){var m=Bo();mi(m),i.anchor=m,rn(!1),i.ensure(c,c&&(_=>r(_,c))),rn(!0);return}}i.ensure(c,c&&(_=>r(_,c)))},Or)}function fb(t,a){let r=null,n=Gt;var i;if(Gt){r=Jt;for(var c=xr(document.head);c!==null&&(c.nodeType!==Ks||c.data!==t);)c=xn(c);if(c===null)rn(!1);else{var s=xn(c);c.remove(),mi(s)}}Gt||(i=document.head.appendChild(Bi()));try{co(()=>{var d=on(()=>a(i));d.f|=Dp})}finally{n&&(rn(!0),mi(r))}}const Lm=[...` +\r\f \v\uFEFF`];function pb(t,a,r){var n=t==null?"":""+t;if(a&&(n=n?n+" "+a:a),r){for(var i of Object.keys(r))if(r[i])n=n?n+" "+i:i;else if(n.length)for(var c=i.length,s=0;(s=n.indexOf(i,s))>=0;){var d=s+c;(s===0||Lm.includes(n[s-1]))&&(d===n.length||Lm.includes(n[d]))?n=(s===0?"":n.substring(0,s))+n.substring(d+1):s=d}}return n===""?null:n}function mb(t,a){return t==null?null:String(t)}function ja(t,a,r,n,i,c){var s=t[Bl];if(Gt||s!==r||s===void 0){var d=pb(r,n,c);(!Gt||d!==t.getAttribute("class"))&&(d==null?t.removeAttribute("class"):t.className=d),t[Bl]=r}else if(c&&i!==c)for(var p in c){var m=!!c[p];(i==null||m!==!!i[p])&&t.classList.toggle(p,m)}return c}function Vm(t,a,r,n){var i=t[Pl];if(Gt||i!==a){var c=mb(a);(!Gt||c!==t.getAttribute("style"))&&(c==null?t.removeAttribute("style"):t.style.cssText=c),t[Pl]=a}return n}function ar(t,a,r=!1){if(t.multiple){if(a==null)return;if(!zl(a))return x2();for(var n of t.options)n.selected=a.includes(Qo(n));return}for(n of t.options){var i=Qo(n);if(L2(i,a)){n.selected=!0;return}}(!r||a!==void 0)&&(t.selectedIndex=-1)}function $r(t){var a=new MutationObserver(()=>{"__value"in t&&ar(t,t.__value)});a.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Vc(()=>{a.disconnect()})}function Ho(t,a,r=a){var n=new WeakSet,i=!0;Ql(t,"change",c=>{var s=c?"[selected]":":checked",d;if(t.multiple)d=[].map.call(t.querySelectorAll(s),Qo);else{var p=t.querySelector(s)??t.querySelector("option:not([disabled])");d=p&&Qo(p)}r(d),t.__value=d,Ft!==null&&n.add(Ft)}),rd(()=>{var c=a();if(t===document.activeElement){var s=Ft;if(n.has(s))return}if(ar(t,c,i),i&&c===void 0){var d=t.querySelector(":checked");d!==null&&(c=Qo(d),r(c))}t.__value=c,i=!1}),$r(t)}function Qo(t){return"__value"in t?t.__value:t.value}const gb=Symbol("is custom element"),hb=Symbol("is html"),_b=Op?"link":"LINK",vb=Op?"progress":"PROGRESS";function ya(t){if(Gt){var a=!1,r=()=>{if(!a){if(a=!0,t.hasAttribute("value")){var n=t.value;qe(t,"value",null),t.value=n}if(t.hasAttribute("checked")){var i=t.checked;qe(t,"checked",null),t.checked=i}}};t[jo]=r,Jn(r),im()}}function Ai(t,a){var r=md(t);r.value===(r.value=a??void 0)||t.value===a&&(a!==0||t.nodeName!==vb)||(t.value=a??"")}function pd(t,a){var r=md(t);r.checked!==(r.checked=a??void 0)&&(t.checked=a)}function qe(t,a,r,n){var i=md(t);Gt&&(i[a]=t.getAttribute(a),a==="src"||a==="srcset"||a==="href"&&t.nodeName===_b)||i[a]!==(i[a]=r)&&(a==="loading"&&(t[Xv]=r),r==null?t.removeAttribute(a):typeof r!="string"&&bb(t).includes(a)?t[a]=r:t.setAttribute(a,r))}function md(t){return t[Ip]??={[gb]:t.nodeName.includes("-"),[hb]:t.namespaceURI===k2}}var Im=new Map;function bb(t){var a=t.getAttribute("is")||t.nodeName,r=Im.get(a);if(r)return r;Im.set(a,r=[]);for(var n,i=t,c=Element.prototype;c!==i;){n=Rp(i);for(var s in n)n[s].set&&s!=="innerHTML"&&s!=="textContent"&&s!=="innerText"&&r.push(s);i=jl(i)}return r}function Ka(t,a,r=a){var n=new WeakSet;Ql(t,"input",async i=>{var c=i?t.defaultValue:t.value;if(c=gd(t)?hd(c):c,r(c),Ft!==null&&n.add(Ft),await $s(),c!==(c=a())){var s=t.selectionStart,d=t.selectionEnd,p=t.value.length;if(t.value=c??"",d!==null){var m=t.value.length;s===d&&d===p&&m>p?(t.selectionStart=m,t.selectionEnd=m):(t.selectionStart=s,t.selectionEnd=Math.min(d,m))}}}),(Gt&&t.defaultValue!==t.value||z(a)==null&&t.value)&&(r(gd(t)?hd(t.value):t.value),Ft!==null&&n.add(Ft)),oo(()=>{var i=a();if(t===document.activeElement){var c=Ft;if(n.has(c))return}gd(t)&&i===hd(t.value)||t.type==="date"&&!i&&!t.value||i!==t.value&&(t.value=i??"")})}function yb(t,a,r=a){Ql(t,"change",n=>{var i=n?t.defaultChecked:t.checked;r(i)}),(Gt&&t.defaultChecked!==t.checked||z(a)==null)&&r(t.checked),oo(()=>{var n=a();t.checked=!!n})}function gd(t){var a=t.type;return a==="number"||a==="range"}function hd(t){return t===""?null:+t}function kb(t,a,r){var n=ps(t,a);n&&n.set&&(t[a]=r,Vc(()=>{t[a]=null}))}function _d(t,a){return t===a||t?.[br]===a}function Pi(t={},a,r,n){var i=xa.r,c=At;return rd(()=>{var s,d;return oo(()=>{s=d,d=n?.()||[],z(()=>{_d(r(...d),t)||(a(t,...d),s&&_d(r(...s),t)&&a(null,...s))})}),()=>{let p=c;for(;p!==i&&p.parent!==null&&p.parent.f&Rl;)p=p.parent;const m=()=>{d&&_d(r(...d),t)&&a(null,...d)},_=p.teardown;p.teardown=()=>{m(),_?.()}}}),t}function Xc(t=!1){const a=xa,r=a.l.u;if(!r)return;let n=()=>de(a.s);if(t){let i=0,c={};const s=ao(()=>{let d=!1;const p=a.s;for(const m in p)p[m]!==c[m]&&(c[m]=p[m],d=!0);return d&&i++,i});n=()=>e(s)}r.b.length&&xm(()=>{Om(a,n),Ul(r.b)}),Ic(()=>{const i=z(()=>r.m.map(Yv));return()=>{for(const c of i)typeof c=="function"&&c()}}),r.a.length&&Ic(()=>{Om(a,n),Ul(r.a)})}function Om(t,a){if(t.l.s)for(const r of t.l.s)e(r);a()}function Rt(t,a,r,n){var i=!Zs||(r&g2)!==0,c=(r&_2)!==0,s=(r&v2)!==0,d=n,p=!0,m=void 0,_=()=>s&&i?(m??=ao(n),e(m)):(p&&(p=!1,d=s?z(n):n),d);let h;if(c){var f=br in t||Vp in t;h=ps(t,a)?.set??(f&&a in t?w=>t[a]=w:void 0)}var u,l=!1;c?[u,l]=F2(()=>t[a]):u=t[a],u===void 0&&n!==void 0&&(u=_(),h&&(i&&r2(),h(u)));var o;if(i?o=()=>{var w=t[a];return w===void 0?_():(p=!0,w)}:o=()=>{var w=t[a];return w!==void 0&&(d=void 0),w===void 0?d:w},i&&(r&h2)===0)return o;if(h){var g=t.$$legacy;return(function(w,T){return arguments.length>0?((!i||!T||g||l)&&h(T?o():w),w):o()})}var v=!1,b=((r&m2)!==0?ao:ri)(()=>(v=!1,o()));c&&e(b);var k=At;return(function(w,T){if(arguments.length>0){const N=T?e(b):i&&c?so(w):w;return U(b,N),v=!0,d!==void 0&&(d=N),w}return Sr&&v||(k.f&nn)!==0?b.v:e(b)})}function wb(t){return class extends xb{constructor(a){super({component:t,...a})}}}class xb{#e;#t;constructor(a){var r=new Map,n=(c,s)=>{var d=le(s,!1,!1);return r.set(c,d),d};const i=new Proxy({...a.props||{},$$events:{}},{get(c,s){return e(r.get(s)??n(s,Reflect.get(c,s)))},has(c,s){return s===Vp?!0:(e(r.get(s)??n(s,Reflect.get(c,s))),Reflect.has(c,s))},set(c,s,d){return U(r.get(s)??n(s,d),d),Reflect.set(c,s,d)}});this.#t=(a.hydrate?sb:Pm)(a.component,{target:a.target,anchor:a.anchor,props:i,context:a.context,intro:a.intro??!1,recover:a.recover,transformError:a.transformError}),(!a?.props?.$$host||a.sync===!1)&&cm(),this.#e=i.$$events;for(const c of Object.keys(this.#t))c==="$set"||c==="$destroy"||c==="$on"||Ep(this,c,{get(){return this.#t[c]},set(s){this.#t[c]=s},enumerable:!0});this.#t.$set=c=>{Object.assign(i,c)},this.#t.$destroy=()=>{ob(this.#t)}}$set(a){this.#t.$set(a)}$on(a,r){this.#e[a]=this.#e[a]||[];const n=(...i)=>r.call(this,...i);return this.#e[a].push(n),()=>{this.#e[a]=this.#e[a].filter(i=>i!==n)}}$destroy(){this.#t.$destroy()}}function Ts(t){xa===null&&Hp(),Zs&&xa.l!==null?Sb(xa).m.push(t):Ic(()=>{const a=z(t);if(typeof a=="function")return a})}function Zc(t){xa===null&&Hp(),Ts(()=>()=>z(t))}function Sb(t){var a=t.l;return a.u??={a:[],b:[],m:[]}}class vd{constructor(a,r){this.status=a,typeof r=="string"?this.body={message:r}:r?this.body=r:this.body={message:`Error: ${a}`}}toString(){return JSON.stringify(this.body)}}class bd{constructor(a,r){try{new Headers({location:r})}catch{throw new Error(`Invalid redirect location ${JSON.stringify(r)}: this string contains characters that cannot be used in HTTP headers`)}this.status=a,this.location=r}}class yd extends Error{constructor(a,r,n){super(n),this.status=a,this.text=r}}new URL("sveltekit-internal://");function $b(t,a){return t==="/"||a==="ignore"?t:a==="never"?t.endsWith("/")?t.slice(0,-1):t:a==="always"&&!t.endsWith("/")?t+"/":t}function Tb(t){return t.split("%25").map(decodeURI).join("%25")}function qb(t){for(const a in t)t[a]=decodeURIComponent(t[a]);return t}function kd({href:t}){return t.split("#")[0]}function Xr(){}function Gb(...t){let a=5381;for(const r of t)if(typeof r=="string"){let n=r.length;for(;n;)a=a*33^r.charCodeAt(--n)}else if(ArrayBuffer.isView(r)){const n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);let i=n.length;for(;i;)a=a*33^n[--i]}else throw new TypeError("value must be a string or TypedArray");return(a>>>0).toString(36)}new TextEncoder;function Fb(t){const a=atob(t),r=new Uint8Array(a.length);for(let n=0;n((t instanceof Request?t.method:a?.method||"GET")!=="GET"&&Wo.delete(wd(t)),Ab(t,a));const Wo=new Map;function Cb(t,a){const r=wd(t,a),n=document.querySelector(r);if(n?.textContent){n.remove();let{body:i,...c}=JSON.parse(n.textContent);n.getAttribute("data-b64")!==null&&(i=Fb(i));const d=n.getAttribute("data-ttl");return d&&Wo.set(r,{body:i,init:c,ttl:1e3*Number(d)}),Promise.resolve(new Response(i,c))}return window.fetch(t,a)}function Mb(t,a,r){if(Wo.size>0){const n=wd(t,r),i=Wo.get(n);if(i){if(performance.now(){const i=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(n);if(i)return a.push({name:i[1],matcher:i[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const c=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(n);if(c)return a.push({name:c[1],matcher:c[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!n)return;const s=n.split(/\[(.+?)\](?!\])/);return"/"+s.map((p,m)=>{if(m%2){if(p.startsWith("x+"))return xd(String.fromCharCode(parseInt(p.slice(2),16)));if(p.startsWith("u+"))return xd(String.fromCharCode(...p.slice(2).split("-").map(o=>parseInt(o,16))));const _=zb.exec(p),[,h,f,u,l]=_;return a.push({name:u,matcher:l,optional:!!h,rest:!!f,chained:f?m===1&&s[0]==="":!1}),f?"([^]*?)":h?"([^/]*)?":"([^/]+?)"}return xd(p)}).join("")}).join("")}/?$`),params:a}}function Eb(t){return t!==""&&!/^\([^)]+\)$/.test(t)}function Rb(t){return t.slice(1).split("/").filter(Eb)}function Bb(t,a,r){const n={},i=t.slice(1),c=i.filter(d=>d!==void 0);let s=0;for(let d=0;d_).join("/"),s=0),m===void 0)if(p.rest)m="";else continue;if(!p.matcher||r[p.matcher](m)){n[p.name]=m;const _=a[d+1],h=i[d+1];_&&!_.rest&&_.optional&&h&&p.chained&&(s=0),!_&&!h&&Object.keys(n).length===c.length&&(s=0);continue}if(p.optional&&p.chained){s++;continue}return}if(!s)return n}function xd(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Pb({nodes:t,server_loads:a,dictionary:r,matchers:n}){const i=new Set(a);return Object.entries(r).map(([d,[p,m,_]])=>{const{pattern:h,params:f}=Ub(d),u={id:d,exec:l=>{const o=h.exec(l);if(o)return Bb(o,f,n)},errors:[1,..._||[]].map(l=>t[l]),layouts:[0,...m||[]].map(s),leaf:c(p)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function c(d){const p=d<0;return p&&(d=~d),[p,t[d]]}function s(d){return d===void 0?d:[i.has(d),t[d]]}}function Hm(t,a=JSON.parse){try{return a(sessionStorage[t])}catch{}}function Qm(t,a,r=JSON.stringify){const n=r(a);try{sessionStorage[t]=n}catch{}}const qn=globalThis.__sveltekit_1wn864?.base??"",Nb=globalThis.__sveltekit_1wn864?.assets??qn??"",Db="0.8.1",Wm="sveltekit:snapshot",Ym="sveltekit:scroll",Km="sveltekit:states",Lb="sveltekit:pageurl",uo="sveltekit:history",Yo="sveltekit:navigation",qs={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Sd=location.origin;function Xm(t){if(t instanceof URL)return t;let a=document.baseURI;if(!a){const r=document.getElementsByTagName("base");a=r.length?r[0].href:document.URL}return new URL(t,a)}function Gs(){return{x:pageXOffset,y:pageYOffset}}function fo(t,a){return t.getAttribute(`data-sveltekit-${a}`)}const Zm={...qs,"":qs.hover};function Jm(t){let a=t.assignedSlot??t.parentNode;return a?.nodeType===11&&(a=a.host),a}function eg(t,a){for(;t&&t!==a;){if(t.nodeName.toUpperCase()==="A"&&t.hasAttribute("href"))return t;t=Jm(t)}}function $d(t,a,r){let n;try{if(n=new URL(t instanceof SVGAElement?t.href.baseVal:t.href,document.baseURI),r&&n.hash.match(/^#[^/]/)){const d=location.hash.split("#")[1]||"/";n.hash=`#${d}${n.hash}`}}catch{}const i=t instanceof SVGAElement?t.target.baseVal:t.target,c=!n||!!i||el(n,a,r)||(t.getAttribute("rel")||"").split(/\s+/).includes("external"),s=n?.origin===Sd&&t.hasAttribute("download");return{url:n,external:c,target:i,download:s}}function Jc(t){let a=null,r=null,n=null,i=null,c=null,s=null,d=t;for(;d&&d!==document.documentElement;)n===null&&(n=fo(d,"preload-code")),i===null&&(i=fo(d,"preload-data")),a===null&&(a=fo(d,"keepfocus")),r===null&&(r=fo(d,"noscroll")),c===null&&(c=fo(d,"reload")),s===null&&(s=fo(d,"replacestate")),d=Jm(d);function p(m){switch(m){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:Zm[n??"off"],preload_data:Zm[i??"off"],keepfocus:p(a),noscroll:p(r),reload:p(c),replace_state:p(s)}}function tg(t){const a=Hl(t);let r=!0;function n(){r=!0,a.update(s=>s)}function i(s){r=!1,a.set(s)}function c(s){let d;return a.subscribe(p=>{(d===void 0||r&&p!==d)&&s(d=p)})}return{notify:n,set:i,subscribe:c}}const ag={v:Xr};function Vb(){const{set:t,subscribe:a}=Hl(!1);let r;async function n(){clearTimeout(r);try{const i=await fetch(`${Nb}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!i.ok)return!1;const s=(await i.json()).version!==Db;return s&&(t(!0),ag.v(),clearTimeout(r)),s}catch{return!1}}return{subscribe:a,check:n}}function el(t,a,r){return t.origin!==Sd||!t.pathname.startsWith(a)?!0:r?t.pathname!==location.pathname:!1}const ig=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...ig];const Ib=new Set([...ig]);[...Ib];function Ob(t){return t.filter(a=>a!=null)}function tl(t,a){return t+"/"+a}function Td(t){return t instanceof vd||t instanceof yd?t.status:500}function Hb(t){return t instanceof yd?t.text:"Internal Error"}let Xi,Ko,qd;const Qb=Ts.toString().includes("$$")||/function \w+\(\) \{\}/.test(Ts.toString()),ng="a:";Qb?(Xi={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(ng)},Ko={current:null},qd={current:!1}):(Xi=new class{#e=Wa({});get data(){return e(this.#e)}set data(a){U(this.#e,a)}#t=Wa(null);get form(){return e(this.#t)}set form(a){U(this.#t,a)}#a=Wa(null);get error(){return e(this.#a)}set error(a){U(this.#a,a)}#c=Wa({});get params(){return e(this.#c)}set params(a){U(this.#c,a)}#n=Wa({id:null});get route(){return e(this.#n)}set route(a){U(this.#n,a)}#r=Wa({});get state(){return e(this.#r)}set state(a){U(this.#r,a)}#i=Wa(-1);get status(){return e(this.#i)}set status(a){U(this.#i,a)}#o=Wa(new URL(ng));get url(){return e(this.#o)}set url(a){U(this.#o,a)}},Ko=new class{#e=Wa(null);get current(){return e(this.#e)}set current(a){U(this.#e,a)}},qd=new class{#e=Wa(!1);get current(){return e(this.#e)}set current(a){U(this.#e,a)}},ag.v=()=>qd.current=!0);function rg(t){Object.assign(Xi,t)}const Wb=new Set(["icon","shortcut icon","apple-touch-icon"]);let Xo=null;const Zr=Hm(Ym)??{},Zo=Hm(Wm)??{},Tr={url:tg({}),page:tg({}),navigating:Hl(null),updated:Vb()};function Gd(t){Zr[t]=Gs()}function Yb(t,a){let r=t+1;for(;Zr[r];)delete Zr[r],r+=1;for(r=a+1;Zo[r];)delete Zo[r],r+=1}function Jo(t,a=!1){return a?location.replace(t.href):location.href=t.href,new Promise(Xr)}async function sg(){if("serviceWorker"in navigator){const t=await navigator.serviceWorker.getRegistration(qn||"/");t&&await t.update()}}let Fd,Ad,al,qr,Cd,gi;const il=[],nl=[];let Gn=null;function rl(){Gn?.fork?.then(t=>t?.discard()),Gn=null,mo={element:void 0,href:void 0}}const sl=new Map,og=new Set,Kb=new Set,ec=new Set;let Ua={branch:[],error:null,url:null},cg=!1,ol=!1,lg=!0,tc=!1,ac=!1,dg=!1,Md=!1,ug,$i,Fn,Jr;const cl=new Set,fg=new Map,pg=new Map;async function Xb(t,a,r){if(globalThis.__sveltekit_1wn864.data){const{q:c={},p:s={},l:d={},f:p={}}=globalThis.__sveltekit_1wn864.data;for(const m in c)c[m];for(const m in d)d[m];for(const m in p)p[m];for(const m in s)s[m]}document.URL!==location.href&&(location.href=location.href),gi=t,await t.hooks.init?.(),Fd=Pb(t),qr=document.documentElement,Cd=a,Ad=t.nodes[0],al=t.nodes[1],Ad(),al(),$i=history.state?.[uo],Fn=history.state?.[Yo],$i||($i=Fn=Date.now(),history.replaceState({...history.state,[uo]:$i,[Yo]:Fn},""));const n=Zr[$i];function i(){n&&(history.scrollRestoration="manual",scrollTo(n.x,n.y))}r?(i(),await uy(Cd,r)):(await po({type:"enter",url:Xm(gi.hash?my(new URL(location.href)):location.href),replace_state:!0}),i()),dy()}function Zb(){il.length=0,Md=!1}function mg(t){nl.some(a=>a?.snapshot)&&(Zo[t]=nl.map(a=>a?.snapshot?.capture()))}function gg(t){Zo[t]?.forEach((a,r)=>{nl[r]?.snapshot?.restore(a)})}function hg(){Gd($i),Qm(Ym,Zr),mg(Fn),Qm(Wm,Zo)}async function Jb(t,a,r,n){let i,c;a.invalidateAll&&rl(),await po({type:"goto",url:Xm(t),keepfocus:a.keepFocus,noscroll:a.noScroll,replace_state:a.replaceState,state:a.state,redirect_count:r,nav_token:n,accept:()=>{if(a.invalidateAll){Md=!0,i=new Set;for(const[s,d]of fg)for(const[p,m]of d)m.resource?.reset(),i.add(tl(s,p));c=new Set;for(const[s,d]of pg)for(const p of d.keys())c.add(tl(s,p))}a.invalidate&&a.invalidate.forEach(ly)}}),a.invalidateAll&&$s().then($s).then(()=>{for(const[s,d]of fg)for(const[p,{resource:m}]of d)i?.has(tl(s,p))&&m.start();for(const[s,d]of pg)for(const[p,{resource:m}]of d)c?.has(tl(s,p))&&m.reconnect()})}async function ey(t){if(t.id!==Gn?.id){rl();const a={};cl.add(a),Gn={id:t.id,token:a,promise:vg({...t,preload:a}).then(r=>(cl.delete(a),r.type==="loaded"&&r.state.error&&rl(),r)),fork:null}}return Gn.promise}async function zd(t){const a=(await dl(t,!1))?.route;a&&await Promise.all([...a.layouts,a.leaf].filter(Boolean).map(r=>r[1]()))}async function _g(t,a,r){const n={params:Ua.params,route:{id:Ua.route?.id??null},url:new URL(location.href)};if(Ua={...t.state,nav:n},rg(t.props.page),ug=new gi.root({target:a,props:{...t.props,stores:Tr,components:nl},hydrate:r,sync:!1,transformError:void 0}),await Promise.resolve(),r){const i={from:null,to:{...n,scroll:Zr[$i]??Gs()},willUnload:!1,type:"enter",complete:Promise.resolve()};ec.forEach(c=>c(i))}gg(Fn),ol=!0}async function ll({url:t,params:a,branch:r,errors:n,status:i,error:c,route:s,form:d}){let p="never";if(qn&&(t.pathname===qn||t.pathname===qn+"/"))p="always";else for(const l of r)l?.slash!==void 0&&(p=l.slash);t.pathname=$b(t.pathname,p),t.search=t.search;const m={type:"loaded",state:{url:t,params:a,branch:r,error:c,route:s},props:{constructors:Ob(r).map(l=>l.node.component),page:Pd(Xi)}};d!==void 0&&(m.props.form=d);let _={},h=!Xi,f=0;for(let l=0;ld(new URL(s))))return!0;return!1}function Ud(t,a){return t?.type==="data"?t:t?.type==="skip"?a??null:null}function iy(t,a){if(!t)return new Set(a.searchParams.keys());const r=new Set([...t.searchParams.keys(),...a.searchParams.keys()]);for(const n of r){const i=t.searchParams.getAll(n),c=a.searchParams.getAll(n);i.every(s=>c.includes(s))&&c.every(s=>i.includes(s))&&r.delete(n)}return r}function ny({error:t,url:a,route:r,params:n}){return{type:"loaded",state:{error:t,url:a,route:r,params:n,branch:[]},props:{page:Pd(Xi),constructors:[]}}}async function vg({id:t,invalidating:a,url:r,params:n,route:i,preload:c}){if(Gn?.id===t)return cl.delete(Gn.token),Gn.promise;const{errors:s,layouts:d,leaf:p}=i,m=[...d,p];s.forEach(g=>g?.().catch(Xr)),m.forEach(g=>g?.[1]().catch(Xr));const _=Ua.url?t!==ul(Ua.url):!1,h=Ua.route?i.id!==Ua.route.id:!1,f=iy(Ua.url,r);let u=!1;const l=m.map(async(g,v)=>{if(!g)return;const b=Ua.branch[v];return g[1]===b?.loader&&!ay(u,h,_,f,b.universal?.uses,n)?b:(u=!0,jd({loader:g[1],url:r,params:n,route:i,parent:async()=>{const w={};for(let T=0;TPromise.resolve({}),server_data_node:Ud(c)}),d={node:await al(),loader:al,universal:null,server:null,data:null};return ll({url:r,params:i,branch:[s,d],status:t,error:a,errors:[],route:null})}catch(s){if(s instanceof bd){await Jb(new URL(s.location,location.href),{},0);return}const d=await gi.get_error_template(),p=await go(s,{url:r,params:i,route:n}),m=String(p?.message??"").replace(/&/g,"&").replace(//g,">"),_=d({status:t,message:m}),h=new DOMParser().parseFromString(_,"text/html");throw document.documentElement.replaceChild(document.adoptNode(h.head),document.head),document.documentElement.replaceChild(document.adoptNode(h.body),document.body),s}}async function sy(t){const a=t.href;if(sl.has(a))return sl.get(a);let r;try{const n=(async()=>{let i=await gi.hooks.reroute({url:new URL(t),fetch:async(c,s)=>ty(c,s,t).promise})??t;if(typeof i=="string"){const c=new URL(t);gi.hash?c.hash=i:c.pathname=i,i=c}return i})();sl.set(a,n),r=await n}catch{sl.delete(a);return}return r}async function dl(t,a){if(t&&!el(t,qn,gi.hash)){const r=await sy(t);if(!r)return;const n=oy(r);for(const i of Fd){const c=i.exec(n);if(c)return{id:ul(t),invalidating:a,route:i,params:qb(c),url:t}}}}function oy(t){return Tb(gi.hash?t.hash.replace(/^#/,"").replace(/[?#].+/,""):t.pathname.slice(qn.length))||"/"}function ul(t){return(gi.hash?t.hash.replace(/^#/,""):t.pathname)+t.search}function bg({url:t,type:a,intent:r,delta:n,event:i,scroll:c}){let s=!1;const d=Bd(Ua,r,t,a,c??null);n!==void 0&&(d.navigation.delta=n),i!==void 0&&(d.navigation.event=i);const p={...d.navigation,cancel:()=>{s=!0,d.reject(new Error("navigation cancelled"))}};return tc||og.forEach(m=>m(p)),s?null:d}async function po({type:t,url:a,popped:r,keepfocus:n,noscroll:i,replace_state:c,state:s={},redirect_count:d=0,nav_token:p={},accept:m=Xr,block:_=Xr,event:h}){const f=Jr;Jr=p;const u=await dl(a,!1),l=t==="enter"?Bd(Ua,u,a,t):bg({url:a,type:t,delta:r?.delta,intent:u,scroll:r?.scroll,event:h});if(!l){_(),Jr===p&&(Jr=f);return}const o=$i,g=Fn;m(),tc=!0,ol&&l.navigation.type!=="enter"&&Tr.navigating.set(Ko.current=l.navigation);let v=u&&await vg(u);if(!v){if(el(a,qn,gi.hash))return await Jo(a,c);v=await yg(a,{id:null},await go(new yd(404,"Not Found",`Not found: ${a.pathname}`),{url:a,params:{},route:{id:null}}),404,c)}if(a=u?.url||a,Jr!==p){l.reject(new Error("navigation aborted"));return}if(!v)return;if(v.type==="redirect"){if(d<20){await po({type:t,url:new URL(v.location,a),popped:r,keepfocus:n,noscroll:i,replace_state:c,state:s,redirect_count:d+1,nav_token:p}),l.fulfil(void 0);return}if(v=await Ed({status:500,error:await go(new Error("Redirect loop"),{url:a,params:{},route:{id:null}}),url:a,route:{id:null}}),!v)return}else if(v.props.page.status>=400&&await Tr.updated.check())return await sg(),await Jo(a,c);if(Zb(),Gd(o),mg(g),v.props.page.url.pathname!==a.pathname&&(a.pathname=v.props.page.url.pathname),s=r?r.state:s,!r){const R=c?0:1,F={[uo]:$i+=R,[Yo]:Fn+=R,[Km]:s};(c?history.replaceState:history.pushState).call(history,F,"",a),c||Yb($i,Fn)}const b=u&&Gn?.id===u.id?Gn.fork:null;Gn?.fork&&!b?rl():(Gn=null,mo={element:void 0,href:void 0}),v.props.page.state=s;let k;if(ol){const R=(await Promise.all(Array.from(Kb,I=>I(l.navigation)))).filter(I=>typeof I=="function");if(R.length>0){let I=function(){R.forEach(S=>{ec.delete(S)})};R.push(I),R.forEach(S=>{ec.add(S)})}const F=l.navigation.to;Ua={...v.state,nav:{params:F.params,route:F.route,url:F.url}},v.props.page&&(v.props.page.url=a),!n&&document.activeElement instanceof HTMLElement&&document.activeElement!==document.body&&document.activeElement.blur();const D=b&&await b;D?k=D.commit():(Xo=null,ug.$set(v.props),Xo&&Object.assign(v.props.page,Xo),rg(v.props.page),k=X2?.()),dg=!0}else await _g(v,Cd,!1);const{activeElement:w}=document;if(await k,await $s(),await $s(),Jr!==p){l.reject(new Error("navigation aborted"));return}v.props.page&&Xo&&Object.assign(v.props.page,Xo);let T=null;if(lg){const R=r?r.scroll:i?Gs():null;R?scrollTo(R.x,R.y):(T=a.hash&&document.getElementById(kg(a)))?T.scrollIntoView():scrollTo(0,0)}const N=document.activeElement!==w&&document.activeElement!==document.body;!n&&!N&&py(a,!T),lg=!0,tc=!1,l.fulfil(void 0),l.navigation.to&&(l.navigation.to.scroll=Gs()),ec.forEach(R=>R(l.navigation)),t==="popstate"&&gg(Fn),Tr.navigating.set(Ko.current=null)}async function yg(t,a,r,n,i){return t.origin===Sd&&t.pathname===location.pathname&&!cg?await Ed({status:n,error:r,url:t,route:a}):await Jo(t,i)}let mo={element:void 0,href:void 0};function cy(){let t,a;qr.addEventListener("mousemove",s=>{const d=s.target;clearTimeout(t),t=setTimeout(()=>{i(d,qs.hover)},20)});function r(s){s.defaultPrevented||i(s.composedPath()[0],qs.tap)}qr.addEventListener("mousedown",r),qr.addEventListener("touchstart",r,{passive:!0});const n=new IntersectionObserver(s=>{for(const d of s)d.isIntersecting&&(zd(new URL(d.target.href)),n.unobserve(d.target))},{threshold:0});async function i(s,d){const p=eg(s,qr),m=p===mo.element&&p?.href===mo.href&&d>=a;if(!p||m)return;const{url:_,external:h,download:f}=$d(p,qn,gi.hash);if(h||f)return;const u=Jc(p),l=_&&ul(Ua.url)===ul(_);if(!(u.reload||l))if(d<=u.preload_data){mo={element:p,href:p.href},a=qs.tap;const o=await dl(_,!1);if(!o)return;ey(o)}else d<=u.preload_code&&(mo={element:p,href:p.href},a=d,zd(_))}function c(){n.disconnect();for(const s of qr.querySelectorAll("a")){const{url:d,external:p,download:m}=$d(s,qn,gi.hash);if(p||m)continue;const _=Jc(s);_.reload||(_.preload_code===qs.viewport&&n.observe(s),_.preload_code===qs.eager&&zd(d))}}ec.add(c),c()}function go(t,a){if(t instanceof vd)return t.body;const r=Td(t),n=Hb(t);return gi.hooks.handleError({error:t,event:a,status:r,message:n})??{message:n}}function ly(t){if(typeof t=="function")il.push(t);else{const{href:a}=new URL(t,location.href);il.push(r=>r.href===a)}}function dy(){history.scrollRestoration="manual",addEventListener("beforeunload",a=>{let r=!1;if(hg(),!tc){const n=Bd(Ua,void 0,null,"leave"),i={...n.navigation,cancel:()=>{r=!0,n.reject(new Error("navigation cancelled"))}};og.forEach(c=>c(i))}r?(a.preventDefault(),a.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&hg()}),navigator.connection?.saveData||cy(),qr.addEventListener("click",async a=>{if(a.button||a.which!==1||a.metaKey||a.ctrlKey||a.shiftKey||a.altKey||a.defaultPrevented)return;const r=eg(a.composedPath()[0],qr);if(!r)return;const{url:n,external:i,target:c,download:s}=$d(r,qn,gi.hash);if(!n)return;if(c==="_parent"||c==="_top"){if(window.parent!==window)return}else if(c&&c!=="_self")return;const d=Jc(r);if(!(r instanceof SVGAElement)&&n.protocol!==location.protocol&&!(n.protocol==="https:"||n.protocol==="http:")||s)return;const[m,_]=(gi.hash?n.hash.replace(/^#/,""):n.href).split("#"),h=m===kd(location);if(i||d.reload&&(!h||!_)){bg({url:n,type:"link",event:a})?tc=!0:a.preventDefault();return}if(_!==void 0&&h){const[,f]=Ua.url.href.split("#");if(f===_){if(a.preventDefault(),_===""||_==="top"&&r.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const u=r.ownerDocument.getElementById(decodeURIComponent(_));u&&(u.scrollIntoView(),u.focus())}return}if(ac=!0,Gd($i),t(n),!d.replace_state)return;ac=!1}a.preventDefault(),await new Promise(f=>{requestAnimationFrame(()=>{setTimeout(f,0)}),setTimeout(f,100)}),await po({type:"link",url:n,keepfocus:d.keepfocus,noscroll:d.noscroll,replace_state:d.replace_state??n.href===location.href,event:a})}),qr.addEventListener("submit",a=>{if(a.defaultPrevented)return;const r=HTMLFormElement.prototype.cloneNode.call(a.target),n=a.submitter;if((n?.formTarget||r.target)==="_blank"||(n?.formMethod||r.method)!=="get")return;const s=new URL(n?.hasAttribute("formaction")&&n?.formAction||r.action);if(el(s,qn,!1))return;const d=a.target,p=Jc(d);if(p.reload)return;a.preventDefault(),a.stopPropagation();const m=new FormData(d,n);s.search=new URLSearchParams(m).toString(),po({type:"form",url:s,keepfocus:p.keepfocus,noscroll:p.noscroll,replace_state:p.replace_state??s.href===location.href,event:a})}),addEventListener("popstate",async a=>{if(!Rd){if(a.state?.[uo]){const r=a.state[uo];if(Jr={},r===$i)return;const n=Zr[r],i=a.state[Km]??{},c=new URL(a.state[Lb]??location.href),s=a.state[Yo],d=Ua.url?kd(location)===kd(Ua.url):!1;if(s===Fn&&(dg||d)){i!==Xi.state&&(Xi.state=i),t(c),Zr[$i]=Gs(),n&&scrollTo(n.x,n.y),$i=r;return}const m=r-$i;await po({type:"popstate",url:c,popped:{state:i,scroll:n,delta:m},accept:()=>{$i=r,Fn=s},block:()=>{history.go(-m)},nav_token:Jr,event:a})}else if(!ac){const r=new URL(location.href);t(r),gi.hash&&location.reload()}}}),addEventListener("hashchange",()=>{ac&&(ac=!1,history.replaceState({...history.state,[uo]:++$i,[Yo]:Fn},"",location.href))});for(const a of document.querySelectorAll("link"))Wb.has(a.rel)&&(a.href=a.href);addEventListener("pageshow",a=>{a.persisted&&Tr.navigating.set(Ko.current=null)});function t(a){Ua.url=Xi.url=a,Tr.page.set(Pd(Xi)),Tr.page.notify()}}async function uy(t,{status:a=200,error:r,node_ids:n,params:i,route:c,server_route:s,data:d,form:p}){cg=!0;const m=new URL(location.href);let _;({params:i={},route:c={id:null}}=await dl(m,!1)||{}),_=Fd.find(({id:u})=>u===c.id);let h,f=!0;try{const u=n.map(async(o,g)=>{const v=d[g];return v?.uses&&(v.uses=fy(v.uses)),jd({loader:gi.nodes[o],url:m,params:i,route:c,parent:async()=>{const b={};for(let k=0;k{const d=history.state;Rd=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(d,"",t),a&&scrollTo(c,s),Rd=!1})}else{const c=document.body,s=c.getAttribute("tabindex");c.tabIndex=-1,c.focus({preventScroll:!0,focusVisible:!1}),s!==null?c.setAttribute("tabindex",s):c.removeAttribute("tabindex")}const i=getSelection();if(i&&i.type!=="None"){const c=[];for(let s=0;s{if(i.rangeCount===c.length){for(let s=0;s{c=m,s=_});return d.catch(Xr),{navigation:{from:{params:t.params,route:{id:t.route?.id??null},url:t.url,scroll:Gs()},to:r&&{params:a?.params??null,route:{id:a?.route?.id??null},url:r,scroll:i},willUnload:!a,type:n,complete:d},fulfil:c,reject:s}}function Pd(t){return{data:t.data,error:t.error,form:t.form,params:t.params,route:t.route,state:t.state,status:t.status,url:t.url}}function my(t){const a=new URL(t);return a.hash=decodeURIComponent(t.hash),a}function kg(t){let a;if(gi.hash){const[,,r]=t.hash.split("#",3);a=r??""}else a=t.hash.slice(1);return decodeURIComponent(a)}const B8="modulepreload",P8=function(t,a){return new URL(t,a).href},N8={},ic=function(a,r,n){let i=Promise.resolve();function c(s){const d=new Event("vite:preloadError",{cancelable:!0});if(d.payload=s,window.dispatchEvent(d),!d.defaultPrevented)throw s}return i.then(s=>{for(const d of s||[])d.status==="rejected"&&c(d.reason);return a().catch(c)})},gy={},hy="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(hy);var _y=ge('
'),vy=ge(" ",1);function by(t,a){hs(a,!0);let r=Rt(a,"components",23,()=>[]),n=Rt(a,"data_0",3,null),i=Rt(a,"data_1",3,null);xm(()=>a.stores.page.set(a.page)),Ic(()=>{a.stores,a.page,a.constructors,r(),a.form,n(),i(),a.stores.page.notify()});let c=Wa(!1),s=Wa(!1),d=Wa(null);Ts(()=>{const o=a.stores.page.subscribe(()=>{e(c)&&(U(s,!0),$s().then(()=>{U(d,document.title||"untitled page",!0)}))});return U(c,!0),o});const p=Si(()=>a.constructors[1]);var m=vy(),_=It(m);{var h=o=>{const g=Si(()=>a.constructors[0]);var v=Yr(),b=It(v);Kc(b,()=>e(g),(k,w)=>{Pi(w(k,{get data(){return n()},get form(){return a.form},get params(){return a.page.params},children:(T,N)=>{var R=Yr(),F=It(R);Kc(F,()=>e(p),(D,I)=>{Pi(I(D,{get data(){return i()},get form(){return a.form},get params(){return a.page.params}}),S=>r()[1]=S,()=>r()?.[1])}),oe(T,R)},$$slots:{default:!0}}),T=>r()[0]=T,()=>r()?.[0])}),oe(o,v)},f=o=>{const g=Si(()=>a.constructors[0]);var v=Yr(),b=It(v);Kc(b,()=>e(g),(k,w)=>{Pi(w(k,{get data(){return n()},get form(){return a.form},get params(){return a.page.params}}),T=>r()[0]=T,()=>r()?.[0])}),oe(o,v)};$e(_,o=>{a.constructors[1]?o(h):o(f,-1)})}var u=W(_,2);{var l=o=>{var g=_y(),v=B(g);{var b=k=>{var w=rb();pe(()=>K(w,e(d))),oe(k,w)};$e(v,k=>{e(s)&&k(b)})}j(g),oe(o,g)};$e(u,o=>{e(c)&&o(l)})}oe(t,m),_s()}const yy=wb(by),ky=[()=>ic(()=>Promise.resolve().then(()=>qy),void 0,Ei&&Ei.tagName.toUpperCase()==="SCRIPT"&&Ei.src||new URL("_app/immutable/bundle.CjKKIMTj.js",document.baseURI).href),()=>ic(()=>Promise.resolve().then(()=>Cy),void 0,Ei&&Ei.tagName.toUpperCase()==="SCRIPT"&&Ei.src||new URL("_app/immutable/bundle.CjKKIMTj.js",document.baseURI).href),()=>ic(()=>Promise.resolve().then(()=>s4),void 0,Ei&&Ei.tagName.toUpperCase()==="SCRIPT"&&Ei.src||new URL("_app/immutable/bundle.CjKKIMTj.js",document.baseURI).href)],wy=[],xy={"/":[2]},Nd={handleError:(({error:t})=>{console.error(t)}),reroute:(()=>{}),transport:{}},wg=Object.fromEntries(Object.entries(Nd.transport).map(([t,a])=>[t,a.decode])),Sy=Object.fromEntries(Object.entries(Nd.transport).map(([t,a])=>[t,a.encode])),xg=Object.freeze(Object.defineProperty({__proto__:null,decode:(t,a)=>wg[t](a),decoders:wg,dictionary:xy,encoders:Sy,get_error_template:()=>ic(()=>Promise.resolve().then(()=>o4),void 0,Ei&&Ei.tagName.toUpperCase()==="SCRIPT"&&Ei.src||new URL("_app/immutable/bundle.CjKKIMTj.js",document.baseURI).href).then(t=>t.default),hash:!0,hooks:Nd,matchers:gy,nodes:ky,root:yy,server_loads:wy},Symbol.toStringTag,{value:"Module"}));function $y(t,a){Xb(xg,t,a)}function Ty(t,a){var r=Yr(),n=It(r);ub(n,()=>a.children),oe(t,r)}const qy=Object.freeze(Object.defineProperty({__proto__:null,component:Ty},Symbol.toStringTag,{value:"Module"})),Gy={get error(){return Xi.error},get status(){return Xi.status}};Tr.updated.check;const Sg=Gy;var Fy=ge("

",1);function Ay(t,a){hs(a,!0);var r=Fy(),n=It(r),i=B(n,!0);j(n);var c=W(n,2),s=B(c,!0);j(c),pe(()=>{K(i,Sg.status),K(s,Sg.error?.message)}),oe(t,r),_s()}const Cy=Object.freeze(Object.defineProperty({__proto__:null,component:Ay},Symbol.toStringTag,{value:"Module"}));T2();function fl(t,a,r){for(let n=0;nt.getChannelData(p));let s=44;for(let d=0;da.decodeAudioData(await p.arrayBuffer()))),n=r[0].sampleRate,i=r[0].numberOfChannels;for(const p of r)if(p.sampleRate!==n||p.numberOfChannels!==i)throw new Error("Generated chunks use different audio formats and cannot be joined.");const c=r.reduce((p,m)=>p+m.length,0),s=a.createBuffer(i,c,n);let d=0;for(const p of r){for(let m=0;m CTC target between words (segment) or at transcript edges (edges); matches the reference default segment.",values:["segment","edges"],required:!1,default:"segment"},{name:"merge_threshold_sec",type:"float",description:"Merge adjacent words whose gap is below this many seconds; default 0.0 disables merging.",required:!1,min:0,default:0},{name:"return_timestamps",type:"bool",description:"Request word timestamps in the result; set automatically by --words-out.",required:!1,default:!0}],session:[{name:"emission_window_sec",type:"float",description:"Center emission window length in seconds used to split long waveforms; default 30.",required:!1,min:.02,default:30},{name:"emission_context_sec",type:"float",description:"Left/right context appended to each emission window in seconds; must be below emission_window_sec; default 2.",required:!1,min:0,default:2},{name:"max_alignment_cells",type:"int",description:"Hard cap on CTC DP cells (frames x states) allocated per request; alignment fails before allocation when exceeded; default 50000000.",required:!1,min:1,default:5e7},{name:"max_target_tokens",type:"int",description:"Hard cap on flattened CTC target tokens per request; default 8192.",required:!1,min:1,default:8192},{name:"weight_type",type:"enum",description:"Weight storage type; default native (tensors kept as stored in the checkpoint).",preset:"weight_type_conv",required:!1,default:"native"}],load:[]},runtime:{tags:["gguf"]},ui:{recommended_package:"mms_forced_aligner_300m_f16",tags:["Align","GGUF"],docs:["docs/community_models/mms_forced_aligner.md","docs/speech_analysis.md","docs/gguf.md"]},package_defaults:{download:{kind:"unsupported",reason:"CC-BY-NC-4.0 checkpoint: convert locally with audiocpp_gguf; no public audio.cpp GGUF distribution is approved."}},packages:[{id:"mms_forced_aligner_300m_f16",display_name:"Meta MMS-300M Forced Aligner F16 GGUF",default:!0,format:"gguf",precision:"f16",target_directory:"MMS-Forced-Aligner-GGUF",files:["MMS-Forced-Aligner-GGUF/mms-forced-aligner-f16.gguf"],strip_prefix:"MMS-Forced-Aligner-GGUF"},{id:"mms_forced_aligner_300m_safetensors",display_name:"Meta MMS-300M Forced Aligner Safetensors",format:"safetensors",precision:"native",target_directory:"mms-300m-1130-forced-aligner",files:["config.json","model.safetensors","special_tokens_map.json","tokenizer_config.json","vocab.json"],download:{kind:"huggingface_snapshot",repo:"MahmoudAshraf/mms-300m-1130-forced-aligner",revision:"49402e9577b1158620820667c218cd494cc44486",gated:!1}},{id:"mms_forced_aligner_300m_q8_0",display_name:"Meta MMS-300M Forced Aligner Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"MMS-Forced-Aligner-GGUF",files:["MMS-Forced-Aligner-GGUF/mms-forced-aligner-q8_0.gguf"],strip_prefix:"MMS-Forced-Aligner-GGUF"}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",vocab:"model:vocab.json"},optional_files:{special_tokens_map:"model:special_tokens_map.json",tokenizer_config:"model:tokenizer_config.json",preprocessor_config:"model:preprocessor_config.json"},tensors:{weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",vocab:"model:vocab.json"},optional_files:{special_tokens_map:"model:special_tokens_map.json",tokenizer_config:"model:tokenizer_config.json",preprocessor_config:"model:preprocessor_config.json"},tensors:{weights:"model:model.safetensors"}}]},P3={schema_version:1,family:"moonshine_asr",display_name:"Moonshine Streaming ASR",description:"Moonshine tiny/small/medium streaming English speech recognition models.",category:"asr",status:"experimental",tasks:["asr"],modes:["offline","streaming"],languages:["en"],capabilities:{},options:{request:[{name:"max_tokens",type:"int",description:"Maximum generated transcript tokens. Defaults to audio-duration derived limit.",required:!1,min:0,default:0}],session:[{name:"weight_type",type:"enum",description:"Shared matmul weight storage type.",preset:"weight_type_full",required:!1,default:"native"},{name:"conv_weight_type",type:"enum",description:"Frontend convolution weight storage type.",preset:"weight_type_conv",required:!1},{name:"decoder_weight_type",type:"enum",description:"Decoder matmul weight storage type.",preset:"weight_type_full",required:!1},{name:"encoder_gelu",type:"enum",description:"Encoder GELU lowering.",values:["erf","exact","tanh","quick"],required:!1,default:"quick"},{name:"cpu_blas_scheduler",type:"bool",description:"Use BLAS/Accelerate for supported CPU encoder matmuls.",required:!1,default:!0},{name:"weight_context_mb",type:"int",description:"Weight context arena size in MiB.",required:!1,min:1,default:256},{name:"graph_arena_mb",type:"int",description:"Graph arena size in MiB.",required:!1,min:1,default:512}],load:[]},runtime:{tags:["gguf","cpu","stream"]},ui:{recommended_package:"moonshine_streaming_tiny_q8_0",tags:["ASR","GGUF","Stream"],docs:["docs/asr.md","docs/models/moonshine_asr.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"moonshine_streaming_tiny_q8_0",display_name:"Moonshine Streaming Tiny Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Moonshine-Streaming-GGUF",files:["Moonshine-Streaming-GGUF/moonshine-streaming-tiny-q8_0.gguf"],strip_prefix:"Moonshine-Streaming-GGUF"},{id:"moonshine_streaming_small_q8_0",display_name:"Moonshine Streaming Small Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"Moonshine-Streaming-GGUF",files:["Moonshine-Streaming-GGUF/moonshine-streaming-small-q8_0.gguf"],strip_prefix:"Moonshine-Streaming-GGUF"},{id:"moonshine_streaming_medium_q8_0",display_name:"Moonshine Streaming Medium Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"Moonshine-Streaming-GGUF",files:["Moonshine-Streaming-GGUF/moonshine-streaming-medium-q8_0.gguf"],strip_prefix:"Moonshine-Streaming-GGUF"},{id:"moonshine_streaming_tiny_safetensors",display_name:"Moonshine Streaming Tiny Safetensors",format:"safetensors",precision:"f32",target_directory:"moonshine-streaming-tiny",files:["config.json","tokenizer.json","model.safetensors"],download:{kind:"huggingface_snapshot",repo:"moonshine-ai/moonshine-streaming-tiny",revision:"main",gated:!1}},{id:"moonshine_streaming_small_safetensors",display_name:"Moonshine Streaming Small Safetensors",format:"safetensors",precision:"f32",target_directory:"moonshine-streaming-small",files:["config.json","tokenizer.json","model.safetensors"],download:{kind:"huggingface_snapshot",repo:"moonshine-ai/moonshine-streaming-small",revision:"main",gated:!1}},{id:"moonshine_streaming_medium_safetensors",display_name:"Moonshine Streaming Medium Safetensors",format:"safetensors",precision:"f32",target_directory:"moonshine-streaming-medium",files:["config.json","tokenizer.json","model.safetensors"],download:{kind:"huggingface_snapshot",repo:"moonshine-ai/moonshine-streaming-medium",revision:"main",gated:!1}}],dependencies:[],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_json:"model:tokenizer.json"},tensors:{weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",tokenizer_json:"model:tokenizer.json"},tensors:{weights:"model:model.safetensors"}}]},N3={schema_version:1,family:"moss_transcribe_diarize",display_name:"MOSS-Transcribe-Diarize",description:"Joint transcription, speaker diarization, and timestamps across 50+ languages with a Whisper encoder and Qwen3 decoder.",category:"asr",status:"supported",tasks:["asr"],modes:["offline","streaming"],languages:["auto","50+ languages"],capabilities:{asr:["segments","speaker_turns"]},runtime:{tags:["gguf"]},options:{request:[{name:"max_tokens",type:"int",min:1,default:5120,required:!1,description:"Maximum generated transcript tokens."},{name:"instruct",type:"string",required:!1,description:"Transcription instruction; empty uses the upstream diarization prompt."}],session:[],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"moss_transcribe_diarize_bf16",display_name:"MOSS-Transcribe-Diarize GGUF BF16",default:!0,format:"gguf",precision:"bf16",target_directory:"MOSS-Transcribe-Diarize-GGUF",files:["MOSS-Transcribe-Diarize-GGUF/moss-transcribe-diarize-bf16.gguf"],strip_prefix:"MOSS-Transcribe-Diarize-GGUF"},{id:"moss_transcribe_diarize_q8_0",display_name:"MOSS-Transcribe-Diarize GGUF Q8_0",format:"gguf",precision:"q8_0",target_directory:"MOSS-Transcribe-Diarize-GGUF",files:["MOSS-Transcribe-Diarize-GGUF/moss-transcribe-diarize-q8_0.gguf"],strip_prefix:"MOSS-Transcribe-Diarize-GGUF"},{id:"moss_transcribe_diarize_q4_k",display_name:"MOSS-Transcribe-Diarize GGUF Q4_K",format:"gguf",precision:"q4_k",target_directory:"MOSS-Transcribe-Diarize-GGUF",files:["MOSS-Transcribe-Diarize-GGUF/moss-transcribe-diarize-q4_k.gguf"],strip_prefix:"MOSS-Transcribe-Diarize-GGUF"}],dependencies:[],ui:{tags:["GGUF"],docs:[],recommended_package:"moss_transcribe_diarize_bf16"},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",generation_config:"model:generation_config.json",preprocessor_config:"model:preprocessor_config.json",processor_config:"model:processor_config.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_json:"model:tokenizer.json",vocab:"model:vocab.json",merges:"model:merges.txt"},tensors:{weights:{source:"weights:",prefix:"weights"}}}]},D3={family:"moss_tts_local",display_name:"MOSS-TTS-Local",description:"Flagship MOSS-TTS model for high-fidelity 31-language and code-switched speech, zero-shot voice cloning, long-form generation, and fine-grained Pinyin, phoneme, and duration control.",category:"tts",status:"supported",tasks:["tts","clone"],modes:["offline"],languages:["ar","cs","da","de","el","en","es","fa","fi","fr","he","hi","hu","it","ja","ko","mk","ms","nl","pl","pt","ro","ru","sv","sw","th","tl","tr","vi","yue","zh"],capabilities:{clone:["speaker_reference"]},runtime:{tags:["gguf"]},ui:{recommended_package:"moss_tts_local_v1_5_q8_0",tags:["TTS","Clone","GGUF"],docs:["docs/models/moss_tts.md","docs/tts.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"moss_tts_local_v1_5_q8_0",display_name:"MOSS-TTS-Local v1.5 Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"MOSS-TTS-Local-v1.5-GGUF",files:["MOSS-TTS-Local-v1.5-GGUF/moss-tts-local-v1.5-q8_0.gguf"],strip_prefix:"MOSS-TTS-Local-v1.5-GGUF"},{id:"moss_tts_local_v1_5_bf16",display_name:"MOSS-TTS-Local v1.5 BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"MOSS-TTS-Local-v1.5-GGUF",files:["MOSS-TTS-Local-v1.5-GGUF/moss-tts-local-v1.5-bf16.gguf"],strip_prefix:"MOSS-TTS-Local-v1.5-GGUF"}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_json:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_vocab:"model:vocab.json",tokenizer_merges:"model:merges.txt",audio_tokenizer_config:"model:audio_tokenizer/config.json"},tensors:{model_weights:{source:"weights:",prefix:"model_weights"},audio_tokenizer_weights:{source:"weights:",prefix:"audio_tokenizer_weights"}}},{format:"safetensors",roots:{model:".",audio_tokenizer:"audio_tokenizer"},files:{config:"model:config.json",tokenizer_json:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_vocab:"model:vocab.json",tokenizer_merges:"model:merges.txt",audio_tokenizer_config:"audio_tokenizer:config.json"},tensors:{model_weights:"model:model.safetensors",audio_tokenizer_weights:"audio_tokenizer:model.safetensors.index.json"}}]},L3={family:"moss_tts_nano",display_name:"MOSS-TTS-Nano",description:"Compact deployment-first MOSS-TTS model for real-time multilingual speech generation, lightweight integration, and zero-shot voice cloning.",category:"tts",status:"supported",tasks:["tts","clone"],modes:["offline"],languages:["ar","cs","da","de","el","en","es","fa","fr","hu","it","ja","ko","pl","pt","ru","sv","tr","zh"],capabilities:{clone:["speaker_reference"]},runtime:{tags:["gguf"]},ui:{recommended_package:"moss_tts_nano_100m_q8_0",tags:["TTS","Clone","GGUF"],docs:["docs/models/moss_tts.md","docs/tts.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"moss_tts_nano_100m_q8_0",display_name:"MOSS-TTS-Nano 100M Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"MOSS-TTS-Nano-100M-GGUF",files:["MOSS-TTS-Nano-100M-GGUF/moss-tts-nano-100m-q8_0.gguf"],strip_prefix:"MOSS-TTS-Nano-100M-GGUF"},{id:"moss_tts_nano_100m_bf16",display_name:"MOSS-TTS-Nano 100M BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"MOSS-TTS-Nano-100M-GGUF",files:["MOSS-TTS-Nano-100M-GGUF/moss-tts-nano-100m-bf16.gguf"],strip_prefix:"MOSS-TTS-Nano-100M-GGUF"}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_model:"model:tokenizer.model",audio_tokenizer_config:"model:audio_tokenizer/config.json"},tensors:{model_weights:{source:"weights:",prefix:"model_weights"},audio_tokenizer_weights:{source:"weights:",prefix:"audio_tokenizer_weights"}}},{format:"safetensors",roots:{model:".",audio_tokenizer:"audio_tokenizer"},files:{config:"model:config.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_model:"model:tokenizer.model",audio_tokenizer_config:"audio_tokenizer:config.json"},tensors:{model_weights:"model:model.safetensors",audio_tokenizer_weights:"audio_tokenizer:model.safetensors.index.json"}}]},V3={schema_version:1,family:"moss_tts_v15",display_name:"MOSS-TTS-v1.5",description:"8B delay-pattern MOSS-TTS: zero-shot voice cloning from a short reference, 24 kHz, with an explicit duration budget.",category:"community",status:"experimental",tasks:["tts","clone"],modes:["offline"],languages:["en","zh"],capabilities:{tts:["speaker_reference","style_control","long_form"],clone:["speaker_reference"]},runtime:{tags:["gguf"]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_json:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_merges:"model:merges.txt",audio_tokenizer_config:"model:audio_tokenizer/config.json"},tensors:{model_weights:{source:"weights:",prefix:"model_weights"},audio_tokenizer_weights:{source:"weights:",prefix:"audio_tokenizer_weights"}}},{format:"safetensors",roots:{model:".",audio_tokenizer:"audio_tokenizer"},files:{config:"model:config.json",tokenizer_json:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_merges:"model:merges.txt",audio_tokenizer_config:"audio_tokenizer:config.json"},tensors:{model_weights:"model:model.safetensors.index.json",audio_tokenizer_weights:"audio_tokenizer:model.safetensors.index.json"}}],options:{request:[{name:"instruct",type:"string",required:!1,description:"Voice description. Followed only loosely on this checkpoint; a reference recording is far more reliable."},{name:"tokens",type:"int",min:1,required:!1,description:"Duration budget in codec frames at 12.5 a second, the model's own '- Tokens:' field."},{name:"language",type:"string",required:!1,description:"Full language name; the model does not understand codes like 'en'."},{name:"seed",type:"int",required:!1,description:"Reproduces a take exactly."},{name:"temperature",type:"float",required:!1,description:"Audio sampling temperature."},{name:"top_p",type:"float",required:!1,description:"Audio nucleus sampling cutoff."},{name:"top_k",type:"int",required:!1,description:"Audio top-k."},{name:"repetition_penalty",type:"float",required:!1,description:"Audio repetition penalty."}],session:[{name:"weight_type",type:"enum",preset:"weight_type_full",required:!1,default:"native",description:"Backbone and head weight storage; default native, which keeps a GGUF package's own type. Forcing bf16 dequantises a quantised package and costs the VRAM the quantisation was meant to save. f16 is rejected: this backbone produces NaN in it."}],load:[]},ui:{tags:["TTS","Clone","GGUF"],docs:["docs/community_models/moss_tts_v15.md","docs/tts.md","docs/gguf.md"],recommended_package:"moss_tts_v15_q8_0_codec_f16"},packages:[{id:"moss_tts_v15_q8_0_codec_f16",display_name:"MOSS-TTS-v1.5 Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"MOSS-TTS-v1.5-GGUF",files:["moss_tts_v15_q8_0_codec_f16.gguf"]},{id:"moss_tts_v15_q4_k_codec_f16",display_name:"MOSS-TTS-v1.5 Q4_K GGUF",default:!1,format:"gguf",precision:"q4_k",target_directory:"MOSS-TTS-v1.5-GGUF",files:["moss_tts_v15_q4_k_codec_f16.gguf"]},{id:"moss_tts_v15_bf16_codec_f16",display_name:"MOSS-TTS-v1.5 BF16 GGUF",default:!1,format:"gguf",precision:"bf16",target_directory:"MOSS-TTS-v1.5-GGUF",files:["moss_tts_v15_bf16_codec_f16.gguf"]}],package_defaults:{download:{kind:"huggingface_snapshot",repo:"christopherthompson81/MOSS-TTS-v1.5-GGUF",revision:"main",gated:!1}},dependencies:[]},I3={family:"moss_voicegen",display_name:"MOSS-VoiceGenerator",description:"MOSS voice design model: creates a speaker from a written instruction instead of a reference recording, then speaks the supplied text in that voice.",category:"community",status:"community",tasks:["design"],modes:["offline"],languages:["en","zh"],capabilities:{vdes:["style_condition"]},runtime:{tags:["gguf"]},ui:{recommended_package:"moss_voicegen_bf16_codec_f16_decode",tags:["Voice Design","GGUF"],docs:["docs/community_models/moss_voicegen.md","docs/tts.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"moss_voicegen_bf16_codec_f16_decode",display_name:"MOSS-VoiceGenerator BF16 GGUF",default:!0,format:"gguf",precision:"bf16",target_directory:"MOSS-VoiceGenerator-GGUF",files:["MOSS-VoiceGenerator-GGUF/moss_voicegen_bf16_codec_f16_decode.gguf"],strip_prefix:"MOSS-VoiceGenerator-GGUF"}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_json:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_merges:"model:merges.txt",audio_tokenizer_config:"model:audio_tokenizer/config.json"},tensors:{model_weights:{source:"weights:",prefix:"model_weights"},audio_tokenizer_weights:{source:"weights:",prefix:"audio_tokenizer_weights"}}},{format:"safetensors",roots:{model:".",audio_tokenizer:"audio_tokenizer"},files:{config:"model:config.json",tokenizer_json:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_merges:"model:merges.txt",audio_tokenizer_config:"audio_tokenizer:config.json"},tensors:{model_weights:"model:model.safetensors",audio_tokenizer_weights:"audio_tokenizer:model.safetensors.index.json"}}]},O3={schema_version:1,family:"muscriptor",display_name:"MuScriptor",description:"MuScriptor is an audio-to-symbolic model that converts music audio into symbolic note events or MIDI files, with instrument constraints, sampling, beam search, batch chunk decoding, and streaming final-result output.",category:"audio_tools",status:"supported",tasks:["midi"],modes:["offline","streaming"],languages:["music"],runtime:{tags:["gguf","stream"]},capabilities:{},options:{request:[{name:"instruments",type:"string",description:"Comma-separated instrument group names to constrain generated MIDI events; empty allows all instruments.",required:!1,default:""},{name:"output_format",type:"enum",description:"Primary output serialization written by --out; midi writes a MIDI file, json writes generated note events. Default midi.",values:["midi","json"],required:!1,default:"midi"},{name:"max_tokens",type:"int",description:"Maximum generated MIDI-event token count per chunk; default 2000.",required:!1,min:1,default:2e3},{name:"do_sample",type:"bool",description:"Use temperature sampling instead of greedy token selection; default false.",required:!1,default:!1},{name:"temperature",type:"float",description:"Sampling temperature when do_sample=true; 0 is accepted for compatibility and behaves deterministically, default 1.0.",required:!1,min:0,default:1},{name:"guidance_scale",type:"float",description:"Classifier-free guidance coefficient; 1 disables CFG, default 1.0.",required:!1,default:1},{name:"batch_size",type:"int",description:"Number of audio chunks processed per batch when prelude_forcing=false; default 1.",required:!1,min:1,default:1},{name:"num_beams",type:"int",description:"Beam-search width; 1 disables beam search, default 1.",required:!1,min:1,default:1},{name:"prelude_forcing",type:"bool",description:"Force open-note prelude tokens between sequential chunks; default true.",required:!1,default:!0},{name:"seed",type:"int",description:"Sampling seed; default 0.",required:!1,min:0,default:0}],session:[{name:"weight_type",type:"enum",description:"Transformer weight storage type; default native.",preset:"weight_type_full",required:!1,default:"native"},{name:"perf_mode",type:"enum",description:"Decoder attention mode; flash_attention uses the CUDA fast path, off keeps the exact attention path. Default flash_attention.",values:["off","flash_attention"],required:!1,default:"flash_attention"},{name:"weight_context_mb",type:"int",description:"Weight context arena size in MiB; default 512.",required:!1,min:1,default:512},{name:"conditioning_graph_arena_mb",type:"int",description:"Condition graph arena size in MiB; default 128.",required:!1,min:1,default:128},{name:"decoder_prefill_graph_arena_mb",type:"int",description:"Decoder prefill graph arena size in MiB; default 768.",required:!1,min:1,default:768},{name:"decoder_decode_graph_arena_mb",type:"int",description:"Decoder cached-step graph arena size in MiB; default 512.",required:!1,min:1,default:512}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"muscriptor_small_f32",display_name:"MuScriptor Small F32 GGUF",default:!0,format:"gguf",precision:"f32",target_directory:"MuScriptor-Small-GGUF",files:["MuScriptor-Small-GGUF/muscriptor-small-f32.gguf"],strip_prefix:"MuScriptor-Small-GGUF"}],dependencies:[],ui:{recommended_package:"muscriptor_small_f32",tags:["Music","MIDI","GGUF","Stream"],docs:["docs/models/muscriptor.md","docs/gguf.md"]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json"},tensors:{weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json"},tensors:{weights:"model:model.safetensors"}}]},H3={family:"nemotron_asr",display_name:"Nemotron 3.5 ASR",description:"NVIDIA 600M streaming ASR model for low-latency and batch transcription across 40 language-locales, with native punctuation, capitalization, automatic language detection, and configurable chunk sizes.",category:"asr",status:"supported",tasks:["asr"],modes:["offline","streaming"],languages:["ar-AR","bg-BG","cs-CZ","da-DK","de-DE","el-GR","en-GB","en-US","es-ES","es-US","et-EE","fi-FI","fr-CA","fr-FR","he-IL","hi-IN","hr-HR","hu-HU","it-IT","ja-JP","ko-KR","lt-LT","lv-LV","mt-MT","nb-NO","nl-NL","nn-NO","pl-PL","pt-BR","pt-PT","ro-RO","ru-RU","sk-SK","sl-SI","sv-SE","th-TH","tr-TR","uk-UA","vi-VN","zh-CN"],capabilities:{},runtime:{tags:["gguf","stream"]},ui:{recommended_package:"nemotron_asr_q8_0",tags:["ASR","GGUF","Stream"],docs:["docs/asr.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"nemotron_asr_q8_0",display_name:"Nemotron 3.5 ASR Streaming 0.6B Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Nemotron-3.5-ASR-Streaming-0.6B-GGUF",files:["Nemotron-3.5-ASR-Streaming-0.6B-GGUF/nemotron-3.5-asr-streaming-0.6b-q8_0.gguf"],strip_prefix:"Nemotron-3.5-ASR-Streaming-0.6B-GGUF"},{id:"nemotron_asr_f16",display_name:"Nemotron 3.5 ASR Streaming 0.6B F16 GGUF",format:"gguf",precision:"f16",target_directory:"Nemotron-3.5-ASR-Streaming-0.6B-GGUF",files:["Nemotron-3.5-ASR-Streaming-0.6B-GGUF/nemotron-3.5-asr-streaming-0.6b-f16.gguf"],strip_prefix:"Nemotron-3.5-ASR-Streaming-0.6B-GGUF"},{id:"nemotron_asr_safetensors",display_name:"Nemotron 3.5 ASR Streaming 0.6B Safetensors",format:"safetensors",precision:"native",target_directory:"nemotron-3.5-asr-streaming-0.6b",files:["config.json","model.safetensors","processor_config.json","tokenizer.json"],download:{kind:"huggingface_snapshot",repo:"nvidia/nemotron-3.5-asr-streaming-0.6b"}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",processor_config:"model:processor_config.json",tokenizer_json:"model:tokenizer.json"},tensors:{weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",processor_config:"model:processor_config.json",tokenizer_json:"model:tokenizer.json"},tensors:{weights:"model:model.safetensors"}}]},Q3={schema_version:1,family:"neutts",display_name:"NeuTTS",description:"NeuTTS is an English text-to-speech family from Neuphonic. The current 2E package uses a Qwen3-style autoregressive speech-token backbone, NeuCodec waveform decoding, built-in speaker prompts, and emotion-token control.",category:"tts",status:"supported",tasks:["tts"],modes:["offline","streaming"],languages:["en"],runtime:{tags:["gguf","stream"]},capabilities:{tts:["built_in_voices","emotion_control","long_form"]},options:{request:[{name:"voice_id",type:"enum",description:"Built-in NeuTTS speaker prompt; default emily.",values:["dave","emily","greta","jo","juliette","mateo","paul","sophie","steven"],required:!1,default:"emily"},{name:"emotion",type:"enum",description:"Optional emotion token inserted between reference text and target text; neutral inserts no emotion token.",values:["angry","disgusted","sad","happy","fearful","neutral","surprised"],required:!1,default:"neutral"},{name:"max_tokens",type:"int",description:"Maximum generated speech-token count for the autoregressive generator; 0 uses the remaining model context, default 0.",required:!1,min:0,default:0},{name:"min_tokens",type:"int",description:"Minimum generated speech-token count before EOS may stop generation; default 50.",required:!1,min:0,default:50},{name:"temperature",type:"float",description:"Autoregressive sampling temperature; must be positive, default 1.0.",required:!1,min:0,default:1},{name:"top_k",type:"int",description:"Autoregressive top-k sampling limit; default 50.",required:!1,min:1,default:50},{name:"seed",type:"int",description:"Autoregressive sampling seed; omitted requests choose a random seed.",required:!1,min:0},{name:"text_chunk_mode",type:"enum",description:"Framework text chunking mode for long-form synthesis.",values:["default","tag_aware","japanese","endline"],required:!1,default:"default"},{name:"text_chunk_size",type:"int",description:"Maximum Unicode codepoints per long-form text chunk; default 600.",required:!1,min:1,default:600}],session:[{name:"weight_type",type:"enum",description:"Shared matmul weight storage type for the backbone and codec decoder; default native.",preset:"weight_type_full",required:!1,default:"native"},{name:"generator_weight_type",type:"enum",description:"Backbone matmul weight storage type; defaults to weight_type when set, otherwise native.",preset:"weight_type_full",required:!1},{name:"codec_weight_type",type:"enum",description:"NeuCodec decoder matmul weight storage type; defaults to weight_type when set, otherwise native.",preset:"weight_type_full",required:!1},{name:"codec_conv_weight_type",type:"enum",description:"NeuCodec convolution weight storage type; default native.",preset:"weight_type_conv",required:!1,default:"native"},{name:"runtime_graph_arena_mb",type:"int",description:"Reusable ggml graph arena size in MiB for NeuTTS runtime graphs; default 1024.",required:!1,min:1,default:1024}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"neutts_2e_orig",display_name:"NeuTTS 2E Original-Precision GGUF",default:!0,format:"gguf",precision:"orig",target_directory:"NeuTTS-2E-GGUF",files:["NeuTTS-2E-GGUF/neutts-2e-orig.gguf"],strip_prefix:"NeuTTS-2E-GGUF"}],dependencies:[],ui:{recommended_package:"neutts_2e_orig",tags:["TTS","GGUF","Stream"],docs:["docs/tts.md","docs/models/neutts.md","docs/gguf.md"]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer_json:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json",chat_template:"model:chat_template.jinja",codec_config:"model:neucodec_config.json",codec_preprocessor_config:"model:neucodec_preprocessor_config.json",speaker_text_dave:"model:samples/dave.txt",speaker_text_emily:"model:samples/emily.txt",speaker_text_greta:"model:samples/greta.txt",speaker_text_jo:"model:samples/jo.txt",speaker_text_juliette:"model:samples/juliette.txt",speaker_text_mateo:"model:samples/mateo.txt",speaker_text_paul:"model:samples/paul.txt",speaker_text_sophie:"model:samples/sophie.txt",speaker_text_steven:"model:samples/steven.txt"},tensors:{backbone:{source:"weights:",prefix:"backbone"},codec:{source:"weights:",prefix:"codec"},speaker_prompts:{source:"weights:",prefix:"speaker_prompts"}}},{format:"safetensors",roots:{model:".",codec:"../NeuCodec"},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer_json:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json",chat_template:"model:chat_template.jinja",codec_config:"codec:config.json",codec_preprocessor_config:"codec:preprocessor_config.json",speaker_text_dave:"model:samples/dave.txt",speaker_text_emily:"model:samples/emily.txt",speaker_text_greta:"model:samples/greta.txt",speaker_text_jo:"model:samples/jo.txt",speaker_text_juliette:"model:samples/juliette.txt",speaker_text_mateo:"model:samples/mateo.txt",speaker_text_paul:"model:samples/paul.txt",speaker_text_sophie:"model:samples/sophie.txt",speaker_text_steven:"model:samples/steven.txt"},tensors:{backbone:"model:model.safetensors",codec:"codec:model.safetensors",speaker_prompts:"model:samples/speaker_prompts.safetensors"}}]},W3={family:"niagara_asr",schema_version:1,display_name:"Niagara ASR",description:"ABR Niagara English batch ASR state-space models with attention, greedy CTC decoding, and SentencePiece tokenization.",category:"asr",status:"supported",tasks:["asr"],modes:["offline"],languages:["en"],capabilities:{},dependencies:[],options:{request:[{name:"language",type:"string",description:"Recognition language; Niagara batch models are English-only.",required:!1,default:"en"},{name:"audio_chunk_mode",type:"enum",description:"Audio chunking mode.",values:["none"],required:!1,default:"none"}],session:[{name:"weight_type",type:"enum",description:"Matmul weight storage type.",preset:"weight_type_full",required:!1,default:"native"},{name:"graph_arena_mb",type:"int",description:"Inference graph arena size in MiB.",required:!1,min:64,default:1024},{name:"weight_context_mb",type:"int",description:"Weight descriptor context size in MiB.",required:!1,min:16,default:256}],load:[]},runtime:{tags:["gguf","cpu"]},ui:{recommended_package:"niagara_19m_f32",tags:["ASR","GGUF"],docs:["docs/asr.md","docs/gguf.md"],summary:"ABR Niagara compact English speech recognition."},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf"}},packages:[{id:"niagara_19m_f32",display_name:"Niagara 19M Batch English F32 GGUF",default:!0,format:"gguf",precision:"f32",target_directory:"Niagara-ASR-GGUF",files:["Niagara-ASR-GGUF/niagara-19m-batch.en-f32.gguf"],strip_prefix:"Niagara-ASR-GGUF"},{id:"niagara_38m_f32",display_name:"Niagara 38M Batch English F32 GGUF",format:"gguf",precision:"f32",target_directory:"Niagara-ASR-GGUF",files:["Niagara-ASR-GGUF/niagara-38m-batch.en-f32.gguf"],strip_prefix:"Niagara-ASR-GGUF"}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",preprocessor_config:"model:preprocessor_config.json",tokenizer_spm:"model:sentencepiece.model"},tensors:{weights:"weights:"}}]},Y3={family:"omnivoice",display_name:"OmniVoice",description:"Massively multilingual zero-shot TTS model from k2-fsa for 600+ languages, supporting short-reference voice cloning, attribute-based voice design, pronunciation controls, and nonverbal tags.",category:"tts",status:"supported",tasks:["tts","clone","design"],modes:["offline","streaming"],languages:["600+ languages"],capabilities:{clone:["speaker_reference"],design:["voice_design"]},runtime:{tags:["gguf","stream"]},ui:{recommended_package:"omnivoice_q8_0",tags:["TTS","Clone","Design","GGUF","Stream"],docs:["docs/models/omnivoice.md","docs/tts.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"omnivoice_q8_0",display_name:"OmniVoice Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"OmniVoice-GGUF",files:["OmniVoice-GGUF/omnivoice-q8_0.gguf"],strip_prefix:"OmniVoice-GGUF"},{id:"omnivoice_bf16",display_name:"OmniVoice BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"OmniVoice-GGUF",files:["OmniVoice-GGUF/omnivoice-bf16.gguf"],strip_prefix:"OmniVoice-GGUF"},{id:"omnivoice_f16",display_name:"OmniVoice F16 GGUF",format:"gguf",precision:"f16",target_directory:"OmniVoice-GGUF",files:["OmniVoice-GGUF/omnivoice-f16.gguf"],strip_prefix:"OmniVoice-GGUF"},{id:"omnivoice_safetensors",display_name:"OmniVoice Safetensors",format:"safetensors",precision:"native",target_directory:"OmniVoice",files:["config.json","model.safetensors","tokenizer.json","tokenizer_config.json","audio_tokenizer/config.json","audio_tokenizer/preprocessor_config.json","audio_tokenizer/model.safetensors"],download:{kind:"huggingface_snapshot",repo:"k2-fsa/OmniVoice"}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_json:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json",audio_tokenizer_config:"model:audio_tokenizer/config.json",audio_tokenizer_preprocessor:"model:audio_tokenizer/preprocessor_config.json"},optional_files:{chat_template:"model:chat_template.jinja"},tensors:{weights:{source:"weights:",prefix:"weights"},audio_tokenizer_weights:{source:"weights:",prefix:"audio_tokenizer_weights"}}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",tokenizer_json:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json",audio_tokenizer_config:"model:audio_tokenizer/config.json",audio_tokenizer_preprocessor:"model:audio_tokenizer/preprocessor_config.json"},optional_files:{chat_template:"model:chat_template.jinja"},tensors:{weights:"model:model.safetensors",audio_tokenizer_weights:"model:audio_tokenizer/model.safetensors"}}]},K3={schema_version:1,family:"outetts",display_name:"Llama-OuteTTS 1.0",description:"Llama-based open-weight TTS model for 23-language speech synthesis with one-shot voice cloning from short reference audio and automatic word-alignment support.",category:"tts",status:"community",tasks:["tts","clone"],modes:["offline"],languages:["ar","be","bn","de","en","es","fa","fr","hu","it","ja","ka","ko","lt","lv","nl","pl","pt","ru","sw","ta","uk","zh"],capabilities:{clone:["speaker_reference"]},options:{request:[{name:"max_tokens",type:"int",description:"Maximum generated audio tokens per chunk. When omitted, OuteTTS estimates a safe value from each chunk.",required:!1,min:1},{name:"temperature",type:"float",description:"Sampling temperature; default 0.4 for cloning, otherwise model config default.",required:!1,min:0},{name:"top_k",type:"int",description:"Top-k sampling; default 40 for cloning, otherwise model config default.",required:!1,min:0},{name:"top_p",type:"float",description:"Nucleus sampling in (0, 1]; default 0.9 for cloning, otherwise model config default.",required:!1,min:0,max:1},{name:"min_p",type:"float",description:"Minimum probability relative to the best token; default 0.05 for cloning, otherwise model config default.",required:!1,min:0,max:1},{name:"repetition_penalty",type:"float",description:"Positive windowed repetition penalty; default 1.1.",required:!1,min:0,default:1.1},{name:"repetition_window",type:"int",description:"Recent-token penalty window; default 64.",required:!1,min:0,default:64},{name:"seed",type:"int",description:"Sampling seed; cloning defaults to 4099 for native weights and 42 for quantized weights.",required:!1,min:0},{name:"reference_text",type:"string",description:"Transcript matching the reference voice audio for voice cloning.",required:!1},{name:"reference_language",type:"string",description:"Language code used to align the reference transcript; default en.",required:!1,default:"en"},{name:"text_chunk_size",type:"int",description:"Maximum UTF-8 codepoints per long-form text chunk; default 256. Chunks are split further when required by max_tokens or context budget.",required:!1,min:1,default:256},{name:"text_chunk_mode",type:"enum",description:"Framework long-form text chunking mode; default word_budget.",preset:"text_chunk_mode_full",required:!1,default:"word_budget"}],session:[{name:"weight_type",type:"enum",description:"Language-model weight storage type. Quantized CUDA voice cloning is expanded to F32 in memory for generation correctness.",preset:"weight_type_full",required:!1,default:"native"},{name:"llama_weight_context_mb",type:"int",description:"Language-model weight context size in MiB; default 4096.",required:!1,min:1,default:4096},{name:"constant_context_mb",type:"int",description:"Language-model constant tensor context size in MiB; default 256.",required:!1,min:1,default:256},{name:"dac_weight_context_mb",type:"int",description:"DAC decoder weight context size in MiB; default 1024.",required:!1,min:1,default:1024},{name:"dac_graph_arena_mb",type:"int",description:"DAC decoder graph arena size in MiB; default 1536.",required:!1,min:1,default:1536},{name:"aligner_path",type:"path",description:"Optional Qwen3 Forced Aligner override. Cloning automatically uses the aligner embedded in a standalone OuteTTS GGUF when present.",required:!1},{name:"reference_cache_slots",type:"int",description:"Prepared reference-profile cache slots; default 1, set 0 to disable.",required:!1,min:0,default:1},{name:"mem_saver",type:"bool",description:"Release cached-step and aligner runtime state after use; default false.",required:!1,default:!1}],load:[]},runtime:{tags:["gguf"]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json",special_tokens_map:"model:special_tokens_map.json",dac_config:"model:dac/config.json"},optional_files:{aligner_config:"model:aligner/config.json",aligner_generation_config:"model:aligner/generation_config.json",aligner_tokenizer_config:"model:aligner/tokenizer_config.json",aligner_preprocessor_config:"model:aligner/preprocessor_config.json",aligner_processor_config:"model:aligner/processor_config.json",aligner_chat_template:"model:aligner/chat_template.json",aligner_chat_template_jinja:"model:aligner/chat_template.jinja",aligner_vocab:"model:aligner/vocab.json",aligner_merges:"model:aligner/merges.txt",aligner_tokenizer_json:"model:aligner/tokenizer.json"},tensors:{model_weights:{source:"weights:",prefix:"model_weights"},dac_weights:{source:"weights:",prefix:"dac_weights"},aligner_weights:{source:"weights:",prefix:"aligner_weights"}}},{format:"safetensors",roots:{model:".",dac:"../DAC.speech.v1.0"},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json",special_tokens_map:"model:special_tokens_map.json",dac_config:"dac:config.json"},tensors:{model_weights:"model:model.safetensors",dac_weights:"dac:model.safetensors"}}],packages:[{id:"outetts_1_0_1b_q8_0",display_name:"Llama-OuteTTS 1.0 1B Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Llama-OuteTTS-1.0-1B_Q8",files:["Text to audio (TTS)/Llama-OuteTTS-1.0-1B_Q8.gguf"],download:{kind:"huggingface_snapshot",repo:"mirek190/audio.cpp"}}],dependencies:[],ui:{recommended_package:"outetts_1_0_1b_q8_0",tags:["TTS","Clone","GGUF"],docs:["docs/community_models/outetts.md","docs/reports/outetts_validation.md","docs/gguf.md"]}},X3={schema_version:1,family:"parakeet_tdt",display_name:"Parakeet-TDT 0.6B v3",description:"NVIDIA Parakeet-TDT 0.6B v3 FastConformer-TDT ASR covering 25 European languages with automatic language detection. Supports the upstream Transformers-compatible safetensors package and standalone audio.cpp GGUF, with offline full-context, bounded-window long-form, and buffered streaming; the checkpoint uses unlimited bidirectional attention and is not a native cache-aware streaming model.",category:"asr",status:"community",tasks:["asr"],modes:["offline","streaming"],languages:["bg","cs","da","de","el","en","es","et","fi","fr","hr","hu","it","lt","lv","mt","nl","pl","pt","ro","ru","sk","sl","sv","uk"],runtime:{tags:["gguf","stream"]},capabilities:{asr:["word_timestamps","partial_results","vad_chunking"]},options:{request:[{name:"max_tokens",type:"int",description:"Maximum TDT generated tokens; 0 or omitted uses the model-derived limit.",required:!1,min:0,default:0},{name:"keep_language_tags",type:"bool",description:"Keep language tag tokens in decoded text; default false.",required:!1,default:!1},{name:"audio_chunk_mode",type:"enum",description:"Offline audio chunking mode. vad uses Silero VAD to skip silence; auto keeps Parakeet's existing offline_mode behavior.",values:["auto","fixed","vad","none"],required:!1,default:"auto"},{name:"audio_chunk_duration_sec",type:"float",description:"Request-level chunk duration in seconds for fixed or VAD offline chunking. Falls back to the session chunk duration when omitted.",required:!1,min:.001,default:2}],session:[{name:"weight_type",type:"enum",description:"Shared matmul weight storage type; default native.",preset:"weight_type_full",required:!1,default:"native"},{name:"matmul_weight_type",type:"enum",description:"Encoder and decoder matmul weight storage type; defaults to weight_type, which defaults to native. Q8_0 measured 1.79x faster on the tested CPU and changed roughly 8 percent of transcripts without moving aggregate word error rate.",preset:"weight_type_full",required:!1},{name:"conv_weight_type",type:"enum",description:"Convolution weight storage type; default native.",preset:"weight_type_conv",required:!1,default:"native"},{name:"perf_mode",type:"enum",description:"Encoder attention implementation. Default off uses the validated relative-attention path; flash_attention enables the fused implementation, which was numerically validated but slower on the tested hardware.",preset:"perf_mode_flash_attention",required:!1,default:"off"},{name:"weight_context_mb",type:"int",description:"Weight context arena size in MiB; default 3072.",required:!1,min:1,default:3072},{name:"encoder_graph_arena_mb",type:"int",description:"Encoder graph arena size in MiB; default 1024.",required:!1,min:1,default:1024},{name:"decoder_graph_arena_mb",type:"int",description:"Decoder graph arena size in MiB; default 256.",required:!1,min:1,default:256},{name:"audio_chunk_duration_sec",type:"float",description:"Center-region duration for buffered streaming in seconds; default 2. Fixed context windows are re-encoded rather than cache-aware.",required:!1,min:.001,default:2},{name:"left_context_sec",type:"float",description:"Past context included when re-encoding each buffered-streaming window in seconds; default 10.",required:!1,min:0,default:10},{name:"right_context_sec",type:"float",description:"Future lookahead included when re-encoding each buffered-streaming window in seconds; default 2 and adds equivalent partial-result latency.",required:!1,min:0,default:2},{name:"streaming_attention_mode",type:"enum",description:"Attention policy inside each buffered window. full_context preserves bidirectional attention over the bounded window.",values:["full_context"],required:!1,default:"full_context"},{name:"offline_mode",type:"enum",description:"Offline encoder scheduling. full_context encodes the whole utterance, long_form uses bounded overlapping windows, and auto selects long_form beyond audio_chunk_threshold_sec.",values:["full_context","long_form","auto"],required:!1,default:"full_context"},{name:"audio_chunk_threshold_sec",type:"float",description:"Duration threshold used by offline_mode=auto before switching to bounded-window long-form execution; default 30 seconds.",required:!1,min:.001,default:30},{name:"vad_model_path",type:"path",description:"Silero VAD model path used by audio_chunk_mode=vad; default assets/framework/models/silero_vad.",required:!1,default:"assets/framework/models/silero_vad"}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"parakeet_tdt_q8_0",display_name:"Parakeet-TDT 0.6B v3 Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Parakeet-TDT-0.6B-v3-GGUF",files:["Parakeet-TDT-0.6B-v3-GGUF/parakeet-tdt-0.6b-v3-q8_0.gguf"],strip_prefix:"Parakeet-TDT-0.6B-v3-GGUF"},{id:"parakeet_tdt_f16",display_name:"Parakeet-TDT 0.6B v3 F16 GGUF",format:"gguf",precision:"f16",target_directory:"Parakeet-TDT-0.6B-v3-GGUF",files:["Parakeet-TDT-0.6B-v3-GGUF/parakeet-tdt-0.6b-v3-f16.gguf"],strip_prefix:"Parakeet-TDT-0.6B-v3-GGUF"},{id:"orukeet_q8_0",display_name:"Orukeet r3 Q8_0 GGUF (Parakeet-TDT 0.6B v3 fine-tune)",format:"gguf",precision:"q8_0",target_directory:"Orukeet-GGUF",files:["Orukeet-GGUF/orukeet-q8_0.gguf"],strip_prefix:"Orukeet-GGUF"},{id:"orukeet_f16",display_name:"Orukeet r3 F16 GGUF (Parakeet-TDT 0.6B v3 fine-tune)",format:"gguf",precision:"f16",target_directory:"Orukeet-GGUF",files:["Orukeet-GGUF/orukeet-f16.gguf"],strip_prefix:"Orukeet-GGUF"}],dependencies:[],ui:{recommended_package:"parakeet_tdt_q8_0",tags:["ASR","GGUF"],docs:["docs/community_models/parakeet_tdt.md"]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",processor_config:"model:processor_config.json",tokenizer_json:"model:tokenizer.json"},tensors:{weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",processor_config:"model:processor_config.json",tokenizer_json:"model:tokenizer.json"},tensors:{weights:"model:model.safetensors"}}]},Z3={schema_version:1,family:"personaplex",display_name:"PersonaPlex",description:"PersonaPlex is a Moshi-style full-duplex speech-to-speech conversational model with Mimi audio tokenization, packaged speaker/persona prompts, streaming audio input, text generation, and generated assistant speech.",category:"tts",status:"supported",tasks:["s2s"],modes:["offline","streaming"],languages:["en"],runtime:{tags:["gguf","stream"]},capabilities:{s2s:["speaker_reference"]},options:{request:[{name:"voice_id",type:"enum",description:"Packaged PersonaPlex voice prompt id such as NATF2 or NATM1. If omitted, NATF2 is used.",values:["NATF0","NATF1","NATF2","NATF3","NATM0","NATM1","NATM2","NATM3","VARF0","VARF1","VARF2","VARF3","VARF4","VARM0","VARM1","VARM2","VARM3","VARM4"],required:!1,default:"NATF2"},{name:"system_prompt",type:"string",description:"System persona prompt. Plain text is wrapped with the required tags.",required:!1},{name:"temperature",type:"float",description:"Audio token sampling temperature; default 0.8.",required:!1,min:0,default:.8},{name:"text_temperature",type:"float",description:"Text token sampling temperature; default follows temperature.",required:!1,min:0},{name:"top_k",type:"int",description:"Audio token top-k sampling limit; default 250.",required:!1,min:0,default:250},{name:"text_top_k",type:"int",description:"Text token top-k sampling limit; default follows top_k.",required:!1,min:0},{name:"do_sample",type:"bool",description:"Enable stochastic token sampling; default true. Set false for greedy decoding.",required:!1,default:!0},{name:"seed",type:"int",description:"Seed for text and audio token sampling; default 42424242.",required:!1,min:0,default:42424242}],session:[{name:"graph_arena_mb",type:"int",description:"Reusable ggml graph arena size in MiB for PersonaPlex LM, depformer, and Mimi graphs; default 1024.",required:!1,min:1,default:1024},{name:"lm_weight_context_mb",type:"int",description:"Main LM weight metadata arena size in MiB; default 64.",required:!1,min:1,default:64},{name:"depformer_weight_context_mb",type:"int",description:"Depth transformer weight metadata arena size in MiB; default 64.",required:!1,min:1,default:64},{name:"mimi_weight_context_mb",type:"int",description:"Mimi codec weight metadata arena size in MiB; default 64.",required:!1,min:1,default:64},{name:"weight_type",type:"enum",description:"LM and Mimi matmul weight storage type; default native.",preset:"weight_type_full",required:!1,default:"native"}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"personaplex_7b_v1_q4_k",display_name:"PersonaPlex 7B v1 Q4_K GGUF",default:!0,format:"gguf",precision:"q4_k",target_directory:"PersonaPlex-GGUF",files:["PersonaPlex-GGUF/personaplex-7b-v1-q4_k.gguf"],strip_prefix:"PersonaPlex-GGUF"},{id:"personaplex_7b_v1_q8_0",display_name:"PersonaPlex 7B v1 Q8_0 GGUF",default:!1,format:"gguf",precision:"q8_0",target_directory:"PersonaPlex-GGUF",files:["PersonaPlex-GGUF/personaplex-7b-v1-q8_0.gguf"],strip_prefix:"PersonaPlex-GGUF"}],dependencies:[],ui:{recommended_package:"personaplex_7b_v1_q4_k",tags:["TTS","Stream","GGUF"],docs:["docs/models/personaplex.md","docs/tts.md","docs/gguf.md"]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_model:"model:tokenizer_spm_32k_3.model",voice_NATF0:"model:voices_safetensors/NATF0.safetensors",voice_NATF1:"model:voices_safetensors/NATF1.safetensors",voice_NATF2:"model:voices_safetensors/NATF2.safetensors",voice_NATF3:"model:voices_safetensors/NATF3.safetensors",voice_NATM0:"model:voices_safetensors/NATM0.safetensors",voice_NATM1:"model:voices_safetensors/NATM1.safetensors",voice_NATM2:"model:voices_safetensors/NATM2.safetensors",voice_NATM3:"model:voices_safetensors/NATM3.safetensors",voice_VARF0:"model:voices_safetensors/VARF0.safetensors",voice_VARF1:"model:voices_safetensors/VARF1.safetensors",voice_VARF2:"model:voices_safetensors/VARF2.safetensors",voice_VARF3:"model:voices_safetensors/VARF3.safetensors",voice_VARF4:"model:voices_safetensors/VARF4.safetensors",voice_VARM0:"model:voices_safetensors/VARM0.safetensors",voice_VARM1:"model:voices_safetensors/VARM1.safetensors",voice_VARM2:"model:voices_safetensors/VARM2.safetensors",voice_VARM3:"model:voices_safetensors/VARM3.safetensors",voice_VARM4:"model:voices_safetensors/VARM4.safetensors"},tensors:{lm_weights:{source:"weights:",prefix:"lm"},mimi_weights:{source:"weights:",prefix:"mimi"}}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",tokenizer_model:"model:tokenizer_spm_32k_3.model",voice_NATF0:"model:voices_safetensors/NATF0.safetensors",voice_NATF1:"model:voices_safetensors/NATF1.safetensors",voice_NATF2:"model:voices_safetensors/NATF2.safetensors",voice_NATF3:"model:voices_safetensors/NATF3.safetensors",voice_NATM0:"model:voices_safetensors/NATM0.safetensors",voice_NATM1:"model:voices_safetensors/NATM1.safetensors",voice_NATM2:"model:voices_safetensors/NATM2.safetensors",voice_NATM3:"model:voices_safetensors/NATM3.safetensors",voice_VARF0:"model:voices_safetensors/VARF0.safetensors",voice_VARF1:"model:voices_safetensors/VARF1.safetensors",voice_VARF2:"model:voices_safetensors/VARF2.safetensors",voice_VARF3:"model:voices_safetensors/VARF3.safetensors",voice_VARF4:"model:voices_safetensors/VARF4.safetensors",voice_VARM0:"model:voices_safetensors/VARM0.safetensors",voice_VARM1:"model:voices_safetensors/VARM1.safetensors",voice_VARM2:"model:voices_safetensors/VARM2.safetensors",voice_VARM3:"model:voices_safetensors/VARM3.safetensors",voice_VARM4:"model:voices_safetensors/VARM4.safetensors"},tensors:{lm_weights:"model:model.safetensors",mimi_weights:"model:tokenizer-e351c8d8-checkpoint125.safetensors"}}]},J3={schema_version:1,family:"piper_tts",display_name:"Piper TTS",description:"Native VITS inference for Piper text-to-speech voices using the shared eSpeak-ng frontend.",category:"tts",status:"community",tasks:["tts"],modes:["offline"],languages:["en"],runtime:{tags:["gguf"]},capabilities:{tts:["long_form"]},options:{request:[{name:"speed",type:"float",description:"Speech speed multiplier; larger values produce faster speech.",required:!1,min:.5,max:2,default:1},{name:"variation",type:"float",description:"Acoustic latent noise scale.",required:!1,min:0,max:1,default:.667},{name:"duration_variation",type:"float",description:"Stochastic duration noise scale.",required:!1,min:0,max:2,default:.8},{name:"seed",type:"int",description:"Non-negative generation seed.",required:!1,min:0,default:1234},{name:"text_chunk_mode",type:"enum",description:"Long-form text chunking mode.",values:["default","tag_aware","japanese","endline"],required:!1,default:"default"},{name:"text_chunk_size",type:"int",description:"Maximum Unicode codepoints per long-form chunk.",required:!1,min:1,default:280}],session:[{name:"espeak_library_path",type:"path",description:"Optional explicit path to the eSpeak-ng shared library.",required:!1},{name:"espeak_data_path",type:"path",description:"Optional explicit path to espeak-ng-data.",required:!1}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"piper_lessac_medium_orig",display_name:"Piper Lessac Medium Original-Dtype GGUF",default:!0,format:"gguf",precision:"orig",target_directory:"Piper-TTS-GGUF",files:["Piper-TTS-GGUF/piper-en-us-lessac-medium-orig.gguf"],strip_prefix:"Piper-TTS-GGUF"}],dependencies:[],ui:{recommended_package:"piper_lessac_medium_orig",tags:["TTS","GGUF"],docs:["docs/tts.md","docs/community_models/piper_tts.md","docs/gguf.md"]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json"},tensors:{weights:{source:"weights:",prefix:"weights"}}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json"},tensors:{weights:"model:model.safetensors"}}]},ek={family:"pocket_tts",display_name:"PocketTTS",description:"Kyutai 100M-parameter CPU-friendly TTS package set for real-time local synthesis and small-footprint voice cloning in English, German, Italian, Portuguese, and Spanish.",category:"tts",status:"supported",tasks:["tts","clone"],modes:["offline","streaming"],languages:["en","de","it","pt","es"],capabilities:{clone:["speaker_reference"]},runtime:{tags:["gguf"]},ui:{recommended_package:"pocket_tts_english_q8_0",default_voice:"alba",builtin_voices:["alba"],tags:["TTS","Clone","GGUF"],docs:["docs/tts.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"pocket_tts_english_q8_0",display_name:"PocketTTS English Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"PocketTTS-GGUF/english",files:["PocketTTS-GGUF/english/pocket-tts-english-q8_0.gguf","PocketTTS-GGUF/english/embeddings/alba.safetensors"],strip_prefix:"PocketTTS-GGUF/english"},{id:"pocket_tts_english_bf16",display_name:"PocketTTS English BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"PocketTTS-GGUF/english",files:["PocketTTS-GGUF/english/pocket-tts-english-bf16.gguf","PocketTTS-GGUF/english/embeddings/alba.safetensors"],strip_prefix:"PocketTTS-GGUF/english"},{id:"pocket_tts_german_q8_0",display_name:"PocketTTS German Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"PocketTTS-GGUF/german",files:["PocketTTS-GGUF/german/pocket-tts-german-q8_0.gguf"],strip_prefix:"PocketTTS-GGUF/german"},{id:"pocket_tts_german_bf16",display_name:"PocketTTS German BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"PocketTTS-GGUF/german",files:["PocketTTS-GGUF/german/pocket-tts-german-bf16.gguf"],strip_prefix:"PocketTTS-GGUF/german"},{id:"pocket_tts_italian_q8_0",display_name:"PocketTTS Italian Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"PocketTTS-GGUF/italian",files:["PocketTTS-GGUF/italian/pocket-tts-italian-q8_0.gguf"],strip_prefix:"PocketTTS-GGUF/italian"},{id:"pocket_tts_italian_bf16",display_name:"PocketTTS Italian BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"PocketTTS-GGUF/italian",files:["PocketTTS-GGUF/italian/pocket-tts-italian-bf16.gguf"],strip_prefix:"PocketTTS-GGUF/italian"},{id:"pocket_tts_portuguese_q8_0",display_name:"PocketTTS Portuguese Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"PocketTTS-GGUF/portuguese",files:["PocketTTS-GGUF/portuguese/pocket-tts-portuguese-q8_0.gguf"],strip_prefix:"PocketTTS-GGUF/portuguese"},{id:"pocket_tts_portuguese_bf16",display_name:"PocketTTS Portuguese BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"PocketTTS-GGUF/portuguese",files:["PocketTTS-GGUF/portuguese/pocket-tts-portuguese-bf16.gguf"],strip_prefix:"PocketTTS-GGUF/portuguese"},{id:"pocket_tts_spanish_q8_0",display_name:"PocketTTS Spanish Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"PocketTTS-GGUF/spanish",files:["PocketTTS-GGUF/spanish/pocket-tts-spanish-q8_0.gguf"],strip_prefix:"PocketTTS-GGUF/spanish"},{id:"pocket_tts_spanish_bf16",display_name:"PocketTTS Spanish BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"PocketTTS-GGUF/spanish",files:["PocketTTS-GGUF/spanish/pocket-tts-spanish-bf16.gguf"],strip_prefix:"PocketTTS-GGUF/spanish"},{id:"pocket_tts_english_safetensors",display_name:"PocketTTS English Safetensors",format:"safetensors",precision:"native",target_directory:"pocket-tts",files:["languages/english/embeddings/alba.safetensors","languages/english/embeddings/anna.safetensors","languages/english/embeddings/azelma.safetensors","languages/english/embeddings/bill_boerst.safetensors","languages/english/embeddings/caro_davy.safetensors","languages/english/embeddings/charles.safetensors","languages/english/embeddings/cosette.safetensors","languages/english/embeddings/eponine.safetensors","languages/english/embeddings/estelle.safetensors","languages/english/embeddings/eve.safetensors","languages/english/embeddings/fantine.safetensors","languages/english/embeddings/george.safetensors","languages/english/embeddings/giovanni.safetensors","languages/english/embeddings/jane.safetensors","languages/english/embeddings/javert.safetensors","languages/english/embeddings/jean.safetensors","languages/english/embeddings/juergen.safetensors","languages/english/embeddings/lola.safetensors","languages/english/embeddings/marius.safetensors","languages/english/embeddings/mary.safetensors","languages/english/embeddings/michael.safetensors","languages/english/embeddings/paul.safetensors","languages/english/embeddings/peter_yearsley.safetensors","languages/english/embeddings/rafael.safetensors","languages/english/embeddings/stuart_bell.safetensors","languages/english/embeddings/vera.safetensors","languages/english/model.safetensors","languages/english/tokenizer.model"],download:{kind:"huggingface_snapshot",repo:"kyutai/pocket-tts",gated:!0}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{tokenizer:"model:tokenizer.model"},optional_files:{config:"model:config.yaml"},tensors:{weights:"weights:"}},{format:"safetensors",roots:{language:"languages/english"},files:{tokenizer:"language:tokenizer.model"},optional_files:{config:"language:config.yaml"},tensors:{weights:"language:model.safetensors"}}]},tk={schema_version:1,family:"pulsevad",display_name:"PulseVAD",description:"Speech activity detection for 16 kHz mono audio with 2.1K student and 81K teacher weights.",category:"audio_tools",status:"supported",tasks:["vad"],modes:["offline"],languages:["language_agnostic"],capabilities:{vad:["speech_segments"]},runtime:{tags:["gguf"]},options:{request:[{name:"threshold",type:"float",description:"Speech probability threshold.",required:!1,default:.5,min:0,max:1},{name:"hop_size_samples",type:"int",description:"Window step in samples; 1600 samples is 100 ms at 16 kHz.",required:!1,default:1600,min:1},{name:"min_speech_duration_ms",type:"int",description:"Minimum speech segment duration in milliseconds.",required:!1,default:100,min:0},{name:"min_silence_duration_ms",type:"int",description:"Minimum silence before closing a speech segment, in milliseconds.",required:!1,default:100,min:0}],session:[{name:"weight_type",type:"enum",description:"Weight storage override; native preserves the packaged tensor types.",values:["native","f32","f16","bf16"],required:!1,default:"native"}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"pulsevad_2_1k_f32",display_name:"PulseVAD 2.1K GGUF F32",default:!0,format:"gguf",precision:"f32",target_directory:"PulseVAD-GGUF",files:["PulseVAD-GGUF/pulsevad-2.1k-f32.gguf"],strip_prefix:"PulseVAD-GGUF"},{id:"pulsevad_81k_f32",display_name:"PulseVAD 81K GGUF F32",format:"gguf",precision:"f32",target_directory:"PulseVAD-GGUF",files:["PulseVAD-GGUF/pulsevad-81k-f32.gguf"],strip_prefix:"PulseVAD-GGUF"}],dependencies:[],ui:{tags:["VAD","GGUF"],docs:["docs/models/pulsevad.md"],recommended_package:"pulsevad_2_1k_f32"},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},tensors:{weights:{source:"weights:",prefix:"weights"}}},{format:"safetensors",roots:{model:"."},tensors:{weights:"model:pulsevad-f32.safetensors"}}]},ak={family:"qwen3_asr",display_name:"Qwen3-ASR",description:"Qwen ASR model family for language identification and speech recognition across 30 languages, 22 Chinese dialects, and multiple English accents, with robustness for noisy, long-form, and singing audio.",category:"asr",status:"supported",tasks:["asr"],modes:["offline","streaming"],languages:["zh","en","yue","ar","de","fr","es","pt","id","it","ko","ru","th","vi","ja","tr","hi","ms","nl","sv","da","fi","pl","cs","fil","fa","el","hu","mk","ro","zh dialects"],capabilities:{asr:["word_timestamps","vad_chunking","partial_results"]},options:{request:[{name:"clamp_timestamps_to_audio",type:"bool",description:"Opt-in guard for word timestamp output: keep repaired forced-aligner word spans inside the local audio chunk. Defaults to false to preserve existing timestamp repair behavior.",required:!1,default:!1},{name:"qwen3_asr.preserve_punctuation",type:"bool",description:"Opt-in text output mode for timestamped chunked ASR: preserve ASR punctuation in text_output instead of rebuilding text from aligned words.",required:!1,default:!1}]},runtime:{tags:["gguf","stream"]},ui:{recommended_package:"qwen3_asr_1_7b_q8_0",tags:["ASR","GGUF","Stream"],docs:["docs/models/qwen3.md","docs/asr.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"qwen3_asr_1_7b_q8_0",display_name:"Qwen3-ASR 1.7B Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Qwen3-ASR-1.7B-GGUF",files:["Qwen3-ASR-1.7B-GGUF/qwen3-asr-1.7b-q8_0.gguf"],strip_prefix:"Qwen3-ASR-1.7B-GGUF"},{id:"qwen3_asr_1_7b_f16",display_name:"Qwen3-ASR 1.7B F16 GGUF",format:"gguf",precision:"f16",target_directory:"Qwen3-ASR-1.7B-GGUF",files:["Qwen3-ASR-1.7B-GGUF/qwen3-asr-1.7b-f16.gguf"],strip_prefix:"Qwen3-ASR-1.7B-GGUF"},{id:"qwen3_asr_0_6b_q8_0",display_name:"Qwen3-ASR 0.6B Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"Qwen3-ASR-0.6B-GGUF",files:["Qwen3-ASR-0.6B-GGUF/qwen3-asr-0.6b-q8_0.gguf"],strip_prefix:"Qwen3-ASR-0.6B-GGUF"},{id:"qwen3_asr_0_6b_f16",display_name:"Qwen3-ASR 0.6B F16 GGUF",format:"gguf",precision:"f16",target_directory:"Qwen3-ASR-0.6B-GGUF",files:["Qwen3-ASR-0.6B-GGUF/qwen3-asr-0.6b-f16.gguf"],strip_prefix:"Qwen3-ASR-0.6B-GGUF"},{id:"qwen3_asr_1_7b_safetensors",display_name:"Qwen3-ASR 1.7B HF Safetensors",format:"safetensors",precision:"native",target_directory:"Qwen3-ASR-1.7B-hf",files:["config.json","generation_config.json","model.safetensors","processor_config.json","tokenizer_config.json","tokenizer.json"],download:{kind:"huggingface_snapshot",repo:"Qwen/Qwen3-ASR-1.7B-hf"}},{id:"qwen3_asr_0_6b_safetensors",display_name:"Qwen3-ASR 0.6B Safetensors",format:"safetensors",precision:"native",target_directory:"Qwen3-ASR-0.6B",files:["config.json","generation_config.json","model.safetensors","preprocessor_config.json","tokenizer_config.json"],download:{kind:"huggingface_snapshot",repo:"Qwen/Qwen3-ASR-0.6B"}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer_config:"model:tokenizer_config.json"},optional_files:{preprocessor_config:"model:preprocessor_config.json",processor_config:"model:processor_config.json",chat_template:"model:chat_template.json",chat_template_jinja:"model:chat_template.jinja",vocab:"model:vocab.json",merges:"model:merges.txt",tokenizer_json:"model:tokenizer.json"},tensors:{weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer_config:"model:tokenizer_config.json"},optional_files:{preprocessor_config:"model:preprocessor_config.json",processor_config:"model:processor_config.json",chat_template:"model:chat_template.json",chat_template_jinja:"model:chat_template.jinja",vocab:"model:vocab.json",merges:"model:merges.txt",tokenizer_json:"model:tokenizer.json"},tensors:{weights:"model:model.safetensors"}}]},ik={family:"qwen3_forced_aligner",display_name:"Qwen3 Forced Aligner",description:"Qwen3 non-autoregressive forced aligner that aligns transcript text to speech and returns word- or character-level timestamps across 11 supported languages.",category:"speech_analysis",status:"supported",tasks:["align"],modes:["offline"],languages:["zh","en","yue","fr","de","it","ja","ko","pt","ru","es"],capabilities:{align:["word_timestamps"]},options:{request:[{name:"clamp_timestamps_to_audio",type:"bool",description:"Opt-in guard for word timestamp output: keep repaired word spans inside the local audio input. Defaults to false to preserve existing timestamp repair behavior.",required:!1,default:!1}]},runtime:{tags:["gguf"]},ui:{recommended_package:"qwen3_forced_aligner_0_6b_q8_0",tags:["Align","GGUF"],docs:["docs/models/qwen3.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"qwen3_forced_aligner_0_6b_q8_0",display_name:"Qwen3 Forced Aligner 0.6B Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Qwen3-ForcedAligner-0.6B-GGUF",files:["Qwen3-ForcedAligner-0.6B-GGUF/qwen3-forced-aligner-0.6b-q8_0.gguf"],strip_prefix:"Qwen3-ForcedAligner-0.6B-GGUF"},{id:"qwen3_forced_aligner_0_6b_f16",display_name:"Qwen3 Forced Aligner 0.6B F16 GGUF",format:"gguf",precision:"f16",target_directory:"Qwen3-ForcedAligner-0.6B-GGUF",files:["Qwen3-ForcedAligner-0.6B-GGUF/qwen3-forced-aligner-0.6b-f16.gguf"],strip_prefix:"Qwen3-ForcedAligner-0.6B-GGUF"},{id:"qwen3_forced_aligner_0_6b_safetensors",display_name:"Qwen3 Forced Aligner 0.6B Safetensors",format:"safetensors",precision:"native",target_directory:"Qwen3-ForcedAligner-0.6B",files:["config.json","generation_config.json","model.safetensors","preprocessor_config.json","tokenizer_config.json"],download:{kind:"huggingface_snapshot",repo:"Qwen/Qwen3-ForcedAligner-0.6B"}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer_config:"model:tokenizer_config.json"},optional_files:{preprocessor_config:"model:preprocessor_config.json",processor_config:"model:processor_config.json",chat_template:"model:chat_template.json",chat_template_jinja:"model:chat_template.jinja",vocab:"model:vocab.json",merges:"model:merges.txt",tokenizer_json:"model:tokenizer.json"},tensors:{weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer_config:"model:tokenizer_config.json"},optional_files:{preprocessor_config:"model:preprocessor_config.json",processor_config:"model:processor_config.json",chat_template:"model:chat_template.json",chat_template_jinja:"model:chat_template.jinja",vocab:"model:vocab.json",merges:"model:merges.txt",tokenizer_json:"model:tokenizer.json"},tensors:{weights:"model:model.safetensors"}}]},nk={family:"qwen3_tts",display_name:"Qwen3-TTS",description:"Qwen TTS family for controllable 10-language speech synthesis, including 3-second voice cloning, CustomVoice instruction control over preset timbres, and VoiceDesign from natural-language descriptions.",category:"tts",status:"supported",tasks:["tts","clone","design"],modes:["offline"],languages:["zh","en","ja","ko","de","fr","ru","pt","es","it"],capabilities:{clone:["speaker_reference"],design:["voice_design"]},runtime:{tags:["gguf"]},ui:{recommended_package:"qwen3_tts_1_7b_base_q8_0",tags:["TTS","Clone","Design","GGUF"],docs:["docs/models/qwen3.md","docs/tts.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"qwen3_tts_1_7b_base_q8_0",display_name:"Qwen3 TTS 12Hz 1.7B Base Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Qwen3-TTS-12Hz-1.7B-Base-GGUF",files:["Qwen3-TTS-12Hz-1.7B-Base-GGUF/qwen3-tts-12hz-1.7b-base-q8_0_v2.gguf"],strip_prefix:"Qwen3-TTS-12Hz-1.7B-Base-GGUF"},{id:"qwen3_tts_1_7b_base_bf16",display_name:"Qwen3 TTS 12Hz 1.7B Base BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"Qwen3-TTS-12Hz-1.7B-Base-GGUF",files:["Qwen3-TTS-12Hz-1.7B-Base-GGUF/qwen3-tts-12hz-1.7b-base-bf16.gguf"],strip_prefix:"Qwen3-TTS-12Hz-1.7B-Base-GGUF"},{id:"qwen3_tts_1_7b_base_orig",display_name:"Qwen3 TTS 12Hz 1.7B Base Original-Dtype GGUF",format:"gguf",precision:"orig",target_directory:"Qwen3-TTS-12Hz-1.7B-Base-GGUF",files:["Qwen3-TTS-12Hz-1.7B-Base-GGUF/qwen3-tts-12hz-1.7b-base-orig.gguf"],strip_prefix:"Qwen3-TTS-12Hz-1.7B-Base-GGUF"},{id:"qwen3_tts_1_7b_customvoice_q8_0",display_name:"Qwen3 TTS 12Hz 1.7B CustomVoice Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"Qwen3-TTS-12Hz-1.7B-CustomVoice-GGUF",files:["Qwen3-TTS-12Hz-1.7B-CustomVoice-GGUF/qwen3-tts-12hz-1.7b-customvoice-q8_0.gguf"],strip_prefix:"Qwen3-TTS-12Hz-1.7B-CustomVoice-GGUF"},{id:"qwen3_tts_1_7b_customvoice_bf16",display_name:"Qwen3 TTS 12Hz 1.7B CustomVoice BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"Qwen3-TTS-12Hz-1.7B-CustomVoice-GGUF",files:["Qwen3-TTS-12Hz-1.7B-CustomVoice-GGUF/qwen3-tts-12hz-1.7b-customvoice-bf16.gguf"],strip_prefix:"Qwen3-TTS-12Hz-1.7B-CustomVoice-GGUF"},{id:"qwen3_tts_1_7b_voicedesign_q8_0",display_name:"Qwen3 TTS 12Hz 1.7B VoiceDesign Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"Qwen3-TTS-12Hz-1.7B-VoiceDesign-GGUF",files:["Qwen3-TTS-12Hz-1.7B-VoiceDesign-GGUF/qwen3-tts-12hz-1.7b-voicedesign-q8_0.gguf"],strip_prefix:"Qwen3-TTS-12Hz-1.7B-VoiceDesign-GGUF"},{id:"qwen3_tts_1_7b_voicedesign_bf16",display_name:"Qwen3 TTS 12Hz 1.7B VoiceDesign BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"Qwen3-TTS-12Hz-1.7B-VoiceDesign-GGUF",files:["Qwen3-TTS-12Hz-1.7B-VoiceDesign-GGUF/qwen3-tts-12hz-1.7b-voicedesign-bf16.gguf"],strip_prefix:"Qwen3-TTS-12Hz-1.7B-VoiceDesign-GGUF"},{id:"qwen3_tts_0_6b_base_q8_0",display_name:"Qwen3 TTS 12Hz 0.6B Base Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"Qwen3-TTS-12Hz-0.6B-Base-GGUF",files:["Qwen3-TTS-12Hz-0.6B-Base-GGUF/qwen3-tts-12hz-0.6b-base-q8_0.gguf"],strip_prefix:"Qwen3-TTS-12Hz-0.6B-Base-GGUF"},{id:"qwen3_tts_0_6b_base_bf16",display_name:"Qwen3 TTS 12Hz 0.6B Base BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"Qwen3-TTS-12Hz-0.6B-Base-GGUF",files:["Qwen3-TTS-12Hz-0.6B-Base-GGUF/qwen3-tts-12hz-0.6b-base-bf16.gguf"],strip_prefix:"Qwen3-TTS-12Hz-0.6B-Base-GGUF"},{id:"qwen3_tts_1_7b_base_safetensors",display_name:"Qwen3 TTS 12Hz 1.7B Base Safetensors",format:"safetensors",precision:"native",target_directory:"Qwen3-TTS-12Hz-1.7B-Base",files:["config.json","generation_config.json","model.safetensors","speech_tokenizer/config.json","speech_tokenizer/model.safetensors","tokenizer_config.json","vocab.json","merges.txt"],download:{kind:"huggingface_snapshot",repo:"Qwen/Qwen3-TTS-12Hz-1.7B-Base"}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer_config:"model:tokenizer_config.json",vocab:"model:vocab.json",merges:"model:merges.txt",speech_tokenizer_config:"model:speech_tokenizer/config.json"},tensors:{model_weights:{source:"weights:",prefix:"model_weights"},speech_tokenizer_weights:{source:"weights:",prefix:"speech_tokenizer_weights"}}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer_config:"model:tokenizer_config.json",vocab:"model:vocab.json",merges:"model:merges.txt",speech_tokenizer_config:"model:speech_tokenizer/config.json"},tensors:{model_weights:"model:model.safetensors",speech_tokenizer_weights:"model:speech_tokenizer/model.safetensors"}}]},rk={schema_version:1,family:"rvc",display_name:"RVC",description:"RVC is an offline retrieval-based voice conversion family packaged for audio.cpp with native HuBERT content features, RMVPE pitch extraction, optional IVF retrieval blending, packaged v1/v2 voices, and support for user-supplied RVC checkpoints.",category:"voice_conversion",status:"experimental",tasks:["vc"],modes:["offline"],languages:["language_agnostic"],runtime:{tags:["gguf"]},capabilities:{},options:{request:[{name:"voice_id",type:"enum",description:"Packaged RVC voice id; default selects the v2 default voice. Ignored when voice_model_path is provided.",values:["default","manthos","chocola","fraise"],required:!1,default:"default"},{name:"voice_model_path",type:"path",description:"Optional user RVC .pth or .pt voice checkpoint path. When set, this overrides the packaged voice id.",required:!1},{name:"pitch_extractor",type:"enum",description:"Pitch extraction method for F0-enabled voices; the native path currently supports rmvpe only.",values:["rmvpe"],required:!1,default:"rmvpe"},{name:"pitch_path",type:"path",description:"Optional CSV F0 override file with time,Hz rows sorted by time.",required:!1},{name:"retrieval_index_path",type:"path",description:"Optional user FAISS .index retrieval path used when retrieval_blend is greater than 0 for a user voice model.",required:!1},{name:"retrieval_blend",type:"float",description:"IVF retrieval feature blend rate; default 0 disables retrieval blending.",required:!1,min:0,max:1,default:0},{name:"semitone_shift",type:"int",description:"Semitone pitch shift applied before synthesis; default 0.",required:!1,default:0},{name:"pitch_filter_radius",type:"int",description:"Median filter radius for F0 smoothing; values greater than 2 enable filtering, default 3.",required:!1,min:0,default:3},{name:"output_sample_rate",type:"int",description:"Output sample rate in Hz; default 0 keeps the selected voice model sample rate.",required:!1,min:0,default:0},{name:"rms_mix_rate",type:"float",description:"RMS envelope mix rate applied after conversion; default 0.25.",required:!1,default:.25},{name:"unvoiced_protection",type:"float",description:"Unvoiced consonant protection strength; must be in [0, 1], default 0.33.",required:!1,min:0,max:1,default:.33},{name:"speaker_id",type:"int",description:"Speaker embedding id for multi-speaker RVC checkpoints; default 0.",required:!1,min:0,default:0},{name:"audio_pad_duration_sec",type:"int",description:"Long-audio chunk pad duration in seconds; default 1.",required:!1,min:1,default:1},{name:"split_query_sec",type:"int",description:"Quiet-point query window in seconds for long-audio splitting; default 5.",required:!1,min:1,default:5},{name:"split_center_sec",type:"int",description:"Long-audio split center stride in seconds; default 30.",required:!1,min:1,default:30},{name:"split_threshold_sec",type:"int",description:"Input duration in seconds before quiet-point splitting is used; default 32.",required:!1,min:1,default:32}],session:[{name:"weight_type",type:"enum",description:"Tensor storage type for native RVC, HuBERT, and RMVPE weights; default f32.",preset:"weight_type_full",required:!1,default:"f32"},{name:"voice_cache_slots",type:"int",description:"User voice model cache slots; default 4, set 0 to disable caching.",required:!1,min:0,default:4}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"rvc_f16",display_name:"RVC F16 GGUF",default:!0,format:"gguf",precision:"f16",target_directory:"RVC-GGUF",files:["RVC-GGUF/rvc-f16.gguf"],strip_prefix:"RVC-GGUF"}],dependencies:[],ui:{recommended_package:"rvc_f16",tags:["VC","GGUF"],docs:["docs/audio_tools.md","docs/gguf.md"]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{voice_v1_chocola_index:"model:voices/v1/chocola/added_IVF732_Flat_nprobe_1.index",voice_v1_fraise_index:"model:voices/v1/fraise/added_IVF802_Flat_nprobe_1.index",voice_v2_default_index:"model:voices/v2/default/added_IVF511_Flat_nprobe_1_default_v2.index",voice_v2_manthos_index:"model:voices/v2/manthos/added_IVF2586_Flat_nprobe_1_manthos_v2.index"},tensors:{support_hubert_base:{source:"weights:",prefix:"support_hubert_base"},support_rmvpe:{source:"weights:",prefix:"support_rmvpe"},voice_v1_chocola_checkpoint:{source:"weights:",prefix:"voice_v1_chocola_checkpoint"},voice_v1_chocola_index_vectors:{source:"weights:",prefix:"voice_v1_chocola_index_vectors"},voice_v1_fraise_checkpoint:{source:"weights:",prefix:"voice_v1_fraise_checkpoint"},voice_v1_fraise_index_vectors:{source:"weights:",prefix:"voice_v1_fraise_index_vectors"},voice_v2_default_checkpoint:{source:"weights:",prefix:"voice_v2_default_checkpoint"},voice_v2_default_index_vectors:{source:"weights:",prefix:"voice_v2_default_index_vectors"},voice_v2_manthos_checkpoint:{source:"weights:",prefix:"voice_v2_manthos_checkpoint"},voice_v2_manthos_index_vectors:{source:"weights:",prefix:"voice_v2_manthos_index_vectors"}}},{format:"safetensors",roots:{safetensors:"../safetensors"},files:{voice_v1_chocola_index:"safetensors:voices/v1/chocola/added_IVF732_Flat_nprobe_1.index",voice_v1_fraise_index:"safetensors:voices/v1/fraise/added_IVF802_Flat_nprobe_1.index",voice_v2_default_index:"safetensors:voices/v2/default/added_IVF511_Flat_nprobe_1_default_v2.index",voice_v2_manthos_index:"safetensors:voices/v2/manthos/added_IVF2586_Flat_nprobe_1_manthos_v2.index"},tensors:{support_hubert_base:"safetensors:support/hubert_base.safetensors",support_rmvpe:"safetensors:support/rmvpe.safetensors",voice_v1_chocola_checkpoint:"safetensors:voices/v1/chocola/chocola2333333.safetensors",voice_v1_chocola_index_vectors:"safetensors:voices/v1/chocola/added_IVF732_Flat_nprobe_1.ivf.safetensors",voice_v1_fraise_checkpoint:"safetensors:voices/v1/fraise/fraise2333333.safetensors",voice_v1_fraise_index_vectors:"safetensors:voices/v1/fraise/added_IVF802_Flat_nprobe_1.ivf.safetensors",voice_v2_default_checkpoint:"safetensors:voices/v2/default/default.safetensors",voice_v2_default_index_vectors:"safetensors:voices/v2/default/added_IVF511_Flat_nprobe_1_default_v2.ivf.safetensors",voice_v2_manthos_checkpoint:"safetensors:voices/v2/manthos/manthos.safetensors",voice_v2_manthos_index_vectors:"safetensors:voices/v2/manthos/added_IVF2586_Flat_nprobe_1_manthos_v2.ivf.safetensors"}}]},sk={schema_version:1,family:"sanotts",display_name:"sanoTTS Nano",description:"Very small multilingual text-to-speech across fourteen languages. Two graphs: the nano lineage (duration student, contextual acoustic student to mel-100, noise-fed ConvNeXt-1D decoder with an iSTFT head; voices heart 2.27M and heart-nano 294k, English, 24 kHz) and the deterministic piperlite lineage (duration student, acoustic student to a 192-channel latent, optionally through a calibration adapter, then a 3-stage ConvTranspose1d decoder with dilated residual banks; voices amy, hfc and kristin for English, vi, id, cs, de, es, fr, it, pt, ro, ru, tr, ne and hi at 1.1-1.8M parameters, 22.05 kHz). Uses an external eSpeak-ng phonemizer.",category:"tts",status:"community",tasks:["tts"],modes:["offline"],languages:["en","vi","id","cs","de","es","fr","it","pt","ro","ru","tr","ne","hi"],runtime:{tags:["gguf"]},capabilities:{tts:["long_form"]},options:{request:[{name:"speaking_rate",type:"float",description:"Duration multiplier on the voice's tuned length scale; larger is slower. Applied before the per-token clamp.",required:!1,min:.5,max:2,default:1},{name:"seed",type:"int",description:"Decoder noise seed. The decoder is noise-fed, so a given seed picks one of many valid renderings; 0 derives it from the text as sha256(text)[:8], which is what the reference implementations do. Piperlite voices are deterministic and ignore the seed.",required:!1,min:0,default:0},{name:"text_chunk_mode",type:"enum",description:"Long-form text chunking mode.",values:["word_budget"],required:!1,default:"word_budget"},{name:"text_chunk_size",type:"int",description:"Maximum Unicode codepoints per long-form text chunk; default 280.",required:!1,min:1,default:280}],session:[{name:"espeak_library_path",type:"path",description:"Optional explicit path to the eSpeak-ng shared library.",required:!1},{name:"espeak_data_path",type:"path",description:"Optional explicit path to the directory containing espeak-ng-data.",required:!1}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"ampixa/sanoTTS",revision:"main",gated:!1}},packages:[{id:"sanotts_heart_nano_orig",display_name:"sanoTTS heart-nano 294k FP32 GGUF",default:!0,format:"gguf",precision:"orig",target_directory:"sanoTTS-heart-nano-GGUF",files:["gguf/heart-nano-f32.gguf","gguf/config.json"],strip_prefix:"gguf"},{id:"sanotts_heart_orig",display_name:"sanoTTS heart 2.27M FP32 GGUF",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-heart-GGUF",files:["gguf/heart/heart-f32.gguf","gguf/heart/config.json"],strip_prefix:"gguf/heart"},{id:"sanotts_amy_orig",display_name:"sanoTTS amy 1.46M FP32 GGUF (English, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-amy-GGUF",files:["gguf/amy/amy-f32.gguf","gguf/amy/config.json"],strip_prefix:"gguf/amy"},{id:"sanotts_hfc_orig",display_name:"sanoTTS hfc 1.83M FP32 GGUF (English, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-hfc-GGUF",files:["gguf/hfc/hfc-f32.gguf","gguf/hfc/config.json"],strip_prefix:"gguf/hfc"},{id:"sanotts_kristin_orig",display_name:"sanoTTS kristin 1.40M FP32 GGUF (English, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-kristin-GGUF",files:["gguf/kristin/kristin-f32.gguf","gguf/kristin/config.json"],strip_prefix:"gguf/kristin"},{id:"sanotts_vi_orig",display_name:"sanoTTS vi 1.57M FP32 GGUF (Vietnamese, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-vi-GGUF",files:["gguf/vi/vi-f32.gguf","gguf/vi/config.json"],strip_prefix:"gguf/vi"},{id:"sanotts_id_orig",display_name:"sanoTTS id 1.56M FP32 GGUF (Indonesian, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-id-GGUF",files:["gguf/id/id-f32.gguf","gguf/id/config.json"],strip_prefix:"gguf/id"},{id:"sanotts_cs_orig",display_name:"sanoTTS cs 1.57M FP32 GGUF (Czech, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-cs-GGUF",files:["gguf/cs/cs-f32.gguf","gguf/cs/config.json"],strip_prefix:"gguf/cs"},{id:"sanotts_de_orig",display_name:"sanoTTS de 1.57M FP32 GGUF (German, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-de-GGUF",files:["gguf/de/de-f32.gguf","gguf/de/config.json"],strip_prefix:"gguf/de"},{id:"sanotts_es_orig",display_name:"sanoTTS es 1.56M FP32 GGUF (Spanish, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-es-GGUF",files:["gguf/es/es-f32.gguf","gguf/es/config.json"],strip_prefix:"gguf/es"},{id:"sanotts_fr_orig",display_name:"sanoTTS fr 1.57M FP32 GGUF (French, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-fr-GGUF",files:["gguf/fr/fr-f32.gguf","gguf/fr/config.json"],strip_prefix:"gguf/fr"},{id:"sanotts_it_orig",display_name:"sanoTTS it 1.57M FP32 GGUF (Italian, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-it-GGUF",files:["gguf/it/it-f32.gguf","gguf/it/config.json"],strip_prefix:"gguf/it"},{id:"sanotts_pt_orig",display_name:"sanoTTS pt 1.57M FP32 GGUF (Portuguese (Brazil), piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-pt-GGUF",files:["gguf/pt/pt-f32.gguf","gguf/pt/config.json"],strip_prefix:"gguf/pt"},{id:"sanotts_ro_orig",display_name:"sanoTTS ro 1.57M FP32 GGUF (Romanian, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-ro-GGUF",files:["gguf/ro/ro-f32.gguf","gguf/ro/config.json"],strip_prefix:"gguf/ro"},{id:"sanotts_ru_orig",display_name:"sanoTTS ru 1.57M FP32 GGUF (Russian, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-ru-GGUF",files:["gguf/ru/ru-f32.gguf","gguf/ru/config.json"],strip_prefix:"gguf/ru"},{id:"sanotts_tr_orig",display_name:"sanoTTS tr 1.56M FP32 GGUF (Turkish, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-tr-GGUF",files:["gguf/tr/tr-f32.gguf","gguf/tr/config.json"],strip_prefix:"gguf/tr"},{id:"sanotts_ne_orig",display_name:"sanoTTS ne 1.47M FP32 GGUF (Nepali, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-ne-GGUF",files:["gguf/ne/ne-f32.gguf","gguf/ne/config.json"],strip_prefix:"gguf/ne"},{id:"sanotts_hi_orig",display_name:"sanoTTS hi 1.50M FP32 GGUF (Hindi, piperlite)",default:!1,format:"gguf",precision:"orig",target_directory:"sanoTTS-hi-GGUF",files:["gguf/hi/hi-f32.gguf","gguf/hi/config.json"],strip_prefix:"gguf/hi"}],dependencies:[],ui:{recommended_package:"sanotts_heart_nano_orig",tags:["TTS","GGUF"],docs:["docs/tts.md","docs/community_models/sanotts.md","docs/gguf.md"]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json"},tensors:{weights:"weights:"}}]},ok={family:"seed_vc",schema_version:1,display_name:"Seed-VC",description:"Zero-shot voice conversion and singing voice conversion model for transferring timbre and style from reference audio, with low-latency realtime conversion and optional lightweight fine-tuning.",category:"voice_conversion",status:"supported",tasks:["vc","svc"],modes:["offline"],languages:["language_agnostic"],capabilities:{vc:["speaker_reference"],svc:["speaker_reference","singing"]},dependencies:[],runtime:{tags:["gguf"]},ui:{recommended_package:"seed_vc_mlx_q8_0",tags:["VC","GGUF"],docs:["docs/models/seed_vc.md","docs/audio_tools.md","docs/gguf.md"]},options:{request:[{name:"route",type:"enum",description:"Select the Seed-VC conversion route. Defaults to v2_vc for VC and v1_svc for SVC.",values:["v2_vc","v1_svc","v1_whisper_bigvgan_vc","v1_xlsr_hift_vc"],required:!1},{name:"length_adjust",type:"float",description:"Output duration multiplier; must be positive, default 1.0.",required:!1,min:0,default:1},{name:"num_inference_steps",type:"int",description:"Diffusion steps; default 30.",required:!1,min:1,default:30},{name:"inference_guidance_scale",type:"float",description:"V1 classifier-free guidance scale; default 0.7.",required:!1,min:0,default:.7},{name:"intelligibility_guidance_scale",type:"float",description:"V2 classifier-free guidance scale for source-content intelligibility; default 0.7.",required:!1,min:0,default:.7},{name:"similarity_guidance_scale",type:"float",description:"V2 classifier-free guidance scale for target-speaker similarity; default 0.7.",required:!1,min:0,default:.7},{name:"voice_anonymization",type:"bool",description:"Use randomized average-voice conditioning instead of target-speaker conditioning for V2 anonymization; default false.",required:!1,default:!1},{name:"seed",type:"int",description:"Seed for V1/V2 diffusion noise and HiFT stochastic source excitation; omitted requests choose a random seed.",required:!1,min:0},{name:"noise_path",type:"path",description:"Optional raw f32 noise file for deterministic V1/V2 diffusion noise and XLSR/HiFT source excitation.",required:!1},{name:"f0_condition",type:"bool",description:"Enable V1 F0 conditioning for singing voice conversion; default false.",required:!1,default:!1},{name:"auto_f0_adjust",type:"bool",description:"Automatically adjust V1 source pitch toward the target pitch level; default false.",required:!1,default:!1},{name:"semitone_shift",type:"int",description:"V1 pitch shift in semitones for singing voice conversion; default 0.",required:!1,default:0}],session:[{name:"weight_type",type:"enum",description:"Shared Seed-VC component weight storage type; default native, except RMVPE uses f32 unless overridden.",preset:"weight_type_full",required:!1,default:"native"}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"seed_vc_mlx_q8_0",display_name:"SeedVC-MLX Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"SeedVC-MLX-GGUF",files:["SeedVC-MLX-GGUF/seed-vc-mlx-q8_0.gguf"],strip_prefix:"SeedVC-MLX-GGUF"},{id:"seed_vc_mlx_f16",display_name:"SeedVC-MLX F16 GGUF",format:"gguf",precision:"f16",target_directory:"SeedVC-MLX-GGUF",files:["SeedVC-MLX-GGUF/seed-vc-mlx-f16.gguf"],strip_prefix:"SeedVC-MLX-GGUF"},{id:"seed_vc_mlx_orig",display_name:"SeedVC-MLX Original-Dtype GGUF",format:"gguf",precision:"orig",target_directory:"SeedVC-MLX-GGUF",files:["SeedVC-MLX-GGUF/seed-vc-mlx-orig.gguf"],strip_prefix:"SeedVC-MLX-GGUF"},{id:"seed_vc_mlx_safetensors",display_name:"SeedVC-MLX Safetensors",format:"safetensors",precision:"native",target_directory:"SeedVC-MLX",files:["seed_vc_manifest.json","v2/ar.safetensors","v2/cfm.safetensors","v2/vc_wrapper.json","astral/bsq32.json","astral/bsq2048.json","v1/svc.json","v1/whisper_bigvgan.json","v1/xlsr_hift.json","hift/config.json","bigvgan/v2_22khz_80band_256x/config.json","bigvgan/v2_44khz_128band_512x/config.json","whisper-small/config.json","hubert-large-ll60k/config.json","wav2vec2-xls-r-300m/config.json","v1/svc.safetensors","v1/whisper_bigvgan.safetensors","v1/xlsr_hift.safetensors","astral/bsq32.safetensors","astral/bsq2048.safetensors","campplus/model.safetensors","rmvpe/model.safetensors","hift/model.safetensors","bigvgan/v2_22khz_80band_256x/model.safetensors","bigvgan/v2_44khz_128band_512x/model.safetensors","whisper-small/model.safetensors","hubert-large-ll60k/model.safetensors","wav2vec2-xls-r-300m/model.safetensors"],download:{kind:"huggingface_snapshot",repo:"mlx-community/SeedVC-MLX"}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{manifest:"model:seed_vc_manifest.json",v2_wrapper_config:"model:v2/vc_wrapper.json",astral_bsq32_config:"model:astral/bsq32.json",astral_bsq2048_config:"model:astral/bsq2048.json",v1_svc_config:"model:v1/svc.json",v1_whisper_bigvgan_config:"model:v1/whisper_bigvgan.json",v1_xlsr_hift_config:"model:v1/xlsr_hift.json",hift_config:"model:hift/config.json",bigvgan_22k_config:"model:bigvgan/v2_22khz_80band_256x/config.json",bigvgan_44k_config:"model:bigvgan/v2_44khz_128band_512x/config.json",whisper_small_config:"model:whisper-small/config.json",hubert_large_config:"model:hubert-large-ll60k/config.json",wav2vec2_xlsr_config:"model:wav2vec2-xls-r-300m/config.json"},tensors:{v2_ar_weights:{source:"weights:",prefix:"v2_ar_weights"},v2_cfm_weights:{source:"weights:",prefix:"v2_cfm_weights"},v1_svc_weights:{source:"weights:",prefix:"v1_svc_weights"},v1_whisper_bigvgan_weights:{source:"weights:",prefix:"v1_whisper_bigvgan_weights"},v1_xlsr_hift_weights:{source:"weights:",prefix:"v1_xlsr_hift_weights"},astral_bsq32_weights:{source:"weights:",prefix:"astral_bsq32_weights"},astral_bsq2048_weights:{source:"weights:",prefix:"astral_bsq2048_weights"},campplus_weights:{source:"weights:",prefix:"campplus_weights"},rmvpe_weights:{source:"weights:",prefix:"rmvpe_weights"},hift_weights:{source:"weights:",prefix:"hift_weights"},bigvgan_22k_weights:{source:"weights:",prefix:"bigvgan_22k_weights"},bigvgan_44k_weights:{source:"weights:",prefix:"bigvgan_44k_weights"},whisper_small_weights:{source:"weights:",prefix:"whisper_small_weights"},hubert_large_weights:{source:"weights:",prefix:"hubert_large_weights"},wav2vec2_xlsr_weights:{source:"weights:",prefix:"wav2vec2_xlsr_weights"}}},{format:"safetensors",roots:{model:"."},files:{manifest:"model:seed_vc_manifest.json",v2_wrapper_config:"model:v2/vc_wrapper.json",astral_bsq32_config:"model:astral/bsq32.json",astral_bsq2048_config:"model:astral/bsq2048.json",v1_svc_config:"model:v1/svc.json",v1_whisper_bigvgan_config:"model:v1/whisper_bigvgan.json",v1_xlsr_hift_config:"model:v1/xlsr_hift.json",hift_config:"model:hift/config.json",bigvgan_22k_config:"model:bigvgan/v2_22khz_80band_256x/config.json",bigvgan_44k_config:"model:bigvgan/v2_44khz_128band_512x/config.json",whisper_small_config:"model:whisper-small/config.json",hubert_large_config:"model:hubert-large-ll60k/config.json",wav2vec2_xlsr_config:"model:wav2vec2-xls-r-300m/config.json"},tensors:{v2_ar_weights:"model:v2/ar.safetensors",v2_cfm_weights:"model:v2/cfm.safetensors",v1_svc_weights:"model:v1/svc.safetensors",v1_whisper_bigvgan_weights:"model:v1/whisper_bigvgan.safetensors",v1_xlsr_hift_weights:"model:v1/xlsr_hift.safetensors",astral_bsq32_weights:"model:astral/bsq32.safetensors",astral_bsq2048_weights:"model:astral/bsq2048.safetensors",campplus_weights:"model:campplus/model.safetensors",rmvpe_weights:"model:rmvpe/model.safetensors",hift_weights:"model:hift/model.safetensors",bigvgan_22k_weights:"model:bigvgan/v2_22khz_80band_256x/model.safetensors",bigvgan_44k_weights:"model:bigvgan/v2_44khz_128band_512x/model.safetensors",whisper_small_weights:"model:whisper-small/model.safetensors",hubert_large_weights:"model:hubert-large-ll60k/model.safetensors",wav2vec2_xlsr_weights:"model:wav2vec2-xls-r-300m/model.safetensors"}}]},ck={schema_version:1,family:"sense_asr",display_name:"SenseVoice-Small",description:"SenseVoice-Small multilingual speech recognition with rich event/emotion/ITN tags via a SAN-M encoder and CTC head, ported to audio.cpp.",category:"asr",status:"community",tasks:["asr"],modes:["offline","streaming"],languages:["auto","zh","en","yue","ja","ko","pt","ru","es","it","fr","de","nl","pl","tr","ar","hi","vi","th","id","ms","fa","nospeech"],capabilities:{asr:["vad_chunking","partial_results"]},options:{request:[{name:"language",type:"string",description:"Recognition language, or auto to let the model infer it from the audio.",required:!1,default:"auto"},{name:"enable_itn",type:"bool",description:"Enable inverse text normalization (adds the withitn query token).",required:!1,default:!0},{name:"keep_tags",type:"bool",description:"Keep <|event|>/<|emotion|>/<|language|> tags inline in the output text.",required:!1,default:!1},{name:"audio_chunk_mode",type:"enum",description:"Audio chunking mode: auto, fixed, or none.",values:["auto","fixed","none"],required:!1,default:"auto"},{name:"audio_chunk_duration_sec",type:"float",description:"Fixed chunk duration in seconds when not using VAD segmentation.",required:!1,min:.001,default:30}],session:[{name:"weight_type",type:"enum",description:"Shared model weight storage type.",preset:"weight_type_full",required:!1,default:"native"},{name:"encoder_graph_arena_mb",type:"int",description:"Encoder graph arena size in MB.",required:!1,min:64,default:1024},{name:"vad_model_path",type:"string",description:"Path to the Silero VAD model directory used by automatic audio chunking.",required:!1,default:"assets/framework/models/silero_vad"}],load:[]},runtime:{tags:["gguf","server","stream","cuda","metal","cpu"]},packages:[{id:"sensevoice_small_q8",display_name:"SenseVoice-Small Q8 GGUF",description:"audio.cpp GGUF built from the SenseVoice-Small checkpoint via the SenseVoice llama.cpp export script.",default:!0,format:"gguf",precision:"q8_0",target_directory:"SenseVoice-Small-GGUF",files:["sensevoice-small-q8-audiocpp-v1.gguf"],download:{kind:"huggingface_snapshot",repo:"FunAudioLLM/SenseVoiceSmall-GGUF-audiocpp",revision:"5c3fcfe748a8714216bc135476d5863084fddb72",gated:!1}}],dependencies:[],ui:{recommended_package:"sensevoice_small_q8",tags:["ASR","GGUF","Stream"],docs:["docs/community_models/sense_asr.md"],summary:"SenseVoice-Small transcription with event/emotion tags and ITN."},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{},optional_files:{},tensors:{weights:"weights:"}}]},lk={schema_version:1,family:"sheetsage2",display_name:"SheetSage2",description:"SheetSage2 audio-to-symbolic transcription. This native path consumes an input recording from a self-contained GGUF and emits an ABC score artifact.",category:"audio_tools",status:"supported",tasks:["midi"],modes:["offline"],languages:["music"],runtime:{tags:["gguf","cuda"]},capabilities:{midi:["midi_artifact"]},options:{request:[{name:"max_tokens",type:"int",description:"Maximum total decoder sequence length; default follows the embedded model context.",required:!1,min:1,default:5120}],session:[{name:"weight_type",type:"enum",description:"Decoder weight storage type; default native.",preset:"weight_type_full",required:!1,default:"native"},{name:"weight_context_mb",type:"int",description:"Weight context arena size in MiB; default 1024.",required:!1,min:1,default:1024},{name:"decoder_graph_arena_mb",type:"int",description:"Encoder/decoder graph arena size in MiB; default 1536.",required:!1,min:1,default:1536}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/SheetSage2-GGUF",revision:"main",gated:!1}},packages:[{id:"sheetsage2_orig",display_name:"SheetSage2 Original-Dtype GGUF",default:!0,format:"gguf",precision:"orig",target_directory:"SheetSage2-GGUF",files:["sheetsage2-orig.gguf"]}],dependencies:[],ui:{recommended_package:"sheetsage2_orig",tags:["Music","MIDI","GGUF"],docs:[]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json"},tensors:{weights:"weights:"}}]},dk={schema_version:1,family:"soprano_tts",display_name:"Soprano",description:"Soprano is an ultra-lightweight (~80M) English-only text-to-speech model. Syntax uses a 17-layer Qwen3-style causal LM (hidden 512, vocab 8192) that autoregressively emits per-frame 512-dimensional features; a non-iterative Vocos-style decoder (ConvNeXt backbone + single ISTFT head, n_fft 2048 / hop 512) turns those features into 32 kHz audio. No diffusion refinement is performed in the decoder.",category:"tts",status:"community",tasks:["tts"],modes:["offline","streaming"],languages:["en"],runtime:{tags:["gguf","stream"]},capabilities:{tts:["long_form"]},options:{request:[{name:"max_tokens",type:"int",description:"Maximum generated audio frames for the autoregressive LM; default 512.",required:!1,min:1,default:512},{name:"temperature",type:"float",description:"Autoregressive sampling temperature; default 0.3 (0 selects the framework default and clamps to a small positive value).",required:!1,min:0,default:.3},{name:"top_p",type:"float",description:"Nucleus sampling probability; default 0.95.",required:!1,min:0,max:1,default:.95},{name:"repetition_penalty",type:"float",description:"Repetition penalty applied to the LM head; default 1.2.",required:!1,min:1,default:1.2},{name:"eos_bias",type:"float",description:"Additive bias on the EOS token logit during generation. Positive values make the model stop sooner when speech ends (mitigating runaway generations that hit max_tokens); negative values encourage longer utterances. Default 0 disables the adjustment.",required:!1,default:0},{name:"seed",type:"int",description:"Autoregressive sampling seed; omitted requests choose a random seed.",required:!1,min:0}],session:[{name:"text_chunk_size",type:"int",description:"Maximum codepoints per sentence chunk before the model generates and decodes separately. Smaller values keep prompts short (more reliable EOS) but increase overhead. Default 200.",required:!1,min:32,default:200}],load:[{name:"backbone_weight_type",type:"enum",preset:"weight_type_full",required:!1,default:"native",description:"Storage type for the Qwen3 LM backbone weights."},{name:"decoder_weight_type",type:"enum",preset:"weight_type_conv",required:!1,default:"native",description:"Storage type for the Vocos decoder weights."}]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"WalkingCat/Soprano-1.1-80M-GGUF",revision:"main",gated:!1}},packages:[{id:"soprano_1_1_80m_q8_0",display_name:"Soprano-1.1-80M Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Soprano-1.1-80M-GGUF",files:["Soprano-1.1-80M-GGUF/soprano-1.1-80m-q8_0.gguf"],strip_prefix:"Soprano-1.1-80M-GGUF"},{id:"soprano_1_1_80m_bf16",display_name:"Soprano-1.1-80M BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"Soprano-1.1-80M-GGUF",files:["Soprano-1.1-80M-GGUF/soprano-1.1-80m-bf16.gguf"],strip_prefix:"Soprano-1.1-80M-GGUF"}],dependencies:[],ui:{recommended_package:"soprano_1_1_80m_q8_0",tags:["TTS","Stream"],docs:["docs/community_models/soprano_tts.md"]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer_json:"model:tokenizer.json"},tensors:{backbone:"weights:",decoder:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",generation_config:"model:generation_config.json",tokenizer_json:"model:tokenizer.json"},tensors:{backbone:"model:combined.safetensors",decoder:"model:combined.safetensors"}}]},uk={schema_version:1,family:"sopro_tts",display_name:"Sopro V2 Turbo",description:"Community Sopro V2 Turbo (samuel-vitorino/sopro-v2-turbo): a 120M zero-shot voice-cloning TTS. SentencePiece text tokenizer, style-prefix conditioned autoregressive semantic LM over FSQ tokens, rectified-flow acoustic DiT and a Vocos ISTFT vocoder at 24 kHz.",category:"tts",status:"community",tasks:["tts","clone"],modes:["offline","streaming"],languages:["en","pt","fr","de"],runtime:{tags:["server"]},capabilities:{clone:["speaker_reference"]},options:{request:[{name:"language",type:"string",description:"Language tag prepended to the prompt (en, pt, fr, de). Optional; helps pronunciation on ambiguous text.",required:!1,default:""},{name:"temperature",type:"float",description:"Semantic LM sampling temperature; default 0.8.",required:!1,min:0,max:2,default:.8},{name:"top_p",type:"float",description:"Nucleus sampling threshold for the semantic LM; default 0.9.",required:!1,min:0,max:1,default:.9},{name:"top_k",type:"int",description:"Top-k truncation for the semantic LM; 0 disables. Default 25.",required:!1,min:0,default:25},{name:"num_inference_steps",type:"int",description:"Acoustic rectified-flow Euler steps; default 2.",required:!1,min:1,max:32,default:2},{name:"max_seconds",type:"float",description:"Cap on generated audio per segment; long text is split into segments so total length is unbounded. Default 30.",required:!1,min:1,max:60,default:30},{name:"min_seconds",type:"float",description:"Minimum audio per segment before the semantic LM may emit EOS; default 0.4.",required:!1,min:0,max:10,default:.4},{name:"ref_seconds",type:"float",description:"Reference audio window used for cloning; default 10.",required:!1,min:1,max:30,default:10},{name:"text_chunk_size",type:"int",description:"Maximum codepoints per synthesis segment; default 300 (config.json generation.max_segment_chars).",required:!1,min:20,max:2e3,default:300},{name:"seed",type:"int",description:"Non-negative seed for semantic sampling and the acoustic noise prior; omit for a random seed.",required:!1,min:0}],session:[{name:"language",type:"string",description:"Default language tag for requests that do not set one.",required:!1,default:""}],load:[{name:"matmul_weight_type",type:"enum",preset:"weight_type_full",description:"Storage type for the matmul weights of every stage (semantic LM, acoustic DiT, encoders, vocoder head).",required:!1,default:"f32"},{name:"conv_weight_type",type:"enum",preset:"weight_type_conv",description:"Storage type for convolution weights (speaker/semantic encoders and the Vocos backbone).",required:!1,default:"f32"}]},package_defaults:{download:{kind:"unsupported",reason:"No audio.cpp GGUF build of sopro-v2-turbo is published yet: install the sopro_v2_turbo_safetensors package and run from safetensors, or pack one locally with audiocpp_gguf (one --input namespace per stage: model, semantic_encoder, speaker_encoder, vocoder)."}},packages:[{id:"sopro_v2_turbo_f16",display_name:"Sopro V2 Turbo F16 GGUF",description:"Locally packed GGUF holding all four stages plus the embedded config and tokenizer sidecars. Produced with audiocpp_gguf --family sopro_tts.",default:!0,format:"gguf",precision:"f16",target_directory:"sopro-v2-turbo-GGUF",files:["sopro-v2-turbo-GGUF/sopro-v2-turbo-f16.gguf"],strip_prefix:"sopro-v2-turbo-GGUF"},{id:"sopro_v2_turbo_safetensors",display_name:"Sopro V2 Turbo (upstream safetensors)",description:"Upstream checkpoint from samuel-vitorino/sopro-v2-turbo: config.json, tokenizer.model and the four safetensors stages. Runs directly, no conversion needed.",format:"safetensors",precision:"orig",target_directory:"sopro-v2-turbo",files:["config.json","tokenizer.model","model.safetensors","semantic_encoder.safetensors","speaker_encoder.safetensors","vocoder.safetensors"],download:{kind:"huggingface_snapshot",repo:"samuel-vitorino/sopro-v2-turbo",revision:"main",gated:!1}}],dependencies:[],ui:{recommended_package:"sopro_v2_turbo_safetensors",tags:["TTS","Clone"],docs:["docs/community_models/sopro_tts.md"]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer:"model:tokenizer.model"},tensors:{model:{source:"weights:",prefix:"model"},semantic_encoder:{source:"weights:",prefix:"semantic_encoder"},speaker_encoder:{source:"weights:",prefix:"speaker_encoder"},vocoder:{source:"weights:",prefix:"vocoder"}}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",tokenizer:"model:tokenizer.model"},tensors:{model:{source:"model:model.safetensors"},semantic_encoder:{source:"model:semantic_encoder.safetensors"},speaker_encoder:{source:"model:speaker_encoder.safetensors"},vocoder:{source:"model:vocoder.safetensors"}}}]},fk={schema_version:1,family:"sortformer_diar",display_name:"Sortformer Diarization",description:"NVIDIA Transformer-based end-to-end speaker diarization model trained primarily on English speech, predicting speaker labels directly from audio and resolving speaker ordering by arrival time for up to four speakers.",category:"speech_analysis",status:"supported",tasks:["diar"],modes:["offline"],languages:["en"],capabilities:{diar:["speaker_turns"]},dependencies:[],options:{request:[{name:"speaker_threshold",type:"float",description:"Speaker activity probability threshold used when decoding speaker turns; default 0.5.",required:!1,min:0,max:1,default:.5},{name:"speaker_min_frames",type:"int",description:"Minimum decoded segment length in model output frames; default 0 disables short-segment filtering.",required:!1,min:0,default:0},{name:"speaker_pad_frames",type:"int",description:"Pad each decoded speaker segment by this many model output frames before filtering and merging; default 0.",required:!1,min:0,default:0}],session:[{name:"graph_arena_mb",type:"int",description:"Inference graph arena size in MiB; default 512.",required:!1,min:1,default:512},{name:"weight_context_mb",type:"int",description:"Weight context size in MiB; default 128.",required:!1,min:1,default:128},{name:"session_len_sec",type:"float",description:"Base offline graph context length in seconds; must be positive, default 20.",required:!1,min:0,default:20},{name:"graph_capacity_mode",type:"enum",description:"Offline graph capacity policy; defaults to tiered on host-graph backends and fixed otherwise.",values:["fixed","tiered","grow","double"],required:!1},{name:"speaker_threshold",type:"float",description:"Default speaker activity probability threshold for decoded speaker turns; default 0.5.",required:!1,min:0,max:1,default:.5},{name:"speaker_min_frames",type:"int",description:"Default minimum decoded segment length in model output frames; default 0 disables short-segment filtering.",required:!1,min:0,default:0},{name:"speaker_pad_frames",type:"int",description:"Default decoded segment padding in model output frames; default 0.",required:!1,min:0,default:0},{name:"weight_type",type:"enum",description:"All weight storage type; default f32.",preset:"weight_type_full",required:!1,default:"f32"},{name:"matmul_weight_type",type:"enum",description:"Matmul weight storage type; defaults to weight_type when set, otherwise f32.",preset:"weight_type_full",required:!1},{name:"conv_weight_type",type:"enum",description:"Convolution weight storage type; defaults to weight_type when set, otherwise f32.",preset:"weight_type_full",required:!1}],load:[]},runtime:{tags:["gguf"]},ui:{recommended_package:"sortformer_diar_4spk_v1_q8_0",tags:["Diar","GGUF"],docs:["docs/audio_tools.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"sortformer_diar_4spk_v1_q8_0",display_name:"Sortformer Diar 4spk v1 Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Sortformer-Diar-4spk-v1-GGUF",files:["Sortformer-Diar-4spk-v1-GGUF/sortformer-diar-4spk-v1-q8_0.gguf"],strip_prefix:"Sortformer-Diar-4spk-v1-GGUF"},{id:"sortformer_diar_4spk_v1_f16",display_name:"Sortformer Diar 4spk v1 F16 GGUF",format:"gguf",precision:"f16",target_directory:"Sortformer-Diar-4spk-v1-GGUF",files:["Sortformer-Diar-4spk-v1-GGUF/sortformer-diar-4spk-v1-f16.gguf"],strip_prefix:"Sortformer-Diar-4spk-v1-GGUF"},{id:"sortformer_diar_4spk_v1_safetensors",display_name:"Sortformer Diar 4spk v1 Safetensors",format:"safetensors",precision:"native",target_directory:"diar_sortformer_4spk-v1",files:["config.json","model.safetensors","processor_config.json"],download:{kind:"huggingface_snapshot",repo:"nvidia/diar_sortformer_4spk-v1"}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",processor:"model:processor_config.json"},tensors:{weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",processor:"model:processor_config.json"},tensors:{weights:"model:model.safetensors"}}]},pk={schema_version:1,family:"sortformer_diar_v2",display_name:"Sortformer Diarization v2.1",description:"NVIDIA Sortformer v2.1 streaming speaker diarization model with four speaker channels, AOSC state, stable arrival-order speaker identities, and bounded-context offline and streaming execution. The model has no published language whitelist: it was trained primarily on English speech, includes non-English meeting data such as AISHELL-4 and AliMeeting, and may degrade on other languages. The checkpoint is governed by the NVIDIA Open Model License and is local-use only until redistribution approval.",category:"speech_analysis",status:"community",tasks:["diar"],modes:["offline","streaming"],languages:["multilingual"],capabilities:{diar:["speaker_turns"]},dependencies:[],options:{request:[{name:"speaker_threshold",type:"float",description:"Speaker activity threshold used for turn decoding; default 0.5.",required:!1,min:0,max:1,default:.5},{name:"speaker_min_frames",type:"int",description:"Minimum decoded turn duration in 80 ms model frames; default 0.",required:!1,min:0,default:0},{name:"speaker_pad_frames",type:"int",description:"Padding applied to decoded turns in model frames; default 0.",required:!1,min:0,default:0}],session:[{name:"graph_arena_mb",type:"int",description:"Inference graph arena size in MiB; default 1024.",required:!1,min:1,default:1024},{name:"weight_context_mb",type:"int",description:"Weight context size in MiB; default 1024.",required:!1,min:1,default:1024},{name:"geometry",type:"enum",description:"Streaming geometry preset; default uses the checkpoint geometry.",values:["model","streaming","very_high_latency","high_latency","low_latency"],required:!1,default:"model"},{name:"weight_type",type:"enum",description:"Default storage type for all model weights; default f32.",preset:"weight_type_full",required:!1,default:"f32"},{name:"matmul_weight_type",type:"enum",description:"Matmul weight storage type; defaults to weight_type.",preset:"weight_type_full",required:!1},{name:"conv_weight_type",type:"enum",description:"Convolution weight storage type; defaults to weight_type.",preset:"weight_type_conv",required:!1}],load:[]},runtime:{tags:["gguf","stream"]},ui:{recommended_package:"sortformer_diar_v2_1_f32_gguf_local",tags:["Diar","Stream","GGUF"],docs:["docs/community_models/sortformer_diar_v2.md","docs/speech_analysis.md","docs/gguf.md"]},package_defaults:{download:{kind:"unsupported",reason:"NVIDIA Open Model License checkpoint: convert or stage locally until redistribution approval is complete."}},packages:[{id:"sortformer_diar_v2_1_f32_local",display_name:"Sortformer Diar v2.1 F32 local package",format:"safetensors",precision:"f32",target_directory:"Sortformer-Diar-v2.1-local",files:["Sortformer-Diar-v2.1-local/config.json","Sortformer-Diar-v2.1-local/processor_config.json","Sortformer-Diar-v2.1-local/model.safetensors"],strip_prefix:"Sortformer-Diar-v2.1-local"},{id:"sortformer_diar_v2_1_f32_gguf_local",display_name:"Sortformer Diar v2.1 F32 GGUF local package",default:!0,format:"gguf",precision:"f32",target_directory:"Sortformer-Diar-v2.1-local",files:["Sortformer-Diar-v2.1-local/sortformer-v2.1-f32.gguf"],strip_prefix:"Sortformer-Diar-v2.1-local"},{id:"sortformer_diar_v2_1_f16_mixed_gguf_local",display_name:"Sortformer Diar v2.1 mixed F16/F32 GGUF local package",format:"gguf",precision:"f16",target_directory:"Sortformer-Diar-v2.1-local",files:["Sortformer-Diar-v2.1-local/sortformer-v2.1-f16-mixed.gguf"],strip_prefix:"Sortformer-Diar-v2.1-local"}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",processor:"model:processor_config.json"},tensors:{weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",processor:"model:processor_config.json"},tensors:{weights:"model:model.safetensors"}}]},mk={family:"stable_audio",display_name:"Stable Audio 3",description:"Stability AI generative audio model family for text-to-music, sound effects, audio-to-audio editing, inpainting, continuation, variable-length generation, and LoRA personalization.",category:"audio_generation",status:"supported",tasks:["music","sfx","edit"],modes:["offline"],languages:["en"],capabilities:{music:["lyrics"],sfx:["prompt_generation"],edit:["prompt_editing"]},runtime:{tags:["gguf"]},ui:{recommended_package:"stable_audio_3_medium_q8_0",tags:["Music","SFX","Edit","GGUF"],docs:["docs/models/stable_audio.md","docs/music_generation.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"stable_audio_3_medium_q8_0",display_name:"Stable Audio 3 Medium Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Stable-Audio-3-Medium-GGUF",files:["Stable-Audio-3-Medium-GGUF/stable-audio-3-medium-q8_0.gguf"],strip_prefix:"Stable-Audio-3-Medium-GGUF"},{id:"stable_audio_3_medium_f16",display_name:"Stable Audio 3 Medium F16 GGUF",format:"gguf",precision:"f16",target_directory:"Stable-Audio-3-Medium-GGUF",files:["Stable-Audio-3-Medium-GGUF/stable-audio-3-medium-f16.gguf"],strip_prefix:"Stable-Audio-3-Medium-GGUF"},{id:"stable_audio_3_small_music_q8_0",display_name:"Stable Audio 3 Small Music Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"Stable-Audio-3-Small-Music-GGUF",files:["Stable-Audio-3-Small-Music-GGUF/stable-audio-3-small-music-q8_0.gguf"],strip_prefix:"Stable-Audio-3-Small-Music-GGUF"},{id:"stable_audio_3_small_music_f16",display_name:"Stable Audio 3 Small Music F16 GGUF",format:"gguf",precision:"f16",target_directory:"Stable-Audio-3-Small-Music-GGUF",files:["Stable-Audio-3-Small-Music-GGUF/stable-audio-3-small-music-f16.gguf"],strip_prefix:"Stable-Audio-3-Small-Music-GGUF"},{id:"stable_audio_3_small_sfx_q8_0",display_name:"Stable Audio 3 Small SFX Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"Stable-Audio-3-Small-SFX-GGUF",files:["Stable-Audio-3-Small-SFX-GGUF/stable-audio-3-small-sfx-q8_0.gguf"],strip_prefix:"Stable-Audio-3-Small-SFX-GGUF"},{id:"stable_audio_3_small_sfx_f16",display_name:"Stable Audio 3 Small SFX F16 GGUF",format:"gguf",precision:"f16",target_directory:"Stable-Audio-3-Small-SFX-GGUF",files:["Stable-Audio-3-Small-SFX-GGUF/stable-audio-3-small-sfx-f16.gguf"],strip_prefix:"Stable-Audio-3-Small-SFX-GGUF"},{id:"stable_audio_3_medium_safetensors",display_name:"Stable Audio 3 Medium Safetensors",format:"safetensors",precision:"native",target_directory:"stable-audio-3-medium",files:["model_config.json","model.safetensors"],download:{kind:"huggingface_snapshot",repo:"stabilityai/stable-audio-3-medium",gated:!0}},{id:"stable_audio_3_small_music_safetensors",display_name:"Stable Audio 3 Small Music Safetensors",format:"safetensors",precision:"native",target_directory:"stable-audio-3-small-music",files:["model_config.json","model.safetensors"],download:{kind:"huggingface_snapshot",repo:"stabilityai/stable-audio-3-small-music",gated:!0}},{id:"stable_audio_3_small_sfx_safetensors",display_name:"Stable Audio 3 Small SFX Safetensors",format:"safetensors",precision:"native",target_directory:"stable-audio-3-small-sfx",files:["model_config.json","model.safetensors"],download:{kind:"huggingface_snapshot",repo:"stabilityai/stable-audio-3-small-sfx",gated:!0}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{model_config:"model:model_config.json",t5_config:"model:t5gemma-b-b-ul2/config.json",t5_tokenizer_json:"model:t5gemma-b-b-ul2/tokenizer.json",t5_tokenizer_model:"model:t5gemma-b-b-ul2/tokenizer.model",t5_tokenizer_config:"model:t5gemma-b-b-ul2/tokenizer_config.json"},tensors:{model_weights:{source:"weights:",prefix:"model_weights"},t5_weights:{source:"weights:",prefix:"t5_weights"}}},{format:"safetensors",roots:{model:".",t5:"t5gemma-b-b-ul2"},files:{model_config:"model:model_config.json",t5_config:"t5:config.json",t5_tokenizer_json:"t5:tokenizer.json",t5_tokenizer_model:"t5:tokenizer.model",t5_tokenizer_config:"t5:tokenizer_config.json"},tensors:{model_weights:"model:model.safetensors",t5_weights:"t5:model.safetensors"}},{format:"safetensors",roots:{model:".",t5:"../t5-base"},files:{model_config:"model:model_config.json",t5_config:"t5:config.json",t5_tokenizer_json:"t5:tokenizer.json",t5_tokenizer_model:"t5:spiece.model",t5_tokenizer_config:"t5:config.json"},tensors:{model_weights:"model:Foundation_1.safetensors",t5_weights:"t5:model.safetensors"}}]},gk={family:"supertonic",display_name:"Supertonic 3",description:"Supertone on-device TTS model designed for fast local speech synthesis across 31 languages, with preset voices and compact deployment for browser, mobile, and desktop applications.",category:"tts",status:"supported",tasks:["tts"],modes:["offline","streaming"],languages:["en","ko","ja","ar","bg","cs","da","de","el","es","et","fi","fr","hi","hr","hu","id","it","lt","lv","nl","pl","pt","ro","ru","sk","sl","sv","tr","uk","vi"],capabilities:{tts:["built_in_voices","long_form"]},runtime:{tags:["gguf","stream"]},ui:{recommended_package:"supertonic_3_orig",tags:["TTS","GGUF","Stream"],docs:["docs/tts.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"supertonic_3_q8_0",display_name:"Supertonic 3 Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"Supertonic-3-GGUF",files:["Supertonic-3-GGUF/supertonic-3-q8_0.gguf"],strip_prefix:"Supertonic-3-GGUF"},{id:"supertonic_3_f16",display_name:"Supertonic 3 F16 GGUF",format:"gguf",precision:"f16",target_directory:"Supertonic-3-GGUF",files:["Supertonic-3-GGUF/supertonic-3-f16.gguf"],strip_prefix:"Supertonic-3-GGUF"},{id:"supertonic_3_orig",display_name:"Supertonic 3 Original-Dtype GGUF",default:!0,format:"gguf",precision:"orig",target_directory:"Supertonic-3-GGUF",files:["Supertonic-3-GGUF/supertonic-3-orig.gguf"],strip_prefix:"Supertonic-3-GGUF"},{id:"supertonic_3_safetensors",display_name:"Supertonic 3 Safetensors",format:"safetensors",precision:"native",target_directory:"supertonic-3",files:["config/tts.json","config/unicode_indexer.json","ggml/supertonic.safetensors","voice_styles/F1.json","voice_styles/F2.json","voice_styles/F3.json","voice_styles/F4.json","voice_styles/F5.json","voice_styles/M1.json","voice_styles/M2.json","voice_styles/M3.json","voice_styles/M4.json","voice_styles/M5.json"],download:{kind:"huggingface_snapshot",repo:"mlx-community/supertonic-3-mlx"}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{tts_config:"model:config/tts.json",unicode_indexer:"model:config/unicode_indexer.json",voice_style_F1:"model:voice_styles/F1.json",voice_style_F2:"model:voice_styles/F2.json",voice_style_F3:"model:voice_styles/F3.json",voice_style_F4:"model:voice_styles/F4.json",voice_style_F5:"model:voice_styles/F5.json",voice_style_M1:"model:voice_styles/M1.json",voice_style_M2:"model:voice_styles/M2.json",voice_style_M3:"model:voice_styles/M3.json",voice_style_M4:"model:voice_styles/M4.json",voice_style_M5:"model:voice_styles/M5.json"},tensors:{weights:{source:"weights:",prefix:"weights"}}},{format:"safetensors",roots:{model:"."},files:{tts_config:"model:config/tts.json",unicode_indexer:"model:config/unicode_indexer.json",voice_style_F1:"model:voice_styles/F1.json",voice_style_F2:"model:voice_styles/F2.json",voice_style_F3:"model:voice_styles/F3.json",voice_style_F4:"model:voice_styles/F4.json",voice_style_F5:"model:voice_styles/F5.json",voice_style_M1:"model:voice_styles/M1.json",voice_style_M2:"model:voice_styles/M2.json",voice_style_M3:"model:voice_styles/M3.json",voice_style_M4:"model:voice_styles/M4.json",voice_style_M5:"model:voice_styles/M5.json"},tensors:{weights:"model:ggml/supertonic.safetensors"}}]},hk={schema_version:1,family:"universr",display_name:"UniverSR",description:"Complex-STFT flow-matching audio super-resolution to 48 kHz.",category:"audio_tools",status:"supported",tasks:["s2s"],modes:["offline"],languages:["language_agnostic"],capabilities:{s2s:["audio_enhancement"]},runtime:{tags:["gguf"]},options:{request:[{name:"audio_chunk_duration_sec",type:"float",description:"Independent audio segments concatenated after inference; zero processes the whole file. Chunking changes global normalization context.",min:0,default:0,required:!1},{name:"input_sample_rate",type:"int",description:"Effective input bandwidth sample rate: 8000, 12000, 16000, or 24000 Hz.",required:!1},{name:"sampler_mode",type:"enum",description:"Fixed-step ODE integration method.",values:["euler","midpoint","rk4"],default:"midpoint",required:!1},{name:"num_inference_steps",type:"int",description:"ODE integration steps.",min:1,default:4,required:!1},{name:"guidance_scale",type:"float",description:"Classifier-free guidance scale; zero disables guidance.",min:0,default:1.5,required:!1},{name:"seed",type:"int",description:"Initial flow noise seed.",min:0,default:42,required:!1}],session:[{name:"weight_type",type:"enum",description:"Weight storage type; native preserves the GGUF tensor types.",preset:"weight_type_full",required:!1,default:"native"}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"universr_audio_orig",display_name:"UniverSR Audio GGUF F32",default:!0,format:"gguf",precision:"f32",target_directory:"UniverSR-GGUF",files:["UniverSR-GGUF/universr-audio-orig.gguf"],strip_prefix:"UniverSR-GGUF"},{id:"universr_speech_orig",display_name:"UniverSR Speech GGUF F32",format:"gguf",precision:"f32",target_directory:"UniverSR-GGUF",files:["UniverSR-GGUF/universr-speech-orig.gguf"],strip_prefix:"UniverSR-GGUF"}],dependencies:[],ui:{tags:["GGUF"],docs:[],recommended_package:"universr_audio_orig"},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json"},tensors:{weights:{source:"weights:",prefix:"weights"},frontend:{source:"weights:",prefix:"frontend"}}}]},_k={family:"vevo2",display_name:"Vevo2",description:"Unified controllable framework for English and Chinese speech and singing voice generation, voice conversion, and editing, with tokenizers that disentangle content, prosody, melody, style, and timbre.",category:"voice_conversion",status:"supported",tasks:["tts","music","vc","edit","svc","s2s"],modes:["offline"],languages:["en","zh"],capabilities:{music:["lyrics"],vc:["speaker_reference"],svc:["speaker_reference","singing"],s2s:["speaker_reference"],edit:["prompt_editing"]},runtime:{tags:["gguf"]},ui:{recommended_package:"vevo2_q8_0",tags:["TTS","Music","VC","Edit","GGUF"],docs:["docs/models/vevo2.md","docs/tts.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"vevo2_q8_0",display_name:"Vevo2 Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Vevo2-GGUF",files:["Vevo2-GGUF/vevo2-q8_0.gguf"],strip_prefix:"Vevo2-GGUF"},{id:"vevo2_f16",display_name:"Vevo2 F16 GGUF",format:"gguf",precision:"f16",target_directory:"Vevo2-GGUF",files:["Vevo2-GGUF/vevo2-f16.gguf"],strip_prefix:"Vevo2-GGUF"},{id:"vevo2_orig",display_name:"Vevo2 Original-Dtype GGUF",format:"gguf",precision:"orig",target_directory:"Vevo2-GGUF",files:["Vevo2-GGUF/vevo2-orig.gguf"],strip_prefix:"Vevo2-GGUF"}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{ar_config:"model:contentstyle_modeling/posttrained/config.json",ar_amphion_config:"model:contentstyle_modeling/posttrained/amphion_config.json",ar_generation_config:"model:contentstyle_modeling/posttrained/generation_config.json",ar_tokenizer_config:"model:contentstyle_modeling/posttrained/tokenizer_config.json",ar_tokenizer_json:"model:contentstyle_modeling/posttrained/tokenizer.json",ar_vocab:"model:contentstyle_modeling/posttrained/vocab.json",ar_merges:"model:contentstyle_modeling/posttrained/merges.txt",ar_added_tokens:"model:contentstyle_modeling/posttrained/added_tokens.json",ar_special_tokens:"model:contentstyle_modeling/posttrained/special_tokens_map.json",fm_config:"model:acoustic_modeling/fm_emilia101k_singnet7k_repa/config.json",fm_text_config:"model:acoustic_modeling/fm_emilia101k_singnet7k_repa_text/config.json",vocoder_config:"model:vocoder/config.json",whisper_config:"model:whisper-medium/config.json"},tensors:{content_style_tokenizer_weights:{source:"weights:",prefix:"content_style_tokenizer_weights"},prosody_tokenizer_weights:{source:"weights:",prefix:"prosody_tokenizer_weights"},ar_weights:{source:"weights:",prefix:"ar_weights"},fm_weights:{source:"weights:",prefix:"fm_weights"},fm_whisper_stats:{source:"weights:",prefix:"fm_whisper_stats"},fm_text_weights:{source:"weights:",prefix:"fm_text_weights"},fm_text_whisper_stats:{source:"weights:",prefix:"fm_text_whisper_stats"},vocoder_weights_0:{source:"weights:",prefix:"vocoder_weights_0"},vocoder_weights_1:{source:"weights:",prefix:"vocoder_weights_1"},vocoder_weights_2:{source:"weights:",prefix:"vocoder_weights_2"},whisper_weights:{source:"weights:",prefix:"whisper_weights"}}},{format:"safetensors",roots:{model:".",whisper:"../whisper-medium"},files:{ar_config:"model:contentstyle_modeling/posttrained/config.json",ar_amphion_config:"model:contentstyle_modeling/posttrained/amphion_config.json",ar_generation_config:"model:contentstyle_modeling/posttrained/generation_config.json",ar_tokenizer_config:"model:contentstyle_modeling/posttrained/tokenizer_config.json",ar_tokenizer_json:"model:contentstyle_modeling/posttrained/tokenizer.json",ar_vocab:"model:contentstyle_modeling/posttrained/vocab.json",ar_merges:"model:contentstyle_modeling/posttrained/merges.txt",ar_added_tokens:"model:contentstyle_modeling/posttrained/added_tokens.json",ar_special_tokens:"model:contentstyle_modeling/posttrained/special_tokens_map.json",fm_config:"model:acoustic_modeling/fm_emilia101k_singnet7k_repa/config.json",fm_text_config:"model:acoustic_modeling/fm_emilia101k_singnet7k_repa_text/config.json",vocoder_config:"model:vocoder/config.json",whisper_config:"whisper:config.json"},tensors:{content_style_tokenizer_weights:"model:tokenizer/contentstyle_fvq16384_12.5hz/model.safetensors",prosody_tokenizer_weights:"model:tokenizer/prosody_fvq512_6.25hz/model.safetensors",ar_weights:"model:contentstyle_modeling/posttrained/model.safetensors",fm_weights:"model:acoustic_modeling/fm_emilia101k_singnet7k_repa/model.safetensors",fm_whisper_stats:"model:acoustic_modeling/fm_emilia101k_singnet7k_repa/whisper_stats.safetensors",fm_text_weights:"model:acoustic_modeling/fm_emilia101k_singnet7k_repa_text/model.safetensors",fm_text_whisper_stats:"model:acoustic_modeling/fm_emilia101k_singnet7k_repa_text/whisper_stats.safetensors",vocoder_weights_0:"model:vocoder/model.safetensors",vocoder_weights_1:"model:vocoder/model_1.safetensors",vocoder_weights_2:"model:vocoder/model_2.safetensors",whisper_weights:"whisper:model.safetensors"}}]},vk={schema_version:1,family:"vibeasr",display_name:"VibeVoice-ASR-BitNet",description:"VibeASR.cpp's CPU-first VibeVoice ASR port: an INT8 (I8_S) audio VAE encoder feeding a ternary (I2_S) Qwen2 decoder, ported to audio.cpp.",category:"asr",status:"community",tasks:["asr"],modes:["offline"],languages:["en","zh","fr","it","ko","pt","vi"],capabilities:{},options:{request:[{name:"output_format",type:"enum",description:"Prompt suffix asked of the decoder: plain transcription text, or JSON rows with Start/End/Speaker/Content.",values:["text","json"],required:!1,default:"text"},{name:"context",type:"string",description:"Extra context injected into the prompt (names, jargon) to bias the transcription.",required:!1,default:""},{name:"max_new_tokens",type:"int",description:"Cap on decoded tokens for one request.",required:!1,min:1,default:1024}],session:[{name:"encoder_graph_arena_mb",type:"int",description:"VAE encoder graph arena size in MB.",required:!1,min:16,default:64},{name:"prefill_graph_arena_mb",type:"int",description:"Decoder prefill graph arena size in MB.",required:!1,min:16,default:256},{name:"decode_graph_arena_mb",type:"int",description:"Decoder single-step graph arena size in MB.",required:!1,min:16,default:256}],load:[]},runtime:{tags:["gguf","cpu"]},packages:[{id:"vibeasr_bitnet_i2_s",display_name:"VibeVoice-ASR-BitNet I8_S encoder + I2_S decoder",description:"Upstream VibeASR.cpp GGUF package. The two GGUFs carry the VibeASR ggml fork's type ids and need one pass of tools/community_models/convert_vibeasr_gguf.py --in-place before audio.cpp can load them.",default:!0,format:"gguf",precision:"native",target_directory:"VibeVoice-ASR-BitNet",files:["vibeasr-vae-encoder-i8_s.gguf","vibeasr-lm-i2_s-embed-q6_k.gguf","tokenizer.json","tokenizer_config.json"],download:{kind:"huggingface_snapshot",repo:"microsoft/VibeVoice-ASR-BitNet",revision:"main",gated:!1}}],dependencies:[],ui:{recommended_package:"vibeasr_bitnet_i2_s",tags:["ASR","GGUF"],docs:["docs/community_models/vibeasr.md"],summary:"INT8 encoder plus ternary Qwen2 decoder transcription on CPU."},sources:[{format:"gguf",roots:{model:"."},files:{tokenizer_json:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json"},optional_files:{},tensors:{vae_weights:"model:vibeasr-vae-encoder-i8_s.gguf",lm_weights:"model:vibeasr-lm-i2_s-embed-q6_k.gguf"}}]},bk={family:"vibevoice",display_name:"VibeVoice",description:"Microsoft long-form multi-speaker TTS model for expressive conversational audio such as podcasts, supporting up to 90 minutes of speech with as many as four speakers.",category:"tts",status:"supported",tasks:["tts"],modes:["offline"],languages:["en","zh"],capabilities:{tts:["multi_speaker","long_form"]},runtime:{tags:["gguf"]},ui:{recommended_package:"vibevoice_1_5b_q8_0",tags:["TTS","GGUF"],docs:["docs/tts.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"vibevoice_1_5b_q8_0",display_name:"VibeVoice 1.5B Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"VibeVoice-1.5B-GGUF",files:["VibeVoice-1.5B-GGUF/vibevoice-1.5b-q8_0.gguf"],strip_prefix:"VibeVoice-1.5B-GGUF"},{id:"vibevoice_1_5b_bf16",display_name:"VibeVoice 1.5B BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"VibeVoice-1.5B-GGUF",files:["VibeVoice-1.5B-GGUF/vibevoice-1.5b-bf16.gguf"],strip_prefix:"VibeVoice-1.5B-GGUF"},{id:"vibevoice_7b_q8_0",display_name:"VibeVoice 7B Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"VibeVoice-7B-GGUF",files:["vibevoice-7b-q8_0.gguf"],download:{kind:"huggingface_snapshot",repo:"audio-cpp/VibeVoice-7B-GGUF",revision:"main",gated:!1}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",preprocessor_config:"model:preprocessor_config.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_json:"model:tokenizer.json",tokenizer_vocab:"model:vocab.json",tokenizer_merges:"model:merges.txt"},tensors:{model_weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",preprocessor_config:"model:preprocessor_config.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_json:"model:tokenizer.json",tokenizer_vocab:"model:vocab.json",tokenizer_merges:"model:merges.txt"},tensors:{model_weights:"model:model.safetensors.index.json"}}]},yk={family:"vibevoice_asr",display_name:"VibeVoice ASR",description:"Microsoft long-form speech-to-text model that processes up to 60 minutes of audio in one pass and produces structured transcripts with speakers, timestamps, content, hotwords, and 50+ language support.",category:"asr",status:"supported",tasks:["asr"],modes:["offline"],languages:["auto","51 languages"],capabilities:{asr:["segments","speaker_turns","vad_chunking"]},runtime:{tags:["gguf"]},ui:{recommended_package:"vibevoice_asr_q8_0",tags:["ASR","GGUF"],docs:["docs/asr.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"vibevoice_asr_q8_0",display_name:"VibeVoice ASR Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"VibeVoice-ASR-GGUF",files:["VibeVoice-ASR-GGUF/vibevoice-asr-q8_0.gguf"],strip_prefix:"VibeVoice-ASR-GGUF"},{id:"vibevoice_asr_f16",display_name:"VibeVoice ASR F16 GGUF",format:"gguf",precision:"f16",target_directory:"VibeVoice-ASR-GGUF",files:["VibeVoice-ASR-GGUF/vibevoice-asr-f16.gguf"],strip_prefix:"VibeVoice-ASR-GGUF"}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_json:"model:tokenizer.json",tokenizer_vocab:"model:vocab.json",tokenizer_merges:"model:merges.txt"},optional_files:{preprocessor_config:"model:preprocessor_config.json"},tensors:{model_weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_json:"model:tokenizer.json",tokenizer_vocab:"model:vocab.json",tokenizer_merges:"model:merges.txt"},optional_files:{preprocessor_config:"model:preprocessor_config.json"},tensors:{model_weights:"model:model.safetensors.index.json"}}]},kk={family:"vibevoice_asr_streaming",display_name:"VibeVoice ASR Streaming",description:"Microsoft VibeVoice ASR Streaming models (7B and 1.5B) for chunked streaming speech-to-text with persistent decoder state.",category:"asr",status:"supported",tasks:["asr"],modes:["offline","streaming"],languages:["en","zh","es","pt","de","ja","ko","fr","ru","it"],capabilities:{asr:["speaker_turns","vad_chunking"]},options:{request:[{name:"language",type:"string",description:"ASR language label.",required:!1,default:"auto"},{name:"context",type:"string",description:"Extra context or hotwords injected into the streaming prompt.",required:!1,default:""},{name:"max_tokens",type:"int",description:"Maximum generated transcript tokens per chunk.",required:!1,min:1,default:256},{name:"temperature",type:"float",description:"Sampling temperature; 0 uses deterministic decoding.",required:!1,min:0,default:0},{name:"top_p",type:"float",description:"Nucleus sampling probability.",required:!1,min:.001,max:1,default:1},{name:"top_k",type:"int",description:"Top-k sampling limit; 0 disables top-k filtering.",required:!1,min:0,default:0},{name:"num_beams",type:"int",description:"Beam count for deterministic beam search.",required:!1,min:1,default:1},{name:"repetition_penalty",type:"float",description:"Generation repetition penalty.",required:!1,min:.001,default:1},{name:"seed",type:"int",description:"Acoustic latent sampling seed.",required:!1,default:42},{name:"audio_chunk_mode",type:"enum",description:"Offline audio chunking mode: auto, fixed, vad, or none.",values:["auto","fixed","vad","none"],required:!1,default:"auto"},{name:"audio_chunk_duration_sec",type:"float",description:"Audio chunk duration in seconds for fixed and VAD chunking.",required:!1,min:.001,default:1200}]},runtime:{tags:["gguf"]},ui:{recommended_package:"vibevoice_asr_streaming_7b_q8_0",tags:["ASR","Streaming","GGUF"],docs:["docs/asr.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/VibeVoice-ASR-Streaming-7B-GGUF",revision:"main",gated:!1}},packages:[{id:"vibevoice_asr_streaming_7b_q8_0",display_name:"VibeVoice ASR Streaming 7B Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"VibeVoice-ASR-Streaming-7B-GGUF",files:["vibevoice-asr-streaming-7b-q8_0.gguf"]},{id:"vibevoice_asr_streaming_7b_bf16",display_name:"VibeVoice ASR Streaming 7B BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"VibeVoice-ASR-Streaming-7B-GGUF",files:["vibevoice-asr-streaming-7b-bf16.gguf"]},{id:"vibevoice_asr_streaming_7b_q4_k",display_name:"VibeVoice ASR Streaming 7B Q4_K GGUF",format:"gguf",precision:"q4_k",target_directory:"VibeVoice-ASR-Streaming-7B-GGUF",files:["vibevoice-asr-streaming-7b-q4_k.gguf"]},{id:"vibevoice_asr_streaming_1_5b_q8_0",display_name:"VibeVoice ASR Streaming 1.5B Q8_0 GGUF",format:"gguf",precision:"q8_0",target_directory:"VibeVoice-ASR-Streaming-1.5B-GGUF",files:["vibevoice-asr-streaming-1.5b-q8_0.gguf"],download:{kind:"huggingface_snapshot",repo:"christopherthompson81/VibeVoice-ASR-Streaming-1.5B-GGUF",revision:"main",gated:!1}},{id:"vibevoice_asr_streaming_1_5b_bf16",display_name:"VibeVoice ASR Streaming 1.5B BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"VibeVoice-ASR-Streaming-1.5B-GGUF",files:["vibevoice-asr-streaming-1.5b-bf16.gguf"],download:{kind:"huggingface_snapshot",repo:"christopherthompson81/VibeVoice-ASR-Streaming-1.5B-GGUF",revision:"main",gated:!1}},{id:"vibevoice_asr_streaming_1_5b_q4_k",display_name:"VibeVoice ASR Streaming 1.5B Q4_K GGUF",format:"gguf",precision:"q4_k",target_directory:"VibeVoice-ASR-Streaming-1.5B-GGUF",files:["vibevoice-asr-streaming-1.5b-q4_k.gguf"],download:{kind:"huggingface_snapshot",repo:"christopherthompson81/VibeVoice-ASR-Streaming-1.5B-GGUF",revision:"main",gated:!1}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_json:"model:tokenizer.json",tokenizer_vocab:"model:vocab.json",tokenizer_merges:"model:merges.txt"},optional_files:{preprocessor_config:"model:preprocessor_config.json"},tensors:{model_weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_json:"model:tokenizer.json",tokenizer_vocab:"model:vocab.json",tokenizer_merges:"model:merges.txt"},optional_files:{preprocessor_config:"model:preprocessor_config.json"},tensors:{model_weights:"model:model.safetensors.index.json"}}]},wk={family:"vietneu_tts",display_name:"VieNeu-TTS v3 Turbo",description:"On-device Vietnamese TTS model with instant voice cloning from 3-5 seconds of reference audio, English-Vietnamese code-switching, streaming playback, batched generation, and conversation mode.",category:"tts",status:"community",tasks:["tts","clone"],modes:["offline"],languages:["vi","en"],capabilities:{clone:["speaker_reference"]},runtime:{tags:["gguf"]},ui:{recommended_package:"vietneu_tts_v3_turbo_q8_0",tags:["TTS","Clone","GGUF"],docs:["docs/community_models/vietneu_tts.md","docs/tts.md","docs/gguf.md"]},packages:[{id:"vietneu_tts_v3_turbo_q8_0",display_name:"VieNeu-TTS v3 Turbo GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"VieNeu-TTS-v3-Turbo-GGUF",files:["model.gguf"],strip_prefix:".",download:{kind:"huggingface_snapshot",repo:"phuocnguyen90/VieNeu-TTS-v3-Turbo-GGUF"}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_config:"model:tokenizer_config.json",speech_tokenizer_config:"model:speech_tokenizer/config.json"},optional_files:{generation_config:"model:generation_config.json",vocab:"model:vocab.json",merges:"model:merges.txt",tokenizer_json:"model:tokenizer.json",special_tokens_map:"model:special_tokens_map.json"},tensors:{model_weights:{source:"weights:",prefix:"model_weights"},speech_tokenizer_weights:{source:"weights:",prefix:"speech_tokenizer_weights"}}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",tokenizer_config:"model:tokenizer_config.json",speech_tokenizer_config:"model:speech_tokenizer/config.json"},optional_files:{generation_config:"model:generation_config.json",vocab:"model:vocab.json",merges:"model:merges.txt",tokenizer_json:"model:tokenizer.json",special_tokens_map:"model:special_tokens_map.json"},tensors:{model_weights:"model:model.safetensors",speech_tokenizer_weights:"model:speech_tokenizer/model.safetensors"}}]},xk={schema_version:1,family:"voxcpm1",display_name:"VoxCPM1",description:"OpenBMB VoxCPM 0.5B tokenizer-free TTS model supporting short-reference voice cloning and streaming output (16kHz).",category:"tts",status:"supported",tasks:["tts","clone"],modes:["offline","streaming"],languages:["zh","en","ja","ko"],capabilities:{clone:["speaker_reference"]},dependencies:[],options:{request:[{name:"text_chunk_mode",type:"enum",description:"Text chunking mode; default tag_aware.",preset:"text_chunk_mode_full",required:!1,default:"tag_aware"},{name:"seed",type:"int",description:"Random seed for MiniCPM and diffusion sampling.",required:!1},{name:"max_tokens",type:"int",description:"Maximum MiniCPM output tokens.",required:!1,default:1024},{name:"min_tokens",type:"int",description:"Minimum MiniCPM output tokens before an EOS stop is honored.",required:!1,default:0},{name:"num_inference_steps",type:"int",description:"CFM diffusion sampling steps.",required:!1,default:50},{name:"guidance_scale",type:"float",description:"CFM classifier-free guidance rate.",required:!1,default:2},{name:"retry_badcase",type:"bool",description:"Retry the request when generation is detected as a bad case.",required:!1,default:!0},{name:"retry_badcase_max_times",type:"int",description:"Maximum bad-case retry count.",required:!1,default:2},{name:"retry_badcase_ratio_threshold",type:"float",description:"Bad-case ratio threshold for retry decisions.",required:!1},{name:"prompt_text",type:"string",description:"Text prompt for prompt-continuation voice cloning.",required:!1},{name:"reference_text",type:"string",description:"Alias for prompt_text; text prompt for prompt-continuation voice cloning.",required:!1}],session:[{name:"mem_saver",type:"bool",description:"Use tighter graph workspaces and release request runtime graphs; default false.",required:!1,default:!1},{name:"prompt_cache_slots",type:"int",description:"Prompt and prompt-audio embedding cache slots; default 1.",required:!1,default:1},{name:"weight_type",type:"enum",description:"Model weight storage type.",preset:"weight_type_full",required:!1,default:"native"},{name:"audiovae_weight_type",type:"enum",description:"AudioVAE weight storage type.",preset:"weight_type_full",required:!1,default:"native"},{name:"weight_context_mb",type:"int",description:"Model weight graph context size in MB.",required:!1},{name:"text_embedding_graph_context_mb",type:"int",description:"Text embedding graph context size in MB.",required:!1},{name:"lm_step_graph_context_mb",type:"int",description:"LM step graph context size in MB.",required:!1},{name:"projection_graph_context_mb",type:"int",description:"Projection graph context size in MB.",required:!1},{name:"local_encoder_graph_context_mb",type:"int",description:"Local encoder graph context size in MB.",required:!1},{name:"dit_graph_context_mb",type:"int",description:"DiT estimator graph context size in MB.",required:!1},{name:"audiovae_weight_context_mb",type:"int",description:"AudioVAE weight graph context size in MB.",required:!1},{name:"audiovae_graph_context_mb",type:"int",description:"AudioVAE decoder graph context size in MB.",required:!1},{name:"audiovae_encoder_graph_context_mb",type:"int",description:"AudioVAE encoder graph context size in MB.",required:!1},{name:"audiovae_latent_capacity",type:"int",description:"AudioVAE decoder latent frame capacity.",required:!1},{name:"audiovae_encoder_sample_capacity",type:"int",description:"AudioVAE encoder sample capacity.",required:!1}],load:[{name:"weight_type",type:"enum",description:"Model weight storage type selected at load time.",preset:"weight_type_full",required:!1,default:"native"},{name:"audiovae_weight_type",type:"enum",description:"AudioVAE weight storage type selected at load time.",preset:"weight_type_full",required:!1,default:"native"}]},runtime:{tags:["gguf","stream"]},ui:{recommended_package:"voxcpm1_0_5b_q8_0",tags:["TTS","Clone","GGUF","Stream"],docs:["docs/tts.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"voxcpm1_0_5b_q8_0",display_name:"VoxCPM 0.5B Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"VoxCPM1-GGUF",files:["VoxCPM1-GGUF/voxcpm-0.5b-q8_0-audiovae-f16.gguf"],strip_prefix:"VoxCPM1-GGUF"}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_json:"model:tokenizer.json",tokenizer_config:"model:tokenizer_config.json"},optional_files:{special_tokens_map:"model:special_tokens_map.json"},tensors:{weights:{source:"weights:"},audiovae_weights:{source:"weights:"}}}]},Sk={family:"voxcpm2",display_name:"VoxCPM2",description:"OpenBMB tokenizer-free TTS model supporting 30 languages and 9 Chinese dialects, with 48 kHz output, natural-language voice design, controllable short-reference voice cloning, and expressive style guidance.",category:"tts",status:"supported",tasks:["tts","clone","design"],modes:["offline","streaming"],languages:["ar","my","zh","zh dialects","da","nl","en","fi","fr","de","el","he","hi","id","it","ja","km","ko","lo","ms","no","pl","pt","ru","es","sw","sv","tl","th","tr","vi"],capabilities:{clone:["speaker_reference"],design:["voice_design"]},runtime:{tags:["gguf","stream"]},ui:{recommended_package:"voxcpm2_q8_0",tags:["TTS","Clone","Design","GGUF","Stream"],docs:["docs/tts.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"voxcpm2_q8_0",display_name:"VoxCPM2 Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"VoxCPM2-GGUF",files:["VoxCPM2-GGUF/voxcpm2-q8_0.gguf"],strip_prefix:"VoxCPM2-GGUF"},{id:"voxcpm2_bf16",display_name:"VoxCPM2 BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"VoxCPM2-GGUF",files:["VoxCPM2-GGUF/voxcpm2-bf16.gguf"],strip_prefix:"VoxCPM2-GGUF"},{id:"voxcpm2_orig",display_name:"VoxCPM2 Original-Dtype GGUF",format:"gguf",precision:"orig",target_directory:"VoxCPM2-GGUF",files:["VoxCPM2-GGUF/voxcpm2-orig.gguf"],strip_prefix:"VoxCPM2-GGUF"},{id:"voxcpm2_safetensors",display_name:"VoxCPM2 Safetensors",format:"safetensors",precision:"native",target_directory:"VoxCPM2",files:["config.json","model.safetensors","tokenizer.json","tokenizer_config.json"],download:{kind:"huggingface_snapshot",repo:"OpenBMB/VoxCPM2"}}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_json:"model:tokenizer.json",special_tokens_map:"model:special_tokens_map.json"},tensors:{weights:{source:"weights:",prefix:"weights"},audiovae_weights:{source:"weights:",prefix:"audiovae_weights"}}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",tokenizer_config:"model:tokenizer_config.json",tokenizer_json:"model:tokenizer.json",special_tokens_map:"model:special_tokens_map.json"},tensors:{weights:"model:model.safetensors",audiovae_weights:"model:audiovae.safetensors"}}]},$k={family:"voxtral_realtime",display_name:"Voxtral Mini 4B Realtime",description:"Mistral 13-language realtime ASR model with a natively streaming causal audio encoder, configurable low-latency transcription delay, and accuracy competitive with offline open-source systems.",category:"asr",status:"supported",tasks:["asr"],modes:["offline","streaming"],languages:["en","zh","hi","es","ar","fr","pt","ru","de","ja","ko","it","nl"],capabilities:{asr:["partial_results"]},runtime:{tags:["gguf","stream"]},ui:{recommended_package:"voxtral_realtime_q8_0",tags:["ASR","GGUF","Stream"],docs:["docs/models/voxtral_realtime.md","docs/asr.md","docs/gguf.md"]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/audio.cpp-gguf",revision:"main",gated:!1}},packages:[{id:"voxtral_realtime_q8_0",display_name:"Voxtral Mini 4B Realtime Q8_0 GGUF",default:!0,format:"gguf",precision:"q8_0",target_directory:"Voxtral-Mini-4B-Realtime-2602-GGUF",files:["Voxtral-Mini-4B-Realtime-2602-GGUF/voxtral-mini-4b-realtime-2602-q8_0.gguf"],strip_prefix:"Voxtral-Mini-4B-Realtime-2602-GGUF"},{id:"voxtral_realtime_q4_k",display_name:"Voxtral Mini 4B Realtime Q4_K GGUF",format:"gguf",precision:"q4_k",target_directory:"Voxtral-Mini-4B-Realtime-2602-GGUF",files:["Voxtral-Mini-4B-Realtime-2602-GGUF/voxtral-mini-4b-realtime-2602-q4_k.gguf"],strip_prefix:"Voxtral-Mini-4B-Realtime-2602-GGUF"},{id:"voxtral_realtime_bf16",display_name:"Voxtral Mini 4B Realtime BF16 GGUF",format:"gguf",precision:"bf16",target_directory:"Voxtral-Mini-4B-Realtime-2602-GGUF",files:["Voxtral-Mini-4B-Realtime-2602-GGUF/voxtral-mini-4b-realtime-2602-bf16.gguf"],strip_prefix:"Voxtral-Mini-4B-Realtime-2602-GGUF"}],sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{config:"model:config.json",generation_config:"model:generation_config.json",processor_config:"model:processor_config.json",tekken:"model:tekken.json"},optional_files:{params:"model:params.json",readme:"model:README.md"},tensors:{weights:"weights:"}},{format:"safetensors",roots:{model:"."},files:{config:"model:config.json",generation_config:"model:generation_config.json",processor_config:"model:processor_config.json",tekken:"model:tekken.json"},optional_files:{params:"model:params.json",readme:"model:README.md"},tensors:{weights:"model:model.safetensors"}}]},Tk={schema_version:1,family:"yue2",display_name:"YuE2",description:"YuE2 music generation model with symbolic ABC planning, semantic codec generation, NAR acoustic flow synthesis, and Oobleck VAE decode.",category:"audio_generation",status:"supported",tasks:["music"],modes:["offline"],languages:["en"],capabilities:{music:["lyrics","style_control"]},runtime:{tags:["gguf"]},dependencies:[],ui:{recommended_package:"yue2_main_q8_0",tags:["Music","GGUF"],docs:["docs/models/yue2.md","docs/music_generation.md","docs/gguf.md"]},options:{request:[{name:"style",type:"string",description:"Song style/tags.",required:!0},{name:"lyrics",type:"string",description:"Lyrics text. If omitted, the CLI text input is used.",required:!0},{name:"cot",type:"enum",values:["off","melody","full"],description:"Symbolic planning route. off skips ABC generation; melody/full generate or consume ABC before music tokens.",required:!1,default:"full"},{name:"abc",type:"string",description:"External ABC score text for melody/full routes.",required:!1},{name:"abc_file",type:"string",description:"Path to an external ABC score file for melody/full routes.",required:!1},{name:"nar_noise_file",type:"string",description:"Path to a raw float32 noise file for NAR generation, shaped [frames,64].",required:!1},{name:"guidance_scale",type:"float",description:"Semantic classifier-free guidance scale. Default follows the upstream route defaults.",required:!1,min:0,max:20},{name:"seed",type:"int",description:"Generation seed.",required:!1,min:0,default:1234},{name:"num_inference_steps",type:"int",description:"NAR midpoint ODE steps.",required:!1,min:1,default:8},{name:"abc_temperature",type:"float",description:"ABC planner sampling temperature.",required:!1,min:0,max:5},{name:"abc_top_p",type:"float",description:"ABC planner nucleus sampling probability.",required:!1,min:0,max:1},{name:"abc_top_k",type:"int",description:"ABC planner top-k sampling limit.",required:!1,min:1},{name:"abc_repetition_penalty",type:"float",description:"ABC planner repetition penalty.",required:!1,min:.001},{name:"abc_penalty_window",type:"int",description:"ABC planner repetition penalty window.",required:!1,min:1},{name:"abc_min_tokens",type:"int",description:"Minimum ABC planner tokens before EOS is accepted.",required:!1,min:0},{name:"abc_max_tokens",type:"int",description:"Maximum ABC planner tokens.",required:!1,min:1},{name:"semantic_temperature",type:"float",description:"Semantic codec sampling temperature.",required:!1,min:0,max:5},{name:"semantic_top_p",type:"float",description:"Semantic codec nucleus sampling probability.",required:!1,min:0,max:1},{name:"semantic_top_k",type:"int",description:"Semantic codec top-k sampling limit.",required:!1,min:1},{name:"semantic_repetition_penalty",type:"float",description:"Semantic codec repetition penalty.",required:!1,min:.001},{name:"semantic_penalty_window",type:"int",description:"Semantic codec repetition penalty window.",required:!1,min:1},{name:"semantic_min_tokens",type:"int",description:"Minimum semantic tokens before EOS is accepted.",required:!1,min:0},{name:"semantic_max_tokens",type:"int",description:"Maximum semantic codec tokens.",required:!1,min:1}],session:[{name:"ar_lora",type:"string",description:"Unfused AR LoRA safetensors file. Absolute path or relative to the model root. Requires session reload.",required:!1},{name:"ar_lora_scale",type:"float",description:"AR LoRA delta scale; zero disables the adapter. Requires session reload.",required:!1,default:1},{name:"nar_lora",type:"string",description:"Unfused NAR adapter safetensors file. Absolute path or relative to the model root. Requires session reload.",required:!1},{name:"nar_lora_scale",type:"float",description:"NAR LoRA delta scale; full vae2llm/llm2vae replacements are unscaled. Zero disables the entire adapter. Requires session reload.",required:!1,default:1},{name:"weight_type",type:"enum",values:["native","f32","f16","bf16","q8_0","q4_0","q4_k"],description:"Shared weight storage type.",required:!1,default:"native"},{name:"model_weight_type",type:"enum",values:["native","f32","f16","bf16","q8_0","q4_0","q4_k"],description:"YuE2 MoT weight storage type.",required:!1,default:"native"},{name:"model_gguf",type:"string",description:"Yue2 main AR/NAR component GGUF file relative to the model root.",required:!1,default:"yue2-3b-q8_0.gguf"},{name:"vae_gguf",type:"string",description:"Yue2 VAE component GGUF file relative to the model root.",required:!1,default:"yue2-vae-f16.gguf"},{name:"vae_weight_type",type:"enum",values:["native","f32","f16","bf16","q8_0","q4_0","q4_k"],description:"YuE2 VAE weight storage type.",required:!1,default:"native"},{name:"model_weight_context_mb",type:"int",description:"YuE2 MoT weight context size in MiB.",required:!1,min:1,default:6144},{name:"vae_weight_context_mb",type:"int",description:"YuE2 VAE weight context size in MiB.",required:!1,min:1,default:1536},{name:"ar_prefill_graph_arena_mb",type:"int",description:"AR prefill graph arena size in MiB.",required:!1,min:1,default:4096},{name:"ar_decode_graph_arena_mb",type:"int",description:"AR one-token decode graph arena size in MiB.",required:!1,min:1,default:1536},{name:"nar_graph_arena_mb",type:"int",description:"NAR acoustic flow graph arena size in MiB.",required:!1,min:1,default:6144},{name:"vae_graph_arena_mb",type:"int",description:"VAE decode graph arena size in MiB.",required:!1,min:1,default:1536}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"audio-cpp/Yue2-3B-GGUF",revision:"main",gated:!1}},packages:[{id:"yue2_main_q8_0",display_name:"Yue2 3B Main Q8_0",default:!0,format:"gguf",precision:"q8_0",target_directory:"Yue2-3B-GGUF",files:["sidecars/yue2-model-config.json","sidecars/yue2-generation-config.json","sidecars/yue2-qwen.tiktoken","sidecars/yue2-vae-config.json","yue2-3b-q8_0.gguf"]},{id:"yue2_main_bf16",display_name:"Yue2 3B Main BF16",format:"gguf",precision:"bf16",target_directory:"Yue2-3B-GGUF",files:["sidecars/yue2-model-config.json","sidecars/yue2-generation-config.json","sidecars/yue2-qwen.tiktoken","sidecars/yue2-vae-config.json","yue2-3b-bf16.gguf"]},{id:"yue2_main_q4_0",display_name:"Yue2 3B Main Q4_0",format:"gguf",precision:"q4_0",target_directory:"Yue2-3B-GGUF",files:["sidecars/yue2-model-config.json","sidecars/yue2-generation-config.json","sidecars/yue2-qwen.tiktoken","sidecars/yue2-vae-config.json","yue2-3b-q4_0.gguf"]},{id:"yue2_vae_f16",display_name:"Yue2 VAE F16",format:"gguf",precision:"f16",target_directory:"Yue2-3B-GGUF",files:["sidecars/yue2-model-config.json","sidecars/yue2-generation-config.json","sidecars/yue2-qwen.tiktoken","sidecars/yue2-vae-config.json","yue2-vae-f16.gguf"]},{id:"yue2_vae_f32",display_name:"Yue2 VAE F32",format:"gguf",precision:"f32",target_directory:"Yue2-3B-GGUF",files:["sidecars/yue2-model-config.json","sidecars/yue2-generation-config.json","sidecars/yue2-qwen.tiktoken","sidecars/yue2-vae-config.json","yue2-vae-f32.gguf"]}],sources:[{format:"gguf",roots:{model:"."},files:{model_config:"model:sidecars/yue2-model-config.json",generation_config:"model:sidecars/yue2-generation-config.json",tiktoken:"model:sidecars/yue2-qwen.tiktoken",vae_config:"model:sidecars/yue2-vae-config.json"}},{format:"safetensors",roots:{model:"YuE2-3B",vae:"YuE2-Vae"},files:{model_config:"model:config.json",generation_config:"model:yue2_generation_config.json",tiktoken:"model:qwen.tiktoken",vae_config:"vae:config.json"},tensors:{model_weights:"model:model.safetensors",vae_weights:"vae:model.safetensors"}}]},qk={schema_version:1,family:"zipvoice",display_name:"ZipVoice",description:"Community ZipVoice / ZipVoice-Distill flow-matching TTS with a TTSZipformer backbone (U-Net downsampling stacks, compact relative position attention), duration prediction from prompt ratio, Euler solver with t-shift and classifier-free guidance, and Vocos mel-24kHz vocoder (k2-fsa/ZipVoice).",category:"tts",status:"community",tasks:["tts","clone"],modes:["offline"],languages:["en","zh"],runtime:{tags:["server"]},capabilities:{clone:["speaker_reference"]},options:{request:[{name:"reference_text",type:"string",description:"Transcript matching the reference voice audio; required for zero-shot cloning.",required:!0},{name:"guidance_scale",type:"float",description:"Classifier-free guidance scale; default 3.0 for ZipVoice-Distill (guidance-scale embedding), 1.0 for ZipVoice (batched CFG). 0 disables guidance.",required:!1,min:0,max:10,default:3},{name:"num_inference_steps",type:"int",description:"Euler ODE steps; default 8 for ZipVoice-Distill, 16 for ZipVoice.",required:!1,min:1,max:64,default:8},{name:"t_shift",type:"float",description:"Shift timesteps toward low SNR (smaller = stronger shift); default 0.5.",required:!1,min:.05,max:1,default:.5},{name:"speed",type:"float",description:"Speech speed multiplier applied through the prompt-duration ratio; default 1.0.",required:!1,min:.5,max:2,default:1},{name:"feat_scale",type:"float",description:"Feature scale applied to log-mel features; default 0.1 (reference default).",required:!1,min:.01,max:1,default:.1},{name:"target_rms",type:"float",description:"Target RMS for prompt loudness normalization; 0 disables. Default 0.1.",required:!1,min:0,max:1,default:.1},{name:"seed",type:"int",description:"Noise seed; default 666 (reference default).",required:!1,min:0,default:666},{name:"lang",type:"string",description:"espeak language for phonemization; default en-us.",required:!1,default:"en-us"}],session:[{name:"vocos_path",type:"string",description:"Path to the Vocos vocoder checkpoint (vocos.safetensors or GGUF); required unless bundled in the model GGUF or placed next to the checkpoint.",required:!1},{name:"guidance_scale",type:"float",description:"Default guidance scale for requests that do not set it.",required:!1,min:0,max:10,default:3},{name:"num_inference_steps",type:"int",description:"Default Euler steps for requests that do not set it.",required:!1,min:1,max:64,default:8},{name:"t_shift",type:"float",description:"Default timestep shift for requests that do not set it.",required:!1,min:.05,max:1,default:.5},{name:"espeak_library_path",type:"string",description:"Path to the espeak-ng shared library (e.g. /opt/homebrew/lib/libespeak-ng.dylib) for tokenizer=espeak.",required:!1},{name:"espeak_data_path",type:"string",description:"Path to the espeak-ng data directory or package for tokenizer=espeak.",required:!1}],load:[]},package_defaults:{download:{kind:"huggingface_snapshot",repo:"davidxifeng/zipvoice-gguf",revision:"main",gated:!1}},packages:[{id:"zipvoice_distill_gguf",display_name:"ZipVoice-Distill GGUF (local conversion)",description:"Self-contained GGUF: flow-matching model, bundled Vocos vocoder and the embedded text-frontend sidecars (tokens, config, zh tables) in one file. Converted from k2-fsa/ZipVoice with export_zipvoice_zh_dict.py + convert_zipvoice.py.",default:!0,format:"gguf",precision:"orig",target_directory:"ZipVoice-Distill-GGUF",files:["zipvoice-distill-orig.gguf"]},{id:"zipvoice_distill_q8_0",display_name:"ZipVoice-Distill GGUF (Q8_0)",description:"Self-contained Q8_0 GGUF with bundled Vocos and embedded text-frontend sidecars.",format:"gguf",precision:"q8_0",target_directory:"ZipVoice-Distill-GGUF",files:["zipvoice-distill-q8_0.gguf"]}],dependencies:[],ui:{recommended_package:"zipvoice_distill_gguf",tags:["TTS","Clone"],docs:["docs/community_models/zipvoice.md"]},sources:[{format:"gguf",roots:{model:".",weights:"$gguf"},files:{tokens:"model:tokens.txt",model_config:"model:model.json"},optional_files:{zh_chars:"model:zh_chars.tsv",zh_phrases:"model:zh_phrases.tsv",zh_syllables:"model:zh_syllables.tsv",zh_jieba_dict:"model:zh_jieba_dict.txt",zh_hmm_model:"model:zh_hmm_model.txt"},tensors:{model:{source:"weights:",prefix:"model"}},optional_tensors:{vocos_vocoder:{source:"weights:",prefix:"vocos"}}}]},Gk={models:JSON.parse('[{"id":"omnivoice","display_name":"OmniVoice (tts)","family":"omnivoice","path":"models/OmniVoice","task":"tts","mode":"offline","download_id":"omnivoice","min_vram_gb":10},{"id":"pocket-tts","display_name":"Pocket TTS (tts)","family":"pocket_tts","path":"models/pocket-tts","task":"tts","mode":"offline","download_id":"pocket_tts","min_vram_gb":2},{"id":"dots-tts-soar","display_name":"DotTTS SOAR (tts + clone)","family":"dots_tts","path":"models/DotTTS-SOAR-GGUF","task":"tts","mode":"offline","download_id":"dots_tts_soar_q8_0","min_vram_gb":8},{"id":"dots-tts-meanflow","display_name":"DotTTS MeanFlow (tts + clone)","family":"dots_tts","path":"models/DotTTS-MF-GGUF","task":"tts","mode":"offline","download_id":"dots_tts_mf_q8_0","min_vram_gb":8},{"id":"neutts-2e","display_name":"NeuTTS 2E (tts, preset voices)","family":"neutts","path":"models/NeuTTS-2E-GGUF","task":"tts","mode":"offline","download_id":"neutts_2e_orig","min_vram_gb":4},{"id":"kokoro-tts","display_name":"Kokoro 82M (tts, preset voices)","family":"kokoro_tts","path":"models/Kokoro-82M-GGUF/kokoro-82m-q8_0.gguf","task":"tts","mode":"offline","download_id":"kokoro_82m_q8_0","min_vram_gb":1,"input_hint_en":"**Kokoro 82M**: multilingual TTS with built-in preset voices. Choose a language and voice; no reference audio is needed."},{"id":"qwen3-tts","display_name":"Qwen3-TTS 0.6B (tts)","family":"qwen3_tts","path":"models/Qwen3-TTS-12Hz-0.6B-Base","task":"tts","mode":"offline","download_id":"qwen3_tts_0_6b_base","min_vram_gb":5},{"id":"qwen3-tts-1.7b","display_name":"Qwen3-TTS 1.7B Base (tts)","family":"qwen3_tts","path":"models/Qwen3-TTS-12Hz-1.7B-Base","task":"tts","mode":"offline","download_id":"qwen3_tts_1_7b_base","min_vram_gb":8},{"id":"qwen3-tts-1.7b-custom","display_name":"Qwen3-TTS 1.7B CustomVoice (tts)","family":"qwen3_tts","path":"models/Qwen3-TTS-12Hz-1.7B-CustomVoice","task":"tts","mode":"offline","download_id":"qwen3_tts_1_7b_custom_voice","min_vram_gb":8},{"id":"breeze-tts","display_name":"BreezeTTS 2 VoiceDesign","family":"breeze_tts","path":"models/Breeze-TTS-2-GGUF/breeze-tts-2-q8_0.gguf","task":"vdes","mode":"offline","download_id":"breeze_tts_2_q8_0","min_vram_gb":8,"input_hint_en":"**BreezeTTS 2 VoiceDesign**: enter text and describe the target voice in Model parameters. No reference voice is required."},{"id":"breeze-tts-clone","display_name":"BreezeTTS 2 Clone","family":"breeze_tts","path":"models/Breeze-TTS-2-GGUF/breeze-tts-2-q8_0.gguf","task":"clon","mode":"offline","download_id":"breeze_tts_2_q8_0","min_vram_gb":8,"input_hint_en":"**BreezeTTS 2 Clone**: upload a reference voice and provide the matching reference transcript."},{"id":"cosyvoice3","display_name":"CosyVoice3 Clone","family":"cosyvoice3","path":"models/CosyVoice3-GGUF/cosyvoice3-q8_0.gguf","task":"clon","mode":"offline","download_id":"cosyvoice3_q8_0","min_vram_gb":8,"input_hint_en":"**CosyVoice3 Clone**: upload a reference voice and provide the matching reference transcript. Use `template_name` for zero-shot or cross-lingual requests."},{"id":"cosyvoice3-instruct","display_name":"CosyVoice3 Instruct","family":"cosyvoice3","path":"models/CosyVoice3-GGUF/cosyvoice3-q8_0.gguf","task":"tts","mode":"offline","download_id":"cosyvoice3_q8_0","min_vram_gb":8,"input_hint_en":"**CosyVoice3 Instruct**: upload a reference voice, provide its transcript, and set `template_name=instruct` with an instruction."},{"id":"miotts","display_name":"MioTTS 1.7B (tts; needs MioCodec)","family":"miotts","path":"models/MioTTS-1.7B","task":"tts","mode":"offline","download_id":"miotts_1_7b","min_vram_gb":8},{"id":"sopro-tts","display_name":"Sopro V2 Turbo (tts + clone)","family":"sopro_tts","path":"models/sopro-v2-turbo","task":"tts","mode":"offline","download_id":"sopro_v2_turbo_safetensors","min_vram_gb":2,"request_options":["language","temperature","top_p","top_k","num_inference_steps","max_seconds","min_seconds","ref_seconds","text_chunk_size","seed"]},{"id":"soprano-tts","display_name":"Soprano TTS (tts)","family":"soprano_tts","path":"models/Soprano-1.1-80M-GGUF","task":"tts","mode":"offline","download_id":"soprano_1_1_80m_q8_0","min_vram_gb":1},{"id":"sanotts","display_name":"sanoTTS voice family (tts, community)","family":"sanotts","path":"models/sanoTTS-heart-nano-GGUF/heart-nano-f32.gguf","task":"tts","mode":"offline","download_id":"sanotts_heart_nano_orig","min_vram_gb":1},{"id":"voxcpm2","display_name":"VoxCPM2 (tts)","family":"voxcpm2","path":"models/VoxCPM2","task":"tts","mode":"offline","download_id":"voxcpm2","session_options":{"voxcpm2.weight_type":"q8_0"},"min_vram_gb":6},{"id":"voxcpm1","display_name":"VoxCPM1 0.5B (tts + clone)","family":"voxcpm1","path":"models/VoxCPM1-GGUF","task":"tts","mode":"offline","download_id":"voxcpm1_0_5b_q8_0","min_vram_gb":4},{"id":"vibevoice","display_name":"VibeVoice 1.5B/7B (tts, long-form/multi-speaker)","family":"vibevoice","path":"models/VibeVoice-1.5B","task":"tts","mode":"offline","download_id":"vibevoice_1_5b","min_vram_gb":7},{"id":"vibevoice-7b","display_name":"VibeVoice 7B (tts, long-form/multi-speaker)","family":"vibevoice","path":"models/VibeVoice-7B-GGUF","task":"tts","mode":"offline","download_id":"vibevoice_7b_q8_0","min_vram_gb":16},{"id":"index-tts2","display_name":"IndexTTS2 (tts 中英克隆+情感)","display_name_en":"IndexTTS2 (tts, zh/en clone + emotion)","family":"index_tts2","path":"models/IndexTTS-2","task":"tts","mode":"offline","download_id":"index_tts2","min_vram_gb":8},{"id":"index-tts2.5","display_name":"IndexTTS2.5 (tts 多语种克隆+情感, GGUF Q8)","display_name_en":"IndexTTS2.5 (tts, zh/en/ja/es/ar clone + emotion, GGUF Q8)","family":"index_tts2","path":"models/IndexTTS2.5-GGUF","task":"tts","mode":"offline","download_id":"index_tts2_5_q8_0","min_vram_gb":8,"input_hint":"**IndexTTS2.5**:中/英/日/西/阿零样本克隆;上传参考音色即克隆;可在『其它参数(JSON)』里传 `lang`(默认 auto:含汉字按中文,否则按英文)与情感选项。许可证为 bilibili Model Use License(非 OSI),商用前请确认条款。","input_hint_en":"**IndexTTS2.5**: zero-shot cloning in zh/en/ja/es/ar. Upload a reference voice to clone; pass `lang` (default auto: zh when the text contains Han characters, otherwise en) and emotion options through the JSON box. Weights are under the bilibili Model Use License (not OSI-approved) — check terms before commercial use."},{"id":"irodori-tts","display_name":"Irodori-TTS v4.1 Small (tts 日语, GGUF Q8)","display_name_en":"Irodori-TTS v4.1 Small (ja tts, GGUF Q8)","family":"irodori_tts","path":"models/Irodori-TTS-v4-Small-GGUF","task":"tts","mode":"offline","download_id":"irodori_tts_v4_small_q8_0","min_vram_gb":4,"input_hint":"**Irodori-TTS v4.1 Small**:日语 TTS;可不上传参考音色直接生成,也可上传参考音色进行克隆;可在声音设计页用日语 caption 描述音色。","input_hint_en":"**Irodori-TTS v4.1 Small**: Japanese TTS. Generate without a reference voice, clone from an uploaded reference, or use the voice-design page with a Japanese voice caption."},{"id":"irodori-tts-v3-500m","display_name":"Irodori-TTS 500M v3 (tts 日语)","display_name_en":"Irodori-TTS 500M v3 (ja tts)","family":"irodori_tts","path":"models/Irodori-TTS-500M-v3-GGUF","task":"tts","mode":"offline","download_id":"irodori_tts_500m_v3_q8_0","min_vram_gb":4},{"id":"moss-tts-local","display_name":"MOSS-TTS-Local v1.5 (tts)","family":"moss_tts_local","path":"models/MOSS-TTS-Local-Transformer-v1.5","task":"tts","mode":"offline","download_id":"moss_tts_local_v1_5","min_vram_gb":8},{"id":"moss-tts-nano","display_name":"MOSS-TTS-Nano 100M (tts)","family":"moss_tts_nano","path":"models/MOSS-TTS-Nano-100M","task":"tts","mode":"offline","download_id":"moss_tts_nano_100m","min_vram_gb":2},{"id":"magpie-tts","display_name":"MagpieTTS Multilingual 357M v2607 (tts, preset voices)","display_name_en":"MagpieTTS Multilingual 357M v2607 (tts, preset voices)","family":"magpie_tts","path":"models/MagpieTTS-Multilingual-357M-GGUF","task":"tts","mode":"offline","download_id":"magpie_tts_q8_0","min_vram_gb":4,"input_hint":"**MagpieTTS**:多语种离线 TTS;使用打包 speaker map 里的 `voice_id`,不需要上传参考音频。当前 GGUF 包不包含日语 phoneme 表,因此日语路径不可用。","input_hint_en":"**MagpieTTS**: multilingual offline TTS with packaged speaker prompts selected by `voice_id`; no reference upload is needed. The current GGUF package does not include the Japanese phoneme table, so Japanese is not available."},{"id":"fireredtts3-instruct","display_name":"FireRedTTS3 Instruct Clone","family":"fireredtts3","path":"models/FireRedTTS3-Instruct-GGUF/fireredtts3-instruct-q8_0.gguf","task":"clon","mode":"offline","download_id":"fireredtts3_instruct_q8_0","min_vram_gb":8,"input_hint_en":"**FireRedTTS3 Instruct Clone**: official Instruct `generate_tts` path. Upload a reference voice and provide the matching reference transcript. For no-reference voice design, use the VoiceDesign entry."},{"id":"fireredtts3-base","display_name":"FireRedTTS3 Base (voice clone)","family":"fireredtts3","path":"models/FireRedTTS3-Base-GGUF/fireredtts3-base-q8_0.gguf","task":"clon","mode":"offline","download_id":"fireredtts3_base_q8_0","min_vram_gb":8,"input_hint_en":"**FireRedTTS3 Base**: zero-shot voice cloning. Upload a reference voice and provide the matching reference transcript."},{"id":"firered-audio-tts","display_name":"FireRedAudio Clone","family":"firered_audio","path":"models/FireRedAudio-GGUF/firered-audio-q8_0.gguf","task":"clon","mode":"offline","download_id":"firered_audio_q8_0","min_vram_gb":10,"input_hint_en":"**FireRedAudio Clone**: upload a reference voice and provide the matching reference transcript. For no-reference voice design, use the VoiceDesign entry."},{"id":"supertonic","display_name":"Supertonic 3 (tts 预置音色/多语种)","display_name_en":"Supertonic 3 (tts, preset voices)","family":"supertonic","path":"models/supertonic-3","task":"tts","mode":"offline","download_id":"supertonic_3","min_vram_gb":2},{"id":"higgs-audio-tts","display_name":"Higgs Audio v3 TTS 4B (tts 克隆, GGUF Q8)","display_name_en":"Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8)","family":"higgs_audio_tts","path":"models/Higgs-Audio-v3-TTS-4B-GGUF","task":"tts","mode":"offline","download_id":"higgs_audio_v3_tts_4b","min_vram_gb":6,"input_hint":"**Higgs Audio v3 TTS**:Q8_0 GGUF 包(权重已量化,不用再设 weight_type);上传参考音色即声音克隆,留空用默认音色;长文本自动分段。","input_hint_en":"**Higgs Audio v3 TTS**: Q8_0 GGUF package (already quantized — no weight_type needed). Upload a reference voice to clone, or leave it empty for the default voice; long text is chunked automatically."},{"id":"fish-audio-s2-pro","display_name":"Fish Audio S2 Pro (tts 克隆/控制标记, GGUF Q8)","display_name_en":"Fish Audio S2 Pro (tts + clone/control tags, GGUF Q8)","family":"fish_audio","path":"models/Fish-Audio-S2-Pro-GGUF","task":"tts","mode":"offline","download_id":"fish_audio_s2_pro","min_vram_gb":8,"input_hint":"**Fish Audio S2 Pro**:Q8_0 GGUF 包;中英+自动语种;上传参考音色即克隆;正文里可写行内控制标记(如 (laugh))。","input_hint_en":"**Fish Audio S2 Pro**: Q8_0 GGUF package; English/Chinese plus auto language. Upload a reference voice to clone; inline control tags such as (laugh) can be written in the text."},{"id":"audio8-tts","display_name":"Audio8 TTS Preview 0.6B (tts 克隆, GGUF Q8)","display_name_en":"Audio8 TTS Preview 0.6B (tts + clone, GGUF Q8)","family":"audio8_tts","path":"models/Audio8-TTS-Preview-0.6B-GGUF","task":"tts","mode":"offline","download_id":"audio8_tts_preview_0_6b_q8_0","min_vram_gb":4,"input_hint":"**Audio8 TTS Preview 0.6B**:多语种 TTS / 零样本克隆(支持 yue/zh/nl/en/fr/de/it/ja/ko/pl/es/auto);上传参考音色+参考文本即克隆,留空为普通 TTS;长文本自动分句。","input_hint_en":"**Audio8 TTS Preview 0.6B**: multilingual TTS and zero-shot clone (yue/zh/nl/en/fr/de/it/ja/ko/pl/es/auto). Upload a reference voice + transcript to clone; leave empty for plain TTS. Long text is chunked automatically."},{"id":"glm-tts","display_name":"GLM-TTS (tts 克隆, 社区)","display_name_en":"GLM-TTS (tts + clone, community)","family":"glm_tts","path":"models/GLM-TTS","task":"tts","mode":"offline","download_id":"glm_tts","min_vram_gb":8,"input_hint":"**GLM-TTS**(社区模型):中英 TTS / voice clone;上传参考音色即克隆。","input_hint_en":"**GLM-TTS** (community): Chinese/English TTS and voice clone. Upload a reference voice to clone."},{"id":"outetts","display_name":"Llama-OuteTTS 1.0 1B (tts 克隆, 社区)","display_name_en":"Llama-OuteTTS 1.0 1B (tts + clone, community)","family":"outetts","path":"models/Llama-OuteTTS-1.0-1B","task":"tts","mode":"offline","download_id":"outetts_1_0_1b","min_vram_gb":4,"input_hint":"**OuteTTS 1.0 1B**(社区模型):23 种语言,DAC 编解码;上传参考音色即克隆。","input_hint_en":"**OuteTTS 1.0 1B** (community): 23 languages, IBM DAC codec. Upload a reference voice to clone."},{"id":"vietneu-tts","display_name":"VieNeu-TTS v3 Turbo (tts 越南语, 社区)","display_name_en":"VieNeu-TTS v3 Turbo (vi tts, community)","family":"vietneu_tts","path":"models/VieNeu-TTS-v3-Turbo","task":"tts","mode":"offline","download_id":"vietneu_tts_v3_turbo","min_vram_gb":4,"input_hint":"**VieNeu-TTS v3 Turbo**(社区模型):越南语 / 英语;上传参考音色即克隆。","input_hint_en":"**VieNeu-TTS v3 Turbo** (community): Vietnamese and English. Upload a reference voice to clone."},{"id":"inflect-v2","display_name":"Inflect Micro v2 (tts 英语, 社区)","display_name_en":"Inflect Micro v2 (en tts, community)","family":"inflect_v2","path":"models/Inflect-Micro-v2","task":"tts","mode":"offline","download_id":"inflect_micro_v2","min_vram_gb":2,"input_hint":"**Inflect Micro v2**(社区模型):英语离线 TTS;Micro 是默认包,Nano 可通过模型管理器另装后手动选择路径。","input_hint_en":"**Inflect Micro v2** (community): English offline TTS. Micro is the default package; Nano can be installed separately and selected manually."},{"id":"dramabox","display_name":"DramaBox (tts 克隆, GGUF Q8)","display_name_en":"DramaBox (tts + clone, GGUF Q8)","family":"dramabox","path":"models/DramaBox-GGUF","task":"tts","mode":"offline","download_id":"dramabox_q8_0","min_vram_gb":16,"input_hint":"**DramaBox**:英语 TTS / voice clone;上传参考音色可克隆,长文本建议写清楚说话人描述。","input_hint_en":"**DramaBox**: English TTS and voice clone. Upload a reference voice to clone; for long text, keep speaker wording explicit."},{"id":"confucius4-tts","display_name":"Confucius4-TTS (voice clone, GGUF)","display_name_en":"Confucius4-TTS (voice clone, GGUF)","family":"confucius4_tts","path":"models/Confucius4-TTS-GGUF","task":"clon","mode":"offline","download_id":"confucius4_tts_orig","min_vram_gb":8,"input_hint":"**Confucius4-TTS**:需要参考音色;当前中文/英语路径更可靠,非中英语种仍在验证中。","input_hint_en":"**Confucius4-TTS**: requires a reference voice. Chinese/English are the most reliable paths; other languages are still being validated."},{"id":"echo-tts","display_name":"Echo-TTS (voice clone)","family":"echo_tts","path":"models/Echo-TTS-GGUF","task":"clon","mode":"offline","download_id":"echo_tts_q8_0","min_vram_gb":8,"input_hint_en":"**Echo-TTS**: English zero-shot cloning at 44.1 kHz. Upload a reference voice -- no transcript needed. Output is CC-BY-NC-SA and may not be used commercially."},{"id":"zipvoice","display_name":"ZipVoice (中英零样本克隆)","display_name_en":"ZipVoice (zh/en zero-shot cloning)","family":"zipvoice","path":"models/ZipVoice-Distill-GGUF","task":"clon","mode":"offline","download_id":"zipvoice_distill_gguf","min_vram_gb":4,"input_hint":"**ZipVoice**:中/英零样本声音克隆(k2-fsa TTSZipformer flow-matching + Vocos,蒸馏版 8 步采样)。上传参考音频,并在『参考文本’里填入它的逐字转写——参考音频与参考文本必须配对;合成文本支持中文、英文及混排。权重 Apache-2.0。","input_hint_en":"**ZipVoice**: zero-shot voice cloning in zh/en (k2-fsa TTSZipformer flow matching + Vocos, distilled 8-step sampling). Upload a reference clip and put its exact transcript in the reference-text box — the clip and the transcript must match; synthesis text supports zh/en/mixed. Weights are Apache-2.0."},{"id":"chatterbox","display_name":"Chatterbox (voice clone)","family":"chatterbox","path":"models/chatterbox","task":"clon","mode":"offline","download_id":"chatterbox","min_vram_gb":12},{"id":"chatterbox-turbo","display_name":"Chatterbox Turbo (tts)","family":"chatterbox_turbo","path":"models/Chatterbox-Turbo-GGUF/chatterbox-turbo-q8_0.gguf","task":"tts","mode":"offline","download_id":"chatterbox_turbo_q8_0","min_vram_gb":4,"input_hint_en":"**Chatterbox Turbo**: fast English TTS with the built-in voice. No reference voice is required."},{"id":"ace-step","display_name":"ACE-Step 1.5 (music gen)","family":"ace_step","path":"models/Ace-Step1.5","task":"gen","mode":"offline","download_id":"ace_step","default_text":"upbeat pop music with bright vocals and energetic drums","session_options":{"ace_step.mem_saver":"true","ace_step.dit_weight_type":"q8_0","ace_step.text_encoder_weight_type":"q8_0","ace_step.planner_weight_type":"q8_0"},"min_vram_gb":8},{"id":"minimax-music3","display_name":"MiniMax-Music3 (song gen)","family":"minimax_music3","path":"models/MiniMax-Music3-GGUF","task":"gen","mode":"offline","download_id":"minimax_music3_q4_0","min_vram_gb":12},{"id":"yue2","display_name":"Yue2 3B (song gen)","family":"yue2","path":"models/Yue2-3B-GGUF","task":"gen","mode":"offline","download_id":"yue2_main_q8_0","default_text":"[Verse]\\nSoft morning light is touching the window.\\nI hear the city waking below.\\n[Chorus]\\nStay with the rhythm, let it carry us home.\\nSing with the sunrise, we are never alone.","min_vram_gb":12,"input_hint_en":"**Yue2 3B**: provide lyrics and a style prompt. The default inference combo is Main Q8_0 + VAE F16; choose other main/VAE files from Model parameters before loading."},{"id":"sheetsage2","display_name":"SheetSage2 (audio to ABC)","family":"sheetsage2","path":"models/SheetSage2-GGUF/sheetsage2-orig.gguf","task":"midi","mode":"offline","download_id":"sheetsage2_orig","min_vram_gb":8,"input_hint_en":"**SheetSage2**: upload a song or instrumental recording to transcribe it into an ABC score artifact."},{"id":"stable-audio-small-music","display_name":"Stable Audio 3 Small Music (gen)","family":"stable_audio","path":"models/stable-audio-3-small-music","task":"gen","mode":"offline","download_id":"stable_audio_3_small_music","min_vram_gb":4},{"id":"stable-audio-small-sfx","display_name":"Stable Audio 3 Small SFX (gen)","family":"stable_audio","path":"models/stable-audio-3-small-sfx","task":"gen","mode":"offline","download_id":"stable_audio_3_small_sfx","min_vram_gb":4},{"id":"stable-audio-medium","display_name":"Stable Audio 3 Medium (gen)","family":"stable_audio","path":"models/stable-audio-3-medium","task":"gen","mode":"offline","download_id":"stable_audio_3_medium","session_options":{"stable_audio.mem_saver":"true"},"min_vram_gb":10},{"id":"heartmula","display_name":"HeartMuLa 3B (music gen)","family":"heartmula","path":"models/HeartMuLa","task":"gen","mode":"offline","download_id":"heartmula","session_options":{"heartmula.mem_saver":"true"},"min_vram_gb":24},{"id":"minimax-h3","display_name":"MiniMax-H3 Q4 (sound generation)","family":"minimax_h3","path":"models/MiniMax-H3-Q4-GGUF/dit.gguf","task":"gen","mode":"offline","download_id":"minimax_h3","min_vram_gb":20,"default_options":{"num_inference_steps":12,"height":32,"width":32,"num_frames":241,"guidance_scale":1,"dit_acceleration":"none","return_video":false},"input_hint_en":"MiniMax-H3 uses a joint audio/video DiT. The default Q4 DiT is the quality-first choice; the optional CUDA-only INT8 ConvRot DiT trades slightly more VRAM for higher speed. Native Studio uses 12 denoising steps, a 32x32 latent canvas, quality-first full-DiT execution, and disables video decoding for practical audio-only generation on a 24 GB GPU."},{"id":"midashenglm-gen","display_name":"MiDashengLM-Gen (audio generation)","family":"midashenglm_gen","path":"models/MiDashengLM-Gen-GGUF/midashenglm-gen-q8_0.gguf","task":"gen","mode":"offline","download_id":"midashenglm_gen_q8_0","min_vram_gb":8,"input_hint_en":"**MiDashengLM-Gen**: text-conditioned audio generation. The duration field controls the generation budget."},{"id":"controlfoley","display_name":"ControlFoley (Foley/SFX)","family":"controlfoley","path":"models/ControlFoley-GGUF/controlfoley-large-44k-q8_0.gguf","task":"gen","mode":"offline","download_id":"controlfoley_large_44k_q8_0","min_vram_gb":12,"request_options":["video"],"input_hint_en":"**ControlFoley**: Foley generation from text, video, text+video, audio+video, or video only. Upload video in the Video field; upload source audio for AC-V2A."},{"id":"firered-audio-semantic-edit","display_name":"FireRedAudio Semantic Edit","family":"firered_audio","path":"models/FireRedAudio-GGUF/firered-audio-q8_0.gguf","task":"gen","mode":"offline","download_id":"firered_audio_q8_0","min_vram_gb":10,"input_hint_en":"**FireRedAudio Semantic Edit**: upload source audio and describe the content edit in Model parameters."},{"id":"firered-audio-acoustic-edit","display_name":"FireRedAudio Acoustic Edit","family":"firered_audio","path":"models/FireRedAudio-GGUF/firered-audio-q8_0.gguf","task":"gen","mode":"offline","download_id":"firered_audio_q8_0","min_vram_gb":10,"input_hint_en":"**FireRedAudio Acoustic Edit**: upload source audio and use a trained acoustic instruction such as `shift the pitch by 3 steps`."},{"id":"canary-asr","display_name":"Canary 180M Flash","family":"canary_asr","path":"models/Canary-180M-Flash-GGUF","task":"asr","mode":"offline","download_id":"canary_180m_flash_f32"},{"id":"cohere-asr","display_name":"Cohere Transcribe","family":"cohere_asr","path":"models/Cohere-Transcribe-GGUF","task":"asr","mode":"offline","download_id":"cohere_transcribe_bf16"},{"id":"moss-transcribe-diarize","display_name":"MOSS-Transcribe-Diarize","family":"moss_transcribe_diarize","path":"models/MOSS-Transcribe-Diarize-GGUF","task":"asr","mode":"offline","download_id":"moss_transcribe_diarize_bf16"},{"id":"qwen3-asr","display_name":"Qwen3-ASR 0.6B (asr)","family":"qwen3_asr","path":"models/Qwen3-ASR-0.6B","task":"asr","mode":"offline","download_id":"qwen3_asr_0_6b","min_vram_gb":3},{"id":"qwen3-asr-1.7b","display_name":"Qwen3-ASR 1.7B HF (asr)","family":"qwen3_asr","path":"models/Qwen3-ASR-1.7B-hf","task":"asr","mode":"offline","download_id":"qwen3_asr_1_7b_hf","min_vram_gb":6,"input_hint":"**Qwen3-ASR 1.7B**(HF 原生权重,免转换):精度高于 0.6B;长音频自动分段转写;8G 卡显存偏紧,长音频建议先短段试跑。","input_hint_en":"**Qwen3-ASR 1.7B**: native Hugging Face weights with no conversion required. It is more accurate than the 0.6B model and automatically chunks long audio; test short clips first on an 8 GB GPU."},{"id":"r2t2-asr","display_name":"Confucius4-R2T2 (asr, 实时流式)","display_name_en":"Confucius4-R2T2 (asr, real-time streaming)","family":"confucius4_r2t2","path":"models/Confucius4-R2T2-GGUF/r2t2-q8_0.gguf","task":"asr","mode":"offline","download_id":"confucius4_r2t2_q8_0","min_vram_gb":5,"input_hint":"**Confucius4-R2T2**:网易有道实时流式 ASR,Qwen3-ASR-1.7B 微调,LSP 稳定前缀解码;提交文本永不回改,支持 80ms-2s 分块;Q8_0 GGUF(2.3G,自包含单文件),也支持 F16。","input_hint_en":"**Confucius4-R2T2**: NetEase Youdao real-time streaming ASR, a Qwen3-ASR 1.7B fine-tune with Longest Stable Prefix decoding. Committed text is never revised; 80 ms-2 s chunks; Q8_0 GGUF (2.3 GB, self-contained single file), F16 also available."},{"id":"niagara-asr-19m","display_name":"Niagara ASR 19M (asr)","display_name_en":"Niagara ASR 19M (asr)","family":"niagara_asr","path":"models/Niagara-ASR-GGUF/niagara-19m-batch.en-f32.gguf","task":"asr","mode":"offline","download_id":"niagara_19m_f32","min_vram_gb":1,"input_hint":"**Niagara ASR 19M**:ABR 英语离线 ASR,F32 GGUF 权重。","input_hint_en":"**Niagara ASR 19M**: ABR English offline ASR with F32 GGUF weights."},{"id":"niagara-asr-38m","display_name":"Niagara ASR 38M (asr)","display_name_en":"Niagara ASR 38M (asr)","family":"niagara_asr","path":"models/Niagara-ASR-GGUF/niagara-38m-batch.en-f32.gguf","task":"asr","mode":"offline","download_id":"niagara_38m_f32","min_vram_gb":1,"input_hint":"**Niagara ASR 38M**:ABR 英语离线 ASR,F32 GGUF 权重。","input_hint_en":"**Niagara ASR 38M**: ABR English offline ASR with F32 GGUF weights."},{"id":"moonshine-asr-tiny","display_name":"Moonshine Streaming Tiny (asr, GGUF Q8)","display_name_en":"Moonshine Streaming Tiny (asr, GGUF Q8)","family":"moonshine_asr","path":"models/Moonshine-Streaming-GGUF/moonshine-streaming-tiny-q8_0.gguf","task":"asr","mode":"offline","download_id":"moonshine_streaming_tiny_q8_0","min_vram_gb":1,"input_hint":"**Moonshine Streaming Tiny**:英语 ASR,轻量 GGUF Q8 包;支持离线与流式模式。","input_hint_en":"**Moonshine Streaming Tiny**: lightweight English ASR GGUF Q8 package with offline and streaming support."},{"id":"moonshine-asr-small","display_name":"Moonshine Streaming Small (asr, GGUF Q8)","display_name_en":"Moonshine Streaming Small (asr, GGUF Q8)","family":"moonshine_asr","path":"models/Moonshine-Streaming-GGUF/moonshine-streaming-small-q8_0.gguf","task":"asr","mode":"offline","download_id":"moonshine_streaming_small_q8_0","min_vram_gb":2,"input_hint":"**Moonshine Streaming Small**:英语 ASR,GGUF Q8 包;支持离线与流式模式。","input_hint_en":"**Moonshine Streaming Small**: English ASR GGUF Q8 package with offline and streaming support."},{"id":"moonshine-asr-medium","display_name":"Moonshine Streaming Medium (asr, GGUF Q8)","display_name_en":"Moonshine Streaming Medium (asr, GGUF Q8)","family":"moonshine_asr","path":"models/Moonshine-Streaming-GGUF/moonshine-streaming-medium-q8_0.gguf","task":"asr","mode":"offline","download_id":"moonshine_streaming_medium_q8_0","min_vram_gb":2,"input_hint":"**Moonshine Streaming Medium**:英语 ASR,GGUF Q8 包;支持离线与流式模式。","input_hint_en":"**Moonshine Streaming Medium**: English ASR GGUF Q8 package with offline and streaming support."},{"id":"citrinet-asr","display_name":"Citrinet ASR (asr)","family":"citrinet_asr","path":"models/citrinet","task":"asr","mode":"offline","download_id":"citrinet_asr","min_vram_gb":2},{"id":"nemotron-asr","display_name":"Nemotron 3.5 ASR 0.6B (asr, 100+语种)","display_name_en":"Nemotron 3.5 ASR 0.6B (asr, 100+ languages)","family":"nemotron_asr","path":"models/nemotron-3.5-asr-streaming-0.6b","task":"asr","mode":"offline","download_id":"nemotron_asr","min_vram_gb":4,"input_hint":"**Nemotron ASR**:100+ 语种,语种码为 BCP-47(如 en-US / zh-CN),留空=auto;模型自带长音频处理。","input_hint_en":"**Nemotron ASR**: supports more than 100 languages using BCP-47 codes such as en-US or zh-CN. Leave language blank for automatic detection; long audio is handled by the model."},{"id":"higgs-audio-stt","display_name":"Higgs Audio v3 STT (asr, 英语)","display_name_en":"Higgs Audio v3 STT (asr, English)","family":"higgs_audio_stt","path":"models/higgs-audio-v3-stt","task":"asr","mode":"offline","download_id":"higgs_audio_stt","min_vram_gb":8,"input_hint":"**Higgs Audio STT**:英语转写;可在文本框填指令(默认相当于 Transcribe the speech.);离线模式自动切分长音频。","input_hint_en":"**Higgs Audio STT**: English transcription. The text box accepts an instruction; offline mode automatically chunks long audio."},{"id":"hviske-asr","display_name":"Hviske v5.3 (asr, 丹麦语)","display_name_en":"Hviske v5.3 (asr, Danish)","family":"hviske_asr","path":"models/hviske-v5.3","task":"asr","mode":"offline","download_id":"hviske_asr","min_vram_gb":6,"input_hint":"**Hviske ASR**:丹麦语专用;模型侧自动分段。","input_hint_en":"**Hviske ASR**: dedicated Danish transcription with automatic model-side segmentation."},{"id":"vibevoice-asr","display_name":"VibeVoice ASR (asr, 多语种+说话人分段)","display_name_en":"VibeVoice ASR (asr, multilingual + speaker turns)","family":"vibevoice_asr","path":"models/VibeVoice-ASR","task":"asr","mode":"offline","download_id":"vibevoice_asr","min_vram_gb":20,"input_hint":"**VibeVoice ASR**:自动语种,可输出分段/说话人轮次;文本框可填上下文提示(如 The recording is a meeting conversation.)。权重 17.3G,8G 卡跑不动。","input_hint_en":"**VibeVoice ASR**: automatic language detection with segment and speaker-turn output. The text box accepts a context prompt. Its 17.3 GB weights require substantially more than 8 GB VRAM."},{"id":"vibevoice-asr-streaming-7b","display_name":"VibeVoice ASR Streaming 7B (asr, 多语种+流式)","display_name_en":"VibeVoice ASR Streaming 7B (asr, multilingual + streaming)","family":"vibevoice_asr_streaming","path":"models/VibeVoice-ASR-Streaming-7B-GGUF/vibevoice-asr-streaming-7b-q8_0.gguf","task":"asr","mode":"offline","download_id":"vibevoice_asr_streaming_7b_q8_0","min_vram_gb":18,"input_hint":"**VibeVoice ASR Streaming 7B**:多语种 ASR,支持长音频流式解码和说话人轮次;文本框可填上下文提示。","input_hint_en":"**VibeVoice ASR Streaming 7B**: multilingual ASR with long-audio streaming decode and speaker-turn output. The text box accepts a context prompt."},{"id":"vibevoice-asr-streaming-1.5b","display_name":"VibeVoice ASR Streaming 1.5B (asr, 多语种+流式)","display_name_en":"VibeVoice ASR Streaming 1.5B (asr, multilingual + streaming)","family":"vibevoice_asr_streaming","path":"models/VibeVoice-ASR-Streaming-1.5B-GGUF/vibevoice-asr-streaming-1.5b-q8_0.gguf","task":"asr","mode":"offline","download_id":"vibevoice_asr_streaming_1_5b_q8_0","min_vram_gb":6,"input_hint":"**VibeVoice ASR Streaming 1.5B**:7B 的较小版本,功能相同,显存占用更低,准确率略低;文本框可填上下文提示。","input_hint_en":"**VibeVoice ASR Streaming 1.5B**: the smaller sibling of the 7B with the same features, lower VRAM use, and somewhat lower accuracy. The text box accepts a context prompt."},{"id":"voxtral-realtime","display_name":"Voxtral Mini 4B Realtime (asr, 自动语种+流式)","display_name_en":"Voxtral Mini 4B Realtime (asr, auto + streaming)","family":"voxtral_realtime","path":"models/Voxtral-Mini-4B-Realtime-2602-GGUF","task":"asr","mode":"offline","download_id":"voxtral_realtime","min_vram_gb":8},{"id":"fun-asr-nano","display_name":"Fun-ASR-Nano 2512 (asr, GGUF Q8)","display_name_en":"Fun-ASR-Nano 2512 (asr, GGUF Q8)","family":"fun_asr_nano","path":"models/Fun-ASR-Nano-2512-GGUF","task":"asr","mode":"offline","download_id":"fun_asr_nano_2512_q8_0","min_vram_gb":4,"input_hint":"**Fun-ASR-Nano**:轻量离线 ASR;支持 auto/中文/英语/日语。","input_hint_en":"**Fun-ASR-Nano**: lightweight offline ASR; supports auto, Chinese, English and Japanese."},{"id":"parakeet-tdt","display_name":"Parakeet-TDT 0.6B v3 (asr, 流式)","display_name_en":"Parakeet-TDT 0.6B v3 (asr + streaming)","family":"parakeet_tdt","path":"models/parakeet-tdt-0.6b-v3","task":"asr","mode":"offline","download_id":"parakeet_tdt","min_vram_gb":4,"input_hint":"**Parakeet-TDT**:离线/长音频/流式 ASR;支持多种欧洲语言,留空=自动。","input_hint_en":"**Parakeet-TDT**: offline, long-form and streaming ASR for many European languages; leave language empty for auto."},{"id":"orukeet","display_name":"Orukeet r3 (asr, Parakeet 微调)","display_name_en":"Orukeet r3 (asr, Parakeet fine-tune)","family":"parakeet_tdt","path":"models/Orukeet-GGUF/orukeet-q8_0.gguf","task":"asr","mode":"offline","download_id":"orukeet_q8_0","min_vram_gb":4,"input_hint":"**Orukeet r3**:Parakeet-TDT 0.6B v3 微调权重,同引擎/同分词器;CC BY-SA 4.0,留空=自动语种。","input_hint_en":"**Orukeet r3**: fine-tuned Parakeet-TDT 0.6B v3 weights on the same engine and tokenizer; CC BY-SA 4.0, leave language empty for auto."},{"id":"kroko-asr","display_name":"Kroko Community ASR (asr, GGUF Q8)","display_name_en":"Kroko Community ASR (asr, GGUF Q8)","family":"kroko_asr","path":"models/Kroko-ASR-GGUF","task":"asr","mode":"offline","download_id":"kroko_asr_community_q8_0","min_vram_gb":4,"input_hint":"**Kroko Community ASR**:GGUF Q8 包;离线转写,支持时间戳。","input_hint_en":"**Kroko Community ASR**: GGUF Q8 package for offline transcription with timestamps."},{"id":"granite5asr","display_name":"Granite Speech 5.0 470M TurboCTC (asr)","display_name_en":"Granite Speech 5.0 470M TurboCTC (asr)","family":"granite5asr","path":"granite5asr","task":"asr","mode":"offline","download_id":"granite5asr_q8_0","min_vram_gb":4,"input_hint":"**Granite Speech 5.0 TurboCTC**:IBM 470M 英语 ASR;超快 Conformer CTC 转写;支持长音频自动分段与流式模式。","input_hint_en":"**Granite Speech 5.0 TurboCTC**: IBM 470M English ASR with ultra-fast Conformer CTC architecture, supporting long-form audio segmentation and streaming mode."},{"id":"sense-asr","display_name":"SenseVoice-Small (asr, 流式, 社区)","display_name_en":"SenseVoice-Small (asr + streaming, community)","family":"sense_asr","path":"models/SenseVoice-Small-GGUF","task":"asr","mode":"offline","download_id":"sensevoice_small_q8","min_vram_gb":4,"input_hint":"**SenseVoice-Small**(社区模型):多语种 ASR,事件/情感/语言标签,ITN 可开关;离线与流式模式。","input_hint_en":"**SenseVoice-Small** (community): multilingual ASR with event/emotion/language tags, optional ITN; offline and streaming modes."},{"id":"firered-audio-asr","display_name":"FireRedAudio (ASR / audio QA)","family":"firered_audio","path":"models/FireRedAudio-GGUF/firered-audio-q8_0.gguf","task":"asr","mode":"offline","download_id":"firered_audio_q8_0","min_vram_gb":10,"input_hint_en":"**FireRedAudio ASR**: upload audio, then use the text box as the transcription or audio-understanding instruction."},{"id":"chatterbox-vc","display_name":"Chatterbox (vc 声音转换)","display_name_en":"Chatterbox (voice conversion)","family":"chatterbox","path":"models/chatterbox","task":"vc","mode":"offline","download_id":"chatterbox","min_vram_gb":12,"input_hint":"**Chatterbox VC**:上传源语音和目标音色参考;模型保留源语音内容,将说话人音色转换为目标音色,输出 24kHz 单声道。","input_hint_en":"**Chatterbox VC**: upload source speech and a target-voice reference. It preserves the source content and converts the speaker identity; output is 24 kHz mono."},{"id":"meanvc2","display_name":"MeanVC2 (voice conversion)","display_name_en":"MeanVC2 (voice conversion)","family":"meanvc2","path":"models/MeanVC2-GGUF/meanvc2-120ms-40ms-fp32.gguf","task":"vc","mode":"offline","download_id":"meanvc2_120ms_40ms_f32","min_vram_gb":6,"input_hint":"**MeanVC2**:上传源语音和目标音色参考;默认 120 ms / 40 ms checkpoint 使用 F32 GGUF。","input_hint_en":"**MeanVC2**: upload source speech and a target-voice reference. The default 120 ms / 40 ms checkpoint uses F32 GGUF."},{"id":"vevo2","display_name":"Vevo2 (vc 语音转换, GGUF Q8)","display_name_en":"Vevo2 (voice conversion, GGUF Q8)","family":"vevo2","path":"models/Vevo2-GGUF","task":"vc","mode":"offline","download_id":"vevo2_gguf","min_vram_gb":6},{"id":"vevo2-svc","display_name":"Vevo2 (svc 歌声转换, GGUF Q8)","display_name_en":"Vevo2 (singing voice conversion, GGUF Q8)","family":"vevo2","path":"models/Vevo2-GGUF","task":"svc","mode":"offline","download_id":"vevo2_gguf","min_vram_gb":6,"input_hint":"**Vevo2 歌声转换 (svc)**:上传源歌声 + 目标歌手参考音色,默认 route=style_preserved_svc。style_converted_svc / singing_style_conversion 等风格转换 route 需在『其它参数(JSON)』里补 `style_ref`(服务器本地 wav 路径)/ `style_ref_text` / `target_text`。","input_hint_en":"**Vevo2 singing conversion**: upload source singing and a target-singer reference. The default route is style_preserved_svc; style-conversion routes also accept style_ref, style_ref_text and target_text in Additional options."},{"id":"vevo2-s2s","display_name":"Vevo2 (s2s 语音编辑, GGUF Q8)","display_name_en":"Vevo2 (speech editing, GGUF Q8)","family":"vevo2","path":"models/Vevo2-GGUF","task":"s2s","mode":"offline","download_id":"vevo2_gguf","min_vram_gb":6,"input_hint":"**Vevo2 语音编辑 (s2s)**:上传要编辑的源语音,并在『其它参数(JSON)』里填 `{\\"target_text\\": \\"替换后的完整句子\\"}`(编辑保持原说话人音色,可不上传目标音色)。","input_hint_en":"**Vevo2 speech editing**: upload source speech and set target_text to the complete replacement sentence in Additional options. Editing preserves the original speaker and does not require a target-voice reference."},{"id":"seed-vc","display_name":"Seed-VC (vc 语音转换)","display_name_en":"Seed-VC (voice conversion)","family":"seed_vc","path":"models/SeedVC-MLX","task":"vc","mode":"offline","download_id":"seed_vc","min_vram_gb":4},{"id":"seed-vc-svc","display_name":"Seed-VC (svc 歌声转换)","display_name_en":"Seed-VC (singing voice conversion)","family":"seed_vc","path":"models/SeedVC-MLX","task":"svc","mode":"offline","download_id":"seed_vc","min_vram_gb":4,"input_hint":"**Seed-VC 歌声转换 (svc)**:上传源歌声 + 目标歌手参考音色,默认 route=v1_svc(带 F0 条件)。可在『其它参数(JSON)』里调 `auto_f0_adjust` / `semi_tone_shift` / `f0_condition`。","input_hint_en":"**Seed-VC singing conversion**: upload source singing and a target-singer reference. The default route is v1_svc with F0 conditioning."},{"id":"rvc","display_name":"RVC (vc, GGUF F16)","display_name_en":"RVC (voice conversion, GGUF F16)","family":"rvc","path":"models/RVC-GGUF","task":"vc","mode":"offline","download_id":"rvc_f16","min_vram_gb":4,"input_hint":"**RVC**:所选 GGUF 即目标音色;上传源语音即可转换;索引/音高等选项可用 JSON 传。","input_hint_en":"**RVC**: the selected GGUF is the target voice; upload source speech to convert. Index and pitch options can be passed through the JSON box."},{"id":"miocodec","display_name":"MioCodec (vc; codec dependency)","family":"miocodec","path":"models/MioCodec-25Hz-44.1kHz-v2","task":"vc","mode":"offline","download_id":"miocodec_25hz_44k_v2","min_vram_gb":3},{"id":"personaplex","display_name":"PersonaPlex 7B v1 (speech conversation)","display_name_en":"PersonaPlex 7B v1 (speech conversation)","family":"personaplex","path":"models/PersonaPlex-GGUF","task":"s2s","mode":"offline","download_id":"personaplex_7b_v1_q4_k","min_vram_gb":8,"request_options":["voice_id","system_prompt","temperature","text_temperature","top_k","text_top_k","do_sample","seed"],"input_hint":"**PersonaPlex**:上传用户语音,模型返回语音回复;文本框可填写 assistant system/persona prompt;`voice_id` 选择打包音色,也可上传参考音色覆盖。","input_hint_en":"**PersonaPlex**: upload user speech and receive a spoken response. The text box provides the assistant system/persona prompt; `voice_id` selects a packaged voice, and an uploaded reference voice overrides it."},{"id":"apollo","display_name":"Apollo","family":"apollo","path":"models/Apollo-GGUF","task":"s2s","mode":"offline","download_id":"apollo_orig"},{"id":"universr-audio","display_name":"UniverSR Audio","family":"universr","path":"models/UniverSR-GGUF","task":"s2s","mode":"offline","download_id":"universr_audio_orig"},{"id":"universr-speech","display_name":"UniverSR Speech","family":"universr","path":"models/UniverSR-GGUF","task":"s2s","mode":"offline","download_id":"universr_speech_orig"},{"id":"audiosr","display_name":"AudioSR (audio super-resolution)","family":"audiosr","path":"models/AudioSR-GGUF/audiosr-basic-f32.gguf","task":"s2s","mode":"offline","download_id":"audiosr_basic_f32","min_vram_gb":8,"input_hint_en":"**AudioSR**: upload a source audio file to generate a super-resolved output."},{"id":"htdemucs","display_name":"HTDemucs (sep 音源分离)","display_name_en":"HTDemucs (source separation)","family":"htdemucs","path":"models/htdemucs","task":"sep","mode":"offline","download_id":"htdemucs","min_vram_gb":3},{"id":"bs-roformer","display_name":"BS-RoFormer (sep 人声分离)","display_name_en":"BS-RoFormer (vocal separation)","family":"bs_roformer","path":"models/BS-RoFormer-ep368-GGUF/bs-roformer-ep368-q8_0.gguf","task":"sep","mode":"offline","download_id":"bs_roformer_q8_0","min_vram_gb":3},{"id":"mel-band-roformer","display_name":"Mel-Band RoFormer (sep 人声分离)","display_name_en":"Mel-Band RoFormer (vocal separation)","family":"mel_band_roformer","path":"models/mel-roformer-mlx","task":"sep","mode":"offline","download_id":"mel_band_roformer","min_vram_gb":3},{"id":"pulsevad-2.1k","display_name":"PulseVAD 2.1K","family":"pulsevad","path":"models/PulseVAD-GGUF","task":"vad","mode":"offline","download_id":"pulsevad_2_1k_f32"},{"id":"pulsevad-81k","display_name":"PulseVAD 81K","family":"pulsevad","path":"models/PulseVAD-GGUF","task":"vad","mode":"offline","download_id":"pulsevad_81k_f32"},{"id":"silero-vad","display_name":"Silero VAD (vad, bundled)","family":"silero_vad","path":"assets/framework/models/silero_vad","task":"vad","mode":"offline","min_vram_gb":1},{"id":"marblenet-vad","display_name":"MarbleNet VAD (vad, bundled)","family":"marblenet_vad","path":"assets/framework/models/marblenet_vad","task":"vad","mode":"offline","min_vram_gb":1},{"id":"sortformer-diar","display_name":"Sortformer Diarization 4spk (diar)","family":"sortformer_diar","path":"models/diar_sortformer_4spk-v1","task":"diar","mode":"offline","download_id":"sortformer_diar_4spk_v1","min_vram_gb":2},{"id":"qwen3-forced-aligner","display_name":"Qwen3 Forced Aligner (align)","family":"qwen3_forced_aligner","path":"models/Qwen3-ForcedAligner-0.6B","task":"align","mode":"offline","download_id":"qwen3_forced_aligner_0_6b","min_vram_gb":3},{"id":"muscriptor-small","display_name":"MuScriptor Small (audio to MIDI)","family":"muscriptor","path":"models/MuScriptor-Small-GGUF","task":"midi","mode":"offline","download_id":"muscriptor_small_f32","min_vram_gb":4},{"id":"qwen3-tts-1.7b-vdesign","display_name":"Qwen3-TTS 1.7B VoiceDesign (vdes)","family":"qwen3_tts","path":"models/Qwen3-TTS-12Hz-1.7B-VoiceDesign","task":"vdes","mode":"offline","download_id":"qwen3_tts_1_7b_voice_design","min_vram_gb":8,"input_hint":"**Qwen3-TTS VoiceDesign**:在『音色描述』里用文字描述想要的声音(如“低沉磁性的中年男声,语速偏慢”),配上要念的文本即可,无需参考音频。","input_hint_en":"**Qwen3-TTS VoiceDesign**: describe the desired voice, then enter the text to synthesize. No reference recording is required."},{"id":"fireredtts3-instruct-vdesign","display_name":"FireRedTTS3 Instruct VoiceDesign","family":"fireredtts3","path":"models/FireRedTTS3-Instruct-GGUF/fireredtts3-instruct-q8_0.gguf","task":"vdes","mode":"offline","download_id":"fireredtts3_instruct_q8_0","min_vram_gb":8,"input_hint_en":"**FireRedTTS3 VoiceDesign**: describe the target voice in Voice description, then enter the text to synthesize."},{"id":"firered-audio-vdesign","display_name":"FireRedAudio VoiceDesign","family":"firered_audio","path":"models/FireRedAudio-GGUF/firered-audio-q8_0.gguf","task":"vdes","mode":"offline","download_id":"firered_audio_q8_0","min_vram_gb":10,"input_hint_en":"**FireRedAudio VoiceDesign**: describe the target voice in Voice description, then enter the text to synthesize."},{"id":"irodori-tts-vdesign","display_name":"Irodori-TTS v4.1 Small VoiceDesign (vdes 日语, GGUF Q8)","display_name_en":"Irodori-TTS v4.1 Small VoiceDesign (ja vdes, GGUF Q8)","family":"irodori_tts","path":"models/Irodori-TTS-v4-Small-GGUF","task":"vdes","mode":"offline","download_id":"irodori_tts_v4_small_q8_0","min_vram_gb":4,"input_hint":"**Irodori-TTS v4.1 VoiceDesign**(日语):『音色描述』用日语 caption 描述音色(如「落ち着いた大人の男性。深く響く声。」),文本填要念的日语内容,无需参考音频。","input_hint_en":"**Irodori-TTS v4.1 VoiceDesign**: provide a Japanese voice caption and Japanese synthesis text. No reference recording is required."},{"id":"irodori-tts-v3-vdesign","display_name":"Irodori-TTS 600M v3 VoiceDesign (vdes 日语)","display_name_en":"Irodori-TTS 600M v3 VoiceDesign (ja vdes)","family":"irodori_tts","path":"models/Irodori-TTS-600M-v3-VoiceDesign-GGUF","task":"vdes","mode":"offline","download_id":"irodori_tts_600m_v3_voicedesign_q8_0","min_vram_gb":4,"input_hint":"**Irodori-TTS v3 VoiceDesign**(日语):『音色描述』用日语 caption 描述音色(如「落ち着いた大人の男性。深く響く声。」),文本填要念的日语内容,无需参考音频。","input_hint_en":"**Irodori-TTS v3 VoiceDesign**: provide a Japanese voice caption and Japanese synthesis text. No reference recording is required."}]')},Fk={canary_asr:[{name:"target_language",type:"choice",label:"Target language",default:"",choices:["","en","de","es","fr"]},{name:"pnc",type:"bool",label:"Punctuation and capitalization",default:!0},{name:"audio_chunk_mode",type:"choice",label:"Audio chunk mode",default:"auto",choices:["auto","fixed","none"]},{name:"audio_chunk_duration_sec",type:"number",label:"Audio chunk duration (s)",default:40,minimum:.02,maximum:40,step:.1}],cohere_asr:[{name:"pnc",type:"bool",label:"Punctuation and capitalization",default:!0},{name:"audio_chunk_mode",type:"choice",label:"Audio chunk mode",default:"auto",choices:["auto","quiet_energy","fixed","none"]},{name:"audio_chunk_duration_sec",type:"number",label:"Audio chunk duration (s)",default:35,minimum:.04,maximum:35,step:.1}],moss_transcribe_diarize:[{name:"instruct",type:"text",label:"Instruction",default:"",lines:3}],apollo:[{name:"audio_chunk_duration_sec",type:"number",label:"Audio chunk duration (s)",default:0,minimum:0,step:1},{name:"audio_chunk_overlap_sec",type:"number",label:"Audio chunk overlap (s)",default:1,minimum:0,step:.1},{name:"edge_pad_duration_sec",type:"number",label:"Edge padding (s)",default:0,minimum:0,step:.1}],universr:[{name:"input_sample_rate",type:"choice",label:"Input bandwidth (Hz)",default:"",choices:["",8e3,12e3,16e3,24e3]},{name:"audio_chunk_duration_sec",type:"number",label:"Audio chunk duration (s)",default:0,minimum:0,step:1},{name:"sampler_mode",type:"choice",label:"Sampler",default:"midpoint",choices:["euler","midpoint","rk4"]},{name:"num_inference_steps",type:"number",label:"Inference steps",default:4,minimum:1,step:1},{name:"guidance_scale",type:"number",label:"Guidance scale",default:1.5,minimum:0,step:.1}],pulsevad:[{name:"threshold",type:"slider",label:"Speech threshold",default:.5,minimum:0,maximum:1,step:.01},{name:"hop_size_samples",type:"number",label:"Hop size (samples)",default:1600,minimum:1,step:1},{name:"min_speech_duration_ms",type:"number",label:"Minimum speech (ms)",default:100,minimum:0,step:1},{name:"min_silence_duration_ms",type:"number",label:"Minimum silence (ms)",default:100,minimum:0,step:1}],echo_tts:[{name:"num_inference_steps",type:"slider",label:"num_inference_steps",label_en:"Sampling steps",default:40,minimum:8,maximum:40,step:1,precision:0,info:"Euler sampler steps."},{name:"text_guidance_scale",type:"slider",label:"text_guidance_scale",label_en:"Text guidance",default:3,minimum:0,maximum:10,step:.1},{name:"speaker_guidance_scale",type:"slider",label:"speaker_guidance_scale",label_en:"Speaker guidance",default:8,minimum:0,maximum:15,step:.1},{name:"truncation_factor",type:"slider",label:"truncation_factor",label_en:"Noise truncation",default:.8,minimum:0,maximum:1,step:.05},{name:"guidance_interval",type:"slider",label:"guidance_interval",label_en:"Guidance interval",default:1,minimum:1,maximum:3,step:1,precision:0,info:"Refresh the unconditional CFG lanes every Nth guided step. Higher is faster and works best with more steps; 1 is highest fidelity."},{name:"reference_duration_sec",type:"slider",label:"reference_duration_sec",label_en:"Reference trim (s)",default:15,minimum:1,maximum:60,step:1,info:"Trim the speaker reference before encoding. Around 10 s usually clones best."},{name:"seed",type:"number",label:"seed",label_en:"Seed",default:0,minimum:0,step:1,precision:0}],_comment:"WebUI TTS 高级参数控件配置:按模型 family 动态生成控件(gr.render)。每项字段:name=选项键;type=slider|number|bool|text|choice;scope=session 时写入 session_options,否则随请求 options 透传给模型;label/info=显示文案;default=默认值(应等于模型默认,已按 src/models//*.cpp 校对);minimum/maximum/step=数值范围;precision=0 表示整数;choices=下拉候选。seed/max_tokens 已有专用输入框,勿在此重复;参考文本用『参考文本』框(reference_text);文件路径/parity 类参数(如 *_noise_file)未纳入,可用『其它参数(JSON)』兜底框传。",qwen3_tts:[{name:"temperature",type:"slider",label:"temperature",default:.9,minimum:0,maximum:2,step:.05},{name:"top_k",type:"number",label:"top_k",default:50,minimum:0,step:1,precision:0},{name:"top_p",type:"slider",label:"top_p",default:1,minimum:0,maximum:1,step:.01},{name:"repetition_penalty",type:"slider",label:"repetition_penalty",default:1.05,minimum:1,maximum:2,step:.01},{name:"do_sample",type:"bool",label:"do_sample",default:!0},{name:"instruct",type:"text",label:"instruct(仅 VoiceDesign/CustomVoice)",default:"",placeholder:"风格/音色指令,Base 版忽略"},{name:"speaker",type:"text",label:"speaker(仅 CustomVoice)",default:"",placeholder:"内置音色名,其它版忽略"}],vibevoice:[{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:10,minimum:1,step:1,precision:0,info:"扩散步数(官方默认 10),越大越慢越稳"},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:1.3,minimum:0,maximum:5,step:.1,info:"CFG 引导强度"},{name:"max_length_times",type:"number",label:"max_length_times",default:2,minimum:.1,step:.1,info:"最大输出长度倍数"},{name:"temperature",type:"slider",label:"temperature",default:1,minimum:.05,maximum:2,step:.05},{name:"top_p",type:"slider",label:"top_p",default:1,minimum:.05,maximum:1,step:.01},{name:"do_sample",type:"bool",label:"do_sample",default:!1},{name:"voice_samples",type:"text",label:"voice_samples(多说话人,逗号分隔 wav,≤4)",default:"",placeholder:"D:/a.wav,D:/b.wav — 用此项时勿再上传参考音色"}],voxcpm2:[{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:10,minimum:1,step:1,precision:0,info:"CFM/DiT 步数"},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2,minimum:0,maximum:5,step:.1},{name:"text_chunk_mode",type:"choice",label:"text_chunk_mode",default:"tag_aware",choices:["default","tag_aware","japanese","endline"]},{name:"min_tokens",type:"number",label:"min_tokens",default:2,minimum:0,step:1,precision:0},{name:"retry_badcase",type:"bool",label:"retry_badcase(自动重试异常输出)",default:!0}],voxcpm1:[{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:10,minimum:1,step:1,precision:0,info:"CFM/DiT 步数"},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2,minimum:0,maximum:5,step:.1},{name:"min_tokens",type:"number",label:"min_tokens",default:2,minimum:0,step:1,precision:0},{name:"retry_badcase",type:"bool",label:"retry_badcase(自动重试异常输出)",default:!0}],miotts:[{name:"temperature",type:"slider",label:"temperature",default:.8,minimum:0,maximum:2,step:.05},{name:"top_k",type:"number",label:"top_k",default:50,minimum:0,step:1,precision:0},{name:"top_p",type:"slider",label:"top_p",default:1,minimum:0,maximum:1,step:.01},{name:"repetition_penalty",type:"slider",label:"repetition_penalty",default:1,minimum:1,maximum:1.5,step:.01},{name:"best_of_n",type:"number",label:"best_of_n(候选数,>1 自动开启)",default:1,minimum:1,maximum:8,step:1,precision:0}],chatterbox:[{name:"exaggeration",type:"slider",label:"exaggeration",default:.5,minimum:0,maximum:2,step:.05,info:"改动后需重新『加载模型』才生效"},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:.5,minimum:0,maximum:1,step:.05,info:"改动后需重新『加载模型』才生效"},{name:"temperature",type:"slider",label:"temperature",default:.8,minimum:0,maximum:2,step:.05},{name:"repetition_penalty",type:"slider",label:"repetition_penalty",default:1.2,minimum:1,maximum:2,step:.01}],"chatterbox-vc":[{name:"s3gen_cfg_rate",type:"slider",label:"s3gen_cfg_rate(音色引导强度)",label_en:"s3gen_cfg_rate (voice guidance)",default:.7,minimum:0,maximum:2,step:.05},{name:"num_inference_steps",type:"number",label:"num_inference_steps(生成步数)",label_en:"num_inference_steps",default:10,minimum:1,maximum:100,step:1,precision:0}],omnivoice:[{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:32,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2,minimum:0,maximum:5,step:.1},{name:"speed",type:"slider",label:"speed",default:1,minimum:.5,maximum:2,step:.05},{name:"instruct",type:"text",label:"instruct(风格/音色指令)",default:"",placeholder:"如:以轻快的语气朗读"}],sense_asr:[{name:"enable_itn",type:"bool",label:"enable_itn(逆文本规范化)",label_en:"enable_itn",default:!0},{name:"keep_tags",type:"bool",label:"keep_tags(保留语言/情绪/事件标签)",label_en:"keep_tags",default:!1},{name:"audio_chunk_mode",type:"choice",label:"audio_chunk_mode",default:"auto",choices:["auto","fixed","none"]},{name:"audio_chunk_duration_sec",type:"number",label:"audio_chunk_duration_sec",default:30,minimum:.001,step:1}],confucius4_r2t2:[{name:"chunk_size_ms",type:"slider",scope:"session",session_option:"confucius4_r2t2.chunk_size_ms",label:"chunk_size_ms(流式分块毫秒)",label_en:"chunk_size_ms (streaming chunk, ms)",default:320,minimum:80,maximum:2e3,step:10,precision:0,info:"80-2000ms:越小延迟越低;320ms 在 Apple Silicon 上延迟与速度较均衡。",info_en:"80-2000 ms. Lower means lower latency; 320 ms balances latency and speed on Apple Silicon."},{name:"unfixed_chunk_num",type:"number",scope:"session",session_option:"confucius4_r2t2.unfixed_chunk_num",label:"unfixed_chunk_num(前 N 块不用稳定前缀)",label_en:"unfixed_chunk_num (leading chunks without prefix)",default:2,minimum:0,maximum:10,step:1,precision:0,info:"开头若干块不使用已识别文本作为前缀提示。",info_en:"Leading chunks that decode without a stable-prefix prompt."},{name:"unfixed_token_num",type:"number",scope:"session",session_option:"confucius4_r2t2.unfixed_token_num",label:"unfixed_token_num(回滚 token 数)",label_en:"unfixed_token_num (rollback tokens)",default:5,minimum:0,maximum:20,step:1,precision:0,info:"作为前缀前从累积文本回滚的 token 数,用于降低边界抖动。",info_en:"Tokens rolled back from the accumulated text before it is used as the prefix prompt."},{name:"rollback_punctuation",type:"bool",scope:"session",session_option:"confucius4_r2t2.rollback_punctuation",label:"rollback_punctuation(句末标点不回滚)",label_en:"rollback_punctuation (keep trailing punctuation)",default:!1,info:"输出已以标点结尾时不再回滚 token。",info_en:"Do not roll back tokens when the output already ends with punctuation."},{name:"max_new_tokens",type:"number",scope:"session",session_option:"confucius4_r2t2.max_tokens",label:"max_new_tokens(每分块解码上限)",label_en:"max_new_tokens (per-chunk decode budget)",default:32,minimum:1,maximum:256,step:1,precision:0,info:"每个流式分块的贪婪解码上限(会话级,区别于离线 max_tokens)。",info_en:"Greedy decode budget per streaming chunk (session-scoped; distinct from offline max_tokens)."}],pocket_tts:[{name:"frames_after_eos",type:"number",label:"frames_after_eos(-1=自动)",default:-1,minimum:-1,step:1,precision:0}],neutts:[{name:"voice_id",type:"choice",label:"voice_id(内置音色)",label_en:"voice_id (built-in voice)",default:"emily",choices:["dave","emily","greta","jo","juliette","mateo","paul","sophie","steven"]},{name:"emotion",type:"choice",label:"emotion(情绪)",label_en:"emotion",default:"neutral",choices:["angry","disgusted","sad","happy","fearful","neutral","surprised"]}],magpie_tts:[{name:"language",type:"choice",label:"language",default:"en",choices:["en","ar-AE","ar-MSA","ar-SA","de","es","fr","hi","it","ko","pt-BR","vi","zh"]},{name:"voice_id",type:"choice",label:"voice_id(打包音色)",label_en:"voice_id (packaged voice)",default:"Aria",choices:["Aria","Jason","John","Leo","Sofia"]},{name:"temperature",type:"slider",label:"temperature",default:.6,minimum:0,maximum:2,step:.05},{name:"top_k",type:"number",label:"top_k",default:80,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2.5,minimum:0,maximum:6,step:.1},{name:"text_chunk_size",type:"number",label:"text_chunk_size",default:300,minimum:1,step:1,precision:0},{name:"text_chunk_mode",type:"choice",label:"text_chunk_mode",default:"default",choices:["default","tag_aware","japanese","endline"]}],breeze_tts:[{name:"instruction",type:"text",label:"instruction",label_en:"Instruction",default:"",placeholder:"Describe the target voice for VoiceDesign."},{name:"text_chunk_size",type:"number",label:"text_chunk_size",default:600,minimum:1,step:1,precision:0},{name:"text_chunk_mode",type:"choice",label:"text_chunk_mode",default:"default",choices:["default","tag_aware","japanese","endline"]},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:1,minimum:0,maximum:10,step:.1},{name:"temperature",type:"slider",label:"temperature",default:.9,minimum:0,maximum:2,step:.05},{name:"depth_temperature",type:"slider",label:"depth_temperature",default:.9,minimum:0,maximum:2,step:.05},{name:"top_k",type:"number",label:"top_k",default:50,minimum:0,step:1,precision:0},{name:"top_p",type:"slider",label:"top_p",default:1,minimum:0,maximum:1,step:.01}],"breeze-tts":[{name:"text_chunk_size",type:"number",label:"text_chunk_size",default:600,minimum:1,step:1,precision:0},{name:"text_chunk_mode",type:"choice",label:"text_chunk_mode",default:"default",choices:["default","tag_aware","japanese","endline"]},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:1,minimum:0,maximum:10,step:.1},{name:"temperature",type:"slider",label:"temperature",default:.9,minimum:0,maximum:2,step:.05},{name:"depth_temperature",type:"slider",label:"depth_temperature",default:.9,minimum:0,maximum:2,step:.05},{name:"top_k",type:"number",label:"top_k",default:50,minimum:0,step:1,precision:0},{name:"top_p",type:"slider",label:"top_p",default:1,minimum:0,maximum:1,step:.01}],cosyvoice3:[{name:"template_name",type:"choice",label:"template_name",default:"zero_shot",choices:["zero_shot","cross_lingual","instruct"]},{name:"instruction",type:"text",label:"instruction",label_en:"Instruction",default:"",placeholder:"Used by template_name=instruct."},{name:"text_chunk_size",type:"number",label:"text_chunk_size",default:600,minimum:1,step:1,precision:0},{name:"text_chunk_mode",type:"choice",label:"text_chunk_mode",default:"default",choices:["default","tag_aware","japanese","endline"]},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:10,minimum:1,step:1,precision:0},{name:"min_tokens",type:"number",label:"min_tokens",default:0,minimum:0,step:1,precision:0},{name:"top_k",type:"number",label:"top_k",default:25,minimum:1,step:1,precision:0}],inflect_v2:[{name:"speaking_rate",type:"slider",label:"speaking_rate(语速倍率)",label_en:"speaking_rate",default:1,minimum:.5,maximum:2,step:.05},{name:"variation",type:"slider",label:"variation(音色变化)",label_en:"variation",default:.667,minimum:0,maximum:1,step:.01},{name:"text_chunk_size",type:"number",label:"text_chunk_size(长文本分段字符数)",label_en:"text_chunk_size",default:280,minimum:1,step:1,precision:0}],sanotts:[{name:"speaking_rate",type:"slider",label:"speaking_rate(语速倍率)",label_en:"speaking_rate",default:1,minimum:.5,maximum:2,step:.05},{name:"text_chunk_size",type:"number",label:"text_chunk_size(长文本分段字符数)",label_en:"text_chunk_size",default:280,minimum:1,step:1,precision:0},{name:"text_chunk_mode",type:"choice",label:"text_chunk_mode",default:"word_budget",choices:["word_budget"]}],dramabox:[{name:"negative_prompt",type:"text",label:"negative_prompt(负向提示)",label_en:"negative_prompt",default:"",placeholder:"留空=模型内置质量提示",placeholder_en:"Blank = built-in quality prompt"},{name:"duration_sec",type:"number",label:"duration_sec(0=自动估时)",label_en:"duration_sec (0 = auto)",default:0,minimum:0,step:.5},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:30,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2.5,minimum:0,maximum:8,step:.1},{name:"spatio_temporal_guidance_scale",type:"slider",label:"spatio_temporal_guidance_scale",default:1.5,minimum:0,maximum:5,step:.1},{name:"duration_scale",type:"slider",label:"duration_scale(自动估时倍率)",label_en:"duration_scale",default:1.1,minimum:.5,maximum:2,step:.05},{name:"reference_duration_sec",type:"number",label:"reference_duration_sec(参考音频裁剪/重复秒数)",label_en:"reference_duration_sec",default:10,minimum:0,step:.5},{name:"guidance_rescale",type:"text",label:"guidance_rescale",default:"auto",placeholder:"auto 或数值"},{name:"audio_chunk_threshold_sec",type:"number",label:"audio_chunk_threshold_sec(长文本阈值)",label_en:"audio_chunk_threshold_sec",default:45,minimum:0,step:1},{name:"audio_chunk_duration_sec",type:"number",label:"audio_chunk_duration_sec(长文本分段目标时长)",label_en:"audio_chunk_duration_sec",default:37,minimum:0,step:1},{name:"cross_fade_duration_sec",type:"number",label:"cross_fade_duration_sec(分段交叉淡化)",label_en:"cross_fade_duration_sec",default:.05,minimum:0,step:.01}],confucius4_tts:[{name:"temperature",type:"slider",label:"temperature",default:.8,minimum:0,maximum:2,step:.05},{name:"top_p",type:"slider",label:"top_p",default:.8,minimum:0,maximum:1,step:.01},{name:"top_k",type:"number",label:"top_k",default:30,minimum:1,step:1,precision:0},{name:"num_beams",type:"number",label:"num_beams",default:3,minimum:1,step:1,precision:0},{name:"repetition_penalty",type:"slider",label:"repetition_penalty",default:10,minimum:0,maximum:20,step:.1},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:25,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:.7,minimum:0,maximum:2,step:.05},{name:"text_chunk_size",type:"number",label:"text_chunk_size",default:80,minimum:1,step:1,precision:0},{name:"text_chunk_mode",type:"choice",label:"text_chunk_mode",default:"default",choices:["default","tag_aware","japanese","endline"]},{name:"cross_fade_duration_sec",type:"number",label:"cross_fade_duration_sec",default:.3,minimum:0,step:.05},{name:"edge_fade_duration_sec",type:"number",label:"edge_fade_duration_sec",default:.1,minimum:0,step:.05},{name:"edge_pad_duration_sec",type:"number",label:"edge_pad_duration_sec",default:.1,minimum:0,step:.05}],ace_step:[{name:"route",type:"choice",label:"route(操作类型)",default:"text2music",choices:["text2music","complete","lego","extract","cover","cover-nofsq","repaint","remix"],info:"cover/remix=换词翻唱,非 text2music 需上传源音频;详见 webui/README.md"},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:8,minimum:1,maximum:20,step:1,precision:0,info:"扩散步数(turbo 上限 20);remix 路由不填时默认 16,其他路由默认 8"},{name:"shift",type:"slider",label:"shift(时间步弯曲)",default:3,minimum:1,maximum:5,step:.5,info:"原版 turbo 默认 3.0;1.0 会明显劣化 remix 换词咬字"},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:1,minimum:0,maximum:5,step:.1},{name:"audio_cover_strength",type:"slider",label:"【cover】audio_cover_strength",default:1,minimum:0,maximum:1,step:.05,info:"1=贴近原曲,0=自由发挥;建议 0.5"},{name:"cover_noise_strength",type:"slider",label:"【cover】cover_noise_strength",default:0,minimum:0,maximum:1,step:.05,info:"保旋律强度;推荐 0.1~0.25"},{name:"source_caption",type:"text",label:"【remix】source_caption",default:"",placeholder:"源歌曲描述;『🔍 分析』自动填"},{name:"source_lyrics",type:"text",lines:4,label:"【remix】source_lyrics",default:"",placeholder:"源歌曲原歌词;『🔍 分析』自动填"},{name:"flow_edit_n_min",type:"slider",label:"【remix】flow_edit_n_min",default:0,minimum:0,maximum:1,step:.05,info:"调大更保源曲、换词更弱"},{name:"flow_edit_n_max",type:"slider",label:"【remix】flow_edit_n_max",default:1,minimum:0,maximum:1,step:.05,info:"唱不出新歌词时降到 0.7~0.9"},{name:"flow_edit_n_avg",type:"number",label:"【remix】flow_edit_n_avg",default:2,minimum:1,maximum:4,step:1,precision:0,info:"每步多次采样取平均(remix 默认 2);1=最快"},{name:"bpm",type:"number",label:"【曲谱】BPM",default:0,minimum:0,step:1,precision:0,info:"0=不指定"},{name:"keyscale",type:"text",label:"【曲谱】keyscale",default:"",placeholder:"如 F major"},{name:"timesignature",type:"text",label:"【曲谱】timesignature",default:"",placeholder:"如 4"}],minimax_music3:[{name:"num_inference_steps",type:"number",label:"Flow steps per window",default:30,minimum:1,maximum:200,step:1,precision:0,info:"Flow-matching Euler steps per 200-frame denoising window."},{name:"guidance_scale",type:"slider",label:"Flow guidance scale",default:1.7,minimum:0,maximum:10,step:.1},{name:"ar_guidance_scale",type:"slider",label:"AR guidance scale",default:1.5,minimum:0,maximum:10,step:.1,info:"Classifier-free guidance of the semantic and residual code sampling."},{name:"top_k",type:"number",label:"top_k",default:50,minimum:1,maximum:1024,step:1,precision:0}],yue2:[{name:"ar_lora",type:"text",scope:"session",session_option:"yue2.ar_lora",label:"ar_lora",label_en:"AR LoRA adapter",default:"",placeholder:"/path/to/ar_lora_inst_v3abc.safetensors",info:"Unfused AR adapter for score and semantic planning; relative paths resolve against the model root. Reload the model after changing this value."},{name:"ar_lora_scale",type:"number",scope:"session",session_option:"yue2.ar_lora_scale",label:"ar_lora_scale",label_en:"AR LoRA strength",default:1,step:.1,info:"Scales the AR adapter deltas; 0 disables it. Reload the model after changing this value."},{name:"nar_lora",type:"text",scope:"session",session_option:"yue2.nar_lora",label:"nar_lora",label_en:"NAR LoRA adapter",default:"",placeholder:"/path/to/nar_lora_joint_v4.safetensors",info:"Unfused NAR adapter for acoustic detail; relative paths resolve against the model root. Reload the model after changing this value."},{name:"nar_lora_scale",type:"number",scope:"session",session_option:"yue2.nar_lora_scale",label:"nar_lora_scale",label_en:"NAR LoRA strength",default:1,step:.1,info:"Scales the LoRA deltas only; any full vae2llm/llm2vae projection replacements in the adapter stay at full strength. 0 disables the entire adapter. Reload the model after changing this value."},{name:"main_gguf",type:"choice",scope:"session",session_option:"yue2.model_gguf",label:"main_gguf",label_en:"Main weights",default:"yue2-3b-q8_0.gguf",choices:["yue2-3b-q8_0.gguf","yue2-3b-q4_0.gguf","yue2-3b-bf16.gguf"],info:"Reload the model after changing this value."},{name:"vae_gguf",type:"choice",scope:"session",session_option:"yue2.vae_gguf",label:"vae_gguf",label_en:"VAE weights",default:"yue2-vae-f16.gguf",choices:["yue2-vae-f16.gguf","yue2-vae-f32.gguf"],info:"Reload the model after changing this value."},{name:"style",type:"text",label:"style",label_en:"Style",default:"English, indie pop, bright acoustic guitar, soft drums, warm lead vocal, polished demo mix",placeholder:"English, city pop, groovy bass, synth, energetic vocal"},{name:"abc",type:"text",label:"abc",label_en:"ABC score",default:"",placeholder:"Optional ABC notation. Use cot=melody or cot=full.",lines:4},{name:"abc_file",type:"text",label:"abc_file",label_en:"ABC file path",default:"",placeholder:"/path/to/score.abc"},{name:"cot",type:"choice",label:"cot",label_en:"Planning route",default:"off",choices:["off","melody","full"],info:"off = direct generation; melody/full use or generate ABC planning."},{name:"guidance_scale",type:"slider",label:"guidance_scale",label_en:"Semantic guidance",default:1.01,minimum:0,maximum:5,step:.01},{name:"num_inference_steps",type:"number",label:"num_inference_steps",label_en:"NAR steps",default:8,minimum:1,maximum:64,step:1,precision:0},{name:"abc_temperature",type:"slider",label:"abc_temperature",label_en:"ABC temperature",default:.7,minimum:0,maximum:2,step:.05},{name:"abc_top_p",type:"slider",label:"abc_top_p",label_en:"ABC top-p",default:.9,minimum:.01,maximum:1,step:.01},{name:"abc_top_k",type:"number",label:"abc_top_k",label_en:"ABC top-k",default:30,minimum:1,step:1,precision:0},{name:"abc_repetition_penalty",type:"slider",label:"abc_repetition_penalty",label_en:"ABC repetition penalty",default:1.005,minimum:.1,maximum:2,step:.001},{name:"abc_penalty_window",type:"number",label:"abc_penalty_window",label_en:"ABC penalty window",default:100,minimum:1,step:1,precision:0},{name:"abc_min_tokens",type:"number",label:"abc_min_tokens",label_en:"ABC min tokens",default:32,minimum:0,step:1,precision:0},{name:"abc_max_tokens",type:"number",label:"abc_max_tokens",label_en:"ABC max tokens",default:4096,minimum:1,step:1,precision:0},{name:"semantic_temperature",type:"slider",label:"semantic_temperature",label_en:"Semantic temperature",default:1,minimum:0,maximum:2,step:.05},{name:"semantic_top_p",type:"slider",label:"semantic_top_p",label_en:"Semantic top-p",default:.95,minimum:.01,maximum:1,step:.01},{name:"semantic_top_k",type:"number",label:"semantic_top_k",label_en:"Semantic top-k",default:100,minimum:1,step:1,precision:0},{name:"semantic_repetition_penalty",type:"slider",label:"semantic_repetition_penalty",label_en:"Semantic repetition penalty",default:1.2,minimum:.1,maximum:2,step:.01},{name:"semantic_penalty_window",type:"number",label:"semantic_penalty_window",label_en:"Semantic penalty window",default:50,minimum:1,step:1,precision:0},{name:"semantic_min_tokens",type:"number",label:"semantic_min_tokens",label_en:"Semantic min tokens",default:200,minimum:0,step:1,precision:0},{name:"semantic_max_tokens",type:"number",label:"semantic_max_tokens",label_en:"Semantic max tokens",default:9e3,minimum:1,step:1,precision:0}],minimax_h3:[{name:"num_inference_steps",type:"number",label:"Denoising steps",default:12,minimum:1,maximum:50,step:1,precision:0,info:"Twelve denoising steps provide a practical quality and performance balance."},{name:"num_frames",type:"number",label:"Output frames",default:241,minimum:5,maximum:1441,step:4,precision:0,info:"Approximately 24 frames per output second; 241 frames produces about 10 seconds of audio."},{name:"guidance_scale",type:"slider",label:"Guidance scale",default:1,minimum:0,maximum:5,step:.1},{name:"sampler",type:"choice",label:"Sampler",default:"euler",choices:["euler","res_multistep","dpmpp_2m","unipc"]},{name:"dit_acceleration",type:"choice",label:"DiT acceleration",default:"none",choices:["none","spectrum","first_block_cache"],info:"None uses the quality-first full-DiT path. Acceleration modes are experimental and may distort some outputs."},{name:"return_video",type:"bool",label:"Decode video",default:!1,info:"Disabled by default to reduce memory use and return audio only."}],stable_audio:[{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:8,minimum:1,step:1,precision:0,info:"RF 扩散步数"},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:1,minimum:0,maximum:5,step:.1},{name:"audio_input_kind",type:"choice",label:"audio_input_kind(仅上传源音频时生效)",default:"init_audio",choices:["init_audio","inpaint_audio"]},{name:"init_noise_level",type:"slider",label:"init_noise_level(init_audio 强度)",default:1,minimum:0,maximum:1,step:.05}],seed_vc:[{name:"route",type:"choice",label:"route(转换路径)",default:"",choices:["","v2_vc","v1_whisper_bigvgan_vc","v1_xlsr_hift_vc","v1_svc"],info:"留空=按任务默认"},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:30,minimum:1,step:1,precision:0,info:"CFM 扩散步数"},{name:"length_adjust",type:"slider",label:"length_adjust(时长伸缩)",default:1,minimum:.5,maximum:2,step:.05},{name:"intelligibility_cfg_rate",type:"slider",label:"intelligibility_cfg_rate(仅 v2_vc)",default:.7,minimum:0,maximum:1,step:.05},{name:"similarity_cfg_rate",type:"slider",label:"similarity_cfg_rate(仅 v2_vc)",default:.7,minimum:0,maximum:1,step:.05},{name:"inference_cfg_rate",type:"slider",label:"inference_cfg_rate(仅 v1 路径)",default:.7,minimum:0,maximum:1,step:.05}],rvc:[{name:"voice_id",type:"choice",label:"voice_id(打包音色)",label_en:"voice_id",default:"default",choices:["default","manthos","chocola","fraise"]},{name:"voice_model_path",type:"text",label:"voice_model_path(自定义 RVC .pth/.pt)",label_en:"voice_model_path",default:"",placeholder:"留空=使用打包音色"},{name:"retrieval_index_path",type:"text",label:"retrieval_index_path(FAISS index)",label_en:"retrieval_index_path",default:"",placeholder:"可选 .index 路径"},{name:"retrieval_blend",type:"slider",label:"retrieval_blend",default:0,minimum:0,maximum:1,step:.05},{name:"semitone_shift",type:"number",label:"semitone_shift(半音变调)",label_en:"semitone_shift",default:0,step:1,precision:0},{name:"pitch_filter_radius",type:"number",label:"pitch_filter_radius",default:3,minimum:0,step:1,precision:0},{name:"output_sample_rate",type:"number",label:"output_sample_rate(0=跟随音色)",label_en:"output_sample_rate (0 = voice default)",default:0,minimum:0,step:1e3,precision:0},{name:"rms_mix_rate",type:"slider",label:"rms_mix_rate",default:.25,minimum:0,maximum:1,step:.05},{name:"unvoiced_protection",type:"slider",label:"unvoiced_protection",default:.33,minimum:0,maximum:1,step:.01},{name:"speaker_id",type:"number",label:"speaker_id",default:0,minimum:0,step:1,precision:0},{name:"audio_pad_duration_sec",type:"number",label:"audio_pad_duration_sec",default:1,minimum:1,step:1,precision:0},{name:"split_query_sec",type:"number",label:"split_query_sec",default:5,minimum:1,step:1,precision:0},{name:"split_center_sec",type:"number",label:"split_center_sec",default:30,minimum:1,step:1,precision:0},{name:"split_threshold_sec",type:"number",label:"split_threshold_sec",default:32,minimum:1,step:1,precision:0}],meanvc2:[{name:"seed",type:"number",label:"seed",default:42,minimum:0,step:1,precision:0}],personaplex:[{name:"voice_id",type:"choice",label:"voice_id(打包音色)",label_en:"voice_id (packaged voice)",default:"NATF2",choices:["NATF0","NATF1","NATF2","NATF3","NATM0","NATM1","NATM2","NATM3","VARF0","VARF1","VARF2","VARF3","VARF4","VARM0","VARM1","VARM2","VARM3","VARM4"]},{name:"system_prompt",type:"text",label:"system_prompt",default:"",placeholder:"Leave blank to use the text box as the system prompt."},{name:"temperature",type:"slider",label:"temperature",default:.8,minimum:0,maximum:2,step:.05},{name:"text_temperature",type:"slider",label:"text_temperature",default:.8,minimum:0,maximum:2,step:.05},{name:"top_k",type:"number",label:"top_k",default:250,minimum:0,step:1,precision:0},{name:"text_top_k",type:"number",label:"text_top_k",default:250,minimum:0,step:1,precision:0},{name:"do_sample",type:"bool",label:"do_sample",default:!0}],vevo2:[{name:"route",type:"choice",label:"route(任务路线)",default:"",choices:["","style_preserved_vc","style_converted_vc","style_preserved_svc","style_converted_svc","singing_style_conversion","editing"],info:"留空=按任务默认;详见 webui/README.md"},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:32,minimum:1,step:1,precision:0,info:"流匹配步数"},{name:"use_pitch_shift",type:"choice",label:"use_pitch_shift(自动音高对齐)",default:"",choices:["","true","false"],info:"留空=按路线默认"},{name:"audio_chunk_duration_sec",type:"number",label:"audio_chunk_duration_sec(源音频分段秒数)",default:0,minimum:0,step:1,info:"0=关闭;仅用于 source-audio VC/SVC 路线"},{name:"cross_fade_duration_sec",type:"number",label:"cross_fade_duration_sec(分段重叠/淡化秒数)",default:1,minimum:0,step:.1,info:"source-audio 分段启用时作为输入重叠和输出交叉淡化时长"},{name:"temperature",type:"slider",label:"temperature(AR 路线用)",default:.7,minimum:0,maximum:2,step:.05,info:"默认取自模型 generation_config.json"},{name:"top_k",type:"number",label:"top_k(AR 路线用)",default:20,minimum:0,step:1,precision:0,info:"默认取自模型 generation_config.json"},{name:"top_p",type:"slider",label:"top_p(AR 路线用)",default:.8,minimum:0,maximum:1,step:.01}],heartmula:[{name:"tags",type:"text",label:"tags(逗号分隔)",default:"pop",placeholder:"pop,bright,drums,female vocals",info:"风格/情绪/乐器/人声标签"},{name:"temperature",type:"slider",label:"temperature",default:1,minimum:0,maximum:2,step:.05},{name:"top_k",type:"number",label:"top_k",default:50,minimum:0,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale(MuLa CFG)",default:1.5,minimum:0,maximum:5,step:.1},{name:"num_inference_steps",type:"number",label:"num_inference_steps(codec 步数)",default:10,minimum:1,step:1,precision:0},{name:"infinite_mode",type:"bool",label:"infinite_mode(长输出分段生成)",default:!1},{name:"codec_guidance_scale",type:"slider",label:"codec_guidance_scale",default:1.25,minimum:0,maximum:5,step:.05}],index_tts2:[{name:"lang",type:"choice",label:"lang(语种提示, 仅 IndexTTS2.5 模型)",label_en:"lang (language hint, IndexTTS2.5 models only)",default:"auto",choices:["auto","zh","en","ja","es","ar"],info:"仅对 IndexTTS2.5(多语种)模型生效:auto 含汉字按中文,否则按英文;日/西/阿建议显式选择",info_en:"Only applies to IndexTTS2.5 (multilingual) models: auto picks zh when the text contains Han characters, otherwise en; set ja/es/ar explicitly"},{name:"emotion_text",type:"text",label:"emotion_text(情绪参考文本)",label_en:"emotion_text (emotion reference text)",default:"",placeholder:"例:你吓死我了!你是鬼吗?",placeholder_en:"e.g. You scared me to death!",info:"填写后自动开启情感条件(use_emotion_text)",info_en:"Setting this enables emotion conditioning."},{name:"emotion_alpha",type:"slider",label:"emotion_alpha(情感强度)",label_en:"emotion_alpha",default:1,minimum:0,maximum:1,step:.05},{name:"use_emotion_text",type:"bool",label:"use_emotion_text(从朗读文本推断情感)",label_en:"use_emotion_text (infer from text)",default:!1},{name:"use_random_emotion",type:"bool",label:"use_random_emotion(随机情感)",label_en:"use_random_emotion",default:!1},{name:"interval_silence_ms",type:"number",label:"interval_silence_ms(分段间静音)",label_en:"interval_silence_ms",default:200,minimum:0,step:50,precision:0},{name:"duration_factor",type:"slider",label:"duration_factor(语速/时长倍率,>1 更慢,<1 更快)",label_en:"duration_factor (duration multiplier; >1 slower, <1 faster)",default:1,minimum:.5,maximum:2,step:.05,info:"对齐官方 IndexTTS2.5 的 duration_factor:缩放输出时长,不改变音色/内容",info_en:"Matches official IndexTTS2.5 duration_factor: scales output duration without changing timbre or content"}],zipvoice:[{name:"guidance_scale",type:"slider",label:"guidance_scale(引导强度,0=关闭)",label_en:"guidance_scale (0 disables CFG)",default:3,minimum:0,maximum:10,step:.5},{name:"num_inference_steps",type:"number",label:"num_inference_steps(Euler 步数)",label_en:"num_inference_steps",default:8,minimum:1,maximum:64,step:1,precision:0},{name:"t_shift",type:"slider",label:"t_shift(时间步偏移,越小越偏低 SNR)",label_en:"t_shift (timestep shift)",default:.5,minimum:.05,maximum:1,step:.05},{name:"speed",type:"slider",label:"speed(语速倍率)",label_en:"speed (duration multiplier)",default:1,minimum:.5,maximum:2,step:.05},{name:"lang",type:"text",label:"lang(英文段 espeak 语言)",label_en:"lang (espeak voice for English runs)",default:"en-us",placeholder:"en-us"}],irodori_tts:[{name:"num_inference_steps",type:"number",label:"num_inference_steps(RF 扩散步数)",label_en:"num_inference_steps",default:40,minimum:1,step:1,precision:0},{name:"duration_sec",type:"number",label:"duration_sec(0=模型自动预测时长)",label_en:"duration_sec (0 = auto)",default:0,minimum:0,step:.5},{name:"duration_scale",type:"slider",label:"duration_scale(语速倒数,越大越慢)",label_en:"duration_scale",default:1,minimum:.5,maximum:2,step:.05}],moss_tts_local:[{name:"do_sample",type:"bool",label:"do_sample",default:!0},{name:"temperature",type:"slider",label:"temperature",default:1.7,minimum:0,maximum:2.5,step:.05},{name:"top_p",type:"slider",label:"top_p",default:.8,minimum:0,maximum:1,step:.01},{name:"top_k",type:"number",label:"top_k",default:25,minimum:0,step:1,precision:0},{name:"repetition_penalty",type:"slider",label:"repetition_penalty",default:1,minimum:1,maximum:2,step:.01}],moss_tts_nano:[{name:"do_sample",type:"bool",label:"do_sample",default:!0},{name:"temperature",type:"slider",label:"temperature",default:1.7,minimum:0,maximum:2.5,step:.05},{name:"top_p",type:"slider",label:"top_p",default:.8,minimum:0,maximum:1,step:.01},{name:"top_k",type:"number",label:"top_k",default:25,minimum:0,step:1,precision:0},{name:"repetition_penalty",type:"slider",label:"repetition_penalty",default:1,minimum:1,maximum:2,step:.01}],audiosr:[{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:50,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:3.5,minimum:0,maximum:10,step:.1},{name:"ddim_eta",type:"slider",label:"ddim_eta",default:1,minimum:0,maximum:1,step:.05},{name:"audio_chunk_duration_sec",type:"number",label:"audio_chunk_duration_sec",default:15,minimum:1,step:1},{name:"audio_chunk_overlap_sec",type:"number",label:"audio_chunk_overlap_sec",default:2,minimum:0,step:.5}],controlfoley:[{name:"duration_sec",type:"number",label:"duration_sec",default:8,minimum:.1,step:.5},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:25,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:4.5,minimum:0,maximum:10,step:.1},{name:"negative_prompt",type:"text",label:"negative_prompt",default:"",placeholder:"optional negative prompt"},{name:"mask_away_clip",type:"bool",label:"mask_away_clip",default:!1}],midashenglm_gen:[{name:"duration_sec",type:"number",label:"duration_sec",default:20,minimum:.1,step:.5},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2,minimum:0,maximum:10,step:.1},{name:"stop_threshold",type:"slider",label:"stop_threshold",default:.5,minimum:0,maximum:1,step:.05},{name:"min_stop_step",type:"number",label:"min_stop_step",default:5,minimum:0,step:1,precision:0}],"fireredtts3-base":[{name:"language",type:"choice",label:"language",default:"Chinese",choices:["Chinese","English","Cantonese","Japanese","Korean","Spanish","French","Russian","Arabic","Turkish","Indonesian","Portuguese","Italian","Dutch","Vietnamese","German","Ukrainian","Thai","Polish","Romanian","Greek","Czech","Finnish","Hindi","ZH_Anhui","ZH_Fujian","ZH_Gansu","ZH_Guizhou","ZH_Hebei","ZH_Henan","ZH_Hubei","ZH_Hunan","ZH_Jiangxi","ZH_Liaoning","ZH_Minnan","ZH_Ningxia","ZH_Shaanxi","ZH_Shandong","ZH_Shanghai","ZH_Shanxi","ZH_Sichuan","ZH_Tianjin","ZH_Wenzhou","ZH_Wu","ZH_Yunnan"]},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:10,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2,minimum:0,maximum:10,step:.1},{name:"stop_threshold",type:"slider",label:"stop_threshold",default:.5,minimum:0,maximum:1,step:.05}],"fireredtts3-instruct":[{name:"template_name",type:"choice",label:"template_name",default:"instruct_tts",choices:["instruct_tts"]},{name:"language",type:"choice",label:"language",default:"Chinese",choices:["Chinese","English","Cantonese","Japanese","Korean","Spanish","French","Russian","Arabic","Turkish","Indonesian","Portuguese","Italian","Dutch","Vietnamese","German","Ukrainian","Thai","Polish","Romanian","Greek","Czech","Finnish","Hindi","ZH_Anhui","ZH_Fujian","ZH_Gansu","ZH_Guizhou","ZH_Hebei","ZH_Henan","ZH_Hubei","ZH_Hunan","ZH_Jiangxi","ZH_Liaoning","ZH_Minnan","ZH_Ningxia","ZH_Shaanxi","ZH_Shandong","ZH_Shanghai","ZH_Shanxi","ZH_Tianjin","ZH_Wenzhou","ZH_Wu","ZH_Yunnan"]},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:10,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2,minimum:0,maximum:10,step:.1},{name:"stop_threshold",type:"slider",label:"stop_threshold",default:.5,minimum:0,maximum:1,step:.05},{name:"text_chunk_size",type:"number",label:"text_chunk_size",default:600,minimum:1,step:1,precision:0},{name:"text_chunk_mode",type:"choice",label:"text_chunk_mode",default:"default",choices:["default","tag_aware","japanese","endline"]}],"fireredtts3-instruct-vdesign":[{name:"template_name",type:"choice",label:"template_name",default:"voice_design",choices:["voice_design"]},{name:"language",type:"choice",label:"language",default:"Chinese",choices:["Chinese","English","Cantonese","Japanese","Korean","Spanish","French","Russian","Arabic","Turkish","Indonesian","Portuguese","Italian","Dutch","Vietnamese","German","Ukrainian","Thai","Polish","Romanian","Greek","Czech","Finnish","Hindi","ZH_Anhui","ZH_Fujian","ZH_Gansu","ZH_Guizhou","ZH_Hebei","ZH_Henan","ZH_Hubei","ZH_Hunan","ZH_Jiangxi","ZH_Liaoning","ZH_Minnan","ZH_Ningxia","ZH_Shaanxi","ZH_Shandong","ZH_Shanghai","ZH_Shanxi","ZH_Tianjin","ZH_Wenzhou","ZH_Wu","ZH_Yunnan"]},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:10,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2,minimum:0,maximum:10,step:.1},{name:"stop_threshold",type:"slider",label:"stop_threshold",default:.5,minimum:0,maximum:1,step:.05}],"firered-audio-tts":[{name:"template_name",type:"choice",label:"template_name",default:"tts_clone",choices:["tts_clone"]},{name:"language",type:"choice",label:"language",default:"zh",choices:["zh","en"]},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:10,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2,minimum:0,maximum:10,step:.1},{name:"max_new_audio_steps",type:"number",label:"max_new_audio_steps",default:750,minimum:1,step:1,precision:0},{name:"top_k",type:"number",label:"top_k",default:20,minimum:0,step:1,precision:0},{name:"top_p",type:"slider",label:"top_p",default:.8,minimum:0,maximum:1,step:.01},{name:"temperature",type:"slider",label:"temperature",default:.7,minimum:0,maximum:2,step:.05}],"firered-audio-vdesign":[{name:"template_name",type:"choice",label:"template_name",default:"voice_design",choices:["voice_design"]},{name:"language",type:"choice",label:"language",default:"zh",choices:["zh","en"]},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:10,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2,minimum:0,maximum:10,step:.1},{name:"max_new_audio_steps",type:"number",label:"max_new_audio_steps",default:750,minimum:1,step:1,precision:0}],"firered-audio-semantic-edit":[{name:"template_name",type:"choice",label:"template_name",default:"semantic_edit",choices:["semantic_edit"]},{name:"language",type:"choice",label:"language",default:"zh",choices:["zh","en"]},{name:"instruction",type:"text",label:"instruction",default:"",placeholder:"delete '比普通的茶叶要'"},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:10,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2,minimum:0,maximum:10,step:.1},{name:"max_new_audio_steps",type:"number",label:"max_new_audio_steps",default:750,minimum:1,step:1,precision:0},{name:"max_new_text_tokens",type:"number",label:"max_new_text_tokens",default:512,minimum:1,step:1,precision:0}],"firered-audio-acoustic-edit":[{name:"template_name",type:"choice",label:"template_name",default:"acoustic_edit",choices:["acoustic_edit"]},{name:"language",type:"choice",label:"language",default:"zh",choices:["zh","en"]},{name:"instruction",type:"text",label:"instruction",default:"shift the pitch by 3 steps",placeholder:"shift the pitch by 3 steps"},{name:"num_inference_steps",type:"number",label:"num_inference_steps",default:10,minimum:1,step:1,precision:0},{name:"guidance_scale",type:"slider",label:"guidance_scale",default:2,minimum:0,maximum:10,step:.1},{name:"max_new_audio_steps",type:"number",label:"max_new_audio_steps",default:750,minimum:1,step:1,precision:0}],"firered-audio-asr":[{name:"template_name",type:"choice",label:"template_name",default:"asr",choices:["asr","understand"]},{name:"language",type:"choice",label:"language",default:"zh",choices:["zh","en"]},{name:"enable_thinking",type:"bool",label:"enable_thinking",default:!1},{name:"max_new_tokens",type:"number",label:"max_new_tokens",default:512,minimum:1,step:1,precision:0},{name:"top_k",type:"number",label:"top_k",default:20,minimum:0,step:1,precision:0},{name:"top_p",type:"slider",label:"top_p",default:.8,minimum:0,maximum:1,step:.01},{name:"temperature",type:"slider",label:"temperature",default:.7,minimum:0,maximum:2,step:.05}],sopro_tts:[{name:"language",type:"choice",label:"language",label_en:"Language tag",default:"",choices:["","en","pt","fr","de"],info:"Optional <|lang_xx|> tag; helps pronunciation on ambiguous text."},{name:"temperature",type:"slider",label:"temperature",label_en:"Temperature",default:.8,minimum:0,maximum:2,step:.05},{name:"top_p",type:"slider",label:"top_p",label_en:"Top-p",default:.9,minimum:0,maximum:1,step:.01},{name:"top_k",type:"number",label:"top_k",label_en:"Top-k",default:25,minimum:0,step:1,precision:0,info:"0 disables top-k truncation."},{name:"num_inference_steps",type:"number",label:"num_inference_steps",label_en:"Acoustic steps",default:2,minimum:1,maximum:32,step:1,precision:0,info:"Rectified-flow Euler steps for the acoustic head."},{name:"max_seconds",type:"number",label:"max_seconds",label_en:"Max seconds per segment",default:30,minimum:1,maximum:60,step:.5,precision:1},{name:"min_seconds",type:"number",label:"min_seconds",label_en:"Min seconds per segment",default:.4,minimum:0,maximum:10,step:.1,precision:1,info:"Must not exceed max_seconds."},{name:"ref_seconds",type:"number",label:"ref_seconds",label_en:"Reference seconds",default:10,minimum:1,maximum:30,step:.5,precision:1,info:"Reference window used for cloning."},{name:"text_chunk_size",type:"number",label:"text_chunk_size",label_en:"Segment size",default:300,minimum:20,maximum:2e3,step:10,precision:0,info:"Max codepoints per synthesis segment."}],supertonic:[{name:"voice",type:"choice",label:"voice(预置音色:M 男声 / F 女声)",label_en:"voice (M = male, F = female presets)",default:"M1",choices:["M1","M2","M3","M4","M5","F1","F2","F3","F4","F5"]},{name:"speaking_rate",type:"slider",label:"speaking_rate(语速倍率)",label_en:"speaking_rate",default:1.05,minimum:.5,maximum:2,step:.05},{name:"num_inference_steps",type:"number",label:"num_inference_steps(流匹配步数)",label_en:"num_inference_steps",default:8,minimum:1,step:1,precision:0}],audio8_tts:[{name:"temperature",type:"slider",label:"temperature",default:.7,minimum:0,maximum:2,step:.05},{name:"top_p",type:"slider",label:"top_p",default:.9,minimum:0,maximum:1,step:.01},{name:"top_k",type:"number",label:"top_k",default:50,minimum:0,step:1,precision:0},{name:"max_tokens",type:"number",label:"max_tokens",default:1024,minimum:1,step:1,precision:0}]},Fg=Object.assign({"../../../../model_specs/ace_step.json":Vy,"../../../../model_specs/apollo.json":Iy,"../../../../model_specs/audio8_asr.json":Oy,"../../../../model_specs/audio8_tts.json":Hy,"../../../../model_specs/audiosr.json":Qy,"../../../../model_specs/auk.json":Wy,"../../../../model_specs/breeze_tts.json":Yy,"../../../../model_specs/bs_roformer.json":Ky,"../../../../model_specs/builtin_audio_utils.json":Xy,"../../../../model_specs/canary_asr.json":Zy,"../../../../model_specs/chatterbox.json":Jy,"../../../../model_specs/chatterbox_turbo.json":e3,"../../../../model_specs/citrinet_asr.json":t3,"../../../../model_specs/cohere_asr.json":a3,"../../../../model_specs/confucius4_r2t2.json":i3,"../../../../model_specs/confucius4_tts.json":n3,"../../../../model_specs/controlfoley.json":r3,"../../../../model_specs/cosyvoice3.json":s3,"../../../../model_specs/dots_tts.json":o3,"../../../../model_specs/dramabox.json":c3,"../../../../model_specs/echo_tts.json":l3,"../../../../model_specs/f5_tts.json":d3,"../../../../model_specs/firered_audio.json":u3,"../../../../model_specs/fireredtts3.json":f3,"../../../../model_specs/fish_audio.json":p3,"../../../../model_specs/fun_asr_nano.json":m3,"../../../../model_specs/glm_tts.json":g3,"../../../../model_specs/granite5asr.json":h3,"../../../../model_specs/heartmula.json":_3,"../../../../model_specs/higgs_audio_stt.json":v3,"../../../../model_specs/higgs_audio_tts.json":b3,"../../../../model_specs/htdemucs.json":y3,"../../../../model_specs/hviske_asr.json":k3,"../../../../model_specs/index_tts2.json":w3,"../../../../model_specs/inflect_v2.json":x3,"../../../../model_specs/irodori_tts.json":S3,"../../../../model_specs/kitten_tts.json":$3,"../../../../model_specs/kokoro_tts.json":T3,"../../../../model_specs/kroko_asr.json":q3,"../../../../model_specs/liveavatar.json":G3,"../../../../model_specs/magpie_tts.json":F3,"../../../../model_specs/meanvc2.json":A3,"../../../../model_specs/mel_band_roformer.json":C3,"../../../../model_specs/midashenglm_gen.json":M3,"../../../../model_specs/minimax_h3.json":z3,"../../../../model_specs/minimax_music3.json":j3,"../../../../model_specs/miocodec.json":U3,"../../../../model_specs/miotts.json":E3,"../../../../model_specs/mira_tts.json":R3,"../../../../model_specs/mms_forced_aligner.json":B3,"../../../../model_specs/moonshine_asr.json":P3,"../../../../model_specs/moss_transcribe_diarize.json":N3,"../../../../model_specs/moss_tts_local.json":D3,"../../../../model_specs/moss_tts_nano.json":L3,"../../../../model_specs/moss_tts_v15.json":V3,"../../../../model_specs/moss_voicegen.json":I3,"../../../../model_specs/muscriptor.json":O3,"../../../../model_specs/nemotron_asr.json":H3,"../../../../model_specs/neutts.json":Q3,"../../../../model_specs/niagara_asr.json":W3,"../../../../model_specs/omnivoice.json":Y3,"../../../../model_specs/outetts.json":K3,"../../../../model_specs/parakeet_tdt.json":X3,"../../../../model_specs/personaplex.json":Z3,"../../../../model_specs/piper_tts.json":J3,"../../../../model_specs/pocket_tts.json":ek,"../../../../model_specs/pulsevad.json":tk,"../../../../model_specs/qwen3_asr.json":ak,"../../../../model_specs/qwen3_forced_aligner.json":ik,"../../../../model_specs/qwen3_tts.json":nk,"../../../../model_specs/rvc.json":rk,"../../../../model_specs/sanotts.json":sk,"../../../../model_specs/seed_vc.json":ok,"../../../../model_specs/sense_asr.json":ck,"../../../../model_specs/sheetsage2.json":lk,"../../../../model_specs/soprano_tts.json":dk,"../../../../model_specs/sopro_tts.json":uk,"../../../../model_specs/sortformer_diar.json":fk,"../../../../model_specs/sortformer_diar_v2.json":pk,"../../../../model_specs/stable_audio.json":mk,"../../../../model_specs/supertonic.json":gk,"../../../../model_specs/universr.json":hk,"../../../../model_specs/vevo2.json":_k,"../../../../model_specs/vibeasr.json":vk,"../../../../model_specs/vibevoice.json":bk,"../../../../model_specs/vibevoice_asr.json":yk,"../../../../model_specs/vibevoice_asr_streaming.json":kk,"../../../../model_specs/vietneu_tts.json":wk,"../../../../model_specs/voxcpm1.json":xk,"../../../../model_specs/voxcpm2.json":Sk,"../../../../model_specs/voxtral_realtime.json":$k,"../../../../model_specs/yue2.json":Tk,"../../../../model_specs/zipvoice.json":qk}),Wd=Object.values(Fg).flatMap(t=>(t.packages||[]).map(a=>({...a,family:t.family}))),Ak=new Map(Object.values(Fg).map(t=>[t.family,t])),Ck=new Set(["canary_asr","cohere_asr","moss_transcribe_diarize","confucius4_r2t2","audiosr","controlfoley","breeze_tts","cosyvoice3","firered_audio","fireredtts3","irodori_tts","kokoro_tts","meanvc2","midashenglm_gen","sanotts"]),Mk=/[\u3400-\u4dbf\u4e00-\u9fff\uf900-\ufaff]/u;function nc(t,a){for(const r of[t,a])if(r&&!Mk.test(r))return r;return""}function zk(t,a,r){return nc(a,r)||t.replace(/_/g," ")}const Ag=t=>t.replace(/\\/g,"/").replace(/^\.\//,"").replace(/^models\//i,"").replace(/\/$/,"").toLowerCase(),Cg=t=>t.toLowerCase().replace(/[^a-z0-9]/g,"");function Yd(t){return t.find(a=>a.default)||t.find(a=>a.precision==="q8_0")||t[0]}function Mg(t){const a=Wd.filter(d=>d.family===t.family);if(!a.length)return[];if(t.family==="ace_step"||t.family==="minimax_music3"||!t.download_id)return a;const r=a.find(d=>d.id===t.download_id);if(r){const d=r.id.replace(/_(?:q8_0|q8|f16|fp16|bf16|safetensors|orig)$/i,""),p=a.filter(m=>m.id.replace(/_(?:q8_0|q8|f16|fp16|bf16|safetensors|orig)$/i,"")===d);return p.length?p:[r]}const n=Cg(t.download_id),i=a.filter(d=>{const p=Cg(d.id);return p.startsWith(n)||n.startsWith(p)});if(i.length)return i;const c=Ag(t.path),s=a.filter(d=>Ag(d.target_directory)===c);if(s.length){const d=new Set(s.map(m=>m.id.replace(/_(?:q8_0|q8|f16|fp16|bf16|safetensors|orig)$/i,""))),p=a.filter(m=>d.has(m.id.replace(/_(?:q8_0|q8|f16|fp16|bf16|safetensors|orig)$/i,"")));return p.length?p:s}return a}function jk(t){const a=Wd.filter(i=>i.family===t.family&&i.format==="gguf");if(!a.length)return[];if(t.family==="sanotts"||!t.download_id)return a;const r=a.find(i=>i.id===t.download_id);if(!r)return Mg(t);const n=a.filter(i=>i.target_directory===r.target_directory);return n.length?n:[r]}function zg(t,a){return a&&t.id===a?0:t.default?1:["q4_k","q4_0","q8_0","q8"].includes(t.precision)?2:["f16","fp16","bf16"].includes(t.precision)?3:t.precision==="f32"?4:t.precision==="orig"?5:6}function Kd(t){if(t.family==="sanotts"){if(t.id.includes("_heart_nano_"))return"Heart Nano";if(t.id.includes("_heart_"))return"Heart";if(t.id.includes("_amy_"))return"Amy";if(t.id.includes("_hfc_"))return"HFC";if(t.id.includes("_kristin_"))return"Kristin";if(t.id.includes("_vi_"))return"Vietnamese";if(t.id.includes("_id_"))return"Indonesian"}if(t.family==="ace_step"){const a=t.precision==="bf16"?"BF16":["q8_0","q8"].includes(t.precision)?"Q8":t.precision.toUpperCase();return t.id.includes("_xl_turbo_")?`GGUF Turbo XL ${a}`:t.id.includes("_xl_sft_")?`GGUF Turbo XL SFT ${a}`:t.id.includes("_turbo_")?`GGUF Turbo ${a}`:`GGUF ${a}`}return t.family==="irodori_tts"&&t.id.includes("_anime_")?"Anime Q8":t.family==="yue2"?t.id==="yue2_main_q8_0"?"Main Q8_0":t.id==="yue2_main_q4_0"?"Main Q4_0":t.id==="yue2_main_bf16"?"Main BF16":t.id==="yue2_vae_f16"?"VAE F16":t.id==="yue2_vae_f32"?"VAE F32":t.display_name||"Yue2 component":t.format==="safetensors"?"Safetensors":t.id.includes("int8_dit")?"GGUF Q4 ConvRot":t.precision==="q4_k"||t.precision==="q4_0"?"GGUF Q4":t.precision==="q8_0"||t.precision==="q8"?"GGUF Q8":t.precision==="bf16"?"GGUF BF16":t.precision==="f16"||t.precision==="fp16"?"GGUF FP16":`GGUF ${t.precision.toUpperCase()}`}function Xd(t){let a;if(t.format==="gguf"&&t.family==="minimax_h3"){const i=t.id.includes("int8_dit")?"dit_int8.gguf":"dit.gguf";a=t.files?.find(c=>c.toLowerCase().endsWith(`/${i}`))}else{if(t.format==="gguf"&&(t.family==="minimax_music3"||t.family==="yue2"))return`models/${t.target_directory}`;t.format==="gguf"&&(a=t.files?.find(i=>i.toLowerCase().endsWith(".gguf")))}if(!a)return`models/${t.target_directory}`;let r=a.replace(/\\/g,"/");const n=(t.strip_prefix||"").replace(/\\/g,"/").replace(/\/$/,"");return n&&r.startsWith(`${n}/`)&&(r=r.slice(n.length+1)),`models/${t.target_directory}/${r}`.replace(/\/+/g,"/")}function Zd(t){if(t.family==="minimax_music3"){if(t.id==="minimax_music3_q8_0")return{"minimax_music3.language_model_gguf":"language_model_q8_0.gguf","minimax_music3.rvq_depth_decoder_gguf":"rvq_depth_decoder_q8_0.gguf","minimax_music3.flow_transformer_gguf":"transformer_q8_0.gguf"};if(t.id==="minimax_music3_bf16")return{"minimax_music3.language_model_gguf":"language_model_bf16.gguf","minimax_music3.rvq_depth_decoder_gguf":"rvq_depth_decoder_bf16.gguf","minimax_music3.flow_transformer_gguf":"transformer_bf16.gguf"};if(t.id==="minimax_music3_q4_0")return{"minimax_music3.language_model_gguf":"language_model_q4_0.gguf","minimax_music3.rvq_depth_decoder_gguf":"rvq_depth_decoder_q8_0.gguf","minimax_music3.flow_transformer_gguf":"transformer_q4_0.gguf"}}}function Uk(t){const a=Ck.has(t.family);if(t.family==="yue2"){const s=Wd.filter(p=>p.family===t.family&&p.format==="gguf"),d=new Map([["yue2_main_q8_0",0],["yue2_main_q4_0",1],["yue2_main_bf16",2],["yue2_vae_f16",3],["yue2_vae_f32",4]]);return s.filter(p=>p.format==="gguf").sort((p,m)=>(d.get(p.id)??99)-(d.get(m.id)??99)).map(p=>({id:p.id,label:Kd(p),path:Xd(p),format:p.format,precision:p.precision,session_options:Zd(p)}))}const r=a?jk(t):Mg(t);if(t.family==="ace_step"||t.family==="minimax_music3"||a)return r.filter(s=>s.format==="gguf").sort((s,d)=>a?zg(s,t.download_id)-zg(d,t.download_id):+(d.default===!0)-+(s.default===!0)).map(s=>({id:s.id,label:Kd(s),path:Xd(s),format:s.format,precision:s.precision,session_options:Zd(s)}));const n=Yd(r.filter(s=>s.format==="gguf"&&["q8_0","q8"].includes(s.precision))),i=Yd(r.filter(s=>s.format==="gguf"&&["f16","fp16"].includes(s.precision)))||Yd(r.filter(s=>s.format==="gguf"&&s.precision==="bf16")),c=!n&&!i?r.filter(s=>s.format==="gguf"):[];return[n,i,...c].filter(s=>s!==void 0).map(s=>({id:s.id,label:Kd(s),path:Xd(s),format:s.format,precision:s.precision,session_options:Zd(s)}))}const Ci=Gk.models.flatMap(t=>{const a=Uk(t);if(t.download_id&&a.length===0)return[];const r=a[0],n=Ak.get(t.family);return[{...t,display_name:nc(t.display_name_en,t.display_name)||t.id,input_hint:nc(t.input_hint_en,t.input_hint),download_id:r?.id||t.download_id,install_packages:a,path:r?.path||t.path,request_options:n?.options?.request?.map(i=>i.name),required_request_options:n?.options?.request?.filter(i=>i.required===!0).map(i=>i.name),builtin_voices:n?.ui?.builtin_voices,default_voice:n?.ui?.default_voice}]}),jg=Object.fromEntries(Object.entries(Fk).filter(t=>Array.isArray(t[1])).map(([t,a])=>[t,a.map(r=>({...r,label:zk(r.name,r.label_en,r.label),placeholder:nc(r.placeholder_en,r.placeholder),info:nc(r.info_en,r.info)}))])),Ek={tts:"Text to speech",clon:"Voice cloning",asr:"Transcription",gen:"Music & sound",midi:"Audio to MIDI",vc:"Voice conversion",svc:"Singing conversion",s2s:"Speech editing",sep:"Source separation",vad:"Voice activity",diar:"Speaker diarization",align:"Forced alignment",vdes:"Voice design",spk:"Speaker analysis"},Rk={code:"it",name:"Italiano",translations:JSON.parse(`{"request.minimaxFrames":"{frames} fotogrammi di output allineati","param.minimax_h3.num_inference_steps.label":"Passaggi di denoising","param.minimax_h3.num_inference_steps.info":"Dodici passaggi di denoising offrono un buon equilibrio tra qualità e prestazioni.","param.minimax_h3.num_frames.label":"Fotogrammi di output","param.minimax_h3.num_frames.info":"Calcolati dalla durata a circa 24 fotogrammi per secondo di output. Modificando i fotogrammi si aggiorna anche la durata.","param.minimax_h3.guidance_scale.label":"Scala di guida","param.minimax_h3.sampler.label":"Campionatore","param.minimax_h3.dit_acceleration.label":"Accelerazione DiT","param.minimax_h3.dit_acceleration.info":"None usa il percorso DiT completo orientato alla qualità. Le modalità accelerate sono sperimentali e possono distorcere alcuni risultati.","param.minimax_h3.return_video.label":"Decodifica video","param.minimax_h3.return_video.info":"Disattivata per impostazione predefinita per ridurre l'uso della memoria e restituire solo l'audio.","model.minimax_h3.hint":"MiniMax-H3 usa un DiT audio/video congiunto. GGUF Q4 privilegia la qualità; GGUF Q4 ConvRot, solo CUDA, usa un po' più VRAM per una maggiore velocità. Il percorso DiT completo predefinito privilegia la qualità audio e disattiva la decodifica video.","status.modelReady":"{model} è caricato e pronto.","status.runningTask":"Esecuzione di {task}...","status.completeIn":"Completato in {seconds} s.","status.packageAvailable":"{model} userà {format}. Ora è disponibile nello Studio.","app.nativeStudio":"Studio nativo","nav.studio":"Studio","nav.arena":"Arena","nav.models":"Modelli","nav.runtime":"Runtime","language.label":"Lingua dell'interfaccia","theme.label":"Tema","theme.system":"Sistema","theme.dark":"Scuro","theme.light":"Chiaro","workflow.tts":"Sintesi vocale","workflow.asr":"ASR / Trascrizione","workflow.music":"Generazione musicale","workflow.vc":"Conversione vocale","workflow.sep":"Separazione sorgenti","workflow.analysis":"Analisi audio","workflow.design":"Progettazione voce","studio.eyebrow":"INTELLIGENZA AUDIO LOCALE","studio.title":"Studio audio","studio.subtitle.tts":"Genera una voce naturale dal testo, con voci predefinite e clonazione quando supportate.","studio.subtitle.asr":"Trascrivi l'audio parlato in testo, con controlli di lingua e timestamp quando supportati.","studio.subtitle.music":"Crea musica e suoni da una descrizione, un testo o un audio di riferimento.","studio.subtitle.vc":"Trasforma una registrazione in un'altra voce conservando l'interpretazione parlata o cantata.","studio.subtitle.sep":"Separa una registrazione in voce, strumenti o altre tracce audio disponibili.","studio.subtitle.analysis":"Analizza attività vocale, parlanti, tempi e allineamento dell'audio.","studio.subtitle.design":"Crea o perfeziona una voce da una descrizione e dai controlli di riferimento supportati.","studio.model":"Modello","studio.noModel":"Nessun modello selezionato","studio.resident":"Caricato","studio.notInstalled":"Non installato","studio.available":"Disponibile","studio.chooseInstalled":"Scegli un modello installato","studio.notDownloaded":"non scaricato","studio.pathFound":"Percorso trovato","studio.pathMissing":"Percorso mancante","studio.pathUnknown":"Percorso non verificato","studio.load":"Carica modello","studio.unload":"Scarica modello","studio.working":"Elaborazione…","studio.bundledLoaded":"Integrato · caricato","request.label":"RICHIESTA","request.title":"Input e controlli","request.prompt":"Prompt","request.text":"Testo","request.splitLongText":"Dividi e unisci testi lunghi","request.charactersPerChunk":"Caratteri per segmento","request.language":"Lingua","request.autoLanguage":"vuoto = automatico","request.seed":"Seed","request.randomSeed":"-1 = casuale","request.maxTokens":"Token massimi","request.sourceAudio":"Audio sorgente","request.recordMicrophone":"Registra microfono","voice.quickStart":"Voci demo per avvio rapido","voice.useReference":"Usa un file audio di riferimento qui sotto","voice.reference":"Voce di riferimento","voice.required":"obbligatoria","voice.optional":"opzionale","voice.referenceText":"Testo di riferimento","voice.transcript":"Trascrizione di riferimento","voice.saved":"Voci salvate","voice.browserOnly":"solo in questo browser","voice.chooseSaved":"Scegli una voce salvata...","voice.libraryName":"Nome nella libreria","voice.save":"Salva voce","common.delete":"Elimina","common.cancel":"Annulla","common.close":"Chiudi","common.refresh":"Aggiorna","common.browse":"Sfoglia","common.apply":"Applica","options.modelParameters":"Parametri del modello","options.additional":"Opzioni aggiuntive","run.run":"Esegui","run.cancel":"Annulla","run.working":"Elaborazione…","result.title":"Risultato","result.label":"RISULTATO","result.saveWav":"Salva WAV","result.empty":"L'audio generato e i risultati strutturati appariranno qui.","models.eyebrow":"LIBRERIA MODELLI","models.title":"Pacchetti locali","models.subtitle":"Scarica e gestisci i pacchetti dei modelli senza uscire dall'interfaccia.","models.folder":"Cartella modelli","models.useDefault":"Usa predefinita","models.showTypes":"Mostra tipi di modello","models.stopDownload":"Interrompi download","models.cleanPartial":"Elimina download parziale","runtime.title":"Registro sessione","runtime.status":"Stato","runtime.backend":"Backend","runtime.registered":"Registrati","runtime.resident":"Caricati","runtime.noEvents":"Nessun evento.","folder.title":"Scegli una cartella","folder.up":"Livello superiore","folder.select":"Seleziona questa cartella","common.applying":"Applicazione…","common.disabled":"Disabilitato","common.enabled":"Abilitato","file.choose":"Scegli file","file.none":"Nessun file selezionato","folder.closeLabel":"Chiudi selettore cartelle","folder.empty":"Questa cartella non contiene sottocartelle.","folder.eyebrow":"CARTELLA MODELLI","folder.loading":"Caricamento...","folder.loadingFolders":"Caricamento cartelle...","footer.embedded":"SvelteKit · incorporato in audiocpp_server","models.checkingSize":"verifica dimensione…","models.default":"Predefinita","models.downloaded":"Scaricato","models.folderHint":"download, rilevamento locale e caricamento dei modelli","models.folderPlaceholder":"cartella models accanto ad audiocpp_server","models.hfAccess":"Accesso HF richiesto","models.model":"modello","models.queued":"in coda","models.reinstall":"Reinstalla","models.selected":"Selezionato","models.sharedPackage":"Usa il pacchetto condiviso {name} mostrato sopra.","models.sizeUnavailable":"dimensione non disponibile","models.stopping":"arresto","models.update":"Aggiorna","models.updateAvailable":"Aggiornamento disponibile","models.upToDate":"Aggiornato","models.variants":"varianti","models.versionUnknown":"Versione sconosciuta","nav.primary":"Navigazione principale","nav.workflows":"Flussi di lavoro audio","arena.eyebrow":"ARENA","arena.title.tts":"Confronto TTS","arena.title.vc":"Confronto conversione vocale","arena.title.asr":"Confronto ASR","arena.subtitle":"Esegue lo stesso input sui modelli installati e sui pacchetti scelti, uno dopo l'altro.","arena.subtitle.tts":"Esegue lo stesso testo sui modelli TTS e sui pacchetti scelti.","arena.subtitle.vc":"Esegue lo stesso audio sorgente sui modelli di conversione vocale scelti.","arena.subtitle.asr":"Esegue lo stesso audio sorgente sui modelli ASR scelti e confronta le trascrizioni.","arena.mode.tts":"TTS","arena.mode.vc":"Conversione vocale","arena.mode.asr":"ASR","arena.input.label":"Input","arena.input.title":"Richiesta condivisa","arena.input.textPlaceholder":"Inserisci un prompt da confrontare tra modelli TTS","arena.input.groundTruth":"Testo atteso","arena.input.groundTruthPlaceholder":"Incolla la trascrizione attesa per calcolare il WER","arena.shared":"condivisa","arena.voice.label":"Voce","arena.voice.modelDefault":"Predefinita del modello","arena.voice.builtin":"Voce demo integrata","arena.voice.reference":"Audio di riferimento","arena.voice.builtinNote":"Le voci integrate vengono passate come voice ID a ogni modello. Questo tipo di voce non richiede testo di riferimento.","arena.voice.targetSpeaker":"Audio parlante target","arena.voice.clearTarget":"Cancella target","arena.voice.clearReference":"Cancella riferimento","arena.options.shared":"Opzioni condivise","arena.queue.label":"Coda","arena.queue.title":"Modelli","arena.queue.add":"Aggiungi","arena.queue.remove":"Rimuovi","arena.queue.clear":"Cancella","arena.queue.empty":"Aggiungi modelli installati o pacchetti di precisione da confrontare.","arena.run":"Esegui arena","arena.package.label":"Pacchetto","arena.package.configured":"Configurato","arena.results.title":"Confronta output","arena.results.empty":"Nessun risultato arena.","arena.metric.wall":"tempo","arena.metric.rtf":"rtf","arena.metric.wer":"wer","arena.itemStatus.queued":"in coda","arena.itemStatus.loading":"caricamento","arena.itemStatus.running":"esecuzione","arena.itemStatus.done":"completato","arena.itemStatus.failed":"fallito","arena.itemStatus.skipped":"saltato","arena.status.duplicate":"{model} {package} è già nell'arena.","arena.status.loadingModel":"Caricamento modello","arena.status.runningRequest":"Esecuzione richiesta","arena.status.addModel":"Aggiungi almeno un modello all'arena.","arena.status.running":"Esecuzione arena {mode}...","arena.status.complete":"Esecuzione arena completata.","arena.note.skippedTargetVoice":"Saltato perché questo modello VC richiede audio del parlante target.","arena.note.skippedReferenceText":"Saltato perché questo modello richiede testo di riferimento per l'input voce selezionato.","arena.note.builtinVoice":"Voce integrata usata: {voice}.","arena.note.referenceVoice":"Voce di riferimento usata.","arena.note.referenceUnsupported":"Voce predefinita usata; la voce di riferimento non è supportata.","arena.note.defaultVoice":"Voce predefinita usata: {voice}.","arena.note.skippedReferenceVoice":"Saltato perché questo modello richiede una voce di riferimento.","arena.error.seed":"Il seed deve essere -1 o un intero unsigned a 32 bit (0-4294967295).","arena.error.jsonObject":"deve essere un oggetto","arena.error.invalidJson":"JSON opzioni arena non valido: {error}","arena.error.unregistered":"Il modello configurato non è registrato da questo server.","arena.error.notDownloaded":"{package} non è scaricato.","arena.error.loadFailed":"Il modello non è stato caricato.","arena.error.missingCatalog":"Il modello non è più nel catalogo.","arena.error.enterTtsText":"Inserisci testo per l'arena TTS.","arena.error.chooseAsrSource":"Scegli audio sorgente per l'arena ASR.","arena.error.chooseVcSource":"Scegli audio sorgente per l'arena VC.","arena.error.noAudio":"La risposta non include audio.","request.alignmentText":"Testo di allineamento","request.context":"Prompt di contesto","request.contextHint":"terminologia o nomi opzionali","request.duration":"Durata in secondi","request.liveDescription":"Elabora richieste consecutive di quattro secondi usando la modalità streaming del modello.","request.liveTitle":"Trascrizione microfono in diretta","request.lyrics":"Testo della canzone","request.optional":"opzionale","request.recordingMicrophone":"Registrazione microfono","request.soundPlaceholder":"Descrivi il suono o la musica…","request.startLive":"Avvia diretta","request.stopLive":"Ferma diretta","request.stopRecording":"Ferma registrazione","request.textPlaceholder":"Inserisci il testo…","request.voiceDescription":"Descrizione della voce","request.voiceDescriptionPlaceholder":"Una voce calda e calma con ritmo misurato…","result.track":"traccia","result.tracks":"tracce","runtime.eyebrow":"RUNTIME","runtime.subtitle":"Eventi del ciclo di vita e delle richieste nel browser.","status.ready":"Pronto","studio.estimatedVram":"VRAM stimata: {value} GB","studio.vram":"VRAM —","task.align":"Allineamento forzato","task.asr":"Trascrizione","task.clon":"Clonazione vocale","task.diar":"Diarizzazione parlanti","task.gen":"Generazione musicale","task.s2s":"Modifica del parlato","task.sep":"Separazione sorgenti","task.svc":"Conversione della voce cantata","task.tts":"Sintesi vocale","task.vad":"Attività vocale","task.vc":"Conversione vocale","task.vdes":"Progettazione voce","voice.bundledNote":"L'audio di riferimento incluso e la relativa trascrizione vengono forniti automaticamente.","voice.namePlaceholder":"La mia voce di riferimento","voice.recommendedClone":"consigliata per la clonazione","voice.recording":"Registrazione voce di riferimento","voice.requiredClone":"obbligatoria per questa clonazione vocale","voice.transcriptPlaceholder":"Digita le parole esatte dell'audio di riferimento oppure carica il file .txt corrispondente."}`)},Bk={code:"pl",name:"Polski",translations:JSON.parse('{"request.minimaxFrames":"{frames} wyrównanych klatek wyjściowych","param.minimax_h3.num_inference_steps.label":"Kroki odszumiania","param.minimax_h3.num_inference_steps.info":"Dwanaście kroków odszumiania zapewnia praktyczną równowagę jakości i wydajności.","param.minimax_h3.num_frames.label":"Klatki wyjściowe","param.minimax_h3.num_frames.info":"Obliczane z czasu trwania przy około 24 klatkach na sekundę wyjścia. Zmiana liczby klatek aktualizuje również czas trwania.","param.minimax_h3.guidance_scale.label":"Skala naprowadzania","param.minimax_h3.sampler.label":"Próbnik","param.minimax_h3.dit_acceleration.label":"Przyspieszenie DiT","param.minimax_h3.dit_acceleration.info":"None używa pełnej ścieżki DiT nastawionej na jakość. Tryby przyspieszone są eksperymentalne i mogą zniekształcać niektóre wyniki.","param.minimax_h3.return_video.label":"Dekoduj wideo","param.minimax_h3.return_video.info":"Domyślnie wyłączone, aby zmniejszyć zużycie pamięci i zwracać tylko dźwięk.","model.minimax_h3.hint":"MiniMax-H3 korzysta ze wspólnego DiT audio/wideo. GGUF Q4 stawia na jakość; dostępny tylko dla CUDA GGUF Q4 ConvRot używa nieco więcej VRAM, aby działać szybciej. Domyślna pełna ścieżka DiT nadaje priorytet jakości dźwięku, a dekodowanie wideo jest wyłączone.","status.modelReady":"{model} jest załadowany i gotowy.","status.runningTask":"Uruchamianie: {task}...","status.completeIn":"Ukończono w {seconds} s.","status.packageAvailable":"{model} użyje {format}. Model jest dostępny w Studio.","app.nativeStudio":"Studio natywne","nav.studio":"Studio","nav.arena":"Arena","nav.models":"Modele","nav.runtime":"Środowisko","language.label":"Język interfejsu","theme.label":"Motyw","theme.system":"System","theme.dark":"Ciemny","theme.light":"Jasny","workflow.tts":"Synteza mowy","workflow.asr":"ASR / Transkrypcja","workflow.music":"Generowanie muzyki","workflow.vc":"Konwersja głosu","workflow.sep":"Separacja źródeł","workflow.analysis":"Analiza dźwięku","workflow.design":"Projektowanie głosu","studio.eyebrow":"LOKALNA INTELIGENCJA AUDIO","studio.title":"Studio audio","studio.subtitle.tts":"Generuj naturalną mowę z tekstu, korzystając z gotowych głosów i klonowania, gdy model je obsługuje.","studio.subtitle.asr":"Transkrybuj mowę z nagrań na tekst, korzystając z ustawień języka i znaczników czasu, gdy są obsługiwane.","studio.subtitle.music":"Twórz muzykę i dźwięki na podstawie opisu, tekstu piosenki lub nagrania referencyjnego.","studio.subtitle.vc":"Przekształcaj nagranie w inny głos, zachowując sposób mówienia lub śpiewania.","studio.subtitle.sep":"Rozdzielaj nagranie na wokal, instrumenty lub inne dostępne ścieżki.","studio.subtitle.analysis":"Analizuj aktywność mowy, mówców, czas i wyrównanie nagrania.","studio.subtitle.design":"Twórz lub dopracowuj głos na podstawie opisu i obsługiwanych ustawień referencyjnych.","studio.model":"Model","studio.noModel":"Nie wybrano modelu","studio.resident":"Załadowany","studio.notInstalled":"Nie zainstalowano","studio.available":"Dostępny","studio.chooseInstalled":"Wybierz zainstalowany model","studio.notDownloaded":"nie pobrano","studio.pathFound":"Ścieżka znaleziona","studio.pathMissing":"Brak ścieżki","studio.pathUnknown":"Ścieżka niesprawdzona","studio.load":"Załaduj model","studio.unload":"Wyładuj model","studio.working":"Przetwarzanie…","studio.bundledLoaded":"Wbudowany · załadowany","request.label":"ŻĄDANIE","request.title":"Dane wejściowe i ustawienia","request.prompt":"Polecenie","request.text":"Tekst","request.splitLongText":"Dziel i łącz długi tekst","request.charactersPerChunk":"Znaki na fragment","request.language":"Język","request.autoLanguage":"puste = automatycznie","request.seed":"Ziarno","request.randomSeed":"-1 = losowe","request.maxTokens":"Maksymalna liczba tokenów","request.sourceAudio":"Dźwięk źródłowy","request.recordMicrophone":"Nagraj mikrofon","voice.quickStart":"Szybkie głosy demonstracyjne","voice.useReference":"Użyj pliku dźwiękowego poniżej","voice.reference":"Głos referencyjny","voice.required":"wymagany","voice.optional":"opcjonalny","voice.referenceText":"Tekst referencyjny","voice.transcript":"Transkrypcja referencyjna","voice.saved":"Zapisane głosy","voice.browserOnly":"tylko w tej przeglądarce","voice.chooseSaved":"Wybierz zapisany głos...","voice.libraryName":"Nazwa w bibliotece","voice.save":"Zapisz głos","common.delete":"Usuń","common.cancel":"Anuluj","common.close":"Zamknij","common.refresh":"Odśwież","common.browse":"Przeglądaj","common.apply":"Zastosuj","options.modelParameters":"Parametry modelu","options.additional":"Dodatkowe opcje","run.run":"Uruchom","run.cancel":"Anuluj","run.working":"Przetwarzanie…","result.title":"Wynik","result.label":"WYNIK","result.saveWav":"Zapisz WAV","result.empty":"W tym miejscu pojawi się wygenerowany dźwięk i wyniki strukturalne.","models.eyebrow":"BIBLIOTEKA MODELI","models.title":"Pakiety lokalne","models.subtitle":"Pobieraj i zarządzaj pakietami modeli bez opuszczania interfejsu.","models.folder":"Folder modeli","models.useDefault":"Użyj domyślnego","models.showTypes":"Pokaż typy modeli","models.stopDownload":"Zatrzymaj pobieranie","models.cleanPartial":"Usuń częściowe pobieranie","runtime.title":"Dziennik sesji","runtime.status":"Stan","runtime.backend":"Backend","runtime.registered":"Zarejestrowane","runtime.resident":"Załadowane","runtime.noEvents":"Brak zdarzeń.","folder.title":"Wybierz folder","folder.up":"Poziom wyżej","folder.select":"Wybierz ten folder","common.applying":"Stosowanie…","common.disabled":"Wyłączone","common.enabled":"Włączone","file.choose":"Wybierz plik","file.none":"Nie wybrano pliku","folder.closeLabel":"Zamknij przeglądarkę folderów","folder.empty":"Ten folder nie zawiera podfolderów.","folder.eyebrow":"FOLDER MODELI","folder.loading":"Ładowanie...","folder.loadingFolders":"Ładowanie folderów...","footer.embedded":"SvelteKit · wbudowany w audiocpp_server","models.checkingSize":"sprawdzanie rozmiaru…","models.default":"Domyślnie","models.downloaded":"Pobrano","models.folderHint":"pobieranie, wykrywanie lokalne i ładowanie modeli","models.folderPlaceholder":"folder models obok audiocpp_server","models.hfAccess":"Wymagany dostęp do HF","models.model":"model","models.queued":"w kolejce","models.reinstall":"Zainstaluj ponownie","models.selected":"Wybrano","models.sharedPackage":"Używa wspólnego pakietu {name} pokazanego powyżej.","models.sizeUnavailable":"rozmiar niedostępny","models.stopping":"zatrzymywanie","models.update":"Aktualizuj","models.updateAvailable":"Dostępna aktualizacja","models.upToDate":"Aktualny","models.variants":"warianty","models.versionUnknown":"Nieznana wersja","nav.primary":"Główna nawigacja","nav.workflows":"Przepływy pracy audio","arena.eyebrow":"ARENA","arena.title.tts":"Porównanie TTS","arena.title.vc":"Porównanie konwersji głosu","arena.title.asr":"Porównanie ASR","arena.subtitle":"Uruchamia ten sam input na wybranych zainstalowanych modelach i wariantach pakietów, jeden po drugim.","arena.subtitle.tts":"Uruchamia ten sam tekst na wybranych modelach TTS i wariantach pakietów.","arena.subtitle.vc":"Uruchamia to samo audio źródłowe na wybranych modelach konwersji głosu.","arena.subtitle.asr":"Uruchamia to samo audio źródłowe na wybranych modelach ASR i porównuje transkrypcje.","arena.mode.tts":"TTS","arena.mode.vc":"Konwersja głosu","arena.mode.asr":"ASR","arena.input.label":"Dane wejściowe","arena.input.title":"Wspólne żądanie","arena.input.textPlaceholder":"Wpisz jeden prompt do porównania modeli TTS","arena.input.groundTruth":"Tekst referencyjny","arena.input.groundTruthPlaceholder":"Wklej oczekiwaną transkrypcję, aby obliczyć WER","arena.shared":"wspólne","arena.voice.label":"Głos","arena.voice.modelDefault":"Domyślny modelu","arena.voice.builtin":"Wbudowany głos demo","arena.voice.reference":"Audio referencyjne","arena.voice.builtinNote":"Wbudowane głosy są przekazywane jako voice ID do każdego modelu. Ten typ głosu nie wymaga tekstu referencyjnego.","arena.voice.targetSpeaker":"Audio głosu docelowego","arena.voice.clearTarget":"Wyczyść cel","arena.voice.clearReference":"Wyczyść referencję","arena.options.shared":"Wspólne opcje","arena.queue.label":"Kolejka","arena.queue.title":"Modele","arena.queue.add":"Dodaj","arena.queue.remove":"Usuń","arena.queue.clear":"Wyczyść","arena.queue.empty":"Dodaj zainstalowane modele lub pakiety precyzji do porównania.","arena.run":"Uruchom arenę","arena.package.label":"Pakiet","arena.package.configured":"Skonfigurowany","arena.results.title":"Porównaj wyniki","arena.results.empty":"Brak wyników areny.","arena.metric.wall":"czas","arena.metric.rtf":"rtf","arena.metric.wer":"wer","arena.itemStatus.queued":"w kolejce","arena.itemStatus.loading":"ładowanie","arena.itemStatus.running":"uruchomione","arena.itemStatus.done":"gotowe","arena.itemStatus.failed":"błąd","arena.itemStatus.skipped":"pominięto","arena.status.duplicate":"{model} {package} jest już w arenie.","arena.status.loadingModel":"Ładowanie modelu","arena.status.runningRequest":"Uruchamianie żądania","arena.status.addModel":"Dodaj co najmniej jeden model do areny.","arena.status.running":"Uruchamianie areny {mode}...","arena.status.complete":"Arena zakończona.","arena.note.skippedTargetVoice":"Pominięto, ponieważ ten model VC wymaga audio głosu docelowego.","arena.note.skippedReferenceText":"Pominięto, ponieważ ten model wymaga tekstu referencyjnego dla wybranego wejścia głosu.","arena.note.builtinVoice":"Użyto wbudowanego głosu: {voice}.","arena.note.referenceVoice":"Użyto głosu referencyjnego.","arena.note.referenceUnsupported":"Użyto domyślnego głosu; głos referencyjny nie jest obsługiwany.","arena.note.defaultVoice":"Użyto domyślnego głosu: {voice}.","arena.note.skippedReferenceVoice":"Pominięto, ponieważ ten model wymaga głosu referencyjnego.","arena.error.seed":"Ziarno musi być -1 albo 32-bitową liczbą unsigned (0-4294967295).","arena.error.jsonObject":"musi być obiektem","arena.error.invalidJson":"Nieprawidłowy JSON opcji areny: {error}","arena.error.unregistered":"Skonfigurowany model nie jest zarejestrowany przez ten serwer.","arena.error.notDownloaded":"{package} nie został pobrany.","arena.error.loadFailed":"Model nie został załadowany.","arena.error.missingCatalog":"Modelu nie ma już w katalogu.","arena.error.enterTtsText":"Wpisz tekst dla areny TTS.","arena.error.chooseAsrSource":"Wybierz audio źródłowe dla areny ASR.","arena.error.chooseVcSource":"Wybierz audio źródłowe dla areny VC.","arena.error.noAudio":"Odpowiedź nie zawiera audio.","request.alignmentText":"Tekst do wyrównania","request.context":"Kontekst","request.contextHint":"opcjonalna terminologia lub nazwy","request.duration":"Czas trwania w sekundach","request.liveDescription":"Przetwarza kolejne czterosekundowe żądania w trybie strumieniowym modelu.","request.liveTitle":"Transkrypcja mikrofonu na żywo","request.lyrics":"Tekst utworu","request.optional":"opcjonalne","request.recordingMicrophone":"Nagrywanie mikrofonu","request.soundPlaceholder":"Opisz dźwięk lub muzykę…","request.startLive":"Uruchom na żywo","request.stopLive":"Zatrzymaj na żywo","request.stopRecording":"Zatrzymaj nagrywanie","request.textPlaceholder":"Wprowadź tekst…","request.voiceDescription":"Opis głosu","request.voiceDescriptionPlaceholder":"Ciepły, spokojny głos o umiarkowanym tempie…","result.track":"ścieżka","result.tracks":"ścieżki","runtime.eyebrow":"ŚRODOWISKO","runtime.subtitle":"Zdarzenia cyklu życia i żądań po stronie przeglądarki.","status.ready":"Gotowe","studio.estimatedVram":"Szacowane VRAM: {value} GB","studio.vram":"VRAM —","task.align":"Wymuszone wyrównanie","task.asr":"Transkrypcja","task.clon":"Klonowanie głosu","task.diar":"Diarizacja mówców","task.gen":"Generowanie muzyki","task.s2s":"Edycja mowy","task.sep":"Separacja źródeł","task.svc":"Konwersja głosu śpiewanego","task.tts":"Synteza mowy","task.vad":"Aktywność głosowa","task.vc":"Konwersja głosu","task.vdes":"Projektowanie głosu","voice.bundledNote":"Dołączone audio referencyjne i jego transkrypcja zostaną użyte automatycznie.","voice.namePlaceholder":"Mój głos referencyjny","voice.recommendedClone":"zalecana do klonowania","voice.recording":"Nagrywanie głosu referencyjnego","voice.requiredClone":"wymagana dla tego klonowania głosu","voice.transcriptPlaceholder":"Wpisz dokładne słowa z audio referencyjnego lub wczytaj pasujący plik .txt powyżej."}')},Pk={code:"ru",name:"Русский",translations:JSON.parse('{"request.minimaxFrames":"{frames} выровненных выходных кадров","param.minimax_h3.num_inference_steps.label":"Шаги шумоподавления","param.minimax_h3.num_inference_steps.info":"Двенадцать шагов обеспечивают практичный баланс качества и производительности.","param.minimax_h3.num_frames.label":"Выходные кадры","param.minimax_h3.num_frames.info":"Рассчитываются из длительности примерно по 24 кадра на секунду вывода. Изменение числа кадров также обновляет длительность.","param.minimax_h3.guidance_scale.label":"Масштаб управления","param.minimax_h3.sampler.label":"Сэмплер","param.minimax_h3.dit_acceleration.label":"Ускорение DiT","param.minimax_h3.dit_acceleration.info":"None использует полный DiT с приоритетом качества. Режимы ускорения экспериментальны и могут искажать некоторые результаты.","param.minimax_h3.return_video.label":"Декодировать видео","param.minimax_h3.return_video.info":"По умолчанию выключено для снижения расхода памяти и возврата только аудио.","model.minimax_h3.hint":"MiniMax-H3 использует совместный аудио/видео DiT. GGUF Q4 ориентирован на качество; доступный только в CUDA GGUF Q4 ConvRot использует немного больше VRAM ради скорости. Полный DiT по умолчанию отдаёт приоритет качеству звука, а декодирование видео отключено.","status.modelReady":"{model} загружен и готов.","status.runningTask":"Выполняется: {task}...","status.completeIn":"Завершено за {seconds} с.","status.packageAvailable":"{model} будет использовать {format}. Модель доступна в Studio.","app.nativeStudio":"Нативная студия","nav.studio":"Студия","nav.arena":"Арена","nav.models":"Модели","nav.runtime":"Среда","language.label":"Язык интерфейса","theme.label":"Тема","theme.system":"Системная","theme.dark":"Тёмная","theme.light":"Светлая","workflow.tts":"Синтез речи","workflow.asr":"ASR / Распознавание","workflow.music":"Генерация музыки","workflow.vc":"Преобразование голоса","workflow.sep":"Разделение источников","workflow.analysis":"Анализ аудио","workflow.design":"Дизайн голоса","studio.eyebrow":"ЛОКАЛЬНЫЙ АУДИО ИНТЕЛЛЕКТ","studio.title":"Аудиостудия","studio.subtitle.tts":"Создавайте естественную речь из текста с готовыми голосами и клонированием, если они поддерживаются.","studio.subtitle.asr":"Преобразуйте речь из аудио в текст с настройками языка и временных меток, если они поддерживаются.","studio.subtitle.music":"Создавайте музыку и звуки по описанию, тексту песни или эталонному аудио.","studio.subtitle.vc":"Преобразуйте запись в другой голос, сохраняя манеру речи или пения.","studio.subtitle.sep":"Разделяйте запись на вокал, инструменты и другие доступные аудиодорожки.","studio.subtitle.analysis":"Анализируйте речевую активность, говорящих, время и выравнивание аудио.","studio.subtitle.design":"Создавайте и настраивайте голос по текстовому описанию и поддерживаемым эталонным параметрам.","studio.model":"Модель","studio.noModel":"Модель не выбрана","studio.resident":"Загружена","studio.notInstalled":"Не установлена","studio.available":"Доступна","studio.chooseInstalled":"Выберите установленную модель","studio.notDownloaded":"не скачана","studio.pathFound":"Путь найден","studio.pathMissing":"Путь отсутствует","studio.pathUnknown":"Путь не проверен","studio.load":"Загрузить модель","studio.unload":"Выгрузить модель","studio.working":"Обработка…","studio.bundledLoaded":"Встроена · загружена","request.label":"ЗАПРОС","request.title":"Ввод и управление","request.prompt":"Запрос","request.text":"Текст","request.splitLongText":"Разделять и объединять длинный текст","request.charactersPerChunk":"Символов в части","request.language":"Язык","request.autoLanguage":"пусто = автоматически","request.seed":"Seed","request.randomSeed":"-1 = случайно","request.maxTokens":"Максимум токенов","request.sourceAudio":"Исходное аудио","request.recordMicrophone":"Записать микрофон","voice.quickStart":"Демонстрационные голоса","voice.useReference":"Использовать файл эталонного аудио ниже","voice.reference":"Эталонный голос","voice.required":"обязательно","voice.optional":"необязательно","voice.referenceText":"Эталонный текст","voice.transcript":"Эталонная расшифровка","voice.saved":"Сохранённые голоса","voice.browserOnly":"только в этом браузере","voice.chooseSaved":"Выберите сохранённый голос...","voice.libraryName":"Имя в библиотеке","voice.save":"Сохранить голос","common.delete":"Удалить","common.cancel":"Отмена","common.close":"Закрыть","common.refresh":"Обновить","common.browse":"Обзор","common.apply":"Применить","options.modelParameters":"Параметры модели","options.additional":"Дополнительные параметры","run.run":"Запустить","run.cancel":"Отмена","run.working":"Обработка…","result.title":"Результат","result.label":"РЕЗУЛЬТАТ","result.saveWav":"Сохранить WAV","result.empty":"Здесь появятся созданное аудио и структурированные результаты.","models.eyebrow":"БИБЛИОТЕКА МОДЕЛЕЙ","models.title":"Локальные пакеты","models.subtitle":"Скачивайте пакеты моделей и управляйте ими прямо в интерфейсе.","models.folder":"Папка моделей","models.useDefault":"По умолчанию","models.showTypes":"Типы моделей","models.stopDownload":"Остановить загрузку","models.cleanPartial":"Удалить частичную загрузку","runtime.title":"Журнал сеанса","runtime.status":"Состояние","runtime.backend":"Backend","runtime.registered":"Зарегистрировано","runtime.resident":"Загружено","runtime.noEvents":"Событий пока нет.","folder.title":"Выберите папку","folder.up":"На уровень выше","folder.select":"Выбрать эту папку","common.applying":"Применение…","common.disabled":"Выключено","common.enabled":"Включено","file.choose":"Выбрать файл","file.none":"Файл не выбран","folder.closeLabel":"Закрыть выбор папки","folder.empty":"В этой папке нет вложенных папок.","folder.eyebrow":"ПАПКА МОДЕЛЕЙ","folder.loading":"Загрузка...","folder.loadingFolders":"Загрузка папок...","footer.embedded":"SvelteKit · встроен в audiocpp_server","models.checkingSize":"проверка размера…","models.default":"По умолчанию","models.downloaded":"Скачано","models.folderHint":"загрузка, локальное обнаружение и загрузка моделей","models.folderPlaceholder":"папка models рядом с audiocpp_server","models.hfAccess":"Требуется доступ HF","models.model":"модель","models.queued":"в очереди","models.reinstall":"Переустановить","models.selected":"Выбрано","models.sharedPackage":"Использует общий пакет {name}, показанный выше.","models.sizeUnavailable":"размер недоступен","models.stopping":"остановка","models.update":"Обновить","models.updateAvailable":"Доступно обновление","models.upToDate":"Актуально","models.variants":"варианты","models.versionUnknown":"Версия неизвестна","nav.primary":"Основная навигация","nav.workflows":"Рабочие процессы аудио","arena.eyebrow":"АРЕНА","arena.title.tts":"Сравнение TTS","arena.title.vc":"Сравнение преобразования голоса","arena.title.asr":"Сравнение ASR","arena.subtitle":"Запускает один и тот же ввод через выбранные установленные модели и варианты пакетов по очереди.","arena.subtitle.tts":"Запускает один и тот же текст через выбранные модели TTS и варианты пакетов.","arena.subtitle.vc":"Запускает одно и то же исходное аудио через выбранные модели преобразования голоса.","arena.subtitle.asr":"Запускает одно и то же исходное аудио через выбранные модели ASR и сравнивает расшифровки.","arena.mode.tts":"TTS","arena.mode.vc":"Преобразование голоса","arena.mode.asr":"ASR","arena.input.label":"Ввод","arena.input.title":"Общий запрос","arena.input.textPlaceholder":"Введите один запрос для сравнения моделей TTS","arena.input.groundTruth":"Эталонный текст","arena.input.groundTruthPlaceholder":"Вставьте ожидаемую расшифровку для расчёта WER","arena.shared":"общий","arena.voice.label":"Голос","arena.voice.modelDefault":"По умолчанию модели","arena.voice.builtin":"Встроенный демо-голос","arena.voice.reference":"Эталонное аудио","arena.voice.builtinNote":"Встроенные голоса передаются каждой модели как voice ID. Для этого источника голоса эталонный текст не требуется.","arena.voice.targetSpeaker":"Аудио целевого говорящего","arena.voice.clearTarget":"Очистить цель","arena.voice.clearReference":"Очистить эталон","arena.options.shared":"Общие параметры","arena.queue.label":"Очередь","arena.queue.title":"Модели","arena.queue.add":"Добавить","arena.queue.remove":"Удалить","arena.queue.clear":"Очистить","arena.queue.empty":"Добавьте установленные модели или пакеты точности для сравнения.","arena.run":"Запустить арену","arena.package.label":"Пакет","arena.package.configured":"Настроено","arena.results.title":"Сравнить вывод","arena.results.empty":"Результатов арены пока нет.","arena.metric.wall":"время","arena.metric.rtf":"rtf","arena.metric.wer":"wer","arena.itemStatus.queued":"в очереди","arena.itemStatus.loading":"загрузка","arena.itemStatus.running":"выполняется","arena.itemStatus.done":"готово","arena.itemStatus.failed":"ошибка","arena.itemStatus.skipped":"пропущено","arena.status.duplicate":"{model} {package} уже есть в арене.","arena.status.loadingModel":"Загрузка модели","arena.status.runningRequest":"Выполнение запроса","arena.status.addModel":"Добавьте хотя бы одну модель в арену.","arena.status.running":"Выполняется арена {mode}...","arena.status.complete":"Выполнение арены завершено.","arena.note.skippedTargetVoice":"Пропущено: этой VC-модели нужно аудио целевого говорящего.","arena.note.skippedReferenceText":"Пропущено: этой модели нужен эталонный текст для выбранного голосового ввода.","arena.note.builtinVoice":"Использован встроенный голос: {voice}.","arena.note.referenceVoice":"Использован эталонный голос.","arena.note.referenceUnsupported":"Использован голос по умолчанию; эталонный голос не поддерживается.","arena.note.defaultVoice":"Использован голос по умолчанию: {voice}.","arena.note.skippedReferenceVoice":"Пропущено: этой модели нужен эталонный голос.","arena.error.seed":"Seed должен быть -1 или 32-битным unsigned-целым (0-4294967295).","arena.error.jsonObject":"должен быть объектом","arena.error.invalidJson":"Недопустимый JSON параметров арены: {error}","arena.error.unregistered":"Настроенная модель не зарегистрирована этим сервером.","arena.error.notDownloaded":"{package} не скачан.","arena.error.loadFailed":"Модель не загрузилась.","arena.error.missingCatalog":"Модели больше нет в каталоге.","arena.error.enterTtsText":"Введите текст для арены TTS.","arena.error.chooseAsrSource":"Выберите исходное аудио для арены ASR.","arena.error.chooseVcSource":"Выберите исходное аудио для арены VC.","arena.error.noAudio":"Ответ не содержит аудио.","request.alignmentText":"Текст для выравнивания","request.context":"Контекстный запрос","request.contextHint":"необязательные термины или имена","request.duration":"Длительность в секундах","request.liveDescription":"Обрабатывает последовательные четырёхсекундные запросы в потоковом режиме модели.","request.liveTitle":"Распознавание с микрофона в реальном времени","request.lyrics":"Текст песни","request.optional":"необязательно","request.recordingMicrophone":"Запись микрофона","request.soundPlaceholder":"Опишите звук или музыку…","request.startLive":"Запустить","request.stopLive":"Остановить","request.stopRecording":"Остановить запись","request.textPlaceholder":"Введите текст…","request.voiceDescription":"Описание голоса","request.voiceDescriptionPlaceholder":"Тёплый спокойный голос с размеренным темпом…","result.track":"дорожка","result.tracks":"дорожки","runtime.eyebrow":"СРЕДА","runtime.subtitle":"События жизненного цикла и запросов в браузере.","status.ready":"Готово","studio.estimatedVram":"Оценка VRAM: {value} ГБ","studio.vram":"VRAM —","task.align":"Принудительное выравнивание","task.asr":"Распознавание речи","task.clon":"Клонирование голоса","task.diar":"Диаризация говорящих","task.gen":"Генерация музыки","task.s2s":"Редактирование речи","task.sep":"Разделение источников","task.svc":"Преобразование вокала","task.tts":"Синтез речи","task.vad":"Голосовая активность","task.vc":"Преобразование голоса","task.vdes":"Дизайн голоса","voice.bundledNote":"Встроенное эталонное аудио и соответствующая расшифровка подставляются автоматически.","voice.namePlaceholder":"Мой эталонный голос","voice.recommendedClone":"рекомендуется для клонирования","voice.recording":"Запись эталонного голоса","voice.requiredClone":"требуется для этого клонирования","voice.transcriptPlaceholder":"Введите точные слова из эталонного аудио или загрузите соответствующий файл .txt выше."}')},Nk={code:"zh",name:"中文",translations:{"request.minimaxFrames":"{frames} 个对齐输出帧","param.minimax_h3.num_inference_steps.label":"去噪步数","param.minimax_h3.num_inference_steps.info":"十二个去噪步骤可在质量和性能之间取得实用的平衡。","param.minimax_h3.num_frames.label":"输出帧数","param.minimax_h3.num_frames.info":"根据时长自动计算,每秒输出约 24 帧。编辑帧数也会更新时长。","param.minimax_h3.guidance_scale.label":"引导强度","param.minimax_h3.sampler.label":"采样器","param.minimax_h3.dit_acceleration.label":"DiT 加速","param.minimax_h3.dit_acceleration.info":"“none”使用质量优先的完整 DiT 路径。加速模式为实验性功能,可能使某些输出失真。","param.minimax_h3.return_video.label":"解码视频","param.minimax_h3.return_video.info":"默认禁用以减少内存占用,并仅返回音频。","model.minimax_h3.hint":"MiniMax-H3 使用联合音频/视频 DiT。GGUF Q4 是质量优先版本;仅支持 CUDA 的 GGUF Q4 ConvRot 使用稍多显存以提高速度。默认完整 DiT 路径优先保证音频质量,并禁用视频解码。","status.modelReady":"{model} 已加载并准备就绪。","status.runningTask":"正在运行{task}...","status.completeIn":"已在 {seconds} 秒内完成。","status.packageAvailable":"{model} 将使用 {format},现可在工作室中使用。","app.nativeStudio":"原生工作室","nav.studio":"工作室","nav.arena":"对比场","nav.models":"模型","nav.runtime":"运行环境","language.label":"界面语言","theme.label":"主题","theme.system":"跟随系统","theme.dark":"深色","theme.light":"浅色","workflow.tts":"文本转语音","workflow.asr":"ASR / 转录","workflow.music":"音乐生成","workflow.vc":"语音转换","workflow.sep":"音源分离","workflow.analysis":"音频分析","workflow.design":"音色设计","studio.eyebrow":"本地音频智能","studio.title":"音频工作室","studio.subtitle.tts":"从文本生成自然语音,并在模型支持时使用预设音色或声音克隆。","studio.subtitle.asr":"将语音音频转为文本,并在模型支持时设置语言和时间戳。","studio.subtitle.music":"根据描述、歌词或参考音频创作音乐和声音。","studio.subtitle.vc":"将录音转换为另一种声音,同时保留原有的说话或演唱表现。","studio.subtitle.sep":"将录音分离为人声、乐器或其他可用音轨。","studio.subtitle.analysis":"分析语音活动、说话人、时间信息和音频对齐。","studio.subtitle.design":"根据文字描述和支持的参考控制创建或调整声音。","studio.model":"模型","studio.noModel":"未选择模型","studio.resident":"已加载","studio.notInstalled":"未安装","studio.available":"可用","studio.chooseInstalled":"选择已安装的模型","studio.notDownloaded":"未下载","studio.pathFound":"已找到路径","studio.pathMissing":"路径不存在","studio.pathUnknown":"尚未检查路径","studio.load":"加载模型","studio.unload":"卸载模型","studio.working":"处理中…","studio.bundledLoaded":"内置 · 已加载","request.label":"请求","request.title":"输入与控制","request.prompt":"提示词","request.text":"文本","request.splitLongText":"拆分并合并长文本","request.charactersPerChunk":"每段字符数","request.language":"语言","request.autoLanguage":"留空 = 自动","request.seed":"随机种子","request.randomSeed":"-1 = 随机","request.maxTokens":"最大令牌数","request.sourceAudio":"源音频","request.recordMicrophone":"录制麦克风","voice.quickStart":"快速开始演示音色","voice.useReference":"使用下方参考音频文件","voice.reference":"参考音色","voice.required":"必需","voice.optional":"可选","voice.referenceText":"参考文本","voice.transcript":"参考转录","voice.saved":"已保存音色","voice.browserOnly":"仅存储在此浏览器中","voice.chooseSaved":"选择已保存音色...","voice.libraryName":"库名称","voice.save":"保存音色","common.delete":"删除","common.cancel":"取消","common.close":"关闭","common.refresh":"刷新","common.browse":"浏览","common.apply":"应用","options.modelParameters":"模型参数","options.additional":"其他选项","run.run":"运行","run.cancel":"取消","run.working":"处理中…","result.title":"输出","result.label":"结果","result.saveWav":"保存 WAV","result.empty":"生成的音频和结构化结果将显示在这里。","models.eyebrow":"模型库","models.title":"本地软件包","models.subtitle":"无需离开原生界面即可下载和管理模型包。","models.folder":"模型文件夹","models.useDefault":"使用默认值","models.showTypes":"显示模型类型","models.stopDownload":"停止下载","models.cleanPartial":"清理部分下载","runtime.title":"会话日志","runtime.status":"状态","runtime.backend":"后端","runtime.registered":"已注册","runtime.resident":"已加载","runtime.noEvents":"暂无事件。","folder.title":"选择文件夹","folder.up":"上一级","folder.select":"选择此文件夹","common.applying":"正在应用…","common.disabled":"已禁用","common.enabled":"已启用","file.choose":"选择文件","file.none":"未选择文件","folder.closeLabel":"关闭文件夹浏览器","folder.empty":"此文件夹没有子文件夹。","folder.eyebrow":"模型文件夹","folder.loading":"正在加载...","folder.loadingFolders":"正在加载文件夹...","footer.embedded":"SvelteKit · 内置于 audiocpp_server","models.checkingSize":"正在检查大小…","models.default":"默认","models.downloaded":"已下载","models.folderHint":"用于下载、本地检测和模型加载","models.folderPlaceholder":"audiocpp_server 旁的 models 文件夹","models.hfAccess":"需要 HF 访问权限","models.model":"模型","models.queued":"排队中","models.reinstall":"重新安装","models.selected":"已选择","models.sharedPackage":"使用上方显示的共享 {name} 软件包。","models.sizeUnavailable":"大小不可用","models.stopping":"正在停止","models.update":"更新","models.updateAvailable":"有可用更新","models.upToDate":"已是最新","models.variants":"变体","models.versionUnknown":"版本未知","nav.primary":"主导航","nav.workflows":"音频工作流程","arena.eyebrow":"对比场","arena.title.tts":"TTS 对比","arena.title.vc":"语音转换对比","arena.title.asr":"ASR 对比","arena.subtitle":"用同一输入依次运行已选择的已安装模型和精度包,方便比较输出。","arena.subtitle.tts":"用同一文本依次运行已选择的 TTS 模型和精度包。","arena.subtitle.vc":"用同一源音频依次运行已选择的语音转换模型。","arena.subtitle.asr":"用同一源音频依次运行已选择的 ASR 模型并比较转录结果。","arena.mode.tts":"TTS","arena.mode.vc":"语音转换","arena.mode.asr":"ASR","arena.input.label":"输入","arena.input.title":"共享请求","arena.input.textPlaceholder":"输入一段文本,用于对比多个 TTS 模型","arena.input.groundTruth":"真实文本","arena.input.groundTruthPlaceholder":"粘贴期望转录文本以计算 WER","arena.shared":"共享","arena.voice.label":"声音","arena.voice.modelDefault":"模型默认","arena.voice.builtin":"内置演示声音","arena.voice.reference":"参考音频","arena.voice.builtinNote":"内置声音会作为 voice ID 传给每个模型。此声音来源不需要参考文本。","arena.voice.targetSpeaker":"目标说话人音频","arena.voice.clearTarget":"清除目标","arena.voice.clearReference":"清除参考","arena.options.shared":"共享选项","arena.queue.label":"队列","arena.queue.title":"模型","arena.queue.add":"添加","arena.queue.remove":"移除","arena.queue.clear":"清空","arena.queue.empty":"添加已安装模型或精度包进行对比。","arena.run":"运行对比","arena.package.label":"软件包","arena.package.configured":"已配置","arena.results.title":"比较输出","arena.results.empty":"暂无对比结果。","arena.metric.wall":"耗时","arena.metric.rtf":"RTF","arena.metric.wer":"WER","arena.itemStatus.queued":"排队中","arena.itemStatus.loading":"加载中","arena.itemStatus.running":"运行中","arena.itemStatus.done":"完成","arena.itemStatus.failed":"失败","arena.itemStatus.skipped":"跳过","arena.status.duplicate":"{model} {package} 已在对比队列中。","arena.status.loadingModel":"正在加载模型","arena.status.runningRequest":"正在运行请求","arena.status.addModel":"请至少添加一个模型到对比场。","arena.status.running":"正在运行 {mode} 对比...","arena.status.complete":"对比运行完成。","arena.note.skippedTargetVoice":"已跳过:此语音转换模型需要目标说话人音频。","arena.note.skippedReferenceText":"已跳过:此模型对所选声音输入需要参考文本。","arena.note.builtinVoice":"使用内置声音:{voice}。","arena.note.referenceVoice":"使用参考声音。","arena.note.referenceUnsupported":"使用模型默认声音;此模型不支持参考声音。","arena.note.defaultVoice":"使用默认声音:{voice}。","arena.note.skippedReferenceVoice":"已跳过:此模型需要参考声音。","arena.error.seed":"Seed 必须为 -1 或 0 到 4294967295 的无符号 32 位整数。","arena.error.jsonObject":"必须是对象","arena.error.invalidJson":"对比场选项 JSON 无效:{error}","arena.error.unregistered":"此服务器未注册已配置模型。","arena.error.notDownloaded":"{package} 未下载。","arena.error.loadFailed":"模型未加载。","arena.error.missingCatalog":"模型已不在目录中。","arena.error.enterTtsText":"请输入 TTS 对比文本。","arena.error.chooseAsrSource":"请选择 ASR 对比的源音频。","arena.error.chooseVcSource":"请选择语音转换对比的源音频。","arena.error.noAudio":"响应中没有音频。","request.alignmentText":"对齐文本","request.context":"上下文提示","request.contextHint":"可选术语或名称","request.duration":"持续时间(秒)","request.liveDescription":"使用模型的流式模式连续处理四秒请求。","request.liveTitle":"实时麦克风转录","request.lyrics":"歌词","request.optional":"可选","request.recordingMicrophone":"正在录制麦克风","request.soundPlaceholder":"描述声音或音乐…","request.startLive":"开始实时处理","request.stopLive":"停止实时处理","request.stopRecording":"停止录制","request.textPlaceholder":"输入文本…","request.voiceDescription":"音色描述","request.voiceDescriptionPlaceholder":"温暖、平静且语速适中的声音…","result.track":"音轨","result.tracks":"音轨","runtime.eyebrow":"运行环境","runtime.subtitle":"浏览器端生命周期和请求事件。","status.ready":"就绪","studio.estimatedVram":"预计 VRAM:{value} GB","studio.vram":"VRAM —","task.align":"强制对齐","task.asr":"语音转录","task.clon":"声音克隆","task.diar":"说话人分离","task.gen":"音乐生成","task.s2s":"语音编辑","task.sep":"音源分离","task.svc":"歌声音色转换","task.tts":"文本转语音","task.vad":"语音活动检测","task.vc":"语音转换","task.vdes":"音色设计","voice.bundledNote":"内置参考音频及其匹配转录将自动提供。","voice.namePlaceholder":"我的参考音色","voice.recommendedClone":"建议用于克隆","voice.recording":"正在录制参考音色","voice.requiredClone":"此声音克隆必需","voice.transcriptPlaceholder":"输入参考音频中的准确文字,或加载上方匹配的 .txt 文件。"}},Jd={"app.nativeStudio":"Native Studio","nav.studio":"Studio","nav.arena":"Arena","nav.models":"Models","nav.runtime":"Runtime","nav.primary":"Primary navigation","nav.workflows":"Audio workflows","language.label":"Interface language","theme.label":"Theme","theme.system":"System","theme.dark":"Dark","theme.light":"Light","arena.eyebrow":"ARENA","arena.title.tts":"TTS comparison","arena.title.vc":"Voice conversion comparison","arena.title.asr":"ASR comparison","arena.subtitle":"Run the same input through selected installed models and package variants, one after another.","arena.subtitle.tts":"Run the same text through selected TTS models and package variants.","arena.subtitle.vc":"Run the same source audio through selected voice conversion models.","arena.subtitle.asr":"Run the same source audio through selected ASR models and compare transcripts.","arena.mode.tts":"TTS","arena.mode.vc":"Voice conversion","arena.mode.asr":"ASR","arena.input.label":"Input","arena.input.title":"Shared request","arena.input.textPlaceholder":"Enter one prompt to compare across TTS models","arena.input.groundTruth":"Ground truth text","arena.input.groundTruthPlaceholder":"Paste the expected transcript to calculate WER","arena.shared":"shared","arena.voice.label":"Voice","arena.voice.modelDefault":"Model default","arena.voice.builtin":"Built-in demo voice","arena.voice.reference":"Reference audio","arena.voice.builtinNote":"Built-in voices are passed as voice IDs for each model. Reference text is not required for this voice source.","arena.voice.targetSpeaker":"Target speaker audio","arena.voice.clearTarget":"Clear target","arena.voice.clearReference":"Clear reference","arena.options.shared":"Shared options","arena.queue.label":"Queue","arena.queue.title":"Models","arena.queue.add":"Add","arena.queue.remove":"Remove","arena.queue.clear":"Clear","arena.queue.empty":"Add installed models or dtype packages to compare.","arena.run":"Run arena","arena.package.label":"Package","arena.package.configured":"Configured","arena.results.title":"Compare outputs","arena.results.empty":"No arena results yet.","arena.metric.wall":"wall","arena.metric.rtf":"rtf","arena.metric.wer":"wer","arena.itemStatus.queued":"queued","arena.itemStatus.loading":"loading","arena.itemStatus.running":"running","arena.itemStatus.done":"done","arena.itemStatus.failed":"failed","arena.itemStatus.skipped":"skipped","arena.status.duplicate":"{model} {package} is already in the arena.","arena.status.loadingModel":"Loading model","arena.status.runningRequest":"Running request","arena.status.addModel":"Add at least one model to the arena.","arena.status.running":"Running {mode} arena...","arena.status.complete":"Arena run complete.","arena.note.skippedTargetVoice":"Skipped because this VC model requires target speaker audio.","arena.note.skippedReferenceText":"Skipped because this model requires reference text for the selected voice input.","arena.note.builtinVoice":"Used built-in voice: {voice}.","arena.note.referenceVoice":"Used reference voice.","arena.note.referenceUnsupported":"Used default voice; reference voice is not supported.","arena.note.defaultVoice":"Used default voice: {voice}.","arena.note.skippedReferenceVoice":"Skipped because this model requires a reference voice.","arena.error.seed":"Seed must be -1 or an unsigned 32-bit integer (0 to 4294967295).","arena.error.jsonObject":"must be an object","arena.error.invalidJson":"Arena options JSON is invalid: {error}","arena.error.unregistered":"Configured model is not registered by this server.","arena.error.notDownloaded":"{package} is not downloaded.","arena.error.loadFailed":"Model did not load.","arena.error.missingCatalog":"Model is no longer in the catalog.","arena.error.enterTtsText":"Enter text for the TTS arena.","arena.error.chooseAsrSource":"Choose source audio for the ASR arena.","arena.error.chooseVcSource":"Choose source audio for the VC arena.","arena.error.noAudio":"Response did not include audio.","workflow.tts":"Text to speech","workflow.asr":"ASR / Transcription","workflow.music":"Music generation","workflow.vc":"Voice conversion","workflow.sep":"Source separation","workflow.analysis":"Audio analysis","workflow.design":"Voice design","task.tts":"Text to speech","task.clon":"Voice cloning","task.asr":"Transcription","task.gen":"Music generation","task.midi":"Audio to MIDI","task.vc":"Voice conversion","task.svc":"Singing voice conversion","task.s2s":"Speech editing","task.sep":"Source separation","task.vad":"Voice activity","task.diar":"Speaker diarization","task.align":"Forced alignment","task.vdes":"Voice design","studio.eyebrow":"LOCAL AUDIO INTELLIGENCE","studio.title":"Audio studio","studio.subtitle.tts":"Generate natural speech from text, with voice presets and cloning when supported.","studio.subtitle.asr":"Transcribe spoken audio into text, with language and timestamp controls when supported.","studio.subtitle.music":"Create music and sound from a prompt, lyrics, or reference audio when supported.","studio.subtitle.vc":"Transform a recording into another voice while preserving the spoken or sung performance.","studio.subtitle.sep":"Split a recording into vocals, instruments, or other available audio stems.","studio.subtitle.analysis":"Analyze audio for speech activity, speakers, timing, and alignment.","studio.subtitle.design":"Create or refine a voice from a written description and supported reference controls.","studio.model":"Model","studio.noModel":"No model selected","studio.resident":"Resident","studio.notInstalled":"Not installed","studio.available":"Available","studio.chooseInstalled":"Choose an installed model","studio.notDownloaded":"not downloaded","studio.pathFound":"Path found","studio.pathMissing":"Path missing","studio.pathUnknown":"Path not inspected","studio.estimatedVram":"{value} GB estimated VRAM","studio.vram":"VRAM —","studio.load":"Load model","studio.unload":"Unload model","studio.working":"Working…","studio.bundledLoaded":"Bundled · loaded","request.label":"REQUEST","request.title":"Input & controls","request.prompt":"Prompt","request.alignmentText":"Alignment text","request.text":"Text","request.soundPlaceholder":"Describe the sound or music…","request.textPlaceholder":"Enter the text…","request.splitLongText":"Split and merge long text","request.charactersPerChunk":"Characters per chunk","request.lyrics":"Lyrics","request.optional":"optional","request.context":"Context prompt","request.contextHint":"optional terminology or names","request.voiceDescription":"Voice description","request.voiceDescriptionPlaceholder":"A warm, calm voice with measured pacing…","request.language":"Language","request.autoLanguage":"blank = auto","request.seed":"Seed","request.randomSeed":"-1 = random","request.maxTokens":"Maximum tokens","request.duration":"Duration seconds","request.autoDuration":"-1 = auto","request.rewriteCaption":"Rewrite caption","request.rewritingCaption":"Rewriting caption...","request.minimaxFrames":"{frames} aligned output frames","request.sourceAudio":"Source audio","request.stopRecording":"Stop recording","request.recordingMicrophone":"Recording microphone","request.recordMicrophone":"Record microphone","request.liveTitle":"Live microphone transcription","request.liveDescription":"Processes consecutive four-second requests using the model's streaming mode.","request.stopLive":"Stop live","request.startLive":"Start live","voice.quickStart":"Quick-start voice presets (demo voices)","voice.configured":"Configured voices","voice.useReference":"Use a reference audio file below","voice.bundledNote":"The bundled reference audio and its matching transcript are supplied automatically.","voice.reference":"Reference voice","voice.required":"required","voice.optional":"optional","voice.referenceText":"Reference text","voice.recording":"Recording voice reference","voice.transcript":"Reference transcript","voice.requiredClone":"required for this voice clone","voice.recommendedClone":"recommended for cloning","voice.transcriptPlaceholder":"Type the exact words spoken in the reference audio, or load a matching .txt file above.","voice.saved":"Saved voices","voice.browserOnly":"stored only in this browser","voice.chooseSaved":"Choose a saved voice...","voice.libraryName":"Library name","voice.namePlaceholder":"My reference voice","voice.save":"Save voice","common.delete":"Delete","common.enabled":"Enabled","common.disabled":"Disabled","common.cancel":"Cancel","common.close":"Close","common.refresh":"Refresh","common.browse":"Browse","common.apply":"Apply","common.applying":"Applying…","file.choose":"Choose file","file.none":"No file chosen","file.preview":"Preview","file.clear":"Clear file","options.modelParameters":"Model parameters","options.additional":"Additional options","param.minimax_h3.num_inference_steps.label":"Denoising steps","param.minimax_h3.num_inference_steps.info":"Twelve denoising steps provide a practical quality and performance balance.","param.minimax_h3.num_frames.label":"Output frames","param.minimax_h3.num_frames.info":"Calculated from duration at approximately 24 frames per output second. Editing frames also updates duration.","param.minimax_h3.guidance_scale.label":"Guidance scale","param.minimax_h3.sampler.label":"Sampler","param.minimax_h3.dit_acceleration.label":"DiT acceleration","param.minimax_h3.dit_acceleration.info":"None uses the quality-first full-DiT path. Acceleration modes are experimental and may distort some outputs.","param.minimax_h3.return_video.label":"Decode video","param.minimax_h3.return_video.info":"Disabled by default to reduce memory use and return audio only.","model.minimax_h3.hint":"MiniMax-H3 uses a joint audio/video DiT. GGUF Q4 is the quality-first choice; CUDA-only GGUF Q4 ConvRot uses slightly more VRAM for higher speed. The default full-DiT path prioritizes audio quality and video decoding is disabled.","run.run":"Run","run.cancel":"Cancel","run.working":"Working…","result.label":"RESULT","result.title":"Output","result.track":"track","result.tracks":"tracks","result.saveWav":"Save WAV","result.empty":"Generated audio and structured results appear here.","models.eyebrow":"MODEL LIBRARY","models.title":"Local packages","models.subtitle":"Download and manage model packages without leaving the native interface.","models.folder":"Models folder","models.folderHint":"downloads, local detection, and model loading","models.folderPlaceholder":"models folder beside audiocpp_server","models.default":"Default","models.useDefault":"Use default","models.showTypes":"Show model types","models.model":"model","models.variants":"variants","models.update":"Update","models.reinstall":"Reinstall","models.upToDate":"Up to date","models.updateAvailable":"Update available","models.versionUnknown":"Version unknown","models.selected":"Selected","models.downloaded":"Downloaded","models.queued":"queued","models.stopping":"stopping","models.checkingSize":"checking size…","models.hfAccess":"HF access required","models.sizeUnavailable":"size unavailable","models.stopDownload":"Stop download","models.cleanPartial":"Clean partial download","models.sharedPackage":"Uses the shared {name} package shown above.","runtime.eyebrow":"RUNTIME","runtime.title":"Session log","runtime.subtitle":"Browser-side lifecycle and request events.","runtime.status":"Status","runtime.backend":"Backend","runtime.registered":"Registered","runtime.resident":"Resident","runtime.noEvents":"No events yet.","status.ready":"Ready","status.modelReady":"{model} is resident and ready.","status.runningTask":"Running {task}...","status.completeIn":"Complete in {seconds}s.","status.packageAvailable":"{model} will use {format}. It is available in Studio.","folder.eyebrow":"MODELS FOLDER","folder.title":"Choose a folder","folder.closeLabel":"Close folder browser","folder.loading":"Loading...","folder.up":"Up one level","folder.loadingFolders":"Loading folders...","folder.empty":"This folder has no subfolders.","folder.select":"Select this folder","footer.embedded":"SvelteKit · embedded in audiocpp_server"},Dk=Object.assign({"../../lang/lang_it.json":Rk,"../../lang/lang_pl.json":Bk,"../../lang/lang_ru.json":Pk,"../../lang/lang_zh.json":Nk}),_l=new Map([["en",Jd]]),Ug=[{code:"en",name:"English"}];for(const[t,a]of Object.entries(Dk).sort(([r],[n])=>r.localeCompare(n))){const r=t.match(/lang_([^/\\.]+)\.json$/)?.[1]?.toLowerCase(),n=(a.code||r||"").trim().toLowerCase();!n||n==="en"||!a.name||!a.translations||(_l.set(n,a.translations),Ug.push({code:n,name:a.name}))}const Lk=Ug;function Eg(t){const a=_l.get(t)||Jd;return(r,n={},i=r)=>{let c=a[r]||Jd[r]||i;for(const[s,d]of Object.entries(n))c=c.replaceAll(`{${s}}`,String(d));return c}}function Rg(t){for(const a of t){const r=a.toLowerCase();if(_l.has(r))return r;const n=r.split("-")[0];if(_l.has(n))return n}return"en"}var Vk=ge(' '),Ik=ge('',2),Ok=ge(''),Hk=ge('
');function Gr(t,a){hs(a,!1);const r=le(),n=le();let i=Rt(a,"file",8,null),c=Rt(a,"src",8,""),s=Rt(a,"name",8,""),d=Rt(a,"kind",8,"audio"),p=Rt(a,"label",8,"Preview"),m=le(""),_=le(null);function h(){e(m)&&(URL.revokeObjectURL(e(m)),U(m,""))}Zc(h),We(()=>(de(i()),e(_)),()=>{i()!==e(_)&&(h(),U(_,i()),i()&&U(m,URL.createObjectURL(i())))}),We(()=>(e(m),de(c())),()=>{U(r,e(m)||c())}),We(()=>(de(i()),de(s())),()=>{U(n,i()?.name||s())}),Oc(),Xc();var f=Yr(),u=It(f);{var l=o=>{var g=Hk(),v=B(g),b=B(v),k=B(b,!0);j(b);var w=W(b,2);{var T=D=>{var I=Vk(),S=B(I,!0);j(I),pe(()=>K(S,e(n))),oe(D,I)};$e(w,D=>{e(n)&&D(T)})}j(v);var N=W(v,2);{var R=D=>{var I=Ik();pe(()=>qe(I,"src",e(r))),oe(D,I)},F=D=>{var I=Ok();pe(()=>qe(I,"src",e(r))),oe(D,I)};$e(N,D=>{d()==="video"?D(R):D(F,-1)})}j(g),pe(()=>K(k,p())),oe(o,g)};$e(u,o=>{e(r)&&o(l)})}oe(t,f),_s()}const Qk=/^\s*(Speaker\s+\d+\s*:)\s*(.*)$/i,Bg=new Set(["。","!","?","!","?",";",";","…","."]),Wk=new Set(["mr","mrs","ms","dr","prof","sr","jr","st","mt","rev","hon","vs","etc","eg","ie","approx","dept","est","fig","no","vol","jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec","inc","ltd","co","corp"]);function Pg(t){return t>="0"&&t<="9"}function Yk(t){return/[\p{L}\p{N}']/u.test(t)}function Kk(t,a){const r=t[a+1];if(r!==void 0&&!/\s/.test(r)||a>0&&Pg(t[a-1])&&r!==void 0&&Pg(r))return!1;let n=a;for(;n>0&&Yk(t[n-1]);)n-=1;const i=t.slice(n,a);return i.length===1&&/\p{L}/u.test(i)?!1:!Wk.has(i.toLowerCase())}function Xk(t){const a=[];let r=0;for(let n=0;na;){let i=n.lastIndexOf(" ",a);i<=0&&(i=a);const c=n.slice(0,i).trim();c&&r.push(c),n=n.slice(i).trim()}return n&&r.push(n),r}function Jk(t,a){const r=Qk.exec(t),n=r?`${r[1]} `:"",i=r?r[2]:t.trim(),c=Math.max(1,a-n.length),s=Xk(i);s.length||s.push(i);const d=[];let p="",m="";for(const _ of s){const h=_.trimEnd();if(!h)continue;const f=_.slice(h.length);if(p&&p.length+m.length+h.length>c&&(d.push(n+p.trim()),p="",m=""),h.length<=c){p=p?`${p}${m}${h}`:h,m=f;continue}p&&(d.push(n+p.trim()),p="",m="");for(const u of Zk(h,c))d.push(n+u)}return p&&d.push(n+p.trim()),d.length?d:[t]}function ew(t,a){const r=[];for(const s of t.split(/\r?\n/))s.trim()&&r.push(...s.length>a?Jk(s,a):[s]);const n=[];let i=[],c=0;for(const s of r){const d=i.length?1:0;i.length&&c+d+s.length>a&&(n.push(i.join(` `)),i=[],c=0),i.push(s),c+=(i.length>1?1:0)+s.length}return i.length&&n.push(i.join(` -`)),n.length?n:t.trim()?[t]:[]}function eu(t){return t==="vibevoice"?600:t==="voxcpm2"?60:1e3}const Ng="audiocpp.ui.theme",Xk=[{id:"system",label:"System"},{id:"dark",label:"Dark"},{id:"light",label:"Light"}];function Dg(t){return t==="dark"||t==="light"||t==="system"?t:"system"}function Zk(t,a){return t==="dark"||t==="light"?t:a?"dark":"light"}var Lg=ge(""),Vg=ge(' '),Jk=ge('
'),ew=ge(' '),tw=ge(`
LoRA requirements vary. Read the original adapter's documentation for usage instructions.
`),aw=ge(""),tu=ge('
'),iw=ge(""),nw=ge('
'),rw=ge(" "),Ig=ge(' '),sw=ge('
'),ow=ge('Extract or paste ABC to preview the score.'),Og=ge(''),Hg=ge('
'),cw=ge('
Yue2 ABC conditioning
Cover source Use SheetSage2 + MERT2 to extract an editable ABC score from a song.
Warning: VRAM may remain in use after unloading.
ABC score editor Edit the extracted score here. The sheet preview updates from this ABC.
Sheet preview Rendered from the editable ABC score.
Yue2 semantic sampling
Yue2 ABC planner sampling
');function lw(t,a){ps(a,!1);const r=de(),n=de(),i=de(),c=de(),s=de();let d=Ut(a,"lyrics",12,""),p=Ut(a,"seed",12,1234),m=Ut(a,"loraUploading",12,!1),_=Ut(a,"busy",8,!1),h=Ut(a,"paramSpecs",24,()=>[]),f=Ut(a,"advancedValues",24,()=>({})),u=Ut(a,"catalogEntries",24,()=>[]),l=Ut(a,"loadedModels",24,()=>[]),o=Ut(a,"server",8,null),g=Ut(a,"modelPathFor",8,Se=>Se.path),v=Ut(a,"sessionOptionsFor",8,Se=>Se.session_options||{}),b=Ut(a,"refreshModels",8,async()=>{}),k=Ut(a,"log",8,()=>{}),w=Ut(a,"tr",8,(Se,ae,Ee=Se)=>Ee),$=Ut(a,"localizedParameterText",8,(Se,ae)=>ae==="label"?Se.name:""),N=Ut(a,"setParameterValue",8,()=>{});const R=["main_gguf","vae_gguf"],F=["style","cot","guidance_scale","num_inference_steps"],D=["abc","abc_file"],I=["semantic_temperature","semantic_top_p","semantic_top_k","semantic_repetition_penalty","semantic_penalty_window","semantic_min_tokens","semantic_max_tokens"],S=["abc_temperature","abc_top_p","abc_top_k","abc_repetition_penalty","abc_penalty_window","abc_min_tokens","abc_max_tokens"];let j=de(null),V=de(null),G=de(""),T=null;Xc(()=>T?.abort());async function C(Se){if(Se){if(U(G,""),!Se.name.toLowerCase().endsWith(".safetensors")){U(G,"Select an unfused AR .safetensors adapter.");return}m(!0),T=new AbortController;try{const ae=await Od(Se,T.signal);ye("ar_lora",ae),k()(`YuE2 AR LoRA selected: ${Se.name}`)}catch(ae){T.signal.aborted||U(G,ae instanceof Error?ae.message:String(ae))}finally{m(!1),T=null,e(V)&&ni(V,e(V).value="")}}}let A=de(null),B=de(!1);const y="audiocpp.ui.yue2.unloadSheetSageAfterConversion";let x=de(!0);xs(()=>{U(x,localStorage.getItem(y)!=="false")});let q=de(""),L=de(""),Q=de(""),Z=de(null),X="",J=de(""),be=null;function re(Se,ae){return Se.map(Ee=>ae.find(Qe=>Qe.name===Ee)).filter(Ee=>Ee!==void 0)}function Fe(Se){return h().find(ae=>ae.name===Se)}function ye(Se,ae){const Ee=Fe(Se);Ee&&N()(Ee,ae)}function Me(Se){try{return atob(Se)}catch{return Se}}function oe(Se){if(typeof Se.text=="string"&&Se.text.trim())return Se.text;const ae=Array.isArray(Se.artifacts)?Se.artifacts:[];for(const Ee of ae){if(!Ee||typeof Ee!="object")continue;const Qe=Ee,ma=String(Qe.meta?.format||Qe.meta?.extension||Qe.id||"");if(/abc|score/i.test(ma)&&typeof Qe.payload=="string")return Me(Qe.payload)}return""}function ze(){return u().find(Se=>Se.family==="sheetsage2")||null}async function ue(Se){if(l().some(Qe=>Qe.id===Se.id&&Qe.loaded))return;const ae=await pl();if(!ae.find(Qe=>Qe.id===Se.id&&Qe.loaded)){if(!o()?.ui_management){if(!ae.some(Qe=>Qe.id===Se.id))throw new Error("SheetSage2 is not registered. Add SheetSage2 to server config.");return}await Ld({id:Se.id,path:g()(Se),family:Se.family,task:Se.task,mode:Se.mode||"offline",load_options:Se.load_options||{},session_options:v()(Se)})}}async function Ve(){if(!e(j)||e(B))return;U(B,!0),U(L,""),U(q,"Preparing SheetSage2 cover score transcription...");const Se=e(x);let ae=null;try{const Ee=ze();if(!Ee)throw new Error("SheetSage2 is not available in the model catalog.");await ue(Ee),ae=Ee.id,await b()(),U(q,"Uploading source song...");const Qe=await Od(e(j));U(q,"Transcribing source song to ABC with SheetSage2...");const ma=await gl({model:Ee.id,request:{audio:Qe,options:{}}}),It=oe(ma);if(!It.trim())throw new Error("SheetSage2 did not return an ABC score.");U(Q,It),ye("abc",It),ye("abc_file",""),ye("cot","melody"),U(q,"ABC score imported. Review/edit the sheet before generating the cover."),k()("SheetSage2 cover score imported into Yue2 ABC conditioning.")}catch(Ee){U(L,Ee instanceof Error?Ee.message:String(Ee)),U(q,""),k()(`SheetSage2 cover transcription failed: ${e(L)}`)}finally{if(Se&&ae){try{o()?.ui_management?await fo(ae):await ri("/v1/tasks/unload_models",{method:"POST",body:JSON.stringify({model_ids:[ae]})}),k()("SheetSage2 unloaded after cover transcription.")}catch(Ee){const Qe=`SheetSage2 unload failed: ${Ee instanceof Error?Ee.message:String(Ee)}`;U(L,[e(L),Qe].filter(Boolean).join(" ")),k()(Qe)}try{await b()()}catch(Ee){const Qe=`Model status refresh failed: ${Ee instanceof Error?Ee.message:String(Ee)}`;U(L,[e(L),Qe].filter(Boolean).join(" ")),k()(Qe)}}U(B,!1)}}function Ke(){U(j,null),e(A)&&ni(A,e(A).value="")}function Rt(Se){U(Q,Se),ye("abc",Se),Se.trim()&&ye("abc_file","")}async function gt(Se){const ae=Se.trim();if(e(Z)){if(!ae){e(Z).replaceChildren(),X="",U(J,"");return}if(ae!==X&&(await ws(),!!e(Z)))try{be||(be=(await Jo(()=>Promise.resolve().then(()=>H5),void 0,Ui&&Ui.tagName.toUpperCase()==="SCRIPT"&&Ui.src||new URL("_app/immutable/bundle.B8bl09_b.js",document.baseURI).href)).renderAbc),e(Z).replaceChildren(),be(e(Z),ae,{add_classes:!0,responsive:"resize"}),X=ae,U(J,"")}catch(Ee){e(Z).replaceChildren(),X="",U(J,Ee instanceof Error?Ee.message:String(Ee))}}}He(()=>le(h()),()=>{U(r,re(R,h()))}),He(()=>le(h()),()=>{U(n,re(F,h()))}),He(()=>le(h()),()=>{U(i,re(D,h()))}),He(()=>le(h()),()=>{U(c,re(I,h()))}),He(()=>le(h()),()=>{U(s,re(S,h()))}),He(()=>(le(f()),e(Q),e(B)),()=>{String(f().abc||"")!==e(Q)&&!e(B)&&U(Q,String(f().abc||""))}),He(()=>e(Q),()=>{gt(e(Q))}),Ic(),Kc();var zt=cw(),$t=P(zt),tt=P($t),ie=P(tt),fe=W(ie),te=P(fe,!0);E(fe),E(tt);var ce=W(tt,2);sn(ce),E($t);var _e=W($t,2),Ae=P(_e),Ge=P(Ae),Xe=P(Ge),we=W(Xe),Ue=P(we,!0);E(we),E(Ge);var ct=W(Ge,2);Ga(ct),E(Ae);var Qt=W(Ae,2);ca(Qt,1,()=>e(r),oa,(Se,ae)=>{var Ee=Jk(),Qe=P(Ee),ma=P(Qe,!0);E(Qe);var It=W(Qe,2);ca(It,5,()=>(e(ae),z(()=>e(ae).choices||[])),oa,(ft,Aa)=>{var Ia=Lg(),Ze=P(Ia,!0);E(Ia);var ht={};pe(()=>{K(Ze,e(Aa)),ht!==(ht=e(Aa))&&(Ia.value=(Ia.__value=e(Aa))??"")}),se(ft,Ia)}),E(It);var Ea;kr(It);var Di=W(It,2);{var ha=ft=>{var Aa=Vg(),Ia=P(Aa,!0);E(Aa),pe(Ze=>K(Ia,Ze),[()=>(le($()),e(ae),le(w()),z(()=>$()(e(ae),"info",w())))]),se(ft,Aa)},ea=Gi(()=>(le($()),e(ae),le(w()),z(()=>$()(e(ae),"info",w()))));Te(Di,ft=>{e(ea)&&ft(ha)})}E(Ee),pe((ft,Aa)=>{$e(Qe,"for",(e(ae),z(()=>"param-"+e(ae).name))),K(ma,ft),$e(It,"id",(e(ae),z(()=>"param-"+e(ae).name))),Ea!==(Ea=Aa)&&(It.value=(It.__value=Aa)??"",er(It,Aa))},[()=>(le($()),e(ae),le(w()),z(()=>$()(e(ae),"label",w()))),()=>(le(f()),e(ae),z(()=>String(f()[e(ae).name]??"")))]),qe("change",It,ft=>N()(e(ae),ft.currentTarget.value)),se(Se,Ee)}),E(_e);var je=W(_e,2);{var ut=Se=>{var ae=tw(),Ee=P(ae),Qe=W(P(Ee),2);Ga(Qe);var ma=W(Qe,2);Ki(ma,Ze=>U(V,Ze),()=>e(V));var It=W(ma,2),Ea=P(It),Di=P(Ea,!0);E(Ea);var ha=W(Ea,2);E(It);var ea=W(It,4);{var ft=Ze=>{var ht=ew(),ba=P(ht,!0);E(ht),pe(()=>K(ba,e(G))),se(Ze,ht)};Te(ea,Ze=>{e(G)&&Ze(ft)})}E(Ee);var Aa=W(Ee,2),Ia=W(P(Aa),2);Ga(Ia),E(Aa),E(ae),pe((Ze,ht)=>{Qe.disabled=(le(o()),le(_()),le(m()),z(()=>!o()?.ui_management||_()||m())),Yi(Qe,Ze),ma.disabled=(le(o()),le(_()),le(m()),z(()=>!o()?.ui_management||_()||m())),Ea.disabled=(le(o()),le(_()),le(m()),z(()=>!o()?.ui_management||_()||m())),K(Di,m()?"Uploading...":"Choose AR LoRA"),ha.disabled=(le(o()),le(_()),le(m()),le(f()),z(()=>!o()?.ui_management||_()||m()||!f().ar_lora)),Ia.disabled=(le(o()),le(_()),le(m()),le(f()),z(()=>!o()?.ui_management||_()||m()||!f().ar_lora)),Yi(Ia,ht)},[()=>(le(f()),z(()=>String(f().ar_lora??""))),()=>(le(f()),z(()=>Number(f().ar_lora_scale??1)))]),qe("input",Qe,Ze=>ye("ar_lora",Ze.currentTarget.value.trim())),qe("change",ma,Ze=>C(Ze.currentTarget.files?.[0]||null)),qe("click",Ea,()=>e(V)?.click()),qe("click",ha,()=>{ye("ar_lora",""),U(G,"")}),qe("change",Ia,Ze=>{Number.isFinite(Ze.currentTarget.valueAsNumber)&&ye("ar_lora_scale",Ze.currentTarget.valueAsNumber)}),se(Se,ae)},fa=Gi(()=>z(()=>Fe("ar_lora")));Te(je,Se=>{e(fa)&&Se(ut)})}var vt=W(je,2);ca(vt,5,()=>e(n),oa,(Se,ae)=>{var Ee=nw();let Qe;var ma=P(Ee),It=P(ma,!0);E(ma);var Ea=W(ma,2);{var Di=Ze=>{var ht=aw();ca(ht,5,()=>(e(ae),z(()=>e(ae).choices||[])),oa,(Pa,Gr)=>{var zi=Lg(),or=P(zi,!0);E(zi);var Fr={};pe(()=>{K(or,e(Gr)),Fr!==(Fr=e(Gr))&&(zi.value=(zi.__value=e(Gr))??"")}),se(Pa,zi)}),E(ht);var ba;kr(ht),pe(Pa=>{$e(ht,"id",(e(ae),z(()=>"param-"+e(ae).name))),ba!==(ba=Pa)&&(ht.value=(ht.__value=Pa)??"",er(ht,Pa))},[()=>(le(f()),e(ae),z(()=>String(f()[e(ae).name]??"")))]),qe("change",ht,Pa=>N()(e(ae),Pa.currentTarget.value)),se(Ze,ht)},ha=Ze=>{var ht=tu(),ba=P(ht);Ga(ba);var Pa=W(ba,2),Gr=P(Pa,!0);E(Pa),E(ht),pe((zi,or)=>{$e(ba,"id",(e(ae),z(()=>"param-"+e(ae).name))),$e(ba,"min",(e(ae),z(()=>e(ae).minimum))),$e(ba,"max",(e(ae),z(()=>e(ae).maximum))),$e(ba,"step",(e(ae),z(()=>e(ae).step))),Yi(ba,zi),K(Gr,or)},[()=>(le(f()),e(ae),z(()=>Number(f()[e(ae).name]??e(ae).default))),()=>(le(f()),e(ae),z(()=>String(f()[e(ae).name])))]),qe("input",ba,zi=>N()(e(ae),zi.currentTarget.valueAsNumber)),se(Ze,ht)},ea=Ze=>{var ht=iw();Ga(ht),pe((ba,Pa)=>{$e(ht,"id",(e(ae),z(()=>"param-"+e(ae).name))),$e(ht,"type",(e(ae),z(()=>e(ae).type==="number"?"number":"text"))),$e(ht,"min",(e(ae),z(()=>e(ae).minimum))),$e(ht,"max",(e(ae),z(()=>e(ae).maximum))),$e(ht,"step",(e(ae),z(()=>e(ae).step))),Yi(ht,ba),$e(ht,"placeholder",Pa)},[()=>(le(f()),e(ae),z(()=>String(f()[e(ae).name]??""))),()=>(le($()),e(ae),le(w()),z(()=>$()(e(ae),"placeholder",w())))]),qe("input",ht,ba=>N()(e(ae),e(ae).type==="number"?ba.currentTarget.valueAsNumber:ba.currentTarget.value)),se(Ze,ht)};Te(Ea,Ze=>{e(ae),z(()=>e(ae).type==="choice")?Ze(Di):(e(ae),z(()=>e(ae).type==="slider")?Ze(ha,1):Ze(ea,-1))})}var ft=W(Ea,2);{var Aa=Ze=>{var ht=Vg(),ba=P(ht,!0);E(ht),pe(Pa=>K(ba,Pa),[()=>(le($()),e(ae),le(w()),z(()=>$()(e(ae),"info",w())))]),se(Ze,ht)},Ia=Gi(()=>(le($()),e(ae),le(w()),z(()=>$()(e(ae),"info",w()))));Te(ft,Ze=>{e(Ia)&&Ze(Aa)})}E(Ee),pe(Ze=>{Qe=za(Ee,1,"yue2-field svelte-15djq8z",null,Qe,{wide:e(ae).type==="text"}),$e(ma,"for",(e(ae),z(()=>"param-"+e(ae).name))),K(It,Ze)},[()=>(le($()),e(ae),le(w()),z(()=>$()(e(ae),"label",w())))]),se(Se,Ee)}),E(vt);var si=W(vt,2),va=P(si),xa=W(P(va)),pa=P(xa,!0);E(xa),E(va);var Xa=W(va,2),Jt=P(Xa),fi=P(Jt),oi=W(P(fi),2),Gn=P(oi,!0);E(oi),E(fi);var La=W(fi,2),ci=P(La);Ga(ci),fs(2),E(La);var Pi=W(La,4);Ki(Pi,Se=>U(A,Se),()=>e(A));var pi=W(Pi,2),Fn=W(P(pi),2),Vt=P(Fn,!0);E(Fn),E(pi);var Ni=W(pi,2),Ai=P(Ni),nr=W(Ai,2);{var Gs=Se=>{var ae=rw(),Ee=P(ae,!0);E(ae),pe(()=>K(Ee,e(q))),se(Se,ae)};Te(nr,Se=>{e(q)&&Se(Gs)})}var Ti=W(nr,2);{var An=Se=>{var ae=Ig(),Ee=P(ae,!0);E(ae),pe(()=>K(Ee,e(L))),se(Se,ae)};Te(Ti,Se=>{e(L)&&Se(An)})}E(Ni);var Un=W(Ni,2);{let Se=ii(()=>(le(w()),z(()=>w()("file.preview"))));Sr(Un,{get file(){return e(j)},kind:"audio",get label(){return e(Se)}})}E(Jt);var Ji=W(Jt,2),Fa=W(P(Ji),2);sn(Fa);var vi=W(Fa,2);{var Va=Se=>{var ae=sw(),Ee=P(ae),Qe=P(Ee,!0);E(Ee);var ma=W(Ee,2);Ga(ma),E(ae),pe((It,Ea,Di)=>{K(Qe,It),Yi(ma,Ea),$e(ma,"placeholder",Di)},[()=>(le($()),le(w()),z(()=>$()(Fe("abc_file"),"label",w()))),()=>(le(f()),z(()=>String(f().abc_file??""))),()=>(le($()),le(w()),z(()=>$()(Fe("abc_file"),"placeholder",w())))]),qe("input",ma,It=>ye("abc_file",It.currentTarget.value)),se(Se,ae)},xt=Gi(()=>z(()=>Fe("abc_file")));Te(vi,Se=>{e(xt)&&Se(Va)})}E(Ji);var li=W(Ji,2),bi=W(P(li),2),Tr=P(bi);{var rr=Se=>{var ae=ow();se(Se,ae)},sr=Gi(()=>(e(Q),z(()=>!e(Q).trim())));Te(Tr,Se=>{e(sr)&&Se(rr)})}E(bi),Ki(bi,Se=>U(Z,Se),()=>e(Z));var Ci=W(bi,2);{var Fs=Se=>{var ae=Ig(),Ee=P(ae,!0);E(ae),pe(()=>K(Ee,e(J))),se(Se,ae)};Te(Ci,Se=>{e(J)&&Se(Fs)})}E(li),E(Xa),E(si);var qt=W(si,2),$i=P(qt),Mi=W(P($i)),As=P(Mi,!0);E(Mi),E($i);var Rn=W($i,2);ca(Rn,5,()=>e(c),oa,(Se,ae)=>{var Ee=Hg(),Qe=P(Ee),ma=P(Qe,!0);E(Qe);var It=W(Qe,2);{var Ea=ha=>{var ea=tu(),ft=P(ea);Ga(ft);var Aa=W(ft,2),Ia=P(Aa,!0);E(Aa),E(ea),pe((Ze,ht)=>{$e(ft,"id",(e(ae),z(()=>"param-"+e(ae).name))),$e(ft,"min",(e(ae),z(()=>e(ae).minimum))),$e(ft,"max",(e(ae),z(()=>e(ae).maximum))),$e(ft,"step",(e(ae),z(()=>e(ae).step))),Yi(ft,Ze),K(Ia,ht)},[()=>(le(f()),e(ae),z(()=>Number(f()[e(ae).name]??e(ae).default))),()=>(le(f()),e(ae),z(()=>String(f()[e(ae).name])))]),qe("input",ft,Ze=>N()(e(ae),Ze.currentTarget.valueAsNumber)),se(ha,ea)},Di=ha=>{var ea=Og();Ga(ea),pe(ft=>{$e(ea,"id",(e(ae),z(()=>"param-"+e(ae).name))),$e(ea,"min",(e(ae),z(()=>e(ae).minimum))),$e(ea,"max",(e(ae),z(()=>e(ae).maximum))),$e(ea,"step",(e(ae),z(()=>e(ae).step))),Yi(ea,ft)},[()=>(le(f()),e(ae),z(()=>String(f()[e(ae).name]??"")))]),qe("input",ea,ft=>N()(e(ae),ft.currentTarget.valueAsNumber)),se(ha,ea)};Te(It,ha=>{e(ae),z(()=>e(ae).type==="slider")?ha(Ea):ha(Di,-1)})}E(Ee),pe(ha=>{$e(Qe,"for",(e(ae),z(()=>"param-"+e(ae).name))),K(ma,ha)},[()=>(le($()),e(ae),le(w()),z(()=>$()(e(ae),"label",w())))]),se(Se,Ee)}),E(Rn),E(qt);var $r=W(qt,2),O=P($r),qr=W(P(O)),rc=P(qr,!0);E(qr),E(O);var es=W(O,2);ca(es,5,()=>e(s),oa,(Se,ae)=>{var Ee=Hg(),Qe=P(Ee),ma=P(Qe,!0);E(Qe);var It=W(Qe,2);{var Ea=ha=>{var ea=tu(),ft=P(ea);Ga(ft);var Aa=W(ft,2),Ia=P(Aa,!0);E(Aa),E(ea),pe((Ze,ht)=>{$e(ft,"id",(e(ae),z(()=>"param-"+e(ae).name))),$e(ft,"min",(e(ae),z(()=>e(ae).minimum))),$e(ft,"max",(e(ae),z(()=>e(ae).maximum))),$e(ft,"step",(e(ae),z(()=>e(ae).step))),Yi(ft,Ze),K(Ia,ht)},[()=>(le(f()),e(ae),z(()=>Number(f()[e(ae).name]??e(ae).default))),()=>(le(f()),e(ae),z(()=>String(f()[e(ae).name])))]),qe("input",ft,Ze=>N()(e(ae),Ze.currentTarget.valueAsNumber)),se(ha,ea)},Di=ha=>{var ea=Og();Ga(ea),pe(ft=>{$e(ea,"id",(e(ae),z(()=>"param-"+e(ae).name))),$e(ea,"min",(e(ae),z(()=>e(ae).minimum))),$e(ea,"max",(e(ae),z(()=>e(ae).maximum))),$e(ea,"step",(e(ae),z(()=>e(ae).step))),Yi(ea,ft)},[()=>(le(f()),e(ae),z(()=>String(f()[e(ae).name]??"")))]),qe("input",ea,ft=>N()(e(ae),ft.currentTarget.valueAsNumber)),se(ha,ea)};Te(It,ha=>{e(ae),z(()=>e(ae).type==="slider")?ha(Ea):ha(Di,-1)})}E(Ee),pe(ha=>{$e(Qe,"for",(e(ae),z(()=>"param-"+e(ae).name))),K(ma,ha)},[()=>(le($()),e(ae),le(w()),z(()=>$()(e(ae),"label",w())))]),se(Se,Ee)}),E(es),E($r),E(zt),pe((Se,ae,Ee,Qe,ma)=>{K(ie,`${Se??""} `),K(te,ae),K(Xe,`${Ee??""} `),K(Ue,Qe),K(pa,(e(i),z(()=>e(i).length))),oi.disabled=!e(j)||e(B),K(Gn,e(B)?"Transcribing...":"Extract ABC"),pd(ci,e(x)),ci.disabled=e(B),K(Vt,ma),Ai.disabled=!e(j)||e(B),Yi(Fa,e(Q)),K(As,(e(c),z(()=>e(c).length))),K(rc,(e(s),z(()=>e(s).length)))},[()=>(le(w()),z(()=>w()("request.lyrics"))),()=>(le(w()),z(()=>w()("voice.required"))),()=>(le(w()),z(()=>w()("request.seed"))),()=>(le(w()),z(()=>w()("request.randomSeed"))),()=>(e(j),le(w()),z(()=>e(j)?.name||w()("file.none")))]),Ka(ce,d),Ka(ct,p),qe("click",oi,Ve),qe("change",ci,Se=>{U(x,Se.currentTarget.checked),localStorage.setItem(y,String(e(x)))}),qe("change",Pi,Se=>U(j,Se.currentTarget.files?.[0]||null)),qe("click",Ai,Ke),qe("input",Fa,Se=>Rt(Se.currentTarget.value)),se(t,zt),ms()}const dw={yue2:{component:lw,requestMode:"yue2",replacesGenericControls:{packageButtons:!0,text:!0,genSource:!0,language:!0,seed:!0,duration:!0,params:!0,advancedJson:!0}}};function uw(t){if(t)return dw[t]}var fw=ge(' ',1),au=ge(" "),pw=ge('
',1),mw=ge(' ',1),gw=ge('
'),tc=ge(""),hw=ge('
'),_w=ge('
',1),vw=ge(' ',1),bw=ge('
'),yw=ge('
'),kw=ge('
'),ww=ge('

'),xw=ge(''),Sw=ge('
 
'),Tw=ge('
'),$w=ge("

"),qw=ge('

'),Gw=ge("
"),Fw=ge('
'),Aw=ge('
~

'),Cw=ge('

JSON

',1);function Mw(t,a){ps(a,!1);const r=de();let n=Ut(a,"activeCatalog",24,()=>[]),i=Ut(a,"loadedModels",24,()=>[]),c=Ut(a,"server",8,null),s=Ut(a,"modelsFolder",8,""),d=Ut(a,"maxTokens",8,1024),p=Ut(a,"entrySelectable",8,()=>!0),m=Ut(a,"studioPackageSlots",8,()=>[]),_=Ut(a,"packageIsAvailable",8,()=>!1),h=Ut(a,"packageSessionOptionsMatch",8,()=>!0),f=Ut(a,"supportsMaxTokens",8,()=>!1),u=Ut(a,"supportsRequestOption",8,()=>!1),l=Ut(a,"requiresRequestOption",8,()=>!1),o=Ut(a,"refresh",8,async()=>{}),g=Ut(a,"log",8,()=>{}),v=Ut(a,"tr",8,(ee,he,ve=ee)=>ve);class b extends Error{}let k=de("tts"),w=de(""),$=de(""),N=de(""),R=de(""),F=de(1234),D=de(null),I=de(null),S=de(""),j=de("default"),V=de(""),G=de(null),T=de(null),C=de(""),A=de("{}"),B=de([]),y=de(!1),x=null,q=de(""),L=de([]),Q=de(),Z=de([]),X=de([]),J=de([]),be=de([]),re=de(""),Fe=de(""),ye=de("");const Me={demo_1_man:"demo_1_man",demo_2_man:"demo_2_man",demo_3_woman:"demo_3_woman",demo_4_woman:"demo_4_woman"};async function oe(){try{U(J,await Vd())}catch(ee){U(J,[]),g()(`Arena voices unavailable: ${ee instanceof Error?ee.message:ee}`)}}function ze(ee){if(!s())return ee;const he=ee.replace(/\\/g,"/");if(he==="models")return s();if(!he.startsWith("models/"))return ee;const ve=he.slice(7),xe=s().includes("\\")?"\\":"/";return`${s().replace(/[\\/]+$/,"")}${xe}${ve.replace(/\//g,xe)}`}function ue(ee){return ee.replace(/\\/g,"/").replace(/\/$/,"").toLowerCase()}function Ve(ee,he){return c()&&!c().ui_management?ee.path:ze(he?.path||ee.path)}function Ke(ee,he){return{...ee.session_options||{},...he?.session_options||{}}}function Rt(ee){if(!Number.isInteger(ee)||ee<-1||ee>4294967295)throw new Error(v()("arena.error.seed"));if(ee>=0)return ee;const he=new Uint32Array(1);return globalThis.crypto.getRandomValues(he),he[0]}function gt(ee){return["clon","vc","svc"].includes(ee.task)&&ee.family!=="rvc"||ee.task==="s2s"&&ee.family==="personaplex"||ee.task==="tts"&&!["supertonic"].includes(ee.family)}function zt(ee){return["clon","vc","svc"].includes(ee.task)&&ee.family!=="rvc"}function $t(ee){return ee.task==="tts"&&ee.family==="qwen3_tts"&&!ee.id.includes("custom")}function tt(ee,he){return l()(ee,"reference_text")||he&&$t(ee)}function ie(ee){return e(k)==="vc"&&ee.task==="vc"&&ee.family!=="rvc"}function fe(){return e(k)==="tts"&&e(j)==="builtin"&&e(V)?Me[e(V)]||e(V):""}function te(ee){return ee.normalize("NFKC").toLowerCase().replace(/[^\p{L}\p{N}']+/gu," ").trim().split(/\s+/).filter(Boolean)}function ce(ee,he){const ve=te(ee),xe=te(he);if(!ve.length)return"";const Pe=Array.from({length:xe.length+1},(nt,Be)=>Be),Ce=new Array(xe.length+1);for(let nt=1;nt<=ve.length;nt+=1){Ce[0]=nt;for(let Be=1;Be<=xe.length;Be+=1){const Ot=Pe[Be-1]+(ve[nt-1]===xe[Be-1]?0:1),da=Pe[Be]+1,Wt=Ce[Be-1]+1;Ce[Be]=Math.min(Ot,da,Wt)}for(let Be=0;Be<=xe.length;Be+=1)Pe[Be]=Ce[Be]}return`${(Pe[xe.length]/ve.length*100).toFixed(2)}%`}function _e(ee){const he=Number.parseFloat(ee);return Number.isFinite(he)?he:Number.POSITIVE_INFINITY}function Ae(ee,he){const ve=ee.status==="done",xe=he.status==="done";if(ve!==xe)return ve?-1:1;if(ve&&xe){const Pe=_e(ee.rtf)-_e(he.rtf);if(Pe!==0)return Pe}return e(B).indexOf(ee)-e(B).indexOf(he)}function Ge(ee){return v()(`arena.itemStatus.${ee}`,{},ee)}function Xe(ee){U(j,ee),ee!=="reference"&&(U(G,null),U(C,""),e(T)&&ni(T,e(T).value="")),ee!=="builtin"&&U(V,"")}function we(ee){U(G,ee),ee&&U(j,"reference")}function Ue(){U(D,null),e(I)&&ni(I,e(I).value="")}function ct(){U(j,"default"),U(V,""),U(G,null),U(C,""),e(T)&&ni(T,e(T).value="")}function Qt(ee){return n().find(he=>he.id===ee.entryId)}function je(ee,he){return(ee.install_packages||[]).find(ve=>ve.id===he.packageId)}function ut(ee,he){U(B,e(B).map(ve=>ve.id===ee?{...ve,...he}:ve))}function fa(){for(const ee of e(B))ee.outputUrl&&URL.revokeObjectURL(ee.outputUrl);U(B,e(B).map(ee=>({...ee,status:"queued",note:"",error:"",outputUrl:"",outputText:"",wallMs:"",rtf:"",wer:""})))}function vt(){for(const ee of e(B))ee.outputUrl&&URL.revokeObjectURL(ee.outputUrl);U(B,[])}function si(){if(!e(Q))return;const ee=e(Z).find(ve=>ve.id===e($));if(e(B).some(ve=>ve.entryId===e(Q)?.id&&ve.packageId===ee?.id)){U(q,v()("arena.status.duplicate",{model:e(Q).display_name,package:ee?.label||""}));return}U(B,[...e(B),{id:crypto.randomUUID(),entryId:e(Q).id,packageId:ee?.id,label:e(Q).display_name,packageLabel:ee?.label||v()("arena.package.configured"),status:"queued",note:"",error:"",outputUrl:"",outputText:"",wallMs:"",rtf:"",wer:""}])}function va(ee){const he=e(B).find(ve=>ve.id===ee);he?.outputUrl&&URL.revokeObjectURL(he.outputUrl),U(B,e(B).filter(ve=>ve.id!==ee))}function xa(){try{const ee=JSON.parse(e(A)||"{}");if(Array.isArray(ee)||ee===null)throw new Error(v()("arena.error.jsonObject"));return ee}catch(ee){throw new Error(v()("arena.error.invalidJson",{error:ee instanceof Error?ee.message:String(ee)}))}}async function pa(ee){if(!ee)return;const he=await fl(ee);return Id(he,x?.signal)}async function Xa(ee,he){if(!c()?.ui_management){if(!i().some(Ce=>Ce.id===ee.id&&Ce.loaded))throw new Error(v()("arena.error.unregistered"));return}if(he&&!_()(ee,he))throw new b(v()("arena.error.notDownloaded",{package:he.label}));const ve=Ve(ee,he);if(i().find(Ce=>Ce.id===ee.id&&Ce.loaded&&ue(Ce.path)===ue(ve)&&(!he||h()(ee,he,Ce))))return;const Pe=i().filter(Ce=>Ce.loaded&&(Ce.id!==ee.id||ue(Ce.path)!==ue(ve)));for(const Ce of Pe)await fo(Ce.id);if(Pe.length&&await o()(),await Ld({id:ee.id,path:ve,family:ee.family,task:ee.task,mode:ee.mode||"offline",load_options:ee.load_options||{},session_options:Ke(ee,he)}),await o()(),!i().some(Ce=>Ce.id===ee.id&&Ce.loaded&&ue(Ce.path)===ue(ve)&&(!he||h()(ee,he,Ce))))throw new Error(v()("arena.error.loadFailed"))}async function Jt(ee,he){const ve=Qt(ee);if(!ve){ut(ee.id,{status:"failed",error:v()("arena.error.missingCatalog")});return}const xe=je(ve,ee),Pe=performance.now();try{ut(ee.id,{status:"loading",note:v()("arena.status.loadingModel"),error:""}),await Xa(ve,xe),ut(ee.id,{status:"running",note:v()("arena.status.runningRequest")});const Ce={...ve.default_options||{},...he},nt=fe(),Be=e(j)==="reference"&&!!e(G);if(ie(ve)&&!Be){ut(ee.id,{status:"skipped",note:v()("arena.note.skippedTargetVoice"),error:""});return}if(e(k)==="tts"&&tt(ve,Be)&&!e(C).trim()){ut(ee.id,{status:"skipped",note:v()("arena.note.skippedReferenceText"),error:""});return}const da=Be&>(ve)?await pa(e(G)):void 0;let Wt="";if(nt)Wt=v()("arena.note.builtinVoice",{voice:e(V)});else if(Be&&da)Wt=v()("arena.note.referenceVoice");else if(Be&&!gt(ve))Wt=v()("arena.note.referenceUnsupported");else if(ve.default_voice)Wt=v()("arena.note.defaultVoice",{voice:ve.default_voice});else if(zt(ve)&&!nt){ut(ee.id,{status:"skipped",note:v()("arena.note.skippedReferenceVoice"),error:""});return}if(e(k)==="tts"){if(!e(N).trim())throw new b(v()("arena.error.enterTtsText"));const Bt={model:ve.id,input:e(N),language:e(R),seed:Rt(e(F)),options:Ce};f()(ve)&&(Bt.max_tokens=d()),da?Bt.voice_ref=da:nt?Bt.voice=nt:ve.default_voice&&(Bt.voice=ve.default_voice),Be&&e(C).trim()&&u()(ve,"reference_text")&&(Bt.reference_text=e(C));const Da=await Gg(Bt,x?.signal);ut(ee.id,{status:"done",note:Wt,outputUrl:URL.createObjectURL(Da.blob),wallMs:Da.wallMs||`${(performance.now()-Pe).toFixed(1)}`,rtf:Da.rtf||""});return}if(e(k)==="asr"){const Bt=await pa(e(D));if(!Bt)throw new b(v()("arena.error.chooseAsrSource"));const Da=await Hd({model:ve.id,audio:Bt,language:e(R),options:Ce},x?.signal),di=typeof Da.text=="string"?Da.text:"",en=Da.timing;ut(ee.id,{status:"done",note:Wt,outputText:di,wallMs:typeof en?.wall_ms=="number"?String(en.wall_ms):"",rtf:typeof en?.rtf=="number"?String(en.rtf):"",wer:e(S).trim()?ce(e(S),di):""});return}const Ua=await pa(e(D));if(!Ua)throw new b(v()("arena.error.chooseVcSource"));const Ca={audio:Ua,seed:Rt(e(F)),options:Ce};e(N).trim()&&(Ca.text=e(N)),e(R).trim()&&(Ca.language=e(R)),da?Ca.voice_ref=da:nt&&(Ca.voice_id=nt);const _a=await gl({model:ve.id,request:Ca},x?.signal),mi=typeof _a.audio=="string"?_a.audio:Array.isArray(_a.named_audio_outputs)&&typeof _a.named_audio_outputs[0]?.audio=="string"?_a.named_audio_outputs[0].audio:"";if(!mi)throw new Error(v()("arena.error.noAudio"));const Oa=_a.timing;ut(ee.id,{status:"done",note:Wt,outputUrl:Qd(mi),wallMs:typeof Oa?.wall_ms=="number"?String(Oa.wall_ms):"",rtf:typeof Oa?.rtf=="number"?String(Oa.rtf):""})}catch(Ce){ut(ee.id,{status:Ce instanceof b?"skipped":"failed",error:Ce instanceof Error?Ce.message:String(Ce),note:""}),g()(`Arena row failed: ${Ce instanceof Error?Ce.message:Ce}`)}}async function fi(){if(!e(y)){if(!e(B).length){U(q,v()("arena.status.addModel"));return}U(y,!0),x=new AbortController,fa(),U(q,v()("arena.status.running",{mode:e(ye)})),g()(e(q));try{const ee=xa();for(const he of e(B)){if(x?.signal.aborted)break;await Jt(he,ee)}U(q,v()("arena.status.complete")),g()(e(q))}catch(ee){U(q,ee instanceof Error?ee.message:String(ee))}finally{U(y,!1),x=null}}}function oi(){x?.abort()}Xc(()=>{x?.abort();for(const ee of e(B))ee.outputUrl&&URL.revokeObjectURL(ee.outputUrl)}),xs(oe),He(()=>(le(n()),e(k)),()=>{U(L,n().filter(ee=>e(k)==="tts"?["tts","clon"].includes(ee.task):e(k)==="vc"?ee.task==="vc":ee.task==="asr"))}),He(()=>(e(w),e(L)),()=>{(!e(w)||!e(L).some(ee=>ee.id===e(w)))&&U(w,e(L)[0]?.id||"")}),He(()=>(e(L),e(w)),()=>{U(Q,e(L).find(ee=>ee.id===e(w))||e(L)[0])}),He(()=>(e(Q),le(m())),()=>{U(Z,e(Q)?m()(e(Q)).map(ee=>ee.choice).filter(ee=>!!ee):[])}),He(()=>(e(Z),e($)),()=>{e(Z).length&&!e(Z).some(ee=>ee.id===e($))&&U($,e(Z)[0].id)}),He(()=>e(J),()=>{U(be,[...e(J)].sort((ee,he)=>ee.localeCompare(he,"en",{sensitivity:"base",numeric:!0})))}),He(()=>(e(j),e(be)),()=>{e(j)==="builtin"&&!e(be).length&&U(j,"default")}),He(()=>(e(k),e(j)),()=>{e(k)==="vc"&&e(j)!=="reference"&&(U(j,"reference"),U(V,""))}),He(()=>(e(j),e(be),e(V)),()=>{e(j)==="builtin"&&!e(be).includes(e(V))&&U(V,e(be)[0]||"")}),He(()=>(e(j),e(V),ml),()=>{U(r,e(j)==="builtin"&&e(V)?ml(e(V)):"")}),He(()=>(e(k),le(v())),()=>{U(re,e(k)==="tts"?v()("arena.title.tts"):e(k)==="vc"?v()("arena.title.vc"):v()("arena.title.asr"))}),He(()=>(e(k),le(v())),()=>{U(Fe,e(k)==="tts"?v()("arena.subtitle.tts"):e(k)==="vc"?v()("arena.subtitle.vc"):v()("arena.subtitle.asr"))}),He(()=>(e(k),le(v())),()=>{U(ye,e(k)==="tts"?v()("arena.mode.tts"):e(k)==="vc"?v()("arena.mode.vc"):v()("arena.mode.asr"))}),He(()=>e(B),()=>{U(X,e(B).every(ee=>["done","failed","skipped"].includes(ee.status))?[...e(B)].sort(Ae):e(B))}),Ic();var Gn={runArena:fi};Kc();var La=Cw(),ci=Lt(La),Pi=P(ci),pi=P(Pi),Fn=P(pi,!0);E(pi);var Vt=W(pi,2),Ni=P(Vt,!0);E(Vt);var Ai=W(Vt,2),nr=P(Ai,!0);E(Ai),E(Pi);var Gs=W(Pi,2),Ti=P(Gs);let An;var Un=P(Ti,!0);E(Ti);var Ji=W(Ti,2);let Fa;var vi=P(Ji,!0);E(Ji);var Va=W(Ji,2);let xt;var li=P(Va,!0);E(Va),E(Gs),E(ci);var bi=W(ci,2),Tr=P(bi),rr=P(Tr),sr=P(rr),Ci=P(sr),Fs=P(Ci,!0);E(Ci);var qt=W(Ci),$i=P(qt,!0);E(qt),E(sr);var Mi=W(sr,2),As=P(Mi,!0);E(Mi),E(rr);var Rn=W(rr,2);{var $r=ee=>{var he=fw(),ve=Lt(he),xe=P(ve,!0);E(ve);var Pe=W(ve,2);sn(Pe),pe((Ce,nt)=>{K(xe,Ce),$e(Pe,"placeholder",nt)},[()=>(le(v()),z(()=>v()("request.text"))),()=>(le(v()),z(()=>v()("arena.input.textPlaceholder")))]),Ka(Pe,()=>e(N),Ce=>U(N,Ce)),se(ee,he)},O=ee=>{var he=pw(),ve=Lt(he),xe=P(ve,!0);E(ve);var Pe=W(ve,2);Ki(Pe,Bt=>U(I,Bt),()=>e(I));var Ce=W(Pe,2),nt=P(Ce),Be=P(nt,!0);E(nt);var Ot=W(nt),da=P(Ot,!0);E(Ot),E(Ce);var Wt=W(Ce,2),Ua=P(Wt),Ca=P(Ua,!0);E(Ua);var _a=W(Ua,2);{var mi=Bt=>{var Da=au(),di=P(Da,!0);E(Da),pe(()=>K(di,(e(D),z(()=>e(D).name)))),se(Bt,Da)};Te(_a,Bt=>{e(D)&&Bt(mi)})}E(Wt);var Oa=W(Wt,2);{let Bt=ii(()=>(le(v()),z(()=>v()("file.preview"))));Sr(Oa,{get file(){return e(D)},kind:"audio",get label(){return e(Bt)}})}pe((Bt,Da,di,en)=>{K(xe,Bt),K(Be,Da),K(da,di),Ua.disabled=!e(D),K(Ca,en)},[()=>(le(v()),z(()=>v()("request.sourceAudio"))),()=>(le(v()),z(()=>v()("file.choose"))),()=>(e(D),le(v()),z(()=>e(D)?.name||v()("file.none"))),()=>(le(v()),z(()=>v()("file.clear")))]),qe("change",Pe,Bt=>U(D,Bt.currentTarget.files?.[0]||null)),qe("click",Ua,Ue),se(ee,he)};Te(Rn,ee=>{e(k)==="tts"?ee($r):ee(O,-1)})}var qr=W(Rn,2);{var rc=ee=>{var he=mw(),ve=Lt(he),xe=P(ve),Pe=W(xe),Ce=P(Pe,!0);E(Pe),E(ve);var nt=W(ve,2);sn(nt),pe((Be,Ot,da)=>{K(xe,`${Be??""} `),K(Ce,Ot),$e(nt,"placeholder",da)},[()=>(le(v()),z(()=>v()("arena.input.groundTruth"))),()=>(le(v()),z(()=>v()("request.optional"))),()=>(le(v()),z(()=>v()("arena.input.groundTruthPlaceholder")))]),Ka(nt,()=>e(S),Be=>U(S,Be)),se(ee,he)};Te(qr,ee=>{e(k)==="asr"&&ee(rc)})}var es=W(qr,2),Se=P(es),ae=P(Se),Ee=P(ae),Qe=W(Ee),ma=P(Qe,!0);E(Qe),E(ae);var It=W(ae,2);Ga(It),E(Se);var Ea=W(Se,2);{var Di=ee=>{var he=gw(),ve=P(he),xe=P(ve,!0);E(ve);var Pe=W(ve,2);Ga(Pe),E(he),pe(Ce=>K(xe,Ce),[()=>(le(v()),z(()=>v()("request.seed")))]),Ka(Pe,()=>e(F),Ce=>U(F,Ce)),se(ee,he)};Te(Ea,ee=>{e(k)!=="asr"&&ee(Di)})}E(es);var ha=W(es,2);{var ea=ee=>{var he=hw(),ve=P(he),xe=P(ve),Pe=P(xe),Ce=W(Pe),nt=P(Ce,!0);E(Ce),E(xe);var Be=W(xe,2),Ot=P(Be),da=P(Ot,!0);E(Ot),Ot.value=Ot.__value="default";var Wt=W(Ot);{var Ua=Vi=>{var Za=tc(),un=P(Za,!0);E(Za),Za.value=Za.__value="builtin",pe(ya=>K(un,ya),[()=>(le(v()),z(()=>v()("arena.voice.builtin")))]),se(Vi,Za)};Te(Wt,Vi=>{e(be),z(()=>e(be).length)&&Vi(Ua)})}var Ca=W(Wt),_a=P(Ca,!0);E(Ca),Ca.value=Ca.__value="reference",E(Be);var mi;kr(Be),E(ve);var Oa=W(ve,2),Bt=P(Oa),Da=P(Bt),di=W(Da),en=P(di,!0);E(di),E(Bt);var Nn=W(Bt,2);sn(Nn),E(Oa),E(he),pe((Vi,Za,un,ya,Ha,fn)=>{K(Pe,`${Vi??""} `),K(nt,Za),K(da,un),K(_a,ya),mi!==(mi=e(j))&&(Be.value=(Be.__value=e(j))??"",er(Be,e(j))),K(Da,`${Ha??""} `),K(en,fn)},[()=>(le(v()),z(()=>v()("arena.voice.label"))),()=>(le(v()),z(()=>v()("arena.shared"))),()=>(le(v()),z(()=>v()("arena.voice.modelDefault"))),()=>(le(v()),z(()=>v()("arena.voice.reference"))),()=>(le(v()),z(()=>v()("voice.referenceText"))),()=>(le(v()),z(()=>v()("request.optional")))]),qe("change",Be,Vi=>Xe(Vi.currentTarget.value)),Ka(Nn,()=>e(C),Vi=>U(C,Vi)),se(ee,he)};Te(ha,ee=>{e(k)==="tts"&&ee(ea)})}var ft=W(ha,2);{var Aa=ee=>{var he=_w(),ve=Lt(he),xe=P(ve,!0);E(ve);var Pe=W(ve,2);ca(Pe,5,()=>e(be),oa,(Ot,da)=>{var Wt=tc(),Ua=P(Wt,!0);E(Wt);var Ca={};pe(()=>{K(Ua,e(da)),Ca!==(Ca=e(da))&&(Wt.value=(Wt.__value=e(da))??"")}),se(Ot,Wt)}),E(Pe);var Ce=W(Pe,2),nt=P(Ce,!0);E(Ce);var Be=W(Ce,2);{let Ot=ii(()=>(le(v()),z(()=>v()("file.preview"))));Sr(Be,{get src(){return e(r)},get name(){return e(V)},kind:"audio",get label(){return e(Ot)}})}pe((Ot,da)=>{K(xe,Ot),K(nt,da)},[()=>(le(v()),z(()=>v()("arena.voice.builtin"))),()=>(le(v()),z(()=>v()("arena.voice.builtinNote")))]),Lo(Pe,()=>e(V),Ot=>U(V,Ot)),se(ee,he)},Ia=ee=>{var he=vw(),ve=Lt(he),xe=P(ve),Pe=W(xe),Ce=P(Pe,!0);E(Pe),E(ve);var nt=W(ve,2);Ki(nt,_a=>U(T,_a),()=>e(T));var Be=W(nt,2),Ot=P(Be),da=P(Ot,!0);E(Ot);var Wt=W(Ot),Ua=P(Wt,!0);E(Wt),E(Be);var Ca=W(Be,2);{let _a=ii(()=>(le(v()),z(()=>v()("file.preview"))));Sr(Ca,{get file(){return e(G)},kind:"audio",get label(){return e(_a)}})}pe((_a,mi,Oa,Bt)=>{K(xe,`${_a??""} `),K(Ce,mi),K(da,Oa),K(Ua,Bt)},[()=>(e(k),le(v()),z(()=>e(k)==="vc"?v()("arena.voice.targetSpeaker"):v()("voice.reference"))),()=>(e(k),le(v()),z(()=>e(k)==="vc"?v()("voice.required"):v()("voice.optional"))),()=>(le(v()),z(()=>v()("file.choose"))),()=>(e(G),le(v()),z(()=>e(G)?.name||v()("file.none")))]),qe("change",nt,_a=>we(_a.currentTarget.files?.[0]||null)),se(ee,he)};Te(ft,ee=>{e(j)==="builtin"?ee(Aa):(e(k)==="vc"||e(j)==="reference")&&ee(Ia,1)})}var Ze=W(ft,2);{var ht=ee=>{var he=bw(),ve=P(he),xe=P(ve,!0);E(ve);var Pe=W(ve,2);{var Ce=nt=>{var Be=au(),Ot=P(Be,!0);E(Be),pe(()=>K(Ot,(e(G),z(()=>e(G).name)))),se(nt,Be)};Te(Pe,nt=>{e(G)&&nt(Ce)})}E(he),pe((nt,Be)=>{ve.disabled=nt,K(xe,Be)},[()=>(e(j),e(G),e(C),z(()=>e(j)==="default"&&!e(G)&&!e(C).trim())),()=>(e(k),le(v()),z(()=>e(k)==="vc"?v()("arena.voice.clearTarget"):v()("arena.voice.clearReference")))]),qe("click",ve,ct),se(ee,he)};Te(Ze,ee=>{e(k)!=="asr"&&ee(ht)})}var ba=W(Ze,2),Pa=P(ba),Gr=P(Pa);fs(),E(Pa);var zi=W(Pa,2);sn(zi),E(ba),E(Tr);var or=W(Tr,2),Fr=P(or),go=P(Fr),sc=P(go),oc=P(sc,!0);E(sc);var cc=W(sc),kl=P(cc,!0);E(cc),E(go);var Li=W(go,2),Ar=P(Li,!0);E(Li),E(Fr);var Bn=W(Fr,2),Na=P(Bn),Cs=P(Na),Pn=P(Cs,!0);E(Cs);var la=W(Cs,2);ca(la,5,()=>e(L),oa,(ee,he)=>{var ve=tc(),xe=P(ve,!0);E(ve);var Pe={};pe(Ce=>{ve.disabled=Ce,K(xe,(e(he),z(()=>e(he).display_name))),Pe!==(Pe=(e(he),z(()=>e(he).id)))&&(ve.value=(ve.__value=(e(he),z(()=>e(he).id)))??"")},[()=>(le(p()),e(he),z(()=>!p()(e(he))))]),se(ee,ve)}),E(la),E(Na);var Cr=W(Na,2),Mr=P(Cr),ho=P(Mr,!0);E(Mr);var cr=W(Mr,2),zr=P(cr);ca(zr,1,()=>e(Z),oa,(ee,he)=>{var ve=tc(),xe=P(ve);E(ve);var Pe={};pe((Ce,nt)=>{ve.disabled=Ce,K(xe,`${e(he),z(()=>e(he).label)??""}${nt??""}`),Pe!==(Pe=(e(he),z(()=>e(he).id)))&&(ve.value=(ve.__value=(e(he),z(()=>e(he).id)))??"")},[()=>(e(Q),le(_()),e(he),z(()=>e(Q)?!_()(e(Q),e(he)):!0)),()=>(e(Q),le(_()),e(he),le(v()),z(()=>e(Q)&&_()(e(Q),e(he))?"":` · ${v()("studio.notDownloaded")}`))]),se(ee,ve)});var dn=W(zr);{var lp=ee=>{var he=tc(),ve=P(he,!0);E(he),he.value=he.__value="",pe(xe=>K(ve,xe),[()=>(le(v()),z(()=>v()("arena.package.configured")))]),se(ee,he)};Te(dn,ee=>{e(Z),e(Q),z(()=>!e(Z).length&&e(Q))&&ee(lp)})}E(cr),E(Cr);var ts=W(Cr,2),lc=P(ts,!0);E(ts),E(Bn);var _o=W(Bn,2);{var Ms=ee=>{var he=kw();ca(he,5,()=>e(B),oa,(ve,xe)=>{var Pe=yw();let Ce;var nt=P(Pe),Be=P(nt),Ot=P(Be,!0);E(Be);var da=W(Be,2),Wt=P(da,!0);E(da),E(nt);var Ua=W(nt,2),Ca=P(Ua,!0);E(Ua);var _a=W(Ua,2),mi=P(_a,!0);E(_a),E(Pe),pe((Oa,Bt)=>{Ce=za(Pe,1,"",null,Ce,{done:e(xe).status==="done",failed:e(xe).status==="failed",skipped:e(xe).status==="skipped"}),K(Ot,(e(xe),z(()=>e(xe).label))),K(Wt,(e(xe),z(()=>e(xe).packageLabel))),K(Ca,Oa),_a.disabled=e(y),K(mi,Bt)},[()=>(e(xe),z(()=>Ge(e(xe).status))),()=>(le(v()),z(()=>v()("arena.queue.remove")))]),qe("click",_a,()=>va(e(xe).id)),se(ve,Pe)}),E(he),se(ee,he)},dc=ee=>{var he=ww(),ve=P(he),xe=P(ve,!0);E(ve),E(he),pe(Pe=>K(xe,Pe),[()=>(le(v()),z(()=>v()("arena.queue.empty")))]),se(ee,he)};Te(_o,ee=>{e(B),z(()=>e(B).length)?ee(Ms):ee(dc,-1)})}var as=W(_o,2),Er=P(as),uc=P(Er),wl=P(uc,!0);E(uc),fs(2),E(Er);var zs=W(Er,2),xl=P(zs,!0);E(zs);var vo=W(zs,2),dp=P(vo,!0);E(vo),E(as);var fc=W(as,2);let Sl;var Tl=P(fc,!0);E(fc),E(or);var $l=W(or,2),pc=P($l),mc=P(pc),Es=P(mc),up=P(Es,!0);E(Es);var gc=W(Es),fp=P(gc,!0);E(gc),E(mc);var ql=W(mc,2),pp=P(ql,!0);E(ql),E(pc);var Gl=W(pc,2);{var js=ee=>{var he=Fw();ca(he,5,()=>e(X),oa,(ve,xe)=>{var Pe=Gw();let Ce;var nt=P(Pe),Be=P(nt),Ot=P(Be),da=P(Ot,!0);E(Ot);var Wt=W(Ot,2),Ua=P(Wt,!0);E(Wt),E(Be);var Ca=W(Be,2),_a=P(Ca,!0);E(Ca),E(nt);var mi=W(nt,2);{var Oa=ya=>{var Ha=xw();pe(()=>$e(Ha,"src",(e(xe),z(()=>e(xe).outputUrl)))),se(ya,Ha)};Te(mi,ya=>{e(xe),z(()=>e(xe).outputUrl)&&ya(Oa)})}var Bt=W(mi,2);{var Da=ya=>{var Ha=Sw(),fn=P(Ha,!0);E(Ha),pe(()=>K(fn,(e(xe),z(()=>e(xe).outputText)))),se(ya,Ha)};Te(Bt,ya=>{e(xe),z(()=>e(xe).outputText)&&ya(Da)})}var di=W(Bt,2);{var en=ya=>{var Ha=Tw(),fn=P(Ha),bo=P(fn);E(fn);var yo=W(fn,2),mp=P(yo);E(yo);var gp=W(yo,2);{var _c=Us=>{var jr=au(),hp=P(jr);E(jr),pe(_p=>K(hp,`${_p??""} ${e(xe),z(()=>e(xe).wer)??""}`),[()=>(le(v()),z(()=>v()("arena.metric.wer")))]),se(Us,jr)};Te(gp,Us=>{e(xe),z(()=>e(xe).wer)&&Us(_c)})}E(Ha),pe((Us,jr)=>{K(bo,`${Us??""} ${e(xe),z(()=>e(xe).wallMs||"?")??""}`),K(mp,`${jr??""} ${e(xe),z(()=>e(xe).rtf||"?")??""}`)},[()=>(le(v()),z(()=>v()("arena.metric.wall"))),()=>(le(v()),z(()=>v()("arena.metric.rtf")))]),se(ya,Ha)};Te(di,ya=>{e(xe),z(()=>e(xe).outputUrl||e(xe).outputText||e(xe).wallMs||e(xe).rtf||e(xe).wer)&&ya(en)})}var Nn=W(di,2);{var Vi=ya=>{var Ha=$w(),fn=P(Ha,!0);E(Ha),pe(()=>K(fn,(e(xe),z(()=>e(xe).note)))),se(ya,Ha)};Te(Nn,ya=>{e(xe),z(()=>e(xe).note)&&ya(Vi)})}var Za=W(Nn,2);{var un=ya=>{var Ha=qw(),fn=P(Ha,!0);E(Ha),pe(()=>K(fn,(e(xe),z(()=>e(xe).error)))),se(ya,Ha)};Te(Za,ya=>{e(xe),z(()=>e(xe).error)&&ya(un)})}E(Pe),pe(ya=>{Ce=za(Pe,1,"",null,Ce,{done:e(xe).status==="done",failed:e(xe).status==="failed",skipped:e(xe).status==="skipped"}),K(da,(e(xe),z(()=>e(xe).label))),K(Ua,(e(xe),z(()=>e(xe).packageLabel))),K(_a,ya)},[()=>(e(xe),z(()=>Ge(e(xe).status)))]),se(ve,Pe)}),E(he),se(ee,he)},hc=ee=>{var he=Aw(),ve=W(P(he)),xe=P(ve,!0);E(ve),E(he),pe(Pe=>K(xe,Pe),[()=>(le(v()),z(()=>v()("arena.results.empty")))]),se(ee,he)};Te(Gl,ee=>{e(B),z(()=>e(B).length)?ee(js):ee(hc,-1)})}return E($l),E(bi),pe((ee,he,ve,xe,Pe,Ce,nt,Be,Ot,da,Wt,Ua,Ca,_a,mi,Oa,Bt,Da,di,en,Nn,Vi)=>{K(Fn,ee),K(Ni,e(re)),K(nr,e(Fe)),An=za(Ti,1,"",null,An,{active:e(k)==="tts"}),K(Un,he),Fa=za(Ji,1,"",null,Fa,{active:e(k)==="vc"}),K(vi,ve),xt=za(Va,1,"",null,xt,{active:e(k)==="asr"}),K(li,xe),K(Fs,Pe),K($i,Ce),K(As,e(ye)),K(Ee,`${nt??""} `),K(ma,Be),$e(It,"placeholder",Ot),K(Gr,`${da??""} `),K(oc,Wt),K(kl,Ua),K(Ar,(e(B),z(()=>e(B).length))),K(Pn,Ca),K(ho,_a),ts.disabled=!e(Q),K(lc,mi),Er.disabled=(e(y),e(B),z(()=>e(y)||!e(B).length)),K(wl,Oa),zs.disabled=!e(y),K(xl,Bt),vo.disabled=(e(y),e(B),z(()=>e(y)||!e(B).length)),K(dp,Da),Sl=za(fc,1,"status",null,Sl,{busy:e(y)}),K(Tl,di),K(up,en),K(fp,Nn),K(pp,Vi)},[()=>(le(v()),z(()=>v()("arena.eyebrow"))),()=>(le(v()),z(()=>v()("arena.mode.tts"))),()=>(le(v()),z(()=>v()("arena.mode.vc"))),()=>(le(v()),z(()=>v()("arena.mode.asr"))),()=>(le(v()),z(()=>v()("arena.input.label"))),()=>(le(v()),z(()=>v()("arena.input.title"))),()=>(le(v()),z(()=>v()("request.language"))),()=>(le(v()),z(()=>v()("request.optional"))),()=>(le(v()),z(()=>v()("request.autoLanguage"))),()=>(le(v()),z(()=>v()("arena.options.shared"))),()=>(le(v()),z(()=>v()("arena.queue.label"))),()=>(le(v()),z(()=>v()("arena.queue.title"))),()=>(le(v()),z(()=>v()("studio.model"))),()=>(le(v()),z(()=>v()("arena.package.label"))),()=>(le(v()),z(()=>v()("arena.queue.add"))),()=>(e(y),le(v()),z(()=>e(y)?v()("run.working"):v()("arena.run"))),()=>(le(v()),z(()=>v()("run.cancel"))),()=>(le(v()),z(()=>v()("arena.queue.clear"))),()=>(e(q),le(v()),z(()=>e(q)||v()("status.ready"))),()=>(le(v()),z(()=>v()("result.label"))),()=>(le(v()),z(()=>v()("arena.results.title"))),()=>(e(B),z(()=>e(B).filter(ee=>ee.status==="done").length))]),qe("click",Ti,()=>U(k,"tts")),qe("click",Ji,()=>U(k,"vc")),qe("click",Va,()=>U(k,"asr")),Ka(It,()=>e(R),ee=>U(R,ee)),Ka(zi,()=>e(A),ee=>U(A,ee)),Lo(la,()=>e(w),ee=>U(w,ee)),qe("change",la,()=>U($,"")),Lo(cr,()=>e($),ee=>U($,ee)),qe("click",ts,si),qe("click",Er,fi),qe("click",zs,oi),qe("click",vo,vt),se(t,La),yb(a,"runArena",fi),ms(Gn)}const zw="audiocpp-native-studio",_l="voices";function Ew(){return new Promise((t,a)=>{const r=indexedDB.open(zw,1);r.onupgradeneeded=()=>{r.result.objectStoreNames.contains(_l)||r.result.createObjectStore(_l,{keyPath:"id"})},r.onsuccess=()=>t(r.result),r.onerror=()=>a(r.error||new Error("Could not open the voice library."))})}function iu(t,a){return Ew().then(r=>new Promise((n,i)=>{const c=r.transaction(_l,t),s=a(c.objectStore(_l));s.onsuccess=()=>n(s.result),s.onerror=()=>i(s.error||new Error("Voice library operation failed.")),c.oncomplete=()=>r.close(),c.onerror=()=>{r.close(),i(c.error||new Error("Voice library transaction failed."))}}))}async function jw(){return(await iu("readonly",a=>a.getAll())).sort((a,r)=>r.createdAt-a.createdAt)}function Uw(t){return iu("readwrite",a=>a.put(t))}function Rw(t){return iu("readwrite",a=>a.delete(t))}var ac=ge(""),$s=ge(""),Bw=ge(""),Pw=ge(""),Nw=ge('
'),Dw=ge('
'),Lw=ge(' ',1),Vw=ge('
'),Iw=ge(' ',1),Ow=ge('
'),Hw=ge(" ",1),Qw=ge(' ',1),Ww=ge(' ',1),ic=ge(" "),Yw=ge(''),Kw=ge(''),Xw=ge('
'),Zw=ge('
'),Jw=ge(''),e6=ge(''),t6=ge('
'),nu=ge(" "),a6=ge('
'),Qg=ge(' ',1),i6=ge(' ',1),n6=ge(''),r6=ge(''),s6=ge('
'),o6=ge('
',1),c6=ge('
',1),l6=ge('
',1),d6=ge(' ',1),u6=ge('
'),f6=ge(' ',1),p6=ge('
'),m6=ge(' ',1),g6=ge('
'),h6=ge(" ",1),_6=ge('
'),v6=ge('
Speaker references optional, up to 4
'),b6=ge(''),y6=ge(""),k6=ge('
'),w6=ge(""),x6=ge("
"),S6=ge('
'),T6=ge('
JSON
'),$6=ge('

',1),q6=ge('

',1),G6=ge(' '),F6=ge(''),Wg=ge('
'),A6=ge(""),C6=ge('
∿

'),M6=ge(''),z6=ge("
 
"),E6=ge('

',1),j6=ge(''),U6=ge(' '),R6=ge(''),B6=ge(''),P6=ge('
'),N6=ge(''),D6=ge('
'),L6=ge("
",1),V6=ge('
'),I6=ge('
'),O6=ge('

'),H6=ge('
'),Q6=ge('

',1),W6=ge('

 
',1),Y6=ge('
'),K6=ge('
'),Yg=ge('
'),X6=ge(''),Z6=ge('
'),J6=ge('
'),e4=ge('
A
audio.cpp
audio.cpp native WebUI
',1);function t4(t,a){ps(a,!1);const r=de(),n=de(),i=de(),c=de(),s=de(),d=de(),p=de(),m=de(),_=de(),h=de(),f=de(),u=de(),l=de(),o=de(),g=de(),v=de(),b=de(),k=de(),w=de(),$=de(),N=de(),R=de(),F=de(),D=de(),I=de(),S=de(),j=de(),V=de();let G=de("studio"),T=de(null),C=de(Fi[0]?.id||""),A=de(Fi[0]),B=e(A)?.path||"",y=de([]),x=de(null),q=de(null),L=de(!1),Q=de(!1),Z=de(!1),X=de(!1),J=de("Ready"),be=de(""),re=de(""),Fe=de(""),ye=de(""),Me=de(""),oe=de(""),ze=de(""),ue=de(""),Ve=de(30),Ke=de(1234),Rt=de(1024),gt=de(0),zt=de(null),$t=de(null),tt=de(null),ie=de([null,null,null,null]),fe=de(null),te=de(null),ce=de(null),_e=de([null,null,null,null]),Ae=de(null),Ge=de(null),Xe=de("{}"),we=de({}),Ue=de([]),ct=de([]),Qt=de([]),je=de(""),ut=de(""),fa=de([]),vt=null,si=de(!0),va=de(eu(e(A)?.family||"")),xa=de([]),pa=de(""),Xa=de(""),Jt=de(null),fi=de(null),oi=null,Gn=null,La=null,ci=de(!1),Pi=!1,pi=Promise.resolve(),Fn=0,Vt=de({}),Ni=de(""),Ai=de(""),nr=de(""),Gs=de(!0),Ti=de(!1),An=de(!1),Un=de(!1),Ji=de(""),Fa=de(null),vi=null,Va={},xt=de({}),li=de("idle"),bi=null,Tr=!1,rr={},sr=de([]),Ci=de([]),Fs=de([]),qt=de(""),$i=de("en"),Mi=de("system"),As=!0,Rn=null,$r=null,O=de(Ug(e($i)));const qr={demo_1_man:"demo_1_man",demo_2_man:"demo_2_man",demo_3_woman:"demo_3_woman",demo_4_woman:"demo_4_woman"},rc=new Set(["canary_asr","cohere_asr","moss_transcribe_diarize","audiosr","controlfoley","breeze_tts","cosyvoice3","firered_audio","fireredtts3","irodori_tts","kokoro_tts","meanvc2","midashenglm_gen"]),es={};function Se(M){U($i,Rg([M])),localStorage.setItem("audiocpp.ui.language",e($i)),document.documentElement.lang=e($i)}function ae(M=e(Mi)){const H=Zk(M,As);document.documentElement.dataset.theme=H,document.querySelector('meta[name="theme-color"]')?.setAttribute("content",H==="dark"?"#07101f":"#f6f8fb")}function Ee(M){U(Mi,Dg(M)),localStorage.setItem(Ng,e(Mi)),ae(e(Mi))}async function Qe(){try{if("serviceWorker"in navigator){const M=await navigator.serviceWorker.getRegistrations();await Promise.all(M.map(H=>H.unregister()))}if("caches"in window){const M=await window.caches.keys();await Promise.all(M.map(H=>window.caches.delete(H)))}}catch(M){console.warn("Unable to clear legacy WebUI caches:",M)}}function ma(M,H,Y=e(O)){return Y(`workflow.${M==="conversion"?"vc":M==="separation"?"sep":M}`,{},H)}function It(M,H=e(O)){return M?H(`task.${M}`,{},Mk[M]||M):H("studio.title")}function Ea(M,H,Y=e(O)){const ne=H==="label"?M.label_en||M.label||M.name.replace(/_/g," "):H==="info"?M.info_en||M.info||"":M.placeholder_en||M.placeholder||"";return Y(`param.${e(A)?.family}.${M.name}.${H}`,{},ne)}function Di(M=e(O)){const H=e(A)?.input_hint_en||e(A)?.input_hint||"";return M(`model.${e(A)?.family}.hint`,{},H)}function ha(M){const H=Math.max(1,Number.isFinite(M)?M:1)*24;return Math.max(5,Math.round((H-3)/17)*17+3)}function ea(M){const H=e(A)?.family==="ace_step"?-1:1;U(Ve,Math.max(H,Number.isFinite(M)?M:H)),e(A)?.family==="minimax_h3"&&U(we,{...e(we),num_frames:ha(e(Ve))})}function ft(M,H){if(U(we,{...e(we),[M.name]:H}),e(A)?.family==="yue2"&&M.scope==="session"&&U(c,e(y).some(Y=>Y.id===e(C)&&Y.loaded&&Ms(Y,e(A)))),e(A)?.family==="minimax_h3"&&M.name==="num_frames"){const Y=Number(H);Number.isFinite(Y)&&Y>0&&U(Ve,Y/24)}}function Aa(M=e(A)){M?.family!=="yue2"||e(ue).trim()||U(ue,M.default_text||"")}function Ia(){return e(Fe).trim()?e(Fe):e(A).default_text||""}const Ze=[{id:"tts",label:"Text to speech",filterLabel:"TTS",tasks:["tts","clon"]},{id:"asr",label:"ASR / Transcription",filterLabel:"ASR",tasks:["asr"]},{id:"music",label:"Music generation",filterLabel:"Music",tasks:["gen"]},{id:"conversion",label:"Voice conversion",filterLabel:"Voice conversion",tasks:["vc","svc","s2s"]},{id:"separation",label:"Source separation",filterLabel:"Separation",tasks:["sep"]},{id:"analysis",label:"Audio analysis",filterLabel:"Analysis",tasks:["vad","diar","align","spk","midi"]},{id:"design",label:"Voice design",filterLabel:"Voice design",tasks:["vdes"]}],ht={qwen3_tts:"Qwen3-TTS",irodori_tts:"Irodori-TTS",chatterbox:"Chatterbox",stable_audio:"Stable Audio 3",qwen3_asr:"Qwen3-ASR",vevo2:"Vevo2",seed_vc:"Seed-VC",breeze_tts:"BreezeTTS 2",cosyvoice3:"CosyVoice3",magpie_tts:"MagpieTTS",meanvc2:"MeanVC2",niagara_asr:"Niagara ASR",canary_asr:"Canary 180M Flash",cohere_asr:"Cohere Transcribe",moss_transcribe_diarize:"MOSS-Transcribe-Diarize",apollo:"Apollo",universr:"UniverSR",pulsevad:"PulseVAD",personaplex:"PersonaPlex"},ba={canary_asr:0,cohere_asr:256,moss_transcribe_diarize:5120},Pa={canary_asr:["en","de","es","fr"],cohere_asr:["en","fr","de","es","it","pt","nl","pl","el","ar","ja","zh","vi","ko"],confucius4_r2t2:["Auto","Chinese","English","Cantonese","Japanese","Korean","Arabic","German","French","Spanish","Portuguese","Indonesian","Italian","Russian","Thai","Vietnamese","Turkish","Hindi","Malay","Dutch","Swedish","Danish","Finnish","Polish","Czech","Filipino","Persian","Greek","Romanian","Hungarian","Macedonian"]};function Gr(M){const ne=(M.replace(/\\/g,"/").split("/").filter(Boolean).pop()||"").match(/(?:^|[-_])(\d+(?:\.\d+)?[bm])(?:[-_]|$)/i);return ne?ne[1].toUpperCase():""}function zi(M,H){const Y=dn(H),ne=dn(Mr(M));if(Y===ne)return!0;const me=dn(M).replace(/^models\//,"");return Y===me||Y.endsWith(`/${me}`)}function or(M,H){return M.family!==H.family||M.task!==H.task?!1:zi(M.path,H.path)?!0:!!(M.install_packages||[]).some(Y=>zi(Y.path,H.path))}function Fr(M){const H=Fi.find(Y=>Y.id===M.id);return H&&or(H,M)?H:Fi.find(Y=>or(Y,M))}function go(M,H){const Y=Gr(M.path),ne=ht[M.family]||H?.display_name||M.family;return Y&&!ne.toLowerCase().includes(Y.toLowerCase())?`${ne} ${Y}`:ne}function sc(M){return Fr(M)?.display_name||go(M)}function oc(M,H){return M.localeCompare(H,"en",{sensitivity:"base",numeric:!0})}function cc(){return e(y).map(M=>{const H=Fr(M),Y=Fi.find(me=>me.family===M.family&&me.task===M.task),ne=H||Y;return{...ne||{id:M.id,display_name:M.id,family:M.family,path:M.path,task:M.task,mode:M.mode},id:M.id,display_name:H?H.display_name:go(M,ne),display_name_en:H?H.display_name_en:ne?.display_name_en,family:M.family,path:M.path,task:M.task,mode:M.mode,install_packages:[]}})}function kl(M){return Array.from(M.reduce((H,Y)=>{const ne=H.get(Y.family)||[];return ne.push(Y),H.set(Y.family,ne),H},new Map)).map(([H,Y])=>({family:H,entries:[...Y].sort((ne,me)=>oc(ne.display_name,me.display_name)),label:Y.length>1&&ht[H]||Y[0].display_name})).sort((H,Y)=>oc(H.label,Y.label))}let Li=de("tts"),Ar={},Bn=de(Ze.map(M=>M.id)),Na=de(Fi),Cs=de(kl(Fi));class Pn extends Error{}function la(M){const H=`${new Date().toLocaleTimeString()} ${M}`;U(fa,[H,...e(fa)].slice(0,200))}function Cr(M){if(!Number.isFinite(M)||M<=0)return"0 B";const H=["B","KB","MB","GB","TB"],Y=Math.min(Math.floor(Math.log(M)/Math.log(1024)),H.length-1);return`${(M/1024**Y).toFixed(Y<2?0:1)} ${H[Y]}`}function Mr(M){if(!e(Ni))return M;const H=M.replace(/\\/g,"/");if(H==="models")return e(Ni);if(!H.startsWith("models/"))return M;const Y=H.slice(7),ne=e(Ni).includes("\\")?"\\":"/";return`${e(Ni).replace(/[\\/]+$/,"")}${ne}${Y.replace(/\//g,ne)}`}function ho(M){const H=M.install_packages||[];return H.find(Y=>Y.id===Va[M.id])||H[0]}function cr(M,H){return ho(M)?.id===H.id}function zr(M){return e(x)&&!e(x).ui_management?M.path:Mr(ho(M)?.path||M.path)}function dn(M){return M.replace(/\\/g,"/").replace(/\/$/,"").toLowerCase()}function lp(M,H){return zi(M.path,H)}function ts(M){const H=ho(M),Y=M.id===e(C)?hp():{};return{...M.session_options||{},...H?.session_options||{},...Y}}function lc(M,H,Y){const ne=ts(M),me=Array.from(new Set((M.install_packages||[]).flatMap(Ne=>Object.keys(Ne.session_options||{}))));if(M.id===e(C))for(const Ne of e(Ue).filter(rt=>rt.scope==="session"))me.push(Ne.session_option||Ne.name);if(!me.length)return!0;const Re=Y.session_options||{};return me.every(Ne=>Re[Ne]===ne[Ne])}function _o(M,H,Y){return lp(Y,H.path)&&lc(M,Y,H)}function Ms(M,H){if(!H)return dn(M.path)===dn(B);const Y=ho(H);return Y?dn(M.path)===dn(B)&&lc(H,Y,M):dn(M.path)===dn(B)}function dc(M,H=e(y)){return H.find(Y=>Y.id===M.id&&Y.loaded)}function as(M,H,Y=e(y)){const ne=dc(M,Y);return!!(ne&&_o(M,ne,H))}function Er(M,H,Y=e(y),ne=e(xt)){return as(M,H,Y)||ne[H.id]?.installed===!0}function uc(M){const H=M.install_packages||[];if(M.family==="ace_step"||M.family==="minimax_music3"||rc.has(M.family))return H.map(me=>({key:me.id,label:me.label,choice:me}));const Y=H.find(me=>me.format==="gguf"&&["q8","q8_0"].includes(me.precision)),ne=H.find(me=>me.format==="gguf"&&["f16","fp16","bf16"].includes(me.precision));return!Y&&!ne?H.map(me=>({key:me.id,label:me.label,choice:me})):[{key:"q8",label:Y?.label||"GGUF Q8",choice:Y},{key:"fp16",label:ne?.label||"GGUF FP16",choice:ne}]}function wl(M){if(!Number.isInteger(M)||M<-1||M>4294967295)throw new Error("Seed must be -1 or an unsigned 32-bit integer (0 to 4294967295).");if(M>=0)return M;const H=new Uint32Array(1);return globalThis.crypto.getRandomValues(H),H[0]}function zs(M,H){return(M+H)%4294967296}function xl(M){return M.replace(/\.[^.]+$/,"").trim().toLowerCase()}function vo(M){const H=!!(M&&(e(qt)||e(pa)||e(tt)&&e(tt).name!==M.name));M&&(U(qt,""),U(pa,"")),U(tt,M),H&&(U(Ae,null),U(oe,""),e(Ge)&&ni(Ge,e(Ge).value=""),U(J,"Reference voice changed. Choose or enter its matching transcript."),U(be,e(J)))}function dp(){U(qt,""),U(pa,""),U(tt,null),U(Xa,""),U(Ae,null),U(oe,""),e(ce)&&ni(ce,e(ce).value=""),e(Ge)&&ni(Ge,e(Ge).value="")}function fc(){U(zt,null),e(fe)&&ni(fe,e(fe).value="")}function Sl(){U($t,null),e(te)&&ni(te,e(te).value="")}function Tl(M,H){U(ie,e(ie).map((Y,ne)=>ne===M?H:Y))}function $l(M){Tl(M,null),e(_e)[M]&&ni(_e,e(_e)[M].value="")}function pc(M){U(qt,M),M&&(U(pa,""),U(tt,null),U(Xa,""),U(Ae,null),U(oe,""),e(ce)&&ni(ce,e(ce).value=""),e(Ge)&&ni(Ge,e(Ge).value=""))}async function mc(M){if(U(Ae,M),!!M)try{const H=(await M.text()).replace(/^\uFEFF/,"").trim();if(!H)throw new Error("The selected reference text file is empty.");U(oe,H);const Y=!e(tt)||xl(M.name)===xl(e(tt).name);U(J,Y?`Loaded reference transcript from ${M.name}.`:`Loaded ${M.name}. Its name does not match ${e(tt)?.name}; verify that it is the correct transcript.`),U(be,Y?"":e(J))}catch(H){U(Ae,null),U(oe,""),e(Ge)&&ni(Ge,e(Ge).value=""),U(J,H instanceof Error?H.message:String(H)),U(be,"")}}function Es(M){return M.state==="complete"||M.state==="cleaned"?100:M.progress_percent>=0?Math.min(100,Math.max(0,M.progress_percent)):0}function up(M){const H=Es(M);return M.total_bytes>0?`${H}% · ${Cr(M.downloaded_bytes)} / ${Cr(M.total_bytes)}`:M.downloaded_bytes>0?`${Cr(M.downloaded_bytes)} downloaded`:M.state==="failed"?"Download failed":M.state==="cleaned"?"Partial files cleaned":M.state==="complete"?"100% · complete":M.state==="queued"?"0% · queued":"Connecting and checking package files…"}function gc(M,H){return(M.install_packages||[]).map(Y=>H[Y.id]).filter(Y=>Y!==void 0)}function fp(M,H){const Y=M.entries.findIndex(me=>me.id===H.id),ne=new Set(M.entries.slice(0,Math.max(0,Y)).flatMap(me=>(me.install_packages||[]).map(Re=>Re.id)));return(H.install_packages||[]).filter(me=>!ne.has(me.id))}function ql(M,H){const Y=M.map(ne=>H[ne.id]).filter(ne=>ne!==void 0);return Y.find(ne=>["running","queued","cancelling"].includes(ne.state))||[...Y].sort((ne,me)=>me.finished_at_ms-ne.finished_at_ms)[0]}function pp(M,H){return gc(M,H).some(Y=>Y.state==="running"||Y.state==="queued"||Y.state==="cancelling")}function Gl(M,H){return M.entries.some(Y=>pp(Y,H))}function js(M){return M.request_options!==void 0?M.request_options.includes("max_tokens"):["tts","clon","gen","s2s","vdes"].includes(M.task)}function hc(M,H){return M.request_options===void 0||M.request_options.includes(H)}function ee(M,H){return M.required_request_options?.includes(H)===!0}function he(M,H=e(O)){return M?.installed?M.version_state==="up_to_date"?H("models.upToDate"):M.version_state==="update_available"?H("models.updateAvailable"):H("models.versionUnknown"):""}function ve(M){return e(V).has(M.id)}function xe(M){return Ze.find(H=>H.tasks.some(Y=>Y===M))?.id||"tts"}function Pe(M,H,Y=e(O)){return H?.state==="running"?`${M.label}…`:H?.state==="queued"?`${M.label} ${Y("models.queued")}`:H?.state==="cancelling"?`${M.label} ${Y("models.stopping")}`:M.label}function Ce(M,H,Y,ne=e(O)){const me=M?.size_bytes!==null&&M?.size_bytes!==void 0?Cr(M.size_bytes):"";if(M?.installed){const Re=he(M,ne);return`${ne(Y?"models.selected":"models.downloaded")}${Re?` · ${Re}`:""}${me?` · ${me}`:""}`}return me||(M?.state==="pending"?ne("models.checkingSize"):M?.state==="gated"?ne("models.hfAccess"):M?.state==="error"||M?.state==="unknown"?ne("models.sizeUnavailable"):H==="running"?ne("models.checkingSize"):"")}function nt(M,H=e(O)){return M==="Ready"?H("status.ready"):M}async function Be(){if(!(!e(x)?.ui_management||Tr)){Tr=!0;try{const M=await Py();U(li,M.state),M.data.length&&(U(xt,Object.fromEntries(M.data.map(Y=>[Y.id,Y]))),M.state==="complete"&&Wt(e(xt)));const H=M.state==="idle"||M.state==="running"||M.data.length===0;H&&bi===null?bi=window.setInterval(Be,1e3):!H&&bi!==null&&(window.clearInterval(bi),bi=null)}catch(M){U(li,"failed"),la(`Package sizes unavailable: ${M instanceof Error?M.message:M}`)}finally{Tr=!1}}}function Ot(){if(!e(x)?.ui_management){U(G,"studio"),U(J,"Model management is disabled for this configured server."),U(be,e(J)),U(re,"");return}U(G,"models"),e(li)==="idle"&&U(li,"running"),Be()}function da(M,H){Va={...Va,[M.id]:H.id},localStorage.setItem("audiocpp.ui.packageIds",JSON.stringify(Va)),M.id===e(C)&&(B=Mr(H.path))}function Wt(M=e(xt)){const H={...Va};let Y=!1;for(const ne of Fi){const me=ne.install_packages||[];if(!me.length)continue;const Re=me.find(ka=>ka.id===H[ne.id]),Ne=Re?e(Vt)[Re.id]:void 0;if(Ne&&["queued","running","cancelling"].includes(Ne.state)||Re&&M[Re.id]?.installed)continue;const lt=me.find(ka=>M[ka.id]?.installed);lt?H[ne.id]!==lt.id&&(H[ne.id]=lt.id,Y=!0):H[ne.id]!==void 0&&(delete H[ne.id],Y=!0)}return Y?(Va=H,localStorage.setItem("audiocpp.ui.packageIds",JSON.stringify(Va)),e(C)&&(B=zr(e(A))),!0):!1}function Ua(M=e(y)){const H={...Va};let Y=!1;for(const ne of Fi){const me=dc(ne,M);if(!me)continue;const Re=(ne.install_packages||[]).find(Ne=>_o(ne,me,Ne));Re&&H[ne.id]!==Re.id&&(H[ne.id]=Re.id,Y=!0)}return Y?(Va=H,localStorage.setItem("audiocpp.ui.packageIds",JSON.stringify(Va)),e(C)&&(B=zr(e(A))),!0):!1}async function Ca(M=e(xt)){const H=Fi.filter(Y=>{const ne=dc(Y);if(!ne)return!1;const me=(Y.install_packages||[]).find(Re=>_o(Y,ne,Re));return!!(me&&M[me.id]?.installed===!1)});if(!H.length)return!1;for(const Y of H)await fo(Y.id);return await Za(),!0}async function _a(){U(G,"studio"),await Za(),e(x)?.ui_management&&(await Be(),await Ca(),Wt()&&e(C)&&await un())}function mi(M){U(Ni,M.models_root),U(Ai,M.models_root),U(nr,M.default_models_root),U(Gs,M.is_default),B=zr(e(A))}function Oa(){U(C,""),U(qt,""),U(Ci,[]),U($t,null),B="",U(q,null),U(Ue,[]),U(we,{}),U(Xe,"{}"),localStorage.removeItem("audiocpp.ui.model"),vp()}function Bt(M=!1){return e(x)&&!e(x).ui_management||!e(C)||!M&&e(c)||e(q)!==!1?!1:(Oa(),!0)}async function Da(M=!1){if(!(!e(x)?.ui_management||e(Ti))){U(Ti,!0),U(be,""),U(re,""),U(J,M?"Restoring the default models folder…":"Changing models folder…");try{const H=await qg(M?"":e(Ai).trim());mi(H),H.is_default?localStorage.removeItem("audiocpp.ui.modelsFolder"):localStorage.setItem("audiocpp.ui.modelsFolder",H.models_root),U(Vt,{}),U(xt,{}),U(li,"idle"),rr={},vi!==null&&(window.clearInterval(vi),vi=null),bi!==null&&(window.clearInterval(bi),bi=null),await Be(),await un();const Y=Bt();U(J,Y?`Models folder: ${H.models_root}. No installed model is selected.`:`Models folder: ${H.models_root}`),la(e(J))}catch(H){U(J,H instanceof Error?H.message:String(H)),U(re,e(J)),la(`Models folder change failed: ${e(J)}`)}finally{U(Ti,!1)}}}async function di(M=""){U(An,!0),U(Un,!0),U(Ji,"");try{U(Fa,await Dy(M||e(Ai).trim()||e(Ni)))}catch(H){U(Ji,H instanceof Error?H.message:String(H))}finally{U(Un,!1)}}function en(){e(Fa)&&(U(Ai,e(Fa).current),U(An,!1))}function Nn(){const M=Eg[e(A)?.id]||Eg[e(A)?.family]||[],H=e(A)?.family==="controlfoley"||e(A)?.family==="midashenglm_gen";if(U(Ue,M.filter(Y=>!(e(A)?.family==="vibevoice"&&Y.name==="voice_samples")&&!(H&&Y.name==="duration_sec"))),U(we,Object.fromEntries(M.map(Y=>[Y.name,Y.default??""]))),e(A)?.family in ba&&U(gt,ba[e(A).family]),e(A)?.family==="confucius4_r2t2"?U(ye,"Auto"):e(A)?.family in Pa&&U(ye,"en"),e(A)?.family==="minimax_h3"?(U(Ve,15),U(we,{...e(we),num_frames:ha(e(Ve)),dit_acceleration:"none"})):e(A)?.task==="gen"&&U(Ve,30),e(A)?.family==="yue2"){if(e(x)?.ui_management===!1){const Y=e(y).find(ne=>ne.id===e(C))?.session_options;U(we,{...e(we),ar_lora:Y?.["yue2.ar_lora"]??"",ar_lora_scale:Number(Y?.["yue2.ar_lora_scale"]??1)})}U(Fe,""),U(ue,""),Aa()}else!e(Fe).trim()&&e(A)?.default_text&&U(Fe,e(A).default_text);e(A)?.builtin_voices?.length&&e(A).default_voice&&!e(qt)&&U(qt,e(A).default_voice),U(Xe,"{}")}function Vi(){if(!e(x)||e(x).ui_management)return;const M=cc();if(!M.length){Oa();return}const Y=(e(C)?M.find(ne=>ne.id===e(C)):void 0)||M[0];e(C)!==Y.id&&(U(qt,""),U(Ci,[])),U(C,Y.id),U(A,Y),U(Li,xe(Y.task)),Ar={...Ar,[e(Li)]:Y.id},B=Y.path,U(q,!0),U(va,eu(Y.family)),localStorage.setItem("audiocpp.ui.model",Y.id),Nn()}async function Za(){try{await(async M=>{var H=Yv(M,2);U(x,H[0]),U(y,H[1])})(await Promise.all([My(),pl()])),e(x).ui_management?Ua():Vi()}catch(M){U(J,M instanceof Error?M.message:String(M))}}async function un(){if(!e(C)||!B.trim()){U(q,null);return}if(e(x)&&!e(x).ui_management){U(q,e(y).some(M=>M.id===e(C)));return}U(q,null);try{U(q,(await zy(B)).exists)}catch{U(q,null)}}function ya(M){if(!M){Oa(),U(J,"No model selected. Choose an installed model or download one from the Models tab.");return}const H=e(Na).find(Y=>Y.id===M);!H||!ve(H)||(U(C,M),U(A,H),U(qt,""),U(Ci,[]),U(Li,xe(H.task)),Ar={...Ar,[e(Li)]:M},B=zr(H),U(va,eu(H.family)),localStorage.setItem("audiocpp.ui.model",M),Nn(),un(),vv())}function Ha(M){const H=Ze.find(Re=>Re.id===M);if(!H||(U(Li,M),e(C)&&H.tasks.some(Re=>Re===e(A)?.task)))return;const Y=Ar[M],me=(Y?e(Na).find(Re=>Re.id===Y&&H.tasks.some(Ne=>Ne===Re.task)&&ve(Re)):void 0)||e(Na).find(Re=>H.tasks.some(Ne=>Ne===Re.task)&&ve(Re));if(me){ya(me.id);return}Oa(),U(J,`No installed models are available for ${H.label}. Install one from the Models tab.`)}function fn(M,H){U(Bn,H?[...e(Bn),M].filter((Y,ne,me)=>me.indexOf(Y)===ne):e(Bn).filter(Y=>Y!==M))}async function bo(M){if(!(e(m)&&e(Q))){if(!e(C)){U(J,"Choose an installed model before loading."),U(be,e(J)),U(re,"");return}if(!e(x)?.ui_management){U(J,"This server was not started with UI management enabled."),U(be,e(J)),U(re,"");return}U(L,!0),U(be,""),U(re,""),U(J,`Loading ${e(A).display_name}…`),la(e(J));try{const H=dn(B),Y=e(y).filter(ne=>ne.loaded&&(ne.id!==e(A).id||dn(ne.path)!==H||!Ms(ne,e(A))));for(const ne of Y)la(`Unloading ${sc(ne)} before loading ${e(A).display_name}.`),await fo(ne.id);Y.length&&await Za(),await Ld({id:e(A).id,path:B,family:e(A).family,task:e(A).task,mode:M||e(A).mode||"offline",load_options:e(A).load_options||{},session_options:ts(e(A))}),await Za(),U(J,e(O)("status.modelReady",{model:e(A).display_name})),U(re,""),la(e(J))}catch(H){throw U(J,H instanceof Error?H.message:String(H)),U(re,e(J)),la(`Load failed: ${e(J)}`),H}finally{U(L,!1)}}}async function yo(){if(!e(x)?.ui_management){U(J,"Model unload is disabled for this configured server."),U(be,e(J)),U(re,"");return}if(!e(C))return;const M=e(A).display_name;U(L,!0);try{await fo(e(A).id),await Za();const H=Bt(!0);U(J,H?`${M} unloaded. No installed model is selected.`:`${M} unloaded.`),la(e(J))}catch(H){U(J,H instanceof Error?H.message:String(H))}finally{U(L,!1)}}async function mp(M){if(!(e(L)||!Er(e(A),M))){if(as(e(A),M)){await yo();return}if(da(e(A),M),await un(),e(q)!==!0){U(J,`${e(A).display_name} ${M.label} is not available at the expected path.`),U(re,e(J));return}await bo()}}async function gp(){e(L)||!e(C)||e(q)===!1||(e(c)?await yo():await bo())}async function _c(M){if(!M)return;const H=e(A).task==="sep"||e(A).family==="apollo"?44100:["asr","vad","diar","align","midi"].includes(e(A).task)?16e3:void 0,Y=await fl(M,H);return Id(Y,vt?.signal)}async function Us(){const M=e(ie).findIndex(me=>!me);if(M>=0&&e(ie).slice(M+1).some(Boolean))throw new Pn("VibeVoice speaker references must be filled from Speaker 1 without gaps.");const Y=e(ie).filter(me=>!!me);return Y.length?(await Promise.all(Y.map(me=>_c(me)))).filter(me=>!!me).join(","):void 0}function jr(){let M={};try{if(M=JSON.parse(e(Xe)||"{}"),Array.isArray(M)||M===null)throw new Error("must be an object")}catch(ne){throw new Error(`Advanced JSON is invalid: ${ne instanceof Error?ne.message:ne}`)}const H=e(A).default_options||{},Y=Object.fromEntries(Object.entries(e(we)).filter(([ne,me])=>!(e(Ue).find(Ne=>Ne.name===ne)?.scope==="session"||e(A)?.family==="canary_asr"&&ne==="target_language"&&me===""||e(A)?.family==="universr"&&ne==="input_sample_rate"&&me===""||e(m)&&typeof me=="string"&&me.trim().length===0)));return{...H,...Y,...M}}function hp(){return Object.fromEntries(e(Ue).filter(M=>M.scope==="session").map(M=>[M.session_option||M.name,String(e(we)[M.name]??M.default??"")]).filter(([,M])=>M.length>0))}function _p(M){const H=atob(M),Y=new Uint8Array(H.length);for(let ne=0;netypeof Y=="object"&&Y!==null&&Y.id==="ace_step_caption_plan"&&typeof Y.payload=="string");if(H)return JSON.parse(_p(H.payload))}return typeof M.text=="string"?{caption:M.text}:{}}async function W5(){if(!(e(A)?.family!=="ace_step"||e(Z)||e(X))){if(!e(Fe).trim()&&!e(ue).trim()){U(J,"Enter a caption or lyrics to rewrite."),U(be,e(J)),U(re,"");return}U(X,!0),U(be,""),U(re,""),U(J,e(O)("request.rewritingCaption"));try{await mv();const M={...jr(),rewrite_caption:!0},H={text:e(Fe),seed:wl(e(Ke)),duration_seconds:e(Ve),options:M};e(ye).trim()&&(H.language=e(ye)),e(ue).trim()&&(H.lyrics=e(ue));const Y=await gl({model:e(A).id,request:H}),ne=Q5(Y);typeof ne.caption=="string"&&ne.caption.trim()&&U(Fe,ne.caption),typeof ne.language=="string"&&ne.language.trim()&&U(ye,ne.language),typeof ne.duration_seconds=="number"&&Number.isFinite(ne.duration_seconds)&&ne.duration_seconds>0&&U(Ve,ne.duration_seconds);const me={...e(we)};typeof ne.bpm=="number"&&Number.isFinite(ne.bpm)&&(me.bpm=ne.bpm),typeof ne.keyscale=="string"&&(me.keyscale=ne.keyscale),typeof ne.timesignature=="string"&&(me.timesignature=ne.timesignature),U(we,me),U(je,typeof Y.text=="string"?Y.text:""),U(ut,JSON.stringify(ne,null,2)),U(J,"Caption rewritten.")}catch(M){U(J,M instanceof Error?M.message:String(M)),U(re,e(J)),la(`Caption rewrite failed: ${e(J)}`)}finally{U(X,!1)}}}function vp(){for(const M of e(ct))URL.revokeObjectURL(M.url);U(ct,[]),U(Qt,[]),U(je,""),U(ut,"")}async function mv(){if(!e(x)?.ui_management){if(!e(y).some(M=>M.id===e(C)))throw new Error("Configured model is not registered by this server.");return}if(!e(c)&&(await bo(),await Za(),!e(y).some(M=>M.id===e(C)&&M.loaded&&Ms(M,e(A)))))throw new Error("Model did not load.")}async function Y5(M){if(!e(x)?.ui_management){if(!e(y).some(Y=>Y.id===e(C)&&Y.mode===M))throw new Error(`Configured model is not registered in ${M} mode.`);return}const H=e(y).find(Y=>Y.id===e(C)&&Y.loaded);if((!H||H.mode!==M)&&(await bo(M),await Za()),!e(y).some(Y=>Y.id===e(C)&&Y.loaded&&Y.mode===M&&Ms(Y,e(A))))throw new Error(`Model did not load in ${M} mode.`)}function gv(){for(const M of["audio/webm;codecs=opus","audio/webm","audio/ogg;codecs=opus"])if(MediaRecorder.isTypeSupported(M))return M}async function hv(M){if(!navigator.mediaDevices?.getUserMedia||typeof MediaRecorder>"u"){U(J,"Microphone recording is not supported by this browser.");return}if(!(e(Jt)||e(ci)))try{oi=await navigator.mediaDevices.getUserMedia({audio:!0});const H=[],Y=gv();U(Jt,new MediaRecorder(oi,Y?{mimeType:Y}:void 0)),U(fi,M),ni(Jt,e(Jt).ondataavailable=ne=>{ne.data.size&&H.push(ne.data)}),ni(Jt,e(Jt).onstop=()=>{const ne=new Blob(H,{type:e(Jt)?.mimeType||Y||"audio/webm"}),me=new File([ne],`recording-${Date.now()}.webm`,{type:ne.type});M==="source"?U(zt,me):(U(qt,""),U(pa,""),U(tt,me),e(ce)&&ni(ce,e(ce).value="")),oi?.getTracks().forEach(Re=>Re.stop()),oi=null,U(Jt,null),U(fi,null),U(J,`${M==="voice"?"Voice reference":"Source audio"} recording captured.`)}),e(Jt).start(),U(J,`Recording ${M==="voice"?"voice reference":"source audio"}…`)}catch(H){U(J,H instanceof Error?H.message:String(H)),oi?.getTracks().forEach(Y=>Y.stop()),oi=null,U(Jt,null),U(fi,null)}}function _v(){e(Jt)?.state==="recording"&&e(Jt).stop()}async function bp(){try{U(xa,await jw())}catch(M){la(`Voice library unavailable: ${M instanceof Error?M.message:M}`)}}async function K5(){try{U(Fs,await Vd())}catch(M){la(`Quick-start voices unavailable: ${M instanceof Error?M.message:M}`)}}async function vv(){if(!e(C)||e(x)?.ui_management!==!1){U(Ci,[]);return}try{U(Ci,await Vd(e(C))),e(qt)&&(new Set([...e(Ci),...e(k)?e(A)?.builtin_voices||[]:[]]).has(e(qt))||U(qt,""))}catch(M){U(Ci,[]),la(`Configured voices unavailable: ${M instanceof Error?M.message:M}`)}}async function X5(){if(!e(tt)){U(J,"Choose or record a voice reference first.");return}const M=e(Xa).trim()||e(tt).name.replace(/\.[^.]+$/,""),H=await fl(e(tt)),Y=crypto.randomUUID();await Uw({id:Y,name:M,transcript:e(oe),audio:H,createdAt:Date.now()}),await bp(),U(pa,Y),U(Xa,M),U(J,`Saved voice “${M}” in this browser.`)}function Z5(M){U(pa,M);const H=e(xa).find(Y=>Y.id===M);H&&(U(qt,""),U(tt,new File([H.audio],`${H.name}.wav`,{type:"audio/wav"})),U(Ae,null),e(ce)&&ni(ce,e(ce).value=""),e(Ge)&&ni(Ge,e(Ge).value=""),U(oe,H.transcript),U(Xa,H.name),U(J,`Selected saved voice “${H.name}”.`))}async function J5(){if(!e(pa))return;const M=e(xa).find(H=>H.id===e(pa));await Rw(e(pa)),U(pa,""),await bp(),U(J,`Deleted saved voice “${M?.name||""}”.`)}async function e8(M){if(!M.size)return;const H=new File([M],`live-${Fn}.webm`,{type:M.type}),Y=await fl(H,16e3),ne=await Id(Y),me=await Hd({model:e(A).id,audio:ne,language:e(ye),text:e(Me),options:jr()}),Re=String(me.text||"").trim();Re&&U(je,[e(je),Re].filter(Boolean).join(" ")),Fn+=1,U(J,`Listening… ${Fn} chunk${Fn===1?"":"s"} transcribed.`)}function bv(){if(!Gn||Pi)return;const M=[],H=gv();La=new MediaRecorder(Gn,H?{mimeType:H}:void 0),La.ondataavailable=Y=>{Y.data.size&&M.push(Y.data)},La.onstop=()=>{const Y=new Blob(M,{type:La?.mimeType||H||"audio/webm"});pi=pi.then(()=>e8(Y)).catch(ne=>{U(J,ne instanceof Error?ne.message:String(ne)),la(`Live transcription failed: ${e(J)}`)}),La=null,Pi||bv()},La.start(),window.setTimeout(()=>{La?.state==="recording"&&La.stop()},4e3)}async function t8(){if(e(S)){if(!navigator.mediaDevices?.getUserMedia||typeof MediaRecorder>"u"){U(J,"Live microphone transcription is not supported by this browser.");return}vp(),U(ci,!0),Pi=!1,Fn=0;try{await Y5("streaming"),Gn=await navigator.mediaDevices.getUserMedia({audio:!0}),U(J,"Listening… speech is transcribed in four-second native streaming requests."),bv()}catch(M){U(J,M instanceof Error?M.message:String(M)),yv()}}}function yv(){Pi=!0,La?.state==="recording"&&La.stop(),Gn?.getTracks().forEach(M=>M.stop()),Gn=null,U(ci,!1),U(J,Fn?`Live transcription stopped after ${Fn} chunks.`:"Live transcription stopped.")}async function kv(){if(e(Z)||e(m)&&e(Q))return;if(!e(C)){U(J,"Choose an installed model before running a request."),U(be,e(J)),U(re,"");return}if(!e(c)&&e(q)===!1){U(J,`${e(A).display_name} is not downloaded. Install a model package from the Models tab first.`),U(be,e(J)),U(re,"");return}vp(),U(Z,!0),vt=new AbortController;const M=performance.now();U(be,""),U(re,""),U(J,e(O)("status.runningTask",{task:It(e(A).task)})),la(e(J));try{const H=wl(e(Ke));if(e(N)&&!e(tt))throw new Pn(`${e(A).display_name_en||e(A).display_name} requires a reference voice.`);if(e(F)&&!e(oe).trim()){const Ne=e(w)?"Qwen3-TTS Base voice cloning":e(A).display_name_en||e(A).display_name;throw new Pn(`${Ne} requires a reference transcript. Choose a matching .txt file or enter the transcript.`)}if(e(R)&&!e(ue).trim())throw new Pn(`${e(A).display_name_en||e(A).display_name} requires lyrics.`);await mv();const Y=jr();if(e(b)){const Ne=await Us();Ne&&(Y.voice_samples=Ne)}e(g)&&e($t)&&(Y.video=await Od(e($t),vt?.signal));const ne=e(o)?await _c(e(zt)):void 0,me=e(v)&&!e(b)?await _c(e(tt)):void 0;if(["tts","clon","vdes"].includes(e(A).task)){if(!e(Fe).trim())throw new Pn("Enter text to generate.");const Ne=Math.max(40,e(va));e(A).family==="voxcpm2"&&(Y.text_chunk_size=Ne);const rt=e(si)&&e(A).task!=="vdes"?Kk(e(Fe),Ne):[e(Fe)],lt=[],ka=[];for(let Qa=0;Qa1?`Synthesizing chunk ${Qa+1} of ${rt.length}…`:e(O)("status.runningTask",{task:It(e(A).task)}));const Ja={model:e(A).id,input:rt[Qa],language:e(ye),seed:zs(H,Qa),options:Y};js(e(A))&&(Ja.max_tokens=e(Rt)),me?Ja.voice_ref=me:e(qt)?Ja.voice=qr[e(qt)]||e(qt):e(A).default_voice&&(Ja.voice=e(A).default_voice),e(oe).trim()&&hc(e(A),"reference_text")&&(Ja.reference_text=e(oe)),e(A).task==="vdes"&&e(ze).trim()&&(Ja.instructions=e(ze));const mn=await Gg(Ja,vt.signal);lt.push(mn.blob),ka.push({chunk:Qa+1,characters:rt[Qa].length,wall_ms:mn.wallMs,rtf:mn.rtf})}const pn=await Cy(lt);U(ct,[{id:rt.length>1?"merged":"output",url:URL.createObjectURL(pn)}]),U(ut,JSON.stringify({seed:H,chunks:rt.length,characters:e(Fe).length,chunk_budget:e(va),timings:ka},null,2))}else if(e(A).task==="asr"){if(!ne)throw new Pn("Choose an audio file.");e(A).family in ba&&(Y.max_tokens=e(gt));const Ne=await Hd({model:e(A).id,audio:ne,language:e(ye),text:e(Me),options:Y},vt.signal);U(je,String(Ne.text||"")),U(ut,JSON.stringify(Ne,null,2))}else{if(e(l)&&!ne)throw new Pn("Choose a source audio file.");const Ne={options:Y};if(["gen","s2s","align"].includes(e(A).task)&&e(Fe).trim()&&!e(m)&&!["apollo","universr"].includes(e(A).family)&&(Ne.text=e(Fe)),["gen","s2s","align"].includes(e(A).task)&&e(ye).trim()&&!e(m)&&!["apollo","universr"].includes(e(A).family)&&(Ne.language=e(ye)),e(A).task==="gen"){if(e(m))Ne.lyrics=e(ue).trim();else{const lt=Ia();lt&&(Ne.text=lt),e(ue).trim()&&(Ne.lyrics=e(ue)),e(_)||(e(f)?Y.duration_sec=e(Ve):Ne.duration_seconds=e(Ve))}Ne.seed=H,js(e(A))&&(Ne.max_tokens=e(Rt))}else e(A).task==="s2s"&&(e(A).family!=="apollo"&&(Ne.seed=H),js(e(A))&&(Ne.max_tokens=e(Rt)));ne&&(Ne.audio=ne),me&&(Ne.voice_ref=me),e(oe).trim()&&hc(e(A),"reference_text")&&(Ne.reference_text=e(oe));const rt=await gl({model:e(A).id,request:Ne},vt.signal);typeof rt.audio=="string"&&U(ct,[{id:"output",url:Qd(rt.audio)}]),Array.isArray(rt.named_audio_outputs)&&U(ct,rt.named_audio_outputs.filter(lt=>typeof lt?.id=="string"&&typeof lt?.audio=="string").map(lt=>({id:lt.id,url:Qd(lt.audio)}))),Array.isArray(rt.artifacts)&&U(Qt,rt.artifacts.filter(lt=>typeof lt?.id=="string"&&typeof lt?.payload=="string").map(lt=>({id:lt.id,extension:lt.meta?.extension||(lt.meta?.format==="midi"?"mid":"bin"),url:`data:${lt.meta?.mime||"application/octet-stream"};base64,${lt.payload}`}))),U(je,typeof rt.text=="string"?rt.text:""),U(ut,JSON.stringify(rt,(lt,ka)=>(lt==="audio"||lt==="payload")&&typeof ka=="string"?``:ka,2))}const Re=((performance.now()-M)/1e3).toFixed(2);U(be,""),U(re,""),U(J,e(O)("status.completeIn",{seconds:Re})),la(e(J))}catch(H){H?.name==="AbortError"?(U(J,"Cancelled."),U(be,""),U(re,"")):(U(J,H instanceof Error?H.message:String(H)),U(be,H instanceof Pn?e(J):""),U(re,H instanceof Pn?"":e(J)),la(`Request failed: ${e(J)}`))}finally{U(Z,!1),vt=null}}function a8(){vt?.abort()}function i8(M){if(M.key==="Escape"&&e(An)){U(An,!1);return}(M.ctrlKey||M.metaKey)&&M.key==="Enter"&&!e(Z)&&(M.preventDefault(),e(G)==="arena"?e(T)?.runArena():kv())}async function vc(){if(e(x)?.ui_management)try{const M=await By(),H=Object.fromEntries(M.map(me=>{const Re=e(Vt)[me.id];return[me.id,{...me,total_bytes:me.total_bytes||Re?.total_bytes||0}]}));U(Vt,{...e(Vt),...H});let Y=!1;for(const me of Fi){const Re=gc(me,e(Vt)).filter(rt=>rt.state==="complete");for(const rt of Re){const lt=e(xt)[rt.id];lt&&!lt.installed&&U(xt,{...e(xt),[rt.id]:{...lt,installed:!0}}),rt.finished_at_ms>(rr[rt.id]||0)&&(rr={...rr,[rt.id]:rt.finished_at_ms},Y=!0)}Re.length>0&&me.id===e(C)&&await un()}Y&&(U(li,"idle"),await Be());const ne=Object.values(e(Vt)).some(me=>me.state==="queued"||me.state==="running"||me.state==="cancelling");ne&&vi===null?vi=window.setInterval(vc,1500):!ne&&vi!==null&&(window.clearInterval(vi),vi=null)}catch(M){la(`Installer status unavailable: ${M instanceof Error?M.message:M}`)}}async function wv(M,H,Y=!1){if(e(xt)[H.id]?.installed&&!Y)return;const ne=e(Vt)[H.id];if(ne&&["queued","running","cancelling"].includes(ne.state))return;const me=e(xt)[H.id]?.size_bytes,Re=Y?"Update":"Download";if(!window.confirm(`${Re} ${M.display_name} ${H.label}${me?` (${Cr(me)})`:""}?`))return;da(M,H),U(J,`Starting ${H.label} installation for ${M.display_name}...`);const rt=e(xt)[H.id]?.size_bytes||0;U(Vt,{...e(Vt),[H.id]:{id:H.id,state:"queued",message:"Sending installation request…",exit_code:-1,downloaded_bytes:0,total_bytes:rt,progress_percent:0,started_at_ms:0,finished_at_ms:0}});try{vi===null&&(vi=window.setInterval(vc,1e3));const lt=await Ey({id:H.id,overwrite:Y});U(Vt,{...e(Vt),[lt.id]:{...lt,total_bytes:lt.total_bytes||rt}}),await vc(),U(J,`${M.display_name} ${H.label} installation is running in the background.`),la(e(J))}catch(lt){U(J,lt instanceof Error?lt.message:String(lt)),U(Vt,{...e(Vt),[H.id]:{id:H.id,state:"failed",message:e(J),exit_code:-1,downloaded_bytes:0,total_bytes:0,progress_percent:-1,started_at_ms:0,finished_at_ms:Date.now()}}),la(`Installer failed to start: ${e(J)}`)}}function n8(M,H){if(e(xt)[H.id]?.installed){da(M,H),U(J,e(O)("status.packageAvailable",{model:M.display_name,format:H.label})),la(e(J));return}wv(M,H)}async function r8(M,H){if(["queued","running","cancelling"].includes(H.state)){U(J,`Stopping ${M.display_name} download...`);try{const Y=await jy(H.id);U(Vt,{...e(Vt),[Y.id]:Y}),vi===null&&(vi=window.setInterval(vc,500)),U(J,`${M.display_name} download is stopping. Staging files will be removed automatically.`),la(e(J))}catch(Y){U(J,Y instanceof Error?Y.message:String(Y)),U(re,e(J)),U(Vt,{...e(Vt),[H.id]:{...H,state:"failed",message:e(J),finished_at_ms:Date.now()}})}}}async function s8(M,H){if(!["queued","running","cancelling"].includes(H.state)){U(J,`Cleaning partial ${M.display_name} download...`);try{const Y=await Uy(H.id);U(Vt,{...e(Vt),[H.id]:{...H,state:"cleaned",message:Y.message,downloaded_bytes:0,total_bytes:0,progress_percent:100,finished_at_ms:Date.now()}}),U(J,Y.message),la(e(J))}catch(Y){U(J,Y instanceof Error?Y.message:String(Y)),U(re,e(J)),U(Vt,{...e(Vt),[H.id]:{...H,state:"failed",message:e(J),finished_at_ms:Date.now()}})}}}async function o8(M,H){if(!(!e(xt)[H.id]?.installed||!window.confirm(`Delete ${M.display_name} ${H.label}? +`)),n.length?n:t.trim()?[t]:[]}function eu(t){return t==="vibevoice"?600:t==="voxcpm2"?60:1e3}const Ng="audiocpp.ui.theme",tw=[{id:"system",label:"System"},{id:"dark",label:"Dark"},{id:"light",label:"Light"}];function Dg(t){return t==="dark"||t==="light"||t==="system"?t:"system"}function aw(t,a){return t==="dark"||t==="light"?t:a?"dark":"light"}var Lg=ge(""),Vg=ge(' '),iw=ge('
'),Ig=ge(' '),nw=ge(`
LoRA requirements vary. Read the original adapter's documentation for usage instructions.
`),rw=ge('
Unfused NAR adapter for acoustic detail; relative paths resolve against the model root. Reload the model after changing this value.
Scales the LoRA deltas only; any full vae2llm/llm2vae projection replacement in the adapter stays at full strength.
'),sw=ge(""),tu=ge('
'),ow=ge(""),cw=ge('
'),lw=ge(" "),Og=ge(' '),dw=ge('
'),uw=ge('Extract or paste ABC to preview the score.'),Hg=ge(''),Qg=ge('
'),fw=ge('
Yue2 ABC conditioning
Cover source Use SheetSage2 + MERT2 to extract an editable ABC score from a song.
Warning: VRAM may remain in use after unloading.
ABC score editor Edit the extracted score here. The sheet preview updates from this ABC.
Sheet preview Rendered from the editable ABC score.
Yue2 semantic sampling
Yue2 ABC planner sampling
');function pw(t,a){hs(a,!1);const r=le(),n=le(),i=le(),c=le(),s=le();let d=Rt(a,"lyrics",12,""),p=Rt(a,"seed",12,1234),m=Rt(a,"loraUploading",12,!1),_=Rt(a,"busy",8,!1),h=Rt(a,"paramSpecs",24,()=>[]),f=Rt(a,"advancedValues",24,()=>({})),u=Rt(a,"catalogEntries",24,()=>[]),l=Rt(a,"loadedModels",24,()=>[]),o=Rt(a,"server",8,null),g=Rt(a,"modelPathFor",8,ye=>ye.path),v=Rt(a,"sessionOptionsFor",8,ye=>ye.session_options||{}),b=Rt(a,"refreshModels",8,async()=>{}),k=Rt(a,"log",8,()=>{}),w=Rt(a,"tr",8,(ye,ae,Ce=ye)=>Ce),T=Rt(a,"localizedParameterText",8,(ye,ae)=>ae==="label"?ye.name:""),N=Rt(a,"setParameterValue",8,()=>{});const R=["main_gguf","vae_gguf"],F=["style","cot","guidance_scale","num_inference_steps"],D=["abc","abc_file"],I=["semantic_temperature","semantic_top_p","semantic_top_k","semantic_repetition_penalty","semantic_penalty_window","semantic_min_tokens","semantic_max_tokens"],S=["abc_temperature","abc_top_p","abc_top_k","abc_repetition_penalty","abc_penalty_window","abc_min_tokens","abc_max_tokens"];let E=le(null),V=le(null),G=le(null),$=le(""),C=le(""),A=null;Zc(()=>A?.abort());async function P(ye,ae){if(!ye)return;const Ce=Ue=>{U(ae==="ar"?$:C,Ue)};if(U($,""),U(C,""),!ye.name.toLowerCase().endsWith(".safetensors")){Ce(`Select an unfused ${ae.toUpperCase()} .safetensors adapter.`);return}m(!0),A=new AbortController;try{const Ue=await Od(ye,A.signal);se(ae==="ar"?"ar_lora":"nar_lora",Ue),k()(`YuE2 ${ae.toUpperCase()} LoRA selected: ${ye.name}`)}catch(Ue){A.signal.aborted||Ce(Ue instanceof Error?Ue.message:String(Ue))}finally{m(!1),A=null,e(V)&&Ya(V,e(V).value=""),e(G)&&Ya(G,e(G).value="")}}let y=le(null),x=le(!1);const q="audiocpp.ui.yue2.unloadSheetSageAfterConversion";let L=le(!0);Ts(()=>{U(L,localStorage.getItem(q)!=="false")});let Q=le(""),Z=le(""),X=le(""),J=le(null),ve="",re=le(""),Ae=null;function ke(ye,ae){return ye.map(Ce=>ae.find(Ue=>Ue.name===Ce)).filter(Ce=>Ce!==void 0)}function Me(ye){return h().find(ae=>ae.name===ye)}function se(ye,ae){const Ce=Me(ye);Ce&&N()(Ce,ae)}function je(ye){try{return atob(ye)}catch{return ye}}function ue(ye){if(typeof ye.text=="string"&&ye.text.trim())return ye.text;const ae=Array.isArray(ye.artifacts)?ye.artifacts:[];for(const Ce of ae){if(!Ce||typeof Ce!="object")continue;const Ue=Ce,aa=String(Ue.meta?.format||Ue.meta?.extension||Ue.id||"");if(/abc|score/i.test(aa)&&typeof Ue.payload=="string")return je(Ue.payload)}return""}function Oe(){return u().find(ye=>ye.family==="sheetsage2")||null}async function Ze(ye){if(l().some(Ue=>Ue.id===ye.id&&Ue.loaded))return;const ae=await ml();if(!ae.find(Ue=>Ue.id===ye.id&&Ue.loaded)){if(!o()?.ui_management){if(!ae.some(Ue=>Ue.id===ye.id))throw new Error("SheetSage2 is not registered. Add SheetSage2 to server config.");return}await Ld({id:ye.id,path:g()(ye),family:ye.family,task:ye.task,mode:ye.mode||"offline",load_options:ye.load_options||{},session_options:v()(ye)})}}async function Bt(){if(!e(E)||e(x))return;U(x,!0),U(Z,""),U(Q,"Preparing SheetSage2 cover score transcription...");const ye=e(L);let ae=null;try{const Ce=Oe();if(!Ce)throw new Error("SheetSage2 is not available in the model catalog.");await Ze(Ce),ae=Ce.id,await b()(),U(Q,"Uploading source song...");const Ue=await Od(e(E));U(Q,"Transcribing source song to ABC with SheetSage2...");const aa=await hl({model:Ce.id,request:{audio:Ue,options:{}}}),jt=ue(aa);if(!jt.trim())throw new Error("SheetSage2 did not return an ABC score.");U(X,jt),se("abc",jt),se("abc_file",""),se("cot","melody"),U(Q,"ABC score imported. Review/edit the sheet before generating the cover."),k()("SheetSage2 cover score imported into Yue2 ABC conditioning.")}catch(Ce){U(Z,Ce instanceof Error?Ce.message:String(Ce)),U(Q,""),k()(`SheetSage2 cover transcription failed: ${e(Z)}`)}finally{if(ye&&ae){try{o()?.ui_management?await ho(ae):await si("/v1/tasks/unload_models",{method:"POST",body:JSON.stringify({model_ids:[ae]})}),k()("SheetSage2 unloaded after cover transcription.")}catch(Ce){const Ue=`SheetSage2 unload failed: ${Ce instanceof Error?Ce.message:String(Ce)}`;U(Z,[e(Z),Ue].filter(Boolean).join(" ")),k()(Ue)}try{await b()()}catch(Ce){const Ue=`Model status refresh failed: ${Ce instanceof Error?Ce.message:String(Ce)}`;U(Z,[e(Z),Ue].filter(Boolean).join(" ")),k()(Ue)}}U(x,!1)}}function ht(){U(E,null),e(y)&&Ya(y,e(y).value="")}function Ot(ye){U(X,ye),se("abc",ye),ye.trim()&&se("abc_file","")}async function Ct(ye){const ae=ye.trim();if(e(J)){if(!ae){e(J).replaceChildren(),ve="",U(re,"");return}if(ae!==ve&&(await $s(),!!e(J)))try{Ae||(Ae=(await ic(()=>Promise.resolve().then(()=>K5),void 0,Ei&&Ei.tagName.toUpperCase()==="SCRIPT"&&Ei.src||new URL("_app/immutable/bundle.CjKKIMTj.js",document.baseURI).href)).renderAbc),e(J).replaceChildren(),Ae(e(J),ae,{add_classes:!0,responsive:"resize"}),ve=ae,U(re,"")}catch(Ce){e(J).replaceChildren(),ve="",U(re,Ce instanceof Error?Ce.message:String(Ce))}}}We(()=>de(h()),()=>{U(r,ke(R,h()))}),We(()=>de(h()),()=>{U(n,ke(F,h()))}),We(()=>de(h()),()=>{U(i,ke(D,h()))}),We(()=>de(h()),()=>{U(c,ke(I,h()))}),We(()=>de(h()),()=>{U(s,ke(S,h()))}),We(()=>(de(f()),e(X),e(x)),()=>{String(f().abc||"")!==e(X)&&!e(x)&&U(X,String(f().abc||""))}),We(()=>e(X),()=>{Ct(e(X))}),Oc(),Xc();var at=fw(),ie=B(at),fe=B(ie),te=B(fe),ce=W(te),_e=B(ce,!0);j(ce),j(fe);var Fe=W(fe,2);sn(Fe),j(ie);var Ge=W(ie,2),Ke=B(Ge),we=B(Ke),Ee=B(we),lt=W(Ee),Yt=B(lt,!0);j(lt),j(we);var Re=W(we,2);ya(Re),j(Ke);var pt=W(Ke,2);ua(pt,1,()=>e(r),da,(ye,ae)=>{var Ce=iw(),Ue=B(Ce),aa=B(Ue,!0);j(Ue);var jt=W(Ue,2);ua(jt,5,()=>(e(ae),z(()=>e(ae).choices||[])),da,(dt,na)=>{var Ta=Lg(),Ne=B(Ta,!0);j(Ta);var Je={};pe(()=>{K(Ne,e(na)),Je!==(Je=e(na))&&(Ta.value=(Ta.__value=e(na))??"")}),oe(dt,Ta)}),j(jt);var $a;$r(jt);var Gi=W(jt,2);{var Pt=dt=>{var na=Vg(),Ta=B(na,!0);j(na),pe(Ne=>K(Ta,Ne),[()=>(de(T()),e(ae),de(w()),z(()=>T()(e(ae),"info",w())))]),oe(dt,na)},Ht=Si(()=>(de(T()),e(ae),de(w()),z(()=>T()(e(ae),"info",w()))));$e(Gi,dt=>{e(Ht)&&dt(Pt)})}j(Ce),pe((dt,na)=>{qe(Ue,"for",(e(ae),z(()=>"param-"+e(ae).name))),K(aa,dt),qe(jt,"id",(e(ae),z(()=>"param-"+e(ae).name))),$a!==($a=na)&&(jt.value=(jt.__value=na)??"",ar(jt,na))},[()=>(de(T()),e(ae),de(w()),z(()=>T()(e(ae),"label",w()))),()=>(de(f()),e(ae),z(()=>String(f()[e(ae).name]??"")))]),Te("change",jt,dt=>N()(e(ae),dt.currentTarget.value)),oe(ye,Ce)}),j(Ge);var fa=W(Ge,2);{var wt=ye=>{var ae=nw(),Ce=B(ae),Ue=W(B(Ce),2);ya(Ue);var aa=W(Ue,2);Pi(aa,Ne=>U(V,Ne),()=>e(V));var jt=W(aa,2),$a=B(jt),Gi=B($a,!0);j($a);var Pt=W($a,2);j(jt);var Ht=W(jt,4);{var dt=Ne=>{var Je=Ig(),va=B(Je,!0);j(Je),pe(()=>K(va,e($))),oe(Ne,Je)};$e(Ht,Ne=>{e($)&&Ne(dt)})}j(Ce);var na=W(Ce,2),Ta=W(B(na),2);ya(Ta),j(na),j(ae),pe((Ne,Je)=>{Ue.disabled=_()||m(),Ai(Ue,Ne),aa.disabled=_()||m(),$a.disabled=_()||m(),K(Gi,m()?"Uploading...":"Choose AR LoRA"),Pt.disabled=(de(_()),de(m()),de(f()),z(()=>_()||m()||!f().ar_lora)),Ta.disabled=(de(_()),de(m()),de(f()),z(()=>_()||m()||!f().ar_lora)),Ai(Ta,Je)},[()=>(de(f()),z(()=>String(f().ar_lora??""))),()=>(de(f()),z(()=>Number(f().ar_lora_scale??1)))]),Te("input",Ue,Ne=>se("ar_lora",Ne.currentTarget.value.trim())),Te("change",aa,Ne=>P(Ne.currentTarget.files?.[0]||null,"ar")),Te("click",$a,()=>e(V)?.click()),Te("click",Pt,()=>{se("ar_lora",""),U($,"")}),Te("change",Ta,Ne=>{Number.isFinite(Ne.currentTarget.valueAsNumber)&&se("ar_lora_scale",Ne.currentTarget.valueAsNumber)}),oe(ye,ae)},hi=Si(()=>z(()=>Me("ar_lora")));$e(fa,ye=>{e(hi)&&ye(wt)})}var Sa=W(fa,2);{var Ca=ye=>{var ae=rw(),Ce=B(ae),Ue=W(B(Ce),2);ya(Ue);var aa=W(Ue,2);Pi(aa,Ne=>U(G,Ne),()=>e(G));var jt=W(aa,2),$a=B(jt),Gi=B($a,!0);j($a);var Pt=W($a,2);j(jt);var Ht=W(jt,2);{var dt=Ne=>{var Je=Ig(),va=B(Je,!0);j(Je),pe(()=>K(va,e(C))),oe(Ne,Je)};$e(Ht,Ne=>{e(C)&&Ne(dt)})}yr(2),j(Ce);var na=W(Ce,2),Ta=W(B(na),2);ya(Ta),yr(2),j(na),j(ae),pe((Ne,Je)=>{Ue.disabled=_()||m(),Ai(Ue,Ne),aa.disabled=_()||m(),$a.disabled=_()||m(),K(Gi,m()?"Uploading...":"Choose NAR LoRA"),Pt.disabled=(de(_()),de(m()),de(f()),z(()=>_()||m()||!f().nar_lora)),Ta.disabled=(de(_()),de(f()),z(()=>_()||!f().nar_lora)),Ai(Ta,Je)},[()=>(de(f()),z(()=>String(f().nar_lora??""))),()=>(de(f()),z(()=>Number(f().nar_lora_scale??1)))]),Te("input",Ue,Ne=>se("nar_lora",Ne.currentTarget.value.trim())),Te("change",aa,Ne=>P(Ne.currentTarget.files?.[0]||null,"nar")),Te("click",$a,()=>e(G)?.click()),Te("click",Pt,()=>{se("nar_lora",""),U(C,"")}),Te("change",Ta,Ne=>{Number.isFinite(Ne.currentTarget.valueAsNumber)&&se("nar_lora_scale",Ne.currentTarget.valueAsNumber)}),oe(ye,ae)},ha=Si(()=>z(()=>Me("nar_lora")));$e(Sa,ye=>{e(ha)&&ye(Ca)})}var La=W(Sa,2);ua(La,5,()=>e(n),da,(ye,ae)=>{var Ce=cw();let Ue;var aa=B(Ce),jt=B(aa,!0);j(aa);var $a=W(aa,2);{var Gi=Ne=>{var Je=sw();ua(Je,5,()=>(e(ae),z(()=>e(ae).choices||[])),da,(Ja,Pn)=>{var Vi=Lg(),Cr=B(Vi,!0);j(Vi);var js={};pe(()=>{K(Cr,e(Pn)),js!==(js=e(Pn))&&(Vi.value=(Vi.__value=e(Pn))??"")}),oe(Ja,Vi)}),j(Je);var va;$r(Je),pe(Ja=>{qe(Je,"id",(e(ae),z(()=>"param-"+e(ae).name))),va!==(va=Ja)&&(Je.value=(Je.__value=Ja)??"",ar(Je,Ja))},[()=>(de(f()),e(ae),z(()=>String(f()[e(ae).name]??"")))]),Te("change",Je,Ja=>N()(e(ae),Ja.currentTarget.value)),oe(Ne,Je)},Pt=Ne=>{var Je=tu(),va=B(Je);ya(va);var Ja=W(va,2),Pn=B(Ja,!0);j(Ja),j(Je),pe((Vi,Cr)=>{qe(va,"id",(e(ae),z(()=>"param-"+e(ae).name))),qe(va,"min",(e(ae),z(()=>e(ae).minimum))),qe(va,"max",(e(ae),z(()=>e(ae).maximum))),qe(va,"step",(e(ae),z(()=>e(ae).step))),Ai(va,Vi),K(Pn,Cr)},[()=>(de(f()),e(ae),z(()=>Number(f()[e(ae).name]??e(ae).default))),()=>(de(f()),e(ae),z(()=>String(f()[e(ae).name])))]),Te("input",va,Vi=>N()(e(ae),Vi.currentTarget.valueAsNumber)),oe(Ne,Je)},Ht=Ne=>{var Je=ow();ya(Je),pe((va,Ja)=>{qe(Je,"id",(e(ae),z(()=>"param-"+e(ae).name))),qe(Je,"type",(e(ae),z(()=>e(ae).type==="number"?"number":"text"))),qe(Je,"min",(e(ae),z(()=>e(ae).minimum))),qe(Je,"max",(e(ae),z(()=>e(ae).maximum))),qe(Je,"step",(e(ae),z(()=>e(ae).step))),Ai(Je,va),qe(Je,"placeholder",Ja)},[()=>(de(f()),e(ae),z(()=>String(f()[e(ae).name]??""))),()=>(de(T()),e(ae),de(w()),z(()=>T()(e(ae),"placeholder",w())))]),Te("input",Je,va=>N()(e(ae),e(ae).type==="number"?va.currentTarget.valueAsNumber:va.currentTarget.value)),oe(Ne,Je)};$e($a,Ne=>{e(ae),z(()=>e(ae).type==="choice")?Ne(Gi):(e(ae),z(()=>e(ae).type==="slider")?Ne(Pt,1):Ne(Ht,-1))})}var dt=W($a,2);{var na=Ne=>{var Je=Vg(),va=B(Je,!0);j(Je),pe(Ja=>K(va,Ja),[()=>(de(T()),e(ae),de(w()),z(()=>T()(e(ae),"info",w())))]),oe(Ne,Je)},Ta=Si(()=>(de(T()),e(ae),de(w()),z(()=>T()(e(ae),"info",w()))));$e(dt,Ne=>{e(Ta)&&Ne(na)})}j(Ce),pe(Ne=>{Ue=ja(Ce,1,"yue2-field svelte-15djq8z",null,Ue,{wide:e(ae).type==="text"}),qe(aa,"for",(e(ae),z(()=>"param-"+e(ae).name))),K(jt,Ne)},[()=>(de(T()),e(ae),de(w()),z(()=>T()(e(ae),"label",w())))]),oe(ye,Ce)}),j(La);var ta=W(La,2),di=B(ta),_i=W(B(di)),An=B(_i,!0);j(_i),j(di);var Xa=W(di,2),ui=B(Xa),Ni=B(ui),oi=W(B(Ni),2),En=B(oi,!0);j(oi),j(Ni);var Mt=W(Ni,2),Mi=B(Mt);ya(Mi),yr(2),j(Mt);var zi=W(Mt,4);Pi(zi,ye=>U(y,ye),()=>e(y));var Rn=W(zi,2),as=W(B(Rn),2),Ti=B(as,!0);j(as),j(Rn);var Ji=W(Rn,2),dn=B(Ji),un=W(dn,2);{var Pa=ye=>{var ae=lw(),Ce=B(ae,!0);j(ae),pe(()=>K(Ce,e(Q))),oe(ye,ae)};$e(un,ye=>{e(Q)&&ye(Pa)})}var vi=W(un,2);{var Va=ye=>{var ae=Og(),Ce=B(ae,!0);j(ae),pe(()=>K(Ce,e(Z))),oe(ye,ae)};$e(vi,ye=>{e(Z)&&ye(Va)})}j(Ji);var xt=W(Ji,2);{let ye=ri(()=>(de(w()),z(()=>w()("file.preview"))));Gr(xt,{get file(){return e(E)},kind:"audio",get label(){return e(ye)}})}j(ui);var Za=W(ui,2),bi=W(B(Za),2);sn(bi);var Fr=W(bi,2);{var sr=ye=>{var ae=dw(),Ce=B(ae),Ue=B(Ce,!0);j(Ce);var aa=W(Ce,2);ya(aa),j(ae),pe((jt,$a,Gi)=>{K(Ue,jt),Ai(aa,$a),qe(aa,"placeholder",Gi)},[()=>(de(T()),de(w()),z(()=>T()(Me("abc_file"),"label",w()))),()=>(de(f()),z(()=>String(f().abc_file??""))),()=>(de(T()),de(w()),z(()=>T()(Me("abc_file"),"placeholder",w())))]),Te("input",aa,jt=>se("abc_file",jt.currentTarget.value)),oe(ye,ae)},or=Si(()=>z(()=>Me("abc_file")));$e(Fr,ye=>{e(or)&&ye(sr)})}j(Za);var qi=W(Za,2),cr=W(B(qi),2),zt=B(cr);{var Di=ye=>{var ae=uw();oe(ye,ae)},Li=Si(()=>(e(X),z(()=>!e(X).trim())));$e(zt,ye=>{e(Li)&&ye(Di)})}j(cr),Pi(cr,ye=>U(J,ye),()=>e(J));var Cs=W(cr,2);{var lr=ye=>{var ae=Og(),Ce=B(ae,!0);j(ae),pe(()=>K(Ce,e(re))),oe(ye,ae)};$e(Cs,ye=>{e(re)&&ye(lr)})}j(qi),j(Xa),j(ta);var dr=W(ta,2),O=B(dr),Ar=W(B(O)),lc=B(Ar,!0);j(Ar),j(O);var is=W(O,2);ua(is,5,()=>e(c),da,(ye,ae)=>{var Ce=Qg(),Ue=B(Ce),aa=B(Ue,!0);j(Ue);var jt=W(Ue,2);{var $a=Pt=>{var Ht=tu(),dt=B(Ht);ya(dt);var na=W(dt,2),Ta=B(na,!0);j(na),j(Ht),pe((Ne,Je)=>{qe(dt,"id",(e(ae),z(()=>"param-"+e(ae).name))),qe(dt,"min",(e(ae),z(()=>e(ae).minimum))),qe(dt,"max",(e(ae),z(()=>e(ae).maximum))),qe(dt,"step",(e(ae),z(()=>e(ae).step))),Ai(dt,Ne),K(Ta,Je)},[()=>(de(f()),e(ae),z(()=>Number(f()[e(ae).name]??e(ae).default))),()=>(de(f()),e(ae),z(()=>String(f()[e(ae).name])))]),Te("input",dt,Ne=>N()(e(ae),Ne.currentTarget.valueAsNumber)),oe(Pt,Ht)},Gi=Pt=>{var Ht=Hg();ya(Ht),pe(dt=>{qe(Ht,"id",(e(ae),z(()=>"param-"+e(ae).name))),qe(Ht,"min",(e(ae),z(()=>e(ae).minimum))),qe(Ht,"max",(e(ae),z(()=>e(ae).maximum))),qe(Ht,"step",(e(ae),z(()=>e(ae).step))),Ai(Ht,dt)},[()=>(de(f()),e(ae),z(()=>String(f()[e(ae).name]??"")))]),Te("input",Ht,dt=>N()(e(ae),dt.currentTarget.valueAsNumber)),oe(Pt,Ht)};$e(jt,Pt=>{e(ae),z(()=>e(ae).type==="slider")?Pt($a):Pt(Gi,-1)})}j(Ce),pe(Pt=>{qe(Ue,"for",(e(ae),z(()=>"param-"+e(ae).name))),K(aa,Pt)},[()=>(de(T()),e(ae),de(w()),z(()=>T()(e(ae),"label",w())))]),oe(ye,Ce)}),j(is),j(dr);var ns=W(dr,2),Bn=B(ns),Ms=W(B(Bn)),bo=B(Ms,!0);j(Ms),j(Bn);var zs=W(Bn,2);ua(zs,5,()=>e(s),da,(ye,ae)=>{var Ce=Qg(),Ue=B(Ce),aa=B(Ue,!0);j(Ue);var jt=W(Ue,2);{var $a=Pt=>{var Ht=tu(),dt=B(Ht);ya(dt);var na=W(dt,2),Ta=B(na,!0);j(na),j(Ht),pe((Ne,Je)=>{qe(dt,"id",(e(ae),z(()=>"param-"+e(ae).name))),qe(dt,"min",(e(ae),z(()=>e(ae).minimum))),qe(dt,"max",(e(ae),z(()=>e(ae).maximum))),qe(dt,"step",(e(ae),z(()=>e(ae).step))),Ai(dt,Ne),K(Ta,Je)},[()=>(de(f()),e(ae),z(()=>Number(f()[e(ae).name]??e(ae).default))),()=>(de(f()),e(ae),z(()=>String(f()[e(ae).name])))]),Te("input",dt,Ne=>N()(e(ae),Ne.currentTarget.valueAsNumber)),oe(Pt,Ht)},Gi=Pt=>{var Ht=Hg();ya(Ht),pe(dt=>{qe(Ht,"id",(e(ae),z(()=>"param-"+e(ae).name))),qe(Ht,"min",(e(ae),z(()=>e(ae).minimum))),qe(Ht,"max",(e(ae),z(()=>e(ae).maximum))),qe(Ht,"step",(e(ae),z(()=>e(ae).step))),Ai(Ht,dt)},[()=>(de(f()),e(ae),z(()=>String(f()[e(ae).name]??"")))]),Te("input",Ht,dt=>N()(e(ae),dt.currentTarget.valueAsNumber)),oe(Pt,Ht)};$e(jt,Pt=>{e(ae),z(()=>e(ae).type==="slider")?Pt($a):Pt(Gi,-1)})}j(Ce),pe(Pt=>{qe(Ue,"for",(e(ae),z(()=>"param-"+e(ae).name))),K(aa,Pt)},[()=>(de(T()),e(ae),de(w()),z(()=>T()(e(ae),"label",w())))]),oe(ye,Ce)}),j(zs),j(ns),j(at),pe((ye,ae,Ce,Ue,aa)=>{K(te,`${ye??""} `),K(_e,ae),K(Ee,`${Ce??""} `),K(Yt,Ue),K(An,(e(i),z(()=>e(i).length))),oi.disabled=!e(E)||e(x),K(En,e(x)?"Transcribing...":"Extract ABC"),pd(Mi,e(L)),Mi.disabled=e(x),K(Ti,aa),dn.disabled=!e(E)||e(x),Ai(bi,e(X)),K(lc,(e(c),z(()=>e(c).length))),K(bo,(e(s),z(()=>e(s).length)))},[()=>(de(w()),z(()=>w()("request.lyrics"))),()=>(de(w()),z(()=>w()("voice.required"))),()=>(de(w()),z(()=>w()("request.seed"))),()=>(de(w()),z(()=>w()("request.randomSeed"))),()=>(e(E),de(w()),z(()=>e(E)?.name||w()("file.none")))]),Ka(Fe,d),Ka(Re,p),Te("click",oi,Bt),Te("change",Mi,ye=>{U(L,ye.currentTarget.checked),localStorage.setItem(q,String(e(L)))}),Te("change",zi,ye=>U(E,ye.currentTarget.files?.[0]||null)),Te("click",dn,ht),Te("input",bi,ye=>Ot(ye.currentTarget.value)),oe(t,at),_s()}const mw={yue2:{component:pw,requestMode:"yue2",replacesGenericControls:{packageButtons:!0,text:!0,genSource:!0,language:!0,seed:!0,duration:!0,params:!0,advancedJson:!0}}};function gw(t){if(t)return mw[t]}var hw=ge(' ',1),au=ge(" "),_w=ge('
',1),vw=ge(' ',1),bw=ge('
'),rc=ge(""),yw=ge('
'),kw=ge('
',1),ww=ge(' ',1),xw=ge('
'),Sw=ge('
'),$w=ge('
'),Tw=ge('

'),qw=ge(''),Gw=ge('
 
'),Fw=ge('
'),Aw=ge("

"),Cw=ge('

'),Mw=ge("
"),zw=ge('
'),jw=ge('
~

'),Uw=ge('

JSON

',1);function Ew(t,a){hs(a,!1);const r=le();let n=Rt(a,"activeCatalog",24,()=>[]),i=Rt(a,"loadedModels",24,()=>[]),c=Rt(a,"server",8,null),s=Rt(a,"modelsFolder",8,""),d=Rt(a,"maxTokens",8,1024),p=Rt(a,"entrySelectable",8,()=>!0),m=Rt(a,"studioPackageSlots",8,()=>[]),_=Rt(a,"packageIsAvailable",8,()=>!1),h=Rt(a,"packageSessionOptionsMatch",8,()=>!0),f=Rt(a,"supportsMaxTokens",8,()=>!1),u=Rt(a,"supportsRequestOption",8,()=>!1),l=Rt(a,"requiresRequestOption",8,()=>!1),o=Rt(a,"refresh",8,async()=>{}),g=Rt(a,"log",8,()=>{}),v=Rt(a,"tr",8,(ee,he,be=ee)=>be);class b extends Error{}let k=le("tts"),w=le(""),T=le(""),N=le(""),R=le(""),F=le(1234),D=le(null),I=le(null),S=le(""),E=le("default"),V=le(""),G=le(null),$=le(null),C=le(""),A=le("{}"),P=le([]),y=le(!1),x=null,q=le(""),L=le([]),Q=le(),Z=le([]),X=le([]),J=le([]),ve=le([]),re=le(""),Ae=le(""),ke=le("");const Me={demo_1_man:"demo_1_man",demo_2_man:"demo_2_man",demo_3_woman:"demo_3_woman",demo_4_woman:"demo_4_woman"};async function se(){try{U(J,await Vd())}catch(ee){U(J,[]),g()(`Arena voices unavailable: ${ee instanceof Error?ee.message:ee}`)}}function je(ee){if(!s())return ee;const he=ee.replace(/\\/g,"/");if(he==="models")return s();if(!he.startsWith("models/"))return ee;const be=he.slice(7),Se=s().includes("\\")?"\\":"/";return`${s().replace(/[\\/]+$/,"")}${Se}${be.replace(/\//g,Se)}`}function ue(ee){return ee.replace(/\\/g,"/").replace(/\/$/,"").toLowerCase()}function Oe(ee,he){return c()&&!c().ui_management?ee.path:je(he?.path||ee.path)}function Ze(ee,he){return{...ee.session_options||{},...he?.session_options||{}}}function Bt(ee){if(!Number.isInteger(ee)||ee<-1||ee>4294967295)throw new Error(v()("arena.error.seed"));if(ee>=0)return ee;const he=new Uint32Array(1);return globalThis.crypto.getRandomValues(he),he[0]}function ht(ee){return["clon","vc","svc"].includes(ee.task)&&ee.family!=="rvc"||ee.task==="s2s"&&ee.family==="personaplex"||ee.task==="tts"&&!["supertonic"].includes(ee.family)}function Ot(ee){return["clon","vc","svc"].includes(ee.task)&&ee.family!=="rvc"}function Ct(ee){return ee.task==="tts"&&ee.family==="qwen3_tts"&&!ee.id.includes("custom")}function at(ee,he){return l()(ee,"reference_text")||he&&Ct(ee)}function ie(ee){return e(k)==="vc"&&ee.task==="vc"&&ee.family!=="rvc"}function fe(){return e(k)==="tts"&&e(E)==="builtin"&&e(V)?Me[e(V)]||e(V):""}function te(ee){return ee.normalize("NFKC").toLowerCase().replace(/[^\p{L}\p{N}']+/gu," ").trim().split(/\s+/).filter(Boolean)}function ce(ee,he){const be=te(ee),Se=te(he);if(!be.length)return"";const De=Array.from({length:Se.length+1},(rt,Pe)=>Pe),ze=new Array(Se.length+1);for(let rt=1;rt<=be.length;rt+=1){ze[0]=rt;for(let Pe=1;Pe<=Se.length;Pe+=1){const Qt=De[Pe-1]+(be[rt-1]===Se[Pe-1]?0:1),ma=De[Pe]+1,Kt=ze[Pe-1]+1;ze[Pe]=Math.min(Qt,ma,Kt)}for(let Pe=0;Pe<=Se.length;Pe+=1)De[Pe]=ze[Pe]}return`${(De[Se.length]/be.length*100).toFixed(2)}%`}function _e(ee){const he=Number.parseFloat(ee);return Number.isFinite(he)?he:Number.POSITIVE_INFINITY}function Fe(ee,he){const be=ee.status==="done",Se=he.status==="done";if(be!==Se)return be?-1:1;if(be&&Se){const De=_e(ee.rtf)-_e(he.rtf);if(De!==0)return De}return e(P).indexOf(ee)-e(P).indexOf(he)}function Ge(ee){return v()(`arena.itemStatus.${ee}`,{},ee)}function Ke(ee){U(E,ee),ee!=="reference"&&(U(G,null),U(C,""),e($)&&Ya($,e($).value="")),ee!=="builtin"&&U(V,"")}function we(ee){U(G,ee),ee&&U(E,"reference")}function Ee(){U(D,null),e(I)&&Ya(I,e(I).value="")}function lt(){U(E,"default"),U(V,""),U(G,null),U(C,""),e($)&&Ya($,e($).value="")}function Yt(ee){return n().find(he=>he.id===ee.entryId)}function Re(ee,he){return(ee.install_packages||[]).find(be=>be.id===he.packageId)}function pt(ee,he){U(P,e(P).map(be=>be.id===ee?{...be,...he}:be))}function fa(){for(const ee of e(P))ee.outputUrl&&URL.revokeObjectURL(ee.outputUrl);U(P,e(P).map(ee=>({...ee,status:"queued",note:"",error:"",outputUrl:"",outputText:"",wallMs:"",rtf:"",wer:""})))}function wt(){for(const ee of e(P))ee.outputUrl&&URL.revokeObjectURL(ee.outputUrl);U(P,[])}function hi(){if(!e(Q))return;const ee=e(Z).find(be=>be.id===e(T));if(e(P).some(be=>be.entryId===e(Q)?.id&&be.packageId===ee?.id)){U(q,v()("arena.status.duplicate",{model:e(Q).display_name,package:ee?.label||""}));return}U(P,[...e(P),{id:crypto.randomUUID(),entryId:e(Q).id,packageId:ee?.id,label:e(Q).display_name,packageLabel:ee?.label||v()("arena.package.configured"),status:"queued",note:"",error:"",outputUrl:"",outputText:"",wallMs:"",rtf:"",wer:""}])}function Sa(ee){const he=e(P).find(be=>be.id===ee);he?.outputUrl&&URL.revokeObjectURL(he.outputUrl),U(P,e(P).filter(be=>be.id!==ee))}function Ca(){try{const ee=JSON.parse(e(A)||"{}");if(Array.isArray(ee)||ee===null)throw new Error(v()("arena.error.jsonObject"));return ee}catch(ee){throw new Error(v()("arena.error.invalidJson",{error:ee instanceof Error?ee.message:String(ee)}))}}async function ha(ee){if(!ee)return;const he=await pl(ee);return Id(he,x?.signal)}async function La(ee,he){if(!c()?.ui_management){if(!i().some(ze=>ze.id===ee.id&&ze.loaded))throw new Error(v()("arena.error.unregistered"));return}if(he&&!_()(ee,he))throw new b(v()("arena.error.notDownloaded",{package:he.label}));const be=Oe(ee,he);if(i().find(ze=>ze.id===ee.id&&ze.loaded&&ue(ze.path)===ue(be)&&(!he||h()(ee,he,ze))))return;const De=i().filter(ze=>ze.loaded&&(ze.id!==ee.id||ue(ze.path)!==ue(be)));for(const ze of De)await ho(ze.id);if(De.length&&await o()(),await Ld({id:ee.id,path:be,family:ee.family,task:ee.task,mode:ee.mode||"offline",load_options:ee.load_options||{},session_options:Ze(ee,he)}),await o()(),!i().some(ze=>ze.id===ee.id&&ze.loaded&&ue(ze.path)===ue(be)&&(!he||h()(ee,he,ze))))throw new Error(v()("arena.error.loadFailed"))}async function ta(ee,he){const be=Yt(ee);if(!be){pt(ee.id,{status:"failed",error:v()("arena.error.missingCatalog")});return}const Se=Re(be,ee),De=performance.now();try{pt(ee.id,{status:"loading",note:v()("arena.status.loadingModel"),error:""}),await La(be,Se),pt(ee.id,{status:"running",note:v()("arena.status.runningRequest")});const ze={...be.default_options||{},...he},rt=fe(),Pe=e(E)==="reference"&&!!e(G);if(ie(be)&&!Pe){pt(ee.id,{status:"skipped",note:v()("arena.note.skippedTargetVoice"),error:""});return}if(e(k)==="tts"&&at(be,Pe)&&!e(C).trim()){pt(ee.id,{status:"skipped",note:v()("arena.note.skippedReferenceText"),error:""});return}const ma=Pe&&ht(be)?await ha(e(G)):void 0;let Kt="";if(rt)Kt=v()("arena.note.builtinVoice",{voice:e(V)});else if(Pe&&ma)Kt=v()("arena.note.referenceVoice");else if(Pe&&!ht(be))Kt=v()("arena.note.referenceUnsupported");else if(be.default_voice)Kt=v()("arena.note.defaultVoice",{voice:be.default_voice});else if(Ot(be)&&!rt){pt(ee.id,{status:"skipped",note:v()("arena.note.skippedReferenceVoice"),error:""});return}if(e(k)==="tts"){if(!e(N).trim())throw new b(v()("arena.error.enterTtsText"));const Nt={model:be.id,input:e(N),language:e(R),seed:Bt(e(F)),options:ze};f()(be)&&(Nt.max_tokens=d()),ma?Nt.voice_ref=ma:rt?Nt.voice=rt:be.default_voice&&(Nt.voice=be.default_voice),Pe&&e(C).trim()&&u()(be,"reference_text")&&(Nt.reference_text=e(C));const Da=await Gg(Nt,x?.signal);pt(ee.id,{status:"done",note:Kt,outputUrl:URL.createObjectURL(Da.blob),wallMs:Da.wallMs||`${(performance.now()-De).toFixed(1)}`,rtf:Da.rtf||""});return}if(e(k)==="asr"){const Nt=await ha(e(D));if(!Nt)throw new b(v()("arena.error.chooseAsrSource"));const Da=await Hd({model:be.id,audio:Nt,language:e(R),options:ze},x?.signal),ci=typeof Da.text=="string"?Da.text:"",en=Da.timing;pt(ee.id,{status:"done",note:Kt,outputText:ci,wallMs:typeof en?.wall_ms=="number"?String(en.wall_ms):"",rtf:typeof en?.rtf=="number"?String(en.rtf):"",wer:e(S).trim()?ce(e(S),ci):""});return}const Ea=await ha(e(D));if(!Ea)throw new b(v()("arena.error.chooseVcSource"));const Ma={audio:Ea,seed:Bt(e(F)),options:ze};e(N).trim()&&(Ma.text=e(N)),e(R).trim()&&(Ma.language=e(R)),ma?Ma.voice_ref=ma:rt&&(Ma.voice_id=rt);const ba=await hl({model:be.id,request:Ma},x?.signal),fi=typeof ba.audio=="string"?ba.audio:Array.isArray(ba.named_audio_outputs)&&typeof ba.named_audio_outputs[0]?.audio=="string"?ba.named_audio_outputs[0].audio:"";if(!fi)throw new Error(v()("arena.error.noAudio"));const Ia=ba.timing;pt(ee.id,{status:"done",note:Kt,outputUrl:Qd(fi),wallMs:typeof Ia?.wall_ms=="number"?String(Ia.wall_ms):"",rtf:typeof Ia?.rtf=="number"?String(Ia.rtf):""})}catch(ze){pt(ee.id,{status:ze instanceof b?"skipped":"failed",error:ze instanceof Error?ze.message:String(ze),note:""}),g()(`Arena row failed: ${ze instanceof Error?ze.message:ze}`)}}async function di(){if(!e(y)){if(!e(P).length){U(q,v()("arena.status.addModel"));return}U(y,!0),x=new AbortController,fa(),U(q,v()("arena.status.running",{mode:e(ke)})),g()(e(q));try{const ee=Ca();for(const he of e(P)){if(x?.signal.aborted)break;await ta(he,ee)}U(q,v()("arena.status.complete")),g()(e(q))}catch(ee){U(q,ee instanceof Error?ee.message:String(ee))}finally{U(y,!1),x=null}}}function _i(){x?.abort()}Zc(()=>{x?.abort();for(const ee of e(P))ee.outputUrl&&URL.revokeObjectURL(ee.outputUrl)}),Ts(se),We(()=>(de(n()),e(k)),()=>{U(L,n().filter(ee=>e(k)==="tts"?["tts","clon"].includes(ee.task):e(k)==="vc"?ee.task==="vc":ee.task==="asr"))}),We(()=>(e(w),e(L)),()=>{(!e(w)||!e(L).some(ee=>ee.id===e(w)))&&U(w,e(L)[0]?.id||"")}),We(()=>(e(L),e(w)),()=>{U(Q,e(L).find(ee=>ee.id===e(w))||e(L)[0])}),We(()=>(e(Q),de(m())),()=>{U(Z,e(Q)?m()(e(Q)).map(ee=>ee.choice).filter(ee=>!!ee):[])}),We(()=>(e(Z),e(T)),()=>{e(Z).length&&!e(Z).some(ee=>ee.id===e(T))&&U(T,e(Z)[0].id)}),We(()=>e(J),()=>{U(ve,[...e(J)].sort((ee,he)=>ee.localeCompare(he,"en",{sensitivity:"base",numeric:!0})))}),We(()=>(e(E),e(ve)),()=>{e(E)==="builtin"&&!e(ve).length&&U(E,"default")}),We(()=>(e(k),e(E)),()=>{e(k)==="vc"&&e(E)!=="reference"&&(U(E,"reference"),U(V,""))}),We(()=>(e(E),e(ve),e(V)),()=>{e(E)==="builtin"&&!e(ve).includes(e(V))&&U(V,e(ve)[0]||"")}),We(()=>(e(E),e(V),gl),()=>{U(r,e(E)==="builtin"&&e(V)?gl(e(V)):"")}),We(()=>(e(k),de(v())),()=>{U(re,e(k)==="tts"?v()("arena.title.tts"):e(k)==="vc"?v()("arena.title.vc"):v()("arena.title.asr"))}),We(()=>(e(k),de(v())),()=>{U(Ae,e(k)==="tts"?v()("arena.subtitle.tts"):e(k)==="vc"?v()("arena.subtitle.vc"):v()("arena.subtitle.asr"))}),We(()=>(e(k),de(v())),()=>{U(ke,e(k)==="tts"?v()("arena.mode.tts"):e(k)==="vc"?v()("arena.mode.vc"):v()("arena.mode.asr"))}),We(()=>e(P),()=>{U(X,e(P).every(ee=>["done","failed","skipped"].includes(ee.status))?[...e(P)].sort(Fe):e(P))}),Oc();var An={runArena:di};Xc();var Xa=Uw(),ui=It(Xa),Ni=B(ui),oi=B(Ni),En=B(oi,!0);j(oi);var Mt=W(oi,2),Mi=B(Mt,!0);j(Mt);var zi=W(Mt,2),Rn=B(zi,!0);j(zi),j(Ni);var as=W(Ni,2),Ti=B(as);let Ji;var dn=B(Ti,!0);j(Ti);var un=W(Ti,2);let Pa;var vi=B(un,!0);j(un);var Va=W(un,2);let xt;var Za=B(Va,!0);j(Va),j(as),j(ui);var bi=W(ui,2),Fr=B(bi),sr=B(Fr),or=B(sr),qi=B(or),cr=B(qi,!0);j(qi);var zt=W(qi),Di=B(zt,!0);j(zt),j(or);var Li=W(or,2),Cs=B(Li,!0);j(Li),j(sr);var lr=W(sr,2);{var dr=ee=>{var he=hw(),be=It(he),Se=B(be,!0);j(be);var De=W(be,2);sn(De),pe((ze,rt)=>{K(Se,ze),qe(De,"placeholder",rt)},[()=>(de(v()),z(()=>v()("request.text"))),()=>(de(v()),z(()=>v()("arena.input.textPlaceholder")))]),Ka(De,()=>e(N),ze=>U(N,ze)),oe(ee,he)},O=ee=>{var he=_w(),be=It(he),Se=B(be,!0);j(be);var De=W(be,2);Pi(De,Nt=>U(I,Nt),()=>e(I));var ze=W(De,2),rt=B(ze),Pe=B(rt,!0);j(rt);var Qt=W(rt),ma=B(Qt,!0);j(Qt),j(ze);var Kt=W(ze,2),Ea=B(Kt),Ma=B(Ea,!0);j(Ea);var ba=W(Ea,2);{var fi=Nt=>{var Da=au(),ci=B(Da,!0);j(Da),pe(()=>K(ci,(e(D),z(()=>e(D).name)))),oe(Nt,Da)};$e(ba,Nt=>{e(D)&&Nt(fi)})}j(Kt);var Ia=W(Kt,2);{let Nt=ri(()=>(de(v()),z(()=>v()("file.preview"))));Gr(Ia,{get file(){return e(D)},kind:"audio",get label(){return e(Nt)}})}pe((Nt,Da,ci,en)=>{K(Se,Nt),K(Pe,Da),K(ma,ci),Ea.disabled=!e(D),K(Ma,en)},[()=>(de(v()),z(()=>v()("request.sourceAudio"))),()=>(de(v()),z(()=>v()("file.choose"))),()=>(e(D),de(v()),z(()=>e(D)?.name||v()("file.none"))),()=>(de(v()),z(()=>v()("file.clear")))]),Te("change",De,Nt=>U(D,Nt.currentTarget.files?.[0]||null)),Te("click",Ea,Ee),oe(ee,he)};$e(lr,ee=>{e(k)==="tts"?ee(dr):ee(O,-1)})}var Ar=W(lr,2);{var lc=ee=>{var he=vw(),be=It(he),Se=B(be),De=W(Se),ze=B(De,!0);j(De),j(be);var rt=W(be,2);sn(rt),pe((Pe,Qt,ma)=>{K(Se,`${Pe??""} `),K(ze,Qt),qe(rt,"placeholder",ma)},[()=>(de(v()),z(()=>v()("arena.input.groundTruth"))),()=>(de(v()),z(()=>v()("request.optional"))),()=>(de(v()),z(()=>v()("arena.input.groundTruthPlaceholder")))]),Ka(rt,()=>e(S),Pe=>U(S,Pe)),oe(ee,he)};$e(Ar,ee=>{e(k)==="asr"&&ee(lc)})}var is=W(Ar,2),ns=B(is),Bn=B(ns),Ms=B(Bn),bo=W(Ms),zs=B(bo,!0);j(bo),j(Bn);var ye=W(Bn,2);ya(ye),j(ns);var ae=W(ns,2);{var Ce=ee=>{var he=bw(),be=B(he),Se=B(be,!0);j(be);var De=W(be,2);ya(De),j(he),pe(ze=>K(Se,ze),[()=>(de(v()),z(()=>v()("request.seed")))]),Ka(De,()=>e(F),ze=>U(F,ze)),oe(ee,he)};$e(ae,ee=>{e(k)!=="asr"&&ee(Ce)})}j(is);var Ue=W(is,2);{var aa=ee=>{var he=yw(),be=B(he),Se=B(be),De=B(Se),ze=W(De),rt=B(ze,!0);j(ze),j(Se);var Pe=W(Se,2),Qt=B(Pe),ma=B(Qt,!0);j(Qt),Qt.value=Qt.__value="default";var Kt=W(Qt);{var Ea=Oi=>{var ei=rc(),pn=B(ei,!0);j(ei),ei.value=ei.__value="builtin",pe(ka=>K(pn,ka),[()=>(de(v()),z(()=>v()("arena.voice.builtin")))]),oe(Oi,ei)};$e(Kt,Oi=>{e(ve),z(()=>e(ve).length)&&Oi(Ea)})}var Ma=W(Kt),ba=B(Ma,!0);j(Ma),Ma.value=Ma.__value="reference",j(Pe);var fi;$r(Pe),j(be);var Ia=W(be,2),Nt=B(Ia),Da=B(Nt),ci=W(Da),en=B(ci,!0);j(ci),j(Nt);var Ln=W(Nt,2);sn(Ln),j(Ia),j(he),pe((Oi,ei,pn,ka,Oa,mn)=>{K(De,`${Oi??""} `),K(rt,ei),K(ma,pn),K(ba,ka),fi!==(fi=e(E))&&(Pe.value=(Pe.__value=e(E))??"",ar(Pe,e(E))),K(Da,`${Oa??""} `),K(en,mn)},[()=>(de(v()),z(()=>v()("arena.voice.label"))),()=>(de(v()),z(()=>v()("arena.shared"))),()=>(de(v()),z(()=>v()("arena.voice.modelDefault"))),()=>(de(v()),z(()=>v()("arena.voice.reference"))),()=>(de(v()),z(()=>v()("voice.referenceText"))),()=>(de(v()),z(()=>v()("request.optional")))]),Te("change",Pe,Oi=>Ke(Oi.currentTarget.value)),Ka(Ln,()=>e(C),Oi=>U(C,Oi)),oe(ee,he)};$e(Ue,ee=>{e(k)==="tts"&&ee(aa)})}var jt=W(Ue,2);{var $a=ee=>{var he=kw(),be=It(he),Se=B(be,!0);j(be);var De=W(be,2);ua(De,5,()=>e(ve),da,(Qt,ma)=>{var Kt=rc(),Ea=B(Kt,!0);j(Kt);var Ma={};pe(()=>{K(Ea,e(ma)),Ma!==(Ma=e(ma))&&(Kt.value=(Kt.__value=e(ma))??"")}),oe(Qt,Kt)}),j(De);var ze=W(De,2),rt=B(ze,!0);j(ze);var Pe=W(ze,2);{let Qt=ri(()=>(de(v()),z(()=>v()("file.preview"))));Gr(Pe,{get src(){return e(r)},get name(){return e(V)},kind:"audio",get label(){return e(Qt)}})}pe((Qt,ma)=>{K(Se,Qt),K(rt,ma)},[()=>(de(v()),z(()=>v()("arena.voice.builtin"))),()=>(de(v()),z(()=>v()("arena.voice.builtinNote")))]),Ho(De,()=>e(V),Qt=>U(V,Qt)),oe(ee,he)},Gi=ee=>{var he=ww(),be=It(he),Se=B(be),De=W(Se),ze=B(De,!0);j(De),j(be);var rt=W(be,2);Pi(rt,ba=>U($,ba),()=>e($));var Pe=W(rt,2),Qt=B(Pe),ma=B(Qt,!0);j(Qt);var Kt=W(Qt),Ea=B(Kt,!0);j(Kt),j(Pe);var Ma=W(Pe,2);{let ba=ri(()=>(de(v()),z(()=>v()("file.preview"))));Gr(Ma,{get file(){return e(G)},kind:"audio",get label(){return e(ba)}})}pe((ba,fi,Ia,Nt)=>{K(Se,`${ba??""} `),K(ze,fi),K(ma,Ia),K(Ea,Nt)},[()=>(e(k),de(v()),z(()=>e(k)==="vc"?v()("arena.voice.targetSpeaker"):v()("voice.reference"))),()=>(e(k),de(v()),z(()=>e(k)==="vc"?v()("voice.required"):v()("voice.optional"))),()=>(de(v()),z(()=>v()("file.choose"))),()=>(e(G),de(v()),z(()=>e(G)?.name||v()("file.none")))]),Te("change",rt,ba=>we(ba.currentTarget.files?.[0]||null)),oe(ee,he)};$e(jt,ee=>{e(E)==="builtin"?ee($a):(e(k)==="vc"||e(E)==="reference")&&ee(Gi,1)})}var Pt=W(jt,2);{var Ht=ee=>{var he=xw(),be=B(he),Se=B(be,!0);j(be);var De=W(be,2);{var ze=rt=>{var Pe=au(),Qt=B(Pe,!0);j(Pe),pe(()=>K(Qt,(e(G),z(()=>e(G).name)))),oe(rt,Pe)};$e(De,rt=>{e(G)&&rt(ze)})}j(he),pe((rt,Pe)=>{be.disabled=rt,K(Se,Pe)},[()=>(e(E),e(G),e(C),z(()=>e(E)==="default"&&!e(G)&&!e(C).trim())),()=>(e(k),de(v()),z(()=>e(k)==="vc"?v()("arena.voice.clearTarget"):v()("arena.voice.clearReference")))]),Te("click",be,lt),oe(ee,he)};$e(Pt,ee=>{e(k)!=="asr"&&ee(Ht)})}var dt=W(Pt,2),na=B(dt),Ta=B(na);yr(),j(na);var Ne=W(na,2);sn(Ne),j(dt),j(Fr);var Je=W(Fr,2),va=B(Je),Ja=B(va),Pn=B(Ja),Vi=B(Pn,!0);j(Pn);var Cr=W(Pn),js=B(Cr,!0);j(Cr),j(Ja);var Ii=W(Ja,2),Mr=B(Ii,!0);j(Ii),j(va);var Nn=W(va,2),Na=B(Nn),Us=B(Na),Dn=B(Us,!0);j(Us);var pa=W(Us,2);ua(pa,5,()=>e(L),da,(ee,he)=>{var be=rc(),Se=B(be,!0);j(be);var De={};pe(ze=>{be.disabled=ze,K(Se,(e(he),z(()=>e(he).display_name))),De!==(De=(e(he),z(()=>e(he).id)))&&(be.value=(be.__value=(e(he),z(()=>e(he).id)))??"")},[()=>(de(p()),e(he),z(()=>!p()(e(he))))]),oe(ee,be)}),j(pa),j(Na);var zr=W(Na,2),jr=B(zr),yo=B(jr,!0);j(jr);var ur=W(jr,2),Ur=B(ur);ua(Ur,1,()=>e(Z),da,(ee,he)=>{var be=rc(),Se=B(be);j(be);var De={};pe((ze,rt)=>{be.disabled=ze,K(Se,`${e(he),z(()=>e(he).label)??""}${rt??""}`),De!==(De=(e(he),z(()=>e(he).id)))&&(be.value=(be.__value=(e(he),z(()=>e(he).id)))??"")},[()=>(e(Q),de(_()),e(he),z(()=>e(Q)?!_()(e(Q),e(he)):!0)),()=>(e(Q),de(_()),e(he),de(v()),z(()=>e(Q)&&_()(e(Q),e(he))?"":` · ${v()("studio.notDownloaded")}`))]),oe(ee,be)});var fn=W(Ur);{var lp=ee=>{var he=rc(),be=B(he,!0);j(he),he.value=he.__value="",pe(Se=>K(be,Se),[()=>(de(v()),z(()=>v()("arena.package.configured")))]),oe(ee,he)};$e(fn,ee=>{e(Z),e(Q),z(()=>!e(Z).length&&e(Q))&&ee(lp)})}j(ur),j(zr);var rs=W(zr,2),dc=B(rs,!0);j(rs),j(Nn);var ko=W(Nn,2);{var Es=ee=>{var he=$w();ua(he,5,()=>e(P),da,(be,Se)=>{var De=Sw();let ze;var rt=B(De),Pe=B(rt),Qt=B(Pe,!0);j(Pe);var ma=W(Pe,2),Kt=B(ma,!0);j(ma),j(rt);var Ea=W(rt,2),Ma=B(Ea,!0);j(Ea);var ba=W(Ea,2),fi=B(ba,!0);j(ba),j(De),pe((Ia,Nt)=>{ze=ja(De,1,"",null,ze,{done:e(Se).status==="done",failed:e(Se).status==="failed",skipped:e(Se).status==="skipped"}),K(Qt,(e(Se),z(()=>e(Se).label))),K(Kt,(e(Se),z(()=>e(Se).packageLabel))),K(Ma,Ia),ba.disabled=e(y),K(fi,Nt)},[()=>(e(Se),z(()=>Ge(e(Se).status))),()=>(de(v()),z(()=>v()("arena.queue.remove")))]),Te("click",ba,()=>Sa(e(Se).id)),oe(be,De)}),j(he),oe(ee,he)},uc=ee=>{var he=Tw(),be=B(he),Se=B(be,!0);j(be),j(he),pe(De=>K(Se,De),[()=>(de(v()),z(()=>v()("arena.queue.empty")))]),oe(ee,he)};$e(ko,ee=>{e(P),z(()=>e(P).length)?ee(Es):ee(uc,-1)})}var ss=W(ko,2),Er=B(ss),fc=B(Er),wl=B(fc,!0);j(fc),yr(2),j(Er);var Rs=W(Er,2),xl=B(Rs,!0);j(Rs);var wo=W(Rs,2),dp=B(wo,!0);j(wo),j(ss);var pc=W(ss,2);let Sl;var $l=B(pc,!0);j(pc),j(Je);var Tl=W(Je,2),mc=B(Tl),gc=B(mc),Bs=B(gc),up=B(Bs,!0);j(Bs);var hc=W(Bs),fp=B(hc,!0);j(hc),j(gc);var ql=W(gc,2),pp=B(ql,!0);j(ql),j(mc);var Gl=W(mc,2);{var Ps=ee=>{var he=zw();ua(he,5,()=>e(X),da,(be,Se)=>{var De=Mw();let ze;var rt=B(De),Pe=B(rt),Qt=B(Pe),ma=B(Qt,!0);j(Qt);var Kt=W(Qt,2),Ea=B(Kt,!0);j(Kt),j(Pe);var Ma=W(Pe,2),ba=B(Ma,!0);j(Ma),j(rt);var fi=W(rt,2);{var Ia=ka=>{var Oa=qw();pe(()=>qe(Oa,"src",(e(Se),z(()=>e(Se).outputUrl)))),oe(ka,Oa)};$e(fi,ka=>{e(Se),z(()=>e(Se).outputUrl)&&ka(Ia)})}var Nt=W(fi,2);{var Da=ka=>{var Oa=Gw(),mn=B(Oa,!0);j(Oa),pe(()=>K(mn,(e(Se),z(()=>e(Se).outputText)))),oe(ka,Oa)};$e(Nt,ka=>{e(Se),z(()=>e(Se).outputText)&&ka(Da)})}var ci=W(Nt,2);{var en=ka=>{var Oa=Fw(),mn=B(Oa),xo=B(mn);j(mn);var So=W(mn,2),mp=B(So);j(So);var gp=W(So,2);{var vc=Ns=>{var Rr=au(),hp=B(Rr);j(Rr),pe(_p=>K(hp,`${_p??""} ${e(Se),z(()=>e(Se).wer)??""}`),[()=>(de(v()),z(()=>v()("arena.metric.wer")))]),oe(Ns,Rr)};$e(gp,Ns=>{e(Se),z(()=>e(Se).wer)&&Ns(vc)})}j(Oa),pe((Ns,Rr)=>{K(xo,`${Ns??""} ${e(Se),z(()=>e(Se).wallMs||"?")??""}`),K(mp,`${Rr??""} ${e(Se),z(()=>e(Se).rtf||"?")??""}`)},[()=>(de(v()),z(()=>v()("arena.metric.wall"))),()=>(de(v()),z(()=>v()("arena.metric.rtf")))]),oe(ka,Oa)};$e(ci,ka=>{e(Se),z(()=>e(Se).outputUrl||e(Se).outputText||e(Se).wallMs||e(Se).rtf||e(Se).wer)&&ka(en)})}var Ln=W(ci,2);{var Oi=ka=>{var Oa=Aw(),mn=B(Oa,!0);j(Oa),pe(()=>K(mn,(e(Se),z(()=>e(Se).note)))),oe(ka,Oa)};$e(Ln,ka=>{e(Se),z(()=>e(Se).note)&&ka(Oi)})}var ei=W(Ln,2);{var pn=ka=>{var Oa=Cw(),mn=B(Oa,!0);j(Oa),pe(()=>K(mn,(e(Se),z(()=>e(Se).error)))),oe(ka,Oa)};$e(ei,ka=>{e(Se),z(()=>e(Se).error)&&ka(pn)})}j(De),pe(ka=>{ze=ja(De,1,"",null,ze,{done:e(Se).status==="done",failed:e(Se).status==="failed",skipped:e(Se).status==="skipped"}),K(ma,(e(Se),z(()=>e(Se).label))),K(Ea,(e(Se),z(()=>e(Se).packageLabel))),K(ba,ka)},[()=>(e(Se),z(()=>Ge(e(Se).status)))]),oe(be,De)}),j(he),oe(ee,he)},_c=ee=>{var he=jw(),be=W(B(he)),Se=B(be,!0);j(be),j(he),pe(De=>K(Se,De),[()=>(de(v()),z(()=>v()("arena.results.empty")))]),oe(ee,he)};$e(Gl,ee=>{e(P),z(()=>e(P).length)?ee(Ps):ee(_c,-1)})}return j(Tl),j(bi),pe((ee,he,be,Se,De,ze,rt,Pe,Qt,ma,Kt,Ea,Ma,ba,fi,Ia,Nt,Da,ci,en,Ln,Oi)=>{K(En,ee),K(Mi,e(re)),K(Rn,e(Ae)),Ji=ja(Ti,1,"",null,Ji,{active:e(k)==="tts"}),K(dn,he),Pa=ja(un,1,"",null,Pa,{active:e(k)==="vc"}),K(vi,be),xt=ja(Va,1,"",null,xt,{active:e(k)==="asr"}),K(Za,Se),K(cr,De),K(Di,ze),K(Cs,e(ke)),K(Ms,`${rt??""} `),K(zs,Pe),qe(ye,"placeholder",Qt),K(Ta,`${ma??""} `),K(Vi,Kt),K(js,Ea),K(Mr,(e(P),z(()=>e(P).length))),K(Dn,Ma),K(yo,ba),rs.disabled=!e(Q),K(dc,fi),Er.disabled=(e(y),e(P),z(()=>e(y)||!e(P).length)),K(wl,Ia),Rs.disabled=!e(y),K(xl,Nt),wo.disabled=(e(y),e(P),z(()=>e(y)||!e(P).length)),K(dp,Da),Sl=ja(pc,1,"status",null,Sl,{busy:e(y)}),K($l,ci),K(up,en),K(fp,Ln),K(pp,Oi)},[()=>(de(v()),z(()=>v()("arena.eyebrow"))),()=>(de(v()),z(()=>v()("arena.mode.tts"))),()=>(de(v()),z(()=>v()("arena.mode.vc"))),()=>(de(v()),z(()=>v()("arena.mode.asr"))),()=>(de(v()),z(()=>v()("arena.input.label"))),()=>(de(v()),z(()=>v()("arena.input.title"))),()=>(de(v()),z(()=>v()("request.language"))),()=>(de(v()),z(()=>v()("request.optional"))),()=>(de(v()),z(()=>v()("request.autoLanguage"))),()=>(de(v()),z(()=>v()("arena.options.shared"))),()=>(de(v()),z(()=>v()("arena.queue.label"))),()=>(de(v()),z(()=>v()("arena.queue.title"))),()=>(de(v()),z(()=>v()("studio.model"))),()=>(de(v()),z(()=>v()("arena.package.label"))),()=>(de(v()),z(()=>v()("arena.queue.add"))),()=>(e(y),de(v()),z(()=>e(y)?v()("run.working"):v()("arena.run"))),()=>(de(v()),z(()=>v()("run.cancel"))),()=>(de(v()),z(()=>v()("arena.queue.clear"))),()=>(e(q),de(v()),z(()=>e(q)||v()("status.ready"))),()=>(de(v()),z(()=>v()("result.label"))),()=>(de(v()),z(()=>v()("arena.results.title"))),()=>(e(P),z(()=>e(P).filter(ee=>ee.status==="done").length))]),Te("click",Ti,()=>U(k,"tts")),Te("click",un,()=>U(k,"vc")),Te("click",Va,()=>U(k,"asr")),Ka(ye,()=>e(R),ee=>U(R,ee)),Ka(Ne,()=>e(A),ee=>U(A,ee)),Ho(pa,()=>e(w),ee=>U(w,ee)),Te("change",pa,()=>U(T,"")),Ho(ur,()=>e(T),ee=>U(T,ee)),Te("click",rs,hi),Te("click",Er,di),Te("click",Rs,_i),Te("click",wo,wt),oe(t,Xa),kb(a,"runArena",di),_s(An)}const Rw="audiocpp-native-studio",vl="voices";function Bw(){return new Promise((t,a)=>{const r=indexedDB.open(Rw,1);r.onupgradeneeded=()=>{r.result.objectStoreNames.contains(vl)||r.result.createObjectStore(vl,{keyPath:"id"})},r.onsuccess=()=>t(r.result),r.onerror=()=>a(r.error||new Error("Could not open the voice library."))})}function iu(t,a){return Bw().then(r=>new Promise((n,i)=>{const c=r.transaction(vl,t),s=a(c.objectStore(vl));s.onsuccess=()=>n(s.result),s.onerror=()=>i(s.error||new Error("Voice library operation failed.")),c.oncomplete=()=>r.close(),c.onerror=()=>{r.close(),i(c.error||new Error("Voice library transaction failed."))}}))}async function Pw(){return(await iu("readonly",a=>a.getAll())).sort((a,r)=>r.createdAt-a.createdAt)}function Nw(t){return iu("readwrite",a=>a.put(t))}function Dw(t){return iu("readwrite",a=>a.delete(t))}var sc=ge(""),Fs=ge(""),Lw=ge(""),Vw=ge(""),Iw=ge('
'),Ow=ge('
'),Hw=ge(' ',1),Qw=ge('
'),Ww=ge(' ',1),Yw=ge('
'),Kw=ge(" ",1),Xw=ge(' ',1),Zw=ge(' ',1),oc=ge(" "),Jw=ge(''),e6=ge(''),t6=ge('
'),a6=ge('
'),i6=ge(''),n6=ge(''),r6=ge('
'),nu=ge(" "),s6=ge('
'),Wg=ge(' ',1),o6=ge(' ',1),c6=ge(''),l6=ge(''),d6=ge('
'),u6=ge('
',1),f6=ge('
',1),p6=ge('
',1),m6=ge(' ',1),g6=ge('
'),h6=ge(' ',1),_6=ge('
'),v6=ge(' ',1),b6=ge('
'),y6=ge(" ",1),k6=ge('
'),w6=ge('
Speaker references optional, up to 4
'),x6=ge(''),S6=ge(""),$6=ge('
'),T6=ge(""),q6=ge("
"),G6=ge('
'),F6=ge('
JSON
'),A6=ge('

',1),C6=ge('

',1),M6=ge(' '),z6=ge(''),Yg=ge('
'),j6=ge(""),U6=ge('
∿

'),E6=ge(''),R6=ge("
 
"),B6=ge('

',1),P6=ge(''),N6=ge(' '),D6=ge(''),L6=ge(''),V6=ge('
'),I6=ge(''),O6=ge('
'),H6=ge("
",1),Q6=ge('
'),W6=ge('
'),Y6=ge('

'),K6=ge('
'),X6=ge('

',1),Z6=ge('

 
',1),J6=ge('
'),e4=ge('
'),Kg=ge('
'),t4=ge(''),a4=ge('
'),i4=ge('
'),n4=ge('
A
audio.cpp
audio.cpp native WebUI
',1);function r4(t,a){hs(a,!1);const r=le(),n=le(),i=le(),c=le(),s=le(),d=le(),p=le(),m=le(),_=le(),h=le(),f=le(),u=le(),l=le(),o=le(),g=le(),v=le(),b=le(),k=le(),w=le(),T=le(),N=le(),R=le(),F=le(),D=le(),I=le(),S=le(),E=le(),V=le();let G=le("studio"),$=le(null),C=le(Ci[0]?.id||""),A=le(Ci[0]),P=e(A)?.path||"",y=le([]),x=le(null),q=le(null),L=le(!1),Q=le(!1),Z=le(!1),X=le(!1),J=le("Ready"),ve=le(""),re=le(""),Ae=le(""),ke=le(""),Me=le(""),se=le(""),je=le(""),ue=le(""),Oe=le(30),Ze=le(1234),Bt=le(1024),ht=le(0),Ot=le(null),Ct=le(null),at=le(null),ie=le([null,null,null,null]),fe=le(null),te=le(null),ce=le(null),_e=le([null,null,null,null]),Fe=le(null),Ge=le(null),Ke=le("{}"),we=le({}),Ee=le([]),lt=le([]),Yt=le([]),Re=le(""),pt=le(""),fa=le([]),wt=null,hi=le(!0),Sa=le(eu(e(A)?.family||"")),Ca=le([]),ha=le(""),La=le(""),ta=le(null),di=le(null),_i=null,An=null,Xa=null,ui=le(!1),Ni=!1,oi=Promise.resolve(),En=0,Mt=le({}),Mi=le(""),zi=le(""),Rn=le(""),as=le(!0),Ti=le(!1),Ji=le(!1),dn=le(!1),un=le(""),Pa=le(null),vi=null,Va={},xt=le({}),Za=le("idle"),bi=null,Fr=!1,sr={},or=le([]),qi=le([]),cr=le([]),zt=le(""),Di=le("en"),Li=le("system"),Cs=!0,lr=null,dr=null,O=le(Eg(e(Di)));const Ar={demo_1_man:"demo_1_man",demo_2_man:"demo_2_man",demo_3_woman:"demo_3_woman",demo_4_woman:"demo_4_woman"},lc=new Set(["canary_asr","cohere_asr","moss_transcribe_diarize","audiosr","controlfoley","breeze_tts","cosyvoice3","firered_audio","fireredtts3","irodori_tts","kokoro_tts","meanvc2","midashenglm_gen"]),is={};function ns(M){U(Di,Rg([M])),localStorage.setItem("audiocpp.ui.language",e(Di)),document.documentElement.lang=e(Di)}function Bn(M=e(Li)){const H=aw(M,Cs);document.documentElement.dataset.theme=H,document.querySelector('meta[name="theme-color"]')?.setAttribute("content",H==="dark"?"#07101f":"#f6f8fb")}function Ms(M){U(Li,Dg(M)),localStorage.setItem(Ng,e(Li)),Bn(e(Li))}async function bo(){try{if("serviceWorker"in navigator){const M=await navigator.serviceWorker.getRegistrations();await Promise.all(M.map(H=>H.unregister()))}if("caches"in window){const M=await window.caches.keys();await Promise.all(M.map(H=>window.caches.delete(H)))}}catch(M){console.warn("Unable to clear legacy WebUI caches:",M)}}function zs(M,H,Y=e(O)){return Y(`workflow.${M==="conversion"?"vc":M==="separation"?"sep":M}`,{},H)}function ye(M,H=e(O)){return M?H(`task.${M}`,{},Ek[M]||M):H("studio.title")}function ae(M,H,Y=e(O)){const ne=H==="label"?M.label_en||M.label||M.name.replace(/_/g," "):H==="info"?M.info_en||M.info||"":M.placeholder_en||M.placeholder||"";return Y(`param.${e(A)?.family}.${M.name}.${H}`,{},ne)}function Ce(M=e(O)){const H=e(A)?.input_hint_en||e(A)?.input_hint||"";return M(`model.${e(A)?.family}.hint`,{},H)}function Ue(M){const H=Math.max(1,Number.isFinite(M)?M:1)*24;return Math.max(5,Math.round((H-3)/17)*17+3)}function aa(M){const H=e(A)?.family==="ace_step"?-1:1;U(Oe,Math.max(H,Number.isFinite(M)?M:H)),e(A)?.family==="minimax_h3"&&U(we,{...e(we),num_frames:Ue(e(Oe))})}function jt(M,H){if(U(we,{...e(we),[M.name]:H}),e(A)?.family==="yue2"&&M.scope==="session"&&U(c,e(y).some(Y=>Y.id===e(C)&&Y.loaded&&Es(Y,e(A)))),e(A)?.family==="minimax_h3"&&M.name==="num_frames"){const Y=Number(H);Number.isFinite(Y)&&Y>0&&U(Oe,Y/24)}}function $a(M=e(A)){M?.family!=="yue2"||e(ue).trim()||U(ue,M.default_text||"")}function Gi(){return e(Ae).trim()?e(Ae):e(A).default_text||""}const Pt=[{id:"tts",label:"Text to speech",filterLabel:"TTS",tasks:["tts","clon"]},{id:"asr",label:"ASR / Transcription",filterLabel:"ASR",tasks:["asr"]},{id:"music",label:"Music generation",filterLabel:"Music",tasks:["gen"]},{id:"conversion",label:"Voice conversion",filterLabel:"Voice conversion",tasks:["vc","svc","s2s"]},{id:"separation",label:"Source separation",filterLabel:"Separation",tasks:["sep"]},{id:"analysis",label:"Audio analysis",filterLabel:"Analysis",tasks:["vad","diar","align","spk","midi"]},{id:"design",label:"Voice design",filterLabel:"Voice design",tasks:["vdes"]}],Ht={qwen3_tts:"Qwen3-TTS",irodori_tts:"Irodori-TTS",chatterbox:"Chatterbox",stable_audio:"Stable Audio 3",qwen3_asr:"Qwen3-ASR",vevo2:"Vevo2",seed_vc:"Seed-VC",breeze_tts:"BreezeTTS 2",cosyvoice3:"CosyVoice3",magpie_tts:"MagpieTTS",meanvc2:"MeanVC2",niagara_asr:"Niagara ASR",canary_asr:"Canary 180M Flash",cohere_asr:"Cohere Transcribe",moss_transcribe_diarize:"MOSS-Transcribe-Diarize",apollo:"Apollo",universr:"UniverSR",pulsevad:"PulseVAD",personaplex:"PersonaPlex"},dt={canary_asr:0,cohere_asr:256,moss_transcribe_diarize:5120},na={canary_asr:["en","de","es","fr"],cohere_asr:["en","fr","de","es","it","pt","nl","pl","el","ar","ja","zh","vi","ko"],confucius4_r2t2:["Auto","Chinese","English","Cantonese","Japanese","Korean","Arabic","German","French","Spanish","Portuguese","Indonesian","Italian","Russian","Thai","Vietnamese","Turkish","Hindi","Malay","Dutch","Swedish","Danish","Finnish","Polish","Czech","Filipino","Persian","Greek","Romanian","Hungarian","Macedonian"]};function Ta(M){const ne=(M.replace(/\\/g,"/").split("/").filter(Boolean).pop()||"").match(/(?:^|[-_])(\d+(?:\.\d+)?[bm])(?:[-_]|$)/i);return ne?ne[1].toUpperCase():""}function Ne(M,H){const Y=fn(H),ne=fn(jr(M));if(Y===ne)return!0;const me=fn(M).replace(/^models\//,"");return Y===me||Y.endsWith(`/${me}`)}function Je(M,H){return M.family!==H.family||M.task!==H.task?!1:Ne(M.path,H.path)?!0:!!(M.install_packages||[]).some(Y=>Ne(Y.path,H.path))}function va(M){const H=Ci.find(Y=>Y.id===M.id);return H&&Je(H,M)?H:Ci.find(Y=>Je(Y,M))}function Ja(M,H){const Y=Ta(M.path),ne=Ht[M.family]||H?.display_name||M.family;return Y&&!ne.toLowerCase().includes(Y.toLowerCase())?`${ne} ${Y}`:ne}function Pn(M){return va(M)?.display_name||Ja(M)}function Vi(M,H){return M.localeCompare(H,"en",{sensitivity:"base",numeric:!0})}function Cr(){return e(y).map(M=>{const H=va(M),Y=Ci.find(me=>me.family===M.family&&me.task===M.task),ne=H||Y;return{...ne||{id:M.id,display_name:M.id,family:M.family,path:M.path,task:M.task,mode:M.mode},id:M.id,display_name:H?H.display_name:Ja(M,ne),display_name_en:H?H.display_name_en:ne?.display_name_en,family:M.family,path:M.path,task:M.task,mode:M.mode,install_packages:[]}})}function js(M){return Array.from(M.reduce((H,Y)=>{const ne=H.get(Y.family)||[];return ne.push(Y),H.set(Y.family,ne),H},new Map)).map(([H,Y])=>({family:H,entries:[...Y].sort((ne,me)=>Vi(ne.display_name,me.display_name)),label:Y.length>1&&Ht[H]||Y[0].display_name})).sort((H,Y)=>Vi(H.label,Y.label))}let Ii=le("tts"),Mr={},Nn=le(Pt.map(M=>M.id)),Na=le(Ci),Us=le(js(Ci));class Dn extends Error{}function pa(M){const H=`${new Date().toLocaleTimeString()} ${M}`;U(fa,[H,...e(fa)].slice(0,200))}function zr(M){if(!Number.isFinite(M)||M<=0)return"0 B";const H=["B","KB","MB","GB","TB"],Y=Math.min(Math.floor(Math.log(M)/Math.log(1024)),H.length-1);return`${(M/1024**Y).toFixed(Y<2?0:1)} ${H[Y]}`}function jr(M){if(!e(Mi))return M;const H=M.replace(/\\/g,"/");if(H==="models")return e(Mi);if(!H.startsWith("models/"))return M;const Y=H.slice(7),ne=e(Mi).includes("\\")?"\\":"/";return`${e(Mi).replace(/[\\/]+$/,"")}${ne}${Y.replace(/\//g,ne)}`}function yo(M){const H=M.install_packages||[];return H.find(Y=>Y.id===Va[M.id])||H[0]}function ur(M,H){return yo(M)?.id===H.id}function Ur(M){return e(x)&&!e(x).ui_management?M.path:jr(yo(M)?.path||M.path)}function fn(M){return M.replace(/\\/g,"/").replace(/\/$/,"").toLowerCase()}function lp(M,H){return Ne(M.path,H)}function rs(M){const H=yo(M),Y=M.id===e(C)?hp():{};return{...M.session_options||{},...H?.session_options||{},...Y}}function dc(M,H,Y){const ne=rs(M),me=Array.from(new Set((M.install_packages||[]).flatMap(Le=>Object.keys(Le.session_options||{}))));if(M.id===e(C))for(const Le of e(Ee).filter(st=>st.scope==="session"))me.push(Le.session_option||Le.name);if(!me.length)return!0;const Be=Y.session_options||{};return me.every(Le=>Be[Le]===ne[Le])}function ko(M,H,Y){return lp(Y,H.path)&&dc(M,Y,H)}function Es(M,H){if(!H)return fn(M.path)===fn(P);const Y=yo(H);return Y?fn(M.path)===fn(P)&&dc(H,Y,M):fn(M.path)===fn(P)}function uc(M,H=e(y)){return H.find(Y=>Y.id===M.id&&Y.loaded)}function ss(M,H,Y=e(y)){const ne=uc(M,Y);return!!(ne&&ko(M,ne,H))}function Er(M,H,Y=e(y),ne=e(xt)){return ss(M,H,Y)||ne[H.id]?.installed===!0}function fc(M){const H=M.install_packages||[];if(M.family==="ace_step"||M.family==="minimax_music3"||lc.has(M.family))return H.map(me=>({key:me.id,label:me.label,choice:me}));const Y=H.find(me=>me.format==="gguf"&&["q8","q8_0"].includes(me.precision)),ne=H.find(me=>me.format==="gguf"&&["f16","fp16","bf16"].includes(me.precision));return!Y&&!ne?H.map(me=>({key:me.id,label:me.label,choice:me})):[{key:"q8",label:Y?.label||"GGUF Q8",choice:Y},{key:"fp16",label:ne?.label||"GGUF FP16",choice:ne}]}function wl(M){if(!Number.isInteger(M)||M<-1||M>4294967295)throw new Error("Seed must be -1 or an unsigned 32-bit integer (0 to 4294967295).");if(M>=0)return M;const H=new Uint32Array(1);return globalThis.crypto.getRandomValues(H),H[0]}function Rs(M,H){return(M+H)%4294967296}function xl(M){return M.replace(/\.[^.]+$/,"").trim().toLowerCase()}function wo(M){const H=!!(M&&(e(zt)||e(ha)||e(at)&&e(at).name!==M.name));M&&(U(zt,""),U(ha,"")),U(at,M),H&&(U(Fe,null),U(se,""),e(Ge)&&Ya(Ge,e(Ge).value=""),U(J,"Reference voice changed. Choose or enter its matching transcript."),U(ve,e(J)))}function dp(){U(zt,""),U(ha,""),U(at,null),U(La,""),U(Fe,null),U(se,""),e(ce)&&Ya(ce,e(ce).value=""),e(Ge)&&Ya(Ge,e(Ge).value="")}function pc(){U(Ot,null),e(fe)&&Ya(fe,e(fe).value="")}function Sl(){U(Ct,null),e(te)&&Ya(te,e(te).value="")}function $l(M,H){U(ie,e(ie).map((Y,ne)=>ne===M?H:Y))}function Tl(M){$l(M,null),e(_e)[M]&&Ya(_e,e(_e)[M].value="")}function mc(M){U(zt,M),M&&(U(ha,""),U(at,null),U(La,""),U(Fe,null),U(se,""),e(ce)&&Ya(ce,e(ce).value=""),e(Ge)&&Ya(Ge,e(Ge).value=""))}async function gc(M){if(U(Fe,M),!!M)try{const H=(await M.text()).replace(/^\uFEFF/,"").trim();if(!H)throw new Error("The selected reference text file is empty.");U(se,H);const Y=!e(at)||xl(M.name)===xl(e(at).name);U(J,Y?`Loaded reference transcript from ${M.name}.`:`Loaded ${M.name}. Its name does not match ${e(at)?.name}; verify that it is the correct transcript.`),U(ve,Y?"":e(J))}catch(H){U(Fe,null),U(se,""),e(Ge)&&Ya(Ge,e(Ge).value=""),U(J,H instanceof Error?H.message:String(H)),U(ve,"")}}function Bs(M){return M.state==="complete"||M.state==="cleaned"?100:M.progress_percent>=0?Math.min(100,Math.max(0,M.progress_percent)):0}function up(M){const H=Bs(M);return M.total_bytes>0?`${H}% · ${zr(M.downloaded_bytes)} / ${zr(M.total_bytes)}`:M.downloaded_bytes>0?`${zr(M.downloaded_bytes)} downloaded`:M.state==="failed"?"Download failed":M.state==="cleaned"?"Partial files cleaned":M.state==="complete"?"100% · complete":M.state==="queued"?"0% · queued":"Connecting and checking package files…"}function hc(M,H){return(M.install_packages||[]).map(Y=>H[Y.id]).filter(Y=>Y!==void 0)}function fp(M,H){const Y=M.entries.findIndex(me=>me.id===H.id),ne=new Set(M.entries.slice(0,Math.max(0,Y)).flatMap(me=>(me.install_packages||[]).map(Be=>Be.id)));return(H.install_packages||[]).filter(me=>!ne.has(me.id))}function ql(M,H){const Y=M.map(ne=>H[ne.id]).filter(ne=>ne!==void 0);return Y.find(ne=>["running","queued","cancelling"].includes(ne.state))||[...Y].sort((ne,me)=>me.finished_at_ms-ne.finished_at_ms)[0]}function pp(M,H){return hc(M,H).some(Y=>Y.state==="running"||Y.state==="queued"||Y.state==="cancelling")}function Gl(M,H){return M.entries.some(Y=>pp(Y,H))}function Ps(M){return M.request_options!==void 0?M.request_options.includes("max_tokens"):["tts","clon","gen","s2s","vdes"].includes(M.task)}function _c(M,H){return M.request_options===void 0||M.request_options.includes(H)}function ee(M,H){return M.required_request_options?.includes(H)===!0}function he(M,H=e(O)){return M?.installed?M.version_state==="up_to_date"?H("models.upToDate"):M.version_state==="update_available"?H("models.updateAvailable"):H("models.versionUnknown"):""}function be(M){return e(V).has(M.id)}function Se(M){return Pt.find(H=>H.tasks.some(Y=>Y===M))?.id||"tts"}function De(M,H,Y=e(O)){return H?.state==="running"?`${M.label}…`:H?.state==="queued"?`${M.label} ${Y("models.queued")}`:H?.state==="cancelling"?`${M.label} ${Y("models.stopping")}`:M.label}function ze(M,H,Y,ne=e(O)){const me=M?.size_bytes!==null&&M?.size_bytes!==void 0?zr(M.size_bytes):"";if(M?.installed){const Be=he(M,ne);return`${ne(Y?"models.selected":"models.downloaded")}${Be?` · ${Be}`:""}${me?` · ${me}`:""}`}return me||(M?.state==="pending"?ne("models.checkingSize"):M?.state==="gated"?ne("models.hfAccess"):M?.state==="error"||M?.state==="unknown"?ne("models.sizeUnavailable"):H==="running"?ne("models.checkingSize"):"")}function rt(M,H=e(O)){return M==="Ready"?H("status.ready"):M}async function Pe(){if(!(!e(x)?.ui_management||Fr)){Fr=!0;try{const M=await Ny();U(Za,M.state),M.data.length&&(U(xt,Object.fromEntries(M.data.map(Y=>[Y.id,Y]))),M.state==="complete"&&Kt(e(xt)));const H=M.state==="idle"||M.state==="running"||M.data.length===0;H&&bi===null?bi=window.setInterval(Pe,1e3):!H&&bi!==null&&(window.clearInterval(bi),bi=null)}catch(M){U(Za,"failed"),pa(`Package sizes unavailable: ${M instanceof Error?M.message:M}`)}finally{Fr=!1}}}function Qt(){if(!e(x)?.ui_management){U(G,"studio"),U(J,"Model management is disabled for this configured server."),U(ve,e(J)),U(re,"");return}U(G,"models"),e(Za)==="idle"&&U(Za,"running"),Pe()}function ma(M,H){Va={...Va,[M.id]:H.id},localStorage.setItem("audiocpp.ui.packageIds",JSON.stringify(Va)),M.id===e(C)&&(P=jr(H.path))}function Kt(M=e(xt)){const H={...Va};let Y=!1;for(const ne of Ci){const me=ne.install_packages||[];if(!me.length)continue;const Be=me.find(wa=>wa.id===H[ne.id]),Le=Be?e(Mt)[Be.id]:void 0;if(Le&&["queued","running","cancelling"].includes(Le.state)||Be&&M[Be.id]?.installed)continue;const ut=me.find(wa=>M[wa.id]?.installed);ut?H[ne.id]!==ut.id&&(H[ne.id]=ut.id,Y=!0):H[ne.id]!==void 0&&(delete H[ne.id],Y=!0)}return Y?(Va=H,localStorage.setItem("audiocpp.ui.packageIds",JSON.stringify(Va)),e(C)&&(P=Ur(e(A))),!0):!1}function Ea(M=e(y)){const H={...Va};let Y=!1;for(const ne of Ci){const me=uc(ne,M);if(!me)continue;const Be=(ne.install_packages||[]).find(Le=>ko(ne,me,Le));Be&&H[ne.id]!==Be.id&&(H[ne.id]=Be.id,Y=!0)}return Y?(Va=H,localStorage.setItem("audiocpp.ui.packageIds",JSON.stringify(Va)),e(C)&&(P=Ur(e(A))),!0):!1}async function Ma(M=e(xt)){const H=Ci.filter(Y=>{const ne=uc(Y);if(!ne)return!1;const me=(Y.install_packages||[]).find(Be=>ko(Y,ne,Be));return!!(me&&M[me.id]?.installed===!1)});if(!H.length)return!1;for(const Y of H)await ho(Y.id);return await ei(),!0}async function ba(){U(G,"studio"),await ei(),e(x)?.ui_management&&(await Pe(),await Ma(),Kt()&&e(C)&&await pn())}function fi(M){U(Mi,M.models_root),U(zi,M.models_root),U(Rn,M.default_models_root),U(as,M.is_default),P=Ur(e(A))}function Ia(){U(C,""),U(zt,""),U(qi,[]),U(Ct,null),P="",U(q,null),U(Ee,[]),U(we,{}),U(Ke,"{}"),localStorage.removeItem("audiocpp.ui.model"),vp()}function Nt(M=!1){return e(x)&&!e(x).ui_management||!e(C)||!M&&e(c)||e(q)!==!1?!1:(Ia(),!0)}async function Da(M=!1){if(!(!e(x)?.ui_management||e(Ti))){U(Ti,!0),U(ve,""),U(re,""),U(J,M?"Restoring the default models folder…":"Changing models folder…");try{const H=await qg(M?"":e(zi).trim());fi(H),H.is_default?localStorage.removeItem("audiocpp.ui.modelsFolder"):localStorage.setItem("audiocpp.ui.modelsFolder",H.models_root),U(Mt,{}),U(xt,{}),U(Za,"idle"),sr={},vi!==null&&(window.clearInterval(vi),vi=null),bi!==null&&(window.clearInterval(bi),bi=null),await Pe(),await pn();const Y=Nt();U(J,Y?`Models folder: ${H.models_root}. No installed model is selected.`:`Models folder: ${H.models_root}`),pa(e(J))}catch(H){U(J,H instanceof Error?H.message:String(H)),U(re,e(J)),pa(`Models folder change failed: ${e(J)}`)}finally{U(Ti,!1)}}}async function ci(M=""){U(Ji,!0),U(dn,!0),U(un,"");try{U(Pa,await Ly(M||e(zi).trim()||e(Mi)))}catch(H){U(un,H instanceof Error?H.message:String(H))}finally{U(dn,!1)}}function en(){e(Pa)&&(U(zi,e(Pa).current),U(Ji,!1))}function Ln(){const M=jg[e(A)?.id]||jg[e(A)?.family]||[],H=e(A)?.family==="controlfoley"||e(A)?.family==="midashenglm_gen";if(U(Ee,M.filter(Y=>!(e(A)?.family==="vibevoice"&&Y.name==="voice_samples")&&!(H&&Y.name==="duration_sec"))),U(we,Object.fromEntries(M.map(Y=>[Y.name,Y.default??""]))),e(A)?.family in dt&&U(ht,dt[e(A).family]),e(A)?.family==="confucius4_r2t2"?U(ke,"Auto"):e(A)?.family in na&&U(ke,"en"),e(A)?.family==="minimax_h3"?(U(Oe,15),U(we,{...e(we),num_frames:Ue(e(Oe)),dit_acceleration:"none"})):e(A)?.task==="gen"&&U(Oe,30),e(A)?.family==="yue2"){if(e(x)?.ui_management===!1){const Y=e(y).find(ne=>ne.id===e(C))?.session_options;U(we,{...e(we),ar_lora:Y?.["yue2.ar_lora"]??"",ar_lora_scale:Number(Y?.["yue2.ar_lora_scale"]??1),nar_lora:Y?.["yue2.nar_lora"]??"",nar_lora_scale:Number(Y?.["yue2.nar_lora_scale"]??1)})}U(Ae,""),U(ue,""),$a()}else!e(Ae).trim()&&e(A)?.default_text&&U(Ae,e(A).default_text);e(A)?.builtin_voices?.length&&e(A).default_voice&&!e(zt)&&U(zt,e(A).default_voice),U(Ke,"{}")}function Oi(){if(!e(x)||e(x).ui_management)return;const M=Cr();if(!M.length){Ia();return}const Y=(e(C)?M.find(ne=>ne.id===e(C)):void 0)||M[0];e(C)!==Y.id&&(U(zt,""),U(qi,[])),U(C,Y.id),U(A,Y),U(Ii,Se(Y.task)),Mr={...Mr,[e(Ii)]:Y.id},P=Y.path,U(q,!0),U(Sa,eu(Y.family)),localStorage.setItem("audiocpp.ui.model",Y.id),Ln()}async function ei(){try{await(async M=>{var H=Kv(M,2);U(x,H[0]),U(y,H[1])})(await Promise.all([zy(),ml()])),e(x).ui_management?Ea():Oi()}catch(M){U(J,M instanceof Error?M.message:String(M))}}async function pn(){if(!e(C)||!P.trim()){U(q,null);return}if(e(x)&&!e(x).ui_management){U(q,e(y).some(M=>M.id===e(C)));return}U(q,null);try{U(q,(await jy(P)).exists)}catch{U(q,null)}}function ka(M){if(!M){Ia(),U(J,"No model selected. Choose an installed model or download one from the Models tab.");return}const H=e(Na).find(Y=>Y.id===M);!H||!be(H)||(U(C,M),U(A,H),U(zt,""),U(qi,[]),U(Ii,Se(H.task)),Mr={...Mr,[e(Ii)]:M},P=Ur(H),U(Sa,eu(H.family)),localStorage.setItem("audiocpp.ui.model",M),Ln(),pn(),bv())}function Oa(M){const H=Pt.find(Be=>Be.id===M);if(!H||(U(Ii,M),e(C)&&H.tasks.some(Be=>Be===e(A)?.task)))return;const Y=Mr[M],me=(Y?e(Na).find(Be=>Be.id===Y&&H.tasks.some(Le=>Le===Be.task)&&be(Be)):void 0)||e(Na).find(Be=>H.tasks.some(Le=>Le===Be.task)&&be(Be));if(me){ka(me.id);return}Ia(),U(J,`No installed models are available for ${H.label}. Install one from the Models tab.`)}function mn(M,H){U(Nn,H?[...e(Nn),M].filter((Y,ne,me)=>me.indexOf(Y)===ne):e(Nn).filter(Y=>Y!==M))}async function xo(M){if(!(e(m)&&e(Q))){if(!e(C)){U(J,"Choose an installed model before loading."),U(ve,e(J)),U(re,"");return}if(!e(x)?.ui_management){U(J,"This server was not started with UI management enabled."),U(ve,e(J)),U(re,"");return}U(L,!0),U(ve,""),U(re,""),U(J,`Loading ${e(A).display_name}…`),pa(e(J));try{const H=fn(P),Y=e(y).filter(ne=>ne.loaded&&(ne.id!==e(A).id||fn(ne.path)!==H||!Es(ne,e(A))));for(const ne of Y)pa(`Unloading ${Pn(ne)} before loading ${e(A).display_name}.`),await ho(ne.id);Y.length&&await ei(),await Ld({id:e(A).id,path:P,family:e(A).family,task:e(A).task,mode:M||e(A).mode||"offline",load_options:e(A).load_options||{},session_options:rs(e(A))}),await ei(),U(J,e(O)("status.modelReady",{model:e(A).display_name})),U(re,""),pa(e(J))}catch(H){throw U(J,H instanceof Error?H.message:String(H)),U(re,e(J)),pa(`Load failed: ${e(J)}`),H}finally{U(L,!1)}}}async function So(){if(!e(x)?.ui_management){U(J,"Model unload is disabled for this configured server."),U(ve,e(J)),U(re,"");return}if(!e(C))return;const M=e(A).display_name;U(L,!0);try{await ho(e(A).id),await ei();const H=Nt(!0);U(J,H?`${M} unloaded. No installed model is selected.`:`${M} unloaded.`),pa(e(J))}catch(H){U(J,H instanceof Error?H.message:String(H))}finally{U(L,!1)}}async function mp(M){if(!(e(L)||!Er(e(A),M))){if(ss(e(A),M)){await So();return}if(ma(e(A),M),await pn(),e(q)!==!0){U(J,`${e(A).display_name} ${M.label} is not available at the expected path.`),U(re,e(J));return}await xo()}}async function gp(){e(L)||!e(C)||e(q)===!1||(e(c)?await So():await xo())}async function vc(M){if(!M)return;const H=e(A).task==="sep"||e(A).family==="apollo"?44100:["asr","vad","diar","align","midi"].includes(e(A).task)?16e3:void 0,Y=await pl(M,H);return Id(Y,wt?.signal)}async function Ns(){const M=e(ie).findIndex(me=>!me);if(M>=0&&e(ie).slice(M+1).some(Boolean))throw new Dn("VibeVoice speaker references must be filled from Speaker 1 without gaps.");const Y=e(ie).filter(me=>!!me);return Y.length?(await Promise.all(Y.map(me=>vc(me)))).filter(me=>!!me).join(","):void 0}function Rr(){let M={};try{if(M=JSON.parse(e(Ke)||"{}"),Array.isArray(M)||M===null)throw new Error("must be an object")}catch(ne){throw new Error(`Advanced JSON is invalid: ${ne instanceof Error?ne.message:ne}`)}const H=e(A).default_options||{},Y=Object.fromEntries(Object.entries(e(we)).filter(([ne,me])=>!(e(Ee).find(Le=>Le.name===ne)?.scope==="session"||e(A)?.family==="canary_asr"&&ne==="target_language"&&me===""||e(A)?.family==="universr"&&ne==="input_sample_rate"&&me===""||e(m)&&typeof me=="string"&&me.trim().length===0)));return{...H,...Y,...M}}function hp(){return Object.fromEntries(e(Ee).filter(M=>M.scope==="session").map(M=>[M.session_option||M.name,String(e(we)[M.name]??M.default??"")]).filter(([,M])=>M.length>0))}function _p(M){const H=atob(M),Y=new Uint8Array(H.length);for(let ne=0;netypeof Y=="object"&&Y!==null&&Y.id==="ace_step_caption_plan"&&typeof Y.payload=="string");if(H)return JSON.parse(_p(H.payload))}return typeof M.text=="string"?{caption:M.text}:{}}async function Z5(){if(!(e(A)?.family!=="ace_step"||e(Z)||e(X))){if(!e(Ae).trim()&&!e(ue).trim()){U(J,"Enter a caption or lyrics to rewrite."),U(ve,e(J)),U(re,"");return}U(X,!0),U(ve,""),U(re,""),U(J,e(O)("request.rewritingCaption"));try{await gv();const M={...Rr(),rewrite_caption:!0},H={text:e(Ae),seed:wl(e(Ze)),duration_seconds:e(Oe),options:M};e(ke).trim()&&(H.language=e(ke)),e(ue).trim()&&(H.lyrics=e(ue));const Y=await hl({model:e(A).id,request:H}),ne=X5(Y);typeof ne.caption=="string"&&ne.caption.trim()&&U(Ae,ne.caption),typeof ne.language=="string"&&ne.language.trim()&&U(ke,ne.language),typeof ne.duration_seconds=="number"&&Number.isFinite(ne.duration_seconds)&&ne.duration_seconds>0&&U(Oe,ne.duration_seconds);const me={...e(we)};typeof ne.bpm=="number"&&Number.isFinite(ne.bpm)&&(me.bpm=ne.bpm),typeof ne.keyscale=="string"&&(me.keyscale=ne.keyscale),typeof ne.timesignature=="string"&&(me.timesignature=ne.timesignature),U(we,me),U(Re,typeof Y.text=="string"?Y.text:""),U(pt,JSON.stringify(ne,null,2)),U(J,"Caption rewritten.")}catch(M){U(J,M instanceof Error?M.message:String(M)),U(re,e(J)),pa(`Caption rewrite failed: ${e(J)}`)}finally{U(X,!1)}}}function vp(){for(const M of e(lt))URL.revokeObjectURL(M.url);U(lt,[]),U(Yt,[]),U(Re,""),U(pt,"")}async function gv(){if(!e(x)?.ui_management){if(!e(y).some(M=>M.id===e(C)))throw new Error("Configured model is not registered by this server.");return}if(!e(c)&&(await xo(),await ei(),!e(y).some(M=>M.id===e(C)&&M.loaded&&Es(M,e(A)))))throw new Error("Model did not load.")}async function J5(M){if(!e(x)?.ui_management){if(!e(y).some(Y=>Y.id===e(C)&&Y.mode===M))throw new Error(`Configured model is not registered in ${M} mode.`);return}const H=e(y).find(Y=>Y.id===e(C)&&Y.loaded);if((!H||H.mode!==M)&&(await xo(M),await ei()),!e(y).some(Y=>Y.id===e(C)&&Y.loaded&&Y.mode===M&&Es(Y,e(A))))throw new Error(`Model did not load in ${M} mode.`)}function hv(){for(const M of["audio/webm;codecs=opus","audio/webm","audio/ogg;codecs=opus"])if(MediaRecorder.isTypeSupported(M))return M}async function _v(M){if(!navigator.mediaDevices?.getUserMedia||typeof MediaRecorder>"u"){U(J,"Microphone recording is not supported by this browser.");return}if(!(e(ta)||e(ui)))try{_i=await navigator.mediaDevices.getUserMedia({audio:!0});const H=[],Y=hv();U(ta,new MediaRecorder(_i,Y?{mimeType:Y}:void 0)),U(di,M),Ya(ta,e(ta).ondataavailable=ne=>{ne.data.size&&H.push(ne.data)}),Ya(ta,e(ta).onstop=()=>{const ne=new Blob(H,{type:e(ta)?.mimeType||Y||"audio/webm"}),me=new File([ne],`recording-${Date.now()}.webm`,{type:ne.type});M==="source"?U(Ot,me):(U(zt,""),U(ha,""),U(at,me),e(ce)&&Ya(ce,e(ce).value="")),_i?.getTracks().forEach(Be=>Be.stop()),_i=null,U(ta,null),U(di,null),U(J,`${M==="voice"?"Voice reference":"Source audio"} recording captured.`)}),e(ta).start(),U(J,`Recording ${M==="voice"?"voice reference":"source audio"}…`)}catch(H){U(J,H instanceof Error?H.message:String(H)),_i?.getTracks().forEach(Y=>Y.stop()),_i=null,U(ta,null),U(di,null)}}function vv(){e(ta)?.state==="recording"&&e(ta).stop()}async function bp(){try{U(Ca,await Pw())}catch(M){pa(`Voice library unavailable: ${M instanceof Error?M.message:M}`)}}async function e8(){try{U(cr,await Vd())}catch(M){pa(`Quick-start voices unavailable: ${M instanceof Error?M.message:M}`)}}async function bv(){if(!e(C)||e(x)?.ui_management!==!1){U(qi,[]);return}try{U(qi,await Vd(e(C))),e(zt)&&(new Set([...e(qi),...e(k)?e(A)?.builtin_voices||[]:[]]).has(e(zt))||U(zt,""))}catch(M){U(qi,[]),pa(`Configured voices unavailable: ${M instanceof Error?M.message:M}`)}}async function t8(){if(!e(at)){U(J,"Choose or record a voice reference first.");return}const M=e(La).trim()||e(at).name.replace(/\.[^.]+$/,""),H=await pl(e(at)),Y=crypto.randomUUID();await Nw({id:Y,name:M,transcript:e(se),audio:H,createdAt:Date.now()}),await bp(),U(ha,Y),U(La,M),U(J,`Saved voice “${M}” in this browser.`)}function a8(M){U(ha,M);const H=e(Ca).find(Y=>Y.id===M);H&&(U(zt,""),U(at,new File([H.audio],`${H.name}.wav`,{type:"audio/wav"})),U(Fe,null),e(ce)&&Ya(ce,e(ce).value=""),e(Ge)&&Ya(Ge,e(Ge).value=""),U(se,H.transcript),U(La,H.name),U(J,`Selected saved voice “${H.name}”.`))}async function i8(){if(!e(ha))return;const M=e(Ca).find(H=>H.id===e(ha));await Dw(e(ha)),U(ha,""),await bp(),U(J,`Deleted saved voice “${M?.name||""}”.`)}async function n8(M){if(!M.size)return;const H=new File([M],`live-${En}.webm`,{type:M.type}),Y=await pl(H,16e3),ne=await Id(Y),me=await Hd({model:e(A).id,audio:ne,language:e(ke),text:e(Me),options:Rr()}),Be=String(me.text||"").trim();Be&&U(Re,[e(Re),Be].filter(Boolean).join(" ")),En+=1,U(J,`Listening… ${En} chunk${En===1?"":"s"} transcribed.`)}function yv(){if(!An||Ni)return;const M=[],H=hv();Xa=new MediaRecorder(An,H?{mimeType:H}:void 0),Xa.ondataavailable=Y=>{Y.data.size&&M.push(Y.data)},Xa.onstop=()=>{const Y=new Blob(M,{type:Xa?.mimeType||H||"audio/webm"});oi=oi.then(()=>n8(Y)).catch(ne=>{U(J,ne instanceof Error?ne.message:String(ne)),pa(`Live transcription failed: ${e(J)}`)}),Xa=null,Ni||yv()},Xa.start(),window.setTimeout(()=>{Xa?.state==="recording"&&Xa.stop()},4e3)}async function r8(){if(e(S)){if(!navigator.mediaDevices?.getUserMedia||typeof MediaRecorder>"u"){U(J,"Live microphone transcription is not supported by this browser.");return}vp(),U(ui,!0),Ni=!1,En=0;try{await J5("streaming"),An=await navigator.mediaDevices.getUserMedia({audio:!0}),U(J,"Listening… speech is transcribed in four-second native streaming requests."),yv()}catch(M){U(J,M instanceof Error?M.message:String(M)),kv()}}}function kv(){Ni=!0,Xa?.state==="recording"&&Xa.stop(),An?.getTracks().forEach(M=>M.stop()),An=null,U(ui,!1),U(J,En?`Live transcription stopped after ${En} chunks.`:"Live transcription stopped.")}async function wv(){if(e(Z)||e(m)&&e(Q))return;if(!e(C)){U(J,"Choose an installed model before running a request."),U(ve,e(J)),U(re,"");return}if(!e(c)&&e(q)===!1){U(J,`${e(A).display_name} is not downloaded. Install a model package from the Models tab first.`),U(ve,e(J)),U(re,"");return}vp(),U(Z,!0),wt=new AbortController;const M=performance.now();U(ve,""),U(re,""),U(J,e(O)("status.runningTask",{task:ye(e(A).task)})),pa(e(J));try{const H=wl(e(Ze));if(e(N)&&!e(at))throw new Dn(`${e(A).display_name_en||e(A).display_name} requires a reference voice.`);if(e(F)&&!e(se).trim()){const Le=e(w)?"Qwen3-TTS Base voice cloning":e(A).display_name_en||e(A).display_name;throw new Dn(`${Le} requires a reference transcript. Choose a matching .txt file or enter the transcript.`)}if(e(R)&&!e(ue).trim())throw new Dn(`${e(A).display_name_en||e(A).display_name} requires lyrics.`);await gv();const Y=Rr();if(e(b)){const Le=await Ns();Le&&(Y.voice_samples=Le)}e(g)&&e(Ct)&&(Y.video=await Od(e(Ct),wt?.signal));const ne=e(o)?await vc(e(Ot)):void 0,me=e(v)&&!e(b)?await vc(e(at)):void 0;if(["tts","clon","vdes"].includes(e(A).task)){if(!e(Ae).trim())throw new Dn("Enter text to generate.");const Le=Math.max(40,e(Sa));e(A).family==="voxcpm2"&&(Y.text_chunk_size=Le);const st=e(hi)&&e(A).task!=="vdes"?ew(e(Ae),Le):[e(Ae)],ut=[],wa=[];for(let Ha=0;Ha1?`Synthesizing chunk ${Ha+1} of ${st.length}…`:e(O)("status.runningTask",{task:ye(e(A).task)}));const ti={model:e(A).id,input:st[Ha],language:e(ke),seed:Rs(H,Ha),options:Y};Ps(e(A))&&(ti.max_tokens=e(Bt)),me?ti.voice_ref=me:e(zt)?ti.voice=Ar[e(zt)]||e(zt):e(A).default_voice&&(ti.voice=e(A).default_voice),e(se).trim()&&_c(e(A),"reference_text")&&(ti.reference_text=e(se)),e(A).task==="vdes"&&e(je).trim()&&(ti.instructions=e(je));const hn=await Gg(ti,wt.signal);ut.push(hn.blob),wa.push({chunk:Ha+1,characters:st[Ha].length,wall_ms:hn.wallMs,rtf:hn.rtf})}const gn=await My(ut);U(lt,[{id:st.length>1?"merged":"output",url:URL.createObjectURL(gn)}]),U(pt,JSON.stringify({seed:H,chunks:st.length,characters:e(Ae).length,chunk_budget:e(Sa),timings:wa},null,2))}else if(e(A).task==="asr"){if(!ne)throw new Dn("Choose an audio file.");e(A).family in dt&&(Y.max_tokens=e(ht));const Le=await Hd({model:e(A).id,audio:ne,language:e(ke),text:e(Me),options:Y},wt.signal);U(Re,String(Le.text||"")),U(pt,JSON.stringify(Le,null,2))}else{if(e(l)&&!ne)throw new Dn("Choose a source audio file.");const Le={options:Y};if(["gen","s2s","align"].includes(e(A).task)&&e(Ae).trim()&&!e(m)&&!["apollo","universr"].includes(e(A).family)&&(Le.text=e(Ae)),["gen","s2s","align"].includes(e(A).task)&&e(ke).trim()&&!e(m)&&!["apollo","universr"].includes(e(A).family)&&(Le.language=e(ke)),e(A).task==="gen"){if(e(m))Le.lyrics=e(ue).trim();else{const ut=Gi();ut&&(Le.text=ut),e(ue).trim()&&(Le.lyrics=e(ue)),e(_)||(e(f)?Y.duration_sec=e(Oe):Le.duration_seconds=e(Oe))}Le.seed=H,Ps(e(A))&&(Le.max_tokens=e(Bt))}else e(A).task==="s2s"&&(e(A).family!=="apollo"&&(Le.seed=H),Ps(e(A))&&(Le.max_tokens=e(Bt)));ne&&(Le.audio=ne),me&&(Le.voice_ref=me),e(se).trim()&&_c(e(A),"reference_text")&&(Le.reference_text=e(se));const st=await hl({model:e(A).id,request:Le},wt.signal);typeof st.audio=="string"&&U(lt,[{id:"output",url:Qd(st.audio)}]),Array.isArray(st.named_audio_outputs)&&U(lt,st.named_audio_outputs.filter(ut=>typeof ut?.id=="string"&&typeof ut?.audio=="string").map(ut=>({id:ut.id,url:Qd(ut.audio)}))),Array.isArray(st.artifacts)&&U(Yt,st.artifacts.filter(ut=>typeof ut?.id=="string"&&typeof ut?.payload=="string").map(ut=>({id:ut.id,extension:ut.meta?.extension||(ut.meta?.format==="midi"?"mid":"bin"),url:`data:${ut.meta?.mime||"application/octet-stream"};base64,${ut.payload}`}))),U(Re,typeof st.text=="string"?st.text:""),U(pt,JSON.stringify(st,(ut,wa)=>(ut==="audio"||ut==="payload")&&typeof wa=="string"?``:wa,2))}const Be=((performance.now()-M)/1e3).toFixed(2);U(ve,""),U(re,""),U(J,e(O)("status.completeIn",{seconds:Be})),pa(e(J))}catch(H){H?.name==="AbortError"?(U(J,"Cancelled."),U(ve,""),U(re,"")):(U(J,H instanceof Error?H.message:String(H)),U(ve,H instanceof Dn?e(J):""),U(re,H instanceof Dn?"":e(J)),pa(`Request failed: ${e(J)}`))}finally{U(Z,!1),wt=null}}function s8(){wt?.abort()}function o8(M){if(M.key==="Escape"&&e(Ji)){U(Ji,!1);return}(M.ctrlKey||M.metaKey)&&M.key==="Enter"&&!e(Z)&&(M.preventDefault(),e(G)==="arena"?e($)?.runArena():wv())}async function bc(){if(e(x)?.ui_management)try{const M=await Py(),H=Object.fromEntries(M.map(me=>{const Be=e(Mt)[me.id];return[me.id,{...me,total_bytes:me.total_bytes||Be?.total_bytes||0}]}));U(Mt,{...e(Mt),...H});let Y=!1;for(const me of Ci){const Be=hc(me,e(Mt)).filter(st=>st.state==="complete");for(const st of Be){const ut=e(xt)[st.id];ut&&!ut.installed&&U(xt,{...e(xt),[st.id]:{...ut,installed:!0}}),st.finished_at_ms>(sr[st.id]||0)&&(sr={...sr,[st.id]:st.finished_at_ms},Y=!0)}Be.length>0&&me.id===e(C)&&await pn()}Y&&(U(Za,"idle"),await Pe());const ne=Object.values(e(Mt)).some(me=>me.state==="queued"||me.state==="running"||me.state==="cancelling");ne&&vi===null?vi=window.setInterval(bc,1500):!ne&&vi!==null&&(window.clearInterval(vi),vi=null)}catch(M){pa(`Installer status unavailable: ${M instanceof Error?M.message:M}`)}}async function xv(M,H,Y=!1){if(e(xt)[H.id]?.installed&&!Y)return;const ne=e(Mt)[H.id];if(ne&&["queued","running","cancelling"].includes(ne.state))return;const me=e(xt)[H.id]?.size_bytes,Be=Y?"Update":"Download";if(!window.confirm(`${Be} ${M.display_name} ${H.label}${me?` (${zr(me)})`:""}?`))return;ma(M,H),U(J,`Starting ${H.label} installation for ${M.display_name}...`);const st=e(xt)[H.id]?.size_bytes||0;U(Mt,{...e(Mt),[H.id]:{id:H.id,state:"queued",message:"Sending installation request…",exit_code:-1,downloaded_bytes:0,total_bytes:st,progress_percent:0,started_at_ms:0,finished_at_ms:0}});try{vi===null&&(vi=window.setInterval(bc,1e3));const ut=await Uy({id:H.id,overwrite:Y});U(Mt,{...e(Mt),[ut.id]:{...ut,total_bytes:ut.total_bytes||st}}),await bc(),U(J,`${M.display_name} ${H.label} installation is running in the background.`),pa(e(J))}catch(ut){U(J,ut instanceof Error?ut.message:String(ut)),U(Mt,{...e(Mt),[H.id]:{id:H.id,state:"failed",message:e(J),exit_code:-1,downloaded_bytes:0,total_bytes:0,progress_percent:-1,started_at_ms:0,finished_at_ms:Date.now()}}),pa(`Installer failed to start: ${e(J)}`)}}function c8(M,H){if(e(xt)[H.id]?.installed){ma(M,H),U(J,e(O)("status.packageAvailable",{model:M.display_name,format:H.label})),pa(e(J));return}xv(M,H)}async function l8(M,H){if(["queued","running","cancelling"].includes(H.state)){U(J,`Stopping ${M.display_name} download...`);try{const Y=await Ey(H.id);U(Mt,{...e(Mt),[Y.id]:Y}),vi===null&&(vi=window.setInterval(bc,500)),U(J,`${M.display_name} download is stopping. Staging files will be removed automatically.`),pa(e(J))}catch(Y){U(J,Y instanceof Error?Y.message:String(Y)),U(re,e(J)),U(Mt,{...e(Mt),[H.id]:{...H,state:"failed",message:e(J),finished_at_ms:Date.now()}})}}}async function d8(M,H){if(!["queued","running","cancelling"].includes(H.state)){U(J,`Cleaning partial ${M.display_name} download...`);try{const Y=await Ry(H.id);U(Mt,{...e(Mt),[H.id]:{...H,state:"cleaned",message:Y.message,downloaded_bytes:0,total_bytes:0,progress_percent:100,finished_at_ms:Date.now()}}),U(J,Y.message),pa(e(J))}catch(Y){U(J,Y instanceof Error?Y.message:String(Y)),U(re,e(J)),U(Mt,{...e(Mt),[H.id]:{...H,state:"failed",message:e(J),finished_at_ms:Date.now()}})}}}async function u8(M,H){if(!(!e(xt)[H.id]?.installed||!window.confirm(`Delete ${M.display_name} ${H.label}? -Only this package precision will be removed.`))){U(J,`Deleting ${M.display_name} ${H.label}...`);try{as(M,H)&&(U(J,`Unloading ${M.display_name} ${H.label} before deletion...`),await fo(M.id),await Za());const ne=await Ry(H.id);U(xt,{...e(xt),[H.id]:{...e(xt)[H.id],installed:!1}});const me={...e(Vt)};if(delete me[H.id],U(Vt,me),cr(M,H)){const Re=(M.install_packages||[]).find(rt=>rt.id!==H.id&&e(xt)[rt.id]?.installed),Ne={...Va};Re?Ne[M.id]=Re.id:delete Ne[M.id],Va=Ne,localStorage.setItem("audiocpp.ui.packageIds",JSON.stringify(Va)),M.id===e(C)&&(B=Mr(Re?.path||M.path))}Wt(e(xt)),U(li,"idle"),await Be(),M.id===e(C)&&(await un(),Bt()),U(J,ne.message||`${M.display_name} ${H.label} deleted.`),la(e(J))}catch(ne){U(J,ne instanceof Error?ne.message:String(ne)),la(`Package deletion failed: ${e(J)}`)}}}xs(async()=>{await Qe(),Rn=window.matchMedia("(prefers-color-scheme: dark)"),As=Rn.matches,$r=Y=>{As=Y.matches,e(Mi)==="system"&&ae()},Rn.addEventListener("change",$r),U(Mi,Dg(localStorage.getItem(Ng))),ae(e(Mi));const M=localStorage.getItem("audiocpp.ui.language");U($i,Rg(M?[M]:navigator.languages)),document.documentElement.lang=e($i);try{Va=JSON.parse(localStorage.getItem("audiocpp.ui.packageIds")||"{}")}catch{Va={}}localStorage.removeItem("audiocpp.ui.packagePaths");const H=localStorage.getItem("audiocpp.ui.model");if(H&&U(C,H),U(A,e(Na).find(Y=>Y.id===e(C))||e(Na)[0]||Fi[0]),U(qt,""),U(Ci,[]),U(Li,xe(e(A).task)),e(C)&&(Ar={...Ar,[e(Li)]:e(C)}),Nn(),await Za(),e(x)?.ui_management)try{let Y=await Ny();const ne=localStorage.getItem("audiocpp.ui.modelsFolder");ne&&ne!==Y.models_root&&(Y=await qg(ne)),mi(Y)}catch(Y){U(J,Y instanceof Error?Y.message:String(Y)),U(re,e(J)),la(`Models folder unavailable: ${e(J)}`)}B=zr(e(A)),e(x)?.ui_management?(await Be(),await un(),Bt()&&U(J,"No installed model is selected. Choose a downloaded model or install one from the Models tab.")):U(q,!!e(C)),await bp(),await K5(),await vv(),await vc()}),Xc(()=>{vt?.abort(),e(Jt)?.state==="recording"&&e(Jt).stop(),Pi=!0,La?.state==="recording"&&La.stop(),oi?.getTracks().forEach(M=>M.stop()),Gn?.getTracks().forEach(M=>M.stop());for(const M of e(ct))URL.revokeObjectURL(M.url);vi!==null&&window.clearInterval(vi),bi!==null&&window.clearInterval(bi),Rn&&$r&&Rn.removeEventListener("change",$r)}),He(()=>e($i),()=>{U(O,Ug(e($i)))}),He(()=>(e(x),Fi),()=>{U(Na,e(x)&&!e(x).ui_management?cc():Fi)}),He(()=>e(Na),()=>{U(Cs,kl(e(Na)))}),He(()=>(e(Na),e(C),Fi),()=>{U(A,e(Na).find(M=>M.id===e(C))||e(Na)[0]||Fi[0])}),He(()=>e(Li),()=>{U(r,Ze.find(M=>M.id===e(Li))||Ze[0])}),He(()=>(e(Na),e(r)),()=>{U(n,e(Na).filter(M=>e(r).tasks.some(H=>H===M.task)).sort((M,H)=>oc(M.display_name,H.display_name)))}),He(()=>(e(Cs),e(Bn)),()=>{U(i,e(Cs).map(M=>({...M,entries:M.entries.filter(H=>{const Y=Ze.find(ne=>ne.tasks.some(me=>me===H.task));return!!(Y&&e(Bn).includes(Y.id))})})).filter(M=>M.entries.length>0))}),He(()=>(e(y),e(C),e(A)),()=>{U(c,e(y).some(M=>M.id===e(C)&&M.loaded&&Ms(M,e(A))))}),He(()=>e(A),()=>{U(s,uw(e(A)?.family))}),He(()=>e(s),()=>{U(d,e(s)?.component)}),He(()=>e(s),()=>{U(p,e(s)?.replacesGenericControls||es)}),He(()=>e(s),()=>{U(m,e(s)?.requestMode==="yue2")}),He(()=>e(A),()=>{U(_,e(A)?.id==="firered-audio-semantic-edit"||e(A)?.id==="firered-audio-acoustic-edit")}),He(()=>e(A),()=>{U(h,e(A)?.family==="ace_step")}),He(()=>e(A),()=>{U(f,e(A)?.family==="controlfoley"||e(A)?.family==="midashenglm_gen")}),He(()=>e(A),()=>{U(u,(e(A)?.family==="breeze_tts"||e(A)?.family==="chatterbox_turbo")&&e(A)?.task==="tts")}),He(()=>(e(A),e(_)),()=>{U(l,["asr","vc","svc","s2s","sep","vad","diar","align","midi"].includes(e(A)?.task)||e(_))}),He(()=>(e(l),e(A),e(p)),()=>{U(o,e(l)||e(A)?.task==="gen"&&!e(p).genSource)}),He(()=>e(A),()=>{U(g,e(A)?.request_options?.includes("video")===!0)}),He(()=>(e(A),e(u)),()=>{U(v,["clon","vc","svc"].includes(e(A)?.task)&&e(A)?.family!=="rvc"||e(A)?.task==="s2s"&&e(A)?.family==="personaplex"||e(A)?.task==="tts"&&!["supertonic"].includes(e(A)?.family)&&!e(u))}),He(()=>e(A),()=>{U(b,e(A)?.family==="vibevoice")}),He(()=>e(A),()=>{U(k,!!e(A)?.builtin_voices?.length)}),He(()=>e(A),()=>{U(w,e(A)?.task==="tts"&&e(A)?.family==="qwen3_tts"&&!e(A)?.id.includes("custom"))}),He(()=>e(A),()=>{U($,["tts","clon"].includes(e(A)?.task))}),He(()=>(e($),e(qt),e(A),e(w)),()=>{U(N,!(e($)&&e(qt))&&(["clon","vc","svc"].includes(e(A)?.task)&&e(A)?.family!=="rvc"||e(w)))}),He(()=>e(A),()=>{U(R,ee(e(A),"lyrics"))}),He(()=>(e(A),e(tt),e(w)),()=>{U(F,ee(e(A),"reference_text")||!!e(tt)&&e(w))}),He(()=>(e(x),e(Ci),e(k),e(A),e(Fs)),()=>{U(sr,e(x)&&!e(x).ui_management?Array.from(new Set([...e(Ci),...e(k)?e(A)?.builtin_voices||[]:[]])):e(k)?e(A)?.builtin_voices||[]:Object.entries(qr).filter(([,M])=>e(Fs).includes(M)).map(([M])=>M))}),He(()=>(e(qt),e(x),e(k),ml),()=>{U(D,e(qt)&&e(x)?.ui_management!==!1&&!e(k)?ml(qr[e(qt)]||e(qt)):"")}),He(()=>(e(A),e(p)),()=>{U(I,["tts","clon","gen","s2s","align","vdes"].includes(e(A)?.task)&&!["apollo","universr"].includes(e(A)?.family)&&!e(p).text)}),He(()=>e(A),()=>{U(S,e(A)?.task==="asr"&&["voxtral_realtime","nemotron_asr","higgs_audio_stt","sense_asr","vibevoice_asr_streaming","confucius4_r2t2"].includes(e(A)?.family))}),He(()=>(e(x),e(xt),e(li)),()=>{U(j,e(x)===null||!!e(x).ui_management&&Object.keys(e(xt)).length===0&&e(li)!=="failed")}),He(()=>(e(Na),e(x),e(y),e(C),e(q),e(xt)),()=>{U(V,new Set(e(Na).filter(M=>{if(e(x)&&!e(x).ui_management||e(y).some(Y=>Y.id===M.id&&Y.loaded)||M.id===e(C)&&e(q)===!0)return!0;const H=M.install_packages||[];return!H.length||H.some(Y=>e(xt)[Y.id]===void 0)?!0:H.some(Y=>e(xt)[Y.id]?.installed)}).map(M=>M.id)))}),Ic(),Kc();var xv=e4();ub("1uha8ag",M=>{rd(()=>{hm.title="audio.cpp · Native Studio"})}),qe("keydown",td,i8);var yp=Lt(xv),kp=P(yp),Sv=W(P(kp),2),Tv=W(P(Sv),2),c8=P(Tv,!0);E(Tv),E(Sv),E(kp);var Fl=W(kp,2),bc=P(Fl);let $v;var l8=P(bc,!0);E(bc);var yc=W(bc,2);let qv;var d8=P(yc,!0);E(yc);var Gv=W(yc,2);{var u8=M=>{var H=ac();let Y;var ne=P(H,!0);E(H),pe(me=>{Y=za(H,1,"",null,Y,{active:e(G)==="models"}),K(ne,me)},[()=>(e(O),z(()=>e(O)("nav.models")))]),qe("click",H,Ot),se(M,H)};Te(Gv,M=>{e(x),z(()=>e(x)?.ui_management!==!1)&&M(u8)})}var Al=W(Gv,2);let Fv;var f8=P(Al,!0);E(Al),E(Fl);var wp=W(Fl,2),xp=P(wp),p8=P(xp,!0);E(xp);var is=W(xp,2);ca(is,5,()=>Bk,oa,(M,H,Y,ne)=>{var me=$s(),Re=P(me,!0);E(me);var Ne={};pe(()=>{K(Re,(e(H),z(()=>e(H).name))),Ne!==(Ne=(e(H),z(()=>e(H).code)))&&(me.value=(me.__value=(e(H),z(()=>e(H).code)))??"")}),se(M,me)}),E(is);var Av;kr(is),E(wp);var Sp=W(wp,2),Tp=P(Sp),m8=P(Tp,!0);E(Tp);var ns=W(Tp,2);ca(ns,5,()=>Xk,oa,(M,H)=>{var Y=$s(),ne=P(Y,!0);E(Y);var me={};pe(Re=>{K(ne,Re),me!==(me=(e(H),z(()=>e(H).id)))&&(Y.value=(Y.__value=(e(H),z(()=>e(H).id)))??"")},[()=>(e(O),e(H),z(()=>e(O)(`theme.${e(H).id}`,{},e(H).label)))]),se(M,Y)}),E(ns);var Cv;kr(ns),E(Sp);var $p=W(Sp,2);let Mv;var g8=W(P($p),1,!0);E($p),E(yp);var qp=W(yp,2),h8=P(qp);{var _8=M=>{var H=E6(),Y=Lt(H);ca(Y,5,()=>Ze,oa,(Je,De)=>{var Et=Bw();let st;var bt=P(Et),Ma=W(bt),Kt=P(Ma,!0);E(Ma),E(Et),pe((na,ta)=>{st=za(Et,1,"",null,st,{active:e(Li)===e(De).id}),K(bt,`${na??""} `),K(Kt,ta)},[()=>(e(De),e(O),z(()=>ma(e(De).id,e(De).label,e(O)))),()=>(e(Na),e(De),z(()=>e(Na).filter(na=>e(De).tasks.some(ta=>ta===na.task)).length))]),qe("click",Et,()=>Ha(e(De).id)),se(Je,Et)}),E(Y);var ne=W(Y,2),me=P(ne),Re=P(me),Ne=P(Re,!0);E(Re);var rt=W(Re,2),lt=P(rt,!0);E(rt);var ka=W(rt,2),pn=P(ka,!0);E(ka),E(me);var Qa=W(me,2),Ja=P(Qa),mn=P(Ja,!0);E(Ja);var Dn=W(Ja,2),Ur=P(Dn,!0);E(Dn);var yi=W(Dn,2);let lr;var dr=P(yi,!0);E(yi),E(Qa),E(ne);var gn=W(ne,2),ur=P(gn),Ii=P(ur),Rr=P(Ii,!0);E(Ii);var Oi=W(Ii,2),Cn=P(Oi),Br=P(Cn,!0);E(Cn),Cn.value=Cn.__value="";var hn=W(Cn);ca(hn,1,()=>(e(r),z(()=>e(r).tasks)),oa,(Je,De)=>{const Et=ii(()=>(e(n),e(De),z(()=>e(n).filter(Kt=>Kt.task===e(De)))));var st=Qr(),bt=Lt(st);{var Ma=Kt=>{var na=Pw();ca(na,5,()=>e(Et),oa,(ta,Ta)=>{var ei=$s(),Hi=P(ei);E(ei);var dt={};pe((Mn,ji)=>{ei.disabled=Mn,K(Hi,`${e(Ta),z(()=>e(Ta).display_name)??""}${ji??""}`),dt!==(dt=(e(Ta),z(()=>e(Ta).id)))&&(ei.value=(ei.__value=(e(Ta),z(()=>e(Ta).id)))??"")},[()=>(e(V),e(Ta),z(()=>!e(V).has(e(Ta).id))),()=>(e(V),e(Ta),e(O),z(()=>e(V).has(e(Ta).id)?"":` — ${e(O)("studio.notDownloaded")}`))]),se(ta,ei)}),E(na),pe(ta=>$e(na,"label",ta),[()=>(e(De),e(O),z(()=>It(e(De),e(O))))]),se(Kt,na)};Te(bt,Kt=>{le(e(Et)),z(()=>e(Et).length)&&Kt(Ma)})}se(Je,st)}),E(Oi);var Ln=W(Oi,2),tn=P(Ln);let fr;var aa=P(tn,!0);E(tn);var Gt=W(tn,2),Sa=P(Gt,!0);E(Gt),E(Ln);var ua=W(Ln,2);{var St=Je=>{var De=Nw();ca(De,5,()=>(e(A),z(()=>uc(e(A)))),oa,(Et,st)=>{const bt=ii(()=>(e(st),z(()=>e(st).choice))),Ma=ii(()=>(le(e(bt)),e(A),e(y),e(xt),z(()=>!!(e(bt)&&Er(e(A),e(bt),e(y),e(xt)))))),Kt=ii(()=>(le(e(bt)),e(A),e(y),z(()=>!!(e(bt)&&as(e(A),e(bt),e(y))))));var na=ac();let ta;var Ta=P(na,!0);E(na),pe(ei=>{na.disabled=e(L)||!e(Ma),$e(na,"title",(le(e(Kt)),le(e(bt)),le(e(Ma)),e(st),z(()=>e(Kt)?`Unload ${e(bt)?.label}`:e(Ma)?`Load ${e(bt)?.label}`:`${e(bt)?.label||e(st).label} is not downloaded`))),ta=za(na,1,"",null,ta,ei),K(Ta,(le(e(bt)),e(st),z(()=>e(bt)?.label||e(st).label)))},[()=>({resident:e(Kt),"selected-package":!!(e(bt)&&e(Ma)&&cr(e(A),e(bt)))})]),qe("click",na,()=>e(bt)&&mp(e(bt))),se(Et,na)}),E(De),se(Je,De)},qi=Je=>{var De=ac();let Et;var st=P(De,!0);E(De),pe((bt,Ma)=>{Et=za(De,1,"single-model-toggle",null,Et,{resident:e(c)}),De.disabled=(e(C),e(L),e(m),e(Q),e(q),e(x),z(()=>!e(C)||e(L)||e(m)&&e(Q)||e(q)===!1||!e(x)?.ui_management)),$e(De,"title",bt),K(st,Ma)},[()=>(e(x),e(c),e(O),z(()=>e(x)?.ui_management?e(c)?e(O)("studio.unload"):e(O)("studio.load"):"Configured by server config")),()=>(e(x),e(c),e(O),e(L),z(()=>e(x)?.ui_management?e(L)?e(O)("studio.working"):e(c)?e(O)("studio.bundledLoaded"):e(O)("studio.load"):e(c)?e(O)("studio.bundledLoaded"):"Configured"))]),qe("click",De,gp),se(Je,De)};Te(ua,Je=>{e(C),e(A),e(p),z(()=>e(C)&&(e(A).install_packages||[]).length&&!e(p).packageButtons)?Je(St):Je(qi,-1)})}var Ei=W(ua,2);{var Vn=Je=>{var De=Dw(),Et=P(De,!0);E(De),pe(st=>K(Et,st),[()=>(e(O),z(()=>Di(e(O))))]),se(Je,De)};Te(Ei,Je=>{e(C),e(A),z(()=>e(C)&&(e(A)?.input_hint_en||e(A)?.input_hint))&&Je(Vn)})}E(ur);var In=W(ur,2),On=P(In);{var Hn=Je=>{var De=$6(),Et=Lt(De),st=P(Et),bt=P(st),Ma=P(bt,!0);E(bt);var Kt=W(bt),na=P(Kt,!0);E(Kt),E(st);var ta=W(st,2),Ta=P(ta,!0);E(ta),E(Et);var ei=W(Et,2);{var Hi=Ie=>{var et=Lw(),Oe=Lt(et),Pt=P(Oe,!0);E(Oe);var at=W(Oe,2);sn(at),pe((Ft,kt)=>{K(Pt,Ft),$e(at,"rows",(e(A),z(()=>e(A).task==="gen"?3:4))),$e(at,"placeholder",kt)},[()=>(e(A),e(O),z(()=>e(A).task==="gen"?e(O)("request.prompt"):e(A).task==="align"?e(O)("request.alignmentText"):e(O)("request.text"))),()=>(e(A),e(O),z(()=>e(A).task==="gen"?e(O)("request.soundPlaceholder"):e(O)("request.textPlaceholder")))]),Ka(at,()=>e(Fe),Ft=>U(Fe,Ft)),se(Ie,et)};Te(ei,Ie=>{e(I)&&Ie(Hi)})}var dt=W(ei,2);{var Mn=Ie=>{var et=Vw(),Oe=P(et),Pt=P(Oe);Ga(Pt);var at=W(Pt,3,!0);E(Oe);var Ft=W(Oe,2),kt=P(Ft),mt=P(kt,!0);E(kt);var ke=W(kt,2);Ga(ke),E(Ft),E(et),pe((Le,wt)=>{K(at,Le),K(mt,wt),ke.disabled=!e(si)},[()=>(e(O),z(()=>e(O)("request.splitLongText"))),()=>(e(O),z(()=>e(O)("request.charactersPerChunk")))]),bb(Pt,()=>e(si),Le=>U(si,Le)),Ka(ke,()=>e(va),Le=>U(va,Le)),se(Ie,et)},ji=Gi(()=>(e(A),z(()=>["tts","clon"].includes(e(A).task))));Te(dt,Ie=>{e(ji)&&Ie(Mn)})}var Pr=W(dt,2);{var Ps=Ie=>{var et=Hw(),Oe=Lt(et);{var Pt=mt=>{var ke=Qr(),Le=Lt(ke);{let wt=ii(()=>e(Z)||e(L)),ra=ii(()=>(e(A),e(x),e(y),le(pl),z(()=>e(A).family==="yue2"&&!e(x)?.ui_management?async()=>{U(y,await pl())}:Za)));Yc(Le,()=>e(d),(pt,Nt)=>{Nt(pt,{get busy(){return e(wt)},get paramSpecs(){return e(Ue)},get advancedValues(){return e(we)},get catalogEntries(){return e(Na)},get loadedModels(){return e(y)},get server(){return e(x)},modelPathFor:zr,sessionOptionsFor:ts,get refreshModels(){return e(ra)},log:la,get tr(){return e(O)},localizedParameterText:Ea,setParameterValue:ft,get lyrics(){return e(ue)},set lyrics(Dt){U(ue,Dt)},get seed(){return e(Ke)},set seed(Dt){U(Ke,Dt)},get loraUploading(){return e(Q)},set loraUploading(Dt){U(Q,Dt)},$$legacy:!0})})}se(mt,ke)},at=mt=>{var ke=Iw(),Le=Lt(ke),wt=P(Le),ra=W(wt),pt=P(ra,!0);E(ra),E(Le);var Nt=W(Le,2);sn(Nt),pe((Dt,ga)=>{K(wt,`${Dt??""} `),K(pt,ga),Nt.required=e(R),$e(Nt,"aria-required",e(R))},[()=>(e(O),z(()=>e(O)("request.lyrics"))),()=>(e(R),e(O),z(()=>e(R)?e(O)("voice.required"):e(O)("request.optional")))]),Ka(Nt,()=>e(ue),Dt=>U(ue,Dt)),se(mt,ke)};Te(Oe,mt=>{e(d)?mt(Pt):mt(at,-1)})}var Ft=W(Oe,2);{var kt=mt=>{var ke=Ow(),Le=P(ke),wt=P(Le,!0);E(Le),E(ke),pe((ra,pt)=>{Le.disabled=ra,K(wt,pt)},[()=>(e(Z),e(X),e(Fe),e(ue),z(()=>e(Z)||e(X)||!e(Fe).trim()&&!e(ue).trim())),()=>(e(X),e(O),z(()=>e(X)?e(O)("request.rewritingCaption"):e(O)("request.rewriteCaption")))]),qe("click",Le,W5),se(mt,ke)};Te(Ft,mt=>{e(A),z(()=>e(A).family==="ace_step")&&mt(kt)})}se(Ie,et)};Te(Pr,Ie=>{e(A),z(()=>e(A).task==="gen")&&Ie(Ps)})}var Ns=W(Pr,2);{var $c=Ie=>{var et=Qw(),Oe=Lt(et),Pt=P(Oe),at=W(Pt),Ft=P(at,!0);E(at),E(Oe);var kt=W(Oe,2);sn(kt),pe((mt,ke)=>{K(Pt,`${mt??""} `),K(Ft,ke)},[()=>(e(O),z(()=>e(O)("request.context"))),()=>(e(O),z(()=>e(O)("request.contextHint")))]),Ka(kt,()=>e(Me),mt=>U(Me,mt)),se(Ie,et)};Te(Ns,Ie=>{e(A),z(()=>e(A).task==="asr")&&Ie($c)})}var Wn=W(Ns,2);{var To=Ie=>{var et=Ww(),Oe=Lt(et),Pt=P(Oe,!0);E(Oe);var at=W(Oe,2);sn(at),pe((Ft,kt)=>{K(Pt,Ft),$e(at,"placeholder",kt)},[()=>(e(O),z(()=>e(O)("request.voiceDescription"))),()=>(e(O),z(()=>e(O)("request.voiceDescriptionPlaceholder")))]),Ka(at,()=>e(ze),Ft=>U(ze,Ft)),se(Ie,et)};Te(Wn,Ie=>{e(A),z(()=>e(A).task==="vdes")&&Ie(To)})}var rs=W(Wn,2),ss=P(rs);{var qc=Ie=>{var et=Xw(),Oe=P(et),Pt=P(Oe),at=W(Pt);{var Ft=Le=>{var wt=ic(),ra=P(wt,!0);E(wt),pe(pt=>K(ra,pt),[()=>(e(O),z(()=>e(O)("request.autoLanguage")))]),se(Le,wt)};Te(at,Le=>{e(A),z(()=>!Pa[e(A).family])&&Le(Ft)})}E(Oe);var kt=W(Oe,2);{var mt=Le=>{var wt=Yw();ca(wt,5,()=>(e(A),z(()=>Pa[e(A).family])),oa,(ra,pt)=>{var Nt=$s(),Dt=P(Nt,!0);E(Nt);var ga={};pe(()=>{K(Dt,e(pt)),ga!==(ga=e(pt))&&(Nt.value=(Nt.__value=e(pt))??"")}),se(ra,Nt)}),E(wt),Lo(wt,()=>e(ye),ra=>U(ye,ra)),se(Le,wt)},ke=Le=>{var wt=Kw();Ga(wt),Ka(wt,()=>e(ye),ra=>U(ye,ra)),se(Le,wt)};Te(kt,Le=>{e(A),z(()=>Pa[e(A).family])?Le(mt):Le(ke,-1)})}E(et),pe(Le=>K(Pt,`${Le??""} `),[()=>(e(O),z(()=>e(O)("request.language")))]),se(Ie,et)},$o=Gi(()=>(e(A),e(p),z(()=>["tts","clon","asr","gen","s2s","align","vdes"].includes(e(A).task)&&!e(p).language&&!["apollo","universr","moss_transcribe_diarize"].includes(e(A).family))));Te(ss,Ie=>{e($o)&&Ie(qc)})}var ki=W(ss,2);{var Wa=Ie=>{var et=Zw(),Oe=P(et),Pt=P(Oe),at=W(Pt),Ft=P(at,!0);E(at),E(Oe);var kt=W(Oe,2);Ga(kt),E(et),pe((mt,ke)=>{K(Pt,`${mt??""} `),K(Ft,ke)},[()=>(e(O),z(()=>e(O)("request.seed"))),()=>(e(O),z(()=>e(O)("request.randomSeed")))]),Ka(kt,()=>e(Ke),mt=>U(Ke,mt)),se(Ie,et)},Nr=Gi(()=>(e(A),e(p),z(()=>["tts","clon","gen","s2s","vdes"].includes(e(A).task)&&!e(p).seed&&e(A).family!=="apollo")));Te(ki,Ie=>{e(Nr)&&Ie(Wa)})}var pr=W(ki,2);{var Ds=Ie=>{var et=t6(),Oe=P(et),Pt=P(Oe,!0);E(Oe);var at=W(Oe,2);{var Ft=mt=>{var ke=Jw();Ga(ke),pe(()=>{$e(ke,"min",(e(A),z(()=>e(A).family==="canary_asr"?0:1))),$e(ke,"max",(e(A),z(()=>e(A).family==="canary_asr"?1015:e(A).family==="cohere_asr"?1014:void 0)))}),Ka(ke,()=>e(gt),Le=>U(gt,Le)),se(mt,ke)},kt=mt=>{var ke=e6();Ga(ke),Ka(ke,()=>e(Rt),Le=>U(Rt,Le)),se(mt,ke)};Te(at,mt=>{e(A),z(()=>e(A).family in ba)?mt(Ft):mt(kt,-1)})}E(et),pe(mt=>K(Pt,mt),[()=>(e(O),z(()=>e(O)("request.maxTokens")))]),se(Ie,et)},mr=Gi(()=>(e(A),z(()=>js(e(A)))));Te(pr,Ie=>{e(mr)&&Ie(Ds)})}var an=W(pr,2);{var Ls=Ie=>{var et=a6(),Oe=P(et),Pt=P(Oe,!0),at=W(Pt);{var Ft=Le=>{var wt=ic(),ra=P(wt,!0);E(wt),pe(pt=>K(ra,pt),[()=>(e(O),z(()=>e(O)("request.autoDuration")))]),se(Le,wt)};Te(at,Le=>{e(h)&&Le(Ft)})}E(Oe);var kt=W(Oe,2);Ga(kt);var mt=W(kt,2);{var ke=Le=>{var wt=nu(),ra=P(wt,!0);E(wt),pe(pt=>K(ra,pt),[()=>(e(O),e(we),z(()=>e(O)("request.minimaxFrames",{frames:Number(e(we).num_frames||0)})))]),se(Le,wt)};Te(mt,Le=>{e(A),z(()=>e(A).family==="minimax_h3")&&Le(ke)})}E(et),pe(Le=>{K(Pt,Le),$e(kt,"min",e(h)?-1:1),Yi(kt,e(Ve))},[()=>(e(O),z(()=>e(O)("request.duration")))]),qe("input",kt,Le=>ea(Le.currentTarget.valueAsNumber)),se(Ie,et)};Te(an,Ie=>{e(A),e(p),z(()=>e(A).task==="gen"&&!e(p).duration)&&Ie(Ls)})}E(rs);var os=W(rs,2);{var x8=Ie=>{var et=o6(),Oe=Lt(et),Pt=P(Oe);E(Oe);var at=W(Oe,2);Ki(at,We=>U(fe,We),()=>e(fe));var Ft=W(at,2),kt=P(Ft),mt=P(kt,!0);E(kt);var ke=W(kt),Le=P(ke,!0);E(ke),E(Ft);var wt=W(Ft,2),ra=P(wt);{var pt=We=>{var Tt=Qg(),Ye=Lt(Tt),Ht=P(Ye,!0);E(Ye);var _t=W(Ye,2),it=P(_t,!0);E(_t),pe((ot,yt)=>{K(Ht,ot),K(it,yt)},[()=>(e(O),z(()=>e(O)("request.stopRecording"))),()=>(e(O),z(()=>e(O)("request.recordingMicrophone")))]),qe("click",Ye,_v),se(We,Tt)},Nt=We=>{var Tt=i6(),Ye=Lt(Tt),Ht=P(Ye,!0);E(Ye);var _t=W(Ye,2),it=P(_t,!0);E(_t);var ot=W(_t,2);{var yt=jt=>{var sa=ic(),qa=P(sa,!0);E(sa),pe(()=>K(qa,(e(zt),z(()=>e(zt).name)))),se(jt,sa)};Te(ot,jt=>{e(zt)&&jt(yt)})}pe((jt,sa,qa)=>{Ye.disabled=jt,K(Ht,sa),_t.disabled=!e(zt),K(it,qa)},[()=>(e(Jt),e(ci),z(()=>!!e(Jt)||e(ci))),()=>(e(O),z(()=>e(O)("request.recordMicrophone"))),()=>(e(O),z(()=>e(O)("file.clear")))]),qe("click",Ye,()=>hv("source")),qe("click",_t,fc),se(We,Tt)};Te(ra,We=>{e(fi)==="source"?We(pt):We(Nt,-1)})}E(wt);var Dt=W(wt,2);{let We=ii(()=>(e(O),z(()=>e(O)("file.preview"))));Sr(Dt,{get file(){return e(zt)},kind:"audio",get label(){return e(We)}})}var ga=W(Dt,2);{var $a=We=>{var Tt=s6(),Ye=P(Tt),Ht=P(Ye),_t=P(Ht,!0);E(Ht);var it=W(Ht,2),ot=P(it,!0);E(it),E(Ye);var yt=W(Ye,2);{var jt=qa=>{var Ra=n6(),wi=P(Ra,!0);E(Ra),pe(Yn=>K(wi,Yn),[()=>(e(O),z(()=>e(O)("request.stopLive")))]),qe("click",Ra,yv),se(qa,Ra)},sa=qa=>{var Ra=r6(),wi=P(Ra,!0);E(Ra),pe((Yn,cs)=>{Ra.disabled=Yn,K(wi,cs)},[()=>(e(Z),e(Jt),z(()=>e(Z)||!!e(Jt))),()=>(e(O),z(()=>e(O)("request.startLive")))]),qe("click",Ra,t8),se(qa,Ra)};Te(yt,qa=>{e(ci)?qa(jt):qa(sa,-1)})}E(Tt),pe((qa,Ra)=>{K(_t,qa),K(ot,Ra)},[()=>(e(O),z(()=>e(O)("request.liveTitle"))),()=>(e(O),z(()=>e(O)("request.liveDescription")))]),se(We,Tt)};Te(ga,We=>{e(S)&&We($a)})}pe((We,Tt,Ye,Ht)=>{K(Pt,`${We??""} ${Tt??""}`),K(mt,Ye),K(Le,Ht)},[()=>(e(O),z(()=>e(O)("request.sourceAudio"))),()=>(e(l),e(O),z(()=>e(l)?"":`(${e(O)("request.optional")})`)),()=>(e(O),z(()=>e(O)("file.choose"))),()=>(e(zt),e(O),z(()=>e(zt)?.name||e(O)("file.none")))]),qe("change",at,We=>U(zt,We.currentTarget.files?.[0]||null)),se(Ie,et)};Te(os,Ie=>{e(o)&&Ie(x8)})}var Uv=W(os,2);{var S8=Ie=>{var et=c6(),Oe=Lt(et),Pt=W(P(Oe)),at=P(Pt,!0);E(Pt),E(Oe);var Ft=W(Oe,2);Ki(Ft,We=>U(te,We),()=>e(te));var kt=W(Ft,2),mt=P(kt),ke=P(mt,!0);E(mt);var Le=W(mt),wt=P(Le,!0);E(Le),E(kt);var ra=W(kt,2),pt=P(ra),Nt=P(pt,!0);E(pt);var Dt=W(pt,2);{var ga=We=>{var Tt=ic(),Ye=P(Tt,!0);E(Tt),pe(()=>K(Ye,(e($t),z(()=>e($t).name)))),se(We,Tt)};Te(Dt,We=>{e($t)&&We(ga)})}E(ra);var $a=W(ra,2);{let We=ii(()=>(e(O),z(()=>e(O)("file.preview"))));Sr($a,{get file(){return e($t)},kind:"video",get label(){return e(We)}})}pe((We,Tt,Ye,Ht)=>{K(at,We),K(ke,Tt),K(wt,Ye),pt.disabled=!e($t),K(Nt,Ht)},[()=>(e(O),z(()=>e(O)("request.optional"))),()=>(e(O),z(()=>e(O)("file.choose"))),()=>(e($t),e(O),z(()=>e($t)?.name||e(O)("file.none"))),()=>(e(O),z(()=>e(O)("file.clear")))]),qe("change",Ft,We=>U($t,We.currentTarget.files?.[0]||null)),qe("click",pt,Sl),se(Ie,et)};Te(Uv,Ie=>{e(g)&&Ie(S8)})}var Rv=W(Uv,2);{var T8=Ie=>{var et=h6(),Oe=Lt(et);{var Pt=pt=>{var Nt=d6(),Dt=Lt(Nt),ga=P(Dt,!0);E(Dt);var $a=W(Dt,2),We=P($a),Tt=P(We,!0);E(We),We.value=We.__value="";var Ye=W(We);ca(Ye,1,()=>e(sr),oa,(ot,yt)=>{var jt=$s(),sa=P(jt,!0);E(jt);var qa={};pe(()=>{K(sa,e(yt)),qa!==(qa=e(yt))&&(jt.value=(jt.__value=e(yt))??"")}),se(ot,jt)}),E($a);var Ht;kr($a);var _t=W($a,2);{var it=ot=>{var yt=l6(),jt=Lt(yt),sa=P(jt,!0);E(jt);var qa=W(jt,2);{var Ra=wi=>{{let Yn=ii(()=>(e(O),z(()=>e(O)("file.preview"))));Sr(wi,{get src(){return e(D)},get name(){return e(qt)},kind:"audio",get label(){return e(Yn)}})}};Te(qa,wi=>{e(D)&&wi(Ra)})}pe(wi=>K(sa,wi),[()=>(e(O),z(()=>e(O)("voice.bundledNote")))]),se(ot,yt)};Te(_t,ot=>{e(qt)&&ot(it)})}pe((ot,yt)=>{K(ga,ot),K(Tt,yt),Ht!==(Ht=e(qt))&&($a.value=($a.__value=e(qt))??"",er($a,e(qt)))},[()=>(e(x),e(O),z(()=>e(x)?.ui_management===!1?e(O)("voice.configured"):e(O)("voice.quickStart"))),()=>(e(O),z(()=>e(O)("voice.useReference")))]),qe("change",$a,ot=>pc(ot.currentTarget.value)),se(pt,Nt)};Te(Oe,pt=>{e($),e(sr),z(()=>e($)&&e(sr).length)&&pt(Pt)})}var at=W(Oe,2);{var Ft=pt=>{var Nt=u6(),Dt=P(Nt),ga=P(Dt),$a=P(ga),We=W($a),Tt=P(We,!0);E(We),E(ga);var Ye=W(ga,2);Ki(Ye,xi=>U(ce,xi),()=>e(ce));var Ht=W(Ye,2),_t=P(Ht),it=P(_t,!0);E(_t);var ot=W(_t),yt=P(ot,!0);E(ot),E(Ht),E(Dt);var jt=W(Dt,2),sa=P(jt),qa=P(sa);fs(),E(sa);var Ra=W(sa,2);Ki(Ra,xi=>U(Ge,xi),()=>e(Ge));var wi=W(Ra,2),Yn=P(wi),cs=P(Yn,!0);E(Yn);var Ml=W(Yn),Dr=P(Ml,!0);E(Ml),E(wi),E(jt),E(Nt),pe((xi,Lr,Fc,Go,zp,Ep,M8)=>{K($a,`${xi??""} `),K(Tt,Lr),K(it,Fc),K(yt,Go),K(qa,`${zp??""} `),K(cs,Ep),K(Dr,M8)},[()=>(e(O),z(()=>e(O)("voice.reference"))),()=>(e(N),e(O),z(()=>e(N)?e(O)("voice.required"):e(O)("voice.optional"))),()=>(e(O),z(()=>e(O)("file.choose"))),()=>(e(tt),e(O),z(()=>e(tt)?.name||e(O)("file.none"))),()=>(e(O),z(()=>e(O)("voice.referenceText"))),()=>(e(O),z(()=>e(O)("file.choose"))),()=>(e(Ae),e(O),z(()=>e(Ae)?.name||e(O)("file.none")))]),qe("change",Ye,xi=>vo(xi.currentTarget.files?.[0]||null)),qe("change",Ra,xi=>mc(xi.currentTarget.files?.[0]||null)),se(pt,Nt)};Te(at,pt=>{(!e(k)||!e(qt))&&pt(Ft)})}var kt=W(at,2);{var mt=pt=>{var Nt=p6(),Dt=P(Nt);{var ga=We=>{var Tt=Qg(),Ye=Lt(Tt),Ht=P(Ye,!0);E(Ye);var _t=W(Ye,2),it=P(_t,!0);E(_t),pe((ot,yt)=>{K(Ht,ot),K(it,yt)},[()=>(e(O),z(()=>e(O)("request.stopRecording"))),()=>(e(O),z(()=>e(O)("voice.recording")))]),qe("click",Ye,_v),se(We,Tt)},$a=We=>{var Tt=f6(),Ye=Lt(Tt),Ht=P(Ye,!0);E(Ye);var _t=W(Ye,2),it=W(_t,2);{var ot=yt=>{var jt=ic(),sa=P(jt,!0);E(jt),pe(()=>K(sa,(e(tt),z(()=>e(tt).name)))),se(yt,jt)};Te(it,yt=>{e(tt)&&yt(ot)})}pe((yt,jt,sa)=>{Ye.disabled=yt,K(Ht,jt),_t.disabled=sa},[()=>(e(Jt),e(ci),z(()=>!!e(Jt)||e(ci))),()=>(e(O),z(()=>e(O)("request.recordMicrophone"))),()=>(e(qt),e(pa),e(tt),e(Ae),e(oe),z(()=>!e(qt)&&!e(pa)&&!e(tt)&&!e(Ae)&&!e(oe).trim()))]),qe("click",Ye,()=>hv("voice")),qe("click",_t,dp),se(We,Tt)};Te(Dt,We=>{e(fi)==="voice"?We(ga):We($a,-1)})}E(Nt),se(pt,Nt)};Te(kt,pt=>{(!e(k)||!e(qt))&&pt(mt)})}var ke=W(kt,2);{var Le=pt=>{var Nt=m6(),Dt=Lt(Nt);{let Ht=ii(()=>(e(O),z(()=>e(O)("file.preview"))));Sr(Dt,{get file(){return e(tt)},kind:"audio",get label(){return e(Ht)}})}var ga=W(Dt,2),$a=P(ga),We=W($a),Tt=P(We,!0);E(We),E(ga);var Ye=W(ga,2);sn(Ye),pe((Ht,_t,it)=>{K($a,`${Ht??""} `),K(Tt,_t),$e(Ye,"placeholder",it)},[()=>(e(O),z(()=>e(O)("voice.transcript"))),()=>(e(F),e(O),z(()=>e(F)?e(O)("voice.requiredClone"):e(O)("voice.recommendedClone"))),()=>(e(O),z(()=>e(O)("voice.transcriptPlaceholder")))]),Ka(Ye,()=>e(oe),Ht=>U(oe,Ht)),se(pt,Nt)};Te(ke,pt=>{(!e(k)||!e(qt))&&pt(Le)})}var wt=W(ke,2);{var ra=pt=>{var Nt=g6(),Dt=P(Nt),ga=P(Dt),$a=P(ga),We=W($a),Tt=P(We,!0);E(We),E(ga);var Ye=W(ga,2),Ht=P(Ye),_t=P(Ht,!0);E(Ht),Ht.value=Ht.__value="";var it=W(Ht);ca(it,1,()=>e(xa),oa,(Dr,xi)=>{var Lr=$s(),Fc=P(Lr,!0);E(Lr);var Go={};pe(()=>{K(Fc,(e(xi),z(()=>e(xi).name))),Go!==(Go=(e(xi),z(()=>e(xi).id)))&&(Lr.value=(Lr.__value=(e(xi),z(()=>e(xi).id)))??"")}),se(Dr,Lr)}),E(Ye);var ot;kr(Ye),E(Dt);var yt=W(Dt,2),jt=P(yt),sa=P(jt,!0);E(jt);var qa=W(jt,2);Ga(qa),E(yt);var Ra=W(yt,2),wi=P(Ra),Yn=P(wi,!0);E(wi);var cs=W(wi,2),Ml=P(cs,!0);E(cs),E(Ra),E(Nt),pe((Dr,xi,Lr,Fc,Go,zp,Ep)=>{K($a,`${Dr??""} `),K(Tt,xi),K(_t,Lr),ot!==(ot=e(pa))&&(Ye.value=(Ye.__value=e(pa))??"",er(Ye,e(pa))),K(sa,Fc),$e(qa,"placeholder",Go),wi.disabled=!e(tt),K(Yn,zp),cs.disabled=!e(pa),K(Ml,Ep)},[()=>(e(O),z(()=>e(O)("voice.saved"))),()=>(e(O),z(()=>e(O)("voice.browserOnly"))),()=>(e(O),z(()=>e(O)("voice.chooseSaved"))),()=>(e(O),z(()=>e(O)("voice.libraryName"))),()=>(e(O),z(()=>e(O)("voice.namePlaceholder"))),()=>(e(O),z(()=>e(O)("voice.save"))),()=>(e(O),z(()=>e(O)("common.delete")))]),qe("change",Ye,Dr=>Z5(Dr.currentTarget.value)),Ka(qa,()=>e(Xa),Dr=>U(Xa,Dr)),qe("click",wi,X5),qe("click",cs,J5),se(pt,Nt)};Te(wt,pt=>{(!e(k)||!e(qt))&&pt(ra)})}se(Ie,et)};Te(Rv,Ie=>{e(v)&&!e(b)&&Ie(T8)})}var Bv=W(Rv,2);{var $8=Ie=>{var et=v6(),Oe=W(P(et),2);ca(Oe,4,()=>[0,1,2,3],oa,(Pt,at)=>{var Ft=_6(),kt=P(Ft),mt=P(kt);E(kt);var ke=W(kt,2);Ki(ke,(Tt,Ye)=>ni(_e,e(_e)[Ye]=Tt),Tt=>e(_e)?.[Tt],()=>[at]);var Le=W(ke,2),wt=P(Le),ra=P(wt,!0);E(wt);var pt=W(wt,2),Nt=P(pt,!0);E(pt),E(Le);var Dt=W(Le,2),ga=P(Dt),$a=P(ga,!0);E(ga),E(Dt);var We=W(Dt,2);{let Tt=ii(()=>(e(O),z(()=>e(O)("file.preview"))));Sr(We,{get file(){return e(ie),z(()=>e(ie)[at])},kind:"audio",get label(){return e(Tt)}})}E(Ft),pe((Tt,Ye,Ht)=>{$e(kt,"for","vibevoice-speaker-"+at),K(mt,`Speaker ${at+1}`),$e(ke,"id","vibevoice-speaker-"+at),$e(Le,"for","vibevoice-speaker-"+at),K(ra,Tt),K(Nt,Ye),ga.disabled=(e(ie),z(()=>!e(ie)[at])),K($a,Ht)},[()=>(e(O),z(()=>e(O)("file.choose"))),()=>(e(ie),e(O),z(()=>e(ie)[at]?.name||e(O)("file.none"))),()=>(e(O),z(()=>e(O)("file.clear")))]),qe("change",ke,Tt=>Tl(at,Tt.currentTarget.files?.[0]||null)),qe("click",ga,()=>$l(at)),se(Pt,Ft)}),E(Oe),E(et),se(Ie,et)};Te(Bv,Ie=>{e(b)&&Ie($8)})}var Pv=W(Bv,2);{var q8=Ie=>{var et=S6(),Oe=P(et),Pt=P(Oe),at=W(Pt),Ft=P(at,!0);E(at),E(Oe);var kt=W(Oe,2);ca(kt,5,()=>e(Ue),oa,(mt,ke)=>{var Le=x6();let wt;var ra=P(Le),pt=P(ra,!0);E(ra);var Nt=W(ra,2);{var Dt=_t=>{var it=b6(),ot=P(it);Ga(ot);var yt=W(ot,3,!0);E(it),pe((jt,sa)=>{$e(ot,"id",(e(ke),z(()=>"param-"+e(ke).name))),pd(ot,jt),K(yt,sa)},[()=>(e(we),e(ke),z(()=>!!e(we)[e(ke).name])),()=>(e(we),e(ke),e(O),z(()=>e(we)[e(ke).name]?e(O)("common.enabled"):e(O)("common.disabled")))]),qe("change",ot,jt=>ft(e(ke),jt.currentTarget.checked)),se(_t,it)},ga=_t=>{var it=y6();ca(it,5,()=>(e(ke),z(()=>e(ke).choices||[])),oa,(yt,jt)=>{var sa=$s(),qa=P(sa,!0);E(sa);var Ra={};pe(()=>{K(qa,e(jt)),Ra!==(Ra=e(jt))&&(sa.value=(sa.__value=e(jt))??"")}),se(yt,sa)}),E(it);var ot;kr(it),pe(yt=>{$e(it,"id",(e(ke),z(()=>"param-"+e(ke).name))),ot!==(ot=yt)&&(it.value=(it.__value=yt)??"",er(it,yt))},[()=>(e(we),e(ke),z(()=>String(e(we)[e(ke).name]??"")))]),qe("change",it,yt=>ft(e(ke),yt.currentTarget.value)),se(_t,it)},$a=_t=>{var it=k6(),ot=P(it);Ga(ot);var yt=W(ot,2),jt=P(yt,!0);E(yt),E(it),pe((sa,qa)=>{$e(ot,"id",(e(ke),z(()=>"param-"+e(ke).name))),$e(ot,"min",(e(ke),z(()=>e(ke).minimum))),$e(ot,"max",(e(ke),z(()=>e(ke).maximum))),$e(ot,"step",(e(ke),z(()=>e(ke).step))),Yi(ot,sa),K(jt,qa)},[()=>(e(we),e(ke),z(()=>Number(e(we)[e(ke).name]??e(ke).default))),()=>(e(we),e(ke),z(()=>String(e(we)[e(ke).name])))]),qe("input",ot,sa=>ft(e(ke),sa.currentTarget.valueAsNumber)),se(_t,it)},We=_t=>{var it=w6();Ga(it),pe((ot,yt)=>{$e(it,"id",(e(ke),z(()=>"param-"+e(ke).name))),$e(it,"type",(e(ke),z(()=>e(ke).type==="number"?"number":"text"))),$e(it,"min",(e(ke),z(()=>e(ke).minimum))),$e(it,"max",(e(ke),z(()=>e(ke).maximum))),$e(it,"step",(e(ke),z(()=>e(ke).step))),Yi(it,ot),$e(it,"placeholder",yt)},[()=>(e(we),e(ke),z(()=>String(e(we)[e(ke).name]??""))),()=>(e(ke),e(O),z(()=>Ea(e(ke),"placeholder",e(O))))]),qe("input",it,ot=>ft(e(ke),e(ke).type==="number"?ot.currentTarget.valueAsNumber:ot.currentTarget.value)),se(_t,it)};Te(Nt,_t=>{e(ke),z(()=>e(ke).type==="bool")?_t(Dt):(e(ke),z(()=>e(ke).type==="choice")?_t(ga,1):(e(ke),z(()=>e(ke).type==="slider")?_t($a,2):_t(We,-1)))})}var Tt=W(Nt,2);{var Ye=_t=>{var it=nu(),ot=P(it,!0);E(it),pe(yt=>K(ot,yt),[()=>(e(ke),e(O),z(()=>Ea(e(ke),"info",e(O))))]),se(_t,it)},Ht=Gi(()=>(e(ke),e(O),z(()=>Ea(e(ke),"info",e(O)))));Te(Tt,_t=>{e(Ht)&&_t(Ye)})}E(Le),pe(_t=>{wt=za(Le,1,"",null,wt,{wide:e(ke).type==="text"}),$e(ra,"for",(e(ke),z(()=>"param-"+e(ke).name))),K(pt,_t)},[()=>(e(ke),e(O),z(()=>Ea(e(ke),"label",e(O))))]),se(mt,Le)}),E(kt),E(et),pe(mt=>{K(Pt,`${mt??""} `),K(Ft,(e(Ue),z(()=>e(Ue).length)))},[()=>(e(O),z(()=>e(O)("options.modelParameters")))]),se(Ie,et)};Te(Pv,Ie=>{e(Ue),e(p),z(()=>e(Ue).length&&!e(p).params)&&Ie(q8)})}var Nv=W(Pv,2);{var G8=Ie=>{var et=T6(),Oe=P(et),Pt=P(Oe);fs(),E(Oe);var at=W(Oe,2);sn(at),E(et),pe(Ft=>K(Pt,`${Ft??""} `),[()=>(e(O),z(()=>e(O)("options.additional")))]),Ka(at,()=>e(Xe),Ft=>U(Xe,Ft)),se(Ie,et)};Te(Nv,Ie=>{e(p),z(()=>!e(p).advancedJson)&&Ie(G8)})}var Dv=W(Nv,2),qo=P(Dv),Lv=P(qo),F8=P(Lv,!0);E(Lv),fs(2),E(qo);var Gc=W(qo,2),A8=P(Gc,!0);E(Gc);var Mp=W(Gc,2);let Vv;var C8=P(Mp,!0);E(Mp),E(Dv),pe((Ie,et,Oe,Pt,at)=>{K(Ma,Ie),K(na,et),K(Ta,(e(A),z(()=>e(A)?.task))),qo.disabled=!e(C)||e(Z)||e(m)&&e(Q)||!e(c)&&e(q)===!1,$e(qo,"title",e(C)?!e(c)&&e(q)===!1?"Install this model from the Models tab first":"":"Choose an installed model first"),K(F8,Oe),Gc.disabled=!e(Z),K(A8,Pt),Vv=za(Mp,1,"status",null,Vv,{busy:e(Z),warning:!e(Z)&&e(J)===e(be),error:!e(Z)&&e(J)===e(re)}),K(C8,at)},[()=>(e(O),z(()=>e(O)("request.label"))),()=>(e(O),z(()=>e(O)("request.title"))),()=>(e(Z),e(O),z(()=>e(Z)?e(O)("run.working"):e(O)("run.run"))),()=>(e(O),z(()=>e(O)("run.cancel"))),()=>(e(J),e(O),z(()=>nt(e(J),e(O))))]),qe("click",qo,kv),qe("click",Gc,a8),se(Je,De)},ko=Je=>{var De=q6(),Et=Lt(De),st=P(Et),bt=P(st),Ma=P(bt,!0);E(bt);var Kt=W(bt),na=P(Kt,!0);E(Kt),E(st),E(Et);var ta=W(Et,2),Ta=P(ta),ei=P(Ta,!0);E(Ta),E(ta),pe((Hi,dt,Mn)=>{K(Ma,Hi),K(na,dt),K(ei,Mn)},[()=>(e(O),z(()=>e(O)("request.label"))),()=>(e(O),z(()=>e(O)("studio.noModel"))),()=>(e(O),z(()=>e(O)("studio.chooseInstalled")))]),se(Je,De)};Te(On,Je=>{e(C)?Je(Hn):Je(ko,-1)})}E(In);var wo=W(In,2),kc=P(wo),Rs=P(kc),Bs=P(Rs),Gp=P(Bs,!0);E(Bs);var xo=W(Bs),Fp=P(xo,!0);E(xo),E(Rs);var Cl=W(Rs,2);{var Ap=Je=>{var De=G6(),Et=P(De);E(De),pe(st=>K(Et,`${e(ct),z(()=>e(ct).length)??""} ${st??""}`),[()=>(e(ct),e(O),z(()=>e(ct).length===1?e(O)("result.track"):e(O)("result.tracks")))]),se(Je,De)};Te(Cl,Je=>{e(ct),z(()=>e(ct).length)&&Je(Ap)})}E(kc);var wc=W(kc,2);{var Qn=Je=>{var De=Wg();ca(De,5,()=>e(ct),oa,(Et,st)=>{var bt=F6(),Ma=P(bt),Kt=P(Ma),na=P(Kt,!0);E(Kt);var ta=W(Kt),Ta=P(ta,!0);E(ta),E(Ma);var ei=W(Ma,2);E(bt),pe(Hi=>{K(na,(e(st),z(()=>e(st).id))),$e(ta,"href",(e(st),z(()=>e(st).url))),$e(ta,"download",(e(A),e(st),z(()=>`${e(A).id}-${e(st).id}.wav`))),K(Ta,Hi),$e(ei,"src",(e(st),z(()=>e(st).url)))},[()=>(e(O),z(()=>e(O)("result.saveWav")))]),se(Et,bt)}),E(De),se(Je,De)};Te(wc,Je=>{e(ct),z(()=>e(ct).length)&&Je(Qn)})}var Yt=W(wc,2);{var _n=Je=>{var De=Wg();ca(De,5,()=>e(Qt),oa,(Et,st)=>{var bt=A6(),Ma=P(bt),Kt=P(Ma),na=P(Kt,!0);E(Kt);var ta=W(Kt),Ta=P(ta);E(ta),E(Ma),E(bt),pe(ei=>{K(na,(e(st),z(()=>e(st).id))),$e(ta,"href",(e(st),z(()=>e(st).url))),$e(ta,"download",(e(A),e(st),z(()=>`${e(A).id}-${e(st).id}.${e(st).extension}`))),K(Ta,`Save ${ei??""}`)},[()=>(e(st),z(()=>e(st).extension.toUpperCase()))]),se(Et,bt)}),E(De),se(Je,De)};Te(Yt,Je=>{e(Qt),z(()=>e(Qt).length)&&Je(_n)})}var ia=W(Yt,2);{var So=Je=>{var De=C6(),Et=W(P(De)),st=P(Et,!0);E(Et),E(De),pe(bt=>K(st,bt),[()=>(e(O),z(()=>e(O)("result.empty")))]),se(Je,De)};Te(ia,Je=>{e(ct),e(Qt),z(()=>!e(ct).length&&!e(Qt).length)&&Je(So)})}var xc=W(ia,2);{var Sc=Je=>{var De=M6();sn(De),pe(()=>Yi(De,e(je))),se(Je,De)};Te(xc,Je=>{e(je)&&Je(Sc)})}var Tc=W(xc,2);{var Cp=Je=>{var De=z6(),Et=P(De,!0);E(De),pe(()=>K(Et,e(ut))),se(Je,De)};Te(Tc,Je=>{e(ut)&&Je(Cp)})}E(wo),E(gn),pe((Je,De,Et,st,bt,Ma,Kt,na,ta,Ta,ei,Hi,dt)=>{$e(Y,"aria-label",Je),K(Ne,De),K(lt,Et),K(pn,st),K(mn,bt),K(Ur,Ma),lr=za(yi,1,"",null,lr,{ready:e(c)}),K(dr,Kt),K(Rr,na),Oi.disabled=e(j),K(Br,ta),fr=za(tn,1,"",null,fr,{good:e(q)===!0,bad:e(q)===!1}),K(aa,Ta),K(Sa,ei),K(Gp,Hi),K(Fp,dt)},[()=>(e(O),z(()=>e(O)("nav.workflows"))),()=>(e(O),z(()=>e(O)("studio.eyebrow"))),()=>(e(C),e(A),e(O),z(()=>e(C)?It(e(A)?.task,e(O)):e(O)("studio.title"))),()=>(e(O),e(Li),z(()=>e(O)(`studio.subtitle.${e(Li)}`))),()=>(e(O),z(()=>e(O)("studio.model"))),()=>(e(C),e(A),e(O),z(()=>e(C)?e(A).display_name:e(O)("studio.noModel"))),()=>(e(C),e(c),e(O),e(q),z(()=>e(C)?e(c)?e(O)("studio.resident"):e(q)===!1?e(O)("studio.notInstalled"):e(O)("studio.available"):e(O)("studio.chooseInstalled"))),()=>(e(O),z(()=>e(O)("studio.model"))),()=>(e(O),z(()=>e(O)("studio.noModel"))),()=>(e(C),e(O),e(q),z(()=>e(C)?e(q)===!0?e(O)("studio.pathFound"):e(q)===!1?e(O)("studio.pathMissing"):e(O)("studio.pathUnknown"):e(O)("studio.noModel"))),()=>(e(C),e(O),e(A),z(()=>e(C)?e(O)("studio.estimatedVram",{value:e(A)?.min_vram_gb||"?"}):e(O)("studio.vram"))),()=>(e(O),z(()=>e(O)("result.label"))),()=>(e(O),z(()=>e(O)("result.title")))]),Lo(Oi,()=>e(C),Je=>U(C,Je)),qe("change",Oi,Je=>ya(Je.currentTarget.value)),se(M,H)},v8=M=>{Ki(Mw(M,{get activeCatalog(){return e(Na)},get loadedModels(){return e(y)},get server(){return e(x)},get modelsFolder(){return e(Ni)},get maxTokens(){return e(Rt)},entrySelectable:ve,studioPackageSlots:uc,packageIsAvailable:Er,packageSessionOptionsMatch:lc,supportsMaxTokens:js,supportsRequestOption:hc,requiresRequestOption:ee,refresh:Za,log:la,get tr(){return e(O)},$$legacy:!0}),H=>U(T,H),()=>e(T))},b8=M=>{var H=Q6(),Y=Lt(H),ne=P(Y),me=P(ne,!0);E(ne);var Re=W(ne),Ne=P(Re,!0);E(Re);var rt=W(Re,2),lt=P(rt,!0);E(rt),E(Y);var ka=W(Y,2),pn=P(ka),Qa=P(pn),Ja=P(Qa),mn=P(Ja),Dn=W(mn),Ur=P(Dn,!0);E(Dn),E(Ja);var yi=W(Ja,2);Ga(yi);var lr=W(yi,2);{var dr=aa=>{var Gt=nu(),Sa=P(Gt);E(Gt),pe(ua=>K(Sa,`${ua??""}: ${e(nr)??""}`),[()=>(e(O),z(()=>e(O)("models.default")))]),se(aa,Gt)};Te(lr,aa=>{e(nr)&&aa(dr)})}E(Qa);var gn=W(Qa,2),ur=P(gn,!0);E(gn);var Ii=W(gn,2),Rr=P(Ii,!0);E(Ii);var Oi=W(Ii,2),Cn=P(Oi,!0);E(Oi),E(pn);var Br=W(pn,2),hn=P(Br),Ln=P(hn,!0);E(hn);var tn=W(hn,2);ca(tn,5,()=>Ze,oa,(aa,Gt)=>{var Sa=j6(),ua=P(Sa);Ga(ua);var St=W(ua,2),qi=P(St,!0);E(St),E(Sa),pe((Ei,Vn)=>{pd(ua,Ei),K(qi,Vn)},[()=>(e(Bn),e(Gt),z(()=>e(Bn).includes(e(Gt).id))),()=>(e(Gt),e(O),z(()=>ma(e(Gt).id,e(Gt).filterLabel,e(O))))]),qe("change",ua,Ei=>fn(e(Gt).id,Ei.currentTarget.checked)),se(aa,Sa)}),E(tn),E(Br),E(ka);var fr=W(ka,2);ca(fr,4,()=>[0,1],oa,(aa,Gt)=>{var Sa=H6();ca(Sa,5,()=>e(i),oa,(ua,St,qi)=>{var Ei=Qr(),Vn=Lt(Ei);{var In=On=>{var Hn=O6();let ko;Vm(Hn,`--model-order: ${qi}`);var wo=P(Hn),kc=P(wo,!0);E(wo);var Rs=W(wo,2),Bs=P(Rs),Gp=P(Bs);E(Bs);var xo=W(Bs,2),Fp=P(xo,!0);E(xo);var Cl=W(xo,2),Ap=P(Cl,!0);E(Cl),E(Rs);var wc=W(Rs,2);ca(wc,5,()=>(e(St),z(()=>e(St).entries)),oa,(Qn,Yt)=>{const _n=ii(()=>(e(St),e(Yt),z(()=>fp(e(St),e(Yt))))),ia=ii(()=>(le(e(_n)),e(Vt),z(()=>ql(e(_n),e(Vt)))));var So=I6();let xc;var Sc=P(So),Tc=P(Sc),Cp=P(Tc,!0);E(Tc);var Je=W(Tc,2),De=P(Je);E(Je),E(Sc);var Et=W(Sc,2),st=P(Et);{var bt=Kt=>{var na=L6(),ta=Lt(na);ca(ta,5,()=>e(_n),oa,(Hi,dt)=>{var Mn=P6(),ji=P(Mn);let Pr;var Ps=P(ji),Ns=P(Ps,!0);E(Ps);var $c=W(Ps,2);{var Wn=ki=>{var Wa=U6(),Nr=P(Wa,!0);E(Wa),pe(pr=>K(Nr,pr),[()=>(e(xt),e(dt),e(li),e(Yt),e(O),z(()=>Ce(e(xt)[e(dt).id],e(li),cr(e(Yt),e(dt)),e(O))))]),se(ki,Wa)},To=Gi(()=>(e(xt),e(dt),e(li),e(Yt),e(O),z(()=>Ce(e(xt)[e(dt).id],e(li),cr(e(Yt),e(dt)),e(O)))));Te($c,ki=>{e(To)&&ki(Wn)})}E(ji);var rs=W(ji,2);{var ss=ki=>{var Wa=R6(),Nr=P(Wa,!0);E(Wa),pe((pr,Ds)=>{$e(Wa,"title",(e(dt),z(()=>`Update ${e(dt).label}`))),$e(Wa,"aria-label",(e(Yt),e(dt),z(()=>`Update ${e(Yt).display_name} ${e(dt).label}`))),Wa.disabled=pr,K(Nr,Ds)},[()=>(e(St),e(Vt),z(()=>Gl(e(St),e(Vt)))),()=>(e(O),z(()=>e(O)("models.update")))]),qe("click",Wa,()=>wv(e(Yt),e(dt),!0)),se(ki,Wa)};Te(rs,ki=>{e(xt),e(dt),z(()=>e(xt)[e(dt).id]?.installed&&e(xt)[e(dt).id]?.version_state==="update_available")&&ki(ss)})}var qc=W(rs,2);{var $o=ki=>{var Wa=B6();pe(()=>{$e(Wa,"title",(e(dt),z(()=>`Delete ${e(dt).label}`))),$e(Wa,"aria-label",(e(Yt),e(dt),z(()=>`Delete ${e(Yt).display_name} ${e(dt).label}`)))}),qe("click",Wa,()=>o8(e(Yt),e(dt))),se(ki,Wa)};Te(qc,ki=>{e(xt),e(dt),z(()=>e(xt)[e(dt).id]?.installed)&&ki($o)})}E(Mn),pe((ki,Wa,Nr,pr,Ds)=>{Pr=za(ji,1,"package-install",null,Pr,ki),$e(ji,"aria-pressed",Wa),ji.disabled=Nr,$e(ji,"title",pr),K(Ns,Ds)},[()=>({preferred:cr(e(Yt),e(dt)),downloaded:e(xt)[e(dt).id]?.installed}),()=>(e(Yt),e(dt),z(()=>cr(e(Yt),e(dt)))),()=>(e(St),e(Vt),e(li),e(xt),z(()=>Gl(e(St),e(Vt))||e(li)==="running"&&Object.keys(e(xt)).length===0)),()=>(e(dt),z(()=>`${e(dt).format.toUpperCase()} ${e(dt).precision}: ${Mr(e(dt).path)}`)),()=>(e(dt),e(Vt),e(O),z(()=>Pe(e(dt),e(Vt)[e(dt).id],e(O))))]),qe("click",ji,()=>n8(e(Yt),e(dt))),se(Hi,Mn)}),E(ta);var Ta=W(ta,2);{var ei=Hi=>{var dt=D6();let Mn;var ji=P(dt),Pr=P(ji),Ps=P(Pr,!0);E(Pr);var Ns=W(Pr,2),$c=P(Ns,!0);E(Ns),E(ji);var Wn=W(ji,2);let To;var rs=P(Wn);E(Wn);var ss=W(Wn,2),qc=P(ss,!0);E(ss);var $o=W(ss,2),ki=P($o);{var Wa=mr=>{var an=N6(),Ls=P(an,!0);E(an),pe(os=>{an.disabled=(le(e(ia)),z(()=>e(ia).state==="cancelling")),K(Ls,os)},[()=>(e(O),z(()=>e(O)("models.stopDownload")))]),qe("click",an,()=>r8(e(Yt),e(ia))),se(mr,an)},Nr=Gi(()=>(le(e(ia)),z(()=>["queued","running","cancelling"].includes(e(ia).state)))),pr=mr=>{var an=ac(),Ls=P(an,!0);E(an),pe(os=>K(Ls,os),[()=>(e(O),z(()=>e(O)("models.cleanPartial")))]),qe("click",an,()=>s8(e(Yt),e(ia))),se(mr,an)},Ds=Gi(()=>(le(e(ia)),z(()=>["failed","cancelled"].includes(e(ia).state))));Te(ki,mr=>{e(Nr)?mr(Wa):e(Ds)&&mr(pr,1)})}E($o),E(dt),pe((mr,an,Ls,os)=>{Mn=za(dt,1,"install-progress",null,Mn,{failed:e(ia).state==="failed",cancelled:e(ia).state==="cancelled",cleaned:e(ia).state==="cleaned"}),$e(dt,"title",(le(e(ia)),z(()=>e(ia).message))),K(Ps,(le(e(ia)),z(()=>e(ia).state))),K($c,mr),To=za(Wn,1,"install-progress-track",null,To,an),$e(Wn,"aria-label",(e(Yt),z(()=>`${e(Yt).display_name} download progress`))),$e(Wn,"aria-valuenow",Ls),Vm(rs,os),K(qc,(le(e(ia)),z(()=>e(ia).message)))},[()=>(le(e(ia)),z(()=>up(e(ia)))),()=>({indeterminate:["running","cancelling"].includes(e(ia).state)&&e(ia).progress_percent<0}),()=>(le(e(ia)),z(()=>Es(e(ia)))),()=>(le(e(ia)),z(()=>`width: ${Es(e(ia))}%`))]),se(Hi,dt)};Te(Ta,Hi=>{le(e(ia)),z(()=>e(ia)&&e(ia).state!=="complete")&&Hi(ei)})}pe(()=>za(ta,1,(le(e(_n)),z(()=>`package-buttons${e(_n).length>3?" wide-package-set":""}`)))),se(Kt,na)},Ma=Kt=>{var na=V6(),ta=P(na,!0);E(na),pe(Ta=>K(ta,Ta),[()=>(e(O),e(St),z(()=>e(O)("models.sharedPackage",{name:e(St).label})))]),se(Kt,na)};Te(st,Kt=>{le(e(_n)),z(()=>e(_n).length)?Kt(bt):(e(Yt),z(()=>(e(Yt).install_packages||[]).length)&&Kt(Ma,1))})}E(Et),E(So),pe(Kt=>{xc=za(So,1,"model-variant",null,xc,{"selected-variant":e(Yt).id===e(C)}),K(Cp,(e(Yt),z(()=>e(Yt).display_name))),K(De,`${Kt??""} · VRAM ~${e(Yt),z(()=>e(Yt).min_vram_gb||"?")??""} GB`)},[()=>(e(Yt),e(O),z(()=>It(e(Yt).task,e(O))))]),se(Qn,So)}),E(wc),E(Hn),pe((Qn,Yt,_n,ia)=>{ko=za(Hn,1,"model-family-card",null,ko,Qn),K(kc,Yt),K(Gp,`${e(St),z(()=>e(St).entries.length)??""} ${_n??""}`),K(Fp,(e(St),z(()=>e(St).label))),K(Ap,ia)},[()=>({selected:e(St).entries.some(Qn=>Qn.id===e(C))}),()=>(e(St),z(()=>e(St).entries[0].task.toUpperCase())),()=>(e(St),e(O),z(()=>e(St).entries.length===1?e(O)("models.model"):e(O)("models.variants"))),()=>(e(St),e(O),z(()=>e(St).entries.map(Qn=>It(Qn.task,e(O))).filter((Qn,Yt,_n)=>_n.indexOf(Qn)===Yt).join(" · ")))]),se(On,Hn)};Te(Vn,On=>{qi%2===Gt&&On(In)})}se(ua,Ei)}),E(Sa),se(aa,Sa)}),E(fr),pe((aa,Gt,Sa,ua,St,qi,Ei,Vn,In,On,Hn)=>{K(me,aa),K(Ne,Gt),K(lt,Sa),K(mn,`${ua??""} `),K(Ur,St),$e(yi,"placeholder",qi),gn.disabled=e(Ti),K(ur,Ei),Ii.disabled=Vn,K(Rr,In),Oi.disabled=e(Ti)||e(Gs),K(Cn,On),K(Ln,Hn)},[()=>(e(O),z(()=>e(O)("models.eyebrow"))),()=>(e(O),z(()=>e(O)("models.title"))),()=>(e(O),z(()=>e(O)("models.subtitle"))),()=>(e(O),z(()=>e(O)("models.folder"))),()=>(e(O),z(()=>e(O)("models.folderHint"))),()=>(e(nr),e(O),z(()=>e(nr)||e(O)("models.folderPlaceholder"))),()=>(e(O),z(()=>e(O)("common.browse"))),()=>(e(Ti),e(Ai),e(Ni),z(()=>e(Ti)||!e(Ai).trim()||e(Ai).trim()===e(Ni))),()=>(e(Ti),e(O),z(()=>e(Ti)?e(O)("common.applying"):e(O)("common.apply"))),()=>(e(O),z(()=>e(O)("models.useDefault"))),()=>(e(O),z(()=>e(O)("models.showTypes")))]),Ka(yi,()=>e(Ai),aa=>U(Ai,aa)),qe("click",gn,()=>di()),qe("click",Ii,()=>Da(!1)),qe("click",Oi,()=>Da(!0)),se(M,H)},y8=M=>{var H=W6(),Y=Lt(H),ne=P(Y),me=P(ne,!0);E(ne);var Re=W(ne),Ne=P(Re,!0);E(Re);var rt=W(Re),lt=P(rt,!0);E(rt),E(Y);var ka=W(Y,2),pn=P(ka),Qa=P(pn),Ja=P(Qa),mn=P(Ja,!0);E(Ja);var Dn=W(Ja),Ur=P(Dn,!0);E(Dn),E(Qa);var yi=W(Qa,2),lr=P(yi),dr=P(lr,!0);E(lr);var gn=W(lr),ur=P(gn,!0);E(gn),E(yi);var Ii=W(yi,2),Rr=P(Ii),Oi=P(Rr,!0);E(Rr);var Cn=W(Rr),Br=P(Cn,!0);E(Cn),E(Ii);var hn=W(Ii,2),Ln=P(hn),tn=P(Ln,!0);E(Ln);var fr=W(Ln),aa=P(fr,!0);E(fr),E(hn),E(pn);var Gt=W(pn,2),Sa=P(Gt,!0);E(Gt),E(ka),pe((ua,St,qi,Ei,Vn,In,On,Hn,ko)=>{K(me,ua),K(Ne,St),K(lt,qi),K(mn,Ei),K(Ur,(e(x),z(()=>e(x)?.status||"offline"))),K(dr,Vn),K(ur,(e(x),z(()=>e(x)?.backend||"—"))),K(Oi,In),K(Br,(e(y),z(()=>e(y).length))),K(tn,On),K(aa,Hn),K(Sa,ko)},[()=>(e(O),z(()=>e(O)("runtime.eyebrow"))),()=>(e(O),z(()=>e(O)("runtime.title"))),()=>(e(O),z(()=>e(O)("runtime.subtitle"))),()=>(e(O),z(()=>e(O)("runtime.status"))),()=>(e(O),z(()=>e(O)("runtime.backend"))),()=>(e(O),z(()=>e(O)("runtime.registered"))),()=>(e(O),z(()=>e(O)("runtime.resident"))),()=>(e(y),z(()=>e(y).filter(ua=>ua.loaded).length)),()=>(e(fa),e(O),z(()=>e(fa).length?e(fa).join(` -`):e(O)("runtime.noEvents")))]),se(M,H)};Te(h8,M=>{e(G)==="studio"?M(_8):e(G)==="arena"?M(v8,1):e(G)==="models"?M(b8,2):M(y8,-1)})}E(qp);var zv=W(qp,2);{var k8=M=>{var H=J6(),Y=P(H),ne=P(Y),me=P(ne),Re=P(me),Ne=P(Re,!0);E(Re);var rt=W(Re),lt=P(rt,!0);E(rt),E(me);var ka=W(me,2),pn=P(ka,!0);E(ka),E(ne);var Qa=W(ne,2),Ja=P(Qa,!0);E(Qa);var mn=W(Qa,2);{var Dn=aa=>{var Gt=Y6();ca(Gt,5,()=>(e(Fa),z(()=>e(Fa).roots)),oa,(Sa,ua)=>{var St=ac(),qi=P(St,!0);E(St),pe(()=>K(qi,e(ua))),qe("click",St,()=>di(e(ua))),se(Sa,St)}),E(Gt),se(aa,Gt)};Te(mn,aa=>{e(Fa),z(()=>e(Fa)?.roots.length)&&aa(Dn)})}var Ur=W(mn,2),yi=P(Ur),lr=P(yi,!0);E(yi);var dr=W(yi,2),gn=P(dr,!0);E(dr),E(Ur);var ur=W(Ur,2);{var Ii=aa=>{var Gt=K6(),Sa=P(Gt,!0);E(Gt),pe(()=>K(Sa,e(Ji))),se(aa,Gt)},Rr=aa=>{var Gt=Yg(),Sa=P(Gt,!0);E(Gt),pe(ua=>K(Sa,ua),[()=>(e(O),z(()=>e(O)("folder.loadingFolders")))]),se(aa,Gt)},Oi=aa=>{var Gt=Z6();ca(Gt,5,()=>(e(Fa),z(()=>e(Fa).directories)),oa,(Sa,ua)=>{var St=X6(),qi=W(P(St)),Ei=P(qi,!0);E(qi),E(St),pe(()=>{$e(St,"title",(e(ua),z(()=>e(ua).path))),K(Ei,(e(ua),z(()=>e(ua).name)))}),qe("click",St,()=>di(e(ua).path)),se(Sa,St)}),E(Gt),se(aa,Gt)},Cn=aa=>{var Gt=Yg(),Sa=P(Gt,!0);E(Gt),pe(ua=>K(Sa,ua),[()=>(e(O),z(()=>e(O)("folder.empty")))]),se(aa,Gt)};Te(ur,aa=>{e(Ji)?aa(Ii):e(Un)?aa(Rr,1):(e(Fa),z(()=>e(Fa)?.directories.length)?aa(Oi,2):aa(Cn,-1))})}var Br=W(ur,2),hn=P(Br),Ln=P(hn,!0);E(hn);var tn=W(hn,2),fr=P(tn,!0);E(tn),E(Br),E(Y),E(H),pe((aa,Gt,Sa,ua,St,qi,Ei,Vn,In,On)=>{K(Ne,aa),K(lt,Gt),$e(ka,"aria-label",Sa),$e(ka,"title",ua),K(pn,St),K(Ja,qi),yi.disabled=(e(Fa),e(Un),z(()=>!e(Fa)?.parent||e(Un))),K(lr,Ei),dr.disabled=e(Un),K(gn,Vn),K(Ln,In),tn.disabled=!e(Fa)||e(Un),K(fr,On)},[()=>(e(O),z(()=>e(O)("folder.eyebrow"))),()=>(e(O),z(()=>e(O)("folder.title"))),()=>(e(O),z(()=>e(O)("folder.closeLabel"))),()=>(e(O),z(()=>e(O)("common.close"))),()=>(e(O),z(()=>e(O)("common.close"))),()=>(e(Fa),e(O),z(()=>e(Fa)?.current||e(O)("folder.loading"))),()=>(e(O),z(()=>e(O)("folder.up"))),()=>(e(O),z(()=>e(O)("common.refresh"))),()=>(e(O),z(()=>e(O)("common.cancel"))),()=>(e(O),z(()=>e(O)("folder.select")))]),qe("click",ka,()=>U(An,!1)),qe("click",yi,()=>di(e(Fa)?.parent||"")),qe("click",dr,()=>di(e(Fa)?.current||"")),qe("click",hn,()=>U(An,!1)),qe("click",tn,en),se(M,H)};Te(zv,M=>{e(An)&&M(k8)})}var Ev=W(zv,2),jv=W(P(Ev)),w8=P(jv,!0);E(jv),E(Ev),pe((M,H,Y,ne,me,Re,Ne,rt,lt,ka)=>{K(c8,M),$e(Fl,"aria-label",H),$v=za(bc,1,"",null,$v,{active:e(G)==="studio"}),K(l8,Y),qv=za(yc,1,"",null,qv,{active:e(G)==="arena"}),K(d8,ne),Fv=za(Al,1,"",null,Fv,{active:e(G)==="logs"}),K(f8,me),K(p8,Re),$e(is,"aria-label",Ne),Av!==(Av=e($i))&&(is.value=(is.__value=e($i))??"",er(is,e($i))),K(m8,rt),$e(ns,"aria-label",lt),Cv!==(Cv=e(Mi))&&(ns.value=(ns.__value=e(Mi))??"",er(ns,e(Mi))),Mv=za($p,1,"server-pill",null,Mv,{online:e(x)?.status==="ok"}),K(g8,(e(x),z(()=>e(x)?.backend||"offline"))),K(w8,ka)},[()=>(e(O),z(()=>e(O)("app.nativeStudio"))),()=>(e(O),z(()=>e(O)("nav.primary"))),()=>(e(O),z(()=>e(O)("nav.studio"))),()=>(e(O),z(()=>e(O)("nav.arena"))),()=>(e(O),z(()=>e(O)("nav.runtime"))),()=>(e(O),z(()=>e(O)("language.label"))),()=>(e(O),z(()=>e(O)("language.label"))),()=>(e(O),z(()=>e(O)("theme.label"))),()=>(e(O),z(()=>e(O)("theme.label"))),()=>(e(O),z(()=>e(O)("footer.embedded")))]),qe("click",bc,_a),qe("click",yc,()=>U(G,"arena")),qe("click",Al,()=>U(G,"logs")),qe("change",is,M=>Se(M.currentTarget.value)),qe("change",ns,M=>Ee(M.currentTarget.value)),se(t,xv),ms()}const a4=Object.freeze(Object.defineProperty({__proto__:null,component:t4},Symbol.toStringTag,{value:"Module"})),i4=Object.freeze(Object.defineProperty({__proto__:null,default:({status:t,message:a})=>` +Only this package precision will be removed.`))){U(J,`Deleting ${M.display_name} ${H.label}...`);try{ss(M,H)&&(U(J,`Unloading ${M.display_name} ${H.label} before deletion...`),await ho(M.id),await ei());const ne=await By(H.id);U(xt,{...e(xt),[H.id]:{...e(xt)[H.id],installed:!1}});const me={...e(Mt)};if(delete me[H.id],U(Mt,me),ur(M,H)){const Be=(M.install_packages||[]).find(st=>st.id!==H.id&&e(xt)[st.id]?.installed),Le={...Va};Be?Le[M.id]=Be.id:delete Le[M.id],Va=Le,localStorage.setItem("audiocpp.ui.packageIds",JSON.stringify(Va)),M.id===e(C)&&(P=jr(Be?.path||M.path))}Kt(e(xt)),U(Za,"idle"),await Pe(),M.id===e(C)&&(await pn(),Nt()),U(J,ne.message||`${M.display_name} ${H.label} deleted.`),pa(e(J))}catch(ne){U(J,ne instanceof Error?ne.message:String(ne)),pa(`Package deletion failed: ${e(J)}`)}}}Ts(async()=>{await bo(),lr=window.matchMedia("(prefers-color-scheme: dark)"),Cs=lr.matches,dr=Y=>{Cs=Y.matches,e(Li)==="system"&&Bn()},lr.addEventListener("change",dr),U(Li,Dg(localStorage.getItem(Ng))),Bn(e(Li));const M=localStorage.getItem("audiocpp.ui.language");U(Di,Rg(M?[M]:navigator.languages)),document.documentElement.lang=e(Di);try{Va=JSON.parse(localStorage.getItem("audiocpp.ui.packageIds")||"{}")}catch{Va={}}localStorage.removeItem("audiocpp.ui.packagePaths");const H=localStorage.getItem("audiocpp.ui.model");if(H&&U(C,H),U(A,e(Na).find(Y=>Y.id===e(C))||e(Na)[0]||Ci[0]),U(zt,""),U(qi,[]),U(Ii,Se(e(A).task)),e(C)&&(Mr={...Mr,[e(Ii)]:e(C)}),Ln(),await ei(),e(x)?.ui_management)try{let Y=await Dy();const ne=localStorage.getItem("audiocpp.ui.modelsFolder");ne&&ne!==Y.models_root&&(Y=await qg(ne)),fi(Y)}catch(Y){U(J,Y instanceof Error?Y.message:String(Y)),U(re,e(J)),pa(`Models folder unavailable: ${e(J)}`)}P=Ur(e(A)),e(x)?.ui_management?(await Pe(),await pn(),Nt()&&U(J,"No installed model is selected. Choose a downloaded model or install one from the Models tab.")):U(q,!!e(C)),await bp(),await e8(),await bv(),await bc()}),Zc(()=>{wt?.abort(),e(ta)?.state==="recording"&&e(ta).stop(),Ni=!0,Xa?.state==="recording"&&Xa.stop(),_i?.getTracks().forEach(M=>M.stop()),An?.getTracks().forEach(M=>M.stop());for(const M of e(lt))URL.revokeObjectURL(M.url);vi!==null&&window.clearInterval(vi),bi!==null&&window.clearInterval(bi),lr&&dr&&lr.removeEventListener("change",dr)}),We(()=>e(Di),()=>{U(O,Eg(e(Di)))}),We(()=>(e(x),Ci),()=>{U(Na,e(x)&&!e(x).ui_management?Cr():Ci)}),We(()=>e(Na),()=>{U(Us,js(e(Na)))}),We(()=>(e(Na),e(C),Ci),()=>{U(A,e(Na).find(M=>M.id===e(C))||e(Na)[0]||Ci[0])}),We(()=>e(Ii),()=>{U(r,Pt.find(M=>M.id===e(Ii))||Pt[0])}),We(()=>(e(Na),e(r)),()=>{U(n,e(Na).filter(M=>e(r).tasks.some(H=>H===M.task)).sort((M,H)=>Vi(M.display_name,H.display_name)))}),We(()=>(e(Us),e(Nn)),()=>{U(i,e(Us).map(M=>({...M,entries:M.entries.filter(H=>{const Y=Pt.find(ne=>ne.tasks.some(me=>me===H.task));return!!(Y&&e(Nn).includes(Y.id))})})).filter(M=>M.entries.length>0))}),We(()=>(e(y),e(C),e(A)),()=>{U(c,e(y).some(M=>M.id===e(C)&&M.loaded&&Es(M,e(A))))}),We(()=>e(A),()=>{U(s,gw(e(A)?.family))}),We(()=>e(s),()=>{U(d,e(s)?.component)}),We(()=>e(s),()=>{U(p,e(s)?.replacesGenericControls||is)}),We(()=>e(s),()=>{U(m,e(s)?.requestMode==="yue2")}),We(()=>e(A),()=>{U(_,e(A)?.id==="firered-audio-semantic-edit"||e(A)?.id==="firered-audio-acoustic-edit")}),We(()=>e(A),()=>{U(h,e(A)?.family==="ace_step")}),We(()=>e(A),()=>{U(f,e(A)?.family==="controlfoley"||e(A)?.family==="midashenglm_gen")}),We(()=>e(A),()=>{U(u,(e(A)?.family==="breeze_tts"||e(A)?.family==="chatterbox_turbo")&&e(A)?.task==="tts")}),We(()=>(e(A),e(_)),()=>{U(l,["asr","vc","svc","s2s","sep","vad","diar","align","midi"].includes(e(A)?.task)||e(_))}),We(()=>(e(l),e(A),e(p)),()=>{U(o,e(l)||e(A)?.task==="gen"&&!e(p).genSource)}),We(()=>e(A),()=>{U(g,e(A)?.request_options?.includes("video")===!0)}),We(()=>(e(A),e(u)),()=>{U(v,["clon","vc","svc"].includes(e(A)?.task)&&e(A)?.family!=="rvc"||e(A)?.task==="s2s"&&e(A)?.family==="personaplex"||e(A)?.task==="tts"&&!["supertonic"].includes(e(A)?.family)&&!e(u))}),We(()=>e(A),()=>{U(b,e(A)?.family==="vibevoice")}),We(()=>e(A),()=>{U(k,!!e(A)?.builtin_voices?.length)}),We(()=>e(A),()=>{U(w,e(A)?.task==="tts"&&e(A)?.family==="qwen3_tts"&&!e(A)?.id.includes("custom"))}),We(()=>e(A),()=>{U(T,["tts","clon"].includes(e(A)?.task))}),We(()=>(e(T),e(zt),e(A),e(w)),()=>{U(N,!(e(T)&&e(zt))&&(["clon","vc","svc"].includes(e(A)?.task)&&e(A)?.family!=="rvc"||e(w)))}),We(()=>e(A),()=>{U(R,ee(e(A),"lyrics"))}),We(()=>(e(A),e(at),e(w)),()=>{U(F,ee(e(A),"reference_text")||!!e(at)&&e(w))}),We(()=>(e(x),e(qi),e(k),e(A),e(cr)),()=>{U(or,e(x)&&!e(x).ui_management?Array.from(new Set([...e(qi),...e(k)?e(A)?.builtin_voices||[]:[]])):e(k)?e(A)?.builtin_voices||[]:Object.entries(Ar).filter(([,M])=>e(cr).includes(M)).map(([M])=>M))}),We(()=>(e(zt),e(x),e(k),gl),()=>{U(D,e(zt)&&e(x)?.ui_management!==!1&&!e(k)?gl(Ar[e(zt)]||e(zt)):"")}),We(()=>(e(A),e(p)),()=>{U(I,["tts","clon","gen","s2s","align","vdes"].includes(e(A)?.task)&&!["apollo","universr"].includes(e(A)?.family)&&!e(p).text)}),We(()=>e(A),()=>{U(S,e(A)?.task==="asr"&&["voxtral_realtime","nemotron_asr","higgs_audio_stt","sense_asr","vibevoice_asr_streaming","confucius4_r2t2"].includes(e(A)?.family))}),We(()=>(e(x),e(xt),e(Za)),()=>{U(E,e(x)===null||!!e(x).ui_management&&Object.keys(e(xt)).length===0&&e(Za)!=="failed")}),We(()=>(e(Na),e(x),e(y),e(C),e(q),e(xt)),()=>{U(V,new Set(e(Na).filter(M=>{if(e(x)&&!e(x).ui_management||e(y).some(Y=>Y.id===M.id&&Y.loaded)||M.id===e(C)&&e(q)===!0)return!0;const H=M.install_packages||[];return!H.length||H.some(Y=>e(xt)[Y.id]===void 0)?!0:H.some(Y=>e(xt)[Y.id]?.installed)}).map(M=>M.id)))}),Oc(),Xc();var Sv=n4();fb("1uha8ag",M=>{rd(()=>{hm.title="audio.cpp · Native Studio"})}),Te("keydown",td,o8);var yp=It(Sv),kp=B(yp),$v=W(B(kp),2),Tv=W(B($v),2),f8=B(Tv,!0);j(Tv),j($v),j(kp);var Fl=W(kp,2),yc=B(Fl);let qv;var p8=B(yc,!0);j(yc);var kc=W(yc,2);let Gv;var m8=B(kc,!0);j(kc);var Fv=W(kc,2);{var g8=M=>{var H=sc();let Y;var ne=B(H,!0);j(H),pe(me=>{Y=ja(H,1,"",null,Y,{active:e(G)==="models"}),K(ne,me)},[()=>(e(O),z(()=>e(O)("nav.models")))]),Te("click",H,Qt),oe(M,H)};$e(Fv,M=>{e(x),z(()=>e(x)?.ui_management!==!1)&&M(g8)})}var Al=W(Fv,2);let Av;var h8=B(Al,!0);j(Al),j(Fl);var wp=W(Fl,2),xp=B(wp),_8=B(xp,!0);j(xp);var os=W(xp,2);ua(os,5,()=>Lk,da,(M,H,Y,ne)=>{var me=Fs(),Be=B(me,!0);j(me);var Le={};pe(()=>{K(Be,(e(H),z(()=>e(H).name))),Le!==(Le=(e(H),z(()=>e(H).code)))&&(me.value=(me.__value=(e(H),z(()=>e(H).code)))??"")}),oe(M,me)}),j(os);var Cv;$r(os),j(wp);var Sp=W(wp,2),$p=B(Sp),v8=B($p,!0);j($p);var cs=W($p,2);ua(cs,5,()=>tw,da,(M,H)=>{var Y=Fs(),ne=B(Y,!0);j(Y);var me={};pe(Be=>{K(ne,Be),me!==(me=(e(H),z(()=>e(H).id)))&&(Y.value=(Y.__value=(e(H),z(()=>e(H).id)))??"")},[()=>(e(O),e(H),z(()=>e(O)(`theme.${e(H).id}`,{},e(H).label)))]),oe(M,Y)}),j(cs);var Mv;$r(cs),j(Sp);var Tp=W(Sp,2);let zv;var b8=W(B(Tp),1,!0);j(Tp),j(yp);var qp=W(yp,2),y8=B(qp);{var k8=M=>{var H=B6(),Y=It(H);ua(Y,5,()=>Pt,da,(et,Ve)=>{var Ut=Lw();let ot;var vt=B(Ut),za=W(vt),Zt=B(za,!0);j(za),j(Ut),pe((oa,ia)=>{ot=ja(Ut,1,"",null,ot,{active:e(Ii)===e(Ve).id}),K(vt,`${oa??""} `),K(Zt,ia)},[()=>(e(Ve),e(O),z(()=>zs(e(Ve).id,e(Ve).label,e(O)))),()=>(e(Na),e(Ve),z(()=>e(Na).filter(oa=>e(Ve).tasks.some(ia=>ia===oa.task)).length))]),Te("click",Ut,()=>Oa(e(Ve).id)),oe(et,Ut)}),j(Y);var ne=W(Y,2),me=B(ne),Be=B(me),Le=B(Be,!0);j(Be);var st=W(Be,2),ut=B(st,!0);j(st);var wa=W(st,2),gn=B(wa,!0);j(wa),j(me);var Ha=W(me,2),ti=B(Ha),hn=B(ti,!0);j(ti);var Vn=W(ti,2),Br=B(Vn,!0);j(Vn);var yi=W(Vn,2);let fr;var pr=B(yi,!0);j(yi),j(Ha),j(ne);var _n=W(ne,2),mr=B(_n),Hi=B(mr),Pr=B(Hi,!0);j(Hi);var Qi=W(Hi,2),Cn=B(Qi),Nr=B(Cn,!0);j(Cn),Cn.value=Cn.__value="";var vn=W(Cn);ua(vn,1,()=>(e(r),z(()=>e(r).tasks)),da,(et,Ve)=>{const Ut=ri(()=>(e(n),e(Ve),z(()=>e(n).filter(Zt=>Zt.task===e(Ve)))));var ot=Yr(),vt=It(ot);{var za=Zt=>{var oa=Vw();ua(oa,5,()=>e(Ut),da,(ia,Ga)=>{var ai=Fs(),Wi=B(ai);j(ai);var ft={};pe((Mn,Ui)=>{ai.disabled=Mn,K(Wi,`${e(Ga),z(()=>e(Ga).display_name)??""}${Ui??""}`),ft!==(ft=(e(Ga),z(()=>e(Ga).id)))&&(ai.value=(ai.__value=(e(Ga),z(()=>e(Ga).id)))??"")},[()=>(e(V),e(Ga),z(()=>!e(V).has(e(Ga).id))),()=>(e(V),e(Ga),e(O),z(()=>e(V).has(e(Ga).id)?"":` — ${e(O)("studio.notDownloaded")}`))]),oe(ia,ai)}),j(oa),pe(ia=>qe(oa,"label",ia),[()=>(e(Ve),e(O),z(()=>ye(e(Ve),e(O))))]),oe(Zt,oa)};$e(vt,Zt=>{de(e(Ut)),z(()=>e(Ut).length)&&Zt(za)})}oe(et,ot)}),j(Qi);var In=W(Qi,2),tn=B(In);let gr;var ra=B(tn,!0);j(tn);var Tt=W(tn,2),qa=B(Tt,!0);j(Tt),j(In);var ga=W(In,2);{var St=et=>{var Ve=Iw();ua(Ve,5,()=>(e(A),z(()=>fc(e(A)))),da,(Ut,ot)=>{const vt=ri(()=>(e(ot),z(()=>e(ot).choice))),za=ri(()=>(de(e(vt)),e(A),e(y),e(xt),z(()=>!!(e(vt)&&Er(e(A),e(vt),e(y),e(xt)))))),Zt=ri(()=>(de(e(vt)),e(A),e(y),z(()=>!!(e(vt)&&ss(e(A),e(vt),e(y))))));var oa=sc();let ia;var Ga=B(oa,!0);j(oa),pe(ai=>{oa.disabled=e(L)||!e(za),qe(oa,"title",(de(e(Zt)),de(e(vt)),de(e(za)),e(ot),z(()=>e(Zt)?`Unload ${e(vt)?.label}`:e(za)?`Load ${e(vt)?.label}`:`${e(vt)?.label||e(ot).label} is not downloaded`))),ia=ja(oa,1,"",null,ia,ai),K(Ga,(de(e(vt)),e(ot),z(()=>e(vt)?.label||e(ot).label)))},[()=>({resident:e(Zt),"selected-package":!!(e(vt)&&e(za)&&ur(e(A),e(vt)))})]),Te("click",oa,()=>e(vt)&&mp(e(vt))),oe(Ut,oa)}),j(Ve),oe(et,Ve)},Fi=et=>{var Ve=sc();let Ut;var ot=B(Ve,!0);j(Ve),pe((vt,za)=>{Ut=ja(Ve,1,"single-model-toggle",null,Ut,{resident:e(c)}),Ve.disabled=(e(C),e(L),e(m),e(Q),e(q),e(x),z(()=>!e(C)||e(L)||e(m)&&e(Q)||e(q)===!1||!e(x)?.ui_management)),qe(Ve,"title",vt),K(ot,za)},[()=>(e(x),e(c),e(O),z(()=>e(x)?.ui_management?e(c)?e(O)("studio.unload"):e(O)("studio.load"):"Configured by server config")),()=>(e(x),e(c),e(O),e(L),z(()=>e(x)?.ui_management?e(L)?e(O)("studio.working"):e(c)?e(O)("studio.bundledLoaded"):e(O)("studio.load"):e(c)?e(O)("studio.bundledLoaded"):"Configured"))]),Te("click",Ve,gp),oe(et,Ve)};$e(ga,et=>{e(C),e(A),e(p),z(()=>e(C)&&(e(A).install_packages||[]).length&&!e(p).packageButtons)?et(St):et(Fi,-1)})}var ji=W(ga,2);{var On=et=>{var Ve=Ow(),Ut=B(Ve,!0);j(Ve),pe(ot=>K(Ut,ot),[()=>(e(O),z(()=>Ce(e(O))))]),oe(et,Ve)};$e(ji,et=>{e(C),e(A),z(()=>e(C)&&(e(A)?.input_hint_en||e(A)?.input_hint))&&et(On)})}j(mr);var Hn=W(mr,2),Qn=B(Hn);{var Wn=et=>{var Ve=A6(),Ut=It(Ve),ot=B(Ut),vt=B(ot),za=B(vt,!0);j(vt);var Zt=W(vt),oa=B(Zt,!0);j(Zt),j(ot);var ia=W(ot,2),Ga=B(ia,!0);j(ia),j(Ut);var ai=W(Ut,2);{var Wi=He=>{var tt=Hw(),Qe=It(tt),Dt=B(Qe,!0);j(Qe);var it=W(Qe,2);sn(it),pe((qt,yt)=>{K(Dt,qt),qe(it,"rows",(e(A),z(()=>e(A).task==="gen"?3:4))),qe(it,"placeholder",yt)},[()=>(e(A),e(O),z(()=>e(A).task==="gen"?e(O)("request.prompt"):e(A).task==="align"?e(O)("request.alignmentText"):e(O)("request.text"))),()=>(e(A),e(O),z(()=>e(A).task==="gen"?e(O)("request.soundPlaceholder"):e(O)("request.textPlaceholder")))]),Ka(it,()=>e(Ae),qt=>U(Ae,qt)),oe(He,tt)};$e(ai,He=>{e(I)&&He(Wi)})}var ft=W(ai,2);{var Mn=He=>{var tt=Qw(),Qe=B(tt),Dt=B(Qe);ya(Dt);var it=W(Dt,3,!0);j(Qe);var qt=W(Qe,2),yt=B(qt),gt=B(yt,!0);j(yt);var xe=W(yt,2);ya(xe),j(qt),j(tt),pe((Ie,kt)=>{K(it,Ie),K(gt,kt),xe.disabled=!e(hi)},[()=>(e(O),z(()=>e(O)("request.splitLongText"))),()=>(e(O),z(()=>e(O)("request.charactersPerChunk")))]),yb(Dt,()=>e(hi),Ie=>U(hi,Ie)),Ka(xe,()=>e(Sa),Ie=>U(Sa,Ie)),oe(He,tt)},Ui=Si(()=>(e(A),z(()=>["tts","clon"].includes(e(A).task))));$e(ft,He=>{e(Ui)&&He(Mn)})}var Dr=W(ft,2);{var Vs=He=>{var tt=Kw(),Qe=It(tt);{var Dt=gt=>{var xe=Yr(),Ie=It(xe);{let kt=ri(()=>e(Z)||e(L)),ca=ri(()=>(e(A),e(x),e(y),de(ml),z(()=>e(A).family==="yue2"&&!e(x)?.ui_management?async()=>{U(y,await ml())}:ei)));Kc(Ie,()=>e(d),(mt,Lt)=>{Lt(mt,{get busy(){return e(kt)},get paramSpecs(){return e(Ee)},get advancedValues(){return e(we)},get catalogEntries(){return e(Na)},get loadedModels(){return e(y)},get server(){return e(x)},modelPathFor:Ur,sessionOptionsFor:rs,get refreshModels(){return e(ca)},log:pa,get tr(){return e(O)},localizedParameterText:ae,setParameterValue:jt,get lyrics(){return e(ue)},set lyrics(Vt){U(ue,Vt)},get seed(){return e(Ze)},set seed(Vt){U(Ze,Vt)},get loraUploading(){return e(Q)},set loraUploading(Vt){U(Q,Vt)},$$legacy:!0})})}oe(gt,xe)},it=gt=>{var xe=Ww(),Ie=It(xe),kt=B(Ie),ca=W(kt),mt=B(ca,!0);j(ca),j(Ie);var Lt=W(Ie,2);sn(Lt),pe((Vt,_a)=>{K(kt,`${Vt??""} `),K(mt,_a),Lt.required=e(R),qe(Lt,"aria-required",e(R))},[()=>(e(O),z(()=>e(O)("request.lyrics"))),()=>(e(R),e(O),z(()=>e(R)?e(O)("voice.required"):e(O)("request.optional")))]),Ka(Lt,()=>e(ue),Vt=>U(ue,Vt)),oe(gt,xe)};$e(Qe,gt=>{e(d)?gt(Dt):gt(it,-1)})}var qt=W(Qe,2);{var yt=gt=>{var xe=Yw(),Ie=B(xe),kt=B(Ie,!0);j(Ie),j(xe),pe((ca,mt)=>{Ie.disabled=ca,K(kt,mt)},[()=>(e(Z),e(X),e(Ae),e(ue),z(()=>e(Z)||e(X)||!e(Ae).trim()&&!e(ue).trim())),()=>(e(X),e(O),z(()=>e(X)?e(O)("request.rewritingCaption"):e(O)("request.rewriteCaption")))]),Te("click",Ie,Z5),oe(gt,xe)};$e(qt,gt=>{e(A),z(()=>e(A).family==="ace_step")&>(yt)})}oe(He,tt)};$e(Dr,He=>{e(A),z(()=>e(A).task==="gen")&&He(Vs)})}var Is=W(Dr,2);{var qc=He=>{var tt=Xw(),Qe=It(tt),Dt=B(Qe),it=W(Dt),qt=B(it,!0);j(it),j(Qe);var yt=W(Qe,2);sn(yt),pe((gt,xe)=>{K(Dt,`${gt??""} `),K(qt,xe)},[()=>(e(O),z(()=>e(O)("request.context"))),()=>(e(O),z(()=>e(O)("request.contextHint")))]),Ka(yt,()=>e(Me),gt=>U(Me,gt)),oe(He,tt)};$e(Is,He=>{e(A),z(()=>e(A).task==="asr")&&He(qc)})}var Kn=W(Is,2);{var Fo=He=>{var tt=Zw(),Qe=It(tt),Dt=B(Qe,!0);j(Qe);var it=W(Qe,2);sn(it),pe((qt,yt)=>{K(Dt,qt),qe(it,"placeholder",yt)},[()=>(e(O),z(()=>e(O)("request.voiceDescription"))),()=>(e(O),z(()=>e(O)("request.voiceDescriptionPlaceholder")))]),Ka(it,()=>e(je),qt=>U(je,qt)),oe(He,tt)};$e(Kn,He=>{e(A),z(()=>e(A).task==="vdes")&&He(Fo)})}var ls=W(Kn,2),ds=B(ls);{var Gc=He=>{var tt=t6(),Qe=B(tt),Dt=B(Qe),it=W(Dt);{var qt=Ie=>{var kt=oc(),ca=B(kt,!0);j(kt),pe(mt=>K(ca,mt),[()=>(e(O),z(()=>e(O)("request.autoLanguage")))]),oe(Ie,kt)};$e(it,Ie=>{e(A),z(()=>!na[e(A).family])&&Ie(qt)})}j(Qe);var yt=W(Qe,2);{var gt=Ie=>{var kt=Jw();ua(kt,5,()=>(e(A),z(()=>na[e(A).family])),da,(ca,mt)=>{var Lt=Fs(),Vt=B(Lt,!0);j(Lt);var _a={};pe(()=>{K(Vt,e(mt)),_a!==(_a=e(mt))&&(Lt.value=(Lt.__value=e(mt))??"")}),oe(ca,Lt)}),j(kt),Ho(kt,()=>e(ke),ca=>U(ke,ca)),oe(Ie,kt)},xe=Ie=>{var kt=e6();ya(kt),Ka(kt,()=>e(ke),ca=>U(ke,ca)),oe(Ie,kt)};$e(yt,Ie=>{e(A),z(()=>na[e(A).family])?Ie(gt):Ie(xe,-1)})}j(tt),pe(Ie=>K(Dt,`${Ie??""} `),[()=>(e(O),z(()=>e(O)("request.language")))]),oe(He,tt)},Ao=Si(()=>(e(A),e(p),z(()=>["tts","clon","asr","gen","s2s","align","vdes"].includes(e(A).task)&&!e(p).language&&!["apollo","universr","moss_transcribe_diarize"].includes(e(A).family))));$e(ds,He=>{e(Ao)&&He(Gc)})}var ki=W(ds,2);{var Qa=He=>{var tt=a6(),Qe=B(tt),Dt=B(Qe),it=W(Dt),qt=B(it,!0);j(it),j(Qe);var yt=W(Qe,2);ya(yt),j(tt),pe((gt,xe)=>{K(Dt,`${gt??""} `),K(qt,xe)},[()=>(e(O),z(()=>e(O)("request.seed"))),()=>(e(O),z(()=>e(O)("request.randomSeed")))]),Ka(yt,()=>e(Ze),gt=>U(Ze,gt)),oe(He,tt)},Lr=Si(()=>(e(A),e(p),z(()=>["tts","clon","gen","s2s","vdes"].includes(e(A).task)&&!e(p).seed&&e(A).family!=="apollo")));$e(ki,He=>{e(Lr)&&He(Qa)})}var hr=W(ki,2);{var Os=He=>{var tt=r6(),Qe=B(tt),Dt=B(Qe,!0);j(Qe);var it=W(Qe,2);{var qt=gt=>{var xe=i6();ya(xe),pe(()=>{qe(xe,"min",(e(A),z(()=>e(A).family==="canary_asr"?0:1))),qe(xe,"max",(e(A),z(()=>e(A).family==="canary_asr"?1015:e(A).family==="cohere_asr"?1014:void 0)))}),Ka(xe,()=>e(ht),Ie=>U(ht,Ie)),oe(gt,xe)},yt=gt=>{var xe=n6();ya(xe),Ka(xe,()=>e(Bt),Ie=>U(Bt,Ie)),oe(gt,xe)};$e(it,gt=>{e(A),z(()=>e(A).family in dt)?gt(qt):gt(yt,-1)})}j(tt),pe(gt=>K(Dt,gt),[()=>(e(O),z(()=>e(O)("request.maxTokens")))]),oe(He,tt)},_r=Si(()=>(e(A),z(()=>Ps(e(A)))));$e(hr,He=>{e(_r)&&He(Os)})}var an=W(hr,2);{var Hs=He=>{var tt=s6(),Qe=B(tt),Dt=B(Qe,!0),it=W(Dt);{var qt=Ie=>{var kt=oc(),ca=B(kt,!0);j(kt),pe(mt=>K(ca,mt),[()=>(e(O),z(()=>e(O)("request.autoDuration")))]),oe(Ie,kt)};$e(it,Ie=>{e(h)&&Ie(qt)})}j(Qe);var yt=W(Qe,2);ya(yt);var gt=W(yt,2);{var xe=Ie=>{var kt=nu(),ca=B(kt,!0);j(kt),pe(mt=>K(ca,mt),[()=>(e(O),e(we),z(()=>e(O)("request.minimaxFrames",{frames:Number(e(we).num_frames||0)})))]),oe(Ie,kt)};$e(gt,Ie=>{e(A),z(()=>e(A).family==="minimax_h3")&&Ie(xe)})}j(tt),pe(Ie=>{K(Dt,Ie),qe(yt,"min",e(h)?-1:1),Ai(yt,e(Oe))},[()=>(e(O),z(()=>e(O)("request.duration")))]),Te("input",yt,Ie=>aa(Ie.currentTarget.valueAsNumber)),oe(He,tt)};$e(an,He=>{e(A),e(p),z(()=>e(A).task==="gen"&&!e(p).duration)&&He(Hs)})}j(ls);var us=W(ls,2);{var q8=He=>{var tt=u6(),Qe=It(tt),Dt=B(Qe);j(Qe);var it=W(Qe,2);Pi(it,Ye=>U(fe,Ye),()=>e(fe));var qt=W(it,2),yt=B(qt),gt=B(yt,!0);j(yt);var xe=W(yt),Ie=B(xe,!0);j(xe),j(qt);var kt=W(qt,2),ca=B(kt);{var mt=Ye=>{var $t=Wg(),Xe=It($t),Wt=B(Xe,!0);j(Xe);var _t=W(Xe,2),nt=B(_t,!0);j(_t),pe((ct,bt)=>{K(Wt,ct),K(nt,bt)},[()=>(e(O),z(()=>e(O)("request.stopRecording"))),()=>(e(O),z(()=>e(O)("request.recordingMicrophone")))]),Te("click",Xe,vv),oe(Ye,$t)},Lt=Ye=>{var $t=o6(),Xe=It($t),Wt=B(Xe,!0);j(Xe);var _t=W(Xe,2),nt=B(_t,!0);j(_t);var ct=W(_t,2);{var bt=Et=>{var la=oc(),Aa=B(la,!0);j(la),pe(()=>K(Aa,(e(Ot),z(()=>e(Ot).name)))),oe(Et,la)};$e(ct,Et=>{e(Ot)&&Et(bt)})}pe((Et,la,Aa)=>{Xe.disabled=Et,K(Wt,la),_t.disabled=!e(Ot),K(nt,Aa)},[()=>(e(ta),e(ui),z(()=>!!e(ta)||e(ui))),()=>(e(O),z(()=>e(O)("request.recordMicrophone"))),()=>(e(O),z(()=>e(O)("file.clear")))]),Te("click",Xe,()=>_v("source")),Te("click",_t,pc),oe(Ye,$t)};$e(ca,Ye=>{e(di)==="source"?Ye(mt):Ye(Lt,-1)})}j(kt);var Vt=W(kt,2);{let Ye=ri(()=>(e(O),z(()=>e(O)("file.preview"))));Gr(Vt,{get file(){return e(Ot)},kind:"audio",get label(){return e(Ye)}})}var _a=W(Vt,2);{var Fa=Ye=>{var $t=d6(),Xe=B($t),Wt=B(Xe),_t=B(Wt,!0);j(Wt);var nt=W(Wt,2),ct=B(nt,!0);j(nt),j(Xe);var bt=W(Xe,2);{var Et=Aa=>{var Ra=c6(),wi=B(Ra,!0);j(Ra),pe(Xn=>K(wi,Xn),[()=>(e(O),z(()=>e(O)("request.stopLive")))]),Te("click",Ra,kv),oe(Aa,Ra)},la=Aa=>{var Ra=l6(),wi=B(Ra,!0);j(Ra),pe((Xn,fs)=>{Ra.disabled=Xn,K(wi,fs)},[()=>(e(Z),e(ta),z(()=>e(Z)||!!e(ta))),()=>(e(O),z(()=>e(O)("request.startLive")))]),Te("click",Ra,r8),oe(Aa,Ra)};$e(bt,Aa=>{e(ui)?Aa(Et):Aa(la,-1)})}j($t),pe((Aa,Ra)=>{K(_t,Aa),K(ct,Ra)},[()=>(e(O),z(()=>e(O)("request.liveTitle"))),()=>(e(O),z(()=>e(O)("request.liveDescription")))]),oe(Ye,$t)};$e(_a,Ye=>{e(S)&&Ye(Fa)})}pe((Ye,$t,Xe,Wt)=>{K(Dt,`${Ye??""} ${$t??""}`),K(gt,Xe),K(Ie,Wt)},[()=>(e(O),z(()=>e(O)("request.sourceAudio"))),()=>(e(l),e(O),z(()=>e(l)?"":`(${e(O)("request.optional")})`)),()=>(e(O),z(()=>e(O)("file.choose"))),()=>(e(Ot),e(O),z(()=>e(Ot)?.name||e(O)("file.none")))]),Te("change",it,Ye=>U(Ot,Ye.currentTarget.files?.[0]||null)),oe(He,tt)};$e(us,He=>{e(o)&&He(q8)})}var Rv=W(us,2);{var G8=He=>{var tt=f6(),Qe=It(tt),Dt=W(B(Qe)),it=B(Dt,!0);j(Dt),j(Qe);var qt=W(Qe,2);Pi(qt,Ye=>U(te,Ye),()=>e(te));var yt=W(qt,2),gt=B(yt),xe=B(gt,!0);j(gt);var Ie=W(gt),kt=B(Ie,!0);j(Ie),j(yt);var ca=W(yt,2),mt=B(ca),Lt=B(mt,!0);j(mt);var Vt=W(mt,2);{var _a=Ye=>{var $t=oc(),Xe=B($t,!0);j($t),pe(()=>K(Xe,(e(Ct),z(()=>e(Ct).name)))),oe(Ye,$t)};$e(Vt,Ye=>{e(Ct)&&Ye(_a)})}j(ca);var Fa=W(ca,2);{let Ye=ri(()=>(e(O),z(()=>e(O)("file.preview"))));Gr(Fa,{get file(){return e(Ct)},kind:"video",get label(){return e(Ye)}})}pe((Ye,$t,Xe,Wt)=>{K(it,Ye),K(xe,$t),K(kt,Xe),mt.disabled=!e(Ct),K(Lt,Wt)},[()=>(e(O),z(()=>e(O)("request.optional"))),()=>(e(O),z(()=>e(O)("file.choose"))),()=>(e(Ct),e(O),z(()=>e(Ct)?.name||e(O)("file.none"))),()=>(e(O),z(()=>e(O)("file.clear")))]),Te("change",qt,Ye=>U(Ct,Ye.currentTarget.files?.[0]||null)),Te("click",mt,Sl),oe(He,tt)};$e(Rv,He=>{e(g)&&He(G8)})}var Bv=W(Rv,2);{var F8=He=>{var tt=y6(),Qe=It(tt);{var Dt=mt=>{var Lt=m6(),Vt=It(Lt),_a=B(Vt,!0);j(Vt);var Fa=W(Vt,2),Ye=B(Fa),$t=B(Ye,!0);j(Ye),Ye.value=Ye.__value="";var Xe=W(Ye);ua(Xe,1,()=>e(or),da,(ct,bt)=>{var Et=Fs(),la=B(Et,!0);j(Et);var Aa={};pe(()=>{K(la,e(bt)),Aa!==(Aa=e(bt))&&(Et.value=(Et.__value=e(bt))??"")}),oe(ct,Et)}),j(Fa);var Wt;$r(Fa);var _t=W(Fa,2);{var nt=ct=>{var bt=p6(),Et=It(bt),la=B(Et,!0);j(Et);var Aa=W(Et,2);{var Ra=wi=>{{let Xn=ri(()=>(e(O),z(()=>e(O)("file.preview"))));Gr(wi,{get src(){return e(D)},get name(){return e(zt)},kind:"audio",get label(){return e(Xn)}})}};$e(Aa,wi=>{e(D)&&wi(Ra)})}pe(wi=>K(la,wi),[()=>(e(O),z(()=>e(O)("voice.bundledNote")))]),oe(ct,bt)};$e(_t,ct=>{e(zt)&&ct(nt)})}pe((ct,bt)=>{K(_a,ct),K($t,bt),Wt!==(Wt=e(zt))&&(Fa.value=(Fa.__value=e(zt))??"",ar(Fa,e(zt)))},[()=>(e(x),e(O),z(()=>e(x)?.ui_management===!1?e(O)("voice.configured"):e(O)("voice.quickStart"))),()=>(e(O),z(()=>e(O)("voice.useReference")))]),Te("change",Fa,ct=>mc(ct.currentTarget.value)),oe(mt,Lt)};$e(Qe,mt=>{e(T),e(or),z(()=>e(T)&&e(or).length)&&mt(Dt)})}var it=W(Qe,2);{var qt=mt=>{var Lt=g6(),Vt=B(Lt),_a=B(Vt),Fa=B(_a),Ye=W(Fa),$t=B(Ye,!0);j(Ye),j(_a);var Xe=W(_a,2);Pi(Xe,xi=>U(ce,xi),()=>e(ce));var Wt=W(Xe,2),_t=B(Wt),nt=B(_t,!0);j(_t);var ct=W(_t),bt=B(ct,!0);j(ct),j(Wt),j(Vt);var Et=W(Vt,2),la=B(Et),Aa=B(la);yr(),j(la);var Ra=W(la,2);Pi(Ra,xi=>U(Ge,xi),()=>e(Ge));var wi=W(Ra,2),Xn=B(wi),fs=B(Xn,!0);j(Xn);var Ml=W(Xn),Vr=B(Ml,!0);j(Ml),j(wi),j(Et),j(Lt),pe((xi,Ir,Ac,Mo,zp,jp,E8)=>{K(Fa,`${xi??""} `),K($t,Ir),K(nt,Ac),K(bt,Mo),K(Aa,`${zp??""} `),K(fs,jp),K(Vr,E8)},[()=>(e(O),z(()=>e(O)("voice.reference"))),()=>(e(N),e(O),z(()=>e(N)?e(O)("voice.required"):e(O)("voice.optional"))),()=>(e(O),z(()=>e(O)("file.choose"))),()=>(e(at),e(O),z(()=>e(at)?.name||e(O)("file.none"))),()=>(e(O),z(()=>e(O)("voice.referenceText"))),()=>(e(O),z(()=>e(O)("file.choose"))),()=>(e(Fe),e(O),z(()=>e(Fe)?.name||e(O)("file.none")))]),Te("change",Xe,xi=>wo(xi.currentTarget.files?.[0]||null)),Te("change",Ra,xi=>gc(xi.currentTarget.files?.[0]||null)),oe(mt,Lt)};$e(it,mt=>{(!e(k)||!e(zt))&&mt(qt)})}var yt=W(it,2);{var gt=mt=>{var Lt=_6(),Vt=B(Lt);{var _a=Ye=>{var $t=Wg(),Xe=It($t),Wt=B(Xe,!0);j(Xe);var _t=W(Xe,2),nt=B(_t,!0);j(_t),pe((ct,bt)=>{K(Wt,ct),K(nt,bt)},[()=>(e(O),z(()=>e(O)("request.stopRecording"))),()=>(e(O),z(()=>e(O)("voice.recording")))]),Te("click",Xe,vv),oe(Ye,$t)},Fa=Ye=>{var $t=h6(),Xe=It($t),Wt=B(Xe,!0);j(Xe);var _t=W(Xe,2),nt=W(_t,2);{var ct=bt=>{var Et=oc(),la=B(Et,!0);j(Et),pe(()=>K(la,(e(at),z(()=>e(at).name)))),oe(bt,Et)};$e(nt,bt=>{e(at)&&bt(ct)})}pe((bt,Et,la)=>{Xe.disabled=bt,K(Wt,Et),_t.disabled=la},[()=>(e(ta),e(ui),z(()=>!!e(ta)||e(ui))),()=>(e(O),z(()=>e(O)("request.recordMicrophone"))),()=>(e(zt),e(ha),e(at),e(Fe),e(se),z(()=>!e(zt)&&!e(ha)&&!e(at)&&!e(Fe)&&!e(se).trim()))]),Te("click",Xe,()=>_v("voice")),Te("click",_t,dp),oe(Ye,$t)};$e(Vt,Ye=>{e(di)==="voice"?Ye(_a):Ye(Fa,-1)})}j(Lt),oe(mt,Lt)};$e(yt,mt=>{(!e(k)||!e(zt))&&mt(gt)})}var xe=W(yt,2);{var Ie=mt=>{var Lt=v6(),Vt=It(Lt);{let Wt=ri(()=>(e(O),z(()=>e(O)("file.preview"))));Gr(Vt,{get file(){return e(at)},kind:"audio",get label(){return e(Wt)}})}var _a=W(Vt,2),Fa=B(_a),Ye=W(Fa),$t=B(Ye,!0);j(Ye),j(_a);var Xe=W(_a,2);sn(Xe),pe((Wt,_t,nt)=>{K(Fa,`${Wt??""} `),K($t,_t),qe(Xe,"placeholder",nt)},[()=>(e(O),z(()=>e(O)("voice.transcript"))),()=>(e(F),e(O),z(()=>e(F)?e(O)("voice.requiredClone"):e(O)("voice.recommendedClone"))),()=>(e(O),z(()=>e(O)("voice.transcriptPlaceholder")))]),Ka(Xe,()=>e(se),Wt=>U(se,Wt)),oe(mt,Lt)};$e(xe,mt=>{(!e(k)||!e(zt))&&mt(Ie)})}var kt=W(xe,2);{var ca=mt=>{var Lt=b6(),Vt=B(Lt),_a=B(Vt),Fa=B(_a),Ye=W(Fa),$t=B(Ye,!0);j(Ye),j(_a);var Xe=W(_a,2),Wt=B(Xe),_t=B(Wt,!0);j(Wt),Wt.value=Wt.__value="";var nt=W(Wt);ua(nt,1,()=>e(Ca),da,(Vr,xi)=>{var Ir=Fs(),Ac=B(Ir,!0);j(Ir);var Mo={};pe(()=>{K(Ac,(e(xi),z(()=>e(xi).name))),Mo!==(Mo=(e(xi),z(()=>e(xi).id)))&&(Ir.value=(Ir.__value=(e(xi),z(()=>e(xi).id)))??"")}),oe(Vr,Ir)}),j(Xe);var ct;$r(Xe),j(Vt);var bt=W(Vt,2),Et=B(bt),la=B(Et,!0);j(Et);var Aa=W(Et,2);ya(Aa),j(bt);var Ra=W(bt,2),wi=B(Ra),Xn=B(wi,!0);j(wi);var fs=W(wi,2),Ml=B(fs,!0);j(fs),j(Ra),j(Lt),pe((Vr,xi,Ir,Ac,Mo,zp,jp)=>{K(Fa,`${Vr??""} `),K($t,xi),K(_t,Ir),ct!==(ct=e(ha))&&(Xe.value=(Xe.__value=e(ha))??"",ar(Xe,e(ha))),K(la,Ac),qe(Aa,"placeholder",Mo),wi.disabled=!e(at),K(Xn,zp),fs.disabled=!e(ha),K(Ml,jp)},[()=>(e(O),z(()=>e(O)("voice.saved"))),()=>(e(O),z(()=>e(O)("voice.browserOnly"))),()=>(e(O),z(()=>e(O)("voice.chooseSaved"))),()=>(e(O),z(()=>e(O)("voice.libraryName"))),()=>(e(O),z(()=>e(O)("voice.namePlaceholder"))),()=>(e(O),z(()=>e(O)("voice.save"))),()=>(e(O),z(()=>e(O)("common.delete")))]),Te("change",Xe,Vr=>a8(Vr.currentTarget.value)),Ka(Aa,()=>e(La),Vr=>U(La,Vr)),Te("click",wi,t8),Te("click",fs,i8),oe(mt,Lt)};$e(kt,mt=>{(!e(k)||!e(zt))&&mt(ca)})}oe(He,tt)};$e(Bv,He=>{e(v)&&!e(b)&&He(F8)})}var Pv=W(Bv,2);{var A8=He=>{var tt=w6(),Qe=W(B(tt),2);ua(Qe,4,()=>[0,1,2,3],da,(Dt,it)=>{var qt=k6(),yt=B(qt),gt=B(yt);j(yt);var xe=W(yt,2);Pi(xe,($t,Xe)=>Ya(_e,e(_e)[Xe]=$t),$t=>e(_e)?.[$t],()=>[it]);var Ie=W(xe,2),kt=B(Ie),ca=B(kt,!0);j(kt);var mt=W(kt,2),Lt=B(mt,!0);j(mt),j(Ie);var Vt=W(Ie,2),_a=B(Vt),Fa=B(_a,!0);j(_a),j(Vt);var Ye=W(Vt,2);{let $t=ri(()=>(e(O),z(()=>e(O)("file.preview"))));Gr(Ye,{get file(){return e(ie),z(()=>e(ie)[it])},kind:"audio",get label(){return e($t)}})}j(qt),pe(($t,Xe,Wt)=>{qe(yt,"for","vibevoice-speaker-"+it),K(gt,`Speaker ${it+1}`),qe(xe,"id","vibevoice-speaker-"+it),qe(Ie,"for","vibevoice-speaker-"+it),K(ca,$t),K(Lt,Xe),_a.disabled=(e(ie),z(()=>!e(ie)[it])),K(Fa,Wt)},[()=>(e(O),z(()=>e(O)("file.choose"))),()=>(e(ie),e(O),z(()=>e(ie)[it]?.name||e(O)("file.none"))),()=>(e(O),z(()=>e(O)("file.clear")))]),Te("change",xe,$t=>$l(it,$t.currentTarget.files?.[0]||null)),Te("click",_a,()=>Tl(it)),oe(Dt,qt)}),j(Qe),j(tt),oe(He,tt)};$e(Pv,He=>{e(b)&&He(A8)})}var Nv=W(Pv,2);{var C8=He=>{var tt=G6(),Qe=B(tt),Dt=B(Qe),it=W(Dt),qt=B(it,!0);j(it),j(Qe);var yt=W(Qe,2);ua(yt,5,()=>e(Ee),da,(gt,xe)=>{var Ie=q6();let kt;var ca=B(Ie),mt=B(ca,!0);j(ca);var Lt=W(ca,2);{var Vt=_t=>{var nt=x6(),ct=B(nt);ya(ct);var bt=W(ct,3,!0);j(nt),pe((Et,la)=>{qe(ct,"id",(e(xe),z(()=>"param-"+e(xe).name))),pd(ct,Et),K(bt,la)},[()=>(e(we),e(xe),z(()=>!!e(we)[e(xe).name])),()=>(e(we),e(xe),e(O),z(()=>e(we)[e(xe).name]?e(O)("common.enabled"):e(O)("common.disabled")))]),Te("change",ct,Et=>jt(e(xe),Et.currentTarget.checked)),oe(_t,nt)},_a=_t=>{var nt=S6();ua(nt,5,()=>(e(xe),z(()=>e(xe).choices||[])),da,(bt,Et)=>{var la=Fs(),Aa=B(la,!0);j(la);var Ra={};pe(()=>{K(Aa,e(Et)),Ra!==(Ra=e(Et))&&(la.value=(la.__value=e(Et))??"")}),oe(bt,la)}),j(nt);var ct;$r(nt),pe(bt=>{qe(nt,"id",(e(xe),z(()=>"param-"+e(xe).name))),ct!==(ct=bt)&&(nt.value=(nt.__value=bt)??"",ar(nt,bt))},[()=>(e(we),e(xe),z(()=>String(e(we)[e(xe).name]??"")))]),Te("change",nt,bt=>jt(e(xe),bt.currentTarget.value)),oe(_t,nt)},Fa=_t=>{var nt=$6(),ct=B(nt);ya(ct);var bt=W(ct,2),Et=B(bt,!0);j(bt),j(nt),pe((la,Aa)=>{qe(ct,"id",(e(xe),z(()=>"param-"+e(xe).name))),qe(ct,"min",(e(xe),z(()=>e(xe).minimum))),qe(ct,"max",(e(xe),z(()=>e(xe).maximum))),qe(ct,"step",(e(xe),z(()=>e(xe).step))),Ai(ct,la),K(Et,Aa)},[()=>(e(we),e(xe),z(()=>Number(e(we)[e(xe).name]??e(xe).default))),()=>(e(we),e(xe),z(()=>String(e(we)[e(xe).name])))]),Te("input",ct,la=>jt(e(xe),la.currentTarget.valueAsNumber)),oe(_t,nt)},Ye=_t=>{var nt=T6();ya(nt),pe((ct,bt)=>{qe(nt,"id",(e(xe),z(()=>"param-"+e(xe).name))),qe(nt,"type",(e(xe),z(()=>e(xe).type==="number"?"number":"text"))),qe(nt,"min",(e(xe),z(()=>e(xe).minimum))),qe(nt,"max",(e(xe),z(()=>e(xe).maximum))),qe(nt,"step",(e(xe),z(()=>e(xe).step))),Ai(nt,ct),qe(nt,"placeholder",bt)},[()=>(e(we),e(xe),z(()=>String(e(we)[e(xe).name]??""))),()=>(e(xe),e(O),z(()=>ae(e(xe),"placeholder",e(O))))]),Te("input",nt,ct=>jt(e(xe),e(xe).type==="number"?ct.currentTarget.valueAsNumber:ct.currentTarget.value)),oe(_t,nt)};$e(Lt,_t=>{e(xe),z(()=>e(xe).type==="bool")?_t(Vt):(e(xe),z(()=>e(xe).type==="choice")?_t(_a,1):(e(xe),z(()=>e(xe).type==="slider")?_t(Fa,2):_t(Ye,-1)))})}var $t=W(Lt,2);{var Xe=_t=>{var nt=nu(),ct=B(nt,!0);j(nt),pe(bt=>K(ct,bt),[()=>(e(xe),e(O),z(()=>ae(e(xe),"info",e(O))))]),oe(_t,nt)},Wt=Si(()=>(e(xe),e(O),z(()=>ae(e(xe),"info",e(O)))));$e($t,_t=>{e(Wt)&&_t(Xe)})}j(Ie),pe(_t=>{kt=ja(Ie,1,"",null,kt,{wide:e(xe).type==="text"}),qe(ca,"for",(e(xe),z(()=>"param-"+e(xe).name))),K(mt,_t)},[()=>(e(xe),e(O),z(()=>ae(e(xe),"label",e(O))))]),oe(gt,Ie)}),j(yt),j(tt),pe(gt=>{K(Dt,`${gt??""} `),K(qt,(e(Ee),z(()=>e(Ee).length)))},[()=>(e(O),z(()=>e(O)("options.modelParameters")))]),oe(He,tt)};$e(Nv,He=>{e(Ee),e(p),z(()=>e(Ee).length&&!e(p).params)&&He(C8)})}var Dv=W(Nv,2);{var M8=He=>{var tt=F6(),Qe=B(tt),Dt=B(Qe);yr(),j(Qe);var it=W(Qe,2);sn(it),j(tt),pe(qt=>K(Dt,`${qt??""} `),[()=>(e(O),z(()=>e(O)("options.additional")))]),Ka(it,()=>e(Ke),qt=>U(Ke,qt)),oe(He,tt)};$e(Dv,He=>{e(p),z(()=>!e(p).advancedJson)&&He(M8)})}var Lv=W(Dv,2),Co=B(Lv),Vv=B(Co),z8=B(Vv,!0);j(Vv),yr(2),j(Co);var Fc=W(Co,2),j8=B(Fc,!0);j(Fc);var Mp=W(Fc,2);let Iv;var U8=B(Mp,!0);j(Mp),j(Lv),pe((He,tt,Qe,Dt,it)=>{K(za,He),K(oa,tt),K(Ga,(e(A),z(()=>e(A)?.task))),Co.disabled=!e(C)||e(Z)||e(m)&&e(Q)||!e(c)&&e(q)===!1,qe(Co,"title",e(C)?!e(c)&&e(q)===!1?"Install this model from the Models tab first":"":"Choose an installed model first"),K(z8,Qe),Fc.disabled=!e(Z),K(j8,Dt),Iv=ja(Mp,1,"status",null,Iv,{busy:e(Z),warning:!e(Z)&&e(J)===e(ve),error:!e(Z)&&e(J)===e(re)}),K(U8,it)},[()=>(e(O),z(()=>e(O)("request.label"))),()=>(e(O),z(()=>e(O)("request.title"))),()=>(e(Z),e(O),z(()=>e(Z)?e(O)("run.working"):e(O)("run.run"))),()=>(e(O),z(()=>e(O)("run.cancel"))),()=>(e(J),e(O),z(()=>rt(e(J),e(O))))]),Te("click",Co,wv),Te("click",Fc,s8),oe(et,Ve)},$o=et=>{var Ve=C6(),Ut=It(Ve),ot=B(Ut),vt=B(ot),za=B(vt,!0);j(vt);var Zt=W(vt),oa=B(Zt,!0);j(Zt),j(ot),j(Ut);var ia=W(Ut,2),Ga=B(ia),ai=B(Ga,!0);j(Ga),j(ia),pe((Wi,ft,Mn)=>{K(za,Wi),K(oa,ft),K(ai,Mn)},[()=>(e(O),z(()=>e(O)("request.label"))),()=>(e(O),z(()=>e(O)("studio.noModel"))),()=>(e(O),z(()=>e(O)("studio.chooseInstalled")))]),oe(et,Ve)};$e(Qn,et=>{e(C)?et(Wn):et($o,-1)})}j(Hn);var To=W(Hn,2),wc=B(To),Ds=B(wc),Ls=B(Ds),Gp=B(Ls,!0);j(Ls);var qo=W(Ls),Fp=B(qo,!0);j(qo),j(Ds);var Cl=W(Ds,2);{var Ap=et=>{var Ve=M6(),Ut=B(Ve);j(Ve),pe(ot=>K(Ut,`${e(lt),z(()=>e(lt).length)??""} ${ot??""}`),[()=>(e(lt),e(O),z(()=>e(lt).length===1?e(O)("result.track"):e(O)("result.tracks")))]),oe(et,Ve)};$e(Cl,et=>{e(lt),z(()=>e(lt).length)&&et(Ap)})}j(wc);var xc=W(wc,2);{var Yn=et=>{var Ve=Yg();ua(Ve,5,()=>e(lt),da,(Ut,ot)=>{var vt=z6(),za=B(vt),Zt=B(za),oa=B(Zt,!0);j(Zt);var ia=W(Zt),Ga=B(ia,!0);j(ia),j(za);var ai=W(za,2);j(vt),pe(Wi=>{K(oa,(e(ot),z(()=>e(ot).id))),qe(ia,"href",(e(ot),z(()=>e(ot).url))),qe(ia,"download",(e(A),e(ot),z(()=>`${e(A).id}-${e(ot).id}.wav`))),K(Ga,Wi),qe(ai,"src",(e(ot),z(()=>e(ot).url)))},[()=>(e(O),z(()=>e(O)("result.saveWav")))]),oe(Ut,vt)}),j(Ve),oe(et,Ve)};$e(xc,et=>{e(lt),z(()=>e(lt).length)&&et(Yn)})}var Xt=W(xc,2);{var bn=et=>{var Ve=Yg();ua(Ve,5,()=>e(Yt),da,(Ut,ot)=>{var vt=j6(),za=B(vt),Zt=B(za),oa=B(Zt,!0);j(Zt);var ia=W(Zt),Ga=B(ia);j(ia),j(za),j(vt),pe(ai=>{K(oa,(e(ot),z(()=>e(ot).id))),qe(ia,"href",(e(ot),z(()=>e(ot).url))),qe(ia,"download",(e(A),e(ot),z(()=>`${e(A).id}-${e(ot).id}.${e(ot).extension}`))),K(Ga,`Save ${ai??""}`)},[()=>(e(ot),z(()=>e(ot).extension.toUpperCase()))]),oe(Ut,vt)}),j(Ve),oe(et,Ve)};$e(Xt,et=>{e(Yt),z(()=>e(Yt).length)&&et(bn)})}var sa=W(Xt,2);{var Go=et=>{var Ve=U6(),Ut=W(B(Ve)),ot=B(Ut,!0);j(Ut),j(Ve),pe(vt=>K(ot,vt),[()=>(e(O),z(()=>e(O)("result.empty")))]),oe(et,Ve)};$e(sa,et=>{e(lt),e(Yt),z(()=>!e(lt).length&&!e(Yt).length)&&et(Go)})}var Sc=W(sa,2);{var $c=et=>{var Ve=E6();sn(Ve),pe(()=>Ai(Ve,e(Re))),oe(et,Ve)};$e(Sc,et=>{e(Re)&&et($c)})}var Tc=W(Sc,2);{var Cp=et=>{var Ve=R6(),Ut=B(Ve,!0);j(Ve),pe(()=>K(Ut,e(pt))),oe(et,Ve)};$e(Tc,et=>{e(pt)&&et(Cp)})}j(To),j(_n),pe((et,Ve,Ut,ot,vt,za,Zt,oa,ia,Ga,ai,Wi,ft)=>{qe(Y,"aria-label",et),K(Le,Ve),K(ut,Ut),K(gn,ot),K(hn,vt),K(Br,za),fr=ja(yi,1,"",null,fr,{ready:e(c)}),K(pr,Zt),K(Pr,oa),Qi.disabled=e(E),K(Nr,ia),gr=ja(tn,1,"",null,gr,{good:e(q)===!0,bad:e(q)===!1}),K(ra,Ga),K(qa,ai),K(Gp,Wi),K(Fp,ft)},[()=>(e(O),z(()=>e(O)("nav.workflows"))),()=>(e(O),z(()=>e(O)("studio.eyebrow"))),()=>(e(C),e(A),e(O),z(()=>e(C)?ye(e(A)?.task,e(O)):e(O)("studio.title"))),()=>(e(O),e(Ii),z(()=>e(O)(`studio.subtitle.${e(Ii)}`))),()=>(e(O),z(()=>e(O)("studio.model"))),()=>(e(C),e(A),e(O),z(()=>e(C)?e(A).display_name:e(O)("studio.noModel"))),()=>(e(C),e(c),e(O),e(q),z(()=>e(C)?e(c)?e(O)("studio.resident"):e(q)===!1?e(O)("studio.notInstalled"):e(O)("studio.available"):e(O)("studio.chooseInstalled"))),()=>(e(O),z(()=>e(O)("studio.model"))),()=>(e(O),z(()=>e(O)("studio.noModel"))),()=>(e(C),e(O),e(q),z(()=>e(C)?e(q)===!0?e(O)("studio.pathFound"):e(q)===!1?e(O)("studio.pathMissing"):e(O)("studio.pathUnknown"):e(O)("studio.noModel"))),()=>(e(C),e(O),e(A),z(()=>e(C)?e(O)("studio.estimatedVram",{value:e(A)?.min_vram_gb||"?"}):e(O)("studio.vram"))),()=>(e(O),z(()=>e(O)("result.label"))),()=>(e(O),z(()=>e(O)("result.title")))]),Ho(Qi,()=>e(C),et=>U(C,et)),Te("change",Qi,et=>ka(et.currentTarget.value)),oe(M,H)},w8=M=>{Pi(Ew(M,{get activeCatalog(){return e(Na)},get loadedModels(){return e(y)},get server(){return e(x)},get modelsFolder(){return e(Mi)},get maxTokens(){return e(Bt)},entrySelectable:be,studioPackageSlots:fc,packageIsAvailable:Er,packageSessionOptionsMatch:dc,supportsMaxTokens:Ps,supportsRequestOption:_c,requiresRequestOption:ee,refresh:ei,log:pa,get tr(){return e(O)},$$legacy:!0}),H=>U($,H),()=>e($))},x8=M=>{var H=X6(),Y=It(H),ne=B(Y),me=B(ne,!0);j(ne);var Be=W(ne),Le=B(Be,!0);j(Be);var st=W(Be,2),ut=B(st,!0);j(st),j(Y);var wa=W(Y,2),gn=B(wa),Ha=B(gn),ti=B(Ha),hn=B(ti),Vn=W(hn),Br=B(Vn,!0);j(Vn),j(ti);var yi=W(ti,2);ya(yi);var fr=W(yi,2);{var pr=ra=>{var Tt=nu(),qa=B(Tt);j(Tt),pe(ga=>K(qa,`${ga??""}: ${e(Rn)??""}`),[()=>(e(O),z(()=>e(O)("models.default")))]),oe(ra,Tt)};$e(fr,ra=>{e(Rn)&&ra(pr)})}j(Ha);var _n=W(Ha,2),mr=B(_n,!0);j(_n);var Hi=W(_n,2),Pr=B(Hi,!0);j(Hi);var Qi=W(Hi,2),Cn=B(Qi,!0);j(Qi),j(gn);var Nr=W(gn,2),vn=B(Nr),In=B(vn,!0);j(vn);var tn=W(vn,2);ua(tn,5,()=>Pt,da,(ra,Tt)=>{var qa=P6(),ga=B(qa);ya(ga);var St=W(ga,2),Fi=B(St,!0);j(St),j(qa),pe((ji,On)=>{pd(ga,ji),K(Fi,On)},[()=>(e(Nn),e(Tt),z(()=>e(Nn).includes(e(Tt).id))),()=>(e(Tt),e(O),z(()=>zs(e(Tt).id,e(Tt).filterLabel,e(O))))]),Te("change",ga,ji=>mn(e(Tt).id,ji.currentTarget.checked)),oe(ra,qa)}),j(tn),j(Nr),j(wa);var gr=W(wa,2);ua(gr,4,()=>[0,1],da,(ra,Tt)=>{var qa=K6();ua(qa,5,()=>e(i),da,(ga,St,Fi)=>{var ji=Yr(),On=It(ji);{var Hn=Qn=>{var Wn=Y6();let $o;Vm(Wn,`--model-order: ${Fi}`);var To=B(Wn),wc=B(To,!0);j(To);var Ds=W(To,2),Ls=B(Ds),Gp=B(Ls);j(Ls);var qo=W(Ls,2),Fp=B(qo,!0);j(qo);var Cl=W(qo,2),Ap=B(Cl,!0);j(Cl),j(Ds);var xc=W(Ds,2);ua(xc,5,()=>(e(St),z(()=>e(St).entries)),da,(Yn,Xt)=>{const bn=ri(()=>(e(St),e(Xt),z(()=>fp(e(St),e(Xt))))),sa=ri(()=>(de(e(bn)),e(Mt),z(()=>ql(e(bn),e(Mt)))));var Go=W6();let Sc;var $c=B(Go),Tc=B($c),Cp=B(Tc,!0);j(Tc);var et=W(Tc,2),Ve=B(et);j(et),j($c);var Ut=W($c,2),ot=B(Ut);{var vt=Zt=>{var oa=H6(),ia=It(oa);ua(ia,5,()=>e(bn),da,(Wi,ft)=>{var Mn=V6(),Ui=B(Mn);let Dr;var Vs=B(Ui),Is=B(Vs,!0);j(Vs);var qc=W(Vs,2);{var Kn=ki=>{var Qa=N6(),Lr=B(Qa,!0);j(Qa),pe(hr=>K(Lr,hr),[()=>(e(xt),e(ft),e(Za),e(Xt),e(O),z(()=>ze(e(xt)[e(ft).id],e(Za),ur(e(Xt),e(ft)),e(O))))]),oe(ki,Qa)},Fo=Si(()=>(e(xt),e(ft),e(Za),e(Xt),e(O),z(()=>ze(e(xt)[e(ft).id],e(Za),ur(e(Xt),e(ft)),e(O)))));$e(qc,ki=>{e(Fo)&&ki(Kn)})}j(Ui);var ls=W(Ui,2);{var ds=ki=>{var Qa=D6(),Lr=B(Qa,!0);j(Qa),pe((hr,Os)=>{qe(Qa,"title",(e(ft),z(()=>`Update ${e(ft).label}`))),qe(Qa,"aria-label",(e(Xt),e(ft),z(()=>`Update ${e(Xt).display_name} ${e(ft).label}`))),Qa.disabled=hr,K(Lr,Os)},[()=>(e(St),e(Mt),z(()=>Gl(e(St),e(Mt)))),()=>(e(O),z(()=>e(O)("models.update")))]),Te("click",Qa,()=>xv(e(Xt),e(ft),!0)),oe(ki,Qa)};$e(ls,ki=>{e(xt),e(ft),z(()=>e(xt)[e(ft).id]?.installed&&e(xt)[e(ft).id]?.version_state==="update_available")&&ki(ds)})}var Gc=W(ls,2);{var Ao=ki=>{var Qa=L6();pe(()=>{qe(Qa,"title",(e(ft),z(()=>`Delete ${e(ft).label}`))),qe(Qa,"aria-label",(e(Xt),e(ft),z(()=>`Delete ${e(Xt).display_name} ${e(ft).label}`)))}),Te("click",Qa,()=>u8(e(Xt),e(ft))),oe(ki,Qa)};$e(Gc,ki=>{e(xt),e(ft),z(()=>e(xt)[e(ft).id]?.installed)&&ki(Ao)})}j(Mn),pe((ki,Qa,Lr,hr,Os)=>{Dr=ja(Ui,1,"package-install",null,Dr,ki),qe(Ui,"aria-pressed",Qa),Ui.disabled=Lr,qe(Ui,"title",hr),K(Is,Os)},[()=>({preferred:ur(e(Xt),e(ft)),downloaded:e(xt)[e(ft).id]?.installed}),()=>(e(Xt),e(ft),z(()=>ur(e(Xt),e(ft)))),()=>(e(St),e(Mt),e(Za),e(xt),z(()=>Gl(e(St),e(Mt))||e(Za)==="running"&&Object.keys(e(xt)).length===0)),()=>(e(ft),z(()=>`${e(ft).format.toUpperCase()} ${e(ft).precision}: ${jr(e(ft).path)}`)),()=>(e(ft),e(Mt),e(O),z(()=>De(e(ft),e(Mt)[e(ft).id],e(O))))]),Te("click",Ui,()=>c8(e(Xt),e(ft))),oe(Wi,Mn)}),j(ia);var Ga=W(ia,2);{var ai=Wi=>{var ft=O6();let Mn;var Ui=B(ft),Dr=B(Ui),Vs=B(Dr,!0);j(Dr);var Is=W(Dr,2),qc=B(Is,!0);j(Is),j(Ui);var Kn=W(Ui,2);let Fo;var ls=B(Kn);j(Kn);var ds=W(Kn,2),Gc=B(ds,!0);j(ds);var Ao=W(ds,2),ki=B(Ao);{var Qa=_r=>{var an=I6(),Hs=B(an,!0);j(an),pe(us=>{an.disabled=(de(e(sa)),z(()=>e(sa).state==="cancelling")),K(Hs,us)},[()=>(e(O),z(()=>e(O)("models.stopDownload")))]),Te("click",an,()=>l8(e(Xt),e(sa))),oe(_r,an)},Lr=Si(()=>(de(e(sa)),z(()=>["queued","running","cancelling"].includes(e(sa).state)))),hr=_r=>{var an=sc(),Hs=B(an,!0);j(an),pe(us=>K(Hs,us),[()=>(e(O),z(()=>e(O)("models.cleanPartial")))]),Te("click",an,()=>d8(e(Xt),e(sa))),oe(_r,an)},Os=Si(()=>(de(e(sa)),z(()=>["failed","cancelled"].includes(e(sa).state))));$e(ki,_r=>{e(Lr)?_r(Qa):e(Os)&&_r(hr,1)})}j(Ao),j(ft),pe((_r,an,Hs,us)=>{Mn=ja(ft,1,"install-progress",null,Mn,{failed:e(sa).state==="failed",cancelled:e(sa).state==="cancelled",cleaned:e(sa).state==="cleaned"}),qe(ft,"title",(de(e(sa)),z(()=>e(sa).message))),K(Vs,(de(e(sa)),z(()=>e(sa).state))),K(qc,_r),Fo=ja(Kn,1,"install-progress-track",null,Fo,an),qe(Kn,"aria-label",(e(Xt),z(()=>`${e(Xt).display_name} download progress`))),qe(Kn,"aria-valuenow",Hs),Vm(ls,us),K(Gc,(de(e(sa)),z(()=>e(sa).message)))},[()=>(de(e(sa)),z(()=>up(e(sa)))),()=>({indeterminate:["running","cancelling"].includes(e(sa).state)&&e(sa).progress_percent<0}),()=>(de(e(sa)),z(()=>Bs(e(sa)))),()=>(de(e(sa)),z(()=>`width: ${Bs(e(sa))}%`))]),oe(Wi,ft)};$e(Ga,Wi=>{de(e(sa)),z(()=>e(sa)&&e(sa).state!=="complete")&&Wi(ai)})}pe(()=>ja(ia,1,(de(e(bn)),z(()=>`package-buttons${e(bn).length>3?" wide-package-set":""}`)))),oe(Zt,oa)},za=Zt=>{var oa=Q6(),ia=B(oa,!0);j(oa),pe(Ga=>K(ia,Ga),[()=>(e(O),e(St),z(()=>e(O)("models.sharedPackage",{name:e(St).label})))]),oe(Zt,oa)};$e(ot,Zt=>{de(e(bn)),z(()=>e(bn).length)?Zt(vt):(e(Xt),z(()=>(e(Xt).install_packages||[]).length)&&Zt(za,1))})}j(Ut),j(Go),pe(Zt=>{Sc=ja(Go,1,"model-variant",null,Sc,{"selected-variant":e(Xt).id===e(C)}),K(Cp,(e(Xt),z(()=>e(Xt).display_name))),K(Ve,`${Zt??""} · VRAM ~${e(Xt),z(()=>e(Xt).min_vram_gb||"?")??""} GB`)},[()=>(e(Xt),e(O),z(()=>ye(e(Xt).task,e(O))))]),oe(Yn,Go)}),j(xc),j(Wn),pe((Yn,Xt,bn,sa)=>{$o=ja(Wn,1,"model-family-card",null,$o,Yn),K(wc,Xt),K(Gp,`${e(St),z(()=>e(St).entries.length)??""} ${bn??""}`),K(Fp,(e(St),z(()=>e(St).label))),K(Ap,sa)},[()=>({selected:e(St).entries.some(Yn=>Yn.id===e(C))}),()=>(e(St),z(()=>e(St).entries[0].task.toUpperCase())),()=>(e(St),e(O),z(()=>e(St).entries.length===1?e(O)("models.model"):e(O)("models.variants"))),()=>(e(St),e(O),z(()=>e(St).entries.map(Yn=>ye(Yn.task,e(O))).filter((Yn,Xt,bn)=>bn.indexOf(Yn)===Xt).join(" · ")))]),oe(Qn,Wn)};$e(On,Qn=>{Fi%2===Tt&&Qn(Hn)})}oe(ga,ji)}),j(qa),oe(ra,qa)}),j(gr),pe((ra,Tt,qa,ga,St,Fi,ji,On,Hn,Qn,Wn)=>{K(me,ra),K(Le,Tt),K(ut,qa),K(hn,`${ga??""} `),K(Br,St),qe(yi,"placeholder",Fi),_n.disabled=e(Ti),K(mr,ji),Hi.disabled=On,K(Pr,Hn),Qi.disabled=e(Ti)||e(as),K(Cn,Qn),K(In,Wn)},[()=>(e(O),z(()=>e(O)("models.eyebrow"))),()=>(e(O),z(()=>e(O)("models.title"))),()=>(e(O),z(()=>e(O)("models.subtitle"))),()=>(e(O),z(()=>e(O)("models.folder"))),()=>(e(O),z(()=>e(O)("models.folderHint"))),()=>(e(Rn),e(O),z(()=>e(Rn)||e(O)("models.folderPlaceholder"))),()=>(e(O),z(()=>e(O)("common.browse"))),()=>(e(Ti),e(zi),e(Mi),z(()=>e(Ti)||!e(zi).trim()||e(zi).trim()===e(Mi))),()=>(e(Ti),e(O),z(()=>e(Ti)?e(O)("common.applying"):e(O)("common.apply"))),()=>(e(O),z(()=>e(O)("models.useDefault"))),()=>(e(O),z(()=>e(O)("models.showTypes")))]),Ka(yi,()=>e(zi),ra=>U(zi,ra)),Te("click",_n,()=>ci()),Te("click",Hi,()=>Da(!1)),Te("click",Qi,()=>Da(!0)),oe(M,H)},S8=M=>{var H=Z6(),Y=It(H),ne=B(Y),me=B(ne,!0);j(ne);var Be=W(ne),Le=B(Be,!0);j(Be);var st=W(Be),ut=B(st,!0);j(st),j(Y);var wa=W(Y,2),gn=B(wa),Ha=B(gn),ti=B(Ha),hn=B(ti,!0);j(ti);var Vn=W(ti),Br=B(Vn,!0);j(Vn),j(Ha);var yi=W(Ha,2),fr=B(yi),pr=B(fr,!0);j(fr);var _n=W(fr),mr=B(_n,!0);j(_n),j(yi);var Hi=W(yi,2),Pr=B(Hi),Qi=B(Pr,!0);j(Pr);var Cn=W(Pr),Nr=B(Cn,!0);j(Cn),j(Hi);var vn=W(Hi,2),In=B(vn),tn=B(In,!0);j(In);var gr=W(In),ra=B(gr,!0);j(gr),j(vn),j(gn);var Tt=W(gn,2),qa=B(Tt,!0);j(Tt),j(wa),pe((ga,St,Fi,ji,On,Hn,Qn,Wn,$o)=>{K(me,ga),K(Le,St),K(ut,Fi),K(hn,ji),K(Br,(e(x),z(()=>e(x)?.status||"offline"))),K(pr,On),K(mr,(e(x),z(()=>e(x)?.backend||"—"))),K(Qi,Hn),K(Nr,(e(y),z(()=>e(y).length))),K(tn,Qn),K(ra,Wn),K(qa,$o)},[()=>(e(O),z(()=>e(O)("runtime.eyebrow"))),()=>(e(O),z(()=>e(O)("runtime.title"))),()=>(e(O),z(()=>e(O)("runtime.subtitle"))),()=>(e(O),z(()=>e(O)("runtime.status"))),()=>(e(O),z(()=>e(O)("runtime.backend"))),()=>(e(O),z(()=>e(O)("runtime.registered"))),()=>(e(O),z(()=>e(O)("runtime.resident"))),()=>(e(y),z(()=>e(y).filter(ga=>ga.loaded).length)),()=>(e(fa),e(O),z(()=>e(fa).length?e(fa).join(` +`):e(O)("runtime.noEvents")))]),oe(M,H)};$e(y8,M=>{e(G)==="studio"?M(k8):e(G)==="arena"?M(w8,1):e(G)==="models"?M(x8,2):M(S8,-1)})}j(qp);var jv=W(qp,2);{var $8=M=>{var H=i4(),Y=B(H),ne=B(Y),me=B(ne),Be=B(me),Le=B(Be,!0);j(Be);var st=W(Be),ut=B(st,!0);j(st),j(me);var wa=W(me,2),gn=B(wa,!0);j(wa),j(ne);var Ha=W(ne,2),ti=B(Ha,!0);j(Ha);var hn=W(Ha,2);{var Vn=ra=>{var Tt=J6();ua(Tt,5,()=>(e(Pa),z(()=>e(Pa).roots)),da,(qa,ga)=>{var St=sc(),Fi=B(St,!0);j(St),pe(()=>K(Fi,e(ga))),Te("click",St,()=>ci(e(ga))),oe(qa,St)}),j(Tt),oe(ra,Tt)};$e(hn,ra=>{e(Pa),z(()=>e(Pa)?.roots.length)&&ra(Vn)})}var Br=W(hn,2),yi=B(Br),fr=B(yi,!0);j(yi);var pr=W(yi,2),_n=B(pr,!0);j(pr),j(Br);var mr=W(Br,2);{var Hi=ra=>{var Tt=e4(),qa=B(Tt,!0);j(Tt),pe(()=>K(qa,e(un))),oe(ra,Tt)},Pr=ra=>{var Tt=Kg(),qa=B(Tt,!0);j(Tt),pe(ga=>K(qa,ga),[()=>(e(O),z(()=>e(O)("folder.loadingFolders")))]),oe(ra,Tt)},Qi=ra=>{var Tt=a4();ua(Tt,5,()=>(e(Pa),z(()=>e(Pa).directories)),da,(qa,ga)=>{var St=t4(),Fi=W(B(St)),ji=B(Fi,!0);j(Fi),j(St),pe(()=>{qe(St,"title",(e(ga),z(()=>e(ga).path))),K(ji,(e(ga),z(()=>e(ga).name)))}),Te("click",St,()=>ci(e(ga).path)),oe(qa,St)}),j(Tt),oe(ra,Tt)},Cn=ra=>{var Tt=Kg(),qa=B(Tt,!0);j(Tt),pe(ga=>K(qa,ga),[()=>(e(O),z(()=>e(O)("folder.empty")))]),oe(ra,Tt)};$e(mr,ra=>{e(un)?ra(Hi):e(dn)?ra(Pr,1):(e(Pa),z(()=>e(Pa)?.directories.length)?ra(Qi,2):ra(Cn,-1))})}var Nr=W(mr,2),vn=B(Nr),In=B(vn,!0);j(vn);var tn=W(vn,2),gr=B(tn,!0);j(tn),j(Nr),j(Y),j(H),pe((ra,Tt,qa,ga,St,Fi,ji,On,Hn,Qn)=>{K(Le,ra),K(ut,Tt),qe(wa,"aria-label",qa),qe(wa,"title",ga),K(gn,St),K(ti,Fi),yi.disabled=(e(Pa),e(dn),z(()=>!e(Pa)?.parent||e(dn))),K(fr,ji),pr.disabled=e(dn),K(_n,On),K(In,Hn),tn.disabled=!e(Pa)||e(dn),K(gr,Qn)},[()=>(e(O),z(()=>e(O)("folder.eyebrow"))),()=>(e(O),z(()=>e(O)("folder.title"))),()=>(e(O),z(()=>e(O)("folder.closeLabel"))),()=>(e(O),z(()=>e(O)("common.close"))),()=>(e(O),z(()=>e(O)("common.close"))),()=>(e(Pa),e(O),z(()=>e(Pa)?.current||e(O)("folder.loading"))),()=>(e(O),z(()=>e(O)("folder.up"))),()=>(e(O),z(()=>e(O)("common.refresh"))),()=>(e(O),z(()=>e(O)("common.cancel"))),()=>(e(O),z(()=>e(O)("folder.select")))]),Te("click",wa,()=>U(Ji,!1)),Te("click",yi,()=>ci(e(Pa)?.parent||"")),Te("click",pr,()=>ci(e(Pa)?.current||"")),Te("click",vn,()=>U(Ji,!1)),Te("click",tn,en),oe(M,H)};$e(jv,M=>{e(Ji)&&M($8)})}var Uv=W(jv,2),Ev=W(B(Uv)),T8=B(Ev,!0);j(Ev),j(Uv),pe((M,H,Y,ne,me,Be,Le,st,ut,wa)=>{K(f8,M),qe(Fl,"aria-label",H),qv=ja(yc,1,"",null,qv,{active:e(G)==="studio"}),K(p8,Y),Gv=ja(kc,1,"",null,Gv,{active:e(G)==="arena"}),K(m8,ne),Av=ja(Al,1,"",null,Av,{active:e(G)==="logs"}),K(h8,me),K(_8,Be),qe(os,"aria-label",Le),Cv!==(Cv=e(Di))&&(os.value=(os.__value=e(Di))??"",ar(os,e(Di))),K(v8,st),qe(cs,"aria-label",ut),Mv!==(Mv=e(Li))&&(cs.value=(cs.__value=e(Li))??"",ar(cs,e(Li))),zv=ja(Tp,1,"server-pill",null,zv,{online:e(x)?.status==="ok"}),K(b8,(e(x),z(()=>e(x)?.backend||"offline"))),K(T8,wa)},[()=>(e(O),z(()=>e(O)("app.nativeStudio"))),()=>(e(O),z(()=>e(O)("nav.primary"))),()=>(e(O),z(()=>e(O)("nav.studio"))),()=>(e(O),z(()=>e(O)("nav.arena"))),()=>(e(O),z(()=>e(O)("nav.runtime"))),()=>(e(O),z(()=>e(O)("language.label"))),()=>(e(O),z(()=>e(O)("language.label"))),()=>(e(O),z(()=>e(O)("theme.label"))),()=>(e(O),z(()=>e(O)("theme.label"))),()=>(e(O),z(()=>e(O)("footer.embedded")))]),Te("click",yc,ba),Te("click",kc,()=>U(G,"arena")),Te("click",Al,()=>U(G,"logs")),Te("change",os,M=>ns(M.currentTarget.value)),Te("change",cs,M=>Ms(M.currentTarget.value)),oe(t,Sv),_s()}const s4=Object.freeze(Object.defineProperty({__proto__:null,component:r4},Symbol.toStringTag,{value:"Module"})),o4=Object.freeze(Object.defineProperty({__proto__:null,default:({status:t,message:a})=>` @@ -124,46 +124,46 @@

`+a+`

-`},Symbol.toStringTag,{value:"Module"}));function n4(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var ru,Kg;function r4(){if(Kg)return ru;Kg=1;var t="6.7.0";return ru=t,ru}var su,Xg;function ou(){if(Xg)return su;Xg=1;var t=function(r,n){var i=this;n||(n={}),i.qpm=n.qpm?parseInt(n.qpm,10):null,i.extraMeasuresAtBeginning=n.extraMeasuresAtBeginning?parseInt(n.extraMeasuresAtBeginning,10):0,i.beatCallback=n.beatCallback,i.eventCallback=n.eventCallback,i.lineEndCallback=n.lineEndCallback,i.lineEndAnticipation=n.lineEndAnticipation?parseInt(n.lineEndAnticipation,10):0,i.beatSubdivisions=n.beatSubdivisions?parseInt(n.beatSubdivisions,10):1,i.beatSubdivisions||(i.beatSubdivisions=1),i.joggerTimer=null,i.replaceTarget=function(s){if(!n.qpm){var d=s.metaText?s.metaText.tempo:null;i.qpm=s.getBpm(d)}if(i.noteTimings=s.setTiming(i.qpm,i.extraMeasuresAtBeginning),s.noteTimings.length===0&&(i.noteTimings=s.setTiming(0,0)),i.lineEndCallback&&(i.lineEndTimings=a(s.noteTimings,i.lineEndAnticipation)),i.startTime=null,i.currentBeat=0,i.currentEvent=0,i.currentLine=0,i.currentTime=0,i.isPaused=!1,i.isRunning=!1,i.pausedPercent=null,i.justUnpaused=!1,i.newSeekPercent=0,i.lastTimestamp=0,i.noteTimings.length!==0){i.millisecondsPerBeat=1e3/(i.qpm/60)/i.beatSubdivisions,i.lastMoment=i.noteTimings[i.noteTimings.length-1].milliseconds;var p=s.getMeter(),m="";if(p&&p.type==="specified"&&p.value&&p.value.length>0&&p.value[0].num.indexOf("+")>0&&(m=p.value[0].num),i.beatStarts=[],m){for(var _=i.noteTimings[i.noteTimings.length-1].millisecondsPerMeasure,h=i.lastMoment/_,f=m.split("+"),u=0;ui.currentEvent&&i.noteTimings[i.currentEvent].millisecondsi.currentLine&&i.lineEndTimings[i.currentLine].milliseconds=i.lastMoment)if(i.eventCallback){var h=i.eventCallback(null);i.shouldStop(h).then(function(f){f&&i.stop()})}else i.stop()}},i.shouldStop=function(s){return new Promise(function(d){if(!s)return d(!0);if(s==="continue")return d(!1);s.then&&s.then(function(p){d(p!=="continue")})})},i.doBeatCallback=function(s){if(i.beatCallback){for(var d=i.currentEvent;d=0&&i.noteTimings[d].left===null;)d--;m=i.noteTimings[d]}var _={},h={};if(m){_.top=m.top,_.height=m.height;var f=Math.max(0,s-i.startTime-m.milliseconds),u=p-m.milliseconds,l=m.endX-m.left,o=u?f*l/u:0;_.left=m.left+o,i.currentEvent===0&&m.milliseconds>s-i.startTime&&(_.left=void 0),h={timestamp:s,startTime:i.startTime,ev:m,endMs:p,offMs:f,offPx:o,gapMs:u,gapPx:l}}else h={timestamp:s,startTime:i.startTime};if(i.currentBeat<0||i.currentBeat>=i.beatStarts.length||!i.beatStarts[i.currentBeat]){var g={currentBeat:i.currentBeat,beatStartLength:i.beatStarts.length,totalBeats:i.totalBeats,startTime:i.startTime,currentTime:i.currentTime,lastMoment:i.lastMoment,lastTimestamp:i.lastTimestamp,qpm:i.qpm,millisecondsPerBeat:i.millisecondsPerBeat,beatSubdivisions:i.beatSubdivisions,currentEvent:i.currentEvent,currentLine:i.currentLine,isPaused:i.isPaused,isRunning:i.isRunning,pausedPercent:i.pausedPercent,justUnpaused:i.justUnpaused,newSeekPercent:i.newSeekPercent};setTimeout(function(){throw new Error("abcjs-timing-callback error: "+JSON.stringify(g))},1)}else{var v=i.startTime;if(i.beatCallback(i.beatStarts[i.currentBeat].b,i.totalBeats/i.beatSubdivisions,i.lastMoment,_,h),v!==i.startTime)return s-i.startTime}}return null};var c=60;i.animationJogger=function(){i.isRunning&&(i.doTiming(performance.now()),i.joggerTimer=setTimeout(i.animationJogger,c))},i.start=function(s,d){if(i.isRunning=!0,i.isPaused&&(i.isPaused=!1,s===void 0&&(i.justUnpaused=!0)),s)i.setProgress(s,d);else if(s===0)i.reset();else if(i.pausedPercent!==null){var p=performance.now();i.currentTime=i.lastMoment*i.pausedPercent,i.startTime=p-i.currentTime,i.pausedPercent=null,i.reportNext=!0}requestAnimationFrame(i.doTiming),i.joggerTimer=setTimeout(i.animationJogger,c)},i.pause=function(){i.isPaused=!0;var s=performance.now();i.pausedPercent=(s-i.startTime)/i.lastMoment,i.isRunning=!1,i.joggerTimer&&(clearTimeout(i.joggerTimer),i.joggerTimer=null)},i.currentMillisecond=function(){return i.currentTime},i.reset=function(){i.currentBeat=0,i.currentEvent=0,i.currentLine=0,i.startTime=null,i.pausedPercent=null},i.stop=function(){i.pause(),i.reset()},i.setProgress=function(s,d){var p;switch(d){case"seconds":i.currentTime=s*1e3,i.currentTime<0&&(i.currentTime=0),i.currentTime>i.lastMoment&&(i.currentTime=i.lastMoment),p=i.currentTime/i.lastMoment;break;case"beats":i.currentTime=s*i.millisecondsPerBeat*i.beatSubdivisions,i.currentTime<0&&(i.currentTime=0),i.currentTime>i.lastMoment&&(i.currentTime=i.lastMoment),p=i.currentTime/i.lastMoment;break;default:p=s,p<0&&(p=0),p>1&&(p=1),i.currentTime=i.lastMoment*p;break}i.isRunning||(i.pausedPercent=p);var m=performance.now();for(i.startTime=m-i.currentTime,i.currentEvent=0;i.noteTimings.length>i.currentEvent&&i.noteTimings[i.currentEvent].millisecondsi.currentLine&&i.lineEndTimings[i.currentLine].milliseconds+i.lineEndAnticipationi.currentTime);i.currentBeat++);i.currentBeat--,i.beatCallback&&_!==i.currentBeat&&(i.doBeatCallback(i.startTime+i.currentTime),i.currentBeat++),i.eventCallback&&i.currentEvent>=0&&i.noteTimings[i.currentEvent].type==="event"&&i.eventCallback(i.noteTimings[i.currentEvent]),i.lineEndCallback&&i.lineEndCallback(i.lineEndTimings[i.currentLine],i.noteTimings[i.currentEvent],{line:i.currentLine,endTimings:i.lineEndTimings}),i.joggerTimer=setTimeout(i.animationJogger,c)}};function a(r,n){for(var i=[],c=null,s=0;s=0&&a.lastIndexOf(r)===n},t.last=function(a){return a.length===0?null:a[a.length-1]},lu=t,lu}var du,eh;function uu(){if(eh)return du;eh=1;var t=tr(),a={};return(function(){var r,n,i,c,s;a.initialize=function(y,x,q,L,Q){r=y,n=x,i=q,c=L,s=Q,d()};function d(){i.annotationfont={face:"Helvetica",size:12,weight:"normal",style:"normal",decoration:"none"},i.gchordfont={face:"Helvetica",size:12,weight:"normal",style:"normal",decoration:"none"},i.historyfont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},i.infofont={face:'"Times New Roman"',size:14,weight:"normal",style:"italic",decoration:"none"},i.measurefont={face:'"Times New Roman"',size:14,weight:"normal",style:"italic",decoration:"none"},i.partsfont={face:'"Times New Roman"',size:15,weight:"normal",style:"normal",decoration:"none"},i.repeatfont={face:'"Times New Roman"',size:13,weight:"normal",style:"normal",decoration:"none"},i.textfont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},i.tripletfont={face:"Times",size:11,weight:"normal",style:"italic",decoration:"none"},i.vocalfont={face:'"Times New Roman"',size:13,weight:"bold",style:"normal",decoration:"none"},i.wordsfont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},c.formatting.composerfont={face:'"Times New Roman"',size:14,weight:"normal",style:"italic",decoration:"none"},c.formatting.subtitlefont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},c.formatting.tempofont={face:'"Times New Roman"',size:15,weight:"bold",style:"normal",decoration:"none"},c.formatting.titlefont={face:'"Times New Roman"',size:20,weight:"normal",style:"normal",decoration:"none"},c.formatting.footerfont={face:'"Times New Roman"',size:12,weight:"normal",style:"normal",decoration:"none"},c.formatting.headerfont={face:'"Times New Roman"',size:12,weight:"normal",style:"normal",decoration:"none"},c.formatting.voicefont={face:'"Times New Roman"',size:13,weight:"bold",style:"normal",decoration:"none"},c.formatting.tablabelfont={face:'"Trebuchet MS"',size:16,weight:"normal",style:"normal",decoration:"none"},c.formatting.tabnumberfont={face:'"Arial"',size:11,weight:"normal",style:"normal",decoration:"none"},c.formatting.tabgracefont={face:'"Arial"',size:8,weight:"normal",style:"normal",decoration:"none"},c.formatting.annotationfont=i.annotationfont,c.formatting.gchordfont=i.gchordfont,c.formatting.historyfont=i.historyfont,c.formatting.infofont=i.infofont,c.formatting.measurefont=i.measurefont,c.formatting.partsfont=i.partsfont,c.formatting.repeatfont=i.repeatfont,c.formatting.textfont=i.textfont,c.formatting.tripletfont=i.tripletfont,c.formatting.vocalfont=i.vocalfont,c.formatting.wordsfont=i.wordsfont}var p={gchordfont:!0,measurefont:!0,partsfont:!0,annotationfont:!0,composerfont:!0,historyfont:!0,infofont:!0,subtitlefont:!0,textfont:!0,titlefont:!0,voicefont:!0},m=function(y){switch(y){case"Arial-Italic":return{face:"Arial",weight:"normal",style:"italic",decoration:"none"};case"Arial-Bold":return{face:"Arial",weight:"bold",style:"normal",decoration:"none"};case"Bookman-Demi":return{face:"Bookman,serif",weight:"bold",style:"normal",decoration:"none"};case"Bookman-DemiItalic":return{face:"Bookman,serif",weight:"bold",style:"italic",decoration:"none"};case"Bookman-Light":return{face:"Bookman,serif",weight:"normal",style:"normal",decoration:"none"};case"Bookman-LightItalic":return{face:"Bookman,serif",weight:"normal",style:"italic",decoration:"none"};case"Courier":return{face:'"Courier New"',weight:"normal",style:"normal",decoration:"none"};case"Courier-Oblique":return{face:'"Courier New"',weight:"normal",style:"italic",decoration:"none"};case"Courier-Bold":return{face:'"Courier New"',weight:"bold",style:"normal",decoration:"none"};case"Courier-BoldOblique":return{face:'"Courier New"',weight:"bold",style:"italic",decoration:"none"};case"AvantGarde-Book":return{face:"AvantGarde,Arial",weight:"normal",style:"normal",decoration:"none"};case"AvantGarde-BookOblique":return{face:"AvantGarde,Arial",weight:"normal",style:"italic",decoration:"none"};case"AvantGarde-Demi":case"Avant-Garde-Demi":return{face:"AvantGarde,Arial",weight:"bold",style:"normal",decoration:"none"};case"AvantGarde-DemiOblique":return{face:"AvantGarde,Arial",weight:"bold",style:"italic",decoration:"none"};case"Helvetica-Oblique":return{face:"Helvetica",weight:"normal",style:"italic",decoration:"none"};case"Helvetica-Bold":return{face:"Helvetica",weight:"bold",style:"normal",decoration:"none"};case"Helvetica-BoldOblique":return{face:"Helvetica",weight:"bold",style:"italic",decoration:"none"};case"Helvetica-Narrow":return{face:'"Helvetica Narrow",Helvetica',weight:"normal",style:"normal",decoration:"none"};case"Helvetica-Narrow-Oblique":return{face:'"Helvetica Narrow",Helvetica',weight:"normal",style:"italic",decoration:"none"};case"Helvetica-Narrow-Bold":return{face:'"Helvetica Narrow",Helvetica',weight:"bold",style:"normal",decoration:"none"};case"Helvetica-Narrow-BoldOblique":return{face:'"Helvetica Narrow",Helvetica',weight:"bold",style:"italic",decoration:"none"};case"Palatino-Roman":return{face:"Palatino",weight:"normal",style:"normal",decoration:"none"};case"Palatino-Italic":return{face:"Palatino",weight:"normal",style:"italic",decoration:"none"};case"Palatino-Bold":return{face:"Palatino",weight:"bold",style:"normal",decoration:"none"};case"Palatino-BoldItalic":return{face:"Palatino",weight:"bold",style:"italic",decoration:"none"};case"NewCenturySchlbk-Roman":return{face:'"New Century",serif',weight:"normal",style:"normal",decoration:"none"};case"NewCenturySchlbk-Italic":return{face:'"New Century",serif',weight:"normal",style:"italic",decoration:"none"};case"NewCenturySchlbk-Bold":return{face:'"New Century",serif',weight:"bold",style:"normal",decoration:"none"};case"NewCenturySchlbk-BoldItalic":return{face:'"New Century",serif',weight:"bold",style:"italic",decoration:"none"};case"Times":case"Times-Roman":case"Times-Narrow":case"Times-Courier":case"Times-New-Roman":return{face:'"Times New Roman"',weight:"normal",style:"normal",decoration:"none"};case"Times-Italic":case"Times-Italics":return{face:'"Times New Roman"',weight:"normal",style:"italic",decoration:"none"};case"Times-Bold":return{face:'"Times New Roman"',weight:"bold",style:"normal",decoration:"none"};case"Times-BoldItalic":return{face:'"Times New Roman"',weight:"bold",style:"italic",decoration:"none"};case"ZapfChancery-MediumItalic":return{face:'"Zapf Chancery",cursive,serif',weight:"normal",style:"normal",decoration:"none"};default:return null}},_=function(y,x,q,L,Q){function Z(){var Rt=parseInt(y[0].token);return y.shift(),x?y.length===0?{face:x.face,weight:x.weight,style:x.style,decoration:x.decoration,size:Rt}:y.length===1&&y[0].token==="box"&&p[Q]?{face:x.face,weight:x.weight,style:x.style,decoration:x.decoration,size:Rt,box:!0}:(n("Extra parameters in font definition.",q,L),{face:x.face,weight:x.weight,style:x.style,decoration:x.decoration,size:Rt}):(n("Can't set just the size of the font since there is no default value.",q,L),{face:'"Times New Roman"',weight:"normal",style:"normal",decoration:"none",size:Rt})}if(y[0].token==="*"){if(y.shift(),y[0].type==="number")return Z();n("Expected font size number after *.",q,L)}if(y[0].type==="number")return Z();for(var X=[],J,be="normal",re="normal",Fe="none",ye=!1,Me="face",oe=!1;y.length;){var ze=y.shift(),ue=ze.token.toLowerCase();switch(Me){case"face":oe||ue!=="utf"&&ze.type!=="number"&&ue!=="bold"&&ue!=="italic"&&ue!=="underline"&&ue!=="box"?X.length>0&&ze.token==="-"?(oe=!0,X[X.length-1]=X[X.length-1]+ze.token):oe?(oe=!1,X[X.length-1]=X[X.length-1]+ze.token):X.push(ze.token):ze.type==="number"?(J?n("Font size specified twice in font definition.",q,L):J=ze.token,Me="modifier"):ue==="bold"?be="bold":ue==="italic"?re="italic":ue==="underline"?Fe="underline":ue==="box"?(p[Q]?ye=!0:n(`This font style doesn't support "box"`,q,L),Me="finished"):ue==="utf"?(ze=y.shift(),Me="size"):n("Unknown parameter "+ze.token+" in font definition.",q,L);break;case"size":ze.type==="number"?J?n("Font size specified twice in font definition.",q,L):J=ze.token:n("Expected font size in font definition.",q,L),Me="modifier";break;case"modifier":ue==="bold"?be="bold":ue==="italic"?re="italic":ue==="underline"?Fe="underline":ue==="box"?(p[Q]?ye=!0:n(`This font style doesn't support "box"`,q,L),Me="finished"):n("Unknown parameter "+ze.token+" in font definition.",q,L);break;case"finished":n('Extra characters found after "box" in font definition.',q,L);break}}J===void 0?x?J=x.size:(n("Must specify the size of the font since there is no default value.",q,L),J=12):J=parseFloat(J),X=X.join(" "),X===""&&(x?X=x.face:(n("Must specify the name of the font since there is no default value.",q,L),X="sans-serif"));var Ve=m(X),Ke={};return Ve?(Ke.face=Ve.face,Ke.weight=Ve.weight,Ke.style=Ve.style,Ke.decoration=Ve.decoration,Ke.size=J,ye&&(Ke.box=!0),Ke):(Ke.face=X,Ke.weight=be,Ke.style=re,Ke.decoration=Fe,Ke.size=J,ye&&(Ke.box=!0),Ke)},h=function(y,x,q){return x.length===0?'Directive "'+y+'" requires a font as a parameter.':(i[y]=_(x,i[y],q,0,y),i.is_in_header&&(c.formatting[y]=i[y]),null)},f=function(y,x,q){return x.length===0?'Directive "'+y+'" requires a font as a parameter.':(c.formatting[y]=_(x,c.formatting[y],q,0,y),null)},u=function(y,x){var q="";x.forEach(function(Q){q+=Q.token});var L=parseFloat(q);if(isNaN(L)||L===0)return'Directive "'+y+'" requires a number as a parameter.';c.formatting.scale=L},l=["acoustic-bass-drum","bass-drum-1","side-stick","acoustic-snare","hand-clap","electric-snare","low-floor-tom","closed-hi-hat","high-floor-tom","pedal-hi-hat","low-tom","open-hi-hat","low-mid-tom","hi-mid-tom","crash-cymbal-1","high-tom","ride-cymbal-1","chinese-cymbal","ride-bell","tambourine","splash-cymbal","cowbell","crash-cymbal-2","vibraslap","ride-cymbal-2","hi-bongo","low-bongo","mute-hi-conga","open-hi-conga","low-conga","high-timbale","low-timbale","high-agogo","low-agogo","cabasa","maracas","short-whistle","long-whistle","short-guiro","long-guiro","claves","hi-wood-block","low-wood-block","mute-cuica","open-cuica","mute-triangle","open-triangle"],o=function(y){var x=y.split(/\s+/);if(x.length!==2&&x.length!==3)return{error:'Expected parameters "abc-note", "drum-sound", and optionally "note-head"'};var q=x[0],L=parseInt(x[1],10);if((isNaN(L)||L<35||L>81)&&x[1]&&(L=l.indexOf(x[1].toLowerCase())+35),isNaN(L)||L<35||L>81)return{error:'Expected drum name, received "'+x[1]+'"'};var Q={sound:L};return x.length===3&&(Q.noteHead=x[2]),{key:q,value:Q}},g=function(y,x){var q=r.getMeasurement(x);return q.used===0||x.length!==0?{error:'Directive "'+y+'" requires a measurement as a parameter.'}:q.value},v=function(y,x){var q=r.getMeasurement(x);return q.used===0||x.length!==0?'Directive "'+y+'" requires a measurement as a parameter.':(c.formatting[y]=q.value,null)},b=function(y,x,q,L,Q){if(q.length!==1||q[0].type!=="number")return'Directive "'+x+'" requires a number as a parameter.';var Z=q[0].intt;return L!==void 0&&ZQ?'Directive "'+x+'" requires a number less than or equal to '+Q+" as a parameter.":(i[y]=Z,null)},k=function(y,x,q){if(q.length===1&&(q[0].token==="true"||q[0].token==="false"))return i[y]=q[0].token==="true",null;var L=b(y,x,q,0,1);return L!==null?L:(i[y]=i[y]===1,null)},w=function(y,x,q,L){if(q.length!==1)return'Directive "'+x+'" requires one of [ '+L.join(", ")+" ] as a parameter.";for(var Q=q[0].token,Z=!1,X=0;!Z&&X=0)y.length!==0&&n("Unexpected parameter in MIDI "+L,q,0);else if(N.indexOf(L)>=0)y.length!==1?n("Expected one parameter in MIDI "+L,q,0):Q.push(y[0].token);else if(R.indexOf(L)>=0)y.length!==1?n("Expected one parameter in MIDI "+L,q,0):y[0].type!=="number"?n("Expected one integer parameter in MIDI "+L,q,0):Q.push(y[0].intt);else if(F.indexOf(L)>=0)y.length!==1&&y.length!==2?n("Expected one or two parameters in MIDI "+L,q,0):y[0].type!=="number"||y.length===2&&y[1].type!=="number"?n("Expected integer parameter in MIDI "+L,q,0):(Q.push(y[0].intt),y.length===2&&Q.push(y[1].intt));else if(D.indexOf(L)>=0)y.length!==2?n("Expected two parameters in MIDI "+L,q,0):y[0].type!=="number"||y[1].type!=="number"?n("Expected two integer parameters in MIDI "+L,q,0):(Q.push(y[0].intt),Q.push(y[1].intt));else if(j.indexOf(L)>=0)y.length!==2?n("Expected two parameters in MIDI "+L,q,0):y[0].type!=="alpha"||y[1].type!=="number"?n("Expected one string and one integer parameters in MIDI "+L,q,0):(Q.push(y[0].token),Q.push(y[1].intt));else if(L==="drummap")y.length===2&&y[0].type==="alpha"&&y[1].type==="number"?(x.formatting||(x.formatting={}),x.formatting.midi||(x.formatting.midi={}),x.formatting.midi.drummap||(x.formatting.midi.drummap={}),x.formatting.midi.drummap[y[0].token]=y[1].intt,Q=x.formatting.midi.drummap):y.length===3&&y[0].type==="punct"&&y[1].type==="alpha"&&y[2].type==="number"?(x.formatting||(x.formatting={}),x.formatting.midi||(x.formatting.midi={}),x.formatting.midi.drummap||(x.formatting.midi.drummap={}),x.formatting.midi.drummap[y[0].token+y[1].token]=y[2].intt,Q=x.formatting.midi.drummap):n("Expected one note name and one integer parameter in MIDI "+L,q,0);else if(V.indexOf(L)>=0)y.length!==3||y[0].type!=="number"||y[1].token!=="/"||y[2].type!=="number"?n("Expected fraction parameter in MIDI "+L,q,0):(Q.push(y[0].intt),Q.push(y[2].intt));else if(I.indexOf(L)>=0)y.length!==4?n("Expected four parameters in MIDI "+L,q,0):y[0].type!=="number"||y[1].type!=="number"||y[2].type!=="number"||y[3].type!=="number"?n("Expected four integer parameters in MIDI "+L,q,0):(Q.push(y[0].intt),Q.push(y[1].intt),Q.push(y[2].intt),Q.push(y[3].intt));else if(S.indexOf(L)>=0)y.length!==5?n("Expected five parameters in MIDI "+L,q,0):y[0].type!=="number"||y[1].type!=="number"||y[2].type!=="number"||y[3].type!=="number"||y[4].type!=="number"?n("Expected five integer parameters in MIDI "+L,q,0):(Q.push(y[0].intt),Q.push(y[1].intt),Q.push(y[2].intt),Q.push(y[3].intt),Q.push(y[4].intt));else if(F.indexOf(L)>=0)y.length!==1||y.length!==4?n("Expected one or two parameters in MIDI "+L,q,0):y[0].type!=="number"?n("Expected integer parameter in MIDI "+L,q,0):y.length===4?(y[1].token!=="octave"&&n("Expected octave parameter in MIDI "+L,q,0),y[2].token!=="="&&n("Expected octave parameter in MIDI "+L,q,0),y[3].type!=="number"&&n("Expected integer parameter for octave in MIDI "+L,q,0)):(Q.push(y[0].intt),y.length===4&&Q.push(y[3].intt));else if(G.indexOf(L)>=0)if(y.length<2)n("Expected string parameter and at least one integer parameter in MIDI "+L,q,0);else if(y[0].type!=="alpha")n("Expected string parameter and at least one integer parameter in MIDI "+L,q,0);else{var Z=y.shift();for(Q.push(Z.token);y.length>0;)Z=y.shift(),Z.type!=="number"&&n("Expected integer parameter in MIDI "+L,q,0),Q.push(Z.intt)}else if(T.indexOf(L)>=0){if(y.length!==1&&y.length!==2)n("Expected one or two parameters in MIDI "+L,q,0);else if(y[0].type!=="number")n("Expected integer parameter in MIDI "+L,q,0);else if(y.length===2&&y[1].type!=="alpha")n("Expected alpha parameter in MIDI "+L,q,0);else if(Q.push(y[0].intt),y.length===2){var X=y[1].token;X.indexOf("octave=")!=-1?(X=X.replace("octave=",""),X=parseInt(X),isNaN(X)?n("Expected octave value in MIDI"+L):(X<-1&&(n("Expected octave= in MIDI "+L+" to be >= -1 (recv:"+X+")"),X=-1),X>3&&(n("Expected octave= in MIDI "+L+" to be <= 3 (recv:"+X+")"),X=3),Q.push(X))):n("Expected octave= in MIDI"+L)}}s.hasBeginMusic()?s.appendElement("midi",-1,-1,{cmd:L,params:Q}):(x.formatting.midi===void 0&&(x.formatting.midi={}),x.formatting.midi[L]=Q)};a.parseFontChangeLine=function(y){y=y.replace(/\$\$/g,"");var x=y.split("$");if(x.length>1&&i.setfont){var q=[];x[0]!==""&&q.push({text:x[0]});for(var L=1;L0&&i.ignoredDecorations.push(q.substring(0,q.indexOf(" "))),n("Decoration redefinition ignored",y,0);break;case"text":var Ke=r.translateString(q);s.addText(a.parseFontChangeLine(Ke),{startChar:i.iChar,endChar:i.iChar+q.length+7});break;case"center":var Rt=r.translateString(q);s.addCentered(a.parseFontChangeLine(Rt));break;case"font":break;case"setfont":var gt=r.tokenize(q,0,q.length);if(gt.length>=4&>[0].token==="-"&>[1].type==="number"){var zt=parseInt(gt[1].token);zt>=1&&zt<=9&&(i.setfont||(i.setfont=[]),gt.shift(),gt.shift(),i.setfont[zt]=_(gt,i.setfont[zt],y,0,"setfont"))}break;case"gchordfont":case"partsfont":case"tripletfont":case"vocalfont":case"textfont":case"annotationfont":case"historyfont":case"infofont":case"measurefont":case"repeatfont":case"wordsfont":return h(L,x,y);case"composerfont":case"subtitlefont":case"tempofont":case"titlefont":case"voicefont":case"footerfont":case"headerfont":return f(L,x,y);case"barlabelfont":case"barnumberfont":case"barnumfont":return h("measurefont",x,y);case"staves":case"score":i.score_is_present=!0;for(var $t=function(oi,Gn,La,ci,Pi){(Gn||i.staves.length===0)&&i.staves.push({index:i.staves.length,numVoices:0});var pi=t.last(i.staves);La!==void 0&&pi.bracket===void 0&&(pi.bracket=La),ci!==void 0&&pi.brace===void 0&&(pi.brace=ci),Pi&&(pi.connectBarLines="end"),i.voices[oi]===void 0&&(i.voices[oi]={staffNum:pi.index,index:pi.numVoices},pi.numVoices++)},tt=!1,ie=!1,fe=!1,te=!1,ce=!1,_e=!1,Ae=!1,Ge,Xe=function(){if(Ae=!0,Ge){var oi="start";Ge.staffNum>0&&(i.staves[Ge.staffNum-1].connectBarLines==="start"||i.staves[Ge.staffNum-1].connectBarLines==="continue")&&(oi="continue"),i.staves[Ge.staffNum].connectBarLines=oi}};x.length;){var we=x.shift();switch(we.token){case"(":tt?n("Can't nest parenthesis in %%score",y,we.start):(tt=!0,te=!0);break;case")":!tt||te?n("Unexpected close parenthesis in %%score",y,we.start):tt=!1;break;case"[":ie?n("Can't nest brackets in %%score",y,we.start):(ie=!0,ce=!0);break;case"]":!ie||ce?n("Unexpected close bracket in %%score",y,we.start):(ie=!1,i.staves[Ge.staffNum].bracket="end");break;case"{":fe?n("Can't nest braces in %%score",y,we.start):(fe=!0,_e=!0);break;case"}":!fe||_e?n("Unexpected close brace in %%score",y,we.start):(fe=!1,i.staves[Ge.staffNum].brace="end");break;case"|":Xe();break;default:for(var Ue="";(we.type==="alpha"||we.type==="number")&&(Ue+=we.token,we.continueId);)we=x.shift();var ct=!tt||te,Qt=ce?"start":ie?"continue":void 0,je=_e?"start":fe?"continue":void 0;$t(Ue,ct,Qt,je,Ae),te=!1,ce=!1,_e=!1,Ae=!1,Ge=i.voices[Ue],L==="staves"&&Xe();break}}break;case"maxstaves":var ut=r.getInt(q);ut.digits===0?n("Expected number of staves in maxstaves"):ut.value>0&&(c.formatting.maxStaves=ut.value);break;case"newpage":var fa=r.getInt(q);s.addNewPage(fa.digits===0?-1:fa.value);break;case"abc":var vt=q.split(" ");switch(vt[0]){case"-copyright":case"-creator":case"-edited-by":case"-version":case"-charset":var si=vt.shift();s.addMetaText(L+si,vt.join(" "),{startChar:i.iChar,endChar:i.iChar+q.length+5});break;default:return"Unknown directive: "+L+vt[0]}break;case"header":case"footer":var va=r.getMeat(q,0,q.length);va=q.substring(va.start,va.end),va[0]==='"'&&va[va.length-1]==='"'&&(va=va.substring(1,va.length-1));var xa=va.split(" "),pa={};xa.length===1?pa={left:"",center:xa[0],right:""}:xa.length===2?pa={left:xa[0],center:xa[1],right:""}:pa={left:xa[0],center:xa[1],right:xa[2]},xa.length>3&&n("Too many tabs in "+L+": "+xa.length+" found.",q,0),s.addMetaTextObj(L,pa,{startChar:i.iChar,endChar:i.iChar+y.length});break;case"midi":var Xa=r.tokenize(q,0,q.length,!0);Xa.length>0&&Xa[0].token==="="&&Xa.shift(),Xa.length===0?n("Expected midi command",q,0):C(Xa,c,q);break;case"percmap":var Jt=o(q);Jt.error?n(Jt.error,y,8):(c.formatting.percmap||(c.formatting.percmap={}),c.formatting.percmap[Jt.key]=Jt.value);break;case"visualtranspose":var fi=r.getInt(q);fi.digits===0?n("Expected number of half steps in visualTranspose"):i.globalTranspose=fi.value;break;case"map":case"playtempo":case"auquality":case"continuous":case"nobarcheck":c.formatting[L]=q;break;default:return"Unknown directive: "+L}return null},a.globalFormatting=function(y){for(var x in y)if(y.hasOwnProperty(x)){var q=""+y[x],L=r.tokenize(q,0,q.length),Q;switch(x){case"titlefont":case"gchordfont":case"composerfont":case"footerfont":case"headerfont":case"historyfont":case"infofont":case"measurefont":case"partsfont":case"repeatfont":case"subtitlefont":case"tempofont":case"textfont":case"voicefont":case"tripletfont":case"vocalfont":case"wordsfont":case"annotationfont":case"tablabelfont":case"tabnumberfont":case"tabgracefont":h(x,L,q);break;case"scale":u(x,L);break;case"partsbox":Q=k("partsBox",x,L),Q!==null&&n(Q),i.partsfont.box=i.partsBox;break;case"freegchord":Q=k("freegchord",x,L),Q!==null&&n(Q);break;case"fontboxpadding":(L.length!==1||L[0].type!=="number")&&n('Directive "'+x+'" requires a number as a parameter.'),c.formatting.fontboxpadding=L[0].floatt;break;case"stafftopmargin":(L.length!==1||L[0].type!=="number")&&n('Directive "'+x+'" requires a number as a parameter.'),c.formatting.stafftopmargin=L[0].floatt;break;case"stretchlast":var Z=B(L);if(Z.value!==void 0&&(c.formatting.stretchlast=Z.value),Z.error)return Z.error;break;default:n("Formatting directive unrecognized: ",x,0)}}};function B(y){if(y.length===0)return{value:1};if(y.length===1)if(y[0].type==="number"){if(y[0].floatt>=0||y[0].floatt<=1)return{value:y[0].floatt}}else{if(y[0].token==="false")return{value:0};if(y[0].token==="true")return{value:1}}return{error:"Directive stretchlast requires zero or one parameter: false, true, or number between 0 and 1 (received "+y[0].token+")"}}})(),du=a,du}var fu,th;function o4(){if(th)return fu;th=1;var t={};const a=["C,,,","D,,,","E,,,","F,,,","G,,,","A,,,","B,,,","C,,","D,,","E,,","F,,","G,,","A,,","B,,","C,","D,","E,","F,","G,","A,","B,","C","D","E","F","G","A","B","c","d","e","f","g","a","b","c'","d'","e'","f'","g'","a'","b'","c''","d''","e''","f''","g''","a''","b''","c'''","d'''","e'''","f'''","g'''","a'''","b'''"];return t.pitchIndex=function(r){return a.indexOf(r)},t.noteName=function(r){return a[r]},fu=t,fu}var pu,ah;function ih(){if(ah)return pu;ah=1;var t=["C","C♯","D","D♯","E","F","F♯","G","G♯","A","A♯","B"],a=["C","D♭","D","E♭","E","F","G♭","G","A♭","A","B♭","B"],r=["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"],n=["C","Db","D","Eb","E","F","Gb","G","Ab","A","Bb","B"];function i(c,s,d,p){if(!s||s%12===0)return c;for(;s<0;)s+=12;s>11&&(s=s%12);var m=c.match(/^([A-G][b#♭♯]?)([^\/]+)?\/?([A-G][b#♭♯]?)?(.+)?/);if(!m)return c;var _=m[1],h=m[2],f=m[3],u=m[4],l=t.indexOf(_);if(l<0&&(l=a.indexOf(_)),l<0&&(l=r.indexOf(_)),l<0&&(l=n.indexOf(_)),l<0)return c;l+=s,l=l%12,d?p?c=n[l]:c=a[l]:p?c=r[l]:c=t[l];var o=h&&(h.indexOf("dim")>=0||h.indexOf("°")>=0);if(o&&c==="A#"&&(c="Bb"),o&&c==="D#"&&(c="Eb"),o&&c==="A♯"&&(c="B♭"),o&&c==="D♯"&&(c="E♭"),h&&(c+=h),f){var l=t.indexOf(f);l<0&&(l=a.indexOf(f)),l<0&&(l=r.indexOf(f)),l<0&&(l=n.indexOf(f)),c+="/",l>=0?(l+=s,l=l%12,d?p?c+=n[l]:c+=a[l]:p?c+=r[l]:c+=t[l]):c+=f}return u&&(c+=u),c}return pu=i,pu}var mu,nh;function rh(){if(nh)return mu;nh=1;var t={C:{modes:["CMaj","CIon","Amin","AAeo","Am","GMix","DDor","EPhr","FLyd","BLoc"],stepsFromC:0},Db:{modes:["DbMaj","DbIon","Bbmin","BbAeo","Bbm","AbMix","EbDor","FPhr","GbLyd","CLoc"],stepsFromC:1},D:{modes:["DMaj","DIon","Bmin","BAeo","Bm","AMix","EDor","F#Phr","GLyd","C#Loc"],stepsFromC:2},Eb:{modes:["EbMaj","EbIon","Cmin","CAeo","Cm","BbMix","FDor","GPhr","AbLyd","DLoc"],stepsFromC:3},E:{modes:["EMaj","EIon","C#min","C#Aeo","C#m","BMix","F#Dor","G#Phr","ALyd","D#Loc"],stepsFromC:4},F:{modes:["FMaj","FIon","Dmin","DAeo","Dm","CMix","GDor","APhr","BbLyd","ELoc"],stepsFromC:5},Gb:{modes:["GbMaj","GbIon","Ebmin","EbAeo","Ebm","DbMix","AbDor","BbPhr","CbLyd","FLoc"],stepsFromC:6},G:{modes:["GMaj","GIon","Emin","EAeo","Em","DMix","ADor","BPhr","CLyd","F#Loc"],stepsFromC:7},Ab:{modes:["AbMaj","AbIon","Fmin","FAeo","Fm","EbMix","BbDor","CPhr","DbLyd","GLoc"],stepsFromC:8},A:{modes:["AMaj","AIon","F#min","F#Aeo","F#m","EMix","BDor","C#Phr","DLyd","G#Loc"],stepsFromC:9},Bb:{modes:["BbMaj","BbIon","Gmin","GAeo","Gm","FMix","CDor","DPhr","EbLyd","ALoc"],stepsFromC:10},B:{modes:["BMaj","BIon","G#min","G#Aeo","G#m","F#Mix","C#Dor","D#Phr","ELyd","A#Loc"],stepsFromC:11},"C#":{modes:["C#Maj","C#Ion","A#min","A#Aeo","A#m","G#Mix","D#Dor","E#Phr","F#Lyd","B#Loc"],stepsFromC:1},"F#":{modes:["F#Maj","F#Ion","D#min","D#Aeo","D#m","C#Mix","G#Dor","A#Phr","BLyd","E#Loc"],stepsFromC:6},Cb:{modes:["CbMaj","CbIon","Abmin","AbAeo","Abm","GbMix","DbDor","EbPhr","FbLyd","BbLoc"],stepsFromC:11}},a=["maj","ion","min","aeo","m","mix","dor","phr","lyd","loc"];function r(p){return a.indexOf(p.toLowerCase())>=0}var n=null;function i(){n={};for(var p=Object.keys(t),m=0;m11&&($=$%12);var N=u[0]==="m"?s[$]:c[$],R=N+u,F=r(R);(F.length===0||F[0].acc==="flat")&&(f.localTransposePreferFlats=!0);var D=R.charCodeAt(0)-b.charCodeAt(0);return f.localTranspose>0?(D<0||D===0&&(b[1]==="#"||R[1]==="b"))&&(D+=7):f.localTranspose<0&&(D>0||D===0&&(b[1]==="b"||R[1]==="#"))&&(D-=7),f.localTranspose>0?f.localTransposeVerticalMovement=D+Math.floor(f.localTranspose/12)*7:f.localTransposeVerticalMovement=D+Math.ceil(f.localTranspose/12)*7,w?{accidentals:F,root:N[0],acc:N.length>1?N[1]:""}:{accidentals:[],root:l,acc:o}},n.chordName=function(f,u){return a(u,f.localTranspose,f.localTransposePreferFlats,f.freegchord)};var d=["c","d","e","f","g","a","b"];function p(f,u,l,o,g){for(var v=d[(f+49)%7],b=0,k=0;k2&&(u++,D-=N==="b"||N==="e"?1:2),[u,D]}var m={dblflat:-2,flat:-1,natural:0,sharp:1,dblsharp:2},_={"-2":"dblflat","-1":"flat",0:"natural",1:"sharp",2:"dblsharp"},h={"-2":"__","-1":"_",0:"=",1:"^",2:"^^"};return n.note=function(f,u){if(!(!f.localTranspose||f.clef.type==="perc")){var l=u.pitch;if(f.localTransposeVerticalMovement&&(u.pitch=u.pitch+f.localTransposeVerticalMovement,u.name)){var o=u.accidental?u.name.substring(1):u.name,g=u.accidental?u.name[0]:"",v=t.pitchIndex(o);u.name=g+t.noteName(v+f.localTransposeVerticalMovement)}if(u.accidental){var b=p(l,u.pitch,u.accidental,f.globalTransposeOrigKeySig,f.targetKey);u.pitch=b[0],u.accidental=_[b[1]],u.name&&(u.name=h[b[1]]+u.name.replace(/[_^=]/g,""))}}},hu=n,hu}var _u,dh;function vu(){if(dh)return _u;dh=1;var t=uu(),a=lh(),r={};return(function(){var n,i,c,s;r.initialize=function(l,o,g,v,b){n=l,i=o,c=g,s=b},r.standardKey=function(l,o,g,v){return a.keySignature(c,l,o,g,v)};var d={treble:{clef:"treble",pitch:4,mid:0},"treble+8":{clef:"treble+8",pitch:4,mid:0},"treble-8":{clef:"treble-8",pitch:4,mid:0},"treble^8":{clef:"treble+8",pitch:4,mid:0},treble_8:{clef:"treble-8",pitch:4,mid:0},treble1:{clef:"treble",pitch:2,mid:2},treble2:{clef:"treble",pitch:4,mid:0},treble3:{clef:"treble",pitch:6,mid:-2},treble4:{clef:"treble",pitch:8,mid:-4},treble5:{clef:"treble",pitch:10,mid:-6},perc:{clef:"perc",pitch:6,mid:0},none:{clef:"none",mid:0},bass:{clef:"bass",pitch:8,mid:-12},"bass+8":{clef:"bass+8",pitch:8,mid:-12},"bass-8":{clef:"bass-8",pitch:8,mid:-12},"bass^8":{clef:"bass+8",pitch:8,mid:-12},bass_8:{clef:"bass-8",pitch:8,mid:-12},"bass+16":{clef:"bass",pitch:8,mid:-12},"bass-16":{clef:"bass",pitch:8,mid:-12},"bass^16":{clef:"bass",pitch:8,mid:-12},bass_16:{clef:"bass",pitch:8,mid:-12},bass1:{clef:"bass",pitch:2,mid:-6},bass2:{clef:"bass",pitch:4,mid:-8},bass3:{clef:"bass",pitch:6,mid:-10},bass4:{clef:"bass",pitch:8,mid:-12},bass5:{clef:"bass",pitch:10,mid:-14},tenor:{clef:"alto",pitch:8,mid:-8},tenor1:{clef:"alto",pitch:2,mid:-2},tenor2:{clef:"alto",pitch:4,mid:-4},tenor3:{clef:"alto",pitch:6,mid:-6},tenor4:{clef:"alto",pitch:8,mid:-8},tenor5:{clef:"alto",pitch:10,mid:-10},alto:{clef:"alto",pitch:6,mid:-6},alto1:{clef:"alto",pitch:2,mid:-2},alto2:{clef:"alto",pitch:4,mid:-4},alto3:{clef:"alto",pitch:6,mid:-6},alto4:{clef:"alto",pitch:8,mid:-8},alto5:{clef:"alto",pitch:10,mid:-10},"alto+8":{clef:"alto+8",pitch:6,mid:-6},"alto-8":{clef:"alto-8",pitch:6,mid:-6},"alto^8":{clef:"alto+8",pitch:6,mid:-6},alto_8:{clef:"alto-8",pitch:6,mid:-6}},p=function(l,o){var g=d[l],v=g?g.mid:0;return v+o};r.fixClef=function(l){var o=d[l.type];o&&(l.clefPos=o.pitch,l.type=o.clef)},r.deepCopyKey=function(l){var o={accidentals:[],root:l.root,acc:l.acc,mode:l.mode};return l.accidentals.forEach(function(g){o.accidentals.push(Object.assign({},g))}),l.explicitAccidentals&&(o.explicitAccidentals=[],l.explicitAccidentals.forEach(function(g){o.explicitAccidentals.push(Object.assign({},g))})),o};var m=function(){c.currentVoice&&(c.currentVoice.key=r.deepCopyKey(c.key))},_={A:5,B:6,C:0,D:1,E:2,F:3,G:4,a:12,b:13,c:7,d:8,e:9,f:10,g:11};r.addPosToKey=function(l,o){var g=l.verticalPos;o.accidentals.forEach(function(v){var b=_[v.note];b=b-g,v.verticalPos=b}),o.impliedNaturals&&o.impliedNaturals.forEach(function(v){var b=_[v.note];b=b-g,v.verticalPos=b}),g<-10?(o.accidentals.forEach(function(v){v.verticalPos-=7,(v.verticalPos>=11||v.verticalPos===10&&v.acc==="flat")&&(v.verticalPos-=7),v.note==="A"&&v.acc==="sharp"&&(v.verticalPos-=7),(v.note==="G"||v.note==="F")&&v.acc==="flat"&&(v.verticalPos-=7)}),o.impliedNaturals&&o.impliedNaturals.forEach(function(v){v.verticalPos-=7,(v.verticalPos>=11||v.verticalPos===10&&v.acc==="flat")&&(v.verticalPos-=7),v.note==="A"&&v.acc==="sharp"&&(v.verticalPos-=7),(v.note==="G"||v.note==="F")&&v.acc==="flat"&&(v.verticalPos-=7)})):g<-4?(o.accidentals.forEach(function(v){v.verticalPos-=7,g===-8&&(v.note==="f"||v.note==="g")&&v.acc==="sharp"&&(v.verticalPos-=7)}),o.impliedNaturals&&o.impliedNaturals.forEach(function(v){v.verticalPos-=7,g===-8&&(v.note==="f"||v.note==="g")&&v.acc==="sharp"&&(v.verticalPos-=7)})):g>=7&&(o.accidentals.forEach(function(v){v.verticalPos+=7}),o.impliedNaturals&&o.impliedNaturals.forEach(function(v){v.verticalPos+=7}))},r.fixKey=function(l,o){var g=Object.assign({},o);return r.addPosToKey(l,g),g};var h=function(l){var o=0,g=l[o++];(g==="^"||g==="_")&&(g=l[o++]);var v=_[g];for(v===void 0&&(v=6);o0){v.foundKey=!0;var k="",w="";g[0].token.length>1?g[0].token=g[0].token.substring(1):g.shift();var $=b.token;if(g.length>0){var N=n.getSharpFlat(g[0].token);if(N.len>0&&(g[0].token.length>1?g[0].token=g[0].token.substring(1):g.shift(),$+=N.token,k=N.token),g.length>0){var R=n.getMode(g[0].token);R.len>0&&(g.shift(),$+=R.token,w=R.token)}if(r.standardKey($,b.token,k,0)===void 0)return i("Unsupported key signature: "+$,l,0),v}var F=r.deepCopyKey(c.key),D=!o&&c.globalTranspose?-c.globalTranspose:0,I;if(o&&(I=c.globalTransposeOrigKeySig),c.key=r.deepCopyKey(r.standardKey($,b.token,k,D)),o&&(c.globalTransposeOrigKeySig=I),c.key.mode=w,F&&c.keywarn!==!1){for(var S,j=0;j0;)switch(g[0].token){case"m":case"middle":if(g.shift(),g.length===0)return i("Expected = after middle",l,0),v;if(B=g.shift(),B.token!=="="){i("Expected = after middle",l,B.start);break}if(g.length===0)return i("Expected parameter after middle=",l,0),v;var y=n.getPitchFromTokens(g);y.warn&&i(y.warn,l,0),y.position&&(c.clef.verticalPos=y.position-6);break;case"transpose":if(g.shift(),g.length===0)return i("Expected = after transpose",l,0),v;if(B=g.shift(),B.token!=="="){i("Expected = after transpose",l,B.start);break}if(g.length===0)return i("Expected parameter after transpose=",l,0),v;if(g[0].type!=="number"){i("Expected number after transpose",l,g[0].start);break}c.clef.transpose=g[0].intt,g.shift();break;case"stafflines":if(g.shift(),g.length===0)return i("Expected = after stafflines",l,0),v;if(B=g.shift(),B.token!=="="){i("Expected = after stafflines",l,B.start);break}if(g.length===0)return i("Expected parameter after stafflines=",l,0),v;if(g[0].type!=="number"){i("Expected number after stafflines",l,g[0].start);break}c.clef.stafflines=g[0].intt,g.shift();break;case"staffscale":if(g.shift(),g.length===0)return i("Expected = after staffscale",l,0),v;if(B=g.shift(),B.token!=="="){i("Expected = after staffscale",l,B.start);break}if(g.length===0)return i("Expected parameter after staffscale=",l,0),v;if(g[0].type!=="number"){i("Expected number after staffscale",l,g[0].start);break}c.clef.staffscale=g[0].floatt,g.shift();break;case"octave":if(g.shift(),g.length===0)return i("Expected = after octave",l,0),v;if(B=g.shift(),B.token!=="="){i("Expected = after octave",l,B.start);break}if(g.length===0)return i("Expected parameter after octave=",l,0),v;if(g[0].type!=="number"){i("Expected number after octave",l,g[0].start);break}c.octave=g[0].intt,g.shift();break;case"style":if(g.shift(),g.length===0)return i("Expected = after style",l,0),v;if(B=g.shift(),B.token!=="="){i("Expected = after style",l,B.start);break}if(g.length===0)return i("Expected parameter after style=",l,0),v;switch(g[0].token){case"normal":case"harmonic":case"rhythm":case"x":case"triangle":c.style=g[0].token,g.shift();break;default:i("error parsing style element: "+g[0].token,l,g[0].start);break}break;case"clef":if(g.shift(),g.length===0)return i("Expected = after clef",l,0),v;if(B=g.shift(),B.token!=="="){i("Expected = after clef",l,B.start);break}if(g.length===0)return i("Expected parameter after clef=",l,0),v;case"treble":case"bass":case"alto":case"tenor":case"perc":case"none":var x=g.shift();switch(x.token){case"treble":case"tenor":case"alto":case"bass":case"perc":case"none":break;case"C":x.token="alto";break;case"F":x.token="bass";break;case"G":x.token="treble";break;case"c":x.token="alto";break;case"f":x.token="bass";break;case"g":x.token="treble";break;default:i("Expected clef name. Found "+x.token,l,x.start);break}g.length>0&&g[0].type==="number"&&(x.token+=g[0].token,g.shift()),g.length>1&&(g[0].token==="-"||g[0].token==="+"||g[0].token==="^"||g[0].token==="_")&&g[1].token==="8"&&(x.token+=g[0].token+g[1].token,g.shift(),g.shift()),c.clef={type:x.token,verticalPos:p(x.token,0)},c.currentVoice&&c.currentVoice.transpose!==void 0&&(c.clef.transpose=c.currentVoice.transpose),v.foundClef=!0;break;default:i("Unknown parameter: "+g[0].token,l,g[0].start),g.shift()}return v};var u=function(l){var o=c.voices[l];if(!(c.currentVoice&&c.currentVoice.index===o.index&&c.currentVoice.staffNum===o.staffNum))return c.currentVoice=o,o.key?c.key=r.deepCopyKey(o.key):c.globalKey&&(c.key=r.deepCopyKey(c.globalKey)),s.setCurrentVoice(o.staffNum,o.index,l)};r.parseVoice=function(l,o,g){var v=n.getMeat(l,o,g),b=v.start,k=v.end,w=n.getToken(l,b,k);if(w.length===0){i("Expected a voice id",l,b);return}var $=!1;c.voices[w]===void 0&&(c.voices[w]={},$=!0,c.score_is_present&&i("Can't have an unknown V: id when the %score directive is present",l,b)),b+=w.length,b+=n.eatWhiteSpace(l,b);for(var N={startStaff:$},R=function(y){var x=n.getVoiceToken(l,b,k);x.warn!==void 0?i("Expected value for "+y+" in voice: "+x.warn,l,b):x.err!==void 0?i("Expected value for "+y+" in voice: "+x.err,l,b):x.token.length===0&&l[b]!=='"'?i("Expected value for "+y+" in voice",l,b):N[y]=x.token,b+=x.len},F=function(y,x,q){var L=n.getVoiceToken(l,b,k);L.warn!==void 0?i("Expected value for "+x+" in voice: "+L.warn,l,b):L.err!==void 0?i("Expected value for "+x+" in voice: "+L.err,l,b):L.token.length===0&&l[b]!=='"'?i("Expected value for "+x+" in voice",l,b):(L.token=parseFloat(L.token),c.voices[y][x]=L.token),b+=L.len},D=function(y,x){var q=n.getVoiceToken(l,b,k);if(q.warn!==void 0)i("Expected value for "+y+" in voice: "+q.warn,l,b);else if(q.err!==void 0)i("Expected value for "+y+" in voice: "+q.err,l,b);else if(q.token.length===0&&l[b]!=='"')i("Expected value for "+y+" in voice",l,b);else return q.token;b+=q.len},I=function(y,x){var q={_B:2,_E:9,_b:-10,_e:-3},L=n.getVoiceToken(l,b,k);if(L.warn!==void 0)i("Expected one of (_B, _E, _b, _e) for "+x+" in voice: "+L.warn,l,b);else if(L.token.length===0&&l[b]!=='"')i("Expected one of (_B, _E, _b, _e) for "+x+" in voice",l,b);else{var Q=q[L.token];Q?c.voices[y][x]=Q:i("Expected one of (_B, _E, _b, _e) for "+x+" in voice",l,b)}b+=L.len};b0&&(s.default_length=g/v,s.havent_set_length=!1)}else o.length===1&&o[0]==="1"&&(s.default_length=1,s.havent_set_length=!1)};var m={larghissimo:20,adagissimo:24,sostenuto:28,grave:32,largo:40,lento:50,larghetto:60,adagio:68,adagietto:74,andante:80,andantino:88,"marcia moderato":84,"andante moderato":100,moderato:112,allegretto:116,"allegro moderato":120,allegro:126,animato:132,agitato:140,veloce:148,"mosso vivo":156,vivace:164,vivacissimo:172,allegrissimo:176,presto:184,prestissimo:210};this.setTempo=function(h,f,u,l){try{var o=i.tokenize(h,f,u);if(o.length===0)throw"Missing parameter in Q: field";var g={startChar:l+f-2,endChar:l+u},v=!0,b=o.shift();if(b.type==="quote"&&(g.preString=b.token,b=o.shift(),o.length===0))return m[g.preString.toLowerCase()]&&(g.bpm=m[g.preString.toLowerCase()],g.suppressBpm=!0),{type:"immediate",tempo:g};if(b.type==="alpha"&&b.token==="C"){if(o.length===0)throw"Missing tempo after C in Q: field";if(b=o.shift(),b.type==="punct"&&b.token==="="){if(o.length===0)throw"Missing tempo after = in Q: field";if(b=o.shift(),b.type!=="number")throw"Expected number after = in Q: field";g.duration=[1],g.bpm=parseInt(b.token)}else if(b.type==="number"){if(g.duration=[parseInt(b.token)],o.length===0)throw"Missing = after duration in Q: field";if(b=o.shift(),b.type!=="punct"||b.token!=="=")throw"Expected = after duration in Q: field";if(o.length===0)throw"Missing tempo after = in Q: field";if(b=o.shift(),b.type!=="number")throw"Expected number after = in Q: field";g.bpm=parseInt(b.token)}else throw"Expected number or equal after C in Q: field"}else if(b.type==="number"){var k=parseInt(b.token);if(o.length===0||o[0].type==="quote")g.duration=[1],g.bpm=k;else{if(v=!1,b=o.shift(),b.type!=="punct"&&b.token!=="/"||(b=o.shift(),b.type!=="number"))throw"Expected fraction in Q: field";var w=parseInt(b.token);for(g.duration=[k/w];o.length>0&&o[0].token!=="="&&o[0].type!=="quote";){if(b=o.shift(),b.type!=="number"||(k=parseInt(b.token),b=o.shift(),b.type!=="punct"&&b.token!=="/")||(b=o.shift(),b.type!=="number"))throw"Expected fraction in Q: field";w=parseInt(b.token),g.duration.push(k/w)}if(b=o.shift(),b.type!=="punct"&&b.token!=="=")throw"Expected = in Q: field";if(b=o.shift(),b.type!=="number")throw"Expected tempo in Q: field";g.bpm=parseInt(b.token)}}else throw"Unknown value in Q: field";if(o.length!==0&&(b=o.shift(),b.type==="quote"&&(g.postString=b.token,b=o.shift()),o.length!==0))throw"Unexpected string at end of Q: field";return s.printTempo===!1&&(g.suppress=!0),{type:v?"delaySet":"immediate",tempo:g}}catch($){return c($,h,f),{type:"none"}}},this.letter_to_inline_header=function(h,f,u){var l=!1,o=i.eatWhiteSpace(h,f);if(f+=o,h.length>=f+5&&h[f]==="["&&h[f+2]===":"){var g=h.indexOf("]",f),v=s.iChar+f,b=s.iChar+g+1;switch(h.substring(f,f+3)){case"[I:":var k=a.addDirective(h.substring(f+3,g));return k&&c(k,h,f),[g-f+1+o];case"[M:":var w=this.setMeter(h.substring(f+3,g));return u&&s.currentVoice&&w?s.staves[s.currentVoice.staffNum].meter=w:p.hasBeginMusic()&&w?p.appendStartingElement("meter",v,b,w):s.meter=w,[g-f+1+o];case"[K:":var $=r.parseKey(h.substring(f+3,g),!0);return $.foundClef&&p.hasBeginMusic()&&p.appendStartingElement("clef",v,b,s.clef),$.foundKey&&p.hasBeginMusic()&&p.appendStartingElement("key",v,b,r.fixKey(s.clef,s.key)),[g-f+1+o];case"[P:":var N=a.parseFontChangeLine(h.substring(f+3,g));return u||d.lines.length<=d.lineNum?s.partForNextLine={title:N,startChar:v,endChar:b}:p.appendElement("part",v,b,{title:N}),[g-f+1+o];case"[L:":return this.setDefaultLength(h,f+3,g),[g-f+1+o];case"[Q:":if(g>0){var R=this.setTempo(h,f+3,g,s.iChar);return R.type==="delaySet"?p.hasBeginMusic()?p.appendElement("tempo",v,b,this.calcTempo(R.tempo)):s.tempoForNextLine=["tempo",v,b,this.calcTempo(R.tempo)]:R.type==="immediate"&&(!u&&p.hasBeginMusic()?p.appendElement("tempo",v,b,R.tempo):s.tempoForNextLine=["tempo",v,b,R.tempo]),[g-f+1+o,h[f+1],h.substring(f+3,g)]}break;case"[V:":if(g>0)return l=r.parseVoice(h,f+3,g),[g-f+1+o,h[f+1],h.substring(f+3,g),l];break;case"[r:":return[g-f+1+o]}}return[0]},this.letter_to_body_header=function(h,f){var u=!1;if(h.length>=f+3)switch(h.substring(f,f+2)){case"I:":var l=a.addDirective(h.substring(f+2));return l&&c(l,h,f),[h.length];case"M:":var o=this.setMeter(h.substring(f+2));return p.hasBeginMusic()&&o&&p.appendStartingElement("meter",s.iChar+f,s.iChar+h.length,o),[h.length];case"K:":var g=r.parseKey(h.substring(f+2),p.hasBeginMusic());return g.foundClef&&p.hasBeginMusic()&&s.keywarn!==!1&&p.appendStartingElement("clef",s.iChar+f,s.iChar+h.length,s.clef),g.foundKey&&p.hasBeginMusic()&&s.keywarn!==!1&&p.appendStartingElement("key",s.iChar+f,s.iChar+h.length,r.fixKey(s.clef,s.key)),[h.length];case"P:":return p.hasBeginMusic()&&p.appendElement("part",s.iChar+f,s.iChar+h.length,{title:h.substring(f+2)}),[h.length];case"L:":return this.setDefaultLength(h,f+2,h.length),[h.length];case"Q:":var v=h.indexOf("",f+2);v===-1&&(v=h.length);var b=this.setTempo(h,f+2,v,s.iChar);return b.type==="delaySet"?p.appendElement("tempo",s.iChar+f,s.iChar+h.length,this.calcTempo(b.tempo)):b.type==="immediate"&&p.appendElement("tempo",s.iChar+f,s.iChar+h.length,b.tempo),[v,h[f],t.strip(h.substring(f+2))];case"V:":return u=r.parseVoice(h,f+2,h.length),[h.length,h[f],t.strip(h.substring(f+2)),u]}return[0]};var _={A:"author",B:"book",C:"composer",D:"discography",F:"url",G:"group",I:"instruction",N:"notes",O:"origin",R:"rhythm",S:"source",W:"unalignedWords",Z:"transcription"};this.parseHeader=function(h){var f=_[h[0]],u=h.length-2,l=i.translateString(i.stripComment(h.substring(2)));if(f==="unalignedWords"||f==="notes")p.addMetaTextArray(f,a.parseFontChangeLine(l),{startChar:s.iChar,endChar:s.iChar+h.length});else if(f!==void 0)p.addMetaText(f,a.parseFontChangeLine(l),{startChar:s.iChar,endChar:s.iChar+h.length});else{var o=s.iChar,g=o+h.length;switch(h[0]){case"H":for(p.addMetaTextArray("history",a.parseFontChangeLine(l),{startChar:s.iChar,endChar:s.iChar+h.length}),h=i.peekLine();h&&h[1]!==":";)i.nextLine(),p.addMetaTextArray("history",a.parseFontChangeLine(i.translateString(i.stripComment(h))),{startChar:s.iChar,endChar:s.iChar+h.length}),h=i.peekLine();break;case"K":this.resolveTempo();var v=r.parseKey(h.substring(2),!1);!s.is_in_header&&p.hasBeginMusic()&&s.keywarn!==!1&&(v.foundClef&&p.appendStartingElement("clef",o,g,s.clef),v.foundKey&&p.appendStartingElement("key",o,g,r.fixKey(s.clef,s.key))),s.is_in_header=!1;break;case"L":this.setDefaultLength(h,2,h.length);break;case"M":s.origMeter=s.meter=this.setMeter(h.substring(2));break;case"P":s.is_in_header?p.addMetaText("partOrder",a.parseFontChangeLine(l),{startChar:s.iChar,endChar:s.iChar+h.length}):s.partForNextLine={title:l,startChar:o,endChar:g};break;case"Q":var b=this.setTempo(h,2,h.length,s.iChar);b.type==="delaySet"?s.tempo=b.tempo:b.type==="immediate"&&(d.metaText.tempo?s.tempoForNextLine=["tempo",o,g,b.tempo]:d.metaText.tempo=b.tempo);break;case"T":s.titlecaps&&(l=l.toUpperCase()),this.setTitle(a.parseFontChangeLine(i.theReverser(l)),u);break;case"U":this.addUserDefinition(h,2,h.length);break;case"V":if(r.parseVoice(h,2,h.length),!s.is_in_header)return{newline:!0};break;case"s":return{symbols:!0};case"w":return{words:!0};case"X":break;case"E":case"m":c("Ignored header",h,0);break;default:return{regular:!0}}}return{}}};return bu=n,bu}var ln={},fh;function l4(){return fh||(fh=1,ln.legalAccents=["trill","trillh","lowermordent","uppermordent","mordent","pralltriller","accent","fermata","invertedfermata","tenuto","0","1","2","3","4","5","+","wedge","open","thumb","snap","turn","roll","breath","shortphrase","mediumphrase","longphrase","segno","coda","D.S.","D.C.","fine","beambr1","beambr2","slide","marcato","upbow","downbow","/","//","///","////","trem1","trem2","trem3","trem4","turnx","invertedturn","invertedturnx","trill(","trill)","arpeggio","xstem","mark","umarcato","style=normal","style=harmonic","style=rhythm","style=x","style=triangle","D.C.alcoda","D.C.alfine","D.S.alcoda","D.S.alfine","editorial","courtesy"],ln.volumeDecorations=["p","pp","f","ff","mf","mp","ppp","pppp","fff","ffff","sfz"],ln.dynamicDecorations=["crescendo(","crescendo)","diminuendo(","diminuendo)","glissando(","glissando)","~(","~)"],ln.accentPseudonyms=[["<","accent"],[">","accent"],["tr","trill"],["plus","+"],["emphasis","accent"],["^","umarcato"],["marcato","umarcato"]],ln.accentDynamicPseudonyms=[["<(","crescendo("],["<)","crescendo)"],[">(","diminuendo("],[">)","diminuendo)"]],ln.nonDecorations="ABCDEFGabcdefgxyzZ[]|^_{",ln.durations=[.5,.75,.875,.9375,.96875,.984375,.25,.375,.4375,.46875,.484375,.4921875,.125,.1875,.21875,.234375,.2421875,.24609375,.0625,.09375,.109375,.1171875,.12109375,.123046875,.03125,.046875,.0546875,.05859375,.060546875,.0615234375,.015625,.0234375,.02734375,.029296875,.0302734375,.03076171875],ln.pitches={A:5,B:6,C:0,D:1,E:2,F:3,G:4,a:12,b:13,c:7,d:8,e:9,f:10,g:11},ln.rests={x:"invisible",X:"invisible-multimeasure",y:"spacer",z:"rest",Z:"multimeasure"},ln.accMap={dblflat:"__",flat:"_",natural:"=",sharp:"^",dblsharp:"^^",quarterflat:"_/",quartersharp:"^/"},ln.tripletQ={2:3,3:2,4:3,5:2,6:2,7:2,8:3,9:2}),ln}var yu,ph;function d4(){if(ph)return yu;ph=1;var t=vu(),a=lh(),r,n,i,c,s,d,{legalAccents:p,volumeDecorations:m,dynamicDecorations:_,accentPseudonyms:h,accentDynamicPseudonyms:f,nonDecorations:u,durations:l,pitches:o,rests:g,accMap:v,tripletQ:b}=l4(),k=function(y,x,q,L,Q,Z){r=y,n=x,i=q,c=L,s=Q,d=Z,this.lineContinuation=!1},w=function(y,x,q){if(y.inTie[x]===void 0)return!1;var L=y.currentVoice?y.currentVoice.staffNum*100+y.currentVoice.index:0;return!!(y.inTie[x][L]&&(q.pitches!==void 0||q.rest.type!=="spacer"))},$={};k.prototype.parseMusic=function(y){d.resolveTempo(),i.is_in_header=!1;for(var x=0,q=i.iChar;r.isWhiteSpace(y[x])&&x0&&(x+=Z[0],Z[1]==="V"&&this.startNewLine());for(var X=0;x0)x+=be[0],be[1]==="V"&&(L=!0);else{(!s.hasBeginMusic()||L&&!this.lineContinuation)&&(this.startNewLine(),L=!1);for(var re;;)if(re=r.eatWhiteSpace(y,x),re>0&&(x+=re),x>0&&y[x-1]===""&&(re=d.letter_to_body_header(y,x),re[0]>0&&(re[1]==="V"&&this.startNewLine(),x=re[0],i.start_new_line=!1)),re=j(y,x),re[0]>0&&(x+=re[0]),re=R(y,x),re[0]>0){$.chord||($.chord=[]);var Fe=r.translateString(re[1]);Fe=Fe.replace(/;/g,` -`);for(var ye=!1,Me=0;Me<$.chord.length;Me++)$.chord[Me].position===re[2]&&(ye=!0,$.chord[Me].name+=` -`+Fe);ye===!1&&(re[2]===null&&re[3]?$.chord.push({name:Fe,rel_position:re[3]}):$.chord.push({name:Fe,position:re[2]})),x+=re[0];var oe=r.skipWhiteSpace(y.substring(x));oe>0&&($.force_end_beam_last=!0),x+=oe}else if(u.indexOf(y[x])===-1?re=S(y,x):re=[0],re[0]>0)re[1]===null?x+10&&(re[1].indexOf("style=")===0?$.style=re[1].substring(6):re[1].indexOf("class=")===0?$.extraClass=re[1].substring(6):($.decoration===void 0&&($.decoration=[]),re[1]==="beambr1"?$.beambr=1:re[1]==="beambr2"?$.beambr=2:$.decoration.push(re[1]))),x+=re[0];else if(re=F(y,x),re[0]>0)$.gracenotes=re[1],x+=re[0];else break;if(re=V(y,x),re[0]>0){X=0,$.gracenotes!==void 0&&($.rest={type:"spacer"},$.duration=.125,i.addFormattingOptions($,c.formatting,"note"),s.appendElement("note",q+x,q+x+re[0],$),i.measureNotEmpty=!0,$={});var ze={type:re[1]};ze.type.length===0?n("Unknown bar type",y,x):(i.inEnding&&ze.type!=="bar_thin"&&(ze.endEnding=!0,i.inEnding=!1),re[2]&&(ze.startEnding=re[2],i.inEnding&&(ze.endEnding=!0),i.inEnding=!0,re[1]==="bar_right_repeat"?i.restoreStartEndingHoldOvers():i.duplicateStartEndingHoldOvers()),$.decoration!==void 0&&(ze.decoration=$.decoration),$.chord!==void 0&&(ze.chord=$.chord),ze.startEnding&&i.barFirstEndingNum===void 0?i.barFirstEndingNum=i.currBarNumber:ze.startEnding&&ze.endEnding&&i.barFirstEndingNum?i.currBarNumber=i.barFirstEndingNum:ze.endEnding&&(i.barFirstEndingNum=void 0),ze.type!=="bar_invisible"&&i.measureNotEmpty&&B()&&(i.currBarNumber++,i.barNumbers&&i.currBarNumber%i.barNumbers===0&&(ze.barNumber=i.currBarNumber)),i.addFormattingOptions($,c.formatting,"bar"),s.appendElement("bar",q+J,q+x+re[0],ze),i.measureNotEmpty=!1,$={}),x+=re[0]}else if(y[x]==="&")re=D(y,x),re[0]>0&&(s.appendElement("overlay",q,q+1,{}),x+=1,X++);else{if(re=G(y,x),re.consumed>0&&(re.startSlur!==void 0&&($.startSlur=re.startSlur),re.dottedSlur&&($.dottedSlur=!0),re.triplet!==void 0&&(Q>0?n("Can't nest triplets",y,x):($.startTriplet=re.triplet,$.tripletMultiplier=re.tripletQ/re.triplet,$.tripletR=re.num_notes,Q=re.num_notes===void 0?re.triplet:re.num_notes)),x+=re.consumed),y[x]==="["){x++;for(var ue=null,Ve=!1,Ke=!1;!Ke;){var Rt=S(y,x);Rt[0]>0&&(x+=Rt[0]);var gt=C(y,x,{},!1);if(gt!==null&>.pitch!==void 0)Rt[0]>0&&Rt[1].indexOf("style=")!==0&&($.decoration===void 0&&($.decoration=[]),$.decoration.push(Rt[1])),gt.end_beam&&($.end_beam=!0,delete gt.end_beam),$.pitches===void 0?($.duration=gt.duration,$.pitches=[gt]):$.pitches.push(gt),delete gt.duration,Rt[0]>0&&Rt[1].indexOf("style=")===0&&($.pitches[$.pitches.length-1].style=Rt[1].substr(6)),i.inTieChord[$.pitches.length]&&(gt.endTie=!0,i.inTieChord[$.pitches.length]=void 0),gt.startTie&&(i.inTieChord[$.pitches.length]=!0),x=gt.endChar,delete gt.endChar;else if(y[x]===" ")n("Spaces are not allowed in chords",y,x),x++;else{if(x0&&!($.rest&&$.rest.type==="spacer")&&(Q--,Q===0&&($.endTriplet=!0));for(var zt=!1;x":case"<":var $t=A(y,x);x+=$t[0]-1,i.next_note_duration=$t[2],ue?ue=ue*$t[1]:ue=$t[1];break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"/":var tt=r.getFraction(y,x);ue=tt.value,x=tt.index;var ie=y[x];ie===" "&&(Ve=!0),ie==="-"||ie===")"||ie===" "||ie==="<"||ie===">"?x--:zt=!0;break;case"0":ue=0;break;default:zt=!0;break}zt||x++}}else n("Expected ']' to end the chords",y,x);$.pitches!==void 0&&(ue!==null&&($.duration=$.duration*ue,Ve&&T($)),i.addFormattingOptions($,c.formatting,"note"),s.appendElement("note",q+J,q+x,$),i.measureNotEmpty=!0,$={}),Ke=!0}}}else{var fe={},te=C(y,x,fe,!0);if(fe.endTie!==void 0&&N(i,X,!0),te!==null){te.pitch!==void 0?($.pitches=[{}],te.accidental!==void 0&&($.pitches[0].accidental=te.accidental),$.pitches[0].pitch=te.pitch,$.pitches[0].name=te.name,(te.midipitch||te.midipitch===0)&&($.pitches[0].midipitch=te.midipitch),te.endSlur!==void 0&&($.pitches[0].endSlur=te.endSlur),te.endTie!==void 0&&($.pitches[0].endTie=te.endTie),te.startSlur!==void 0&&($.pitches[0].startSlur=te.startSlur),$.startSlur!==void 0&&($.pitches[0].startSlur=$.startSlur),$.dottedSlur!==void 0&&($.pitches[0].dottedSlur=!0),te.startTie!==void 0&&($.pitches[0].startTie=te.startTie),$.startTie!==void 0&&($.pitches[0].startTie=$.startTie)):($.rest=te.rest,te.rest.type==="multimeasure"&&B()&&(i.currBarNumber+=te.rest.text-1),te.endSlur!==void 0&&($.endSlur=te.endSlur),te.endTie!==void 0&&($.rest.endTie=te.endTie),te.startSlur!==void 0&&($.startSlur=te.startSlur),te.startTie!==void 0&&($.rest.startTie=te.startTie),$.startTie!==void 0&&($.rest.startTie=$.startTie)),te.chord!==void 0&&($.chord=te.chord),te.duration!==void 0&&($.duration=te.duration),te.decoration!==void 0&&($.decoration=te.decoration),te.graceNotes!==void 0&&($.graceNotes=te.graceNotes),delete $.startSlur,delete $.dottedSlur,w(i,X,$)&&($.pitches!==void 0?$.pitches[0].endTie=!0:$.rest.type!=="spacer"&&($.rest.endTie=!0),N(i,X,!1)),(te.startTie||$.startTie)&&N(i,X,!0),x=te.endChar,Q>0&&!(te.rest&&te.rest.type==="spacer")&&(Q--,Q===0&&($.endTriplet=!0)),te.end_beam&&T($),$.rest&&$.rest.type==="rest"&&$.duration===1&&I(i)<=1&&($.rest.type="whole",$.duration=I(i)),$.duration<1&&l.indexOf($.duration)===-1&&$.duration!==0&&(!$.rest||$.rest.type!=="spacer")&&n("Duration not representable: "+y.substring(J,x),y,x),i.addFormattingOptions($,c.formatting,"note");var ce=s.appendElement("note",q+J,q+x,$);ce||(this.startNewLine(),s.appendElement("note",q+J,q+x,$)),i.measureNotEmpty=!0,$={}}}x===J&&(y[x]!==" "&&y[x]!=="`"&&n("Unknown character ignored",y,x),x++)}}}this.lineContinuation=y.indexOf("")>=0||Z[0]>0,this.lineContinuation||($={})}};var N=function(y,x,q){var L=y.currentVoice?y.currentVoice.staffNum*100+y.currentVoice.index:0;y.inTie[x]===void 0&&(y.inTie[x]=[]),y.inTie[x][L]=q},R=function(y,x){if(y[x]==='"'){var q=r.getBrackettedSubstring(y,x,5);if(q[2]||n("Missing the closing quote while parsing the chord symbol",y,x),q[0]>0&&q[1].length>0&&q[1][0]==="^")q[1]=q[1].substring(1),q[2]="above";else if(q[0]>0&&q[1].length>0&&q[1][0]==="_")q[1]=q[1].substring(1),q[2]="below";else if(q[0]>0&&q[1].length>0&&q[1][0]==="<")q[1]=q[1].substring(1),q[2]="left";else if(q[0]>0&&q[1].length>0&&q[1][0]===">")q[1]=q[1].substring(1),q[2]="right";else if(q[0]>0&&q[1].length>0&&q[1][0]==="@"){q[1]=q[1].substring(1);var L=r.getFloat(q[1]);if(L.digits===0)return n("Missing first position in absolutely positioned annotation.",y,x),q[1]=q[1].replace("@",""),q[2]="above",q;if(q[1]=q[1].substring(L.digits),q[1][0]!==",")return n("Missing comma absolutely positioned annotation.",y,x),q[1]=q[1].replace("@",""),q[2]="above",q;q[1]=q[1].substring(1);var Q=r.getFloat(q[1]);if(Q.digits===0)return n("Missing second position in absolutely positioned annotation.",y,x),q[1]=q[1].replace("@",""),q[2]="above",q;q[1]=q[1].substring(Q.digits);var Z=r.skipWhiteSpace(q[1]);q[1]=q[1].substring(Z),q[2]=null,q[3]={x:L.value,y:Q.value}}else i.freegchord!==!0&&(q[1]=q[1].replace(/([ABCDEFG0-9])b/g,"$1♭"),q[1]=q[1].replace(/([ABCDEFG0-9])#/g,"$1♯"),q[1]=q[1].replace(/^([ABCDEFG])([♯♭]?)o([^A-Za-z])/g,"$1$2°$3"),q[1]=q[1].replace(/^([ABCDEFG])([♯♭]?)o$/g,"$1$2°"),q[1]=q[1].replace(/^([ABCDEFG])([♯♭]?)0([^A-Za-z])/g,"$1$2ø$3"),q[1]=q[1].replace(/^([ABCDEFG])([♯♭]?)\^([^A-Za-z])/g,"$1$2∆$3")),q[2]="default",q[1]=a.chordName(i,q[1]);return q}return[0,""]},F=function(y,x){if(y[x]==="{"){var q=r.getBrackettedSubstring(y,x,1,"}");q[2]||n("Missing the closing '}' while parsing grace note",y,x),y[x+q[0]]===")"&&(q[0]++,q[1]+=")");for(var L=[],Q=0,Z=!1;Q0&&(L[L.length-1].endBeam=!0):n("Unknown character '"+q[1][Q]+"' while parsing grace note",y,x),Q++)}if(L.length)return[q[0],L]}return[0]};function D(y,x){if(y[x]==="&"){for(var q=x;y[x]&&y[x]!==":"&&y[x]!=="|";)x++;return[x-q,y.substring(q+1,x)]}return[0]}function I(y){var x=y.origMeter;return!x||x.type!=="specified"||!x.value||x.value.length===0?1:parseInt(x.value[0].num,10)/parseInt(x.value[0].den,10)}var S=function(y,x){var q=i.macros[y[x]];if(q!==void 0)return(q[0]==="!"||q[0]==="+")&&(q=q.substring(1)),(q[q.length-1]==="!"||q[q.length-1]==="+")&&(q=q.substring(0,q.length-1)),p.includes(q)?[1,q]:m.includes(q)?(i.volumePosition==="hidden"&&(q=""),[1,q]):_.includes(q)?(i.dynamicPosition==="hidden"&&(q=""),[1,q]):(i.ignoredDecorations.includes(q)||n("Unknown macro: "+q,y,x),[1,""]);switch(y[x]){case".":if(y[x+1]==="("||y[x+1]==="-")break;return[1,"staccato"];case"u":return[1,"upbow"];case"v":return[1,"downbow"];case"~":return[1,"irishroll"];case"!":case"+":var L=r.getBrackettedSubstring(y,x,5);if(L[1].length>1&&(L[1][0]==="^"||L[1][0]==="_")&&(L[1]=L[1].substring(1)),p.includes(L[1])||L[1].indexOf("class=")===0)return L;if(m.includes(L[1]))return i.volumePosition==="hidden"&&(L[1]=""),L;if(_.includes(L[1]))return i.dynamicPosition==="hidden"&&(L[1]=""),L;var Q=h.findIndex(function(Z){return L[1]===Z[0]});return Q>=0?(L[1]=h[Q][1],L):(Q=f.findIndex(function(Z){return L[1]===Z[0]}),Q>=0?(L[1]=f[Q][1],i.dynamicPosition==="hidden"&&(L[1]=""),L):y[x]==="!"&&(L[0]===1||y[x+L[0]-1]!=="!")?[1,null]:(n("Unknown decoration: "+L[1],y,x),L[1]="",L));case"H":return[1,"fermata"];case"J":return[1,"slide"];case"L":return[1,"accent"];case"M":return[1,"mordent"];case"O":return[1,"coda"];case"P":return[1,"pralltriller"];case"R":return[1,"roll"];case"S":return[1,"segno"];case"T":return[1,"trill"];case"t":return[1,"trillh"]}return[0,0]},j=function(y,x){for(var q=x;r.isWhiteSpace(y[x]);)x++;return[x-q]},V=function(y,x){var q=r.getBarLine(y,x);if(q.len===0)return[0,""];if(q.warn)return n(q.warn,y,x),[q.len,""];for(var L=0;L="2"&&y[x+1]<="9"?(q.triplet!==void 0?n("Can't nest triplets",y,x):(q.triplet=y[x+1]-"0",q.tripletQ=b[q.triplet],q.num_notes=q.triplet,x+2="1"&&y[x+4]<="9"?(q.num_notes=y[x+4]-"0",x+=3):n("expected number after the two colons after the triplet to mark the duration",y,x):x+3="1"&&y[x+3]<="9"?(q.tripletQ=y[x+3]-"0",x+4="1"&&y[x+5]<="9"&&(q.num_notes=y[x+5]-"0",x+=4):x+=2):n("expected number after the triplet to mark the duration",y,x))),x++):q.startSlur===void 0?q.startSlur=1:q.startSlur++),x++;return q.consumed=x-L,q};k.prototype.startNewLine=function(){var y={startChar:-1,endChar:-1};i.partForNextLine.title&&(y.part=i.partForNextLine),y.clef=i.currentVoice&&i.staves[i.currentVoice.staffNum].clef!==void 0?Object.assign({},i.staves[i.currentVoice.staffNum].clef):Object.assign({},i.clef);var x=i.currentVoice?i.currentVoice.scoreTranspose:0;if(y.key=t.standardKey(i.key.root+i.key.acc+i.key.mode,i.key.root,i.key.acc,x),y.key.mode=i.key.mode,i.key.impliedNaturals&&(y.key.impliedNaturals=i.key.impliedNaturals),i.key.explicitAccidentals)for(var q=0;q=0?(q.duration=c.getBarLength(),q.rest.text=1,X="Zduration"):(L&&i.next_note_duration!==0?(q.duration=i.default_length*i.next_note_duration,i.next_note_duration=0,J=!0):q.duration=i.default_length,X="duration");else return Q(X)?(q.endChar=x,q):null;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"0":case"/":if(X==="octave"||X==="duration"){var re=r.getFraction(y,x);for(q.duration=q.duration*re.value,q.endChar=re.index;re.index"))x--,X="broken_rhythm";else return q}else return null;break;case">":case"<":if(Q(X))if(L){var ye=A(y,x);x+=ye[0]-1,i.next_note_duration=ye[2],q.duration=ye[1]*q.duration,X="end_slur"}else return q.endChar=x,q;else return null;break;default:return Q(X)?(q.endChar=x,q):null}if(x++,x===y.length)return Q(X)?(q.endChar=x,q):null}return null},A=function(y,x){switch(y[x]){case">":return x"&&y[x+2]===">"?[3,1.875,.125]:x"?[2,1.75,.25]:[1,1.5,.5];case"<":return x=u.length};this.eatWhiteSpace=function(u,l){for(var o=l;o="a"&&v[b]<="z"||v[b]>="A"&&v[b]<="Z");)b++;return b},o=this.skipWhiteSpace(u);if(i(u,o))return{len:0};var g=u.substring(o,o+3).toLowerCase();switch((g.length>1&&g[1]===" "||g[1]==="^"||g[1]==="_"||g[1]==="=")&&(g=g[0]),g){case"mix":return{len:l(u,o),token:"Mix"};case"dor":return{len:l(u,o),token:"Dor"};case"phr":return{len:l(u,o),token:"Phr"};case"lyd":return{len:l(u,o),token:"Lyd"};case"loc":return{len:l(u,o),token:"Loc"};case"aeo":return{len:l(u,o),token:"m"};case"maj":return{len:l(u,o),token:""};case"ion":return{len:l(u,o),token:""};case"min":return{len:l(u,o),token:"m"};case"m":return{len:l(u,o),token:"m"}}return{len:0}},this.getClef=function(u,l){var o=u,g=this.skipWhiteSpace(u);if(i(u,g))return{len:0};var v=!1,b=u.substring(g);if(t.startsWith(b,"clef=")&&(v=!0,b=b.substring(5),g+=5),b.length===0&&v)return{len:g+5,warn:"No clef specified: "+o};var k=this.skipWhiteSpace(b);if(i(b,k))return{len:0};k>0&&(g+=k,b=b.substring(k));var w=null;if(t.startsWith(b,"treble"))w="treble";else if(t.startsWith(b,"bass3"))w="bass3";else if(t.startsWith(b,"bass"))w="bass";else if(t.startsWith(b,"tenor"))w="tenor";else if(t.startsWith(b,"alto2"))w="alto2";else if(t.startsWith(b,"alto1"))w="alto1";else if(t.startsWith(b,"alto"))w="alto";else if(!l&&v&&t.startsWith(b,"none"))w="none";else if(t.startsWith(b,"perc"))w="perc";else if(!l&&v&&t.startsWith(b,"C"))w="tenor";else if(!l&&v&&t.startsWith(b,"F"))w="bass";else if(!l&&v&&t.startsWith(b,"G"))w="treble";else return{len:g+5,warn:"Unknown clef specified: "+o};return b=b.substring(w.length),k=this.isMatch(b,"+8"),k>0?w+="+8":(k=this.isMatch(b,"-8"),k>0&&(w+="-8")),{len:g+w.length,token:w,explicit:v}},this.getBarLine=function(u,l){switch(u[l]){case"]":switch(++l,u[l]){case"|":return{len:2,token:"bar_thick_thin"};case"[":return++l,u[l]>="1"&&u[l]<="9"||u[l]==='"'?{len:2,token:"bar_invisible"}:{len:1,warn:"Unknown bar symbol"};default:return{len:1,token:"bar_invisible"}}case":":switch(++l,u[l]){case":":return{len:2,token:"bar_dbl_repeat"};case"|":switch(++l,u[l]){case"]":return++l,u[l]==="|"?(++l,u[l]===":"?{len:5,token:"bar_dbl_repeat"}:{len:3,token:"bar_right_repeat"}):{len:3,token:"bar_right_repeat"};case"|":return++l,u[l]===":"?{len:4,token:"bar_dbl_repeat"}:{len:3,token:"bar_right_repeat"};default:return{len:2,token:"bar_right_repeat"}}default:return{len:1,warn:"Unknown bar symbol"}}case"[":if(++l,u[l]==="|")switch(++l,u[l]){case":":return{len:3,token:"bar_left_repeat"};case"]":return{len:3,token:"bar_invisible"};default:return{len:2,token:"bar_thick_thin"}}else return u[l]>="1"&&u[l]<="9"||u[l]==='"'?{len:1,token:"bar_invisible"}:{len:0};case"|":switch(++l,u[l]){case"]":return{len:2,token:"bar_thin_thick"};case"|":return++l,u[l]===":"?{len:3,token:"bar_left_repeat"}:{len:2,token:"bar_thin_thin"};case":":for(var o=0;u[l+o]===":";)o++;return{len:1+o,token:"bar_left_repeat"};default:return{len:1,token:"bar_thin"}}}return{len:0}},this.getTokenOf=function(u,l){for(var o=0;o0;){var o;if(u[0].token==="^"){if(o="sharp",u.shift(),u.length===0)return{accs:l,warn:"Expected note name after "+o};switch(u[0].token){case"^":o="dblsharp",u.shift();break;case"/":o="quartersharp",u.shift();break}}else if(u[0].token==="=")o="natural",u.shift();else if(u[0].token==="_"){if(o="flat",u.shift(),u.length===0)return{accs:l,warn:"Expected note name after "+o};switch(u[0].token){case"_":o="dblflat",u.shift();break;case"/":o="quarterflat",u.shift();break}}else return{accs:l};if(u.length===0)return{accs:l,warn:"Expected note name after "+o};switch(u[0].token[0]){case"a":case"b":case"c":case"d":case"e":case"f":case"g":case"A":case"B":case"C":case"D":case"E":case"F":case"G":l===void 0&&(l=[]),l.push({acc:o,note:u[0].token[0]}),u[0].token.length===1?u.shift():u[0].token=u[0].token.substring(1);break;default:return{accs:l,warn:"Expected note name after "+o+" Found: "+u[0].token}}}return{accs:l}},this.getKeyAccidental=function(u){var l={"^":"sharp","^^":"dblsharp","=":"natural",_:"flat",__:"dblflat","_/":"quarterflat","^/":"quartersharp"},o=this.skipWhiteSpace(u);if(i(u,o))return{len:0};var g=null;switch(u[o]){case"^":case"_":case"=":g=u[o];break;default:return{len:0}}if(o++,i(u,o))return{len:1,warn:"Expected note name after accidental"};switch(u[o]){case"a":case"b":case"c":case"d":case"e":case"f":case"g":case"A":case"B":case"C":case"D":case"E":case"F":case"G":return{len:o+1,token:{acc:l[g],note:u[o]}};case"^":case"_":case"/":if(g+=u[o],o++,i(u,o))return{len:2,warn:"Expected note name after accidental"};switch(u[o]){case"a":case"b":case"c":case"d":case"e":case"f":case"g":case"A":case"B":case"C":case"D":case"E":case"F":case"G":return{len:o+1,token:{acc:l[g],note:u[o]}};default:return{len:2,warn:"Expected note name after accidental"}}break;default:return{len:1,warn:"Expected note name after accidental"}}},this.isWhiteSpace=function(u){return u===" "||u===" "||u===""},this.getMeat=function(u,l,o){var g=u.indexOf("%",l);for(g>=0&&g="A"&&u<="Z"||u>="a"&&u<="z"},s=function(u){return u>="0"&&u<="9"};this.tokenize=function(u,l,o,g){var v=this.getMeat(u,l,o);l=v.start,o=v.end;for(var b=[],k;l=o?{len:1,err:"Missing close quote"}:{len:v-l+1,token:this.translateString(u.substring(g+1,v))}}else{for(var b=g;b=0?t.strip(u.substring(0,l)):t.strip(u)},this.getInt=function(u){var l=parseInt(u);if(isNaN(l))return{digits:0};var o=""+l,g=u.indexOf(o);return{value:l,digits:g+o.length}},this.getFloat=function(u){var l=parseFloat(u);if(isNaN(l))return{digits:0};var o=""+l,g=u.indexOf(o);return{value:l,digits:g+o.length}},this.getMeasurement=function(u){if(u.length===0)return{used:0};var l=1,o="";if(u[0].token==="-")u.shift(),o="-",l++;else if(u[0].type!=="number")return{used:0};if(o+=u.shift().token,u.length===0)return{used:1,value:parseInt(o)};var g=u.shift();if(g.token==="."){if(l++,u.length===0)return{used:l,value:parseInt(o)};if(u[0].type==="number"&&(g=u.shift(),o=o+"."+g.token,l++,u.length===0))return{used:l,value:parseFloat(o)};g=u.shift()}switch(g.token){case"pt":return{used:l+1,value:parseFloat(o)};case"px":return{used:l+1,value:parseFloat(o)};case"cm":return{used:l+1,value:parseFloat(o)/2.54*72};case"in":return{used:l+1,value:parseFloat(o)*72};default:return u.unshift(g),{used:l,value:parseFloat(o)}}};var f=function(u){return u=u.replace(/\\n/g,` -`),u=u.replace(/\\"/g,'"'),u};this.getBrackettedSubstring=function(u,l,o,g){for(var v=g||u[l],b=l+1,k=!1;bu.length-1&&(b=u.length-1),[b-l+1,f(u.substring(l+1,b)),!1])}};return a.prototype.peekLine=function(){return this.lines[this.lineIndex]},a.prototype.nextLine=function(){if(this.lineIndex>0&&(this.multilineVars.iChar+=this.lines[this.lineIndex-1].length+1),this.lineIndex0&&(u[b.line].staff[b.staff].barNumber=g);for(var w=Object.keys(k),$=0;$=0;F--)if(R[F].el_type==="key"){l[b.staff]={root:R[F].root,acc:R[F].acc,mode:R[F].mode,accidentals:R[F].accidentals.filter(function(I){return I.acc!=="natural"})};break}for(F=R.length-1;F>=0;F--)if(R[F].el_type==="stem"){o[b.staff*10+b.voice]={direction:R[F].direction};break}if(f!==void 0&&b.staff===0&&b.voice===0)for(F=0;F0?(f.push(o-1),u.push(Math.round(l-g)),l=g):o<_.length-1&&(f.push(o),u.push(Math.round(l)),l=0)}}return u.push(Math.round(l)),{lineBreaks:f,totals:u}}function i(_){for(var h=[],f=0;f<_.length;f++)h.push(_[f]);return h}function c(_,h,f,u,l,o,g,v,b,k,w){for(var $=k;$<_.length;$++){var N=_[$];f+=N,u+=N;var R=Math.abs(f-h[v]),F=Math.abs(R-o)o&&$<_.length-1&&(D=i(l),I=i(b),w.push({accumulator:f,lineAccumulator:u,lineWidths:D,lastVariance:R,highestVariance:Math.max(g,R),currLine:v,lineBreaks:I,startIndex:$+1}));R>o?(b.push($-1),v++,g=Math.max(g,o),o=Math.abs(f-h[v]),l.push(u-N),u=N):o=R}l.push(u)}function s(_,h,f,u){for(var l=Math.ceil(_.total/h),o=Math.floor(_.total/l),g=[],v=0;vh&&(g=!0),v%f===f-1&&(v!==_.length-1&&u.push(v),l.push(Math.round(o)),o=0);return{failed:g,totals:l,lineBreaks:u}}function p(_,h,f){var u={lineBreaks:_,staffwidth:h};for(var l in f)f.hasOwnProperty(l)&&l!=="wrap"&&l!=="staffwidth"&&(u[l]=f[l]);return{revisedParams:u}}function m(_,h,f){if(h.length===0||f.staffwidth0&&$.measureWidths.length<25&&(V=s($,R,S,I),I.attempts.push({type:"Optimize",failed:V.failed,reason:V.reason,lineBreaks:V.lineBreaks,totals:V.totals}),V.failed||(S=V.lineBreaks))}b.push(S),k.push(I)}var G=f.staffwidth,T=p(b,G,f);return T.explanation=k,T.reParse=!0,T}return wu={wrapLines:t,calcLineWraps:m},wu}var xu,_h;function f4(){if(_h)return xu;_h=1;function t(p){const m=p.getMeterFraction(),_=m.num===4&&m.den===4;if(!(m.num===2&&m.den===2)&&!_)throw new Error("notCommonTime");const f=p.deline();let u=[],l=!1;return f.forEach(o=>{if(o.subtitle)l&&u.push({type:"subtitle",subtitle:o.subtitle.text});else if(o.text)l=!0,u.push({type:"text",text:o.text.text});else if(o.staff){l=!0;const g=o.staff,v=r(g);u=u.concat(v)}}),i(u),c(u),s(u),u}const a=["break","(break)","no chord","n.c.","tacet"];function r(p){const m=[];let _="",h=[],f={chord:["","","",""]},u="",l="";if(p.forEach((o,g)=>{o.voices&&o.voices.forEach((v,b)=>{let k=0,w=0;v.forEach($=>{if($.el_type==="part")h.length>0&&g===0&&b===0&&(m.push({type:"part",name:_,lines:[h]}),h=[]),_=$.title;else if($.el_type==="note"){d($,f);const N=Math.floor(k);if($.chord&&$.chord.length>0){const R=$.chord[0],F=R.position==="default"||a.indexOf(R.name.toLowerCase())>=0?R.name:"";F&&(N>0&&!f.chord[0]&&(f.chord[0]=u),u=F,f.chord[N]?N<4&&!f.chord[N+1]&&(f.chord[N+1]=F):f.chord[N]=F),$.chord.forEach(D=>{D.position!=="default"&&a.indexOf(R.name.toLowerCase())<0&&(f.annotations||(f.annotations=[]),f.annotations.push(D.name))})}if(!$.rest||$.rest.type!=="spacer"){const R=$.duration===0&&!$.rest?.25:$.duration,F=Math.floor(R*4);if(F>4)w+=Math.floor(F/4),k=0;else{let D=R*4;$.tripletMultiplier&&(D*=$.tripletMultiplier),k+=D}}}else if($.el_type==="bar"){if(l&&(f.ending=l,l=""),d($,f),$.chord&&$.chord.forEach(N=>{N.position!=="default"&&(f.annotations||(f.annotations=[]),f.annotations.push(N.name))}),($.type==="bar_dbl_repeat"||$.type==="bar_left_repeat")&&(f.hasStartRepeat=!0),($.type==="bar_dbl_repeat"||$.type==="bar_right_repeat")&&(f.hasEndRepeat=!0),$.startEnding&&(l=$.startEnding),k>=4){if(f.chord[0]===""&&(f.chord[1]||f.chord[2]||f.chord[3])&&(f.chord[0]=n(h)),g===0&&b===0)h.push(f);else{let N=w,R=0;for(;N>=m[R].lines[0].length&&R=0;m--)for(let _=p[m].chord.length-1;_>=0;_--)if(p[m].chord[_])return p[m].chord[_]}function i(p){p.forEach(m=>{if(m.type==="part"){const _=m.lines[0],h=_.findIndex(u=>!!u.ending),f=_.findIndex((u,l)=>l>h&&!!u.ending);if(h>=0&&f>=0&&f-h===_.length-f){let u=!0;for(let l=0;l{if(m.type==="part"){const _=[],h=m.lines[0];let f=!1;const u=h.findIndex(g=>!!g.hasEndRepeat);(u>=0?Math.min(u+1,h.length):h.length)===12&&(f=!0);const o=f?4:8;for(let g=0;g!!k.hasEndRepeat);b>=0&&b{if(m.lines){let _=!1,h="";m.lines.forEach(f=>{f.forEach(u=>{if(!u.noBorder){const l=u.chord;!l[0]&&!l[1]&&!l[2]&&!l[3]?(_?h&&(l[0]="%"):l[0]=h,_=!0):!l[1]&&!l[2]&&!l[3]?(_=!0,h=l[0]):(_=!1,h=l[3]||l[2]||l[1])}})})}})}function d(p,m){if(p.decoration)for(let _=0;_0&&this.sections[this.sections.length-1].type==="endRepeat"&&this.sections.push({type:"startRepeat",index:this.sections[this.sections.length-1].index}),this.sections.push({type:"endRepeat",index:p})),h&&this.sections.push({type:"startEnding",index:p,endings:h}),m&&this.sections.push({type:"startRepeat",index:p})},this.resolveRepeats=function(){var d,p=this.sections[this.sections.length-1],m=s.length-1;if(p.type==="startRepeat"?p.end=m:p.index+10)for(d=0;d0&&r(s,o,k.start,k.end),g=Math.max(g,k.end))}}return o}}function r(s,d,p,m){p<0&&(p=0),d.length>0&&s[p].el_type==="bar"&&d[d.length-1].el_type==="bar"&&p++;for(var _=p;_<=m;_++){var h,f=!1;if(s[_].el_type==="key"||s[_].el_type==="meter"||s[_].el_type==="tempo"||s[_].el_type==="instrument"){for(h=d.length-1;h>=0&&d[h].el_type!==s[_].el_type;)h--;h>=0&&(s[_].el_type==="key"&&i(s[_],d[h])||s[_].el_type==="meter"&&s[_].num===d[h].num&&s[_].den===d[h].den||s[_].el_type==="instrument"&&s[_].program===d[h].program||s[_].el_type==="tempo"&&s[_].qpm===d[h].qpm)&&(f=!0)}f||d.push(n(s[_]))}}function n(s){var d=Object.assign({},s);return d.pitches&&(d.pitches=t.cloneArray(d.pitches)),d}function i(s,d){return!s.accidentals||!d.accidentals?!1:JSON.stringify(s.accidentals)===JSON.stringify(d.accidentals)}function c(s){var d=[],p,m,_;if(s.indexOf(",")>0)for(m=s.split(","),_=0;_0&&d.push(p);else if(s.indexOf("-")>0){m=s.split("-");var h=parseInt(m[0],10),f=parseInt(m[1],10);for(_=h;_<=f;_++)d.push(_)}else p=parseInt(s,10),p>0&&d.push(p);return d}return Tu=a,Tu}var $u,yh;function kh(){if(yh)return $u;yh=1;var t,a=tr(),r=p4();return(function(){var n=1,i=128;t=function(g,v){v=v||{};var b,k=v.program||0,w=v.midiTranspose||0;g.visualTranspose&&(w-=g.visualTranspose);var $=v.channel||0,N=!1,R=v.drum||"",F=v.drumBars||1,D=v.drumIntro||0,I=R!=="",S=!!v.drumOff,j=[],V=50;k=parseInt(k,10),w=parseInt(w,10),$=parseInt($,10),$===10&&(k=i),R=R.split(" "),F=parseInt(F,10),D=parseInt(D,10);var G=g.formatting.bagpipes;G&&(k=71);var T=[];if(g.formatting.midi){var C=g.formatting.midi;C.program&&C.program.length>0&&(k=C.program[0],C.program.length>1&&(k=C.program[1],$=C.program[0]),N=!0),C.transpose&&(w=C.transpose[0]),C.channel&&($=C.channel[0],N=!0),C.drum&&(R=C.drum),C.drumbars&&(F=C.drumbars[0]),C.drumon&&(I=!0),$===10&&(k=i),C.beat&&T.push({el_type:"beat",beats:C.beat}),C.nobeataccents&&T.push({el_type:"beataccents",value:!1})}v.qpm?b=parseInt(v.qpm,10):g.metaText.tempo?b=_(g.metaText.tempo,g.getBeatLength()):v.defaultQpm?b=v.defaultQpm:b=180;var A=[];G&&A.push({el_type:"bagpipes"}),A.push({el_type:"instrument",program:k}),$&&A.push({el_type:"channel",channel:$}),w&&A.push({el_type:"transpose",transpose:w}),A.push({el_type:"tempo",qpm:b});for(var B=0;B=0?fa="pppp":je.decoration.indexOf("ppp")>=0?fa="ppp":je.decoration.indexOf("pp")>=0?fa="pp":je.decoration.indexOf("p")>=0?fa="p":je.decoration.indexOf("mp")>=0?fa="mp":je.decoration.indexOf("mf")>=0?fa="mf":je.decoration.indexOf("f")>=0?fa="f":je.decoration.indexOf("ff")>=0?fa="ff":je.decoration.indexOf("fff")>=0?fa="fff":je.decoration.indexOf("ffff")>=0&&(fa="ffff"),fa){X=ut[fa].slice(0);let Jt=[X];Array.isArray(je.decoration)&&(Jt=[],je.decoration.forEach(fi=>{fi in ut&&Jt.push(ut[fi].slice(0))})),y[oe].push({el_type:"beat",beats:X.slice(0),volumesPerNotePitch:Jt}),q[Ve]=!1,L[Ve]=!1}if(je.decoration.indexOf("crescendo(")>=0){var vt=c(Ke,fe,"crescendo)"),si=Math.min(127,X[0]+V),va=s(Ke,fe+vt+1,Object.keys(ut));va&&(si=ut[va][0]),vt>0?q[Ve]=Math.floor((si-X[0])/vt):q[Ve]=!1,L[Ve]=!1}else if(je.decoration.indexOf("crescendo)")>=0)q[Ve]=!1;else if(je.decoration.indexOf("diminuendo(")>=0){var xa=c(Ke,fe,"diminuendo)"),pa=Math.max(15,X[0]-V),Xa=s(Ke,fe+xa+1,Object.keys(ut));Xa&&(pa=ut[Xa][0]),q[Ve]=!1,xa>0?L[Ve]=Math.floor((pa-X[0])/xa):L[Ve]=!1}else je.decoration.indexOf("diminuendo)")>=0&&(L[Ve]=!1)}};for(var Me=ye.staff,oe=0,ze=0;ze=0?(y[oe].push({el_type:"transpose",transpose:-12}),x[oe]=!0):ue.clef.type.indexOf("+8")>=0?(y[oe].push({el_type:"transpose",transpose:12}),x[oe]=!0):x[oe]&&(y[oe].push({el_type:"transpose",transpose:0}),x[oe]=!1)),g.formatting.midi&&g.formatting.midi.drumoff&&(y[oe].push({el_type:"bar"}),y[oe].push({el_type:"drum",params:{pattern:"",on:!1}}));var zt=0,$t=0,tt=0,ie=0;X=[105,95,85,1];for(var fe=0;fe=0?y[oe].push({el_type:"transpose",transpose:-12}):te.type.indexOf("+8")>=0&&y[oe].push({el_type:"transpose",transpose:12}));break;case"tempo":b=_(te,g.getBeatLength()),y[oe].push({el_type:"tempo",qpm:b,timing:Q[oe]}),Z[""+Q[oe]]={el_type:"tempo",qpm:b,timing:Q[oe]};break;case"bar":zt>0&&y[oe].push({el_type:"bar"}),Qt(te),zt=0,J[oe].addBar(te,oe);break;case"style":j[oe]=te.head;break;case"timeSignature":y[oe].push(h(te));break;case"part":break;case"stem":case"scale":case"break":case"font":break;case"midi":var Ge=!1;switch(te.cmd){case"drumon":I=!0,Ge=!0;break;case"drumoff":I=!1,Ge=!0;break;case"drum":R=te.params,Ge=!0;break;case"drumbars":F=te.params[0],Ge=!0;break;case"drummap":break;case"channel":te.params[0]===10&&y[oe].push({el_type:"instrument",program:i});break;case"program":o(y[oe],{el_type:"instrument",program:te.params[0]}),N=!0;break;case"transpose":y[oe].push({el_type:"transpose",transpose:te.params[0]});break;case"gchordoff":y[oe].push({el_type:"gchordOn",tacet:!0});break;case"gchordon":y[oe].push({el_type:"gchordOn",tacet:!1});break;case"beat":y[oe].push({el_type:"beat",beats:te.params});break;case"nobeataccents":y[oe].push({el_type:"beataccents",value:!1});break;case"beataccents":y[oe].push({el_type:"beataccents",value:!0});break;case"vol":case"volinc":y[oe].push({el_type:te.cmd,volume:te.params[0]});break;case"swing":case"gchord":case"bassvol":case"chordvol":y[oe].push({el_type:te.cmd,param:te.params[0]});break;case"bassprog":case"chordprog":y[oe].push({el_type:te.cmd,value:te.params[0],octaveShift:te.params[1]});break;case"gchordbars":y[oe].push({el_type:te.cmd,param:te.params[0]});break;default:console.log("MIDI seq: midi cmd not handled: ",te.cmd,te)}Ge&&(y[0].push({el_type:"drum",params:{pattern:R,bars:F,intro:D,on:I}}),be=!0);break;default:console.log("MIDI: element type "+te.el_type+" not handled.")}}oe++,Q[oe]||(Q[oe]=0)}}}}for(var Xe=0;Xect;)ct++;if(y[Ue].length>ct){for(var Ae=0;Ae0&&y[0].length>0&&(y[0][0].pickupLength=g.getPickupLength()),y};function c(g,v,b){for(var k=0,w=v+1;w=0)return k;return k}function s(g,v,b){for(var k=Math.min(g.length,v+3),w=v;w=0)return g[w].decoration[$]}return null}function d(g,v){if(!(!v||v.length===0))for(var b=Object.keys(v),k=0;k=0&&$!==v[""+R.timing].qpm&&($=v[""+R.timing].qpm,R.el_type==="tempo"?(R.qpm=v[""+R.timing].qpm,N++):(g[k].splice(N,0,{el_type:"tempo",qpm:v[""+R.timing].qpm,timing:R.timing}),N+=2))}}function p(g){for(var v=0;v=0&&b[k].el_type!=="bar";)b[k].noChordVoice=!0,k--}function m(g,v){if(!(!g||g.length<=v||!g[v].title))return g[v].title.join(" ")}function _(g,v){var b=.25;g.duration&&(b=g.duration[0]);var k=60;return g.bpm&&(k=g.bpm),b*k/v}function h(g){var v;switch(g.type){case"common_time":v={el_type:"meter",num:4,den:4},n=4/4;break;case"cut_time":v={el_type:"meter",num:2,den:2},n=2/2;break;case"specified":let w=0;if(g.value&&g.value.length>0&&g.value[0].num.indexOf("+")>0)for(var b=g.value[0].num.split("+"),k=0;k=0;b--)if(g[b].el_type===v.el_type){JSON.stringify(g[b])!==JSON.stringify(v)&&g.push(v);return}g.push(v)}})(),$u=t,$u}var qu,wh;function m4(){if(wh)return qu;wh=1;var t=function(_,h,f,u){this.chordTrack=[],this.chordTrackFinished=!1,this.chordChannel=_,this.currentChords=[],this.lastChord,this.chordLastBar,this.chordsOff=!!h,this.gChordTacet=this.chordsOff,this.hasRhythmHead=!1,this.transpose=0,this.lastBarTime=0,this.meter=u,this.tempoChangeFactor=1,this.bassInstrument=f.bassprog&&f.bassprog.length>=1?f.bassprog[0]:0,this.chordInstrument=f.chordprog&&f.chordprog.length>=1?f.chordprog[0]:0,this.bassOctaveShift=f.bassprog&&f.bassprog.length===2?f.bassprog[1]:0,this.chordOctaveShift=f.chordprog&&f.chordprog.length===2?f.chordprog[1]:0,this.boomVolume=f.bassvol&&f.bassvol.length===1?f.bassvol[0]:64,this.chickVolume=f.chordvol&&f.chordvol.length===1?f.chordvol[0]:48,f.gchord&&f.gchord.length>0?this.overridePattern=n(f.gchord[0]):this.overridePattern=void 0};t.prototype.setMeter=function(m){this.meter=m},t.prototype.setTempoChangeFactor=function(m){this.tempoChangeFactor=m},t.prototype.setLastBarTime=function(m){this.lastBarTime=m},t.prototype.setTranspose=function(m){this.transpose=m},t.prototype.setRhythmHead=function(m,_){this.hasRhythmHead=m;var h=[];if(m&&this.lastChord&&this.lastChord.chick)for(var f=0;f0&&!this.chordTrackFinished&&(this.resolveChords(this.lastBarTime,d(m.time)),this.currentChords=[]),this.chordLastBar=this.lastChord},t.prototype.gChordOn=function(m){this.chordsOff||(this.gChordTacet=m.tacet)},t.prototype.paramChange=function(m){switch(m.el_type){case"gchord":m.param&&m.param.length>0?this.overridePattern=n(m.param):this.overridePattern=void 0;break;case"bassprog":this.bassInstrument=m.value,m.octaveShift!=null&&m.octaveShift!=null?this.bassOctaveShift=m.octaveShift:this.bassOctaveShift=0;break;case"chordprog":this.chordInstrument=m.value,m.octaveShift!=null&&m.octaveShift!=null?this.chordOctaveShift=m.octaveShift:this.chordOctaveShift=0;break;case"bassvol":this.boomVolume=m.param;break;case"chordvol":this.chickVolume=m.param;break;default:console.log("unhandled midi param",m)}},t.prototype.finish=function(){this.chordTrackEmpty()||(this.chordTrackFinished=!0)},t.prototype.addTrack=function(m){this.chordTrackEmpty()||m.push(this.chordTrack)},t.prototype.findChord=function(m){if(this.gChordTacet)return"break";if(this.chordTrackFinished||!m.chord||m.chord.length===0)return null;for(var _=0;_=0)return"break"}return null},t.prototype.interpretChord=function(m){if(m.length!==0){if(m==="break")return{chick:[]};var _=m.substring(0,1);if(_==="("){if(m=m.substring(1,m.length-1),m.length===0)return;_=m.substring(0,1)}var h=this.basses[_];if(h){for(var f=this.transpose;f<-8;)f+=12;for(;f>8;)f-=12;h+=f,h<33?h+=12:h>44&&(h-=12);var u=h;h+=this.bassOctaveShift*12;var l=h-5,o;m.length===1&&(o=this.chordNotes(h,""));var g=m.substring(1),v=g.substring(0,1);v==="b"||v==="♭"?(u--,h--,l--,g=g.substring(1)):(v==="#"||v==="♯")&&(u++,h++,l++,g=g.substring(1));var b=g.split("/");if(o=this.chordNotes(u,b[0]),o.length>=3){var k=o[2]-o[0];l=l+k-7}if(b.length===2){var w=this.basses[b[1].substring(0,1)];if(w){var $=b[1].substring(1),N={"#":1,"♯":1,b:-1,"♭":-1}[$]||0;h=this.basses[b[1].substring(0,1)]+N+f,h+=this.bassOctaveShift*12,l=h}}return{boom:h,boom2:l,chick:o}}}},t.prototype.chordNotes=function(m,_){_=_.replace(/♭/g,"b").replace(/♯/g,"#");var h=s[_];h||(_.slice(0,2).toLowerCase()==="ma"||_[0]==="M"?h=s.M:_[0]==="m"||_[0]==="-"?h=s.m:h=s.M),m+=12,m+=this.chordOctaveShift*12;for(var f=[],u=0;u0&&v[w-1]&&v[w]&&v[w-1].boom!==v[w].boom&&($=!0);var R=b[w],F=R.indexOf("boom")>=0,D=!F&&w!==0&&b[0].indexOf("boom")>=0&&(!v[w-1]||v[w-1].boom!==v[w].boom),I=a(v[w],R,$,D);F&&($=!1);for(var S=0;S=0?u.push(h?m.boom:m.boom2):f&&u.push(m.boom);var l=m.chick.length;if(_.indexOf("chick")>=0)for(var o=0;o0&&ie[0].length>0&&(G=ie[0][0].pickupLength),fe.bassprog!==void 0&&!ce.bassprog&&(ce.bassprog=[fe.bassprog]),fe.bassvol!==void 0&&!ce.bassvol&&(ce.bassvol=[fe.bassvol]),fe.chordprog!==void 0&&!ce.chordprog&&(ce.chordprog=[fe.chordprog]),fe.chordvol!==void 0&&!ce.chordvol&&(ce.chordvol=[fe.chordvol]),fe.gchord!==void 0&&!ce.gchord&&(ce.gchord=[fe.gchord]),l=new a(ie.length,fe.chordsOff,ce,o),L(ie,fe);for(var _e=0;_e=0)&&(Ge=!0);for(var Xe=0;Xe0&&h[h.length-1].cmd==="program")h[h.length-1].instrument=we.program;else{var Ue;for(Ue=h.length-1;Ue>=0&&h[Ue].cmd!=="program";Ue--);(Ue<0||h[Ue].instrument!==we.program)&&h.push({cmd:"program",channel:0,instrument:we.program})}break;case"channel":y(we.channel);break;case"drum":j=gt(we.params),zt();break;case"gchordOn":l.gChordOn(we);break;case"beat":k=we.beats[0],w=we.beats[1],$=we.beats[2],we.volumesPerNotePitch?N=we.volumesPerNotePitch:N=[];break;case"vol":F=we.volume;break;case"volinc":D=we.volume;break;case"beataccents":b=we.value;break;case"gchord":case"bassprog":case"chordprog":case"bassvol":case"chordvol":case"gchordbars":l.paramChange(we);break;default:console.log("MIDI creation. Unknown el_type: "+we.el_type+` -`);break}}h[0].instrument===void 0&&(h[0].instrument=m||0),f&&h.unshift(f),s.push(h),l.finish(),S.length>0}return fe.detuneOctave&&tt(s,parseInt(fe.detuneOctave,10)),l.addTrack(s),S.length>0&&s.push(S),{tempo:d,instrument:m,tracks:s,totalDuration:u}};function y(ie){for(var fe=h.length-1;fe>=0;fe--)if(h[fe].cmd==="program"){h[fe].channel=ie;return}}function x(ie){return ie/1e6}function q(ie){return Math.round(ie*p*1e6)/1e6}function L(ie,fe){for(var te=0;te=te+1&&(ce=N[te][0],_e=N[te][1],Ae=N[te][2]);var Ge;if(F!==void 0)Ge=F,F=void 0;else if(!b)Ge=_e;else if(G>ie)Ge=Ae;else{var Xe=Z(v,Q(o),ie);Xe===0?Ge=ce:parseInt(Xe,10)===Xe?Ge=_e:Ge=Ae}return D&&(Ge+=D,D=void 0),Ge<0&&(Ge=0),Ge>127&&(Ge=127),fe?0:Ge}function J(ie,fe){var te={};if(ie.decoration)for(var ce=0;ce0;)h.push({cmd:"note",pitch:fe.pitch+Ae,volume:fe.volume,start:te,duration:_e,gap:0,instrument:_,style:"decoration"}),Ae=Ae===2?0:2,ce-=_e,te+=_e;break;case"trillh":for(var Ae=1;ce>0;)h.push({cmd:"note",pitch:fe.pitch+Ae,volume:fe.volume,start:te,duration:_e,gap:0,instrument:_,style:"decoration"}),Ae=Ae===1?0:1,ce-=_e,te+=_e;break;case"pralltriller":h.push({cmd:"note",pitch:fe.pitch,volume:fe.volume,start:te,duration:_e,gap:0,instrument:_,style:"decoration"}),ce-=_e,te+=_e,h.push({cmd:"note",pitch:fe.pitch+2,volume:fe.volume,start:te,duration:_e,gap:0,instrument:_,style:"decoration"}),ce-=_e,te+=_e,h.push({cmd:"note",pitch:fe.pitch,volume:fe.volume,start:te,duration:ce,gap:0,instrument:_});break;case"mordent":case"lowermordent":h.push({cmd:"note",pitch:fe.pitch,volume:fe.volume,start:te,duration:_e,gap:0,instrument:_,style:"decoration"}),ce-=_e,te+=_e,h.push({cmd:"note",pitch:fe.pitch-2,volume:fe.volume,start:te,duration:_e,gap:0,instrument:_,style:"decoration"}),ce-=_e,te+=_e,h.push({cmd:"note",pitch:fe.pitch,volume:fe.volume,start:te,duration:ce,gap:0,instrument:_});break;case"turn":_e=fe.duration/4,h.push({cmd:"note",pitch:fe.pitch+2,volume:fe.volume,start:te,duration:_e,gap:0,instrument:_,style:"decoration"}),h.push({cmd:"note",pitch:fe.pitch,volume:fe.volume,start:te+_e,duration:_e,gap:0,instrument:_,style:"decoration"}),h.push({cmd:"note",pitch:fe.pitch-1,volume:fe.volume,start:te+_e*2,duration:_e,gap:0,instrument:_,style:"decoration"}),h.push({cmd:"note",pitch:fe.pitch,volume:fe.volume,start:te+_e*3,duration:_e,gap:0,instrument:_,style:"decoration"});break;case"roll":for(;ce>0;)h.push({cmd:"note",pitch:fe.pitch,volume:fe.volume,start:te,duration:_e,gap:0,instrument:_,style:"decoration"}),ce-=_e*2,te+=_e*2;break}}function re(ie,fe){var te=X(x(ie.time),fe);l.processChord(ie);var ce;if(ie.gracenotes&&ie.pitches&&ie.pitches.length>0&&ie.pitches[0]&&(ce=ze(ie.gracenotes,ie.pitches[0].duration),ie.elem&&(ie.elem.midiGraceNotePitches=ue(ce,x(ie.time),te*2/3,_))),ie.elem){var _e=x(ie.time),Ae=_e/R/d*60*1e3;if(ie.elem.currentTrackMilliseconds===void 0)ie.elem.currentTrackMilliseconds=Ae,ie.elem.currentTrackWholeNotes=_e;else if(ie.elem.currentTrackMilliseconds.length===void 0)ie.elem.currentTrackMilliseconds!==Ae&&(ie.elem.currentTrackMilliseconds=[ie.elem.currentTrackMilliseconds,Ae],ie.elem.currentTrackWholeNotes=[ie.elem.currentTrackWholeNotes,_e]);else{for(var Ge=!1,Xe=0;XeQt&&(xa=X(x(ie.time),fe,Qt));var je=ct[Qt];if(je){je.startSlur&&(I+=je.startSlur.length),je.endSlur&&(I-=je.endSlur.length);var ut=je.actualPitch?je.actualPitch:Me(je);if(_===g&&T){var fa=r(je);fa&&T[fa]&&(ut=T[fa].sound)}var vt={cmd:"note",pitch:ut,volume:xa,start:x(ie.time),duration:q(je.duration),instrument:_,startChar:ie.elem.startChar,endChar:ie.elem.endChar};if(vt=Ve(vt),ie.gracenotes&&(vt.duration=vt.duration/2,vt.start=vt.start+vt.duration),ie.elem&&ie.elem.midiPitches.push(vt),Ue.noteModification)be(Ue.noteModification,vt);else{switch(I>0?vt.endType="tenuto":we&&(vt.endType=we),vt.endType){case"tenuto":vt.gap=A;break;case"staccato":var si=vt.duration*B;vt.gap=d/60*si;break;default:vt.gap=C;break}h.push(vt)}}}h.length-1}var va=Fe(ie);u=Math.max(u,x(ie.time)+q(va))}function Fe(ie){return ie.pitches&&ie.pitches.length>0&&ie.pitches[0]?ie.pitches[0].duration:ie.elem?ie.elem.duration:ie.duration}var ye=[0,2,4,5,7,9,11];function Me(ie){if(ie.midipitch!==void 0)return ie.midipitch;var fe=ie.pitch;if(ie.accidental)switch(ie.accidental){case"sharp":n[fe]=1;break;case"flat":n[fe]=-1;break;case"natural":n[fe]=0;break;case"dblsharp":n[fe]=2;break;case"dblflat":n[fe]=-2;break;case"quartersharp":n[fe]=.25;break;case"quarterflat":n[fe]=-.25;break}var te=Ke(fe)*12+ye[Rt(fe)]+60;return n[fe]!==void 0?te+=n[fe]:te+=i[Rt(fe)],te+=c,te}function oe(ie){var fe=[0,0,0,0,0,0,0];if(!ie.accidentals)return fe;for(var te=0;te=0?(ie.pitch=Math.round(ie.pitch),ie.cents=-50):fe.indexOf(".25")>=0&&(ie.pitch=Math.round(ie.pitch),ie.cents=50),ie}function Ke(ie){return Math.floor(ie/7)}function Rt(ie){return ie=ie%7,ie<0&&(ie+=7),ie}function gt(ie){if(ie.pattern.length===0||ie.on===!1)return{on:!1};for(var fe=ie.pattern[0],te=[],ce="",_e=0,Ae=0;Ae1){Xe=Xe.sort(function(je,ut){return je.pitch-ut.pitch});var we=Xe[Xe.length-1],Ue=we.pitch%12,ct=!1;for(_e=0;!ct&&_e=u&&(l-=u),b[w].el_type==="bar")return l}return l}this.getPickupLength=function(){var f=this.getBarLength(),u=d(this.lines,f);return u<1e-8||f-u<1e-8?0:u},this.getBarLength=function(){var f=this.getMeterFraction();return f.num/f.den},this.getTotalTime=function(){return this.totalTime},this.getTotalBeats=function(){return this.totalBeats},this.millisecondsPerMeasure=function(f){var u;if(f)u=f;else{var l=this.metaText?this.metaText.tempo:null;u=this.getBpm(l)}u<=0&&(u=1);var o=this.getBeatsPerMeasure(),g=o/u;return g*6e4},this.getBeatsPerMeasure=function(){var f=this.getBeatLength(),u=this.getBarLength();return u/f},this.getMeter=function(){for(var f=0;f0&&f.value[0].num.indexOf("+")>0){var o=f.value[0].num.split("+");u=0;for(var g=0;gf)return w}}return null};function p(f){for(var u,l,o,g,v=f.length-1;v>=0;v--){var b=f[v];b.type==="bar"?(b.top=o,b.nextTop=u,u=o,b.bottom=g,b.nextBottom=l,l=g):b.type==="event"&&(o=b.top,g=b.top+b.height)}}function m(f){var u=[];for(var l in f)f.hasOwnProperty(l)&&u.push(f[l]);return u=u.sort(function(o,g){var v=o.milliseconds-g.milliseconds;return v!==0?v:o.type==="bar"?-1:1}),u}this.addElementToEvents=function(f,u,l,o,g,v,b,k,w,$){if(u.hint)return{isTiedState:void 0,duration:0};var N=u.durationClass?u.durationClass:u.duration;if(u.abcelem.rest&&u.abcelem.rest.type==="spacer"&&(N=0),N>0){for(var R=[],F=0;F0){var v=g.staffs[0],b=v.absoluteY,k=b-v.top*a.STEP,w=g.staffs[g.staffs.length-1];b=w.absoluteY;for(var $=b-w.bottom*a.STEP,N=$-k,R=g.voices,F=0;F0&&v["event"+D]&&(y="event"+D),D=Math.round(F*1e3),A.type==="bar"){var x=A.abcelem.type,q=x==="bar_right_repeat"||x==="bar_dbl_repeat",L=A.abcelem.startEnding==="1",Q=x==="bar_left_repeat"||x==="bar_dbl_repeat"||x==="bar_right_repeat";if(q){T>0&&(v[y].endX=A.x),S===-1&&(S=T);var Z=0;G=-1;for(var X=I;Xo.left&&(o.endX=Math.min(o.endX,v)):o.endX=v}}var b=u[u.length-1];b.endX=f[b.line].staffGroup.w}}this.getBpm=function(f){var u;if(f||(f=this.metaText?this.metaText.tempo:null),f){u=f.bpm;var l=this.getBeatLength(),o=f.duration&&f.duration.length>0?f.duration[0]:l;u=u*o/l}if(!u){u=180;var g=this.getMeterFraction();g&&g.num!==3&&g.num%3===0&&(u=120)}return u},this.setTiming=function(f,u){if(u=u||0,!this.engraver||!this.engraver.staffgroups)return console.log("setTiming cannot be called before the tune is drawn."),this.noteTimings=[],this.noteTimings;var l=this.metaText?this.metaText.tempo:null,o=this.getBpm(l),g=1;f?l&&(g=f/o):f=o;var v=this.getBeatLength(),b=f/60,k=this.getBarLength(),w=k/v*u/b;w&&(w-=this.getPickupLength()/v/b);var $=v*b;return this.noteTimings=this.setupEvents(w,$,f,g),this.noteTimings.length>0?(this.totalTime=this.noteTimings[this.noteTimings.length-1].milliseconds/1e3,this.totalBeats=this.totalTime*b):(this.totalTime=void 0,this.totalBeats=void 0),this.noteTimings},this.setUpAudio=function(f){f||(f={});var u=r(this,f);return n(u,f,this.formatting.percmap,this.formatting.midi)},this.deline=function(f){return i(this.lines,f)},this.findSelectableElement=function(f){return this.engraver&&this.engraver.selectables?this.engraver.findSelectableElement(f):null},this.getSelectableArray=function(){return this.engraver&&this.engraver.selectables?this.engraver.selectables:[]}};return Cu=c,Cu}var Mu,Fh;function _4(){if(Fh)return Mu;Fh=1;var t=vu(),a=function(S){var j=this,V={},G="";S.reset(),this.setVisualTranspose=function(T){T!==void 0&&(S.visualTranspose=T)},this.cleanUp=function(T,C,A){u(S),delete S.runningFonts,n(S),S.metaText.tempo&&S.metaText.tempo.bpm&&!S.metaText.tempo.duration&&(S.metaText.tempo.duration=[S.getBeatLength()]),I(S);var B=!1,y,x,q;for(y=0;y0&&re[re.length-1].barNumber){var ye=_(S.lines,y);ye&&(ye.staff[0].barNumber=re[re.length-1].barNumber),delete re[re.length-1].barNumber}}}return delete S.staffNum,delete S.voiceNum,delete S.lineNum,delete S.potentialStartBeam,delete S.potentialEndBeam,delete S.vskipPending,A},this.addTieToLastNote=function(T){var C=h(S);return C&&C.pitches&&C.pitches.length>0?(C.pitches[0].startTie={},T&&(C.pitches[0].startTie.style="dotted"),!0):!1},this.appendElement=function(T,C,A,B){if(B.el_type=T,C!==null&&(B.startChar=C),A!==null&&(B.endChar=A),T==="note"){var y=f(B);y>=.25||B.force_end_beam_last&&S.potentialStartBeam!==void 0?k(S):B.end_beam&&S.potentialStartBeam!==void 0?B.rest===void 0?b(B,S):k(S):B.rest===void 0&&(S.potentialStartBeam===void 0?B.end_beam||(S.potentialStartBeam=B,delete S.potentialEndBeam):S.potentialEndBeam=B)}else k(S);return delete B.end_beam,delete B.force_end_beam_last,B.rest&&B.rest.type==="invisible"&&delete B.decoration,S.lines.length<=S.lineNum||S.lines[S.lineNum].staff.length<=S.staffNum?!1:(v(j,S,B,V,G),!0)},this.appendStartingElement=function(T,C,A,B){u(S);var y;T==="key"&&(y=B.impliedNaturals,delete B.impliedNaturals,delete B.explicitAccidentals);var x=Object.assign({},B);if(S.lines[S.lineNum]){var q=S.lines[S.lineNum].staff;if(q){q.length<=S.staffNum&&(q[S.staffNum]={},q[S.staffNum].clef=Object.assign({},q[0].clef),q[S.staffNum].key=Object.assign({},q[0].key),q[0].meter&&(q[S.staffNum].meter=Object.assign({},q[0].meter)),q[S.staffNum].workingClef=Object.assign({},q[0].workingClef),q[S.staffNum].voices=[[]]),T==="clef"&&(q[S.staffNum].workingClef=x);for(var L=q[S.staffNum].voices[S.voiceNum],Q=0;Q0){var A=C[C.length-1];if(A.el_type==="bar")A.barNumber!==void 0&&(A.barNumber=T);else return T-1}return T},this.hasBeginMusic=function(){for(var T=0;T=0;C--)if(S.lines[C].staff!==void 0)return!1;return!0},this.getCurrentVoice=function(){var T=m(S.lines,S.lineNum);if(!T)return null;var C=T.staff[S.staffNum];return C&&C.voices[S.voiceNum]!==void 0?C.voices[S.voiceNum]:null},this.setCurrentVoice=function(T,C,A){S.staffNum=T,S.voiceNum=C,G=A;for(var B=0;B0&&p.value[0].num.indexOf("+")>0&&(m=p.value[0].num),i.beatStarts=[],m){for(var _=i.noteTimings[i.noteTimings.length-1].millisecondsPerMeasure,h=i.lastMoment/_,f=m.split("+"),u=0;ui.currentEvent&&i.noteTimings[i.currentEvent].millisecondsi.currentLine&&i.lineEndTimings[i.currentLine].milliseconds=i.lastMoment)if(i.eventCallback){var h=i.eventCallback(null);i.shouldStop(h).then(function(f){f&&i.stop()})}else i.stop()}},i.shouldStop=function(s){return new Promise(function(d){if(!s)return d(!0);if(s==="continue")return d(!1);s.then&&s.then(function(p){d(p!=="continue")})})},i.doBeatCallback=function(s){if(i.beatCallback){for(var d=i.currentEvent;d=0&&i.noteTimings[d].left===null;)d--;m=i.noteTimings[d]}var _={},h={};if(m){_.top=m.top,_.height=m.height;var f=Math.max(0,s-i.startTime-m.milliseconds),u=p-m.milliseconds,l=m.endX-m.left,o=u?f*l/u:0;_.left=m.left+o,i.currentEvent===0&&m.milliseconds>s-i.startTime&&(_.left=void 0),h={timestamp:s,startTime:i.startTime,ev:m,endMs:p,offMs:f,offPx:o,gapMs:u,gapPx:l}}else h={timestamp:s,startTime:i.startTime};if(i.currentBeat<0||i.currentBeat>=i.beatStarts.length||!i.beatStarts[i.currentBeat]){var g={currentBeat:i.currentBeat,beatStartLength:i.beatStarts.length,totalBeats:i.totalBeats,startTime:i.startTime,currentTime:i.currentTime,lastMoment:i.lastMoment,lastTimestamp:i.lastTimestamp,qpm:i.qpm,millisecondsPerBeat:i.millisecondsPerBeat,beatSubdivisions:i.beatSubdivisions,currentEvent:i.currentEvent,currentLine:i.currentLine,isPaused:i.isPaused,isRunning:i.isRunning,pausedPercent:i.pausedPercent,justUnpaused:i.justUnpaused,newSeekPercent:i.newSeekPercent};setTimeout(function(){throw new Error("abcjs-timing-callback error: "+JSON.stringify(g))},1)}else{var v=i.startTime;if(i.beatCallback(i.beatStarts[i.currentBeat].b,i.totalBeats/i.beatSubdivisions,i.lastMoment,_,h),v!==i.startTime)return s-i.startTime}}return null};var c=60;i.animationJogger=function(){i.isRunning&&(i.doTiming(performance.now()),i.joggerTimer=setTimeout(i.animationJogger,c))},i.start=function(s,d){if(i.isRunning=!0,i.isPaused&&(i.isPaused=!1,s===void 0&&(i.justUnpaused=!0)),s)i.setProgress(s,d);else if(s===0)i.reset();else if(i.pausedPercent!==null){var p=performance.now();i.currentTime=i.lastMoment*i.pausedPercent,i.startTime=p-i.currentTime,i.pausedPercent=null,i.reportNext=!0}requestAnimationFrame(i.doTiming),i.joggerTimer=setTimeout(i.animationJogger,c)},i.pause=function(){i.isPaused=!0;var s=performance.now();i.pausedPercent=(s-i.startTime)/i.lastMoment,i.isRunning=!1,i.joggerTimer&&(clearTimeout(i.joggerTimer),i.joggerTimer=null)},i.currentMillisecond=function(){return i.currentTime},i.reset=function(){i.currentBeat=0,i.currentEvent=0,i.currentLine=0,i.startTime=null,i.pausedPercent=null},i.stop=function(){i.pause(),i.reset()},i.setProgress=function(s,d){var p;switch(d){case"seconds":i.currentTime=s*1e3,i.currentTime<0&&(i.currentTime=0),i.currentTime>i.lastMoment&&(i.currentTime=i.lastMoment),p=i.currentTime/i.lastMoment;break;case"beats":i.currentTime=s*i.millisecondsPerBeat*i.beatSubdivisions,i.currentTime<0&&(i.currentTime=0),i.currentTime>i.lastMoment&&(i.currentTime=i.lastMoment),p=i.currentTime/i.lastMoment;break;default:p=s,p<0&&(p=0),p>1&&(p=1),i.currentTime=i.lastMoment*p;break}i.isRunning||(i.pausedPercent=p);var m=performance.now();for(i.startTime=m-i.currentTime,i.currentEvent=0;i.noteTimings.length>i.currentEvent&&i.noteTimings[i.currentEvent].millisecondsi.currentLine&&i.lineEndTimings[i.currentLine].milliseconds+i.lineEndAnticipationi.currentTime);i.currentBeat++);i.currentBeat--,i.beatCallback&&_!==i.currentBeat&&(i.doBeatCallback(i.startTime+i.currentTime),i.currentBeat++),i.eventCallback&&i.currentEvent>=0&&i.noteTimings[i.currentEvent].type==="event"&&i.eventCallback(i.noteTimings[i.currentEvent]),i.lineEndCallback&&i.lineEndCallback(i.lineEndTimings[i.currentLine],i.noteTimings[i.currentEvent],{line:i.currentLine,endTimings:i.lineEndTimings}),i.joggerTimer=setTimeout(i.animationJogger,c)}};function a(r,n){for(var i=[],c=null,s=0;s=0&&a.lastIndexOf(r)===n},t.last=function(a){return a.length===0?null:a[a.length-1]},lu=t,lu}var du,th;function uu(){if(th)return du;th=1;var t=ir(),a={};return(function(){var r,n,i,c,s;a.initialize=function(y,x,q,L,Q){r=y,n=x,i=q,c=L,s=Q,d()};function d(){i.annotationfont={face:"Helvetica",size:12,weight:"normal",style:"normal",decoration:"none"},i.gchordfont={face:"Helvetica",size:12,weight:"normal",style:"normal",decoration:"none"},i.historyfont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},i.infofont={face:'"Times New Roman"',size:14,weight:"normal",style:"italic",decoration:"none"},i.measurefont={face:'"Times New Roman"',size:14,weight:"normal",style:"italic",decoration:"none"},i.partsfont={face:'"Times New Roman"',size:15,weight:"normal",style:"normal",decoration:"none"},i.repeatfont={face:'"Times New Roman"',size:13,weight:"normal",style:"normal",decoration:"none"},i.textfont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},i.tripletfont={face:"Times",size:11,weight:"normal",style:"italic",decoration:"none"},i.vocalfont={face:'"Times New Roman"',size:13,weight:"bold",style:"normal",decoration:"none"},i.wordsfont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},c.formatting.composerfont={face:'"Times New Roman"',size:14,weight:"normal",style:"italic",decoration:"none"},c.formatting.subtitlefont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},c.formatting.tempofont={face:'"Times New Roman"',size:15,weight:"bold",style:"normal",decoration:"none"},c.formatting.titlefont={face:'"Times New Roman"',size:20,weight:"normal",style:"normal",decoration:"none"},c.formatting.footerfont={face:'"Times New Roman"',size:12,weight:"normal",style:"normal",decoration:"none"},c.formatting.headerfont={face:'"Times New Roman"',size:12,weight:"normal",style:"normal",decoration:"none"},c.formatting.voicefont={face:'"Times New Roman"',size:13,weight:"bold",style:"normal",decoration:"none"},c.formatting.tablabelfont={face:'"Trebuchet MS"',size:16,weight:"normal",style:"normal",decoration:"none"},c.formatting.tabnumberfont={face:'"Arial"',size:11,weight:"normal",style:"normal",decoration:"none"},c.formatting.tabgracefont={face:'"Arial"',size:8,weight:"normal",style:"normal",decoration:"none"},c.formatting.annotationfont=i.annotationfont,c.formatting.gchordfont=i.gchordfont,c.formatting.historyfont=i.historyfont,c.formatting.infofont=i.infofont,c.formatting.measurefont=i.measurefont,c.formatting.partsfont=i.partsfont,c.formatting.repeatfont=i.repeatfont,c.formatting.textfont=i.textfont,c.formatting.tripletfont=i.tripletfont,c.formatting.vocalfont=i.vocalfont,c.formatting.wordsfont=i.wordsfont}var p={gchordfont:!0,measurefont:!0,partsfont:!0,annotationfont:!0,composerfont:!0,historyfont:!0,infofont:!0,subtitlefont:!0,textfont:!0,titlefont:!0,voicefont:!0},m=function(y){switch(y){case"Arial-Italic":return{face:"Arial",weight:"normal",style:"italic",decoration:"none"};case"Arial-Bold":return{face:"Arial",weight:"bold",style:"normal",decoration:"none"};case"Bookman-Demi":return{face:"Bookman,serif",weight:"bold",style:"normal",decoration:"none"};case"Bookman-DemiItalic":return{face:"Bookman,serif",weight:"bold",style:"italic",decoration:"none"};case"Bookman-Light":return{face:"Bookman,serif",weight:"normal",style:"normal",decoration:"none"};case"Bookman-LightItalic":return{face:"Bookman,serif",weight:"normal",style:"italic",decoration:"none"};case"Courier":return{face:'"Courier New"',weight:"normal",style:"normal",decoration:"none"};case"Courier-Oblique":return{face:'"Courier New"',weight:"normal",style:"italic",decoration:"none"};case"Courier-Bold":return{face:'"Courier New"',weight:"bold",style:"normal",decoration:"none"};case"Courier-BoldOblique":return{face:'"Courier New"',weight:"bold",style:"italic",decoration:"none"};case"AvantGarde-Book":return{face:"AvantGarde,Arial",weight:"normal",style:"normal",decoration:"none"};case"AvantGarde-BookOblique":return{face:"AvantGarde,Arial",weight:"normal",style:"italic",decoration:"none"};case"AvantGarde-Demi":case"Avant-Garde-Demi":return{face:"AvantGarde,Arial",weight:"bold",style:"normal",decoration:"none"};case"AvantGarde-DemiOblique":return{face:"AvantGarde,Arial",weight:"bold",style:"italic",decoration:"none"};case"Helvetica-Oblique":return{face:"Helvetica",weight:"normal",style:"italic",decoration:"none"};case"Helvetica-Bold":return{face:"Helvetica",weight:"bold",style:"normal",decoration:"none"};case"Helvetica-BoldOblique":return{face:"Helvetica",weight:"bold",style:"italic",decoration:"none"};case"Helvetica-Narrow":return{face:'"Helvetica Narrow",Helvetica',weight:"normal",style:"normal",decoration:"none"};case"Helvetica-Narrow-Oblique":return{face:'"Helvetica Narrow",Helvetica',weight:"normal",style:"italic",decoration:"none"};case"Helvetica-Narrow-Bold":return{face:'"Helvetica Narrow",Helvetica',weight:"bold",style:"normal",decoration:"none"};case"Helvetica-Narrow-BoldOblique":return{face:'"Helvetica Narrow",Helvetica',weight:"bold",style:"italic",decoration:"none"};case"Palatino-Roman":return{face:"Palatino",weight:"normal",style:"normal",decoration:"none"};case"Palatino-Italic":return{face:"Palatino",weight:"normal",style:"italic",decoration:"none"};case"Palatino-Bold":return{face:"Palatino",weight:"bold",style:"normal",decoration:"none"};case"Palatino-BoldItalic":return{face:"Palatino",weight:"bold",style:"italic",decoration:"none"};case"NewCenturySchlbk-Roman":return{face:'"New Century",serif',weight:"normal",style:"normal",decoration:"none"};case"NewCenturySchlbk-Italic":return{face:'"New Century",serif',weight:"normal",style:"italic",decoration:"none"};case"NewCenturySchlbk-Bold":return{face:'"New Century",serif',weight:"bold",style:"normal",decoration:"none"};case"NewCenturySchlbk-BoldItalic":return{face:'"New Century",serif',weight:"bold",style:"italic",decoration:"none"};case"Times":case"Times-Roman":case"Times-Narrow":case"Times-Courier":case"Times-New-Roman":return{face:'"Times New Roman"',weight:"normal",style:"normal",decoration:"none"};case"Times-Italic":case"Times-Italics":return{face:'"Times New Roman"',weight:"normal",style:"italic",decoration:"none"};case"Times-Bold":return{face:'"Times New Roman"',weight:"bold",style:"normal",decoration:"none"};case"Times-BoldItalic":return{face:'"Times New Roman"',weight:"bold",style:"italic",decoration:"none"};case"ZapfChancery-MediumItalic":return{face:'"Zapf Chancery",cursive,serif',weight:"normal",style:"normal",decoration:"none"};default:return null}},_=function(y,x,q,L,Q){function Z(){var Bt=parseInt(y[0].token);return y.shift(),x?y.length===0?{face:x.face,weight:x.weight,style:x.style,decoration:x.decoration,size:Bt}:y.length===1&&y[0].token==="box"&&p[Q]?{face:x.face,weight:x.weight,style:x.style,decoration:x.decoration,size:Bt,box:!0}:(n("Extra parameters in font definition.",q,L),{face:x.face,weight:x.weight,style:x.style,decoration:x.decoration,size:Bt}):(n("Can't set just the size of the font since there is no default value.",q,L),{face:'"Times New Roman"',weight:"normal",style:"normal",decoration:"none",size:Bt})}if(y[0].token==="*"){if(y.shift(),y[0].type==="number")return Z();n("Expected font size number after *.",q,L)}if(y[0].type==="number")return Z();for(var X=[],J,ve="normal",re="normal",Ae="none",ke=!1,Me="face",se=!1;y.length;){var je=y.shift(),ue=je.token.toLowerCase();switch(Me){case"face":se||ue!=="utf"&&je.type!=="number"&&ue!=="bold"&&ue!=="italic"&&ue!=="underline"&&ue!=="box"?X.length>0&&je.token==="-"?(se=!0,X[X.length-1]=X[X.length-1]+je.token):se?(se=!1,X[X.length-1]=X[X.length-1]+je.token):X.push(je.token):je.type==="number"?(J?n("Font size specified twice in font definition.",q,L):J=je.token,Me="modifier"):ue==="bold"?ve="bold":ue==="italic"?re="italic":ue==="underline"?Ae="underline":ue==="box"?(p[Q]?ke=!0:n(`This font style doesn't support "box"`,q,L),Me="finished"):ue==="utf"?(je=y.shift(),Me="size"):n("Unknown parameter "+je.token+" in font definition.",q,L);break;case"size":je.type==="number"?J?n("Font size specified twice in font definition.",q,L):J=je.token:n("Expected font size in font definition.",q,L),Me="modifier";break;case"modifier":ue==="bold"?ve="bold":ue==="italic"?re="italic":ue==="underline"?Ae="underline":ue==="box"?(p[Q]?ke=!0:n(`This font style doesn't support "box"`,q,L),Me="finished"):n("Unknown parameter "+je.token+" in font definition.",q,L);break;case"finished":n('Extra characters found after "box" in font definition.',q,L);break}}J===void 0?x?J=x.size:(n("Must specify the size of the font since there is no default value.",q,L),J=12):J=parseFloat(J),X=X.join(" "),X===""&&(x?X=x.face:(n("Must specify the name of the font since there is no default value.",q,L),X="sans-serif"));var Oe=m(X),Ze={};return Oe?(Ze.face=Oe.face,Ze.weight=Oe.weight,Ze.style=Oe.style,Ze.decoration=Oe.decoration,Ze.size=J,ke&&(Ze.box=!0),Ze):(Ze.face=X,Ze.weight=ve,Ze.style=re,Ze.decoration=Ae,Ze.size=J,ke&&(Ze.box=!0),Ze)},h=function(y,x,q){return x.length===0?'Directive "'+y+'" requires a font as a parameter.':(i[y]=_(x,i[y],q,0,y),i.is_in_header&&(c.formatting[y]=i[y]),null)},f=function(y,x,q){return x.length===0?'Directive "'+y+'" requires a font as a parameter.':(c.formatting[y]=_(x,c.formatting[y],q,0,y),null)},u=function(y,x){var q="";x.forEach(function(Q){q+=Q.token});var L=parseFloat(q);if(isNaN(L)||L===0)return'Directive "'+y+'" requires a number as a parameter.';c.formatting.scale=L},l=["acoustic-bass-drum","bass-drum-1","side-stick","acoustic-snare","hand-clap","electric-snare","low-floor-tom","closed-hi-hat","high-floor-tom","pedal-hi-hat","low-tom","open-hi-hat","low-mid-tom","hi-mid-tom","crash-cymbal-1","high-tom","ride-cymbal-1","chinese-cymbal","ride-bell","tambourine","splash-cymbal","cowbell","crash-cymbal-2","vibraslap","ride-cymbal-2","hi-bongo","low-bongo","mute-hi-conga","open-hi-conga","low-conga","high-timbale","low-timbale","high-agogo","low-agogo","cabasa","maracas","short-whistle","long-whistle","short-guiro","long-guiro","claves","hi-wood-block","low-wood-block","mute-cuica","open-cuica","mute-triangle","open-triangle"],o=function(y){var x=y.split(/\s+/);if(x.length!==2&&x.length!==3)return{error:'Expected parameters "abc-note", "drum-sound", and optionally "note-head"'};var q=x[0],L=parseInt(x[1],10);if((isNaN(L)||L<35||L>81)&&x[1]&&(L=l.indexOf(x[1].toLowerCase())+35),isNaN(L)||L<35||L>81)return{error:'Expected drum name, received "'+x[1]+'"'};var Q={sound:L};return x.length===3&&(Q.noteHead=x[2]),{key:q,value:Q}},g=function(y,x){var q=r.getMeasurement(x);return q.used===0||x.length!==0?{error:'Directive "'+y+'" requires a measurement as a parameter.'}:q.value},v=function(y,x){var q=r.getMeasurement(x);return q.used===0||x.length!==0?'Directive "'+y+'" requires a measurement as a parameter.':(c.formatting[y]=q.value,null)},b=function(y,x,q,L,Q){if(q.length!==1||q[0].type!=="number")return'Directive "'+x+'" requires a number as a parameter.';var Z=q[0].intt;return L!==void 0&&ZQ?'Directive "'+x+'" requires a number less than or equal to '+Q+" as a parameter.":(i[y]=Z,null)},k=function(y,x,q){if(q.length===1&&(q[0].token==="true"||q[0].token==="false"))return i[y]=q[0].token==="true",null;var L=b(y,x,q,0,1);return L!==null?L:(i[y]=i[y]===1,null)},w=function(y,x,q,L){if(q.length!==1)return'Directive "'+x+'" requires one of [ '+L.join(", ")+" ] as a parameter.";for(var Q=q[0].token,Z=!1,X=0;!Z&&X=0)y.length!==0&&n("Unexpected parameter in MIDI "+L,q,0);else if(N.indexOf(L)>=0)y.length!==1?n("Expected one parameter in MIDI "+L,q,0):Q.push(y[0].token);else if(R.indexOf(L)>=0)y.length!==1?n("Expected one parameter in MIDI "+L,q,0):y[0].type!=="number"?n("Expected one integer parameter in MIDI "+L,q,0):Q.push(y[0].intt);else if(F.indexOf(L)>=0)y.length!==1&&y.length!==2?n("Expected one or two parameters in MIDI "+L,q,0):y[0].type!=="number"||y.length===2&&y[1].type!=="number"?n("Expected integer parameter in MIDI "+L,q,0):(Q.push(y[0].intt),y.length===2&&Q.push(y[1].intt));else if(D.indexOf(L)>=0)y.length!==2?n("Expected two parameters in MIDI "+L,q,0):y[0].type!=="number"||y[1].type!=="number"?n("Expected two integer parameters in MIDI "+L,q,0):(Q.push(y[0].intt),Q.push(y[1].intt));else if(E.indexOf(L)>=0)y.length!==2?n("Expected two parameters in MIDI "+L,q,0):y[0].type!=="alpha"||y[1].type!=="number"?n("Expected one string and one integer parameters in MIDI "+L,q,0):(Q.push(y[0].token),Q.push(y[1].intt));else if(L==="drummap")y.length===2&&y[0].type==="alpha"&&y[1].type==="number"?(x.formatting||(x.formatting={}),x.formatting.midi||(x.formatting.midi={}),x.formatting.midi.drummap||(x.formatting.midi.drummap={}),x.formatting.midi.drummap[y[0].token]=y[1].intt,Q=x.formatting.midi.drummap):y.length===3&&y[0].type==="punct"&&y[1].type==="alpha"&&y[2].type==="number"?(x.formatting||(x.formatting={}),x.formatting.midi||(x.formatting.midi={}),x.formatting.midi.drummap||(x.formatting.midi.drummap={}),x.formatting.midi.drummap[y[0].token+y[1].token]=y[2].intt,Q=x.formatting.midi.drummap):n("Expected one note name and one integer parameter in MIDI "+L,q,0);else if(V.indexOf(L)>=0)y.length!==3||y[0].type!=="number"||y[1].token!=="/"||y[2].type!=="number"?n("Expected fraction parameter in MIDI "+L,q,0):(Q.push(y[0].intt),Q.push(y[2].intt));else if(I.indexOf(L)>=0)y.length!==4?n("Expected four parameters in MIDI "+L,q,0):y[0].type!=="number"||y[1].type!=="number"||y[2].type!=="number"||y[3].type!=="number"?n("Expected four integer parameters in MIDI "+L,q,0):(Q.push(y[0].intt),Q.push(y[1].intt),Q.push(y[2].intt),Q.push(y[3].intt));else if(S.indexOf(L)>=0)y.length!==5?n("Expected five parameters in MIDI "+L,q,0):y[0].type!=="number"||y[1].type!=="number"||y[2].type!=="number"||y[3].type!=="number"||y[4].type!=="number"?n("Expected five integer parameters in MIDI "+L,q,0):(Q.push(y[0].intt),Q.push(y[1].intt),Q.push(y[2].intt),Q.push(y[3].intt),Q.push(y[4].intt));else if(F.indexOf(L)>=0)y.length!==1||y.length!==4?n("Expected one or two parameters in MIDI "+L,q,0):y[0].type!=="number"?n("Expected integer parameter in MIDI "+L,q,0):y.length===4?(y[1].token!=="octave"&&n("Expected octave parameter in MIDI "+L,q,0),y[2].token!=="="&&n("Expected octave parameter in MIDI "+L,q,0),y[3].type!=="number"&&n("Expected integer parameter for octave in MIDI "+L,q,0)):(Q.push(y[0].intt),y.length===4&&Q.push(y[3].intt));else if(G.indexOf(L)>=0)if(y.length<2)n("Expected string parameter and at least one integer parameter in MIDI "+L,q,0);else if(y[0].type!=="alpha")n("Expected string parameter and at least one integer parameter in MIDI "+L,q,0);else{var Z=y.shift();for(Q.push(Z.token);y.length>0;)Z=y.shift(),Z.type!=="number"&&n("Expected integer parameter in MIDI "+L,q,0),Q.push(Z.intt)}else if($.indexOf(L)>=0){if(y.length!==1&&y.length!==2)n("Expected one or two parameters in MIDI "+L,q,0);else if(y[0].type!=="number")n("Expected integer parameter in MIDI "+L,q,0);else if(y.length===2&&y[1].type!=="alpha")n("Expected alpha parameter in MIDI "+L,q,0);else if(Q.push(y[0].intt),y.length===2){var X=y[1].token;X.indexOf("octave=")!=-1?(X=X.replace("octave=",""),X=parseInt(X),isNaN(X)?n("Expected octave value in MIDI"+L):(X<-1&&(n("Expected octave= in MIDI "+L+" to be >= -1 (recv:"+X+")"),X=-1),X>3&&(n("Expected octave= in MIDI "+L+" to be <= 3 (recv:"+X+")"),X=3),Q.push(X))):n("Expected octave= in MIDI"+L)}}s.hasBeginMusic()?s.appendElement("midi",-1,-1,{cmd:L,params:Q}):(x.formatting.midi===void 0&&(x.formatting.midi={}),x.formatting.midi[L]=Q)};a.parseFontChangeLine=function(y){y=y.replace(/\$\$/g,"");var x=y.split("$");if(x.length>1&&i.setfont){var q=[];x[0]!==""&&q.push({text:x[0]});for(var L=1;L0&&i.ignoredDecorations.push(q.substring(0,q.indexOf(" "))),n("Decoration redefinition ignored",y,0);break;case"text":var Ze=r.translateString(q);s.addText(a.parseFontChangeLine(Ze),{startChar:i.iChar,endChar:i.iChar+q.length+7});break;case"center":var Bt=r.translateString(q);s.addCentered(a.parseFontChangeLine(Bt));break;case"font":break;case"setfont":var ht=r.tokenize(q,0,q.length);if(ht.length>=4&&ht[0].token==="-"&&ht[1].type==="number"){var Ot=parseInt(ht[1].token);Ot>=1&&Ot<=9&&(i.setfont||(i.setfont=[]),ht.shift(),ht.shift(),i.setfont[Ot]=_(ht,i.setfont[Ot],y,0,"setfont"))}break;case"gchordfont":case"partsfont":case"tripletfont":case"vocalfont":case"textfont":case"annotationfont":case"historyfont":case"infofont":case"measurefont":case"repeatfont":case"wordsfont":return h(L,x,y);case"composerfont":case"subtitlefont":case"tempofont":case"titlefont":case"voicefont":case"footerfont":case"headerfont":return f(L,x,y);case"barlabelfont":case"barnumberfont":case"barnumfont":return h("measurefont",x,y);case"staves":case"score":i.score_is_present=!0;for(var Ct=function(_i,An,Xa,ui,Ni){(An||i.staves.length===0)&&i.staves.push({index:i.staves.length,numVoices:0});var oi=t.last(i.staves);Xa!==void 0&&oi.bracket===void 0&&(oi.bracket=Xa),ui!==void 0&&oi.brace===void 0&&(oi.brace=ui),Ni&&(oi.connectBarLines="end"),i.voices[_i]===void 0&&(i.voices[_i]={staffNum:oi.index,index:oi.numVoices},oi.numVoices++)},at=!1,ie=!1,fe=!1,te=!1,ce=!1,_e=!1,Fe=!1,Ge,Ke=function(){if(Fe=!0,Ge){var _i="start";Ge.staffNum>0&&(i.staves[Ge.staffNum-1].connectBarLines==="start"||i.staves[Ge.staffNum-1].connectBarLines==="continue")&&(_i="continue"),i.staves[Ge.staffNum].connectBarLines=_i}};x.length;){var we=x.shift();switch(we.token){case"(":at?n("Can't nest parenthesis in %%score",y,we.start):(at=!0,te=!0);break;case")":!at||te?n("Unexpected close parenthesis in %%score",y,we.start):at=!1;break;case"[":ie?n("Can't nest brackets in %%score",y,we.start):(ie=!0,ce=!0);break;case"]":!ie||ce?n("Unexpected close bracket in %%score",y,we.start):(ie=!1,i.staves[Ge.staffNum].bracket="end");break;case"{":fe?n("Can't nest braces in %%score",y,we.start):(fe=!0,_e=!0);break;case"}":!fe||_e?n("Unexpected close brace in %%score",y,we.start):(fe=!1,i.staves[Ge.staffNum].brace="end");break;case"|":Ke();break;default:for(var Ee="";(we.type==="alpha"||we.type==="number")&&(Ee+=we.token,we.continueId);)we=x.shift();var lt=!at||te,Yt=ce?"start":ie?"continue":void 0,Re=_e?"start":fe?"continue":void 0;Ct(Ee,lt,Yt,Re,Fe),te=!1,ce=!1,_e=!1,Fe=!1,Ge=i.voices[Ee],L==="staves"&&Ke();break}}break;case"maxstaves":var pt=r.getInt(q);pt.digits===0?n("Expected number of staves in maxstaves"):pt.value>0&&(c.formatting.maxStaves=pt.value);break;case"newpage":var fa=r.getInt(q);s.addNewPage(fa.digits===0?-1:fa.value);break;case"abc":var wt=q.split(" ");switch(wt[0]){case"-copyright":case"-creator":case"-edited-by":case"-version":case"-charset":var hi=wt.shift();s.addMetaText(L+hi,wt.join(" "),{startChar:i.iChar,endChar:i.iChar+q.length+5});break;default:return"Unknown directive: "+L+wt[0]}break;case"header":case"footer":var Sa=r.getMeat(q,0,q.length);Sa=q.substring(Sa.start,Sa.end),Sa[0]==='"'&&Sa[Sa.length-1]==='"'&&(Sa=Sa.substring(1,Sa.length-1));var Ca=Sa.split(" "),ha={};Ca.length===1?ha={left:"",center:Ca[0],right:""}:Ca.length===2?ha={left:Ca[0],center:Ca[1],right:""}:ha={left:Ca[0],center:Ca[1],right:Ca[2]},Ca.length>3&&n("Too many tabs in "+L+": "+Ca.length+" found.",q,0),s.addMetaTextObj(L,ha,{startChar:i.iChar,endChar:i.iChar+y.length});break;case"midi":var La=r.tokenize(q,0,q.length,!0);La.length>0&&La[0].token==="="&&La.shift(),La.length===0?n("Expected midi command",q,0):C(La,c,q);break;case"percmap":var ta=o(q);ta.error?n(ta.error,y,8):(c.formatting.percmap||(c.formatting.percmap={}),c.formatting.percmap[ta.key]=ta.value);break;case"visualtranspose":var di=r.getInt(q);di.digits===0?n("Expected number of half steps in visualTranspose"):i.globalTranspose=di.value;break;case"map":case"playtempo":case"auquality":case"continuous":case"nobarcheck":c.formatting[L]=q;break;default:return"Unknown directive: "+L}return null},a.globalFormatting=function(y){for(var x in y)if(y.hasOwnProperty(x)){var q=""+y[x],L=r.tokenize(q,0,q.length),Q;switch(x){case"titlefont":case"gchordfont":case"composerfont":case"footerfont":case"headerfont":case"historyfont":case"infofont":case"measurefont":case"partsfont":case"repeatfont":case"subtitlefont":case"tempofont":case"textfont":case"voicefont":case"tripletfont":case"vocalfont":case"wordsfont":case"annotationfont":case"tablabelfont":case"tabnumberfont":case"tabgracefont":h(x,L,q);break;case"scale":u(x,L);break;case"partsbox":Q=k("partsBox",x,L),Q!==null&&n(Q),i.partsfont.box=i.partsBox;break;case"freegchord":Q=k("freegchord",x,L),Q!==null&&n(Q);break;case"fontboxpadding":(L.length!==1||L[0].type!=="number")&&n('Directive "'+x+'" requires a number as a parameter.'),c.formatting.fontboxpadding=L[0].floatt;break;case"stafftopmargin":(L.length!==1||L[0].type!=="number")&&n('Directive "'+x+'" requires a number as a parameter.'),c.formatting.stafftopmargin=L[0].floatt;break;case"stretchlast":var Z=P(L);if(Z.value!==void 0&&(c.formatting.stretchlast=Z.value),Z.error)return Z.error;break;default:n("Formatting directive unrecognized: ",x,0)}}};function P(y){if(y.length===0)return{value:1};if(y.length===1)if(y[0].type==="number"){if(y[0].floatt>=0||y[0].floatt<=1)return{value:y[0].floatt}}else{if(y[0].token==="false")return{value:0};if(y[0].token==="true")return{value:1}}return{error:"Directive stretchlast requires zero or one parameter: false, true, or number between 0 and 1 (received "+y[0].token+")"}}})(),du=a,du}var fu,ah;function u4(){if(ah)return fu;ah=1;var t={};const a=["C,,,","D,,,","E,,,","F,,,","G,,,","A,,,","B,,,","C,,","D,,","E,,","F,,","G,,","A,,","B,,","C,","D,","E,","F,","G,","A,","B,","C","D","E","F","G","A","B","c","d","e","f","g","a","b","c'","d'","e'","f'","g'","a'","b'","c''","d''","e''","f''","g''","a''","b''","c'''","d'''","e'''","f'''","g'''","a'''","b'''"];return t.pitchIndex=function(r){return a.indexOf(r)},t.noteName=function(r){return a[r]},fu=t,fu}var pu,ih;function nh(){if(ih)return pu;ih=1;var t=["C","C♯","D","D♯","E","F","F♯","G","G♯","A","A♯","B"],a=["C","D♭","D","E♭","E","F","G♭","G","A♭","A","B♭","B"],r=["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"],n=["C","Db","D","Eb","E","F","Gb","G","Ab","A","Bb","B"];function i(c,s,d,p){if(!s||s%12===0)return c;for(;s<0;)s+=12;s>11&&(s=s%12);var m=c.match(/^([A-G][b#♭♯]?)([^\/]+)?\/?([A-G][b#♭♯]?)?(.+)?/);if(!m)return c;var _=m[1],h=m[2],f=m[3],u=m[4],l=t.indexOf(_);if(l<0&&(l=a.indexOf(_)),l<0&&(l=r.indexOf(_)),l<0&&(l=n.indexOf(_)),l<0)return c;l+=s,l=l%12,d?p?c=n[l]:c=a[l]:p?c=r[l]:c=t[l];var o=h&&(h.indexOf("dim")>=0||h.indexOf("°")>=0);if(o&&c==="A#"&&(c="Bb"),o&&c==="D#"&&(c="Eb"),o&&c==="A♯"&&(c="B♭"),o&&c==="D♯"&&(c="E♭"),h&&(c+=h),f){var l=t.indexOf(f);l<0&&(l=a.indexOf(f)),l<0&&(l=r.indexOf(f)),l<0&&(l=n.indexOf(f)),c+="/",l>=0?(l+=s,l=l%12,d?p?c+=n[l]:c+=a[l]:p?c+=r[l]:c+=t[l]):c+=f}return u&&(c+=u),c}return pu=i,pu}var mu,rh;function sh(){if(rh)return mu;rh=1;var t={C:{modes:["CMaj","CIon","Amin","AAeo","Am","GMix","DDor","EPhr","FLyd","BLoc"],stepsFromC:0},Db:{modes:["DbMaj","DbIon","Bbmin","BbAeo","Bbm","AbMix","EbDor","FPhr","GbLyd","CLoc"],stepsFromC:1},D:{modes:["DMaj","DIon","Bmin","BAeo","Bm","AMix","EDor","F#Phr","GLyd","C#Loc"],stepsFromC:2},Eb:{modes:["EbMaj","EbIon","Cmin","CAeo","Cm","BbMix","FDor","GPhr","AbLyd","DLoc"],stepsFromC:3},E:{modes:["EMaj","EIon","C#min","C#Aeo","C#m","BMix","F#Dor","G#Phr","ALyd","D#Loc"],stepsFromC:4},F:{modes:["FMaj","FIon","Dmin","DAeo","Dm","CMix","GDor","APhr","BbLyd","ELoc"],stepsFromC:5},Gb:{modes:["GbMaj","GbIon","Ebmin","EbAeo","Ebm","DbMix","AbDor","BbPhr","CbLyd","FLoc"],stepsFromC:6},G:{modes:["GMaj","GIon","Emin","EAeo","Em","DMix","ADor","BPhr","CLyd","F#Loc"],stepsFromC:7},Ab:{modes:["AbMaj","AbIon","Fmin","FAeo","Fm","EbMix","BbDor","CPhr","DbLyd","GLoc"],stepsFromC:8},A:{modes:["AMaj","AIon","F#min","F#Aeo","F#m","EMix","BDor","C#Phr","DLyd","G#Loc"],stepsFromC:9},Bb:{modes:["BbMaj","BbIon","Gmin","GAeo","Gm","FMix","CDor","DPhr","EbLyd","ALoc"],stepsFromC:10},B:{modes:["BMaj","BIon","G#min","G#Aeo","G#m","F#Mix","C#Dor","D#Phr","ELyd","A#Loc"],stepsFromC:11},"C#":{modes:["C#Maj","C#Ion","A#min","A#Aeo","A#m","G#Mix","D#Dor","E#Phr","F#Lyd","B#Loc"],stepsFromC:1},"F#":{modes:["F#Maj","F#Ion","D#min","D#Aeo","D#m","C#Mix","G#Dor","A#Phr","BLyd","E#Loc"],stepsFromC:6},Cb:{modes:["CbMaj","CbIon","Abmin","AbAeo","Abm","GbMix","DbDor","EbPhr","FbLyd","BbLoc"],stepsFromC:11}},a=["maj","ion","min","aeo","m","mix","dor","phr","lyd","loc"];function r(p){return a.indexOf(p.toLowerCase())>=0}var n=null;function i(){n={};for(var p=Object.keys(t),m=0;m11&&(T=T%12);var N=u[0]==="m"?s[T]:c[T],R=N+u,F=r(R);(F.length===0||F[0].acc==="flat")&&(f.localTransposePreferFlats=!0);var D=R.charCodeAt(0)-b.charCodeAt(0);return f.localTranspose>0?(D<0||D===0&&(b[1]==="#"||R[1]==="b"))&&(D+=7):f.localTranspose<0&&(D>0||D===0&&(b[1]==="b"||R[1]==="#"))&&(D-=7),f.localTranspose>0?f.localTransposeVerticalMovement=D+Math.floor(f.localTranspose/12)*7:f.localTransposeVerticalMovement=D+Math.ceil(f.localTranspose/12)*7,w?{accidentals:F,root:N[0],acc:N.length>1?N[1]:""}:{accidentals:[],root:l,acc:o}},n.chordName=function(f,u){return a(u,f.localTranspose,f.localTransposePreferFlats,f.freegchord)};var d=["c","d","e","f","g","a","b"];function p(f,u,l,o,g){for(var v=d[(f+49)%7],b=0,k=0;k2&&(u++,D-=N==="b"||N==="e"?1:2),[u,D]}var m={dblflat:-2,flat:-1,natural:0,sharp:1,dblsharp:2},_={"-2":"dblflat","-1":"flat",0:"natural",1:"sharp",2:"dblsharp"},h={"-2":"__","-1":"_",0:"=",1:"^",2:"^^"};return n.note=function(f,u){if(!(!f.localTranspose||f.clef.type==="perc")){var l=u.pitch;if(f.localTransposeVerticalMovement&&(u.pitch=u.pitch+f.localTransposeVerticalMovement,u.name)){var o=u.accidental?u.name.substring(1):u.name,g=u.accidental?u.name[0]:"",v=t.pitchIndex(o);u.name=g+t.noteName(v+f.localTransposeVerticalMovement)}if(u.accidental){var b=p(l,u.pitch,u.accidental,f.globalTransposeOrigKeySig,f.targetKey);u.pitch=b[0],u.accidental=_[b[1]],u.name&&(u.name=h[b[1]]+u.name.replace(/[_^=]/g,""))}}},hu=n,hu}var _u,uh;function vu(){if(uh)return _u;uh=1;var t=uu(),a=dh(),r={};return(function(){var n,i,c,s;r.initialize=function(l,o,g,v,b){n=l,i=o,c=g,s=b},r.standardKey=function(l,o,g,v){return a.keySignature(c,l,o,g,v)};var d={treble:{clef:"treble",pitch:4,mid:0},"treble+8":{clef:"treble+8",pitch:4,mid:0},"treble-8":{clef:"treble-8",pitch:4,mid:0},"treble^8":{clef:"treble+8",pitch:4,mid:0},treble_8:{clef:"treble-8",pitch:4,mid:0},treble1:{clef:"treble",pitch:2,mid:2},treble2:{clef:"treble",pitch:4,mid:0},treble3:{clef:"treble",pitch:6,mid:-2},treble4:{clef:"treble",pitch:8,mid:-4},treble5:{clef:"treble",pitch:10,mid:-6},perc:{clef:"perc",pitch:6,mid:0},none:{clef:"none",mid:0},bass:{clef:"bass",pitch:8,mid:-12},"bass+8":{clef:"bass+8",pitch:8,mid:-12},"bass-8":{clef:"bass-8",pitch:8,mid:-12},"bass^8":{clef:"bass+8",pitch:8,mid:-12},bass_8:{clef:"bass-8",pitch:8,mid:-12},"bass+16":{clef:"bass",pitch:8,mid:-12},"bass-16":{clef:"bass",pitch:8,mid:-12},"bass^16":{clef:"bass",pitch:8,mid:-12},bass_16:{clef:"bass",pitch:8,mid:-12},bass1:{clef:"bass",pitch:2,mid:-6},bass2:{clef:"bass",pitch:4,mid:-8},bass3:{clef:"bass",pitch:6,mid:-10},bass4:{clef:"bass",pitch:8,mid:-12},bass5:{clef:"bass",pitch:10,mid:-14},tenor:{clef:"alto",pitch:8,mid:-8},tenor1:{clef:"alto",pitch:2,mid:-2},tenor2:{clef:"alto",pitch:4,mid:-4},tenor3:{clef:"alto",pitch:6,mid:-6},tenor4:{clef:"alto",pitch:8,mid:-8},tenor5:{clef:"alto",pitch:10,mid:-10},alto:{clef:"alto",pitch:6,mid:-6},alto1:{clef:"alto",pitch:2,mid:-2},alto2:{clef:"alto",pitch:4,mid:-4},alto3:{clef:"alto",pitch:6,mid:-6},alto4:{clef:"alto",pitch:8,mid:-8},alto5:{clef:"alto",pitch:10,mid:-10},"alto+8":{clef:"alto+8",pitch:6,mid:-6},"alto-8":{clef:"alto-8",pitch:6,mid:-6},"alto^8":{clef:"alto+8",pitch:6,mid:-6},alto_8:{clef:"alto-8",pitch:6,mid:-6}},p=function(l,o){var g=d[l],v=g?g.mid:0;return v+o};r.fixClef=function(l){var o=d[l.type];o&&(l.clefPos=o.pitch,l.type=o.clef)},r.deepCopyKey=function(l){var o={accidentals:[],root:l.root,acc:l.acc,mode:l.mode};return l.accidentals.forEach(function(g){o.accidentals.push(Object.assign({},g))}),l.explicitAccidentals&&(o.explicitAccidentals=[],l.explicitAccidentals.forEach(function(g){o.explicitAccidentals.push(Object.assign({},g))})),o};var m=function(){c.currentVoice&&(c.currentVoice.key=r.deepCopyKey(c.key))},_={A:5,B:6,C:0,D:1,E:2,F:3,G:4,a:12,b:13,c:7,d:8,e:9,f:10,g:11};r.addPosToKey=function(l,o){var g=l.verticalPos;o.accidentals.forEach(function(v){var b=_[v.note];b=b-g,v.verticalPos=b}),o.impliedNaturals&&o.impliedNaturals.forEach(function(v){var b=_[v.note];b=b-g,v.verticalPos=b}),g<-10?(o.accidentals.forEach(function(v){v.verticalPos-=7,(v.verticalPos>=11||v.verticalPos===10&&v.acc==="flat")&&(v.verticalPos-=7),v.note==="A"&&v.acc==="sharp"&&(v.verticalPos-=7),(v.note==="G"||v.note==="F")&&v.acc==="flat"&&(v.verticalPos-=7)}),o.impliedNaturals&&o.impliedNaturals.forEach(function(v){v.verticalPos-=7,(v.verticalPos>=11||v.verticalPos===10&&v.acc==="flat")&&(v.verticalPos-=7),v.note==="A"&&v.acc==="sharp"&&(v.verticalPos-=7),(v.note==="G"||v.note==="F")&&v.acc==="flat"&&(v.verticalPos-=7)})):g<-4?(o.accidentals.forEach(function(v){v.verticalPos-=7,g===-8&&(v.note==="f"||v.note==="g")&&v.acc==="sharp"&&(v.verticalPos-=7)}),o.impliedNaturals&&o.impliedNaturals.forEach(function(v){v.verticalPos-=7,g===-8&&(v.note==="f"||v.note==="g")&&v.acc==="sharp"&&(v.verticalPos-=7)})):g>=7&&(o.accidentals.forEach(function(v){v.verticalPos+=7}),o.impliedNaturals&&o.impliedNaturals.forEach(function(v){v.verticalPos+=7}))},r.fixKey=function(l,o){var g=Object.assign({},o);return r.addPosToKey(l,g),g};var h=function(l){var o=0,g=l[o++];(g==="^"||g==="_")&&(g=l[o++]);var v=_[g];for(v===void 0&&(v=6);o0){v.foundKey=!0;var k="",w="";g[0].token.length>1?g[0].token=g[0].token.substring(1):g.shift();var T=b.token;if(g.length>0){var N=n.getSharpFlat(g[0].token);if(N.len>0&&(g[0].token.length>1?g[0].token=g[0].token.substring(1):g.shift(),T+=N.token,k=N.token),g.length>0){var R=n.getMode(g[0].token);R.len>0&&(g.shift(),T+=R.token,w=R.token)}if(r.standardKey(T,b.token,k,0)===void 0)return i("Unsupported key signature: "+T,l,0),v}var F=r.deepCopyKey(c.key),D=!o&&c.globalTranspose?-c.globalTranspose:0,I;if(o&&(I=c.globalTransposeOrigKeySig),c.key=r.deepCopyKey(r.standardKey(T,b.token,k,D)),o&&(c.globalTransposeOrigKeySig=I),c.key.mode=w,F&&c.keywarn!==!1){for(var S,E=0;E0;)switch(g[0].token){case"m":case"middle":if(g.shift(),g.length===0)return i("Expected = after middle",l,0),v;if(P=g.shift(),P.token!=="="){i("Expected = after middle",l,P.start);break}if(g.length===0)return i("Expected parameter after middle=",l,0),v;var y=n.getPitchFromTokens(g);y.warn&&i(y.warn,l,0),y.position&&(c.clef.verticalPos=y.position-6);break;case"transpose":if(g.shift(),g.length===0)return i("Expected = after transpose",l,0),v;if(P=g.shift(),P.token!=="="){i("Expected = after transpose",l,P.start);break}if(g.length===0)return i("Expected parameter after transpose=",l,0),v;if(g[0].type!=="number"){i("Expected number after transpose",l,g[0].start);break}c.clef.transpose=g[0].intt,g.shift();break;case"stafflines":if(g.shift(),g.length===0)return i("Expected = after stafflines",l,0),v;if(P=g.shift(),P.token!=="="){i("Expected = after stafflines",l,P.start);break}if(g.length===0)return i("Expected parameter after stafflines=",l,0),v;if(g[0].type!=="number"){i("Expected number after stafflines",l,g[0].start);break}c.clef.stafflines=g[0].intt,g.shift();break;case"staffscale":if(g.shift(),g.length===0)return i("Expected = after staffscale",l,0),v;if(P=g.shift(),P.token!=="="){i("Expected = after staffscale",l,P.start);break}if(g.length===0)return i("Expected parameter after staffscale=",l,0),v;if(g[0].type!=="number"){i("Expected number after staffscale",l,g[0].start);break}c.clef.staffscale=g[0].floatt,g.shift();break;case"octave":if(g.shift(),g.length===0)return i("Expected = after octave",l,0),v;if(P=g.shift(),P.token!=="="){i("Expected = after octave",l,P.start);break}if(g.length===0)return i("Expected parameter after octave=",l,0),v;if(g[0].type!=="number"){i("Expected number after octave",l,g[0].start);break}c.octave=g[0].intt,g.shift();break;case"style":if(g.shift(),g.length===0)return i("Expected = after style",l,0),v;if(P=g.shift(),P.token!=="="){i("Expected = after style",l,P.start);break}if(g.length===0)return i("Expected parameter after style=",l,0),v;switch(g[0].token){case"normal":case"harmonic":case"rhythm":case"x":case"triangle":c.style=g[0].token,g.shift();break;default:i("error parsing style element: "+g[0].token,l,g[0].start);break}break;case"clef":if(g.shift(),g.length===0)return i("Expected = after clef",l,0),v;if(P=g.shift(),P.token!=="="){i("Expected = after clef",l,P.start);break}if(g.length===0)return i("Expected parameter after clef=",l,0),v;case"treble":case"bass":case"alto":case"tenor":case"perc":case"none":var x=g.shift();switch(x.token){case"treble":case"tenor":case"alto":case"bass":case"perc":case"none":break;case"C":x.token="alto";break;case"F":x.token="bass";break;case"G":x.token="treble";break;case"c":x.token="alto";break;case"f":x.token="bass";break;case"g":x.token="treble";break;default:i("Expected clef name. Found "+x.token,l,x.start);break}g.length>0&&g[0].type==="number"&&(x.token+=g[0].token,g.shift()),g.length>1&&(g[0].token==="-"||g[0].token==="+"||g[0].token==="^"||g[0].token==="_")&&g[1].token==="8"&&(x.token+=g[0].token+g[1].token,g.shift(),g.shift()),c.clef={type:x.token,verticalPos:p(x.token,0)},c.currentVoice&&c.currentVoice.transpose!==void 0&&(c.clef.transpose=c.currentVoice.transpose),v.foundClef=!0;break;default:i("Unknown parameter: "+g[0].token,l,g[0].start),g.shift()}return v};var u=function(l){var o=c.voices[l];if(!(c.currentVoice&&c.currentVoice.index===o.index&&c.currentVoice.staffNum===o.staffNum))return c.currentVoice=o,o.key?c.key=r.deepCopyKey(o.key):c.globalKey&&(c.key=r.deepCopyKey(c.globalKey)),s.setCurrentVoice(o.staffNum,o.index,l)};r.parseVoice=function(l,o,g){var v=n.getMeat(l,o,g),b=v.start,k=v.end,w=n.getToken(l,b,k);if(w.length===0){i("Expected a voice id",l,b);return}var T=!1;c.voices[w]===void 0&&(c.voices[w]={},T=!0,c.score_is_present&&i("Can't have an unknown V: id when the %score directive is present",l,b)),b+=w.length,b+=n.eatWhiteSpace(l,b);for(var N={startStaff:T},R=function(y){var x=n.getVoiceToken(l,b,k);x.warn!==void 0?i("Expected value for "+y+" in voice: "+x.warn,l,b):x.err!==void 0?i("Expected value for "+y+" in voice: "+x.err,l,b):x.token.length===0&&l[b]!=='"'?i("Expected value for "+y+" in voice",l,b):N[y]=x.token,b+=x.len},F=function(y,x,q){var L=n.getVoiceToken(l,b,k);L.warn!==void 0?i("Expected value for "+x+" in voice: "+L.warn,l,b):L.err!==void 0?i("Expected value for "+x+" in voice: "+L.err,l,b):L.token.length===0&&l[b]!=='"'?i("Expected value for "+x+" in voice",l,b):(L.token=parseFloat(L.token),c.voices[y][x]=L.token),b+=L.len},D=function(y,x){var q=n.getVoiceToken(l,b,k);if(q.warn!==void 0)i("Expected value for "+y+" in voice: "+q.warn,l,b);else if(q.err!==void 0)i("Expected value for "+y+" in voice: "+q.err,l,b);else if(q.token.length===0&&l[b]!=='"')i("Expected value for "+y+" in voice",l,b);else return q.token;b+=q.len},I=function(y,x){var q={_B:2,_E:9,_b:-10,_e:-3},L=n.getVoiceToken(l,b,k);if(L.warn!==void 0)i("Expected one of (_B, _E, _b, _e) for "+x+" in voice: "+L.warn,l,b);else if(L.token.length===0&&l[b]!=='"')i("Expected one of (_B, _E, _b, _e) for "+x+" in voice",l,b);else{var Q=q[L.token];Q?c.voices[y][x]=Q:i("Expected one of (_B, _E, _b, _e) for "+x+" in voice",l,b)}b+=L.len};b0&&(s.default_length=g/v,s.havent_set_length=!1)}else o.length===1&&o[0]==="1"&&(s.default_length=1,s.havent_set_length=!1)};var m={larghissimo:20,adagissimo:24,sostenuto:28,grave:32,largo:40,lento:50,larghetto:60,adagio:68,adagietto:74,andante:80,andantino:88,"marcia moderato":84,"andante moderato":100,moderato:112,allegretto:116,"allegro moderato":120,allegro:126,animato:132,agitato:140,veloce:148,"mosso vivo":156,vivace:164,vivacissimo:172,allegrissimo:176,presto:184,prestissimo:210};this.setTempo=function(h,f,u,l){try{var o=i.tokenize(h,f,u);if(o.length===0)throw"Missing parameter in Q: field";var g={startChar:l+f-2,endChar:l+u},v=!0,b=o.shift();if(b.type==="quote"&&(g.preString=b.token,b=o.shift(),o.length===0))return m[g.preString.toLowerCase()]&&(g.bpm=m[g.preString.toLowerCase()],g.suppressBpm=!0),{type:"immediate",tempo:g};if(b.type==="alpha"&&b.token==="C"){if(o.length===0)throw"Missing tempo after C in Q: field";if(b=o.shift(),b.type==="punct"&&b.token==="="){if(o.length===0)throw"Missing tempo after = in Q: field";if(b=o.shift(),b.type!=="number")throw"Expected number after = in Q: field";g.duration=[1],g.bpm=parseInt(b.token)}else if(b.type==="number"){if(g.duration=[parseInt(b.token)],o.length===0)throw"Missing = after duration in Q: field";if(b=o.shift(),b.type!=="punct"||b.token!=="=")throw"Expected = after duration in Q: field";if(o.length===0)throw"Missing tempo after = in Q: field";if(b=o.shift(),b.type!=="number")throw"Expected number after = in Q: field";g.bpm=parseInt(b.token)}else throw"Expected number or equal after C in Q: field"}else if(b.type==="number"){var k=parseInt(b.token);if(o.length===0||o[0].type==="quote")g.duration=[1],g.bpm=k;else{if(v=!1,b=o.shift(),b.type!=="punct"&&b.token!=="/"||(b=o.shift(),b.type!=="number"))throw"Expected fraction in Q: field";var w=parseInt(b.token);for(g.duration=[k/w];o.length>0&&o[0].token!=="="&&o[0].type!=="quote";){if(b=o.shift(),b.type!=="number"||(k=parseInt(b.token),b=o.shift(),b.type!=="punct"&&b.token!=="/")||(b=o.shift(),b.type!=="number"))throw"Expected fraction in Q: field";w=parseInt(b.token),g.duration.push(k/w)}if(b=o.shift(),b.type!=="punct"&&b.token!=="=")throw"Expected = in Q: field";if(b=o.shift(),b.type!=="number")throw"Expected tempo in Q: field";g.bpm=parseInt(b.token)}}else throw"Unknown value in Q: field";if(o.length!==0&&(b=o.shift(),b.type==="quote"&&(g.postString=b.token,b=o.shift()),o.length!==0))throw"Unexpected string at end of Q: field";return s.printTempo===!1&&(g.suppress=!0),{type:v?"delaySet":"immediate",tempo:g}}catch(T){return c(T,h,f),{type:"none"}}},this.letter_to_inline_header=function(h,f,u){var l=!1,o=i.eatWhiteSpace(h,f);if(f+=o,h.length>=f+5&&h[f]==="["&&h[f+2]===":"){var g=h.indexOf("]",f),v=s.iChar+f,b=s.iChar+g+1;switch(h.substring(f,f+3)){case"[I:":var k=a.addDirective(h.substring(f+3,g));return k&&c(k,h,f),[g-f+1+o];case"[M:":var w=this.setMeter(h.substring(f+3,g));return u&&s.currentVoice&&w?s.staves[s.currentVoice.staffNum].meter=w:p.hasBeginMusic()&&w?p.appendStartingElement("meter",v,b,w):s.meter=w,[g-f+1+o];case"[K:":var T=r.parseKey(h.substring(f+3,g),!0);return T.foundClef&&p.hasBeginMusic()&&p.appendStartingElement("clef",v,b,s.clef),T.foundKey&&p.hasBeginMusic()&&p.appendStartingElement("key",v,b,r.fixKey(s.clef,s.key)),[g-f+1+o];case"[P:":var N=a.parseFontChangeLine(h.substring(f+3,g));return u||d.lines.length<=d.lineNum?s.partForNextLine={title:N,startChar:v,endChar:b}:p.appendElement("part",v,b,{title:N}),[g-f+1+o];case"[L:":return this.setDefaultLength(h,f+3,g),[g-f+1+o];case"[Q:":if(g>0){var R=this.setTempo(h,f+3,g,s.iChar);return R.type==="delaySet"?p.hasBeginMusic()?p.appendElement("tempo",v,b,this.calcTempo(R.tempo)):s.tempoForNextLine=["tempo",v,b,this.calcTempo(R.tempo)]:R.type==="immediate"&&(!u&&p.hasBeginMusic()?p.appendElement("tempo",v,b,R.tempo):s.tempoForNextLine=["tempo",v,b,R.tempo]),[g-f+1+o,h[f+1],h.substring(f+3,g)]}break;case"[V:":if(g>0)return l=r.parseVoice(h,f+3,g),[g-f+1+o,h[f+1],h.substring(f+3,g),l];break;case"[r:":return[g-f+1+o]}}return[0]},this.letter_to_body_header=function(h,f){var u=!1;if(h.length>=f+3)switch(h.substring(f,f+2)){case"I:":var l=a.addDirective(h.substring(f+2));return l&&c(l,h,f),[h.length];case"M:":var o=this.setMeter(h.substring(f+2));return p.hasBeginMusic()&&o&&p.appendStartingElement("meter",s.iChar+f,s.iChar+h.length,o),[h.length];case"K:":var g=r.parseKey(h.substring(f+2),p.hasBeginMusic());return g.foundClef&&p.hasBeginMusic()&&s.keywarn!==!1&&p.appendStartingElement("clef",s.iChar+f,s.iChar+h.length,s.clef),g.foundKey&&p.hasBeginMusic()&&s.keywarn!==!1&&p.appendStartingElement("key",s.iChar+f,s.iChar+h.length,r.fixKey(s.clef,s.key)),[h.length];case"P:":return p.hasBeginMusic()&&p.appendElement("part",s.iChar+f,s.iChar+h.length,{title:h.substring(f+2)}),[h.length];case"L:":return this.setDefaultLength(h,f+2,h.length),[h.length];case"Q:":var v=h.indexOf("",f+2);v===-1&&(v=h.length);var b=this.setTempo(h,f+2,v,s.iChar);return b.type==="delaySet"?p.appendElement("tempo",s.iChar+f,s.iChar+h.length,this.calcTempo(b.tempo)):b.type==="immediate"&&p.appendElement("tempo",s.iChar+f,s.iChar+h.length,b.tempo),[v,h[f],t.strip(h.substring(f+2))];case"V:":return u=r.parseVoice(h,f+2,h.length),[h.length,h[f],t.strip(h.substring(f+2)),u]}return[0]};var _={A:"author",B:"book",C:"composer",D:"discography",F:"url",G:"group",I:"instruction",N:"notes",O:"origin",R:"rhythm",S:"source",W:"unalignedWords",Z:"transcription"};this.parseHeader=function(h){var f=_[h[0]],u=h.length-2,l=i.translateString(i.stripComment(h.substring(2)));if(f==="unalignedWords"||f==="notes")p.addMetaTextArray(f,a.parseFontChangeLine(l),{startChar:s.iChar,endChar:s.iChar+h.length});else if(f!==void 0)p.addMetaText(f,a.parseFontChangeLine(l),{startChar:s.iChar,endChar:s.iChar+h.length});else{var o=s.iChar,g=o+h.length;switch(h[0]){case"H":for(p.addMetaTextArray("history",a.parseFontChangeLine(l),{startChar:s.iChar,endChar:s.iChar+h.length}),h=i.peekLine();h&&h[1]!==":";)i.nextLine(),p.addMetaTextArray("history",a.parseFontChangeLine(i.translateString(i.stripComment(h))),{startChar:s.iChar,endChar:s.iChar+h.length}),h=i.peekLine();break;case"K":this.resolveTempo();var v=r.parseKey(h.substring(2),!1);!s.is_in_header&&p.hasBeginMusic()&&s.keywarn!==!1&&(v.foundClef&&p.appendStartingElement("clef",o,g,s.clef),v.foundKey&&p.appendStartingElement("key",o,g,r.fixKey(s.clef,s.key))),s.is_in_header=!1;break;case"L":this.setDefaultLength(h,2,h.length);break;case"M":s.origMeter=s.meter=this.setMeter(h.substring(2));break;case"P":s.is_in_header?p.addMetaText("partOrder",a.parseFontChangeLine(l),{startChar:s.iChar,endChar:s.iChar+h.length}):s.partForNextLine={title:l,startChar:o,endChar:g};break;case"Q":var b=this.setTempo(h,2,h.length,s.iChar);b.type==="delaySet"?s.tempo=b.tempo:b.type==="immediate"&&(d.metaText.tempo?s.tempoForNextLine=["tempo",o,g,b.tempo]:d.metaText.tempo=b.tempo);break;case"T":s.titlecaps&&(l=l.toUpperCase()),this.setTitle(a.parseFontChangeLine(i.theReverser(l)),u);break;case"U":this.addUserDefinition(h,2,h.length);break;case"V":if(r.parseVoice(h,2,h.length),!s.is_in_header)return{newline:!0};break;case"s":return{symbols:!0};case"w":return{words:!0};case"X":break;case"E":case"m":c("Ignored header",h,0);break;default:return{regular:!0}}}return{}}};return bu=n,bu}var ln={},ph;function p4(){return ph||(ph=1,ln.legalAccents=["trill","trillh","lowermordent","uppermordent","mordent","pralltriller","accent","fermata","invertedfermata","tenuto","0","1","2","3","4","5","+","wedge","open","thumb","snap","turn","roll","breath","shortphrase","mediumphrase","longphrase","segno","coda","D.S.","D.C.","fine","beambr1","beambr2","slide","marcato","upbow","downbow","/","//","///","////","trem1","trem2","trem3","trem4","turnx","invertedturn","invertedturnx","trill(","trill)","arpeggio","xstem","mark","umarcato","style=normal","style=harmonic","style=rhythm","style=x","style=triangle","D.C.alcoda","D.C.alfine","D.S.alcoda","D.S.alfine","editorial","courtesy"],ln.volumeDecorations=["p","pp","f","ff","mf","mp","ppp","pppp","fff","ffff","sfz"],ln.dynamicDecorations=["crescendo(","crescendo)","diminuendo(","diminuendo)","glissando(","glissando)","~(","~)"],ln.accentPseudonyms=[["<","accent"],[">","accent"],["tr","trill"],["plus","+"],["emphasis","accent"],["^","umarcato"],["marcato","umarcato"]],ln.accentDynamicPseudonyms=[["<(","crescendo("],["<)","crescendo)"],[">(","diminuendo("],[">)","diminuendo)"]],ln.nonDecorations="ABCDEFGabcdefgxyzZ[]|^_{",ln.durations=[.5,.75,.875,.9375,.96875,.984375,.25,.375,.4375,.46875,.484375,.4921875,.125,.1875,.21875,.234375,.2421875,.24609375,.0625,.09375,.109375,.1171875,.12109375,.123046875,.03125,.046875,.0546875,.05859375,.060546875,.0615234375,.015625,.0234375,.02734375,.029296875,.0302734375,.03076171875],ln.pitches={A:5,B:6,C:0,D:1,E:2,F:3,G:4,a:12,b:13,c:7,d:8,e:9,f:10,g:11},ln.rests={x:"invisible",X:"invisible-multimeasure",y:"spacer",z:"rest",Z:"multimeasure"},ln.accMap={dblflat:"__",flat:"_",natural:"=",sharp:"^",dblsharp:"^^",quarterflat:"_/",quartersharp:"^/"},ln.tripletQ={2:3,3:2,4:3,5:2,6:2,7:2,8:3,9:2}),ln}var yu,mh;function m4(){if(mh)return yu;mh=1;var t=vu(),a=dh(),r,n,i,c,s,d,{legalAccents:p,volumeDecorations:m,dynamicDecorations:_,accentPseudonyms:h,accentDynamicPseudonyms:f,nonDecorations:u,durations:l,pitches:o,rests:g,accMap:v,tripletQ:b}=p4(),k=function(y,x,q,L,Q,Z){r=y,n=x,i=q,c=L,s=Q,d=Z,this.lineContinuation=!1},w=function(y,x,q){if(y.inTie[x]===void 0)return!1;var L=y.currentVoice?y.currentVoice.staffNum*100+y.currentVoice.index:0;return!!(y.inTie[x][L]&&(q.pitches!==void 0||q.rest.type!=="spacer"))},T={};k.prototype.parseMusic=function(y){d.resolveTempo(),i.is_in_header=!1;for(var x=0,q=i.iChar;r.isWhiteSpace(y[x])&&x0&&(x+=Z[0],Z[1]==="V"&&this.startNewLine());for(var X=0;x0)x+=ve[0],ve[1]==="V"&&(L=!0);else{(!s.hasBeginMusic()||L&&!this.lineContinuation)&&(this.startNewLine(),L=!1);for(var re;;)if(re=r.eatWhiteSpace(y,x),re>0&&(x+=re),x>0&&y[x-1]===""&&(re=d.letter_to_body_header(y,x),re[0]>0&&(re[1]==="V"&&this.startNewLine(),x=re[0],i.start_new_line=!1)),re=E(y,x),re[0]>0&&(x+=re[0]),re=R(y,x),re[0]>0){T.chord||(T.chord=[]);var Ae=r.translateString(re[1]);Ae=Ae.replace(/;/g,` +`);for(var ke=!1,Me=0;Me0&&(T.force_end_beam_last=!0),x+=se}else if(u.indexOf(y[x])===-1?re=S(y,x):re=[0],re[0]>0)re[1]===null?x+10&&(re[1].indexOf("style=")===0?T.style=re[1].substring(6):re[1].indexOf("class=")===0?T.extraClass=re[1].substring(6):(T.decoration===void 0&&(T.decoration=[]),re[1]==="beambr1"?T.beambr=1:re[1]==="beambr2"?T.beambr=2:T.decoration.push(re[1]))),x+=re[0];else if(re=F(y,x),re[0]>0)T.gracenotes=re[1],x+=re[0];else break;if(re=V(y,x),re[0]>0){X=0,T.gracenotes!==void 0&&(T.rest={type:"spacer"},T.duration=.125,i.addFormattingOptions(T,c.formatting,"note"),s.appendElement("note",q+x,q+x+re[0],T),i.measureNotEmpty=!0,T={});var je={type:re[1]};je.type.length===0?n("Unknown bar type",y,x):(i.inEnding&&je.type!=="bar_thin"&&(je.endEnding=!0,i.inEnding=!1),re[2]&&(je.startEnding=re[2],i.inEnding&&(je.endEnding=!0),i.inEnding=!0,re[1]==="bar_right_repeat"?i.restoreStartEndingHoldOvers():i.duplicateStartEndingHoldOvers()),T.decoration!==void 0&&(je.decoration=T.decoration),T.chord!==void 0&&(je.chord=T.chord),je.startEnding&&i.barFirstEndingNum===void 0?i.barFirstEndingNum=i.currBarNumber:je.startEnding&&je.endEnding&&i.barFirstEndingNum?i.currBarNumber=i.barFirstEndingNum:je.endEnding&&(i.barFirstEndingNum=void 0),je.type!=="bar_invisible"&&i.measureNotEmpty&&P()&&(i.currBarNumber++,i.barNumbers&&i.currBarNumber%i.barNumbers===0&&(je.barNumber=i.currBarNumber)),i.addFormattingOptions(T,c.formatting,"bar"),s.appendElement("bar",q+J,q+x+re[0],je),i.measureNotEmpty=!1,T={}),x+=re[0]}else if(y[x]==="&")re=D(y,x),re[0]>0&&(s.appendElement("overlay",q,q+1,{}),x+=1,X++);else{if(re=G(y,x),re.consumed>0&&(re.startSlur!==void 0&&(T.startSlur=re.startSlur),re.dottedSlur&&(T.dottedSlur=!0),re.triplet!==void 0&&(Q>0?n("Can't nest triplets",y,x):(T.startTriplet=re.triplet,T.tripletMultiplier=re.tripletQ/re.triplet,T.tripletR=re.num_notes,Q=re.num_notes===void 0?re.triplet:re.num_notes)),x+=re.consumed),y[x]==="["){x++;for(var ue=null,Oe=!1,Ze=!1;!Ze;){var Bt=S(y,x);Bt[0]>0&&(x+=Bt[0]);var ht=C(y,x,{},!1);if(ht!==null&&ht.pitch!==void 0)Bt[0]>0&&Bt[1].indexOf("style=")!==0&&(T.decoration===void 0&&(T.decoration=[]),T.decoration.push(Bt[1])),ht.end_beam&&(T.end_beam=!0,delete ht.end_beam),T.pitches===void 0?(T.duration=ht.duration,T.pitches=[ht]):T.pitches.push(ht),delete ht.duration,Bt[0]>0&&Bt[1].indexOf("style=")===0&&(T.pitches[T.pitches.length-1].style=Bt[1].substr(6)),i.inTieChord[T.pitches.length]&&(ht.endTie=!0,i.inTieChord[T.pitches.length]=void 0),ht.startTie&&(i.inTieChord[T.pitches.length]=!0),x=ht.endChar,delete ht.endChar;else if(y[x]===" ")n("Spaces are not allowed in chords",y,x),x++;else{if(x0&&!(T.rest&&T.rest.type==="spacer")&&(Q--,Q===0&&(T.endTriplet=!0));for(var Ot=!1;x":case"<":var Ct=A(y,x);x+=Ct[0]-1,i.next_note_duration=Ct[2],ue?ue=ue*Ct[1]:ue=Ct[1];break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"/":var at=r.getFraction(y,x);ue=at.value,x=at.index;var ie=y[x];ie===" "&&(Oe=!0),ie==="-"||ie===")"||ie===" "||ie==="<"||ie===">"?x--:Ot=!0;break;case"0":ue=0;break;default:Ot=!0;break}Ot||x++}}else n("Expected ']' to end the chords",y,x);T.pitches!==void 0&&(ue!==null&&(T.duration=T.duration*ue,Oe&&$(T)),i.addFormattingOptions(T,c.formatting,"note"),s.appendElement("note",q+J,q+x,T),i.measureNotEmpty=!0,T={}),Ze=!0}}}else{var fe={},te=C(y,x,fe,!0);if(fe.endTie!==void 0&&N(i,X,!0),te!==null){te.pitch!==void 0?(T.pitches=[{}],te.accidental!==void 0&&(T.pitches[0].accidental=te.accidental),T.pitches[0].pitch=te.pitch,T.pitches[0].name=te.name,(te.midipitch||te.midipitch===0)&&(T.pitches[0].midipitch=te.midipitch),te.endSlur!==void 0&&(T.pitches[0].endSlur=te.endSlur),te.endTie!==void 0&&(T.pitches[0].endTie=te.endTie),te.startSlur!==void 0&&(T.pitches[0].startSlur=te.startSlur),T.startSlur!==void 0&&(T.pitches[0].startSlur=T.startSlur),T.dottedSlur!==void 0&&(T.pitches[0].dottedSlur=!0),te.startTie!==void 0&&(T.pitches[0].startTie=te.startTie),T.startTie!==void 0&&(T.pitches[0].startTie=T.startTie)):(T.rest=te.rest,te.rest.type==="multimeasure"&&P()&&(i.currBarNumber+=te.rest.text-1),te.endSlur!==void 0&&(T.endSlur=te.endSlur),te.endTie!==void 0&&(T.rest.endTie=te.endTie),te.startSlur!==void 0&&(T.startSlur=te.startSlur),te.startTie!==void 0&&(T.rest.startTie=te.startTie),T.startTie!==void 0&&(T.rest.startTie=T.startTie)),te.chord!==void 0&&(T.chord=te.chord),te.duration!==void 0&&(T.duration=te.duration),te.decoration!==void 0&&(T.decoration=te.decoration),te.graceNotes!==void 0&&(T.graceNotes=te.graceNotes),delete T.startSlur,delete T.dottedSlur,w(i,X,T)&&(T.pitches!==void 0?T.pitches[0].endTie=!0:T.rest.type!=="spacer"&&(T.rest.endTie=!0),N(i,X,!1)),(te.startTie||T.startTie)&&N(i,X,!0),x=te.endChar,Q>0&&!(te.rest&&te.rest.type==="spacer")&&(Q--,Q===0&&(T.endTriplet=!0)),te.end_beam&&$(T),T.rest&&T.rest.type==="rest"&&T.duration===1&&I(i)<=1&&(T.rest.type="whole",T.duration=I(i)),T.duration<1&&l.indexOf(T.duration)===-1&&T.duration!==0&&(!T.rest||T.rest.type!=="spacer")&&n("Duration not representable: "+y.substring(J,x),y,x),i.addFormattingOptions(T,c.formatting,"note");var ce=s.appendElement("note",q+J,q+x,T);ce||(this.startNewLine(),s.appendElement("note",q+J,q+x,T)),i.measureNotEmpty=!0,T={}}}x===J&&(y[x]!==" "&&y[x]!=="`"&&n("Unknown character ignored",y,x),x++)}}}this.lineContinuation=y.indexOf("")>=0||Z[0]>0,this.lineContinuation||(T={})}};var N=function(y,x,q){var L=y.currentVoice?y.currentVoice.staffNum*100+y.currentVoice.index:0;y.inTie[x]===void 0&&(y.inTie[x]=[]),y.inTie[x][L]=q},R=function(y,x){if(y[x]==='"'){var q=r.getBrackettedSubstring(y,x,5);if(q[2]||n("Missing the closing quote while parsing the chord symbol",y,x),q[0]>0&&q[1].length>0&&q[1][0]==="^")q[1]=q[1].substring(1),q[2]="above";else if(q[0]>0&&q[1].length>0&&q[1][0]==="_")q[1]=q[1].substring(1),q[2]="below";else if(q[0]>0&&q[1].length>0&&q[1][0]==="<")q[1]=q[1].substring(1),q[2]="left";else if(q[0]>0&&q[1].length>0&&q[1][0]===">")q[1]=q[1].substring(1),q[2]="right";else if(q[0]>0&&q[1].length>0&&q[1][0]==="@"){q[1]=q[1].substring(1);var L=r.getFloat(q[1]);if(L.digits===0)return n("Missing first position in absolutely positioned annotation.",y,x),q[1]=q[1].replace("@",""),q[2]="above",q;if(q[1]=q[1].substring(L.digits),q[1][0]!==",")return n("Missing comma absolutely positioned annotation.",y,x),q[1]=q[1].replace("@",""),q[2]="above",q;q[1]=q[1].substring(1);var Q=r.getFloat(q[1]);if(Q.digits===0)return n("Missing second position in absolutely positioned annotation.",y,x),q[1]=q[1].replace("@",""),q[2]="above",q;q[1]=q[1].substring(Q.digits);var Z=r.skipWhiteSpace(q[1]);q[1]=q[1].substring(Z),q[2]=null,q[3]={x:L.value,y:Q.value}}else i.freegchord!==!0&&(q[1]=q[1].replace(/([ABCDEFG0-9])b/g,"$1♭"),q[1]=q[1].replace(/([ABCDEFG0-9])#/g,"$1♯"),q[1]=q[1].replace(/^([ABCDEFG])([♯♭]?)o([^A-Za-z])/g,"$1$2°$3"),q[1]=q[1].replace(/^([ABCDEFG])([♯♭]?)o$/g,"$1$2°"),q[1]=q[1].replace(/^([ABCDEFG])([♯♭]?)0([^A-Za-z])/g,"$1$2ø$3"),q[1]=q[1].replace(/^([ABCDEFG])([♯♭]?)\^([^A-Za-z])/g,"$1$2∆$3")),q[2]="default",q[1]=a.chordName(i,q[1]);return q}return[0,""]},F=function(y,x){if(y[x]==="{"){var q=r.getBrackettedSubstring(y,x,1,"}");q[2]||n("Missing the closing '}' while parsing grace note",y,x),y[x+q[0]]===")"&&(q[0]++,q[1]+=")");for(var L=[],Q=0,Z=!1;Q0&&(L[L.length-1].endBeam=!0):n("Unknown character '"+q[1][Q]+"' while parsing grace note",y,x),Q++)}if(L.length)return[q[0],L]}return[0]};function D(y,x){if(y[x]==="&"){for(var q=x;y[x]&&y[x]!==":"&&y[x]!=="|";)x++;return[x-q,y.substring(q+1,x)]}return[0]}function I(y){var x=y.origMeter;return!x||x.type!=="specified"||!x.value||x.value.length===0?1:parseInt(x.value[0].num,10)/parseInt(x.value[0].den,10)}var S=function(y,x){var q=i.macros[y[x]];if(q!==void 0)return(q[0]==="!"||q[0]==="+")&&(q=q.substring(1)),(q[q.length-1]==="!"||q[q.length-1]==="+")&&(q=q.substring(0,q.length-1)),p.includes(q)?[1,q]:m.includes(q)?(i.volumePosition==="hidden"&&(q=""),[1,q]):_.includes(q)?(i.dynamicPosition==="hidden"&&(q=""),[1,q]):(i.ignoredDecorations.includes(q)||n("Unknown macro: "+q,y,x),[1,""]);switch(y[x]){case".":if(y[x+1]==="("||y[x+1]==="-")break;return[1,"staccato"];case"u":return[1,"upbow"];case"v":return[1,"downbow"];case"~":return[1,"irishroll"];case"!":case"+":var L=r.getBrackettedSubstring(y,x,5);if(L[1].length>1&&(L[1][0]==="^"||L[1][0]==="_")&&(L[1]=L[1].substring(1)),p.includes(L[1])||L[1].indexOf("class=")===0)return L;if(m.includes(L[1]))return i.volumePosition==="hidden"&&(L[1]=""),L;if(_.includes(L[1]))return i.dynamicPosition==="hidden"&&(L[1]=""),L;var Q=h.findIndex(function(Z){return L[1]===Z[0]});return Q>=0?(L[1]=h[Q][1],L):(Q=f.findIndex(function(Z){return L[1]===Z[0]}),Q>=0?(L[1]=f[Q][1],i.dynamicPosition==="hidden"&&(L[1]=""),L):y[x]==="!"&&(L[0]===1||y[x+L[0]-1]!=="!")?[1,null]:(n("Unknown decoration: "+L[1],y,x),L[1]="",L));case"H":return[1,"fermata"];case"J":return[1,"slide"];case"L":return[1,"accent"];case"M":return[1,"mordent"];case"O":return[1,"coda"];case"P":return[1,"pralltriller"];case"R":return[1,"roll"];case"S":return[1,"segno"];case"T":return[1,"trill"];case"t":return[1,"trillh"]}return[0,0]},E=function(y,x){for(var q=x;r.isWhiteSpace(y[x]);)x++;return[x-q]},V=function(y,x){var q=r.getBarLine(y,x);if(q.len===0)return[0,""];if(q.warn)return n(q.warn,y,x),[q.len,""];for(var L=0;L="2"&&y[x+1]<="9"?(q.triplet!==void 0?n("Can't nest triplets",y,x):(q.triplet=y[x+1]-"0",q.tripletQ=b[q.triplet],q.num_notes=q.triplet,x+2="1"&&y[x+4]<="9"?(q.num_notes=y[x+4]-"0",x+=3):n("expected number after the two colons after the triplet to mark the duration",y,x):x+3="1"&&y[x+3]<="9"?(q.tripletQ=y[x+3]-"0",x+4="1"&&y[x+5]<="9"&&(q.num_notes=y[x+5]-"0",x+=4):x+=2):n("expected number after the triplet to mark the duration",y,x))),x++):q.startSlur===void 0?q.startSlur=1:q.startSlur++),x++;return q.consumed=x-L,q};k.prototype.startNewLine=function(){var y={startChar:-1,endChar:-1};i.partForNextLine.title&&(y.part=i.partForNextLine),y.clef=i.currentVoice&&i.staves[i.currentVoice.staffNum].clef!==void 0?Object.assign({},i.staves[i.currentVoice.staffNum].clef):Object.assign({},i.clef);var x=i.currentVoice?i.currentVoice.scoreTranspose:0;if(y.key=t.standardKey(i.key.root+i.key.acc+i.key.mode,i.key.root,i.key.acc,x),y.key.mode=i.key.mode,i.key.impliedNaturals&&(y.key.impliedNaturals=i.key.impliedNaturals),i.key.explicitAccidentals)for(var q=0;q=0?(q.duration=c.getBarLength(),q.rest.text=1,X="Zduration"):(L&&i.next_note_duration!==0?(q.duration=i.default_length*i.next_note_duration,i.next_note_duration=0,J=!0):q.duration=i.default_length,X="duration");else return Q(X)?(q.endChar=x,q):null;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"0":case"/":if(X==="octave"||X==="duration"){var re=r.getFraction(y,x);for(q.duration=q.duration*re.value,q.endChar=re.index;re.index"))x--,X="broken_rhythm";else return q}else return null;break;case">":case"<":if(Q(X))if(L){var ke=A(y,x);x+=ke[0]-1,i.next_note_duration=ke[2],q.duration=ke[1]*q.duration,X="end_slur"}else return q.endChar=x,q;else return null;break;default:return Q(X)?(q.endChar=x,q):null}if(x++,x===y.length)return Q(X)?(q.endChar=x,q):null}return null},A=function(y,x){switch(y[x]){case">":return x"&&y[x+2]===">"?[3,1.875,.125]:x"?[2,1.75,.25]:[1,1.5,.5];case"<":return x=u.length};this.eatWhiteSpace=function(u,l){for(var o=l;o="a"&&v[b]<="z"||v[b]>="A"&&v[b]<="Z");)b++;return b},o=this.skipWhiteSpace(u);if(i(u,o))return{len:0};var g=u.substring(o,o+3).toLowerCase();switch((g.length>1&&g[1]===" "||g[1]==="^"||g[1]==="_"||g[1]==="=")&&(g=g[0]),g){case"mix":return{len:l(u,o),token:"Mix"};case"dor":return{len:l(u,o),token:"Dor"};case"phr":return{len:l(u,o),token:"Phr"};case"lyd":return{len:l(u,o),token:"Lyd"};case"loc":return{len:l(u,o),token:"Loc"};case"aeo":return{len:l(u,o),token:"m"};case"maj":return{len:l(u,o),token:""};case"ion":return{len:l(u,o),token:""};case"min":return{len:l(u,o),token:"m"};case"m":return{len:l(u,o),token:"m"}}return{len:0}},this.getClef=function(u,l){var o=u,g=this.skipWhiteSpace(u);if(i(u,g))return{len:0};var v=!1,b=u.substring(g);if(t.startsWith(b,"clef=")&&(v=!0,b=b.substring(5),g+=5),b.length===0&&v)return{len:g+5,warn:"No clef specified: "+o};var k=this.skipWhiteSpace(b);if(i(b,k))return{len:0};k>0&&(g+=k,b=b.substring(k));var w=null;if(t.startsWith(b,"treble"))w="treble";else if(t.startsWith(b,"bass3"))w="bass3";else if(t.startsWith(b,"bass"))w="bass";else if(t.startsWith(b,"tenor"))w="tenor";else if(t.startsWith(b,"alto2"))w="alto2";else if(t.startsWith(b,"alto1"))w="alto1";else if(t.startsWith(b,"alto"))w="alto";else if(!l&&v&&t.startsWith(b,"none"))w="none";else if(t.startsWith(b,"perc"))w="perc";else if(!l&&v&&t.startsWith(b,"C"))w="tenor";else if(!l&&v&&t.startsWith(b,"F"))w="bass";else if(!l&&v&&t.startsWith(b,"G"))w="treble";else return{len:g+5,warn:"Unknown clef specified: "+o};return b=b.substring(w.length),k=this.isMatch(b,"+8"),k>0?w+="+8":(k=this.isMatch(b,"-8"),k>0&&(w+="-8")),{len:g+w.length,token:w,explicit:v}},this.getBarLine=function(u,l){switch(u[l]){case"]":switch(++l,u[l]){case"|":return{len:2,token:"bar_thick_thin"};case"[":return++l,u[l]>="1"&&u[l]<="9"||u[l]==='"'?{len:2,token:"bar_invisible"}:{len:1,warn:"Unknown bar symbol"};default:return{len:1,token:"bar_invisible"}}case":":switch(++l,u[l]){case":":return{len:2,token:"bar_dbl_repeat"};case"|":switch(++l,u[l]){case"]":return++l,u[l]==="|"?(++l,u[l]===":"?{len:5,token:"bar_dbl_repeat"}:{len:3,token:"bar_right_repeat"}):{len:3,token:"bar_right_repeat"};case"|":return++l,u[l]===":"?{len:4,token:"bar_dbl_repeat"}:{len:3,token:"bar_right_repeat"};default:return{len:2,token:"bar_right_repeat"}}default:return{len:1,warn:"Unknown bar symbol"}}case"[":if(++l,u[l]==="|")switch(++l,u[l]){case":":return{len:3,token:"bar_left_repeat"};case"]":return{len:3,token:"bar_invisible"};default:return{len:2,token:"bar_thick_thin"}}else return u[l]>="1"&&u[l]<="9"||u[l]==='"'?{len:1,token:"bar_invisible"}:{len:0};case"|":switch(++l,u[l]){case"]":return{len:2,token:"bar_thin_thick"};case"|":return++l,u[l]===":"?{len:3,token:"bar_left_repeat"}:{len:2,token:"bar_thin_thin"};case":":for(var o=0;u[l+o]===":";)o++;return{len:1+o,token:"bar_left_repeat"};default:return{len:1,token:"bar_thin"}}}return{len:0}},this.getTokenOf=function(u,l){for(var o=0;o0;){var o;if(u[0].token==="^"){if(o="sharp",u.shift(),u.length===0)return{accs:l,warn:"Expected note name after "+o};switch(u[0].token){case"^":o="dblsharp",u.shift();break;case"/":o="quartersharp",u.shift();break}}else if(u[0].token==="=")o="natural",u.shift();else if(u[0].token==="_"){if(o="flat",u.shift(),u.length===0)return{accs:l,warn:"Expected note name after "+o};switch(u[0].token){case"_":o="dblflat",u.shift();break;case"/":o="quarterflat",u.shift();break}}else return{accs:l};if(u.length===0)return{accs:l,warn:"Expected note name after "+o};switch(u[0].token[0]){case"a":case"b":case"c":case"d":case"e":case"f":case"g":case"A":case"B":case"C":case"D":case"E":case"F":case"G":l===void 0&&(l=[]),l.push({acc:o,note:u[0].token[0]}),u[0].token.length===1?u.shift():u[0].token=u[0].token.substring(1);break;default:return{accs:l,warn:"Expected note name after "+o+" Found: "+u[0].token}}}return{accs:l}},this.getKeyAccidental=function(u){var l={"^":"sharp","^^":"dblsharp","=":"natural",_:"flat",__:"dblflat","_/":"quarterflat","^/":"quartersharp"},o=this.skipWhiteSpace(u);if(i(u,o))return{len:0};var g=null;switch(u[o]){case"^":case"_":case"=":g=u[o];break;default:return{len:0}}if(o++,i(u,o))return{len:1,warn:"Expected note name after accidental"};switch(u[o]){case"a":case"b":case"c":case"d":case"e":case"f":case"g":case"A":case"B":case"C":case"D":case"E":case"F":case"G":return{len:o+1,token:{acc:l[g],note:u[o]}};case"^":case"_":case"/":if(g+=u[o],o++,i(u,o))return{len:2,warn:"Expected note name after accidental"};switch(u[o]){case"a":case"b":case"c":case"d":case"e":case"f":case"g":case"A":case"B":case"C":case"D":case"E":case"F":case"G":return{len:o+1,token:{acc:l[g],note:u[o]}};default:return{len:2,warn:"Expected note name after accidental"}}break;default:return{len:1,warn:"Expected note name after accidental"}}},this.isWhiteSpace=function(u){return u===" "||u===" "||u===""},this.getMeat=function(u,l,o){var g=u.indexOf("%",l);for(g>=0&&g="A"&&u<="Z"||u>="a"&&u<="z"},s=function(u){return u>="0"&&u<="9"};this.tokenize=function(u,l,o,g){var v=this.getMeat(u,l,o);l=v.start,o=v.end;for(var b=[],k;l=o?{len:1,err:"Missing close quote"}:{len:v-l+1,token:this.translateString(u.substring(g+1,v))}}else{for(var b=g;b=0?t.strip(u.substring(0,l)):t.strip(u)},this.getInt=function(u){var l=parseInt(u);if(isNaN(l))return{digits:0};var o=""+l,g=u.indexOf(o);return{value:l,digits:g+o.length}},this.getFloat=function(u){var l=parseFloat(u);if(isNaN(l))return{digits:0};var o=""+l,g=u.indexOf(o);return{value:l,digits:g+o.length}},this.getMeasurement=function(u){if(u.length===0)return{used:0};var l=1,o="";if(u[0].token==="-")u.shift(),o="-",l++;else if(u[0].type!=="number")return{used:0};if(o+=u.shift().token,u.length===0)return{used:1,value:parseInt(o)};var g=u.shift();if(g.token==="."){if(l++,u.length===0)return{used:l,value:parseInt(o)};if(u[0].type==="number"&&(g=u.shift(),o=o+"."+g.token,l++,u.length===0))return{used:l,value:parseFloat(o)};g=u.shift()}switch(g.token){case"pt":return{used:l+1,value:parseFloat(o)};case"px":return{used:l+1,value:parseFloat(o)};case"cm":return{used:l+1,value:parseFloat(o)/2.54*72};case"in":return{used:l+1,value:parseFloat(o)*72};default:return u.unshift(g),{used:l,value:parseFloat(o)}}};var f=function(u){return u=u.replace(/\\n/g,` +`),u=u.replace(/\\"/g,'"'),u};this.getBrackettedSubstring=function(u,l,o,g){for(var v=g||u[l],b=l+1,k=!1;bu.length-1&&(b=u.length-1),[b-l+1,f(u.substring(l+1,b)),!1])}};return a.prototype.peekLine=function(){return this.lines[this.lineIndex]},a.prototype.nextLine=function(){if(this.lineIndex>0&&(this.multilineVars.iChar+=this.lines[this.lineIndex-1].length+1),this.lineIndex0&&(u[b.line].staff[b.staff].barNumber=g);for(var w=Object.keys(k),T=0;T=0;F--)if(R[F].el_type==="key"){l[b.staff]={root:R[F].root,acc:R[F].acc,mode:R[F].mode,accidentals:R[F].accidentals.filter(function(I){return I.acc!=="natural"})};break}for(F=R.length-1;F>=0;F--)if(R[F].el_type==="stem"){o[b.staff*10+b.voice]={direction:R[F].direction};break}if(f!==void 0&&b.staff===0&&b.voice===0)for(F=0;F0?(f.push(o-1),u.push(Math.round(l-g)),l=g):o<_.length-1&&(f.push(o),u.push(Math.round(l)),l=0)}}return u.push(Math.round(l)),{lineBreaks:f,totals:u}}function i(_){for(var h=[],f=0;f<_.length;f++)h.push(_[f]);return h}function c(_,h,f,u,l,o,g,v,b,k,w){for(var T=k;T<_.length;T++){var N=_[T];f+=N,u+=N;var R=Math.abs(f-h[v]),F=Math.abs(R-o)o&&T<_.length-1&&(D=i(l),I=i(b),w.push({accumulator:f,lineAccumulator:u,lineWidths:D,lastVariance:R,highestVariance:Math.max(g,R),currLine:v,lineBreaks:I,startIndex:T+1}));R>o?(b.push(T-1),v++,g=Math.max(g,o),o=Math.abs(f-h[v]),l.push(u-N),u=N):o=R}l.push(u)}function s(_,h,f,u){for(var l=Math.ceil(_.total/h),o=Math.floor(_.total/l),g=[],v=0;vh&&(g=!0),v%f===f-1&&(v!==_.length-1&&u.push(v),l.push(Math.round(o)),o=0);return{failed:g,totals:l,lineBreaks:u}}function p(_,h,f){var u={lineBreaks:_,staffwidth:h};for(var l in f)f.hasOwnProperty(l)&&l!=="wrap"&&l!=="staffwidth"&&(u[l]=f[l]);return{revisedParams:u}}function m(_,h,f){if(h.length===0||f.staffwidth0&&T.measureWidths.length<25&&(V=s(T,R,S,I),I.attempts.push({type:"Optimize",failed:V.failed,reason:V.reason,lineBreaks:V.lineBreaks,totals:V.totals}),V.failed||(S=V.lineBreaks))}b.push(S),k.push(I)}var G=f.staffwidth,$=p(b,G,f);return $.explanation=k,$.reParse=!0,$}return wu={wrapLines:t,calcLineWraps:m},wu}var xu,vh;function h4(){if(vh)return xu;vh=1;function t(p){const m=p.getMeterFraction(),_=m.num===4&&m.den===4;if(!(m.num===2&&m.den===2)&&!_)throw new Error("notCommonTime");const f=p.deline();let u=[],l=!1;return f.forEach(o=>{if(o.subtitle)l&&u.push({type:"subtitle",subtitle:o.subtitle.text});else if(o.text)l=!0,u.push({type:"text",text:o.text.text});else if(o.staff){l=!0;const g=o.staff,v=r(g);u=u.concat(v)}}),i(u),c(u),s(u),u}const a=["break","(break)","no chord","n.c.","tacet"];function r(p){const m=[];let _="",h=[],f={chord:["","","",""]},u="",l="";if(p.forEach((o,g)=>{o.voices&&o.voices.forEach((v,b)=>{let k=0,w=0;v.forEach(T=>{if(T.el_type==="part")h.length>0&&g===0&&b===0&&(m.push({type:"part",name:_,lines:[h]}),h=[]),_=T.title;else if(T.el_type==="note"){d(T,f);const N=Math.floor(k);if(T.chord&&T.chord.length>0){const R=T.chord[0],F=R.position==="default"||a.indexOf(R.name.toLowerCase())>=0?R.name:"";F&&(N>0&&!f.chord[0]&&(f.chord[0]=u),u=F,f.chord[N]?N<4&&!f.chord[N+1]&&(f.chord[N+1]=F):f.chord[N]=F),T.chord.forEach(D=>{D.position!=="default"&&a.indexOf(R.name.toLowerCase())<0&&(f.annotations||(f.annotations=[]),f.annotations.push(D.name))})}if(!T.rest||T.rest.type!=="spacer"){const R=T.duration===0&&!T.rest?.25:T.duration,F=Math.floor(R*4);if(F>4)w+=Math.floor(F/4),k=0;else{let D=R*4;T.tripletMultiplier&&(D*=T.tripletMultiplier),k+=D}}}else if(T.el_type==="bar"){if(l&&(f.ending=l,l=""),d(T,f),T.chord&&T.chord.forEach(N=>{N.position!=="default"&&(f.annotations||(f.annotations=[]),f.annotations.push(N.name))}),(T.type==="bar_dbl_repeat"||T.type==="bar_left_repeat")&&(f.hasStartRepeat=!0),(T.type==="bar_dbl_repeat"||T.type==="bar_right_repeat")&&(f.hasEndRepeat=!0),T.startEnding&&(l=T.startEnding),k>=4){if(f.chord[0]===""&&(f.chord[1]||f.chord[2]||f.chord[3])&&(f.chord[0]=n(h)),g===0&&b===0)h.push(f);else{let N=w,R=0;for(;N>=m[R].lines[0].length&&R=0;m--)for(let _=p[m].chord.length-1;_>=0;_--)if(p[m].chord[_])return p[m].chord[_]}function i(p){p.forEach(m=>{if(m.type==="part"){const _=m.lines[0],h=_.findIndex(u=>!!u.ending),f=_.findIndex((u,l)=>l>h&&!!u.ending);if(h>=0&&f>=0&&f-h===_.length-f){let u=!0;for(let l=0;l{if(m.type==="part"){const _=[],h=m.lines[0];let f=!1;const u=h.findIndex(g=>!!g.hasEndRepeat);(u>=0?Math.min(u+1,h.length):h.length)===12&&(f=!0);const o=f?4:8;for(let g=0;g!!k.hasEndRepeat);b>=0&&b{if(m.lines){let _=!1,h="";m.lines.forEach(f=>{f.forEach(u=>{if(!u.noBorder){const l=u.chord;!l[0]&&!l[1]&&!l[2]&&!l[3]?(_?h&&(l[0]="%"):l[0]=h,_=!0):!l[1]&&!l[2]&&!l[3]?(_=!0,h=l[0]):(_=!1,h=l[3]||l[2]||l[1])}})})}})}function d(p,m){if(p.decoration)for(let _=0;_0&&this.sections[this.sections.length-1].type==="endRepeat"&&this.sections.push({type:"startRepeat",index:this.sections[this.sections.length-1].index}),this.sections.push({type:"endRepeat",index:p})),h&&this.sections.push({type:"startEnding",index:p,endings:h}),m&&this.sections.push({type:"startRepeat",index:p})},this.resolveRepeats=function(){var d,p=this.sections[this.sections.length-1],m=s.length-1;if(p.type==="startRepeat"?p.end=m:p.index+10)for(d=0;d0&&r(s,o,k.start,k.end),g=Math.max(g,k.end))}}return o}}function r(s,d,p,m){p<0&&(p=0),d.length>0&&s[p].el_type==="bar"&&d[d.length-1].el_type==="bar"&&p++;for(var _=p;_<=m;_++){var h,f=!1;if(s[_].el_type==="key"||s[_].el_type==="meter"||s[_].el_type==="tempo"||s[_].el_type==="instrument"){for(h=d.length-1;h>=0&&d[h].el_type!==s[_].el_type;)h--;h>=0&&(s[_].el_type==="key"&&i(s[_],d[h])||s[_].el_type==="meter"&&s[_].num===d[h].num&&s[_].den===d[h].den||s[_].el_type==="instrument"&&s[_].program===d[h].program||s[_].el_type==="tempo"&&s[_].qpm===d[h].qpm)&&(f=!0)}f||d.push(n(s[_]))}}function n(s){var d=Object.assign({},s);return d.pitches&&(d.pitches=t.cloneArray(d.pitches)),d}function i(s,d){return!s.accidentals||!d.accidentals?!1:JSON.stringify(s.accidentals)===JSON.stringify(d.accidentals)}function c(s){var d=[],p,m,_;if(s.indexOf(",")>0)for(m=s.split(","),_=0;_0&&d.push(p);else if(s.indexOf("-")>0){m=s.split("-");var h=parseInt(m[0],10),f=parseInt(m[1],10);for(_=h;_<=f;_++)d.push(_)}else p=parseInt(s,10),p>0&&d.push(p);return d}return $u=a,$u}var Tu,kh;function wh(){if(kh)return Tu;kh=1;var t,a=ir(),r=_4();return(function(){var n=1,i=128;t=function(g,v){v=v||{};var b,k=v.program||0,w=v.midiTranspose||0;g.visualTranspose&&(w-=g.visualTranspose);var T=v.channel||0,N=!1,R=v.drum||"",F=v.drumBars||1,D=v.drumIntro||0,I=R!=="",S=!!v.drumOff,E=[],V=50;k=parseInt(k,10),w=parseInt(w,10),T=parseInt(T,10),T===10&&(k=i),R=R.split(" "),F=parseInt(F,10),D=parseInt(D,10);var G=g.formatting.bagpipes;G&&(k=71);var $=[];if(g.formatting.midi){var C=g.formatting.midi;C.program&&C.program.length>0&&(k=C.program[0],C.program.length>1&&(k=C.program[1],T=C.program[0]),N=!0),C.transpose&&(w=C.transpose[0]),C.channel&&(T=C.channel[0],N=!0),C.drum&&(R=C.drum),C.drumbars&&(F=C.drumbars[0]),C.drumon&&(I=!0),T===10&&(k=i),C.beat&&$.push({el_type:"beat",beats:C.beat}),C.nobeataccents&&$.push({el_type:"beataccents",value:!1})}v.qpm?b=parseInt(v.qpm,10):g.metaText.tempo?b=_(g.metaText.tempo,g.getBeatLength()):v.defaultQpm?b=v.defaultQpm:b=180;var A=[];G&&A.push({el_type:"bagpipes"}),A.push({el_type:"instrument",program:k}),T&&A.push({el_type:"channel",channel:T}),w&&A.push({el_type:"transpose",transpose:w}),A.push({el_type:"tempo",qpm:b});for(var P=0;P<$.length;P++)A.push($[P]);var y=[],x=[],q=[],L=[],Q=[0],Z={};Z[0]={el_type:"tempo",qpm:b,timing:0};for(var X,J=[],ve=!1,re=g.lines,Ae=0;Ae=0?fa="pppp":Re.decoration.indexOf("ppp")>=0?fa="ppp":Re.decoration.indexOf("pp")>=0?fa="pp":Re.decoration.indexOf("p")>=0?fa="p":Re.decoration.indexOf("mp")>=0?fa="mp":Re.decoration.indexOf("mf")>=0?fa="mf":Re.decoration.indexOf("f")>=0?fa="f":Re.decoration.indexOf("ff")>=0?fa="ff":Re.decoration.indexOf("fff")>=0?fa="fff":Re.decoration.indexOf("ffff")>=0&&(fa="ffff"),fa){X=pt[fa].slice(0);let ta=[X];Array.isArray(Re.decoration)&&(ta=[],Re.decoration.forEach(di=>{di in pt&&ta.push(pt[di].slice(0))})),y[se].push({el_type:"beat",beats:X.slice(0),volumesPerNotePitch:ta}),q[Oe]=!1,L[Oe]=!1}if(Re.decoration.indexOf("crescendo(")>=0){var wt=c(Ze,fe,"crescendo)"),hi=Math.min(127,X[0]+V),Sa=s(Ze,fe+wt+1,Object.keys(pt));Sa&&(hi=pt[Sa][0]),wt>0?q[Oe]=Math.floor((hi-X[0])/wt):q[Oe]=!1,L[Oe]=!1}else if(Re.decoration.indexOf("crescendo)")>=0)q[Oe]=!1;else if(Re.decoration.indexOf("diminuendo(")>=0){var Ca=c(Ze,fe,"diminuendo)"),ha=Math.max(15,X[0]-V),La=s(Ze,fe+Ca+1,Object.keys(pt));La&&(ha=pt[La][0]),q[Oe]=!1,Ca>0?L[Oe]=Math.floor((ha-X[0])/Ca):L[Oe]=!1}else Re.decoration.indexOf("diminuendo)")>=0&&(L[Oe]=!1)}};for(var Me=ke.staff,se=0,je=0;je=0?(y[se].push({el_type:"transpose",transpose:-12}),x[se]=!0):ue.clef.type.indexOf("+8")>=0?(y[se].push({el_type:"transpose",transpose:12}),x[se]=!0):x[se]&&(y[se].push({el_type:"transpose",transpose:0}),x[se]=!1)),g.formatting.midi&&g.formatting.midi.drumoff&&(y[se].push({el_type:"bar"}),y[se].push({el_type:"drum",params:{pattern:"",on:!1}}));var Ot=0,Ct=0,at=0,ie=0;X=[105,95,85,1];for(var fe=0;fe=0?y[se].push({el_type:"transpose",transpose:-12}):te.type.indexOf("+8")>=0&&y[se].push({el_type:"transpose",transpose:12}));break;case"tempo":b=_(te,g.getBeatLength()),y[se].push({el_type:"tempo",qpm:b,timing:Q[se]}),Z[""+Q[se]]={el_type:"tempo",qpm:b,timing:Q[se]};break;case"bar":Ot>0&&y[se].push({el_type:"bar"}),Yt(te),Ot=0,J[se].addBar(te,se);break;case"style":E[se]=te.head;break;case"timeSignature":y[se].push(h(te));break;case"part":break;case"stem":case"scale":case"break":case"font":break;case"midi":var Ge=!1;switch(te.cmd){case"drumon":I=!0,Ge=!0;break;case"drumoff":I=!1,Ge=!0;break;case"drum":R=te.params,Ge=!0;break;case"drumbars":F=te.params[0],Ge=!0;break;case"drummap":break;case"channel":te.params[0]===10&&y[se].push({el_type:"instrument",program:i});break;case"program":o(y[se],{el_type:"instrument",program:te.params[0]}),N=!0;break;case"transpose":y[se].push({el_type:"transpose",transpose:te.params[0]});break;case"gchordoff":y[se].push({el_type:"gchordOn",tacet:!0});break;case"gchordon":y[se].push({el_type:"gchordOn",tacet:!1});break;case"beat":y[se].push({el_type:"beat",beats:te.params});break;case"nobeataccents":y[se].push({el_type:"beataccents",value:!1});break;case"beataccents":y[se].push({el_type:"beataccents",value:!0});break;case"vol":case"volinc":y[se].push({el_type:te.cmd,volume:te.params[0]});break;case"swing":case"gchord":case"bassvol":case"chordvol":y[se].push({el_type:te.cmd,param:te.params[0]});break;case"bassprog":case"chordprog":y[se].push({el_type:te.cmd,value:te.params[0],octaveShift:te.params[1]});break;case"gchordbars":y[se].push({el_type:te.cmd,param:te.params[0]});break;default:console.log("MIDI seq: midi cmd not handled: ",te.cmd,te)}Ge&&(y[0].push({el_type:"drum",params:{pattern:R,bars:F,intro:D,on:I}}),ve=!0);break;default:console.log("MIDI: element type "+te.el_type+" not handled.")}}se++,Q[se]||(Q[se]=0)}}}}for(var Ke=0;Kelt;)lt++;if(y[Ee].length>lt){for(var Fe=0;Fe0&&y[0].length>0&&(y[0][0].pickupLength=g.getPickupLength()),y};function c(g,v,b){for(var k=0,w=v+1;w=0)return k;return k}function s(g,v,b){for(var k=Math.min(g.length,v+3),w=v;w=0)return g[w].decoration[T]}return null}function d(g,v){if(!(!v||v.length===0))for(var b=Object.keys(v),k=0;k=0&&T!==v[""+R.timing].qpm&&(T=v[""+R.timing].qpm,R.el_type==="tempo"?(R.qpm=v[""+R.timing].qpm,N++):(g[k].splice(N,0,{el_type:"tempo",qpm:v[""+R.timing].qpm,timing:R.timing}),N+=2))}}function p(g){for(var v=0;v=0&&b[k].el_type!=="bar";)b[k].noChordVoice=!0,k--}function m(g,v){if(!(!g||g.length<=v||!g[v].title))return g[v].title.join(" ")}function _(g,v){var b=.25;g.duration&&(b=g.duration[0]);var k=60;return g.bpm&&(k=g.bpm),b*k/v}function h(g){var v;switch(g.type){case"common_time":v={el_type:"meter",num:4,den:4},n=4/4;break;case"cut_time":v={el_type:"meter",num:2,den:2},n=2/2;break;case"specified":let w=0;if(g.value&&g.value.length>0&&g.value[0].num.indexOf("+")>0)for(var b=g.value[0].num.split("+"),k=0;k=0;b--)if(g[b].el_type===v.el_type){JSON.stringify(g[b])!==JSON.stringify(v)&&g.push(v);return}g.push(v)}})(),Tu=t,Tu}var qu,xh;function v4(){if(xh)return qu;xh=1;var t=function(_,h,f,u){this.chordTrack=[],this.chordTrackFinished=!1,this.chordChannel=_,this.currentChords=[],this.lastChord,this.chordLastBar,this.chordsOff=!!h,this.gChordTacet=this.chordsOff,this.hasRhythmHead=!1,this.transpose=0,this.lastBarTime=0,this.meter=u,this.tempoChangeFactor=1,this.bassInstrument=f.bassprog&&f.bassprog.length>=1?f.bassprog[0]:0,this.chordInstrument=f.chordprog&&f.chordprog.length>=1?f.chordprog[0]:0,this.bassOctaveShift=f.bassprog&&f.bassprog.length===2?f.bassprog[1]:0,this.chordOctaveShift=f.chordprog&&f.chordprog.length===2?f.chordprog[1]:0,this.boomVolume=f.bassvol&&f.bassvol.length===1?f.bassvol[0]:64,this.chickVolume=f.chordvol&&f.chordvol.length===1?f.chordvol[0]:48,f.gchord&&f.gchord.length>0?this.overridePattern=n(f.gchord[0]):this.overridePattern=void 0};t.prototype.setMeter=function(m){this.meter=m},t.prototype.setTempoChangeFactor=function(m){this.tempoChangeFactor=m},t.prototype.setLastBarTime=function(m){this.lastBarTime=m},t.prototype.setTranspose=function(m){this.transpose=m},t.prototype.setRhythmHead=function(m,_){this.hasRhythmHead=m;var h=[];if(m&&this.lastChord&&this.lastChord.chick)for(var f=0;f0&&!this.chordTrackFinished&&(this.resolveChords(this.lastBarTime,d(m.time)),this.currentChords=[]),this.chordLastBar=this.lastChord},t.prototype.gChordOn=function(m){this.chordsOff||(this.gChordTacet=m.tacet)},t.prototype.paramChange=function(m){switch(m.el_type){case"gchord":m.param&&m.param.length>0?this.overridePattern=n(m.param):this.overridePattern=void 0;break;case"bassprog":this.bassInstrument=m.value,m.octaveShift!=null&&m.octaveShift!=null?this.bassOctaveShift=m.octaveShift:this.bassOctaveShift=0;break;case"chordprog":this.chordInstrument=m.value,m.octaveShift!=null&&m.octaveShift!=null?this.chordOctaveShift=m.octaveShift:this.chordOctaveShift=0;break;case"bassvol":this.boomVolume=m.param;break;case"chordvol":this.chickVolume=m.param;break;default:console.log("unhandled midi param",m)}},t.prototype.finish=function(){this.chordTrackEmpty()||(this.chordTrackFinished=!0)},t.prototype.addTrack=function(m){this.chordTrackEmpty()||m.push(this.chordTrack)},t.prototype.findChord=function(m){if(this.gChordTacet)return"break";if(this.chordTrackFinished||!m.chord||m.chord.length===0)return null;for(var _=0;_=0)return"break"}return null},t.prototype.interpretChord=function(m){if(m.length!==0){if(m==="break")return{chick:[]};var _=m.substring(0,1);if(_==="("){if(m=m.substring(1,m.length-1),m.length===0)return;_=m.substring(0,1)}var h=this.basses[_];if(h){for(var f=this.transpose;f<-8;)f+=12;for(;f>8;)f-=12;h+=f,h<33?h+=12:h>44&&(h-=12);var u=h;h+=this.bassOctaveShift*12;var l=h-5,o;m.length===1&&(o=this.chordNotes(h,""));var g=m.substring(1),v=g.substring(0,1);v==="b"||v==="♭"?(u--,h--,l--,g=g.substring(1)):(v==="#"||v==="♯")&&(u++,h++,l++,g=g.substring(1));var b=g.split("/");if(o=this.chordNotes(u,b[0]),o.length>=3){var k=o[2]-o[0];l=l+k-7}if(b.length===2){var w=this.basses[b[1].substring(0,1)];if(w){var T=b[1].substring(1),N={"#":1,"♯":1,b:-1,"♭":-1}[T]||0;h=this.basses[b[1].substring(0,1)]+N+f,h+=this.bassOctaveShift*12,l=h}}return{boom:h,boom2:l,chick:o}}}},t.prototype.chordNotes=function(m,_){_=_.replace(/♭/g,"b").replace(/♯/g,"#");var h=s[_];h||(_.slice(0,2).toLowerCase()==="ma"||_[0]==="M"?h=s.M:_[0]==="m"||_[0]==="-"?h=s.m:h=s.M),m+=12,m+=this.chordOctaveShift*12;for(var f=[],u=0;u0&&v[w-1]&&v[w]&&v[w-1].boom!==v[w].boom&&(T=!0);var R=b[w],F=R.indexOf("boom")>=0,D=!F&&w!==0&&b[0].indexOf("boom")>=0&&(!v[w-1]||v[w-1].boom!==v[w].boom),I=a(v[w],R,T,D);F&&(T=!1);for(var S=0;S=0?u.push(h?m.boom:m.boom2):f&&u.push(m.boom);var l=m.chick.length;if(_.indexOf("chick")>=0)for(var o=0;o0&&ie[0].length>0&&(G=ie[0][0].pickupLength),fe.bassprog!==void 0&&!ce.bassprog&&(ce.bassprog=[fe.bassprog]),fe.bassvol!==void 0&&!ce.bassvol&&(ce.bassvol=[fe.bassvol]),fe.chordprog!==void 0&&!ce.chordprog&&(ce.chordprog=[fe.chordprog]),fe.chordvol!==void 0&&!ce.chordvol&&(ce.chordvol=[fe.chordvol]),fe.gchord!==void 0&&!ce.gchord&&(ce.gchord=[fe.gchord]),l=new a(ie.length,fe.chordsOff,ce,o),L(ie,fe);for(var _e=0;_e=0)&&(Ge=!0);for(var Ke=0;Ke0&&h[h.length-1].cmd==="program")h[h.length-1].instrument=we.program;else{var Ee;for(Ee=h.length-1;Ee>=0&&h[Ee].cmd!=="program";Ee--);(Ee<0||h[Ee].instrument!==we.program)&&h.push({cmd:"program",channel:0,instrument:we.program})}break;case"channel":y(we.channel);break;case"drum":E=ht(we.params),Ot();break;case"gchordOn":l.gChordOn(we);break;case"beat":k=we.beats[0],w=we.beats[1],T=we.beats[2],we.volumesPerNotePitch?N=we.volumesPerNotePitch:N=[];break;case"vol":F=we.volume;break;case"volinc":D=we.volume;break;case"beataccents":b=we.value;break;case"gchord":case"bassprog":case"chordprog":case"bassvol":case"chordvol":case"gchordbars":l.paramChange(we);break;default:console.log("MIDI creation. Unknown el_type: "+we.el_type+` +`);break}}h[0].instrument===void 0&&(h[0].instrument=m||0),f&&h.unshift(f),s.push(h),l.finish(),S.length>0}return fe.detuneOctave&&at(s,parseInt(fe.detuneOctave,10)),l.addTrack(s),S.length>0&&s.push(S),{tempo:d,instrument:m,tracks:s,totalDuration:u}};function y(ie){for(var fe=h.length-1;fe>=0;fe--)if(h[fe].cmd==="program"){h[fe].channel=ie;return}}function x(ie){return ie/1e6}function q(ie){return Math.round(ie*p*1e6)/1e6}function L(ie,fe){for(var te=0;te=te+1&&(ce=N[te][0],_e=N[te][1],Fe=N[te][2]);var Ge;if(F!==void 0)Ge=F,F=void 0;else if(!b)Ge=_e;else if(G>ie)Ge=Fe;else{var Ke=Z(v,Q(o),ie);Ke===0?Ge=ce:parseInt(Ke,10)===Ke?Ge=_e:Ge=Fe}return D&&(Ge+=D,D=void 0),Ge<0&&(Ge=0),Ge>127&&(Ge=127),fe?0:Ge}function J(ie,fe){var te={};if(ie.decoration)for(var ce=0;ce0;)h.push({cmd:"note",pitch:fe.pitch+Fe,volume:fe.volume,start:te,duration:_e,gap:0,instrument:_,style:"decoration"}),Fe=Fe===2?0:2,ce-=_e,te+=_e;break;case"trillh":for(var Fe=1;ce>0;)h.push({cmd:"note",pitch:fe.pitch+Fe,volume:fe.volume,start:te,duration:_e,gap:0,instrument:_,style:"decoration"}),Fe=Fe===1?0:1,ce-=_e,te+=_e;break;case"pralltriller":h.push({cmd:"note",pitch:fe.pitch,volume:fe.volume,start:te,duration:_e,gap:0,instrument:_,style:"decoration"}),ce-=_e,te+=_e,h.push({cmd:"note",pitch:fe.pitch+2,volume:fe.volume,start:te,duration:_e,gap:0,instrument:_,style:"decoration"}),ce-=_e,te+=_e,h.push({cmd:"note",pitch:fe.pitch,volume:fe.volume,start:te,duration:ce,gap:0,instrument:_});break;case"mordent":case"lowermordent":h.push({cmd:"note",pitch:fe.pitch,volume:fe.volume,start:te,duration:_e,gap:0,instrument:_,style:"decoration"}),ce-=_e,te+=_e,h.push({cmd:"note",pitch:fe.pitch-2,volume:fe.volume,start:te,duration:_e,gap:0,instrument:_,style:"decoration"}),ce-=_e,te+=_e,h.push({cmd:"note",pitch:fe.pitch,volume:fe.volume,start:te,duration:ce,gap:0,instrument:_});break;case"turn":_e=fe.duration/4,h.push({cmd:"note",pitch:fe.pitch+2,volume:fe.volume,start:te,duration:_e,gap:0,instrument:_,style:"decoration"}),h.push({cmd:"note",pitch:fe.pitch,volume:fe.volume,start:te+_e,duration:_e,gap:0,instrument:_,style:"decoration"}),h.push({cmd:"note",pitch:fe.pitch-1,volume:fe.volume,start:te+_e*2,duration:_e,gap:0,instrument:_,style:"decoration"}),h.push({cmd:"note",pitch:fe.pitch,volume:fe.volume,start:te+_e*3,duration:_e,gap:0,instrument:_,style:"decoration"});break;case"roll":for(;ce>0;)h.push({cmd:"note",pitch:fe.pitch,volume:fe.volume,start:te,duration:_e,gap:0,instrument:_,style:"decoration"}),ce-=_e*2,te+=_e*2;break}}function re(ie,fe){var te=X(x(ie.time),fe);l.processChord(ie);var ce;if(ie.gracenotes&&ie.pitches&&ie.pitches.length>0&&ie.pitches[0]&&(ce=je(ie.gracenotes,ie.pitches[0].duration),ie.elem&&(ie.elem.midiGraceNotePitches=ue(ce,x(ie.time),te*2/3,_))),ie.elem){var _e=x(ie.time),Fe=_e/R/d*60*1e3;if(ie.elem.currentTrackMilliseconds===void 0)ie.elem.currentTrackMilliseconds=Fe,ie.elem.currentTrackWholeNotes=_e;else if(ie.elem.currentTrackMilliseconds.length===void 0)ie.elem.currentTrackMilliseconds!==Fe&&(ie.elem.currentTrackMilliseconds=[ie.elem.currentTrackMilliseconds,Fe],ie.elem.currentTrackWholeNotes=[ie.elem.currentTrackWholeNotes,_e]);else{for(var Ge=!1,Ke=0;KeYt&&(Ca=X(x(ie.time),fe,Yt));var Re=lt[Yt];if(Re){Re.startSlur&&(I+=Re.startSlur.length),Re.endSlur&&(I-=Re.endSlur.length);var pt=Re.actualPitch?Re.actualPitch:Me(Re);if(_===g&&$){var fa=r(Re);fa&&$[fa]&&(pt=$[fa].sound)}var wt={cmd:"note",pitch:pt,volume:Ca,start:x(ie.time),duration:q(Re.duration),instrument:_,startChar:ie.elem.startChar,endChar:ie.elem.endChar};if(wt=Oe(wt),ie.gracenotes&&(wt.duration=wt.duration/2,wt.start=wt.start+wt.duration),ie.elem&&ie.elem.midiPitches.push(wt),Ee.noteModification)ve(Ee.noteModification,wt);else{switch(I>0?wt.endType="tenuto":we&&(wt.endType=we),wt.endType){case"tenuto":wt.gap=A;break;case"staccato":var hi=wt.duration*P;wt.gap=d/60*hi;break;default:wt.gap=C;break}h.push(wt)}}}h.length-1}var Sa=Ae(ie);u=Math.max(u,x(ie.time)+q(Sa))}function Ae(ie){return ie.pitches&&ie.pitches.length>0&&ie.pitches[0]?ie.pitches[0].duration:ie.elem?ie.elem.duration:ie.duration}var ke=[0,2,4,5,7,9,11];function Me(ie){if(ie.midipitch!==void 0)return ie.midipitch;var fe=ie.pitch;if(ie.accidental)switch(ie.accidental){case"sharp":n[fe]=1;break;case"flat":n[fe]=-1;break;case"natural":n[fe]=0;break;case"dblsharp":n[fe]=2;break;case"dblflat":n[fe]=-2;break;case"quartersharp":n[fe]=.25;break;case"quarterflat":n[fe]=-.25;break}var te=Ze(fe)*12+ke[Bt(fe)]+60;return n[fe]!==void 0?te+=n[fe]:te+=i[Bt(fe)],te+=c,te}function se(ie){var fe=[0,0,0,0,0,0,0];if(!ie.accidentals)return fe;for(var te=0;te=0?(ie.pitch=Math.round(ie.pitch),ie.cents=-50):fe.indexOf(".25")>=0&&(ie.pitch=Math.round(ie.pitch),ie.cents=50),ie}function Ze(ie){return Math.floor(ie/7)}function Bt(ie){return ie=ie%7,ie<0&&(ie+=7),ie}function ht(ie){if(ie.pattern.length===0||ie.on===!1)return{on:!1};for(var fe=ie.pattern[0],te=[],ce="",_e=0,Fe=0;Fe1){Ke=Ke.sort(function(Re,pt){return Re.pitch-pt.pitch});var we=Ke[Ke.length-1],Ee=we.pitch%12,lt=!1;for(_e=0;!lt&&_e=u&&(l-=u),b[w].el_type==="bar")return l}return l}this.getPickupLength=function(){var f=this.getBarLength(),u=d(this.lines,f);return u<1e-8||f-u<1e-8?0:u},this.getBarLength=function(){var f=this.getMeterFraction();return f.num/f.den},this.getTotalTime=function(){return this.totalTime},this.getTotalBeats=function(){return this.totalBeats},this.millisecondsPerMeasure=function(f){var u;if(f)u=f;else{var l=this.metaText?this.metaText.tempo:null;u=this.getBpm(l)}u<=0&&(u=1);var o=this.getBeatsPerMeasure(),g=o/u;return g*6e4},this.getBeatsPerMeasure=function(){var f=this.getBeatLength(),u=this.getBarLength();return u/f},this.getMeter=function(){for(var f=0;f0&&f.value[0].num.indexOf("+")>0){var o=f.value[0].num.split("+");u=0;for(var g=0;gf)return w}}return null};function p(f){for(var u,l,o,g,v=f.length-1;v>=0;v--){var b=f[v];b.type==="bar"?(b.top=o,b.nextTop=u,u=o,b.bottom=g,b.nextBottom=l,l=g):b.type==="event"&&(o=b.top,g=b.top+b.height)}}function m(f){var u=[];for(var l in f)f.hasOwnProperty(l)&&u.push(f[l]);return u=u.sort(function(o,g){var v=o.milliseconds-g.milliseconds;return v!==0?v:o.type==="bar"?-1:1}),u}this.addElementToEvents=function(f,u,l,o,g,v,b,k,w,T){if(u.hint)return{isTiedState:void 0,duration:0};var N=u.durationClass?u.durationClass:u.duration;if(u.abcelem.rest&&u.abcelem.rest.type==="spacer"&&(N=0),N>0){for(var R=[],F=0;F0){var v=g.staffs[0],b=v.absoluteY,k=b-v.top*a.STEP,w=g.staffs[g.staffs.length-1];b=w.absoluteY;for(var T=b-w.bottom*a.STEP,N=T-k,R=g.voices,F=0;F0&&v["event"+D]&&(y="event"+D),D=Math.round(F*1e3),A.type==="bar"){var x=A.abcelem.type,q=x==="bar_right_repeat"||x==="bar_dbl_repeat",L=A.abcelem.startEnding==="1",Q=x==="bar_left_repeat"||x==="bar_dbl_repeat"||x==="bar_right_repeat";if(q){$>0&&(v[y].endX=A.x),S===-1&&(S=$);var Z=0;G=-1;for(var X=I;Xo.left&&(o.endX=Math.min(o.endX,v)):o.endX=v}}var b=u[u.length-1];b.endX=f[b.line].staffGroup.w}}this.getBpm=function(f){var u;if(f||(f=this.metaText?this.metaText.tempo:null),f){u=f.bpm;var l=this.getBeatLength(),o=f.duration&&f.duration.length>0?f.duration[0]:l;u=u*o/l}if(!u){u=180;var g=this.getMeterFraction();g&&g.num!==3&&g.num%3===0&&(u=120)}return u},this.setTiming=function(f,u){if(u=u||0,!this.engraver||!this.engraver.staffgroups)return console.log("setTiming cannot be called before the tune is drawn."),this.noteTimings=[],this.noteTimings;var l=this.metaText?this.metaText.tempo:null,o=this.getBpm(l),g=1;f?l&&(g=f/o):f=o;var v=this.getBeatLength(),b=f/60,k=this.getBarLength(),w=k/v*u/b;w&&(w-=this.getPickupLength()/v/b);var T=v*b;return this.noteTimings=this.setupEvents(w,T,f,g),this.noteTimings.length>0?(this.totalTime=this.noteTimings[this.noteTimings.length-1].milliseconds/1e3,this.totalBeats=this.totalTime*b):(this.totalTime=void 0,this.totalBeats=void 0),this.noteTimings},this.setUpAudio=function(f){f||(f={});var u=r(this,f);return n(u,f,this.formatting.percmap,this.formatting.midi)},this.deline=function(f){return i(this.lines,f)},this.findSelectableElement=function(f){return this.engraver&&this.engraver.selectables?this.engraver.findSelectableElement(f):null},this.getSelectableArray=function(){return this.engraver&&this.engraver.selectables?this.engraver.selectables:[]}};return Cu=c,Cu}var Mu,Ah;function k4(){if(Ah)return Mu;Ah=1;var t=vu(),a=function(S){var E=this,V={},G="";S.reset(),this.setVisualTranspose=function($){$!==void 0&&(S.visualTranspose=$)},this.cleanUp=function($,C,A){u(S),delete S.runningFonts,n(S),S.metaText.tempo&&S.metaText.tempo.bpm&&!S.metaText.tempo.duration&&(S.metaText.tempo.duration=[S.getBeatLength()]),I(S);var P=!1,y,x,q;for(y=0;y0&&re[re.length-1].barNumber){var ke=_(S.lines,y);ke&&(ke.staff[0].barNumber=re[re.length-1].barNumber),delete re[re.length-1].barNumber}}}return delete S.staffNum,delete S.voiceNum,delete S.lineNum,delete S.potentialStartBeam,delete S.potentialEndBeam,delete S.vskipPending,A},this.addTieToLastNote=function($){var C=h(S);return C&&C.pitches&&C.pitches.length>0?(C.pitches[0].startTie={},$&&(C.pitches[0].startTie.style="dotted"),!0):!1},this.appendElement=function($,C,A,P){if(P.el_type=$,C!==null&&(P.startChar=C),A!==null&&(P.endChar=A),$==="note"){var y=f(P);y>=.25||P.force_end_beam_last&&S.potentialStartBeam!==void 0?k(S):P.end_beam&&S.potentialStartBeam!==void 0?P.rest===void 0?b(P,S):k(S):P.rest===void 0&&(S.potentialStartBeam===void 0?P.end_beam||(S.potentialStartBeam=P,delete S.potentialEndBeam):S.potentialEndBeam=P)}else k(S);return delete P.end_beam,delete P.force_end_beam_last,P.rest&&P.rest.type==="invisible"&&delete P.decoration,S.lines.length<=S.lineNum||S.lines[S.lineNum].staff.length<=S.staffNum?!1:(v(E,S,P,V,G),!0)},this.appendStartingElement=function($,C,A,P){u(S);var y;$==="key"&&(y=P.impliedNaturals,delete P.impliedNaturals,delete P.explicitAccidentals);var x=Object.assign({},P);if(S.lines[S.lineNum]){var q=S.lines[S.lineNum].staff;if(q){q.length<=S.staffNum&&(q[S.staffNum]={},q[S.staffNum].clef=Object.assign({},q[0].clef),q[S.staffNum].key=Object.assign({},q[0].key),q[0].meter&&(q[S.staffNum].meter=Object.assign({},q[0].meter)),q[S.staffNum].workingClef=Object.assign({},q[0].workingClef),q[S.staffNum].voices=[[]]),$==="clef"&&(q[S.staffNum].workingClef=x);for(var L=q[S.staffNum].voices[S.voiceNum],Q=0;Q0){var A=C[C.length-1];if(A.el_type==="bar")A.barNumber!==void 0&&(A.barNumber=$);else return $-1}return $},this.hasBeginMusic=function(){for(var $=0;$=0;C--)if(S.lines[C].staff!==void 0)return!1;return!0},this.getCurrentVoice=function(){var $=m(S.lines,S.lineNum);if(!$)return null;var C=$.staff[S.staffNum];return C&&C.voices[S.voiceNum]!==void 0?C.voices[S.voiceNum]:null},this.setCurrentVoice=function($,C,A){S.staffNum=$,S.voiceNum=C,G=A;for(var P=0;P{C.voices.length>=Me.voices.length&&Me.voices.forEach(oe=>{let ze=[];oe.forEach(ue=>{ue.el_type==="bar"?ze.push(ue):ue.el_type==="note"&&ze.push({el_type:"note",duration:ue.duration,rest:{type:"invisible"},startChar:ue.startChar,endChar:ue.endChar})}),Me.voices.push(ze)})})}else Z.el_type==="bar"?(q?(q=!1,A[B].snip.push({start:L,len:Q-L}),A[B].voice.push(Z)):(x>0&&A[B].voice.push({el_type:"note",duration:x,rest:{type:"invisible"},startChar:Z.startChar,endChar:Z.endChar}),A[B].voice.push(Z)),x=0):Z.el_type==="note"?q?A[B].voice.push(Z):(!Z.rest||Z.rest.type!=="spacer")&&(x+=Z.duration):(Z.el_type==="scale"||Z.el_type==="stem"||Z.el_type==="overlay"||Z.el_type==="style"||Z.el_type==="transpose"||Z.el_type==="color")&&A[B].voice.push(Z)}A[B].hasOverlay&&A[B].snip.length===0&&A[B].snip.push({start:L,len:y.length-L})}for(B=0;B=0;be--){var re=J.snip[be];C.voices[B].splice(re.start,re.len),C.voices[B].splice(re.start+1,0,{el_type:"stem",direction:"auto"});var Fe=c(C.voices[B],re.start);C.voices[B].splice(Fe,0,{el_type:"stem",direction:"up"})}for(be=0;be0&&S[V].el_type!=="bar";V--);return V}function s(S){for(var j=!0,V=0;V=j&&y=0;){if(S[j].staff)return S[j];j--}return null}function _(S,j){for(j++;S.length>j;){if(S[j].staff)return S[j];j++}return null}function h(S){if(!S.lines[S.lineNum]||!S.lines[S.lineNum].staff||!S.lines[S.lineNum].staff[S.staffNum])return null;var j=S.lines[S.lineNum].staff[S.staffNum].voices[S.voiceNum];if(!j)return null;for(var V=j.length-1;V>=0;V--){var G=j[V];if(G.el_type==="note")return G}return null}function f(S){return S.duration?S.duration:0}function u(S){S.potentialStartBeam&&S.potentialEndBeam&&(S.potentialStartBeam.startBeam=!0,S.potentialEndBeam.endBeam=!0),delete S.potentialStartBeam,delete S.potentialEndBeam}function l(S){for(var j=0;j0){if(G.voices[0]!==void 0){for(var T=!1,C=0;C/g,">")},$=function(G,T,C){T||(T=" ");var A=T[C];(A===" "||!A)&&(A="SPACE");var B=w(T.substring(C-64,C))+''+A+""+w(T.substring(C+1).substring(0,64));b("Music Line:"+f.lineIndex+":"+(C+1)+": "+G+": "+B),k({message:G,line:T,startChar:v.iChar+C,column:C})},N,R;this.getWarnings=function(){return v.warnings},this.getWarningObjects=function(){return v.warningObjects};var F=function(G,T){if(T.indexOf("")>=0){u+=T;return}if(T=u+T,u="",!G){$("Can't add words before the first line of music",G,0);return}T=t.strip(T),T[T.length-1]!=="-"&&(T=T+" ");for(var C=[],A=0,B=!1,y=function(L){var Q=t.strip(T.substring(A,L));if(Q=Q.replace(/\\([-_*|~])/g,"$1"),A=L+1,Q.length>0){B&&(Q=Q.replace(/~/g," "));var Z=T[L];return Z!=="_"&&Z!=="-"&&(Z=" "),C.push({syllable:f.translateString(Q),divider:Z}),B=!1,!0}return!1},x=!1,q=0;q0&&(t.last(C).divider="-",C.push({skip:!0,to:"next"}));break;case"_":x||(y(q),C.push({skip:!0,to:"slur"}));break;case"*":x||(y(q),C.push({skip:!0,to:"next"}));break;case"|":x||(y(q),C.push({skip:!0,to:"bar"}));break;case"~":x||(B=!0);break}x=T[q]==="\\"}G.forEach(function(L){if(C.length!==0){if(C[0].skip){switch(C[0].to){case"next":L.el_type==="note"&&L.pitches!==null&&C.shift();break;case"slur":L.el_type==="note"&&L.pitches!==null&&C.shift();break;case"bar":L.el_type==="bar"&&C.shift();break}L.el_type!=="bar"&&(L.lyric===void 0?L.lyric=[{syllable:"",divider:" "}]:L.lyric.push({syllable:"",divider:" "}))}else if(L.el_type==="note"&&L.rest===void 0){var Q=C.shift();Q.syllable&&(Q.syllable=Q.syllable.replace(/ +/g," ")),L.lyric===void 0?L.lyric=[Q]:L.lyric.push(Q)}}})},D=function(G,T){if(T.indexOf("")>=0){l+=T;return}if(T=l+T,l="",!G){$("Can't add symbols before the first line of music",G,0);return}T=t.strip(T),T[T.length-1]!=="-"&&(T=T+" ");for(var C=[],A=0,B=!1,y=function(q){var L=t.strip(T.substring(A,q));if(A=q+1,L.length>0){B&&(L=L.replace(/~/g," "));var Q=T[q];return Q!=="_"&&Q!=="-"&&(Q=" "),C.push({syllable:f.translateString(L),divider:Q}),B=!1,!0}return!1},x=0;x0&&(t.last(C).divider="-",C.push({skip:!0,to:"next"}));break;case"_":y(x),C.push({skip:!0,to:"slur"});break;case"*":y(x),C.push({skip:!0,to:"next"});break;case"|":y(x),C.push({skip:!0,to:"bar"});break;case"~":B=!0;break}G.forEach(function(q){if(C.length!==0){if(C[0].skip)switch(C[0].to){case"next":q.el_type==="note"&&q.pitches!==null&&C.shift();break;case"slur":q.el_type==="note"&&q.pitches!==null&&C.shift();break;case"bar":q.el_type==="bar"&&C.shift();break}else if(q.el_type==="note"&&q.rest===void 0){var L=C.shift();q.lyric===void 0?q.lyric=[L]:q.lyric.push(L)}}})},I=function(G){if(t.startsWith(G,"%%")){var T=a.addDirective(G.substring(2));T&&$(T,G,2);return}var C=G.indexOf("%");if(C>=0&&(G=G.substring(0,C)),G=G.replace(/\s+$/,""),G.length!==0){if(u){F(h.getCurrentVoice(),G.substring(2));return}if(l){D(h.getCurrentVoice(),G.substring(2));return}if(G.length<2||G[1]!==":"||R.lineContinuation){R.parseMusic(G);return}var A=N.parseHeader(G);A.regular&&R.parseMusic(G),A.newline&&R.startNewLine(),A.words&&F(h.getCurrentVoice(),G.substring(2)),A.symbols&&D(h.getCurrentVoice(),G.substring(2))}};function S(G,T){G.push({el_type:"hint"});for(var C=0;C{C.voices.length>=Me.voices.length&&Me.voices.forEach(se=>{let je=[];se.forEach(ue=>{ue.el_type==="bar"?je.push(ue):ue.el_type==="note"&&je.push({el_type:"note",duration:ue.duration,rest:{type:"invisible"},startChar:ue.startChar,endChar:ue.endChar})}),Me.voices.push(je)})})}else Z.el_type==="bar"?(q?(q=!1,A[P].snip.push({start:L,len:Q-L}),A[P].voice.push(Z)):(x>0&&A[P].voice.push({el_type:"note",duration:x,rest:{type:"invisible"},startChar:Z.startChar,endChar:Z.endChar}),A[P].voice.push(Z)),x=0):Z.el_type==="note"?q?A[P].voice.push(Z):(!Z.rest||Z.rest.type!=="spacer")&&(x+=Z.duration):(Z.el_type==="scale"||Z.el_type==="stem"||Z.el_type==="overlay"||Z.el_type==="style"||Z.el_type==="transpose"||Z.el_type==="color")&&A[P].voice.push(Z)}A[P].hasOverlay&&A[P].snip.length===0&&A[P].snip.push({start:L,len:y.length-L})}for(P=0;P=0;ve--){var re=J.snip[ve];C.voices[P].splice(re.start,re.len),C.voices[P].splice(re.start+1,0,{el_type:"stem",direction:"auto"});var Ae=c(C.voices[P],re.start);C.voices[P].splice(Ae,0,{el_type:"stem",direction:"up"})}for(ve=0;ve0&&S[V].el_type!=="bar";V--);return V}function s(S){for(var E=!0,V=0;V=E&&y=0;){if(S[E].staff)return S[E];E--}return null}function _(S,E){for(E++;S.length>E;){if(S[E].staff)return S[E];E++}return null}function h(S){if(!S.lines[S.lineNum]||!S.lines[S.lineNum].staff||!S.lines[S.lineNum].staff[S.staffNum])return null;var E=S.lines[S.lineNum].staff[S.staffNum].voices[S.voiceNum];if(!E)return null;for(var V=E.length-1;V>=0;V--){var G=E[V];if(G.el_type==="note")return G}return null}function f(S){return S.duration?S.duration:0}function u(S){S.potentialStartBeam&&S.potentialEndBeam&&(S.potentialStartBeam.startBeam=!0,S.potentialEndBeam.endBeam=!0),delete S.potentialStartBeam,delete S.potentialEndBeam}function l(S){for(var E=0;E0){if(G.voices[0]!==void 0){for(var $=!1,C=0;C/g,">")},T=function(G,$,C){$||($=" ");var A=$[C];(A===" "||!A)&&(A="SPACE");var P=w($.substring(C-64,C))+''+A+""+w($.substring(C+1).substring(0,64));b("Music Line:"+f.lineIndex+":"+(C+1)+": "+G+": "+P),k({message:G,line:$,startChar:v.iChar+C,column:C})},N,R;this.getWarnings=function(){return v.warnings},this.getWarningObjects=function(){return v.warningObjects};var F=function(G,$){if($.indexOf("")>=0){u+=$;return}if($=u+$,u="",!G){T("Can't add words before the first line of music",G,0);return}$=t.strip($),$[$.length-1]!=="-"&&($=$+" ");for(var C=[],A=0,P=!1,y=function(L){var Q=t.strip($.substring(A,L));if(Q=Q.replace(/\\([-_*|~])/g,"$1"),A=L+1,Q.length>0){P&&(Q=Q.replace(/~/g," "));var Z=$[L];return Z!=="_"&&Z!=="-"&&(Z=" "),C.push({syllable:f.translateString(Q),divider:Z}),P=!1,!0}return!1},x=!1,q=0;q<$.length;q++){switch($[q]){case" ":case"":y(q);break;case"-":!x&&!y(q)&&C.length>0&&(t.last(C).divider="-",C.push({skip:!0,to:"next"}));break;case"_":x||(y(q),C.push({skip:!0,to:"slur"}));break;case"*":x||(y(q),C.push({skip:!0,to:"next"}));break;case"|":x||(y(q),C.push({skip:!0,to:"bar"}));break;case"~":x||(P=!0);break}x=$[q]==="\\"}G.forEach(function(L){if(C.length!==0){if(C[0].skip){switch(C[0].to){case"next":L.el_type==="note"&&L.pitches!==null&&C.shift();break;case"slur":L.el_type==="note"&&L.pitches!==null&&C.shift();break;case"bar":L.el_type==="bar"&&C.shift();break}L.el_type!=="bar"&&(L.lyric===void 0?L.lyric=[{syllable:"",divider:" "}]:L.lyric.push({syllable:"",divider:" "}))}else if(L.el_type==="note"&&L.rest===void 0){var Q=C.shift();Q.syllable&&(Q.syllable=Q.syllable.replace(/ +/g," ")),L.lyric===void 0?L.lyric=[Q]:L.lyric.push(Q)}}})},D=function(G,$){if($.indexOf("")>=0){l+=$;return}if($=l+$,l="",!G){T("Can't add symbols before the first line of music",G,0);return}$=t.strip($),$[$.length-1]!=="-"&&($=$+" ");for(var C=[],A=0,P=!1,y=function(q){var L=t.strip($.substring(A,q));if(A=q+1,L.length>0){P&&(L=L.replace(/~/g," "));var Q=$[q];return Q!=="_"&&Q!=="-"&&(Q=" "),C.push({syllable:f.translateString(L),divider:Q}),P=!1,!0}return!1},x=0;x<$.length;x++)switch($[x]){case" ":case"":y(x);break;case"-":!y(x)&&C.length>0&&(t.last(C).divider="-",C.push({skip:!0,to:"next"}));break;case"_":y(x),C.push({skip:!0,to:"slur"});break;case"*":y(x),C.push({skip:!0,to:"next"});break;case"|":y(x),C.push({skip:!0,to:"bar"});break;case"~":P=!0;break}G.forEach(function(q){if(C.length!==0){if(C[0].skip)switch(C[0].to){case"next":q.el_type==="note"&&q.pitches!==null&&C.shift();break;case"slur":q.el_type==="note"&&q.pitches!==null&&C.shift();break;case"bar":q.el_type==="bar"&&C.shift();break}else if(q.el_type==="note"&&q.rest===void 0){var L=C.shift();q.lyric===void 0?q.lyric=[L]:q.lyric.push(L)}}})},I=function(G){if(t.startsWith(G,"%%")){var $=a.addDirective(G.substring(2));$&&T($,G,2);return}var C=G.indexOf("%");if(C>=0&&(G=G.substring(0,C)),G=G.replace(/\s+$/,""),G.length!==0){if(u){F(h.getCurrentVoice(),G.substring(2));return}if(l){D(h.getCurrentVoice(),G.substring(2));return}if(G.length<2||G[1]!==":"||R.lineContinuation){R.parseMusic(G);return}var A=N.parseHeader(G);A.regular&&R.parseMusic(G),A.newline&&R.startNewLine(),A.words&&F(h.getCurrentVoice(),G.substring(2)),A.symbols&&D(h.getCurrentVoice(),G.substring(2))}};function S(G,$){G.push({el_type:"hint"});for(var C=0;C<$.length;C++){var A=$[C],P=Object.assign({},A);if(G.push(P),A.el_type==="bar")return}}function E(G,$){for(var C=0;C1){for(var B=1;B0&&A[B][0]!==` -`;)A[B]=A[B].substr(1),A[B-1]+=" ";G=A.join(" ")}G=G.replace(/\\%/g,"​%"),G=G.replace(/\\([ \t]*)(%.*)*\n/g,function(X,J,be){var re=be?Array(be.length+1).join(" "):"";return J+""+re+` +\\`);if(A.length>1){for(var P=1;P0&&A[P][0]!==` +`;)A[P]=A[P].substr(1),A[P-1]+=" ";G=A.join(" ")}G=G.replace(/\\%/g,"​%"),G=G.replace(/\\([ \t]*)(%.*)*\n/g,function(X,J,ve){var re=ve?Array(ve.length+1).join(" "):"";return J+""+re+` `});var y=G.split(` -`);t.last(y).length===0&&y.pop(),f=new i(y,v),N=new r(f,$,v,_,h),R=new n(f,$,v,_,h,N),T.print&&(_.media="print"),v.reset(),v.iChar=C,T.visualTranspose?(v.globalTranspose=parseInt(T.visualTranspose),v.globalTranspose===0?v.globalTranspose=void 0:h.setVisualTranspose(T.visualTranspose)):v.globalTranspose=void 0,T.lineBreaks&&(v.lineBreaks=T.lineBreaks),N.reset(f,$,v,_);try{T.format&&a.globalFormatting(T.format);for(var x=f.nextLine();x;){if(T.header_only&&v.is_in_header===!1||T.stop_on_warning&&v.warnings)throw"normal_abort";var q=v.is_in_header;I(x),q&&!v.is_in_header&&(h.setRunningFont("annotationfont",v.annotationfont),h.setRunningFont("gchordfont",v.gchordfont),h.setRunningFont("tripletfont",v.tripletfont),h.setRunningFont("vocalfont",v.vocalfont)),x=f.nextLine()}u&&F(h.getCurrentVoice(),""),l&&D(h.getCurrentVoice(),""),v.openSlurs=h.cleanUp(v.barsperstaff,v.staffnonote,v.openSlurs)}catch(X){if(X!=="normal_abort")throw X}var L=792,Q=8.5*72;switch(v.papersize){case"legal":L=1008,Q=8.5*72;break;case"A4":L=11.7*72,Q=8.3*72;break}if(v.landscape){var Z=L;L=Q,Q=Z}if(_.formatting.pagewidth||(_.formatting.pagewidth=Q),_.formatting.pageheight||(_.formatting.pageheight=L),T.hint_measures&&V(),c.wrapLines(_,v.lineBreaks,v.barNumbers),T.chordGrid)try{_.chordGrid=s(_)}catch(X){switch(X.message){case"notCommonTime":$("Chord grid only works for 2/2 and 4/4 time.",0,0);break;case"noChords":$("No chords are found in the tune.",0,0);break;default:$(X.message,0,0)}}}};return zu=m,zu}var ju,Ch;function v4(){if(Ch)return ju;Ch=1;var t=tr(),a=function(r){var n="",i=r.match(/(\s*)/);r=t.strip(r);for(var c=r.split(` +`);t.last(y).length===0&&y.pop(),f=new i(y,v),N=new r(f,T,v,_,h),R=new n(f,T,v,_,h,N),$.print&&(_.media="print"),v.reset(),v.iChar=C,$.visualTranspose?(v.globalTranspose=parseInt($.visualTranspose),v.globalTranspose===0?v.globalTranspose=void 0:h.setVisualTranspose($.visualTranspose)):v.globalTranspose=void 0,$.lineBreaks&&(v.lineBreaks=$.lineBreaks),N.reset(f,T,v,_);try{$.format&&a.globalFormatting($.format);for(var x=f.nextLine();x;){if($.header_only&&v.is_in_header===!1||$.stop_on_warning&&v.warnings)throw"normal_abort";var q=v.is_in_header;I(x),q&&!v.is_in_header&&(h.setRunningFont("annotationfont",v.annotationfont),h.setRunningFont("gchordfont",v.gchordfont),h.setRunningFont("tripletfont",v.tripletfont),h.setRunningFont("vocalfont",v.vocalfont)),x=f.nextLine()}u&&F(h.getCurrentVoice(),""),l&&D(h.getCurrentVoice(),""),v.openSlurs=h.cleanUp(v.barsperstaff,v.staffnonote,v.openSlurs)}catch(X){if(X!=="normal_abort")throw X}var L=792,Q=8.5*72;switch(v.papersize){case"legal":L=1008,Q=8.5*72;break;case"A4":L=11.7*72,Q=8.3*72;break}if(v.landscape){var Z=L;L=Q,Q=Z}if(_.formatting.pagewidth||(_.formatting.pagewidth=Q),_.formatting.pageheight||(_.formatting.pageheight=L),$.hint_measures&&V(),c.wrapLines(_,v.lineBreaks,v.barNumbers),$.chordGrid)try{_.chordGrid=s(_)}catch(X){switch(X.message){case"notCommonTime":T("Chord grid only works for 2/2 and 4/4 time.",0,0);break;case"noChords":T("No chords are found in the tune.",0,0);break;default:T(X.message,0,0)}}}};return zu=m,zu}var Uu,Mh;function w4(){if(Mh)return Uu;Mh=1;var t=ir(),a=function(r){var n="",i=r.match(/(\s*)/);r=t.strip(r);for(var c=r.split(` X:`),s=1;s1&&!t.startsWith(p[0].abc,"X:")){var m=p.shift(),_=m.abc.split(` `);_.forEach(function(f){t.startsWith(f,"%%")&&(n+=f+` `)})}var h=n;return p.forEach(function(f){var u=f.abc.indexOf(` `);u>0&&(f.abc=f.abc.substring(0,u)),f.pure=f.abc,f.abc=n+f.abc,f.title="";var l=f.pure.split("T:");l.length>1&&(l=l[1].split(` `),f.title=t.strip(l[0]));var o=f.pure.substring(2,f.pure.indexOf(` -`));f.id=t.strip(o)}),{header:h,tunes:p}};return ju=a,ju}var Uu,Mh;function b4(){if(Mh)return Uu;Mh=1;function t(a,r){this.numLines=a,this.lineSpace=r,this.verticalSize=this.numLines*this.lineSpace;var n=3;this.bar={pitch:n,pitch2:r*a,height:5}}return t.prototype.bypass=function(a){var r=a.staffGroup.voices;return!!(r.length>0&&r[0].isPercussion)},t.prototype.setRelative=function(a,r,n){switch(a.type){case"bar":r.pitch=this.bar.pitch,r.pitch2=this.bar.pitch2,r.height=this.height;break;case"symbol":var i=this.bar.pitch2/2;if(a.name=="dots.dot")return n?(r.pitch=i,!1):(r.pitch=i+this.lineSpace,!0);break}return n},Uu=t,Uu}var Ru,zh;function Eh(){if(zh)return Ru;zh=1;var t=function(r,n){this.children=[],this.beams=[],this.otherchildren=[],this.w=0,this.duplicate=!1,this.voicenumber=r,this.voicetotal=n,this.bottom=7,this.top=7,this.specialY={tempoHeightAbove:0,partHeightAbove:0,volumeHeightAbove:0,dynamicHeightAbove:0,endingHeightAbove:0,chordHeightAbove:0,lyricHeightAbove:0,lyricHeightBelow:0,chordHeightBelow:0,volumeHeightBelow:0,dynamicHeightBelow:0}};return t.prototype.addChild=function(a){if(a.type==="bar"){for(var r=!0,n=0;r&&n0&&(p.length>0&&p[p.length-1]!==" "&&(p+=" "),p+=r),s.setAttribute("class",p)}};return Bu=t,Bu}var Nu,Uh;function Rh(){if(Uh)return Nu;Uh=1;var t=Pu(),a=function(r,n){r===void 0&&(r="abcjs-note_selected"),n===void 0&&(n="#ff0000"),t(this.elemset,r,"",n)};return Nu=a,Nu}var Du,Bh;function Ph(){if(Bh)return Du;Bh=1;var t=Pu(),a=function(r,n){r===void 0&&(r="abcjs-note_selected"),n===void 0&&(n="#000000"),t(this.elemset,"",r,n)};return Du=a,Du}var Lu,Nh;function po(){if(Nh)return Lu;Nh=1;var t=Rh(),a=Ph(),r=function(i,c,s,d,p,m){m||(m={}),this.tuneNumber=p,this.abcelem=i,this.duration=c,this.durationClass=m.durationClassOveride?m.durationClassOveride:this.duration,this.minspacing=s||0,this.x=0,this.children=[],this.heads=[],this.extra=[],this.extraw=0,this.w=0,this.right=[],this.invisible=!1,this.bottom=void 0,this.top=void 0,this.type=d,i.extraClass&&(this.extraClass=i.extraClass),this.fixed={w:0,t:void 0,b:void 0},this.specialY={tempoHeightAbove:0,partHeightAbove:0,volumeHeightAbove:0,dynamicHeightAbove:0,endingHeightAbove:0,chordHeightAbove:0,lyricHeightAbove:0,lyricHeightBelow:0,chordHeightBelow:0,volumeHeightBelow:0,dynamicHeightBelow:0}};return r.prototype.getFixedCoords=function(){return{x:this.x,w:this.fixed.w,t:this.fixed.t,b:this.fixed.b}},r.prototype.addExtra=function(n){this.fixed.w=Math.max(this.fixed.w,n.dx+n.w),this.fixed.t===void 0?this.fixed.t=n.top:this.fixed.t=Math.max(this.fixed.t,n.top),this.fixed.b===void 0?this.fixed.b=n.bottom:this.fixed.b=Math.min(this.fixed.b,n.bottom),n.dxthis.w&&(this.w=n.dx+n.w),this.right[this.right.length]=n,this._addChild(n)},r.prototype.addFixed=function(n){this._addChild(n)},r.prototype.addFixedX=function(n){this._addChild(n)},r.prototype.addCentered=function(n){var i=n.w/2;-ithis.w&&(this.w=n.dx+i),this.right[this.right.length]=n,this._addChild(n)},r.prototype.setLimit=function(n,i){i[n]&&(this.specialY[n]?this.specialY[n]=Math.max(this.specialY[n],i[n]):this.specialY[n]=i[n])},r.prototype._addChild=function(n){var i=!0;this.abcelem.el_type=="clef"&&n.type=="barNumber"&&(i=!1),n.parent=this,this.children[this.children.length]=n,i&&this.pushTop(n.top),this.pushBottom(n.bottom),this.setLimit("tempoHeightAbove",n),this.setLimit("partHeightAbove",n),this.setLimit("volumeHeightAbove",n),this.setLimit("dynamicHeightAbove",n),this.setLimit("endingHeightAbove",n),this.setLimit("chordHeightAbove",n),this.setLimit("lyricHeightAbove",n),this.setLimit("lyricHeightBelow",n),this.setLimit("chordHeightBelow",n),this.setLimit("volumeHeightBelow",n),this.setLimit("dynamicHeightBelow",n)},r.prototype.pushTop=function(n){n!==void 0&&(this.top===void 0?this.top=n:this.top=Math.max(n,this.top))},r.prototype.pushBottom=function(n){n!==void 0&&(this.bottom===void 0?this.bottom=n:this.bottom=Math.min(n,this.bottom))},r.prototype.setX=function(n){this.x=n;for(var i=0;ithis.top&&(this.top=this.pitch2),this.bottom=c,this.pitch2!==void 0&&this.pitch20?this.top+=s.stemHeight:this.bottom+=s.stemHeight),s.dim&&(this.dim=s.dim),s.position&&(this.position=s.position),s.voiceNumber!==void 0&&(this.voiceNumber=s.voiceNumber),this.height=s.height?s.height:4,s.top&&(this.top=s.top),s.bottom&&(this.bottom=s.bottom),s.name?this.name=s.name:this.c?this.name=this.c:this.name=this.type,s.realWidth?this.realWidth=s.realWidth:this.realWidth=this.w,this.centerVertically=!1,this.type){case"debug":this.chordHeightAbove=this.height;break;case"lyric":s.position&&s.position==="below"?this.lyricHeightBelow=this.height:this.lyricHeightAbove=this.height;break;case"chord":s.position&&s.position==="below"?this.chordHeightBelow=this.height:this.chordHeightAbove=this.height;break;case"text":this.pitch===void 0?s.position&&s.position==="below"?this.chordHeightBelow=this.height:this.chordHeightAbove=this.height:this.centerVertically=!0;break;case"part":this.partHeightAbove=this.height;break}};return t.prototype.getChordDim=function(){if(this.type==="debug"||!this.chordHeightAbove&&!this.chordHeightBelow)return null;var a=0,r=this.type==="chord"?this.realWidth/2:0,n=this.x-r-a,i=n+this.realWidth+a;return{left:n,right:i}},t.prototype.invertLane=function(a){this.lane===void 0&&(this.lane=0),this.lane=a-this.lane-1},t.prototype.putChordInLane=function(a){this.lane=a,this.chordHeightAbove?this.chordHeightAbove=this.height*1.25*this.lane:this.chordHeightBelow=this.height*1.25*this.lane},t.prototype.getLane=function(){return this.lane===void 0?0:this.lane},t.prototype.setX=function(a){this.x=a+this.dx},Vu=t,Vu}var Iu,Lh;function y4(){if(Lh)return Iu;Lh=1;var t=po(),a=ar();function r(o){return o!=null&&o.constructor===Object}function n(o,g){for(var v in g)g.hasOwnProperty(v)&&(Array.isArray(g[v])||r(g[v])||(o[v]=g[v]))}function i(o){var g=new t("",0,0,"",0);return n(g,o),g.top=0,g.bottom=-1,o.abcelem&&(g.abcelem={},n(g.abcelem,o.abcelem),g.abcelem.el_type==="note"&&(g.abcelem.el_type="tabNumber")),o.cloned=g,g}function c(o,g){var v=i(o);if(g)for(var b=o.children,k=!0,w=0;w=0){if(v===g)return o.extra[b].x+o.extra[b].w/2;v++}}return-1}function f(o){if(o.abcelem){var g=o.abcelem;if(g.rest)return g.gracenotes}return null}function u(o,g,v){var b=o.semantics.notesToNumber(g,v);if(b.error)return o.setError(b.error),b;if(b.graces&&b.notes){var k=b.notes.length-1;b.notes[k].graces=b.graces}return b}function l(o,g,v,b,k){for(var w=0;w=0&&(o.semantics.clefTranspose=-12),S.abcelem.type.indexOf("+8")>=0&&(o.semantics.clefTranspose=12)),S.type){case"staff-extra key-signature":this.accidentals=S.abcelem.accidentals,o.semantics.accidentals=this.accidentals;break;case"bar":o.semantics.measureAccidentals={};var G=!1;I===N.children.length-1&&(G=!0);var T=c(S,o);if(T.abcelem.barNumber){delete T.abcelem.barNumber;for(var C=0;C0&&(D.abselem=B,v.push(D),R.children.push(B));break}}},Iu=p,Iu}var Ou,Vh;function k4(){if(Vh)return Ou;Vh=1;var t=Eh(),a=y4(),r=Zi();function n(){return{tempoHeightAbove:0,partHeightAbove:0,volumeHeightAbove:0,dynamicHeightAbove:0,endingHeightAbove:0,chordHeightAbove:0,lyricHeightAbove:0,lyricHeightBelow:0,chordHeightBelow:0,volumeHeightBelow:0,dynamicHeightBelow:0}}function i(o){for(var g=0,v=0;vg&&(g=b.specialY.lyricHeightBelow)}return g}function c(o,g,v){var b=o.semantics,k=g.controller.getTextSize,w=b.tabInfos(o),$=b.suppress(o),N=!0;if($&&(N=!1),N){var R=k.calc(w,"tablabelfont","text instrumentname");return v.tabNameInfos={textSize:{height:R.height,width:R.width},name:w},R.height}return 0}function s(o,g){return g[o].isTabStaff?o===g.length-1?!0:!g[o+1].isTabStaff:!1}function d(o){for(var g=0,v=0;v=0;v--)if(!o[v].isTabStaff)return v;return-1}function m(o){for(var g=0;g1}function h(o,g){for(var v=0,b=0,k=!0,w=0;k;){if(!g[v])return-1;if(g[v].isTabStaff||(w=g[v].voices.length),g[v].isTabStaff){if(b++,s(v,g)&&b=o&&(v+1==g.length||!g[v+1].isTabStaff))return v+1;if(v++,v>g.length)return-1}}function f(o,g){for(var v=g;v>=0;v--)if(!o[v].isTabStaff)return o[v];return null}function u(o,g){var v=o[g],b=v.children[0].abcelem;return b.el_type==="clef"?null:g==0?"none":o[g-1].children[0]}function l(o,g,v,b){var k=new a,w={clef:{type:"TAB"}},$=o.linePitch*o.nbLines,N=v.staff;if(N){var R=N[0];if(R&&R.clef&&R.clef.stafflines==0){o.setError("No tablatures when stafflines=0");return}N.splice(N.length,0,w)}var F=v.staffGroup,D=F.voices,I=D[0],S=i(I),j=3,V=b,G=F.staffs[V],T=$+j-G.bottom-S;G.isTabStaff&&(T=G.top);var C={bottom:-1,isTabStaff:!0,specialY:n(),lines:o.nbLines,linePitch:o.linePitch,dy:.15,top:T},A=h(b,F.staffs);if(A!==-1){C.parentIndex=A-1,F.staffs.splice(A,0,C),F.height+=$+j;var B=f(F.staffs,A),y=1;_(F.staffs,B)&&(y=B.voices.length),w.voices=[];for(var x=0;x0&&(q.duplicate=!0);var L=c(o,g,q)/r.STEP;L=Math.max(L,1),F.staffs[b].top+=1,F.height+=L,q.staff=C;var Q=D.length;D.splice(D.length,0,q);var Z=u(D,x+b);w.voices[x]=[],k.build(o,D,w.voices[x],x,b,Z,Q)}m(F.staffs)}}return Ou=l,Ou}var Hu,Ih;function Oh(){if(Ih)return Hu;Ih=1;var t={__:-2,_:-1,"_/":-.5,"=":0,"":0,"^/":.5,"^":1,"^^":2},a=["C","-","D","-","E","F","-","G","-","A","-","B","c","-","d","-","e","f","-","g","-","a","-","b"];function r(i){var c=i.match(/([_^\/]*)([ABCDEFGabcdefg])(,*)('*)/);if(c&&c.length===5){var s=t[c[1]],d=a.indexOf(c[2]),p=c[4].length-c[3].length;return 48+d+s+p*12}return 0}function n(i){i=parseInt(i,10);var c=Math.floor(i/12),s=i%12,d=a[s];if(d==="-"&&(d="^"+a[s-1]),c>4)for(d=d.toLowerCase(),c-=5;c>0;)d+="'",c--;else for(;c<4;)d+=",",c++;return d}return Hu={noteToMidi:r,midiToNote:n},Hu}var Qu,Hh;function Qh(){if(Hh)return Qu;Hh=1;var{noteToMidi:t,midiToNote:a}=Oh();function r(i,c){var s=t(i);c&&(s+=c);var d=a(s),p=!1,m=!1,_=!1,h=null,f=null,u=!1,l=0;i.startsWith("_")?(p=!0,l=-1,i[1]=="/"?(p=!1,f="v",l=0):i[1]=="_"&&(u=!0,l-=1)):i.startsWith("^")?(m=!0,l=1,i[1]=="/"?(m=!1,f="^",l=0):i[1]=="^"&&(u=!0,l+=1)):i.startsWith("=")&&(h=!0,l=0),_=p||m||f!=null,(_||h)&&(f!=null||u?d=i.slice(2):d=i.slice(1));var o=(d.match(/,/g)||[]).length,g=(d.match(/'/g)||[]).length;this.pitch=s,this.pitchAltered=0,this.name=d,this.acc=l,this.isSharp=m,this.isKeySharp=!1,this.isDouble=u,this.isAltered=_,this.isFlat=p,this.isKeyFlat=!1,this.natural=h,this.quarter=f,this.isLower=this.name==this.name.toLowerCase(),this.name=this.name[0].toUpperCase(),this.hasComma=o,this.isQuoted=g}function n(i){var c=i.name,s=new r(c);return s.pitch=i.pitch,s.hasComma=i.hasComma,s.isLower=i.isLower,s.isQuoted=i.isQuoted,s.isSharp=i.isSharp,s.isKeySharp=i.isKeySharp,s.isFlat=i.isFlat,s.isKeyFlat=i.isKeyFlat,s}return r.prototype.sameNoteAs=function(i){return i.pitch===this.pitch},r.prototype.isLowerThan=function(i){return i.pitch>this.pitch},r.prototype.checkKeyAccidentals=function(i,c){if(!(this.isAltered||this.natural)){if(c[this.name.toUpperCase()])switch(c[this.name.toUpperCase()]){case"__":this.acc=-2,this.pitchAltered=-2;return;case"_":this.acc=-1,this.pitchAltered=-1;return;case"=":this.acc=0,this.pitchAltered=0;return;case"^":this.acc=1,this.pitchAltered=1;return;case"^^":this.acc=2,this.pitchAltered=2;return}else if(i)for(var s=this.name,d=0;d0){u=[];for(var o=0;o0&&(l=f.capoTuning);for(var o=l.length-1,g=0;g=0;o--)if(u.pitch+u.pitchAltered>=f.stringPitches[o]){var g=u.pitch+u.pitchAltered-f.stringPitches[o];return u.quarter==="^"?g-=.5:u.quarter==="v"&&(g+=.5),{num:Math.round(g),str:f.stringPitches.length-1-o,note:u}}return{num:"?",str:f.stringPitches.length-1,note:u}}h.prototype.stringToPitch=function(f){var u=5.3,l=this.strings.length-1;return u+(l-f)*this.linePitch};function _(f,u){var l={num:"?",str:0,note:u};f.push(l),f.error=u.emit()+": unexpected note for instrument"}h.prototype.notesToNumber=function(f,u){var l,o,g=null,v=null;if(f&&(v=[],f.length>1?(v=d(this,f),v.error&&(g=v.error)):f[0].endTie||(l=new a(f[0].name,this.clefTranspose),l.checkKeyAccidentals(this.accidentals,this.measureAccidentals),o=m(this,l),o?v.push(o):(_(v,l),g=v.error))),g)return v;var b=null;if(u){b=[];for(var k=0;k0&&(o+=" capo:"+f.capo),u=u.replace("%T",o)),u}return""},h.prototype.suppress=function(f){var u=f.params.suppress;return!!u};function h(f){var u=f.tuning,l=f.capo,o=f.params.highestNote;this.linePitch=f.linePitch,this.highestNote="a'",o&&(this.highestNote=o),this.measureAccidentals={},this.capo=0,l&&(this.capo=parseInt(l,10)),this.transpose=f.transpose?f.transpose:0,this.tuning=u,this.stringPitches=[];for(var g=0;g0&&(this.capoTuning=n(this)),this.strings=i(this),this.strings.error){f.setError(this.strings.error),f.inError=!0;return}this.secondPos=c(this)}return Yu=h,Yu}var Ku,Kh;function S4(){if(Kh)return Ku;Kh=1;var t=b4(),a=k4(),r=x4();n.prototype.init=function(c,s,d,p){this.tune=c,this.params=d,this.tuneNumber=s,this.inError=!1,this.abcTune=c,this.linePitch=3,this.nbLines=p.defaultTuning.length,this.isTabBig=p.isTabBig,this.tabSymbolOffset=p.tabSymbolOffset,this.capo=d.capo,this.transpose=d.visualTranspose,this.hideTabSymbol=d.hideTabSymbol,this.tablature=new t(this.nbLines,this.linePitch);var m=d.tuning;m||(m=p.defaultTuning),this.tuning=m,this.semantics=new r(this)},n.prototype.setError=function(c){c&&(this.error=c,this.inError=!0,this.tune.warnings?this.tune.warnings.push(c):this.tune.warnings=[c])},n.prototype.render=function(c,s,d){this.inError||this.tablature.bypass(s)||a(this,c,s,d)};function n(){}var i=function(){return{name:"StringTab",tablature:n}};return Ku=i,Ku}var Xu,Xh;function Zh(){if(Xh)return Xu;Xh=1;var t=S4(),a={violin:{name:"StringTab",defaultTuning:["G,","D","A","e"],isTabBig:!1,tabSymbolOffset:0},fiddle:{name:"StringTab",defaultTuning:["G,","D","A","e"],isTabBig:!1,tabSymbolOffset:0},mandolin:{name:"StringTab",defaultTuning:["G,","D","A","e"],isTabBig:!1,tabSymbolOffset:0},guitar:{name:"StringTab",defaultTuning:["E,","A,","D","G","B","e"],isTabBig:!0,tabSymbolOffset:0},fiveString:{name:"StringTab",defaultTuning:["C,","G,","D","A","e"],isTabBig:!1,tabSymbolOffset:-.95}},r={inited:!1,plugins:{},register:function(n){var i=n.name,c=n.tablature;this.plugins[i]=c},setError:function(n,i){n.warnings?n.warning.push(i):n.warnings=[i]},preparePlugins:function(n,i,c){this.inited||(this.register(new t),this.inited=!0);var s=null;if(c.tablature){var d=c.tablature;s=[];for(var p=0;p0)for(var p=s.length,m=0;m1&&s&&s.length>0)for(var p=s.length,m=0;m0&&r[0].isPercussion)},t.prototype.setRelative=function(a,r,n){switch(a.type){case"bar":r.pitch=this.bar.pitch,r.pitch2=this.bar.pitch2,r.height=this.height;break;case"symbol":var i=this.bar.pitch2/2;if(a.name=="dots.dot")return n?(r.pitch=i,!1):(r.pitch=i+this.lineSpace,!0);break}return n},Eu=t,Eu}var Ru,jh;function Uh(){if(jh)return Ru;jh=1;var t=function(r,n){this.children=[],this.beams=[],this.otherchildren=[],this.w=0,this.duplicate=!1,this.voicenumber=r,this.voicetotal=n,this.bottom=7,this.top=7,this.specialY={tempoHeightAbove:0,partHeightAbove:0,volumeHeightAbove:0,dynamicHeightAbove:0,endingHeightAbove:0,chordHeightAbove:0,lyricHeightAbove:0,lyricHeightBelow:0,chordHeightBelow:0,volumeHeightBelow:0,dynamicHeightBelow:0}};return t.prototype.addChild=function(a){if(a.type==="bar"){for(var r=!0,n=0;r&&n0&&(p.length>0&&p[p.length-1]!==" "&&(p+=" "),p+=r),s.setAttribute("class",p)}};return Bu=t,Bu}var Nu,Rh;function Bh(){if(Rh)return Nu;Rh=1;var t=Pu(),a=function(r,n){r===void 0&&(r="abcjs-note_selected"),n===void 0&&(n="#ff0000"),t(this.elemset,r,"",n)};return Nu=a,Nu}var Du,Ph;function Nh(){if(Ph)return Du;Ph=1;var t=Pu(),a=function(r,n){r===void 0&&(r="abcjs-note_selected"),n===void 0&&(n="#000000"),t(this.elemset,"",r,n)};return Du=a,Du}var Lu,Dh;function _o(){if(Dh)return Lu;Dh=1;var t=Bh(),a=Nh(),r=function(i,c,s,d,p,m){m||(m={}),this.tuneNumber=p,this.abcelem=i,this.duration=c,this.durationClass=m.durationClassOveride?m.durationClassOveride:this.duration,this.minspacing=s||0,this.x=0,this.children=[],this.heads=[],this.extra=[],this.extraw=0,this.w=0,this.right=[],this.invisible=!1,this.bottom=void 0,this.top=void 0,this.type=d,i.extraClass&&(this.extraClass=i.extraClass),this.fixed={w:0,t:void 0,b:void 0},this.specialY={tempoHeightAbove:0,partHeightAbove:0,volumeHeightAbove:0,dynamicHeightAbove:0,endingHeightAbove:0,chordHeightAbove:0,lyricHeightAbove:0,lyricHeightBelow:0,chordHeightBelow:0,volumeHeightBelow:0,dynamicHeightBelow:0}};return r.prototype.getFixedCoords=function(){return{x:this.x,w:this.fixed.w,t:this.fixed.t,b:this.fixed.b}},r.prototype.addExtra=function(n){this.fixed.w=Math.max(this.fixed.w,n.dx+n.w),this.fixed.t===void 0?this.fixed.t=n.top:this.fixed.t=Math.max(this.fixed.t,n.top),this.fixed.b===void 0?this.fixed.b=n.bottom:this.fixed.b=Math.min(this.fixed.b,n.bottom),n.dxthis.w&&(this.w=n.dx+n.w),this.right[this.right.length]=n,this._addChild(n)},r.prototype.addFixed=function(n){this._addChild(n)},r.prototype.addFixedX=function(n){this._addChild(n)},r.prototype.addCentered=function(n){var i=n.w/2;-ithis.w&&(this.w=n.dx+i),this.right[this.right.length]=n,this._addChild(n)},r.prototype.setLimit=function(n,i){i[n]&&(this.specialY[n]?this.specialY[n]=Math.max(this.specialY[n],i[n]):this.specialY[n]=i[n])},r.prototype._addChild=function(n){var i=!0;this.abcelem.el_type=="clef"&&n.type=="barNumber"&&(i=!1),n.parent=this,this.children[this.children.length]=n,i&&this.pushTop(n.top),this.pushBottom(n.bottom),this.setLimit("tempoHeightAbove",n),this.setLimit("partHeightAbove",n),this.setLimit("volumeHeightAbove",n),this.setLimit("dynamicHeightAbove",n),this.setLimit("endingHeightAbove",n),this.setLimit("chordHeightAbove",n),this.setLimit("lyricHeightAbove",n),this.setLimit("lyricHeightBelow",n),this.setLimit("chordHeightBelow",n),this.setLimit("volumeHeightBelow",n),this.setLimit("dynamicHeightBelow",n)},r.prototype.pushTop=function(n){n!==void 0&&(this.top===void 0?this.top=n:this.top=Math.max(n,this.top))},r.prototype.pushBottom=function(n){n!==void 0&&(this.bottom===void 0?this.bottom=n:this.bottom=Math.min(n,this.bottom))},r.prototype.setX=function(n){this.x=n;for(var i=0;ithis.top&&(this.top=this.pitch2),this.bottom=c,this.pitch2!==void 0&&this.pitch20?this.top+=s.stemHeight:this.bottom+=s.stemHeight),s.dim&&(this.dim=s.dim),s.position&&(this.position=s.position),s.voiceNumber!==void 0&&(this.voiceNumber=s.voiceNumber),this.height=s.height?s.height:4,s.top&&(this.top=s.top),s.bottom&&(this.bottom=s.bottom),s.name?this.name=s.name:this.c?this.name=this.c:this.name=this.type,s.realWidth?this.realWidth=s.realWidth:this.realWidth=this.w,this.centerVertically=!1,this.type){case"debug":this.chordHeightAbove=this.height;break;case"lyric":s.position&&s.position==="below"?this.lyricHeightBelow=this.height:this.lyricHeightAbove=this.height;break;case"chord":s.position&&s.position==="below"?this.chordHeightBelow=this.height:this.chordHeightAbove=this.height;break;case"text":this.pitch===void 0?s.position&&s.position==="below"?this.chordHeightBelow=this.height:this.chordHeightAbove=this.height:this.centerVertically=!0;break;case"part":this.partHeightAbove=this.height;break}};return t.prototype.getChordDim=function(){if(this.type==="debug"||!this.chordHeightAbove&&!this.chordHeightBelow)return null;var a=0,r=this.type==="chord"?this.realWidth/2:0,n=this.x-r-a,i=n+this.realWidth+a;return{left:n,right:i}},t.prototype.invertLane=function(a){this.lane===void 0&&(this.lane=0),this.lane=a-this.lane-1},t.prototype.putChordInLane=function(a){this.lane=a,this.chordHeightAbove?this.chordHeightAbove=this.height*1.25*this.lane:this.chordHeightBelow=this.height*1.25*this.lane},t.prototype.getLane=function(){return this.lane===void 0?0:this.lane},t.prototype.setX=function(a){this.x=a+this.dx},Vu=t,Vu}var Iu,Vh;function S4(){if(Vh)return Iu;Vh=1;var t=_o(),a=nr();function r(o){return o!=null&&o.constructor===Object}function n(o,g){for(var v in g)g.hasOwnProperty(v)&&(Array.isArray(g[v])||r(g[v])||(o[v]=g[v]))}function i(o){var g=new t("",0,0,"",0);return n(g,o),g.top=0,g.bottom=-1,o.abcelem&&(g.abcelem={},n(g.abcelem,o.abcelem),g.abcelem.el_type==="note"&&(g.abcelem.el_type="tabNumber")),o.cloned=g,g}function c(o,g){var v=i(o);if(g)for(var b=o.children,k=!0,w=0;w=0){if(v===g)return o.extra[b].x+o.extra[b].w/2;v++}}return-1}function f(o){if(o.abcelem){var g=o.abcelem;if(g.rest)return g.gracenotes}return null}function u(o,g,v){var b=o.semantics.notesToNumber(g,v);if(b.error)return o.setError(b.error),b;if(b.graces&&b.notes){var k=b.notes.length-1;b.notes[k].graces=b.graces}return b}function l(o,g,v,b,k){for(var w=0;w=0&&(o.semantics.clefTranspose=-12),S.abcelem.type.indexOf("+8")>=0&&(o.semantics.clefTranspose=12)),S.type){case"staff-extra key-signature":this.accidentals=S.abcelem.accidentals,o.semantics.accidentals=this.accidentals;break;case"bar":o.semantics.measureAccidentals={};var G=!1;I===N.children.length-1&&(G=!0);var $=c(S,o);if($.abcelem.barNumber){delete $.abcelem.barNumber;for(var C=0;C<$.children.length;C++)if($.children[C].type==="barNumber"){$.children.splice(C,1);break}}$.abcelem.lastBar=G,R.children.push($),v.push({el_type:S.abcelem.el_type,type:S.abcelem.type,endChar:S.abcelem.endChar,startChar:S.abcelem.startChar,abselem:$});break;case"rest":var A=f(S);if(A){if(F=u(o,null,A),F.error)return;X={el_type:"note",startChar:S.abcelem.startChar,endChar:S.abcelem.endChar,notes:[],grace:!0},l(o,P,S,F.graces,v)}break;case"note":var P=i(S);P.x=S.heads[0].x+S.heads[0].w/2,P.lyricDim=d(S);var y=S.abcelem.pitches,x=S.abcelem.gracenotes;if(P.type="tabNumber",F=u(o,y,x),F.error)return;if(F.graces){var q=F.notes.length-1;F.notes[q].graces=F.graces}D={el_type:"note",startChar:S.abcelem.startChar,endChar:S.abcelem.endChar,notes:[]};for(var L=0;L0&&(D.abselem=P,v.push(D),R.children.push(P));break}}},Iu=p,Iu}var Ou,Ih;function $4(){if(Ih)return Ou;Ih=1;var t=Uh(),a=S4(),r=Zi();function n(){return{tempoHeightAbove:0,partHeightAbove:0,volumeHeightAbove:0,dynamicHeightAbove:0,endingHeightAbove:0,chordHeightAbove:0,lyricHeightAbove:0,lyricHeightBelow:0,chordHeightBelow:0,volumeHeightBelow:0,dynamicHeightBelow:0}}function i(o){for(var g=0,v=0;vg&&(g=b.specialY.lyricHeightBelow)}return g}function c(o,g,v){var b=o.semantics,k=g.controller.getTextSize,w=b.tabInfos(o),T=b.suppress(o),N=!0;if(T&&(N=!1),N){var R=k.calc(w,"tablabelfont","text instrumentname");return v.tabNameInfos={textSize:{height:R.height,width:R.width},name:w},R.height}return 0}function s(o,g){return g[o].isTabStaff?o===g.length-1?!0:!g[o+1].isTabStaff:!1}function d(o){for(var g=0,v=0;v=0;v--)if(!o[v].isTabStaff)return v;return-1}function m(o){for(var g=0;g1}function h(o,g){for(var v=0,b=0,k=!0,w=0;k;){if(!g[v])return-1;if(g[v].isTabStaff||(w=g[v].voices.length),g[v].isTabStaff){if(b++,s(v,g)&&b=o&&(v+1==g.length||!g[v+1].isTabStaff))return v+1;if(v++,v>g.length)return-1}}function f(o,g){for(var v=g;v>=0;v--)if(!o[v].isTabStaff)return o[v];return null}function u(o,g){var v=o[g],b=v.children[0].abcelem;return b.el_type==="clef"?null:g==0?"none":o[g-1].children[0]}function l(o,g,v,b){var k=new a,w={clef:{type:"TAB"}},T=o.linePitch*o.nbLines,N=v.staff;if(N){var R=N[0];if(R&&R.clef&&R.clef.stafflines==0){o.setError("No tablatures when stafflines=0");return}N.splice(N.length,0,w)}var F=v.staffGroup,D=F.voices,I=D[0],S=i(I),E=3,V=b,G=F.staffs[V],$=T+E-G.bottom-S;G.isTabStaff&&($=G.top);var C={bottom:-1,isTabStaff:!0,specialY:n(),lines:o.nbLines,linePitch:o.linePitch,dy:.15,top:$},A=h(b,F.staffs);if(A!==-1){C.parentIndex=A-1,F.staffs.splice(A,0,C),F.height+=T+E;var P=f(F.staffs,A),y=1;_(F.staffs,P)&&(y=P.voices.length),w.voices=[];for(var x=0;x0&&(q.duplicate=!0);var L=c(o,g,q)/r.STEP;L=Math.max(L,1),F.staffs[b].top+=1,F.height+=L,q.staff=C;var Q=D.length;D.splice(D.length,0,q);var Z=u(D,x+b);w.voices[x]=[],k.build(o,D,w.voices[x],x,b,Z,Q)}m(F.staffs)}}return Ou=l,Ou}var Hu,Oh;function Hh(){if(Oh)return Hu;Oh=1;var t={__:-2,_:-1,"_/":-.5,"=":0,"":0,"^/":.5,"^":1,"^^":2},a=["C","-","D","-","E","F","-","G","-","A","-","B","c","-","d","-","e","f","-","g","-","a","-","b"];function r(i){var c=i.match(/([_^\/]*)([ABCDEFGabcdefg])(,*)('*)/);if(c&&c.length===5){var s=t[c[1]],d=a.indexOf(c[2]),p=c[4].length-c[3].length;return 48+d+s+p*12}return 0}function n(i){i=parseInt(i,10);var c=Math.floor(i/12),s=i%12,d=a[s];if(d==="-"&&(d="^"+a[s-1]),c>4)for(d=d.toLowerCase(),c-=5;c>0;)d+="'",c--;else for(;c<4;)d+=",",c++;return d}return Hu={noteToMidi:r,midiToNote:n},Hu}var Qu,Qh;function Wh(){if(Qh)return Qu;Qh=1;var{noteToMidi:t,midiToNote:a}=Hh();function r(i,c){var s=t(i);c&&(s+=c);var d=a(s),p=!1,m=!1,_=!1,h=null,f=null,u=!1,l=0;i.startsWith("_")?(p=!0,l=-1,i[1]=="/"?(p=!1,f="v",l=0):i[1]=="_"&&(u=!0,l-=1)):i.startsWith("^")?(m=!0,l=1,i[1]=="/"?(m=!1,f="^",l=0):i[1]=="^"&&(u=!0,l+=1)):i.startsWith("=")&&(h=!0,l=0),_=p||m||f!=null,(_||h)&&(f!=null||u?d=i.slice(2):d=i.slice(1));var o=(d.match(/,/g)||[]).length,g=(d.match(/'/g)||[]).length;this.pitch=s,this.pitchAltered=0,this.name=d,this.acc=l,this.isSharp=m,this.isKeySharp=!1,this.isDouble=u,this.isAltered=_,this.isFlat=p,this.isKeyFlat=!1,this.natural=h,this.quarter=f,this.isLower=this.name==this.name.toLowerCase(),this.name=this.name[0].toUpperCase(),this.hasComma=o,this.isQuoted=g}function n(i){var c=i.name,s=new r(c);return s.pitch=i.pitch,s.hasComma=i.hasComma,s.isLower=i.isLower,s.isQuoted=i.isQuoted,s.isSharp=i.isSharp,s.isKeySharp=i.isKeySharp,s.isFlat=i.isFlat,s.isKeyFlat=i.isKeyFlat,s}return r.prototype.sameNoteAs=function(i){return i.pitch===this.pitch},r.prototype.isLowerThan=function(i){return i.pitch>this.pitch},r.prototype.checkKeyAccidentals=function(i,c){if(!(this.isAltered||this.natural)){if(c[this.name.toUpperCase()])switch(c[this.name.toUpperCase()]){case"__":this.acc=-2,this.pitchAltered=-2;return;case"_":this.acc=-1,this.pitchAltered=-1;return;case"=":this.acc=0,this.pitchAltered=0;return;case"^":this.acc=1,this.pitchAltered=1;return;case"^^":this.acc=2,this.pitchAltered=2;return}else if(i)for(var s=this.name,d=0;d0){u=[];for(var o=0;o0&&(l=f.capoTuning);for(var o=l.length-1,g=0;g=0;o--)if(u.pitch+u.pitchAltered>=f.stringPitches[o]){var g=u.pitch+u.pitchAltered-f.stringPitches[o];return u.quarter==="^"?g-=.5:u.quarter==="v"&&(g+=.5),{num:Math.round(g),str:f.stringPitches.length-1-o,note:u}}return{num:"?",str:f.stringPitches.length-1,note:u}}h.prototype.stringToPitch=function(f){var u=5.3,l=this.strings.length-1;return u+(l-f)*this.linePitch};function _(f,u){var l={num:"?",str:0,note:u};f.push(l),f.error=u.emit()+": unexpected note for instrument"}h.prototype.notesToNumber=function(f,u){var l,o,g=null,v=null;if(f&&(v=[],f.length>1?(v=d(this,f),v.error&&(g=v.error)):f[0].endTie||(l=new a(f[0].name,this.clefTranspose),l.checkKeyAccidentals(this.accidentals,this.measureAccidentals),o=m(this,l),o?v.push(o):(_(v,l),g=v.error))),g)return v;var b=null;if(u){b=[];for(var k=0;k0&&(o+=" capo:"+f.capo),u=u.replace("%T",o)),u}return""},h.prototype.suppress=function(f){var u=f.params.suppress;return!!u};function h(f){var u=f.tuning,l=f.capo,o=f.params.highestNote;this.linePitch=f.linePitch,this.highestNote="a'",o&&(this.highestNote=o),this.measureAccidentals={},this.capo=0,l&&(this.capo=parseInt(l,10)),this.transpose=f.transpose?f.transpose:0,this.tuning=u,this.stringPitches=[];for(var g=0;g0&&(this.capoTuning=n(this)),this.strings=i(this),this.strings.error){f.setError(this.strings.error),f.inError=!0;return}this.secondPos=c(this)}return Yu=h,Yu}var Ku,Xh;function G4(){if(Xh)return Ku;Xh=1;var t=x4(),a=$4(),r=q4();n.prototype.init=function(c,s,d,p){this.tune=c,this.params=d,this.tuneNumber=s,this.inError=!1,this.abcTune=c,this.linePitch=3,this.nbLines=p.defaultTuning.length,this.isTabBig=p.isTabBig,this.tabSymbolOffset=p.tabSymbolOffset,this.capo=d.capo,this.transpose=d.visualTranspose,this.hideTabSymbol=d.hideTabSymbol,this.tablature=new t(this.nbLines,this.linePitch);var m=d.tuning;m||(m=p.defaultTuning),this.tuning=m,this.semantics=new r(this)},n.prototype.setError=function(c){c&&(this.error=c,this.inError=!0,this.tune.warnings?this.tune.warnings.push(c):this.tune.warnings=[c])},n.prototype.render=function(c,s,d){this.inError||this.tablature.bypass(s)||a(this,c,s,d)};function n(){}var i=function(){return{name:"StringTab",tablature:n}};return Ku=i,Ku}var Xu,Zh;function Jh(){if(Zh)return Xu;Zh=1;var t=G4(),a={violin:{name:"StringTab",defaultTuning:["G,","D","A","e"],isTabBig:!1,tabSymbolOffset:0},fiddle:{name:"StringTab",defaultTuning:["G,","D","A","e"],isTabBig:!1,tabSymbolOffset:0},mandolin:{name:"StringTab",defaultTuning:["G,","D","A","e"],isTabBig:!1,tabSymbolOffset:0},guitar:{name:"StringTab",defaultTuning:["E,","A,","D","G","B","e"],isTabBig:!0,tabSymbolOffset:0},fiveString:{name:"StringTab",defaultTuning:["C,","G,","D","A","e"],isTabBig:!1,tabSymbolOffset:-.95}},r={inited:!1,plugins:{},register:function(n){var i=n.name,c=n.tablature;this.plugins[i]=c},setError:function(n,i){n.warnings?n.warning.push(i):n.warnings=[i]},preparePlugins:function(n,i,c){this.inited||(this.register(new t),this.inited=!0);var s=null;if(c.tablature){var d=c.tablature;s=[];for(var p=0;p0)for(var p=s.length,m=0;m1&&s&&s.length>0)for(var p=s.length,m=0;m=0&&h0,w=0;w=0&&(o=S.startChar,S.chord===void 0?l=u:l=null),S.chord&&(u=S),S.el_type==="bar"){if(v){var j=m.abc.substring(o,S.endChar),V={abc:j};u=l&&l.chord&&l.chord.length>0?l.chord[0].name:null,u&&(V.lastChord=u),S.startEnding&&(V.startEnding=S.startEnding),S.endEnding&&(V.endEnding=S.endEnding),g.push(V),o=null,v=!1}}else S.el_type==="note"&&(v=!0)}}s.push({header:f,measures:g,hasPickup:k})}return s}})(),Zu=n,Zu}var Ju,e_;function T4(){if(e_)return Ju;e_=1;var t=oh(),{relativeMajor:a,transposeKey:r,relativeMode:n,isLegalMode:i}=rh(),c=ih(),s;return(function(){s=function(F,D,I){if(D==="TEST")return{keyAccidentals:t,relativeMajor:a,transposeKey:r,relativeMode:n,transposeChordName:c};I=parseInt(I,10);var S=[],j;for(j=0;j2?S+=7:I===-12&&(S-=7):I>0&&S<0?S+=7:I<0&&S>0&&(S-=7),I>12?S+=7:I<-12&&(S-=7),S}function f(F,D,I,S,j,V){for(var G=[],T=h(j,I,V),C={},A={},B=0;B1?j[1]:"",accidentals:V}}function g(F,D,I,S){for(var j=F.pitch,V=u.indexOf(F.name),G=u.indexOf(D.root),T=(G+j)%7,C=V+I,A=F.oct;C>6;)A++,C-=7;for(;C<0;)A--,C+=7;for(var B=u[T],y="",x=F.adj,q="=",L=0;L4&&(B=B.toLowerCase()),{acc:y,name:B,upper:B.toUpperCase()}}var v=/([_^=]*)([A-Ga-g])([,']*)/,b=/([_^=]*[A-Ga-g][,']*)?(\d*\/*\d*)?([\>\<\-\)]*)?/;function k(F,D,I,S){var j=D==="none"?0:u.indexOf(D),V=F.match(v),G=V[2].toUpperCase(),T=u.indexOf(G)-j;T<0&&(T+=7);var C=l.indexOf(V[3]);G===V[2]&&C--;var A=S[G]||I[G]||"=";return{acc:V[1],name:G,pitch:T,oct:C,adj:R(V[1],I[G],S[G]),courtesy:V[1]===A}}function w(F,D,I){for(var S=F.substring(D,I),j,V=[],G=/("[^"]+")+/g;(j=G.exec(S))!==null;)V.push({start:G.lastIndex-j[0].length,end:G.lastIndex});for(var T=/(![^!]+!)+/g;(j=T.exec(S))!==null;)V.push({start:T.lastIndex-j[0].length,end:T.lastIndex});for(var C=[],A=/([_^=]*)([A-Ga-g])([,']*)/g;(j=A.exec(S))!==null;){for(var B=!1,y=0;y=V[y].start&&A.lastIndex<=V[y].end&&(B=!0);B||C.push({note:j[0],index:D+A.lastIndex-j[0].length})}return C}function $(F,D,I,S,j){var V=F.substring(D,I),G=/\{/,T=/\}/,C=/([^\{]*)/,A=/(\/*)/,B=V.match(new RegExp(C.source+G.source+A.source+b.source+A.source+b.source+A.source+b.source+A.source+b.source+A.source+b.source+A.source+b.source+A.source+b.source+A.source+b.source+T.source));if(B){for(var y=1+B[1].length,x=0;xthis.max)&&(this.max=r.abcelem.maxpitch))},t.prototype.addBeam=function(r){this.beams.push(r)},t.prototype.setStemDirection=function(){if(this.average=a(this.total,this.count),this.forceup)this.stemsUp=!0;else if(this.forcedown)this.stemsUp=!1;else{var r=6;this.stemsUp=this.average0&&this.startVoice.staff.voices[0]===a)},t0=t,t0}var a0,i_;function Zr(){if(i_)return a0;i_=1;var t=Zi(),a={0:{d:[["M",4.83,-14.97],["c",.33,-.03,1.11,0,1.47,.06],["c",1.68,.36,2.97,1.59,3.78,3.6],["c",1.2,2.97,.81,6.96,-.9,9.27],["c",-.78,1.08,-1.71,1.71,-2.91,1.95],["c",-.45,.09,-1.32,.09,-1.77,0],["c",-.81,-.18,-1.47,-.51,-2.07,-1.02],["c",-2.34,-2.07,-3.15,-6.72,-1.74,-10.2],["c",.87,-2.16,2.28,-3.42,4.14,-3.66],["z"],["m",1.11,.87],["c",-.21,-.06,-.69,-.09,-.87,-.06],["c",-.54,.12,-.87,.42,-1.17,.99],["c",-.36,.66,-.51,1.56,-.6,3],["c",-.03,.75,-.03,4.59,0,5.31],["c",.09,1.5,.27,2.4,.6,3.06],["c",.24,.48,.57,.78,.96,.9],["c",.27,.09,.78,.09,1.05,0],["c",.39,-.12,.72,-.42,.96,-.9],["c",.33,-.66,.51,-1.56,.6,-3.06],["c",.03,-.72,.03,-4.56,0,-5.31],["c",-.09,-1.47,-.27,-2.37,-.6,-3.03],["c",-.24,-.48,-.54,-.78,-.93,-.9],["z"]],w:10.78,h:14.959},1:{d:[["M",3.3,-15.06],["c",.06,-.06,.21,-.03,.66,.15],["c",.81,.39,1.08,.39,1.83,.03],["c",.21,-.09,.39,-.15,.42,-.15],["c",.12,0,.21,.09,.27,.21],["c",.06,.12,.06,.33,.06,5.94],["c",0,3.93,0,5.85,.03,6.03],["c",.06,.36,.15,.69,.27,.96],["c",.36,.75,.93,1.17,1.68,1.26],["c",.3,.03,.39,.09,.39,.3],["c",0,.15,-.03,.18,-.09,.24],["c",-.06,.06,-.09,.06,-.48,.06],["c",-.42,0,-.69,-.03,-2.1,-.24],["c",-.9,-.15,-1.77,-.15,-2.67,0],["c",-1.41,.21,-1.68,.24,-2.1,.24],["c",-.39,0,-.42,0,-.48,-.06],["c",-.06,-.06,-.06,-.09,-.06,-.24],["c",0,-.21,.06,-.27,.36,-.3],["c",.75,-.09,1.32,-.51,1.68,-1.26],["c",.12,-.27,.21,-.6,.27,-.96],["c",.03,-.18,.03,-1.59,.03,-4.29],["c",0,-3.87,0,-4.05,-.06,-4.14],["c",-.09,-.15,-.18,-.24,-.39,-.24],["c",-.12,0,-.15,.03,-.21,.06],["c",-.03,.06,-.45,.99,-.96,2.13],["c",-.48,1.14,-.9,2.1,-.93,2.16],["c",-.06,.15,-.21,.24,-.33,.24],["c",-.24,0,-.42,-.18,-.42,-.39],["c",0,-.06,3.27,-7.62,3.33,-7.74],["z"]],w:8.94,h:15.058},2:{d:[["M",4.23,-14.97],["c",.57,-.06,1.68,0,2.34,.18],["c",.69,.18,1.5,.54,2.01,.9],["c",1.35,.96,1.95,2.25,1.77,3.81],["c",-.15,1.35,-.66,2.34,-1.68,3.15],["c",-.6,.48,-1.44,.93,-3.12,1.65],["c",-1.32,.57,-1.8,.81,-2.37,1.14],["c",-.57,.33,-.57,.33,-.24,.27],["c",.39,-.09,1.26,-.09,1.68,0],["c",.72,.15,1.41,.45,2.1,.9],["c",.99,.63,1.86,.87,2.55,.75],["c",.24,-.06,.42,-.15,.57,-.3],["c",.12,-.09,.3,-.42,.3,-.51],["c",0,-.09,.12,-.21,.24,-.24],["c",.18,-.03,.39,.12,.39,.3],["c",0,.12,-.15,.57,-.3,.87],["c",-.54,1.02,-1.56,1.74,-2.79,2.01],["c",-.42,.09,-1.23,.09,-1.62,.03],["c",-.81,-.18,-1.32,-.45,-2.01,-1.11],["c",-.45,-.45,-.63,-.57,-.96,-.69],["c",-.84,-.27,-1.89,.12,-2.25,.9],["c",-.12,.21,-.21,.54,-.21,.72],["c",0,.12,-.12,.21,-.27,.24],["c",-.15,0,-.27,-.03,-.33,-.15],["c",-.09,-.21,.09,-1.08,.33,-1.71],["c",.24,-.66,.66,-1.26,1.29,-1.89],["c",.45,-.45,.9,-.81,1.92,-1.56],["c",1.29,-.93,1.89,-1.44,2.34,-1.98],["c",.87,-1.05,1.26,-2.19,1.2,-3.63],["c",-.06,-1.29,-.39,-2.31,-.96,-2.91],["c",-.36,-.33,-.72,-.51,-1.17,-.54],["c",-.84,-.03,-1.53,.42,-1.59,1.05],["c",-.03,.33,.12,.6,.57,1.14],["c",.45,.54,.54,.87,.42,1.41],["c",-.15,.63,-.54,1.11,-1.08,1.38],["c",-.63,.33,-1.2,.33,-1.83,0],["c",-.24,-.12,-.33,-.18,-.54,-.39],["c",-.18,-.18,-.27,-.3,-.36,-.51],["c",-.24,-.45,-.27,-.84,-.21,-1.38],["c",.12,-.75,.45,-1.41,1.02,-1.98],["c",.72,-.72,1.74,-1.17,2.85,-1.32],["z"]],w:10.764,h:14.97},3:{d:[["M",3.78,-14.97],["c",.3,-.03,1.41,0,1.83,.06],["c",2.22,.3,3.51,1.32,3.72,2.91],["c",.03,.33,.03,1.26,-.03,1.65],["c",-.12,.84,-.48,1.47,-1.05,1.77],["c",-.27,.15,-.36,.24,-.45,.39],["c",-.09,.21,-.09,.36,0,.57],["c",.09,.15,.18,.24,.51,.39],["c",.75,.42,1.23,1.14,1.41,2.13],["c",.06,.42,.06,1.35,0,1.71],["c",-.18,.81,-.48,1.38,-1.02,1.95],["c",-.75,.72,-1.8,1.2,-3.18,1.38],["c",-.42,.06,-1.56,.06,-1.95,0],["c",-1.89,-.33,-3.18,-1.29,-3.51,-2.64],["c",-.03,-.12,-.03,-.33,-.03,-.6],["c",0,-.36,0,-.42,.06,-.63],["c",.12,-.3,.27,-.51,.51,-.75],["c",.24,-.24,.45,-.39,.75,-.51],["c",.21,-.06,.27,-.06,.6,-.06],["c",.33,0,.39,0,.6,.06],["c",.3,.12,.51,.27,.75,.51],["c",.36,.33,.57,.75,.6,1.2],["c",0,.21,0,.27,-.06,.42],["c",-.09,.18,-.12,.24,-.54,.54],["c",-.51,.36,-.63,.54,-.6,.87],["c",.06,.54,.54,.9,1.38,.99],["c",.36,.06,.72,.03,.96,-.06],["c",.81,-.27,1.29,-1.23,1.44,-2.79],["c",.03,-.45,.03,-1.95,-.03,-2.37],["c",-.09,-.75,-.33,-1.23,-.75,-1.44],["c",-.33,-.18,-.45,-.18,-1.98,-.18],["c",-1.35,0,-1.41,0,-1.5,-.06],["c",-.18,-.12,-.24,-.39,-.12,-.6],["c",.12,-.15,.15,-.15,1.68,-.15],["c",1.5,0,1.62,0,1.89,-.15],["c",.18,-.09,.42,-.36,.54,-.57],["c",.18,-.42,.27,-.9,.3,-1.95],["c",.03,-1.2,-.06,-1.8,-.36,-2.37],["c",-.24,-.48,-.63,-.81,-1.14,-.96],["c",-.3,-.06,-1.08,-.06,-1.38,.03],["c",-.6,.15,-.9,.42,-.96,.84],["c",-.03,.3,.06,.45,.63,.84],["c",.33,.24,.42,.39,.45,.63],["c",.03,.72,-.57,1.5,-1.32,1.65],["c",-1.05,.27,-2.1,-.57,-2.1,-1.65],["c",0,-.45,.15,-.96,.39,-1.38],["c",.12,-.21,.54,-.63,.81,-.81],["c",.57,-.42,1.38,-.69,2.25,-.81],["z"]],w:9.735,h:14.967},4:{d:[["M",8.64,-14.94],["c",.27,-.09,.42,-.12,.54,-.03],["c",.09,.06,.15,.21,.15,.3],["c",-.03,.06,-1.92,2.31,-4.23,5.04],["c",-2.31,2.73,-4.23,4.98,-4.26,5.01],["c",-.03,.06,.12,.06,2.55,.06],["l",2.61,0],["l",0,-2.37],["c",0,-2.19,.03,-2.37,.06,-2.46],["c",.03,-.06,.21,-.18,.57,-.42],["c",1.08,-.72,1.38,-1.08,1.86,-2.16],["c",.12,-.3,.24,-.54,.27,-.57],["c",.12,-.12,.39,-.06,.45,.12],["c",.06,.09,.06,.57,.06,3.96],["l",0,3.9],["l",1.08,0],["c",1.05,0,1.11,0,1.2,.06],["c",.24,.15,.24,.54,0,.69],["c",-.09,.06,-.15,.06,-1.2,.06],["l",-1.08,0],["l",0,.33],["c",0,.57,.09,1.11,.3,1.53],["c",.36,.75,.93,1.17,1.68,1.26],["c",.3,.03,.39,.09,.39,.3],["c",0,.15,-.03,.18,-.09,.24],["c",-.06,.06,-.09,.06,-.48,.06],["c",-.42,0,-.69,-.03,-2.1,-.24],["c",-.9,-.15,-1.77,-.15,-2.67,0],["c",-1.41,.21,-1.68,.24,-2.1,.24],["c",-.39,0,-.42,0,-.48,-.06],["c",-.06,-.06,-.06,-.09,-.06,-.24],["c",0,-.21,.06,-.27,.36,-.3],["c",.75,-.09,1.32,-.51,1.68,-1.26],["c",.21,-.42,.3,-.96,.3,-1.53],["l",0,-.33],["l",-2.7,0],["c",-2.91,0,-2.85,0,-3.09,-.15],["c",-.18,-.12,-.3,-.39,-.27,-.54],["c",.03,-.06,.18,-.24,.33,-.45],["c",.75,-.9,1.59,-2.07,2.13,-3.03],["c",.33,-.54,.84,-1.62,1.05,-2.16],["c",.57,-1.41,.84,-2.64,.9,-4.05],["c",.03,-.63,.06,-.72,.24,-.81],["l",.12,-.06],["l",.45,.12],["c",.66,.18,1.02,.24,1.47,.27],["c",.6,.03,1.23,-.09,2.01,-.33],["z"]],w:11.795,h:14.994},5:{d:[["M",1.02,-14.94],["c",.12,-.09,.03,-.09,1.08,.06],["c",2.49,.36,4.35,.36,6.96,-.06],["c",.57,-.09,.66,-.06,.81,.06],["c",.15,.18,.12,.24,-.15,.51],["c",-1.29,1.26,-3.24,2.04,-5.58,2.31],["c",-.6,.09,-1.2,.12,-1.71,.12],["c",-.39,0,-.45,0,-.57,.06],["c",-.09,.06,-.15,.12,-.21,.21],["l",-.06,.12],["l",0,1.65],["l",0,1.65],["l",.21,-.21],["c",.66,-.57,1.41,-.96,2.19,-1.14],["c",.33,-.06,1.41,-.06,1.95,0],["c",2.61,.36,4.02,1.74,4.26,4.14],["c",.03,.45,.03,1.08,-.03,1.44],["c",-.18,1.02,-.78,2.01,-1.59,2.7],["c",-.72,.57,-1.62,1.02,-2.49,1.2],["c",-1.38,.27,-3.03,.06,-4.2,-.54],["c",-1.08,-.54,-1.71,-1.32,-1.86,-2.28],["c",-.09,-.69,.09,-1.29,.57,-1.74],["c",.24,-.24,.45,-.39,.75,-.51],["c",.21,-.06,.27,-.06,.6,-.06],["c",.33,0,.39,0,.6,.06],["c",.3,.12,.51,.27,.75,.51],["c",.36,.33,.57,.75,.6,1.2],["c",0,.21,0,.27,-.06,.42],["c",-.09,.18,-.12,.24,-.54,.54],["c",-.18,.12,-.36,.3,-.42,.33],["c",-.36,.42,-.18,.99,.36,1.26],["c",.51,.27,1.47,.36,2.01,.27],["c",.93,-.21,1.47,-1.17,1.65,-2.91],["c",.06,-.45,.06,-1.89,0,-2.31],["c",-.15,-1.2,-.51,-2.1,-1.05,-2.55],["c",-.21,-.18,-.54,-.36,-.81,-.39],["c",-.3,-.06,-.84,-.03,-1.26,.06],["c",-.93,.18,-1.65,.6,-2.16,1.2],["c",-.15,.21,-.27,.3,-.39,.3],["c",-.15,0,-.3,-.09,-.36,-.18],["c",-.06,-.09,-.06,-.15,-.06,-3.66],["c",0,-3.39,0,-3.57,.06,-3.66],["c",.03,-.06,.09,-.15,.15,-.18],["z"]],w:10.212,h:14.997},6:{d:[["M",4.98,-14.97],["c",.36,-.03,1.2,0,1.59,.06],["c",.9,.15,1.68,.51,2.25,1.05],["c",.57,.51,.87,1.23,.84,1.98],["c",-.03,.51,-.21,.9,-.6,1.26],["c",-.24,.24,-.45,.39,-.75,.51],["c",-.21,.06,-.27,.06,-.6,.06],["c",-.33,0,-.39,0,-.6,-.06],["c",-.3,-.12,-.51,-.27,-.75,-.51],["c",-.39,-.36,-.57,-.78,-.57,-1.26],["c",0,-.27,0,-.3,.09,-.42],["c",.03,-.09,.18,-.21,.3,-.3],["c",.12,-.09,.3,-.21,.39,-.27],["c",.09,-.06,.21,-.18,.27,-.24],["c",.06,-.12,.09,-.15,.09,-.33],["c",0,-.18,-.03,-.24,-.09,-.36],["c",-.24,-.39,-.75,-.6,-1.38,-.57],["c",-.54,.03,-.9,.18,-1.23,.48],["c",-.81,.72,-1.08,2.16,-.96,5.37],["l",0,.63],["l",.3,-.12],["c",.78,-.27,1.29,-.33,2.1,-.27],["c",1.47,.12,2.49,.54,3.27,1.29],["c",.48,.51,.81,1.11,.96,1.89],["c",.06,.27,.06,.42,.06,.93],["c",0,.54,0,.69,-.06,.96],["c",-.15,.78,-.48,1.38,-.96,1.89],["c",-.54,.51,-1.17,.87,-1.98,1.08],["c",-1.14,.3,-2.4,.33,-3.24,.03],["c",-1.5,-.48,-2.64,-1.89,-3.27,-4.02],["c",-.36,-1.23,-.51,-2.82,-.42,-4.08],["c",.3,-3.66,2.28,-6.3,4.95,-6.66],["z"],["m",.66,7.41],["c",-.27,-.09,-.81,-.12,-1.08,-.06],["c",-.72,.18,-1.08,.69,-1.23,1.71],["c",-.06,.54,-.06,3,0,3.54],["c",.18,1.26,.72,1.77,1.8,1.74],["c",.39,-.03,.63,-.09,.9,-.27],["c",.66,-.42,.9,-1.32,.9,-3.24],["c",0,-2.22,-.36,-3.12,-1.29,-3.42],["z"]],w:9.956,h:14.982},7:{d:[["M",.21,-14.97],["c",.21,-.06,.45,0,.54,.15],["c",.06,.09,.06,.15,.06,.39],["c",0,.24,0,.33,.06,.42],["c",.06,.12,.21,.24,.27,.24],["c",.03,0,.12,-.12,.24,-.21],["c",.96,-1.2,2.58,-1.35,3.99,-.42],["c",.15,.12,.42,.3,.54,.45],["c",.48,.39,.81,.57,1.29,.6],["c",.69,.03,1.5,-.3,2.13,-.87],["c",.09,-.09,.27,-.3,.39,-.45],["c",.12,-.15,.24,-.27,.3,-.3],["c",.18,-.06,.39,.03,.51,.21],["c",.06,.18,.06,.24,-.27,.72],["c",-.18,.24,-.54,.78,-.78,1.17],["c",-2.37,3.54,-3.54,6.27,-3.87,9],["c",-.03,.33,-.03,.66,-.03,1.26],["c",0,.9,0,1.08,.15,1.89],["c",.06,.45,.06,.48,.03,.6],["c",-.06,.09,-.21,.21,-.3,.21],["c",-.03,0,-.27,-.06,-.54,-.15],["c",-.84,-.27,-1.11,-.3,-1.65,-.3],["c",-.57,0,-.84,.03,-1.56,.27],["c",-.6,.18,-.69,.21,-.81,.15],["c",-.12,-.06,-.21,-.18,-.21,-.3],["c",0,-.15,.6,-1.44,1.2,-2.61],["c",1.14,-2.22,2.73,-4.68,5.1,-8.01],["c",.21,-.27,.36,-.48,.33,-.48],["c",0,0,-.12,.06,-.27,.12],["c",-.54,.3,-.99,.39,-1.56,.39],["c",-.75,.03,-1.2,-.18,-1.83,-.75],["c",-.99,-.9,-1.83,-1.17,-2.31,-.72],["c",-.18,.15,-.36,.51,-.45,.84],["c",-.06,.24,-.06,.33,-.09,1.98],["c",0,1.62,-.03,1.74,-.06,1.8],["c",-.15,.24,-.54,.24,-.69,0],["c",-.06,-.09,-.06,-.15,-.06,-3.57],["c",0,-3.42,0,-3.48,.06,-3.57],["c",.03,-.06,.09,-.12,.15,-.15],["z"]],w:10.561,h:15.093},8:{d:[["M",4.98,-14.97],["c",.33,-.03,1.02,-.03,1.32,0],["c",1.32,.12,2.49,.6,3.21,1.32],["c",.39,.39,.66,.81,.78,1.29],["c",.09,.36,.09,1.08,0,1.44],["c",-.21,.84,-.66,1.59,-1.59,2.55],["l",-.3,.3],["l",.27,.18],["c",1.47,.93,2.31,2.31,2.25,3.75],["c",-.03,.75,-.24,1.35,-.63,1.95],["c",-.45,.66,-1.02,1.14,-1.83,1.53],["c",-1.8,.87,-4.2,.87,-6,.03],["c",-1.62,-.78,-2.52,-2.16,-2.46,-3.66],["c",.06,-.99,.54,-1.77,1.8,-2.97],["c",.54,-.51,.54,-.54,.48,-.57],["c",-.39,-.27,-.96,-.78,-1.2,-1.14],["c",-.75,-1.11,-.87,-2.4,-.3,-3.6],["c",.69,-1.35,2.25,-2.25,4.2,-2.4],["z"],["m",1.53,.69],["c",-.42,-.09,-1.11,-.12,-1.38,-.06],["c",-.3,.06,-.6,.18,-.81,.3],["c",-.21,.12,-.6,.51,-.72,.72],["c",-.51,.87,-.42,1.89,.21,2.52],["c",.21,.21,.36,.3,1.95,1.23],["c",.96,.54,1.74,.99,1.77,1.02],["c",.09,0,.63,-.6,.99,-1.11],["c",.21,-.36,.48,-.87,.57,-1.23],["c",.06,-.24,.06,-.36,.06,-.72],["c",0,-.45,-.03,-.66,-.15,-.99],["c",-.39,-.81,-1.29,-1.44,-2.49,-1.68],["z"],["m",-1.44,8.07],["l",-1.89,-1.08],["c",-.03,0,-.18,.15,-.39,.33],["c",-1.2,1.08,-1.65,1.95,-1.59,3],["c",.09,1.59,1.35,2.85,3.21,3.24],["c",.33,.06,.45,.06,.93,.06],["c",.63,0,.81,-.03,1.29,-.27],["c",.9,-.42,1.47,-1.41,1.41,-2.4],["c",-.06,-.66,-.39,-1.29,-.9,-1.65],["c",-.12,-.09,-1.05,-.63,-2.07,-1.23],["z"]],w:10.926,h:14.989},9:{d:[["M",4.23,-14.97],["c",.42,-.03,1.29,0,1.62,.06],["c",.51,.12,.93,.3,1.38,.57],["c",1.53,1.02,2.52,3.24,2.73,5.94],["c",.18,2.55,-.48,4.98,-1.83,6.57],["c",-1.05,1.26,-2.4,1.89,-3.93,1.83],["c",-1.23,-.06,-2.31,-.45,-3.03,-1.14],["c",-.57,-.51,-.87,-1.23,-.84,-1.98],["c",.03,-.51,.21,-.9,.6,-1.26],["c",.24,-.24,.45,-.39,.75,-.51],["c",.21,-.06,.27,-.06,.6,-.06],["c",.33,0,.39,0,.6,.06],["c",.3,.12,.51,.27,.75,.51],["c",.39,.36,.57,.78,.57,1.26],["c",0,.27,0,.3,-.09,.42],["c",-.03,.09,-.18,.21,-.3,.3],["c",-.12,.09,-.3,.21,-.39,.27],["c",-.09,.06,-.21,.18,-.27,.24],["c",-.06,.12,-.06,.15,-.06,.33],["c",0,.18,0,.24,.06,.36],["c",.24,.39,.75,.6,1.38,.57],["c",.54,-.03,.9,-.18,1.23,-.48],["c",.81,-.72,1.08,-2.16,.96,-5.37],["l",0,-.63],["l",-.3,.12],["c",-.78,.27,-1.29,.33,-2.1,.27],["c",-1.47,-.12,-2.49,-.54,-3.27,-1.29],["c",-.48,-.51,-.81,-1.11,-.96,-1.89],["c",-.06,-.27,-.06,-.42,-.06,-.96],["c",0,-.51,0,-.66,.06,-.93],["c",.15,-.78,.48,-1.38,.96,-1.89],["c",.15,-.12,.33,-.27,.42,-.36],["c",.69,-.51,1.62,-.81,2.76,-.93],["z"],["m",1.17,.66],["c",-.21,-.06,-.57,-.06,-.81,-.03],["c",-.78,.12,-1.26,.69,-1.41,1.74],["c",-.12,.63,-.15,1.95,-.09,2.79],["c",.12,1.71,.63,2.4,1.77,2.46],["c",1.08,.03,1.62,-.48,1.8,-1.74],["c",.06,-.54,.06,-3,0,-3.54],["c",-.15,-1.05,-.51,-1.53,-1.26,-1.68],["z"]],w:9.959,h:14.986},"rests.multimeasure":{d:[["M",0,-4],["l",0,16],["l",1,0],["l",0,-5],["l",40,0],["l",0,5],["l",1,0],["l",0,-16],["l",-1,0],["l",0,5],["l",-40,0],["l",0,-5],["z"]],w:42,h:18},"rests.whole":{d:[["M",.06,.03],["l",.09,-.06],["l",5.46,0],["l",5.49,0],["l",.09,.06],["l",.06,.09],["l",0,2.19],["l",0,2.19],["l",-.06,.09],["l",-.09,.06],["l",-5.49,0],["l",-5.46,0],["l",-.09,-.06],["l",-.06,-.09],["l",0,-2.19],["l",0,-2.19],["z"]],w:11.25,h:4.68},"rests.half":{d:[["M",.06,-4.62],["l",.09,-.06],["l",5.46,0],["l",5.49,0],["l",.09,.06],["l",.06,.09],["l",0,2.19],["l",0,2.19],["l",-.06,.09],["l",-.09,.06],["l",-5.49,0],["l",-5.46,0],["l",-.09,-.06],["l",-.06,-.09],["l",0,-2.19],["l",0,-2.19],["z"]],w:11.25,h:4.68},"rests.quarter":{d:[["M",1.89,-11.82],["c",.12,-.06,.24,-.06,.36,-.03],["c",.09,.06,4.74,5.58,4.86,5.82],["c",.21,.39,.15,.78,-.15,1.26],["c",-.24,.33,-.72,.81,-1.62,1.56],["c",-.45,.36,-.87,.75,-.96,.84],["c",-.93,.99,-1.14,2.49,-.6,3.63],["c",.18,.39,.27,.48,1.32,1.68],["c",1.92,2.25,1.83,2.16,1.83,2.34],["c",0,.18,-.18,.36,-.36,.39],["c",-.15,0,-.27,-.06,-.48,-.27],["c",-.75,-.75,-2.46,-1.29,-3.39,-1.08],["c",-.45,.09,-.69,.27,-.9,.69],["c",-.12,.3,-.21,.66,-.24,1.14],["c",-.03,.66,.09,1.35,.3,2.01],["c",.15,.42,.24,.66,.45,.96],["c",.18,.24,.18,.33,.03,.42],["c",-.12,.06,-.18,.03,-.45,-.3],["c",-1.08,-1.38,-2.07,-3.36,-2.4,-4.83],["c",-.27,-1.05,-.15,-1.77,.27,-2.07],["c",.21,-.12,.42,-.15,.87,-.15],["c",.87,.06,2.1,.39,3.3,.9],["l",.39,.18],["l",-1.65,-1.95],["c",-2.52,-2.97,-2.61,-3.09,-2.7,-3.27],["c",-.09,-.24,-.12,-.48,-.03,-.75],["c",.15,-.48,.57,-.96,1.83,-2.01],["c",.45,-.36,.84,-.72,.93,-.78],["c",.69,-.75,1.02,-1.8,.9,-2.79],["c",-.06,-.33,-.21,-.84,-.39,-1.11],["c",-.09,-.15,-.45,-.6,-.81,-1.05],["c",-.36,-.42,-.69,-.81,-.72,-.87],["c",-.09,-.18,0,-.42,.21,-.51],["z"]],w:7.888,h:21.435},"rests.8th":{d:[["M",1.68,-6.12],["c",.66,-.09,1.23,.09,1.68,.51],["c",.27,.3,.39,.54,.57,1.26],["c",.09,.33,.18,.66,.21,.72],["c",.12,.27,.33,.45,.6,.48],["c",.12,0,.18,0,.33,-.09],["c",.39,-.18,1.32,-1.29,1.68,-1.98],["c",.09,-.21,.24,-.3,.39,-.3],["c",.12,0,.27,.09,.33,.18],["c",.03,.06,-.27,1.11,-1.86,6.42],["c",-1.02,3.48,-1.89,6.39,-1.92,6.42],["c",0,.03,-.12,.12,-.24,.15],["c",-.18,.09,-.21,.09,-.45,.09],["c",-.24,0,-.3,0,-.48,-.06],["c",-.09,-.06,-.21,-.12,-.21,-.15],["c",-.06,-.03,.15,-.57,1.68,-4.92],["c",.96,-2.67,1.74,-4.89,1.71,-4.89],["l",-.51,.15],["c",-1.08,.36,-1.74,.48,-2.55,.48],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.33,-.45,.84,-.81,1.38,-.9],["z"]],w:7.534,h:13.883},"rests.16th":{d:[["M",3.33,-6.12],["c",.66,-.09,1.23,.09,1.68,.51],["c",.27,.3,.39,.54,.57,1.26],["c",.09,.33,.18,.66,.21,.72],["c",.15,.39,.57,.57,.87,.42],["c",.39,-.18,1.2,-1.23,1.62,-2.07],["c",.06,-.15,.24,-.24,.36,-.24],["c",.12,0,.27,.09,.33,.18],["c",.03,.06,-.45,1.86,-2.67,10.17],["c",-1.5,5.55,-2.73,10.14,-2.76,10.17],["c",-.03,.03,-.12,.12,-.24,.15],["c",-.18,.09,-.21,.09,-.45,.09],["c",-.24,0,-.3,0,-.48,-.06],["c",-.09,-.06,-.21,-.12,-.21,-.15],["c",-.06,-.03,.12,-.57,1.44,-4.92],["c",.81,-2.67,1.47,-4.86,1.47,-4.89],["c",-.03,0,-.27,.06,-.54,.15],["c",-1.08,.36,-1.77,.48,-2.58,.48],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.72,-1.05,2.22,-1.23,3.06,-.42],["c",.3,.33,.42,.6,.6,1.38],["c",.09,.45,.21,.78,.33,.9],["c",.09,.09,.27,.18,.45,.21],["c",.12,0,.18,0,.33,-.09],["c",.33,-.15,1.02,-.93,1.41,-1.59],["c",.12,-.21,.18,-.39,.39,-1.08],["c",.66,-2.1,1.17,-3.84,1.17,-3.87],["c",0,0,-.21,.06,-.42,.15],["c",-.51,.15,-1.2,.33,-1.68,.42],["c",-.33,.06,-.51,.06,-.96,.06],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.33,-.45,.84,-.81,1.38,-.9],["z"]],w:9.724,h:21.383},"rests.32nd":{d:[["M",4.23,-13.62],["c",.66,-.09,1.23,.09,1.68,.51],["c",.27,.3,.39,.54,.57,1.26],["c",.09,.33,.18,.66,.21,.72],["c",.12,.27,.33,.45,.6,.48],["c",.12,0,.18,0,.27,-.06],["c",.33,-.21,.99,-1.11,1.44,-1.98],["c",.09,-.24,.21,-.33,.39,-.33],["c",.12,0,.27,.09,.33,.18],["c",.03,.06,-.57,2.67,-3.21,13.89],["c",-1.8,7.62,-3.3,13.89,-3.3,13.92],["c",-.03,.06,-.12,.12,-.24,.18],["c",-.21,.09,-.24,.09,-.48,.09],["c",-.24,0,-.3,0,-.48,-.06],["c",-.09,-.06,-.21,-.12,-.21,-.15],["c",-.06,-.03,.09,-.57,1.23,-4.92],["c",.69,-2.67,1.26,-4.86,1.29,-4.89],["c",0,-.03,-.12,-.03,-.48,.12],["c",-1.17,.39,-2.22,.57,-3,.54],["c",-.42,-.03,-.75,-.12,-1.11,-.3],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.72,-1.05,2.22,-1.23,3.06,-.42],["c",.3,.33,.42,.6,.6,1.38],["c",.09,.45,.21,.78,.33,.9],["c",.12,.09,.3,.18,.48,.21],["c",.12,0,.18,0,.3,-.09],["c",.42,-.21,1.29,-1.29,1.56,-1.89],["c",.03,-.12,1.23,-4.59,1.23,-4.65],["c",0,-.03,-.18,.03,-.39,.12],["c",-.63,.18,-1.2,.36,-1.74,.45],["c",-.39,.06,-.54,.06,-1.02,.06],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.72,-1.05,2.22,-1.23,3.06,-.42],["c",.3,.33,.42,.6,.6,1.38],["c",.09,.45,.21,.78,.33,.9],["c",.18,.18,.51,.27,.72,.15],["c",.3,-.12,.69,-.57,1.08,-1.17],["c",.42,-.6,.39,-.51,1.05,-3.03],["c",.33,-1.26,.6,-2.31,.6,-2.34],["c",0,0,-.21,.03,-.45,.12],["c",-.57,.18,-1.14,.33,-1.62,.42],["c",-.33,.06,-.51,.06,-.96,.06],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.33,-.45,.84,-.81,1.38,-.9],["z"]],w:11.373,h:28.883},"rests.64th":{d:[["M",5.13,-13.62],["c",.66,-.09,1.23,.09,1.68,.51],["c",.27,.3,.39,.54,.57,1.26],["c",.15,.63,.21,.81,.33,.96],["c",.18,.21,.54,.3,.75,.18],["c",.24,-.12,.63,-.66,1.08,-1.56],["c",.33,-.66,.39,-.72,.6,-.72],["c",.12,0,.27,.09,.33,.18],["c",.03,.06,-.69,3.66,-3.54,17.64],["c",-1.95,9.66,-3.57,17.61,-3.57,17.64],["c",-.03,.06,-.12,.12,-.24,.18],["c",-.21,.09,-.24,.09,-.48,.09],["c",-.24,0,-.3,0,-.48,-.06],["c",-.09,-.06,-.21,-.12,-.21,-.15],["c",-.06,-.03,.06,-.57,1.05,-4.95],["c",.6,-2.7,1.08,-4.89,1.08,-4.92],["c",0,0,-.24,.06,-.51,.15],["c",-.66,.24,-1.2,.36,-1.77,.48],["c",-.42,.06,-.57,.06,-1.05,.06],["c",-.69,0,-.87,-.03,-1.35,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.72,-1.05,2.22,-1.23,3.06,-.42],["c",.3,.33,.42,.6,.6,1.38],["c",.09,.45,.21,.78,.33,.9],["c",.09,.09,.27,.18,.45,.21],["c",.21,.03,.39,-.09,.72,-.42],["c",.45,-.45,1.02,-1.26,1.17,-1.65],["c",.03,-.09,.27,-1.14,.54,-2.34],["c",.27,-1.2,.48,-2.19,.51,-2.22],["c",0,-.03,-.09,-.03,-.48,.12],["c",-1.17,.39,-2.22,.57,-3,.54],["c",-.42,-.03,-.75,-.12,-1.11,-.3],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.36,-.54,.96,-.87,1.65,-.93],["c",.54,-.03,1.02,.15,1.41,.54],["c",.27,.3,.39,.54,.57,1.26],["c",.09,.33,.18,.66,.21,.72],["c",.15,.39,.57,.57,.9,.42],["c",.36,-.18,1.2,-1.26,1.47,-1.89],["c",.03,-.09,.3,-1.2,.57,-2.43],["l",.51,-2.28],["l",-.54,.18],["c",-1.11,.36,-1.8,.48,-2.61,.48],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.36,-.54,.96,-.87,1.65,-.93],["c",.54,-.03,1.02,.15,1.41,.54],["c",.27,.3,.39,.54,.57,1.26],["c",.15,.63,.21,.81,.33,.96],["c",.21,.21,.54,.3,.75,.18],["c",.36,-.18,.93,-.93,1.29,-1.68],["c",.12,-.24,.18,-.48,.63,-2.55],["l",.51,-2.31],["c",0,-.03,-.18,.03,-.39,.12],["c",-1.14,.36,-2.1,.54,-2.82,.51],["c",-.42,-.03,-.75,-.12,-1.11,-.3],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.33,-.45,.84,-.81,1.38,-.9],["z"]],w:12.453,h:36.383},"rests.128th":{d:[["M",6.03,-21.12],["c",.66,-.09,1.23,.09,1.68,.51],["c",.27,.3,.39,.54,.57,1.26],["c",.09,.33,.18,.66,.21,.72],["c",.12,.27,.33,.45,.6,.48],["c",.21,0,.33,-.06,.54,-.36],["c",.15,-.21,.54,-.93,.78,-1.47],["c",.15,-.33,.18,-.39,.3,-.48],["c",.18,-.09,.45,0,.51,.15],["c",.03,.09,-7.11,42.75,-7.17,42.84],["c",-.03,.03,-.15,.09,-.24,.15],["c",-.18,.06,-.24,.06,-.45,.06],["c",-.24,0,-.3,0,-.48,-.06],["c",-.09,-.06,-.21,-.12,-.21,-.15],["c",-.06,-.03,.03,-.57,.84,-4.98],["c",.51,-2.7,.93,-4.92,.9,-4.92],["c",0,0,-.15,.06,-.36,.12],["c",-.78,.27,-1.62,.48,-2.31,.57],["c",-.15,.03,-.54,.03,-.81,.03],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.36,-.54,.96,-.87,1.65,-.93],["c",.54,-.03,1.02,.15,1.41,.54],["c",.27,.3,.39,.54,.57,1.26],["c",.09,.33,.18,.66,.21,.72],["c",.12,.27,.33,.45,.63,.48],["c",.12,0,.18,0,.3,-.09],["c",.42,-.21,1.14,-1.11,1.5,-1.83],["c",.12,-.27,.12,-.27,.54,-2.52],["c",.24,-1.23,.42,-2.25,.39,-2.25],["c",0,0,-.24,.06,-.51,.18],["c",-1.26,.39,-2.25,.57,-3.06,.54],["c",-.42,-.03,-.75,-.12,-1.11,-.3],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.36,-.54,.96,-.87,1.65,-.93],["c",.54,-.03,1.02,.15,1.41,.54],["c",.27,.3,.39,.54,.57,1.26],["c",.15,.63,.21,.81,.33,.96],["c",.18,.21,.51,.3,.75,.18],["c",.36,-.15,1.05,-.99,1.41,-1.77],["l",.15,-.3],["l",.42,-2.25],["c",.21,-1.26,.42,-2.28,.39,-2.28],["l",-.51,.15],["c",-1.11,.39,-1.89,.51,-2.7,.51],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.36,-.54,.96,-.87,1.65,-.93],["c",.54,-.03,1.02,.15,1.41,.54],["c",.27,.3,.39,.54,.57,1.26],["c",.15,.63,.21,.81,.33,.96],["c",.18,.18,.48,.27,.72,.21],["c",.33,-.12,1.14,-1.26,1.41,-1.95],["c",0,-.09,.21,-1.11,.45,-2.34],["c",.21,-1.2,.39,-2.22,.39,-2.28],["c",.03,-.03,0,-.03,-.45,.12],["c",-.57,.18,-1.2,.33,-1.71,.42],["c",-.3,.06,-.51,.06,-.93,.06],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.36,-.54,.96,-.87,1.65,-.93],["c",.54,-.03,1.02,.15,1.41,.54],["c",.27,.3,.39,.54,.57,1.26],["c",.09,.33,.18,.66,.21,.72],["c",.12,.27,.33,.45,.6,.48],["c",.18,0,.36,-.09,.57,-.33],["c",.33,-.36,.78,-1.14,.93,-1.56],["c",.03,-.12,.24,-1.2,.45,-2.4],["c",.24,-1.2,.42,-2.22,.42,-2.28],["c",.03,-.03,0,-.03,-.39,.09],["c",-1.05,.36,-1.8,.48,-2.58,.48],["c",-.63,0,-.84,-.03,-1.29,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.33,-.45,.84,-.81,1.38,-.9],["z"]],w:12.992,h:43.883},"accidentals.sharp":{d:[["M",5.73,-11.19],["c",.21,-.12,.54,-.03,.66,.24],["c",.06,.12,.06,.21,.06,2.31],["c",0,1.23,0,2.22,.03,2.22],["c",0,0,.27,-.12,.6,-.24],["c",.69,-.27,.78,-.3,.96,-.15],["c",.21,.15,.21,.18,.21,1.38],["c",0,1.02,0,1.11,-.06,1.2],["c",-.03,.06,-.09,.12,-.12,.15],["c",-.06,.03,-.42,.21,-.84,.36],["l",-.75,.33],["l",-.03,2.43],["c",0,1.32,0,2.43,.03,2.43],["c",0,0,.27,-.12,.6,-.24],["c",.69,-.27,.78,-.3,.96,-.15],["c",.21,.15,.21,.18,.21,1.38],["c",0,1.02,0,1.11,-.06,1.2],["c",-.03,.06,-.09,.12,-.12,.15],["c",-.06,.03,-.42,.21,-.84,.36],["l",-.75,.33],["l",-.03,2.52],["c",0,2.28,-.03,2.55,-.06,2.64],["c",-.21,.36,-.72,.36,-.93,0],["c",-.03,-.09,-.06,-.33,-.06,-2.43],["l",0,-2.31],["l",-1.29,.51],["l",-1.26,.51],["l",0,2.43],["c",0,2.58,0,2.52,-.15,2.67],["c",-.06,.09,-.27,.18,-.36,.18],["c",-.12,0,-.33,-.09,-.39,-.18],["c",-.15,-.15,-.15,-.09,-.15,-2.43],["c",0,-1.23,0,-2.22,-.03,-2.22],["c",0,0,-.27,.12,-.6,.24],["c",-.69,.27,-.78,.3,-.96,.15],["c",-.21,-.15,-.21,-.18,-.21,-1.38],["c",0,-1.02,0,-1.11,.06,-1.2],["c",.03,-.06,.09,-.12,.12,-.15],["c",.06,-.03,.42,-.21,.84,-.36],["l",.78,-.33],["l",0,-2.43],["c",0,-1.32,0,-2.43,-.03,-2.43],["c",0,0,-.27,.12,-.6,.24],["c",-.69,.27,-.78,.3,-.96,.15],["c",-.21,-.15,-.21,-.18,-.21,-1.38],["c",0,-1.02,0,-1.11,.06,-1.2],["c",.03,-.06,.09,-.12,.12,-.15],["c",.06,-.03,.42,-.21,.84,-.36],["l",.78,-.33],["l",0,-2.52],["c",0,-2.28,.03,-2.55,.06,-2.64],["c",.21,-.36,.72,-.36,.93,0],["c",.03,.09,.06,.33,.06,2.43],["l",.03,2.31],["l",1.26,-.51],["l",1.26,-.51],["l",0,-2.43],["c",0,-2.28,0,-2.43,.06,-2.55],["c",.06,-.12,.12,-.18,.27,-.24],["z"],["m",-.33,10.65],["l",0,-2.43],["l",-1.29,.51],["l",-1.26,.51],["l",0,2.46],["l",0,2.43],["l",.09,-.03],["c",.06,-.03,.63,-.27,1.29,-.51],["l",1.17,-.48],["l",0,-2.46],["z"]],w:8.25,h:22.462},"accidentals.halfsharp":{d:[["M",2.43,-10.05],["c",.21,-.12,.54,-.03,.66,.24],["c",.06,.12,.06,.21,.06,2.01],["c",0,1.05,0,1.89,.03,1.89],["l",.72,-.48],["c",.69,-.48,.69,-.51,.87,-.51],["c",.15,0,.18,.03,.27,.09],["c",.21,.15,.21,.18,.21,1.41],["c",0,1.11,-.03,1.14,-.09,1.23],["c",-.03,.03,-.48,.39,-1.02,.75],["l",-.99,.66],["l",0,2.37],["c",0,1.32,0,2.37,.03,2.37],["l",.72,-.48],["c",.69,-.48,.69,-.51,.87,-.51],["c",.15,0,.18,.03,.27,.09],["c",.21,.15,.21,.18,.21,1.41],["c",0,1.11,-.03,1.14,-.09,1.23],["c",-.03,.03,-.48,.39,-1.02,.75],["l",-.99,.66],["l",0,2.25],["c",0,1.95,0,2.28,-.06,2.37],["c",-.06,.12,-.12,.21,-.24,.27],["c",-.27,.12,-.54,.03,-.69,-.24],["c",-.06,-.12,-.06,-.21,-.06,-2.01],["c",0,-1.05,0,-1.89,-.03,-1.89],["l",-.72,.48],["c",-.69,.48,-.69,.48,-.87,.48],["c",-.15,0,-.18,0,-.27,-.06],["c",-.21,-.15,-.21,-.18,-.21,-1.41],["c",0,-1.11,.03,-1.14,.09,-1.23],["c",.03,-.03,.48,-.39,1.02,-.75],["l",.99,-.66],["l",0,-2.37],["c",0,-1.32,0,-2.37,-.03,-2.37],["l",-.72,.48],["c",-.69,.48,-.69,.48,-.87,.48],["c",-.15,0,-.18,0,-.27,-.06],["c",-.21,-.15,-.21,-.18,-.21,-1.41],["c",0,-1.11,.03,-1.14,.09,-1.23],["c",.03,-.03,.48,-.39,1.02,-.75],["l",.99,-.66],["l",0,-2.25],["c",0,-2.13,0,-2.28,.06,-2.4],["c",.06,-.12,.12,-.18,.27,-.24],["z"]],w:5.25,h:20.174},"accidentals.nat":{d:[["M",.21,-11.4],["c",.24,-.06,.78,0,.99,.15],["c",.03,.03,.03,.48,0,2.61],["c",-.03,1.44,-.03,2.61,-.03,2.61],["c",0,.03,.75,-.09,1.68,-.24],["c",.96,-.18,1.71,-.27,1.74,-.27],["c",.15,.03,.27,.15,.36,.3],["l",.06,.12],["l",.09,8.67],["c",.09,6.96,.12,8.67,.09,8.67],["c",-.03,.03,-.12,.06,-.21,.09],["c",-.24,.09,-.72,.09,-.96,0],["c",-.09,-.03,-.18,-.06,-.21,-.09],["c",-.03,-.03,-.03,-.48,0,-2.61],["c",.03,-1.44,.03,-2.61,.03,-2.61],["c",0,-.03,-.75,.09,-1.68,.24],["c",-.96,.18,-1.71,.27,-1.74,.27],["c",-.15,-.03,-.27,-.15,-.36,-.3],["l",-.06,-.15],["l",-.09,-7.53],["c",-.06,-4.14,-.09,-8.04,-.12,-8.67],["l",0,-1.11],["l",.15,-.06],["c",.09,-.03,.21,-.06,.27,-.09],["z"],["m",3.75,8.4],["c",0,-.33,0,-.42,-.03,-.42],["c",-.12,0,-2.79,.45,-2.79,.48],["c",-.03,0,-.09,6.3,-.09,6.33],["c",.03,0,2.79,-.45,2.82,-.48],["c",0,0,.09,-4.53,.09,-5.91],["z"]],w:5.4,h:22.8},"accidentals.flat":{d:[["M",-.36,-14.07],["c",.33,-.06,.87,0,1.08,.15],["c",.06,.03,.06,.36,-.03,5.25],["c",-.06,2.85,-.09,5.19,-.09,5.19],["c",0,.03,.12,-.03,.24,-.12],["c",.63,-.42,1.41,-.66,2.19,-.72],["c",.81,-.03,1.47,.21,2.04,.78],["c",.57,.54,.87,1.26,.93,2.04],["c",.03,.57,-.09,1.08,-.36,1.62],["c",-.42,.81,-1.02,1.38,-2.82,2.61],["c",-1.14,.78,-1.44,1.02,-1.8,1.44],["c",-.18,.18,-.39,.39,-.45,.42],["c",-.27,.18,-.57,.15,-.81,-.06],["c",-.06,-.09,-.12,-.18,-.15,-.27],["c",-.03,-.06,-.09,-3.27,-.18,-8.34],["c",-.09,-4.53,-.15,-8.58,-.18,-9.03],["l",0,-.78],["l",.12,-.06],["c",.06,-.03,.18,-.09,.27,-.12],["z"],["m",3.18,11.01],["c",-.21,-.12,-.54,-.15,-.81,-.06],["c",-.54,.15,-.99,.63,-1.17,1.26],["c",-.06,.3,-.12,2.88,-.06,3.87],["c",.03,.42,.03,.81,.06,.9],["l",.03,.12],["l",.45,-.39],["c",.63,-.54,1.26,-1.17,1.56,-1.59],["c",.3,-.42,.6,-.99,.72,-1.41],["c",.18,-.69,.09,-1.47,-.18,-2.07],["c",-.15,-.3,-.33,-.51,-.6,-.63],["z"]],w:6.75,h:18.801},"accidentals.halfflat":{d:[["M",4.83,-14.07],["c",.33,-.06,.87,0,1.08,.15],["c",.06,.03,.06,.6,-.12,9.06],["c",-.09,5.55,-.15,9.06,-.18,9.12],["c",-.03,.09,-.09,.18,-.15,.27],["c",-.24,.21,-.54,.24,-.81,.06],["c",-.06,-.03,-.27,-.24,-.45,-.42],["c",-.36,-.42,-.66,-.66,-1.8,-1.44],["c",-1.23,-.84,-1.83,-1.32,-2.25,-1.77],["c",-.66,-.78,-.96,-1.56,-.93,-2.46],["c",.09,-1.41,1.11,-2.58,2.4,-2.79],["c",.3,-.06,.84,-.03,1.23,.06],["c",.54,.12,1.08,.33,1.53,.63],["c",.12,.09,.24,.15,.24,.12],["c",0,0,-.12,-8.37,-.18,-9.75],["l",0,-.66],["l",.12,-.06],["c",.06,-.03,.18,-.09,.27,-.12],["z"],["m",-1.65,10.95],["c",-.6,-.18,-1.08,.09,-1.38,.69],["c",-.27,.6,-.36,1.38,-.18,2.07],["c",.12,.42,.42,.99,.72,1.41],["c",.3,.42,.93,1.05,1.56,1.59],["l",.48,.39],["l",0,-.12],["c",.03,-.09,.03,-.48,.06,-.9],["c",.03,-.57,.03,-1.08,0,-2.22],["c",-.03,-1.62,-.03,-1.62,-.24,-2.07],["c",-.21,-.42,-.6,-.75,-1.02,-.84],["z"]],w:6.728,h:18.801},"accidentals.dblflat":{d:[["M",-.36,-14.07],["c",.33,-.06,.87,0,1.08,.15],["c",.06,.03,.06,.36,-.03,5.25],["c",-.06,2.85,-.09,5.19,-.09,5.19],["c",0,.03,.12,-.03,.24,-.12],["c",.63,-.42,1.41,-.66,2.19,-.72],["c",.81,-.03,1.47,.21,2.04,.78],["c",.57,.54,.87,1.26,.93,2.04],["c",.03,.57,-.09,1.08,-.36,1.62],["c",-.42,.81,-1.02,1.38,-2.82,2.61],["c",-1.14,.78,-1.44,1.02,-1.8,1.44],["c",-.18,.18,-.39,.39,-.45,.42],["c",-.27,.18,-.57,.15,-.81,-.06],["c",-.06,-.09,-.12,-.18,-.15,-.27],["c",-.03,-.06,-.09,-3.27,-.18,-8.34],["c",-.09,-4.53,-.15,-8.58,-.18,-9.03],["l",0,-.78],["l",.12,-.06],["c",.06,-.03,.18,-.09,.27,-.12],["z"],["m",3.18,11.01],["c",-.21,-.12,-.54,-.15,-.81,-.06],["c",-.54,.15,-.99,.63,-1.17,1.26],["c",-.06,.3,-.12,2.88,-.06,3.87],["c",.03,.42,.03,.81,.06,.9],["l",.03,.12],["l",.45,-.39],["c",.63,-.54,1.26,-1.17,1.56,-1.59],["c",.3,-.42,.6,-.99,.72,-1.41],["c",.18,-.69,.09,-1.47,-.18,-2.07],["c",-.15,-.3,-.33,-.51,-.6,-.63],["z"],["m",3,-11],["c",.33,-.06,.87,0,1.08,.15],["c",.06,.03,.06,.36,-.03,5.25],["c",-.06,2.85,-.09,5.19,-.09,5.19],["c",0,.03,.12,-.03,.24,-.12],["c",.63,-.42,1.41,-.66,2.19,-.72],["c",.81,-.03,1.47,.21,2.04,.78],["c",.57,.54,.87,1.26,.93,2.04],["c",.03,.57,-.09,1.08,-.36,1.62],["c",-.42,.81,-1.02,1.38,-2.82,2.61],["c",-1.14,.78,-1.44,1.02,-1.8,1.44],["c",-.18,.18,-.39,.39,-.45,.42],["c",-.27,.18,-.57,.15,-.81,-.06],["c",-.06,-.09,-.12,-.18,-.15,-.27],["c",-.03,-.06,-.09,-3.27,-.18,-8.34],["c",-.09,-4.53,-.15,-8.58,-.18,-9.03],["l",0,-.78],["l",.12,-.06],["c",.06,-.03,.18,-.09,.27,-.12],["z"],["m",3.18,11.01],["c",-.21,-.12,-.54,-.15,-.81,-.06],["c",-.54,.15,-.99,.63,-1.17,1.26],["c",-.06,.3,-.12,2.88,-.06,3.87],["c",.03,.42,.03,.81,.06,.9],["l",.03,.12],["l",.45,-.39],["c",.63,-.54,1.26,-1.17,1.56,-1.59],["c",.3,-.42,.6,-.99,.72,-1.41],["c",.18,-.69,.09,-1.47,-.18,-2.07],["c",-.15,-.3,-.33,-.51,-.6,-.63],["z"]],w:12.1,h:18.804},"accidentals.dblsharp":{d:[["M",-.18,-3.96],["c",.06,-.03,.12,-.06,.15,-.06],["c",.09,0,2.76,.27,2.79,.3],["c",.12,.03,.15,.12,.15,.51],["c",.06,.96,.24,1.59,.57,2.1],["c",.06,.09,.15,.21,.18,.24],["l",.09,.06],["l",.09,-.06],["c",.03,-.03,.12,-.15,.18,-.24],["c",.33,-.51,.51,-1.14,.57,-2.1],["c",0,-.39,.03,-.45,.12,-.51],["c",.03,0,.66,-.09,1.44,-.15],["c",1.47,-.15,1.5,-.15,1.56,-.03],["c",.03,.06,0,.42,-.09,1.44],["c",-.09,.72,-.15,1.35,-.15,1.38],["c",0,.03,-.03,.09,-.06,.12],["c",-.06,.06,-.12,.09,-.51,.09],["c",-1.08,.06,-1.8,.3,-2.28,.75],["l",-.12,.09],["l",.09,.09],["c",.12,.15,.39,.33,.63,.45],["c",.42,.18,.96,.27,1.68,.33],["c",.39,0,.45,.03,.51,.09],["c",.03,.03,.06,.09,.06,.12],["c",0,.03,.06,.66,.15,1.38],["c",.09,1.02,.12,1.38,.09,1.44],["c",-.06,.12,-.09,.12,-1.56,-.03],["c",-.78,-.06,-1.41,-.15,-1.44,-.15],["c",-.09,-.06,-.12,-.12,-.12,-.54],["c",-.06,-.93,-.24,-1.56,-.57,-2.07],["c",-.06,-.09,-.15,-.21,-.18,-.24],["l",-.09,-.06],["l",-.09,.06],["c",-.03,.03,-.12,.15,-.18,.24],["c",-.33,.51,-.51,1.14,-.57,2.07],["c",0,.42,-.03,.48,-.12,.54],["c",-.03,0,-.66,.09,-1.44,.15],["c",-1.47,.15,-1.5,.15,-1.56,.03],["c",-.03,-.06,0,-.42,.09,-1.44],["c",.09,-.72,.15,-1.35,.15,-1.38],["c",0,-.03,.03,-.09,.06,-.12],["c",.06,-.06,.12,-.09,.51,-.09],["c",.72,-.06,1.26,-.15,1.68,-.33],["c",.24,-.12,.51,-.3,.63,-.45],["l",.09,-.09],["l",-.12,-.09],["c",-.48,-.45,-1.2,-.69,-2.28,-.75],["c",-.39,0,-.45,-.03,-.51,-.09],["c",-.03,-.03,-.06,-.09,-.06,-.12],["c",0,-.03,-.06,-.63,-.12,-1.38],["c",-.09,-.72,-.15,-1.35,-.15,-1.38],["z"]],w:7.95,h:7.977},"dots.dot":{d:[["M",1.32,-1.68],["c",.09,-.03,.27,-.06,.39,-.06],["c",.96,0,1.74,.78,1.74,1.71],["c",0,.96,-.78,1.74,-1.71,1.74],["c",-.96,0,-1.74,-.78,-1.74,-1.71],["c",0,-.78,.54,-1.5,1.32,-1.68],["z"]],w:3.45,h:3.45},"noteheads.dbl":{d:[["M",-.69,-4.02],["c",.18,-.09,.36,-.09,.54,0],["c",.18,.09,.24,.15,.33,.3],["c",.06,.15,.06,.18,.06,1.41],["l",0,1.23],["l",.12,-.18],["c",.72,-1.26,2.64,-2.31,4.86,-2.64],["c",.81,-.15,1.11,-.15,2.13,-.15],["c",.99,0,1.29,0,2.1,.15],["c",.75,.12,1.38,.27,2.04,.54],["c",1.35,.51,2.34,1.26,2.82,2.1],["l",.12,.18],["l",0,-1.23],["c",0,-1.2,0,-1.26,.06,-1.38],["c",.09,-.18,.15,-.24,.33,-.33],["c",.18,-.09,.36,-.09,.54,0],["c",.18,.09,.24,.15,.33,.3],["l",.06,.15],["l",0,3.54],["l",0,3.54],["l",-.06,.15],["c",-.09,.18,-.15,.24,-.33,.33],["c",-.18,.09,-.36,.09,-.54,0],["c",-.18,-.09,-.24,-.15,-.33,-.33],["c",-.06,-.12,-.06,-.18,-.06,-1.38],["l",0,-1.23],["l",-.12,.18],["c",-.48,.84,-1.47,1.59,-2.82,2.1],["c",-.84,.33,-1.71,.54,-2.85,.66],["c",-.45,.06,-2.16,.06,-2.61,0],["c",-1.14,-.12,-2.01,-.33,-2.85,-.66],["c",-1.35,-.51,-2.34,-1.26,-2.82,-2.1],["l",-.12,-.18],["l",0,1.23],["c",0,1.23,0,1.26,-.06,1.38],["c",-.09,.18,-.15,.24,-.33,.33],["c",-.18,.09,-.36,.09,-.54,0],["c",-.18,-.09,-.24,-.15,-.33,-.33],["l",-.06,-.15],["l",0,-3.54],["c",0,-3.48,0,-3.54,.06,-3.66],["c",.09,-.18,.15,-.24,.33,-.33],["z"],["m",7.71,.63],["c",-.36,-.06,-.9,-.06,-1.14,0],["c",-.3,.03,-.66,.24,-.87,.42],["c",-.6,.54,-.9,1.62,-.75,2.82],["c",.12,.93,.51,1.68,1.11,2.31],["c",.75,.72,1.83,1.2,2.85,1.26],["c",1.05,.06,1.83,-.54,2.1,-1.65],["c",.21,-.9,.12,-1.95,-.24,-2.82],["c",-.36,-.81,-1.08,-1.53,-1.95,-1.95],["c",-.3,-.15,-.78,-.3,-1.11,-.39],["z"]],w:16.83,h:8.145},"noteheads.whole":{d:[["M",6.51,-4.05],["c",.51,-.03,2.01,0,2.52,.03],["c",1.41,.18,2.64,.51,3.72,1.08],["c",1.2,.63,1.95,1.41,2.19,2.31],["c",.09,.33,.09,.9,0,1.23],["c",-.24,.9,-.99,1.68,-2.19,2.31],["c",-1.08,.57,-2.28,.9,-3.75,1.08],["c",-.66,.06,-2.31,.06,-2.97,0],["c",-1.47,-.18,-2.67,-.51,-3.75,-1.08],["c",-1.2,-.63,-1.95,-1.41,-2.19,-2.31],["c",-.09,-.33,-.09,-.9,0,-1.23],["c",.24,-.9,.99,-1.68,2.19,-2.31],["c",1.2,-.63,2.61,-.99,4.23,-1.11],["z"],["m",.57,.66],["c",-.87,-.15,-1.53,0,-2.04,.51],["c",-.15,.15,-.24,.27,-.33,.48],["c",-.24,.51,-.36,1.08,-.33,1.77],["c",.03,.69,.18,1.26,.42,1.77],["c",.6,1.17,1.74,1.98,3.18,2.22],["c",1.11,.21,1.95,-.15,2.34,-.99],["c",.24,-.51,.36,-1.08,.33,-1.8],["c",-.06,-1.11,-.45,-2.04,-1.17,-2.76],["c",-.63,-.63,-1.47,-1.05,-2.4,-1.2],["z"]],w:14.985,h:8.097},"noteheads.half":{d:[["M",7.44,-4.05],["c",.06,-.03,.27,-.03,.48,-.03],["c",1.05,0,1.71,.24,2.1,.81],["c",.42,.6,.45,1.35,.18,2.4],["c",-.42,1.59,-1.14,2.73,-2.16,3.39],["c",-1.41,.93,-3.18,1.44,-5.4,1.53],["c",-1.17,.03,-1.89,-.21,-2.28,-.81],["c",-.42,-.6,-.45,-1.35,-.18,-2.4],["c",.42,-1.59,1.14,-2.73,2.16,-3.39],["c",.63,-.42,1.23,-.72,1.98,-.96],["c",.9,-.3,1.65,-.42,3.12,-.54],["z"],["m",1.29,.87],["c",-.27,-.09,-.63,-.12,-.9,-.03],["c",-.72,.24,-1.53,.69,-3.27,1.8],["c",-2.34,1.5,-3.3,2.25,-3.57,2.79],["c",-.36,.72,-.06,1.5,.66,1.77],["c",.24,.12,.69,.09,.99,0],["c",.84,-.3,1.92,-.93,4.14,-2.37],["c",1.62,-1.08,2.37,-1.71,2.61,-2.19],["c",.36,-.72,.06,-1.5,-.66,-1.77],["z"]],w:10.37,h:8.132},"noteheads.quarter":{d:[["M",6.09,-4.05],["c",.36,-.03,1.2,0,1.53,.06],["c",1.17,.24,1.89,.84,2.16,1.83],["c",.06,.18,.06,.3,.06,.66],["c",0,.45,0,.63,-.15,1.08],["c",-.66,2.04,-3.06,3.93,-5.52,4.38],["c",-.54,.09,-1.44,.09,-1.83,.03],["c",-1.23,-.27,-1.98,-.87,-2.25,-1.86],["c",-.06,-.18,-.06,-.3,-.06,-.66],["c",0,-.45,0,-.63,.15,-1.08],["c",.24,-.78,.75,-1.53,1.44,-2.22],["c",1.2,-1.2,2.85,-2.01,4.47,-2.22],["z"]],w:9.81,h:8.094},"noteheads.slash.nostem":{d:[["M",9.3,-7.77],["c",.06,-.06,.18,-.06,1.71,-.06],["l",1.65,0],["l",.09,.09],["c",.06,.06,.06,.09,.06,.15],["c",-.03,.12,-9.21,15.24,-9.3,15.33],["c",-.06,.06,-.18,.06,-1.71,.06],["l",-1.65,0],["l",-.09,-.09],["c",-.06,-.06,-.06,-.09,-.06,-.15],["c",.03,-.12,9.21,-15.24,9.3,-15.33],["z"]],w:12.81,h:15.63},"noteheads.indeterminate":{d:[["M",.78,-4.05],["c",.12,-.03,.24,-.03,.36,.03],["c",.03,.03,.93,.72,1.95,1.56],["l",1.86,1.5],["l",1.86,-1.5],["c",1.02,-.84,1.92,-1.53,1.95,-1.56],["c",.21,-.12,.33,-.09,.75,.24],["c",.3,.27,.36,.36,.36,.54],["c",0,.03,-.03,.12,-.06,.18],["c",-.03,.06,-.9,.75,-1.89,1.56],["l",-1.8,1.47],["c",0,.03,.81,.69,1.8,1.5],["c",.99,.81,1.86,1.5,1.89,1.56],["c",.03,.06,.06,.15,.06,.18],["c",0,.18,-.06,.27,-.36,.54],["c",-.42,.33,-.54,.36,-.75,.24],["c",-.03,-.03,-.93,-.72,-1.95,-1.56],["l",-1.86,-1.5],["l",-1.86,1.5],["c",-1.02,.84,-1.92,1.53,-1.95,1.56],["c",-.21,.12,-.33,.09,-.75,-.24],["c",-.3,-.27,-.36,-.36,-.36,-.54],["c",0,-.03,.03,-.12,.06,-.18],["c",.03,-.06,.9,-.75,1.89,-1.56],["l",1.8,-1.47],["c",0,-.03,-.81,-.69,-1.8,-1.5],["c",-.99,-.81,-1.86,-1.5,-1.89,-1.56],["c",-.06,-.12,-.09,-.21,-.03,-.36],["c",.03,-.09,.57,-.57,.72,-.63],["z"]],w:9.843,h:8.139},"scripts.ufermata":{d:[["M",-.75,-10.77],["c",.12,0,.45,-.03,.69,-.03],["c",2.91,-.03,5.55,1.53,7.41,4.35],["c",1.17,1.71,1.95,3.72,2.43,6.03],["c",.12,.51,.12,.57,.03,.69],["c",-.12,.21,-.48,.27,-.69,.12],["c",-.12,-.09,-.18,-.24,-.27,-.69],["c",-.78,-3.63,-3.42,-6.54,-6.78,-7.38],["c",-.78,-.21,-1.2,-.24,-2.07,-.24],["c",-.63,0,-.84,0,-1.2,.06],["c",-1.83,.27,-3.42,1.08,-4.8,2.37],["c",-1.41,1.35,-2.4,3.21,-2.85,5.19],["c",-.09,.45,-.15,.6,-.27,.69],["c",-.21,.15,-.57,.09,-.69,-.12],["c",-.09,-.12,-.09,-.18,.03,-.69],["c",.33,-1.62,.78,-3,1.47,-4.38],["c",1.77,-3.54,4.44,-5.67,7.56,-5.97],["z"],["m",.33,7.47],["c",1.38,-.3,2.58,.9,2.31,2.25],["c",-.15,.72,-.78,1.35,-1.47,1.5],["c",-1.38,.27,-2.58,-.93,-2.31,-2.31],["c",.15,-.69,.78,-1.29,1.47,-1.44],["z"]],w:19.748,h:11.289},"scripts.dfermata":{d:[["M",-9.63,-.42],["c",.15,-.09,.36,-.06,.51,.03],["c",.12,.09,.18,.24,.27,.66],["c",.78,3.66,3.42,6.57,6.78,7.41],["c",.78,.21,1.2,.24,2.07,.24],["c",.63,0,.84,0,1.2,-.06],["c",1.83,-.27,3.42,-1.08,4.8,-2.37],["c",1.41,-1.35,2.4,-3.21,2.85,-5.22],["c",.09,-.42,.15,-.57,.27,-.66],["c",.21,-.15,.57,-.09,.69,.12],["c",.09,.12,.09,.18,-.03,.69],["c",-.33,1.62,-.78,3,-1.47,4.38],["c",-1.92,3.84,-4.89,6,-8.31,6],["c",-3.42,0,-6.39,-2.16,-8.31,-6],["c",-.48,-.96,-.84,-1.92,-1.14,-2.97],["c",-.18,-.69,-.42,-1.74,-.42,-1.92],["c",0,-.12,.09,-.27,.24,-.33],["z"],["m",9.21,0],["c",1.2,-.27,2.34,.63,2.34,1.86],["c",0,.9,-.66,1.68,-1.5,1.89],["c",-1.38,.27,-2.58,-.93,-2.31,-2.31],["c",.15,-.69,.78,-1.29,1.47,-1.44],["z"]],w:19.744,h:11.274},"scripts.sforzato":{d:[["M",-6.45,-3.69],["c",.06,-.03,.15,-.06,.18,-.06],["c",.06,0,2.85,.72,6.24,1.59],["l",6.33,1.65],["c",.33,.06,.45,.21,.45,.51],["c",0,.3,-.12,.45,-.45,.51],["l",-6.33,1.65],["c",-3.39,.87,-6.18,1.59,-6.21,1.59],["c",-.21,0,-.48,-.24,-.51,-.45],["c",0,-.15,.06,-.36,.18,-.45],["c",.09,-.06,.87,-.27,3.84,-1.05],["c",2.04,-.54,3.84,-.99,4.02,-1.02],["c",.15,-.06,1.14,-.24,2.22,-.42],["c",1.05,-.18,1.92,-.36,1.92,-.36],["c",0,0,-.87,-.18,-1.92,-.36],["c",-1.08,-.18,-2.07,-.36,-2.22,-.42],["c",-.18,-.03,-1.98,-.48,-4.02,-1.02],["c",-2.97,-.78,-3.75,-.99,-3.84,-1.05],["c",-.12,-.09,-.18,-.3,-.18,-.45],["c",.03,-.15,.15,-.3,.3,-.39],["z"]],w:13.5,h:7.5},"scripts.staccato":{d:[["M",-.36,-1.47],["c",.93,-.21,1.86,.51,1.86,1.47],["c",0,.93,-.87,1.65,-1.8,1.47],["c",-.54,-.12,-1.02,-.57,-1.14,-1.08],["c",-.21,-.81,.27,-1.65,1.08,-1.86],["z"]],w:2.989,h:3.004},"scripts.tenuto":{d:[["M",-4.2,-.48],["l",.12,-.06],["l",4.08,0],["l",4.08,0],["l",.12,.06],["c",.39,.21,.39,.75,0,.96],["l",-.12,.06],["l",-4.08,0],["l",-4.08,0],["l",-.12,-.06],["c",-.39,-.21,-.39,-.75,0,-.96],["z"]],w:8.985,h:1.08},"scripts.umarcato":{d:[["M",-.15,-8.19],["c",.15,-.12,.36,-.03,.45,.15],["c",.21,.42,3.45,7.65,3.45,7.71],["c",0,.12,-.12,.27,-.21,.3],["c",-.03,.03,-.51,.03,-1.14,.03],["c",-1.05,0,-1.08,0,-1.17,-.06],["c",-.09,-.06,-.24,-.36,-1.17,-2.4],["c",-.57,-1.29,-1.05,-2.34,-1.08,-2.34],["c",0,-.03,-.51,1.02,-1.08,2.34],["c",-.93,2.07,-1.08,2.34,-1.14,2.4],["c",-.06,.03,-.15,.06,-.18,.06],["c",-.15,0,-.33,-.18,-.33,-.33],["c",0,-.06,3.24,-7.32,3.45,-7.71],["c",.03,-.06,.09,-.15,.15,-.15],["z"]],w:7.5,h:8.245},"scripts.dmarcato":{d:[["M",-3.57,.03],["c",.03,0,.57,-.03,1.17,-.03],["c",1.05,0,1.08,0,1.17,.06],["c",.09,.06,.24,.36,1.17,2.4],["c",.57,1.29,1.05,2.34,1.08,2.34],["c",0,.03,.51,-1.02,1.08,-2.34],["c",.93,-2.07,1.08,-2.34,1.14,-2.4],["c",.06,-.03,.15,-.06,.18,-.06],["c",.15,0,.33,.18,.33,.33],["c",0,.09,-3.45,7.74,-3.54,7.83],["c",-.12,.12,-.3,.12,-.42,0],["c",-.09,-.09,-3.54,-7.74,-3.54,-7.83],["c",0,-.09,.12,-.27,.18,-.3],["z"]],w:7.5,h:8.25},"scripts.stopped":{d:[["M",-.27,-4.08],["c",.18,-.09,.36,-.09,.54,0],["c",.18,.09,.24,.15,.33,.3],["l",.06,.15],["l",0,1.5],["l",0,1.47],["l",1.47,0],["l",1.5,0],["l",.15,.06],["c",.15,.09,.21,.15,.3,.33],["c",.09,.18,.09,.36,0,.54],["c",-.09,.18,-.15,.24,-.33,.33],["c",-.12,.06,-.18,.06,-1.62,.06],["l",-1.47,0],["l",0,1.47],["l",0,1.47],["l",-.06,.15],["c",-.09,.18,-.15,.24,-.33,.33],["c",-.18,.09,-.36,.09,-.54,0],["c",-.18,-.09,-.24,-.15,-.33,-.33],["l",-.06,-.15],["l",0,-1.47],["l",0,-1.47],["l",-1.47,0],["c",-1.44,0,-1.5,0,-1.62,-.06],["c",-.18,-.09,-.24,-.15,-.33,-.33],["c",-.09,-.18,-.09,-.36,0,-.54],["c",.09,-.18,.15,-.24,.33,-.33],["l",.15,-.06],["l",1.47,0],["l",1.47,0],["l",0,-1.47],["c",0,-1.44,0,-1.5,.06,-1.62],["c",.09,-.18,.15,-.24,.33,-.33],["z"]],w:8.295,h:8.295},"scripts.upbow":{d:[["M",-4.65,-15.54],["c",.12,-.09,.36,-.06,.48,.03],["c",.03,.03,.09,.09,.12,.15],["c",.03,.06,.66,2.13,1.41,4.62],["c",1.35,4.41,1.38,4.56,2.01,6.96],["l",.63,2.46],["l",.63,-2.46],["c",.63,-2.4,.66,-2.55,2.01,-6.96],["c",.75,-2.49,1.38,-4.56,1.41,-4.62],["c",.06,-.15,.18,-.21,.36,-.24],["c",.15,0,.3,.06,.39,.18],["c",.15,.21,.24,-.18,-2.1,7.56],["c",-1.2,3.96,-2.22,7.32,-2.25,7.41],["c",0,.12,-.06,.27,-.09,.3],["c",-.12,.21,-.6,.21,-.72,0],["c",-.03,-.03,-.09,-.18,-.09,-.3],["c",-.03,-.09,-1.05,-3.45,-2.25,-7.41],["c",-2.34,-7.74,-2.25,-7.35,-2.1,-7.56],["c",.03,-.03,.09,-.09,.15,-.12],["z"]],w:9.73,h:15.608},"scripts.downbow":{d:[["M",-5.55,-9.93],["l",.09,-.06],["l",5.46,0],["l",5.46,0],["l",.09,.06],["l",.06,.09],["l",0,4.77],["c",0,5.28,0,4.89,-.18,5.01],["c",-.18,.12,-.42,.06,-.54,-.12],["c",-.06,-.09,-.06,-.18,-.06,-2.97],["l",0,-2.85],["l",-4.83,0],["l",-4.83,0],["l",0,2.85],["c",0,2.79,0,2.88,-.06,2.97],["c",-.15,.24,-.51,.24,-.66,0],["c",-.06,-.09,-.06,-.21,-.06,-4.89],["l",0,-4.77],["z"]],w:11.22,h:9.992},"scripts.turn":{d:[["M",-4.77,-3.9],["c",.36,-.06,1.05,-.06,1.44,.03],["c",.78,.15,1.5,.51,2.34,1.14],["c",.6,.45,1.05,.87,2.22,2.01],["c",1.11,1.08,1.62,1.5,2.22,1.86],["c",.6,.36,1.32,.57,1.92,.57],["c",.9,0,1.71,-.57,1.89,-1.35],["c",.24,-.93,-.39,-1.89,-1.35,-2.1],["l",-.15,-.06],["l",-.09,.15],["c",-.03,.09,-.15,.24,-.24,.33],["c",-.72,.72,-2.04,.54,-2.49,-.36],["c",-.48,-.93,.03,-1.86,1.17,-2.19],["c",.3,-.09,1.02,-.09,1.35,0],["c",.99,.27,1.74,.87,2.25,1.83],["c",.69,1.41,.63,3,-.21,4.26],["c",-.21,.3,-.69,.81,-.99,1.02],["c",-.3,.21,-.84,.45,-1.17,.54],["c",-1.23,.36,-2.49,.15,-3.72,-.6],["c",-.75,-.48,-1.41,-1.02,-2.85,-2.46],["c",-1.11,-1.08,-1.62,-1.5,-2.22,-1.86],["c",-.6,-.36,-1.32,-.57,-1.92,-.57],["c",-.9,0,-1.71,.57,-1.89,1.35],["c",-.24,.93,.39,1.89,1.35,2.1],["l",.15,.06],["l",.09,-.15],["c",.03,-.09,.15,-.24,.24,-.33],["c",.72,-.72,2.04,-.54,2.49,.36],["c",.48,.93,-.03,1.86,-1.17,2.19],["c",-.3,.09,-1.02,.09,-1.35,0],["c",-.99,-.27,-1.74,-.87,-2.25,-1.83],["c",-.69,-1.41,-.63,-3,.21,-4.26],["c",.21,-.3,.69,-.81,.99,-1.02],["c",.48,-.33,1.11,-.57,1.74,-.66],["z"]],w:16.366,h:7.893},"scripts.trill":{d:[["M",-.51,-16.02],["c",.12,-.09,.21,-.18,.21,-.18],["l",-.81,4.02],["l",-.81,4.02],["c",.03,0,.51,-.27,1.08,-.6],["c",.6,-.3,1.14,-.63,1.26,-.66],["c",1.14,-.54,2.31,-.6,3.09,-.18],["c",.27,.15,.54,.36,.6,.51],["l",.06,.12],["l",.21,-.21],["c",.9,-.81,2.22,-.99,3.12,-.42],["c",.6,.42,.9,1.14,.78,2.07],["c",-.15,1.29,-1.05,2.31,-1.95,2.25],["c",-.48,-.03,-.78,-.3,-.96,-.81],["c",-.09,-.27,-.09,-.9,-.03,-1.2],["c",.21,-.75,.81,-1.23,1.59,-1.32],["l",.24,-.03],["l",-.09,-.12],["c",-.51,-.66,-1.62,-.63,-2.31,.03],["c",-.39,.42,-.3,.09,-1.23,4.77],["l",-.81,4.14],["c",-.03,0,-.12,-.03,-.21,-.09],["c",-.33,-.15,-.54,-.18,-.99,-.18],["c",-.42,0,-.66,.03,-1.05,.18],["c",-.12,.06,-.21,.09,-.21,.09],["c",0,-.03,.36,-1.86,.81,-4.11],["c",.9,-4.47,.87,-4.26,.69,-4.53],["c",-.21,-.36,-.66,-.51,-1.17,-.36],["c",-.15,.06,-2.22,1.14,-2.58,1.38],["c",-.12,.09,-.12,.09,-.21,.6],["l",-.09,.51],["l",.21,.24],["c",.63,.75,1.02,1.47,1.2,2.19],["c",.06,.27,.06,.36,.06,.81],["c",0,.42,0,.54,-.06,.78],["c",-.15,.54,-.33,.93,-.63,1.35],["c",-.18,.24,-.57,.63,-.81,.78],["c",-.24,.15,-.63,.36,-.84,.42],["c",-.27,.06,-.66,.06,-.87,.03],["c",-.81,-.18,-1.32,-1.05,-1.38,-2.46],["c",-.03,-.6,.03,-.99,.33,-2.46],["c",.21,-1.08,.24,-1.32,.21,-1.29],["c",-1.2,.48,-2.4,.75,-3.21,.72],["c",-.69,-.06,-1.17,-.3,-1.41,-.72],["c",-.39,-.75,-.12,-1.8,.66,-2.46],["c",.24,-.18,.69,-.42,1.02,-.51],["c",.69,-.18,1.53,-.15,2.31,.09],["c",.3,.09,.75,.3,.99,.45],["c",.12,.09,.15,.09,.15,.03],["c",.03,-.03,.33,-1.59,.72,-3.45],["c",.36,-1.86,.66,-3.42,.69,-3.45],["c",0,-.03,.03,-.03,.21,.03],["c",.21,.06,.27,.06,.48,.06],["c",.42,-.03,.78,-.18,1.26,-.48],["c",.15,-.12,.36,-.27,.48,-.39],["z"],["m",-5.73,7.68],["c",-.27,-.03,-.96,-.06,-1.2,-.03],["c",-.81,.12,-1.35,.57,-1.5,1.2],["c",-.18,.66,.12,1.14,.75,1.29],["c",.66,.12,1.92,-.12,3.18,-.66],["l",.33,-.15],["l",.09,-.39],["c",.06,-.21,.09,-.42,.09,-.45],["c",0,-.03,-.45,-.3,-.75,-.45],["c",-.27,-.15,-.66,-.27,-.99,-.36],["z"],["m",4.29,3.63],["c",-.24,-.39,-.51,-.75,-.51,-.69],["c",-.06,.12,-.39,1.92,-.45,2.28],["c",-.09,.54,-.12,1.14,-.06,1.38],["c",.06,.42,.21,.6,.51,.57],["c",.39,-.06,.75,-.48,.93,-1.14],["c",.09,-.33,.09,-1.05,0,-1.38],["c",-.09,-.39,-.24,-.69,-.42,-1.02],["z"]],w:17.963,h:16.49},"scripts.segno":{d:[["M",-3.72,-11.22],["c",.78,-.09,1.59,.03,2.31,.42],["c",1.2,.6,2.01,1.71,2.31,3.09],["c",.09,.42,.09,1.2,.03,1.5],["c",-.15,.45,-.39,.81,-.66,.93],["c",-.33,.18,-.84,.21,-1.23,.15],["c",-.81,-.18,-1.32,-.93,-1.26,-1.89],["c",.03,-.36,.09,-.57,.24,-.9],["c",.15,-.33,.45,-.6,.72,-.75],["c",.12,-.06,.18,-.09,.18,-.12],["c",0,-.03,-.03,-.15,-.09,-.24],["c",-.18,-.45,-.54,-.87,-.96,-1.08],["c",-1.11,-.57,-2.34,-.18,-2.88,.9],["c",-.24,.51,-.33,1.11,-.24,1.83],["c",.27,1.92,1.5,3.54,3.93,5.13],["c",.48,.33,1.26,.78,1.29,.78],["c",.03,0,1.35,-2.19,2.94,-4.89],["l",2.88,-4.89],["l",.84,0],["l",.87,0],["l",-.03,.06],["c",-.15,.21,-6.15,10.41,-6.15,10.44],["c",0,0,.21,.15,.48,.27],["c",2.61,1.47,4.35,3.03,5.13,4.65],["c",1.14,2.34,.51,5.07,-1.44,6.39],["c",-.66,.42,-1.32,.63,-2.13,.69],["c",-2.01,.09,-3.81,-1.41,-4.26,-3.54],["c",-.09,-.42,-.09,-1.2,-.03,-1.5],["c",.15,-.45,.39,-.81,.66,-.93],["c",.33,-.18,.84,-.21,1.23,-.15],["c",.81,.18,1.32,.93,1.26,1.89],["c",-.03,.36,-.09,.57,-.24,.9],["c",-.15,.33,-.45,.6,-.72,.75],["c",-.12,.06,-.18,.09,-.18,.12],["c",0,.03,.03,.15,.09,.24],["c",.18,.45,.54,.87,.96,1.08],["c",1.11,.57,2.34,.18,2.88,-.9],["c",.24,-.51,.33,-1.11,.24,-1.83],["c",-.27,-1.92,-1.5,-3.54,-3.93,-5.13],["c",-.48,-.33,-1.26,-.78,-1.29,-.78],["c",-.03,0,-1.35,2.19,-2.91,4.89],["l",-2.88,4.89],["l",-.87,0],["l",-.87,0],["l",.03,-.06],["c",.15,-.21,6.15,-10.41,6.15,-10.44],["c",0,0,-.21,-.15,-.48,-.3],["c",-2.61,-1.44,-4.35,-3,-5.13,-4.62],["c",-.9,-1.89,-.72,-4.02,.48,-5.52],["c",.69,-.84,1.68,-1.41,2.73,-1.53],["z"],["m",8.76,9.09],["c",.03,-.03,.15,-.03,.27,-.03],["c",.33,.03,.57,.18,.72,.48],["c",.09,.18,.09,.57,0,.75],["c",-.09,.18,-.21,.3,-.36,.39],["c",-.15,.06,-.21,.06,-.39,.06],["c",-.21,0,-.27,0,-.39,-.06],["c",-.3,-.15,-.48,-.45,-.48,-.75],["c",0,-.39,.24,-.72,.63,-.84],["z"],["m",-10.53,2.61],["c",.03,-.03,.15,-.03,.27,-.03],["c",.33,.03,.57,.18,.72,.48],["c",.09,.18,.09,.57,0,.75],["c",-.09,.18,-.21,.3,-.36,.39],["c",-.15,.06,-.21,.06,-.39,.06],["c",-.21,0,-.27,0,-.39,-.06],["c",-.3,-.15,-.48,-.45,-.48,-.75],["c",0,-.39,.24,-.72,.63,-.84],["z"]],w:15,h:22.504},"scripts.coda":{d:[["M",-.21,-10.47],["c",.18,-.12,.42,-.06,.54,.12],["c",.06,.09,.06,.18,.06,1.5],["l",0,1.38],["l",.18,0],["c",.39,.06,.96,.24,1.38,.48],["c",1.68,.93,2.82,3.24,3.03,6.12],["c",.03,.24,.03,.45,.03,.45],["c",0,.03,.6,.03,1.35,.03],["c",1.5,0,1.47,0,1.59,.18],["c",.09,.12,.09,.3,0,.42],["c",-.12,.18,-.09,.18,-1.59,.18],["c",-.75,0,-1.35,0,-1.35,.03],["c",0,0,0,.21,-.03,.42],["c",-.24,3.15,-1.53,5.58,-3.45,6.36],["c",-.27,.12,-.72,.24,-.96,.27],["l",-.18,0],["l",0,1.38],["c",0,1.32,0,1.41,-.06,1.5],["c",-.15,.24,-.51,.24,-.66,0],["c",-.06,-.09,-.06,-.18,-.06,-1.5],["l",0,-1.38],["l",-.18,0],["c",-.39,-.06,-.96,-.24,-1.38,-.48],["c",-1.68,-.93,-2.82,-3.24,-3.03,-6.15],["c",-.03,-.21,-.03,-.42,-.03,-.42],["c",0,-.03,-.6,-.03,-1.35,-.03],["c",-1.5,0,-1.47,0,-1.59,-.18],["c",-.09,-.12,-.09,-.3,0,-.42],["c",.12,-.18,.09,-.18,1.59,-.18],["c",.75,0,1.35,0,1.35,-.03],["c",0,0,0,-.21,.03,-.45],["c",.24,-3.12,1.53,-5.55,3.45,-6.33],["c",.27,-.12,.72,-.24,.96,-.27],["l",.18,0],["l",0,-1.38],["c",0,-1.53,0,-1.5,.18,-1.62],["z"],["m",-.18,6.93],["c",0,-2.97,0,-3.15,-.06,-3.15],["c",-.09,0,-.51,.15,-.66,.21],["c",-.87,.51,-1.38,1.62,-1.56,3.51],["c",-.06,.54,-.12,1.59,-.12,2.16],["l",0,.42],["l",1.2,0],["l",1.2,0],["l",0,-3.15],["z"],["m",1.17,-3.06],["c",-.09,-.03,-.21,-.06,-.27,-.09],["l",-.12,0],["l",0,3.15],["l",0,3.15],["l",1.2,0],["l",1.2,0],["l",0,-.81],["c",-.06,-2.4,-.33,-3.69,-.93,-4.59],["c",-.27,-.39,-.66,-.69,-1.08,-.81],["z"],["m",-1.17,10.14],["l",0,-3.15],["l",-1.2,0],["l",-1.2,0],["l",0,.81],["c",.03,.96,.06,1.47,.15,2.13],["c",.24,2.04,.96,3.12,2.13,3.36],["l",.12,0],["l",0,-3.15],["z"],["m",3.18,-2.34],["l",0,-.81],["l",-1.2,0],["l",-1.2,0],["l",0,3.15],["l",0,3.15],["l",.12,0],["c",1.17,-.24,1.89,-1.32,2.13,-3.36],["c",.09,-.66,.12,-1.17,.15,-2.13],["z"]],w:16.035,h:21.062},"scripts.comma":{d:[["M",1.14,-4.62],["c",.3,-.12,.69,-.03,.93,.15],["c",.12,.12,.36,.45,.51,.78],["c",.9,1.77,.54,4.05,-1.08,6.75],["c",-.36,.63,-.87,1.38,-.96,1.44],["c",-.18,.12,-.42,.06,-.54,-.12],["c",-.09,-.18,-.09,-.3,.12,-.6],["c",.96,-1.44,1.44,-2.97,1.38,-4.35],["c",-.06,-.93,-.3,-1.68,-.78,-2.46],["c",-.27,-.39,-.33,-.63,-.24,-.96],["c",.09,-.27,.36,-.54,.66,-.63],["z"]],w:3.042,h:9.237},"scripts.roll":{d:[["M",1.95,-6],["c",.21,-.09,.36,-.09,.57,0],["c",.39,.15,.63,.39,1.47,1.35],["c",.66,.75,.78,.87,1.08,1.05],["c",.75,.45,1.65,.42,2.4,-.06],["c",.12,-.09,.27,-.27,.54,-.6],["c",.42,-.54,.51,-.63,.69,-.63],["c",.09,0,.3,.12,.36,.21],["c",.09,.12,.12,.3,.03,.42],["c",-.06,.12,-3.15,3.9,-3.3,4.08],["c",-.06,.06,-.18,.12,-.27,.18],["c",-.27,.12,-.6,.06,-.99,-.27],["c",-.27,-.21,-.42,-.39,-1.08,-1.14],["c",-.63,-.72,-.81,-.9,-1.17,-1.08],["c",-.36,-.18,-.57,-.21,-.99,-.21],["c",-.39,0,-.63,.03,-.93,.18],["c",-.36,.15,-.51,.27,-.9,.81],["c",-.24,.27,-.45,.51,-.48,.54],["c",-.12,.09,-.27,.06,-.39,0],["c",-.24,-.15,-.33,-.39,-.21,-.6],["c",.09,-.12,3.18,-3.87,3.33,-4.02],["c",.06,-.06,.18,-.15,.24,-.21],["z"]],w:10.817,h:6.125},"scripts.prall":{d:[["M",-4.38,-3.69],["c",.06,-.03,.18,-.06,.24,-.06],["c",.3,0,.27,-.03,1.89,1.95],["l",1.53,1.83],["c",.03,0,.57,-.84,1.23,-1.83],["c",1.14,-1.68,1.23,-1.83,1.35,-1.89],["c",.06,-.03,.18,-.06,.24,-.06],["c",.3,0,.27,-.03,1.89,1.95],["l",1.53,1.83],["l",.48,-.69],["c",.51,-.78,.54,-.84,.69,-.9],["c",.42,-.18,.87,.15,.81,.6],["c",-.03,.12,-.3,.51,-1.5,2.37],["c",-1.38,2.07,-1.5,2.22,-1.62,2.28],["c",-.06,.03,-.18,.06,-.24,.06],["c",-.3,0,-.27,.03,-1.89,-1.95],["l",-1.53,-1.83],["c",-.03,0,-.57,.84,-1.23,1.83],["c",-1.14,1.68,-1.23,1.83,-1.35,1.89],["c",-.06,.03,-.18,.06,-.24,.06],["c",-.3,0,-.27,.03,-1.89,-1.95],["l",-1.53,-1.83],["l",-.48,.69],["c",-.51,.78,-.54,.84,-.69,.9],["c",-.42,.18,-.87,-.15,-.81,-.6],["c",.03,-.12,.3,-.51,1.5,-2.37],["c",1.38,-2.07,1.5,-2.22,1.62,-2.28],["z"]],w:15.011,h:7.5},"scripts.arpeggio":{d:[["M",1.5,0],["c",1.5,2,1.5,3,1.5,3],["s",0,1,-2,1.5],["s",-.5,3,1,5.5],["l",1.5,0],["s",-1.75,-2,-1.9,-3.25],["s",2.15,-.6,2.95,-1.6],["s",.45,-1,.5,-1.25],["s",0,-1,-2,-3.9],["l",-1.5,0],["z"]],w:5,h:10},"scripts.mordent":{d:[["M",-.21,-4.95],["c",.27,-.15,.63,0,.75,.27],["c",.06,.12,.06,.24,.06,1.44],["l",0,1.29],["l",.57,-.84],["c",.51,-.75,.57,-.84,.69,-.9],["c",.06,-.03,.18,-.06,.24,-.06],["c",.3,0,.27,-.03,1.89,1.95],["l",1.53,1.83],["l",.48,-.69],["c",.51,-.78,.54,-.84,.69,-.9],["c",.42,-.18,.87,.15,.81,.6],["c",-.03,.12,-.3,.51,-1.5,2.37],["c",-1.38,2.07,-1.5,2.22,-1.62,2.28],["c",-.06,.03,-.18,.06,-.24,.06],["c",-.3,0,-.27,.03,-1.83,-1.89],["c",-.81,-.99,-1.5,-1.8,-1.53,-1.86],["c",-.06,-.03,-.06,-.03,-.12,.03],["c",-.06,.06,-.06,.15,-.06,2.28],["c",0,1.95,0,2.25,-.06,2.34],["c",-.18,.45,-.81,.48,-1.05,.03],["c",-.03,-.06,-.06,-.24,-.06,-1.41],["l",0,-1.35],["l",-.57,.84],["c",-.54,.78,-.6,.87,-.72,.93],["c",-.06,.03,-.18,.06,-.24,.06],["c",-.3,0,-.27,.03,-1.89,-1.95],["l",-1.53,-1.83],["l",-.48,.69],["c",-.51,.78,-.54,.84,-.69,.9],["c",-.42,.18,-.87,-.15,-.81,-.6],["c",.03,-.12,.3,-.51,1.5,-2.37],["c",1.38,-2.07,1.5,-2.22,1.62,-2.28],["c",.06,-.03,.18,-.06,.24,-.06],["c",.3,0,.27,-.03,1.89,1.95],["l",1.53,1.83],["c",.03,0,.06,-.06,.09,-.09],["c",.06,-.12,.06,-.15,.06,-2.28],["c",0,-1.92,0,-2.22,.06,-2.31],["c",.06,-.15,.15,-.24,.3,-.3],["z"]],w:15.011,h:10.012},"flags.u8th":{d:[["M",-.42,3.75],["l",0,-3.75],["l",.21,0],["l",.21,0],["l",0,.18],["c",0,.3,.06,.84,.12,1.23],["c",.24,1.53,.9,3.12,2.13,5.16],["l",.99,1.59],["c",.87,1.44,1.38,2.34,1.77,3.09],["c",.81,1.68,1.2,3.06,1.26,4.53],["c",.03,1.53,-.21,3.27,-.75,5.01],["c",-.21,.69,-.51,1.5,-.6,1.59],["c",-.09,.12,-.27,.21,-.42,.21],["c",-.15,0,-.42,-.12,-.51,-.21],["c",-.15,-.18,-.18,-.42,-.09,-.66],["c",.15,-.33,.45,-1.2,.57,-1.62],["c",.42,-1.38,.6,-2.58,.6,-3.9],["c",0,-.66,0,-.81,-.06,-1.11],["c",-.39,-2.07,-1.8,-4.26,-4.59,-7.14],["l",-.42,-.45],["l",-.21,0],["l",-.21,0],["l",0,-3.75],["z"]],w:6.692,h:22.59},"flags.u16th":{d:[["M",-.42,7.5],["l",0,-7.5],["l",.21,0],["l",.21,0],["l",0,.39],["c",.06,1.08,.39,2.19,.99,3.39],["c",.45,.9,.87,1.59,1.95,3.12],["c",1.29,1.86,1.77,2.64,2.22,3.57],["c",.45,.93,.72,1.8,.87,2.64],["c",.06,.51,.06,1.5,0,1.92],["c",-.12,.6,-.3,1.2,-.54,1.71],["l",-.09,.24],["l",.18,.45],["c",.51,1.2,.72,2.22,.69,3.42],["c",-.06,1.53,-.39,3.03,-.99,4.53],["c",-.3,.75,-.36,.81,-.57,.9],["c",-.15,.09,-.33,.06,-.48,0],["c",-.18,-.09,-.27,-.18,-.33,-.33],["c",-.09,-.18,-.06,-.3,.12,-.75],["c",.66,-1.41,1.02,-2.88,1.08,-4.32],["c",0,-.6,-.03,-1.05,-.18,-1.59],["c",-.3,-1.2,-.99,-2.4,-2.25,-3.87],["c",-.42,-.48,-1.53,-1.62,-2.19,-2.22],["l",-.45,-.42],["l",-.03,1.11],["l",0,1.11],["l",-.21,0],["l",-.21,0],["l",0,-7.5],["z"],["m",1.65,.09],["c",-.3,-.3,-.69,-.72,-.9,-.87],["l",-.33,-.33],["l",0,.15],["c",0,.3,.06,.81,.15,1.26],["c",.27,1.29,.87,2.61,2.04,4.29],["c",.15,.24,.6,.87,.96,1.38],["l",1.08,1.53],["l",.42,.63],["c",.03,0,.12,-.36,.21,-.72],["c",.06,-.33,.06,-1.2,0,-1.62],["c",-.33,-1.71,-1.44,-3.48,-3.63,-5.7],["z"]],w:6.693,h:26.337},"flags.u32nd":{d:[["M",-.42,11.25],["l",0,-11.25],["l",.21,0],["l",.21,0],["l",0,.36],["c",.09,1.68,.69,3.27,2.07,5.46],["l",.87,1.35],["c",1.02,1.62,1.47,2.37,1.86,3.18],["c",.48,1.02,.78,1.92,.93,2.88],["c",.06,.48,.06,1.5,0,1.89],["c",-.09,.42,-.21,.87,-.36,1.26],["l",-.12,.3],["l",.15,.39],["c",.69,1.56,.84,2.88,.54,4.38],["c",-.09,.45,-.27,1.08,-.45,1.47],["l",-.12,.24],["l",.18,.36],["c",.33,.72,.57,1.56,.69,2.34],["c",.12,1.02,-.06,2.52,-.42,3.84],["c",-.27,.93,-.75,2.13,-.93,2.31],["c",-.18,.15,-.45,.18,-.66,.09],["c",-.18,-.09,-.27,-.18,-.33,-.33],["c",-.09,-.18,-.06,-.3,.06,-.6],["c",.21,-.36,.42,-.9,.57,-1.38],["c",.51,-1.41,.69,-3.06,.48,-4.08],["c",-.15,-.81,-.57,-1.68,-1.2,-2.55],["c",-.72,-.99,-1.83,-2.13,-3.3,-3.33],["l",-.48,-.42],["l",-.03,1.53],["l",0,1.56],["l",-.21,0],["l",-.21,0],["l",0,-11.25],["z"],["m",1.26,-3.96],["c",-.27,-.3,-.54,-.6,-.66,-.72],["l",-.18,-.21],["l",0,.42],["c",.06,.87,.24,1.74,.66,2.67],["c",.36,.87,.96,1.86,1.92,3.18],["c",.21,.33,.63,.87,.87,1.23],["c",.27,.39,.6,.84,.75,1.08],["l",.27,.39],["l",.03,-.12],["c",.12,-.45,.15,-1.05,.09,-1.59],["c",-.27,-1.86,-1.38,-3.78,-3.75,-6.33],["z"],["m",-.27,6.09],["c",-.27,-.21,-.48,-.42,-.51,-.45],["c",-.06,-.03,-.06,-.03,-.06,.21],["c",0,.9,.3,2.04,.81,3.09],["c",.48,1.02,.96,1.77,2.37,3.63],["c",.6,.78,1.05,1.44,1.29,1.77],["c",.06,.12,.15,.21,.15,.18],["c",.03,-.03,.18,-.57,.24,-.87],["c",.06,-.45,.06,-1.32,-.03,-1.74],["c",-.09,-.48,-.24,-.9,-.51,-1.44],["c",-.66,-1.35,-1.83,-2.7,-3.75,-4.38],["z"]],w:6.697,h:32.145},"flags.u64th":{d:[["M",-.42,15],["l",0,-15],["l",.21,0],["l",.21,0],["l",0,.36],["c",.06,1.2,.39,2.37,1.02,3.66],["c",.39,.81,.84,1.56,1.8,3.09],["c",.81,1.26,1.05,1.68,1.35,2.22],["c",.87,1.5,1.35,2.79,1.56,4.08],["c",.06,.54,.06,1.56,-.03,2.04],["c",-.09,.48,-.21,.99,-.36,1.35],["l",-.12,.27],["l",.12,.27],["c",.09,.15,.21,.45,.27,.66],["c",.69,1.89,.63,3.66,-.18,5.46],["l",-.18,.39],["l",.15,.33],["c",.3,.66,.51,1.44,.63,2.1],["c",.06,.48,.06,1.35,0,1.71],["c",-.15,.57,-.42,1.2,-.78,1.68],["l",-.21,.27],["l",.18,.33],["c",.57,1.05,.93,2.13,1.02,3.18],["c",.06,.72,0,1.83,-.21,2.79],["c",-.18,1.02,-.63,2.34,-1.02,3.09],["c",-.15,.33,-.48,.45,-.78,.3],["c",-.18,-.09,-.27,-.18,-.33,-.33],["c",-.09,-.18,-.06,-.3,.03,-.54],["c",.75,-1.5,1.23,-3.45,1.17,-4.89],["c",-.06,-1.02,-.42,-2.01,-1.17,-3.15],["c",-.48,-.72,-1.02,-1.35,-1.89,-2.22],["c",-.57,-.57,-1.56,-1.5,-1.92,-1.77],["l",-.12,-.09],["l",0,1.68],["l",0,1.68],["l",-.21,0],["l",-.21,0],["l",0,-15],["z"],["m",.93,-8.07],["c",-.27,-.3,-.48,-.54,-.51,-.54],["c",0,0,0,.69,.03,1.02],["c",.15,1.47,.75,2.94,2.04,4.83],["l",1.08,1.53],["c",.39,.57,.84,1.2,.99,1.44],["c",.15,.24,.3,.45,.3,.45],["c",0,0,.03,-.09,.06,-.21],["c",.36,-1.59,-.15,-3.33,-1.47,-5.4],["c",-.63,-.93,-1.35,-1.83,-2.52,-3.12],["z"],["m",.06,6.72],["c",-.24,-.21,-.48,-.42,-.51,-.45],["l",-.06,-.06],["l",0,.33],["c",0,1.2,.3,2.34,.93,3.6],["c",.45,.9,.96,1.68,2.25,3.51],["c",.39,.54,.84,1.17,1.02,1.44],["c",.21,.33,.33,.51,.33,.48],["c",.06,-.09,.21,-.63,.3,-.99],["c",.06,-.33,.06,-.45,.06,-.96],["c",0,-.6,-.03,-.84,-.18,-1.35],["c",-.3,-1.08,-1.02,-2.28,-2.13,-3.57],["c",-.39,-.45,-1.44,-1.47,-2.01,-1.98],["z"],["m",0,6.72],["c",-.24,-.21,-.48,-.39,-.51,-.42],["l",-.06,-.06],["l",0,.33],["c",0,1.41,.45,2.82,1.38,4.35],["c",.42,.72,.72,1.14,1.86,2.73],["c",.36,.45,.75,.99,.87,1.2],["c",.15,.21,.3,.36,.3,.36],["c",.06,0,.3,-.48,.39,-.75],["c",.09,-.36,.12,-.63,.12,-1.05],["c",-.06,-1.05,-.45,-2.04,-1.2,-3.18],["c",-.57,-.87,-1.11,-1.53,-2.07,-2.49],["c",-.36,-.33,-.84,-.78,-1.08,-1.02],["z"]],w:6.682,h:39.694},"flags.d8th":{d:[["M",5.67,-21.63],["c",.24,-.12,.54,-.06,.69,.15],["c",.06,.06,.21,.36,.39,.66],["c",.84,1.77,1.26,3.36,1.32,5.1],["c",.03,1.29,-.21,2.37,-.81,3.63],["c",-.6,1.23,-1.26,2.13,-3.21,4.38],["c",-1.35,1.53,-1.86,2.19,-2.4,2.97],["c",-.63,.93,-1.11,1.92,-1.38,2.79],["c",-.15,.54,-.27,1.35,-.27,1.8],["l",0,.15],["l",-.21,0],["l",-.21,0],["l",0,-3.75],["l",0,-3.75],["l",.21,0],["l",.21,0],["l",.48,-.3],["c",1.83,-1.11,3.12,-2.1,4.17,-3.12],["c",.78,-.81,1.32,-1.53,1.71,-2.31],["c",.45,-.93,.6,-1.74,.51,-2.88],["c",-.12,-1.56,-.63,-3.18,-1.47,-4.68],["c",-.12,-.21,-.15,-.33,-.06,-.51],["c",.06,-.15,.15,-.24,.33,-.33],["z"]],w:8.492,h:21.691},"flags.ugrace":{d:[["M",6.03,6.93],["c",.15,-.09,.33,-.06,.51,0],["c",.15,.09,.21,.15,.3,.33],["c",.09,.18,.06,.39,-.03,.54],["c",-.06,.15,-10.89,8.88,-11.07,8.97],["c",-.15,.09,-.33,.06,-.48,0],["c",-.18,-.09,-.24,-.15,-.33,-.33],["c",-.09,-.18,-.06,-.39,.03,-.54],["c",.06,-.15,10.89,-8.88,11.07,-8.97],["z"]],w:12.019,h:9.954},"flags.dgrace":{d:[["M",-6.06,-15.93],["c",.18,-.09,.33,-.12,.48,-.06],["c",.18,.09,14.01,8.04,14.1,8.1],["c",.12,.12,.18,.33,.18,.51],["c",-.03,.21,-.15,.39,-.36,.48],["c",-.18,.09,-.33,.12,-.48,.06],["c",-.18,-.09,-14.01,-8.04,-14.1,-8.1],["c",-.12,-.12,-.18,-.33,-.18,-.51],["c",.03,-.21,.15,-.39,.36,-.48],["z"]],w:15.12,h:9.212},"flags.d16th":{d:[["M",6.84,-22.53],["c",.27,-.12,.57,-.06,.72,.15],["c",.15,.15,.33,.87,.45,1.56],["c",.06,.33,.06,1.35,0,1.65],["c",-.06,.33,-.15,.78,-.27,1.11],["c",-.12,.33,-.45,.96,-.66,1.32],["l",-.18,.27],["l",.09,.18],["c",.48,1.02,.72,2.25,.69,3.3],["c",-.06,1.23,-.42,2.28,-1.26,3.45],["c",-.57,.87,-.99,1.32,-3,3.39],["c",-1.56,1.56,-2.22,2.4,-2.76,3.45],["c",-.42,.84,-.66,1.8,-.66,2.55],["l",0,.15],["l",-.21,0],["l",-.21,0],["l",0,-7.5],["l",0,-7.5],["l",.21,0],["l",.21,0],["l",0,1.14],["l",0,1.11],["l",.27,-.15],["c",1.11,-.57,1.77,-.99,2.52,-1.47],["c",2.37,-1.56,3.69,-3.15,4.05,-4.83],["c",.03,-.18,.03,-.39,.03,-.78],["c",0,-.6,-.03,-.93,-.24,-1.5],["c",-.06,-.18,-.12,-.39,-.15,-.45],["c",-.03,-.24,.12,-.48,.36,-.6],["z"],["m",-.63,7.5],["c",-.06,-.18,-.15,-.36,-.15,-.36],["c",-.03,0,-.03,.03,-.06,.06],["c",-.06,.12,-.96,1.02,-1.95,1.98],["c",-.63,.57,-1.26,1.17,-1.44,1.35],["c",-1.53,1.62,-2.28,2.85,-2.55,4.32],["c",-.03,.18,-.03,.54,-.06,.99],["l",0,.69],["l",.18,-.09],["c",.93,-.54,2.1,-1.29,2.82,-1.83],["c",.69,-.51,1.02,-.81,1.53,-1.29],["c",1.86,-1.89,2.37,-3.66,1.68,-5.82],["z"]],w:8.475,h:22.591},"flags.d32nd":{d:[["M",6.84,-29.13],["c",.27,-.12,.57,-.06,.72,.15],["c",.12,.12,.27,.63,.36,1.11],["c",.33,1.59,.06,3.06,-.81,4.47],["l",-.18,.27],["l",.09,.15],["c",.12,.24,.33,.69,.45,1.05],["c",.63,1.83,.45,3.57,-.57,5.22],["l",-.18,.3],["l",.15,.27],["c",.42,.87,.6,1.71,.57,2.61],["c",-.06,1.29,-.48,2.46,-1.35,3.78],["c",-.54,.81,-.93,1.29,-2.46,3],["c",-.51,.54,-1.05,1.17,-1.26,1.41],["c",-1.56,1.86,-2.25,3.36,-2.37,5.01],["l",0,.33],["l",-.21,0],["l",-.21,0],["l",0,-11.25],["l",0,-11.25],["l",.21,0],["l",.21,0],["l",0,1.35],["l",.03,1.35],["l",.78,-.39],["c",1.38,-.69,2.34,-1.26,3.24,-1.92],["c",1.38,-1.02,2.28,-2.13,2.64,-3.21],["c",.15,-.48,.18,-.72,.18,-1.29],["c",0,-.57,-.06,-.9,-.24,-1.47],["c",-.06,-.18,-.12,-.39,-.15,-.45],["c",-.03,-.24,.12,-.48,.36,-.6],["z"],["m",-.63,7.2],["c",-.09,-.18,-.12,-.21,-.12,-.15],["c",-.03,.09,-1.02,1.08,-2.04,2.04],["c",-1.17,1.08,-1.65,1.56,-2.07,2.04],["c",-.84,.96,-1.38,1.86,-1.68,2.76],["c",-.21,.57,-.27,.99,-.3,1.65],["l",0,.54],["l",.66,-.33],["c",3.57,-1.86,5.49,-3.69,5.94,-5.7],["c",.06,-.39,.06,-1.2,-.03,-1.65],["c",-.06,-.39,-.24,-.9,-.36,-1.2],["z"],["m",-.06,7.2],["c",-.06,-.15,-.12,-.33,-.15,-.45],["l",-.06,-.18],["l",-.18,.21],["l",-1.83,1.83],["c",-.87,.9,-1.77,1.8,-1.95,2.01],["c",-1.08,1.29,-1.62,2.31,-1.89,3.51],["c",-.06,.3,-.06,.51,-.09,.93],["l",0,.57],["l",.09,-.06],["c",.75,-.45,1.89,-1.26,2.52,-1.74],["c",.81,-.66,1.74,-1.53,2.22,-2.16],["c",1.26,-1.53,1.68,-3.06,1.32,-4.47],["z"]],w:8.385,h:29.191},"flags.d64th":{d:[["M",7.08,-32.88],["c",.3,-.12,.66,-.03,.78,.24],["c",.18,.33,.27,2.1,.15,2.64],["c",-.09,.39,-.21,.78,-.39,1.08],["l",-.15,.3],["l",.09,.27],["c",.03,.12,.09,.45,.12,.69],["c",.27,1.44,.18,2.55,-.3,3.6],["l",-.12,.33],["l",.06,.42],["c",.27,1.35,.33,2.82,.21,3.63],["c",-.12,.6,-.3,1.23,-.57,1.8],["l",-.15,.27],["l",.03,.42],["c",.06,1.02,.06,2.7,.03,3.06],["c",-.15,1.47,-.66,2.76,-1.74,4.41],["c",-.45,.69,-.75,1.11,-1.74,2.37],["c",-1.05,1.38,-1.5,1.98,-1.95,2.73],["c",-.93,1.5,-1.38,2.82,-1.44,4.2],["l",0,.42],["l",-.21,0],["l",-.21,0],["l",0,-15],["l",0,-15],["l",.21,0],["l",.21,0],["l",0,1.86],["l",0,1.89],["c",0,0,.21,-.03,.45,-.09],["c",2.22,-.39,4.08,-1.11,5.19,-2.01],["c",.63,-.54,1.02,-1.14,1.2,-1.8],["c",.06,-.3,.06,-1.14,-.03,-1.65],["c",-.03,-.18,-.06,-.39,-.09,-.48],["c",-.03,-.24,.12,-.48,.36,-.6],["z"],["m",-.45,6.15],["c",-.03,-.18,-.06,-.42,-.06,-.54],["l",-.03,-.18],["l",-.33,.3],["c",-.42,.36,-.87,.72,-1.68,1.29],["c",-1.98,1.38,-2.25,1.59,-2.85,2.16],["c",-.75,.69,-1.23,1.44,-1.47,2.19],["c",-.15,.45,-.18,.63,-.21,1.35],["l",0,.66],["l",.39,-.18],["c",1.83,-.9,3.45,-1.95,4.47,-2.91],["c",.93,-.9,1.53,-1.83,1.74,-2.82],["c",.06,-.33,.06,-.87,.03,-1.32],["z"],["m",-.27,4.86],["c",-.03,-.21,-.06,-.36,-.06,-.36],["c",0,-.03,-.12,.09,-.24,.24],["c",-.39,.48,-.99,1.08,-2.16,2.19],["c",-1.47,1.38,-1.92,1.83,-2.46,2.49],["c",-.66,.87,-1.08,1.74,-1.29,2.58],["c",-.09,.42,-.15,.87,-.15,1.44],["l",0,.54],["l",.48,-.33],["c",1.5,-1.02,2.58,-1.89,3.51,-2.82],["c",1.47,-1.47,2.25,-2.85,2.4,-4.26],["c",.03,-.39,.03,-1.17,-.03,-1.71],["z"],["m",-.66,7.68],["c",.03,-.15,.03,-.6,.03,-.99],["l",0,-.72],["l",-.27,.33],["l",-1.74,1.98],["c",-1.77,1.92,-2.43,2.76,-2.97,3.9],["c",-.51,1.02,-.72,1.77,-.75,2.91],["c",0,.63,0,.63,.06,.6],["c",.03,-.03,.3,-.27,.63,-.54],["c",.66,-.6,1.86,-1.8,2.31,-2.31],["c",1.65,-1.89,2.52,-3.54,2.7,-5.16],["z"]],w:8.485,h:32.932},"clefs.C":{d:[["M",.06,-14.94],["l",.09,-.06],["l",1.92,0],["l",1.92,0],["l",.09,.06],["l",.06,.09],["l",0,14.85],["l",0,14.82],["l",-.06,.09],["l",-.09,.06],["l",-1.92,0],["l",-1.92,0],["l",-.09,-.06],["l",-.06,-.09],["l",0,-14.82],["l",0,-14.85],["z"],["m",5.37,0],["c",.09,-.06,.09,-.06,.57,-.06],["c",.45,0,.45,0,.54,.06],["l",.06,.09],["l",0,7.14],["l",0,7.11],["l",.09,-.06],["c",.18,-.18,.72,-.84,.96,-1.2],["c",.3,-.45,.66,-1.17,.84,-1.65],["c",.36,-.9,.57,-1.83,.6,-2.79],["c",.03,-.48,.03,-.54,.09,-.63],["c",.12,-.18,.36,-.21,.54,-.12],["c",.18,.09,.21,.15,.24,.66],["c",.06,.87,.21,1.56,.57,2.22],["c",.51,1.02,1.26,1.68,2.22,1.92],["c",.21,.06,.33,.06,.78,.06],["c",.45,0,.57,0,.84,-.06],["c",.45,-.12,.81,-.33,1.08,-.6],["c",.57,-.57,.87,-1.41,.99,-2.88],["c",.06,-.54,.06,-3,0,-3.57],["c",-.21,-2.58,-.84,-3.87,-2.16,-4.5],["c",-.48,-.21,-1.17,-.36,-1.77,-.36],["c",-.69,0,-1.29,.27,-1.5,.72],["c",-.06,.15,-.06,.21,-.06,.42],["c",0,.24,0,.3,.06,.45],["c",.12,.24,.24,.39,.63,.66],["c",.42,.3,.57,.48,.69,.72],["c",.06,.15,.06,.21,.06,.48],["c",0,.39,-.03,.63,-.21,.96],["c",-.3,.6,-.87,1.08,-1.5,1.26],["c",-.27,.06,-.87,.06,-1.14,0],["c",-.78,-.24,-1.44,-.87,-1.65,-1.68],["c",-.12,-.42,-.09,-1.17,.09,-1.71],["c",.51,-1.65,1.98,-2.82,3.81,-3.09],["c",.84,-.09,2.46,.03,3.51,.27],["c",2.22,.57,3.69,1.8,4.44,3.75],["c",.36,.93,.57,2.13,.57,3.36],["c",0,1.44,-.48,2.73,-1.38,3.81],["c",-1.26,1.5,-3.27,2.43,-5.28,2.43],["c",-.48,0,-.51,0,-.75,-.09],["c",-.15,-.03,-.48,-.21,-.78,-.36],["c",-.69,-.36,-.87,-.42,-1.26,-.42],["c",-.27,0,-.3,0,-.51,.09],["c",-.57,.3,-.81,.9,-.81,2.1],["c",0,1.23,.24,1.83,.81,2.13],["c",.21,.09,.24,.09,.51,.09],["c",.39,0,.57,-.06,1.26,-.42],["c",.3,-.15,.63,-.33,.78,-.36],["c",.24,-.09,.27,-.09,.75,-.09],["c",2.01,0,4.02,.93,5.28,2.4],["c",.9,1.11,1.38,2.4,1.38,3.84],["c",0,1.5,-.3,2.88,-.84,3.96],["c",-.78,1.59,-2.19,2.64,-4.17,3.15],["c",-1.05,.24,-2.67,.36,-3.51,.27],["c",-1.83,-.27,-3.3,-1.44,-3.81,-3.09],["c",-.18,-.54,-.21,-1.29,-.09,-1.74],["c",.15,-.6,.63,-1.2,1.23,-1.47],["c",.36,-.18,.57,-.21,.99,-.21],["c",.42,0,.63,.03,1.02,.21],["c",.42,.21,.84,.63,1.05,1.05],["c",.18,.36,.21,.6,.21,.96],["c",0,.3,0,.36,-.06,.51],["c",-.12,.24,-.27,.42,-.69,.72],["c",-.57,.42,-.69,.63,-.69,1.08],["c",0,.24,0,.3,.06,.45],["c",.12,.21,.3,.39,.57,.54],["c",.42,.18,.87,.21,1.53,.15],["c",1.08,-.15,1.8,-.57,2.34,-1.32],["c",.54,-.75,.84,-1.83,.99,-3.51],["c",.06,-.57,.06,-3.03,0,-3.57],["c",-.12,-1.47,-.42,-2.31,-.99,-2.88],["c",-.27,-.27,-.63,-.48,-1.08,-.6],["c",-.27,-.06,-.39,-.06,-.84,-.06],["c",-.45,0,-.57,0,-.78,.06],["c",-1.14,.27,-2.01,1.17,-2.46,2.49],["c",-.21,.57,-.3,.99,-.33,1.65],["c",-.03,.51,-.06,.57,-.24,.66],["c",-.12,.06,-.27,.06,-.39,0],["c",-.21,-.09,-.21,-.15,-.24,-.75],["c",-.09,-1.92,-.78,-3.72,-2.01,-5.19],["c",-.18,-.21,-.36,-.42,-.39,-.45],["l",-.09,-.06],["l",0,7.11],["l",0,7.14],["l",-.06,.09],["c",-.09,.06,-.09,.06,-.54,.06],["c",-.48,0,-.48,0,-.57,-.06],["l",-.06,-.09],["l",0,-14.82],["l",0,-14.85],["z"]],w:20.31,h:29.97},"clefs.F":{d:[["M",6.3,-7.8],["c",.36,-.03,1.65,0,2.13,.03],["c",3.6,.42,6.03,2.1,6.93,4.86],["c",.27,.84,.36,1.5,.36,2.58],["c",0,.9,-.03,1.35,-.18,2.16],["c",-.78,3.78,-3.54,7.08,-8.37,9.96],["c",-1.74,1.05,-3.87,2.13,-6.18,3.12],["c",-.39,.18,-.75,.33,-.81,.36],["c",-.06,.03,-.15,.06,-.18,.06],["c",-.15,0,-.33,-.18,-.33,-.33],["c",0,-.15,.06,-.21,.51,-.48],["c",3,-1.77,5.13,-3.21,6.84,-4.74],["c",.51,-.45,1.59,-1.5,1.95,-1.95],["c",1.89,-2.19,2.88,-4.32,3.15,-6.78],["c",.06,-.42,.06,-1.77,0,-2.19],["c",-.24,-2.01,-.93,-3.63,-2.04,-4.71],["c",-.63,-.63,-1.29,-1.02,-2.07,-1.2],["c",-1.62,-.39,-3.36,.15,-4.56,1.44],["c",-.54,.6,-1.05,1.47,-1.32,2.22],["l",-.09,.21],["l",.24,-.12],["c",.39,-.21,.63,-.24,1.11,-.24],["c",.3,0,.45,0,.66,.06],["c",1.92,.48,2.85,2.55,1.95,4.38],["c",-.45,.99,-1.41,1.62,-2.46,1.71],["c",-1.47,.09,-2.91,-.87,-3.39,-2.25],["c",-.18,-.57,-.21,-1.32,-.03,-2.28],["c",.39,-2.25,1.83,-4.2,3.81,-5.19],["c",.69,-.36,1.59,-.6,2.37,-.69],["z"],["m",11.58,2.52],["c",.84,-.21,1.71,.3,1.89,1.14],["c",.3,1.17,-.72,2.19,-1.89,1.89],["c",-.99,-.21,-1.5,-1.32,-1.02,-2.25],["c",.18,-.39,.6,-.69,1.02,-.78],["z"],["m",0,7.5],["c",.84,-.21,1.71,.3,1.89,1.14],["c",.21,.87,-.3,1.71,-1.14,1.89],["c",-.87,.21,-1.71,-.3,-1.89,-1.14],["c",-.21,-.84,.3,-1.71,1.14,-1.89],["z"]],w:20.153,h:23.142},"clefs.G":{d:[["M",9.69,-37.41],["c",.09,-.09,.24,-.06,.36,0],["c",.12,.09,.57,.6,.96,1.11],["c",1.77,2.34,3.21,5.85,3.57,8.73],["c",.21,1.56,.03,3.27,-.45,4.86],["c",-.69,2.31,-1.92,4.47,-4.23,7.44],["c",-.3,.39,-.57,.72,-.6,.75],["c",-.03,.06,0,.15,.18,.78],["c",.54,1.68,1.38,4.44,1.68,5.49],["l",.09,.42],["l",.39,0],["c",1.47,.09,2.76,.51,3.96,1.29],["c",1.83,1.23,3.06,3.21,3.39,5.52],["c",.09,.45,.12,1.29,.06,1.74],["c",-.09,1.02,-.33,1.83,-.75,2.73],["c",-.84,1.71,-2.28,3.06,-4.02,3.72],["l",-.33,.12],["l",.03,1.26],["c",0,1.74,-.06,3.63,-.21,4.62],["c",-.45,3.06,-2.19,5.49,-4.47,6.21],["c",-.57,.18,-.9,.21,-1.59,.21],["c",-.69,0,-1.02,-.03,-1.65,-.21],["c",-1.14,-.27,-2.13,-.84,-2.94,-1.65],["c",-.99,-.99,-1.56,-2.16,-1.71,-3.54],["c",-.09,-.81,.06,-1.53,.45,-2.13],["c",.63,-.99,1.83,-1.56,3,-1.53],["c",1.5,.09,2.64,1.32,2.73,2.94],["c",.06,1.47,-.93,2.7,-2.37,2.97],["c",-.45,.06,-.84,.03,-1.29,-.09],["l",-.21,-.09],["l",.09,.12],["c",.39,.54,.78,.93,1.32,1.26],["c",1.35,.87,3.06,1.02,4.35,.36],["c",1.44,-.72,2.52,-2.28,2.97,-4.35],["c",.15,-.66,.24,-1.5,.3,-3.03],["c",.03,-.84,.03,-2.94,0,-3],["c",-.03,0,-.18,0,-.36,.03],["c",-.66,.12,-.99,.12,-1.83,.12],["c",-1.05,0,-1.71,-.06,-2.61,-.3],["c",-4.02,-.99,-7.11,-4.35,-7.8,-8.46],["c",-.12,-.66,-.12,-.99,-.12,-1.83],["c",0,-.84,0,-1.14,.15,-1.92],["c",.36,-2.28,1.41,-4.62,3.3,-7.29],["l",2.79,-3.6],["c",.54,-.66,.96,-1.2,.96,-1.23],["c",0,-.03,-.09,-.33,-.18,-.69],["c",-.96,-3.21,-1.41,-5.28,-1.59,-7.68],["c",-.12,-1.38,-.15,-3.09,-.06,-3.96],["c",.33,-2.67,1.38,-5.07,3.12,-7.08],["c",.36,-.42,.99,-1.05,1.17,-1.14],["z"],["m",2.01,4.71],["c",-.15,-.3,-.3,-.54,-.3,-.54],["c",-.03,0,-.18,.09,-.3,.21],["c",-2.4,1.74,-3.87,4.2,-4.26,7.11],["c",-.06,.54,-.06,1.41,-.03,1.89],["c",.09,1.29,.48,3.12,1.08,5.22],["c",.15,.42,.24,.78,.24,.81],["c",0,.03,.84,-1.11,1.23,-1.68],["c",1.89,-2.73,2.88,-5.07,3.15,-7.53],["c",.09,-.57,.12,-1.74,.06,-2.37],["c",-.09,-1.23,-.27,-1.92,-.87,-3.12],["z"],["m",-2.94,20.7],["c",-.21,-.72,-.39,-1.32,-.42,-1.32],["c",0,0,-1.2,1.47,-1.86,2.37],["c",-2.79,3.63,-4.02,6.3,-4.35,9.3],["c",-.03,.21,-.03,.69,-.03,1.08],["c",0,.69,0,.75,.06,1.11],["c",.12,.54,.27,.99,.51,1.47],["c",.69,1.38,1.83,2.55,3.42,3.42],["c",.96,.54,2.07,.9,3.21,1.08],["c",.78,.12,2.04,.12,2.94,-.03],["c",.51,-.06,.45,-.03,.42,-.3],["c",-.24,-3.33,-.72,-6.33,-1.62,-10.08],["c",-.09,-.39,-.18,-.75,-.18,-.78],["c",-.03,-.03,-.42,0,-.81,.09],["c",-.9,.18,-1.65,.57,-2.22,1.14],["c",-.72,.72,-1.08,1.65,-1.05,2.64],["c",.06,.96,.48,1.83,1.23,2.58],["c",.36,.36,.72,.63,1.17,.9],["c",.33,.18,.36,.21,.42,.33],["c",.18,.42,-.18,.9,-.6,.87],["c",-.18,-.03,-.84,-.36,-1.26,-.63],["c",-.78,-.51,-1.38,-1.11,-1.86,-1.83],["c",-1.77,-2.7,-.99,-6.42,1.71,-8.19],["c",.3,-.21,.81,-.48,1.17,-.63],["c",.3,-.09,1.02,-.3,1.14,-.3],["c",.06,0,.09,0,.09,-.03],["c",.03,-.03,-.51,-1.92,-1.23,-4.26],["z"],["m",3.78,7.41],["c",-.18,-.03,-.36,-.06,-.39,-.06],["c",-.03,0,0,.21,.18,1.02],["c",.75,3.18,1.26,6.3,1.5,9.09],["c",.06,.72,0,.69,.51,.42],["c",.78,-.36,1.44,-.96,1.98,-1.77],["c",1.08,-1.62,1.2,-3.69,.3,-5.55],["c",-.81,-1.62,-2.31,-2.79,-4.08,-3.15],["z"]],w:19.051,h:57.057},"clefs.perc":{d:[["M",5.07,-7.44],["l",.09,-.06],["l",1.53,0],["l",1.53,0],["l",.09,.06],["l",.06,.09],["l",0,7.35],["l",0,7.32],["l",-.06,.09],["l",-.09,.06],["l",-1.53,0],["l",-1.53,0],["l",-.09,-.06],["l",-.06,-.09],["l",0,-7.32],["l",0,-7.35],["z"],["m",6.63,0],["l",.09,-.06],["l",1.53,0],["l",1.53,0],["l",.09,.06],["l",.06,.09],["l",0,7.35],["l",0,7.32],["l",-.06,.09],["l",-.09,.06],["l",-1.53,0],["l",-1.53,0],["l",-.09,-.06],["l",-.06,-.09],["l",0,-7.32],["l",0,-7.35],["z"]],w:21,h:14.97},"tab.big":{d:[["M",20.16,-21.66],["c",.24,-.09,.66,.09,.78,.36],["c",.09,.21,.09,.24,-.18,.54],["c",-.78,.81,-1.86,1.44,-2.94,1.71],["c",-.87,.24,-1.71,.24,-2.55,.03],["l",-.06,-.03],["l",-.18,.99],["c",-.33,1.98,-.75,4.26,-.96,5.04],["c",-.42,1.65,-1.26,3.18,-2.28,4.14],["c",-.57,.57,-1.17,.9,-1.86,1.08],["c",-.18,.06,-.33,.06,-.66,.06],["c",-.54,0,-.78,-.03,-1.23,-.27],["c",-.39,-.18,-.66,-.39,-1.38,-.99],["c",-.3,-.24,-.66,-.51,-.75,-.57],["c",-.21,-.15,-.27,-.24,-.24,-.45],["c",.06,-.27,.36,-.6,.6,-.66],["c",.18,-.03,.33,.06,.9,.57],["c",.48,.42,.72,.57,.93,.69],["c",.66,.33,1.38,.21,1.95,-.36],["c",.63,-.6,1.05,-1.62,1.23,-3],["c",.03,-.18,.09,-.66,.09,-1.11],["c",.09,-1.56,.33,-3.81,.57,-5.49],["c",.06,-.33,.09,-.63,.09,-.63],["c",-.03,-.03,-.81,-.12,-1.02,-.12],["c",-.57,0,-1.32,.12,-1.8,.33],["c",-.87,.3,-1.35,.78,-1.5,1.41],["c",-.18,.63,.09,1.26,.66,1.65],["c",.12,.06,.15,.12,.18,.24],["c",.09,.27,.06,.57,-.09,.75],["c",-.03,.06,-.12,.09,-.27,.15],["c",-.72,.21,-1.44,.15,-2.1,-.18],["c",-.54,-.27,-.96,-.66,-1.2,-1.14],["c",-.39,-.75,-.33,-1.74,.15,-2.52],["c",.27,-.42,.84,-.93,1.41,-1.23],["c",1.17,-.57,2.88,-.9,4.8,-.9],["c",.69,0,.78,0,1.08,.06],["c",.45,.09,1.11,.3,2.07,.6],["c",1.47,.48,1.83,.57,2.55,.54],["c",1.02,-.06,2.04,-.45,2.94,-1.11],["c",.12,-.09,.24,-.18,.27,-.18],["z"],["m",-5.88,13.05],["c",.21,-.03,.81,0,1.08,.06],["c",.48,.12,.9,.42,.99,.69],["c",.03,.09,.03,.15,0,.27],["c",0,.09,-.03,.57,-.06,1.08],["c",-.09,2.19,-.24,5.76,-.39,8.28],["c",-.06,1.53,-.06,1.77,.03,2.01],["c",.09,.18,.15,.24,.3,.3],["c",.24,.12,.54,.06,1.23,-.27],["c",.57,-.27,.66,-.3,.75,-.24],["c",.09,.06,.18,.3,.18,.45],["c",0,.33,-.15,.51,-.45,.63],["c",-.12,.03,-.39,.15,-.6,.27],["c",-1.17,.6,-1.38,.69,-1.8,.72],["c",-.45,.03,-.78,-.09,-1.08,-.39],["c",-.39,-.42,-.66,-1.2,-1.02,-3.12],["c",-.24,-1.23,-.36,-2.07,-.54,-3.75],["l",0,-.18],["l",-.36,.45],["c",-.6,.75,-1.32,1.59,-1.95,2.25],["c",-.15,.18,-.27,.3,-.27,.33],["c",0,0,.06,.09,.15,.18],["c",.24,.33,.6,.57,1.05,.69],["c",.18,.06,.3,.06,.69,.06],["l",.48,.03],["l",.06,.12],["c",.15,.27,.03,.72,-.21,.9],["c",-.18,.12,-.93,.27,-1.41,.27],["c",-.84,0,-1.59,-.3,-1.98,-.84],["l",-.12,-.15],["l",-.45,.42],["c",-.99,.87,-1.53,1.32,-2.16,1.74],["c",-.78,.51,-1.5,.84,-2.1,.93],["c",-.69,.12,-1.2,.03,-1.95,-.42],["c",-.21,-.12,-.51,-.27,-.66,-.36],["c",-.24,-.12,-.3,-.18,-.33,-.24],["c",-.12,-.27,.15,-.78,.45,-.93],["c",.24,-.12,.33,-.09,.9,.18],["c",.6,.3,.84,.39,1.2,.36],["c",.87,-.09,1.77,-.69,3.24,-2.31],["c",2.67,-2.85,4.59,-5.94,5.7,-9.15],["c",.15,-.45,.24,-.63,.42,-.81],["c",.21,-.24,.6,-.45,.99,-.51],["z"],["m",-3.99,16.05],["c",.18,0,.69,-.03,1.17,0],["c",3.27,.03,5.37,.75,6,2.07],["c",.45,.99,.12,2.4,-.81,3.42],["c",-.24,.27,-.57,.57,-.84,.75],["c",-.09,.06,-.18,.09,-.18,.12],["c",0,0,.18,.03,.42,.09],["c",1.23,.3,2.01,.81,2.37,1.59],["c",.27,.54,.3,1.32,.09,2.1],["c",-.12,.36,-.45,1.05,-.69,1.35],["c",-.87,1.17,-2.1,1.92,-3.54,2.25],["c",-.36,.06,-.48,.06,-.96,.06],["c",-.45,0,-.66,0,-.84,-.03],["c",-.84,-.18,-1.47,-.51,-2.07,-1.11],["c",-.33,-.33,-.45,-.51,-.45,-.63],["c",0,-.06,.03,-.15,.06,-.24],["c",.18,-.33,.69,-.6,.93,-.48],["c",.03,.03,.15,.12,.27,.24],["c",.39,.42,.99,.57,1.62,.45],["c",1.05,-.21,1.98,-1.02,2.31,-2.01],["c",.48,-1.53,-.48,-2.55,-2.58,-2.67],["c",-.21,0,-.36,-.03,-.42,-.06],["c",-.15,-.09,-.21,-.51,-.06,-.78],["c",.12,-.27,.24,-.33,.6,-.36],["c",.57,-.06,1.11,-.42,1.5,-.99],["c",.48,-.72,.54,-1.59,.18,-2.31],["c",-.12,-.21,-.45,-.54,-.69,-.69],["c",-.33,-.21,-.93,-.45,-1.35,-.51],["l",-.12,-.03],["l",-.06,.48],["c",-.54,2.94,-1.14,6.24,-1.29,6.75],["c",-.33,1.35,-.93,2.61,-1.65,3.6],["c",-.3,.36,-.81,.9,-1.14,1.14],["c",-.3,.24,-.84,.48,-1.14,.57],["c",-.33,.09,-.96,.09,-1.26,.03],["c",-.45,-.12,-.87,-.39,-1.53,-.96],["c",-.24,-.15,-.51,-.39,-.63,-.48],["c",-.3,-.21,-.33,-.33,-.21,-.63],["c",.12,-.18,.27,-.36,.42,-.45],["c",.27,-.12,.36,-.09,.87,.33],["c",.78,.6,1.08,.75,1.65,.72],["c",.45,-.03,.81,-.21,1.17,-.54],["c",.87,-.9,1.38,-2.85,1.38,-5.37],["c",0,-.6,.03,-1.11,.12,-2.04],["c",.06,-.69,.24,-2.01,.33,-2.58],["c",.06,-.24,.06,-.42,.06,-.42],["c",0,0,-.12,.03,-.21,.09],["c",-1.44,.57,-2.16,1.65,-1.74,2.55],["c",.09,.15,.18,.24,.27,.33],["c",.24,.21,.3,.27,.33,.39],["c",.06,.24,0,.63,-.15,.78],["c",-.09,.12,-.54,.21,-.96,.24],["c",-1.02,.03,-2.01,-.48,-2.43,-1.32],["c",-.21,-.45,-.27,-.9,-.15,-1.44],["c",.06,-.27,.21,-.66,.39,-.93],["c",.87,-1.29,3,-2.22,5.64,-2.43],["z"]],w:19.643,h:43.325},"tab.tiny":{d:[["M",16.02,-17.25],["c",.12,-.09,.15,-.09,.27,-.09],["c",.21,.03,.51,.3,.51,.45],["c",0,.06,-.12,.18,-.3,.36],["c",-1.11,1.08,-2.55,1.59,-3.84,1.41],["c",-.15,-.03,-.33,-.06,-.39,-.09],["c",-.06,-.03,-.09,-.03,-.12,-.03],["c",0,0,-.06,.42,-.15,.93],["c",-.33,2.01,-.66,3.69,-.84,4.26],["c",-.42,1.41,-1.23,2.67,-2.16,3.33],["c",-.27,.18,-.75,.42,-.99,.48],["c",-.3,.09,-.72,.09,-1.02,.06],["c",-.45,-.09,-.84,-.33,-1.53,-.9],["c",-.21,-.18,-.51,-.39,-.63,-.48],["c",-.27,-.21,-.3,-.24,-.3,-.36],["c",0,-.12,.09,-.36,.18,-.45],["c",.09,-.09,.27,-.18,.36,-.18],["c",.12,0,.3,.12,.66,.45],["c",.57,.51,.87,.69,1.23,.72],["c",.93,.06,1.68,-.78,1.98,-2.37],["c",.09,-.39,.15,-.75,.18,-1.53],["c",.06,-.99,.24,-2.79,.42,-4.05],["c",.03,-.3,.06,-.57,.06,-.6],["c",0,-.06,-.03,-.09,-.15,-.12],["c",-.9,-.18,-2.13,.06,-2.76,.57],["c",-.36,.3,-.51,.6,-.51,1.02],["c",0,.45,.15,.75,.48,.99],["c",.06,.06,.15,.18,.18,.24],["c",.12,.24,.03,.63,-.15,.69],["c",-.24,.12,-.6,.15,-.9,.15],["c",-.36,-.03,-.57,-.09,-.87,-.24],["c",-.78,-.36,-1.23,-1.11,-1.2,-1.92],["c",.12,-1.53,1.74,-2.49,4.62,-2.7],["c",1.2,-.09,1.47,-.03,3.33,.57],["c",.9,.3,1.14,.36,1.56,.39],["c",.45,0,.93,-.06,1.38,-.21],["c",.51,-.18,.81,-.33,1.41,-.75],["z"],["m",-4.68,10.38],["c",.39,-.06,.84,0,1.2,.15],["c",.24,.12,.36,.21,.45,.36],["l",.09,.09],["l",-.06,1.41],["c",-.09,2.19,-.18,3.96,-.27,5.49],["c",-.03,.78,-.06,1.59,-.06,1.86],["c",0,.42,0,.48,.06,.57],["c",.06,.18,.18,.24,.36,.27],["c",.18,0,.39,-.06,.84,-.27],["c",.45,-.21,.54,-.24,.63,-.18],["c",.12,.12,.15,.54,.03,.69],["c",-.03,.03,-.15,.12,-.27,.18],["c",-.15,.03,-.3,.12,-.36,.15],["c",-.87,.45,-1.02,.51,-1.26,.57],["c",-.33,.09,-.6,.06,-.84,-.06],["c",-.42,-.18,-.63,-.6,-.87,-1.44],["c",-.3,-1.23,-.57,-2.97,-.66,-4.08],["c",0,-.18,-.03,-.3,-.03,-.33],["l",-.06,.06],["c",-.18,.27,-1.11,1.38,-1.68,2.01],["l",-.33,.33],["l",.06,.09],["c",.06,.15,.27,.33,.48,.42],["c",.27,.18,.51,.24,.96,.27],["l",.39,0],["l",.03,.12],["c",.12,.21,.03,.57,-.15,.69],["c",-.03,.03,-.21,.09,-.36,.15],["c",-.27,.06,-.39,.06,-.75,.06],["c",-.48,0,-.75,-.03,-1.08,-.21],["c",-.21,-.12,-.51,-.36,-.57,-.48],["l",-.03,-.09],["l",-.39,.36],["c",-1.47,1.35,-2.49,1.98,-3.42,2.13],["c",-.54,.09,-.96,-.03,-1.62,-.39],["c",-.21,-.15,-.45,-.27,-.54,-.3],["c",-.18,-.09,-.21,-.21,-.12,-.45],["c",.06,-.27,.33,-.48,.54,-.48],["c",.03,0,.27,.09,.48,.21],["c",.48,.24,.69,.27,.99,.27],["c",.6,-.06,1.17,-.42,2.1,-1.35],["c",2.22,-2.22,4.02,-4.98,4.95,-7.59],["c",.21,-.57,.3,-.78,.48,-.93],["c",.15,-.15,.42,-.27,.66,-.33],["z"],["m",-3.06,12.84],["c",.27,-.03,1.68,0,2.01,.03],["c",1.92,.18,3.15,.69,3.63,1.5],["c",.18,.33,.24,.51,.21,.93],["c",0,.45,-.06,.72,-.24,1.11],["c",-.24,.51,-.69,1.02,-1.17,1.35],["c",-.21,.15,-.21,.15,-.12,.18],["c",.72,.15,1.11,.3,1.5,.57],["c",.39,.24,.63,.57,.75,.96],["c",.09,.3,.09,.96,0,1.29],["c",-.15,.57,-.39,1.05,-.78,1.5],["c",-.66,.75,-1.62,1.32,-2.61,1.53],["c",-.27,.06,-.42,.06,-.84,.06],["c",-.48,0,-.57,0,-.81,-.06],["c",-.6,-.18,-1.05,-.42,-1.47,-.81],["c",-.36,-.39,-.42,-.51,-.3,-.75],["c",.12,-.21,.39,-.39,.6,-.39],["c",.09,0,.15,.03,.33,.18],["c",.12,.12,.27,.24,.36,.27],["c",.96,.48,2.46,-.33,2.82,-1.5],["c",.24,-.81,-.03,-1.44,-.69,-1.77],["c",-.39,-.21,-1.02,-.33,-1.53,-.33],["c",-.18,0,-.21,0,-.27,-.09],["c",-.06,-.09,-.06,-.3,-.03,-.48],["c",.06,-.18,.18,-.36,.33,-.36],["c",.39,-.06,.51,-.09,.72,-.18],["c",.69,-.36,1.11,-1.23,.99,-2.01],["c",-.09,-.51,-.42,-.9,-.93,-1.17],["c",-.24,-.12,-.6,-.27,-.87,-.3],["c",-.09,-.03,-.09,-.03,-.12,.12],["c",0,.09,-.21,1.11,-.42,2.25],["c",-.66,3.75,-.72,3.99,-1.26,5.07],["c",-.9,1.89,-2.25,2.85,-3.48,2.61],["c",-.39,-.09,-.69,-.27,-1.38,-.84],["c",-.63,-.51,-.63,-.48,-.63,-.6],["c",0,-.18,.18,-.48,.39,-.57],["c",.21,-.12,.3,-.09,.81,.33],["c",.15,.15,.39,.3,.54,.36],["c",.18,.12,.27,.12,.48,.15],["c",.99,.06,1.71,-.78,2.04,-2.46],["c",.12,-.66,.18,-1.14,.21,-2.22],["c",.03,-1.23,.12,-2.25,.36,-3.63],["c",.03,-.24,.06,-.45,.06,-.48],["c",-.06,-.03,-.66,.27,-.9,.42],["c",-.06,.06,-.21,.18,-.33,.3],["c",-.57,.57,-.6,1.35,-.06,1.74],["c",.18,.12,.24,.24,.21,.51],["c",-.03,.3,-.15,.42,-.57,.48],["c",-1.11,.24,-2.22,-.42,-2.43,-1.38],["c",-.09,-.45,.03,-1.02,.3,-1.47],["c",.18,-.24,.6,-.63,.9,-.84],["c",.9,-.6,2.28,-1.02,3.69,-1.11],["z"]],w:15.709,h:34.656},"timesig.common":{d:[["M",6.66,-7.83],["c",.72,-.06,1.41,-.03,1.98,.09],["c",1.2,.27,2.34,.96,3.09,1.92],["c",.63,.81,1.08,1.86,1.14,2.73],["c",.06,1.02,-.51,1.92,-1.44,2.22],["c",-.24,.09,-.3,.09,-.63,.09],["c",-.33,0,-.42,0,-.63,-.06],["c",-.66,-.24,-1.14,-.63,-1.41,-1.2],["c",-.15,-.3,-.21,-.51,-.24,-.9],["c",-.06,-1.08,.57,-2.04,1.56,-2.37],["c",.18,-.06,.27,-.06,.63,-.06],["l",.45,0],["c",.06,.03,.09,.03,.09,0],["c",0,0,-.09,-.12,-.24,-.27],["c",-1.02,-1.11,-2.55,-1.68,-4.08,-1.5],["c",-1.29,.15,-2.04,.69,-2.4,1.74],["c",-.36,.93,-.42,1.89,-.42,5.37],["c",0,2.97,.06,3.96,.24,4.77],["c",.24,1.08,.63,1.68,1.41,2.07],["c",.81,.39,2.16,.45,3.18,.09],["c",1.29,-.45,2.37,-1.53,3.03,-2.97],["c",.15,-.33,.33,-.87,.39,-1.17],["c",.09,-.24,.15,-.36,.3,-.39],["c",.21,-.03,.42,.15,.39,.36],["c",-.06,.39,-.42,1.38,-.69,1.89],["c",-.96,1.8,-2.49,2.94,-4.23,3.18],["c",-.99,.12,-2.58,-.06,-3.63,-.45],["c",-.96,-.36,-1.71,-.84,-2.4,-1.5],["c",-1.11,-1.11,-1.8,-2.61,-2.04,-4.56],["c",-.06,-.6,-.06,-2.01,0,-2.61],["c",.24,-1.95,.9,-3.45,2.01,-4.56],["c",.69,-.66,1.44,-1.11,2.37,-1.47],["c",.63,-.24,1.47,-.42,2.22,-.48],["z"]],w:13.038,h:15.689},"timesig.cut":{d:[["M",6.24,-10.44],["c",.09,-.06,.09,-.06,.48,-.06],["c",.36,0,.36,0,.45,.06],["l",.06,.09],["l",0,1.23],["l",0,1.26],["l",.27,0],["c",1.26,0,2.49,.45,3.48,1.29],["c",1.05,.87,1.8,2.28,1.89,3.48],["c",.06,1.02,-.51,1.92,-1.44,2.22],["c",-.24,.09,-.3,.09,-.63,.09],["c",-.33,0,-.42,0,-.63,-.06],["c",-.66,-.24,-1.14,-.63,-1.41,-1.2],["c",-.15,-.3,-.21,-.51,-.24,-.9],["c",-.06,-1.08,.57,-2.04,1.56,-2.37],["c",.18,-.06,.27,-.06,.63,-.06],["l",.45,0],["c",.06,.03,.09,.03,.09,0],["c",0,-.03,-.45,-.51,-.66,-.69],["c",-.87,-.69,-1.83,-1.05,-2.94,-1.11],["l",-.42,0],["l",0,7.17],["l",0,7.14],["l",.42,0],["c",.69,-.03,1.23,-.18,1.86,-.51],["c",1.05,-.51,1.89,-1.47,2.46,-2.7],["c",.15,-.33,.33,-.87,.39,-1.17],["c",.09,-.24,.15,-.36,.3,-.39],["c",.21,-.03,.42,.15,.39,.36],["c",-.03,.24,-.21,.78,-.39,1.2],["c",-.96,2.37,-2.94,3.9,-5.13,3.9],["l",-.3,0],["l",0,1.26],["l",0,1.23],["l",-.06,.09],["c",-.09,.06,-.09,.06,-.45,.06],["c",-.39,0,-.39,0,-.48,-.06],["l",-.06,-.09],["l",0,-1.29],["l",0,-1.29],["l",-.21,-.03],["c",-1.23,-.21,-2.31,-.63,-3.21,-1.29],["c",-.15,-.09,-.45,-.36,-.66,-.57],["c",-1.11,-1.11,-1.8,-2.61,-2.04,-4.56],["c",-.06,-.6,-.06,-2.01,0,-2.61],["c",.24,-1.95,.93,-3.45,2.04,-4.59],["c",.42,-.39,.78,-.66,1.26,-.93],["c",.75,-.45,1.65,-.75,2.61,-.9],["l",.21,-.03],["l",0,-1.29],["l",0,-1.29],["z"],["m",-.06,10.44],["c",0,-5.58,0,-6.99,-.03,-6.99],["c",-.15,0,-.63,.27,-.87,.45],["c",-.45,.36,-.75,.93,-.93,1.77],["c",-.18,.81,-.24,1.8,-.24,4.74],["c",0,2.97,.06,3.96,.24,4.77],["c",.24,1.08,.66,1.68,1.41,2.07],["c",.12,.06,.3,.12,.33,.15],["l",.09,0],["l",0,-6.96],["z"]],w:13.038,h:20.97},"timesig.imperfectum":{d:[["M",13,-5],["a",8,8,0,1,0,0,10]],w:13.038,h:20.97},"timesig.imperfectum2":{d:[["M",13,-5],["a",8,8,0,1,0,0,10]],w:13.038,h:20.97},"timesig.perfectum":{d:[["M",13,-5],["a",8,8,0,1,0,0,10]],w:13.038,h:20.97},"timesig.perfectum2":{d:[["M",13,-5],["a",8,8,0,1,0,0,10]],w:13.038,h:20.97},f:{d:[["M",9.93,-14.28],["c",1.53,-.18,2.88,.45,3.12,1.5],["c",.12,.51,0,1.32,-.27,1.86],["c",-.15,.3,-.42,.57,-.63,.69],["c",-.69,.36,-1.56,.03,-1.83,-.69],["c",-.09,-.24,-.09,-.69,0,-.87],["c",.06,-.12,.21,-.24,.45,-.42],["c",.42,-.24,.57,-.45,.6,-.72],["c",.03,-.33,-.09,-.39,-.63,-.42],["c",-.3,0,-.45,0,-.6,.03],["c",-.81,.21,-1.35,.93,-1.74,2.46],["c",-.06,.27,-.48,2.25,-.48,2.31],["c",0,.03,.39,.03,.9,.03],["c",.72,0,.9,0,.99,.06],["c",.42,.15,.45,.72,.03,.9],["c",-.12,.06,-.24,.06,-1.17,.06],["l",-1.05,0],["l",-.78,2.55],["c",-.45,1.41,-.87,2.79,-.96,3.06],["c",-.87,2.37,-2.37,4.74,-3.78,5.91],["c",-1.05,.9,-2.04,1.23,-3.09,1.08],["c",-1.11,-.18,-1.89,-.78,-2.04,-1.59],["c",-.12,-.66,.15,-1.71,.54,-2.19],["c",.69,-.75,1.86,-.54,2.22,.39],["c",.06,.15,.09,.27,.09,.48],["c",0,.24,-.03,.27,-.12,.42],["c",-.03,.09,-.15,.18,-.27,.27],["c",-.09,.06,-.27,.21,-.36,.27],["c",-.24,.18,-.36,.36,-.39,.6],["c",-.03,.33,.09,.39,.63,.42],["c",.42,0,.63,-.03,.9,-.15],["c",.6,-.3,.96,-.96,1.38,-2.64],["c",.09,-.42,.63,-2.55,1.17,-4.77],["l",1.02,-4.08],["c",0,-.03,-.36,-.03,-.81,-.03],["c",-.72,0,-.81,0,-.93,-.06],["c",-.42,-.18,-.39,-.75,.03,-.9],["c",.09,-.06,.27,-.06,1.05,-.06],["l",.96,0],["l",0,-.09],["c",.06,-.18,.3,-.72,.51,-1.17],["c",1.2,-2.46,3.3,-4.23,5.34,-4.5],["z"]],w:16.155,h:19.445},m:{d:[["M",2.79,-8.91],["c",.09,0,.3,-.03,.45,-.03],["c",.24,.03,.3,.03,.45,.12],["c",.36,.15,.63,.54,.75,1.02],["l",.03,.21],["l",.33,-.3],["c",.69,-.69,1.38,-1.02,2.07,-1.02],["c",.27,0,.33,0,.48,.06],["c",.21,.09,.48,.36,.63,.6],["c",.03,.09,.12,.27,.18,.42],["c",.03,.15,.09,.27,.12,.27],["c",0,0,.09,-.09,.18,-.21],["c",.33,-.39,.87,-.81,1.29,-.99],["c",.78,-.33,1.47,-.21,2.01,.33],["c",.3,.33,.48,.69,.6,1.14],["c",.09,.42,.06,.54,-.54,3.06],["c",-.33,1.29,-.57,2.4,-.57,2.43],["c",0,.12,.09,.21,.21,.21],["c",.24,0,.75,-.3,1.2,-.72],["c",.45,-.39,.6,-.45,.78,-.27],["c",.18,.18,.09,.36,-.45,.87],["c",-1.05,.96,-1.83,1.47,-2.58,1.71],["c",-.93,.33,-1.53,.21,-1.8,-.33],["c",-.06,-.15,-.06,-.21,-.06,-.45],["c",0,-.24,.03,-.48,.6,-2.82],["c",.42,-1.71,.6,-2.64,.63,-2.79],["c",.03,-.57,-.3,-.75,-.84,-.48],["c",-.24,.12,-.54,.39,-.66,.63],["c",-.03,.09,-.42,1.38,-.9,3],["c",-.9,3.15,-.84,3,-1.14,3.15],["l",-.15,.09],["l",-.78,0],["c",-.6,0,-.78,0,-.84,-.06],["c",-.09,-.03,-.18,-.18,-.18,-.27],["c",0,-.03,.36,-1.38,.84,-2.97],["c",.57,-2.04,.81,-2.97,.84,-3.12],["c",.03,-.54,-.3,-.72,-.84,-.45],["c",-.24,.12,-.57,.42,-.66,.63],["c",-.06,.09,-.51,1.44,-1.05,2.97],["c",-.51,1.56,-.99,2.85,-.99,2.91],["c",-.06,.12,-.21,.24,-.36,.3],["c",-.12,.06,-.21,.06,-.9,.06],["c",-.6,0,-.78,0,-.84,-.06],["c",-.09,-.03,-.18,-.18,-.18,-.27],["c",0,-.03,.45,-1.38,.99,-2.97],["c",1.05,-3.18,1.05,-3.18,.93,-3.45],["c",-.12,-.27,-.39,-.3,-.72,-.15],["c",-.54,.27,-1.14,1.17,-1.56,2.4],["c",-.06,.15,-.15,.3,-.18,.36],["c",-.21,.21,-.57,.27,-.72,.09],["c",-.09,-.09,-.06,-.21,.06,-.63],["c",.48,-1.26,1.26,-2.46,2.01,-3.21],["c",.57,-.54,1.2,-.87,1.83,-1.02],["z"]],w:14.687,h:9.126},p:{d:[["M",1.92,-8.7],["c",.27,-.09,.81,-.06,1.11,.03],["c",.54,.18,.93,.51,1.17,.99],["c",.09,.15,.15,.33,.18,.36],["l",0,.12],["l",.3,-.27],["c",.66,-.6,1.35,-1.02,2.13,-1.2],["c",.21,-.06,.33,-.06,.78,-.06],["c",.45,0,.51,0,.84,.09],["c",1.29,.33,2.07,1.32,2.25,2.79],["c",.09,.81,-.09,2.01,-.45,2.79],["c",-.54,1.26,-1.86,2.55,-3.18,3.03],["c",-.45,.18,-.81,.24,-1.29,.24],["c",-.69,-.03,-1.35,-.18,-1.86,-.45],["c",-.3,-.15,-.51,-.18,-.69,-.09],["c",-.09,.03,-.18,.09,-.18,.12],["c",-.09,.12,-1.05,2.94,-1.05,3.06],["c",0,.24,.18,.48,.51,.63],["c",.18,.06,.54,.15,.75,.15],["c",.21,0,.36,.06,.42,.18],["c",.12,.18,.06,.42,-.12,.54],["c",-.09,.03,-.15,.03,-.78,0],["c",-1.98,-.15,-3.81,-.15,-5.79,0],["c",-.63,.03,-.69,.03,-.78,0],["c",-.24,-.15,-.24,-.57,.03,-.66],["c",.06,-.03,.48,-.09,.99,-.12],["c",.87,-.06,1.11,-.09,1.35,-.21],["c",.18,-.06,.33,-.18,.39,-.3],["c",.06,-.12,3.24,-9.42,3.27,-9.6],["c",.06,-.33,.03,-.57,-.15,-.69],["c",-.09,-.06,-.12,-.06,-.3,-.06],["c",-.69,.06,-1.53,1.02,-2.28,2.61],["c",-.09,.21,-.21,.45,-.27,.51],["c",-.09,.12,-.33,.24,-.48,.24],["c",-.18,0,-.36,-.15,-.36,-.3],["c",0,-.24,.78,-1.83,1.26,-2.55],["c",.72,-1.11,1.47,-1.74,2.28,-1.92],["z"],["m",5.37,1.47],["c",-.27,-.12,-.75,-.03,-1.14,.21],["c",-.75,.48,-1.47,1.68,-1.89,3.15],["c",-.45,1.47,-.42,2.34,0,2.7],["c",.45,.39,1.26,.21,1.83,-.36],["c",.51,-.51,.99,-1.68,1.38,-3.27],["c",.3,-1.17,.33,-1.74,.15,-2.13],["c",-.09,-.15,-.15,-.21,-.33,-.3],["z"]],w:14.689,h:13.127},r:{d:[["M",6.33,-9.12],["c",.27,-.03,.93,0,1.2,.06],["c",.84,.21,1.23,.81,1.02,1.53],["c",-.24,.75,-.9,1.17,-1.56,.96],["c",-.33,-.09,-.51,-.3,-.66,-.75],["c",-.03,-.12,-.09,-.24,-.12,-.3],["c",-.09,-.15,-.3,-.24,-.48,-.24],["c",-.57,0,-1.38,.54,-1.65,1.08],["c",-.06,.15,-.33,1.17,-.9,3.27],["c",-.57,2.31,-.81,3.12,-.87,3.21],["c",-.03,.06,-.12,.15,-.18,.21],["l",-.12,.06],["l",-.81,.03],["c",-.69,0,-.81,0,-.9,-.03],["c",-.09,-.06,-.18,-.21,-.18,-.3],["c",0,-.06,.39,-1.62,.9,-3.51],["c",.84,-3.24,.87,-3.45,.87,-3.72],["c",0,-.21,0,-.27,-.03,-.36],["c",-.12,-.15,-.21,-.24,-.42,-.24],["c",-.24,0,-.45,.15,-.78,.42],["c",-.33,.36,-.45,.54,-.72,1.14],["c",-.03,.12,-.21,.24,-.36,.27],["c",-.12,0,-.15,0,-.24,-.06],["c",-.18,-.12,-.18,-.21,-.06,-.54],["c",.21,-.57,.42,-.93,.78,-1.32],["c",.54,-.51,1.2,-.81,1.95,-.87],["c",.81,-.03,1.53,.3,1.92,.87],["l",.12,.18],["l",.09,-.09],["c",.57,-.45,1.41,-.84,2.19,-.96],["z"]],w:9.41,h:9.132},s:{d:[["M",4.47,-8.73],["c",.09,0,.36,-.03,.57,-.03],["c",.75,.03,1.29,.24,1.71,.63],["c",.51,.54,.66,1.26,.36,1.83],["c",-.24,.42,-.63,.57,-1.11,.42],["c",-.33,-.09,-.6,-.36,-.6,-.57],["c",0,-.03,.06,-.21,.15,-.39],["c",.12,-.21,.15,-.33,.18,-.48],["c",0,-.24,-.06,-.48,-.15,-.6],["c",-.15,-.21,-.42,-.24,-.75,-.15],["c",-.27,.06,-.48,.18,-.69,.36],["c",-.39,.39,-.51,.96,-.33,1.38],["c",.09,.21,.42,.51,.78,.72],["c",1.11,.69,1.59,1.11,1.89,1.68],["c",.21,.39,.24,.78,.15,1.29],["c",-.18,1.2,-1.17,2.16,-2.52,2.52],["c",-1.02,.24,-1.95,.12,-2.7,-.42],["c",-.72,-.51,-.99,-1.47,-.6,-2.19],["c",.24,-.48,.72,-.63,1.17,-.42],["c",.33,.18,.54,.45,.57,.81],["c",0,.21,-.03,.3,-.33,.51],["c",-.33,.24,-.39,.42,-.27,.69],["c",.06,.15,.21,.27,.45,.33],["c",.3,.09,.87,.09,1.2,0],["c",.75,-.21,1.23,-.72,1.29,-1.35],["c",.03,-.42,-.15,-.81,-.54,-1.2],["c",-.24,-.24,-.48,-.42,-1.41,-1.02],["c",-.69,-.42,-1.05,-.93,-1.05,-1.47],["c",0,-.39,.12,-.87,.3,-1.23],["c",.27,-.57,.78,-1.05,1.38,-1.35],["c",.24,-.12,.63,-.27,.9,-.3],["z"]],w:6.632,h:8.758},z:{d:[["M",2.64,-7.95],["c",.36,-.09,.81,-.03,1.71,.27],["c",.78,.21,.96,.27,1.74,.3],["c",.87,.06,1.02,.03,1.38,-.21],["c",.21,-.15,.33,-.15,.48,-.06],["c",.15,.09,.21,.3,.15,.45],["c",-.03,.06,-1.26,1.26,-2.76,2.67],["l",-2.73,2.55],["l",.54,.03],["c",.54,.03,.72,.03,2.01,.15],["c",.36,.03,.9,.06,1.2,.09],["c",.66,0,.81,-.03,1.02,-.24],["c",.3,-.3,.39,-.72,.27,-1.23],["c",-.06,-.27,-.06,-.27,-.03,-.39],["c",.15,-.3,.54,-.27,.69,.03],["c",.15,.33,.27,1.02,.27,1.5],["c",0,1.47,-1.11,2.7,-2.52,2.79],["c",-.57,.03,-1.02,-.09,-2.01,-.51],["c",-1.02,-.42,-1.23,-.48,-2.13,-.54],["c",-.81,-.06,-.96,-.03,-1.26,.18],["c",-.12,.06,-.24,.12,-.27,.12],["c",-.27,0,-.45,-.3,-.36,-.51],["c",.03,-.06,1.32,-1.32,2.91,-2.79],["l",2.88,-2.73],["c",-.03,0,-.21,.03,-.42,.06],["c",-.21,.03,-.78,.09,-1.23,.12],["c",-1.11,.12,-1.23,.15,-1.95,.27],["c",-.72,.15,-1.17,.18,-1.29,.09],["c",-.27,-.18,-.21,-.75,.12,-1.26],["c",.39,-.6,.93,-1.02,1.59,-1.2],["z"]],w:8.573,h:8.743},"+":{d:[["M",3.48,-9.3],["c",.18,-.09,.36,-.09,.54,0],["c",.18,.09,.24,.15,.33,.3],["l",.06,.15],["l",0,1.29],["l",0,1.29],["l",1.29,0],["c",1.23,0,1.29,0,1.41,.06],["c",.06,.03,.15,.09,.18,.12],["c",.12,.09,.21,.33,.21,.48],["c",0,.15,-.09,.39,-.21,.48],["c",-.03,.03,-.12,.09,-.18,.12],["c",-.12,.06,-.18,.06,-1.41,.06],["l",-1.29,0],["l",0,1.29],["c",0,1.23,0,1.29,-.06,1.41],["c",-.09,.18,-.15,.24,-.3,.33],["c",-.21,.09,-.39,.09,-.57,0],["c",-.18,-.09,-.24,-.15,-.33,-.33],["c",-.06,-.12,-.06,-.18,-.06,-1.41],["l",0,-1.29],["l",-1.29,0],["c",-1.23,0,-1.29,0,-1.41,-.06],["c",-.18,-.09,-.24,-.15,-.33,-.33],["c",-.09,-.18,-.09,-.36,0,-.54],["c",.09,-.18,.15,-.24,.33,-.33],["l",.15,-.06],["l",1.26,0],["l",1.29,0],["l",0,-1.29],["c",0,-1.23,0,-1.29,.06,-1.41],["c",.09,-.18,.15,-.24,.33,-.33],["z"]],w:7.507,h:7.515},",":{d:[["M",1.85,-3.36],["c",.57,-.15,1.17,.03,1.59,.45],["c",.45,.45,.6,.96,.51,1.89],["c",-.09,1.23,-.42,2.46,-.99,3.93],["c",-.3,.72,-.72,1.62,-.78,1.68],["c",-.18,.21,-.51,.18,-.66,-.06],["c",-.03,-.06,-.06,-.15,-.06,-.18],["c",0,-.06,.12,-.33,.24,-.63],["c",.84,-1.8,1.02,-2.61,.69,-3.24],["c",-.12,-.24,-.27,-.36,-.75,-.6],["c",-.36,-.15,-.42,-.21,-.6,-.39],["c",-.69,-.69,-.69,-1.71,0,-2.4],["c",.21,-.21,.51,-.39,.81,-.45],["z"]],w:3.452,h:8.143},"-":{d:[["M",.18,-5.34],["c",.09,-.06,.15,-.06,2.31,-.06],["c",2.46,0,2.37,0,2.46,.21],["c",.12,.21,.03,.42,-.15,.54],["c",-.09,.06,-.15,.06,-2.28,.06],["c",-2.16,0,-2.22,0,-2.31,-.06],["c",-.27,-.15,-.27,-.54,-.03,-.69],["z"]],w:5.001,h:.81},".":{d:[["M",1.32,-3.36],["c",1.05,-.27,2.1,.57,2.1,1.65],["c",0,1.08,-1.05,1.92,-2.1,1.65],["c",-.9,-.21,-1.5,-1.14,-1.26,-2.04],["c",.12,-.63,.63,-1.11,1.26,-1.26],["z"]],w:3.413,h:3.402},"scripts.wedge":{d:[["M",-3.66,-7.44],["c",.06,-.09,0,-.09,.81,.03],["c",1.86,.3,3.84,.3,5.73,0],["c",.78,-.12,.72,-.12,.78,-.03],["c",.15,.15,.12,.24,-.24,.6],["c",-.93,.93,-1.98,2.76,-2.67,4.62],["c",-.3,.78,-.51,1.71,-.51,2.13],["c",0,.15,0,.18,-.06,.27],["c",-.12,.09,-.24,.09,-.36,0],["c",-.06,-.09,-.06,-.12,-.06,-.27],["c",0,-.42,-.21,-1.35,-.51,-2.13],["c",-.69,-1.86,-1.74,-3.69,-2.67,-4.62],["c",-.36,-.36,-.39,-.45,-.24,-.6],["z"]],w:7.49,h:7.752},"scripts.thumb":{d:[["M",-.54,-3.69],["c",.15,-.03,.36,-.06,.51,-.06],["c",1.44,0,2.58,1.11,2.94,2.85],["c",.09,.48,.09,1.32,0,1.8],["c",-.27,1.41,-1.08,2.43,-2.16,2.73],["l",-.18,.06],["l",0,.12],["c",.03,.06,.06,.45,.09,.87],["c",.03,.57,.03,.78,0,.84],["c",-.09,.27,-.39,.48,-.66,.48],["c",-.27,0,-.57,-.21,-.66,-.48],["c",-.03,-.06,-.03,-.27,0,-.84],["c",.03,-.42,.06,-.81,.09,-.87],["l",0,-.12],["l",-.18,-.06],["c",-1.08,-.3,-1.89,-1.32,-2.16,-2.73],["c",-.09,-.48,-.09,-1.32,0,-1.8],["c",.15,-.84,.51,-1.53,1.02,-2.04],["c",.39,-.39,.84,-.63,1.35,-.75],["z"],["m",1.05,.9],["c",-.15,-.09,-.21,-.09,-.45,-.12],["c",-.15,0,-.3,.03,-.39,.03],["c",-.57,.18,-.9,.72,-1.08,1.74],["c",-.06,.48,-.06,1.8,0,2.28],["c",.15,.9,.42,1.44,.9,1.65],["c",.18,.09,.21,.09,.51,.09],["c",.3,0,.33,0,.51,-.09],["c",.48,-.21,.75,-.75,.9,-1.65],["c",.03,-.27,.03,-.54,.03,-1.14],["c",0,-.6,0,-.87,-.03,-1.14],["c",-.15,-.9,-.45,-1.44,-.9,-1.65],["z"]],w:5.955,h:9.75},"scripts.open":{d:[["M",-.54,-3.69],["c",.15,-.03,.36,-.06,.51,-.06],["c",1.44,0,2.58,1.11,2.94,2.85],["c",.09,.48,.09,1.32,0,1.8],["c",-.33,1.74,-1.47,2.85,-2.91,2.85],["c",-1.44,0,-2.58,-1.11,-2.91,-2.85],["c",-.09,-.48,-.09,-1.32,0,-1.8],["c",.15,-.84,.51,-1.53,1.02,-2.04],["c",.39,-.39,.84,-.63,1.35,-.75],["z"],["m",1.11,.9],["c",-.21,-.09,-.27,-.09,-.51,-.12],["c",-.3,0,-.42,.03,-.66,.15],["c",-.24,.12,-.51,.39,-.66,.63],["c",-.54,.93,-.63,2.64,-.21,3.81],["c",.21,.54,.51,.9,.93,1.11],["c",.21,.09,.24,.09,.54,.09],["c",.3,0,.33,0,.54,-.09],["c",.42,-.21,.72,-.57,.93,-1.11],["c",.36,-.99,.36,-2.37,0,-3.36],["c",-.21,-.54,-.51,-.9,-.9,-1.11],["z"]],w:5.955,h:7.5},"scripts.longphrase":{d:[["M",1.47,-15.09],["c",.36,-.09,.66,-.18,.69,-.18],["c",.06,0,.06,.54,.06,11.25],["l",0,11.25],["l",-.63,.15],["c",-.66,.18,-1.44,.39,-1.5,.39],["c",-.03,0,-.03,-3.39,-.03,-11.25],["l",0,-11.25],["l",.36,-.09],["c",.21,-.06,.66,-.18,1.05,-.27],["z"]],w:2.16,h:23.04},"scripts.mediumphrase":{d:[["M",1.47,-7.59],["c",.36,-.09,.66,-.18,.69,-.18],["c",.06,0,.06,.39,.06,7.5],["l",0,7.5],["l",-.63,.15],["c",-.66,.18,-1.44,.39,-1.5,.39],["c",-.03,0,-.03,-2.28,-.03,-7.5],["l",0,-7.5],["l",.36,-.09],["c",.21,-.06,.66,-.18,1.05,-.27],["z"]],w:2.16,h:15.54},"scripts.shortphrase":{d:[["M",1.47,-7.59],["c",.36,-.09,.66,-.18,.69,-.18],["c",.06,0,.06,.21,.06,3.75],["l",0,3.75],["l",-.42,.09],["c",-.57,.18,-1.65,.45,-1.71,.45],["c",-.03,0,-.03,-.72,-.03,-3.75],["l",0,-3.75],["l",.36,-.09],["c",.21,-.06,.66,-.18,1.05,-.27],["z"]],w:2.16,h:8.04},"scripts.snap":{d:[["M",4.5,-3.39],["c",.36,-.03,.96,-.03,1.35,0],["c",1.56,.15,3.15,.9,4.2,2.01],["c",.24,.27,.33,.42,.33,.6],["c",0,.27,.03,.24,-2.46,2.22],["c",-1.29,1.02,-2.4,1.86,-2.49,1.92],["c",-.18,.09,-.3,.09,-.48,0],["c",-.09,-.06,-1.2,-.9,-2.49,-1.92],["c",-2.49,-1.98,-2.46,-1.95,-2.46,-2.22],["c",0,-.18,.09,-.33,.33,-.6],["c",1.05,-1.08,2.64,-1.86,4.17,-2.01],["z"],["m",1.29,1.17],["c",-1.47,-.15,-2.97,.3,-4.14,1.2],["l",-.18,.15],["l",.06,.09],["c",.15,.12,3.63,2.85,3.66,2.85],["c",.03,0,3.51,-2.73,3.66,-2.85],["l",.06,-.09],["l",-.18,-.15],["c",-.84,-.66,-1.89,-1.08,-2.94,-1.2],["z"]],w:10.38,h:6.84}};a["noteheads.slash.whole"]={d:[["M",5,-5],["l",1,1],["l",-5,5],["l",-1,-1],["z"],["m",4,6],["l",-5,-5],["l",2,-2],["l",5,5],["z"],["m",0,-2],["l",1,1],["l",-5,5],["l",-1,-1],["z"],["m",-4,6],["l",-5,-5],["l",2,-2],["l",5,5],["z"]],w:10.81,h:15.63},a["noteheads.slash.quarter"]={d:[["M",9,-6],["l",0,4],["l",-9,9],["l",0,-4],["z"]],w:9,h:9},a["noteheads.harmonic.quarter"]={d:[["M",3.63,-4.02],["c",.09,-.06,.18,-.09,.24,-.03],["c",.03,.03,.87,.93,1.83,2.01],["c",1.5,1.65,1.8,1.98,1.8,2.04],["c",0,.06,-.3,.39,-1.8,2.04],["c",-.96,1.08,-1.8,1.98,-1.83,2.01],["c",-.06,.06,-.15,.03,-.24,-.03],["c",-.12,-.09,-3.54,-3.84,-3.6,-3.93],["c",-.03,-.03,-.03,-.09,-.03,-.15],["c",.03,-.06,3.45,-3.84,3.63,-3.96],["z"]],w:7.5,h:8.165},a["noteheads.triangle.quarter"]={d:[["M",0,4],["l",9,0],["l",-4.5,-9],["z"]],w:9,h:9};var r=function(c){for(var s=[],d=0,p=c.length;d0?m.top+3:m.bottom-1,g=p>0?m.top+3:m.bottom-3,v=g-2;c.type==="bass-8"&&(o=3,l=0),m.addRight(new r("8",_+l,a.getSymbolWidth("8")*u,o,{scalex:u,scaley:u,top:g,bottom:v}))}}return m};function i(c){switch(c){case"clefs.G":return-5;case"clefs.C":return-4;case"clefs.F":return-4;case"clefs.perc":return-2;default:return 0}}return i0=n,i0}var n0,r_;function F4(){if(r_)return n0;r_=1;var t=po(),a=Zr(),r=ar(),n=function(i,c){if(i.el_type="keySignature",!i.accidentals||i.accidentals.length===0)return null;var s=new t(i,0,10,"staff-extra key-signature",c);s.isKeySig=!0;var d=0;return i.accidentals.forEach(function(p){var m,_=0;switch(p.acc){case"sharp":m="accidentals.sharp",_=-3;break;case"natural":m="accidentals.nat";break;case"flat":m="accidentals.flat",_=-1.2;break;case"quartersharp":m="accidentals.halfsharp",_=-2.5;break;case"quarterflat":m="accidentals.halfflat",_=-1.2;break;default:m="accidentals.flat"}s.addRight(new r(m,d,a.getSymbolWidth(m),p.verticalPos,{thickness:a.symbolHeightInPitches(m),top:p.verticalPos+a.symbolHeightInPitches(m)+_,bottom:p.verticalPos+_})),d+=a.getSymbolWidth(m)+2},this),s};return n0=n,n0}var r0,s_;function A4(){if(s_)return r0;s_=1;var t=Zr(),a=ar(),r=function(n,i,c,s){s||(s={});var d=s.dir!==void 0?s.dir:null,p=s.headx!==void 0?s.headx:0,m=s.extrax!==void 0?s.extrax:0,_=s.flag!==void 0?s.flag:null,h=s.dot!==void 0?s.dot:0,f=s.dotshiftx!==void 0?s.dotshiftx:0,u=s.scale!==void 0?s.scale:1,l=s.accidentalSlot!==void 0?s.accidentalSlot:[],o=s.shouldExtendStem!==void 0?s.shouldExtendStem:!1,g=s.printAccidentals!==void 0?s.printAccidentals:!0,v=s.chordPos,b=c.verticalPos,k,w=0,$=0,N=0;if(i===void 0)n.addFixed(new a("pitch is undefined",0,0,0,{type:"debug"}));else if(i==="")k=new a(null,0,0,b,{chordPos:v});else{var R=p;if(c.printer_shift){var F=c.printer_shift==="same"?1:0;R=d==="down"?-t.getSymbolWidth(i)*u+F:t.getSymbolWidth(i)*u-F}var D={scalex:u,scaley:u,thickness:t.symbolHeightInPitches(i)*u,name:c.name,chordPos:v};if(k=new a(i,R,t.getSymbolWidth(i)*u,b,D),k.stemDir=d,_){var I=b+(d==="down"?-7:7)*u;o&&(d==="down"&&I>6&&(I=6),d==="up"&&I<6&&(I=6));var S=d==="down"?p:p+k.w-.6;n.addRight(new a(_,S,t.getSymbolWidth(_)*u,I,{scalex:u,scaley:u,chordPos:v}))}for($=k.w+f-2+5*h;h>0;h--){var j=1-Math.abs(b)%2;n.addRight(new a("dots.dot",k.w+f-2+5*h,t.getSymbolWidth("dots.dot"),b+j,{chordPos:v}))}}if(k&&(k.highestVert=c.highestVert),g&&c.accidental){var V;switch(c.accidental){case"quartersharp":V="accidentals.halfsharp";break;case"dblsharp":V="accidentals.dblsharp";break;case"sharp":V="accidentals.sharp";break;case"quarterflat":V="accidentals.halfflat";break;case"flat":V="accidentals.flat";break;case"dblflat":V="accidentals.dblflat";break;case"natural":V="accidentals.nat"}for(var G=!1,T=m,C=0;C=6){l[C][0]=b,T=l[C][1],G=!0;break}G===!1&&(T-=t.getSymbolWidth(V)*u+2,l.push([b,T]),w=t.getSymbolWidth(V)*u+2);var A=t.symbolHeightInPitches(V);n.addExtra(new a(V,T,t.getSymbolWidth(V),b,{scalex:u,scaley:u,top:b+A/2,bottom:b-A/2,chordPos:v})),N=t.getSymbolWidth(V)/2}return{notehead:k,accidentalshiftx:w,dotshiftx:$,extraLeft:N}};return r0=r,r0}var s0,o_;function C4(){if(o_)return s0;o_=1;var t=po(),a=Zr(),r=ar(),n=function(i,c){i.el_type="timeSignature";var s=new t(i,0,10,"staff-extra time-signature",c);if(i.type==="specified")for(var d=0,p=0;p0)this.above=!1;else{var a;this.anchor1?a=this.anchor1.pitch:this.anchor2?a=this.anchor2.pitch:a=14,this.anchor1&&this.anchor1.stemDir==="down"&&this.anchor2&&this.anchor2.stemDir==="down"?this.above=!0:this.anchor1&&this.anchor1.stemDir==="up"&&this.anchor2&&this.anchor2.stemDir==="up"?this.above=!1:this.anchor1&&this.anchor2?this.above=a>=6:this.anchor1?this.above=this.anchor1.stemDir==="down":this.anchor2?this.above=this.anchor2.stemDir==="down":this.above=a>=6}},t.prototype.calcSlurDirection=function(){if(this.isGrace)this.above=!1;else if(this.voiceNumber===0)this.above=!0;else if(this.voiceNumber>0)this.above=!1;else{var a=!1;this.anchor1&&this.anchor1.stemDir==="down"&&(a=!0),this.anchor2&&this.anchor2.stemDir==="down"&&(a=!0);for(var r=0;ra&&(a=this.internalNotes[r].highestVert);a>this.startY&&a>this.endY&&(this.startY=this.endY=a-1)}},t.prototype.getYBounds=function(){var a=10,r=1e3;this.isTie?(this.calcTieDirection(),this.calcX(a,r),this.calcTieY()):(this.calcSlurDirection(),this.calcX(a,r),this.calcSlurY());var n,i;return this.above?(i=Math.min(this.startY,this.endY),n=i+3):(n=Math.min(this.startY,this.endY),i=n-3),[n,i]},d0=t,d0}var u0,p_;function j4(){if(p_)return u0;p_=1;var t=M4(),a=z4(),r=E4(),n=Zr(),i=ar(),c=f_(),s=function(){this.startDiminuendoX=void 0,this.startCrescendoX=void 0,this.minTop=12,this.minBottom=0},d=function(l,o,g,v,b,k,w,$,N){for(var R,F=0;F9&&R++;var I=v/2;n.getSymbolAlign(D)!=="center"&&(I-=n.getSymbolWidth(D)/2),b.addFixedX(new i(D,I,n.getSymbolWidth(D),R))}if(o[F]==="slide"&&b.heads[0]){var S=b.heads[0].pitch;S-=2;var j=new i("",-k-15,0,S-1),V=new i("",-k-5,0,S+1);b.addFixedX(j),b.addFixedX(V),l.addOther(new c({anchor1:j,anchor2:V,fixedY:!0}))}}return R===void 0&&(R=g),{above:R,below:b.bottom}},p=function(l,o,g,v){for(var b=0;bw&&(G=w)),G}function F(V,G,T){var C=R(G),A=2,B=5;g.addFixedX(new i(V,o/2,0,C+A,{type:"decoration",klass:"ornament",thickness:3,anchor:T})),N(G,B)}function D(V,G){var T=o/2;n.getSymbolAlign(V)!=="center"&&(T-=n.getSymbolWidth(V)/2);var C=n.symbolHeightInPitches(V)+1,A=R(G);A=G==="above"?A+C/2:A-C/2,g.addFixedX(new i(V,T,n.getSymbolWidth(V),A,{klass:"ornament",thickness:n.symbolHeightInPitches(V),position:G})),N(G,C)}for(var I={"+":"scripts.stopped",open:"scripts.open",snap:"scripts.snap",wedge:"scripts.wedge",thumb:"scripts.thumb",shortphrase:"scripts.shortphrase",mediumphrase:"scripts.mediumphrase",longphrase:"scripts.longphrase",trill:"scripts.trill",trillh:"scripts.trill",roll:"scripts.roll",irishroll:"scripts.roll",marcato:"scripts.umarcato",dmarcato:"scripts.dmarcato",umarcato:"scripts.umarcato",turn:"scripts.turn",uppermordent:"scripts.prall",pralltriller:"scripts.prall",mordent:"scripts.mordent",lowermordent:"scripts.mordent",downbow:"scripts.downbow",upbow:"scripts.upbow",fermata:"scripts.ufermata",invertedfermata:"scripts.dfermata",breath:",",coda:"scripts.coda",segno:"scripts.segno"},S=!1,j=0;j",this.dynamicPositioning)),this.startDiminuendoX=void 0),this.startCrescendoX&&(l.addOther(new a(this.startCrescendoX,u(l.children),"<",this.dynamicPositioning)),this.startCrescendoX=void 0)},s.prototype.dynamicDecoration=function(l,o,g,v){for(var b,k,w,$=0;$",v)),k&&l.addOther(new a(k.start,k.stop,"<",v)),w&&l.addOther(new r(w.start,w.stop))};function f(l){for(var o=0;o0,w=0;w=0&&(o=S.startChar,S.chord===void 0?l=u:l=null),S.chord&&(u=S),S.el_type==="bar"){if(v){var E=m.abc.substring(o,S.endChar),V={abc:E};u=l&&l.chord&&l.chord.length>0?l.chord[0].name:null,u&&(V.lastChord=u),S.startEnding&&(V.startEnding=S.startEnding),S.endEnding&&(V.endEnding=S.endEnding),g.push(V),o=null,v=!1}}else S.el_type==="note"&&(v=!0)}}s.push({header:f,measures:g,hasPickup:k})}return s}})(),Zu=n,Zu}var Ju,t_;function F4(){if(t_)return Ju;t_=1;var t=ch(),{relativeMajor:a,transposeKey:r,relativeMode:n,isLegalMode:i}=sh(),c=nh(),s;return(function(){s=function(F,D,I){if(D==="TEST")return{keyAccidentals:t,relativeMajor:a,transposeKey:r,relativeMode:n,transposeChordName:c};I=parseInt(I,10);var S=[],E;for(E=0;E2?S+=7:I===-12&&(S-=7):I>0&&S<0?S+=7:I<0&&S>0&&(S-=7),I>12?S+=7:I<-12&&(S-=7),S}function f(F,D,I,S,E,V){for(var G=[],$=h(E,I,V),C={},A={},P=0;P1?E[1]:"",accidentals:V}}function g(F,D,I,S){for(var E=F.pitch,V=u.indexOf(F.name),G=u.indexOf(D.root),$=(G+E)%7,C=V+I,A=F.oct;C>6;)A++,C-=7;for(;C<0;)A--,C+=7;for(var P=u[$],y="",x=F.adj,q="=",L=0;L4&&(P=P.toLowerCase()),{acc:y,name:P,upper:P.toUpperCase()}}var v=/([_^=]*)([A-Ga-g])([,']*)/,b=/([_^=]*[A-Ga-g][,']*)?(\d*\/*\d*)?([\>\<\-\)]*)?/;function k(F,D,I,S){var E=D==="none"?0:u.indexOf(D),V=F.match(v),G=V[2].toUpperCase(),$=u.indexOf(G)-E;$<0&&($+=7);var C=l.indexOf(V[3]);G===V[2]&&C--;var A=S[G]||I[G]||"=";return{acc:V[1],name:G,pitch:$,oct:C,adj:R(V[1],I[G],S[G]),courtesy:V[1]===A}}function w(F,D,I){for(var S=F.substring(D,I),E,V=[],G=/("[^"]+")+/g;(E=G.exec(S))!==null;)V.push({start:G.lastIndex-E[0].length,end:G.lastIndex});for(var $=/(![^!]+!)+/g;(E=$.exec(S))!==null;)V.push({start:$.lastIndex-E[0].length,end:$.lastIndex});for(var C=[],A=/([_^=]*)([A-Ga-g])([,']*)/g;(E=A.exec(S))!==null;){for(var P=!1,y=0;y=V[y].start&&A.lastIndex<=V[y].end&&(P=!0);P||C.push({note:E[0],index:D+A.lastIndex-E[0].length})}return C}function T(F,D,I,S,E){var V=F.substring(D,I),G=/\{/,$=/\}/,C=/([^\{]*)/,A=/(\/*)/,P=V.match(new RegExp(C.source+G.source+A.source+b.source+A.source+b.source+A.source+b.source+A.source+b.source+A.source+b.source+A.source+b.source+A.source+b.source+A.source+b.source+$.source));if(P){for(var y=1+P[1].length,x=0;xthis.max)&&(this.max=r.abcelem.maxpitch))},t.prototype.addBeam=function(r){this.beams.push(r)},t.prototype.setStemDirection=function(){if(this.average=a(this.total,this.count),this.forceup)this.stemsUp=!0;else if(this.forcedown)this.stemsUp=!1;else{var r=6;this.stemsUp=this.average0&&this.startVoice.staff.voices[0]===a)},t0=t,t0}var a0,n_;function es(){if(n_)return a0;n_=1;var t=Zi(),a={0:{d:[["M",4.83,-14.97],["c",.33,-.03,1.11,0,1.47,.06],["c",1.68,.36,2.97,1.59,3.78,3.6],["c",1.2,2.97,.81,6.96,-.9,9.27],["c",-.78,1.08,-1.71,1.71,-2.91,1.95],["c",-.45,.09,-1.32,.09,-1.77,0],["c",-.81,-.18,-1.47,-.51,-2.07,-1.02],["c",-2.34,-2.07,-3.15,-6.72,-1.74,-10.2],["c",.87,-2.16,2.28,-3.42,4.14,-3.66],["z"],["m",1.11,.87],["c",-.21,-.06,-.69,-.09,-.87,-.06],["c",-.54,.12,-.87,.42,-1.17,.99],["c",-.36,.66,-.51,1.56,-.6,3],["c",-.03,.75,-.03,4.59,0,5.31],["c",.09,1.5,.27,2.4,.6,3.06],["c",.24,.48,.57,.78,.96,.9],["c",.27,.09,.78,.09,1.05,0],["c",.39,-.12,.72,-.42,.96,-.9],["c",.33,-.66,.51,-1.56,.6,-3.06],["c",.03,-.72,.03,-4.56,0,-5.31],["c",-.09,-1.47,-.27,-2.37,-.6,-3.03],["c",-.24,-.48,-.54,-.78,-.93,-.9],["z"]],w:10.78,h:14.959},1:{d:[["M",3.3,-15.06],["c",.06,-.06,.21,-.03,.66,.15],["c",.81,.39,1.08,.39,1.83,.03],["c",.21,-.09,.39,-.15,.42,-.15],["c",.12,0,.21,.09,.27,.21],["c",.06,.12,.06,.33,.06,5.94],["c",0,3.93,0,5.85,.03,6.03],["c",.06,.36,.15,.69,.27,.96],["c",.36,.75,.93,1.17,1.68,1.26],["c",.3,.03,.39,.09,.39,.3],["c",0,.15,-.03,.18,-.09,.24],["c",-.06,.06,-.09,.06,-.48,.06],["c",-.42,0,-.69,-.03,-2.1,-.24],["c",-.9,-.15,-1.77,-.15,-2.67,0],["c",-1.41,.21,-1.68,.24,-2.1,.24],["c",-.39,0,-.42,0,-.48,-.06],["c",-.06,-.06,-.06,-.09,-.06,-.24],["c",0,-.21,.06,-.27,.36,-.3],["c",.75,-.09,1.32,-.51,1.68,-1.26],["c",.12,-.27,.21,-.6,.27,-.96],["c",.03,-.18,.03,-1.59,.03,-4.29],["c",0,-3.87,0,-4.05,-.06,-4.14],["c",-.09,-.15,-.18,-.24,-.39,-.24],["c",-.12,0,-.15,.03,-.21,.06],["c",-.03,.06,-.45,.99,-.96,2.13],["c",-.48,1.14,-.9,2.1,-.93,2.16],["c",-.06,.15,-.21,.24,-.33,.24],["c",-.24,0,-.42,-.18,-.42,-.39],["c",0,-.06,3.27,-7.62,3.33,-7.74],["z"]],w:8.94,h:15.058},2:{d:[["M",4.23,-14.97],["c",.57,-.06,1.68,0,2.34,.18],["c",.69,.18,1.5,.54,2.01,.9],["c",1.35,.96,1.95,2.25,1.77,3.81],["c",-.15,1.35,-.66,2.34,-1.68,3.15],["c",-.6,.48,-1.44,.93,-3.12,1.65],["c",-1.32,.57,-1.8,.81,-2.37,1.14],["c",-.57,.33,-.57,.33,-.24,.27],["c",.39,-.09,1.26,-.09,1.68,0],["c",.72,.15,1.41,.45,2.1,.9],["c",.99,.63,1.86,.87,2.55,.75],["c",.24,-.06,.42,-.15,.57,-.3],["c",.12,-.09,.3,-.42,.3,-.51],["c",0,-.09,.12,-.21,.24,-.24],["c",.18,-.03,.39,.12,.39,.3],["c",0,.12,-.15,.57,-.3,.87],["c",-.54,1.02,-1.56,1.74,-2.79,2.01],["c",-.42,.09,-1.23,.09,-1.62,.03],["c",-.81,-.18,-1.32,-.45,-2.01,-1.11],["c",-.45,-.45,-.63,-.57,-.96,-.69],["c",-.84,-.27,-1.89,.12,-2.25,.9],["c",-.12,.21,-.21,.54,-.21,.72],["c",0,.12,-.12,.21,-.27,.24],["c",-.15,0,-.27,-.03,-.33,-.15],["c",-.09,-.21,.09,-1.08,.33,-1.71],["c",.24,-.66,.66,-1.26,1.29,-1.89],["c",.45,-.45,.9,-.81,1.92,-1.56],["c",1.29,-.93,1.89,-1.44,2.34,-1.98],["c",.87,-1.05,1.26,-2.19,1.2,-3.63],["c",-.06,-1.29,-.39,-2.31,-.96,-2.91],["c",-.36,-.33,-.72,-.51,-1.17,-.54],["c",-.84,-.03,-1.53,.42,-1.59,1.05],["c",-.03,.33,.12,.6,.57,1.14],["c",.45,.54,.54,.87,.42,1.41],["c",-.15,.63,-.54,1.11,-1.08,1.38],["c",-.63,.33,-1.2,.33,-1.83,0],["c",-.24,-.12,-.33,-.18,-.54,-.39],["c",-.18,-.18,-.27,-.3,-.36,-.51],["c",-.24,-.45,-.27,-.84,-.21,-1.38],["c",.12,-.75,.45,-1.41,1.02,-1.98],["c",.72,-.72,1.74,-1.17,2.85,-1.32],["z"]],w:10.764,h:14.97},3:{d:[["M",3.78,-14.97],["c",.3,-.03,1.41,0,1.83,.06],["c",2.22,.3,3.51,1.32,3.72,2.91],["c",.03,.33,.03,1.26,-.03,1.65],["c",-.12,.84,-.48,1.47,-1.05,1.77],["c",-.27,.15,-.36,.24,-.45,.39],["c",-.09,.21,-.09,.36,0,.57],["c",.09,.15,.18,.24,.51,.39],["c",.75,.42,1.23,1.14,1.41,2.13],["c",.06,.42,.06,1.35,0,1.71],["c",-.18,.81,-.48,1.38,-1.02,1.95],["c",-.75,.72,-1.8,1.2,-3.18,1.38],["c",-.42,.06,-1.56,.06,-1.95,0],["c",-1.89,-.33,-3.18,-1.29,-3.51,-2.64],["c",-.03,-.12,-.03,-.33,-.03,-.6],["c",0,-.36,0,-.42,.06,-.63],["c",.12,-.3,.27,-.51,.51,-.75],["c",.24,-.24,.45,-.39,.75,-.51],["c",.21,-.06,.27,-.06,.6,-.06],["c",.33,0,.39,0,.6,.06],["c",.3,.12,.51,.27,.75,.51],["c",.36,.33,.57,.75,.6,1.2],["c",0,.21,0,.27,-.06,.42],["c",-.09,.18,-.12,.24,-.54,.54],["c",-.51,.36,-.63,.54,-.6,.87],["c",.06,.54,.54,.9,1.38,.99],["c",.36,.06,.72,.03,.96,-.06],["c",.81,-.27,1.29,-1.23,1.44,-2.79],["c",.03,-.45,.03,-1.95,-.03,-2.37],["c",-.09,-.75,-.33,-1.23,-.75,-1.44],["c",-.33,-.18,-.45,-.18,-1.98,-.18],["c",-1.35,0,-1.41,0,-1.5,-.06],["c",-.18,-.12,-.24,-.39,-.12,-.6],["c",.12,-.15,.15,-.15,1.68,-.15],["c",1.5,0,1.62,0,1.89,-.15],["c",.18,-.09,.42,-.36,.54,-.57],["c",.18,-.42,.27,-.9,.3,-1.95],["c",.03,-1.2,-.06,-1.8,-.36,-2.37],["c",-.24,-.48,-.63,-.81,-1.14,-.96],["c",-.3,-.06,-1.08,-.06,-1.38,.03],["c",-.6,.15,-.9,.42,-.96,.84],["c",-.03,.3,.06,.45,.63,.84],["c",.33,.24,.42,.39,.45,.63],["c",.03,.72,-.57,1.5,-1.32,1.65],["c",-1.05,.27,-2.1,-.57,-2.1,-1.65],["c",0,-.45,.15,-.96,.39,-1.38],["c",.12,-.21,.54,-.63,.81,-.81],["c",.57,-.42,1.38,-.69,2.25,-.81],["z"]],w:9.735,h:14.967},4:{d:[["M",8.64,-14.94],["c",.27,-.09,.42,-.12,.54,-.03],["c",.09,.06,.15,.21,.15,.3],["c",-.03,.06,-1.92,2.31,-4.23,5.04],["c",-2.31,2.73,-4.23,4.98,-4.26,5.01],["c",-.03,.06,.12,.06,2.55,.06],["l",2.61,0],["l",0,-2.37],["c",0,-2.19,.03,-2.37,.06,-2.46],["c",.03,-.06,.21,-.18,.57,-.42],["c",1.08,-.72,1.38,-1.08,1.86,-2.16],["c",.12,-.3,.24,-.54,.27,-.57],["c",.12,-.12,.39,-.06,.45,.12],["c",.06,.09,.06,.57,.06,3.96],["l",0,3.9],["l",1.08,0],["c",1.05,0,1.11,0,1.2,.06],["c",.24,.15,.24,.54,0,.69],["c",-.09,.06,-.15,.06,-1.2,.06],["l",-1.08,0],["l",0,.33],["c",0,.57,.09,1.11,.3,1.53],["c",.36,.75,.93,1.17,1.68,1.26],["c",.3,.03,.39,.09,.39,.3],["c",0,.15,-.03,.18,-.09,.24],["c",-.06,.06,-.09,.06,-.48,.06],["c",-.42,0,-.69,-.03,-2.1,-.24],["c",-.9,-.15,-1.77,-.15,-2.67,0],["c",-1.41,.21,-1.68,.24,-2.1,.24],["c",-.39,0,-.42,0,-.48,-.06],["c",-.06,-.06,-.06,-.09,-.06,-.24],["c",0,-.21,.06,-.27,.36,-.3],["c",.75,-.09,1.32,-.51,1.68,-1.26],["c",.21,-.42,.3,-.96,.3,-1.53],["l",0,-.33],["l",-2.7,0],["c",-2.91,0,-2.85,0,-3.09,-.15],["c",-.18,-.12,-.3,-.39,-.27,-.54],["c",.03,-.06,.18,-.24,.33,-.45],["c",.75,-.9,1.59,-2.07,2.13,-3.03],["c",.33,-.54,.84,-1.62,1.05,-2.16],["c",.57,-1.41,.84,-2.64,.9,-4.05],["c",.03,-.63,.06,-.72,.24,-.81],["l",.12,-.06],["l",.45,.12],["c",.66,.18,1.02,.24,1.47,.27],["c",.6,.03,1.23,-.09,2.01,-.33],["z"]],w:11.795,h:14.994},5:{d:[["M",1.02,-14.94],["c",.12,-.09,.03,-.09,1.08,.06],["c",2.49,.36,4.35,.36,6.96,-.06],["c",.57,-.09,.66,-.06,.81,.06],["c",.15,.18,.12,.24,-.15,.51],["c",-1.29,1.26,-3.24,2.04,-5.58,2.31],["c",-.6,.09,-1.2,.12,-1.71,.12],["c",-.39,0,-.45,0,-.57,.06],["c",-.09,.06,-.15,.12,-.21,.21],["l",-.06,.12],["l",0,1.65],["l",0,1.65],["l",.21,-.21],["c",.66,-.57,1.41,-.96,2.19,-1.14],["c",.33,-.06,1.41,-.06,1.95,0],["c",2.61,.36,4.02,1.74,4.26,4.14],["c",.03,.45,.03,1.08,-.03,1.44],["c",-.18,1.02,-.78,2.01,-1.59,2.7],["c",-.72,.57,-1.62,1.02,-2.49,1.2],["c",-1.38,.27,-3.03,.06,-4.2,-.54],["c",-1.08,-.54,-1.71,-1.32,-1.86,-2.28],["c",-.09,-.69,.09,-1.29,.57,-1.74],["c",.24,-.24,.45,-.39,.75,-.51],["c",.21,-.06,.27,-.06,.6,-.06],["c",.33,0,.39,0,.6,.06],["c",.3,.12,.51,.27,.75,.51],["c",.36,.33,.57,.75,.6,1.2],["c",0,.21,0,.27,-.06,.42],["c",-.09,.18,-.12,.24,-.54,.54],["c",-.18,.12,-.36,.3,-.42,.33],["c",-.36,.42,-.18,.99,.36,1.26],["c",.51,.27,1.47,.36,2.01,.27],["c",.93,-.21,1.47,-1.17,1.65,-2.91],["c",.06,-.45,.06,-1.89,0,-2.31],["c",-.15,-1.2,-.51,-2.1,-1.05,-2.55],["c",-.21,-.18,-.54,-.36,-.81,-.39],["c",-.3,-.06,-.84,-.03,-1.26,.06],["c",-.93,.18,-1.65,.6,-2.16,1.2],["c",-.15,.21,-.27,.3,-.39,.3],["c",-.15,0,-.3,-.09,-.36,-.18],["c",-.06,-.09,-.06,-.15,-.06,-3.66],["c",0,-3.39,0,-3.57,.06,-3.66],["c",.03,-.06,.09,-.15,.15,-.18],["z"]],w:10.212,h:14.997},6:{d:[["M",4.98,-14.97],["c",.36,-.03,1.2,0,1.59,.06],["c",.9,.15,1.68,.51,2.25,1.05],["c",.57,.51,.87,1.23,.84,1.98],["c",-.03,.51,-.21,.9,-.6,1.26],["c",-.24,.24,-.45,.39,-.75,.51],["c",-.21,.06,-.27,.06,-.6,.06],["c",-.33,0,-.39,0,-.6,-.06],["c",-.3,-.12,-.51,-.27,-.75,-.51],["c",-.39,-.36,-.57,-.78,-.57,-1.26],["c",0,-.27,0,-.3,.09,-.42],["c",.03,-.09,.18,-.21,.3,-.3],["c",.12,-.09,.3,-.21,.39,-.27],["c",.09,-.06,.21,-.18,.27,-.24],["c",.06,-.12,.09,-.15,.09,-.33],["c",0,-.18,-.03,-.24,-.09,-.36],["c",-.24,-.39,-.75,-.6,-1.38,-.57],["c",-.54,.03,-.9,.18,-1.23,.48],["c",-.81,.72,-1.08,2.16,-.96,5.37],["l",0,.63],["l",.3,-.12],["c",.78,-.27,1.29,-.33,2.1,-.27],["c",1.47,.12,2.49,.54,3.27,1.29],["c",.48,.51,.81,1.11,.96,1.89],["c",.06,.27,.06,.42,.06,.93],["c",0,.54,0,.69,-.06,.96],["c",-.15,.78,-.48,1.38,-.96,1.89],["c",-.54,.51,-1.17,.87,-1.98,1.08],["c",-1.14,.3,-2.4,.33,-3.24,.03],["c",-1.5,-.48,-2.64,-1.89,-3.27,-4.02],["c",-.36,-1.23,-.51,-2.82,-.42,-4.08],["c",.3,-3.66,2.28,-6.3,4.95,-6.66],["z"],["m",.66,7.41],["c",-.27,-.09,-.81,-.12,-1.08,-.06],["c",-.72,.18,-1.08,.69,-1.23,1.71],["c",-.06,.54,-.06,3,0,3.54],["c",.18,1.26,.72,1.77,1.8,1.74],["c",.39,-.03,.63,-.09,.9,-.27],["c",.66,-.42,.9,-1.32,.9,-3.24],["c",0,-2.22,-.36,-3.12,-1.29,-3.42],["z"]],w:9.956,h:14.982},7:{d:[["M",.21,-14.97],["c",.21,-.06,.45,0,.54,.15],["c",.06,.09,.06,.15,.06,.39],["c",0,.24,0,.33,.06,.42],["c",.06,.12,.21,.24,.27,.24],["c",.03,0,.12,-.12,.24,-.21],["c",.96,-1.2,2.58,-1.35,3.99,-.42],["c",.15,.12,.42,.3,.54,.45],["c",.48,.39,.81,.57,1.29,.6],["c",.69,.03,1.5,-.3,2.13,-.87],["c",.09,-.09,.27,-.3,.39,-.45],["c",.12,-.15,.24,-.27,.3,-.3],["c",.18,-.06,.39,.03,.51,.21],["c",.06,.18,.06,.24,-.27,.72],["c",-.18,.24,-.54,.78,-.78,1.17],["c",-2.37,3.54,-3.54,6.27,-3.87,9],["c",-.03,.33,-.03,.66,-.03,1.26],["c",0,.9,0,1.08,.15,1.89],["c",.06,.45,.06,.48,.03,.6],["c",-.06,.09,-.21,.21,-.3,.21],["c",-.03,0,-.27,-.06,-.54,-.15],["c",-.84,-.27,-1.11,-.3,-1.65,-.3],["c",-.57,0,-.84,.03,-1.56,.27],["c",-.6,.18,-.69,.21,-.81,.15],["c",-.12,-.06,-.21,-.18,-.21,-.3],["c",0,-.15,.6,-1.44,1.2,-2.61],["c",1.14,-2.22,2.73,-4.68,5.1,-8.01],["c",.21,-.27,.36,-.48,.33,-.48],["c",0,0,-.12,.06,-.27,.12],["c",-.54,.3,-.99,.39,-1.56,.39],["c",-.75,.03,-1.2,-.18,-1.83,-.75],["c",-.99,-.9,-1.83,-1.17,-2.31,-.72],["c",-.18,.15,-.36,.51,-.45,.84],["c",-.06,.24,-.06,.33,-.09,1.98],["c",0,1.62,-.03,1.74,-.06,1.8],["c",-.15,.24,-.54,.24,-.69,0],["c",-.06,-.09,-.06,-.15,-.06,-3.57],["c",0,-3.42,0,-3.48,.06,-3.57],["c",.03,-.06,.09,-.12,.15,-.15],["z"]],w:10.561,h:15.093},8:{d:[["M",4.98,-14.97],["c",.33,-.03,1.02,-.03,1.32,0],["c",1.32,.12,2.49,.6,3.21,1.32],["c",.39,.39,.66,.81,.78,1.29],["c",.09,.36,.09,1.08,0,1.44],["c",-.21,.84,-.66,1.59,-1.59,2.55],["l",-.3,.3],["l",.27,.18],["c",1.47,.93,2.31,2.31,2.25,3.75],["c",-.03,.75,-.24,1.35,-.63,1.95],["c",-.45,.66,-1.02,1.14,-1.83,1.53],["c",-1.8,.87,-4.2,.87,-6,.03],["c",-1.62,-.78,-2.52,-2.16,-2.46,-3.66],["c",.06,-.99,.54,-1.77,1.8,-2.97],["c",.54,-.51,.54,-.54,.48,-.57],["c",-.39,-.27,-.96,-.78,-1.2,-1.14],["c",-.75,-1.11,-.87,-2.4,-.3,-3.6],["c",.69,-1.35,2.25,-2.25,4.2,-2.4],["z"],["m",1.53,.69],["c",-.42,-.09,-1.11,-.12,-1.38,-.06],["c",-.3,.06,-.6,.18,-.81,.3],["c",-.21,.12,-.6,.51,-.72,.72],["c",-.51,.87,-.42,1.89,.21,2.52],["c",.21,.21,.36,.3,1.95,1.23],["c",.96,.54,1.74,.99,1.77,1.02],["c",.09,0,.63,-.6,.99,-1.11],["c",.21,-.36,.48,-.87,.57,-1.23],["c",.06,-.24,.06,-.36,.06,-.72],["c",0,-.45,-.03,-.66,-.15,-.99],["c",-.39,-.81,-1.29,-1.44,-2.49,-1.68],["z"],["m",-1.44,8.07],["l",-1.89,-1.08],["c",-.03,0,-.18,.15,-.39,.33],["c",-1.2,1.08,-1.65,1.95,-1.59,3],["c",.09,1.59,1.35,2.85,3.21,3.24],["c",.33,.06,.45,.06,.93,.06],["c",.63,0,.81,-.03,1.29,-.27],["c",.9,-.42,1.47,-1.41,1.41,-2.4],["c",-.06,-.66,-.39,-1.29,-.9,-1.65],["c",-.12,-.09,-1.05,-.63,-2.07,-1.23],["z"]],w:10.926,h:14.989},9:{d:[["M",4.23,-14.97],["c",.42,-.03,1.29,0,1.62,.06],["c",.51,.12,.93,.3,1.38,.57],["c",1.53,1.02,2.52,3.24,2.73,5.94],["c",.18,2.55,-.48,4.98,-1.83,6.57],["c",-1.05,1.26,-2.4,1.89,-3.93,1.83],["c",-1.23,-.06,-2.31,-.45,-3.03,-1.14],["c",-.57,-.51,-.87,-1.23,-.84,-1.98],["c",.03,-.51,.21,-.9,.6,-1.26],["c",.24,-.24,.45,-.39,.75,-.51],["c",.21,-.06,.27,-.06,.6,-.06],["c",.33,0,.39,0,.6,.06],["c",.3,.12,.51,.27,.75,.51],["c",.39,.36,.57,.78,.57,1.26],["c",0,.27,0,.3,-.09,.42],["c",-.03,.09,-.18,.21,-.3,.3],["c",-.12,.09,-.3,.21,-.39,.27],["c",-.09,.06,-.21,.18,-.27,.24],["c",-.06,.12,-.06,.15,-.06,.33],["c",0,.18,0,.24,.06,.36],["c",.24,.39,.75,.6,1.38,.57],["c",.54,-.03,.9,-.18,1.23,-.48],["c",.81,-.72,1.08,-2.16,.96,-5.37],["l",0,-.63],["l",-.3,.12],["c",-.78,.27,-1.29,.33,-2.1,.27],["c",-1.47,-.12,-2.49,-.54,-3.27,-1.29],["c",-.48,-.51,-.81,-1.11,-.96,-1.89],["c",-.06,-.27,-.06,-.42,-.06,-.96],["c",0,-.51,0,-.66,.06,-.93],["c",.15,-.78,.48,-1.38,.96,-1.89],["c",.15,-.12,.33,-.27,.42,-.36],["c",.69,-.51,1.62,-.81,2.76,-.93],["z"],["m",1.17,.66],["c",-.21,-.06,-.57,-.06,-.81,-.03],["c",-.78,.12,-1.26,.69,-1.41,1.74],["c",-.12,.63,-.15,1.95,-.09,2.79],["c",.12,1.71,.63,2.4,1.77,2.46],["c",1.08,.03,1.62,-.48,1.8,-1.74],["c",.06,-.54,.06,-3,0,-3.54],["c",-.15,-1.05,-.51,-1.53,-1.26,-1.68],["z"]],w:9.959,h:14.986},"rests.multimeasure":{d:[["M",0,-4],["l",0,16],["l",1,0],["l",0,-5],["l",40,0],["l",0,5],["l",1,0],["l",0,-16],["l",-1,0],["l",0,5],["l",-40,0],["l",0,-5],["z"]],w:42,h:18},"rests.whole":{d:[["M",.06,.03],["l",.09,-.06],["l",5.46,0],["l",5.49,0],["l",.09,.06],["l",.06,.09],["l",0,2.19],["l",0,2.19],["l",-.06,.09],["l",-.09,.06],["l",-5.49,0],["l",-5.46,0],["l",-.09,-.06],["l",-.06,-.09],["l",0,-2.19],["l",0,-2.19],["z"]],w:11.25,h:4.68},"rests.half":{d:[["M",.06,-4.62],["l",.09,-.06],["l",5.46,0],["l",5.49,0],["l",.09,.06],["l",.06,.09],["l",0,2.19],["l",0,2.19],["l",-.06,.09],["l",-.09,.06],["l",-5.49,0],["l",-5.46,0],["l",-.09,-.06],["l",-.06,-.09],["l",0,-2.19],["l",0,-2.19],["z"]],w:11.25,h:4.68},"rests.quarter":{d:[["M",1.89,-11.82],["c",.12,-.06,.24,-.06,.36,-.03],["c",.09,.06,4.74,5.58,4.86,5.82],["c",.21,.39,.15,.78,-.15,1.26],["c",-.24,.33,-.72,.81,-1.62,1.56],["c",-.45,.36,-.87,.75,-.96,.84],["c",-.93,.99,-1.14,2.49,-.6,3.63],["c",.18,.39,.27,.48,1.32,1.68],["c",1.92,2.25,1.83,2.16,1.83,2.34],["c",0,.18,-.18,.36,-.36,.39],["c",-.15,0,-.27,-.06,-.48,-.27],["c",-.75,-.75,-2.46,-1.29,-3.39,-1.08],["c",-.45,.09,-.69,.27,-.9,.69],["c",-.12,.3,-.21,.66,-.24,1.14],["c",-.03,.66,.09,1.35,.3,2.01],["c",.15,.42,.24,.66,.45,.96],["c",.18,.24,.18,.33,.03,.42],["c",-.12,.06,-.18,.03,-.45,-.3],["c",-1.08,-1.38,-2.07,-3.36,-2.4,-4.83],["c",-.27,-1.05,-.15,-1.77,.27,-2.07],["c",.21,-.12,.42,-.15,.87,-.15],["c",.87,.06,2.1,.39,3.3,.9],["l",.39,.18],["l",-1.65,-1.95],["c",-2.52,-2.97,-2.61,-3.09,-2.7,-3.27],["c",-.09,-.24,-.12,-.48,-.03,-.75],["c",.15,-.48,.57,-.96,1.83,-2.01],["c",.45,-.36,.84,-.72,.93,-.78],["c",.69,-.75,1.02,-1.8,.9,-2.79],["c",-.06,-.33,-.21,-.84,-.39,-1.11],["c",-.09,-.15,-.45,-.6,-.81,-1.05],["c",-.36,-.42,-.69,-.81,-.72,-.87],["c",-.09,-.18,0,-.42,.21,-.51],["z"]],w:7.888,h:21.435},"rests.8th":{d:[["M",1.68,-6.12],["c",.66,-.09,1.23,.09,1.68,.51],["c",.27,.3,.39,.54,.57,1.26],["c",.09,.33,.18,.66,.21,.72],["c",.12,.27,.33,.45,.6,.48],["c",.12,0,.18,0,.33,-.09],["c",.39,-.18,1.32,-1.29,1.68,-1.98],["c",.09,-.21,.24,-.3,.39,-.3],["c",.12,0,.27,.09,.33,.18],["c",.03,.06,-.27,1.11,-1.86,6.42],["c",-1.02,3.48,-1.89,6.39,-1.92,6.42],["c",0,.03,-.12,.12,-.24,.15],["c",-.18,.09,-.21,.09,-.45,.09],["c",-.24,0,-.3,0,-.48,-.06],["c",-.09,-.06,-.21,-.12,-.21,-.15],["c",-.06,-.03,.15,-.57,1.68,-4.92],["c",.96,-2.67,1.74,-4.89,1.71,-4.89],["l",-.51,.15],["c",-1.08,.36,-1.74,.48,-2.55,.48],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.33,-.45,.84,-.81,1.38,-.9],["z"]],w:7.534,h:13.883},"rests.16th":{d:[["M",3.33,-6.12],["c",.66,-.09,1.23,.09,1.68,.51],["c",.27,.3,.39,.54,.57,1.26],["c",.09,.33,.18,.66,.21,.72],["c",.15,.39,.57,.57,.87,.42],["c",.39,-.18,1.2,-1.23,1.62,-2.07],["c",.06,-.15,.24,-.24,.36,-.24],["c",.12,0,.27,.09,.33,.18],["c",.03,.06,-.45,1.86,-2.67,10.17],["c",-1.5,5.55,-2.73,10.14,-2.76,10.17],["c",-.03,.03,-.12,.12,-.24,.15],["c",-.18,.09,-.21,.09,-.45,.09],["c",-.24,0,-.3,0,-.48,-.06],["c",-.09,-.06,-.21,-.12,-.21,-.15],["c",-.06,-.03,.12,-.57,1.44,-4.92],["c",.81,-2.67,1.47,-4.86,1.47,-4.89],["c",-.03,0,-.27,.06,-.54,.15],["c",-1.08,.36,-1.77,.48,-2.58,.48],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.72,-1.05,2.22,-1.23,3.06,-.42],["c",.3,.33,.42,.6,.6,1.38],["c",.09,.45,.21,.78,.33,.9],["c",.09,.09,.27,.18,.45,.21],["c",.12,0,.18,0,.33,-.09],["c",.33,-.15,1.02,-.93,1.41,-1.59],["c",.12,-.21,.18,-.39,.39,-1.08],["c",.66,-2.1,1.17,-3.84,1.17,-3.87],["c",0,0,-.21,.06,-.42,.15],["c",-.51,.15,-1.2,.33,-1.68,.42],["c",-.33,.06,-.51,.06,-.96,.06],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.33,-.45,.84,-.81,1.38,-.9],["z"]],w:9.724,h:21.383},"rests.32nd":{d:[["M",4.23,-13.62],["c",.66,-.09,1.23,.09,1.68,.51],["c",.27,.3,.39,.54,.57,1.26],["c",.09,.33,.18,.66,.21,.72],["c",.12,.27,.33,.45,.6,.48],["c",.12,0,.18,0,.27,-.06],["c",.33,-.21,.99,-1.11,1.44,-1.98],["c",.09,-.24,.21,-.33,.39,-.33],["c",.12,0,.27,.09,.33,.18],["c",.03,.06,-.57,2.67,-3.21,13.89],["c",-1.8,7.62,-3.3,13.89,-3.3,13.92],["c",-.03,.06,-.12,.12,-.24,.18],["c",-.21,.09,-.24,.09,-.48,.09],["c",-.24,0,-.3,0,-.48,-.06],["c",-.09,-.06,-.21,-.12,-.21,-.15],["c",-.06,-.03,.09,-.57,1.23,-4.92],["c",.69,-2.67,1.26,-4.86,1.29,-4.89],["c",0,-.03,-.12,-.03,-.48,.12],["c",-1.17,.39,-2.22,.57,-3,.54],["c",-.42,-.03,-.75,-.12,-1.11,-.3],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.72,-1.05,2.22,-1.23,3.06,-.42],["c",.3,.33,.42,.6,.6,1.38],["c",.09,.45,.21,.78,.33,.9],["c",.12,.09,.3,.18,.48,.21],["c",.12,0,.18,0,.3,-.09],["c",.42,-.21,1.29,-1.29,1.56,-1.89],["c",.03,-.12,1.23,-4.59,1.23,-4.65],["c",0,-.03,-.18,.03,-.39,.12],["c",-.63,.18,-1.2,.36,-1.74,.45],["c",-.39,.06,-.54,.06,-1.02,.06],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.72,-1.05,2.22,-1.23,3.06,-.42],["c",.3,.33,.42,.6,.6,1.38],["c",.09,.45,.21,.78,.33,.9],["c",.18,.18,.51,.27,.72,.15],["c",.3,-.12,.69,-.57,1.08,-1.17],["c",.42,-.6,.39,-.51,1.05,-3.03],["c",.33,-1.26,.6,-2.31,.6,-2.34],["c",0,0,-.21,.03,-.45,.12],["c",-.57,.18,-1.14,.33,-1.62,.42],["c",-.33,.06,-.51,.06,-.96,.06],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.33,-.45,.84,-.81,1.38,-.9],["z"]],w:11.373,h:28.883},"rests.64th":{d:[["M",5.13,-13.62],["c",.66,-.09,1.23,.09,1.68,.51],["c",.27,.3,.39,.54,.57,1.26],["c",.15,.63,.21,.81,.33,.96],["c",.18,.21,.54,.3,.75,.18],["c",.24,-.12,.63,-.66,1.08,-1.56],["c",.33,-.66,.39,-.72,.6,-.72],["c",.12,0,.27,.09,.33,.18],["c",.03,.06,-.69,3.66,-3.54,17.64],["c",-1.95,9.66,-3.57,17.61,-3.57,17.64],["c",-.03,.06,-.12,.12,-.24,.18],["c",-.21,.09,-.24,.09,-.48,.09],["c",-.24,0,-.3,0,-.48,-.06],["c",-.09,-.06,-.21,-.12,-.21,-.15],["c",-.06,-.03,.06,-.57,1.05,-4.95],["c",.6,-2.7,1.08,-4.89,1.08,-4.92],["c",0,0,-.24,.06,-.51,.15],["c",-.66,.24,-1.2,.36,-1.77,.48],["c",-.42,.06,-.57,.06,-1.05,.06],["c",-.69,0,-.87,-.03,-1.35,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.72,-1.05,2.22,-1.23,3.06,-.42],["c",.3,.33,.42,.6,.6,1.38],["c",.09,.45,.21,.78,.33,.9],["c",.09,.09,.27,.18,.45,.21],["c",.21,.03,.39,-.09,.72,-.42],["c",.45,-.45,1.02,-1.26,1.17,-1.65],["c",.03,-.09,.27,-1.14,.54,-2.34],["c",.27,-1.2,.48,-2.19,.51,-2.22],["c",0,-.03,-.09,-.03,-.48,.12],["c",-1.17,.39,-2.22,.57,-3,.54],["c",-.42,-.03,-.75,-.12,-1.11,-.3],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.36,-.54,.96,-.87,1.65,-.93],["c",.54,-.03,1.02,.15,1.41,.54],["c",.27,.3,.39,.54,.57,1.26],["c",.09,.33,.18,.66,.21,.72],["c",.15,.39,.57,.57,.9,.42],["c",.36,-.18,1.2,-1.26,1.47,-1.89],["c",.03,-.09,.3,-1.2,.57,-2.43],["l",.51,-2.28],["l",-.54,.18],["c",-1.11,.36,-1.8,.48,-2.61,.48],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.36,-.54,.96,-.87,1.65,-.93],["c",.54,-.03,1.02,.15,1.41,.54],["c",.27,.3,.39,.54,.57,1.26],["c",.15,.63,.21,.81,.33,.96],["c",.21,.21,.54,.3,.75,.18],["c",.36,-.18,.93,-.93,1.29,-1.68],["c",.12,-.24,.18,-.48,.63,-2.55],["l",.51,-2.31],["c",0,-.03,-.18,.03,-.39,.12],["c",-1.14,.36,-2.1,.54,-2.82,.51],["c",-.42,-.03,-.75,-.12,-1.11,-.3],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.33,-.45,.84,-.81,1.38,-.9],["z"]],w:12.453,h:36.383},"rests.128th":{d:[["M",6.03,-21.12],["c",.66,-.09,1.23,.09,1.68,.51],["c",.27,.3,.39,.54,.57,1.26],["c",.09,.33,.18,.66,.21,.72],["c",.12,.27,.33,.45,.6,.48],["c",.21,0,.33,-.06,.54,-.36],["c",.15,-.21,.54,-.93,.78,-1.47],["c",.15,-.33,.18,-.39,.3,-.48],["c",.18,-.09,.45,0,.51,.15],["c",.03,.09,-7.11,42.75,-7.17,42.84],["c",-.03,.03,-.15,.09,-.24,.15],["c",-.18,.06,-.24,.06,-.45,.06],["c",-.24,0,-.3,0,-.48,-.06],["c",-.09,-.06,-.21,-.12,-.21,-.15],["c",-.06,-.03,.03,-.57,.84,-4.98],["c",.51,-2.7,.93,-4.92,.9,-4.92],["c",0,0,-.15,.06,-.36,.12],["c",-.78,.27,-1.62,.48,-2.31,.57],["c",-.15,.03,-.54,.03,-.81,.03],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.36,-.54,.96,-.87,1.65,-.93],["c",.54,-.03,1.02,.15,1.41,.54],["c",.27,.3,.39,.54,.57,1.26],["c",.09,.33,.18,.66,.21,.72],["c",.12,.27,.33,.45,.63,.48],["c",.12,0,.18,0,.3,-.09],["c",.42,-.21,1.14,-1.11,1.5,-1.83],["c",.12,-.27,.12,-.27,.54,-2.52],["c",.24,-1.23,.42,-2.25,.39,-2.25],["c",0,0,-.24,.06,-.51,.18],["c",-1.26,.39,-2.25,.57,-3.06,.54],["c",-.42,-.03,-.75,-.12,-1.11,-.3],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.36,-.54,.96,-.87,1.65,-.93],["c",.54,-.03,1.02,.15,1.41,.54],["c",.27,.3,.39,.54,.57,1.26],["c",.15,.63,.21,.81,.33,.96],["c",.18,.21,.51,.3,.75,.18],["c",.36,-.15,1.05,-.99,1.41,-1.77],["l",.15,-.3],["l",.42,-2.25],["c",.21,-1.26,.42,-2.28,.39,-2.28],["l",-.51,.15],["c",-1.11,.39,-1.89,.51,-2.7,.51],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.36,-.54,.96,-.87,1.65,-.93],["c",.54,-.03,1.02,.15,1.41,.54],["c",.27,.3,.39,.54,.57,1.26],["c",.15,.63,.21,.81,.33,.96],["c",.18,.18,.48,.27,.72,.21],["c",.33,-.12,1.14,-1.26,1.41,-1.95],["c",0,-.09,.21,-1.11,.45,-2.34],["c",.21,-1.2,.39,-2.22,.39,-2.28],["c",.03,-.03,0,-.03,-.45,.12],["c",-.57,.18,-1.2,.33,-1.71,.42],["c",-.3,.06,-.51,.06,-.93,.06],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.36,-.54,.96,-.87,1.65,-.93],["c",.54,-.03,1.02,.15,1.41,.54],["c",.27,.3,.39,.54,.57,1.26],["c",.09,.33,.18,.66,.21,.72],["c",.12,.27,.33,.45,.6,.48],["c",.18,0,.36,-.09,.57,-.33],["c",.33,-.36,.78,-1.14,.93,-1.56],["c",.03,-.12,.24,-1.2,.45,-2.4],["c",.24,-1.2,.42,-2.22,.42,-2.28],["c",.03,-.03,0,-.03,-.39,.09],["c",-1.05,.36,-1.8,.48,-2.58,.48],["c",-.63,0,-.84,-.03,-1.29,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.33,-.45,.84,-.81,1.38,-.9],["z"]],w:12.992,h:43.883},"accidentals.sharp":{d:[["M",5.73,-11.19],["c",.21,-.12,.54,-.03,.66,.24],["c",.06,.12,.06,.21,.06,2.31],["c",0,1.23,0,2.22,.03,2.22],["c",0,0,.27,-.12,.6,-.24],["c",.69,-.27,.78,-.3,.96,-.15],["c",.21,.15,.21,.18,.21,1.38],["c",0,1.02,0,1.11,-.06,1.2],["c",-.03,.06,-.09,.12,-.12,.15],["c",-.06,.03,-.42,.21,-.84,.36],["l",-.75,.33],["l",-.03,2.43],["c",0,1.32,0,2.43,.03,2.43],["c",0,0,.27,-.12,.6,-.24],["c",.69,-.27,.78,-.3,.96,-.15],["c",.21,.15,.21,.18,.21,1.38],["c",0,1.02,0,1.11,-.06,1.2],["c",-.03,.06,-.09,.12,-.12,.15],["c",-.06,.03,-.42,.21,-.84,.36],["l",-.75,.33],["l",-.03,2.52],["c",0,2.28,-.03,2.55,-.06,2.64],["c",-.21,.36,-.72,.36,-.93,0],["c",-.03,-.09,-.06,-.33,-.06,-2.43],["l",0,-2.31],["l",-1.29,.51],["l",-1.26,.51],["l",0,2.43],["c",0,2.58,0,2.52,-.15,2.67],["c",-.06,.09,-.27,.18,-.36,.18],["c",-.12,0,-.33,-.09,-.39,-.18],["c",-.15,-.15,-.15,-.09,-.15,-2.43],["c",0,-1.23,0,-2.22,-.03,-2.22],["c",0,0,-.27,.12,-.6,.24],["c",-.69,.27,-.78,.3,-.96,.15],["c",-.21,-.15,-.21,-.18,-.21,-1.38],["c",0,-1.02,0,-1.11,.06,-1.2],["c",.03,-.06,.09,-.12,.12,-.15],["c",.06,-.03,.42,-.21,.84,-.36],["l",.78,-.33],["l",0,-2.43],["c",0,-1.32,0,-2.43,-.03,-2.43],["c",0,0,-.27,.12,-.6,.24],["c",-.69,.27,-.78,.3,-.96,.15],["c",-.21,-.15,-.21,-.18,-.21,-1.38],["c",0,-1.02,0,-1.11,.06,-1.2],["c",.03,-.06,.09,-.12,.12,-.15],["c",.06,-.03,.42,-.21,.84,-.36],["l",.78,-.33],["l",0,-2.52],["c",0,-2.28,.03,-2.55,.06,-2.64],["c",.21,-.36,.72,-.36,.93,0],["c",.03,.09,.06,.33,.06,2.43],["l",.03,2.31],["l",1.26,-.51],["l",1.26,-.51],["l",0,-2.43],["c",0,-2.28,0,-2.43,.06,-2.55],["c",.06,-.12,.12,-.18,.27,-.24],["z"],["m",-.33,10.65],["l",0,-2.43],["l",-1.29,.51],["l",-1.26,.51],["l",0,2.46],["l",0,2.43],["l",.09,-.03],["c",.06,-.03,.63,-.27,1.29,-.51],["l",1.17,-.48],["l",0,-2.46],["z"]],w:8.25,h:22.462},"accidentals.halfsharp":{d:[["M",2.43,-10.05],["c",.21,-.12,.54,-.03,.66,.24],["c",.06,.12,.06,.21,.06,2.01],["c",0,1.05,0,1.89,.03,1.89],["l",.72,-.48],["c",.69,-.48,.69,-.51,.87,-.51],["c",.15,0,.18,.03,.27,.09],["c",.21,.15,.21,.18,.21,1.41],["c",0,1.11,-.03,1.14,-.09,1.23],["c",-.03,.03,-.48,.39,-1.02,.75],["l",-.99,.66],["l",0,2.37],["c",0,1.32,0,2.37,.03,2.37],["l",.72,-.48],["c",.69,-.48,.69,-.51,.87,-.51],["c",.15,0,.18,.03,.27,.09],["c",.21,.15,.21,.18,.21,1.41],["c",0,1.11,-.03,1.14,-.09,1.23],["c",-.03,.03,-.48,.39,-1.02,.75],["l",-.99,.66],["l",0,2.25],["c",0,1.95,0,2.28,-.06,2.37],["c",-.06,.12,-.12,.21,-.24,.27],["c",-.27,.12,-.54,.03,-.69,-.24],["c",-.06,-.12,-.06,-.21,-.06,-2.01],["c",0,-1.05,0,-1.89,-.03,-1.89],["l",-.72,.48],["c",-.69,.48,-.69,.48,-.87,.48],["c",-.15,0,-.18,0,-.27,-.06],["c",-.21,-.15,-.21,-.18,-.21,-1.41],["c",0,-1.11,.03,-1.14,.09,-1.23],["c",.03,-.03,.48,-.39,1.02,-.75],["l",.99,-.66],["l",0,-2.37],["c",0,-1.32,0,-2.37,-.03,-2.37],["l",-.72,.48],["c",-.69,.48,-.69,.48,-.87,.48],["c",-.15,0,-.18,0,-.27,-.06],["c",-.21,-.15,-.21,-.18,-.21,-1.41],["c",0,-1.11,.03,-1.14,.09,-1.23],["c",.03,-.03,.48,-.39,1.02,-.75],["l",.99,-.66],["l",0,-2.25],["c",0,-2.13,0,-2.28,.06,-2.4],["c",.06,-.12,.12,-.18,.27,-.24],["z"]],w:5.25,h:20.174},"accidentals.nat":{d:[["M",.21,-11.4],["c",.24,-.06,.78,0,.99,.15],["c",.03,.03,.03,.48,0,2.61],["c",-.03,1.44,-.03,2.61,-.03,2.61],["c",0,.03,.75,-.09,1.68,-.24],["c",.96,-.18,1.71,-.27,1.74,-.27],["c",.15,.03,.27,.15,.36,.3],["l",.06,.12],["l",.09,8.67],["c",.09,6.96,.12,8.67,.09,8.67],["c",-.03,.03,-.12,.06,-.21,.09],["c",-.24,.09,-.72,.09,-.96,0],["c",-.09,-.03,-.18,-.06,-.21,-.09],["c",-.03,-.03,-.03,-.48,0,-2.61],["c",.03,-1.44,.03,-2.61,.03,-2.61],["c",0,-.03,-.75,.09,-1.68,.24],["c",-.96,.18,-1.71,.27,-1.74,.27],["c",-.15,-.03,-.27,-.15,-.36,-.3],["l",-.06,-.15],["l",-.09,-7.53],["c",-.06,-4.14,-.09,-8.04,-.12,-8.67],["l",0,-1.11],["l",.15,-.06],["c",.09,-.03,.21,-.06,.27,-.09],["z"],["m",3.75,8.4],["c",0,-.33,0,-.42,-.03,-.42],["c",-.12,0,-2.79,.45,-2.79,.48],["c",-.03,0,-.09,6.3,-.09,6.33],["c",.03,0,2.79,-.45,2.82,-.48],["c",0,0,.09,-4.53,.09,-5.91],["z"]],w:5.4,h:22.8},"accidentals.flat":{d:[["M",-.36,-14.07],["c",.33,-.06,.87,0,1.08,.15],["c",.06,.03,.06,.36,-.03,5.25],["c",-.06,2.85,-.09,5.19,-.09,5.19],["c",0,.03,.12,-.03,.24,-.12],["c",.63,-.42,1.41,-.66,2.19,-.72],["c",.81,-.03,1.47,.21,2.04,.78],["c",.57,.54,.87,1.26,.93,2.04],["c",.03,.57,-.09,1.08,-.36,1.62],["c",-.42,.81,-1.02,1.38,-2.82,2.61],["c",-1.14,.78,-1.44,1.02,-1.8,1.44],["c",-.18,.18,-.39,.39,-.45,.42],["c",-.27,.18,-.57,.15,-.81,-.06],["c",-.06,-.09,-.12,-.18,-.15,-.27],["c",-.03,-.06,-.09,-3.27,-.18,-8.34],["c",-.09,-4.53,-.15,-8.58,-.18,-9.03],["l",0,-.78],["l",.12,-.06],["c",.06,-.03,.18,-.09,.27,-.12],["z"],["m",3.18,11.01],["c",-.21,-.12,-.54,-.15,-.81,-.06],["c",-.54,.15,-.99,.63,-1.17,1.26],["c",-.06,.3,-.12,2.88,-.06,3.87],["c",.03,.42,.03,.81,.06,.9],["l",.03,.12],["l",.45,-.39],["c",.63,-.54,1.26,-1.17,1.56,-1.59],["c",.3,-.42,.6,-.99,.72,-1.41],["c",.18,-.69,.09,-1.47,-.18,-2.07],["c",-.15,-.3,-.33,-.51,-.6,-.63],["z"]],w:6.75,h:18.801},"accidentals.halfflat":{d:[["M",4.83,-14.07],["c",.33,-.06,.87,0,1.08,.15],["c",.06,.03,.06,.6,-.12,9.06],["c",-.09,5.55,-.15,9.06,-.18,9.12],["c",-.03,.09,-.09,.18,-.15,.27],["c",-.24,.21,-.54,.24,-.81,.06],["c",-.06,-.03,-.27,-.24,-.45,-.42],["c",-.36,-.42,-.66,-.66,-1.8,-1.44],["c",-1.23,-.84,-1.83,-1.32,-2.25,-1.77],["c",-.66,-.78,-.96,-1.56,-.93,-2.46],["c",.09,-1.41,1.11,-2.58,2.4,-2.79],["c",.3,-.06,.84,-.03,1.23,.06],["c",.54,.12,1.08,.33,1.53,.63],["c",.12,.09,.24,.15,.24,.12],["c",0,0,-.12,-8.37,-.18,-9.75],["l",0,-.66],["l",.12,-.06],["c",.06,-.03,.18,-.09,.27,-.12],["z"],["m",-1.65,10.95],["c",-.6,-.18,-1.08,.09,-1.38,.69],["c",-.27,.6,-.36,1.38,-.18,2.07],["c",.12,.42,.42,.99,.72,1.41],["c",.3,.42,.93,1.05,1.56,1.59],["l",.48,.39],["l",0,-.12],["c",.03,-.09,.03,-.48,.06,-.9],["c",.03,-.57,.03,-1.08,0,-2.22],["c",-.03,-1.62,-.03,-1.62,-.24,-2.07],["c",-.21,-.42,-.6,-.75,-1.02,-.84],["z"]],w:6.728,h:18.801},"accidentals.dblflat":{d:[["M",-.36,-14.07],["c",.33,-.06,.87,0,1.08,.15],["c",.06,.03,.06,.36,-.03,5.25],["c",-.06,2.85,-.09,5.19,-.09,5.19],["c",0,.03,.12,-.03,.24,-.12],["c",.63,-.42,1.41,-.66,2.19,-.72],["c",.81,-.03,1.47,.21,2.04,.78],["c",.57,.54,.87,1.26,.93,2.04],["c",.03,.57,-.09,1.08,-.36,1.62],["c",-.42,.81,-1.02,1.38,-2.82,2.61],["c",-1.14,.78,-1.44,1.02,-1.8,1.44],["c",-.18,.18,-.39,.39,-.45,.42],["c",-.27,.18,-.57,.15,-.81,-.06],["c",-.06,-.09,-.12,-.18,-.15,-.27],["c",-.03,-.06,-.09,-3.27,-.18,-8.34],["c",-.09,-4.53,-.15,-8.58,-.18,-9.03],["l",0,-.78],["l",.12,-.06],["c",.06,-.03,.18,-.09,.27,-.12],["z"],["m",3.18,11.01],["c",-.21,-.12,-.54,-.15,-.81,-.06],["c",-.54,.15,-.99,.63,-1.17,1.26],["c",-.06,.3,-.12,2.88,-.06,3.87],["c",.03,.42,.03,.81,.06,.9],["l",.03,.12],["l",.45,-.39],["c",.63,-.54,1.26,-1.17,1.56,-1.59],["c",.3,-.42,.6,-.99,.72,-1.41],["c",.18,-.69,.09,-1.47,-.18,-2.07],["c",-.15,-.3,-.33,-.51,-.6,-.63],["z"],["m",3,-11],["c",.33,-.06,.87,0,1.08,.15],["c",.06,.03,.06,.36,-.03,5.25],["c",-.06,2.85,-.09,5.19,-.09,5.19],["c",0,.03,.12,-.03,.24,-.12],["c",.63,-.42,1.41,-.66,2.19,-.72],["c",.81,-.03,1.47,.21,2.04,.78],["c",.57,.54,.87,1.26,.93,2.04],["c",.03,.57,-.09,1.08,-.36,1.62],["c",-.42,.81,-1.02,1.38,-2.82,2.61],["c",-1.14,.78,-1.44,1.02,-1.8,1.44],["c",-.18,.18,-.39,.39,-.45,.42],["c",-.27,.18,-.57,.15,-.81,-.06],["c",-.06,-.09,-.12,-.18,-.15,-.27],["c",-.03,-.06,-.09,-3.27,-.18,-8.34],["c",-.09,-4.53,-.15,-8.58,-.18,-9.03],["l",0,-.78],["l",.12,-.06],["c",.06,-.03,.18,-.09,.27,-.12],["z"],["m",3.18,11.01],["c",-.21,-.12,-.54,-.15,-.81,-.06],["c",-.54,.15,-.99,.63,-1.17,1.26],["c",-.06,.3,-.12,2.88,-.06,3.87],["c",.03,.42,.03,.81,.06,.9],["l",.03,.12],["l",.45,-.39],["c",.63,-.54,1.26,-1.17,1.56,-1.59],["c",.3,-.42,.6,-.99,.72,-1.41],["c",.18,-.69,.09,-1.47,-.18,-2.07],["c",-.15,-.3,-.33,-.51,-.6,-.63],["z"]],w:12.1,h:18.804},"accidentals.dblsharp":{d:[["M",-.18,-3.96],["c",.06,-.03,.12,-.06,.15,-.06],["c",.09,0,2.76,.27,2.79,.3],["c",.12,.03,.15,.12,.15,.51],["c",.06,.96,.24,1.59,.57,2.1],["c",.06,.09,.15,.21,.18,.24],["l",.09,.06],["l",.09,-.06],["c",.03,-.03,.12,-.15,.18,-.24],["c",.33,-.51,.51,-1.14,.57,-2.1],["c",0,-.39,.03,-.45,.12,-.51],["c",.03,0,.66,-.09,1.44,-.15],["c",1.47,-.15,1.5,-.15,1.56,-.03],["c",.03,.06,0,.42,-.09,1.44],["c",-.09,.72,-.15,1.35,-.15,1.38],["c",0,.03,-.03,.09,-.06,.12],["c",-.06,.06,-.12,.09,-.51,.09],["c",-1.08,.06,-1.8,.3,-2.28,.75],["l",-.12,.09],["l",.09,.09],["c",.12,.15,.39,.33,.63,.45],["c",.42,.18,.96,.27,1.68,.33],["c",.39,0,.45,.03,.51,.09],["c",.03,.03,.06,.09,.06,.12],["c",0,.03,.06,.66,.15,1.38],["c",.09,1.02,.12,1.38,.09,1.44],["c",-.06,.12,-.09,.12,-1.56,-.03],["c",-.78,-.06,-1.41,-.15,-1.44,-.15],["c",-.09,-.06,-.12,-.12,-.12,-.54],["c",-.06,-.93,-.24,-1.56,-.57,-2.07],["c",-.06,-.09,-.15,-.21,-.18,-.24],["l",-.09,-.06],["l",-.09,.06],["c",-.03,.03,-.12,.15,-.18,.24],["c",-.33,.51,-.51,1.14,-.57,2.07],["c",0,.42,-.03,.48,-.12,.54],["c",-.03,0,-.66,.09,-1.44,.15],["c",-1.47,.15,-1.5,.15,-1.56,.03],["c",-.03,-.06,0,-.42,.09,-1.44],["c",.09,-.72,.15,-1.35,.15,-1.38],["c",0,-.03,.03,-.09,.06,-.12],["c",.06,-.06,.12,-.09,.51,-.09],["c",.72,-.06,1.26,-.15,1.68,-.33],["c",.24,-.12,.51,-.3,.63,-.45],["l",.09,-.09],["l",-.12,-.09],["c",-.48,-.45,-1.2,-.69,-2.28,-.75],["c",-.39,0,-.45,-.03,-.51,-.09],["c",-.03,-.03,-.06,-.09,-.06,-.12],["c",0,-.03,-.06,-.63,-.12,-1.38],["c",-.09,-.72,-.15,-1.35,-.15,-1.38],["z"]],w:7.95,h:7.977},"dots.dot":{d:[["M",1.32,-1.68],["c",.09,-.03,.27,-.06,.39,-.06],["c",.96,0,1.74,.78,1.74,1.71],["c",0,.96,-.78,1.74,-1.71,1.74],["c",-.96,0,-1.74,-.78,-1.74,-1.71],["c",0,-.78,.54,-1.5,1.32,-1.68],["z"]],w:3.45,h:3.45},"noteheads.dbl":{d:[["M",-.69,-4.02],["c",.18,-.09,.36,-.09,.54,0],["c",.18,.09,.24,.15,.33,.3],["c",.06,.15,.06,.18,.06,1.41],["l",0,1.23],["l",.12,-.18],["c",.72,-1.26,2.64,-2.31,4.86,-2.64],["c",.81,-.15,1.11,-.15,2.13,-.15],["c",.99,0,1.29,0,2.1,.15],["c",.75,.12,1.38,.27,2.04,.54],["c",1.35,.51,2.34,1.26,2.82,2.1],["l",.12,.18],["l",0,-1.23],["c",0,-1.2,0,-1.26,.06,-1.38],["c",.09,-.18,.15,-.24,.33,-.33],["c",.18,-.09,.36,-.09,.54,0],["c",.18,.09,.24,.15,.33,.3],["l",.06,.15],["l",0,3.54],["l",0,3.54],["l",-.06,.15],["c",-.09,.18,-.15,.24,-.33,.33],["c",-.18,.09,-.36,.09,-.54,0],["c",-.18,-.09,-.24,-.15,-.33,-.33],["c",-.06,-.12,-.06,-.18,-.06,-1.38],["l",0,-1.23],["l",-.12,.18],["c",-.48,.84,-1.47,1.59,-2.82,2.1],["c",-.84,.33,-1.71,.54,-2.85,.66],["c",-.45,.06,-2.16,.06,-2.61,0],["c",-1.14,-.12,-2.01,-.33,-2.85,-.66],["c",-1.35,-.51,-2.34,-1.26,-2.82,-2.1],["l",-.12,-.18],["l",0,1.23],["c",0,1.23,0,1.26,-.06,1.38],["c",-.09,.18,-.15,.24,-.33,.33],["c",-.18,.09,-.36,.09,-.54,0],["c",-.18,-.09,-.24,-.15,-.33,-.33],["l",-.06,-.15],["l",0,-3.54],["c",0,-3.48,0,-3.54,.06,-3.66],["c",.09,-.18,.15,-.24,.33,-.33],["z"],["m",7.71,.63],["c",-.36,-.06,-.9,-.06,-1.14,0],["c",-.3,.03,-.66,.24,-.87,.42],["c",-.6,.54,-.9,1.62,-.75,2.82],["c",.12,.93,.51,1.68,1.11,2.31],["c",.75,.72,1.83,1.2,2.85,1.26],["c",1.05,.06,1.83,-.54,2.1,-1.65],["c",.21,-.9,.12,-1.95,-.24,-2.82],["c",-.36,-.81,-1.08,-1.53,-1.95,-1.95],["c",-.3,-.15,-.78,-.3,-1.11,-.39],["z"]],w:16.83,h:8.145},"noteheads.whole":{d:[["M",6.51,-4.05],["c",.51,-.03,2.01,0,2.52,.03],["c",1.41,.18,2.64,.51,3.72,1.08],["c",1.2,.63,1.95,1.41,2.19,2.31],["c",.09,.33,.09,.9,0,1.23],["c",-.24,.9,-.99,1.68,-2.19,2.31],["c",-1.08,.57,-2.28,.9,-3.75,1.08],["c",-.66,.06,-2.31,.06,-2.97,0],["c",-1.47,-.18,-2.67,-.51,-3.75,-1.08],["c",-1.2,-.63,-1.95,-1.41,-2.19,-2.31],["c",-.09,-.33,-.09,-.9,0,-1.23],["c",.24,-.9,.99,-1.68,2.19,-2.31],["c",1.2,-.63,2.61,-.99,4.23,-1.11],["z"],["m",.57,.66],["c",-.87,-.15,-1.53,0,-2.04,.51],["c",-.15,.15,-.24,.27,-.33,.48],["c",-.24,.51,-.36,1.08,-.33,1.77],["c",.03,.69,.18,1.26,.42,1.77],["c",.6,1.17,1.74,1.98,3.18,2.22],["c",1.11,.21,1.95,-.15,2.34,-.99],["c",.24,-.51,.36,-1.08,.33,-1.8],["c",-.06,-1.11,-.45,-2.04,-1.17,-2.76],["c",-.63,-.63,-1.47,-1.05,-2.4,-1.2],["z"]],w:14.985,h:8.097},"noteheads.half":{d:[["M",7.44,-4.05],["c",.06,-.03,.27,-.03,.48,-.03],["c",1.05,0,1.71,.24,2.1,.81],["c",.42,.6,.45,1.35,.18,2.4],["c",-.42,1.59,-1.14,2.73,-2.16,3.39],["c",-1.41,.93,-3.18,1.44,-5.4,1.53],["c",-1.17,.03,-1.89,-.21,-2.28,-.81],["c",-.42,-.6,-.45,-1.35,-.18,-2.4],["c",.42,-1.59,1.14,-2.73,2.16,-3.39],["c",.63,-.42,1.23,-.72,1.98,-.96],["c",.9,-.3,1.65,-.42,3.12,-.54],["z"],["m",1.29,.87],["c",-.27,-.09,-.63,-.12,-.9,-.03],["c",-.72,.24,-1.53,.69,-3.27,1.8],["c",-2.34,1.5,-3.3,2.25,-3.57,2.79],["c",-.36,.72,-.06,1.5,.66,1.77],["c",.24,.12,.69,.09,.99,0],["c",.84,-.3,1.92,-.93,4.14,-2.37],["c",1.62,-1.08,2.37,-1.71,2.61,-2.19],["c",.36,-.72,.06,-1.5,-.66,-1.77],["z"]],w:10.37,h:8.132},"noteheads.quarter":{d:[["M",6.09,-4.05],["c",.36,-.03,1.2,0,1.53,.06],["c",1.17,.24,1.89,.84,2.16,1.83],["c",.06,.18,.06,.3,.06,.66],["c",0,.45,0,.63,-.15,1.08],["c",-.66,2.04,-3.06,3.93,-5.52,4.38],["c",-.54,.09,-1.44,.09,-1.83,.03],["c",-1.23,-.27,-1.98,-.87,-2.25,-1.86],["c",-.06,-.18,-.06,-.3,-.06,-.66],["c",0,-.45,0,-.63,.15,-1.08],["c",.24,-.78,.75,-1.53,1.44,-2.22],["c",1.2,-1.2,2.85,-2.01,4.47,-2.22],["z"]],w:9.81,h:8.094},"noteheads.slash.nostem":{d:[["M",9.3,-7.77],["c",.06,-.06,.18,-.06,1.71,-.06],["l",1.65,0],["l",.09,.09],["c",.06,.06,.06,.09,.06,.15],["c",-.03,.12,-9.21,15.24,-9.3,15.33],["c",-.06,.06,-.18,.06,-1.71,.06],["l",-1.65,0],["l",-.09,-.09],["c",-.06,-.06,-.06,-.09,-.06,-.15],["c",.03,-.12,9.21,-15.24,9.3,-15.33],["z"]],w:12.81,h:15.63},"noteheads.indeterminate":{d:[["M",.78,-4.05],["c",.12,-.03,.24,-.03,.36,.03],["c",.03,.03,.93,.72,1.95,1.56],["l",1.86,1.5],["l",1.86,-1.5],["c",1.02,-.84,1.92,-1.53,1.95,-1.56],["c",.21,-.12,.33,-.09,.75,.24],["c",.3,.27,.36,.36,.36,.54],["c",0,.03,-.03,.12,-.06,.18],["c",-.03,.06,-.9,.75,-1.89,1.56],["l",-1.8,1.47],["c",0,.03,.81,.69,1.8,1.5],["c",.99,.81,1.86,1.5,1.89,1.56],["c",.03,.06,.06,.15,.06,.18],["c",0,.18,-.06,.27,-.36,.54],["c",-.42,.33,-.54,.36,-.75,.24],["c",-.03,-.03,-.93,-.72,-1.95,-1.56],["l",-1.86,-1.5],["l",-1.86,1.5],["c",-1.02,.84,-1.92,1.53,-1.95,1.56],["c",-.21,.12,-.33,.09,-.75,-.24],["c",-.3,-.27,-.36,-.36,-.36,-.54],["c",0,-.03,.03,-.12,.06,-.18],["c",.03,-.06,.9,-.75,1.89,-1.56],["l",1.8,-1.47],["c",0,-.03,-.81,-.69,-1.8,-1.5],["c",-.99,-.81,-1.86,-1.5,-1.89,-1.56],["c",-.06,-.12,-.09,-.21,-.03,-.36],["c",.03,-.09,.57,-.57,.72,-.63],["z"]],w:9.843,h:8.139},"scripts.ufermata":{d:[["M",-.75,-10.77],["c",.12,0,.45,-.03,.69,-.03],["c",2.91,-.03,5.55,1.53,7.41,4.35],["c",1.17,1.71,1.95,3.72,2.43,6.03],["c",.12,.51,.12,.57,.03,.69],["c",-.12,.21,-.48,.27,-.69,.12],["c",-.12,-.09,-.18,-.24,-.27,-.69],["c",-.78,-3.63,-3.42,-6.54,-6.78,-7.38],["c",-.78,-.21,-1.2,-.24,-2.07,-.24],["c",-.63,0,-.84,0,-1.2,.06],["c",-1.83,.27,-3.42,1.08,-4.8,2.37],["c",-1.41,1.35,-2.4,3.21,-2.85,5.19],["c",-.09,.45,-.15,.6,-.27,.69],["c",-.21,.15,-.57,.09,-.69,-.12],["c",-.09,-.12,-.09,-.18,.03,-.69],["c",.33,-1.62,.78,-3,1.47,-4.38],["c",1.77,-3.54,4.44,-5.67,7.56,-5.97],["z"],["m",.33,7.47],["c",1.38,-.3,2.58,.9,2.31,2.25],["c",-.15,.72,-.78,1.35,-1.47,1.5],["c",-1.38,.27,-2.58,-.93,-2.31,-2.31],["c",.15,-.69,.78,-1.29,1.47,-1.44],["z"]],w:19.748,h:11.289},"scripts.dfermata":{d:[["M",-9.63,-.42],["c",.15,-.09,.36,-.06,.51,.03],["c",.12,.09,.18,.24,.27,.66],["c",.78,3.66,3.42,6.57,6.78,7.41],["c",.78,.21,1.2,.24,2.07,.24],["c",.63,0,.84,0,1.2,-.06],["c",1.83,-.27,3.42,-1.08,4.8,-2.37],["c",1.41,-1.35,2.4,-3.21,2.85,-5.22],["c",.09,-.42,.15,-.57,.27,-.66],["c",.21,-.15,.57,-.09,.69,.12],["c",.09,.12,.09,.18,-.03,.69],["c",-.33,1.62,-.78,3,-1.47,4.38],["c",-1.92,3.84,-4.89,6,-8.31,6],["c",-3.42,0,-6.39,-2.16,-8.31,-6],["c",-.48,-.96,-.84,-1.92,-1.14,-2.97],["c",-.18,-.69,-.42,-1.74,-.42,-1.92],["c",0,-.12,.09,-.27,.24,-.33],["z"],["m",9.21,0],["c",1.2,-.27,2.34,.63,2.34,1.86],["c",0,.9,-.66,1.68,-1.5,1.89],["c",-1.38,.27,-2.58,-.93,-2.31,-2.31],["c",.15,-.69,.78,-1.29,1.47,-1.44],["z"]],w:19.744,h:11.274},"scripts.sforzato":{d:[["M",-6.45,-3.69],["c",.06,-.03,.15,-.06,.18,-.06],["c",.06,0,2.85,.72,6.24,1.59],["l",6.33,1.65],["c",.33,.06,.45,.21,.45,.51],["c",0,.3,-.12,.45,-.45,.51],["l",-6.33,1.65],["c",-3.39,.87,-6.18,1.59,-6.21,1.59],["c",-.21,0,-.48,-.24,-.51,-.45],["c",0,-.15,.06,-.36,.18,-.45],["c",.09,-.06,.87,-.27,3.84,-1.05],["c",2.04,-.54,3.84,-.99,4.02,-1.02],["c",.15,-.06,1.14,-.24,2.22,-.42],["c",1.05,-.18,1.92,-.36,1.92,-.36],["c",0,0,-.87,-.18,-1.92,-.36],["c",-1.08,-.18,-2.07,-.36,-2.22,-.42],["c",-.18,-.03,-1.98,-.48,-4.02,-1.02],["c",-2.97,-.78,-3.75,-.99,-3.84,-1.05],["c",-.12,-.09,-.18,-.3,-.18,-.45],["c",.03,-.15,.15,-.3,.3,-.39],["z"]],w:13.5,h:7.5},"scripts.staccato":{d:[["M",-.36,-1.47],["c",.93,-.21,1.86,.51,1.86,1.47],["c",0,.93,-.87,1.65,-1.8,1.47],["c",-.54,-.12,-1.02,-.57,-1.14,-1.08],["c",-.21,-.81,.27,-1.65,1.08,-1.86],["z"]],w:2.989,h:3.004},"scripts.tenuto":{d:[["M",-4.2,-.48],["l",.12,-.06],["l",4.08,0],["l",4.08,0],["l",.12,.06],["c",.39,.21,.39,.75,0,.96],["l",-.12,.06],["l",-4.08,0],["l",-4.08,0],["l",-.12,-.06],["c",-.39,-.21,-.39,-.75,0,-.96],["z"]],w:8.985,h:1.08},"scripts.umarcato":{d:[["M",-.15,-8.19],["c",.15,-.12,.36,-.03,.45,.15],["c",.21,.42,3.45,7.65,3.45,7.71],["c",0,.12,-.12,.27,-.21,.3],["c",-.03,.03,-.51,.03,-1.14,.03],["c",-1.05,0,-1.08,0,-1.17,-.06],["c",-.09,-.06,-.24,-.36,-1.17,-2.4],["c",-.57,-1.29,-1.05,-2.34,-1.08,-2.34],["c",0,-.03,-.51,1.02,-1.08,2.34],["c",-.93,2.07,-1.08,2.34,-1.14,2.4],["c",-.06,.03,-.15,.06,-.18,.06],["c",-.15,0,-.33,-.18,-.33,-.33],["c",0,-.06,3.24,-7.32,3.45,-7.71],["c",.03,-.06,.09,-.15,.15,-.15],["z"]],w:7.5,h:8.245},"scripts.dmarcato":{d:[["M",-3.57,.03],["c",.03,0,.57,-.03,1.17,-.03],["c",1.05,0,1.08,0,1.17,.06],["c",.09,.06,.24,.36,1.17,2.4],["c",.57,1.29,1.05,2.34,1.08,2.34],["c",0,.03,.51,-1.02,1.08,-2.34],["c",.93,-2.07,1.08,-2.34,1.14,-2.4],["c",.06,-.03,.15,-.06,.18,-.06],["c",.15,0,.33,.18,.33,.33],["c",0,.09,-3.45,7.74,-3.54,7.83],["c",-.12,.12,-.3,.12,-.42,0],["c",-.09,-.09,-3.54,-7.74,-3.54,-7.83],["c",0,-.09,.12,-.27,.18,-.3],["z"]],w:7.5,h:8.25},"scripts.stopped":{d:[["M",-.27,-4.08],["c",.18,-.09,.36,-.09,.54,0],["c",.18,.09,.24,.15,.33,.3],["l",.06,.15],["l",0,1.5],["l",0,1.47],["l",1.47,0],["l",1.5,0],["l",.15,.06],["c",.15,.09,.21,.15,.3,.33],["c",.09,.18,.09,.36,0,.54],["c",-.09,.18,-.15,.24,-.33,.33],["c",-.12,.06,-.18,.06,-1.62,.06],["l",-1.47,0],["l",0,1.47],["l",0,1.47],["l",-.06,.15],["c",-.09,.18,-.15,.24,-.33,.33],["c",-.18,.09,-.36,.09,-.54,0],["c",-.18,-.09,-.24,-.15,-.33,-.33],["l",-.06,-.15],["l",0,-1.47],["l",0,-1.47],["l",-1.47,0],["c",-1.44,0,-1.5,0,-1.62,-.06],["c",-.18,-.09,-.24,-.15,-.33,-.33],["c",-.09,-.18,-.09,-.36,0,-.54],["c",.09,-.18,.15,-.24,.33,-.33],["l",.15,-.06],["l",1.47,0],["l",1.47,0],["l",0,-1.47],["c",0,-1.44,0,-1.5,.06,-1.62],["c",.09,-.18,.15,-.24,.33,-.33],["z"]],w:8.295,h:8.295},"scripts.upbow":{d:[["M",-4.65,-15.54],["c",.12,-.09,.36,-.06,.48,.03],["c",.03,.03,.09,.09,.12,.15],["c",.03,.06,.66,2.13,1.41,4.62],["c",1.35,4.41,1.38,4.56,2.01,6.96],["l",.63,2.46],["l",.63,-2.46],["c",.63,-2.4,.66,-2.55,2.01,-6.96],["c",.75,-2.49,1.38,-4.56,1.41,-4.62],["c",.06,-.15,.18,-.21,.36,-.24],["c",.15,0,.3,.06,.39,.18],["c",.15,.21,.24,-.18,-2.1,7.56],["c",-1.2,3.96,-2.22,7.32,-2.25,7.41],["c",0,.12,-.06,.27,-.09,.3],["c",-.12,.21,-.6,.21,-.72,0],["c",-.03,-.03,-.09,-.18,-.09,-.3],["c",-.03,-.09,-1.05,-3.45,-2.25,-7.41],["c",-2.34,-7.74,-2.25,-7.35,-2.1,-7.56],["c",.03,-.03,.09,-.09,.15,-.12],["z"]],w:9.73,h:15.608},"scripts.downbow":{d:[["M",-5.55,-9.93],["l",.09,-.06],["l",5.46,0],["l",5.46,0],["l",.09,.06],["l",.06,.09],["l",0,4.77],["c",0,5.28,0,4.89,-.18,5.01],["c",-.18,.12,-.42,.06,-.54,-.12],["c",-.06,-.09,-.06,-.18,-.06,-2.97],["l",0,-2.85],["l",-4.83,0],["l",-4.83,0],["l",0,2.85],["c",0,2.79,0,2.88,-.06,2.97],["c",-.15,.24,-.51,.24,-.66,0],["c",-.06,-.09,-.06,-.21,-.06,-4.89],["l",0,-4.77],["z"]],w:11.22,h:9.992},"scripts.turn":{d:[["M",-4.77,-3.9],["c",.36,-.06,1.05,-.06,1.44,.03],["c",.78,.15,1.5,.51,2.34,1.14],["c",.6,.45,1.05,.87,2.22,2.01],["c",1.11,1.08,1.62,1.5,2.22,1.86],["c",.6,.36,1.32,.57,1.92,.57],["c",.9,0,1.71,-.57,1.89,-1.35],["c",.24,-.93,-.39,-1.89,-1.35,-2.1],["l",-.15,-.06],["l",-.09,.15],["c",-.03,.09,-.15,.24,-.24,.33],["c",-.72,.72,-2.04,.54,-2.49,-.36],["c",-.48,-.93,.03,-1.86,1.17,-2.19],["c",.3,-.09,1.02,-.09,1.35,0],["c",.99,.27,1.74,.87,2.25,1.83],["c",.69,1.41,.63,3,-.21,4.26],["c",-.21,.3,-.69,.81,-.99,1.02],["c",-.3,.21,-.84,.45,-1.17,.54],["c",-1.23,.36,-2.49,.15,-3.72,-.6],["c",-.75,-.48,-1.41,-1.02,-2.85,-2.46],["c",-1.11,-1.08,-1.62,-1.5,-2.22,-1.86],["c",-.6,-.36,-1.32,-.57,-1.92,-.57],["c",-.9,0,-1.71,.57,-1.89,1.35],["c",-.24,.93,.39,1.89,1.35,2.1],["l",.15,.06],["l",.09,-.15],["c",.03,-.09,.15,-.24,.24,-.33],["c",.72,-.72,2.04,-.54,2.49,.36],["c",.48,.93,-.03,1.86,-1.17,2.19],["c",-.3,.09,-1.02,.09,-1.35,0],["c",-.99,-.27,-1.74,-.87,-2.25,-1.83],["c",-.69,-1.41,-.63,-3,.21,-4.26],["c",.21,-.3,.69,-.81,.99,-1.02],["c",.48,-.33,1.11,-.57,1.74,-.66],["z"]],w:16.366,h:7.893},"scripts.trill":{d:[["M",-.51,-16.02],["c",.12,-.09,.21,-.18,.21,-.18],["l",-.81,4.02],["l",-.81,4.02],["c",.03,0,.51,-.27,1.08,-.6],["c",.6,-.3,1.14,-.63,1.26,-.66],["c",1.14,-.54,2.31,-.6,3.09,-.18],["c",.27,.15,.54,.36,.6,.51],["l",.06,.12],["l",.21,-.21],["c",.9,-.81,2.22,-.99,3.12,-.42],["c",.6,.42,.9,1.14,.78,2.07],["c",-.15,1.29,-1.05,2.31,-1.95,2.25],["c",-.48,-.03,-.78,-.3,-.96,-.81],["c",-.09,-.27,-.09,-.9,-.03,-1.2],["c",.21,-.75,.81,-1.23,1.59,-1.32],["l",.24,-.03],["l",-.09,-.12],["c",-.51,-.66,-1.62,-.63,-2.31,.03],["c",-.39,.42,-.3,.09,-1.23,4.77],["l",-.81,4.14],["c",-.03,0,-.12,-.03,-.21,-.09],["c",-.33,-.15,-.54,-.18,-.99,-.18],["c",-.42,0,-.66,.03,-1.05,.18],["c",-.12,.06,-.21,.09,-.21,.09],["c",0,-.03,.36,-1.86,.81,-4.11],["c",.9,-4.47,.87,-4.26,.69,-4.53],["c",-.21,-.36,-.66,-.51,-1.17,-.36],["c",-.15,.06,-2.22,1.14,-2.58,1.38],["c",-.12,.09,-.12,.09,-.21,.6],["l",-.09,.51],["l",.21,.24],["c",.63,.75,1.02,1.47,1.2,2.19],["c",.06,.27,.06,.36,.06,.81],["c",0,.42,0,.54,-.06,.78],["c",-.15,.54,-.33,.93,-.63,1.35],["c",-.18,.24,-.57,.63,-.81,.78],["c",-.24,.15,-.63,.36,-.84,.42],["c",-.27,.06,-.66,.06,-.87,.03],["c",-.81,-.18,-1.32,-1.05,-1.38,-2.46],["c",-.03,-.6,.03,-.99,.33,-2.46],["c",.21,-1.08,.24,-1.32,.21,-1.29],["c",-1.2,.48,-2.4,.75,-3.21,.72],["c",-.69,-.06,-1.17,-.3,-1.41,-.72],["c",-.39,-.75,-.12,-1.8,.66,-2.46],["c",.24,-.18,.69,-.42,1.02,-.51],["c",.69,-.18,1.53,-.15,2.31,.09],["c",.3,.09,.75,.3,.99,.45],["c",.12,.09,.15,.09,.15,.03],["c",.03,-.03,.33,-1.59,.72,-3.45],["c",.36,-1.86,.66,-3.42,.69,-3.45],["c",0,-.03,.03,-.03,.21,.03],["c",.21,.06,.27,.06,.48,.06],["c",.42,-.03,.78,-.18,1.26,-.48],["c",.15,-.12,.36,-.27,.48,-.39],["z"],["m",-5.73,7.68],["c",-.27,-.03,-.96,-.06,-1.2,-.03],["c",-.81,.12,-1.35,.57,-1.5,1.2],["c",-.18,.66,.12,1.14,.75,1.29],["c",.66,.12,1.92,-.12,3.18,-.66],["l",.33,-.15],["l",.09,-.39],["c",.06,-.21,.09,-.42,.09,-.45],["c",0,-.03,-.45,-.3,-.75,-.45],["c",-.27,-.15,-.66,-.27,-.99,-.36],["z"],["m",4.29,3.63],["c",-.24,-.39,-.51,-.75,-.51,-.69],["c",-.06,.12,-.39,1.92,-.45,2.28],["c",-.09,.54,-.12,1.14,-.06,1.38],["c",.06,.42,.21,.6,.51,.57],["c",.39,-.06,.75,-.48,.93,-1.14],["c",.09,-.33,.09,-1.05,0,-1.38],["c",-.09,-.39,-.24,-.69,-.42,-1.02],["z"]],w:17.963,h:16.49},"scripts.segno":{d:[["M",-3.72,-11.22],["c",.78,-.09,1.59,.03,2.31,.42],["c",1.2,.6,2.01,1.71,2.31,3.09],["c",.09,.42,.09,1.2,.03,1.5],["c",-.15,.45,-.39,.81,-.66,.93],["c",-.33,.18,-.84,.21,-1.23,.15],["c",-.81,-.18,-1.32,-.93,-1.26,-1.89],["c",.03,-.36,.09,-.57,.24,-.9],["c",.15,-.33,.45,-.6,.72,-.75],["c",.12,-.06,.18,-.09,.18,-.12],["c",0,-.03,-.03,-.15,-.09,-.24],["c",-.18,-.45,-.54,-.87,-.96,-1.08],["c",-1.11,-.57,-2.34,-.18,-2.88,.9],["c",-.24,.51,-.33,1.11,-.24,1.83],["c",.27,1.92,1.5,3.54,3.93,5.13],["c",.48,.33,1.26,.78,1.29,.78],["c",.03,0,1.35,-2.19,2.94,-4.89],["l",2.88,-4.89],["l",.84,0],["l",.87,0],["l",-.03,.06],["c",-.15,.21,-6.15,10.41,-6.15,10.44],["c",0,0,.21,.15,.48,.27],["c",2.61,1.47,4.35,3.03,5.13,4.65],["c",1.14,2.34,.51,5.07,-1.44,6.39],["c",-.66,.42,-1.32,.63,-2.13,.69],["c",-2.01,.09,-3.81,-1.41,-4.26,-3.54],["c",-.09,-.42,-.09,-1.2,-.03,-1.5],["c",.15,-.45,.39,-.81,.66,-.93],["c",.33,-.18,.84,-.21,1.23,-.15],["c",.81,.18,1.32,.93,1.26,1.89],["c",-.03,.36,-.09,.57,-.24,.9],["c",-.15,.33,-.45,.6,-.72,.75],["c",-.12,.06,-.18,.09,-.18,.12],["c",0,.03,.03,.15,.09,.24],["c",.18,.45,.54,.87,.96,1.08],["c",1.11,.57,2.34,.18,2.88,-.9],["c",.24,-.51,.33,-1.11,.24,-1.83],["c",-.27,-1.92,-1.5,-3.54,-3.93,-5.13],["c",-.48,-.33,-1.26,-.78,-1.29,-.78],["c",-.03,0,-1.35,2.19,-2.91,4.89],["l",-2.88,4.89],["l",-.87,0],["l",-.87,0],["l",.03,-.06],["c",.15,-.21,6.15,-10.41,6.15,-10.44],["c",0,0,-.21,-.15,-.48,-.3],["c",-2.61,-1.44,-4.35,-3,-5.13,-4.62],["c",-.9,-1.89,-.72,-4.02,.48,-5.52],["c",.69,-.84,1.68,-1.41,2.73,-1.53],["z"],["m",8.76,9.09],["c",.03,-.03,.15,-.03,.27,-.03],["c",.33,.03,.57,.18,.72,.48],["c",.09,.18,.09,.57,0,.75],["c",-.09,.18,-.21,.3,-.36,.39],["c",-.15,.06,-.21,.06,-.39,.06],["c",-.21,0,-.27,0,-.39,-.06],["c",-.3,-.15,-.48,-.45,-.48,-.75],["c",0,-.39,.24,-.72,.63,-.84],["z"],["m",-10.53,2.61],["c",.03,-.03,.15,-.03,.27,-.03],["c",.33,.03,.57,.18,.72,.48],["c",.09,.18,.09,.57,0,.75],["c",-.09,.18,-.21,.3,-.36,.39],["c",-.15,.06,-.21,.06,-.39,.06],["c",-.21,0,-.27,0,-.39,-.06],["c",-.3,-.15,-.48,-.45,-.48,-.75],["c",0,-.39,.24,-.72,.63,-.84],["z"]],w:15,h:22.504},"scripts.coda":{d:[["M",-.21,-10.47],["c",.18,-.12,.42,-.06,.54,.12],["c",.06,.09,.06,.18,.06,1.5],["l",0,1.38],["l",.18,0],["c",.39,.06,.96,.24,1.38,.48],["c",1.68,.93,2.82,3.24,3.03,6.12],["c",.03,.24,.03,.45,.03,.45],["c",0,.03,.6,.03,1.35,.03],["c",1.5,0,1.47,0,1.59,.18],["c",.09,.12,.09,.3,0,.42],["c",-.12,.18,-.09,.18,-1.59,.18],["c",-.75,0,-1.35,0,-1.35,.03],["c",0,0,0,.21,-.03,.42],["c",-.24,3.15,-1.53,5.58,-3.45,6.36],["c",-.27,.12,-.72,.24,-.96,.27],["l",-.18,0],["l",0,1.38],["c",0,1.32,0,1.41,-.06,1.5],["c",-.15,.24,-.51,.24,-.66,0],["c",-.06,-.09,-.06,-.18,-.06,-1.5],["l",0,-1.38],["l",-.18,0],["c",-.39,-.06,-.96,-.24,-1.38,-.48],["c",-1.68,-.93,-2.82,-3.24,-3.03,-6.15],["c",-.03,-.21,-.03,-.42,-.03,-.42],["c",0,-.03,-.6,-.03,-1.35,-.03],["c",-1.5,0,-1.47,0,-1.59,-.18],["c",-.09,-.12,-.09,-.3,0,-.42],["c",.12,-.18,.09,-.18,1.59,-.18],["c",.75,0,1.35,0,1.35,-.03],["c",0,0,0,-.21,.03,-.45],["c",.24,-3.12,1.53,-5.55,3.45,-6.33],["c",.27,-.12,.72,-.24,.96,-.27],["l",.18,0],["l",0,-1.38],["c",0,-1.53,0,-1.5,.18,-1.62],["z"],["m",-.18,6.93],["c",0,-2.97,0,-3.15,-.06,-3.15],["c",-.09,0,-.51,.15,-.66,.21],["c",-.87,.51,-1.38,1.62,-1.56,3.51],["c",-.06,.54,-.12,1.59,-.12,2.16],["l",0,.42],["l",1.2,0],["l",1.2,0],["l",0,-3.15],["z"],["m",1.17,-3.06],["c",-.09,-.03,-.21,-.06,-.27,-.09],["l",-.12,0],["l",0,3.15],["l",0,3.15],["l",1.2,0],["l",1.2,0],["l",0,-.81],["c",-.06,-2.4,-.33,-3.69,-.93,-4.59],["c",-.27,-.39,-.66,-.69,-1.08,-.81],["z"],["m",-1.17,10.14],["l",0,-3.15],["l",-1.2,0],["l",-1.2,0],["l",0,.81],["c",.03,.96,.06,1.47,.15,2.13],["c",.24,2.04,.96,3.12,2.13,3.36],["l",.12,0],["l",0,-3.15],["z"],["m",3.18,-2.34],["l",0,-.81],["l",-1.2,0],["l",-1.2,0],["l",0,3.15],["l",0,3.15],["l",.12,0],["c",1.17,-.24,1.89,-1.32,2.13,-3.36],["c",.09,-.66,.12,-1.17,.15,-2.13],["z"]],w:16.035,h:21.062},"scripts.comma":{d:[["M",1.14,-4.62],["c",.3,-.12,.69,-.03,.93,.15],["c",.12,.12,.36,.45,.51,.78],["c",.9,1.77,.54,4.05,-1.08,6.75],["c",-.36,.63,-.87,1.38,-.96,1.44],["c",-.18,.12,-.42,.06,-.54,-.12],["c",-.09,-.18,-.09,-.3,.12,-.6],["c",.96,-1.44,1.44,-2.97,1.38,-4.35],["c",-.06,-.93,-.3,-1.68,-.78,-2.46],["c",-.27,-.39,-.33,-.63,-.24,-.96],["c",.09,-.27,.36,-.54,.66,-.63],["z"]],w:3.042,h:9.237},"scripts.roll":{d:[["M",1.95,-6],["c",.21,-.09,.36,-.09,.57,0],["c",.39,.15,.63,.39,1.47,1.35],["c",.66,.75,.78,.87,1.08,1.05],["c",.75,.45,1.65,.42,2.4,-.06],["c",.12,-.09,.27,-.27,.54,-.6],["c",.42,-.54,.51,-.63,.69,-.63],["c",.09,0,.3,.12,.36,.21],["c",.09,.12,.12,.3,.03,.42],["c",-.06,.12,-3.15,3.9,-3.3,4.08],["c",-.06,.06,-.18,.12,-.27,.18],["c",-.27,.12,-.6,.06,-.99,-.27],["c",-.27,-.21,-.42,-.39,-1.08,-1.14],["c",-.63,-.72,-.81,-.9,-1.17,-1.08],["c",-.36,-.18,-.57,-.21,-.99,-.21],["c",-.39,0,-.63,.03,-.93,.18],["c",-.36,.15,-.51,.27,-.9,.81],["c",-.24,.27,-.45,.51,-.48,.54],["c",-.12,.09,-.27,.06,-.39,0],["c",-.24,-.15,-.33,-.39,-.21,-.6],["c",.09,-.12,3.18,-3.87,3.33,-4.02],["c",.06,-.06,.18,-.15,.24,-.21],["z"]],w:10.817,h:6.125},"scripts.prall":{d:[["M",-4.38,-3.69],["c",.06,-.03,.18,-.06,.24,-.06],["c",.3,0,.27,-.03,1.89,1.95],["l",1.53,1.83],["c",.03,0,.57,-.84,1.23,-1.83],["c",1.14,-1.68,1.23,-1.83,1.35,-1.89],["c",.06,-.03,.18,-.06,.24,-.06],["c",.3,0,.27,-.03,1.89,1.95],["l",1.53,1.83],["l",.48,-.69],["c",.51,-.78,.54,-.84,.69,-.9],["c",.42,-.18,.87,.15,.81,.6],["c",-.03,.12,-.3,.51,-1.5,2.37],["c",-1.38,2.07,-1.5,2.22,-1.62,2.28],["c",-.06,.03,-.18,.06,-.24,.06],["c",-.3,0,-.27,.03,-1.89,-1.95],["l",-1.53,-1.83],["c",-.03,0,-.57,.84,-1.23,1.83],["c",-1.14,1.68,-1.23,1.83,-1.35,1.89],["c",-.06,.03,-.18,.06,-.24,.06],["c",-.3,0,-.27,.03,-1.89,-1.95],["l",-1.53,-1.83],["l",-.48,.69],["c",-.51,.78,-.54,.84,-.69,.9],["c",-.42,.18,-.87,-.15,-.81,-.6],["c",.03,-.12,.3,-.51,1.5,-2.37],["c",1.38,-2.07,1.5,-2.22,1.62,-2.28],["z"]],w:15.011,h:7.5},"scripts.arpeggio":{d:[["M",1.5,0],["c",1.5,2,1.5,3,1.5,3],["s",0,1,-2,1.5],["s",-.5,3,1,5.5],["l",1.5,0],["s",-1.75,-2,-1.9,-3.25],["s",2.15,-.6,2.95,-1.6],["s",.45,-1,.5,-1.25],["s",0,-1,-2,-3.9],["l",-1.5,0],["z"]],w:5,h:10},"scripts.mordent":{d:[["M",-.21,-4.95],["c",.27,-.15,.63,0,.75,.27],["c",.06,.12,.06,.24,.06,1.44],["l",0,1.29],["l",.57,-.84],["c",.51,-.75,.57,-.84,.69,-.9],["c",.06,-.03,.18,-.06,.24,-.06],["c",.3,0,.27,-.03,1.89,1.95],["l",1.53,1.83],["l",.48,-.69],["c",.51,-.78,.54,-.84,.69,-.9],["c",.42,-.18,.87,.15,.81,.6],["c",-.03,.12,-.3,.51,-1.5,2.37],["c",-1.38,2.07,-1.5,2.22,-1.62,2.28],["c",-.06,.03,-.18,.06,-.24,.06],["c",-.3,0,-.27,.03,-1.83,-1.89],["c",-.81,-.99,-1.5,-1.8,-1.53,-1.86],["c",-.06,-.03,-.06,-.03,-.12,.03],["c",-.06,.06,-.06,.15,-.06,2.28],["c",0,1.95,0,2.25,-.06,2.34],["c",-.18,.45,-.81,.48,-1.05,.03],["c",-.03,-.06,-.06,-.24,-.06,-1.41],["l",0,-1.35],["l",-.57,.84],["c",-.54,.78,-.6,.87,-.72,.93],["c",-.06,.03,-.18,.06,-.24,.06],["c",-.3,0,-.27,.03,-1.89,-1.95],["l",-1.53,-1.83],["l",-.48,.69],["c",-.51,.78,-.54,.84,-.69,.9],["c",-.42,.18,-.87,-.15,-.81,-.6],["c",.03,-.12,.3,-.51,1.5,-2.37],["c",1.38,-2.07,1.5,-2.22,1.62,-2.28],["c",.06,-.03,.18,-.06,.24,-.06],["c",.3,0,.27,-.03,1.89,1.95],["l",1.53,1.83],["c",.03,0,.06,-.06,.09,-.09],["c",.06,-.12,.06,-.15,.06,-2.28],["c",0,-1.92,0,-2.22,.06,-2.31],["c",.06,-.15,.15,-.24,.3,-.3],["z"]],w:15.011,h:10.012},"flags.u8th":{d:[["M",-.42,3.75],["l",0,-3.75],["l",.21,0],["l",.21,0],["l",0,.18],["c",0,.3,.06,.84,.12,1.23],["c",.24,1.53,.9,3.12,2.13,5.16],["l",.99,1.59],["c",.87,1.44,1.38,2.34,1.77,3.09],["c",.81,1.68,1.2,3.06,1.26,4.53],["c",.03,1.53,-.21,3.27,-.75,5.01],["c",-.21,.69,-.51,1.5,-.6,1.59],["c",-.09,.12,-.27,.21,-.42,.21],["c",-.15,0,-.42,-.12,-.51,-.21],["c",-.15,-.18,-.18,-.42,-.09,-.66],["c",.15,-.33,.45,-1.2,.57,-1.62],["c",.42,-1.38,.6,-2.58,.6,-3.9],["c",0,-.66,0,-.81,-.06,-1.11],["c",-.39,-2.07,-1.8,-4.26,-4.59,-7.14],["l",-.42,-.45],["l",-.21,0],["l",-.21,0],["l",0,-3.75],["z"]],w:6.692,h:22.59},"flags.u16th":{d:[["M",-.42,7.5],["l",0,-7.5],["l",.21,0],["l",.21,0],["l",0,.39],["c",.06,1.08,.39,2.19,.99,3.39],["c",.45,.9,.87,1.59,1.95,3.12],["c",1.29,1.86,1.77,2.64,2.22,3.57],["c",.45,.93,.72,1.8,.87,2.64],["c",.06,.51,.06,1.5,0,1.92],["c",-.12,.6,-.3,1.2,-.54,1.71],["l",-.09,.24],["l",.18,.45],["c",.51,1.2,.72,2.22,.69,3.42],["c",-.06,1.53,-.39,3.03,-.99,4.53],["c",-.3,.75,-.36,.81,-.57,.9],["c",-.15,.09,-.33,.06,-.48,0],["c",-.18,-.09,-.27,-.18,-.33,-.33],["c",-.09,-.18,-.06,-.3,.12,-.75],["c",.66,-1.41,1.02,-2.88,1.08,-4.32],["c",0,-.6,-.03,-1.05,-.18,-1.59],["c",-.3,-1.2,-.99,-2.4,-2.25,-3.87],["c",-.42,-.48,-1.53,-1.62,-2.19,-2.22],["l",-.45,-.42],["l",-.03,1.11],["l",0,1.11],["l",-.21,0],["l",-.21,0],["l",0,-7.5],["z"],["m",1.65,.09],["c",-.3,-.3,-.69,-.72,-.9,-.87],["l",-.33,-.33],["l",0,.15],["c",0,.3,.06,.81,.15,1.26],["c",.27,1.29,.87,2.61,2.04,4.29],["c",.15,.24,.6,.87,.96,1.38],["l",1.08,1.53],["l",.42,.63],["c",.03,0,.12,-.36,.21,-.72],["c",.06,-.33,.06,-1.2,0,-1.62],["c",-.33,-1.71,-1.44,-3.48,-3.63,-5.7],["z"]],w:6.693,h:26.337},"flags.u32nd":{d:[["M",-.42,11.25],["l",0,-11.25],["l",.21,0],["l",.21,0],["l",0,.36],["c",.09,1.68,.69,3.27,2.07,5.46],["l",.87,1.35],["c",1.02,1.62,1.47,2.37,1.86,3.18],["c",.48,1.02,.78,1.92,.93,2.88],["c",.06,.48,.06,1.5,0,1.89],["c",-.09,.42,-.21,.87,-.36,1.26],["l",-.12,.3],["l",.15,.39],["c",.69,1.56,.84,2.88,.54,4.38],["c",-.09,.45,-.27,1.08,-.45,1.47],["l",-.12,.24],["l",.18,.36],["c",.33,.72,.57,1.56,.69,2.34],["c",.12,1.02,-.06,2.52,-.42,3.84],["c",-.27,.93,-.75,2.13,-.93,2.31],["c",-.18,.15,-.45,.18,-.66,.09],["c",-.18,-.09,-.27,-.18,-.33,-.33],["c",-.09,-.18,-.06,-.3,.06,-.6],["c",.21,-.36,.42,-.9,.57,-1.38],["c",.51,-1.41,.69,-3.06,.48,-4.08],["c",-.15,-.81,-.57,-1.68,-1.2,-2.55],["c",-.72,-.99,-1.83,-2.13,-3.3,-3.33],["l",-.48,-.42],["l",-.03,1.53],["l",0,1.56],["l",-.21,0],["l",-.21,0],["l",0,-11.25],["z"],["m",1.26,-3.96],["c",-.27,-.3,-.54,-.6,-.66,-.72],["l",-.18,-.21],["l",0,.42],["c",.06,.87,.24,1.74,.66,2.67],["c",.36,.87,.96,1.86,1.92,3.18],["c",.21,.33,.63,.87,.87,1.23],["c",.27,.39,.6,.84,.75,1.08],["l",.27,.39],["l",.03,-.12],["c",.12,-.45,.15,-1.05,.09,-1.59],["c",-.27,-1.86,-1.38,-3.78,-3.75,-6.33],["z"],["m",-.27,6.09],["c",-.27,-.21,-.48,-.42,-.51,-.45],["c",-.06,-.03,-.06,-.03,-.06,.21],["c",0,.9,.3,2.04,.81,3.09],["c",.48,1.02,.96,1.77,2.37,3.63],["c",.6,.78,1.05,1.44,1.29,1.77],["c",.06,.12,.15,.21,.15,.18],["c",.03,-.03,.18,-.57,.24,-.87],["c",.06,-.45,.06,-1.32,-.03,-1.74],["c",-.09,-.48,-.24,-.9,-.51,-1.44],["c",-.66,-1.35,-1.83,-2.7,-3.75,-4.38],["z"]],w:6.697,h:32.145},"flags.u64th":{d:[["M",-.42,15],["l",0,-15],["l",.21,0],["l",.21,0],["l",0,.36],["c",.06,1.2,.39,2.37,1.02,3.66],["c",.39,.81,.84,1.56,1.8,3.09],["c",.81,1.26,1.05,1.68,1.35,2.22],["c",.87,1.5,1.35,2.79,1.56,4.08],["c",.06,.54,.06,1.56,-.03,2.04],["c",-.09,.48,-.21,.99,-.36,1.35],["l",-.12,.27],["l",.12,.27],["c",.09,.15,.21,.45,.27,.66],["c",.69,1.89,.63,3.66,-.18,5.46],["l",-.18,.39],["l",.15,.33],["c",.3,.66,.51,1.44,.63,2.1],["c",.06,.48,.06,1.35,0,1.71],["c",-.15,.57,-.42,1.2,-.78,1.68],["l",-.21,.27],["l",.18,.33],["c",.57,1.05,.93,2.13,1.02,3.18],["c",.06,.72,0,1.83,-.21,2.79],["c",-.18,1.02,-.63,2.34,-1.02,3.09],["c",-.15,.33,-.48,.45,-.78,.3],["c",-.18,-.09,-.27,-.18,-.33,-.33],["c",-.09,-.18,-.06,-.3,.03,-.54],["c",.75,-1.5,1.23,-3.45,1.17,-4.89],["c",-.06,-1.02,-.42,-2.01,-1.17,-3.15],["c",-.48,-.72,-1.02,-1.35,-1.89,-2.22],["c",-.57,-.57,-1.56,-1.5,-1.92,-1.77],["l",-.12,-.09],["l",0,1.68],["l",0,1.68],["l",-.21,0],["l",-.21,0],["l",0,-15],["z"],["m",.93,-8.07],["c",-.27,-.3,-.48,-.54,-.51,-.54],["c",0,0,0,.69,.03,1.02],["c",.15,1.47,.75,2.94,2.04,4.83],["l",1.08,1.53],["c",.39,.57,.84,1.2,.99,1.44],["c",.15,.24,.3,.45,.3,.45],["c",0,0,.03,-.09,.06,-.21],["c",.36,-1.59,-.15,-3.33,-1.47,-5.4],["c",-.63,-.93,-1.35,-1.83,-2.52,-3.12],["z"],["m",.06,6.72],["c",-.24,-.21,-.48,-.42,-.51,-.45],["l",-.06,-.06],["l",0,.33],["c",0,1.2,.3,2.34,.93,3.6],["c",.45,.9,.96,1.68,2.25,3.51],["c",.39,.54,.84,1.17,1.02,1.44],["c",.21,.33,.33,.51,.33,.48],["c",.06,-.09,.21,-.63,.3,-.99],["c",.06,-.33,.06,-.45,.06,-.96],["c",0,-.6,-.03,-.84,-.18,-1.35],["c",-.3,-1.08,-1.02,-2.28,-2.13,-3.57],["c",-.39,-.45,-1.44,-1.47,-2.01,-1.98],["z"],["m",0,6.72],["c",-.24,-.21,-.48,-.39,-.51,-.42],["l",-.06,-.06],["l",0,.33],["c",0,1.41,.45,2.82,1.38,4.35],["c",.42,.72,.72,1.14,1.86,2.73],["c",.36,.45,.75,.99,.87,1.2],["c",.15,.21,.3,.36,.3,.36],["c",.06,0,.3,-.48,.39,-.75],["c",.09,-.36,.12,-.63,.12,-1.05],["c",-.06,-1.05,-.45,-2.04,-1.2,-3.18],["c",-.57,-.87,-1.11,-1.53,-2.07,-2.49],["c",-.36,-.33,-.84,-.78,-1.08,-1.02],["z"]],w:6.682,h:39.694},"flags.d8th":{d:[["M",5.67,-21.63],["c",.24,-.12,.54,-.06,.69,.15],["c",.06,.06,.21,.36,.39,.66],["c",.84,1.77,1.26,3.36,1.32,5.1],["c",.03,1.29,-.21,2.37,-.81,3.63],["c",-.6,1.23,-1.26,2.13,-3.21,4.38],["c",-1.35,1.53,-1.86,2.19,-2.4,2.97],["c",-.63,.93,-1.11,1.92,-1.38,2.79],["c",-.15,.54,-.27,1.35,-.27,1.8],["l",0,.15],["l",-.21,0],["l",-.21,0],["l",0,-3.75],["l",0,-3.75],["l",.21,0],["l",.21,0],["l",.48,-.3],["c",1.83,-1.11,3.12,-2.1,4.17,-3.12],["c",.78,-.81,1.32,-1.53,1.71,-2.31],["c",.45,-.93,.6,-1.74,.51,-2.88],["c",-.12,-1.56,-.63,-3.18,-1.47,-4.68],["c",-.12,-.21,-.15,-.33,-.06,-.51],["c",.06,-.15,.15,-.24,.33,-.33],["z"]],w:8.492,h:21.691},"flags.ugrace":{d:[["M",6.03,6.93],["c",.15,-.09,.33,-.06,.51,0],["c",.15,.09,.21,.15,.3,.33],["c",.09,.18,.06,.39,-.03,.54],["c",-.06,.15,-10.89,8.88,-11.07,8.97],["c",-.15,.09,-.33,.06,-.48,0],["c",-.18,-.09,-.24,-.15,-.33,-.33],["c",-.09,-.18,-.06,-.39,.03,-.54],["c",.06,-.15,10.89,-8.88,11.07,-8.97],["z"]],w:12.019,h:9.954},"flags.dgrace":{d:[["M",-6.06,-15.93],["c",.18,-.09,.33,-.12,.48,-.06],["c",.18,.09,14.01,8.04,14.1,8.1],["c",.12,.12,.18,.33,.18,.51],["c",-.03,.21,-.15,.39,-.36,.48],["c",-.18,.09,-.33,.12,-.48,.06],["c",-.18,-.09,-14.01,-8.04,-14.1,-8.1],["c",-.12,-.12,-.18,-.33,-.18,-.51],["c",.03,-.21,.15,-.39,.36,-.48],["z"]],w:15.12,h:9.212},"flags.d16th":{d:[["M",6.84,-22.53],["c",.27,-.12,.57,-.06,.72,.15],["c",.15,.15,.33,.87,.45,1.56],["c",.06,.33,.06,1.35,0,1.65],["c",-.06,.33,-.15,.78,-.27,1.11],["c",-.12,.33,-.45,.96,-.66,1.32],["l",-.18,.27],["l",.09,.18],["c",.48,1.02,.72,2.25,.69,3.3],["c",-.06,1.23,-.42,2.28,-1.26,3.45],["c",-.57,.87,-.99,1.32,-3,3.39],["c",-1.56,1.56,-2.22,2.4,-2.76,3.45],["c",-.42,.84,-.66,1.8,-.66,2.55],["l",0,.15],["l",-.21,0],["l",-.21,0],["l",0,-7.5],["l",0,-7.5],["l",.21,0],["l",.21,0],["l",0,1.14],["l",0,1.11],["l",.27,-.15],["c",1.11,-.57,1.77,-.99,2.52,-1.47],["c",2.37,-1.56,3.69,-3.15,4.05,-4.83],["c",.03,-.18,.03,-.39,.03,-.78],["c",0,-.6,-.03,-.93,-.24,-1.5],["c",-.06,-.18,-.12,-.39,-.15,-.45],["c",-.03,-.24,.12,-.48,.36,-.6],["z"],["m",-.63,7.5],["c",-.06,-.18,-.15,-.36,-.15,-.36],["c",-.03,0,-.03,.03,-.06,.06],["c",-.06,.12,-.96,1.02,-1.95,1.98],["c",-.63,.57,-1.26,1.17,-1.44,1.35],["c",-1.53,1.62,-2.28,2.85,-2.55,4.32],["c",-.03,.18,-.03,.54,-.06,.99],["l",0,.69],["l",.18,-.09],["c",.93,-.54,2.1,-1.29,2.82,-1.83],["c",.69,-.51,1.02,-.81,1.53,-1.29],["c",1.86,-1.89,2.37,-3.66,1.68,-5.82],["z"]],w:8.475,h:22.591},"flags.d32nd":{d:[["M",6.84,-29.13],["c",.27,-.12,.57,-.06,.72,.15],["c",.12,.12,.27,.63,.36,1.11],["c",.33,1.59,.06,3.06,-.81,4.47],["l",-.18,.27],["l",.09,.15],["c",.12,.24,.33,.69,.45,1.05],["c",.63,1.83,.45,3.57,-.57,5.22],["l",-.18,.3],["l",.15,.27],["c",.42,.87,.6,1.71,.57,2.61],["c",-.06,1.29,-.48,2.46,-1.35,3.78],["c",-.54,.81,-.93,1.29,-2.46,3],["c",-.51,.54,-1.05,1.17,-1.26,1.41],["c",-1.56,1.86,-2.25,3.36,-2.37,5.01],["l",0,.33],["l",-.21,0],["l",-.21,0],["l",0,-11.25],["l",0,-11.25],["l",.21,0],["l",.21,0],["l",0,1.35],["l",.03,1.35],["l",.78,-.39],["c",1.38,-.69,2.34,-1.26,3.24,-1.92],["c",1.38,-1.02,2.28,-2.13,2.64,-3.21],["c",.15,-.48,.18,-.72,.18,-1.29],["c",0,-.57,-.06,-.9,-.24,-1.47],["c",-.06,-.18,-.12,-.39,-.15,-.45],["c",-.03,-.24,.12,-.48,.36,-.6],["z"],["m",-.63,7.2],["c",-.09,-.18,-.12,-.21,-.12,-.15],["c",-.03,.09,-1.02,1.08,-2.04,2.04],["c",-1.17,1.08,-1.65,1.56,-2.07,2.04],["c",-.84,.96,-1.38,1.86,-1.68,2.76],["c",-.21,.57,-.27,.99,-.3,1.65],["l",0,.54],["l",.66,-.33],["c",3.57,-1.86,5.49,-3.69,5.94,-5.7],["c",.06,-.39,.06,-1.2,-.03,-1.65],["c",-.06,-.39,-.24,-.9,-.36,-1.2],["z"],["m",-.06,7.2],["c",-.06,-.15,-.12,-.33,-.15,-.45],["l",-.06,-.18],["l",-.18,.21],["l",-1.83,1.83],["c",-.87,.9,-1.77,1.8,-1.95,2.01],["c",-1.08,1.29,-1.62,2.31,-1.89,3.51],["c",-.06,.3,-.06,.51,-.09,.93],["l",0,.57],["l",.09,-.06],["c",.75,-.45,1.89,-1.26,2.52,-1.74],["c",.81,-.66,1.74,-1.53,2.22,-2.16],["c",1.26,-1.53,1.68,-3.06,1.32,-4.47],["z"]],w:8.385,h:29.191},"flags.d64th":{d:[["M",7.08,-32.88],["c",.3,-.12,.66,-.03,.78,.24],["c",.18,.33,.27,2.1,.15,2.64],["c",-.09,.39,-.21,.78,-.39,1.08],["l",-.15,.3],["l",.09,.27],["c",.03,.12,.09,.45,.12,.69],["c",.27,1.44,.18,2.55,-.3,3.6],["l",-.12,.33],["l",.06,.42],["c",.27,1.35,.33,2.82,.21,3.63],["c",-.12,.6,-.3,1.23,-.57,1.8],["l",-.15,.27],["l",.03,.42],["c",.06,1.02,.06,2.7,.03,3.06],["c",-.15,1.47,-.66,2.76,-1.74,4.41],["c",-.45,.69,-.75,1.11,-1.74,2.37],["c",-1.05,1.38,-1.5,1.98,-1.95,2.73],["c",-.93,1.5,-1.38,2.82,-1.44,4.2],["l",0,.42],["l",-.21,0],["l",-.21,0],["l",0,-15],["l",0,-15],["l",.21,0],["l",.21,0],["l",0,1.86],["l",0,1.89],["c",0,0,.21,-.03,.45,-.09],["c",2.22,-.39,4.08,-1.11,5.19,-2.01],["c",.63,-.54,1.02,-1.14,1.2,-1.8],["c",.06,-.3,.06,-1.14,-.03,-1.65],["c",-.03,-.18,-.06,-.39,-.09,-.48],["c",-.03,-.24,.12,-.48,.36,-.6],["z"],["m",-.45,6.15],["c",-.03,-.18,-.06,-.42,-.06,-.54],["l",-.03,-.18],["l",-.33,.3],["c",-.42,.36,-.87,.72,-1.68,1.29],["c",-1.98,1.38,-2.25,1.59,-2.85,2.16],["c",-.75,.69,-1.23,1.44,-1.47,2.19],["c",-.15,.45,-.18,.63,-.21,1.35],["l",0,.66],["l",.39,-.18],["c",1.83,-.9,3.45,-1.95,4.47,-2.91],["c",.93,-.9,1.53,-1.83,1.74,-2.82],["c",.06,-.33,.06,-.87,.03,-1.32],["z"],["m",-.27,4.86],["c",-.03,-.21,-.06,-.36,-.06,-.36],["c",0,-.03,-.12,.09,-.24,.24],["c",-.39,.48,-.99,1.08,-2.16,2.19],["c",-1.47,1.38,-1.92,1.83,-2.46,2.49],["c",-.66,.87,-1.08,1.74,-1.29,2.58],["c",-.09,.42,-.15,.87,-.15,1.44],["l",0,.54],["l",.48,-.33],["c",1.5,-1.02,2.58,-1.89,3.51,-2.82],["c",1.47,-1.47,2.25,-2.85,2.4,-4.26],["c",.03,-.39,.03,-1.17,-.03,-1.71],["z"],["m",-.66,7.68],["c",.03,-.15,.03,-.6,.03,-.99],["l",0,-.72],["l",-.27,.33],["l",-1.74,1.98],["c",-1.77,1.92,-2.43,2.76,-2.97,3.9],["c",-.51,1.02,-.72,1.77,-.75,2.91],["c",0,.63,0,.63,.06,.6],["c",.03,-.03,.3,-.27,.63,-.54],["c",.66,-.6,1.86,-1.8,2.31,-2.31],["c",1.65,-1.89,2.52,-3.54,2.7,-5.16],["z"]],w:8.485,h:32.932},"clefs.C":{d:[["M",.06,-14.94],["l",.09,-.06],["l",1.92,0],["l",1.92,0],["l",.09,.06],["l",.06,.09],["l",0,14.85],["l",0,14.82],["l",-.06,.09],["l",-.09,.06],["l",-1.92,0],["l",-1.92,0],["l",-.09,-.06],["l",-.06,-.09],["l",0,-14.82],["l",0,-14.85],["z"],["m",5.37,0],["c",.09,-.06,.09,-.06,.57,-.06],["c",.45,0,.45,0,.54,.06],["l",.06,.09],["l",0,7.14],["l",0,7.11],["l",.09,-.06],["c",.18,-.18,.72,-.84,.96,-1.2],["c",.3,-.45,.66,-1.17,.84,-1.65],["c",.36,-.9,.57,-1.83,.6,-2.79],["c",.03,-.48,.03,-.54,.09,-.63],["c",.12,-.18,.36,-.21,.54,-.12],["c",.18,.09,.21,.15,.24,.66],["c",.06,.87,.21,1.56,.57,2.22],["c",.51,1.02,1.26,1.68,2.22,1.92],["c",.21,.06,.33,.06,.78,.06],["c",.45,0,.57,0,.84,-.06],["c",.45,-.12,.81,-.33,1.08,-.6],["c",.57,-.57,.87,-1.41,.99,-2.88],["c",.06,-.54,.06,-3,0,-3.57],["c",-.21,-2.58,-.84,-3.87,-2.16,-4.5],["c",-.48,-.21,-1.17,-.36,-1.77,-.36],["c",-.69,0,-1.29,.27,-1.5,.72],["c",-.06,.15,-.06,.21,-.06,.42],["c",0,.24,0,.3,.06,.45],["c",.12,.24,.24,.39,.63,.66],["c",.42,.3,.57,.48,.69,.72],["c",.06,.15,.06,.21,.06,.48],["c",0,.39,-.03,.63,-.21,.96],["c",-.3,.6,-.87,1.08,-1.5,1.26],["c",-.27,.06,-.87,.06,-1.14,0],["c",-.78,-.24,-1.44,-.87,-1.65,-1.68],["c",-.12,-.42,-.09,-1.17,.09,-1.71],["c",.51,-1.65,1.98,-2.82,3.81,-3.09],["c",.84,-.09,2.46,.03,3.51,.27],["c",2.22,.57,3.69,1.8,4.44,3.75],["c",.36,.93,.57,2.13,.57,3.36],["c",0,1.44,-.48,2.73,-1.38,3.81],["c",-1.26,1.5,-3.27,2.43,-5.28,2.43],["c",-.48,0,-.51,0,-.75,-.09],["c",-.15,-.03,-.48,-.21,-.78,-.36],["c",-.69,-.36,-.87,-.42,-1.26,-.42],["c",-.27,0,-.3,0,-.51,.09],["c",-.57,.3,-.81,.9,-.81,2.1],["c",0,1.23,.24,1.83,.81,2.13],["c",.21,.09,.24,.09,.51,.09],["c",.39,0,.57,-.06,1.26,-.42],["c",.3,-.15,.63,-.33,.78,-.36],["c",.24,-.09,.27,-.09,.75,-.09],["c",2.01,0,4.02,.93,5.28,2.4],["c",.9,1.11,1.38,2.4,1.38,3.84],["c",0,1.5,-.3,2.88,-.84,3.96],["c",-.78,1.59,-2.19,2.64,-4.17,3.15],["c",-1.05,.24,-2.67,.36,-3.51,.27],["c",-1.83,-.27,-3.3,-1.44,-3.81,-3.09],["c",-.18,-.54,-.21,-1.29,-.09,-1.74],["c",.15,-.6,.63,-1.2,1.23,-1.47],["c",.36,-.18,.57,-.21,.99,-.21],["c",.42,0,.63,.03,1.02,.21],["c",.42,.21,.84,.63,1.05,1.05],["c",.18,.36,.21,.6,.21,.96],["c",0,.3,0,.36,-.06,.51],["c",-.12,.24,-.27,.42,-.69,.72],["c",-.57,.42,-.69,.63,-.69,1.08],["c",0,.24,0,.3,.06,.45],["c",.12,.21,.3,.39,.57,.54],["c",.42,.18,.87,.21,1.53,.15],["c",1.08,-.15,1.8,-.57,2.34,-1.32],["c",.54,-.75,.84,-1.83,.99,-3.51],["c",.06,-.57,.06,-3.03,0,-3.57],["c",-.12,-1.47,-.42,-2.31,-.99,-2.88],["c",-.27,-.27,-.63,-.48,-1.08,-.6],["c",-.27,-.06,-.39,-.06,-.84,-.06],["c",-.45,0,-.57,0,-.78,.06],["c",-1.14,.27,-2.01,1.17,-2.46,2.49],["c",-.21,.57,-.3,.99,-.33,1.65],["c",-.03,.51,-.06,.57,-.24,.66],["c",-.12,.06,-.27,.06,-.39,0],["c",-.21,-.09,-.21,-.15,-.24,-.75],["c",-.09,-1.92,-.78,-3.72,-2.01,-5.19],["c",-.18,-.21,-.36,-.42,-.39,-.45],["l",-.09,-.06],["l",0,7.11],["l",0,7.14],["l",-.06,.09],["c",-.09,.06,-.09,.06,-.54,.06],["c",-.48,0,-.48,0,-.57,-.06],["l",-.06,-.09],["l",0,-14.82],["l",0,-14.85],["z"]],w:20.31,h:29.97},"clefs.F":{d:[["M",6.3,-7.8],["c",.36,-.03,1.65,0,2.13,.03],["c",3.6,.42,6.03,2.1,6.93,4.86],["c",.27,.84,.36,1.5,.36,2.58],["c",0,.9,-.03,1.35,-.18,2.16],["c",-.78,3.78,-3.54,7.08,-8.37,9.96],["c",-1.74,1.05,-3.87,2.13,-6.18,3.12],["c",-.39,.18,-.75,.33,-.81,.36],["c",-.06,.03,-.15,.06,-.18,.06],["c",-.15,0,-.33,-.18,-.33,-.33],["c",0,-.15,.06,-.21,.51,-.48],["c",3,-1.77,5.13,-3.21,6.84,-4.74],["c",.51,-.45,1.59,-1.5,1.95,-1.95],["c",1.89,-2.19,2.88,-4.32,3.15,-6.78],["c",.06,-.42,.06,-1.77,0,-2.19],["c",-.24,-2.01,-.93,-3.63,-2.04,-4.71],["c",-.63,-.63,-1.29,-1.02,-2.07,-1.2],["c",-1.62,-.39,-3.36,.15,-4.56,1.44],["c",-.54,.6,-1.05,1.47,-1.32,2.22],["l",-.09,.21],["l",.24,-.12],["c",.39,-.21,.63,-.24,1.11,-.24],["c",.3,0,.45,0,.66,.06],["c",1.92,.48,2.85,2.55,1.95,4.38],["c",-.45,.99,-1.41,1.62,-2.46,1.71],["c",-1.47,.09,-2.91,-.87,-3.39,-2.25],["c",-.18,-.57,-.21,-1.32,-.03,-2.28],["c",.39,-2.25,1.83,-4.2,3.81,-5.19],["c",.69,-.36,1.59,-.6,2.37,-.69],["z"],["m",11.58,2.52],["c",.84,-.21,1.71,.3,1.89,1.14],["c",.3,1.17,-.72,2.19,-1.89,1.89],["c",-.99,-.21,-1.5,-1.32,-1.02,-2.25],["c",.18,-.39,.6,-.69,1.02,-.78],["z"],["m",0,7.5],["c",.84,-.21,1.71,.3,1.89,1.14],["c",.21,.87,-.3,1.71,-1.14,1.89],["c",-.87,.21,-1.71,-.3,-1.89,-1.14],["c",-.21,-.84,.3,-1.71,1.14,-1.89],["z"]],w:20.153,h:23.142},"clefs.G":{d:[["M",9.69,-37.41],["c",.09,-.09,.24,-.06,.36,0],["c",.12,.09,.57,.6,.96,1.11],["c",1.77,2.34,3.21,5.85,3.57,8.73],["c",.21,1.56,.03,3.27,-.45,4.86],["c",-.69,2.31,-1.92,4.47,-4.23,7.44],["c",-.3,.39,-.57,.72,-.6,.75],["c",-.03,.06,0,.15,.18,.78],["c",.54,1.68,1.38,4.44,1.68,5.49],["l",.09,.42],["l",.39,0],["c",1.47,.09,2.76,.51,3.96,1.29],["c",1.83,1.23,3.06,3.21,3.39,5.52],["c",.09,.45,.12,1.29,.06,1.74],["c",-.09,1.02,-.33,1.83,-.75,2.73],["c",-.84,1.71,-2.28,3.06,-4.02,3.72],["l",-.33,.12],["l",.03,1.26],["c",0,1.74,-.06,3.63,-.21,4.62],["c",-.45,3.06,-2.19,5.49,-4.47,6.21],["c",-.57,.18,-.9,.21,-1.59,.21],["c",-.69,0,-1.02,-.03,-1.65,-.21],["c",-1.14,-.27,-2.13,-.84,-2.94,-1.65],["c",-.99,-.99,-1.56,-2.16,-1.71,-3.54],["c",-.09,-.81,.06,-1.53,.45,-2.13],["c",.63,-.99,1.83,-1.56,3,-1.53],["c",1.5,.09,2.64,1.32,2.73,2.94],["c",.06,1.47,-.93,2.7,-2.37,2.97],["c",-.45,.06,-.84,.03,-1.29,-.09],["l",-.21,-.09],["l",.09,.12],["c",.39,.54,.78,.93,1.32,1.26],["c",1.35,.87,3.06,1.02,4.35,.36],["c",1.44,-.72,2.52,-2.28,2.97,-4.35],["c",.15,-.66,.24,-1.5,.3,-3.03],["c",.03,-.84,.03,-2.94,0,-3],["c",-.03,0,-.18,0,-.36,.03],["c",-.66,.12,-.99,.12,-1.83,.12],["c",-1.05,0,-1.71,-.06,-2.61,-.3],["c",-4.02,-.99,-7.11,-4.35,-7.8,-8.46],["c",-.12,-.66,-.12,-.99,-.12,-1.83],["c",0,-.84,0,-1.14,.15,-1.92],["c",.36,-2.28,1.41,-4.62,3.3,-7.29],["l",2.79,-3.6],["c",.54,-.66,.96,-1.2,.96,-1.23],["c",0,-.03,-.09,-.33,-.18,-.69],["c",-.96,-3.21,-1.41,-5.28,-1.59,-7.68],["c",-.12,-1.38,-.15,-3.09,-.06,-3.96],["c",.33,-2.67,1.38,-5.07,3.12,-7.08],["c",.36,-.42,.99,-1.05,1.17,-1.14],["z"],["m",2.01,4.71],["c",-.15,-.3,-.3,-.54,-.3,-.54],["c",-.03,0,-.18,.09,-.3,.21],["c",-2.4,1.74,-3.87,4.2,-4.26,7.11],["c",-.06,.54,-.06,1.41,-.03,1.89],["c",.09,1.29,.48,3.12,1.08,5.22],["c",.15,.42,.24,.78,.24,.81],["c",0,.03,.84,-1.11,1.23,-1.68],["c",1.89,-2.73,2.88,-5.07,3.15,-7.53],["c",.09,-.57,.12,-1.74,.06,-2.37],["c",-.09,-1.23,-.27,-1.92,-.87,-3.12],["z"],["m",-2.94,20.7],["c",-.21,-.72,-.39,-1.32,-.42,-1.32],["c",0,0,-1.2,1.47,-1.86,2.37],["c",-2.79,3.63,-4.02,6.3,-4.35,9.3],["c",-.03,.21,-.03,.69,-.03,1.08],["c",0,.69,0,.75,.06,1.11],["c",.12,.54,.27,.99,.51,1.47],["c",.69,1.38,1.83,2.55,3.42,3.42],["c",.96,.54,2.07,.9,3.21,1.08],["c",.78,.12,2.04,.12,2.94,-.03],["c",.51,-.06,.45,-.03,.42,-.3],["c",-.24,-3.33,-.72,-6.33,-1.62,-10.08],["c",-.09,-.39,-.18,-.75,-.18,-.78],["c",-.03,-.03,-.42,0,-.81,.09],["c",-.9,.18,-1.65,.57,-2.22,1.14],["c",-.72,.72,-1.08,1.65,-1.05,2.64],["c",.06,.96,.48,1.83,1.23,2.58],["c",.36,.36,.72,.63,1.17,.9],["c",.33,.18,.36,.21,.42,.33],["c",.18,.42,-.18,.9,-.6,.87],["c",-.18,-.03,-.84,-.36,-1.26,-.63],["c",-.78,-.51,-1.38,-1.11,-1.86,-1.83],["c",-1.77,-2.7,-.99,-6.42,1.71,-8.19],["c",.3,-.21,.81,-.48,1.17,-.63],["c",.3,-.09,1.02,-.3,1.14,-.3],["c",.06,0,.09,0,.09,-.03],["c",.03,-.03,-.51,-1.92,-1.23,-4.26],["z"],["m",3.78,7.41],["c",-.18,-.03,-.36,-.06,-.39,-.06],["c",-.03,0,0,.21,.18,1.02],["c",.75,3.18,1.26,6.3,1.5,9.09],["c",.06,.72,0,.69,.51,.42],["c",.78,-.36,1.44,-.96,1.98,-1.77],["c",1.08,-1.62,1.2,-3.69,.3,-5.55],["c",-.81,-1.62,-2.31,-2.79,-4.08,-3.15],["z"]],w:19.051,h:57.057},"clefs.perc":{d:[["M",5.07,-7.44],["l",.09,-.06],["l",1.53,0],["l",1.53,0],["l",.09,.06],["l",.06,.09],["l",0,7.35],["l",0,7.32],["l",-.06,.09],["l",-.09,.06],["l",-1.53,0],["l",-1.53,0],["l",-.09,-.06],["l",-.06,-.09],["l",0,-7.32],["l",0,-7.35],["z"],["m",6.63,0],["l",.09,-.06],["l",1.53,0],["l",1.53,0],["l",.09,.06],["l",.06,.09],["l",0,7.35],["l",0,7.32],["l",-.06,.09],["l",-.09,.06],["l",-1.53,0],["l",-1.53,0],["l",-.09,-.06],["l",-.06,-.09],["l",0,-7.32],["l",0,-7.35],["z"]],w:21,h:14.97},"tab.big":{d:[["M",20.16,-21.66],["c",.24,-.09,.66,.09,.78,.36],["c",.09,.21,.09,.24,-.18,.54],["c",-.78,.81,-1.86,1.44,-2.94,1.71],["c",-.87,.24,-1.71,.24,-2.55,.03],["l",-.06,-.03],["l",-.18,.99],["c",-.33,1.98,-.75,4.26,-.96,5.04],["c",-.42,1.65,-1.26,3.18,-2.28,4.14],["c",-.57,.57,-1.17,.9,-1.86,1.08],["c",-.18,.06,-.33,.06,-.66,.06],["c",-.54,0,-.78,-.03,-1.23,-.27],["c",-.39,-.18,-.66,-.39,-1.38,-.99],["c",-.3,-.24,-.66,-.51,-.75,-.57],["c",-.21,-.15,-.27,-.24,-.24,-.45],["c",.06,-.27,.36,-.6,.6,-.66],["c",.18,-.03,.33,.06,.9,.57],["c",.48,.42,.72,.57,.93,.69],["c",.66,.33,1.38,.21,1.95,-.36],["c",.63,-.6,1.05,-1.62,1.23,-3],["c",.03,-.18,.09,-.66,.09,-1.11],["c",.09,-1.56,.33,-3.81,.57,-5.49],["c",.06,-.33,.09,-.63,.09,-.63],["c",-.03,-.03,-.81,-.12,-1.02,-.12],["c",-.57,0,-1.32,.12,-1.8,.33],["c",-.87,.3,-1.35,.78,-1.5,1.41],["c",-.18,.63,.09,1.26,.66,1.65],["c",.12,.06,.15,.12,.18,.24],["c",.09,.27,.06,.57,-.09,.75],["c",-.03,.06,-.12,.09,-.27,.15],["c",-.72,.21,-1.44,.15,-2.1,-.18],["c",-.54,-.27,-.96,-.66,-1.2,-1.14],["c",-.39,-.75,-.33,-1.74,.15,-2.52],["c",.27,-.42,.84,-.93,1.41,-1.23],["c",1.17,-.57,2.88,-.9,4.8,-.9],["c",.69,0,.78,0,1.08,.06],["c",.45,.09,1.11,.3,2.07,.6],["c",1.47,.48,1.83,.57,2.55,.54],["c",1.02,-.06,2.04,-.45,2.94,-1.11],["c",.12,-.09,.24,-.18,.27,-.18],["z"],["m",-5.88,13.05],["c",.21,-.03,.81,0,1.08,.06],["c",.48,.12,.9,.42,.99,.69],["c",.03,.09,.03,.15,0,.27],["c",0,.09,-.03,.57,-.06,1.08],["c",-.09,2.19,-.24,5.76,-.39,8.28],["c",-.06,1.53,-.06,1.77,.03,2.01],["c",.09,.18,.15,.24,.3,.3],["c",.24,.12,.54,.06,1.23,-.27],["c",.57,-.27,.66,-.3,.75,-.24],["c",.09,.06,.18,.3,.18,.45],["c",0,.33,-.15,.51,-.45,.63],["c",-.12,.03,-.39,.15,-.6,.27],["c",-1.17,.6,-1.38,.69,-1.8,.72],["c",-.45,.03,-.78,-.09,-1.08,-.39],["c",-.39,-.42,-.66,-1.2,-1.02,-3.12],["c",-.24,-1.23,-.36,-2.07,-.54,-3.75],["l",0,-.18],["l",-.36,.45],["c",-.6,.75,-1.32,1.59,-1.95,2.25],["c",-.15,.18,-.27,.3,-.27,.33],["c",0,0,.06,.09,.15,.18],["c",.24,.33,.6,.57,1.05,.69],["c",.18,.06,.3,.06,.69,.06],["l",.48,.03],["l",.06,.12],["c",.15,.27,.03,.72,-.21,.9],["c",-.18,.12,-.93,.27,-1.41,.27],["c",-.84,0,-1.59,-.3,-1.98,-.84],["l",-.12,-.15],["l",-.45,.42],["c",-.99,.87,-1.53,1.32,-2.16,1.74],["c",-.78,.51,-1.5,.84,-2.1,.93],["c",-.69,.12,-1.2,.03,-1.95,-.42],["c",-.21,-.12,-.51,-.27,-.66,-.36],["c",-.24,-.12,-.3,-.18,-.33,-.24],["c",-.12,-.27,.15,-.78,.45,-.93],["c",.24,-.12,.33,-.09,.9,.18],["c",.6,.3,.84,.39,1.2,.36],["c",.87,-.09,1.77,-.69,3.24,-2.31],["c",2.67,-2.85,4.59,-5.94,5.7,-9.15],["c",.15,-.45,.24,-.63,.42,-.81],["c",.21,-.24,.6,-.45,.99,-.51],["z"],["m",-3.99,16.05],["c",.18,0,.69,-.03,1.17,0],["c",3.27,.03,5.37,.75,6,2.07],["c",.45,.99,.12,2.4,-.81,3.42],["c",-.24,.27,-.57,.57,-.84,.75],["c",-.09,.06,-.18,.09,-.18,.12],["c",0,0,.18,.03,.42,.09],["c",1.23,.3,2.01,.81,2.37,1.59],["c",.27,.54,.3,1.32,.09,2.1],["c",-.12,.36,-.45,1.05,-.69,1.35],["c",-.87,1.17,-2.1,1.92,-3.54,2.25],["c",-.36,.06,-.48,.06,-.96,.06],["c",-.45,0,-.66,0,-.84,-.03],["c",-.84,-.18,-1.47,-.51,-2.07,-1.11],["c",-.33,-.33,-.45,-.51,-.45,-.63],["c",0,-.06,.03,-.15,.06,-.24],["c",.18,-.33,.69,-.6,.93,-.48],["c",.03,.03,.15,.12,.27,.24],["c",.39,.42,.99,.57,1.62,.45],["c",1.05,-.21,1.98,-1.02,2.31,-2.01],["c",.48,-1.53,-.48,-2.55,-2.58,-2.67],["c",-.21,0,-.36,-.03,-.42,-.06],["c",-.15,-.09,-.21,-.51,-.06,-.78],["c",.12,-.27,.24,-.33,.6,-.36],["c",.57,-.06,1.11,-.42,1.5,-.99],["c",.48,-.72,.54,-1.59,.18,-2.31],["c",-.12,-.21,-.45,-.54,-.69,-.69],["c",-.33,-.21,-.93,-.45,-1.35,-.51],["l",-.12,-.03],["l",-.06,.48],["c",-.54,2.94,-1.14,6.24,-1.29,6.75],["c",-.33,1.35,-.93,2.61,-1.65,3.6],["c",-.3,.36,-.81,.9,-1.14,1.14],["c",-.3,.24,-.84,.48,-1.14,.57],["c",-.33,.09,-.96,.09,-1.26,.03],["c",-.45,-.12,-.87,-.39,-1.53,-.96],["c",-.24,-.15,-.51,-.39,-.63,-.48],["c",-.3,-.21,-.33,-.33,-.21,-.63],["c",.12,-.18,.27,-.36,.42,-.45],["c",.27,-.12,.36,-.09,.87,.33],["c",.78,.6,1.08,.75,1.65,.72],["c",.45,-.03,.81,-.21,1.17,-.54],["c",.87,-.9,1.38,-2.85,1.38,-5.37],["c",0,-.6,.03,-1.11,.12,-2.04],["c",.06,-.69,.24,-2.01,.33,-2.58],["c",.06,-.24,.06,-.42,.06,-.42],["c",0,0,-.12,.03,-.21,.09],["c",-1.44,.57,-2.16,1.65,-1.74,2.55],["c",.09,.15,.18,.24,.27,.33],["c",.24,.21,.3,.27,.33,.39],["c",.06,.24,0,.63,-.15,.78],["c",-.09,.12,-.54,.21,-.96,.24],["c",-1.02,.03,-2.01,-.48,-2.43,-1.32],["c",-.21,-.45,-.27,-.9,-.15,-1.44],["c",.06,-.27,.21,-.66,.39,-.93],["c",.87,-1.29,3,-2.22,5.64,-2.43],["z"]],w:19.643,h:43.325},"tab.tiny":{d:[["M",16.02,-17.25],["c",.12,-.09,.15,-.09,.27,-.09],["c",.21,.03,.51,.3,.51,.45],["c",0,.06,-.12,.18,-.3,.36],["c",-1.11,1.08,-2.55,1.59,-3.84,1.41],["c",-.15,-.03,-.33,-.06,-.39,-.09],["c",-.06,-.03,-.09,-.03,-.12,-.03],["c",0,0,-.06,.42,-.15,.93],["c",-.33,2.01,-.66,3.69,-.84,4.26],["c",-.42,1.41,-1.23,2.67,-2.16,3.33],["c",-.27,.18,-.75,.42,-.99,.48],["c",-.3,.09,-.72,.09,-1.02,.06],["c",-.45,-.09,-.84,-.33,-1.53,-.9],["c",-.21,-.18,-.51,-.39,-.63,-.48],["c",-.27,-.21,-.3,-.24,-.3,-.36],["c",0,-.12,.09,-.36,.18,-.45],["c",.09,-.09,.27,-.18,.36,-.18],["c",.12,0,.3,.12,.66,.45],["c",.57,.51,.87,.69,1.23,.72],["c",.93,.06,1.68,-.78,1.98,-2.37],["c",.09,-.39,.15,-.75,.18,-1.53],["c",.06,-.99,.24,-2.79,.42,-4.05],["c",.03,-.3,.06,-.57,.06,-.6],["c",0,-.06,-.03,-.09,-.15,-.12],["c",-.9,-.18,-2.13,.06,-2.76,.57],["c",-.36,.3,-.51,.6,-.51,1.02],["c",0,.45,.15,.75,.48,.99],["c",.06,.06,.15,.18,.18,.24],["c",.12,.24,.03,.63,-.15,.69],["c",-.24,.12,-.6,.15,-.9,.15],["c",-.36,-.03,-.57,-.09,-.87,-.24],["c",-.78,-.36,-1.23,-1.11,-1.2,-1.92],["c",.12,-1.53,1.74,-2.49,4.62,-2.7],["c",1.2,-.09,1.47,-.03,3.33,.57],["c",.9,.3,1.14,.36,1.56,.39],["c",.45,0,.93,-.06,1.38,-.21],["c",.51,-.18,.81,-.33,1.41,-.75],["z"],["m",-4.68,10.38],["c",.39,-.06,.84,0,1.2,.15],["c",.24,.12,.36,.21,.45,.36],["l",.09,.09],["l",-.06,1.41],["c",-.09,2.19,-.18,3.96,-.27,5.49],["c",-.03,.78,-.06,1.59,-.06,1.86],["c",0,.42,0,.48,.06,.57],["c",.06,.18,.18,.24,.36,.27],["c",.18,0,.39,-.06,.84,-.27],["c",.45,-.21,.54,-.24,.63,-.18],["c",.12,.12,.15,.54,.03,.69],["c",-.03,.03,-.15,.12,-.27,.18],["c",-.15,.03,-.3,.12,-.36,.15],["c",-.87,.45,-1.02,.51,-1.26,.57],["c",-.33,.09,-.6,.06,-.84,-.06],["c",-.42,-.18,-.63,-.6,-.87,-1.44],["c",-.3,-1.23,-.57,-2.97,-.66,-4.08],["c",0,-.18,-.03,-.3,-.03,-.33],["l",-.06,.06],["c",-.18,.27,-1.11,1.38,-1.68,2.01],["l",-.33,.33],["l",.06,.09],["c",.06,.15,.27,.33,.48,.42],["c",.27,.18,.51,.24,.96,.27],["l",.39,0],["l",.03,.12],["c",.12,.21,.03,.57,-.15,.69],["c",-.03,.03,-.21,.09,-.36,.15],["c",-.27,.06,-.39,.06,-.75,.06],["c",-.48,0,-.75,-.03,-1.08,-.21],["c",-.21,-.12,-.51,-.36,-.57,-.48],["l",-.03,-.09],["l",-.39,.36],["c",-1.47,1.35,-2.49,1.98,-3.42,2.13],["c",-.54,.09,-.96,-.03,-1.62,-.39],["c",-.21,-.15,-.45,-.27,-.54,-.3],["c",-.18,-.09,-.21,-.21,-.12,-.45],["c",.06,-.27,.33,-.48,.54,-.48],["c",.03,0,.27,.09,.48,.21],["c",.48,.24,.69,.27,.99,.27],["c",.6,-.06,1.17,-.42,2.1,-1.35],["c",2.22,-2.22,4.02,-4.98,4.95,-7.59],["c",.21,-.57,.3,-.78,.48,-.93],["c",.15,-.15,.42,-.27,.66,-.33],["z"],["m",-3.06,12.84],["c",.27,-.03,1.68,0,2.01,.03],["c",1.92,.18,3.15,.69,3.63,1.5],["c",.18,.33,.24,.51,.21,.93],["c",0,.45,-.06,.72,-.24,1.11],["c",-.24,.51,-.69,1.02,-1.17,1.35],["c",-.21,.15,-.21,.15,-.12,.18],["c",.72,.15,1.11,.3,1.5,.57],["c",.39,.24,.63,.57,.75,.96],["c",.09,.3,.09,.96,0,1.29],["c",-.15,.57,-.39,1.05,-.78,1.5],["c",-.66,.75,-1.62,1.32,-2.61,1.53],["c",-.27,.06,-.42,.06,-.84,.06],["c",-.48,0,-.57,0,-.81,-.06],["c",-.6,-.18,-1.05,-.42,-1.47,-.81],["c",-.36,-.39,-.42,-.51,-.3,-.75],["c",.12,-.21,.39,-.39,.6,-.39],["c",.09,0,.15,.03,.33,.18],["c",.12,.12,.27,.24,.36,.27],["c",.96,.48,2.46,-.33,2.82,-1.5],["c",.24,-.81,-.03,-1.44,-.69,-1.77],["c",-.39,-.21,-1.02,-.33,-1.53,-.33],["c",-.18,0,-.21,0,-.27,-.09],["c",-.06,-.09,-.06,-.3,-.03,-.48],["c",.06,-.18,.18,-.36,.33,-.36],["c",.39,-.06,.51,-.09,.72,-.18],["c",.69,-.36,1.11,-1.23,.99,-2.01],["c",-.09,-.51,-.42,-.9,-.93,-1.17],["c",-.24,-.12,-.6,-.27,-.87,-.3],["c",-.09,-.03,-.09,-.03,-.12,.12],["c",0,.09,-.21,1.11,-.42,2.25],["c",-.66,3.75,-.72,3.99,-1.26,5.07],["c",-.9,1.89,-2.25,2.85,-3.48,2.61],["c",-.39,-.09,-.69,-.27,-1.38,-.84],["c",-.63,-.51,-.63,-.48,-.63,-.6],["c",0,-.18,.18,-.48,.39,-.57],["c",.21,-.12,.3,-.09,.81,.33],["c",.15,.15,.39,.3,.54,.36],["c",.18,.12,.27,.12,.48,.15],["c",.99,.06,1.71,-.78,2.04,-2.46],["c",.12,-.66,.18,-1.14,.21,-2.22],["c",.03,-1.23,.12,-2.25,.36,-3.63],["c",.03,-.24,.06,-.45,.06,-.48],["c",-.06,-.03,-.66,.27,-.9,.42],["c",-.06,.06,-.21,.18,-.33,.3],["c",-.57,.57,-.6,1.35,-.06,1.74],["c",.18,.12,.24,.24,.21,.51],["c",-.03,.3,-.15,.42,-.57,.48],["c",-1.11,.24,-2.22,-.42,-2.43,-1.38],["c",-.09,-.45,.03,-1.02,.3,-1.47],["c",.18,-.24,.6,-.63,.9,-.84],["c",.9,-.6,2.28,-1.02,3.69,-1.11],["z"]],w:15.709,h:34.656},"timesig.common":{d:[["M",6.66,-7.83],["c",.72,-.06,1.41,-.03,1.98,.09],["c",1.2,.27,2.34,.96,3.09,1.92],["c",.63,.81,1.08,1.86,1.14,2.73],["c",.06,1.02,-.51,1.92,-1.44,2.22],["c",-.24,.09,-.3,.09,-.63,.09],["c",-.33,0,-.42,0,-.63,-.06],["c",-.66,-.24,-1.14,-.63,-1.41,-1.2],["c",-.15,-.3,-.21,-.51,-.24,-.9],["c",-.06,-1.08,.57,-2.04,1.56,-2.37],["c",.18,-.06,.27,-.06,.63,-.06],["l",.45,0],["c",.06,.03,.09,.03,.09,0],["c",0,0,-.09,-.12,-.24,-.27],["c",-1.02,-1.11,-2.55,-1.68,-4.08,-1.5],["c",-1.29,.15,-2.04,.69,-2.4,1.74],["c",-.36,.93,-.42,1.89,-.42,5.37],["c",0,2.97,.06,3.96,.24,4.77],["c",.24,1.08,.63,1.68,1.41,2.07],["c",.81,.39,2.16,.45,3.18,.09],["c",1.29,-.45,2.37,-1.53,3.03,-2.97],["c",.15,-.33,.33,-.87,.39,-1.17],["c",.09,-.24,.15,-.36,.3,-.39],["c",.21,-.03,.42,.15,.39,.36],["c",-.06,.39,-.42,1.38,-.69,1.89],["c",-.96,1.8,-2.49,2.94,-4.23,3.18],["c",-.99,.12,-2.58,-.06,-3.63,-.45],["c",-.96,-.36,-1.71,-.84,-2.4,-1.5],["c",-1.11,-1.11,-1.8,-2.61,-2.04,-4.56],["c",-.06,-.6,-.06,-2.01,0,-2.61],["c",.24,-1.95,.9,-3.45,2.01,-4.56],["c",.69,-.66,1.44,-1.11,2.37,-1.47],["c",.63,-.24,1.47,-.42,2.22,-.48],["z"]],w:13.038,h:15.689},"timesig.cut":{d:[["M",6.24,-10.44],["c",.09,-.06,.09,-.06,.48,-.06],["c",.36,0,.36,0,.45,.06],["l",.06,.09],["l",0,1.23],["l",0,1.26],["l",.27,0],["c",1.26,0,2.49,.45,3.48,1.29],["c",1.05,.87,1.8,2.28,1.89,3.48],["c",.06,1.02,-.51,1.92,-1.44,2.22],["c",-.24,.09,-.3,.09,-.63,.09],["c",-.33,0,-.42,0,-.63,-.06],["c",-.66,-.24,-1.14,-.63,-1.41,-1.2],["c",-.15,-.3,-.21,-.51,-.24,-.9],["c",-.06,-1.08,.57,-2.04,1.56,-2.37],["c",.18,-.06,.27,-.06,.63,-.06],["l",.45,0],["c",.06,.03,.09,.03,.09,0],["c",0,-.03,-.45,-.51,-.66,-.69],["c",-.87,-.69,-1.83,-1.05,-2.94,-1.11],["l",-.42,0],["l",0,7.17],["l",0,7.14],["l",.42,0],["c",.69,-.03,1.23,-.18,1.86,-.51],["c",1.05,-.51,1.89,-1.47,2.46,-2.7],["c",.15,-.33,.33,-.87,.39,-1.17],["c",.09,-.24,.15,-.36,.3,-.39],["c",.21,-.03,.42,.15,.39,.36],["c",-.03,.24,-.21,.78,-.39,1.2],["c",-.96,2.37,-2.94,3.9,-5.13,3.9],["l",-.3,0],["l",0,1.26],["l",0,1.23],["l",-.06,.09],["c",-.09,.06,-.09,.06,-.45,.06],["c",-.39,0,-.39,0,-.48,-.06],["l",-.06,-.09],["l",0,-1.29],["l",0,-1.29],["l",-.21,-.03],["c",-1.23,-.21,-2.31,-.63,-3.21,-1.29],["c",-.15,-.09,-.45,-.36,-.66,-.57],["c",-1.11,-1.11,-1.8,-2.61,-2.04,-4.56],["c",-.06,-.6,-.06,-2.01,0,-2.61],["c",.24,-1.95,.93,-3.45,2.04,-4.59],["c",.42,-.39,.78,-.66,1.26,-.93],["c",.75,-.45,1.65,-.75,2.61,-.9],["l",.21,-.03],["l",0,-1.29],["l",0,-1.29],["z"],["m",-.06,10.44],["c",0,-5.58,0,-6.99,-.03,-6.99],["c",-.15,0,-.63,.27,-.87,.45],["c",-.45,.36,-.75,.93,-.93,1.77],["c",-.18,.81,-.24,1.8,-.24,4.74],["c",0,2.97,.06,3.96,.24,4.77],["c",.24,1.08,.66,1.68,1.41,2.07],["c",.12,.06,.3,.12,.33,.15],["l",.09,0],["l",0,-6.96],["z"]],w:13.038,h:20.97},"timesig.imperfectum":{d:[["M",13,-5],["a",8,8,0,1,0,0,10]],w:13.038,h:20.97},"timesig.imperfectum2":{d:[["M",13,-5],["a",8,8,0,1,0,0,10]],w:13.038,h:20.97},"timesig.perfectum":{d:[["M",13,-5],["a",8,8,0,1,0,0,10]],w:13.038,h:20.97},"timesig.perfectum2":{d:[["M",13,-5],["a",8,8,0,1,0,0,10]],w:13.038,h:20.97},f:{d:[["M",9.93,-14.28],["c",1.53,-.18,2.88,.45,3.12,1.5],["c",.12,.51,0,1.32,-.27,1.86],["c",-.15,.3,-.42,.57,-.63,.69],["c",-.69,.36,-1.56,.03,-1.83,-.69],["c",-.09,-.24,-.09,-.69,0,-.87],["c",.06,-.12,.21,-.24,.45,-.42],["c",.42,-.24,.57,-.45,.6,-.72],["c",.03,-.33,-.09,-.39,-.63,-.42],["c",-.3,0,-.45,0,-.6,.03],["c",-.81,.21,-1.35,.93,-1.74,2.46],["c",-.06,.27,-.48,2.25,-.48,2.31],["c",0,.03,.39,.03,.9,.03],["c",.72,0,.9,0,.99,.06],["c",.42,.15,.45,.72,.03,.9],["c",-.12,.06,-.24,.06,-1.17,.06],["l",-1.05,0],["l",-.78,2.55],["c",-.45,1.41,-.87,2.79,-.96,3.06],["c",-.87,2.37,-2.37,4.74,-3.78,5.91],["c",-1.05,.9,-2.04,1.23,-3.09,1.08],["c",-1.11,-.18,-1.89,-.78,-2.04,-1.59],["c",-.12,-.66,.15,-1.71,.54,-2.19],["c",.69,-.75,1.86,-.54,2.22,.39],["c",.06,.15,.09,.27,.09,.48],["c",0,.24,-.03,.27,-.12,.42],["c",-.03,.09,-.15,.18,-.27,.27],["c",-.09,.06,-.27,.21,-.36,.27],["c",-.24,.18,-.36,.36,-.39,.6],["c",-.03,.33,.09,.39,.63,.42],["c",.42,0,.63,-.03,.9,-.15],["c",.6,-.3,.96,-.96,1.38,-2.64],["c",.09,-.42,.63,-2.55,1.17,-4.77],["l",1.02,-4.08],["c",0,-.03,-.36,-.03,-.81,-.03],["c",-.72,0,-.81,0,-.93,-.06],["c",-.42,-.18,-.39,-.75,.03,-.9],["c",.09,-.06,.27,-.06,1.05,-.06],["l",.96,0],["l",0,-.09],["c",.06,-.18,.3,-.72,.51,-1.17],["c",1.2,-2.46,3.3,-4.23,5.34,-4.5],["z"]],w:16.155,h:19.445},m:{d:[["M",2.79,-8.91],["c",.09,0,.3,-.03,.45,-.03],["c",.24,.03,.3,.03,.45,.12],["c",.36,.15,.63,.54,.75,1.02],["l",.03,.21],["l",.33,-.3],["c",.69,-.69,1.38,-1.02,2.07,-1.02],["c",.27,0,.33,0,.48,.06],["c",.21,.09,.48,.36,.63,.6],["c",.03,.09,.12,.27,.18,.42],["c",.03,.15,.09,.27,.12,.27],["c",0,0,.09,-.09,.18,-.21],["c",.33,-.39,.87,-.81,1.29,-.99],["c",.78,-.33,1.47,-.21,2.01,.33],["c",.3,.33,.48,.69,.6,1.14],["c",.09,.42,.06,.54,-.54,3.06],["c",-.33,1.29,-.57,2.4,-.57,2.43],["c",0,.12,.09,.21,.21,.21],["c",.24,0,.75,-.3,1.2,-.72],["c",.45,-.39,.6,-.45,.78,-.27],["c",.18,.18,.09,.36,-.45,.87],["c",-1.05,.96,-1.83,1.47,-2.58,1.71],["c",-.93,.33,-1.53,.21,-1.8,-.33],["c",-.06,-.15,-.06,-.21,-.06,-.45],["c",0,-.24,.03,-.48,.6,-2.82],["c",.42,-1.71,.6,-2.64,.63,-2.79],["c",.03,-.57,-.3,-.75,-.84,-.48],["c",-.24,.12,-.54,.39,-.66,.63],["c",-.03,.09,-.42,1.38,-.9,3],["c",-.9,3.15,-.84,3,-1.14,3.15],["l",-.15,.09],["l",-.78,0],["c",-.6,0,-.78,0,-.84,-.06],["c",-.09,-.03,-.18,-.18,-.18,-.27],["c",0,-.03,.36,-1.38,.84,-2.97],["c",.57,-2.04,.81,-2.97,.84,-3.12],["c",.03,-.54,-.3,-.72,-.84,-.45],["c",-.24,.12,-.57,.42,-.66,.63],["c",-.06,.09,-.51,1.44,-1.05,2.97],["c",-.51,1.56,-.99,2.85,-.99,2.91],["c",-.06,.12,-.21,.24,-.36,.3],["c",-.12,.06,-.21,.06,-.9,.06],["c",-.6,0,-.78,0,-.84,-.06],["c",-.09,-.03,-.18,-.18,-.18,-.27],["c",0,-.03,.45,-1.38,.99,-2.97],["c",1.05,-3.18,1.05,-3.18,.93,-3.45],["c",-.12,-.27,-.39,-.3,-.72,-.15],["c",-.54,.27,-1.14,1.17,-1.56,2.4],["c",-.06,.15,-.15,.3,-.18,.36],["c",-.21,.21,-.57,.27,-.72,.09],["c",-.09,-.09,-.06,-.21,.06,-.63],["c",.48,-1.26,1.26,-2.46,2.01,-3.21],["c",.57,-.54,1.2,-.87,1.83,-1.02],["z"]],w:14.687,h:9.126},p:{d:[["M",1.92,-8.7],["c",.27,-.09,.81,-.06,1.11,.03],["c",.54,.18,.93,.51,1.17,.99],["c",.09,.15,.15,.33,.18,.36],["l",0,.12],["l",.3,-.27],["c",.66,-.6,1.35,-1.02,2.13,-1.2],["c",.21,-.06,.33,-.06,.78,-.06],["c",.45,0,.51,0,.84,.09],["c",1.29,.33,2.07,1.32,2.25,2.79],["c",.09,.81,-.09,2.01,-.45,2.79],["c",-.54,1.26,-1.86,2.55,-3.18,3.03],["c",-.45,.18,-.81,.24,-1.29,.24],["c",-.69,-.03,-1.35,-.18,-1.86,-.45],["c",-.3,-.15,-.51,-.18,-.69,-.09],["c",-.09,.03,-.18,.09,-.18,.12],["c",-.09,.12,-1.05,2.94,-1.05,3.06],["c",0,.24,.18,.48,.51,.63],["c",.18,.06,.54,.15,.75,.15],["c",.21,0,.36,.06,.42,.18],["c",.12,.18,.06,.42,-.12,.54],["c",-.09,.03,-.15,.03,-.78,0],["c",-1.98,-.15,-3.81,-.15,-5.79,0],["c",-.63,.03,-.69,.03,-.78,0],["c",-.24,-.15,-.24,-.57,.03,-.66],["c",.06,-.03,.48,-.09,.99,-.12],["c",.87,-.06,1.11,-.09,1.35,-.21],["c",.18,-.06,.33,-.18,.39,-.3],["c",.06,-.12,3.24,-9.42,3.27,-9.6],["c",.06,-.33,.03,-.57,-.15,-.69],["c",-.09,-.06,-.12,-.06,-.3,-.06],["c",-.69,.06,-1.53,1.02,-2.28,2.61],["c",-.09,.21,-.21,.45,-.27,.51],["c",-.09,.12,-.33,.24,-.48,.24],["c",-.18,0,-.36,-.15,-.36,-.3],["c",0,-.24,.78,-1.83,1.26,-2.55],["c",.72,-1.11,1.47,-1.74,2.28,-1.92],["z"],["m",5.37,1.47],["c",-.27,-.12,-.75,-.03,-1.14,.21],["c",-.75,.48,-1.47,1.68,-1.89,3.15],["c",-.45,1.47,-.42,2.34,0,2.7],["c",.45,.39,1.26,.21,1.83,-.36],["c",.51,-.51,.99,-1.68,1.38,-3.27],["c",.3,-1.17,.33,-1.74,.15,-2.13],["c",-.09,-.15,-.15,-.21,-.33,-.3],["z"]],w:14.689,h:13.127},r:{d:[["M",6.33,-9.12],["c",.27,-.03,.93,0,1.2,.06],["c",.84,.21,1.23,.81,1.02,1.53],["c",-.24,.75,-.9,1.17,-1.56,.96],["c",-.33,-.09,-.51,-.3,-.66,-.75],["c",-.03,-.12,-.09,-.24,-.12,-.3],["c",-.09,-.15,-.3,-.24,-.48,-.24],["c",-.57,0,-1.38,.54,-1.65,1.08],["c",-.06,.15,-.33,1.17,-.9,3.27],["c",-.57,2.31,-.81,3.12,-.87,3.21],["c",-.03,.06,-.12,.15,-.18,.21],["l",-.12,.06],["l",-.81,.03],["c",-.69,0,-.81,0,-.9,-.03],["c",-.09,-.06,-.18,-.21,-.18,-.3],["c",0,-.06,.39,-1.62,.9,-3.51],["c",.84,-3.24,.87,-3.45,.87,-3.72],["c",0,-.21,0,-.27,-.03,-.36],["c",-.12,-.15,-.21,-.24,-.42,-.24],["c",-.24,0,-.45,.15,-.78,.42],["c",-.33,.36,-.45,.54,-.72,1.14],["c",-.03,.12,-.21,.24,-.36,.27],["c",-.12,0,-.15,0,-.24,-.06],["c",-.18,-.12,-.18,-.21,-.06,-.54],["c",.21,-.57,.42,-.93,.78,-1.32],["c",.54,-.51,1.2,-.81,1.95,-.87],["c",.81,-.03,1.53,.3,1.92,.87],["l",.12,.18],["l",.09,-.09],["c",.57,-.45,1.41,-.84,2.19,-.96],["z"]],w:9.41,h:9.132},s:{d:[["M",4.47,-8.73],["c",.09,0,.36,-.03,.57,-.03],["c",.75,.03,1.29,.24,1.71,.63],["c",.51,.54,.66,1.26,.36,1.83],["c",-.24,.42,-.63,.57,-1.11,.42],["c",-.33,-.09,-.6,-.36,-.6,-.57],["c",0,-.03,.06,-.21,.15,-.39],["c",.12,-.21,.15,-.33,.18,-.48],["c",0,-.24,-.06,-.48,-.15,-.6],["c",-.15,-.21,-.42,-.24,-.75,-.15],["c",-.27,.06,-.48,.18,-.69,.36],["c",-.39,.39,-.51,.96,-.33,1.38],["c",.09,.21,.42,.51,.78,.72],["c",1.11,.69,1.59,1.11,1.89,1.68],["c",.21,.39,.24,.78,.15,1.29],["c",-.18,1.2,-1.17,2.16,-2.52,2.52],["c",-1.02,.24,-1.95,.12,-2.7,-.42],["c",-.72,-.51,-.99,-1.47,-.6,-2.19],["c",.24,-.48,.72,-.63,1.17,-.42],["c",.33,.18,.54,.45,.57,.81],["c",0,.21,-.03,.3,-.33,.51],["c",-.33,.24,-.39,.42,-.27,.69],["c",.06,.15,.21,.27,.45,.33],["c",.3,.09,.87,.09,1.2,0],["c",.75,-.21,1.23,-.72,1.29,-1.35],["c",.03,-.42,-.15,-.81,-.54,-1.2],["c",-.24,-.24,-.48,-.42,-1.41,-1.02],["c",-.69,-.42,-1.05,-.93,-1.05,-1.47],["c",0,-.39,.12,-.87,.3,-1.23],["c",.27,-.57,.78,-1.05,1.38,-1.35],["c",.24,-.12,.63,-.27,.9,-.3],["z"]],w:6.632,h:8.758},z:{d:[["M",2.64,-7.95],["c",.36,-.09,.81,-.03,1.71,.27],["c",.78,.21,.96,.27,1.74,.3],["c",.87,.06,1.02,.03,1.38,-.21],["c",.21,-.15,.33,-.15,.48,-.06],["c",.15,.09,.21,.3,.15,.45],["c",-.03,.06,-1.26,1.26,-2.76,2.67],["l",-2.73,2.55],["l",.54,.03],["c",.54,.03,.72,.03,2.01,.15],["c",.36,.03,.9,.06,1.2,.09],["c",.66,0,.81,-.03,1.02,-.24],["c",.3,-.3,.39,-.72,.27,-1.23],["c",-.06,-.27,-.06,-.27,-.03,-.39],["c",.15,-.3,.54,-.27,.69,.03],["c",.15,.33,.27,1.02,.27,1.5],["c",0,1.47,-1.11,2.7,-2.52,2.79],["c",-.57,.03,-1.02,-.09,-2.01,-.51],["c",-1.02,-.42,-1.23,-.48,-2.13,-.54],["c",-.81,-.06,-.96,-.03,-1.26,.18],["c",-.12,.06,-.24,.12,-.27,.12],["c",-.27,0,-.45,-.3,-.36,-.51],["c",.03,-.06,1.32,-1.32,2.91,-2.79],["l",2.88,-2.73],["c",-.03,0,-.21,.03,-.42,.06],["c",-.21,.03,-.78,.09,-1.23,.12],["c",-1.11,.12,-1.23,.15,-1.95,.27],["c",-.72,.15,-1.17,.18,-1.29,.09],["c",-.27,-.18,-.21,-.75,.12,-1.26],["c",.39,-.6,.93,-1.02,1.59,-1.2],["z"]],w:8.573,h:8.743},"+":{d:[["M",3.48,-9.3],["c",.18,-.09,.36,-.09,.54,0],["c",.18,.09,.24,.15,.33,.3],["l",.06,.15],["l",0,1.29],["l",0,1.29],["l",1.29,0],["c",1.23,0,1.29,0,1.41,.06],["c",.06,.03,.15,.09,.18,.12],["c",.12,.09,.21,.33,.21,.48],["c",0,.15,-.09,.39,-.21,.48],["c",-.03,.03,-.12,.09,-.18,.12],["c",-.12,.06,-.18,.06,-1.41,.06],["l",-1.29,0],["l",0,1.29],["c",0,1.23,0,1.29,-.06,1.41],["c",-.09,.18,-.15,.24,-.3,.33],["c",-.21,.09,-.39,.09,-.57,0],["c",-.18,-.09,-.24,-.15,-.33,-.33],["c",-.06,-.12,-.06,-.18,-.06,-1.41],["l",0,-1.29],["l",-1.29,0],["c",-1.23,0,-1.29,0,-1.41,-.06],["c",-.18,-.09,-.24,-.15,-.33,-.33],["c",-.09,-.18,-.09,-.36,0,-.54],["c",.09,-.18,.15,-.24,.33,-.33],["l",.15,-.06],["l",1.26,0],["l",1.29,0],["l",0,-1.29],["c",0,-1.23,0,-1.29,.06,-1.41],["c",.09,-.18,.15,-.24,.33,-.33],["z"]],w:7.507,h:7.515},",":{d:[["M",1.85,-3.36],["c",.57,-.15,1.17,.03,1.59,.45],["c",.45,.45,.6,.96,.51,1.89],["c",-.09,1.23,-.42,2.46,-.99,3.93],["c",-.3,.72,-.72,1.62,-.78,1.68],["c",-.18,.21,-.51,.18,-.66,-.06],["c",-.03,-.06,-.06,-.15,-.06,-.18],["c",0,-.06,.12,-.33,.24,-.63],["c",.84,-1.8,1.02,-2.61,.69,-3.24],["c",-.12,-.24,-.27,-.36,-.75,-.6],["c",-.36,-.15,-.42,-.21,-.6,-.39],["c",-.69,-.69,-.69,-1.71,0,-2.4],["c",.21,-.21,.51,-.39,.81,-.45],["z"]],w:3.452,h:8.143},"-":{d:[["M",.18,-5.34],["c",.09,-.06,.15,-.06,2.31,-.06],["c",2.46,0,2.37,0,2.46,.21],["c",.12,.21,.03,.42,-.15,.54],["c",-.09,.06,-.15,.06,-2.28,.06],["c",-2.16,0,-2.22,0,-2.31,-.06],["c",-.27,-.15,-.27,-.54,-.03,-.69],["z"]],w:5.001,h:.81},".":{d:[["M",1.32,-3.36],["c",1.05,-.27,2.1,.57,2.1,1.65],["c",0,1.08,-1.05,1.92,-2.1,1.65],["c",-.9,-.21,-1.5,-1.14,-1.26,-2.04],["c",.12,-.63,.63,-1.11,1.26,-1.26],["z"]],w:3.413,h:3.402},"scripts.wedge":{d:[["M",-3.66,-7.44],["c",.06,-.09,0,-.09,.81,.03],["c",1.86,.3,3.84,.3,5.73,0],["c",.78,-.12,.72,-.12,.78,-.03],["c",.15,.15,.12,.24,-.24,.6],["c",-.93,.93,-1.98,2.76,-2.67,4.62],["c",-.3,.78,-.51,1.71,-.51,2.13],["c",0,.15,0,.18,-.06,.27],["c",-.12,.09,-.24,.09,-.36,0],["c",-.06,-.09,-.06,-.12,-.06,-.27],["c",0,-.42,-.21,-1.35,-.51,-2.13],["c",-.69,-1.86,-1.74,-3.69,-2.67,-4.62],["c",-.36,-.36,-.39,-.45,-.24,-.6],["z"]],w:7.49,h:7.752},"scripts.thumb":{d:[["M",-.54,-3.69],["c",.15,-.03,.36,-.06,.51,-.06],["c",1.44,0,2.58,1.11,2.94,2.85],["c",.09,.48,.09,1.32,0,1.8],["c",-.27,1.41,-1.08,2.43,-2.16,2.73],["l",-.18,.06],["l",0,.12],["c",.03,.06,.06,.45,.09,.87],["c",.03,.57,.03,.78,0,.84],["c",-.09,.27,-.39,.48,-.66,.48],["c",-.27,0,-.57,-.21,-.66,-.48],["c",-.03,-.06,-.03,-.27,0,-.84],["c",.03,-.42,.06,-.81,.09,-.87],["l",0,-.12],["l",-.18,-.06],["c",-1.08,-.3,-1.89,-1.32,-2.16,-2.73],["c",-.09,-.48,-.09,-1.32,0,-1.8],["c",.15,-.84,.51,-1.53,1.02,-2.04],["c",.39,-.39,.84,-.63,1.35,-.75],["z"],["m",1.05,.9],["c",-.15,-.09,-.21,-.09,-.45,-.12],["c",-.15,0,-.3,.03,-.39,.03],["c",-.57,.18,-.9,.72,-1.08,1.74],["c",-.06,.48,-.06,1.8,0,2.28],["c",.15,.9,.42,1.44,.9,1.65],["c",.18,.09,.21,.09,.51,.09],["c",.3,0,.33,0,.51,-.09],["c",.48,-.21,.75,-.75,.9,-1.65],["c",.03,-.27,.03,-.54,.03,-1.14],["c",0,-.6,0,-.87,-.03,-1.14],["c",-.15,-.9,-.45,-1.44,-.9,-1.65],["z"]],w:5.955,h:9.75},"scripts.open":{d:[["M",-.54,-3.69],["c",.15,-.03,.36,-.06,.51,-.06],["c",1.44,0,2.58,1.11,2.94,2.85],["c",.09,.48,.09,1.32,0,1.8],["c",-.33,1.74,-1.47,2.85,-2.91,2.85],["c",-1.44,0,-2.58,-1.11,-2.91,-2.85],["c",-.09,-.48,-.09,-1.32,0,-1.8],["c",.15,-.84,.51,-1.53,1.02,-2.04],["c",.39,-.39,.84,-.63,1.35,-.75],["z"],["m",1.11,.9],["c",-.21,-.09,-.27,-.09,-.51,-.12],["c",-.3,0,-.42,.03,-.66,.15],["c",-.24,.12,-.51,.39,-.66,.63],["c",-.54,.93,-.63,2.64,-.21,3.81],["c",.21,.54,.51,.9,.93,1.11],["c",.21,.09,.24,.09,.54,.09],["c",.3,0,.33,0,.54,-.09],["c",.42,-.21,.72,-.57,.93,-1.11],["c",.36,-.99,.36,-2.37,0,-3.36],["c",-.21,-.54,-.51,-.9,-.9,-1.11],["z"]],w:5.955,h:7.5},"scripts.longphrase":{d:[["M",1.47,-15.09],["c",.36,-.09,.66,-.18,.69,-.18],["c",.06,0,.06,.54,.06,11.25],["l",0,11.25],["l",-.63,.15],["c",-.66,.18,-1.44,.39,-1.5,.39],["c",-.03,0,-.03,-3.39,-.03,-11.25],["l",0,-11.25],["l",.36,-.09],["c",.21,-.06,.66,-.18,1.05,-.27],["z"]],w:2.16,h:23.04},"scripts.mediumphrase":{d:[["M",1.47,-7.59],["c",.36,-.09,.66,-.18,.69,-.18],["c",.06,0,.06,.39,.06,7.5],["l",0,7.5],["l",-.63,.15],["c",-.66,.18,-1.44,.39,-1.5,.39],["c",-.03,0,-.03,-2.28,-.03,-7.5],["l",0,-7.5],["l",.36,-.09],["c",.21,-.06,.66,-.18,1.05,-.27],["z"]],w:2.16,h:15.54},"scripts.shortphrase":{d:[["M",1.47,-7.59],["c",.36,-.09,.66,-.18,.69,-.18],["c",.06,0,.06,.21,.06,3.75],["l",0,3.75],["l",-.42,.09],["c",-.57,.18,-1.65,.45,-1.71,.45],["c",-.03,0,-.03,-.72,-.03,-3.75],["l",0,-3.75],["l",.36,-.09],["c",.21,-.06,.66,-.18,1.05,-.27],["z"]],w:2.16,h:8.04},"scripts.snap":{d:[["M",4.5,-3.39],["c",.36,-.03,.96,-.03,1.35,0],["c",1.56,.15,3.15,.9,4.2,2.01],["c",.24,.27,.33,.42,.33,.6],["c",0,.27,.03,.24,-2.46,2.22],["c",-1.29,1.02,-2.4,1.86,-2.49,1.92],["c",-.18,.09,-.3,.09,-.48,0],["c",-.09,-.06,-1.2,-.9,-2.49,-1.92],["c",-2.49,-1.98,-2.46,-1.95,-2.46,-2.22],["c",0,-.18,.09,-.33,.33,-.6],["c",1.05,-1.08,2.64,-1.86,4.17,-2.01],["z"],["m",1.29,1.17],["c",-1.47,-.15,-2.97,.3,-4.14,1.2],["l",-.18,.15],["l",.06,.09],["c",.15,.12,3.63,2.85,3.66,2.85],["c",.03,0,3.51,-2.73,3.66,-2.85],["l",.06,-.09],["l",-.18,-.15],["c",-.84,-.66,-1.89,-1.08,-2.94,-1.2],["z"]],w:10.38,h:6.84}};a["noteheads.slash.whole"]={d:[["M",5,-5],["l",1,1],["l",-5,5],["l",-1,-1],["z"],["m",4,6],["l",-5,-5],["l",2,-2],["l",5,5],["z"],["m",0,-2],["l",1,1],["l",-5,5],["l",-1,-1],["z"],["m",-4,6],["l",-5,-5],["l",2,-2],["l",5,5],["z"]],w:10.81,h:15.63},a["noteheads.slash.quarter"]={d:[["M",9,-6],["l",0,4],["l",-9,9],["l",0,-4],["z"]],w:9,h:9},a["noteheads.harmonic.quarter"]={d:[["M",3.63,-4.02],["c",.09,-.06,.18,-.09,.24,-.03],["c",.03,.03,.87,.93,1.83,2.01],["c",1.5,1.65,1.8,1.98,1.8,2.04],["c",0,.06,-.3,.39,-1.8,2.04],["c",-.96,1.08,-1.8,1.98,-1.83,2.01],["c",-.06,.06,-.15,.03,-.24,-.03],["c",-.12,-.09,-3.54,-3.84,-3.6,-3.93],["c",-.03,-.03,-.03,-.09,-.03,-.15],["c",.03,-.06,3.45,-3.84,3.63,-3.96],["z"]],w:7.5,h:8.165},a["noteheads.triangle.quarter"]={d:[["M",0,4],["l",9,0],["l",-4.5,-9],["z"]],w:9,h:9};var r=function(c){for(var s=[],d=0,p=c.length;d0?m.top+3:m.bottom-1,g=p>0?m.top+3:m.bottom-3,v=g-2;c.type==="bass-8"&&(o=3,l=0),m.addRight(new r("8",_+l,a.getSymbolWidth("8")*u,o,{scalex:u,scaley:u,top:g,bottom:v}))}}return m};function i(c){switch(c){case"clefs.G":return-5;case"clefs.C":return-4;case"clefs.F":return-4;case"clefs.perc":return-2;default:return 0}}return i0=n,i0}var n0,s_;function z4(){if(s_)return n0;s_=1;var t=_o(),a=es(),r=nr(),n=function(i,c){if(i.el_type="keySignature",!i.accidentals||i.accidentals.length===0)return null;var s=new t(i,0,10,"staff-extra key-signature",c);s.isKeySig=!0;var d=0;return i.accidentals.forEach(function(p){var m,_=0;switch(p.acc){case"sharp":m="accidentals.sharp",_=-3;break;case"natural":m="accidentals.nat";break;case"flat":m="accidentals.flat",_=-1.2;break;case"quartersharp":m="accidentals.halfsharp",_=-2.5;break;case"quarterflat":m="accidentals.halfflat",_=-1.2;break;default:m="accidentals.flat"}s.addRight(new r(m,d,a.getSymbolWidth(m),p.verticalPos,{thickness:a.symbolHeightInPitches(m),top:p.verticalPos+a.symbolHeightInPitches(m)+_,bottom:p.verticalPos+_})),d+=a.getSymbolWidth(m)+2},this),s};return n0=n,n0}var r0,o_;function j4(){if(o_)return r0;o_=1;var t=es(),a=nr(),r=function(n,i,c,s){s||(s={});var d=s.dir!==void 0?s.dir:null,p=s.headx!==void 0?s.headx:0,m=s.extrax!==void 0?s.extrax:0,_=s.flag!==void 0?s.flag:null,h=s.dot!==void 0?s.dot:0,f=s.dotshiftx!==void 0?s.dotshiftx:0,u=s.scale!==void 0?s.scale:1,l=s.accidentalSlot!==void 0?s.accidentalSlot:[],o=s.shouldExtendStem!==void 0?s.shouldExtendStem:!1,g=s.printAccidentals!==void 0?s.printAccidentals:!0,v=s.chordPos,b=c.verticalPos,k,w=0,T=0,N=0;if(i===void 0)n.addFixed(new a("pitch is undefined",0,0,0,{type:"debug"}));else if(i==="")k=new a(null,0,0,b,{chordPos:v});else{var R=p;if(c.printer_shift){var F=c.printer_shift==="same"?1:0;R=d==="down"?-t.getSymbolWidth(i)*u+F:t.getSymbolWidth(i)*u-F}var D={scalex:u,scaley:u,thickness:t.symbolHeightInPitches(i)*u,name:c.name,chordPos:v};if(k=new a(i,R,t.getSymbolWidth(i)*u,b,D),k.stemDir=d,_){var I=b+(d==="down"?-7:7)*u;o&&(d==="down"&&I>6&&(I=6),d==="up"&&I<6&&(I=6));var S=d==="down"?p:p+k.w-.6;n.addRight(new a(_,S,t.getSymbolWidth(_)*u,I,{scalex:u,scaley:u,chordPos:v}))}for(T=k.w+f-2+5*h;h>0;h--){var E=1-Math.abs(b)%2;n.addRight(new a("dots.dot",k.w+f-2+5*h,t.getSymbolWidth("dots.dot"),b+E,{chordPos:v}))}}if(k&&(k.highestVert=c.highestVert),g&&c.accidental){var V;switch(c.accidental){case"quartersharp":V="accidentals.halfsharp";break;case"dblsharp":V="accidentals.dblsharp";break;case"sharp":V="accidentals.sharp";break;case"quarterflat":V="accidentals.halfflat";break;case"flat":V="accidentals.flat";break;case"dblflat":V="accidentals.dblflat";break;case"natural":V="accidentals.nat"}for(var G=!1,$=m,C=0;C=6){l[C][0]=b,$=l[C][1],G=!0;break}G===!1&&($-=t.getSymbolWidth(V)*u+2,l.push([b,$]),w=t.getSymbolWidth(V)*u+2);var A=t.symbolHeightInPitches(V);n.addExtra(new a(V,$,t.getSymbolWidth(V),b,{scalex:u,scaley:u,top:b+A/2,bottom:b-A/2,chordPos:v})),N=t.getSymbolWidth(V)/2}return{notehead:k,accidentalshiftx:w,dotshiftx:T,extraLeft:N}};return r0=r,r0}var s0,c_;function U4(){if(c_)return s0;c_=1;var t=_o(),a=es(),r=nr(),n=function(i,c){i.el_type="timeSignature";var s=new t(i,0,10,"staff-extra time-signature",c);if(i.type==="specified")for(var d=0,p=0;p0)this.above=!1;else{var a;this.anchor1?a=this.anchor1.pitch:this.anchor2?a=this.anchor2.pitch:a=14,this.anchor1&&this.anchor1.stemDir==="down"&&this.anchor2&&this.anchor2.stemDir==="down"?this.above=!0:this.anchor1&&this.anchor1.stemDir==="up"&&this.anchor2&&this.anchor2.stemDir==="up"?this.above=!1:this.anchor1&&this.anchor2?this.above=a>=6:this.anchor1?this.above=this.anchor1.stemDir==="down":this.anchor2?this.above=this.anchor2.stemDir==="down":this.above=a>=6}},t.prototype.calcSlurDirection=function(){if(this.isGrace)this.above=!1;else if(this.voiceNumber===0)this.above=!0;else if(this.voiceNumber>0)this.above=!1;else{var a=!1;this.anchor1&&this.anchor1.stemDir==="down"&&(a=!0),this.anchor2&&this.anchor2.stemDir==="down"&&(a=!0);for(var r=0;ra&&(a=this.internalNotes[r].highestVert);a>this.startY&&a>this.endY&&(this.startY=this.endY=a-1)}},t.prototype.getYBounds=function(){var a=10,r=1e3;this.isTie?(this.calcTieDirection(),this.calcX(a,r),this.calcTieY()):(this.calcSlurDirection(),this.calcX(a,r),this.calcSlurY());var n,i;return this.above?(i=Math.min(this.startY,this.endY),n=i+3):(n=Math.min(this.startY,this.endY),i=n-3),[n,i]},d0=t,d0}var u0,m_;function P4(){if(m_)return u0;m_=1;var t=E4(),a=R4(),r=B4(),n=es(),i=nr(),c=p_(),s=function(){this.startDiminuendoX=void 0,this.startCrescendoX=void 0,this.minTop=12,this.minBottom=0},d=function(l,o,g,v,b,k,w,T,N){for(var R,F=0;F9&&R++;var I=v/2;n.getSymbolAlign(D)!=="center"&&(I-=n.getSymbolWidth(D)/2),b.addFixedX(new i(D,I,n.getSymbolWidth(D),R))}if(o[F]==="slide"&&b.heads[0]){var S=b.heads[0].pitch;S-=2;var E=new i("",-k-15,0,S-1),V=new i("",-k-5,0,S+1);b.addFixedX(E),b.addFixedX(V),l.addOther(new c({anchor1:E,anchor2:V,fixedY:!0}))}}return R===void 0&&(R=g),{above:R,below:b.bottom}},p=function(l,o,g,v){for(var b=0;bw&&(G=w)),G}function F(V,G,$){var C=R(G),A=2,P=5;g.addFixedX(new i(V,o/2,0,C+A,{type:"decoration",klass:"ornament",thickness:3,anchor:$})),N(G,P)}function D(V,G){var $=o/2;n.getSymbolAlign(V)!=="center"&&($-=n.getSymbolWidth(V)/2);var C=n.symbolHeightInPitches(V)+1,A=R(G);A=G==="above"?A+C/2:A-C/2,g.addFixedX(new i(V,$,n.getSymbolWidth(V),A,{klass:"ornament",thickness:n.symbolHeightInPitches(V),position:G})),N(G,C)}for(var I={"+":"scripts.stopped",open:"scripts.open",snap:"scripts.snap",wedge:"scripts.wedge",thumb:"scripts.thumb",shortphrase:"scripts.shortphrase",mediumphrase:"scripts.mediumphrase",longphrase:"scripts.longphrase",trill:"scripts.trill",trillh:"scripts.trill",roll:"scripts.roll",irishroll:"scripts.roll",marcato:"scripts.umarcato",dmarcato:"scripts.dmarcato",umarcato:"scripts.umarcato",turn:"scripts.turn",uppermordent:"scripts.prall",pralltriller:"scripts.prall",mordent:"scripts.mordent",lowermordent:"scripts.mordent",downbow:"scripts.downbow",upbow:"scripts.upbow",fermata:"scripts.ufermata",invertedfermata:"scripts.dfermata",breath:",",coda:"scripts.coda",segno:"scripts.segno"},S=!1,E=0;E",this.dynamicPositioning)),this.startDiminuendoX=void 0),this.startCrescendoX&&(l.addOther(new a(this.startCrescendoX,u(l.children),"<",this.dynamicPositioning)),this.startCrescendoX=void 0)},s.prototype.dynamicDecoration=function(l,o,g,v){for(var b,k,w,T=0;T",v)),k&&l.addOther(new a(k.start,k.stop,"<",v)),w&&l.addOther(new r(w.start,w.stop))};function f(l){for(var o=0;o=0;$--){var N=w[$],R=0,F;p||(N=r(N,b,k));var D=f.calc(N,m,_),I=D.width,S=D.height/a.STEP;switch(s){case"left":o+=I+7,R=-o,F=l.averagepitch,u.addExtra(new t(N,R,I+4,F,{type:"text",height:S,dim:h,position:"left"}));break;case"right":g+=4,R=g,F=l.averagepitch,u.addRight(new t(N,R,I+4,F,{type:"text",height:S,dim:h,position:"right"}));break;case"below":u.addRight(new t(N,0,0,void 0,{type:"text",position:"below",height:S,dim:h,realWidth:I}));break;case"above":u.addRight(new t(N,0,0,void 0,{type:"text",position:"above",height:S,dim:h,realWidth:I}));break;default:if(d){var j=d.y+3*a.STEP;u.addRight(new t(N,R+d.x,0,l.minpitch+j/a.STEP,{position:"relative",type:"text",height:S,dim:h}))}else{var V="above";l.positioning&&l.positioning.chordPosition&&(V=l.positioning.chordPosition),V!=="hidden"&&u.addCentered(new t(N,v/2,I,void 0,{type:"chord",position:V,height:S,dim:h,realWidth:I}))}}}return{roomTaken:o,roomTakenRight:g}}return v0=n,v0}var b0,k_;function V4(){if(k_)return b0;k_=1;var t=po(),a=$4(),r=q4(),n=G4(),i=F4(),c=A4(),s=C4(),d=j4(),p=U4(),m=Zr(),_=ar(),h=Zi(),f=B4(),u=P4(),l=f_(),o=N4(),g=Eh(),v=L4(),b=Sh(),k=tr(),w=function(G){var T=0;return G.duration&&(T=G.duration),T},$=!1,N={rest:{0:"rests.whole",1:"rests.half",2:"rests.quarter",3:"rests.8th",4:"rests.16th",5:"rests.32nd",6:"rests.64th",7:"rests.128th",multi:"rests.multimeasure"},note:{"-1":"noteheads.dbl",0:"noteheads.whole",1:"noteheads.half",2:"noteheads.quarter",3:"noteheads.quarter",4:"noteheads.quarter",5:"noteheads.quarter",6:"noteheads.quarter",7:"noteheads.quarter",nostem:"noteheads.quarter"},rhythm:{"-1":"noteheads.slash.whole",0:"noteheads.slash.whole",1:"noteheads.slash.whole",2:"noteheads.slash.quarter",3:"noteheads.slash.quarter",4:"noteheads.slash.quarter",5:"noteheads.slash.quarter",6:"noteheads.slash.quarter",7:"noteheads.slash.quarter",nostem:"noteheads.slash.nostem"},x:{"-1":"noteheads.indeterminate",0:"noteheads.indeterminate",1:"noteheads.indeterminate",2:"noteheads.indeterminate",3:"noteheads.indeterminate",4:"noteheads.indeterminate",5:"noteheads.indeterminate",6:"noteheads.indeterminate",7:"noteheads.indeterminate",nostem:"noteheads.indeterminate"},harmonic:{"-1":"noteheads.harmonic.quarter",0:"noteheads.harmonic.quarter",1:"noteheads.harmonic.quarter",2:"noteheads.harmonic.quarter",3:"noteheads.harmonic.quarter",4:"noteheads.harmonic.quarter",5:"noteheads.harmonic.quarter",6:"noteheads.harmonic.quarter",7:"noteheads.harmonic.quarter",nostem:"noteheads.harmonic.quarter"},triangle:{"-1":"noteheads.triangle.quarter",0:"noteheads.triangle.quarter",1:"noteheads.triangle.quarter",2:"noteheads.triangle.quarter",3:"noteheads.triangle.quarter",4:"noteheads.triangle.quarter",5:"noteheads.triangle.quarter",6:"noteheads.triangle.quarter",7:"noteheads.triangle.quarter",nostem:"noteheads.triangle.quarter"},uflags:{3:"flags.u8th",4:"flags.u16th",5:"flags.u32nd",6:"flags.u64th"},dflags:{3:"flags.d8th",4:"flags.d16th",5:"flags.d32nd",6:"flags.d64th"}},R=function(G,T,C){this.decoration=new d,this.getTextSize=G,this.tuneNumber=T,this.isBagpipes=C.bagpipes,this.flatBeams=C.flatbeams,this.graceSlurs=C.graceSlurs,this.percmap=C.percmap,this.initialClef=C.initialClef,this.jazzchords=!!C.jazzchords,this.accentAbove=!!C.accentAbove,this.germanAlphabet=!!C.germanAlphabet,this.reset()};R.prototype.reset=function(){this.slurs={},this.ties=[],this.voiceScale=1,this.voiceColor=void 0,this.slursbyvoice={},this.tiesbyvoice={},this.endingsbyvoice={},this.scaleByVoice={},this.colorByVoice={},this.tripletmultiplier=1,this.abcline=void 0,this.accidentalSlot=void 0,this.accidentalshiftx=void 0,this.dotshiftx=void 0,this.hasVocals=!1,this.minY=void 0,this.partstartelem=void 0,this.startlimitelem=void 0,this.stemdir=void 0},R.prototype.setStemHeight=function(G){this.stemHeight=Math.round(G*10/h.STEP)/10},R.prototype.getCurrentVoiceId=function(G,T){return"s"+G+"v"+T},R.prototype.pushCrossLineElems=function(G,T){this.slursbyvoice[this.getCurrentVoiceId(G,T)]=this.slurs,this.tiesbyvoice[this.getCurrentVoiceId(G,T)]=this.ties,this.endingsbyvoice[this.getCurrentVoiceId(G,T)]=this.partstartelem,this.scaleByVoice[this.getCurrentVoiceId(G,T)]=this.voiceScale,this.voiceColor&&(this.colorByVoice[this.getCurrentVoiceId(G,T)]=this.voiceColor)},R.prototype.popCrossLineElems=function(G,T){this.slurs=this.slursbyvoice[this.getCurrentVoiceId(G,T)]||{},this.ties=this.tiesbyvoice[this.getCurrentVoiceId(G,T)]||[],this.partstartelem=this.endingsbyvoice[this.getCurrentVoiceId(G,T)],this.voiceScale=this.scaleByVoice[this.getCurrentVoiceId(G,T)],this.voiceScale===void 0&&(this.voiceScale=1),this.voiceColor=this.colorByVoice[this.getCurrentVoiceId(G,T)]},R.prototype.containsLyrics=function(G){for(var T=0;T0&&(B[0].invisible=!0);break;case"meter":B[0]=s(A,this.tuneNumber),this.startlimitelem=B[0],C.duplicate&&B.length>0&&(B[0].invisible=!0);break;case"clef":if(B[0]=n(A,this.tuneNumber),!B[0])return null;C.duplicate&&B.length>0&&(B[0].invisible=!0);break;case"key":var y=i(A,this.tuneNumber);y&&(B[0]=y,this.startlimitelem=B[0]),C.duplicate&&B.length>0&&(B[0].invisible=!0);break;case"stem":this.stemdir=A.direction==="auto"?void 0:A.direction;break;case"part":var x=new t(A,0,0,"part",this.tuneNumber),q=this.getTextSize.calc(A.title,"partsfont","part");x.addFixedX(new _(A.title,0,0,void 0,{type:"part",height:q.height/h.STEP})),B[0]=x;break;case"tempo":var L=new t(A,0,0,"tempo",this.tuneNumber);A.suppress||L.addFixedX(new u(A,this.tuneNumber,c)),B[0]=L;break;case"style":A.head==="normal"?delete this.style:this.style=A.head;break;case"hint":$=!0,this.saveState();break;case"midi":break;case"scale":this.voiceScale=A.size;break;case"color":this.voiceColor=A.color,C.color=this.voiceColor;break;default:var Q=new t(A,0,0,"unsupported",this.tuneNumber);Q.addFixed(new _("element type "+A.el_type,0,0,void 0,{type:"debug"})),B[0]=Q}return B};function D(G){if(G.pitches){I(G);for(var T=0,C=0;CG.pitches[C+1].pitch){T=!1;var A=G.pitches[C];G.pitches[C]=G.pitches[C+1],G.pitches[C+1]=A}}while(!T)},S=function(G,T,C,A,B,y,x,q,L){for(var Q=C;Q>11;Q--)Q%2===0&&!A&&G.addFixed(new _(null,q,(B+4)*L,Q,{type:"ledger"}));for(Q=T;Q<1;Q++)Q%2===0&&!A&&G.addFixed(new _(null,q,(B+4)*L,Q,{type:"ledger"}));for(Q=0;Q1&&(Q=new a(B,"grace",y),$&&Q.setHint(),Q.mainNote=C);var X,J=[];for(X=G.gracenotes.length-1;X>=0;X--)x+=10,J[X]=x,G.gracenotes[X].accidental&&(x+=7);for(X=0;X=6?"down":"up";A&&(oe=A),B=T.style?T.style:B,(!B||B==="normal")&&(B="note");var ze;y?ze=N[B].nostem:ze=N[B][-x],ze||console.log("noteSymbol:",B,x,y);var ue;for(ue=oe==="down"?T.pitches.length-2:1;oe==="down"?ue>=0:ue11||Ke.verticalPos<1)&&Fe.push(Ke.verticalPos-Ke.verticalPos%2),oe==="down"?X=m.getSymbolWidth(ze)+2:Q=m.getSymbolWidth(ze)+2)}var gt=T.pitches.length;for(ue=0;ue1?ue+1:null,_e=c(G,$t,T.pitches[ue],{dir:oe,extrax:-X,flag:zt,dot:C,dotshiftx:Q,scale:this.voiceScale,accidentalSlot:ye,shouldExtendStem:!A,printAccidentals:!L.isPercussion,chordPos:ce});Me=Math.max(m.getSymbolWidth($t),Me),G.extraw-=_e.extraLeft,Z=_e.notehead,Z&&(this.addSlursAndTies(G,T.pitches[ue],Z,L,te?oe:null,!1),T.gracenotes&&T.gracenotes.length>0&&(Z.bottom=Z.bottom-1),G.addHead(Z)),X+=_e.accidentalshiftx,J=Math.max(J,_e.dotshiftx)}if(te){var Ae=Math.round(70*this.voiceScale)/10,Ge=oe==="down"?T.minpitch-Ae:T.minpitch+1/3;Ge>6&&!A&&(Ge=6);var Xe=oe==="down"?T.maxpitch-1/3:T.maxpitch+Ae;Xe<6&&!A&&(Xe=6);var we=oe==="down"||G.heads.length===0?0:G.heads[0].w,Ue=oe==="down"?1:-1;Z&&Z.c==="noteheads.slash.quarter"&&(oe==="down"?Xe-=1:Ge+=1),Z&&Z.c==="noteheads.triangle.quarter"&&(oe==="down"?Xe-=.7:Ge-=1.2),G.addRight(new _(null,we,0,Ge,{type:"stem",pitch2:Xe,linewidth:Ue,bottom:Ge-1})),be=Math.min(Ge,Xe)}return{noteHead:Z,roomTaken:X,roomTakenRight:J,min:be,additionalLedgers:Fe,dir:oe,symbolWidth:Me}},R.prototype.addLyric=function(G,T,C){var A="";T.lyric.forEach(function(x){var q=x.divider===" "?"":x.divider;A+=x.syllable+q+` -`});var B=this.getTextSize.calc(A,"vocalfont","lyric"),y=T.positioning?T.positioning.vocalPosition:"below";G.addCentered(new _(A,0,B.width,void 0,{type:"lyric",position:y,height:B.height/h.STEP,dim:this.getTextSize.attr("vocalfont","lyric"),voiceNumber:C}))},R.prototype.createNote=function(G,T,C,A){var B=null,y=0,x=0,q=0,L=[],Q,Z=w(G),X=!1;Z===0&&(X=!0,Z=.25,T=!0);for(var J=Math.floor(Math.log(Z)/Math.log(2)),be=0,re=Math.pow(2,J),Fe=re/2;re1,this.stemdir,C,J,this.voiceScale);B=ze.noteHead,y=ze.roomTaken,x=ze.roomTakenRight}else{var ue=this.addNoteToAbcElement(oe,G,be,this.stemdir,this.style,X,J,T,A);ue.min!==void 0&&(this.minY=Math.min(ue.min,this.minY)),B=ue.noteHead,y=ue.roomTaken,x=ue.roomTakenRight,L=ue.additionalLedgers,Q=ue.dir,q=ue.symbolWidth}if(G.lyric!==void 0&&this.addLyric(oe,G,A.voicenumber),G.gracenotes!==void 0&&(y+=this.addGraceNotes(G,A,oe,B,this.stemHeight*this.voiceScale,this.isBagpipes,y)),G.decoration){var Ve=T&&Q!=="up"?Math.min(-3,oe.bottom-6):oe.bottom;this.decoration.createDecoration(A,G.decoration,oe.top,B?B.w:0,oe,y,Q,Ve,G.positioning,this.hasVocals,this.accentAbove)}if(G.barNumber&&oe.addFixed(new _(G.barNumber,-10,0,0,{type:"barNumber"})),S(oe,G.minpitch,G.maxpitch,G.rest,q,L,Q,-2,1),G.chord!==void 0){var Ke=v(this.getTextSize,oe,G,y,x,q,this.jazzchords,this.germanAlphabet);y=Ke.roomTaken,x=Ke.roomTakenRight}return G.startTriplet&&(this.triplet=new o(G.startTriplet,B,{flatBeams:this.flatBeams})),G.endTriplet&&this.triplet&&this.triplet.setCloseAnchor(B),this.triplet&&!G.startTriplet&&!G.endTriplet&&!(G.rest&&G.rest.type==="spacer")&&this.triplet.middleNote(B),oe},R.prototype.addSlursAndTies=function(G,T,C,A,B,y){if(T.endTie&&this.ties.length>0){for(var x=!1,q=0;q10&&T.abcelem.type==="treble"?13.5:11;T.addFixed(new _(G,A,C.width,B+C.height/h.STEP,{type:"barNumber",dim:this.getTextSize.attr("measurefont","bar-number")}))},R.prototype.createBarLine=function(G,T,C){var A=new t(T,0,10,"bar",this.tuneNumber),B=null,y=0;T.barNumber&&this.addMeasureNumber(T.barNumber,A);var x=T.type==="bar_right_repeat"||T.type==="bar_dbl_repeat",q=T.type!=="bar_left_repeat"&&T.type!=="bar_thick_thin"&&T.type!=="bar_invisible",L=T.type==="bar_right_repeat"||T.type==="bar_dbl_repeat"||T.type==="bar_left_repeat"||T.type==="bar_thin_thick"||T.type==="bar_thick_thin",Q=T.type==="bar_left_repeat"||T.type==="bar_thick_thin"||T.type==="bar_thin_thin"||T.type==="bar_dbl_repeat",Z=T.type==="bar_left_repeat"||T.type==="bar_dbl_repeat";if(x||Z){for(var X in this.slurs)this.slurs.hasOwnProperty(X)&&this.slurs[X].setEndX(A);this.startlimitelem=A}if(x&&(A.addRight(new _("dots.dot",y,1,7)),A.addRight(new _("dots.dot",y,1,5)),y+=6),q&&(B=new _(null,y,1,2,{type:"bar",pitch2:10,linewidth:.6}),A.addRight(B)),T.type==="bar_invisible"&&(B=new _(null,y,1,2,{type:"none",pitch2:10,linewidth:.6}),A.addRight(B)),T.decoration&&this.decoration.createDecoration(G,T.decoration,12,L?3:1,A,0,"down",2,T.positioning,this.hasVocals,this.accentAbove),L&&(y+=4,B=new _(null,y,4,2,{type:"bar",pitch2:10,linewidth:4}),A.addRight(B),y+=5),this.partstartelem&&T.endEnding&&(this.partstartelem.anchor2=B,this.partstartelem=null),Q&&(y+=3,B=new _(null,y,1,2,{type:"bar",pitch2:10,linewidth:.6}),A.addRight(B)),Z&&(y+=3,A.addRight(new _("dots.dot",y,1,7)),A.addRight(new _("dots.dot",y,1,5))),T.startEnding&&C&&G.voicenumber===0){var J=this.getTextSize.calc(T.startEnding,"repeatfont","").width;A.minspacing+=J+10,this.partstartelem=new p(T.startEnding,B,null),G.addOther(this.partstartelem)}return A.extraw-=5,T.chord!==void 0&&v(this.getTextSize,A,T,0,0,0,!1,this.germanAlphabet),A},b0=R,b0}var y0,w_;function I4(){if(w_)return y0;w_=1;var t="http://www.w3.org/2000/svg";function a(s){this.svg=c(),this.currentGroup=[],s.appendChild(this.svg)}a.prototype.clear=function(){if(this.svg){var s=this.svg.parentNode;this.svg=c(),this.currentGroup=[],s&&(s.innerHTML="",s.appendChild(this.svg))}},a.prototype.setTitle=function(s){var d=document.createElement("title"),p=document.createTextNode(s);d.appendChild(p),this.svg.insertBefore(d,this.svg.firstChild)},a.prototype.setResponsiveWidth=function(s,d){if(this.svg.setAttribute("viewBox","0 0 "+s+" "+d),this.svg.setAttribute("preserveAspectRatio","xMinYMin meet"),this.svg.removeAttribute("height"),this.svg.removeAttribute("width"),this.svg.style.display="inline-block",this.svg.style.position="absolute",this.svg.style.top="0",this.svg.style.left="0",this.svg.parentNode){var p=this.svg.parentNode.getAttribute("class");p?p.indexOf("abcjs-container")<0&&this.svg.parentNode.setAttribute("class",p+" abcjs-container"):this.svg.parentNode.setAttribute("class","abcjs-container"),this.svg.parentNode.style.display="inline-block",this.svg.parentNode.style.position="relative",this.svg.parentNode.style.width="100%";var m=d/s*100;this.svg.parentNode.style["padding-bottom"]=m+"%",this.svg.parentNode.style["vertical-align"]="middle",this.svg.parentNode.style.overflow="hidden"}},a.prototype.setSize=function(s,d){this.svg.setAttribute("width",s),this.svg.setAttribute("height",d)},a.prototype.setAttribute=function(s,d){this.svg.setAttribute(s,d)},a.prototype.setScale=function(s){s!==1?(this.svg.style.transform="scale("+s+","+s+")",this.svg.style["-ms-transform"]="scale("+s+","+s+")",this.svg.style["-webkit-transform"]="scale("+s+","+s+")",this.svg.style["transform-origin"]="0 0",this.svg.style["-ms-transform-origin-x"]="0",this.svg.style["-ms-transform-origin-y"]="0",this.svg.style["-webkit-transform-origin-x"]="0",this.svg.style["-webkit-transform-origin-y"]="0"):(this.svg.style.transform="",this.svg.style["-ms-transform"]="",this.svg.style["-webkit-transform"]="")},a.prototype.insertStyles=function(s){var d=document.createElementNS(t,"style");d.textContent=s,this.svg.insertBefore(d,this.svg.firstChild)},a.prototype.setParentStyles=function(s){for(var d in s)s.hasOwnProperty(d)&&this.svg.parentNode&&(this.svg.parentNode.style[d]=s[d]);if(this.dummySvg){var p=document.querySelector("body");p.removeChild(this.dummySvg),this.dummySvg=null}};function r(s,d,p){var m=p-s;return"M "+s+" "+d+" l "+m+" 0 l 0 1 l "+-m+" 0 z "}function n(s,d,p){var m=p-d;return"M "+s+" "+d+" l 0 "+m+" l 1 0 l 0 "+-m+" z "}a.prototype.rect=function(s){var d=[],p=s.x,m=s.y,_=s.x+s.width,h=s.y+s.height;return d.push(r(p,m,_)),d.push(r(p,h,_)),d.push(n(_,m,h)),d.push(n(p,h,m)),this.path({path:d.join(" "),stroke:"none","data-name":s["data-name"]})},a.prototype.dottedLine=function(s){var d=document.createElementNS(t,"line");d.setAttribute("x1",s.x1),d.setAttribute("x2",s.x2),d.setAttribute("y1",s.y1),d.setAttribute("y2",s.y2),d.setAttribute("stroke",s.stroke),d.setAttribute("stroke-dasharray","5,5"),this.svg.insertBefore(d,this.svg.firstChild)},a.prototype.rectBeneath=function(s){var d=document.createElementNS(t,"rect");d.setAttribute("x",s.x),d.setAttribute("width",s.width),d.setAttribute("y",s.y),d.setAttribute("height",s.height),s.stroke&&d.setAttribute("stroke",s.stroke),s["stroke-opacity"]&&d.setAttribute("stroke-opacity",s["stroke-opacity"]),s.fill&&d.setAttribute("fill",s.fill),s["fill-opacity"]&&d.setAttribute("fill-opacity",s["fill-opacity"]),this.svg.insertBefore(d,this.svg.firstChild)},a.prototype.text=function(s,d,p,m){var _=document.createElementNS(t,"text");_.setAttribute("stroke","none");for(var h in d)d.hasOwnProperty(h)&&_.setAttribute(h,d[h]);for(var f=d["data-name"]=="free-text",u=(""+s).split(` -`),l=0;l0?this.currentGroup[0].removeChild(p):this.svg.removeChild(p)),m&&(i[m]=h),h},a.prototype.openGroup=function(s){s=s||{};var d=document.createElementNS(t,"g");return s.klass&&d.setAttribute("class",s.klass),s.fill&&d.setAttribute("fill",s.fill),s.stroke&&d.setAttribute("stroke",s.stroke),s["data-name"]&&d.setAttribute("data-name",s["data-name"]),s.prepend?this.prepend(d):this.append(d),this.currentGroup.unshift(d),d},a.prototype.closeGroup=function(){var s=this.currentGroup.shift();return s&&s.children.length===0?(s.parentElement.removeChild(s),null):s},a.prototype.path=function(s){var d=document.createElementNS(t,"path");for(var p in s)s.hasOwnProperty(p)&&(p==="path"?d.setAttributeNS(null,"d",s.path):p==="klass"?d.setAttributeNS(null,"class",s[p]):s[p]!==void 0&&d.setAttributeNS(null,p,s[p]));return this.append(d),d},a.prototype.pathToBack=function(s){var d=document.createElementNS(t,"path");for(var p in s)s.hasOwnProperty(p)&&(p==="path"?d.setAttributeNS(null,"d",s.path):p==="klass"?d.setAttributeNS(null,"class",s[p]):d.setAttributeNS(null,p,s[p]));return this.prepend(d),d},a.prototype.lineToBack=function(s){for(var d=document.createElementNS(t,"line"),p=Object.keys(s),m=0;m0?this.currentGroup[0].appendChild(s):this.svg.appendChild(s)},a.prototype.prepend=function(s){this.currentGroup.length>0?this.currentGroup[0].appendChild(s):this.svg.insertBefore(s,this.svg.firstChild)},a.prototype.setAttributeOnElement=function(s,d){for(var p in d)d.hasOwnProperty(p)&&s.setAttributeNS(null,p,d[p])},a.prototype.moveElementToChild=function(s,d){s.appendChild(d)};function c(){var s=document.createElementNS(t,"svg");return s.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),s.setAttribute("role","img"),s.setAttribute("fill","currentColor"),s.setAttribute("stroke","currentColor"),s}return y0=a,y0}var k0,x_;function O4(){if(x_)return k0;x_=1;var t=Zi(),a=I4(),r=function(n){this.paper=new a(n),this.controller=null,this.space=3*t.SPACE,this.padding={},this.reset(),this.firefox=navigator.userAgent.indexOf("Firefox/")>=0};return r.prototype.reset=function(){this.paper.clear(),this.y=0,this.abctune=null,this.path=null,this.isPrint=!1,this.lineThickness=0,this.initVerticalSpace()},r.prototype.newTune=function(n){this.abctune=n,this.setVerticalSpace(n.formatting),this.isPrint=n.media==="print",this.setPadding(n)},r.prototype.setLineThickness=function(n){this.lineThickness=n},r.prototype.setPaddingOverride=function(n){this.paddingOverride={top:n.paddingtop,bottom:n.paddingbottom,right:n.paddingright,left:n.paddingleft}},r.prototype.setPadding=function(n){function i(c,s,d,p,m){n.formatting[d]!==void 0?c.padding[s]=n.formatting[d]:c.paddingOverride[s]!==void 0?c.padding[s]=c.paddingOverride[s]:c.isPrint?c.padding[s]=p:c.padding[s]=m}i(this,"top","topmargin",38,15),i(this,"bottom","botmargin",38,15),i(this,"left","leftmargin",68,15),i(this,"right","rightmargin",68,15)},r.prototype.adjustNonScaledItems=function(n){this.padding.top/=n,this.padding.bottom/=n,this.padding.left/=n,this.padding.right/=n,this.abctune.formatting.headerfont.size/=n,this.abctune.formatting.footerfont.size/=n},r.prototype.initVerticalSpace=function(){this.spacing={composer:7.56,graceBefore:8.67,graceInside:10.67,graceAfter:16,info:0,lineSkipFactor:1.1,music:7.56,paragraphSkipFactor:.4,parts:11.33,slurHeight:1,staffSeparation:61.33,staffTopMargin:0,stemHeight:26.67+10,subtitle:3.78,systemStaffSeparation:48,text:18.9,title:7.56,top:30.24,vocal:0,words:0}},r.prototype.setVerticalSpace=function(n){n.staffsep!==void 0&&(this.spacing.staffSeparation=n.staffsep*4/3),n.composerspace!==void 0&&(this.spacing.composer=n.composerspace*4/3),n.partsspace!==void 0&&(this.spacing.parts=n.partsspace*4/3),n.textspace!==void 0&&(this.spacing.text=n.textspace*4/3),n.musicspace!==void 0&&(this.spacing.music=n.musicspace*4/3),n.titlespace!==void 0&&(this.spacing.title=n.titlespace*4/3),n.sysstaffsep!==void 0&&(this.spacing.systemStaffSeparation=n.sysstaffsep*4/3),n.stafftopmargin!==void 0&&(this.spacing.staffTopMargin=n.stafftopmargin*4/3),n.subtitlespace!==void 0&&(this.spacing.subtitle=n.subtitlespace*4/3),n.topspace!==void 0&&(this.spacing.top=n.topspace*4/3),n.vocalspace!==void 0&&(this.spacing.vocal=n.vocalspace*4/3),n.wordsspace!==void 0&&(this.spacing.words=n.wordsspace*4/3)},r.prototype.calcY=function(n){return this.y-n*t.STEP},r.prototype.yToPitch=function(n){return n/t.STEP},r.prototype.moveY=function(n,i){i===void 0&&(i=1),this.y+=n*i},r.prototype.absolutemoveY=function(n){this.y=n},k0=r,k0}var w0,S_;function H4(){if(S_)return w0;S_=1;function t(a,r,n,i,c,s){var d=a.text;this.rows=[];var p;r&&this.rows.push({move:r});var m=n.calc("textfont","defined-text");if(d==="")this.rows.push({move:m.attr["font-size"]*2});else if(typeof d=="string"){let g=function(v){return v.replace(/^[ \t]*\n/gm,`X -`)};this.rows.push({move:m.attr["font-size"]/2}),this.rows.push({left:i,text:d,font:"textfont",klass:"defined-text",anchor:"start",startChar:a.startChar,endChar:a.endChar,absElemType:"freeText",name:"free-text"});var _=g(d);p=s.calc(_,"textfont","defined-text"),this.rows.push({move:p.height})}else if(d){for(var h=0,f=i,u="textfont",l=0;l=0;T--){var N=w[T],R=0,F;p||(N=r(N,b,k));var D=f.calc(N,m,_),I=D.width,S=D.height/a.STEP;switch(s){case"left":o+=I+7,R=-o,F=l.averagepitch,u.addExtra(new t(N,R,I+4,F,{type:"text",height:S,dim:h,position:"left"}));break;case"right":g+=4,R=g,F=l.averagepitch,u.addRight(new t(N,R,I+4,F,{type:"text",height:S,dim:h,position:"right"}));break;case"below":u.addRight(new t(N,0,0,void 0,{type:"text",position:"below",height:S,dim:h,realWidth:I}));break;case"above":u.addRight(new t(N,0,0,void 0,{type:"text",position:"above",height:S,dim:h,realWidth:I}));break;default:if(d){var E=d.y+3*a.STEP;u.addRight(new t(N,R+d.x,0,l.minpitch+E/a.STEP,{position:"relative",type:"text",height:S,dim:h}))}else{var V="above";l.positioning&&l.positioning.chordPosition&&(V=l.positioning.chordPosition),V!=="hidden"&&u.addCentered(new t(N,v/2,I,void 0,{type:"chord",position:V,height:S,dim:h,realWidth:I}))}}}return{roomTaken:o,roomTakenRight:g}}return v0=n,v0}var b0,w_;function Q4(){if(w_)return b0;w_=1;var t=_o(),a=A4(),r=C4(),n=M4(),i=z4(),c=j4(),s=U4(),d=P4(),p=N4(),m=es(),_=nr(),h=Zi(),f=L4(),u=V4(),l=p_(),o=I4(),g=Uh(),v=H4(),b=$h(),k=ir(),w=function(G){var $=0;return G.duration&&($=G.duration),$},T=!1,N={rest:{0:"rests.whole",1:"rests.half",2:"rests.quarter",3:"rests.8th",4:"rests.16th",5:"rests.32nd",6:"rests.64th",7:"rests.128th",multi:"rests.multimeasure"},note:{"-1":"noteheads.dbl",0:"noteheads.whole",1:"noteheads.half",2:"noteheads.quarter",3:"noteheads.quarter",4:"noteheads.quarter",5:"noteheads.quarter",6:"noteheads.quarter",7:"noteheads.quarter",nostem:"noteheads.quarter"},rhythm:{"-1":"noteheads.slash.whole",0:"noteheads.slash.whole",1:"noteheads.slash.whole",2:"noteheads.slash.quarter",3:"noteheads.slash.quarter",4:"noteheads.slash.quarter",5:"noteheads.slash.quarter",6:"noteheads.slash.quarter",7:"noteheads.slash.quarter",nostem:"noteheads.slash.nostem"},x:{"-1":"noteheads.indeterminate",0:"noteheads.indeterminate",1:"noteheads.indeterminate",2:"noteheads.indeterminate",3:"noteheads.indeterminate",4:"noteheads.indeterminate",5:"noteheads.indeterminate",6:"noteheads.indeterminate",7:"noteheads.indeterminate",nostem:"noteheads.indeterminate"},harmonic:{"-1":"noteheads.harmonic.quarter",0:"noteheads.harmonic.quarter",1:"noteheads.harmonic.quarter",2:"noteheads.harmonic.quarter",3:"noteheads.harmonic.quarter",4:"noteheads.harmonic.quarter",5:"noteheads.harmonic.quarter",6:"noteheads.harmonic.quarter",7:"noteheads.harmonic.quarter",nostem:"noteheads.harmonic.quarter"},triangle:{"-1":"noteheads.triangle.quarter",0:"noteheads.triangle.quarter",1:"noteheads.triangle.quarter",2:"noteheads.triangle.quarter",3:"noteheads.triangle.quarter",4:"noteheads.triangle.quarter",5:"noteheads.triangle.quarter",6:"noteheads.triangle.quarter",7:"noteheads.triangle.quarter",nostem:"noteheads.triangle.quarter"},uflags:{3:"flags.u8th",4:"flags.u16th",5:"flags.u32nd",6:"flags.u64th"},dflags:{3:"flags.d8th",4:"flags.d16th",5:"flags.d32nd",6:"flags.d64th"}},R=function(G,$,C){this.decoration=new d,this.getTextSize=G,this.tuneNumber=$,this.isBagpipes=C.bagpipes,this.flatBeams=C.flatbeams,this.graceSlurs=C.graceSlurs,this.percmap=C.percmap,this.initialClef=C.initialClef,this.jazzchords=!!C.jazzchords,this.accentAbove=!!C.accentAbove,this.germanAlphabet=!!C.germanAlphabet,this.reset()};R.prototype.reset=function(){this.slurs={},this.ties=[],this.voiceScale=1,this.voiceColor=void 0,this.slursbyvoice={},this.tiesbyvoice={},this.endingsbyvoice={},this.scaleByVoice={},this.colorByVoice={},this.tripletmultiplier=1,this.abcline=void 0,this.accidentalSlot=void 0,this.accidentalshiftx=void 0,this.dotshiftx=void 0,this.hasVocals=!1,this.minY=void 0,this.partstartelem=void 0,this.startlimitelem=void 0,this.stemdir=void 0},R.prototype.setStemHeight=function(G){this.stemHeight=Math.round(G*10/h.STEP)/10},R.prototype.getCurrentVoiceId=function(G,$){return"s"+G+"v"+$},R.prototype.pushCrossLineElems=function(G,$){this.slursbyvoice[this.getCurrentVoiceId(G,$)]=this.slurs,this.tiesbyvoice[this.getCurrentVoiceId(G,$)]=this.ties,this.endingsbyvoice[this.getCurrentVoiceId(G,$)]=this.partstartelem,this.scaleByVoice[this.getCurrentVoiceId(G,$)]=this.voiceScale,this.voiceColor&&(this.colorByVoice[this.getCurrentVoiceId(G,$)]=this.voiceColor)},R.prototype.popCrossLineElems=function(G,$){this.slurs=this.slursbyvoice[this.getCurrentVoiceId(G,$)]||{},this.ties=this.tiesbyvoice[this.getCurrentVoiceId(G,$)]||[],this.partstartelem=this.endingsbyvoice[this.getCurrentVoiceId(G,$)],this.voiceScale=this.scaleByVoice[this.getCurrentVoiceId(G,$)],this.voiceScale===void 0&&(this.voiceScale=1),this.voiceColor=this.colorByVoice[this.getCurrentVoiceId(G,$)]},R.prototype.containsLyrics=function(G){for(var $=0;$0&&(P[0].invisible=!0);break;case"meter":P[0]=s(A,this.tuneNumber),this.startlimitelem=P[0],C.duplicate&&P.length>0&&(P[0].invisible=!0);break;case"clef":if(P[0]=n(A,this.tuneNumber),!P[0])return null;C.duplicate&&P.length>0&&(P[0].invisible=!0);break;case"key":var y=i(A,this.tuneNumber);y&&(P[0]=y,this.startlimitelem=P[0]),C.duplicate&&P.length>0&&(P[0].invisible=!0);break;case"stem":this.stemdir=A.direction==="auto"?void 0:A.direction;break;case"part":var x=new t(A,0,0,"part",this.tuneNumber),q=this.getTextSize.calc(A.title,"partsfont","part");x.addFixedX(new _(A.title,0,0,void 0,{type:"part",height:q.height/h.STEP})),P[0]=x;break;case"tempo":var L=new t(A,0,0,"tempo",this.tuneNumber);A.suppress||L.addFixedX(new u(A,this.tuneNumber,c)),P[0]=L;break;case"style":A.head==="normal"?delete this.style:this.style=A.head;break;case"hint":T=!0,this.saveState();break;case"midi":break;case"scale":this.voiceScale=A.size;break;case"color":this.voiceColor=A.color,C.color=this.voiceColor;break;default:var Q=new t(A,0,0,"unsupported",this.tuneNumber);Q.addFixed(new _("element type "+A.el_type,0,0,void 0,{type:"debug"})),P[0]=Q}return P};function D(G){if(G.pitches){I(G);for(var $=0,C=0;CG.pitches[C+1].pitch){$=!1;var A=G.pitches[C];G.pitches[C]=G.pitches[C+1],G.pitches[C+1]=A}}while(!$)},S=function(G,$,C,A,P,y,x,q,L){for(var Q=C;Q>11;Q--)Q%2===0&&!A&&G.addFixed(new _(null,q,(P+4)*L,Q,{type:"ledger"}));for(Q=$;Q<1;Q++)Q%2===0&&!A&&G.addFixed(new _(null,q,(P+4)*L,Q,{type:"ledger"}));for(Q=0;Q1&&(Q=new a(P,"grace",y),T&&Q.setHint(),Q.mainNote=C);var X,J=[];for(X=G.gracenotes.length-1;X>=0;X--)x+=10,J[X]=x,G.gracenotes[X].accidental&&(x+=7);for(X=0;X=6?"down":"up";A&&(se=A),P=$.style?$.style:P,(!P||P==="normal")&&(P="note");var je;y?je=N[P].nostem:je=N[P][-x],je||console.log("noteSymbol:",P,x,y);var ue;for(ue=se==="down"?$.pitches.length-2:1;se==="down"?ue>=0:ue<$.pitches.length;ue=se==="down"?ue-1:ue+1){var Oe=$.pitches[se==="down"?ue+1:ue-1],Ze=$.pitches[ue],Bt=se==="down"?Oe.pitch-Ze.pitch:Ze.pitch-Oe.pitch;Bt<=1&&!Oe.printer_shift&&(Ze.printer_shift=Bt?"different":"same",(Ze.verticalPos>11||Ze.verticalPos<1)&&Ae.push(Ze.verticalPos-Ze.verticalPos%2),se==="down"?X=m.getSymbolWidth(je)+2:Q=m.getSymbolWidth(je)+2)}var ht=$.pitches.length;for(ue=0;ue<$.pitches.length;ue++){if(!q){var Ot;se==="down"&&ue!==0||se==="up"&&ue!==ht-1?Ot=null:Ot=N[se==="down"?"dflags":"uflags"][-x]}var Ct;if($.pitches[ue].style)Ct=N[$.pitches[ue].style][-x];else if(L.isPercussion&&this.percmap){Ct=je;var at=this.percmap[b($.pitches[ue])];at&&at.noteHead&&N[at.noteHead]&&(Ct=N[at.noteHead][-x])}else Ct=je;$.pitches[ue].highestVert=$.pitches[ue].verticalPos;var ie=(A==="up"||se==="up")&&ue===0,fe=(A==="down"||se==="down")&&ue===ht-1;if(ie||fe){if(($.startSlur||ht===1)&&($.pitches[ue].highestVert=$.pitches[ht-1].verticalPos,w($)<1&&(A==="up"||se==="up")&&($.pitches[ue].highestVert+=6)),$.startSlur)for($.pitches[ue].startSlur||($.pitches[ue].startSlur=[]),re=0;re<$.startSlur.length;re++)V($.pitches[ue].startSlur,$.startSlur[re]);if($.endSlur)for($.pitches[ue].highestVert=$.pitches[ht-1].verticalPos,w($)<1&&(A==="up"||se==="up")&&($.pitches[ue].highestVert+=6),$.pitches[ue].endSlur||($.pitches[ue].endSlur=[]),re=0;re<$.endSlur.length;re++)V($.pitches[ue].endSlur,$.endSlur[re])}var te=!q&&x<=-1,ce=ht>1?ue+1:null,_e=c(G,Ct,$.pitches[ue],{dir:se,extrax:-X,flag:Ot,dot:C,dotshiftx:Q,scale:this.voiceScale,accidentalSlot:ke,shouldExtendStem:!A,printAccidentals:!L.isPercussion,chordPos:ce});Me=Math.max(m.getSymbolWidth(Ct),Me),G.extraw-=_e.extraLeft,Z=_e.notehead,Z&&(this.addSlursAndTies(G,$.pitches[ue],Z,L,te?se:null,!1),$.gracenotes&&$.gracenotes.length>0&&(Z.bottom=Z.bottom-1),G.addHead(Z)),X+=_e.accidentalshiftx,J=Math.max(J,_e.dotshiftx)}if(te){var Fe=Math.round(70*this.voiceScale)/10,Ge=se==="down"?$.minpitch-Fe:$.minpitch+1/3;Ge>6&&!A&&(Ge=6);var Ke=se==="down"?$.maxpitch-1/3:$.maxpitch+Fe;Ke<6&&!A&&(Ke=6);var we=se==="down"||G.heads.length===0?0:G.heads[0].w,Ee=se==="down"?1:-1;Z&&Z.c==="noteheads.slash.quarter"&&(se==="down"?Ke-=1:Ge+=1),Z&&Z.c==="noteheads.triangle.quarter"&&(se==="down"?Ke-=.7:Ge-=1.2),G.addRight(new _(null,we,0,Ge,{type:"stem",pitch2:Ke,linewidth:Ee,bottom:Ge-1})),ve=Math.min(Ge,Ke)}return{noteHead:Z,roomTaken:X,roomTakenRight:J,min:ve,additionalLedgers:Ae,dir:se,symbolWidth:Me}},R.prototype.addLyric=function(G,$,C){var A="";$.lyric.forEach(function(x){var q=x.divider===" "?"":x.divider;A+=x.syllable+q+` +`});var P=this.getTextSize.calc(A,"vocalfont","lyric"),y=$.positioning?$.positioning.vocalPosition:"below";G.addCentered(new _(A,0,P.width,void 0,{type:"lyric",position:y,height:P.height/h.STEP,dim:this.getTextSize.attr("vocalfont","lyric"),voiceNumber:C}))},R.prototype.createNote=function(G,$,C,A){var P=null,y=0,x=0,q=0,L=[],Q,Z=w(G),X=!1;Z===0&&(X=!0,Z=.25,$=!0);for(var J=Math.floor(Math.log(Z)/Math.log(2)),ve=0,re=Math.pow(2,J),Ae=re/2;re1,this.stemdir,C,J,this.voiceScale);P=je.noteHead,y=je.roomTaken,x=je.roomTakenRight}else{var ue=this.addNoteToAbcElement(se,G,ve,this.stemdir,this.style,X,J,$,A);ue.min!==void 0&&(this.minY=Math.min(ue.min,this.minY)),P=ue.noteHead,y=ue.roomTaken,x=ue.roomTakenRight,L=ue.additionalLedgers,Q=ue.dir,q=ue.symbolWidth}if(G.lyric!==void 0&&this.addLyric(se,G,A.voicenumber),G.gracenotes!==void 0&&(y+=this.addGraceNotes(G,A,se,P,this.stemHeight*this.voiceScale,this.isBagpipes,y)),G.decoration){var Oe=$&&Q!=="up"?Math.min(-3,se.bottom-6):se.bottom;this.decoration.createDecoration(A,G.decoration,se.top,P?P.w:0,se,y,Q,Oe,G.positioning,this.hasVocals,this.accentAbove)}if(G.barNumber&&se.addFixed(new _(G.barNumber,-10,0,0,{type:"barNumber"})),S(se,G.minpitch,G.maxpitch,G.rest,q,L,Q,-2,1),G.chord!==void 0){var Ze=v(this.getTextSize,se,G,y,x,q,this.jazzchords,this.germanAlphabet);y=Ze.roomTaken,x=Ze.roomTakenRight}return G.startTriplet&&(this.triplet=new o(G.startTriplet,P,{flatBeams:this.flatBeams})),G.endTriplet&&this.triplet&&this.triplet.setCloseAnchor(P),this.triplet&&!G.startTriplet&&!G.endTriplet&&!(G.rest&&G.rest.type==="spacer")&&this.triplet.middleNote(P),se},R.prototype.addSlursAndTies=function(G,$,C,A,P,y){if($.endTie&&this.ties.length>0){for(var x=!1,q=0;q10&&$.abcelem.type==="treble"?13.5:11;$.addFixed(new _(G,A,C.width,P+C.height/h.STEP,{type:"barNumber",dim:this.getTextSize.attr("measurefont","bar-number")}))},R.prototype.createBarLine=function(G,$,C){var A=new t($,0,10,"bar",this.tuneNumber),P=null,y=0;$.barNumber&&this.addMeasureNumber($.barNumber,A);var x=$.type==="bar_right_repeat"||$.type==="bar_dbl_repeat",q=$.type!=="bar_left_repeat"&&$.type!=="bar_thick_thin"&&$.type!=="bar_invisible",L=$.type==="bar_right_repeat"||$.type==="bar_dbl_repeat"||$.type==="bar_left_repeat"||$.type==="bar_thin_thick"||$.type==="bar_thick_thin",Q=$.type==="bar_left_repeat"||$.type==="bar_thick_thin"||$.type==="bar_thin_thin"||$.type==="bar_dbl_repeat",Z=$.type==="bar_left_repeat"||$.type==="bar_dbl_repeat";if(x||Z){for(var X in this.slurs)this.slurs.hasOwnProperty(X)&&this.slurs[X].setEndX(A);this.startlimitelem=A}if(x&&(A.addRight(new _("dots.dot",y,1,7)),A.addRight(new _("dots.dot",y,1,5)),y+=6),q&&(P=new _(null,y,1,2,{type:"bar",pitch2:10,linewidth:.6}),A.addRight(P)),$.type==="bar_invisible"&&(P=new _(null,y,1,2,{type:"none",pitch2:10,linewidth:.6}),A.addRight(P)),$.decoration&&this.decoration.createDecoration(G,$.decoration,12,L?3:1,A,0,"down",2,$.positioning,this.hasVocals,this.accentAbove),L&&(y+=4,P=new _(null,y,4,2,{type:"bar",pitch2:10,linewidth:4}),A.addRight(P),y+=5),this.partstartelem&&$.endEnding&&(this.partstartelem.anchor2=P,this.partstartelem=null),Q&&(y+=3,P=new _(null,y,1,2,{type:"bar",pitch2:10,linewidth:.6}),A.addRight(P)),Z&&(y+=3,A.addRight(new _("dots.dot",y,1,7)),A.addRight(new _("dots.dot",y,1,5))),$.startEnding&&C&&G.voicenumber===0){var J=this.getTextSize.calc($.startEnding,"repeatfont","").width;A.minspacing+=J+10,this.partstartelem=new p($.startEnding,P,null),G.addOther(this.partstartelem)}return A.extraw-=5,$.chord!==void 0&&v(this.getTextSize,A,$,0,0,0,!1,this.germanAlphabet),A},b0=R,b0}var y0,x_;function W4(){if(x_)return y0;x_=1;var t="http://www.w3.org/2000/svg";function a(s){this.svg=c(),this.currentGroup=[],s.appendChild(this.svg)}a.prototype.clear=function(){if(this.svg){var s=this.svg.parentNode;this.svg=c(),this.currentGroup=[],s&&(s.innerHTML="",s.appendChild(this.svg))}},a.prototype.setTitle=function(s){var d=document.createElement("title"),p=document.createTextNode(s);d.appendChild(p),this.svg.insertBefore(d,this.svg.firstChild)},a.prototype.setResponsiveWidth=function(s,d){if(this.svg.setAttribute("viewBox","0 0 "+s+" "+d),this.svg.setAttribute("preserveAspectRatio","xMinYMin meet"),this.svg.removeAttribute("height"),this.svg.removeAttribute("width"),this.svg.style.display="inline-block",this.svg.style.position="absolute",this.svg.style.top="0",this.svg.style.left="0",this.svg.parentNode){var p=this.svg.parentNode.getAttribute("class");p?p.indexOf("abcjs-container")<0&&this.svg.parentNode.setAttribute("class",p+" abcjs-container"):this.svg.parentNode.setAttribute("class","abcjs-container"),this.svg.parentNode.style.display="inline-block",this.svg.parentNode.style.position="relative",this.svg.parentNode.style.width="100%";var m=d/s*100;this.svg.parentNode.style["padding-bottom"]=m+"%",this.svg.parentNode.style["vertical-align"]="middle",this.svg.parentNode.style.overflow="hidden"}},a.prototype.setSize=function(s,d){this.svg.setAttribute("width",s),this.svg.setAttribute("height",d)},a.prototype.setAttribute=function(s,d){this.svg.setAttribute(s,d)},a.prototype.setScale=function(s){s!==1?(this.svg.style.transform="scale("+s+","+s+")",this.svg.style["-ms-transform"]="scale("+s+","+s+")",this.svg.style["-webkit-transform"]="scale("+s+","+s+")",this.svg.style["transform-origin"]="0 0",this.svg.style["-ms-transform-origin-x"]="0",this.svg.style["-ms-transform-origin-y"]="0",this.svg.style["-webkit-transform-origin-x"]="0",this.svg.style["-webkit-transform-origin-y"]="0"):(this.svg.style.transform="",this.svg.style["-ms-transform"]="",this.svg.style["-webkit-transform"]="")},a.prototype.insertStyles=function(s){var d=document.createElementNS(t,"style");d.textContent=s,this.svg.insertBefore(d,this.svg.firstChild)},a.prototype.setParentStyles=function(s){for(var d in s)s.hasOwnProperty(d)&&this.svg.parentNode&&(this.svg.parentNode.style[d]=s[d]);if(this.dummySvg){var p=document.querySelector("body");p.removeChild(this.dummySvg),this.dummySvg=null}};function r(s,d,p){var m=p-s;return"M "+s+" "+d+" l "+m+" 0 l 0 1 l "+-m+" 0 z "}function n(s,d,p){var m=p-d;return"M "+s+" "+d+" l 0 "+m+" l 1 0 l 0 "+-m+" z "}a.prototype.rect=function(s){var d=[],p=s.x,m=s.y,_=s.x+s.width,h=s.y+s.height;return d.push(r(p,m,_)),d.push(r(p,h,_)),d.push(n(_,m,h)),d.push(n(p,h,m)),this.path({path:d.join(" "),stroke:"none","data-name":s["data-name"]})},a.prototype.dottedLine=function(s){var d=document.createElementNS(t,"line");d.setAttribute("x1",s.x1),d.setAttribute("x2",s.x2),d.setAttribute("y1",s.y1),d.setAttribute("y2",s.y2),d.setAttribute("stroke",s.stroke),d.setAttribute("stroke-dasharray","5,5"),this.svg.insertBefore(d,this.svg.firstChild)},a.prototype.rectBeneath=function(s){var d=document.createElementNS(t,"rect");d.setAttribute("x",s.x),d.setAttribute("width",s.width),d.setAttribute("y",s.y),d.setAttribute("height",s.height),s.stroke&&d.setAttribute("stroke",s.stroke),s["stroke-opacity"]&&d.setAttribute("stroke-opacity",s["stroke-opacity"]),s.fill&&d.setAttribute("fill",s.fill),s["fill-opacity"]&&d.setAttribute("fill-opacity",s["fill-opacity"]),this.svg.insertBefore(d,this.svg.firstChild)},a.prototype.text=function(s,d,p,m){var _=document.createElementNS(t,"text");_.setAttribute("stroke","none");for(var h in d)d.hasOwnProperty(h)&&_.setAttribute(h,d[h]);for(var f=d["data-name"]=="free-text",u=(""+s).split(` +`),l=0;l0?this.currentGroup[0].removeChild(p):this.svg.removeChild(p)),m&&(i[m]=h),h},a.prototype.openGroup=function(s){s=s||{};var d=document.createElementNS(t,"g");return s.klass&&d.setAttribute("class",s.klass),s.fill&&d.setAttribute("fill",s.fill),s.stroke&&d.setAttribute("stroke",s.stroke),s["data-name"]&&d.setAttribute("data-name",s["data-name"]),s.prepend?this.prepend(d):this.append(d),this.currentGroup.unshift(d),d},a.prototype.closeGroup=function(){var s=this.currentGroup.shift();return s&&s.children.length===0?(s.parentElement.removeChild(s),null):s},a.prototype.path=function(s){var d=document.createElementNS(t,"path");for(var p in s)s.hasOwnProperty(p)&&(p==="path"?d.setAttributeNS(null,"d",s.path):p==="klass"?d.setAttributeNS(null,"class",s[p]):s[p]!==void 0&&d.setAttributeNS(null,p,s[p]));return this.append(d),d},a.prototype.pathToBack=function(s){var d=document.createElementNS(t,"path");for(var p in s)s.hasOwnProperty(p)&&(p==="path"?d.setAttributeNS(null,"d",s.path):p==="klass"?d.setAttributeNS(null,"class",s[p]):d.setAttributeNS(null,p,s[p]));return this.prepend(d),d},a.prototype.lineToBack=function(s){for(var d=document.createElementNS(t,"line"),p=Object.keys(s),m=0;m0?this.currentGroup[0].appendChild(s):this.svg.appendChild(s)},a.prototype.prepend=function(s){this.currentGroup.length>0?this.currentGroup[0].appendChild(s):this.svg.insertBefore(s,this.svg.firstChild)},a.prototype.setAttributeOnElement=function(s,d){for(var p in d)d.hasOwnProperty(p)&&s.setAttributeNS(null,p,d[p])},a.prototype.moveElementToChild=function(s,d){s.appendChild(d)};function c(){var s=document.createElementNS(t,"svg");return s.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),s.setAttribute("role","img"),s.setAttribute("fill","currentColor"),s.setAttribute("stroke","currentColor"),s}return y0=a,y0}var k0,S_;function Y4(){if(S_)return k0;S_=1;var t=Zi(),a=W4(),r=function(n){this.paper=new a(n),this.controller=null,this.space=3*t.SPACE,this.padding={},this.reset(),this.firefox=navigator.userAgent.indexOf("Firefox/")>=0};return r.prototype.reset=function(){this.paper.clear(),this.y=0,this.abctune=null,this.path=null,this.isPrint=!1,this.lineThickness=0,this.initVerticalSpace()},r.prototype.newTune=function(n){this.abctune=n,this.setVerticalSpace(n.formatting),this.isPrint=n.media==="print",this.setPadding(n)},r.prototype.setLineThickness=function(n){this.lineThickness=n},r.prototype.setPaddingOverride=function(n){this.paddingOverride={top:n.paddingtop,bottom:n.paddingbottom,right:n.paddingright,left:n.paddingleft}},r.prototype.setPadding=function(n){function i(c,s,d,p,m){n.formatting[d]!==void 0?c.padding[s]=n.formatting[d]:c.paddingOverride[s]!==void 0?c.padding[s]=c.paddingOverride[s]:c.isPrint?c.padding[s]=p:c.padding[s]=m}i(this,"top","topmargin",38,15),i(this,"bottom","botmargin",38,15),i(this,"left","leftmargin",68,15),i(this,"right","rightmargin",68,15)},r.prototype.adjustNonScaledItems=function(n){this.padding.top/=n,this.padding.bottom/=n,this.padding.left/=n,this.padding.right/=n,this.abctune.formatting.headerfont.size/=n,this.abctune.formatting.footerfont.size/=n},r.prototype.initVerticalSpace=function(){this.spacing={composer:7.56,graceBefore:8.67,graceInside:10.67,graceAfter:16,info:0,lineSkipFactor:1.1,music:7.56,paragraphSkipFactor:.4,parts:11.33,slurHeight:1,staffSeparation:61.33,staffTopMargin:0,stemHeight:26.67+10,subtitle:3.78,systemStaffSeparation:48,text:18.9,title:7.56,top:30.24,vocal:0,words:0}},r.prototype.setVerticalSpace=function(n){n.staffsep!==void 0&&(this.spacing.staffSeparation=n.staffsep*4/3),n.composerspace!==void 0&&(this.spacing.composer=n.composerspace*4/3),n.partsspace!==void 0&&(this.spacing.parts=n.partsspace*4/3),n.textspace!==void 0&&(this.spacing.text=n.textspace*4/3),n.musicspace!==void 0&&(this.spacing.music=n.musicspace*4/3),n.titlespace!==void 0&&(this.spacing.title=n.titlespace*4/3),n.sysstaffsep!==void 0&&(this.spacing.systemStaffSeparation=n.sysstaffsep*4/3),n.stafftopmargin!==void 0&&(this.spacing.staffTopMargin=n.stafftopmargin*4/3),n.subtitlespace!==void 0&&(this.spacing.subtitle=n.subtitlespace*4/3),n.topspace!==void 0&&(this.spacing.top=n.topspace*4/3),n.vocalspace!==void 0&&(this.spacing.vocal=n.vocalspace*4/3),n.wordsspace!==void 0&&(this.spacing.words=n.wordsspace*4/3)},r.prototype.calcY=function(n){return this.y-n*t.STEP},r.prototype.yToPitch=function(n){return n/t.STEP},r.prototype.moveY=function(n,i){i===void 0&&(i=1),this.y+=n*i},r.prototype.absolutemoveY=function(n){this.y=n},k0=r,k0}var w0,$_;function K4(){if($_)return w0;$_=1;function t(a,r,n,i,c,s){var d=a.text;this.rows=[];var p;r&&this.rows.push({move:r});var m=n.calc("textfont","defined-text");if(d==="")this.rows.push({move:m.attr["font-size"]*2});else if(typeof d=="string"){let g=function(v){return v.replace(/^[ \t]*\n/gm,`X +`)};this.rows.push({move:m.attr["font-size"]/2}),this.rows.push({left:i,text:d,font:"textfont",klass:"defined-text",anchor:"start",startChar:a.startChar,endChar:a.endChar,absElemType:"freeText",name:"free-text"});var _=g(d);p=s.calc(_,"textfont","defined-text"),this.rows.push({move:p.height})}else if(d){for(var h=0,f=i,u="textfont",l=0;l0){var b=!!(n.composer||n.origin),g=h?"abcjs-rhythm":"";t(this.rows,{marginLeft:m,text:n.rhythm,font:"infofont",klass:g,absElemType:"rhythm",noMove:b,info:i.rhythm,name:"rhythm"},f)}n.composer&&n.composer,n.origin&&n.origin;var k=n.composer?n.composer:"";if(n.origin&&(typeof k=="string"&&typeof n.origin=="string"?k+=" ("+n.origin+")":typeof k=="string"&&typeof n.origin!="string"?(k=[{text:k}],k.push({text:" ("}),k=k.concat(n.origin),k.push({text:")"})):(k.push({text:" ("}),k=k.concat(n.origin),k.push({text:")"}))),k){var g=h?"abcjs-composer":"";a(this.rows,k,"composerfont",g,"composer",m+d,{anchor:"end",absElemType:"composer",info:i.composer,ingroup:!0},f)}}if(n.author&&n.author.length>0){var g=h?"abcjs-author":"";a(this.rows,n.author,"composerfont",g,"author",m+d,{anchor:"end",absElemType:"author",info:i.author},f)}if(n.partOrder&&n.partOrder.length>0){var g=h?"abcjs-part-order":"";a(this.rows,n.partOrder,"partsfont",g,"part-order",m,{absElemType:"partOrder",info:i.partOrder,anchor:"start"},f)}}return G0=r,G0}var F0,C_;function K4(){if(C_)return F0;C_=1;const t=$0(),a=F_();function r(c,s,d,p,m,_,h){this.rows=[],c.unalignedWords&&c.unalignedWords.length>0&&this.unalignedWords(c.unalignedWords,p,m,_,h),this.extraText(c,p,m,_,h),c.footer&&d&&this.footer(c.footer,s,p,h)}r.prototype.unalignedWords=function(c,s,d,p,m){var _=p?"abcjs-unaligned-words":"",h="wordsfont",f=m.calc("i",h,_);this.rows.push({move:d.words}),i(this.rows,"",c,s,h,"unalignedWords","unalignedWords",_,"unalignedWords",d,p,m),this.rows.push({move:f.height})};function n(c,s,d,p,m,_,h){d&&(s&&(typeof d=="string"?d=s+d:d=[{text:s}].concat(d)),m=_?"abcjs-extra-text "+m:"",a(c,d,"historyfont",m,"description",p,{absElemType:"extraText",anchor:"start"},h))}function i(c,s,d,p,m,_,h,f,u,l,o,g){if(d){f=o?"abcjs-extra-text "+f:"";var v=g.calc("A",m,f);if(typeof d=="string")s&&(d=s+` -`+d),t(c,{marginLeft:p,text:d,font:m,absElemType:"extraText",name:u,"dominant-baseline":"middle",klass:f},g);else{c.push({startGroup:h,klass:f,name:u}),c.push({move:l.info}),s&&(t(c,{marginLeft:p,text:s,font:m,absElemType:"extraText",name:u,"dominant-baseline":"middle"},g),c.push({move:v.height*3/4}));for(var b=0;b0;V++){var G=F.selectables[V];if(F.getDim(G),G.dim.leftD&&G.dim.topI)j=V,S=0;else if(G.dim.topI){var T=Math.min(Math.abs(G.dim.left-D),Math.abs(G.dim.right-D));TD){var C=Math.min(Math.abs(G.dim.top-I),Math.abs(G.dim.bottom-I));CMath.abs(D-G.dim.right)?Math.abs(D-G.dim.right):Math.abs(D-G.dim.left),B=Math.abs(I-G.dim.top)>Math.abs(I-G.dim.bottom)?Math.abs(I-G.dim.bottom):Math.abs(I-G.dim.top),y=Math.sqrt(A*A+B*B);y=0&&S<=12?j:-1}function m(F,D,I){if(F.x<=D.offsetX&&F.x+F.width>=D.offsetX&&F.y<=D.offsetY&&F.y+F.height>=D.offsetY)return[D.offsetX,D.offsetY];var S=Math.abs(D.layerY/I-D.offsetY);return S<3?[D.offsetX,D.offsetY]:[D.layerX,D.layerY]}function _(F){if(!F)return null;if(F.tagName==="svg")return F;if(!F.getAttribute)return null;for(var D=F.getAttribute("selectable");!D;)F.parentElement?(F=F.parentElement,F.tagName==="svg"?D=!0:D=F.getAttribute("selectable")):D=!0;return F}function h(F,D){var I,S,j,V=d(F.selectables,_(D.target));return V>=0?(j=m(F.selectables[V].svgEl.getBBox(),D,F.scale),I=j[0],S=j[1]):(j=n(D),I=j[0],S=j[1],V=p(F,I,S)),{x:I,y:S,clickedOn:V}}function f(F){if(!(!F||!F.target||!F.touches||F.touches.length<1)){var D=F.target.getBoundingClientRect(),I=F.touches[0].pageX-D.left,S=F.touches[0].pageY-D.top;F.touches[0].offsetX=I,F.touches[0].offsetY=S,F.touches[0].layerX=F.touches[0].pageX,F.touches[0].layerY=F.touches[0].pageY}}function u(F){var D=F;F.type==="touchstart"&&(f(F),F.touches.length>0&&(D=F.touches[0]));var I=h(this,D);I.clickedOn>=0&&(F.type==="touchstart"||F.button===0)&&this.selectables[I.clickedOn]&&(this.dragTarget=this.selectables[I.clickedOn],this.dragIndex=I.clickedOn,this.dragMechanism="mouse",this.dragMouseStart={x:I.x,y:I.y},this.dragging&&this.dragTarget.isDraggable&&(N(this.renderer.paper,"abcjs-dragging-in-progress"),this.dragTarget.absEl.highlight(void 0,this.dragColor)))}function l(F){var D=F;if(F.type==="touchmove"&&(f(F),F.touches.length>0&&(D=F.touches[0])),this.lastTouchMove=F,!(!this.dragTarget||!this.dragging||!this.dragTarget.isDraggable||this.dragMechanism!=="mouse"||!this.dragMouseStart)){var I=h(this,D),S=Math.round((I.y-this.dragMouseStart.y)/t.STEP);S!==this.dragYStep&&(this.dragYStep=S,this.dragTarget.svgEl.setAttribute("transform","translate(0,"+S*t.STEP+")"))}}function o(F){var D=F;F.type==="touchend"&&this.lastTouchMove&&(f(this.lastTouchMove),this.lastTouchMove&&this.lastTouchMove.touches&&this.lastTouchMove.touches.length>0&&(D=this.lastTouchMove.touches[0])),this.dragTarget&&(b.bind(this)(),this.dragTarget.absEl&&this.dragTarget.absEl.highlight&&(this.selected=[this.dragTarget.absEl],this.dragTarget.absEl.highlight(void 0,this.selectionColor)),v.bind(this)(this.dragTarget,this.dragYStep,this.selectables.length,this.dragIndex,D),this.dragTarget.svgEl&&this.dragTarget.svgEl.focus&&(this.dragTarget.svgEl.focus(),this.dragTarget=null,this.dragIndex=-1),R(this.renderer.svg,"abcjs-dragging-in-progress"))}function g(F){F>=0&&FT&&Fk&&(b=k),b<-k&&(b=-k),b}function d(l,o){var g=l?a.STEP:-a.STEP;return o&&(g=g*.4),g}function p(l,o,g){var v=o.heads[l?0:o.heads.length-1],b=g.heads[l?0:g.heads.length-1],k=v.x;l&&(k+=v.w-.6);var w=b.x;return w+=l?b.w:.6,[k,w]}function m(l,o,g,v,b,k,w,$,N,R){var F=g-2,D=g-2,I=Math.round(v?Math.max(l+F,N+D):Math.min(l-F,$-D)),S=s(b,k,o,w),j=I+Math.floor(S/2),V=I+Math.floor(-S/2);return R||(v&&I<6||!v&&I>6)&&(j=6,V=6),[j,V]}function _(l,o,g,v,b){for(var k=0;k=0;g--)if(!l[g].abcelem.rest)return g;return-1}function u(l,o,g,v,b){for(var k=[],w=[],$=0;$0&&N.abcelem.beambr&&N.abcelem.beambr<=V+1){w[V].split||(w[V].split=[w[V].x]);var G=p(o,l[$-1],N);w[V].split[w[V].split.length-1]>=G[0]&&(G[0]+=N.w),w[V].split.push(G[0]),w[V].split.push(G[1])}}for(var T=w.length-1;T>=0;T--){var C=h(l,$),A=C===-1||C-T-4;if(A){var B=F,y=D+I*(T+1);if(w[T].single){var x=f(l,$),q=x===-1,L=C===-1;if(q)B=F+5;else if(L)B=F-5;else{var Q=l[x].abcelem.duration,Z=l[C].abcelem.duration;Q===Z?B=$%2===0?F+5:F-5:B=Qs.startNote||_>s.endNote)&&(s.startNote=_+3,s.endNote=_+3)}else{for(var f=0,h=0;h=p}function i(s,d,p){if(p.beams.length===0)return 0;p=p.beams[0];var m=s+(d-s)/2;return t(p.startX,p.startY,p.endX,p.endY,m)}function c(s,d){return s+(d-s)/2}return j0=a,j0}var U0,B_;function e5(){if(B_)return U0;B_=1;var t=Z4(),a=z0(),r=J4(),n=function(_){for(var h=0;h<_.beams.length;h++)if(_.beams[h].type==="BeamElem"){t(_.beams[h]),i(_.beams[h]);for(var f=0;f<_.beams[h].elems.length;f++)_.adjustRange(_.beams[h].elems[f])}for(_.staff.specialY.chordLines=s(_.children),h=0;h<_.otherchildren.length;h++){var u=_.otherchildren[h];u.type==="TripletElem"&&(r(u),_.adjustRange(u))}_.staff.top=Math.max(_.staff.top,_.top),_.staff.bottom=Math.min(_.staff.bottom,_.bottom)};function i(_){for(var h=1.5,f=0;f<_.elems.length;f++){var u=_.elems[f];if(u.top)for(var l=m(u,_),o=0;o0&&h.putChordInLane(u),_[u]=f.right;return}}_.push(f.right),h.putChordInLane(_.length-1)}}function s(_){var h=[0],f=[0],u,l,o;for(u=0;u<_.length;u++){for(l=0;l<_[u].children.length;l++)o=_[u].children[l],o.chordHeightAbove&&c(h,o);for(l=_[u].children.length-1;l>=0;l--)o=_[u].children[l],o.chordHeightBelow&&c(f,o)}return(h.length>1||f.length>1)&&p(_,h.length,f.length),{above:h.length,below:f.length}}function d(_){for(var h=0,f=0;f<_.children.length;f++){var u=_.children[f];u.chordHeightBelow&&h++}return h}function p(_,h,f){for(var u=0;u<_.length;u++){d(_[u]);for(var l=0;l<_[u].children.length;l++){var o=_[u].children[l];o.chordHeightAbove&&o.invertLane(h)}}}function m(_,h){return h=h.beams[0],a(h.startX,h.startY,h.endX,h.endY,_.x)}return U0=n,U0}var R0,P_;function t5(){if(P_)return R0;P_=1;var t=Zi(),a=function(h,f){for(var u,l=0;l=0&&(o.originalTop=o.top,o.originalBottom=o.bottom),n(o,g,"lyricHeightAbove"),n(o,g,"chordHeightAbove",o.specialY.chordLines.above),o.specialY.endingHeightAbove&&(o.specialY.chordHeightAbove?o.top+=2:o.top+=o.specialY.endingHeightAbove+r,g.endingHeightAbove=o.top),o.specialY.dynamicHeightAbove&&o.specialY.volumeHeightAbove?(o.top+=Math.max(o.specialY.dynamicHeightAbove,o.specialY.volumeHeightAbove)+r,g.dynamicHeightAbove=o.top,g.volumeHeightAbove=o.top):(n(o,g,"dynamicHeightAbove"),n(o,g,"volumeHeightAbove")),n(o,g,"partHeightAbove"),n(o,g,"tempoHeightAbove"),o.specialY.lyricHeightBelow&&(o.specialY.lyricHeightBelow+=h.spacing.vocal/t.STEP,g.lyricHeightBelow=o.bottom,o.bottom-=o.specialY.lyricHeightBelow+r),o.specialY.chordHeightBelow){g.chordHeightBelow=o.bottom;var v=o.specialY.chordHeightBelow;o.specialY.chordLines.below&&(v*=o.specialY.chordLines.below),o.bottom-=v+r}o.specialY.volumeHeightBelow&&o.specialY.dynamicHeightBelow?(g.volumeHeightBelow=o.bottom,g.dynamicHeightBelow=o.bottom,o.bottom-=Math.max(o.specialY.volumeHeightBelow,o.specialY.dynamicHeightBelow)+r):o.specialY.volumeHeightBelow?(g.volumeHeightBelow=o.bottom,o.bottom-=o.specialY.volumeHeightBelow+r):o.specialY.dynamicHeightBelow&&(g.dynamicHeightBelow=o.bottom,o.bottom-=o.specialY.dynamicHeightBelow+r),h.showDebug&&h.showDebug.indexOf("box")>=0&&(o.positionY=g);for(var b=0;b0&&(o.top+=F)}o.top+=h.spacing.staffTopMargin/t.STEP,u=2-o.bottom}},r=1;function n(h,f,u,l){if(h.specialY[u]){var o=h.specialY[u];l&&(o*=l),h.top+=o+r,f[u]=h.top}}function i(h,f,u){var l,o,g=0;for(l=0;l=n.children.length},t.getNextX=function(n){return Math.max(n.minx,n.nextx)},t.getSpacingUnits=function(n){return Math.sqrt(n.spacingduration*8)},t.layoutOneItem=function(n,i,c,s,d){var p=c.children[c.i];if(!p)return 0;var m=n-c.minx,_=c.durationindex+p.duration>0?s:0;if(p.abcelem.el_type==="note"&&!p.abcelem.rest&&c.voicenumber!==0&&d){var h=d.children[d.i],f=h&&(p.abcelem.maxpitch<=h.abcelem.maxpitch+1&&p.abcelem.maxpitch>=h.abcelem.minpitch-1||p.abcelem.minpitch<=h.abcelem.maxpitch+1&&p.abcelem.minpitch>=h.abcelem.minpitch-1);if(f&&p.abcelem.minpitch===h.abcelem.minpitch&&p.abcelem.maxpitch===h.abcelem.maxpitch&&h.heads&&h.heads.length>0&&p.heads&&p.heads.length>0&&h.heads[0].c===p.heads[0].c&&(f=!1),f){var u=h.heads&&h.heads.length>0?h.heads[0].realWidth:h.fixed.w;p.adjustedWidth||(p.adjustedWidth=u+p.w),p.w=p.adjustedWidth;for(var l=0;l0){var _=m.children.length-1,h=m.children[_];if(h.abcelem.el_type==="bar"){var f=h.children[0].x;f>d?d=f:h.children[0].x=d}}}}var r=function(s,d,p,m,_){var h=1e-7,f=0,u=1e3,l=_;m.startx=l;var o,g=0;for(p&&console.log("init layout",s),o=0;oh?k.push(m.voices[o]):b.push(m.voices[o])}v=0;var $=0;for(o=0;ol&&(l=t.getNextX(b[o]),v=t.getSpacingUnits(b[o]),$=b[o].spacingduration);f+=v,u=Math.min(u,v),p&&console.log("currentduration: ",g,f,u);var N=void 0;for(o=0;o0){l=D;for(var S=0;Sl&&(l=t.getNextX(m.voices[o]),v=t.getSpacingUnits(m.voices[o]));return a(m.voices),f+=v,m.setWidth(l),{spacingUnits:f,minSpace:u}};function n(s){for(var d=0;d0?0:5e-7)}function c(s,d){return!s||!s.staff||!s.staff.voices||s.staff.voices.length===0||!d||!d.staff||!d.staff.voices||d.staff.voices.length===0?!1:s.staff.voices[0]===d.staff.voices[0]}return P0=r,P0}var N0,L_;function V_(){if(L_)return N0;L_=1;function t(i,c,s,d,p){var m=i.padding.left,_=0,h,f;for(h=0;hMath.round($)&&($=N,v&&(k=-1))}for(k=0;k0?(v=(o-F)/b,v*k>50&&(v=50/k),v):null}function m(u){for(var l=0;l1){var w=b[0].abcelem.rest&&b[0].abcelem.rest.type==="rest",$=b[k].abcelem.rest&&b[k].abcelem.rest.type==="rest";if(w&&!b[k].abcelem.rest){var N=b[0].children.find(function(S){return S.name.includes("rest")}),R=h(b[k]);if(N){var F=N.bottom-R;F-=2,F<0&&b[0].children.length>0&&(b[0].bottom-=F,b[0].top-=F,b[0].children[0].bottom-=F,b[0].children[0].top-=F,b[0].children[0].pitch-=F)}}else if($&&!b[0].abcelem.rest){var D=b[k].children.find(function(S){return S.name.includes("rest")});if(D){var I=D.top-f(b[0]);I+=2,I>0&&b[k].children.length>0&&(b[k].bottom-=I,b[k].top-=I,b[k].children[0].bottom-=I,b[k].children[0].top-=I,b[k].children[0].pitch-=I)}}}}}function h(u){if(u.children){for(var l=-90,o=0;o-90)return l}return u.top}function f(u){if(u.children){for(var l=90,o=0;o0&&r.push(a),a==="abcjs-tab-number")return r.join(" ");if(a==="text instrument-name")return"abcjs-text abcjs-instrument-name";if(this.lineNumber!==null&&r.push("l"+this.lineNumber),this.measureNumber!==null&&r.push("m"+this.measureNumber),this.measureNumber!==null&&r.push("mm"+this.measureTotal()),this.voiceNumber!==null&&r.push("v"+this.voiceNumber),a&&(a.indexOf("note")>=0||a.indexOf("rest")>=0||a.indexOf("lyric")>=0)&&this.noteNumber!==null&&r.push("n"+this.noteNumber),r.length>0){r=r.join(" "),r=r.split(" ");for(var n=0;n0&&(r[n]="abcjs-"+r[n])}return r.join(" ")},I0=t,I0}var O0,W_;function c5(){if(W_)return O0;W_=1;var t=function(r,n){this.formatting=r,this.classes=n};return t.prototype.updateFonts=function(a){a.gchordfont&&(this.formatting.gchordfont=a.gchordfont),a.tripletfont&&(this.formatting.tripletfont=a.tripletfont),a.annotationfont&&(this.formatting.annotationfont=a.annotationfont),a.vocalfont&&(this.formatting.vocalfont=a.vocalfont)},t.prototype.getFamily=function(a){return a[0]==='"'&&a[a.length-1]==='"'?a.substring(1,a.length-1):a},t.prototype.calc=function(a,r){var n;typeof a=="string"?(n=this.formatting[a],n?n={face:n.face,size:Math.round(n.size*4/3),decoration:n.decoration,style:n.style,weight:n.weight,box:n.box}:n={face:"Arial",size:Math.round(48/3),decoration:"underline",style:"normal",weight:"normal"}):n={face:a.face,size:Math.round(a.size*4/3),decoration:a.decoration,style:a.style,weight:a.weight,box:a.box};var i=this.formatting.fontboxpadding?this.formatting.fontboxpadding:.1;n.padding=n.size*i;var c={"font-size":n.size,"font-style":n.style,"font-family":this.getFamily(n.face),"font-weight":n.weight,"text-decoration":n.decoration,class:this.classes.generate(r)};return{font:n,attr:c}},O0=t,O0}var H0,Y_;function l5(){if(Y_)return H0;Y_=1;var t=function(r,n){this.getFontAndAttr=r,this.svg=n};return t.prototype.updateFonts=function(a){this.getFontAndAttr.updateFonts(a)},t.prototype.attr=function(a,r){return this.getFontAndAttr.calc(a,r)},t.prototype.getFamily=function(a){return a[0]==='"'&&a[a.length-1]==='"'?a.substring(1,a.length-1):a},t.prototype.calc=function(a,r,n,i){var c;typeof r=="string"?c=this.attr(r,n):c={font:{face:r.face,size:r.size,decoration:r.decoration,style:r.style,weight:r.weight},attr:{"font-size":r.size,"font-style":r.style,"font-family":this.getFamily(r.face),"font-weight":r.weight,"text-decoration":r.decoration,class:this.getFontAndAttr.classes.generate(n)}};var s=this.svg.getTextSize(a,c.attr,i);return c.font.box?{height:s.height+c.font.padding*4,width:s.width+c.font.padding*4}:s},t.prototype.baselineToCenter=function(a,r,n,i,c){var s=this.calc(a,r,n).height,d=this.attr(r,n).font.size;return s*.5+(c-i-2)*d},H0=t,H0}var Q0,K_;function qs(){if(K_)return Q0;K_=1;var t=function(){for(var a=0,r,n=arguments[a++],i=[],c,s,d,p;n;){if(c=/^[^\x25]+/.exec(n))i.push(c[0]);else if(c=/^\x25{2}/.exec(n))i.push("%");else if(c=/^\x25(?:(\d+)\$)?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(n)){if((r=arguments[c[1]||a++])==null||r==null)throw"Too few arguments.";if(/[^s]/.test(c[7])&&typeof r!="number")throw"Expecting number but found "+typeof r;switch(c[7]){case"b":r=r.toString(2);break;case"c":r=String.fromCharCode(r);break;case"d":r=parseInt(r);break;case"e":r=c[6]?r.toExponential(c[6]):r.toExponential();break;case"f":r=c[6]?parseFloat(r).toFixed(c[6]):parseFloat(r);break;case"o":r=r.toString(8);break;case"s":r=(r=String(r))&&c[6]?r.substring(0,c[6]):r;break;case"u":r=Math.abs(r);break;case"x":r=r.toString(16);break;case"X":r=r.toString(16).toUpperCase();break}r=/[def]/.test(c[7])&&c[2]&&r>0?"+"+r:r,d=c[3]?c[3]=="0"?"0":c[3][1]:" ",p=c[5]-String(r).length,s=c[5]?str_repeat(d,p):"",i.push(c[4]?r+s:s+r)}else throw"Huh ?!";n=n.substring(c[0].length)}return i.join("")};return Q0=t,Q0}var W0,X_;function ir(){if(X_)return W0;X_=1;function t(a){return parseFloat(a.toFixed(2))}return W0=t,W0}var Y0,Z_;function Jr(){if(Z_)return Y0;Z_=1;var t=ir();function a(r,n,i){var c=n.y;if(n.phrases){var m=r.paper.richTextLine(n.phrases,n.x,n.y,n.klass,n.anchor);return m}if(n.lane){var s=n.dim.font.size*.25;c+=(n.dim.font.size+s)*n.lane}var d;n.dim?(d=n.dim,d.attr.class=n.klass):d=r.controller.getFontAndAttr.calc(n.type,n.klass),n.anchor&&(d.attr["text-anchor"]=n.anchor),n["dominant-baseline"]&&(d.attr["dominant-baseline"]=n["dominant-baseline"]),d.attr.x=n.x,d.attr.y=c,n.centerVertically||(d.attr.y+=d.font.size),n.type==="debugfont"&&(console.log("Debug msg: "+n.text),d.attr.stroke="#ff0000"),n.cursor&&(d.attr.cursor=n.cursor);var p;n.name==="free-text"?p=n.text.replace(/^[ \t]*\n/gm,` +`&&s--,!r.noMove){var d=c.height*1.1*s;a.push({move:Math.round(d)}),r.marginBottom&&a.push({move:r.marginBottom})}}}return $0=t,$0}var q0,F_;function A_(){if(F_)return q0;F_=1;const t=T0();function a(r,n,i,c,s,d,p,m){var _=m.calc("i",i,c);if(n==="")r.push({move:_.height});else{if(typeof n=="string"){t(r,{marginLeft:d,text:n,font:i,klass:c,marginTop:p.marginTop,anchor:p.anchor,absElemType:p.absElemType,info:p.info,name:s},m);return}p.marginTop&&r.push({move:p.marginTop});var h=0,f={left:d,anchor:p.anchor,phrases:[]};c&&(f.klass=c),r.push(f);for(var u=0;u0){var b=!!(n.composer||n.origin),g=h?"abcjs-rhythm":"";t(this.rows,{marginLeft:m,text:n.rhythm,font:"infofont",klass:g,absElemType:"rhythm",noMove:b,info:i.rhythm,name:"rhythm"},f)}n.composer&&n.composer,n.origin&&n.origin;var k=n.composer?n.composer:"";if(n.origin&&(typeof k=="string"&&typeof n.origin=="string"?k+=" ("+n.origin+")":typeof k=="string"&&typeof n.origin!="string"?(k=[{text:k}],k.push({text:" ("}),k=k.concat(n.origin),k.push({text:")"})):(k.push({text:" ("}),k=k.concat(n.origin),k.push({text:")"}))),k){var g=h?"abcjs-composer":"";a(this.rows,k,"composerfont",g,"composer",m+d,{anchor:"end",absElemType:"composer",info:i.composer,ingroup:!0},f)}}if(n.author&&n.author.length>0){var g=h?"abcjs-author":"";a(this.rows,n.author,"composerfont",g,"author",m+d,{anchor:"end",absElemType:"author",info:i.author},f)}if(n.partOrder&&n.partOrder.length>0){var g=h?"abcjs-part-order":"";a(this.rows,n.partOrder,"partsfont",g,"part-order",m,{absElemType:"partOrder",info:i.partOrder,anchor:"start"},f)}}return G0=r,G0}var F0,M_;function e5(){if(M_)return F0;M_=1;const t=T0(),a=A_();function r(c,s,d,p,m,_,h){this.rows=[],c.unalignedWords&&c.unalignedWords.length>0&&this.unalignedWords(c.unalignedWords,p,m,_,h),this.extraText(c,p,m,_,h),c.footer&&d&&this.footer(c.footer,s,p,h)}r.prototype.unalignedWords=function(c,s,d,p,m){var _=p?"abcjs-unaligned-words":"",h="wordsfont",f=m.calc("i",h,_);this.rows.push({move:d.words}),i(this.rows,"",c,s,h,"unalignedWords","unalignedWords",_,"unalignedWords",d,p,m),this.rows.push({move:f.height})};function n(c,s,d,p,m,_,h){d&&(s&&(typeof d=="string"?d=s+d:d=[{text:s}].concat(d)),m=_?"abcjs-extra-text "+m:"",a(c,d,"historyfont",m,"description",p,{absElemType:"extraText",anchor:"start"},h))}function i(c,s,d,p,m,_,h,f,u,l,o,g){if(d){f=o?"abcjs-extra-text "+f:"";var v=g.calc("A",m,f);if(typeof d=="string")s&&(d=s+` +`+d),t(c,{marginLeft:p,text:d,font:m,absElemType:"extraText",name:u,"dominant-baseline":"middle",klass:f},g);else{c.push({startGroup:h,klass:f,name:u}),c.push({move:l.info}),s&&(t(c,{marginLeft:p,text:s,font:m,absElemType:"extraText",name:u,"dominant-baseline":"middle"},g),c.push({move:v.height*3/4}));for(var b=0;b0;V++){var G=F.selectables[V];if(F.getDim(G),G.dim.leftD&&G.dim.topI)E=V,S=0;else if(G.dim.topI){var $=Math.min(Math.abs(G.dim.left-D),Math.abs(G.dim.right-D));$D){var C=Math.min(Math.abs(G.dim.top-I),Math.abs(G.dim.bottom-I));CMath.abs(D-G.dim.right)?Math.abs(D-G.dim.right):Math.abs(D-G.dim.left),P=Math.abs(I-G.dim.top)>Math.abs(I-G.dim.bottom)?Math.abs(I-G.dim.bottom):Math.abs(I-G.dim.top),y=Math.sqrt(A*A+P*P);y=0&&S<=12?E:-1}function m(F,D,I){if(F.x<=D.offsetX&&F.x+F.width>=D.offsetX&&F.y<=D.offsetY&&F.y+F.height>=D.offsetY)return[D.offsetX,D.offsetY];var S=Math.abs(D.layerY/I-D.offsetY);return S<3?[D.offsetX,D.offsetY]:[D.layerX,D.layerY]}function _(F){if(!F)return null;if(F.tagName==="svg")return F;if(!F.getAttribute)return null;for(var D=F.getAttribute("selectable");!D;)F.parentElement?(F=F.parentElement,F.tagName==="svg"?D=!0:D=F.getAttribute("selectable")):D=!0;return F}function h(F,D){var I,S,E,V=d(F.selectables,_(D.target));return V>=0?(E=m(F.selectables[V].svgEl.getBBox(),D,F.scale),I=E[0],S=E[1]):(E=n(D),I=E[0],S=E[1],V=p(F,I,S)),{x:I,y:S,clickedOn:V}}function f(F){if(!(!F||!F.target||!F.touches||F.touches.length<1)){var D=F.target.getBoundingClientRect(),I=F.touches[0].pageX-D.left,S=F.touches[0].pageY-D.top;F.touches[0].offsetX=I,F.touches[0].offsetY=S,F.touches[0].layerX=F.touches[0].pageX,F.touches[0].layerY=F.touches[0].pageY}}function u(F){var D=F;F.type==="touchstart"&&(f(F),F.touches.length>0&&(D=F.touches[0]));var I=h(this,D);I.clickedOn>=0&&(F.type==="touchstart"||F.button===0)&&this.selectables[I.clickedOn]&&(this.dragTarget=this.selectables[I.clickedOn],this.dragIndex=I.clickedOn,this.dragMechanism="mouse",this.dragMouseStart={x:I.x,y:I.y},this.dragging&&this.dragTarget.isDraggable&&(N(this.renderer.paper,"abcjs-dragging-in-progress"),this.dragTarget.absEl.highlight(void 0,this.dragColor)))}function l(F){var D=F;if(F.type==="touchmove"&&(f(F),F.touches.length>0&&(D=F.touches[0])),this.lastTouchMove=F,!(!this.dragTarget||!this.dragging||!this.dragTarget.isDraggable||this.dragMechanism!=="mouse"||!this.dragMouseStart)){var I=h(this,D),S=Math.round((I.y-this.dragMouseStart.y)/t.STEP);S!==this.dragYStep&&(this.dragYStep=S,this.dragTarget.svgEl.setAttribute("transform","translate(0,"+S*t.STEP+")"))}}function o(F){var D=F;F.type==="touchend"&&this.lastTouchMove&&(f(this.lastTouchMove),this.lastTouchMove&&this.lastTouchMove.touches&&this.lastTouchMove.touches.length>0&&(D=this.lastTouchMove.touches[0])),this.dragTarget&&(b.bind(this)(),this.dragTarget.absEl&&this.dragTarget.absEl.highlight&&(this.selected=[this.dragTarget.absEl],this.dragTarget.absEl.highlight(void 0,this.selectionColor)),v.bind(this)(this.dragTarget,this.dragYStep,this.selectables.length,this.dragIndex,D),this.dragTarget.svgEl&&this.dragTarget.svgEl.focus&&(this.dragTarget.svgEl.focus(),this.dragTarget=null,this.dragIndex=-1),R(this.renderer.svg,"abcjs-dragging-in-progress"))}function g(F){F>=0&&F$&&Fk&&(b=k),b<-k&&(b=-k),b}function d(l,o){var g=l?a.STEP:-a.STEP;return o&&(g=g*.4),g}function p(l,o,g){var v=o.heads[l?0:o.heads.length-1],b=g.heads[l?0:g.heads.length-1],k=v.x;l&&(k+=v.w-.6);var w=b.x;return w+=l?b.w:.6,[k,w]}function m(l,o,g,v,b,k,w,T,N,R){var F=g-2,D=g-2,I=Math.round(v?Math.max(l+F,N+D):Math.min(l-F,T-D)),S=s(b,k,o,w),E=I+Math.floor(S/2),V=I+Math.floor(-S/2);return R||(v&&I<6||!v&&I>6)&&(E=6,V=6),[E,V]}function _(l,o,g,v,b){for(var k=0;k=0;g--)if(!l[g].abcelem.rest)return g;return-1}function u(l,o,g,v,b){for(var k=[],w=[],T=0;T0&&N.abcelem.beambr&&N.abcelem.beambr<=V+1){w[V].split||(w[V].split=[w[V].x]);var G=p(o,l[T-1],N);w[V].split[w[V].split.length-1]>=G[0]&&(G[0]+=N.w),w[V].split.push(G[0]),w[V].split.push(G[1])}}for(var $=w.length-1;$>=0;$--){var C=h(l,T),A=C===-1||C-$-4;if(A){var P=F,y=D+I*($+1);if(w[$].single){var x=f(l,T),q=x===-1,L=C===-1;if(q)P=F+5;else if(L)P=F-5;else{var Q=l[x].abcelem.duration,Z=l[C].abcelem.duration;Q===Z?P=T%2===0?F+5:F-5:P=Qs.startNote||_>s.endNote)&&(s.startNote=_+3,s.endNote=_+3)}else{for(var f=0,h=0;h=p}function i(s,d,p){if(p.beams.length===0)return 0;p=p.beams[0];var m=s+(d-s)/2;return t(p.startX,p.startY,p.endX,p.endY,m)}function c(s,d){return s+(d-s)/2}return U0=a,U0}var E0,P_;function n5(){if(P_)return E0;P_=1;var t=a5(),a=z0(),r=i5(),n=function(_){for(var h=0;h<_.beams.length;h++)if(_.beams[h].type==="BeamElem"){t(_.beams[h]),i(_.beams[h]);for(var f=0;f<_.beams[h].elems.length;f++)_.adjustRange(_.beams[h].elems[f])}for(_.staff.specialY.chordLines=s(_.children),h=0;h<_.otherchildren.length;h++){var u=_.otherchildren[h];u.type==="TripletElem"&&(r(u),_.adjustRange(u))}_.staff.top=Math.max(_.staff.top,_.top),_.staff.bottom=Math.min(_.staff.bottom,_.bottom)};function i(_){for(var h=1.5,f=0;f<_.elems.length;f++){var u=_.elems[f];if(u.top)for(var l=m(u,_),o=0;o0&&h.putChordInLane(u),_[u]=f.right;return}}_.push(f.right),h.putChordInLane(_.length-1)}}function s(_){var h=[0],f=[0],u,l,o;for(u=0;u<_.length;u++){for(l=0;l<_[u].children.length;l++)o=_[u].children[l],o.chordHeightAbove&&c(h,o);for(l=_[u].children.length-1;l>=0;l--)o=_[u].children[l],o.chordHeightBelow&&c(f,o)}return(h.length>1||f.length>1)&&p(_,h.length,f.length),{above:h.length,below:f.length}}function d(_){for(var h=0,f=0;f<_.children.length;f++){var u=_.children[f];u.chordHeightBelow&&h++}return h}function p(_,h,f){for(var u=0;u<_.length;u++){d(_[u]);for(var l=0;l<_[u].children.length;l++){var o=_[u].children[l];o.chordHeightAbove&&o.invertLane(h)}}}function m(_,h){return h=h.beams[0],a(h.startX,h.startY,h.endX,h.endY,_.x)}return E0=n,E0}var R0,N_;function r5(){if(N_)return R0;N_=1;var t=Zi(),a=function(h,f){for(var u,l=0;l=0&&(o.originalTop=o.top,o.originalBottom=o.bottom),n(o,g,"lyricHeightAbove"),n(o,g,"chordHeightAbove",o.specialY.chordLines.above),o.specialY.endingHeightAbove&&(o.specialY.chordHeightAbove?o.top+=2:o.top+=o.specialY.endingHeightAbove+r,g.endingHeightAbove=o.top),o.specialY.dynamicHeightAbove&&o.specialY.volumeHeightAbove?(o.top+=Math.max(o.specialY.dynamicHeightAbove,o.specialY.volumeHeightAbove)+r,g.dynamicHeightAbove=o.top,g.volumeHeightAbove=o.top):(n(o,g,"dynamicHeightAbove"),n(o,g,"volumeHeightAbove")),n(o,g,"partHeightAbove"),n(o,g,"tempoHeightAbove"),o.specialY.lyricHeightBelow&&(o.specialY.lyricHeightBelow+=h.spacing.vocal/t.STEP,g.lyricHeightBelow=o.bottom,o.bottom-=o.specialY.lyricHeightBelow+r),o.specialY.chordHeightBelow){g.chordHeightBelow=o.bottom;var v=o.specialY.chordHeightBelow;o.specialY.chordLines.below&&(v*=o.specialY.chordLines.below),o.bottom-=v+r}o.specialY.volumeHeightBelow&&o.specialY.dynamicHeightBelow?(g.volumeHeightBelow=o.bottom,g.dynamicHeightBelow=o.bottom,o.bottom-=Math.max(o.specialY.volumeHeightBelow,o.specialY.dynamicHeightBelow)+r):o.specialY.volumeHeightBelow?(g.volumeHeightBelow=o.bottom,o.bottom-=o.specialY.volumeHeightBelow+r):o.specialY.dynamicHeightBelow&&(g.dynamicHeightBelow=o.bottom,o.bottom-=o.specialY.dynamicHeightBelow+r),h.showDebug&&h.showDebug.indexOf("box")>=0&&(o.positionY=g);for(var b=0;b0&&(o.top+=F)}o.top+=h.spacing.staffTopMargin/t.STEP,u=2-o.bottom}},r=1;function n(h,f,u,l){if(h.specialY[u]){var o=h.specialY[u];l&&(o*=l),h.top+=o+r,f[u]=h.top}}function i(h,f,u){var l,o,g=0;for(l=0;l=n.children.length},t.getNextX=function(n){return Math.max(n.minx,n.nextx)},t.getSpacingUnits=function(n){return Math.sqrt(n.spacingduration*8)},t.layoutOneItem=function(n,i,c,s,d){var p=c.children[c.i];if(!p)return 0;var m=n-c.minx,_=c.durationindex+p.duration>0?s:0;if(p.abcelem.el_type==="note"&&!p.abcelem.rest&&c.voicenumber!==0&&d){var h=d.children[d.i],f=h&&(p.abcelem.maxpitch<=h.abcelem.maxpitch+1&&p.abcelem.maxpitch>=h.abcelem.minpitch-1||p.abcelem.minpitch<=h.abcelem.maxpitch+1&&p.abcelem.minpitch>=h.abcelem.minpitch-1);if(f&&p.abcelem.minpitch===h.abcelem.minpitch&&p.abcelem.maxpitch===h.abcelem.maxpitch&&h.heads&&h.heads.length>0&&p.heads&&p.heads.length>0&&h.heads[0].c===p.heads[0].c&&(f=!1),f){var u=h.heads&&h.heads.length>0?h.heads[0].realWidth:h.fixed.w;p.adjustedWidth||(p.adjustedWidth=u+p.w),p.w=p.adjustedWidth;for(var l=0;l0){var _=m.children.length-1,h=m.children[_];if(h.abcelem.el_type==="bar"){var f=h.children[0].x;f>d?d=f:h.children[0].x=d}}}}var r=function(s,d,p,m,_){var h=1e-7,f=0,u=1e3,l=_;m.startx=l;var o,g=0;for(p&&console.log("init layout",s),o=0;oh?k.push(m.voices[o]):b.push(m.voices[o])}v=0;var T=0;for(o=0;ol&&(l=t.getNextX(b[o]),v=t.getSpacingUnits(b[o]),T=b[o].spacingduration);f+=v,u=Math.min(u,v),p&&console.log("currentduration: ",g,f,u);var N=void 0;for(o=0;o0){l=D;for(var S=0;Sl&&(l=t.getNextX(m.voices[o]),v=t.getSpacingUnits(m.voices[o]));return a(m.voices),f+=v,m.setWidth(l),{spacingUnits:f,minSpace:u}};function n(s){for(var d=0;d0?0:5e-7)}function c(s,d){return!s||!s.staff||!s.staff.voices||s.staff.voices.length===0||!d||!d.staff||!d.staff.voices||d.staff.voices.length===0?!1:s.staff.voices[0]===d.staff.voices[0]}return P0=r,P0}var N0,V_;function I_(){if(V_)return N0;V_=1;function t(i,c,s,d,p){var m=i.padding.left,_=0,h,f;for(h=0;hMath.round(T)&&(T=N,v&&(k=-1))}for(k=0;k0?(v=(o-F)/b,v*k>50&&(v=50/k),v):null}function m(u){for(var l=0;l1){var w=b[0].abcelem.rest&&b[0].abcelem.rest.type==="rest",T=b[k].abcelem.rest&&b[k].abcelem.rest.type==="rest";if(w&&!b[k].abcelem.rest){var N=b[0].children.find(function(S){return S.name.includes("rest")}),R=h(b[k]);if(N){var F=N.bottom-R;F-=2,F<0&&b[0].children.length>0&&(b[0].bottom-=F,b[0].top-=F,b[0].children[0].bottom-=F,b[0].children[0].top-=F,b[0].children[0].pitch-=F)}}else if(T&&!b[0].abcelem.rest){var D=b[k].children.find(function(S){return S.name.includes("rest")});if(D){var I=D.top-f(b[0]);I+=2,I>0&&b[k].children.length>0&&(b[k].bottom-=I,b[k].top-=I,b[k].children[0].bottom-=I,b[k].children[0].top-=I,b[k].children[0].pitch-=I)}}}}}function h(u){if(u.children){for(var l=-90,o=0;o-90)return l}return u.top}function f(u){if(u.children){for(var l=90,o=0;o0&&r.push(a),a==="abcjs-tab-number")return r.join(" ");if(a==="text instrument-name")return"abcjs-text abcjs-instrument-name";if(this.lineNumber!==null&&r.push("l"+this.lineNumber),this.measureNumber!==null&&r.push("m"+this.measureNumber),this.measureNumber!==null&&r.push("mm"+this.measureTotal()),this.voiceNumber!==null&&r.push("v"+this.voiceNumber),a&&(a.indexOf("note")>=0||a.indexOf("rest")>=0||a.indexOf("lyric")>=0)&&this.noteNumber!==null&&r.push("n"+this.noteNumber),r.length>0){r=r.join(" "),r=r.split(" ");for(var n=0;n0&&(r[n]="abcjs-"+r[n])}return r.join(" ")},I0=t,I0}var O0,Y_;function f5(){if(Y_)return O0;Y_=1;var t=function(r,n){this.formatting=r,this.classes=n};return t.prototype.updateFonts=function(a){a.gchordfont&&(this.formatting.gchordfont=a.gchordfont),a.tripletfont&&(this.formatting.tripletfont=a.tripletfont),a.annotationfont&&(this.formatting.annotationfont=a.annotationfont),a.vocalfont&&(this.formatting.vocalfont=a.vocalfont)},t.prototype.getFamily=function(a){return a[0]==='"'&&a[a.length-1]==='"'?a.substring(1,a.length-1):a},t.prototype.calc=function(a,r){var n;typeof a=="string"?(n=this.formatting[a],n?n={face:n.face,size:Math.round(n.size*4/3),decoration:n.decoration,style:n.style,weight:n.weight,box:n.box}:n={face:"Arial",size:Math.round(48/3),decoration:"underline",style:"normal",weight:"normal"}):n={face:a.face,size:Math.round(a.size*4/3),decoration:a.decoration,style:a.style,weight:a.weight,box:a.box};var i=this.formatting.fontboxpadding?this.formatting.fontboxpadding:.1;n.padding=n.size*i;var c={"font-size":n.size,"font-style":n.style,"font-family":this.getFamily(n.face),"font-weight":n.weight,"text-decoration":n.decoration,class:this.classes.generate(r)};return{font:n,attr:c}},O0=t,O0}var H0,K_;function p5(){if(K_)return H0;K_=1;var t=function(r,n){this.getFontAndAttr=r,this.svg=n};return t.prototype.updateFonts=function(a){this.getFontAndAttr.updateFonts(a)},t.prototype.attr=function(a,r){return this.getFontAndAttr.calc(a,r)},t.prototype.getFamily=function(a){return a[0]==='"'&&a[a.length-1]==='"'?a.substring(1,a.length-1):a},t.prototype.calc=function(a,r,n,i){var c;typeof r=="string"?c=this.attr(r,n):c={font:{face:r.face,size:r.size,decoration:r.decoration,style:r.style,weight:r.weight},attr:{"font-size":r.size,"font-style":r.style,"font-family":this.getFamily(r.face),"font-weight":r.weight,"text-decoration":r.decoration,class:this.getFontAndAttr.classes.generate(n)}};var s=this.svg.getTextSize(a,c.attr,i);return c.font.box?{height:s.height+c.font.padding*4,width:s.width+c.font.padding*4}:s},t.prototype.baselineToCenter=function(a,r,n,i,c){var s=this.calc(a,r,n).height,d=this.attr(r,n).font.size;return s*.5+(c-i-2)*d},H0=t,H0}var Q0,X_;function As(){if(X_)return Q0;X_=1;var t=function(){for(var a=0,r,n=arguments[a++],i=[],c,s,d,p;n;){if(c=/^[^\x25]+/.exec(n))i.push(c[0]);else if(c=/^\x25{2}/.exec(n))i.push("%");else if(c=/^\x25(?:(\d+)\$)?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(n)){if((r=arguments[c[1]||a++])==null||r==null)throw"Too few arguments.";if(/[^s]/.test(c[7])&&typeof r!="number")throw"Expecting number but found "+typeof r;switch(c[7]){case"b":r=r.toString(2);break;case"c":r=String.fromCharCode(r);break;case"d":r=parseInt(r);break;case"e":r=c[6]?r.toExponential(c[6]):r.toExponential();break;case"f":r=c[6]?parseFloat(r).toFixed(c[6]):parseFloat(r);break;case"o":r=r.toString(8);break;case"s":r=(r=String(r))&&c[6]?r.substring(0,c[6]):r;break;case"u":r=Math.abs(r);break;case"x":r=r.toString(16);break;case"X":r=r.toString(16).toUpperCase();break}r=/[def]/.test(c[7])&&c[2]&&r>0?"+"+r:r,d=c[3]?c[3]=="0"?"0":c[3][1]:" ",p=c[5]-String(r).length,s=c[5]?str_repeat(d,p):"",i.push(c[4]?r+s:s+r)}else throw"Huh ?!";n=n.substring(c[0].length)}return i.join("")};return Q0=t,Q0}var W0,Z_;function rr(){if(Z_)return W0;Z_=1;function t(a){return parseFloat(a.toFixed(2))}return W0=t,W0}var Y0,J_;function ts(){if(J_)return Y0;J_=1;var t=rr();function a(r,n,i){var c=n.y;if(n.phrases){var m=r.paper.richTextLine(n.phrases,n.x,n.y,n.klass,n.anchor);return m}if(n.lane){var s=n.dim.font.size*.25;c+=(n.dim.font.size+s)*n.lane}var d;n.dim?(d=n.dim,d.attr.class=n.klass):d=r.controller.getFontAndAttr.calc(n.type,n.klass),n.anchor&&(d.attr["text-anchor"]=n.anchor),n["dominant-baseline"]&&(d.attr["dominant-baseline"]=n["dominant-baseline"]),d.attr.x=n.x,d.attr.y=c,n.centerVertically||(d.attr.y+=d.font.size),n.type==="debugfont"&&(console.log("Debug msg: "+n.text),d.attr.stroke="#ff0000"),n.cursor&&(d.attr.cursor=n.cursor);var p;n.name==="free-text"?p=n.text.replace(/^[ \t]*\n/gm,` `):p=n.text.replace(/\n\n/g,` `),p=p.replace(/^\n/,`  -`),d.font.box&&(i||r.paper.openGroup({klass:d.attr.class,fill:r.foregroundColor,"data-name":n.name}),d.attr["text-anchor"]==="end"?d.attr.x-=d.font.padding:d.attr["text-anchor"]==="start"&&(d.attr.x+=d.font.padding),d.attr.y+=d.font.padding,delete d.attr.class),n.noClass&&delete d.attr.class,d.attr.x=t(d.attr.x),d.attr.y=t(d.attr.y),n.name&&(d.attr["data-name"]=n.name);var m=r.paper.text(p,d.attr);if(d.font.box){var _=m.getBBox(),h=0;d.attr["text-anchor"]==="middle"?h=_.width/2+d.font.padding:d.attr["text-anchor"]==="end"&&(h=_.width+d.font.padding*2);var f=0;n.centerVertically&&(f=_.height-d.font.padding),r.paper.rect({"data-name":"box",x:Math.round(n.x-h),y:Math.round(c-f),width:Math.round(_.width+d.font.padding*2),height:Math.round(_.height+d.font.padding*2)}),i||(m=r.paper.closeGroup())}return m}return Y0=a,Y0}var K0,J_;function d5(){if(J_)return K0;J_=1;var t=qs(),a=Zi(),r=Jr();function n(p,m,_){var h=m.startVoice.staff.absoluteY-a.STEP*10;return m.endVoice&&m.endVoice.staff?m.endY=m.endVoice.staff.absoluteY-a.STEP*2:m.lastContinuedVoice&&m.lastContinuedVoice.staff?m.endY=m.lastContinuedVoice.staff.absoluteY-a.STEP*2:m.endY=m.startVoice.staff.absoluteY-a.STEP*2,d(p,m.x,h,m.endY,m.type,m.header,_)}function i(p,m,_,h,f){m+=a.STEP;var u=a.STEP*.75,l=a.STEP*.75,o=h-_,g=t("M %f %f l %f %f l %f %f l %f %f z",m,_-l,0,o+l*2,u,0,0,-(o+l*2)),v=a.STEP*2,b=a.STEP;return g+=t("M %f %f q %f %f %f %f q %f %f %f %f z",m+u,_-l,v*.6,b*.2,v,-b,-v*.1,b*.3,-v,b+a.STEP),g+=t("M %f %f q %f %f %f %f q %f %f %f %f z",m+u,_+l+o,v*.6,-b*.2,v,b,-v*.1,-b*.3,-v,-b-a.STEP),p.paper.path({path:g,stroke:p.foregroundColor,fill:p.foregroundColor,class:p.controller.classes.generate(f),"data-name":f})}function c(p,m,_,h,f){var u=h-_,l=s(m,_,[7.5,-8,21,0,18.5,-10.5,7.5],[0,u/5.5,u/3.14,u/2,u/2.93,u/4.88,0]);return l+=s(m,_,[0,17.5,-7.5,6.6,-5,20,0],[u/2,u/1.46,u/1.22,u,u/1.19,u/1.42,u/2]),p.paper.path({path:l,stroke:p.foregroundColor,fill:p.foregroundColor,class:p.controller.classes.generate(f),"data-name":f})}function s(p,m,_,h){return t("M %f %f C %f %f %f %f %f %f C %f %f %f %f %f %f z",p+_[0],m+h[0],p+_[1],m+h[1],p+_[2],m+h[2],p+_[3],m+h[3],p+_[4],m+h[4],p+_[5],m+h[5],p+_[6],m+h[6])}var d=function(p,m,_,h,f,u,l){var o;if(u){p.paper.openGroup({klass:p.controller.classes.generate("staff-extra voice-name"),"data-name":f});var g=_+(h-_)/2;g=g-p.controller.getTextSize.baselineToCenter(u,"voicefont","staff-extra voice-name",0,1),r(p,{x:p.padding.left,y:g,text:u,type:"voicefont",klass:"staff-extra voice-name",anchor:"start",centerVertically:!0})}return f==="brace"?o=c(p,m,_,h,f):f==="bracket"&&(o=i(p,m,_,h,f)),u&&(o=p.paper.closeGroup()),l.wrapSvgEl({el_type:f,startChar:-1,endChar:-1},o),o};return K0=n,K0}var X0,e1;function nc(){if(e1)return X0;e1=1;function t(a,r,n){var i=a.paper.path(r);return i}return X0=t,X0}var Z0,t1;function u5(){if(t1)return Z0;t1=1;var t=qs(),a=nc(),r=ir();function n(o,g,v){(!g.anchor1||!g.anchor2||!g.anchor1.heads||!g.anchor2.heads||g.anchor1.heads.length===0||g.anchor2.heads.length===0)&&window.console.error("Glissando Element not set.");var b=4,k=o.calcY(g.anchor1.heads[0].pitch),w=o.calcY(g.anchor2.heads[0].pitch),$=g.anchor1.x+g.anchor1.w/2,N=g.anchor2.x+g.anchor2.w/2,R=i($,k,N,w),F=g.anchor1.w/2+b,D=g.anchor2.w/2+b,I=c($,k,N,w),S=s(k,I,F);s(w,I,-D);var j=d(R-F-D),V=l(o,$+F,S,j,I);return v.wrapSvgEl({el_type:"glissando",startChar:-1,endChar:-1},V),[V]}function i(o,g,v,b){var k=v-o,w=b-g;return Math.sqrt(k*k+w*w)}function c(o,g,v,b){return(b-g)/(v-o)}function s(o,g,v){return r(o+v*g)}function d(o){var g=5;return Math.max(2,Math.floor((o-g*2)/6))}var p=[[3.5,-4.8]],m=[[1.5,-1],[.3,-.3],[-3.5,3.8]],_=[[-1.5,2]],h=[[3,4],[3,-4]],f=[[-3,4],[-3,-4]];function u(o,g){for(var v="",b=0;b1&&p.indexOf(".")<0){var f=r.isInGroup()?"":m.klass;c.paper.openGroup({"data-name":m.name,klass:f});for(var u=0,l=0;l0?d.linewidth+s.lineThickness:d.linewidth-s.lineThickness;d.graphelem=a(s,d.x,l,m,s.calcY(d.pitch2),"abcjs-stem","stem");break;case"ledger":d.graphelem=r(s,d.x,d.x+d.w,d.pitch,"abcjs-ledger","ledger",.35+s.lineThickness);break}return d.scalex!==1&&d.graphelem&&c(s.paper,d.graphelem,d.scalex,d.scaley,d.x,m),d.graphelem}function c(s,d,p,m,_,h){s.setAttributeOnElement(d,{style:"transform:scale("+p+","+m+");transform-origin:"+_+"px "+h+"px;"})}return mf=i,mf}var gf,h1;function b5(){if(h1)return gf;h1=1;var t=g1(),a=Jr();function r(n,i){var c=i.x;i.pitch===void 0&&window.console.error("Tempo Element y-coordinate not set."),i.tempo.el_type="tempo";var s=n.calcY(i.pitch)+2,d,p;if(i.tempo.preString){d=a(n,{x:c,y:s,text:i.tempo.preString,type:"tempofont",klass:"abcjs-tempo",anchor:"start",noClass:!0,name:"pre"},!0),p=n.controller.getTextSize.calc(i.tempo.preString,"tempofont","tempo",d);var m=p.width,_=m/i.tempo.preString.length;c+=m+_}if(i.note){i.note.setX(c);for(var h=0;h0&&d.children[0].type==="TempoElement";d.elemset=[],i.beginGroup(s.paper,s.controller);for(var f=0;f=0&&l.setAttribute("class","abcjs-notehead"),l&&u.chordPos&&u.name.indexOf("flags.")!==0){var o=l.getAttribute("class");o?o=o+" abcjs-chord-pos-"+u.chordPos:o="abcjs-chord-pos-"+u.chordPos,l.setAttribute("class",o)}}}var o=d.type;if((d.type==="note"||d.type==="rest")&&(d.counters=s.controller.classes.getCurrent(),o+=" d"+Math.round(d.durationClass*1e3)/1e3,o=o.replace(/\./g,"-"),d.abcelem.pitches))for(var g=0;g0?v.classList[0]+" ":"";v.setAttribute("class",b+d.overrideClasses)}if(h)d.startChar=d.abcelem.startChar,d.endChar=d.abcelem.endChar,m.add(d,v,!1,_);else{d.elemset.push(v);var k=!1;(d.type==="note"||d.type==="tabNumber")&&(k=!0),m.add(d,v,k,_)}}else d.elemset.length>0&&m.add(d,d.elemset[0],d.type==="note",_);if(d.klass&&n(d.elemset,"mark","","#00ff00"),d.hint&&n(d.elemset,"abcjs-hint","",null),d.abcelem.abselem=d,d.heads&&d.heads.length>0){d.notePositions=[];for(var w=0;w=0;f--){var u=(f+1)*m;h=r.calcY(u),_===0&&(_=h),t(r,n,i,u,p,null,d+r.lineThickness),p=void 0}return r.paper.closeGroup(),[_,h]}return vf=a,vf}var bf,y1;function x5(){if(y1)return bf;y1=1;function t(a,r,n){var i=a.paper.rectBeneath(r);return n&&a.paper.text(n,{x:0,y:r.y+7,"text-anchor":"start","font-size":"14px",fill:"rgba(0,0,255,.4)",stroke:"rgba(0,0,255,.4)"}),i}return bf=t,bf}var yf,k1;function S5(){if(k1)return yf;k1=1;function t(a,r){var n="rgba(0,0,0,255)",i="rgba(0,0,0,0)",c=Math.round(a.y),s=a.controller.width,d=(s-r)/2,p=d+r,m="M "+d+" "+c+" L "+p+" "+c+" L "+p+" "+(c+1)+" L "+d+" "+(c+1)+" L "+d+" "+c+" z";a.paper.pathToBack({path:m,stroke:i,fill:n,class:a.controller.classes.generate("defined-text")})}return yf=t,yf}var kf,w1;function x1(){if(w1)return kf;w1=1;var t=S5(),a=Jr();function r(n,i,c){for(var s=0;s=0&&v.voices&&m(_,h.voices,v.voices),_.showDebug.indexOf("grid")>=0&&(_.paper.dottedLine({x1:_.padding.left,x2:_.padding.left+_.controller.width,y1:o,y2:o,stroke:"#0000ff"}),i(_,{x:_.padding.left,y:_.calcY(v.originalTop),width:_.controller.width,height:_.calcY(v.originalBottom)-_.calcY(v.originalTop),fill:_.foregroundColor,stroke:_.foregroundColor,"fill-opacity":.1,"stroke-opacity":.1}),l=0,G(v,"chordHeightAbove"),G(v,"chordHeightBelow"),G(v,"dynamicHeightAbove"),G(v,"dynamicHeightBelow"),G(v,"endingHeightAbove"),G(v,"lyricHeightAbove"),G(v,"lyricHeightBelow"),G(v,"partHeightAbove"),G(v,"tempoHeightAbove"),G(v,"volumeHeightAbove"),G(v,"volumeHeightBelow"))),_.moveY(t.STEP,-v.bottom),_.showDebug&&_.showDebug.indexOf("grid")>=0&&_.paper.dottedLine({x1:_.padding.left,x2:_.padding.left+_.controller.width,y1:_.y,y2:_.y,stroke:"#0000aa"})}for(var b,k,w=2,$=0,N=0;N1&&(b=h.staffs[0].topLine,k=h.staffs[V-1].bottomLine,c(_,h.startx,.6,b,k,null)),_.y=o;function G(T,C){var A=["rgb(207,27,36)","rgb(168,214,80)","rgb(110,161,224)","rgb(191,119,218)","rgb(195,30,151)","rgb(31,170,177)","rgb(220,166,142)"];if(T.positionY&&T.positionY[C]){var B=T.specialY[C]*t.STEP;C==="chordHeightAbove"&&T.specialY.chordLines&&T.specialY.chordLines.above&&(B*=T.specialY.chordLines.above),C==="chordHeightBelow"&&T.specialY.chordLines&&T.specialY.chordLines.below&&(B*=T.specialY.chordLines.below),i(_,{x:_.padding.left,y:_.calcY(T.positionY[C]),width:_.controller.width,height:B,fill:A[l],stroke:A[l],"fill-opacity":.4,"stroke-opacity":.4},C.substr(0,4)),l+=1,l>6&&(l=0)}}}function p(_,h,f,u,l){if(f)for(var o=0;o=0},r.prototype.wrapSvgEl=function(n,i){var c={tuneNumber:this.tuneNumber,abcelem:n,elemset:[i],highlight:t,unhighlight:a};this.add(c,i,!1)},Sf=r,Sf}var Tf,q1;function G5(){if(q1)return Tf;q1=1;const t=nf(),a=uf();function r(b,k,w,$,N){const R=N.gchordfont;N.partsfont;const F=N.annotationfont,D=N.repeatfont,I=N.textfont,S=N.subtitlefont,j=50,V=10,G=14,T=10,C=20,A=16;b.paper.openGroup({klass:"abcjs-chord-grid"}),k.forEach(B=>{switch(B.type){case"text":v(b,B.text,w,b.y,16,I,null,null,!1),b.moveY(A);break;case"subtitle":v(b,B.subtitle,w,b.y+T,20,S,null,"abcjs-subtitle",!1),b.moveY(C);break;case"part":if(B.lines.length>0){v(b,B.name,w,b.y+T,20,S,B.name,"abcjs-part",!1),b.moveY(C);const y=B.lines[0].length,x=$/y;B.lines.forEach((q,L)=>{let Q=!1,Z=!1;q.forEach(J=>{J.ending&&(Q=!0),J.annotations&&J.annotations.length>0&&(Z=!0)});const X=Z?G:Q?V:0;q.forEach((J,be)=>{if(!J.noBorder){b.paper.rect({x:w+be*x,y:b.y,width:x,height:X+j}),b.paper.rect({x:w+be*x+1,y:b.y+1,width:x-2,height:X+j-2});let Fe=0,ye=0;const Me=b.y,oe=w+x*be;J.hasStartRepeat&&(i(b,oe,Me,Me+j+X,!0,X),Fe=12),J.hasEndRepeat&&(i(b,oe+x,Me,Me+j+X,!1,X),ye=12);let ze=0;J.ending&&(ze=v(b,J.ending,w+be*x+4,Me+10,12,D,null,null,!1).getBBox().width+4),d(b,Me,w+Fe,x,L,be,J.chord,R,Fe+ye,j,X),J.annotations&&J.annotations.length>0&&s(b,Me,w+be*x+ze,J.annotations,F),X&&b.paper.rectBeneath({x:w+be*x,y:b.y,width:x,height:X,fill:"#e8e8e8",stroke:"none"})}}),b.moveY(X+j)}),b.moveY(C)}break}}),b.paper.closeGroup()}function n(b,k,w,$){var N=k-10,R=k+10,F=w+10,D=w-10,I=k-10,S=-b.yToPitch($)+2,j=k+6.5,V=-b.yToPitch($)-2.3;b.paper.lineToBack({x1:N,x2:R,y1:F,y2:D,"stroke-width":"3px","stroke-linecap":"round"}),t(b,I,S,"dots.dot",{scalex:1,scaley:1,klass:"",name:"dot"}),t(b,j,V,"dots.dot",{scalex:1,scaley:1,klass:"",name:"dot"})}function i(b,k,w,$,N,R){const F=N?k+2:k-4,D=N?k+9:k-11;b.paper.openGroup({klass:"abcjs-repeat"}),a(b,F,3+b.lineThickness,w,$,null,"bar"),t(b,D,-b.yToPitch(R)-4,"dots.dot",{scalex:1,scaley:1,klass:"",name:"dot"}),t(b,D,-b.yToPitch(R)-8,"dots.dot",{scalex:1,scaley:1,klass:"",name:"dot"}),b.paper.closeGroup()}const c={segno:"scripts.segno",coda:"scripts.coda",fermata:"scripts.ufermata"};function s(b,k,w,$,N){w+=3;let R;for(let F=0;F<$.length;F++)switch($[F]){case"segno":case"coda":case"fermata":{w+=12,R=t(b,w,-3,c[$[F]],{scalex:1,scaley:1,name:c[$[F]]});const D=R.getBBox();w+=D.width}break;default:v(b,$[F],w,k+12,12,N,null,null,!1)}}function d(b,k,w,$,N,R,F,D,I,S,j){const V=w+$*R;!F[1]&&!F[2]&&!F[3]?u(b,V,k+j,$-I,S,F[0],D,j):!F[1]&&!F[3]?l(b,V,k,$-I,S,F[0],F[2],D,j):o(b,V,k,$-I,S,F,D,j)}function p(b,k,w,$,N,R,F){const D=v(b,N,k,w,$,R,null,"abcjs-chord",!0);let I=D.getBBox(),S=$;for(;I.width>F&&S>=14;)S-=2,D.setAttribute("font-size",S),I=D.getBBox()}const m=34,_=26,h=20,f=-3;function u(b,k,w,$,N,R,F,D){R==="%"?n(b,k+$/2,w+N/2,D+N/2):p(b,k+$/2,w+N/2+f,m,R,F,$)}function l(b,k,w,$,N,R,F,D,I){b.paper.lineToBack({x1:k,x2:k+$,y1:w+N+I,y2:w+2}),p(b,k+$/4,w+N/4+5+I+f,_,R,D,$/2),p(b,k+3*$/4,w+3*N/4+I+f,_,F,D,$/2)}function o(b,k,w,$,N,R,F,D){b.paper.lineToBack({x1:k+3,x2:k+$-3,y1:w+N/2+D,y2:w+N/2+D}),b.paper.lineToBack({x1:k+$/2,x2:k+$/2,y1:w+3+D,y2:w+N-3+D}),R[0]&&p(b,k+$/4,w+N/4+2+D+f,h,g(R[0]),F,$/2),R[1]&&p(b,k+3*$/4,w+N/4+2+D+f,h,g(R[1]),F,$/2),R[2]&&p(b,k+$/4,w+3*N/4+D+f,h,g(R[2]),F,$/2),R[3]&&p(b,k+3*$/4,w+3*N/4+D+f,h,g(R[3]),F,$/2)}function g(b){return b==="No Chord"?"N.C.":b}function v(b,k,w,$,N,R,F,D,I){const S={x:w,y:$,stroke:"none","font-size":N,"font-style":R.style,"font-family":R.face,"font-weight":R.weight,"text-decoration":R.decoration};return F&&(S["data-name"]=F),D&&(S.class=D),S["text-anchor"]=I?"middle":"start",b.paper.text(k,S,null,{"alignment-baseline":"middle"})}return Tf=r,Tf}var $f,G1;function F5(){if(G1)return $f;G1=1;var t=T5(),a=$5(),r=x1(),n=Zi(),i=q5(),c=G5();function s(m,_,h,f,u,l,o,g,v,b,k){var w=new i(m.paper,g,v),$={};_.shouldAddClasses&&($.klass="abcjs-meta-top"),m.paper.openGroup($),m.moveY(m.padding.top),r(m,h.topText,w),m.paper.closeGroup(),m.moveY(m.spacing.music);let N=!1;k&&h.chordGrid&&(c(m,h.chordGrid,m.padding.left,f,h.formatting),k==="noMusic"&&(N=!0));var R=[],F=0;if(!N)for(var D=0;Dh.formatting.maxStaves)break;_.shouldAddClasses&&($.klass="abcjs-staff-wrapper abcjs-l"+_.lineNumber),m.paper.openGroup($),I.vskip&&m.moveY(I.vskip),R.length>=1?p(m,m.spacing.staffSeparation,R[R.length-1],I.staffGroup):D>0&&m.moveY(m.spacing.staffSeparation);var S=d(m,I.staffGroup,w,D);S.line=b+D,R.push(S),m.paper.closeGroup()}else I.nonMusic&&(_.shouldAddClasses&&($.klass="abcjs-non-music"),m.paper.openGroup($),r(m,I.nonMusic,w),m.paper.closeGroup())}return _.reset(),N||h.bottomText&&h.bottomText.rows&&h.bottomText.rows.length>0&&(_.shouldAddClasses&&($.klass="abcjs-meta-bottom"),m.paper.openGroup($),m.moveY(24),r(m,h.bottomText,w),m.paper.closeGroup()),a(m,u,o,l),{staffgroups:R,selectables:w.getElements()}}function d(m,_,h,f){t(m,_,h,f);var u=_.height*n.STEP;return m.moveY(u),_}function p(m,_,h,f){var u=h.staffs[h.staffs.length-1],l=-(u.bottom-2),o=f.staffs[0].top-10,g=o+l,v=g*n.STEP;v<_&&m.moveY(_-v)}return $f=s,$f}var qf,F1;function A5(){if(F1)return qf;F1=1;var t=z_();function a(r){for(var n=r;n&&n.attributes&&n.tagName.toLowerCase()!=="svg"&&!n.attributes.selectable;)n=n.parentNode;if(n&&n.attributes&&n.attributes.selectable){var i=n.attributes["data-index"].nodeValue;if(i&&(i=parseInt(i,10),i>=0&&i.1||(this.scale=void 0),w.staffwidth?(this.staffwidthScreen=w.staffwidth,this.staffwidthPrint=w.staffwidth):(this.staffwidthScreen=740,this.staffwidthPrint=680),this.listeners=[],w.clickListener&&this.addSelectListener(w.clickListener),this.renderer=new r(k),this.renderer.setPaddingOverride(w),w.showDebug&&(this.renderer.showDebug=w.showDebug),w.jazzchords&&(this.jazzchords=w.jazzchords),w.accentAbove&&(this.accentAbove=w.accentAbove),w.germanAlphabet&&(this.germanAlphabet=w.germanAlphabet),w.lineThickness&&(this.lineThickness=w.lineThickness),w.chordGrid&&(this.chordGrid=w.chordGrid),this.renderer.controller=this,this.renderer.foregroundColor=w.foregroundColor?w.foregroundColor:"currentColor",w.ariaLabel!==void 0&&(this.renderer.ariaLabel=w.ariaLabel),this.renderer.minPadding=w.minPadding?w.minPadding:0,this.reset()};g.prototype.reset=function(){this.selected=[],this.staffgroups=[],this.engraver&&this.engraver.reset(),this.engraver=null,this.renderer.reset(),this.dragTarget=null,this.dragIndex=-1,this.dragMouseStart={x:-1,y:-1},this.dragYStep=0,this.lineThickness&&this.renderer.setLineThickness(this.lineThickness)},g.prototype.engraveABC=function(k,w,$){k[0]===void 0&&(k=[k]),this.reset();for(var N=0;N0)for(var I=D.staffGroup.voices[0],S=!1,j=0,V=0;Vthis.width+1&&(k.topText=new s(k.metaText,k.metaTextInfo,k.formatting,k.lines,F,this.renderer.isPrint,this.renderer.padding.left,this.renderer.spacing,this.classes.shouldAddClasses,this.getTextSize),k.lines&&k.lines.length>0))for(var D=k.lines.length,I=0;I0)for(var j=S.nonMusic.rows.length,V=0;V0&&S.text[0].center&&(G.left=F/2+this.renderer.padding.left))}}k.tablatures&&l.layoutTablatures(this.renderer,k);var T=u(this.renderer,this.classes,k,this.width,F,this.responsive,R,this.selectTypes,w,$,this.chordGrid);if(this.staffgroups=T.staffgroups,this.selectables=T.selectables,this.oneSvgPerLine){var C=this.renderer.paper.svg.parentNode;this.svgs=v(this.renderer,C,k.metaText.title,this.responsive,R)}else this.svgs=[this.renderer.paper.svg];p(this,this.svgs),this.jazzchords=N};function v(k,w,$,N,R){$||($="Untitled");var F=w.querySelector("svg");N==="resize"&&(w.style.paddingBottom="");for(var D=F.querySelector("style"),I=N==="resize"?F.viewBox.baseVal.width:F.getAttribute("width"),S=w.querySelectorAll("svg > g"),j=0,V=[],G=0;G',m.style.overflowX="hidden",m.style.overflowY="auto",m=m.children[0]):m.innerHTML="";var l=new a(m,h);if(l.engraveABC(_,f,u),_.engraver=l,h.viewportVertical||h.viewportHorizontal){var o=m.parentNode;o.style.width=m.style.width}}var d=function(m,_,h,f,u){var l={},o;if(h){for(o in h)h.hasOwnProperty(o)&&(l[o]=h[o]);l.warnings_id&&l.tablature&&(l.tablature.warning_id=l.warnings_id)}if(f)for(o in f)f.hasOwnProperty(o)&&(o==="listener"?f[o].highlight&&(l.clickListener=f[o].highlight):l[o]=f[o]);if(u)for(o in u)u.hasOwnProperty(o)&&(l[o]=u[o]);function g(v,b,k,w){var $=!1;return v==="*"&&($=!0,v=document.createElement("div"),v.setAttribute("style","visibility: hidden;"),document.body.appendChild(v)),!$&&l.wrap&&l.staffwidth?(b=p(v,b,k,w,l),b):(l.afterParsing&&l.afterParsing(b,k,w),s(v,b,l,k,0),$&&v.parentNode.removeChild(v),null)}return t.renderEngine(g,m,_,l)};function p(m,_,h,f,u){var l=new a(m,u),o=l.getMeasureWidths(_),g=n.calcLineWraps(_,o,u);if(g.reParse){var v=new r;v.parse(f,g.revisedParams),_=v.getTune();var b=v.getWarnings();b&&(_.warnings=b)}return u.afterParsing&&u.afterParsing(_,h,f),s(m,_,g.revisedParams,h,0),_.explanation=g.explanation,_}return Af=d,Af}var Cf,z1;function C5(){if(z1)return Cf;z1=1;var t=vl(),a=Ff(),r=function(n,i){function c(s,d,p,m){s=document.createElement("div"),s.setAttribute("style","visibility: hidden;"),document.body.appendChild(s);var _=new a(s,i),h=_.getMeasureWidths(d);return s.parentNode.removeChild(s),{sections:h}}return t.renderEngine(c,"*",n,i)};return Cf=r,Cf}var Mf,E1;function zf(){if(E1)return Mf;E1=1;var t={};return Mf=t,Mf}var Ef,j1;function M5(){if(j1)return Ef;j1=1;var t=zf(),a=function(r,n,i,c){t[n]||(t[n]={});var s=t[n];return s[i]||(s[i]=new Promise(function(d,p){var m=new XMLHttpRequest;let _=r+n+"-mp3/"+i+".mp3";m.open("GET",_,!0),m.responseType="arraybuffer",m.onload=function(){if(m.status!==200){p(Error("Can't load sound at "+_+" status="+m.status));return}var h=function(u){d({instrument:n,name:i,status:"loaded",audioBuffer:u})},f=c.decodeAudioData(m.response,h,function(){p(Error("Can't decode sound at "+_))});f&&typeof f.catch=="function"&&f.catch(p)},m.onerror=function(){p(Error("Can't load sound at "+_))},m.send()}).catch(d=>{throw console.error("Didn't load note",n,i,":",d.message),d})),s[i]};return Ef=a,Ef}var jf,U1;function Uf(){if(U1)return jf;U1=1;var t=["acoustic_grand_piano","bright_acoustic_piano","electric_grand_piano","honkytonk_piano","electric_piano_1","electric_piano_2","harpsichord","clavinet","celesta","glockenspiel","music_box","vibraphone","marimba","xylophone","tubular_bells","dulcimer","drawbar_organ","percussive_organ","rock_organ","church_organ","reed_organ","accordion","harmonica","tango_accordion","acoustic_guitar_nylon","acoustic_guitar_steel","electric_guitar_jazz","electric_guitar_clean","electric_guitar_muted","overdriven_guitar","distortion_guitar","guitar_harmonics","acoustic_bass","electric_bass_finger","electric_bass_pick","fretless_bass","slap_bass_1","slap_bass_2","synth_bass_1","synth_bass_2","violin","viola","cello","contrabass","tremolo_strings","pizzicato_strings","orchestral_harp","timpani","string_ensemble_1","string_ensemble_2","synth_strings_1","synth_strings_2","choir_aahs","voice_oohs","synth_choir","orchestra_hit","trumpet","trombone","tuba","muted_trumpet","french_horn","brass_section","synth_brass_1","synth_brass_2","soprano_sax","alto_sax","tenor_sax","baritone_sax","oboe","english_horn","bassoon","clarinet","piccolo","flute","recorder","pan_flute","blown_bottle","shakuhachi","whistle","ocarina","lead_1_square","lead_2_sawtooth","lead_3_calliope","lead_4_chiff","lead_5_charang","lead_6_voice","lead_7_fifths","lead_8_bass_lead","pad_1_new_age","pad_2_warm","pad_3_polysynth","pad_4_choir","pad_5_bowed","pad_6_metallic","pad_7_halo","pad_8_sweep","fx_1_rain","fx_2_soundtrack","fx_3_crystal","fx_4_atmosphere","fx_5_brightness","fx_6_goblins","fx_7_echoes","fx_8_scifi","sitar","banjo","shamisen","koto","kalimba","bagpipe","fiddle","shanai","tinkle_bell","agogo","steel_drums","woodblock","taiko_drum","melodic_tom","synth_drum","reverse_cymbal","guitar_fret_noise","breath_noise","seashore","bird_tweet","telephone_ring","helicopter","applause","gunshot","percussion"];return jf=t,jf}var Rf,R1;function z5(){if(R1)return Rf;R1=1;var t=Uf(),a=function(r){for(var n=[],i=0;i0){var _=p.gap?p.gap:0,h=p.duration;_=Math.min(_,h*2/3);var f={pitch:p.pitch,instrument:m,start:Math.round(p.start*1e6)/1e6,end:Math.round((p.start+h-_)*1e6)/1e6,volume:p.volume};p.startChar&&(f.startChar=p.startChar),p.endChar&&(f.endChar=p.endChar),p.style&&(f.style=p.style),p.cents&&(f.cents=p.cents),n[d].push(f)}break;case"program":c=t[p.instrument];break;case"text":break;default:console.log("Unhandled midi event",p)}})}),n};return Rf=a,Rf}var Bf,B1;function bl(){if(B1)return Bf;B1=1;function t(a){if(a)window.abcjsAudioContext=a;else if(!window.abcjsAudioContext){var r=window.AudioContext||window.webkitAudioContext;if(r)window.abcjsAudioContext=new r;else return!1}return window.abcjsAudioContext.state!=="suspended"}return Bf=t,Bf}var Pf,P1;function mo(){if(P1)return Pf;P1=1;var t=bl();function a(){return window.abcjsAudioContext||t(),window.abcjsAudioContext}return Pf=a,Pf}var Nf,N1;function yl(){if(N1)return Nf;N1=1;var t=mo();function a(){if(!window.Promise||!window.AudioContext&&!window.webkitAudioContext&&!navigator.mozAudioContext&&!navigator.msAudioContext)return!1;var r=t();if(r)return r.resume!==void 0}return Nf=a,Nf}var Df,D1;function Lf(){if(D1)return Df;D1=1;var t={21:"A0",22:"Bb0",23:"B0",24:"C1",25:"Db1",26:"D1",27:"Eb1",28:"E1",29:"F1",30:"Gb1",31:"G1",32:"Ab1",33:"A1",34:"Bb1",35:"B1",36:"C2",37:"Db2",38:"D2",39:"Eb2",40:"E2",41:"F2",42:"Gb2",43:"G2",44:"Ab2",45:"A2",46:"Bb2",47:"B2",48:"C3",49:"Db3",50:"D3",51:"Eb3",52:"E3",53:"F3",54:"Gb3",55:"G3",56:"Ab3",57:"A3",58:"Bb3",59:"B3",60:"C4",61:"Db4",62:"D4",63:"Eb4",64:"E4",65:"F4",66:"Gb4",67:"G4",68:"Ab4",69:"A4",70:"Bb4",71:"B4",72:"C5",73:"Db5",74:"D5",75:"Eb5",76:"E5",77:"F5",78:"Gb5",79:"G5",80:"Ab5",81:"A5",82:"Bb5",83:"B5",84:"C6",85:"Db6",86:"D6",87:"Eb6",88:"E6",89:"F6",90:"Gb6",91:"G6",92:"Ab6",93:"A6",94:"Bb6",95:"B6",96:"C7",97:"Db7",98:"D7",99:"Eb7",100:"E7",101:"F7",102:"Gb7",103:"G7",104:"Ab7",105:"A7",106:"Bb7",107:"B7",108:"C8",109:"Db8",110:"D8",111:"Eb8",112:"E8",113:"F8",114:"Gb8",115:"G8",116:"Ab8",117:"A8",118:"Bb8",119:"B8",120:"C9",121:"Db9"};return Df=t,Df}var Vf,L1;function E5(){if(L1)return Vf;L1=1;var t=function(r){return window.URL.createObjectURL(a(r.audioBuffers))};function a(r){var n=r[0],i=n.numberOfChannels,c=n.length*i*2+44,s=new ArrayBuffer(c),d=new DataView(s),p=[],m,_,h=0,f=0;for(l(1179011410),l(c-8),l(1163280727),l(544501094),l(16),u(1),u(i),l(n.sampleRate),l(n.sampleRate*2*i),u(i*2),u(16),l(1635017060),l(c-f-4),m=0;m0){if(o.debugCallback&&o.debugCallback("pending "+JSON.stringify(I)),$?$=$*2:$=50,$<9e4)return new Promise(function(A,B){setTimeout(function(){var y=[];for(j=0;j0?y.audioBuffers[0].duration:0;return{status:n().state,duration:x}};var $=n().currentTime,N=o.millisecondsPerMeasure/1e3/o.meterSize;if(o.duration=o.flattened.totalDuration*N,o.duration<=0)return o.audioBuffers=[],k({status:"empty",seconds:0});o.duration+=b;var R=Math.floor(n().sampleRate*o.duration);o.stop();var F=a(o.flattened);if(o.options.swing){var D=o.options.drumIntro?0:o.pickupLength;v(F,o.options.swing,o.meterFraction,D)}o.sequenceCallback&&o.sequenceCallback(F,o.callbackContext);var I=g(F.length,o.pan),S={};F.forEach(function(y,x){var q=I&&I.length>x?I[x]:0;y.forEach(function(L){var Q=L.instrument+":"+L.pitch+":"+L.volume+":"+Math.round((L.end-L.start)*1e3)/1e3+":"+q+":"+N+":"+(L.cents?L.cents:0);o.debugCallback&&o.debugCallback("noteMapTrack "+Q),S[Q]||(S[Q]=[]),S[Q].push(L.start)})});for(var j=[],V=n().createBuffer(2,R,n().sampleRate),G=0;G1&&(N=1),w.push(N)}else w.push(0);return w}else{var R=parseFloat(k);if(R*(b-1)>2)return null;for(var F=b%2===0,D=F?0-R/2:0,I=D+R,S=0;S75&&(k=75),k=k/50-1;var N=0,R=.25;w.den===8&&(R=R/2);for(var F=R/2,D=F*k,I=0;I=S[j].start+F)){var G=V.start;V.start+=D,V.volume*=1+N,j>0&&S[j-1].end===G&&(S[j-1].end=V.start,S[j-1].volume*=1-N)}}}}}return Hf=l,Hf}var Wf,Q1;function W1(){if(Q1)return Wf;Q1=1;var t=function(){var a=this;a.tracks=[],a.totalDuration=0,a.currentInstrument=[],a.starts=[],a.addTrack=function(){return a.tracks.push([]),a.currentInstrument.push(0),a.starts.push(0),a.tracks.length-1},a.setInstrument=function(r,n){a.tracks[r].push({channel:0,cmd:"program",instrument:n}),a.currentInstrument[r]=n},a.appendNote=function(r,n,i,c,s){var d={cmd:"note",duration:i,gap:0,instrument:a.currentInstrument[r],pitch:n,start:a.starts[r],volume:c};s&&(d.cents=s),a.tracks[r].push(d),a.starts[r]+=i,a.totalDuration=Math.max(a.totalDuration,a.starts[r])}};return Wf=t,Wf}var Yf,Y1;function U5(){if(Y1)return Yf;Y1=1;var t=` +`),d.font.box&&(i||r.paper.openGroup({klass:d.attr.class,fill:r.foregroundColor,"data-name":n.name}),d.attr["text-anchor"]==="end"?d.attr.x-=d.font.padding:d.attr["text-anchor"]==="start"&&(d.attr.x+=d.font.padding),d.attr.y+=d.font.padding,delete d.attr.class),n.noClass&&delete d.attr.class,d.attr.x=t(d.attr.x),d.attr.y=t(d.attr.y),n.name&&(d.attr["data-name"]=n.name);var m=r.paper.text(p,d.attr);if(d.font.box){var _=m.getBBox(),h=0;d.attr["text-anchor"]==="middle"?h=_.width/2+d.font.padding:d.attr["text-anchor"]==="end"&&(h=_.width+d.font.padding*2);var f=0;n.centerVertically&&(f=_.height-d.font.padding),r.paper.rect({"data-name":"box",x:Math.round(n.x-h),y:Math.round(c-f),width:Math.round(_.width+d.font.padding*2),height:Math.round(_.height+d.font.padding*2)}),i||(m=r.paper.closeGroup())}return m}return Y0=a,Y0}var K0,e1;function m5(){if(e1)return K0;e1=1;var t=As(),a=Zi(),r=ts();function n(p,m,_){var h=m.startVoice.staff.absoluteY-a.STEP*10;return m.endVoice&&m.endVoice.staff?m.endY=m.endVoice.staff.absoluteY-a.STEP*2:m.lastContinuedVoice&&m.lastContinuedVoice.staff?m.endY=m.lastContinuedVoice.staff.absoluteY-a.STEP*2:m.endY=m.startVoice.staff.absoluteY-a.STEP*2,d(p,m.x,h,m.endY,m.type,m.header,_)}function i(p,m,_,h,f){m+=a.STEP;var u=a.STEP*.75,l=a.STEP*.75,o=h-_,g=t("M %f %f l %f %f l %f %f l %f %f z",m,_-l,0,o+l*2,u,0,0,-(o+l*2)),v=a.STEP*2,b=a.STEP;return g+=t("M %f %f q %f %f %f %f q %f %f %f %f z",m+u,_-l,v*.6,b*.2,v,-b,-v*.1,b*.3,-v,b+a.STEP),g+=t("M %f %f q %f %f %f %f q %f %f %f %f z",m+u,_+l+o,v*.6,-b*.2,v,b,-v*.1,-b*.3,-v,-b-a.STEP),p.paper.path({path:g,stroke:p.foregroundColor,fill:p.foregroundColor,class:p.controller.classes.generate(f),"data-name":f})}function c(p,m,_,h,f){var u=h-_,l=s(m,_,[7.5,-8,21,0,18.5,-10.5,7.5],[0,u/5.5,u/3.14,u/2,u/2.93,u/4.88,0]);return l+=s(m,_,[0,17.5,-7.5,6.6,-5,20,0],[u/2,u/1.46,u/1.22,u,u/1.19,u/1.42,u/2]),p.paper.path({path:l,stroke:p.foregroundColor,fill:p.foregroundColor,class:p.controller.classes.generate(f),"data-name":f})}function s(p,m,_,h){return t("M %f %f C %f %f %f %f %f %f C %f %f %f %f %f %f z",p+_[0],m+h[0],p+_[1],m+h[1],p+_[2],m+h[2],p+_[3],m+h[3],p+_[4],m+h[4],p+_[5],m+h[5],p+_[6],m+h[6])}var d=function(p,m,_,h,f,u,l){var o;if(u){p.paper.openGroup({klass:p.controller.classes.generate("staff-extra voice-name"),"data-name":f});var g=_+(h-_)/2;g=g-p.controller.getTextSize.baselineToCenter(u,"voicefont","staff-extra voice-name",0,1),r(p,{x:p.padding.left,y:g,text:u,type:"voicefont",klass:"staff-extra voice-name",anchor:"start",centerVertically:!0})}return f==="brace"?o=c(p,m,_,h,f):f==="bracket"&&(o=i(p,m,_,h,f)),u&&(o=p.paper.closeGroup()),l.wrapSvgEl({el_type:f,startChar:-1,endChar:-1},o),o};return K0=n,K0}var X0,t1;function cc(){if(t1)return X0;t1=1;function t(a,r,n){var i=a.paper.path(r);return i}return X0=t,X0}var Z0,a1;function g5(){if(a1)return Z0;a1=1;var t=As(),a=cc(),r=rr();function n(o,g,v){(!g.anchor1||!g.anchor2||!g.anchor1.heads||!g.anchor2.heads||g.anchor1.heads.length===0||g.anchor2.heads.length===0)&&window.console.error("Glissando Element not set.");var b=4,k=o.calcY(g.anchor1.heads[0].pitch),w=o.calcY(g.anchor2.heads[0].pitch),T=g.anchor1.x+g.anchor1.w/2,N=g.anchor2.x+g.anchor2.w/2,R=i(T,k,N,w),F=g.anchor1.w/2+b,D=g.anchor2.w/2+b,I=c(T,k,N,w),S=s(k,I,F);s(w,I,-D);var E=d(R-F-D),V=l(o,T+F,S,E,I);return v.wrapSvgEl({el_type:"glissando",startChar:-1,endChar:-1},V),[V]}function i(o,g,v,b){var k=v-o,w=b-g;return Math.sqrt(k*k+w*w)}function c(o,g,v,b){return(b-g)/(v-o)}function s(o,g,v){return r(o+v*g)}function d(o){var g=5;return Math.max(2,Math.floor((o-g*2)/6))}var p=[[3.5,-4.8]],m=[[1.5,-1],[.3,-.3],[-3.5,3.8]],_=[[-1.5,2]],h=[[3,4],[3,-4]],f=[[-3,4],[-3,-4]];function u(o,g){for(var v="",b=0;b1&&p.indexOf(".")<0){var f=r.isInGroup()?"":m.klass;c.paper.openGroup({"data-name":m.name,klass:f});for(var u=0,l=0;l0?d.linewidth+s.lineThickness:d.linewidth-s.lineThickness;d.graphelem=a(s,d.x,l,m,s.calcY(d.pitch2),"abcjs-stem","stem");break;case"ledger":d.graphelem=r(s,d.x,d.x+d.w,d.pitch,"abcjs-ledger","ledger",.35+s.lineThickness);break}return d.scalex!==1&&d.graphelem&&c(s.paper,d.graphelem,d.scalex,d.scaley,d.x,m),d.graphelem}function c(s,d,p,m,_,h){s.setAttributeOnElement(d,{style:"transform:scale("+p+","+m+");transform-origin:"+_+"px "+h+"px;"})}return mf=i,mf}var gf,_1;function x5(){if(_1)return gf;_1=1;var t=h1(),a=ts();function r(n,i){var c=i.x;i.pitch===void 0&&window.console.error("Tempo Element y-coordinate not set."),i.tempo.el_type="tempo";var s=n.calcY(i.pitch)+2,d,p;if(i.tempo.preString){d=a(n,{x:c,y:s,text:i.tempo.preString,type:"tempofont",klass:"abcjs-tempo",anchor:"start",noClass:!0,name:"pre"},!0),p=n.controller.getTextSize.calc(i.tempo.preString,"tempofont","tempo",d);var m=p.width,_=m/i.tempo.preString.length;c+=m+_}if(i.note){i.note.setX(c);for(var h=0;h0&&d.children[0].type==="TempoElement";d.elemset=[],i.beginGroup(s.paper,s.controller);for(var f=0;f=0&&l.setAttribute("class","abcjs-notehead"),l&&u.chordPos&&u.name.indexOf("flags.")!==0){var o=l.getAttribute("class");o?o=o+" abcjs-chord-pos-"+u.chordPos:o="abcjs-chord-pos-"+u.chordPos,l.setAttribute("class",o)}}}var o=d.type;if((d.type==="note"||d.type==="rest")&&(d.counters=s.controller.classes.getCurrent(),o+=" d"+Math.round(d.durationClass*1e3)/1e3,o=o.replace(/\./g,"-"),d.abcelem.pitches))for(var g=0;g0?v.classList[0]+" ":"";v.setAttribute("class",b+d.overrideClasses)}if(h)d.startChar=d.abcelem.startChar,d.endChar=d.abcelem.endChar,m.add(d,v,!1,_);else{d.elemset.push(v);var k=!1;(d.type==="note"||d.type==="tabNumber")&&(k=!0),m.add(d,v,k,_)}}else d.elemset.length>0&&m.add(d,d.elemset[0],d.type==="note",_);if(d.klass&&n(d.elemset,"mark","","#00ff00"),d.hint&&n(d.elemset,"abcjs-hint","",null),d.abcelem.abselem=d,d.heads&&d.heads.length>0){d.notePositions=[];for(var w=0;w=0;f--){var u=(f+1)*m;h=r.calcY(u),_===0&&(_=h),t(r,n,i,u,p,null,d+r.lineThickness),p=void 0}return r.paper.closeGroup(),[_,h]}return vf=a,vf}var bf,k1;function q5(){if(k1)return bf;k1=1;function t(a,r,n){var i=a.paper.rectBeneath(r);return n&&a.paper.text(n,{x:0,y:r.y+7,"text-anchor":"start","font-size":"14px",fill:"rgba(0,0,255,.4)",stroke:"rgba(0,0,255,.4)"}),i}return bf=t,bf}var yf,w1;function G5(){if(w1)return yf;w1=1;function t(a,r){var n="rgba(0,0,0,255)",i="rgba(0,0,0,0)",c=Math.round(a.y),s=a.controller.width,d=(s-r)/2,p=d+r,m="M "+d+" "+c+" L "+p+" "+c+" L "+p+" "+(c+1)+" L "+d+" "+(c+1)+" L "+d+" "+c+" z";a.paper.pathToBack({path:m,stroke:i,fill:n,class:a.controller.classes.generate("defined-text")})}return yf=t,yf}var kf,x1;function S1(){if(x1)return kf;x1=1;var t=G5(),a=ts();function r(n,i,c){for(var s=0;s=0&&v.voices&&m(_,h.voices,v.voices),_.showDebug.indexOf("grid")>=0&&(_.paper.dottedLine({x1:_.padding.left,x2:_.padding.left+_.controller.width,y1:o,y2:o,stroke:"#0000ff"}),i(_,{x:_.padding.left,y:_.calcY(v.originalTop),width:_.controller.width,height:_.calcY(v.originalBottom)-_.calcY(v.originalTop),fill:_.foregroundColor,stroke:_.foregroundColor,"fill-opacity":.1,"stroke-opacity":.1}),l=0,G(v,"chordHeightAbove"),G(v,"chordHeightBelow"),G(v,"dynamicHeightAbove"),G(v,"dynamicHeightBelow"),G(v,"endingHeightAbove"),G(v,"lyricHeightAbove"),G(v,"lyricHeightBelow"),G(v,"partHeightAbove"),G(v,"tempoHeightAbove"),G(v,"volumeHeightAbove"),G(v,"volumeHeightBelow"))),_.moveY(t.STEP,-v.bottom),_.showDebug&&_.showDebug.indexOf("grid")>=0&&_.paper.dottedLine({x1:_.padding.left,x2:_.padding.left+_.controller.width,y1:_.y,y2:_.y,stroke:"#0000aa"})}for(var b,k,w=2,T=0,N=0;N1&&(b=h.staffs[0].topLine,k=h.staffs[V-1].bottomLine,c(_,h.startx,.6,b,k,null)),_.y=o;function G($,C){var A=["rgb(207,27,36)","rgb(168,214,80)","rgb(110,161,224)","rgb(191,119,218)","rgb(195,30,151)","rgb(31,170,177)","rgb(220,166,142)"];if($.positionY&&$.positionY[C]){var P=$.specialY[C]*t.STEP;C==="chordHeightAbove"&&$.specialY.chordLines&&$.specialY.chordLines.above&&(P*=$.specialY.chordLines.above),C==="chordHeightBelow"&&$.specialY.chordLines&&$.specialY.chordLines.below&&(P*=$.specialY.chordLines.below),i(_,{x:_.padding.left,y:_.calcY($.positionY[C]),width:_.controller.width,height:P,fill:A[l],stroke:A[l],"fill-opacity":.4,"stroke-opacity":.4},C.substr(0,4)),l+=1,l>6&&(l=0)}}}function p(_,h,f,u,l){if(f)for(var o=0;o=0},r.prototype.wrapSvgEl=function(n,i){var c={tuneNumber:this.tuneNumber,abcelem:n,elemset:[i],highlight:t,unhighlight:a};this.add(c,i,!1)},Sf=r,Sf}var $f,G1;function M5(){if(G1)return $f;G1=1;const t=nf(),a=uf();function r(b,k,w,T,N){const R=N.gchordfont;N.partsfont;const F=N.annotationfont,D=N.repeatfont,I=N.textfont,S=N.subtitlefont,E=50,V=10,G=14,$=10,C=20,A=16;b.paper.openGroup({klass:"abcjs-chord-grid"}),k.forEach(P=>{switch(P.type){case"text":v(b,P.text,w,b.y,16,I,null,null,!1),b.moveY(A);break;case"subtitle":v(b,P.subtitle,w,b.y+$,20,S,null,"abcjs-subtitle",!1),b.moveY(C);break;case"part":if(P.lines.length>0){v(b,P.name,w,b.y+$,20,S,P.name,"abcjs-part",!1),b.moveY(C);const y=P.lines[0].length,x=T/y;P.lines.forEach((q,L)=>{let Q=!1,Z=!1;q.forEach(J=>{J.ending&&(Q=!0),J.annotations&&J.annotations.length>0&&(Z=!0)});const X=Z?G:Q?V:0;q.forEach((J,ve)=>{if(!J.noBorder){b.paper.rect({x:w+ve*x,y:b.y,width:x,height:X+E}),b.paper.rect({x:w+ve*x+1,y:b.y+1,width:x-2,height:X+E-2});let Ae=0,ke=0;const Me=b.y,se=w+x*ve;J.hasStartRepeat&&(i(b,se,Me,Me+E+X,!0,X),Ae=12),J.hasEndRepeat&&(i(b,se+x,Me,Me+E+X,!1,X),ke=12);let je=0;J.ending&&(je=v(b,J.ending,w+ve*x+4,Me+10,12,D,null,null,!1).getBBox().width+4),d(b,Me,w+Ae,x,L,ve,J.chord,R,Ae+ke,E,X),J.annotations&&J.annotations.length>0&&s(b,Me,w+ve*x+je,J.annotations,F),X&&b.paper.rectBeneath({x:w+ve*x,y:b.y,width:x,height:X,fill:"#e8e8e8",stroke:"none"})}}),b.moveY(X+E)}),b.moveY(C)}break}}),b.paper.closeGroup()}function n(b,k,w,T){var N=k-10,R=k+10,F=w+10,D=w-10,I=k-10,S=-b.yToPitch(T)+2,E=k+6.5,V=-b.yToPitch(T)-2.3;b.paper.lineToBack({x1:N,x2:R,y1:F,y2:D,"stroke-width":"3px","stroke-linecap":"round"}),t(b,I,S,"dots.dot",{scalex:1,scaley:1,klass:"",name:"dot"}),t(b,E,V,"dots.dot",{scalex:1,scaley:1,klass:"",name:"dot"})}function i(b,k,w,T,N,R){const F=N?k+2:k-4,D=N?k+9:k-11;b.paper.openGroup({klass:"abcjs-repeat"}),a(b,F,3+b.lineThickness,w,T,null,"bar"),t(b,D,-b.yToPitch(R)-4,"dots.dot",{scalex:1,scaley:1,klass:"",name:"dot"}),t(b,D,-b.yToPitch(R)-8,"dots.dot",{scalex:1,scaley:1,klass:"",name:"dot"}),b.paper.closeGroup()}const c={segno:"scripts.segno",coda:"scripts.coda",fermata:"scripts.ufermata"};function s(b,k,w,T,N){w+=3;let R;for(let F=0;FF&&S>=14;)S-=2,D.setAttribute("font-size",S),I=D.getBBox()}const m=34,_=26,h=20,f=-3;function u(b,k,w,T,N,R,F,D){R==="%"?n(b,k+T/2,w+N/2,D+N/2):p(b,k+T/2,w+N/2+f,m,R,F,T)}function l(b,k,w,T,N,R,F,D,I){b.paper.lineToBack({x1:k,x2:k+T,y1:w+N+I,y2:w+2}),p(b,k+T/4,w+N/4+5+I+f,_,R,D,T/2),p(b,k+3*T/4,w+3*N/4+I+f,_,F,D,T/2)}function o(b,k,w,T,N,R,F,D){b.paper.lineToBack({x1:k+3,x2:k+T-3,y1:w+N/2+D,y2:w+N/2+D}),b.paper.lineToBack({x1:k+T/2,x2:k+T/2,y1:w+3+D,y2:w+N-3+D}),R[0]&&p(b,k+T/4,w+N/4+2+D+f,h,g(R[0]),F,T/2),R[1]&&p(b,k+3*T/4,w+N/4+2+D+f,h,g(R[1]),F,T/2),R[2]&&p(b,k+T/4,w+3*N/4+D+f,h,g(R[2]),F,T/2),R[3]&&p(b,k+3*T/4,w+3*N/4+D+f,h,g(R[3]),F,T/2)}function g(b){return b==="No Chord"?"N.C.":b}function v(b,k,w,T,N,R,F,D,I){const S={x:w,y:T,stroke:"none","font-size":N,"font-style":R.style,"font-family":R.face,"font-weight":R.weight,"text-decoration":R.decoration};return F&&(S["data-name"]=F),D&&(S.class=D),S["text-anchor"]=I?"middle":"start",b.paper.text(k,S,null,{"alignment-baseline":"middle"})}return $f=r,$f}var Tf,F1;function z5(){if(F1)return Tf;F1=1;var t=F5(),a=A5(),r=S1(),n=Zi(),i=C5(),c=M5();function s(m,_,h,f,u,l,o,g,v,b,k){var w=new i(m.paper,g,v),T={};_.shouldAddClasses&&(T.klass="abcjs-meta-top"),m.paper.openGroup(T),m.moveY(m.padding.top),r(m,h.topText,w),m.paper.closeGroup(),m.moveY(m.spacing.music);let N=!1;k&&h.chordGrid&&(c(m,h.chordGrid,m.padding.left,f,h.formatting),k==="noMusic"&&(N=!0));var R=[],F=0;if(!N)for(var D=0;Dh.formatting.maxStaves)break;_.shouldAddClasses&&(T.klass="abcjs-staff-wrapper abcjs-l"+_.lineNumber),m.paper.openGroup(T),I.vskip&&m.moveY(I.vskip),R.length>=1?p(m,m.spacing.staffSeparation,R[R.length-1],I.staffGroup):D>0&&m.moveY(m.spacing.staffSeparation);var S=d(m,I.staffGroup,w,D);S.line=b+D,R.push(S),m.paper.closeGroup()}else I.nonMusic&&(_.shouldAddClasses&&(T.klass="abcjs-non-music"),m.paper.openGroup(T),r(m,I.nonMusic,w),m.paper.closeGroup())}return _.reset(),N||h.bottomText&&h.bottomText.rows&&h.bottomText.rows.length>0&&(_.shouldAddClasses&&(T.klass="abcjs-meta-bottom"),m.paper.openGroup(T),m.moveY(24),r(m,h.bottomText,w),m.paper.closeGroup()),a(m,u,o,l),{staffgroups:R,selectables:w.getElements()}}function d(m,_,h,f){t(m,_,h,f);var u=_.height*n.STEP;return m.moveY(u),_}function p(m,_,h,f){var u=h.staffs[h.staffs.length-1],l=-(u.bottom-2),o=f.staffs[0].top-10,g=o+l,v=g*n.STEP;v<_&&m.moveY(_-v)}return Tf=s,Tf}var qf,A1;function j5(){if(A1)return qf;A1=1;var t=j_();function a(r){for(var n=r;n&&n.attributes&&n.tagName.toLowerCase()!=="svg"&&!n.attributes.selectable;)n=n.parentNode;if(n&&n.attributes&&n.attributes.selectable){var i=n.attributes["data-index"].nodeValue;if(i&&(i=parseInt(i,10),i>=0&&i.1||(this.scale=void 0),w.staffwidth?(this.staffwidthScreen=w.staffwidth,this.staffwidthPrint=w.staffwidth):(this.staffwidthScreen=740,this.staffwidthPrint=680),this.listeners=[],w.clickListener&&this.addSelectListener(w.clickListener),this.renderer=new r(k),this.renderer.setPaddingOverride(w),w.showDebug&&(this.renderer.showDebug=w.showDebug),w.jazzchords&&(this.jazzchords=w.jazzchords),w.accentAbove&&(this.accentAbove=w.accentAbove),w.germanAlphabet&&(this.germanAlphabet=w.germanAlphabet),w.lineThickness&&(this.lineThickness=w.lineThickness),w.chordGrid&&(this.chordGrid=w.chordGrid),this.renderer.controller=this,this.renderer.foregroundColor=w.foregroundColor?w.foregroundColor:"currentColor",w.ariaLabel!==void 0&&(this.renderer.ariaLabel=w.ariaLabel),this.renderer.minPadding=w.minPadding?w.minPadding:0,this.reset()};g.prototype.reset=function(){this.selected=[],this.staffgroups=[],this.engraver&&this.engraver.reset(),this.engraver=null,this.renderer.reset(),this.dragTarget=null,this.dragIndex=-1,this.dragMouseStart={x:-1,y:-1},this.dragYStep=0,this.lineThickness&&this.renderer.setLineThickness(this.lineThickness)},g.prototype.engraveABC=function(k,w,T){k[0]===void 0&&(k=[k]),this.reset();for(var N=0;N0)for(var I=D.staffGroup.voices[0],S=!1,E=0,V=0;Vthis.width+1&&(k.topText=new s(k.metaText,k.metaTextInfo,k.formatting,k.lines,F,this.renderer.isPrint,this.renderer.padding.left,this.renderer.spacing,this.classes.shouldAddClasses,this.getTextSize),k.lines&&k.lines.length>0))for(var D=k.lines.length,I=0;I0)for(var E=S.nonMusic.rows.length,V=0;V0&&S.text[0].center&&(G.left=F/2+this.renderer.padding.left))}}k.tablatures&&l.layoutTablatures(this.renderer,k);var $=u(this.renderer,this.classes,k,this.width,F,this.responsive,R,this.selectTypes,w,T,this.chordGrid);if(this.staffgroups=$.staffgroups,this.selectables=$.selectables,this.oneSvgPerLine){var C=this.renderer.paper.svg.parentNode;this.svgs=v(this.renderer,C,k.metaText.title,this.responsive,R)}else this.svgs=[this.renderer.paper.svg];p(this,this.svgs),this.jazzchords=N};function v(k,w,T,N,R){T||(T="Untitled");var F=w.querySelector("svg");N==="resize"&&(w.style.paddingBottom="");for(var D=F.querySelector("style"),I=N==="resize"?F.viewBox.baseVal.width:F.getAttribute("width"),S=w.querySelectorAll("svg > g"),E=0,V=[],G=0;G',m.style.overflowX="hidden",m.style.overflowY="auto",m=m.children[0]):m.innerHTML="";var l=new a(m,h);if(l.engraveABC(_,f,u),_.engraver=l,h.viewportVertical||h.viewportHorizontal){var o=m.parentNode;o.style.width=m.style.width}}var d=function(m,_,h,f,u){var l={},o;if(h){for(o in h)h.hasOwnProperty(o)&&(l[o]=h[o]);l.warnings_id&&l.tablature&&(l.tablature.warning_id=l.warnings_id)}if(f)for(o in f)f.hasOwnProperty(o)&&(o==="listener"?f[o].highlight&&(l.clickListener=f[o].highlight):l[o]=f[o]);if(u)for(o in u)u.hasOwnProperty(o)&&(l[o]=u[o]);function g(v,b,k,w){var T=!1;return v==="*"&&(T=!0,v=document.createElement("div"),v.setAttribute("style","visibility: hidden;"),document.body.appendChild(v)),!T&&l.wrap&&l.staffwidth?(b=p(v,b,k,w,l),b):(l.afterParsing&&l.afterParsing(b,k,w),s(v,b,l,k,0),T&&v.parentNode.removeChild(v),null)}return t.renderEngine(g,m,_,l)};function p(m,_,h,f,u){var l=new a(m,u),o=l.getMeasureWidths(_),g=n.calcLineWraps(_,o,u);if(g.reParse){var v=new r;v.parse(f,g.revisedParams),_=v.getTune();var b=v.getWarnings();b&&(_.warnings=b)}return u.afterParsing&&u.afterParsing(_,h,f),s(m,_,g.revisedParams,h,0),_.explanation=g.explanation,_}return Af=d,Af}var Cf,j1;function U5(){if(j1)return Cf;j1=1;var t=bl(),a=Ff(),r=function(n,i){function c(s,d,p,m){s=document.createElement("div"),s.setAttribute("style","visibility: hidden;"),document.body.appendChild(s);var _=new a(s,i),h=_.getMeasureWidths(d);return s.parentNode.removeChild(s),{sections:h}}return t.renderEngine(c,"*",n,i)};return Cf=r,Cf}var Mf,U1;function zf(){if(U1)return Mf;U1=1;var t={};return Mf=t,Mf}var jf,E1;function E5(){if(E1)return jf;E1=1;var t=zf(),a=function(r,n,i,c){t[n]||(t[n]={});var s=t[n];return s[i]||(s[i]=new Promise(function(d,p){var m=new XMLHttpRequest;let _=r+n+"-mp3/"+i+".mp3";m.open("GET",_,!0),m.responseType="arraybuffer",m.onload=function(){if(m.status!==200){p(Error("Can't load sound at "+_+" status="+m.status));return}var h=function(u){d({instrument:n,name:i,status:"loaded",audioBuffer:u})},f=c.decodeAudioData(m.response,h,function(){p(Error("Can't decode sound at "+_))});f&&typeof f.catch=="function"&&f.catch(p)},m.onerror=function(){p(Error("Can't load sound at "+_))},m.send()}).catch(d=>{throw console.error("Didn't load note",n,i,":",d.message),d})),s[i]};return jf=a,jf}var Uf,R1;function Ef(){if(R1)return Uf;R1=1;var t=["acoustic_grand_piano","bright_acoustic_piano","electric_grand_piano","honkytonk_piano","electric_piano_1","electric_piano_2","harpsichord","clavinet","celesta","glockenspiel","music_box","vibraphone","marimba","xylophone","tubular_bells","dulcimer","drawbar_organ","percussive_organ","rock_organ","church_organ","reed_organ","accordion","harmonica","tango_accordion","acoustic_guitar_nylon","acoustic_guitar_steel","electric_guitar_jazz","electric_guitar_clean","electric_guitar_muted","overdriven_guitar","distortion_guitar","guitar_harmonics","acoustic_bass","electric_bass_finger","electric_bass_pick","fretless_bass","slap_bass_1","slap_bass_2","synth_bass_1","synth_bass_2","violin","viola","cello","contrabass","tremolo_strings","pizzicato_strings","orchestral_harp","timpani","string_ensemble_1","string_ensemble_2","synth_strings_1","synth_strings_2","choir_aahs","voice_oohs","synth_choir","orchestra_hit","trumpet","trombone","tuba","muted_trumpet","french_horn","brass_section","synth_brass_1","synth_brass_2","soprano_sax","alto_sax","tenor_sax","baritone_sax","oboe","english_horn","bassoon","clarinet","piccolo","flute","recorder","pan_flute","blown_bottle","shakuhachi","whistle","ocarina","lead_1_square","lead_2_sawtooth","lead_3_calliope","lead_4_chiff","lead_5_charang","lead_6_voice","lead_7_fifths","lead_8_bass_lead","pad_1_new_age","pad_2_warm","pad_3_polysynth","pad_4_choir","pad_5_bowed","pad_6_metallic","pad_7_halo","pad_8_sweep","fx_1_rain","fx_2_soundtrack","fx_3_crystal","fx_4_atmosphere","fx_5_brightness","fx_6_goblins","fx_7_echoes","fx_8_scifi","sitar","banjo","shamisen","koto","kalimba","bagpipe","fiddle","shanai","tinkle_bell","agogo","steel_drums","woodblock","taiko_drum","melodic_tom","synth_drum","reverse_cymbal","guitar_fret_noise","breath_noise","seashore","bird_tweet","telephone_ring","helicopter","applause","gunshot","percussion"];return Uf=t,Uf}var Rf,B1;function R5(){if(B1)return Rf;B1=1;var t=Ef(),a=function(r){for(var n=[],i=0;i0){var _=p.gap?p.gap:0,h=p.duration;_=Math.min(_,h*2/3);var f={pitch:p.pitch,instrument:m,start:Math.round(p.start*1e6)/1e6,end:Math.round((p.start+h-_)*1e6)/1e6,volume:p.volume};p.startChar&&(f.startChar=p.startChar),p.endChar&&(f.endChar=p.endChar),p.style&&(f.style=p.style),p.cents&&(f.cents=p.cents),n[d].push(f)}break;case"program":c=t[p.instrument];break;case"text":break;default:console.log("Unhandled midi event",p)}})}),n};return Rf=a,Rf}var Bf,P1;function yl(){if(P1)return Bf;P1=1;function t(a){if(a)window.abcjsAudioContext=a;else if(!window.abcjsAudioContext){var r=window.AudioContext||window.webkitAudioContext;if(r)window.abcjsAudioContext=new r;else return!1}return window.abcjsAudioContext.state!=="suspended"}return Bf=t,Bf}var Pf,N1;function vo(){if(N1)return Pf;N1=1;var t=yl();function a(){return window.abcjsAudioContext||t(),window.abcjsAudioContext}return Pf=a,Pf}var Nf,D1;function kl(){if(D1)return Nf;D1=1;var t=vo();function a(){if(!window.Promise||!window.AudioContext&&!window.webkitAudioContext&&!navigator.mozAudioContext&&!navigator.msAudioContext)return!1;var r=t();if(r)return r.resume!==void 0}return Nf=a,Nf}var Df,L1;function Lf(){if(L1)return Df;L1=1;var t={21:"A0",22:"Bb0",23:"B0",24:"C1",25:"Db1",26:"D1",27:"Eb1",28:"E1",29:"F1",30:"Gb1",31:"G1",32:"Ab1",33:"A1",34:"Bb1",35:"B1",36:"C2",37:"Db2",38:"D2",39:"Eb2",40:"E2",41:"F2",42:"Gb2",43:"G2",44:"Ab2",45:"A2",46:"Bb2",47:"B2",48:"C3",49:"Db3",50:"D3",51:"Eb3",52:"E3",53:"F3",54:"Gb3",55:"G3",56:"Ab3",57:"A3",58:"Bb3",59:"B3",60:"C4",61:"Db4",62:"D4",63:"Eb4",64:"E4",65:"F4",66:"Gb4",67:"G4",68:"Ab4",69:"A4",70:"Bb4",71:"B4",72:"C5",73:"Db5",74:"D5",75:"Eb5",76:"E5",77:"F5",78:"Gb5",79:"G5",80:"Ab5",81:"A5",82:"Bb5",83:"B5",84:"C6",85:"Db6",86:"D6",87:"Eb6",88:"E6",89:"F6",90:"Gb6",91:"G6",92:"Ab6",93:"A6",94:"Bb6",95:"B6",96:"C7",97:"Db7",98:"D7",99:"Eb7",100:"E7",101:"F7",102:"Gb7",103:"G7",104:"Ab7",105:"A7",106:"Bb7",107:"B7",108:"C8",109:"Db8",110:"D8",111:"Eb8",112:"E8",113:"F8",114:"Gb8",115:"G8",116:"Ab8",117:"A8",118:"Bb8",119:"B8",120:"C9",121:"Db9"};return Df=t,Df}var Vf,V1;function B5(){if(V1)return Vf;V1=1;var t=function(r){return window.URL.createObjectURL(a(r.audioBuffers))};function a(r){var n=r[0],i=n.numberOfChannels,c=n.length*i*2+44,s=new ArrayBuffer(c),d=new DataView(s),p=[],m,_,h=0,f=0;for(l(1179011410),l(c-8),l(1163280727),l(544501094),l(16),u(1),u(i),l(n.sampleRate),l(n.sampleRate*2*i),u(i*2),u(16),l(1635017060),l(c-f-4),m=0;m0){if(o.debugCallback&&o.debugCallback("pending "+JSON.stringify(I)),T?T=T*2:T=50,T<9e4)return new Promise(function(A,P){setTimeout(function(){var y=[];for(E=0;E0?y.audioBuffers[0].duration:0;return{status:n().state,duration:x}};var T=n().currentTime,N=o.millisecondsPerMeasure/1e3/o.meterSize;if(o.duration=o.flattened.totalDuration*N,o.duration<=0)return o.audioBuffers=[],k({status:"empty",seconds:0});o.duration+=b;var R=Math.floor(n().sampleRate*o.duration);o.stop();var F=a(o.flattened);if(o.options.swing){var D=o.options.drumIntro?0:o.pickupLength;v(F,o.options.swing,o.meterFraction,D)}o.sequenceCallback&&o.sequenceCallback(F,o.callbackContext);var I=g(F.length,o.pan),S={};F.forEach(function(y,x){var q=I&&I.length>x?I[x]:0;y.forEach(function(L){var Q=L.instrument+":"+L.pitch+":"+L.volume+":"+Math.round((L.end-L.start)*1e3)/1e3+":"+q+":"+N+":"+(L.cents?L.cents:0);o.debugCallback&&o.debugCallback("noteMapTrack "+Q),S[Q]||(S[Q]=[]),S[Q].push(L.start)})});for(var E=[],V=n().createBuffer(2,R,n().sampleRate),G=0;G1&&(N=1),w.push(N)}else w.push(0);return w}else{var R=parseFloat(k);if(R*(b-1)>2)return null;for(var F=b%2===0,D=F?0-R/2:0,I=D+R,S=0;S75&&(k=75),k=k/50-1;var N=0,R=.25;w.den===8&&(R=R/2);for(var F=R/2,D=F*k,I=0;I=S[E].start+F)){var G=V.start;V.start+=D,V.volume*=1+N,E>0&&S[E-1].end===G&&(S[E-1].end=V.start,S[E-1].volume*=1-N)}}}}}return Hf=l,Hf}var Wf,W1;function Y1(){if(W1)return Wf;W1=1;var t=function(){var a=this;a.tracks=[],a.totalDuration=0,a.currentInstrument=[],a.starts=[],a.addTrack=function(){return a.tracks.push([]),a.currentInstrument.push(0),a.starts.push(0),a.tracks.length-1},a.setInstrument=function(r,n){a.tracks[r].push({channel:0,cmd:"program",instrument:n}),a.currentInstrument[r]=n},a.appendNote=function(r,n,i,c,s){var d={cmd:"note",duration:i,gap:0,instrument:a.currentInstrument[r],pitch:n,start:a.starts[r],volume:c};s&&(d.cents=s),a.tracks[r].push(d),a.starts[r]+=i,a.totalDuration=Math.max(a.totalDuration,a.starts[r])}};return Wf=t,Wf}var Yf,K1;function N5(){if(K1)return Yf;K1=1;var t=` -`;return Yf=t,Yf}var Kf,K1;function R5(){if(K1)return Kf;K1=1;var t=` +`;return Yf=t,Yf}var Kf,X1;function D5(){if(X1)return Kf;X1=1;var t=` -`;return Kf=t,Kf}var Xf,X1;function B5(){if(X1)return Xf;X1=1;var t=` +`;return Kf=t,Kf}var Xf,Z1;function L5(){if(Z1)return Xf;Z1=1;var t=` -`;return Xf=t,Xf}var Zf,Z1;function P5(){if(Z1)return Zf;Z1=1;var t=` +`;return Xf=t,Xf}var Zf,J1;function V5(){if(J1)return Zf;J1=1;var t=` -`;return Zf=t,Zf}var Jf,J1;function N5(){if(J1)return Jf;J1=1;var t=` +`;return Zf=t,Zf}var Jf,ev;function I5(){if(ev)return Jf;ev=1;var t=` -`;return Jf=t,Jf}var ep,ev;function tv(){if(ev)return ep;ev=1;var t=yl(),a=bl(),r=mo(),n=U5(),i=R5(),c=B5(),s=P5(),d=N5();function p(u,l){var o=this;if(typeof u=="string"){var g=u;if(u=document.querySelector(g),!u)throw new Error('Cannot find element "'+g+'" in the DOM.')}else if(!(u instanceof HTMLElement))throw new Error("The first parameter must be a valid element or selector in the DOM.");if(o.parent=u,o.options={},l&&(o.options=Object.assign({},l)),o.options.ac&&a(o.options.ac),m(o.parent,o.options),f(o),o.disable=function(b){var k=o.parent.querySelector(".abcjs-inline-audio");b?k.classList.add("abcjs-disabled"):k.classList.remove("abcjs-disabled")},o.setWarp=function(b,k){var w=o.parent.querySelector(".abcjs-midi-tempo");w.value=Math.round(k),o.setTempo(b)},o.setTempo=function(b){var k=o.parent.querySelector(".abcjs-midi-current-tempo");k&&(k.innerHTML=Math.round(b))},o.resetAll=function(){for(var b=o.parent.querySelectorAll(".abcjs-pushed"),k=0;k -`;if(o){var N=l.repeatTitle?l.repeatTitle:"Click to toggle play once/repeat.",R=l.repeatAria?l.repeatAria:N;$+=' -`}if(g){var F=l.restartTitle?l.restartTitle:"Click to go to beginning.",D=l.restartAria?l.restartAria:F;$+=' -`}if(v){var I=l.playTitle?l.playTitle:"Click to play/pause.",S=l.playAria?l.playAria:I;$+=' -`}if(b){var j=l.randomTitle?l.randomTitle:"Click to change the playback position.",V=l.randomAria?l.randomAria:j;$+=' -`}if(w&&($+=` -`),k){var G=l.warpTitle?l.warpTitle:"Change the playback speed.",T=l.warpAria?l.warpAria:G,C=l.bpm?l.bpm:"BPM";$+=' ( '+C+`) -`}$+='
CSS required: load abcjs-audio.css
',$+=` -`,u.innerHTML=$}function _(u,l,o,g,v){var b=!0;if(r()?b=r().state==="suspended":a(),!t())throw{status:"NotSupported",message:"This browser does not support audio."};(b||v)&&o&&o.classList.add("abcjs-loading"),b?r().resume().then(function(){g?g().then(function(k){h(u,l,o,v)}):h(u,l,o,v)}):h(u,l,o,v)}function h(u,l,o,g){g?u(l).then(function(){o&&o.classList.remove("abcjs-loading")}):(u(l),o&&o.classList.remove("abcjs-loading"))}function f(u){var l=!!u.options.loopHandler,o=!!u.options.restartHandler,g=!!u.options.playHandler||!!u.options.playPromiseHandler,v=!!u.options.progressHandler,b=!!u.options.warpHandler,k=u.parent.querySelector(".abcjs-midi-start");l&&u.parent.querySelector(".abcjs-midi-loop").addEventListener("click",function(w){_(u.options.loopHandler,w,k,u.options.afterResume)}),o&&u.parent.querySelector(".abcjs-midi-reset").addEventListener("click",function(w){_(u.options.restartHandler,w,k,u.options.afterResume)}),g&&k.addEventListener("click",function(w){_(u.options.playPromiseHandler||u.options.playHandler,w,k,u.options.afterResume,!!u.options.playPromiseHandler)}),v&&u.parent.querySelector(".abcjs-midi-progress-background").addEventListener("click",function(w){_(u.options.progressHandler,w,k,u.options.afterResume)}),b&&u.parent.querySelector(".abcjs-midi-tempo").addEventListener("change",function(w){_(u.options.warpHandler,w,k,u.options.afterResume)})}return ep=p,ep}var tp,av;function D5(){if(av)return tp;av=1;var t=W1(),a=Qf(),r=mo();function n(c,s,d,p,m){for(var _=new t,h=0;h=1&&parseInt(c.cursorControl.beatSubdivisions,10)<=64&&(m=parseInt(c.cursorControl.beatSubdivisions,10)),c.timer=new r(c.visualObj,{beatCallback:c.beatCallback,eventCallback:c.eventCallback,lineEndCallback:c.lineEndCallback,qpm:c.currentTempo,extraMeasuresAtBeginning:c.cursorControl?c.cursorControl.extraMeasuresAtBeginning:void 0,lineEndAnticipation:c.cursorControl?c.cursorControl.lineEndAnticipation:0,beatSubdivisions:m}),c.cursorControl&&c.cursorControl.onReady&&typeof c.cursorControl.onReady=="function"&&c.cursorControl.onReady(c),c.isLoaded=!0,c.isLoading=!1,Promise.resolve({status:"created",notesStatus:p})})},c.destroy=function(){c.timer&&(c.timer.reset(),c.timer.stop(),c.timer=null),c.midiBuffer&&(c.midiBuffer.stop(),c.midiBuffer=null),c.setProgress(0,1),c.control&&c.control.resetAll()},c.play=function(){return c.runWhenReady(c._play,void 0)};function s(d){return new Promise(function(p){setTimeout(p,d)})}c.runWhenReady=function(d,p){return c.visualObj?c.isLoading?s(500).then(function(){return c.isLoading?c.runWhenReady(d,p):d(p)}):c.isLoaded?d(p):c.go().then(function(){return d(p)}):Promise.resolve({status:"loading"})},c._play=function(){return n().resume().then(function(){return c.isStarted=!c.isStarted,c.isStarted?(c.cursorControl&&c.cursorControl.onStart&&typeof c.cursorControl.onStart=="function"&&c.cursorControl.onStart(),c.midiBuffer.start(),c.timer.start(c.percent),c.control&&c.control.pushPlay(!0)):c.pause(),Promise.resolve({status:"ok"})})},c.pause=function(){c.timer&&(c.timer.pause(),c.midiBuffer.pause(),c.control&&c.control.pushPlay(!1))},c.toggleLoop=function(){c.isLooping=!c.isLooping,c.control&&c.control.pushLoop(c.isLooping)},c.restart=function(){c.timer&&(c.timer.setProgress(0),c.midiBuffer.seek(0))},c.randomAccess=function(d){return c.runWhenReady(c._randomAccess,d)},c._randomAccess=function(d){var p=d.target.classList.contains("abcjs-midi-progress-indicator")?d.target.parentNode:d.target,m=(d.x-p.getBoundingClientRect().left)/p.offsetWidth;return m<0&&(m=0),m>1&&(m=1),c.seek(m),Promise.resolve({status:"ok"})},c.seek=function(d,p){c.timer&&c.midiBuffer&&(c.timer.setProgress(d,p),c.midiBuffer.seek(d,p))},c.setWarp=function(d){if(parseInt(d,10)>0){c.warp=parseInt(d,10);var p=c.isStarted,m=c.percent;return c.destroy(),c.isStarted=!1,c.go().then(function(){return c.setProgress(m,c.midiBuffer.duration*1e3),c.control&&c.control.setWarp(c.currentTempo,c.warp),p?c.play().then(function(){return c.seek(m),Promise.resolve()}):(c.seek(m),Promise.resolve())})}return Promise.resolve()},c.onWarp=function(d){var p=d.target.value;return c.setWarp(p)},c.setProgress=function(d,p){c.percent=d,c.control&&c.control.setProgress(d,p)},c.finished=function(){if(c.timer.reset(),c.isLooping)return c.timer.start(0),c.midiBuffer.finished(),c.midiBuffer.start(),"continue";c.timer.stop(),c.isStarted&&(c.control&&c.control.pushPlay(!1),c.isStarted=!1,c.midiBuffer.finished(),c.cursorControl&&c.cursorControl.onFinished&&typeof c.cursorControl.onFinished=="function"&&c.cursorControl.onFinished(),c.setProgress(0,1))},c.beatCallback=function(d,p,m,_){var h=d/p;c.setProgress(h,m),c.cursorControl&&c.cursorControl.onBeat&&typeof c.cursorControl.onBeat=="function"&&c.cursorControl.onBeat(d,p,m,_)},c.eventCallback=function(d){if(d)c.cursorControl&&c.cursorControl.onEvent&&typeof c.cursorControl.onEvent=="function"&&c.cursorControl.onEvent(d);else return c.finished()},c.lineEndCallback=function(d,p){c.cursorControl&&c.cursorControl.onLineEnd&&typeof c.cursorControl.onLineEnd=="function"&&c.cursorControl.onLineEnd(d,p)},c.getUrl=function(){return c.midiBuffer.download()},c.download=function(d){var p=c.getUrl(),m=document.createElement("a");document.body.appendChild(m),m.setAttribute("style","display: none;"),m.href=p,m.download=d||"output.wav",m.click(),window.URL.revokeObjectURL(p),document.body.removeChild(m)}}return ap=i,ap}var ip,rv;function sv(){if(rv)return ip;rv=1;var t=I1(),a;return(function(){function r(f,u){for(var l in u)u.hasOwnProperty(l)&&f.setAttribute(l,u[l]);return f}function n(){this.trackstrings="",this.trackcount=0,this.noteOnAndChannel="%90",this.noteOffAndChannel="%80"}n.prototype.setTempo=function(f){this.trackcount===0&&(this.startTrack(),this.track+="%00%FF%51%03"+m(Math.round(6e7/f),6),this.endTrack())},n.prototype.setGlobalInfo=function(f,u,l,o){if(this.trackcount===0){this.startTrack();var g=Math.round(6e7/f);this.track+="%00%FF%51%03"+m(g,6),l&&(this.track+=s(l)),o&&(this.track+=d(o)),u&&(this.track+=c(u,"%01")),this.endTrack()}},n.prototype.startTrack=function(){this.noteWarped={},this.track="",this.trackName="",this.trackInstrument="",this.silencelength=0,this.trackcount++,this.instrument&&this.setInstrument(this.instrument)},n.prototype.endTrack=function(){this.track=this.trackName+this.trackInstrument+this.track;var f=m(this.track.length/3+4,8);this.track="MTrk"+f+this.track+"%00%FF%2F%00",this.trackstrings+=this.track},n.prototype.setText=function(f,u){f==="name"&&(this.trackName=c(u,"%03"))},n.prototype.setInstrument=function(f){this.trackInstrument="%00%C0"+m(f,2),this.instrument=f},n.prototype.setChannel=function(f,u){this.channel=f;var l="%00%B"+this.channel.toString(16);this.track+=l+"%79%00",this.track+=l+"%40%00",this.track+=l+"%5B%30",u||(u=0),u=Math.round((u+1)*64),this.track+=l+"%0A"+m(u,2),this.track+=l+"%07%64",this.noteOnAndChannel="%9"+this.channel.toString(16),this.noteOffAndChannel="%8"+this.channel.toString(16)};var i=4096;n.prototype.startNote=function(f,u,l){if(this.track+=h(this.silencelength),this.silencelength=0,l){this.track+="%e"+this.channel.toString(16);var o=Math.round(t(l)*i);this.track+=_(8192+o),this.track+=h(0),this.noteWarped[f]=!0}this.track+=this.noteOnAndChannel,this.track+="%"+f.toString(16)+m(u,2)},n.prototype.endNote=function(f){this.track+=h(this.silencelength),this.silencelength=0,this.noteWarped[f]&&(this.track+="%e"+this.channel.toString(16),this.track+=_(8192),this.track+=h(0),this.noteWarped[f]=!1),this.track+=this.noteOffAndChannel,this.track+="%"+f.toString(16)+"%00"},n.prototype.addRest=function(f){this.silencelength+=f,this.silencelength<0&&(this.silencelength=0)},n.prototype.getData=function(){return"data:audio/midi,MThd%00%00%00%06%00%01"+m(this.trackcount,4)+"%01%e0"+this.trackstrings},n.prototype.embed=function(f,u){var l=this.getData(),o=r(document.createElement("a"),{href:l});if(o.innerHTML="download midi",f.insertBefore(o,f.firstChild),!u){var g=r(document.createElement("embed"),{src:l,type:"video/quicktime",controller:"true",autoplay:"false",loop:"false",enablejavascript:"true",style:"display:block; height: 20px;"});f.insertBefore(g,f.firstChild)}};function c(f,u){for(var l="",o=0;ou&&(l=l.substring(0,u)),p(l)}function _(f){f=Math.round(f);var u=f%128,l=f-u;return m(l*2+u,4)}function h(f){var u=0,l=[];for(f=Math.round(f);f!==0;)l.push(f&127),f=f>>7;for(var o=l.length-1;o>=0;o--){u=u<<8;var g=l[o];o!==0&&(g=g|128),u=u|g}var v=u.toString(16).length;return v+=v%2,m(u,v)}a=function(){return new n}})(),ip=a,ip}var np,ov;function L5(){if(ov)return np;ov=1;var t=sv(),a;return(function(){var r=1920;a=function(c,s){s===void 0&&(s={});var d=c.setUpAudio(s),p=t(),m=c.metaText?c.metaText.title:void 0;m&&m.length>128&&(m=m.substring(0,124)+"...");var _=c.getKeySignature(),h=c.getMeterFraction(),f=d.tempo,u=f/60;if(h.den===8&&h.num!==5&&h.num!==7){var l=c.millisecondsPerMeasure();f=6e4/(l/h.num)/2,u=f/60}p.setGlobalInfo(f,m,_,h);for(var o=0;oo&&(k=s.pan[o]),b.instrument===128?(p.setChannel(9,k),p.setInstrument(0)):(p.setChannel(b.channel,k),p.setInstrument(b.instrument));break;case"note":var w=b.gap*u,$=b.start,N=$+b.duration-w;g[$]||(g[$]=[]),g[$].push({pitch:b.pitch,volume:b.volume,cents:b.cents}),g[N]||(g[N]=[]),g[N].push({pitch:b.pitch,volume:0});break;default:console.log("MIDI create Unknown: "+b.cmd)}}n(p,g,r),p.endTrack()}return p.getData()};function n(i,c,s){for(var d=Object.keys(c),p=0;pm){var f=(d[_]-m)*s;i.addRest(f),m=d[_]}for(var u=0;u';s.preTextDownload&&(_+=s.preTextDownload);var h=c.metaText&&c.metaText.title?c.metaText.title:"Untitled",f;s.downloadLabel&&n(s.downloadLabel)?f=s.downloadLabel(c,p):s.downloadLabel?f=s.downloadLabel.replace(/%T/,h):f='Download MIDI for "'+h+'"',h=h.toLowerCase().replace(/'/g,"").replace(/\W/g,"_").replace(/__/g,"_");var u=s.fileName?s.fileName:h+".midi";return _+=''+f+"",s.postTextDownload&&(_+=s.postTextDownload),_+""};return rp=r,rp}var sp,lv;function dv(){if(lv)return sp;lv=1;try{if(typeof window.CustomEvent!="function"){var t=function(r,n){n=n||{bubbles:!1,cancelable:!1,detail:void 0};var i=document.createEvent("CustomEvent");return i.initCustomEvent(r,n.bubbles,n.cancelable,n.detail),i};t.prototype=window.Event.prototype,window.CustomEvent=t}}catch{}var a=function(r){this.isEditArea=!0,typeof r=="string"?(this.textarea=document.getElementById(r),this.textarea||(this.textarea=document.querySelector(r))):this.textarea=r,this.initialText=this.textarea.value,this.isDragging=!1};return a.prototype.addSelectionListener=function(r){this.textarea.onmousemove=function(n){this.isDragging&&r.fireSelectionChanged()}},a.prototype.addChangeListener=function(r){this.changelistener=r,this.textarea.onkeyup=function(){r.fireChanged()},this.textarea.onmousedown=function(){this.isDragging=!0,r.fireSelectionChanged()},this.textarea.onmouseup=function(){this.isDragging=!1,r.fireChanged()},this.textarea.onchange=function(){r.fireChanged()}},a.prototype.getSelection=function(){return{start:this.textarea.selectionStart,end:this.textarea.selectionEnd}},a.prototype.setSelection=function(r,n){if(this.textarea.setSelectionRange)this.textarea.setSelectionRange(r,n);else if(this.textarea.createTextRange){var i=this.textarea.createTextRange();i.collapse(!0),i.moveEnd("character",n),i.moveStart("character",r),i.select()}this.textarea.focus()},a.prototype.getString=function(){return this.textarea.value},a.prototype.setString=function(r){this.textarea.value=r,this.initialText=this.getString(),this.changelistener&&this.changelistener.fireChanged()},a.prototype.getElem=function(){return this.textarea},sp=a,sp}var op,uv;function I5(){if(uv)return op;uv=1;var t=tr(),a=nv(),r=yl(),n=M1(),i=dv();function c(d){var p={},m;if(d.abcjsParams)for(m in d.abcjsParams)d.abcjsParams.hasOwnProperty(m)&&(p[m]=d.abcjsParams[m]);if(d.midi_options)for(m in d.midi_options)d.midi_options.hasOwnProperty(m)&&(p[m]=d.midi_options[m]);if(d.parser_options)for(m in d.parser_options)d.parser_options.hasOwnProperty(m)&&(p[m]=d.parser_options[m]);if(d.render_options)for(m in d.render_options)d.render_options.hasOwnProperty(m)&&(p[m]=d.render_options[m]);return p.tablature&&d.warnings_id&&(p.tablature.warnings_id=d.warnings_id),p}var s=function(d,p){this.abcjsParams=c(p),p.indicate_changed&&(this.indicate_changed=!0),typeof d=="string"?this.editarea=new i(d):d.isEditArea?this.editarea=d:this.editarea=new i(d),this.editarea.addSelectionListener(this),this.editarea.addChangeListener(this),p.canvas_id?this.div=p.canvas_id:p.paper_id?this.div=p.paper_id:(this.div=document.createElement("DIV"),this.editarea.getElem().parentNode.insertBefore(this.div,this.editarea.getElem())),typeof this.div=="string"&&(this.div=document.getElementById(this.div)),p.selectionChangeCallback&&(this.selectionChangeCallback=p.selectionChangeCallback),this.clientClickListener=this.abcjsParams.clickListener,this.abcjsParams.clickListener=this.highlight.bind(this),p.synth&&r()&&(this.synth={el:p.synth.el,cursorControl:p.synth.cursorControl,options:p.synth.options}),p.generate_midi&&(this.generate_midi=p.generate_midi,this.abcjsParams.generateDownload&&(typeof p.midi_download_id=="string"?this.downloadMidi=document.getElementById(p.midi_download_id):p.midi_download_id&&(this.downloadMidi=p.midi_download_id)),this.abcjsParams.generateInline!==!1&&(typeof p.midi_id=="string"?this.inlineMidi=document.getElementById(p.midi_id):p.midi_id&&(this.inlineMidi=p.midi_id))),p.warnings_id?typeof p.warnings_id=="string"?this.warningsdiv=document.getElementById(p.warnings_id):this.warningsdiv=p.warnings_id:p.generate_warnings&&(this.warningsdiv=document.createElement("div"),this.div.parentNode.insertBefore(this.warningsdiv,this.div)),this.onchangeCallback=p.onchange,this.redrawCallback=p.redrawCallback,this.currentAbc="",this.tunes=[],this.bReentry=!1,this.parseABC(),this.modelChanged(),this.addClassName=function(m,_){var h=function(f,u){var l=f.className;return l.length>0&&(l===u||new RegExp("(^|\\s)"+u+"(\\s|$)").test(l))};return h(m,_)||(m.className+=(m.className?" ":"")+_),m},this.removeClassName=function(m,_){return m.className=t.strip(m.className.replace(new RegExp("(^|\\s+)"+_+"(\\s+|$)")," ")),m},this.setReadOnly=function(m){var _="abc_textarea_readonly",h=this.editarea.getElem();m?(h.setAttribute("readonly","yes"),this.addClassName(h,_)):(h.removeAttribute("readonly"),this.removeClassName(h,_))}};return s.prototype.redrawMidi=function(){if(this.generate_midi&&!this.midiPause){var d=new window.CustomEvent("generateMidi",{detail:{tunes:this.tunes,abcjsParams:this.abcjsParams,downloadMidiEl:this.downloadMidi,inlineMidiEl:this.inlineMidi,engravingEl:this.div}});window.dispatchEvent(d)}if(this.synth){var p=this.synth.synthControl;this.synth.synthControl||(this.synth.synthControl=new a,this.synth.synthControl.load(this.synth.el,this.synth.cursorControl,this.synth.options)),this.synth.synthControl.setTune(this.tunes[0],p,this.synth.options)}},s.prototype.modelChanged=function(){if(!this.bReentry){this.bReentry=!0;try{this.timerId=null,this.redrawCallback&&this.redrawCallback(!0),this.synth&&this.synth.synthControl&&this.synth.synthControl.disable(!0),this.tunes=n(this.div,this.currentAbc,this.abcjsParams),this.tunes.length>0&&(this.warnings=this.tunes[0].warnings),this.redrawMidi(),this.redrawCallback&&this.redrawCallback(!1)}catch(d){console.error("ABCJS error: ",d),this.warnings||(this.warnings=[]),this.warnings.push(d.message)}this.warningsdiv&&(this.warningsdiv.innerHTML=this.warnings?this.warnings.join("
"):"No errors"),this.updateSelection(),this.bReentry=!1}},s.prototype.paramChanged=function(d){if(d)for(var p in d)d.hasOwnProperty(p)&&(this.abcjsParams[p]=d[p]);this.currentAbc="",this.fireChanged()},s.prototype.getTunes=function(){return this.tunes},s.prototype.synthParamChanged=function(d){if(this.synth){if(this.synth.options={},d)for(var p in d)d.hasOwnProperty(p)&&(this.synth.options[p]=d[p]);this.currentAbc="",this.fireChanged()}},s.prototype.parseABC=function(){var d=this.editarea.getString();return d===this.currentAbc?(this.updateSelection(),!1):(this.currentAbc=d,!0)},s.prototype.updateSelection=function(){var d=this.editarea.getSelection();try{this.tunes.length>0&&this.tunes[0].engraver&&this.tunes[0].engraver.rangeHighlight(d.start,d.end)}catch{}this.selectionChangeCallback&&this.selectionChangeCallback(d.start,d.end)},s.prototype.fireSelectionChanged=function(){this.updateSelection()},s.prototype.setDirtyStyle=function(d){if(this.indicate_changed!==void 0){var p=function(f,u){var l=function(o,g){var v=o.className;return v.length>0&&(v===g||new RegExp("(^|\\s)"+g+"(\\s|$)").test(v))};return l(f,u)||(f.className+=(f.className?" ":"")+u),f},m=function(f,u){return f.className=t.strip(f.className.replace(new RegExp("(^|\\s+)"+u+"(\\s+|$)")," ")),f},_="abc_textarea_dirty",h=this.editarea.getElem();d?p(h,_):m(h,_)}},s.prototype.fireChanged=function(){if(!this.bIsPaused&&this.parseABC()){var d=this;this.timerId&&clearTimeout(this.timerId),this.timerId=setTimeout(function(){d.modelChanged()},300);var p=this.isDirty();this.wasDirty!==p&&(this.wasDirty=p,this.setDirtyStyle(p)),this.onchangeCallback&&this.onchangeCallback(this)}},s.prototype.setNotDirty=function(){this.editarea.initialText=this.editarea.getString(),this.wasDirty=!1,this.setDirtyStyle(!1)},s.prototype.isDirty=function(){return this.indicate_changed===void 0?!1:this.editarea.initialText!==this.editarea.getString()},s.prototype.highlight=function(d,p,m,_,h,f){this.editarea.setSelection(d.startChar,d.endChar),this.selectionChangeCallback&&this.selectionChangeCallback(d.startChar,d.endChar),this.clientClickListener&&this.clientClickListener(d,p,m,_,h,f)},s.prototype.pause=function(d){this.bIsPaused=d,d||this.fireChanged()},s.prototype.millisecondsPerMeasure=function(){return!this.synth||!this.synth.synthControl||!this.synth.synthControl.visualObj?0:this.synth.synthControl.visualObj.millisecondsPerMeasure()},s.prototype.pauseMidi=function(d){this.midiPause=d,d||this.redrawMidi()},op=s,op}var cp,fv;function O5(){if(fv)return cp;fv=1;var t=r4(),a=s4(),r=vl(),n=kh(),i=T4(),c={};c.signature="abcjs-basic v"+t,Object.keys(a).forEach(function(k){c[k]=a[k]}),Object.keys(r).forEach(function(k){c[k]=r[k]}),c.renderAbc=M1(),c.tuneMetrics=C5(),c.TimingCallbacks=ou();var s=Zr();c.setGlyph=s.setSymbol,c.strTranspose=i;var d=Qf(),p=Uf(),m=Lf(),_=W1(),h=tv(),f=bl(),u=mo(),l=yl(),o=D5(),g=nv(),v=V5(),b=sv();return c.synth={CreateSynth:d,instrumentIndexToName:p,pitchToNoteName:m,SynthController:g,SynthSequence:_,CreateSynthControl:h,registerAudioContext:f,activeAudioContext:u,supportsAudio:l,playEvent:o,getMidiFile:v,sequence:n,midiRenderer:b},c.Editor=I5(),c.EditArea=dv(),c.test={Parse:Eu(),EngraverController:Ff()},cp=c,cp}var pv=O5();const H5=Iv({__proto__:null,default:n4(pv)},[pv]);return Ac.app=xg,Ac.start=Sy,Object.defineProperty(Ac,Symbol.toStringTag,{value:"Module"}),Ac})({}); +`;return Jf=t,Jf}var ep,tv;function av(){if(tv)return ep;tv=1;var t=kl(),a=yl(),r=vo(),n=N5(),i=D5(),c=L5(),s=V5(),d=I5();function p(u,l){var o=this;if(typeof u=="string"){var g=u;if(u=document.querySelector(g),!u)throw new Error('Cannot find element "'+g+'" in the DOM.')}else if(!(u instanceof HTMLElement))throw new Error("The first parameter must be a valid element or selector in the DOM.");if(o.parent=u,o.options={},l&&(o.options=Object.assign({},l)),o.options.ac&&a(o.options.ac),m(o.parent,o.options),f(o),o.disable=function(b){var k=o.parent.querySelector(".abcjs-inline-audio");b?k.classList.add("abcjs-disabled"):k.classList.remove("abcjs-disabled")},o.setWarp=function(b,k){var w=o.parent.querySelector(".abcjs-midi-tempo");w.value=Math.round(k),o.setTempo(b)},o.setTempo=function(b){var k=o.parent.querySelector(".abcjs-midi-current-tempo");k&&(k.innerHTML=Math.round(b))},o.resetAll=function(){for(var b=o.parent.querySelectorAll(".abcjs-pushed"),k=0;k +`;if(o){var N=l.repeatTitle?l.repeatTitle:"Click to toggle play once/repeat.",R=l.repeatAria?l.repeatAria:N;T+=' +`}if(g){var F=l.restartTitle?l.restartTitle:"Click to go to beginning.",D=l.restartAria?l.restartAria:F;T+=' +`}if(v){var I=l.playTitle?l.playTitle:"Click to play/pause.",S=l.playAria?l.playAria:I;T+=' +`}if(b){var E=l.randomTitle?l.randomTitle:"Click to change the playback position.",V=l.randomAria?l.randomAria:E;T+=' +`}if(w&&(T+=` +`),k){var G=l.warpTitle?l.warpTitle:"Change the playback speed.",$=l.warpAria?l.warpAria:G,C=l.bpm?l.bpm:"BPM";T+=' ( '+C+`) +`}T+='
CSS required: load abcjs-audio.css
',T+=` +`,u.innerHTML=T}function _(u,l,o,g,v){var b=!0;if(r()?b=r().state==="suspended":a(),!t())throw{status:"NotSupported",message:"This browser does not support audio."};(b||v)&&o&&o.classList.add("abcjs-loading"),b?r().resume().then(function(){g?g().then(function(k){h(u,l,o,v)}):h(u,l,o,v)}):h(u,l,o,v)}function h(u,l,o,g){g?u(l).then(function(){o&&o.classList.remove("abcjs-loading")}):(u(l),o&&o.classList.remove("abcjs-loading"))}function f(u){var l=!!u.options.loopHandler,o=!!u.options.restartHandler,g=!!u.options.playHandler||!!u.options.playPromiseHandler,v=!!u.options.progressHandler,b=!!u.options.warpHandler,k=u.parent.querySelector(".abcjs-midi-start");l&&u.parent.querySelector(".abcjs-midi-loop").addEventListener("click",function(w){_(u.options.loopHandler,w,k,u.options.afterResume)}),o&&u.parent.querySelector(".abcjs-midi-reset").addEventListener("click",function(w){_(u.options.restartHandler,w,k,u.options.afterResume)}),g&&k.addEventListener("click",function(w){_(u.options.playPromiseHandler||u.options.playHandler,w,k,u.options.afterResume,!!u.options.playPromiseHandler)}),v&&u.parent.querySelector(".abcjs-midi-progress-background").addEventListener("click",function(w){_(u.options.progressHandler,w,k,u.options.afterResume)}),b&&u.parent.querySelector(".abcjs-midi-tempo").addEventListener("change",function(w){_(u.options.warpHandler,w,k,u.options.afterResume)})}return ep=p,ep}var tp,iv;function O5(){if(iv)return tp;iv=1;var t=Y1(),a=Qf(),r=vo();function n(c,s,d,p,m){for(var _=new t,h=0;h=1&&parseInt(c.cursorControl.beatSubdivisions,10)<=64&&(m=parseInt(c.cursorControl.beatSubdivisions,10)),c.timer=new r(c.visualObj,{beatCallback:c.beatCallback,eventCallback:c.eventCallback,lineEndCallback:c.lineEndCallback,qpm:c.currentTempo,extraMeasuresAtBeginning:c.cursorControl?c.cursorControl.extraMeasuresAtBeginning:void 0,lineEndAnticipation:c.cursorControl?c.cursorControl.lineEndAnticipation:0,beatSubdivisions:m}),c.cursorControl&&c.cursorControl.onReady&&typeof c.cursorControl.onReady=="function"&&c.cursorControl.onReady(c),c.isLoaded=!0,c.isLoading=!1,Promise.resolve({status:"created",notesStatus:p})})},c.destroy=function(){c.timer&&(c.timer.reset(),c.timer.stop(),c.timer=null),c.midiBuffer&&(c.midiBuffer.stop(),c.midiBuffer=null),c.setProgress(0,1),c.control&&c.control.resetAll()},c.play=function(){return c.runWhenReady(c._play,void 0)};function s(d){return new Promise(function(p){setTimeout(p,d)})}c.runWhenReady=function(d,p){return c.visualObj?c.isLoading?s(500).then(function(){return c.isLoading?c.runWhenReady(d,p):d(p)}):c.isLoaded?d(p):c.go().then(function(){return d(p)}):Promise.resolve({status:"loading"})},c._play=function(){return n().resume().then(function(){return c.isStarted=!c.isStarted,c.isStarted?(c.cursorControl&&c.cursorControl.onStart&&typeof c.cursorControl.onStart=="function"&&c.cursorControl.onStart(),c.midiBuffer.start(),c.timer.start(c.percent),c.control&&c.control.pushPlay(!0)):c.pause(),Promise.resolve({status:"ok"})})},c.pause=function(){c.timer&&(c.timer.pause(),c.midiBuffer.pause(),c.control&&c.control.pushPlay(!1))},c.toggleLoop=function(){c.isLooping=!c.isLooping,c.control&&c.control.pushLoop(c.isLooping)},c.restart=function(){c.timer&&(c.timer.setProgress(0),c.midiBuffer.seek(0))},c.randomAccess=function(d){return c.runWhenReady(c._randomAccess,d)},c._randomAccess=function(d){var p=d.target.classList.contains("abcjs-midi-progress-indicator")?d.target.parentNode:d.target,m=(d.x-p.getBoundingClientRect().left)/p.offsetWidth;return m<0&&(m=0),m>1&&(m=1),c.seek(m),Promise.resolve({status:"ok"})},c.seek=function(d,p){c.timer&&c.midiBuffer&&(c.timer.setProgress(d,p),c.midiBuffer.seek(d,p))},c.setWarp=function(d){if(parseInt(d,10)>0){c.warp=parseInt(d,10);var p=c.isStarted,m=c.percent;return c.destroy(),c.isStarted=!1,c.go().then(function(){return c.setProgress(m,c.midiBuffer.duration*1e3),c.control&&c.control.setWarp(c.currentTempo,c.warp),p?c.play().then(function(){return c.seek(m),Promise.resolve()}):(c.seek(m),Promise.resolve())})}return Promise.resolve()},c.onWarp=function(d){var p=d.target.value;return c.setWarp(p)},c.setProgress=function(d,p){c.percent=d,c.control&&c.control.setProgress(d,p)},c.finished=function(){if(c.timer.reset(),c.isLooping)return c.timer.start(0),c.midiBuffer.finished(),c.midiBuffer.start(),"continue";c.timer.stop(),c.isStarted&&(c.control&&c.control.pushPlay(!1),c.isStarted=!1,c.midiBuffer.finished(),c.cursorControl&&c.cursorControl.onFinished&&typeof c.cursorControl.onFinished=="function"&&c.cursorControl.onFinished(),c.setProgress(0,1))},c.beatCallback=function(d,p,m,_){var h=d/p;c.setProgress(h,m),c.cursorControl&&c.cursorControl.onBeat&&typeof c.cursorControl.onBeat=="function"&&c.cursorControl.onBeat(d,p,m,_)},c.eventCallback=function(d){if(d)c.cursorControl&&c.cursorControl.onEvent&&typeof c.cursorControl.onEvent=="function"&&c.cursorControl.onEvent(d);else return c.finished()},c.lineEndCallback=function(d,p){c.cursorControl&&c.cursorControl.onLineEnd&&typeof c.cursorControl.onLineEnd=="function"&&c.cursorControl.onLineEnd(d,p)},c.getUrl=function(){return c.midiBuffer.download()},c.download=function(d){var p=c.getUrl(),m=document.createElement("a");document.body.appendChild(m),m.setAttribute("style","display: none;"),m.href=p,m.download=d||"output.wav",m.click(),window.URL.revokeObjectURL(p),document.body.removeChild(m)}}return ap=i,ap}var ip,sv;function ov(){if(sv)return ip;sv=1;var t=O1(),a;return(function(){function r(f,u){for(var l in u)u.hasOwnProperty(l)&&f.setAttribute(l,u[l]);return f}function n(){this.trackstrings="",this.trackcount=0,this.noteOnAndChannel="%90",this.noteOffAndChannel="%80"}n.prototype.setTempo=function(f){this.trackcount===0&&(this.startTrack(),this.track+="%00%FF%51%03"+m(Math.round(6e7/f),6),this.endTrack())},n.prototype.setGlobalInfo=function(f,u,l,o){if(this.trackcount===0){this.startTrack();var g=Math.round(6e7/f);this.track+="%00%FF%51%03"+m(g,6),l&&(this.track+=s(l)),o&&(this.track+=d(o)),u&&(this.track+=c(u,"%01")),this.endTrack()}},n.prototype.startTrack=function(){this.noteWarped={},this.track="",this.trackName="",this.trackInstrument="",this.silencelength=0,this.trackcount++,this.instrument&&this.setInstrument(this.instrument)},n.prototype.endTrack=function(){this.track=this.trackName+this.trackInstrument+this.track;var f=m(this.track.length/3+4,8);this.track="MTrk"+f+this.track+"%00%FF%2F%00",this.trackstrings+=this.track},n.prototype.setText=function(f,u){f==="name"&&(this.trackName=c(u,"%03"))},n.prototype.setInstrument=function(f){this.trackInstrument="%00%C0"+m(f,2),this.instrument=f},n.prototype.setChannel=function(f,u){this.channel=f;var l="%00%B"+this.channel.toString(16);this.track+=l+"%79%00",this.track+=l+"%40%00",this.track+=l+"%5B%30",u||(u=0),u=Math.round((u+1)*64),this.track+=l+"%0A"+m(u,2),this.track+=l+"%07%64",this.noteOnAndChannel="%9"+this.channel.toString(16),this.noteOffAndChannel="%8"+this.channel.toString(16)};var i=4096;n.prototype.startNote=function(f,u,l){if(this.track+=h(this.silencelength),this.silencelength=0,l){this.track+="%e"+this.channel.toString(16);var o=Math.round(t(l)*i);this.track+=_(8192+o),this.track+=h(0),this.noteWarped[f]=!0}this.track+=this.noteOnAndChannel,this.track+="%"+f.toString(16)+m(u,2)},n.prototype.endNote=function(f){this.track+=h(this.silencelength),this.silencelength=0,this.noteWarped[f]&&(this.track+="%e"+this.channel.toString(16),this.track+=_(8192),this.track+=h(0),this.noteWarped[f]=!1),this.track+=this.noteOffAndChannel,this.track+="%"+f.toString(16)+"%00"},n.prototype.addRest=function(f){this.silencelength+=f,this.silencelength<0&&(this.silencelength=0)},n.prototype.getData=function(){return"data:audio/midi,MThd%00%00%00%06%00%01"+m(this.trackcount,4)+"%01%e0"+this.trackstrings},n.prototype.embed=function(f,u){var l=this.getData(),o=r(document.createElement("a"),{href:l});if(o.innerHTML="download midi",f.insertBefore(o,f.firstChild),!u){var g=r(document.createElement("embed"),{src:l,type:"video/quicktime",controller:"true",autoplay:"false",loop:"false",enablejavascript:"true",style:"display:block; height: 20px;"});f.insertBefore(g,f.firstChild)}};function c(f,u){for(var l="",o=0;ou&&(l=l.substring(0,u)),p(l)}function _(f){f=Math.round(f);var u=f%128,l=f-u;return m(l*2+u,4)}function h(f){var u=0,l=[];for(f=Math.round(f);f!==0;)l.push(f&127),f=f>>7;for(var o=l.length-1;o>=0;o--){u=u<<8;var g=l[o];o!==0&&(g=g|128),u=u|g}var v=u.toString(16).length;return v+=v%2,m(u,v)}a=function(){return new n}})(),ip=a,ip}var np,cv;function H5(){if(cv)return np;cv=1;var t=ov(),a;return(function(){var r=1920;a=function(c,s){s===void 0&&(s={});var d=c.setUpAudio(s),p=t(),m=c.metaText?c.metaText.title:void 0;m&&m.length>128&&(m=m.substring(0,124)+"...");var _=c.getKeySignature(),h=c.getMeterFraction(),f=d.tempo,u=f/60;if(h.den===8&&h.num!==5&&h.num!==7){var l=c.millisecondsPerMeasure();f=6e4/(l/h.num)/2,u=f/60}p.setGlobalInfo(f,m,_,h);for(var o=0;oo&&(k=s.pan[o]),b.instrument===128?(p.setChannel(9,k),p.setInstrument(0)):(p.setChannel(b.channel,k),p.setInstrument(b.instrument));break;case"note":var w=b.gap*u,T=b.start,N=T+b.duration-w;g[T]||(g[T]=[]),g[T].push({pitch:b.pitch,volume:b.volume,cents:b.cents}),g[N]||(g[N]=[]),g[N].push({pitch:b.pitch,volume:0});break;default:console.log("MIDI create Unknown: "+b.cmd)}}n(p,g,r),p.endTrack()}return p.getData()};function n(i,c,s){for(var d=Object.keys(c),p=0;pm){var f=(d[_]-m)*s;i.addRest(f),m=d[_]}for(var u=0;u';s.preTextDownload&&(_+=s.preTextDownload);var h=c.metaText&&c.metaText.title?c.metaText.title:"Untitled",f;s.downloadLabel&&n(s.downloadLabel)?f=s.downloadLabel(c,p):s.downloadLabel?f=s.downloadLabel.replace(/%T/,h):f='Download MIDI for "'+h+'"',h=h.toLowerCase().replace(/'/g,"").replace(/\W/g,"_").replace(/__/g,"_");var u=s.fileName?s.fileName:h+".midi";return _+=''+f+"",s.postTextDownload&&(_+=s.postTextDownload),_+""};return rp=r,rp}var sp,dv;function uv(){if(dv)return sp;dv=1;try{if(typeof window.CustomEvent!="function"){var t=function(r,n){n=n||{bubbles:!1,cancelable:!1,detail:void 0};var i=document.createEvent("CustomEvent");return i.initCustomEvent(r,n.bubbles,n.cancelable,n.detail),i};t.prototype=window.Event.prototype,window.CustomEvent=t}}catch{}var a=function(r){this.isEditArea=!0,typeof r=="string"?(this.textarea=document.getElementById(r),this.textarea||(this.textarea=document.querySelector(r))):this.textarea=r,this.initialText=this.textarea.value,this.isDragging=!1};return a.prototype.addSelectionListener=function(r){this.textarea.onmousemove=function(n){this.isDragging&&r.fireSelectionChanged()}},a.prototype.addChangeListener=function(r){this.changelistener=r,this.textarea.onkeyup=function(){r.fireChanged()},this.textarea.onmousedown=function(){this.isDragging=!0,r.fireSelectionChanged()},this.textarea.onmouseup=function(){this.isDragging=!1,r.fireChanged()},this.textarea.onchange=function(){r.fireChanged()}},a.prototype.getSelection=function(){return{start:this.textarea.selectionStart,end:this.textarea.selectionEnd}},a.prototype.setSelection=function(r,n){if(this.textarea.setSelectionRange)this.textarea.setSelectionRange(r,n);else if(this.textarea.createTextRange){var i=this.textarea.createTextRange();i.collapse(!0),i.moveEnd("character",n),i.moveStart("character",r),i.select()}this.textarea.focus()},a.prototype.getString=function(){return this.textarea.value},a.prototype.setString=function(r){this.textarea.value=r,this.initialText=this.getString(),this.changelistener&&this.changelistener.fireChanged()},a.prototype.getElem=function(){return this.textarea},sp=a,sp}var op,fv;function W5(){if(fv)return op;fv=1;var t=ir(),a=rv(),r=kl(),n=z1(),i=uv();function c(d){var p={},m;if(d.abcjsParams)for(m in d.abcjsParams)d.abcjsParams.hasOwnProperty(m)&&(p[m]=d.abcjsParams[m]);if(d.midi_options)for(m in d.midi_options)d.midi_options.hasOwnProperty(m)&&(p[m]=d.midi_options[m]);if(d.parser_options)for(m in d.parser_options)d.parser_options.hasOwnProperty(m)&&(p[m]=d.parser_options[m]);if(d.render_options)for(m in d.render_options)d.render_options.hasOwnProperty(m)&&(p[m]=d.render_options[m]);return p.tablature&&d.warnings_id&&(p.tablature.warnings_id=d.warnings_id),p}var s=function(d,p){this.abcjsParams=c(p),p.indicate_changed&&(this.indicate_changed=!0),typeof d=="string"?this.editarea=new i(d):d.isEditArea?this.editarea=d:this.editarea=new i(d),this.editarea.addSelectionListener(this),this.editarea.addChangeListener(this),p.canvas_id?this.div=p.canvas_id:p.paper_id?this.div=p.paper_id:(this.div=document.createElement("DIV"),this.editarea.getElem().parentNode.insertBefore(this.div,this.editarea.getElem())),typeof this.div=="string"&&(this.div=document.getElementById(this.div)),p.selectionChangeCallback&&(this.selectionChangeCallback=p.selectionChangeCallback),this.clientClickListener=this.abcjsParams.clickListener,this.abcjsParams.clickListener=this.highlight.bind(this),p.synth&&r()&&(this.synth={el:p.synth.el,cursorControl:p.synth.cursorControl,options:p.synth.options}),p.generate_midi&&(this.generate_midi=p.generate_midi,this.abcjsParams.generateDownload&&(typeof p.midi_download_id=="string"?this.downloadMidi=document.getElementById(p.midi_download_id):p.midi_download_id&&(this.downloadMidi=p.midi_download_id)),this.abcjsParams.generateInline!==!1&&(typeof p.midi_id=="string"?this.inlineMidi=document.getElementById(p.midi_id):p.midi_id&&(this.inlineMidi=p.midi_id))),p.warnings_id?typeof p.warnings_id=="string"?this.warningsdiv=document.getElementById(p.warnings_id):this.warningsdiv=p.warnings_id:p.generate_warnings&&(this.warningsdiv=document.createElement("div"),this.div.parentNode.insertBefore(this.warningsdiv,this.div)),this.onchangeCallback=p.onchange,this.redrawCallback=p.redrawCallback,this.currentAbc="",this.tunes=[],this.bReentry=!1,this.parseABC(),this.modelChanged(),this.addClassName=function(m,_){var h=function(f,u){var l=f.className;return l.length>0&&(l===u||new RegExp("(^|\\s)"+u+"(\\s|$)").test(l))};return h(m,_)||(m.className+=(m.className?" ":"")+_),m},this.removeClassName=function(m,_){return m.className=t.strip(m.className.replace(new RegExp("(^|\\s+)"+_+"(\\s+|$)")," ")),m},this.setReadOnly=function(m){var _="abc_textarea_readonly",h=this.editarea.getElem();m?(h.setAttribute("readonly","yes"),this.addClassName(h,_)):(h.removeAttribute("readonly"),this.removeClassName(h,_))}};return s.prototype.redrawMidi=function(){if(this.generate_midi&&!this.midiPause){var d=new window.CustomEvent("generateMidi",{detail:{tunes:this.tunes,abcjsParams:this.abcjsParams,downloadMidiEl:this.downloadMidi,inlineMidiEl:this.inlineMidi,engravingEl:this.div}});window.dispatchEvent(d)}if(this.synth){var p=this.synth.synthControl;this.synth.synthControl||(this.synth.synthControl=new a,this.synth.synthControl.load(this.synth.el,this.synth.cursorControl,this.synth.options)),this.synth.synthControl.setTune(this.tunes[0],p,this.synth.options)}},s.prototype.modelChanged=function(){if(!this.bReentry){this.bReentry=!0;try{this.timerId=null,this.redrawCallback&&this.redrawCallback(!0),this.synth&&this.synth.synthControl&&this.synth.synthControl.disable(!0),this.tunes=n(this.div,this.currentAbc,this.abcjsParams),this.tunes.length>0&&(this.warnings=this.tunes[0].warnings),this.redrawMidi(),this.redrawCallback&&this.redrawCallback(!1)}catch(d){console.error("ABCJS error: ",d),this.warnings||(this.warnings=[]),this.warnings.push(d.message)}this.warningsdiv&&(this.warningsdiv.innerHTML=this.warnings?this.warnings.join("
"):"No errors"),this.updateSelection(),this.bReentry=!1}},s.prototype.paramChanged=function(d){if(d)for(var p in d)d.hasOwnProperty(p)&&(this.abcjsParams[p]=d[p]);this.currentAbc="",this.fireChanged()},s.prototype.getTunes=function(){return this.tunes},s.prototype.synthParamChanged=function(d){if(this.synth){if(this.synth.options={},d)for(var p in d)d.hasOwnProperty(p)&&(this.synth.options[p]=d[p]);this.currentAbc="",this.fireChanged()}},s.prototype.parseABC=function(){var d=this.editarea.getString();return d===this.currentAbc?(this.updateSelection(),!1):(this.currentAbc=d,!0)},s.prototype.updateSelection=function(){var d=this.editarea.getSelection();try{this.tunes.length>0&&this.tunes[0].engraver&&this.tunes[0].engraver.rangeHighlight(d.start,d.end)}catch{}this.selectionChangeCallback&&this.selectionChangeCallback(d.start,d.end)},s.prototype.fireSelectionChanged=function(){this.updateSelection()},s.prototype.setDirtyStyle=function(d){if(this.indicate_changed!==void 0){var p=function(f,u){var l=function(o,g){var v=o.className;return v.length>0&&(v===g||new RegExp("(^|\\s)"+g+"(\\s|$)").test(v))};return l(f,u)||(f.className+=(f.className?" ":"")+u),f},m=function(f,u){return f.className=t.strip(f.className.replace(new RegExp("(^|\\s+)"+u+"(\\s+|$)")," ")),f},_="abc_textarea_dirty",h=this.editarea.getElem();d?p(h,_):m(h,_)}},s.prototype.fireChanged=function(){if(!this.bIsPaused&&this.parseABC()){var d=this;this.timerId&&clearTimeout(this.timerId),this.timerId=setTimeout(function(){d.modelChanged()},300);var p=this.isDirty();this.wasDirty!==p&&(this.wasDirty=p,this.setDirtyStyle(p)),this.onchangeCallback&&this.onchangeCallback(this)}},s.prototype.setNotDirty=function(){this.editarea.initialText=this.editarea.getString(),this.wasDirty=!1,this.setDirtyStyle(!1)},s.prototype.isDirty=function(){return this.indicate_changed===void 0?!1:this.editarea.initialText!==this.editarea.getString()},s.prototype.highlight=function(d,p,m,_,h,f){this.editarea.setSelection(d.startChar,d.endChar),this.selectionChangeCallback&&this.selectionChangeCallback(d.startChar,d.endChar),this.clientClickListener&&this.clientClickListener(d,p,m,_,h,f)},s.prototype.pause=function(d){this.bIsPaused=d,d||this.fireChanged()},s.prototype.millisecondsPerMeasure=function(){return!this.synth||!this.synth.synthControl||!this.synth.synthControl.visualObj?0:this.synth.synthControl.visualObj.millisecondsPerMeasure()},s.prototype.pauseMidi=function(d){this.midiPause=d,d||this.redrawMidi()},op=s,op}var cp,pv;function Y5(){if(pv)return cp;pv=1;var t=l4(),a=d4(),r=bl(),n=wh(),i=F4(),c={};c.signature="abcjs-basic v"+t,Object.keys(a).forEach(function(k){c[k]=a[k]}),Object.keys(r).forEach(function(k){c[k]=r[k]}),c.renderAbc=z1(),c.tuneMetrics=U5(),c.TimingCallbacks=ou();var s=es();c.setGlyph=s.setSymbol,c.strTranspose=i;var d=Qf(),p=Ef(),m=Lf(),_=Y1(),h=av(),f=yl(),u=vo(),l=kl(),o=O5(),g=rv(),v=Q5(),b=ov();return c.synth={CreateSynth:d,instrumentIndexToName:p,pitchToNoteName:m,SynthController:g,SynthSequence:_,CreateSynthControl:h,registerAudioContext:f,activeAudioContext:u,supportsAudio:l,playEvent:o,getMidiFile:v,sequence:n,midiRenderer:b},c.Editor=W5(),c.EditArea=uv(),c.test={Parse:ju(),EngraverController:Ff()},cp=c,cp}var mv=Y5();const K5=Ov({__proto__:null,default:c4(mv)},[mv]);return Cc.app=xg,Cc.start=$y,Object.defineProperty(Cc,Symbol.toStringTag,{value:"Module"}),Cc})({}); __sveltekit_1wn864.app.start(element); diff --git a/webui/native/src/lib/models/yue2/Yue2Panel.svelte b/webui/native/src/lib/models/yue2/Yue2Panel.svelte index cefea2ef4..cc93d7830 100644 --- a/webui/native/src/lib/models/yue2/Yue2Panel.svelte +++ b/webui/native/src/lib/models/yue2/Yue2Panel.svelte @@ -48,31 +48,41 @@ let coverAudioFile: File | null = null; let loraInput: HTMLInputElement | null = null; + let narLoraInput: HTMLInputElement | null = null; let loraError = ''; + let narLoraError = ''; let loraUpload: AbortController | null = null; onDestroy(() => loraUpload?.abort()); - async function selectLora(file: File | null) { + // One uploader for both adapters: the two branches take the same kind of file and differ only in + // which option receives the resulting server path. + async function selectLora(file: File | null, branch: 'ar' | 'nar') { if (!file) return; + const fail = (message: string) => { + if (branch === 'ar') loraError = message; + else narLoraError = message; + }; loraError = ''; + narLoraError = ''; if (!file.name.toLowerCase().endsWith('.safetensors')) { - loraError = 'Select an unfused AR .safetensors adapter.'; + fail(`Select an unfused ${branch.toUpperCase()} .safetensors adapter.`); return; } loraUploading = true; loraUpload = new AbortController(); try { const path = await uploadFile(file, loraUpload.signal); - setNamedParameter('ar_lora', path); - log(`YuE2 AR LoRA selected: ${file.name}`); + setNamedParameter(branch === 'ar' ? 'ar_lora' : 'nar_lora', path); + log(`YuE2 ${branch.toUpperCase()} LoRA selected: ${file.name}`); } catch (error) { if (!loraUpload.signal.aborted) { - loraError = error instanceof Error ? error.message : String(error); + fail(error instanceof Error ? error.message : String(error)); } } finally { loraUploading = false; loraUpload = null; if (loraInput) loraInput.value = ''; + if (narLoraInput) narLoraInput.value = ''; } } let coverAudioInput: HTMLInputElement | null = null; @@ -299,16 +309,16 @@
setNamedParameter('ar_lora', event.currentTarget.value.trim())} /> selectLora(event.currentTarget.files?.[0] || null)} /> + bind:this={loraInput} disabled={busy || loraUploading} + on:change={(event) => selectLora(event.currentTarget.files?.[0] || null, 'ar')} />
- -
LoRA requirements vary. Read the original adapter's documentation for usage instructions. @@ -317,7 +327,7 @@
{ if (Number.isFinite(event.currentTarget.valueAsNumber)) { @@ -328,6 +338,41 @@
{/if} + {#if specByName('nar_lora')} +
+
+ + setNamedParameter('nar_lora', event.currentTarget.value.trim())} /> + selectLora(event.currentTarget.files?.[0] || null, 'nar')} /> +
+ + +
+ {#if narLoraError}{narLoraError}{/if} + Unfused NAR adapter for acoustic detail; relative paths resolve against the model root. Reload the model after changing this value. +
+
+ + { + if (Number.isFinite(event.currentTarget.valueAsNumber)) { + setNamedParameter('nar_lora_scale', event.currentTarget.valueAsNumber); + } + }} /> + Scales the LoRA deltas only; any full vae2llm/llm2vae projection replacement in the adapter stays at full strength. +
+
+ {/if} +
{#each coreSpecs as spec}
diff --git a/webui/native/src/routes/+page.svelte b/webui/native/src/routes/+page.svelte index dad7fd588..e34b977c3 100644 --- a/webui/native/src/routes/+page.svelte +++ b/webui/native/src/routes/+page.svelte @@ -1064,7 +1064,9 @@ advancedValues = { ...advancedValues, ar_lora: configured?.['yue2.ar_lora'] ?? '', - ar_lora_scale: Number(configured?.['yue2.ar_lora_scale'] ?? 1) + ar_lora_scale: Number(configured?.['yue2.ar_lora_scale'] ?? 1), + nar_lora: configured?.['yue2.nar_lora'] ?? '', + nar_lora_scale: Number(configured?.['yue2.nar_lora_scale'] ?? 1) }; } text = '';